diff options
-rw-r--r-- | INSTALL.md | 184 | ||||
-rw-r--r-- | Makefile | 60 | ||||
-rw-r--r-- | audio/engine_1.asm | 2 | ||||
-rw-r--r-- | audio/engine_2.asm | 2 | ||||
-rw-r--r-- | audio/engine_3.asm | 2 | ||||
-rw-r--r-- | audio/music/yellow/meetjessiejames.asm | 308 | ||||
-rw-r--r-- | audio/music/yellow/surfingpikachu.asm | 690 | ||||
-rw-r--r-- | audio/music/yellow/yellowintro.asm | 484 | ||||
-rw-r--r-- | audio/music/yellow/yellowunusedsong.asm | 326 | ||||
-rw-r--r-- | audio/play_battle_music.asm | 4 | ||||
-rw-r--r-- | audio/pokedex_rating_sfx.asm | 4 | ||||
-rw-r--r-- | audio/wave_instruments.asm | 2 | ||||
-rw-r--r-- | constants.asm | 21 | ||||
-rw-r--r-- | constants/audio_constants.asm | 59 | ||||
-rw-r--r-- | constants/battle_constants.asm | 51 | ||||
-rwxr-xr-x | constants/connection_constants.asm | 9 | ||||
-rw-r--r-- | constants/credits_constants.asm | 4 | ||||
-rwxr-xr-x | constants/event_constants.asm | 5123 | ||||
-rwxr-xr-x | constants/evolution_constants.asm | 9 | ||||
-rw-r--r-- | constants/gfx_constants.asm | 17 | ||||
-rw-r--r-- | constants/hardware_constants.asm | 29 | ||||
-rwxr-xr-x | constants/hide_show_constants.asm | 3 | ||||
-rw-r--r-- | constants/icon_constants.asm | 12 | ||||
-rw-r--r-- | constants/input_constants.asm | 18 | ||||
-rwxr-xr-x | constants/item_constants.asm | 4 | ||||
-rwxr-xr-x | constants/list_constants.asm | 39 | ||||
-rwxr-xr-x | constants/map_data_constants.asm | 14 | ||||
-rw-r--r-- | constants/map_object_constants.asm | 14 | ||||
-rw-r--r-- | constants/menu_constants.asm | 70 | ||||
-rw-r--r-- | constants/misc_constants.asm | 206 | ||||
-rw-r--r-- | constants/move_animation_constants.asm | 6 | ||||
-rw-r--r-- | constants/move_constants.asm | 8 | ||||
-rw-r--r-- | constants/move_effect_constants.asm | 6 | ||||
-rw-r--r-- | constants/music_constants.asm | 60 | ||||
-rwxr-xr-x | constants/palette_constants.asm | 37 | ||||
-rw-r--r-- | constants/pokedex_constants.asm | 5 | ||||
-rw-r--r-- | constants/pokemon_constants.asm | 6 | ||||
-rwxr-xr-x | constants/pokemon_data_constants.asm | 28 | ||||
-rw-r--r-- | constants/script_constants.asm | 12 | ||||
-rw-r--r-- | constants/serial_constants.asm | 27 | ||||
-rwxr-xr-x | constants/sprite_constants.asm | 30 | ||||
-rw-r--r-- | constants/sprite_data_constants.asm | 22 | ||||
-rwxr-xr-x | constants/status_constants.asm | 32 | ||||
-rw-r--r-- | constants/text_constants.asm | 3 | ||||
-rw-r--r-- | constants/tileset_constants.asm | 25 | ||||
-rw-r--r-- | constants/tilesets.asm | 26 | ||||
-rwxr-xr-x | constants/trainer_constants.asm | 4 | ||||
-rwxr-xr-x | constants/type_constants.asm | 39 | ||||
-rwxr-xr-x | data/base_stats.asm | 153 | ||||
-rw-r--r-- | data/battle/stat_names.asm (renamed from text/stat_names.asm) | 0 | ||||
-rwxr-xr-x | data/credits/credits_mons.asm (renamed from data/credit_mons.asm) | 0 | ||||
-rwxr-xr-x | data/credits/credits_order.asm (renamed from data/credits_order.asm) | 0 | ||||
-rwxr-xr-x | data/credits/credits_text.asm (renamed from text/credits_text.asm) | 0 | ||||
-rw-r--r-- | data/effects_pointers.asm | 87 | ||||
-rwxr-xr-x | data/events/hidden_coins.asm (renamed from data/hidden_coins.asm) | 0 | ||||
-rwxr-xr-x | data/events/hidden_item_coords.asm (renamed from data/hidden_item_coords.asm) | 0 | ||||
-rwxr-xr-x | data/events/hidden_objects.asm | 853 | ||||
-rwxr-xr-x | data/events/prize_mon_levels.asm (renamed from data/prize_mon_levels.asm) | 0 | ||||
-rwxr-xr-x | data/events/prizes.asm (renamed from data/prizes.asm) | 0 | ||||
-rwxr-xr-x | data/events/slot_machine_wheels.asm (renamed from data/slot_machine_wheels.asm) | 0 | ||||
-rwxr-xr-x | data/events/trades.asm (renamed from data/trades.asm) | 0 | ||||
-rwxr-xr-x | data/evos_moves.asm | 2134 | ||||
-rwxr-xr-x | data/hidden_objects.asm | 853 | ||||
-rwxr-xr-x | data/hide_show_data.asm | 577 | ||||
-rw-r--r-- | data/hm_moves.asm | 7 | ||||
-rw-r--r-- | data/icon_pointers.asm (renamed from data/mon_party_sprite_pointers.asm) | 0 | ||||
-rw-r--r-- | data/items/guard_drink_items.asm (renamed from data/guard_drink_items.asm) | 0 | ||||
-rwxr-xr-x | data/items/key_items.asm (renamed from data/key_items.asm) | 0 | ||||
-rwxr-xr-x | data/items/marts.asm (renamed from data/mart_inventories.asm) | 0 | ||||
-rwxr-xr-x | data/items/names.asm (renamed from text/item_names.asm) | 0 | ||||
-rwxr-xr-x | data/items/prices.asm (renamed from data/item_prices.asm) | 0 | ||||
-rwxr-xr-x | data/items/tm_prices.asm (renamed from data/tm_prices.asm) | 0 | ||||
-rw-r--r-- | data/items/use_overworld.asm (renamed from data/overworld_items.asm) | 0 | ||||
-rw-r--r-- | data/items/use_party.asm (renamed from data/party_items.asm) | 0 | ||||
-rw-r--r-- | data/items/vending_prices.asm (renamed from data/vending_prices.asm) | 0 | ||||
-rwxr-xr-x | data/mapHeaders/AgathasRoom.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/BikeShop.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/BillsHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/BluesHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/BrunosRoom.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeladonChiefHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeladonCity.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/CeladonDiner.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeladonGym.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeladonHotel.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeladonMansion1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeladonMansion2F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeladonMansion3F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeladonMansionRoof.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeladonMansionRoofHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeladonMart1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeladonMart2F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeladonMart3F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeladonMart4F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeladonMart5F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeladonMartElevator.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeladonMartRoof.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeladonPokecenter.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeruleanBadgeHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeruleanCave1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeruleanCave2F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeruleanCaveB1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeruleanCity.asm | 12 | ||||
-rwxr-xr-x | data/mapHeaders/CeruleanGym.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeruleanMart.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeruleanPokecenter.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeruleanTradeHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CeruleanTrashedHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/ChampionsRoom.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CinnabarGym.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CinnabarIsland.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/CinnabarLab.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CinnabarLabFossilRoom.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CinnabarLabMetronomeRoom.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CinnabarLabTradeRoom.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CinnabarMart.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CinnabarPokecenter.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Colosseum.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CopycatsHouse1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/CopycatsHouse2F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Daycare.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/DiglettsCave.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/DiglettsCaveRoute11.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/DiglettsCaveRoute2.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/FightingDojo.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/FuchsiaBillsGrandpasHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/FuchsiaCity.asm | 11 | ||||
-rwxr-xr-x | data/mapHeaders/FuchsiaGoodRodHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/FuchsiaGym.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/FuchsiaMart.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/FuchsiaMeetingRoom.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/FuchsiaPokecenter.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/GameCorner.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/GameCornerPrizeRoom.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/HallOfFame.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/IndigoPlateau.asm | 9 | ||||
-rwxr-xr-x | data/mapHeaders/IndigoPlateauLobby.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/LancesRoom.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/LavenderCuboneHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/LavenderMart.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/LavenderPokecenter.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/LavenderTown.asm | 11 | ||||
-rwxr-xr-x | data/mapHeaders/LoreleisRoom.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/MrFujisHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/MrPsychicsHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/MtMoon1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/MtMoonB1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/MtMoonB2F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/MtMoonPokecenter.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Museum1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Museum2F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/NameRatersHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/OaksLab.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/PalletTown.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/PewterCity.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/PewterGym.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/PewterMart.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/PewterNidoranHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/PewterPokecenter.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/PewterSpeechHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/PokemonFanClub.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/PokemonMansion1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/PokemonMansion2F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/PokemonMansion3F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/PokemonMansionB1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/PokemonTower1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/PokemonTower2F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/PokemonTower3F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/PokemonTower4F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/PokemonTower5F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/PokemonTower6F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/PokemonTower7F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/PowerPlant.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/RedsHouse1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/RedsHouse2F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/RockTunnel1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/RockTunnelB1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/RockTunnelPokecenter.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/RocketHideoutB1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/RocketHideoutB2F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/RocketHideoutB3F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/RocketHideoutB4F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/RocketHideoutElevator.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Route1.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route10.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route11.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route11Gate1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Route11Gate2F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Route12.asm | 11 | ||||
-rwxr-xr-x | data/mapHeaders/Route12Gate1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Route12Gate2F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Route12SuperRodHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Route13.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route14.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route15.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route15Gate1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Route15Gate2F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Route16.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route16FlyHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Route16Gate1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Route16Gate2F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Route17.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route18.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route18Gate1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Route18Gate2F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Route19.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route2.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route20.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route21.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route22.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route22Gate.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Route23.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route24.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route25.asm | 9 | ||||
-rwxr-xr-x | data/mapHeaders/Route2Gate.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Route2TradeHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Route3.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route4.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route5.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route5Gate.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Route6.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route6Gate.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Route7.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route7Gate.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Route8.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/Route8Gate.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/Route9.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/SSAnne1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SSAnne1FRooms.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SSAnne2F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SSAnne2FRooms.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SSAnne3F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SSAnneB1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SSAnneB1FRooms.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SSAnneBow.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SSAnneCaptainsRoom.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SSAnneKitchen.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SafariZoneCenter.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SafariZoneCenterRestHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SafariZoneEast.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SafariZoneEastRestHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SafariZoneGate.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SafariZoneNorth.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SafariZoneNorthRestHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SafariZoneSecretHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SafariZoneWest.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SafariZoneWestRestHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SaffronCity.asm | 12 | ||||
-rwxr-xr-x | data/mapHeaders/SaffronGym.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SaffronMart.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SaffronPidgeyHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SaffronPokecenter.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SeafoamIslands1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SeafoamIslandsB1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SeafoamIslandsB2F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SeafoamIslandsB3F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SeafoamIslandsB4F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SilphCo10F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SilphCo11F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SilphCo1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SilphCo2F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SilphCo3F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SilphCo4F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SilphCo5F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SilphCo6F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SilphCo7F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SilphCo8F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SilphCo9F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/SilphCoElevator.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/TradeCenter.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/UndergroundPathNorthSouth.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/UndergroundPathRoute5.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/UndergroundPathRoute6.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/UndergroundPathRoute7.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/UndergroundPathRoute7Copy.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/UndergroundPathRoute8.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/UndergroundPathWestEast.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/VermilionCity.asm | 10 | ||||
-rwxr-xr-x | data/mapHeaders/VermilionDock.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/VermilionGym.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/VermilionMart.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/VermilionOldRodHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/VermilionPidgeyHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/VermilionPokecenter.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/VermilionTradeHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/VictoryRoad1F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/VictoryRoad2F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/VictoryRoad3F.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/ViridianCity.asm | 11 | ||||
-rwxr-xr-x | data/mapHeaders/ViridianForest.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/ViridianForestNorthGate.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/ViridianForestSouthGate.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/ViridianGym.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/ViridianMart.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/ViridianNicknameHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/ViridianPokecenter.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/ViridianSchoolHouse.asm | 8 | ||||
-rwxr-xr-x | data/mapHeaders/WardensHouse.asm | 8 | ||||
-rw-r--r-- | data/maps/dungeon_maps.asm (renamed from data/dungeon_maps.asm) | 0 | ||||
-rwxr-xr-x | data/maps/force_bike_surf.asm (renamed from data/force_bike_surf.asm) | 0 | ||||
-rwxr-xr-x | data/maps/headers/AgathasRoom.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/BikeShop.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/BillsHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/BluesHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/BrunosRoom.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeladonChiefHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeladonCity.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/CeladonDiner.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeladonGym.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeladonHotel.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeladonMansion1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeladonMansion2F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeladonMansion3F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeladonMansionRoof.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeladonMansionRoofHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeladonMart1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeladonMart2F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeladonMart3F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeladonMart4F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeladonMart5F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeladonMartElevator.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeladonMartRoof.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeladonPokecenter.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeruleanBadgeHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeruleanCave1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeruleanCave2F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeruleanCaveB1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeruleanCity.asm | 7 | ||||
-rwxr-xr-x | data/maps/headers/CeruleanGym.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeruleanMart.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeruleanPokecenter.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeruleanTradeHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CeruleanTrashedHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/ChampionsRoom.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CinnabarGym.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CinnabarIsland.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/CinnabarLab.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CinnabarLabFossilRoom.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CinnabarLabMetronomeRoom.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CinnabarLabTradeRoom.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CinnabarMart.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CinnabarPokecenter.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Colosseum.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CopycatsHouse1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/CopycatsHouse2F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Daycare.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/DiglettsCave.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/DiglettsCaveRoute11.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/DiglettsCaveRoute2.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/FightingDojo.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/FuchsiaBillsGrandpasHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/FuchsiaCity.asm | 6 | ||||
-rwxr-xr-x | data/maps/headers/FuchsiaGoodRodHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/FuchsiaGym.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/FuchsiaMart.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/FuchsiaMeetingRoom.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/FuchsiaPokecenter.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/GameCorner.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/GameCornerPrizeRoom.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/HallOfFame.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/IndigoPlateau.asm | 4 | ||||
-rwxr-xr-x | data/maps/headers/IndigoPlateauLobby.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/LancesRoom.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/LavenderCuboneHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/LavenderMart.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/LavenderPokecenter.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/LavenderTown.asm | 6 | ||||
-rwxr-xr-x | data/maps/headers/LoreleisRoom.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/MrFujisHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/MrPsychicsHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/MtMoon1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/MtMoonB1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/MtMoonB2F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/MtMoonPokecenter.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Museum1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Museum2F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/NameRatersHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/OaksLab.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/PalletTown.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/PewterCity.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/PewterGym.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/PewterMart.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/PewterNidoranHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/PewterPokecenter.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/PewterSpeechHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/PokemonFanClub.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/PokemonMansion1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/PokemonMansion2F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/PokemonMansion3F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/PokemonMansionB1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/PokemonTower1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/PokemonTower2F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/PokemonTower3F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/PokemonTower4F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/PokemonTower5F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/PokemonTower6F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/PokemonTower7F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/PowerPlant.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/RedsHouse1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/RedsHouse2F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/RockTunnel1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/RockTunnelB1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/RockTunnelPokecenter.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/RocketHideoutB1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/RocketHideoutB2F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/RocketHideoutB3F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/RocketHideoutB4F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/RocketHideoutElevator.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Route1.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route10.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route11.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route11Gate1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Route11Gate2F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Route12.asm | 6 | ||||
-rwxr-xr-x | data/maps/headers/Route12Gate1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Route12Gate2F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Route12SuperRodHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Route13.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route14.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route15.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route15Gate1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Route15Gate2F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Route16.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route16FlyHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Route16Gate1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Route16Gate2F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Route17.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route18.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route18Gate1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Route18Gate2F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Route19.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route2.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route20.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route21.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route22.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route22Gate.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Route23.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route24.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route25.asm | 4 | ||||
-rwxr-xr-x | data/maps/headers/Route2Gate.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Route2TradeHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Route3.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route4.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route5.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route5Gate.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Route6.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route6Gate.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Route7.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route7Gate.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Route8.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/Route8Gate.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/Route9.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/SSAnne1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SSAnne1FRooms.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SSAnne2F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SSAnne2FRooms.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SSAnne3F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SSAnneB1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SSAnneB1FRooms.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SSAnneBow.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SSAnneCaptainsRoom.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SSAnneKitchen.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SafariZoneCenter.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SafariZoneCenterRestHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SafariZoneEast.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SafariZoneEastRestHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SafariZoneGate.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SafariZoneNorth.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SafariZoneNorthRestHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SafariZoneSecretHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SafariZoneWest.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SafariZoneWestRestHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SaffronCity.asm | 7 | ||||
-rwxr-xr-x | data/maps/headers/SaffronGym.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SaffronMart.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SaffronPidgeyHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SaffronPokecenter.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SeafoamIslands1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SeafoamIslandsB1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SeafoamIslandsB2F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SeafoamIslandsB3F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SeafoamIslandsB4F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SilphCo10F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SilphCo11F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SilphCo1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SilphCo2F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SilphCo3F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SilphCo4F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SilphCo5F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SilphCo6F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SilphCo7F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SilphCo8F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SilphCo9F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/SilphCoElevator.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/TradeCenter.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/UndergroundPathNorthSouth.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/UndergroundPathRoute5.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/UndergroundPathRoute6.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/UndergroundPathRoute7.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/UndergroundPathRoute7Copy.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/UndergroundPathRoute8.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/UndergroundPathWestEast.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/VermilionCity.asm | 5 | ||||
-rwxr-xr-x | data/maps/headers/VermilionDock.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/VermilionGym.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/VermilionMart.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/VermilionOldRodHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/VermilionPidgeyHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/VermilionPokecenter.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/VermilionTradeHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/VictoryRoad1F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/VictoryRoad2F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/VictoryRoad3F.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/ViridianCity.asm | 6 | ||||
-rwxr-xr-x | data/maps/headers/ViridianForest.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/ViridianForestNorthGate.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/ViridianForestSouthGate.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/ViridianGym.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/ViridianMart.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/ViridianNicknameHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/ViridianPokecenter.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/ViridianSchoolHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/headers/WardensHouse.asm | 3 | ||||
-rwxr-xr-x | data/maps/hide_show_data.asm | 577 | ||||
-rwxr-xr-x | data/maps/map_header_banks.asm (renamed from data/map_header_banks.asm) | 0 | ||||
-rwxr-xr-x | data/maps/map_header_pointers.asm (renamed from data/map_header_pointers.asm) | 0 | ||||
-rwxr-xr-x | data/maps/names.asm (renamed from text/map_names.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/AgathasRoom.asm (renamed from data/mapObjects/AgathasRoom.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/BikeShop.asm (renamed from data/mapObjects/BikeShop.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/BillsHouse.asm (renamed from data/mapObjects/BillsHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/BluesHouse.asm (renamed from data/mapObjects/BluesHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/BrunosRoom.asm (renamed from data/mapObjects/BrunosRoom.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeladonChiefHouse.asm (renamed from data/mapObjects/CeladonChiefHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeladonCity.asm (renamed from data/mapObjects/CeladonCity.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeladonDiner.asm (renamed from data/mapObjects/CeladonDiner.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeladonGym.asm (renamed from data/mapObjects/CeladonGym.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeladonHotel.asm (renamed from data/mapObjects/CeladonHotel.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeladonMansion1F.asm (renamed from data/mapObjects/CeladonMansion1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeladonMansion2F.asm (renamed from data/mapObjects/CeladonMansion2F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeladonMansion3F.asm (renamed from data/mapObjects/CeladonMansion3F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeladonMansionRoof.asm (renamed from data/mapObjects/CeladonMansionRoof.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeladonMansionRoofHouse.asm (renamed from data/mapObjects/CeladonMansionRoofHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeladonMart1F.asm (renamed from data/mapObjects/CeladonMart1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeladonMart2F.asm (renamed from data/mapObjects/CeladonMart2F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeladonMart3F.asm (renamed from data/mapObjects/CeladonMart3F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeladonMart4F.asm (renamed from data/mapObjects/CeladonMart4F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeladonMart5F.asm (renamed from data/mapObjects/CeladonMart5F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeladonMartElevator.asm (renamed from data/mapObjects/CeladonMartElevator.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeladonMartRoof.asm (renamed from data/mapObjects/CeladonMartRoof.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeladonPokecenter.asm (renamed from data/mapObjects/CeladonPokecenter.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeruleanBadgeHouse.asm (renamed from data/mapObjects/CeruleanBadgeHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeruleanCave1F.asm (renamed from data/mapObjects/CeruleanCave1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeruleanCave2F.asm (renamed from data/mapObjects/CeruleanCave2F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeruleanCaveB1F.asm (renamed from data/mapObjects/CeruleanCaveB1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeruleanCity.asm (renamed from data/mapObjects/CeruleanCity.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeruleanGym.asm (renamed from data/mapObjects/CeruleanGym.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeruleanMart.asm (renamed from data/mapObjects/CeruleanMart.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeruleanPokecenter.asm (renamed from data/mapObjects/CeruleanPokecenter.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeruleanTradeHouse.asm (renamed from data/mapObjects/CeruleanTradeHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CeruleanTrashedHouse.asm (renamed from data/mapObjects/CeruleanTrashedHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/ChampionsRoom.asm (renamed from data/mapObjects/ChampionsRoom.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CinnabarGym.asm (renamed from data/mapObjects/CinnabarGym.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CinnabarIsland.asm (renamed from data/mapObjects/CinnabarIsland.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CinnabarLab.asm (renamed from data/mapObjects/CinnabarLab.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CinnabarLabFossilRoom.asm (renamed from data/mapObjects/CinnabarLabFossilRoom.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CinnabarLabMetronomeRoom.asm (renamed from data/mapObjects/CinnabarLabMetronomeRoom.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CinnabarLabTradeRoom.asm (renamed from data/mapObjects/CinnabarLabTradeRoom.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CinnabarMart.asm (renamed from data/mapObjects/CinnabarMart.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CinnabarPokecenter.asm (renamed from data/mapObjects/CinnabarPokecenter.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Colosseum.asm (renamed from data/mapObjects/Colosseum.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CopycatsHouse1F.asm (renamed from data/mapObjects/CopycatsHouse1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/CopycatsHouse2F.asm (renamed from data/mapObjects/CopycatsHouse2F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Daycare.asm (renamed from data/mapObjects/Daycare.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/DiglettsCave.asm (renamed from data/mapObjects/DiglettsCave.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/DiglettsCaveRoute11.asm (renamed from data/mapObjects/DiglettsCaveRoute11.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/DiglettsCaveRoute2.asm (renamed from data/mapObjects/DiglettsCaveRoute2.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/FightingDojo.asm (renamed from data/mapObjects/FightingDojo.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/FuchsiaBillsGrandpasHouse.asm (renamed from data/mapObjects/FuchsiaBillsGrandpasHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/FuchsiaCity.asm (renamed from data/mapObjects/FuchsiaCity.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/FuchsiaGoodRodHouse.asm (renamed from data/mapObjects/FuchsiaGoodRodHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/FuchsiaGym.asm (renamed from data/mapObjects/FuchsiaGym.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/FuchsiaMart.asm (renamed from data/mapObjects/FuchsiaMart.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/FuchsiaMeetingRoom.asm (renamed from data/mapObjects/FuchsiaMeetingRoom.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/FuchsiaPokecenter.asm (renamed from data/mapObjects/FuchsiaPokecenter.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/GameCorner.asm (renamed from data/mapObjects/GameCorner.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/GameCornerPrizeRoom.asm (renamed from data/mapObjects/GameCornerPrizeRoom.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/HallOfFame.asm (renamed from data/mapObjects/HallOfFame.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/IndigoPlateau.asm (renamed from data/mapObjects/IndigoPlateau.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/IndigoPlateauLobby.asm (renamed from data/mapObjects/IndigoPlateauLobby.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/LancesRoom.asm (renamed from data/mapObjects/LancesRoom.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/LavenderCuboneHouse.asm (renamed from data/mapObjects/LavenderCuboneHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/LavenderMart.asm (renamed from data/mapObjects/LavenderMart.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/LavenderPokecenter.asm (renamed from data/mapObjects/LavenderPokecenter.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/LavenderTown.asm (renamed from data/mapObjects/LavenderTown.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/LoreleisRoom.asm (renamed from data/mapObjects/LoreleisRoom.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/MrFujisHouse.asm (renamed from data/mapObjects/MrFujisHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/MrPsychicsHouse.asm (renamed from data/mapObjects/MrPsychicsHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/MtMoon1F.asm (renamed from data/mapObjects/MtMoon1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/MtMoonB1F.asm (renamed from data/mapObjects/MtMoonB1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/MtMoonB2F.asm (renamed from data/mapObjects/MtMoonB2F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/MtMoonPokecenter.asm (renamed from data/mapObjects/MtMoonPokecenter.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Museum1F.asm (renamed from data/mapObjects/Museum1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Museum2F.asm (renamed from data/mapObjects/Museum2F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/NameRatersHouse.asm (renamed from data/mapObjects/NameRatersHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/OaksLab.asm (renamed from data/mapObjects/OaksLab.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/PalletTown.asm (renamed from data/mapObjects/PalletTown.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/PewterCity.asm (renamed from data/mapObjects/PewterCity.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/PewterGym.asm (renamed from data/mapObjects/PewterGym.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/PewterMart.asm (renamed from data/mapObjects/PewterMart.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/PewterNidoranHouse.asm (renamed from data/mapObjects/PewterNidoranHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/PewterPokecenter.asm (renamed from data/mapObjects/PewterPokecenter.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/PewterSpeechHouse.asm (renamed from data/mapObjects/PewterSpeechHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/PokemonFanClub.asm (renamed from data/mapObjects/PokemonFanClub.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/PokemonMansion1F.asm (renamed from data/mapObjects/PokemonMansion1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/PokemonMansion2F.asm (renamed from data/mapObjects/PokemonMansion2F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/PokemonMansion3F.asm (renamed from data/mapObjects/PokemonMansion3F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/PokemonMansionB1F.asm (renamed from data/mapObjects/PokemonMansionB1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/PokemonTower1F.asm (renamed from data/mapObjects/PokemonTower1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/PokemonTower2F.asm (renamed from data/mapObjects/PokemonTower2F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/PokemonTower3F.asm (renamed from data/mapObjects/PokemonTower3F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/PokemonTower4F.asm (renamed from data/mapObjects/PokemonTower4F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/PokemonTower5F.asm (renamed from data/mapObjects/PokemonTower5F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/PokemonTower6F.asm (renamed from data/mapObjects/PokemonTower6F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/PokemonTower7F.asm (renamed from data/mapObjects/PokemonTower7F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/PowerPlant.asm (renamed from data/mapObjects/PowerPlant.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/RedsHouse1F.asm (renamed from data/mapObjects/RedsHouse1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/RedsHouse2F.asm (renamed from data/mapObjects/RedsHouse2F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/RockTunnel1F.asm (renamed from data/mapObjects/RockTunnel1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/RockTunnelB1F.asm (renamed from data/mapObjects/RockTunnelB1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/RockTunnelPokecenter.asm (renamed from data/mapObjects/RockTunnelPokecenter.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/RocketHideoutB1F.asm (renamed from data/mapObjects/RocketHideoutB1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/RocketHideoutB2F.asm (renamed from data/mapObjects/RocketHideoutB2F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/RocketHideoutB3F.asm (renamed from data/mapObjects/RocketHideoutB3F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/RocketHideoutB4F.asm (renamed from data/mapObjects/RocketHideoutB4F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/RocketHideoutElevator.asm (renamed from data/mapObjects/RocketHideoutElevator.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route1.asm (renamed from data/mapObjects/Route1.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route10.asm (renamed from data/mapObjects/Route10.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route11.asm (renamed from data/mapObjects/Route11.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route11Gate1F.asm (renamed from data/mapObjects/Route11Gate1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route11Gate2F.asm (renamed from data/mapObjects/Route11Gate2F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route12.asm (renamed from data/mapObjects/Route12.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route12Gate1F.asm (renamed from data/mapObjects/Route12Gate1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route12Gate2F.asm (renamed from data/mapObjects/Route12Gate2F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route12SuperRodHouse.asm (renamed from data/mapObjects/Route12SuperRodHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route13.asm (renamed from data/mapObjects/Route13.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route14.asm (renamed from data/mapObjects/Route14.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route15.asm (renamed from data/mapObjects/Route15.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route15Gate1F.asm (renamed from data/mapObjects/Route15Gate1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route15Gate2F.asm (renamed from data/mapObjects/Route15Gate2F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route16.asm (renamed from data/mapObjects/Route16.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route16FlyHouse.asm (renamed from data/mapObjects/Route16FlyHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route16Gate1F.asm (renamed from data/mapObjects/Route16Gate1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route16Gate2F.asm (renamed from data/mapObjects/Route16Gate2F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route17.asm (renamed from data/mapObjects/Route17.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route18.asm (renamed from data/mapObjects/Route18.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route18Gate1F.asm (renamed from data/mapObjects/Route18Gate1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route18Gate2F.asm (renamed from data/mapObjects/Route18Gate2F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route19.asm (renamed from data/mapObjects/Route19.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route2.asm (renamed from data/mapObjects/Route2.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route20.asm (renamed from data/mapObjects/Route20.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route21.asm (renamed from data/mapObjects/Route21.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route22.asm (renamed from data/mapObjects/Route22.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route22Gate.asm (renamed from data/mapObjects/Route22Gate.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route23.asm (renamed from data/mapObjects/Route23.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route24.asm (renamed from data/mapObjects/Route24.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route25.asm (renamed from data/mapObjects/Route25.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route2Gate.asm (renamed from data/mapObjects/Route2Gate.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route2TradeHouse.asm (renamed from data/mapObjects/Route2TradeHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route3.asm (renamed from data/mapObjects/Route3.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route4.asm (renamed from data/mapObjects/Route4.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route5.asm (renamed from data/mapObjects/Route5.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route5Gate.asm (renamed from data/mapObjects/Route5Gate.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route6.asm (renamed from data/mapObjects/Route6.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route6Gate.asm (renamed from data/mapObjects/Route6Gate.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route7.asm (renamed from data/mapObjects/Route7.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route7Gate.asm (renamed from data/mapObjects/Route7Gate.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route8.asm (renamed from data/mapObjects/Route8.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route8Gate.asm (renamed from data/mapObjects/Route8Gate.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/Route9.asm (renamed from data/mapObjects/Route9.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SSAnne1F.asm (renamed from data/mapObjects/SSAnne1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SSAnne1FRooms.asm (renamed from data/mapObjects/SSAnne1FRooms.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SSAnne2F.asm (renamed from data/mapObjects/SSAnne2F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SSAnne2FRooms.asm (renamed from data/mapObjects/SSAnne2FRooms.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SSAnne3F.asm (renamed from data/mapObjects/SSAnne3F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SSAnneB1F.asm (renamed from data/mapObjects/SSAnneB1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SSAnneB1FRooms.asm (renamed from data/mapObjects/SSAnneB1FRooms.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SSAnneBow.asm (renamed from data/mapObjects/SSAnneBow.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SSAnneCaptainsRoom.asm (renamed from data/mapObjects/SSAnneCaptainsRoom.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SSAnneKitchen.asm (renamed from data/mapObjects/SSAnneKitchen.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SafariZoneCenter.asm (renamed from data/mapObjects/SafariZoneCenter.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SafariZoneCenterRestHouse.asm (renamed from data/mapObjects/SafariZoneCenterRestHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SafariZoneEast.asm (renamed from data/mapObjects/SafariZoneEast.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SafariZoneEastRestHouse.asm (renamed from data/mapObjects/SafariZoneEastRestHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SafariZoneGate.asm (renamed from data/mapObjects/SafariZoneGate.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SafariZoneNorth.asm (renamed from data/mapObjects/SafariZoneNorth.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SafariZoneNorthRestHouse.asm (renamed from data/mapObjects/SafariZoneNorthRestHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SafariZoneSecretHouse.asm (renamed from data/mapObjects/SafariZoneSecretHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SafariZoneWest.asm (renamed from data/mapObjects/SafariZoneWest.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SafariZoneWestRestHouse.asm (renamed from data/mapObjects/SafariZoneWestRestHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SaffronCity.asm (renamed from data/mapObjects/SaffronCity.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SaffronGym.asm (renamed from data/mapObjects/SaffronGym.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SaffronMart.asm (renamed from data/mapObjects/SaffronMart.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SaffronPidgeyHouse.asm (renamed from data/mapObjects/SaffronPidgeyHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SaffronPokecenter.asm (renamed from data/mapObjects/SaffronPokecenter.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SeafoamIslands1F.asm (renamed from data/mapObjects/SeafoamIslands1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SeafoamIslandsB1F.asm (renamed from data/mapObjects/SeafoamIslandsB1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SeafoamIslandsB2F.asm (renamed from data/mapObjects/SeafoamIslandsB2F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SeafoamIslandsB3F.asm (renamed from data/mapObjects/SeafoamIslandsB3F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SeafoamIslandsB4F.asm (renamed from data/mapObjects/SeafoamIslandsB4F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SilphCo10F.asm (renamed from data/mapObjects/SilphCo10F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SilphCo11F.asm (renamed from data/mapObjects/SilphCo11F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SilphCo1F.asm (renamed from data/mapObjects/SilphCo1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SilphCo2F.asm (renamed from data/mapObjects/SilphCo2F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SilphCo3F.asm (renamed from data/mapObjects/SilphCo3F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SilphCo4F.asm (renamed from data/mapObjects/SilphCo4F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SilphCo5F.asm (renamed from data/mapObjects/SilphCo5F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SilphCo6F.asm (renamed from data/mapObjects/SilphCo6F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SilphCo7F.asm (renamed from data/mapObjects/SilphCo7F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SilphCo8F.asm (renamed from data/mapObjects/SilphCo8F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SilphCo9F.asm (renamed from data/mapObjects/SilphCo9F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/SilphCoElevator.asm (renamed from data/mapObjects/SilphCoElevator.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/TradeCenter.asm (renamed from data/mapObjects/TradeCenter.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/UndergroundPathNorthSouth.asm (renamed from data/mapObjects/UndergroundPathNorthSouth.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/UndergroundPathRoute5.asm (renamed from data/mapObjects/UndergroundPathRoute5.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/UndergroundPathRoute6.asm (renamed from data/mapObjects/UndergroundPathRoute6.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/UndergroundPathRoute7.asm (renamed from data/mapObjects/UndergroundPathRoute7.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/UndergroundPathRoute7Copy.asm (renamed from data/mapObjects/UndergroundPathRoute7Copy.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/UndergroundPathRoute8.asm (renamed from data/mapObjects/UndergroundPathRoute8.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/UndergroundPathWestEast.asm (renamed from data/mapObjects/UndergroundPathWestEast.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/VermilionCity.asm (renamed from data/mapObjects/VermilionCity.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/VermilionDock.asm (renamed from data/mapObjects/VermilionDock.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/VermilionGym.asm (renamed from data/mapObjects/VermilionGym.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/VermilionMart.asm (renamed from data/mapObjects/VermilionMart.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/VermilionOldRodHouse.asm (renamed from data/mapObjects/VermilionOldRodHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/VermilionPidgeyHouse.asm (renamed from data/mapObjects/VermilionPidgeyHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/VermilionPokecenter.asm (renamed from data/mapObjects/VermilionPokecenter.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/VermilionTradeHouse.asm (renamed from data/mapObjects/VermilionTradeHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/VictoryRoad1F.asm (renamed from data/mapObjects/VictoryRoad1F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/VictoryRoad2F.asm (renamed from data/mapObjects/VictoryRoad2F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/VictoryRoad3F.asm (renamed from data/mapObjects/VictoryRoad3F.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/ViridianCity.asm (renamed from data/mapObjects/ViridianCity.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/ViridianForest.asm (renamed from data/mapObjects/ViridianForest.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/ViridianForestNorthGate.asm (renamed from data/mapObjects/ViridianForestNorthGate.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/ViridianForestSouthGate.asm (renamed from data/mapObjects/ViridianForestSouthGate.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/ViridianGym.asm (renamed from data/mapObjects/ViridianGym.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/ViridianMart.asm (renamed from data/mapObjects/ViridianMart.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/ViridianNicknameHouse.asm (renamed from data/mapObjects/ViridianNicknameHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/ViridianPokecenter.asm (renamed from data/mapObjects/ViridianPokecenter.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/ViridianSchoolHouse.asm (renamed from data/mapObjects/ViridianSchoolHouse.asm) | 0 | ||||
-rwxr-xr-x | data/maps/objects/WardensHouse.asm (renamed from data/mapObjects/WardensHouse.asm) | 0 | ||||
-rw-r--r-- | data/maps/rest_house_maps.asm (renamed from data/rest_house_maps.asm) | 0 | ||||
-rwxr-xr-x | data/maps/songs.asm (renamed from data/map_songs.asm) | 0 | ||||
-rwxr-xr-x | data/maps/special_warps.asm (renamed from data/special_warps.asm) | 0 | ||||
-rwxr-xr-x | data/maps/sprite_sets.asm | 190 | ||||
-rwxr-xr-x | data/maps/town_map_entries.asm (renamed from data/town_map_entries.asm) | 0 | ||||
-rwxr-xr-x | data/maps/town_map_order.asm (renamed from data/town_map_order.asm) | 0 | ||||
-rw-r--r-- | data/moves/animation_special_effect_pointers.asm (renamed from data/move_animation_pointers.asm) | 0 | ||||
-rw-r--r-- | data/moves/animation_special_effects.asm (renamed from data/move_animation_special_effects.asm) | 0 | ||||
-rwxr-xr-x | data/moves/animations.asm (renamed from data/animations.asm) | 0 | ||||
-rw-r--r-- | data/moves/effects_pointers.asm | 87 | ||||
-rw-r--r-- | data/moves/grammar.asm (renamed from data/move_grammar.asm) | 0 | ||||
-rw-r--r-- | data/moves/hm_moves.asm | 10 | ||||
-rwxr-xr-x | data/moves/moves.asm (renamed from data/moves.asm) | 0 | ||||
-rw-r--r-- | data/moves/names.asm (renamed from text/move_names.asm) | 0 | ||||
-rw-r--r-- | data/moves/sfx.asm (renamed from data/move_sfx.asm) | 0 | ||||
-rwxr-xr-x | data/moves/tmhm_moves.asm (renamed from data/tms.asm) | 0 | ||||
-rw-r--r-- | data/player_names.asm (renamed from text/player_names.asm) | 0 | ||||
-rw-r--r-- | data/player_names_list.asm (renamed from text/player_names_list.asm) | 0 | ||||
-rwxr-xr-x | data/pokemon/base_stats.asm | 153 | ||||
-rw-r--r-- | data/pokemon/base_stats/abra.asm (renamed from data/baseStats/abra.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/aerodactyl.asm (renamed from data/baseStats/aerodactyl.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/alakazam.asm (renamed from data/baseStats/alakazam.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/arbok.asm (renamed from data/baseStats/arbok.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/arcanine.asm (renamed from data/baseStats/arcanine.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/articuno.asm (renamed from data/baseStats/articuno.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/beedrill.asm (renamed from data/baseStats/beedrill.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/bellsprout.asm (renamed from data/baseStats/bellsprout.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/blastoise.asm (renamed from data/baseStats/blastoise.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/bulbasaur.asm (renamed from data/baseStats/bulbasaur.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/butterfree.asm (renamed from data/baseStats/butterfree.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/caterpie.asm (renamed from data/baseStats/caterpie.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/chansey.asm (renamed from data/baseStats/chansey.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/charizard.asm (renamed from data/baseStats/charizard.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/charmander.asm (renamed from data/baseStats/charmander.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/charmeleon.asm (renamed from data/baseStats/charmeleon.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/clefable.asm (renamed from data/baseStats/clefable.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/clefairy.asm (renamed from data/baseStats/clefairy.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/cloyster.asm (renamed from data/baseStats/cloyster.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/cubone.asm (renamed from data/baseStats/cubone.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/dewgong.asm (renamed from data/baseStats/dewgong.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/diglett.asm (renamed from data/baseStats/diglett.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/ditto.asm (renamed from data/baseStats/ditto.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/dodrio.asm (renamed from data/baseStats/dodrio.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/doduo.asm (renamed from data/baseStats/doduo.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/dragonair.asm (renamed from data/baseStats/dragonair.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/dragonite.asm (renamed from data/baseStats/dragonite.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/dratini.asm (renamed from data/baseStats/dratini.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/drowzee.asm (renamed from data/baseStats/drowzee.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/dugtrio.asm (renamed from data/baseStats/dugtrio.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/eevee.asm (renamed from data/baseStats/eevee.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/ekans.asm (renamed from data/baseStats/ekans.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/electabuzz.asm (renamed from data/baseStats/electabuzz.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/electrode.asm (renamed from data/baseStats/electrode.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/exeggcute.asm (renamed from data/baseStats/exeggcute.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/exeggutor.asm (renamed from data/baseStats/exeggutor.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/farfetchd.asm (renamed from data/baseStats/farfetchd.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/fearow.asm (renamed from data/baseStats/fearow.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/flareon.asm (renamed from data/baseStats/flareon.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/gastly.asm (renamed from data/baseStats/gastly.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/gengar.asm (renamed from data/baseStats/gengar.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/geodude.asm (renamed from data/baseStats/geodude.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/gloom.asm (renamed from data/baseStats/gloom.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/golbat.asm (renamed from data/baseStats/golbat.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/goldeen.asm (renamed from data/baseStats/goldeen.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/golduck.asm (renamed from data/baseStats/golduck.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/golem.asm (renamed from data/baseStats/golem.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/graveler.asm (renamed from data/baseStats/graveler.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/grimer.asm (renamed from data/baseStats/grimer.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/growlithe.asm (renamed from data/baseStats/growlithe.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/gyarados.asm (renamed from data/baseStats/gyarados.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/haunter.asm (renamed from data/baseStats/haunter.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/hitmonchan.asm (renamed from data/baseStats/hitmonchan.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/hitmonlee.asm (renamed from data/baseStats/hitmonlee.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/horsea.asm (renamed from data/baseStats/horsea.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/hypno.asm (renamed from data/baseStats/hypno.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/ivysaur.asm (renamed from data/baseStats/ivysaur.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/jigglypuff.asm (renamed from data/baseStats/jigglypuff.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/jolteon.asm (renamed from data/baseStats/jolteon.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/jynx.asm (renamed from data/baseStats/jynx.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/kabuto.asm (renamed from data/baseStats/kabuto.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/kabutops.asm (renamed from data/baseStats/kabutops.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/kadabra.asm (renamed from data/baseStats/kadabra.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/kakuna.asm (renamed from data/baseStats/kakuna.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/kangaskhan.asm (renamed from data/baseStats/kangaskhan.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/kingler.asm (renamed from data/baseStats/kingler.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/koffing.asm (renamed from data/baseStats/koffing.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/krabby.asm (renamed from data/baseStats/krabby.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/lapras.asm (renamed from data/baseStats/lapras.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/lickitung.asm (renamed from data/baseStats/lickitung.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/machamp.asm (renamed from data/baseStats/machamp.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/machoke.asm (renamed from data/baseStats/machoke.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/machop.asm (renamed from data/baseStats/machop.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/magikarp.asm (renamed from data/baseStats/magikarp.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/magmar.asm (renamed from data/baseStats/magmar.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/magnemite.asm (renamed from data/baseStats/magnemite.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/magneton.asm (renamed from data/baseStats/magneton.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/mankey.asm (renamed from data/baseStats/mankey.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/marowak.asm (renamed from data/baseStats/marowak.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/meowth.asm (renamed from data/baseStats/meowth.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/metapod.asm (renamed from data/baseStats/metapod.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/mew.asm (renamed from data/baseStats/mew.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/mewtwo.asm (renamed from data/baseStats/mewtwo.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/moltres.asm (renamed from data/baseStats/moltres.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/mrmime.asm (renamed from data/baseStats/mrmime.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/muk.asm (renamed from data/baseStats/muk.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/nidoking.asm (renamed from data/baseStats/nidoking.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/nidoqueen.asm (renamed from data/baseStats/nidoqueen.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/nidoranf.asm (renamed from data/baseStats/nidoranf.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/nidoranm.asm (renamed from data/baseStats/nidoranm.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/nidorina.asm (renamed from data/baseStats/nidorina.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/nidorino.asm (renamed from data/baseStats/nidorino.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/ninetales.asm (renamed from data/baseStats/ninetales.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/oddish.asm (renamed from data/baseStats/oddish.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/omanyte.asm (renamed from data/baseStats/omanyte.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/omastar.asm (renamed from data/baseStats/omastar.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/onix.asm (renamed from data/baseStats/onix.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/paras.asm (renamed from data/baseStats/paras.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/parasect.asm (renamed from data/baseStats/parasect.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/persian.asm (renamed from data/baseStats/persian.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/pidgeot.asm (renamed from data/baseStats/pidgeot.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/pidgeotto.asm (renamed from data/baseStats/pidgeotto.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/pidgey.asm (renamed from data/baseStats/pidgey.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/pikachu.asm (renamed from data/baseStats/pikachu.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/pinsir.asm (renamed from data/baseStats/pinsir.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/poliwag.asm (renamed from data/baseStats/poliwag.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/poliwhirl.asm (renamed from data/baseStats/poliwhirl.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/poliwrath.asm (renamed from data/baseStats/poliwrath.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/ponyta.asm (renamed from data/baseStats/ponyta.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/porygon.asm (renamed from data/baseStats/porygon.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/primeape.asm (renamed from data/baseStats/primeape.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/psyduck.asm (renamed from data/baseStats/psyduck.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/raichu.asm (renamed from data/baseStats/raichu.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/rapidash.asm (renamed from data/baseStats/rapidash.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/raticate.asm (renamed from data/baseStats/raticate.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/rattata.asm (renamed from data/baseStats/rattata.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/rhydon.asm (renamed from data/baseStats/rhydon.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/rhyhorn.asm (renamed from data/baseStats/rhyhorn.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/sandshrew.asm (renamed from data/baseStats/sandshrew.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/sandslash.asm (renamed from data/baseStats/sandslash.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/scyther.asm (renamed from data/baseStats/scyther.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/seadra.asm (renamed from data/baseStats/seadra.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/seaking.asm (renamed from data/baseStats/seaking.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/seel.asm (renamed from data/baseStats/seel.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/shellder.asm (renamed from data/baseStats/shellder.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/slowbro.asm (renamed from data/baseStats/slowbro.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/slowpoke.asm (renamed from data/baseStats/slowpoke.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/snorlax.asm (renamed from data/baseStats/snorlax.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/spearow.asm (renamed from data/baseStats/spearow.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/squirtle.asm (renamed from data/baseStats/squirtle.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/starmie.asm (renamed from data/baseStats/starmie.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/staryu.asm (renamed from data/baseStats/staryu.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/tangela.asm (renamed from data/baseStats/tangela.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/tauros.asm (renamed from data/baseStats/tauros.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/tentacool.asm (renamed from data/baseStats/tentacool.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/tentacruel.asm (renamed from data/baseStats/tentacruel.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/vaporeon.asm (renamed from data/baseStats/vaporeon.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/venomoth.asm (renamed from data/baseStats/venomoth.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/venonat.asm (renamed from data/baseStats/venonat.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/venusaur.asm (renamed from data/baseStats/venusaur.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/victreebel.asm (renamed from data/baseStats/victreebel.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/vileplume.asm (renamed from data/baseStats/vileplume.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/voltorb.asm (renamed from data/baseStats/voltorb.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/vulpix.asm (renamed from data/baseStats/vulpix.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/wartortle.asm (renamed from data/baseStats/wartortle.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/weedle.asm (renamed from data/baseStats/weedle.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/weepinbell.asm (renamed from data/baseStats/weepinbell.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/weezing.asm (renamed from data/baseStats/weezing.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/wigglytuff.asm (renamed from data/baseStats/wigglytuff.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/zapdos.asm (renamed from data/baseStats/zapdos.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/base_stats/zubat.asm (renamed from data/baseStats/zubat.asm) | 0 | ||||
-rwxr-xr-x | data/pokemon/cries.asm (renamed from data/cries.asm) | 0 | ||||
-rwxr-xr-x | data/pokemon/dex_entries.asm (renamed from data/pokedex_entries.asm) | 0 | ||||
-rwxr-xr-x | data/pokemon/dex_order.asm (renamed from data/pokedex_order.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/dex_text.asm (renamed from text/pokedex.asm) | 0 | ||||
-rwxr-xr-x | data/pokemon/evos_moves.asm | 2134 | ||||
-rwxr-xr-x | data/pokemon/menu_icons.asm (renamed from data/mon_party_sprites.asm) | 0 | ||||
-rw-r--r-- | data/pokemon/mew.asm | 14 | ||||
-rwxr-xr-x | data/pokemon/names.asm (renamed from text/monster_names.asm) | 0 | ||||
-rwxr-xr-x | data/pokemon/palettes.asm (renamed from data/mon_palettes.asm) | 0 | ||||
-rwxr-xr-x | data/pokemon/title_mons.asm (renamed from data/title_mons.asm) | 0 | ||||
-rw-r--r-- | data/predef_pointers.asm | 6 | ||||
-rwxr-xr-x | data/sgb/sgb_border.asm (renamed from data/sgb_border.asm) | 0 | ||||
-rwxr-xr-x | data/sgb/sgb_packets.asm (renamed from data/sgb_packets.asm) | 0 | ||||
-rwxr-xr-x | data/sgb/sgb_palettes.asm (renamed from data/super_palettes.asm) | 0 | ||||
-rwxr-xr-x | data/sprite_sets.asm | 551 | ||||
-rw-r--r-- | data/sprites/facings.asm (renamed from data/facing.asm) | 0 | ||||
-rw-r--r-- | data/sprites/sprites.asm | 360 | ||||
-rw-r--r-- | data/text/alphabets.asm (renamed from text/alphabets.asm) | 0 | ||||
-rw-r--r-- | data/text/dakutens.asm (renamed from text/dakutens.asm) | 0 | ||||
-rw-r--r-- | data/text/text_1.asm | 145 | ||||
-rw-r--r-- | data/text/text_2.asm | 1753 | ||||
-rw-r--r-- | data/text/text_3.asm | 324 | ||||
-rw-r--r-- | data/text/text_4.asm | 217 | ||||
-rw-r--r-- | data/text/text_5.asm | 102 | ||||
-rw-r--r-- | data/text/text_6.asm | 228 | ||||
-rw-r--r-- | data/text/text_7.asm | 196 | ||||
-rw-r--r-- | data/text/unused_names.asm | 20 | ||||
-rw-r--r-- | data/text_predef_pointers.asm | 71 | ||||
-rwxr-xr-x | data/tileset_headers.asm | 25 | ||||
-rwxr-xr-x | data/tilesets/bike_riding_tilesets.asm (renamed from data/bike_riding_tilesets.asm) | 0 | ||||
-rw-r--r-- | data/tilesets/bookshelf_tile_ids.asm (renamed from data/bookshelf_tile_ids.asm) | 0 | ||||
-rw-r--r-- | data/tilesets/collision_tile_ids.asm (renamed from data/collision_tile_ids.asm) | 0 | ||||
-rw-r--r-- | data/tilesets/cut_tree_blocks.asm (renamed from data/cut_tree_blocks.asm) | 0 | ||||
-rw-r--r-- | data/tilesets/door_tile_ids.asm (renamed from data/door_tile_ids.asm) | 0 | ||||
-rwxr-xr-x | data/tilesets/dungeon_tilesets.asm (renamed from data/dungeon_tilesets.asm) | 0 | ||||
-rw-r--r-- | data/tilesets/ledge_tiles.asm (renamed from data/ledge_tiles.asm) | 0 | ||||
-rwxr-xr-x | data/tilesets/tileset_headers.asm | 33 | ||||
-rw-r--r-- | data/tilesets/warp_carpet_tile_ids.asm (renamed from data/warp_carpet_tile_ids.asm) | 0 | ||||
-rw-r--r-- | data/tilesets/warp_pad_hole_tile_ids.asm (renamed from data/warp_pad_hole_tile_ids.asm) | 0 | ||||
-rwxr-xr-x | data/tilesets/warp_tile_ids.asm (renamed from data/warp_tile_ids.asm) | 0 | ||||
-rw-r--r-- | data/tilesets/water_tilesets.asm (renamed from data/water_tilesets.asm) | 0 | ||||
-rw-r--r-- | data/trainer_ai_pointers.asm | 51 | ||||
-rw-r--r-- | data/trainers/ai_pointers.asm | 52 | ||||
-rwxr-xr-x | data/trainers/encounter_types.asm (renamed from data/trainer_types.asm) | 0 | ||||
-rw-r--r-- | data/trainers/move_choices.asm (renamed from data/trainer_move_choices.asm) | 0 | ||||
-rw-r--r-- | data/trainers/name_pointers.asm (renamed from text/trainer_name_pointers.asm) | 0 | ||||
-rwxr-xr-x | data/trainers/names.asm (renamed from text/trainer_names.asm) | 0 | ||||
-rwxr-xr-x | data/trainers/parties.asm (renamed from data/trainer_parties.asm) | 0 | ||||
-rwxr-xr-x | data/trainers/pic_pointers_money.asm (renamed from data/trainer_pic_money_pointers.asm) | 0 | ||||
-rwxr-xr-x | data/trainers/special_moves.asm (renamed from data/trainer_moves.asm) | 0 | ||||
-rwxr-xr-x | data/types/names.asm (renamed from text/type_names.asm) | 0 | ||||
-rwxr-xr-x | data/types/type_matchups.asm (renamed from data/type_effects.asm) | 0 | ||||
-rwxr-xr-x | data/wild/good_rod.asm (renamed from data/good_rod.asm) | 0 | ||||
-rwxr-xr-x | data/wild/grass_water.asm | 321 | ||||
-rw-r--r-- | data/wild/maps/CeruleanCave1F.asm (renamed from data/wildPokemon/ceruleancave1.asm) | 0 | ||||
-rw-r--r-- | data/wild/maps/CeruleanCave2F.asm (renamed from data/wildPokemon/ceruleancave2.asm) | 0 | ||||
-rw-r--r-- | data/wild/maps/CeruleanCaveB1F.asm (renamed from data/wildPokemon/ceruleancaveb1.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/DiglettsCave.asm (renamed from data/wildPokemon/diglettscave.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/MtMoon1F.asm (renamed from data/wildPokemon/mtmoon1.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/MtMoonB1F.asm (renamed from data/wildPokemon/mtmoonb1.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/MtMoonB2F.asm (renamed from data/wildPokemon/mtmoonb2.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/PokemonMansion1F.asm (renamed from data/wildPokemon/mansion1.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/PokemonMansion2F.asm (renamed from data/wildPokemon/mansion2.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/PokemonMansion3F.asm (renamed from data/wildPokemon/mansion3.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/PokemonMansionB1F.asm (renamed from data/wildPokemon/mansionb1.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/PokemonTower1F.asm (renamed from data/wildPokemon/pokemontower1.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/PokemonTower2F.asm (renamed from data/wildPokemon/pokemontower2.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/PokemonTower3F.asm (renamed from data/wildPokemon/pokemontower3.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/PokemonTower4F.asm (renamed from data/wildPokemon/pokemontower4.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/PokemonTower5F.asm (renamed from data/wildPokemon/pokemontower5.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/PokemonTower6F.asm (renamed from data/wildPokemon/pokemontower6.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/PokemonTower7F.asm (renamed from data/wildPokemon/pokemontower7.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/PowerPlant.asm (renamed from data/wildPokemon/powerplant.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/RockTunnel1F.asm (renamed from data/wildPokemon/rocktunnel1.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/RockTunnelB1F.asm (renamed from data/wildPokemon/rocktunnel2.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route1.asm (renamed from data/wildPokemon/route1.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route10.asm (renamed from data/wildPokemon/route10.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route11.asm (renamed from data/wildPokemon/route11.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route12.asm (renamed from data/wildPokemon/route12.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route13.asm (renamed from data/wildPokemon/route13.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route14.asm (renamed from data/wildPokemon/route14.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route15.asm (renamed from data/wildPokemon/route15.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route16.asm (renamed from data/wildPokemon/route16.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route17.asm (renamed from data/wildPokemon/route17.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route18.asm (renamed from data/wildPokemon/route18.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route2.asm (renamed from data/wildPokemon/route2.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route21.asm (renamed from data/wildPokemon/route21.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route22.asm (renamed from data/wildPokemon/route22.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route23.asm (renamed from data/wildPokemon/route23.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route24.asm (renamed from data/wildPokemon/route24.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route25.asm (renamed from data/wildPokemon/route25.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route3.asm (renamed from data/wildPokemon/route3.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route4.asm (renamed from data/wildPokemon/route4.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route5.asm (renamed from data/wildPokemon/route5.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route6.asm (renamed from data/wildPokemon/route6.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route7.asm (renamed from data/wildPokemon/route7.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route8.asm (renamed from data/wildPokemon/route8.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/Route9.asm (renamed from data/wildPokemon/route9.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/SafariZoneCenter.asm (renamed from data/wildPokemon/safarizonecenter.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/SafariZoneEast.asm (renamed from data/wildPokemon/safarizone1.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/SafariZoneNorth.asm (renamed from data/wildPokemon/safarizone2.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/SafariZoneWest.asm (renamed from data/wildPokemon/safarizone3.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/SeaRoutes.asm (renamed from data/wildPokemon/waterpokemon.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/SeafoamIslands1F.asm (renamed from data/wildPokemon/seafoamisland1.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/SeafoamIslandsB1F.asm (renamed from data/wildPokemon/seafoamislandb1.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/SeafoamIslandsB2F.asm (renamed from data/wildPokemon/seafoamislandb2.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/SeafoamIslandsB3F.asm (renamed from data/wildPokemon/seafoamislandb3.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/SeafoamIslandsB4F.asm (renamed from data/wildPokemon/seafoamislandb4.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/VictoryRoad1F.asm (renamed from data/wildPokemon/victoryroad1.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/VictoryRoad2F.asm (renamed from data/wildPokemon/victoryroad2.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/VictoryRoad3F.asm (renamed from data/wildPokemon/victoryroad3.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/ViridianForest.asm (renamed from data/wildPokemon/viridianforest.asm) | 0 | ||||
-rwxr-xr-x | data/wild/maps/nothing.asm (renamed from data/wildPokemon/nomons.asm) | 0 | ||||
-rw-r--r-- | data/wild/probabilities.asm (renamed from data/wild_probabilities.asm) | 0 | ||||
-rwxr-xr-x | data/wild/super_rod.asm (renamed from data/super_rod.asm) | 0 | ||||
-rwxr-xr-x | data/wild_mons.asm | 321 | ||||
-rwxr-xr-x | engine/battle/animations.asm | 80 | ||||
-rw-r--r-- | engine/battle/battle_transitions.asm | 20 | ||||
-rw-r--r-- | engine/battle/common_text.asm | 22 | ||||
-rwxr-xr-x | engine/battle/core.asm | 358 | ||||
-rw-r--r-- | engine/battle/effects.asm | 126 | ||||
-rw-r--r-- | engine/battle/experience.asm | 32 | ||||
-rw-r--r-- | engine/battle/ghost_marowak_anim.asm | 6 | ||||
-rw-r--r-- | engine/battle/move_effects/conversion.asm | 2 | ||||
-rw-r--r-- | engine/battle/move_effects/drain_hp.asm | 6 | ||||
-rw-r--r-- | engine/battle/move_effects/focus_energy.asm | 2 | ||||
-rw-r--r-- | engine/battle/move_effects/haze.asm | 2 | ||||
-rw-r--r-- | engine/battle/move_effects/heal.asm | 6 | ||||
-rw-r--r-- | engine/battle/move_effects/leech_seed.asm | 2 | ||||
-rw-r--r-- | engine/battle/move_effects/mist.asm | 2 | ||||
-rw-r--r-- | engine/battle/move_effects/one_hit_ko.asm | 2 | ||||
-rw-r--r-- | engine/battle/move_effects/paralyze.asm | 2 | ||||
-rw-r--r-- | engine/battle/move_effects/pay_day.asm | 24 | ||||
-rw-r--r-- | engine/battle/move_effects/recoil.asm | 4 | ||||
-rw-r--r-- | engine/battle/move_effects/reflect_light_screen.asm | 2 | ||||
-rw-r--r-- | engine/battle/move_effects/substitute.asm | 2 | ||||
-rw-r--r-- | engine/battle/move_effects/transform.asm | 8 | ||||
-rw-r--r-- | engine/battle/print_type.asm | 2 | ||||
-rw-r--r-- | engine/battle/save_trainer_name.asm | 2 | ||||
-rw-r--r-- | engine/battle/scale_sprites.asm | 10 | ||||
-rw-r--r-- | engine/battle/trainer_ai.asm | 24 | ||||
-rw-r--r-- | engine/battle/unused_stats_functions.asm | 4 | ||||
-rw-r--r-- | engine/battle/wild_encounters.asm | 2 | ||||
-rw-r--r-- | engine/debug/test_battle.asm | 2 | ||||
-rwxr-xr-x | engine/events/cinnabar_lab.asm | 2 | ||||
-rwxr-xr-x | engine/events/diploma.asm | 4 | ||||
-rwxr-xr-x | engine/events/hidden_items.asm | 4 | ||||
-rwxr-xr-x | engine/events/hidden_object_functions14.asm | 100 | ||||
-rwxr-xr-x | engine/events/hidden_object_functions17.asm | 475 | ||||
-rwxr-xr-x | engine/events/hidden_object_functions18.asm | 198 | ||||
-rwxr-xr-x | engine/events/hidden_object_functions3.asm | 117 | ||||
-rwxr-xr-x | engine/events/hidden_object_functions7.asm | 467 | ||||
-rw-r--r-- | engine/events/hidden_objects/bench_guys.asm | 124 | ||||
-rw-r--r-- | engine/events/hidden_objects/bills_house_pc.asm | 134 | ||||
-rw-r--r-- | engine/events/hidden_objects/blues_room.asm | 13 | ||||
-rw-r--r-- | engine/events/hidden_objects/book_or_sculpture.asm | 21 | ||||
-rw-r--r-- | engine/events/hidden_objects/bookshelves.asm | 39 | ||||
-rw-r--r-- | engine/events/hidden_objects/cinnabar_gym_quiz.asm | 194 | ||||
-rw-r--r-- | engine/events/hidden_objects/elevator.asm | 3 | ||||
-rw-r--r-- | engine/events/hidden_objects/fighting_dojo.asm | 23 | ||||
-rw-r--r-- | engine/events/hidden_objects/gym_statues.asm | 48 | ||||
-rw-r--r-- | engine/events/hidden_objects/indigo_plateau_hq.asm | 10 | ||||
-rw-r--r-- | engine/events/hidden_objects/indigo_plateau_statues.asm | 24 | ||||
-rw-r--r-- | engine/events/hidden_objects/magazines.asm | 8 | ||||
-rw-r--r-- | engine/events/hidden_objects/museum_fossils.asm | 52 | ||||
-rw-r--r-- | engine/events/hidden_objects/new_bike.asm | 7 | ||||
-rw-r--r-- | engine/events/hidden_objects/oaks_lab_email.asm | 10 | ||||
-rw-r--r-- | engine/events/hidden_objects/oaks_lab_posters.asm | 29 | ||||
-rw-r--r-- | engine/events/hidden_objects/pokecenter_pc.asm | 11 | ||||
-rw-r--r-- | engine/events/hidden_objects/pokemon_stuff.asm | 3 | ||||
-rw-r--r-- | engine/events/hidden_objects/reds_room.asm | 14 | ||||
-rw-r--r-- | engine/events/hidden_objects/route_15_binoculars.asm | 14 | ||||
-rw-r--r-- | engine/events/hidden_objects/safari_game.asm | 79 | ||||
-rw-r--r-- | engine/events/hidden_objects/school_blackboard.asm | 222 | ||||
-rw-r--r-- | engine/events/hidden_objects/school_notebooks.asm | 65 | ||||
-rw-r--r-- | engine/events/hidden_objects/town_map.asm | 22 | ||||
-rw-r--r-- | engine/events/hidden_objects/vermilion_gym_trash.asm | 169 | ||||
-rwxr-xr-x | engine/events/in_game_trades.asm | 2 | ||||
-rw-r--r-- | engine/events/pick_up_item.asm | 4 | ||||
-rwxr-xr-x | engine/events/prize_menu.asm | 8 | ||||
-rwxr-xr-x | engine/events/saffron_guards.asm | 4 | ||||
-rw-r--r-- | engine/events/set_blackout_map.asm | 2 | ||||
-rwxr-xr-x | engine/events/vending_machine.asm | 2 | ||||
-rwxr-xr-x | engine/gfx/hp_bar.asm | 16 | ||||
-rwxr-xr-x | engine/gfx/mon_icons.asm | 4 | ||||
-rw-r--r-- | engine/gfx/oam_dma.asm | 4 | ||||
-rwxr-xr-x | engine/gfx/palettes.asm | 18 | ||||
-rwxr-xr-x | engine/gfx/screen_effects.asm | 12 | ||||
-rwxr-xr-x | engine/items/item_effects.asm | 112 | ||||
-rwxr-xr-x | engine/items/tm_prices.asm | 2 | ||||
-rwxr-xr-x | engine/items/tms.asm | 2 | ||||
-rwxr-xr-x | engine/items/town_map.asm | 6 | ||||
-rwxr-xr-x | engine/link/cable_club.asm | 16 | ||||
-rwxr-xr-x | engine/math/multiply_divide.asm | 158 | ||||
-rw-r--r-- | engine/menus/display_text_id_init.asm | 6 | ||||
-rwxr-xr-x | engine/menus/main_menu.asm | 10 | ||||
-rwxr-xr-x | engine/menus/naming_screen.asm | 8 | ||||
-rwxr-xr-x | engine/menus/party_menu.asm | 14 | ||||
-rwxr-xr-x | engine/menus/pokedex.asm | 16 | ||||
-rwxr-xr-x | engine/menus/save.asm | 20 | ||||
-rwxr-xr-x | engine/menus/start_sub_menus.asm | 26 | ||||
-rw-r--r-- | engine/menus/swap_items.asm | 8 | ||||
-rwxr-xr-x | engine/movie/credits.asm | 18 | ||||
-rwxr-xr-x | engine/movie/evolution.asm | 14 | ||||
-rwxr-xr-x | engine/movie/hall_of_fame.asm | 2 | ||||
-rwxr-xr-x | engine/movie/intro.asm | 4 | ||||
-rwxr-xr-x | engine/movie/oak_speech/oak_speech.asm | 24 | ||||
-rwxr-xr-x | engine/movie/oak_speech/oak_speech2.asm | 8 | ||||
-rwxr-xr-x | engine/movie/title.asm | 403 | ||||
-rwxr-xr-x | engine/movie/title2.asm (renamed from engine/movie/titlescreen2.asm) | 0 | ||||
-rwxr-xr-x | engine/movie/titlescreen.asm | 403 | ||||
-rwxr-xr-x | engine/movie/trade.asm | 36 | ||||
-rwxr-xr-x | engine/overworld/auto_movement.asm | 4 | ||||
-rw-r--r-- | engine/overworld/clear_variables.asm | 2 | ||||
-rwxr-xr-x | engine/overworld/cut.asm | 2 | ||||
-rwxr-xr-x | engine/overworld/doors.asm | 2 | ||||
-rwxr-xr-x | engine/overworld/elevator.asm | 4 | ||||
-rwxr-xr-x | engine/overworld/healing_machine.asm | 4 | ||||
-rwxr-xr-x | engine/overworld/hidden_objects.asm | 16 | ||||
-rwxr-xr-x | engine/overworld/ledges.asm | 2 | ||||
-rwxr-xr-x | engine/overworld/map_sprites.asm | 7 | ||||
-rw-r--r-- | engine/overworld/missable_objects.asm | 16 | ||||
-rw-r--r-- | engine/overworld/movement.asm | 88 | ||||
-rwxr-xr-x | engine/overworld/player_animations.asm | 2 | ||||
-rw-r--r-- | engine/overworld/player_state.asm | 38 | ||||
-rw-r--r-- | engine/overworld/push_boulder.asm | 2 | ||||
-rw-r--r-- | engine/overworld/special_warps.asm | 2 | ||||
-rw-r--r-- | engine/overworld/sprite_collisions.asm | 52 | ||||
-rw-r--r-- | engine/overworld/tilesets.asm | 6 | ||||
-rwxr-xr-x | engine/overworld/trainer_sight.asm | 28 | ||||
-rwxr-xr-x | engine/overworld/turn_sprite.asm | 6 | ||||
-rw-r--r-- | engine/overworld/update_map.asm | 20 | ||||
-rw-r--r-- | engine/overworld/wild_mons.asm | 8 | ||||
-rw-r--r-- | engine/pokemon/add_mon.asm | 4 | ||||
-rw-r--r-- | engine/pokemon/bills_pc.asm | 9 | ||||
-rwxr-xr-x | engine/pokemon/evos_moves.asm | 6 | ||||
-rwxr-xr-x | engine/pokemon/experience.asm | 50 | ||||
-rwxr-xr-x | engine/pokemon/learn_move.asm | 12 | ||||
-rwxr-xr-x | engine/pokemon/status_screen.asm | 10 | ||||
-rwxr-xr-x | engine/slots/game_corner_slots.asm | 2 | ||||
-rwxr-xr-x | engine/slots/slot_machine.asm | 4 | ||||
-rw-r--r-- | gfx/fishing.asm | 4 | ||||
-rw-r--r-- | gfx/font.asm | 31 | ||||
-rw-r--r-- | gfx/pics.asm (renamed from pics.asm) | 0 | ||||
-rw-r--r-- | gfx/player.asm | 3 | ||||
-rw-r--r-- | gfx/sprites.asm (renamed from sprites.asm) | 0 | ||||
-rw-r--r-- | gfx/tilesets.asm (renamed from tilesets.asm) | 0 | ||||
-rw-r--r-- | gfx/trade.asm | 7 | ||||
-rw-r--r-- | gfx/trainer_card.asm | 8 | ||||
-rw-r--r-- | gfx/version.asm | 8 | ||||
-rw-r--r-- | home.asm | 3169 | ||||
-rw-r--r-- | home/audio.asm | 6 | ||||
-rw-r--r-- | home/bankswitch.asm | 35 | ||||
-rw-r--r-- | home/clear_sprites.asm | 21 | ||||
-rw-r--r-- | home/copy.asm | 6 | ||||
-rw-r--r-- | home/copy2.asm | 76 | ||||
-rw-r--r-- | home/header.asm | 57 | ||||
-rw-r--r-- | home/init.asm | 20 | ||||
-rw-r--r-- | home/lcd.asm | 25 | ||||
-rw-r--r-- | home/list_menu.asm | 526 | ||||
-rw-r--r-- | home/move_mon.asm | 242 | ||||
-rw-r--r-- | home/names.asm | 141 | ||||
-rw-r--r-- | home/names2.asm | 93 | ||||
-rw-r--r-- | home/overworld.asm | 50 | ||||
-rw-r--r-- | home/overworld_text.asm | 31 | ||||
-rw-r--r-- | home/pic.asm | 591 | ||||
-rw-r--r-- | home/pics.asm | 196 | ||||
-rw-r--r-- | home/pokemon.asm | 464 | ||||
-rw-r--r-- | home/predef.asm | 8 | ||||
-rw-r--r-- | home/predef_text.asm | 237 | ||||
-rw-r--r-- | home/print_bcd.asm | 77 | ||||
-rw-r--r-- | home/print_num.asm | 217 | ||||
-rw-r--r-- | home/start.asm | 10 | ||||
-rwxr-xr-x | home/start_menu.asm | 2 | ||||
-rw-r--r-- | home/text.asm | 14 | ||||
-rw-r--r-- | home/trainers.asm | 436 | ||||
-rw-r--r-- | home/uncompress.asm | 591 | ||||
-rw-r--r-- | home/vblank.asm | 22 | ||||
-rw-r--r-- | home/vcopy.asm | 116 | ||||
-rw-r--r-- | home/yes_no.asm | 40 | ||||
-rw-r--r-- | hram.asm | 132 | ||||
-rw-r--r-- | layout.link | 100 | ||||
-rw-r--r-- | macros.asm | 16 | ||||
-rwxr-xr-x | macros/asm_macros.asm | 192 | ||||
-rwxr-xr-x | macros/audio_macros.asm | 214 | ||||
-rwxr-xr-x | macros/code.asm | 9 | ||||
-rw-r--r-- | macros/coords.asm | 65 | ||||
-rwxr-xr-x | macros/data.asm | 62 | ||||
-rwxr-xr-x | macros/data_macros.asm | 242 | ||||
-rw-r--r-- | macros/enum.asm | 43 | ||||
-rwxr-xr-x | macros/event_macros.asm | 441 | ||||
-rw-r--r-- | macros/farcall.asm | 37 | ||||
-rw-r--r-- | macros/predef.asm | 32 | ||||
-rwxr-xr-x | macros/scripts/audio.asm | 186 | ||||
-rwxr-xr-x | macros/scripts/events.asm | 471 | ||||
-rw-r--r-- | macros/scripts/maps.asm | 184 | ||||
-rwxr-xr-x | macros/scripts/text.asm | 78 | ||||
-rwxr-xr-x | macros/text_macros.asm | 80 | ||||
-rw-r--r-- | macros/wram.asm | 92 | ||||
-rwxr-xr-x | main.asm | 129 | ||||
-rw-r--r-- | maps.asm | 892 | ||||
-rw-r--r-- | rgbdscheck.asm | 12 | ||||
-rwxr-xr-x | scripts/BikeShop.asm | 2 | ||||
-rwxr-xr-x | scripts/BillsHouse.asm | 12 | ||||
-rwxr-xr-x | scripts/CeladonGym.asm | 2 | ||||
-rwxr-xr-x | scripts/CeladonMart3F.asm | 2 | ||||
-rwxr-xr-x | scripts/CeruleanCaveB1F.asm | 2 | ||||
-rwxr-xr-x | scripts/CeruleanCity.asm | 16 | ||||
-rwxr-xr-x | scripts/CeruleanGym.asm | 2 | ||||
-rwxr-xr-x | scripts/ChampionsRoom.asm | 16 | ||||
-rwxr-xr-x | scripts/CinnabarGym.asm | 6 | ||||
-rwxr-xr-x | scripts/CopycatsHouse2F.asm | 2 | ||||
-rwxr-xr-x | scripts/FightingDojo.asm | 4 | ||||
-rwxr-xr-x | scripts/FuchsiaGym.asm | 2 | ||||
-rwxr-xr-x | scripts/GameCorner.asm | 6 | ||||
-rwxr-xr-x | scripts/HallOfFame.asm | 2 | ||||
-rwxr-xr-x | scripts/MtMoonB2F.asm | 6 | ||||
-rwxr-xr-x | scripts/OaksLab.asm | 66 | ||||
-rwxr-xr-x | scripts/PalletTown.asm | 10 | ||||
-rwxr-xr-x | scripts/PewterCity.asm | 28 | ||||
-rwxr-xr-x | scripts/PewterGym.asm | 2 | ||||
-rwxr-xr-x | scripts/PewterPokecenter.asm | 3 | ||||
-rwxr-xr-x | scripts/PokemonTower2F.asm | 8 | ||||
-rwxr-xr-x | scripts/PokemonTower7F.asm | 2 | ||||
-rwxr-xr-x | scripts/PowerPlant.asm | 2 | ||||
-rwxr-xr-x | scripts/RocketHideoutB4F.asm | 2 | ||||
-rwxr-xr-x | scripts/Route22.asm | 26 | ||||
-rwxr-xr-x | scripts/Route5Gate.asm | 4 | ||||
-rwxr-xr-x | scripts/Route6Gate.asm | 2 | ||||
-rwxr-xr-x | scripts/Route7Gate.asm | 2 | ||||
-rwxr-xr-x | scripts/Route8Gate.asm | 2 | ||||
-rwxr-xr-x | scripts/SSAnne2F.asm | 16 | ||||
-rwxr-xr-x | scripts/SSAnneCaptainsRoom.asm | 4 | ||||
-rwxr-xr-x | scripts/SaffronGym.asm | 2 | ||||
-rwxr-xr-x | scripts/SilphCo10F.asm | 2 | ||||
-rwxr-xr-x | scripts/SilphCo11F.asm | 16 | ||||
-rwxr-xr-x | scripts/SilphCo2F.asm | 8 | ||||
-rwxr-xr-x | scripts/SilphCo3F.asm | 2 | ||||
-rwxr-xr-x | scripts/SilphCo4F.asm | 8 | ||||
-rwxr-xr-x | scripts/SilphCo5F.asm | 2 | ||||
-rwxr-xr-x | scripts/SilphCo6F.asm | 2 | ||||
-rwxr-xr-x | scripts/SilphCo7F.asm | 20 | ||||
-rwxr-xr-x | scripts/SilphCo8F.asm | 8 | ||||
-rwxr-xr-x | scripts/SilphCo9F.asm | 8 | ||||
-rwxr-xr-x | scripts/TradeCenter.asm | 2 | ||||
-rwxr-xr-x | scripts/VermilionDock.asm | 8 | ||||
-rwxr-xr-x | scripts/VermilionGym.asm | 2 | ||||
-rwxr-xr-x | scripts/ViridianCity.asm | 32 | ||||
-rwxr-xr-x | scripts/ViridianGym.asm | 2 | ||||
-rwxr-xr-x | scripts/WardensHouse.asm | 4 | ||||
-rw-r--r-- | text.asm | 3353 | ||||
-rw-r--r-- | text/AgathasRoom.asm (renamed from text/maps/AgathasRoom.asm) | 0 | ||||
-rw-r--r-- | text/BikeShop.asm (renamed from text/maps/BikeShop.asm) | 0 | ||||
-rw-r--r-- | text/BillsHouse.asm (renamed from text/maps/BillsHouse.asm) | 0 | ||||
-rw-r--r-- | text/BluesHouse.asm (renamed from text/maps/BluesHouse.asm) | 0 | ||||
-rw-r--r-- | text/BrunosRoom.asm (renamed from text/maps/BrunosRoom.asm) | 0 | ||||
-rw-r--r-- | text/CeladonChiefHouse.asm (renamed from text/maps/CeladonChiefHouse.asm) | 0 | ||||
-rw-r--r-- | text/CeladonCity.asm (renamed from text/maps/CeladonCity.asm) | 0 | ||||
-rw-r--r-- | text/CeladonDiner.asm (renamed from text/maps/CeladonDiner.asm) | 0 | ||||
-rw-r--r-- | text/CeladonGym.asm (renamed from text/maps/CeladonGym.asm) | 0 | ||||
-rw-r--r-- | text/CeladonHotel.asm (renamed from text/maps/CeladonHotel.asm) | 0 | ||||
-rw-r--r-- | text/CeladonMansion1F.asm (renamed from text/maps/CeladonMansion1F.asm) | 0 | ||||
-rw-r--r-- | text/CeladonMansion2F.asm (renamed from text/maps/CeladonMansion2F.asm) | 0 | ||||
-rw-r--r-- | text/CeladonMansion3F.asm (renamed from text/maps/CeladonMansion3F.asm) | 0 | ||||
-rw-r--r-- | text/CeladonMansionRoof.asm (renamed from text/maps/CeladonMansionRoof.asm) | 0 | ||||
-rw-r--r-- | text/CeladonMansionRoofHouse.asm (renamed from text/maps/CeladonMansionRoofHouse.asm) | 0 | ||||
-rw-r--r-- | text/CeladonMart1F.asm (renamed from text/maps/CeladonMart1F.asm) | 0 | ||||
-rw-r--r-- | text/CeladonMart2F.asm (renamed from text/maps/CeladonMart2F.asm) | 0 | ||||
-rw-r--r-- | text/CeladonMart3F.asm (renamed from text/maps/CeladonMart3F.asm) | 0 | ||||
-rw-r--r-- | text/CeladonMart4F.asm (renamed from text/maps/CeladonMart4F.asm) | 0 | ||||
-rw-r--r-- | text/CeladonMart5F.asm (renamed from text/maps/CeladonMart5F.asm) | 0 | ||||
-rw-r--r-- | text/CeladonMartRoof.asm (renamed from text/maps/CeladonMartRoof.asm) | 0 | ||||
-rw-r--r-- | text/CeladonPokecenter.asm (renamed from text/maps/CeladonPokecenter.asm) | 0 | ||||
-rw-r--r-- | text/CeruleanBadgeHouse.asm (renamed from text/maps/CeruleanBadgeHouse.asm) | 0 | ||||
-rw-r--r-- | text/CeruleanCaveB1F.asm (renamed from text/maps/CeruleanCaveB1F.asm) | 0 | ||||
-rw-r--r-- | text/CeruleanCity.asm (renamed from text/maps/CeruleanCity.asm) | 0 | ||||
-rw-r--r-- | text/CeruleanGym.asm (renamed from text/maps/CeruleanGym.asm) | 0 | ||||
-rw-r--r-- | text/CeruleanMart.asm (renamed from text/maps/CeruleanMart.asm) | 0 | ||||
-rw-r--r-- | text/CeruleanPokecenter.asm (renamed from text/maps/CeruleanPokecenter.asm) | 0 | ||||
-rw-r--r-- | text/CeruleanTradeHouse.asm (renamed from text/maps/CeruleanTradeHouse.asm) | 0 | ||||
-rw-r--r-- | text/CeruleanTrashedHouse.asm (renamed from text/maps/CeruleanTrashedHouse.asm) | 0 | ||||
-rw-r--r-- | text/ChampionsRoom.asm (renamed from text/maps/ChampionsRoom.asm) | 0 | ||||
-rw-r--r-- | text/CinnabarGym.asm (renamed from text/maps/CinnabarGym.asm) | 0 | ||||
-rw-r--r-- | text/CinnabarIsland.asm (renamed from text/maps/CinnabarIsland.asm) | 0 | ||||
-rw-r--r-- | text/CinnabarLab.asm (renamed from text/maps/CinnabarLab.asm) | 0 | ||||
-rw-r--r-- | text/CinnabarLabFossilRoom.asm (renamed from text/maps/CinnabarLabFossilRoom.asm) | 0 | ||||
-rw-r--r-- | text/CinnabarLabMetronomeRoom.asm (renamed from text/maps/CinnabarLabMetronomeRoom.asm) | 0 | ||||
-rw-r--r-- | text/CinnabarLabTradeRoom.asm (renamed from text/maps/CinnabarLabTradeRoom.asm) | 0 | ||||
-rw-r--r-- | text/CinnabarMart.asm (renamed from text/maps/CinnabarMart.asm) | 0 | ||||
-rw-r--r-- | text/CinnabarPokecenter.asm (renamed from text/maps/CinnabarPokecenter.asm) | 0 | ||||
-rw-r--r-- | text/CopycatsHouse1F.asm (renamed from text/maps/CopycatsHouse1F.asm) | 0 | ||||
-rw-r--r-- | text/CopycatsHouse2F.asm (renamed from text/maps/CopycatsHouse2F.asm) | 0 | ||||
-rw-r--r-- | text/Daycare.asm (renamed from text/maps/Daycare.asm) | 0 | ||||
-rw-r--r-- | text/Daycare_2.asm (renamed from text/maps/Daycare_2.asm) | 0 | ||||
-rw-r--r-- | text/DiglettsCaveRoute11.asm (renamed from text/maps/DiglettsCaveRoute11.asm) | 0 | ||||
-rw-r--r-- | text/DiglettsCaveRoute2.asm (renamed from text/maps/DiglettsCaveRoute2.asm) | 0 | ||||
-rw-r--r-- | text/FightingDojo.asm (renamed from text/maps/FightingDojo.asm) | 0 | ||||
-rw-r--r-- | text/FuchsiaBillsGrandpasHouse.asm (renamed from text/maps/FuchsiaBillsGrandpasHouse.asm) | 0 | ||||
-rw-r--r-- | text/FuchsiaCity.asm (renamed from text/maps/FuchsiaCity.asm) | 0 | ||||
-rw-r--r-- | text/FuchsiaGoodRodHouse.asm (renamed from text/maps/FuchsiaGoodRodHouse.asm) | 0 | ||||
-rw-r--r-- | text/FuchsiaGym.asm (renamed from text/maps/FuchsiaGym.asm) | 0 | ||||
-rw-r--r-- | text/FuchsiaGym_2.asm (renamed from text/maps/FuchsiaGym_2.asm) | 0 | ||||
-rw-r--r-- | text/FuchsiaMart.asm (renamed from text/maps/FuchsiaMart.asm) | 0 | ||||
-rw-r--r-- | text/FuchsiaMeetingRoom.asm (renamed from text/maps/FuchsiaMeetingRoom.asm) | 0 | ||||
-rw-r--r-- | text/FuchsiaPokecenter.asm (renamed from text/maps/FuchsiaPokecenter.asm) | 0 | ||||
-rw-r--r-- | text/GameCorner.asm (renamed from text/maps/GameCorner.asm) | 0 | ||||
-rw-r--r-- | text/GameCornerPrizeRoom.asm (renamed from text/maps/GameCornerPrizeRoom.asm) | 0 | ||||
-rw-r--r-- | text/HallOfFame.asm (renamed from text/maps/HallOfFame.asm) | 0 | ||||
-rw-r--r-- | text/IndigoPlateauLobby.asm (renamed from text/maps/IndigoPlateauLobby.asm) | 0 | ||||
-rw-r--r-- | text/LancesRoom.asm (renamed from text/maps/LancesRoom.asm) | 0 | ||||
-rw-r--r-- | text/LavenderCuboneHouse.asm (renamed from text/maps/LavenderCuboneHouse.asm) | 0 | ||||
-rw-r--r-- | text/LavenderMart.asm (renamed from text/maps/LavenderMart.asm) | 0 | ||||
-rw-r--r-- | text/LavenderPokecenter.asm (renamed from text/maps/LavenderPokecenter.asm) | 0 | ||||
-rw-r--r-- | text/LavenderTown.asm (renamed from text/maps/LavenderTown.asm) | 0 | ||||
-rw-r--r-- | text/LoreleisRoom.asm (renamed from text/maps/LoreleisRoom.asm) | 0 | ||||
-rw-r--r-- | text/MrFujisHouse.asm (renamed from text/maps/MrFujisHouse.asm) | 0 | ||||
-rw-r--r-- | text/MrPsychicsHouse.asm (renamed from text/maps/MrPsychicsHouse.asm) | 0 | ||||
-rw-r--r-- | text/MtMoon1F.asm (renamed from text/maps/MtMoon1F.asm) | 0 | ||||
-rw-r--r-- | text/MtMoonB1F.asm (renamed from text/maps/MtMoonB1F.asm) | 0 | ||||
-rw-r--r-- | text/MtMoonB2F.asm (renamed from text/maps/MtMoonB2F.asm) | 0 | ||||
-rw-r--r-- | text/MtMoonPokecenter.asm (renamed from text/maps/MtMoonPokecenter.asm) | 0 | ||||
-rw-r--r-- | text/Museum1F.asm (renamed from text/maps/Museum1F.asm) | 0 | ||||
-rw-r--r-- | text/Museum2F.asm (renamed from text/maps/Museum2F.asm) | 0 | ||||
-rw-r--r-- | text/NameRatersHouse.asm (renamed from text/maps/NameRatersHouse.asm) | 0 | ||||
-rw-r--r-- | text/OaksLab.asm (renamed from text/maps/OaksLab.asm) | 0 | ||||
-rw-r--r-- | text/PalletTown.asm (renamed from text/maps/PalletTown.asm) | 0 | ||||
-rw-r--r-- | text/PewterCity.asm (renamed from text/maps/PewterCity.asm) | 0 | ||||
-rw-r--r-- | text/PewterGym.asm (renamed from text/maps/PewterGym.asm) | 0 | ||||
-rw-r--r-- | text/PewterGym_2.asm (renamed from text/maps/PewterGym_2.asm) | 0 | ||||
-rw-r--r-- | text/PewterMart.asm (renamed from text/maps/PewterMart.asm) | 0 | ||||
-rw-r--r-- | text/PewterNidoranHouse.asm (renamed from text/maps/PewterNidoranHouse.asm) | 0 | ||||
-rw-r--r-- | text/PewterPokecenter.asm (renamed from text/maps/PewterPokecenter.asm) | 0 | ||||
-rw-r--r-- | text/PewterSpeechHouse.asm (renamed from text/maps/PewterSpeechHouse.asm) | 0 | ||||
-rw-r--r-- | text/PokemonFanClub.asm (renamed from text/maps/PokemonFanClub.asm) | 0 | ||||
-rw-r--r-- | text/PokemonMansion1F.asm (renamed from text/maps/PokemonMansion1F.asm) | 0 | ||||
-rw-r--r-- | text/PokemonMansion2F.asm (renamed from text/maps/PokemonMansion2F.asm) | 0 | ||||
-rw-r--r-- | text/PokemonMansion3F.asm (renamed from text/maps/PokemonMansion3F.asm) | 0 | ||||
-rw-r--r-- | text/PokemonMansionB1F.asm (renamed from text/maps/PokemonMansionB1F.asm) | 0 | ||||
-rw-r--r-- | text/PokemonTower1F.asm (renamed from text/maps/PokemonTower1F.asm) | 0 | ||||
-rw-r--r-- | text/PokemonTower2F.asm (renamed from text/maps/PokemonTower2F.asm) | 0 | ||||
-rw-r--r-- | text/PokemonTower3F.asm (renamed from text/maps/PokemonTower3F.asm) | 0 | ||||
-rw-r--r-- | text/PokemonTower4F.asm (renamed from text/maps/PokemonTower4F.asm) | 0 | ||||
-rw-r--r-- | text/PokemonTower5F.asm (renamed from text/maps/PokemonTower5F.asm) | 0 | ||||
-rw-r--r-- | text/PokemonTower6F.asm (renamed from text/maps/PokemonTower6F.asm) | 0 | ||||
-rw-r--r-- | text/PokemonTower7F.asm (renamed from text/maps/PokemonTower7F.asm) | 0 | ||||
-rw-r--r-- | text/PowerPlant.asm (renamed from text/maps/PowerPlant.asm) | 0 | ||||
-rw-r--r-- | text/RedsHouse1F.asm (renamed from text/maps/RedsHouse1F.asm) | 0 | ||||
-rw-r--r-- | text/RockTunnel1F.asm (renamed from text/maps/RockTunnel1F.asm) | 0 | ||||
-rw-r--r-- | text/RockTunnelB1F.asm (renamed from text/maps/RockTunnelB1F.asm) | 0 | ||||
-rw-r--r-- | text/RockTunnelB1F_2.asm (renamed from text/maps/RockTunnelB1F_2.asm) | 0 | ||||
-rw-r--r-- | text/RockTunnelPokecenter.asm (renamed from text/maps/RockTunnelPokecenter.asm) | 0 | ||||
-rw-r--r-- | text/RocketHideoutB1F.asm (renamed from text/maps/RocketHideoutB1F.asm) | 0 | ||||
-rw-r--r-- | text/RocketHideoutB2F.asm (renamed from text/maps/RocketHideoutB2F.asm) | 0 | ||||
-rw-r--r-- | text/RocketHideoutB3F.asm (renamed from text/maps/RocketHideoutB3F.asm) | 0 | ||||
-rw-r--r-- | text/RocketHideoutB4F.asm (renamed from text/maps/RocketHideoutB4F.asm) | 0 | ||||
-rw-r--r-- | text/RocketHideoutElevator.asm (renamed from text/maps/RocketHideoutElevator.asm) | 0 | ||||
-rw-r--r-- | text/Route1.asm (renamed from text/maps/Route1.asm) | 0 | ||||
-rw-r--r-- | text/Route10.asm (renamed from text/maps/Route10.asm) | 0 | ||||
-rw-r--r-- | text/Route11.asm (renamed from text/maps/Route11.asm) | 0 | ||||
-rw-r--r-- | text/Route11Gate1F.asm (renamed from text/maps/Route11Gate1F.asm) | 0 | ||||
-rw-r--r-- | text/Route11Gate2F.asm (renamed from text/maps/Route11Gate2F.asm) | 0 | ||||
-rw-r--r-- | text/Route11_2.asm (renamed from text/maps/Route11_2.asm) | 0 | ||||
-rw-r--r-- | text/Route12.asm (renamed from text/maps/Route12.asm) | 0 | ||||
-rw-r--r-- | text/Route12Gate1F.asm (renamed from text/maps/Route12Gate1F.asm) | 0 | ||||
-rw-r--r-- | text/Route12Gate2F.asm (renamed from text/maps/Route12Gate2F.asm) | 0 | ||||
-rw-r--r-- | text/Route12SuperRodHouse.asm (renamed from text/maps/Route12SuperRodHouse.asm) | 0 | ||||
-rw-r--r-- | text/Route13.asm (renamed from text/maps/Route13.asm) | 0 | ||||
-rw-r--r-- | text/Route14.asm (renamed from text/maps/Route14.asm) | 0 | ||||
-rw-r--r-- | text/Route15.asm (renamed from text/maps/Route15.asm) | 0 | ||||
-rw-r--r-- | text/Route15Gate1F.asm (renamed from text/maps/Route15Gate1F.asm) | 0 | ||||
-rw-r--r-- | text/Route15Gate2F.asm (renamed from text/maps/Route15Gate2F.asm) | 0 | ||||
-rw-r--r-- | text/Route16.asm (renamed from text/maps/Route16.asm) | 0 | ||||
-rw-r--r-- | text/Route16FlyHouse.asm (renamed from text/maps/Route16FlyHouse.asm) | 0 | ||||
-rw-r--r-- | text/Route16Gate1F.asm (renamed from text/maps/Route16Gate1F.asm) | 0 | ||||
-rw-r--r-- | text/Route16Gate2F.asm (renamed from text/maps/Route16Gate2F.asm) | 0 | ||||
-rw-r--r-- | text/Route17.asm (renamed from text/maps/Route17.asm) | 0 | ||||
-rw-r--r-- | text/Route18.asm (renamed from text/maps/Route18.asm) | 0 | ||||
-rw-r--r-- | text/Route18Gate1F.asm (renamed from text/maps/Route18Gate1F.asm) | 0 | ||||
-rw-r--r-- | text/Route18Gate2F.asm (renamed from text/maps/Route18Gate2F.asm) | 0 | ||||
-rw-r--r-- | text/Route19.asm (renamed from text/maps/Route19.asm) | 0 | ||||
-rw-r--r-- | text/Route2.asm (renamed from text/maps/Route2.asm) | 0 | ||||
-rw-r--r-- | text/Route20.asm (renamed from text/maps/Route20.asm) | 0 | ||||
-rw-r--r-- | text/Route21.asm (renamed from text/maps/Route21.asm) | 0 | ||||
-rw-r--r-- | text/Route22.asm (renamed from text/maps/Route22.asm) | 0 | ||||
-rw-r--r-- | text/Route22Gate.asm (renamed from text/maps/Route22Gate.asm) | 0 | ||||
-rw-r--r-- | text/Route23.asm (renamed from text/maps/Route23.asm) | 0 | ||||
-rw-r--r-- | text/Route24.asm (renamed from text/maps/Route24.asm) | 0 | ||||
-rw-r--r-- | text/Route24_2.asm (renamed from text/maps/Route24_2.asm) | 0 | ||||
-rw-r--r-- | text/Route25.asm (renamed from text/maps/Route25.asm) | 0 | ||||
-rw-r--r-- | text/Route2Gate.asm (renamed from text/maps/Route2Gate.asm) | 0 | ||||
-rw-r--r-- | text/Route2TradeHouse.asm (renamed from text/maps/Route2TradeHouse.asm) | 0 | ||||
-rw-r--r-- | text/Route3.asm (renamed from text/maps/Route3.asm) | 0 | ||||
-rw-r--r-- | text/Route4.asm (renamed from text/maps/Route4.asm) | 0 | ||||
-rw-r--r-- | text/Route5.asm (renamed from text/maps/Route5.asm) | 0 | ||||
-rw-r--r-- | text/Route6.asm (renamed from text/maps/Route6.asm) | 0 | ||||
-rw-r--r-- | text/Route7.asm (renamed from text/maps/Route7.asm) | 0 | ||||
-rw-r--r-- | text/Route8.asm (renamed from text/maps/Route8.asm) | 0 | ||||
-rw-r--r-- | text/Route9.asm (renamed from text/maps/Route9.asm) | 0 | ||||
-rw-r--r-- | text/SSAnne1F.asm (renamed from text/maps/SSAnne1F.asm) | 0 | ||||
-rw-r--r-- | text/SSAnne1FRooms.asm (renamed from text/maps/SSAnne1FRooms.asm) | 0 | ||||
-rw-r--r-- | text/SSAnne2F.asm (renamed from text/maps/SSAnne2F.asm) | 0 | ||||
-rw-r--r-- | text/SSAnne2FRooms.asm (renamed from text/maps/SSAnne2FRooms.asm) | 0 | ||||
-rw-r--r-- | text/SSAnne3F.asm (renamed from text/maps/SSAnne3F.asm) | 0 | ||||
-rw-r--r-- | text/SSAnneB1FRooms.asm (renamed from text/maps/SSAnneB1FRooms.asm) | 0 | ||||
-rw-r--r-- | text/SSAnneBow.asm (renamed from text/maps/SSAnneBow.asm) | 0 | ||||
-rw-r--r-- | text/SSAnneCaptainsRoom.asm (renamed from text/maps/SSAnneCaptainsRoom.asm) | 0 | ||||
-rw-r--r-- | text/SSAnneKitchen.asm (renamed from text/maps/SSAnneKitchen.asm) | 0 | ||||
-rw-r--r-- | text/SafariZoneCenter.asm (renamed from text/maps/SafariZoneCenter.asm) | 0 | ||||
-rw-r--r-- | text/SafariZoneCenterRestHouse.asm (renamed from text/maps/SafariZoneCenterRestHouse.asm) | 0 | ||||
-rw-r--r-- | text/SafariZoneEast.asm (renamed from text/maps/SafariZoneEast.asm) | 0 | ||||
-rw-r--r-- | text/SafariZoneEastRestHouse.asm (renamed from text/maps/SafariZoneEastRestHouse.asm) | 0 | ||||
-rw-r--r-- | text/SafariZoneGate.asm (renamed from text/maps/SafariZoneGate.asm) | 0 | ||||
-rw-r--r-- | text/SafariZoneNorth.asm (renamed from text/maps/SafariZoneNorth.asm) | 0 | ||||
-rw-r--r-- | text/SafariZoneNorthRestHouse.asm (renamed from text/maps/SafariZoneNorthRestHouse.asm) | 0 | ||||
-rw-r--r-- | text/SafariZoneSecretHouse.asm (renamed from text/maps/SafariZoneSecretHouse.asm) | 0 | ||||
-rw-r--r-- | text/SafariZoneWest.asm (renamed from text/maps/SafariZoneWest.asm) | 0 | ||||
-rw-r--r-- | text/SafariZoneWestRestHouse.asm (renamed from text/maps/SafariZoneWestRestHouse.asm) | 0 | ||||
-rw-r--r-- | text/SaffronCity.asm (renamed from text/maps/SaffronCity.asm) | 0 | ||||
-rw-r--r-- | text/SaffronGates.asm (renamed from text/maps/SaffronGates.asm) | 0 | ||||
-rw-r--r-- | text/SaffronGym.asm (renamed from text/maps/SaffronGym.asm) | 0 | ||||
-rw-r--r-- | text/SaffronMart.asm (renamed from text/maps/SaffronMart.asm) | 0 | ||||
-rw-r--r-- | text/SaffronPidgeyHouse.asm (renamed from text/maps/SaffronPidgeyHouse.asm) | 0 | ||||
-rw-r--r-- | text/SaffronPokecenter.asm (renamed from text/maps/SaffronPokecenter.asm) | 0 | ||||
-rw-r--r-- | text/SeafoamIslandsB4F.asm (renamed from text/maps/SeafoamIslandsB4F.asm) | 0 | ||||
-rw-r--r-- | text/SilphCo10F.asm (renamed from text/maps/SilphCo10F.asm) | 0 | ||||
-rw-r--r-- | text/SilphCo11F.asm (renamed from text/maps/SilphCo11F.asm) | 0 | ||||
-rw-r--r-- | text/SilphCo1F.asm (renamed from text/maps/SilphCo1F.asm) | 0 | ||||
-rw-r--r-- | text/SilphCo2F.asm (renamed from text/maps/SilphCo2F.asm) | 0 | ||||
-rw-r--r-- | text/SilphCo3F.asm (renamed from text/maps/SilphCo3F.asm) | 0 | ||||
-rw-r--r-- | text/SilphCo4F.asm (renamed from text/maps/SilphCo4F.asm) | 0 | ||||
-rw-r--r-- | text/SilphCo5F.asm (renamed from text/maps/SilphCo5F.asm) | 0 | ||||
-rw-r--r-- | text/SilphCo5F_2.asm (renamed from text/maps/SilphCo5F_2.asm) | 0 | ||||
-rw-r--r-- | text/SilphCo6F.asm (renamed from text/maps/SilphCo6F.asm) | 0 | ||||
-rw-r--r-- | text/SilphCo7F.asm (renamed from text/maps/SilphCo7F.asm) | 0 | ||||
-rw-r--r-- | text/SilphCo8F.asm (renamed from text/maps/SilphCo8F.asm) | 0 | ||||
-rw-r--r-- | text/SilphCo9F.asm (renamed from text/maps/SilphCo9F.asm) | 0 | ||||
-rw-r--r-- | text/UndergroundPathRoute6.asm (renamed from text/maps/UndergroundPathRoute6.asm) | 0 | ||||
-rw-r--r-- | text/UndergroundPathRoute7.asm (renamed from text/maps/UndergroundPathRoute7.asm) | 0 | ||||
-rw-r--r-- | text/UndergroundPathRoute7Copy.asm (renamed from text/maps/UndergroundPathRoute7Copy.asm) | 0 | ||||
-rw-r--r-- | text/UndergroundPathRoute8.asm (renamed from text/maps/UndergroundPathRoute8.asm) | 0 | ||||
-rw-r--r-- | text/VermilionCity.asm (renamed from text/maps/VermilionCity.asm) | 0 | ||||
-rw-r--r-- | text/VermilionDock.asm (renamed from text/maps/VermilionDock.asm) | 0 | ||||
-rw-r--r-- | text/VermilionGym.asm (renamed from text/maps/VermilionGym.asm) | 0 | ||||
-rw-r--r-- | text/VermilionGym_2.asm (renamed from text/maps/VermilionGym_2.asm) | 0 | ||||
-rw-r--r-- | text/VermilionMart.asm (renamed from text/maps/VermilionMart.asm) | 0 | ||||
-rw-r--r-- | text/VermilionOldRodHouse.asm (renamed from text/maps/VermilionOldRodHouse.asm) | 0 | ||||
-rw-r--r-- | text/VermilionPidgeyHouse.asm (renamed from text/maps/VermilionPidgeyHouse.asm) | 0 | ||||
-rw-r--r-- | text/VermilionPokecenter.asm (renamed from text/maps/VermilionPokecenter.asm) | 0 | ||||
-rw-r--r-- | text/VictoryRoad1F.asm (renamed from text/maps/VictoryRoad1F.asm) | 0 | ||||
-rw-r--r-- | text/VictoryRoad2F.asm (renamed from text/maps/VictoryRoad2F.asm) | 0 | ||||
-rw-r--r-- | text/VictoryRoad3F.asm (renamed from text/maps/VictoryRoad3F.asm) | 0 | ||||
-rw-r--r-- | text/ViridianCity.asm (renamed from text/maps/ViridianCity.asm) | 0 | ||||
-rw-r--r-- | text/ViridianForest.asm (renamed from text/maps/ViridianForest.asm) | 0 | ||||
-rw-r--r-- | text/ViridianForestNorthGate.asm (renamed from text/maps/ViridianForestNorthGate.asm) | 0 | ||||
-rw-r--r-- | text/ViridianForestSouthGate.asm (renamed from text/maps/ViridianForestSouthGate.asm) | 0 | ||||
-rw-r--r-- | text/ViridianGym.asm (renamed from text/maps/ViridianGym.asm) | 0 | ||||
-rw-r--r-- | text/ViridianMart.asm (renamed from text/maps/ViridianMart.asm) | 0 | ||||
-rw-r--r-- | text/ViridianNicknameHouse.asm (renamed from text/maps/ViridianNicknameHouse.asm) | 0 | ||||
-rw-r--r-- | text/ViridianPokecenter.asm (renamed from text/maps/ViridianPokecenter.asm) | 0 | ||||
-rw-r--r-- | text/ViridianSchoolHouse.asm (renamed from text/maps/ViridianSchoolHouse.asm) | 0 | ||||
-rw-r--r-- | text/WardensHouse.asm (renamed from text/maps/WardensHouse.asm) | 0 | ||||
-rw-r--r-- | text/oakspeech.asm | 55 | ||||
-rw-r--r-- | text/unused_names.asm | 20 | ||||
-rwxr-xr-x | wram.asm | 96 |
1484 files changed, 20579 insertions, 23244 deletions
@@ -1,60 +1,180 @@ -# Linux +# Instructions - sudo apt-get install make git gcc +These instructions explain how to set up the tools required to build **pokered**, including [**rgbds**](https://github.com/rednex/rgbds), which assembles the source files into a ROM. - sudo apt-get install byacc flex pkg-config libpng-dev - git clone https://github.com/rednex/rgbds - cd rgbds - sudo make install - cd .. +If you run into trouble, ask for help on IRC or Discord (see [README.md](README.md)). - git clone https://github.com/pret/pokered - cd pokered -To build **pokered.gbc** and **pokeblue.gbc**: +## Windows 10 - make +Download and install [**Windows Subsystem for Linux**](https://docs.microsoft.com/en-us/windows/wsl/install-win10). Then open the **WSL terminal**. -To build them individually: +WSL has its own file system that's not accessible from Windows, but Windows files *are* accessible from WSL. So you're going to want to install pokered within Windows. You'll have to change the **current working directory** every time you open WSL. - make red - make blue +For example, if you want to store pokered in **C:\Users\\*\<user>*\Desktop**, enter this command: +```bash +cd /mnt/c/Users/<user>/Desktop +``` -# Mac +(The Windows `C:\` drive is called `/mnt/c/` in WSL. Replace *\<user>* in the example path with your username.) -Get [**Homebrew**](http://brew.sh/). +Then follow [the instructions for **Linux**](#linux). -Then in **Terminal**, run: +If this doesn't work, try following [the regular Windows instructions](#windows) below. - xcode-select --install - brew install rgbds - git clone https://github.com/pret/pokered - cd pokered +## Windows -To build **pokered.gbc** and **pokeblue.gbc**: +Download [**Cygwin**](http://cygwin.com/install.html): **setup-x86_64.exe** for 64-bit Windows, **setup-x86.exe** for 32-bit. - make +Run setup and leave the default settings. At the "**Select Packages**" step, choose to install the following, all of which are in the "**Devel**" category: +- `make` +- `git` +- `gcc-core` -# Windows +Double click on the text that says "**Skip**" next to each package to select the most recent version to install. -Download [**Cygwin**](http://cygwin.com/install.html): **setup-x86_64.exe** for 64-bit Windows, **setup-x86.exe** for 32-bit. +Then download [**rgbds**](https://github.com/rednex/rgbds/releases/): the latest **win64.zip** or **win32.zip** release. Extract it and put all the `exe` and `dll` files individually in **C:\cygwin64\usr\local\bin**. + +**Note: If you already have an older rgbds, you will need to update to 0.4.0.** Ignore this if you have never installed rgbds before. If a version newer than 0.4.0 does not work, try downloading 0.4.0. + +Now open the **Cygwin terminal** and enter the following commands. + +Cygwin has its own file system that's within Windows, at **C:\cygwin64\home\\*\<user>***. If you don't want to store pokered there, you'll have to change the **current working directory** every time you open Cygwin. + +For example, if you want to store pokered in **C:\Users\\*\<user>*\Desktop**: + +```bash +cd /cygdrive/c/Users/<user>/Desktop +``` + +(The Windows `C:\` drive is called `/cygdrive/c/` in Cygwin. Replace *\<user>* in the example path with your username.) + +Now you're ready to [build **pokered**](#build-pokered). + + +## Mac OS X + +Install [**Homebrew**](https://brew.sh/). Follow the official instructions. + +Open **Terminal** and enter the following commands. + +To install **rgbds**: + +```bash +brew install rgbds +``` + +Now you're ready to [build **pokered**](#build-pokered). + + +## Linux + +Open **Terminal** and enter the following commands, depending on which distro you're using. + +### Debian or Ubuntu + +To install the software required for **pokered**: + +```bash +sudo apt-get install make gcc git +``` -Run setup and leave the default settings. At "Select Packages", choose to install the following: +To install **rgbds**: + +```bash +sudo apt-get install pkg-config flex bison libpng-dev +git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds +sudo make -C rgbds install +``` + +### OpenSUSE + +To install the software required for **pokered**: + +```bash +sudo zypper install make gcc git +``` + +To install **rgbds**: + +```bash +sudo zypper install pkg-config flex bison libpng16-devel +git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds +sudo make -C rgbds install +``` + +### Arch Linux + +To install the software required for **pokered**: + +```bash +sudo pacman -S make gcc git +``` + +**rgbds** is available on the [AUR](https://aur.archlinux.org/packages/rgbds/). + +Alternatively, to install **rgbds** manually: + +```bash +sudo pacman -S pkg-config flex bison libpng +git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds +sudo make -C rgbds install +``` + +### Termux + +To install the software required for **pokered**: + +```bash +sudo apt install make clang git sed +``` + +To install **rgbds**: + +```bash +sudo apt install rgbds +``` + +### Other distros + +If your distro is not listed here, try to find the required software in its repositories: - `make` +- `gcc` (or `clang`) - `git` -- `gcc-core` +- `rgbds` + +If `rgbds` is not available, you'll also need these: + +- `pkg-config` +- `flex` +- `bison` +- `libpng` (and the development headers) + +To install **rgbds**: + +```bash +git clone -b v0.4.0 --depth=1 https://github.com/rednex/rgbds +sudo make -C rgbds install +``` + +Now you're ready to [build **pokered**](#build-pokered). + -Then download [**rgbds**](https://github.com/rednex/rgbds/releases/): the latest **win64.tar.gz** or **win32.tar.gz** release. Extract it and put all the `exe` and `dll` files individually in **C:\cygwin64\usr\local\bin**. +## Build pokered -In the **Cygwin terminal**, enter these commands: +To download the **pokered** source files: - git clone https://github.com/pret/pokered - cd pokered +```bash +git clone https://github.com/pret/pokered +cd pokered +``` To build **pokered.gbc** and **pokeblue.gbc**: - make +```bash +make +``` @@ -5,11 +5,11 @@ audio.o \ home.o \ main.o \ maps.o \ -pics.o \ -sprites.o \ text.o \ -tilesets.o \ wram.o \ +gfx/pics.o \ +gfx/sprites.o \ +gfx/tilesets.o pokered_obj := $(rom_obj:.o=_red.o) pokeblue_obj := $(rom_obj:.o=_blue.o) @@ -35,48 +35,66 @@ RGBLINK ?= $(RGBDS)rgblink .PHONY: all red blue clean tidy compare tools all: $(roms) -red: pokered.gbc +red: pokered.gbc blue: pokeblue.gbc -# For contributors to make sure a change didn't affect the contents of the rom. -compare: $(roms) - @$(MD5) roms.md5 - clean: - rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) - find . \( -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pic' \) -exec rm {} + + rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) rgbdscheck.o + find gfx \( -iname '*.1bpp' -o -iname '*.2bpp' -o -iname '*.pic' \) -delete $(MAKE) clean -C tools/ tidy: - rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) + rm -f $(roms) $(pokered_obj) $(pokeblue_obj) $(roms:.gbc=.map) $(roms:.gbc=.sym) rgbdscheck.o $(MAKE) clean -C tools/ +# For contributors to make sure a change didn't affect the original contents of the ROMs. +compare: $(roms) + @$(MD5) roms.md5 + tools: $(MAKE) -C tools/ +RGBASMFLAGS = -h -Weverything +# Create a sym/map for debug purposes if `make` run with `DEBUG=1` +ifeq ($(DEBUG),1) +RGBASMFLAGS += -E +endif + +$(pokered_obj): RGBASMFLAGS += -D _RED +$(pokeblue_obj): RGBASMFLAGS += -D _BLUE + +rgbdscheck.o: rgbdscheck.asm + $(RGBASM) -o $@ $< + +# The dep rules have to be explicit or else missing files won't be reported. +# As a side effect, they're evaluated immediately instead of when the rule is invoked. +# It doesn't look like $(shell) can be deferred so there might not be a better way. +define DEP +$1: $2 $$(shell tools/scan_includes $2) | rgbdscheck.o + $$(RGBASM) $$(RGBASMFLAGS) -o $$@ $$< +endef + # Build tools when building the rom. # This has to happen before the rules are processed, since that's when scan_includes is run. ifeq (,$(filter clean tools,$(MAKECMDGOALS))) + $(info $(shell $(MAKE) -C tools)) -endif +# Dependencies for objects (drop _red and _blue from asm file basenames) +$(foreach obj, $(pokered_obj), $(eval $(call DEP,$(obj),$(obj:_red.o=.asm)))) +$(foreach obj, $(pokeblue_obj), $(eval $(call DEP,$(obj),$(obj:_blue.o=.asm)))) -%.asm: ; +endif -%_red.o: dep = $(shell tools/scan_includes $(@D)/$*.asm) -$(pokered_obj): %_red.o: %.asm $$(dep) - $(RGBASM) -D _RED -h -o $@ $*.asm -%_blue.o: dep = $(shell tools/scan_includes $(@D)/$*.asm) -$(pokeblue_obj): %_blue.o: %.asm $$(dep) - $(RGBASM) -D _BLUE -h -o $@ $*.asm +%.asm: ; pokered_opt = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON RED" pokeblue_opt = -jsv -k 01 -l 0x33 -m 0x13 -p 0 -r 03 -t "POKEMON BLUE" -%.gbc: $$(%_obj) - $(RGBLINK) -d -m $*.map -n $*.sym -l layout.link -o $@ $^ +%.gbc: $$(%_obj) layout.link + $(RGBLINK) -d -m $*.map -n $*.sym -l layout.link -o $@ $(filter %.o,$^) $(RGBFIX) $($*_opt) $@ diff --git a/audio/engine_1.asm b/audio/engine_1.asm index 0f76f576..20b992aa 100644 --- a/audio/engine_1.asm +++ b/audio/engine_1.asm @@ -925,7 +925,7 @@ Audio1_ApplyWavePatternAndFrequency: ld e, [hl] inc hl ld d, [hl] - ld hl, $ff30 ; wave pattern RAM + ld hl, rWave_0 ld b, $f ld a, $0 ; stop hardware channel 3 ld [rNR30], a diff --git a/audio/engine_2.asm b/audio/engine_2.asm index 2e0aad0d..864a8c21 100644 --- a/audio/engine_2.asm +++ b/audio/engine_2.asm @@ -936,7 +936,7 @@ Audio2_ApplyWavePatternAndFrequency: ld e, [hl] inc hl ld d, [hl] - ld hl, $ff30 ; wave pattern RAM + ld hl, rWave_0 ld b, $f ld a, $0 ; stop hardware channel 3 ld [rNR30], a diff --git a/audio/engine_3.asm b/audio/engine_3.asm index 771b44df..c0aaeaf8 100644 --- a/audio/engine_3.asm +++ b/audio/engine_3.asm @@ -925,7 +925,7 @@ Audio3_ApplyWavePatternAndFrequency: ld e, [hl] inc hl ld d, [hl] - ld hl, $ff30 ; wave pattern RAM + ld hl, rWave_0 ld b, $f ld a, $0 ; stop hardware channel 3 ld [rNR30], a diff --git a/audio/music/yellow/meetjessiejames.asm b/audio/music/yellow/meetjessiejames.asm deleted file mode 100644 index d1f9f795..00000000 --- a/audio/music/yellow/meetjessiejames.asm +++ /dev/null @@ -1,308 +0,0 @@ -Music_MeetJessieJames_Ch1:: - tempo 144 - volume 7, 7 - duty_cycle 3 - vibrato 8, 1, 4 - note_type 12, 11, 2 - octave 3 - note G#, 1 - note G_, 1 - note F#, 2 - note F_, 2 - note E_, 2 - note D#, 2 - note D_, 2 - note C#, 2 - note C_, 2 - note_type 12, 11, 6 - note D#, 12 - note C_, 4 - -Music_MeetJessieJames_branch_83187:: - note_type 12, 11, 2 - octave 4 - note D_, 16 - rest 12 - note_type 12, 11, 4 - octave 3 - note A#, 4 - rest 16 - rest 8 - note_type 12, 11, 2 - octave 2 - note A_, 2 - octave 3 - note A#, 2 - note A_, 4 - note D_, 1 - note D#, 1 - note D#, 2 - note D#, 2 - note D_, 2 - note D#, 2 - note D_, 2 - note D#, 2 - note F_, 2 - note D_, 1 - note D#, 1 - note D#, 2 - note D#, 2 - note D_, 2 - octave 2 - note A#, 4 - note_type 12, 11, 4 - octave 3 - note B_, 4 - note_type 12, 11, 2 - note D_, 1 - note D#, 1 - note D#, 2 - note D#, 2 - note D_, 2 - note D#, 2 - note D_, 2 - note D#, 2 - note F_, 2 - note D_, 1 - note D#, 1 - note D#, 2 - note D#, 2 - note D_, 2 - octave 2 - note A#, 2 - octave 3 - note B_, 2 - note_type 12, 11, 4 - note A#, 4 - sound_loop 0, Music_MeetJessieJames_branch_83187 - - -Music_MeetJessieJames_Ch2:: - duty_cycle 3 - vibrato 6, 1, 5 - note_type 12, 12, 2 - octave 4 - note D_, 1 - note C#, 1 - note C_, 2 - octave 3 - note B_, 2 - note A#, 2 - note A_, 2 - note G#, 2 - note G_, 2 - note F#, 2 - note_type 12, 12, 7 - note A_, 12 - octave 4 - note C#, 4 - -Music_MeetJessieJames_branch_831df:: - note_type 12, 12, 2 - octave 3 - note C#, 1 - note D_, 1 - note D_, 2 - note D_, 2 - note C#, 2 - note D_, 2 - note C#, 2 - note D_, 2 - note E_, 2 - note C#, 1 - note D_, 1 - note D_, 2 - note D_, 2 - note C#, 2 - octave 2 - note A_, 4 - note_type 12, 12, 5 - octave 4 - note C#, 4 - note_type 12, 12, 2 - note D_, 1 - octave 3 - note D_, 1 - note D_, 2 - note D_, 2 - note C#, 2 - note D_, 2 - note C#, 2 - note D_, 2 - note E_, 2 - note C#, 1 - note D_, 1 - note D_, 2 - note D_, 2 - note C#, 2 - note_type 12, 12, 6 - octave 4 - note D_, 8 - note_type 12, 12, 2 - note D#, 6 - note F_, 4 - note D#, 4 - octave 3 - note A#, 2 - octave 4 - note D#, 6 - note F_, 4 - note D#, 2 - note_type 12, 12, 5 - note D_, 4 - note_type 12, 12, 2 - note D#, 6 - note F_, 4 - note D#, 4 - octave 3 - note A#, 2 - octave 4 - note D#, 4 - note F_, 4 - note_type 12, 12, 5 - note D#, 8 - sound_loop 0, Music_MeetJessieJames_branch_831df - - -Music_MeetJessieJames_Ch3:: - note_type 12, 1, 0 - rest 16 - rest 8 - octave 4 - note D_, 2 - octave 3 - note A_, 2 - octave 4 - note C_, 2 - note D#, 2 - -Music_MeetJessieJames_branch_83235:: - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A#, 2 - note A_, 2 - note D#, 2 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - note A_, 1 - rest 1 - note D_, 1 - rest 1 - octave 3 - note A_, 2 - octave 4 - note C_, 2 - note D_, 2 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - octave 3 - note A#, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note E_, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - note A#, 1 - rest 1 - note D#, 1 - rest 1 - octave 3 - note A#, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note E_, 1 - rest 1 - sound_loop 0, Music_MeetJessieJames_branch_83235 diff --git a/audio/music/yellow/surfingpikachu.asm b/audio/music/yellow/surfingpikachu.asm deleted file mode 100644 index 8e161443..00000000 --- a/audio/music/yellow/surfingpikachu.asm +++ /dev/null @@ -1,690 +0,0 @@ -Music_SurfingPikachu_Ch1:: - tempo 117 - volume 7, 7 - duty_cycle 3 - vibrato 8, 1, 4 - note_type 12, 11, 3 - octave 3 - note E_, 6 - note_type 12, 11, 2 - note F#, 2 - note_type 12, 11, 3 - note E_, 6 - note_type 12, 11, 2 - note F#, 16 - rest 2 - note_type 12, 11, 3 - note E_, 6 - note_type 12, 11, 2 - note A_, 2 - note_type 12, 11, 3 - note E_, 6 - note_type 12, 11, 2 - note A_, 14 - note_type 12, 11, 2 - note D#, 2 - note C#, 1 - note D#, 1 - octave 2 - note B_, 6 - octave 3 - note E_, 4 - note E_, 4 - note E_, 8 - note G#, 4 - note G#, 4 - note G#, 2 - -Music_SurfingPikachu_branch_82d1a:: - note_type 12, 11, 3 - octave 3 - note G#, 4 - note E_, 4 - note F#, 4 - note E_, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note G#, 2 - note F#, 2 - note E_, 2 - note D#, 2 - note E_, 2 - note D#, 2 - note C#, 6 - note F#, 2 - note A_, 8 - octave 2 - note B_, 6 - octave 3 - note E_, 2 - note G#, 8 - note G#, 4 - note E_, 4 - note F#, 4 - note E_, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note G#, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note E_, 2 - note G#, 2 - note F#, 6 - note E_, 2 - note F#, 1 - rest 3 - note A_, 4 - duty_cycle 0 - note_type 12, 11, 2 - note G#, 1 - note F#, 1 - note G#, 2 - note B_, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note E_, 2 - note D#, 2 - note F#, 2 - note F#, 2 - note D#, 2 - note F#, 2 - note B_, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note B_, 1 - note A#, 1 - note B_, 2 - note G#, 2 - note E_, 2 - note G#, 2 - note G_, 2 - note G#, 2 - note A_, 2 - octave 4 - note C#, 2 - note C_, 2 - note C#, 3 - octave 3 - note F#, 1 - note A_, 2 - note G#, 2 - note F#, 2 - note A_, 2 - note E_, 3 - note E_, 1 - note B_, 2 - note A_, 2 - note G#, 6 - note E_, 1 - note F_, 1 - note F#, 2 - note F#, 2 - note D#, 2 - note F#, 2 - note B_, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note B_, 1 - note A#, 1 - note B_, 2 - note G#, 2 - note E_, 2 - note G#, 2 - note G_, 2 - note G#, 2 - note A_, 2 - octave 4 - note C#, 2 - note C_, 2 - note C#, 3 - octave 3 - note F#, 1 - note A_, 2 - note G#, 2 - note A_, 2 - octave 4 - note D#, 2 - note E_, 2 - note E_, 1 - note D#, 1 - note E_, 1 - note D#, 1 - note E_, 1 - note D#, 1 - note E_, 8 - duty_cycle 3 - sound_loop 0, Music_SurfingPikachu_branch_82d1a - - -Music_SurfingPikachu_Ch2:: - duty_cycle 3 - vibrato 6, 1, 5 - note_type 12, 12, 4 - octave 3 - note B_, 6 - note_type 12, 12, 2 - octave 4 - note E_, 2 - note_type 12, 12, 4 - octave 3 - note B_, 6 - note_type 12, 12, 2 - octave 4 - note E_, 2 - note_type 12, 11, 2 - octave 3 - note B_, 2 - octave 4 - note C#, 2 - note D#, 2 - note C#, 2 - octave 3 - note B_, 2 - note A_, 2 - note G#, 2 - note F#, 2 - note_type 12, 12, 4 - octave 4 - note C#, 6 - note_type 12, 12, 2 - note F#, 2 - note_type 12, 12, 4 - note C#, 6 - note_type 12, 12, 2 - note F#, 2 - note_type 12, 11, 2 - note C#, 2 - note D#, 2 - note E_, 2 - note D#, 2 - note C#, 2 - octave 3 - note B_, 2 - note A_, 2 - note G#, 2 - note_type 12, 12, 2 - note E_, 6 - note B_, 4 - note B_, 4 - note B_, 8 - note B_, 4 - note B_, 4 - note B_, 2 - -Music_SurfingPikachu_branch_82de0:: - note_type 12, 12, 6 - octave 4 - note E_, 4 - octave 3 - note B_, 4 - note A_, 4 - octave 4 - note C#, 4 - octave 3 - note B_, 6 - note A_, 2 - note G#, 8 - note F#, 6 - note A_, 2 - octave 4 - note C#, 8 - octave 3 - note E_, 6 - note G#, 2 - note B_, 8 - octave 4 - note E_, 4 - octave 3 - note B_, 4 - note A_, 4 - octave 4 - note C#, 4 - octave 3 - note B_, 6 - octave 4 - note D#, 2 - note E_, 8 - note D#, 6 - note C#, 2 - note D#, 1 - rest 3 - note F#, 4 - note E_, 10 - note_type 12, 12, 6 - duty_cycle 2 - note E_, 2 - note D#, 2 - note C#, 2 - octave 3 - note B_, 6 - octave 4 - note C#, 2 - note D#, 4 - octave 3 - note B_, 4 - octave 4 - note E_, 6 - note F#, 2 - note G#, 8 - note A_, 6 - note G#, 2 - note A_, 4 - note F#, 4 - note G#, 10 - note E_, 2 - note D#, 2 - note C#, 2 - octave 3 - note B_, 6 - octave 4 - note C#, 2 - note D#, 4 - octave 3 - note B_, 4 - octave 4 - note E_, 6 - note F#, 2 - note G#, 8 - note A_, 4 - note F#, 4 - note D#, 4 - octave 5 - note C#, 4 - octave 4 - note B_, 8 - note_type 12, 12, 2 - octave 5 - note E_, 4 - note_type 12, 12, 6 - duty_cycle 3 - octave 3 - note B_, 1 - note A#, 1 - note B_, 1 - octave 4 - note C#, 1 - sound_loop 0, Music_SurfingPikachu_branch_82de0 - - -Music_SurfingPikachu_Ch3:: - note_type 12, 1, 0 - octave 4 - note B_, 6 - octave 5 - note C#, 1 - rest 1 - octave 4 - note B_, 6 - octave 5 - note C#, 1 - rest 1 - octave 4 - note B_, 1 - rest 1 - note A_, 1 - rest 1 - note G#, 1 - rest 1 - note A_, 1 - rest 1 - note B_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - note D#, 1 - rest 1 - note C#, 1 - rest 1 - octave 4 - note A_, 6 - octave 5 - note C#, 1 - rest 1 - octave 4 - note A_, 6 - octave 5 - note C#, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - note G#, 1 - rest 1 - note F#, 1 - rest 1 - note E_, 1 - rest 1 - note F#, 1 - rest 1 - note G#, 1 - rest 1 - note A_, 1 - rest 1 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note D#, 1 - rest 1 - -Music_SurfingPikachu_branch_82ea0:: - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - note C_, 1 - note C#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - octave 5 - note E_, 1 - note D#, 1 - note E_, 1 - rest 1 - octave 4 - note D#, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note B_, 1 - rest 1 - note A_, 1 - rest 1 - note G#, 1 - rest 1 - note F#, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note D_, 1 - rest 1 - note D#, 1 - rest 1 - note F#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - note D#, 1 - rest 1 - note F#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note C#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note C#, 1 - rest 1 - note A_, 1 - rest 1 - note B_, 1 - note A#, 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note F#, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note D_, 1 - rest 1 - note D#, 1 - rest 1 - note F#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - note D#, 1 - rest 1 - note F#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note C#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - note D#, 1 - rest 1 - note B_, 1 - rest 1 - note B_, 1 - rest 1 - note A_, 1 - rest 1 - note A_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note D#, 1 - rest 1 - sound_loop 0, Music_SurfingPikachu_branch_82ea0 diff --git a/audio/music/yellow/yellowintro.asm b/audio/music/yellow/yellowintro.asm deleted file mode 100644 index bb741a22..00000000 --- a/audio/music/yellow/yellowintro.asm +++ /dev/null @@ -1,484 +0,0 @@ -Music_YellowIntro_Ch1:: - tempo 116 - volume 7, 7 - duty_cycle 3 - vibrato 8, 1, 4 - note_type 12, 11, 2 - octave 3 - note G#, 2 - note B_, 4 - note B_, 4 - note B_, 4 - note B_, 4 - note B_, 4 - note B_, 3 - note A#, 1 - note B_, 2 - note B_, 10 - note_type 12, 11, 6 - octave 4 - note C#, 1 - note C_, 1 - note C#, 10 - octave 3 - note G#, 1 - note G_, 1 - note G#, 4 - note B_, 4 - octave 4 - note E_, 4 - note F#, 8 - note E_, 8 - octave 3 - note A_, 4 - note B_, 4 - octave 4 - note C#, 4 - octave 3 - note B_, 4 - note G#, 6 - note_type 12, 11, 2 - note B_, 2 - note_type 12, 11, 6 - note G#, 6 - note_type 12, 11, 2 - note B_, 2 - note_type 12, 11, 6 - octave 4 - note E_, 6 - note_type 12, 11, 2 - note G#, 2 - note_type 12, 11, 6 - note E_, 6 - note_type 12, 11, 2 - note G#, 2 - note_type 12, 11, 6 - octave 3 - note A_, 4 - note F#, 4 - note A_, 4 - note B_, 4 - note F#, 4 - note G#, 4 - note A_, 2 - note G#, 2 - note F#, 2 - note D#, 2 - note_type 12, 11, 3 - note B_, 2 - octave 4 - note E_, 4 - note E_, 4 - note E_, 4 - note E_, 2 - note C#, 2 - note F#, 4 - note F#, 3 - note D#, 1 - note F#, 2 - note F#, 8 - note_type 12, 11, 6 - note F#, 1 - note F_, 1 - note F#, 8 - octave 3 - note B_, 1 - note A#, 1 - note B_, 8 - octave 4 - note F#, 1 - note F_, 1 - note F#, 2 - note_type 12, 11, 3 - note F#, 1 - note E_, 1 - note D#, 1 - note C#, 1 - note_type 12, 11, 2 - octave 3 - note B_, 16 - sound_ret - - -Music_YellowIntro_Ch2:: - duty_cycle 2 - vibrato 6, 1, 5 - note_type 12, 12, 2 - octave 3 - note B_, 2 - octave 4 - note E_, 4 - note E_, 4 - note E_, 4 - note E_, 4 - note E_, 4 - note E_, 3 - note D#, 1 - note E_, 2 - note E_, 4 - note_type 12, 12, 5 - note G#, 1 - note G_, 1 - note G#, 10 - octave 3 - note B_, 1 - note A#, 1 - note B_, 6 - note_type 12, 12, 7 - octave 4 - note E_, 4 - note G#, 4 - note B_, 4 - octave 5 - note C#, 16 - octave 4 - note A_, 4 - note G#, 4 - note F#, 4 - note E_, 4 - octave 3 - note B_, 6 - note_type 12, 12, 2 - octave 4 - note E_, 2 - note_type 12, 12, 7 - octave 3 - note B_, 6 - note_type 12, 12, 2 - octave 4 - note E_, 2 - note_type 12, 12, 7 - note G#, 6 - note_type 12, 12, 2 - note B_, 2 - note_type 12, 12, 7 - note G#, 6 - note_type 12, 12, 2 - note B_, 2 - note_type 12, 12, 7 - note C#, 4 - octave 3 - note A_, 4 - octave 4 - note C#, 4 - note D#, 4 - note E_, 2 - note D#, 2 - note C#, 2 - note D#, 4 - note D#, 2 - note C#, 2 - octave 3 - note B_, 2 - note_type 12, 12, 3 - octave 4 - note E_, 2 - note G#, 4 - note G#, 4 - note G#, 4 - note G#, 2 - note F#, 2 - note A_, 4 - note A_, 3 - note F#, 1 - note A_, 2 - note A_, 4 - note_type 12, 12, 7 - note B_, 1 - note A#, 1 - note B_, 8 - note B_, 1 - note A#, 1 - note B_, 8 - note B_, 1 - note A#, 1 - note B_, 6 - note_type 12, 12, 3 - note B_, 1 - note A_, 1 - note G#, 1 - note F#, 1 - note_type 12, 12, 2 - note E_, 16 - sound_ret - - -Music_YellowIntro_Ch3:: - note_type 12, 1, 0 - octave 4 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - octave 3 - note B_, 1 - rest 1 - octave 4 - note C#, 1 - rest 1 - note D#, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note C#, 1 - rest 1 - note A_, 1 - rest 1 - note F#, 1 - rest 1 - note A_, 1 - rest 1 - note C#, 1 - rest 1 - note A_, 1 - rest 1 - note A_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note B_, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note B_, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note E_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note A_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - octave 5 - note C#, 1 - rest 1 - octave 4 - note B_, 1 - rest 1 - note A_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note G#, 1 - rest 1 - note B_, 1 - rest 1 - note E_, 1 - rest 1 - note B_, 1 - rest 1 - note A_, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note E_, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note E_, 1 - rest 1 - octave 5 - note E_, 1 - rest 1 - octave 4 - note A_, 1 - rest 1 - octave 5 - note F#, 1 - rest 1 - octave 4 - note F#, 1 - rest 1 - octave 5 - note C#, 1 - rest 3 - note F#, 1 - rest 1 - octave 4 - note F#, 1 - note G#, 1 - note A_, 1 - octave 5 - note C#, 1 - note E_, 1 - rest 15 - sound_ret diff --git a/audio/music/yellow/yellowunusedsong.asm b/audio/music/yellow/yellowunusedsong.asm deleted file mode 100644 index f1e4d18f..00000000 --- a/audio/music/yellow/yellowunusedsong.asm +++ /dev/null @@ -1,326 +0,0 @@ -Music_YellowUnusedSong_Ch1:: - tempo 140 - volume 7, 7 - duty_cycle 3 - vibrato 8, 1, 4 - note_type 8, 11, 2 - octave 3 - note A_, 6 - note A_, 2 - note A_, 2 - note A_, 2 - note A#, 6 - note A#, 6 - note G_, 6 - note G_, 6 - note A_, 6 - note E_, 6 - note A_, 6 - note A_, 2 - note A_, 2 - note A_, 2 - note A#, 6 - note A#, 6 - note A_, 6 - note G_, 6 - note A_, 12 - -Music_YellowUnusedSong_branch_82fde:: - note A_, 6 - note A_, 2 - note A_, 2 - note A_, 2 - note A#, 6 - note A#, 6 - note G_, 6 - note G_, 6 - note A_, 6 - note E_, 6 - note A_, 6 - note A_, 2 - note A_, 2 - note A_, 2 - note A#, 6 - note A#, 6 - note G_, 6 - octave 4 - note D#, 6 - note D_, 12 - rest 16 - rest 16 - rest 16 - rest 16 - rest 16 - rest 16 - octave 3 - note A_, 6 - note A_, 2 - note A_, 2 - note A_, 2 - note A#, 6 - note A#, 6 - note G_, 6 - note G_, 6 - note A_, 6 - note E_, 6 - note A_, 6 - note A_, 2 - note A_, 2 - note A_, 2 - note A#, 6 - note A#, 6 - note A_, 6 - note G_, 6 - note A_, 12 - sound_loop 0, Music_YellowUnusedSong_branch_82fde - - -Music_YellowUnusedSong_Ch2:: - duty_cycle 2 - note_type 8, 12, 2 - octave 4 - note D_, 6 - note D_, 2 - note D_, 2 - note D_, 2 - note D#, 6 - note D#, 6 - note C_, 6 - note C_, 6 - note D_, 6 - octave 3 - note A_, 6 - octave 4 - note D_, 6 - note D_, 2 - note D_, 2 - note D_, 2 - note D#, 6 - note D#, 6 - note D_, 6 - note A#, 6 - note A_, 12 - -Music_YellowUnusedSong_branch_8302a:: - note D_, 6 - note D_, 2 - note D_, 2 - note D_, 2 - note D#, 6 - note D#, 6 - note C_, 6 - note C_, 6 - note D_, 6 - octave 3 - note A_, 6 - octave 4 - note D_, 6 - note D_, 2 - note D_, 2 - note D_, 2 - note D#, 6 - note D#, 6 - note C_, 6 - note G#, 6 - note G_, 12 - note_type 8, 9, 0 - octave 3 - note D#, 16 - note D#, 8 - note D#, 16 - note D#, 8 - octave 2 - note A#, 16 - note A#, 8 - octave 3 - note D#, 12 - note F_, 12 - note_type 8, 12, 2 - octave 4 - note D_, 6 - note D_, 2 - note D_, 2 - note D_, 2 - note D#, 6 - note D#, 6 - note C_, 6 - note C_, 6 - note D_, 6 - octave 3 - note A_, 6 - octave 4 - note D_, 6 - note D_, 2 - note D_, 2 - note D_, 2 - note D#, 6 - note D#, 6 - note D_, 6 - note A#, 6 - note A_, 12 - sound_loop 0, Music_YellowUnusedSong_branch_8302a - - -Music_YellowUnusedSong_Ch3:: - note_type 12, 1, 0 - vibrato 2, 1, 5 - rest 16 - rest 12 - octave 4 - note C_, 4 - note D_, 8 - note D#, 8 - note G_, 8 - note A#, 8 - -Music_YellowUnusedSong_branch_83075:: - note A_, 8 - note A#, 8 - note G_, 8 - note A_, 4 - note D_, 4 - note A_, 8 - note A#, 8 - octave 5 - note C#, 8 - note D_, 8 - note D#, 16 - note D#, 16 - octave 4 - note A#, 16 - octave 5 - note D#, 8 - note F_, 8 - octave 4 - note D_, 16 - note D_, 16 - octave 4 - note D_, 8 - note D#, 8 - note G_, 8 - note A#, 8 - sound_loop 0, Music_YellowUnusedSong_branch_83075 - - -Music_YellowUnusedSong_Ch4:: - drum_speed 12 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 4 - drum_note 3, 4 - -Music_YellowUnusedSong_branch_830c3:: - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 4 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 4 - drum_speed 8 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_speed 12 - drum_note 3, 4 - drum_note 3, 4 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 2 - drum_note 3, 4 - drum_note 3, 4 - sound_loop 0, Music_YellowUnusedSong_branch_830c3 diff --git a/audio/play_battle_music.asm b/audio/play_battle_music.asm index 35dd19ad..f8bfcd19 100644 --- a/audio/play_battle_music.asm +++ b/audio/play_battle_music.asm @@ -2,9 +2,9 @@ PlayBattleMusic:: xor a ld [wAudioFadeOutControl], a ld [wLowHealthAlarm], a - dec a + dec a ; SFX_STOP_ALL_MUSIC ld [wNewSoundID], a - call PlaySound ; stop music + call PlaySound call DelayFrame ld c, BANK(Music_GymLeaderBattle) ld a, [wGymLeaderNo] diff --git a/audio/pokedex_rating_sfx.asm b/audio/pokedex_rating_sfx.asm index a218d5e6..1b5dc4f0 100644 --- a/audio/pokedex_rating_sfx.asm +++ b/audio/pokedex_rating_sfx.asm @@ -1,5 +1,5 @@ PlayPokedexRatingSfx:: - ld a, [$ffdc] + ld a, [hDexRatingNumMonsOwned] ld c, $0 ld hl, OwnedMonValues .getSfxPointer @@ -10,7 +10,7 @@ PlayPokedexRatingSfx:: jr .getSfxPointer .gotSfxPointer push bc - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySoundWaitForCurrent pop bc diff --git a/audio/wave_instruments.asm b/audio/wave_instruments.asm index c915f18a..4a830f4b 100644 --- a/audio/wave_instruments.asm +++ b/audio/wave_instruments.asm @@ -13,7 +13,7 @@ ; these are the definitions for the channel 3 instruments ; each instrument definition is made up of 32 points (nibbles) that form ; the graph of the wave -; the current instrument is copied to $FF30 +; the current instrument is copied to rWave_0--rWave_f .wave0 db $02,$46,$8A,$CE,$FF,$FE,$ED,$DC,$CB,$A9,$87,$65,$44,$33,$22,$11 diff --git a/constants.asm b/constants.asm index c8e5a78d..b1395ea8 100644 --- a/constants.asm +++ b/constants.asm @@ -1,32 +1,41 @@ -INCLUDE "macros.asm" INCLUDE "charmap.asm" +INCLUDE "macros.asm" + INCLUDE "hram.asm" INCLUDE "vram.asm" INCLUDE "constants/hardware_constants.asm" INCLUDE "constants/oam_constants.asm" INCLUDE "constants/misc_constants.asm" - +INCLUDE "constants/gfx_constants.asm" +INCLUDE "constants/input_constants.asm" +INCLUDE "constants/serial_constants.asm" +INCLUDE "constants/script_constants.asm" INCLUDE "constants/pokemon_constants.asm" INCLUDE "constants/pokedex_constants.asm" +INCLUDE "constants/pokemon_data_constants.asm" INCLUDE "constants/trainer_constants.asm" INCLUDE "constants/item_constants.asm" INCLUDE "constants/type_constants.asm" INCLUDE "constants/move_constants.asm" INCLUDE "constants/move_animation_constants.asm" INCLUDE "constants/move_effect_constants.asm" -INCLUDE "constants/status_constants.asm" +INCLUDE "constants/battle_constants.asm" +INCLUDE "constants/icon_constants.asm" INCLUDE "constants/sprite_constants.asm" +INCLUDE "constants/sprite_data_constants.asm" INCLUDE "constants/palette_constants.asm" -INCLUDE "constants/evolution_constants.asm" INCLUDE "constants/list_constants.asm" INCLUDE "constants/map_constants.asm" -INCLUDE "constants/connection_constants.asm" +INCLUDE "constants/map_data_constants.asm" +INCLUDE "constants/map_object_constants.asm" INCLUDE "constants/hide_show_constants.asm" INCLUDE "constants/credits_constants.asm" +INCLUDE "constants/audio_constants.asm" INCLUDE "constants/music_constants.asm" -INCLUDE "constants/tilesets.asm" +INCLUDE "constants/tileset_constants.asm" INCLUDE "constants/starter_mons.asm" INCLUDE "constants/event_constants.asm" INCLUDE "constants/text_constants.asm" +INCLUDE "constants/menu_constants.asm" diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm new file mode 100644 index 00000000..38719f92 --- /dev/null +++ b/constants/audio_constants.asm @@ -0,0 +1,59 @@ +; pitch + const_def + const C_ ; 0 + const C# ; 1 + const D_ ; 2 + const D# ; 3 + const E_ ; 4 + const F_ ; 5 + const F# ; 6 + const G_ ; 7 + const G# ; 8 + const A_ ; 9 + const A# ; A + const B_ ; B + +; channel + const_def + const Ch1 ; 0 + const Ch2 ; 1 + const Ch3 ; 2 + const Ch4 ; 3 + const Ch5 ; 4 + const Ch6 ; 5 + const Ch7 ; 6 + const Ch8 ; 7 + +; HW sound channel register base addresses +HW_CH1_BASE EQU (rNR10 % $100) +HW_CH2_BASE EQU ((rNR21 % $100) - 1) +HW_CH3_BASE EQU (rNR30 % $100) +HW_CH4_BASE EQU ((rNR41 % $100) - 1) + +; HW sound channel enable bit masks +HW_CH1_ENABLE_MASK EQU %00010001 +HW_CH2_ENABLE_MASK EQU %00100010 +HW_CH3_ENABLE_MASK EQU %01000100 +HW_CH4_ENABLE_MASK EQU %10001000 + +; HW sound channel disable bit masks +HW_CH1_DISABLE_MASK EQU (~HW_CH1_ENABLE_MASK & $ff) +HW_CH2_DISABLE_MASK EQU (~HW_CH2_ENABLE_MASK & $ff) +HW_CH3_DISABLE_MASK EQU (~HW_CH3_ENABLE_MASK & $ff) +HW_CH4_DISABLE_MASK EQU (~HW_CH4_ENABLE_MASK & $ff) + +REG_DUTY_SOUND_LEN EQU 1 +REG_VOLUME_ENVELOPE EQU 2 +REG_FREQUENCY_LO EQU 3 + +; wChannelFlags1 constants +BIT_PERFECT_PITCH EQU 0 ; controlled by toggle_perfect_pitch command +BIT_SOUND_CALL EQU 1 ; if in sound call +BIT_NOISE_OR_SFX EQU 2 ; if channel is the music noise channel or an SFX channel +BIT_VIBRATO_DIRECTION EQU 3 ; if the pitch is above or below normal (cycles) +BIT_PITCH_SLIDE_ON EQU 4 ; if pitch slide is active +BIT_PITCH_SLIDE_DECREASING EQU 5 ; if the pitch slide frequency is decreasing (instead of increasing) +BIT_ROTATE_DUTY_CYCLE EQU 6 ; if rotating duty cycle + +; wChannelFlags2 constant (only has one flag) +BIT_EXECUTE_MUSIC EQU 0 ; if in execute music diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm new file mode 100644 index 00000000..e45ad7f1 --- /dev/null +++ b/constants/battle_constants.asm @@ -0,0 +1,51 @@ +MAX_LEVEL EQU 100 + +NUM_MOVES EQU 4 +NUM_STATS EQU 5 +NUM_STAT_MODS EQU 8 +NUM_DVS EQU 2 + +; D733 flags +BIT_TEST_BATTLE EQU 0 + +; battle type constants +BATTLE_TYPE_NORMAL EQU 0 +BATTLE_TYPE_OLD_MAN EQU 1 +BATTLE_TYPE_SAFARI EQU 2 + +; fixed damage constants +SONICBOOM_DAMAGE EQU 20 +DRAGON_RAGE_DAMAGE EQU 40 + +; non-volatile statuses +SLP EQU %111 ; sleep counter +PSN EQU 3 +BRN EQU 4 +FRZ EQU 5 +PAR EQU 6 + +; volatile statuses 1 +STORING_ENERGY EQU 0 ; Bide +THRASHING_ABOUT EQU 1 ; e.g. Thrash +ATTACKING_MULTIPLE_TIMES EQU 2 ; e.g. Double Kick, Fury Attack +FLINCHED EQU 3 +CHARGING_UP EQU 4 ; e.g. Solar Beam, Fly +USING_TRAPPING_MOVE EQU 5 ; e.g. Wrap +INVULNERABLE EQU 6 ; charging up Fly/Dig +CONFUSED EQU 7 + +; volatile statuses 2 +USING_X_ACCURACY EQU 0 +PROTECTED_BY_MIST EQU 1 +GETTING_PUMPED EQU 2 ; Focus Energy +; EQU 3 ; unused +HAS_SUBSTITUTE_UP EQU 4 +NEEDS_TO_RECHARGE EQU 5 ; Hyper Beam +USING_RAGE EQU 6 +SEEDED EQU 7 + +; volatile statuses 3 +BADLY_POISONED EQU 0 +HAS_LIGHT_SCREEN_UP EQU 1 +HAS_REFLECT_UP EQU 2 +TRANSFORMED EQU 3 diff --git a/constants/connection_constants.asm b/constants/connection_constants.asm deleted file mode 100755 index 154c4163..00000000 --- a/constants/connection_constants.asm +++ /dev/null @@ -1,9 +0,0 @@ -; width of east/west connections -; height of north/south connections -MAP_BORDER EQU 3 - -; connection directions -EAST EQU 1 -WEST EQU 2 -SOUTH EQU 4 -NORTH EQU 8 diff --git a/constants/credits_constants.asm b/constants/credits_constants.asm index f5715072..c9d15e9b 100644 --- a/constants/credits_constants.asm +++ b/constants/credits_constants.asm @@ -1,5 +1,4 @@ -const_value = 0 - + const_def const CRED_VERSION ; $00 const CRED_TAJIRI ; $01 const CRED_TA_OOTA ; $02 @@ -64,4 +63,3 @@ const_value = 0 const CRED_FUKUI ; $3D const CRED_CLUB ; $3E const CRED_PAAD ; $3F - diff --git a/constants/event_constants.asm b/constants/event_constants.asm index 5b73012b..e8697daa 100755 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -1,2562 +1,2561 @@ -const_value = 0 - - const EVENT_FOLLOWED_OAK_INTO_LAB ; 000, (D747, bit 0) - const EVENT_001 ; 001, (D747, bit 1) - const EVENT_002 ; 002, (D747, bit 2) - const EVENT_HALL_OF_FAME_DEX_RATING ; 003, (D747, bit 3) - const EVENT_004 ; 004, (D747, bit 4) - const EVENT_005 ; 005, (D747, bit 5) - const EVENT_PALLET_AFTER_GETTING_POKEBALLS ; 006, (D747, bit 6) - const EVENT_007 ; 007, (D747, bit 7) - const EVENT_008 ; 008, (D748, bit 0) - const EVENT_009 ; 009, (D748, bit 1) - const EVENT_00A ; 00A, (D748, bit 2) - const EVENT_00B ; 00B, (D748, bit 3) - const EVENT_00C ; 00C, (D748, bit 4) - const EVENT_00D ; 00D, (D748, bit 5) - const EVENT_00E ; 00E, (D748, bit 6) - const EVENT_00F ; 00F, (D748, bit 7) - const EVENT_010 ; 010, (D749, bit 0) - const EVENT_011 ; 011, (D749, bit 1) - const EVENT_012 ; 012, (D749, bit 2) - const EVENT_013 ; 013, (D749, bit 3) - const EVENT_014 ; 014, (D749, bit 4) - const EVENT_015 ; 015, (D749, bit 5) - const EVENT_016 ; 016, (D749, bit 6) - const EVENT_017 ; 017, (D749, bit 7) - const EVENT_GOT_TOWN_MAP ; 018, (D74A, bit 0) - const EVENT_ENTERED_BLUES_HOUSE ; 019, (D74A, bit 1) - const EVENT_DAISY_WALKING ; 01A, (D74A, bit 2) - const EVENT_01B ; 01B, (D74A, bit 3) - const EVENT_01C ; 01C, (D74A, bit 4) - const EVENT_01D ; 01D, (D74A, bit 5) - const EVENT_01E ; 01E, (D74A, bit 6) - const EVENT_01F ; 01F, (D74A, bit 7) - const EVENT_FOLLOWED_OAK_INTO_LAB_2 ; 020, (D74B, bit 0) - const EVENT_OAK_ASKED_TO_CHOOSE_MON ; 021, (D74B, bit 1) - const EVENT_GOT_STARTER ; 022, (D74B, bit 2) - const EVENT_BATTLED_RIVAL_IN_OAKS_LAB ; 023, (D74B, bit 3) - const EVENT_GOT_POKEBALLS_FROM_OAK ; 024, (D74B, bit 4) - const EVENT_GOT_POKEDEX ; 025, (D74B, bit 5) - const EVENT_PALLET_AFTER_GETTING_POKEBALLS_2 ; 026, (D74B, bit 6) - const EVENT_OAK_APPEARED_IN_PALLET ; 027, (D74B, bit 7) - const EVENT_VIRIDIAN_GYM_OPEN ; 028, (D74C, bit 0) - const EVENT_GOT_TM42 ; 029, (D74C, bit 1) - const EVENT_02A ; 02A, (D74C, bit 2) - const EVENT_02B ; 02B, (D74C, bit 3) - const EVENT_02C ; 02C, (D74C, bit 4) - const EVENT_02D ; 02D, (D74C, bit 5) - const EVENT_02E ; 02E, (D74C, bit 6) - const EVENT_02F ; 02F, (D74C, bit 7) - const EVENT_030 ; 030, (D74D, bit 0) - const EVENT_031 ; 031, (D74D, bit 1) - const EVENT_032 ; 032, (D74D, bit 2) - const EVENT_033 ; 033, (D74D, bit 3) - const EVENT_034 ; 034, (D74D, bit 4) - const EVENT_035 ; 035, (D74D, bit 5) - const EVENT_036 ; 036, (D74D, bit 6) - const EVENT_037 ; 037, (D74D, bit 7) - const EVENT_OAK_GOT_PARCEL ; 038, (D74E, bit 0) - const EVENT_GOT_OAKS_PARCEL ; 039, (D74E, bit 1) - const EVENT_03A ; 03A, (D74E, bit 2) - const EVENT_03B ; 03B, (D74E, bit 3) - const EVENT_03C ; 03C, (D74E, bit 4) - const EVENT_03D ; 03D, (D74E, bit 5) - const EVENT_03E ; 03E, (D74E, bit 6) - const EVENT_03F ; 03F, (D74E, bit 7) - const EVENT_040 ; 040, (D74F, bit 0) - const EVENT_041 ; 041, (D74F, bit 1) - const EVENT_042 ; 042, (D74F, bit 2) - const EVENT_043 ; 043, (D74F, bit 3) - const EVENT_044 ; 044, (D74F, bit 4) - const EVENT_045 ; 045, (D74F, bit 5) - const EVENT_046 ; 046, (D74F, bit 6) - const EVENT_047 ; 047, (D74F, bit 7) - const EVENT_048 ; 048, (D750, bit 0) - const EVENT_049 ; 049, (D750, bit 1) - const EVENT_04A ; 04A, (D750, bit 2) - const EVENT_04B ; 04B, (D750, bit 3) - const EVENT_04C ; 04C, (D750, bit 4) - const EVENT_04D ; 04D, (D750, bit 5) - const EVENT_04E ; 04E, (D750, bit 6) - const EVENT_04F ; 04F, (D750, bit 7) - const EVENT_GOT_TM27 ; 050, (D751, bit 0) - const EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI ; 051, (D751, bit 1) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0 ; 052, (D751, bit 2) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1 ; 053, (D751, bit 3) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2 ; 054, (D751, bit 4) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3 ; 055, (D751, bit 5) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4 ; 056, (D751, bit 6) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5 ; 057, (D751, bit 7) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6 ; 058, (D752, bit 0) - const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7 ; 059, (D752, bit 1) - const EVENT_05A ; 05A, (D752, bit 2) - const EVENT_05B ; 05B, (D752, bit 3) - const EVENT_05C ; 05C, (D752, bit 4) - const EVENT_05D ; 05D, (D752, bit 5) - const EVENT_05E ; 05E, (D752, bit 6) - const EVENT_05F ; 05F, (D752, bit 7) - const EVENT_060 ; 060, (D753, bit 0) - const EVENT_061 ; 061, (D753, bit 1) - const EVENT_062 ; 062, (D753, bit 2) - const EVENT_063 ; 063, (D753, bit 3) - const EVENT_064 ; 064, (D753, bit 4) - const EVENT_065 ; 065, (D753, bit 5) - const EVENT_066 ; 066, (D753, bit 6) - const EVENT_067 ; 067, (D753, bit 7) - const EVENT_BOUGHT_MUSEUM_TICKET ; 068, (D754, bit 0) - const EVENT_GOT_OLD_AMBER ; 069, (D754, bit 1) - const EVENT_06A ; 06A, (D754, bit 2) - const EVENT_06B ; 06B, (D754, bit 3) - const EVENT_06C ; 06C, (D754, bit 4) - const EVENT_06D ; 06D, (D754, bit 5) - const EVENT_06E ; 06E, (D754, bit 6) - const EVENT_06F ; 06F, (D754, bit 7) - const EVENT_070 ; 070, (D755, bit 0) - const EVENT_071 ; 071, (D755, bit 1) - const EVENT_BEAT_PEWTER_GYM_TRAINER_0 ; 072, (D755, bit 2) - const EVENT_073 ; 073, (D755, bit 3) - const EVENT_074 ; 074, (D755, bit 4) - const EVENT_075 ; 075, (D755, bit 5) - const EVENT_GOT_TM34 ; 076, (D755, bit 6) - const EVENT_BEAT_BROCK ; 077, (D755, bit 7) - const EVENT_078 ; 078, (D756, bit 0) - const EVENT_079 ; 079, (D756, bit 1) - const EVENT_07A ; 07A, (D756, bit 2) - const EVENT_07B ; 07B, (D756, bit 3) - const EVENT_07C ; 07C, (D756, bit 4) - const EVENT_07D ; 07D, (D756, bit 5) - const EVENT_07E ; 07E, (D756, bit 6) - const EVENT_07F ; 07F, (D756, bit 7) - const EVENT_080 ; 080, (D757, bit 0) - const EVENT_081 ; 081, (D757, bit 1) - const EVENT_082 ; 082, (D757, bit 2) - const EVENT_083 ; 083, (D757, bit 3) - const EVENT_084 ; 084, (D757, bit 4) - const EVENT_085 ; 085, (D757, bit 5) - const EVENT_086 ; 086, (D757, bit 6) - const EVENT_087 ; 087, (D757, bit 7) - const EVENT_088 ; 088, (D758, bit 0) - const EVENT_089 ; 089, (D758, bit 1) - const EVENT_08A ; 08A, (D758, bit 2) - const EVENT_08B ; 08B, (D758, bit 3) - const EVENT_08C ; 08C, (D758, bit 4) - const EVENT_08D ; 08D, (D758, bit 5) - const EVENT_08E ; 08E, (D758, bit 6) - const EVENT_08F ; 08F, (D758, bit 7) - const EVENT_090 ; 090, (D759, bit 0) - const EVENT_091 ; 091, (D759, bit 1) - const EVENT_092 ; 092, (D759, bit 2) - const EVENT_093 ; 093, (D759, bit 3) - const EVENT_094 ; 094, (D759, bit 4) - const EVENT_095 ; 095, (D759, bit 5) - const EVENT_096 ; 096, (D759, bit 6) - const EVENT_097 ; 097, (D759, bit 7) - const EVENT_BEAT_CERULEAN_RIVAL ; 098, (D75A, bit 0) - const EVENT_099 ; 099, (D75A, bit 1) - const EVENT_09A ; 09A, (D75A, bit 2) - const EVENT_09B ; 09B, (D75A, bit 3) - const EVENT_09C ; 09C, (D75A, bit 4) - const EVENT_09D ; 09D, (D75A, bit 5) - const EVENT_09E ; 09E, (D75A, bit 6) - const EVENT_09F ; 09F, (D75A, bit 7) - const EVENT_0A0 ; 0A0, (D75B, bit 0) - const EVENT_0A1 ; 0A1, (D75B, bit 1) - const EVENT_0A2 ; 0A2, (D75B, bit 2) - const EVENT_0A3 ; 0A3, (D75B, bit 3) - const EVENT_0A4 ; 0A4, (D75B, bit 4) - const EVENT_0A5 ; 0A5, (D75B, bit 5) - const EVENT_0A6 ; 0A6, (D75B, bit 6) - const EVENT_BEAT_CERULEAN_ROCKET_THIEF ; 0A7, (D75B, bit 7) - const EVENT_0A8 ; 0A8, (D75C, bit 0) - const EVENT_0A9 ; 0A9, (D75C, bit 1) - const EVENT_0AA ; 0AA, (D75C, bit 2) - const EVENT_0AB ; 0AB, (D75C, bit 3) - const EVENT_0AC ; 0AC, (D75C, bit 4) - const EVENT_0AD ; 0AD, (D75C, bit 5) - const EVENT_0AE ; 0AE, (D75C, bit 6) - const EVENT_0AF ; 0AF, (D75C, bit 7) - const EVENT_0B0 ; 0B0, (D75D, bit 0) - const EVENT_0B1 ; 0B1, (D75D, bit 1) - const EVENT_0B2 ; 0B2, (D75D, bit 2) - const EVENT_0B3 ; 0B3, (D75D, bit 3) - const EVENT_0B4 ; 0B4, (D75D, bit 4) - const EVENT_0B5 ; 0B5, (D75D, bit 5) - const EVENT_0B6 ; 0B6, (D75D, bit 6) - const EVENT_0B7 ; 0B7, (D75D, bit 7) - const EVENT_0B8 ; 0B8, (D75E, bit 0) - const EVENT_0B9 ; 0B9, (D75E, bit 1) - const EVENT_BEAT_CERULEAN_GYM_TRAINER_0 ; 0BA, (D75E, bit 2) - const EVENT_BEAT_CERULEAN_GYM_TRAINER_1 ; 0BB, (D75E, bit 3) - const EVENT_0BC ; 0BC, (D75E, bit 4) - const EVENT_0BD ; 0BD, (D75E, bit 5) - const EVENT_GOT_TM11 ; 0BE, (D75E, bit 6) - const EVENT_BEAT_MISTY ; 0BF, (D75E, bit 7) - const EVENT_GOT_BICYCLE ; 0C0, (D75F, bit 0) - const EVENT_0C1 ; 0C1, (D75F, bit 1) - const EVENT_0C2 ; 0C2, (D75F, bit 2) - const EVENT_0C3 ; 0C3, (D75F, bit 3) - const EVENT_0C4 ; 0C4, (D75F, bit 4) - const EVENT_0C5 ; 0C5, (D75F, bit 5) - const EVENT_0C6 ; 0C6, (D75F, bit 6) - const EVENT_0C7 ; 0C7, (D75F, bit 7) - const EVENT_0C8 ; 0C8, (D760, bit 0) - const EVENT_0C9 ; 0C9, (D760, bit 1) - const EVENT_0CA ; 0CA, (D760, bit 2) - const EVENT_0CB ; 0CB, (D760, bit 3) - const EVENT_0CC ; 0CC, (D760, bit 4) - const EVENT_0CD ; 0CD, (D760, bit 5) - const EVENT_0CE ; 0CE, (D760, bit 6) - const EVENT_0CF ; 0CF, (D760, bit 7) - const EVENT_0D0 ; 0D0, (D761, bit 0) - const EVENT_0D1 ; 0D1, (D761, bit 1) - const EVENT_0D2 ; 0D2, (D761, bit 2) - const EVENT_0D3 ; 0D3, (D761, bit 3) - const EVENT_0D4 ; 0D4, (D761, bit 4) - const EVENT_0D5 ; 0D5, (D761, bit 5) - const EVENT_0D6 ; 0D6, (D761, bit 6) - const EVENT_0D7 ; 0D7, (D761, bit 7) - const EVENT_0D8 ; 0D8, (D762, bit 0) - const EVENT_0D9 ; 0D9, (D762, bit 1) - const EVENT_0DA ; 0DA, (D762, bit 2) - const EVENT_0DB ; 0DB, (D762, bit 3) - const EVENT_0DC ; 0DC, (D762, bit 4) - const EVENT_0DD ; 0DD, (D762, bit 5) - const EVENT_0DE ; 0DE, (D762, bit 6) - const EVENT_0DF ; 0DF, (D762, bit 7) - const EVENT_0E0 ; 0E0, (D763, bit 0) - const EVENT_0E1 ; 0E1, (D763, bit 1) - const EVENT_0E2 ; 0E2, (D763, bit 2) - const EVENT_0E3 ; 0E3, (D763, bit 3) - const EVENT_0E4 ; 0E4, (D763, bit 4) - const EVENT_0E5 ; 0E5, (D763, bit 5) - const EVENT_0E6 ; 0E6, (D763, bit 6) - const EVENT_0E7 ; 0E7, (D763, bit 7) - const EVENT_0E8 ; 0E8, (D764, bit 0) - const EVENT_0E9 ; 0E9, (D764, bit 1) - const EVENT_0EA ; 0EA, (D764, bit 2) - const EVENT_0EB ; 0EB, (D764, bit 3) - const EVENT_0EC ; 0EC, (D764, bit 4) - const EVENT_0ED ; 0ED, (D764, bit 5) - const EVENT_POKEMON_TOWER_RIVAL_ON_LEFT ; 0EE, (D764, bit 6) - const EVENT_BEAT_POKEMON_TOWER_RIVAL ; 0EF, (D764, bit 7) - const EVENT_0F0 ; 0F0, (D765, bit 0) - const EVENT_BEAT_POKEMONTOWER_3_TRAINER_0 ; 0F1, (D765, bit 1) - const EVENT_BEAT_POKEMONTOWER_3_TRAINER_1 ; 0F2, (D765, bit 2) - const EVENT_BEAT_POKEMONTOWER_3_TRAINER_2 ; 0F3, (D765, bit 3) - const EVENT_0F4 ; 0F4, (D765, bit 4) - const EVENT_0F5 ; 0F5, (D765, bit 5) - const EVENT_0F6 ; 0F6, (D765, bit 6) - const EVENT_0F7 ; 0F7, (D765, bit 7) - const EVENT_0F8 ; 0F8, (D766, bit 0) - const EVENT_BEAT_POKEMONTOWER_4_TRAINER_0 ; 0F9, (D766, bit 1) - const EVENT_BEAT_POKEMONTOWER_4_TRAINER_1 ; 0FA, (D766, bit 2) - const EVENT_BEAT_POKEMONTOWER_4_TRAINER_2 ; 0FB, (D766, bit 3) - const EVENT_0FC ; 0FC, (D766, bit 4) - const EVENT_0FD ; 0FD, (D766, bit 5) - const EVENT_0FE ; 0FE, (D766, bit 6) - const EVENT_0FF ; 0FF, (D766, bit 7) - const EVENT_100 ; 100, (D767, bit 0) - const EVENT_101 ; 101, (D767, bit 1) - const EVENT_BEAT_POKEMONTOWER_5_TRAINER_0 ; 102, (D767, bit 2) - const EVENT_BEAT_POKEMONTOWER_5_TRAINER_1 ; 103, (D767, bit 3) - const EVENT_BEAT_POKEMONTOWER_5_TRAINER_2 ; 104, (D767, bit 4) - const EVENT_BEAT_POKEMONTOWER_5_TRAINER_3 ; 105, (D767, bit 5) - const EVENT_106 ; 106, (D767, bit 6) - const EVENT_IN_PURIFIED_ZONE ; 107, (D767, bit 7) - const EVENT_108 ; 108, (D768, bit 0) - const EVENT_BEAT_POKEMONTOWER_6_TRAINER_0 ; 109, (D768, bit 1) - const EVENT_BEAT_POKEMONTOWER_6_TRAINER_1 ; 10A, (D768, bit 2) - const EVENT_BEAT_POKEMONTOWER_6_TRAINER_2 ; 10B, (D768, bit 3) - const EVENT_10C ; 10C, (D768, bit 4) - const EVENT_10D ; 10D, (D768, bit 5) - const EVENT_10E ; 10E, (D768, bit 6) - const EVENT_BEAT_GHOST_MAROWAK ; 10F, (D768, bit 7) - const EVENT_110 ; 110, (D769, bit 0) - const EVENT_BEAT_POKEMONTOWER_7_TRAINER_0 ; 111, (D769, bit 1) - const EVENT_BEAT_POKEMONTOWER_7_TRAINER_1 ; 112, (D769, bit 2) - const EVENT_BEAT_POKEMONTOWER_7_TRAINER_2 ; 113, (D769, bit 3) - const EVENT_114 ; 114, (D769, bit 4) - const EVENT_115 ; 115, (D769, bit 5) - const EVENT_116 ; 116, (D769, bit 6) - const EVENT_RESCUED_MR_FUJI_2 ; 117, (D769, bit 7) - const EVENT_118 ; 118, (D76A, bit 0) - const EVENT_119 ; 119, (D76A, bit 1) - const EVENT_11A ; 11A, (D76A, bit 2) - const EVENT_11B ; 11B, (D76A, bit 3) - const EVENT_11C ; 11C, (D76A, bit 4) - const EVENT_11D ; 11D, (D76A, bit 5) - const EVENT_11E ; 11E, (D76A, bit 6) - const EVENT_11F ; 11F, (D76A, bit 7) - const EVENT_120 ; 120, (D76B, bit 0) - const EVENT_121 ; 121, (D76B, bit 1) - const EVENT_122 ; 122, (D76B, bit 2) - const EVENT_123 ; 123, (D76B, bit 3) - const EVENT_124 ; 124, (D76B, bit 4) - const EVENT_125 ; 125, (D76B, bit 5) - const EVENT_126 ; 126, (D76B, bit 6) - const EVENT_127 ; 127, (D76B, bit 7) - const EVENT_GOT_POKE_FLUTE ; 128, (D76C, bit 0) - const EVENT_129 ; 129, (D76C, bit 1) - const EVENT_12A ; 12A, (D76C, bit 2) - const EVENT_12B ; 12B, (D76C, bit 3) - const EVENT_12C ; 12C, (D76C, bit 4) - const EVENT_12D ; 12D, (D76C, bit 5) - const EVENT_12E ; 12E, (D76C, bit 6) - const EVENT_12F ; 12F, (D76C, bit 7) - const EVENT_130 ; 130, (D76D, bit 0) - const EVENT_131 ; 131, (D76D, bit 1) - const EVENT_132 ; 132, (D76D, bit 2) - const EVENT_133 ; 133, (D76D, bit 3) - const EVENT_134 ; 134, (D76D, bit 4) - const EVENT_135 ; 135, (D76D, bit 5) - const EVENT_136 ; 136, (D76D, bit 6) - const EVENT_137 ; 137, (D76D, bit 7) - const EVENT_138 ; 138, (D76E, bit 0) - const EVENT_139 ; 139, (D76E, bit 1) - const EVENT_13A ; 13A, (D76E, bit 2) - const EVENT_13B ; 13B, (D76E, bit 3) - const EVENT_13C ; 13C, (D76E, bit 4) - const EVENT_13D ; 13D, (D76E, bit 5) - const EVENT_13E ; 13E, (D76E, bit 6) - const EVENT_13F ; 13F, (D76E, bit 7) - const EVENT_140 ; 140, (D76F, bit 0) - const EVENT_141 ; 141, (D76F, bit 1) - const EVENT_142 ; 142, (D76F, bit 2) - const EVENT_143 ; 143, (D76F, bit 3) - const EVENT_144 ; 144, (D76F, bit 4) - const EVENT_145 ; 145, (D76F, bit 5) - const EVENT_146 ; 146, (D76F, bit 6) - const EVENT_147 ; 147, (D76F, bit 7) - const EVENT_148 ; 148, (D770, bit 0) - const EVENT_149 ; 149, (D770, bit 1) - const EVENT_14A ; 14A, (D770, bit 2) - const EVENT_14B ; 14B, (D770, bit 3) - const EVENT_14C ; 14C, (D770, bit 4) - const EVENT_14D ; 14D, (D770, bit 5) - const EVENT_14E ; 14E, (D770, bit 6) - const EVENT_14F ; 14F, (D770, bit 7) - const EVENT_150 ; 150, (D771, bit 0) - const EVENT_GOT_BIKE_VOUCHER ; 151, (D771, bit 1) - const EVENT_152 ; 152, (D771, bit 2) - const EVENT_153 ; 153, (D771, bit 3) - const EVENT_154 ; 154, (D771, bit 4) - const EVENT_155 ; 155, (D771, bit 5) - const EVENT_SEEL_FAN_BOAST ; 156, (D771, bit 6) - const EVENT_PIKACHU_FAN_BOAST ; 157, (D771, bit 7) - const EVENT_158 ; 158, (D772, bit 0) - const EVENT_159 ; 159, (D772, bit 1) - const EVENT_15A ; 15A, (D772, bit 2) - const EVENT_15B ; 15B, (D772, bit 3) - const EVENT_15C ; 15C, (D772, bit 4) - const EVENT_15D ; 15D, (D772, bit 5) - const EVENT_15E ; 15E, (D772, bit 6) - const EVENT_15F ; 15F, (D772, bit 7) - const EVENT_2ND_LOCK_OPENED ; 160, (D773, bit 0) - const EVENT_1ST_LOCK_OPENED ; 161, (D773, bit 1) - const EVENT_BEAT_VERMILION_GYM_TRAINER_0 ; 162, (D773, bit 2) - const EVENT_BEAT_VERMILION_GYM_TRAINER_1 ; 163, (D773, bit 3) - const EVENT_BEAT_VERMILION_GYM_TRAINER_2 ; 164, (D773, bit 4) - const EVENT_165 ; 165, (D773, bit 5) - const EVENT_GOT_TM24 ; 166, (D773, bit 6) - const EVENT_BEAT_LT_SURGE ; 167, (D773, bit 7) - const EVENT_168 ; 168, (D774, bit 0) - const EVENT_169 ; 169, (D774, bit 1) - const EVENT_16A ; 16A, (D774, bit 2) - const EVENT_16B ; 16B, (D774, bit 3) - const EVENT_16C ; 16C, (D774, bit 4) - const EVENT_16D ; 16D, (D774, bit 5) - const EVENT_16E ; 16E, (D774, bit 6) - const EVENT_16F ; 16F, (D774, bit 7) - const EVENT_170 ; 170, (D775, bit 0) - const EVENT_171 ; 171, (D775, bit 1) - const EVENT_172 ; 172, (D775, bit 2) - const EVENT_173 ; 173, (D775, bit 3) - const EVENT_174 ; 174, (D775, bit 4) - const EVENT_175 ; 175, (D775, bit 5) - const EVENT_176 ; 176, (D775, bit 6) - const EVENT_177 ; 177, (D775, bit 7) - const EVENT_178 ; 178, (D776, bit 0) - const EVENT_179 ; 179, (D776, bit 1) - const EVENT_17A ; 17A, (D776, bit 2) - const EVENT_17B ; 17B, (D776, bit 3) - const EVENT_17C ; 17C, (D776, bit 4) - const EVENT_17D ; 17D, (D776, bit 5) - const EVENT_17E ; 17E, (D776, bit 6) - const EVENT_17F ; 17F, (D776, bit 7) - const EVENT_GOT_TM41 ; 180, (D777, bit 0) - const EVENT_181 ; 181, (D777, bit 1) - const EVENT_182 ; 182, (D777, bit 2) - const EVENT_183 ; 183, (D777, bit 3) - const EVENT_184 ; 184, (D777, bit 4) - const EVENT_185 ; 185, (D777, bit 5) - const EVENT_186 ; 186, (D777, bit 6) - const EVENT_187 ; 187, (D777, bit 7) - const EVENT_188 ; 188, (D778, bit 0) - const EVENT_189 ; 189, (D778, bit 1) - const EVENT_18A ; 18A, (D778, bit 2) - const EVENT_18B ; 18B, (D778, bit 3) - const EVENT_GOT_TM13 ; 18C, (D778, bit 4) - const EVENT_GOT_TM48 ; 18D, (D778, bit 5) - const EVENT_GOT_TM49 ; 18E, (D778, bit 6) - const EVENT_GOT_TM18 ; 18F, (D778, bit 7) - const EVENT_190 ; 190, (D779, bit 0) - const EVENT_191 ; 191, (D779, bit 1) - const EVENT_192 ; 192, (D779, bit 2) - const EVENT_193 ; 193, (D779, bit 3) - const EVENT_194 ; 194, (D779, bit 4) - const EVENT_195 ; 195, (D779, bit 5) - const EVENT_196 ; 196, (D779, bit 6) - const EVENT_197 ; 197, (D779, bit 7) - const EVENT_198 ; 198, (D77A, bit 0) - const EVENT_199 ; 199, (D77A, bit 1) - const EVENT_19A ; 19A, (D77A, bit 2) - const EVENT_19B ; 19B, (D77A, bit 3) - const EVENT_19C ; 19C, (D77A, bit 4) - const EVENT_19D ; 19D, (D77A, bit 5) - const EVENT_19E ; 19E, (D77A, bit 6) - const EVENT_19F ; 19F, (D77A, bit 7) - const EVENT_1A0 ; 1A0, (D77B, bit 0) - const EVENT_1A1 ; 1A1, (D77B, bit 1) - const EVENT_1A2 ; 1A2, (D77B, bit 2) - const EVENT_1A3 ; 1A3, (D77B, bit 3) - const EVENT_1A4 ; 1A4, (D77B, bit 4) - const EVENT_1A5 ; 1A5, (D77B, bit 5) - const EVENT_1A6 ; 1A6, (D77B, bit 6) - const EVENT_1A7 ; 1A7, (D77B, bit 7) - const EVENT_GOT_TM21 ; 1A8, (D77C, bit 0) - const EVENT_BEAT_ERIKA ; 1A9, (D77C, bit 1) - const EVENT_BEAT_CELADON_GYM_TRAINER_0 ; 1AA, (D77C, bit 2) - const EVENT_BEAT_CELADON_GYM_TRAINER_1 ; 1AB, (D77C, bit 3) - const EVENT_BEAT_CELADON_GYM_TRAINER_2 ; 1AC, (D77C, bit 4) - const EVENT_BEAT_CELADON_GYM_TRAINER_3 ; 1AD, (D77C, bit 5) - const EVENT_BEAT_CELADON_GYM_TRAINER_4 ; 1AE, (D77C, bit 6) - const EVENT_BEAT_CELADON_GYM_TRAINER_5 ; 1AF, (D77C, bit 7) - const EVENT_BEAT_CELADON_GYM_TRAINER_6 ; 1B0, (D77D, bit 0) - const EVENT_1B1 ; 1B1, (D77D, bit 1) - const EVENT_1B2 ; 1B2, (D77D, bit 2) - const EVENT_1B3 ; 1B3, (D77D, bit 3) - const EVENT_1B4 ; 1B4, (D77D, bit 4) - const EVENT_1B5 ; 1B5, (D77D, bit 5) - const EVENT_1B6 ; 1B6, (D77D, bit 6) - const EVENT_1B7 ; 1B7, (D77D, bit 7) - const EVENT_1B8 ; 1B8, (D77E, bit 0) - const EVENT_FOUND_ROCKET_HIDEOUT ; 1B9, (D77E, bit 1) - const EVENT_GOT_10_COINS ; 1BA, (D77E, bit 2) - const EVENT_GOT_20_COINS ; 1BB, (D77E, bit 3) - const EVENT_GOT_20_COINS_2 ; 1BC, (D77E, bit 4) - const EVENT_1BD ; 1BD, (D77E, bit 5) - const EVENT_1BE ; 1BE, (D77E, bit 6) - const EVENT_1BF ; 1BF, (D77E, bit 7) - const EVENT_1C0 ; 1C0, (D77F, bit 0) - const EVENT_1C1 ; 1C1, (D77F, bit 1) - const EVENT_1C2 ; 1C2, (D77F, bit 2) - const EVENT_1C3 ; 1C3, (D77F, bit 3) - const EVENT_1C4 ; 1C4, (D77F, bit 4) - const EVENT_1C5 ; 1C5, (D77F, bit 5) - const EVENT_1C6 ; 1C6, (D77F, bit 6) - const EVENT_1C7 ; 1C7, (D77F, bit 7) - const EVENT_1C8 ; 1C8, (D780, bit 0) - const EVENT_1C9 ; 1C9, (D780, bit 1) - const EVENT_1CA ; 1CA, (D780, bit 2) - const EVENT_1CB ; 1CB, (D780, bit 3) - const EVENT_1CC ; 1CC, (D780, bit 4) - const EVENT_1CD ; 1CD, (D780, bit 5) - const EVENT_1CE ; 1CE, (D780, bit 6) - const EVENT_1CF ; 1CF, (D780, bit 7) - const EVENT_1D0 ; 1D0, (D781, bit 0) - const EVENT_1D1 ; 1D1, (D781, bit 1) - const EVENT_1D2 ; 1D2, (D781, bit 2) - const EVENT_1D3 ; 1D3, (D781, bit 3) - const EVENT_1D4 ; 1D4, (D781, bit 4) - const EVENT_1D5 ; 1D5, (D781, bit 5) - const EVENT_1D6 ; 1D6, (D781, bit 6) - const EVENT_1D7 ; 1D7, (D781, bit 7) - const EVENT_1D8 ; 1D8, (D782, bit 0) - const EVENT_1D9 ; 1D9, (D782, bit 1) - const EVENT_1DA ; 1DA, (D782, bit 2) - const EVENT_1DB ; 1DB, (D782, bit 3) - const EVENT_1DC ; 1DC, (D782, bit 4) - const EVENT_1DD ; 1DD, (D782, bit 5) - const EVENT_1DE ; 1DE, (D782, bit 6) - const EVENT_1DF ; 1DF, (D782, bit 7) - const EVENT_GOT_COIN_CASE ; 1E0, (D783, bit 0) - const EVENT_1E1 ; 1E1, (D783, bit 1) - const EVENT_1E2 ; 1E2, (D783, bit 2) - const EVENT_1E3 ; 1E3, (D783, bit 3) - const EVENT_1E4 ; 1E4, (D783, bit 4) - const EVENT_1E5 ; 1E5, (D783, bit 5) - const EVENT_1E6 ; 1E6, (D783, bit 6) - const EVENT_1E7 ; 1E7, (D783, bit 7) - const EVENT_1E8 ; 1E8, (D784, bit 0) - const EVENT_1E9 ; 1E9, (D784, bit 1) - const EVENT_1EA ; 1EA, (D784, bit 2) - const EVENT_1EB ; 1EB, (D784, bit 3) - const EVENT_1EC ; 1EC, (D784, bit 4) - const EVENT_1ED ; 1ED, (D784, bit 5) - const EVENT_1EE ; 1EE, (D784, bit 6) - const EVENT_1EF ; 1EF, (D784, bit 7) - const EVENT_1F0 ; 1F0, (D785, bit 0) - const EVENT_1F1 ; 1F1, (D785, bit 1) - const EVENT_1F2 ; 1F2, (D785, bit 2) - const EVENT_1F3 ; 1F3, (D785, bit 3) - const EVENT_1F4 ; 1F4, (D785, bit 4) - const EVENT_1F5 ; 1F5, (D785, bit 5) - const EVENT_1F6 ; 1F6, (D785, bit 6) - const EVENT_1F7 ; 1F7, (D785, bit 7) - const EVENT_1F8 ; 1F8, (D786, bit 0) - const EVENT_1F9 ; 1F9, (D786, bit 1) - const EVENT_1FA ; 1FA, (D786, bit 2) - const EVENT_1FB ; 1FB, (D786, bit 3) - const EVENT_1FC ; 1FC, (D786, bit 4) - const EVENT_1FD ; 1FD, (D786, bit 5) - const EVENT_1FE ; 1FE, (D786, bit 6) - const EVENT_1FF ; 1FF, (D786, bit 7) - const EVENT_200 ; 200, (D787, bit 0) - const EVENT_201 ; 201, (D787, bit 1) - const EVENT_202 ; 202, (D787, bit 2) - const EVENT_203 ; 203, (D787, bit 3) - const EVENT_204 ; 204, (D787, bit 4) - const EVENT_205 ; 205, (D787, bit 5) - const EVENT_206 ; 206, (D787, bit 6) - const EVENT_207 ; 207, (D787, bit 7) - const EVENT_208 ; 208, (D788, bit 0) - const EVENT_209 ; 209, (D788, bit 1) - const EVENT_20A ; 20A, (D788, bit 2) - const EVENT_20B ; 20B, (D788, bit 3) - const EVENT_20C ; 20C, (D788, bit 4) - const EVENT_20D ; 20D, (D788, bit 5) - const EVENT_20E ; 20E, (D788, bit 6) - const EVENT_20F ; 20F, (D788, bit 7) - const EVENT_210 ; 210, (D789, bit 0) - const EVENT_211 ; 211, (D789, bit 1) - const EVENT_212 ; 212, (D789, bit 2) - const EVENT_213 ; 213, (D789, bit 3) - const EVENT_214 ; 214, (D789, bit 4) - const EVENT_215 ; 215, (D789, bit 5) - const EVENT_216 ; 216, (D789, bit 6) - const EVENT_217 ; 217, (D789, bit 7) - const EVENT_218 ; 218, (D78A, bit 0) - const EVENT_219 ; 219, (D78A, bit 1) - const EVENT_21A ; 21A, (D78A, bit 2) - const EVENT_21B ; 21B, (D78A, bit 3) - const EVENT_21C ; 21C, (D78A, bit 4) - const EVENT_21D ; 21D, (D78A, bit 5) - const EVENT_21E ; 21E, (D78A, bit 6) - const EVENT_21F ; 21F, (D78A, bit 7) - const EVENT_220 ; 220, (D78B, bit 0) - const EVENT_221 ; 221, (D78B, bit 1) - const EVENT_222 ; 222, (D78B, bit 2) - const EVENT_223 ; 223, (D78B, bit 3) - const EVENT_224 ; 224, (D78B, bit 4) - const EVENT_225 ; 225, (D78B, bit 5) - const EVENT_226 ; 226, (D78B, bit 6) - const EVENT_227 ; 227, (D78B, bit 7) - const EVENT_228 ; 228, (D78C, bit 0) - const EVENT_229 ; 229, (D78C, bit 1) - const EVENT_22A ; 22A, (D78C, bit 2) - const EVENT_22B ; 22B, (D78C, bit 3) - const EVENT_22C ; 22C, (D78C, bit 4) - const EVENT_22D ; 22D, (D78C, bit 5) - const EVENT_22E ; 22E, (D78C, bit 6) - const EVENT_22F ; 22F, (D78C, bit 7) - const EVENT_230 ; 230, (D78D, bit 0) - const EVENT_231 ; 231, (D78D, bit 1) - const EVENT_232 ; 232, (D78D, bit 2) - const EVENT_233 ; 233, (D78D, bit 3) - const EVENT_234 ; 234, (D78D, bit 4) - const EVENT_235 ; 235, (D78D, bit 5) - const EVENT_236 ; 236, (D78D, bit 6) - const EVENT_237 ; 237, (D78D, bit 7) - const EVENT_GOT_HM04 ; 238, (D78E, bit 0) - const EVENT_GAVE_GOLD_TEETH ; 239, (D78E, bit 1) - const EVENT_23A ; 23A, (D78E, bit 2) - const EVENT_23B ; 23B, (D78E, bit 3) - const EVENT_23C ; 23C, (D78E, bit 4) - const EVENT_23D ; 23D, (D78E, bit 5) - const EVENT_23E ; 23E, (D78E, bit 6) - const EVENT_23F ; 23F, (D78E, bit 7) - const EVENT_240 ; 240, (D78F, bit 0) - const EVENT_241 ; 241, (D78F, bit 1) - const EVENT_242 ; 242, (D78F, bit 2) - const EVENT_243 ; 243, (D78F, bit 3) - const EVENT_244 ; 244, (D78F, bit 4) - const EVENT_245 ; 245, (D78F, bit 5) - const EVENT_246 ; 246, (D78F, bit 6) - const EVENT_247 ; 247, (D78F, bit 7) - const EVENT_248 ; 248, (D790, bit 0) - const EVENT_249 ; 249, (D790, bit 1) - const EVENT_24A ; 24A, (D790, bit 2) - const EVENT_24B ; 24B, (D790, bit 3) - const EVENT_24C ; 24C, (D790, bit 4) - const EVENT_24D ; 24D, (D790, bit 5) - const EVENT_SAFARI_GAME_OVER ; 24E, (D790, bit 6) - const EVENT_IN_SAFARI_ZONE ; 24F, (D790, bit 7) - const EVENT_250 ; 250, (D791, bit 0) - const EVENT_251 ; 251, (D791, bit 1) - const EVENT_252 ; 252, (D791, bit 2) - const EVENT_253 ; 253, (D791, bit 3) - const EVENT_254 ; 254, (D791, bit 4) - const EVENT_255 ; 255, (D791, bit 5) - const EVENT_256 ; 256, (D791, bit 6) - const EVENT_257 ; 257, (D791, bit 7) - const EVENT_GOT_TM06 ; 258, (D792, bit 0) - const EVENT_BEAT_KOGA ; 259, (D792, bit 1) - const EVENT_BEAT_FUCHSIA_GYM_TRAINER_0 ; 25A, (D792, bit 2) - const EVENT_BEAT_FUCHSIA_GYM_TRAINER_1 ; 25B, (D792, bit 3) - const EVENT_BEAT_FUCHSIA_GYM_TRAINER_2 ; 25C, (D792, bit 4) - const EVENT_BEAT_FUCHSIA_GYM_TRAINER_3 ; 25D, (D792, bit 5) - const EVENT_BEAT_FUCHSIA_GYM_TRAINER_4 ; 25E, (D792, bit 6) - const EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 ; 25F, (D792, bit 7) - const EVENT_260 ; 260, (D793, bit 0) - const EVENT_261 ; 261, (D793, bit 1) - const EVENT_262 ; 262, (D793, bit 2) - const EVENT_263 ; 263, (D793, bit 3) - const EVENT_264 ; 264, (D793, bit 4) - const EVENT_265 ; 265, (D793, bit 5) - const EVENT_266 ; 266, (D793, bit 6) - const EVENT_267 ; 267, (D793, bit 7) - const EVENT_268 ; 268, (D794, bit 0) - const EVENT_269 ; 269, (D794, bit 1) - const EVENT_26A ; 26A, (D794, bit 2) - const EVENT_26B ; 26B, (D794, bit 3) - const EVENT_26C ; 26C, (D794, bit 4) - const EVENT_26D ; 26D, (D794, bit 5) - const EVENT_26E ; 26E, (D794, bit 6) - const EVENT_26F ; 26F, (D794, bit 7) - const EVENT_270 ; 270, (D795, bit 0) - const EVENT_271 ; 271, (D795, bit 1) - const EVENT_272 ; 272, (D795, bit 2) - const EVENT_273 ; 273, (D795, bit 3) - const EVENT_274 ; 274, (D795, bit 4) - const EVENT_275 ; 275, (D795, bit 5) - const EVENT_276 ; 276, (D795, bit 6) - const EVENT_277 ; 277, (D795, bit 7) - const EVENT_MANSION_SWITCH_ON ; 278, (D796, bit 0) - const EVENT_279 ; 279, (D796, bit 1) - const EVENT_27A ; 27A, (D796, bit 2) - const EVENT_27B ; 27B, (D796, bit 3) - const EVENT_27C ; 27C, (D796, bit 4) - const EVENT_27D ; 27D, (D796, bit 5) - const EVENT_27E ; 27E, (D796, bit 6) - const EVENT_27F ; 27F, (D796, bit 7) - const EVENT_280 ; 280, (D797, bit 0) - const EVENT_281 ; 281, (D797, bit 1) - const EVENT_282 ; 282, (D797, bit 2) - const EVENT_283 ; 283, (D797, bit 3) - const EVENT_284 ; 284, (D797, bit 4) - const EVENT_285 ; 285, (D797, bit 5) - const EVENT_286 ; 286, (D797, bit 6) - const EVENT_287 ; 287, (D797, bit 7) - const EVENT_288 ; 288, (D798, bit 0) - const EVENT_BEAT_MANSION_1_TRAINER_0 ; 289, (D798, bit 1) - const EVENT_28A ; 28A, (D798, bit 2) - const EVENT_28B ; 28B, (D798, bit 3) - const EVENT_28C ; 28C, (D798, bit 4) - const EVENT_28D ; 28D, (D798, bit 5) - const EVENT_28E ; 28E, (D798, bit 6) - const EVENT_28F ; 28F, (D798, bit 7) - const EVENT_290 ; 290, (D799, bit 0) - const EVENT_291 ; 291, (D799, bit 1) - const EVENT_292 ; 292, (D799, bit 2) - const EVENT_293 ; 293, (D799, bit 3) - const EVENT_294 ; 294, (D799, bit 4) - const EVENT_295 ; 295, (D799, bit 5) - const EVENT_296 ; 296, (D799, bit 6) - const EVENT_297 ; 297, (D799, bit 7) - const EVENT_GOT_TM38 ; 298, (D79A, bit 0) - const EVENT_BEAT_BLAINE ; 299, (D79A, bit 1) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_0 ; 29A, (D79A, bit 2) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_1 ; 29B, (D79A, bit 3) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_2 ; 29C, (D79A, bit 4) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_3 ; 29D, (D79A, bit 5) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_4 ; 29E, (D79A, bit 6) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_5 ; 29F, (D79A, bit 7) - const EVENT_BEAT_CINNABAR_GYM_TRAINER_6 ; 2A0, (D79B, bit 0) - const EVENT_2A1 ; 2A1, (D79B, bit 1) - const EVENT_2A2 ; 2A2, (D79B, bit 2) - const EVENT_2A3 ; 2A3, (D79B, bit 3) - const EVENT_2A4 ; 2A4, (D79B, bit 4) - const EVENT_2A5 ; 2A5, (D79B, bit 5) - const EVENT_2A6 ; 2A6, (D79B, bit 6) - const EVENT_2A7 ; 2A7, (D79B, bit 7) - const EVENT_CINNABAR_GYM_GATE0_UNLOCKED ; 2A8, (D79C, bit 0) doesn't exist, but the bit is set - const EVENT_CINNABAR_GYM_GATE1_UNLOCKED ; 2A9, (D79C, bit 1) - const EVENT_CINNABAR_GYM_GATE2_UNLOCKED ; 2AA, (D79C, bit 2) - const EVENT_CINNABAR_GYM_GATE3_UNLOCKED ; 2AB, (D79C, bit 3) - const EVENT_CINNABAR_GYM_GATE4_UNLOCKED ; 2AC, (D79C, bit 4) - const EVENT_CINNABAR_GYM_GATE5_UNLOCKED ; 2AD, (D79C, bit 5) - const EVENT_CINNABAR_GYM_GATE6_UNLOCKED ; 2AE, (D79C, bit 6) - const EVENT_2AF ; 2AF, (D79C, bit 7) - const EVENT_2B0 ; 2B0, (D79D, bit 0) - const EVENT_2B1 ; 2B1, (D79D, bit 1) - const EVENT_2B2 ; 2B2, (D79D, bit 2) - const EVENT_2B3 ; 2B3, (D79D, bit 3) - const EVENT_2B4 ; 2B4, (D79D, bit 4) - const EVENT_2B5 ; 2B5, (D79D, bit 5) - const EVENT_2B6 ; 2B6, (D79D, bit 6) - const EVENT_2B7 ; 2B7, (D79D, bit 7) - const EVENT_2B8 ; 2B8, (D79E, bit 0) - const EVENT_2B9 ; 2B9, (D79E, bit 1) - const EVENT_2BA ; 2BA, (D79E, bit 2) - const EVENT_2BB ; 2BB, (D79E, bit 3) - const EVENT_2BC ; 2BC, (D79E, bit 4) - const EVENT_2BD ; 2BD, (D79E, bit 5) - const EVENT_2BE ; 2BE, (D79E, bit 6) - const EVENT_2BF ; 2BF, (D79E, bit 7) - const EVENT_2C0 ; 2C0, (D79F, bit 0) - const EVENT_2C1 ; 2C1, (D79F, bit 1) - const EVENT_2C2 ; 2C2, (D79F, bit 2) - const EVENT_2C3 ; 2C3, (D79F, bit 3) - const EVENT_2C4 ; 2C4, (D79F, bit 4) - const EVENT_2C5 ; 2C5, (D79F, bit 5) - const EVENT_2C6 ; 2C6, (D79F, bit 6) - const EVENT_2C7 ; 2C7, (D79F, bit 7) - const EVENT_2C8 ; 2C8, (D7A0, bit 0) - const EVENT_2C9 ; 2C9, (D7A0, bit 1) - const EVENT_2CA ; 2CA, (D7A0, bit 2) - const EVENT_2CB ; 2CB, (D7A0, bit 3) - const EVENT_2CC ; 2CC, (D7A0, bit 4) - const EVENT_2CD ; 2CD, (D7A0, bit 5) - const EVENT_2CE ; 2CE, (D7A0, bit 6) - const EVENT_2CF ; 2CF, (D7A0, bit 7) - const EVENT_2D0 ; 2D0, (D7A1, bit 0) - const EVENT_2D1 ; 2D1, (D7A1, bit 1) - const EVENT_2D2 ; 2D2, (D7A1, bit 2) - const EVENT_2D3 ; 2D3, (D7A1, bit 3) - const EVENT_2D4 ; 2D4, (D7A1, bit 4) - const EVENT_2D5 ; 2D5, (D7A1, bit 5) - const EVENT_2D6 ; 2D6, (D7A1, bit 6) - const EVENT_GOT_TM35 ; 2D7, (D7A1, bit 7) - const EVENT_2D8 ; 2D8, (D7A2, bit 0) - const EVENT_2D9 ; 2D9, (D7A2, bit 1) - const EVENT_2DA ; 2DA, (D7A2, bit 2) - const EVENT_2DB ; 2DB, (D7A2, bit 3) - const EVENT_2DC ; 2DC, (D7A2, bit 4) - const EVENT_2DD ; 2DD, (D7A2, bit 5) - const EVENT_2DE ; 2DE, (D7A2, bit 6) - const EVENT_2DF ; 2DF, (D7A2, bit 7) - const EVENT_GAVE_FOSSIL_TO_LAB ; 2E0, (D7A3, bit 0) - const EVENT_LAB_STILL_REVIVING_FOSSIL ; 2E1, (D7A3, bit 1) - const EVENT_LAB_HANDING_OVER_FOSSIL_MON ; 2E2, (D7A3, bit 2) - const EVENT_2E3 ; 2E3, (D7A3, bit 3) - const EVENT_2E4 ; 2E4, (D7A3, bit 4) - const EVENT_2E5 ; 2E5, (D7A3, bit 5) - const EVENT_2E6 ; 2E6, (D7A3, bit 6) - const EVENT_2E7 ; 2E7, (D7A3, bit 7) - const EVENT_2E8 ; 2E8, (D7A4, bit 0) - const EVENT_2E9 ; 2E9, (D7A4, bit 1) - const EVENT_2EA ; 2EA, (D7A4, bit 2) - const EVENT_2EB ; 2EB, (D7A4, bit 3) - const EVENT_2EC ; 2EC, (D7A4, bit 4) - const EVENT_2ED ; 2ED, (D7A4, bit 5) - const EVENT_2EE ; 2EE, (D7A4, bit 6) - const EVENT_2EF ; 2EF, (D7A4, bit 7) - const EVENT_2F0 ; 2F0, (D7A5, bit 0) - const EVENT_2F1 ; 2F1, (D7A5, bit 1) - const EVENT_2F2 ; 2F2, (D7A5, bit 2) - const EVENT_2F3 ; 2F3, (D7A5, bit 3) - const EVENT_2F4 ; 2F4, (D7A5, bit 4) - const EVENT_2F5 ; 2F5, (D7A5, bit 5) - const EVENT_2F6 ; 2F6, (D7A5, bit 6) - const EVENT_2F7 ; 2F7, (D7A5, bit 7) - const EVENT_2F8 ; 2F8, (D7A6, bit 0) - const EVENT_2F9 ; 2F9, (D7A6, bit 1) - const EVENT_2FA ; 2FA, (D7A6, bit 2) - const EVENT_2FB ; 2FB, (D7A6, bit 3) - const EVENT_2FC ; 2FC, (D7A6, bit 4) - const EVENT_2FD ; 2FD, (D7A6, bit 5) - const EVENT_2FE ; 2FE, (D7A6, bit 6) - const EVENT_2FF ; 2FF, (D7A6, bit 7) - const EVENT_300 ; 300, (D7A7, bit 0) - const EVENT_301 ; 301, (D7A7, bit 1) - const EVENT_302 ; 302, (D7A7, bit 2) - const EVENT_303 ; 303, (D7A7, bit 3) - const EVENT_304 ; 304, (D7A7, bit 4) - const EVENT_305 ; 305, (D7A7, bit 5) - const EVENT_306 ; 306, (D7A7, bit 6) - const EVENT_307 ; 307, (D7A7, bit 7) - const EVENT_308 ; 308, (D7A8, bit 0) - const EVENT_309 ; 309, (D7A8, bit 1) - const EVENT_30A ; 30A, (D7A8, bit 2) - const EVENT_30B ; 30B, (D7A8, bit 3) - const EVENT_30C ; 30C, (D7A8, bit 4) - const EVENT_30D ; 30D, (D7A8, bit 5) - const EVENT_30E ; 30E, (D7A8, bit 6) - const EVENT_30F ; 30F, (D7A8, bit 7) - const EVENT_310 ; 310, (D7A9, bit 0) - const EVENT_311 ; 311, (D7A9, bit 1) - const EVENT_312 ; 312, (D7A9, bit 2) - const EVENT_313 ; 313, (D7A9, bit 3) - const EVENT_314 ; 314, (D7A9, bit 4) - const EVENT_315 ; 315, (D7A9, bit 5) - const EVENT_316 ; 316, (D7A9, bit 6) - const EVENT_317 ; 317, (D7A9, bit 7) - const EVENT_318 ; 318, (D7AA, bit 0) - const EVENT_319 ; 319, (D7AA, bit 1) - const EVENT_31A ; 31A, (D7AA, bit 2) - const EVENT_31B ; 31B, (D7AA, bit 3) - const EVENT_31C ; 31C, (D7AA, bit 4) - const EVENT_31D ; 31D, (D7AA, bit 5) - const EVENT_31E ; 31E, (D7AA, bit 6) - const EVENT_31F ; 31F, (D7AA, bit 7) - const EVENT_320 ; 320, (D7AB, bit 0) - const EVENT_321 ; 321, (D7AB, bit 1) - const EVENT_322 ; 322, (D7AB, bit 2) - const EVENT_323 ; 323, (D7AB, bit 3) - const EVENT_324 ; 324, (D7AB, bit 4) - const EVENT_325 ; 325, (D7AB, bit 5) - const EVENT_326 ; 326, (D7AB, bit 6) - const EVENT_327 ; 327, (D7AB, bit 7) - const EVENT_328 ; 328, (D7AC, bit 0) - const EVENT_329 ; 329, (D7AC, bit 1) - const EVENT_32A ; 32A, (D7AC, bit 2) - const EVENT_32B ; 32B, (D7AC, bit 3) - const EVENT_32C ; 32C, (D7AC, bit 4) - const EVENT_32D ; 32D, (D7AC, bit 5) - const EVENT_32E ; 32E, (D7AC, bit 6) - const EVENT_32F ; 32F, (D7AC, bit 7) - const EVENT_330 ; 330, (D7AD, bit 0) - const EVENT_331 ; 331, (D7AD, bit 1) - const EVENT_332 ; 332, (D7AD, bit 2) - const EVENT_333 ; 333, (D7AD, bit 3) - const EVENT_334 ; 334, (D7AD, bit 4) - const EVENT_335 ; 335, (D7AD, bit 5) - const EVENT_336 ; 336, (D7AD, bit 6) - const EVENT_337 ; 337, (D7AD, bit 7) - const EVENT_338 ; 338, (D7AE, bit 0) - const EVENT_339 ; 339, (D7AE, bit 1) - const EVENT_33A ; 33A, (D7AE, bit 2) - const EVENT_33B ; 33B, (D7AE, bit 3) - const EVENT_33C ; 33C, (D7AE, bit 4) - const EVENT_33D ; 33D, (D7AE, bit 5) - const EVENT_33E ; 33E, (D7AE, bit 6) - const EVENT_33F ; 33F, (D7AE, bit 7) - const EVENT_GOT_TM31 ; 340, (D7AF, bit 0) - const EVENT_341 ; 341, (D7AF, bit 1) - const EVENT_342 ; 342, (D7AF, bit 2) - const EVENT_343 ; 343, (D7AF, bit 3) - const EVENT_344 ; 344, (D7AF, bit 4) - const EVENT_345 ; 345, (D7AF, bit 5) - const EVENT_346 ; 346, (D7AF, bit 6) - const EVENT_347 ; 347, (D7AF, bit 7) - const EVENT_348 ; 348, (D7B0, bit 0) - const EVENT_349 ; 349, (D7B0, bit 1) - const EVENT_34A ; 34A, (D7B0, bit 2) - const EVENT_34B ; 34B, (D7B0, bit 3) - const EVENT_34C ; 34C, (D7B0, bit 4) - const EVENT_34D ; 34D, (D7B0, bit 5) - const EVENT_34E ; 34E, (D7B0, bit 6) - const EVENT_34F ; 34F, (D7B0, bit 7) - const EVENT_DEFEATED_FIGHTING_DOJO ; 350, (D7B1, bit 0) - const EVENT_BEAT_KARATE_MASTER ; 351, (D7B1, bit 1) - const EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 ; 352, (D7B1, bit 2) - const EVENT_BEAT_FIGHTING_DOJO_TRAINER_1 ; 353, (D7B1, bit 3) - const EVENT_BEAT_FIGHTING_DOJO_TRAINER_2 ; 354, (D7B1, bit 4) - const EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 ; 355, (D7B1, bit 5) - const EVENT_GOT_HITMONLEE ; 356, (D7B1, bit 6) - const EVENT_GOT_HITMONCHAN ; 357, (D7B1, bit 7) - const EVENT_358 ; 358, (D7B2, bit 0) - const EVENT_359 ; 359, (D7B2, bit 1) - const EVENT_35A ; 35A, (D7B2, bit 2) - const EVENT_35B ; 35B, (D7B2, bit 3) - const EVENT_35C ; 35C, (D7B2, bit 4) - const EVENT_35D ; 35D, (D7B2, bit 5) - const EVENT_35E ; 35E, (D7B2, bit 6) - const EVENT_35F ; 35F, (D7B2, bit 7) - const EVENT_GOT_TM46 ; 360, (D7B3, bit 0) - const EVENT_BEAT_SABRINA ; 361, (D7B3, bit 1) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_0 ; 362, (D7B3, bit 2) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_1 ; 363, (D7B3, bit 3) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_2 ; 364, (D7B3, bit 4) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_3 ; 365, (D7B3, bit 5) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_4 ; 366, (D7B3, bit 6) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_5 ; 367, (D7B3, bit 7) - const EVENT_BEAT_SAFFRON_GYM_TRAINER_6 ; 368, (D7B4, bit 0) - const EVENT_369 ; 369, (D7B4, bit 1) - const EVENT_36A ; 36A, (D7B4, bit 2) - const EVENT_36B ; 36B, (D7B4, bit 3) - const EVENT_36C ; 36C, (D7B4, bit 4) - const EVENT_36D ; 36D, (D7B4, bit 5) - const EVENT_36E ; 36E, (D7B4, bit 6) - const EVENT_36F ; 36F, (D7B4, bit 7) - const EVENT_370 ; 370, (D7B5, bit 0) - const EVENT_371 ; 371, (D7B5, bit 1) - const EVENT_372 ; 372, (D7B5, bit 2) - const EVENT_373 ; 373, (D7B5, bit 3) - const EVENT_374 ; 374, (D7B5, bit 4) - const EVENT_375 ; 375, (D7B5, bit 5) - const EVENT_376 ; 376, (D7B5, bit 6) - const EVENT_377 ; 377, (D7B5, bit 7) - const EVENT_378 ; 378, (D7B6, bit 0) - const EVENT_379 ; 379, (D7B6, bit 1) - const EVENT_37A ; 37A, (D7B6, bit 2) - const EVENT_37B ; 37B, (D7B6, bit 3) - const EVENT_37C ; 37C, (D7B6, bit 4) - const EVENT_37D ; 37D, (D7B6, bit 5) - const EVENT_37E ; 37E, (D7B6, bit 6) - const EVENT_37F ; 37F, (D7B6, bit 7) - const EVENT_380 ; 380, (D7B7, bit 0) - const EVENT_381 ; 381, (D7B7, bit 1) - const EVENT_382 ; 382, (D7B7, bit 2) - const EVENT_383 ; 383, (D7B7, bit 3) - const EVENT_384 ; 384, (D7B7, bit 4) - const EVENT_385 ; 385, (D7B7, bit 5) - const EVENT_386 ; 386, (D7B7, bit 6) - const EVENT_387 ; 387, (D7B7, bit 7) - const EVENT_388 ; 388, (D7B8, bit 0) - const EVENT_389 ; 389, (D7B8, bit 1) - const EVENT_38A ; 38A, (D7B8, bit 2) - const EVENT_38B ; 38B, (D7B8, bit 3) - const EVENT_38C ; 38C, (D7B8, bit 4) - const EVENT_38D ; 38D, (D7B8, bit 5) - const EVENT_38E ; 38E, (D7B8, bit 6) - const EVENT_38F ; 38F, (D7B8, bit 7) - const EVENT_390 ; 390, (D7B9, bit 0) - const EVENT_391 ; 391, (D7B9, bit 1) - const EVENT_392 ; 392, (D7B9, bit 2) - const EVENT_393 ; 393, (D7B9, bit 3) - const EVENT_394 ; 394, (D7B9, bit 4) - const EVENT_395 ; 395, (D7B9, bit 5) - const EVENT_396 ; 396, (D7B9, bit 6) - const EVENT_SILPH_CO_RECEPTIONIST_AT_DESK ; 397, (D7B9, bit 7) - const EVENT_398 ; 398, (D7BA, bit 0) - const EVENT_399 ; 399, (D7BA, bit 1) - const EVENT_39A ; 39A, (D7BA, bit 2) - const EVENT_39B ; 39B, (D7BA, bit 3) - const EVENT_39C ; 39C, (D7BA, bit 4) - const EVENT_39D ; 39D, (D7BA, bit 5) - const EVENT_39E ; 39E, (D7BA, bit 6) - const EVENT_39F ; 39F, (D7BA, bit 7) - const EVENT_3A0 ; 3A0, (D7BB, bit 0) - const EVENT_3A1 ; 3A1, (D7BB, bit 1) - const EVENT_3A2 ; 3A2, (D7BB, bit 2) - const EVENT_3A3 ; 3A3, (D7BB, bit 3) - const EVENT_3A4 ; 3A4, (D7BB, bit 4) - const EVENT_3A5 ; 3A5, (D7BB, bit 5) - const EVENT_3A6 ; 3A6, (D7BB, bit 6) - const EVENT_3A7 ; 3A7, (D7BB, bit 7) - const EVENT_3A8 ; 3A8, (D7BC, bit 0) - const EVENT_3A9 ; 3A9, (D7BC, bit 1) - const EVENT_3AA ; 3AA, (D7BC, bit 2) - const EVENT_3AB ; 3AB, (D7BC, bit 3) - const EVENT_3AC ; 3AC, (D7BC, bit 4) - const EVENT_3AD ; 3AD, (D7BC, bit 5) - const EVENT_3AE ; 3AE, (D7BC, bit 6) - const EVENT_3AF ; 3AF, (D7BC, bit 7) - const EVENT_GOT_TM29 ; 3B0, (D7BD, bit 0) - const EVENT_3B1 ; 3B1, (D7BD, bit 1) - const EVENT_3B2 ; 3B2, (D7BD, bit 2) - const EVENT_3B3 ; 3B3, (D7BD, bit 3) - const EVENT_3B4 ; 3B4, (D7BD, bit 4) - const EVENT_3B5 ; 3B5, (D7BD, bit 5) - const EVENT_3B6 ; 3B6, (D7BD, bit 6) - const EVENT_3B7 ; 3B7, (D7BD, bit 7) - const EVENT_3B8 ; 3B8, (D7BE, bit 0) - const EVENT_3B9 ; 3B9, (D7BE, bit 1) - const EVENT_3BA ; 3BA, (D7BE, bit 2) - const EVENT_3BB ; 3BB, (D7BE, bit 3) - const EVENT_3BC ; 3BC, (D7BE, bit 4) - const EVENT_3BD ; 3BD, (D7BE, bit 5) - const EVENT_3BE ; 3BE, (D7BE, bit 6) - const EVENT_3BF ; 3BF, (D7BE, bit 7) - const EVENT_GOT_POTION_SAMPLE ; 3C0, (D7BF, bit 0) - const EVENT_3C1 ; 3C1, (D7BF, bit 1) - const EVENT_3C2 ; 3C2, (D7BF, bit 2) - const EVENT_3C3 ; 3C3, (D7BF, bit 3) - const EVENT_3C4 ; 3C4, (D7BF, bit 4) - const EVENT_3C5 ; 3C5, (D7BF, bit 5) - const EVENT_3C6 ; 3C6, (D7BF, bit 6) - const EVENT_3C7 ; 3C7, (D7BF, bit 7) - const EVENT_3C8 ; 3C8, (D7C0, bit 0) - const EVENT_3C9 ; 3C9, (D7C0, bit 1) - const EVENT_3CA ; 3CA, (D7C0, bit 2) - const EVENT_3CB ; 3CB, (D7C0, bit 3) - const EVENT_3CC ; 3CC, (D7C0, bit 4) - const EVENT_3CD ; 3CD, (D7C0, bit 5) - const EVENT_3CE ; 3CE, (D7C0, bit 6) - const EVENT_3CF ; 3CF, (D7C0, bit 7) - const EVENT_3D0 ; 3D0, (D7C1, bit 0) - const EVENT_3D1 ; 3D1, (D7C1, bit 1) - const EVENT_3D2 ; 3D2, (D7C1, bit 2) - const EVENT_3D3 ; 3D3, (D7C1, bit 3) - const EVENT_3D4 ; 3D4, (D7C1, bit 4) - const EVENT_3D5 ; 3D5, (D7C1, bit 5) - const EVENT_3D6 ; 3D6, (D7C1, bit 6) - const EVENT_3D7 ; 3D7, (D7C1, bit 7) - const EVENT_GOT_HM05 ; 3D8, (D7C2, bit 0) - const EVENT_3D9 ; 3D9, (D7C2, bit 1) - const EVENT_3DA ; 3DA, (D7C2, bit 2) - const EVENT_3DB ; 3DB, (D7C2, bit 3) - const EVENT_3DC ; 3DC, (D7C2, bit 4) - const EVENT_3DD ; 3DD, (D7C2, bit 5) - const EVENT_3DE ; 3DE, (D7C2, bit 6) - const EVENT_3DF ; 3DF, (D7C2, bit 7) - const EVENT_3E0 ; 3E0, (D7C3, bit 0) - const EVENT_3E1 ; 3E1, (D7C3, bit 1) - const EVENT_BEAT_ROUTE_3_TRAINER_0 ; 3E2, (D7C3, bit 2) - const EVENT_BEAT_ROUTE_3_TRAINER_1 ; 3E3, (D7C3, bit 3) - const EVENT_BEAT_ROUTE_3_TRAINER_2 ; 3E4, (D7C3, bit 4) - const EVENT_BEAT_ROUTE_3_TRAINER_3 ; 3E5, (D7C3, bit 5) - const EVENT_BEAT_ROUTE_3_TRAINER_4 ; 3E6, (D7C3, bit 6) - const EVENT_BEAT_ROUTE_3_TRAINER_5 ; 3E7, (D7C3, bit 7) - const EVENT_BEAT_ROUTE_3_TRAINER_6 ; 3E8, (D7C4, bit 0) - const EVENT_BEAT_ROUTE_3_TRAINER_7 ; 3E9, (D7C4, bit 1) - const EVENT_3EA ; 3EA, (D7C4, bit 2) - const EVENT_3EB ; 3EB, (D7C4, bit 3) - const EVENT_3EC ; 3EC, (D7C4, bit 4) - const EVENT_3ED ; 3ED, (D7C4, bit 5) - const EVENT_3EE ; 3EE, (D7C4, bit 6) - const EVENT_3EF ; 3EF, (D7C4, bit 7) - const EVENT_3F0 ; 3F0, (D7C5, bit 0) - const EVENT_3F1 ; 3F1, (D7C5, bit 1) - const EVENT_BEAT_ROUTE_4_TRAINER_0 ; 3F2, (D7C5, bit 2) - const EVENT_3F3 ; 3F3, (D7C5, bit 3) - const EVENT_3F4 ; 3F4, (D7C5, bit 4) - const EVENT_3F5 ; 3F5, (D7C5, bit 5) - const EVENT_3F6 ; 3F6, (D7C5, bit 6) - const EVENT_3F7 ; 3F7, (D7C5, bit 7) - const EVENT_3F8 ; 3F8, (D7C6, bit 0) - const EVENT_3F9 ; 3F9, (D7C6, bit 1) - const EVENT_3FA ; 3FA, (D7C6, bit 2) - const EVENT_3FB ; 3FB, (D7C6, bit 3) - const EVENT_3FC ; 3FC, (D7C6, bit 4) - const EVENT_3FD ; 3FD, (D7C6, bit 5) - const EVENT_3FE ; 3FE, (D7C6, bit 6) - const EVENT_BOUGHT_MAGIKARP ; 3FF, (D7C6, bit 7) - const EVENT_400 ; 400, (D7C7, bit 0) - const EVENT_401 ; 401, (D7C7, bit 1) - const EVENT_402 ; 402, (D7C7, bit 2) - const EVENT_403 ; 403, (D7C7, bit 3) - const EVENT_404 ; 404, (D7C7, bit 4) - const EVENT_405 ; 405, (D7C7, bit 5) - const EVENT_406 ; 406, (D7C7, bit 6) - const EVENT_407 ; 407, (D7C7, bit 7) - const EVENT_408 ; 408, (D7C8, bit 0) - const EVENT_409 ; 409, (D7C8, bit 1) - const EVENT_40A ; 40A, (D7C8, bit 2) - const EVENT_40B ; 40B, (D7C8, bit 3) - const EVENT_40C ; 40C, (D7C8, bit 4) - const EVENT_40D ; 40D, (D7C8, bit 5) - const EVENT_40E ; 40E, (D7C8, bit 6) - const EVENT_40F ; 40F, (D7C8, bit 7) - const EVENT_410 ; 410, (D7C9, bit 0) - const EVENT_BEAT_ROUTE_6_TRAINER_0 ; 411, (D7C9, bit 1) - const EVENT_BEAT_ROUTE_6_TRAINER_1 ; 412, (D7C9, bit 2) - const EVENT_BEAT_ROUTE_6_TRAINER_2 ; 413, (D7C9, bit 3) - const EVENT_BEAT_ROUTE_6_TRAINER_3 ; 414, (D7C9, bit 4) - const EVENT_BEAT_ROUTE_6_TRAINER_4 ; 415, (D7C9, bit 5) - const EVENT_BEAT_ROUTE_6_TRAINER_5 ; 416, (D7C9, bit 6) - const EVENT_417 ; 417, (D7C9, bit 7) - const EVENT_418 ; 418, (D7CA, bit 0) - const EVENT_419 ; 419, (D7CA, bit 1) - const EVENT_41A ; 41A, (D7CA, bit 2) - const EVENT_41B ; 41B, (D7CA, bit 3) - const EVENT_41C ; 41C, (D7CA, bit 4) - const EVENT_41D ; 41D, (D7CA, bit 5) - const EVENT_41E ; 41E, (D7CA, bit 6) - const EVENT_41F ; 41F, (D7CA, bit 7) - const EVENT_420 ; 420, (D7CB, bit 0) - const EVENT_421 ; 421, (D7CB, bit 1) - const EVENT_422 ; 422, (D7CB, bit 2) - const EVENT_423 ; 423, (D7CB, bit 3) - const EVENT_424 ; 424, (D7CB, bit 4) - const EVENT_425 ; 425, (D7CB, bit 5) - const EVENT_426 ; 426, (D7CB, bit 6) - const EVENT_427 ; 427, (D7CB, bit 7) - const EVENT_428 ; 428, (D7CC, bit 0) - const EVENT_429 ; 429, (D7CC, bit 1) - const EVENT_42A ; 42A, (D7CC, bit 2) - const EVENT_42B ; 42B, (D7CC, bit 3) - const EVENT_42C ; 42C, (D7CC, bit 4) - const EVENT_42D ; 42D, (D7CC, bit 5) - const EVENT_42E ; 42E, (D7CC, bit 6) - const EVENT_42F ; 42F, (D7CC, bit 7) - const EVENT_430 ; 430, (D7CD, bit 0) - const EVENT_BEAT_ROUTE_8_TRAINER_0 ; 431, (D7CD, bit 1) - const EVENT_BEAT_ROUTE_8_TRAINER_1 ; 432, (D7CD, bit 2) - const EVENT_BEAT_ROUTE_8_TRAINER_2 ; 433, (D7CD, bit 3) - const EVENT_BEAT_ROUTE_8_TRAINER_3 ; 434, (D7CD, bit 4) - const EVENT_BEAT_ROUTE_8_TRAINER_4 ; 435, (D7CD, bit 5) - const EVENT_BEAT_ROUTE_8_TRAINER_5 ; 436, (D7CD, bit 6) - const EVENT_BEAT_ROUTE_8_TRAINER_6 ; 437, (D7CD, bit 7) - const EVENT_BEAT_ROUTE_8_TRAINER_7 ; 438, (D7CE, bit 0) - const EVENT_BEAT_ROUTE_8_TRAINER_8 ; 439, (D7CE, bit 1) - const EVENT_43A ; 43A, (D7CE, bit 2) - const EVENT_43B ; 43B, (D7CE, bit 3) - const EVENT_43C ; 43C, (D7CE, bit 4) - const EVENT_43D ; 43D, (D7CE, bit 5) - const EVENT_43E ; 43E, (D7CE, bit 6) - const EVENT_43F ; 43F, (D7CE, bit 7) - const EVENT_440 ; 440, (D7CF, bit 0) - const EVENT_BEAT_ROUTE_9_TRAINER_0 ; 441, (D7CF, bit 1) - const EVENT_BEAT_ROUTE_9_TRAINER_1 ; 442, (D7CF, bit 2) - const EVENT_BEAT_ROUTE_9_TRAINER_2 ; 443, (D7CF, bit 3) - const EVENT_BEAT_ROUTE_9_TRAINER_3 ; 444, (D7CF, bit 4) - const EVENT_BEAT_ROUTE_9_TRAINER_4 ; 445, (D7CF, bit 5) - const EVENT_BEAT_ROUTE_9_TRAINER_5 ; 446, (D7CF, bit 6) - const EVENT_BEAT_ROUTE_9_TRAINER_6 ; 447, (D7CF, bit 7) - const EVENT_BEAT_ROUTE_9_TRAINER_7 ; 448, (D7D0, bit 0) - const EVENT_BEAT_ROUTE_9_TRAINER_8 ; 449, (D7D0, bit 1) - const EVENT_44A ; 44A, (D7D0, bit 2) - const EVENT_44B ; 44B, (D7D0, bit 3) - const EVENT_44C ; 44C, (D7D0, bit 4) - const EVENT_44D ; 44D, (D7D0, bit 5) - const EVENT_44E ; 44E, (D7D0, bit 6) - const EVENT_44F ; 44F, (D7D0, bit 7) - const EVENT_450 ; 450, (D7D1, bit 0) - const EVENT_BEAT_ROUTE_10_TRAINER_0 ; 451, (D7D1, bit 1) - const EVENT_BEAT_ROUTE_10_TRAINER_1 ; 452, (D7D1, bit 2) - const EVENT_BEAT_ROUTE_10_TRAINER_2 ; 453, (D7D1, bit 3) - const EVENT_BEAT_ROUTE_10_TRAINER_3 ; 454, (D7D1, bit 4) - const EVENT_BEAT_ROUTE_10_TRAINER_4 ; 455, (D7D1, bit 5) - const EVENT_BEAT_ROUTE_10_TRAINER_5 ; 456, (D7D1, bit 6) - const EVENT_457 ; 457, (D7D1, bit 7) - const EVENT_458 ; 458, (D7D2, bit 0) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0 ; 459, (D7D2, bit 1) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1 ; 45A, (D7D2, bit 2) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2 ; 45B, (D7D2, bit 3) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3 ; 45C, (D7D2, bit 4) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4 ; 45D, (D7D2, bit 5) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5 ; 45E, (D7D2, bit 6) - const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6 ; 45F, (D7D2, bit 7) - const EVENT_460 ; 460, (D7D3, bit 0) - const EVENT_BEAT_POWER_PLANT_VOLTORB_0 ; 461, (D7D3, bit 1) - const EVENT_BEAT_POWER_PLANT_VOLTORB_1 ; 462, (D7D3, bit 2) - const EVENT_BEAT_POWER_PLANT_VOLTORB_2 ; 463, (D7D3, bit 3) - const EVENT_BEAT_POWER_PLANT_VOLTORB_3 ; 464, (D7D3, bit 4) - const EVENT_BEAT_POWER_PLANT_VOLTORB_4 ; 465, (D7D3, bit 5) - const EVENT_BEAT_POWER_PLANT_VOLTORB_5 ; 466, (D7D3, bit 6) - const EVENT_BEAT_POWER_PLANT_VOLTORB_6 ; 467, (D7D3, bit 7) - const EVENT_BEAT_POWER_PLANT_VOLTORB_7 ; 468, (D7D4, bit 0) - const EVENT_BEAT_ZAPDOS ; 469, (D7D4, bit 1) - const EVENT_46A ; 46A, (D7D4, bit 2) - const EVENT_46B ; 46B, (D7D4, bit 3) - const EVENT_46C ; 46C, (D7D4, bit 4) - const EVENT_46D ; 46D, (D7D4, bit 5) - const EVENT_46E ; 46E, (D7D4, bit 6) - const EVENT_46F ; 46F, (D7D4, bit 7) - const EVENT_470 ; 470, (D7D5, bit 0) - const EVENT_BEAT_ROUTE_11_TRAINER_0 ; 471, (D7D5, bit 1) - const EVENT_BEAT_ROUTE_11_TRAINER_1 ; 472, (D7D5, bit 2) - const EVENT_BEAT_ROUTE_11_TRAINER_2 ; 473, (D7D5, bit 3) - const EVENT_BEAT_ROUTE_11_TRAINER_3 ; 474, (D7D5, bit 4) - const EVENT_BEAT_ROUTE_11_TRAINER_4 ; 475, (D7D5, bit 5) - const EVENT_BEAT_ROUTE_11_TRAINER_5 ; 476, (D7D5, bit 6) - const EVENT_BEAT_ROUTE_11_TRAINER_6 ; 477, (D7D5, bit 7) - const EVENT_BEAT_ROUTE_11_TRAINER_7 ; 478, (D7D6, bit 0) - const EVENT_BEAT_ROUTE_11_TRAINER_8 ; 479, (D7D6, bit 1) - const EVENT_BEAT_ROUTE_11_TRAINER_9 ; 47A, (D7D6, bit 2) - const EVENT_47B ; 47B, (D7D6, bit 3) - const EVENT_47C ; 47C, (D7D6, bit 4) - const EVENT_47D ; 47D, (D7D6, bit 5) - const EVENT_47E ; 47E, (D7D6, bit 6) - const EVENT_GOT_ITEMFINDER ; 47F, (D7D6, bit 7) - const EVENT_GOT_TM39 ; 480, (D7D7, bit 0) - const EVENT_481 ; 481, (D7D7, bit 1) - const EVENT_BEAT_ROUTE_12_TRAINER_0 ; 482, (D7D7, bit 2) - const EVENT_BEAT_ROUTE_12_TRAINER_1 ; 483, (D7D7, bit 3) - const EVENT_BEAT_ROUTE_12_TRAINER_2 ; 484, (D7D7, bit 4) - const EVENT_BEAT_ROUTE_12_TRAINER_3 ; 485, (D7D7, bit 5) - const EVENT_BEAT_ROUTE_12_TRAINER_4 ; 486, (D7D7, bit 6) - const EVENT_BEAT_ROUTE_12_TRAINER_5 ; 487, (D7D7, bit 7) - const EVENT_BEAT_ROUTE_12_TRAINER_6 ; 488, (D7D8, bit 0) - const EVENT_489 ; 489, (D7D8, bit 1) - const EVENT_48A ; 48A, (D7D8, bit 2) - const EVENT_48B ; 48B, (D7D8, bit 3) - const EVENT_48C ; 48C, (D7D8, bit 4) - const EVENT_48D ; 48D, (D7D8, bit 5) - const EVENT_FIGHT_ROUTE12_SNORLAX ; 48E, (D7D8, bit 6) - const EVENT_BEAT_ROUTE12_SNORLAX ; 48F, (D7D8, bit 7) - const EVENT_490 ; 490, (D7D9, bit 0) - const EVENT_BEAT_ROUTE_13_TRAINER_0 ; 491, (D7D9, bit 1) - const EVENT_BEAT_ROUTE_13_TRAINER_1 ; 492, (D7D9, bit 2) - const EVENT_BEAT_ROUTE_13_TRAINER_2 ; 493, (D7D9, bit 3) - const EVENT_BEAT_ROUTE_13_TRAINER_3 ; 494, (D7D9, bit 4) - const EVENT_BEAT_ROUTE_13_TRAINER_4 ; 495, (D7D9, bit 5) - const EVENT_BEAT_ROUTE_13_TRAINER_5 ; 496, (D7D9, bit 6) - const EVENT_BEAT_ROUTE_13_TRAINER_6 ; 497, (D7D9, bit 7) - const EVENT_BEAT_ROUTE_13_TRAINER_7 ; 498, (D7DA, bit 0) - const EVENT_BEAT_ROUTE_13_TRAINER_8 ; 499, (D7DA, bit 1) - const EVENT_BEAT_ROUTE_13_TRAINER_9 ; 49A, (D7DA, bit 2) - const EVENT_49B ; 49B, (D7DA, bit 3) - const EVENT_49C ; 49C, (D7DA, bit 4) - const EVENT_49D ; 49D, (D7DA, bit 5) - const EVENT_49E ; 49E, (D7DA, bit 6) - const EVENT_49F ; 49F, (D7DA, bit 7) - const EVENT_4A0 ; 4A0, (D7DB, bit 0) - const EVENT_BEAT_ROUTE_14_TRAINER_0 ; 4A1, (D7DB, bit 1) - const EVENT_BEAT_ROUTE_14_TRAINER_1 ; 4A2, (D7DB, bit 2) - const EVENT_BEAT_ROUTE_14_TRAINER_2 ; 4A3, (D7DB, bit 3) - const EVENT_BEAT_ROUTE_14_TRAINER_3 ; 4A4, (D7DB, bit 4) - const EVENT_BEAT_ROUTE_14_TRAINER_4 ; 4A5, (D7DB, bit 5) - const EVENT_BEAT_ROUTE_14_TRAINER_5 ; 4A6, (D7DB, bit 6) - const EVENT_BEAT_ROUTE_14_TRAINER_6 ; 4A7, (D7DB, bit 7) - const EVENT_BEAT_ROUTE_14_TRAINER_7 ; 4A8, (D7DC, bit 0) - const EVENT_BEAT_ROUTE_14_TRAINER_8 ; 4A9, (D7DC, bit 1) - const EVENT_BEAT_ROUTE_14_TRAINER_9 ; 4AA, (D7DC, bit 2) - const EVENT_4AB ; 4AB, (D7DC, bit 3) - const EVENT_4AC ; 4AC, (D7DC, bit 4) - const EVENT_4AD ; 4AD, (D7DC, bit 5) - const EVENT_4AE ; 4AE, (D7DC, bit 6) - const EVENT_4AF ; 4AF, (D7DC, bit 7) - const EVENT_GOT_EXP_ALL ; 4B0, (D7DD, bit 0) - const EVENT_BEAT_ROUTE_15_TRAINER_0 ; 4B1, (D7DD, bit 1) - const EVENT_BEAT_ROUTE_15_TRAINER_1 ; 4B2, (D7DD, bit 2) - const EVENT_BEAT_ROUTE_15_TRAINER_2 ; 4B3, (D7DD, bit 3) - const EVENT_BEAT_ROUTE_15_TRAINER_3 ; 4B4, (D7DD, bit 4) - const EVENT_BEAT_ROUTE_15_TRAINER_4 ; 4B5, (D7DD, bit 5) - const EVENT_BEAT_ROUTE_15_TRAINER_5 ; 4B6, (D7DD, bit 6) - const EVENT_BEAT_ROUTE_15_TRAINER_6 ; 4B7, (D7DD, bit 7) - const EVENT_BEAT_ROUTE_15_TRAINER_7 ; 4B8, (D7DE, bit 0) - const EVENT_BEAT_ROUTE_15_TRAINER_8 ; 4B9, (D7DE, bit 1) - const EVENT_BEAT_ROUTE_15_TRAINER_9 ; 4BA, (D7DE, bit 2) - const EVENT_4BB ; 4BB, (D7DE, bit 3) - const EVENT_4BC ; 4BC, (D7DE, bit 4) - const EVENT_4BD ; 4BD, (D7DE, bit 5) - const EVENT_4BE ; 4BE, (D7DE, bit 6) - const EVENT_4BF ; 4BF, (D7DE, bit 7) - const EVENT_4C0 ; 4C0, (D7DF, bit 0) - const EVENT_BEAT_ROUTE_16_TRAINER_0 ; 4C1, (D7DF, bit 1) - const EVENT_BEAT_ROUTE_16_TRAINER_1 ; 4C2, (D7DF, bit 2) - const EVENT_BEAT_ROUTE_16_TRAINER_2 ; 4C3, (D7DF, bit 3) - const EVENT_BEAT_ROUTE_16_TRAINER_3 ; 4C4, (D7DF, bit 4) - const EVENT_BEAT_ROUTE_16_TRAINER_4 ; 4C5, (D7DF, bit 5) - const EVENT_BEAT_ROUTE_16_TRAINER_5 ; 4C6, (D7DF, bit 6) - const EVENT_4C7 ; 4C7, (D7DF, bit 7) - const EVENT_FIGHT_ROUTE16_SNORLAX ; 4C8, (D7E0, bit 0) - const EVENT_BEAT_ROUTE16_SNORLAX ; 4C9, (D7E0, bit 1) - const EVENT_4CA ; 4CA, (D7E0, bit 2) - const EVENT_4CB ; 4CB, (D7E0, bit 3) - const EVENT_4CC ; 4CC, (D7E0, bit 4) - const EVENT_4CD ; 4CD, (D7E0, bit 5) - const EVENT_GOT_HM02 ; 4CE, (D7E0, bit 6) - const EVENT_RESCUED_MR_FUJI ; 4CF, (D7E0, bit 7) - const EVENT_4D0 ; 4D0, (D7E1, bit 0) - const EVENT_BEAT_ROUTE_17_TRAINER_0 ; 4D1, (D7E1, bit 1) - const EVENT_BEAT_ROUTE_17_TRAINER_1 ; 4D2, (D7E1, bit 2) - const EVENT_BEAT_ROUTE_17_TRAINER_2 ; 4D3, (D7E1, bit 3) - const EVENT_BEAT_ROUTE_17_TRAINER_3 ; 4D4, (D7E1, bit 4) - const EVENT_BEAT_ROUTE_17_TRAINER_4 ; 4D5, (D7E1, bit 5) - const EVENT_BEAT_ROUTE_17_TRAINER_5 ; 4D6, (D7E1, bit 6) - const EVENT_BEAT_ROUTE_17_TRAINER_6 ; 4D7, (D7E1, bit 7) - const EVENT_BEAT_ROUTE_17_TRAINER_7 ; 4D8, (D7E2, bit 0) - const EVENT_BEAT_ROUTE_17_TRAINER_8 ; 4D9, (D7E2, bit 1) - const EVENT_BEAT_ROUTE_17_TRAINER_9 ; 4DA, (D7E2, bit 2) - const EVENT_4DB ; 4DB, (D7E2, bit 3) - const EVENT_4DC ; 4DC, (D7E2, bit 4) - const EVENT_4DD ; 4DD, (D7E2, bit 5) - const EVENT_4DE ; 4DE, (D7E2, bit 6) - const EVENT_4DF ; 4DF, (D7E2, bit 7) - const EVENT_4E0 ; 4E0, (D7E3, bit 0) - const EVENT_BEAT_ROUTE_18_TRAINER_0 ; 4E1, (D7E3, bit 1) - const EVENT_BEAT_ROUTE_18_TRAINER_1 ; 4E2, (D7E3, bit 2) - const EVENT_BEAT_ROUTE_18_TRAINER_2 ; 4E3, (D7E3, bit 3) - const EVENT_4E4 ; 4E4, (D7E3, bit 4) - const EVENT_4E5 ; 4E5, (D7E3, bit 5) - const EVENT_4E6 ; 4E6, (D7E3, bit 6) - const EVENT_4E7 ; 4E7, (D7E3, bit 7) - const EVENT_4E8 ; 4E8, (D7E4, bit 0) - const EVENT_4E9 ; 4E9, (D7E4, bit 1) - const EVENT_4EA ; 4EA, (D7E4, bit 2) - const EVENT_4EB ; 4EB, (D7E4, bit 3) - const EVENT_4EC ; 4EC, (D7E4, bit 4) - const EVENT_4ED ; 4ED, (D7E4, bit 5) - const EVENT_4EE ; 4EE, (D7E4, bit 6) - const EVENT_4EF ; 4EF, (D7E4, bit 7) - const EVENT_4F0 ; 4F0, (D7E5, bit 0) - const EVENT_BEAT_ROUTE_19_TRAINER_0 ; 4F1, (D7E5, bit 1) - const EVENT_BEAT_ROUTE_19_TRAINER_1 ; 4F2, (D7E5, bit 2) - const EVENT_BEAT_ROUTE_19_TRAINER_2 ; 4F3, (D7E5, bit 3) - const EVENT_BEAT_ROUTE_19_TRAINER_3 ; 4F4, (D7E5, bit 4) - const EVENT_BEAT_ROUTE_19_TRAINER_4 ; 4F5, (D7E5, bit 5) - const EVENT_BEAT_ROUTE_19_TRAINER_5 ; 4F6, (D7E5, bit 6) - const EVENT_BEAT_ROUTE_19_TRAINER_6 ; 4F7, (D7E5, bit 7) - const EVENT_BEAT_ROUTE_19_TRAINER_7 ; 4F8, (D7E6, bit 0) - const EVENT_BEAT_ROUTE_19_TRAINER_8 ; 4F9, (D7E6, bit 1) - const EVENT_BEAT_ROUTE_19_TRAINER_9 ; 4FA, (D7E6, bit 2) - const EVENT_4FB ; 4FB, (D7E6, bit 3) - const EVENT_4FC ; 4FC, (D7E6, bit 4) - const EVENT_4FD ; 4FD, (D7E6, bit 5) - const EVENT_4FE ; 4FE, (D7E6, bit 6) - const EVENT_4FF ; 4FF, (D7E6, bit 7) - const EVENT_IN_SEAFOAM_ISLANDS ; 500, (D7E7, bit 0) - const EVENT_BEAT_ROUTE_20_TRAINER_0 ; 501, (D7E7, bit 1) - const EVENT_BEAT_ROUTE_20_TRAINER_1 ; 502, (D7E7, bit 2) - const EVENT_BEAT_ROUTE_20_TRAINER_2 ; 503, (D7E7, bit 3) - const EVENT_BEAT_ROUTE_20_TRAINER_3 ; 504, (D7E7, bit 4) - const EVENT_BEAT_ROUTE_20_TRAINER_4 ; 505, (D7E7, bit 5) - const EVENT_BEAT_ROUTE_20_TRAINER_5 ; 506, (D7E7, bit 6) - const EVENT_BEAT_ROUTE_20_TRAINER_6 ; 507, (D7E7, bit 7) - const EVENT_BEAT_ROUTE_20_TRAINER_7 ; 508, (D7E8, bit 0) - const EVENT_BEAT_ROUTE_20_TRAINER_8 ; 509, (D7E8, bit 1) - const EVENT_BEAT_ROUTE_20_TRAINER_9 ; 50A, (D7E8, bit 2) - const EVENT_50B ; 50B, (D7E8, bit 3) - const EVENT_50C ; 50C, (D7E8, bit 4) - const EVENT_50D ; 50D, (D7E8, bit 5) - const EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE ; 50E, (D7E8, bit 6) - const EVENT_SEAFOAM1_BOULDER2_DOWN_HOLE ; 50F, (D7E8, bit 7) - const EVENT_510 ; 510, (D7E9, bit 0) - const EVENT_BEAT_ROUTE_21_TRAINER_0 ; 511, (D7E9, bit 1) - const EVENT_BEAT_ROUTE_21_TRAINER_1 ; 512, (D7E9, bit 2) - const EVENT_BEAT_ROUTE_21_TRAINER_2 ; 513, (D7E9, bit 3) - const EVENT_BEAT_ROUTE_21_TRAINER_3 ; 514, (D7E9, bit 4) - const EVENT_BEAT_ROUTE_21_TRAINER_4 ; 515, (D7E9, bit 5) - const EVENT_BEAT_ROUTE_21_TRAINER_5 ; 516, (D7E9, bit 6) - const EVENT_BEAT_ROUTE_21_TRAINER_6 ; 517, (D7E9, bit 7) - const EVENT_BEAT_ROUTE_21_TRAINER_7 ; 518, (D7EA, bit 0) - const EVENT_BEAT_ROUTE_21_TRAINER_8 ; 519, (D7EA, bit 1) - const EVENT_51A ; 51A, (D7EA, bit 2) - const EVENT_51B ; 51B, (D7EA, bit 3) - const EVENT_51C ; 51C, (D7EA, bit 4) - const EVENT_51D ; 51D, (D7EA, bit 5) - const EVENT_51E ; 51E, (D7EA, bit 6) - const EVENT_51F ; 51F, (D7EA, bit 7) - const EVENT_1ST_ROUTE22_RIVAL_BATTLE ; 520, (D7EB, bit 0) - const EVENT_2ND_ROUTE22_RIVAL_BATTLE ; 521, (D7EB, bit 1) - const EVENT_522 ; 522, (D7EB, bit 2) - const EVENT_523 ; 523, (D7EB, bit 3) - const EVENT_524 ; 524, (D7EB, bit 4) - const EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE ; 525, (D7EB, bit 5) - const EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE ; 526, (D7EB, bit 6) - const EVENT_ROUTE22_RIVAL_WANTS_BATTLE ; 527, (D7EB, bit 7) - const EVENT_528 ; 528, (D7EC, bit 0) - const EVENT_529 ; 529, (D7EC, bit 1) - const EVENT_52A ; 52A, (D7EC, bit 2) - const EVENT_52B ; 52B, (D7EC, bit 3) - const EVENT_52C ; 52C, (D7EC, bit 4) - const EVENT_52D ; 52D, (D7EC, bit 5) - const EVENT_52E ; 52E, (D7EC, bit 6) - const EVENT_52F ; 52F, (D7EC, bit 7) - const EVENT_PASSED_CASCADEBADGE_CHECK ; 530, (D7ED, bit 0) - const EVENT_PASSED_THUNDERBADGE_CHECK ; 531, (D7ED, bit 1) - const EVENT_PASSED_RAINBOWBADGE_CHECK ; 532, (D7ED, bit 2) - const EVENT_PASSED_SOULBADGE_CHECK ; 533, (D7ED, bit 3) - const EVENT_PASSED_MARSHBADGE_CHECK ; 534, (D7ED, bit 4) - const EVENT_PASSED_VOLCANOBADGE_CHECK ; 535, (D7ED, bit 5) - const EVENT_PASSED_EARTHBADGE_CHECK ; 536, (D7ED, bit 6) - const EVENT_537 ; 537, (D7ED, bit 7) - const EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 ; 538, (D7EE, bit 0) - const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0 ; 539, (D7EE, bit 1) - const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1 ; 53A, (D7EE, bit 2) - const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2 ; 53B, (D7EE, bit 3) - const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3 ; 53C, (D7EE, bit 4) - const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4 ; 53D, (D7EE, bit 5) - const EVENT_BEAT_MOLTRES ; 53E, (D7EE, bit 6) - const EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2 ; 53F, (D7EE, bit 7) - const EVENT_GOT_NUGGET ; 540, (D7EF, bit 0) - const EVENT_BEAT_ROUTE24_ROCKET ; 541, (D7EF, bit 1) - const EVENT_BEAT_ROUTE_24_TRAINER_0 ; 542, (D7EF, bit 2) - const EVENT_BEAT_ROUTE_24_TRAINER_1 ; 543, (D7EF, bit 3) - const EVENT_BEAT_ROUTE_24_TRAINER_2 ; 544, (D7EF, bit 4) - const EVENT_BEAT_ROUTE_24_TRAINER_3 ; 545, (D7EF, bit 5) - const EVENT_BEAT_ROUTE_24_TRAINER_4 ; 546, (D7EF, bit 6) - const EVENT_BEAT_ROUTE_24_TRAINER_5 ; 547, (D7EF, bit 7) - const EVENT_548 ; 548, (D7F0, bit 0) - const EVENT_NUGGET_REWARD_AVAILABLE ; 549, (D7F0, bit 1) - const EVENT_54A ; 54A, (D7F0, bit 2) - const EVENT_54B ; 54B, (D7F0, bit 3) - const EVENT_54C ; 54C, (D7F0, bit 4) - const EVENT_54D ; 54D, (D7F0, bit 5) - const EVENT_54E ; 54E, (D7F0, bit 6) - const EVENT_54F ; 54F, (D7F0, bit 7) - const EVENT_MET_BILL ; 550, (D7F1, bit 0) - const EVENT_BEAT_ROUTE_25_TRAINER_0 ; 551, (D7F1, bit 1) - const EVENT_BEAT_ROUTE_25_TRAINER_1 ; 552, (D7F1, bit 2) - const EVENT_BEAT_ROUTE_25_TRAINER_2 ; 553, (D7F1, bit 3) - const EVENT_BEAT_ROUTE_25_TRAINER_3 ; 554, (D7F1, bit 4) - const EVENT_BEAT_ROUTE_25_TRAINER_4 ; 555, (D7F1, bit 5) - const EVENT_BEAT_ROUTE_25_TRAINER_5 ; 556, (D7F1, bit 6) - const EVENT_BEAT_ROUTE_25_TRAINER_6 ; 557, (D7F1, bit 7) - const EVENT_BEAT_ROUTE_25_TRAINER_7 ; 558, (D7F2, bit 0) - const EVENT_BEAT_ROUTE_25_TRAINER_8 ; 559, (D7F2, bit 1) - const EVENT_55A ; 55A, (D7F2, bit 2) - const EVENT_USED_CELL_SEPARATOR_ON_BILL ; 55B, (D7F2, bit 3) - const EVENT_GOT_SS_TICKET ; 55C, (D7F2, bit 4) - const EVENT_MET_BILL_2 ; 55D, (D7F2, bit 5) - const EVENT_BILL_SAID_USE_CELL_SEPARATOR ; 55E, (D7F2, bit 6) - const EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING ; 55F, (D7F2, bit 7) - const EVENT_560 ; 560, (D7F3, bit 0) - const EVENT_561 ; 561, (D7F3, bit 1) - const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0 ; 562, (D7F3, bit 2) - const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1 ; 563, (D7F3, bit 3) - const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2 ; 564, (D7F3, bit 4) - const EVENT_565 ; 565, (D7F3, bit 5) - const EVENT_566 ; 566, (D7F3, bit 6) - const EVENT_567 ; 567, (D7F3, bit 7) - const EVENT_568 ; 568, (D7F4, bit 0) - const EVENT_569 ; 569, (D7F4, bit 1) - const EVENT_56A ; 56A, (D7F4, bit 2) - const EVENT_56B ; 56B, (D7F4, bit 3) - const EVENT_56C ; 56C, (D7F4, bit 4) - const EVENT_56D ; 56D, (D7F4, bit 5) - const EVENT_56E ; 56E, (D7F4, bit 6) - const EVENT_56F ; 56F, (D7F4, bit 7) - const EVENT_570 ; 570, (D7F5, bit 0) - const EVENT_BEAT_MT_MOON_1_TRAINER_0 ; 571, (D7F5, bit 1) - const EVENT_BEAT_MT_MOON_1_TRAINER_1 ; 572, (D7F5, bit 2) - const EVENT_BEAT_MT_MOON_1_TRAINER_2 ; 573, (D7F5, bit 3) - const EVENT_BEAT_MT_MOON_1_TRAINER_3 ; 574, (D7F5, bit 4) - const EVENT_BEAT_MT_MOON_1_TRAINER_4 ; 575, (D7F5, bit 5) - const EVENT_BEAT_MT_MOON_1_TRAINER_5 ; 576, (D7F5, bit 6) - const EVENT_BEAT_MT_MOON_1_TRAINER_6 ; 577, (D7F5, bit 7) - const EVENT_578 ; 578, (D7F6, bit 0) - const EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD ; 579, (D7F6, bit 1) - const EVENT_BEAT_MT_MOON_3_TRAINER_0 ; 57A, (D7F6, bit 2) - const EVENT_BEAT_MT_MOON_3_TRAINER_1 ; 57B, (D7F6, bit 3) - const EVENT_BEAT_MT_MOON_3_TRAINER_2 ; 57C, (D7F6, bit 4) - const EVENT_BEAT_MT_MOON_3_TRAINER_3 ; 57D, (D7F6, bit 5) - const EVENT_GOT_DOME_FOSSIL ; 57E, (D7F6, bit 6) - const EVENT_GOT_HELIX_FOSSIL ; 57F, (D7F6, bit 7) - const EVENT_580 ; 580, (D7F7, bit 0) - const EVENT_581 ; 581, (D7F7, bit 1) - const EVENT_582 ; 582, (D7F7, bit 2) - const EVENT_583 ; 583, (D7F7, bit 3) - const EVENT_584 ; 584, (D7F7, bit 4) - const EVENT_585 ; 585, (D7F7, bit 5) - const EVENT_586 ; 586, (D7F7, bit 6) - const EVENT_587 ; 587, (D7F7, bit 7) - const EVENT_588 ; 588, (D7F8, bit 0) - const EVENT_589 ; 589, (D7F8, bit 1) - const EVENT_58A ; 58A, (D7F8, bit 2) - const EVENT_58B ; 58B, (D7F8, bit 3) - const EVENT_58C ; 58C, (D7F8, bit 4) - const EVENT_58D ; 58D, (D7F8, bit 5) - const EVENT_58E ; 58E, (D7F8, bit 6) - const EVENT_58F ; 58F, (D7F8, bit 7) - const EVENT_590 ; 590, (D7F9, bit 0) - const EVENT_591 ; 591, (D7F9, bit 1) - const EVENT_592 ; 592, (D7F9, bit 2) - const EVENT_593 ; 593, (D7F9, bit 3) - const EVENT_594 ; 594, (D7F9, bit 4) - const EVENT_595 ; 595, (D7F9, bit 5) - const EVENT_596 ; 596, (D7F9, bit 6) - const EVENT_597 ; 597, (D7F9, bit 7) - const EVENT_598 ; 598, (D7FA, bit 0) - const EVENT_599 ; 599, (D7FA, bit 1) - const EVENT_59A ; 59A, (D7FA, bit 2) - const EVENT_59B ; 59B, (D7FA, bit 3) - const EVENT_59C ; 59C, (D7FA, bit 4) - const EVENT_59D ; 59D, (D7FA, bit 5) - const EVENT_59E ; 59E, (D7FA, bit 6) - const EVENT_59F ; 59F, (D7FA, bit 7) - const EVENT_5A0 ; 5A0, (D7FB, bit 0) - const EVENT_5A1 ; 5A1, (D7FB, bit 1) - const EVENT_5A2 ; 5A2, (D7FB, bit 2) - const EVENT_5A3 ; 5A3, (D7FB, bit 3) - const EVENT_5A4 ; 5A4, (D7FB, bit 4) - const EVENT_5A5 ; 5A5, (D7FB, bit 5) - const EVENT_5A6 ; 5A6, (D7FB, bit 6) - const EVENT_5A7 ; 5A7, (D7FB, bit 7) - const EVENT_5A8 ; 5A8, (D7FC, bit 0) - const EVENT_5A9 ; 5A9, (D7FC, bit 1) - const EVENT_5AA ; 5AA, (D7FC, bit 2) - const EVENT_5AB ; 5AB, (D7FC, bit 3) - const EVENT_5AC ; 5AC, (D7FC, bit 4) - const EVENT_5AD ; 5AD, (D7FC, bit 5) - const EVENT_5AE ; 5AE, (D7FC, bit 6) - const EVENT_5AF ; 5AF, (D7FC, bit 7) - const EVENT_5B0 ; 5B0, (D7FD, bit 0) - const EVENT_5B1 ; 5B1, (D7FD, bit 1) - const EVENT_5B2 ; 5B2, (D7FD, bit 2) - const EVENT_5B3 ; 5B3, (D7FD, bit 3) - const EVENT_5B4 ; 5B4, (D7FD, bit 4) - const EVENT_5B5 ; 5B5, (D7FD, bit 5) - const EVENT_5B6 ; 5B6, (D7FD, bit 6) - const EVENT_5B7 ; 5B7, (D7FD, bit 7) - const EVENT_5B8 ; 5B8, (D7FE, bit 0) - const EVENT_5B9 ; 5B9, (D7FE, bit 1) - const EVENT_5BA ; 5BA, (D7FE, bit 2) - const EVENT_5BB ; 5BB, (D7FE, bit 3) - const EVENT_5BC ; 5BC, (D7FE, bit 4) - const EVENT_5BD ; 5BD, (D7FE, bit 5) - const EVENT_5BE ; 5BE, (D7FE, bit 6) - const EVENT_5BF ; 5BF, (D7FE, bit 7) - const EVENT_5C0 ; 5C0, (D7FF, bit 0) - const EVENT_5C1 ; 5C1, (D7FF, bit 1) - const EVENT_5C2 ; 5C2, (D7FF, bit 2) - const EVENT_5C3 ; 5C3, (D7FF, bit 3) - const EVENT_BEAT_SS_ANNE_5_TRAINER_0 ; 5C4, (D7FF, bit 4) - const EVENT_BEAT_SS_ANNE_5_TRAINER_1 ; 5C5, (D7FF, bit 5) - const EVENT_5C6 ; 5C6, (D7FF, bit 6) - const EVENT_5C7 ; 5C7, (D7FF, bit 7) - const EVENT_5C8 ; 5C8, (D800, bit 0) - const EVENT_5C9 ; 5C9, (D800, bit 1) - const EVENT_5CA ; 5CA, (D800, bit 2) - const EVENT_5CB ; 5CB, (D800, bit 3) - const EVENT_5CC ; 5CC, (D800, bit 4) - const EVENT_5CD ; 5CD, (D800, bit 5) - const EVENT_5CE ; 5CE, (D800, bit 6) - const EVENT_5CF ; 5CF, (D800, bit 7) - const EVENT_5D0 ; 5D0, (D801, bit 0) - const EVENT_5D1 ; 5D1, (D801, bit 1) - const EVENT_5D2 ; 5D2, (D801, bit 2) - const EVENT_5D3 ; 5D3, (D801, bit 3) - const EVENT_5D4 ; 5D4, (D801, bit 4) - const EVENT_5D5 ; 5D5, (D801, bit 5) - const EVENT_5D6 ; 5D6, (D801, bit 6) - const EVENT_5D7 ; 5D7, (D801, bit 7) - const EVENT_5D8 ; 5D8, (D802, bit 0) - const EVENT_5D9 ; 5D9, (D802, bit 1) - const EVENT_5DA ; 5DA, (D802, bit 2) - const EVENT_5DB ; 5DB, (D802, bit 3) - const EVENT_5DC ; 5DC, (D802, bit 4) - const EVENT_5DD ; 5DD, (D802, bit 5) - const EVENT_5DE ; 5DE, (D802, bit 6) - const EVENT_5DF ; 5DF, (D802, bit 7) - const EVENT_GOT_HM01 ; 5E0, (D803, bit 0) - const EVENT_RUBBED_CAPTAINS_BACK ; 5E1, (D803, bit 1) - const EVENT_SS_ANNE_LEFT ; 5E2, (D803, bit 2) - const EVENT_WALKED_PAST_GUARD_AFTER_SS_ANNE_LEFT ; 5E3, (D803, bit 3) - const EVENT_STARTED_WALKING_OUT_OF_DOCK ; 5E4, (D803, bit 4) - const EVENT_WALKED_OUT_OF_DOCK ; 5E5, (D803, bit 5) - const EVENT_5E6 ; 5E6, (D803, bit 6) - const EVENT_5E7 ; 5E7, (D803, bit 7) - const EVENT_5E8 ; 5E8, (D804, bit 0) - const EVENT_5E9 ; 5E9, (D804, bit 1) - const EVENT_5EA ; 5EA, (D804, bit 2) - const EVENT_5EB ; 5EB, (D804, bit 3) - const EVENT_5EC ; 5EC, (D804, bit 4) - const EVENT_5ED ; 5ED, (D804, bit 5) - const EVENT_5EE ; 5EE, (D804, bit 6) - const EVENT_5EF ; 5EF, (D804, bit 7) - const EVENT_5F0 ; 5F0, (D805, bit 0) - const EVENT_BEAT_SS_ANNE_8_TRAINER_0 ; 5F1, (D805, bit 1) - const EVENT_BEAT_SS_ANNE_8_TRAINER_1 ; 5F2, (D805, bit 2) - const EVENT_BEAT_SS_ANNE_8_TRAINER_2 ; 5F3, (D805, bit 3) - const EVENT_BEAT_SS_ANNE_8_TRAINER_3 ; 5F4, (D805, bit 4) - const EVENT_5F5 ; 5F5, (D805, bit 5) - const EVENT_5F6 ; 5F6, (D805, bit 6) - const EVENT_5F7 ; 5F7, (D805, bit 7) - const EVENT_5F8 ; 5F8, (D806, bit 0) - const EVENT_5F9 ; 5F9, (D806, bit 1) - const EVENT_5FA ; 5FA, (D806, bit 2) - const EVENT_5FB ; 5FB, (D806, bit 3) - const EVENT_5FC ; 5FC, (D806, bit 4) - const EVENT_5FD ; 5FD, (D806, bit 5) - const EVENT_5FE ; 5FE, (D806, bit 6) - const EVENT_5FF ; 5FF, (D806, bit 7) - const EVENT_600 ; 600, (D807, bit 0) - const EVENT_BEAT_SS_ANNE_9_TRAINER_0 ; 601, (D807, bit 1) - const EVENT_BEAT_SS_ANNE_9_TRAINER_1 ; 602, (D807, bit 2) - const EVENT_BEAT_SS_ANNE_9_TRAINER_2 ; 603, (D807, bit 3) - const EVENT_BEAT_SS_ANNE_9_TRAINER_3 ; 604, (D807, bit 4) - const EVENT_605 ; 605, (D807, bit 5) - const EVENT_606 ; 606, (D807, bit 6) - const EVENT_607 ; 607, (D807, bit 7) - const EVENT_608 ; 608, (D808, bit 0) - const EVENT_609 ; 609, (D808, bit 1) - const EVENT_60A ; 60A, (D808, bit 2) - const EVENT_60B ; 60B, (D808, bit 3) - const EVENT_60C ; 60C, (D808, bit 4) - const EVENT_60D ; 60D, (D808, bit 5) - const EVENT_60E ; 60E, (D808, bit 6) - const EVENT_60F ; 60F, (D808, bit 7) - const EVENT_610 ; 610, (D809, bit 0) - const EVENT_BEAT_SS_ANNE_10_TRAINER_0 ; 611, (D809, bit 1) - const EVENT_BEAT_SS_ANNE_10_TRAINER_1 ; 612, (D809, bit 2) - const EVENT_BEAT_SS_ANNE_10_TRAINER_2 ; 613, (D809, bit 3) - const EVENT_BEAT_SS_ANNE_10_TRAINER_3 ; 614, (D809, bit 4) - const EVENT_BEAT_SS_ANNE_10_TRAINER_4 ; 615, (D809, bit 5) - const EVENT_BEAT_SS_ANNE_10_TRAINER_5 ; 616, (D809, bit 6) - const EVENT_617 ; 617, (D809, bit 7) - const EVENT_618 ; 618, (D80A, bit 0) - const EVENT_619 ; 619, (D80A, bit 1) - const EVENT_61A ; 61A, (D80A, bit 2) - const EVENT_61B ; 61B, (D80A, bit 3) - const EVENT_61C ; 61C, (D80A, bit 4) - const EVENT_61D ; 61D, (D80A, bit 5) - const EVENT_61E ; 61E, (D80A, bit 6) - const EVENT_61F ; 61F, (D80A, bit 7) - const EVENT_620 ; 620, (D80B, bit 0) - const EVENT_621 ; 621, (D80B, bit 1) - const EVENT_622 ; 622, (D80B, bit 2) - const EVENT_623 ; 623, (D80B, bit 3) - const EVENT_624 ; 624, (D80B, bit 4) - const EVENT_625 ; 625, (D80B, bit 5) - const EVENT_626 ; 626, (D80B, bit 6) - const EVENT_627 ; 627, (D80B, bit 7) - const EVENT_628 ; 628, (D80C, bit 0) - const EVENT_629 ; 629, (D80C, bit 1) - const EVENT_62A ; 62A, (D80C, bit 2) - const EVENT_62B ; 62B, (D80C, bit 3) - const EVENT_62C ; 62C, (D80C, bit 4) - const EVENT_62D ; 62D, (D80C, bit 5) - const EVENT_62E ; 62E, (D80C, bit 6) - const EVENT_62F ; 62F, (D80C, bit 7) - const EVENT_630 ; 630, (D80D, bit 0) - const EVENT_631 ; 631, (D80D, bit 1) - const EVENT_632 ; 632, (D80D, bit 2) - const EVENT_633 ; 633, (D80D, bit 3) - const EVENT_634 ; 634, (D80D, bit 4) - const EVENT_635 ; 635, (D80D, bit 5) - const EVENT_636 ; 636, (D80D, bit 6) - const EVENT_637 ; 637, (D80D, bit 7) - const EVENT_638 ; 638, (D80E, bit 0) - const EVENT_639 ; 639, (D80E, bit 1) - const EVENT_63A ; 63A, (D80E, bit 2) - const EVENT_63B ; 63B, (D80E, bit 3) - const EVENT_63C ; 63C, (D80E, bit 4) - const EVENT_63D ; 63D, (D80E, bit 5) - const EVENT_63E ; 63E, (D80E, bit 6) - const EVENT_63F ; 63F, (D80E, bit 7) - const EVENT_640 ; 640, (D80F, bit 0) - const EVENT_641 ; 641, (D80F, bit 1) - const EVENT_642 ; 642, (D80F, bit 2) - const EVENT_643 ; 643, (D80F, bit 3) - const EVENT_644 ; 644, (D80F, bit 4) - const EVENT_645 ; 645, (D80F, bit 5) - const EVENT_646 ; 646, (D80F, bit 6) - const EVENT_647 ; 647, (D80F, bit 7) - const EVENT_648 ; 648, (D810, bit 0) - const EVENT_649 ; 649, (D810, bit 1) - const EVENT_64A ; 64A, (D810, bit 2) - const EVENT_64B ; 64B, (D810, bit 3) - const EVENT_64C ; 64C, (D810, bit 4) - const EVENT_64D ; 64D, (D810, bit 5) - const EVENT_64E ; 64E, (D810, bit 6) - const EVENT_64F ; 64F, (D810, bit 7) - const EVENT_650 ; 650, (D811, bit 0) - const EVENT_651 ; 651, (D811, bit 1) - const EVENT_652 ; 652, (D811, bit 2) - const EVENT_653 ; 653, (D811, bit 3) - const EVENT_654 ; 654, (D811, bit 4) - const EVENT_655 ; 655, (D811, bit 5) - const EVENT_656 ; 656, (D811, bit 6) - const EVENT_657 ; 657, (D811, bit 7) - const EVENT_658 ; 658, (D812, bit 0) - const EVENT_659 ; 659, (D812, bit 1) - const EVENT_65A ; 65A, (D812, bit 2) - const EVENT_65B ; 65B, (D812, bit 3) - const EVENT_65C ; 65C, (D812, bit 4) - const EVENT_65D ; 65D, (D812, bit 5) - const EVENT_65E ; 65E, (D812, bit 6) - const EVENT_65F ; 65F, (D812, bit 7) - const EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1 ; 660, (D813, bit 0) - const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0 ; 661, (D813, bit 1) - const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1 ; 662, (D813, bit 2) - const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2 ; 663, (D813, bit 3) - const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3 ; 664, (D813, bit 4) - const EVENT_665 ; 665, (D813, bit 5) - const EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2 ; 666, (D813, bit 6) - const EVENT_667 ; 667, (D813, bit 7) - const EVENT_668 ; 668, (D814, bit 0) - const EVENT_669 ; 669, (D814, bit 1) - const EVENT_66A ; 66A, (D814, bit 2) - const EVENT_66B ; 66B, (D814, bit 3) - const EVENT_66C ; 66C, (D814, bit 4) - const EVENT_66D ; 66D, (D814, bit 5) - const EVENT_66E ; 66E, (D814, bit 6) - const EVENT_66F ; 66F, (D814, bit 7) - const EVENT_670 ; 670, (D815, bit 0) - const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0 ; 671, (D815, bit 1) - const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1 ; 672, (D815, bit 2) - const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2 ; 673, (D815, bit 3) - const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3 ; 674, (D815, bit 4) - const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 ; 675, (D815, bit 5) - const EVENT_676 ; 676, (D815, bit 6) - const EVENT_677 ; 677, (D815, bit 7) - const EVENT_678 ; 678, (D816, bit 0) - const EVENT_679 ; 679, (D816, bit 1) - const EVENT_67A ; 67A, (D816, bit 2) - const EVENT_67B ; 67B, (D816, bit 3) - const EVENT_67C ; 67C, (D816, bit 4) - const EVENT_67D ; 67D, (D816, bit 5) - const EVENT_67E ; 67E, (D816, bit 6) - const EVENT_67F ; 67F, (D816, bit 7) - const EVENT_680 ; 680, (D817, bit 0) - const EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0 ; 681, (D817, bit 1) - const EVENT_682 ; 682, (D817, bit 2) - const EVENT_683 ; 683, (D817, bit 3) - const EVENT_684 ; 684, (D817, bit 4) - const EVENT_685 ; 685, (D817, bit 5) - const EVENT_686 ; 686, (D817, bit 6) - const EVENT_687 ; 687, (D817, bit 7) - const EVENT_688 ; 688, (D818, bit 0) - const EVENT_689 ; 689, (D818, bit 1) - const EVENT_68A ; 68A, (D818, bit 2) - const EVENT_68B ; 68B, (D818, bit 3) - const EVENT_68C ; 68C, (D818, bit 4) - const EVENT_68D ; 68D, (D818, bit 5) - const EVENT_68E ; 68E, (D818, bit 6) - const EVENT_68F ; 68F, (D818, bit 7) - const EVENT_690 ; 690, (D819, bit 0) - const EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0 ; 691, (D819, bit 1) - const EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1 ; 692, (D819, bit 2) - const EVENT_693 ; 693, (D819, bit 3) - const EVENT_694 ; 694, (D819, bit 4) - const EVENT_695 ; 695, (D819, bit 5) - const EVENT_696 ; 696, (D819, bit 6) - const EVENT_697 ; 697, (D819, bit 7) - const EVENT_698 ; 698, (D81A, bit 0) - const EVENT_699 ; 699, (D81A, bit 1) - const EVENT_69A ; 69A, (D81A, bit 2) - const EVENT_69B ; 69B, (D81A, bit 3) - const EVENT_69C ; 69C, (D81A, bit 4) - const EVENT_69D ; 69D, (D81A, bit 5) - const EVENT_69E ; 69E, (D81A, bit 6) - const EVENT_69F ; 69F, (D81A, bit 7) - const EVENT_6A0 ; 6A0, (D81B, bit 0) - const EVENT_6A1 ; 6A1, (D81B, bit 1) - const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0 ; 6A2, (D81B, bit 2) - const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1 ; 6A3, (D81B, bit 3) - const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2 ; 6A4, (D81B, bit 4) - const EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED ; 6A5, (D81B, bit 5) - const EVENT_ROCKET_DROPPED_LIFT_KEY ; 6A6, (D81B, bit 6) - const EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI ; 6A7, (D81B, bit 7) - const EVENT_6A8 ; 6A8, (D81C, bit 0) - const EVENT_6A9 ; 6A9, (D81C, bit 1) - const EVENT_6AA ; 6AA, (D81C, bit 2) - const EVENT_6AB ; 6AB, (D81C, bit 3) - const EVENT_6AC ; 6AC, (D81C, bit 4) - const EVENT_6AD ; 6AD, (D81C, bit 5) - const EVENT_6AE ; 6AE, (D81C, bit 6) - const EVENT_6AF ; 6AF, (D81C, bit 7) - const EVENT_6B0 ; 6B0, (D81D, bit 0) - const EVENT_6B1 ; 6B1, (D81D, bit 1) - const EVENT_6B2 ; 6B2, (D81D, bit 2) - const EVENT_6B3 ; 6B3, (D81D, bit 3) - const EVENT_6B4 ; 6B4, (D81D, bit 4) - const EVENT_6B5 ; 6B5, (D81D, bit 5) - const EVENT_6B6 ; 6B6, (D81D, bit 6) - const EVENT_6B7 ; 6B7, (D81D, bit 7) - const EVENT_6B8 ; 6B8, (D81E, bit 0) - const EVENT_6B9 ; 6B9, (D81E, bit 1) - const EVENT_6BA ; 6BA, (D81E, bit 2) - const EVENT_6BB ; 6BB, (D81E, bit 3) - const EVENT_6BC ; 6BC, (D81E, bit 4) - const EVENT_6BD ; 6BD, (D81E, bit 5) - const EVENT_6BE ; 6BE, (D81E, bit 6) - const EVENT_6BF ; 6BF, (D81E, bit 7) - const EVENT_6C0 ; 6C0, (D81F, bit 0) - const EVENT_6C1 ; 6C1, (D81F, bit 1) - const EVENT_6C2 ; 6C2, (D81F, bit 2) - const EVENT_6C3 ; 6C3, (D81F, bit 3) - const EVENT_6C4 ; 6C4, (D81F, bit 4) - const EVENT_6C5 ; 6C5, (D81F, bit 5) - const EVENT_6C6 ; 6C6, (D81F, bit 6) - const EVENT_6C7 ; 6C7, (D81F, bit 7) - const EVENT_6C8 ; 6C8, (D820, bit 0) - const EVENT_6C9 ; 6C9, (D820, bit 1) - const EVENT_6CA ; 6CA, (D820, bit 2) - const EVENT_6CB ; 6CB, (D820, bit 3) - const EVENT_6CC ; 6CC, (D820, bit 4) - const EVENT_6CD ; 6CD, (D820, bit 5) - const EVENT_6CE ; 6CE, (D820, bit 6) - const EVENT_6CF ; 6CF, (D820, bit 7) - const EVENT_6D0 ; 6D0, (D821, bit 0) - const EVENT_6D1 ; 6D1, (D821, bit 1) - const EVENT_6D2 ; 6D2, (D821, bit 2) - const EVENT_6D3 ; 6D3, (D821, bit 3) - const EVENT_6D4 ; 6D4, (D821, bit 4) - const EVENT_6D5 ; 6D5, (D821, bit 5) - const EVENT_6D6 ; 6D6, (D821, bit 6) - const EVENT_6D7 ; 6D7, (D821, bit 7) - const EVENT_6D8 ; 6D8, (D822, bit 0) - const EVENT_6D9 ; 6D9, (D822, bit 1) - const EVENT_6DA ; 6DA, (D822, bit 2) - const EVENT_6DB ; 6DB, (D822, bit 3) - const EVENT_6DC ; 6DC, (D822, bit 4) - const EVENT_6DD ; 6DD, (D822, bit 5) - const EVENT_6DE ; 6DE, (D822, bit 6) - const EVENT_6DF ; 6DF, (D822, bit 7) - const EVENT_6E0 ; 6E0, (D823, bit 0) - const EVENT_6E1 ; 6E1, (D823, bit 1) - const EVENT_6E2 ; 6E2, (D823, bit 2) - const EVENT_6E3 ; 6E3, (D823, bit 3) - const EVENT_6E4 ; 6E4, (D823, bit 4) - const EVENT_6E5 ; 6E5, (D823, bit 5) - const EVENT_6E6 ; 6E6, (D823, bit 6) - const EVENT_6E7 ; 6E7, (D823, bit 7) - const EVENT_6E8 ; 6E8, (D824, bit 0) - const EVENT_6E9 ; 6E9, (D824, bit 1) - const EVENT_6EA ; 6EA, (D824, bit 2) - const EVENT_6EB ; 6EB, (D824, bit 3) - const EVENT_6EC ; 6EC, (D824, bit 4) - const EVENT_6ED ; 6ED, (D824, bit 5) - const EVENT_6EE ; 6EE, (D824, bit 6) - const EVENT_6EF ; 6EF, (D824, bit 7) - const EVENT_6F0 ; 6F0, (D825, bit 0) - const EVENT_6F1 ; 6F1, (D825, bit 1) - const EVENT_BEAT_SILPH_CO_2F_TRAINER_0 ; 6F2, (D825, bit 2) - const EVENT_BEAT_SILPH_CO_2F_TRAINER_1 ; 6F3, (D825, bit 3) - const EVENT_BEAT_SILPH_CO_2F_TRAINER_2 ; 6F4, (D825, bit 4) - const EVENT_BEAT_SILPH_CO_2F_TRAINER_3 ; 6F5, (D825, bit 5) - const EVENT_6F6 ; 6F6, (D825, bit 6) - const EVENT_6F7 ; 6F7, (D825, bit 7) - const EVENT_6F8 ; 6F8, (D826, bit 0) - const EVENT_6F9 ; 6F9, (D826, bit 1) - const EVENT_6FA ; 6FA, (D826, bit 2) - const EVENT_6FB ; 6FB, (D826, bit 3) - const EVENT_6FC ; 6FC, (D826, bit 4) - const EVENT_SILPH_CO_2_UNLOCKED_DOOR1 ; 6FD, (D826, bit 5) - const EVENT_SILPH_CO_2_UNLOCKED_DOOR2 ; 6FE, (D826, bit 6) - const EVENT_GOT_TM36 ; 6FF, (D826, bit 7) - const EVENT_700 ; 700, (D827, bit 0) - const EVENT_701 ; 701, (D827, bit 1) - const EVENT_BEAT_SILPH_CO_3F_TRAINER_0 ; 702, (D827, bit 2) - const EVENT_BEAT_SILPH_CO_3F_TRAINER_1 ; 703, (D827, bit 3) - const EVENT_704 ; 704, (D827, bit 4) - const EVENT_705 ; 705, (D827, bit 5) - const EVENT_706 ; 706, (D827, bit 6) - const EVENT_707 ; 707, (D827, bit 7) - const EVENT_SILPH_CO_3_UNLOCKED_DOOR1 ; 708, (D828, bit 0) - const EVENT_SILPH_CO_3_UNLOCKED_DOOR2 ; 709, (D828, bit 1) - const EVENT_70A ; 70A, (D828, bit 2) - const EVENT_70B ; 70B, (D828, bit 3) - const EVENT_70C ; 70C, (D828, bit 4) - const EVENT_70D ; 70D, (D828, bit 5) - const EVENT_70E ; 70E, (D828, bit 6) - const EVENT_70F ; 70F, (D828, bit 7) - const EVENT_710 ; 710, (D829, bit 0) - const EVENT_711 ; 711, (D829, bit 1) - const EVENT_BEAT_SILPH_CO_4F_TRAINER_0 ; 712, (D829, bit 2) - const EVENT_BEAT_SILPH_CO_4F_TRAINER_1 ; 713, (D829, bit 3) - const EVENT_BEAT_SILPH_CO_4F_TRAINER_2 ; 714, (D829, bit 4) - const EVENT_715 ; 715, (D829, bit 5) - const EVENT_716 ; 716, (D829, bit 6) - const EVENT_717 ; 717, (D829, bit 7) - const EVENT_SILPH_CO_4_UNLOCKED_DOOR1 ; 718, (D82A, bit 0) - const EVENT_SILPH_CO_4_UNLOCKED_DOOR2 ; 719, (D82A, bit 1) - const EVENT_71A ; 71A, (D82A, bit 2) - const EVENT_71B ; 71B, (D82A, bit 3) - const EVENT_71C ; 71C, (D82A, bit 4) - const EVENT_71D ; 71D, (D82A, bit 5) - const EVENT_71E ; 71E, (D82A, bit 6) - const EVENT_71F ; 71F, (D82A, bit 7) - const EVENT_720 ; 720, (D82B, bit 0) - const EVENT_721 ; 721, (D82B, bit 1) - const EVENT_BEAT_SILPH_CO_5F_TRAINER_0 ; 722, (D82B, bit 2) - const EVENT_BEAT_SILPH_CO_5F_TRAINER_1 ; 723, (D82B, bit 3) - const EVENT_BEAT_SILPH_CO_5F_TRAINER_2 ; 724, (D82B, bit 4) - const EVENT_BEAT_SILPH_CO_5F_TRAINER_3 ; 725, (D82B, bit 5) - const EVENT_726 ; 726, (D82B, bit 6) - const EVENT_727 ; 727, (D82B, bit 7) - const EVENT_SILPH_CO_5_UNLOCKED_DOOR1 ; 728, (D82C, bit 0) - const EVENT_SILPH_CO_5_UNLOCKED_DOOR2 ; 729, (D82C, bit 1) - const EVENT_SILPH_CO_5_UNLOCKED_DOOR3 ; 72A, (D82C, bit 2) - const EVENT_72B ; 72B, (D82C, bit 3) - const EVENT_72C ; 72C, (D82C, bit 4) - const EVENT_72D ; 72D, (D82C, bit 5) - const EVENT_72E ; 72E, (D82C, bit 6) - const EVENT_72F ; 72F, (D82C, bit 7) - const EVENT_730 ; 730, (D82D, bit 0) - const EVENT_731 ; 731, (D82D, bit 1) - const EVENT_732 ; 732, (D82D, bit 2) - const EVENT_733 ; 733, (D82D, bit 3) - const EVENT_734 ; 734, (D82D, bit 4) - const EVENT_735 ; 735, (D82D, bit 5) - const EVENT_BEAT_SILPH_CO_6F_TRAINER_0 ; 736, (D82D, bit 6) - const EVENT_BEAT_SILPH_CO_6F_TRAINER_1 ; 737, (D82D, bit 7) - const EVENT_BEAT_SILPH_CO_6F_TRAINER_2 ; 738, (D82E, bit 0) - const EVENT_739 ; 739, (D82E, bit 1) - const EVENT_73A ; 73A, (D82E, bit 2) - const EVENT_73B ; 73B, (D82E, bit 3) - const EVENT_73C ; 73C, (D82E, bit 4) - const EVENT_73D ; 73D, (D82E, bit 5) - const EVENT_73E ; 73E, (D82E, bit 6) - const EVENT_SILPH_CO_6_UNLOCKED_DOOR ; 73F, (D82E, bit 7) - const EVENT_BEAT_SILPH_CO_RIVAL ; 740, (D82F, bit 0) - const EVENT_741 ; 741, (D82F, bit 1) - const EVENT_742 ; 742, (D82F, bit 2) - const EVENT_743 ; 743, (D82F, bit 3) - const EVENT_744 ; 744, (D82F, bit 4) - const EVENT_BEAT_SILPH_CO_7F_TRAINER_0 ; 745, (D82F, bit 5) - const EVENT_BEAT_SILPH_CO_7F_TRAINER_1 ; 746, (D82F, bit 6) - const EVENT_BEAT_SILPH_CO_7F_TRAINER_2 ; 747, (D82F, bit 7) - const EVENT_BEAT_SILPH_CO_7F_TRAINER_3 ; 748, (D830, bit 0) - const EVENT_749 ; 749, (D830, bit 1) - const EVENT_74A ; 74A, (D830, bit 2) - const EVENT_74B ; 74B, (D830, bit 3) - const EVENT_SILPH_CO_7_UNLOCKED_DOOR1 ; 74C, (D830, bit 4) - const EVENT_SILPH_CO_7_UNLOCKED_DOOR2 ; 74D, (D830, bit 5) - const EVENT_SILPH_CO_7_UNLOCKED_DOOR3 ; 74E, (D830, bit 6) - const EVENT_74F ; 74F, (D830, bit 7) - const EVENT_750 ; 750, (D831, bit 0) - const EVENT_751 ; 751, (D831, bit 1) - const EVENT_BEAT_SILPH_CO_8F_TRAINER_0 ; 752, (D831, bit 2) - const EVENT_BEAT_SILPH_CO_8F_TRAINER_1 ; 753, (D831, bit 3) - const EVENT_BEAT_SILPH_CO_8F_TRAINER_2 ; 754, (D831, bit 4) - const EVENT_755 ; 755, (D831, bit 5) - const EVENT_756 ; 756, (D831, bit 6) - const EVENT_757 ; 757, (D831, bit 7) - const EVENT_SILPH_CO_8_UNLOCKED_DOOR ; 758, (D832, bit 0) - const EVENT_759 ; 759, (D832, bit 1) - const EVENT_75A ; 75A, (D832, bit 2) - const EVENT_75B ; 75B, (D832, bit 3) - const EVENT_75C ; 75C, (D832, bit 4) - const EVENT_75D ; 75D, (D832, bit 5) - const EVENT_75E ; 75E, (D832, bit 6) - const EVENT_75F ; 75F, (D832, bit 7) - const EVENT_760 ; 760, (D833, bit 0) - const EVENT_761 ; 761, (D833, bit 1) - const EVENT_BEAT_SILPH_CO_9F_TRAINER_0 ; 762, (D833, bit 2) - const EVENT_BEAT_SILPH_CO_9F_TRAINER_1 ; 763, (D833, bit 3) - const EVENT_BEAT_SILPH_CO_9F_TRAINER_2 ; 764, (D833, bit 4) - const EVENT_765 ; 765, (D833, bit 5) - const EVENT_766 ; 766, (D833, bit 6) - const EVENT_767 ; 767, (D833, bit 7) - const EVENT_SILPH_CO_9_UNLOCKED_DOOR1 ; 768, (D834, bit 0) - const EVENT_SILPH_CO_9_UNLOCKED_DOOR2 ; 769, (D834, bit 1) - const EVENT_SILPH_CO_9_UNLOCKED_DOOR3 ; 76A, (D834, bit 2) - const EVENT_SILPH_CO_9_UNLOCKED_DOOR4 ; 76B, (D834, bit 3) - const EVENT_76C ; 76C, (D834, bit 4) - const EVENT_76D ; 76D, (D834, bit 5) - const EVENT_76E ; 76E, (D834, bit 6) - const EVENT_76F ; 76F, (D834, bit 7) - const EVENT_770 ; 770, (D835, bit 0) - const EVENT_BEAT_SILPH_CO_10F_TRAINER_0 ; 771, (D835, bit 1) - const EVENT_BEAT_SILPH_CO_10F_TRAINER_1 ; 772, (D835, bit 2) - const EVENT_773 ; 773, (D835, bit 3) - const EVENT_774 ; 774, (D835, bit 4) - const EVENT_775 ; 775, (D835, bit 5) - const EVENT_776 ; 776, (D835, bit 6) - const EVENT_777 ; 777, (D835, bit 7) - const EVENT_SILPH_CO_10_UNLOCKED_DOOR ; 778, (D836, bit 0) - const EVENT_779 ; 779, (D836, bit 1) - const EVENT_77A ; 77A, (D836, bit 2) - const EVENT_77B ; 77B, (D836, bit 3) - const EVENT_77C ; 77C, (D836, bit 4) - const EVENT_77D ; 77D, (D836, bit 5) - const EVENT_77E ; 77E, (D836, bit 6) - const EVENT_77F ; 77F, (D836, bit 7) - const EVENT_780 ; 780, (D837, bit 0) - const EVENT_781 ; 781, (D837, bit 1) - const EVENT_782 ; 782, (D837, bit 2) - const EVENT_783 ; 783, (D837, bit 3) - const EVENT_BEAT_SILPH_CO_11F_TRAINER_0 ; 784, (D837, bit 4) - const EVENT_BEAT_SILPH_CO_11F_TRAINER_1 ; 785, (D837, bit 5) - const EVENT_786 ; 786, (D837, bit 6) - const EVENT_787 ; 787, (D837, bit 7) - const EVENT_SILPH_CO_11_UNLOCKED_DOOR ; 788, (D838, bit 0) - const EVENT_789 ; 789, (D838, bit 1) - const EVENT_78A ; 78A, (D838, bit 2) - const EVENT_78B ; 78B, (D838, bit 3) - const EVENT_78C ; 78C, (D838, bit 4) - const EVENT_GOT_MASTER_BALL ; 78D, (D838, bit 5) - const EVENT_78E ; 78E, (D838, bit 6) - const EVENT_BEAT_SILPH_CO_GIOVANNI ; 78F, (D838, bit 7) - const EVENT_790 ; 790, (D839, bit 0) - const EVENT_791 ; 791, (D839, bit 1) - const EVENT_792 ; 792, (D839, bit 2) - const EVENT_793 ; 793, (D839, bit 3) - const EVENT_794 ; 794, (D839, bit 4) - const EVENT_795 ; 795, (D839, bit 5) - const EVENT_796 ; 796, (D839, bit 6) - const EVENT_797 ; 797, (D839, bit 7) - const EVENT_798 ; 798, (D83A, bit 0) - const EVENT_799 ; 799, (D83A, bit 1) - const EVENT_79A ; 79A, (D83A, bit 2) - const EVENT_79B ; 79B, (D83A, bit 3) - const EVENT_79C ; 79C, (D83A, bit 4) - const EVENT_79D ; 79D, (D83A, bit 5) - const EVENT_79E ; 79E, (D83A, bit 6) - const EVENT_79F ; 79F, (D83A, bit 7) - const EVENT_7A0 ; 7A0, (D83B, bit 0) - const EVENT_7A1 ; 7A1, (D83B, bit 1) - const EVENT_7A2 ; 7A2, (D83B, bit 2) - const EVENT_7A3 ; 7A3, (D83B, bit 3) - const EVENT_7A4 ; 7A4, (D83B, bit 4) - const EVENT_7A5 ; 7A5, (D83B, bit 5) - const EVENT_7A6 ; 7A6, (D83B, bit 6) - const EVENT_7A7 ; 7A7, (D83B, bit 7) - const EVENT_7A8 ; 7A8, (D83C, bit 0) - const EVENT_7A9 ; 7A9, (D83C, bit 1) - const EVENT_7AA ; 7AA, (D83C, bit 2) - const EVENT_7AB ; 7AB, (D83C, bit 3) - const EVENT_7AC ; 7AC, (D83C, bit 4) - const EVENT_7AD ; 7AD, (D83C, bit 5) - const EVENT_7AE ; 7AE, (D83C, bit 6) - const EVENT_7AF ; 7AF, (D83C, bit 7) - const EVENT_7B0 ; 7B0, (D83D, bit 0) - const EVENT_7B1 ; 7B1, (D83D, bit 1) - const EVENT_7B2 ; 7B2, (D83D, bit 2) - const EVENT_7B3 ; 7B3, (D83D, bit 3) - const EVENT_7B4 ; 7B4, (D83D, bit 4) - const EVENT_7B5 ; 7B5, (D83D, bit 5) - const EVENT_7B6 ; 7B6, (D83D, bit 6) - const EVENT_7B7 ; 7B7, (D83D, bit 7) - const EVENT_7B8 ; 7B8, (D83E, bit 0) - const EVENT_7B9 ; 7B9, (D83E, bit 1) - const EVENT_7BA ; 7BA, (D83E, bit 2) - const EVENT_7BB ; 7BB, (D83E, bit 3) - const EVENT_7BC ; 7BC, (D83E, bit 4) - const EVENT_7BD ; 7BD, (D83E, bit 5) - const EVENT_7BE ; 7BE, (D83E, bit 6) - const EVENT_7BF ; 7BF, (D83E, bit 7) - const EVENT_7C0 ; 7C0, (D83F, bit 0) - const EVENT_7C1 ; 7C1, (D83F, bit 1) - const EVENT_7C2 ; 7C2, (D83F, bit 2) - const EVENT_7C3 ; 7C3, (D83F, bit 3) - const EVENT_7C4 ; 7C4, (D83F, bit 4) - const EVENT_7C5 ; 7C5, (D83F, bit 5) - const EVENT_7C6 ; 7C6, (D83F, bit 6) - const EVENT_7C7 ; 7C7, (D83F, bit 7) - const EVENT_7C8 ; 7C8, (D840, bit 0) - const EVENT_7C9 ; 7C9, (D840, bit 1) - const EVENT_7CA ; 7CA, (D840, bit 2) - const EVENT_7CB ; 7CB, (D840, bit 3) - const EVENT_7CC ; 7CC, (D840, bit 4) - const EVENT_7CD ; 7CD, (D840, bit 5) - const EVENT_7CE ; 7CE, (D840, bit 6) - const EVENT_7CF ; 7CF, (D840, bit 7) - const EVENT_7D0 ; 7D0, (D841, bit 0) - const EVENT_7D1 ; 7D1, (D841, bit 1) - const EVENT_7D2 ; 7D2, (D841, bit 2) - const EVENT_7D3 ; 7D3, (D841, bit 3) - const EVENT_7D4 ; 7D4, (D841, bit 4) - const EVENT_7D5 ; 7D5, (D841, bit 5) - const EVENT_7D6 ; 7D6, (D841, bit 6) - const EVENT_7D7 ; 7D7, (D841, bit 7) - const EVENT_7D8 ; 7D8, (D842, bit 0) - const EVENT_7D9 ; 7D9, (D842, bit 1) - const EVENT_7DA ; 7DA, (D842, bit 2) - const EVENT_7DB ; 7DB, (D842, bit 3) - const EVENT_7DC ; 7DC, (D842, bit 4) - const EVENT_7DD ; 7DD, (D842, bit 5) - const EVENT_7DE ; 7DE, (D842, bit 6) - const EVENT_7DF ; 7DF, (D842, bit 7) - const EVENT_7E0 ; 7E0, (D843, bit 0) - const EVENT_7E1 ; 7E1, (D843, bit 1) - const EVENT_7E2 ; 7E2, (D843, bit 2) - const EVENT_7E3 ; 7E3, (D843, bit 3) - const EVENT_7E4 ; 7E4, (D843, bit 4) - const EVENT_7E5 ; 7E5, (D843, bit 5) - const EVENT_7E6 ; 7E6, (D843, bit 6) - const EVENT_7E7 ; 7E7, (D843, bit 7) - const EVENT_7E8 ; 7E8, (D844, bit 0) - const EVENT_7E9 ; 7E9, (D844, bit 1) - const EVENT_7EA ; 7EA, (D844, bit 2) - const EVENT_7EB ; 7EB, (D844, bit 3) - const EVENT_7EC ; 7EC, (D844, bit 4) - const EVENT_7ED ; 7ED, (D844, bit 5) - const EVENT_7EE ; 7EE, (D844, bit 6) - const EVENT_7EF ; 7EF, (D844, bit 7) - const EVENT_7F0 ; 7F0, (D845, bit 0) - const EVENT_7F1 ; 7F1, (D845, bit 1) - const EVENT_7F2 ; 7F2, (D845, bit 2) - const EVENT_7F3 ; 7F3, (D845, bit 3) - const EVENT_7F4 ; 7F4, (D845, bit 4) - const EVENT_7F5 ; 7F5, (D845, bit 5) - const EVENT_7F6 ; 7F6, (D845, bit 6) - const EVENT_7F7 ; 7F7, (D845, bit 7) - const EVENT_7F8 ; 7F8, (D846, bit 0) - const EVENT_7F9 ; 7F9, (D846, bit 1) - const EVENT_7FA ; 7FA, (D846, bit 2) - const EVENT_7FB ; 7FB, (D846, bit 3) - const EVENT_7FC ; 7FC, (D846, bit 4) - const EVENT_7FD ; 7FD, (D846, bit 5) - const EVENT_7FE ; 7FE, (D846, bit 6) - const EVENT_7FF ; 7FF, (D846, bit 7) - const EVENT_800 ; 800, (D847, bit 0) - const EVENT_BEAT_MANSION_2_TRAINER_0 ; 801, (D847, bit 1) - const EVENT_802 ; 802, (D847, bit 2) - const EVENT_803 ; 803, (D847, bit 3) - const EVENT_804 ; 804, (D847, bit 4) - const EVENT_805 ; 805, (D847, bit 5) - const EVENT_806 ; 806, (D847, bit 6) - const EVENT_807 ; 807, (D847, bit 7) - const EVENT_808 ; 808, (D848, bit 0) - const EVENT_809 ; 809, (D848, bit 1) - const EVENT_80A ; 80A, (D848, bit 2) - const EVENT_80B ; 80B, (D848, bit 3) - const EVENT_80C ; 80C, (D848, bit 4) - const EVENT_80D ; 80D, (D848, bit 5) - const EVENT_80E ; 80E, (D848, bit 6) - const EVENT_80F ; 80F, (D848, bit 7) - const EVENT_810 ; 810, (D849, bit 0) - const EVENT_BEAT_MANSION_3_TRAINER_0 ; 811, (D849, bit 1) - const EVENT_BEAT_MANSION_3_TRAINER_1 ; 812, (D849, bit 2) - const EVENT_813 ; 813, (D849, bit 3) - const EVENT_814 ; 814, (D849, bit 4) - const EVENT_815 ; 815, (D849, bit 5) - const EVENT_816 ; 816, (D849, bit 6) - const EVENT_817 ; 817, (D849, bit 7) - const EVENT_818 ; 818, (D84A, bit 0) - const EVENT_819 ; 819, (D84A, bit 1) - const EVENT_81A ; 81A, (D84A, bit 2) - const EVENT_81B ; 81B, (D84A, bit 3) - const EVENT_81C ; 81C, (D84A, bit 4) - const EVENT_81D ; 81D, (D84A, bit 5) - const EVENT_81E ; 81E, (D84A, bit 6) - const EVENT_81F ; 81F, (D84A, bit 7) - const EVENT_820 ; 820, (D84B, bit 0) - const EVENT_BEAT_MANSION_4_TRAINER_0 ; 821, (D84B, bit 1) - const EVENT_BEAT_MANSION_4_TRAINER_1 ; 822, (D84B, bit 2) - const EVENT_823 ; 823, (D84B, bit 3) - const EVENT_824 ; 824, (D84B, bit 4) - const EVENT_825 ; 825, (D84B, bit 5) - const EVENT_826 ; 826, (D84B, bit 6) - const EVENT_827 ; 827, (D84B, bit 7) - const EVENT_828 ; 828, (D84C, bit 0) - const EVENT_829 ; 829, (D84C, bit 1) - const EVENT_82A ; 82A, (D84C, bit 2) - const EVENT_82B ; 82B, (D84C, bit 3) - const EVENT_82C ; 82C, (D84C, bit 4) - const EVENT_82D ; 82D, (D84C, bit 5) - const EVENT_82E ; 82E, (D84C, bit 6) - const EVENT_82F ; 82F, (D84C, bit 7) - const EVENT_830 ; 830, (D84D, bit 0) - const EVENT_831 ; 831, (D84D, bit 1) - const EVENT_832 ; 832, (D84D, bit 2) - const EVENT_833 ; 833, (D84D, bit 3) - const EVENT_834 ; 834, (D84D, bit 4) - const EVENT_835 ; 835, (D84D, bit 5) - const EVENT_836 ; 836, (D84D, bit 6) - const EVENT_837 ; 837, (D84D, bit 7) - const EVENT_838 ; 838, (D84E, bit 0) - const EVENT_839 ; 839, (D84E, bit 1) - const EVENT_83A ; 83A, (D84E, bit 2) - const EVENT_83B ; 83B, (D84E, bit 3) - const EVENT_83C ; 83C, (D84E, bit 4) - const EVENT_83D ; 83D, (D84E, bit 5) - const EVENT_83E ; 83E, (D84E, bit 6) - const EVENT_83F ; 83F, (D84E, bit 7) - const EVENT_840 ; 840, (D84F, bit 0) - const EVENT_841 ; 841, (D84F, bit 1) - const EVENT_842 ; 842, (D84F, bit 2) - const EVENT_843 ; 843, (D84F, bit 3) - const EVENT_844 ; 844, (D84F, bit 4) - const EVENT_845 ; 845, (D84F, bit 5) - const EVENT_846 ; 846, (D84F, bit 6) - const EVENT_847 ; 847, (D84F, bit 7) - const EVENT_848 ; 848, (D850, bit 0) - const EVENT_849 ; 849, (D850, bit 1) - const EVENT_84A ; 84A, (D850, bit 2) - const EVENT_84B ; 84B, (D850, bit 3) - const EVENT_84C ; 84C, (D850, bit 4) - const EVENT_84D ; 84D, (D850, bit 5) - const EVENT_84E ; 84E, (D850, bit 6) - const EVENT_84F ; 84F, (D850, bit 7) - const EVENT_850 ; 850, (D851, bit 0) - const EVENT_851 ; 851, (D851, bit 1) - const EVENT_852 ; 852, (D851, bit 2) - const EVENT_853 ; 853, (D851, bit 3) - const EVENT_854 ; 854, (D851, bit 4) - const EVENT_855 ; 855, (D851, bit 5) - const EVENT_856 ; 856, (D851, bit 6) - const EVENT_857 ; 857, (D851, bit 7) - const EVENT_858 ; 858, (D852, bit 0) - const EVENT_859 ; 859, (D852, bit 1) - const EVENT_85A ; 85A, (D852, bit 2) - const EVENT_85B ; 85B, (D852, bit 3) - const EVENT_85C ; 85C, (D852, bit 4) - const EVENT_85D ; 85D, (D852, bit 5) - const EVENT_85E ; 85E, (D852, bit 6) - const EVENT_85F ; 85F, (D852, bit 7) - const EVENT_860 ; 860, (D853, bit 0) - const EVENT_861 ; 861, (D853, bit 1) - const EVENT_862 ; 862, (D853, bit 2) - const EVENT_863 ; 863, (D853, bit 3) - const EVENT_864 ; 864, (D853, bit 4) - const EVENT_865 ; 865, (D853, bit 5) - const EVENT_866 ; 866, (D853, bit 6) - const EVENT_867 ; 867, (D853, bit 7) - const EVENT_868 ; 868, (D854, bit 0) - const EVENT_869 ; 869, (D854, bit 1) - const EVENT_86A ; 86A, (D854, bit 2) - const EVENT_86B ; 86B, (D854, bit 3) - const EVENT_86C ; 86C, (D854, bit 4) - const EVENT_86D ; 86D, (D854, bit 5) - const EVENT_86E ; 86E, (D854, bit 6) - const EVENT_86F ; 86F, (D854, bit 7) - const EVENT_870 ; 870, (D855, bit 0) - const EVENT_871 ; 871, (D855, bit 1) - const EVENT_872 ; 872, (D855, bit 2) - const EVENT_873 ; 873, (D855, bit 3) - const EVENT_874 ; 874, (D855, bit 4) - const EVENT_875 ; 875, (D855, bit 5) - const EVENT_876 ; 876, (D855, bit 6) - const EVENT_877 ; 877, (D855, bit 7) - const EVENT_878 ; 878, (D856, bit 0) - const EVENT_879 ; 879, (D856, bit 1) - const EVENT_87A ; 87A, (D856, bit 2) - const EVENT_87B ; 87B, (D856, bit 3) - const EVENT_87C ; 87C, (D856, bit 4) - const EVENT_87D ; 87D, (D856, bit 5) - const EVENT_87E ; 87E, (D856, bit 6) - const EVENT_87F ; 87F, (D856, bit 7) - const EVENT_GOT_HM03 ; 880, (D857, bit 0) - const EVENT_881 ; 881, (D857, bit 1) - const EVENT_882 ; 882, (D857, bit 2) - const EVENT_883 ; 883, (D857, bit 3) - const EVENT_884 ; 884, (D857, bit 4) - const EVENT_885 ; 885, (D857, bit 5) - const EVENT_886 ; 886, (D857, bit 6) - const EVENT_887 ; 887, (D857, bit 7) - const EVENT_888 ; 888, (D858, bit 0) - const EVENT_889 ; 889, (D858, bit 1) - const EVENT_88A ; 88A, (D858, bit 2) - const EVENT_88B ; 88B, (D858, bit 3) - const EVENT_88C ; 88C, (D858, bit 4) - const EVENT_88D ; 88D, (D858, bit 5) - const EVENT_88E ; 88E, (D858, bit 6) - const EVENT_88F ; 88F, (D858, bit 7) - const EVENT_890 ; 890, (D859, bit 0) - const EVENT_891 ; 891, (D859, bit 1) - const EVENT_892 ; 892, (D859, bit 2) - const EVENT_893 ; 893, (D859, bit 3) - const EVENT_894 ; 894, (D859, bit 4) - const EVENT_895 ; 895, (D859, bit 5) - const EVENT_896 ; 896, (D859, bit 6) - const EVENT_897 ; 897, (D859, bit 7) - const EVENT_898 ; 898, (D85A, bit 0) - const EVENT_899 ; 899, (D85A, bit 1) - const EVENT_89A ; 89A, (D85A, bit 2) - const EVENT_89B ; 89B, (D85A, bit 3) - const EVENT_89C ; 89C, (D85A, bit 4) - const EVENT_89D ; 89D, (D85A, bit 5) - const EVENT_89E ; 89E, (D85A, bit 6) - const EVENT_89F ; 89F, (D85A, bit 7) - const EVENT_8A0 ; 8A0, (D85B, bit 0) - const EVENT_8A1 ; 8A1, (D85B, bit 1) - const EVENT_8A2 ; 8A2, (D85B, bit 2) - const EVENT_8A3 ; 8A3, (D85B, bit 3) - const EVENT_8A4 ; 8A4, (D85B, bit 4) - const EVENT_8A5 ; 8A5, (D85B, bit 5) - const EVENT_8A6 ; 8A6, (D85B, bit 6) - const EVENT_8A7 ; 8A7, (D85B, bit 7) - const EVENT_8A8 ; 8A8, (D85C, bit 0) - const EVENT_8A9 ; 8A9, (D85C, bit 1) - const EVENT_8AA ; 8AA, (D85C, bit 2) - const EVENT_8AB ; 8AB, (D85C, bit 3) - const EVENT_8AC ; 8AC, (D85C, bit 4) - const EVENT_8AD ; 8AD, (D85C, bit 5) - const EVENT_8AE ; 8AE, (D85C, bit 6) - const EVENT_8AF ; 8AF, (D85C, bit 7) - const EVENT_8B0 ; 8B0, (D85D, bit 0) - const EVENT_8B1 ; 8B1, (D85D, bit 1) - const EVENT_8B2 ; 8B2, (D85D, bit 2) - const EVENT_8B3 ; 8B3, (D85D, bit 3) - const EVENT_8B4 ; 8B4, (D85D, bit 4) - const EVENT_8B5 ; 8B5, (D85D, bit 5) - const EVENT_8B6 ; 8B6, (D85D, bit 6) - const EVENT_8B7 ; 8B7, (D85D, bit 7) - const EVENT_8B8 ; 8B8, (D85E, bit 0) - const EVENT_8B9 ; 8B9, (D85E, bit 1) - const EVENT_8BA ; 8BA, (D85E, bit 2) - const EVENT_8BB ; 8BB, (D85E, bit 3) - const EVENT_8BC ; 8BC, (D85E, bit 4) - const EVENT_8BD ; 8BD, (D85E, bit 5) - const EVENT_8BE ; 8BE, (D85E, bit 6) - const EVENT_8BF ; 8BF, (D85E, bit 7) - const EVENT_8C0 ; 8C0, (D85F, bit 0) - const EVENT_BEAT_MEWTWO ; 8C1, (D85F, bit 1) - const EVENT_8C2 ; 8C2, (D85F, bit 2) - const EVENT_8C3 ; 8C3, (D85F, bit 3) - const EVENT_8C4 ; 8C4, (D85F, bit 4) - const EVENT_8C5 ; 8C5, (D85F, bit 5) - const EVENT_8C6 ; 8C6, (D85F, bit 6) - const EVENT_8C7 ; 8C7, (D85F, bit 7) - const EVENT_8C8 ; 8C8, (D860, bit 0) - const EVENT_8C9 ; 8C9, (D860, bit 1) - const EVENT_8CA ; 8CA, (D860, bit 2) - const EVENT_8CB ; 8CB, (D860, bit 3) - const EVENT_8CC ; 8CC, (D860, bit 4) - const EVENT_8CD ; 8CD, (D860, bit 5) - const EVENT_8CE ; 8CE, (D860, bit 6) - const EVENT_8CF ; 8CF, (D860, bit 7) - const EVENT_8D0 ; 8D0, (D861, bit 0) - const EVENT_8D1 ; 8D1, (D861, bit 1) - const EVENT_8D2 ; 8D2, (D861, bit 2) - const EVENT_8D3 ; 8D3, (D861, bit 3) - const EVENT_8D4 ; 8D4, (D861, bit 4) - const EVENT_8D5 ; 8D5, (D861, bit 5) - const EVENT_8D6 ; 8D6, (D861, bit 6) - const EVENT_8D7 ; 8D7, (D861, bit 7) - const EVENT_8D8 ; 8D8, (D862, bit 0) - const EVENT_8D9 ; 8D9, (D862, bit 1) - const EVENT_8DA ; 8DA, (D862, bit 2) - const EVENT_8DB ; 8DB, (D862, bit 3) - const EVENT_8DC ; 8DC, (D862, bit 4) - const EVENT_8DD ; 8DD, (D862, bit 5) - const EVENT_8DE ; 8DE, (D862, bit 6) - const EVENT_8DF ; 8DF, (D862, bit 7) - const ELITE4_EVENTS_START ; 8E0, (D863, bit 0) - const EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 ; 8E1, (D863, bit 1) - const EVENT_8E2 ; 8E2, (D863, bit 2) - const EVENT_8E3 ; 8E3, (D863, bit 3) - const EVENT_8E4 ; 8E4, (D863, bit 4) - const EVENT_8E5 ; 8E5, (D863, bit 5) - const EVENT_AUTOWALKED_INTO_LORELEIS_ROOM ; 8E6, (D863, bit 6) - const EVENT_8E7 ; 8E7, (D863, bit 7) - const EVENT_8E8 ; 8E8, (D864, bit 0) - const EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 ; 8E9, (D864, bit 1) - const EVENT_8EA ; 8EA, (D864, bit 2) - const EVENT_8EB ; 8EB, (D864, bit 3) - const EVENT_8EC ; 8EC, (D864, bit 4) - const EVENT_8ED ; 8ED, (D864, bit 5) - const EVENT_AUTOWALKED_INTO_BRUNOS_ROOM ; 8EE, (D864, bit 6) - const EVENT_8EF ; 8EF, (D864, bit 7) - const EVENT_8F0 ; 8F0, (D865, bit 0) - const EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 ; 8F1, (D865, bit 1) - const EVENT_8F2 ; 8F2, (D865, bit 2) - const EVENT_8F3 ; 8F3, (D865, bit 3) - const EVENT_8F4 ; 8F4, (D865, bit 4) - const EVENT_8F5 ; 8F5, (D865, bit 5) - const EVENT_AUTOWALKED_INTO_AGATHAS_ROOM ; 8F6, (D865, bit 6) - const EVENT_8F7 ; 8F7, (D865, bit 7) - const EVENT_8F8 ; 8F8, (D866, bit 0) - const EVENT_BEAT_LANCES_ROOM_TRAINER_0 ; 8F9, (D866, bit 1) - const EVENT_8FA ; 8FA, (D866, bit 2) - const EVENT_8FB ; 8FB, (D866, bit 3) - const EVENT_8FC ; 8FC, (D866, bit 4) - const EVENT_8FD ; 8FD, (D866, bit 5) - const EVENT_BEAT_LANCE ; 8FE, (D866, bit 6) - const EVENT_LANCES_ROOM_LOCK_DOOR ; 8FF, (D866, bit 7) - const EVENT_900 ; 900, (D867, bit 0) - const EVENT_BEAT_CHAMPION_RIVAL ; 901, (D867, bit 1) - const EVENT_902 ; 902, (D867, bit 2) - const EVENT_903 ; 903, (D867, bit 3) - const EVENT_904 ; 904, (D867, bit 4) - const EVENT_905 ; 905, (D867, bit 5) - const EVENT_906 ; 906, (D867, bit 6) - const ELITE4_CHAMPION_EVENTS_END ; 907, (D867, bit 7) - const EVENT_908 ; 908, (D868, bit 0) - const EVENT_909 ; 909, (D868, bit 1) - const EVENT_90A ; 90A, (D868, bit 2) - const EVENT_90B ; 90B, (D868, bit 3) - const EVENT_90C ; 90C, (D868, bit 4) - const EVENT_90D ; 90D, (D868, bit 5) - const EVENT_90E ; 90E, (D868, bit 6) - const EVENT_90F ; 90F, (D868, bit 7) - const EVENT_910 ; 910, (D869, bit 0) - const EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0 ; 911, (D869, bit 1) - const EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1 ; 912, (D869, bit 2) - const EVENT_913 ; 913, (D869, bit 3) - const EVENT_914 ; 914, (D869, bit 4) - const EVENT_915 ; 915, (D869, bit 5) - const EVENT_916 ; 916, (D869, bit 6) - const EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH ; 917, (D869, bit 7) - const EVENT_918 ; 918, (D86A, bit 0) - const EVENT_919 ; 919, (D86A, bit 1) - const EVENT_91A ; 91A, (D86A, bit 2) - const EVENT_91B ; 91B, (D86A, bit 3) - const EVENT_91C ; 91C, (D86A, bit 4) - const EVENT_91D ; 91D, (D86A, bit 5) - const EVENT_91E ; 91E, (D86A, bit 6) - const EVENT_91F ; 91F, (D86A, bit 7) - const EVENT_920 ; 920, (D86B, bit 0) - const EVENT_921 ; 921, (D86B, bit 1) - const EVENT_922 ; 922, (D86B, bit 2) - const EVENT_923 ; 923, (D86B, bit 3) - const EVENT_924 ; 924, (D86B, bit 4) - const EVENT_925 ; 925, (D86B, bit 5) - const EVENT_926 ; 926, (D86B, bit 6) - const EVENT_927 ; 927, (D86B, bit 7) - const EVENT_928 ; 928, (D86C, bit 0) - const EVENT_929 ; 929, (D86C, bit 1) - const EVENT_92A ; 92A, (D86C, bit 2) - const EVENT_92B ; 92B, (D86C, bit 3) - const EVENT_92C ; 92C, (D86C, bit 4) - const EVENT_92D ; 92D, (D86C, bit 5) - const EVENT_92E ; 92E, (D86C, bit 6) - const EVENT_92F ; 92F, (D86C, bit 7) - const EVENT_930 ; 930, (D86D, bit 0) - const EVENT_931 ; 931, (D86D, bit 1) - const EVENT_932 ; 932, (D86D, bit 2) - const EVENT_933 ; 933, (D86D, bit 3) - const EVENT_934 ; 934, (D86D, bit 4) - const EVENT_935 ; 935, (D86D, bit 5) - const EVENT_936 ; 936, (D86D, bit 6) - const EVENT_937 ; 937, (D86D, bit 7) - const EVENT_938 ; 938, (D86E, bit 0) - const EVENT_939 ; 939, (D86E, bit 1) - const EVENT_93A ; 93A, (D86E, bit 2) - const EVENT_93B ; 93B, (D86E, bit 3) - const EVENT_93C ; 93C, (D86E, bit 4) - const EVENT_93D ; 93D, (D86E, bit 5) - const EVENT_93E ; 93E, (D86E, bit 6) - const EVENT_93F ; 93F, (D86E, bit 7) - const EVENT_940 ; 940, (D86F, bit 0) - const EVENT_941 ; 941, (D86F, bit 1) - const EVENT_942 ; 942, (D86F, bit 2) - const EVENT_943 ; 943, (D86F, bit 3) - const EVENT_944 ; 944, (D86F, bit 4) - const EVENT_945 ; 945, (D86F, bit 5) - const EVENT_946 ; 946, (D86F, bit 6) - const EVENT_947 ; 947, (D86F, bit 7) - const EVENT_948 ; 948, (D870, bit 0) - const EVENT_949 ; 949, (D870, bit 1) - const EVENT_94A ; 94A, (D870, bit 2) - const EVENT_94B ; 94B, (D870, bit 3) - const EVENT_94C ; 94C, (D870, bit 4) - const EVENT_94D ; 94D, (D870, bit 5) - const EVENT_94E ; 94E, (D870, bit 6) - const EVENT_94F ; 94F, (D870, bit 7) - const EVENT_950 ; 950, (D871, bit 0) - const EVENT_951 ; 951, (D871, bit 1) - const EVENT_952 ; 952, (D871, bit 2) - const EVENT_953 ; 953, (D871, bit 3) - const EVENT_954 ; 954, (D871, bit 4) - const EVENT_955 ; 955, (D871, bit 5) - const EVENT_956 ; 956, (D871, bit 6) - const EVENT_957 ; 957, (D871, bit 7) - const EVENT_958 ; 958, (D872, bit 0) - const EVENT_959 ; 959, (D872, bit 1) - const EVENT_95A ; 95A, (D872, bit 2) - const EVENT_95B ; 95B, (D872, bit 3) - const EVENT_95C ; 95C, (D872, bit 4) - const EVENT_95D ; 95D, (D872, bit 5) - const EVENT_95E ; 95E, (D872, bit 6) - const EVENT_95F ; 95F, (D872, bit 7) - const EVENT_960 ; 960, (D873, bit 0) - const EVENT_961 ; 961, (D873, bit 1) - const EVENT_962 ; 962, (D873, bit 2) - const EVENT_963 ; 963, (D873, bit 3) - const EVENT_964 ; 964, (D873, bit 4) - const EVENT_965 ; 965, (D873, bit 5) - const EVENT_966 ; 966, (D873, bit 6) - const EVENT_967 ; 967, (D873, bit 7) - const EVENT_968 ; 968, (D874, bit 0) - const EVENT_969 ; 969, (D874, bit 1) - const EVENT_96A ; 96A, (D874, bit 2) - const EVENT_96B ; 96B, (D874, bit 3) - const EVENT_96C ; 96C, (D874, bit 4) - const EVENT_96D ; 96D, (D874, bit 5) - const EVENT_96E ; 96E, (D874, bit 6) - const EVENT_96F ; 96F, (D874, bit 7) - const EVENT_970 ; 970, (D875, bit 0) - const EVENT_971 ; 971, (D875, bit 1) - const EVENT_972 ; 972, (D875, bit 2) - const EVENT_973 ; 973, (D875, bit 3) - const EVENT_974 ; 974, (D875, bit 4) - const EVENT_975 ; 975, (D875, bit 5) - const EVENT_976 ; 976, (D875, bit 6) - const EVENT_977 ; 977, (D875, bit 7) - const EVENT_978 ; 978, (D876, bit 0) - const EVENT_979 ; 979, (D876, bit 1) - const EVENT_97A ; 97A, (D876, bit 2) - const EVENT_97B ; 97B, (D876, bit 3) - const EVENT_97C ; 97C, (D876, bit 4) - const EVENT_97D ; 97D, (D876, bit 5) - const EVENT_97E ; 97E, (D876, bit 6) - const EVENT_97F ; 97F, (D876, bit 7) - const EVENT_980 ; 980, (D877, bit 0) - const EVENT_981 ; 981, (D877, bit 1) - const EVENT_982 ; 982, (D877, bit 2) - const EVENT_983 ; 983, (D877, bit 3) - const EVENT_984 ; 984, (D877, bit 4) - const EVENT_985 ; 985, (D877, bit 5) - const EVENT_986 ; 986, (D877, bit 6) - const EVENT_987 ; 987, (D877, bit 7) - const EVENT_988 ; 988, (D878, bit 0) - const EVENT_989 ; 989, (D878, bit 1) - const EVENT_98A ; 98A, (D878, bit 2) - const EVENT_98B ; 98B, (D878, bit 3) - const EVENT_98C ; 98C, (D878, bit 4) - const EVENT_98D ; 98D, (D878, bit 5) - const EVENT_98E ; 98E, (D878, bit 6) - const EVENT_98F ; 98F, (D878, bit 7) - const EVENT_990 ; 990, (D879, bit 0) - const EVENT_991 ; 991, (D879, bit 1) - const EVENT_992 ; 992, (D879, bit 2) - const EVENT_993 ; 993, (D879, bit 3) - const EVENT_994 ; 994, (D879, bit 4) - const EVENT_995 ; 995, (D879, bit 5) - const EVENT_996 ; 996, (D879, bit 6) - const EVENT_997 ; 997, (D879, bit 7) - const EVENT_998 ; 998, (D87A, bit 0) - const EVENT_999 ; 999, (D87A, bit 1) - const EVENT_99A ; 99A, (D87A, bit 2) - const EVENT_99B ; 99B, (D87A, bit 3) - const EVENT_99C ; 99C, (D87A, bit 4) - const EVENT_99D ; 99D, (D87A, bit 5) - const EVENT_99E ; 99E, (D87A, bit 6) - const EVENT_99F ; 99F, (D87A, bit 7) - const EVENT_9A0 ; 9A0, (D87B, bit 0) - const EVENT_9A1 ; 9A1, (D87B, bit 1) - const EVENT_9A2 ; 9A2, (D87B, bit 2) - const EVENT_9A3 ; 9A3, (D87B, bit 3) - const EVENT_9A4 ; 9A4, (D87B, bit 4) - const EVENT_9A5 ; 9A5, (D87B, bit 5) - const EVENT_9A6 ; 9A6, (D87B, bit 6) - const EVENT_9A7 ; 9A7, (D87B, bit 7) - const EVENT_9A8 ; 9A8, (D87C, bit 0) - const EVENT_9A9 ; 9A9, (D87C, bit 1) - const EVENT_9AA ; 9AA, (D87C, bit 2) - const EVENT_9AB ; 9AB, (D87C, bit 3) - const EVENT_9AC ; 9AC, (D87C, bit 4) - const EVENT_9AD ; 9AD, (D87C, bit 5) - const EVENT_9AE ; 9AE, (D87C, bit 6) - const EVENT_9AF ; 9AF, (D87C, bit 7) - const EVENT_9B0 ; 9B0, (D87D, bit 0) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0 ; 9B1, (D87D, bit 1) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1 ; 9B2, (D87D, bit 2) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2 ; 9B3, (D87D, bit 3) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3 ; 9B4, (D87D, bit 4) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4 ; 9B5, (D87D, bit 5) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5 ; 9B6, (D87D, bit 6) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6 ; 9B7, (D87D, bit 7) - const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7 ; 9B8, (D87E, bit 0) - const EVENT_9B9 ; 9B9, (D87E, bit 1) - const EVENT_9BA ; 9BA, (D87E, bit 2) - const EVENT_9BB ; 9BB, (D87E, bit 3) - const EVENT_9BC ; 9BC, (D87E, bit 4) - const EVENT_9BD ; 9BD, (D87E, bit 5) - const EVENT_9BE ; 9BE, (D87E, bit 6) - const EVENT_9BF ; 9BF, (D87E, bit 7) - const EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE ; 9C0, (D87F, bit 0) - const EVENT_SEAFOAM2_BOULDER2_DOWN_HOLE ; 9C1, (D87F, bit 1) - const EVENT_9C2 ; 9C2, (D87F, bit 2) - const EVENT_9C3 ; 9C3, (D87F, bit 3) - const EVENT_9C4 ; 9C4, (D87F, bit 4) - const EVENT_9C5 ; 9C5, (D87F, bit 5) - const EVENT_9C6 ; 9C6, (D87F, bit 6) - const EVENT_9C7 ; 9C7, (D87F, bit 7) - const EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE ; 9C8, (D880, bit 0) - const EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE ; 9C9, (D880, bit 1) - const EVENT_9CA ; 9CA, (D880, bit 2) - const EVENT_9CB ; 9CB, (D880, bit 3) - const EVENT_9CC ; 9CC, (D880, bit 4) - const EVENT_9CD ; 9CD, (D880, bit 5) - const EVENT_9CE ; 9CE, (D880, bit 6) - const EVENT_9CF ; 9CF, (D880, bit 7) - const EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE ; 9D0, (D881, bit 0) - const EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE ; 9D1, (D881, bit 1) - const EVENT_9D2 ; 9D2, (D881, bit 2) - const EVENT_9D3 ; 9D3, (D881, bit 3) - const EVENT_9D4 ; 9D4, (D881, bit 4) - const EVENT_9D5 ; 9D5, (D881, bit 5) - const EVENT_9D6 ; 9D6, (D881, bit 6) - const EVENT_9D7 ; 9D7, (D881, bit 7) - const EVENT_9D8 ; 9D8, (D882, bit 0) - const EVENT_9D9 ; 9D9, (D882, bit 1) - const EVENT_BEAT_ARTICUNO ; 9DA, (D882, bit 2) - const EVENT_9DB ; 9DB, (D882, bit 3) - const EVENT_9DC ; 9DC, (D882, bit 4) - const EVENT_9DD ; 9DD, (D882, bit 5) - const EVENT_9DE ; 9DE, (D882, bit 6) - const EVENT_9DF ; 9DF, (D882, bit 7) - const EVENT_9E0 ; 9E0, (D883, bit 0) - const EVENT_9E1 ; 9E1, (D883, bit 1) - const EVENT_9E2 ; 9E2, (D883, bit 2) - const EVENT_9E3 ; 9E3, (D883, bit 3) - const EVENT_9E4 ; 9E4, (D883, bit 4) - const EVENT_9E5 ; 9E5, (D883, bit 5) - const EVENT_9E6 ; 9E6, (D883, bit 6) - const EVENT_9E7 ; 9E7, (D883, bit 7) - const EVENT_9E8 ; 9E8, (D884, bit 0) - const EVENT_9E9 ; 9E9, (D884, bit 1) - const EVENT_9EA ; 9EA, (D884, bit 2) - const EVENT_9EB ; 9EB, (D884, bit 3) - const EVENT_9EC ; 9EC, (D884, bit 4) - const EVENT_9ED ; 9ED, (D884, bit 5) - const EVENT_9EE ; 9EE, (D884, bit 6) - const EVENT_9EF ; 9EF, (D884, bit 7) - const EVENT_9F0 ; 9F0, (D885, bit 0) - const EVENT_9F1 ; 9F1, (D885, bit 1) - const EVENT_9F2 ; 9F2, (D885, bit 2) - const EVENT_9F3 ; 9F3, (D885, bit 3) - const EVENT_9F4 ; 9F4, (D885, bit 4) - const EVENT_9F5 ; 9F5, (D885, bit 5) - const EVENT_9F6 ; 9F6, (D885, bit 6) - const EVENT_9F7 ; 9F7, (D885, bit 7) - const EVENT_9F8 ; 9F8, (D886, bit 0) - const EVENT_9F9 ; 9F9, (D886, bit 1) - const EVENT_9FA ; 9FA, (D886, bit 2) - const EVENT_9FB ; 9FB, (D886, bit 3) - const EVENT_9FC ; 9FC, (D886, bit 4) - const EVENT_9FD ; 9FD, (D886, bit 5) - const EVENT_9FE ; 9FE, (D886, bit 6) - const EVENT_9FF ; 9FF, (D886, bit 7) + const_def + const EVENT_FOLLOWED_OAK_INTO_LAB + const EVENT_001 + const EVENT_002 + const EVENT_HALL_OF_FAME_DEX_RATING + const EVENT_004 + const EVENT_005 + const EVENT_PALLET_AFTER_GETTING_POKEBALLS + const EVENT_007 + const EVENT_008 + const EVENT_009 + const EVENT_00A + const EVENT_00B + const EVENT_00C + const EVENT_00D + const EVENT_00E + const EVENT_00F + const EVENT_010 + const EVENT_011 + const EVENT_012 + const EVENT_013 + const EVENT_014 + const EVENT_015 + const EVENT_016 + const EVENT_017 + const EVENT_GOT_TOWN_MAP + const EVENT_ENTERED_BLUES_HOUSE + const EVENT_DAISY_WALKING + const EVENT_01B + const EVENT_01C + const EVENT_01D + const EVENT_01E + const EVENT_01F + const EVENT_FOLLOWED_OAK_INTO_LAB_2 + const EVENT_OAK_ASKED_TO_CHOOSE_MON + const EVENT_GOT_STARTER + const EVENT_BATTLED_RIVAL_IN_OAKS_LAB + const EVENT_GOT_POKEBALLS_FROM_OAK + const EVENT_GOT_POKEDEX + const EVENT_PALLET_AFTER_GETTING_POKEBALLS_2 + const EVENT_OAK_APPEARED_IN_PALLET + const EVENT_VIRIDIAN_GYM_OPEN + const EVENT_GOT_TM42 + const EVENT_02A + const EVENT_02B + const EVENT_02C + const EVENT_02D + const EVENT_02E + const EVENT_02F + const EVENT_030 + const EVENT_031 + const EVENT_032 + const EVENT_033 + const EVENT_034 + const EVENT_035 + const EVENT_036 + const EVENT_037 + const EVENT_OAK_GOT_PARCEL + const EVENT_GOT_OAKS_PARCEL + const EVENT_03A + const EVENT_03B + const EVENT_03C + const EVENT_03D + const EVENT_03E + const EVENT_03F + const EVENT_040 + const EVENT_041 + const EVENT_042 + const EVENT_043 + const EVENT_044 + const EVENT_045 + const EVENT_046 + const EVENT_047 + const EVENT_048 + const EVENT_049 + const EVENT_04A + const EVENT_04B + const EVENT_04C + const EVENT_04D + const EVENT_04E + const EVENT_04F + const EVENT_GOT_TM27 + const EVENT_BEAT_VIRIDIAN_GYM_GIOVANNI + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_0 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_1 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_2 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_3 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_4 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_5 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_6 + const EVENT_BEAT_VIRIDIAN_GYM_TRAINER_7 + const EVENT_05A + const EVENT_05B + const EVENT_05C + const EVENT_05D + const EVENT_05E + const EVENT_05F + const EVENT_060 + const EVENT_061 + const EVENT_062 + const EVENT_063 + const EVENT_064 + const EVENT_065 + const EVENT_066 + const EVENT_067 + const EVENT_BOUGHT_MUSEUM_TICKET + const EVENT_GOT_OLD_AMBER + const EVENT_06A + const EVENT_06B + const EVENT_06C + const EVENT_06D + const EVENT_06E + const EVENT_06F + const EVENT_070 + const EVENT_071 + const EVENT_BEAT_PEWTER_GYM_TRAINER_0 + const EVENT_073 + const EVENT_074 + const EVENT_075 + const EVENT_GOT_TM34 + const EVENT_BEAT_BROCK + const EVENT_078 + const EVENT_079 + const EVENT_07A + const EVENT_07B + const EVENT_07C + const EVENT_07D + const EVENT_07E + const EVENT_07F + const EVENT_080 + const EVENT_081 + const EVENT_082 + const EVENT_083 + const EVENT_084 + const EVENT_085 + const EVENT_086 + const EVENT_087 + const EVENT_088 + const EVENT_089 + const EVENT_08A + const EVENT_08B + const EVENT_08C + const EVENT_08D + const EVENT_08E + const EVENT_08F + const EVENT_090 + const EVENT_091 + const EVENT_092 + const EVENT_093 + const EVENT_094 + const EVENT_095 + const EVENT_096 + const EVENT_097 + const EVENT_BEAT_CERULEAN_RIVAL + const EVENT_099 + const EVENT_09A + const EVENT_09B + const EVENT_09C + const EVENT_09D + const EVENT_09E + const EVENT_09F + const EVENT_0A0 + const EVENT_0A1 + const EVENT_0A2 + const EVENT_0A3 + const EVENT_0A4 + const EVENT_0A5 + const EVENT_0A6 + const EVENT_BEAT_CERULEAN_ROCKET_THIEF + const EVENT_0A8 + const EVENT_0A9 + const EVENT_0AA + const EVENT_0AB + const EVENT_0AC + const EVENT_0AD + const EVENT_0AE + const EVENT_0AF + const EVENT_0B0 + const EVENT_0B1 + const EVENT_0B2 + const EVENT_0B3 + const EVENT_0B4 + const EVENT_0B5 + const EVENT_0B6 + const EVENT_0B7 + const EVENT_0B8 + const EVENT_0B9 + const EVENT_BEAT_CERULEAN_GYM_TRAINER_0 + const EVENT_BEAT_CERULEAN_GYM_TRAINER_1 + const EVENT_0BC + const EVENT_0BD + const EVENT_GOT_TM11 + const EVENT_BEAT_MISTY + const EVENT_GOT_BICYCLE + const EVENT_0C1 + const EVENT_0C2 + const EVENT_0C3 + const EVENT_0C4 + const EVENT_0C5 + const EVENT_0C6 + const EVENT_0C7 + const EVENT_0C8 + const EVENT_0C9 + const EVENT_0CA + const EVENT_0CB + const EVENT_0CC + const EVENT_0CD + const EVENT_0CE + const EVENT_0CF + const EVENT_0D0 + const EVENT_0D1 + const EVENT_0D2 + const EVENT_0D3 + const EVENT_0D4 + const EVENT_0D5 + const EVENT_0D6 + const EVENT_0D7 + const EVENT_0D8 + const EVENT_0D9 + const EVENT_0DA + const EVENT_0DB + const EVENT_0DC + const EVENT_0DD + const EVENT_0DE + const EVENT_0DF + const EVENT_0E0 + const EVENT_0E1 + const EVENT_0E2 + const EVENT_0E3 + const EVENT_0E4 + const EVENT_0E5 + const EVENT_0E6 + const EVENT_0E7 + const EVENT_0E8 + const EVENT_0E9 + const EVENT_0EA + const EVENT_0EB + const EVENT_0EC + const EVENT_0ED + const EVENT_POKEMON_TOWER_RIVAL_ON_LEFT + const EVENT_BEAT_POKEMON_TOWER_RIVAL + const EVENT_0F0 + const EVENT_BEAT_POKEMONTOWER_3_TRAINER_0 + const EVENT_BEAT_POKEMONTOWER_3_TRAINER_1 + const EVENT_BEAT_POKEMONTOWER_3_TRAINER_2 + const EVENT_0F4 + const EVENT_0F5 + const EVENT_0F6 + const EVENT_0F7 + const EVENT_0F8 + const EVENT_BEAT_POKEMONTOWER_4_TRAINER_0 + const EVENT_BEAT_POKEMONTOWER_4_TRAINER_1 + const EVENT_BEAT_POKEMONTOWER_4_TRAINER_2 + const EVENT_0FC + const EVENT_0FD + const EVENT_0FE + const EVENT_0FF + const EVENT_100 + const EVENT_101 + const EVENT_BEAT_POKEMONTOWER_5_TRAINER_0 + const EVENT_BEAT_POKEMONTOWER_5_TRAINER_1 + const EVENT_BEAT_POKEMONTOWER_5_TRAINER_2 + const EVENT_BEAT_POKEMONTOWER_5_TRAINER_3 + const EVENT_106 + const EVENT_IN_PURIFIED_ZONE + const EVENT_108 + const EVENT_BEAT_POKEMONTOWER_6_TRAINER_0 + const EVENT_BEAT_POKEMONTOWER_6_TRAINER_1 + const EVENT_BEAT_POKEMONTOWER_6_TRAINER_2 + const EVENT_10C + const EVENT_10D + const EVENT_10E + const EVENT_BEAT_GHOST_MAROWAK + const EVENT_110 + const EVENT_BEAT_POKEMONTOWER_7_TRAINER_0 + const EVENT_BEAT_POKEMONTOWER_7_TRAINER_1 + const EVENT_BEAT_POKEMONTOWER_7_TRAINER_2 + const EVENT_114 + const EVENT_115 + const EVENT_116 + const EVENT_RESCUED_MR_FUJI_2 + const EVENT_118 + const EVENT_119 + const EVENT_11A + const EVENT_11B + const EVENT_11C + const EVENT_11D + const EVENT_11E + const EVENT_11F + const EVENT_120 + const EVENT_121 + const EVENT_122 + const EVENT_123 + const EVENT_124 + const EVENT_125 + const EVENT_126 + const EVENT_127 + const EVENT_GOT_POKE_FLUTE + const EVENT_129 + const EVENT_12A + const EVENT_12B + const EVENT_12C + const EVENT_12D + const EVENT_12E + const EVENT_12F + const EVENT_130 + const EVENT_131 + const EVENT_132 + const EVENT_133 + const EVENT_134 + const EVENT_135 + const EVENT_136 + const EVENT_137 + const EVENT_138 + const EVENT_139 + const EVENT_13A + const EVENT_13B + const EVENT_13C + const EVENT_13D + const EVENT_13E + const EVENT_13F + const EVENT_140 + const EVENT_141 + const EVENT_142 + const EVENT_143 + const EVENT_144 + const EVENT_145 + const EVENT_146 + const EVENT_147 + const EVENT_148 + const EVENT_149 + const EVENT_14A + const EVENT_14B + const EVENT_14C + const EVENT_14D + const EVENT_14E + const EVENT_14F + const EVENT_150 + const EVENT_GOT_BIKE_VOUCHER + const EVENT_152 + const EVENT_153 + const EVENT_154 + const EVENT_155 + const EVENT_SEEL_FAN_BOAST + const EVENT_PIKACHU_FAN_BOAST + const EVENT_158 + const EVENT_159 + const EVENT_15A + const EVENT_15B + const EVENT_15C + const EVENT_15D + const EVENT_15E + const EVENT_15F + const EVENT_2ND_LOCK_OPENED + const EVENT_1ST_LOCK_OPENED + const EVENT_BEAT_VERMILION_GYM_TRAINER_0 + const EVENT_BEAT_VERMILION_GYM_TRAINER_1 + const EVENT_BEAT_VERMILION_GYM_TRAINER_2 + const EVENT_165 + const EVENT_GOT_TM24 + const EVENT_BEAT_LT_SURGE + const EVENT_168 + const EVENT_169 + const EVENT_16A + const EVENT_16B + const EVENT_16C + const EVENT_16D + const EVENT_16E + const EVENT_16F + const EVENT_170 + const EVENT_171 + const EVENT_172 + const EVENT_173 + const EVENT_174 + const EVENT_175 + const EVENT_176 + const EVENT_177 + const EVENT_178 + const EVENT_179 + const EVENT_17A + const EVENT_17B + const EVENT_17C + const EVENT_17D + const EVENT_17E + const EVENT_17F + const EVENT_GOT_TM41 + const EVENT_181 + const EVENT_182 + const EVENT_183 + const EVENT_184 + const EVENT_185 + const EVENT_186 + const EVENT_187 + const EVENT_188 + const EVENT_189 + const EVENT_18A + const EVENT_18B + const EVENT_GOT_TM13 + const EVENT_GOT_TM48 + const EVENT_GOT_TM49 + const EVENT_GOT_TM18 + const EVENT_190 + const EVENT_191 + const EVENT_192 + const EVENT_193 + const EVENT_194 + const EVENT_195 + const EVENT_196 + const EVENT_197 + const EVENT_198 + const EVENT_199 + const EVENT_19A + const EVENT_19B + const EVENT_19C + const EVENT_19D + const EVENT_19E + const EVENT_19F + const EVENT_1A0 + const EVENT_1A1 + const EVENT_1A2 + const EVENT_1A3 + const EVENT_1A4 + const EVENT_1A5 + const EVENT_1A6 + const EVENT_1A7 + const EVENT_GOT_TM21 + const EVENT_BEAT_ERIKA + const EVENT_BEAT_CELADON_GYM_TRAINER_0 + const EVENT_BEAT_CELADON_GYM_TRAINER_1 + const EVENT_BEAT_CELADON_GYM_TRAINER_2 + const EVENT_BEAT_CELADON_GYM_TRAINER_3 + const EVENT_BEAT_CELADON_GYM_TRAINER_4 + const EVENT_BEAT_CELADON_GYM_TRAINER_5 + const EVENT_BEAT_CELADON_GYM_TRAINER_6 + const EVENT_1B1 + const EVENT_1B2 + const EVENT_1B3 + const EVENT_1B4 + const EVENT_1B5 + const EVENT_1B6 + const EVENT_1B7 + const EVENT_1B8 + const EVENT_FOUND_ROCKET_HIDEOUT + const EVENT_GOT_10_COINS + const EVENT_GOT_20_COINS + const EVENT_GOT_20_COINS_2 + const EVENT_1BD + const EVENT_1BE + const EVENT_1BF + const EVENT_1C0 + const EVENT_1C1 + const EVENT_1C2 + const EVENT_1C3 + const EVENT_1C4 + const EVENT_1C5 + const EVENT_1C6 + const EVENT_1C7 + const EVENT_1C8 + const EVENT_1C9 + const EVENT_1CA + const EVENT_1CB + const EVENT_1CC + const EVENT_1CD + const EVENT_1CE + const EVENT_1CF + const EVENT_1D0 + const EVENT_1D1 + const EVENT_1D2 + const EVENT_1D3 + const EVENT_1D4 + const EVENT_1D5 + const EVENT_1D6 + const EVENT_1D7 + const EVENT_1D8 + const EVENT_1D9 + const EVENT_1DA + const EVENT_1DB + const EVENT_1DC + const EVENT_1DD + const EVENT_1DE + const EVENT_1DF + const EVENT_GOT_COIN_CASE + const EVENT_1E1 + const EVENT_1E2 + const EVENT_1E3 + const EVENT_1E4 + const EVENT_1E5 + const EVENT_1E6 + const EVENT_1E7 + const EVENT_1E8 + const EVENT_1E9 + const EVENT_1EA + const EVENT_1EB + const EVENT_1EC + const EVENT_1ED + const EVENT_1EE + const EVENT_1EF + const EVENT_1F0 + const EVENT_1F1 + const EVENT_1F2 + const EVENT_1F3 + const EVENT_1F4 + const EVENT_1F5 + const EVENT_1F6 + const EVENT_1F7 + const EVENT_1F8 + const EVENT_1F9 + const EVENT_1FA + const EVENT_1FB + const EVENT_1FC + const EVENT_1FD + const EVENT_1FE + const EVENT_1FF + const EVENT_200 + const EVENT_201 + const EVENT_202 + const EVENT_203 + const EVENT_204 + const EVENT_205 + const EVENT_206 + const EVENT_207 + const EVENT_208 + const EVENT_209 + const EVENT_20A + const EVENT_20B + const EVENT_20C + const EVENT_20D + const EVENT_20E + const EVENT_20F + const EVENT_210 + const EVENT_211 + const EVENT_212 + const EVENT_213 + const EVENT_214 + const EVENT_215 + const EVENT_216 + const EVENT_217 + const EVENT_218 + const EVENT_219 + const EVENT_21A + const EVENT_21B + const EVENT_21C + const EVENT_21D + const EVENT_21E + const EVENT_21F + const EVENT_220 + const EVENT_221 + const EVENT_222 + const EVENT_223 + const EVENT_224 + const EVENT_225 + const EVENT_226 + const EVENT_227 + const EVENT_228 + const EVENT_229 + const EVENT_22A + const EVENT_22B + const EVENT_22C + const EVENT_22D + const EVENT_22E + const EVENT_22F + const EVENT_230 + const EVENT_231 + const EVENT_232 + const EVENT_233 + const EVENT_234 + const EVENT_235 + const EVENT_236 + const EVENT_237 + const EVENT_GOT_HM04 + const EVENT_GAVE_GOLD_TEETH + const EVENT_23A + const EVENT_23B + const EVENT_23C + const EVENT_23D + const EVENT_23E + const EVENT_23F + const EVENT_240 + const EVENT_241 + const EVENT_242 + const EVENT_243 + const EVENT_244 + const EVENT_245 + const EVENT_246 + const EVENT_247 + const EVENT_248 + const EVENT_249 + const EVENT_24A + const EVENT_24B + const EVENT_24C + const EVENT_24D + const EVENT_SAFARI_GAME_OVER + const EVENT_IN_SAFARI_ZONE + const EVENT_250 + const EVENT_251 + const EVENT_252 + const EVENT_253 + const EVENT_254 + const EVENT_255 + const EVENT_256 + const EVENT_257 + const EVENT_GOT_TM06 + const EVENT_BEAT_KOGA + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_0 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_1 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_2 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_3 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_4 + const EVENT_BEAT_FUCHSIA_GYM_TRAINER_5 + const EVENT_260 + const EVENT_261 + const EVENT_262 + const EVENT_263 + const EVENT_264 + const EVENT_265 + const EVENT_266 + const EVENT_267 + const EVENT_268 + const EVENT_269 + const EVENT_26A + const EVENT_26B + const EVENT_26C + const EVENT_26D + const EVENT_26E + const EVENT_26F + const EVENT_270 + const EVENT_271 + const EVENT_272 + const EVENT_273 + const EVENT_274 + const EVENT_275 + const EVENT_276 + const EVENT_277 + const EVENT_MANSION_SWITCH_ON + const EVENT_279 + const EVENT_27A + const EVENT_27B + const EVENT_27C + const EVENT_27D + const EVENT_27E + const EVENT_27F + const EVENT_280 + const EVENT_281 + const EVENT_282 + const EVENT_283 + const EVENT_284 + const EVENT_285 + const EVENT_286 + const EVENT_287 + const EVENT_288 + const EVENT_BEAT_MANSION_1_TRAINER_0 + const EVENT_28A + const EVENT_28B + const EVENT_28C + const EVENT_28D + const EVENT_28E + const EVENT_28F + const EVENT_290 + const EVENT_291 + const EVENT_292 + const EVENT_293 + const EVENT_294 + const EVENT_295 + const EVENT_296 + const EVENT_297 + const EVENT_GOT_TM38 + const EVENT_BEAT_BLAINE + const EVENT_BEAT_CINNABAR_GYM_TRAINER_0 + const EVENT_BEAT_CINNABAR_GYM_TRAINER_1 + const EVENT_BEAT_CINNABAR_GYM_TRAINER_2 + const EVENT_BEAT_CINNABAR_GYM_TRAINER_3 + const EVENT_BEAT_CINNABAR_GYM_TRAINER_4 + const EVENT_BEAT_CINNABAR_GYM_TRAINER_5 + const EVENT_BEAT_CINNABAR_GYM_TRAINER_6 + const EVENT_2A1 + const EVENT_2A2 + const EVENT_2A3 + const EVENT_2A4 + const EVENT_2A5 + const EVENT_2A6 + const EVENT_2A7 + const EVENT_CINNABAR_GYM_GATE0_UNLOCKED + const EVENT_CINNABAR_GYM_GATE1_UNLOCKED + const EVENT_CINNABAR_GYM_GATE2_UNLOCKED + const EVENT_CINNABAR_GYM_GATE3_UNLOCKED + const EVENT_CINNABAR_GYM_GATE4_UNLOCKED + const EVENT_CINNABAR_GYM_GATE5_UNLOCKED + const EVENT_CINNABAR_GYM_GATE6_UNLOCKED + const EVENT_2AF + const EVENT_2B0 + const EVENT_2B1 + const EVENT_2B2 + const EVENT_2B3 + const EVENT_2B4 + const EVENT_2B5 + const EVENT_2B6 + const EVENT_2B7 + const EVENT_2B8 + const EVENT_2B9 + const EVENT_2BA + const EVENT_2BB + const EVENT_2BC + const EVENT_2BD + const EVENT_2BE + const EVENT_2BF + const EVENT_2C0 + const EVENT_2C1 + const EVENT_2C2 + const EVENT_2C3 + const EVENT_2C4 + const EVENT_2C5 + const EVENT_2C6 + const EVENT_2C7 + const EVENT_2C8 + const EVENT_2C9 + const EVENT_2CA + const EVENT_2CB + const EVENT_2CC + const EVENT_2CD + const EVENT_2CE + const EVENT_2CF + const EVENT_2D0 + const EVENT_2D1 + const EVENT_2D2 + const EVENT_2D3 + const EVENT_2D4 + const EVENT_2D5 + const EVENT_2D6 + const EVENT_GOT_TM35 + const EVENT_2D8 + const EVENT_2D9 + const EVENT_2DA + const EVENT_2DB + const EVENT_2DC + const EVENT_2DD + const EVENT_2DE + const EVENT_2DF + const EVENT_GAVE_FOSSIL_TO_LAB + const EVENT_LAB_STILL_REVIVING_FOSSIL + const EVENT_LAB_HANDING_OVER_FOSSIL_MON + const EVENT_2E3 + const EVENT_2E4 + const EVENT_2E5 + const EVENT_2E6 + const EVENT_2E7 + const EVENT_2E8 + const EVENT_2E9 + const EVENT_2EA + const EVENT_2EB + const EVENT_2EC + const EVENT_2ED + const EVENT_2EE + const EVENT_2EF + const EVENT_2F0 + const EVENT_2F1 + const EVENT_2F2 + const EVENT_2F3 + const EVENT_2F4 + const EVENT_2F5 + const EVENT_2F6 + const EVENT_2F7 + const EVENT_2F8 + const EVENT_2F9 + const EVENT_2FA + const EVENT_2FB + const EVENT_2FC + const EVENT_2FD + const EVENT_2FE + const EVENT_2FF + const EVENT_300 + const EVENT_301 + const EVENT_302 + const EVENT_303 + const EVENT_304 + const EVENT_305 + const EVENT_306 + const EVENT_307 + const EVENT_308 + const EVENT_309 + const EVENT_30A + const EVENT_30B + const EVENT_30C + const EVENT_30D + const EVENT_30E + const EVENT_30F + const EVENT_310 + const EVENT_311 + const EVENT_312 + const EVENT_313 + const EVENT_314 + const EVENT_315 + const EVENT_316 + const EVENT_317 + const EVENT_318 + const EVENT_319 + const EVENT_31A + const EVENT_31B + const EVENT_31C + const EVENT_31D + const EVENT_31E + const EVENT_31F + const EVENT_320 + const EVENT_321 + const EVENT_322 + const EVENT_323 + const EVENT_324 + const EVENT_325 + const EVENT_326 + const EVENT_327 + const EVENT_328 + const EVENT_329 + const EVENT_32A + const EVENT_32B + const EVENT_32C + const EVENT_32D + const EVENT_32E + const EVENT_32F + const EVENT_330 + const EVENT_331 + const EVENT_332 + const EVENT_333 + const EVENT_334 + const EVENT_335 + const EVENT_336 + const EVENT_337 + const EVENT_338 + const EVENT_339 + const EVENT_33A + const EVENT_33B + const EVENT_33C + const EVENT_33D + const EVENT_33E + const EVENT_33F + const EVENT_GOT_TM31 + const EVENT_341 + const EVENT_342 + const EVENT_343 + const EVENT_344 + const EVENT_345 + const EVENT_346 + const EVENT_347 + const EVENT_348 + const EVENT_349 + const EVENT_34A + const EVENT_34B + const EVENT_34C + const EVENT_34D + const EVENT_34E + const EVENT_34F + const EVENT_DEFEATED_FIGHTING_DOJO + const EVENT_BEAT_KARATE_MASTER + const EVENT_BEAT_FIGHTING_DOJO_TRAINER_0 + const EVENT_BEAT_FIGHTING_DOJO_TRAINER_1 + const EVENT_BEAT_FIGHTING_DOJO_TRAINER_2 + const EVENT_BEAT_FIGHTING_DOJO_TRAINER_3 + const EVENT_GOT_HITMONLEE + const EVENT_GOT_HITMONCHAN + const EVENT_358 + const EVENT_359 + const EVENT_35A + const EVENT_35B + const EVENT_35C + const EVENT_35D + const EVENT_35E + const EVENT_35F + const EVENT_GOT_TM46 + const EVENT_BEAT_SABRINA + const EVENT_BEAT_SAFFRON_GYM_TRAINER_0 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_1 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_2 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_3 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_4 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_5 + const EVENT_BEAT_SAFFRON_GYM_TRAINER_6 + const EVENT_369 + const EVENT_36A + const EVENT_36B + const EVENT_36C + const EVENT_36D + const EVENT_36E + const EVENT_36F + const EVENT_370 + const EVENT_371 + const EVENT_372 + const EVENT_373 + const EVENT_374 + const EVENT_375 + const EVENT_376 + const EVENT_377 + const EVENT_378 + const EVENT_379 + const EVENT_37A + const EVENT_37B + const EVENT_37C + const EVENT_37D + const EVENT_37E + const EVENT_37F + const EVENT_380 + const EVENT_381 + const EVENT_382 + const EVENT_383 + const EVENT_384 + const EVENT_385 + const EVENT_386 + const EVENT_387 + const EVENT_388 + const EVENT_389 + const EVENT_38A + const EVENT_38B + const EVENT_38C + const EVENT_38D + const EVENT_38E + const EVENT_38F + const EVENT_390 + const EVENT_391 + const EVENT_392 + const EVENT_393 + const EVENT_394 + const EVENT_395 + const EVENT_396 + const EVENT_SILPH_CO_RECEPTIONIST_AT_DESK + const EVENT_398 + const EVENT_399 + const EVENT_39A + const EVENT_39B + const EVENT_39C + const EVENT_39D + const EVENT_39E + const EVENT_39F + const EVENT_3A0 + const EVENT_3A1 + const EVENT_3A2 + const EVENT_3A3 + const EVENT_3A4 + const EVENT_3A5 + const EVENT_3A6 + const EVENT_3A7 + const EVENT_3A8 + const EVENT_3A9 + const EVENT_3AA + const EVENT_3AB + const EVENT_3AC + const EVENT_3AD + const EVENT_3AE + const EVENT_3AF + const EVENT_GOT_TM29 + const EVENT_3B1 + const EVENT_3B2 + const EVENT_3B3 + const EVENT_3B4 + const EVENT_3B5 + const EVENT_3B6 + const EVENT_3B7 + const EVENT_3B8 + const EVENT_3B9 + const EVENT_3BA + const EVENT_3BB + const EVENT_3BC + const EVENT_3BD + const EVENT_3BE + const EVENT_3BF + const EVENT_GOT_POTION_SAMPLE + const EVENT_3C1 + const EVENT_3C2 + const EVENT_3C3 + const EVENT_3C4 + const EVENT_3C5 + const EVENT_3C6 + const EVENT_3C7 + const EVENT_3C8 + const EVENT_3C9 + const EVENT_3CA + const EVENT_3CB + const EVENT_3CC + const EVENT_3CD + const EVENT_3CE + const EVENT_3CF + const EVENT_3D0 + const EVENT_3D1 + const EVENT_3D2 + const EVENT_3D3 + const EVENT_3D4 + const EVENT_3D5 + const EVENT_3D6 + const EVENT_3D7 + const EVENT_GOT_HM05 + const EVENT_3D9 + const EVENT_3DA + const EVENT_3DB + const EVENT_3DC + const EVENT_3DD + const EVENT_3DE + const EVENT_3DF + const EVENT_3E0 + const EVENT_3E1 + const EVENT_BEAT_ROUTE_3_TRAINER_0 + const EVENT_BEAT_ROUTE_3_TRAINER_1 + const EVENT_BEAT_ROUTE_3_TRAINER_2 + const EVENT_BEAT_ROUTE_3_TRAINER_3 + const EVENT_BEAT_ROUTE_3_TRAINER_4 + const EVENT_BEAT_ROUTE_3_TRAINER_5 + const EVENT_BEAT_ROUTE_3_TRAINER_6 + const EVENT_BEAT_ROUTE_3_TRAINER_7 + const EVENT_3EA + const EVENT_3EB + const EVENT_3EC + const EVENT_3ED + const EVENT_3EE + const EVENT_3EF + const EVENT_3F0 + const EVENT_3F1 + const EVENT_BEAT_ROUTE_4_TRAINER_0 + const EVENT_3F3 + const EVENT_3F4 + const EVENT_3F5 + const EVENT_3F6 + const EVENT_3F7 + const EVENT_3F8 + const EVENT_3F9 + const EVENT_3FA + const EVENT_3FB + const EVENT_3FC + const EVENT_3FD + const EVENT_3FE + const EVENT_BOUGHT_MAGIKARP + const EVENT_400 + const EVENT_401 + const EVENT_402 + const EVENT_403 + const EVENT_404 + const EVENT_405 + const EVENT_406 + const EVENT_407 + const EVENT_408 + const EVENT_409 + const EVENT_40A + const EVENT_40B + const EVENT_40C + const EVENT_40D + const EVENT_40E + const EVENT_40F + const EVENT_410 + const EVENT_BEAT_ROUTE_6_TRAINER_0 + const EVENT_BEAT_ROUTE_6_TRAINER_1 + const EVENT_BEAT_ROUTE_6_TRAINER_2 + const EVENT_BEAT_ROUTE_6_TRAINER_3 + const EVENT_BEAT_ROUTE_6_TRAINER_4 + const EVENT_BEAT_ROUTE_6_TRAINER_5 + const EVENT_417 + const EVENT_418 + const EVENT_419 + const EVENT_41A + const EVENT_41B + const EVENT_41C + const EVENT_41D + const EVENT_41E + const EVENT_41F + const EVENT_420 + const EVENT_421 + const EVENT_422 + const EVENT_423 + const EVENT_424 + const EVENT_425 + const EVENT_426 + const EVENT_427 + const EVENT_428 + const EVENT_429 + const EVENT_42A + const EVENT_42B + const EVENT_42C + const EVENT_42D + const EVENT_42E + const EVENT_42F + const EVENT_430 + const EVENT_BEAT_ROUTE_8_TRAINER_0 + const EVENT_BEAT_ROUTE_8_TRAINER_1 + const EVENT_BEAT_ROUTE_8_TRAINER_2 + const EVENT_BEAT_ROUTE_8_TRAINER_3 + const EVENT_BEAT_ROUTE_8_TRAINER_4 + const EVENT_BEAT_ROUTE_8_TRAINER_5 + const EVENT_BEAT_ROUTE_8_TRAINER_6 + const EVENT_BEAT_ROUTE_8_TRAINER_7 + const EVENT_BEAT_ROUTE_8_TRAINER_8 + const EVENT_43A + const EVENT_43B + const EVENT_43C + const EVENT_43D + const EVENT_43E + const EVENT_43F + const EVENT_440 + const EVENT_BEAT_ROUTE_9_TRAINER_0 + const EVENT_BEAT_ROUTE_9_TRAINER_1 + const EVENT_BEAT_ROUTE_9_TRAINER_2 + const EVENT_BEAT_ROUTE_9_TRAINER_3 + const EVENT_BEAT_ROUTE_9_TRAINER_4 + const EVENT_BEAT_ROUTE_9_TRAINER_5 + const EVENT_BEAT_ROUTE_9_TRAINER_6 + const EVENT_BEAT_ROUTE_9_TRAINER_7 + const EVENT_BEAT_ROUTE_9_TRAINER_8 + const EVENT_44A + const EVENT_44B + const EVENT_44C + const EVENT_44D + const EVENT_44E + const EVENT_44F + const EVENT_450 + const EVENT_BEAT_ROUTE_10_TRAINER_0 + const EVENT_BEAT_ROUTE_10_TRAINER_1 + const EVENT_BEAT_ROUTE_10_TRAINER_2 + const EVENT_BEAT_ROUTE_10_TRAINER_3 + const EVENT_BEAT_ROUTE_10_TRAINER_4 + const EVENT_BEAT_ROUTE_10_TRAINER_5 + const EVENT_457 + const EVENT_458 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_0 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_1 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_2 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_3 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_4 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_5 + const EVENT_BEAT_ROCK_TUNNEL_1_TRAINER_6 + const EVENT_460 + const EVENT_BEAT_POWER_PLANT_VOLTORB_0 + const EVENT_BEAT_POWER_PLANT_VOLTORB_1 + const EVENT_BEAT_POWER_PLANT_VOLTORB_2 + const EVENT_BEAT_POWER_PLANT_VOLTORB_3 + const EVENT_BEAT_POWER_PLANT_VOLTORB_4 + const EVENT_BEAT_POWER_PLANT_VOLTORB_5 + const EVENT_BEAT_POWER_PLANT_VOLTORB_6 + const EVENT_BEAT_POWER_PLANT_VOLTORB_7 + const EVENT_BEAT_ZAPDOS + const EVENT_46A + const EVENT_46B + const EVENT_46C + const EVENT_46D + const EVENT_46E + const EVENT_46F + const EVENT_470 + const EVENT_BEAT_ROUTE_11_TRAINER_0 + const EVENT_BEAT_ROUTE_11_TRAINER_1 + const EVENT_BEAT_ROUTE_11_TRAINER_2 + const EVENT_BEAT_ROUTE_11_TRAINER_3 + const EVENT_BEAT_ROUTE_11_TRAINER_4 + const EVENT_BEAT_ROUTE_11_TRAINER_5 + const EVENT_BEAT_ROUTE_11_TRAINER_6 + const EVENT_BEAT_ROUTE_11_TRAINER_7 + const EVENT_BEAT_ROUTE_11_TRAINER_8 + const EVENT_BEAT_ROUTE_11_TRAINER_9 + const EVENT_47B + const EVENT_47C + const EVENT_47D + const EVENT_47E + const EVENT_GOT_ITEMFINDER + const EVENT_GOT_TM39 + const EVENT_481 + const EVENT_BEAT_ROUTE_12_TRAINER_0 + const EVENT_BEAT_ROUTE_12_TRAINER_1 + const EVENT_BEAT_ROUTE_12_TRAINER_2 + const EVENT_BEAT_ROUTE_12_TRAINER_3 + const EVENT_BEAT_ROUTE_12_TRAINER_4 + const EVENT_BEAT_ROUTE_12_TRAINER_5 + const EVENT_BEAT_ROUTE_12_TRAINER_6 + const EVENT_489 + const EVENT_48A + const EVENT_48B + const EVENT_48C + const EVENT_48D + const EVENT_FIGHT_ROUTE12_SNORLAX + const EVENT_BEAT_ROUTE12_SNORLAX + const EVENT_490 + const EVENT_BEAT_ROUTE_13_TRAINER_0 + const EVENT_BEAT_ROUTE_13_TRAINER_1 + const EVENT_BEAT_ROUTE_13_TRAINER_2 + const EVENT_BEAT_ROUTE_13_TRAINER_3 + const EVENT_BEAT_ROUTE_13_TRAINER_4 + const EVENT_BEAT_ROUTE_13_TRAINER_5 + const EVENT_BEAT_ROUTE_13_TRAINER_6 + const EVENT_BEAT_ROUTE_13_TRAINER_7 + const EVENT_BEAT_ROUTE_13_TRAINER_8 + const EVENT_BEAT_ROUTE_13_TRAINER_9 + const EVENT_49B + const EVENT_49C + const EVENT_49D + const EVENT_49E + const EVENT_49F + const EVENT_4A0 + const EVENT_BEAT_ROUTE_14_TRAINER_0 + const EVENT_BEAT_ROUTE_14_TRAINER_1 + const EVENT_BEAT_ROUTE_14_TRAINER_2 + const EVENT_BEAT_ROUTE_14_TRAINER_3 + const EVENT_BEAT_ROUTE_14_TRAINER_4 + const EVENT_BEAT_ROUTE_14_TRAINER_5 + const EVENT_BEAT_ROUTE_14_TRAINER_6 + const EVENT_BEAT_ROUTE_14_TRAINER_7 + const EVENT_BEAT_ROUTE_14_TRAINER_8 + const EVENT_BEAT_ROUTE_14_TRAINER_9 + const EVENT_4AB + const EVENT_4AC + const EVENT_4AD + const EVENT_4AE + const EVENT_4AF + const EVENT_GOT_EXP_ALL + const EVENT_BEAT_ROUTE_15_TRAINER_0 + const EVENT_BEAT_ROUTE_15_TRAINER_1 + const EVENT_BEAT_ROUTE_15_TRAINER_2 + const EVENT_BEAT_ROUTE_15_TRAINER_3 + const EVENT_BEAT_ROUTE_15_TRAINER_4 + const EVENT_BEAT_ROUTE_15_TRAINER_5 + const EVENT_BEAT_ROUTE_15_TRAINER_6 + const EVENT_BEAT_ROUTE_15_TRAINER_7 + const EVENT_BEAT_ROUTE_15_TRAINER_8 + const EVENT_BEAT_ROUTE_15_TRAINER_9 + const EVENT_4BB + const EVENT_4BC + const EVENT_4BD + const EVENT_4BE + const EVENT_4BF + const EVENT_4C0 + const EVENT_BEAT_ROUTE_16_TRAINER_0 + const EVENT_BEAT_ROUTE_16_TRAINER_1 + const EVENT_BEAT_ROUTE_16_TRAINER_2 + const EVENT_BEAT_ROUTE_16_TRAINER_3 + const EVENT_BEAT_ROUTE_16_TRAINER_4 + const EVENT_BEAT_ROUTE_16_TRAINER_5 + const EVENT_4C7 + const EVENT_FIGHT_ROUTE16_SNORLAX + const EVENT_BEAT_ROUTE16_SNORLAX + const EVENT_4CA + const EVENT_4CB + const EVENT_4CC + const EVENT_4CD + const EVENT_GOT_HM02 + const EVENT_RESCUED_MR_FUJI + const EVENT_4D0 + const EVENT_BEAT_ROUTE_17_TRAINER_0 + const EVENT_BEAT_ROUTE_17_TRAINER_1 + const EVENT_BEAT_ROUTE_17_TRAINER_2 + const EVENT_BEAT_ROUTE_17_TRAINER_3 + const EVENT_BEAT_ROUTE_17_TRAINER_4 + const EVENT_BEAT_ROUTE_17_TRAINER_5 + const EVENT_BEAT_ROUTE_17_TRAINER_6 + const EVENT_BEAT_ROUTE_17_TRAINER_7 + const EVENT_BEAT_ROUTE_17_TRAINER_8 + const EVENT_BEAT_ROUTE_17_TRAINER_9 + const EVENT_4DB + const EVENT_4DC + const EVENT_4DD + const EVENT_4DE + const EVENT_4DF + const EVENT_4E0 + const EVENT_BEAT_ROUTE_18_TRAINER_0 + const EVENT_BEAT_ROUTE_18_TRAINER_1 + const EVENT_BEAT_ROUTE_18_TRAINER_2 + const EVENT_4E4 + const EVENT_4E5 + const EVENT_4E6 + const EVENT_4E7 + const EVENT_4E8 + const EVENT_4E9 + const EVENT_4EA + const EVENT_4EB + const EVENT_4EC + const EVENT_4ED + const EVENT_4EE + const EVENT_4EF + const EVENT_4F0 + const EVENT_BEAT_ROUTE_19_TRAINER_0 + const EVENT_BEAT_ROUTE_19_TRAINER_1 + const EVENT_BEAT_ROUTE_19_TRAINER_2 + const EVENT_BEAT_ROUTE_19_TRAINER_3 + const EVENT_BEAT_ROUTE_19_TRAINER_4 + const EVENT_BEAT_ROUTE_19_TRAINER_5 + const EVENT_BEAT_ROUTE_19_TRAINER_6 + const EVENT_BEAT_ROUTE_19_TRAINER_7 + const EVENT_BEAT_ROUTE_19_TRAINER_8 + const EVENT_BEAT_ROUTE_19_TRAINER_9 + const EVENT_4FB + const EVENT_4FC + const EVENT_4FD + const EVENT_4FE + const EVENT_4FF + const EVENT_IN_SEAFOAM_ISLANDS + const EVENT_BEAT_ROUTE_20_TRAINER_0 + const EVENT_BEAT_ROUTE_20_TRAINER_1 + const EVENT_BEAT_ROUTE_20_TRAINER_2 + const EVENT_BEAT_ROUTE_20_TRAINER_3 + const EVENT_BEAT_ROUTE_20_TRAINER_4 + const EVENT_BEAT_ROUTE_20_TRAINER_5 + const EVENT_BEAT_ROUTE_20_TRAINER_6 + const EVENT_BEAT_ROUTE_20_TRAINER_7 + const EVENT_BEAT_ROUTE_20_TRAINER_8 + const EVENT_BEAT_ROUTE_20_TRAINER_9 + const EVENT_50B + const EVENT_50C + const EVENT_50D + const EVENT_SEAFOAM1_BOULDER1_DOWN_HOLE + const EVENT_SEAFOAM1_BOULDER2_DOWN_HOLE + const EVENT_510 + const EVENT_BEAT_ROUTE_21_TRAINER_0 + const EVENT_BEAT_ROUTE_21_TRAINER_1 + const EVENT_BEAT_ROUTE_21_TRAINER_2 + const EVENT_BEAT_ROUTE_21_TRAINER_3 + const EVENT_BEAT_ROUTE_21_TRAINER_4 + const EVENT_BEAT_ROUTE_21_TRAINER_5 + const EVENT_BEAT_ROUTE_21_TRAINER_6 + const EVENT_BEAT_ROUTE_21_TRAINER_7 + const EVENT_BEAT_ROUTE_21_TRAINER_8 + const EVENT_51A + const EVENT_51B + const EVENT_51C + const EVENT_51D + const EVENT_51E + const EVENT_51F + const EVENT_1ST_ROUTE22_RIVAL_BATTLE + const EVENT_2ND_ROUTE22_RIVAL_BATTLE + const EVENT_522 + const EVENT_523 + const EVENT_524 + const EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE + const EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE + const EVENT_ROUTE22_RIVAL_WANTS_BATTLE + const EVENT_528 + const EVENT_529 + const EVENT_52A + const EVENT_52B + const EVENT_52C + const EVENT_52D + const EVENT_52E + const EVENT_52F + const EVENT_PASSED_CASCADEBADGE_CHECK + const EVENT_PASSED_THUNDERBADGE_CHECK + const EVENT_PASSED_RAINBOWBADGE_CHECK + const EVENT_PASSED_SOULBADGE_CHECK + const EVENT_PASSED_MARSHBADGE_CHECK + const EVENT_PASSED_VOLCANOBADGE_CHECK + const EVENT_PASSED_EARTHBADGE_CHECK + const EVENT_537 + const EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH1 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_0 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_1 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_2 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_3 + const EVENT_BEAT_VICTORY_ROAD_2_TRAINER_4 + const EVENT_BEAT_MOLTRES + const EVENT_VICTORY_ROAD_2_BOULDER_ON_SWITCH2 + const EVENT_GOT_NUGGET + const EVENT_BEAT_ROUTE24_ROCKET + const EVENT_BEAT_ROUTE_24_TRAINER_0 + const EVENT_BEAT_ROUTE_24_TRAINER_1 + const EVENT_BEAT_ROUTE_24_TRAINER_2 + const EVENT_BEAT_ROUTE_24_TRAINER_3 + const EVENT_BEAT_ROUTE_24_TRAINER_4 + const EVENT_BEAT_ROUTE_24_TRAINER_5 + const EVENT_548 + const EVENT_NUGGET_REWARD_AVAILABLE + const EVENT_54A + const EVENT_54B + const EVENT_54C + const EVENT_54D + const EVENT_54E + const EVENT_54F + const EVENT_MET_BILL + const EVENT_BEAT_ROUTE_25_TRAINER_0 + const EVENT_BEAT_ROUTE_25_TRAINER_1 + const EVENT_BEAT_ROUTE_25_TRAINER_2 + const EVENT_BEAT_ROUTE_25_TRAINER_3 + const EVENT_BEAT_ROUTE_25_TRAINER_4 + const EVENT_BEAT_ROUTE_25_TRAINER_5 + const EVENT_BEAT_ROUTE_25_TRAINER_6 + const EVENT_BEAT_ROUTE_25_TRAINER_7 + const EVENT_BEAT_ROUTE_25_TRAINER_8 + const EVENT_55A + const EVENT_USED_CELL_SEPARATOR_ON_BILL + const EVENT_GOT_SS_TICKET + const EVENT_MET_BILL_2 + const EVENT_BILL_SAID_USE_CELL_SEPARATOR + const EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING + const EVENT_560 + const EVENT_561 + const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_0 + const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_1 + const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_2 + const EVENT_565 + const EVENT_566 + const EVENT_567 + const EVENT_568 + const EVENT_569 + const EVENT_56A + const EVENT_56B + const EVENT_56C + const EVENT_56D + const EVENT_56E + const EVENT_56F + const EVENT_570 + const EVENT_BEAT_MT_MOON_1_TRAINER_0 + const EVENT_BEAT_MT_MOON_1_TRAINER_1 + const EVENT_BEAT_MT_MOON_1_TRAINER_2 + const EVENT_BEAT_MT_MOON_1_TRAINER_3 + const EVENT_BEAT_MT_MOON_1_TRAINER_4 + const EVENT_BEAT_MT_MOON_1_TRAINER_5 + const EVENT_BEAT_MT_MOON_1_TRAINER_6 + const EVENT_578 + const EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD + const EVENT_BEAT_MT_MOON_3_TRAINER_0 + const EVENT_BEAT_MT_MOON_3_TRAINER_1 + const EVENT_BEAT_MT_MOON_3_TRAINER_2 + const EVENT_BEAT_MT_MOON_3_TRAINER_3 + const EVENT_GOT_DOME_FOSSIL + const EVENT_GOT_HELIX_FOSSIL + const EVENT_580 + const EVENT_581 + const EVENT_582 + const EVENT_583 + const EVENT_584 + const EVENT_585 + const EVENT_586 + const EVENT_587 + const EVENT_588 + const EVENT_589 + const EVENT_58A + const EVENT_58B + const EVENT_58C + const EVENT_58D + const EVENT_58E + const EVENT_58F + const EVENT_590 + const EVENT_591 + const EVENT_592 + const EVENT_593 + const EVENT_594 + const EVENT_595 + const EVENT_596 + const EVENT_597 + const EVENT_598 + const EVENT_599 + const EVENT_59A + const EVENT_59B + const EVENT_59C + const EVENT_59D + const EVENT_59E + const EVENT_59F + const EVENT_5A0 + const EVENT_5A1 + const EVENT_5A2 + const EVENT_5A3 + const EVENT_5A4 + const EVENT_5A5 + const EVENT_5A6 + const EVENT_5A7 + const EVENT_5A8 + const EVENT_5A9 + const EVENT_5AA + const EVENT_5AB + const EVENT_5AC + const EVENT_5AD + const EVENT_5AE + const EVENT_5AF + const EVENT_5B0 + const EVENT_5B1 + const EVENT_5B2 + const EVENT_5B3 + const EVENT_5B4 + const EVENT_5B5 + const EVENT_5B6 + const EVENT_5B7 + const EVENT_5B8 + const EVENT_5B9 + const EVENT_5BA + const EVENT_5BB + const EVENT_5BC + const EVENT_5BD + const EVENT_5BE + const EVENT_5BF + const EVENT_5C0 + const EVENT_5C1 + const EVENT_5C2 + const EVENT_5C3 + const EVENT_BEAT_SS_ANNE_5_TRAINER_0 + const EVENT_BEAT_SS_ANNE_5_TRAINER_1 + const EVENT_5C6 + const EVENT_5C7 + const EVENT_5C8 + const EVENT_5C9 + const EVENT_5CA + const EVENT_5CB + const EVENT_5CC + const EVENT_5CD + const EVENT_5CE + const EVENT_5CF + const EVENT_5D0 + const EVENT_5D1 + const EVENT_5D2 + const EVENT_5D3 + const EVENT_5D4 + const EVENT_5D5 + const EVENT_5D6 + const EVENT_5D7 + const EVENT_5D8 + const EVENT_5D9 + const EVENT_5DA + const EVENT_5DB + const EVENT_5DC + const EVENT_5DD + const EVENT_5DE + const EVENT_5DF + const EVENT_GOT_HM01 + const EVENT_RUBBED_CAPTAINS_BACK + const EVENT_SS_ANNE_LEFT + const EVENT_WALKED_PAST_GUARD_AFTER_SS_ANNE_LEFT + const EVENT_STARTED_WALKING_OUT_OF_DOCK + const EVENT_WALKED_OUT_OF_DOCK + const EVENT_5E6 + const EVENT_5E7 + const EVENT_5E8 + const EVENT_5E9 + const EVENT_5EA + const EVENT_5EB + const EVENT_5EC + const EVENT_5ED + const EVENT_5EE + const EVENT_5EF + const EVENT_5F0 + const EVENT_BEAT_SS_ANNE_8_TRAINER_0 + const EVENT_BEAT_SS_ANNE_8_TRAINER_1 + const EVENT_BEAT_SS_ANNE_8_TRAINER_2 + const EVENT_BEAT_SS_ANNE_8_TRAINER_3 + const EVENT_5F5 + const EVENT_5F6 + const EVENT_5F7 + const EVENT_5F8 + const EVENT_5F9 + const EVENT_5FA + const EVENT_5FB + const EVENT_5FC + const EVENT_5FD + const EVENT_5FE + const EVENT_5FF + const EVENT_600 + const EVENT_BEAT_SS_ANNE_9_TRAINER_0 + const EVENT_BEAT_SS_ANNE_9_TRAINER_1 + const EVENT_BEAT_SS_ANNE_9_TRAINER_2 + const EVENT_BEAT_SS_ANNE_9_TRAINER_3 + const EVENT_605 + const EVENT_606 + const EVENT_607 + const EVENT_608 + const EVENT_609 + const EVENT_60A + const EVENT_60B + const EVENT_60C + const EVENT_60D + const EVENT_60E + const EVENT_60F + const EVENT_610 + const EVENT_BEAT_SS_ANNE_10_TRAINER_0 + const EVENT_BEAT_SS_ANNE_10_TRAINER_1 + const EVENT_BEAT_SS_ANNE_10_TRAINER_2 + const EVENT_BEAT_SS_ANNE_10_TRAINER_3 + const EVENT_BEAT_SS_ANNE_10_TRAINER_4 + const EVENT_BEAT_SS_ANNE_10_TRAINER_5 + const EVENT_617 + const EVENT_618 + const EVENT_619 + const EVENT_61A + const EVENT_61B + const EVENT_61C + const EVENT_61D + const EVENT_61E + const EVENT_61F + const EVENT_620 + const EVENT_621 + const EVENT_622 + const EVENT_623 + const EVENT_624 + const EVENT_625 + const EVENT_626 + const EVENT_627 + const EVENT_628 + const EVENT_629 + const EVENT_62A + const EVENT_62B + const EVENT_62C + const EVENT_62D + const EVENT_62E + const EVENT_62F + const EVENT_630 + const EVENT_631 + const EVENT_632 + const EVENT_633 + const EVENT_634 + const EVENT_635 + const EVENT_636 + const EVENT_637 + const EVENT_638 + const EVENT_639 + const EVENT_63A + const EVENT_63B + const EVENT_63C + const EVENT_63D + const EVENT_63E + const EVENT_63F + const EVENT_640 + const EVENT_641 + const EVENT_642 + const EVENT_643 + const EVENT_644 + const EVENT_645 + const EVENT_646 + const EVENT_647 + const EVENT_648 + const EVENT_649 + const EVENT_64A + const EVENT_64B + const EVENT_64C + const EVENT_64D + const EVENT_64E + const EVENT_64F + const EVENT_650 + const EVENT_651 + const EVENT_652 + const EVENT_653 + const EVENT_654 + const EVENT_655 + const EVENT_656 + const EVENT_657 + const EVENT_658 + const EVENT_659 + const EVENT_65A + const EVENT_65B + const EVENT_65C + const EVENT_65D + const EVENT_65E + const EVENT_65F + const EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH1 + const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_0 + const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_1 + const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_2 + const EVENT_BEAT_VICTORY_ROAD_3_TRAINER_3 + const EVENT_665 + const EVENT_VICTORY_ROAD_3_BOULDER_ON_SWITCH2 + const EVENT_667 + const EVENT_668 + const EVENT_669 + const EVENT_66A + const EVENT_66B + const EVENT_66C + const EVENT_66D + const EVENT_66E + const EVENT_66F + const EVENT_670 + const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_0 + const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_1 + const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_2 + const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_3 + const EVENT_BEAT_ROCKET_HIDEOUT_1_TRAINER_4 + const EVENT_676 + const EVENT_677 + const EVENT_678 + const EVENT_679 + const EVENT_67A + const EVENT_67B + const EVENT_67C + const EVENT_67D + const EVENT_67E + const EVENT_67F + const EVENT_680 + const EVENT_BEAT_ROCKET_HIDEOUT_2_TRAINER_0 + const EVENT_682 + const EVENT_683 + const EVENT_684 + const EVENT_685 + const EVENT_686 + const EVENT_687 + const EVENT_688 + const EVENT_689 + const EVENT_68A + const EVENT_68B + const EVENT_68C + const EVENT_68D + const EVENT_68E + const EVENT_68F + const EVENT_690 + const EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_0 + const EVENT_BEAT_ROCKET_HIDEOUT_3_TRAINER_1 + const EVENT_693 + const EVENT_694 + const EVENT_695 + const EVENT_696 + const EVENT_697 + const EVENT_698 + const EVENT_699 + const EVENT_69A + const EVENT_69B + const EVENT_69C + const EVENT_69D + const EVENT_69E + const EVENT_69F + const EVENT_6A0 + const EVENT_6A1 + const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_0 + const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_1 + const EVENT_BEAT_ROCKET_HIDEOUT_4_TRAINER_2 + const EVENT_ROCKET_HIDEOUT_4_DOOR_UNLOCKED + const EVENT_ROCKET_DROPPED_LIFT_KEY + const EVENT_BEAT_ROCKET_HIDEOUT_GIOVANNI + const EVENT_6A8 + const EVENT_6A9 + const EVENT_6AA + const EVENT_6AB + const EVENT_6AC + const EVENT_6AD + const EVENT_6AE + const EVENT_6AF + const EVENT_6B0 + const EVENT_6B1 + const EVENT_6B2 + const EVENT_6B3 + const EVENT_6B4 + const EVENT_6B5 + const EVENT_6B6 + const EVENT_6B7 + const EVENT_6B8 + const EVENT_6B9 + const EVENT_6BA + const EVENT_6BB + const EVENT_6BC + const EVENT_6BD + const EVENT_6BE + const EVENT_6BF + const EVENT_6C0 + const EVENT_6C1 + const EVENT_6C2 + const EVENT_6C3 + const EVENT_6C4 + const EVENT_6C5 + const EVENT_6C6 + const EVENT_6C7 + const EVENT_6C8 + const EVENT_6C9 + const EVENT_6CA + const EVENT_6CB + const EVENT_6CC + const EVENT_6CD + const EVENT_6CE + const EVENT_6CF + const EVENT_6D0 + const EVENT_6D1 + const EVENT_6D2 + const EVENT_6D3 + const EVENT_6D4 + const EVENT_6D5 + const EVENT_6D6 + const EVENT_6D7 + const EVENT_6D8 + const EVENT_6D9 + const EVENT_6DA + const EVENT_6DB + const EVENT_6DC + const EVENT_6DD + const EVENT_6DE + const EVENT_6DF + const EVENT_6E0 + const EVENT_6E1 + const EVENT_6E2 + const EVENT_6E3 + const EVENT_6E4 + const EVENT_6E5 + const EVENT_6E6 + const EVENT_6E7 + const EVENT_6E8 + const EVENT_6E9 + const EVENT_6EA + const EVENT_6EB + const EVENT_6EC + const EVENT_6ED + const EVENT_6EE + const EVENT_6EF + const EVENT_6F0 + const EVENT_6F1 + const EVENT_BEAT_SILPH_CO_2F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_2F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_2F_TRAINER_2 + const EVENT_BEAT_SILPH_CO_2F_TRAINER_3 + const EVENT_6F6 + const EVENT_6F7 + const EVENT_6F8 + const EVENT_6F9 + const EVENT_6FA + const EVENT_6FB + const EVENT_6FC + const EVENT_SILPH_CO_2_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_2_UNLOCKED_DOOR2 + const EVENT_GOT_TM36 + const EVENT_700 + const EVENT_701 + const EVENT_BEAT_SILPH_CO_3F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_3F_TRAINER_1 + const EVENT_704 + const EVENT_705 + const EVENT_706 + const EVENT_707 + const EVENT_SILPH_CO_3_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_3_UNLOCKED_DOOR2 + const EVENT_70A + const EVENT_70B + const EVENT_70C + const EVENT_70D + const EVENT_70E + const EVENT_70F + const EVENT_710 + const EVENT_711 + const EVENT_BEAT_SILPH_CO_4F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_4F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_4F_TRAINER_2 + const EVENT_715 + const EVENT_716 + const EVENT_717 + const EVENT_SILPH_CO_4_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_4_UNLOCKED_DOOR2 + const EVENT_71A + const EVENT_71B + const EVENT_71C + const EVENT_71D + const EVENT_71E + const EVENT_71F + const EVENT_720 + const EVENT_721 + const EVENT_BEAT_SILPH_CO_5F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_5F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_5F_TRAINER_2 + const EVENT_BEAT_SILPH_CO_5F_TRAINER_3 + const EVENT_726 + const EVENT_727 + const EVENT_SILPH_CO_5_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_5_UNLOCKED_DOOR2 + const EVENT_SILPH_CO_5_UNLOCKED_DOOR3 + const EVENT_72B + const EVENT_72C + const EVENT_72D + const EVENT_72E + const EVENT_72F + const EVENT_730 + const EVENT_731 + const EVENT_732 + const EVENT_733 + const EVENT_734 + const EVENT_735 + const EVENT_BEAT_SILPH_CO_6F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_6F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_6F_TRAINER_2 + const EVENT_739 + const EVENT_73A + const EVENT_73B + const EVENT_73C + const EVENT_73D + const EVENT_73E + const EVENT_SILPH_CO_6_UNLOCKED_DOOR + const EVENT_BEAT_SILPH_CO_RIVAL + const EVENT_741 + const EVENT_742 + const EVENT_743 + const EVENT_744 + const EVENT_BEAT_SILPH_CO_7F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_7F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_7F_TRAINER_2 + const EVENT_BEAT_SILPH_CO_7F_TRAINER_3 + const EVENT_749 + const EVENT_74A + const EVENT_74B + const EVENT_SILPH_CO_7_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_7_UNLOCKED_DOOR2 + const EVENT_SILPH_CO_7_UNLOCKED_DOOR3 + const EVENT_74F + const EVENT_750 + const EVENT_751 + const EVENT_BEAT_SILPH_CO_8F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_8F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_8F_TRAINER_2 + const EVENT_755 + const EVENT_756 + const EVENT_757 + const EVENT_SILPH_CO_8_UNLOCKED_DOOR + const EVENT_759 + const EVENT_75A + const EVENT_75B + const EVENT_75C + const EVENT_75D + const EVENT_75E + const EVENT_75F + const EVENT_760 + const EVENT_761 + const EVENT_BEAT_SILPH_CO_9F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_9F_TRAINER_1 + const EVENT_BEAT_SILPH_CO_9F_TRAINER_2 + const EVENT_765 + const EVENT_766 + const EVENT_767 + const EVENT_SILPH_CO_9_UNLOCKED_DOOR1 + const EVENT_SILPH_CO_9_UNLOCKED_DOOR2 + const EVENT_SILPH_CO_9_UNLOCKED_DOOR3 + const EVENT_SILPH_CO_9_UNLOCKED_DOOR4 + const EVENT_76C + const EVENT_76D + const EVENT_76E + const EVENT_76F + const EVENT_770 + const EVENT_BEAT_SILPH_CO_10F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_10F_TRAINER_1 + const EVENT_773 + const EVENT_774 + const EVENT_775 + const EVENT_776 + const EVENT_777 + const EVENT_SILPH_CO_10_UNLOCKED_DOOR + const EVENT_779 + const EVENT_77A + const EVENT_77B + const EVENT_77C + const EVENT_77D + const EVENT_77E + const EVENT_77F + const EVENT_780 + const EVENT_781 + const EVENT_782 + const EVENT_783 + const EVENT_BEAT_SILPH_CO_11F_TRAINER_0 + const EVENT_BEAT_SILPH_CO_11F_TRAINER_1 + const EVENT_786 + const EVENT_787 + const EVENT_SILPH_CO_11_UNLOCKED_DOOR + const EVENT_789 + const EVENT_78A + const EVENT_78B + const EVENT_78C + const EVENT_GOT_MASTER_BALL + const EVENT_78E + const EVENT_BEAT_SILPH_CO_GIOVANNI + const EVENT_790 + const EVENT_791 + const EVENT_792 + const EVENT_793 + const EVENT_794 + const EVENT_795 + const EVENT_796 + const EVENT_797 + const EVENT_798 + const EVENT_799 + const EVENT_79A + const EVENT_79B + const EVENT_79C + const EVENT_79D + const EVENT_79E + const EVENT_79F + const EVENT_7A0 + const EVENT_7A1 + const EVENT_7A2 + const EVENT_7A3 + const EVENT_7A4 + const EVENT_7A5 + const EVENT_7A6 + const EVENT_7A7 + const EVENT_7A8 + const EVENT_7A9 + const EVENT_7AA + const EVENT_7AB + const EVENT_7AC + const EVENT_7AD + const EVENT_7AE + const EVENT_7AF + const EVENT_7B0 + const EVENT_7B1 + const EVENT_7B2 + const EVENT_7B3 + const EVENT_7B4 + const EVENT_7B5 + const EVENT_7B6 + const EVENT_7B7 + const EVENT_7B8 + const EVENT_7B9 + const EVENT_7BA + const EVENT_7BB + const EVENT_7BC + const EVENT_7BD + const EVENT_7BE + const EVENT_7BF + const EVENT_7C0 + const EVENT_7C1 + const EVENT_7C2 + const EVENT_7C3 + const EVENT_7C4 + const EVENT_7C5 + const EVENT_7C6 + const EVENT_7C7 + const EVENT_7C8 + const EVENT_7C9 + const EVENT_7CA + const EVENT_7CB + const EVENT_7CC + const EVENT_7CD + const EVENT_7CE + const EVENT_7CF + const EVENT_7D0 + const EVENT_7D1 + const EVENT_7D2 + const EVENT_7D3 + const EVENT_7D4 + const EVENT_7D5 + const EVENT_7D6 + const EVENT_7D7 + const EVENT_7D8 + const EVENT_7D9 + const EVENT_7DA + const EVENT_7DB + const EVENT_7DC + const EVENT_7DD + const EVENT_7DE + const EVENT_7DF + const EVENT_7E0 + const EVENT_7E1 + const EVENT_7E2 + const EVENT_7E3 + const EVENT_7E4 + const EVENT_7E5 + const EVENT_7E6 + const EVENT_7E7 + const EVENT_7E8 + const EVENT_7E9 + const EVENT_7EA + const EVENT_7EB + const EVENT_7EC + const EVENT_7ED + const EVENT_7EE + const EVENT_7EF + const EVENT_7F0 + const EVENT_7F1 + const EVENT_7F2 + const EVENT_7F3 + const EVENT_7F4 + const EVENT_7F5 + const EVENT_7F6 + const EVENT_7F7 + const EVENT_7F8 + const EVENT_7F9 + const EVENT_7FA + const EVENT_7FB + const EVENT_7FC + const EVENT_7FD + const EVENT_7FE + const EVENT_7FF + const EVENT_800 + const EVENT_BEAT_MANSION_2_TRAINER_0 + const EVENT_802 + const EVENT_803 + const EVENT_804 + const EVENT_805 + const EVENT_806 + const EVENT_807 + const EVENT_808 + const EVENT_809 + const EVENT_80A + const EVENT_80B + const EVENT_80C + const EVENT_80D + const EVENT_80E + const EVENT_80F + const EVENT_810 + const EVENT_BEAT_MANSION_3_TRAINER_0 + const EVENT_BEAT_MANSION_3_TRAINER_1 + const EVENT_813 + const EVENT_814 + const EVENT_815 + const EVENT_816 + const EVENT_817 + const EVENT_818 + const EVENT_819 + const EVENT_81A + const EVENT_81B + const EVENT_81C + const EVENT_81D + const EVENT_81E + const EVENT_81F + const EVENT_820 + const EVENT_BEAT_MANSION_4_TRAINER_0 + const EVENT_BEAT_MANSION_4_TRAINER_1 + const EVENT_823 + const EVENT_824 + const EVENT_825 + const EVENT_826 + const EVENT_827 + const EVENT_828 + const EVENT_829 + const EVENT_82A + const EVENT_82B + const EVENT_82C + const EVENT_82D + const EVENT_82E + const EVENT_82F + const EVENT_830 + const EVENT_831 + const EVENT_832 + const EVENT_833 + const EVENT_834 + const EVENT_835 + const EVENT_836 + const EVENT_837 + const EVENT_838 + const EVENT_839 + const EVENT_83A + const EVENT_83B + const EVENT_83C + const EVENT_83D + const EVENT_83E + const EVENT_83F + const EVENT_840 + const EVENT_841 + const EVENT_842 + const EVENT_843 + const EVENT_844 + const EVENT_845 + const EVENT_846 + const EVENT_847 + const EVENT_848 + const EVENT_849 + const EVENT_84A + const EVENT_84B + const EVENT_84C + const EVENT_84D + const EVENT_84E + const EVENT_84F + const EVENT_850 + const EVENT_851 + const EVENT_852 + const EVENT_853 + const EVENT_854 + const EVENT_855 + const EVENT_856 + const EVENT_857 + const EVENT_858 + const EVENT_859 + const EVENT_85A + const EVENT_85B + const EVENT_85C + const EVENT_85D + const EVENT_85E + const EVENT_85F + const EVENT_860 + const EVENT_861 + const EVENT_862 + const EVENT_863 + const EVENT_864 + const EVENT_865 + const EVENT_866 + const EVENT_867 + const EVENT_868 + const EVENT_869 + const EVENT_86A + const EVENT_86B + const EVENT_86C + const EVENT_86D + const EVENT_86E + const EVENT_86F + const EVENT_870 + const EVENT_871 + const EVENT_872 + const EVENT_873 + const EVENT_874 + const EVENT_875 + const EVENT_876 + const EVENT_877 + const EVENT_878 + const EVENT_879 + const EVENT_87A + const EVENT_87B + const EVENT_87C + const EVENT_87D + const EVENT_87E + const EVENT_87F + const EVENT_GOT_HM03 + const EVENT_881 + const EVENT_882 + const EVENT_883 + const EVENT_884 + const EVENT_885 + const EVENT_886 + const EVENT_887 + const EVENT_888 + const EVENT_889 + const EVENT_88A + const EVENT_88B + const EVENT_88C + const EVENT_88D + const EVENT_88E + const EVENT_88F + const EVENT_890 + const EVENT_891 + const EVENT_892 + const EVENT_893 + const EVENT_894 + const EVENT_895 + const EVENT_896 + const EVENT_897 + const EVENT_898 + const EVENT_899 + const EVENT_89A + const EVENT_89B + const EVENT_89C + const EVENT_89D + const EVENT_89E + const EVENT_89F + const EVENT_8A0 + const EVENT_8A1 + const EVENT_8A2 + const EVENT_8A3 + const EVENT_8A4 + const EVENT_8A5 + const EVENT_8A6 + const EVENT_8A7 + const EVENT_8A8 + const EVENT_8A9 + const EVENT_8AA + const EVENT_8AB + const EVENT_8AC + const EVENT_8AD + const EVENT_8AE + const EVENT_8AF + const EVENT_8B0 + const EVENT_8B1 + const EVENT_8B2 + const EVENT_8B3 + const EVENT_8B4 + const EVENT_8B5 + const EVENT_8B6 + const EVENT_8B7 + const EVENT_8B8 + const EVENT_8B9 + const EVENT_8BA + const EVENT_8BB + const EVENT_8BC + const EVENT_8BD + const EVENT_8BE + const EVENT_8BF + const EVENT_8C0 + const EVENT_BEAT_MEWTWO + const EVENT_8C2 + const EVENT_8C3 + const EVENT_8C4 + const EVENT_8C5 + const EVENT_8C6 + const EVENT_8C7 + const EVENT_8C8 + const EVENT_8C9 + const EVENT_8CA + const EVENT_8CB + const EVENT_8CC + const EVENT_8CD + const EVENT_8CE + const EVENT_8CF + const EVENT_8D0 + const EVENT_8D1 + const EVENT_8D2 + const EVENT_8D3 + const EVENT_8D4 + const EVENT_8D5 + const EVENT_8D6 + const EVENT_8D7 + const EVENT_8D8 + const EVENT_8D9 + const EVENT_8DA + const EVENT_8DB + const EVENT_8DC + const EVENT_8DD + const EVENT_8DE + const EVENT_8DF + const ELITE4_EVENTS_START + const EVENT_BEAT_LORELEIS_ROOM_TRAINER_0 + const EVENT_8E2 + const EVENT_8E3 + const EVENT_8E4 + const EVENT_8E5 + const EVENT_AUTOWALKED_INTO_LORELEIS_ROOM + const EVENT_8E7 + const EVENT_8E8 + const EVENT_BEAT_BRUNOS_ROOM_TRAINER_0 + const EVENT_8EA + const EVENT_8EB + const EVENT_8EC + const EVENT_8ED + const EVENT_AUTOWALKED_INTO_BRUNOS_ROOM + const EVENT_8EF + const EVENT_8F0 + const EVENT_BEAT_AGATHAS_ROOM_TRAINER_0 + const EVENT_8F2 + const EVENT_8F3 + const EVENT_8F4 + const EVENT_8F5 + const EVENT_AUTOWALKED_INTO_AGATHAS_ROOM + const EVENT_8F7 + const EVENT_8F8 + const EVENT_BEAT_LANCES_ROOM_TRAINER_0 + const EVENT_8FA + const EVENT_8FB + const EVENT_8FC + const EVENT_8FD + const EVENT_BEAT_LANCE + const EVENT_LANCES_ROOM_LOCK_DOOR + const EVENT_900 + const EVENT_BEAT_CHAMPION_RIVAL + const EVENT_902 + const EVENT_903 + const EVENT_904 + const EVENT_905 + const EVENT_906 + const ELITE4_CHAMPION_EVENTS_END + const EVENT_908 + const EVENT_909 + const EVENT_90A + const EVENT_90B + const EVENT_90C + const EVENT_90D + const EVENT_90E + const EVENT_90F + const EVENT_910 + const EVENT_BEAT_VICTORY_ROAD_1_TRAINER_0 + const EVENT_BEAT_VICTORY_ROAD_1_TRAINER_1 + const EVENT_913 + const EVENT_914 + const EVENT_915 + const EVENT_916 + const EVENT_VICTORY_ROAD_1_BOULDER_ON_SWITCH + const EVENT_918 + const EVENT_919 + const EVENT_91A + const EVENT_91B + const EVENT_91C + const EVENT_91D + const EVENT_91E + const EVENT_91F + const EVENT_920 + const EVENT_921 + const EVENT_922 + const EVENT_923 + const EVENT_924 + const EVENT_925 + const EVENT_926 + const EVENT_927 + const EVENT_928 + const EVENT_929 + const EVENT_92A + const EVENT_92B + const EVENT_92C + const EVENT_92D + const EVENT_92E + const EVENT_92F + const EVENT_930 + const EVENT_931 + const EVENT_932 + const EVENT_933 + const EVENT_934 + const EVENT_935 + const EVENT_936 + const EVENT_937 + const EVENT_938 + const EVENT_939 + const EVENT_93A + const EVENT_93B + const EVENT_93C + const EVENT_93D + const EVENT_93E + const EVENT_93F + const EVENT_940 + const EVENT_941 + const EVENT_942 + const EVENT_943 + const EVENT_944 + const EVENT_945 + const EVENT_946 + const EVENT_947 + const EVENT_948 + const EVENT_949 + const EVENT_94A + const EVENT_94B + const EVENT_94C + const EVENT_94D + const EVENT_94E + const EVENT_94F + const EVENT_950 + const EVENT_951 + const EVENT_952 + const EVENT_953 + const EVENT_954 + const EVENT_955 + const EVENT_956 + const EVENT_957 + const EVENT_958 + const EVENT_959 + const EVENT_95A + const EVENT_95B + const EVENT_95C + const EVENT_95D + const EVENT_95E + const EVENT_95F + const EVENT_960 + const EVENT_961 + const EVENT_962 + const EVENT_963 + const EVENT_964 + const EVENT_965 + const EVENT_966 + const EVENT_967 + const EVENT_968 + const EVENT_969 + const EVENT_96A + const EVENT_96B + const EVENT_96C + const EVENT_96D + const EVENT_96E + const EVENT_96F + const EVENT_970 + const EVENT_971 + const EVENT_972 + const EVENT_973 + const EVENT_974 + const EVENT_975 + const EVENT_976 + const EVENT_977 + const EVENT_978 + const EVENT_979 + const EVENT_97A + const EVENT_97B + const EVENT_97C + const EVENT_97D + const EVENT_97E + const EVENT_97F + const EVENT_980 + const EVENT_981 + const EVENT_982 + const EVENT_983 + const EVENT_984 + const EVENT_985 + const EVENT_986 + const EVENT_987 + const EVENT_988 + const EVENT_989 + const EVENT_98A + const EVENT_98B + const EVENT_98C + const EVENT_98D + const EVENT_98E + const EVENT_98F + const EVENT_990 + const EVENT_991 + const EVENT_992 + const EVENT_993 + const EVENT_994 + const EVENT_995 + const EVENT_996 + const EVENT_997 + const EVENT_998 + const EVENT_999 + const EVENT_99A + const EVENT_99B + const EVENT_99C + const EVENT_99D + const EVENT_99E + const EVENT_99F + const EVENT_9A0 + const EVENT_9A1 + const EVENT_9A2 + const EVENT_9A3 + const EVENT_9A4 + const EVENT_9A5 + const EVENT_9A6 + const EVENT_9A7 + const EVENT_9A8 + const EVENT_9A9 + const EVENT_9AA + const EVENT_9AB + const EVENT_9AC + const EVENT_9AD + const EVENT_9AE + const EVENT_9AF + const EVENT_9B0 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_0 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_1 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_2 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_3 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_4 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_5 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_6 + const EVENT_BEAT_ROCK_TUNNEL_2_TRAINER_7 + const EVENT_9B9 + const EVENT_9BA + const EVENT_9BB + const EVENT_9BC + const EVENT_9BD + const EVENT_9BE + const EVENT_9BF + const EVENT_SEAFOAM2_BOULDER1_DOWN_HOLE + const EVENT_SEAFOAM2_BOULDER2_DOWN_HOLE + const EVENT_9C2 + const EVENT_9C3 + const EVENT_9C4 + const EVENT_9C5 + const EVENT_9C6 + const EVENT_9C7 + const EVENT_SEAFOAM3_BOULDER1_DOWN_HOLE + const EVENT_SEAFOAM3_BOULDER2_DOWN_HOLE + const EVENT_9CA + const EVENT_9CB + const EVENT_9CC + const EVENT_9CD + const EVENT_9CE + const EVENT_9CF + const EVENT_SEAFOAM4_BOULDER1_DOWN_HOLE + const EVENT_SEAFOAM4_BOULDER2_DOWN_HOLE + const EVENT_9D2 + const EVENT_9D3 + const EVENT_9D4 + const EVENT_9D5 + const EVENT_9D6 + const EVENT_9D7 + const EVENT_9D8 + const EVENT_9D9 + const EVENT_BEAT_ARTICUNO + const EVENT_9DB + const EVENT_9DC + const EVENT_9DD + const EVENT_9DE + const EVENT_9DF + const EVENT_9E0 + const EVENT_9E1 + const EVENT_9E2 + const EVENT_9E3 + const EVENT_9E4 + const EVENT_9E5 + const EVENT_9E6 + const EVENT_9E7 + const EVENT_9E8 + const EVENT_9E9 + const EVENT_9EA + const EVENT_9EB + const EVENT_9EC + const EVENT_9ED + const EVENT_9EE + const EVENT_9EF + const EVENT_9F0 + const EVENT_9F1 + const EVENT_9F2 + const EVENT_9F3 + const EVENT_9F4 + const EVENT_9F5 + const EVENT_9F6 + const EVENT_9F7 + const EVENT_9F8 + const EVENT_9F9 + const EVENT_9FA + const EVENT_9FB + const EVENT_9FC + const EVENT_9FD + const EVENT_9FE + const EVENT_9FF diff --git a/constants/evolution_constants.asm b/constants/evolution_constants.asm deleted file mode 100755 index 86c466d8..00000000 --- a/constants/evolution_constants.asm +++ /dev/null @@ -1,9 +0,0 @@ -; See data/evos_moves.asm - -; Evolution types -EV_LEVEL EQU 1 -EV_ITEM EQU 2 -EV_TRADE EQU 3 - -MAX_EVOLUTIONS EQU 3 -EVOLUTION_SIZE EQU 4 diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm new file mode 100644 index 00000000..04671ecb --- /dev/null +++ b/constants/gfx_constants.asm @@ -0,0 +1,17 @@ +SCREEN_WIDTH EQU 20 +SCREEN_HEIGHT EQU 18 + +SCREEN_WIDTH_PIXELS EQU SCREEN_WIDTH * 8 +SCREEN_HEIGHT_PIXELS EQU SCREEN_HEIGHT * 8 + +BYTES_PER_TILE EQU 16 + +BG_MAP_WIDTH EQU 32 +BG_MAP_HEIGHT EQU 32 + +SPRITEBUFFERSIZE EQU 7*7 * 8 ; 7 * 7 (tiles) * 8 (bytes per tile) + +; HP bar +HP_BAR_GREEN EQU 0 +HP_BAR_YELLOW EQU 1 +HP_BAR_RED EQU 2 diff --git a/constants/hardware_constants.asm b/constants/hardware_constants.asm index 9f2aa1b7..993a02f5 100644 --- a/constants/hardware_constants.asm +++ b/constants/hardware_constants.asm @@ -2,6 +2,19 @@ GBC EQU $11 +; memory map +VRAM_Begin EQU $8000 +VRAM_End EQU $a000 +SRAM_Begin EQU $a000 +SRAM_End EQU $c000 +WRAM0_Begin EQU $c000 +WRAM0_End EQU $d000 +WRAM1_Begin EQU $d000 +WRAM1_End EQU $e000 +; hardware registers $ff00-$ff80 (see below) +HRAM_Begin EQU $ff80 +HRAM_End EQU $ffff + ; MBC1 MBC1SRamEnable EQU $0000 MBC1RomBank EQU $2000 @@ -64,6 +77,22 @@ rNR44 EQU $ff23 ; Channel 4 Counter/consecutive; Initial (R/W) rNR50 EQU $ff24 ; Channel control / ON-OFF / Volume (R/W) rNR51 EQU $ff25 ; Selection of Sound output terminal (R/W) rNR52 EQU $ff26 ; Sound on/off +rWave_0 EQU $ff30 +rWave_1 EQU $ff31 +rWave_2 EQU $ff32 +rWave_3 EQU $ff33 +rWave_4 EQU $ff34 +rWave_5 EQU $ff35 +rWave_6 EQU $ff36 +rWave_7 EQU $ff37 +rWave_8 EQU $ff38 +rWave_9 EQU $ff39 +rWave_a EQU $ff3a +rWave_b EQU $ff3b +rWave_c EQU $ff3c +rWave_d EQU $ff3d +rWave_e EQU $ff3e +rWave_f EQU $ff3f rLCDC EQU $ff40 ; LCD Control (R/W) rLCDC_ENABLE EQU 7 rLCDC_ENABLE_MASK EQU 1 << rLCDC_ENABLE diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 805d16ec..1aeb9149 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -4,8 +4,7 @@ ; (they are either items or sprites that deactivate after battle ; and are detected in wMissableObjectList) -const_value = 0 - + const_def const HS_PALLET_TOWN_OAK ; 00 const HS_LYING_OLD_MAN ; 01 const HS_OLD_MAN ; 02 diff --git a/constants/icon_constants.asm b/constants/icon_constants.asm new file mode 100644 index 00000000..b96c516d --- /dev/null +++ b/constants/icon_constants.asm @@ -0,0 +1,12 @@ +; party menu icons + const_def + const ICON_MON ; $0 + const ICON_BALL ; $1 + const ICON_HELIX ; $2 + const ICON_FAIRY ; $3 + const ICON_BIRD ; $4 + const ICON_WATER ; $5 + const ICON_BUG ; $6 + const ICON_GRASS ; $7 + const ICON_SNAKE ; $8 + const ICON_QUADRUPED ; $9 diff --git a/constants/input_constants.asm b/constants/input_constants.asm new file mode 100644 index 00000000..d7aae05b --- /dev/null +++ b/constants/input_constants.asm @@ -0,0 +1,18 @@ +A_BUTTON EQU %00000001 +B_BUTTON EQU %00000010 +SELECT EQU %00000100 +START EQU %00001000 +D_RIGHT EQU %00010000 +D_LEFT EQU %00100000 +D_UP EQU %01000000 +D_DOWN EQU %10000000 + + const_def + const BIT_A_BUTTON + const BIT_B_BUTTON + const BIT_SELECT + const BIT_START + const BIT_D_RIGHT + const BIT_D_LEFT + const BIT_D_UP + const BIT_D_DOWN diff --git a/constants/item_constants.asm b/constants/item_constants.asm index fe6fcb15..a0c32d14 100755 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -1,5 +1,5 @@ -const_value = 1 - + const_def + const NO_ITEM ; $00 const MASTER_BALL ; $01 const ULTRA_BALL ; $02 const GREAT_BALL ; $03 diff --git a/constants/list_constants.asm b/constants/list_constants.asm index 7e26a6b6..380df21c 100755 --- a/constants/list_constants.asm +++ b/constants/list_constants.asm @@ -1,20 +1,23 @@ -; list menu ID's -PCPOKEMONLISTMENU EQU $00 ; PC pokemon withdraw/deposit lists -MOVESLISTMENU EQU $01 ; XXX where is this used? -PRICEDITEMLISTMENU EQU $02 ; Pokemart buy menu / Pokemart buy/sell choose quantity menu -ITEMLISTMENU EQU $03 ; Start menu Item menu / Pokemart sell menu -SPECIALLISTMENU EQU $04 ; list of special "items" e.g. floor list in elevators / list of badges +; list menu IDs + const_def + const PCPOKEMONLISTMENU ; $00 ; PC pokemon withdraw/deposit lists + const MOVESLISTMENU ; $01 ; XXX where is this used? + const PRICEDITEMLISTMENU ; $02 ; Pokemart buy menu / Pokemart buy/sell choose quantity menu + const ITEMLISTMENU ; $03 ; Start menu Item menu / Pokemart sell menu + const SPECIALLISTMENU ; $04 ; list of special "items" e.g. floor list in elevators / list of badges -MONSTER_NAME EQU 1 -MOVE_NAME EQU 2 -; ???_NAME EQU 3 -ITEM_NAME EQU 4 -PLAYEROT_NAME EQU 5 -ENEMYOT_NAME EQU 6 -TRAINER_NAME EQU 7 + const_def 1 + const MONSTER_NAME ; 1 + const MOVE_NAME ; 2 + const UNUSED_NAME ; 3 + const ITEM_NAME ; 4 + const PLAYEROT_NAME ; 5 + const ENEMYOT_NAME ; 6 + const TRAINER_NAME ; 7 -INIT_ENEMYOT_LIST EQU 1 -INIT_BAG_ITEM_LIST EQU 2 -INIT_OTHER_ITEM_LIST EQU 3 -INIT_PLAYEROT_LIST EQU 4 -INIT_MON_LIST EQU 5 + const_def 1 + const INIT_ENEMYOT_LIST ; 1 + const INIT_BAG_ITEM_LIST ; 2 + const INIT_OTHER_ITEM_LIST ; 3 + const INIT_PLAYEROT_LIST ; 4 + const INIT_MON_LIST ; 5 diff --git a/constants/map_data_constants.asm b/constants/map_data_constants.asm new file mode 100755 index 00000000..4b98bdb3 --- /dev/null +++ b/constants/map_data_constants.asm @@ -0,0 +1,14 @@ +; width of east/west connections +; height of north/south connections +MAP_BORDER EQU 3 + +; connection directions +EAST EQU 1 +WEST EQU 2 +SOUTH EQU 4 +NORTH EQU 8 + +; tileset environments +INDOOR EQU 0 +CAVE EQU 1 +OUTDOOR EQU 2 diff --git a/constants/map_object_constants.asm b/constants/map_object_constants.asm new file mode 100644 index 00000000..f5fc952b --- /dev/null +++ b/constants/map_object_constants.asm @@ -0,0 +1,14 @@ +; different kinds of people events +ITEM EQU $80 +TRAINER EQU $40 + +WALK EQU $FE +STAY EQU $FF + +DOWN EQU $D0 +UP EQU $D1 +LEFT EQU $D2 +RIGHT EQU $D3 +NONE EQU $FF + +BOULDER_MOVEMENT_BYTE_2 EQU $10 diff --git a/constants/menu_constants.asm b/constants/menu_constants.asm new file mode 100644 index 00000000..75cbe54c --- /dev/null +++ b/constants/menu_constants.asm @@ -0,0 +1,70 @@ +BAG_ITEM_CAPACITY EQU 20 +PC_ITEM_CAPACITY EQU 50 + +; text box IDs +MESSAGE_BOX EQU $01 +FIELD_MOVE_MON_MENU EQU $04 +JP_MOCHIMONO_MENU_TEMPLATE EQU $05 +USE_TOSS_MENU_TEMPLATE EQU $06 +JP_SAVE_MESSAGE_MENU_TEMPLATE EQU $08 +JP_SPEED_OPTIONS_MENU_TEMPLATE EQU $09 +BATTLE_MENU_TEMPLATE EQU $0b +SWITCH_STATS_CANCEL_MENU_TEMPLATE EQU $0c +LIST_MENU_BOX EQU $0d +BUY_SELL_QUIT_MENU_TEMPLATE EQU $0e +MONEY_BOX_TEMPLATE EQU $0f +MON_SPRITE_POPUP EQU $11 +JP_AH_MENU_TEMPLATE EQU $12 +MONEY_BOX EQU $13 +TWO_OPTION_MENU EQU $14 +BUY_SELL_QUIT_MENU EQU $15 +JP_POKEDEX_MENU_TEMPLATE EQU $1a +SAFARI_BATTLE_MENU_TEMPLATE EQU $1b + +; two option menu constants +YES_NO_MENU EQU 0 +NORTH_WEST_MENU EQU 1 +SOUTH_EAST_MENU EQU 2 +WIDE_YES_NO_MENU EQU 3 +NORTH_EAST_MENU EQU 4 +TRADE_CANCEL_MENU EQU 5 +HEAL_CANCEL_MENU EQU 6 +NO_YES_MENU EQU 7 + +; menu exit method constants for list menus and the buy/sell/quit menu +CHOSE_MENU_ITEM EQU 1 ; pressed A +CANCELLED_MENU EQU 2 ; pressed B + +; menu exit method constants for two-option menus +CHOSE_FIRST_ITEM EQU 1 +CHOSE_SECOND_ITEM EQU 2 + +; move mon constants +BOX_TO_PARTY EQU 0 +PARTY_TO_BOX EQU 1 +DAYCARE_TO_PARTY EQU 2 +PARTY_TO_DAYCARE EQU 3 + +; party menu types +NORMAL_PARTY_MENU EQU 0 +USE_ITEM_PARTY_MENU EQU 1 +BATTLE_PARTY_MENU EQU 2 +TMHM_PARTY_MENU EQU 3 +SWAP_MONS_PARTY_MENU EQU 4 +EVO_STONE_PARTY_MENU EQU 5 + +; party menu message IDs +ANTIDOTE_MSG EQU $F0 +BURN_HEAL_MSG EQU $F1 +ICE_HEAL_MSG EQU $F2 +AWAKENING_MSG EQU $F3 +PARALYZ_HEAL_MSG EQU $F4 +POTION_MSG EQU $F5 +FULL_HEAL_MSG EQU $F6 +REVIVE_MSG EQU $F7 +RARE_CANDY_MSG EQU $F8 + +; naming screen types +NAME_PLAYER_SCREEN EQU 0 +NAME_RIVAL_SCREEN EQU 1 +NAME_MON_SCREEN EQU 2 diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index d6a935f8..6e4c5f93 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -1,208 +1,8 @@ -MAX_LEVEL EQU 100 - -NUM_MOVES EQU 4 -NUM_STATS EQU 5 -NUM_STAT_MODS EQU 8 -NUM_DVS EQU 2 - -PARTY_LENGTH EQU 6 - -MONS_PER_BOX EQU 20 -NUM_BOXES EQU 12 - -BAG_ITEM_CAPACITY EQU 20 -PC_ITEM_CAPACITY EQU 50 - -HOF_MON EQU $10 -HOF_TEAM EQU PARTY_LENGTH * HOF_MON -HOF_TEAM_CAPACITY EQU 50 - -NAME_LENGTH EQU 11 -ITEM_NAME_LENGTH EQU 13 - -A_BUTTON EQU %00000001 -B_BUTTON EQU %00000010 -SELECT EQU %00000100 -START EQU %00001000 -D_RIGHT EQU %00010000 -D_LEFT EQU %00100000 -D_UP EQU %01000000 -D_DOWN EQU %10000000 - -const_value set 0 - const BIT_A_BUTTON - const BIT_B_BUTTON - const BIT_SELECT - const BIT_START - const BIT_D_RIGHT - const BIT_D_LEFT - const BIT_D_UP - const BIT_D_DOWN - -SCREEN_WIDTH EQU 20 -SCREEN_HEIGHT EQU 18 - -SCREEN_WIDTH_PIXELS EQU SCREEN_WIDTH * 8 -SCREEN_HEIGHT_PIXELS EQU SCREEN_HEIGHT * 8 - -BYTES_PER_TILE EQU 16 - -BG_MAP_WIDTH EQU 32 -BG_MAP_HEIGHT EQU 32 - -SPRITEBUFFERSIZE EQU 7*7 * 8 ; 7 * 7 (tiles) * 8 (bytes per tile) - -NPC_MOVEMENT_DOWN EQU $00 -NPC_MOVEMENT_UP EQU $40 -NPC_MOVEMENT_LEFT EQU $80 -NPC_MOVEMENT_RIGHT EQU $C0 - -; text box IDs -MESSAGE_BOX EQU $01 -FIELD_MOVE_MON_MENU EQU $04 -JP_MOCHIMONO_MENU_TEMPLATE EQU $05 -USE_TOSS_MENU_TEMPLATE EQU $06 -JP_SAVE_MESSAGE_MENU_TEMPLATE EQU $08 -JP_SPEED_OPTIONS_MENU_TEMPLATE EQU $09 -BATTLE_MENU_TEMPLATE EQU $0b -SWITCH_STATS_CANCEL_MENU_TEMPLATE EQU $0c -LIST_MENU_BOX EQU $0d -BUY_SELL_QUIT_MENU_TEMPLATE EQU $0e -MONEY_BOX_TEMPLATE EQU $0f -MON_SPRITE_POPUP EQU $11 -JP_AH_MENU_TEMPLATE EQU $12 -MONEY_BOX EQU $13 -TWO_OPTION_MENU EQU $14 -BUY_SELL_QUIT_MENU EQU $15 -JP_POKEDEX_MENU_TEMPLATE EQU $1a -SAFARI_BATTLE_MENU_TEMPLATE EQU $1b - -; two option menu constants -YES_NO_MENU EQU 0 -NORTH_WEST_MENU EQU 1 -SOUTH_EAST_MENU EQU 2 -WIDE_YES_NO_MENU EQU 3 -NORTH_EAST_MENU EQU 4 -TRADE_CANCEL_MENU EQU 5 -HEAL_CANCEL_MENU EQU 6 -NO_YES_MENU EQU 7 - -; menu exit method constants for list menus and the buy/sell/quit menu -CHOSE_MENU_ITEM EQU 1 ; pressed A -CANCELLED_MENU EQU 2 ; pressed B - -; menu exit method constants for two-option menus -CHOSE_FIRST_ITEM EQU 1 -CHOSE_SECOND_ITEM EQU 2 - -; move mon constants -BOX_TO_PARTY EQU 0 -PARTY_TO_BOX EQU 1 -DAYCARE_TO_PARTY EQU 2 -PARTY_TO_DAYCARE EQU 3 - -; emotion bubbles -EXCLAMATION_BUBBLE EQU 0 -QUESTION_BUBBLE EQU 1 -SMILE_BUBBLE EQU 2 - -; slot symbols -SLOTS7 EQU $0200 -SLOTSBAR EQU $0604 -SLOTSCHERRY EQU $0A08 -SLOTSFISH EQU $0E0C -SLOTSBIRD EQU $1210 -SLOTSMOUSE EQU $1614 - -; party menu types -NORMAL_PARTY_MENU EQU 0 -USE_ITEM_PARTY_MENU EQU 1 -BATTLE_PARTY_MENU EQU 2 -TMHM_PARTY_MENU EQU 3 -SWAP_MONS_PARTY_MENU EQU 4 -EVO_STONE_PARTY_MENU EQU 5 - -; party menu message IDs -ANTIDOTE_MSG EQU $F0 -BURN_HEAL_MSG EQU $F1 -ICE_HEAL_MSG EQU $F2 -AWAKENING_MSG EQU $F3 -PARALYZ_HEAL_MSG EQU $F4 -POTION_MSG EQU $F5 -FULL_HEAL_MSG EQU $F6 -REVIVE_MSG EQU $F7 -RARE_CANDY_MSG EQU $F8 - -; naming screen types -NAME_PLAYER_SCREEN EQU 0 -NAME_RIVAL_SCREEN EQU 1 -NAME_MON_SCREEN EQU 2 - -; mon data locations -; Note that some values are not supported by all functions that use these values. -PLAYER_PARTY_DATA EQU 0 -ENEMY_PARTY_DATA EQU 1 -BOX_DATA EQU 2 -DAYCARE_DATA EQU 3 -BATTLE_MON_DATA EQU 4 - -; player direction constants - -PLAYER_DIR_BIT_RIGHT EQU 0 -PLAYER_DIR_BIT_LEFT EQU 1 -PLAYER_DIR_BIT_DOWN EQU 2 -PLAYER_DIR_BIT_UP EQU 3 - -PLAYER_DIR_RIGHT EQU (1 << PLAYER_DIR_BIT_RIGHT) -PLAYER_DIR_LEFT EQU (1 << PLAYER_DIR_BIT_LEFT) -PLAYER_DIR_DOWN EQU (1 << PLAYER_DIR_BIT_DOWN) -PLAYER_DIR_UP EQU (1 << PLAYER_DIR_BIT_UP) +; Boolean checks +FALSE EQU 0 +TRUE EQU 1 ; flag operations - FLAG_RESET EQU 0 FLAG_SET EQU 1 FLAG_TEST EQU 2 - -; HP bar -HP_BAR_GREEN EQU 0 -HP_BAR_YELLOW EQU 1 -HP_BAR_RED EQU 2 - -; D733 flags -BIT_TEST_BATTLE EQU 0 - -; battle type constants -BATTLE_TYPE_NORMAL EQU 0 -BATTLE_TYPE_OLD_MAN EQU 1 -BATTLE_TYPE_SAFARI EQU 2 - -; serial - -ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01 -ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK EQU $02 - -USING_EXTERNAL_CLOCK EQU $01 -USING_INTERNAL_CLOCK EQU $02 -CONNECTION_NOT_ESTABLISHED EQU $ff - -; signals the start of an array of bytes transferred over the link cable -SERIAL_PREAMBLE_BYTE EQU $FD - -; this byte is used when there is no data to send -SERIAL_NO_DATA_BYTE EQU $FE - -; signals the end of one part of a patch list (there are two parts) for player/enemy party data -SERIAL_PATCH_LIST_PART_TERMINATOR EQU $FF - -LINK_STATE_NONE EQU $00 ; not using link -LINK_STATE_IN_CABLE_CLUB EQU $01 ; in a cable club room (Colosseum or Trade Centre) -LINK_STATE_START_TRADE EQU $02 ; pre-trade selection screen initialisation -LINK_STATE_START_BATTLE EQU $03 ; pre-battle initialisation -LINK_STATE_BATTLING EQU $04 ; in a link battle -LINK_STATE_RESET EQU $05 ; reset game (unused) -LINK_STATE_TRADING EQU $32 ; in a link trade - -LINKBATTLE_RUN EQU $F -LINKBATTLE_STRUGGLE EQU $E -LINKBATTLE_NO_ACTION EQU $D diff --git a/constants/move_animation_constants.asm b/constants/move_animation_constants.asm index 27658c83..d2025f4e 100644 --- a/constants/move_animation_constants.asm +++ b/constants/move_animation_constants.asm @@ -1,8 +1,6 @@ -; subanimations +; special effects that are part of move animations -const_value = $D8 - -; special effects, prefaced with "SE" for "Special Effect" + const_def $D8 const SE_WAVY_SCREEN ; $D8 used in Psywave/Night Shade/Psychic etc. const SE_SUBSTITUTE_MON ; $D9 used in Substitute (turns the pokemon into a mini sprite) const SE_SHAKE_BACK_AND_FORTH ; $DA used in Double Team diff --git a/constants/move_constants.asm b/constants/move_constants.asm index dfbb500e..5dd06a41 100644 --- a/constants/move_constants.asm +++ b/constants/move_constants.asm @@ -1,5 +1,5 @@ -const_value = 1 - + const_def + const NO_MOVE ; 00 const POUND ; 01 const KARATE_CHOP ; 02 const DOUBLESLAP ; 03 @@ -165,9 +165,9 @@ const_value = 1 const SLASH ; a3 const SUBSTITUTE ; a4 -NUM_ATTACKS EQU const_value + -1 +NUM_ATTACKS EQU const_value - 1 - const STRUGGLE + const STRUGGLE ; a5 ; Moves do double duty as animation identifiers. diff --git a/constants/move_effect_constants.asm b/constants/move_effect_constants.asm index b66772d1..36a60a41 100644 --- a/constants/move_effect_constants.asm +++ b/constants/move_effect_constants.asm @@ -2,8 +2,8 @@ ; {stat}_(UP|DOWN)(1|2) means that the move raises the user's (or lowers the target's) corresponding stat modifier by 1 (or 2) stages ; {status condition}_side_effect means that the move has a side chance of causing that condition ; {status condition}_effect means that the move causes the status condition every time it hits the target -const_value = 0 + const_def const NO_ADDITIONAL_EFFECT ; $00 const UNUSED_EFFECT_01 ; $01 const POISON_SIDE_EFFECT1 ; $02 @@ -91,7 +91,3 @@ const_value = 0 const LEECH_SEED_EFFECT ; $54 const SPLASH_EFFECT ; $55 const DISABLE_EFFECT ; $56 - -; fixed damage constants -SONICBOOM_DAMAGE EQU 20 -DRAGON_RAGE_DAMAGE EQU 40 diff --git a/constants/music_constants.asm b/constants/music_constants.asm index de91352e..3f3f111e 100644 --- a/constants/music_constants.asm +++ b/constants/music_constants.asm @@ -1,50 +1,3 @@ -; HW sound channel register base addresses -HW_CH1_BASE EQU (rNR10 % $100) -HW_CH2_BASE EQU ((rNR21 % $100) - 1) -HW_CH3_BASE EQU (rNR30 % $100) -HW_CH4_BASE EQU ((rNR41 % $100) - 1) - -; HW sound channel enable bit masks -HW_CH1_ENABLE_MASK EQU %00010001 -HW_CH2_ENABLE_MASK EQU %00100010 -HW_CH3_ENABLE_MASK EQU %01000100 -HW_CH4_ENABLE_MASK EQU %10001000 - -; HW sound channel disable bit masks -HW_CH1_DISABLE_MASK EQU (~HW_CH1_ENABLE_MASK & $ff) -HW_CH2_DISABLE_MASK EQU (~HW_CH2_ENABLE_MASK & $ff) -HW_CH3_DISABLE_MASK EQU (~HW_CH3_ENABLE_MASK & $ff) -HW_CH4_DISABLE_MASK EQU (~HW_CH4_ENABLE_MASK & $ff) - -REG_DUTY_SOUND_LEN EQU 1 -REG_VOLUME_ENVELOPE EQU 2 -REG_FREQUENCY_LO EQU 3 - -MAX_SFX_ID_1 EQUS "SFX_SAFARI_ZONE_PA" -MAX_SFX_ID_2 EQUS "SFX_SILPH_SCOPE" -MAX_SFX_ID_3 EQUS "SFX_SHOOTING_STAR" - -NOISE_INSTRUMENTS_START EQUS "SFX_NOISE_INSTRUMENT01" -NOISE_INSTRUMENTS_END EQUS "SFX_NOISE_INSTRUMENT19 + 1" - -CRY_SFX_START EQUS "SFX_CRY_00" -CRY_SFX_END EQUS "SFX_CRY_25 + 3" - -BATTLE_SFX_START EQUS "SFX_PECK" -BATTLE_SFX_END EQUS "SFX_SILPH_SCOPE + 1" - -; wChannelFlags1 constants -BIT_PERFECT_PITCH EQU 0 ; controlled by toggle_perfect_pitch command -BIT_SOUND_CALL EQU 1 ; if in sound call -BIT_NOISE_OR_SFX EQU 2 ; if channel is the music noise channel or an SFX channel -BIT_VIBRATO_DIRECTION EQU 3 ; if the pitch is above or below normal (cycles) -BIT_PITCH_SLIDE_ON EQU 4 ; if pitch slide is active -BIT_PITCH_SLIDE_DECREASING EQU 5 ; if the pitch slide frequency is decreasing (instead of increasing) -BIT_ROTATE_DUTY_CYCLE EQU 6 ; if rotating duty cycle - -; wChannelFlags2 constant (only has one flag) -BIT_EXECUTE_MUSIC EQU 0 ; if in execute music - ; Song ids are calculated by address to save space. music_const: MACRO @@ -103,6 +56,7 @@ ENDM music_const MUSIC_MEET_MALE_TRAINER, Music_MeetMaleTrainer ; AUDIO_1 AUDIO_2 AUDIO_3 +NOISE_INSTRUMENTS_START EQUS "SFX_NOISE_INSTRUMENT01" music_const SFX_NOISE_INSTRUMENT01, SFX_Noise_Instrument01_1 music_const SFX_NOISE_INSTRUMENT02, SFX_Noise_Instrument02_1 music_const SFX_NOISE_INSTRUMENT03, SFX_Noise_Instrument03_1 @@ -122,6 +76,9 @@ ENDM music_const SFX_NOISE_INSTRUMENT17, SFX_Noise_Instrument17_1 music_const SFX_NOISE_INSTRUMENT18, SFX_Noise_Instrument18_1 music_const SFX_NOISE_INSTRUMENT19, SFX_Noise_Instrument19_1 +NOISE_INSTRUMENTS_END EQUS "SFX_NOISE_INSTRUMENT19 + 1" + +CRY_SFX_START EQUS "SFX_CRY_00" music_const SFX_CRY_00, SFX_Cry00_1 music_const SFX_CRY_01, SFX_Cry01_1 music_const SFX_CRY_02, SFX_Cry02_1 @@ -160,6 +117,7 @@ ENDM music_const SFX_CRY_23, SFX_Cry23_1 music_const SFX_CRY_24, SFX_Cry24_1 music_const SFX_CRY_25, SFX_Cry25_1 +CRY_SFX_END EQUS "SFX_CRY_25 + 3" music_const SFX_GET_ITEM_2, SFX_Get_Item2_1 music_const SFX_TINK, SFX_Tink_1 @@ -204,6 +162,7 @@ ENDM ; AUDIO_1 music_const SFX_POKEFLUTE, SFX_Pokeflute music_const SFX_SAFARI_ZONE_PA, SFX_Safari_Zone_PA +MAX_SFX_ID_1 EQUS "SFX_SAFARI_ZONE_PA" ; AUDIO_2 music_const SFX_LEVEL_UP, SFX_Level_Up @@ -214,6 +173,8 @@ ENDM music_const SFX_RUN, SFX_Run music_const SFX_DEX_PAGE_ADDED, SFX_Dex_Page_Added music_const SFX_CAUGHT_MON, SFX_Caught_Mon + +BATTLE_SFX_START EQUS "SFX_PECK" music_const SFX_PECK, SFX_Peck music_const SFX_FAINT_FALL, SFX_Faint_Fall music_const SFX_BATTLE_09, SFX_Battle_09 @@ -263,6 +224,8 @@ ENDM music_const SFX_BATTLE_35, SFX_Battle_35 music_const SFX_BATTLE_36, SFX_Battle_36 music_const SFX_SILPH_SCOPE, SFX_Silph_Scope +BATTLE_SFX_END EQUS "SFX_SILPH_SCOPE + 1" +MAX_SFX_ID_2 EQUS "SFX_SILPH_SCOPE" ; AUDIO_3 music_const SFX_INTRO_LUNGE, SFX_Intro_Lunge @@ -275,3 +238,6 @@ ENDM music_const SFX_SLOTS_REWARD, SFX_Slots_Reward music_const SFX_SLOTS_NEW_SPIN, SFX_Slots_New_Spin music_const SFX_SHOOTING_STAR, SFX_Shooting_Star +MAX_SFX_ID_3 EQUS "SFX_SHOOTING_STAR" + +SFX_STOP_ALL_MUSIC EQU $ff diff --git a/constants/palette_constants.asm b/constants/palette_constants.asm index 1413ad98..c0c397ee 100755 --- a/constants/palette_constants.asm +++ b/constants/palette_constants.asm @@ -5,25 +5,28 @@ const DARK_GRAY const BLACK -SET_PAL_BATTLE_BLACK EQU $00 -SET_PAL_BATTLE EQU $01 -SET_PAL_TOWN_MAP EQU $02 -SET_PAL_STATUS_SCREEN EQU $03 -SET_PAL_POKEDEX EQU $04 -SET_PAL_SLOTS EQU $05 -SET_PAL_TITLE_SCREEN EQU $06 -SET_PAL_NIDORINO_INTRO EQU $07 -SET_PAL_GENERIC EQU $08 -SET_PAL_OVERWORLD EQU $09 -SET_PAL_PARTY_MENU EQU $0A -SET_PAL_POKEMON_WHOLE_SCREEN EQU $0B -SET_PAL_GAME_FREAK_INTRO EQU $0C -SET_PAL_TRAINER_CARD EQU $0D -UPDATE_PARTY_MENU_BLK_PACKET EQU $FC +; pal/blk packets + const_def + const SET_PAL_BATTLE_BLACK ; $00 + const SET_PAL_BATTLE ; $01 + const SET_PAL_TOWN_MAP ; $02 + const SET_PAL_STATUS_SCREEN ; $03 + const SET_PAL_POKEDEX ; $04 + const SET_PAL_SLOTS ; $05 + const SET_PAL_TITLE_SCREEN ; $06 + const SET_PAL_NIDORINO_INTRO ; $07 + const SET_PAL_GENERIC ; $08 + const SET_PAL_OVERWORLD ; $09 + const SET_PAL_PARTY_MENU ; $0A + const SET_PAL_POKEMON_WHOLE_SCREEN ; $0B + const SET_PAL_GAME_FREAK_INTRO ; $0C + const SET_PAL_TRAINER_CARD ; $0D -; super game boy palettes -const_value = 0 +SET_PAL_PARTY_MENU_HP_BARS EQU $fc +SET_PAL_DEFAULT EQU $ff +; sgb palettes + const_def const PAL_ROUTE ; $00 const PAL_PALLET ; $01 const PAL_VIRIDIAN ; $02 diff --git a/constants/pokedex_constants.asm b/constants/pokedex_constants.asm index b80547f7..e462586e 100644 --- a/constants/pokedex_constants.asm +++ b/constants/pokedex_constants.asm @@ -1,5 +1,4 @@ -const_value = 1 - + const_def 1 const DEX_BULBASAUR ; 1 const DEX_IVYSAUR ; 2 const DEX_VENUSAUR ; 3 @@ -152,4 +151,4 @@ const_value = 1 const DEX_MEWTWO ; 150 const DEX_MEW ; 151 -NUM_POKEMON EQU const_value + -1 +NUM_POKEMON EQU const_value - 1 diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index f8a38731..7abdd4d3 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -1,5 +1,5 @@ -const_value = 1 - + const_def + const NO_MON ; $00 const RHYDON ; $01 const KANGASKHAN ; $02 const NIDORAN_M ; $03 @@ -191,4 +191,4 @@ const_value = 1 const WEEPINBELL ; $BD const VICTREEBEL ; $BE -NUM_POKEMON_INDEXES EQU const_value + -1 +NUM_POKEMON_INDEXES EQU const_value - 1 diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm new file mode 100755 index 00000000..c5245026 --- /dev/null +++ b/constants/pokemon_data_constants.asm @@ -0,0 +1,28 @@ +PARTY_LENGTH EQU 6 + +MONS_PER_BOX EQU 20 +NUM_BOXES EQU 12 + +HOF_MON EQU $10 +HOF_TEAM EQU PARTY_LENGTH * HOF_MON +HOF_TEAM_CAPACITY EQU 50 + + +; mon data locations +; Note that some values are not supported by all functions that use these values. +PLAYER_PARTY_DATA EQU 0 +ENEMY_PARTY_DATA EQU 1 +BOX_DATA EQU 2 +DAYCARE_DATA EQU 3 +BATTLE_MON_DATA EQU 4 + + +; See data/pokemon/evos_moves.asm + +; Evolution types +EV_LEVEL EQU 1 +EV_ITEM EQU 2 +EV_TRADE EQU 3 + +MAX_EVOLUTIONS EQU 3 +EVOLUTION_SIZE EQU 4 diff --git a/constants/script_constants.asm b/constants/script_constants.asm new file mode 100644 index 00000000..c04e9ca0 --- /dev/null +++ b/constants/script_constants.asm @@ -0,0 +1,12 @@ +; emotion bubbles +EXCLAMATION_BUBBLE EQU 0 +QUESTION_BUBBLE EQU 1 +SMILE_BUBBLE EQU 2 + +; slot symbols +SLOTS7 EQU $0200 +SLOTSBAR EQU $0604 +SLOTSCHERRY EQU $0A08 +SLOTSFISH EQU $0E0C +SLOTSBIRD EQU $1210 +SLOTSMOUSE EQU $1614 diff --git a/constants/serial_constants.asm b/constants/serial_constants.asm new file mode 100644 index 00000000..a6aae315 --- /dev/null +++ b/constants/serial_constants.asm @@ -0,0 +1,27 @@ +ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01 +ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK EQU $02 + +USING_EXTERNAL_CLOCK EQU $01 +USING_INTERNAL_CLOCK EQU $02 +CONNECTION_NOT_ESTABLISHED EQU $ff + +; signals the start of an array of bytes transferred over the link cable +SERIAL_PREAMBLE_BYTE EQU $FD + +; this byte is used when there is no data to send +SERIAL_NO_DATA_BYTE EQU $FE + +; signals the end of one part of a patch list (there are two parts) for player/enemy party data +SERIAL_PATCH_LIST_PART_TERMINATOR EQU $FF + +LINK_STATE_NONE EQU $00 ; not using link +LINK_STATE_IN_CABLE_CLUB EQU $01 ; in a cable club room (Colosseum or Trade Centre) +LINK_STATE_START_TRADE EQU $02 ; pre-trade selection screen initialisation +LINK_STATE_START_BATTLE EQU $03 ; pre-battle initialisation +LINK_STATE_BATTLING EQU $04 ; in a link battle +LINK_STATE_RESET EQU $05 ; reset game (unused) +LINK_STATE_TRADING EQU $32 ; in a link trade + +LINKBATTLE_RUN EQU $F +LINKBATTLE_STRUGGLE EQU $E +LINKBATTLE_NO_ACTION EQU $D diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm index 54d2f191..939ab2df 100755 --- a/constants/sprite_constants.asm +++ b/constants/sprite_constants.asm @@ -1,20 +1,6 @@ -; pokemon's overworld sprites -const_value = 0 - - const ICON_MON ; $0 - const ICON_BALL ; $1 - const ICON_HELIX ; $2 - const ICON_FAIRY ; $3 - const ICON_BIRD ; $4 - const ICON_WATER ; $5 - const ICON_BUG ; $6 - const ICON_GRASS ; $7 - const ICON_SNAKE ; $8 - const ICON_QUADRUPED ; $9 - ; overworld sprites -const_value = 1 - + const_def + const SPRITE_NONE ; $00 const SPRITE_RED ; $01 const SPRITE_BLUE ; $02 const SPRITE_OAK ; $03 @@ -87,15 +73,3 @@ const_value = 1 const SPRITE_LYING_OLD_MAN_UNUSED_1 ; $46 const SPRITE_LYING_OLD_MAN_UNUSED_2 ; $47 const SPRITE_LYING_OLD_MAN ; $48 - -; different kinds of people events -ITEM EQU $80 -TRAINER EQU $40 - -BOULDER_MOVEMENT_BYTE_2 EQU $10 - -; sprite facing directions -SPRITE_FACING_DOWN EQU $00 -SPRITE_FACING_UP EQU $04 -SPRITE_FACING_LEFT EQU $08 -SPRITE_FACING_RIGHT EQU $0C diff --git a/constants/sprite_data_constants.asm b/constants/sprite_data_constants.asm new file mode 100644 index 00000000..48a34446 --- /dev/null +++ b/constants/sprite_data_constants.asm @@ -0,0 +1,22 @@ +; sprite facing directions +SPRITE_FACING_DOWN EQU $00 +SPRITE_FACING_UP EQU $04 +SPRITE_FACING_LEFT EQU $08 +SPRITE_FACING_RIGHT EQU $0C + +NPC_MOVEMENT_DOWN EQU $00 +NPC_MOVEMENT_UP EQU $40 +NPC_MOVEMENT_LEFT EQU $80 +NPC_MOVEMENT_RIGHT EQU $C0 + +; player direction constants + +PLAYER_DIR_BIT_RIGHT EQU 0 +PLAYER_DIR_BIT_LEFT EQU 1 +PLAYER_DIR_BIT_DOWN EQU 2 +PLAYER_DIR_BIT_UP EQU 3 + +PLAYER_DIR_RIGHT EQU (1 << PLAYER_DIR_BIT_RIGHT) +PLAYER_DIR_LEFT EQU (1 << PLAYER_DIR_BIT_LEFT) +PLAYER_DIR_DOWN EQU (1 << PLAYER_DIR_BIT_DOWN) +PLAYER_DIR_UP EQU (1 << PLAYER_DIR_BIT_UP) diff --git a/constants/status_constants.asm b/constants/status_constants.asm deleted file mode 100755 index 25babb82..00000000 --- a/constants/status_constants.asm +++ /dev/null @@ -1,32 +0,0 @@ -; non-volatile statuses -SLP EQU %111 ; sleep counter -PSN EQU 3 -BRN EQU 4 -FRZ EQU 5 -PAR EQU 6 - -; volatile statuses 1 -STORING_ENERGY EQU 0 ; Bide -THRASHING_ABOUT EQU 1 ; e.g. Thrash -ATTACKING_MULTIPLE_TIMES EQU 2 ; e.g. Double Kick, Fury Attack -FLINCHED EQU 3 -CHARGING_UP EQU 4 ; e.g. Solar Beam, Fly -USING_TRAPPING_MOVE EQU 5 ; e.g. Wrap -INVULNERABLE EQU 6 ; charging up Fly/Dig -CONFUSED EQU 7 - -; volatile statuses 2 -USING_X_ACCURACY EQU 0 -PROTECTED_BY_MIST EQU 1 -GETTING_PUMPED EQU 2 ; Focus Energy -; EQU 3 ; unused -HAS_SUBSTITUTE_UP EQU 4 -NEEDS_TO_RECHARGE EQU 5 ; Hyper Beam -USING_RAGE EQU 6 -SEEDED EQU 7 - -; volatile statuses 3 -BADLY_POISONED EQU 0 -HAS_LIGHT_SCREEN_UP EQU 1 -HAS_REFLECT_UP EQU 2 -TRANSFORMED EQU 3 diff --git a/constants/text_constants.asm b/constants/text_constants.asm index 3cddce26..a3ef2012 100644 --- a/constants/text_constants.asm +++ b/constants/text_constants.asm @@ -1,3 +1,6 @@ +NAME_LENGTH EQU 11 +ITEM_NAME_LENGTH EQU 13 + ; special text IDs TEXT_MON_FAINTED EQU $d0 TEXT_BLACKED_OUT EQU $d1 diff --git a/constants/tileset_constants.asm b/constants/tileset_constants.asm new file mode 100644 index 00000000..33d59fcb --- /dev/null +++ b/constants/tileset_constants.asm @@ -0,0 +1,25 @@ + const_def + const OVERWORLD ; 0 + const REDS_HOUSE_1 ; 1 + const MART ; 2 + const FOREST ; 3 + const REDS_HOUSE_2 ; 4 + const DOJO ; 5 + const POKECENTER ; 6 + const GYM ; 7 + const HOUSE ; 8 + const FOREST_GATE ; 9 + const MUSEUM ; 10 + const UNDERGROUND ; 11 + const GATE ; 12 + const SHIP ; 13 + const SHIP_PORT ; 14 + const CEMETERY ; 15 + const INTERIOR ; 16 + const CAVERN ; 17 + const LOBBY ; 18 + const MANSION ; 19 + const LAB ; 20 + const CLUB ; 21 + const FACILITY ; 22 + const PLATEAU ; 23 diff --git a/constants/tilesets.asm b/constants/tilesets.asm deleted file mode 100644 index f10e4d92..00000000 --- a/constants/tilesets.asm +++ /dev/null @@ -1,26 +0,0 @@ -const_value = 0 - - const OVERWORLD ; 0 - const REDS_HOUSE_1 ; 1 - const MART ; 2 - const FOREST ; 3 - const REDS_HOUSE_2 ; 4 - const DOJO ; 5 - const POKECENTER ; 6 - const GYM ; 7 - const HOUSE ; 8 - const FOREST_GATE ; 9 - const MUSEUM ; 10 - const UNDERGROUND ; 11 - const GATE ; 12 - const SHIP ; 13 - const SHIP_PORT ; 14 - const CEMETERY ; 15 - const INTERIOR ; 16 - const CAVERN ; 17 - const LOBBY ; 18 - const MANSION ; 19 - const LAB ; 20 - const CLUB ; 21 - const FACILITY ; 22 - const PLATEAU ; 23 diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index d936aa06..6e4c2f18 100755 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -6,8 +6,8 @@ OPP_\1 EQU const_value + OPP_ID_OFFSET const_value = const_value + 1 ENDM -const_value = 1 - + const_def + trainer_const NOBODY ; $00 trainer_const YOUNGSTER ; $01 trainer_const BUG_CATCHER ; $02 trainer_const LASS ; $03 diff --git a/constants/type_constants.asm b/constants/type_constants.asm index b36dc179..c94d5c39 100755 --- a/constants/type_constants.asm +++ b/constants/type_constants.asm @@ -1,16 +1,23 @@ -; Elemental types -NORMAL EQU $00 -FIGHTING EQU $01 -FLYING EQU $02 -POISON EQU $03 -GROUND EQU $04 -ROCK EQU $05 -BUG EQU $07 -GHOST EQU $08 -FIRE EQU $14 -WATER EQU $15 -GRASS EQU $16 -ELECTRIC EQU $17 -PSYCHIC EQU $18 -ICE EQU $19 -DRAGON EQU $1A + const_def + +PHYSICAL EQU const_value + const NORMAL ; $00 + const FIGHTING ; $01 + const FLYING ; $02 + const POISON ; $03 + const GROUND ; $04 + const ROCK ; $05 + const BIRD ; $06 + const BUG ; $07 + const GHOST ; $08 + +const_value = $14 + +SPECIAL EQU const_value + const FIRE ; $14 + const WATER ; $15 + const GRASS ; $16 + const ELECTRIC ; $17 + const PSYCHIC ; $18 + const ICE ; $19 + const DRAGON ; $1A diff --git a/data/base_stats.asm b/data/base_stats.asm deleted file mode 100755 index 7aa36735..00000000 --- a/data/base_stats.asm +++ /dev/null @@ -1,153 +0,0 @@ -BaseStats:: -MonBaseStats:: -INCLUDE "data/baseStats/bulbasaur.asm" -MonBaseStatsEnd:: -INCLUDE "data/baseStats/ivysaur.asm" -INCLUDE "data/baseStats/venusaur.asm" -INCLUDE "data/baseStats/charmander.asm" -INCLUDE "data/baseStats/charmeleon.asm" -INCLUDE "data/baseStats/charizard.asm" -INCLUDE "data/baseStats/squirtle.asm" -INCLUDE "data/baseStats/wartortle.asm" -INCLUDE "data/baseStats/blastoise.asm" -INCLUDE "data/baseStats/caterpie.asm" -INCLUDE "data/baseStats/metapod.asm" -INCLUDE "data/baseStats/butterfree.asm" -INCLUDE "data/baseStats/weedle.asm" -INCLUDE "data/baseStats/kakuna.asm" -INCLUDE "data/baseStats/beedrill.asm" -INCLUDE "data/baseStats/pidgey.asm" -INCLUDE "data/baseStats/pidgeotto.asm" -INCLUDE "data/baseStats/pidgeot.asm" -INCLUDE "data/baseStats/rattata.asm" -INCLUDE "data/baseStats/raticate.asm" -INCLUDE "data/baseStats/spearow.asm" -INCLUDE "data/baseStats/fearow.asm" -INCLUDE "data/baseStats/ekans.asm" -INCLUDE "data/baseStats/arbok.asm" -INCLUDE "data/baseStats/pikachu.asm" -INCLUDE "data/baseStats/raichu.asm" -INCLUDE "data/baseStats/sandshrew.asm" -INCLUDE "data/baseStats/sandslash.asm" -INCLUDE "data/baseStats/nidoranf.asm" -INCLUDE "data/baseStats/nidorina.asm" -INCLUDE "data/baseStats/nidoqueen.asm" -INCLUDE "data/baseStats/nidoranm.asm" -INCLUDE "data/baseStats/nidorino.asm" -INCLUDE "data/baseStats/nidoking.asm" -INCLUDE "data/baseStats/clefairy.asm" -INCLUDE "data/baseStats/clefable.asm" -INCLUDE "data/baseStats/vulpix.asm" -INCLUDE "data/baseStats/ninetales.asm" -INCLUDE "data/baseStats/jigglypuff.asm" -INCLUDE "data/baseStats/wigglytuff.asm" -INCLUDE "data/baseStats/zubat.asm" -INCLUDE "data/baseStats/golbat.asm" -INCLUDE "data/baseStats/oddish.asm" -INCLUDE "data/baseStats/gloom.asm" -INCLUDE "data/baseStats/vileplume.asm" -INCLUDE "data/baseStats/paras.asm" -INCLUDE "data/baseStats/parasect.asm" -INCLUDE "data/baseStats/venonat.asm" -INCLUDE "data/baseStats/venomoth.asm" -INCLUDE "data/baseStats/diglett.asm" -INCLUDE "data/baseStats/dugtrio.asm" -INCLUDE "data/baseStats/meowth.asm" -INCLUDE "data/baseStats/persian.asm" -INCLUDE "data/baseStats/psyduck.asm" -INCLUDE "data/baseStats/golduck.asm" -INCLUDE "data/baseStats/mankey.asm" -INCLUDE "data/baseStats/primeape.asm" -INCLUDE "data/baseStats/growlithe.asm" -INCLUDE "data/baseStats/arcanine.asm" -INCLUDE "data/baseStats/poliwag.asm" -INCLUDE "data/baseStats/poliwhirl.asm" -INCLUDE "data/baseStats/poliwrath.asm" -INCLUDE "data/baseStats/abra.asm" -INCLUDE "data/baseStats/kadabra.asm" -INCLUDE "data/baseStats/alakazam.asm" -INCLUDE "data/baseStats/machop.asm" -INCLUDE "data/baseStats/machoke.asm" -INCLUDE "data/baseStats/machamp.asm" -INCLUDE "data/baseStats/bellsprout.asm" -INCLUDE "data/baseStats/weepinbell.asm" -INCLUDE "data/baseStats/victreebel.asm" -INCLUDE "data/baseStats/tentacool.asm" -INCLUDE "data/baseStats/tentacruel.asm" -INCLUDE "data/baseStats/geodude.asm" -INCLUDE "data/baseStats/graveler.asm" -INCLUDE "data/baseStats/golem.asm" -INCLUDE "data/baseStats/ponyta.asm" -INCLUDE "data/baseStats/rapidash.asm" -INCLUDE "data/baseStats/slowpoke.asm" -INCLUDE "data/baseStats/slowbro.asm" -INCLUDE "data/baseStats/magnemite.asm" -INCLUDE "data/baseStats/magneton.asm" -INCLUDE "data/baseStats/farfetchd.asm" -INCLUDE "data/baseStats/doduo.asm" -INCLUDE "data/baseStats/dodrio.asm" -INCLUDE "data/baseStats/seel.asm" -INCLUDE "data/baseStats/dewgong.asm" -INCLUDE "data/baseStats/grimer.asm" -INCLUDE "data/baseStats/muk.asm" -INCLUDE "data/baseStats/shellder.asm" -INCLUDE "data/baseStats/cloyster.asm" -INCLUDE "data/baseStats/gastly.asm" -INCLUDE "data/baseStats/haunter.asm" -INCLUDE "data/baseStats/gengar.asm" -INCLUDE "data/baseStats/onix.asm" -INCLUDE "data/baseStats/drowzee.asm" -INCLUDE "data/baseStats/hypno.asm" -INCLUDE "data/baseStats/krabby.asm" -INCLUDE "data/baseStats/kingler.asm" -INCLUDE "data/baseStats/voltorb.asm" -INCLUDE "data/baseStats/electrode.asm" -INCLUDE "data/baseStats/exeggcute.asm" -INCLUDE "data/baseStats/exeggutor.asm" -INCLUDE "data/baseStats/cubone.asm" -INCLUDE "data/baseStats/marowak.asm" -INCLUDE "data/baseStats/hitmonlee.asm" -INCLUDE "data/baseStats/hitmonchan.asm" -INCLUDE "data/baseStats/lickitung.asm" -INCLUDE "data/baseStats/koffing.asm" -INCLUDE "data/baseStats/weezing.asm" -INCLUDE "data/baseStats/rhyhorn.asm" -INCLUDE "data/baseStats/rhydon.asm" -INCLUDE "data/baseStats/chansey.asm" -INCLUDE "data/baseStats/tangela.asm" -INCLUDE "data/baseStats/kangaskhan.asm" -INCLUDE "data/baseStats/horsea.asm" -INCLUDE "data/baseStats/seadra.asm" -INCLUDE "data/baseStats/goldeen.asm" -INCLUDE "data/baseStats/seaking.asm" -INCLUDE "data/baseStats/staryu.asm" -INCLUDE "data/baseStats/starmie.asm" -INCLUDE "data/baseStats/mrmime.asm" -INCLUDE "data/baseStats/scyther.asm" -INCLUDE "data/baseStats/jynx.asm" -INCLUDE "data/baseStats/electabuzz.asm" -INCLUDE "data/baseStats/magmar.asm" -INCLUDE "data/baseStats/pinsir.asm" -INCLUDE "data/baseStats/tauros.asm" -INCLUDE "data/baseStats/magikarp.asm" -INCLUDE "data/baseStats/gyarados.asm" -INCLUDE "data/baseStats/lapras.asm" -INCLUDE "data/baseStats/ditto.asm" -INCLUDE "data/baseStats/eevee.asm" -INCLUDE "data/baseStats/vaporeon.asm" -INCLUDE "data/baseStats/jolteon.asm" -INCLUDE "data/baseStats/flareon.asm" -INCLUDE "data/baseStats/porygon.asm" -INCLUDE "data/baseStats/omanyte.asm" -INCLUDE "data/baseStats/omastar.asm" -INCLUDE "data/baseStats/kabuto.asm" -INCLUDE "data/baseStats/kabutops.asm" -INCLUDE "data/baseStats/aerodactyl.asm" -INCLUDE "data/baseStats/snorlax.asm" -INCLUDE "data/baseStats/articuno.asm" -INCLUDE "data/baseStats/zapdos.asm" -INCLUDE "data/baseStats/moltres.asm" -INCLUDE "data/baseStats/dratini.asm" -INCLUDE "data/baseStats/dragonair.asm" -INCLUDE "data/baseStats/dragonite.asm" -INCLUDE "data/baseStats/mewtwo.asm" diff --git a/text/stat_names.asm b/data/battle/stat_names.asm index 854780c6..854780c6 100644 --- a/text/stat_names.asm +++ b/data/battle/stat_names.asm diff --git a/data/credit_mons.asm b/data/credits/credits_mons.asm index 23142f9f..23142f9f 100755 --- a/data/credit_mons.asm +++ b/data/credits/credits_mons.asm diff --git a/data/credits_order.asm b/data/credits/credits_order.asm index 20b9137f..20b9137f 100755 --- a/data/credits_order.asm +++ b/data/credits/credits_order.asm diff --git a/text/credits_text.asm b/data/credits/credits_text.asm index a68c33d3..a68c33d3 100755 --- a/text/credits_text.asm +++ b/data/credits/credits_text.asm diff --git a/data/effects_pointers.asm b/data/effects_pointers.asm deleted file mode 100644 index 0d36e887..00000000 --- a/data/effects_pointers.asm +++ /dev/null @@ -1,87 +0,0 @@ -MoveEffectPointerTable: - dw SleepEffect ; unused effect - dw PoisonEffect ; POISON_SIDE_EFFECT1 - dw DrainHPEffect ; DRAIN_HP_EFFECT - dw FreezeBurnParalyzeEffect ; BURN_SIDE_EFFECT1 - dw FreezeBurnParalyzeEffect ; FREEZE_SIDE_EFFECT - dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT1 - dw ExplodeEffect ; EXPLODE_EFFECT - dw DrainHPEffect ; DREAM_EATER_EFFECT - dw $0000 ; MIRROR_MOVE_EFFECT - dw StatModifierUpEffect ; ATTACK_UP1_EFFECT - dw StatModifierUpEffect ; DEFENSE_UP1_EFFECT - dw StatModifierUpEffect ; SPEED_UP1_EFFECT - dw StatModifierUpEffect ; SPECIAL_UP1_EFFECT - dw StatModifierUpEffect ; ACCURACY_UP1_EFFECT - dw StatModifierUpEffect ; EVASION_UP1_EFFECT - dw PayDayEffect ; PAY_DAY_EFFECT - dw $0000 ; SWIFT_EFFECT - dw StatModifierDownEffect ; ATTACK_DOWN1_EFFECT - dw StatModifierDownEffect ; DEFENSE_DOWN1_EFFECT - dw StatModifierDownEffect ; SPEED_DOWN1_EFFECT - dw StatModifierDownEffect ; SPECIAL_DOWN1_EFFECT - dw StatModifierDownEffect ; ACCURACY_DOWN1_EFFECT - dw StatModifierDownEffect ; EVASION_DOWN1_EFFECT - dw ConversionEffect ; CONVERSION_EFFECT - dw HazeEffect ; HAZE_EFFECT - dw BideEffect ; BIDE_EFFECT - dw ThrashPetalDanceEffect ; THRASH_PETAL_DANCE_EFFECT - dw SwitchAndTeleportEffect ; SWITCH_AND_TELEPORT_EFFECT - dw TwoToFiveAttacksEffect ; TWO_TO_FIVE_ATTACKS_EFFECT - dw TwoToFiveAttacksEffect ; unused effect - dw FlinchSideEffect ; FLINCH_SIDE_EFFECT1 - dw SleepEffect ; SLEEP_EFFECT - dw PoisonEffect ; POISON_SIDE_EFFECT2 - dw FreezeBurnParalyzeEffect ; BURN_SIDE_EFFECT2 - dw FreezeBurnParalyzeEffect ; unused effect - dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT2 - dw FlinchSideEffect ; FLINCH_SIDE_EFFECT2 - dw OneHitKOEffect ; OHKO_EFFECT - dw ChargeEffect ; CHARGE_EFFECT - dw $0000 ; SUPER_FANG_EFFECT - dw $0000 ; SPECIAL_DAMAGE_EFFECT - dw TrappingEffect ; TRAPPING_EFFECT - dw ChargeEffect ; FLY_EFFECT - dw TwoToFiveAttacksEffect ; ATTACK_TWICE_EFFECT - dw $0000 ; JUMP_KICK_EFFECT - dw MistEffect ; MIST_EFFECT - dw FocusEnergyEffect ; FOCUS_ENERGY_EFFECT - dw RecoilEffect ; RECOIL_EFFECT - dw ConfusionEffect ; CONFUSION_EFFECT - dw StatModifierUpEffect ; ATTACK_UP2_EFFECT - dw StatModifierUpEffect ; DEFENSE_UP2_EFFECT - dw StatModifierUpEffect ; SPEED_UP2_EFFECT - dw StatModifierUpEffect ; SPECIAL_UP2_EFFECT - dw StatModifierUpEffect ; ACCURACY_UP2_EFFECT - dw StatModifierUpEffect ; EVASION_UP2_EFFECT - dw HealEffect ; HEAL_EFFECT - dw TransformEffect ; TRANSFORM_EFFECT - dw StatModifierDownEffect ; ATTACK_DOWN2_EFFECT - dw StatModifierDownEffect ; DEFENSE_DOWN2_EFFECT - dw StatModifierDownEffect ; SPEED_DOWN2_EFFECT - dw StatModifierDownEffect ; SPECIAL_DOWN2_EFFECT - dw StatModifierDownEffect ; ACCURACY_DOWN2_EFFECT - dw StatModifierDownEffect ; EVASION_DOWN2_EFFECT - dw ReflectLightScreenEffect ; LIGHT_SCREEN_EFFECT - dw ReflectLightScreenEffect ; REFLECT_EFFECT - dw PoisonEffect ; POISON_EFFECT - dw ParalyzeEffect ; PARALYZE_EFFECT - dw StatModifierDownEffect ; ATTACK_DOWN_SIDE_EFFECT - dw StatModifierDownEffect ; DEFENSE_DOWN_SIDE_EFFECT - dw StatModifierDownEffect ; SPEED_DOWN_SIDE_EFFECT - dw StatModifierDownEffect ; SPECIAL_DOWN_SIDE_EFFECT - dw StatModifierDownEffect ; unused effect - dw StatModifierDownEffect ; unused effect - dw StatModifierDownEffect ; unused effect - dw StatModifierDownEffect ; unused effect - dw ConfusionSideEffect ; CONFUSION_SIDE_EFFECT - dw TwoToFiveAttacksEffect ; TWINEEDLE_EFFECT - dw $0000 ; unused effect - dw SubstituteEffect ; SUBSTITUTE_EFFECT - dw HyperBeamEffect ; HYPER_BEAM_EFFECT - dw RageEffect ; RAGE_EFFECT - dw MimicEffect ; MIMIC_EFFECT - dw $0000 ; METRONOME_EFFECT - dw LeechSeedEffect ; LEECH_SEED_EFFECT - dw SplashEffect ; SPLASH_EFFECT - dw DisableEffect ; DISABLE_EFFECT diff --git a/data/hidden_coins.asm b/data/events/hidden_coins.asm index b7358572..b7358572 100755 --- a/data/hidden_coins.asm +++ b/data/events/hidden_coins.asm diff --git a/data/hidden_item_coords.asm b/data/events/hidden_item_coords.asm index 6b911dea..6b911dea 100755 --- a/data/hidden_item_coords.asm +++ b/data/events/hidden_item_coords.asm diff --git a/data/events/hidden_objects.asm b/data/events/hidden_objects.asm new file mode 100755 index 00000000..8fc539ef --- /dev/null +++ b/data/events/hidden_objects.asm @@ -0,0 +1,853 @@ +HiddenObjectMaps: + db REDS_HOUSE_2F + db BLUES_HOUSE + db OAKS_LAB + db VIRIDIAN_POKECENTER + db VIRIDIAN_MART + db VIRIDIAN_SCHOOL_HOUSE + db VIRIDIAN_GYM + db MUSEUM_1F + db PEWTER_GYM + db PEWTER_MART + db PEWTER_POKECENTER + db CERULEAN_POKECENTER + db CERULEAN_GYM + db CERULEAN_MART + db LAVENDER_POKECENTER + db VERMILION_POKECENTER + db VERMILION_GYM + db CELADON_MANSION_2F + db CELADON_POKECENTER + db CELADON_GYM + db GAME_CORNER + db CELADON_HOTEL + db FUCHSIA_POKECENTER + db FUCHSIA_GYM + db CINNABAR_GYM + db CINNABAR_POKECENTER + db SAFFRON_GYM + db MT_MOON_POKECENTER + db ROCK_TUNNEL_POKECENTER + db TRADE_CENTER + db COLOSSEUM + db VIRIDIAN_FOREST + db MT_MOON_B2F + db INDIGO_PLATEAU + db ROUTE_25 + db ROUTE_9 + db SS_ANNE_KITCHEN + db SS_ANNE_B1F_ROOMS + db ROCKET_HIDEOUT_B1F + db ROCKET_HIDEOUT_B3F + db ROCKET_HIDEOUT_B4F + db SAFFRON_POKECENTER + db POKEMON_TOWER_5F + db ROUTE_13 + db SAFARI_ZONE_GATE + db SAFARI_ZONE_WEST + db SILPH_CO_5F + db SILPH_CO_9F + db COPYCATS_HOUSE_2F + db CERULEAN_CAVE_1F + db CERULEAN_CAVE_B1F + db POWER_PLANT + db SEAFOAM_ISLANDS_B2F + db SEAFOAM_ISLANDS_B4F + db POKEMON_MANSION_1F + db POKEMON_MANSION_3F + db ROUTE_23 + db VICTORY_ROAD_2F + db UNUSED_MAP_6F + db BILLS_HOUSE + db VIRIDIAN_CITY + db SAFARI_ZONE_WEST_REST_HOUSE + db SAFARI_ZONE_EAST_REST_HOUSE + db SAFARI_ZONE_NORTH_REST_HOUSE + db ROUTE_15_GATE_2F + db MR_FUJIS_HOUSE + db CELADON_MANSION_ROOF_HOUSE + db FIGHTING_DOJO + db ROUTE_10 + db INDIGO_PLATEAU_LOBBY + db CINNABAR_LAB_FOSSIL_ROOM + db BIKE_SHOP + db ROUTE_11 + db ROUTE_12 + db POKEMON_MANSION_2F + db POKEMON_MANSION_B1F + db SILPH_CO_11F + db ROUTE_17 + db UNDERGROUND_PATH_NORTH_SOUTH + db UNDERGROUND_PATH_WEST_EAST + db CELADON_CITY + db SEAFOAM_ISLANDS_B3F + db VERMILION_CITY + db CERULEAN_CITY + db ROUTE_4 + db $FF + +HiddenObjectPointers: +; each of these pointers is for the corresponding map in HiddenObjectMaps + dw RedsHouse2FHiddenObjects + dw BluesHouseHiddenObjects + dw OaksLabHiddenObjects + dw ViridianPokecenterHiddenObjects + dw ViridianMartHiddenObjects + dw ViridianSchoolHiddenObjects + dw ViridianGymHiddenObjects + dw Museum1FHiddenObjects + dw PewterGymHiddenObjects + dw PewterMartHiddenObjects + dw PewterPokecenterHiddenObjects + dw CeruleanPokecenterHiddenObjects + dw CeruleanGymHiddenObjects + dw CeruleanMartHiddenObjects + dw LavenderPokecenterHiddenObjects + dw VermilionPokecenterHiddenObjects + dw VermilionGymHiddenObjects + dw CeladonMansion2HiddenObjects + dw CeladonPokecenterHiddenObjects + dw CeladonGymHiddenObjects + dw GameCornerHiddenObjects + dw CeladonHotelHiddenObjects + dw FuchsiaPokecenterHiddenObjects + dw FuchsiaGymHiddenObjects + dw CinnabarGymHiddenObjects + dw CinnabarPokecenterHiddenObjects + dw SaffronGymHiddenObjects + dw MtMoonPokecenterHiddenObjects + dw RockTunnelPokecenterHiddenObjects + dw TradeCenterHiddenObjects + dw ColosseumHiddenObjects + dw ViridianForestHiddenObjects + dw MtMoon3HiddenObjects + dw IndigoPlateauHiddenObjects + dw Route25HiddenObjects + dw Route9HiddenObjects + dw SSAnne6HiddenObjects + dw SSAnne10HiddenObjects + dw RocketHideout1HiddenObjects + dw RocketHideout3HiddenObjects + dw RocketHideout4HiddenObjects + dw SaffronPokecenterHiddenObjects + dw PokemonTower5HiddenObjects + dw Route13HiddenObjects + dw SafariZoneEntranceHiddenObjects + dw SafariZoneWestHiddenObjects + dw SilphCo5FHiddenObjects + dw SilphCo9FHiddenObjects + dw CopycatsHouse2FHiddenObjects + dw CeruleanCave1HiddenObjects + dw CeruleanCave3HiddenObjects + dw PowerPlantHiddenObjects + dw SeafoamIslands3HiddenObjects + dw SeafoamIslands5HiddenObjects + dw Mansion1HiddenObjects + dw Mansion3HiddenObjects + dw Route23HiddenObjects + dw VictoryRoad2HiddenObjects + dw Unused6FHiddenObjects + dw BillsHouseHiddenObjects + dw ViridianCityHiddenObjects + dw SafariZoneRestHouse2HiddenObjects + dw SafariZoneRestHouse3HiddenObjects + dw SafariZoneRestHouse4HiddenObjects + dw Route15GateUpstairsHiddenObjects + dw LavenderHouse1HiddenObjects + dw CeladonMansion5HiddenObjects + dw FightingDojoHiddenObjects + dw Route10HiddenObjects + dw IndigoPlateauLobbyHiddenObjects + dw CinnabarLab4HiddenObjects + dw BikeShopHiddenObjects + dw Route11HiddenObjects + dw Route12HiddenObjects + dw Mansion2HiddenObjects + dw Mansion4HiddenObjects + dw SilphCo11FHiddenObjects + dw Route17HiddenObjects + dw UndergroundPathNsHiddenObjects + dw UndergroundPathWeHiddenObjects + dw CeladonCityHiddenObjects + dw SeafoamIslands4HiddenObjects + dw VermilionCityHiddenObjects + dw CeruleanCityHiddenObjects + dw Route4HiddenObjects + +; format: y-coord, x-coord, text id/item id, object routine +TradeCenterHiddenObjects: + db $04,$05,$d0 + db BANK(CableClubRightGameboy) + dw CableClubRightGameboy + db $04,$04,$d0 + db BANK(CableClubLeftGameboy) + dw CableClubLeftGameboy + db $FF +ColosseumHiddenObjects: + db $04,$05,$d0 + db BANK(CableClubRightGameboy) + dw CableClubRightGameboy + db $04,$04,$d0 + db BANK(CableClubLeftGameboy) + dw CableClubLeftGameboy + db $FF +RedsHouse2FHiddenObjects: + db $01,$00,$04 + dbw BANK(OpenRedsPC), OpenRedsPC + db $05,$03,$d0 + dbw BANK(PrintRedSNESText), PrintRedSNESText + db $FF +BluesHouseHiddenObjects: + db $01,$00,$04 + db BANK(PrintBookcaseText) + dw PrintBookcaseText + db $01,$01,$04 + db BANK(PrintBookcaseText) + dw PrintBookcaseText + db $01,$07,$04 + db BANK(PrintBookcaseText) + dw PrintBookcaseText + db $FF +OaksLabHiddenObjects: + db $00,$04,$04 + db BANK(DisplayOakLabLeftPoster) + dw DisplayOakLabLeftPoster + db $00,$05,$04 + db BANK(DisplayOakLabRightPoster) + dw DisplayOakLabRightPoster + db $01,$00,$04 + db BANK(DisplayOakLabEmailText) + dw DisplayOakLabEmailText + db $01,$01,$04 + db BANK(DisplayOakLabEmailText) + dw DisplayOakLabEmailText + db $FF +ViridianPokecenterHiddenObjects: + db $04,$00,$08 + db BANK(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +ViridianMartHiddenObjects: + db $FF +ViridianSchoolHiddenObjects: + db $04,$03,(ViridianSchoolNotebook_id - TextPredefs) / 2 + 1 + db BANK(PrintNotebookText) + dw PrintNotebookText + db $00,$03,(ViridianSchoolBlackboard_id - TextPredefs) / 2 + 1 + db BANK(PrintBlackboardLinkCableText) + dw PrintBlackboardLinkCableText + db $FF +ViridianGymHiddenObjects: + db $0f,$0f,$04 + dbw BANK(GymStatues),GymStatues + db $0f,$12,$04 + dbw BANK(GymStatues),GymStatues + db $FF +Museum1FHiddenObjects: + db $03,$02,$04 + dbw BANK(AerodactylFossil), AerodactylFossil + db $06,$02,$04 + dbw BANK(KabutopsFossil), KabutopsFossil + db $FF +PewterGymHiddenObjects: + db $0a,$03,$04 + dbw BANK(GymStatues),GymStatues + db $0a,$06,$04 + dbw BANK(GymStatues),GymStatues + db $FF +PewterMartHiddenObjects: + db $FF +PewterPokecenterHiddenObjects: + db $04,$00,$08 + db BANK(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +CeruleanPokecenterHiddenObjects: + db $04,$00,$08 + db BANK(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +CeruleanGymHiddenObjects: + db $0b,$03,$04 + dbw BANK(GymStatues),GymStatues + db $0b,$06,$04 + dbw BANK(GymStatues),GymStatues + db $FF +CeruleanMartHiddenObjects: + db $FF +LavenderPokecenterHiddenObjects: + db $04,$00,$08 + db BANK(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +VermilionPokecenterHiddenObjects: + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $04,$00,$04 + db BANK(PrintBenchGuyText) + dw PrintBenchGuyText + db $FF +VermilionGymHiddenObjects: + db $0e,$03,$04 + dbw BANK(GymStatues), GymStatues + db $0e,$06,$04 + dbw BANK(GymStatues), GymStatues + db $01,$06,$00 + dbw BANK(PrintTrashText), PrintTrashText + db $07,$01,$00 + dbw BANK(GymTrashScript), GymTrashScript + db $09,$01,$01 + dbw BANK(GymTrashScript), GymTrashScript + db $0b,$01,$02 + dbw BANK(GymTrashScript), GymTrashScript + db $07,$03,$03 + dbw BANK(GymTrashScript), GymTrashScript + db $09,$03,$04 + dbw BANK(GymTrashScript), GymTrashScript + db $0b,$03,$05 + dbw BANK(GymTrashScript), GymTrashScript + db $07,$05,$06 + dbw BANK(GymTrashScript), GymTrashScript + db $09,$05,$07 + dbw BANK(GymTrashScript), GymTrashScript + db $0b,$05,$08 + dbw BANK(GymTrashScript), GymTrashScript + db $07,$07,$09 + dbw BANK(GymTrashScript), GymTrashScript + db $09,$07,$0a + dbw BANK(GymTrashScript), GymTrashScript + db $0b,$07,$0b + dbw BANK(GymTrashScript), GymTrashScript + db $07,$09,$0c + dbw BANK(GymTrashScript), GymTrashScript + db $09,$09,$0d + dbw BANK(GymTrashScript), GymTrashScript + db $0b,$09,$0e + dbw BANK(GymTrashScript), GymTrashScript + db $FF +CeladonMansion2HiddenObjects: + db $05,$00,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +CeladonPokecenterHiddenObjects: + db $04,$00,$08 + db BANK(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +CeladonGymHiddenObjects: + db $0f,$03,$04 + dbw BANK(GymStatues),GymStatues + db $0f,$06,$04 + dbw BANK(GymStatues),GymStatues + db $FF +GameCornerHiddenObjects: + db $0f,$12,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0e,$12,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0d,$12,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0c,$12,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0b,$12,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0a,$12,$ff ; "Someone's Keys" + dbw BANK(StartSlotMachine), StartSlotMachine + db $0a,$0d,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0b,$0d,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0c,$0d,$fe ; "Out To Lunch" + dbw BANK(StartSlotMachine), StartSlotMachine + db $0d,$0d,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0e,$0d,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0f,$0d,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0f,$0c,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0e,$0c,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0d,$0c,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0c,$0c,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0b,$0c,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0a,$0c,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0a,$07,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0b,$07,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0c,$07,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0d,$07,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0e,$07,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0f,$07,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0f,$06,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0e,$06,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0d,$06,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0c,$06,$fd ; "Out Of Order" + dbw BANK(StartSlotMachine), StartSlotMachine + db $0b,$06,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0a,$06,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0a,$01,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0b,$01,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0c,$01,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0d,$01,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0e,$01,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $0f,$01,$d0 + dbw BANK(StartSlotMachine), StartSlotMachine + db $08,$00,COIN+10 + dbw BANK(HiddenCoins),HiddenCoins + db $10,$01,COIN+10 + dbw BANK(HiddenCoins),HiddenCoins + db $0b,$03,COIN+20 + dbw BANK(HiddenCoins),HiddenCoins + db $0e,$03,COIN+10 + dbw BANK(HiddenCoins),HiddenCoins + db $0c,$04,COIN+10 + dbw BANK(HiddenCoins),HiddenCoins + db $0c,$09,COIN+20 + dbw BANK(HiddenCoins),HiddenCoins + db $0f,$09,COIN+10 + dbw BANK(HiddenCoins),HiddenCoins + db $0e,$10,COIN+10 + dbw BANK(HiddenCoins),HiddenCoins + db $10,$0a,COIN+10 + dbw BANK(HiddenCoins),HiddenCoins + db $07,$0b,COIN+40 + dbw BANK(HiddenCoins),HiddenCoins + db $08,$0f,COIN+100 + dbw BANK(HiddenCoins),HiddenCoins + db $0f,$0c,COIN+10 + dbw BANK(HiddenCoins),HiddenCoins + db $FF +CeladonHotelHiddenObjects: + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $04,$00,$08 + db BANK(PrintBenchGuyText) + dw PrintBenchGuyText + db $FF +FuchsiaPokecenterHiddenObjects: + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $04,$00,$04 + db BANK(PrintBenchGuyText) + dw PrintBenchGuyText + db $FF +FuchsiaGymHiddenObjects: + db $0f,$03,$04 + dbw BANK(GymStatues),GymStatues + db $0f,$06,$04 + dbw BANK(GymStatues),GymStatues + db $FF +CinnabarGymHiddenObjects: + db $0d,$11,$04 + dbw BANK(GymStatues),GymStatues + db $07,$0f,$01 + db BANK(PrintCinnabarQuiz) + dw PrintCinnabarQuiz + db $01,$0a,$12 + db BANK(PrintCinnabarQuiz) + dw PrintCinnabarQuiz + db $07,$09,$13 + db BANK(PrintCinnabarQuiz) + dw PrintCinnabarQuiz + db $0d,$09,$14 + db BANK(PrintCinnabarQuiz) + dw PrintCinnabarQuiz + db $0d,$01,$05 + db BANK(PrintCinnabarQuiz) + dw PrintCinnabarQuiz + db $07,$01,$16 + db BANK(PrintCinnabarQuiz) + dw PrintCinnabarQuiz + db $FF +CinnabarPokecenterHiddenObjects: + db $04,$00,$04 + db BANK(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +SaffronGymHiddenObjects: + db $0f,$09,$04 + dbw BANK(GymStatues),GymStatues + db $FF +MtMoonPokecenterHiddenObjects: + db $04,$00,$08 + db BANK(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +RockTunnelPokecenterHiddenObjects: + db $04,$00,$08 + db BANK(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +ViridianForestHiddenObjects: + db $12,$01,POTION + dbw BANK(HiddenItems),HiddenItems + db $2a,$10,ANTIDOTE + dbw BANK(HiddenItems),HiddenItems + db $FF +MtMoon3HiddenObjects: + db $0c,$12,MOON_STONE + dbw BANK(HiddenItems),HiddenItems + db $09,$21,ETHER + dbw BANK(HiddenItems),HiddenItems + db $FF +IndigoPlateauHiddenObjects: + db $0d,$08,$ff + db BANK(PrintIndigoPlateauHQText) + dw PrintIndigoPlateauHQText + db $0d,$0b,$00 + db BANK(PrintIndigoPlateauHQText) + dw PrintIndigoPlateauHQText + db $FF +Route25HiddenObjects: + db $03,$26,ETHER + dbw BANK(HiddenItems),HiddenItems + db $01,$0a,ELIXER + dbw BANK(HiddenItems),HiddenItems + db $FF +Route9HiddenObjects: + db $07,$0e,ETHER + dbw BANK(HiddenItems),HiddenItems + db $FF +SSAnne6HiddenObjects: + db $05,$0d,$00 + dbw BANK(PrintTrashText), PrintTrashText + db $07,$0d,$00 + dbw BANK(PrintTrashText), PrintTrashText + db $09,$0d,GREAT_BALL + dbw BANK(HiddenItems),HiddenItems + db $FF +SSAnne10HiddenObjects: + db $01,$03,HYPER_POTION + dbw BANK(HiddenItems),HiddenItems + db $FF +Route10HiddenObjects: + db $11,$09,SUPER_POTION + dbw BANK(HiddenItems),HiddenItems + db $35,$10,MAX_ETHER + dbw BANK(HiddenItems),HiddenItems + db $FF +RocketHideout1HiddenObjects: + db $0f,$15,PP_UP + dbw BANK(HiddenItems),HiddenItems + db $FF +RocketHideout3HiddenObjects: + db $11,$1b,NUGGET + dbw BANK(HiddenItems),HiddenItems + db $FF +RocketHideout4HiddenObjects: + db $01,$19,SUPER_POTION + dbw BANK(HiddenItems),HiddenItems + db $FF +SaffronPokecenterHiddenObjects: + db $04,$00,$04 + db BANK(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +PokemonTower5HiddenObjects: + db $0c,$04,ELIXER + dbw BANK(HiddenItems),HiddenItems + db $FF +Route13HiddenObjects: + db $0e,$01,PP_UP + dbw BANK(HiddenItems),HiddenItems + db $0d,$10,CALCIUM + dbw BANK(HiddenItems),HiddenItems + db $FF +SafariZoneEntranceHiddenObjects: + db $01,$0a,NUGGET + dbw BANK(HiddenItems),HiddenItems + db $FF +SafariZoneWestHiddenObjects: + db $05,$06,REVIVE + dbw BANK(HiddenItems),HiddenItems + db $FF +SilphCo5FHiddenObjects: + db $03,$0c,ELIXER + dbw BANK(HiddenItems),HiddenItems + db $FF +SilphCo9FHiddenObjects: + db $0f,$02,MAX_POTION + dbw BANK(HiddenItems),HiddenItems + db $FF +CopycatsHouse2FHiddenObjects: + db $01,$01,NUGGET + dbw BANK(HiddenItems),HiddenItems + db $FF +CeruleanCave1HiddenObjects: + db $0b,$0e,RARE_CANDY + dbw BANK(HiddenItems),HiddenItems + db $FF +CeruleanCave3HiddenObjects: + db $03,$1b,ULTRA_BALL + dbw BANK(HiddenItems),HiddenItems + db $FF +PowerPlantHiddenObjects: + db $10,$11,MAX_ELIXER + dbw BANK(HiddenItems),HiddenItems + db $01,$0c,PP_UP + dbw BANK(HiddenItems),HiddenItems + db $FF +SeafoamIslands3HiddenObjects: + db $0f,$0f,NUGGET + dbw BANK(HiddenItems),HiddenItems + db $FF +SeafoamIslands5HiddenObjects: + db $11,$19,ULTRA_BALL + dbw BANK(HiddenItems),HiddenItems + db $FF +Mansion1HiddenObjects: + db $10,$08,MOON_STONE + dbw BANK(HiddenItems),HiddenItems + db $05,$02,$04 + db BANK(Mansion1Script_Switches) + dw Mansion1Script_Switches + db $FF +Mansion2HiddenObjects: + db $0b,$02,$04 + db BANK(Mansion2Script_Switches) + dw Mansion2Script_Switches + db $FF +Mansion3HiddenObjects: + db $09,$01,MAX_REVIVE + dbw BANK(HiddenItems),HiddenItems + db $05,$0a,$04 + db BANK(Mansion3Script_Switches) + dw Mansion3Script_Switches + db $FF +Mansion4HiddenObjects: + db $09,$01,RARE_CANDY + dbw BANK(HiddenItems),HiddenItems + db $03,$14,$04 + db BANK(Mansion4Script_Switches) + dw Mansion4Script_Switches + db $19,$12,$04 + db BANK(Mansion4Script_Switches) + dw Mansion4Script_Switches + db $FF +Route23HiddenObjects: + db $2c,$09,FULL_RESTORE + dbw BANK(HiddenItems),HiddenItems + db $46,$13,ULTRA_BALL + dbw BANK(HiddenItems),HiddenItems + db $5a,$08,MAX_ETHER + dbw BANK(HiddenItems),HiddenItems + db $FF +VictoryRoad2HiddenObjects: + db $02,$05,ULTRA_BALL + dbw BANK(HiddenItems),HiddenItems + db $07,$1a,FULL_RESTORE + dbw BANK(HiddenItems),HiddenItems + db $FF +Unused6FHiddenObjects: + db $0b,$0e,MAX_ELIXER + dbw BANK(HiddenItems),HiddenItems + db $FF +BillsHouseHiddenObjects: + db $04,$01,$04 + dbw BANK(BillsHousePC), BillsHousePC + db $FF +ViridianCityHiddenObjects: + db $04,$0e,POTION + dbw BANK(HiddenItems),HiddenItems + db $FF +SafariZoneRestHouse2HiddenObjects: + db $04,$00,$08 + db BANK(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +SafariZoneRestHouse3HiddenObjects: + db $04,$00,$08 + db BANK(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +SafariZoneRestHouse4HiddenObjects: + db $04,$00,$08 + db BANK(PrintBenchGuyText) + dw PrintBenchGuyText + db $03,$0d,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +Route15GateUpstairsHiddenObjects: + db $02,$01,$04 + db BANK(Route15GateLeftBinoculars) + dw Route15GateLeftBinoculars + db $FF +LavenderHouse1HiddenObjects: + db $01,$00,$00 + db BANK(PrintMagazinesText) + dw PrintMagazinesText + db $01,$01,$00 + db BANK(PrintMagazinesText) + dw PrintMagazinesText + db $01,$07,$00 + db BANK(PrintMagazinesText) + dw PrintMagazinesText + db $FF +CeladonMansion5HiddenObjects: + db $00,$03,(LinkCableHelp_id - TextPredefs) / 2 + 1 + db BANK(PrintBlackboardLinkCableText) + dw PrintBlackboardLinkCableText + db $00,$04,(LinkCableHelp_id - TextPredefs) / 2 + 1 + db BANK(PrintBlackboardLinkCableText) + dw PrintBlackboardLinkCableText + db $04,$03,(TMNotebook_id - TextPredefs) / 2 + 1 + db BANK(PrintNotebookText) + dw PrintNotebookText + db $FF +FightingDojoHiddenObjects: + db $09,$03,$04 + db BANK(PrintFightingDojoText) + dw PrintFightingDojoText + db $09,$06,$04 + db BANK(PrintFightingDojoText) + dw PrintFightingDojoText + db $00,$04,$04 + db BANK(PrintFightingDojoText2) + dw PrintFightingDojoText2 + db $00,$05,$04 + db BANK(PrintFightingDojoText3) + dw PrintFightingDojoText3 + db $FF +IndigoPlateauLobbyHiddenObjects: + db $07,$0f,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +CinnabarLab4HiddenObjects: + db $04,$00,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $04,$02,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +BikeShopHiddenObjects: + db $00,$01,$d0 + dbw BANK(PrintNewBikeText), PrintNewBikeText + db $01,$02,$d0 + dbw BANK(PrintNewBikeText), PrintNewBikeText + db $02,$01,$d0 + dbw BANK(PrintNewBikeText), PrintNewBikeText + db $02,$03,$d0 + dbw BANK(PrintNewBikeText), PrintNewBikeText + db $04,$00,$d0 + dbw BANK(PrintNewBikeText), PrintNewBikeText + db $05,$01,$d0 + dbw BANK(PrintNewBikeText), PrintNewBikeText + db $FF +Route11HiddenObjects: + db $05,$30,ESCAPE_ROPE + dbw BANK(HiddenItems),HiddenItems + db $FF +Route12HiddenObjects: + db $3f,$02,HYPER_POTION + dbw BANK(HiddenItems),HiddenItems + db $FF +SilphCo11FHiddenObjects: + db $0c,$0a,$04 + db BANK(OpenPokemonCenterPC) + dw OpenPokemonCenterPC + db $FF +Route17HiddenObjects: + db $0e,$0f,RARE_CANDY + dbw BANK(HiddenItems),HiddenItems + db $2d,$08,FULL_RESTORE + dbw BANK(HiddenItems),HiddenItems + db $48,$11,PP_UP + dbw BANK(HiddenItems),HiddenItems + db $5b,$04,MAX_REVIVE + dbw BANK(HiddenItems),HiddenItems + db $79,$08,MAX_ELIXER + dbw BANK(HiddenItems),HiddenItems + db $FF +UndergroundPathNsHiddenObjects: + db $04,$03,FULL_RESTORE + dbw BANK(HiddenItems),HiddenItems + db $22,$04,X_SPECIAL + dbw BANK(HiddenItems),HiddenItems + db $FF +UndergroundPathWeHiddenObjects: + db $02,$0c,NUGGET + dbw BANK(HiddenItems),HiddenItems + db $05,$15,ELIXER + dbw BANK(HiddenItems),HiddenItems + db $FF +CeladonCityHiddenObjects: + db $0f,$30,PP_UP + dbw BANK(HiddenItems),HiddenItems + db $FF +SeafoamIslands4HiddenObjects: + db $10,$09,MAX_ELIXER + dbw BANK(HiddenItems),HiddenItems + db $FF +VermilionCityHiddenObjects: + db $0b,$0e,MAX_ETHER + dbw BANK(HiddenItems),HiddenItems + db $FF +CeruleanCityHiddenObjects: + db $08,$0f,RARE_CANDY + dbw BANK(HiddenItems),HiddenItems + db $FF +Route4HiddenObjects: + db $03,$28,GREAT_BALL + dbw BANK(HiddenItems),HiddenItems + db $FF diff --git a/data/prize_mon_levels.asm b/data/events/prize_mon_levels.asm index bffa4440..bffa4440 100755 --- a/data/prize_mon_levels.asm +++ b/data/events/prize_mon_levels.asm diff --git a/data/prizes.asm b/data/events/prizes.asm index 1120c0d0..1120c0d0 100755 --- a/data/prizes.asm +++ b/data/events/prizes.asm diff --git a/data/slot_machine_wheels.asm b/data/events/slot_machine_wheels.asm index 88a89822..88a89822 100755 --- a/data/slot_machine_wheels.asm +++ b/data/events/slot_machine_wheels.asm diff --git a/data/trades.asm b/data/events/trades.asm index cf0fcbfd..cf0fcbfd 100755 --- a/data/trades.asm +++ b/data/events/trades.asm diff --git a/data/evos_moves.asm b/data/evos_moves.asm deleted file mode 100755 index 26f09b87..00000000 --- a/data/evos_moves.asm +++ /dev/null @@ -1,2134 +0,0 @@ -; See constants/evolution_constants.asm -; The max number of evolutions per monster is MAX_EVOLUTIONS - -EvosMovesPointerTable: - dw RhydonEvosMoves - dw KangaskhanEvosMoves - dw NidoranMEvosMoves - dw ClefairyEvosMoves - dw SpearowEvosMoves - dw VoltorbEvosMoves - dw NidokingEvosMoves - dw SlowbroEvosMoves - dw IvysaurEvosMoves - dw ExeggutorEvosMoves - dw LickitungEvosMoves - dw ExeggcuteEvosMoves - dw GrimerEvosMoves - dw GengarEvosMoves - dw NidoranFEvosMoves - dw NidoqueenEvosMoves - dw CuboneEvosMoves - dw RhyhornEvosMoves - dw LaprasEvosMoves - dw ArcanineEvosMoves - dw MewEvosMoves - dw GyaradosEvosMoves - dw ShellderEvosMoves - dw TentacoolEvosMoves - dw GastlyEvosMoves - dw ScytherEvosMoves - dw StaryuEvosMoves - dw BlastoiseEvosMoves - dw PinsirEvosMoves - dw TangelaEvosMoves - dw MissingNo1FEvosMoves - dw MissingNo20EvosMoves - dw GrowlitheEvosMoves - dw OnixEvosMoves - dw FearowEvosMoves - dw PidgeyEvosMoves - dw SlowpokeEvosMoves - dw KadabraEvosMoves - dw GravelerEvosMoves - dw ChanseyEvosMoves - dw MachokeEvosMoves - dw MrMimeEvosMoves - dw HitmonleeEvosMoves - dw HitmonchanEvosMoves - dw ArbokEvosMoves - dw ParasectEvosMoves - dw PsyduckEvosMoves - dw DrowzeeEvosMoves - dw GolemEvosMoves - dw MissingNo32EvosMoves - dw MagmarEvosMoves - dw MissingNo34EvosMoves - dw ElectabuzzEvosMoves - dw MagnetonEvosMoves - dw KoffingEvosMoves - dw MissingNo38EvosMoves - dw MankeyEvosMoves - dw SeelEvosMoves - dw DiglettEvosMoves - dw TaurosEvosMoves - dw MissingNo3DEvosMoves - dw MissingNo3EEvosMoves - dw MissingNo3FEvosMoves - dw FarfetchdEvosMoves - dw VenonatEvosMoves - dw DragoniteEvosMoves - dw MissingNo43EvosMoves - dw MissingNo44EvosMoves - dw MissingNo45EvosMoves - dw DoduoEvosMoves - dw PoliwagEvosMoves - dw JynxEvosMoves - dw MoltresEvosMoves - dw ArticunoEvosMoves - dw ZapdosEvosMoves - dw DittoEvosMoves - dw MeowthEvosMoves - dw KrabbyEvosMoves - dw MissingNo4FEvosMoves - dw MissingNo50EvosMoves - dw MissingNo51EvosMoves - dw VulpixEvosMoves - dw NinetalesEvosMoves - dw PikachuEvosMoves - dw RaichuEvosMoves - dw MissingNo56EvosMoves - dw MissingNo57EvosMoves - dw DratiniEvosMoves - dw DragonairEvosMoves - dw KabutoEvosMoves - dw KabutopsEvosMoves - dw HorseaEvosMoves - dw SeadraEvosMoves - dw MissingNo5EEvosMoves - dw MissingNo5FEvosMoves - dw SandshrewEvosMoves - dw SandslashEvosMoves - dw OmanyteEvosMoves - dw OmastarEvosMoves - dw JigglypuffEvosMoves - dw WigglytuffEvosMoves - dw EeveeEvosMoves - dw FlareonEvosMoves - dw JolteonEvosMoves - dw VaporeonEvosMoves - dw MachopEvosMoves - dw ZubatEvosMoves - dw EkansEvosMoves - dw ParasEvosMoves - dw PoliwhirlEvosMoves - dw PoliwrathEvosMoves - dw WeedleEvosMoves - dw KakunaEvosMoves - dw BeedrillEvosMoves - dw MissingNo73EvosMoves - dw DodrioEvosMoves - dw PrimeapeEvosMoves - dw DugtrioEvosMoves - dw VenomothEvosMoves - dw DewgongEvosMoves - dw MissingNo79EvosMoves - dw MissingNo7AEvosMoves - dw CaterpieEvosMoves - dw MetapodEvosMoves - dw ButterfreeEvosMoves - dw MachampEvosMoves - dw MissingNo7FEvosMoves - dw GolduckEvosMoves - dw HypnoEvosMoves - dw GolbatEvosMoves - dw MewtwoEvosMoves - dw SnorlaxEvosMoves - dw MagikarpEvosMoves - dw MissingNo86EvosMoves - dw MissingNo87EvosMoves - dw MukEvosMoves - dw MissingNo8AEvosMoves - dw KinglerEvosMoves - dw CloysterEvosMoves - dw MissingNo8CEvosMoves - dw ElectrodeEvosMoves - dw ClefableEvosMoves - dw WeezingEvosMoves - dw PersianEvosMoves - dw MarowakEvosMoves - dw MissingNo92EvosMoves - dw HaunterEvosMoves - dw AbraEvosMoves - dw AlakazamEvosMoves - dw PidgeottoEvosMoves - dw PidgeotEvosMoves - dw StarmieEvosMoves - dw BulbasaurEvosMoves - dw VenusaurEvosMoves - dw TentacruelEvosMoves - dw MissingNo9CEvosMoves - dw GoldeenEvosMoves - dw SeakingEvosMoves - dw MissingNo9FEvosMoves - dw MissingNoA0EvosMoves - dw MissingNoA1EvosMoves - dw MissingNoA2EvosMoves - dw PonytaEvosMoves - dw RapidashEvosMoves - dw RattataEvosMoves - dw RaticateEvosMoves - dw NidorinoEvosMoves - dw NidorinaEvosMoves - dw GeodudeEvosMoves - dw PorygonEvosMoves - dw AerodactylEvosMoves - dw MissingNoACEvosMoves - dw MagnemiteEvosMoves - dw MissingNoAEEvosMoves - dw MissingNoAFEvosMoves - dw CharmanderEvosMoves - dw SquirtleEvosMoves - dw CharmeleonEvosMoves - dw WartortleEvosMoves - dw CharizardEvosMoves - dw MissingNoB5EvosMoves - dw FossilKabutopsEvosMoves - dw FossilAerodactylEvosMoves - dw MonGhostEvosMoves - dw OddishEvosMoves - dw GloomEvosMoves - dw VileplumeEvosMoves - dw BellsproutEvosMoves - dw WeepinbellEvosMoves - dw VictreebelEvosMoves - -RhydonEvosMoves: -; Evolutions - db 0 -; Learnset - db 30, STOMP - db 35, TAIL_WHIP - db 40, FURY_ATTACK - db 48, HORN_DRILL - db 55, LEER - db 64, TAKE_DOWN - db 0 - -KangaskhanEvosMoves: -; Evolutions - db 0 -; Learnset - db 26, BITE - db 31, TAIL_WHIP - db 36, MEGA_PUNCH - db 41, LEER - db 46, DIZZY_PUNCH - db 0 - -NidoranMEvosMoves: -; Evolutions - db EV_LEVEL, 16, NIDORINO - db 0 -; Learnset - db 8, HORN_ATTACK - db 14, POISON_STING - db 21, FOCUS_ENERGY - db 29, FURY_ATTACK - db 36, HORN_DRILL - db 43, DOUBLE_KICK - db 0 - -ClefairyEvosMoves: -; Evolutions - db EV_ITEM, MOON_STONE, 1, CLEFABLE - db 0 -; Learnset - db 13, SING - db 18, DOUBLESLAP - db 24, MINIMIZE - db 31, METRONOME - db 39, DEFENSE_CURL - db 48, LIGHT_SCREEN - db 0 - -SpearowEvosMoves: -; Evolutions - db EV_LEVEL, 20, FEAROW - db 0 -; Learnset - db 9, LEER - db 15, FURY_ATTACK - db 22, MIRROR_MOVE - db 29, DRILL_PECK - db 36, AGILITY - db 0 - -VoltorbEvosMoves: -; Evolutions - db EV_LEVEL, 30, ELECTRODE - db 0 -; Learnset - db 17, SONICBOOM - db 22, SELFDESTRUCT - db 29, LIGHT_SCREEN - db 36, SWIFT - db 43, EXPLOSION - db 0 - -NidokingEvosMoves: -; Evolutions - db 0 -; Learnset - db 8, HORN_ATTACK - db 14, POISON_STING - db 23, THRASH - db 0 - -SlowbroEvosMoves: -; Evolutions - db 0 -; Learnset - db 18, DISABLE - db 22, HEADBUTT - db 27, GROWL - db 33, WATER_GUN - db 37, WITHDRAW - db 44, AMNESIA - db 55, PSYCHIC_M - db 0 - -IvysaurEvosMoves: -; Evolutions - db EV_LEVEL, 32, VENUSAUR - db 0 -; Learnset - db 7, LEECH_SEED - db 13, VINE_WHIP - db 22, POISONPOWDER - db 30, RAZOR_LEAF - db 38, GROWTH - db 46, SLEEP_POWDER - db 54, SOLARBEAM - db 0 - -ExeggutorEvosMoves: -; Evolutions - db 0 -; Learnset - db 28, STOMP - db 0 - -LickitungEvosMoves: -; Evolutions - db 0 -; Learnset - db 7, STOMP - db 15, DISABLE - db 23, DEFENSE_CURL - db 31, SLAM - db 39, SCREECH - db 0 - -ExeggcuteEvosMoves: -; Evolutions - db EV_ITEM, LEAF_STONE, 1, EXEGGUTOR - db 0 -; Learnset - db 25, REFLECT - db 28, LEECH_SEED - db 32, STUN_SPORE - db 37, POISONPOWDER - db 42, SOLARBEAM - db 48, SLEEP_POWDER - db 0 - -GrimerEvosMoves: -; Evolutions - db EV_LEVEL, 38, MUK - db 0 -; Learnset - db 30, POISON_GAS - db 33, MINIMIZE - db 37, SLUDGE - db 42, HARDEN - db 48, SCREECH - db 55, ACID_ARMOR - db 0 - -GengarEvosMoves: -; Evolutions - db 0 -; Learnset - db 29, HYPNOSIS - db 38, DREAM_EATER - db 0 - -NidoranFEvosMoves: -; Evolutions - db EV_LEVEL, 16, NIDORINA - db 0 -; Learnset - db 8, SCRATCH - db 14, POISON_STING - db 21, TAIL_WHIP - db 29, BITE - db 36, FURY_SWIPES - db 43, DOUBLE_KICK - db 0 - -NidoqueenEvosMoves: -; Evolutions - db 0 -; Learnset - db 8, SCRATCH - db 14, POISON_STING - db 23, BODY_SLAM - db 0 - -CuboneEvosMoves: -; Evolutions - db EV_LEVEL, 28, MAROWAK - db 0 -; Learnset - db 25, LEER - db 31, FOCUS_ENERGY - db 38, THRASH - db 43, BONEMERANG - db 46, RAGE - db 0 - -RhyhornEvosMoves: -; Evolutions - db EV_LEVEL, 42, RHYDON - db 0 -; Learnset - db 30, STOMP - db 35, TAIL_WHIP - db 40, FURY_ATTACK - db 45, HORN_DRILL - db 50, LEER - db 55, TAKE_DOWN - db 0 - -LaprasEvosMoves: -; Evolutions - db 0 -; Learnset - db 16, SING - db 20, MIST - db 25, BODY_SLAM - db 31, CONFUSE_RAY - db 38, ICE_BEAM - db 46, HYDRO_PUMP - db 0 - -ArcanineEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MewEvosMoves: -; Evolutions - db 0 -; Learnset - db 10, TRANSFORM - db 20, MEGA_PUNCH - db 30, METRONOME - db 40, PSYCHIC_M - db 0 - -GyaradosEvosMoves: -; Evolutions - db 0 -; Learnset - db 20, BITE - db 25, DRAGON_RAGE - db 32, LEER - db 41, HYDRO_PUMP - db 52, HYPER_BEAM - db 0 - -ShellderEvosMoves: -; Evolutions - db EV_ITEM, WATER_STONE, 1, CLOYSTER - db 0 -; Learnset - db 18, SUPERSONIC - db 23, CLAMP - db 30, AURORA_BEAM - db 39, LEER - db 50, ICE_BEAM - db 0 - -TentacoolEvosMoves: -; Evolutions - db EV_LEVEL, 30, TENTACRUEL - db 0 -; Learnset - db 7, SUPERSONIC - db 13, WRAP - db 18, POISON_STING - db 22, WATER_GUN - db 27, CONSTRICT - db 33, BARRIER - db 40, SCREECH - db 48, HYDRO_PUMP - db 0 - -GastlyEvosMoves: -; Evolutions - db EV_LEVEL, 25, HAUNTER - db 0 -; Learnset - db 27, HYPNOSIS - db 35, DREAM_EATER - db 0 - -ScytherEvosMoves: -; Evolutions - db 0 -; Learnset - db 17, LEER - db 20, FOCUS_ENERGY - db 24, DOUBLE_TEAM - db 29, SLASH - db 35, SWORDS_DANCE - db 42, AGILITY - db 0 - -StaryuEvosMoves: -; Evolutions - db EV_ITEM, WATER_STONE, 1, STARMIE - db 0 -; Learnset - db 17, WATER_GUN - db 22, HARDEN - db 27, RECOVER - db 32, SWIFT - db 37, MINIMIZE - db 42, LIGHT_SCREEN - db 47, HYDRO_PUMP - db 0 - -BlastoiseEvosMoves: -; Evolutions - db 0 -; Learnset - db 8, BUBBLE - db 15, WATER_GUN - db 24, BITE - db 31, WITHDRAW - db 42, SKULL_BASH - db 52, HYDRO_PUMP - db 0 - -PinsirEvosMoves: -; Evolutions - db 0 -; Learnset - db 25, SEISMIC_TOSS - db 30, GUILLOTINE - db 36, FOCUS_ENERGY - db 43, HARDEN - db 49, SLASH - db 54, SWORDS_DANCE - db 0 - -TangelaEvosMoves: -; Evolutions - db 0 -; Learnset - db 29, ABSORB - db 32, POISONPOWDER - db 36, STUN_SPORE - db 39, SLEEP_POWDER - db 45, SLAM - db 49, GROWTH - db 0 - -MissingNo1FEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo20EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -GrowlitheEvosMoves: -; Evolutions - db EV_ITEM, FIRE_STONE, 1, ARCANINE - db 0 -; Learnset - db 18, EMBER - db 23, LEER - db 30, TAKE_DOWN - db 39, AGILITY - db 50, FLAMETHROWER - db 0 - -OnixEvosMoves: -; Evolutions - db 0 -; Learnset - db 15, BIND - db 19, ROCK_THROW - db 25, RAGE - db 33, SLAM - db 43, HARDEN - db 0 - -FearowEvosMoves: -; Evolutions - db 0 -; Learnset - db 9, LEER - db 15, FURY_ATTACK - db 25, MIRROR_MOVE - db 34, DRILL_PECK - db 43, AGILITY - db 0 - -PidgeyEvosMoves: -; Evolutions - db EV_LEVEL, 18, PIDGEOTTO - db 0 -; Learnset - db 5, SAND_ATTACK - db 12, QUICK_ATTACK - db 19, WHIRLWIND - db 28, WING_ATTACK - db 36, AGILITY - db 44, MIRROR_MOVE - db 0 - -SlowpokeEvosMoves: -; Evolutions - db EV_LEVEL, 37, SLOWBRO - db 0 -; Learnset - db 18, DISABLE - db 22, HEADBUTT - db 27, GROWL - db 33, WATER_GUN - db 40, AMNESIA - db 48, PSYCHIC_M - db 0 - -KadabraEvosMoves: -; Evolutions - db EV_TRADE, 1, ALAKAZAM - db 0 -; Learnset - db 16, CONFUSION - db 20, DISABLE - db 27, PSYBEAM - db 31, RECOVER - db 38, PSYCHIC_M - db 42, REFLECT - db 0 - -GravelerEvosMoves: -; Evolutions - db EV_TRADE, 1, GOLEM - db 0 -; Learnset - db 11, DEFENSE_CURL - db 16, ROCK_THROW - db 21, SELFDESTRUCT - db 29, HARDEN - db 36, EARTHQUAKE - db 43, EXPLOSION - db 0 - -ChanseyEvosMoves: -; Evolutions - db 0 -; Learnset - db 24, SING - db 30, GROWL - db 38, MINIMIZE - db 44, DEFENSE_CURL - db 48, LIGHT_SCREEN - db 54, DOUBLE_EDGE - db 0 - -MachokeEvosMoves: -; Evolutions - db EV_TRADE, 1, MACHAMP - db 0 -; Learnset - db 20, LOW_KICK - db 25, LEER - db 36, FOCUS_ENERGY - db 44, SEISMIC_TOSS - db 52, SUBMISSION - db 0 - -MrMimeEvosMoves: -; Evolutions - db 0 -; Learnset - db 15, CONFUSION - db 23, LIGHT_SCREEN - db 31, DOUBLESLAP - db 39, MEDITATE - db 47, SUBSTITUTE - db 0 - -HitmonleeEvosMoves: -; Evolutions - db 0 -; Learnset - db 33, ROLLING_KICK - db 38, JUMP_KICK - db 43, FOCUS_ENERGY - db 48, HI_JUMP_KICK - db 53, MEGA_KICK - db 0 - -HitmonchanEvosMoves: -; Evolutions - db 0 -; Learnset - db 33, FIRE_PUNCH - db 38, ICE_PUNCH - db 43, THUNDERPUNCH - db 48, MEGA_PUNCH - db 53, COUNTER - db 0 - -ArbokEvosMoves: -; Evolutions - db 0 -; Learnset - db 10, POISON_STING - db 17, BITE - db 27, GLARE - db 36, SCREECH - db 47, ACID - db 0 - -ParasectEvosMoves: -; Evolutions - db 0 -; Learnset - db 13, STUN_SPORE - db 20, LEECH_LIFE - db 30, SPORE - db 39, SLASH - db 48, GROWTH - db 0 - -PsyduckEvosMoves: -; Evolutions - db EV_LEVEL, 33, GOLDUCK - db 0 -; Learnset - db 28, TAIL_WHIP - db 31, DISABLE - db 36, CONFUSION - db 43, FURY_SWIPES - db 52, HYDRO_PUMP - db 0 - -DrowzeeEvosMoves: -; Evolutions - db EV_LEVEL, 26, HYPNO - db 0 -; Learnset - db 12, DISABLE - db 17, CONFUSION - db 24, HEADBUTT - db 29, POISON_GAS - db 32, PSYCHIC_M - db 37, MEDITATE - db 0 - -GolemEvosMoves: -; Evolutions - db 0 -; Learnset - db 11, DEFENSE_CURL - db 16, ROCK_THROW - db 21, SELFDESTRUCT - db 29, HARDEN - db 36, EARTHQUAKE - db 43, EXPLOSION - db 0 - -MissingNo32EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MagmarEvosMoves: -; Evolutions - db 0 -; Learnset - db 36, LEER - db 39, CONFUSE_RAY - db 43, FIRE_PUNCH - db 48, SMOKESCREEN - db 52, SMOG - db 55, FLAMETHROWER - db 0 - -MissingNo34EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -ElectabuzzEvosMoves: -; Evolutions - db 0 -; Learnset - db 34, THUNDERSHOCK - db 37, SCREECH - db 42, THUNDERPUNCH - db 49, LIGHT_SCREEN - db 54, THUNDER - db 0 - -MagnetonEvosMoves: -; Evolutions - db 0 -; Learnset - db 21, SONICBOOM - db 25, THUNDERSHOCK - db 29, SUPERSONIC - db 38, THUNDER_WAVE - db 46, SWIFT - db 54, SCREECH - db 0 - -KoffingEvosMoves: -; Evolutions - db EV_LEVEL, 35, WEEZING - db 0 -; Learnset - db 32, SLUDGE - db 37, SMOKESCREEN - db 40, SELFDESTRUCT - db 45, HAZE - db 48, EXPLOSION - db 0 - -MissingNo38EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MankeyEvosMoves: -; Evolutions - db EV_LEVEL, 28, PRIMEAPE - db 0 -; Learnset - db 15, KARATE_CHOP - db 21, FURY_SWIPES - db 27, FOCUS_ENERGY - db 33, SEISMIC_TOSS - db 39, THRASH - db 0 - -SeelEvosMoves: -; Evolutions - db EV_LEVEL, 34, DEWGONG - db 0 -; Learnset - db 30, GROWL - db 35, AURORA_BEAM - db 40, REST - db 45, TAKE_DOWN - db 50, ICE_BEAM - db 0 - -DiglettEvosMoves: -; Evolutions - db EV_LEVEL, 26, DUGTRIO - db 0 -; Learnset - db 15, GROWL - db 19, DIG - db 24, SAND_ATTACK - db 31, SLASH - db 40, EARTHQUAKE - db 0 - -TaurosEvosMoves: -; Evolutions - db 0 -; Learnset - db 21, STOMP - db 28, TAIL_WHIP - db 35, LEER - db 44, RAGE - db 51, TAKE_DOWN - db 0 - -MissingNo3DEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo3EEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo3FEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -FarfetchdEvosMoves: -; Evolutions - db 0 -; Learnset - db 7, LEER - db 15, FURY_ATTACK - db 23, SWORDS_DANCE - db 31, AGILITY - db 39, SLASH - db 0 - -VenonatEvosMoves: -; Evolutions - db EV_LEVEL, 31, VENOMOTH - db 0 -; Learnset - db 24, POISONPOWDER - db 27, LEECH_LIFE - db 30, STUN_SPORE - db 35, PSYBEAM - db 38, SLEEP_POWDER - db 43, PSYCHIC_M - db 0 - -DragoniteEvosMoves: -; Evolutions - db 0 -; Learnset - db 10, THUNDER_WAVE - db 20, AGILITY - db 35, SLAM - db 45, DRAGON_RAGE - db 60, HYPER_BEAM - db 0 - -MissingNo43EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo44EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo45EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -DoduoEvosMoves: -; Evolutions - db EV_LEVEL, 31, DODRIO - db 0 -; Learnset - db 20, GROWL - db 24, FURY_ATTACK - db 30, DRILL_PECK - db 36, RAGE - db 40, TRI_ATTACK - db 44, AGILITY - db 0 - -PoliwagEvosMoves: -; Evolutions - db EV_LEVEL, 25, POLIWHIRL - db 0 -; Learnset - db 16, HYPNOSIS - db 19, WATER_GUN - db 25, DOUBLESLAP - db 31, BODY_SLAM - db 38, AMNESIA - db 45, HYDRO_PUMP - db 0 - -JynxEvosMoves: -; Evolutions - db 0 -; Learnset - db 18, LICK - db 23, DOUBLESLAP - db 31, ICE_PUNCH - db 39, BODY_SLAM - db 47, THRASH - db 58, BLIZZARD - db 0 - -MoltresEvosMoves: -; Evolutions - db 0 -; Learnset - db 51, LEER - db 55, AGILITY - db 60, SKY_ATTACK - db 0 - -ArticunoEvosMoves: -; Evolutions - db 0 -; Learnset - db 51, BLIZZARD - db 55, AGILITY - db 60, MIST - db 0 - -ZapdosEvosMoves: -; Evolutions - db 0 -; Learnset - db 51, THUNDER - db 55, AGILITY - db 60, LIGHT_SCREEN - db 0 - -DittoEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MeowthEvosMoves: -; Evolutions - db EV_LEVEL, 28, PERSIAN - db 0 -; Learnset - db 12, BITE - db 17, PAY_DAY - db 24, SCREECH - db 33, FURY_SWIPES - db 44, SLASH - db 0 - -KrabbyEvosMoves: -; Evolutions - db EV_LEVEL, 28, KINGLER - db 0 -; Learnset - db 20, VICEGRIP - db 25, GUILLOTINE - db 30, STOMP - db 35, CRABHAMMER - db 40, HARDEN - db 0 - -MissingNo4FEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo50EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo51EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -VulpixEvosMoves: -; Evolutions - db EV_ITEM, FIRE_STONE, 1, NINETALES - db 0 -; Learnset - db 16, QUICK_ATTACK - db 21, ROAR - db 28, CONFUSE_RAY - db 35, FLAMETHROWER - db 42, FIRE_SPIN - db 0 - -NinetalesEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -PikachuEvosMoves: -; Evolutions - db EV_ITEM, THUNDER_STONE, 1, RAICHU - db 0 -; Learnset - db 9, THUNDER_WAVE - db 16, QUICK_ATTACK - db 26, SWIFT - db 33, AGILITY - db 43, THUNDER - db 0 - -RaichuEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo56EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo57EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -DratiniEvosMoves: -; Evolutions - db EV_LEVEL, 30, DRAGONAIR - db 0 -; Learnset - db 10, THUNDER_WAVE - db 20, AGILITY - db 30, SLAM - db 40, DRAGON_RAGE - db 50, HYPER_BEAM - db 0 - -DragonairEvosMoves: -; Evolutions - db EV_LEVEL, 55, DRAGONITE - db 0 -; Learnset - db 10, THUNDER_WAVE - db 20, AGILITY - db 35, SLAM - db 45, DRAGON_RAGE - db 55, HYPER_BEAM - db 0 - -KabutoEvosMoves: -; Evolutions - db EV_LEVEL, 40, KABUTOPS - db 0 -; Learnset - db 34, ABSORB - db 39, SLASH - db 44, LEER - db 49, HYDRO_PUMP - db 0 - -KabutopsEvosMoves: -; Evolutions - db 0 -; Learnset - db 34, ABSORB - db 39, SLASH - db 46, LEER - db 53, HYDRO_PUMP - db 0 - -HorseaEvosMoves: -; Evolutions - db EV_LEVEL, 32, SEADRA - db 0 -; Learnset - db 19, SMOKESCREEN - db 24, LEER - db 30, WATER_GUN - db 37, AGILITY - db 45, HYDRO_PUMP - db 0 - -SeadraEvosMoves: -; Evolutions - db 0 -; Learnset - db 19, SMOKESCREEN - db 24, LEER - db 30, WATER_GUN - db 41, AGILITY - db 52, HYDRO_PUMP - db 0 - -MissingNo5EEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo5FEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -SandshrewEvosMoves: -; Evolutions - db EV_LEVEL, 22, SANDSLASH - db 0 -; Learnset - db 10, SAND_ATTACK - db 17, SLASH - db 24, POISON_STING - db 31, SWIFT - db 38, FURY_SWIPES - db 0 - -SandslashEvosMoves: -; Evolutions - db 0 -; Learnset - db 10, SAND_ATTACK - db 17, SLASH - db 27, POISON_STING - db 36, SWIFT - db 47, FURY_SWIPES - db 0 - -OmanyteEvosMoves: -; Evolutions - db EV_LEVEL, 40, OMASTAR - db 0 -; Learnset - db 34, HORN_ATTACK - db 39, LEER - db 46, SPIKE_CANNON - db 53, HYDRO_PUMP - db 0 - -OmastarEvosMoves: -; Evolutions - db 0 -; Learnset - db 34, HORN_ATTACK - db 39, LEER - db 44, SPIKE_CANNON - db 49, HYDRO_PUMP - db 0 - -JigglypuffEvosMoves: -; Evolutions - db EV_ITEM, MOON_STONE, 1, WIGGLYTUFF - db 0 -; Learnset - db 9, POUND - db 14, DISABLE - db 19, DEFENSE_CURL - db 24, DOUBLESLAP - db 29, REST - db 34, BODY_SLAM - db 39, DOUBLE_EDGE - db 0 - -WigglytuffEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -EeveeEvosMoves: -; Evolutions - db EV_ITEM, FIRE_STONE, 1, FLAREON - db EV_ITEM, THUNDER_STONE, 1, JOLTEON - db EV_ITEM, WATER_STONE, 1, VAPOREON - db 0 -; Learnset - db 27, QUICK_ATTACK - db 31, TAIL_WHIP - db 37, BITE - db 45, TAKE_DOWN - db 0 - -FlareonEvosMoves: -; Evolutions - db 0 -; Learnset - db 27, QUICK_ATTACK - db 31, EMBER - db 37, TAIL_WHIP - db 40, BITE - db 42, LEER - db 44, FIRE_SPIN - db 48, RAGE - db 54, FLAMETHROWER - db 0 - -JolteonEvosMoves: -; Evolutions - db 0 -; Learnset - db 27, QUICK_ATTACK - db 31, THUNDERSHOCK - db 37, TAIL_WHIP - db 40, THUNDER_WAVE - db 42, DOUBLE_KICK - db 44, AGILITY - db 48, PIN_MISSILE - db 54, THUNDER - db 0 - -VaporeonEvosMoves: -; Evolutions - db 0 -; Learnset - db 27, QUICK_ATTACK - db 31, WATER_GUN - db 37, TAIL_WHIP - db 40, BITE - db 42, ACID_ARMOR - db 44, HAZE - db 48, MIST - db 54, HYDRO_PUMP - db 0 - -MachopEvosMoves: -; Evolutions - db EV_LEVEL, 28, MACHOKE - db 0 -; Learnset - db 20, LOW_KICK - db 25, LEER - db 32, FOCUS_ENERGY - db 39, SEISMIC_TOSS - db 46, SUBMISSION - db 0 - -ZubatEvosMoves: -; Evolutions - db EV_LEVEL, 22, GOLBAT - db 0 -; Learnset - db 10, SUPERSONIC - db 15, BITE - db 21, CONFUSE_RAY - db 28, WING_ATTACK - db 36, HAZE - db 0 - -EkansEvosMoves: -; Evolutions - db EV_LEVEL, 22, ARBOK - db 0 -; Learnset - db 10, POISON_STING - db 17, BITE - db 24, GLARE - db 31, SCREECH - db 38, ACID - db 0 - -ParasEvosMoves: -; Evolutions - db EV_LEVEL, 24, PARASECT - db 0 -; Learnset - db 13, STUN_SPORE - db 20, LEECH_LIFE - db 27, SPORE - db 34, SLASH - db 41, GROWTH - db 0 - -PoliwhirlEvosMoves: -; Evolutions - db EV_ITEM, WATER_STONE, 1, POLIWRATH - db 0 -; Learnset - db 16, HYPNOSIS - db 19, WATER_GUN - db 26, DOUBLESLAP - db 33, BODY_SLAM - db 41, AMNESIA - db 49, HYDRO_PUMP - db 0 - -PoliwrathEvosMoves: -; Evolutions - db 0 -; Learnset - db 16, HYPNOSIS - db 19, WATER_GUN - db 0 - -WeedleEvosMoves: -; Evolutions - db EV_LEVEL, 7, KAKUNA - db 0 -; Learnset - db 0 - -KakunaEvosMoves: -; Evolutions - db EV_LEVEL, 10, BEEDRILL - db 0 -; Learnset - db 0 - -BeedrillEvosMoves: -; Evolutions - db 0 -; Learnset - db 12, FURY_ATTACK - db 16, FOCUS_ENERGY - db 20, TWINEEDLE - db 25, RAGE - db 30, PIN_MISSILE - db 35, AGILITY - db 0 - -MissingNo73EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -DodrioEvosMoves: -; Evolutions - db 0 -; Learnset - db 20, GROWL - db 24, FURY_ATTACK - db 30, DRILL_PECK - db 39, RAGE - db 45, TRI_ATTACK - db 51, AGILITY - db 0 - -PrimeapeEvosMoves: -; Evolutions - db 0 -; Learnset - db 15, KARATE_CHOP - db 21, FURY_SWIPES - db 27, FOCUS_ENERGY - db 37, SEISMIC_TOSS - db 46, THRASH - db 0 - -DugtrioEvosMoves: -; Evolutions - db 0 -; Learnset - db 15, GROWL - db 19, DIG - db 24, SAND_ATTACK - db 35, SLASH - db 47, EARTHQUAKE - db 0 - -VenomothEvosMoves: -; Evolutions - db 0 -; Learnset - db 24, POISONPOWDER - db 27, LEECH_LIFE - db 30, STUN_SPORE - db 38, PSYBEAM - db 43, SLEEP_POWDER - db 50, PSYCHIC_M - db 0 - -DewgongEvosMoves: -; Evolutions - db 0 -; Learnset - db 30, GROWL - db 35, AURORA_BEAM - db 44, REST - db 50, TAKE_DOWN - db 56, ICE_BEAM - db 0 - -MissingNo79EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo7AEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -CaterpieEvosMoves: -; Evolutions - db EV_LEVEL, 7, METAPOD - db 0 -; Learnset - db 0 - -MetapodEvosMoves: -; Evolutions - db EV_LEVEL, 10, BUTTERFREE - db 0 -; Learnset - db 0 - -ButterfreeEvosMoves: -; Evolutions - db 0 -; Learnset - db 12, CONFUSION - db 15, POISONPOWDER - db 16, STUN_SPORE - db 17, SLEEP_POWDER - db 21, SUPERSONIC - db 26, WHIRLWIND - db 32, PSYBEAM - db 0 - -MachampEvosMoves: -; Evolutions - db 0 -; Learnset - db 20, LOW_KICK - db 25, LEER - db 36, FOCUS_ENERGY - db 44, SEISMIC_TOSS - db 52, SUBMISSION - db 0 - -MissingNo7FEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -GolduckEvosMoves: -; Evolutions - db 0 -; Learnset - db 28, TAIL_WHIP - db 31, DISABLE - db 39, CONFUSION - db 48, FURY_SWIPES - db 59, HYDRO_PUMP - db 0 - -HypnoEvosMoves: -; Evolutions - db 0 -; Learnset - db 12, DISABLE - db 17, CONFUSION - db 24, HEADBUTT - db 33, POISON_GAS - db 37, PSYCHIC_M - db 43, MEDITATE - db 0 - -GolbatEvosMoves: -; Evolutions - db 0 -; Learnset - db 10, SUPERSONIC - db 15, BITE - db 21, CONFUSE_RAY - db 32, WING_ATTACK - db 43, HAZE - db 0 - -MewtwoEvosMoves: -; Evolutions - db 0 -; Learnset - db 63, BARRIER - db 66, PSYCHIC_M - db 70, RECOVER - db 75, MIST - db 81, AMNESIA - db 0 - -SnorlaxEvosMoves: -; Evolutions - db 0 -; Learnset - db 35, BODY_SLAM - db 41, HARDEN - db 48, DOUBLE_EDGE - db 56, HYPER_BEAM - db 0 - -MagikarpEvosMoves: -; Evolutions - db EV_LEVEL, 20, GYARADOS - db 0 -; Learnset - db 15, TACKLE - db 0 - -MissingNo86EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNo87EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MukEvosMoves: -; Evolutions - db 0 -; Learnset - db 30, POISON_GAS - db 33, MINIMIZE - db 37, SLUDGE - db 45, HARDEN - db 53, SCREECH - db 60, ACID_ARMOR - db 0 - -MissingNo8AEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -KinglerEvosMoves: -; Evolutions - db 0 -; Learnset - db 20, VICEGRIP - db 25, GUILLOTINE - db 34, STOMP - db 42, CRABHAMMER - db 49, HARDEN - db 0 - -CloysterEvosMoves: -; Evolutions - db 0 -; Learnset - db 50, SPIKE_CANNON - db 0 - -MissingNo8CEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -ElectrodeEvosMoves: -; Evolutions - db 0 -; Learnset - db 17, SONICBOOM - db 22, SELFDESTRUCT - db 29, LIGHT_SCREEN - db 40, SWIFT - db 50, EXPLOSION - db 0 - -ClefableEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -WeezingEvosMoves: -; Evolutions - db 0 -; Learnset - db 32, SLUDGE - db 39, SMOKESCREEN - db 43, SELFDESTRUCT - db 49, HAZE - db 53, EXPLOSION - db 0 - -PersianEvosMoves: -; Evolutions - db 0 -; Learnset - db 12, BITE - db 17, PAY_DAY - db 24, SCREECH - db 37, FURY_SWIPES - db 51, SLASH - db 0 - -MarowakEvosMoves: -; Evolutions - db 0 -; Learnset - db 25, LEER - db 33, FOCUS_ENERGY - db 41, THRASH - db 48, BONEMERANG - db 55, RAGE - db 0 - -MissingNo92EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -HaunterEvosMoves: -; Evolutions - db EV_TRADE, 1, GENGAR - db 0 -; Learnset - db 29, HYPNOSIS - db 38, DREAM_EATER - db 0 - -AbraEvosMoves: -; Evolutions - db EV_LEVEL, 16, KADABRA - db 0 -; Learnset - db 0 - -AlakazamEvosMoves: -; Evolutions - db 0 -; Learnset - db 16, CONFUSION - db 20, DISABLE - db 27, PSYBEAM - db 31, RECOVER - db 38, PSYCHIC_M - db 42, REFLECT - db 0 - -PidgeottoEvosMoves: -; Evolutions - db EV_LEVEL, 36, PIDGEOT - db 0 -; Learnset - db 5, SAND_ATTACK - db 12, QUICK_ATTACK - db 21, WHIRLWIND - db 31, WING_ATTACK - db 40, AGILITY - db 49, MIRROR_MOVE - db 0 - -PidgeotEvosMoves: -; Evolutions - db 0 -; Learnset - db 5, SAND_ATTACK - db 12, QUICK_ATTACK - db 21, WHIRLWIND - db 31, WING_ATTACK - db 44, AGILITY - db 54, MIRROR_MOVE - db 0 - -StarmieEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -BulbasaurEvosMoves: -; Evolutions - db EV_LEVEL, 16, IVYSAUR - db 0 -; Learnset - db 7, LEECH_SEED - db 13, VINE_WHIP - db 20, POISONPOWDER - db 27, RAZOR_LEAF - db 34, GROWTH - db 41, SLEEP_POWDER - db 48, SOLARBEAM - db 0 - -VenusaurEvosMoves: -; Evolutions - db 0 -; Learnset - db 7, LEECH_SEED - db 13, VINE_WHIP - db 22, POISONPOWDER - db 30, RAZOR_LEAF - db 43, GROWTH - db 55, SLEEP_POWDER - db 65, SOLARBEAM - db 0 - -TentacruelEvosMoves: -; Evolutions - db 0 -; Learnset - db 7, SUPERSONIC - db 13, WRAP - db 18, POISON_STING - db 22, WATER_GUN - db 27, CONSTRICT - db 35, BARRIER - db 43, SCREECH - db 50, HYDRO_PUMP - db 0 - -MissingNo9CEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -GoldeenEvosMoves: -; Evolutions - db EV_LEVEL, 33, SEAKING - db 0 -; Learnset - db 19, SUPERSONIC - db 24, HORN_ATTACK - db 30, FURY_ATTACK - db 37, WATERFALL - db 45, HORN_DRILL - db 54, AGILITY - db 0 - -SeakingEvosMoves: -; Evolutions - db 0 -; Learnset - db 19, SUPERSONIC - db 24, HORN_ATTACK - db 30, FURY_ATTACK - db 39, WATERFALL - db 48, HORN_DRILL - db 54, AGILITY - db 0 - -MissingNo9FEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNoA0EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNoA1EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNoA2EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -PonytaEvosMoves: -; Evolutions - db EV_LEVEL, 40, RAPIDASH - db 0 -; Learnset - db 30, TAIL_WHIP - db 32, STOMP - db 35, GROWL - db 39, FIRE_SPIN - db 43, TAKE_DOWN - db 48, AGILITY - db 0 - -RapidashEvosMoves: -; Evolutions - db 0 -; Learnset - db 30, TAIL_WHIP - db 32, STOMP - db 35, GROWL - db 39, FIRE_SPIN - db 47, TAKE_DOWN - db 55, AGILITY - db 0 - -RattataEvosMoves: -; Evolutions - db EV_LEVEL, 20, RATICATE - db 0 -; Learnset - db 7, QUICK_ATTACK - db 14, HYPER_FANG - db 23, FOCUS_ENERGY - db 34, SUPER_FANG - db 0 - -RaticateEvosMoves: -; Evolutions - db 0 -; Learnset - db 7, QUICK_ATTACK - db 14, HYPER_FANG - db 27, FOCUS_ENERGY - db 41, SUPER_FANG - db 0 - -NidorinoEvosMoves: -; Evolutions - db EV_ITEM, MOON_STONE, 1, NIDOKING - db 0 -; Learnset - db 8, HORN_ATTACK - db 14, POISON_STING - db 23, FOCUS_ENERGY - db 32, FURY_ATTACK - db 41, HORN_DRILL - db 50, DOUBLE_KICK - db 0 - -NidorinaEvosMoves: -; Evolutions - db EV_ITEM, MOON_STONE, 1, NIDOQUEEN - db 0 -; Learnset - db 8, SCRATCH - db 14, POISON_STING - db 23, TAIL_WHIP - db 32, BITE - db 41, FURY_SWIPES - db 50, DOUBLE_KICK - db 0 - -GeodudeEvosMoves: -; Evolutions - db EV_LEVEL, 25, GRAVELER - db 0 -; Learnset - db 11, DEFENSE_CURL - db 16, ROCK_THROW - db 21, SELFDESTRUCT - db 26, HARDEN - db 31, EARTHQUAKE - db 36, EXPLOSION - db 0 - -PorygonEvosMoves: -; Evolutions - db 0 -; Learnset - db 23, PSYBEAM - db 28, RECOVER - db 35, AGILITY - db 42, TRI_ATTACK - db 0 - -AerodactylEvosMoves: -; Evolutions - db 0 -; Learnset - db 33, SUPERSONIC - db 38, BITE - db 45, TAKE_DOWN - db 54, HYPER_BEAM - db 0 - -MissingNoACEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MagnemiteEvosMoves: -; Evolutions - db EV_LEVEL, 30, MAGNETON - db 0 -; Learnset - db 21, SONICBOOM - db 25, THUNDERSHOCK - db 29, SUPERSONIC - db 35, THUNDER_WAVE - db 41, SWIFT - db 47, SCREECH - db 0 - -MissingNoAEEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MissingNoAFEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -CharmanderEvosMoves: -; Evolutions - db EV_LEVEL, 16, CHARMELEON - db 0 -; Learnset - db 9, EMBER - db 15, LEER - db 22, RAGE - db 30, SLASH - db 38, FLAMETHROWER - db 46, FIRE_SPIN - db 0 - -SquirtleEvosMoves: -; Evolutions - db EV_LEVEL, 16, WARTORTLE - db 0 -; Learnset - db 8, BUBBLE - db 15, WATER_GUN - db 22, BITE - db 28, WITHDRAW - db 35, SKULL_BASH - db 42, HYDRO_PUMP - db 0 - -CharmeleonEvosMoves: -; Evolutions - db EV_LEVEL, 36, CHARIZARD - db 0 -; Learnset - db 9, EMBER - db 15, LEER - db 24, RAGE - db 33, SLASH - db 42, FLAMETHROWER - db 56, FIRE_SPIN - db 0 - -WartortleEvosMoves: -; Evolutions - db EV_LEVEL, 36, BLASTOISE - db 0 -; Learnset - db 8, BUBBLE - db 15, WATER_GUN - db 24, BITE - db 31, WITHDRAW - db 39, SKULL_BASH - db 47, HYDRO_PUMP - db 0 - -CharizardEvosMoves: -; Evolutions - db 0 -; Learnset - db 9, EMBER - db 15, LEER - db 24, RAGE - db 36, SLASH - db 46, FLAMETHROWER - db 55, FIRE_SPIN - db 0 - -MissingNoB5EvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -FossilKabutopsEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -FossilAerodactylEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -MonGhostEvosMoves: -; Evolutions - db 0 -; Learnset - db 0 - -OddishEvosMoves: -; Evolutions - db EV_LEVEL, 21, GLOOM - db 0 -; Learnset - db 15, POISONPOWDER - db 17, STUN_SPORE - db 19, SLEEP_POWDER - db 24, ACID - db 33, PETAL_DANCE - db 46, SOLARBEAM - db 0 - -GloomEvosMoves: -; Evolutions - db EV_ITEM, LEAF_STONE, 1, VILEPLUME - db 0 -; Learnset - db 15, POISONPOWDER - db 17, STUN_SPORE - db 19, SLEEP_POWDER - db 28, ACID - db 38, PETAL_DANCE - db 52, SOLARBEAM - db 0 - -VileplumeEvosMoves: -; Evolutions - db 0 -; Learnset - db 15, POISONPOWDER - db 17, STUN_SPORE - db 19, SLEEP_POWDER - db 0 - -BellsproutEvosMoves: -; Evolutions - db EV_LEVEL, 21, WEEPINBELL - db 0 -; Learnset - db 13, WRAP - db 15, POISONPOWDER - db 18, SLEEP_POWDER - db 21, STUN_SPORE - db 26, ACID - db 33, RAZOR_LEAF - db 42, SLAM - db 0 - -WeepinbellEvosMoves: -; Evolutions - db EV_ITEM, LEAF_STONE, 1, VICTREEBEL - db 0 -; Learnset - db 13, WRAP - db 15, POISONPOWDER - db 18, SLEEP_POWDER - db 23, STUN_SPORE - db 29, ACID - db 38, RAZOR_LEAF - db 49, SLAM - db 0 - -VictreebelEvosMoves: -; Evolutions - db 0 -; Learnset - db 13, WRAP - db 15, POISONPOWDER - db 18, SLEEP_POWDER - db 0 diff --git a/data/hidden_objects.asm b/data/hidden_objects.asm deleted file mode 100755 index 737947a7..00000000 --- a/data/hidden_objects.asm +++ /dev/null @@ -1,853 +0,0 @@ -HiddenObjectMaps: - db REDS_HOUSE_2F - db BLUES_HOUSE - db OAKS_LAB - db VIRIDIAN_POKECENTER - db VIRIDIAN_MART - db VIRIDIAN_SCHOOL_HOUSE - db VIRIDIAN_GYM - db MUSEUM_1F - db PEWTER_GYM - db PEWTER_MART - db PEWTER_POKECENTER - db CERULEAN_POKECENTER - db CERULEAN_GYM - db CERULEAN_MART - db LAVENDER_POKECENTER - db VERMILION_POKECENTER - db VERMILION_GYM - db CELADON_MANSION_2F - db CELADON_POKECENTER - db CELADON_GYM - db GAME_CORNER - db CELADON_HOTEL - db FUCHSIA_POKECENTER - db FUCHSIA_GYM - db CINNABAR_GYM - db CINNABAR_POKECENTER - db SAFFRON_GYM - db MT_MOON_POKECENTER - db ROCK_TUNNEL_POKECENTER - db TRADE_CENTER - db COLOSSEUM - db VIRIDIAN_FOREST - db MT_MOON_B2F - db INDIGO_PLATEAU - db ROUTE_25 - db ROUTE_9 - db SS_ANNE_KITCHEN - db SS_ANNE_B1F_ROOMS - db ROCKET_HIDEOUT_B1F - db ROCKET_HIDEOUT_B3F - db ROCKET_HIDEOUT_B4F - db SAFFRON_POKECENTER - db POKEMON_TOWER_5F - db ROUTE_13 - db SAFARI_ZONE_GATE - db SAFARI_ZONE_WEST - db SILPH_CO_5F - db SILPH_CO_9F - db COPYCATS_HOUSE_2F - db CERULEAN_CAVE_1F - db CERULEAN_CAVE_B1F - db POWER_PLANT - db SEAFOAM_ISLANDS_B2F - db SEAFOAM_ISLANDS_B4F - db POKEMON_MANSION_1F - db POKEMON_MANSION_3F - db ROUTE_23 - db VICTORY_ROAD_2F - db UNUSED_MAP_6F - db BILLS_HOUSE - db VIRIDIAN_CITY - db SAFARI_ZONE_WEST_REST_HOUSE - db SAFARI_ZONE_EAST_REST_HOUSE - db SAFARI_ZONE_NORTH_REST_HOUSE - db ROUTE_15_GATE_2F - db MR_FUJIS_HOUSE - db CELADON_MANSION_ROOF_HOUSE - db FIGHTING_DOJO - db ROUTE_10 - db INDIGO_PLATEAU_LOBBY - db CINNABAR_LAB_FOSSIL_ROOM - db BIKE_SHOP - db ROUTE_11 - db ROUTE_12 - db POKEMON_MANSION_2F - db POKEMON_MANSION_B1F - db SILPH_CO_11F - db ROUTE_17 - db UNDERGROUND_PATH_NORTH_SOUTH - db UNDERGROUND_PATH_WEST_EAST - db CELADON_CITY - db SEAFOAM_ISLANDS_B3F - db VERMILION_CITY - db CERULEAN_CITY - db ROUTE_4 - db $FF - -HiddenObjectPointers: -; each of these pointers is for the corresponding map in HiddenObjectMaps - dw RedsHouse2FHiddenObjects - dw BluesHouseHiddenObjects - dw OaksLabHiddenObjects - dw ViridianPokecenterHiddenObjects - dw ViridianMartHiddenObjects - dw ViridianSchoolHiddenObjects - dw ViridianGymHiddenObjects - dw Museum1FHiddenObjects - dw PewterGymHiddenObjects - dw PewterMartHiddenObjects - dw PewterPokecenterHiddenObjects - dw CeruleanPokecenterHiddenObjects - dw CeruleanGymHiddenObjects - dw CeruleanMartHiddenObjects - dw LavenderPokecenterHiddenObjects - dw VermilionPokecenterHiddenObjects - dw VermilionGymHiddenObjects - dw CeladonMansion2HiddenObjects - dw CeladonPokecenterHiddenObjects - dw CeladonGymHiddenObjects - dw GameCornerHiddenObjects - dw CeladonHotelHiddenObjects - dw FuchsiaPokecenterHiddenObjects - dw FuchsiaGymHiddenObjects - dw CinnabarGymHiddenObjects - dw CinnabarPokecenterHiddenObjects - dw SaffronGymHiddenObjects - dw MtMoonPokecenterHiddenObjects - dw RockTunnelPokecenterHiddenObjects - dw TradeCenterHiddenObjects - dw ColosseumHiddenObjects - dw ViridianForestHiddenObjects - dw MtMoon3HiddenObjects - dw IndigoPlateauHiddenObjects - dw Route25HiddenObjects - dw Route9HiddenObjects - dw SSAnne6HiddenObjects - dw SSAnne10HiddenObjects - dw RocketHideout1HiddenObjects - dw RocketHideout3HiddenObjects - dw RocketHideout4HiddenObjects - dw SaffronPokecenterHiddenObjects - dw PokemonTower5HiddenObjects - dw Route13HiddenObjects - dw SafariZoneEntranceHiddenObjects - dw SafariZoneWestHiddenObjects - dw SilphCo5FHiddenObjects - dw SilphCo9FHiddenObjects - dw CopycatsHouse2FHiddenObjects - dw CeruleanCave1HiddenObjects - dw CeruleanCave3HiddenObjects - dw PowerPlantHiddenObjects - dw SeafoamIslands3HiddenObjects - dw SeafoamIslands5HiddenObjects - dw Mansion1HiddenObjects - dw Mansion3HiddenObjects - dw Route23HiddenObjects - dw VictoryRoad2HiddenObjects - dw Unused6FHiddenObjects - dw BillsHouseHiddenObjects - dw ViridianCityHiddenObjects - dw SafariZoneRestHouse2HiddenObjects - dw SafariZoneRestHouse3HiddenObjects - dw SafariZoneRestHouse4HiddenObjects - dw Route15GateUpstairsHiddenObjects - dw LavenderHouse1HiddenObjects - dw CeladonMansion5HiddenObjects - dw FightingDojoHiddenObjects - dw Route10HiddenObjects - dw IndigoPlateauLobbyHiddenObjects - dw CinnabarLab4HiddenObjects - dw BikeShopHiddenObjects - dw Route11HiddenObjects - dw Route12HiddenObjects - dw Mansion2HiddenObjects - dw Mansion4HiddenObjects - dw SilphCo11FHiddenObjects - dw Route17HiddenObjects - dw UndergroundPathNsHiddenObjects - dw UndergroundPathWeHiddenObjects - dw CeladonCityHiddenObjects - dw SeafoamIslands4HiddenObjects - dw VermilionCityHiddenObjects - dw CeruleanCityHiddenObjects - dw Route4HiddenObjects - -; format: y-coord, x-coord, text id/item id, object routine -TradeCenterHiddenObjects: - db $04,$05,$d0 - db BANK(CableClubRightGameboy) - dw CableClubRightGameboy - db $04,$04,$d0 - db BANK(CableClubLeftGameboy) - dw CableClubLeftGameboy - db $FF -ColosseumHiddenObjects: - db $04,$05,$d0 - db BANK(CableClubRightGameboy) - dw CableClubRightGameboy - db $04,$04,$d0 - db BANK(CableClubLeftGameboy) - dw CableClubLeftGameboy - db $FF -RedsHouse2FHiddenObjects: - db $01,$00,$04 - dbw BANK(OpenRedsPC), OpenRedsPC - db $05,$03,$d0 - dbw BANK(PrintRedSNESText), PrintRedSNESText - db $FF -BluesHouseHiddenObjects: - db $01,$00,$04 - db BANK(PrintBookcaseText) - dw PrintBookcaseText - db $01,$01,$04 - db BANK(PrintBookcaseText) - dw PrintBookcaseText - db $01,$07,$04 - db BANK(PrintBookcaseText) - dw PrintBookcaseText - db $FF -OaksLabHiddenObjects: - db $00,$04,$04 - db BANK(DisplayOakLabLeftPoster) - dw DisplayOakLabLeftPoster - db $00,$05,$04 - db BANK(DisplayOakLabRightPoster) - dw DisplayOakLabRightPoster - db $01,$00,$04 - db BANK(DisplayOakLabEmailText) - dw DisplayOakLabEmailText - db $01,$01,$04 - db BANK(DisplayOakLabEmailText) - dw DisplayOakLabEmailText - db $FF -ViridianPokecenterHiddenObjects: - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -ViridianMartHiddenObjects: - db $FF -ViridianSchoolHiddenObjects: - db $04,$03,(ViridianSchoolNotebook_id - TextPredefs) / 2 + 1 - db Bank(PrintNotebookText) - dw PrintNotebookText - db $00,$03,(ViridianSchoolBlackboard_id - TextPredefs) / 2 + 1 - db BANK(PrintBlackboardLinkCableText) - dw PrintBlackboardLinkCableText - db $FF -ViridianGymHiddenObjects: - db $0f,$0f,$04 - dbw BANK(GymStatues),GymStatues - db $0f,$12,$04 - dbw BANK(GymStatues),GymStatues - db $FF -Museum1FHiddenObjects: - db $03,$02,$04 - dbw BANK(AerodactylFossil), AerodactylFossil - db $06,$02,$04 - dbw BANK(KabutopsFossil), KabutopsFossil - db $FF -PewterGymHiddenObjects: - db $0a,$03,$04 - dbw BANK(GymStatues),GymStatues - db $0a,$06,$04 - dbw BANK(GymStatues),GymStatues - db $FF -PewterMartHiddenObjects: - db $FF -PewterPokecenterHiddenObjects: - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -CeruleanPokecenterHiddenObjects: - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -CeruleanGymHiddenObjects: - db $0b,$03,$04 - dbw BANK(GymStatues),GymStatues - db $0b,$06,$04 - dbw BANK(GymStatues),GymStatues - db $FF -CeruleanMartHiddenObjects: - db $FF -LavenderPokecenterHiddenObjects: - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -VermilionPokecenterHiddenObjects: - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $04,$00,$04 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $FF -VermilionGymHiddenObjects: - db $0e,$03,$04 - dbw BANK(GymStatues), GymStatues - db $0e,$06,$04 - dbw BANK(GymStatues), GymStatues - db $01,$06,$00 - dbw BANK(PrintTrashText), PrintTrashText - db $07,$01,$00 - dbw BANK(GymTrashScript), GymTrashScript - db $09,$01,$01 - dbw BANK(GymTrashScript), GymTrashScript - db $0b,$01,$02 - dbw BANK(GymTrashScript), GymTrashScript - db $07,$03,$03 - dbw BANK(GymTrashScript), GymTrashScript - db $09,$03,$04 - dbw BANK(GymTrashScript), GymTrashScript - db $0b,$03,$05 - dbw BANK(GymTrashScript), GymTrashScript - db $07,$05,$06 - dbw BANK(GymTrashScript), GymTrashScript - db $09,$05,$07 - dbw BANK(GymTrashScript), GymTrashScript - db $0b,$05,$08 - dbw BANK(GymTrashScript), GymTrashScript - db $07,$07,$09 - dbw BANK(GymTrashScript), GymTrashScript - db $09,$07,$0a - dbw BANK(GymTrashScript), GymTrashScript - db $0b,$07,$0b - dbw BANK(GymTrashScript), GymTrashScript - db $07,$09,$0c - dbw BANK(GymTrashScript), GymTrashScript - db $09,$09,$0d - dbw BANK(GymTrashScript), GymTrashScript - db $0b,$09,$0e - dbw BANK(GymTrashScript), GymTrashScript - db $FF -CeladonMansion2HiddenObjects: - db $05,$00,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -CeladonPokecenterHiddenObjects: - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -CeladonGymHiddenObjects: - db $0f,$03,$04 - dbw BANK(GymStatues),GymStatues - db $0f,$06,$04 - dbw BANK(GymStatues),GymStatues - db $FF -GameCornerHiddenObjects: - db $0f,$12,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0e,$12,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0d,$12,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0c,$12,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0b,$12,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0a,$12,$ff ; "Someone's Keys" - dbw BANK(StartSlotMachine), StartSlotMachine - db $0a,$0d,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0b,$0d,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0c,$0d,$fe ; "Out To Lunch" - dbw BANK(StartSlotMachine), StartSlotMachine - db $0d,$0d,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0e,$0d,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0f,$0d,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0f,$0c,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0e,$0c,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0d,$0c,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0c,$0c,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0b,$0c,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0a,$0c,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0a,$07,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0b,$07,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0c,$07,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0d,$07,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0e,$07,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0f,$07,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0f,$06,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0e,$06,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0d,$06,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0c,$06,$fd ; "Out Of Order" - dbw BANK(StartSlotMachine), StartSlotMachine - db $0b,$06,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0a,$06,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0a,$01,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0b,$01,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0c,$01,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0d,$01,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0e,$01,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $0f,$01,$d0 - dbw BANK(StartSlotMachine), StartSlotMachine - db $08,$00,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $10,$01,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $0b,$03,COIN+20 - dbw BANK(HiddenCoins),HiddenCoins - db $0e,$03,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $0c,$04,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $0c,$09,COIN+20 - dbw BANK(HiddenCoins),HiddenCoins - db $0f,$09,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $0e,$10,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $10,$0a,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $07,$0b,COIN+40 - dbw BANK(HiddenCoins),HiddenCoins - db $08,$0f,COIN+100 - dbw BANK(HiddenCoins),HiddenCoins - db $0f,$0c,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $FF -CeladonHotelHiddenObjects: - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $FF -FuchsiaPokecenterHiddenObjects: - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $04,$00,$04 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $FF -FuchsiaGymHiddenObjects: - db $0f,$03,$04 - dbw BANK(GymStatues),GymStatues - db $0f,$06,$04 - dbw BANK(GymStatues),GymStatues - db $FF -CinnabarGymHiddenObjects: - db $0d,$11,$04 - dbw BANK(GymStatues),GymStatues - db $07,$0f,$01 - db Bank(PrintCinnabarQuiz) - dw PrintCinnabarQuiz - db $01,$0a,$12 - db Bank(PrintCinnabarQuiz) - dw PrintCinnabarQuiz - db $07,$09,$13 - db Bank(PrintCinnabarQuiz) - dw PrintCinnabarQuiz - db $0d,$09,$14 - db Bank(PrintCinnabarQuiz) - dw PrintCinnabarQuiz - db $0d,$01,$05 - db Bank(PrintCinnabarQuiz) - dw PrintCinnabarQuiz - db $07,$01,$16 - db Bank(PrintCinnabarQuiz) - dw PrintCinnabarQuiz - db $FF -CinnabarPokecenterHiddenObjects: - db $04,$00,$04 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -SaffronGymHiddenObjects: - db $0f,$09,$04 - dbw BANK(GymStatues),GymStatues - db $FF -MtMoonPokecenterHiddenObjects: - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -RockTunnelPokecenterHiddenObjects: - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -ViridianForestHiddenObjects: - db $12,$01,POTION - dbw BANK(HiddenItems),HiddenItems - db $2a,$10,ANTIDOTE - dbw BANK(HiddenItems),HiddenItems - db $FF -MtMoon3HiddenObjects: - db $0c,$12,MOON_STONE - dbw BANK(HiddenItems),HiddenItems - db $09,$21,ETHER - dbw BANK(HiddenItems),HiddenItems - db $FF -IndigoPlateauHiddenObjects: - db $0d,$08,$ff - db BANK(PrintIndigoPlateauHQText) - dw PrintIndigoPlateauHQText - db $0d,$0b,$00 - db BANK(PrintIndigoPlateauHQText) - dw PrintIndigoPlateauHQText - db $FF -Route25HiddenObjects: - db $03,$26,ETHER - dbw BANK(HiddenItems),HiddenItems - db $01,$0a,ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -Route9HiddenObjects: - db $07,$0e,ETHER - dbw BANK(HiddenItems),HiddenItems - db $FF -SSAnne6HiddenObjects: - db $05,$0d,$00 - dbw BANK(PrintTrashText), PrintTrashText - db $07,$0d,$00 - dbw BANK(PrintTrashText), PrintTrashText - db $09,$0d,GREAT_BALL - dbw BANK(HiddenItems),HiddenItems - db $FF -SSAnne10HiddenObjects: - db $01,$03,HYPER_POTION - dbw BANK(HiddenItems),HiddenItems - db $FF -Route10HiddenObjects: - db $11,$09,SUPER_POTION - dbw BANK(HiddenItems),HiddenItems - db $35,$10,MAX_ETHER - dbw BANK(HiddenItems),HiddenItems - db $FF -RocketHideout1HiddenObjects: - db $0f,$15,PP_UP - dbw BANK(HiddenItems),HiddenItems - db $FF -RocketHideout3HiddenObjects: - db $11,$1b,NUGGET - dbw BANK(HiddenItems),HiddenItems - db $FF -RocketHideout4HiddenObjects: - db $01,$19,SUPER_POTION - dbw BANK(HiddenItems),HiddenItems - db $FF -SaffronPokecenterHiddenObjects: - db $04,$00,$04 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -PokemonTower5HiddenObjects: - db $0c,$04,ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -Route13HiddenObjects: - db $0e,$01,PP_UP - dbw BANK(HiddenItems),HiddenItems - db $0d,$10,CALCIUM - dbw BANK(HiddenItems),HiddenItems - db $FF -SafariZoneEntranceHiddenObjects: - db $01,$0a,NUGGET - dbw BANK(HiddenItems),HiddenItems - db $FF -SafariZoneWestHiddenObjects: - db $05,$06,REVIVE - dbw BANK(HiddenItems),HiddenItems - db $FF -SilphCo5FHiddenObjects: - db $03,$0c,ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -SilphCo9FHiddenObjects: - db $0f,$02,MAX_POTION - dbw BANK(HiddenItems),HiddenItems - db $FF -CopycatsHouse2FHiddenObjects: - db $01,$01,NUGGET - dbw BANK(HiddenItems),HiddenItems - db $FF -CeruleanCave1HiddenObjects: - db $0b,$0e,RARE_CANDY - dbw BANK(HiddenItems),HiddenItems - db $FF -CeruleanCave3HiddenObjects: - db $03,$1b,ULTRA_BALL - dbw BANK(HiddenItems),HiddenItems - db $FF -PowerPlantHiddenObjects: - db $10,$11,MAX_ELIXER - dbw BANK(HiddenItems),HiddenItems - db $01,$0c,PP_UP - dbw BANK(HiddenItems),HiddenItems - db $FF -SeafoamIslands3HiddenObjects: - db $0f,$0f,NUGGET - dbw BANK(HiddenItems),HiddenItems - db $FF -SeafoamIslands5HiddenObjects: - db $11,$19,ULTRA_BALL - dbw BANK(HiddenItems),HiddenItems - db $FF -Mansion1HiddenObjects: - db $10,$08,MOON_STONE - dbw BANK(HiddenItems),HiddenItems - db $05,$02,$04 - db BANK(Mansion1Script_Switches) - dw Mansion1Script_Switches - db $FF -Mansion2HiddenObjects: - db $0b,$02,$04 - db BANK(Mansion2Script_Switches) - dw Mansion2Script_Switches - db $FF -Mansion3HiddenObjects: - db $09,$01,MAX_REVIVE - dbw BANK(HiddenItems),HiddenItems - db $05,$0a,$04 - db BANK(Mansion3Script_Switches) - dw Mansion3Script_Switches - db $FF -Mansion4HiddenObjects: - db $09,$01,RARE_CANDY - dbw BANK(HiddenItems),HiddenItems - db $03,$14,$04 - db BANK(Mansion4Script_Switches) - dw Mansion4Script_Switches - db $19,$12,$04 - db BANK(Mansion4Script_Switches) - dw Mansion4Script_Switches - db $FF -Route23HiddenObjects: - db $2c,$09,FULL_RESTORE - dbw BANK(HiddenItems),HiddenItems - db $46,$13,ULTRA_BALL - dbw BANK(HiddenItems),HiddenItems - db $5a,$08,MAX_ETHER - dbw BANK(HiddenItems),HiddenItems - db $FF -VictoryRoad2HiddenObjects: - db $02,$05,ULTRA_BALL - dbw BANK(HiddenItems),HiddenItems - db $07,$1a,FULL_RESTORE - dbw BANK(HiddenItems),HiddenItems - db $FF -Unused6FHiddenObjects: - db $0b,$0e,MAX_ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -BillsHouseHiddenObjects: - db $04,$01,$04 - dbw BANK(BillsHousePC), BillsHousePC - db $FF -ViridianCityHiddenObjects: - db $04,$0e,POTION - dbw BANK(HiddenItems),HiddenItems - db $FF -SafariZoneRestHouse2HiddenObjects: - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -SafariZoneRestHouse3HiddenObjects: - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -SafariZoneRestHouse4HiddenObjects: - db $04,$00,$08 - db Bank(PrintBenchGuyText) - dw PrintBenchGuyText - db $03,$0d,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -Route15GateUpstairsHiddenObjects: - db $02,$01,$04 - db BANK(Route15GateLeftBinoculars) - dw Route15GateLeftBinoculars - db $FF -LavenderHouse1HiddenObjects: - db $01,$00,$00 - db BANK(PrintMagazinesText) - dw PrintMagazinesText - db $01,$01,$00 - db BANK(PrintMagazinesText) - dw PrintMagazinesText - db $01,$07,$00 - db BANK(PrintMagazinesText) - dw PrintMagazinesText - db $FF -CeladonMansion5HiddenObjects: - db $00,$03,(LinkCableHelp_id - TextPredefs) / 2 + 1 - db BANK(PrintBlackboardLinkCableText) - dw PrintBlackboardLinkCableText - db $00,$04,(LinkCableHelp_id - TextPredefs) / 2 + 1 - db BANK(PrintBlackboardLinkCableText) - dw PrintBlackboardLinkCableText - db $04,$03,(TMNotebook_id - TextPredefs) / 2 + 1 - db Bank(PrintNotebookText) - dw PrintNotebookText - db $FF -FightingDojoHiddenObjects: - db $09,$03,$04 - db BANK(PrintFightingDojoText) - dw PrintFightingDojoText - db $09,$06,$04 - db BANK(PrintFightingDojoText) - dw PrintFightingDojoText - db $00,$04,$04 - db BANK(PrintFightingDojoText2) - dw PrintFightingDojoText2 - db $00,$05,$04 - db BANK(PrintFightingDojoText3) - dw PrintFightingDojoText3 - db $FF -IndigoPlateauLobbyHiddenObjects: - db $07,$0f,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -CinnabarLab4HiddenObjects: - db $04,$00,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $04,$02,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -BikeShopHiddenObjects: - db $00,$01,$d0 - dbw BANK(PrintNewBikeText), PrintNewBikeText - db $01,$02,$d0 - dbw BANK(PrintNewBikeText), PrintNewBikeText - db $02,$01,$d0 - dbw BANK(PrintNewBikeText), PrintNewBikeText - db $02,$03,$d0 - dbw BANK(PrintNewBikeText), PrintNewBikeText - db $04,$00,$d0 - dbw BANK(PrintNewBikeText), PrintNewBikeText - db $05,$01,$d0 - dbw BANK(PrintNewBikeText), PrintNewBikeText - db $FF -Route11HiddenObjects: - db $05,$30,ESCAPE_ROPE - dbw BANK(HiddenItems),HiddenItems - db $FF -Route12HiddenObjects: - db $3f,$02,HYPER_POTION - dbw BANK(HiddenItems),HiddenItems - db $FF -SilphCo11FHiddenObjects: - db $0c,$0a,$04 - db BANK(OpenPokemonCenterPC) - dw OpenPokemonCenterPC - db $FF -Route17HiddenObjects: - db $0e,$0f,RARE_CANDY - dbw BANK(HiddenItems),HiddenItems - db $2d,$08,FULL_RESTORE - dbw BANK(HiddenItems),HiddenItems - db $48,$11,PP_UP - dbw BANK(HiddenItems),HiddenItems - db $5b,$04,MAX_REVIVE - dbw BANK(HiddenItems),HiddenItems - db $79,$08,MAX_ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -UndergroundPathNsHiddenObjects: - db $04,$03,FULL_RESTORE - dbw BANK(HiddenItems),HiddenItems - db $22,$04,X_SPECIAL - dbw BANK(HiddenItems),HiddenItems - db $FF -UndergroundPathWeHiddenObjects: - db $02,$0c,NUGGET - dbw BANK(HiddenItems),HiddenItems - db $05,$15,ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -CeladonCityHiddenObjects: - db $0f,$30,PP_UP - dbw BANK(HiddenItems),HiddenItems - db $FF -SeafoamIslands4HiddenObjects: - db $10,$09,MAX_ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -VermilionCityHiddenObjects: - db $0b,$0e,MAX_ETHER - dbw BANK(HiddenItems),HiddenItems - db $FF -CeruleanCityHiddenObjects: - db $08,$0f,RARE_CANDY - dbw BANK(HiddenItems),HiddenItems - db $FF -Route4HiddenObjects: - db $03,$28,GREAT_BALL - dbw BANK(HiddenItems),HiddenItems - db $FF diff --git a/data/hide_show_data.asm b/data/hide_show_data.asm deleted file mode 100755 index 7f4593ca..00000000 --- a/data/hide_show_data.asm +++ /dev/null @@ -1,577 +0,0 @@ -; data for default hidden/shown -; objects for each map ($00-$F8) - -; Table of 2-Byte pointers, one pointer per map, -; goes up to Map_F7, ends with $FFFF. -; 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 - dw $FFFF - -; 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) - -; These constants come from the bytes for Predef functions: -Hide equ $11 -Show equ $15 - -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 diff --git a/data/hm_moves.asm b/data/hm_moves.asm deleted file mode 100644 index d72eddfe..00000000 --- a/data/hm_moves.asm +++ /dev/null @@ -1,7 +0,0 @@ -HMMoveArray: - db CUT - db FLY - db SURF - db STRENGTH - db FLASH - db -1 diff --git a/data/mon_party_sprite_pointers.asm b/data/icon_pointers.asm index b615798e..b615798e 100644 --- a/data/mon_party_sprite_pointers.asm +++ b/data/icon_pointers.asm diff --git a/data/guard_drink_items.asm b/data/items/guard_drink_items.asm index effef203..effef203 100644 --- a/data/guard_drink_items.asm +++ b/data/items/guard_drink_items.asm diff --git a/data/key_items.asm b/data/items/key_items.asm index afa586af..afa586af 100755 --- a/data/key_items.asm +++ b/data/items/key_items.asm diff --git a/data/mart_inventories.asm b/data/items/marts.asm index 35ae2e9d..35ae2e9d 100755 --- a/data/mart_inventories.asm +++ b/data/items/marts.asm diff --git a/text/item_names.asm b/data/items/names.asm index 0c07fe5d..0c07fe5d 100755 --- a/text/item_names.asm +++ b/data/items/names.asm diff --git a/data/item_prices.asm b/data/items/prices.asm index f3d8f76b..f3d8f76b 100755 --- a/data/item_prices.asm +++ b/data/items/prices.asm diff --git a/data/tm_prices.asm b/data/items/tm_prices.asm index ccc8be05..ccc8be05 100755 --- a/data/tm_prices.asm +++ b/data/items/tm_prices.asm diff --git a/data/overworld_items.asm b/data/items/use_overworld.asm index c2c244fe..c2c244fe 100644 --- a/data/overworld_items.asm +++ b/data/items/use_overworld.asm diff --git a/data/party_items.asm b/data/items/use_party.asm index 0126ed5e..0126ed5e 100644 --- a/data/party_items.asm +++ b/data/items/use_party.asm diff --git a/data/vending_prices.asm b/data/items/vending_prices.asm index 9a473cc9..9a473cc9 100644 --- a/data/vending_prices.asm +++ b/data/items/vending_prices.asm diff --git a/data/mapHeaders/AgathasRoom.asm b/data/mapHeaders/AgathasRoom.asm deleted file mode 100755 index 6e31225c..00000000 --- a/data/mapHeaders/AgathasRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -AgathasRoom_h:: - db CEMETERY ; tileset - db AGATHAS_ROOM_HEIGHT, AGATHAS_ROOM_WIDTH ; dimensions (y, x) - dw AgathasRoom_Blocks ; blocks - dw AgathasRoom_TextPointers ; texts - dw AgathasRoom_Script ; scripts - db 0 ; connections - dw AgathasRoom_Object ; objects diff --git a/data/mapHeaders/BikeShop.asm b/data/mapHeaders/BikeShop.asm deleted file mode 100755 index ea6f8d60..00000000 --- a/data/mapHeaders/BikeShop.asm +++ /dev/null @@ -1,8 +0,0 @@ -BikeShop_h:: - db CLUB ; tileset - db BIKE_SHOP_HEIGHT, BIKE_SHOP_WIDTH ; dimensions (y, x) - dw BikeShop_Blocks ; blocks - dw BikeShop_TextPointers ; texts - dw BikeShop_Script ; scripts - db 0 ; connections - dw BikeShop_Object ; objects diff --git a/data/mapHeaders/BillsHouse.asm b/data/mapHeaders/BillsHouse.asm deleted file mode 100755 index e58cbd5b..00000000 --- a/data/mapHeaders/BillsHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -BillsHouse_h:: - db INTERIOR ; tileset - db BILLS_HOUSE_HEIGHT, BILLS_HOUSE_WIDTH ; dimensions (y, x) - dw BillsHouse_Blocks ; blocks - dw BillsHouse_TextPointers ; texts - dw BillsHouse_Script ; scripts - db 0 ; connections - dw BillsHouse_Object ; objects diff --git a/data/mapHeaders/BluesHouse.asm b/data/mapHeaders/BluesHouse.asm deleted file mode 100755 index bc9ed3de..00000000 --- a/data/mapHeaders/BluesHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -BluesHouse_h:: - db HOUSE ; tileset - db BLUES_HOUSE_HEIGHT, BLUES_HOUSE_WIDTH ; dimensions (y, x) - dw BluesHouse_Blocks ; blocks - dw BluesHouse_TextPointers ; texts - dw BluesHouse_Script ; scripts - db 0 ; connections - dw BluesHouse_Object ; objects diff --git a/data/mapHeaders/BrunosRoom.asm b/data/mapHeaders/BrunosRoom.asm deleted file mode 100755 index 03398603..00000000 --- a/data/mapHeaders/BrunosRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -BrunosRoom_h:: - db GYM ; tileset - db BRUNOS_ROOM_HEIGHT, BRUNOS_ROOM_WIDTH ; dimensions (y, x) - dw BrunosRoom_Blocks ; blocks - dw BrunosRoom_TextPointers ; texts - dw BrunosRoom_Script ; scripts - db 0 ; connections - dw BrunosRoom_Object ; objects diff --git a/data/mapHeaders/CeladonChiefHouse.asm b/data/mapHeaders/CeladonChiefHouse.asm deleted file mode 100755 index e29f722f..00000000 --- a/data/mapHeaders/CeladonChiefHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonChiefHouse_h:: - db MANSION ; tileset - db CELADON_CHIEF_HOUSE_HEIGHT, CELADON_CHIEF_HOUSE_WIDTH ; dimensions (y, x) - dw CeladonChiefHouse_Blocks ; blocks - dw CeladonChiefHouse_TextPointers ; texts - dw CeladonChiefHouse_Script ; scripts - db 0 ; connections - dw CeladonChiefHouse_Object ; objects diff --git a/data/mapHeaders/CeladonCity.asm b/data/mapHeaders/CeladonCity.asm deleted file mode 100755 index f2ce1831..00000000 --- a/data/mapHeaders/CeladonCity.asm +++ /dev/null @@ -1,10 +0,0 @@ -CeladonCity_h:: - db OVERWORLD ; tileset - db CELADON_CITY_HEIGHT, CELADON_CITY_WIDTH ; dimensions (y, x) - dw CeladonCity_Blocks ; blocks - dw CeladonCity_TextPointers ; texts - dw CeladonCity_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION CELADON_CITY, ROUTE_16, 4, 0, Route16_Blocks - EAST_MAP_CONNECTION CELADON_CITY, ROUTE_7, 4, 0, Route7_Blocks, 1 - dw CeladonCity_Object ; objects diff --git a/data/mapHeaders/CeladonDiner.asm b/data/mapHeaders/CeladonDiner.asm deleted file mode 100755 index 14501d83..00000000 --- a/data/mapHeaders/CeladonDiner.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonDiner_h:: - db LOBBY ; tileset - db CELADON_DINER_HEIGHT, CELADON_DINER_WIDTH ; dimensions (y, x) - dw CeladonDiner_Blocks ; blocks - dw CeladonDiner_TextPointers ; texts - dw CeladonDiner_Script ; scripts - db 0 ; connections - dw CeladonDiner_Object ; objects diff --git a/data/mapHeaders/CeladonGym.asm b/data/mapHeaders/CeladonGym.asm deleted file mode 100755 index b64c5e19..00000000 --- a/data/mapHeaders/CeladonGym.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonGym_h:: - db GYM ; tileset - db CELADON_GYM_HEIGHT, CELADON_GYM_WIDTH ; dimensions (y, x) - dw CeladonGym_Blocks ; blocks - dw CeladonGym_TextPointers ; texts - dw CeladonGym_Script ; scripts - db 0 ; connections - dw CeladonGym_Object ; objects diff --git a/data/mapHeaders/CeladonHotel.asm b/data/mapHeaders/CeladonHotel.asm deleted file mode 100755 index ecc943c2..00000000 --- a/data/mapHeaders/CeladonHotel.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonHotel_h:: - db POKECENTER ; tileset - db CELADON_HOTEL_HEIGHT, CELADON_HOTEL_WIDTH ; dimensions (y, x) - dw CeladonHotel_Blocks ; blocks - dw CeladonHotel_TextPointers ; texts - dw CeladonHotel_Script ; scripts - db 0 ; connections - dw CeladonHotel_Object ; objects diff --git a/data/mapHeaders/CeladonMansion1F.asm b/data/mapHeaders/CeladonMansion1F.asm deleted file mode 100755 index b13f76a7..00000000 --- a/data/mapHeaders/CeladonMansion1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMansion1F_h:: - db MANSION ; tileset - db CELADON_MANSION_1F_HEIGHT, CELADON_MANSION_1F_WIDTH ; dimensions (y, x) - dw CeladonMansion1F_Blocks ; blocks - dw CeladonMansion1F_TextPointers ; texts - dw CeladonMansion1F_Script ; scripts - db 0 ; connections - dw CeladonMansion1F_Object ; objects diff --git a/data/mapHeaders/CeladonMansion2F.asm b/data/mapHeaders/CeladonMansion2F.asm deleted file mode 100755 index 33493510..00000000 --- a/data/mapHeaders/CeladonMansion2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMansion2F_h:: - db MANSION ; tileset - db CELADON_MANSION_2F_HEIGHT, CELADON_MANSION_2F_WIDTH ; dimensions (y, x) - dw CeladonMansion2F_Blocks ; blocks - dw CeladonMansion2F_TextPointers ; texts - dw CeladonMansion2F_Script ; scripts - db 0 ; connections - dw CeladonMansion2F_Object ; objects diff --git a/data/mapHeaders/CeladonMansion3F.asm b/data/mapHeaders/CeladonMansion3F.asm deleted file mode 100755 index 89d0cfe6..00000000 --- a/data/mapHeaders/CeladonMansion3F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMansion3F_h:: - db MANSION ; tileset - db CELADON_MANSION_3F_HEIGHT, CELADON_MANSION_3F_WIDTH ; dimensions (y, x) - dw CeladonMansion3F_Blocks ; blocks - dw CeladonMansion3F_TextPointers ; texts - dw CeladonMansion3F_Script ; scripts - db 0 ; connections - dw CeladonMansion3F_Object ; objects diff --git a/data/mapHeaders/CeladonMansionRoof.asm b/data/mapHeaders/CeladonMansionRoof.asm deleted file mode 100755 index 7f7fa4ac..00000000 --- a/data/mapHeaders/CeladonMansionRoof.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMansionRoof_h:: - db MANSION ; tileset - db CELADON_MANSION_ROOF_HEIGHT, CELADON_MANSION_ROOF_WIDTH ; dimensions (y, x) - dw CeladonMansionRoof_Blocks ; blocks - dw CeladonMansionRoof_TextPointers ; texts - dw CeladonMansionRoof_Script ; scripts - db 0 ; connections - dw CeladonMansionRoof_Object ; objects diff --git a/data/mapHeaders/CeladonMansionRoofHouse.asm b/data/mapHeaders/CeladonMansionRoofHouse.asm deleted file mode 100755 index de6771b7..00000000 --- a/data/mapHeaders/CeladonMansionRoofHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMansionRoofHouse_h:: - db HOUSE ; tileset - db CELADON_MANSION_ROOF_HOUSE_HEIGHT, CELADON_MANSION_ROOF_HOUSE_WIDTH ; dimensions (y, x) - dw CeladonMansionRoofHouse_Blocks ; blocks - dw CeladonMansionRoofHouse_TextPointers ; texts - dw CeladonMansionRoofHouse_Script ; scripts - db 0 ; connections - dw CeladonMansionRoofHouse_Object ; objects diff --git a/data/mapHeaders/CeladonMart1F.asm b/data/mapHeaders/CeladonMart1F.asm deleted file mode 100755 index d392f8a7..00000000 --- a/data/mapHeaders/CeladonMart1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMart1F_h:: - db LOBBY ; tileset - db CELADON_MART_1F_HEIGHT, CELADON_MART_1F_WIDTH ; dimensions (y, x) - dw CeladonMart1F_Blocks ; blocks - dw CeladonMart1F_TextPointers ; texts - dw CeladonMart1F_Script ; scripts - db 0 ; connections - dw CeladonMart1F_Object ; objects diff --git a/data/mapHeaders/CeladonMart2F.asm b/data/mapHeaders/CeladonMart2F.asm deleted file mode 100755 index ff39a08c..00000000 --- a/data/mapHeaders/CeladonMart2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMart2F_h:: - db LOBBY ; tileset - db CELADON_MART_2F_HEIGHT, CELADON_MART_2F_WIDTH ; dimensions (y, x) - dw CeladonMart2F_Blocks ; blocks - dw CeladonMart2F_TextPointers ; texts - dw CeladonMart2F_Script ; scripts - db 0 ; connections - dw CeladonMart2F_Object ; objects diff --git a/data/mapHeaders/CeladonMart3F.asm b/data/mapHeaders/CeladonMart3F.asm deleted file mode 100755 index 2bdd384f..00000000 --- a/data/mapHeaders/CeladonMart3F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMart3F_h:: - db LOBBY ; tileset - db CELADON_MART_3F_HEIGHT, CELADON_MART_3F_WIDTH ; dimensions (y, x) - dw CeladonMart3F_Blocks ; blocks - dw CeladonMart3F_TextPointers ; texts - dw CeladonMart3F_Script ; scripts - db 0 ; connections - dw CeladonMart3F_Object ; objects diff --git a/data/mapHeaders/CeladonMart4F.asm b/data/mapHeaders/CeladonMart4F.asm deleted file mode 100755 index d03bde7a..00000000 --- a/data/mapHeaders/CeladonMart4F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMart4F_h:: - db LOBBY ; tileset - db CELADON_MART_4F_HEIGHT, CELADON_MART_4F_WIDTH ; dimensions (y, x) - dw CeladonMart4F_Blocks ; blocks - dw CeladonMart4F_TextPointers ; texts - dw CeladonMart4F_Script ; scripts - db 0 ; connections - dw CeladonMart4F_Object ; objects diff --git a/data/mapHeaders/CeladonMart5F.asm b/data/mapHeaders/CeladonMart5F.asm deleted file mode 100755 index e0f9c436..00000000 --- a/data/mapHeaders/CeladonMart5F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMart5F_h:: - db LOBBY ; tileset - db CELADON_MART_5F_HEIGHT, CELADON_MART_5F_WIDTH ; dimensions (y, x) - dw CeladonMart5F_Blocks ; blocks - dw CeladonMart5F_TextPointers ; texts - dw CeladonMart5F_Script ; scripts - db 0 ; connections - dw CeladonMart5F_Object ; objects diff --git a/data/mapHeaders/CeladonMartElevator.asm b/data/mapHeaders/CeladonMartElevator.asm deleted file mode 100755 index 391f65fd..00000000 --- a/data/mapHeaders/CeladonMartElevator.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMartElevator_h:: - db LOBBY ; tileset - db CELADON_MART_ELEVATOR_HEIGHT, CELADON_MART_ELEVATOR_WIDTH ; dimensions (y, x) - dw CeladonMartElevator_Blocks ; blocks - dw CeladonMartElevator_TextPointers ; texts - dw CeladonMartElevator_Script ; scripts - db 0 ; connections - dw CeladonMartElevator_Object ; objects diff --git a/data/mapHeaders/CeladonMartRoof.asm b/data/mapHeaders/CeladonMartRoof.asm deleted file mode 100755 index 38f863f1..00000000 --- a/data/mapHeaders/CeladonMartRoof.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonMartRoof_h:: - db LOBBY ; tileset - db CELADON_MART_ROOF_HEIGHT, CELADON_MART_ROOF_WIDTH ; dimensions (y, x) - dw CeladonMartRoof_Blocks ; blocks - dw CeladonMartRoof_TextPointers ; texts - dw CeladonMartRoof_Script ; scripts - db 0 ; connections - dw CeladonMartRoof_Object ; objects diff --git a/data/mapHeaders/CeladonPokecenter.asm b/data/mapHeaders/CeladonPokecenter.asm deleted file mode 100755 index 5b945d50..00000000 --- a/data/mapHeaders/CeladonPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeladonPokecenter_h:: - db POKECENTER ; tileset - db CELADON_POKECENTER_HEIGHT, CELADON_POKECENTER_WIDTH ; dimensions (y, x) - dw CeladonPokecenter_Blocks ; blocks - dw CeladonPokecenter_TextPointers ; texts - dw CeladonPokecenter_Script ; scripts - db 0 ; connections - dw CeladonPokecenter_Object ; objects diff --git a/data/mapHeaders/CeruleanBadgeHouse.asm b/data/mapHeaders/CeruleanBadgeHouse.asm deleted file mode 100755 index eaf77bb7..00000000 --- a/data/mapHeaders/CeruleanBadgeHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeruleanBadgeHouse_h:: - db SHIP ; tileset - db CERULEAN_BADGE_HOUSE_HEIGHT, CERULEAN_BADGE_HOUSE_WIDTH ; dimensions (y, x) - dw CeruleanBadgeHouse_Blocks ; blocks - dw CeruleanBadgeHouse_TextPointers ; texts - dw CeruleanBadgeHouse_Script ; scripts - db 0 ; connections - dw CeruleanBadgeHouse_Object ; objects diff --git a/data/mapHeaders/CeruleanCave1F.asm b/data/mapHeaders/CeruleanCave1F.asm deleted file mode 100755 index 0ab0ecf0..00000000 --- a/data/mapHeaders/CeruleanCave1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeruleanCave1F_h:: - db CAVERN ; tileset - db CERULEAN_CAVE_1F_HEIGHT, CERULEAN_CAVE_1F_WIDTH ; dimensions (y, x) - dw CeruleanCave1F_Blocks ; blocks - dw CeruleanCave1F_TextPointers ; texts - dw CeruleanCave1F_Script ; scripts - db 0 ; connections - dw CeruleanCave1F_Object ; objects diff --git a/data/mapHeaders/CeruleanCave2F.asm b/data/mapHeaders/CeruleanCave2F.asm deleted file mode 100755 index 4002e73a..00000000 --- a/data/mapHeaders/CeruleanCave2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeruleanCave2F_h:: - db CAVERN ; tileset - db CERULEAN_CAVE_2F_HEIGHT, CERULEAN_CAVE_2F_WIDTH ; dimensions (y, x) - dw CeruleanCave2F_Blocks ; blocks - dw CeruleanCave2F_TextPointers ; texts - dw CeruleanCave2F_Script ; scripts - db 0 ; connections - dw CeruleanCave2F_Object ; objects diff --git a/data/mapHeaders/CeruleanCaveB1F.asm b/data/mapHeaders/CeruleanCaveB1F.asm deleted file mode 100755 index e3e9980f..00000000 --- a/data/mapHeaders/CeruleanCaveB1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeruleanCaveB1F_h:: - db CAVERN ; tileset - db CERULEAN_CAVE_B1F_HEIGHT, CERULEAN_CAVE_B1F_WIDTH ; dimensions (y, x) - dw CeruleanCaveB1F_Blocks ; blocks - dw CeruleanCaveB1F_TextPointers ; texts - dw CeruleanCaveB1F_Script ; scripts - db 0 ; connections - dw CeruleanCaveB1F_Object ; objects diff --git a/data/mapHeaders/CeruleanCity.asm b/data/mapHeaders/CeruleanCity.asm deleted file mode 100755 index 23206c0a..00000000 --- a/data/mapHeaders/CeruleanCity.asm +++ /dev/null @@ -1,12 +0,0 @@ -CeruleanCity_h:: - db OVERWORLD ; tileset - db CERULEAN_CITY_HEIGHT, CERULEAN_CITY_WIDTH ; dimensions (y, x) - dw CeruleanCity_Blocks ; blocks - dw CeruleanCity_TextPointers ; texts - dw CeruleanCity_Script ; scripts - db NORTH | SOUTH | WEST | EAST ; connections - NORTH_MAP_CONNECTION CERULEAN_CITY, ROUTE_24, 5, 0, Route24_Blocks - SOUTH_MAP_CONNECTION CERULEAN_CITY, ROUTE_5, 5, 0, Route5_Blocks, 1 - WEST_MAP_CONNECTION CERULEAN_CITY, ROUTE_4, 4, 0, Route4_Blocks - EAST_MAP_CONNECTION CERULEAN_CITY, ROUTE_9, 4, 0, Route9_Blocks - dw CeruleanCity_Object ; objects diff --git a/data/mapHeaders/CeruleanGym.asm b/data/mapHeaders/CeruleanGym.asm deleted file mode 100755 index 32bb563f..00000000 --- a/data/mapHeaders/CeruleanGym.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeruleanGym_h:: - db GYM ; tileset - db CERULEAN_GYM_HEIGHT, CERULEAN_GYM_WIDTH ; dimensions (y, x) - dw CeruleanGym_Blocks ; blocks - dw CeruleanGym_TextPointers ; texts - dw CeruleanGym_Script ; scripts - db 0 ; connections - dw CeruleanGym_Object ; objects diff --git a/data/mapHeaders/CeruleanMart.asm b/data/mapHeaders/CeruleanMart.asm deleted file mode 100755 index 106b664c..00000000 --- a/data/mapHeaders/CeruleanMart.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeruleanMart_h:: - db MART ; tileset - db CERULEAN_MART_HEIGHT, CERULEAN_MART_WIDTH ; dimensions (y, x) - dw CeruleanMart_Blocks ; blocks - dw CeruleanMart_TextPointers ; texts - dw CeruleanMart_Script ; scripts - db 0 ; connections - dw CeruleanMart_Object ; objects diff --git a/data/mapHeaders/CeruleanPokecenter.asm b/data/mapHeaders/CeruleanPokecenter.asm deleted file mode 100755 index d81c0183..00000000 --- a/data/mapHeaders/CeruleanPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeruleanPokecenter_h:: - db POKECENTER ; tileset - db CERULEAN_POKECENTER_HEIGHT, CERULEAN_POKECENTER_WIDTH ; dimensions (y, x) - dw CeruleanPokecenter_Blocks ; blocks - dw CeruleanPokecenter_TextPointers ; texts - dw CeruleanPokecenter_Script ; scripts - db 0 ; connections - dw CeruleanPokecenter_Object ; objects diff --git a/data/mapHeaders/CeruleanTradeHouse.asm b/data/mapHeaders/CeruleanTradeHouse.asm deleted file mode 100755 index 171586fa..00000000 --- a/data/mapHeaders/CeruleanTradeHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeruleanTradeHouse_h:: - db HOUSE ; tileset - db CERULEAN_TRADE_HOUSE_HEIGHT, CERULEAN_TRADE_HOUSE_WIDTH ; dimensions (y, x) - dw CeruleanTradeHouse_Blocks ; blocks - dw CeruleanTradeHouse_TextPointers ; texts - dw CeruleanTradeHouse_Script ; scripts - db 0 ; connections - dw CeruleanTradeHouse_Object ; objects diff --git a/data/mapHeaders/CeruleanTrashedHouse.asm b/data/mapHeaders/CeruleanTrashedHouse.asm deleted file mode 100755 index b9d53cdb..00000000 --- a/data/mapHeaders/CeruleanTrashedHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -CeruleanTrashedHouse_h:: - db HOUSE ; tileset - db CERULEAN_TRASHED_HOUSE_HEIGHT, CERULEAN_TRASHED_HOUSE_WIDTH ; dimensions (y, x) - dw CeruleanTrashedHouse_Blocks ; blocks - dw CeruleanTrashedHouse_TextPointers ; texts - dw CeruleanTrashedHouse_Script ; scripts - db 0 ; connections - dw CeruleanTrashedHouse_Object ; objects diff --git a/data/mapHeaders/ChampionsRoom.asm b/data/mapHeaders/ChampionsRoom.asm deleted file mode 100755 index c6794804..00000000 --- a/data/mapHeaders/ChampionsRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -ChampionsRoom_h:: - db GYM ; tileset - db CHAMPIONS_ROOM_HEIGHT, CHAMPIONS_ROOM_WIDTH ; dimensions (y, x) - dw ChampionsRoom_Blocks ; blocks - dw ChampionsRoom_TextPointers ; texts - dw ChampionsRoom_Script ; scripts - db $0 ; connections - dw ChampionsRoom_Object ; objects diff --git a/data/mapHeaders/CinnabarGym.asm b/data/mapHeaders/CinnabarGym.asm deleted file mode 100755 index 96154af7..00000000 --- a/data/mapHeaders/CinnabarGym.asm +++ /dev/null @@ -1,8 +0,0 @@ -CinnabarGym_h:: - db FACILITY ; tileset - db CINNABAR_GYM_HEIGHT, CINNABAR_GYM_WIDTH ; dimensions (y, x) - dw CinnabarGym_Blocks ; blocks - dw CinnabarGym_TextPointers ; texts - dw CinnabarGym_Script ; scripts - db 0 ; connections - dw CinnabarGym_Object ; objects diff --git a/data/mapHeaders/CinnabarIsland.asm b/data/mapHeaders/CinnabarIsland.asm deleted file mode 100755 index 3489fe3c..00000000 --- a/data/mapHeaders/CinnabarIsland.asm +++ /dev/null @@ -1,10 +0,0 @@ -CinnabarIsland_h:: - db OVERWORLD ; tileset - db CINNABAR_ISLAND_HEIGHT, CINNABAR_ISLAND_WIDTH ; dimensions (y, x) - dw CinnabarIsland_Blocks ; blocks - dw CinnabarIsland_TextPointers ; texts - dw CinnabarIsland_Script ; scripts - db NORTH | EAST ; connections - NORTH_MAP_CONNECTION CINNABAR_ISLAND, ROUTE_21, 0, 0, Route21_Blocks - EAST_MAP_CONNECTION CINNABAR_ISLAND, ROUTE_20, 0, 0, Route20_Blocks - dw CinnabarIsland_Object ; objects diff --git a/data/mapHeaders/CinnabarLab.asm b/data/mapHeaders/CinnabarLab.asm deleted file mode 100755 index ffa3a037..00000000 --- a/data/mapHeaders/CinnabarLab.asm +++ /dev/null @@ -1,8 +0,0 @@ -CinnabarLab_h:: - db LAB ; tileset - db CINNABAR_LAB_HEIGHT, CINNABAR_LAB_WIDTH ; dimensions (y, x) - dw CinnabarLab_Blocks ; blocks - dw CinnabarLab_TextPointers ; texts - dw CinnabarLab_Script ; scripts - db 0 ; connections - dw CinnabarLab_Object ; objects diff --git a/data/mapHeaders/CinnabarLabFossilRoom.asm b/data/mapHeaders/CinnabarLabFossilRoom.asm deleted file mode 100755 index 8e833f70..00000000 --- a/data/mapHeaders/CinnabarLabFossilRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -CinnabarLabFossilRoom_h:: - db LAB ; tileset - db CINNABAR_LAB_FOSSIL_ROOM_HEIGHT, CINNABAR_LAB_FOSSIL_ROOM_WIDTH ; dimensions (y, x) - dw CinnabarLabFossilRoom_Blocks ; blocks - dw CinnabarLabFossilRoom_TextPointers ; texts - dw CinnabarLabFossilRoom_Script ; scripts - db 0 ; connections - dw CinnabarLabFossilRoom_Object ; objects diff --git a/data/mapHeaders/CinnabarLabMetronomeRoom.asm b/data/mapHeaders/CinnabarLabMetronomeRoom.asm deleted file mode 100755 index 35169504..00000000 --- a/data/mapHeaders/CinnabarLabMetronomeRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -CinnabarLabMetronomeRoom_h:: - db LAB ; tileset - db CINNABAR_LAB_METRONOME_ROOM_HEIGHT, CINNABAR_LAB_METRONOME_ROOM_WIDTH ; dimensions (y, x) - dw CinnabarLabMetronomeRoom_Blocks ; blocks - dw CinnabarLabMetronomeRoom_TextPointers ; texts - dw CinnabarLabMetronomeRoom_Script ; scripts - db 0 ; connections - dw CinnabarLabMetronomeRoom_Object ; objects diff --git a/data/mapHeaders/CinnabarLabTradeRoom.asm b/data/mapHeaders/CinnabarLabTradeRoom.asm deleted file mode 100755 index a18e6eed..00000000 --- a/data/mapHeaders/CinnabarLabTradeRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -CinnabarLabTradeRoom_h:: - db LAB ; tileset - db CINNABAR_LAB_TRADE_ROOM_HEIGHT, CINNABAR_LAB_TRADE_ROOM_WIDTH ; dimensions (y, x) - dw CinnabarLabTradeRoom_Blocks ; blocks - dw CinnabarLabTradeRoom_TextPointers ; texts - dw CinnabarLabTradeRoom_Script ; scripts - db 0 ; connections - dw CinnabarLabTradeRoom_Object ; objects diff --git a/data/mapHeaders/CinnabarMart.asm b/data/mapHeaders/CinnabarMart.asm deleted file mode 100755 index aac1c69f..00000000 --- a/data/mapHeaders/CinnabarMart.asm +++ /dev/null @@ -1,8 +0,0 @@ -CinnabarMart_h:: - db MART ; tileset - db CINNABAR_MART_HEIGHT, CINNABAR_MART_WIDTH ; dimensions (y, x) - dw CinnabarMart_Blocks ; blocks - dw CinnabarMart_TextPointers ; texts - dw CinnabarMart_Script ; scripts - db 0 ; connections - dw CinnabarMart_Object ; objects diff --git a/data/mapHeaders/CinnabarPokecenter.asm b/data/mapHeaders/CinnabarPokecenter.asm deleted file mode 100755 index d9ade14c..00000000 --- a/data/mapHeaders/CinnabarPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -CinnabarPokecenter_h:: - db POKECENTER ; tileset - db CINNABAR_POKECENTER_HEIGHT, CINNABAR_POKECENTER_WIDTH ; dimensions (y, x) - dw CinnabarPokecenter_Blocks ; blocks - dw CinnabarPokecenter_TextPointers ; texts - dw CinnabarPokecenter_Script ; scripts - db 0 ; connections - dw CinnabarPokecenter_Object ; objects diff --git a/data/mapHeaders/Colosseum.asm b/data/mapHeaders/Colosseum.asm deleted file mode 100755 index 3375e0f1..00000000 --- a/data/mapHeaders/Colosseum.asm +++ /dev/null @@ -1,8 +0,0 @@ -Colosseum_h:: - db CLUB ; tileset - db COLOSSEUM_HEIGHT, COLOSSEUM_WIDTH ; dimensions (y, x) - dw Colosseum_Blocks ; blocks - dw Colosseum_TextPointers ; texts - dw Colosseum_Script ; scripts - db 0 ; connections - dw Colosseum_Object ; objects diff --git a/data/mapHeaders/CopycatsHouse1F.asm b/data/mapHeaders/CopycatsHouse1F.asm deleted file mode 100755 index b68728ae..00000000 --- a/data/mapHeaders/CopycatsHouse1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CopycatsHouse1F_h:: - db REDS_HOUSE_1 ; tileset - db COPYCATS_HOUSE_1F_HEIGHT, COPYCATS_HOUSE_1F_WIDTH ; dimensions (y, x) - dw CopycatsHouse1F_Blocks ; blocks - dw CopycatsHouse1F_TextPointers ; texts - dw CopycatsHouse1F_Script ; scripts - db 0 ; connections - dw CopycatsHouse1F_Object ; objects diff --git a/data/mapHeaders/CopycatsHouse2F.asm b/data/mapHeaders/CopycatsHouse2F.asm deleted file mode 100755 index 1c7d9af9..00000000 --- a/data/mapHeaders/CopycatsHouse2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -CopycatsHouse2F_h:: - db REDS_HOUSE_2 ; tileset - db COPYCATS_HOUSE_2F_HEIGHT, COPYCATS_HOUSE_2F_WIDTH ; dimensions (y, x) - dw CopycatsHouse2F_Blocks ; blocks - dw CopycatsHouse2F_TextPointers ; texts - dw CopycatsHouse2F_Script ; scripts - db 0 ; connections - dw CopycatsHouse2F_Object ; objects diff --git a/data/mapHeaders/Daycare.asm b/data/mapHeaders/Daycare.asm deleted file mode 100755 index 4f2e41e7..00000000 --- a/data/mapHeaders/Daycare.asm +++ /dev/null @@ -1,8 +0,0 @@ -Daycare_h:: - db HOUSE ; tileset - db DAYCARE_HEIGHT, DAYCARE_WIDTH ; dimensions (y, x) - dw Daycare_Blocks ; blocks - dw Daycare_TextPointers ; texts - dw Daycare_Script ; scripts - db 0 ; connections - dw Daycare_Object ; objects diff --git a/data/mapHeaders/DiglettsCave.asm b/data/mapHeaders/DiglettsCave.asm deleted file mode 100755 index 9742d306..00000000 --- a/data/mapHeaders/DiglettsCave.asm +++ /dev/null @@ -1,8 +0,0 @@ -DiglettsCave_h:: - db CAVERN ; tileset - db DIGLETTS_CAVE_HEIGHT, DIGLETTS_CAVE_WIDTH ; dimensions (y, x) - dw DiglettsCave_Blocks ; blocks - dw DiglettsCave_TextPointers ; texts - dw DiglettsCave_Script ; scripts - db 0 ; connections - dw DiglettsCave_Object ; objects diff --git a/data/mapHeaders/DiglettsCaveRoute11.asm b/data/mapHeaders/DiglettsCaveRoute11.asm deleted file mode 100755 index ac9082ed..00000000 --- a/data/mapHeaders/DiglettsCaveRoute11.asm +++ /dev/null @@ -1,8 +0,0 @@ -DiglettsCaveRoute11_h:: - db CAVERN ; tileset - db DIGLETTS_CAVE_ROUTE_11_HEIGHT, DIGLETTS_CAVE_ROUTE_11_WIDTH ; dimensions (y, x) - dw DiglettsCaveRoute11_Blocks ; blocks - dw DiglettsCaveRoute11_TextPointers ; texts - dw DiglettsCaveRoute11_Script ; scripts - db 0 ; connections - dw DiglettsCaveRoute11_Object ; objects diff --git a/data/mapHeaders/DiglettsCaveRoute2.asm b/data/mapHeaders/DiglettsCaveRoute2.asm deleted file mode 100755 index 1279e89f..00000000 --- a/data/mapHeaders/DiglettsCaveRoute2.asm +++ /dev/null @@ -1,8 +0,0 @@ -DiglettsCaveRoute2_h:: - db CAVERN ; tileset - db DIGLETTS_CAVE_ROUTE_2_HEIGHT, DIGLETTS_CAVE_ROUTE_2_WIDTH ; dimensions (y, x) - dw DiglettsCaveRoute2_Blocks ; blocks - dw DiglettsCaveRoute2_TextPointers ; texts - dw DiglettsCaveRoute2_Script ; scripts - db 0 ; connections - dw DiglettsCaveRoute2_Object ; objects diff --git a/data/mapHeaders/FightingDojo.asm b/data/mapHeaders/FightingDojo.asm deleted file mode 100755 index da8a589a..00000000 --- a/data/mapHeaders/FightingDojo.asm +++ /dev/null @@ -1,8 +0,0 @@ -FightingDojo_h:: - db DOJO ; tileset - db FIGHTING_DOJO_HEIGHT, FIGHTING_DOJO_WIDTH ; dimensions (y, x) - dw FightingDojo_Blocks ; blocks - dw FightingDojo_TextPointers ; texts - dw FightingDojo_Script ; scripts - db 0 ; connections - dw FightingDojo_Object ; objects diff --git a/data/mapHeaders/FuchsiaBillsGrandpasHouse.asm b/data/mapHeaders/FuchsiaBillsGrandpasHouse.asm deleted file mode 100755 index cbef462c..00000000 --- a/data/mapHeaders/FuchsiaBillsGrandpasHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -FuchsiaBillsGrandpasHouse_h:: - db HOUSE ; tileset - db FUCHSIA_BILLS_GRANDPAS_HOUSE_HEIGHT, FUCHSIA_BILLS_GRANDPAS_HOUSE_WIDTH ; dimensions (y, x) - dw FuchsiaBillsGrandpasHouse_Blocks ; blocks - dw FuchsiaBillsGrandpasHouse_TextPointers ; texts - dw FuchsiaBillsGrandpasHouse_Script ; scripts - db 0 ; connections - dw FuchsiaBillsGrandpasHouse_Object ; objects diff --git a/data/mapHeaders/FuchsiaCity.asm b/data/mapHeaders/FuchsiaCity.asm deleted file mode 100755 index 1b247678..00000000 --- a/data/mapHeaders/FuchsiaCity.asm +++ /dev/null @@ -1,11 +0,0 @@ -FuchsiaCity_h:: - db OVERWORLD ; tileset - db FUCHSIA_CITY_HEIGHT, FUCHSIA_CITY_WIDTH ; dimensions (y, x) - dw FuchsiaCity_Blocks ; blocks - dw FuchsiaCity_TextPointers ; texts - dw FuchsiaCity_Script ; scripts - db SOUTH | WEST | EAST ; connections - SOUTH_MAP_CONNECTION FUCHSIA_CITY, ROUTE_19, 5, 0, Route19_Blocks - WEST_MAP_CONNECTION FUCHSIA_CITY, ROUTE_18, 4, 0, Route18_Blocks - EAST_MAP_CONNECTION FUCHSIA_CITY, ROUTE_15, 4, 0, Route15_Blocks - dw FuchsiaCity_Object ; objects diff --git a/data/mapHeaders/FuchsiaGoodRodHouse.asm b/data/mapHeaders/FuchsiaGoodRodHouse.asm deleted file mode 100755 index fd2e36b4..00000000 --- a/data/mapHeaders/FuchsiaGoodRodHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -FuchsiaGoodRodHouse_h:: - db SHIP ; tileset - db FUCHSIA_GOOD_ROD_HOUSE_HEIGHT, FUCHSIA_GOOD_ROD_HOUSE_WIDTH ; dimensions (y, x) - dw FuchsiaGoodRodHouse_Blocks ; blocks - dw FuchsiaGoodRodHouse_TextPointers ; texts - dw FuchsiaGoodRodHouse_Script ; scripts - db 0 ; connections - dw FuchsiaGoodRodHouse_Object ; objects diff --git a/data/mapHeaders/FuchsiaGym.asm b/data/mapHeaders/FuchsiaGym.asm deleted file mode 100755 index ffc5c0fe..00000000 --- a/data/mapHeaders/FuchsiaGym.asm +++ /dev/null @@ -1,8 +0,0 @@ -FuchsiaGym_h:: - db GYM ; tileset - db FUCHSIA_GYM_HEIGHT, FUCHSIA_GYM_WIDTH ; dimensions (y, x) - dw FuchsiaGym_Blocks ; blocks - dw FuchsiaGym_TextPointers ; texts - dw FuchsiaGym_Script ; scripts - db 0 ; connections - dw FuchsiaGym_Object ; objects diff --git a/data/mapHeaders/FuchsiaMart.asm b/data/mapHeaders/FuchsiaMart.asm deleted file mode 100755 index b9c0d938..00000000 --- a/data/mapHeaders/FuchsiaMart.asm +++ /dev/null @@ -1,8 +0,0 @@ -FuchsiaMart_h:: - db MART ; tileset - db FUCHSIA_MART_HEIGHT, FUCHSIA_MART_WIDTH ; dimensions (y, x) - dw FuchsiaMart_Blocks ; blocks - dw FuchsiaMart_TextPointers ; texts - dw FuchsiaMart_Script ; scripts - db 0 ; connections - dw FuchsiaMart_Object ; objects diff --git a/data/mapHeaders/FuchsiaMeetingRoom.asm b/data/mapHeaders/FuchsiaMeetingRoom.asm deleted file mode 100755 index a3198eea..00000000 --- a/data/mapHeaders/FuchsiaMeetingRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -FuchsiaMeetingRoom_h:: - db LAB ; tileset - db FUCHSIA_MEETING_ROOM_HEIGHT, FUCHSIA_MEETING_ROOM_WIDTH ; dimensions (y, x) - dw FuchsiaMeetingRoom_Blocks ; blocks - dw FuchsiaMeetingRoom_TextPointers ; texts - dw FuchsiaMeetingRoom_Script ; scripts - db 0 ; connections - dw FuchsiaMeetingRoom_Object ; objects diff --git a/data/mapHeaders/FuchsiaPokecenter.asm b/data/mapHeaders/FuchsiaPokecenter.asm deleted file mode 100755 index beea4fc2..00000000 --- a/data/mapHeaders/FuchsiaPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -FuchsiaPokecenter_h:: - db POKECENTER ; tileset - db FUCHSIA_POKECENTER_HEIGHT, FUCHSIA_POKECENTER_WIDTH ; dimensions (y, x) - dw FuchsiaPokecenter_Blocks ; blocks - dw FuchsiaPokecenter_TextPointers ; texts - dw FuchsiaPokecenter_Script ; scripts - db 0 ; connections - dw FuchsiaPokecenter_Object ; objects diff --git a/data/mapHeaders/GameCorner.asm b/data/mapHeaders/GameCorner.asm deleted file mode 100755 index 6965e276..00000000 --- a/data/mapHeaders/GameCorner.asm +++ /dev/null @@ -1,8 +0,0 @@ -GameCorner_h:: - db LOBBY ; tileset - db GAME_CORNER_HEIGHT, GAME_CORNER_WIDTH ; dimensions (y, x) - dw GameCorner_Blocks ; blocks - dw GameCorner_TextPointers ; texts - dw GameCorner_Script ; scripts - db 0 ; connections - dw GameCorner_Object ; objects diff --git a/data/mapHeaders/GameCornerPrizeRoom.asm b/data/mapHeaders/GameCornerPrizeRoom.asm deleted file mode 100755 index 035f1112..00000000 --- a/data/mapHeaders/GameCornerPrizeRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -GameCornerPrizeRoom_h:: - db LOBBY ; tileset - db GAME_CORNER_PRIZE_ROOM_HEIGHT, GAME_CORNER_PRIZE_ROOM_WIDTH ; dimensions (y, x) - dw GameCornerPrizeRoom_Blocks ; blocks - dw GameCornerPrizeRoom_TextPointers ; texts - dw GameCornerPrizeRoom_Script ; scripts - db 0 ; connections - dw GameCornerPrizeRoom_Object ; objects diff --git a/data/mapHeaders/HallOfFame.asm b/data/mapHeaders/HallOfFame.asm deleted file mode 100755 index 7752ddb5..00000000 --- a/data/mapHeaders/HallOfFame.asm +++ /dev/null @@ -1,8 +0,0 @@ -HallOfFame_h:: - db GYM ; tileset - db HALL_OF_FAME_HEIGHT, HALL_OF_FAME_WIDTH ; dimensions (y, x) - dw HallOfFame_Blocks ; blocks - dw HallOfFame_TextPointers ; texts - dw HallOfFame_Script ; scripts - db 0 ; connections - dw HallOfFame_Object ; objects diff --git a/data/mapHeaders/IndigoPlateau.asm b/data/mapHeaders/IndigoPlateau.asm deleted file mode 100755 index b5dcf3de..00000000 --- a/data/mapHeaders/IndigoPlateau.asm +++ /dev/null @@ -1,9 +0,0 @@ -IndigoPlateau_h:: - db PLATEAU ; tileset - db INDIGO_PLATEAU_HEIGHT, INDIGO_PLATEAU_WIDTH ; dimensions (y, x) - dw IndigoPlateau_Blocks ; blocks - dw IndigoPlateau_TextPointers ; texts - dw IndigoPlateau_Script ; scripts - db SOUTH ; connections - SOUTH_MAP_CONNECTION INDIGO_PLATEAU, ROUTE_23, 0, 0, Route23_Blocks - dw IndigoPlateau_Object ; objects diff --git a/data/mapHeaders/IndigoPlateauLobby.asm b/data/mapHeaders/IndigoPlateauLobby.asm deleted file mode 100755 index dc32f7d1..00000000 --- a/data/mapHeaders/IndigoPlateauLobby.asm +++ /dev/null @@ -1,8 +0,0 @@ -IndigoPlateauLobby_h:: - db MART ; tileset - db INDIGO_PLATEAU_LOBBY_HEIGHT, INDIGO_PLATEAU_LOBBY_WIDTH ; dimensions (y, x) - dw IndigoPlateauLobby_Blocks ; blocks - dw IndigoPlateauLobby_TextPointers ; texts - dw IndigoPlateauLobby_Script ; scripts - db 0 ; connections - dw IndigoPlateauLobby_Object ; objects diff --git a/data/mapHeaders/LancesRoom.asm b/data/mapHeaders/LancesRoom.asm deleted file mode 100755 index 5373f010..00000000 --- a/data/mapHeaders/LancesRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -LancesRoom_h:: - db DOJO ; tileset - db LANCES_ROOM_HEIGHT, LANCES_ROOM_WIDTH ; dimensions (y, x) - dw LancesRoom_Blocks ; blocks - dw LancesRoom_TextPointers ; texts - dw LancesRoom_Script ; scripts - db 0 ; connections - dw LancesRoom_Object ; objects diff --git a/data/mapHeaders/LavenderCuboneHouse.asm b/data/mapHeaders/LavenderCuboneHouse.asm deleted file mode 100755 index 6d883655..00000000 --- a/data/mapHeaders/LavenderCuboneHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -LavenderCuboneHouse_h:: - db HOUSE ; tileset - db LAVENDER_CUBONE_HOUSE_HEIGHT, LAVENDER_CUBONE_HOUSE_WIDTH ; dimensions (y, x) - dw LavenderCuboneHouse_Blocks ; blocks - dw LavenderCuboneHouse_TextPointers ; texts - dw LavenderCuboneHouse_Script ; scripts - db 0 ; connections - dw LavenderCuboneHouse_Object ; objects diff --git a/data/mapHeaders/LavenderMart.asm b/data/mapHeaders/LavenderMart.asm deleted file mode 100755 index 500287b4..00000000 --- a/data/mapHeaders/LavenderMart.asm +++ /dev/null @@ -1,8 +0,0 @@ -LavenderMart_h:: - db MART ; tileset - db LAVENDER_MART_HEIGHT, LAVENDER_MART_WIDTH ; dimensions (y, x) - dw LavenderMart_Blocks ; blocks - dw LavenderMart_TextPointers ; texts - dw LavenderMart_Script ; scripts - db 0 ; connections - dw LavenderMart_Object ; objects diff --git a/data/mapHeaders/LavenderPokecenter.asm b/data/mapHeaders/LavenderPokecenter.asm deleted file mode 100755 index 2c87b401..00000000 --- a/data/mapHeaders/LavenderPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -LavenderPokecenter_h:: - db POKECENTER ; tileset - db LAVENDER_POKECENTER_HEIGHT, LAVENDER_POKECENTER_WIDTH ; dimensions (y, x) - dw LavenderPokecenter_Blocks ; blocks - dw LavenderPokecenter_TextPointers ; texts - dw LavenderPokecenter_Script ; scripts - db 0 ; connections - dw LavenderPokecenter_Object ; objects diff --git a/data/mapHeaders/LavenderTown.asm b/data/mapHeaders/LavenderTown.asm deleted file mode 100755 index 67a88189..00000000 --- a/data/mapHeaders/LavenderTown.asm +++ /dev/null @@ -1,11 +0,0 @@ -LavenderTown_h:: - db OVERWORLD ; tileset - db LAVENDER_TOWN_HEIGHT, LAVENDER_TOWN_WIDTH ; dimensions (y, x) - dw LavenderTown_Blocks ; blocks - dw LavenderTown_TextPointers ; texts - dw LavenderTown_Script ; scripts - db NORTH | SOUTH | WEST ; connections - NORTH_MAP_CONNECTION LAVENDER_TOWN, ROUTE_10, 0, 0, Route10_Blocks - SOUTH_MAP_CONNECTION LAVENDER_TOWN, ROUTE_12, 0, 0, Route12_Blocks, 1 - WEST_MAP_CONNECTION LAVENDER_TOWN, ROUTE_8, 0, 0, Route8_Blocks - dw LavenderTown_Object ; objects diff --git a/data/mapHeaders/LoreleisRoom.asm b/data/mapHeaders/LoreleisRoom.asm deleted file mode 100755 index d580d9fe..00000000 --- a/data/mapHeaders/LoreleisRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -LoreleisRoom_h:: - db GYM ; tileset - db LORELEIS_ROOM_HEIGHT, LORELEIS_ROOM_WIDTH ; dimensions (y, x) - dw LoreleisRoom_Blocks ; blocks - dw LoreleisRoom_TextPointers ; texts - dw LoreleisRoom_Script ; scripts - db 0 ; connections - dw LoreleisRoom_Object ; objects diff --git a/data/mapHeaders/MrFujisHouse.asm b/data/mapHeaders/MrFujisHouse.asm deleted file mode 100755 index ee82e49c..00000000 --- a/data/mapHeaders/MrFujisHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -MrFujisHouse_h:: - db HOUSE ; tileset - db MR_FUJIS_HOUSE_HEIGHT, MR_FUJIS_HOUSE_WIDTH ; dimensions (y, x) - dw MrFujisHouse_Blocks ; blocks - dw MrFujisHouse_TextPointers ; texts - dw MrFujisHouse_Script ; scripts - db 0 ; connections - dw MrFujisHouse_Object ; objects diff --git a/data/mapHeaders/MrPsychicsHouse.asm b/data/mapHeaders/MrPsychicsHouse.asm deleted file mode 100755 index ec559ec7..00000000 --- a/data/mapHeaders/MrPsychicsHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -MrPsychicsHouse_h:: - db HOUSE ; tileset - db MR_PSYCHICS_HOUSE_HEIGHT, MR_PSYCHICS_HOUSE_WIDTH ; dimensions (y, x) - dw MrPsychicsHouse_Blocks ; blocks - dw MrPsychicsHouse_TextPointers ; texts - dw MrPsychicsHouse_Script ; scripts - db 0 ; connections - dw MrPsychicsHouse_Object ; objects diff --git a/data/mapHeaders/MtMoon1F.asm b/data/mapHeaders/MtMoon1F.asm deleted file mode 100755 index 37c0ba59..00000000 --- a/data/mapHeaders/MtMoon1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -MtMoon1F_h:: - db CAVERN ; tileset - db MT_MOON_1F_HEIGHT, MT_MOON_1F_WIDTH ; dimensions (y, x) - dw MtMoon1F_Blocks ; blocks - dw MtMoon1F_TextPointers ; texts - dw MtMoon1F_Script ; scripts - db 0 ; connections - dw MtMoon1F_Object ; objects diff --git a/data/mapHeaders/MtMoonB1F.asm b/data/mapHeaders/MtMoonB1F.asm deleted file mode 100755 index c14d35d0..00000000 --- a/data/mapHeaders/MtMoonB1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -MtMoonB1F_h:: - db CAVERN ; tileset - db MT_MOON_B1F_HEIGHT, MT_MOON_B1F_WIDTH ; dimensions (y, x) - dw MtMoonB1F_Blocks ; blocks - dw MtMoonB1F_TextPointers ; texts - dw MtMoonB1F_Script ; scripts - db 0 ; connections - dw MtMoonB1F_Object ; objects diff --git a/data/mapHeaders/MtMoonB2F.asm b/data/mapHeaders/MtMoonB2F.asm deleted file mode 100755 index cce8454b..00000000 --- a/data/mapHeaders/MtMoonB2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -MtMoonB2F_h:: - db CAVERN ; tileset - db MT_MOON_B2F_HEIGHT, MT_MOON_B2F_WIDTH ; dimensions (y, x) - dw MtMoonB2F_Blocks ; blocks - dw MtMoonB2F_TextPointers ; texts - dw MtMoonB2F_Script ; scripts - db 0 ; connections - dw MtMoonB2F_Object ; objects diff --git a/data/mapHeaders/MtMoonPokecenter.asm b/data/mapHeaders/MtMoonPokecenter.asm deleted file mode 100755 index 31f7ec7a..00000000 --- a/data/mapHeaders/MtMoonPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -MtMoonPokecenter_h:: - db POKECENTER ; tileset - db MT_MOON_POKECENTER_HEIGHT, MT_MOON_POKECENTER_WIDTH ; dimensions (y, x) - dw MtMoonPokecenter_Blocks ; blocks - dw MtMoonPokecenter_TextPointers ; texts - dw MtMoonPokecenter_Script ; scripts - db 0 ; connections - dw MtMoonPokecenter_Object ; objects diff --git a/data/mapHeaders/Museum1F.asm b/data/mapHeaders/Museum1F.asm deleted file mode 100755 index f0c967aa..00000000 --- a/data/mapHeaders/Museum1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Museum1F_h:: - db MUSEUM ; tileset - db MUSEUM_1F_HEIGHT, MUSEUM_1F_WIDTH ; dimensions (y, x) - dw Museum1F_Blocks ; blocks - dw Museum1F_TextPointers ; texts - dw Museum1F_Script ; scripts - db 0 ; connections - dw Museum1F_Object ; objects diff --git a/data/mapHeaders/Museum2F.asm b/data/mapHeaders/Museum2F.asm deleted file mode 100755 index 9ab38801..00000000 --- a/data/mapHeaders/Museum2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Museum2F_h:: - db MUSEUM ; tileset - db MUSEUM_2F_HEIGHT, MUSEUM_2F_WIDTH ; dimensions (y, x) - dw Museum2F_Blocks ; blocks - dw Museum2F_TextPointers ; texts - dw Museum2F_Script ; scripts - db 0 ; connections - dw Museum2F_Object ; objects diff --git a/data/mapHeaders/NameRatersHouse.asm b/data/mapHeaders/NameRatersHouse.asm deleted file mode 100755 index a727b334..00000000 --- a/data/mapHeaders/NameRatersHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -NameRatersHouse_h:: - db HOUSE ; tileset - db NAME_RATERS_HOUSE_HEIGHT, NAME_RATERS_HOUSE_WIDTH ; dimensions (y, x) - dw NameRatersHouse_Blocks ; blocks - dw NameRatersHouse_TextPointers ; texts - dw NameRatersHouse_Script ; scripts - db 0 ; connections - dw NameRatersHouse_Object ; objects diff --git a/data/mapHeaders/OaksLab.asm b/data/mapHeaders/OaksLab.asm deleted file mode 100755 index ceee34eb..00000000 --- a/data/mapHeaders/OaksLab.asm +++ /dev/null @@ -1,8 +0,0 @@ -OaksLab_h:: - db DOJO ; tileset - db OAKS_LAB_HEIGHT, OAKS_LAB_WIDTH ; dimensions (y, x) - dw OaksLab_Blocks ; blocks - dw OaksLab_TextPointers ; texts - dw OaksLab_Script ; scripts - db 0 ; connections - dw OaksLab_Object ; objects diff --git a/data/mapHeaders/PalletTown.asm b/data/mapHeaders/PalletTown.asm deleted file mode 100755 index 72d138e7..00000000 --- a/data/mapHeaders/PalletTown.asm +++ /dev/null @@ -1,10 +0,0 @@ -PalletTown_h:: - db OVERWORLD ; tileset - db PALLET_TOWN_HEIGHT, PALLET_TOWN_WIDTH ; dimensions (y, x) - dw PalletTown_Blocks ; blocks - dw PalletTown_TextPointers ; texts - dw PalletTown_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION PALLET_TOWN, ROUTE_1, 0, 0, Route1_Blocks - SOUTH_MAP_CONNECTION PALLET_TOWN, ROUTE_21, 0, 0, Route21_Blocks, 1 - dw PalletTown_Object ; objects diff --git a/data/mapHeaders/PewterCity.asm b/data/mapHeaders/PewterCity.asm deleted file mode 100755 index 17d1d2f3..00000000 --- a/data/mapHeaders/PewterCity.asm +++ /dev/null @@ -1,10 +0,0 @@ -PewterCity_h:: - db OVERWORLD ; tileset - db PEWTER_CITY_HEIGHT, PEWTER_CITY_WIDTH ; dimensions (y, x) - dw PewterCity_Blocks ; blocks - dw PewterCity_TextPointers ; texts - dw PewterCity_Script ; scripts - db SOUTH | EAST ; connections - SOUTH_MAP_CONNECTION PEWTER_CITY, ROUTE_2, 5, 0, Route2_Blocks - EAST_MAP_CONNECTION PEWTER_CITY, ROUTE_3, 4, 0, Route3_Blocks - dw PewterCity_Object ; objects diff --git a/data/mapHeaders/PewterGym.asm b/data/mapHeaders/PewterGym.asm deleted file mode 100755 index 94cdd401..00000000 --- a/data/mapHeaders/PewterGym.asm +++ /dev/null @@ -1,8 +0,0 @@ -PewterGym_h:: - db GYM ; tileset - db PEWTER_GYM_HEIGHT, PEWTER_GYM_WIDTH ; dimensions (y, x) - dw PewterGym_Blocks ; blocks - dw PewterGym_TextPointers ; texts - dw PewterGym_Script ; scripts - db 0 ; connections - dw PewterGym_Object ; objects diff --git a/data/mapHeaders/PewterMart.asm b/data/mapHeaders/PewterMart.asm deleted file mode 100755 index 962634f4..00000000 --- a/data/mapHeaders/PewterMart.asm +++ /dev/null @@ -1,8 +0,0 @@ -PewterMart_h:: - db MART ; tileset - db PEWTER_MART_HEIGHT, PEWTER_MART_WIDTH ; dimensions (y, x) - dw PewterMart_Blocks ; blocks - dw PewterMart_TextPointers ; texts - dw PewterMart_Script ; scripts - db 0 ; connections - dw PewterMart_Object ; objects diff --git a/data/mapHeaders/PewterNidoranHouse.asm b/data/mapHeaders/PewterNidoranHouse.asm deleted file mode 100755 index 9900360b..00000000 --- a/data/mapHeaders/PewterNidoranHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -PewterNidoranHouse_h:: - db HOUSE ; tileset - db PEWTER_NIDORAN_HOUSE_HEIGHT, PEWTER_NIDORAN_HOUSE_WIDTH ; dimensions (y, x) - dw PewterNidoranHouse_Blocks ; blocks - dw PewterNidoranHouse_TextPointers ; texts - dw PewterNidoranHouse_Script ; scripts - db 0 ; connections - dw PewterNidoranHouse_Object ; objects diff --git a/data/mapHeaders/PewterPokecenter.asm b/data/mapHeaders/PewterPokecenter.asm deleted file mode 100755 index 5738cb64..00000000 --- a/data/mapHeaders/PewterPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -PewterPokecenter_h:: - db POKECENTER ; tileset - db PEWTER_POKECENTER_HEIGHT, PEWTER_POKECENTER_WIDTH ; dimensions (y, x) - dw PewterPokecenter_Blocks ; blocks - dw PewterPokecenter_TextPointers ; texts - dw PewterPokecenter_Script ; scripts - db 0 ; connections - dw PewterPokecenter_Object ; objects diff --git a/data/mapHeaders/PewterSpeechHouse.asm b/data/mapHeaders/PewterSpeechHouse.asm deleted file mode 100755 index 9cc2d360..00000000 --- a/data/mapHeaders/PewterSpeechHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -PewterSpeechHouse_h:: - db HOUSE ; tileset - db PEWTER_SPEECH_HOUSE_HEIGHT, PEWTER_SPEECH_HOUSE_WIDTH ; dimensions (y, x) - dw PewterSpeechHouse_Blocks ; blocks - dw PewterSpeechHouse_TextPointers ; texts - dw PewterSpeechHouse_Script ; scripts - db 0 ; connections - dw PewterSpeechHouse_Object ; objects diff --git a/data/mapHeaders/PokemonFanClub.asm b/data/mapHeaders/PokemonFanClub.asm deleted file mode 100755 index 251ac2c4..00000000 --- a/data/mapHeaders/PokemonFanClub.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonFanClub_h:: - db INTERIOR ; tileset - db POKEMON_FAN_CLUB_HEIGHT, POKEMON_FAN_CLUB_WIDTH ; dimensions (y, x) - dw PokemonFanClub_Blocks ; blocks - dw PokemonFanClub_TextPointers ; texts - dw PokemonFanClub_Script ; scripts - db 0 ; connections - dw PokemonFanClub_Object ; objects diff --git a/data/mapHeaders/PokemonMansion1F.asm b/data/mapHeaders/PokemonMansion1F.asm deleted file mode 100755 index b3bebb5f..00000000 --- a/data/mapHeaders/PokemonMansion1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonMansion1F_h:: - db FACILITY ; tileset - db POKEMON_MANSION_1F_HEIGHT, POKEMON_MANSION_1F_WIDTH ; dimensions (y, x) - dw PokemonMansion1F_Blocks ; blocks - dw PokemonMansion1F_TextPointers ; texts - dw PokemonMansion1F_Script ; scripts - db 0 ; connections - dw PokemonMansion1F_Object ; objects diff --git a/data/mapHeaders/PokemonMansion2F.asm b/data/mapHeaders/PokemonMansion2F.asm deleted file mode 100755 index d532db2a..00000000 --- a/data/mapHeaders/PokemonMansion2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonMansion2F_h:: - db FACILITY ; tileset - db POKEMON_MANSION_2F_HEIGHT, POKEMON_MANSION_2F_WIDTH ; dimensions (y, x) - dw PokemonMansion2F_Blocks ; blocks - dw PokemonMansion2F_TextPointers ; texts - dw PokemonMansion2F_Script ; scripts - db 0 ; connections - dw PokemonMansion2F_Object ; objects diff --git a/data/mapHeaders/PokemonMansion3F.asm b/data/mapHeaders/PokemonMansion3F.asm deleted file mode 100755 index e8887551..00000000 --- a/data/mapHeaders/PokemonMansion3F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonMansion3F_h:: - db FACILITY ; tileset - db POKEMON_MANSION_3F_HEIGHT, POKEMON_MANSION_3F_WIDTH ; dimensions (y, x) - dw PokemonMansion3F_Blocks ; blocks - dw PokemonMansion3F_TextPointers ; texts - dw PokemonMansion3F_Script ; scripts - db 0 ; connections - dw PokemonMansion3F_Object ; objects diff --git a/data/mapHeaders/PokemonMansionB1F.asm b/data/mapHeaders/PokemonMansionB1F.asm deleted file mode 100755 index 08ec13f4..00000000 --- a/data/mapHeaders/PokemonMansionB1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonMansionB1F_h:: - db FACILITY ; tileset - db POKEMON_MANSION_B1F_HEIGHT, POKEMON_MANSION_B1F_WIDTH ; dimensions (y, x) - dw PokemonMansionB1F_Blocks ; blocks - dw PokemonMansionB1F_TextPointers ; texts - dw PokemonMansionB1F_Script ; scripts - db 0 ; connections - dw PokemonMansionB1F_Object ; objects diff --git a/data/mapHeaders/PokemonTower1F.asm b/data/mapHeaders/PokemonTower1F.asm deleted file mode 100755 index 99b129e8..00000000 --- a/data/mapHeaders/PokemonTower1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonTower1F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_1F_HEIGHT, POKEMON_TOWER_1F_WIDTH ; dimensions (y, x) - dw PokemonTower1F_Blocks ; blocks - dw PokemonTower1F_TextPointers ; texts - dw PokemonTower1F_Script ; scripts - db 0 ; connections - dw PokemonTower1F_Object ; objects diff --git a/data/mapHeaders/PokemonTower2F.asm b/data/mapHeaders/PokemonTower2F.asm deleted file mode 100755 index ce0ea13d..00000000 --- a/data/mapHeaders/PokemonTower2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonTower2F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_2F_HEIGHT, POKEMON_TOWER_2F_WIDTH ; dimensions (y, x) - dw PokemonTower2F_Blocks ; blocks - dw PokemonTower2F_TextPointers ; texts - dw PokemonTower2F_Script ; scripts - db 0 ; connections - dw PokemonTower2F_Object ; objects diff --git a/data/mapHeaders/PokemonTower3F.asm b/data/mapHeaders/PokemonTower3F.asm deleted file mode 100755 index a495b30f..00000000 --- a/data/mapHeaders/PokemonTower3F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonTower3F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_3F_HEIGHT, POKEMON_TOWER_3F_WIDTH ; dimensions (y, x) - dw PokemonTower3F_Blocks ; blocks - dw PokemonTower3F_TextPointers ; texts - dw PokemonTower3F_Script ; scripts - db 0 ; connections - dw PokemonTower3F_Object ; objects diff --git a/data/mapHeaders/PokemonTower4F.asm b/data/mapHeaders/PokemonTower4F.asm deleted file mode 100755 index b6932406..00000000 --- a/data/mapHeaders/PokemonTower4F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonTower4F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_4F_HEIGHT, POKEMON_TOWER_4F_WIDTH ; dimensions (y, x) - dw PokemonTower4F_Blocks ; blocks - dw PokemonTower4F_TextPointers ; texts - dw PokemonTower4F_Script ; scripts - db 0 ; connections - dw PokemonTower4F_Object ; objects diff --git a/data/mapHeaders/PokemonTower5F.asm b/data/mapHeaders/PokemonTower5F.asm deleted file mode 100755 index f51e6990..00000000 --- a/data/mapHeaders/PokemonTower5F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonTower5F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_5F_HEIGHT, POKEMON_TOWER_5F_WIDTH ; dimensions (y, x) - dw PokemonTower5F_Blocks ; blocks - dw PokemonTower5F_TextPointers ; texts - dw PokemonTower5F_Script ; scripts - db 0 ; connections - dw PokemonTower5F_Object ; objects diff --git a/data/mapHeaders/PokemonTower6F.asm b/data/mapHeaders/PokemonTower6F.asm deleted file mode 100755 index 5fa1a035..00000000 --- a/data/mapHeaders/PokemonTower6F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonTower6F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_6F_HEIGHT, POKEMON_TOWER_6F_WIDTH ; dimensions (y, x) - dw PokemonTower6F_Blocks ; blocks - dw PokemonTower6F_TextPointers ; texts - dw PokemonTower6F_Script ; scripts - db 0 ; connections - dw PokemonTower6F_Object ; objects diff --git a/data/mapHeaders/PokemonTower7F.asm b/data/mapHeaders/PokemonTower7F.asm deleted file mode 100755 index 90fc1d8b..00000000 --- a/data/mapHeaders/PokemonTower7F.asm +++ /dev/null @@ -1,8 +0,0 @@ -PokemonTower7F_h:: - db CEMETERY ; tileset - db POKEMON_TOWER_7F_HEIGHT, POKEMON_TOWER_7F_WIDTH ; dimensions (y, x) - dw PokemonTower7F_Blocks ; blocks - dw PokemonTower7F_TextPointers ; texts - dw PokemonTower7F_Script ; scripts - db 0 ; connections - dw PokemonTower7F_Object ; objects diff --git a/data/mapHeaders/PowerPlant.asm b/data/mapHeaders/PowerPlant.asm deleted file mode 100755 index 3cb4efcd..00000000 --- a/data/mapHeaders/PowerPlant.asm +++ /dev/null @@ -1,8 +0,0 @@ -PowerPlant_h:: - db FACILITY ; tileset - db POWER_PLANT_HEIGHT, POWER_PLANT_WIDTH ; dimensions (y, x) - dw PowerPlant_Blocks ; blocks - dw PowerPlant_TextPointers ; texts - dw PowerPlant_Script ; scripts - db 0 ; connections - dw PowerPlant_Object ; objects diff --git a/data/mapHeaders/RedsHouse1F.asm b/data/mapHeaders/RedsHouse1F.asm deleted file mode 100755 index b13008ae..00000000 --- a/data/mapHeaders/RedsHouse1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -RedsHouse1F_h:: - db REDS_HOUSE_1 ; tileset - db REDS_HOUSE_1F_HEIGHT, REDS_HOUSE_1F_WIDTH ; dimensions (y, x) - dw RedsHouse1F_Blocks ; blocks - dw RedsHouse1F_TextPointers ; texts - dw RedsHouse1F_Script ; scripts - db 0 ; connections - dw RedsHouse1F_Object ; objects diff --git a/data/mapHeaders/RedsHouse2F.asm b/data/mapHeaders/RedsHouse2F.asm deleted file mode 100755 index 8824ebf2..00000000 --- a/data/mapHeaders/RedsHouse2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -RedsHouse2F_h:: - db REDS_HOUSE_2 ; tileset - db REDS_HOUSE_2F_HEIGHT, REDS_HOUSE_2F_WIDTH ; dimensions (y, x) - dw RedsHouse2F_Blocks ; blocks - dw RedsHouse2F_TextPointers ; texts - dw RedsHouse2F_Script ; scripts - db $00 ; connections - dw RedsHouse2F_Object ; objects diff --git a/data/mapHeaders/RockTunnel1F.asm b/data/mapHeaders/RockTunnel1F.asm deleted file mode 100755 index 8dd5929b..00000000 --- a/data/mapHeaders/RockTunnel1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -RockTunnel1F_h:: - db CAVERN ; tileset - db ROCK_TUNNEL_1F_HEIGHT, ROCK_TUNNEL_1F_WIDTH ; dimensions (y, x) - dw RockTunnel1F_Blocks ; blocks - dw RockTunnel1F_TextPointers ; texts - dw RockTunnel1F_Script ; scripts - db 0 ; connections - dw RockTunnel1F_Object ; objects diff --git a/data/mapHeaders/RockTunnelB1F.asm b/data/mapHeaders/RockTunnelB1F.asm deleted file mode 100755 index 36cd7f37..00000000 --- a/data/mapHeaders/RockTunnelB1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -RockTunnelB1F_h:: - db CAVERN ; tileset - db ROCK_TUNNEL_B1F_HEIGHT, ROCK_TUNNEL_B1F_WIDTH ; dimensions (y, x) - dw RockTunnelB1F_Blocks ; blocks - dw RockTunnelB1F_TextPointers ; texts - dw RockTunnelB1F_Script ; scripts - db 0 ; connections - dw RockTunnelB1F_Object ; objects diff --git a/data/mapHeaders/RockTunnelPokecenter.asm b/data/mapHeaders/RockTunnelPokecenter.asm deleted file mode 100755 index 3d0bbed0..00000000 --- a/data/mapHeaders/RockTunnelPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -RockTunnelPokecenter_h:: - db POKECENTER ; tileset - db ROCK_TUNNEL_POKECENTER_HEIGHT, ROCK_TUNNEL_POKECENTER_WIDTH ; dimensions (y, x) - dw RockTunnelPokecenter_Blocks ; blocks - dw RockTunnelPokecenter_TextPointers ; texts - dw RockTunnelPokecenter_Script ; scripts - db 0 ; connections - dw RockTunnelPokecenter_Object ; objects diff --git a/data/mapHeaders/RocketHideoutB1F.asm b/data/mapHeaders/RocketHideoutB1F.asm deleted file mode 100755 index 4d875a1b..00000000 --- a/data/mapHeaders/RocketHideoutB1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -RocketHideoutB1F_h:: - db FACILITY ; tileset - db ROCKET_HIDEOUT_B1F_HEIGHT, ROCKET_HIDEOUT_B1F_WIDTH ; dimensions (y, x) - dw RocketHideoutB1F_Blocks ; blocks - dw RocketHideoutB1F_TextPointers ; texts - dw RocketHideoutB1F_Script ; scripts - db 0 ; connections - dw RocketHideoutB1F_Object ; objects diff --git a/data/mapHeaders/RocketHideoutB2F.asm b/data/mapHeaders/RocketHideoutB2F.asm deleted file mode 100755 index 0d56f2a1..00000000 --- a/data/mapHeaders/RocketHideoutB2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -RocketHideoutB2F_h:: - db FACILITY ; tileset - db ROCKET_HIDEOUT_B2F_HEIGHT, ROCKET_HIDEOUT_B2F_WIDTH ; dimensions (y, x) - dw RocketHideoutB2F_Blocks ; blocks - dw RocketHideoutB2F_TextPointers ; texts - dw RocketHideoutB2F_Script ; scripts - db 0 ; connections - dw RocketHideoutB2F_Object ; objects diff --git a/data/mapHeaders/RocketHideoutB3F.asm b/data/mapHeaders/RocketHideoutB3F.asm deleted file mode 100755 index e71fcff1..00000000 --- a/data/mapHeaders/RocketHideoutB3F.asm +++ /dev/null @@ -1,8 +0,0 @@ -RocketHideoutB3F_h:: - db FACILITY ; tileset - db ROCKET_HIDEOUT_B3F_HEIGHT, ROCKET_HIDEOUT_B3F_WIDTH ; dimensions (y, x) - dw RocketHideoutB3F_Blocks ; blocks - dw RocketHideoutB3F_TextPointers ; texts - dw RocketHideoutB3F_Script ; scripts - db 0 ; connections - dw RocketHideoutB3F_Object ; objects diff --git a/data/mapHeaders/RocketHideoutB4F.asm b/data/mapHeaders/RocketHideoutB4F.asm deleted file mode 100755 index 05ad471a..00000000 --- a/data/mapHeaders/RocketHideoutB4F.asm +++ /dev/null @@ -1,8 +0,0 @@ -RocketHideoutB4F_h:: - db FACILITY ; tileset - db ROCKET_HIDEOUT_B4F_HEIGHT, ROCKET_HIDEOUT_B4F_WIDTH ; dimensions (y, x) - dw RocketHideoutB4F_Blocks ; blocks - dw RocketHideoutB4F_TextPointers ; texts - dw RocketHideoutB4F_Script ; scripts - db 0 ; connections - dw RocketHideoutB4F_Object ; objects diff --git a/data/mapHeaders/RocketHideoutElevator.asm b/data/mapHeaders/RocketHideoutElevator.asm deleted file mode 100755 index 6221dddd..00000000 --- a/data/mapHeaders/RocketHideoutElevator.asm +++ /dev/null @@ -1,8 +0,0 @@ -RocketHideoutElevator_h:: - db LOBBY ; tileset - db ROCKET_HIDEOUT_ELEVATOR_HEIGHT, ROCKET_HIDEOUT_ELEVATOR_WIDTH ; dimensions (y, x) - dw RocketHideoutElevator_Blocks ; blocks - dw RocketHideoutElevator_TextPointers ; texts - dw RocketHideoutElevator_Script ; scripts - db 0 ; connections - dw RocketHideoutElevator_Object ; objects diff --git a/data/mapHeaders/Route1.asm b/data/mapHeaders/Route1.asm deleted file mode 100755 index 20d389ab..00000000 --- a/data/mapHeaders/Route1.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route1_h:: - db OVERWORLD ; tileset - db ROUTE_1_HEIGHT, ROUTE_1_WIDTH ; dimensions (y, x) - dw Route1_Blocks ; blocks - dw Route1_TextPointers ; texts - dw Route1_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_1, VIRIDIAN_CITY, -3, 2, ViridianCity_Blocks - SOUTH_MAP_CONNECTION ROUTE_1, PALLET_TOWN, 0, 0, PalletTown_Blocks, 1 - dw Route1_Object ; objects diff --git a/data/mapHeaders/Route10.asm b/data/mapHeaders/Route10.asm deleted file mode 100755 index 5759483b..00000000 --- a/data/mapHeaders/Route10.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route10_h:: - db OVERWORLD ; tileset - db ROUTE_10_HEIGHT, ROUTE_10_WIDTH ; dimensions (y, x) - dw Route10_Blocks ; blocks - dw Route10_TextPointers ; texts - dw Route10_Script ; scripts - db SOUTH | WEST ; connections - SOUTH_MAP_CONNECTION ROUTE_10, LAVENDER_TOWN, 0, 0, LavenderTown_Blocks - WEST_MAP_CONNECTION ROUTE_10, ROUTE_9, 0, 0, Route9_Blocks - dw Route10_Object ; objects diff --git a/data/mapHeaders/Route11.asm b/data/mapHeaders/Route11.asm deleted file mode 100755 index 6b95cebc..00000000 --- a/data/mapHeaders/Route11.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route11_h:: - db OVERWORLD ; tileset - db ROUTE_11_HEIGHT, ROUTE_11_WIDTH ; dimensions (y, x) - dw Route11_Blocks ; blocks - dw Route11_TextPointers ; texts - dw Route11_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_11, VERMILION_CITY, -3, 1, VermilionCity_Blocks - EAST_MAP_CONNECTION ROUTE_11, ROUTE_12, -3, 24, Route12_Blocks, 1 - dw Route11_Object ; objects diff --git a/data/mapHeaders/Route11Gate1F.asm b/data/mapHeaders/Route11Gate1F.asm deleted file mode 100755 index 0f26b117..00000000 --- a/data/mapHeaders/Route11Gate1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route11Gate1F_h:: - db GATE ; tileset - db ROUTE_11_GATE_1F_HEIGHT, ROUTE_11_GATE_1F_WIDTH ; dimensions (y, x) - dw Route11Gate1F_Blocks ; blocks - dw Route11Gate1F_TextPointers ; texts - dw Route11Gate1F_Script ; scripts - db 0 ; connections - dw Route11Gate1F_Object ; objects diff --git a/data/mapHeaders/Route11Gate2F.asm b/data/mapHeaders/Route11Gate2F.asm deleted file mode 100755 index b408b5a7..00000000 --- a/data/mapHeaders/Route11Gate2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route11Gate2F_h:: - db GATE ; tileset - db ROUTE_11_GATE_2F_HEIGHT, ROUTE_11_GATE_2F_WIDTH ; dimensions (y, x) - dw Route11Gate2F_Blocks ; blocks - dw Route11Gate2F_TextPointers ; texts - dw Route11Gate2F_Script ; scripts - db 0 ; connections - dw Route11Gate2F_Object ; objects diff --git a/data/mapHeaders/Route12.asm b/data/mapHeaders/Route12.asm deleted file mode 100755 index 284105fa..00000000 --- a/data/mapHeaders/Route12.asm +++ /dev/null @@ -1,11 +0,0 @@ -Route12_h:: - db OVERWORLD ; tileset - db ROUTE_12_HEIGHT, ROUTE_12_WIDTH ; dimensions (y, x) - dw Route12_Blocks ; blocks - dw Route12_TextPointers ; texts - dw Route12_Script ; scripts - db NORTH | SOUTH | WEST ; connections - NORTH_MAP_CONNECTION ROUTE_12, LAVENDER_TOWN, 0, 0, LavenderTown_Blocks - SOUTH_MAP_CONNECTION ROUTE_12, ROUTE_13, -3, 17, Route13_Blocks - WEST_MAP_CONNECTION ROUTE_12, ROUTE_11, 27, 0, Route11_Blocks - dw Route12_Object ; objects diff --git a/data/mapHeaders/Route12Gate1F.asm b/data/mapHeaders/Route12Gate1F.asm deleted file mode 100755 index dbce0ab9..00000000 --- a/data/mapHeaders/Route12Gate1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route12Gate1F_h:: - db GATE ; tileset - db ROUTE_12_GATE_1F_HEIGHT, ROUTE_12_GATE_1F_WIDTH ; dimensions (y, x) - dw Route12Gate1F_Blocks ; blocks - dw Route12Gate1F_TextPointers ; texts - dw Route12Gate1F_Script ; scripts - db 0 ; connections - dw Route12Gate1F_Object ; objects diff --git a/data/mapHeaders/Route12Gate2F.asm b/data/mapHeaders/Route12Gate2F.asm deleted file mode 100755 index f4e2330d..00000000 --- a/data/mapHeaders/Route12Gate2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route12Gate2F_h:: - db GATE ; tileset - db ROUTE_12_GATE_2F_HEIGHT, ROUTE_12_GATE_2F_WIDTH ; dimensions (y, x) - dw Route12Gate2F_Blocks ; blocks - dw Route12Gate2F_TextPointers ; texts - dw Route12Gate2F_Script ; scripts - db 0 ; connections - dw Route12Gate2F_Object ; objects diff --git a/data/mapHeaders/Route12SuperRodHouse.asm b/data/mapHeaders/Route12SuperRodHouse.asm deleted file mode 100755 index 70357a3a..00000000 --- a/data/mapHeaders/Route12SuperRodHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route12SuperRodHouse_h:: - db HOUSE ; tileset - db ROUTE_12_SUPER_ROD_HOUSE_HEIGHT, ROUTE_12_SUPER_ROD_HOUSE_WIDTH ; dimensions (y, x) - dw Route12SuperRodHouse_Blocks ; blocks - dw Route12SuperRodHouse_TextPointers ; texts - dw Route12SuperRodHouse_Script ; scripts - db 0 ; connections - dw Route12SuperRodHouse_Object ; objects diff --git a/data/mapHeaders/Route13.asm b/data/mapHeaders/Route13.asm deleted file mode 100755 index fb85dd60..00000000 --- a/data/mapHeaders/Route13.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route13_h:: - db OVERWORLD ; tileset - db ROUTE_13_HEIGHT, ROUTE_13_WIDTH ; dimensions (y, x) - dw Route13_Blocks ; blocks - dw Route13_TextPointers ; texts - dw Route13_Script ; scripts - db NORTH | WEST ; connections - NORTH_MAP_CONNECTION ROUTE_13, ROUTE_12, 20, 0, Route12_Blocks - WEST_MAP_CONNECTION ROUTE_13, ROUTE_14, 0, 0, Route14_Blocks - dw Route13_Object ; objects diff --git a/data/mapHeaders/Route14.asm b/data/mapHeaders/Route14.asm deleted file mode 100755 index d1484f6b..00000000 --- a/data/mapHeaders/Route14.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route14_h:: - db OVERWORLD ; tileset - db ROUTE_14_HEIGHT, ROUTE_14_WIDTH ; dimensions (y, x) - dw Route14_Blocks ; blocks - dw Route14_TextPointers ; texts - dw Route14_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_14, ROUTE_15, 18, 0, Route15_Blocks - EAST_MAP_CONNECTION ROUTE_14, ROUTE_13, 0, 0, Route13_Blocks - dw Route14_Object ; objects diff --git a/data/mapHeaders/Route15.asm b/data/mapHeaders/Route15.asm deleted file mode 100755 index 5f66a521..00000000 --- a/data/mapHeaders/Route15.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route15_h:: - db OVERWORLD ; tileset - db ROUTE_15_HEIGHT, ROUTE_15_WIDTH ; dimensions (y, x) - dw Route15_Blocks ; blocks - dw Route15_TextPointers ; texts - dw Route15_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_15, FUCHSIA_CITY, -3, 1, FuchsiaCity_Blocks - EAST_MAP_CONNECTION ROUTE_15, ROUTE_14, -3, 15, Route14_Blocks - dw Route15_Object ; objects diff --git a/data/mapHeaders/Route15Gate1F.asm b/data/mapHeaders/Route15Gate1F.asm deleted file mode 100755 index d3f5a377..00000000 --- a/data/mapHeaders/Route15Gate1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route15Gate1F_h:: - db GATE ; tileset - db ROUTE_15_GATE_1F_HEIGHT, ROUTE_15_GATE_1F_WIDTH ; dimensions (y, x) - dw Route15Gate1F_Blocks ; blocks - dw Route15Gate1F_TextPointers ; texts - dw Route15Gate1F_Script ; scripts - db 0 ; connections - dw Route15Gate1F_Object ; objects diff --git a/data/mapHeaders/Route15Gate2F.asm b/data/mapHeaders/Route15Gate2F.asm deleted file mode 100755 index 87b05105..00000000 --- a/data/mapHeaders/Route15Gate2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route15Gate2F_h:: - db GATE ; tileset - db ROUTE_15_GATE_2F_HEIGHT, ROUTE_15_GATE_2F_WIDTH ; dimensions (y, x) - dw Route15Gate2F_Blocks ; blocks - dw Route15Gate2F_TextPointers ; texts - dw Route15Gate2F_Script ; scripts - db 0 ; connections - dw Route15Gate2F_Object ; objects diff --git a/data/mapHeaders/Route16.asm b/data/mapHeaders/Route16.asm deleted file mode 100755 index be436134..00000000 --- a/data/mapHeaders/Route16.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route16_h:: - db OVERWORLD ; tileset - db ROUTE_16_HEIGHT, ROUTE_16_WIDTH ; dimensions (y, x) - dw Route16_Blocks ; blocks - dw Route16_TextPointers ; texts - dw Route16_Script ; scripts - db SOUTH | EAST ; connections - SOUTH_MAP_CONNECTION ROUTE_16, ROUTE_17, 0, 0, Route17_Blocks - EAST_MAP_CONNECTION ROUTE_16, CELADON_CITY, -3, 1, CeladonCity_Blocks, 1 - dw Route16_Object ; objects diff --git a/data/mapHeaders/Route16FlyHouse.asm b/data/mapHeaders/Route16FlyHouse.asm deleted file mode 100755 index 6bc41d1d..00000000 --- a/data/mapHeaders/Route16FlyHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route16FlyHouse_h:: - db HOUSE ; tileset - db ROUTE_16_FLY_HOUSE_HEIGHT, ROUTE_16_FLY_HOUSE_WIDTH ; dimensions (y, x) - dw Route16FlyHouse_Blocks ; blocks - dw Route16FlyHouse_TextPointers ; texts - dw Route16FlyHouse_Script ; scripts - db 0 ; connections - dw Route16FlyHouse_Object ; objects diff --git a/data/mapHeaders/Route16Gate1F.asm b/data/mapHeaders/Route16Gate1F.asm deleted file mode 100755 index 16bbb30b..00000000 --- a/data/mapHeaders/Route16Gate1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route16Gate1F_h:: - db GATE ; tileset - db ROUTE_16_GATE_1F_HEIGHT, ROUTE_16_GATE_1F_WIDTH ; dimensions (y, x) - dw Route16Gate1F_Blocks ; blocks - dw Route16Gate1F_TextPointers ; texts - dw Route16Gate1F_Script ; scripts - db 0 ; connections - dw Route16Gate1F_Object ; objects diff --git a/data/mapHeaders/Route16Gate2F.asm b/data/mapHeaders/Route16Gate2F.asm deleted file mode 100755 index 600101c9..00000000 --- a/data/mapHeaders/Route16Gate2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route16Gate2F_h:: - db GATE ; tileset - db ROUTE_16_GATE_2F_HEIGHT, ROUTE_16_GATE_2F_WIDTH ; dimensions (y, x) - dw Route16Gate2F_Blocks ; blocks - dw Route16Gate2F_TextPointers ; texts - dw Route16Gate2F_Script ; scripts - db 0 ; connections - dw Route16Gate2F_Object ; objects diff --git a/data/mapHeaders/Route17.asm b/data/mapHeaders/Route17.asm deleted file mode 100755 index 32bdb541..00000000 --- a/data/mapHeaders/Route17.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route17_h:: - db OVERWORLD ; tileset - db ROUTE_17_HEIGHT, ROUTE_17_WIDTH ; dimensions (y, x) - dw Route17_Blocks ; blocks - dw Route17_TextPointers ; texts - dw Route17_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_17, ROUTE_16, 0, 0, Route16_Blocks - SOUTH_MAP_CONNECTION ROUTE_17, ROUTE_18, 0, 0, Route18_Blocks, 1 - dw Route17_Object ; objects diff --git a/data/mapHeaders/Route18.asm b/data/mapHeaders/Route18.asm deleted file mode 100755 index e0b5daef..00000000 --- a/data/mapHeaders/Route18.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route18_h:: - db OVERWORLD ; tileset - db ROUTE_18_HEIGHT, ROUTE_18_WIDTH ; dimensions (y, x) - dw Route18_Blocks ; blocks - dw Route18_TextPointers ; texts - dw Route18_Script ; scripts - db NORTH | EAST ; connections - NORTH_MAP_CONNECTION ROUTE_18, ROUTE_17, 0, 0, Route17_Blocks - EAST_MAP_CONNECTION ROUTE_18, FUCHSIA_CITY, -3, 1, FuchsiaCity_Blocks, 1 - dw Route18_Object ; objects diff --git a/data/mapHeaders/Route18Gate1F.asm b/data/mapHeaders/Route18Gate1F.asm deleted file mode 100755 index d04288d5..00000000 --- a/data/mapHeaders/Route18Gate1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route18Gate1F_h:: - db GATE ; tileset - db ROUTE_18_GATE_1F_HEIGHT, ROUTE_18_GATE_1F_WIDTH ; dimensions (y, x) - dw Route18Gate1F_Blocks ; blocks - dw Route18Gate1F_TextPointers ; texts - dw Route18Gate1F_Script ; scripts - db 0 ; connections - dw Route18Gate1F_Object ; objects diff --git a/data/mapHeaders/Route18Gate2F.asm b/data/mapHeaders/Route18Gate2F.asm deleted file mode 100755 index cf8c6d6a..00000000 --- a/data/mapHeaders/Route18Gate2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route18Gate2F_h:: - db GATE ; tileset - db ROUTE_18_GATE_2F_HEIGHT, ROUTE_18_GATE_2F_WIDTH ; dimensions (y, x) - dw Route18Gate2F_Blocks ; blocks - dw Route18Gate2F_TextPointers ; texts - dw Route18Gate2F_Script ; scripts - db 0 ; connections - dw Route18Gate2F_Object ; objects diff --git a/data/mapHeaders/Route19.asm b/data/mapHeaders/Route19.asm deleted file mode 100755 index 2b6c8ca2..00000000 --- a/data/mapHeaders/Route19.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route19_h:: - db OVERWORLD ; tileset - db ROUTE_19_HEIGHT, ROUTE_19_WIDTH ; dimensions (y, x) - dw Route19_Blocks ; blocks - dw Route19_TextPointers ; texts - dw Route19_Script ; scripts - db NORTH | WEST ; connections - NORTH_MAP_CONNECTION ROUTE_19, FUCHSIA_CITY, -3, 2, FuchsiaCity_Blocks - WEST_MAP_CONNECTION ROUTE_19, ROUTE_20, 18, 0, Route20_Blocks - dw Route19_Object ; objects diff --git a/data/mapHeaders/Route2.asm b/data/mapHeaders/Route2.asm deleted file mode 100755 index 6dc96c4e..00000000 --- a/data/mapHeaders/Route2.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route2_h:: - db OVERWORLD ; tileset - db ROUTE_2_HEIGHT, ROUTE_2_WIDTH ; dimensions (y, x) - dw Route2_Blocks ; blocks - dw Route2_TextPointers ; texts - dw Route2_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_2, PEWTER_CITY, -3, 2, PewterCity_Blocks - SOUTH_MAP_CONNECTION ROUTE_2, VIRIDIAN_CITY, -3, 2, ViridianCity_Blocks, 1 - dw Route2_Object ; objects diff --git a/data/mapHeaders/Route20.asm b/data/mapHeaders/Route20.asm deleted file mode 100755 index 03455c54..00000000 --- a/data/mapHeaders/Route20.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route20_h:: - db OVERWORLD ; tileset - db ROUTE_20_HEIGHT, ROUTE_20_WIDTH ; dimensions (y, x) - dw Route20_Blocks ; blocks - dw Route20_TextPointers ; texts - dw Route20_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_20, CINNABAR_ISLAND, 0, 0, CinnabarIsland_Blocks - EAST_MAP_CONNECTION ROUTE_20, ROUTE_19, -3, 15, Route19_Blocks - dw Route20_Object ; objects diff --git a/data/mapHeaders/Route21.asm b/data/mapHeaders/Route21.asm deleted file mode 100755 index 81e749e0..00000000 --- a/data/mapHeaders/Route21.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route21_h:: - db OVERWORLD ; tileset - db ROUTE_21_HEIGHT, ROUTE_21_WIDTH ; dimensions (y, x) - dw Route21_Blocks ; blocks - dw Route21_TextPointers ; texts - dw Route21_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_21, PALLET_TOWN, 0, 0, PalletTown_Blocks - SOUTH_MAP_CONNECTION ROUTE_21, CINNABAR_ISLAND, 0, 0, CinnabarIsland_Blocks, 1 - dw Route21_Object ; objects diff --git a/data/mapHeaders/Route22.asm b/data/mapHeaders/Route22.asm deleted file mode 100755 index 083652cc..00000000 --- a/data/mapHeaders/Route22.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route22_h:: - db OVERWORLD ; tileset - db ROUTE_22_HEIGHT, ROUTE_22_WIDTH ; dimensions (y, x) - dw Route22_Blocks ; blocks - dw Route22_TextPointers ; texts - dw Route22_Script ; scripts - db NORTH | EAST ; connections - NORTH_MAP_CONNECTION ROUTE_22, ROUTE_23, 0, 0, Route23_Blocks - EAST_MAP_CONNECTION ROUTE_22, VIRIDIAN_CITY, -3, 1, ViridianCity_Blocks, 1 - dw Route22_Object ; objects diff --git a/data/mapHeaders/Route22Gate.asm b/data/mapHeaders/Route22Gate.asm deleted file mode 100755 index b0fae3e4..00000000 --- a/data/mapHeaders/Route22Gate.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route22Gate_h:: - db GATE ; tileset - db ROUTE_22_GATE_HEIGHT, ROUTE_22_GATE_WIDTH ; dimensions (y, x) - dw Route22Gate_Blocks ; blocks - dw Route22Gate_TextPointers ; texts - dw Route22Gate_Script ; scripts - db 0 ; connections - dw Route22Gate_Object ; objects diff --git a/data/mapHeaders/Route23.asm b/data/mapHeaders/Route23.asm deleted file mode 100755 index 1bc27a5f..00000000 --- a/data/mapHeaders/Route23.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route23_h:: - db PLATEAU ; tileset - db ROUTE_23_HEIGHT, ROUTE_23_WIDTH ; dimensions (y, x) - dw Route23_Blocks ; blocks - dw Route23_TextPointers ; texts - dw Route23_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_23, INDIGO_PLATEAU, 0, 0, IndigoPlateau_Blocks - SOUTH_MAP_CONNECTION ROUTE_23, ROUTE_22, 0, 0, Route22_Blocks, 1 - dw Route23_Object ; objects diff --git a/data/mapHeaders/Route24.asm b/data/mapHeaders/Route24.asm deleted file mode 100755 index acb98d40..00000000 --- a/data/mapHeaders/Route24.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route24_h:: - db OVERWORLD ; tileset - db ROUTE_24_HEIGHT, ROUTE_24_WIDTH ; dimensions (y, x) - dw Route24_Blocks ; blocks - dw Route24_TextPointers ; texts - dw Route24_Script ; scripts - db SOUTH | EAST ; connections - SOUTH_MAP_CONNECTION ROUTE_24, CERULEAN_CITY, -3, 2, CeruleanCity_Blocks, 1 - EAST_MAP_CONNECTION ROUTE_24, ROUTE_25, 0, 0, Route25_Blocks - dw Route24_Object ; objects diff --git a/data/mapHeaders/Route25.asm b/data/mapHeaders/Route25.asm deleted file mode 100755 index d8da8583..00000000 --- a/data/mapHeaders/Route25.asm +++ /dev/null @@ -1,9 +0,0 @@ -Route25_h:: - db OVERWORLD ; tileset - db ROUTE_25_HEIGHT, ROUTE_25_WIDTH ; dimensions (y, x) - dw Route25_Blocks ; blocks - dw Route25_TextPointers ; texts - dw Route25_Script ; scripts - db WEST ; connections - WEST_MAP_CONNECTION ROUTE_25, ROUTE_24, 0, 0, Route24_Blocks - dw Route25_Object ; objects diff --git a/data/mapHeaders/Route2Gate.asm b/data/mapHeaders/Route2Gate.asm deleted file mode 100755 index 68581910..00000000 --- a/data/mapHeaders/Route2Gate.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route2Gate_h:: - db GATE ; tileset - db ROUTE_2_GATE_HEIGHT, ROUTE_2_GATE_WIDTH ; dimensions (y, x) - dw Route2Gate_Blocks ; blocks - dw Route2Gate_TextPointers ; texts - dw Route2Gate_Script ; scripts - db 0 ; connections - dw Route2Gate_Object ; objects diff --git a/data/mapHeaders/Route2TradeHouse.asm b/data/mapHeaders/Route2TradeHouse.asm deleted file mode 100755 index 98dc7aed..00000000 --- a/data/mapHeaders/Route2TradeHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route2TradeHouse_h:: - db HOUSE ; tileset - db ROUTE_2_TRADE_HOUSE_HEIGHT, ROUTE_2_TRADE_HOUSE_WIDTH ; dimensions (y, x) - dw Route2TradeHouse_Blocks ; blocks - dw Route2TradeHouse_TextPointers ; texts - dw Route2TradeHouse_Script ; scripts - db 0 ; connections - dw Route2TradeHouse_Object ; objects diff --git a/data/mapHeaders/Route3.asm b/data/mapHeaders/Route3.asm deleted file mode 100755 index a84b5bf9..00000000 --- a/data/mapHeaders/Route3.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route3_h:: - db OVERWORLD ; tileset - db ROUTE_3_HEIGHT, ROUTE_3_WIDTH ; dimensions (y, x) - dw Route3_Blocks ; blocks - dw Route3_TextPointers ; texts - dw Route3_Script ; scripts - db NORTH | WEST ; connections - NORTH_MAP_CONNECTION ROUTE_3, ROUTE_4, 25, 0, Route4_Blocks - WEST_MAP_CONNECTION ROUTE_3, PEWTER_CITY, -3, 1, PewterCity_Blocks - dw Route3_Object ; objects diff --git a/data/mapHeaders/Route4.asm b/data/mapHeaders/Route4.asm deleted file mode 100755 index d0d27d9c..00000000 --- a/data/mapHeaders/Route4.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route4_h:: - db OVERWORLD ; tileset - db ROUTE_4_HEIGHT, ROUTE_4_WIDTH ; dimensions (y, x) - dw Route4_Blocks ; blocks - dw Route4_TextPointers ; texts - dw Route4_Script ; scripts - db SOUTH | EAST ; connections - SOUTH_MAP_CONNECTION ROUTE_4, ROUTE_3, -3, 22, Route3_Blocks - EAST_MAP_CONNECTION ROUTE_4, CERULEAN_CITY, -3, 1, CeruleanCity_Blocks, 1 - dw Route4_Object ; objects diff --git a/data/mapHeaders/Route5.asm b/data/mapHeaders/Route5.asm deleted file mode 100755 index 5a0e0cd4..00000000 --- a/data/mapHeaders/Route5.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route5_h:: - db OVERWORLD ; tileset - db ROUTE_5_HEIGHT, ROUTE_5_WIDTH ; dimensions (y, x) - dw Route5_Blocks ; blocks - dw Route5_TextPointers ; texts - dw Route5_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_5, CERULEAN_CITY, -3, 2, CeruleanCity_Blocks - SOUTH_MAP_CONNECTION ROUTE_5, SAFFRON_CITY, -3, 2, SaffronCity_Blocks, 1 - dw Route5_Object ; objects diff --git a/data/mapHeaders/Route5Gate.asm b/data/mapHeaders/Route5Gate.asm deleted file mode 100755 index d5de72b4..00000000 --- a/data/mapHeaders/Route5Gate.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route5Gate_h:: - db GATE ; tileset - db ROUTE_5_GATE_HEIGHT, ROUTE_5_GATE_WIDTH ; dimensions (y, x) - dw Route5Gate_Blocks ; blocks - dw Route5Gate_TextPointers ; texts - dw Route5Gate_Script ; scripts - db 0 ; connections - dw Route5Gate_Object ; objects diff --git a/data/mapHeaders/Route6.asm b/data/mapHeaders/Route6.asm deleted file mode 100755 index 85cb1054..00000000 --- a/data/mapHeaders/Route6.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route6_h:: - db OVERWORLD ; tileset - db ROUTE_6_HEIGHT, ROUTE_6_WIDTH ; dimensions (y, x) - dw Route6_Blocks ; blocks - dw Route6_TextPointers ; texts - dw Route6_Script ; scripts - db NORTH | SOUTH ; connections - NORTH_MAP_CONNECTION ROUTE_6, SAFFRON_CITY, -3, 2, SaffronCity_Blocks - SOUTH_MAP_CONNECTION ROUTE_6, VERMILION_CITY, -3, 2, VermilionCity_Blocks, 1 - dw Route6_Object ; objects diff --git a/data/mapHeaders/Route6Gate.asm b/data/mapHeaders/Route6Gate.asm deleted file mode 100755 index e5896518..00000000 --- a/data/mapHeaders/Route6Gate.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route6Gate_h:: - db GATE ; tileset - db ROUTE_6_GATE_HEIGHT, ROUTE_6_GATE_WIDTH ; dimensions (y, x) - dw Route6Gate_Blocks ; blocks - dw Route6Gate_TextPointers ; texts - dw Route6Gate_Script ; scripts - db 0 ; connections - dw Route6Gate_Object ; objects diff --git a/data/mapHeaders/Route7.asm b/data/mapHeaders/Route7.asm deleted file mode 100755 index cb12c75a..00000000 --- a/data/mapHeaders/Route7.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route7_h:: - db OVERWORLD ; tileset - db ROUTE_7_HEIGHT, ROUTE_7_WIDTH ; dimensions (y, x) - dw Route7_Blocks ; blocks - dw Route7_TextPointers ; texts - dw Route7_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_7, CELADON_CITY, -3, 1, CeladonCity_Blocks - EAST_MAP_CONNECTION ROUTE_7, SAFFRON_CITY, -3, 1, SaffronCity_Blocks, 1 - dw Route7_Object ; objects diff --git a/data/mapHeaders/Route7Gate.asm b/data/mapHeaders/Route7Gate.asm deleted file mode 100755 index d8400dae..00000000 --- a/data/mapHeaders/Route7Gate.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route7Gate_h:: - db GATE ; tileset - db ROUTE_7_GATE_HEIGHT, ROUTE_7_GATE_WIDTH ; dimensions (y, x) - dw Route7Gate_Blocks ; blocks - dw Route7Gate_TextPointers ; texts - dw Route7Gate_Script ; scripts - db 0 ; connections - dw Route7Gate_Object ; objects diff --git a/data/mapHeaders/Route8.asm b/data/mapHeaders/Route8.asm deleted file mode 100755 index 482e12f9..00000000 --- a/data/mapHeaders/Route8.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route8_h:: - db OVERWORLD ; tileset - db ROUTE_8_HEIGHT, ROUTE_8_WIDTH ; dimensions (y, x) - dw Route8_Blocks ; blocks - dw Route8_TextPointers ; texts - dw Route8_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_8, SAFFRON_CITY, -3, 1, SaffronCity_Blocks - EAST_MAP_CONNECTION ROUTE_8, LAVENDER_TOWN, 0, 0, LavenderTown_Blocks - dw Route8_Object ; objects diff --git a/data/mapHeaders/Route8Gate.asm b/data/mapHeaders/Route8Gate.asm deleted file mode 100755 index 7599276b..00000000 --- a/data/mapHeaders/Route8Gate.asm +++ /dev/null @@ -1,8 +0,0 @@ -Route8Gate_h:: - db GATE ; tileset - db ROUTE_8_GATE_HEIGHT, ROUTE_8_GATE_WIDTH ; dimensions (y, x) - dw Route8Gate_Blocks ; blocks - dw Route8Gate_TextPointers ; texts - dw Route8Gate_Script ; scripts - db 0 ; connections - dw Route8Gate_Object ; objects diff --git a/data/mapHeaders/Route9.asm b/data/mapHeaders/Route9.asm deleted file mode 100755 index a0aef316..00000000 --- a/data/mapHeaders/Route9.asm +++ /dev/null @@ -1,10 +0,0 @@ -Route9_h:: - db OVERWORLD ; tileset - db ROUTE_9_HEIGHT, ROUTE_9_WIDTH ; dimensions (y, x) - dw Route9_Blocks ; blocks - dw Route9_TextPointers ; texts - dw Route9_Script ; scripts - db WEST | EAST ; connections - WEST_MAP_CONNECTION ROUTE_9, CERULEAN_CITY, -3, 1, CeruleanCity_Blocks - EAST_MAP_CONNECTION ROUTE_9, ROUTE_10, 0, 0, Route10_Blocks, 1 - dw Route9_Object ; objects diff --git a/data/mapHeaders/SSAnne1F.asm b/data/mapHeaders/SSAnne1F.asm deleted file mode 100755 index 3b82a4ed..00000000 --- a/data/mapHeaders/SSAnne1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SSAnne1F_h:: - db SHIP ; tileset - db SS_ANNE_1F_HEIGHT, SS_ANNE_1F_WIDTH ; dimensions (y, x) - dw SSAnne1F_Blocks ; blocks - dw SSAnne1F_TextPointers ; texts - dw SSAnne1F_Script ; scripts - db 0 ; connections - dw SSAnne1F_Object ; objects diff --git a/data/mapHeaders/SSAnne1FRooms.asm b/data/mapHeaders/SSAnne1FRooms.asm deleted file mode 100755 index 14260765..00000000 --- a/data/mapHeaders/SSAnne1FRooms.asm +++ /dev/null @@ -1,8 +0,0 @@ -SSAnne1FRooms_h:: - db SHIP ; tileset - db SS_ANNE_1F_ROOMS_HEIGHT, SS_ANNE_1F_ROOMS_WIDTH ; dimensions (y, x) - dw SSAnne1FRooms_Blocks ; blocks - dw SSAnne1FRooms_TextPointers ; texts - dw SSAnne1FRooms_Script ; scripts - db 0 ; connections - dw SSAnne1FRooms_Object ; objects diff --git a/data/mapHeaders/SSAnne2F.asm b/data/mapHeaders/SSAnne2F.asm deleted file mode 100755 index aef34599..00000000 --- a/data/mapHeaders/SSAnne2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SSAnne2F_h:: - db SHIP ; tileset - db SS_ANNE_2F_HEIGHT, SS_ANNE_2F_WIDTH ; dimensions (y, x) - dw SSAnne2F_Blocks ; blocks - dw SSAnne2F_TextPointers ; texts - dw SSAnne2F_Script ; scripts - db 0 ; connections - dw SSAnne2F_Object ; objects diff --git a/data/mapHeaders/SSAnne2FRooms.asm b/data/mapHeaders/SSAnne2FRooms.asm deleted file mode 100755 index 12ecca80..00000000 --- a/data/mapHeaders/SSAnne2FRooms.asm +++ /dev/null @@ -1,8 +0,0 @@ -SSAnne2FRooms_h:: - db SHIP ; tileset - db SS_ANNE_2F_ROOMS_HEIGHT, SS_ANNE_2F_ROOMS_WIDTH ; dimensions (y, x) - dw SSAnne2FRooms_Blocks ; blocks - dw SSAnne2FRooms_TextPointers ; texts - dw SSAnne2FRooms_Script ; scripts - db 0 ; connections - dw SSAnne2FRooms_Object ; objects diff --git a/data/mapHeaders/SSAnne3F.asm b/data/mapHeaders/SSAnne3F.asm deleted file mode 100755 index 22ddfa03..00000000 --- a/data/mapHeaders/SSAnne3F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SSAnne3F_h:: - db SHIP ; tileset - db SS_ANNE_3F_HEIGHT, SS_ANNE_3F_WIDTH ; dimensions (y, x) - dw SSAnne3F_Blocks ; blocks - dw SSAnne3F_TextPointers ; texts - dw SSAnne3F_Script ; scripts - db 0 ; connections - dw SSAnne3F_Object ; objects diff --git a/data/mapHeaders/SSAnneB1F.asm b/data/mapHeaders/SSAnneB1F.asm deleted file mode 100755 index 28f0bbe3..00000000 --- a/data/mapHeaders/SSAnneB1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SSAnneB1F_h:: - db SHIP ; tileset - db SS_ANNE_B1F_HEIGHT, SS_ANNE_B1F_WIDTH ; dimensions (y, x) - dw SSAnneB1F_Blocks ; blocks - dw SSAnneB1F_TextPointers ; texts - dw SSAnneB1F_Script ; scripts - db 0 ; connections - dw SSAnneB1F_Object ; objects diff --git a/data/mapHeaders/SSAnneB1FRooms.asm b/data/mapHeaders/SSAnneB1FRooms.asm deleted file mode 100755 index 3d439984..00000000 --- a/data/mapHeaders/SSAnneB1FRooms.asm +++ /dev/null @@ -1,8 +0,0 @@ -SSAnneB1FRooms_h:: - db SHIP ; tileset - db SS_ANNE_B1F_ROOMS_HEIGHT, SS_ANNE_B1F_ROOMS_WIDTH ; dimensions (y, x) - dw SSAnneB1FRooms_Blocks ; blocks - dw SSAnneB1FRooms_TextPointers ; texts - dw SSAnneB1FRooms_Script ; scripts - db 0 ; connections - dw SSAnneB1FRooms_Object ; objects diff --git a/data/mapHeaders/SSAnneBow.asm b/data/mapHeaders/SSAnneBow.asm deleted file mode 100755 index 1b1be8cb..00000000 --- a/data/mapHeaders/SSAnneBow.asm +++ /dev/null @@ -1,8 +0,0 @@ -SSAnneBow_h:: - db SHIP ; tileset - db SS_ANNE_BOW_HEIGHT, SS_ANNE_BOW_WIDTH ; dimensions (y, x) - dw SSAnneBow_Blocks ; blocks - dw SSAnneBow_TextPointers ; texts - dw SSAnneBow_Script ; scripts - db 0 ; connections - dw SSAnneBow_Object ; objects diff --git a/data/mapHeaders/SSAnneCaptainsRoom.asm b/data/mapHeaders/SSAnneCaptainsRoom.asm deleted file mode 100755 index 78522804..00000000 --- a/data/mapHeaders/SSAnneCaptainsRoom.asm +++ /dev/null @@ -1,8 +0,0 @@ -SSAnneCaptainsRoom_h:: - db SHIP ; tileset - db SS_ANNE_CAPTAINS_ROOM_HEIGHT, SS_ANNE_CAPTAINS_ROOM_WIDTH ; dimensions (y, x) - dw SSAnneCaptainsRoom_Blocks ; blocks - dw SSAnneCaptainsRoom_TextPointers ; texts - dw SSAnneCaptainsRoom_Script ; scripts - db 0 ; connections - dw SSAnneCaptainsRoom_Object ; objects diff --git a/data/mapHeaders/SSAnneKitchen.asm b/data/mapHeaders/SSAnneKitchen.asm deleted file mode 100755 index e4c6c472..00000000 --- a/data/mapHeaders/SSAnneKitchen.asm +++ /dev/null @@ -1,8 +0,0 @@ -SSAnneKitchen_h:: - db SHIP ; tileset - db SS_ANNE_KITCHEN_HEIGHT, SS_ANNE_KITCHEN_WIDTH ; dimensions (y, x) - dw SSAnneKitchen_Blocks ; blocks - dw SSAnneKitchen_TextPointers ; texts - dw SSAnneKitchen_Script ; scripts - db 0 ; connections - dw SSAnneKitchen_Object ; objects diff --git a/data/mapHeaders/SafariZoneCenter.asm b/data/mapHeaders/SafariZoneCenter.asm deleted file mode 100755 index a6e98bc3..00000000 --- a/data/mapHeaders/SafariZoneCenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -SafariZoneCenter_h:: - db FOREST ; tileset - db SAFARI_ZONE_CENTER_HEIGHT, SAFARI_ZONE_CENTER_WIDTH ; dimensions (y, x) - dw SafariZoneCenter_Blocks ; blocks - dw SafariZoneCenter_TextPointers ; texts - dw SafariZoneCenter_Script ; scripts - db 0 ; connections - dw SafariZoneCenter_Object ; objects diff --git a/data/mapHeaders/SafariZoneCenterRestHouse.asm b/data/mapHeaders/SafariZoneCenterRestHouse.asm deleted file mode 100755 index 3dc9fba2..00000000 --- a/data/mapHeaders/SafariZoneCenterRestHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -SafariZoneCenterRestHouse_h:: - db GATE ; tileset - db SAFARI_ZONE_CENTER_REST_HOUSE_HEIGHT, SAFARI_ZONE_CENTER_REST_HOUSE_WIDTH ; dimensions (y, x) - dw SafariZoneCenterRestHouse_Blocks ; blocks - dw SafariZoneCenterRestHouse_TextPointers ; texts - dw SafariZoneCenterRestHouse_Script ; scripts - db 0 ; connections - dw SafariZoneCenterRestHouse_Object ; objects diff --git a/data/mapHeaders/SafariZoneEast.asm b/data/mapHeaders/SafariZoneEast.asm deleted file mode 100755 index 4f9c0989..00000000 --- a/data/mapHeaders/SafariZoneEast.asm +++ /dev/null @@ -1,8 +0,0 @@ -SafariZoneEast_h:: - db FOREST ; tileset - db SAFARI_ZONE_EAST_HEIGHT, SAFARI_ZONE_EAST_WIDTH ; dimensions (y, x) - dw SafariZoneEast_Blocks ; blocks - dw SafariZoneEast_TextPointers ; texts - dw SafariZoneEast_Script ; scripts - db 0 ; connections - dw SafariZoneEast_Object ; objects diff --git a/data/mapHeaders/SafariZoneEastRestHouse.asm b/data/mapHeaders/SafariZoneEastRestHouse.asm deleted file mode 100755 index 4afa17c4..00000000 --- a/data/mapHeaders/SafariZoneEastRestHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -SafariZoneEastRestHouse_h:: - db GATE ; tileset - db SAFARI_ZONE_EAST_REST_HOUSE_HEIGHT, SAFARI_ZONE_EAST_REST_HOUSE_WIDTH ; dimensions (y, x) - dw SafariZoneEastRestHouse_Blocks ; blocks - dw SafariZoneEastRestHouse_TextPointers ; texts - dw SafariZoneEastRestHouse_Script ; scripts - db 0 ; connections - dw SafariZoneEastRestHouse_Object ; objects diff --git a/data/mapHeaders/SafariZoneGate.asm b/data/mapHeaders/SafariZoneGate.asm deleted file mode 100755 index 49d56b52..00000000 --- a/data/mapHeaders/SafariZoneGate.asm +++ /dev/null @@ -1,8 +0,0 @@ -SafariZoneGate_h:: - db GATE ; tileset - db SAFARI_ZONE_GATE_HEIGHT, SAFARI_ZONE_GATE_WIDTH ; dimensions (y, x) - dw SafariZoneGate_Blocks ; blocks - dw SafariZoneGate_TextPointers ; texts - dw SafariZoneGate_Script ; scripts - db 0 ; connections - dw SafariZoneGate_Object ; objects diff --git a/data/mapHeaders/SafariZoneNorth.asm b/data/mapHeaders/SafariZoneNorth.asm deleted file mode 100755 index a8364c74..00000000 --- a/data/mapHeaders/SafariZoneNorth.asm +++ /dev/null @@ -1,8 +0,0 @@ -SafariZoneNorth_h:: - db FOREST ; tileset - db SAFARI_ZONE_NORTH_HEIGHT, SAFARI_ZONE_NORTH_WIDTH ; dimensions (y, x) - dw SafariZoneNorth_Blocks ; blocks - dw SafariZoneNorth_TextPointers ; texts - dw SafariZoneNorth_Script ; scripts - db 0 ; connections - dw SafariZoneNorth_Object ; objects diff --git a/data/mapHeaders/SafariZoneNorthRestHouse.asm b/data/mapHeaders/SafariZoneNorthRestHouse.asm deleted file mode 100755 index faf16451..00000000 --- a/data/mapHeaders/SafariZoneNorthRestHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -SafariZoneNorthRestHouse_h:: - db GATE ; tileset - db SAFARI_ZONE_NORTH_REST_HOUSE_HEIGHT, SAFARI_ZONE_NORTH_REST_HOUSE_WIDTH ; dimensions (y, x) - dw SafariZoneNorthRestHouse_Blocks ; blocks - dw SafariZoneNorthRestHouse_TextPointers ; texts - dw SafariZoneNorthRestHouse_Script ; scripts - db 0 ; connections - dw SafariZoneNorthRestHouse_Object ; objects diff --git a/data/mapHeaders/SafariZoneSecretHouse.asm b/data/mapHeaders/SafariZoneSecretHouse.asm deleted file mode 100755 index 1db35d37..00000000 --- a/data/mapHeaders/SafariZoneSecretHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -SafariZoneSecretHouse_h:: - db LAB ; tileset - db SAFARI_ZONE_SECRET_HOUSE_HEIGHT, SAFARI_ZONE_SECRET_HOUSE_WIDTH ; dimensions (y, x) - dw SafariZoneSecretHouse_Blocks ; blocks - dw SafariZoneSecretHouse_TextPointers ; texts - dw SafariZoneSecretHouse_Script ; scripts - db 0 ; connections - dw SafariZoneSecretHouse_Object ; objects diff --git a/data/mapHeaders/SafariZoneWest.asm b/data/mapHeaders/SafariZoneWest.asm deleted file mode 100755 index 00fd7d91..00000000 --- a/data/mapHeaders/SafariZoneWest.asm +++ /dev/null @@ -1,8 +0,0 @@ -SafariZoneWest_h:: - db FOREST ; tileset - db SAFARI_ZONE_WEST_HEIGHT, SAFARI_ZONE_WEST_WIDTH ; dimensions (y, x) - dw SafariZoneWest_Blocks ; blocks - dw SafariZoneWest_TextPointers ; texts - dw SafariZoneWest_Script ; scripts - db 0 ; connections - dw SafariZoneWest_Object ; objects diff --git a/data/mapHeaders/SafariZoneWestRestHouse.asm b/data/mapHeaders/SafariZoneWestRestHouse.asm deleted file mode 100755 index 6b630df3..00000000 --- a/data/mapHeaders/SafariZoneWestRestHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -SafariZoneWestRestHouse_h:: - db GATE ; tileset - db SAFARI_ZONE_WEST_REST_HOUSE_HEIGHT, SAFARI_ZONE_WEST_REST_HOUSE_WIDTH ; dimensions (y, x) - dw SafariZoneWestRestHouse_Blocks ; blocks - dw SafariZoneWestRestHouse_TextPointers ; texts - dw SafariZoneWestRestHouse_Script ; scripts - db 0 ; connections - dw SafariZoneWestRestHouse_Object ; objects diff --git a/data/mapHeaders/SaffronCity.asm b/data/mapHeaders/SaffronCity.asm deleted file mode 100755 index c7a498de..00000000 --- a/data/mapHeaders/SaffronCity.asm +++ /dev/null @@ -1,12 +0,0 @@ -SaffronCity_h:: - db OVERWORLD ; tileset - db SAFFRON_CITY_HEIGHT, SAFFRON_CITY_WIDTH ; dimensions (y, x) - dw SaffronCity_Blocks ; blocks - dw SaffronCity_TextPointers ; texts - dw SaffronCity_Script ; scripts - db NORTH | SOUTH | WEST | EAST ; connections - NORTH_MAP_CONNECTION SAFFRON_CITY, ROUTE_5, 5, 0, Route5_Blocks - SOUTH_MAP_CONNECTION SAFFRON_CITY, ROUTE_6, 5, 0, Route6_Blocks, 1 - WEST_MAP_CONNECTION SAFFRON_CITY, ROUTE_7, 4, 0, Route7_Blocks - EAST_MAP_CONNECTION SAFFRON_CITY, ROUTE_8, 4, 0, Route8_Blocks - dw SaffronCity_Object ; objects diff --git a/data/mapHeaders/SaffronGym.asm b/data/mapHeaders/SaffronGym.asm deleted file mode 100755 index d9ca460d..00000000 --- a/data/mapHeaders/SaffronGym.asm +++ /dev/null @@ -1,8 +0,0 @@ -SaffronGym_h:: - db FACILITY ; tileset - db SAFFRON_GYM_HEIGHT, SAFFRON_GYM_WIDTH ; dimensions (y, x) - dw SaffronGym_Blocks ; blocks - dw SaffronGym_TextPointers ; texts - dw SaffronGym_Script ; scripts - db 0 ; connections - dw SaffronGym_Object ; objects diff --git a/data/mapHeaders/SaffronMart.asm b/data/mapHeaders/SaffronMart.asm deleted file mode 100755 index d8c477a4..00000000 --- a/data/mapHeaders/SaffronMart.asm +++ /dev/null @@ -1,8 +0,0 @@ -SaffronMart_h:: - db MART ; tileset - db SAFFRON_MART_HEIGHT, SAFFRON_MART_WIDTH ; dimensions (y, x) - dw SaffronMart_Blocks ; blocks - dw SaffronMart_TextPointers ; texts - dw SaffronMart_Script ; scripts - db 0 ; connections - dw SaffronMart_Object ; objects diff --git a/data/mapHeaders/SaffronPidgeyHouse.asm b/data/mapHeaders/SaffronPidgeyHouse.asm deleted file mode 100755 index 8e2e8b47..00000000 --- a/data/mapHeaders/SaffronPidgeyHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -SaffronPidgeyHouse_h:: - db HOUSE ; tileset - db SAFFRON_PIDGEY_HOUSE_HEIGHT, SAFFRON_PIDGEY_HOUSE_WIDTH ; dimensions (y, x) - dw SaffronPidgeyHouse_Blocks ; blocks - dw SaffronPidgeyHouse_TextPointers ; texts - dw SaffronPidgeyHouse_Script ; scripts - db 0 ; connections - dw SaffronPidgeyHouse_Object ; objects diff --git a/data/mapHeaders/SaffronPokecenter.asm b/data/mapHeaders/SaffronPokecenter.asm deleted file mode 100755 index 18f7a7de..00000000 --- a/data/mapHeaders/SaffronPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -SaffronPokecenter_h:: - db POKECENTER ; tileset - db SAFFRON_POKECENTER_HEIGHT, SAFFRON_POKECENTER_WIDTH ; dimensions (y, x) - dw SaffronPokecenter_Blocks ; blocks - dw SaffronPokecenter_TextPointers ; texts - dw SaffronPokecenter_Script ; scripts - db 0 ; connections - dw SaffronPokecenter_Object ; objects diff --git a/data/mapHeaders/SeafoamIslands1F.asm b/data/mapHeaders/SeafoamIslands1F.asm deleted file mode 100755 index 67df46fa..00000000 --- a/data/mapHeaders/SeafoamIslands1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SeafoamIslands1F_h:: - db CAVERN ; tileset - db SEAFOAM_ISLANDS_1F_HEIGHT, SEAFOAM_ISLANDS_1F_WIDTH ; dimensions (y, x) - dw SeafoamIslands1F_Blocks ; blocks - dw SeafoamIslands1F_TextPointers ; texts - dw SeafoamIslands1F_Script ; scripts - db 0 ; connections - dw SeafoamIslands1F_Object ; objects diff --git a/data/mapHeaders/SeafoamIslandsB1F.asm b/data/mapHeaders/SeafoamIslandsB1F.asm deleted file mode 100755 index e1a667b6..00000000 --- a/data/mapHeaders/SeafoamIslandsB1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SeafoamIslandsB1F_h:: - db CAVERN ; tileset - db SEAFOAM_ISLANDS_B1F_HEIGHT, SEAFOAM_ISLANDS_B1F_WIDTH ; dimensions (y, x) - dw SeafoamIslandsB1F_Blocks ; blocks - dw SeafoamIslandsB1F_TextPointers ; texts - dw SeafoamIslandsB1F_Script ; scripts - db 0 ; connections - dw SeafoamIslandsB1F_Object ; objects diff --git a/data/mapHeaders/SeafoamIslandsB2F.asm b/data/mapHeaders/SeafoamIslandsB2F.asm deleted file mode 100755 index d8074e20..00000000 --- a/data/mapHeaders/SeafoamIslandsB2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SeafoamIslandsB2F_h:: - db CAVERN ; tileset - db SEAFOAM_ISLANDS_B2F_HEIGHT, SEAFOAM_ISLANDS_B2F_WIDTH ; dimensions (y, x) - dw SeafoamIslandsB2F_Blocks ; blocks - dw SeafoamIslandsB2F_TextPointers ; texts - dw SeafoamIslandsB2F_Script ; scripts - db 0 ; connections - dw SeafoamIslandsB2F_Object ; objects diff --git a/data/mapHeaders/SeafoamIslandsB3F.asm b/data/mapHeaders/SeafoamIslandsB3F.asm deleted file mode 100755 index 2976a45b..00000000 --- a/data/mapHeaders/SeafoamIslandsB3F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SeafoamIslandsB3F_h:: - db CAVERN ; tileset - db SEAFOAM_ISLANDS_B3F_HEIGHT, SEAFOAM_ISLANDS_B3F_WIDTH ; dimensions (y, x) - dw SeafoamIslandsB3F_Blocks ; blocks - dw SeafoamIslandsB3F_TextPointers ; texts - dw SeafoamIslandsB3F_Script ; scripts - db 0 ; connections - dw SeafoamIslandsB3F_Object ; objects diff --git a/data/mapHeaders/SeafoamIslandsB4F.asm b/data/mapHeaders/SeafoamIslandsB4F.asm deleted file mode 100755 index fcc98db5..00000000 --- a/data/mapHeaders/SeafoamIslandsB4F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SeafoamIslandsB4F_h:: - db CAVERN ; tileset - db SEAFOAM_ISLANDS_B4F_HEIGHT, SEAFOAM_ISLANDS_B4F_WIDTH ; dimensions (y, x) - dw SeafoamIslandsB4F_Blocks ; blocks - dw SeafoamIslandsB4F_TextPointers ; texts - dw SeafoamIslandsB4F_Script ; scripts - db 0 ; connections - dw SeafoamIslandsB4F_Object ; objects diff --git a/data/mapHeaders/SilphCo10F.asm b/data/mapHeaders/SilphCo10F.asm deleted file mode 100755 index be016e65..00000000 --- a/data/mapHeaders/SilphCo10F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo10F_h:: - db FACILITY ; tileset - db SILPH_CO_10F_HEIGHT, SILPH_CO_10F_WIDTH ; dimensions (y, x) - dw SilphCo10F_Blocks ; blocks - dw SilphCo10F_TextPointers ; texts - dw SilphCo10F_Script ; scripts - db 0 ; connections - dw SilphCo10F_Object ; objects diff --git a/data/mapHeaders/SilphCo11F.asm b/data/mapHeaders/SilphCo11F.asm deleted file mode 100755 index c16255dd..00000000 --- a/data/mapHeaders/SilphCo11F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo11F_h:: - db INTERIOR ; tileset - db SILPH_CO_11F_HEIGHT, SILPH_CO_11F_WIDTH ; dimensions (y, x) - dw SilphCo11F_Blocks ; blocks - dw SilphCo11F_TextPointers ; texts - dw SilphCo11F_Script ; scripts - db 0 ; connections - dw SilphCo11F_Object ; objects diff --git a/data/mapHeaders/SilphCo1F.asm b/data/mapHeaders/SilphCo1F.asm deleted file mode 100755 index 0109677e..00000000 --- a/data/mapHeaders/SilphCo1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo1F_h:: - db FACILITY ; tileset - db SILPH_CO_1F_HEIGHT, SILPH_CO_1F_WIDTH ; dimensions (y, x) - dw SilphCo1F_Blocks ; blocks - dw SilphCo1F_TextPointers ; texts - dw SilphCo1F_Script ; scripts - db 0 ; connections - dw SilphCo1F_Object ; objects diff --git a/data/mapHeaders/SilphCo2F.asm b/data/mapHeaders/SilphCo2F.asm deleted file mode 100755 index c9a21b17..00000000 --- a/data/mapHeaders/SilphCo2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo2F_h:: - db FACILITY ; tileset - db SILPH_CO_2F_HEIGHT, SILPH_CO_2F_WIDTH ; dimensions (y, x) - dw SilphCo2F_Blocks ; blocks - dw SilphCo2F_TextPointers ; texts - dw SilphCo2F_Script ; scripts - db 0 ; connections - dw SilphCo2F_Object ; objects diff --git a/data/mapHeaders/SilphCo3F.asm b/data/mapHeaders/SilphCo3F.asm deleted file mode 100755 index bd027dba..00000000 --- a/data/mapHeaders/SilphCo3F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo3F_h:: - db FACILITY ; tileset - db SILPH_CO_3F_HEIGHT, SILPH_CO_3F_WIDTH ; dimensions (y, x) - dw SilphCo3F_Blocks ; blocks - dw SilphCo3F_TextPointers ; texts - dw SilphCo3F_Script ; scripts - db 0 ; connections - dw SilphCo3F_Object ; objects diff --git a/data/mapHeaders/SilphCo4F.asm b/data/mapHeaders/SilphCo4F.asm deleted file mode 100755 index 6f45da8d..00000000 --- a/data/mapHeaders/SilphCo4F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo4F_h:: - db FACILITY ; tileset - db SILPH_CO_4F_HEIGHT, SILPH_CO_4F_WIDTH ; dimensions (y, x) - dw SilphCo4F_Blocks ; blocks - dw SilphCo4F_TextPointers ; texts - dw SilphCo4F_Script ; scripts - db 0 ; connections - dw SilphCo4F_Object ; objects diff --git a/data/mapHeaders/SilphCo5F.asm b/data/mapHeaders/SilphCo5F.asm deleted file mode 100755 index 355aa258..00000000 --- a/data/mapHeaders/SilphCo5F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo5F_h:: - db FACILITY ; tileset - db SILPH_CO_5F_HEIGHT, SILPH_CO_5F_WIDTH ; dimensions (y, x) - dw SilphCo5F_Blocks ; blocks - dw SilphCo5F_TextPointers ; texts - dw SilphCo5F_Script ; scripts - db 0 ; connections - dw SilphCo5F_Object ; objects diff --git a/data/mapHeaders/SilphCo6F.asm b/data/mapHeaders/SilphCo6F.asm deleted file mode 100755 index 732248ac..00000000 --- a/data/mapHeaders/SilphCo6F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo6F_h:: - db FACILITY ; tileset - db SILPH_CO_6F_HEIGHT, SILPH_CO_6F_WIDTH ; dimensions (y, x) - dw SilphCo6F_Blocks ; blocks - dw SilphCo6F_TextPointers ; texts - dw SilphCo6F_Script ; scripts - db 0 ; connections - dw SilphCo6F_Object ; objects diff --git a/data/mapHeaders/SilphCo7F.asm b/data/mapHeaders/SilphCo7F.asm deleted file mode 100755 index 116e0342..00000000 --- a/data/mapHeaders/SilphCo7F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo7F_h:: - db FACILITY ; tileset - db SILPH_CO_7F_HEIGHT, SILPH_CO_7F_WIDTH ; dimensions (y, x) - dw SilphCo7F_Blocks ; blocks - dw SilphCo7F_TextPointers ; texts - dw SilphCo7F_Script ; scripts - db 0 ; connections - dw SilphCo7F_Object ; objects diff --git a/data/mapHeaders/SilphCo8F.asm b/data/mapHeaders/SilphCo8F.asm deleted file mode 100755 index 6d1c7faf..00000000 --- a/data/mapHeaders/SilphCo8F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo8F_h:: - db FACILITY ; tileset - db SILPH_CO_8F_HEIGHT, SILPH_CO_8F_WIDTH ; dimensions (y, x) - dw SilphCo8F_Blocks ; blocks - dw SilphCo8F_TextPointers ; texts - dw SilphCo8F_Script ; scripts - db 0 ; connections - dw SilphCo8F_Object ; objects diff --git a/data/mapHeaders/SilphCo9F.asm b/data/mapHeaders/SilphCo9F.asm deleted file mode 100755 index 3465e2fc..00000000 --- a/data/mapHeaders/SilphCo9F.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCo9F_h:: - db FACILITY ; tileset - db SILPH_CO_9F_HEIGHT, SILPH_CO_9F_WIDTH ; dimensions (y, x) - dw SilphCo9F_Blocks ; blocks - dw SilphCo9F_TextPointers ; texts - dw SilphCo9F_Script ; scripts - db 0 ; connections - dw SilphCo9F_Object ; objects diff --git a/data/mapHeaders/SilphCoElevator.asm b/data/mapHeaders/SilphCoElevator.asm deleted file mode 100755 index 5bf164da..00000000 --- a/data/mapHeaders/SilphCoElevator.asm +++ /dev/null @@ -1,8 +0,0 @@ -SilphCoElevator_h:: - db LOBBY ; tileset - db SILPH_CO_ELEVATOR_HEIGHT, SILPH_CO_ELEVATOR_WIDTH ; dimensions (y, x) - dw SilphCoElevator_Blocks ; blocks - dw SilphCoElevator_TextPointers ; texts - dw SilphCoElevator_Script ; scripts - db 0 ; connections - dw SilphCoElevator_Object ; objects diff --git a/data/mapHeaders/TradeCenter.asm b/data/mapHeaders/TradeCenter.asm deleted file mode 100755 index 584cf3c6..00000000 --- a/data/mapHeaders/TradeCenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -TradeCenter_h:: - db CLUB ; tileset - db TRADE_CENTER_HEIGHT, TRADE_CENTER_WIDTH ; dimensions (y, x) - dw TradeCenter_Blocks ; blocks - dw TradeCenter_TextPointers ; texts - dw TradeCenter_Script ; scripts - db 0 ; connections - dw TradeCenter_Object ; objects diff --git a/data/mapHeaders/UndergroundPathNorthSouth.asm b/data/mapHeaders/UndergroundPathNorthSouth.asm deleted file mode 100755 index 1443d875..00000000 --- a/data/mapHeaders/UndergroundPathNorthSouth.asm +++ /dev/null @@ -1,8 +0,0 @@ -UndergroundPathNorthSouth_h:: - db UNDERGROUND ; tileset - db UNDERGROUND_PATH_NORTH_SOUTH_HEIGHT, UNDERGROUND_PATH_NORTH_SOUTH_WIDTH ; dimensions (y, x) - dw UndergroundPathNorthSouth_Blocks ; blocks - dw UndergroundPathNorthSouth_TextPointers ; texts - dw UndergroundPathNorthSouth_Script ; scripts - db 0 ; connections - dw UndergroundPathNorthSouth_Object ; objects diff --git a/data/mapHeaders/UndergroundPathRoute5.asm b/data/mapHeaders/UndergroundPathRoute5.asm deleted file mode 100755 index 769bd1c0..00000000 --- a/data/mapHeaders/UndergroundPathRoute5.asm +++ /dev/null @@ -1,8 +0,0 @@ -UndergroundPathRoute5_h:: - db GATE ; tileset - db UNDERGROUND_PATH_ROUTE_5_HEIGHT, UNDERGROUND_PATH_ROUTE_5_WIDTH ; dimensions (y, x) - dw UndergroundPathRoute5_Blocks ; blocks - dw UndergroundPathRoute5_TextPointers ; texts - dw UndergroundPathRoute5_Script ; scripts - db 0 ; connections - dw UndergroundPathRoute5_Object ; objects diff --git a/data/mapHeaders/UndergroundPathRoute6.asm b/data/mapHeaders/UndergroundPathRoute6.asm deleted file mode 100755 index f2a5beb7..00000000 --- a/data/mapHeaders/UndergroundPathRoute6.asm +++ /dev/null @@ -1,8 +0,0 @@ -UndergroundPathRoute6_h:: - db GATE ; tileset - db UNDERGROUND_PATH_ROUTE_6_HEIGHT, UNDERGROUND_PATH_ROUTE_6_WIDTH ; dimensions (y, x) - dw UndergroundPathRoute6_Blocks ; blocks - dw UndergroundPathRoute6_TextPointers ; texts - dw UndergroundPathRoute6_Script ; scripts - db 0 ; connections - dw UndergroundPathRoute6_Object ; objects diff --git a/data/mapHeaders/UndergroundPathRoute7.asm b/data/mapHeaders/UndergroundPathRoute7.asm deleted file mode 100755 index b8120ef4..00000000 --- a/data/mapHeaders/UndergroundPathRoute7.asm +++ /dev/null @@ -1,8 +0,0 @@ -UndergroundPathRoute7_h:: - db GATE ; tileset - db UNDERGROUND_PATH_ROUTE_7_HEIGHT, UNDERGROUND_PATH_ROUTE_7_WIDTH ; dimensions (y, x) - dw UndergroundPathRoute7_Blocks ; blocks - dw UndergroundPathRoute7_TextPointers ; texts - dw UndergroundPathRoute7_Script ; scripts - db 0 ; connections - dw UndergroundPathRoute7_Object ; objects diff --git a/data/mapHeaders/UndergroundPathRoute7Copy.asm b/data/mapHeaders/UndergroundPathRoute7Copy.asm deleted file mode 100755 index 2ccdac57..00000000 --- a/data/mapHeaders/UndergroundPathRoute7Copy.asm +++ /dev/null @@ -1,8 +0,0 @@ -UndergroundPathRoute7Copy_h:: - db GATE ; tileset - db UNDERGROUND_PATH_ROUTE_7_HEIGHT, UNDERGROUND_PATH_ROUTE_7_WIDTH ; dimensions (y, x) - dw UndergroundPathRoute7Copy_Blocks ; blocks - dw UndergroundPathRoute7Copy_TextPointers ; texts - dw UndergroundPathRoute7Copy_Script ; scripts - db 0 ; connections - dw UndergroundPathRoute7Copy_Object ; objects diff --git a/data/mapHeaders/UndergroundPathRoute8.asm b/data/mapHeaders/UndergroundPathRoute8.asm deleted file mode 100755 index a1971c3c..00000000 --- a/data/mapHeaders/UndergroundPathRoute8.asm +++ /dev/null @@ -1,8 +0,0 @@ -UndergroundPathRoute8_h:: - db GATE ; tileset - db UNDERGROUND_PATH_ROUTE_8_HEIGHT, UNDERGROUND_PATH_ROUTE_8_WIDTH ; dimensions (y, x) - dw UndergroundPathRoute8_Blocks ; blocks - dw UndergroundPathRoute8_TextPointers ; texts - dw UndergroundPathRoute8_Script ; scripts - db 0 ; connections - dw UndergroundPathRoute8_Object ; objects diff --git a/data/mapHeaders/UndergroundPathWestEast.asm b/data/mapHeaders/UndergroundPathWestEast.asm deleted file mode 100755 index 1d50c103..00000000 --- a/data/mapHeaders/UndergroundPathWestEast.asm +++ /dev/null @@ -1,8 +0,0 @@ -UndergroundPathWestEast_h:: - db UNDERGROUND ; tileset - db UNDERGROUND_PATH_WEST_EAST_HEIGHT, UNDERGROUND_PATH_WEST_EAST_WIDTH ; dimensions (y, x) - dw UndergroundPathWestEast_Blocks ; blocks - dw UndergroundPathWestEast_TextPointers ; texts - dw UndergroundPathWestEast_Script ; scripts - db 0 ; connections - dw UndergroundPathWestEast_Object ; objects diff --git a/data/mapHeaders/VermilionCity.asm b/data/mapHeaders/VermilionCity.asm deleted file mode 100755 index 8026c214..00000000 --- a/data/mapHeaders/VermilionCity.asm +++ /dev/null @@ -1,10 +0,0 @@ -VermilionCity_h:: - db OVERWORLD ; tileset - db VERMILION_CITY_HEIGHT, VERMILION_CITY_WIDTH ; dimensions (y, x) - dw VermilionCity_Blocks ; blocks - dw VermilionCity_TextPointers ; texts - dw VermilionCity_Script ; scripts - db NORTH | EAST ; connections - NORTH_MAP_CONNECTION VERMILION_CITY, ROUTE_6, 5, 0, Route6_Blocks - EAST_MAP_CONNECTION VERMILION_CITY, ROUTE_11, 4, 0, Route11_Blocks - dw VermilionCity_Object ; objects diff --git a/data/mapHeaders/VermilionDock.asm b/data/mapHeaders/VermilionDock.asm deleted file mode 100755 index 0eb0edac..00000000 --- a/data/mapHeaders/VermilionDock.asm +++ /dev/null @@ -1,8 +0,0 @@ -VermilionDock_h:: - db SHIP_PORT ; tileset - db VERMILION_DOCK_HEIGHT, VERMILION_DOCK_WIDTH ; dimensions (y, x) - dw VermilionDock_Blocks ; blocks - dw VermilionDock_TextPointers ; texts - dw VermilionDock_Script ; scripts - db 0 ; connections - dw VermilionDock_Object ; objects diff --git a/data/mapHeaders/VermilionGym.asm b/data/mapHeaders/VermilionGym.asm deleted file mode 100755 index 0b5913f1..00000000 --- a/data/mapHeaders/VermilionGym.asm +++ /dev/null @@ -1,8 +0,0 @@ -VermilionGym_h:: - db GYM ; tileset - db VERMILION_GYM_HEIGHT, VERMILION_GYM_WIDTH ; dimensions (y, x) - dw VermilionGym_Blocks ; blocks - dw VermilionGym_TextPointers ; texts - dw VermilionGym_Script ; scripts - db 0 ; connections - dw VermilionGym_Object ; objects diff --git a/data/mapHeaders/VermilionMart.asm b/data/mapHeaders/VermilionMart.asm deleted file mode 100755 index 2fc1c79a..00000000 --- a/data/mapHeaders/VermilionMart.asm +++ /dev/null @@ -1,8 +0,0 @@ -VermilionMart_h:: - db MART ; tileset - db VERMILION_MART_HEIGHT, VERMILION_MART_WIDTH ; dimensions (y, x) - dw VermilionMart_Blocks ; blocks - dw VermilionMart_TextPointers ; texts - dw VermilionMart_Script ; scripts - db 0 ; connections - dw VermilionMart_Object ; objects diff --git a/data/mapHeaders/VermilionOldRodHouse.asm b/data/mapHeaders/VermilionOldRodHouse.asm deleted file mode 100755 index 88a6e5d8..00000000 --- a/data/mapHeaders/VermilionOldRodHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -VermilionOldRodHouse_h:: - db HOUSE ; tileset - db VERMILION_OLD_ROD_HOUSE_HEIGHT, VERMILION_OLD_ROD_HOUSE_WIDTH ; dimensions (y, x) - dw VermilionOldRodHouse_Blocks ; blocks - dw VermilionOldRodHouse_TextPointers ; texts - dw VermilionOldRodHouse_Script ; scripts - db 0 ; connections - dw VermilionOldRodHouse_Object ; objects diff --git a/data/mapHeaders/VermilionPidgeyHouse.asm b/data/mapHeaders/VermilionPidgeyHouse.asm deleted file mode 100755 index d355805a..00000000 --- a/data/mapHeaders/VermilionPidgeyHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -VermilionPidgeyHouse_h:: - db HOUSE ; tileset - db VERMILION_PIDGEY_HOUSE_HEIGHT, VERMILION_PIDGEY_HOUSE_WIDTH ; dimensions (y, x) - dw VermilionPidgeyHouse_Blocks ; blocks - dw VermilionPidgeyHouse_TextPointers ; texts - dw VermilionPidgeyHouse_Script ; scripts - db 0 ; connections - dw VermilionPidgeyHouse_Object ; objects diff --git a/data/mapHeaders/VermilionPokecenter.asm b/data/mapHeaders/VermilionPokecenter.asm deleted file mode 100755 index face28d6..00000000 --- a/data/mapHeaders/VermilionPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -VermilionPokecenter_h:: - db POKECENTER ; tileset - db VERMILION_POKECENTER_HEIGHT, VERMILION_POKECENTER_WIDTH ; dimensions (y, x) - dw VermilionPokecenter_Blocks ; blocks - dw VermilionPokecenter_TextPointers ; texts - dw VermilionPokecenter_Script ; scripts - db 0 ; connections - dw VermilionPokecenter_Object ; objects diff --git a/data/mapHeaders/VermilionTradeHouse.asm b/data/mapHeaders/VermilionTradeHouse.asm deleted file mode 100755 index cadd14b2..00000000 --- a/data/mapHeaders/VermilionTradeHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -VermilionTradeHouse_h:: - db HOUSE ; tileset - db VERMILION_TRADE_HOUSE_HEIGHT, VERMILION_TRADE_HOUSE_WIDTH ; dimensions (y, x) - dw VermilionTradeHouse_Blocks ; blocks - dw VermilionTradeHouse_TextPointers ; texts - dw VermilionTradeHouse_Script ; scripts - db 0 ; connections - dw VermilionTradeHouse_Object ; objects diff --git a/data/mapHeaders/VictoryRoad1F.asm b/data/mapHeaders/VictoryRoad1F.asm deleted file mode 100755 index 239a8de3..00000000 --- a/data/mapHeaders/VictoryRoad1F.asm +++ /dev/null @@ -1,8 +0,0 @@ -VictoryRoad1F_h:: - db CAVERN ; tileset - db VICTORY_ROAD_1F_HEIGHT, VICTORY_ROAD_1F_WIDTH ; dimensions (y, x) - dw VictoryRoad1F_Blocks ; blocks - dw VictoryRoad1F_TextPointers ; texts - dw VictoryRoad1F_Script ; scripts - db 0 ; connections - dw VictoryRoad1F_Object ; objects diff --git a/data/mapHeaders/VictoryRoad2F.asm b/data/mapHeaders/VictoryRoad2F.asm deleted file mode 100755 index a0138cb2..00000000 --- a/data/mapHeaders/VictoryRoad2F.asm +++ /dev/null @@ -1,8 +0,0 @@ -VictoryRoad2F_h:: - db CAVERN ; tileset - db VICTORY_ROAD_2F_HEIGHT, VICTORY_ROAD_2F_WIDTH ; dimensions (y, x) - dw VictoryRoad2F_Blocks ; blocks - dw VictoryRoad2F_TextPointers ; texts - dw VictoryRoad2F_Script ; scripts - db 0 ; connections - dw VictoryRoad2F_Object ; objects diff --git a/data/mapHeaders/VictoryRoad3F.asm b/data/mapHeaders/VictoryRoad3F.asm deleted file mode 100755 index 32133afa..00000000 --- a/data/mapHeaders/VictoryRoad3F.asm +++ /dev/null @@ -1,8 +0,0 @@ -VictoryRoad3F_h:: - db CAVERN ; tileset - db VICTORY_ROAD_3F_HEIGHT, VICTORY_ROAD_3F_WIDTH ; dimensions (y, x) - dw VictoryRoad3F_Blocks ; blocks - dw VictoryRoad3F_TextPointers ; texts - dw VictoryRoad3F_Script ; scripts - db 0 ; connections - dw VictoryRoad3F_Object ; objects diff --git a/data/mapHeaders/ViridianCity.asm b/data/mapHeaders/ViridianCity.asm deleted file mode 100755 index 5dc56820..00000000 --- a/data/mapHeaders/ViridianCity.asm +++ /dev/null @@ -1,11 +0,0 @@ -ViridianCity_h:: - db OVERWORLD ; tileset - db VIRIDIAN_CITY_HEIGHT, VIRIDIAN_CITY_WIDTH ; dimensions (y, x) - dw ViridianCity_Blocks ; blocks - dw ViridianCity_TextPointers ; texts - dw ViridianCity_Script ; scripts - db NORTH | SOUTH | WEST ; connections - NORTH_MAP_CONNECTION VIRIDIAN_CITY, ROUTE_2, 5, 0, Route2_Blocks - SOUTH_MAP_CONNECTION VIRIDIAN_CITY, ROUTE_1, 5, 0, Route1_Blocks, 1 - WEST_MAP_CONNECTION VIRIDIAN_CITY, ROUTE_22, 4, 0, Route22_Blocks - dw ViridianCity_Object ; objects diff --git a/data/mapHeaders/ViridianForest.asm b/data/mapHeaders/ViridianForest.asm deleted file mode 100755 index 557b99ed..00000000 --- a/data/mapHeaders/ViridianForest.asm +++ /dev/null @@ -1,8 +0,0 @@ -ViridianForest_h:: - db FOREST ; tileset - db VIRIDIAN_FOREST_HEIGHT, VIRIDIAN_FOREST_WIDTH ; dimensions (y, x) - dw ViridianForest_Blocks ; blocks - dw ViridianForest_TextPointers ; texts - dw ViridianForest_Script ; scripts - db 0 ; connections - dw ViridianForest_Object ; objects diff --git a/data/mapHeaders/ViridianForestNorthGate.asm b/data/mapHeaders/ViridianForestNorthGate.asm deleted file mode 100755 index 1fd4ac7d..00000000 --- a/data/mapHeaders/ViridianForestNorthGate.asm +++ /dev/null @@ -1,8 +0,0 @@ -ViridianForestNorthGate_h:: - db FOREST_GATE ; tileset - db VIRIDIAN_FOREST_NORTH_GATE_HEIGHT, VIRIDIAN_FOREST_NORTH_GATE_WIDTH ; dimensions (y, x) - dw ViridianForestNorthGate_Blocks ; blocks - dw ViridianForestNorthGate_TextPointers ; texts - dw ViridianForestNorthGate_Script ; scripts - db 0 ; connections - dw ViridianForestNorthGate_Object ; objects diff --git a/data/mapHeaders/ViridianForestSouthGate.asm b/data/mapHeaders/ViridianForestSouthGate.asm deleted file mode 100755 index 65d587f8..00000000 --- a/data/mapHeaders/ViridianForestSouthGate.asm +++ /dev/null @@ -1,8 +0,0 @@ -ViridianForestSouthGate_h:: - db FOREST_GATE ; tileset - db VIRIDIAN_FOREST_SOUTH_GATE_HEIGHT, VIRIDIAN_FOREST_SOUTH_GATE_WIDTH ; dimensions (y, x) - dw ViridianForestSouthGate_Blocks ; blocks - dw ViridianForestSouthGate_TextPointers ; texts - dw ViridianForestSouthGate_Script ; scripts - db 0 ; connections - dw ViridianForestSouthGate_Object ; objects diff --git a/data/mapHeaders/ViridianGym.asm b/data/mapHeaders/ViridianGym.asm deleted file mode 100755 index 136a13b5..00000000 --- a/data/mapHeaders/ViridianGym.asm +++ /dev/null @@ -1,8 +0,0 @@ -ViridianGym_h:: - db GYM ; tileset - db VIRIDIAN_GYM_HEIGHT, VIRIDIAN_GYM_WIDTH ; dimensions (y, x) - dw ViridianGym_Blocks ; blocks - dw ViridianGym_TextPointers ; texts - dw ViridianGym_Script ; scripts - db 0 ; connections - dw ViridianGym_Object ; objects diff --git a/data/mapHeaders/ViridianMart.asm b/data/mapHeaders/ViridianMart.asm deleted file mode 100755 index 341caa86..00000000 --- a/data/mapHeaders/ViridianMart.asm +++ /dev/null @@ -1,8 +0,0 @@ -ViridianMart_h:: - db MART ; tileset - db VIRIDIAN_MART_HEIGHT, VIRIDIAN_MART_WIDTH ; dimensions (y, x) - dw ViridianMart_Blocks ; blocks - dw ViridianMart_TextPointers ; texts - dw ViridianMart_Script ; scripts - db 0 ; connections - dw ViridianMart_Object ; objects diff --git a/data/mapHeaders/ViridianNicknameHouse.asm b/data/mapHeaders/ViridianNicknameHouse.asm deleted file mode 100755 index db817b2f..00000000 --- a/data/mapHeaders/ViridianNicknameHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -ViridianNicknameHouse_h:: - db HOUSE ; tileset - db VIRIDIAN_NICKNAME_HOUSE_HEIGHT, VIRIDIAN_NICKNAME_HOUSE_WIDTH ; dimensions (y, x) - dw ViridianNicknameHouse_Blocks ; blocks - dw ViridianNicknameHouse_TextPointers ; texts - dw ViridianNicknameHouse_Script ; scripts - db 0 ; connections - dw ViridianNicknameHouse_Object ; objects diff --git a/data/mapHeaders/ViridianPokecenter.asm b/data/mapHeaders/ViridianPokecenter.asm deleted file mode 100755 index 203abf06..00000000 --- a/data/mapHeaders/ViridianPokecenter.asm +++ /dev/null @@ -1,8 +0,0 @@ -ViridianPokecenter_h:: - db POKECENTER ; tileset - db VIRIDIAN_POKECENTER_HEIGHT, VIRIDIAN_POKECENTER_WIDTH ; dimensions (y, x) - dw ViridianPokecenter_Blocks ; blocks - dw ViridianPokecenter_TextPointers ; texts - dw ViridianPokecenter_Script ; scripts - db 0 ; connections - dw ViridianPokecenter_Object ; objects diff --git a/data/mapHeaders/ViridianSchoolHouse.asm b/data/mapHeaders/ViridianSchoolHouse.asm deleted file mode 100755 index fdf1090a..00000000 --- a/data/mapHeaders/ViridianSchoolHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -ViridianSchoolHouse_h:: - db HOUSE ; tileset - db VIRIDIAN_SCHOOL_HOUSE_HEIGHT, VIRIDIAN_SCHOOL_HOUSE_WIDTH ; dimensions (y, x) - dw ViridianSchoolHouse_Blocks ; blocks - dw ViridianSchoolHouse_TextPointers ; texts - dw ViridianSchoolHouse_Script ; scripts - db 0 ; connections - dw ViridianSchoolHouse_Object ; objects diff --git a/data/mapHeaders/WardensHouse.asm b/data/mapHeaders/WardensHouse.asm deleted file mode 100755 index 6c6b0f6c..00000000 --- a/data/mapHeaders/WardensHouse.asm +++ /dev/null @@ -1,8 +0,0 @@ -WardensHouse_h:: - db LAB ; tileset - db WARDENS_HOUSE_HEIGHT, WARDENS_HOUSE_WIDTH ; dimensions (y, x) - dw WardensHouse_Blocks ; blocks - dw WardensHouse_TextPointers ; texts - dw WardensHouse_Script ; scripts - db 0 ; connections - dw WardensHouse_Object ; objects diff --git a/data/dungeon_maps.asm b/data/maps/dungeon_maps.asm index 118cf46b..118cf46b 100644 --- a/data/dungeon_maps.asm +++ b/data/maps/dungeon_maps.asm diff --git a/data/force_bike_surf.asm b/data/maps/force_bike_surf.asm index fb352aa9..fb352aa9 100755 --- a/data/force_bike_surf.asm +++ b/data/maps/force_bike_surf.asm diff --git a/data/maps/headers/AgathasRoom.asm b/data/maps/headers/AgathasRoom.asm new file mode 100755 index 00000000..d04e0cfd --- /dev/null +++ b/data/maps/headers/AgathasRoom.asm @@ -0,0 +1,3 @@ + + map_header AgathasRoom, AGATHAS_ROOM, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/BikeShop.asm b/data/maps/headers/BikeShop.asm new file mode 100755 index 00000000..b4b520e2 --- /dev/null +++ b/data/maps/headers/BikeShop.asm @@ -0,0 +1,3 @@ + + map_header BikeShop, BIKE_SHOP, CLUB, 0 + end_map_header diff --git a/data/maps/headers/BillsHouse.asm b/data/maps/headers/BillsHouse.asm new file mode 100755 index 00000000..6063175d --- /dev/null +++ b/data/maps/headers/BillsHouse.asm @@ -0,0 +1,3 @@ + + map_header BillsHouse, BILLS_HOUSE, INTERIOR, 0 + end_map_header diff --git a/data/maps/headers/BluesHouse.asm b/data/maps/headers/BluesHouse.asm new file mode 100755 index 00000000..33cee254 --- /dev/null +++ b/data/maps/headers/BluesHouse.asm @@ -0,0 +1,3 @@ + + map_header BluesHouse, BLUES_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/BrunosRoom.asm b/data/maps/headers/BrunosRoom.asm new file mode 100755 index 00000000..a0b2d4fd --- /dev/null +++ b/data/maps/headers/BrunosRoom.asm @@ -0,0 +1,3 @@ + + map_header BrunosRoom, BRUNOS_ROOM, GYM, 0 + end_map_header diff --git a/data/maps/headers/CeladonChiefHouse.asm b/data/maps/headers/CeladonChiefHouse.asm new file mode 100755 index 00000000..34f17273 --- /dev/null +++ b/data/maps/headers/CeladonChiefHouse.asm @@ -0,0 +1,3 @@ + + map_header CeladonChiefHouse, CELADON_CHIEF_HOUSE, MANSION, 0 + end_map_header diff --git a/data/maps/headers/CeladonCity.asm b/data/maps/headers/CeladonCity.asm new file mode 100755 index 00000000..6faa6f48 --- /dev/null +++ b/data/maps/headers/CeladonCity.asm @@ -0,0 +1,5 @@ + + map_header CeladonCity, CELADON_CITY, OVERWORLD, WEST | EAST + connection west, Route16, ROUTE_16, 4 + connection east, Route7, ROUTE_7, 4 + end_map_header diff --git a/data/maps/headers/CeladonDiner.asm b/data/maps/headers/CeladonDiner.asm new file mode 100755 index 00000000..b18d9633 --- /dev/null +++ b/data/maps/headers/CeladonDiner.asm @@ -0,0 +1,3 @@ + + map_header CeladonDiner, CELADON_DINER, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonGym.asm b/data/maps/headers/CeladonGym.asm new file mode 100755 index 00000000..2302c65a --- /dev/null +++ b/data/maps/headers/CeladonGym.asm @@ -0,0 +1,3 @@ + + map_header CeladonGym, CELADON_GYM, GYM, 0 + end_map_header diff --git a/data/maps/headers/CeladonHotel.asm b/data/maps/headers/CeladonHotel.asm new file mode 100755 index 00000000..2339c14d --- /dev/null +++ b/data/maps/headers/CeladonHotel.asm @@ -0,0 +1,3 @@ + + map_header CeladonHotel, CELADON_HOTEL, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/CeladonMansion1F.asm b/data/maps/headers/CeladonMansion1F.asm new file mode 100755 index 00000000..45970028 --- /dev/null +++ b/data/maps/headers/CeladonMansion1F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMansion1F, CELADON_MANSION_1F, MANSION, 0 + end_map_header diff --git a/data/maps/headers/CeladonMansion2F.asm b/data/maps/headers/CeladonMansion2F.asm new file mode 100755 index 00000000..d5e3e77b --- /dev/null +++ b/data/maps/headers/CeladonMansion2F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMansion2F, CELADON_MANSION_2F, MANSION, 0 + end_map_header diff --git a/data/maps/headers/CeladonMansion3F.asm b/data/maps/headers/CeladonMansion3F.asm new file mode 100755 index 00000000..7566caad --- /dev/null +++ b/data/maps/headers/CeladonMansion3F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMansion3F, CELADON_MANSION_3F, MANSION, 0 + end_map_header diff --git a/data/maps/headers/CeladonMansionRoof.asm b/data/maps/headers/CeladonMansionRoof.asm new file mode 100755 index 00000000..9cbae6f6 --- /dev/null +++ b/data/maps/headers/CeladonMansionRoof.asm @@ -0,0 +1,3 @@ + + map_header CeladonMansionRoof, CELADON_MANSION_ROOF, MANSION, 0 + end_map_header diff --git a/data/maps/headers/CeladonMansionRoofHouse.asm b/data/maps/headers/CeladonMansionRoofHouse.asm new file mode 100755 index 00000000..cb80fac8 --- /dev/null +++ b/data/maps/headers/CeladonMansionRoofHouse.asm @@ -0,0 +1,3 @@ + + map_header CeladonMansionRoofHouse, CELADON_MANSION_ROOF_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/CeladonMart1F.asm b/data/maps/headers/CeladonMart1F.asm new file mode 100755 index 00000000..30bd9ba9 --- /dev/null +++ b/data/maps/headers/CeladonMart1F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMart1F, CELADON_MART_1F, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonMart2F.asm b/data/maps/headers/CeladonMart2F.asm new file mode 100755 index 00000000..d78dfe28 --- /dev/null +++ b/data/maps/headers/CeladonMart2F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMart2F, CELADON_MART_2F, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonMart3F.asm b/data/maps/headers/CeladonMart3F.asm new file mode 100755 index 00000000..ad415eee --- /dev/null +++ b/data/maps/headers/CeladonMart3F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMart3F, CELADON_MART_3F, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonMart4F.asm b/data/maps/headers/CeladonMart4F.asm new file mode 100755 index 00000000..b9ce5b34 --- /dev/null +++ b/data/maps/headers/CeladonMart4F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMart4F, CELADON_MART_4F, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonMart5F.asm b/data/maps/headers/CeladonMart5F.asm new file mode 100755 index 00000000..04d65b2b --- /dev/null +++ b/data/maps/headers/CeladonMart5F.asm @@ -0,0 +1,3 @@ + + map_header CeladonMart5F, CELADON_MART_5F, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonMartElevator.asm b/data/maps/headers/CeladonMartElevator.asm new file mode 100755 index 00000000..2a98ccb0 --- /dev/null +++ b/data/maps/headers/CeladonMartElevator.asm @@ -0,0 +1,3 @@ + + map_header CeladonMartElevator, CELADON_MART_ELEVATOR, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonMartRoof.asm b/data/maps/headers/CeladonMartRoof.asm new file mode 100755 index 00000000..823ff25f --- /dev/null +++ b/data/maps/headers/CeladonMartRoof.asm @@ -0,0 +1,3 @@ + + map_header CeladonMartRoof, CELADON_MART_ROOF, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/CeladonPokecenter.asm b/data/maps/headers/CeladonPokecenter.asm new file mode 100755 index 00000000..378a41ec --- /dev/null +++ b/data/maps/headers/CeladonPokecenter.asm @@ -0,0 +1,3 @@ + + map_header CeladonPokecenter, CELADON_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/CeruleanBadgeHouse.asm b/data/maps/headers/CeruleanBadgeHouse.asm new file mode 100755 index 00000000..47a97b14 --- /dev/null +++ b/data/maps/headers/CeruleanBadgeHouse.asm @@ -0,0 +1,3 @@ + + map_header CeruleanBadgeHouse, CERULEAN_BADGE_HOUSE, SHIP, 0 + end_map_header diff --git a/data/maps/headers/CeruleanCave1F.asm b/data/maps/headers/CeruleanCave1F.asm new file mode 100755 index 00000000..7c80bbeb --- /dev/null +++ b/data/maps/headers/CeruleanCave1F.asm @@ -0,0 +1,3 @@ + + map_header CeruleanCave1F, CERULEAN_CAVE_1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/CeruleanCave2F.asm b/data/maps/headers/CeruleanCave2F.asm new file mode 100755 index 00000000..353e265b --- /dev/null +++ b/data/maps/headers/CeruleanCave2F.asm @@ -0,0 +1,3 @@ + + map_header CeruleanCave2F, CERULEAN_CAVE_2F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/CeruleanCaveB1F.asm b/data/maps/headers/CeruleanCaveB1F.asm new file mode 100755 index 00000000..d759aa6b --- /dev/null +++ b/data/maps/headers/CeruleanCaveB1F.asm @@ -0,0 +1,3 @@ + + map_header CeruleanCaveB1F, CERULEAN_CAVE_B1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/CeruleanCity.asm b/data/maps/headers/CeruleanCity.asm new file mode 100755 index 00000000..c925713c --- /dev/null +++ b/data/maps/headers/CeruleanCity.asm @@ -0,0 +1,7 @@ + + map_header CeruleanCity, CERULEAN_CITY, OVERWORLD, NORTH | SOUTH | WEST | EAST + connection north, Route24, ROUTE_24, 5 + connection south, Route5, ROUTE_5, 5 + connection west, Route4, ROUTE_4, 4 + connection east, Route9, ROUTE_9, 4 + end_map_header diff --git a/data/maps/headers/CeruleanGym.asm b/data/maps/headers/CeruleanGym.asm new file mode 100755 index 00000000..b1010ac3 --- /dev/null +++ b/data/maps/headers/CeruleanGym.asm @@ -0,0 +1,3 @@ + + map_header CeruleanGym, CERULEAN_GYM, GYM, 0 + end_map_header diff --git a/data/maps/headers/CeruleanMart.asm b/data/maps/headers/CeruleanMart.asm new file mode 100755 index 00000000..2ee31666 --- /dev/null +++ b/data/maps/headers/CeruleanMart.asm @@ -0,0 +1,3 @@ + + map_header CeruleanMart, CERULEAN_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/CeruleanPokecenter.asm b/data/maps/headers/CeruleanPokecenter.asm new file mode 100755 index 00000000..b79e7aff --- /dev/null +++ b/data/maps/headers/CeruleanPokecenter.asm @@ -0,0 +1,3 @@ + + map_header CeruleanPokecenter, CERULEAN_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/CeruleanTradeHouse.asm b/data/maps/headers/CeruleanTradeHouse.asm new file mode 100755 index 00000000..20970b77 --- /dev/null +++ b/data/maps/headers/CeruleanTradeHouse.asm @@ -0,0 +1,3 @@ + + map_header CeruleanTradeHouse, CERULEAN_TRADE_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/CeruleanTrashedHouse.asm b/data/maps/headers/CeruleanTrashedHouse.asm new file mode 100755 index 00000000..192a4195 --- /dev/null +++ b/data/maps/headers/CeruleanTrashedHouse.asm @@ -0,0 +1,3 @@ + + map_header CeruleanTrashedHouse, CERULEAN_TRASHED_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/ChampionsRoom.asm b/data/maps/headers/ChampionsRoom.asm new file mode 100755 index 00000000..aadc70a6 --- /dev/null +++ b/data/maps/headers/ChampionsRoom.asm @@ -0,0 +1,3 @@ + + map_header ChampionsRoom, CHAMPIONS_ROOM, GYM, $0 + end_map_header diff --git a/data/maps/headers/CinnabarGym.asm b/data/maps/headers/CinnabarGym.asm new file mode 100755 index 00000000..cc6dc1d7 --- /dev/null +++ b/data/maps/headers/CinnabarGym.asm @@ -0,0 +1,3 @@ + + map_header CinnabarGym, CINNABAR_GYM, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/CinnabarIsland.asm b/data/maps/headers/CinnabarIsland.asm new file mode 100755 index 00000000..a94498be --- /dev/null +++ b/data/maps/headers/CinnabarIsland.asm @@ -0,0 +1,5 @@ + + map_header CinnabarIsland, CINNABAR_ISLAND, OVERWORLD, NORTH | EAST + connection north, Route21, ROUTE_21, 0 + connection east, Route20, ROUTE_20, 0 + end_map_header diff --git a/data/maps/headers/CinnabarLab.asm b/data/maps/headers/CinnabarLab.asm new file mode 100755 index 00000000..e8081e75 --- /dev/null +++ b/data/maps/headers/CinnabarLab.asm @@ -0,0 +1,3 @@ + + map_header CinnabarLab, CINNABAR_LAB, LAB, 0 + end_map_header diff --git a/data/maps/headers/CinnabarLabFossilRoom.asm b/data/maps/headers/CinnabarLabFossilRoom.asm new file mode 100755 index 00000000..3cb88437 --- /dev/null +++ b/data/maps/headers/CinnabarLabFossilRoom.asm @@ -0,0 +1,3 @@ + + map_header CinnabarLabFossilRoom, CINNABAR_LAB_FOSSIL_ROOM, LAB, 0 + end_map_header diff --git a/data/maps/headers/CinnabarLabMetronomeRoom.asm b/data/maps/headers/CinnabarLabMetronomeRoom.asm new file mode 100755 index 00000000..d77338c8 --- /dev/null +++ b/data/maps/headers/CinnabarLabMetronomeRoom.asm @@ -0,0 +1,3 @@ + + map_header CinnabarLabMetronomeRoom, CINNABAR_LAB_METRONOME_ROOM, LAB, 0 + end_map_header diff --git a/data/maps/headers/CinnabarLabTradeRoom.asm b/data/maps/headers/CinnabarLabTradeRoom.asm new file mode 100755 index 00000000..c23d9c15 --- /dev/null +++ b/data/maps/headers/CinnabarLabTradeRoom.asm @@ -0,0 +1,3 @@ + + map_header CinnabarLabTradeRoom, CINNABAR_LAB_TRADE_ROOM, LAB, 0 + end_map_header diff --git a/data/maps/headers/CinnabarMart.asm b/data/maps/headers/CinnabarMart.asm new file mode 100755 index 00000000..c68d582a --- /dev/null +++ b/data/maps/headers/CinnabarMart.asm @@ -0,0 +1,3 @@ + + map_header CinnabarMart, CINNABAR_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/CinnabarPokecenter.asm b/data/maps/headers/CinnabarPokecenter.asm new file mode 100755 index 00000000..d910133b --- /dev/null +++ b/data/maps/headers/CinnabarPokecenter.asm @@ -0,0 +1,3 @@ + + map_header CinnabarPokecenter, CINNABAR_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/Colosseum.asm b/data/maps/headers/Colosseum.asm new file mode 100755 index 00000000..faf03eb4 --- /dev/null +++ b/data/maps/headers/Colosseum.asm @@ -0,0 +1,3 @@ + + map_header Colosseum, COLOSSEUM, CLUB, 0 + end_map_header diff --git a/data/maps/headers/CopycatsHouse1F.asm b/data/maps/headers/CopycatsHouse1F.asm new file mode 100755 index 00000000..532cef93 --- /dev/null +++ b/data/maps/headers/CopycatsHouse1F.asm @@ -0,0 +1,3 @@ + + map_header CopycatsHouse1F, COPYCATS_HOUSE_1F, REDS_HOUSE_1, 0 + end_map_header diff --git a/data/maps/headers/CopycatsHouse2F.asm b/data/maps/headers/CopycatsHouse2F.asm new file mode 100755 index 00000000..38b1fbbb --- /dev/null +++ b/data/maps/headers/CopycatsHouse2F.asm @@ -0,0 +1,3 @@ + + map_header CopycatsHouse2F, COPYCATS_HOUSE_2F, REDS_HOUSE_2, 0 + end_map_header diff --git a/data/maps/headers/Daycare.asm b/data/maps/headers/Daycare.asm new file mode 100755 index 00000000..dabeedd9 --- /dev/null +++ b/data/maps/headers/Daycare.asm @@ -0,0 +1,3 @@ + + map_header Daycare, DAYCARE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/DiglettsCave.asm b/data/maps/headers/DiglettsCave.asm new file mode 100755 index 00000000..d3777d31 --- /dev/null +++ b/data/maps/headers/DiglettsCave.asm @@ -0,0 +1,3 @@ + + map_header DiglettsCave, DIGLETTS_CAVE, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/DiglettsCaveRoute11.asm b/data/maps/headers/DiglettsCaveRoute11.asm new file mode 100755 index 00000000..d8bdd704 --- /dev/null +++ b/data/maps/headers/DiglettsCaveRoute11.asm @@ -0,0 +1,3 @@ + + map_header DiglettsCaveRoute11, DIGLETTS_CAVE_ROUTE_11, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/DiglettsCaveRoute2.asm b/data/maps/headers/DiglettsCaveRoute2.asm new file mode 100755 index 00000000..86f5ae35 --- /dev/null +++ b/data/maps/headers/DiglettsCaveRoute2.asm @@ -0,0 +1,3 @@ + + map_header DiglettsCaveRoute2, DIGLETTS_CAVE_ROUTE_2, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/FightingDojo.asm b/data/maps/headers/FightingDojo.asm new file mode 100755 index 00000000..7ecadc57 --- /dev/null +++ b/data/maps/headers/FightingDojo.asm @@ -0,0 +1,3 @@ + + map_header FightingDojo, FIGHTING_DOJO, DOJO, 0 + end_map_header diff --git a/data/maps/headers/FuchsiaBillsGrandpasHouse.asm b/data/maps/headers/FuchsiaBillsGrandpasHouse.asm new file mode 100755 index 00000000..10ba48e9 --- /dev/null +++ b/data/maps/headers/FuchsiaBillsGrandpasHouse.asm @@ -0,0 +1,3 @@ + + map_header FuchsiaBillsGrandpasHouse, FUCHSIA_BILLS_GRANDPAS_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/FuchsiaCity.asm b/data/maps/headers/FuchsiaCity.asm new file mode 100755 index 00000000..6028bce0 --- /dev/null +++ b/data/maps/headers/FuchsiaCity.asm @@ -0,0 +1,6 @@ + + map_header FuchsiaCity, FUCHSIA_CITY, OVERWORLD, SOUTH | WEST | EAST + connection south, Route19, ROUTE_19, 5 + connection west, Route18, ROUTE_18, 4 + connection east, Route15, ROUTE_15, 4 + end_map_header diff --git a/data/maps/headers/FuchsiaGoodRodHouse.asm b/data/maps/headers/FuchsiaGoodRodHouse.asm new file mode 100755 index 00000000..d21611c1 --- /dev/null +++ b/data/maps/headers/FuchsiaGoodRodHouse.asm @@ -0,0 +1,3 @@ + + map_header FuchsiaGoodRodHouse, FUCHSIA_GOOD_ROD_HOUSE, SHIP, 0 + end_map_header diff --git a/data/maps/headers/FuchsiaGym.asm b/data/maps/headers/FuchsiaGym.asm new file mode 100755 index 00000000..44be2971 --- /dev/null +++ b/data/maps/headers/FuchsiaGym.asm @@ -0,0 +1,3 @@ + + map_header FuchsiaGym, FUCHSIA_GYM, GYM, 0 + end_map_header diff --git a/data/maps/headers/FuchsiaMart.asm b/data/maps/headers/FuchsiaMart.asm new file mode 100755 index 00000000..120fe305 --- /dev/null +++ b/data/maps/headers/FuchsiaMart.asm @@ -0,0 +1,3 @@ + + map_header FuchsiaMart, FUCHSIA_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/FuchsiaMeetingRoom.asm b/data/maps/headers/FuchsiaMeetingRoom.asm new file mode 100755 index 00000000..a5ab4f04 --- /dev/null +++ b/data/maps/headers/FuchsiaMeetingRoom.asm @@ -0,0 +1,3 @@ + + map_header FuchsiaMeetingRoom, FUCHSIA_MEETING_ROOM, LAB, 0 + end_map_header diff --git a/data/maps/headers/FuchsiaPokecenter.asm b/data/maps/headers/FuchsiaPokecenter.asm new file mode 100755 index 00000000..c1c683bd --- /dev/null +++ b/data/maps/headers/FuchsiaPokecenter.asm @@ -0,0 +1,3 @@ + + map_header FuchsiaPokecenter, FUCHSIA_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/GameCorner.asm b/data/maps/headers/GameCorner.asm new file mode 100755 index 00000000..ad367b93 --- /dev/null +++ b/data/maps/headers/GameCorner.asm @@ -0,0 +1,3 @@ + + map_header GameCorner, GAME_CORNER, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/GameCornerPrizeRoom.asm b/data/maps/headers/GameCornerPrizeRoom.asm new file mode 100755 index 00000000..4668cbb8 --- /dev/null +++ b/data/maps/headers/GameCornerPrizeRoom.asm @@ -0,0 +1,3 @@ + + map_header GameCornerPrizeRoom, GAME_CORNER_PRIZE_ROOM, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/HallOfFame.asm b/data/maps/headers/HallOfFame.asm new file mode 100755 index 00000000..e2dc3fb3 --- /dev/null +++ b/data/maps/headers/HallOfFame.asm @@ -0,0 +1,3 @@ + + map_header HallOfFame, HALL_OF_FAME, GYM, 0 + end_map_header diff --git a/data/maps/headers/IndigoPlateau.asm b/data/maps/headers/IndigoPlateau.asm new file mode 100755 index 00000000..ff394dfe --- /dev/null +++ b/data/maps/headers/IndigoPlateau.asm @@ -0,0 +1,4 @@ + + map_header IndigoPlateau, INDIGO_PLATEAU, PLATEAU, SOUTH + connection south, Route23, ROUTE_23, 0 + end_map_header diff --git a/data/maps/headers/IndigoPlateauLobby.asm b/data/maps/headers/IndigoPlateauLobby.asm new file mode 100755 index 00000000..b13afa12 --- /dev/null +++ b/data/maps/headers/IndigoPlateauLobby.asm @@ -0,0 +1,3 @@ + + map_header IndigoPlateauLobby, INDIGO_PLATEAU_LOBBY, MART, 0 + end_map_header diff --git a/data/maps/headers/LancesRoom.asm b/data/maps/headers/LancesRoom.asm new file mode 100755 index 00000000..0b69970e --- /dev/null +++ b/data/maps/headers/LancesRoom.asm @@ -0,0 +1,3 @@ + + map_header LancesRoom, LANCES_ROOM, DOJO, 0 + end_map_header diff --git a/data/maps/headers/LavenderCuboneHouse.asm b/data/maps/headers/LavenderCuboneHouse.asm new file mode 100755 index 00000000..dfd38ff1 --- /dev/null +++ b/data/maps/headers/LavenderCuboneHouse.asm @@ -0,0 +1,3 @@ + + map_header LavenderCuboneHouse, LAVENDER_CUBONE_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/LavenderMart.asm b/data/maps/headers/LavenderMart.asm new file mode 100755 index 00000000..82c239e6 --- /dev/null +++ b/data/maps/headers/LavenderMart.asm @@ -0,0 +1,3 @@ + + map_header LavenderMart, LAVENDER_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/LavenderPokecenter.asm b/data/maps/headers/LavenderPokecenter.asm new file mode 100755 index 00000000..c0cd0adf --- /dev/null +++ b/data/maps/headers/LavenderPokecenter.asm @@ -0,0 +1,3 @@ + + map_header LavenderPokecenter, LAVENDER_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/LavenderTown.asm b/data/maps/headers/LavenderTown.asm new file mode 100755 index 00000000..7c1c9c46 --- /dev/null +++ b/data/maps/headers/LavenderTown.asm @@ -0,0 +1,6 @@ + + map_header LavenderTown, LAVENDER_TOWN, OVERWORLD, NORTH | SOUTH | WEST + connection north, Route10, ROUTE_10, 0 + connection south, Route12, ROUTE_12, 0 + connection west, Route8, ROUTE_8, 0 + end_map_header diff --git a/data/maps/headers/LoreleisRoom.asm b/data/maps/headers/LoreleisRoom.asm new file mode 100755 index 00000000..feff946c --- /dev/null +++ b/data/maps/headers/LoreleisRoom.asm @@ -0,0 +1,3 @@ + + map_header LoreleisRoom, LORELEIS_ROOM, GYM, 0 + end_map_header diff --git a/data/maps/headers/MrFujisHouse.asm b/data/maps/headers/MrFujisHouse.asm new file mode 100755 index 00000000..023cb501 --- /dev/null +++ b/data/maps/headers/MrFujisHouse.asm @@ -0,0 +1,3 @@ + + map_header MrFujisHouse, MR_FUJIS_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/MrPsychicsHouse.asm b/data/maps/headers/MrPsychicsHouse.asm new file mode 100755 index 00000000..628db044 --- /dev/null +++ b/data/maps/headers/MrPsychicsHouse.asm @@ -0,0 +1,3 @@ + + map_header MrPsychicsHouse, MR_PSYCHICS_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/MtMoon1F.asm b/data/maps/headers/MtMoon1F.asm new file mode 100755 index 00000000..8de2be3e --- /dev/null +++ b/data/maps/headers/MtMoon1F.asm @@ -0,0 +1,3 @@ + + map_header MtMoon1F, MT_MOON_1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/MtMoonB1F.asm b/data/maps/headers/MtMoonB1F.asm new file mode 100755 index 00000000..9c97b5c7 --- /dev/null +++ b/data/maps/headers/MtMoonB1F.asm @@ -0,0 +1,3 @@ + + map_header MtMoonB1F, MT_MOON_B1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/MtMoonB2F.asm b/data/maps/headers/MtMoonB2F.asm new file mode 100755 index 00000000..0ed1f96e --- /dev/null +++ b/data/maps/headers/MtMoonB2F.asm @@ -0,0 +1,3 @@ + + map_header MtMoonB2F, MT_MOON_B2F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/MtMoonPokecenter.asm b/data/maps/headers/MtMoonPokecenter.asm new file mode 100755 index 00000000..0425eae7 --- /dev/null +++ b/data/maps/headers/MtMoonPokecenter.asm @@ -0,0 +1,3 @@ + + map_header MtMoonPokecenter, MT_MOON_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/Museum1F.asm b/data/maps/headers/Museum1F.asm new file mode 100755 index 00000000..d92176d2 --- /dev/null +++ b/data/maps/headers/Museum1F.asm @@ -0,0 +1,3 @@ + + map_header Museum1F, MUSEUM_1F, MUSEUM, 0 + end_map_header diff --git a/data/maps/headers/Museum2F.asm b/data/maps/headers/Museum2F.asm new file mode 100755 index 00000000..d5bf8918 --- /dev/null +++ b/data/maps/headers/Museum2F.asm @@ -0,0 +1,3 @@ + + map_header Museum2F, MUSEUM_2F, MUSEUM, 0 + end_map_header diff --git a/data/maps/headers/NameRatersHouse.asm b/data/maps/headers/NameRatersHouse.asm new file mode 100755 index 00000000..3f9010f0 --- /dev/null +++ b/data/maps/headers/NameRatersHouse.asm @@ -0,0 +1,3 @@ + + map_header NameRatersHouse, NAME_RATERS_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/OaksLab.asm b/data/maps/headers/OaksLab.asm new file mode 100755 index 00000000..42bb76e8 --- /dev/null +++ b/data/maps/headers/OaksLab.asm @@ -0,0 +1,3 @@ + + map_header OaksLab, OAKS_LAB, DOJO, 0 + end_map_header diff --git a/data/maps/headers/PalletTown.asm b/data/maps/headers/PalletTown.asm new file mode 100755 index 00000000..2745bdc1 --- /dev/null +++ b/data/maps/headers/PalletTown.asm @@ -0,0 +1,5 @@ + + map_header PalletTown, PALLET_TOWN, OVERWORLD, NORTH | SOUTH + connection north, Route1, ROUTE_1, 0 + connection south, Route21, ROUTE_21, 0 + end_map_header diff --git a/data/maps/headers/PewterCity.asm b/data/maps/headers/PewterCity.asm new file mode 100755 index 00000000..268adb7a --- /dev/null +++ b/data/maps/headers/PewterCity.asm @@ -0,0 +1,5 @@ + + map_header PewterCity, PEWTER_CITY, OVERWORLD, SOUTH | EAST + connection south, Route2, ROUTE_2, 5 + connection east, Route3, ROUTE_3, 4 + end_map_header diff --git a/data/maps/headers/PewterGym.asm b/data/maps/headers/PewterGym.asm new file mode 100755 index 00000000..a1659e42 --- /dev/null +++ b/data/maps/headers/PewterGym.asm @@ -0,0 +1,3 @@ + + map_header PewterGym, PEWTER_GYM, GYM, 0 + end_map_header diff --git a/data/maps/headers/PewterMart.asm b/data/maps/headers/PewterMart.asm new file mode 100755 index 00000000..c9b24eb2 --- /dev/null +++ b/data/maps/headers/PewterMart.asm @@ -0,0 +1,3 @@ + + map_header PewterMart, PEWTER_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/PewterNidoranHouse.asm b/data/maps/headers/PewterNidoranHouse.asm new file mode 100755 index 00000000..ee2e46ca --- /dev/null +++ b/data/maps/headers/PewterNidoranHouse.asm @@ -0,0 +1,3 @@ + + map_header PewterNidoranHouse, PEWTER_NIDORAN_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/PewterPokecenter.asm b/data/maps/headers/PewterPokecenter.asm new file mode 100755 index 00000000..4e420bf8 --- /dev/null +++ b/data/maps/headers/PewterPokecenter.asm @@ -0,0 +1,3 @@ + + map_header PewterPokecenter, PEWTER_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/PewterSpeechHouse.asm b/data/maps/headers/PewterSpeechHouse.asm new file mode 100755 index 00000000..a378d61e --- /dev/null +++ b/data/maps/headers/PewterSpeechHouse.asm @@ -0,0 +1,3 @@ + + map_header PewterSpeechHouse, PEWTER_SPEECH_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/PokemonFanClub.asm b/data/maps/headers/PokemonFanClub.asm new file mode 100755 index 00000000..b4ff8e1c --- /dev/null +++ b/data/maps/headers/PokemonFanClub.asm @@ -0,0 +1,3 @@ + + map_header PokemonFanClub, POKEMON_FAN_CLUB, INTERIOR, 0 + end_map_header diff --git a/data/maps/headers/PokemonMansion1F.asm b/data/maps/headers/PokemonMansion1F.asm new file mode 100755 index 00000000..9407f956 --- /dev/null +++ b/data/maps/headers/PokemonMansion1F.asm @@ -0,0 +1,3 @@ + + map_header PokemonMansion1F, POKEMON_MANSION_1F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/PokemonMansion2F.asm b/data/maps/headers/PokemonMansion2F.asm new file mode 100755 index 00000000..deb7c84f --- /dev/null +++ b/data/maps/headers/PokemonMansion2F.asm @@ -0,0 +1,3 @@ + + map_header PokemonMansion2F, POKEMON_MANSION_2F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/PokemonMansion3F.asm b/data/maps/headers/PokemonMansion3F.asm new file mode 100755 index 00000000..e4baa709 --- /dev/null +++ b/data/maps/headers/PokemonMansion3F.asm @@ -0,0 +1,3 @@ + + map_header PokemonMansion3F, POKEMON_MANSION_3F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/PokemonMansionB1F.asm b/data/maps/headers/PokemonMansionB1F.asm new file mode 100755 index 00000000..0aae67e6 --- /dev/null +++ b/data/maps/headers/PokemonMansionB1F.asm @@ -0,0 +1,3 @@ + + map_header PokemonMansionB1F, POKEMON_MANSION_B1F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower1F.asm b/data/maps/headers/PokemonTower1F.asm new file mode 100755 index 00000000..185fd2c0 --- /dev/null +++ b/data/maps/headers/PokemonTower1F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower1F, POKEMON_TOWER_1F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower2F.asm b/data/maps/headers/PokemonTower2F.asm new file mode 100755 index 00000000..5a6046c8 --- /dev/null +++ b/data/maps/headers/PokemonTower2F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower2F, POKEMON_TOWER_2F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower3F.asm b/data/maps/headers/PokemonTower3F.asm new file mode 100755 index 00000000..49ebc4e7 --- /dev/null +++ b/data/maps/headers/PokemonTower3F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower3F, POKEMON_TOWER_3F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower4F.asm b/data/maps/headers/PokemonTower4F.asm new file mode 100755 index 00000000..0eb9a0d6 --- /dev/null +++ b/data/maps/headers/PokemonTower4F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower4F, POKEMON_TOWER_4F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower5F.asm b/data/maps/headers/PokemonTower5F.asm new file mode 100755 index 00000000..e58c63c6 --- /dev/null +++ b/data/maps/headers/PokemonTower5F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower5F, POKEMON_TOWER_5F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower6F.asm b/data/maps/headers/PokemonTower6F.asm new file mode 100755 index 00000000..ba53347b --- /dev/null +++ b/data/maps/headers/PokemonTower6F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower6F, POKEMON_TOWER_6F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PokemonTower7F.asm b/data/maps/headers/PokemonTower7F.asm new file mode 100755 index 00000000..bd9f839b --- /dev/null +++ b/data/maps/headers/PokemonTower7F.asm @@ -0,0 +1,3 @@ + + map_header PokemonTower7F, POKEMON_TOWER_7F, CEMETERY, 0 + end_map_header diff --git a/data/maps/headers/PowerPlant.asm b/data/maps/headers/PowerPlant.asm new file mode 100755 index 00000000..88d82ae2 --- /dev/null +++ b/data/maps/headers/PowerPlant.asm @@ -0,0 +1,3 @@ + + map_header PowerPlant, POWER_PLANT, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/RedsHouse1F.asm b/data/maps/headers/RedsHouse1F.asm new file mode 100755 index 00000000..018bdc80 --- /dev/null +++ b/data/maps/headers/RedsHouse1F.asm @@ -0,0 +1,3 @@ + + map_header RedsHouse1F, REDS_HOUSE_1F, REDS_HOUSE_1, 0 + end_map_header diff --git a/data/maps/headers/RedsHouse2F.asm b/data/maps/headers/RedsHouse2F.asm new file mode 100755 index 00000000..10332e2c --- /dev/null +++ b/data/maps/headers/RedsHouse2F.asm @@ -0,0 +1,3 @@ + + map_header RedsHouse2F, REDS_HOUSE_2F, REDS_HOUSE_2, $00 + end_map_header diff --git a/data/maps/headers/RockTunnel1F.asm b/data/maps/headers/RockTunnel1F.asm new file mode 100755 index 00000000..268ee645 --- /dev/null +++ b/data/maps/headers/RockTunnel1F.asm @@ -0,0 +1,3 @@ + + map_header RockTunnel1F, ROCK_TUNNEL_1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/RockTunnelB1F.asm b/data/maps/headers/RockTunnelB1F.asm new file mode 100755 index 00000000..7b13f647 --- /dev/null +++ b/data/maps/headers/RockTunnelB1F.asm @@ -0,0 +1,3 @@ + + map_header RockTunnelB1F, ROCK_TUNNEL_B1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/RockTunnelPokecenter.asm b/data/maps/headers/RockTunnelPokecenter.asm new file mode 100755 index 00000000..a873854b --- /dev/null +++ b/data/maps/headers/RockTunnelPokecenter.asm @@ -0,0 +1,3 @@ + + map_header RockTunnelPokecenter, ROCK_TUNNEL_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/RocketHideoutB1F.asm b/data/maps/headers/RocketHideoutB1F.asm new file mode 100755 index 00000000..521a6693 --- /dev/null +++ b/data/maps/headers/RocketHideoutB1F.asm @@ -0,0 +1,3 @@ + + map_header RocketHideoutB1F, ROCKET_HIDEOUT_B1F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/RocketHideoutB2F.asm b/data/maps/headers/RocketHideoutB2F.asm new file mode 100755 index 00000000..ab2a965d --- /dev/null +++ b/data/maps/headers/RocketHideoutB2F.asm @@ -0,0 +1,3 @@ + + map_header RocketHideoutB2F, ROCKET_HIDEOUT_B2F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/RocketHideoutB3F.asm b/data/maps/headers/RocketHideoutB3F.asm new file mode 100755 index 00000000..0a04b00e --- /dev/null +++ b/data/maps/headers/RocketHideoutB3F.asm @@ -0,0 +1,3 @@ + + map_header RocketHideoutB3F, ROCKET_HIDEOUT_B3F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/RocketHideoutB4F.asm b/data/maps/headers/RocketHideoutB4F.asm new file mode 100755 index 00000000..11512c01 --- /dev/null +++ b/data/maps/headers/RocketHideoutB4F.asm @@ -0,0 +1,3 @@ + + map_header RocketHideoutB4F, ROCKET_HIDEOUT_B4F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/RocketHideoutElevator.asm b/data/maps/headers/RocketHideoutElevator.asm new file mode 100755 index 00000000..90ece237 --- /dev/null +++ b/data/maps/headers/RocketHideoutElevator.asm @@ -0,0 +1,3 @@ + + map_header RocketHideoutElevator, ROCKET_HIDEOUT_ELEVATOR, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/Route1.asm b/data/maps/headers/Route1.asm new file mode 100755 index 00000000..6eeb0347 --- /dev/null +++ b/data/maps/headers/Route1.asm @@ -0,0 +1,5 @@ + + map_header Route1, ROUTE_1, OVERWORLD, NORTH | SOUTH + connection north, ViridianCity, VIRIDIAN_CITY, -5 + connection south, PalletTown, PALLET_TOWN, 0 + end_map_header diff --git a/data/maps/headers/Route10.asm b/data/maps/headers/Route10.asm new file mode 100755 index 00000000..ba498b0a --- /dev/null +++ b/data/maps/headers/Route10.asm @@ -0,0 +1,5 @@ + + map_header Route10, ROUTE_10, OVERWORLD, SOUTH | WEST + connection south, LavenderTown, LAVENDER_TOWN, 0 + connection west, Route9, ROUTE_9, 0 + end_map_header diff --git a/data/maps/headers/Route11.asm b/data/maps/headers/Route11.asm new file mode 100755 index 00000000..d8f2e72f --- /dev/null +++ b/data/maps/headers/Route11.asm @@ -0,0 +1,5 @@ + + map_header Route11, ROUTE_11, OVERWORLD, WEST | EAST + connection west, VermilionCity, VERMILION_CITY, -4 + connection east, Route12, ROUTE_12, -27 + end_map_header diff --git a/data/maps/headers/Route11Gate1F.asm b/data/maps/headers/Route11Gate1F.asm new file mode 100755 index 00000000..aa97b791 --- /dev/null +++ b/data/maps/headers/Route11Gate1F.asm @@ -0,0 +1,3 @@ + + map_header Route11Gate1F, ROUTE_11_GATE_1F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route11Gate2F.asm b/data/maps/headers/Route11Gate2F.asm new file mode 100755 index 00000000..560d38db --- /dev/null +++ b/data/maps/headers/Route11Gate2F.asm @@ -0,0 +1,3 @@ + + map_header Route11Gate2F, ROUTE_11_GATE_2F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route12.asm b/data/maps/headers/Route12.asm new file mode 100755 index 00000000..931ddf1d --- /dev/null +++ b/data/maps/headers/Route12.asm @@ -0,0 +1,6 @@ + + map_header Route12, ROUTE_12, OVERWORLD, NORTH | SOUTH | WEST + connection north, LavenderTown, LAVENDER_TOWN, 0 + connection south, Route13, ROUTE_13, -20 + connection west, Route11, ROUTE_11, 27 + end_map_header diff --git a/data/maps/headers/Route12Gate1F.asm b/data/maps/headers/Route12Gate1F.asm new file mode 100755 index 00000000..047a670c --- /dev/null +++ b/data/maps/headers/Route12Gate1F.asm @@ -0,0 +1,3 @@ + + map_header Route12Gate1F, ROUTE_12_GATE_1F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route12Gate2F.asm b/data/maps/headers/Route12Gate2F.asm new file mode 100755 index 00000000..e1366736 --- /dev/null +++ b/data/maps/headers/Route12Gate2F.asm @@ -0,0 +1,3 @@ + + map_header Route12Gate2F, ROUTE_12_GATE_2F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route12SuperRodHouse.asm b/data/maps/headers/Route12SuperRodHouse.asm new file mode 100755 index 00000000..2195a9b1 --- /dev/null +++ b/data/maps/headers/Route12SuperRodHouse.asm @@ -0,0 +1,3 @@ + + map_header Route12SuperRodHouse, ROUTE_12_SUPER_ROD_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/Route13.asm b/data/maps/headers/Route13.asm new file mode 100755 index 00000000..242aaa02 --- /dev/null +++ b/data/maps/headers/Route13.asm @@ -0,0 +1,5 @@ + + map_header Route13, ROUTE_13, OVERWORLD, NORTH | WEST + connection north, Route12, ROUTE_12, 20 + connection west, Route14, ROUTE_14, 0 + end_map_header diff --git a/data/maps/headers/Route14.asm b/data/maps/headers/Route14.asm new file mode 100755 index 00000000..c0c39c56 --- /dev/null +++ b/data/maps/headers/Route14.asm @@ -0,0 +1,5 @@ + + map_header Route14, ROUTE_14, OVERWORLD, WEST | EAST + connection west, Route15, ROUTE_15, 18 + connection east, Route13, ROUTE_13, 0 + end_map_header diff --git a/data/maps/headers/Route15.asm b/data/maps/headers/Route15.asm new file mode 100755 index 00000000..28a811d2 --- /dev/null +++ b/data/maps/headers/Route15.asm @@ -0,0 +1,5 @@ + + map_header Route15, ROUTE_15, OVERWORLD, WEST | EAST + connection west, FuchsiaCity, FUCHSIA_CITY, -4 + connection east, Route14, ROUTE_14, -18 + end_map_header diff --git a/data/maps/headers/Route15Gate1F.asm b/data/maps/headers/Route15Gate1F.asm new file mode 100755 index 00000000..a23d15a0 --- /dev/null +++ b/data/maps/headers/Route15Gate1F.asm @@ -0,0 +1,3 @@ + + map_header Route15Gate1F, ROUTE_15_GATE_1F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route15Gate2F.asm b/data/maps/headers/Route15Gate2F.asm new file mode 100755 index 00000000..8ca89872 --- /dev/null +++ b/data/maps/headers/Route15Gate2F.asm @@ -0,0 +1,3 @@ + + map_header Route15Gate2F, ROUTE_15_GATE_2F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route16.asm b/data/maps/headers/Route16.asm new file mode 100755 index 00000000..423c7af2 --- /dev/null +++ b/data/maps/headers/Route16.asm @@ -0,0 +1,5 @@ + + map_header Route16, ROUTE_16, OVERWORLD, SOUTH | EAST + connection south, Route17, ROUTE_17, 0 + connection east, CeladonCity, CELADON_CITY, -4 + end_map_header diff --git a/data/maps/headers/Route16FlyHouse.asm b/data/maps/headers/Route16FlyHouse.asm new file mode 100755 index 00000000..240b6df4 --- /dev/null +++ b/data/maps/headers/Route16FlyHouse.asm @@ -0,0 +1,3 @@ + + map_header Route16FlyHouse, ROUTE_16_FLY_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/Route16Gate1F.asm b/data/maps/headers/Route16Gate1F.asm new file mode 100755 index 00000000..74fd1b7f --- /dev/null +++ b/data/maps/headers/Route16Gate1F.asm @@ -0,0 +1,3 @@ + + map_header Route16Gate1F, ROUTE_16_GATE_1F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route16Gate2F.asm b/data/maps/headers/Route16Gate2F.asm new file mode 100755 index 00000000..ed889f4b --- /dev/null +++ b/data/maps/headers/Route16Gate2F.asm @@ -0,0 +1,3 @@ + + map_header Route16Gate2F, ROUTE_16_GATE_2F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route17.asm b/data/maps/headers/Route17.asm new file mode 100755 index 00000000..5e853299 --- /dev/null +++ b/data/maps/headers/Route17.asm @@ -0,0 +1,5 @@ + + map_header Route17, ROUTE_17, OVERWORLD, NORTH | SOUTH + connection north, Route16, ROUTE_16, 0 + connection south, Route18, ROUTE_18, 0 + end_map_header diff --git a/data/maps/headers/Route18.asm b/data/maps/headers/Route18.asm new file mode 100755 index 00000000..34573051 --- /dev/null +++ b/data/maps/headers/Route18.asm @@ -0,0 +1,5 @@ + + map_header Route18, ROUTE_18, OVERWORLD, NORTH | EAST + connection north, Route17, ROUTE_17, 0 + connection east, FuchsiaCity, FUCHSIA_CITY, -4 + end_map_header diff --git a/data/maps/headers/Route18Gate1F.asm b/data/maps/headers/Route18Gate1F.asm new file mode 100755 index 00000000..2847e0e3 --- /dev/null +++ b/data/maps/headers/Route18Gate1F.asm @@ -0,0 +1,3 @@ + + map_header Route18Gate1F, ROUTE_18_GATE_1F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route18Gate2F.asm b/data/maps/headers/Route18Gate2F.asm new file mode 100755 index 00000000..f25fa700 --- /dev/null +++ b/data/maps/headers/Route18Gate2F.asm @@ -0,0 +1,3 @@ + + map_header Route18Gate2F, ROUTE_18_GATE_2F, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route19.asm b/data/maps/headers/Route19.asm new file mode 100755 index 00000000..7f01c804 --- /dev/null +++ b/data/maps/headers/Route19.asm @@ -0,0 +1,5 @@ + + map_header Route19, ROUTE_19, OVERWORLD, NORTH | WEST + connection north, FuchsiaCity, FUCHSIA_CITY, -5 + connection west, Route20, ROUTE_20, 18 + end_map_header diff --git a/data/maps/headers/Route2.asm b/data/maps/headers/Route2.asm new file mode 100755 index 00000000..521eef69 --- /dev/null +++ b/data/maps/headers/Route2.asm @@ -0,0 +1,5 @@ + + map_header Route2, ROUTE_2, OVERWORLD, NORTH | SOUTH + connection north, PewterCity, PEWTER_CITY, -5 + connection south, ViridianCity, VIRIDIAN_CITY, -5 + end_map_header diff --git a/data/maps/headers/Route20.asm b/data/maps/headers/Route20.asm new file mode 100755 index 00000000..3495b785 --- /dev/null +++ b/data/maps/headers/Route20.asm @@ -0,0 +1,5 @@ + + map_header Route20, ROUTE_20, OVERWORLD, WEST | EAST + connection west, CinnabarIsland, CINNABAR_ISLAND, 0 + connection east, Route19, ROUTE_19, -18 + end_map_header diff --git a/data/maps/headers/Route21.asm b/data/maps/headers/Route21.asm new file mode 100755 index 00000000..803bf217 --- /dev/null +++ b/data/maps/headers/Route21.asm @@ -0,0 +1,5 @@ + + map_header Route21, ROUTE_21, OVERWORLD, NORTH | SOUTH + connection north, PalletTown, PALLET_TOWN, 0 + connection south, CinnabarIsland, CINNABAR_ISLAND, 0 + end_map_header diff --git a/data/maps/headers/Route22.asm b/data/maps/headers/Route22.asm new file mode 100755 index 00000000..e235efa1 --- /dev/null +++ b/data/maps/headers/Route22.asm @@ -0,0 +1,5 @@ + + map_header Route22, ROUTE_22, OVERWORLD, NORTH | EAST + connection north, Route23, ROUTE_23, 0 + connection east, ViridianCity, VIRIDIAN_CITY, -4 + end_map_header diff --git a/data/maps/headers/Route22Gate.asm b/data/maps/headers/Route22Gate.asm new file mode 100755 index 00000000..a9d1dd37 --- /dev/null +++ b/data/maps/headers/Route22Gate.asm @@ -0,0 +1,3 @@ + + map_header Route22Gate, ROUTE_22_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route23.asm b/data/maps/headers/Route23.asm new file mode 100755 index 00000000..e1535c9d --- /dev/null +++ b/data/maps/headers/Route23.asm @@ -0,0 +1,5 @@ + + map_header Route23, ROUTE_23, PLATEAU, NORTH | SOUTH + connection north, IndigoPlateau, INDIGO_PLATEAU, 0 + connection south, Route22, ROUTE_22, 0 + end_map_header diff --git a/data/maps/headers/Route24.asm b/data/maps/headers/Route24.asm new file mode 100755 index 00000000..faf53660 --- /dev/null +++ b/data/maps/headers/Route24.asm @@ -0,0 +1,5 @@ + + map_header Route24, ROUTE_24, OVERWORLD, SOUTH | EAST + connection south, CeruleanCity, CERULEAN_CITY, -5 + connection east, Route25, ROUTE_25, 0 + end_map_header diff --git a/data/maps/headers/Route25.asm b/data/maps/headers/Route25.asm new file mode 100755 index 00000000..1873d19b --- /dev/null +++ b/data/maps/headers/Route25.asm @@ -0,0 +1,4 @@ + + map_header Route25, ROUTE_25, OVERWORLD, WEST + connection west, Route24, ROUTE_24, 0 + end_map_header diff --git a/data/maps/headers/Route2Gate.asm b/data/maps/headers/Route2Gate.asm new file mode 100755 index 00000000..730d8f2d --- /dev/null +++ b/data/maps/headers/Route2Gate.asm @@ -0,0 +1,3 @@ + + map_header Route2Gate, ROUTE_2_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route2TradeHouse.asm b/data/maps/headers/Route2TradeHouse.asm new file mode 100755 index 00000000..b9937dad --- /dev/null +++ b/data/maps/headers/Route2TradeHouse.asm @@ -0,0 +1,3 @@ + + map_header Route2TradeHouse, ROUTE_2_TRADE_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/Route3.asm b/data/maps/headers/Route3.asm new file mode 100755 index 00000000..ddbd7783 --- /dev/null +++ b/data/maps/headers/Route3.asm @@ -0,0 +1,5 @@ + + map_header Route3, ROUTE_3, OVERWORLD, NORTH | WEST + connection north, Route4, ROUTE_4, 25 + connection west, PewterCity, PEWTER_CITY, -4 + end_map_header diff --git a/data/maps/headers/Route4.asm b/data/maps/headers/Route4.asm new file mode 100755 index 00000000..6c43171a --- /dev/null +++ b/data/maps/headers/Route4.asm @@ -0,0 +1,5 @@ + + map_header Route4, ROUTE_4, OVERWORLD, SOUTH | EAST + connection south, Route3, ROUTE_3, -25 + connection east, CeruleanCity, CERULEAN_CITY, -4 + end_map_header diff --git a/data/maps/headers/Route5.asm b/data/maps/headers/Route5.asm new file mode 100755 index 00000000..ea84090c --- /dev/null +++ b/data/maps/headers/Route5.asm @@ -0,0 +1,5 @@ + + map_header Route5, ROUTE_5, OVERWORLD, NORTH | SOUTH + connection north, CeruleanCity, CERULEAN_CITY, -5 + connection south, SaffronCity, SAFFRON_CITY, -5 + end_map_header diff --git a/data/maps/headers/Route5Gate.asm b/data/maps/headers/Route5Gate.asm new file mode 100755 index 00000000..a0115533 --- /dev/null +++ b/data/maps/headers/Route5Gate.asm @@ -0,0 +1,3 @@ + + map_header Route5Gate, ROUTE_5_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route6.asm b/data/maps/headers/Route6.asm new file mode 100755 index 00000000..956aa4d6 --- /dev/null +++ b/data/maps/headers/Route6.asm @@ -0,0 +1,5 @@ + + map_header Route6, ROUTE_6, OVERWORLD, NORTH | SOUTH + connection north, SaffronCity, SAFFRON_CITY, -5 + connection south, VermilionCity, VERMILION_CITY, -5 + end_map_header diff --git a/data/maps/headers/Route6Gate.asm b/data/maps/headers/Route6Gate.asm new file mode 100755 index 00000000..f80b57c8 --- /dev/null +++ b/data/maps/headers/Route6Gate.asm @@ -0,0 +1,3 @@ + + map_header Route6Gate, ROUTE_6_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route7.asm b/data/maps/headers/Route7.asm new file mode 100755 index 00000000..8368c3fe --- /dev/null +++ b/data/maps/headers/Route7.asm @@ -0,0 +1,5 @@ + + map_header Route7, ROUTE_7, OVERWORLD, WEST | EAST + connection west, CeladonCity, CELADON_CITY, -4 + connection east, SaffronCity, SAFFRON_CITY, -4 + end_map_header diff --git a/data/maps/headers/Route7Gate.asm b/data/maps/headers/Route7Gate.asm new file mode 100755 index 00000000..e9b9b16d --- /dev/null +++ b/data/maps/headers/Route7Gate.asm @@ -0,0 +1,3 @@ + + map_header Route7Gate, ROUTE_7_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route8.asm b/data/maps/headers/Route8.asm new file mode 100755 index 00000000..8df9e023 --- /dev/null +++ b/data/maps/headers/Route8.asm @@ -0,0 +1,5 @@ + + map_header Route8, ROUTE_8, OVERWORLD, WEST | EAST + connection west, SaffronCity, SAFFRON_CITY, -4 + connection east, LavenderTown, LAVENDER_TOWN, 0 + end_map_header diff --git a/data/maps/headers/Route8Gate.asm b/data/maps/headers/Route8Gate.asm new file mode 100755 index 00000000..f6a320a4 --- /dev/null +++ b/data/maps/headers/Route8Gate.asm @@ -0,0 +1,3 @@ + + map_header Route8Gate, ROUTE_8_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/Route9.asm b/data/maps/headers/Route9.asm new file mode 100755 index 00000000..c1ed9225 --- /dev/null +++ b/data/maps/headers/Route9.asm @@ -0,0 +1,5 @@ + + map_header Route9, ROUTE_9, OVERWORLD, WEST | EAST + connection west, CeruleanCity, CERULEAN_CITY, -4 + connection east, Route10, ROUTE_10, 0 + end_map_header diff --git a/data/maps/headers/SSAnne1F.asm b/data/maps/headers/SSAnne1F.asm new file mode 100755 index 00000000..80d25e2d --- /dev/null +++ b/data/maps/headers/SSAnne1F.asm @@ -0,0 +1,3 @@ + + map_header SSAnne1F, SS_ANNE_1F, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnne1FRooms.asm b/data/maps/headers/SSAnne1FRooms.asm new file mode 100755 index 00000000..8bdd8d00 --- /dev/null +++ b/data/maps/headers/SSAnne1FRooms.asm @@ -0,0 +1,3 @@ + + map_header SSAnne1FRooms, SS_ANNE_1F_ROOMS, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnne2F.asm b/data/maps/headers/SSAnne2F.asm new file mode 100755 index 00000000..b2fe14d7 --- /dev/null +++ b/data/maps/headers/SSAnne2F.asm @@ -0,0 +1,3 @@ + + map_header SSAnne2F, SS_ANNE_2F, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnne2FRooms.asm b/data/maps/headers/SSAnne2FRooms.asm new file mode 100755 index 00000000..2d349e4c --- /dev/null +++ b/data/maps/headers/SSAnne2FRooms.asm @@ -0,0 +1,3 @@ + + map_header SSAnne2FRooms, SS_ANNE_2F_ROOMS, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnne3F.asm b/data/maps/headers/SSAnne3F.asm new file mode 100755 index 00000000..f391a0cd --- /dev/null +++ b/data/maps/headers/SSAnne3F.asm @@ -0,0 +1,3 @@ + + map_header SSAnne3F, SS_ANNE_3F, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnneB1F.asm b/data/maps/headers/SSAnneB1F.asm new file mode 100755 index 00000000..c21d7cff --- /dev/null +++ b/data/maps/headers/SSAnneB1F.asm @@ -0,0 +1,3 @@ + + map_header SSAnneB1F, SS_ANNE_B1F, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnneB1FRooms.asm b/data/maps/headers/SSAnneB1FRooms.asm new file mode 100755 index 00000000..1b8b4620 --- /dev/null +++ b/data/maps/headers/SSAnneB1FRooms.asm @@ -0,0 +1,3 @@ + + map_header SSAnneB1FRooms, SS_ANNE_B1F_ROOMS, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnneBow.asm b/data/maps/headers/SSAnneBow.asm new file mode 100755 index 00000000..2195e970 --- /dev/null +++ b/data/maps/headers/SSAnneBow.asm @@ -0,0 +1,3 @@ + + map_header SSAnneBow, SS_ANNE_BOW, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnneCaptainsRoom.asm b/data/maps/headers/SSAnneCaptainsRoom.asm new file mode 100755 index 00000000..a24f930d --- /dev/null +++ b/data/maps/headers/SSAnneCaptainsRoom.asm @@ -0,0 +1,3 @@ + + map_header SSAnneCaptainsRoom, SS_ANNE_CAPTAINS_ROOM, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SSAnneKitchen.asm b/data/maps/headers/SSAnneKitchen.asm new file mode 100755 index 00000000..47e84fbe --- /dev/null +++ b/data/maps/headers/SSAnneKitchen.asm @@ -0,0 +1,3 @@ + + map_header SSAnneKitchen, SS_ANNE_KITCHEN, SHIP, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneCenter.asm b/data/maps/headers/SafariZoneCenter.asm new file mode 100755 index 00000000..ccc58ed1 --- /dev/null +++ b/data/maps/headers/SafariZoneCenter.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneCenter, SAFARI_ZONE_CENTER, FOREST, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneCenterRestHouse.asm b/data/maps/headers/SafariZoneCenterRestHouse.asm new file mode 100755 index 00000000..a866003f --- /dev/null +++ b/data/maps/headers/SafariZoneCenterRestHouse.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneCenterRestHouse, SAFARI_ZONE_CENTER_REST_HOUSE, GATE, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneEast.asm b/data/maps/headers/SafariZoneEast.asm new file mode 100755 index 00000000..c23e9334 --- /dev/null +++ b/data/maps/headers/SafariZoneEast.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneEast, SAFARI_ZONE_EAST, FOREST, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneEastRestHouse.asm b/data/maps/headers/SafariZoneEastRestHouse.asm new file mode 100755 index 00000000..1f8d76c6 --- /dev/null +++ b/data/maps/headers/SafariZoneEastRestHouse.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneEastRestHouse, SAFARI_ZONE_EAST_REST_HOUSE, GATE, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneGate.asm b/data/maps/headers/SafariZoneGate.asm new file mode 100755 index 00000000..7816460d --- /dev/null +++ b/data/maps/headers/SafariZoneGate.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneGate, SAFARI_ZONE_GATE, GATE, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneNorth.asm b/data/maps/headers/SafariZoneNorth.asm new file mode 100755 index 00000000..32639d22 --- /dev/null +++ b/data/maps/headers/SafariZoneNorth.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneNorth, SAFARI_ZONE_NORTH, FOREST, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneNorthRestHouse.asm b/data/maps/headers/SafariZoneNorthRestHouse.asm new file mode 100755 index 00000000..ec083803 --- /dev/null +++ b/data/maps/headers/SafariZoneNorthRestHouse.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneNorthRestHouse, SAFARI_ZONE_NORTH_REST_HOUSE, GATE, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneSecretHouse.asm b/data/maps/headers/SafariZoneSecretHouse.asm new file mode 100755 index 00000000..630577c4 --- /dev/null +++ b/data/maps/headers/SafariZoneSecretHouse.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneSecretHouse, SAFARI_ZONE_SECRET_HOUSE, LAB, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneWest.asm b/data/maps/headers/SafariZoneWest.asm new file mode 100755 index 00000000..a1117d09 --- /dev/null +++ b/data/maps/headers/SafariZoneWest.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneWest, SAFARI_ZONE_WEST, FOREST, 0 + end_map_header diff --git a/data/maps/headers/SafariZoneWestRestHouse.asm b/data/maps/headers/SafariZoneWestRestHouse.asm new file mode 100755 index 00000000..e4618e1d --- /dev/null +++ b/data/maps/headers/SafariZoneWestRestHouse.asm @@ -0,0 +1,3 @@ + + map_header SafariZoneWestRestHouse, SAFARI_ZONE_WEST_REST_HOUSE, GATE, 0 + end_map_header diff --git a/data/maps/headers/SaffronCity.asm b/data/maps/headers/SaffronCity.asm new file mode 100755 index 00000000..ee1f71e4 --- /dev/null +++ b/data/maps/headers/SaffronCity.asm @@ -0,0 +1,7 @@ + + map_header SaffronCity, SAFFRON_CITY, OVERWORLD, NORTH | SOUTH | WEST | EAST + connection north, Route5, ROUTE_5, 5 + connection south, Route6, ROUTE_6, 5 + connection west, Route7, ROUTE_7, 4 + connection east, Route8, ROUTE_8, 4 + end_map_header diff --git a/data/maps/headers/SaffronGym.asm b/data/maps/headers/SaffronGym.asm new file mode 100755 index 00000000..14ee3323 --- /dev/null +++ b/data/maps/headers/SaffronGym.asm @@ -0,0 +1,3 @@ + + map_header SaffronGym, SAFFRON_GYM, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SaffronMart.asm b/data/maps/headers/SaffronMart.asm new file mode 100755 index 00000000..f03132d2 --- /dev/null +++ b/data/maps/headers/SaffronMart.asm @@ -0,0 +1,3 @@ + + map_header SaffronMart, SAFFRON_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/SaffronPidgeyHouse.asm b/data/maps/headers/SaffronPidgeyHouse.asm new file mode 100755 index 00000000..e9f8dde7 --- /dev/null +++ b/data/maps/headers/SaffronPidgeyHouse.asm @@ -0,0 +1,3 @@ + + map_header SaffronPidgeyHouse, SAFFRON_PIDGEY_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/SaffronPokecenter.asm b/data/maps/headers/SaffronPokecenter.asm new file mode 100755 index 00000000..9b250050 --- /dev/null +++ b/data/maps/headers/SaffronPokecenter.asm @@ -0,0 +1,3 @@ + + map_header SaffronPokecenter, SAFFRON_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/SeafoamIslands1F.asm b/data/maps/headers/SeafoamIslands1F.asm new file mode 100755 index 00000000..db530549 --- /dev/null +++ b/data/maps/headers/SeafoamIslands1F.asm @@ -0,0 +1,3 @@ + + map_header SeafoamIslands1F, SEAFOAM_ISLANDS_1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/SeafoamIslandsB1F.asm b/data/maps/headers/SeafoamIslandsB1F.asm new file mode 100755 index 00000000..589eef93 --- /dev/null +++ b/data/maps/headers/SeafoamIslandsB1F.asm @@ -0,0 +1,3 @@ + + map_header SeafoamIslandsB1F, SEAFOAM_ISLANDS_B1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/SeafoamIslandsB2F.asm b/data/maps/headers/SeafoamIslandsB2F.asm new file mode 100755 index 00000000..f7e624ed --- /dev/null +++ b/data/maps/headers/SeafoamIslandsB2F.asm @@ -0,0 +1,3 @@ + + map_header SeafoamIslandsB2F, SEAFOAM_ISLANDS_B2F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/SeafoamIslandsB3F.asm b/data/maps/headers/SeafoamIslandsB3F.asm new file mode 100755 index 00000000..b57da3c0 --- /dev/null +++ b/data/maps/headers/SeafoamIslandsB3F.asm @@ -0,0 +1,3 @@ + + map_header SeafoamIslandsB3F, SEAFOAM_ISLANDS_B3F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/SeafoamIslandsB4F.asm b/data/maps/headers/SeafoamIslandsB4F.asm new file mode 100755 index 00000000..bae1e3a2 --- /dev/null +++ b/data/maps/headers/SeafoamIslandsB4F.asm @@ -0,0 +1,3 @@ + + map_header SeafoamIslandsB4F, SEAFOAM_ISLANDS_B4F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/SilphCo10F.asm b/data/maps/headers/SilphCo10F.asm new file mode 100755 index 00000000..7a6786e7 --- /dev/null +++ b/data/maps/headers/SilphCo10F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo10F, SILPH_CO_10F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo11F.asm b/data/maps/headers/SilphCo11F.asm new file mode 100755 index 00000000..72eaaca2 --- /dev/null +++ b/data/maps/headers/SilphCo11F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo11F, SILPH_CO_11F, INTERIOR, 0 + end_map_header diff --git a/data/maps/headers/SilphCo1F.asm b/data/maps/headers/SilphCo1F.asm new file mode 100755 index 00000000..4c4ac97d --- /dev/null +++ b/data/maps/headers/SilphCo1F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo1F, SILPH_CO_1F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo2F.asm b/data/maps/headers/SilphCo2F.asm new file mode 100755 index 00000000..7dc44a55 --- /dev/null +++ b/data/maps/headers/SilphCo2F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo2F, SILPH_CO_2F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo3F.asm b/data/maps/headers/SilphCo3F.asm new file mode 100755 index 00000000..99e4aa15 --- /dev/null +++ b/data/maps/headers/SilphCo3F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo3F, SILPH_CO_3F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo4F.asm b/data/maps/headers/SilphCo4F.asm new file mode 100755 index 00000000..8eed0f9a --- /dev/null +++ b/data/maps/headers/SilphCo4F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo4F, SILPH_CO_4F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo5F.asm b/data/maps/headers/SilphCo5F.asm new file mode 100755 index 00000000..3b40c360 --- /dev/null +++ b/data/maps/headers/SilphCo5F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo5F, SILPH_CO_5F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo6F.asm b/data/maps/headers/SilphCo6F.asm new file mode 100755 index 00000000..3d2b3b8c --- /dev/null +++ b/data/maps/headers/SilphCo6F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo6F, SILPH_CO_6F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo7F.asm b/data/maps/headers/SilphCo7F.asm new file mode 100755 index 00000000..1591837a --- /dev/null +++ b/data/maps/headers/SilphCo7F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo7F, SILPH_CO_7F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo8F.asm b/data/maps/headers/SilphCo8F.asm new file mode 100755 index 00000000..e676fa86 --- /dev/null +++ b/data/maps/headers/SilphCo8F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo8F, SILPH_CO_8F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCo9F.asm b/data/maps/headers/SilphCo9F.asm new file mode 100755 index 00000000..89f0300a --- /dev/null +++ b/data/maps/headers/SilphCo9F.asm @@ -0,0 +1,3 @@ + + map_header SilphCo9F, SILPH_CO_9F, FACILITY, 0 + end_map_header diff --git a/data/maps/headers/SilphCoElevator.asm b/data/maps/headers/SilphCoElevator.asm new file mode 100755 index 00000000..4dd9cd9f --- /dev/null +++ b/data/maps/headers/SilphCoElevator.asm @@ -0,0 +1,3 @@ + + map_header SilphCoElevator, SILPH_CO_ELEVATOR, LOBBY, 0 + end_map_header diff --git a/data/maps/headers/TradeCenter.asm b/data/maps/headers/TradeCenter.asm new file mode 100755 index 00000000..268d76b2 --- /dev/null +++ b/data/maps/headers/TradeCenter.asm @@ -0,0 +1,3 @@ + + map_header TradeCenter, TRADE_CENTER, CLUB, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathNorthSouth.asm b/data/maps/headers/UndergroundPathNorthSouth.asm new file mode 100755 index 00000000..4bb03c79 --- /dev/null +++ b/data/maps/headers/UndergroundPathNorthSouth.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathNorthSouth, UNDERGROUND_PATH_NORTH_SOUTH, UNDERGROUND, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathRoute5.asm b/data/maps/headers/UndergroundPathRoute5.asm new file mode 100755 index 00000000..18287254 --- /dev/null +++ b/data/maps/headers/UndergroundPathRoute5.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathRoute5, UNDERGROUND_PATH_ROUTE_5, GATE, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathRoute6.asm b/data/maps/headers/UndergroundPathRoute6.asm new file mode 100755 index 00000000..67772543 --- /dev/null +++ b/data/maps/headers/UndergroundPathRoute6.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathRoute6, UNDERGROUND_PATH_ROUTE_6, GATE, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathRoute7.asm b/data/maps/headers/UndergroundPathRoute7.asm new file mode 100755 index 00000000..d70548ed --- /dev/null +++ b/data/maps/headers/UndergroundPathRoute7.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathRoute7, UNDERGROUND_PATH_ROUTE_7, GATE, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathRoute7Copy.asm b/data/maps/headers/UndergroundPathRoute7Copy.asm new file mode 100755 index 00000000..30bb70a8 --- /dev/null +++ b/data/maps/headers/UndergroundPathRoute7Copy.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathRoute7Copy, UNDERGROUND_PATH_ROUTE_7, GATE, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathRoute8.asm b/data/maps/headers/UndergroundPathRoute8.asm new file mode 100755 index 00000000..102d8413 --- /dev/null +++ b/data/maps/headers/UndergroundPathRoute8.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathRoute8, UNDERGROUND_PATH_ROUTE_8, GATE, 0 + end_map_header diff --git a/data/maps/headers/UndergroundPathWestEast.asm b/data/maps/headers/UndergroundPathWestEast.asm new file mode 100755 index 00000000..05976e87 --- /dev/null +++ b/data/maps/headers/UndergroundPathWestEast.asm @@ -0,0 +1,3 @@ + + map_header UndergroundPathWestEast, UNDERGROUND_PATH_WEST_EAST, UNDERGROUND, 0 + end_map_header diff --git a/data/maps/headers/VermilionCity.asm b/data/maps/headers/VermilionCity.asm new file mode 100755 index 00000000..e211562c --- /dev/null +++ b/data/maps/headers/VermilionCity.asm @@ -0,0 +1,5 @@ + + map_header VermilionCity, VERMILION_CITY, OVERWORLD, NORTH | EAST + connection north, Route6, ROUTE_6, 5 + connection east, Route11, ROUTE_11, 4 + end_map_header diff --git a/data/maps/headers/VermilionDock.asm b/data/maps/headers/VermilionDock.asm new file mode 100755 index 00000000..9a9b61c2 --- /dev/null +++ b/data/maps/headers/VermilionDock.asm @@ -0,0 +1,3 @@ + + map_header VermilionDock, VERMILION_DOCK, SHIP_PORT, 0 + end_map_header diff --git a/data/maps/headers/VermilionGym.asm b/data/maps/headers/VermilionGym.asm new file mode 100755 index 00000000..ca75b8c1 --- /dev/null +++ b/data/maps/headers/VermilionGym.asm @@ -0,0 +1,3 @@ + + map_header VermilionGym, VERMILION_GYM, GYM, 0 + end_map_header diff --git a/data/maps/headers/VermilionMart.asm b/data/maps/headers/VermilionMart.asm new file mode 100755 index 00000000..5777db4b --- /dev/null +++ b/data/maps/headers/VermilionMart.asm @@ -0,0 +1,3 @@ + + map_header VermilionMart, VERMILION_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/VermilionOldRodHouse.asm b/data/maps/headers/VermilionOldRodHouse.asm new file mode 100755 index 00000000..f9c890e0 --- /dev/null +++ b/data/maps/headers/VermilionOldRodHouse.asm @@ -0,0 +1,3 @@ + + map_header VermilionOldRodHouse, VERMILION_OLD_ROD_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/VermilionPidgeyHouse.asm b/data/maps/headers/VermilionPidgeyHouse.asm new file mode 100755 index 00000000..afb81784 --- /dev/null +++ b/data/maps/headers/VermilionPidgeyHouse.asm @@ -0,0 +1,3 @@ + + map_header VermilionPidgeyHouse, VERMILION_PIDGEY_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/VermilionPokecenter.asm b/data/maps/headers/VermilionPokecenter.asm new file mode 100755 index 00000000..af9827ac --- /dev/null +++ b/data/maps/headers/VermilionPokecenter.asm @@ -0,0 +1,3 @@ + + map_header VermilionPokecenter, VERMILION_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/VermilionTradeHouse.asm b/data/maps/headers/VermilionTradeHouse.asm new file mode 100755 index 00000000..3cb82c47 --- /dev/null +++ b/data/maps/headers/VermilionTradeHouse.asm @@ -0,0 +1,3 @@ + + map_header VermilionTradeHouse, VERMILION_TRADE_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/VictoryRoad1F.asm b/data/maps/headers/VictoryRoad1F.asm new file mode 100755 index 00000000..dae95f16 --- /dev/null +++ b/data/maps/headers/VictoryRoad1F.asm @@ -0,0 +1,3 @@ + + map_header VictoryRoad1F, VICTORY_ROAD_1F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/VictoryRoad2F.asm b/data/maps/headers/VictoryRoad2F.asm new file mode 100755 index 00000000..99079ad3 --- /dev/null +++ b/data/maps/headers/VictoryRoad2F.asm @@ -0,0 +1,3 @@ + + map_header VictoryRoad2F, VICTORY_ROAD_2F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/VictoryRoad3F.asm b/data/maps/headers/VictoryRoad3F.asm new file mode 100755 index 00000000..bc15cad7 --- /dev/null +++ b/data/maps/headers/VictoryRoad3F.asm @@ -0,0 +1,3 @@ + + map_header VictoryRoad3F, VICTORY_ROAD_3F, CAVERN, 0 + end_map_header diff --git a/data/maps/headers/ViridianCity.asm b/data/maps/headers/ViridianCity.asm new file mode 100755 index 00000000..0771cc81 --- /dev/null +++ b/data/maps/headers/ViridianCity.asm @@ -0,0 +1,6 @@ + + map_header ViridianCity, VIRIDIAN_CITY, OVERWORLD, NORTH | SOUTH | WEST + connection north, Route2, ROUTE_2, 5 + connection south, Route1, ROUTE_1, 5 + connection west, Route22, ROUTE_22, 4 + end_map_header diff --git a/data/maps/headers/ViridianForest.asm b/data/maps/headers/ViridianForest.asm new file mode 100755 index 00000000..d531ec86 --- /dev/null +++ b/data/maps/headers/ViridianForest.asm @@ -0,0 +1,3 @@ + + map_header ViridianForest, VIRIDIAN_FOREST, FOREST, 0 + end_map_header diff --git a/data/maps/headers/ViridianForestNorthGate.asm b/data/maps/headers/ViridianForestNorthGate.asm new file mode 100755 index 00000000..5bfcd6ed --- /dev/null +++ b/data/maps/headers/ViridianForestNorthGate.asm @@ -0,0 +1,3 @@ + + map_header ViridianForestNorthGate, VIRIDIAN_FOREST_NORTH_GATE, FOREST_GATE, 0 + end_map_header diff --git a/data/maps/headers/ViridianForestSouthGate.asm b/data/maps/headers/ViridianForestSouthGate.asm new file mode 100755 index 00000000..87a49284 --- /dev/null +++ b/data/maps/headers/ViridianForestSouthGate.asm @@ -0,0 +1,3 @@ + + map_header ViridianForestSouthGate, VIRIDIAN_FOREST_SOUTH_GATE, FOREST_GATE, 0 + end_map_header diff --git a/data/maps/headers/ViridianGym.asm b/data/maps/headers/ViridianGym.asm new file mode 100755 index 00000000..640a71b6 --- /dev/null +++ b/data/maps/headers/ViridianGym.asm @@ -0,0 +1,3 @@ + + map_header ViridianGym, VIRIDIAN_GYM, GYM, 0 + end_map_header diff --git a/data/maps/headers/ViridianMart.asm b/data/maps/headers/ViridianMart.asm new file mode 100755 index 00000000..817b5265 --- /dev/null +++ b/data/maps/headers/ViridianMart.asm @@ -0,0 +1,3 @@ + + map_header ViridianMart, VIRIDIAN_MART, MART, 0 + end_map_header diff --git a/data/maps/headers/ViridianNicknameHouse.asm b/data/maps/headers/ViridianNicknameHouse.asm new file mode 100755 index 00000000..5a7c272f --- /dev/null +++ b/data/maps/headers/ViridianNicknameHouse.asm @@ -0,0 +1,3 @@ + + map_header ViridianNicknameHouse, VIRIDIAN_NICKNAME_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/ViridianPokecenter.asm b/data/maps/headers/ViridianPokecenter.asm new file mode 100755 index 00000000..daac19f3 --- /dev/null +++ b/data/maps/headers/ViridianPokecenter.asm @@ -0,0 +1,3 @@ + + map_header ViridianPokecenter, VIRIDIAN_POKECENTER, POKECENTER, 0 + end_map_header diff --git a/data/maps/headers/ViridianSchoolHouse.asm b/data/maps/headers/ViridianSchoolHouse.asm new file mode 100755 index 00000000..f5b77212 --- /dev/null +++ b/data/maps/headers/ViridianSchoolHouse.asm @@ -0,0 +1,3 @@ + + map_header ViridianSchoolHouse, VIRIDIAN_SCHOOL_HOUSE, HOUSE, 0 + end_map_header diff --git a/data/maps/headers/WardensHouse.asm b/data/maps/headers/WardensHouse.asm new file mode 100755 index 00000000..08216f59 --- /dev/null +++ b/data/maps/headers/WardensHouse.asm @@ -0,0 +1,3 @@ + + map_header WardensHouse, WARDENS_HOUSE, LAB, 0 + end_map_header diff --git a/data/maps/hide_show_data.asm b/data/maps/hide_show_data.asm new file mode 100755 index 00000000..bc89d600 --- /dev/null +++ b/data/maps/hide_show_data.asm @@ -0,0 +1,577 @@ +; data for default hidden/shown +; objects for each map ($00-$F8) + +; 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 + 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) + +; These constants come from the bytes for Predef functions: +Hide equ $11 +Show equ $15 + +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 diff --git a/data/map_header_banks.asm b/data/maps/map_header_banks.asm index d698cfee..d698cfee 100755 --- a/data/map_header_banks.asm +++ b/data/maps/map_header_banks.asm diff --git a/data/map_header_pointers.asm b/data/maps/map_header_pointers.asm index 9d85eaae..9d85eaae 100755 --- a/data/map_header_pointers.asm +++ b/data/maps/map_header_pointers.asm diff --git a/text/map_names.asm b/data/maps/names.asm index c2642942..c2642942 100755 --- a/text/map_names.asm +++ b/data/maps/names.asm diff --git a/data/mapObjects/AgathasRoom.asm b/data/maps/objects/AgathasRoom.asm index 4a82e78d..4a82e78d 100755 --- a/data/mapObjects/AgathasRoom.asm +++ b/data/maps/objects/AgathasRoom.asm diff --git a/data/mapObjects/BikeShop.asm b/data/maps/objects/BikeShop.asm index 9f21ab3e..9f21ab3e 100755 --- a/data/mapObjects/BikeShop.asm +++ b/data/maps/objects/BikeShop.asm diff --git a/data/mapObjects/BillsHouse.asm b/data/maps/objects/BillsHouse.asm index c8f708cb..c8f708cb 100755 --- a/data/mapObjects/BillsHouse.asm +++ b/data/maps/objects/BillsHouse.asm diff --git a/data/mapObjects/BluesHouse.asm b/data/maps/objects/BluesHouse.asm index 45ca1286..45ca1286 100755 --- a/data/mapObjects/BluesHouse.asm +++ b/data/maps/objects/BluesHouse.asm diff --git a/data/mapObjects/BrunosRoom.asm b/data/maps/objects/BrunosRoom.asm index dde1e2dd..dde1e2dd 100755 --- a/data/mapObjects/BrunosRoom.asm +++ b/data/maps/objects/BrunosRoom.asm diff --git a/data/mapObjects/CeladonChiefHouse.asm b/data/maps/objects/CeladonChiefHouse.asm index 88850f35..88850f35 100755 --- a/data/mapObjects/CeladonChiefHouse.asm +++ b/data/maps/objects/CeladonChiefHouse.asm diff --git a/data/mapObjects/CeladonCity.asm b/data/maps/objects/CeladonCity.asm index 005fc61e..005fc61e 100755 --- a/data/mapObjects/CeladonCity.asm +++ b/data/maps/objects/CeladonCity.asm diff --git a/data/mapObjects/CeladonDiner.asm b/data/maps/objects/CeladonDiner.asm index 0a4a895d..0a4a895d 100755 --- a/data/mapObjects/CeladonDiner.asm +++ b/data/maps/objects/CeladonDiner.asm diff --git a/data/mapObjects/CeladonGym.asm b/data/maps/objects/CeladonGym.asm index 98fce576..98fce576 100755 --- a/data/mapObjects/CeladonGym.asm +++ b/data/maps/objects/CeladonGym.asm diff --git a/data/mapObjects/CeladonHotel.asm b/data/maps/objects/CeladonHotel.asm index f4aa1305..f4aa1305 100755 --- a/data/mapObjects/CeladonHotel.asm +++ b/data/maps/objects/CeladonHotel.asm diff --git a/data/mapObjects/CeladonMansion1F.asm b/data/maps/objects/CeladonMansion1F.asm index 1abd434c..1abd434c 100755 --- a/data/mapObjects/CeladonMansion1F.asm +++ b/data/maps/objects/CeladonMansion1F.asm diff --git a/data/mapObjects/CeladonMansion2F.asm b/data/maps/objects/CeladonMansion2F.asm index 09c94d29..09c94d29 100755 --- a/data/mapObjects/CeladonMansion2F.asm +++ b/data/maps/objects/CeladonMansion2F.asm diff --git a/data/mapObjects/CeladonMansion3F.asm b/data/maps/objects/CeladonMansion3F.asm index 32701f14..32701f14 100755 --- a/data/mapObjects/CeladonMansion3F.asm +++ b/data/maps/objects/CeladonMansion3F.asm diff --git a/data/mapObjects/CeladonMansionRoof.asm b/data/maps/objects/CeladonMansionRoof.asm index 353b0b96..353b0b96 100755 --- a/data/mapObjects/CeladonMansionRoof.asm +++ b/data/maps/objects/CeladonMansionRoof.asm diff --git a/data/mapObjects/CeladonMansionRoofHouse.asm b/data/maps/objects/CeladonMansionRoofHouse.asm index b6a6149f..b6a6149f 100755 --- a/data/mapObjects/CeladonMansionRoofHouse.asm +++ b/data/maps/objects/CeladonMansionRoofHouse.asm diff --git a/data/mapObjects/CeladonMart1F.asm b/data/maps/objects/CeladonMart1F.asm index 2037369a..2037369a 100755 --- a/data/mapObjects/CeladonMart1F.asm +++ b/data/maps/objects/CeladonMart1F.asm diff --git a/data/mapObjects/CeladonMart2F.asm b/data/maps/objects/CeladonMart2F.asm index 2f5f428e..2f5f428e 100755 --- a/data/mapObjects/CeladonMart2F.asm +++ b/data/maps/objects/CeladonMart2F.asm diff --git a/data/mapObjects/CeladonMart3F.asm b/data/maps/objects/CeladonMart3F.asm index 6dfce535..6dfce535 100755 --- a/data/mapObjects/CeladonMart3F.asm +++ b/data/maps/objects/CeladonMart3F.asm diff --git a/data/mapObjects/CeladonMart4F.asm b/data/maps/objects/CeladonMart4F.asm index 18ba3bdc..18ba3bdc 100755 --- a/data/mapObjects/CeladonMart4F.asm +++ b/data/maps/objects/CeladonMart4F.asm diff --git a/data/mapObjects/CeladonMart5F.asm b/data/maps/objects/CeladonMart5F.asm index fb1201c9..fb1201c9 100755 --- a/data/mapObjects/CeladonMart5F.asm +++ b/data/maps/objects/CeladonMart5F.asm diff --git a/data/mapObjects/CeladonMartElevator.asm b/data/maps/objects/CeladonMartElevator.asm index 9688daef..9688daef 100755 --- a/data/mapObjects/CeladonMartElevator.asm +++ b/data/maps/objects/CeladonMartElevator.asm diff --git a/data/mapObjects/CeladonMartRoof.asm b/data/maps/objects/CeladonMartRoof.asm index 05cef2d4..05cef2d4 100755 --- a/data/mapObjects/CeladonMartRoof.asm +++ b/data/maps/objects/CeladonMartRoof.asm diff --git a/data/mapObjects/CeladonPokecenter.asm b/data/maps/objects/CeladonPokecenter.asm index da5d595f..da5d595f 100755 --- a/data/mapObjects/CeladonPokecenter.asm +++ b/data/maps/objects/CeladonPokecenter.asm diff --git a/data/mapObjects/CeruleanBadgeHouse.asm b/data/maps/objects/CeruleanBadgeHouse.asm index 62a6873b..62a6873b 100755 --- a/data/mapObjects/CeruleanBadgeHouse.asm +++ b/data/maps/objects/CeruleanBadgeHouse.asm diff --git a/data/mapObjects/CeruleanCave1F.asm b/data/maps/objects/CeruleanCave1F.asm index f9670482..f9670482 100755 --- a/data/mapObjects/CeruleanCave1F.asm +++ b/data/maps/objects/CeruleanCave1F.asm diff --git a/data/mapObjects/CeruleanCave2F.asm b/data/maps/objects/CeruleanCave2F.asm index f8312da0..f8312da0 100755 --- a/data/mapObjects/CeruleanCave2F.asm +++ b/data/maps/objects/CeruleanCave2F.asm diff --git a/data/mapObjects/CeruleanCaveB1F.asm b/data/maps/objects/CeruleanCaveB1F.asm index 461f77aa..461f77aa 100755 --- a/data/mapObjects/CeruleanCaveB1F.asm +++ b/data/maps/objects/CeruleanCaveB1F.asm diff --git a/data/mapObjects/CeruleanCity.asm b/data/maps/objects/CeruleanCity.asm index d5adcfd7..d5adcfd7 100755 --- a/data/mapObjects/CeruleanCity.asm +++ b/data/maps/objects/CeruleanCity.asm diff --git a/data/mapObjects/CeruleanGym.asm b/data/maps/objects/CeruleanGym.asm index 96713648..96713648 100755 --- a/data/mapObjects/CeruleanGym.asm +++ b/data/maps/objects/CeruleanGym.asm diff --git a/data/mapObjects/CeruleanMart.asm b/data/maps/objects/CeruleanMart.asm index 4659375f..4659375f 100755 --- a/data/mapObjects/CeruleanMart.asm +++ b/data/maps/objects/CeruleanMart.asm diff --git a/data/mapObjects/CeruleanPokecenter.asm b/data/maps/objects/CeruleanPokecenter.asm index f65db52c..f65db52c 100755 --- a/data/mapObjects/CeruleanPokecenter.asm +++ b/data/maps/objects/CeruleanPokecenter.asm diff --git a/data/mapObjects/CeruleanTradeHouse.asm b/data/maps/objects/CeruleanTradeHouse.asm index a4a46e9b..a4a46e9b 100755 --- a/data/mapObjects/CeruleanTradeHouse.asm +++ b/data/maps/objects/CeruleanTradeHouse.asm diff --git a/data/mapObjects/CeruleanTrashedHouse.asm b/data/maps/objects/CeruleanTrashedHouse.asm index 44b7cf20..44b7cf20 100755 --- a/data/mapObjects/CeruleanTrashedHouse.asm +++ b/data/maps/objects/CeruleanTrashedHouse.asm diff --git a/data/mapObjects/ChampionsRoom.asm b/data/maps/objects/ChampionsRoom.asm index 1e0cb7f4..1e0cb7f4 100755 --- a/data/mapObjects/ChampionsRoom.asm +++ b/data/maps/objects/ChampionsRoom.asm diff --git a/data/mapObjects/CinnabarGym.asm b/data/maps/objects/CinnabarGym.asm index ab204d43..ab204d43 100755 --- a/data/mapObjects/CinnabarGym.asm +++ b/data/maps/objects/CinnabarGym.asm diff --git a/data/mapObjects/CinnabarIsland.asm b/data/maps/objects/CinnabarIsland.asm index 1932e134..1932e134 100755 --- a/data/mapObjects/CinnabarIsland.asm +++ b/data/maps/objects/CinnabarIsland.asm diff --git a/data/mapObjects/CinnabarLab.asm b/data/maps/objects/CinnabarLab.asm index deb5d8ed..deb5d8ed 100755 --- a/data/mapObjects/CinnabarLab.asm +++ b/data/maps/objects/CinnabarLab.asm diff --git a/data/mapObjects/CinnabarLabFossilRoom.asm b/data/maps/objects/CinnabarLabFossilRoom.asm index d31502e6..d31502e6 100755 --- a/data/mapObjects/CinnabarLabFossilRoom.asm +++ b/data/maps/objects/CinnabarLabFossilRoom.asm diff --git a/data/mapObjects/CinnabarLabMetronomeRoom.asm b/data/maps/objects/CinnabarLabMetronomeRoom.asm index 37f93d43..37f93d43 100755 --- a/data/mapObjects/CinnabarLabMetronomeRoom.asm +++ b/data/maps/objects/CinnabarLabMetronomeRoom.asm diff --git a/data/mapObjects/CinnabarLabTradeRoom.asm b/data/maps/objects/CinnabarLabTradeRoom.asm index 449cc914..449cc914 100755 --- a/data/mapObjects/CinnabarLabTradeRoom.asm +++ b/data/maps/objects/CinnabarLabTradeRoom.asm diff --git a/data/mapObjects/CinnabarMart.asm b/data/maps/objects/CinnabarMart.asm index af88ddf0..af88ddf0 100755 --- a/data/mapObjects/CinnabarMart.asm +++ b/data/maps/objects/CinnabarMart.asm diff --git a/data/mapObjects/CinnabarPokecenter.asm b/data/maps/objects/CinnabarPokecenter.asm index 9583ef2a..9583ef2a 100755 --- a/data/mapObjects/CinnabarPokecenter.asm +++ b/data/maps/objects/CinnabarPokecenter.asm diff --git a/data/mapObjects/Colosseum.asm b/data/maps/objects/Colosseum.asm index 18762584..18762584 100755 --- a/data/mapObjects/Colosseum.asm +++ b/data/maps/objects/Colosseum.asm diff --git a/data/mapObjects/CopycatsHouse1F.asm b/data/maps/objects/CopycatsHouse1F.asm index cb4dbb0b..cb4dbb0b 100755 --- a/data/mapObjects/CopycatsHouse1F.asm +++ b/data/maps/objects/CopycatsHouse1F.asm diff --git a/data/mapObjects/CopycatsHouse2F.asm b/data/maps/objects/CopycatsHouse2F.asm index 18b56419..18b56419 100755 --- a/data/mapObjects/CopycatsHouse2F.asm +++ b/data/maps/objects/CopycatsHouse2F.asm diff --git a/data/mapObjects/Daycare.asm b/data/maps/objects/Daycare.asm index c58c83e4..c58c83e4 100755 --- a/data/mapObjects/Daycare.asm +++ b/data/maps/objects/Daycare.asm diff --git a/data/mapObjects/DiglettsCave.asm b/data/maps/objects/DiglettsCave.asm index b4fd0af8..b4fd0af8 100755 --- a/data/mapObjects/DiglettsCave.asm +++ b/data/maps/objects/DiglettsCave.asm diff --git a/data/mapObjects/DiglettsCaveRoute11.asm b/data/maps/objects/DiglettsCaveRoute11.asm index a4c70f06..a4c70f06 100755 --- a/data/mapObjects/DiglettsCaveRoute11.asm +++ b/data/maps/objects/DiglettsCaveRoute11.asm diff --git a/data/mapObjects/DiglettsCaveRoute2.asm b/data/maps/objects/DiglettsCaveRoute2.asm index 0567fee6..0567fee6 100755 --- a/data/mapObjects/DiglettsCaveRoute2.asm +++ b/data/maps/objects/DiglettsCaveRoute2.asm diff --git a/data/mapObjects/FightingDojo.asm b/data/maps/objects/FightingDojo.asm index fdc7b838..fdc7b838 100755 --- a/data/mapObjects/FightingDojo.asm +++ b/data/maps/objects/FightingDojo.asm diff --git a/data/mapObjects/FuchsiaBillsGrandpasHouse.asm b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm index 363b56f9..363b56f9 100755 --- a/data/mapObjects/FuchsiaBillsGrandpasHouse.asm +++ b/data/maps/objects/FuchsiaBillsGrandpasHouse.asm diff --git a/data/mapObjects/FuchsiaCity.asm b/data/maps/objects/FuchsiaCity.asm index 09c97b02..09c97b02 100755 --- a/data/mapObjects/FuchsiaCity.asm +++ b/data/maps/objects/FuchsiaCity.asm diff --git a/data/mapObjects/FuchsiaGoodRodHouse.asm b/data/maps/objects/FuchsiaGoodRodHouse.asm index 390447c8..390447c8 100755 --- a/data/mapObjects/FuchsiaGoodRodHouse.asm +++ b/data/maps/objects/FuchsiaGoodRodHouse.asm diff --git a/data/mapObjects/FuchsiaGym.asm b/data/maps/objects/FuchsiaGym.asm index 5d707d53..5d707d53 100755 --- a/data/mapObjects/FuchsiaGym.asm +++ b/data/maps/objects/FuchsiaGym.asm diff --git a/data/mapObjects/FuchsiaMart.asm b/data/maps/objects/FuchsiaMart.asm index cfa71d8d..cfa71d8d 100755 --- a/data/mapObjects/FuchsiaMart.asm +++ b/data/maps/objects/FuchsiaMart.asm diff --git a/data/mapObjects/FuchsiaMeetingRoom.asm b/data/maps/objects/FuchsiaMeetingRoom.asm index 9130d920..9130d920 100755 --- a/data/mapObjects/FuchsiaMeetingRoom.asm +++ b/data/maps/objects/FuchsiaMeetingRoom.asm diff --git a/data/mapObjects/FuchsiaPokecenter.asm b/data/maps/objects/FuchsiaPokecenter.asm index 73dc529d..73dc529d 100755 --- a/data/mapObjects/FuchsiaPokecenter.asm +++ b/data/maps/objects/FuchsiaPokecenter.asm diff --git a/data/mapObjects/GameCorner.asm b/data/maps/objects/GameCorner.asm index 2704f6ab..2704f6ab 100755 --- a/data/mapObjects/GameCorner.asm +++ b/data/maps/objects/GameCorner.asm diff --git a/data/mapObjects/GameCornerPrizeRoom.asm b/data/maps/objects/GameCornerPrizeRoom.asm index 35cd3ac8..35cd3ac8 100755 --- a/data/mapObjects/GameCornerPrizeRoom.asm +++ b/data/maps/objects/GameCornerPrizeRoom.asm diff --git a/data/mapObjects/HallOfFame.asm b/data/maps/objects/HallOfFame.asm index 3762d871..3762d871 100755 --- a/data/mapObjects/HallOfFame.asm +++ b/data/maps/objects/HallOfFame.asm diff --git a/data/mapObjects/IndigoPlateau.asm b/data/maps/objects/IndigoPlateau.asm index 1447be11..1447be11 100755 --- a/data/mapObjects/IndigoPlateau.asm +++ b/data/maps/objects/IndigoPlateau.asm diff --git a/data/mapObjects/IndigoPlateauLobby.asm b/data/maps/objects/IndigoPlateauLobby.asm index ea113a16..ea113a16 100755 --- a/data/mapObjects/IndigoPlateauLobby.asm +++ b/data/maps/objects/IndigoPlateauLobby.asm diff --git a/data/mapObjects/LancesRoom.asm b/data/maps/objects/LancesRoom.asm index 6f22631a..6f22631a 100755 --- a/data/mapObjects/LancesRoom.asm +++ b/data/maps/objects/LancesRoom.asm diff --git a/data/mapObjects/LavenderCuboneHouse.asm b/data/maps/objects/LavenderCuboneHouse.asm index 96f1b3ba..96f1b3ba 100755 --- a/data/mapObjects/LavenderCuboneHouse.asm +++ b/data/maps/objects/LavenderCuboneHouse.asm diff --git a/data/mapObjects/LavenderMart.asm b/data/maps/objects/LavenderMart.asm index df14ad39..df14ad39 100755 --- a/data/mapObjects/LavenderMart.asm +++ b/data/maps/objects/LavenderMart.asm diff --git a/data/mapObjects/LavenderPokecenter.asm b/data/maps/objects/LavenderPokecenter.asm index 89e25571..89e25571 100755 --- a/data/mapObjects/LavenderPokecenter.asm +++ b/data/maps/objects/LavenderPokecenter.asm diff --git a/data/mapObjects/LavenderTown.asm b/data/maps/objects/LavenderTown.asm index 4aead666..4aead666 100755 --- a/data/mapObjects/LavenderTown.asm +++ b/data/maps/objects/LavenderTown.asm diff --git a/data/mapObjects/LoreleisRoom.asm b/data/maps/objects/LoreleisRoom.asm index 06450bb4..06450bb4 100755 --- a/data/mapObjects/LoreleisRoom.asm +++ b/data/maps/objects/LoreleisRoom.asm diff --git a/data/mapObjects/MrFujisHouse.asm b/data/maps/objects/MrFujisHouse.asm index 5b6ca2a6..5b6ca2a6 100755 --- a/data/mapObjects/MrFujisHouse.asm +++ b/data/maps/objects/MrFujisHouse.asm diff --git a/data/mapObjects/MrPsychicsHouse.asm b/data/maps/objects/MrPsychicsHouse.asm index 01f9e11c..01f9e11c 100755 --- a/data/mapObjects/MrPsychicsHouse.asm +++ b/data/maps/objects/MrPsychicsHouse.asm diff --git a/data/mapObjects/MtMoon1F.asm b/data/maps/objects/MtMoon1F.asm index 56820161..56820161 100755 --- a/data/mapObjects/MtMoon1F.asm +++ b/data/maps/objects/MtMoon1F.asm diff --git a/data/mapObjects/MtMoonB1F.asm b/data/maps/objects/MtMoonB1F.asm index a8365ba7..a8365ba7 100755 --- a/data/mapObjects/MtMoonB1F.asm +++ b/data/maps/objects/MtMoonB1F.asm diff --git a/data/mapObjects/MtMoonB2F.asm b/data/maps/objects/MtMoonB2F.asm index 27b2383f..27b2383f 100755 --- a/data/mapObjects/MtMoonB2F.asm +++ b/data/maps/objects/MtMoonB2F.asm diff --git a/data/mapObjects/MtMoonPokecenter.asm b/data/maps/objects/MtMoonPokecenter.asm index b23703e6..b23703e6 100755 --- a/data/mapObjects/MtMoonPokecenter.asm +++ b/data/maps/objects/MtMoonPokecenter.asm diff --git a/data/mapObjects/Museum1F.asm b/data/maps/objects/Museum1F.asm index 1cfd2c68..1cfd2c68 100755 --- a/data/mapObjects/Museum1F.asm +++ b/data/maps/objects/Museum1F.asm diff --git a/data/mapObjects/Museum2F.asm b/data/maps/objects/Museum2F.asm index 80815820..80815820 100755 --- a/data/mapObjects/Museum2F.asm +++ b/data/maps/objects/Museum2F.asm diff --git a/data/mapObjects/NameRatersHouse.asm b/data/maps/objects/NameRatersHouse.asm index da95bc43..da95bc43 100755 --- a/data/mapObjects/NameRatersHouse.asm +++ b/data/maps/objects/NameRatersHouse.asm diff --git a/data/mapObjects/OaksLab.asm b/data/maps/objects/OaksLab.asm index fa78ccdf..fa78ccdf 100755 --- a/data/mapObjects/OaksLab.asm +++ b/data/maps/objects/OaksLab.asm diff --git a/data/mapObjects/PalletTown.asm b/data/maps/objects/PalletTown.asm index 68b01175..68b01175 100755 --- a/data/mapObjects/PalletTown.asm +++ b/data/maps/objects/PalletTown.asm diff --git a/data/mapObjects/PewterCity.asm b/data/maps/objects/PewterCity.asm index e1a3eecb..e1a3eecb 100755 --- a/data/mapObjects/PewterCity.asm +++ b/data/maps/objects/PewterCity.asm diff --git a/data/mapObjects/PewterGym.asm b/data/maps/objects/PewterGym.asm index 538c3923..538c3923 100755 --- a/data/mapObjects/PewterGym.asm +++ b/data/maps/objects/PewterGym.asm diff --git a/data/mapObjects/PewterMart.asm b/data/maps/objects/PewterMart.asm index 9b983316..9b983316 100755 --- a/data/mapObjects/PewterMart.asm +++ b/data/maps/objects/PewterMart.asm diff --git a/data/mapObjects/PewterNidoranHouse.asm b/data/maps/objects/PewterNidoranHouse.asm index f00317d1..f00317d1 100755 --- a/data/mapObjects/PewterNidoranHouse.asm +++ b/data/maps/objects/PewterNidoranHouse.asm diff --git a/data/mapObjects/PewterPokecenter.asm b/data/maps/objects/PewterPokecenter.asm index 2b375bf9..2b375bf9 100755 --- a/data/mapObjects/PewterPokecenter.asm +++ b/data/maps/objects/PewterPokecenter.asm diff --git a/data/mapObjects/PewterSpeechHouse.asm b/data/maps/objects/PewterSpeechHouse.asm index e7134cb5..e7134cb5 100755 --- a/data/mapObjects/PewterSpeechHouse.asm +++ b/data/maps/objects/PewterSpeechHouse.asm diff --git a/data/mapObjects/PokemonFanClub.asm b/data/maps/objects/PokemonFanClub.asm index e1f175f0..e1f175f0 100755 --- a/data/mapObjects/PokemonFanClub.asm +++ b/data/maps/objects/PokemonFanClub.asm diff --git a/data/mapObjects/PokemonMansion1F.asm b/data/maps/objects/PokemonMansion1F.asm index 109b5b8e..109b5b8e 100755 --- a/data/mapObjects/PokemonMansion1F.asm +++ b/data/maps/objects/PokemonMansion1F.asm diff --git a/data/mapObjects/PokemonMansion2F.asm b/data/maps/objects/PokemonMansion2F.asm index 6c0cc5f8..6c0cc5f8 100755 --- a/data/mapObjects/PokemonMansion2F.asm +++ b/data/maps/objects/PokemonMansion2F.asm diff --git a/data/mapObjects/PokemonMansion3F.asm b/data/maps/objects/PokemonMansion3F.asm index 7c8c9c22..7c8c9c22 100755 --- a/data/mapObjects/PokemonMansion3F.asm +++ b/data/maps/objects/PokemonMansion3F.asm diff --git a/data/mapObjects/PokemonMansionB1F.asm b/data/maps/objects/PokemonMansionB1F.asm index ac232799..ac232799 100755 --- a/data/mapObjects/PokemonMansionB1F.asm +++ b/data/maps/objects/PokemonMansionB1F.asm diff --git a/data/mapObjects/PokemonTower1F.asm b/data/maps/objects/PokemonTower1F.asm index cf62836b..cf62836b 100755 --- a/data/mapObjects/PokemonTower1F.asm +++ b/data/maps/objects/PokemonTower1F.asm diff --git a/data/mapObjects/PokemonTower2F.asm b/data/maps/objects/PokemonTower2F.asm index 5ce437d1..5ce437d1 100755 --- a/data/mapObjects/PokemonTower2F.asm +++ b/data/maps/objects/PokemonTower2F.asm diff --git a/data/mapObjects/PokemonTower3F.asm b/data/maps/objects/PokemonTower3F.asm index 79b83f88..79b83f88 100755 --- a/data/mapObjects/PokemonTower3F.asm +++ b/data/maps/objects/PokemonTower3F.asm diff --git a/data/mapObjects/PokemonTower4F.asm b/data/maps/objects/PokemonTower4F.asm index db86c02c..db86c02c 100755 --- a/data/mapObjects/PokemonTower4F.asm +++ b/data/maps/objects/PokemonTower4F.asm diff --git a/data/mapObjects/PokemonTower5F.asm b/data/maps/objects/PokemonTower5F.asm index b482871f..b482871f 100755 --- a/data/mapObjects/PokemonTower5F.asm +++ b/data/maps/objects/PokemonTower5F.asm diff --git a/data/mapObjects/PokemonTower6F.asm b/data/maps/objects/PokemonTower6F.asm index 823fe78a..823fe78a 100755 --- a/data/mapObjects/PokemonTower6F.asm +++ b/data/maps/objects/PokemonTower6F.asm diff --git a/data/mapObjects/PokemonTower7F.asm b/data/maps/objects/PokemonTower7F.asm index 79cb5b0d..79cb5b0d 100755 --- a/data/mapObjects/PokemonTower7F.asm +++ b/data/maps/objects/PokemonTower7F.asm diff --git a/data/mapObjects/PowerPlant.asm b/data/maps/objects/PowerPlant.asm index a8548b1c..a8548b1c 100755 --- a/data/mapObjects/PowerPlant.asm +++ b/data/maps/objects/PowerPlant.asm diff --git a/data/mapObjects/RedsHouse1F.asm b/data/maps/objects/RedsHouse1F.asm index a54b5411..a54b5411 100755 --- a/data/mapObjects/RedsHouse1F.asm +++ b/data/maps/objects/RedsHouse1F.asm diff --git a/data/mapObjects/RedsHouse2F.asm b/data/maps/objects/RedsHouse2F.asm index 98e9c236..98e9c236 100755 --- a/data/mapObjects/RedsHouse2F.asm +++ b/data/maps/objects/RedsHouse2F.asm diff --git a/data/mapObjects/RockTunnel1F.asm b/data/maps/objects/RockTunnel1F.asm index 1cf5a12f..1cf5a12f 100755 --- a/data/mapObjects/RockTunnel1F.asm +++ b/data/maps/objects/RockTunnel1F.asm diff --git a/data/mapObjects/RockTunnelB1F.asm b/data/maps/objects/RockTunnelB1F.asm index f562168e..f562168e 100755 --- a/data/mapObjects/RockTunnelB1F.asm +++ b/data/maps/objects/RockTunnelB1F.asm diff --git a/data/mapObjects/RockTunnelPokecenter.asm b/data/maps/objects/RockTunnelPokecenter.asm index a7619f7f..a7619f7f 100755 --- a/data/mapObjects/RockTunnelPokecenter.asm +++ b/data/maps/objects/RockTunnelPokecenter.asm diff --git a/data/mapObjects/RocketHideoutB1F.asm b/data/maps/objects/RocketHideoutB1F.asm index 99537510..99537510 100755 --- a/data/mapObjects/RocketHideoutB1F.asm +++ b/data/maps/objects/RocketHideoutB1F.asm diff --git a/data/mapObjects/RocketHideoutB2F.asm b/data/maps/objects/RocketHideoutB2F.asm index 36fe9289..36fe9289 100755 --- a/data/mapObjects/RocketHideoutB2F.asm +++ b/data/maps/objects/RocketHideoutB2F.asm diff --git a/data/mapObjects/RocketHideoutB3F.asm b/data/maps/objects/RocketHideoutB3F.asm index 6169dbed..6169dbed 100755 --- a/data/mapObjects/RocketHideoutB3F.asm +++ b/data/maps/objects/RocketHideoutB3F.asm diff --git a/data/mapObjects/RocketHideoutB4F.asm b/data/maps/objects/RocketHideoutB4F.asm index be353f25..be353f25 100755 --- a/data/mapObjects/RocketHideoutB4F.asm +++ b/data/maps/objects/RocketHideoutB4F.asm diff --git a/data/mapObjects/RocketHideoutElevator.asm b/data/maps/objects/RocketHideoutElevator.asm index bc4fd7ff..bc4fd7ff 100755 --- a/data/mapObjects/RocketHideoutElevator.asm +++ b/data/maps/objects/RocketHideoutElevator.asm diff --git a/data/mapObjects/Route1.asm b/data/maps/objects/Route1.asm index 0815fe67..0815fe67 100755 --- a/data/mapObjects/Route1.asm +++ b/data/maps/objects/Route1.asm diff --git a/data/mapObjects/Route10.asm b/data/maps/objects/Route10.asm index 12850577..12850577 100755 --- a/data/mapObjects/Route10.asm +++ b/data/maps/objects/Route10.asm diff --git a/data/mapObjects/Route11.asm b/data/maps/objects/Route11.asm index 5ed232f5..5ed232f5 100755 --- a/data/mapObjects/Route11.asm +++ b/data/maps/objects/Route11.asm diff --git a/data/mapObjects/Route11Gate1F.asm b/data/maps/objects/Route11Gate1F.asm index 5c4a120c..5c4a120c 100755 --- a/data/mapObjects/Route11Gate1F.asm +++ b/data/maps/objects/Route11Gate1F.asm diff --git a/data/mapObjects/Route11Gate2F.asm b/data/maps/objects/Route11Gate2F.asm index bf305bba..bf305bba 100755 --- a/data/mapObjects/Route11Gate2F.asm +++ b/data/maps/objects/Route11Gate2F.asm diff --git a/data/mapObjects/Route12.asm b/data/maps/objects/Route12.asm index a9d84cf0..a9d84cf0 100755 --- a/data/mapObjects/Route12.asm +++ b/data/maps/objects/Route12.asm diff --git a/data/mapObjects/Route12Gate1F.asm b/data/maps/objects/Route12Gate1F.asm index 94f6b91a..94f6b91a 100755 --- a/data/mapObjects/Route12Gate1F.asm +++ b/data/maps/objects/Route12Gate1F.asm diff --git a/data/mapObjects/Route12Gate2F.asm b/data/maps/objects/Route12Gate2F.asm index cc6c1c19..cc6c1c19 100755 --- a/data/mapObjects/Route12Gate2F.asm +++ b/data/maps/objects/Route12Gate2F.asm diff --git a/data/mapObjects/Route12SuperRodHouse.asm b/data/maps/objects/Route12SuperRodHouse.asm index 458378a2..458378a2 100755 --- a/data/mapObjects/Route12SuperRodHouse.asm +++ b/data/maps/objects/Route12SuperRodHouse.asm diff --git a/data/mapObjects/Route13.asm b/data/maps/objects/Route13.asm index 3f460901..3f460901 100755 --- a/data/mapObjects/Route13.asm +++ b/data/maps/objects/Route13.asm diff --git a/data/mapObjects/Route14.asm b/data/maps/objects/Route14.asm index 565e587f..565e587f 100755 --- a/data/mapObjects/Route14.asm +++ b/data/maps/objects/Route14.asm diff --git a/data/mapObjects/Route15.asm b/data/maps/objects/Route15.asm index f52cc1b8..f52cc1b8 100755 --- a/data/mapObjects/Route15.asm +++ b/data/maps/objects/Route15.asm diff --git a/data/mapObjects/Route15Gate1F.asm b/data/maps/objects/Route15Gate1F.asm index 23b1f5a7..23b1f5a7 100755 --- a/data/mapObjects/Route15Gate1F.asm +++ b/data/maps/objects/Route15Gate1F.asm diff --git a/data/mapObjects/Route15Gate2F.asm b/data/maps/objects/Route15Gate2F.asm index 162f2b1f..162f2b1f 100755 --- a/data/mapObjects/Route15Gate2F.asm +++ b/data/maps/objects/Route15Gate2F.asm diff --git a/data/mapObjects/Route16.asm b/data/maps/objects/Route16.asm index fb23e6ca..fb23e6ca 100755 --- a/data/mapObjects/Route16.asm +++ b/data/maps/objects/Route16.asm diff --git a/data/mapObjects/Route16FlyHouse.asm b/data/maps/objects/Route16FlyHouse.asm index ec493fef..ec493fef 100755 --- a/data/mapObjects/Route16FlyHouse.asm +++ b/data/maps/objects/Route16FlyHouse.asm diff --git a/data/mapObjects/Route16Gate1F.asm b/data/maps/objects/Route16Gate1F.asm index 1d5baa1d..1d5baa1d 100755 --- a/data/mapObjects/Route16Gate1F.asm +++ b/data/maps/objects/Route16Gate1F.asm diff --git a/data/mapObjects/Route16Gate2F.asm b/data/maps/objects/Route16Gate2F.asm index 5914f854..5914f854 100755 --- a/data/mapObjects/Route16Gate2F.asm +++ b/data/maps/objects/Route16Gate2F.asm diff --git a/data/mapObjects/Route17.asm b/data/maps/objects/Route17.asm index f5bc4307..f5bc4307 100755 --- a/data/mapObjects/Route17.asm +++ b/data/maps/objects/Route17.asm diff --git a/data/mapObjects/Route18.asm b/data/maps/objects/Route18.asm index 8bacd6c0..8bacd6c0 100755 --- a/data/mapObjects/Route18.asm +++ b/data/maps/objects/Route18.asm diff --git a/data/mapObjects/Route18Gate1F.asm b/data/maps/objects/Route18Gate1F.asm index 83cb386a..83cb386a 100755 --- a/data/mapObjects/Route18Gate1F.asm +++ b/data/maps/objects/Route18Gate1F.asm diff --git a/data/mapObjects/Route18Gate2F.asm b/data/maps/objects/Route18Gate2F.asm index e48ec3b8..e48ec3b8 100755 --- a/data/mapObjects/Route18Gate2F.asm +++ b/data/maps/objects/Route18Gate2F.asm diff --git a/data/mapObjects/Route19.asm b/data/maps/objects/Route19.asm index 9b39618e..9b39618e 100755 --- a/data/mapObjects/Route19.asm +++ b/data/maps/objects/Route19.asm diff --git a/data/mapObjects/Route2.asm b/data/maps/objects/Route2.asm index b27ad199..b27ad199 100755 --- a/data/mapObjects/Route2.asm +++ b/data/maps/objects/Route2.asm diff --git a/data/mapObjects/Route20.asm b/data/maps/objects/Route20.asm index 7bceef97..7bceef97 100755 --- a/data/mapObjects/Route20.asm +++ b/data/maps/objects/Route20.asm diff --git a/data/mapObjects/Route21.asm b/data/maps/objects/Route21.asm index b7759b59..b7759b59 100755 --- a/data/mapObjects/Route21.asm +++ b/data/maps/objects/Route21.asm diff --git a/data/mapObjects/Route22.asm b/data/maps/objects/Route22.asm index 56e759fd..56e759fd 100755 --- a/data/mapObjects/Route22.asm +++ b/data/maps/objects/Route22.asm diff --git a/data/mapObjects/Route22Gate.asm b/data/maps/objects/Route22Gate.asm index 3f693c7f..3f693c7f 100755 --- a/data/mapObjects/Route22Gate.asm +++ b/data/maps/objects/Route22Gate.asm diff --git a/data/mapObjects/Route23.asm b/data/maps/objects/Route23.asm index b510c285..b510c285 100755 --- a/data/mapObjects/Route23.asm +++ b/data/maps/objects/Route23.asm diff --git a/data/mapObjects/Route24.asm b/data/maps/objects/Route24.asm index 8ef0d2b9..8ef0d2b9 100755 --- a/data/mapObjects/Route24.asm +++ b/data/maps/objects/Route24.asm diff --git a/data/mapObjects/Route25.asm b/data/maps/objects/Route25.asm index a85f85ca..a85f85ca 100755 --- a/data/mapObjects/Route25.asm +++ b/data/maps/objects/Route25.asm diff --git a/data/mapObjects/Route2Gate.asm b/data/maps/objects/Route2Gate.asm index a7feb780..a7feb780 100755 --- a/data/mapObjects/Route2Gate.asm +++ b/data/maps/objects/Route2Gate.asm diff --git a/data/mapObjects/Route2TradeHouse.asm b/data/maps/objects/Route2TradeHouse.asm index 89ece3ea..89ece3ea 100755 --- a/data/mapObjects/Route2TradeHouse.asm +++ b/data/maps/objects/Route2TradeHouse.asm diff --git a/data/mapObjects/Route3.asm b/data/maps/objects/Route3.asm index 372ea6cf..372ea6cf 100755 --- a/data/mapObjects/Route3.asm +++ b/data/maps/objects/Route3.asm diff --git a/data/mapObjects/Route4.asm b/data/maps/objects/Route4.asm index 4ab88f8f..4ab88f8f 100755 --- a/data/mapObjects/Route4.asm +++ b/data/maps/objects/Route4.asm diff --git a/data/mapObjects/Route5.asm b/data/maps/objects/Route5.asm index df2c8c03..df2c8c03 100755 --- a/data/mapObjects/Route5.asm +++ b/data/maps/objects/Route5.asm diff --git a/data/mapObjects/Route5Gate.asm b/data/maps/objects/Route5Gate.asm index e0e06a1d..e0e06a1d 100755 --- a/data/mapObjects/Route5Gate.asm +++ b/data/maps/objects/Route5Gate.asm diff --git a/data/mapObjects/Route6.asm b/data/maps/objects/Route6.asm index fc2d7e24..fc2d7e24 100755 --- a/data/mapObjects/Route6.asm +++ b/data/maps/objects/Route6.asm diff --git a/data/mapObjects/Route6Gate.asm b/data/maps/objects/Route6Gate.asm index 8ed96d04..8ed96d04 100755 --- a/data/mapObjects/Route6Gate.asm +++ b/data/maps/objects/Route6Gate.asm diff --git a/data/mapObjects/Route7.asm b/data/maps/objects/Route7.asm index 182904ef..182904ef 100755 --- a/data/mapObjects/Route7.asm +++ b/data/maps/objects/Route7.asm diff --git a/data/mapObjects/Route7Gate.asm b/data/maps/objects/Route7Gate.asm index 7f1afe0a..7f1afe0a 100755 --- a/data/mapObjects/Route7Gate.asm +++ b/data/maps/objects/Route7Gate.asm diff --git a/data/mapObjects/Route8.asm b/data/maps/objects/Route8.asm index 137d70a0..137d70a0 100755 --- a/data/mapObjects/Route8.asm +++ b/data/maps/objects/Route8.asm diff --git a/data/mapObjects/Route8Gate.asm b/data/maps/objects/Route8Gate.asm index 3bba95a0..3bba95a0 100755 --- a/data/mapObjects/Route8Gate.asm +++ b/data/maps/objects/Route8Gate.asm diff --git a/data/mapObjects/Route9.asm b/data/maps/objects/Route9.asm index a991c0c7..a991c0c7 100755 --- a/data/mapObjects/Route9.asm +++ b/data/maps/objects/Route9.asm diff --git a/data/mapObjects/SSAnne1F.asm b/data/maps/objects/SSAnne1F.asm index 3e454f06..3e454f06 100755 --- a/data/mapObjects/SSAnne1F.asm +++ b/data/maps/objects/SSAnne1F.asm diff --git a/data/mapObjects/SSAnne1FRooms.asm b/data/maps/objects/SSAnne1FRooms.asm index 617d2a55..617d2a55 100755 --- a/data/mapObjects/SSAnne1FRooms.asm +++ b/data/maps/objects/SSAnne1FRooms.asm diff --git a/data/mapObjects/SSAnne2F.asm b/data/maps/objects/SSAnne2F.asm index 6abd5ac4..6abd5ac4 100755 --- a/data/mapObjects/SSAnne2F.asm +++ b/data/maps/objects/SSAnne2F.asm diff --git a/data/mapObjects/SSAnne2FRooms.asm b/data/maps/objects/SSAnne2FRooms.asm index ebb053a8..ebb053a8 100755 --- a/data/mapObjects/SSAnne2FRooms.asm +++ b/data/maps/objects/SSAnne2FRooms.asm diff --git a/data/mapObjects/SSAnne3F.asm b/data/maps/objects/SSAnne3F.asm index f0bfc17b..f0bfc17b 100755 --- a/data/mapObjects/SSAnne3F.asm +++ b/data/maps/objects/SSAnne3F.asm diff --git a/data/mapObjects/SSAnneB1F.asm b/data/maps/objects/SSAnneB1F.asm index fe54ea24..fe54ea24 100755 --- a/data/mapObjects/SSAnneB1F.asm +++ b/data/maps/objects/SSAnneB1F.asm diff --git a/data/mapObjects/SSAnneB1FRooms.asm b/data/maps/objects/SSAnneB1FRooms.asm index 1d31b89c..1d31b89c 100755 --- a/data/mapObjects/SSAnneB1FRooms.asm +++ b/data/maps/objects/SSAnneB1FRooms.asm diff --git a/data/mapObjects/SSAnneBow.asm b/data/maps/objects/SSAnneBow.asm index 8873c8f8..8873c8f8 100755 --- a/data/mapObjects/SSAnneBow.asm +++ b/data/maps/objects/SSAnneBow.asm diff --git a/data/mapObjects/SSAnneCaptainsRoom.asm b/data/maps/objects/SSAnneCaptainsRoom.asm index 545656cc..545656cc 100755 --- a/data/mapObjects/SSAnneCaptainsRoom.asm +++ b/data/maps/objects/SSAnneCaptainsRoom.asm diff --git a/data/mapObjects/SSAnneKitchen.asm b/data/maps/objects/SSAnneKitchen.asm index b5771e68..b5771e68 100755 --- a/data/mapObjects/SSAnneKitchen.asm +++ b/data/maps/objects/SSAnneKitchen.asm diff --git a/data/mapObjects/SafariZoneCenter.asm b/data/maps/objects/SafariZoneCenter.asm index e54cec74..e54cec74 100755 --- a/data/mapObjects/SafariZoneCenter.asm +++ b/data/maps/objects/SafariZoneCenter.asm diff --git a/data/mapObjects/SafariZoneCenterRestHouse.asm b/data/maps/objects/SafariZoneCenterRestHouse.asm index 9eda9970..9eda9970 100755 --- a/data/mapObjects/SafariZoneCenterRestHouse.asm +++ b/data/maps/objects/SafariZoneCenterRestHouse.asm diff --git a/data/mapObjects/SafariZoneEast.asm b/data/maps/objects/SafariZoneEast.asm index df612ea9..df612ea9 100755 --- a/data/mapObjects/SafariZoneEast.asm +++ b/data/maps/objects/SafariZoneEast.asm diff --git a/data/mapObjects/SafariZoneEastRestHouse.asm b/data/maps/objects/SafariZoneEastRestHouse.asm index e7c68343..e7c68343 100755 --- a/data/mapObjects/SafariZoneEastRestHouse.asm +++ b/data/maps/objects/SafariZoneEastRestHouse.asm diff --git a/data/mapObjects/SafariZoneGate.asm b/data/maps/objects/SafariZoneGate.asm index 6749b45b..6749b45b 100755 --- a/data/mapObjects/SafariZoneGate.asm +++ b/data/maps/objects/SafariZoneGate.asm diff --git a/data/mapObjects/SafariZoneNorth.asm b/data/maps/objects/SafariZoneNorth.asm index 9eda7b4b..9eda7b4b 100755 --- a/data/mapObjects/SafariZoneNorth.asm +++ b/data/maps/objects/SafariZoneNorth.asm diff --git a/data/mapObjects/SafariZoneNorthRestHouse.asm b/data/maps/objects/SafariZoneNorthRestHouse.asm index 34b3ab4f..34b3ab4f 100755 --- a/data/mapObjects/SafariZoneNorthRestHouse.asm +++ b/data/maps/objects/SafariZoneNorthRestHouse.asm diff --git a/data/mapObjects/SafariZoneSecretHouse.asm b/data/maps/objects/SafariZoneSecretHouse.asm index 2a5fc22d..2a5fc22d 100755 --- a/data/mapObjects/SafariZoneSecretHouse.asm +++ b/data/maps/objects/SafariZoneSecretHouse.asm diff --git a/data/mapObjects/SafariZoneWest.asm b/data/maps/objects/SafariZoneWest.asm index 7faced72..7faced72 100755 --- a/data/mapObjects/SafariZoneWest.asm +++ b/data/maps/objects/SafariZoneWest.asm diff --git a/data/mapObjects/SafariZoneWestRestHouse.asm b/data/maps/objects/SafariZoneWestRestHouse.asm index 9f1bc0ed..9f1bc0ed 100755 --- a/data/mapObjects/SafariZoneWestRestHouse.asm +++ b/data/maps/objects/SafariZoneWestRestHouse.asm diff --git a/data/mapObjects/SaffronCity.asm b/data/maps/objects/SaffronCity.asm index b8d3a9cf..b8d3a9cf 100755 --- a/data/mapObjects/SaffronCity.asm +++ b/data/maps/objects/SaffronCity.asm diff --git a/data/mapObjects/SaffronGym.asm b/data/maps/objects/SaffronGym.asm index 1869421a..1869421a 100755 --- a/data/mapObjects/SaffronGym.asm +++ b/data/maps/objects/SaffronGym.asm diff --git a/data/mapObjects/SaffronMart.asm b/data/maps/objects/SaffronMart.asm index c376f2de..c376f2de 100755 --- a/data/mapObjects/SaffronMart.asm +++ b/data/maps/objects/SaffronMart.asm diff --git a/data/mapObjects/SaffronPidgeyHouse.asm b/data/maps/objects/SaffronPidgeyHouse.asm index 65a851bf..65a851bf 100755 --- a/data/mapObjects/SaffronPidgeyHouse.asm +++ b/data/maps/objects/SaffronPidgeyHouse.asm diff --git a/data/mapObjects/SaffronPokecenter.asm b/data/maps/objects/SaffronPokecenter.asm index e54fd76b..e54fd76b 100755 --- a/data/mapObjects/SaffronPokecenter.asm +++ b/data/maps/objects/SaffronPokecenter.asm diff --git a/data/mapObjects/SeafoamIslands1F.asm b/data/maps/objects/SeafoamIslands1F.asm index 8707ee0a..8707ee0a 100755 --- a/data/mapObjects/SeafoamIslands1F.asm +++ b/data/maps/objects/SeafoamIslands1F.asm diff --git a/data/mapObjects/SeafoamIslandsB1F.asm b/data/maps/objects/SeafoamIslandsB1F.asm index 426ca0c3..426ca0c3 100755 --- a/data/mapObjects/SeafoamIslandsB1F.asm +++ b/data/maps/objects/SeafoamIslandsB1F.asm diff --git a/data/mapObjects/SeafoamIslandsB2F.asm b/data/maps/objects/SeafoamIslandsB2F.asm index 9c1a7898..9c1a7898 100755 --- a/data/mapObjects/SeafoamIslandsB2F.asm +++ b/data/maps/objects/SeafoamIslandsB2F.asm diff --git a/data/mapObjects/SeafoamIslandsB3F.asm b/data/maps/objects/SeafoamIslandsB3F.asm index d194e1cd..d194e1cd 100755 --- a/data/mapObjects/SeafoamIslandsB3F.asm +++ b/data/maps/objects/SeafoamIslandsB3F.asm diff --git a/data/mapObjects/SeafoamIslandsB4F.asm b/data/maps/objects/SeafoamIslandsB4F.asm index 62d88b0c..62d88b0c 100755 --- a/data/mapObjects/SeafoamIslandsB4F.asm +++ b/data/maps/objects/SeafoamIslandsB4F.asm diff --git a/data/mapObjects/SilphCo10F.asm b/data/maps/objects/SilphCo10F.asm index 1c8948d3..1c8948d3 100755 --- a/data/mapObjects/SilphCo10F.asm +++ b/data/maps/objects/SilphCo10F.asm diff --git a/data/mapObjects/SilphCo11F.asm b/data/maps/objects/SilphCo11F.asm index 7a1dff73..7a1dff73 100755 --- a/data/mapObjects/SilphCo11F.asm +++ b/data/maps/objects/SilphCo11F.asm diff --git a/data/mapObjects/SilphCo1F.asm b/data/maps/objects/SilphCo1F.asm index fc040091..fc040091 100755 --- a/data/mapObjects/SilphCo1F.asm +++ b/data/maps/objects/SilphCo1F.asm diff --git a/data/mapObjects/SilphCo2F.asm b/data/maps/objects/SilphCo2F.asm index bc30d78d..bc30d78d 100755 --- a/data/mapObjects/SilphCo2F.asm +++ b/data/maps/objects/SilphCo2F.asm diff --git a/data/mapObjects/SilphCo3F.asm b/data/maps/objects/SilphCo3F.asm index f45cdf81..f45cdf81 100755 --- a/data/mapObjects/SilphCo3F.asm +++ b/data/maps/objects/SilphCo3F.asm diff --git a/data/mapObjects/SilphCo4F.asm b/data/maps/objects/SilphCo4F.asm index 3d865bbc..3d865bbc 100755 --- a/data/mapObjects/SilphCo4F.asm +++ b/data/maps/objects/SilphCo4F.asm diff --git a/data/mapObjects/SilphCo5F.asm b/data/maps/objects/SilphCo5F.asm index c10f17c8..c10f17c8 100755 --- a/data/mapObjects/SilphCo5F.asm +++ b/data/maps/objects/SilphCo5F.asm diff --git a/data/mapObjects/SilphCo6F.asm b/data/maps/objects/SilphCo6F.asm index ad2ac32f..ad2ac32f 100755 --- a/data/mapObjects/SilphCo6F.asm +++ b/data/maps/objects/SilphCo6F.asm diff --git a/data/mapObjects/SilphCo7F.asm b/data/maps/objects/SilphCo7F.asm index 255f4b33..255f4b33 100755 --- a/data/mapObjects/SilphCo7F.asm +++ b/data/maps/objects/SilphCo7F.asm diff --git a/data/mapObjects/SilphCo8F.asm b/data/maps/objects/SilphCo8F.asm index d05c7844..d05c7844 100755 --- a/data/mapObjects/SilphCo8F.asm +++ b/data/maps/objects/SilphCo8F.asm diff --git a/data/mapObjects/SilphCo9F.asm b/data/maps/objects/SilphCo9F.asm index 28ef5f10..28ef5f10 100755 --- a/data/mapObjects/SilphCo9F.asm +++ b/data/maps/objects/SilphCo9F.asm diff --git a/data/mapObjects/SilphCoElevator.asm b/data/maps/objects/SilphCoElevator.asm index 9c4b5a79..9c4b5a79 100755 --- a/data/mapObjects/SilphCoElevator.asm +++ b/data/maps/objects/SilphCoElevator.asm diff --git a/data/mapObjects/TradeCenter.asm b/data/maps/objects/TradeCenter.asm index e6df8087..e6df8087 100755 --- a/data/mapObjects/TradeCenter.asm +++ b/data/maps/objects/TradeCenter.asm diff --git a/data/mapObjects/UndergroundPathNorthSouth.asm b/data/maps/objects/UndergroundPathNorthSouth.asm index 35e21cca..35e21cca 100755 --- a/data/mapObjects/UndergroundPathNorthSouth.asm +++ b/data/maps/objects/UndergroundPathNorthSouth.asm diff --git a/data/mapObjects/UndergroundPathRoute5.asm b/data/maps/objects/UndergroundPathRoute5.asm index af71ebb4..af71ebb4 100755 --- a/data/mapObjects/UndergroundPathRoute5.asm +++ b/data/maps/objects/UndergroundPathRoute5.asm diff --git a/data/mapObjects/UndergroundPathRoute6.asm b/data/maps/objects/UndergroundPathRoute6.asm index 5a40ade2..5a40ade2 100755 --- a/data/mapObjects/UndergroundPathRoute6.asm +++ b/data/maps/objects/UndergroundPathRoute6.asm diff --git a/data/mapObjects/UndergroundPathRoute7.asm b/data/maps/objects/UndergroundPathRoute7.asm index 4666e0c9..4666e0c9 100755 --- a/data/mapObjects/UndergroundPathRoute7.asm +++ b/data/maps/objects/UndergroundPathRoute7.asm diff --git a/data/mapObjects/UndergroundPathRoute7Copy.asm b/data/maps/objects/UndergroundPathRoute7Copy.asm index c020646e..c020646e 100755 --- a/data/mapObjects/UndergroundPathRoute7Copy.asm +++ b/data/maps/objects/UndergroundPathRoute7Copy.asm diff --git a/data/mapObjects/UndergroundPathRoute8.asm b/data/maps/objects/UndergroundPathRoute8.asm index 8be0d474..8be0d474 100755 --- a/data/mapObjects/UndergroundPathRoute8.asm +++ b/data/maps/objects/UndergroundPathRoute8.asm diff --git a/data/mapObjects/UndergroundPathWestEast.asm b/data/maps/objects/UndergroundPathWestEast.asm index fa064aca..fa064aca 100755 --- a/data/mapObjects/UndergroundPathWestEast.asm +++ b/data/maps/objects/UndergroundPathWestEast.asm diff --git a/data/mapObjects/VermilionCity.asm b/data/maps/objects/VermilionCity.asm index b1e1a005..b1e1a005 100755 --- a/data/mapObjects/VermilionCity.asm +++ b/data/maps/objects/VermilionCity.asm diff --git a/data/mapObjects/VermilionDock.asm b/data/maps/objects/VermilionDock.asm index 6f07554a..6f07554a 100755 --- a/data/mapObjects/VermilionDock.asm +++ b/data/maps/objects/VermilionDock.asm diff --git a/data/mapObjects/VermilionGym.asm b/data/maps/objects/VermilionGym.asm index 4ace83be..4ace83be 100755 --- a/data/mapObjects/VermilionGym.asm +++ b/data/maps/objects/VermilionGym.asm diff --git a/data/mapObjects/VermilionMart.asm b/data/maps/objects/VermilionMart.asm index 74bcf35f..74bcf35f 100755 --- a/data/mapObjects/VermilionMart.asm +++ b/data/maps/objects/VermilionMart.asm diff --git a/data/mapObjects/VermilionOldRodHouse.asm b/data/maps/objects/VermilionOldRodHouse.asm index f5b4b96a..f5b4b96a 100755 --- a/data/mapObjects/VermilionOldRodHouse.asm +++ b/data/maps/objects/VermilionOldRodHouse.asm diff --git a/data/mapObjects/VermilionPidgeyHouse.asm b/data/maps/objects/VermilionPidgeyHouse.asm index 0e820f86..0e820f86 100755 --- a/data/mapObjects/VermilionPidgeyHouse.asm +++ b/data/maps/objects/VermilionPidgeyHouse.asm diff --git a/data/mapObjects/VermilionPokecenter.asm b/data/maps/objects/VermilionPokecenter.asm index d2142045..d2142045 100755 --- a/data/mapObjects/VermilionPokecenter.asm +++ b/data/maps/objects/VermilionPokecenter.asm diff --git a/data/mapObjects/VermilionTradeHouse.asm b/data/maps/objects/VermilionTradeHouse.asm index 30212b2a..30212b2a 100755 --- a/data/mapObjects/VermilionTradeHouse.asm +++ b/data/maps/objects/VermilionTradeHouse.asm diff --git a/data/mapObjects/VictoryRoad1F.asm b/data/maps/objects/VictoryRoad1F.asm index cc0c47ce..cc0c47ce 100755 --- a/data/mapObjects/VictoryRoad1F.asm +++ b/data/maps/objects/VictoryRoad1F.asm diff --git a/data/mapObjects/VictoryRoad2F.asm b/data/maps/objects/VictoryRoad2F.asm index 55559bca..55559bca 100755 --- a/data/mapObjects/VictoryRoad2F.asm +++ b/data/maps/objects/VictoryRoad2F.asm diff --git a/data/mapObjects/VictoryRoad3F.asm b/data/maps/objects/VictoryRoad3F.asm index 2eb42417..2eb42417 100755 --- a/data/mapObjects/VictoryRoad3F.asm +++ b/data/maps/objects/VictoryRoad3F.asm diff --git a/data/mapObjects/ViridianCity.asm b/data/maps/objects/ViridianCity.asm index 32fe8d3a..32fe8d3a 100755 --- a/data/mapObjects/ViridianCity.asm +++ b/data/maps/objects/ViridianCity.asm diff --git a/data/mapObjects/ViridianForest.asm b/data/maps/objects/ViridianForest.asm index cbcb6ff8..cbcb6ff8 100755 --- a/data/mapObjects/ViridianForest.asm +++ b/data/maps/objects/ViridianForest.asm diff --git a/data/mapObjects/ViridianForestNorthGate.asm b/data/maps/objects/ViridianForestNorthGate.asm index 81e7fece..81e7fece 100755 --- a/data/mapObjects/ViridianForestNorthGate.asm +++ b/data/maps/objects/ViridianForestNorthGate.asm diff --git a/data/mapObjects/ViridianForestSouthGate.asm b/data/maps/objects/ViridianForestSouthGate.asm index 76f87e51..76f87e51 100755 --- a/data/mapObjects/ViridianForestSouthGate.asm +++ b/data/maps/objects/ViridianForestSouthGate.asm diff --git a/data/mapObjects/ViridianGym.asm b/data/maps/objects/ViridianGym.asm index e3fd17bd..e3fd17bd 100755 --- a/data/mapObjects/ViridianGym.asm +++ b/data/maps/objects/ViridianGym.asm diff --git a/data/mapObjects/ViridianMart.asm b/data/maps/objects/ViridianMart.asm index b3e7fee5..b3e7fee5 100755 --- a/data/mapObjects/ViridianMart.asm +++ b/data/maps/objects/ViridianMart.asm diff --git a/data/mapObjects/ViridianNicknameHouse.asm b/data/maps/objects/ViridianNicknameHouse.asm index aaf20a91..aaf20a91 100755 --- a/data/mapObjects/ViridianNicknameHouse.asm +++ b/data/maps/objects/ViridianNicknameHouse.asm diff --git a/data/mapObjects/ViridianPokecenter.asm b/data/maps/objects/ViridianPokecenter.asm index 43b73e68..43b73e68 100755 --- a/data/mapObjects/ViridianPokecenter.asm +++ b/data/maps/objects/ViridianPokecenter.asm diff --git a/data/mapObjects/ViridianSchoolHouse.asm b/data/maps/objects/ViridianSchoolHouse.asm index 01f2465d..01f2465d 100755 --- a/data/mapObjects/ViridianSchoolHouse.asm +++ b/data/maps/objects/ViridianSchoolHouse.asm diff --git a/data/mapObjects/WardensHouse.asm b/data/maps/objects/WardensHouse.asm index d8445738..d8445738 100755 --- a/data/mapObjects/WardensHouse.asm +++ b/data/maps/objects/WardensHouse.asm diff --git a/data/rest_house_maps.asm b/data/maps/rest_house_maps.asm index 2feb89d3..2feb89d3 100644 --- a/data/rest_house_maps.asm +++ b/data/maps/rest_house_maps.asm diff --git a/data/map_songs.asm b/data/maps/songs.asm index 28e17223..28e17223 100755 --- a/data/map_songs.asm +++ b/data/maps/songs.asm diff --git a/data/special_warps.asm b/data/maps/special_warps.asm index 6b536b67..6b536b67 100755 --- a/data/special_warps.asm +++ b/data/maps/special_warps.asm diff --git a/data/maps/sprite_sets.asm b/data/maps/sprite_sets.asm new file mode 100755 index 00000000..faba21b5 --- /dev/null +++ b/data/maps/sprite_sets.asm @@ -0,0 +1,190 @@ +MapSpriteSets: + db $01 ; PALLET_TOWN + db $01 ; VIRIDIAN_CITY + db $02 ; PEWTER_CITY + db $02 ; CERULEAN_CITY + db $03 ; LAVENDER_TOWN + db $04 ; VERMILION_CITY + db $05 ; CELADON_CITY + db $0a ; FUCHSIA_CITY + db $01 ; CINNABAR_ISLAND + db $06 ; INDIGO_PLATEAU + db $07 ; SAFFRON_CITY + db $01 ; unused map ID + db $01 ; ROUTE_1 + db $f1 ; ROUTE_2 + db $02 ; ROUTE_3 + db $02 ; ROUTE_4 + db $f9 ; ROUTE_5 + db $fa ; ROUTE_6 + db $fb ; ROUTE_7 + db $fc ; ROUTE_8 + db $02 ; ROUTE_9 + db $f2 ; ROUTE_10 + db $f3 ; ROUTE_11 + db $f4 ; ROUTE_12 + db $08 ; ROUTE_13 + db $08 ; ROUTE_14 + db $f5 ; ROUTE_15 + db $f6 ; ROUTE_16 + db $09 ; ROUTE_17 + db $f7 ; ROUTE_18 + db $0a ; ROUTE_19 + db $f8 ; ROUTE_20 + db $01 ; ROUTE_21 + db $01 ; ROUTE_22 + db $06 ; ROUTE_23 + db $02 ; ROUTE_24 + db $02 ; ROUTE_25 + +; Format: +; 00: determines whether the map is split East/West or North/South +; $01 = East/West divide +; $02 = North/South divide +; 01: coordinate of dividing line +; 02: sprite set ID if in the West or North side +; 03: sprite set ID if in the East or South side +SplitMapSpriteSets: + db $02,$25,$02,$01 ; $f1 + db $02,$32,$02,$03 ; $f2 + db $01,$39,$04,$08 ; $f3 + db $02,$15,$03,$08 ; $f4 + db $01,$08,$0A,$08 ; $f5 + db $01,$18,$09,$05 ; $f6 + db $01,$22,$09,$0A ; $f7 + db $01,$35,$01,$0A ; $f8 + db $02,$21,$02,$07 ; $f9 + db $02,$02,$07,$04 ; $fa + db $01,$11,$05,$07 ; $fb + db $01,$03,$07,$03 ; $fc + +SpriteSets: +; sprite set $01 + db SPRITE_BLUE + db SPRITE_BUG_CATCHER + db SPRITE_GIRL + db SPRITE_FISHER2 + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_GAMBLER + db SPRITE_SEEL + db SPRITE_OAK + db SPRITE_SWIMMER + db SPRITE_BALL + db SPRITE_LYING_OLD_MAN + +; sprite set $02 + db SPRITE_BUG_CATCHER + db SPRITE_ROCKET + db SPRITE_BLACK_HAIR_BOY_2 + db SPRITE_HIKER + db SPRITE_SLOWBRO + db SPRITE_BLUE + db SPRITE_GUARD + db SPRITE_LASS + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_BALL + db SPRITE_LYING_OLD_MAN_UNUSED_2 + +; sprite set $03 + db SPRITE_LITTLE_GIRL + db SPRITE_GIRL + db SPRITE_BLACK_HAIR_BOY_2 + db SPRITE_HIKER + db SPRITE_GAMBLER + db SPRITE_SLOWBRO + db SPRITE_LASS + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_GUARD + db SPRITE_BALL + db SPRITE_LYING_OLD_MAN_UNUSED_2 + +; sprite set $04 + db SPRITE_FOULARD_WOMAN + db SPRITE_BLACK_HAIR_BOY_2 + db SPRITE_BUG_CATCHER + db SPRITE_GAMBLER + db SPRITE_SLOWBRO + db SPRITE_GUARD + db SPRITE_SAILOR + db SPRITE_LASS + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_BALL + db SPRITE_LYING_OLD_MAN_UNUSED_2 + +; sprite set $05 + db SPRITE_LITTLE_GIRL + db SPRITE_YOUNG_BOY + db SPRITE_GIRL + db SPRITE_FISHER2 + db SPRITE_FAT_BALD_GUY + db SPRITE_OLD_PERSON + db SPRITE_SLOWBRO + db SPRITE_GUARD + db SPRITE_ROCKET + db SPRITE_BALL + db SPRITE_SNORLAX + +; sprite set $06 + db SPRITE_BUG_CATCHER + db SPRITE_GYM_HELPER + db SPRITE_SLOWBRO + db SPRITE_BLUE + db SPRITE_LASS + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_SWIMMER + db SPRITE_GUARD + db SPRITE_GAMBLER + db SPRITE_BALL + db SPRITE_LYING_OLD_MAN_UNUSED_2 + +; sprite set $07 + db SPRITE_ROCKET + db SPRITE_OAK_AIDE + db SPRITE_LAPRAS_GIVER + db SPRITE_ERIKA + db SPRITE_GENTLEMAN + db SPRITE_BIRD + db SPRITE_ROCKER + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_SLOWBRO + db SPRITE_BALL + db SPRITE_LYING_OLD_MAN_UNUSED_2 + +; sprite set $08 + db SPRITE_BIKER + db SPRITE_BLACK_HAIR_BOY_2 + db SPRITE_FAT_BALD_GUY + db SPRITE_LASS + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_FOULARD_WOMAN + db SPRITE_FISHER2 + db SPRITE_ROCKER + db SPRITE_SLOWBRO + db SPRITE_BALL + db SPRITE_SNORLAX + +; sprite set $09 + db SPRITE_BIKER + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_LAPRAS_GIVER + db SPRITE_FISHER2 + db SPRITE_ROCKER + db SPRITE_HIKER + db SPRITE_GAMBLER + db SPRITE_FAT_BALD_GUY + db SPRITE_BLACK_HAIR_BOY_2 + db SPRITE_BALL + db SPRITE_SNORLAX + +; sprite set $0a + db SPRITE_BIRD + db SPRITE_BLACK_HAIR_BOY_1 + db SPRITE_CLEFAIRY + db SPRITE_FISHER2 + db SPRITE_GAMBLER + db SPRITE_SLOWBRO + db SPRITE_SEEL + db SPRITE_SWIMMER + db SPRITE_BUG_CATCHER + db SPRITE_BALL + db SPRITE_OMANYTE diff --git a/data/town_map_entries.asm b/data/maps/town_map_entries.asm index 63ebd51b..63ebd51b 100755 --- a/data/town_map_entries.asm +++ b/data/maps/town_map_entries.asm diff --git a/data/town_map_order.asm b/data/maps/town_map_order.asm index a082c376..a082c376 100755 --- a/data/town_map_order.asm +++ b/data/maps/town_map_order.asm diff --git a/data/move_animation_pointers.asm b/data/moves/animation_special_effect_pointers.asm index ba607141..ba607141 100644 --- a/data/move_animation_pointers.asm +++ b/data/moves/animation_special_effect_pointers.asm diff --git a/data/move_animation_special_effects.asm b/data/moves/animation_special_effects.asm index 9dfb5645..9dfb5645 100644 --- a/data/move_animation_special_effects.asm +++ b/data/moves/animation_special_effects.asm diff --git a/data/animations.asm b/data/moves/animations.asm index 8c388afd..8c388afd 100755 --- a/data/animations.asm +++ b/data/moves/animations.asm diff --git a/data/moves/effects_pointers.asm b/data/moves/effects_pointers.asm new file mode 100644 index 00000000..02f6e5c6 --- /dev/null +++ b/data/moves/effects_pointers.asm @@ -0,0 +1,87 @@ +MoveEffectPointerTable: + dw SleepEffect ; unused effect + dw PoisonEffect ; POISON_SIDE_EFFECT1 + dw DrainHPEffect ; DRAIN_HP_EFFECT + dw FreezeBurnParalyzeEffect ; BURN_SIDE_EFFECT1 + dw FreezeBurnParalyzeEffect ; FREEZE_SIDE_EFFECT + dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT1 + dw ExplodeEffect ; EXPLODE_EFFECT + dw DrainHPEffect ; DREAM_EATER_EFFECT + dw NULL ; MIRROR_MOVE_EFFECT + dw StatModifierUpEffect ; ATTACK_UP1_EFFECT + dw StatModifierUpEffect ; DEFENSE_UP1_EFFECT + dw StatModifierUpEffect ; SPEED_UP1_EFFECT + dw StatModifierUpEffect ; SPECIAL_UP1_EFFECT + dw StatModifierUpEffect ; ACCURACY_UP1_EFFECT + dw StatModifierUpEffect ; EVASION_UP1_EFFECT + dw PayDayEffect ; PAY_DAY_EFFECT + dw NULL ; SWIFT_EFFECT + dw StatModifierDownEffect ; ATTACK_DOWN1_EFFECT + dw StatModifierDownEffect ; DEFENSE_DOWN1_EFFECT + dw StatModifierDownEffect ; SPEED_DOWN1_EFFECT + dw StatModifierDownEffect ; SPECIAL_DOWN1_EFFECT + dw StatModifierDownEffect ; ACCURACY_DOWN1_EFFECT + dw StatModifierDownEffect ; EVASION_DOWN1_EFFECT + dw ConversionEffect ; CONVERSION_EFFECT + dw HazeEffect ; HAZE_EFFECT + dw BideEffect ; BIDE_EFFECT + dw ThrashPetalDanceEffect ; THRASH_PETAL_DANCE_EFFECT + dw SwitchAndTeleportEffect ; SWITCH_AND_TELEPORT_EFFECT + dw TwoToFiveAttacksEffect ; TWO_TO_FIVE_ATTACKS_EFFECT + dw TwoToFiveAttacksEffect ; unused effect + dw FlinchSideEffect ; FLINCH_SIDE_EFFECT1 + dw SleepEffect ; SLEEP_EFFECT + dw PoisonEffect ; POISON_SIDE_EFFECT2 + dw FreezeBurnParalyzeEffect ; BURN_SIDE_EFFECT2 + dw FreezeBurnParalyzeEffect ; unused effect + dw FreezeBurnParalyzeEffect ; PARALYZE_SIDE_EFFECT2 + dw FlinchSideEffect ; FLINCH_SIDE_EFFECT2 + dw OneHitKOEffect ; OHKO_EFFECT + dw ChargeEffect ; CHARGE_EFFECT + dw NULL ; SUPER_FANG_EFFECT + dw NULL ; SPECIAL_DAMAGE_EFFECT + dw TrappingEffect ; TRAPPING_EFFECT + dw ChargeEffect ; FLY_EFFECT + dw TwoToFiveAttacksEffect ; ATTACK_TWICE_EFFECT + dw NULL ; JUMP_KICK_EFFECT + dw MistEffect ; MIST_EFFECT + dw FocusEnergyEffect ; FOCUS_ENERGY_EFFECT + dw RecoilEffect ; RECOIL_EFFECT + dw ConfusionEffect ; CONFUSION_EFFECT + dw StatModifierUpEffect ; ATTACK_UP2_EFFECT + dw StatModifierUpEffect ; DEFENSE_UP2_EFFECT + dw StatModifierUpEffect ; SPEED_UP2_EFFECT + dw StatModifierUpEffect ; SPECIAL_UP2_EFFECT + dw StatModifierUpEffect ; ACCURACY_UP2_EFFECT + dw StatModifierUpEffect ; EVASION_UP2_EFFECT + dw HealEffect ; HEAL_EFFECT + dw TransformEffect ; TRANSFORM_EFFECT + dw StatModifierDownEffect ; ATTACK_DOWN2_EFFECT + dw StatModifierDownEffect ; DEFENSE_DOWN2_EFFECT + dw StatModifierDownEffect ; SPEED_DOWN2_EFFECT + dw StatModifierDownEffect ; SPECIAL_DOWN2_EFFECT + dw StatModifierDownEffect ; ACCURACY_DOWN2_EFFECT + dw StatModifierDownEffect ; EVASION_DOWN2_EFFECT + dw ReflectLightScreenEffect ; LIGHT_SCREEN_EFFECT + dw ReflectLightScreenEffect ; REFLECT_EFFECT + dw PoisonEffect ; POISON_EFFECT + dw ParalyzeEffect ; PARALYZE_EFFECT + dw StatModifierDownEffect ; ATTACK_DOWN_SIDE_EFFECT + dw StatModifierDownEffect ; DEFENSE_DOWN_SIDE_EFFECT + dw StatModifierDownEffect ; SPEED_DOWN_SIDE_EFFECT + dw StatModifierDownEffect ; SPECIAL_DOWN_SIDE_EFFECT + dw StatModifierDownEffect ; unused effect + dw StatModifierDownEffect ; unused effect + dw StatModifierDownEffect ; unused effect + dw StatModifierDownEffect ; unused effect + dw ConfusionSideEffect ; CONFUSION_SIDE_EFFECT + dw TwoToFiveAttacksEffect ; TWINEEDLE_EFFECT + dw NULL ; unused effect + dw SubstituteEffect ; SUBSTITUTE_EFFECT + dw HyperBeamEffect ; HYPER_BEAM_EFFECT + dw RageEffect ; RAGE_EFFECT + dw MimicEffect ; MIMIC_EFFECT + dw NULL ; METRONOME_EFFECT + dw LeechSeedEffect ; LEECH_SEED_EFFECT + dw SplashEffect ; SPLASH_EFFECT + dw DisableEffect ; DISABLE_EFFECT diff --git a/data/move_grammar.asm b/data/moves/grammar.asm index 8113ab7c..8113ab7c 100644 --- a/data/move_grammar.asm +++ b/data/moves/grammar.asm diff --git a/data/moves/hm_moves.asm b/data/moves/hm_moves.asm new file mode 100644 index 00000000..4f14b8df --- /dev/null +++ b/data/moves/hm_moves.asm @@ -0,0 +1,10 @@ +; This file is INCLUDEd twice: +; - for HMMoves in home/names.asm +; - for HMMoveArray in engine/pokemon/bills_pc.asm + + db CUT + db FLY + db SURF + db STRENGTH + db FLASH + db -1 ; end diff --git a/data/moves.asm b/data/moves/moves.asm index 44859681..44859681 100755 --- a/data/moves.asm +++ b/data/moves/moves.asm diff --git a/text/move_names.asm b/data/moves/names.asm index f8706ee3..f8706ee3 100644 --- a/text/move_names.asm +++ b/data/moves/names.asm diff --git a/data/move_sfx.asm b/data/moves/sfx.asm index 28ad0b63..28ad0b63 100644 --- a/data/move_sfx.asm +++ b/data/moves/sfx.asm diff --git a/data/tms.asm b/data/moves/tmhm_moves.asm index 23c1685e..23c1685e 100755 --- a/data/tms.asm +++ b/data/moves/tmhm_moves.asm diff --git a/text/player_names.asm b/data/player_names.asm index f57c9877..f57c9877 100644 --- a/text/player_names.asm +++ b/data/player_names.asm diff --git a/text/player_names_list.asm b/data/player_names_list.asm index 56075df0..56075df0 100644 --- a/text/player_names_list.asm +++ b/data/player_names_list.asm diff --git a/data/pokemon/base_stats.asm b/data/pokemon/base_stats.asm new file mode 100755 index 00000000..809ae8eb --- /dev/null +++ b/data/pokemon/base_stats.asm @@ -0,0 +1,153 @@ +BaseStats:: +MonBaseStats:: +INCLUDE "data/pokemon/base_stats/bulbasaur.asm" +MonBaseStatsEnd:: +INCLUDE "data/pokemon/base_stats/ivysaur.asm" +INCLUDE "data/pokemon/base_stats/venusaur.asm" +INCLUDE "data/pokemon/base_stats/charmander.asm" +INCLUDE "data/pokemon/base_stats/charmeleon.asm" +INCLUDE "data/pokemon/base_stats/charizard.asm" +INCLUDE "data/pokemon/base_stats/squirtle.asm" +INCLUDE "data/pokemon/base_stats/wartortle.asm" +INCLUDE "data/pokemon/base_stats/blastoise.asm" +INCLUDE "data/pokemon/base_stats/caterpie.asm" +INCLUDE "data/pokemon/base_stats/metapod.asm" +INCLUDE "data/pokemon/base_stats/butterfree.asm" +INCLUDE "data/pokemon/base_stats/weedle.asm" +INCLUDE "data/pokemon/base_stats/kakuna.asm" +INCLUDE "data/pokemon/base_stats/beedrill.asm" +INCLUDE "data/pokemon/base_stats/pidgey.asm" +INCLUDE "data/pokemon/base_stats/pidgeotto.asm" +INCLUDE "data/pokemon/base_stats/pidgeot.asm" +INCLUDE "data/pokemon/base_stats/rattata.asm" +INCLUDE "data/pokemon/base_stats/raticate.asm" +INCLUDE "data/pokemon/base_stats/spearow.asm" +INCLUDE "data/pokemon/base_stats/fearow.asm" +INCLUDE "data/pokemon/base_stats/ekans.asm" +INCLUDE "data/pokemon/base_stats/arbok.asm" +INCLUDE "data/pokemon/base_stats/pikachu.asm" +INCLUDE "data/pokemon/base_stats/raichu.asm" +INCLUDE "data/pokemon/base_stats/sandshrew.asm" +INCLUDE "data/pokemon/base_stats/sandslash.asm" +INCLUDE "data/pokemon/base_stats/nidoranf.asm" +INCLUDE "data/pokemon/base_stats/nidorina.asm" +INCLUDE "data/pokemon/base_stats/nidoqueen.asm" +INCLUDE "data/pokemon/base_stats/nidoranm.asm" +INCLUDE "data/pokemon/base_stats/nidorino.asm" +INCLUDE "data/pokemon/base_stats/nidoking.asm" +INCLUDE "data/pokemon/base_stats/clefairy.asm" +INCLUDE "data/pokemon/base_stats/clefable.asm" +INCLUDE "data/pokemon/base_stats/vulpix.asm" +INCLUDE "data/pokemon/base_stats/ninetales.asm" +INCLUDE "data/pokemon/base_stats/jigglypuff.asm" +INCLUDE "data/pokemon/base_stats/wigglytuff.asm" +INCLUDE "data/pokemon/base_stats/zubat.asm" +INCLUDE "data/pokemon/base_stats/golbat.asm" +INCLUDE "data/pokemon/base_stats/oddish.asm" +INCLUDE "data/pokemon/base_stats/gloom.asm" +INCLUDE "data/pokemon/base_stats/vileplume.asm" +INCLUDE "data/pokemon/base_stats/paras.asm" +INCLUDE "data/pokemon/base_stats/parasect.asm" +INCLUDE "data/pokemon/base_stats/venonat.asm" +INCLUDE "data/pokemon/base_stats/venomoth.asm" +INCLUDE "data/pokemon/base_stats/diglett.asm" +INCLUDE "data/pokemon/base_stats/dugtrio.asm" +INCLUDE "data/pokemon/base_stats/meowth.asm" +INCLUDE "data/pokemon/base_stats/persian.asm" +INCLUDE "data/pokemon/base_stats/psyduck.asm" +INCLUDE "data/pokemon/base_stats/golduck.asm" +INCLUDE "data/pokemon/base_stats/mankey.asm" +INCLUDE "data/pokemon/base_stats/primeape.asm" +INCLUDE "data/pokemon/base_stats/growlithe.asm" +INCLUDE "data/pokemon/base_stats/arcanine.asm" +INCLUDE "data/pokemon/base_stats/poliwag.asm" +INCLUDE "data/pokemon/base_stats/poliwhirl.asm" +INCLUDE "data/pokemon/base_stats/poliwrath.asm" +INCLUDE "data/pokemon/base_stats/abra.asm" +INCLUDE "data/pokemon/base_stats/kadabra.asm" +INCLUDE "data/pokemon/base_stats/alakazam.asm" +INCLUDE "data/pokemon/base_stats/machop.asm" +INCLUDE "data/pokemon/base_stats/machoke.asm" +INCLUDE "data/pokemon/base_stats/machamp.asm" +INCLUDE "data/pokemon/base_stats/bellsprout.asm" +INCLUDE "data/pokemon/base_stats/weepinbell.asm" +INCLUDE "data/pokemon/base_stats/victreebel.asm" +INCLUDE "data/pokemon/base_stats/tentacool.asm" +INCLUDE "data/pokemon/base_stats/tentacruel.asm" +INCLUDE "data/pokemon/base_stats/geodude.asm" +INCLUDE "data/pokemon/base_stats/graveler.asm" +INCLUDE "data/pokemon/base_stats/golem.asm" +INCLUDE "data/pokemon/base_stats/ponyta.asm" +INCLUDE "data/pokemon/base_stats/rapidash.asm" +INCLUDE "data/pokemon/base_stats/slowpoke.asm" +INCLUDE "data/pokemon/base_stats/slowbro.asm" +INCLUDE "data/pokemon/base_stats/magnemite.asm" +INCLUDE "data/pokemon/base_stats/magneton.asm" +INCLUDE "data/pokemon/base_stats/farfetchd.asm" +INCLUDE "data/pokemon/base_stats/doduo.asm" +INCLUDE "data/pokemon/base_stats/dodrio.asm" +INCLUDE "data/pokemon/base_stats/seel.asm" +INCLUDE "data/pokemon/base_stats/dewgong.asm" +INCLUDE "data/pokemon/base_stats/grimer.asm" +INCLUDE "data/pokemon/base_stats/muk.asm" +INCLUDE "data/pokemon/base_stats/shellder.asm" +INCLUDE "data/pokemon/base_stats/cloyster.asm" +INCLUDE "data/pokemon/base_stats/gastly.asm" +INCLUDE "data/pokemon/base_stats/haunter.asm" +INCLUDE "data/pokemon/base_stats/gengar.asm" +INCLUDE "data/pokemon/base_stats/onix.asm" +INCLUDE "data/pokemon/base_stats/drowzee.asm" +INCLUDE "data/pokemon/base_stats/hypno.asm" +INCLUDE "data/pokemon/base_stats/krabby.asm" +INCLUDE "data/pokemon/base_stats/kingler.asm" +INCLUDE "data/pokemon/base_stats/voltorb.asm" +INCLUDE "data/pokemon/base_stats/electrode.asm" +INCLUDE "data/pokemon/base_stats/exeggcute.asm" +INCLUDE "data/pokemon/base_stats/exeggutor.asm" +INCLUDE "data/pokemon/base_stats/cubone.asm" +INCLUDE "data/pokemon/base_stats/marowak.asm" +INCLUDE "data/pokemon/base_stats/hitmonlee.asm" +INCLUDE "data/pokemon/base_stats/hitmonchan.asm" +INCLUDE "data/pokemon/base_stats/lickitung.asm" +INCLUDE "data/pokemon/base_stats/koffing.asm" +INCLUDE "data/pokemon/base_stats/weezing.asm" +INCLUDE "data/pokemon/base_stats/rhyhorn.asm" +INCLUDE "data/pokemon/base_stats/rhydon.asm" +INCLUDE "data/pokemon/base_stats/chansey.asm" +INCLUDE "data/pokemon/base_stats/tangela.asm" +INCLUDE "data/pokemon/base_stats/kangaskhan.asm" +INCLUDE "data/pokemon/base_stats/horsea.asm" +INCLUDE "data/pokemon/base_stats/seadra.asm" +INCLUDE "data/pokemon/base_stats/goldeen.asm" +INCLUDE "data/pokemon/base_stats/seaking.asm" +INCLUDE "data/pokemon/base_stats/staryu.asm" +INCLUDE "data/pokemon/base_stats/starmie.asm" +INCLUDE "data/pokemon/base_stats/mrmime.asm" +INCLUDE "data/pokemon/base_stats/scyther.asm" +INCLUDE "data/pokemon/base_stats/jynx.asm" +INCLUDE "data/pokemon/base_stats/electabuzz.asm" +INCLUDE "data/pokemon/base_stats/magmar.asm" +INCLUDE "data/pokemon/base_stats/pinsir.asm" +INCLUDE "data/pokemon/base_stats/tauros.asm" +INCLUDE "data/pokemon/base_stats/magikarp.asm" +INCLUDE "data/pokemon/base_stats/gyarados.asm" +INCLUDE "data/pokemon/base_stats/lapras.asm" +INCLUDE "data/pokemon/base_stats/ditto.asm" +INCLUDE "data/pokemon/base_stats/eevee.asm" +INCLUDE "data/pokemon/base_stats/vaporeon.asm" +INCLUDE "data/pokemon/base_stats/jolteon.asm" +INCLUDE "data/pokemon/base_stats/flareon.asm" +INCLUDE "data/pokemon/base_stats/porygon.asm" +INCLUDE "data/pokemon/base_stats/omanyte.asm" +INCLUDE "data/pokemon/base_stats/omastar.asm" +INCLUDE "data/pokemon/base_stats/kabuto.asm" +INCLUDE "data/pokemon/base_stats/kabutops.asm" +INCLUDE "data/pokemon/base_stats/aerodactyl.asm" +INCLUDE "data/pokemon/base_stats/snorlax.asm" +INCLUDE "data/pokemon/base_stats/articuno.asm" +INCLUDE "data/pokemon/base_stats/zapdos.asm" +INCLUDE "data/pokemon/base_stats/moltres.asm" +INCLUDE "data/pokemon/base_stats/dratini.asm" +INCLUDE "data/pokemon/base_stats/dragonair.asm" +INCLUDE "data/pokemon/base_stats/dragonite.asm" +INCLUDE "data/pokemon/base_stats/mewtwo.asm" diff --git a/data/baseStats/abra.asm b/data/pokemon/base_stats/abra.asm index dfb446ca..dfb446ca 100644 --- a/data/baseStats/abra.asm +++ b/data/pokemon/base_stats/abra.asm diff --git a/data/baseStats/aerodactyl.asm b/data/pokemon/base_stats/aerodactyl.asm index 564fc831..564fc831 100644 --- a/data/baseStats/aerodactyl.asm +++ b/data/pokemon/base_stats/aerodactyl.asm diff --git a/data/baseStats/alakazam.asm b/data/pokemon/base_stats/alakazam.asm index 57f7f516..57f7f516 100644 --- a/data/baseStats/alakazam.asm +++ b/data/pokemon/base_stats/alakazam.asm diff --git a/data/baseStats/arbok.asm b/data/pokemon/base_stats/arbok.asm index 1e88289f..1e88289f 100644 --- a/data/baseStats/arbok.asm +++ b/data/pokemon/base_stats/arbok.asm diff --git a/data/baseStats/arcanine.asm b/data/pokemon/base_stats/arcanine.asm index c661cc88..c661cc88 100644 --- a/data/baseStats/arcanine.asm +++ b/data/pokemon/base_stats/arcanine.asm diff --git a/data/baseStats/articuno.asm b/data/pokemon/base_stats/articuno.asm index 6265c654..6265c654 100644 --- a/data/baseStats/articuno.asm +++ b/data/pokemon/base_stats/articuno.asm diff --git a/data/baseStats/beedrill.asm b/data/pokemon/base_stats/beedrill.asm index 516f5747..516f5747 100644 --- a/data/baseStats/beedrill.asm +++ b/data/pokemon/base_stats/beedrill.asm diff --git a/data/baseStats/bellsprout.asm b/data/pokemon/base_stats/bellsprout.asm index 42c1a22c..42c1a22c 100644 --- a/data/baseStats/bellsprout.asm +++ b/data/pokemon/base_stats/bellsprout.asm diff --git a/data/baseStats/blastoise.asm b/data/pokemon/base_stats/blastoise.asm index 1e073c26..1e073c26 100644 --- a/data/baseStats/blastoise.asm +++ b/data/pokemon/base_stats/blastoise.asm diff --git a/data/baseStats/bulbasaur.asm b/data/pokemon/base_stats/bulbasaur.asm index 08e171ef..08e171ef 100644 --- a/data/baseStats/bulbasaur.asm +++ b/data/pokemon/base_stats/bulbasaur.asm diff --git a/data/baseStats/butterfree.asm b/data/pokemon/base_stats/butterfree.asm index 2f0dae18..2f0dae18 100644 --- a/data/baseStats/butterfree.asm +++ b/data/pokemon/base_stats/butterfree.asm diff --git a/data/baseStats/caterpie.asm b/data/pokemon/base_stats/caterpie.asm index 75270144..75270144 100644 --- a/data/baseStats/caterpie.asm +++ b/data/pokemon/base_stats/caterpie.asm diff --git a/data/baseStats/chansey.asm b/data/pokemon/base_stats/chansey.asm index 7f0cf16e..7f0cf16e 100644 --- a/data/baseStats/chansey.asm +++ b/data/pokemon/base_stats/chansey.asm diff --git a/data/baseStats/charizard.asm b/data/pokemon/base_stats/charizard.asm index c0df120e..c0df120e 100644 --- a/data/baseStats/charizard.asm +++ b/data/pokemon/base_stats/charizard.asm diff --git a/data/baseStats/charmander.asm b/data/pokemon/base_stats/charmander.asm index a296b609..a296b609 100644 --- a/data/baseStats/charmander.asm +++ b/data/pokemon/base_stats/charmander.asm diff --git a/data/baseStats/charmeleon.asm b/data/pokemon/base_stats/charmeleon.asm index 62e8eb89..62e8eb89 100644 --- a/data/baseStats/charmeleon.asm +++ b/data/pokemon/base_stats/charmeleon.asm diff --git a/data/baseStats/clefable.asm b/data/pokemon/base_stats/clefable.asm index 407a5170..407a5170 100644 --- a/data/baseStats/clefable.asm +++ b/data/pokemon/base_stats/clefable.asm diff --git a/data/baseStats/clefairy.asm b/data/pokemon/base_stats/clefairy.asm index 2e3bbf92..2e3bbf92 100644 --- a/data/baseStats/clefairy.asm +++ b/data/pokemon/base_stats/clefairy.asm diff --git a/data/baseStats/cloyster.asm b/data/pokemon/base_stats/cloyster.asm index 9b79bd78..9b79bd78 100644 --- a/data/baseStats/cloyster.asm +++ b/data/pokemon/base_stats/cloyster.asm diff --git a/data/baseStats/cubone.asm b/data/pokemon/base_stats/cubone.asm index 776a771c..776a771c 100644 --- a/data/baseStats/cubone.asm +++ b/data/pokemon/base_stats/cubone.asm diff --git a/data/baseStats/dewgong.asm b/data/pokemon/base_stats/dewgong.asm index 59ab04b0..59ab04b0 100644 --- a/data/baseStats/dewgong.asm +++ b/data/pokemon/base_stats/dewgong.asm diff --git a/data/baseStats/diglett.asm b/data/pokemon/base_stats/diglett.asm index da8648d8..da8648d8 100644 --- a/data/baseStats/diglett.asm +++ b/data/pokemon/base_stats/diglett.asm diff --git a/data/baseStats/ditto.asm b/data/pokemon/base_stats/ditto.asm index aff87275..aff87275 100644 --- a/data/baseStats/ditto.asm +++ b/data/pokemon/base_stats/ditto.asm diff --git a/data/baseStats/dodrio.asm b/data/pokemon/base_stats/dodrio.asm index baf1fd8a..baf1fd8a 100644 --- a/data/baseStats/dodrio.asm +++ b/data/pokemon/base_stats/dodrio.asm diff --git a/data/baseStats/doduo.asm b/data/pokemon/base_stats/doduo.asm index 33d1506a..33d1506a 100644 --- a/data/baseStats/doduo.asm +++ b/data/pokemon/base_stats/doduo.asm diff --git a/data/baseStats/dragonair.asm b/data/pokemon/base_stats/dragonair.asm index 9d8ab0c2..9d8ab0c2 100644 --- a/data/baseStats/dragonair.asm +++ b/data/pokemon/base_stats/dragonair.asm diff --git a/data/baseStats/dragonite.asm b/data/pokemon/base_stats/dragonite.asm index 22653bcc..22653bcc 100644 --- a/data/baseStats/dragonite.asm +++ b/data/pokemon/base_stats/dragonite.asm diff --git a/data/baseStats/dratini.asm b/data/pokemon/base_stats/dratini.asm index c377c217..c377c217 100644 --- a/data/baseStats/dratini.asm +++ b/data/pokemon/base_stats/dratini.asm diff --git a/data/baseStats/drowzee.asm b/data/pokemon/base_stats/drowzee.asm index 075158c4..075158c4 100644 --- a/data/baseStats/drowzee.asm +++ b/data/pokemon/base_stats/drowzee.asm diff --git a/data/baseStats/dugtrio.asm b/data/pokemon/base_stats/dugtrio.asm index 86a55e22..86a55e22 100644 --- a/data/baseStats/dugtrio.asm +++ b/data/pokemon/base_stats/dugtrio.asm diff --git a/data/baseStats/eevee.asm b/data/pokemon/base_stats/eevee.asm index d5cbaa9b..d5cbaa9b 100644 --- a/data/baseStats/eevee.asm +++ b/data/pokemon/base_stats/eevee.asm diff --git a/data/baseStats/ekans.asm b/data/pokemon/base_stats/ekans.asm index 94295b51..94295b51 100644 --- a/data/baseStats/ekans.asm +++ b/data/pokemon/base_stats/ekans.asm diff --git a/data/baseStats/electabuzz.asm b/data/pokemon/base_stats/electabuzz.asm index 5a1bc59f..5a1bc59f 100644 --- a/data/baseStats/electabuzz.asm +++ b/data/pokemon/base_stats/electabuzz.asm diff --git a/data/baseStats/electrode.asm b/data/pokemon/base_stats/electrode.asm index 86b023c3..86b023c3 100644 --- a/data/baseStats/electrode.asm +++ b/data/pokemon/base_stats/electrode.asm diff --git a/data/baseStats/exeggcute.asm b/data/pokemon/base_stats/exeggcute.asm index 6499362a..6499362a 100644 --- a/data/baseStats/exeggcute.asm +++ b/data/pokemon/base_stats/exeggcute.asm diff --git a/data/baseStats/exeggutor.asm b/data/pokemon/base_stats/exeggutor.asm index 17b1f6a6..17b1f6a6 100644 --- a/data/baseStats/exeggutor.asm +++ b/data/pokemon/base_stats/exeggutor.asm diff --git a/data/baseStats/farfetchd.asm b/data/pokemon/base_stats/farfetchd.asm index ffbb70f1..ffbb70f1 100644 --- a/data/baseStats/farfetchd.asm +++ b/data/pokemon/base_stats/farfetchd.asm diff --git a/data/baseStats/fearow.asm b/data/pokemon/base_stats/fearow.asm index d03722ba..d03722ba 100644 --- a/data/baseStats/fearow.asm +++ b/data/pokemon/base_stats/fearow.asm diff --git a/data/baseStats/flareon.asm b/data/pokemon/base_stats/flareon.asm index 8ebe4ede..8ebe4ede 100644 --- a/data/baseStats/flareon.asm +++ b/data/pokemon/base_stats/flareon.asm diff --git a/data/baseStats/gastly.asm b/data/pokemon/base_stats/gastly.asm index b68d431b..b68d431b 100644 --- a/data/baseStats/gastly.asm +++ b/data/pokemon/base_stats/gastly.asm diff --git a/data/baseStats/gengar.asm b/data/pokemon/base_stats/gengar.asm index bdbe5de6..bdbe5de6 100644 --- a/data/baseStats/gengar.asm +++ b/data/pokemon/base_stats/gengar.asm diff --git a/data/baseStats/geodude.asm b/data/pokemon/base_stats/geodude.asm index 9ffd1c86..9ffd1c86 100644 --- a/data/baseStats/geodude.asm +++ b/data/pokemon/base_stats/geodude.asm diff --git a/data/baseStats/gloom.asm b/data/pokemon/base_stats/gloom.asm index 6c08287e..6c08287e 100644 --- a/data/baseStats/gloom.asm +++ b/data/pokemon/base_stats/gloom.asm diff --git a/data/baseStats/golbat.asm b/data/pokemon/base_stats/golbat.asm index de93ee3f..de93ee3f 100644 --- a/data/baseStats/golbat.asm +++ b/data/pokemon/base_stats/golbat.asm diff --git a/data/baseStats/goldeen.asm b/data/pokemon/base_stats/goldeen.asm index 32c89599..32c89599 100644 --- a/data/baseStats/goldeen.asm +++ b/data/pokemon/base_stats/goldeen.asm diff --git a/data/baseStats/golduck.asm b/data/pokemon/base_stats/golduck.asm index 6f2cc6a9..6f2cc6a9 100644 --- a/data/baseStats/golduck.asm +++ b/data/pokemon/base_stats/golduck.asm diff --git a/data/baseStats/golem.asm b/data/pokemon/base_stats/golem.asm index b5506372..b5506372 100644 --- a/data/baseStats/golem.asm +++ b/data/pokemon/base_stats/golem.asm diff --git a/data/baseStats/graveler.asm b/data/pokemon/base_stats/graveler.asm index 0525c587..0525c587 100644 --- a/data/baseStats/graveler.asm +++ b/data/pokemon/base_stats/graveler.asm diff --git a/data/baseStats/grimer.asm b/data/pokemon/base_stats/grimer.asm index 63533c00..63533c00 100644 --- a/data/baseStats/grimer.asm +++ b/data/pokemon/base_stats/grimer.asm diff --git a/data/baseStats/growlithe.asm b/data/pokemon/base_stats/growlithe.asm index 9bf5e036..9bf5e036 100644 --- a/data/baseStats/growlithe.asm +++ b/data/pokemon/base_stats/growlithe.asm diff --git a/data/baseStats/gyarados.asm b/data/pokemon/base_stats/gyarados.asm index 3cd2e213..3cd2e213 100644 --- a/data/baseStats/gyarados.asm +++ b/data/pokemon/base_stats/gyarados.asm diff --git a/data/baseStats/haunter.asm b/data/pokemon/base_stats/haunter.asm index 879b75d4..879b75d4 100644 --- a/data/baseStats/haunter.asm +++ b/data/pokemon/base_stats/haunter.asm diff --git a/data/baseStats/hitmonchan.asm b/data/pokemon/base_stats/hitmonchan.asm index f34bf086..f34bf086 100644 --- a/data/baseStats/hitmonchan.asm +++ b/data/pokemon/base_stats/hitmonchan.asm diff --git a/data/baseStats/hitmonlee.asm b/data/pokemon/base_stats/hitmonlee.asm index 2590bfb0..2590bfb0 100644 --- a/data/baseStats/hitmonlee.asm +++ b/data/pokemon/base_stats/hitmonlee.asm diff --git a/data/baseStats/horsea.asm b/data/pokemon/base_stats/horsea.asm index ecf98197..ecf98197 100644 --- a/data/baseStats/horsea.asm +++ b/data/pokemon/base_stats/horsea.asm diff --git a/data/baseStats/hypno.asm b/data/pokemon/base_stats/hypno.asm index 9d251cd6..9d251cd6 100644 --- a/data/baseStats/hypno.asm +++ b/data/pokemon/base_stats/hypno.asm diff --git a/data/baseStats/ivysaur.asm b/data/pokemon/base_stats/ivysaur.asm index f90549b9..f90549b9 100644 --- a/data/baseStats/ivysaur.asm +++ b/data/pokemon/base_stats/ivysaur.asm diff --git a/data/baseStats/jigglypuff.asm b/data/pokemon/base_stats/jigglypuff.asm index 0a6bdf49..0a6bdf49 100644 --- a/data/baseStats/jigglypuff.asm +++ b/data/pokemon/base_stats/jigglypuff.asm diff --git a/data/baseStats/jolteon.asm b/data/pokemon/base_stats/jolteon.asm index 1752354b..1752354b 100644 --- a/data/baseStats/jolteon.asm +++ b/data/pokemon/base_stats/jolteon.asm diff --git a/data/baseStats/jynx.asm b/data/pokemon/base_stats/jynx.asm index f82796e5..f82796e5 100644 --- a/data/baseStats/jynx.asm +++ b/data/pokemon/base_stats/jynx.asm diff --git a/data/baseStats/kabuto.asm b/data/pokemon/base_stats/kabuto.asm index fc2df213..fc2df213 100644 --- a/data/baseStats/kabuto.asm +++ b/data/pokemon/base_stats/kabuto.asm diff --git a/data/baseStats/kabutops.asm b/data/pokemon/base_stats/kabutops.asm index ca35e56a..ca35e56a 100644 --- a/data/baseStats/kabutops.asm +++ b/data/pokemon/base_stats/kabutops.asm diff --git a/data/baseStats/kadabra.asm b/data/pokemon/base_stats/kadabra.asm index 652f762a..652f762a 100644 --- a/data/baseStats/kadabra.asm +++ b/data/pokemon/base_stats/kadabra.asm diff --git a/data/baseStats/kakuna.asm b/data/pokemon/base_stats/kakuna.asm index 4a7ec5b4..4a7ec5b4 100644 --- a/data/baseStats/kakuna.asm +++ b/data/pokemon/base_stats/kakuna.asm diff --git a/data/baseStats/kangaskhan.asm b/data/pokemon/base_stats/kangaskhan.asm index 381c8879..381c8879 100644 --- a/data/baseStats/kangaskhan.asm +++ b/data/pokemon/base_stats/kangaskhan.asm diff --git a/data/baseStats/kingler.asm b/data/pokemon/base_stats/kingler.asm index d4b426fb..d4b426fb 100644 --- a/data/baseStats/kingler.asm +++ b/data/pokemon/base_stats/kingler.asm diff --git a/data/baseStats/koffing.asm b/data/pokemon/base_stats/koffing.asm index ca3e1029..ca3e1029 100644 --- a/data/baseStats/koffing.asm +++ b/data/pokemon/base_stats/koffing.asm diff --git a/data/baseStats/krabby.asm b/data/pokemon/base_stats/krabby.asm index d1839d26..d1839d26 100644 --- a/data/baseStats/krabby.asm +++ b/data/pokemon/base_stats/krabby.asm diff --git a/data/baseStats/lapras.asm b/data/pokemon/base_stats/lapras.asm index 17b80461..17b80461 100644 --- a/data/baseStats/lapras.asm +++ b/data/pokemon/base_stats/lapras.asm diff --git a/data/baseStats/lickitung.asm b/data/pokemon/base_stats/lickitung.asm index 5c772dd3..5c772dd3 100644 --- a/data/baseStats/lickitung.asm +++ b/data/pokemon/base_stats/lickitung.asm diff --git a/data/baseStats/machamp.asm b/data/pokemon/base_stats/machamp.asm index 825766a6..825766a6 100644 --- a/data/baseStats/machamp.asm +++ b/data/pokemon/base_stats/machamp.asm diff --git a/data/baseStats/machoke.asm b/data/pokemon/base_stats/machoke.asm index 9bc5df42..9bc5df42 100644 --- a/data/baseStats/machoke.asm +++ b/data/pokemon/base_stats/machoke.asm diff --git a/data/baseStats/machop.asm b/data/pokemon/base_stats/machop.asm index a691183a..a691183a 100644 --- a/data/baseStats/machop.asm +++ b/data/pokemon/base_stats/machop.asm diff --git a/data/baseStats/magikarp.asm b/data/pokemon/base_stats/magikarp.asm index 5185e3f0..5185e3f0 100644 --- a/data/baseStats/magikarp.asm +++ b/data/pokemon/base_stats/magikarp.asm diff --git a/data/baseStats/magmar.asm b/data/pokemon/base_stats/magmar.asm index b24f519c..b24f519c 100644 --- a/data/baseStats/magmar.asm +++ b/data/pokemon/base_stats/magmar.asm diff --git a/data/baseStats/magnemite.asm b/data/pokemon/base_stats/magnemite.asm index f7fe0b00..f7fe0b00 100644 --- a/data/baseStats/magnemite.asm +++ b/data/pokemon/base_stats/magnemite.asm diff --git a/data/baseStats/magneton.asm b/data/pokemon/base_stats/magneton.asm index 7c32d059..7c32d059 100644 --- a/data/baseStats/magneton.asm +++ b/data/pokemon/base_stats/magneton.asm diff --git a/data/baseStats/mankey.asm b/data/pokemon/base_stats/mankey.asm index 07b961c5..07b961c5 100644 --- a/data/baseStats/mankey.asm +++ b/data/pokemon/base_stats/mankey.asm diff --git a/data/baseStats/marowak.asm b/data/pokemon/base_stats/marowak.asm index a2c5a4c6..a2c5a4c6 100644 --- a/data/baseStats/marowak.asm +++ b/data/pokemon/base_stats/marowak.asm diff --git a/data/baseStats/meowth.asm b/data/pokemon/base_stats/meowth.asm index aa1904ba..aa1904ba 100644 --- a/data/baseStats/meowth.asm +++ b/data/pokemon/base_stats/meowth.asm diff --git a/data/baseStats/metapod.asm b/data/pokemon/base_stats/metapod.asm index cf4f52b7..cf4f52b7 100644 --- a/data/baseStats/metapod.asm +++ b/data/pokemon/base_stats/metapod.asm diff --git a/data/baseStats/mew.asm b/data/pokemon/base_stats/mew.asm index f89a2864..f89a2864 100644 --- a/data/baseStats/mew.asm +++ b/data/pokemon/base_stats/mew.asm diff --git a/data/baseStats/mewtwo.asm b/data/pokemon/base_stats/mewtwo.asm index 6e85291d..6e85291d 100644 --- a/data/baseStats/mewtwo.asm +++ b/data/pokemon/base_stats/mewtwo.asm diff --git a/data/baseStats/moltres.asm b/data/pokemon/base_stats/moltres.asm index 4c54cf44..4c54cf44 100644 --- a/data/baseStats/moltres.asm +++ b/data/pokemon/base_stats/moltres.asm diff --git a/data/baseStats/mrmime.asm b/data/pokemon/base_stats/mrmime.asm index 95f2655a..95f2655a 100644 --- a/data/baseStats/mrmime.asm +++ b/data/pokemon/base_stats/mrmime.asm diff --git a/data/baseStats/muk.asm b/data/pokemon/base_stats/muk.asm index 45f7921f..45f7921f 100644 --- a/data/baseStats/muk.asm +++ b/data/pokemon/base_stats/muk.asm diff --git a/data/baseStats/nidoking.asm b/data/pokemon/base_stats/nidoking.asm index 7d5ff438..7d5ff438 100644 --- a/data/baseStats/nidoking.asm +++ b/data/pokemon/base_stats/nidoking.asm diff --git a/data/baseStats/nidoqueen.asm b/data/pokemon/base_stats/nidoqueen.asm index 9b635e3e..9b635e3e 100644 --- a/data/baseStats/nidoqueen.asm +++ b/data/pokemon/base_stats/nidoqueen.asm diff --git a/data/baseStats/nidoranf.asm b/data/pokemon/base_stats/nidoranf.asm index f58e971d..f58e971d 100644 --- a/data/baseStats/nidoranf.asm +++ b/data/pokemon/base_stats/nidoranf.asm diff --git a/data/baseStats/nidoranm.asm b/data/pokemon/base_stats/nidoranm.asm index 2c5374ba..2c5374ba 100644 --- a/data/baseStats/nidoranm.asm +++ b/data/pokemon/base_stats/nidoranm.asm diff --git a/data/baseStats/nidorina.asm b/data/pokemon/base_stats/nidorina.asm index ae7681c4..ae7681c4 100644 --- a/data/baseStats/nidorina.asm +++ b/data/pokemon/base_stats/nidorina.asm diff --git a/data/baseStats/nidorino.asm b/data/pokemon/base_stats/nidorino.asm index c9c87c25..c9c87c25 100644 --- a/data/baseStats/nidorino.asm +++ b/data/pokemon/base_stats/nidorino.asm diff --git a/data/baseStats/ninetales.asm b/data/pokemon/base_stats/ninetales.asm index 88d95329..88d95329 100644 --- a/data/baseStats/ninetales.asm +++ b/data/pokemon/base_stats/ninetales.asm diff --git a/data/baseStats/oddish.asm b/data/pokemon/base_stats/oddish.asm index d0309427..d0309427 100644 --- a/data/baseStats/oddish.asm +++ b/data/pokemon/base_stats/oddish.asm diff --git a/data/baseStats/omanyte.asm b/data/pokemon/base_stats/omanyte.asm index 33541539..33541539 100644 --- a/data/baseStats/omanyte.asm +++ b/data/pokemon/base_stats/omanyte.asm diff --git a/data/baseStats/omastar.asm b/data/pokemon/base_stats/omastar.asm index dfd5c7a2..dfd5c7a2 100644 --- a/data/baseStats/omastar.asm +++ b/data/pokemon/base_stats/omastar.asm diff --git a/data/baseStats/onix.asm b/data/pokemon/base_stats/onix.asm index a0ad840e..a0ad840e 100644 --- a/data/baseStats/onix.asm +++ b/data/pokemon/base_stats/onix.asm diff --git a/data/baseStats/paras.asm b/data/pokemon/base_stats/paras.asm index 47d2d490..47d2d490 100644 --- a/data/baseStats/paras.asm +++ b/data/pokemon/base_stats/paras.asm diff --git a/data/baseStats/parasect.asm b/data/pokemon/base_stats/parasect.asm index 8e39c90e..8e39c90e 100644 --- a/data/baseStats/parasect.asm +++ b/data/pokemon/base_stats/parasect.asm diff --git a/data/baseStats/persian.asm b/data/pokemon/base_stats/persian.asm index 40a9d70c..40a9d70c 100644 --- a/data/baseStats/persian.asm +++ b/data/pokemon/base_stats/persian.asm diff --git a/data/baseStats/pidgeot.asm b/data/pokemon/base_stats/pidgeot.asm index 9c770dd6..9c770dd6 100644 --- a/data/baseStats/pidgeot.asm +++ b/data/pokemon/base_stats/pidgeot.asm diff --git a/data/baseStats/pidgeotto.asm b/data/pokemon/base_stats/pidgeotto.asm index 1a2962e7..1a2962e7 100644 --- a/data/baseStats/pidgeotto.asm +++ b/data/pokemon/base_stats/pidgeotto.asm diff --git a/data/baseStats/pidgey.asm b/data/pokemon/base_stats/pidgey.asm index ca167e3b..ca167e3b 100644 --- a/data/baseStats/pidgey.asm +++ b/data/pokemon/base_stats/pidgey.asm diff --git a/data/baseStats/pikachu.asm b/data/pokemon/base_stats/pikachu.asm index 36391ed8..36391ed8 100644 --- a/data/baseStats/pikachu.asm +++ b/data/pokemon/base_stats/pikachu.asm diff --git a/data/baseStats/pinsir.asm b/data/pokemon/base_stats/pinsir.asm index db749370..db749370 100644 --- a/data/baseStats/pinsir.asm +++ b/data/pokemon/base_stats/pinsir.asm diff --git a/data/baseStats/poliwag.asm b/data/pokemon/base_stats/poliwag.asm index a4e260ba..a4e260ba 100644 --- a/data/baseStats/poliwag.asm +++ b/data/pokemon/base_stats/poliwag.asm diff --git a/data/baseStats/poliwhirl.asm b/data/pokemon/base_stats/poliwhirl.asm index 706bd498..706bd498 100644 --- a/data/baseStats/poliwhirl.asm +++ b/data/pokemon/base_stats/poliwhirl.asm diff --git a/data/baseStats/poliwrath.asm b/data/pokemon/base_stats/poliwrath.asm index 6f7d4b78..6f7d4b78 100644 --- a/data/baseStats/poliwrath.asm +++ b/data/pokemon/base_stats/poliwrath.asm diff --git a/data/baseStats/ponyta.asm b/data/pokemon/base_stats/ponyta.asm index 667d3cc9..667d3cc9 100644 --- a/data/baseStats/ponyta.asm +++ b/data/pokemon/base_stats/ponyta.asm diff --git a/data/baseStats/porygon.asm b/data/pokemon/base_stats/porygon.asm index 71a37154..71a37154 100644 --- a/data/baseStats/porygon.asm +++ b/data/pokemon/base_stats/porygon.asm diff --git a/data/baseStats/primeape.asm b/data/pokemon/base_stats/primeape.asm index 2d00ee76..2d00ee76 100644 --- a/data/baseStats/primeape.asm +++ b/data/pokemon/base_stats/primeape.asm diff --git a/data/baseStats/psyduck.asm b/data/pokemon/base_stats/psyduck.asm index 163f851e..163f851e 100644 --- a/data/baseStats/psyduck.asm +++ b/data/pokemon/base_stats/psyduck.asm diff --git a/data/baseStats/raichu.asm b/data/pokemon/base_stats/raichu.asm index c2c0c6a9..c2c0c6a9 100644 --- a/data/baseStats/raichu.asm +++ b/data/pokemon/base_stats/raichu.asm diff --git a/data/baseStats/rapidash.asm b/data/pokemon/base_stats/rapidash.asm index 53dcbe4a..53dcbe4a 100644 --- a/data/baseStats/rapidash.asm +++ b/data/pokemon/base_stats/rapidash.asm diff --git a/data/baseStats/raticate.asm b/data/pokemon/base_stats/raticate.asm index 157b22bb..157b22bb 100644 --- a/data/baseStats/raticate.asm +++ b/data/pokemon/base_stats/raticate.asm diff --git a/data/baseStats/rattata.asm b/data/pokemon/base_stats/rattata.asm index 5dfafddb..5dfafddb 100644 --- a/data/baseStats/rattata.asm +++ b/data/pokemon/base_stats/rattata.asm diff --git a/data/baseStats/rhydon.asm b/data/pokemon/base_stats/rhydon.asm index 9f611a83..9f611a83 100644 --- a/data/baseStats/rhydon.asm +++ b/data/pokemon/base_stats/rhydon.asm diff --git a/data/baseStats/rhyhorn.asm b/data/pokemon/base_stats/rhyhorn.asm index b7fc9137..b7fc9137 100644 --- a/data/baseStats/rhyhorn.asm +++ b/data/pokemon/base_stats/rhyhorn.asm diff --git a/data/baseStats/sandshrew.asm b/data/pokemon/base_stats/sandshrew.asm index a098678e..a098678e 100644 --- a/data/baseStats/sandshrew.asm +++ b/data/pokemon/base_stats/sandshrew.asm diff --git a/data/baseStats/sandslash.asm b/data/pokemon/base_stats/sandslash.asm index c596265c..c596265c 100644 --- a/data/baseStats/sandslash.asm +++ b/data/pokemon/base_stats/sandslash.asm diff --git a/data/baseStats/scyther.asm b/data/pokemon/base_stats/scyther.asm index 303a33c1..303a33c1 100644 --- a/data/baseStats/scyther.asm +++ b/data/pokemon/base_stats/scyther.asm diff --git a/data/baseStats/seadra.asm b/data/pokemon/base_stats/seadra.asm index cd9bbc3f..cd9bbc3f 100644 --- a/data/baseStats/seadra.asm +++ b/data/pokemon/base_stats/seadra.asm diff --git a/data/baseStats/seaking.asm b/data/pokemon/base_stats/seaking.asm index c14b095b..c14b095b 100644 --- a/data/baseStats/seaking.asm +++ b/data/pokemon/base_stats/seaking.asm diff --git a/data/baseStats/seel.asm b/data/pokemon/base_stats/seel.asm index 64c0cd7f..64c0cd7f 100644 --- a/data/baseStats/seel.asm +++ b/data/pokemon/base_stats/seel.asm diff --git a/data/baseStats/shellder.asm b/data/pokemon/base_stats/shellder.asm index c051f2f5..c051f2f5 100644 --- a/data/baseStats/shellder.asm +++ b/data/pokemon/base_stats/shellder.asm diff --git a/data/baseStats/slowbro.asm b/data/pokemon/base_stats/slowbro.asm index 51d3f564..51d3f564 100644 --- a/data/baseStats/slowbro.asm +++ b/data/pokemon/base_stats/slowbro.asm diff --git a/data/baseStats/slowpoke.asm b/data/pokemon/base_stats/slowpoke.asm index 60e47ea8..60e47ea8 100644 --- a/data/baseStats/slowpoke.asm +++ b/data/pokemon/base_stats/slowpoke.asm diff --git a/data/baseStats/snorlax.asm b/data/pokemon/base_stats/snorlax.asm index c1d47cd6..c1d47cd6 100644 --- a/data/baseStats/snorlax.asm +++ b/data/pokemon/base_stats/snorlax.asm diff --git a/data/baseStats/spearow.asm b/data/pokemon/base_stats/spearow.asm index 9b8db91d..9b8db91d 100644 --- a/data/baseStats/spearow.asm +++ b/data/pokemon/base_stats/spearow.asm diff --git a/data/baseStats/squirtle.asm b/data/pokemon/base_stats/squirtle.asm index 639809f9..639809f9 100644 --- a/data/baseStats/squirtle.asm +++ b/data/pokemon/base_stats/squirtle.asm diff --git a/data/baseStats/starmie.asm b/data/pokemon/base_stats/starmie.asm index 23858638..23858638 100644 --- a/data/baseStats/starmie.asm +++ b/data/pokemon/base_stats/starmie.asm diff --git a/data/baseStats/staryu.asm b/data/pokemon/base_stats/staryu.asm index ffbb1f21..ffbb1f21 100644 --- a/data/baseStats/staryu.asm +++ b/data/pokemon/base_stats/staryu.asm diff --git a/data/baseStats/tangela.asm b/data/pokemon/base_stats/tangela.asm index 65570b3c..65570b3c 100644 --- a/data/baseStats/tangela.asm +++ b/data/pokemon/base_stats/tangela.asm diff --git a/data/baseStats/tauros.asm b/data/pokemon/base_stats/tauros.asm index e66980d7..e66980d7 100644 --- a/data/baseStats/tauros.asm +++ b/data/pokemon/base_stats/tauros.asm diff --git a/data/baseStats/tentacool.asm b/data/pokemon/base_stats/tentacool.asm index 0b1b840d..0b1b840d 100644 --- a/data/baseStats/tentacool.asm +++ b/data/pokemon/base_stats/tentacool.asm diff --git a/data/baseStats/tentacruel.asm b/data/pokemon/base_stats/tentacruel.asm index ef82c764..ef82c764 100644 --- a/data/baseStats/tentacruel.asm +++ b/data/pokemon/base_stats/tentacruel.asm diff --git a/data/baseStats/vaporeon.asm b/data/pokemon/base_stats/vaporeon.asm index a01c9ade..a01c9ade 100644 --- a/data/baseStats/vaporeon.asm +++ b/data/pokemon/base_stats/vaporeon.asm diff --git a/data/baseStats/venomoth.asm b/data/pokemon/base_stats/venomoth.asm index 7518f31e..7518f31e 100644 --- a/data/baseStats/venomoth.asm +++ b/data/pokemon/base_stats/venomoth.asm diff --git a/data/baseStats/venonat.asm b/data/pokemon/base_stats/venonat.asm index 1e88d9ae..1e88d9ae 100644 --- a/data/baseStats/venonat.asm +++ b/data/pokemon/base_stats/venonat.asm diff --git a/data/baseStats/venusaur.asm b/data/pokemon/base_stats/venusaur.asm index bda8a528..bda8a528 100644 --- a/data/baseStats/venusaur.asm +++ b/data/pokemon/base_stats/venusaur.asm diff --git a/data/baseStats/victreebel.asm b/data/pokemon/base_stats/victreebel.asm index ce528805..ce528805 100644 --- a/data/baseStats/victreebel.asm +++ b/data/pokemon/base_stats/victreebel.asm diff --git a/data/baseStats/vileplume.asm b/data/pokemon/base_stats/vileplume.asm index 2ec67131..2ec67131 100644 --- a/data/baseStats/vileplume.asm +++ b/data/pokemon/base_stats/vileplume.asm diff --git a/data/baseStats/voltorb.asm b/data/pokemon/base_stats/voltorb.asm index 6cb55714..6cb55714 100644 --- a/data/baseStats/voltorb.asm +++ b/data/pokemon/base_stats/voltorb.asm diff --git a/data/baseStats/vulpix.asm b/data/pokemon/base_stats/vulpix.asm index 9285df13..9285df13 100644 --- a/data/baseStats/vulpix.asm +++ b/data/pokemon/base_stats/vulpix.asm diff --git a/data/baseStats/wartortle.asm b/data/pokemon/base_stats/wartortle.asm index ce37e7b3..ce37e7b3 100644 --- a/data/baseStats/wartortle.asm +++ b/data/pokemon/base_stats/wartortle.asm diff --git a/data/baseStats/weedle.asm b/data/pokemon/base_stats/weedle.asm index 7434d93a..7434d93a 100644 --- a/data/baseStats/weedle.asm +++ b/data/pokemon/base_stats/weedle.asm diff --git a/data/baseStats/weepinbell.asm b/data/pokemon/base_stats/weepinbell.asm index 48e18a31..48e18a31 100644 --- a/data/baseStats/weepinbell.asm +++ b/data/pokemon/base_stats/weepinbell.asm diff --git a/data/baseStats/weezing.asm b/data/pokemon/base_stats/weezing.asm index 21779741..21779741 100644 --- a/data/baseStats/weezing.asm +++ b/data/pokemon/base_stats/weezing.asm diff --git a/data/baseStats/wigglytuff.asm b/data/pokemon/base_stats/wigglytuff.asm index 4f7fec95..4f7fec95 100644 --- a/data/baseStats/wigglytuff.asm +++ b/data/pokemon/base_stats/wigglytuff.asm diff --git a/data/baseStats/zapdos.asm b/data/pokemon/base_stats/zapdos.asm index 560f78c4..560f78c4 100644 --- a/data/baseStats/zapdos.asm +++ b/data/pokemon/base_stats/zapdos.asm diff --git a/data/baseStats/zubat.asm b/data/pokemon/base_stats/zubat.asm index 55b7ac4c..55b7ac4c 100644 --- a/data/baseStats/zubat.asm +++ b/data/pokemon/base_stats/zubat.asm diff --git a/data/cries.asm b/data/pokemon/cries.asm index 1fc9960f..1fc9960f 100755 --- a/data/cries.asm +++ b/data/pokemon/cries.asm diff --git a/data/pokedex_entries.asm b/data/pokemon/dex_entries.asm index 495a8e33..495a8e33 100755 --- a/data/pokedex_entries.asm +++ b/data/pokemon/dex_entries.asm diff --git a/data/pokedex_order.asm b/data/pokemon/dex_order.asm index 0e293946..0e293946 100755 --- a/data/pokedex_order.asm +++ b/data/pokemon/dex_order.asm diff --git a/text/pokedex.asm b/data/pokemon/dex_text.asm index 65f3d89d..65f3d89d 100644 --- a/text/pokedex.asm +++ b/data/pokemon/dex_text.asm diff --git a/data/pokemon/evos_moves.asm b/data/pokemon/evos_moves.asm new file mode 100755 index 00000000..51f6b244 --- /dev/null +++ b/data/pokemon/evos_moves.asm @@ -0,0 +1,2134 @@ +; See constants/pokemon_data_constants.asm +; The max number of evolutions per monster is MAX_EVOLUTIONS + +EvosMovesPointerTable: + dw RhydonEvosMoves + dw KangaskhanEvosMoves + dw NidoranMEvosMoves + dw ClefairyEvosMoves + dw SpearowEvosMoves + dw VoltorbEvosMoves + dw NidokingEvosMoves + dw SlowbroEvosMoves + dw IvysaurEvosMoves + dw ExeggutorEvosMoves + dw LickitungEvosMoves + dw ExeggcuteEvosMoves + dw GrimerEvosMoves + dw GengarEvosMoves + dw NidoranFEvosMoves + dw NidoqueenEvosMoves + dw CuboneEvosMoves + dw RhyhornEvosMoves + dw LaprasEvosMoves + dw ArcanineEvosMoves + dw MewEvosMoves + dw GyaradosEvosMoves + dw ShellderEvosMoves + dw TentacoolEvosMoves + dw GastlyEvosMoves + dw ScytherEvosMoves + dw StaryuEvosMoves + dw BlastoiseEvosMoves + dw PinsirEvosMoves + dw TangelaEvosMoves + dw MissingNo1FEvosMoves + dw MissingNo20EvosMoves + dw GrowlitheEvosMoves + dw OnixEvosMoves + dw FearowEvosMoves + dw PidgeyEvosMoves + dw SlowpokeEvosMoves + dw KadabraEvosMoves + dw GravelerEvosMoves + dw ChanseyEvosMoves + dw MachokeEvosMoves + dw MrMimeEvosMoves + dw HitmonleeEvosMoves + dw HitmonchanEvosMoves + dw ArbokEvosMoves + dw ParasectEvosMoves + dw PsyduckEvosMoves + dw DrowzeeEvosMoves + dw GolemEvosMoves + dw MissingNo32EvosMoves + dw MagmarEvosMoves + dw MissingNo34EvosMoves + dw ElectabuzzEvosMoves + dw MagnetonEvosMoves + dw KoffingEvosMoves + dw MissingNo38EvosMoves + dw MankeyEvosMoves + dw SeelEvosMoves + dw DiglettEvosMoves + dw TaurosEvosMoves + dw MissingNo3DEvosMoves + dw MissingNo3EEvosMoves + dw MissingNo3FEvosMoves + dw FarfetchdEvosMoves + dw VenonatEvosMoves + dw DragoniteEvosMoves + dw MissingNo43EvosMoves + dw MissingNo44EvosMoves + dw MissingNo45EvosMoves + dw DoduoEvosMoves + dw PoliwagEvosMoves + dw JynxEvosMoves + dw MoltresEvosMoves + dw ArticunoEvosMoves + dw ZapdosEvosMoves + dw DittoEvosMoves + dw MeowthEvosMoves + dw KrabbyEvosMoves + dw MissingNo4FEvosMoves + dw MissingNo50EvosMoves + dw MissingNo51EvosMoves + dw VulpixEvosMoves + dw NinetalesEvosMoves + dw PikachuEvosMoves + dw RaichuEvosMoves + dw MissingNo56EvosMoves + dw MissingNo57EvosMoves + dw DratiniEvosMoves + dw DragonairEvosMoves + dw KabutoEvosMoves + dw KabutopsEvosMoves + dw HorseaEvosMoves + dw SeadraEvosMoves + dw MissingNo5EEvosMoves + dw MissingNo5FEvosMoves + dw SandshrewEvosMoves + dw SandslashEvosMoves + dw OmanyteEvosMoves + dw OmastarEvosMoves + dw JigglypuffEvosMoves + dw WigglytuffEvosMoves + dw EeveeEvosMoves + dw FlareonEvosMoves + dw JolteonEvosMoves + dw VaporeonEvosMoves + dw MachopEvosMoves + dw ZubatEvosMoves + dw EkansEvosMoves + dw ParasEvosMoves + dw PoliwhirlEvosMoves + dw PoliwrathEvosMoves + dw WeedleEvosMoves + dw KakunaEvosMoves + dw BeedrillEvosMoves + dw MissingNo73EvosMoves + dw DodrioEvosMoves + dw PrimeapeEvosMoves + dw DugtrioEvosMoves + dw VenomothEvosMoves + dw DewgongEvosMoves + dw MissingNo79EvosMoves + dw MissingNo7AEvosMoves + dw CaterpieEvosMoves + dw MetapodEvosMoves + dw ButterfreeEvosMoves + dw MachampEvosMoves + dw MissingNo7FEvosMoves + dw GolduckEvosMoves + dw HypnoEvosMoves + dw GolbatEvosMoves + dw MewtwoEvosMoves + dw SnorlaxEvosMoves + dw MagikarpEvosMoves + dw MissingNo86EvosMoves + dw MissingNo87EvosMoves + dw MukEvosMoves + dw MissingNo8AEvosMoves + dw KinglerEvosMoves + dw CloysterEvosMoves + dw MissingNo8CEvosMoves + dw ElectrodeEvosMoves + dw ClefableEvosMoves + dw WeezingEvosMoves + dw PersianEvosMoves + dw MarowakEvosMoves + dw MissingNo92EvosMoves + dw HaunterEvosMoves + dw AbraEvosMoves + dw AlakazamEvosMoves + dw PidgeottoEvosMoves + dw PidgeotEvosMoves + dw StarmieEvosMoves + dw BulbasaurEvosMoves + dw VenusaurEvosMoves + dw TentacruelEvosMoves + dw MissingNo9CEvosMoves + dw GoldeenEvosMoves + dw SeakingEvosMoves + dw MissingNo9FEvosMoves + dw MissingNoA0EvosMoves + dw MissingNoA1EvosMoves + dw MissingNoA2EvosMoves + dw PonytaEvosMoves + dw RapidashEvosMoves + dw RattataEvosMoves + dw RaticateEvosMoves + dw NidorinoEvosMoves + dw NidorinaEvosMoves + dw GeodudeEvosMoves + dw PorygonEvosMoves + dw AerodactylEvosMoves + dw MissingNoACEvosMoves + dw MagnemiteEvosMoves + dw MissingNoAEEvosMoves + dw MissingNoAFEvosMoves + dw CharmanderEvosMoves + dw SquirtleEvosMoves + dw CharmeleonEvosMoves + dw WartortleEvosMoves + dw CharizardEvosMoves + dw MissingNoB5EvosMoves + dw FossilKabutopsEvosMoves + dw FossilAerodactylEvosMoves + dw MonGhostEvosMoves + dw OddishEvosMoves + dw GloomEvosMoves + dw VileplumeEvosMoves + dw BellsproutEvosMoves + dw WeepinbellEvosMoves + dw VictreebelEvosMoves + +RhydonEvosMoves: +; Evolutions + db 0 +; Learnset + db 30, STOMP + db 35, TAIL_WHIP + db 40, FURY_ATTACK + db 48, HORN_DRILL + db 55, LEER + db 64, TAKE_DOWN + db 0 + +KangaskhanEvosMoves: +; Evolutions + db 0 +; Learnset + db 26, BITE + db 31, TAIL_WHIP + db 36, MEGA_PUNCH + db 41, LEER + db 46, DIZZY_PUNCH + db 0 + +NidoranMEvosMoves: +; Evolutions + db EV_LEVEL, 16, NIDORINO + db 0 +; Learnset + db 8, HORN_ATTACK + db 14, POISON_STING + db 21, FOCUS_ENERGY + db 29, FURY_ATTACK + db 36, HORN_DRILL + db 43, DOUBLE_KICK + db 0 + +ClefairyEvosMoves: +; Evolutions + db EV_ITEM, MOON_STONE, 1, CLEFABLE + db 0 +; Learnset + db 13, SING + db 18, DOUBLESLAP + db 24, MINIMIZE + db 31, METRONOME + db 39, DEFENSE_CURL + db 48, LIGHT_SCREEN + db 0 + +SpearowEvosMoves: +; Evolutions + db EV_LEVEL, 20, FEAROW + db 0 +; Learnset + db 9, LEER + db 15, FURY_ATTACK + db 22, MIRROR_MOVE + db 29, DRILL_PECK + db 36, AGILITY + db 0 + +VoltorbEvosMoves: +; Evolutions + db EV_LEVEL, 30, ELECTRODE + db 0 +; Learnset + db 17, SONICBOOM + db 22, SELFDESTRUCT + db 29, LIGHT_SCREEN + db 36, SWIFT + db 43, EXPLOSION + db 0 + +NidokingEvosMoves: +; Evolutions + db 0 +; Learnset + db 8, HORN_ATTACK + db 14, POISON_STING + db 23, THRASH + db 0 + +SlowbroEvosMoves: +; Evolutions + db 0 +; Learnset + db 18, DISABLE + db 22, HEADBUTT + db 27, GROWL + db 33, WATER_GUN + db 37, WITHDRAW + db 44, AMNESIA + db 55, PSYCHIC_M + db 0 + +IvysaurEvosMoves: +; Evolutions + db EV_LEVEL, 32, VENUSAUR + db 0 +; Learnset + db 7, LEECH_SEED + db 13, VINE_WHIP + db 22, POISONPOWDER + db 30, RAZOR_LEAF + db 38, GROWTH + db 46, SLEEP_POWDER + db 54, SOLARBEAM + db 0 + +ExeggutorEvosMoves: +; Evolutions + db 0 +; Learnset + db 28, STOMP + db 0 + +LickitungEvosMoves: +; Evolutions + db 0 +; Learnset + db 7, STOMP + db 15, DISABLE + db 23, DEFENSE_CURL + db 31, SLAM + db 39, SCREECH + db 0 + +ExeggcuteEvosMoves: +; Evolutions + db EV_ITEM, LEAF_STONE, 1, EXEGGUTOR + db 0 +; Learnset + db 25, REFLECT + db 28, LEECH_SEED + db 32, STUN_SPORE + db 37, POISONPOWDER + db 42, SOLARBEAM + db 48, SLEEP_POWDER + db 0 + +GrimerEvosMoves: +; Evolutions + db EV_LEVEL, 38, MUK + db 0 +; Learnset + db 30, POISON_GAS + db 33, MINIMIZE + db 37, SLUDGE + db 42, HARDEN + db 48, SCREECH + db 55, ACID_ARMOR + db 0 + +GengarEvosMoves: +; Evolutions + db 0 +; Learnset + db 29, HYPNOSIS + db 38, DREAM_EATER + db 0 + +NidoranFEvosMoves: +; Evolutions + db EV_LEVEL, 16, NIDORINA + db 0 +; Learnset + db 8, SCRATCH + db 14, POISON_STING + db 21, TAIL_WHIP + db 29, BITE + db 36, FURY_SWIPES + db 43, DOUBLE_KICK + db 0 + +NidoqueenEvosMoves: +; Evolutions + db 0 +; Learnset + db 8, SCRATCH + db 14, POISON_STING + db 23, BODY_SLAM + db 0 + +CuboneEvosMoves: +; Evolutions + db EV_LEVEL, 28, MAROWAK + db 0 +; Learnset + db 25, LEER + db 31, FOCUS_ENERGY + db 38, THRASH + db 43, BONEMERANG + db 46, RAGE + db 0 + +RhyhornEvosMoves: +; Evolutions + db EV_LEVEL, 42, RHYDON + db 0 +; Learnset + db 30, STOMP + db 35, TAIL_WHIP + db 40, FURY_ATTACK + db 45, HORN_DRILL + db 50, LEER + db 55, TAKE_DOWN + db 0 + +LaprasEvosMoves: +; Evolutions + db 0 +; Learnset + db 16, SING + db 20, MIST + db 25, BODY_SLAM + db 31, CONFUSE_RAY + db 38, ICE_BEAM + db 46, HYDRO_PUMP + db 0 + +ArcanineEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MewEvosMoves: +; Evolutions + db 0 +; Learnset + db 10, TRANSFORM + db 20, MEGA_PUNCH + db 30, METRONOME + db 40, PSYCHIC_M + db 0 + +GyaradosEvosMoves: +; Evolutions + db 0 +; Learnset + db 20, BITE + db 25, DRAGON_RAGE + db 32, LEER + db 41, HYDRO_PUMP + db 52, HYPER_BEAM + db 0 + +ShellderEvosMoves: +; Evolutions + db EV_ITEM, WATER_STONE, 1, CLOYSTER + db 0 +; Learnset + db 18, SUPERSONIC + db 23, CLAMP + db 30, AURORA_BEAM + db 39, LEER + db 50, ICE_BEAM + db 0 + +TentacoolEvosMoves: +; Evolutions + db EV_LEVEL, 30, TENTACRUEL + db 0 +; Learnset + db 7, SUPERSONIC + db 13, WRAP + db 18, POISON_STING + db 22, WATER_GUN + db 27, CONSTRICT + db 33, BARRIER + db 40, SCREECH + db 48, HYDRO_PUMP + db 0 + +GastlyEvosMoves: +; Evolutions + db EV_LEVEL, 25, HAUNTER + db 0 +; Learnset + db 27, HYPNOSIS + db 35, DREAM_EATER + db 0 + +ScytherEvosMoves: +; Evolutions + db 0 +; Learnset + db 17, LEER + db 20, FOCUS_ENERGY + db 24, DOUBLE_TEAM + db 29, SLASH + db 35, SWORDS_DANCE + db 42, AGILITY + db 0 + +StaryuEvosMoves: +; Evolutions + db EV_ITEM, WATER_STONE, 1, STARMIE + db 0 +; Learnset + db 17, WATER_GUN + db 22, HARDEN + db 27, RECOVER + db 32, SWIFT + db 37, MINIMIZE + db 42, LIGHT_SCREEN + db 47, HYDRO_PUMP + db 0 + +BlastoiseEvosMoves: +; Evolutions + db 0 +; Learnset + db 8, BUBBLE + db 15, WATER_GUN + db 24, BITE + db 31, WITHDRAW + db 42, SKULL_BASH + db 52, HYDRO_PUMP + db 0 + +PinsirEvosMoves: +; Evolutions + db 0 +; Learnset + db 25, SEISMIC_TOSS + db 30, GUILLOTINE + db 36, FOCUS_ENERGY + db 43, HARDEN + db 49, SLASH + db 54, SWORDS_DANCE + db 0 + +TangelaEvosMoves: +; Evolutions + db 0 +; Learnset + db 29, ABSORB + db 32, POISONPOWDER + db 36, STUN_SPORE + db 39, SLEEP_POWDER + db 45, SLAM + db 49, GROWTH + db 0 + +MissingNo1FEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo20EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +GrowlitheEvosMoves: +; Evolutions + db EV_ITEM, FIRE_STONE, 1, ARCANINE + db 0 +; Learnset + db 18, EMBER + db 23, LEER + db 30, TAKE_DOWN + db 39, AGILITY + db 50, FLAMETHROWER + db 0 + +OnixEvosMoves: +; Evolutions + db 0 +; Learnset + db 15, BIND + db 19, ROCK_THROW + db 25, RAGE + db 33, SLAM + db 43, HARDEN + db 0 + +FearowEvosMoves: +; Evolutions + db 0 +; Learnset + db 9, LEER + db 15, FURY_ATTACK + db 25, MIRROR_MOVE + db 34, DRILL_PECK + db 43, AGILITY + db 0 + +PidgeyEvosMoves: +; Evolutions + db EV_LEVEL, 18, PIDGEOTTO + db 0 +; Learnset + db 5, SAND_ATTACK + db 12, QUICK_ATTACK + db 19, WHIRLWIND + db 28, WING_ATTACK + db 36, AGILITY + db 44, MIRROR_MOVE + db 0 + +SlowpokeEvosMoves: +; Evolutions + db EV_LEVEL, 37, SLOWBRO + db 0 +; Learnset + db 18, DISABLE + db 22, HEADBUTT + db 27, GROWL + db 33, WATER_GUN + db 40, AMNESIA + db 48, PSYCHIC_M + db 0 + +KadabraEvosMoves: +; Evolutions + db EV_TRADE, 1, ALAKAZAM + db 0 +; Learnset + db 16, CONFUSION + db 20, DISABLE + db 27, PSYBEAM + db 31, RECOVER + db 38, PSYCHIC_M + db 42, REFLECT + db 0 + +GravelerEvosMoves: +; Evolutions + db EV_TRADE, 1, GOLEM + db 0 +; Learnset + db 11, DEFENSE_CURL + db 16, ROCK_THROW + db 21, SELFDESTRUCT + db 29, HARDEN + db 36, EARTHQUAKE + db 43, EXPLOSION + db 0 + +ChanseyEvosMoves: +; Evolutions + db 0 +; Learnset + db 24, SING + db 30, GROWL + db 38, MINIMIZE + db 44, DEFENSE_CURL + db 48, LIGHT_SCREEN + db 54, DOUBLE_EDGE + db 0 + +MachokeEvosMoves: +; Evolutions + db EV_TRADE, 1, MACHAMP + db 0 +; Learnset + db 20, LOW_KICK + db 25, LEER + db 36, FOCUS_ENERGY + db 44, SEISMIC_TOSS + db 52, SUBMISSION + db 0 + +MrMimeEvosMoves: +; Evolutions + db 0 +; Learnset + db 15, CONFUSION + db 23, LIGHT_SCREEN + db 31, DOUBLESLAP + db 39, MEDITATE + db 47, SUBSTITUTE + db 0 + +HitmonleeEvosMoves: +; Evolutions + db 0 +; Learnset + db 33, ROLLING_KICK + db 38, JUMP_KICK + db 43, FOCUS_ENERGY + db 48, HI_JUMP_KICK + db 53, MEGA_KICK + db 0 + +HitmonchanEvosMoves: +; Evolutions + db 0 +; Learnset + db 33, FIRE_PUNCH + db 38, ICE_PUNCH + db 43, THUNDERPUNCH + db 48, MEGA_PUNCH + db 53, COUNTER + db 0 + +ArbokEvosMoves: +; Evolutions + db 0 +; Learnset + db 10, POISON_STING + db 17, BITE + db 27, GLARE + db 36, SCREECH + db 47, ACID + db 0 + +ParasectEvosMoves: +; Evolutions + db 0 +; Learnset + db 13, STUN_SPORE + db 20, LEECH_LIFE + db 30, SPORE + db 39, SLASH + db 48, GROWTH + db 0 + +PsyduckEvosMoves: +; Evolutions + db EV_LEVEL, 33, GOLDUCK + db 0 +; Learnset + db 28, TAIL_WHIP + db 31, DISABLE + db 36, CONFUSION + db 43, FURY_SWIPES + db 52, HYDRO_PUMP + db 0 + +DrowzeeEvosMoves: +; Evolutions + db EV_LEVEL, 26, HYPNO + db 0 +; Learnset + db 12, DISABLE + db 17, CONFUSION + db 24, HEADBUTT + db 29, POISON_GAS + db 32, PSYCHIC_M + db 37, MEDITATE + db 0 + +GolemEvosMoves: +; Evolutions + db 0 +; Learnset + db 11, DEFENSE_CURL + db 16, ROCK_THROW + db 21, SELFDESTRUCT + db 29, HARDEN + db 36, EARTHQUAKE + db 43, EXPLOSION + db 0 + +MissingNo32EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MagmarEvosMoves: +; Evolutions + db 0 +; Learnset + db 36, LEER + db 39, CONFUSE_RAY + db 43, FIRE_PUNCH + db 48, SMOKESCREEN + db 52, SMOG + db 55, FLAMETHROWER + db 0 + +MissingNo34EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +ElectabuzzEvosMoves: +; Evolutions + db 0 +; Learnset + db 34, THUNDERSHOCK + db 37, SCREECH + db 42, THUNDERPUNCH + db 49, LIGHT_SCREEN + db 54, THUNDER + db 0 + +MagnetonEvosMoves: +; Evolutions + db 0 +; Learnset + db 21, SONICBOOM + db 25, THUNDERSHOCK + db 29, SUPERSONIC + db 38, THUNDER_WAVE + db 46, SWIFT + db 54, SCREECH + db 0 + +KoffingEvosMoves: +; Evolutions + db EV_LEVEL, 35, WEEZING + db 0 +; Learnset + db 32, SLUDGE + db 37, SMOKESCREEN + db 40, SELFDESTRUCT + db 45, HAZE + db 48, EXPLOSION + db 0 + +MissingNo38EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MankeyEvosMoves: +; Evolutions + db EV_LEVEL, 28, PRIMEAPE + db 0 +; Learnset + db 15, KARATE_CHOP + db 21, FURY_SWIPES + db 27, FOCUS_ENERGY + db 33, SEISMIC_TOSS + db 39, THRASH + db 0 + +SeelEvosMoves: +; Evolutions + db EV_LEVEL, 34, DEWGONG + db 0 +; Learnset + db 30, GROWL + db 35, AURORA_BEAM + db 40, REST + db 45, TAKE_DOWN + db 50, ICE_BEAM + db 0 + +DiglettEvosMoves: +; Evolutions + db EV_LEVEL, 26, DUGTRIO + db 0 +; Learnset + db 15, GROWL + db 19, DIG + db 24, SAND_ATTACK + db 31, SLASH + db 40, EARTHQUAKE + db 0 + +TaurosEvosMoves: +; Evolutions + db 0 +; Learnset + db 21, STOMP + db 28, TAIL_WHIP + db 35, LEER + db 44, RAGE + db 51, TAKE_DOWN + db 0 + +MissingNo3DEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo3EEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo3FEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +FarfetchdEvosMoves: +; Evolutions + db 0 +; Learnset + db 7, LEER + db 15, FURY_ATTACK + db 23, SWORDS_DANCE + db 31, AGILITY + db 39, SLASH + db 0 + +VenonatEvosMoves: +; Evolutions + db EV_LEVEL, 31, VENOMOTH + db 0 +; Learnset + db 24, POISONPOWDER + db 27, LEECH_LIFE + db 30, STUN_SPORE + db 35, PSYBEAM + db 38, SLEEP_POWDER + db 43, PSYCHIC_M + db 0 + +DragoniteEvosMoves: +; Evolutions + db 0 +; Learnset + db 10, THUNDER_WAVE + db 20, AGILITY + db 35, SLAM + db 45, DRAGON_RAGE + db 60, HYPER_BEAM + db 0 + +MissingNo43EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo44EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo45EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +DoduoEvosMoves: +; Evolutions + db EV_LEVEL, 31, DODRIO + db 0 +; Learnset + db 20, GROWL + db 24, FURY_ATTACK + db 30, DRILL_PECK + db 36, RAGE + db 40, TRI_ATTACK + db 44, AGILITY + db 0 + +PoliwagEvosMoves: +; Evolutions + db EV_LEVEL, 25, POLIWHIRL + db 0 +; Learnset + db 16, HYPNOSIS + db 19, WATER_GUN + db 25, DOUBLESLAP + db 31, BODY_SLAM + db 38, AMNESIA + db 45, HYDRO_PUMP + db 0 + +JynxEvosMoves: +; Evolutions + db 0 +; Learnset + db 18, LICK + db 23, DOUBLESLAP + db 31, ICE_PUNCH + db 39, BODY_SLAM + db 47, THRASH + db 58, BLIZZARD + db 0 + +MoltresEvosMoves: +; Evolutions + db 0 +; Learnset + db 51, LEER + db 55, AGILITY + db 60, SKY_ATTACK + db 0 + +ArticunoEvosMoves: +; Evolutions + db 0 +; Learnset + db 51, BLIZZARD + db 55, AGILITY + db 60, MIST + db 0 + +ZapdosEvosMoves: +; Evolutions + db 0 +; Learnset + db 51, THUNDER + db 55, AGILITY + db 60, LIGHT_SCREEN + db 0 + +DittoEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MeowthEvosMoves: +; Evolutions + db EV_LEVEL, 28, PERSIAN + db 0 +; Learnset + db 12, BITE + db 17, PAY_DAY + db 24, SCREECH + db 33, FURY_SWIPES + db 44, SLASH + db 0 + +KrabbyEvosMoves: +; Evolutions + db EV_LEVEL, 28, KINGLER + db 0 +; Learnset + db 20, VICEGRIP + db 25, GUILLOTINE + db 30, STOMP + db 35, CRABHAMMER + db 40, HARDEN + db 0 + +MissingNo4FEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo50EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo51EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +VulpixEvosMoves: +; Evolutions + db EV_ITEM, FIRE_STONE, 1, NINETALES + db 0 +; Learnset + db 16, QUICK_ATTACK + db 21, ROAR + db 28, CONFUSE_RAY + db 35, FLAMETHROWER + db 42, FIRE_SPIN + db 0 + +NinetalesEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +PikachuEvosMoves: +; Evolutions + db EV_ITEM, THUNDER_STONE, 1, RAICHU + db 0 +; Learnset + db 9, THUNDER_WAVE + db 16, QUICK_ATTACK + db 26, SWIFT + db 33, AGILITY + db 43, THUNDER + db 0 + +RaichuEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo56EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo57EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +DratiniEvosMoves: +; Evolutions + db EV_LEVEL, 30, DRAGONAIR + db 0 +; Learnset + db 10, THUNDER_WAVE + db 20, AGILITY + db 30, SLAM + db 40, DRAGON_RAGE + db 50, HYPER_BEAM + db 0 + +DragonairEvosMoves: +; Evolutions + db EV_LEVEL, 55, DRAGONITE + db 0 +; Learnset + db 10, THUNDER_WAVE + db 20, AGILITY + db 35, SLAM + db 45, DRAGON_RAGE + db 55, HYPER_BEAM + db 0 + +KabutoEvosMoves: +; Evolutions + db EV_LEVEL, 40, KABUTOPS + db 0 +; Learnset + db 34, ABSORB + db 39, SLASH + db 44, LEER + db 49, HYDRO_PUMP + db 0 + +KabutopsEvosMoves: +; Evolutions + db 0 +; Learnset + db 34, ABSORB + db 39, SLASH + db 46, LEER + db 53, HYDRO_PUMP + db 0 + +HorseaEvosMoves: +; Evolutions + db EV_LEVEL, 32, SEADRA + db 0 +; Learnset + db 19, SMOKESCREEN + db 24, LEER + db 30, WATER_GUN + db 37, AGILITY + db 45, HYDRO_PUMP + db 0 + +SeadraEvosMoves: +; Evolutions + db 0 +; Learnset + db 19, SMOKESCREEN + db 24, LEER + db 30, WATER_GUN + db 41, AGILITY + db 52, HYDRO_PUMP + db 0 + +MissingNo5EEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo5FEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +SandshrewEvosMoves: +; Evolutions + db EV_LEVEL, 22, SANDSLASH + db 0 +; Learnset + db 10, SAND_ATTACK + db 17, SLASH + db 24, POISON_STING + db 31, SWIFT + db 38, FURY_SWIPES + db 0 + +SandslashEvosMoves: +; Evolutions + db 0 +; Learnset + db 10, SAND_ATTACK + db 17, SLASH + db 27, POISON_STING + db 36, SWIFT + db 47, FURY_SWIPES + db 0 + +OmanyteEvosMoves: +; Evolutions + db EV_LEVEL, 40, OMASTAR + db 0 +; Learnset + db 34, HORN_ATTACK + db 39, LEER + db 46, SPIKE_CANNON + db 53, HYDRO_PUMP + db 0 + +OmastarEvosMoves: +; Evolutions + db 0 +; Learnset + db 34, HORN_ATTACK + db 39, LEER + db 44, SPIKE_CANNON + db 49, HYDRO_PUMP + db 0 + +JigglypuffEvosMoves: +; Evolutions + db EV_ITEM, MOON_STONE, 1, WIGGLYTUFF + db 0 +; Learnset + db 9, POUND + db 14, DISABLE + db 19, DEFENSE_CURL + db 24, DOUBLESLAP + db 29, REST + db 34, BODY_SLAM + db 39, DOUBLE_EDGE + db 0 + +WigglytuffEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +EeveeEvosMoves: +; Evolutions + db EV_ITEM, FIRE_STONE, 1, FLAREON + db EV_ITEM, THUNDER_STONE, 1, JOLTEON + db EV_ITEM, WATER_STONE, 1, VAPOREON + db 0 +; Learnset + db 27, QUICK_ATTACK + db 31, TAIL_WHIP + db 37, BITE + db 45, TAKE_DOWN + db 0 + +FlareonEvosMoves: +; Evolutions + db 0 +; Learnset + db 27, QUICK_ATTACK + db 31, EMBER + db 37, TAIL_WHIP + db 40, BITE + db 42, LEER + db 44, FIRE_SPIN + db 48, RAGE + db 54, FLAMETHROWER + db 0 + +JolteonEvosMoves: +; Evolutions + db 0 +; Learnset + db 27, QUICK_ATTACK + db 31, THUNDERSHOCK + db 37, TAIL_WHIP + db 40, THUNDER_WAVE + db 42, DOUBLE_KICK + db 44, AGILITY + db 48, PIN_MISSILE + db 54, THUNDER + db 0 + +VaporeonEvosMoves: +; Evolutions + db 0 +; Learnset + db 27, QUICK_ATTACK + db 31, WATER_GUN + db 37, TAIL_WHIP + db 40, BITE + db 42, ACID_ARMOR + db 44, HAZE + db 48, MIST + db 54, HYDRO_PUMP + db 0 + +MachopEvosMoves: +; Evolutions + db EV_LEVEL, 28, MACHOKE + db 0 +; Learnset + db 20, LOW_KICK + db 25, LEER + db 32, FOCUS_ENERGY + db 39, SEISMIC_TOSS + db 46, SUBMISSION + db 0 + +ZubatEvosMoves: +; Evolutions + db EV_LEVEL, 22, GOLBAT + db 0 +; Learnset + db 10, SUPERSONIC + db 15, BITE + db 21, CONFUSE_RAY + db 28, WING_ATTACK + db 36, HAZE + db 0 + +EkansEvosMoves: +; Evolutions + db EV_LEVEL, 22, ARBOK + db 0 +; Learnset + db 10, POISON_STING + db 17, BITE + db 24, GLARE + db 31, SCREECH + db 38, ACID + db 0 + +ParasEvosMoves: +; Evolutions + db EV_LEVEL, 24, PARASECT + db 0 +; Learnset + db 13, STUN_SPORE + db 20, LEECH_LIFE + db 27, SPORE + db 34, SLASH + db 41, GROWTH + db 0 + +PoliwhirlEvosMoves: +; Evolutions + db EV_ITEM, WATER_STONE, 1, POLIWRATH + db 0 +; Learnset + db 16, HYPNOSIS + db 19, WATER_GUN + db 26, DOUBLESLAP + db 33, BODY_SLAM + db 41, AMNESIA + db 49, HYDRO_PUMP + db 0 + +PoliwrathEvosMoves: +; Evolutions + db 0 +; Learnset + db 16, HYPNOSIS + db 19, WATER_GUN + db 0 + +WeedleEvosMoves: +; Evolutions + db EV_LEVEL, 7, KAKUNA + db 0 +; Learnset + db 0 + +KakunaEvosMoves: +; Evolutions + db EV_LEVEL, 10, BEEDRILL + db 0 +; Learnset + db 0 + +BeedrillEvosMoves: +; Evolutions + db 0 +; Learnset + db 12, FURY_ATTACK + db 16, FOCUS_ENERGY + db 20, TWINEEDLE + db 25, RAGE + db 30, PIN_MISSILE + db 35, AGILITY + db 0 + +MissingNo73EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +DodrioEvosMoves: +; Evolutions + db 0 +; Learnset + db 20, GROWL + db 24, FURY_ATTACK + db 30, DRILL_PECK + db 39, RAGE + db 45, TRI_ATTACK + db 51, AGILITY + db 0 + +PrimeapeEvosMoves: +; Evolutions + db 0 +; Learnset + db 15, KARATE_CHOP + db 21, FURY_SWIPES + db 27, FOCUS_ENERGY + db 37, SEISMIC_TOSS + db 46, THRASH + db 0 + +DugtrioEvosMoves: +; Evolutions + db 0 +; Learnset + db 15, GROWL + db 19, DIG + db 24, SAND_ATTACK + db 35, SLASH + db 47, EARTHQUAKE + db 0 + +VenomothEvosMoves: +; Evolutions + db 0 +; Learnset + db 24, POISONPOWDER + db 27, LEECH_LIFE + db 30, STUN_SPORE + db 38, PSYBEAM + db 43, SLEEP_POWDER + db 50, PSYCHIC_M + db 0 + +DewgongEvosMoves: +; Evolutions + db 0 +; Learnset + db 30, GROWL + db 35, AURORA_BEAM + db 44, REST + db 50, TAKE_DOWN + db 56, ICE_BEAM + db 0 + +MissingNo79EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo7AEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +CaterpieEvosMoves: +; Evolutions + db EV_LEVEL, 7, METAPOD + db 0 +; Learnset + db 0 + +MetapodEvosMoves: +; Evolutions + db EV_LEVEL, 10, BUTTERFREE + db 0 +; Learnset + db 0 + +ButterfreeEvosMoves: +; Evolutions + db 0 +; Learnset + db 12, CONFUSION + db 15, POISONPOWDER + db 16, STUN_SPORE + db 17, SLEEP_POWDER + db 21, SUPERSONIC + db 26, WHIRLWIND + db 32, PSYBEAM + db 0 + +MachampEvosMoves: +; Evolutions + db 0 +; Learnset + db 20, LOW_KICK + db 25, LEER + db 36, FOCUS_ENERGY + db 44, SEISMIC_TOSS + db 52, SUBMISSION + db 0 + +MissingNo7FEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +GolduckEvosMoves: +; Evolutions + db 0 +; Learnset + db 28, TAIL_WHIP + db 31, DISABLE + db 39, CONFUSION + db 48, FURY_SWIPES + db 59, HYDRO_PUMP + db 0 + +HypnoEvosMoves: +; Evolutions + db 0 +; Learnset + db 12, DISABLE + db 17, CONFUSION + db 24, HEADBUTT + db 33, POISON_GAS + db 37, PSYCHIC_M + db 43, MEDITATE + db 0 + +GolbatEvosMoves: +; Evolutions + db 0 +; Learnset + db 10, SUPERSONIC + db 15, BITE + db 21, CONFUSE_RAY + db 32, WING_ATTACK + db 43, HAZE + db 0 + +MewtwoEvosMoves: +; Evolutions + db 0 +; Learnset + db 63, BARRIER + db 66, PSYCHIC_M + db 70, RECOVER + db 75, MIST + db 81, AMNESIA + db 0 + +SnorlaxEvosMoves: +; Evolutions + db 0 +; Learnset + db 35, BODY_SLAM + db 41, HARDEN + db 48, DOUBLE_EDGE + db 56, HYPER_BEAM + db 0 + +MagikarpEvosMoves: +; Evolutions + db EV_LEVEL, 20, GYARADOS + db 0 +; Learnset + db 15, TACKLE + db 0 + +MissingNo86EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNo87EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MukEvosMoves: +; Evolutions + db 0 +; Learnset + db 30, POISON_GAS + db 33, MINIMIZE + db 37, SLUDGE + db 45, HARDEN + db 53, SCREECH + db 60, ACID_ARMOR + db 0 + +MissingNo8AEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +KinglerEvosMoves: +; Evolutions + db 0 +; Learnset + db 20, VICEGRIP + db 25, GUILLOTINE + db 34, STOMP + db 42, CRABHAMMER + db 49, HARDEN + db 0 + +CloysterEvosMoves: +; Evolutions + db 0 +; Learnset + db 50, SPIKE_CANNON + db 0 + +MissingNo8CEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +ElectrodeEvosMoves: +; Evolutions + db 0 +; Learnset + db 17, SONICBOOM + db 22, SELFDESTRUCT + db 29, LIGHT_SCREEN + db 40, SWIFT + db 50, EXPLOSION + db 0 + +ClefableEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +WeezingEvosMoves: +; Evolutions + db 0 +; Learnset + db 32, SLUDGE + db 39, SMOKESCREEN + db 43, SELFDESTRUCT + db 49, HAZE + db 53, EXPLOSION + db 0 + +PersianEvosMoves: +; Evolutions + db 0 +; Learnset + db 12, BITE + db 17, PAY_DAY + db 24, SCREECH + db 37, FURY_SWIPES + db 51, SLASH + db 0 + +MarowakEvosMoves: +; Evolutions + db 0 +; Learnset + db 25, LEER + db 33, FOCUS_ENERGY + db 41, THRASH + db 48, BONEMERANG + db 55, RAGE + db 0 + +MissingNo92EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +HaunterEvosMoves: +; Evolutions + db EV_TRADE, 1, GENGAR + db 0 +; Learnset + db 29, HYPNOSIS + db 38, DREAM_EATER + db 0 + +AbraEvosMoves: +; Evolutions + db EV_LEVEL, 16, KADABRA + db 0 +; Learnset + db 0 + +AlakazamEvosMoves: +; Evolutions + db 0 +; Learnset + db 16, CONFUSION + db 20, DISABLE + db 27, PSYBEAM + db 31, RECOVER + db 38, PSYCHIC_M + db 42, REFLECT + db 0 + +PidgeottoEvosMoves: +; Evolutions + db EV_LEVEL, 36, PIDGEOT + db 0 +; Learnset + db 5, SAND_ATTACK + db 12, QUICK_ATTACK + db 21, WHIRLWIND + db 31, WING_ATTACK + db 40, AGILITY + db 49, MIRROR_MOVE + db 0 + +PidgeotEvosMoves: +; Evolutions + db 0 +; Learnset + db 5, SAND_ATTACK + db 12, QUICK_ATTACK + db 21, WHIRLWIND + db 31, WING_ATTACK + db 44, AGILITY + db 54, MIRROR_MOVE + db 0 + +StarmieEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +BulbasaurEvosMoves: +; Evolutions + db EV_LEVEL, 16, IVYSAUR + db 0 +; Learnset + db 7, LEECH_SEED + db 13, VINE_WHIP + db 20, POISONPOWDER + db 27, RAZOR_LEAF + db 34, GROWTH + db 41, SLEEP_POWDER + db 48, SOLARBEAM + db 0 + +VenusaurEvosMoves: +; Evolutions + db 0 +; Learnset + db 7, LEECH_SEED + db 13, VINE_WHIP + db 22, POISONPOWDER + db 30, RAZOR_LEAF + db 43, GROWTH + db 55, SLEEP_POWDER + db 65, SOLARBEAM + db 0 + +TentacruelEvosMoves: +; Evolutions + db 0 +; Learnset + db 7, SUPERSONIC + db 13, WRAP + db 18, POISON_STING + db 22, WATER_GUN + db 27, CONSTRICT + db 35, BARRIER + db 43, SCREECH + db 50, HYDRO_PUMP + db 0 + +MissingNo9CEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +GoldeenEvosMoves: +; Evolutions + db EV_LEVEL, 33, SEAKING + db 0 +; Learnset + db 19, SUPERSONIC + db 24, HORN_ATTACK + db 30, FURY_ATTACK + db 37, WATERFALL + db 45, HORN_DRILL + db 54, AGILITY + db 0 + +SeakingEvosMoves: +; Evolutions + db 0 +; Learnset + db 19, SUPERSONIC + db 24, HORN_ATTACK + db 30, FURY_ATTACK + db 39, WATERFALL + db 48, HORN_DRILL + db 54, AGILITY + db 0 + +MissingNo9FEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNoA0EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNoA1EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNoA2EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +PonytaEvosMoves: +; Evolutions + db EV_LEVEL, 40, RAPIDASH + db 0 +; Learnset + db 30, TAIL_WHIP + db 32, STOMP + db 35, GROWL + db 39, FIRE_SPIN + db 43, TAKE_DOWN + db 48, AGILITY + db 0 + +RapidashEvosMoves: +; Evolutions + db 0 +; Learnset + db 30, TAIL_WHIP + db 32, STOMP + db 35, GROWL + db 39, FIRE_SPIN + db 47, TAKE_DOWN + db 55, AGILITY + db 0 + +RattataEvosMoves: +; Evolutions + db EV_LEVEL, 20, RATICATE + db 0 +; Learnset + db 7, QUICK_ATTACK + db 14, HYPER_FANG + db 23, FOCUS_ENERGY + db 34, SUPER_FANG + db 0 + +RaticateEvosMoves: +; Evolutions + db 0 +; Learnset + db 7, QUICK_ATTACK + db 14, HYPER_FANG + db 27, FOCUS_ENERGY + db 41, SUPER_FANG + db 0 + +NidorinoEvosMoves: +; Evolutions + db EV_ITEM, MOON_STONE, 1, NIDOKING + db 0 +; Learnset + db 8, HORN_ATTACK + db 14, POISON_STING + db 23, FOCUS_ENERGY + db 32, FURY_ATTACK + db 41, HORN_DRILL + db 50, DOUBLE_KICK + db 0 + +NidorinaEvosMoves: +; Evolutions + db EV_ITEM, MOON_STONE, 1, NIDOQUEEN + db 0 +; Learnset + db 8, SCRATCH + db 14, POISON_STING + db 23, TAIL_WHIP + db 32, BITE + db 41, FURY_SWIPES + db 50, DOUBLE_KICK + db 0 + +GeodudeEvosMoves: +; Evolutions + db EV_LEVEL, 25, GRAVELER + db 0 +; Learnset + db 11, DEFENSE_CURL + db 16, ROCK_THROW + db 21, SELFDESTRUCT + db 26, HARDEN + db 31, EARTHQUAKE + db 36, EXPLOSION + db 0 + +PorygonEvosMoves: +; Evolutions + db 0 +; Learnset + db 23, PSYBEAM + db 28, RECOVER + db 35, AGILITY + db 42, TRI_ATTACK + db 0 + +AerodactylEvosMoves: +; Evolutions + db 0 +; Learnset + db 33, SUPERSONIC + db 38, BITE + db 45, TAKE_DOWN + db 54, HYPER_BEAM + db 0 + +MissingNoACEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MagnemiteEvosMoves: +; Evolutions + db EV_LEVEL, 30, MAGNETON + db 0 +; Learnset + db 21, SONICBOOM + db 25, THUNDERSHOCK + db 29, SUPERSONIC + db 35, THUNDER_WAVE + db 41, SWIFT + db 47, SCREECH + db 0 + +MissingNoAEEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MissingNoAFEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +CharmanderEvosMoves: +; Evolutions + db EV_LEVEL, 16, CHARMELEON + db 0 +; Learnset + db 9, EMBER + db 15, LEER + db 22, RAGE + db 30, SLASH + db 38, FLAMETHROWER + db 46, FIRE_SPIN + db 0 + +SquirtleEvosMoves: +; Evolutions + db EV_LEVEL, 16, WARTORTLE + db 0 +; Learnset + db 8, BUBBLE + db 15, WATER_GUN + db 22, BITE + db 28, WITHDRAW + db 35, SKULL_BASH + db 42, HYDRO_PUMP + db 0 + +CharmeleonEvosMoves: +; Evolutions + db EV_LEVEL, 36, CHARIZARD + db 0 +; Learnset + db 9, EMBER + db 15, LEER + db 24, RAGE + db 33, SLASH + db 42, FLAMETHROWER + db 56, FIRE_SPIN + db 0 + +WartortleEvosMoves: +; Evolutions + db EV_LEVEL, 36, BLASTOISE + db 0 +; Learnset + db 8, BUBBLE + db 15, WATER_GUN + db 24, BITE + db 31, WITHDRAW + db 39, SKULL_BASH + db 47, HYDRO_PUMP + db 0 + +CharizardEvosMoves: +; Evolutions + db 0 +; Learnset + db 9, EMBER + db 15, LEER + db 24, RAGE + db 36, SLASH + db 46, FLAMETHROWER + db 55, FIRE_SPIN + db 0 + +MissingNoB5EvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +FossilKabutopsEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +FossilAerodactylEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +MonGhostEvosMoves: +; Evolutions + db 0 +; Learnset + db 0 + +OddishEvosMoves: +; Evolutions + db EV_LEVEL, 21, GLOOM + db 0 +; Learnset + db 15, POISONPOWDER + db 17, STUN_SPORE + db 19, SLEEP_POWDER + db 24, ACID + db 33, PETAL_DANCE + db 46, SOLARBEAM + db 0 + +GloomEvosMoves: +; Evolutions + db EV_ITEM, LEAF_STONE, 1, VILEPLUME + db 0 +; Learnset + db 15, POISONPOWDER + db 17, STUN_SPORE + db 19, SLEEP_POWDER + db 28, ACID + db 38, PETAL_DANCE + db 52, SOLARBEAM + db 0 + +VileplumeEvosMoves: +; Evolutions + db 0 +; Learnset + db 15, POISONPOWDER + db 17, STUN_SPORE + db 19, SLEEP_POWDER + db 0 + +BellsproutEvosMoves: +; Evolutions + db EV_LEVEL, 21, WEEPINBELL + db 0 +; Learnset + db 13, WRAP + db 15, POISONPOWDER + db 18, SLEEP_POWDER + db 21, STUN_SPORE + db 26, ACID + db 33, RAZOR_LEAF + db 42, SLAM + db 0 + +WeepinbellEvosMoves: +; Evolutions + db EV_ITEM, LEAF_STONE, 1, VICTREEBEL + db 0 +; Learnset + db 13, WRAP + db 15, POISONPOWDER + db 18, SLEEP_POWDER + db 23, STUN_SPORE + db 29, ACID + db 38, RAZOR_LEAF + db 49, SLAM + db 0 + +VictreebelEvosMoves: +; Evolutions + db 0 +; Learnset + db 13, WRAP + db 15, POISONPOWDER + db 18, SLEEP_POWDER + db 0 diff --git a/data/mon_party_sprites.asm b/data/pokemon/menu_icons.asm index 471ee846..471ee846 100755 --- a/data/mon_party_sprites.asm +++ b/data/pokemon/menu_icons.asm diff --git a/data/pokemon/mew.asm b/data/pokemon/mew.asm new file mode 100644 index 00000000..ad8cb9b8 --- /dev/null +++ b/data/pokemon/mew.asm @@ -0,0 +1,14 @@ +; Mew's pics and base data are not grouped with the other Pokémon +; because it was a last-minute addition "as a kind of prank". +; Shigeki Morimoto explained in an Iwata Asks interview: +; "We put Mew in right at the very end. The cartridge was really full and +; there wasn't room for much more on there. Then the debug features which +; weren't going to be included in the final version of the game were removed, +; creating a miniscule 300 bytes of free space. So we thought that we could +; slot Mew in there. What we did would be unthinkable nowadays!" +; http://iwataasks.nintendo.com/interviews/#/ds/pokemon/0/0 + +MewPicFront:: INCBIN "gfx/pokemon/front/mew.pic" +MewPicBack:: INCBIN "gfx/pokemon/back/mewb.pic" + +INCLUDE "data/pokemon/base_stats/mew.asm" diff --git a/text/monster_names.asm b/data/pokemon/names.asm index 83a45b77..83a45b77 100755 --- a/text/monster_names.asm +++ b/data/pokemon/names.asm diff --git a/data/mon_palettes.asm b/data/pokemon/palettes.asm index 8c4d0bc0..8c4d0bc0 100755 --- a/data/mon_palettes.asm +++ b/data/pokemon/palettes.asm diff --git a/data/title_mons.asm b/data/pokemon/title_mons.asm index c5d94301..c5d94301 100755 --- a/data/title_mons.asm +++ b/data/pokemon/title_mons.asm diff --git a/data/predef_pointers.asm b/data/predef_pointers.asm index 5ce797e0..9d206a48 100644 --- a/data/predef_pointers.asm +++ b/data/predef_pointers.asm @@ -1,3 +1,9 @@ +add_predef: MACRO +\1Predef:: + db BANK(\1) + dw \1 +ENDM + PredefPointers:: ; these are pointers to ASM routines. ; they appear to be used in overworld map scripts. diff --git a/data/sgb_border.asm b/data/sgb/sgb_border.asm index aa11a326..aa11a326 100755 --- a/data/sgb_border.asm +++ b/data/sgb/sgb_border.asm diff --git a/data/sgb_packets.asm b/data/sgb/sgb_packets.asm index cae91883..cae91883 100755 --- a/data/sgb_packets.asm +++ b/data/sgb/sgb_packets.asm diff --git a/data/super_palettes.asm b/data/sgb/sgb_palettes.asm index 97f1d8ec..97f1d8ec 100755 --- a/data/super_palettes.asm +++ b/data/sgb/sgb_palettes.asm diff --git a/data/sprite_sets.asm b/data/sprite_sets.asm deleted file mode 100755 index 5b0e1e00..00000000 --- a/data/sprite_sets.asm +++ /dev/null @@ -1,551 +0,0 @@ -MapSpriteSets: - db $01 ; PALLET_TOWN - db $01 ; VIRIDIAN_CITY - db $02 ; PEWTER_CITY - db $02 ; CERULEAN_CITY - db $03 ; LAVENDER_TOWN - db $04 ; VERMILION_CITY - db $05 ; CELADON_CITY - db $0a ; FUCHSIA_CITY - db $01 ; CINNABAR_ISLAND - db $06 ; INDIGO_PLATEAU - db $07 ; SAFFRON_CITY - db $01 ; unused map ID - db $01 ; ROUTE_1 - db $f1 ; ROUTE_2 - db $02 ; ROUTE_3 - db $02 ; ROUTE_4 - db $f9 ; ROUTE_5 - db $fa ; ROUTE_6 - db $fb ; ROUTE_7 - db $fc ; ROUTE_8 - db $02 ; ROUTE_9 - db $f2 ; ROUTE_10 - db $f3 ; ROUTE_11 - db $f4 ; ROUTE_12 - db $08 ; ROUTE_13 - db $08 ; ROUTE_14 - db $f5 ; ROUTE_15 - db $f6 ; ROUTE_16 - db $09 ; ROUTE_17 - db $f7 ; ROUTE_18 - db $0a ; ROUTE_19 - db $f8 ; ROUTE_20 - db $01 ; ROUTE_21 - db $01 ; ROUTE_22 - db $06 ; ROUTE_23 - db $02 ; ROUTE_24 - db $02 ; ROUTE_25 - -; Format: -; 00: determines whether the map is split East/West or North/South -; $01 = East/West divide -; $02 = North/South divide -; 01: coordinate of dividing line -; 02: sprite set ID if in the West or North side -; 03: sprite set ID if in the East or South side -SplitMapSpriteSets: - db $02,$25,$02,$01 ; $f1 - db $02,$32,$02,$03 ; $f2 - db $01,$39,$04,$08 ; $f3 - db $02,$15,$03,$08 ; $f4 - db $01,$08,$0A,$08 ; $f5 - db $01,$18,$09,$05 ; $f6 - db $01,$22,$09,$0A ; $f7 - db $01,$35,$01,$0A ; $f8 - db $02,$21,$02,$07 ; $f9 - db $02,$02,$07,$04 ; $fa - db $01,$11,$05,$07 ; $fb - db $01,$03,$07,$03 ; $fc - -SpriteSets: -; sprite set $01 - db SPRITE_BLUE - db SPRITE_BUG_CATCHER - db SPRITE_GIRL - db SPRITE_FISHER2 - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_GAMBLER - db SPRITE_SEEL - db SPRITE_OAK - db SPRITE_SWIMMER - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN - -; sprite set $02 - db SPRITE_BUG_CATCHER - db SPRITE_ROCKET - db SPRITE_BLACK_HAIR_BOY_2 - db SPRITE_HIKER - db SPRITE_SLOWBRO - db SPRITE_BLUE - db SPRITE_GUARD - db SPRITE_LASS - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN_UNUSED_2 - -; sprite set $03 - db SPRITE_LITTLE_GIRL - db SPRITE_GIRL - db SPRITE_BLACK_HAIR_BOY_2 - db SPRITE_HIKER - db SPRITE_GAMBLER - db SPRITE_SLOWBRO - db SPRITE_LASS - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_GUARD - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN_UNUSED_2 - -; sprite set $04 - db SPRITE_FOULARD_WOMAN - db SPRITE_BLACK_HAIR_BOY_2 - db SPRITE_BUG_CATCHER - db SPRITE_GAMBLER - db SPRITE_SLOWBRO - db SPRITE_GUARD - db SPRITE_SAILOR - db SPRITE_LASS - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN_UNUSED_2 - -; sprite set $05 - db SPRITE_LITTLE_GIRL - db SPRITE_YOUNG_BOY - db SPRITE_GIRL - db SPRITE_FISHER2 - db SPRITE_FAT_BALD_GUY - db SPRITE_OLD_PERSON - db SPRITE_SLOWBRO - db SPRITE_GUARD - db SPRITE_ROCKET - db SPRITE_BALL - db SPRITE_SNORLAX - -; sprite set $06 - db SPRITE_BUG_CATCHER - db SPRITE_GYM_HELPER - db SPRITE_SLOWBRO - db SPRITE_BLUE - db SPRITE_LASS - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_SWIMMER - db SPRITE_GUARD - db SPRITE_GAMBLER - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN_UNUSED_2 - -; sprite set $07 - db SPRITE_ROCKET - db SPRITE_OAK_AIDE - db SPRITE_LAPRAS_GIVER - db SPRITE_ERIKA - db SPRITE_GENTLEMAN - db SPRITE_BIRD - db SPRITE_ROCKER - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_SLOWBRO - db SPRITE_BALL - db SPRITE_LYING_OLD_MAN_UNUSED_2 - -; sprite set $08 - db SPRITE_BIKER - db SPRITE_BLACK_HAIR_BOY_2 - db SPRITE_FAT_BALD_GUY - db SPRITE_LASS - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_FOULARD_WOMAN - db SPRITE_FISHER2 - db SPRITE_ROCKER - db SPRITE_SLOWBRO - db SPRITE_BALL - db SPRITE_SNORLAX - -; sprite set $09 - db SPRITE_BIKER - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_LAPRAS_GIVER - db SPRITE_FISHER2 - db SPRITE_ROCKER - db SPRITE_HIKER - db SPRITE_GAMBLER - db SPRITE_FAT_BALD_GUY - db SPRITE_BLACK_HAIR_BOY_2 - db SPRITE_BALL - db SPRITE_SNORLAX - -; sprite set $0a - db SPRITE_BIRD - db SPRITE_BLACK_HAIR_BOY_1 - db SPRITE_CLEFAIRY - db SPRITE_FISHER2 - db SPRITE_GAMBLER - db SPRITE_SLOWBRO - db SPRITE_SEEL - db SPRITE_SWIMMER - db SPRITE_BUG_CATCHER - db SPRITE_BALL - db SPRITE_OMANYTE - -SpriteSheetPointerTable: - ; SPRITE_RED - dw RedSprite - db $c0 ; byte count - db BANK(RedSprite) - - ; SPRITE_BLUE - dw BlueSprite - db $c0 ; byte count - db BANK(BlueSprite) - - ; SPRITE_OAK - dw OakSprite - db $c0 ; byte count - db BANK(OakSprite) - - ; SPRITE_BUG_CATCHER - dw BugCatcherSprite - db $c0 ; byte count - db BANK(BugCatcherSprite) - - ; SPRITE_SLOWBRO - dw SlowbroSprite - db $c0 ; byte count - db BANK(SlowbroSprite) - - ; SPRITE_LASS - dw LassSprite - db $c0 ; byte count - db BANK(LassSprite) - - ; SPRITE_BLACK_HAIR_BOY_1 - dw BlackHairBoy1Sprite - db $c0 ; byte count - db BANK(BlackHairBoy1Sprite) - - ; SPRITE_LITTLE_GIRL - dw LittleGirlSprite - db $c0 ; byte count - db BANK(LittleGirlSprite) - - ; SPRITE_BIRD - dw BirdSprite - db $c0 ; byte count - db BANK(BirdSprite) - - ; SPRITE_FAT_BALD_GUY - dw FatBaldGuySprite - db $c0 ; byte count - db BANK(FatBaldGuySprite) - - ; SPRITE_GAMBLER - dw GamblerSprite - db $c0 ; byte count - db BANK(GamblerSprite) - - ; SPRITE_BLACK_HAIR_BOY_2 - dw BlackHairBoy2Sprite - db $c0 ; byte count - db BANK(BlackHairBoy2Sprite) - - ; SPRITE_GIRL - dw GirlSprite - db $c0 ; byte count - db BANK(GirlSprite) - - ; SPRITE_HIKER - dw HikerSprite - db $c0 ; byte count - db BANK(HikerSprite) - - ; SPRITE_FOULARD_WOMAN - dw FoulardWomanSprite - db $c0 ; byte count - db BANK(FoulardWomanSprite) - - ; SPRITE_GENTLEMAN - dw GentlemanSprite - db $c0 ; byte count - db BANK(GentlemanSprite) - - ; SPRITE_DAISY - dw DaisySprite - db $c0 ; byte count - db BANK(DaisySprite) - - ; SPRITE_BIKER - dw BikerSprite - db $c0 ; byte count - db BANK(BikerSprite) - - ; SPRITE_SAILOR - dw SailorSprite - db $c0 ; byte count - db BANK(SailorSprite) - - ; SPRITE_COOK - dw CookSprite - db $c0 ; byte count - db BANK(CookSprite) - - ; SPRITE_BIKE_SHOP_GUY - dw BikeShopGuySprite - db $c0 ; byte count - db BANK(BikeShopGuySprite) - - ; SPRITE_MR_FUJI - dw MrFujiSprite - db $c0 ; byte count - db BANK(MrFujiSprite) - - ; SPRITE_GIOVANNI - dw GiovanniSprite - db $c0 ; byte count - db BANK(GiovanniSprite) - - ; SPRITE_ROCKET - dw RocketSprite - db $c0 ; byte count - db BANK(RocketSprite) - - ; SPRITE_MEDIUM - dw MediumSprite - db $c0 ; byte count - db BANK(MediumSprite) - - ; SPRITE_WAITER - dw WaiterSprite - db $c0 ; byte count - db BANK(WaiterSprite) - - ; SPRITE_ERIKA - dw ErikaSprite - db $c0 ; byte count - db BANK(ErikaSprite) - - ; SPRITE_MOM_GEISHA - dw MomGeishaSprite - db $c0 ; byte count - db BANK(MomGeishaSprite) - - ; SPRITE_BRUNETTE_GIRL - dw BrunetteGirlSprite - db $c0 ; byte count - db BANK(BrunetteGirlSprite) - - ; SPRITE_LANCE - dw LanceSprite - db $c0 ; byte count - db BANK(LanceSprite) - - ; SPRITE_OAK_SCIENTIST_AIDE - dw OakAideSprite - db $c0 ; byte count - db BANK(OakAideSprite) - - ; SPRITE_OAK_AIDE - dw OakAideSprite - db $c0 ; byte count - db BANK(OakAideSprite) - - ; SPRITE_ROCKER - dw RockerSprite - db $c0 ; byte count - db BANK(RockerSprite) - - ; SPRITE_SWIMMER - dw SwimmerSprite - db $c0 ; byte count - db BANK(SwimmerSprite) - - ; SPRITE_WHITE_PLAYER - dw WhitePlayerSprite - db $c0 ; byte count - db BANK(WhitePlayerSprite) - - ; SPRITE_GYM_HELPER - dw GymHelperSprite - db $c0 ; byte count - db BANK(GymHelperSprite) - - ; SPRITE_OLD_PERSON - dw OldPersonSprite - db $c0 ; byte count - db BANK(OldPersonSprite) - - ; SPRITE_MART_GUY - dw MartGuySprite - db $c0 ; byte count - db BANK(MartGuySprite) - - ; SPRITE_FISHER - dw FisherSprite - db $c0 ; byte count - db BANK(FisherSprite) - - ; SPRITE_OLD_MEDIUM_WOMAN - dw OldMediumWomanSprite - db $c0 ; byte count - db BANK(OldMediumWomanSprite) - - ; SPRITE_NURSE - dw NurseSprite - db $c0 ; byte count - db BANK(NurseSprite) - - ; SPRITE_CABLE_CLUB_WOMAN - dw CableClubWomanSprite - db $c0 ; byte count - db BANK(CableClubWomanSprite) - - ; SPRITE_MR_MASTERBALL - dw MrMasterballSprite - db $c0 ; byte count - db BANK(MrMasterballSprite) - - ; SPRITE_LAPRAS_GIVER - dw LaprasGiverSprite - db $c0 ; byte count - db BANK(LaprasGiverSprite) - - ; SPRITE_WARDEN - dw WardenSprite - db $c0 ; byte count - db BANK(WardenSprite) - - ; SPRITE_SS_CAPTAIN - dw SsCaptainSprite - db $c0 ; byte count - db BANK(SsCaptainSprite) - - ; SPRITE_FISHER2 - dw Fisher2Sprite - db $c0 ; byte count - db BANK(Fisher2Sprite) - - ; SPRITE_BLACKBELT - dw BlackbeltSprite - db $c0 ; byte count - db BANK(BlackbeltSprite) - - ; SPRITE_GUARD - dw GuardSprite - db $c0 ; byte count - db BANK(GuardSprite) - - ; $32 - dw GuardSprite - db $c0 ; byte count - db BANK(GuardSprite) - - ; SPRITE_MOM - dw MomSprite - db $c0 ; byte count - db BANK(MomSprite) - - ; SPRITE_BALDING_GUY - dw BaldingGuySprite - db $c0 ; byte count - db BANK(BaldingGuySprite) - - ; SPRITE_YOUNG_BOY - dw YoungBoySprite - db $c0 ; byte count - db BANK(YoungBoySprite) - - ; SPRITE_GAMEBOY_KID - dw GameboyKidSprite - db $c0 ; byte count - db BANK(GameboyKidSprite) - - ; SPRITE_GAMEBOY_KID_COPY - dw GameboyKidSprite - db $c0 ; byte count - db BANK(GameboyKidSprite) - - ; SPRITE_CLEFAIRY - dw ClefairySprite - db $c0 ; byte count - db BANK(ClefairySprite) - - ; SPRITE_AGATHA - dw AgathaSprite - db $c0 ; byte count - db BANK(AgathaSprite) - - ; SPRITE_BRUNO - dw BrunoSprite - db $c0 ; byte count - db BANK(BrunoSprite) - - ; SPRITE_LORELEI - dw LoreleiSprite - db $c0 ; byte count - db BANK(LoreleiSprite) - - ; SPRITE_SEEL - dw SeelSprite - db $c0 ; byte count - db BANK(SeelSprite) - - ; SPRITE_BALL - dw BallSprite - db $40 ; byte count - db BANK(BallSprite) - - ; SPRITE_OMANYTE - dw OmanyteSprite - db $40 ; byte count - db BANK(OmanyteSprite) - - ; SPRITE_BOULDER - dw BoulderSprite - db $40 ; byte count - db BANK(BoulderSprite) - - ; SPRITE_PAPER_SHEET - dw PaperSheetSprite - db $40 ; byte count - db BANK(PaperSheetSprite) - - ; SPRITE_BOOK_MAP_DEX - dw BookMapDexSprite - db $40 ; byte count - db BANK(BookMapDexSprite) - - ; SPRITE_CLIPBOARD - dw ClipboardSprite - db $40 ; byte count - db BANK(ClipboardSprite) - - ; SPRITE_SNORLAX - dw SnorlaxSprite - db $40 ; byte count - db BANK(SnorlaxSprite) - - ; SPRITE_OLD_AMBER_COPY - dw OldAmberSprite - db $40 ; byte count - db BANK(OldAmberSprite) - - ; SPRITE_OLD_AMBER - dw OldAmberSprite - db $40 ; byte count - db BANK(OldAmberSprite) - - ; SPRITE_LYING_OLD_MAN_UNUSED_1 - dw LyingOldManSprite - db $40 ; byte count - db BANK(LyingOldManSprite) - - ; SPRITE_LYING_OLD_MAN_UNUSED_2 - dw LyingOldManSprite - db $40 ; byte count - db BANK(LyingOldManSprite) - - ; SPRITE_LYING_OLD_MAN - dw LyingOldManSprite - db $40 ; byte count - db BANK(LyingOldManSprite) diff --git a/data/facing.asm b/data/sprites/facings.asm index c412247a..c412247a 100644 --- a/data/facing.asm +++ b/data/sprites/facings.asm diff --git a/data/sprites/sprites.asm b/data/sprites/sprites.asm new file mode 100644 index 00000000..9a6f383f --- /dev/null +++ b/data/sprites/sprites.asm @@ -0,0 +1,360 @@ +SpriteSheetPointerTable: + ; SPRITE_RED + dw RedSprite + db $c0 ; byte count + db BANK(RedSprite) + + ; SPRITE_BLUE + dw BlueSprite + db $c0 ; byte count + db BANK(BlueSprite) + + ; SPRITE_OAK + dw OakSprite + db $c0 ; byte count + db BANK(OakSprite) + + ; SPRITE_BUG_CATCHER + dw BugCatcherSprite + db $c0 ; byte count + db BANK(BugCatcherSprite) + + ; SPRITE_SLOWBRO + dw SlowbroSprite + db $c0 ; byte count + db BANK(SlowbroSprite) + + ; SPRITE_LASS + dw LassSprite + db $c0 ; byte count + db BANK(LassSprite) + + ; SPRITE_BLACK_HAIR_BOY_1 + dw BlackHairBoy1Sprite + db $c0 ; byte count + db BANK(BlackHairBoy1Sprite) + + ; SPRITE_LITTLE_GIRL + dw LittleGirlSprite + db $c0 ; byte count + db BANK(LittleGirlSprite) + + ; SPRITE_BIRD + dw BirdSprite + db $c0 ; byte count + db BANK(BirdSprite) + + ; SPRITE_FAT_BALD_GUY + dw FatBaldGuySprite + db $c0 ; byte count + db BANK(FatBaldGuySprite) + + ; SPRITE_GAMBLER + dw GamblerSprite + db $c0 ; byte count + db BANK(GamblerSprite) + + ; SPRITE_BLACK_HAIR_BOY_2 + dw BlackHairBoy2Sprite + db $c0 ; byte count + db BANK(BlackHairBoy2Sprite) + + ; SPRITE_GIRL + dw GirlSprite + db $c0 ; byte count + db BANK(GirlSprite) + + ; SPRITE_HIKER + dw HikerSprite + db $c0 ; byte count + db BANK(HikerSprite) + + ; SPRITE_FOULARD_WOMAN + dw FoulardWomanSprite + db $c0 ; byte count + db BANK(FoulardWomanSprite) + + ; SPRITE_GENTLEMAN + dw GentlemanSprite + db $c0 ; byte count + db BANK(GentlemanSprite) + + ; SPRITE_DAISY + dw DaisySprite + db $c0 ; byte count + db BANK(DaisySprite) + + ; SPRITE_BIKER + dw BikerSprite + db $c0 ; byte count + db BANK(BikerSprite) + + ; SPRITE_SAILOR + dw SailorSprite + db $c0 ; byte count + db BANK(SailorSprite) + + ; SPRITE_COOK + dw CookSprite + db $c0 ; byte count + db BANK(CookSprite) + + ; SPRITE_BIKE_SHOP_GUY + dw BikeShopGuySprite + db $c0 ; byte count + db BANK(BikeShopGuySprite) + + ; SPRITE_MR_FUJI + dw MrFujiSprite + db $c0 ; byte count + db BANK(MrFujiSprite) + + ; SPRITE_GIOVANNI + dw GiovanniSprite + db $c0 ; byte count + db BANK(GiovanniSprite) + + ; SPRITE_ROCKET + dw RocketSprite + db $c0 ; byte count + db BANK(RocketSprite) + + ; SPRITE_MEDIUM + dw MediumSprite + db $c0 ; byte count + db BANK(MediumSprite) + + ; SPRITE_WAITER + dw WaiterSprite + db $c0 ; byte count + db BANK(WaiterSprite) + + ; SPRITE_ERIKA + dw ErikaSprite + db $c0 ; byte count + db BANK(ErikaSprite) + + ; SPRITE_MOM_GEISHA + dw MomGeishaSprite + db $c0 ; byte count + db BANK(MomGeishaSprite) + + ; SPRITE_BRUNETTE_GIRL + dw BrunetteGirlSprite + db $c0 ; byte count + db BANK(BrunetteGirlSprite) + + ; SPRITE_LANCE + dw LanceSprite + db $c0 ; byte count + db BANK(LanceSprite) + + ; SPRITE_OAK_SCIENTIST_AIDE + dw OakAideSprite + db $c0 ; byte count + db BANK(OakAideSprite) + + ; SPRITE_OAK_AIDE + dw OakAideSprite + db $c0 ; byte count + db BANK(OakAideSprite) + + ; SPRITE_ROCKER + dw RockerSprite + db $c0 ; byte count + db BANK(RockerSprite) + + ; SPRITE_SWIMMER + dw SwimmerSprite + db $c0 ; byte count + db BANK(SwimmerSprite) + + ; SPRITE_WHITE_PLAYER + dw WhitePlayerSprite + db $c0 ; byte count + db BANK(WhitePlayerSprite) + + ; SPRITE_GYM_HELPER + dw GymHelperSprite + db $c0 ; byte count + db BANK(GymHelperSprite) + + ; SPRITE_OLD_PERSON + dw OldPersonSprite + db $c0 ; byte count + db BANK(OldPersonSprite) + + ; SPRITE_MART_GUY + dw MartGuySprite + db $c0 ; byte count + db BANK(MartGuySprite) + + ; SPRITE_FISHER + dw FisherSprite + db $c0 ; byte count + db BANK(FisherSprite) + + ; SPRITE_OLD_MEDIUM_WOMAN + dw OldMediumWomanSprite + db $c0 ; byte count + db BANK(OldMediumWomanSprite) + + ; SPRITE_NURSE + dw NurseSprite + db $c0 ; byte count + db BANK(NurseSprite) + + ; SPRITE_CABLE_CLUB_WOMAN + dw CableClubWomanSprite + db $c0 ; byte count + db BANK(CableClubWomanSprite) + + ; SPRITE_MR_MASTERBALL + dw MrMasterballSprite + db $c0 ; byte count + db BANK(MrMasterballSprite) + + ; SPRITE_LAPRAS_GIVER + dw LaprasGiverSprite + db $c0 ; byte count + db BANK(LaprasGiverSprite) + + ; SPRITE_WARDEN + dw WardenSprite + db $c0 ; byte count + db BANK(WardenSprite) + + ; SPRITE_SS_CAPTAIN + dw SsCaptainSprite + db $c0 ; byte count + db BANK(SsCaptainSprite) + + ; SPRITE_FISHER2 + dw Fisher2Sprite + db $c0 ; byte count + db BANK(Fisher2Sprite) + + ; SPRITE_BLACKBELT + dw BlackbeltSprite + db $c0 ; byte count + db BANK(BlackbeltSprite) + + ; SPRITE_GUARD + dw GuardSprite + db $c0 ; byte count + db BANK(GuardSprite) + + ; $32 + dw GuardSprite + db $c0 ; byte count + db BANK(GuardSprite) + + ; SPRITE_MOM + dw MomSprite + db $c0 ; byte count + db BANK(MomSprite) + + ; SPRITE_BALDING_GUY + dw BaldingGuySprite + db $c0 ; byte count + db BANK(BaldingGuySprite) + + ; SPRITE_YOUNG_BOY + dw YoungBoySprite + db $c0 ; byte count + db BANK(YoungBoySprite) + + ; SPRITE_GAMEBOY_KID + dw GameboyKidSprite + db $c0 ; byte count + db BANK(GameboyKidSprite) + + ; SPRITE_GAMEBOY_KID_COPY + dw GameboyKidSprite + db $c0 ; byte count + db BANK(GameboyKidSprite) + + ; SPRITE_CLEFAIRY + dw ClefairySprite + db $c0 ; byte count + db BANK(ClefairySprite) + + ; SPRITE_AGATHA + dw AgathaSprite + db $c0 ; byte count + db BANK(AgathaSprite) + + ; SPRITE_BRUNO + dw BrunoSprite + db $c0 ; byte count + db BANK(BrunoSprite) + + ; SPRITE_LORELEI + dw LoreleiSprite + db $c0 ; byte count + db BANK(LoreleiSprite) + + ; SPRITE_SEEL + dw SeelSprite + db $c0 ; byte count + db BANK(SeelSprite) + + ; SPRITE_BALL + dw BallSprite + db $40 ; byte count + db BANK(BallSprite) + + ; SPRITE_OMANYTE + dw OmanyteSprite + db $40 ; byte count + db BANK(OmanyteSprite) + + ; SPRITE_BOULDER + dw BoulderSprite + db $40 ; byte count + db BANK(BoulderSprite) + + ; SPRITE_PAPER_SHEET + dw PaperSheetSprite + db $40 ; byte count + db BANK(PaperSheetSprite) + + ; SPRITE_BOOK_MAP_DEX + dw BookMapDexSprite + db $40 ; byte count + db BANK(BookMapDexSprite) + + ; SPRITE_CLIPBOARD + dw ClipboardSprite + db $40 ; byte count + db BANK(ClipboardSprite) + + ; SPRITE_SNORLAX + dw SnorlaxSprite + db $40 ; byte count + db BANK(SnorlaxSprite) + + ; SPRITE_OLD_AMBER_COPY + dw OldAmberSprite + db $40 ; byte count + db BANK(OldAmberSprite) + + ; SPRITE_OLD_AMBER + dw OldAmberSprite + db $40 ; byte count + db BANK(OldAmberSprite) + + ; SPRITE_LYING_OLD_MAN_UNUSED_1 + dw LyingOldManSprite + db $40 ; byte count + db BANK(LyingOldManSprite) + + ; SPRITE_LYING_OLD_MAN_UNUSED_2 + dw LyingOldManSprite + db $40 ; byte count + db BANK(LyingOldManSprite) + + ; SPRITE_LYING_OLD_MAN + dw LyingOldManSprite + db $40 ; byte count + db BANK(LyingOldManSprite) diff --git a/text/alphabets.asm b/data/text/alphabets.asm index 9799a7e6..9799a7e6 100644 --- a/text/alphabets.asm +++ b/data/text/alphabets.asm diff --git a/text/dakutens.asm b/data/text/dakutens.asm index f3bf4854..f3bf4854 100644 --- a/text/dakutens.asm +++ b/data/text/dakutens.asm diff --git a/data/text/text_1.asm b/data/text/text_1.asm new file mode 100644 index 00000000..1ab54da3 --- /dev/null +++ b/data/text/text_1.asm @@ -0,0 +1,145 @@ +_CardKeySuccessText1:: + text "Bingo!@@" + +_CardKeySuccessText2:: + text "" + line "The CARD KEY" + cont "opened the door!" + done + +_CardKeyFailText:: + text "Darn! It needs a" + line "CARD KEY!" + done + +_TrainerNameText:: + TX_RAM wcd6d + text ": @@" + +_NoNibbleText:: + text "Not even a nibble!" + prompt + +_NothingHereText:: + text "Looks like there's" + line "nothing here." + prompt + +_ItsABiteText:: + text "Oh!" + line "It's a bite!" + prompt + +_ExclamationText:: + text "!" + done + +_GroundRoseText:: + text "Ground rose up" + line "somewhere!" + done + +_BoulderText:: + text "This requires" + line "STRENGTH to move!" + done + +_MartSignText:: + text "All your item" + line "needs fulfilled!" + cont "#MON MART" + done + +_PokeCenterSignText:: + text "Heal Your #MON!" + line "#MON CENTER" + done + +_FoundItemText:: + text "<PLAYER> found" + line "@" + TX_RAM wcf4b + text "!@@" + +_NoMoreRoomForItemText:: + text "No more room for" + line "items!" + done + +_OaksAideHiText:: + text "Hi! Remember me?" + line "I'm PROF.OAK's" + cont "AIDE!" + + para "If you caught @" + TX_NUM hOaksAideRequirement, 1, 3 + text "" + line "kinds of #MON," + cont "I'm supposed to" + cont "give you an" + cont "@" + TX_RAM wOaksAideRewardItemName + text "!" + + para "So, <PLAYER>! Have" + line "you caught at" + cont "least @" + TX_NUM hOaksAideRequirement, 1, 3 + text " kinds of" + cont "#MON?" + done + +_OaksAideUhOhText:: + text "Let's see..." + line "Uh-oh! You have" + cont "caught only @" + TX_NUM hOaksAideNumMonsOwned, 1, 3 + text "" + cont "kinds of #MON!" + + para "You need @" + TX_NUM hOaksAideRequirement, 1, 3 + text " kinds" + line "if you want the" + cont "@" + TX_RAM wOaksAideRewardItemName + text "." + done + +_OaksAideComeBackText:: + text "Oh. I see." + + para "When you get @" + TX_NUM hOaksAideRequirement, 1, 3 + text "" + line "kinds, come back" + cont "for @" + TX_RAM wOaksAideRewardItemName + text "." + done + +_OaksAideHereYouGoText:: + text "Great! You have" + line "caught @" + TX_NUM hOaksAideNumMonsOwned, 1, 3 + text " kinds " + cont "of #MON!" + cont "Congratulations!" + + para "Here you go!" + prompt + +_OaksAideGotItemText:: + text "<PLAYER> got the" + line "@" + TX_RAM wOaksAideRewardItemName + text "!@@" + +_OaksAideNoRoomText:: + text "Oh! I see you" + line "don't have any" + cont "room for the" + cont "@" + TX_RAM wOaksAideRewardItemName + text "." + done diff --git a/data/text/text_2.asm b/data/text/text_2.asm new file mode 100644 index 00000000..01e8641b --- /dev/null +++ b/data/text/text_2.asm @@ -0,0 +1,1753 @@ +_AIBattleWithdrawText:: + TX_RAM wTrainerName + text " with-" + line "drew @" + TX_RAM wEnemyMonNick + text "!" + prompt + +_AIBattleUseItemText:: + TX_RAM wTrainerName + text "" + line "used @" + TX_RAM wcd6d + text "" + cont "on @" + TX_RAM wEnemyMonNick + text "!" + prompt + +_TradeWentToText:: + TX_RAM wcf4b + text " went" + line "to @" + TX_RAM wLinkEnemyTrainerName + text "." + done + +_TradeForText:: + text "For <PLAYER>'s" + line "@" + TX_RAM wcf4b + text "," + done + +_TradeSendsText:: + TX_RAM wLinkEnemyTrainerName + text " sends" + line "@" + TX_RAM wcd6d + text "." + done + +_TradeWavesFarewellText:: + TX_RAM wLinkEnemyTrainerName + text " waves" + line "farewell as" + done + +_TradeTransferredText:: + TX_RAM wcd6d + text " is" + line "transferred." + done + +_TradeTakeCareText:: + text "Take good care of" + line "@" + TX_RAM wcd6d + text "." + done + +_TradeWillTradeText:: + TX_RAM wLinkEnemyTrainerName + text " will" + line "trade @" + TX_RAM wcd6d + text "" + done + +_TradeforText:: + text "for <PLAYER>'s" + line "@" + TX_RAM wcf4b + text "." + done + +_PlaySlotMachineText:: + text "A slot machine!" + line "Want to play?" + done + +_OutOfCoinsSlotMachineText:: + text "Darn!" + line "Ran out of coins!" + done + +_BetHowManySlotMachineText:: + text "Bet how many" + line "coins?" + done + +_StartSlotMachineText:: + text "Start!" + done + +_NotEnoughCoinsSlotMachineText:: + text "Not enough" + line "coins!" + prompt + +_OneMoreGoSlotMachineText:: + text "One more " + line "go?" + done + +_LinedUpText:: + text " lined up!" + line "Scored @" + TX_RAM wcf4b + text " coins!" + done + +_NotThisTimeText:: + text "Not this time!" + prompt + +_YeahText:: + text "Yeah!@@" + +_DexSeenOwnedText:: + text "#DEX Seen:@" + TX_NUM wDexRatingNumMonsSeen, 1, 3 + text "" + line " Owned:@" + TX_NUM wDexRatingNumMonsOwned, 1, 3 + db "@" + +_DexRatingText:: + text "#DEX Rating", $6d + done + +_GymStatueText1:: + TX_RAM wGymCityName + text "" + line "#MON GYM" + cont "LEADER: @" + TX_RAM wGymLeaderName + text "" + + para "WINNING TRAINERS:" + line "<RIVAL>" + done + +_GymStatueText2:: + TX_RAM wGymCityName + text "" + line "#MON GYM" + cont "LEADER: @" + TX_RAM wGymLeaderName + text "" + + para "WINNING TRAINERS:" + line "<RIVAL>" + cont "<PLAYER>" + done + +_ViridianCityPokecenterGuyText:: + text "#MON CENTERs" + line "heal your tired," + cont "hurt or fainted" + cont "#MON!" + done + +_PewterCityPokecenterGuyText:: + text "Yawn!" + + para "When JIGGLYPUFF" + line "sings, #MON" + cont "get drowsy..." + + para "...Me too..." + line "Snore..." + done + +_CeruleanPokecenterGuyText:: + text "BILL has lots of" + line "#MON!" + + para "He collects rare" + line "ones too!" + done + +_LavenderPokecenterGuyText:: + text "CUBONEs wear" + line "skulls, right?" + + para "People will pay a" + line "lot for one!" + done + +_MtMoonPokecenterBenchGuyText:: + text "If you have too" + line "many #MON, you" + cont "should store them" + cont "via PC!" + done + +_RockTunnelPokecenterGuyText:: + text "I heard that" + line "GHOSTs haunt" + cont "LAVENDER TOWN!" + done + +_UnusedBenchGuyText1:: + text "I wish I could" + line "catch #MON." + done + +_UnusedBenchGuyText2:: + text "I'm tired from" + line "all the fun..." + done + +_UnusedBenchGuyText3:: + text "SILPH's manager" + line "is hiding in the" + cont "SAFARI ZONE." + done + +_VermilionPokecenterGuyText:: + text "It is true that a" + line "higher level" + cont "#MON will be" + cont "more powerful..." + + para "But, all #MON" + line "will have weak" + cont "points against" + cont "specific types." + + para "So, there is no" + line "universally" + cont "strong #MON." + done + +_CeladonCityPokecenterGuyText:: + text "If I had a BIKE," + line "I would go to" + cont "CYCLING ROAD!" + done + +_FuchsiaCityPokecenterGuyText:: + text "If you're studying " + line "#MON, visit" + cont "the SAFARI ZONE." + + para "It has all sorts" + line "of rare #MON." + done + +_CinnabarPokecenterGuyText:: + text "#MON can still" + line "learn techniques" + cont "after canceling" + cont "evolution." + + para "Evolution can wait" + line "until new moves" + cont "have been learned." + done + +_SaffronCityPokecenterGuyText1:: + text "It would be great" + line "if the ELITE FOUR" + cont "came and stomped" + cont "TEAM ROCKET!" + done + +_SaffronCityPokecenterGuyText2:: + text "TEAM ROCKET took" + line "off! We can go" + cont "out safely again!" + cont "That's great!" + done + +_CeladonCityHotelText:: + text "My sis brought me" + line "on this vacation!" + done + +_BookcaseText:: + text "Crammed full of" + line "#MON books!" + done + +_NewBicycleText:: + text "A shiny new" + line "BICYCLE!" + done + +_PushStartText:: + text "Push START to" + line "open the MENU!" + done + +_SaveOptionText:: + text "The SAVE option is" + line "on the MENU" + cont "screen." + done + +_StrengthsAndWeaknessesText:: + text "All #MON types" + line "have strong and" + cont "weak points" + cont "against others." + done + +_TimesUpText:: + text "PA: Ding-dong!" + + para "Time's up!" + prompt + +_GameOverText:: + text "PA: Your SAFARI" + line "GAME is over!" + done + +_CinnabarGymQuizIntroText:: + text "#MON Quiz!" + + para "Get it right and" + line "the door opens to" + cont "the next room!" + + para "Get it wrong and" + line "face a trainer!" + + para "If you want to" + line "conserve your" + cont "#MON for the" + cont "GYM LEADER..." + + para "Then get it right!" + line "Here we go!" + prompt + +_CinnabarQuizQuestionsText1:: + text "CATERPIE evolves" + line "into BUTTERFREE?" + done + +_CinnabarQuizQuestionsText2:: + text "There are 9" + line "certified #MON" + cont "LEAGUE BADGEs?" + done + +_CinnabarQuizQuestionsText3:: + text "POLIWAG evolves 3" + line "times?" + done + +_CinnabarQuizQuestionsText4:: + text "Are thunder moves" + line "effective against" + cont "ground element-" + cont "type #MON?" + done + +_CinnabarQuizQuestionsText5:: + text "#MON of the" + line "same kind and" + cont "level are not" + cont "identical?" + done + +_CinnabarQuizQuestionsText6:: + text "TM28 contains" + line "TOMBSTONER?" + done + +_CinnabarGymQuizCorrectText:: + text "You're absolutely" + line "correct!" + + para "Go on through!@@" + +_CinnabarGymQuizIncorrectText:: + text "Sorry! Bad call!" + prompt + +_MagazinesText:: + text "#MON magazines!" + + para "#MON notebooks!" + + para "#MON graphs!" + done + +_BillsHouseMonitorText:: + text "TELEPORTER is" + line "displayed on the" + cont "PC monitor." + done + +_BillsHouseInitiatedText:: + text "<PLAYER> initiated" + line "TELEPORTER's Cell" + cont "Separator!@@" + +_BillsHousePokemonListText1:: + text "BILL's favorite" + line "#MON list!" + prompt + +_BillsHousePokemonListText2:: + text "Which #MON do" + line "you want to see?" + done + +_OakLabEmailText:: + text "There's an e-mail" + line "message here!" + + para "..." + + para "Calling all" + line "#MON trainers!" + + para "The elite trainers" + line "of #MON LEAGUE" + cont "are ready to take" + cont "on all comers!" + + para "Bring your best" + line "#MON and see" + cont "how you rate as a" + cont "trainer!" + + para "#MON LEAGUE HQ" + line "INDIGO PLATEAU" + + para "PS: PROF.OAK," + line "please visit us!" + cont "..." + done + +_GameCornerCoinCaseText:: + text "A COIN CASE is" + line "required!" + done + +_GameCornerNoCoinsText:: + text "You don't have" + line "any coins!" + done + +_GameCornerOutOfOrderText:: + text "OUT OF ORDER" + line "This is broken." + done + +_GameCornerOutToLunchText:: + text "OUT TO LUNCH" + line "This is reserved." + done + +_GameCornerSomeonesKeysText:: + text "Someone's keys!" + line "They'll be back." + done + +_JustAMomentText:: + text "Just a moment." + done + +TMNotebookText:: + text "It's a pamphlet" + line "on TMs." + + para "..." + + para "There are 50 TMs" + line "in all." + + para "There are also 5" + line "HMs that can be" + cont "used repeatedly." + + para "SILPH CO.@@" + +_TurnPageText:: + text "Turn the page?" + done + +_ViridianSchoolNotebookText5:: + text "GIRL: Hey! Don't" + line "look at my notes!@@" + +_ViridianSchoolNotebookText1:: + text "Looked at the" + line "notebook!" + + para "First page..." + + para "# BALLs are" + line "used to catch" + cont "#MON." + + para "Up to 6 #MON" + line "can be carried." + + para "People who raise" + line "and make #MON" + cont "fight are called" + cont "#MON trainers." + prompt + +_ViridianSchoolNotebookText2:: + text "Second page..." + + para "A healthy #MON" + line "may be hard to" + cont "catch, so weaken" + cont "it first!" + + para "Poison, burns and" + line "other damage are" + cont "effective!" + prompt + +_ViridianSchoolNotebookText3:: + text "Third page..." + + para "#MON trainers" + line "seek others to" + cont "engage in #MON" + cont "fights." + + para "Battles are" + line "constantly fought" + cont "at #MON GYMs." + prompt + +_ViridianSchoolNotebookText4:: + text "Fourth page..." + + para "The goal for" + line "#MON trainers" + cont "is to beat the " + cont "top 8 #MON" + cont "GYM LEADERs." + + para "Do so to earn the" + line "right to face..." + + para "The ELITE FOUR of" + line "#MON LEAGUE!" + prompt + +_EnemiesOnEverySideText:: + text "Enemies on every" + line "side!" + done + +_WhatGoesAroundComesAroundText:: + text "What goes around" + line "comes around!" + done + +_FightingDojoText:: + text "FIGHTING DOJO" + done + +_IndigoPlateauHQText:: + text "INDIGO PLATEAU" + line "#MON LEAGUE HQ" + done + +_RedBedroomSNESText:: + text "<PLAYER> is" + line "playing the SNES!" + cont "...Okay!" + cont "It's time to go!" + done + +_Route15UpstairsBinocularsText:: + text "Looked into the" + line "binoculars..." + + para "A large, shining" + line "bird is flying" + cont "toward the sea." + done + +_AerodactylFossilText:: + text "AERODACTYL Fossil" + line "A primitive and" + cont "rare #MON." + done + +_KabutopsFossilText:: + text "KABUTOPS Fossil" + line "A primitive and" + cont "rare #MON." + done + +_LinkCableHelpText1:: + text "TRAINER TIPS" + + para "Using a Game Link" + line "Cable" + prompt + +_LinkCableHelpText2:: + text "Which heading do" + line "you want to read?" + done + +_LinkCableInfoText1:: + text "When you have" + line "linked your GAME" + cont "BOY with another" + cont "GAME BOY, talk to" + cont "the attendant on" + cont "the right in any" + cont "#MON CENTER." + prompt + +_LinkCableInfoText2:: + text "COLOSSEUM lets" + line "you play against" + cont "a friend." + prompt + +_LinkCableInfoText3:: + text "TRADE CENTER is" + line "used for trading" + cont "#MON." + prompt + +_ViridianSchoolBlackboardText1:: + text "The blackboard" + line "describes #MON" + cont "STATUS changes" + cont "during battles." + prompt + +_ViridianSchoolBlackboardText2:: + text "Which heading do" + line "you want to read?" + done + +_ViridianBlackboardSleepText:: + text "A #MON can't" + line "attack if it's" + cont "asleep!" + + para "#MON will stay" + line "asleep even after" + cont "battles." + + para "Use AWAKENING to" + line "wake them up!" + prompt + +_ViridianBlackboardPoisonText:: + text "When poisoned, a" + line "#MON's health" + cont "steadily drops." + + para "Poison lingers" + line "after battles." + + para "Use an ANTIDOTE" + line "to cure poison!" + prompt + +_ViridianBlackboardPrlzText:: + text "Paralysis could" + line "make #MON" + cont "moves misfire!" + + para "Paralysis remains" + line "after battles." + + para "Use PARLYZ HEAL" + line "for treatment!" + prompt + +_ViridianBlackboardBurnText:: + text "A burn reduces" + line "power and speed." + cont "It also causes" + cont "ongoing damage." + + para "Burns remain" + line "after battles." + + para "Use BURN HEAL to" + line "cure a burn!" + prompt + +_ViridianBlackboardFrozenText:: + text "If frozen, a" + line "#MON becomes" + cont "totally immobile!" + + para "It stays frozen" + line "even after the" + cont "battle ends." + + para "Use ICE HEAL to" + line "thaw out #MON!" + prompt + +_VermilionGymTrashText:: + text "Nope, there's" + line "only trash here." + done + +_VermilionGymTrashSuccessText1:: + text "Hey! There's a" + line "switch under the" + cont "trash!" + cont "Turn it on!" + + para "The 1st electric" + line "lock opened!@@" + +_VermilionGymTrashSuccessText2:: + text "Hey! There's" + line "another switch" + cont "under the trash!" + cont "Turn it on!" + prompt + +_VermilionGymTrashSuccessText3:: + text "The 2nd electric" + line "lock opened!" + + para "The motorized door" + line "opened!@@" + +_VermilionGymTrashFailText:: + text "Nope! There's" + line "only trash here." + cont "Hey! The electric" + cont "locks were reset!@@" + +_FoundHiddenItemText:: + text "<PLAYER> found" + line "@" + TX_RAM wcd6d + text "!@@" + +_HiddenItemBagFullText:: + text "But, <PLAYER> has" + line "no more room for" + cont "other items!" + done + +_FoundHiddenCoinsText:: + text "<PLAYER> found" + line "@" + TX_BCD hCoins, 2 | LEADING_ZEROES | LEFT_ALIGN + text " coins!@@" + +_FoundHiddenCoins2Text:: + text "<PLAYER> found" + line "@" + TX_BCD hCoins, 2 | LEADING_ZEROES | LEFT_ALIGN + text " coins!@@" + +_DroppedHiddenCoinsText:: + text "" + para "Oops! Dropped" + line "some coins!" + done + +_IndigoPlateauStatuesText1:: + text "INDIGO PLATEAU" + prompt + +_IndigoPlateauStatuesText2:: + text "The ultimate goal" + line "of trainers!" + cont "#MON LEAGUE HQ" + done + +_IndigoPlateauStatuesText3:: + text "The highest" + line "#MON authority" + cont "#MON LEAGUE HQ" + done + +_PokemonBooksText:: + text "Crammed full of" + line "#MON books!" + done + +_DiglettSculptureText:: + text "It's a sculpture" + line "of DIGLETT." + done + +_ElevatorText:: + text "This is an" + line "elevator." + done + +_TownMapText:: + text "A TOWN MAP.@@" + +_PokemonStuffText:: + text "Wow! Tons of" + line "#MON stuff!" + done + +_OutOfSafariBallsText:: + text "PA: Ding-dong!" + + para "You are out of" + line "SAFARI BALLs!" + prompt + +_WildRanText:: + text "Wild @" + TX_RAM wEnemyMonNick + text "" + line "ran!" + prompt + +_EnemyRanText:: + text "Enemy @" + TX_RAM wEnemyMonNick + text "" + line "ran!" + prompt + +_HurtByPoisonText:: + text "<USER>'s" + line "hurt by poison!" + prompt + +_HurtByBurnText:: + text "<USER>'s" + line "hurt by the burn!" + prompt + +_HurtByLeechSeedText:: + text "LEECH SEED saps" + line "<USER>!" + prompt + +_EnemyMonFaintedText:: + text "Enemy @" + TX_RAM wEnemyMonNick + text "" + line "fainted!" + prompt + +_MoneyForWinningText:: + text "<PLAYER> got ¥@" + TX_BCD wAmountMoneyWon, 3 | LEADING_ZEROES | LEFT_ALIGN + text "" + line "for winning!" + prompt + +_TrainerDefeatedText:: + text "<PLAYER> defeated" + line "@" + TX_RAM wTrainerName + text "!" + prompt + +_PlayerMonFaintedText:: + TX_RAM wBattleMonNick + text "" + line "fainted!" + prompt + +_UseNextMonText:: + text "Use next #MON?" + done + +_Sony1WinText:: + text "<RIVAL>: Yeah! Am" + line "I great or what?" + prompt + +_PlayerBlackedOutText2:: + text "<PLAYER> is out of" + line "useable #MON!" + + para "<PLAYER> blacked" + line "out!" + prompt + +_LinkBattleLostText:: + text "<PLAYER> lost to" + line "@" + TX_RAM wTrainerName + text "!" + prompt + +_TrainerAboutToUseText:: + TX_RAM wTrainerName + text " is" + line "about to use" + cont"@" + TX_RAM wEnemyMonNick + text "!" + + para "Will <PLAYER>" + line "change #MON?" + done + +_TrainerSentOutText:: + TX_RAM wTrainerName + text " sent" + line "out @" + TX_RAM wEnemyMonNick + text "!" + done + +_NoWillText:: + text "There's no will" + line "to fight!" + prompt + +_CantEscapeText:: + text "Can't escape!" + prompt + +_NoRunningText:: + text "No! There's no" + line "running from a" + cont "trainer battle!" + prompt + +_GotAwayText:: + text "Got away safely!" + prompt + +_ItemsCantBeUsedHereText:: + text "Items can't be" + line "used here." + prompt + +_AlreadyOutText:: + TX_RAM wBattleMonNick + text " is" + line "already out!" + prompt + +_MoveNoPPText:: + text "No PP left for" + line "this move!" + prompt + +_MoveDisabledText:: + text "The move is" + line "disabled!" + prompt + +_NoMovesLeftText:: + TX_RAM wBattleMonNick + text " has no" + line "moves left!" + done + +_MultiHitText:: + text "Hit the enemy" + line "@" + TX_NUM wPlayerNumHits,1,1 + text " times!" + prompt + +_ScaredText:: + TX_RAM wBattleMonNick + text " is too" + line "scared to move!" + prompt + +_GetOutText:: + text "GHOST: Get out..." + line "Get out..." + prompt + +_FastAsleepText:: + text "<USER>" + line "is fast asleep!" + prompt + +_WokeUpText:: + text "<USER>" + line "woke up!" + prompt + +_IsFrozenText:: + text "<USER>" + line "is frozen solid!" + prompt + +_FullyParalyzedText:: + text "<USER>'s" + line "fully paralyzed!" + prompt + +_FlinchedText:: + text "<USER>" + line "flinched!" + prompt + +_MustRechargeText:: + text "<USER>" + line "must recharge!" + prompt + +_DisabledNoMoreText:: + text "<USER>'s" + line "disabled no more!" + prompt + +_IsConfusedText:: + text "<USER>" + line "is confused!" + prompt + +_HurtItselfText:: + text "It hurt itself in" + line "its confusion!" + prompt + +_ConfusedNoMoreText:: + text "<USER>'s" + line "confused no more!" + prompt + +_SavingEnergyText:: + text "<USER>" + line "is saving energy!" + prompt + +_UnleashedEnergyText:: + text "<USER>" + line "unleashed energy!" + prompt + +_ThrashingAboutText:: + text "<USER>'s" + line "thrashing about!" + done + +_AttackContinuesText:: + text "<USER>'s" + line "attack continues!" + done + +_CantMoveText:: + text "<USER>" + line "can't move!" + prompt + +_MoveIsDisabledText:: + text "<USER>'s" + line "@" + TX_RAM wcd6d + text " is" + cont "disabled!" + prompt + +_MonName1Text:: + text "<USER>@@" + +_Used1Text:: + text "" + line "used @@" + +_Used2Text:: + text "" + line "used @@" + +_InsteadText:: + text "instead," + cont "@@" + +_CF4BText:: + TX_RAM wcf4b + text "@" + +_ExclamationPoint1Text:: + text "!" + done + +_ExclamationPoint2Text:: + text "!" + done + +_ExclamationPoint3Text:: + text "!" + done + +_ExclamationPoint4Text:: + text "!" + done + +_ExclamationPoint5Text:: + text "!" + done + +_AttackMissedText:: + text "<USER>'s" + line "attack missed!" + prompt + +_KeptGoingAndCrashedText:: + text "<USER>" + line "kept going and" + cont "crashed!" + prompt + +_UnaffectedText:: + text "<TARGET>'s" + line "unaffected!" + prompt + +_DoesntAffectMonText:: + text "It doesn't affect" + line "<TARGET>!" + prompt + +_CriticalHitText:: + text "Critical hit!" + prompt + +_OHKOText:: + text "One-hit KO!" + prompt + +_LoafingAroundText:: + TX_RAM wBattleMonNick + text " is" + line "loafing around." + prompt + +_BeganToNapText:: + TX_RAM wBattleMonNick + text " began" + line "to nap!" + prompt + +_WontObeyText:: + TX_RAM wBattleMonNick + text " won't" + line "obey!" + prompt + +_TurnedAwayText:: + TX_RAM wBattleMonNick + text " turned" + line "away!" + prompt + +_IgnoredOrdersText:: + TX_RAM wBattleMonNick + text "" + line "ignored orders!" + prompt + +_SubstituteTookDamageText:: + text "The SUBSTITUTE" + line "took damage for" + cont "<TARGET>!" + prompt + +_SubstituteBrokeText:: + text "<TARGET>'s" + line "SUBSTITUTE broke!" + prompt + +_BuildingRageText:: + text "<USER>'s" + line "RAGE is building!" + prompt + +_MirrorMoveFailedText:: + text "The MIRROR MOVE" + next "failed!" + prompt + +_HitXTimesText:: + text "Hit @" + TX_NUM wEnemyNumHits, 1, 1 + text " times!" + prompt + +_GainedText:: + TX_RAM wcd6d + text " gained" + line "@@" + +_WithExpAllText:: + text "with EXP.ALL," + cont "@@" + +_BoostedText:: + text "a boosted" + cont "@@" + +_ExpPointsText:: + TX_NUM wExpAmountGained, 2, 4 + text " EXP. Points!" + prompt + +_GrewLevelText:: + TX_RAM wcd6d + text " grew" + line "to level @" + TX_NUM wCurEnemyLVL, 1, 3 + text "!@@" + +_WildMonAppearedText:: + text "Wild @" + TX_RAM wEnemyMonNick + text "" + line "appeared!" + prompt + +_HookedMonAttackedText:: + text "The hooked" + line "@" + TX_RAM wEnemyMonNick + text "" + cont "attacked!" + prompt + +_EnemyAppearedText:: + TX_RAM wEnemyMonNick + text "" + line "appeared!" + prompt + +_TrainerWantsToFightText:: + TX_RAM wTrainerName + text " wants" + line "to fight!" + prompt + +_UnveiledGhostText:: + text "SILPH SCOPE" + line "unveiled the" + cont "GHOST's identity!" + prompt + +_GhostCantBeIDdText:: + text "Darn! The GHOST" + line "can't be ID'd!" + prompt + +_GoText:: + text "Go! @@" + +_DoItText:: + text "Do it! @@" + +_GetmText:: + text "Get'm! @@" + +_EnemysWeakText:: + text "The enemy's weak!" + line "Get'm! @@" + +_PlayerMon1Text:: + TX_RAM wBattleMonNick + text "!" + done + +_PlayerMon2Text:: + TX_RAM wBattleMonNick + text " @@" + +_EnoughText:: + text "enough!@@" + +_OKExclamationText:: + text "OK!@@" + +_GoodText:: + text "good!@@" + +_ComeBackText:: + text "" + line "Come back!" + done + +_SuperEffectiveText:: + text "It's super" + line "effective!" + prompt + +_NotVeryEffectiveText:: + text "It's not very" + line "effective..." + prompt + +_SafariZoneEatingText:: + text "Wild @" + TX_RAM wEnemyMonNick + text "" + line "is eating!" + prompt + +_SafariZoneAngryText:: + text "Wild @" + TX_RAM wEnemyMonNick + text "" + line "is angry!" + prompt + +; money related +_PickUpPayDayMoneyText:: + text "<PLAYER> picked up" + line "¥@" + TX_BCD wTotalPayDayMoney, 3 | LEADING_ZEROES | LEFT_ALIGN + text "!" + prompt + +_ClearSaveDataText:: + text "Clear all saved" + line "data?" + done + +_WhichFloorText:: + text "Which floor do" + line "you want? " + done + +_PartyMenuNormalText:: + text "Choose a #MON." + done + +_PartyMenuItemUseText:: + text "Use item on which" + line "#MON?" + done + +_PartyMenuBattleText:: + text "Bring out which" + line "#MON?" + done + +_PartyMenuUseTMText:: + text "Use TM on which" + line "#MON?" + done + +_PartyMenuSwapMonText:: + text "Move #MON" + line "where?" + done + +_PotionText:: + TX_RAM wcd6d + text "" + line "recovered by @" + TX_NUM wHPBarHPDifference, 2, 3 + text "!" + done + +_AntidoteText:: + TX_RAM wcd6d + text " was" + line "cured of poison!" + done + +_ParlyzHealText:: + TX_RAM wcd6d + text "'s" + line "rid of paralysis!" + done + +_BurnHealText:: + TX_RAM wcd6d + text "'s" + line "burn was healed!" + done + +_IceHealText:: + TX_RAM wcd6d + text " was" + line "defrosted!" + done + +_AwakeningText:: + TX_RAM wcd6d + text "" + line "woke up!" + done + +_FullHealText:: + TX_RAM wcd6d + text "'s" + line "health returned!" + done + +_ReviveText:: + TX_RAM wcd6d + text "" + line "is revitalized!" + done + +_RareCandyText:: + TX_RAM wcd6d + text " grew" + line "to level @" + TX_NUM wCurEnemyLVL, 1, 3 + text "!@@" + +_TurnedOnPC1Text:: + text "<PLAYER> turned on" + line "the PC." + prompt + +_AccessedBillsPCText:: + text "Accessed BILL's" + line "PC." + + para "Accessed #MON" + line "Storage System." + prompt + +_AccessedSomeonesPCText:: + text "Accessed someone's" + line "PC." + + para "Accessed #MON" + line "Storage System." + prompt + +_AccessedMyPCText:: + text "Accessed my PC." + + para "Accessed Item" + line "Storage System." + prompt + +_TurnedOnPC2Text:: + text "<PLAYER> turned on" + line "the PC." + prompt + +_WhatDoYouWantText:: + text "What do you want" + line "to do?" + done + +_WhatToDepositText:: + text "What do you want" + line "to deposit?" + done + +_DepositHowManyText:: + text "How many?" + done + +_ItemWasStoredText:: + TX_RAM wcd6d + text " was" + line "stored via PC." + prompt + +_NothingToDepositText:: + text "You have nothing" + line "to deposit." + prompt + +_NoRoomToStoreText:: + text "No room left to" + line "store items." + prompt + +_WhatToWithdrawText:: + text "What do you want" + line "to withdraw?" + done + +_WithdrawHowManyText:: + text "How many?" + done + +_WithdrewItemText:: + text "Withdrew" + line "@" + TX_RAM wcd6d + text "." + prompt + +_NothingStoredText:: + text "There is nothing" + line "stored." + prompt + +_CantCarryMoreText:: + text "You can't carry" + line "any more items." + prompt + +_WhatToTossText:: + text "What do you want" + line "to toss away?" + done + +_TossHowManyText:: + text "How many?" + done + +_AccessedHoFPCText:: + text "Accessed #MON" + line "LEAGUE's site." + + para "Accessed the HALL" + line "OF FAME List." + prompt + +_SwitchOnText:: + text "Switch on!" + prompt + +_WhatText:: + text "What?" + done + +_DepositWhichMonText:: + text "Deposit which" + line "#MON?" + done + +_MonWasStoredText:: + TX_RAM wcf4b + text " was" + line "stored in Box @" + TX_RAM wBoxNumString + text "." + prompt + +_CantDepositLastMonText:: + text "You can't deposit" + line "the last #MON!" + prompt + +_BoxFullText:: + text "Oops! This Box is" + line "full of #MON." + prompt + +_MonIsTakenOutText:: + TX_RAM wcf4b + text " is" + line "taken out." + cont "Got @" + TX_RAM wcf4b + text "." + prompt + +_NoMonText:: + text "What? There are" + line "no #MON here!" + prompt + +_CantTakeMonText:: + text "You can't take" + line "any more #MON." + + para "Deposit #MON" + line "first." + prompt + +_ReleaseWhichMonText:: + text "Release which" + line "#MON?" + done + +_OnceReleasedText:: + text "Once released," + line "@" + TX_RAM wcf4b + text " is" + cont "gone forever. OK?" + done + +_MonWasReleasedText:: + TX_RAM wcf4b + text " was" + line "released outside." + cont "Bye @" + +_CF4BExclamationText:: + TX_RAM wcf4b + text "!" + prompt + +_RequireCoinCaseText:: + text "A COIN CASE is" + line "required!@@" + +_ExchangeCoinsForPrizesText:: + text "We exchange your" + line "coins for prizes." + prompt + +_WhichPrizeText:: + text "Which prize do" + line "you want?" + done + +_HereYouGoText:: + text "Here you go!@@" + +_SoYouWantPrizeText:: + text "So, you want" + line "@" + TX_RAM wcd6d + text "?" + done + +_SorryNeedMoreCoinsText:: + text "Sorry, you need" + line "more coins.@@" + +_OopsYouDontHaveEnoughRoomText:: + text "Oops! You don't" + line "have enough room.@@" + +_OhFineThenText:: + text "Oh, fine then.@@" + +_GetDexRatedText:: + text "Want to get your" + line "#DEX rated?" + done + +_ClosedOaksPCText:: + text "Closed link to" + line "PROF.OAK's PC.@@" + +_AccessedOaksPCText:: + text "Accessed PROF." + line "OAK's PC." + + para "Accessed #DEX" + line "Rating System." + prompt + +_WhereWouldYouLikeText:: + text "Where would you" + line "like to go?" + done + +_PleaseWaitText:: + text "OK, please wait" + line "just a moment." + done + +_LinkCanceledText:: + text "The link was" + line "canceled." + done + +_OakSpeechText1:: + text "Hello there!" + line "Welcome to the" + cont "world of #MON!" + + para "My name is OAK!" + line "People call me" + cont "the #MON PROF!" + prompt + +_OakSpeechText2A:: + text "This world is" + line "inhabited by" + cont "creatures called" + cont "#MON!@@" + +_OakSpeechText2B:: + text $51,"For some people," + line "#MON are" + cont "pets. Others use" + cont "them for fights." + + para "Myself..." + + para "I study #MON" + line "as a profession." + prompt + +_IntroducePlayerText:: + text "First, what is" + line "your name?" + prompt + +_IntroduceRivalText:: + text "This is my grand-" + line "son. He's been" + cont "your rival since" + cont "you were a baby." + + para "...Erm, what is" + line "his name again?" + prompt + +_OakSpeechText3:: + text "<PLAYER>!" + + para "Your very own" + line "#MON legend is" + cont "about to unfold!" + + para "A world of dreams" + line "and adventures" + cont "with #MON" + cont "awaits! Let's go!" + done + +_DoYouWantToNicknameText:: + text "Do you want to" + line "give a nickname" + cont "to @" + TX_RAM wcd6d + text "?" + done + +_YourNameIsText:: + text "Right! So your" + line "name is <PLAYER>!" + prompt + +_HisNameIsText:: + text "That's right! I" + line "remember now! His" + cont "name is <RIVAL>!" + prompt + +_WillBeTradedText:: + TX_RAM wNameOfPlayerMonToBeTraded + text " and" + line "@" + TX_RAM wcd6d + text " will" + cont "be traded." + done + +_Char00Text:: + TX_NUM hSpriteIndexOrTextID,1,2 + text " ERROR." + done + +_Char55Text:: + text $4B,"@@" diff --git a/data/text/text_3.asm b/data/text/text_3.asm new file mode 100644 index 00000000..3b2ff787 --- /dev/null +++ b/data/text/text_3.asm @@ -0,0 +1,324 @@ +_FileDataDestroyedText:: + text "The file data is" + line "destroyed!" + prompt + +_WouldYouLikeToSaveText:: + text "Would you like to" + line "SAVE the game?" + done + +_GameSavedText:: + text "<PLAYER> saved" + line "the game!" + done + +_OlderFileWillBeErasedText:: + text "The older file" + line "will be erased to" + cont "save. Okay?" + done + +_WhenYouChangeBoxText:: + text "When you change a" + line "#MON BOX, data" + cont "will be saved." + + para "Is that okay?" + done + +_ChooseABoxText:: + text "Choose a" + line "<pkmn> BOX.@@" + +_EvolvedText:: + TX_RAM wcf4b + text " evolved" + done + +_IntoText:: + text "" + line "into @" + TX_RAM wcd6d + text "!" + done + +_StoppedEvolvingText:: + text "Huh? @" + TX_RAM wcf4b + text "" + line "stopped evolving!" + prompt + +_IsEvolvingText:: + text "What? @" + TX_RAM wcf4b + text "" + line "is evolving!" + done + +_FellAsleepText:: + text "<TARGET>" + line "fell asleep!" + prompt + +_AlreadyAsleepText:: + text "<TARGET>'s" + line "already asleep!" + prompt + +_PoisonedText:: + text "<TARGET>" + line "was poisoned!" + prompt + +_BadlyPoisonedText:: + text "<TARGET>'s" + line "badly poisoned!" + prompt + +_BurnedText:: + text "<TARGET>" + line "was burned!" + prompt + +_FrozenText:: + text "<TARGET>" + line "was frozen solid!" + prompt + +_FireDefrostedText:: + text "Fire defrosted" + line "<TARGET>!" + prompt + +_MonsStatsRoseText:: + text "<USER>'s" + line "@" + TX_RAM wcf4b + text "@@" + +_GreatlyRoseText:: + text $4c, "greatly@@" + +_RoseText:: + text " rose!" + prompt + +_MonsStatsFellText:: + text "<TARGET>'s" + line "@" + TX_RAM wcf4b + text "@@" + +_GreatlyFellText:: + text $4c, "greatly@@" + +_FellText:: + text " fell!" + prompt + +_RanFromBattleText:: + text "<USER>" + line "ran from battle!" + prompt + +_RanAwayScaredText:: + text "<TARGET>" + line "ran away scared!" + prompt + +_WasBlownAwayText:: + text "<TARGET>" + line "was blown away!" + prompt + +_ChargeMoveEffectText:: + text "<USER>@@" + +_MadeWhirlwindText:: + text "" + line "made a whirlwind!" + prompt + +_TookInSunlightText:: + text "" + line "took in sunlight!" + prompt + +_LoweredItsHeadText:: + text "" + line "lowered its head!" + prompt + +_SkyAttackGlowingText:: + text "" + line "is glowing!" + prompt + +_FlewUpHighText:: + text "" + line "flew up high!" + prompt + +_DugAHoleText:: + text "" + line "dug a hole!" + prompt + +_BecameConfusedText:: + text "<TARGET>" + line "became confused!" + prompt + +_MimicLearnedMoveText:: + text "<USER>" + line "learned" + cont "@" + TX_RAM wcd6d + text "!" + prompt + +_MoveWasDisabledText:: + text "<TARGET>'s" + line "@" + TX_RAM wcd6d + text " was" + cont "disabled!" + prompt + +_NothingHappenedText:: + text "Nothing happened!" + prompt + +_NoEffectText:: + text "No effect!" + prompt + +_ButItFailedText:: + text "But, it failed! " + prompt + +_DidntAffectText:: + text "It didn't affect" + line "<TARGET>!" + prompt + +_IsUnaffectedText:: + text "<TARGET>" + line "is unaffected!" + prompt + +_ParalyzedMayNotAttackText:: + text "<TARGET>'s" + line "paralyzed! It may" + cont "not attack!" + prompt + +_SubstituteText:: + text "It created a" + line "SUBSTITUTE!" + prompt + +_HasSubstituteText:: + text "<USER>" + line "has a SUBSTITUTE!" + prompt + +_TooWeakSubstituteText:: + text "Too weak to make" + line "a SUBSTITUTE!" + prompt + +_CoinsScatteredText:: + text "Coins scattered" + line "everywhere!" + prompt + +_GettingPumpedText:: + text "<USER>'s" + line "getting pumped!" + prompt + +_WasSeededText:: + text "<TARGET>" + line "was seeded!" + prompt + +_EvadedAttackText:: + text "<TARGET>" + line "evaded attack!" + prompt + +_HitWithRecoilText:: + text "<USER>'s" + line "hit with recoil!" + prompt + +_ConvertedTypeText:: + text "Converted type to" + line "<TARGET>'s!" + prompt + +_StatusChangesEliminatedText:: + text "All STATUS changes" + line "are eliminated!" + prompt + +_StartedSleepingEffect:: + text "<USER>" + line "started sleeping!" + done + +_FellAsleepBecameHealthyText:: + text "<USER>" + line "fell asleep and" + cont "became healthy!" + done + +_RegainedHealthText:: + text "<USER>" + line "regained health!" + prompt + +_TransformedText:: + text "<USER>" + line "transformed into" + cont "@" + TX_RAM wcd6d + text "!" + prompt + +_LightScreenProtectedText:: + text "<USER>'s" + line "protected against" + cont "special attacks!" + prompt + +_ReflectGainedArmorText:: + text "<USER>" + line "gained armor!" + prompt + +_ShroudedInMistText:: + text "<USER>'s" + line "shrouded in mist!" + prompt + +_SuckedHealthText:: + text "Sucked health from" + line "<TARGET>!" + prompt + +_DreamWasEatenText:: + text "<TARGET>'s" + line "dream was eaten!" + prompt + +_TradeCenterText1:: + text "!" + done + +_ColosseumText1:: + text "!" + done diff --git a/data/text/text_4.asm b/data/text/text_4.asm new file mode 100644 index 00000000..6ec22680 --- /dev/null +++ b/data/text/text_4.asm @@ -0,0 +1,217 @@ +_PokemartGreetingText:: + text "Hi there!" + next "May I help you?" + done + +_PokemonFaintedText:: + TX_RAM wcd6d + text "" + line "fainted!" + done + +_PlayerBlackedOutText:: + text "<PLAYER> is out of" + line "useable #MON!" + + para "<PLAYER> blacked" + line "out!" + prompt + +_RepelWoreOffText:: + text "REPEL's effect" + line "wore off." + done + +_PokemartBuyingGreetingText:: + text "Take your time." + done + +_PokemartTellBuyPriceText:: + TX_RAM wcf4b + text "?" + line "That will be" + cont "¥@" + TX_BCD hMoney, 3 | LEADING_ZEROES | LEFT_ALIGN + text ". OK?" + done + +_PokemartBoughtItemText:: + text "Here you are!" + line "Thank you!" + prompt + +_PokemartNotEnoughMoneyText:: + text "You don't have" + line "enough money." + prompt + +_PokemartItemBagFullText:: + text "You can't carry" + line "any more items." + prompt + +_PokemonSellingGreetingText:: + text "What would you" + line "like to sell?" + done + +_PokemartTellSellPriceText:: + text "I can pay you" + line "¥@" + TX_BCD hMoney, 3 | LEADING_ZEROES | LEFT_ALIGN + text " for that." + done + +_PokemartItemBagEmptyText:: + text "You don't have" + line "anything to sell." + prompt + +_PokemartUnsellableItemText:: + text "I can't put a" + line "price on that." + prompt + +_PokemartThankYouText:: + text "Thank you!" + done + +_PokemartAnythingElseText:: + text "Is there anything" + line "else I can do?" + done + +_LearnedMove1Text:: + TX_RAM wLearnMoveMonName + text " learned" + line "@" + TX_RAM wcf4b + text "!@@" + +_WhichMoveToForgetText:: + text "Which move should" + next "be forgotten?" + done + +_AbandonLearningText:: + text "Abandon learning" + line "@" + TX_RAM wcf4b + text "?" + done + +_DidNotLearnText:: + TX_RAM wLearnMoveMonName + text "" + line "did not learn" + cont "@" + TX_RAM wcf4b + text "!" + prompt + +_TryingToLearnText:: + TX_RAM wLearnMoveMonName + text " is" + line "trying to learn" + cont "@" + TX_RAM wcf4b + text "!" + + para "But, @" + TX_RAM wLearnMoveMonName + text "" + line "can't learn more" + cont "than 4 moves!" + + para "Delete an older" + line "move to make room" + cont "for @" + TX_RAM wcf4b + text "?" + done + +_OneTwoAndText:: + text "1, 2 and...@@" + +_PoofText:: + text " Poof!@@" + +_ForgotAndText:: + text "" + para "@" + TX_RAM wLearnMoveMonName + text " forgot" + line "@" + TX_RAM wcd6d + text "!" + + para "And..." + prompt + +_HMCantDeleteText:: + text "HM techniques" + line "can't be deleted!" + prompt + +_PokemonCenterWelcomeText:: + text "Welcome to our" + line "#MON CENTER!" + + para "We heal your" + line "#MON back to" + cont "perfect health!" + prompt + +_ShallWeHealYourPokemonText:: + text "Shall we heal your" + line "#MON?" + done + +_NeedYourPokemonText:: + text "OK. We'll need" + line "your #MON." + done + +_PokemonFightingFitText:: + text "Thank you!" + line "Your #MON are" + cont "fighting fit!" + prompt + +_PokemonCenterFarewellText:: + text "We hope to see" + line "you again!" + done + +_CableClubNPCAreaReservedFor2FriendsLinkedByCableText:: + text "This area is" + line "reserved for 2" + cont "friends who are" + cont "linked by cable." + done + +_CableClubNPCWelcomeText:: + text "Welcome to the" + line "Cable Club!" + done + +_CableClubNPCPleaseApplyHereHaveToSaveText:: + text "Please apply here." + + para "Before opening" + line "the link, we have" + cont "to save the game." + done + +_CableClubNPCPleaseWaitText:: + text "Please wait.@@" + +_CableClubNPCLinkClosedBecauseOfInactivityText:: + text "The link has been" + line "closed because of" + cont "inactivity." + + para "Please contact" + line "your friend and" + cont "come again!" + done diff --git a/data/text/text_5.asm b/data/text/text_5.asm new file mode 100644 index 00000000..26a11a40 --- /dev/null +++ b/data/text/text_5.asm @@ -0,0 +1,102 @@ +_CableClubNPCPleaseComeAgainText:: + text "Please come again!" + done + +_CableClubNPCMakingPreparationsText:: + text "We're making" + line "preparations." + cont "Please wait." + done + +_UsedStrengthText:: + TX_RAM wcd6d + text " used" + line "STRENGTH.@@" + +_CanMoveBouldersText:: + TX_RAM wcd6d + text " can" + line "move boulders." + prompt + +_CurrentTooFastText:: + text "The current is" + line "much too fast!" + prompt + +_CyclingIsFunText:: + text "Cycling is fun!" + line "Forget SURFing!" + prompt + +_FlashLightsAreaText:: + text "A blinding FLASH" + line "lights the area!" + prompt + +_WarpToLastPokemonCenterText:: + text "Warp to the last" + line "#MON CENTER." + done + +_CannotUseTeleportNowText:: + TX_RAM wcd6d + text " can't" + line "use TELEPORT now." + prompt + +_CannotFlyHereText:: + TX_RAM wcd6d + text " can't" + line "FLY here." + prompt + +_NotHealthyEnoughText:: + text "Not healthy" + line "enough." + prompt + +_NewBadgeRequiredText:: + text "No! A new BADGE" + line "is required." + prompt + +_CannotUseItemsHereText:: + text "You can't use items" + line "here." + prompt + +_CannotGetOffHereText:: + text "You can't get off" + line "here." + prompt + +_GotMonText:: + text "<PLAYER> got" + line "@" + TX_RAM wcd6d + text "!@@" + +_SentToBoxText:: + text "There's no more" + line "room for #MON!" + cont "@" + TX_RAM wBoxMonNicks + text " was" + cont "sent to #MON" + cont "BOX @" + TX_RAM wcf4b + text " on PC!" + done + +_BoxIsFullText:: + text "There's no more" + line "room for #MON!" + + para "The #MON BOX" + line "is full and can't" + cont "accept any more!" + + para "Change the BOX at" + line "a #MON CENTER!" + done diff --git a/data/text/text_6.asm b/data/text/text_6.asm new file mode 100644 index 00000000..45c553cd --- /dev/null +++ b/data/text/text_6.asm @@ -0,0 +1,228 @@ +_ItemUseBallText00:: + text "It dodged the" + line "thrown BALL!" + + para "This #MON" + line "can't be caught!" + prompt + +_ItemUseBallText01:: + text "You missed the" + line "#MON!" + prompt + +_ItemUseBallText02:: + text "Darn! The #MON" + line "broke free!" + prompt + +_ItemUseBallText03:: + text "Aww! It appeared" + line "to be caught! " + prompt + +_ItemUseBallText04:: + text "Shoot! It was so" + line "close too!" + prompt + +_ItemUseBallText05:: + text "All right!" + line "@" + TX_RAM wEnemyMonNick + text " was" + cont "caught!@@" + +_ItemUseBallText07:: + TX_RAM wBoxMonNicks + text " was" + line "transferred to" + cont "BILL's PC!" + prompt + +_ItemUseBallText08:: + TX_RAM wBoxMonNicks + text " was" + line "transferred to" + cont "someone's PC!" + prompt + +_ItemUseBallText06:: + text "New #DEX data" + line "will be added for" + cont "@" + TX_RAM wEnemyMonNick + text "!@@" + +_SurfingGotOnText:: + text "<PLAYER> got on" + line "@" + TX_RAM wcd6d + text "!" + prompt + +_SurfingNoPlaceToGetOffText:: + text "There's no place" + line "to get off!" + prompt + +_VitaminStatRoseText:: + TX_RAM wcd6d + text "'s" + line "@" + TX_RAM wcf4b + text " rose." + prompt + +_VitaminNoEffectText:: + text "It won't have any" + line "effect." + prompt + +_ThrewBaitText:: + text "<PLAYER> threw" + line "some BAIT." + done + +_ThrewRockText:: + text "<PLAYER> threw a" + line "ROCK." + done + +_PlayedFluteNoEffectText:: + text "Played the #" + line "FLUTE." + + para "Now, that's a" + line "catchy tune!" + prompt + +_FluteWokeUpText:: + text "All sleeping" + line "#MON woke up." + prompt + +_PlayedFluteHadEffectText:: + text "<PLAYER> played the" + line "# FLUTE.@@" + +_CoinCaseNumCoinsText:: + text "Coins" + line "@" + TX_BCD wPlayerCoins, 2 | LEADING_ZEROES | LEFT_ALIGN + text " " + prompt + +_ItemfinderFoundItemText:: + text "Yes! ITEMFINDER" + line "indicates there's" + cont "an item nearby." + prompt + +_ItemfinderFoundNothingText:: + text "Nope! ITEMFINDER" + line "isn't responding." + prompt + +_RaisePPWhichTechniqueText:: + text "Raise PP of which" + line "technique?" + done + +_RestorePPWhichTechniqueText:: + text "Restore PP of" + line "which technique?" + done + +_PPMaxedOutText:: + TX_RAM wcf4b + text "'s PP" + line "is maxed out." + prompt + +_PPIncreasedText:: + TX_RAM wcf4b + text "'s PP" + line "increased." + prompt + +_PPRestoredText:: + text "PP was restored." + prompt + +_BootedUpTMText:: + text "Booted up a TM!" + prompt + +_BootedUpHMText:: + text "Booted up an HM!" + prompt + +_TeachMachineMoveText:: + text "It contained" + line "@" + TX_RAM wcf4b + text "!" + + para "Teach @" + TX_RAM wcf4b + text "" + line "to a #MON?" + done + +_MonCannotLearnMachineMoveText:: + TX_RAM wcd6d + text " is not" + line "compatible with" + cont "@" + TX_RAM wcf4b + text "." + + para "It can't learn" + line "@" + TX_RAM wcf4b + text "." + prompt + +_ItemUseNotTimeText:: + text "OAK: <PLAYER>!" + line "This isn't the" + cont "time to use that! " + prompt + +_ItemUseNotYoursToUseText:: + text "This isn't yours" + line "to use!" + prompt + +_ItemUseNoEffectText:: + text "It won't have any" + line "effect." + prompt + +_ThrowBallAtTrainerMonText1:: + text "The trainer" + line "blocked the BALL!" + prompt + +_ThrowBallAtTrainerMonText2:: + text "Don't be a thief!" + prompt + +_NoCyclingAllowedHereText:: + text "No cycling" + next "allowed here." + prompt + +_NoSurfingHereText:: + text "No SURFing on" + line "@" + TX_RAM wcd6d + text " here!" + prompt + +_BoxFullCannotThrowBallText:: + text "The #MON BOX" + line "is full! Can't" + cont "use that item!" + prompt diff --git a/data/text/text_7.asm b/data/text/text_7.asm new file mode 100644 index 00000000..e836fc8e --- /dev/null +++ b/data/text/text_7.asm @@ -0,0 +1,196 @@ +_ItemUseText001:: + text "<PLAYER> used@@" + +_ItemUseText002:: + TX_RAM wcf4b + text "!" + done + +_GotOnBicycleText1:: + text "<PLAYER> got on the@@" + +_GotOnBicycleText2:: + TX_RAM wcf4b + text "!" + prompt + +_GotOffBicycleText1:: + text "<PLAYER> got off@@" + +_GotOffBicycleText2:: + text "the @" + TX_RAM wcf4b + text "." + prompt + +_ThrewAwayItemText:: + text "Threw away" + line "@" + TX_RAM wcd6d + text "." + prompt + +_IsItOKToTossItemText:: + text "Is it OK to toss" + line "@" + TX_RAM wcf4b + text "?" + prompt + +_TooImportantToTossText:: + text "That's too impor-" + line "tant to toss!" + prompt + +_AlreadyKnowsText:: + TX_RAM wcd6d + text " knows" + line "@" + TX_RAM wcf4b + text "!" + prompt + +_ConnectCableText:: + text "Okay, connect the" + line "cable like so!" + prompt + +_TradedForText:: + text "<PLAYER> traded" + line "@" + TX_RAM wInGameTradeGiveMonName + text " for" + cont "@" + TX_RAM wInGameTradeReceiveMonName + text "!@@" + +_WannaTrade1Text:: + text "I'm looking for" + line "@" + TX_RAM wInGameTradeGiveMonName + text "! Wanna" + + para "trade one for" + line "@" + TX_RAM wInGameTradeReceiveMonName + text "? " + done + +_NoTrade1Text:: + text "Awww!" + line "Oh well..." + done + +_WrongMon1Text:: + text "What? That's not" + line "@" + TX_RAM wInGameTradeGiveMonName + text "!" + + para "If you get one," + line "come back here!" + done + +_Thanks1Text:: + text "Hey thanks!" + done + +_AfterTrade1Text:: + text "Isn't my old" + line "@" + TX_RAM wInGameTradeReceiveMonName + text " great?" + done + +_WannaTrade2Text:: + text "Hello there! Do" + line "you want to trade" + + para "your @" + TX_RAM wInGameTradeGiveMonName + text "" + line "for @" + TX_RAM wInGameTradeReceiveMonName + text "?" + done + +_NoTrade2Text:: + text "Well, if you" + line "don't want to..." + done + +_WrongMon2Text:: + text "Hmmm? This isn't" + line "@" + TX_RAM wInGameTradeGiveMonName + text "." + + para "Think of me when" + line "you get one." + done + +_Thanks2Text:: + text "Thanks!" + done + +_AfterTrade2Text:: + text "The @" + TX_RAM wInGameTradeGiveMonName + text " you" + line "traded to me" + + para "went and evolved!" + done + +_WannaTrade3Text:: + text "Hi! Do you have" + line "@" + TX_RAM wInGameTradeGiveMonName + text "?" + + para "Want to trade it" + line "for @" + TX_RAM wInGameTradeReceiveMonName + text "?" + done + +_NoTrade3Text:: + text "That's too bad." + done + +_WrongMon3Text:: + text "...This is no" + line "@" + TX_RAM wInGameTradeGiveMonName + text "." + + para "If you get one," + line "trade it with me!" + done + +_Thanks3Text:: + text "Thanks pal!" + done + +_AfterTrade3Text:: + text "How is my old" + line "@" + TX_RAM wInGameTradeReceiveMonName + text "?" + + para "My @" + TX_RAM wInGameTradeGiveMonName + text " is" + line "doing great!" + done + +_NothingToCutText:: + text "There isn't" + line "anything to CUT!" + prompt + +_UsedCutText:: + TX_RAM wcd6d + text " hacked" + line "away with CUT!" + prompt diff --git a/data/text/unused_names.asm b/data/text/unused_names.asm new file mode 100644 index 00000000..e629c44e --- /dev/null +++ b/data/text/unused_names.asm @@ -0,0 +1,20 @@ +UnusedNames:: + db "かみなりバッヂ@" ; THUNDER BADGE + db "かいがらバッヂ@" ; SHELL BADGE + db "おじぞうバッヂ@" ; JIZOU BADGE + db "はやぶさバッヂ@" ; FALCON BADGE + db "ひんやりバッヂ@" ; CHILL BADGE + db "なかよしバッヂ@" ; FRIENDSHIP BADGE + db "バラバッヂ@" ; ROSE BADGE + db "ひのたまバッヂ@" ; FIREBALL BADGE + db "ゴールドバッヂ@" ; GOLD BADGE + db "たまご@" ; EGG + db "ひよこ@" ; CHICK + db "ブロンズ@" ; BRONZE + db "シルバー@" ; SILVER + db "ゴールド@" ; GOLD + db "プチキャプテン@" ; PETIT CAPTAIN + db "キャプテン@" ; CAPTAIN + db "プチマスター@" ; PETIT MASTER + db "マスター@" ; MASTER + db "エクセレント" ; EXCELLENT diff --git a/data/text_predef_pointers.asm b/data/text_predef_pointers.asm new file mode 100644 index 00000000..bbe9c8d8 --- /dev/null +++ b/data/text_predef_pointers.asm @@ -0,0 +1,71 @@ +add_tx_pre: MACRO +\1_id:: dw \1 +ENDM + +TextPredefs:: + add_tx_pre CardKeySuccessText ; 01 + add_tx_pre CardKeyFailText ; 02 + add_tx_pre RedBedroomPCText ; 03 + add_tx_pre RedBedroomSNESText ; 04 + add_tx_pre PushStartText ; 05 + add_tx_pre SaveOptionText ; 06 + add_tx_pre StrengthsAndWeaknessesText ; 07 + add_tx_pre OakLabEmailText ; 08 + add_tx_pre AerodactylFossilText ; 09 + add_tx_pre Route15UpstairsBinocularsText ; 0A + add_tx_pre KabutopsFossilText ; 0B + add_tx_pre GymStatueText1 ; 0C + add_tx_pre GymStatueText2 ; 0D + add_tx_pre BookcaseText ; 0E + add_tx_pre ViridianCityPokecenterBenchGuyText ; 0F + add_tx_pre PewterCityPokecenterBenchGuyText ; 10 + add_tx_pre CeruleanCityPokecenterBenchGuyText ; 11 + add_tx_pre LavenderCityPokecenterBenchGuyText ; 12 + add_tx_pre VermilionCityPokecenterBenchGuyText ; 13 + add_tx_pre CeladonCityPokecenterBenchGuyText ; 14 + add_tx_pre CeladonCityHotelText ; 15 + add_tx_pre FuchsiaCityPokecenterBenchGuyText ; 16 + add_tx_pre CinnabarIslandPokecenterBenchGuyText ; 17 + add_tx_pre SaffronCityPokecenterBenchGuyText ; 18 + add_tx_pre MtMoonPokecenterBenchGuyText ; 19 + add_tx_pre RockTunnelPokecenterBenchGuyText ; 1A + add_tx_pre UnusedBenchGuyText1 ; 1B XXX unused + add_tx_pre UnusedBenchGuyText2 ; 1C XXX unused + add_tx_pre UnusedBenchGuyText3 ; 1D XXX unused + add_tx_pre UnusedPredefText ; 1E XXX unused + add_tx_pre PokemonCenterPCText ; 1F + add_tx_pre ViridianSchoolNotebook ; 20 + add_tx_pre ViridianSchoolBlackboard ; 21 + add_tx_pre JustAMomentText ; 22 + add_tx_pre OpenBillsPCText ; 23 + add_tx_pre FoundHiddenItemText ; 24 + add_tx_pre HiddenItemBagFullText ; 25 XXX unused + add_tx_pre VermilionGymTrashText ; 26 + add_tx_pre IndigoPlateauHQText ; 27 + add_tx_pre GameCornerOutOfOrderText ; 28 + add_tx_pre GameCornerOutToLunchText ; 29 + add_tx_pre GameCornerSomeonesKeysText ; 2A + add_tx_pre FoundHiddenCoinsText ; 2B + add_tx_pre DroppedHiddenCoinsText ; 2C + add_tx_pre BillsHouseMonitorText ; 2D + add_tx_pre BillsHouseInitiatedText ; 2E + add_tx_pre BillsHousePokemonList ; 2F + add_tx_pre MagazinesText ; 30 + add_tx_pre CinnabarGymQuiz ; 31 + add_tx_pre GameCornerNoCoinsText ; 32 + add_tx_pre GameCornerCoinCaseText ; 33 + add_tx_pre LinkCableHelp ; 34 + add_tx_pre TMNotebook ; 35 + add_tx_pre FightingDojoText ; 36 + add_tx_pre EnemiesOnEverySideText ; 37 + add_tx_pre WhatGoesAroundComesAroundText ; 38 + add_tx_pre NewBicycleText ; 39 + add_tx_pre IndigoPlateauStatues ; 3A + add_tx_pre VermilionGymTrashSuccessText1 ; 3B + add_tx_pre VermilionGymTrashSuccessText2 ; 3C XXX unused + add_tx_pre VermilionGymTrashSuccessText3 ; 3D + add_tx_pre VermilionGymTrashFailText ; 3E + add_tx_pre TownMapText ; 3F + add_tx_pre BookOrSculptureText ; 40 + add_tx_pre ElevatorText ; 41 + add_tx_pre PokemonStuffText ; 42 diff --git a/data/tileset_headers.asm b/data/tileset_headers.asm deleted file mode 100755 index d8e0d9b4..00000000 --- a/data/tileset_headers.asm +++ /dev/null @@ -1,25 +0,0 @@ -Tilesets: - tileset Overworld_Block, Overworld_GFX, Overworld_Coll, $FF,$FF,$FF, $52, OUTDOOR - tileset RedsHouse1_Block, RedsHouse1_GFX, RedsHouse1_Coll, $FF,$FF,$FF, $FF, INDOOR - tileset Mart_Block, Mart_GFX, Mart_Coll, $18,$19,$1E, $FF, INDOOR - tileset Forest_Block, Forest_GFX, Forest_Coll, $FF,$FF,$FF, $20, CAVE - tileset RedsHouse2_Block, RedsHouse2_GFX, RedsHouse2_Coll, $FF,$FF,$FF, $FF, INDOOR - tileset Dojo_Block, Dojo_GFX, Dojo_Coll, $3A,$FF,$FF, $FF, OUTDOOR - tileset Pokecenter_Block, Pokecenter_GFX, Pokecenter_Coll, $18,$19,$1E, $FF, INDOOR - tileset Gym_Block, Gym_GFX, Gym_Coll, $3A,$FF,$FF, $FF, OUTDOOR - tileset House_Block, House_GFX, House_Coll, $FF,$FF,$FF, $FF, INDOOR - tileset ForestGate_Block, ForestGate_GFX, ForestGate_Coll, $17,$32,$FF, $FF, INDOOR - tileset Museum_Block, Museum_GFX, Museum_Coll, $17,$32,$FF, $FF, INDOOR - tileset Underground_Block, Underground_GFX, Underground_Coll, $FF,$FF,$FF, $FF, INDOOR - tileset Gate_Block, Gate_GFX, Gate_Coll, $17,$32,$FF, $FF, INDOOR - tileset Ship_Block, Ship_GFX, Ship_Coll, $FF,$FF,$FF, $FF, CAVE - tileset ShipPort_Block, ShipPort_GFX, ShipPort_Coll, $FF,$FF,$FF, $FF, CAVE - tileset Cemetery_Block, Cemetery_GFX, Cemetery_Coll, $12,$FF,$FF, $FF, INDOOR - tileset Interior_Block, Interior_GFX, Interior_Coll, $FF,$FF,$FF, $FF, INDOOR - tileset Cavern_Block, Cavern_GFX, Cavern_Coll, $FF,$FF,$FF, $FF, CAVE - tileset Lobby_Block, Lobby_GFX, Lobby_Coll, $15,$36,$FF, $FF, INDOOR - tileset Mansion_Block, Mansion_GFX, Mansion_Coll, $FF,$FF,$FF, $FF, INDOOR - tileset Lab_Block, Lab_GFX, Lab_Coll, $FF,$FF,$FF, $FF, INDOOR - tileset Club_Block, Club_GFX, Club_Coll, $07,$17,$FF, $FF, INDOOR - tileset Facility_Block, Facility_GFX, Facility_Coll, $12,$FF,$FF, $FF, CAVE - tileset Plateau_Block, Plateau_GFX, Plateau_Coll, $FF,$FF,$FF, $45, CAVE diff --git a/data/bike_riding_tilesets.asm b/data/tilesets/bike_riding_tilesets.asm index 48c2cee6..48c2cee6 100755 --- a/data/bike_riding_tilesets.asm +++ b/data/tilesets/bike_riding_tilesets.asm diff --git a/data/bookshelf_tile_ids.asm b/data/tilesets/bookshelf_tile_ids.asm index 535bf8e9..535bf8e9 100644 --- a/data/bookshelf_tile_ids.asm +++ b/data/tilesets/bookshelf_tile_ids.asm diff --git a/data/collision_tile_ids.asm b/data/tilesets/collision_tile_ids.asm index c18a7e72..c18a7e72 100644 --- a/data/collision_tile_ids.asm +++ b/data/tilesets/collision_tile_ids.asm diff --git a/data/cut_tree_blocks.asm b/data/tilesets/cut_tree_blocks.asm index eb63a712..eb63a712 100644 --- a/data/cut_tree_blocks.asm +++ b/data/tilesets/cut_tree_blocks.asm diff --git a/data/door_tile_ids.asm b/data/tilesets/door_tile_ids.asm index 686e418c..686e418c 100644 --- a/data/door_tile_ids.asm +++ b/data/tilesets/door_tile_ids.asm diff --git a/data/dungeon_tilesets.asm b/data/tilesets/dungeon_tilesets.asm index 01e86714..01e86714 100755 --- a/data/dungeon_tilesets.asm +++ b/data/tilesets/dungeon_tilesets.asm diff --git a/data/ledge_tiles.asm b/data/tilesets/ledge_tiles.asm index b742af1a..b742af1a 100644 --- a/data/ledge_tiles.asm +++ b/data/tilesets/ledge_tiles.asm diff --git a/data/tilesets/tileset_headers.asm b/data/tilesets/tileset_headers.asm new file mode 100755 index 00000000..8f825330 --- /dev/null +++ b/data/tilesets/tileset_headers.asm @@ -0,0 +1,33 @@ +tileset: MACRO + db BANK(\2) ; BANK(GFX) + dw \1, \2, \3 ; Block, GFX, Coll + db \4, \5, \6 ; counter tiles + db \7 ; grass tile + db \8 ; permission (indoor, cave, outdoor) +ENDM + +Tilesets: + tileset Overworld_Block, Overworld_GFX, Overworld_Coll, $FF,$FF,$FF, $52, OUTDOOR + tileset RedsHouse1_Block, RedsHouse1_GFX, RedsHouse1_Coll, $FF,$FF,$FF, $FF, INDOOR + tileset Mart_Block, Mart_GFX, Mart_Coll, $18,$19,$1E, $FF, INDOOR + tileset Forest_Block, Forest_GFX, Forest_Coll, $FF,$FF,$FF, $20, CAVE + tileset RedsHouse2_Block, RedsHouse2_GFX, RedsHouse2_Coll, $FF,$FF,$FF, $FF, INDOOR + tileset Dojo_Block, Dojo_GFX, Dojo_Coll, $3A,$FF,$FF, $FF, OUTDOOR + tileset Pokecenter_Block, Pokecenter_GFX, Pokecenter_Coll, $18,$19,$1E, $FF, INDOOR + tileset Gym_Block, Gym_GFX, Gym_Coll, $3A,$FF,$FF, $FF, OUTDOOR + tileset House_Block, House_GFX, House_Coll, $FF,$FF,$FF, $FF, INDOOR + tileset ForestGate_Block, ForestGate_GFX, ForestGate_Coll, $17,$32,$FF, $FF, INDOOR + tileset Museum_Block, Museum_GFX, Museum_Coll, $17,$32,$FF, $FF, INDOOR + tileset Underground_Block, Underground_GFX, Underground_Coll, $FF,$FF,$FF, $FF, INDOOR + tileset Gate_Block, Gate_GFX, Gate_Coll, $17,$32,$FF, $FF, INDOOR + tileset Ship_Block, Ship_GFX, Ship_Coll, $FF,$FF,$FF, $FF, CAVE + tileset ShipPort_Block, ShipPort_GFX, ShipPort_Coll, $FF,$FF,$FF, $FF, CAVE + tileset Cemetery_Block, Cemetery_GFX, Cemetery_Coll, $12,$FF,$FF, $FF, INDOOR + tileset Interior_Block, Interior_GFX, Interior_Coll, $FF,$FF,$FF, $FF, INDOOR + tileset Cavern_Block, Cavern_GFX, Cavern_Coll, $FF,$FF,$FF, $FF, CAVE + tileset Lobby_Block, Lobby_GFX, Lobby_Coll, $15,$36,$FF, $FF, INDOOR + tileset Mansion_Block, Mansion_GFX, Mansion_Coll, $FF,$FF,$FF, $FF, INDOOR + tileset Lab_Block, Lab_GFX, Lab_Coll, $FF,$FF,$FF, $FF, INDOOR + tileset Club_Block, Club_GFX, Club_Coll, $07,$17,$FF, $FF, INDOOR + tileset Facility_Block, Facility_GFX, Facility_Coll, $12,$FF,$FF, $FF, CAVE + tileset Plateau_Block, Plateau_GFX, Plateau_Coll, $FF,$FF,$FF, $45, CAVE diff --git a/data/warp_carpet_tile_ids.asm b/data/tilesets/warp_carpet_tile_ids.asm index 6f312bc7..6f312bc7 100644 --- a/data/warp_carpet_tile_ids.asm +++ b/data/tilesets/warp_carpet_tile_ids.asm diff --git a/data/warp_pad_hole_tile_ids.asm b/data/tilesets/warp_pad_hole_tile_ids.asm index 3e2c1890..3e2c1890 100644 --- a/data/warp_pad_hole_tile_ids.asm +++ b/data/tilesets/warp_pad_hole_tile_ids.asm diff --git a/data/warp_tile_ids.asm b/data/tilesets/warp_tile_ids.asm index 6fd326cc..6fd326cc 100755 --- a/data/warp_tile_ids.asm +++ b/data/tilesets/warp_tile_ids.asm diff --git a/data/water_tilesets.asm b/data/tilesets/water_tilesets.asm index 00f0ab1f..00f0ab1f 100644 --- a/data/water_tilesets.asm +++ b/data/tilesets/water_tilesets.asm diff --git a/data/trainer_ai_pointers.asm b/data/trainer_ai_pointers.asm deleted file mode 100644 index d7cb5f19..00000000 --- a/data/trainer_ai_pointers.asm +++ /dev/null @@ -1,51 +0,0 @@ -TrainerAIPointers: -; one entry per trainer class -; first byte, number of times (per Pokémon) it can occur -; next two bytes, pointer to AI subroutine for trainer class - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,JugglerAI ; juggler_x - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,GenericAI - dbw 3,JugglerAI ; juggler - dbw 3,GenericAI - dbw 3,GenericAI - dbw 2,BlackbeltAI ; blackbelt - dbw 3,GenericAI - dbw 3,GenericAI - dbw 1,GenericAI ; chief - dbw 3,GenericAI - dbw 1,GiovanniAI ; giovanni - dbw 3,GenericAI - dbw 2,CooltrainerMAI ; cooltrainerm - dbw 1,CooltrainerFAI ; cooltrainerf - dbw 2,BrunoAI ; bruno - dbw 5,BrockAI ; brock - dbw 1,MistyAI ; misty - dbw 1,LtSurgeAI ; surge - dbw 1,ErikaAI ; erika - dbw 2,KogaAI ; koga - dbw 2,BlaineAI ; blaine - dbw 1,SabrinaAI ; sabrina - dbw 3,GenericAI - dbw 1,Sony2AI ; sony2 - dbw 1,Sony3AI ; sony3 - dbw 2,LoreleiAI ; lorelei - dbw 3,GenericAI - dbw 2,AgathaAI ; agatha - dbw 1,LanceAI ; lance diff --git a/data/trainers/ai_pointers.asm b/data/trainers/ai_pointers.asm new file mode 100644 index 00000000..26f3001e --- /dev/null +++ b/data/trainers/ai_pointers.asm @@ -0,0 +1,52 @@ +TrainerAIPointers: +; one entry per trainer class +; first byte, number of times (per Pokémon) it can occur +; next two bytes, pointer to AI subroutine for trainer class +; subroutines are defined in engine/battle/trainer_ai.asm + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,JugglerAI ; juggler_x + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,GenericAI + dbw 3,JugglerAI ; juggler + dbw 3,GenericAI + dbw 3,GenericAI + dbw 2,BlackbeltAI ; blackbelt + dbw 3,GenericAI + dbw 3,GenericAI + dbw 1,GenericAI ; chief + dbw 3,GenericAI + dbw 1,GiovanniAI ; giovanni + dbw 3,GenericAI + dbw 2,CooltrainerMAI ; cooltrainerm + dbw 1,CooltrainerFAI ; cooltrainerf + dbw 2,BrunoAI ; bruno + dbw 5,BrockAI ; brock + dbw 1,MistyAI ; misty + dbw 1,LtSurgeAI ; surge + dbw 1,ErikaAI ; erika + dbw 2,KogaAI ; koga + dbw 2,BlaineAI ; blaine + dbw 1,SabrinaAI ; sabrina + dbw 3,GenericAI + dbw 1,Sony2AI ; sony2 + dbw 1,Sony3AI ; sony3 + dbw 2,LoreleiAI ; lorelei + dbw 3,GenericAI + dbw 2,AgathaAI ; agatha + dbw 1,LanceAI ; lance diff --git a/data/trainer_types.asm b/data/trainers/encounter_types.asm index cc7ca605..cc7ca605 100755 --- a/data/trainer_types.asm +++ b/data/trainers/encounter_types.asm diff --git a/data/trainer_move_choices.asm b/data/trainers/move_choices.asm index ccbae448..ccbae448 100644 --- a/data/trainer_move_choices.asm +++ b/data/trainers/move_choices.asm diff --git a/text/trainer_name_pointers.asm b/data/trainers/name_pointers.asm index aa5e72d3..aa5e72d3 100644 --- a/text/trainer_name_pointers.asm +++ b/data/trainers/name_pointers.asm diff --git a/text/trainer_names.asm b/data/trainers/names.asm index d8e1f550..d8e1f550 100755 --- a/text/trainer_names.asm +++ b/data/trainers/names.asm diff --git a/data/trainer_parties.asm b/data/trainers/parties.asm index e448d431..e448d431 100755 --- a/data/trainer_parties.asm +++ b/data/trainers/parties.asm diff --git a/data/trainer_pic_money_pointers.asm b/data/trainers/pic_pointers_money.asm index 85f34497..85f34497 100755 --- a/data/trainer_pic_money_pointers.asm +++ b/data/trainers/pic_pointers_money.asm diff --git a/data/trainer_moves.asm b/data/trainers/special_moves.asm index 2e7b52a5..2e7b52a5 100755 --- a/data/trainer_moves.asm +++ b/data/trainers/special_moves.asm diff --git a/text/type_names.asm b/data/types/names.asm index d94675b8..d94675b8 100755 --- a/text/type_names.asm +++ b/data/types/names.asm diff --git a/data/type_effects.asm b/data/types/type_matchups.asm index 1321a3d9..1321a3d9 100755 --- a/data/type_effects.asm +++ b/data/types/type_matchups.asm diff --git a/data/good_rod.asm b/data/wild/good_rod.asm index 6c23f402..6c23f402 100755 --- a/data/good_rod.asm +++ b/data/wild/good_rod.asm diff --git a/data/wild/grass_water.asm b/data/wild/grass_water.asm new file mode 100755 index 00000000..9dc41f82 --- /dev/null +++ b/data/wild/grass_water.asm @@ -0,0 +1,321 @@ +WildDataPointers: + dw NoMons ; PALLET_TOWN + dw NoMons ; VIRIDIAN_CITY + dw NoMons ; PEWTER_CITY + dw NoMons ; CERULEAN_CITY + dw NoMons ; LAVENDER_TOWN + dw NoMons ; VERMILION_CITY + dw NoMons ; CELADON_CITY + dw NoMons ; FUCHSIA_CITY + dw NoMons ; CINNABAR_ISLAND + dw NoMons ; INDIGO_PLATEAU + dw NoMons ; SAFFRON_CITY + dw NoMons ; unused + dw Route1Mons ; ROUTE_1 + dw Route2Mons ; ROUTE_2 + dw Route3Mons ; ROUTE_3 + dw Route4Mons ; ROUTE_4 + dw Route5Mons ; ROUTE_5 + dw Route6Mons ; ROUTE_6 + dw Route7Mons ; ROUTE_7 + dw Route8Mons ; ROUTE_8 + dw Route9Mons ; ROUTE_9 + dw Route10Mons ; ROUTE_10 + dw Route11Mons ; ROUTE_11 + dw Route12Mons ; ROUTE_12 + dw Route13Mons ; ROUTE_13 + dw Route14Mons ; ROUTE_14 + dw Route15Mons ; ROUTE_15 + dw Route16Mons ; ROUTE_16 + dw Route17Mons ; ROUTE_17 + dw Route18Mons ; ROUTE_18 + dw WaterMons ; ROUTE_19 + dw WaterMons ; ROUTE_20 + dw Route21Mons ; ROUTE_21 + dw Route22Mons ; ROUTE_22 + dw Route23Mons ; ROUTE_23 + dw Route24Mons ; ROUTE_24 + dw Route25Mons ; ROUTE_25 + dw NoMons ; REDS_HOUSE_1F + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw ForestMons ; ViridianForest + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw MoonMons1 + dw MoonMonsB1 + dw MoonMonsB2 + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw TunnelMonsB1 + dw PowerPlantMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw PlateauMons1 + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw TowerMons1 + dw TowerMons2 + dw TowerMons3 + dw TowerMons4 + dw TowerMons5 + dw TowerMons6 + dw TowerMons7 + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw IslandMonsB1 + dw IslandMonsB2 + dw IslandMonsB3 + dw IslandMonsB4 + dw NoMons + dw NoMons + dw MansionMons1 + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw IslandMons1 + dw NoMons + dw PlateauMons2 + dw NoMons + dw NoMons + dw CaveMons + dw PlateauMons3 + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw MansionMons2 + dw MansionMons3 + dw MansionMonsB1 + dw ZoneMons1 + dw ZoneMons2 + dw ZoneMons3 + dw ZoneMonsCenter + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw DungeonMons2 + dw DungeonMonsB1 + dw DungeonMons1 + dw NoMons + dw NoMons + dw NoMons + dw TunnelMonsB2 + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw NoMons + dw -1 ; end + +; wild pokemon data is divided into two parts. +; first part: pokemon found in grass +; second part: pokemon found while surfing +; each part goes as follows: + ; if first byte == 00, then + ; no wild pokemon on this map + ; if first byte != 00, then + ; first byte is encounter rate + ; followed by 20 bytes: + ; level, species (ten times) + +INCLUDE "data/wild/maps/nothing.asm" +INCLUDE "data/wild/maps/Route1.asm" +INCLUDE "data/wild/maps/Route2.asm" +INCLUDE "data/wild/maps/Route22.asm" +INCLUDE "data/wild/maps/ViridianForest.asm" +INCLUDE "data/wild/maps/Route3.asm" +INCLUDE "data/wild/maps/MtMoon1F.asm" +INCLUDE "data/wild/maps/MtMoonB1F.asm" +INCLUDE "data/wild/maps/MtMoonB2F.asm" +INCLUDE "data/wild/maps/Route4.asm" +INCLUDE "data/wild/maps/Route24.asm" +INCLUDE "data/wild/maps/Route25.asm" +INCLUDE "data/wild/maps/Route9.asm" +INCLUDE "data/wild/maps/Route5.asm" +INCLUDE "data/wild/maps/Route6.asm" +INCLUDE "data/wild/maps/Route11.asm" +INCLUDE "data/wild/maps/RockTunnel1F.asm" +INCLUDE "data/wild/maps/RockTunnelB1F.asm" +INCLUDE "data/wild/maps/Route10.asm" +INCLUDE "data/wild/maps/Route12.asm" +INCLUDE "data/wild/maps/Route8.asm" +INCLUDE "data/wild/maps/Route7.asm" +INCLUDE "data/wild/maps/PokemonTower1F.asm" +INCLUDE "data/wild/maps/PokemonTower2F.asm" +INCLUDE "data/wild/maps/PokemonTower3F.asm" +INCLUDE "data/wild/maps/PokemonTower4F.asm" +INCLUDE "data/wild/maps/PokemonTower5F.asm" +INCLUDE "data/wild/maps/PokemonTower6F.asm" +INCLUDE "data/wild/maps/PokemonTower7F.asm" +INCLUDE "data/wild/maps/Route13.asm" +INCLUDE "data/wild/maps/Route14.asm" +INCLUDE "data/wild/maps/Route15.asm" +INCLUDE "data/wild/maps/Route16.asm" +INCLUDE "data/wild/maps/Route17.asm" +INCLUDE "data/wild/maps/Route18.asm" +INCLUDE "data/wild/maps/SafariZoneCenter.asm" +INCLUDE "data/wild/maps/SafariZoneEast.asm" +INCLUDE "data/wild/maps/SafariZoneNorth.asm" +INCLUDE "data/wild/maps/SafariZoneWest.asm" +INCLUDE "data/wild/maps/SeaRoutes.asm" +INCLUDE "data/wild/maps/SeafoamIslands1F.asm" +INCLUDE "data/wild/maps/SeafoamIslandsB1F.asm" +INCLUDE "data/wild/maps/SeafoamIslandsB2F.asm" +INCLUDE "data/wild/maps/SeafoamIslandsB3F.asm" +INCLUDE "data/wild/maps/SeafoamIslandsB4F.asm" +INCLUDE "data/wild/maps/PokemonMansion1F.asm" +INCLUDE "data/wild/maps/PokemonMansion2F.asm" +INCLUDE "data/wild/maps/PokemonMansion3F.asm" +INCLUDE "data/wild/maps/PokemonMansionB1F.asm" +INCLUDE "data/wild/maps/Route21.asm" +INCLUDE "data/wild/maps/CeruleanCave1F.asm" +INCLUDE "data/wild/maps/CeruleanCave2F.asm" +INCLUDE "data/wild/maps/CeruleanCaveB1F.asm" +INCLUDE "data/wild/maps/PowerPlant.asm" +INCLUDE "data/wild/maps/Route23.asm" +INCLUDE "data/wild/maps/VictoryRoad2F.asm" +INCLUDE "data/wild/maps/VictoryRoad3F.asm" +INCLUDE "data/wild/maps/VictoryRoad1F.asm" +INCLUDE "data/wild/maps/DiglettsCave.asm" diff --git a/data/wildPokemon/ceruleancave1.asm b/data/wild/maps/CeruleanCave1F.asm index 20e8643a..20e8643a 100644 --- a/data/wildPokemon/ceruleancave1.asm +++ b/data/wild/maps/CeruleanCave1F.asm diff --git a/data/wildPokemon/ceruleancave2.asm b/data/wild/maps/CeruleanCave2F.asm index 5afe55ac..5afe55ac 100644 --- a/data/wildPokemon/ceruleancave2.asm +++ b/data/wild/maps/CeruleanCave2F.asm diff --git a/data/wildPokemon/ceruleancaveb1.asm b/data/wild/maps/CeruleanCaveB1F.asm index 245d5912..245d5912 100644 --- a/data/wildPokemon/ceruleancaveb1.asm +++ b/data/wild/maps/CeruleanCaveB1F.asm diff --git a/data/wildPokemon/diglettscave.asm b/data/wild/maps/DiglettsCave.asm index 37512687..37512687 100755 --- a/data/wildPokemon/diglettscave.asm +++ b/data/wild/maps/DiglettsCave.asm diff --git a/data/wildPokemon/mtmoon1.asm b/data/wild/maps/MtMoon1F.asm index 44b34c45..44b34c45 100755 --- a/data/wildPokemon/mtmoon1.asm +++ b/data/wild/maps/MtMoon1F.asm diff --git a/data/wildPokemon/mtmoonb1.asm b/data/wild/maps/MtMoonB1F.asm index 5c0d8a53..5c0d8a53 100755 --- a/data/wildPokemon/mtmoonb1.asm +++ b/data/wild/maps/MtMoonB1F.asm diff --git a/data/wildPokemon/mtmoonb2.asm b/data/wild/maps/MtMoonB2F.asm index cbf97e7e..cbf97e7e 100755 --- a/data/wildPokemon/mtmoonb2.asm +++ b/data/wild/maps/MtMoonB2F.asm diff --git a/data/wildPokemon/mansion1.asm b/data/wild/maps/PokemonMansion1F.asm index 22ad032b..22ad032b 100755 --- a/data/wildPokemon/mansion1.asm +++ b/data/wild/maps/PokemonMansion1F.asm diff --git a/data/wildPokemon/mansion2.asm b/data/wild/maps/PokemonMansion2F.asm index 985474fc..985474fc 100755 --- a/data/wildPokemon/mansion2.asm +++ b/data/wild/maps/PokemonMansion2F.asm diff --git a/data/wildPokemon/mansion3.asm b/data/wild/maps/PokemonMansion3F.asm index 9c5521ae..9c5521ae 100755 --- a/data/wildPokemon/mansion3.asm +++ b/data/wild/maps/PokemonMansion3F.asm diff --git a/data/wildPokemon/mansionb1.asm b/data/wild/maps/PokemonMansionB1F.asm index 83266ddd..83266ddd 100755 --- a/data/wildPokemon/mansionb1.asm +++ b/data/wild/maps/PokemonMansionB1F.asm diff --git a/data/wildPokemon/pokemontower1.asm b/data/wild/maps/PokemonTower1F.asm index df951e70..df951e70 100755 --- a/data/wildPokemon/pokemontower1.asm +++ b/data/wild/maps/PokemonTower1F.asm diff --git a/data/wildPokemon/pokemontower2.asm b/data/wild/maps/PokemonTower2F.asm index dcbe0da0..dcbe0da0 100755 --- a/data/wildPokemon/pokemontower2.asm +++ b/data/wild/maps/PokemonTower2F.asm diff --git a/data/wildPokemon/pokemontower3.asm b/data/wild/maps/PokemonTower3F.asm index 135ed84f..135ed84f 100755 --- a/data/wildPokemon/pokemontower3.asm +++ b/data/wild/maps/PokemonTower3F.asm diff --git a/data/wildPokemon/pokemontower4.asm b/data/wild/maps/PokemonTower4F.asm index 0c84b0cf..0c84b0cf 100755 --- a/data/wildPokemon/pokemontower4.asm +++ b/data/wild/maps/PokemonTower4F.asm diff --git a/data/wildPokemon/pokemontower5.asm b/data/wild/maps/PokemonTower5F.asm index 440dbf8d..440dbf8d 100755 --- a/data/wildPokemon/pokemontower5.asm +++ b/data/wild/maps/PokemonTower5F.asm diff --git a/data/wildPokemon/pokemontower6.asm b/data/wild/maps/PokemonTower6F.asm index 553fdb5d..553fdb5d 100755 --- a/data/wildPokemon/pokemontower6.asm +++ b/data/wild/maps/PokemonTower6F.asm diff --git a/data/wildPokemon/pokemontower7.asm b/data/wild/maps/PokemonTower7F.asm index 0f7e66e9..0f7e66e9 100755 --- a/data/wildPokemon/pokemontower7.asm +++ b/data/wild/maps/PokemonTower7F.asm diff --git a/data/wildPokemon/powerplant.asm b/data/wild/maps/PowerPlant.asm index 35eece95..35eece95 100755 --- a/data/wildPokemon/powerplant.asm +++ b/data/wild/maps/PowerPlant.asm diff --git a/data/wildPokemon/rocktunnel1.asm b/data/wild/maps/RockTunnel1F.asm index a36f2092..a36f2092 100755 --- a/data/wildPokemon/rocktunnel1.asm +++ b/data/wild/maps/RockTunnel1F.asm diff --git a/data/wildPokemon/rocktunnel2.asm b/data/wild/maps/RockTunnelB1F.asm index 2fc7ef94..2fc7ef94 100755 --- a/data/wildPokemon/rocktunnel2.asm +++ b/data/wild/maps/RockTunnelB1F.asm diff --git a/data/wildPokemon/route1.asm b/data/wild/maps/Route1.asm index f618c34f..f618c34f 100755 --- a/data/wildPokemon/route1.asm +++ b/data/wild/maps/Route1.asm diff --git a/data/wildPokemon/route10.asm b/data/wild/maps/Route10.asm index 34e0b5ee..34e0b5ee 100755 --- a/data/wildPokemon/route10.asm +++ b/data/wild/maps/Route10.asm diff --git a/data/wildPokemon/route11.asm b/data/wild/maps/Route11.asm index 9e4e3644..9e4e3644 100755 --- a/data/wildPokemon/route11.asm +++ b/data/wild/maps/Route11.asm diff --git a/data/wildPokemon/route12.asm b/data/wild/maps/Route12.asm index 45dfbc9d..45dfbc9d 100755 --- a/data/wildPokemon/route12.asm +++ b/data/wild/maps/Route12.asm diff --git a/data/wildPokemon/route13.asm b/data/wild/maps/Route13.asm index 2a1a6cb5..2a1a6cb5 100755 --- a/data/wildPokemon/route13.asm +++ b/data/wild/maps/Route13.asm diff --git a/data/wildPokemon/route14.asm b/data/wild/maps/Route14.asm index aad5aa48..aad5aa48 100755 --- a/data/wildPokemon/route14.asm +++ b/data/wild/maps/Route14.asm diff --git a/data/wildPokemon/route15.asm b/data/wild/maps/Route15.asm index b4762230..b4762230 100755 --- a/data/wildPokemon/route15.asm +++ b/data/wild/maps/Route15.asm diff --git a/data/wildPokemon/route16.asm b/data/wild/maps/Route16.asm index c2421c50..c2421c50 100755 --- a/data/wildPokemon/route16.asm +++ b/data/wild/maps/Route16.asm diff --git a/data/wildPokemon/route17.asm b/data/wild/maps/Route17.asm index 8dffd9a3..8dffd9a3 100755 --- a/data/wildPokemon/route17.asm +++ b/data/wild/maps/Route17.asm diff --git a/data/wildPokemon/route18.asm b/data/wild/maps/Route18.asm index 47bd247d..47bd247d 100755 --- a/data/wildPokemon/route18.asm +++ b/data/wild/maps/Route18.asm diff --git a/data/wildPokemon/route2.asm b/data/wild/maps/Route2.asm index ad958ea5..ad958ea5 100755 --- a/data/wildPokemon/route2.asm +++ b/data/wild/maps/Route2.asm diff --git a/data/wildPokemon/route21.asm b/data/wild/maps/Route21.asm index 3cc73ba0..3cc73ba0 100755 --- a/data/wildPokemon/route21.asm +++ b/data/wild/maps/Route21.asm diff --git a/data/wildPokemon/route22.asm b/data/wild/maps/Route22.asm index 750a2f4e..750a2f4e 100755 --- a/data/wildPokemon/route22.asm +++ b/data/wild/maps/Route22.asm diff --git a/data/wildPokemon/route23.asm b/data/wild/maps/Route23.asm index a057d24d..a057d24d 100755 --- a/data/wildPokemon/route23.asm +++ b/data/wild/maps/Route23.asm diff --git a/data/wildPokemon/route24.asm b/data/wild/maps/Route24.asm index 3a745f36..3a745f36 100755 --- a/data/wildPokemon/route24.asm +++ b/data/wild/maps/Route24.asm diff --git a/data/wildPokemon/route25.asm b/data/wild/maps/Route25.asm index 4884fa64..4884fa64 100755 --- a/data/wildPokemon/route25.asm +++ b/data/wild/maps/Route25.asm diff --git a/data/wildPokemon/route3.asm b/data/wild/maps/Route3.asm index dea820a4..dea820a4 100755 --- a/data/wildPokemon/route3.asm +++ b/data/wild/maps/Route3.asm diff --git a/data/wildPokemon/route4.asm b/data/wild/maps/Route4.asm index 624d58de..624d58de 100755 --- a/data/wildPokemon/route4.asm +++ b/data/wild/maps/Route4.asm diff --git a/data/wildPokemon/route5.asm b/data/wild/maps/Route5.asm index cb8c583b..cb8c583b 100755 --- a/data/wildPokemon/route5.asm +++ b/data/wild/maps/Route5.asm diff --git a/data/wildPokemon/route6.asm b/data/wild/maps/Route6.asm index 92512ffb..92512ffb 100755 --- a/data/wildPokemon/route6.asm +++ b/data/wild/maps/Route6.asm diff --git a/data/wildPokemon/route7.asm b/data/wild/maps/Route7.asm index 559c98ee..559c98ee 100755 --- a/data/wildPokemon/route7.asm +++ b/data/wild/maps/Route7.asm diff --git a/data/wildPokemon/route8.asm b/data/wild/maps/Route8.asm index 8a0bfa31..8a0bfa31 100755 --- a/data/wildPokemon/route8.asm +++ b/data/wild/maps/Route8.asm diff --git a/data/wildPokemon/route9.asm b/data/wild/maps/Route9.asm index 716589b0..716589b0 100755 --- a/data/wildPokemon/route9.asm +++ b/data/wild/maps/Route9.asm diff --git a/data/wildPokemon/safarizonecenter.asm b/data/wild/maps/SafariZoneCenter.asm index 0cd5323a..0cd5323a 100755 --- a/data/wildPokemon/safarizonecenter.asm +++ b/data/wild/maps/SafariZoneCenter.asm diff --git a/data/wildPokemon/safarizone1.asm b/data/wild/maps/SafariZoneEast.asm index 3d77b6fe..3d77b6fe 100755 --- a/data/wildPokemon/safarizone1.asm +++ b/data/wild/maps/SafariZoneEast.asm diff --git a/data/wildPokemon/safarizone2.asm b/data/wild/maps/SafariZoneNorth.asm index c1b6a547..c1b6a547 100755 --- a/data/wildPokemon/safarizone2.asm +++ b/data/wild/maps/SafariZoneNorth.asm diff --git a/data/wildPokemon/safarizone3.asm b/data/wild/maps/SafariZoneWest.asm index 47b6a102..47b6a102 100755 --- a/data/wildPokemon/safarizone3.asm +++ b/data/wild/maps/SafariZoneWest.asm diff --git a/data/wildPokemon/waterpokemon.asm b/data/wild/maps/SeaRoutes.asm index 07c6a187..07c6a187 100755 --- a/data/wildPokemon/waterpokemon.asm +++ b/data/wild/maps/SeaRoutes.asm diff --git a/data/wildPokemon/seafoamisland1.asm b/data/wild/maps/SeafoamIslands1F.asm index 3c431f9a..3c431f9a 100755 --- a/data/wildPokemon/seafoamisland1.asm +++ b/data/wild/maps/SeafoamIslands1F.asm diff --git a/data/wildPokemon/seafoamislandb1.asm b/data/wild/maps/SeafoamIslandsB1F.asm index 6f96f240..6f96f240 100755 --- a/data/wildPokemon/seafoamislandb1.asm +++ b/data/wild/maps/SeafoamIslandsB1F.asm diff --git a/data/wildPokemon/seafoamislandb2.asm b/data/wild/maps/SeafoamIslandsB2F.asm index 7191fea9..7191fea9 100755 --- a/data/wildPokemon/seafoamislandb2.asm +++ b/data/wild/maps/SeafoamIslandsB2F.asm diff --git a/data/wildPokemon/seafoamislandb3.asm b/data/wild/maps/SeafoamIslandsB3F.asm index 9778c0e9..9778c0e9 100755 --- a/data/wildPokemon/seafoamislandb3.asm +++ b/data/wild/maps/SeafoamIslandsB3F.asm diff --git a/data/wildPokemon/seafoamislandb4.asm b/data/wild/maps/SeafoamIslandsB4F.asm index 3948470b..3948470b 100755 --- a/data/wildPokemon/seafoamislandb4.asm +++ b/data/wild/maps/SeafoamIslandsB4F.asm diff --git a/data/wildPokemon/victoryroad1.asm b/data/wild/maps/VictoryRoad1F.asm index 60aae31a..60aae31a 100755 --- a/data/wildPokemon/victoryroad1.asm +++ b/data/wild/maps/VictoryRoad1F.asm diff --git a/data/wildPokemon/victoryroad2.asm b/data/wild/maps/VictoryRoad2F.asm index 580d644d..580d644d 100755 --- a/data/wildPokemon/victoryroad2.asm +++ b/data/wild/maps/VictoryRoad2F.asm diff --git a/data/wildPokemon/victoryroad3.asm b/data/wild/maps/VictoryRoad3F.asm index 80d7ef3e..80d7ef3e 100755 --- a/data/wildPokemon/victoryroad3.asm +++ b/data/wild/maps/VictoryRoad3F.asm diff --git a/data/wildPokemon/viridianforest.asm b/data/wild/maps/ViridianForest.asm index ae9a5a70..ae9a5a70 100755 --- a/data/wildPokemon/viridianforest.asm +++ b/data/wild/maps/ViridianForest.asm diff --git a/data/wildPokemon/nomons.asm b/data/wild/maps/nothing.asm index ce7f7ede..ce7f7ede 100755 --- a/data/wildPokemon/nomons.asm +++ b/data/wild/maps/nothing.asm diff --git a/data/wild_probabilities.asm b/data/wild/probabilities.asm index 9d4704c6..9d4704c6 100644 --- a/data/wild_probabilities.asm +++ b/data/wild/probabilities.asm diff --git a/data/super_rod.asm b/data/wild/super_rod.asm index d3d64632..d3d64632 100755 --- a/data/super_rod.asm +++ b/data/wild/super_rod.asm diff --git a/data/wild_mons.asm b/data/wild_mons.asm deleted file mode 100755 index e089a582..00000000 --- a/data/wild_mons.asm +++ /dev/null @@ -1,321 +0,0 @@ -WildDataPointers: - dw NoMons ; PALLET_TOWN - dw NoMons ; VIRIDIAN_CITY - dw NoMons ; PEWTER_CITY - dw NoMons ; CERULEAN_CITY - dw NoMons ; LAVENDER_TOWN - dw NoMons ; VERMILION_CITY - dw NoMons ; CELADON_CITY - dw NoMons ; FUCHSIA_CITY - dw NoMons ; CINNABAR_ISLAND - dw NoMons ; INDIGO_PLATEAU - dw NoMons ; SAFFRON_CITY - dw NoMons ; unused - dw Route1Mons ; ROUTE_1 - dw Route2Mons ; ROUTE_2 - dw Route3Mons ; ROUTE_3 - dw Route4Mons ; ROUTE_4 - dw Route5Mons ; ROUTE_5 - dw Route6Mons ; ROUTE_6 - dw Route7Mons ; ROUTE_7 - dw Route8Mons ; ROUTE_8 - dw Route9Mons ; ROUTE_9 - dw Route10Mons ; ROUTE_10 - dw Route11Mons ; ROUTE_11 - dw Route12Mons ; ROUTE_12 - dw Route13Mons ; ROUTE_13 - dw Route14Mons ; ROUTE_14 - dw Route15Mons ; ROUTE_15 - dw Route16Mons ; ROUTE_16 - dw Route17Mons ; ROUTE_17 - dw Route18Mons ; ROUTE_18 - dw WaterMons ; ROUTE_19 - dw WaterMons ; ROUTE_20 - dw Route21Mons ; ROUTE_21 - dw Route22Mons ; ROUTE_22 - dw Route23Mons ; ROUTE_23 - dw Route24Mons ; ROUTE_24 - dw Route25Mons ; ROUTE_25 - dw NoMons ; REDS_HOUSE_1F - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw ForestMons ; ViridianForest - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw MoonMons1 - dw MoonMonsB1 - dw MoonMonsB2 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw TunnelMonsB1 - dw PowerPlantMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw PlateauMons1 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw TowerMons1 - dw TowerMons2 - dw TowerMons3 - dw TowerMons4 - dw TowerMons5 - dw TowerMons6 - dw TowerMons7 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw IslandMonsB1 - dw IslandMonsB2 - dw IslandMonsB3 - dw IslandMonsB4 - dw NoMons - dw NoMons - dw MansionMons1 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw IslandMons1 - dw NoMons - dw PlateauMons2 - dw NoMons - dw NoMons - dw CaveMons - dw PlateauMons3 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw MansionMons2 - dw MansionMons3 - dw MansionMonsB1 - dw ZoneMons1 - dw ZoneMons2 - dw ZoneMons3 - dw ZoneMonsCenter - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw DungeonMons2 - dw DungeonMonsB1 - dw DungeonMons1 - dw NoMons - dw NoMons - dw NoMons - dw TunnelMonsB2 - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw NoMons - dw $FFFF - -; wild pokemon data is divided into two parts. -; first part: pokemon found in grass -; second part: pokemon found while surfing -; each part goes as follows: - ; if first byte == 00, then - ; no wild pokemon on this map - ; if first byte != 00, then - ; first byte is encounter rate - ; followed by 20 bytes: - ; level, species (ten times) - -INCLUDE "data/wildPokemon/nomons.asm" -INCLUDE "data/wildPokemon/route1.asm" -INCLUDE "data/wildPokemon/route2.asm" -INCLUDE "data/wildPokemon/route22.asm" -INCLUDE "data/wildPokemon/viridianforest.asm" -INCLUDE "data/wildPokemon/route3.asm" -INCLUDE "data/wildPokemon/mtmoon1.asm" -INCLUDE "data/wildPokemon/mtmoonb1.asm" -INCLUDE "data/wildPokemon/mtmoonb2.asm" -INCLUDE "data/wildPokemon/route4.asm" -INCLUDE "data/wildPokemon/route24.asm" -INCLUDE "data/wildPokemon/route25.asm" -INCLUDE "data/wildPokemon/route9.asm" -INCLUDE "data/wildPokemon/route5.asm" -INCLUDE "data/wildPokemon/route6.asm" -INCLUDE "data/wildPokemon/route11.asm" -INCLUDE "data/wildPokemon/rocktunnel1.asm" -INCLUDE "data/wildPokemon/rocktunnel2.asm" -INCLUDE "data/wildPokemon/route10.asm" -INCLUDE "data/wildPokemon/route12.asm" -INCLUDE "data/wildPokemon/route8.asm" -INCLUDE "data/wildPokemon/route7.asm" -INCLUDE "data/wildPokemon/pokemontower1.asm" -INCLUDE "data/wildPokemon/pokemontower2.asm" -INCLUDE "data/wildPokemon/pokemontower3.asm" -INCLUDE "data/wildPokemon/pokemontower4.asm" -INCLUDE "data/wildPokemon/pokemontower5.asm" -INCLUDE "data/wildPokemon/pokemontower6.asm" -INCLUDE "data/wildPokemon/pokemontower7.asm" -INCLUDE "data/wildPokemon/route13.asm" -INCLUDE "data/wildPokemon/route14.asm" -INCLUDE "data/wildPokemon/route15.asm" -INCLUDE "data/wildPokemon/route16.asm" -INCLUDE "data/wildPokemon/route17.asm" -INCLUDE "data/wildPokemon/route18.asm" -INCLUDE "data/wildPokemon/safarizonecenter.asm" -INCLUDE "data/wildPokemon/safarizone1.asm" -INCLUDE "data/wildPokemon/safarizone2.asm" -INCLUDE "data/wildPokemon/safarizone3.asm" -INCLUDE "data/wildPokemon/waterpokemon.asm" -INCLUDE "data/wildPokemon/seafoamisland1.asm" -INCLUDE "data/wildPokemon/seafoamislandb1.asm" -INCLUDE "data/wildPokemon/seafoamislandb2.asm" -INCLUDE "data/wildPokemon/seafoamislandb3.asm" -INCLUDE "data/wildPokemon/seafoamislandb4.asm" -INCLUDE "data/wildPokemon/mansion1.asm" -INCLUDE "data/wildPokemon/mansion2.asm" -INCLUDE "data/wildPokemon/mansion3.asm" -INCLUDE "data/wildPokemon/mansionb1.asm" -INCLUDE "data/wildPokemon/route21.asm" -INCLUDE "data/wildPokemon/ceruleancave1.asm" -INCLUDE "data/wildPokemon/ceruleancave2.asm" -INCLUDE "data/wildPokemon/ceruleancaveb1.asm" -INCLUDE "data/wildPokemon/powerplant.asm" -INCLUDE "data/wildPokemon/route23.asm" -INCLUDE "data/wildPokemon/victoryroad2.asm" -INCLUDE "data/wildPokemon/victoryroad3.asm" -INCLUDE "data/wildPokemon/victoryroad1.asm" -INCLUDE "data/wildPokemon/diglettscave.asm" diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index fcc3c99f..ee476ce9 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -163,7 +163,7 @@ DrawFrameBlock: PlayAnimation: xor a - ld [$FF8B], a ; it looks like nothing reads this + ld [hROMBankTemp], a ; it looks like nothing reads this ld [wSubAnimTransform], a ld a, [wAnimationID] ; get animation number dec a @@ -308,7 +308,7 @@ LoadSubanimation: ; sets the transform to the subanimation type if it's the enemy's turn GetSubanimationTransform1: ld b, a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, b ret nz @@ -319,7 +319,7 @@ GetSubanimationTransform1: ; sets the transform to 2 (i.e. horizontal and vertical flip) if it's the player's turn ; sets the transform to 0 (i.e. no transform) if it's the enemy's turn GetSubanimationTransform2: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, 2 << 5 ret z @@ -421,7 +421,7 @@ MoveAnimation: ShareMoveAnimations: ; some moves just reuse animations from status conditions - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ret z @@ -649,7 +649,7 @@ DoSpecialEffectByAnimationId: pop hl ret -INCLUDE "data/move_animation_special_effects.asm" +INCLUDE "data/moves/animation_special_effects.asm" DoBallTossSpecialEffects: ld a, [wcf91] @@ -911,7 +911,7 @@ TailWhipAnimationUnused: ld c, 20 jp DelayFrames -INCLUDE "data/move_animation_pointers.asm" +INCLUDE "data/moves/animation_special_effect_pointers.asm" AnimationDelay10: ld c, 10 @@ -920,16 +920,16 @@ AnimationDelay10: ; calls a function with the turn flipped from player to enemy or vice versa ; input - hl - address of function to call CallWithTurnFlipped: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] push af xor 1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld de, .returnAddress push de jp hl .returnAddress pop af - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ret ; flashes the screen for an extended period (48 frames) @@ -1133,7 +1133,7 @@ _AnimationWaterDroplets: AnimationSlideMonUp: ; Slides the mon's sprite upwards. ld c, 7 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a coord hl, 1, 6 coord de, 1, 5 @@ -1201,7 +1201,7 @@ _AnimationSlideMonUp: jr nz, .slideLoop ; Fill in the bottom row of the mon pic with the next row's tile IDs. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a coord hl, 1, 11 jr z, .next @@ -1370,7 +1370,7 @@ AnimationShowEnemyMonPic: AnimationShakeBackAndForth: ; Shakes the mon's sprite back and forth rapidly. This is used in Double Team. ; The mon's sprite disappears after this animation. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a coord hl, 0, 5 coord de, 2, 5 @@ -1418,7 +1418,7 @@ AnimationMoveMonHorizontally: ; Shifts the mon's sprite horizontally to a fixed location. Used by lots of ; animations like Tackle/Body Slam. call AnimationHideMonPic - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a coord hl, 2, 5 jr z, .next @@ -1434,7 +1434,7 @@ AnimationMoveMonHorizontally: AnimationResetMonPosition: ; Resets the mon's sprites to be located at the normal coordinates. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, 5 * SCREEN_WIDTH + 2 jr z, .next @@ -1446,7 +1446,7 @@ AnimationResetMonPosition: AnimationSpiralBallsInward: ; Creates an effect that looks like energy balls spiralling into the ; player mon's sprite. Used in Focus Energy, for example. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn ld a, -40 @@ -1530,7 +1530,7 @@ AnimationSquishMonPic: ld c, 4 .loop push bc - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn coord hl, 16, 0 @@ -1583,7 +1583,7 @@ _AnimationSquishMonPic: AnimationShootBallsUpward: ; Shoots one pillar of "energy" balls upwards. Used in Teleport/Sky Attack ; animations. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn lb bc, 0, 16 * 8 @@ -1651,7 +1651,7 @@ _AnimationShootBallsUpward: AnimationShootManyBallsUpward: ; Shoots several pillars of "energy" balls upward. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, UpwardBallsAnimXCoordinatesPlayerTurn ld a, $50 ; y coordinate for "energy" ball pillar @@ -1735,7 +1735,7 @@ AnimationSlideMonDownAndHide: jr nz, .loop call AnimationHideMonPic ld hl, wTempPic - ld bc, $0310 + ld bc, $310 xor a call FillMemory jp CopyTempPicToMonPic @@ -1743,7 +1743,7 @@ AnimationSlideMonDownAndHide: _AnimationSlideMonOff: ; Slides the mon's sprite off the screen horizontally by e tiles and waits ; [wSlideMonDelay] V-blanks each time the pic is slid by one tile. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn coord hl, 12, 0 @@ -1758,7 +1758,7 @@ _AnimationSlideMonOff: .rowLoop ; iterates once for each row ld c, 8 .tileLoop ; iterates once for each tile in the row - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn2 call .EnemyNextTile @@ -1821,7 +1821,7 @@ AnimationSlideMonHalfOff: jp Delay3 CopyTempPicToMonPic: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, vBackPic ; player turn jr z, .next @@ -1837,7 +1837,7 @@ AnimationWavyScreen: call BattleAnimCopyTileMapToVRAM call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, SCREEN_HEIGHT_PIXELS ld [hWY], a ld d, $80 ; terminator @@ -1865,7 +1865,7 @@ AnimationWavyScreen: call SaveScreenTilesToBuffer2 call ClearScreen ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 call LoadScreenTilesFromBuffer2 ld hl, vBGMap1 @@ -1896,9 +1896,9 @@ AnimationSubstitute: ; Changes the pokemon's sprite to the mini sprite ld hl, wTempPic xor a - ld bc, $0310 + ld bc, $310 call FillMemory - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn ld hl, SlowbroSprite ; facing down sprite @@ -1932,12 +1932,12 @@ AnimationSubstitute: jp AnimationShowMonPic CopySlowbroSpriteData: - ld bc, $0010 + ld bc, $10 ld a, BANK(SlowbroSprite) jp FarCopyData2 HideSubstituteShowMonAnim: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wPlayerMonMinimized ld a, [wPlayerBattleStatus2] @@ -1987,7 +1987,7 @@ AnimationTransformMon: ld [wChangeMonPicEnemyTurnSpecies], a ChangeMonPic: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn ld a, [wChangeMonPicEnemyTurnSpecies] @@ -2020,11 +2020,11 @@ ChangeMonPic: AnimationHideEnemyMonPic: ; Hides the enemy mon's sprite xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld hl, AnimationHideMonPic call CallWithTurnFlipped ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a jp Delay3 InitMultipleObjectsOAM: @@ -2050,7 +2050,7 @@ InitMultipleObjectsOAM: AnimationHideMonPic: ; Hides the mon's sprite. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn ld a, 12 @@ -2078,7 +2078,7 @@ ClearMonPicFromTileMap: ; in order to show only a portion of the mon sprite. GetMonSpriteTileMapPointerFromRowCount: push de - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .enemyTurn ld a, 20 * 5 + 1 @@ -2166,7 +2166,7 @@ GetMoveSound: ld b, a call IsCryMove jr nc, .NotCryMove - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .next ld a, [wBattleMonSpecies] ; get number of current monster @@ -2208,10 +2208,10 @@ IsCryMove: scf ret -INCLUDE "data/move_sfx.asm" +INCLUDE "data/moves/sfx.asm" CopyPicTiles: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, $31 ; base tile ID of player mon sprite jr z, .next @@ -2235,7 +2235,7 @@ CopyDownscaledMonTiles: CopyTileIDs_NoBGTransfer: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ; fall through ; b = number of rows @@ -2261,7 +2261,7 @@ CopyTileIDs: dec b jr nz, .rowLoop ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a pop hl ret @@ -2624,9 +2624,9 @@ ShakeEnemyHUD_ShakeBG: BattleAnimCopyTileMapToVRAM: ld a, h - ld [H_AUTOBGTRANSFERDEST + 1], a + ld [hAutoBGTransferDest + 1], a ld a, l - ld [H_AUTOBGTRANSFERDEST], a + ld [hAutoBGTransferDest], a jp Delay3 TossBallAnimation: diff --git a/engine/battle/battle_transitions.asm b/engine/battle/battle_transitions.asm index 62b023b0..98e87dc0 100644 --- a/engine/battle/battle_transitions.asm +++ b/engine/battle/battle_transitions.asm @@ -1,6 +1,6 @@ BattleTransition: ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 xor a ld [hWY], a @@ -151,7 +151,7 @@ GetBattleTransitionID_IsDungeonMap: res 2, c ret -INCLUDE "data/dungeon_maps.asm" +INCLUDE "data/maps/dungeon_maps.asm" LoadBattleTransitionTile: ld hl, vChars1 + $7f0 @@ -349,7 +349,7 @@ BattleTransition_Shrink: .loop push bc xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 0, 7 coord de, 0, 8 ld bc, -SCREEN_WIDTH * 2 @@ -367,7 +367,7 @@ BattleTransition_Shrink: ld bc, 2 call BattleTransition_CopyTiles2 ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld c, 6 call DelayFrames pop bc @@ -381,7 +381,7 @@ BattleTransition_Shrink: BattleTransition_Split: ld c, SCREEN_HEIGHT / 2 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a .loop push bc coord hl, 0, 16 @@ -496,7 +496,7 @@ BattleTransition_VerticalStripes: coord hl, 0, 0 coord de, 1, 17 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a .loop push bc push hl @@ -535,7 +535,7 @@ BattleTransition_HorizontalStripes: coord hl, 0, 0 coord de, 19, 1 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a .loop push bc push hl @@ -582,7 +582,7 @@ BattleTransition_FlashScreen: ld b, $3 call BattleTransition_FlashScreen_ xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret BattleTransition_Circle_Sub1: @@ -601,10 +601,10 @@ BattleTransition_Circle_Sub1: BattleTransition_TransferDelay3: ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret ; used for low level wild non-dungeon battles diff --git a/engine/battle/common_text.asm b/engine/battle/common_text.asm index e541d604..e8998414 100644 --- a/engine/battle/common_text.asm +++ b/engine/battle/common_text.asm @@ -101,16 +101,16 @@ PrintSendOutMonMessage: ld hl, GoText jr z, .printText xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld hl, wEnemyMonHP ld a, [hli] ld [wLastSwitchInEnemyMonHP], a - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hl] ld [wLastSwitchInEnemyMonHP + 1], a - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, 25 - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld hl, wEnemyMonMaxHP ld a, [hli] @@ -121,9 +121,9 @@ PrintSendOutMonMessage: rr b ld a, b ld b, 4 - ld [H_DIVISOR], a ; enemy mon max HP divided by 4 + ld [hDivisor], a ; enemy mon max HP divided by 4 call Divide - ld a, [H_QUOTIENT + 3] ; a = (enemy mon current HP * 25) / (enemy max HP / 4); this approximates the current percentage of max HP + ld a, [hQuotient + 3] ; a = (enemy mon current HP * 25) / (enemy max HP / 4); this approximates the current percentage of max HP ld hl, GoText ; 70% or greater cp 70 jr nc, .printText @@ -179,14 +179,14 @@ PlayerMon2Text: dec hl ld a, [de] sub b - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a dec de ld b, [hl] ld a, [de] sbc b - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, 25 - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld hl, wEnemyMonMaxHP ld a, [hli] @@ -197,11 +197,11 @@ PlayerMon2Text: rr b ld a, b ld b, 4 - ld [H_DIVISOR], a + ld [hDivisor], a call Divide pop bc pop de - ld a, [H_QUOTIENT + 3] ; a = ((LastSwitchInEnemyMonHP - CurrentEnemyMonHP) / 25) / (EnemyMonMaxHP / 4) + ld a, [hQuotient + 3] ; a = ((LastSwitchInEnemyMonHP - CurrentEnemyMonHP) / 25) / (EnemyMonMaxHP / 4) ; Assuming that the enemy mon hasn't gained HP since the last switch in, ; a approximates the percentage that the enemy mon's total HP has decreased ; since the last switch in. diff --git a/engine/battle/core.asm b/engine/battle/core.asm index 75841ccf..6881aef5 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -57,7 +57,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: ld [wUpdateSpritesEnabled], a call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld b, $70 ld c, $90 ld a, c @@ -83,7 +83,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: dec c jr nz, .slideSilhouettesLoop ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, $31 ld [hStartTileID], a coord hl, 1, 5 @@ -92,7 +92,7 @@ SlidePlayerAndEnemySilhouettesOnScreen: ld [hWY], a ld [rWY], a inc a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 ld b, SET_PAL_BATTLE call RunPaletteCommand @@ -266,7 +266,7 @@ EnemyRan: ld a, SFX_RUN call PlaySoundWaitForCurrent xor a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a jpab AnimationSlideEnemyMonOff WildRanText: @@ -412,7 +412,7 @@ MainInBattleLoop: jr .playerMovesFirst .enemyMovesFirst ld a, $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a callab TrainerAI jr c, .AIActionUsedEnemyFirst call ExecuteEnemyMove @@ -450,7 +450,7 @@ MainInBattleLoop: jp z, HandlePlayerMonFainted call DrawHUDsAndHPBars ld a, $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a callab TrainerAI jr c, .AIActionUsedPlayerFirst call ExecuteEnemyMove @@ -470,7 +470,7 @@ MainInBattleLoop: HandlePoisonBurnLeechSeed: ld hl, wBattleMonHP ld de, wBattleMonStatus - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playersTurn ld hl, wEnemyMonHP @@ -495,7 +495,7 @@ HandlePoisonBurnLeechSeed: call HandlePoisonBurnLeechSeed_DecreaseOwnHP .notBurnedOrPoisoned ld de, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playersTurn2 ld de, wEnemyBattleStatus2 @@ -504,16 +504,16 @@ HandlePoisonBurnLeechSeed: add a jr nc, .notLeechSeeded push hl - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] push af xor $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a xor a ld [wAnimationType], a ld a, ABSORB call PlayMoveAnimation ; play leech seed animation (from opposing mon) pop af - ld [H_WHOSETURN], a + ld [hWhoseTurn], a pop hl call HandlePoisonBurnLeechSeed_DecreaseOwnHP call HandlePoisonBurnLeechSeed_IncreaseEnemyHP @@ -571,7 +571,7 @@ HandlePoisonBurnLeechSeed_DecreaseOwnHP: .nonZeroDamage ld hl, wPlayerBattleStatus3 ld de, wPlayerToxicCounter - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playersTurn ld hl, wEnemyBattleStatus3 @@ -582,7 +582,7 @@ HandlePoisonBurnLeechSeed_DecreaseOwnHP: ld a, [de] ; increment toxic counter inc a ld [de], a - ld hl, $0000 + ld hl, 0 .toxicTicksLoop add hl, bc dec a @@ -618,7 +618,7 @@ HandlePoisonBurnLeechSeed_DecreaseOwnHP: HandlePoisonBurnLeechSeed_IncreaseEnemyHP: push hl ld hl, wEnemyMonMaxHP - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playersTurn ld hl, wBattleMonMaxHP @@ -655,19 +655,19 @@ HandlePoisonBurnLeechSeed_IncreaseEnemyHP: ld [hl], a ld [wHPBarNewHP], a .noOverfullHeal - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a call UpdateCurMonHPBar - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a pop hl ret UpdateCurMonHPBar: coord hl, 10, 9 ; tile pointer to player HP bar - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, $1 jr z, .playersTurn @@ -958,7 +958,7 @@ TrainerDefeatedText: PlayBattleVictoryMusic: push af - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySoundWaitForCurrent ld c, BANK(Music_DefeatedTrainer) @@ -1177,7 +1177,7 @@ LinkBattleLostText: db "@" ; slides pic of fainted mon downwards until it disappears -; bug: when this is called, [H_AUTOBGTRANSFERENABLED] is non-zero, so there is screen tearing +; bug: when this is called, [hAutoBGTransferEnabled] is non-zero, so there is screen tearing SlideDownFaintedMonPic: ld a, [wd730] push af @@ -1230,7 +1230,7 @@ SevenSpacesText: ; slides the player or enemy trainer off screen ; a is the number of tiles to slide it horizontally (always 9 for the player trainer or 8 for the enemy trainer) ; if a is 8, the slide is to the right, else it is to the left -; bug: when this is called, [H_AUTOBGTRANSFERENABLED] is non-zero, so there is screen tearing +; bug: when this is called, [hAutoBGTransferEnabled] is non-zero, so there is screen tearing SlideTrainerPicOffScreen: ld [hSlideAmount], a ld c, a @@ -1508,29 +1508,29 @@ TryRunningFromBattle: inc a ld [wNumRunAttempts], a ld a, [hli] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hl] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, [de] ld [hEnemySpeed], a inc de ld a, [de] ld [hEnemySpeed + 1], a call LoadScreenTilesFromBuffer1 - ld de, H_MULTIPLICAND + 1 + ld de, hMultiplicand + 1 ld hl, hEnemySpeed ld c, 2 call StringCmp jr nc, .canEscape ; jump if player speed greater than enemy speed xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld a, 32 - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ; multiply player speed by 32 - ld a, [H_PRODUCT + 2] - ld [H_DIVIDEND], a - ld a, [H_PRODUCT + 3] - ld [H_DIVIDEND + 1], a + ld a, [hProduct + 2] + ld [hDividend], a + ld a, [hProduct + 3] + ld [hDividend + 1], a ld a, [hEnemySpeed] ld b, a ld a, [hEnemySpeed + 1] @@ -1541,10 +1541,10 @@ TryRunningFromBattle: rr a and a jr z, .canEscape ; jump if enemy speed divided by 4, mod 256 is 0 - ld [H_DIVISOR], a ; ((enemy speed / 4) % 256) + ld [hDivisor], a ; ((enemy speed / 4) % 256) ld b, $2 call Divide ; divide (player speed * 32) by ((enemy speed / 4) % 256) - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] and a ; is the quotient greater than 256? jr nz, .canEscape ; if so, the player can escape ld a, [wNumRunAttempts] @@ -1554,15 +1554,15 @@ TryRunningFromBattle: dec c jr z, .compareWithRandomValue ld b, 30 - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] add b - ld [H_QUOTIENT + 3], a + ld [hQuotient + 3], a jr c, .canEscape jr .loop .compareWithRandomValue call BattleRandom ld b, a - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] cp b jr nc, .canEscape ; if the random value was less than or equal to the quotient ; plus 30 times the number of attempts, the player can escape @@ -1754,7 +1754,7 @@ SendOutMon: ld hl, wEnemyBattleStatus1 res USING_TRAPPING_MOVE, [hl] ld a, $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld a, POOF_ANIM call PlayMoveAnimation coord hl, 4, 11 @@ -1812,7 +1812,7 @@ DrawHUDsAndHPBars: DrawPlayerHUDAndHPBar: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 9, 7 lb bc, 5, 11 call ClearScreenArea @@ -1845,7 +1845,7 @@ DrawPlayerHUDAndHPBar: coord hl, 10, 9 predef DrawHP ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld hl, wPlayerHPBarColor call GetBattleHealthBarColor ld hl, wBattleMonHP @@ -1873,7 +1873,7 @@ DrawPlayerHUDAndHPBar: DrawEnemyHUDAndHPBar: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 0, 0 lb bc, 4, 12 call ClearScreenArea @@ -1895,9 +1895,9 @@ DrawEnemyHUDAndHPBar: .skipPrintLevel ld hl, wEnemyMonHP ld a, [hli] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hld] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a or [hl] ; is current HP zero? jr nz, .hpNonzero ; current HP is 0 @@ -1908,45 +1908,45 @@ DrawEnemyHUDAndHPBar: jp .drawHPBar .hpNonzero xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld a, 48 - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ; multiply current HP by 48 ld hl, wEnemyMonMaxHP ld a, [hli] ld b, a ld a, [hl] - ld [H_DIVISOR], a + ld [hDivisor], a ld a, b and a ; is max HP > 255? jr z, .doDivide ; if max HP > 255, scale both (current HP * 48) and max HP by dividing by 4 so that max HP fits in one byte ; (it needs to be one byte so it can be used as the divisor for the Divide function) - ld a, [H_DIVISOR] + ld a, [hDivisor] srl b rr a srl b rr a - ld [H_DIVISOR], a - ld a, [H_PRODUCT + 2] + ld [hDivisor], a + ld a, [hProduct + 2] ld b, a srl b - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] rr a srl b rr a - ld [H_PRODUCT + 3], a + ld [hProduct + 3], a ld a, b - ld [H_PRODUCT + 2], a + ld [hProduct + 2], a .doDivide - ld a, [H_PRODUCT + 2] - ld [H_DIVIDEND], a - ld a, [H_PRODUCT + 3] - ld [H_DIVIDEND + 1], a + ld a, [hProduct + 2] + ld [hDividend], a + ld a, [hProduct + 3] + ld [hDividend + 1], a ld a, $2 ld b, a call Divide ; divide (current HP * 48) by max HP - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ; set variables for DrawHPBar ld e, a ld a, $6 @@ -1958,7 +1958,7 @@ DrawEnemyHUDAndHPBar: coord hl, 2, 2 call DrawHPBar ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld hl, wEnemyHPBarColor GetBattleHealthBarColor: @@ -2469,13 +2469,13 @@ MoveSelectionMenu: .writemoves ld de, wMovesString - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] set 2, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a call PlaceString - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] res 2, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a ret .regularmenu @@ -2595,10 +2595,10 @@ SelectMenuItem: call AddNTimes ld [hl], "▷" .select - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 set 1, [hl] call HandleMenuInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 res 1, [hl] bit 6, a jp nz, SelectMenuItem_CursorUp ; up @@ -2825,7 +2825,7 @@ SwapMovesInMenu: PrintMenuItem: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 0, 8 ld b, 3 ld c, 9 @@ -2847,7 +2847,7 @@ PrintMenuItem: ld hl, wCurrentMenuItem dec [hl] xor a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld hl, wBattleMonMoves ld a, [wCurrentMenuItem] ld c, a @@ -2891,7 +2891,7 @@ PrintMenuItem: predef PrintMoveType .moveDisabled ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a jp Delay3 DisabledText: @@ -3043,7 +3043,7 @@ LinkBattleExchangeData: ExecutePlayerMove: xor a - ld [H_WHOSETURN], a ; set player's turn + ld [hWhoseTurn], a ; set player's turn ld a, [wPlayerSelectedMove] inc a jp z, ExecutePlayerMoveDone ; for selected move = FF, skip most of player's turn @@ -3252,7 +3252,7 @@ PrintGhostText: ; print the ghost battle messages call IsGhostBattle ret nz - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .Ghost ld a, [wBattleMonStatus] ; player’s turn @@ -3619,7 +3619,7 @@ CantMoveText: PrintMoveIsDisabledText: ld hl, wPlayerSelectedMove ld de, wPlayerBattleStatus1 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .removeChargingUp inc hl @@ -3675,11 +3675,11 @@ HandleSelfConfusionDamage: xor a ld [wAnimationType], a inc a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a call PlayMoveAnimation call DrawPlayerHUDAndHPBar xor a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a jp ApplyDamageToPlayerPokemon PrintMonName1Text: @@ -3694,7 +3694,7 @@ PrintMonName1Text: MonName1Text: TX_FAR _MonName1Text TX_ASM - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveNum] ld hl, wPlayerUsedMove @@ -3814,11 +3814,11 @@ DetermineExclamationPointTextNum: pop bc ret -INCLUDE "data/move_grammar.asm" +INCLUDE "data/moves/grammar.asm" PrintMoveFailureText: ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playersTurn ld de, wEnemyMoveEffect @@ -3866,7 +3866,7 @@ PrintMoveFailureText: call PrintText ld b, $4 predef PredefShakeScreenHorizontally - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .enemyTurn jp ApplyDamageToPlayerPokemon @@ -4139,7 +4139,7 @@ GetDamageVarsForPlayerAttack: ld d, a ; d = move power ret z ; return if move power is zero ld a, [hl] ; a = [wPlayerMoveType] - cp FIRE ; types >= FIRE are all special + cp SPECIAL ; types >= SPECIAL are all special jr nc, .specialAttack .physicalAttack ld hl, wEnemyMonDefense @@ -4160,9 +4160,9 @@ GetDamageVarsForPlayerAttack: ; in the case of a critical hit, reset the player's attack and the enemy's defense to their base values ld c, 3 ; defense stat call GetEnemyMonStat - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] ld b, a - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] ld c, a push bc ld hl, wPartyMon1Attack @@ -4192,9 +4192,9 @@ GetDamageVarsForPlayerAttack: ; in the case of a critical hit, reset the player's and enemy's specials to their base values ld c, 5 ; special stat call GetEnemyMonStat - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] ld b, a - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] ld c, a push bc ld hl, wPartyMon1Special @@ -4252,7 +4252,7 @@ GetDamageVarsForEnemyAttack: and a ret z ; return if move power is zero ld a, [hl] ; a = [wEnemyMoveType] - cp FIRE ; types >= FIRE are all special + cp SPECIAL ; types >= SPECIAL are all special jr nc, .specialAttack .physicalAttack ld hl, wBattleMonDefense @@ -4281,7 +4281,7 @@ GetDamageVarsForEnemyAttack: push bc ld c, 2 ; attack stat call GetEnemyMonStat - ld hl, H_PRODUCT + 2 + ld hl, hProduct + 2 pop bc jr .scaleStats .specialAttack @@ -4313,7 +4313,7 @@ GetDamageVarsForEnemyAttack: push bc ld c, 5 ; special stat call GetEnemyMonStat - ld hl, H_PRODUCT + 2 + ld hl, hProduct + 2 pop bc ; if either the offensive or defensive stat is too large to store in a byte, scale both stats by dividing them by 4 ; this allows values with up to 10 bits (values up to 1023) to be handled @@ -4371,9 +4371,9 @@ GetEnemyMonStat: ld bc, wEnemyMon2 - wEnemyMon1 call AddNTimes ld a, [hli] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hl] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a pop bc pop de ret @@ -4404,7 +4404,7 @@ CalculateDamage: ; d: base power ; e: level - ld a, [H_WHOSETURN] ; whose turn? + ld a, [hWhoseTurn] ; whose turn? and a ld a, [wPlayerMoveEffect] jr z, .effect @@ -4436,7 +4436,7 @@ CalculateDamage: .skipbp xor a - ld hl, H_DIVIDEND + ld hl, hDividend ldi [hl], a ldi [hl], a ld [hl], a @@ -4487,41 +4487,41 @@ CalculateDamage: ld hl, wDamage ld b, [hl] - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] add b - ld [H_QUOTIENT + 3], a + ld [hQuotient + 3], a jr nc, .asm_3dfd0 - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] inc a - ld [H_QUOTIENT + 2], a + ld [hQuotient + 2], a and a jr z, .asm_3e004 .asm_3dfd0 - ld a, [H_QUOTIENT] + ld a, [hQuotient] ld b, a - ld a, [H_QUOTIENT + 1] + ld a, [hQuotient + 1] or a jr nz, .asm_3e004 - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] cp 998 / $100 jr c, .asm_3dfe8 cp 998 / $100 + 1 jr nc, .asm_3e004 - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] cp 998 % $100 jr nc, .asm_3e004 .asm_3dfe8 inc hl - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld b, [hl] add b ld [hld], a - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld b, [hl] adc b ld [hl], a @@ -4573,7 +4573,7 @@ INCLUDE "data/battle/unused_critical_hit_moves.asm" CriticalHitTest: xor a ld [wCriticalHitOrOHKO], a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wEnemyMonSpecies] jr nz, .handleEnemy @@ -4584,7 +4584,7 @@ CriticalHitTest: ld a, [wMonHBaseSpeed] ld b, a srl b ; (effective (base speed/2)) - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wPlayerMovePower ld de, wPlayerBattleStatus2 @@ -4646,7 +4646,7 @@ HandleCounterMove: ; the outcome may be affected by the player's actions in the move selection menu prior to switching the Pokemon. ; This might also lead to desync glitches in link battles. - ld a, [H_WHOSETURN] ; whose turn + ld a, [hWhoseTurn] ; whose turn and a ; player's turn ld hl, wEnemySelectedMove @@ -4954,7 +4954,7 @@ AttackSubstitute: ; values for player turn ld de, wEnemySubstituteHP ld bc, wEnemyBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .applyDamageToSubstitute ; values for enemy turn @@ -4979,14 +4979,14 @@ AttackSubstitute: ld hl, SubstituteBrokeText call PrintText ; flip whose turn it is for the next function call - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor $01 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a callab HideSubstituteShowMonAnim ; animate the substitute breaking ; flip the turn back to the way it was - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor $01 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld hl, wPlayerMoveEffect ; value for player's turn and a jr z, .nullifyEffect @@ -5010,7 +5010,7 @@ HandleBuildingRage: ld hl, wEnemyBattleStatus2 ld de, wEnemyMonStatMods ld bc, wEnemyMoveNum - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .next ; values for the enemy turn @@ -5023,9 +5023,9 @@ HandleBuildingRage: ld a, [de] cp $0d ; maximum stat modifier value ret z ; return if attack modifier is already maxed - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor $01 ; flip turn for the stat modifier raising function - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ; temporarily change the target pokemon's move to $00 and the effect to the one ; that causes the attack modifier to go up one stage ld h, b @@ -5042,9 +5042,9 @@ HandleBuildingRage: ldd [hl], a ; null move effect ld a, RAGE ld [hl], a ; restore the target pokemon's move number to Rage - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor $01 ; flip turn back to the way it was - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ret BuildingRageText: @@ -5060,7 +5060,7 @@ MirrorMoveCopyMove: ; wPlayerUsedMove is also set to 0 whenever the player is fast asleep or frozen solid. ; wEnemyUsedMove is also set to 0 whenever the enemy is fast asleep or frozen solid. - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ; values for player turn ld a, [wEnemyUsedMove] @@ -5113,7 +5113,7 @@ MetronomePickMove: ; values for player turn ld de, wPlayerMoveNum ld hl, wPlayerSelectedMove - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .pickMoveLoop ; values for enemy turn @@ -5135,7 +5135,7 @@ MetronomePickMove: ; it's used to prevent moves that run another move within the same turn ; (like Mirror Move and Metronome) from losing 2 PP IncrementMovePP: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ; values for player turn ld hl, wBattleMonPP @@ -5154,7 +5154,7 @@ IncrementMovePP: ld h, d ld l, e add hl, bc - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMonNumber] ; value for player turn jr z, .updatePP @@ -5178,7 +5178,7 @@ AdjustDamageForMoveType: ld e, [hl] ; e = type 2 of defender ld a, [wPlayerMoveType] ld [wMoveType], a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .next ; values for enemy turn @@ -5242,25 +5242,25 @@ AdjustDamageForMoveType: and $80 ld b, a ld a, [hl] ; a = damage multiplier - ld [H_MULTIPLIER], a + ld [hMultiplier], a add b ld [wDamageMultipliers], a xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld hl, wDamage ld a, [hli] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hld] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a call Multiply ld a, 10 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $04 call Divide - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld [hli], a ld b, a - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld [hl], a or b ; is damage 0? jr nz, .skipTypeImmunity @@ -5317,7 +5317,7 @@ AIGetTypeEffectiveness: ld [wTypeEffectiveness], a ; store damage multiplier ret -INCLUDE "data/type_effects.asm" +INCLUDE "data/types/type_matchups.asm" ; some tests that need to pass for a move to hit MoveHitTest: @@ -5325,7 +5325,7 @@ MoveHitTest: ld hl, wEnemyBattleStatus1 ld de, wPlayerMoveEffect ld bc, wEnemyMonStatus - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .dreamEaterCheck ; enemy's turn @@ -5345,8 +5345,8 @@ MoveHitTest: ret z ; Swift never misses (interestingly, Azure Heights lists this is a myth, but it appears to be true) call CheckTargetSubstitute ; substitute check (note that this overwrites a) jr z, .checkForDigOrFlyStatus -; this code is buggy. it's supposed to prevent HP draining moves from working on substitutes. -; since $7b79 overwrites a with either $00 or $01, it never works. +; This code is buggy. It's supposed to prevent HP draining moves from working on substitutes. +; Since CheckTargetSubstitute overwrites a with either $00 or $01, it never works. cp DRAIN_HP_EFFECT jp z, .moveMissed cp DREAM_EATER_EFFECT @@ -5354,7 +5354,7 @@ MoveHitTest: .checkForDigOrFlyStatus bit INVULNERABLE, [hl] jp nz, .moveMissed - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .enemyTurn .playerTurn @@ -5408,7 +5408,7 @@ MoveHitTest: call CalcHitChance ; scale the move accuracy according to attacker's accuracy and target's evasion ld a, [wPlayerMoveAccuracy] ld b, a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .doAccuracyCheck ld a, [wEnemyMoveAccuracy] @@ -5427,7 +5427,7 @@ MoveHitTest: ld [hl], a inc a ld [wMoveMissed], a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn2 .enemyTurn2 @@ -5442,7 +5442,7 @@ MoveHitTest: ; values for player turn CalcHitChance: ld hl, wPlayerMoveAccuracy - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMonAccuracyMod] ld b, a @@ -5462,10 +5462,10 @@ CalcHitChance: ; decreases the hit chance instead of increasing the hit chance) ; zero the high bytes of the multiplicand xor a - ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand], a + ld [hMultiplicand + 1], a ld a, [hl] - ld [H_MULTIPLICAND + 2], a ; set multiplicand to move accuracy + ld [hMultiplicand + 2], a ; set multiplicand to move accuracy push hl ld d, $02 ; loop has two iterations ; loop to do the calculations, the first iteration multiplies by the accuracy ratio and @@ -5480,29 +5480,29 @@ CalcHitChance: add hl, bc ; hl = address of stat modifier ratio pop bc ld a, [hli] - ld [H_MULTIPLIER], a ; set multiplier to the numerator of the ratio + ld [hMultiplier], a ; set multiplier to the numerator of the ratio call Multiply ld a, [hl] - ld [H_DIVISOR], a ; set divisor to the the denominator of the ratio + ld [hDivisor], a ; set divisor to the the denominator of the ratio ; (the dividend is the product of the previous multiplication) ld b, $04 ; number of bytes in the dividend call Divide - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld b, a - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] or b jp nz, .nextCalculation ; make sure the result is always at least one - ld [H_QUOTIENT + 2], a + ld [hQuotient + 2], a ld a, $01 - ld [H_QUOTIENT + 3], a + ld [hQuotient + 3], a .nextCalculation ld b, c dec d jr nz, .loop - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] and a ; is the calculated hit chance over 0xFF? - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] jr z, .storeAccuracy ; if calculated hit chance over 0xFF ld a, $ff ; set the hit chance to 0xFF @@ -5522,29 +5522,29 @@ RandomizeDamage: ret c ; return if damage is equal to 0 or 1 .DamageGreaterThanOne xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a dec hl ld a, [hli] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hl] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ; loop until a random number greater than or equal to 217 is generated .loop call BattleRandom rrca cp 217 jr c, .loop - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ; multiply damage by the random number, which is in the range [217, 255] ld a, 255 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide ; divide the result by 255 ; store the modified damage - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld hl, wDamage ld [hli], a - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld [hl], a ret @@ -5900,11 +5900,11 @@ CheckEnemyStatusConditions: ld [hl], a xor a ld [wAnimationType], a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld a, POUND call PlayMoveAnimation ld a, $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a call ApplyDamageToEnemyPokemon jr .monHurtItselfOrFullyParalysed .checkIfTriedToUseDisabledMove @@ -6051,7 +6051,7 @@ CheckEnemyStatusConditions: ret GetCurrentMove: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jp z, .player ld de, wEnemyMoveNum @@ -6257,13 +6257,13 @@ DoBattleTransitionAndInitBattleVariables: predef BattleTransition callab LoadHudAndHpBarAndStatusTilePatterns ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, $ff ld [wUpdateSpritesEnabled], a call ClearSprites call ClearScreen xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld [hWY], a ld [rWY], a ld [hTilesetType], a @@ -6335,17 +6335,17 @@ LoadPlayerBackPic: ld de, vBackPic call InterlaceMergeSpriteBuffers ld a, $a - ld [$0], a + ld [MBC1SRamEnable], a xor a - ld [$4000], a + ld [MBC1SRamBank], a ld hl, vSprites ld de, sSpriteBuffer1 - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld b, a ld c, 7 * 7 call CopyVideoData xor a - ld [$0], a + ld [MBC1SRamEnable], a ld a, $31 ld [hStartTileID], a coord hl, 1, 5 @@ -6367,12 +6367,12 @@ ApplyBurnAndParalysisPenaltiesToEnemy: xor a ApplyBurnAndParalysisPenalties: - ld [H_WHOSETURN], a + ld [hWhoseTurn], a call QuarterSpeedDueToParalysis jp HalveAttackDueToBurn QuarterSpeedDueToParalysis: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn .enemyTurn ; quarter the player's speed @@ -6415,7 +6415,7 @@ QuarterSpeedDueToParalysis: ret HalveAttackDueToBurn: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn .enemyTurn ; halve the player's attack @@ -6505,35 +6505,35 @@ CalculateModifiedStat: ld b, 0 add hl, bc xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld a, [de] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a inc de ld a, [de] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, [hli] - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld a, [hl] - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide pop hl - ld a, [H_DIVIDEND + 3] + ld a, [hDividend + 3] sub 999 % $100 - ld a, [H_DIVIDEND + 2] + ld a, [hDividend + 2] sbc 999 / $100 jp c, .storeNewStatValue ; cap the stat at 999 ld a, 999 / $100 - ld [H_DIVIDEND + 2], a + ld [hDividend + 2], a ld a, 999 % $100 - ld [H_DIVIDEND + 3], a + ld [hDividend + 3], a .storeNewStatValue - ld a, [H_DIVIDEND + 2] + ld a, [hDividend + 2] ld [hli], a ld b, a - ld a, [H_DIVIDEND + 3] + ld a, [hDividend + 3] ld [hl], a or b jr nz, .done @@ -6683,7 +6683,7 @@ BattleRandom: HandleExplodingAnimation: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wEnemyMonType1 ld de, wEnemyBattleStatus1 @@ -6826,18 +6826,18 @@ _InitBattleCommon: call RunPaletteCommand call SlidePlayerAndEnemySilhouettesOnScreen xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld hl, .emptyString call PrintText call SaveScreenTilesToBuffer1 call ClearScreen ld a, $98 - ld [H_AUTOBGTRANSFERDEST + 1], a + ld [hAutoBGTransferDest + 1], a ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 ld a, $9c - ld [H_AUTOBGTRANSFERDEST + 1], a + ld [hAutoBGTransferDest + 1], a call LoadScreenTilesFromBuffer1 coord hl, 9, 7 lb bc, 5, 10 @@ -6870,9 +6870,9 @@ _LoadTrainerPic: ld d, a ; de contains pointer to trainer pic ld a, [wLinkState] and a - ld a, Bank(TrainerPics) ; this is where all the trainer pics are (not counting Red's) + ld a, BANK(TrainerPics) ; this is where all the trainer pics are (not counting Red's) jr z, .loadSprite - ld a, Bank(RedPicFront) + ld a, BANK(RedPicFront) .loadSprite call UncompressSpriteFromDE ld de, vFrontPic @@ -6998,6 +6998,6 @@ LoadMonBackPic: ld hl, vSprites ld de, vBackPic ld c, (2*SPRITEBUFFERSIZE)/16 ; count of 16-byte chunks to be copied - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld b, a jp CopyVideoData diff --git a/engine/battle/effects.asm b/engine/battle/effects.asm index 8bb22a1c..0a1eb61c 100644 --- a/engine/battle/effects.asm +++ b/engine/battle/effects.asm @@ -4,7 +4,7 @@ JumpMoveEffect: ret _JumpMoveEffect: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveEffect] jr z, .next1 @@ -21,12 +21,12 @@ _JumpMoveEffect: ld l, a jp hl ; jump to special effect handler -INCLUDE "data/effects_pointers.asm" +INCLUDE "data/moves/effects_pointers.asm" SleepEffect: ld de, wEnemyMonStatus ld bc, wEnemyBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jp z, .sleepEffect ld de, wBattleMonStatus @@ -78,7 +78,7 @@ AlreadyAsleepText: PoisonEffect: ld hl, wEnemyMonStatus ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .poisonEffect ld hl, wBattleMonStatus @@ -121,7 +121,7 @@ PoisonEffect: set 3, [hl] ; mon is now poisoned push de dec de - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld b, ANIM_C7 ld hl, wPlayerBattleStatus3 @@ -175,7 +175,7 @@ DrainHPEffect: ExplodeEffect: ld hl, wBattleMonHP ld de, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .faintUser ld hl, wEnemyMonHP @@ -196,7 +196,7 @@ FreezeBurnParalyzeEffect: ld [wAnimationType], a call CheckTargetSubstitute ; test bit 4 of d063/d068 flags [target has substitute flag] ret nz ; return if they have a substitute, can't effect them - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jp nz, opponentAttacker ld a, [wEnemyMonStatus] @@ -308,7 +308,7 @@ CheckDefrost: ; any fire-type move that has a chance inflict burn (all but Fire Spin) will defrost a frozen target and 1 << FRZ ; are they frozen? ret z ; return if so - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .opponent ;player [attacker] @@ -346,7 +346,7 @@ FireDefrostedText: StatModifierUpEffect: ld hl, wPlayerMonStatMods ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .statModifierUpEffect ld hl, wEnemyMonStatMods @@ -382,7 +382,7 @@ StatModifierUpEffect: push hl ld hl, wBattleMonAttack + 1 ld de, wPlayerMonUnmodifiedAttack - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .pointToStats ld hl, wEnemyMonAttack + 1 @@ -417,35 +417,35 @@ StatModifierUpEffect: add hl, bc pop bc xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld a, [de] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a inc de ld a, [de] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, [hli] - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld a, [hl] - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide pop hl ; cap at 999 - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] sub 999 % $100 - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] sbc 999 / $100 jp c, UpdateStat ld a, 999 / $100 - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, 999 % $100 - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a UpdateStat: - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] ld [hli], a - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] ld [hl], a pop hl UpdateStatDone: @@ -455,7 +455,7 @@ UpdateStatDone: ld hl, wPlayerBattleStatus2 ld de, wPlayerMoveNum ld bc, wPlayerMonMinimized - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .asm_3f4e6 ld hl, wEnemyBattleStatus2 @@ -488,7 +488,7 @@ UpdateStatDone: pop af call nz, Bankswitch .applyBadgeBoostsAndStatusPenalties - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a call z, ApplyBadgeStatBoosts ; whenever the player uses a stat-up move, badge boosts get reapplied again to every stat, ; even to those not affected by the stat-up move (will be boosted further) @@ -511,7 +511,7 @@ MonsStatsRoseText: TX_FAR _MonsStatsRoseText TX_ASM ld hl, GreatlyRoseText - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveEffect] jr z, .playerTurn @@ -534,7 +534,7 @@ StatModifierDownEffect: ld hl, wEnemyMonStatMods ld de, wPlayerMoveEffect ld bc, wEnemyBattleStatus1 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .statModifierDownEffect ld hl, wPlayerMonStatMods @@ -601,7 +601,7 @@ StatModifierDownEffect: push de ld hl, wEnemyMonAttack + 1 ld de, wEnemyMonUnmodifiedAttack - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .pointToStat ld hl, wBattleMonAttack + 1 @@ -637,33 +637,33 @@ StatModifierDownEffect: add hl, bc pop bc xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld a, [de] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a inc de ld a, [de] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, [hli] - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld a, [hl] - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide pop hl - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] ld b, a - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] or b jp nz, UpdateLoweredStat - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, $1 - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a UpdateLoweredStat: - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] ld [hli], a - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] ld [hl], a pop de pop hl @@ -678,7 +678,7 @@ UpdateLoweredStatDone: jr nc, .ApplyBadgeBoostsAndStatusPenalties call PlayCurrentMoveAnimation2 .ApplyBadgeBoostsAndStatusPenalties - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a call nz, ApplyBadgeStatBoosts ; whenever the player uses a stat-down move, badge boosts get reapplied again to every stat, ; even to those not affected by the stat-up move (will be boosted further) @@ -713,7 +713,7 @@ MonsStatsFellText: TX_FAR _MonsStatsFellText TX_ASM ld hl, FellText - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveEffect] jr z, .playerTurn @@ -751,7 +751,7 @@ PrintStatText: ld bc, $a jp CopyData -INCLUDE "text/stat_names.asm" +INCLUDE "data/battle/stat_names.asm" INCLUDE "data/battle/stat_modifiers.asm" @@ -759,7 +759,7 @@ BideEffect: ld hl, wPlayerBattleStatus1 ld de, wPlayerBideAccumulatedDamage ld bc, wPlayerNumAttacksLeft - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .bideEffect ld hl, wEnemyBattleStatus1 @@ -778,14 +778,14 @@ BideEffect: inc a inc a ld [bc], a ; set Bide counter to 2 or 3 at random - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] add XSTATITEM_ANIM jp PlayBattleAnimation2 ThrashPetalDanceEffect: ld hl, wPlayerBattleStatus1 ld de, wPlayerNumAttacksLeft - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .thrashPetalDanceEffect ld hl, wEnemyBattleStatus1 @@ -797,12 +797,12 @@ ThrashPetalDanceEffect: inc a inc a ld [de], a ; set thrash/petal dance counter to 2 or 3 at random - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] add ANIM_B0 jp PlayBattleAnimation2 SwitchAndTeleportEffect: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .handleEnemy ld a, [wIsInBattle] @@ -920,7 +920,7 @@ TwoToFiveAttacksEffect: ld hl, wPlayerBattleStatus1 ld de, wPlayerNumAttacksLeft ld bc, wPlayerNumHits - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .twoToFiveAttacksEffect ld hl, wEnemyBattleStatus1 @@ -931,7 +931,7 @@ TwoToFiveAttacksEffect: ret nz set ATTACKING_MULTIPLE_TIMES, [hl] ; mon is now attacking multiple times ld hl, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .setNumberOfHits ld hl, wEnemyMoveEffect @@ -967,7 +967,7 @@ FlinchSideEffect: ret nz ld hl, wEnemyBattleStatus1 ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .flinchSideEffect ld hl, wPlayerBattleStatus1 @@ -992,7 +992,7 @@ OneHitKOEffect: ChargeEffect: ld hl, wPlayerBattleStatus1 ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld b, XSTATITEM_ANIM jr z, .chargeEffect @@ -1074,7 +1074,7 @@ DugAHoleText: TrappingEffect: ld hl, wPlayerBattleStatus1 ld de, wPlayerNumAttacksLeft - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .trappingEffect ld hl, wEnemyBattleStatus1 @@ -1120,7 +1120,7 @@ ConfusionEffect: jr nz, ConfusionEffectFailed ConfusionSideEffectSuccess: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wEnemyBattleStatus1 ld bc, wEnemyConfusedCounter @@ -1164,7 +1164,7 @@ SubstituteEffect: HyperBeamEffect: ld hl, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .hyperBeamEffect ld hl, wEnemyBattleStatus2 @@ -1175,7 +1175,7 @@ HyperBeamEffect: ClearHyperBeam: push hl ld hl, wEnemyBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .playerTurn ld hl, wPlayerBattleStatus2 @@ -1186,7 +1186,7 @@ ClearHyperBeam: RageEffect: ld hl, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .player ld hl, wEnemyBattleStatus2 @@ -1201,7 +1201,7 @@ MimicEffect: ld a, [wMoveMissed] and a jr nz, .mimicMissed - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wBattleMonMoves ld a, [wPlayerBattleStatus1] @@ -1226,7 +1226,7 @@ MimicEffect: and a jr z, .getRandomMove ld d, a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wBattleMonMoves ld a, [wPlayerMoveListIndex] @@ -1284,7 +1284,7 @@ DisableEffect: jr nz, .moveMissed ld de, wEnemyDisabledMove ld hl, wEnemyMonMoves - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .disableEffect ld de, wPlayerDisabledMove @@ -1307,7 +1307,7 @@ DisableEffect: jr z, .pickMoveToDisable ; loop until a non-00 move slot is found ld [wd11e], a ; store move number push hl - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld hl, wBattleMonPP jr nz, .enemyTurn @@ -1345,7 +1345,7 @@ DisableEffect: ld [de], a call PlayCurrentMoveAnimation2 ld hl, wPlayerDisabledMoveNumber - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .printDisableText inc hl ; wEnemyDisabledMoveNumber @@ -1430,7 +1430,7 @@ ParalyzedMayNotAttackText: CheckTargetSubstitute: push hl ld hl, wEnemyBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .next1 ld hl, wPlayerBattleStatus2 @@ -1442,7 +1442,7 @@ CheckTargetSubstitute: PlayCurrentMoveAnimation2: ; animation at MOVENUM will be played unless MOVENUM is 0 ; plays wAnimationType 3 or 6 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveNum] jr z, .notEnemyTurn @@ -1454,7 +1454,7 @@ PlayCurrentMoveAnimation2: PlayBattleAnimation2: ; play animation ID at a and animation type 6 or 3 ld [wAnimationID], a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, $6 jr z, .storeAnimationType @@ -1468,7 +1468,7 @@ PlayCurrentMoveAnimation: ; resets wAnimationType xor a ld [wAnimationType], a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveNum] jr z, .notEnemyTurn diff --git a/engine/battle/experience.asm b/engine/battle/experience.asm index 24748338..c628ae32 100644 --- a/engine/battle/experience.asm +++ b/engine/battle/experience.asm @@ -55,15 +55,15 @@ GainExperience: jr .gainStatExpLoop .statExpDone xor a - ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand], a + ld [hMultiplicand + 1], a ld a, [wEnemyMonBaseExp] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, [wEnemyMonLevel] - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld a, 7 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 4 call Divide ld hl, wPartyMon1OTID - (wPartyMon1DVs - 1) @@ -91,12 +91,12 @@ GainExperience: inc hl ; add the gained exp to the party mon's exp ld b, [hl] - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld [wExpAmountGained + 1], a add b ld [hld], a ld b, [hl] - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld [wExpAmountGained], a adc b ld [hl], a @@ -311,14 +311,14 @@ DivideExpDataByNumMonsGainingExp: ld c, wEnemyMonBaseExp + 1 - wEnemyMonBaseStats .divideLoop xor a - ld [H_DIVIDEND], a + ld [hDividend], a ld a, [hl] - ld [H_DIVIDEND + 1], a + ld [hDividend + 1], a ld a, [wd11e] - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $2 call Divide ; divide value by number of mons gaining exp - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld [hli], a dec c jr nz, .divideLoop @@ -326,17 +326,17 @@ DivideExpDataByNumMonsGainingExp: ; multiplies exp by 1.5 BoostExp: - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld b, a - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld c, a srl b rr c add c - ld [H_QUOTIENT + 3], a - ld a, [H_QUOTIENT + 2] + ld [hQuotient + 3], a + ld a, [hQuotient + 2] adc b - ld [H_QUOTIENT + 2], a + ld [hQuotient + 2], a ret GainedText: diff --git a/engine/battle/ghost_marowak_anim.asm b/engine/battle/ghost_marowak_anim.asm index 7adb20d8..28f536ca 100644 --- a/engine/battle/ghost_marowak_anim.asm +++ b/engine/battle/ghost_marowak_anim.asm @@ -9,12 +9,12 @@ MarowakAnim: call ClearScreenArea call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a ; disable BG transfer so we don't see the Marowak too soon + ld [hAutoBGTransferEnabled], a ; disable BG transfer so we don't see the Marowak too soon ; replace ghost pic with Marowak in BG ld a, MAROWAK ld [wChangeMonPicEnemyTurnSpecies], a ld a, $1 - ld [H_WHOSETURN], a + ld [hWhoseTurn], a callab ChangeMonPic ; alternate between black and light grey 8 times. ; this makes the ghost's body appear to flash @@ -44,7 +44,7 @@ MarowakAnim: and a jr nz, .fadeInMarowakLoop ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a ; enable BG transfer so the BG Marowak pic will be visible after the sprite one is cleared + ld [hAutoBGTransferEnabled], a ; enable BG transfer so the BG Marowak pic will be visible after the sprite one is cleared call Delay3 jp ClearSprites diff --git a/engine/battle/move_effects/conversion.asm b/engine/battle/move_effects/conversion.asm index f23c3d70..8c41f914 100644 --- a/engine/battle/move_effects/conversion.asm +++ b/engine/battle/move_effects/conversion.asm @@ -1,7 +1,7 @@ ConversionEffect_: ld hl, wEnemyMonType1 ld de, wBattleMonType1 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wEnemyBattleStatus1] jr z, .conversionEffect diff --git a/engine/battle/move_effects/drain_hp.asm b/engine/battle/move_effects/drain_hp.asm index e5f4681a..60d23a95 100644 --- a/engine/battle/move_effects/drain_hp.asm +++ b/engine/battle/move_effects/drain_hp.asm @@ -14,7 +14,7 @@ DrainHPEffect_: .getAttackerHP ld hl, wBattleMonHP ld de, wBattleMonMaxHP - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jp z, .addDamageToAttackerHP ld hl, wEnemyMonHP @@ -69,7 +69,7 @@ DrainHPEffect_: ld [wHPBarNewHP+1], a inc de .next - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a coord hl, 10, 9 ld a, $1 @@ -83,7 +83,7 @@ DrainHPEffect_: predef DrawEnemyHUDAndHPBar callab ReadPlayerMonCurHPAndStatus ld hl, SuckedHealthText - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveEffect] jr z, .next3 diff --git a/engine/battle/move_effects/focus_energy.asm b/engine/battle/move_effects/focus_energy.asm index 16dad7bb..af4a6521 100644 --- a/engine/battle/move_effects/focus_energy.asm +++ b/engine/battle/move_effects/focus_energy.asm @@ -1,6 +1,6 @@ FocusEnergyEffect_: ld hl, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .notEnemy ld hl, wEnemyBattleStatus2 diff --git a/engine/battle/move_effects/haze.asm b/engine/battle/move_effects/haze.asm index 47723ba2..bd73d249 100644 --- a/engine/battle/move_effects/haze.asm +++ b/engine/battle/move_effects/haze.asm @@ -15,7 +15,7 @@ HazeEffect_: ; cure non-volatile status, but only for the target ld hl, wEnemyMonStatus ld de, wEnemySelectedMove - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .cureStatuses ld hl, wBattleMonStatus diff --git a/engine/battle/move_effects/heal.asm b/engine/battle/move_effects/heal.asm index 2e68acc0..8042bc63 100644 --- a/engine/battle/move_effects/heal.asm +++ b/engine/battle/move_effects/heal.asm @@ -1,5 +1,5 @@ HealEffect_: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld de, wBattleMonHP ld hl, wBattleMonMaxHP @@ -27,7 +27,7 @@ HealEffect_: ld c, 50 call DelayFrames ld hl, wBattleMonStatus - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .restEffect ld hl, wEnemyMonStatus @@ -87,7 +87,7 @@ HealEffect_: .playAnim ld hl, PlayCurrentMoveAnimation call BankswitchEtoF - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a coord hl, 10, 9 ld a, $1 diff --git a/engine/battle/move_effects/leech_seed.asm b/engine/battle/move_effects/leech_seed.asm index f4d3ee9c..981f5da9 100644 --- a/engine/battle/move_effects/leech_seed.asm +++ b/engine/battle/move_effects/leech_seed.asm @@ -5,7 +5,7 @@ LeechSeedEffect_: jr nz, .moveMissed ld hl, wEnemyBattleStatus2 ld de, wEnemyMonType1 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .leechSeedEffect ld hl, wPlayerBattleStatus2 diff --git a/engine/battle/move_effects/mist.asm b/engine/battle/move_effects/mist.asm index 65070a3e..6373770d 100644 --- a/engine/battle/move_effects/mist.asm +++ b/engine/battle/move_effects/mist.asm @@ -1,6 +1,6 @@ MistEffect_: ld hl, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .mistEffect ld hl, wEnemyBattleStatus2 diff --git a/engine/battle/move_effects/one_hit_ko.asm b/engine/battle/move_effects/one_hit_ko.asm index 827e2197..347a4c7b 100644 --- a/engine/battle/move_effects/one_hit_ko.asm +++ b/engine/battle/move_effects/one_hit_ko.asm @@ -7,7 +7,7 @@ OneHitKOEffect_: ld [wCriticalHitOrOHKO], a ld hl, wBattleMonSpeed + 1 ld de, wEnemyMonSpeed + 1 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .compareSpeed ld hl, wEnemyMonSpeed + 1 diff --git a/engine/battle/move_effects/paralyze.asm b/engine/battle/move_effects/paralyze.asm index 95979ae6..b01aa5cf 100644 --- a/engine/battle/move_effects/paralyze.asm +++ b/engine/battle/move_effects/paralyze.asm @@ -1,7 +1,7 @@ ParalyzeEffect_: ld hl, wEnemyMonStatus ld de, wPlayerMoveType - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jp z, .next ld hl, wBattleMonStatus diff --git a/engine/battle/move_effects/pay_day.asm b/engine/battle/move_effects/pay_day.asm index e5daf014..5bdb86da 100644 --- a/engine/battle/move_effects/pay_day.asm +++ b/engine/battle/move_effects/pay_day.asm @@ -2,7 +2,7 @@ PayDayEffect_: xor a ld hl, wcd6d ld [hli], a - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wBattleMonLevel] jr z, .payDayEffect @@ -10,28 +10,28 @@ PayDayEffect_: .payDayEffect ; level * 2 add a - ld [H_DIVIDEND + 3], a + ld [hDividend + 3], a xor a - ld [H_DIVIDEND], a - ld [H_DIVIDEND + 1], a - ld [H_DIVIDEND + 2], a + ld [hDividend], a + ld [hDividend + 1], a + ld [hDividend + 2], a ; convert to BCD ld a, 100 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld [hli], a - ld a, [H_REMAINDER] - ld [H_DIVIDEND + 3], a + ld a, [hRemainder] + ld [hDividend + 3], a ld a, 10 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] swap a ld b, a - ld a, [H_REMAINDER] + ld a, [hRemainder] add b ld [hl], a ld de, wTotalPayDayMoney + 2 diff --git a/engine/battle/move_effects/recoil.asm b/engine/battle/move_effects/recoil.asm index 0f2f087b..e94f8043 100644 --- a/engine/battle/move_effects/recoil.asm +++ b/engine/battle/move_effects/recoil.asm @@ -1,5 +1,5 @@ RecoilEffect_: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerMoveNum] ld hl, wBattleMonMaxHP @@ -54,7 +54,7 @@ RecoilEffect_: ld [hl], a .getHPBarCoords coord hl, 10, 9 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, $1 jr z, .updateHPBar diff --git a/engine/battle/move_effects/reflect_light_screen.asm b/engine/battle/move_effects/reflect_light_screen.asm index 2805a969..7693a348 100644 --- a/engine/battle/move_effects/reflect_light_screen.asm +++ b/engine/battle/move_effects/reflect_light_screen.asm @@ -1,7 +1,7 @@ ReflectLightScreenEffect_: ld hl, wPlayerBattleStatus3 ld de, wPlayerMoveEffect - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .reflectLightScreenEffect ld hl, wEnemyBattleStatus3 diff --git a/engine/battle/move_effects/substitute.asm b/engine/battle/move_effects/substitute.asm index 1bb6c887..a1cd11b2 100644 --- a/engine/battle/move_effects/substitute.asm +++ b/engine/battle/move_effects/substitute.asm @@ -4,7 +4,7 @@ SubstituteEffect_: ld hl, wBattleMonMaxHP ld de, wPlayerSubstituteHP ld bc, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .notEnemy ld hl, wEnemyMonMaxHP diff --git a/engine/battle/move_effects/transform.asm b/engine/battle/move_effects/transform.asm index 9a5de9cc..1b459910 100644 --- a/engine/battle/move_effects/transform.asm +++ b/engine/battle/move_effects/transform.asm @@ -3,7 +3,7 @@ TransformEffect_: ld de, wEnemyMonSpecies ld bc, wEnemyBattleStatus3 ld a, [wEnemyBattleStatus1] - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr nz, .hitTest ld hl, wEnemyMonSpecies @@ -18,7 +18,7 @@ TransformEffect_: push de push bc ld hl, wPlayerBattleStatus2 - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .transformEffect ld hl, wEnemyBattleStatus2 @@ -64,7 +64,7 @@ TransformEffect_: inc bc inc bc call CopyData - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .next ; save enemy mon DVs at wTransformedEnemyMonOriginalDVs @@ -128,7 +128,7 @@ TransformEffect_: jp PrintText .copyBasedOnTurn - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a jr z, .gotStatsOrModsToCopy push hl diff --git a/engine/battle/print_type.asm b/engine/battle/print_type.asm index f717f871..7da0dc8c 100644 --- a/engine/battle/print_type.asm +++ b/engine/battle/print_type.asm @@ -49,4 +49,4 @@ PrintType_: pop hl jp PlaceString -INCLUDE "text/type_names.asm" +INCLUDE "data/types/names.asm" diff --git a/engine/battle/save_trainer_name.asm b/engine/battle/save_trainer_name.asm index 78e53b87..4d40fd82 100644 --- a/engine/battle/save_trainer_name.asm +++ b/engine/battle/save_trainer_name.asm @@ -18,4 +18,4 @@ SaveTrainerName:: jr nz, .CopyCharacter ret -INCLUDE "text/trainer_name_pointers.asm" +INCLUDE "data/trainers/name_pointers.asm" diff --git a/engine/battle/scale_sprites.asm b/engine/battle/scale_sprites.asm index 98521528..11967ba1 100644 --- a/engine/battle/scale_sprites.asm +++ b/engine/battle/scale_sprites.asm @@ -17,7 +17,7 @@ ScaleFirstThreeSpriteColumnsByTwo: .columnInnerLoop push bc ld a, [de] - ld bc, -(7*8)+1 ; $ffc9, scale lower nybble and seek to previous output column + ld bc, -(7*8)+1 ; -$37, scale lower nybble and seek to previous output column call ScalePixelsByTwo ld a, [de] dec de @@ -32,7 +32,7 @@ ScaleFirstThreeSpriteColumnsByTwo: dec de dec de ld a, b - ld bc, -7*8 ; $ffc8, skip one output column (which has already been written along with the current one) + ld bc, -7*8 ; -$38, skip one output column (which has already been written along with the current one) add hl, bc ld b, a dec b @@ -41,16 +41,16 @@ ScaleFirstThreeSpriteColumnsByTwo: ScaleLastSpriteColumnByTwo: ld a, 4*8 - 4 ; $1c, 4 tiles minus 4 unused rows - ld [H_SPRITEINTERLACECOUNTER], a + ld [hSpriteInterlaceCounter], a ld bc, -1 .columnInnerLoop ld a, [de] dec de swap a ; only high nybble contains information call ScalePixelsByTwo - ld a, [H_SPRITEINTERLACECOUNTER] + ld a, [hSpriteInterlaceCounter] dec a - ld [H_SPRITEINTERLACECOUNTER], a + ld [hSpriteInterlaceCounter], a jr nz, .columnInnerLoop dec de ; skip last 4 rows of new column dec de diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index 2850b9c2..d61b44f8 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -134,7 +134,7 @@ AIMoveChoiceModification1: push de push bc ld hl, StatusAilmentMoveEffects - ld de, $0001 + ld de, 1 call IsInArray pop bc pop de @@ -273,19 +273,19 @@ ReadMove: pop hl ret -INCLUDE "data/trainer_move_choices.asm" +INCLUDE "data/trainers/move_choices.asm" -INCLUDE "data/trainer_pic_money_pointers.asm" +INCLUDE "data/trainers/pic_pointers_money.asm" -INCLUDE "text/trainer_names.asm" +INCLUDE "data/trainers/names.asm" INCLUDE "engine/battle/misc.asm" INCLUDE "engine/battle/read_trainer_party.asm" -INCLUDE "data/trainer_moves.asm" +INCLUDE "data/trainers/special_moves.asm" -INCLUDE "data/trainer_parties.asm" +INCLUDE "data/trainers/parties.asm" TrainerAI: and a @@ -319,7 +319,7 @@ TrainerAI: call Random jp hl -INCLUDE "data/trainer_ai_pointers.asm" +INCLUDE "data/trainers/ai_pointers.asm" JugglerAI: cp 25 percent + 1 @@ -655,17 +655,17 @@ AIUseDireHit: ; unused AICheckIfHPBelowFraction: ; return carry if enemy trainer's current HP is below 1 / a of the maximum - ld [H_DIVISOR], a + ld [hDivisor], a ld hl, wEnemyMonMaxHP ld a, [hli] - ld [H_DIVIDEND], a + ld [hDividend], a ld a, [hl] - ld [H_DIVIDEND + 1], a + ld [hDividend + 1], a ld b, 2 call Divide - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld c, a - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld b, a ld hl, wEnemyMonHP + 1 ld a, [hld] diff --git a/engine/battle/unused_stats_functions.asm b/engine/battle/unused_stats_functions.asm index 55f78fd3..fb3422c7 100644 --- a/engine/battle/unused_stats_functions.asm +++ b/engine/battle/unused_stats_functions.asm @@ -1,6 +1,6 @@ ; does nothing since no stats are ever selected (barring glitches) DoubleSelectedStats: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerStatsToDouble] ld hl, wBattleMonAttack + 1 @@ -30,7 +30,7 @@ DoubleSelectedStats: ; does nothing since no stats are ever selected (barring glitches) HalveSelectedStats: - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] and a ld a, [wPlayerStatsToHalve] ld hl, wBattleMonAttack diff --git a/engine/battle/wild_encounters.asm b/engine/battle/wild_encounters.asm index 93409051..9d6fcb8d 100644 --- a/engine/battle/wild_encounters.asm +++ b/engine/battle/wild_encounters.asm @@ -101,4 +101,4 @@ TryDoWildEncounter: xor a ret -INCLUDE "data/wild_probabilities.asm" +INCLUDE "data/wild/probabilities.asm" diff --git a/engine/debug/test_battle.asm b/engine/debug/test_battle.asm index d9dcf1fa..92d6e4a9 100644 --- a/engine/debug/test_battle.asm +++ b/engine/debug/test_battle.asm @@ -41,5 +41,5 @@ TestBattle: ; do it all again. ld a, 1 ld [wUpdateSpritesEnabled], a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a jr .loop diff --git a/engine/events/cinnabar_lab.asm b/engine/events/cinnabar_lab.asm index e642840d..e1598f98 100755 --- a/engine/events/cinnabar_lab.asm +++ b/engine/events/cinnabar_lab.asm @@ -35,7 +35,7 @@ GiveFossilToCinnabarLab:: ld e, a add hl, de ld a, [hl] - ld [$ffdb], a + ld [hItemToRemoveID], a cp DOME_FOSSIL jr z, .choseDomeFossil cp HELIX_FOSSIL diff --git a/engine/events/diploma.asm b/engine/events/diploma.asm index e53ef58f..53d78e57 100755 --- a/engine/events/diploma.asm +++ b/engine/events/diploma.asm @@ -9,7 +9,7 @@ DisplayDiploma:: call DisableLCD ld hl, CircleTile ld de, vChars2 + $700 - ld bc, $0010 + ld bc, $10 ld a, BANK(CircleTile) call FarCopyData2 coord hl, 0, 0 @@ -73,7 +73,7 @@ UnusedPlayerNameLengthFunc: ; Unused function that does a calculation involving the length of the player's ; name. ld hl, wPlayerName - ld bc, $ff00 + lb bc, $ff, $00 .loop ld a, [hli] cp "@" diff --git a/engine/events/hidden_items.asm b/engine/events/hidden_items.asm index e40b0ac7..ad954c9f 100755 --- a/engine/events/hidden_items.asm +++ b/engine/events/hidden_items.asm @@ -18,7 +18,7 @@ HiddenItems: call GetItemName tx_pre_jump FoundHiddenItemText -INCLUDE "data/hidden_item_coords.asm" +INCLUDE "data/events/hidden_item_coords.asm" FoundHiddenItemText:: TX_FAR _FoundHiddenItemText @@ -118,7 +118,7 @@ HiddenCoins: .done jp PrintPredefTextID -INCLUDE "data/hidden_coins.asm" +INCLUDE "data/events/hidden_coins.asm" FoundHiddenCoinsText:: TX_FAR _FoundHiddenCoinsText diff --git a/engine/events/hidden_object_functions14.asm b/engine/events/hidden_object_functions14.asm deleted file mode 100755 index 9e14c6a7..00000000 --- a/engine/events/hidden_object_functions14.asm +++ /dev/null @@ -1,100 +0,0 @@ -PrintNotebookText: - call EnableAutoTextBoxDrawing - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld a, [wHiddenObjectFunctionArgument] - jp PrintPredefTextID - -TMNotebook:: - TX_FAR TMNotebookText - TX_WAIT - db "@" - -ViridianSchoolNotebook:: - TX_ASM - ld hl, ViridianSchoolNotebookText1 - call PrintText - call TurnPageSchoolNotebook - jr nz, .doneReading - ld hl, ViridianSchoolNotebookText2 - call PrintText - call TurnPageSchoolNotebook - jr nz, .doneReading - ld hl, ViridianSchoolNotebookText3 - call PrintText - call TurnPageSchoolNotebook - jr nz, .doneReading - ld hl, ViridianSchoolNotebookText4 - call PrintText - ld hl, ViridianSchoolNotebookText5 - call PrintText -.doneReading - jp TextScriptEnd - -TurnPageSchoolNotebook: - ld hl, TurnPageText - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - ret - -TurnPageText: - TX_FAR _TurnPageText - db "@" - -ViridianSchoolNotebookText5: - TX_FAR _ViridianSchoolNotebookText5 - TX_WAIT - db "@" - -ViridianSchoolNotebookText1: - TX_FAR _ViridianSchoolNotebookText1 - db "@" - -ViridianSchoolNotebookText2: - TX_FAR _ViridianSchoolNotebookText2 - db "@" - -ViridianSchoolNotebookText3: - TX_FAR _ViridianSchoolNotebookText3 - db "@" - -ViridianSchoolNotebookText4: - TX_FAR _ViridianSchoolNotebookText4 - db "@" - -PrintFightingDojoText2: - call EnableAutoTextBoxDrawing - tx_pre_jump EnemiesOnEverySideText - -EnemiesOnEverySideText:: - TX_FAR _EnemiesOnEverySideText - db "@" - -PrintFightingDojoText3: - call EnableAutoTextBoxDrawing - tx_pre_jump WhatGoesAroundComesAroundText - -WhatGoesAroundComesAroundText:: - TX_FAR _WhatGoesAroundComesAroundText - db "@" - -PrintFightingDojoText: - call EnableAutoTextBoxDrawing - tx_pre_jump FightingDojoText - -FightingDojoText:: - TX_FAR _FightingDojoText - db "@" - -PrintIndigoPlateauHQText: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - call EnableAutoTextBoxDrawing - tx_pre_jump IndigoPlateauHQText - -IndigoPlateauHQText:: - TX_FAR _IndigoPlateauHQText - db "@" diff --git a/engine/events/hidden_object_functions17.asm b/engine/events/hidden_object_functions17.asm deleted file mode 100755 index bb2a358c..00000000 --- a/engine/events/hidden_object_functions17.asm +++ /dev/null @@ -1,475 +0,0 @@ -PrintRedSNESText: - call EnableAutoTextBoxDrawing - tx_pre_jump RedBedroomSNESText - -RedBedroomSNESText:: - TX_FAR _RedBedroomSNESText - db "@" - -OpenRedsPC: - call EnableAutoTextBoxDrawing - tx_pre_jump RedBedroomPCText - -RedBedroomPCText:: - TX_PLAYERS_PC - -Route15GateLeftBinoculars: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - call EnableAutoTextBoxDrawing - tx_pre Route15UpstairsBinocularsText - ld a, ARTICUNO - ld [wcf91], a - call PlayCry - jp DisplayMonFrontSpriteInBox - -Route15UpstairsBinocularsText:: - TX_FAR _Route15UpstairsBinocularsText - db "@" - -AerodactylFossil: - ld a, FOSSIL_AERODACTYL - ld [wcf91], a - call DisplayMonFrontSpriteInBox - call EnableAutoTextBoxDrawing - tx_pre AerodactylFossilText - ret - -AerodactylFossilText:: - TX_FAR _AerodactylFossilText - db "@" - -KabutopsFossil: - ld a, FOSSIL_KABUTOPS - ld [wcf91], a - call DisplayMonFrontSpriteInBox - call EnableAutoTextBoxDrawing - tx_pre KabutopsFossilText - ret - -KabutopsFossilText:: - TX_FAR _KabutopsFossilText - db "@" - -DisplayMonFrontSpriteInBox: -; Displays a pokemon's front sprite in a pop-up window. -; [wcf91] = pokemon internal id number - ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a - call Delay3 - xor a - ld [hWY], a - call SaveScreenTilesToBuffer1 - ld a, MON_SPRITE_POPUP - ld [wTextBoxID], a - call DisplayTextBoxID - call UpdateSprites - ld a, [wcf91] - ld [wd0b5], a - call GetMonHeader - ld de, vChars1 + $310 - call LoadMonFrontSprite - ld a, $80 - ld [hStartTileID], a - coord hl, 10, 11 - predef AnimateSendingOutMon - call WaitForTextScrollButtonPress - call LoadScreenTilesFromBuffer1 - call Delay3 - ld a, $90 - ld [hWY], a - ret - -PrintBlackboardLinkCableText: - call EnableAutoTextBoxDrawing - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld a, [wHiddenObjectFunctionArgument] - call PrintPredefTextID - ret - -LinkCableHelp:: - TX_ASM - call SaveScreenTilesToBuffer1 - ld hl, LinkCableHelpText1 - call PrintText - xor a - ld [wMenuItemOffset], a ; not used - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld a, A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, 3 - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a -.linkHelpLoop - ld hl, wd730 - set 6, [hl] - coord hl, 0, 0 - ld b, 8 - ld c, 13 - call TextBoxBorder - coord hl, 2, 2 - ld de, HowToLinkText - call PlaceString - ld hl, LinkCableHelpText2 - call PrintText - call HandleMenuInput - bit 1, a ; pressed b - jr nz, .exit - ld a, [wCurrentMenuItem] - cp 3 ; pressed a on "STOP READING" - jr z, .exit - ld hl, wd730 - res 6, [hl] - ld hl, LinkCableInfoTexts - add a - ld d, 0 - ld e, a - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call PrintText - jp .linkHelpLoop -.exit - ld hl, wd730 - res 6, [hl] - call LoadScreenTilesFromBuffer1 - jp TextScriptEnd - -LinkCableHelpText1: - TX_FAR _LinkCableHelpText1 - db "@" - -LinkCableHelpText2: - TX_FAR _LinkCableHelpText2 - db "@" - -HowToLinkText: - db "HOW TO LINK" - next "COLOSSEUM" - next "TRADE CENTER" - next "STOP READING@" - -LinkCableInfoTexts: - dw LinkCableInfoText1 - dw LinkCableInfoText2 - dw LinkCableInfoText3 - -LinkCableInfoText1: - TX_FAR _LinkCableInfoText1 - db "@" - -LinkCableInfoText2: - TX_FAR _LinkCableInfoText2 - db "@" - -LinkCableInfoText3: - TX_FAR _LinkCableInfoText3 - db "@" - -ViridianSchoolBlackboard:: - TX_ASM - call SaveScreenTilesToBuffer1 - ld hl, ViridianSchoolBlackboardText1 - call PrintText - xor a - ld [wMenuItemOffset], a - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld a, D_LEFT | D_RIGHT | A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, 2 - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a -.blackboardLoop - ld hl, wd730 - set 6, [hl] - coord hl, 0, 0 - lb bc, 6, 10 - call TextBoxBorder - coord hl, 1, 2 - ld de, StatusAilmentText1 - call PlaceString - coord hl, 6, 2 - ld de, StatusAilmentText2 - call PlaceString - ld hl, ViridianSchoolBlackboardText2 - call PrintText - call HandleMenuInput ; pressing up and down is handled in here - bit 1, a ; pressed b - jr nz, .exitBlackboard - bit 4, a ; pressed right - jr z, .didNotPressRight - ; move cursor to right column - ld a, 2 - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 6 - ld [wTopMenuItemX], a - ld a, 3 ; in the the right column, use an offset to prevent overlap - ld [wMenuItemOffset], a - jr .blackboardLoop -.didNotPressRight - bit 5, a ; pressed left - jr z, .didNotPressLeftOrRight - ; move cursor to left column - ld a, 2 - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a - xor a - ld [wMenuItemOffset], a - jr .blackboardLoop -.didNotPressLeftOrRight - ld a, [wCurrentMenuItem] - ld b, a - ld a, [wMenuItemOffset] - add b - cp 5 ; cursor is pointing to "QUIT" - jr z, .exitBlackboard - ; we must have pressed a on a status condition - ; so print the text - ld hl, wd730 - res 6, [hl] - ld hl, ViridianBlackboardStatusPointers - add a - ld d, 0 - ld e, a - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call PrintText - jp .blackboardLoop -.exitBlackboard - ld hl, wd730 - res 6, [hl] - call LoadScreenTilesFromBuffer1 - jp TextScriptEnd - -ViridianSchoolBlackboardText1: - TX_FAR _ViridianSchoolBlackboardText1 - db "@" - -ViridianSchoolBlackboardText2: - TX_FAR _ViridianSchoolBlackboardText2 - db "@" - -StatusAilmentText1: - db " SLP" - next " PSN" - next " PAR@" - -StatusAilmentText2: - db " BRN" - next " FRZ" - next " QUIT@@" - -ViridianBlackboardStatusPointers: - dw ViridianBlackboardSleepText - dw ViridianBlackboardPoisonText - dw ViridianBlackboardPrlzText - dw ViridianBlackboardBurnText - dw ViridianBlackboardFrozenText - -ViridianBlackboardSleepText: - TX_FAR _ViridianBlackboardSleepText - db "@" - -ViridianBlackboardPoisonText: - TX_FAR _ViridianBlackboardPoisonText - db "@" - -ViridianBlackboardPrlzText: - TX_FAR _ViridianBlackboardPrlzText - db "@" - -ViridianBlackboardBurnText: - TX_FAR _ViridianBlackboardBurnText - db "@" - -ViridianBlackboardFrozenText: - TX_FAR _ViridianBlackboardFrozenText - db "@" - -PrintTrashText: - call EnableAutoTextBoxDrawing - tx_pre_jump VermilionGymTrashText - -VermilionGymTrashText:: - TX_FAR _VermilionGymTrashText - db "@" - -GymTrashScript: - call EnableAutoTextBoxDrawing - ld a, [wHiddenObjectFunctionArgument] - ld [wGymTrashCanIndex], a - -; Don't do the trash can puzzle if it's already been done. - CheckEvent EVENT_2ND_LOCK_OPENED - jr z, .ok - - tx_pre_jump VermilionGymTrashText - -.ok - CheckEventReuseA EVENT_1ST_LOCK_OPENED - jr nz, .trySecondLock - - ld a, [wFirstLockTrashCanIndex] - ld b, a - ld a, [wGymTrashCanIndex] - cp b - jr z, .openFirstLock - - tx_pre_id VermilionGymTrashText - jr .done - -.openFirstLock -; Next can is trying for the second switch. - SetEvent EVENT_1ST_LOCK_OPENED - - ld hl, GymTrashCans - ld a, [wGymTrashCanIndex] - ; * 5 - ld b, a - add a - add a - add b - - ld d, 0 - ld e, a - add hl, de - ld a, [hli] - -; There is a bug in this code. It should calculate a value in the range [0, 3] -; but if the mask and random number don't have any 1 bits in common, then -; the result of the AND will be 0. When 1 is subtracted from that, the value -; will become $ff. This will result in 255 being added to hl, which will cause -; hl to point to one of the zero bytes that pad the end of the ROM bank. -; Trash can 0 was intended to be able to have the second lock only when the -; first lock was in trash can 1 or 3. However, due to this bug, trash can 0 can -; have the second lock regardless of which trash can had the first lock. - - ld [hGymTrashCanRandNumMask], a - push hl - call Random - swap a - ld b, a - ld a, [hGymTrashCanRandNumMask] - and b - dec a - pop hl - - ld d, 0 - ld e, a - add hl, de - ld a, [hl] - and $f - ld [wSecondLockTrashCanIndex], a - - tx_pre_id VermilionGymTrashSuccessText1 - jr .done - -.trySecondLock - ld a, [wSecondLockTrashCanIndex] - ld b, a - ld a, [wGymTrashCanIndex] - cp b - jr z, .openSecondLock - -; Reset the cans. - ResetEvent EVENT_1ST_LOCK_OPENED - call Random - - and $e - ld [wFirstLockTrashCanIndex], a - - tx_pre_id VermilionGymTrashFailText - jr .done - -.openSecondLock -; Completed the trash can puzzle. - SetEvent EVENT_2ND_LOCK_OPENED - ld hl, wCurrentMapScriptFlags - set 6, [hl] - - tx_pre_id VermilionGymTrashSuccessText3 - -.done - jp PrintPredefTextID - -GymTrashCans: -; byte 0: mask for random number -; bytes 1-4: indices of the trash cans that can have the second lock -; (but see the comment above explaining a bug regarding this) -; Note that the mask is simply the number of valid trash can indices that -; follow. The remaining bytes are filled with 0 to pad the length of each entry -; to 5 bytes. - db 2, 1, 3, 0, 0 ; 0 - db 3, 0, 2, 4, 0 ; 1 - db 2, 1, 5, 0, 0 ; 2 - db 3, 0, 4, 6, 0 ; 3 - db 4, 1, 3, 5, 7 ; 4 - db 3, 2, 4, 8, 0 ; 5 - db 3, 3, 7, 9, 0 ; 6 - db 4, 4, 6, 8, 10 ; 7 - db 3, 5, 7, 11, 0 ; 8 - db 3, 6, 10, 12, 0 ; 9 - db 4, 7, 9, 11, 13 ; 10 - db 3, 8, 10, 14, 0 ; 11 - db 2, 9, 13, 0, 0 ; 12 - db 3, 10, 12, 14, 0 ; 13 - db 2, 11, 13, 0, 0 ; 14 - -VermilionGymTrashSuccessText1:: - TX_FAR _VermilionGymTrashSuccessText1 - TX_ASM - call WaitForSoundToFinish - ld a, SFX_SWITCH - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd - -; unused -VermilionGymTrashSuccessText2:: - TX_FAR _VermilionGymTrashSuccessText2 - db "@" - -; unused -VermilionGymTrashSuccesPlaySfx: - TX_ASM - call WaitForSoundToFinish - ld a, SFX_SWITCH - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd - -VermilionGymTrashSuccessText3:: - TX_FAR _VermilionGymTrashSuccessText3 - TX_ASM - call WaitForSoundToFinish - ld a, SFX_GO_INSIDE - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd - -VermilionGymTrashFailText:: - TX_FAR _VermilionGymTrashFailText - TX_ASM - call WaitForSoundToFinish - ld a, SFX_DENIED - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd diff --git a/engine/events/hidden_object_functions18.asm b/engine/events/hidden_object_functions18.asm deleted file mode 100755 index c0e5aa34..00000000 --- a/engine/events/hidden_object_functions18.asm +++ /dev/null @@ -1,198 +0,0 @@ -GymStatues: -; if in a gym and have the corresponding badge, a = GymStatueText2_id and jp PrintPredefTextID -; if in a gym and don’t have the corresponding badge, a = GymStatueText1_id and jp PrintPredefTextID -; else ret - call EnableAutoTextBoxDrawing - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - ld hl, .BadgeFlags - ld a, [wCurMap] - ld b, a -.loop - ld a, [hli] - cp $ff - ret z - cp b - jr z, .match - inc hl - jr .loop -.match - ld b, [hl] - ld a, [wBeatGymFlags] - and b - cp b - tx_pre_id GymStatueText2 - jr z, .haveBadge - tx_pre_id GymStatueText1 -.haveBadge - jp PrintPredefTextID - -.BadgeFlags: - db PEWTER_GYM, %00000001 - db CERULEAN_GYM, %00000010 - db VERMILION_GYM,%00000100 - db CELADON_GYM, %00001000 - db FUCHSIA_GYM, %00010000 - db SAFFRON_GYM, %00100000 - db CINNABAR_GYM, %01000000 - db VIRIDIAN_GYM, %10000000 - db $ff - -GymStatueText1:: - TX_FAR _GymStatueText1 - db "@" - -GymStatueText2:: - TX_FAR _GymStatueText2 - db "@" - -PrintBenchGuyText: - call EnableAutoTextBoxDrawing - ld hl, BenchGuyTextPointers - ld a, [wCurMap] - ld b, a -.loop - ld a, [hli] - cp $ff - ret z - cp b - jr z, .match - inc hl - inc hl - jr .loop -.match - ld a, [hli] - ld b, a - ld a, [wSpriteStateData1 + 9] - cp b - jr nz, .loop ; player isn't facing left at the bench guy - ld a, [hl] - jp PrintPredefTextID - -; format: db map id, player sprite facing direction, text id of PredefTextIDPointerTable -BenchGuyTextPointers: - db VIRIDIAN_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre ViridianCityPokecenterBenchGuyText - db PEWTER_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre PewterCityPokecenterBenchGuyText - db CERULEAN_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre CeruleanCityPokecenterBenchGuyText - db LAVENDER_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre LavenderCityPokecenterBenchGuyText - db VERMILION_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre VermilionCityPokecenterBenchGuyText - db CELADON_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre CeladonCityPokecenterBenchGuyText - db CELADON_HOTEL, SPRITE_FACING_LEFT - db_tx_pre CeladonCityHotelText - db FUCHSIA_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre FuchsiaCityPokecenterBenchGuyText - db CINNABAR_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre CinnabarIslandPokecenterBenchGuyText - db SAFFRON_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre SaffronCityPokecenterBenchGuyText - db MT_MOON_POKECENTER, SPRITE_FACING_LEFT - db_tx_pre MtMoonPokecenterBenchGuyText - db ROCK_TUNNEL_POKECENTER,SPRITE_FACING_LEFT - db_tx_pre RockTunnelPokecenterBenchGuyText - db $FF - -ViridianCityPokecenterBenchGuyText:: - TX_FAR _ViridianCityPokecenterGuyText - db "@" - -PewterCityPokecenterBenchGuyText:: - TX_FAR _PewterCityPokecenterGuyText - db "@" - -CeruleanCityPokecenterBenchGuyText:: - TX_FAR _CeruleanPokecenterGuyText - db "@" - -LavenderCityPokecenterBenchGuyText:: - TX_FAR _LavenderPokecenterGuyText - db "@" - -MtMoonPokecenterBenchGuyText:: - TX_FAR _MtMoonPokecenterBenchGuyText - db "@" - -RockTunnelPokecenterBenchGuyText:: - TX_FAR _RockTunnelPokecenterGuyText - db "@" - -UnusedBenchGuyText1:: - TX_FAR _UnusedBenchGuyText1 - db "@" - -UnusedBenchGuyText2:: - TX_FAR _UnusedBenchGuyText2 - db "@" - -UnusedBenchGuyText3:: - TX_FAR _UnusedBenchGuyText3 - db "@" - -VermilionCityPokecenterBenchGuyText:: - TX_FAR _VermilionPokecenterGuyText - db "@" - -CeladonCityPokecenterBenchGuyText:: - TX_FAR _CeladonCityPokecenterGuyText - db "@" - -FuchsiaCityPokecenterBenchGuyText:: - TX_FAR _FuchsiaCityPokecenterGuyText - db "@" - -CinnabarIslandPokecenterBenchGuyText:: - TX_FAR _CinnabarPokecenterGuyText - db "@" - -SaffronCityPokecenterBenchGuyText:: - TX_ASM - CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI - ld hl, SaffronCityPokecenterBenchGuyText2 - jr nz, .asm_624f2 - ld hl, SaffronCityPokecenterBenchGuyText1 -.asm_624f2 - call PrintText - jp TextScriptEnd - -SaffronCityPokecenterBenchGuyText1: - TX_FAR _SaffronCityPokecenterGuyText1 - db "@" - -SaffronCityPokecenterBenchGuyText2: - TX_FAR _SaffronCityPokecenterGuyText2 - db "@" - -CeladonCityHotelText:: - TX_FAR _CeladonCityHotelText - db "@" - - ret - -UnusedPredefText:: - db "@" - -PrintBookcaseText: - call EnableAutoTextBoxDrawing - tx_pre_jump BookcaseText - -BookcaseText:: - TX_FAR _BookcaseText - db "@" - -OpenPokemonCenterPC: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP ; check to see if player is facing up - ret nz - call EnableAutoTextBoxDrawing - ld a, $1 - ld [wAutoTextBoxDrawingControl], a - tx_pre_jump PokemonCenterPCText - -PokemonCenterPCText:: - TX_POKECENTER_PC diff --git a/engine/events/hidden_object_functions3.asm b/engine/events/hidden_object_functions3.asm deleted file mode 100755 index 1237e960..00000000 --- a/engine/events/hidden_object_functions3.asm +++ /dev/null @@ -1,117 +0,0 @@ -; prints text for bookshelves in buildings without sign events -PrintBookshelfText:: - ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction - cp SPRITE_FACING_UP - jr nz, .noMatch -; facing up - ld a, [wCurMapTileset] - ld b, a - aCoord 8, 7 - ld c, a - ld hl, BookshelfTileIDs -.loop - ld a, [hli] - cp $ff - jr z, .noMatch - cp b - jr nz, .nextBookshelfEntry1 - ld a, [hli] - cp c - jr nz, .nextBookshelfEntry2 - ld a, [hl] - push af - call EnableAutoTextBoxDrawing - pop af - call PrintPredefTextID - xor a - ld [$ffdb], a - ret -.nextBookshelfEntry1 - inc hl -.nextBookshelfEntry2 - inc hl - jr .loop -.noMatch - ld a, $ff - ld [$ffdb], a - jpba PrintCardKeyText - -INCLUDE "data/bookshelf_tile_ids.asm" - -IndigoPlateauStatues:: - TX_ASM - ld hl, IndigoPlateauStatuesText1 - call PrintText - ld a, [wXCoord] - bit 0, a - ld hl, IndigoPlateauStatuesText2 - jr nz, .ok - ld hl, IndigoPlateauStatuesText3 -.ok - call PrintText - jp TextScriptEnd - -IndigoPlateauStatuesText1: - TX_FAR _IndigoPlateauStatuesText1 - db "@" - -IndigoPlateauStatuesText2: - TX_FAR _IndigoPlateauStatuesText2 - db "@" - -IndigoPlateauStatuesText3: - TX_FAR _IndigoPlateauStatuesText3 - db "@" - -BookOrSculptureText:: - TX_ASM - ld hl, PokemonBooksText - ld a, [wCurMapTileset] - cp MANSION ; Celadon Mansion tileset - jr nz, .ok - aCoord 8, 6 - cp $38 - jr nz, .ok - ld hl, DiglettSculptureText -.ok - call PrintText - jp TextScriptEnd - -PokemonBooksText: - TX_FAR _PokemonBooksText - db "@" - -DiglettSculptureText: - TX_FAR _DiglettSculptureText - db "@" - -ElevatorText:: - TX_FAR _ElevatorText - db "@" - -TownMapText:: - TX_FAR _TownMapText - TX_BLINK - TX_ASM - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, wd730 - set 6, [hl] - call GBPalWhiteOutWithDelay3 - xor a - ld [hWY], a - inc a - ld [H_AUTOBGTRANSFERENABLED], a - call LoadFontTilePatterns - callba DisplayTownMap - ld hl, wd730 - res 6, [hl] - ld de, TextScriptEnd - push de - ld a, [H_LOADEDROMBANK] - push af - jp CloseTextDisplay - -PokemonStuffText:: - TX_FAR _PokemonStuffText - db "@" diff --git a/engine/events/hidden_object_functions7.asm b/engine/events/hidden_object_functions7.asm deleted file mode 100755 index e18b9570..00000000 --- a/engine/events/hidden_object_functions7.asm +++ /dev/null @@ -1,467 +0,0 @@ -PrintNewBikeText: - call EnableAutoTextBoxDrawing - tx_pre_jump NewBicycleText - -NewBicycleText:: - TX_FAR _NewBicycleText - db "@" - -DisplayOakLabLeftPoster: - call EnableAutoTextBoxDrawing - tx_pre_jump PushStartText - -PushStartText:: - TX_FAR _PushStartText - db "@" - -DisplayOakLabRightPoster: - call EnableAutoTextBoxDrawing - ld hl, wPokedexOwned - ld b, wPokedexOwnedEnd - wPokedexOwned - call CountSetBits - ld a, [wNumSetBits] - cp 2 - tx_pre_id SaveOptionText - jr c, .ownLessThanTwo - ; own two or more mon - tx_pre_id StrengthsAndWeaknessesText -.ownLessThanTwo - jp PrintPredefTextID - -SaveOptionText:: - TX_FAR _SaveOptionText - db "@" - -StrengthsAndWeaknessesText:: - TX_FAR _StrengthsAndWeaknessesText - db "@" - -SafariZoneCheck:: - CheckEventHL EVENT_IN_SAFARI_ZONE ; if we are not in the Safari Zone, - jr z, SafariZoneGameStillGoing ; don't bother printing game over text - ld a, [wNumSafariBalls] - and a - jr z, SafariZoneGameOver - jr SafariZoneGameStillGoing - -SafariZoneCheckSteps:: - ld a, [wSafariSteps] - ld b, a - ld a, [wSafariSteps + 1] - ld c, a - or b - jr z, SafariZoneGameOver - dec bc - ld a, b - ld [wSafariSteps], a - ld a, c - ld [wSafariSteps + 1], a -SafariZoneGameStillGoing: - xor a - ld [wSafariZoneGameOver], a - ret - -SafariZoneGameOver: - call EnableAutoTextBoxDrawing - xor a - ld [wAudioFadeOutControl], a - dec a - call PlaySound - ld c, BANK(SFX_Safari_Zone_PA) - ld a, SFX_SAFARI_ZONE_PA - call PlayMusic -.waitForMusicToPlay - ld a, [wChannelSoundIDs + Ch5] - cp SFX_SAFARI_ZONE_PA - jr nz, .waitForMusicToPlay - ld a, TEXT_SAFARI_GAME_OVER - ld [hSpriteIndexOrTextID], a - call DisplayTextID - xor a - ld [wPlayerMovingDirection], a - ld a, SAFARI_ZONE_GATE - ld [hWarpDestinationMap], a - ld a, $3 - ld [wDestinationWarpID], a - ld a, $5 - ld [wSafariZoneGateCurScript], a - SetEvent EVENT_SAFARI_GAME_OVER - ld a, 1 - ld [wSafariZoneGameOver], a - ret - -PrintSafariGameOverText:: - xor a - ld [wJoyIgnore], a - ld hl, SafariGameOverText - jp PrintText - -SafariGameOverText: - TX_ASM - ld a, [wNumSafariBalls] - and a - jr z, .noMoreSafariBalls - ld hl, TimesUpText - call PrintText -.noMoreSafariBalls - ld hl, GameOverText - call PrintText - jp TextScriptEnd - -TimesUpText: - TX_FAR _TimesUpText - db "@" - -GameOverText: - TX_FAR _GameOverText - db "@" - -PrintCinnabarQuiz: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - call EnableAutoTextBoxDrawing - tx_pre_jump CinnabarGymQuiz - -CinnabarGymQuiz:: - TX_ASM - xor a - ld [wOpponentAfterWrongAnswer], a - ld a, [wHiddenObjectFunctionArgument] - push af - and $f - ld [hGymGateIndex], a - pop af - and $f0 - swap a - ld [$ffdc], a - ld hl, CinnabarGymQuizIntroText - call PrintText - ld a, [hGymGateIndex] - dec a - add a - ld d, 0 - ld e, a - ld hl, CinnabarQuizQuestions - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call PrintText - ld a, 1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - call CinnabarGymQuiz_1ea92 - jp TextScriptEnd - -CinnabarGymQuizIntroText: - TX_FAR _CinnabarGymQuizIntroText - db "@" - -CinnabarQuizQuestions: - dw CinnabarQuizQuestionsText1 - dw CinnabarQuizQuestionsText2 - dw CinnabarQuizQuestionsText3 - dw CinnabarQuizQuestionsText4 - dw CinnabarQuizQuestionsText5 - dw CinnabarQuizQuestionsText6 - -CinnabarQuizQuestionsText1: - TX_FAR _CinnabarQuizQuestionsText1 - db "@" - -CinnabarQuizQuestionsText2: - TX_FAR _CinnabarQuizQuestionsText2 - db "@" - -CinnabarQuizQuestionsText3: - TX_FAR _CinnabarQuizQuestionsText3 - db "@" - -CinnabarQuizQuestionsText4: - TX_FAR _CinnabarQuizQuestionsText4 - db "@" - -CinnabarQuizQuestionsText5: - TX_FAR _CinnabarQuizQuestionsText5 - db "@" - -CinnabarQuizQuestionsText6: - TX_FAR _CinnabarQuizQuestionsText6 - db "@" - -CinnabarGymGateFlagAction: - EventFlagAddress hl, EVENT_CINNABAR_GYM_GATE0_UNLOCKED - predef_jump FlagActionPredef - -CinnabarGymQuiz_1ea92: - call YesNoChoice - ld a, [$ffdc] - ld c, a - ld a, [wCurrentMenuItem] - cp c - jr nz, .wrongAnswer - ld hl, wCurrentMapScriptFlags - set 5, [hl] - ld a, [hGymGateIndex] - ld [$ffe0], a - ld hl, CinnabarGymQuizCorrectText - call PrintText - ld a, [$ffe0] - AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 - ld c, a - ld b, FLAG_SET - call CinnabarGymGateFlagAction - jp UpdateCinnabarGymGateTileBlocks_ -.wrongAnswer - call WaitForSoundToFinish - ld a, SFX_DENIED - call PlaySound - call WaitForSoundToFinish - ld hl, CinnabarGymQuizIncorrectText - call PrintText - ld a, [hGymGateIndex] - add $2 - AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 - ld c, a - ld b, FLAG_TEST - EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0 - predef FlagActionPredef - ld a, c - and a - ret nz - ld a, [hGymGateIndex] - add $2 - ld [wOpponentAfterWrongAnswer], a - ret - -CinnabarGymQuizCorrectText: - TX_SFX_ITEM_1 - TX_FAR _CinnabarGymQuizCorrectText - TX_BLINK - TX_ASM - - ld a, [$ffe0] - AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 - ld c, a - ld b, FLAG_TEST - call CinnabarGymGateFlagAction - ld a, c - and a - jp nz, TextScriptEnd - call WaitForSoundToFinish - ld a, SFX_GO_INSIDE - call PlaySound - call WaitForSoundToFinish - jp TextScriptEnd - -CinnabarGymQuizIncorrectText: - TX_FAR _CinnabarGymQuizIncorrectText - db "@" - -UpdateCinnabarGymGateTileBlocks_:: -; Update the overworld map with open floor blocks or locked gate blocks -; depending on event flags. - ld a, 6 - ld [hGymGateIndex], a -.loop - ld a, [hGymGateIndex] - dec a - add a - add a - ld d, 0 - ld e, a - ld hl, CinnabarGymGateCoords - add hl, de - ld a, [hli] - ld b, [hl] - ld c, a - inc hl - ld a, [hl] - ld [wGymGateTileBlock], a - push bc - ld a, [hGymGateIndex] - ld [$ffe0], a - AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 - ld c, a - ld b, FLAG_TEST - call CinnabarGymGateFlagAction - ld a, c - and a - jr nz, .unlocked - ld a, [wGymGateTileBlock] - jr .next -.unlocked - ld a, $e -.next - pop bc - ld [wNewTileBlockID], a - predef ReplaceTileBlock - ld hl, hGymGateIndex - dec [hl] - jr nz, .loop - ret - -CinnabarGymGateCoords: - ; format: x-coord, y-coord, direction, padding - ; direction: $54 = horizontal gate, $5f = vertical gate - db $09,$03,$54,$00 - db $06,$03,$54,$00 - db $06,$06,$54,$00 - db $03,$08,$5f,$00 - db $02,$06,$54,$00 - db $02,$03,$54,$00 - -PrintMagazinesText: - call EnableAutoTextBoxDrawing - tx_pre MagazinesText - ret - -MagazinesText:: - TX_FAR _MagazinesText - db "@" - -BillsHousePC: - call EnableAutoTextBoxDrawing - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - CheckEvent EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING - jr nz, .displayBillsHousePokemonList - CheckEventReuseA EVENT_USED_CELL_SEPARATOR_ON_BILL - jr nz, .displayBillsHouseMonitorText - CheckEventReuseA EVENT_BILL_SAID_USE_CELL_SEPARATOR - jr nz, .doCellSeparator -.displayBillsHouseMonitorText - tx_pre_jump BillsHouseMonitorText -.doCellSeparator - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - tx_pre BillsHouseInitiatedText - ld c, 32 - call DelayFrames - ld a, SFX_TINK - call PlaySound - call WaitForSoundToFinish - ld c, 80 - call DelayFrames - ld a, SFX_SHRINK - call PlaySound - call WaitForSoundToFinish - ld c, 48 - call DelayFrames - ld a, SFX_TINK - call PlaySound - call WaitForSoundToFinish - ld c, 32 - call DelayFrames - ld a, SFX_GET_ITEM_1 - call PlaySound - call WaitForSoundToFinish - call PlayDefaultMusic - SetEvent EVENT_USED_CELL_SEPARATOR_ON_BILL - ret -.displayBillsHousePokemonList - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - tx_pre BillsHousePokemonList - ret - -BillsHouseMonitorText:: - TX_FAR _BillsHouseMonitorText - db "@" - -BillsHouseInitiatedText:: - TX_FAR _BillsHouseInitiatedText - TX_BLINK - TX_ASM - ld a, $ff - ld [wNewSoundID], a - call PlaySound - ld c, 16 - call DelayFrames - ld a, SFX_SWITCH - call PlaySound - call WaitForSoundToFinish - ld c, 60 - call DelayFrames - jp TextScriptEnd - -BillsHousePokemonList:: - TX_ASM - call SaveScreenTilesToBuffer1 - ld hl, BillsHousePokemonListText1 - call PrintText - xor a - ld [wMenuItemOffset], a ; not used - ld [wCurrentMenuItem], a - ld [wLastMenuItem], a - ld a, A_BUTTON | B_BUTTON - ld [wMenuWatchedKeys], a - ld a, 4 - ld [wMaxMenuItem], a - ld a, 2 - ld [wTopMenuItemY], a - ld a, 1 - ld [wTopMenuItemX], a -.billsPokemonLoop - ld hl, wd730 - set 6, [hl] - coord hl, 0, 0 - ld b, 10 - ld c, 9 - call TextBoxBorder - coord hl, 2, 2 - ld de, BillsMonListText - call PlaceString - ld hl, BillsHousePokemonListText2 - call PrintText - call SaveScreenTilesToBuffer2 - call HandleMenuInput - bit 1, a ; pressed b - jr nz, .cancel - ld a, [wCurrentMenuItem] - add EEVEE - cp EEVEE - jr z, .displayPokedex - cp FLAREON - jr z, .displayPokedex - cp JOLTEON - jr z, .displayPokedex - cp VAPOREON - jr z, .displayPokedex - jr .cancel -.displayPokedex - call DisplayPokedex - call LoadScreenTilesFromBuffer2 - jr .billsPokemonLoop -.cancel - ld hl, wd730 - res 6, [hl] - call LoadScreenTilesFromBuffer2 - jp TextScriptEnd - -BillsHousePokemonListText1: - TX_FAR _BillsHousePokemonListText1 - db "@" - -BillsMonListText: - db "EEVEE" - next "FLAREON" - next "JOLTEON" - next "VAPOREON" - next "CANCEL@" - -BillsHousePokemonListText2: - TX_FAR _BillsHousePokemonListText2 - db "@" - -DisplayOakLabEmailText: - ld a, [wSpriteStateData1 + 9] - cp SPRITE_FACING_UP - ret nz - call EnableAutoTextBoxDrawing - tx_pre_jump OakLabEmailText - -OakLabEmailText:: - TX_FAR _OakLabEmailText - db "@" diff --git a/engine/events/hidden_objects/bench_guys.asm b/engine/events/hidden_objects/bench_guys.asm new file mode 100644 index 00000000..995b5929 --- /dev/null +++ b/engine/events/hidden_objects/bench_guys.asm @@ -0,0 +1,124 @@ +PrintBenchGuyText: + call EnableAutoTextBoxDrawing + ld hl, BenchGuyTextPointers + ld a, [wCurMap] + ld b, a +.loop + ld a, [hli] + cp $ff + ret z + cp b + jr z, .match + inc hl + inc hl + jr .loop +.match + ld a, [hli] + ld b, a + ld a, [wSpriteStateData1 + 9] + cp b + jr nz, .loop ; player isn't facing left at the bench guy + ld a, [hl] + jp PrintPredefTextID + +; format: db map id, player sprite facing direction, text id of PredefTextIDPointerTable +BenchGuyTextPointers: + db VIRIDIAN_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre ViridianCityPokecenterBenchGuyText + db PEWTER_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre PewterCityPokecenterBenchGuyText + db CERULEAN_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre CeruleanCityPokecenterBenchGuyText + db LAVENDER_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre LavenderCityPokecenterBenchGuyText + db VERMILION_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre VermilionCityPokecenterBenchGuyText + db CELADON_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre CeladonCityPokecenterBenchGuyText + db CELADON_HOTEL, SPRITE_FACING_LEFT + db_tx_pre CeladonCityHotelText + db FUCHSIA_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre FuchsiaCityPokecenterBenchGuyText + db CINNABAR_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre CinnabarIslandPokecenterBenchGuyText + db SAFFRON_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre SaffronCityPokecenterBenchGuyText + db MT_MOON_POKECENTER, SPRITE_FACING_LEFT + db_tx_pre MtMoonPokecenterBenchGuyText + db ROCK_TUNNEL_POKECENTER,SPRITE_FACING_LEFT + db_tx_pre RockTunnelPokecenterBenchGuyText + db $FF + +ViridianCityPokecenterBenchGuyText:: + TX_FAR _ViridianCityPokecenterGuyText + db "@" + +PewterCityPokecenterBenchGuyText:: + TX_FAR _PewterCityPokecenterGuyText + db "@" + +CeruleanCityPokecenterBenchGuyText:: + TX_FAR _CeruleanPokecenterGuyText + db "@" + +LavenderCityPokecenterBenchGuyText:: + TX_FAR _LavenderPokecenterGuyText + db "@" + +MtMoonPokecenterBenchGuyText:: + TX_FAR _MtMoonPokecenterBenchGuyText + db "@" + +RockTunnelPokecenterBenchGuyText:: + TX_FAR _RockTunnelPokecenterGuyText + db "@" + +UnusedBenchGuyText1:: + TX_FAR _UnusedBenchGuyText1 + db "@" + +UnusedBenchGuyText2:: + TX_FAR _UnusedBenchGuyText2 + db "@" + +UnusedBenchGuyText3:: + TX_FAR _UnusedBenchGuyText3 + db "@" + +VermilionCityPokecenterBenchGuyText:: + TX_FAR _VermilionPokecenterGuyText + db "@" + +CeladonCityPokecenterBenchGuyText:: + TX_FAR _CeladonCityPokecenterGuyText + db "@" + +FuchsiaCityPokecenterBenchGuyText:: + TX_FAR _FuchsiaCityPokecenterGuyText + db "@" + +CinnabarIslandPokecenterBenchGuyText:: + TX_FAR _CinnabarPokecenterGuyText + db "@" + +SaffronCityPokecenterBenchGuyText:: + TX_ASM + CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI + ld hl, SaffronCityPokecenterBenchGuyText2 + jr nz, .asm_624f2 + ld hl, SaffronCityPokecenterBenchGuyText1 +.asm_624f2 + call PrintText + jp TextScriptEnd + +SaffronCityPokecenterBenchGuyText1: + TX_FAR _SaffronCityPokecenterGuyText1 + db "@" + +SaffronCityPokecenterBenchGuyText2: + TX_FAR _SaffronCityPokecenterGuyText2 + db "@" + +CeladonCityHotelText:: + TX_FAR _CeladonCityHotelText + db "@" diff --git a/engine/events/hidden_objects/bills_house_pc.asm b/engine/events/hidden_objects/bills_house_pc.asm new file mode 100644 index 00000000..836aace0 --- /dev/null +++ b/engine/events/hidden_objects/bills_house_pc.asm @@ -0,0 +1,134 @@ +BillsHousePC: + call EnableAutoTextBoxDrawing + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + CheckEvent EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING + jr nz, .displayBillsHousePokemonList + CheckEventReuseA EVENT_USED_CELL_SEPARATOR_ON_BILL + jr nz, .displayBillsHouseMonitorText + CheckEventReuseA EVENT_BILL_SAID_USE_CELL_SEPARATOR + jr nz, .doCellSeparator +.displayBillsHouseMonitorText + tx_pre_jump BillsHouseMonitorText +.doCellSeparator + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + tx_pre BillsHouseInitiatedText + ld c, 32 + call DelayFrames + ld a, SFX_TINK + call PlaySound + call WaitForSoundToFinish + ld c, 80 + call DelayFrames + ld a, SFX_SHRINK + call PlaySound + call WaitForSoundToFinish + ld c, 48 + call DelayFrames + ld a, SFX_TINK + call PlaySound + call WaitForSoundToFinish + ld c, 32 + call DelayFrames + ld a, SFX_GET_ITEM_1 + call PlaySound + call WaitForSoundToFinish + call PlayDefaultMusic + SetEvent EVENT_USED_CELL_SEPARATOR_ON_BILL + ret +.displayBillsHousePokemonList + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + tx_pre BillsHousePokemonList + ret + +BillsHouseMonitorText:: + TX_FAR _BillsHouseMonitorText + db "@" + +BillsHouseInitiatedText:: + TX_FAR _BillsHouseInitiatedText + TX_BLINK + TX_ASM + ld a, SFX_STOP_ALL_MUSIC + ld [wNewSoundID], a + call PlaySound + ld c, 16 + call DelayFrames + ld a, SFX_SWITCH + call PlaySound + call WaitForSoundToFinish + ld c, 60 + call DelayFrames + jp TextScriptEnd + +BillsHousePokemonList:: + TX_ASM + call SaveScreenTilesToBuffer1 + ld hl, BillsHousePokemonListText1 + call PrintText + xor a + ld [wMenuItemOffset], a ; not used + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld a, A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, 4 + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a +.billsPokemonLoop + ld hl, wd730 + set 6, [hl] + coord hl, 0, 0 + ld b, 10 + ld c, 9 + call TextBoxBorder + coord hl, 2, 2 + ld de, BillsMonListText + call PlaceString + ld hl, BillsHousePokemonListText2 + call PrintText + call SaveScreenTilesToBuffer2 + call HandleMenuInput + bit 1, a ; pressed b + jr nz, .cancel + ld a, [wCurrentMenuItem] + add EEVEE + cp EEVEE + jr z, .displayPokedex + cp FLAREON + jr z, .displayPokedex + cp JOLTEON + jr z, .displayPokedex + cp VAPOREON + jr z, .displayPokedex + jr .cancel +.displayPokedex + call DisplayPokedex + call LoadScreenTilesFromBuffer2 + jr .billsPokemonLoop +.cancel + ld hl, wd730 + res 6, [hl] + call LoadScreenTilesFromBuffer2 + jp TextScriptEnd + +BillsHousePokemonListText1: + TX_FAR _BillsHousePokemonListText1 + db "@" + +BillsMonListText: + db "EEVEE" + next "FLAREON" + next "JOLTEON" + next "VAPOREON" + next "CANCEL@" + +BillsHousePokemonListText2: + TX_FAR _BillsHousePokemonListText2 + db "@" diff --git a/engine/events/hidden_objects/blues_room.asm b/engine/events/hidden_objects/blues_room.asm new file mode 100644 index 00000000..879a7ac8 --- /dev/null +++ b/engine/events/hidden_objects/blues_room.asm @@ -0,0 +1,13 @@ + + ret ; unused + +UnusedPredefText:: + db "@" + +PrintBookcaseText: + call EnableAutoTextBoxDrawing + tx_pre_jump BookcaseText + +BookcaseText:: + TX_FAR _BookcaseText + db "@" diff --git a/engine/events/hidden_objects/book_or_sculpture.asm b/engine/events/hidden_objects/book_or_sculpture.asm new file mode 100644 index 00000000..2d6f278a --- /dev/null +++ b/engine/events/hidden_objects/book_or_sculpture.asm @@ -0,0 +1,21 @@ +BookOrSculptureText:: + TX_ASM + ld hl, PokemonBooksText + ld a, [wCurMapTileset] + cp MANSION ; Celadon Mansion tileset + jr nz, .ok + aCoord 8, 6 + cp $38 + jr nz, .ok + ld hl, DiglettSculptureText +.ok + call PrintText + jp TextScriptEnd + +PokemonBooksText: + TX_FAR _PokemonBooksText + db "@" + +DiglettSculptureText: + TX_FAR _DiglettSculptureText + db "@" diff --git a/engine/events/hidden_objects/bookshelves.asm b/engine/events/hidden_objects/bookshelves.asm new file mode 100644 index 00000000..eaf744ff --- /dev/null +++ b/engine/events/hidden_objects/bookshelves.asm @@ -0,0 +1,39 @@ +; prints text for bookshelves in buildings without sign events +PrintBookshelfText:: + ld a, [wSpriteStateData1 + 9] ; player's sprite facing direction + cp SPRITE_FACING_UP + jr nz, .noMatch +; facing up + ld a, [wCurMapTileset] + ld b, a + aCoord 8, 7 + ld c, a + ld hl, BookshelfTileIDs +.loop + ld a, [hli] + cp $ff + jr z, .noMatch + cp b + jr nz, .nextBookshelfEntry1 + ld a, [hli] + cp c + jr nz, .nextBookshelfEntry2 + ld a, [hl] + push af + call EnableAutoTextBoxDrawing + pop af + call PrintPredefTextID + xor a + ld [hFFDB], a + ret +.nextBookshelfEntry1 + inc hl +.nextBookshelfEntry2 + inc hl + jr .loop +.noMatch + ld a, $ff + ld [hFFDB], a + jpba PrintCardKeyText + +INCLUDE "data/tilesets/bookshelf_tile_ids.asm" diff --git a/engine/events/hidden_objects/cinnabar_gym_quiz.asm b/engine/events/hidden_objects/cinnabar_gym_quiz.asm new file mode 100644 index 00000000..6404717e --- /dev/null +++ b/engine/events/hidden_objects/cinnabar_gym_quiz.asm @@ -0,0 +1,194 @@ +PrintCinnabarQuiz: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + call EnableAutoTextBoxDrawing + tx_pre_jump CinnabarGymQuiz + +CinnabarGymQuiz:: + TX_ASM + xor a + ld [wOpponentAfterWrongAnswer], a + ld a, [wHiddenObjectFunctionArgument] + push af + and $f + ld [hGymGateIndex], a + pop af + and $f0 + swap a + ld [hGymGateAnswer], a + ld hl, CinnabarGymQuizIntroText + call PrintText + ld a, [hGymGateIndex] + dec a + add a + ld d, 0 + ld e, a + ld hl, CinnabarQuizQuestions + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call PrintText + ld a, 1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + call CinnabarGymQuiz_1ea92 + jp TextScriptEnd + +CinnabarGymQuizIntroText: + TX_FAR _CinnabarGymQuizIntroText + db "@" + +CinnabarQuizQuestions: + dw CinnabarQuizQuestionsText1 + dw CinnabarQuizQuestionsText2 + dw CinnabarQuizQuestionsText3 + dw CinnabarQuizQuestionsText4 + dw CinnabarQuizQuestionsText5 + dw CinnabarQuizQuestionsText6 + +CinnabarQuizQuestionsText1: + TX_FAR _CinnabarQuizQuestionsText1 + db "@" + +CinnabarQuizQuestionsText2: + TX_FAR _CinnabarQuizQuestionsText2 + db "@" + +CinnabarQuizQuestionsText3: + TX_FAR _CinnabarQuizQuestionsText3 + db "@" + +CinnabarQuizQuestionsText4: + TX_FAR _CinnabarQuizQuestionsText4 + db "@" + +CinnabarQuizQuestionsText5: + TX_FAR _CinnabarQuizQuestionsText5 + db "@" + +CinnabarQuizQuestionsText6: + TX_FAR _CinnabarQuizQuestionsText6 + db "@" + +CinnabarGymGateFlagAction: + EventFlagAddress hl, EVENT_CINNABAR_GYM_GATE0_UNLOCKED + predef_jump FlagActionPredef + +CinnabarGymQuiz_1ea92: + call YesNoChoice + ld a, [hGymGateAnswer] + ld c, a + ld a, [wCurrentMenuItem] + cp c + jr nz, .wrongAnswer + ld hl, wCurrentMapScriptFlags + set 5, [hl] + ld a, [hGymGateIndex] + ld [hBackupGymGateIndex], a + ld hl, CinnabarGymQuizCorrectText + call PrintText + ld a, [hBackupGymGateIndex] + AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 + ld c, a + ld b, FLAG_SET + call CinnabarGymGateFlagAction + jp UpdateCinnabarGymGateTileBlocks_ +.wrongAnswer + call WaitForSoundToFinish + ld a, SFX_DENIED + call PlaySound + call WaitForSoundToFinish + ld hl, CinnabarGymQuizIncorrectText + call PrintText + ld a, [hGymGateIndex] + add $2 + AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 + ld c, a + ld b, FLAG_TEST + EventFlagAddress hl, EVENT_BEAT_CINNABAR_GYM_TRAINER_0 + predef FlagActionPredef + ld a, c + and a + ret nz + ld a, [hGymGateIndex] + add $2 + ld [wOpponentAfterWrongAnswer], a + ret + +CinnabarGymQuizCorrectText: + TX_SFX_ITEM_1 + TX_FAR _CinnabarGymQuizCorrectText + TX_BLINK + TX_ASM + + ld a, [hBackupGymGateIndex] + AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 + ld c, a + ld b, FLAG_TEST + call CinnabarGymGateFlagAction + ld a, c + and a + jp nz, TextScriptEnd + call WaitForSoundToFinish + ld a, SFX_GO_INSIDE + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd + +CinnabarGymQuizIncorrectText: + TX_FAR _CinnabarGymQuizIncorrectText + db "@" + +UpdateCinnabarGymGateTileBlocks_:: +; Update the overworld map with open floor blocks or locked gate blocks +; depending on event flags. + ld a, 6 + ld [hGymGateIndex], a +.loop + ld a, [hGymGateIndex] + dec a + add a + add a + ld d, 0 + ld e, a + ld hl, CinnabarGymGateCoords + add hl, de + ld a, [hli] + ld b, [hl] + ld c, a + inc hl + ld a, [hl] + ld [wGymGateTileBlock], a + push bc + ld a, [hGymGateIndex] + ld [hBackupGymGateIndex], a + AdjustEventBit EVENT_CINNABAR_GYM_GATE0_UNLOCKED, 0 + ld c, a + ld b, FLAG_TEST + call CinnabarGymGateFlagAction + ld a, c + and a + jr nz, .unlocked + ld a, [wGymGateTileBlock] + jr .next +.unlocked + ld a, $e +.next + pop bc + ld [wNewTileBlockID], a + predef ReplaceTileBlock + ld hl, hGymGateIndex + dec [hl] + jr nz, .loop + ret + +CinnabarGymGateCoords: + ; format: x-coord, y-coord, direction, padding + ; direction: $54 = horizontal gate, $5f = vertical gate + db $09,$03,$54,$00 + db $06,$03,$54,$00 + db $06,$06,$54,$00 + db $03,$08,$5f,$00 + db $02,$06,$54,$00 + db $02,$03,$54,$00 diff --git a/engine/events/hidden_objects/elevator.asm b/engine/events/hidden_objects/elevator.asm new file mode 100644 index 00000000..e72ca44b --- /dev/null +++ b/engine/events/hidden_objects/elevator.asm @@ -0,0 +1,3 @@ +ElevatorText:: + TX_FAR _ElevatorText + db "@" diff --git a/engine/events/hidden_objects/fighting_dojo.asm b/engine/events/hidden_objects/fighting_dojo.asm new file mode 100644 index 00000000..94d4871d --- /dev/null +++ b/engine/events/hidden_objects/fighting_dojo.asm @@ -0,0 +1,23 @@ +PrintFightingDojoText2: + call EnableAutoTextBoxDrawing + tx_pre_jump EnemiesOnEverySideText + +EnemiesOnEverySideText:: + TX_FAR _EnemiesOnEverySideText + db "@" + +PrintFightingDojoText3: + call EnableAutoTextBoxDrawing + tx_pre_jump WhatGoesAroundComesAroundText + +WhatGoesAroundComesAroundText:: + TX_FAR _WhatGoesAroundComesAroundText + db "@" + +PrintFightingDojoText: + call EnableAutoTextBoxDrawing + tx_pre_jump FightingDojoText + +FightingDojoText:: + TX_FAR _FightingDojoText + db "@" diff --git a/engine/events/hidden_objects/gym_statues.asm b/engine/events/hidden_objects/gym_statues.asm new file mode 100644 index 00000000..e9a407b2 --- /dev/null +++ b/engine/events/hidden_objects/gym_statues.asm @@ -0,0 +1,48 @@ +GymStatues: +; if in a gym and have the corresponding badge, a = GymStatueText2_id and jp PrintPredefTextID +; if in a gym and don’t have the corresponding badge, a = GymStatueText1_id and jp PrintPredefTextID +; else ret + call EnableAutoTextBoxDrawing + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + ld hl, .BadgeFlags + ld a, [wCurMap] + ld b, a +.loop + ld a, [hli] + cp $ff + ret z + cp b + jr z, .match + inc hl + jr .loop +.match + ld b, [hl] + ld a, [wBeatGymFlags] + and b + cp b + tx_pre_id GymStatueText2 + jr z, .haveBadge + tx_pre_id GymStatueText1 +.haveBadge + jp PrintPredefTextID + +.BadgeFlags: + db PEWTER_GYM, %00000001 + db CERULEAN_GYM, %00000010 + db VERMILION_GYM,%00000100 + db CELADON_GYM, %00001000 + db FUCHSIA_GYM, %00010000 + db SAFFRON_GYM, %00100000 + db CINNABAR_GYM, %01000000 + db VIRIDIAN_GYM, %10000000 + db $ff + +GymStatueText1:: + TX_FAR _GymStatueText1 + db "@" + +GymStatueText2:: + TX_FAR _GymStatueText2 + db "@" diff --git a/engine/events/hidden_objects/indigo_plateau_hq.asm b/engine/events/hidden_objects/indigo_plateau_hq.asm new file mode 100644 index 00000000..d0d0b8c2 --- /dev/null +++ b/engine/events/hidden_objects/indigo_plateau_hq.asm @@ -0,0 +1,10 @@ +PrintIndigoPlateauHQText: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + call EnableAutoTextBoxDrawing + tx_pre_jump IndigoPlateauHQText + +IndigoPlateauHQText:: + TX_FAR _IndigoPlateauHQText + db "@" diff --git a/engine/events/hidden_objects/indigo_plateau_statues.asm b/engine/events/hidden_objects/indigo_plateau_statues.asm new file mode 100644 index 00000000..62b31e0a --- /dev/null +++ b/engine/events/hidden_objects/indigo_plateau_statues.asm @@ -0,0 +1,24 @@ +IndigoPlateauStatues:: + TX_ASM + ld hl, IndigoPlateauStatuesText1 + call PrintText + ld a, [wXCoord] + bit 0, a + ld hl, IndigoPlateauStatuesText2 + jr nz, .ok + ld hl, IndigoPlateauStatuesText3 +.ok + call PrintText + jp TextScriptEnd + +IndigoPlateauStatuesText1: + TX_FAR _IndigoPlateauStatuesText1 + db "@" + +IndigoPlateauStatuesText2: + TX_FAR _IndigoPlateauStatuesText2 + db "@" + +IndigoPlateauStatuesText3: + TX_FAR _IndigoPlateauStatuesText3 + db "@" diff --git a/engine/events/hidden_objects/magazines.asm b/engine/events/hidden_objects/magazines.asm new file mode 100644 index 00000000..af31b317 --- /dev/null +++ b/engine/events/hidden_objects/magazines.asm @@ -0,0 +1,8 @@ +PrintMagazinesText: + call EnableAutoTextBoxDrawing + tx_pre MagazinesText + ret + +MagazinesText:: + TX_FAR _MagazinesText + db "@" diff --git a/engine/events/hidden_objects/museum_fossils.asm b/engine/events/hidden_objects/museum_fossils.asm new file mode 100644 index 00000000..8636418c --- /dev/null +++ b/engine/events/hidden_objects/museum_fossils.asm @@ -0,0 +1,52 @@ +AerodactylFossil: + ld a, FOSSIL_AERODACTYL + ld [wcf91], a + call DisplayMonFrontSpriteInBox + call EnableAutoTextBoxDrawing + tx_pre AerodactylFossilText + ret + +AerodactylFossilText:: + TX_FAR _AerodactylFossilText + db "@" + +KabutopsFossil: + ld a, FOSSIL_KABUTOPS + ld [wcf91], a + call DisplayMonFrontSpriteInBox + call EnableAutoTextBoxDrawing + tx_pre KabutopsFossilText + ret + +KabutopsFossilText:: + TX_FAR _KabutopsFossilText + db "@" + +DisplayMonFrontSpriteInBox: +; Displays a pokemon's front sprite in a pop-up window. +; [wcf91] = pokemon internal id number + ld a, 1 + ld [hAutoBGTransferEnabled], a + call Delay3 + xor a + ld [hWY], a + call SaveScreenTilesToBuffer1 + ld a, MON_SPRITE_POPUP + ld [wTextBoxID], a + call DisplayTextBoxID + call UpdateSprites + ld a, [wcf91] + ld [wd0b5], a + call GetMonHeader + ld de, vChars1 + $310 + call LoadMonFrontSprite + ld a, $80 + ld [hStartTileID], a + coord hl, 10, 11 + predef AnimateSendingOutMon + call WaitForTextScrollButtonPress + call LoadScreenTilesFromBuffer1 + call Delay3 + ld a, $90 + ld [hWY], a + ret diff --git a/engine/events/hidden_objects/new_bike.asm b/engine/events/hidden_objects/new_bike.asm new file mode 100644 index 00000000..7836262e --- /dev/null +++ b/engine/events/hidden_objects/new_bike.asm @@ -0,0 +1,7 @@ +PrintNewBikeText: + call EnableAutoTextBoxDrawing + tx_pre_jump NewBicycleText + +NewBicycleText:: + TX_FAR _NewBicycleText + db "@" diff --git a/engine/events/hidden_objects/oaks_lab_email.asm b/engine/events/hidden_objects/oaks_lab_email.asm new file mode 100644 index 00000000..c59ff9ac --- /dev/null +++ b/engine/events/hidden_objects/oaks_lab_email.asm @@ -0,0 +1,10 @@ +DisplayOakLabEmailText: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + call EnableAutoTextBoxDrawing + tx_pre_jump OakLabEmailText + +OakLabEmailText:: + TX_FAR _OakLabEmailText + db "@" diff --git a/engine/events/hidden_objects/oaks_lab_posters.asm b/engine/events/hidden_objects/oaks_lab_posters.asm new file mode 100644 index 00000000..0fe21cf3 --- /dev/null +++ b/engine/events/hidden_objects/oaks_lab_posters.asm @@ -0,0 +1,29 @@ +DisplayOakLabLeftPoster: + call EnableAutoTextBoxDrawing + tx_pre_jump PushStartText + +PushStartText:: + TX_FAR _PushStartText + db "@" + +DisplayOakLabRightPoster: + call EnableAutoTextBoxDrawing + ld hl, wPokedexOwned + ld b, wPokedexOwnedEnd - wPokedexOwned + call CountSetBits + ld a, [wNumSetBits] + cp 2 + tx_pre_id SaveOptionText + jr c, .ownLessThanTwo + ; own two or more mon + tx_pre_id StrengthsAndWeaknessesText +.ownLessThanTwo + jp PrintPredefTextID + +SaveOptionText:: + TX_FAR _SaveOptionText + db "@" + +StrengthsAndWeaknessesText:: + TX_FAR _StrengthsAndWeaknessesText + db "@" diff --git a/engine/events/hidden_objects/pokecenter_pc.asm b/engine/events/hidden_objects/pokecenter_pc.asm new file mode 100644 index 00000000..c1225d3a --- /dev/null +++ b/engine/events/hidden_objects/pokecenter_pc.asm @@ -0,0 +1,11 @@ +OpenPokemonCenterPC: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP ; check to see if player is facing up + ret nz + call EnableAutoTextBoxDrawing + ld a, $1 + ld [wAutoTextBoxDrawingControl], a + tx_pre_jump PokemonCenterPCText + +PokemonCenterPCText:: + TX_POKECENTER_PC diff --git a/engine/events/hidden_objects/pokemon_stuff.asm b/engine/events/hidden_objects/pokemon_stuff.asm new file mode 100644 index 00000000..b78b2500 --- /dev/null +++ b/engine/events/hidden_objects/pokemon_stuff.asm @@ -0,0 +1,3 @@ +PokemonStuffText:: + TX_FAR _PokemonStuffText + db "@" diff --git a/engine/events/hidden_objects/reds_room.asm b/engine/events/hidden_objects/reds_room.asm new file mode 100644 index 00000000..b124f9c6 --- /dev/null +++ b/engine/events/hidden_objects/reds_room.asm @@ -0,0 +1,14 @@ +PrintRedSNESText: + call EnableAutoTextBoxDrawing + tx_pre_jump RedBedroomSNESText + +RedBedroomSNESText:: + TX_FAR _RedBedroomSNESText + db "@" + +OpenRedsPC: + call EnableAutoTextBoxDrawing + tx_pre_jump RedBedroomPCText + +RedBedroomPCText:: + TX_PLAYERS_PC diff --git a/engine/events/hidden_objects/route_15_binoculars.asm b/engine/events/hidden_objects/route_15_binoculars.asm new file mode 100644 index 00000000..b380bb33 --- /dev/null +++ b/engine/events/hidden_objects/route_15_binoculars.asm @@ -0,0 +1,14 @@ +Route15GateLeftBinoculars: + ld a, [wSpriteStateData1 + 9] + cp SPRITE_FACING_UP + ret nz + call EnableAutoTextBoxDrawing + tx_pre Route15UpstairsBinocularsText + ld a, ARTICUNO + ld [wcf91], a + call PlayCry + jp DisplayMonFrontSpriteInBox + +Route15UpstairsBinocularsText:: + TX_FAR _Route15UpstairsBinocularsText + db "@" diff --git a/engine/events/hidden_objects/safari_game.asm b/engine/events/hidden_objects/safari_game.asm new file mode 100644 index 00000000..68fc943f --- /dev/null +++ b/engine/events/hidden_objects/safari_game.asm @@ -0,0 +1,79 @@ +SafariZoneCheck:: + CheckEventHL EVENT_IN_SAFARI_ZONE ; if we are not in the Safari Zone, + jr z, SafariZoneGameStillGoing ; don't bother printing game over text + ld a, [wNumSafariBalls] + and a + jr z, SafariZoneGameOver + jr SafariZoneGameStillGoing + +SafariZoneCheckSteps:: + ld a, [wSafariSteps] + ld b, a + ld a, [wSafariSteps + 1] + ld c, a + or b + jr z, SafariZoneGameOver + dec bc + ld a, b + ld [wSafariSteps], a + ld a, c + ld [wSafariSteps + 1], a +SafariZoneGameStillGoing: + xor a + ld [wSafariZoneGameOver], a + ret + +SafariZoneGameOver: + call EnableAutoTextBoxDrawing + xor a + ld [wAudioFadeOutControl], a + dec a ; SFX_STOP_ALL_MUSIC + call PlaySound + ld c, BANK(SFX_Safari_Zone_PA) + ld a, SFX_SAFARI_ZONE_PA + call PlayMusic +.waitForMusicToPlay + ld a, [wChannelSoundIDs + Ch5] + cp SFX_SAFARI_ZONE_PA + jr nz, .waitForMusicToPlay + ld a, TEXT_SAFARI_GAME_OVER + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [wPlayerMovingDirection], a + ld a, SAFARI_ZONE_GATE + ld [hWarpDestinationMap], a + ld a, $3 + ld [wDestinationWarpID], a + ld a, $5 + ld [wSafariZoneGateCurScript], a + SetEvent EVENT_SAFARI_GAME_OVER + ld a, 1 + ld [wSafariZoneGameOver], a + ret + +PrintSafariGameOverText:: + xor a + ld [wJoyIgnore], a + ld hl, SafariGameOverText + jp PrintText + +SafariGameOverText: + TX_ASM + ld a, [wNumSafariBalls] + and a + jr z, .noMoreSafariBalls + ld hl, TimesUpText + call PrintText +.noMoreSafariBalls + ld hl, GameOverText + call PrintText + jp TextScriptEnd + +TimesUpText: + TX_FAR _TimesUpText + db "@" + +GameOverText: + TX_FAR _GameOverText + db "@" diff --git a/engine/events/hidden_objects/school_blackboard.asm b/engine/events/hidden_objects/school_blackboard.asm new file mode 100644 index 00000000..4cd48d23 --- /dev/null +++ b/engine/events/hidden_objects/school_blackboard.asm @@ -0,0 +1,222 @@ +PrintBlackboardLinkCableText: + call EnableAutoTextBoxDrawing + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld a, [wHiddenObjectFunctionArgument] + call PrintPredefTextID + ret + +LinkCableHelp:: + TX_ASM + call SaveScreenTilesToBuffer1 + ld hl, LinkCableHelpText1 + call PrintText + xor a + ld [wMenuItemOffset], a ; not used + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld a, A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, 3 + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a +.linkHelpLoop + ld hl, wd730 + set 6, [hl] + coord hl, 0, 0 + ld b, 8 + ld c, 13 + call TextBoxBorder + coord hl, 2, 2 + ld de, HowToLinkText + call PlaceString + ld hl, LinkCableHelpText2 + call PrintText + call HandleMenuInput + bit 1, a ; pressed b + jr nz, .exit + ld a, [wCurrentMenuItem] + cp 3 ; pressed a on "STOP READING" + jr z, .exit + ld hl, wd730 + res 6, [hl] + ld hl, LinkCableInfoTexts + add a + ld d, 0 + ld e, a + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call PrintText + jp .linkHelpLoop +.exit + ld hl, wd730 + res 6, [hl] + call LoadScreenTilesFromBuffer1 + jp TextScriptEnd + +LinkCableHelpText1: + TX_FAR _LinkCableHelpText1 + db "@" + +LinkCableHelpText2: + TX_FAR _LinkCableHelpText2 + db "@" + +HowToLinkText: + db "HOW TO LINK" + next "COLOSSEUM" + next "TRADE CENTER" + next "STOP READING@" + +LinkCableInfoTexts: + dw LinkCableInfoText1 + dw LinkCableInfoText2 + dw LinkCableInfoText3 + +LinkCableInfoText1: + TX_FAR _LinkCableInfoText1 + db "@" + +LinkCableInfoText2: + TX_FAR _LinkCableInfoText2 + db "@" + +LinkCableInfoText3: + TX_FAR _LinkCableInfoText3 + db "@" + +ViridianSchoolBlackboard:: + TX_ASM + call SaveScreenTilesToBuffer1 + ld hl, ViridianSchoolBlackboardText1 + call PrintText + xor a + ld [wMenuItemOffset], a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld a, D_LEFT | D_RIGHT | A_BUTTON | B_BUTTON + ld [wMenuWatchedKeys], a + ld a, 2 + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a +.blackboardLoop + ld hl, wd730 + set 6, [hl] + coord hl, 0, 0 + lb bc, 6, 10 + call TextBoxBorder + coord hl, 1, 2 + ld de, StatusAilmentText1 + call PlaceString + coord hl, 6, 2 + ld de, StatusAilmentText2 + call PlaceString + ld hl, ViridianSchoolBlackboardText2 + call PrintText + call HandleMenuInput ; pressing up and down is handled in here + bit 1, a ; pressed b + jr nz, .exitBlackboard + bit 4, a ; pressed right + jr z, .didNotPressRight + ; move cursor to right column + ld a, 2 + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 6 + ld [wTopMenuItemX], a + ld a, 3 ; in the the right column, use an offset to prevent overlap + ld [wMenuItemOffset], a + jr .blackboardLoop +.didNotPressRight + bit 5, a ; pressed left + jr z, .didNotPressLeftOrRight + ; move cursor to left column + ld a, 2 + ld [wMaxMenuItem], a + ld a, 2 + ld [wTopMenuItemY], a + ld a, 1 + ld [wTopMenuItemX], a + xor a + ld [wMenuItemOffset], a + jr .blackboardLoop +.didNotPressLeftOrRight + ld a, [wCurrentMenuItem] + ld b, a + ld a, [wMenuItemOffset] + add b + cp 5 ; cursor is pointing to "QUIT" + jr z, .exitBlackboard + ; we must have pressed a on a status condition + ; so print the text + ld hl, wd730 + res 6, [hl] + ld hl, ViridianBlackboardStatusPointers + add a + ld d, 0 + ld e, a + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call PrintText + jp .blackboardLoop +.exitBlackboard + ld hl, wd730 + res 6, [hl] + call LoadScreenTilesFromBuffer1 + jp TextScriptEnd + +ViridianSchoolBlackboardText1: + TX_FAR _ViridianSchoolBlackboardText1 + db "@" + +ViridianSchoolBlackboardText2: + TX_FAR _ViridianSchoolBlackboardText2 + db "@" + +StatusAilmentText1: + db " SLP" + next " PSN" + next " PAR@" + +StatusAilmentText2: + db " BRN" + next " FRZ" + next " QUIT@@" + +ViridianBlackboardStatusPointers: + dw ViridianBlackboardSleepText + dw ViridianBlackboardPoisonText + dw ViridianBlackboardPrlzText + dw ViridianBlackboardBurnText + dw ViridianBlackboardFrozenText + +ViridianBlackboardSleepText: + TX_FAR _ViridianBlackboardSleepText + db "@" + +ViridianBlackboardPoisonText: + TX_FAR _ViridianBlackboardPoisonText + db "@" + +ViridianBlackboardPrlzText: + TX_FAR _ViridianBlackboardPrlzText + db "@" + +ViridianBlackboardBurnText: + TX_FAR _ViridianBlackboardBurnText + db "@" + +ViridianBlackboardFrozenText: + TX_FAR _ViridianBlackboardFrozenText + db "@" diff --git a/engine/events/hidden_objects/school_notebooks.asm b/engine/events/hidden_objects/school_notebooks.asm new file mode 100644 index 00000000..f5cc1341 --- /dev/null +++ b/engine/events/hidden_objects/school_notebooks.asm @@ -0,0 +1,65 @@ +PrintNotebookText: + call EnableAutoTextBoxDrawing + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld a, [wHiddenObjectFunctionArgument] + jp PrintPredefTextID + +TMNotebook:: + TX_FAR TMNotebookText + TX_WAIT + db "@" + +ViridianSchoolNotebook:: + TX_ASM + ld hl, ViridianSchoolNotebookText1 + call PrintText + call TurnPageSchoolNotebook + jr nz, .doneReading + ld hl, ViridianSchoolNotebookText2 + call PrintText + call TurnPageSchoolNotebook + jr nz, .doneReading + ld hl, ViridianSchoolNotebookText3 + call PrintText + call TurnPageSchoolNotebook + jr nz, .doneReading + ld hl, ViridianSchoolNotebookText4 + call PrintText + ld hl, ViridianSchoolNotebookText5 + call PrintText +.doneReading + jp TextScriptEnd + +TurnPageSchoolNotebook: + ld hl, TurnPageText + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + ret + +TurnPageText: + TX_FAR _TurnPageText + db "@" + +ViridianSchoolNotebookText5: + TX_FAR _ViridianSchoolNotebookText5 + TX_WAIT + db "@" + +ViridianSchoolNotebookText1: + TX_FAR _ViridianSchoolNotebookText1 + db "@" + +ViridianSchoolNotebookText2: + TX_FAR _ViridianSchoolNotebookText2 + db "@" + +ViridianSchoolNotebookText3: + TX_FAR _ViridianSchoolNotebookText3 + db "@" + +ViridianSchoolNotebookText4: + TX_FAR _ViridianSchoolNotebookText4 + db "@" diff --git a/engine/events/hidden_objects/town_map.asm b/engine/events/hidden_objects/town_map.asm new file mode 100644 index 00000000..31e75d0d --- /dev/null +++ b/engine/events/hidden_objects/town_map.asm @@ -0,0 +1,22 @@ +TownMapText:: + TX_FAR _TownMapText + TX_BLINK + TX_ASM + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, wd730 + set 6, [hl] + call GBPalWhiteOutWithDelay3 + xor a + ld [hWY], a + inc a + ld [hAutoBGTransferEnabled], a + call LoadFontTilePatterns + callba DisplayTownMap + ld hl, wd730 + res 6, [hl] + ld de, TextScriptEnd + push de + ld a, [hLoadedROMBank] + push af + jp CloseTextDisplay diff --git a/engine/events/hidden_objects/vermilion_gym_trash.asm b/engine/events/hidden_objects/vermilion_gym_trash.asm new file mode 100644 index 00000000..c2d22cd5 --- /dev/null +++ b/engine/events/hidden_objects/vermilion_gym_trash.asm @@ -0,0 +1,169 @@ +PrintTrashText: + call EnableAutoTextBoxDrawing + tx_pre_jump VermilionGymTrashText + +VermilionGymTrashText:: + TX_FAR _VermilionGymTrashText + db "@" + +GymTrashScript: + call EnableAutoTextBoxDrawing + ld a, [wHiddenObjectFunctionArgument] + ld [wGymTrashCanIndex], a + +; Don't do the trash can puzzle if it's already been done. + CheckEvent EVENT_2ND_LOCK_OPENED + jr z, .ok + + tx_pre_jump VermilionGymTrashText + +.ok + CheckEventReuseA EVENT_1ST_LOCK_OPENED + jr nz, .trySecondLock + + ld a, [wFirstLockTrashCanIndex] + ld b, a + ld a, [wGymTrashCanIndex] + cp b + jr z, .openFirstLock + + tx_pre_id VermilionGymTrashText + jr .done + +.openFirstLock +; Next can is trying for the second switch. + SetEvent EVENT_1ST_LOCK_OPENED + + ld hl, GymTrashCans + ld a, [wGymTrashCanIndex] + ; * 5 + ld b, a + add a + add a + add b + + ld d, 0 + ld e, a + add hl, de + ld a, [hli] + +; There is a bug in this code. It should calculate a value in the range [0, 3] +; but if the mask and random number don't have any 1 bits in common, then +; the result of the AND will be 0. When 1 is subtracted from that, the value +; will become $ff. This will result in 255 being added to hl, which will cause +; hl to point to one of the zero bytes that pad the end of the ROM bank. +; Trash can 0 was intended to be able to have the second lock only when the +; first lock was in trash can 1 or 3. However, due to this bug, trash can 0 can +; have the second lock regardless of which trash can had the first lock. + + ld [hGymTrashCanRandNumMask], a + push hl + call Random + swap a + ld b, a + ld a, [hGymTrashCanRandNumMask] + and b + dec a + pop hl + + ld d, 0 + ld e, a + add hl, de + ld a, [hl] + and $f + ld [wSecondLockTrashCanIndex], a + + tx_pre_id VermilionGymTrashSuccessText1 + jr .done + +.trySecondLock + ld a, [wSecondLockTrashCanIndex] + ld b, a + ld a, [wGymTrashCanIndex] + cp b + jr z, .openSecondLock + +; Reset the cans. + ResetEvent EVENT_1ST_LOCK_OPENED + call Random + + and $e + ld [wFirstLockTrashCanIndex], a + + tx_pre_id VermilionGymTrashFailText + jr .done + +.openSecondLock +; Completed the trash can puzzle. + SetEvent EVENT_2ND_LOCK_OPENED + ld hl, wCurrentMapScriptFlags + set 6, [hl] + + tx_pre_id VermilionGymTrashSuccessText3 + +.done + jp PrintPredefTextID + +GymTrashCans: +; byte 0: mask for random number +; bytes 1-4: indices of the trash cans that can have the second lock +; (but see the comment above explaining a bug regarding this) +; Note that the mask is simply the number of valid trash can indices that +; follow. The remaining bytes are filled with 0 to pad the length of each entry +; to 5 bytes. + db 2, 1, 3, 0, 0 ; 0 + db 3, 0, 2, 4, 0 ; 1 + db 2, 1, 5, 0, 0 ; 2 + db 3, 0, 4, 6, 0 ; 3 + db 4, 1, 3, 5, 7 ; 4 + db 3, 2, 4, 8, 0 ; 5 + db 3, 3, 7, 9, 0 ; 6 + db 4, 4, 6, 8, 10 ; 7 + db 3, 5, 7, 11, 0 ; 8 + db 3, 6, 10, 12, 0 ; 9 + db 4, 7, 9, 11, 13 ; 10 + db 3, 8, 10, 14, 0 ; 11 + db 2, 9, 13, 0, 0 ; 12 + db 3, 10, 12, 14, 0 ; 13 + db 2, 11, 13, 0, 0 ; 14 + +VermilionGymTrashSuccessText1:: + TX_FAR _VermilionGymTrashSuccessText1 + TX_ASM + call WaitForSoundToFinish + ld a, SFX_SWITCH + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd + +; unused +VermilionGymTrashSuccessText2:: + TX_FAR _VermilionGymTrashSuccessText2 + db "@" + +; unused +VermilionGymTrashSuccesPlaySfx: + TX_ASM + call WaitForSoundToFinish + ld a, SFX_SWITCH + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd + +VermilionGymTrashSuccessText3:: + TX_FAR _VermilionGymTrashSuccessText3 + TX_ASM + call WaitForSoundToFinish + ld a, SFX_GO_INSIDE + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd + +VermilionGymTrashFailText:: + TX_FAR _VermilionGymTrashFailText + TX_ASM + call WaitForSoundToFinish + ld a, SFX_DENIED + call PlaySound + call WaitForSoundToFinish + jp TextScriptEnd diff --git a/engine/events/in_game_trades.asm b/engine/events/in_game_trades.asm index c01bc3c3..c1466485 100755 --- a/engine/events/in_game_trades.asm +++ b/engine/events/in_game_trades.asm @@ -84,7 +84,7 @@ InGameTrade_GetMonName: ld bc, NAME_LENGTH jp CopyData -INCLUDE "data/trades.asm" +INCLUDE "data/events/trades.asm" InGameTrade_DoTrade: xor a ; NORMAL_PARTY_MENU diff --git a/engine/events/pick_up_item.asm b/engine/events/pick_up_item.asm index 9f19100a..5a658f22 100644 --- a/engine/events/pick_up_item.asm +++ b/engine/events/pick_up_item.asm @@ -15,7 +15,7 @@ PickUpItem: .isMissable ld a, [hl] - ld [$ffdb], a + ld [hMissableObjectIndex], a ld hl, wMapSpriteExtraData ld a, [hSpriteIndexOrTextID] @@ -30,7 +30,7 @@ PickUpItem: call GiveItem jr nc, .BagFull - ld a, [$ffdb] + ld a, [hMissableObjectIndex] ld [wMissableObjectIndex], a predef HideObject ld a, 1 diff --git a/engine/events/prize_menu.asm b/engine/events/prize_menu.asm index 5e08bb8f..5a00a89e 100755 --- a/engine/events/prize_menu.asm +++ b/engine/events/prize_menu.asm @@ -131,10 +131,8 @@ GetPrizeMenuId: coord hl, 13, 5 ; reg. c: ; [low nybble] number of bytes -; [bit 765 = %100] space-padding (not zero-padding) +; [bits 765 = %100] space-padding (not zero-padding) ld c, (1 << 7 | 2) -; Function $15CD displays BCD value (same routine -; used by text-command $02) call PrintBCDNumber ld de, wPrize2Price coord hl, 13, 7 @@ -145,7 +143,7 @@ GetPrizeMenuId: ld c, (1 << 7 | 2) jp PrintBCDNumber -INCLUDE "data/prizes.asm" +INCLUDE "data/events/prizes.asm" PrintPrizePrice: coord hl, 11, 0 @@ -303,4 +301,4 @@ GetPrizeMonLevel: ld [wCurEnemyLVL], a ret -INCLUDE "data/prize_mon_levels.asm" +INCLUDE "data/events/prize_mon_levels.asm" diff --git a/engine/events/saffron_guards.asm b/engine/events/saffron_guards.asm index 091cfa1a..59c2725c 100755 --- a/engine/events/saffron_guards.asm +++ b/engine/events/saffron_guards.asm @@ -2,7 +2,7 @@ RemoveGuardDrink:: ld hl, GuardDrinksList .drinkLoop ld a, [hli] - ld [$ffdb], a + ld [hItemToRemoveID], a and a ret z push hl @@ -12,4 +12,4 @@ RemoveGuardDrink:: jr z, .drinkLoop jpba RemoveItemByID -INCLUDE "data/guard_drink_items.asm" +INCLUDE "data/items/guard_drink_items.asm" diff --git a/engine/events/set_blackout_map.asm b/engine/events/set_blackout_map.asm index 14f0ba28..e8460240 100644 --- a/engine/events/set_blackout_map.asm +++ b/engine/events/set_blackout_map.asm @@ -22,4 +22,4 @@ SetLastBlackoutMap: pop hl ret -INCLUDE "data/rest_house_maps.asm" +INCLUDE "data/maps/rest_house_maps.asm" diff --git a/engine/events/vending_machine.asm b/engine/events/vending_machine.asm index 554c5d4f..4a39f7b9 100755 --- a/engine/events/vending_machine.asm +++ b/engine/events/vending_machine.asm @@ -130,4 +130,4 @@ LoadVendingMachineItem: ld [hVendingMachinePrice + 2], a ret -INCLUDE "data/vending_prices.asm" +INCLUDE "data/items/vending_prices.asm" diff --git a/engine/gfx/hp_bar.asm b/engine/gfx/hp_bar.asm index 221bd7a9..4b91da58 100755 --- a/engine/gfx/hp_bar.asm +++ b/engine/gfx/hp_bar.asm @@ -6,7 +6,7 @@ HPBarLength: GetHPBarLength: push hl xor a - ld hl, H_MULTIPLICAND + ld hl, hMultiplicand ld [hli], a ld a, b ld [hli], a @@ -21,22 +21,22 @@ GetHPBarLength: rr e srl d rr e - ld a, [H_MULTIPLICAND+1] + ld a, [hMultiplicand+1] ld b, a - ld a, [H_MULTIPLICAND+2] + ld a, [hMultiplicand+2] srl b ; divide multiplication result as well rr a srl b rr a - ld [H_MULTIPLICAND+2], a + ld [hMultiplicand+2], a ld a, b - ld [H_MULTIPLICAND+1], a + ld [hMultiplicand+1], a .maxHPSmaller256 ld a, e - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide - ld a, [H_MULTIPLICAND+2] + ld a, [hMultiplicand+2] ld e, a ; e = bc * 48 / de (num of pixels of HP bar) pop hl and a @@ -213,7 +213,7 @@ UpdateHPBar_PrintHPNumber: ld a, [wHPBarOldHP + 1] ld [wHPBarTempHP], a push hl - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] bit 0, a jr z, .asm_fb15 ld de, $9 diff --git a/engine/gfx/mon_icons.asm b/engine/gfx/mon_icons.asm index d2913715..7a96b36c 100755 --- a/engine/gfx/mon_icons.asm +++ b/engine/gfx/mon_icons.asm @@ -162,7 +162,7 @@ LoadMonPartySpriteGfxWithLCDDisabled: jr nz, .loop jp EnableLCD -INCLUDE "data/mon_party_sprite_pointers.asm" +INCLUDE "data/icon_pointers.asm" WriteMonPartySpriteOAMByPartyIndex: ; Write OAM blocks for the party mon in [hPartyMonIndex]. @@ -278,7 +278,7 @@ GetPartyMonSpriteID: srl a ret -INCLUDE "data/mon_party_sprites.asm" +INCLUDE "data/pokemon/menu_icons.asm" INC_FRAME_1 EQUS "0, $20" INC_FRAME_2 EQUS "$20, $20" diff --git a/engine/gfx/oam_dma.asm b/engine/gfx/oam_dma.asm index b0d64675..aeea4c01 100644 --- a/engine/gfx/oam_dma.asm +++ b/engine/gfx/oam_dma.asm @@ -1,12 +1,12 @@ WriteDMACodeToHRAM:: ; Since no other memory is available during OAM DMA, ; DMARoutine is copied to HRAM and executed there. - ld c, $ff80 % $100 + ld c, hDMARoutine % $100 ld b, DMARoutineEnd - DMARoutine ld hl, DMARoutine .copy ld a, [hli] - ld [$ff00+c], a + ldh [c], a inc c dec b jr nz, .copy diff --git a/engine/gfx/palettes.asm b/engine/gfx/palettes.asm index 39991d48..58e08e86 100755 --- a/engine/gfx/palettes.asm +++ b/engine/gfx/palettes.asm @@ -1,11 +1,11 @@ _RunPaletteCommand: call GetPredefRegisters ld a, b - cp $ff - jr nz, .next - ld a, [wDefaultPaletteCommand] ; use default command if command ID is $ff -.next - cp UPDATE_PARTY_MENU_BLK_PACKET + cp SET_PAL_DEFAULT + jr nz, .not_default + ld a, [wDefaultPaletteCommand] +.not_default + cp SET_PAL_PARTY_MENU_HP_BARS jp z, UpdatePartyMenuBlkPacket ld l, a ld h, 0 @@ -632,10 +632,10 @@ CopySGBBorderTiles: jr nz, .tileLoop ret -INCLUDE "data/sgb_packets.asm" +INCLUDE "data/sgb/sgb_packets.asm" -INCLUDE "data/mon_palettes.asm" +INCLUDE "data/pokemon/palettes.asm" -INCLUDE "data/super_palettes.asm" +INCLUDE "data/sgb/sgb_palettes.asm" -INCLUDE "data/sgb_border.asm" +INCLUDE "data/sgb/sgb_border.asm" diff --git a/engine/gfx/screen_effects.asm b/engine/gfx/screen_effects.asm index 95f0ea25..0d3806c1 100755 --- a/engine/gfx/screen_effects.asm +++ b/engine/gfx/screen_effects.asm @@ -19,7 +19,7 @@ PredefShakeScreenVertically: ld [wDisableVBlankWYUpdate], a xor a .loop - ld [$ff96], a + ld [hMutateWY], a call .MutateWY call .MutateWY dec b @@ -30,9 +30,9 @@ PredefShakeScreenVertically: ret .MutateWY - ld a, [$ff96] + ld a, [hMutateWY] xor b - ld [$ff96], a + ld [hMutateWY], a ld [rWY], a ld c, 3 jp DelayFrames @@ -43,7 +43,7 @@ PredefShakeScreenHorizontally: call GetPredefRegisters xor a .loop - ld [$ff97], a + ld [hMutateWX], a call .MutateWX ld c, 1 call DelayFrames @@ -58,9 +58,9 @@ PredefShakeScreenHorizontally: ret .MutateWX - ld a, [$ff97] + ld a, [hMutateWX] xor b - ld [$ff97], a + ld [hMutateWX], a bit 7, a jr z, .skipZeroing xor a ; zero a if it's negative diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm index 6e7bed1e..7e2aa227 100755 --- a/engine/items/item_effects.asm +++ b/engine/items/item_effects.asm @@ -239,14 +239,14 @@ ItemUseBall: ; Calculate MaxHP * 255. xor a - ld [H_MULTIPLICAND], a + ld [hMultiplicand], a ld hl, wEnemyMonMaxHP ld a, [hli] - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand + 1], a ld a, [hl] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, 255 - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ; Determine BallFactor. It's 8 for Great Balls and 12 for the others. @@ -260,7 +260,7 @@ ItemUseBall: ; Note that the results of all division operations are floored. ; Calculate (MaxHP * 255) / BallFactor. - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 4 ; number of bytes in dividend call Divide @@ -281,17 +281,17 @@ ItemUseBall: .skip2 ; Let W = ((MaxHP * 255) / BallFactor) / max(HP / 4, 1). Calculate W. - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 4 call Divide -; If W > 255, store 255 in [H_QUOTIENT + 3]. -; Let X = min(W, 255) = [H_QUOTIENT + 3]. - ld a, [H_QUOTIENT + 2] +; If W > 255, store 255 in [hQuotient + 3]. +; Let X = min(W, 255) = [hQuotient + 3]. + ld a, [hQuotient + 2] and a jr z, .skip3 ld a, 255 - ld [H_QUOTIENT + 3], a + ld [hQuotient + 3], a .skip3 pop bc ; b = Rand1 - Status @@ -302,7 +302,7 @@ ItemUseBall: jr c, .failedToCapture ; If W > 255, the ball captures the Pokémon. - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] and a jr nz, .captured @@ -310,7 +310,7 @@ ItemUseBall: ; If Rand2 > X, the ball fails to capture the Pokémon. ld b, a - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] cp b jr c, .failedToCapture @@ -318,17 +318,17 @@ ItemUseBall: jr .skipShakeCalculations .failedToCapture - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] ld [wPokeBallCaptureCalcTemp], a ; Save X. ; Calculate CatchRate * 100. xor a - ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand], a + ld [hMultiplicand + 1], a ld a, [wEnemyMonActualCatchRate] - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, 100 - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ; Determine BallFactor2. @@ -349,26 +349,26 @@ ItemUseBall: .skip4 ; Let Y = (CatchRate * 100) / BallFactor2. Calculate Y. ld a, b - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 4 call Divide ; If Y > 255, there are 3 shakes. ; Note that this shouldn't be possible. ; The maximum value of Y is (255 * 100) / 150 = 170. - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] and a ld b, $63 ; 3 shakes jr nz, .setAnimData ; Calculate X * Y. ld a, [wPokeBallCaptureCalcTemp] - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ; Calculate (X * Y) / 255. ld a, 255 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 4 call Divide @@ -386,19 +386,19 @@ ItemUseBall: .addAilmentValue ; If the Pokémon has a status ailment, add Status2. - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] add b - ld [H_QUOTIENT + 3], a + ld [hQuotient + 3], a .skip5 ; Finally determine the number of shakes. -; Let Z = ((X * Y) / 255) + Status2 = [H_QUOTIENT + 3]. +; Let Z = ((X * Y) / 255) + Status2 = [hQuotient + 3]. ; The number of shakes depend on the range Z is in. ; 0 ≤ Z < 10: 0 shakes (the ball misses) ; 10 ≤ Z < 30: 1 shake ; 30 ≤ Z < 70: 2 shakes ; 70 ≤ Z: 3 shakes - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] cp 10 ld b, $20 jr c, .setAnimData @@ -422,7 +422,7 @@ ItemUseBall: ld a, TOSS_ANIM ld [wAnimationID], a xor a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld [wAnimationType], a ld [wDamageMultipliers], a ld a, [wWhichPokemon] @@ -1018,18 +1018,18 @@ ItemUseMedicine: call AddNTimes ld a, [hli] ld [wHPBarMaxHP + 1], a - ld [H_DIVIDEND], a + ld [hDividend], a ld a, [hl] ld [wHPBarMaxHP], a - ld [H_DIVIDEND + 1], a + ld [hDividend + 1], a ld a, 5 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 2 ; number of bytes call Divide ; get 1/5 of max HP of pokemon that used Softboiled ld bc, (wPartyMon1HP + 1) - (wPartyMon1MaxHP + 1) add hl, bc ; hl now points to LSB of current HP of pokemon that used Softboiled ; subtract 1/5 of max HP from current HP of pokemon that used Softboiled - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] push af ld b, a ld a, [hl] @@ -1037,7 +1037,7 @@ ItemUseMedicine: sub b ld [hld], a ld [wHPBarNewHP], a - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] ld b, a ld a, [hl] ld [wHPBarOldHP+1], a @@ -1050,15 +1050,15 @@ ItemUseMedicine: call AddNTimes ; calculate coordinates of HP bar of pokemon that used Softboiled ld a, SFX_HEAL_HP call PlaySoundWaitForCurrent - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] set 0, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a ld a, $02 ld [wHPBarType], a predef UpdateHPBar2 ; animate HP bar decrease of pokemon that used Softboiled - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] res 0, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a pop af ld b, a ; store heal amount (1/5 of max HP) ld hl, wHPBarOldHP + 1 @@ -1200,15 +1200,15 @@ ItemUseMedicine: jr z, .playStatusAilmentCuringSound ld a, SFX_HEAL_HP call PlaySoundWaitForCurrent - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] set 0, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a ld a, $02 ld [wHPBarType], a predef UpdateHPBar2 ; animate the HP bar lengthening - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] res 0, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a ld a, REVIVE_MSG ld [wPartyMenuTypeOrMessageID], a ld a, [wcf91] @@ -1224,13 +1224,13 @@ ItemUseMedicine: call PlaySoundWaitForCurrent .showHealingItemMessage xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearScreen dec a ld [wUpdateSpritesEnabled], a call RedrawPartyMenu ; redraws the party menu and displays the message ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld c, 50 call DelayFrames call WaitForTextScrollButtonPress @@ -1341,7 +1341,7 @@ ItemUseMedicine: push hl push de ld d, a - callab CalcExperience ; calculate experience for next level and store it at $ff96 + callab CalcExperience ; calculate experience for next level and store it at hExperience pop de pop hl ld bc, wPartyMon1Exp - wPartyMon1Level @@ -1459,7 +1459,7 @@ BaitRockCommon: ld [wAnimationID], a xor a ld [wAnimationType], a - ld [H_WHOSETURN], a + ld [hWhoseTurn], a ld [de], a ; zero escape factor (for bait), zero bait factor (for rock) .randomLoop ; loop until a random number less than 5 is generated call Random @@ -1698,7 +1698,7 @@ ItemUseXStat: call LoadScreenTilesFromBuffer1 ; restore saved screen call Delay3 xor a - ld [H_WHOSETURN], a ; set turn to player's turn + ld [hWhoseTurn], a ; set turn to player's turn callba StatModifierUpEffect ; do stat increase move pop hl pop af @@ -1844,8 +1844,8 @@ PlayedFluteHadEffectText: and a jr nz, .done ; play out-of-battle pokeflute music - ld a, $ff - call PlaySound ; turn off music + ld a, SFX_STOP_ALL_MUSIC + call PlaySound ld a, SFX_POKEFLUTE ld c, BANK(SFX_Pokeflute) call PlayMusic @@ -1901,7 +1901,7 @@ ItemUseGoodRod: xor 1 jr RodResponse -INCLUDE "data/good_rod.asm" +INCLUDE "data/wild/good_rod.asm" ItemUseSuperRod: call FishingInit @@ -2463,13 +2463,13 @@ RestoreBonusPP: AddBonusPP: push bc ld a, [de] ; normal max PP of move - ld [H_DIVIDEND + 3], a + ld [hDividend + 3], a xor a - ld [H_DIVIDEND], a - ld [H_DIVIDEND + 1], a - ld [H_DIVIDEND + 2], a + ld [hDividend], a + ld [hDividend + 1], a + ld [hDividend + 2], a ld a, 5 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 4 call Divide ld a, [hl] ; move PP @@ -2480,7 +2480,7 @@ AddBonusPP: srl a ld c, a ; c = number of PP Ups used .loop - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] cp 8 ; is the amount greater than or equal to 8? jr c, .addAmount ld a, 7 ; cap the amount at 7 @@ -2686,7 +2686,7 @@ IsKeyItem_:: ld [wIsKeyItem], a ret -INCLUDE "data/key_items.asm" +INCLUDE "data/items/key_items.asm" SendNewMonToBox: ld de, wNumInBox @@ -2881,7 +2881,7 @@ IsNextTileShoreOrWater: and a ret -INCLUDE "data/water_tilesets.asm" +INCLUDE "data/tilesets/water_tilesets.asm" ReadSuperRodData: ; return e = 2 if no fish on this map @@ -2928,7 +2928,7 @@ ReadSuperRodData: ld e, $1 ; $1 if there's a bite ret -INCLUDE "data/super_rod.asm" +INCLUDE "data/wild/super_rod.asm" ; reloads map view and processes sprite data ; for items that cause the overworld to be displayed diff --git a/engine/items/tm_prices.asm b/engine/items/tm_prices.asm index c359dc1d..85531bab 100755 --- a/engine/items/tm_prices.asm +++ b/engine/items/tm_prices.asm @@ -22,4 +22,4 @@ GetMachinePrice:: ld [hItemPrice + 2], a ret -INCLUDE "data/tm_prices.asm" +INCLUDE "data/items/tm_prices.asm" diff --git a/engine/items/tms.asm b/engine/items/tms.asm index da1b5e72..ea7fbcad 100755 --- a/engine/items/tms.asm +++ b/engine/items/tms.asm @@ -33,4 +33,4 @@ TMToMove: ld [wd11e], a ret -INCLUDE "data/tms.asm" +INCLUDE "data/moves/tmhm_moves.asm" diff --git a/engine/items/town_map.asm b/engine/items/town_map.asm index 84a92994..285dbfa5 100755 --- a/engine/items/town_map.asm +++ b/engine/items/town_map.asm @@ -103,7 +103,7 @@ DisplayTownMap: ld [wWhichTownMapLocation], a jp .townMapLoop -INCLUDE "data/town_map_order.asm" +INCLUDE "data/maps/town_map_order.asm" TownMapCursor: INCBIN "gfx/town_map/town_map_cursor.1bpp" @@ -581,9 +581,9 @@ LoadTownMapEntry: ld l, a ret -INCLUDE "data/town_map_entries.asm" +INCLUDE "data/maps/town_map_entries.asm" -INCLUDE "text/map_names.asm" +INCLUDE "data/maps/names.asm" MonNestIcon: INCBIN "gfx/town_map/mon_nest_icon.1bpp" diff --git a/engine/link/cable_club.asm b/engine/link/cable_club.asm index 141ed396..58008a94 100755 --- a/engine/link/cable_club.asm +++ b/engine/link/cable_club.asm @@ -139,7 +139,7 @@ CableClub_DoBattleOrTradeAgain: call Serial_ExchangeBytes ld a, (1 << SERIAL) | (1 << TIMER) | (1 << VBLANK) ld [rIE], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC call PlaySound ld a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK @@ -261,7 +261,7 @@ CableClub_DoBattleOrTradeAgain: ld [wUnusedCF8D + 1], a xor a ld [wTradeCenterPointerTableIndex], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC call PlaySound ld a, [hSerialConnectionStatus] cp USING_INTERNAL_CLOCK @@ -338,10 +338,10 @@ TradeCenter_SelectMon: ld a, 1 ld [wTopMenuItemX], a .enemyMonMenu_HandleInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 set 1, [hl] call HandleMenuInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 res 1, [hl] and a jp z, .getNewInput @@ -403,10 +403,10 @@ TradeCenter_SelectMon: lb bc, 6, 1 call ClearScreenArea .playerMonMenu_HandleInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 set 1, [hl] call HandleMenuInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 res 1, [hl] and a ; was anything pressed? jr nz, .playerMonMenu_SomethingPressed @@ -663,7 +663,7 @@ TradeCenter_PrintPartyListNames: push de push hl ld a, c - ld [$ff95], a + ld [hPastLeadingZeros], a call GetMonName pop hl call PlaceString @@ -903,7 +903,7 @@ CableClub_Run: ld [wTilesetGfxPtr + 1], a ld a, l ld [wTilesetGfxPtr], a - ld a, Bank(Club_GFX) + ld a, BANK(Club_GFX) ld [wTilesetBank], a ld hl, Club_Coll ld a, h diff --git a/engine/math/multiply_divide.asm b/engine/math/multiply_divide.asm index 6cdc6c87..8bbc20a1 100755 --- a/engine/math/multiply_divide.asm +++ b/engine/math/multiply_divide.asm @@ -2,142 +2,142 @@ _Multiply:: ld a, $8 ld b, a xor a - ld [H_PRODUCT], a - ld [H_MULTIPLYBUFFER], a - ld [H_MULTIPLYBUFFER+1], a - ld [H_MULTIPLYBUFFER+2], a - ld [H_MULTIPLYBUFFER+3], a + ld [hProduct], a + ld [hMultiplyBuffer], a + ld [hMultiplyBuffer+1], a + ld [hMultiplyBuffer+2], a + ld [hMultiplyBuffer+3], a .loop - ld a, [H_MULTIPLIER] + ld a, [hMultiplier] srl a - ld [H_MULTIPLIER], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) + ld [hMultiplier], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) jr nc, .smallMultiplier - ld a, [H_MULTIPLYBUFFER+3] + ld a, [hMultiplyBuffer+3] ld c, a - ld a, [H_MULTIPLICAND+2] + ld a, [hMultiplicand+2] add c - ld [H_MULTIPLYBUFFER+3], a - ld a, [H_MULTIPLYBUFFER+2] + ld [hMultiplyBuffer+3], a + ld a, [hMultiplyBuffer+2] ld c, a - ld a, [H_MULTIPLICAND+1] + ld a, [hMultiplicand+1] adc c - ld [H_MULTIPLYBUFFER+2], a - ld a, [H_MULTIPLYBUFFER+1] + ld [hMultiplyBuffer+2], a + ld a, [hMultiplyBuffer+1] ld c, a - ld a, [H_MULTIPLICAND] ; (aliases: H_MULTIPLICAND) + ld a, [hMultiplicand] ; (aliases: hMultiplicand) adc c - ld [H_MULTIPLYBUFFER+1], a - ld a, [H_MULTIPLYBUFFER] + ld [hMultiplyBuffer+1], a + ld a, [hMultiplyBuffer] ld c, a - ld a, [H_PRODUCT] ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) + ld a, [hProduct] ; (aliases: hProduct, hPastLeadingZeros, hQuotient) adc c - ld [H_MULTIPLYBUFFER], a + ld [hMultiplyBuffer], a .smallMultiplier dec b jr z, .done - ld a, [H_MULTIPLICAND+2] + ld a, [hMultiplicand+2] sla a - ld [H_MULTIPLICAND+2], a - ld a, [H_MULTIPLICAND+1] + ld [hMultiplicand+2], a + ld a, [hMultiplicand+1] rl a - ld [H_MULTIPLICAND+1], a - ld a, [H_MULTIPLICAND] + ld [hMultiplicand+1], a + ld a, [hMultiplicand] rl a - ld [H_MULTIPLICAND], a - ld a, [H_PRODUCT] + ld [hMultiplicand], a + ld a, [hProduct] rl a - ld [H_PRODUCT], a + ld [hProduct], a jr .loop .done - ld a, [H_MULTIPLYBUFFER+3] - ld [H_PRODUCT+3], a - ld a, [H_MULTIPLYBUFFER+2] - ld [H_PRODUCT+2], a - ld a, [H_MULTIPLYBUFFER+1] - ld [H_PRODUCT+1], a - ld a, [H_MULTIPLYBUFFER] - ld [H_PRODUCT], a + ld a, [hMultiplyBuffer+3] + ld [hProduct+3], a + ld a, [hMultiplyBuffer+2] + ld [hProduct+2], a + ld a, [hMultiplyBuffer+1] + ld [hProduct+1], a + ld a, [hMultiplyBuffer] + ld [hProduct], a ret _Divide:: xor a - ld [H_DIVIDEBUFFER], a - ld [H_DIVIDEBUFFER+1], a - ld [H_DIVIDEBUFFER+2], a - ld [H_DIVIDEBUFFER+3], a - ld [H_DIVIDEBUFFER+4], a + ld [hDivideBuffer], a + ld [hDivideBuffer+1], a + ld [hDivideBuffer+2], a + ld [hDivideBuffer+3], a + ld [hDivideBuffer+4], a ld a, $9 ld e, a .asm_37db3 - ld a, [H_DIVIDEBUFFER] + ld a, [hDivideBuffer] ld c, a - ld a, [H_DIVIDEND+1] ; (aliases: H_MULTIPLICAND) + ld a, [hDividend+1] ; (aliases: hMultiplicand) sub c ld d, a - ld a, [H_DIVISOR] ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) + ld a, [hDivisor] ; (aliases: hDivisor, hMultiplier, hPowerOf10) ld c, a - ld a, [H_DIVIDEND] ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) + ld a, [hDividend] ; (aliases: hProduct, hPastLeadingZeros, hQuotient) sbc c jr c, .asm_37dce - ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) + ld [hDividend], a ; (aliases: hProduct, hPastLeadingZeros, hQuotient) ld a, d - ld [H_DIVIDEND+1], a ; (aliases: H_MULTIPLICAND) - ld a, [H_DIVIDEBUFFER+4] + ld [hDividend+1], a ; (aliases: hMultiplicand) + ld a, [hDivideBuffer+4] inc a - ld [H_DIVIDEBUFFER+4], a + ld [hDivideBuffer+4], a jr .asm_37db3 .asm_37dce ld a, b cp $1 jr z, .asm_37e18 - ld a, [H_DIVIDEBUFFER+4] + ld a, [hDivideBuffer+4] sla a - ld [H_DIVIDEBUFFER+4], a - ld a, [H_DIVIDEBUFFER+3] + ld [hDivideBuffer+4], a + ld a, [hDivideBuffer+3] rl a - ld [H_DIVIDEBUFFER+3], a - ld a, [H_DIVIDEBUFFER+2] + ld [hDivideBuffer+3], a + ld a, [hDivideBuffer+2] rl a - ld [H_DIVIDEBUFFER+2], a - ld a, [H_DIVIDEBUFFER+1] + ld [hDivideBuffer+2], a + ld a, [hDivideBuffer+1] rl a - ld [H_DIVIDEBUFFER+1], a + ld [hDivideBuffer+1], a dec e jr nz, .asm_37e04 ld a, $8 ld e, a - ld a, [H_DIVIDEBUFFER] - ld [H_DIVISOR], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) + ld a, [hDivideBuffer] + ld [hDivisor], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) xor a - ld [H_DIVIDEBUFFER], a - ld a, [H_DIVIDEND+1] ; (aliases: H_MULTIPLICAND) - ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) - ld a, [H_DIVIDEND+2] - ld [H_DIVIDEND+1], a ; (aliases: H_MULTIPLICAND) - ld a, [H_DIVIDEND+3] - ld [H_DIVIDEND+2], a + ld [hDivideBuffer], a + ld a, [hDividend+1] ; (aliases: hMultiplicand) + ld [hDividend], a ; (aliases: hProduct, hPastLeadingZeros, hQuotient) + ld a, [hDividend+2] + ld [hDividend+1], a ; (aliases: hMultiplicand) + ld a, [hDividend+3] + ld [hDividend+2], a .asm_37e04 ld a, e cp $1 jr nz, .asm_37e0a dec b .asm_37e0a - ld a, [H_DIVISOR] ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) + ld a, [hDivisor] ; (aliases: hDivisor, hMultiplier, hPowerOf10) srl a - ld [H_DIVISOR], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) - ld a, [H_DIVIDEBUFFER] + ld [hDivisor], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) + ld a, [hDivideBuffer] rr a - ld [H_DIVIDEBUFFER], a + ld [hDivideBuffer], a jr .asm_37db3 .asm_37e18 - ld a, [H_DIVIDEND+1] ; (aliases: H_MULTIPLICAND) - ld [H_REMAINDER], a ; (aliases: H_DIVISOR, H_MULTIPLIER, H_POWEROFTEN) - ld a, [H_DIVIDEBUFFER+4] - ld [H_QUOTIENT+3], a - ld a, [H_DIVIDEBUFFER+3] - ld [H_QUOTIENT+2], a - ld a, [H_DIVIDEBUFFER+2] - ld [H_QUOTIENT+1], a ; (aliases: H_MULTIPLICAND) - ld a, [H_DIVIDEBUFFER+1] - ld [H_DIVIDEND], a ; (aliases: H_PRODUCT, H_PASTLEADINGZEROES, H_QUOTIENT) + ld a, [hDividend+1] ; (aliases: hMultiplicand) + ld [hRemainder], a ; (aliases: hDivisor, hMultiplier, hPowerOf10) + ld a, [hDivideBuffer+4] + ld [hQuotient+3], a + ld a, [hDivideBuffer+3] + ld [hQuotient+2], a + ld a, [hDivideBuffer+2] + ld [hQuotient+1], a ; (aliases: hMultiplicand) + ld a, [hDivideBuffer+1] + ld [hDividend], a ; (aliases: hProduct, hPastLeadingZeros, hQuotient) ret diff --git a/engine/menus/display_text_id_init.asm b/engine/menus/display_text_id_init.asm index 5043ad22..45c76f9c 100644 --- a/engine/menus/display_text_id_init.asm +++ b/engine/menus/display_text_id_init.asm @@ -43,7 +43,7 @@ DisplayTextIDInit:: ; the original direction they were facing must be restored after the dialogue is over ld hl, wSpriteStateData1 + $19 ld c, $0f - ld de, $0010 + ld de, $10 .spriteFacingDirectionCopyLoop ld a, [hl] inc h @@ -55,7 +55,7 @@ DisplayTextIDInit:: ; loop to force all the sprites in the middle of animation to stand still ; (so that they don't like they're frozen mid-step during the dialogue) ld hl, wSpriteStateData1 + 2 - ld de, $0010 + ld de, $10 ld c, e .spriteStandStillLoop ld a, [hl] @@ -74,5 +74,5 @@ DisplayTextIDInit:: ld [hWY], a ; put the window on the screen call LoadFontTilePatterns ld a, $01 - ld [H_AUTOBGTRANSFERENABLED], a ; enable continuous WRAM to VRAM transfer each V-blank + ld [hAutoBGTransferEnabled], a ; enable continuous WRAM to VRAM transfer each V-blank ret diff --git a/engine/menus/main_menu.asm b/engine/menus/main_menu.asm index 8eda6744..fe82ec4a 100755 --- a/engine/menus/main_menu.asm +++ b/engine/menus/main_menu.asm @@ -342,7 +342,7 @@ CableClubOptionsText: DisplayContinueGameInfo: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 4, 7 ld b, 8 ld c, 14 @@ -360,13 +360,13 @@ DisplayContinueGameInfo: coord hl, 13, 15 call PrintPlayTime ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld c, 30 jp DelayFrames PrintSaveScreenText: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 4, 0 ld b, $8 ld c, $e @@ -386,7 +386,7 @@ PrintSaveScreenText: coord hl, 13, 8 call PrintPlayTime ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld c, 30 jp DelayFrames @@ -463,7 +463,7 @@ DisplayOptionMenu: ld a, [wOptionsTextSpeedCursorX] ; text speed cursor X coordinate ld [wTopMenuItemX], a ld a, $01 - ld [H_AUTOBGTRANSFERENABLED], a ; enable auto background transfer + ld [hAutoBGTransferEnabled], a ; enable auto background transfer call Delay3 .loop call PlaceMenuCursor diff --git a/engine/menus/naming_screen.asm b/engine/menus/naming_screen.asm index 2b86d6f4..efeab4c3 100755 --- a/engine/menus/naming_screen.asm +++ b/engine/menus/naming_screen.asm @@ -337,7 +337,7 @@ ED_TileEnd: PrintAlphabet: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, [wAlphabetCase] and a ld de, LowerCaseAlphabet @@ -362,10 +362,10 @@ PrintAlphabet: jr nz, .outerLoop call PlaceString ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a jp Delay3 -INCLUDE "text/alphabets.asm" +INCLUDE "data/text/alphabets.asm" PrintNicknameAndUnderscores: call CalcStringLength @@ -435,7 +435,7 @@ DakutensAndHandakutens: ld [wNamingScreenLetter], a ret -INCLUDE "text/dakutens.asm" +INCLUDE "data/text/dakutens.asm" ; calculates the length of the string at wcf4b and stores it in c CalcStringLength: diff --git a/engine/menus/party_menu.asm b/engine/menus/party_menu.asm index 41b6074b..9ae5706e 100755 --- a/engine/menus/party_menu.asm +++ b/engine/menus/party_menu.asm @@ -19,7 +19,7 @@ ; f8: leveled up DrawPartyMenu_:: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearScreen call UpdateSprites callba LoadMonPartySpriteGfxWithLCDDisabled ; load pokemon icon graphics @@ -88,14 +88,14 @@ RedrawPartyMenu_:: pop hl push hl ld bc, SCREEN_WIDTH + 1 ; down 1 row and right 1 column - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] set 0, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a add hl, bc predef DrawHP2 ; draw HP bar and prints current / max HP - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] res 0, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a call SetPartyMenuHPBarColor ; color the HP bar (on SGB) pop hl jr .printLevel @@ -213,7 +213,7 @@ RedrawPartyMenu_:: pop af ld [hl], a ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 jp GBPalNormal .printItemUseMessage @@ -318,7 +318,7 @@ SetPartyMenuHPBarColor: ld b, 0 add hl, bc call GetHealthBarColor - ld b, UPDATE_PARTY_MENU_BLK_PACKET + ld b, SET_PAL_PARTY_MENU_HP_BARS call RunPaletteCommand ld hl, wWhichPartyMenuHPBar inc [hl] diff --git a/engine/menus/pokedex.asm b/engine/menus/pokedex.asm index 8e1fd480..baf656b6 100755 --- a/engine/menus/pokedex.asm +++ b/engine/menus/pokedex.asm @@ -156,7 +156,7 @@ HandlePokedexSideMenu: ; sets carry flag if player presses A, unsets carry flag if player presses B HandlePokedexListMenu: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ; draw the horizontal line separating the seen and owned amounts from the menu coord hl, 15, 8 ld a, "─" @@ -216,7 +216,7 @@ HandlePokedexListMenu: ld [wDexMaxSeenMon], a .loop xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 4, 2 lb bc, 14, 10 call ClearScreenArea @@ -280,7 +280,7 @@ HandlePokedexListMenu: dec d jr nz, .printPokemonLoop ld a, 01 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 call GBPalNormal call HandleMenuInput @@ -566,11 +566,11 @@ ShowPokedexDataInternal: pop hl inc hl ; hl = address of pokedex description text coord bc, 1, 11 - ld a, 2 - ld [$fff4], a + ld a, %10 + ld [hClearLetterPrintingDelayFlags], a call TextCommandProcessor ; print pokedex description text xor a - ld [$fff4], a + ld [hClearLetterPrintingDelayFlags], a .waitForButtonPress call JoypadLowSensitivity ld a, [hJoy5] @@ -623,7 +623,7 @@ DrawTileLine: pop bc ret -INCLUDE "data/pokedex_entries.asm" +INCLUDE "data/pokemon/dex_entries.asm" PokedexToIndex: ; converts the Pokédex number at wd11e to an index @@ -662,4 +662,4 @@ IndexToPokedex: pop bc ret -INCLUDE "data/pokedex_order.asm" +INCLUDE "data/pokemon/dex_order.asm" diff --git a/engine/menus/save.asm b/engine/menus/save.asm index 33a7ba8d..ee73c850 100755 --- a/engine/menus/save.asm +++ b/engine/menus/save.asm @@ -351,10 +351,10 @@ ChangeBox:: call z, EmptyAllSRAMBoxes ; if so, empty all boxes in SRAM call DisplayChangeBoxMenu call UpdateSprites - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 set 1, [hl] call HandleMenuInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 res 1, [hl] bit 1, a ; pressed b ret nz @@ -420,7 +420,7 @@ CopyBoxToOrFromSRAM: DisplayChangeBoxMenu: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, A_BUTTON | B_BUTTON ld [wMenuWatchedKeys], a ld a, 11 @@ -445,12 +445,12 @@ DisplayChangeBoxMenu: ld b, 12 ld c, 7 call TextBoxBorder - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 set 2, [hl] ld de, BoxNames coord hl, 13, 1 call PlaceString - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 res 2, [hl] ld a, [wCurrentBoxNum] and $7f @@ -486,7 +486,7 @@ DisplayChangeBoxMenu: dec a jr nz, .loop ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret ChooseABoxText: @@ -601,9 +601,9 @@ GetMonCountsForBoxesInBank: ret SAVCheckRandomID: -;checks if Sav file is the same by checking player's name 1st letter ($a598) +; checks if Sav file is the same by checking player's name 1st letter ; and the two random numbers generated at game beginning -;(which are stored at wPlayerID)s +; (which are stored at wPlayerID)s ld a, $0a ld [MBC1SRamEnable], a ld a, $01 @@ -702,7 +702,7 @@ ClearSAV: PadSRAM_FF: ld [MBC1SRamBank], a - ld hl, $a000 - ld bc, $2000 + ld hl, SRAM_Begin + ld bc, SRAM_End - SRAM_Begin ld a, $ff jp FillMemory diff --git a/engine/menus/start_sub_menus.asm b/engine/menus/start_sub_menus.asm index b81769a2..526540df 100755 --- a/engine/menus/start_sub_menus.asm +++ b/engine/menus/start_sub_menus.asm @@ -239,21 +239,21 @@ StartMenu_Pokemon:: ld bc, wPartyMon2 - wPartyMon1 call AddNTimes ld a, [hli] - ld [H_DIVIDEND], a + ld [hDividend], a ld a, [hl] - ld [H_DIVIDEND + 1], a + ld [hDividend + 1], a ld a, 5 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, 2 ; number of bytes call Divide ld bc, wPartyMon1HP - wPartyMon1MaxHP add hl, bc ld a, [hld] ld b, a - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] sub b ld b, [hl] - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] sbc b jp nc, .notHealthyEnough ld a, [wPartyAndBillsPCSavedMenuItem] @@ -446,9 +446,9 @@ CannotGetOffHereText: TX_FAR _CannotGetOffHereText db "@" -INCLUDE "data/party_items.asm" +INCLUDE "data/items/use_party.asm" -INCLUDE "data/overworld_items.asm" +INCLUDE "data/items/use_overworld.asm" StartMenu_TrainerInfo:: call GBPalWhiteOut @@ -491,12 +491,12 @@ DrawTrainerInfo: call CopyData ld hl, TrainerInfoTextBoxTileGraphics ; trainer info text box tile patterns ld de, vChars2 + $770 - ld bc, $0080 + ld bc, $80 push bc call TrainerInfo_FarCopyData ld hl, BlankLeaderNames ld de, vChars2 + $600 - ld bc, $0170 + ld bc, $170 call TrainerInfo_FarCopyData pop bc ld hl, BadgeNumbersTileGraphics ; badge number tile patterns @@ -504,14 +504,14 @@ DrawTrainerInfo: call TrainerInfo_FarCopyData ld hl, GymLeaderFaceAndBadgeTileGraphics ; gym leader face and badge tile patterns ld de, vChars2 + $200 - ld bc, $0400 + ld bc, $400 ld a, $03 call FarCopyData2 ld hl, TextBoxGraphics - ld de, $00d0 + ld de, $d0 add hl, de ; hl = colon tile pattern ld de, vChars1 + $560 - ld bc, $0010 + ld bc, $10 ld a, $04 push bc call FarCopyData2 @@ -648,7 +648,7 @@ StartMenu_SaveReset:: StartMenu_Option:: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearScreen call UpdateSprites callab DisplayOptionMenu diff --git a/engine/menus/swap_items.asm b/engine/menus/swap_items.asm index 826fe60b..8b793ea1 100644 --- a/engine/menus/swap_items.asm +++ b/engine/menus/swap_items.asm @@ -77,18 +77,18 @@ HandleItemListSwapping:: cp b jr z, .swapSameItemType .swapDifferentItems - ld [$ff95], a ; [$ff95] = second item ID + ld [hSwapItemID], a ; save second item ID ld a, [hld] - ld [$ff96], a ; [$ff96] = second item quantity + ld [hSwapItemQuantity], a ; save second item quantity ld a, [de] ld [hli], a ; put first item ID in second item slot inc de ld a, [de] ld [hl], a ; put first item quantity in second item slot - ld a, [$ff96] + ld a, [hSwapItemQuantity] ld [de], a ; put second item quantity in first item slot dec de - ld a, [$ff95] + ld a, [hSwapItemID] ld [de], a ; put second item ID in first item slot xor a ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped diff --git a/engine/movie/credits.asm b/engine/movie/credits.asm index f820aae3..4ba50615 100755 --- a/engine/movie/credits.asm +++ b/engine/movie/credits.asm @@ -21,7 +21,7 @@ HallOfFamePC: ld a, %11000000 ld [rBGP], a call EnableLCD - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC call PlaySoundWaitForCurrent ld c, BANK(Music_Credits) ld a, MUSIC_CREDITS @@ -47,7 +47,7 @@ FadeInCreditsText: DisplayCreditsMon: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call SaveScreenTilesToBuffer1 call FillMiddleOfScreenWithWhite @@ -67,7 +67,7 @@ DisplayCreditsMon: ld hl, vBGMap0 + $c call CreditsCopyTileMapToVRAM xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call LoadScreenTilesFromBuffer1 ld hl, vBGMap0 call CreditsCopyTileMapToVRAM @@ -104,7 +104,7 @@ DisplayCreditsMon: ld [rBGP], a ret -INCLUDE "data/credit_mons.asm" +INCLUDE "data/credits/credits_mons.asm" ScrollCreditsMonLeft: ld h, b @@ -138,11 +138,11 @@ HoFGBPalettes: CreditsCopyTileMapToVRAM: ld a, l - ld [H_AUTOBGTRANSFERDEST], a + ld [hAutoBGTransferDest], a ld a, h - ld [H_AUTOBGTRANSFERDEST + 1], a + ld [hAutoBGTransferDest + 1], a ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a jp Delay3 ZeroMemory: @@ -261,9 +261,9 @@ TheEndTextString: db $60," ",$62," ",$64," ",$64," ",$66," ",$68,"@" db $61," ",$63," ",$65," ",$65," ",$67," ",$69,"@" -INCLUDE "data/credits_order.asm" +INCLUDE "data/credits/credits_order.asm" -INCLUDE "text/credits_text.asm" +INCLUDE "data/credits/credits_text.asm" TheEndGfx: INCBIN "gfx/intro_credits/the_end.2bpp" diff --git a/engine/movie/evolution.asm b/engine/movie/evolution.asm index 731735c5..1e3aaad4 100755 --- a/engine/movie/evolution.asm +++ b/engine/movie/evolution.asm @@ -9,16 +9,16 @@ EvolveMon: xor a ld [wLowHealthAlarm], a ld [wChannelSoundIDs + Ch5], a - dec a + dec a ; SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, SFX_TINK call PlaySound call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld [hTilesetType], a ld a, [wEvoOldSpecies] ld [wWholeScreenPaletteMonSpecies], a @@ -37,7 +37,7 @@ EvolveMon: ld [wd0b5], a call Evolution_LoadPic ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, [wEvoOldSpecies] call PlayCry call WaitForSoundToFinish @@ -67,7 +67,7 @@ EvolveMon: ld a, [wEvoNewSpecies] .done ld [wWholeScreenPaletteMonSpecies], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld a, [wWholeScreenPaletteMonSpecies] @@ -117,7 +117,7 @@ Evolution_BackAndForthAnim: Evolution_ChangeMonPic: push bc xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 7, 2 lb bc, 7, 7 ld de, SCREEN_WIDTH - 7 @@ -134,7 +134,7 @@ Evolution_ChangeMonPic: dec b jr nz, .loop ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 pop bc ret diff --git a/engine/movie/hall_of_fame.asm b/engine/movie/hall_of_fame.asm index 3c9b1723..d874b2fd 100755 --- a/engine/movie/hall_of_fame.asm +++ b/engine/movie/hall_of_fame.asm @@ -24,7 +24,7 @@ AnimateHallOfFame: ld [wLetterPrintingDelayFlags], a ; no delay ld [wHoFMonOrPlayer], a ; mon inc a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld hl, wNumHoFTeams ld a, [hl] inc a diff --git a/engine/movie/intro.asm b/engine/movie/intro.asm index 9a13c96f..a8151ab4 100755 --- a/engine/movie/intro.asm +++ b/engine/movie/intro.asm @@ -14,13 +14,13 @@ PlayIntro: xor a ld [hJoyHeld], a inc a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call PlayShootingStar call PlayIntroScene call GBFadeOutToWhite xor a ld [hSCX], a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearSprites call DelayFrame ret diff --git a/engine/movie/oak_speech/oak_speech.asm b/engine/movie/oak_speech/oak_speech.asm index b1acfb65..578cf3b2 100755 --- a/engine/movie/oak_speech/oak_speech.asm +++ b/engine/movie/oak_speech/oak_speech.asm @@ -32,8 +32,8 @@ SetDefaultNames: jp CopyData OakSpeech: - ld a, $FF - call PlaySound ; stop music + ld a, SFX_STOP_ALL_MUSIC + call PlaySound ld a, BANK(Music_Routes2) ld c, a ld a, MUSIC_ROUTES2 @@ -57,7 +57,7 @@ OakSpeech: bit 1, a ; possibly a debug mode bit jp nz, .skipChoosingNames ld de, ProfOakPic - lb bc, Bank(ProfOakPic), $00 + lb bc, BANK(ProfOakPic), $00 call IntroDisplayPicCenteredOrUpperRight call FadeInIntroPic ld hl, OakSpeechText1 @@ -76,7 +76,7 @@ OakSpeech: call GBFadeOutToWhite call ClearScreen ld de, RedPicFront - lb bc, Bank(RedPicFront), $00 + lb bc, BANK(RedPicFront), $00 call IntroDisplayPicCenteredOrUpperRight call MovePicLeft ld hl, IntroducePlayerText @@ -85,7 +85,7 @@ OakSpeech: call GBFadeOutToWhite call ClearScreen ld de, Rival1Pic - lb bc, Bank(Rival1Pic), $00 + lb bc, BANK(Rival1Pic), $00 call IntroDisplayPicCenteredOrUpperRight call FadeInIntroPic ld hl, IntroduceRivalText @@ -95,7 +95,7 @@ OakSpeech: call GBFadeOutToWhite call ClearScreen ld de, RedPicFront - lb bc, Bank(RedPicFront), $00 + lb bc, BANK(RedPicFront), $00 call IntroDisplayPicCenteredOrUpperRight call GBFadeInFromWhite ld a, [wd72d] @@ -104,12 +104,12 @@ OakSpeech: ld hl, OakSpeechText3 call PrintText .next - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, SFX_SHRINK call PlaySound pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld c, 4 call DelayFrames @@ -126,18 +126,18 @@ OakSpeech: lb bc, BANK(ShrinkPic2), $00 call IntroDisplayPicCenteredOrUpperRight call ResetPlayerSpriteData - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(Music_PalletTown) ld [wAudioROMBank], a ld [wAudioSavedROMBank], a ld a, 10 ld [wAudioFadeOutControl], a - ld a, $FF + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a - call PlaySound ; stop music + call PlaySound pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld c, 20 call DelayFrames diff --git a/engine/movie/oak_speech/oak_speech2.asm b/engine/movie/oak_speech/oak_speech2.asm index fdc9ffa3..8c4a896b 100755 --- a/engine/movie/oak_speech/oak_speech2.asm +++ b/engine/movie/oak_speech/oak_speech2.asm @@ -107,7 +107,7 @@ OakSpeechSlidePicCommon: ld e, l .loop xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, [hSlideDirection] and a jr nz, .slideLeft @@ -134,7 +134,7 @@ OakSpeechSlidePicCommon: ld [hl], a .next3 ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 ld a, [hSlidingRegionSize] ld c, a @@ -187,7 +187,7 @@ DisplayIntroNameTextBox: .namestring db "NAME@" -INCLUDE "text/player_names.asm" +INCLUDE "data/player_names.asm" GetDefaultName: ; a = name index @@ -213,7 +213,7 @@ GetDefaultName: ld bc, $14 jp CopyData -INCLUDE "text/player_names_list.asm" +INCLUDE "data/player_names_list.asm" TextTerminator_6b20: db "@" diff --git a/engine/movie/title.asm b/engine/movie/title.asm new file mode 100755 index 00000000..9cbe5494 --- /dev/null +++ b/engine/movie/title.asm @@ -0,0 +1,403 @@ +; copy text of fixed length NAME_LENGTH (like player name, rival name, mon names, ...) +CopyFixedLengthText: + ld bc, NAME_LENGTH + jp CopyData + +SetDefaultNamesBeforeTitlescreen:: + ld hl, NintenText + ld de, wPlayerName + call CopyFixedLengthText + ld hl, SonyText + ld de, wRivalName + call CopyFixedLengthText + xor a + ld [hWY], a + ld [wLetterPrintingDelayFlags], a + ld hl, wd732 + ld [hli], a + ld [hli], a + ld [hl], a + ld a, BANK(Music_TitleScreen) + ld [wAudioROMBank], a + ld [wAudioSavedROMBank], a + +DisplayTitleScreen: + call GBPalWhiteOut + ld a, $1 + ld [hAutoBGTransferEnabled], a + xor a + ld [hTilesetType], a + ld [hSCX], a + ld a, $40 + ld [hSCY], a + ld a, $90 + ld [hWY], a + call ClearScreen + call DisableLCD + call LoadFontTilePatterns + ld hl, NintendoCopyrightLogoGraphics + ld de, vTitleLogo2 + $100 + ld bc, $50 + ld a, BANK(NintendoCopyrightLogoGraphics) + call FarCopyData2 + ld hl, GamefreakLogoGraphics + ld de, vTitleLogo2 + $100 + $50 + ld bc, $90 + ld a, BANK(GamefreakLogoGraphics) + call FarCopyData2 + ld hl, PokemonLogoGraphics + ld de, vTitleLogo + ld bc, $600 + ld a, BANK(PokemonLogoGraphics) + call FarCopyData2 ; first chunk + ld hl, PokemonLogoGraphics+$600 + ld de, vTitleLogo2 + ld bc, $100 + ld a, BANK(PokemonLogoGraphics) + call FarCopyData2 ; second chunk + ld hl, Version_GFX + ld de, vChars2 + $600 - (Version_GFXEnd - Version_GFX - $50) + ld bc, Version_GFXEnd - Version_GFX + ld a, BANK(Version_GFX) + call FarCopyDataDouble + call ClearBothBGMaps + +; place tiles for pokemon logo (except for the last row) + coord hl, 2, 1 + ld a, $80 + ld de, SCREEN_WIDTH + ld c, 6 +.pokemonLogoTileLoop + ld b, $10 + push hl +.pokemonLogoTileRowLoop ; place tiles for one row + ld [hli], a + inc a + dec b + jr nz, .pokemonLogoTileRowLoop + pop hl + add hl, de + dec c + jr nz, .pokemonLogoTileLoop + +; place tiles for the last row of the pokemon logo + coord hl, 2, 7 + ld a, $31 + ld b, $10 +.pokemonLogoLastTileRowLoop + ld [hli], a + inc a + dec b + jr nz, .pokemonLogoLastTileRowLoop + + call DrawPlayerCharacter + +; put a pokeball in the player's hand + ld hl, wOAMBuffer + $28 + ld a, $74 + ld [hl], a + +; place tiles for title screen copyright + coord hl, 2, 17 + ld de, .tileScreenCopyrightTiles + ld b, $10 +.tileScreenCopyrightTilesLoop + ld a, [de] + ld [hli], a + inc de + dec b + jr nz, .tileScreenCopyrightTilesLoop + + jr .next + +.tileScreenCopyrightTiles + db $41,$42,$43,$42,$44,$42,$45,$46,$47,$48,$49,$4A,$4B,$4C,$4D,$4E ; ©'95.'96.'98 GAME FREAK inc. + +.next + call SaveScreenTilesToBuffer2 + call LoadScreenTilesFromBuffer2 + call EnableLCD +IF DEF(_RED) + ld a, CHARMANDER ; which Pokemon to show first on the title screen +ENDC +IF DEF(_BLUE) + ld a, SQUIRTLE ; which Pokemon to show first on the title screen +ENDC + + ld [wTitleMonSpecies], a + call LoadTitleMonSprite + ld a, (vBGMap0 + $300) / $100 + call TitleScreenCopyTileMapToVRAM + call SaveScreenTilesToBuffer1 + ld a, $40 + ld [hWY], a + call LoadScreenTilesFromBuffer2 + ld a, vBGMap0 / $100 + call TitleScreenCopyTileMapToVRAM + ld b, SET_PAL_TITLE_SCREEN + call RunPaletteCommand + call GBPalNormal + ld a, %11100100 + ld [rOBP0], a + +; make pokemon logo bounce up and down + ld bc, hSCY ; background scroll Y + ld hl, .TitleScreenPokemonLogoYScrolls +.bouncePokemonLogoLoop + ld a, [hli] + and a + jr z, .finishedBouncingPokemonLogo + ld d, a + cp -3 + jr nz, .skipPlayingSound + ld a, SFX_INTRO_CRASH + call PlaySound +.skipPlayingSound + ld a, [hli] + ld e, a + call .ScrollTitleScreenPokemonLogo + jr .bouncePokemonLogoLoop + +.TitleScreenPokemonLogoYScrolls: +; Controls the bouncing effect of the Pokemon logo on the title screen + db -4,16 ; y scroll amount, number of times to scroll + db 3,4 + db -3,4 + db 2,2 + db -2,2 + db 1,2 + db -1,2 + db 0 ; terminate list with 0 + +.ScrollTitleScreenPokemonLogo: +; Scrolls the Pokemon logo on the title screen to create the bouncing effect +; Scrolls d pixels e times + call DelayFrame + ld a, [bc] ; background scroll Y + add d + ld [bc], a + dec e + jr nz, .ScrollTitleScreenPokemonLogo + ret + +.finishedBouncingPokemonLogo + call LoadScreenTilesFromBuffer1 + ld c, 36 + call DelayFrames + ld a, SFX_INTRO_WHOOSH + call PlaySound + +; scroll game version in from the right + call PrintGameVersionOnTitleScreen + ld a, SCREEN_HEIGHT_PIXELS + ld [hWY], a + ld d, 144 +.scrollTitleScreenGameVersionLoop + ld h, d + ld l, 64 + call ScrollTitleScreenGameVersion + ld h, 0 + ld l, 80 + call ScrollTitleScreenGameVersion + ld a, d + add 4 + ld d, a + and a + jr nz, .scrollTitleScreenGameVersionLoop + + ld a, vBGMap1 / $100 + call TitleScreenCopyTileMapToVRAM + call LoadScreenTilesFromBuffer2 + call PrintGameVersionOnTitleScreen + call Delay3 + call WaitForSoundToFinish + ld a, MUSIC_TITLE_SCREEN + ld [wNewSoundID], a + call PlaySound + xor a + ld [wUnusedCC5B], a + +; Keep scrolling in new mons indefinitely until the user performs input. +.awaitUserInterruptionLoop + ld c, 200 + call CheckForUserInterruption + jr c, .finishedWaiting + call TitleScreenScrollInMon + ld c, 1 + call CheckForUserInterruption + jr c, .finishedWaiting + callba TitleScreenAnimateBallIfStarterOut + call TitleScreenPickNewMon + jr .awaitUserInterruptionLoop + +.finishedWaiting + ld a, [wTitleMonSpecies] + call PlayCry + call WaitForSoundToFinish + call GBPalWhiteOutWithDelay3 + call ClearSprites + xor a + ld [hWY], a + inc a + ld [hAutoBGTransferEnabled], a + call ClearScreen + ld a, vBGMap0 / $100 + call TitleScreenCopyTileMapToVRAM + ld a, vBGMap1 / $100 + call TitleScreenCopyTileMapToVRAM + call Delay3 + call LoadGBPal + ld a, [hJoyHeld] + ld b, a + and D_UP | SELECT | B_BUTTON + cp D_UP | SELECT | B_BUTTON + jp z, .doClearSaveDialogue + jp MainMenu + +.doClearSaveDialogue + jpba DoClearSaveDialogue + +TitleScreenPickNewMon: + ld a, vBGMap0 / $100 + call TitleScreenCopyTileMapToVRAM + +.loop +; Keep looping until a mon different from the current one is picked. + call Random + and $f + ld c, a + ld b, 0 + ld hl, TitleMons + add hl, bc + ld a, [hl] + ld hl, wTitleMonSpecies + +; Can't be the same as before. + cp [hl] + jr z, .loop + + ld [hl], a + call LoadTitleMonSprite + + ld a, $90 + ld [hWY], a + ld d, 1 ; scroll out + callba TitleScroll + ret + +TitleScreenScrollInMon: + ld d, 0 ; scroll in + callba TitleScroll + xor a + ld [hWY], a + ret + +ScrollTitleScreenGameVersion: +.wait + ld a, [rLY] + cp l + jr nz, .wait + + ld a, h + ld [rSCX], a + +.wait2 + ld a, [rLY] + cp h + jr z, .wait2 + ret + +DrawPlayerCharacter: + ld hl, PlayerCharacterTitleGraphics + ld de, vSprites + ld bc, PlayerCharacterTitleGraphicsEnd - PlayerCharacterTitleGraphics + ld a, BANK(PlayerCharacterTitleGraphics) + call FarCopyData2 + call ClearSprites + xor a + ld [wPlayerCharacterOAMTile], a + ld hl, wOAMBuffer + lb de, $60, $5a + ld b, 7 +.loop + push de + ld c, 5 +.innerLoop + ld a, d + ld [hli], a ; Y + ld a, e + ld [hli], a ; X + add 8 + ld e, a + ld a, [wPlayerCharacterOAMTile] + ld [hli], a ; tile + inc a + ld [wPlayerCharacterOAMTile], a + inc hl + dec c + jr nz, .innerLoop + pop de + ld a, 8 + add d + ld d, a + dec b + jr nz, .loop + ret + +ClearBothBGMaps: + ld hl, vBGMap0 + ld bc, $400 * 2 + ld a, " " + jp FillMemory + +LoadTitleMonSprite: + ld [wcf91], a + ld [wd0b5], a + coord hl, 5, 10 + call GetMonHeader + jp LoadFrontSpriteByMonIndex + +TitleScreenCopyTileMapToVRAM: + ld [hAutoBGTransferDest + 1], a + jp Delay3 + +LoadCopyrightAndTextBoxTiles: + xor a + ld [hWY], a + call ClearScreen + call LoadTextBoxTilePatterns + +LoadCopyrightTiles: + ld de, NintendoCopyrightLogoGraphics + ld hl, vChars2 + $600 + lb bc, BANK(NintendoCopyrightLogoGraphics), (GamefreakLogoGraphicsEnd - NintendoCopyrightLogoGraphics) / $10 + call CopyVideoData + coord hl, 2, 7 + ld de, CopyrightTextString + jp PlaceString + +CopyrightTextString: + db $60,$61,$62,$61,$63,$61,$64,$7F,$65,$66,$67,$68,$69,$6A ; ©'95.'96.'98 Nintendo + next $60,$61,$62,$61,$63,$61,$64,$7F,$6B,$6C,$6D,$6E,$6F,$70,$71,$72 ; ©'95.'96.'98 Creatures inc. + next $60,$61,$62,$61,$63,$61,$64,$7F,$73,$74,$75,$76,$77,$78,$79,$7A,$7B ; ©'95.'96.'98 GAME FREAK inc. + db "@" + +INCLUDE "data/pokemon/title_mons.asm" + +; prints version text (red, blue) +PrintGameVersionOnTitleScreen: + coord hl, 7, 8 + ld de, VersionOnTitleScreenText + jp PlaceString + +; these point to special tiles specifically loaded for that purpose and are not usual text +VersionOnTitleScreenText: +IF DEF(_RED) + db $60,$61,$7F,$65,$66,$67,$68,$69,"@" ; "Red Version" +ENDC +IF DEF(_BLUE) + db $61,$62,$63,$64,$65,$66,$67,$68,"@" ; "Blue Version" +ENDC + +NintenText: db "NINTEN@" +SonyText: db "SONY@" diff --git a/engine/movie/titlescreen2.asm b/engine/movie/title2.asm index 2346fcc5..2346fcc5 100755 --- a/engine/movie/titlescreen2.asm +++ b/engine/movie/title2.asm diff --git a/engine/movie/titlescreen.asm b/engine/movie/titlescreen.asm deleted file mode 100755 index c30f83a9..00000000 --- a/engine/movie/titlescreen.asm +++ /dev/null @@ -1,403 +0,0 @@ -; copy text of fixed length NAME_LENGTH (like player name, rival name, mon names, ...) -CopyFixedLengthText: - ld bc, NAME_LENGTH - jp CopyData - -SetDefaultNamesBeforeTitlescreen:: - ld hl, NintenText - ld de, wPlayerName - call CopyFixedLengthText - ld hl, SonyText - ld de, wRivalName - call CopyFixedLengthText - xor a - ld [hWY], a - ld [wLetterPrintingDelayFlags], a - ld hl, wd732 - ld [hli], a - ld [hli], a - ld [hl], a - ld a, BANK(Music_TitleScreen) - ld [wAudioROMBank], a - ld [wAudioSavedROMBank], a - -DisplayTitleScreen: - call GBPalWhiteOut - ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a - xor a - ld [hTilesetType], a - ld [hSCX], a - ld a, $40 - ld [hSCY], a - ld a, $90 - ld [hWY], a - call ClearScreen - call DisableLCD - call LoadFontTilePatterns - ld hl, NintendoCopyrightLogoGraphics - ld de, vTitleLogo2 + $100 - ld bc, $50 - ld a, BANK(NintendoCopyrightLogoGraphics) - call FarCopyData2 - ld hl, GamefreakLogoGraphics - ld de, vTitleLogo2 + $100 + $50 - ld bc, $90 - ld a, BANK(GamefreakLogoGraphics) - call FarCopyData2 - ld hl, PokemonLogoGraphics - ld de, vTitleLogo - ld bc, $600 - ld a, BANK(PokemonLogoGraphics) - call FarCopyData2 ; first chunk - ld hl, PokemonLogoGraphics+$600 - ld de, vTitleLogo2 - ld bc, $100 - ld a, BANK(PokemonLogoGraphics) - call FarCopyData2 ; second chunk - ld hl, Version_GFX - ld de, vChars2 + $600 - (Version_GFXEnd - Version_GFX - $50) - ld bc, Version_GFXEnd - Version_GFX - ld a, BANK(Version_GFX) - call FarCopyDataDouble - call ClearBothBGMaps - -; place tiles for pokemon logo (except for the last row) - coord hl, 2, 1 - ld a, $80 - ld de, SCREEN_WIDTH - ld c, 6 -.pokemonLogoTileLoop - ld b, $10 - push hl -.pokemonLogoTileRowLoop ; place tiles for one row - ld [hli], a - inc a - dec b - jr nz, .pokemonLogoTileRowLoop - pop hl - add hl, de - dec c - jr nz, .pokemonLogoTileLoop - -; place tiles for the last row of the pokemon logo - coord hl, 2, 7 - ld a, $31 - ld b, $10 -.pokemonLogoLastTileRowLoop - ld [hli], a - inc a - dec b - jr nz, .pokemonLogoLastTileRowLoop - - call DrawPlayerCharacter - -; put a pokeball in the player's hand - ld hl, wOAMBuffer + $28 - ld a, $74 - ld [hl], a - -; place tiles for title screen copyright - coord hl, 2, 17 - ld de, .tileScreenCopyrightTiles - ld b, $10 -.tileScreenCopyrightTilesLoop - ld a, [de] - ld [hli], a - inc de - dec b - jr nz, .tileScreenCopyrightTilesLoop - - jr .next - -.tileScreenCopyrightTiles - db $41,$42,$43,$42,$44,$42,$45,$46,$47,$48,$49,$4A,$4B,$4C,$4D,$4E ; ©'95.'96.'98 GAME FREAK inc. - -.next - call SaveScreenTilesToBuffer2 - call LoadScreenTilesFromBuffer2 - call EnableLCD -IF DEF(_RED) - ld a, CHARMANDER ; which Pokemon to show first on the title screen -ENDC -IF DEF(_BLUE) - ld a, SQUIRTLE ; which Pokemon to show first on the title screen -ENDC - - ld [wTitleMonSpecies], a - call LoadTitleMonSprite - ld a, (vBGMap0 + $300) / $100 - call TitleScreenCopyTileMapToVRAM - call SaveScreenTilesToBuffer1 - ld a, $40 - ld [hWY], a - call LoadScreenTilesFromBuffer2 - ld a, vBGMap0 / $100 - call TitleScreenCopyTileMapToVRAM - ld b, SET_PAL_TITLE_SCREEN - call RunPaletteCommand - call GBPalNormal - ld a, %11100100 - ld [rOBP0], a - -; make pokemon logo bounce up and down - ld bc, hSCY ; background scroll Y - ld hl, .TitleScreenPokemonLogoYScrolls -.bouncePokemonLogoLoop - ld a, [hli] - and a - jr z, .finishedBouncingPokemonLogo - ld d, a - cp -3 - jr nz, .skipPlayingSound - ld a, SFX_INTRO_CRASH - call PlaySound -.skipPlayingSound - ld a, [hli] - ld e, a - call .ScrollTitleScreenPokemonLogo - jr .bouncePokemonLogoLoop - -.TitleScreenPokemonLogoYScrolls: -; Controls the bouncing effect of the Pokemon logo on the title screen - db -4,16 ; y scroll amount, number of times to scroll - db 3,4 - db -3,4 - db 2,2 - db -2,2 - db 1,2 - db -1,2 - db 0 ; terminate list with 0 - -.ScrollTitleScreenPokemonLogo: -; Scrolls the Pokemon logo on the title screen to create the bouncing effect -; Scrolls d pixels e times - call DelayFrame - ld a, [bc] ; background scroll Y - add d - ld [bc], a - dec e - jr nz, .ScrollTitleScreenPokemonLogo - ret - -.finishedBouncingPokemonLogo - call LoadScreenTilesFromBuffer1 - ld c, 36 - call DelayFrames - ld a, SFX_INTRO_WHOOSH - call PlaySound - -; scroll game version in from the right - call PrintGameVersionOnTitleScreen - ld a, SCREEN_HEIGHT_PIXELS - ld [hWY], a - ld d, 144 -.scrollTitleScreenGameVersionLoop - ld h, d - ld l, 64 - call ScrollTitleScreenGameVersion - ld h, 0 - ld l, 80 - call ScrollTitleScreenGameVersion - ld a, d - add 4 - ld d, a - and a - jr nz, .scrollTitleScreenGameVersionLoop - - ld a, vBGMap1 / $100 - call TitleScreenCopyTileMapToVRAM - call LoadScreenTilesFromBuffer2 - call PrintGameVersionOnTitleScreen - call Delay3 - call WaitForSoundToFinish - ld a, MUSIC_TITLE_SCREEN - ld [wNewSoundID], a - call PlaySound - xor a - ld [wUnusedCC5B], a - -; Keep scrolling in new mons indefinitely until the user performs input. -.awaitUserInterruptionLoop - ld c, 200 - call CheckForUserInterruption - jr c, .finishedWaiting - call TitleScreenScrollInMon - ld c, 1 - call CheckForUserInterruption - jr c, .finishedWaiting - callba TitleScreenAnimateBallIfStarterOut - call TitleScreenPickNewMon - jr .awaitUserInterruptionLoop - -.finishedWaiting - ld a, [wTitleMonSpecies] - call PlayCry - call WaitForSoundToFinish - call GBPalWhiteOutWithDelay3 - call ClearSprites - xor a - ld [hWY], a - inc a - ld [H_AUTOBGTRANSFERENABLED], a - call ClearScreen - ld a, vBGMap0 / $100 - call TitleScreenCopyTileMapToVRAM - ld a, vBGMap1 / $100 - call TitleScreenCopyTileMapToVRAM - call Delay3 - call LoadGBPal - ld a, [hJoyHeld] - ld b, a - and D_UP | SELECT | B_BUTTON - cp D_UP | SELECT | B_BUTTON - jp z, .doClearSaveDialogue - jp MainMenu - -.doClearSaveDialogue - jpba DoClearSaveDialogue - -TitleScreenPickNewMon: - ld a, vBGMap0 / $100 - call TitleScreenCopyTileMapToVRAM - -.loop -; Keep looping until a mon different from the current one is picked. - call Random - and $f - ld c, a - ld b, 0 - ld hl, TitleMons - add hl, bc - ld a, [hl] - ld hl, wTitleMonSpecies - -; Can't be the same as before. - cp [hl] - jr z, .loop - - ld [hl], a - call LoadTitleMonSprite - - ld a, $90 - ld [hWY], a - ld d, 1 ; scroll out - callba TitleScroll - ret - -TitleScreenScrollInMon: - ld d, 0 ; scroll in - callba TitleScroll - xor a - ld [hWY], a - ret - -ScrollTitleScreenGameVersion: -.wait - ld a, [rLY] - cp l - jr nz, .wait - - ld a, h - ld [rSCX], a - -.wait2 - ld a, [rLY] - cp h - jr z, .wait2 - ret - -DrawPlayerCharacter: - ld hl, PlayerCharacterTitleGraphics - ld de, vSprites - ld bc, PlayerCharacterTitleGraphicsEnd - PlayerCharacterTitleGraphics - ld a, BANK(PlayerCharacterTitleGraphics) - call FarCopyData2 - call ClearSprites - xor a - ld [wPlayerCharacterOAMTile], a - ld hl, wOAMBuffer - ld de, $605a - ld b, 7 -.loop - push de - ld c, 5 -.innerLoop - ld a, d - ld [hli], a ; Y - ld a, e - ld [hli], a ; X - add 8 - ld e, a - ld a, [wPlayerCharacterOAMTile] - ld [hli], a ; tile - inc a - ld [wPlayerCharacterOAMTile], a - inc hl - dec c - jr nz, .innerLoop - pop de - ld a, 8 - add d - ld d, a - dec b - jr nz, .loop - ret - -ClearBothBGMaps: - ld hl, vBGMap0 - ld bc, $400 * 2 - ld a, " " - jp FillMemory - -LoadTitleMonSprite: - ld [wcf91], a - ld [wd0b5], a - coord hl, 5, 10 - call GetMonHeader - jp LoadFrontSpriteByMonIndex - -TitleScreenCopyTileMapToVRAM: - ld [H_AUTOBGTRANSFERDEST + 1], a - jp Delay3 - -LoadCopyrightAndTextBoxTiles: - xor a - ld [hWY], a - call ClearScreen - call LoadTextBoxTilePatterns - -LoadCopyrightTiles: - ld de, NintendoCopyrightLogoGraphics - ld hl, vChars2 + $600 - lb bc, BANK(NintendoCopyrightLogoGraphics), (GamefreakLogoGraphicsEnd - NintendoCopyrightLogoGraphics) / $10 - call CopyVideoData - coord hl, 2, 7 - ld de, CopyrightTextString - jp PlaceString - -CopyrightTextString: - db $60,$61,$62,$61,$63,$61,$64,$7F,$65,$66,$67,$68,$69,$6A ; ©'95.'96.'98 Nintendo - next $60,$61,$62,$61,$63,$61,$64,$7F,$6B,$6C,$6D,$6E,$6F,$70,$71,$72 ; ©'95.'96.'98 Creatures inc. - next $60,$61,$62,$61,$63,$61,$64,$7F,$73,$74,$75,$76,$77,$78,$79,$7A,$7B ; ©'95.'96.'98 GAME FREAK inc. - db "@" - -INCLUDE "data/title_mons.asm" - -; prints version text (red, blue) -PrintGameVersionOnTitleScreen: - coord hl, 7, 8 - ld de, VersionOnTitleScreenText - jp PlaceString - -; these point to special tiles specifically loaded for that purpose and are not usual text -VersionOnTitleScreenText: -IF DEF(_RED) - db $60,$61,$7F,$65,$66,$67,$68,$69,"@" ; "Red Version" -ENDC -IF DEF(_BLUE) - db $61,$62,$63,$64,$65,$66,$67,$68,"@" ; "Blue Version" -ENDC - -NintenText: db "NINTEN@" -SonyText: db "SONY@" diff --git a/engine/movie/trade.asm b/engine/movie/trade.asm index 8bc8e3bc..6af6f2e3 100755 --- a/engine/movie/trade.asm +++ b/engine/movie/trade.asm @@ -137,10 +137,10 @@ Trade_Delay100: Trade_CopyTileMapToVRAM: ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret Trade_Delay80: @@ -184,7 +184,7 @@ LoadTradingGFXAndMonNames: ld [rOBP0], a call EnableLCD xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, [wTradedPlayerMonSpecies] ld [wd11e], a call GetMonName @@ -231,7 +231,7 @@ Trade_ShowPlayerMon: ld [rWX], a ld [hSCX], a xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 4, 0 ld b, 6 ld c, 10 @@ -261,7 +261,7 @@ Trade_ShowPlayerMon: ld a, [wTradedPlayerMonSpecies] call PlayCry xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret Trade_DrawOpenEndOfLinkCable: @@ -336,13 +336,13 @@ Trade_AnimateBallEnteringLinkCable: .ballSpriteReachedEdgeOfScreen call ClearSprites ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearScreen ld b, $98 call CopyScreenTileBufferToVRAM call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret Trade_BallInsideLinkCableOAM: @@ -360,13 +360,13 @@ Trade_ShowEnemyMon: call Trade_PrintEnemyMonInfoText call Trade_CopyTileMapToVRAM ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, [wTradedEnemyMonSpecies] call Trade_LoadMonSprite ld a, TRADE_BALL_POOF_ANIM call Trade_ShowAnimation ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, [wTradedEnemyMonSpecies] call PlayCry call Trade_Delay100 @@ -397,7 +397,7 @@ Trade_AnimLeftToRight: ld b, $6 call Trade_AnimMonMoveHorizontal ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Trade_DrawCableAcrossScreen ld b, $4 call Trade_AnimMonMoveHorizontal @@ -405,7 +405,7 @@ Trade_AnimLeftToRight: ld b, $6 call Trade_AnimMonMoveHorizontal xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Trade_AnimMonMoveVertical jp ClearSprites @@ -430,7 +430,7 @@ Trade_AnimRightToLeft: ld b, $6 call Trade_AnimMonMoveHorizontal ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Trade_DrawCableAcrossScreen ld b, $4 call Trade_AnimMonMoveHorizontal @@ -438,16 +438,16 @@ Trade_AnimRightToLeft: ld b, $6 call Trade_AnimMonMoveHorizontal xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a jp ClearSprites Trade_InitGameboyTransferGfx: ; Initialises the graphics for showing a mon moving between gameboys. ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearScreen xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Trade_LoadMonPartySpriteGfx call DelayFrame ld a, %10101011 @@ -731,9 +731,9 @@ Trade_LoadMonSprite: ld b, SET_PAL_POKEMON_WHOLE_SCREEN ld c, 0 call RunPaletteCommand - ld a, [H_AUTOBGTRANSFERENABLED] + ld a, [hAutoBGTransferEnabled] xor $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call GetMonHeader coord hl, 7, 2 call LoadFlippedFrontSpriteByMonIndex @@ -743,7 +743,7 @@ Trade_LoadMonSprite: Trade_ShowClearedWindow: ; clears the window and covers the BG entirely with the window ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call ClearScreen ld a, %11100011 ld [rLCDC], a diff --git a/engine/overworld/auto_movement.asm b/engine/overworld/auto_movement.asm index e478c9ad..421e3180 100755 --- a/engine/overworld/auto_movement.asm +++ b/engine/overworld/auto_movement.asm @@ -66,7 +66,7 @@ PalletMovementScript_OakMoveLeft: call FillMemory ld [hl], $ff ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, wNPCMovementDirections2 call MoveSprite ld a, $1 @@ -282,7 +282,7 @@ FreezeEnemyTrainerSprite:: jr .loop .notRival ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a jp SetSpriteMovementBytesToFF RivalIDs: diff --git a/engine/overworld/clear_variables.asm b/engine/overworld/clear_variables.asm index 32dc85cd..b5a1f4a0 100644 --- a/engine/overworld/clear_variables.asm +++ b/engine/overworld/clear_variables.asm @@ -3,7 +3,7 @@ ClearVariablesOnEnterMap:: ld [hWY], a ld [rWY], a xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld [wStepCounter], a ld [wLoneAttackNo], a ld [hJoyPressed], a diff --git a/engine/overworld/cut.asm b/engine/overworld/cut.asm index f61ca65f..c75fbbb6 100755 --- a/engine/overworld/cut.asm +++ b/engine/overworld/cut.asm @@ -248,4 +248,4 @@ ReplaceTreeTileBlock: ld [hl], a ret -INCLUDE "data/cut_tree_blocks.asm" +INCLUDE "data/tilesets/cut_tree_blocks.asm" diff --git a/engine/overworld/doors.asm b/engine/overworld/doors.asm index 1339430a..ed893773 100755 --- a/engine/overworld/doors.asm +++ b/engine/overworld/doors.asm @@ -25,4 +25,4 @@ IsPlayerStandingOnDoorTile: and a ret -INCLUDE "data/door_tile_ids.asm" +INCLUDE "data/tilesets/door_tile_ids.asm" diff --git a/engine/overworld/elevator.asm b/engine/overworld/elevator.asm index d36e2f2c..05ca08c9 100755 --- a/engine/overworld/elevator.asm +++ b/engine/overworld/elevator.asm @@ -4,7 +4,7 @@ ShakeElevator:: ld de, SCREEN_HEIGHT * $20 call ShakeElevatorRedrawRow call Delay3 - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC call PlaySound ld a, [hSCY] ld d, a @@ -27,7 +27,7 @@ ShakeElevator:: jr nz, .shakeLoop ld a, d ld [hSCY], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC call PlaySound ld c, BANK(SFX_Safari_Zone_PA) ld a, SFX_SAFARI_ZONE_PA diff --git a/engine/overworld/healing_machine.asm b/engine/overworld/healing_machine.asm index 510f963b..836af44d 100755 --- a/engine/overworld/healing_machine.asm +++ b/engine/overworld/healing_machine.asm @@ -17,7 +17,7 @@ AnimateHealingMachine: call CopyHealingMachineOAM ld a, 4 ld [wAudioFadeOutControl], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound .waitLoop @@ -38,7 +38,7 @@ AnimateHealingMachine: cp BANK(Audio3_UpdateMusic) ld [wAudioSavedROMBank], a jr nz, .next - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld a, BANK(Music_PkmnHealed) diff --git a/engine/overworld/hidden_objects.asm b/engine/overworld/hidden_objects.asm index c93f2e1b..a19694e0 100755 --- a/engine/overworld/hidden_objects.asm +++ b/engine/overworld/hidden_objects.asm @@ -14,14 +14,14 @@ IsPlayerOnDungeonWarp:: set 4, [hl] ret -; if a hidden object was found, stores $00 in [$ffee], else stores $ff +; if a hidden object was found, stores $00 in [hFoundHiddenObject], else stores $ff CheckForHiddenObject:: - ld hl, $ffeb + ld hl, hFoundHiddenObjectOrBookshelf xor a - ld [hli], a - ld [hli], a - ld [hli], a - ld [hl], a + ld [hli], a ; [hFoundHiddenObjectOrBookshelf] + ld [hli], a ; [hSavedMapTextPtr] + ld [hli], a ; [hSavedMapTextPtr + 1] + ld [hl], a ; [hFoundHiddenObject] ld de, $0 ld hl, HiddenObjectMaps .hiddenMapLoop @@ -81,7 +81,7 @@ CheckForHiddenObject:: ret .noMatch ld a, $ff - ld [$ffee], a + ld [hFoundHiddenObject], a ret ; checks if the coordinates in front of the player's sprite match Y in b and X in c @@ -130,4 +130,4 @@ CheckIfCoordsInFrontOfPlayerMatch: ld [hCoordsInFrontOfPlayerMatch], a ret -INCLUDE "data/hidden_objects.asm" +INCLUDE "data/events/hidden_objects.asm" diff --git a/engine/overworld/ledges.asm b/engine/overworld/ledges.asm index 290c8c80..c56914f6 100755 --- a/engine/overworld/ledges.asm +++ b/engine/overworld/ledges.asm @@ -54,7 +54,7 @@ HandleLedges:: call PlaySound ret -INCLUDE "data/ledge_tiles.asm" +INCLUDE "data/tilesets/ledge_tiles.asm" LoadHoppingShadowOAM: ld hl, vChars1 + $7f0 diff --git a/engine/overworld/map_sprites.asm b/engine/overworld/map_sprites.asm index 19e25435..904e9b04 100755 --- a/engine/overworld/map_sprites.asm +++ b/engine/overworld/map_sprites.asm @@ -133,8 +133,7 @@ LoadMapSpriteTilePatterns: jr nc, .fourTileSpriteVRAMAddr ld d, a dec d -; Equivalent to multiplying $C0 (number of bytes in 12 tiles) times the VRAM -; slot and adding the result to $8000 (the VRAM base address). +; vSprites += [hVRAMSlot] * $C0 (the number of bytes in 12 tiles) .calculateVRAMAddrLoop add hl, bc dec d @@ -437,4 +436,6 @@ GetSplitMapSpriteSetID: ld a, $01 ret -INCLUDE "data/sprite_sets.asm" +INCLUDE "data/maps/sprite_sets.asm" + +INCLUDE "data/sprites/sprites.asm" diff --git a/engine/overworld/missable_objects.asm b/engine/overworld/missable_objects.asm index 7d6de545..a89fcb54 100644 --- a/engine/overworld/missable_objects.asm +++ b/engine/overworld/missable_objects.asm @@ -31,19 +31,19 @@ LoadMissableObjects: sub d ld h, a ld a, h - ld [H_DIVIDEND], a + ld [hDividend], a ld a, l - ld [H_DIVIDEND+1], a + ld [hDividend+1], a xor a - ld [H_DIVIDEND+2], a - ld [H_DIVIDEND+3], a + ld [hDividend+2], a + ld [hDividend+3], a ld a, $3 - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $2 call Divide ; divide difference by 3, resulting in the global offset (number of missable items before ours) ld a, [wCurMap] ld b, a - ld a, [H_DIVIDEND+3] + ld a, [hDividend+3] ld c, a ; store global offset in c ld de, wMissableObjectList pop hl @@ -99,7 +99,7 @@ InitializeMissableObjectsFlags: ; tests if current sprite is a missable object that is hidden/has been removed IsObjectHidden: - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] swap a ld b, a ld hl, wMissableObjectList @@ -120,7 +120,7 @@ IsObjectHidden: .notHidden xor a .hidden - ld [$ffe5], a + ld [hIsHiddenMissableObject], a ret ; adds missable object (items, leg. pokemon, etc.) to the map diff --git a/engine/overworld/movement.asm b/engine/overworld/movement.asm index f272f497..6c354779 100644 --- a/engine/overworld/movement.asm +++ b/engine/overworld/movement.asm @@ -63,7 +63,7 @@ UpdatePlayerSprite: ld a, [wd736] bit 7, a ; is the player sprite spinning due to a spin tile? jr nz, .skipSpriteAnim - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $7 ld l, a ld a, [hl] @@ -103,7 +103,7 @@ UpdatePlayerSprite: UnusedReadSpriteDataFunction: push bc push af - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] ld c, a pop af add c @@ -112,7 +112,7 @@ UnusedReadSpriteDataFunction: ret UpdateNPCSprite: - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] swap a dec a add a @@ -122,7 +122,7 @@ UpdateNPCSprite: ld a, [hl] ; read movement byte 2 ld [wCurSpriteMovement2], a ld h, $c1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] ld l, a inc l ld a, [hl] ; c1x1 @@ -131,7 +131,7 @@ UpdateNPCSprite: call CheckSpriteAvailability ret c ; if sprite is invisible, on tile >=MAP_TILESET_SIZE, in grass or player is currently walking ld h, $c1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] ld l, a inc l ld a, [hl] ; c1x1 @@ -151,7 +151,7 @@ UpdateNPCSprite: ret nz ; don't do anything yet if player is currently moving (redundant, already tested in CheckSpriteAvailability) call InitializeSpriteScreenPosition ld h, $c2 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $6 ld l, a ld a, [hl] ; c2x6: movement byte 1 @@ -264,11 +264,11 @@ ChangeFacingDirection: TryWalking: push hl ld h, $c1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $9 ld l, a ld [hl], c ; c1x9 (update facing direction) - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $3 ld l, a ld [hl], d ; c1x3 (update Y movement delta) @@ -282,7 +282,7 @@ TryWalking: pop de ret c ; cannot walk there (reinitialization of delay values already done) ld h, $c2 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $4 ld l, a ld a, [hl] ; c2x4: Y position @@ -291,7 +291,7 @@ TryWalking: ld a, [hl] ; c2x5: X position add e ld [hl], a ; update X position - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] ld l, a ld [hl], $10 ; c2x0=16: walk animation counter dec h @@ -301,7 +301,7 @@ TryWalking: ; update the walking animation parameters for a sprite that is currently walking UpdateSpriteInWalkingAnimation: - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $7 ld l, a ld a, [hl] ; c1x7 (counter until next walk animation frame) @@ -317,7 +317,7 @@ UpdateSpriteInWalkingAnimation: and $3 ld [hl], a ; advance to next animation frame every 4 ticks (16 ticks total for one step) .noNextAnimationFrame - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $3 ld l, a ld a, [hli] ; c1x3 (movement Y delta) @@ -330,7 +330,7 @@ UpdateSpriteInWalkingAnimation: ld a, [hl] ; c1x6 (screen X position) add b ld [hl], a ; update screen X position - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] ld l, a inc h ld a, [hl] ; c2x0 (walk animation counter) @@ -343,7 +343,7 @@ UpdateSpriteInWalkingAnimation: ld a, [hl] ; c2x6 (movement byte 1) cp $fe jr nc, .initNextMovementCounter ; values $fe and $ff - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] inc a ld l, a dec h @@ -351,14 +351,14 @@ UpdateSpriteInWalkingAnimation: ret .initNextMovementCounter call Random - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $8 ld l, a ld a, [hRandomAdd] and $7f ld [hl], a ; c2x8: set next movement delay to a random value in [0,$7f] dec h ; note that value 0 actually makes the delay $100 (bug?) - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] inc a ld l, a ld [hl], $2 ; c1x1 = 2 (movement status) @@ -375,7 +375,7 @@ UpdateSpriteInWalkingAnimation: ; update delay value (c2x8) for sprites in the delayed state (c1x1) UpdateSpriteMovementDelay: ld h, $c2 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $6 ld l, a ld a, [hl] ; c2x6: movement byte 1 @@ -390,13 +390,13 @@ UpdateSpriteMovementDelay: jr nz, notYetMoving .moving dec h - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] inc a ld l, a ld [hl], $1 ; c1x1 = 1 (mark as ready to move) notYetMoving: ld h, wSpriteStateData1 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $8 ld l, a ld [hl], $0 ; c1x8 = 0 (walk animation frame) @@ -429,7 +429,7 @@ MakeNPCFacePlayer: .notFacingRight ld c, SPRITE_FACING_LEFT .facingDirectionDetermined - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $9 ld l, a ld [hl], c ; c1x9: set facing direction @@ -440,7 +440,7 @@ InitializeSpriteStatus: inc l ld [hl], $ff ; $c1x2: set sprite image to $ff (invisible/off screen) inc h - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $2 ld l, a ld a, $8 @@ -451,7 +451,7 @@ InitializeSpriteStatus: ; calculates the sprite's screen position form its map position and the player position InitializeSpriteScreenPosition: ld h, wSpriteStateData2 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $4 ld l, a ld a, [wYCoord] @@ -475,17 +475,17 @@ InitializeSpriteScreenPosition: ; tests if sprite is off screen or otherwise unable to do anything CheckSpriteAvailability: predef IsObjectHidden - ld a, [$ffe5] + ld a, [hIsHiddenMissableObject] and a jp nz, .spriteInvisible ld h, wSpriteStateData2 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $6 ld l, a ld a, [hl] ; c2x6: movement byte 1 cp $fe jr c, .skipXVisibilityTest ; movement byte 1 < $fe (i.e. the sprite's movement is scripted) - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $4 ld l, a ld b, [hl] ; c2x4: Y pos (+4) @@ -527,7 +527,7 @@ CheckSpriteAvailability: jr c, .spriteVisible ; standing on tile with ID >=MAP_TILESET_SIZE (top right tile) .spriteInvisible ld h, wSpriteStateData1 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $2 ld l, a ld [hl], $ff ; c1x2 @@ -540,7 +540,7 @@ CheckSpriteAvailability: jr nz, .done ; if player is currently walking, we're done call UpdateSpriteImage inc h - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $7 ld l, a ld a, [wGrassTile] @@ -556,7 +556,7 @@ CheckSpriteAvailability: UpdateSpriteImage: ld h, $c1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $8 ld l, a ld a, [hli] ; c1x8: walk animation frame @@ -564,10 +564,10 @@ UpdateSpriteImage: ld a, [hl] ; c1x9: facing direction add b ld b, a - ld a, [$ff93] ; current sprite offset + ld a, [hTilePlayerStandingOn] add b ld b, a - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $2 ld l, a ld [hl], b ; c1x2: sprite to display @@ -581,7 +581,7 @@ UpdateSpriteImage: ; set carry on failure, clears carry on success CanWalkOntoTile: ld h, wSpriteStateData2 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $6 ld l, a ld a, [hl] ; c2x6 (movement byte 1) @@ -602,14 +602,14 @@ CanWalkOntoTile: cp c jr nz, .tilePassableLoop ld h, $c2 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $6 ld l, a ld a, [hl] ; $c2x6 (movement byte 1) inc a jr z, .impassable ; if $ff, no movement allowed (however, changing direction is) ld h, wSpriteStateData1 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $4 ld l, a ld a, [hli] ; c1x4 (screen Y pos) @@ -628,14 +628,14 @@ CanWalkOntoTile: pop bc pop de ld h, wSpriteStateData1 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $c ld l, a ld a, [hl] ; c1xc (directions in which sprite collision would occur) and b ; check against chosen direction (1,2,4 or 8) jr nz, .impassable ; collision between sprites, don't go there ld h, wSpriteStateData2 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $2 ld l, a ld a, [hli] ; c2x2 (sprite Y displacement, initialized at $8, keep track of where a sprite did go) @@ -666,7 +666,7 @@ CanWalkOntoTile: ret .impassable ld h, $c1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] inc a ld l, a ld [hl], $2 ; c1x1 = 2 (set movement status to delayed) @@ -677,7 +677,7 @@ CanWalkOntoTile: inc l ld [hl], a ; c1x5 = 0 (clear X movement delta) inc h - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $8 ld l, a call Random @@ -692,7 +692,7 @@ CanWalkOntoTile: ; hl: output pointer GetTileSpriteStandsOn: ld h, wSpriteStateData1 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $4 ld l, a ld a, [hli] ; c1x4: screen Y position @@ -784,7 +784,7 @@ DoScriptedNPCMovement: ld a, [hl] add b ld [hl], a - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $9 ld l, a ld a, c @@ -817,7 +817,7 @@ GetSpriteScreenXPointer: GetSpriteScreenXYPointerCommon: ld hl, wSpriteStateData1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add l add b ld l, a @@ -825,7 +825,7 @@ GetSpriteScreenXYPointerCommon: AnimScriptedNPCMovement: ld hl, wSpriteStateData2 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $e ld l, a ld a, [hl] ; VRAM slot @@ -833,7 +833,7 @@ AnimScriptedNPCMovement: swap a ld b, a ld hl, wSpriteStateData1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $9 ld l, a ld a, [hl] ; facing direction @@ -852,7 +852,7 @@ AnimScriptedNPCMovement: ld [hSpriteVRAMSlotAndFacing], a call AdvanceScriptedNPCAnimFrameCounter ld hl, wSpriteStateData1 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $2 ld l, a ld a, [hSpriteVRAMSlotAndFacing] @@ -863,7 +863,7 @@ AnimScriptedNPCMovement: ret AdvanceScriptedNPCAnimFrameCounter: - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $7 ld l, a ld a, [hl] ; intra-animation frame counter diff --git a/engine/overworld/player_animations.asm b/engine/overworld/player_animations.asm index 0ac4f3b2..a3f6e051 100755 --- a/engine/overworld/player_animations.asm +++ b/engine/overworld/player_animations.asm @@ -373,7 +373,7 @@ IsPlayerStandingOnWarpPadOrHole:: ld [wStandingOnWarpPadOrHole], a ret -INCLUDE "data/warp_pad_hole_tile_ids.asm" +INCLUDE "data/tilesets/warp_pad_hole_tile_ids.asm" FishingAnim: ld c, 10 diff --git a/engine/overworld/player_state.asm b/engine/overworld/player_state.asm index 23da664c..ea24fdc1 100644 --- a/engine/overworld/player_state.asm +++ b/engine/overworld/player_state.asm @@ -82,7 +82,7 @@ CheckForceBikeOrSurf:: ld [wWalkBikeSurfStateCopy], a jp ForceBikeOrSurf -INCLUDE "data/force_bike_surf.asm" +INCLUDE "data/maps/force_bike_surf.asm" IsPlayerFacingEdgeOfMap:: push hl @@ -176,7 +176,7 @@ IsWarpTileInFrontOfPlayer:: pop hl ret -INCLUDE "data/warp_carpet_tile_ids.asm" +INCLUDE "data/tilesets/warp_carpet_tile_ids.asm" IsSSAnneBowWarpTileInFrontOfPlayer: ld a, [wTileInFrontOfPlayer] @@ -215,7 +215,7 @@ IsPlayerStandingOnDoorTileOrWarpTile:: pop hl ret -INCLUDE "data/warp_tile_ids.asm" +INCLUDE "data/tilesets/warp_tile_ids.asm" PrintSafariZoneSteps:: ld a, [wCurMap] @@ -297,7 +297,7 @@ _GetTileAndCoordsInFrontOfPlayer: GetTileTwoStepsInFrontOfPlayer: xor a - ld [$ffdb], a + ld [hPlayerFacing], a ld hl, wYCoord ld a, [hli] ld d, a @@ -306,7 +306,7 @@ GetTileTwoStepsInFrontOfPlayer: and a ; cp SPRITE_FACING_DOWN jr nz, .notFacingDown ; facing down - ld hl, $ffdb + ld hl, hPlayerFacing set 0, [hl] aCoord 8, 13 inc d @@ -315,7 +315,7 @@ GetTileTwoStepsInFrontOfPlayer: cp SPRITE_FACING_UP jr nz, .notFacingUp ; facing up - ld hl, $ffdb + ld hl, hPlayerFacing set 1, [hl] aCoord 8, 5 dec d @@ -324,7 +324,7 @@ GetTileTwoStepsInFrontOfPlayer: cp SPRITE_FACING_LEFT jr nz, .notFacingLeft ; facing left - ld hl, $ffdb + ld hl, hPlayerFacing set 2, [hl] aCoord 4, 9 dec e @@ -333,7 +333,7 @@ GetTileTwoStepsInFrontOfPlayer: cp SPRITE_FACING_RIGHT jr nz, .storeTile ; facing right - ld hl, $ffdb + ld hl, hPlayerFacing set 3, [hl] aCoord 12, 9 inc e @@ -378,33 +378,33 @@ CheckForBoulderCollisionWithSprites: ld hl, wSpriteStateData2 + $14 add hl, de ld a, [hli] ; map Y position - ld [$ffdc], a + ld [hPlayerYCoord], a ld a, [hl] ; map X position - ld [$ffdd], a + ld [hPlayerXCoord], a ld a, [wNumSprites] ld c, a ld de, $f ld hl, wSpriteStateData2 + $14 - ld a, [$ffdb] + ld a, [hPlayerFacing] and $3 ; facing up or down? jr z, .pushingHorizontallyLoop .pushingVerticallyLoop inc hl - ld a, [$ffdd] + ld a, [hPlayerXCoord] cp [hl] jr nz, .nextSprite1 ; if X coordinates don't match dec hl ld a, [hli] ld b, a - ld a, [$ffdb] + ld a, [hPlayerFacing] rrca jr c, .pushingDown ; pushing up - ld a, [$ffdc] + ld a, [hPlayerYCoord] dec a jr .compareYCoords .pushingDown - ld a, [$ffdc] + ld a, [hPlayerYCoord] inc a .compareYCoords cp b @@ -417,19 +417,19 @@ CheckForBoulderCollisionWithSprites: .pushingHorizontallyLoop ld a, [hli] ld b, a - ld a, [$ffdc] + ld a, [hPlayerYCoord] cp b jr nz, .nextSprite2 ld b, [hl] - ld a, [$ffdb] + ld a, [hPlayerFacing] bit 2, a jr nz, .pushingLeft ; pushing right - ld a, [$ffdd] + ld a, [hPlayerXCoord] inc a jr .compareXCoords .pushingLeft - ld a, [$ffdd] + ld a, [hPlayerXCoord] dec a .compareXCoords cp b diff --git a/engine/overworld/push_boulder.asm b/engine/overworld/push_boulder.asm index c45554f1..e4dd91cf 100644 --- a/engine/overworld/push_boulder.asm +++ b/engine/overworld/push_boulder.asm @@ -92,7 +92,7 @@ DoBoulderDustAnimation:: call ResetBoulderPushFlags set 7, [hl] ld a, [wBoulderSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call GetSpriteMovementByte2Pointer ld [hl], $10 ld a, SFX_CUT diff --git a/engine/overworld/special_warps.asm b/engine/overworld/special_warps.asm index eee85402..042146f9 100644 --- a/engine/overworld/special_warps.asm +++ b/engine/overworld/special_warps.asm @@ -146,4 +146,4 @@ LoadSpecialWarpData: ld [wDestinationWarpID], a ret -INCLUDE "data/special_warps.asm" +INCLUDE "data/maps/special_warps.asm" diff --git a/engine/overworld/sprite_collisions.asm b/engine/overworld/sprite_collisions.asm index 0e6b2d06..c5ff8ebb 100644 --- a/engine/overworld/sprite_collisions.asm +++ b/engine/overworld/sprite_collisions.asm @@ -6,7 +6,7 @@ _UpdateSprites:: ld l, a sub $e ld c, a - ld [H_CURRENTSPRITEOFFSET], a + ld [hCurrentSpriteOffset], a ld a, [hl] and a jr z, .skipSprite ; tests $c2Xe @@ -31,17 +31,17 @@ _UpdateSprites:: UpdateNonPlayerSprite: dec a swap a - ld [$ff93], a ; $10 * sprite# + ld [hTilePlayerStandingOn], a ; $10 * sprite# ld a, [wNPCMovementScriptSpriteOffset] ; some sprite offset? ld b, a - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] cp b jr nz, .unequal jp DoScriptedNPCMovement .unequal jp UpdateNPCSprite -; This detects if the current sprite (whose offset is at H_CURRENTSPRITEOFFSET) +; This detects if the current sprite (whose offset is at hCurrentSpriteOffset) ; is going to collide with another sprite by looping over the other sprites. ; The current sprite's offset will be labelled with i (e.g. $c1i0). ; The loop sprite's offset will labelled with j (e.g. $c1j0). @@ -54,7 +54,7 @@ DetectCollisionBetweenSprites: nop ld h, wSpriteStateData1 / $100 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add wSpriteStateData1 % $100 ld l, a @@ -79,7 +79,7 @@ DetectCollisionBetweenSprites: and $f0 or c - ld [$ff90], a ; store Y coordinate adjusted for direction of movement + ld [hFF90], a ; store Y coordinate adjusted for direction of movement ld a, [hli] ; a = [$c1i5] (delta X) (-1, 0, or 1) call SetSpriteCollisionValues @@ -92,7 +92,7 @@ DetectCollisionBetweenSprites: and $f0 or c - ld [$ff91], a ; store X coordinate adjusted for direction of movement + ld [hFF91], a ; store X coordinate adjusted for direction of movement ld a, l add 7 @@ -102,18 +102,18 @@ DetectCollisionBetweenSprites: ld [hld], a ; zero [$c1id] XXX what's [$c1id] for? ld [hld], a ; zero [$c1ic] (directions in which collisions occurred) - ld a, [$ff91] + ld a, [hFF91] ld [hld], a ; [$c1ib] = adjusted X coordinate - ld a, [$ff90] + ld a, [hFF90] ld [hl], a ; [$c1ia] = adjusted Y coordinate xor a ; zero the loop counter .loop - ld [$ff8f], a ; store loop counter + ld [hFF8F], a ; store loop counter swap a ld e, a - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] cp e ; does the loop sprite match the current sprite? jp z, .next ; go to the next sprite if they match @@ -128,7 +128,7 @@ DetectCollisionBetweenSprites: inc a jp z, .next ; go the next sprite if offscreen - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add 10 ld l, a @@ -154,7 +154,7 @@ DetectCollisionBetweenSprites: cpl inc a .noCarry1 - ld [$ff90], a ; store the distance between the two sprites' adjusted Y values + ld [hFF90], a ; store the distance between the two sprites' adjusted Y values ; Use the carry flag set by the above subtraction to determine which sprite's ; Y coordinate is larger. This information is used later to set [$c1ic], @@ -176,11 +176,11 @@ DetectCollisionBetweenSprites: ld b, 9 .next1 - ld a, [$ff90] ; a = distance between adjusted Y coordinates + ld a, [hFF90] ; a = distance between adjusted Y coordinates sub b - ld [$ff92], a ; store distance adjusted using sprite i's direction + ld [hFF92], a ; store distance adjusted using sprite i's direction ld a, b - ld [$ff90], a ; store 7 or 9 depending on sprite i's delta Y + ld [hFF90], a ; store 7 or 9 depending on sprite i's delta Y jr c, .checkXDistance ; If sprite j's delta Y is 0, then b = 7, else b = 9. @@ -193,7 +193,7 @@ DetectCollisionBetweenSprites: ld b, 9 .next2 - ld a, [$ff92] ; a = distance adjusted using sprite i's direction + ld a, [hFF92] ; a = distance adjusted using sprite i's direction sub b ; adjust distance using sprite j's direction jr z, .checkXDistance jr nc, .next ; go to next sprite if distance is still positive after both adjustments @@ -225,7 +225,7 @@ DetectCollisionBetweenSprites: cpl inc a .noCarry2 - ld [$ff91], a ; store the distance between the two sprites' adjusted X values + ld [hFF91], a ; store the distance between the two sprites' adjusted X values ; Use the carry flag set by the above subtraction to determine which sprite's ; X coordinate is larger. This information is used later to set [$c1ic], @@ -247,11 +247,11 @@ DetectCollisionBetweenSprites: ld b, 9 .next3 - ld a, [$ff91] ; a = distance between adjusted X coordinates + ld a, [hFF91] ; a = distance between adjusted X coordinates sub b - ld [$ff92], a ; store distance adjusted using sprite i's direction + ld [hFF92], a ; store distance adjusted using sprite i's direction ld a, b - ld [$ff91], a ; store 7 or 9 depending on sprite i's delta X + ld [hFF91], a ; store 7 or 9 depending on sprite i's delta X jr c, .collision ; If sprite j's delta X is 0, then b = 7, else b = 9. @@ -264,15 +264,15 @@ DetectCollisionBetweenSprites: ld b, 9 .next4 - ld a, [$ff92] ; a = distance adjusted using sprite i's direction + ld a, [hFF92] ; a = distance adjusted using sprite i's direction sub b ; adjust distance using sprite j's direction jr z, .collision jr nc, .next ; go to next sprite if distance is still positive after both adjustments .collision - ld a, [$ff91] ; a = 7 or 9 depending on sprite i's delta X + ld a, [hFF91] ; a = 7 or 9 depending on sprite i's delta X ld b, a - ld a, [$ff90] ; a = 7 or 9 depending on sprite i's delta Y + ld a, [hFF90] ; a = 7 or 9 depending on sprite i's delta Y inc l ; If delta X isn't 0 and delta Y is 0, then b = %0011, else b = %1100. @@ -294,7 +294,7 @@ DetectCollisionBetweenSprites: ; set bit in [$c1ie] or [$c1if] to indicate which sprite the collision occurred with inc l inc l - ld a, [$ff8f] ; a = loop counter + ld a, [hFF8F] ; a = loop counter ld de, SpriteCollisionBitTable add a add e @@ -311,7 +311,7 @@ DetectCollisionBetweenSprites: ld [hl], a .next - ld a, [$ff8f] ; a = loop counter + ld a, [hFF8F] ; a = loop counter inc a cp $10 jp nz, .loop diff --git a/engine/overworld/tilesets.asm b/engine/overworld/tilesets.asm index 6e33974f..88147233 100644 --- a/engine/overworld/tilesets.asm +++ b/engine/overworld/tilesets.asm @@ -25,7 +25,7 @@ LoadTilesetHeader: ld a, [hl] ld [hTilesetType], a xor a - ld [$ffd8], a + ld [hMovingBGTilesCounter1], a pop hl ld a, [wCurMapTileset] push hl @@ -55,6 +55,6 @@ LoadTilesetHeader: .done ret -INCLUDE "data/dungeon_tilesets.asm" +INCLUDE "data/tilesets/dungeon_tilesets.asm" -INCLUDE "data/tileset_headers.asm" +INCLUDE "data/tilesets/tileset_headers.asm" diff --git a/engine/overworld/trainer_sight.asm b/engine/overworld/trainer_sight.asm index 5a68b627..81978c35 100755 --- a/engine/overworld/trainer_sight.asm +++ b/engine/overworld/trainer_sight.asm @@ -2,26 +2,26 @@ _GetSpritePosition1:: ld hl, wSpriteStateData1 ld de, $4 ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call GetSpriteDataPointer ld a, [hli] ; c1x4 (screen Y pos) - ld [$ffeb], a + ld [hSpriteScreenYCoord], a inc hl ld a, [hl] ; c1x6 (screen X pos) - ld [$ffec], a + ld [hSpriteScreenXCoord], a ld de, (wSpriteStateData2 + $4) - (wSpriteStateData1 + $6) add hl, de ld a, [hli] ; c2x4 (map Y pos) - ld [$ffed], a + ld [hSpriteMapYCoord], a ld a, [hl] ; c2x5 (map X pos) - ld [$ffee], a + ld [hSpriteMapXCoord], a ret _GetSpritePosition2:: ld hl, wSpriteStateData1 ld de, $4 ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call GetSpriteDataPointer ld a, [hli] ; c1x4 (screen Y pos) ld [wSavedSpriteScreenY], a @@ -40,18 +40,18 @@ _SetSpritePosition1:: ld hl, wSpriteStateData1 ld de, $4 ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call GetSpriteDataPointer - ld a, [$ffeb] ; c1x4 (screen Y pos) + ld a, [hSpriteScreenYCoord] ; c1x4 (screen Y pos) ld [hli], a inc hl - ld a, [$ffec] ; c1x6 (screen X pos) + ld a, [hSpriteScreenXCoord] ; c1x6 (screen X pos) ld [hl], a ld de, (wSpriteStateData2 + $4) - (wSpriteStateData1 + $6) add hl, de - ld a, [$ffed] ; c2x4 (map Y pos) + ld a, [hSpriteMapYCoord] ; c2x4 (map Y pos) ld [hli], a - ld a, [$ffee] ; c2x5 (map X pos) + ld a, [hSpriteMapXCoord] ; c2x5 (map X pos) ld [hl], a ret @@ -59,7 +59,7 @@ _SetSpritePosition2:: ld hl, wSpriteStateData1 ld de, 4 ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call GetSpriteDataPointer ld a, [wSavedSpriteScreenY] ld [hli], a ; c1x4 (screen Y pos) @@ -144,7 +144,7 @@ TrainerWalkUpToPlayer:: call FillMemory ; write the necessary steps to reach player ld [hl], $ff ; write end of list sentinel ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a jp MoveSprite_ ; input: de = offset within sprite entry @@ -152,7 +152,7 @@ TrainerWalkUpToPlayer:: GetSpriteDataPointer: push de add hl, de - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] swap a ld d, $0 ld e, a diff --git a/engine/overworld/turn_sprite.asm b/engine/overworld/turn_sprite.asm index c7f7712b..bef26537 100755 --- a/engine/overworld/turn_sprite.asm +++ b/engine/overworld/turn_sprite.asm @@ -1,12 +1,12 @@ UpdateSpriteFacingOffsetAndDelayMovement:: ld h, $c2 - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $8 ld l, a ld a, $7f ; maximum movement delay ld [hl], a ; c2x8 (movement delay) dec h - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $9 ld l, a ld a, [hld] ; c1x9 (facing direction) @@ -14,7 +14,7 @@ UpdateSpriteFacingOffsetAndDelayMovement:: xor a ld [hld], a ld [hl], a ; c1x8 (walk animation frame) - ld a, [H_CURRENTSPRITEOFFSET] + ld a, [hCurrentSpriteOffset] add $2 ld l, a ld a, [hl] ; c1x2 (facing and animation table offset) diff --git a/engine/overworld/update_map.asm b/engine/overworld/update_map.asm index 8577b9e7..92ae2b10 100644 --- a/engine/overworld/update_map.asm +++ b/engine/overworld/update_map.asm @@ -50,12 +50,12 @@ RedrawMapView: ld a, [wIsInBattle] inc a ret z - ld a, [H_AUTOBGTRANSFERENABLED] + ld a, [hAutoBGTransferEnabled] push af ld a, [hTilesetType] push af xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld [hTilesetType], a ; no flower/water BG tile animations call LoadCurrentMapView call RunDefaultPaletteCommand @@ -63,7 +63,7 @@ RedrawMapView: ld a, [hli] ld h, [hl] ld l, a - ld de, -2 * 32 + ld de, -2 * BG_MAP_WIDTH add hl, de ld a, h and $3 @@ -73,23 +73,23 @@ RedrawMapView: ld a, h ld [wBuffer + 1], a ; this copy of the address is not used ld a, 2 - ld [$ffbe], a - ld c, 9 ; number of rows of 2x2 tiles (this covers the whole screen) + ld [hRedrawMapViewRowOffset], a + ld c, SCREEN_HEIGHT / 2 ; number of rows of 2x2 tiles (this covers the whole screen) .redrawRowLoop push bc push hl push hl ld hl, wTileMap - 2 * SCREEN_WIDTH ld de, SCREEN_WIDTH - ld a, [$ffbe] + ld a, [hRedrawMapViewRowOffset] .calcWRAMAddrLoop add hl, de dec a jr nz, .calcWRAMAddrLoop call CopyToRedrawRowOrColumnSrcTiles pop hl - ld de, $20 - ld a, [$ffbe] + ld de, BG_MAP_WIDTH + ld a, [hRedrawMapViewRowOffset] ld c, a .calcVRAMAddrLoop add hl, de @@ -104,7 +104,7 @@ RedrawMapView: ld a, REDRAW_ROW ld [hRedrawRowOrColumnMode], a call DelayFrame - ld hl, $ffbe + ld hl, hRedrawMapViewRowOffset inc [hl] inc [hl] pop hl @@ -114,7 +114,7 @@ RedrawMapView: pop af ld [hTilesetType], a pop af - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret CompareHLWithBC: diff --git a/engine/overworld/wild_mons.asm b/engine/overworld/wild_mons.asm index df4d3121..2593e0ec 100644 --- a/engine/overworld/wild_mons.asm +++ b/engine/overworld/wild_mons.asm @@ -16,10 +16,10 @@ LoadWildData:: jr z, .NoGrassData ; if no grass data, skip to surfing data push hl ld de, wGrassMons ; otherwise, load grass data - ld bc, $0014 + ld bc, $14 call CopyData pop hl - ld bc, $0014 + ld bc, $14 add hl, bc .NoGrassData ld a, [hli] @@ -27,7 +27,7 @@ LoadWildData:: and a ret z ; if no water data, we're done ld de, wWaterMons ; otherwise, load surfing data - ld bc, $0014 + ld bc, $14 jp CopyData -INCLUDE "data/wild_mons.asm" +INCLUDE "data/wild/grass_water.asm" diff --git a/engine/pokemon/add_mon.asm b/engine/pokemon/add_mon.asm index 7627136b..8d0a6495 100644 --- a/engine/pokemon/add_mon.asm +++ b/engine/pokemon/add_mon.asm @@ -129,10 +129,10 @@ _AddPartyMon:: xor a ld b, a call CalcStat ; calc HP stat (set cur Hp to max HP) - ld a, [H_MULTIPLICAND+1] + ld a, [hMultiplicand+1] ld [de], a inc de - ld a, [H_MULTIPLICAND+2] + ld a, [hMultiplicand+2] ld [de], a inc de xor a diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm index e5855f1d..d9a329f5 100644 --- a/engine/pokemon/bills_pc.asm +++ b/engine/pokemon/bills_pc.asm @@ -1,6 +1,6 @@ DisplayPCMainMenu:: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call SaveScreenTilesToBuffer2 ld a, [wNumHoFTeams] and a @@ -82,7 +82,7 @@ DisplayPCMainMenu:: ld [wCurrentMenuItem], a ld [wLastMenuItem], a ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret SomeonesPCText: db "SOMEONE's PC@" @@ -168,7 +168,7 @@ BillsPCMenu: ld de, BoxNoPCText call PlaceString ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 call HandleMenuInput bit 1, a @@ -376,7 +376,8 @@ KnowsHMMove:: and a ret -INCLUDE "data/hm_moves.asm" +HMMoveArray: +INCLUDE "data/moves/hm_moves.asm" DisplayDepositWithdrawMenu: coord hl, 9, 10 diff --git a/engine/pokemon/evos_moves.asm b/engine/pokemon/evos_moves.asm index f50f8081..36f135cc 100755 --- a/engine/pokemon/evos_moves.asm +++ b/engine/pokemon/evos_moves.asm @@ -120,12 +120,12 @@ Evolution_PartyMonLoop: ; loop over party mons ld c, 50 call DelayFrames xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a coord hl, 0, 0 lb bc, 12, 20 call ClearScreenArea ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld a, $ff ld [wUpdateSpritesEnabled], a call ClearSprites @@ -510,4 +510,4 @@ WriteMonMoves_ShiftMoveData: Evolution_FlagAction: predef_jump FlagActionPredef -INCLUDE "data/evos_moves.asm" +INCLUDE "data/pokemon/evos_moves.asm" diff --git a/engine/pokemon/experience.asm b/engine/pokemon/experience.asm index 3ee4b2a8..76e6b88b 100755 --- a/engine/pokemon/experience.asm +++ b/engine/pokemon/experience.asm @@ -38,58 +38,58 @@ CalcExperience:: add hl, bc call CalcDSquared ld a, d - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld a, [hl] and $f0 swap a - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld a, [hli] and $f - ld [H_DIVISOR], a + ld [hDivisor], a ld b, $4 call Divide - ld a, [H_QUOTIENT + 1] + ld a, [hQuotient + 1] push af - ld a, [H_QUOTIENT + 2] + ld a, [hQuotient + 2] push af - ld a, [H_QUOTIENT + 3] + ld a, [hQuotient + 3] push af call CalcDSquared ld a, [hl] and $7f - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply - ld a, [H_PRODUCT + 1] + ld a, [hProduct + 1] push af - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] push af - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] push af ld a, [hli] push af xor a - ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand], a + ld [hMultiplicand + 1], a ld a, d - ld [H_MULTIPLICAND + 2], a + ld [hMultiplicand + 2], a ld a, [hli] - ld [H_MULTIPLIER], a + ld [hMultiplier], a call Multiply ld b, [hl] - ld a, [H_PRODUCT + 3] + ld a, [hProduct + 3] sub b - ld [H_PRODUCT + 3], a + ld [hProduct + 3], a ld b, $0 - ld a, [H_PRODUCT + 2] + ld a, [hProduct + 2] sbc b - ld [H_PRODUCT + 2], a - ld a, [H_PRODUCT + 1] + ld [hProduct + 2], a + ld a, [hProduct + 1] sbc b - ld [H_PRODUCT + 1], a + ld [hProduct + 1], a ; The difference of the linear term and the constant term consists of 3 bytes -; starting at H_PRODUCT + 1. Below, hExperience (an alias of that address) will +; starting at hProduct + 1. Below, hExperience (an alias of that address) will ; be used instead for the further work of adding or subtracting the squared ; term and adding the cubed term. pop af @@ -139,11 +139,11 @@ CalcExperience:: ; calculates d*d CalcDSquared: xor a - ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND + 1], a + ld [hMultiplicand], a + ld [hMultiplicand + 1], a ld a, d - ld [H_MULTIPLICAND + 2], a - ld [H_MULTIPLIER], a + ld [hMultiplicand + 2], a + ld [hMultiplier], a jp Multiply INCLUDE "data/growth_rates.asm" diff --git a/engine/pokemon/learn_move.asm b/engine/pokemon/learn_move.asm index 53c7f87e..09413c9b 100755 --- a/engine/pokemon/learn_move.asm +++ b/engine/pokemon/learn_move.asm @@ -126,13 +126,13 @@ TryingToLearn: call TextBoxBorder coord hl, 6, 8 ld de, wMovesString - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] set 2, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a call PlaceString - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] res 2, a - ld [hFlags_0xFFF6], a + ld [hFlagsFFF6], a ld hl, wTopMenuItemY ld a, 8 ld [hli], a ; wTopMenuItemY @@ -146,10 +146,10 @@ TryingToLearn: ld a, A_BUTTON | B_BUTTON ld [hli], a ; wMenuWatchedKeys ld [hl], 0 ; wLastMenuItem - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 set 1, [hl] call HandleMenuInput - ld hl, hFlags_0xFFF6 + ld hl, hFlagsFFF6 res 1, [hl] push af call LoadScreenTilesFromBuffer1 diff --git a/engine/pokemon/status_screen.asm b/engine/pokemon/status_screen.asm index 20bee0ee..b262a8b7 100755 --- a/engine/pokemon/status_screen.asm +++ b/engine/pokemon/status_screen.asm @@ -40,7 +40,7 @@ DrawHP_: push hl call DrawHPBar pop hl - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] bit 0, a jr z, .printFractionBelowBar ld bc, $9 ; right of bar @@ -254,7 +254,7 @@ PrintStatsBox: ld c, 8 call TextBoxBorder ; Draws the box coord hl, 1, 9 ; Start printing stats from here - ld bc, $0019 ; Number offset + ld bc, $19 ; Number offset jr .PrintStats .DifferentBox coord hl, 9, 2 @@ -262,7 +262,7 @@ PrintStatsBox: ld c, 9 call TextBoxBorder coord hl, 11, 3 - ld bc, $0018 + ld bc, $18 .PrintStats push bc push hl @@ -299,7 +299,7 @@ StatusScreen2: push af xor a ld [hTilesetType], a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld bc, NUM_MOVES + 1 ld hl, wMoves call FillMemory @@ -424,7 +424,7 @@ StatusScreen2: coord hl, 9, 1 call PlaceString ld a, $1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 call WaitForTextScrollButtonPress ; wait for button pop af diff --git a/engine/slots/game_corner_slots.asm b/engine/slots/game_corner_slots.asm index 2108695f..d95d20a3 100755 --- a/engine/slots/game_corner_slots.asm +++ b/engine/slots/game_corner_slots.asm @@ -22,7 +22,7 @@ StartSlotMachine: ld a, 250 .next ld [wSlotMachineSevenAndBarModeChance], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [wSlotMachineSavedROMBank], a call PromptUserToPlaySlots ret diff --git a/engine/slots/slot_machine.asm b/engine/slots/slot_machine.asm index 0a92c69b..c3de5dd2 100755 --- a/engine/slots/slot_machine.asm +++ b/engine/slots/slot_machine.asm @@ -31,7 +31,7 @@ PromptUserToPlaySlots: xor a ld [wSlotMachineAllowMatchesCounter], a ld hl, wStoppingWhichSlotMachineWheel - ld bc, $0014 + ld bc, $14 call FillMemory call MainSlotMachineLoop ld hl, wd730 @@ -881,7 +881,7 @@ SlotMachineMap: INCBIN "gfx/slots/slots.tilemap" SlotMachineMapEnd: -INCLUDE "data/slot_machine_wheels.asm" +INCLUDE "data/events/slot_machine_wheels.asm" SlotMachineTiles1: IF DEF(_RED) diff --git a/gfx/fishing.asm b/gfx/fishing.asm new file mode 100644 index 00000000..0a040262 --- /dev/null +++ b/gfx/fishing.asm @@ -0,0 +1,4 @@ +RedFishingTilesFront: INCBIN "gfx/overworld/red_fish_front.2bpp" +RedFishingTilesBack: INCBIN "gfx/overworld/red_fish_back.2bpp" +RedFishingTilesSide: INCBIN "gfx/overworld/red_fish_side.2bpp" +RedFishingRodTiles: INCBIN "gfx/overworld/fishing_rod.2bpp" diff --git a/gfx/font.asm b/gfx/font.asm new file mode 100644 index 00000000..b3dda1e7 --- /dev/null +++ b/gfx/font.asm @@ -0,0 +1,31 @@ +PokemonLogoGraphics: INCBIN "gfx/title/pokemon_logo.2bpp" +FontGraphics:: INCBIN "gfx/font/font.1bpp" +FontGraphicsEnd:: + +ABTiles: INCBIN "gfx/font/AB.2bpp" + +HpBarAndStatusGraphics:: INCBIN "gfx/font/font_battle_extra.2bpp" +HpBarAndStatusGraphicsEnd:: + +BattleHudTiles1: INCBIN "gfx/battle/battle_hud_1.1bpp" +BattleHudTiles1End: +BattleHudTiles2: INCBIN "gfx/battle/battle_hud_2.1bpp" +BattleHudTiles3: INCBIN "gfx/battle/battle_hud_3.1bpp" +BattleHudTiles3End: + +NintendoCopyrightLogoGraphics: INCBIN "gfx/intro_credits/copyright.2bpp" + +GamefreakLogoGraphics: INCBIN "gfx/title/gamefreak_inc.2bpp" +GamefreakLogoGraphicsEnd: + +TextBoxGraphics:: INCBIN "gfx/font/font_extra.2bpp" +TextBoxGraphicsEnd:: + +PokedexTileGraphics: INCBIN "gfx/pokedex/pokedex.2bpp" +PokedexTileGraphicsEnd: + +WorldMapTileGraphics: INCBIN "gfx/town_map/town_map.2bpp" +WorldMapTileGraphicsEnd: + +PlayerCharacterTitleGraphics: INCBIN "gfx/title/player.2bpp" +PlayerCharacterTitleGraphicsEnd: diff --git a/gfx/player.asm b/gfx/player.asm new file mode 100644 index 00000000..188daaf2 --- /dev/null +++ b/gfx/player.asm @@ -0,0 +1,3 @@ +RedPicFront:: INCBIN "gfx/player/red.pic" +ShrinkPic1:: INCBIN "gfx/player/shrink1.pic" +ShrinkPic2:: INCBIN "gfx/player/shrink2.pic" diff --git a/sprites.asm b/gfx/sprites.asm index 4548bbe3..4548bbe3 100644 --- a/sprites.asm +++ b/gfx/sprites.asm diff --git a/tilesets.asm b/gfx/tilesets.asm index f64dc20a..f64dc20a 100644 --- a/tilesets.asm +++ b/gfx/tilesets.asm diff --git a/gfx/trade.asm b/gfx/trade.asm new file mode 100644 index 00000000..e5d8db05 --- /dev/null +++ b/gfx/trade.asm @@ -0,0 +1,7 @@ +TradingAnimationGraphics: +INCBIN "gfx/trade/game_boy.2bpp" +INCBIN "gfx/trade/link_cable.2bpp" +TradingAnimationGraphicsEnd: + +TradingAnimationGraphics2: INCBIN "gfx/trade/cable_ball.2bpp" +TradingAnimationGraphics2End: diff --git a/gfx/trainer_card.asm b/gfx/trainer_card.asm new file mode 100644 index 00000000..7484e4ee --- /dev/null +++ b/gfx/trainer_card.asm @@ -0,0 +1,8 @@ +TrainerInfoTextBoxTileGraphics: INCBIN "gfx/trainer_card/trainer_info.2bpp" +TrainerInfoTextBoxTileGraphicsEnd: + +BlankLeaderNames: INCBIN "gfx/trainer_card/blank_leader_names.2bpp" + +CircleTile: INCBIN "gfx/trainer_card/circle_tile.2bpp" + +BadgeNumbersTileGraphics: INCBIN "gfx/trainer_card/badge_numbers.2bpp" diff --git a/gfx/version.asm b/gfx/version.asm new file mode 100644 index 00000000..6f49bca9 --- /dev/null +++ b/gfx/version.asm @@ -0,0 +1,8 @@ +Version_GFX: +IF DEF(_RED) + INCBIN "gfx/title/red_version.1bpp" ; 10 tiles +ENDC +IF DEF(_BLUE) + INCBIN "gfx/title/blue_version.1bpp" ; 8 tiles +ENDC +Version_GFXEnd: @@ -1,120 +1,24 @@ INCLUDE "constants.asm" -; The rst vectors are unused. -SECTION "rst 00", ROM0 - rst $38 -SECTION "rst 08", ROM0 - rst $38 -SECTION "rst 10", ROM0 - rst $38 -SECTION "rst 18", ROM0 - rst $38 -SECTION "rst 20", ROM0 - rst $38 -SECTION "rst 28", ROM0 - rst $38 -SECTION "rst 30", ROM0 - rst $38 -SECTION "rst 38", ROM0 - rst $38 - -; Hardware interrupts -SECTION "vblank", ROM0 - jp VBlank -SECTION "hblank", ROM0 - rst $38 -SECTION "timer", ROM0 - jp Timer -SECTION "serial", ROM0 - jp Serial -SECTION "joypad", ROM0 - reti +SECTION "NULL", ROM0 +NULL:: +INCLUDE "home/header.asm" -SECTION "Home", ROM0 - -DisableLCD:: - xor a - ld [rIF], a - ld a, [rIE] - ld b, a - res 0, a - ld [rIE], a - -.wait - ld a, [rLY] - cp LY_VBLANK - jr nz, .wait - - ld a, [rLCDC] - and $ff ^ rLCDC_ENABLE_MASK - ld [rLCDC], a - ld a, b - ld [rIE], a - ret - -EnableLCD:: - ld a, [rLCDC] - set rLCDC_ENABLE, a - ld [rLCDC], a - ret - -ClearSprites:: - xor a - ld hl, wOAMBuffer - ld b, 40 * 4 -.loop - ld [hli], a - dec b - jr nz, .loop - ret -HideSprites:: - ld a, 160 - ld hl, wOAMBuffer - ld de, 4 - ld b, 40 -.loop - ld [hl], a - add hl, de - dec b - jr nz, .loop - ret +SECTION "High Home", ROM0 +INCLUDE "home/lcd.asm" +INCLUDE "home/clear_sprites.asm" INCLUDE "home/copy.asm" -SECTION "Entry", ROM0 - - nop - jp Start - - -SECTION "Header", ROM0 - - ; The header is generated by rgbfix. - ; The space here is allocated to prevent code from being overwritten. - - ds $150 - $104 - - -SECTION "Main", ROM0 - -Start:: - cp GBC - jr z, .gbc - xor a - jr .ok -.gbc - ld a, 0 -.ok - ld [wGBC], a - jp Init - +SECTION "Home", ROM0 +INCLUDE "home/start.asm" INCLUDE "home/joypad.asm" -INCLUDE "data/map_header_pointers.asm" +INCLUDE "data/maps/map_header_pointers.asm" INCLUDE "home/overworld.asm" CheckForUserInterruption:: @@ -149,10 +53,10 @@ CheckForUserInterruption:: ; a = ID of destination warp within destination map LoadDestinationWarpPosition:: ld b, a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wPredefParentBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld a, b add a @@ -164,753 +68,14 @@ LoadDestinationWarpPosition:: ld de, wCurrentTileBlockMapViewPointer call CopyData pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ret - - -DrawHPBar:: -; Draw an HP bar d tiles long, and fill it to e pixels. -; If c is nonzero, show at least a sliver regardless. -; The right end of the bar changes with [wHPBarType]. - - push hl - push de - push bc - - ; Left - ld a, $71 ; "HP:" - ld [hli], a - ld a, $62 - ld [hli], a - - push hl - - ; Middle - ld a, $63 ; empty -.draw - ld [hli], a - dec d - jr nz, .draw - - ; Right - ld a, [wHPBarType] - dec a - ld a, $6d ; status screen and battle - jr z, .ok - dec a ; pokemon menu -.ok - ld [hl], a - - pop hl - - ld a, e - and a - jr nz, .fill - - ; If c is nonzero, draw a pixel anyway. - ld a, c - and a - jr z, .done - ld e, 1 - -.fill - ld a, e - sub 8 - jr c, .partial - ld e, a - ld a, $6b ; full - ld [hli], a - ld a, e - and a - jr z, .done - jr .fill - -.partial - ; Fill remaining pixels at the end if necessary. - ld a, $63 ; empty - add e - ld [hl], a -.done - pop bc - pop de - pop hl - ret - - -; loads pokemon data from one of multiple sources to wLoadedMon -; loads base stats to wMonHeader -; INPUT: -; [wWhichPokemon] = index of pokemon within party/box -; [wMonDataLocation] = source -; 00: player's party -; 01: enemy's party -; 02: current box -; 03: daycare -; OUTPUT: -; [wcf91] = pokemon ID -; wLoadedMon = base address of pokemon data -; wMonHeader = base address of base stats -LoadMonData:: - jpab LoadMonData_ - -OverwritewMoves:: -; Write c to [wMoves + b]. Unused. - ld hl, wMoves - ld e, b - ld d, 0 - add hl, de - ld a, c - ld [hl], a - ret - -LoadFlippedFrontSpriteByMonIndex:: - ld a, 1 - ld [wSpriteFlipped], a - -LoadFrontSpriteByMonIndex:: - push hl - ld a, [wd11e] - push af - ld a, [wcf91] - ld [wd11e], a - predef IndexToPokedex - ld hl, wd11e - ld a, [hl] - pop bc - ld [hl], b - and a - pop hl - jr z, .invalidDexNumber ; dex #0 invalid - cp NUM_POKEMON + 1 - jr c, .validDexNumber ; dex >#151 invalid -.invalidDexNumber - ld a, RHYDON ; $1 - ld [wcf91], a - ret -.validDexNumber - push hl - ld de, vFrontPic - call LoadMonFrontSprite - pop hl - ld a, [H_LOADEDROMBANK] - push af - ld a, Bank(CopyUncompressedPicToHL) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - xor a - ld [hStartTileID], a - call CopyUncompressedPicToHL - xor a - ld [wSpriteFlipped], a - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ret - - -PlayCry:: -; Play monster a's cry. - call GetCryData - call PlaySound - jp WaitForSoundToFinish - -GetCryData:: -; Load cry data for monster a. - dec a - ld c, a - ld b, 0 - ld hl, CryData - add hl, bc - add hl, bc - add hl, bc - - ld a, BANK(CryData) - call BankswitchHome - ld a, [hli] - ld b, a ; cry id - ld a, [hli] - ld [wFrequencyModifier], a - ld a, [hl] - ld [wTempoModifier], a - call BankswitchBack - - ; Cry headers have 3 channels, - ; and start from index CRY_SFX_START, - ; so add 3 times the cry id. - ld a, b - ld c, CRY_SFX_START - rlca ; * 2 - add b - add c - ret - -DisplayPartyMenu:: - ld a, [hTilesetType] - push af - xor a - ld [hTilesetType], a - call GBPalWhiteOutWithDelay3 - call ClearSprites - call PartyMenuInit - call DrawPartyMenu - jp HandlePartyMenuInput - -GoBackToPartyMenu:: - ld a, [hTilesetType] - push af - xor a - ld [hTilesetType], a - call PartyMenuInit - call RedrawPartyMenu - jp HandlePartyMenuInput - -PartyMenuInit:: - ld a, 1 ; hardcoded bank - call BankswitchHome - call LoadHpBarAndStatusTilePatterns - ld hl, wd730 - set 6, [hl] ; turn off letter printing delay - xor a ; PLAYER_PARTY_DATA - ld [wMonDataLocation], a - ld [wMenuWatchMovingOutOfBounds], a - ld hl, wTopMenuItemY - inc a - ld [hli], a ; top menu item Y - xor a - ld [hli], a ; top menu item X - ld a, [wPartyAndBillsPCSavedMenuItem] - push af - ld [hli], a ; current menu item ID - inc hl - ld a, [wPartyCount] - and a ; are there more than 0 pokemon in the party? - jr z, .storeMaxMenuItemID - dec a -; if party is not empty, the max menu item ID is ([wPartyCount] - 1) -; otherwise, it is 0 -.storeMaxMenuItemID - ld [hli], a ; max menu item ID - ld a, [wForcePlayerToChooseMon] - and a - ld a, A_BUTTON | B_BUTTON - jr z, .next - xor a - ld [wForcePlayerToChooseMon], a - inc a ; a = A_BUTTON -.next - ld [hli], a ; menu watched keys - pop af - ld [hl], a ; old menu item ID - ret - -HandlePartyMenuInput:: - ld a, 1 - ld [wMenuWrappingEnabled], a - ld a, $40 - ld [wPartyMenuAnimMonEnabled], a - call HandleMenuInput_ - call PlaceUnfilledArrowMenuCursor - ld b, a - xor a - ld [wPartyMenuAnimMonEnabled], a - ld a, [wCurrentMenuItem] - ld [wPartyAndBillsPCSavedMenuItem], a - ld hl, wd730 - res 6, [hl] ; turn on letter printing delay - ld a, [wMenuItemToSwap] - and a - jp nz, .swappingPokemon - pop af - ld [hTilesetType], a - bit 1, b - jr nz, .noPokemonChosen - ld a, [wPartyCount] - and a - jr z, .noPokemonChosen - ld a, [wCurrentMenuItem] - ld [wWhichPokemon], a - ld hl, wPartySpecies - ld b, 0 - ld c, a - add hl, bc - ld a, [hl] - ld [wcf91], a - ld [wBattleMonSpecies2], a - call BankswitchBack - and a - ret -.noPokemonChosen - call BankswitchBack - scf - ret -.swappingPokemon - bit 1, b ; was the B button pressed? - jr z, .handleSwap ; if not, handle swapping the pokemon -.cancelSwap ; if the B button was pressed - callba ErasePartyMenuCursors - xor a - ld [wMenuItemToSwap], a - ld [wPartyMenuTypeOrMessageID], a - call RedrawPartyMenu - jr HandlePartyMenuInput -.handleSwap - ld a, [wCurrentMenuItem] - ld [wWhichPokemon], a - callba SwitchPartyMon - jr HandlePartyMenuInput - -DrawPartyMenu:: - ld hl, DrawPartyMenu_ - jr DrawPartyMenuCommon - -RedrawPartyMenu:: - ld hl, RedrawPartyMenu_ - -DrawPartyMenuCommon:: - ld b, BANK(RedrawPartyMenu_) - jp Bankswitch - -; prints a pokemon's status condition -; INPUT: -; de = address of status condition -; hl = destination address -PrintStatusCondition:: - push de - dec de - dec de ; de = address of current HP - ld a, [de] - ld b, a - dec de - ld a, [de] - or b ; is the pokemon's HP zero? - pop de - jr nz, PrintStatusConditionNotFainted -; if the pokemon's HP is 0, print "FNT" - ld a, "F" - ld [hli], a - ld a, "N" - ld [hli], a - ld [hl], "T" - and a - ret - -PrintStatusConditionNotFainted:: - ld a, [H_LOADEDROMBANK] - push af - ld a, BANK(PrintStatusAilment) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - call PrintStatusAilment ; print status condition - pop bc - ld a, b - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ret - -; function to print pokemon level, leaving off the ":L" if the level is at least 100 -; INPUT: -; hl = destination address -; [wLoadedMonLevel] = level -PrintLevel:: - ld a, $6e ; ":L" tile ID - ld [hli], a - ld c, 2 ; number of digits - ld a, [wLoadedMonLevel] ; level - cp 100 - jr c, PrintLevelCommon -; if level at least 100, write over the ":L" tile - dec hl - inc c ; increment number of digits to 3 - jr PrintLevelCommon - -; prints the level without leaving off ":L" regardless of level -; INPUT: -; hl = destination address -; [wLoadedMonLevel] = level -PrintLevelFull:: - ld a, $6e ; ":L" tile ID - ld [hli], a - ld c, 3 ; number of digits - ld a, [wLoadedMonLevel] ; level - -PrintLevelCommon:: - ld [wd11e], a - ld de, wd11e - ld b, LEFT_ALIGN | 1 ; 1 byte - jp PrintNumber - -GetwMoves:: -; Unused. Returns the move at index a from wMoves in a - ld hl, wMoves - ld c, a - ld b, 0 - add hl, bc - ld a, [hl] - ret - -; copies the base stat data of a pokemon to wMonHeader -; INPUT: -; [wd0b5] = pokemon ID -GetMonHeader:: - ld a, [H_LOADEDROMBANK] - push af - ld a, BANK(BaseStats) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - push bc - push de - push hl - ld a, [wd11e] - push af - ld a, [wd0b5] - ld [wd11e], a - ld de, FossilKabutopsPic - ld b, $66 ; size of Kabutops fossil and Ghost sprites - cp FOSSIL_KABUTOPS ; Kabutops fossil - jr z, .specialID - ld de, GhostPic - cp MON_GHOST ; Ghost - jr z, .specialID - ld de, FossilAerodactylPic - ld b, $77 ; size of Aerodactyl fossil sprite - cp FOSSIL_AERODACTYL ; Aerodactyl fossil - jr z, .specialID - cp MEW - jr z, .mew - predef IndexToPokedex ; convert pokemon ID in [wd11e] to pokedex number - ld a, [wd11e] - dec a - ld bc, MonBaseStatsEnd - MonBaseStats - ld hl, BaseStats - call AddNTimes - ld de, wMonHeader - ld bc, MonBaseStatsEnd - MonBaseStats - call CopyData - jr .done -.specialID - ld hl, wMonHSpriteDim - ld [hl], b ; write sprite dimensions - inc hl - ld [hl], e ; write front sprite pointer - inc hl - ld [hl], d - jr .done -.mew - ld hl, MewBaseStats - ld de, wMonHeader - ld bc, MonBaseStatsEnd - MonBaseStats - ld a, BANK(MewBaseStats) - call FarCopyData -.done - ld a, [wd0b5] - ld [wMonHIndex], a - pop af - ld [wd11e], a - pop hl - pop de - pop bc - pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret -; copy party pokemon's name to wcd6d -GetPartyMonName2:: - ld a, [wWhichPokemon] ; index within party - ld hl, wPartyMonNicks - -; this is called more often -GetPartyMonName:: - push hl - push bc - call SkipFixedLengthTextEntries ; add NAME_LENGTH to hl, a times - ld de, wcd6d - push de - ld bc, NAME_LENGTH - call CopyData - pop de - pop bc - pop hl - ret - -; function to print a BCD (Binary-coded decimal) number -; de = address of BCD number -; hl = destination address -; c = flags and length -; bit 7: if set, do not print leading zeroes -; if unset, print leading zeroes -; bit 6: if set, left-align the string (do not pad empty digits with spaces) -; if unset, right-align the string -; bit 5: if set, print currency symbol at the beginning of the string -; if unset, do not print the currency symbol -; bits 0-4: length of BCD number in bytes -; Note that bits 5 and 7 are modified during execution. The above reflects -; their meaning at the beginning of the functions's execution. -PrintBCDNumber:: - ld b, c ; save flags in b - res 7, c - res 6, c - res 5, c ; c now holds the length - bit 5, b - jr z, .loop - bit 7, b - jr nz, .loop - ld [hl], "¥" - inc hl -.loop - ld a, [de] - swap a - call PrintBCDDigit ; print upper digit - ld a, [de] - call PrintBCDDigit ; print lower digit - inc de - dec c - jr nz, .loop - bit 7, b ; were any non-zero digits printed? - jr z, .done ; if so, we are done -.numberEqualsZero ; if every digit of the BCD number is zero - bit 6, b ; left or right alignment? - jr nz, .skipRightAlignmentAdjustment - dec hl ; if the string is right-aligned, it needs to be moved back one space -.skipRightAlignmentAdjustment - bit 5, b - jr z, .skipCurrencySymbol - ld [hl], "¥" - inc hl -.skipCurrencySymbol - ld [hl], "0" - call PrintLetterDelay - inc hl -.done - ret - -PrintBCDDigit:: - and $f - and a - jr z, .zeroDigit -.nonzeroDigit - bit 7, b ; have any non-space characters been printed? - jr z, .outputDigit -; if bit 7 is set, then no numbers have been printed yet - bit 5, b ; print the currency symbol? - jr z, .skipCurrencySymbol - ld [hl], "¥" - inc hl - res 5, b -.skipCurrencySymbol - res 7, b ; unset 7 to indicate that a nonzero digit has been reached -.outputDigit - add "0" - ld [hli], a - jp PrintLetterDelay -.zeroDigit - bit 7, b ; either printing leading zeroes or already reached a nonzero digit? - jr z, .outputDigit ; if so, print a zero digit - bit 6, b ; left or right alignment? - ret nz - inc hl ; if right-aligned, "print" a space by advancing the pointer - ret - -; uncompresses the front or back sprite of the specified mon -; assumes the corresponding mon header is already loaded -; hl contains offset to sprite pointer ($b for front or $d for back) -UncompressMonSprite:: - ld bc, wMonHeader - add hl, bc - ld a, [hli] - ld [wSpriteInputPtr], a ; fetch sprite input pointer - ld a, [hl] - ld [wSpriteInputPtr+1], a -; define (by index number) the bank that a pokemon's image is in -; index = Mew, bank 1 -; index = Kabutops fossil, bank $B -; index < $1F, bank 9 -; $1F ≤ index < $4A, bank $A -; $4A ≤ index < $74, bank $B -; $74 ≤ index < $99, bank $C -; $99 ≤ index, bank $D - ld a, [wcf91] ; XXX name for this ram location - ld b, a - cp MEW - ld a, BANK(MewPicFront) - jr z, .GotBank - ld a, b - cp FOSSIL_KABUTOPS - ld a, BANK(FossilKabutopsPic) - jr z, .GotBank - ld a, b - cp TANGELA + 1 - ld a, BANK(TangelaPicFront) - jr c, .GotBank - ld a, b - cp MOLTRES + 1 - ld a, BANK(MoltresPicFront) - jr c, .GotBank - ld a, b - cp BEEDRILL + 2 - ld a, BANK(BeedrillPicFront) - jr c, .GotBank - ld a, b - cp STARMIE + 1 - ld a, BANK(StarmiePicFront) - jr c, .GotBank - ld a, BANK(VictreebelPicFront) -.GotBank - jp UncompressSpriteData - -; de: destination location -LoadMonFrontSprite:: - push de - ld hl, wMonHFrontSprite - wMonHeader - call UncompressMonSprite - ld hl, wMonHSpriteDim - ld a, [hli] - ld c, a - pop de - ; fall through - -; postprocesses uncompressed sprite chunks to a 2bpp sprite and loads it into video ram -; calculates alignment parameters to place both sprite chunks in the center of the 7*7 tile sprite buffers -; de: destination location -; a,c: sprite dimensions (in tiles of 8x8 each) -LoadUncompressedSpriteData:: - push de - and $f - ld [H_SPRITEWIDTH], a ; each byte contains 8 pixels (in 1bpp), so tiles=bytes for width - ld b, a - ld a, $7 - sub b ; 7-w - inc a ; 8-w - srl a ; (8-w)/2 ; horizontal center (in tiles, rounded up) - ld b, a - add a - add a - add a - sub b ; 7*((8-w)/2) ; skip for horizontal center (in tiles) - ld [H_SPRITEOFFSET], a - ld a, c - swap a - and $f - ld b, a - add a - add a - add a ; 8*tiles is height in bytes - ld [H_SPRITEHEIGHT], a - ld a, $7 - sub b ; 7-h ; skip for vertical center (in tiles, relative to current column) - ld b, a - ld a, [H_SPRITEOFFSET] - add b ; 7*((8-w)/2) + 7-h ; combined overall offset (in tiles) - add a - add a - add a ; 8*(7*((8-w)/2) + 7-h) ; combined overall offset (in bytes) - ld [H_SPRITEOFFSET], a - xor a - ld [$4000], a - ld hl, sSpriteBuffer0 - call ZeroSpriteBuffer ; zero buffer 0 - ld de, sSpriteBuffer1 - ld hl, sSpriteBuffer0 - call AlignSpriteDataCentered ; copy and align buffer 1 to 0 (containing the MSB of the 2bpp sprite) - ld hl, sSpriteBuffer1 - call ZeroSpriteBuffer ; zero buffer 1 - ld de, sSpriteBuffer2 - ld hl, sSpriteBuffer1 - call AlignSpriteDataCentered ; copy and align buffer 2 to 1 (containing the LSB of the 2bpp sprite) - pop de - jp InterlaceMergeSpriteBuffers - -; copies and aligns the sprite data properly inside the sprite buffer -; sprite buffers are 7*7 tiles in size, the loaded sprite is centered within this area -AlignSpriteDataCentered:: - ld a, [H_SPRITEOFFSET] - ld b, $0 - ld c, a - add hl, bc - ld a, [H_SPRITEWIDTH] -.columnLoop - push af - push hl - ld a, [H_SPRITEHEIGHT] - ld c, a -.columnInnerLoop - ld a, [de] - inc de - ld [hli], a - dec c - jr nz, .columnInnerLoop - pop hl - ld bc, 7*8 ; 7 tiles - add hl, bc ; advance one full column - pop af - dec a - jr nz, .columnLoop - ret - -; fills the sprite buffer (pointed to in hl) with zeros -ZeroSpriteBuffer:: - ld bc, SPRITEBUFFERSIZE -.nextByteLoop - xor a - ld [hli], a - dec bc - ld a, b - or c - jr nz, .nextByteLoop - ret - -; combines the (7*7 tiles, 1bpp) sprite chunks in buffer 0 and 1 into a 2bpp sprite located in buffer 1 through 2 -; in the resulting sprite, the rows of the two source sprites are interlaced -; de: output address -InterlaceMergeSpriteBuffers:: - xor a - ld [$4000], a - push de - ld hl, sSpriteBuffer2 + (SPRITEBUFFERSIZE - 1) ; destination: end of buffer 2 - ld de, sSpriteBuffer1 + (SPRITEBUFFERSIZE - 1) ; source 2: end of buffer 1 - ld bc, sSpriteBuffer0 + (SPRITEBUFFERSIZE - 1) ; source 1: end of buffer 0 - ld a, SPRITEBUFFERSIZE/2 ; $c4 - ld [H_SPRITEINTERLACECOUNTER], a -.interlaceLoop - ld a, [de] - dec de - ld [hld], a ; write byte of source 2 - ld a, [bc] - dec bc - ld [hld], a ; write byte of source 1 - ld a, [de] - dec de - ld [hld], a ; write byte of source 2 - ld a, [bc] - dec bc - ld [hld], a ; write byte of source 1 - ld a, [H_SPRITEINTERLACECOUNTER] - dec a - ld [H_SPRITEINTERLACECOUNTER], a - jr nz, .interlaceLoop - ld a, [wSpriteFlipped] - and a - jr z, .notFlipped - ld bc, 2*SPRITEBUFFERSIZE - ld hl, sSpriteBuffer1 -.swapLoop - swap [hl] ; if flipped swap nybbles in all bytes - inc hl - dec bc - ld a, b - or c - jr nz, .swapLoop -.notFlipped - pop hl - ld de, sSpriteBuffer1 - ld c, (2*SPRITEBUFFERSIZE)/16 ; $31, number of 16 byte chunks to be copied - ld a, [H_LOADEDROMBANK] - ld b, a - jp CopyVideoData - - -INCLUDE "data/collision_tile_ids.asm" +INCLUDE "home/pokemon.asm" +INCLUDE "home/print_bcd.asm" +INCLUDE "home/pics.asm" +INCLUDE "data/tilesets/collision_tile_ids.asm" INCLUDE "home/copy2.asm" INCLUDE "home/text.asm" INCLUDE "home/vcopy.asm" @@ -921,58 +86,24 @@ INCLUDE "home/serial.asm" INCLUDE "home/timer.asm" INCLUDE "home/audio.asm" - UpdateSprites:: ld a, [wUpdateSpritesEnabled] dec a ret nz - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af - ld a, Bank(_UpdateSprites) - ld [H_LOADEDROMBANK], a + ld a, BANK(_UpdateSprites) + ld [hLoadedROMBank], a ld [MBC1RomBank], a call _UpdateSprites pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret -INCLUDE "data/mart_inventories.asm" - -TextScriptEndingChar:: - db "@" -TextScriptEnd:: - ld hl, TextScriptEndingChar - ret - -ExclamationText:: - TX_FAR _ExclamationText - db "@" - -GroundRoseText:: - TX_FAR _GroundRoseText - db "@" - -BoulderText:: - TX_FAR _BoulderText - db "@" - -MartSignText:: - TX_FAR _MartSignText - db "@" - -PokeCenterSignText:: - TX_FAR _PokeCenterSignText - db "@" - -PickUpItemText:: - TX_ASM - predef PickUpItem - jp TextScriptEnd - - -INCLUDE "home/pic.asm" - +INCLUDE "data/items/marts.asm" +INCLUDE "home/overworld_text.asm" +INCLUDE "home/uncompress.asm" ResetPlayerSpriteData:: ld hl, wSpriteStateData1 @@ -1035,7 +166,7 @@ FadeOutAudio:: ld b, a xor a ld [wAudioFadeOutControl], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld a, [wAudioSavedROMBank] @@ -1044,244 +175,7 @@ FadeOutAudio:: ld [wNewSoundID], a jp PlaySound -; this function is used to display sign messages, sprite dialog, etc. -; INPUT: [hSpriteIndexOrTextID] = sprite ID or text ID -DisplayTextID:: - ld a, [H_LOADEDROMBANK] - push af - callba DisplayTextIDInit ; initialization - ld hl, wTextPredefFlag - bit 0, [hl] - res 0, [hl] - jr nz, .skipSwitchToMapBank - ld a, [wCurMap] - call SwitchToMapRomBank -.skipSwitchToMapBank - ld a, 30 ; half a second - ld [H_FRAMECOUNTER], a ; used as joypad poll timer - ld hl, wMapTextPtr - ld a, [hli] - ld h, [hl] - ld l, a ; hl = map text pointer - ld d, $00 - ld a, [hSpriteIndexOrTextID] ; text ID - ld [wSpriteIndex], a - and a - jp z, DisplayStartMenu - cp TEXT_SAFARI_GAME_OVER - jp z, DisplaySafariGameOverText - cp TEXT_MON_FAINTED - jp z, DisplayPokemonFaintedText - cp TEXT_BLACKED_OUT - jp z, DisplayPlayerBlackedOutText - cp TEXT_REPEL_WORE_OFF - jp z, DisplayRepelWoreOffText - ld a, [wNumSprites] - ld e, a - ld a, [hSpriteIndexOrTextID] ; sprite ID - cp e - jr z, .spriteHandling - jr nc, .skipSpriteHandling -.spriteHandling -; get the text ID of the sprite - push hl - push de - push bc - callba UpdateSpriteFacingOffsetAndDelayMovement ; update the graphics of the sprite the player is talking to (to face the right direction) - pop bc - pop de - ld hl, wMapSpriteData ; NPC text entries - ld a, [hSpriteIndexOrTextID] - dec a - add a - add l - ld l, a - jr nc, .noCarry - inc h -.noCarry - inc hl - ld a, [hl] ; a = text ID of the sprite - pop hl -.skipSpriteHandling -; look up the address of the text in the map's text entries - dec a - ld e, a - sla e - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a ; hl = address of the text - ld a, [hl] ; a = first byte of text -; check first byte of text for special cases - cp $fe ; Pokemart NPC - jp z, DisplayPokemartDialogue - cp $ff ; Pokemon Center NPC - jp z, DisplayPokemonCenterDialogue - cp $fc ; Item Storage PC - jp z, FuncTX_ItemStoragePC - cp $fd ; Bill's PC - jp z, FuncTX_BillsPC - cp $f9 ; Pokemon Center PC - jp z, FuncTX_PokemonCenterPC - cp $f5 ; Vending Machine - jr nz, .notVendingMachine - callba VendingMachineMenu ; jump banks to vending machine routine - jr AfterDisplayingTextID -.notVendingMachine - cp $f7 ; prize menu - jp z, FuncTX_GameCornerPrizeMenu - cp $f6 ; cable connection NPC in Pokemon Center - jr nz, .notSpecialCase - callab CableClubNPC - jr AfterDisplayingTextID -.notSpecialCase - call PrintText_NoCreatingTextBox ; display the text - ld a, [wDoNotWaitForButtonPressAfterDisplayingText] - and a - jr nz, HoldTextDisplayOpen - -AfterDisplayingTextID:: - ld a, [wEnteringCableClub] - and a - jr nz, HoldTextDisplayOpen - call WaitForTextScrollButtonPress ; wait for a button press after displaying all the text - -; loop to hold the dialogue box open as long as the player keeps holding down the A button -HoldTextDisplayOpen:: - call Joypad - ld a, [hJoyHeld] - bit 0, a ; is the A button being pressed? - jr nz, HoldTextDisplayOpen - -CloseTextDisplay:: - ld a, [wCurMap] - call SwitchToMapRomBank - ld a, $90 - ld [hWY], a ; move the window off the screen - call DelayFrame - call LoadGBPal - xor a - ld [H_AUTOBGTRANSFERENABLED], a ; disable continuous WRAM to VRAM transfer each V-blank -; loop to make sprites face the directions they originally faced before the dialogue - ld hl, wSpriteStateData2 + $19 - ld c, $0f - ld de, $0010 -.restoreSpriteFacingDirectionLoop - ld a, [hl] - dec h - ld [hl], a - inc h - add hl, de - dec c - jr nz, .restoreSpriteFacingDirectionLoop - ld a, BANK(InitMapSprites) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - call InitMapSprites ; reload sprite tile pattern data (since it was partially overwritten by text tile patterns) - ld hl, wFontLoaded - res 0, [hl] - ld a, [wd732] - bit 3, a ; used fly warp - call z, LoadPlayerSpriteGraphics - call LoadCurrentMapView - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - jp UpdateSprites - -DisplayPokemartDialogue:: - push hl - ld hl, PokemartGreetingText - call PrintText - pop hl - inc hl - call LoadItemList - ld a, PRICEDITEMLISTMENU - ld [wListMenuID], a - ld a, [H_LOADEDROMBANK] - push af - ld a, Bank(DisplayPokemartDialogue_) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - call DisplayPokemartDialogue_ - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - jp AfterDisplayingTextID - -PokemartGreetingText:: - TX_FAR _PokemartGreetingText - db "@" - -LoadItemList:: - ld a, 1 - ld [wUpdateSpritesEnabled], a - ld a, h - ld [wItemListPointer], a - ld a, l - ld [wItemListPointer + 1], a - ld de, wItemList -.loop - ld a, [hli] - ld [de], a - inc de - cp $ff - jr nz, .loop - ret - -DisplayPokemonCenterDialogue:: -; zeroing these doesn't appear to serve any purpose - xor a - ld [$ff8b], a - ld [$ff8c], a - ld [$ff8d], a - - inc hl - ld a, [H_LOADEDROMBANK] - push af - ld a, Bank(DisplayPokemonCenterDialogue_) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - call DisplayPokemonCenterDialogue_ - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - jp AfterDisplayingTextID - -DisplaySafariGameOverText:: - callab PrintSafariGameOverText - jp AfterDisplayingTextID - -DisplayPokemonFaintedText:: - ld hl, PokemonFaintedText - call PrintText - jp AfterDisplayingTextID - -PokemonFaintedText:: - TX_FAR _PokemonFaintedText - db "@" - -DisplayPlayerBlackedOutText:: - ld hl, PlayerBlackedOutText - call PrintText - ld a, [wd732] - res 5, a ; reset forced to use bike bit - ld [wd732], a - jp HoldTextDisplayOpen - -PlayerBlackedOutText:: - TX_FAR _PlayerBlackedOutText - db "@" - -DisplayRepelWoreOffText:: - ld hl, RepelWoreOffText - call PrintText - jp AfterDisplayingTextID - -RepelWoreOffText:: - TX_FAR _RepelWoreOffText - db "@" - +INCLUDE "home/predef_text.asm" INCLUDE "home/start_menu.asm" ; function to count how many bits are set in a string of bytes @@ -1333,14 +227,14 @@ AddAmountSoldToMoney:: ; [wWhichPokemon] = index (within the inventory) of the item to remove ; [wItemQuantity] = quantity to remove RemoveItemFromInventory:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(RemoveItemFromInventory_) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call RemoveItemFromInventory_ pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -1352,692 +246,25 @@ RemoveItemFromInventory:: ; sets carry flag if successful, unsets carry flag if unsuccessful AddItemToInventory:: push bc - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(AddItemToInventory_) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call AddItemToInventory_ pop bc ld a, b - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - pop bc - ret - -; INPUT: -; [wListMenuID] = list menu ID -; [wListPointer] = address of the list (2 bytes) -DisplayListMenuID:: - xor a - ld [H_AUTOBGTRANSFERENABLED], a ; disable auto-transfer - ld a, 1 - ld [hJoy7], a ; joypad state update flag - ld a, [wBattleType] - and a ; is it the Old Man battle? - jr nz, .specialBattleType - ld a, $01 ; hardcoded bank - jr .bankswitch -.specialBattleType ; Old Man battle - ld a, BANK(DisplayBattleMenu) -.bankswitch - call BankswitchHome - ld hl, wd730 - set 6, [hl] ; turn off letter printing delay - xor a - ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped - ld [wListCount], a - ld a, [wListPointer] - ld l, a - ld a, [wListPointer + 1] - ld h, a ; hl = address of the list - ld a, [hl] ; the first byte is the number of entries in the list - ld [wListCount], a - ld a, LIST_MENU_BOX - ld [wTextBoxID], a - call DisplayTextBoxID ; draw the menu text box - call UpdateSprites ; disable sprites behind the text box -; the code up to .skipMovingSprites appears to be useless - coord hl, 4, 2 ; coordinates of upper left corner of menu text box - lb de, 9, 14 ; height and width of menu text box - ld a, [wListMenuID] - and a ; is it a PC pokemon list? - jr nz, .skipMovingSprites - call UpdateSprites -.skipMovingSprites - ld a, 1 ; max menu item ID is 1 if the list has less than 2 entries - ld [wMenuWatchMovingOutOfBounds], a - ld a, [wListCount] - cp 2 ; does the list have less than 2 entries? - jr c, .setMenuVariables - ld a, 2 ; max menu item ID is 2 if the list has at least 2 entries -.setMenuVariables - ld [wMaxMenuItem], a - ld a, 4 - ld [wTopMenuItemY], a - ld a, 5 - ld [wTopMenuItemX], a - ld a, A_BUTTON | B_BUTTON | SELECT - ld [wMenuWatchedKeys], a - ld c, 10 - call DelayFrames - -DisplayListMenuIDLoop:: - xor a - ld [H_AUTOBGTRANSFERENABLED], a ; disable transfer - call PrintListMenuEntries - ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a ; enable transfer - call Delay3 - ld a, [wBattleType] - and a ; is it the Old Man battle? - jr z, .notOldManBattle -.oldManBattle - ld a, "▶" - Coorda 5, 4 ; place menu cursor in front of first menu entry - ld c, 80 - call DelayFrames - xor a - ld [wCurrentMenuItem], a - coord hl, 5, 4 - ld a, l - ld [wMenuCursorLocation], a - ld a, h - ld [wMenuCursorLocation + 1], a - jr .buttonAPressed -.notOldManBattle - call LoadGBPal - call HandleMenuInput - push af - call PlaceMenuCursor - pop af - bit 0, a ; was the A button pressed? - jp z, .checkOtherKeys -.buttonAPressed - ld a, [wCurrentMenuItem] - call PlaceUnfilledArrowMenuCursor - -; pointless because both values are overwritten before they are read - ld a, $01 - ld [wMenuExitMethod], a - ld [wChosenMenuItem], a - - xor a - ld [wMenuWatchMovingOutOfBounds], a - ld a, [wCurrentMenuItem] - ld c, a - ld a, [wListScrollOffset] - add c - ld c, a - ld a, [wListCount] - and a ; is the list empty? - jp z, ExitListMenu ; if so, exit the menu - dec a - cp c ; did the player select Cancel? - jp c, ExitListMenu ; if so, exit the menu - ld a, c - ld [wWhichPokemon], a - ld a, [wListMenuID] - cp ITEMLISTMENU - jr nz, .skipMultiplying -; if it's an item menu - sla c ; item entries are 2 bytes long, so multiply by 2 -.skipMultiplying - ld a, [wListPointer] - ld l, a - ld a, [wListPointer + 1] - ld h, a - inc hl ; hl = beginning of list entries - ld b, 0 - add hl, bc - ld a, [hl] - ld [wcf91], a - ld a, [wListMenuID] - and a ; is it a PC pokemon list? - jr z, .pokemonList - push hl - call GetItemPrice - pop hl - ld a, [wListMenuID] - cp ITEMLISTMENU - jr nz, .skipGettingQuantity -; if it's an item menu - inc hl - ld a, [hl] ; a = item quantity - ld [wMaxItemQuantity], a -.skipGettingQuantity - ld a, [wcf91] - ld [wd0b5], a - ld a, BANK(ItemNames) - ld [wPredefBank], a - call GetName - jr .storeChosenEntry -.pokemonList - ld hl, wPartyCount - ld a, [wListPointer] - cp l ; is it a list of party pokemon or box pokemon? - ld hl, wPartyMonNicks - jr z, .getPokemonName - ld hl, wBoxMonNicks ; box pokemon names -.getPokemonName - ld a, [wWhichPokemon] - call GetPartyMonName -.storeChosenEntry ; store the menu entry that the player chose and return - ld de, wcd6d - call CopyStringToCF4B ; copy name to wcf4b - ld a, CHOSE_MENU_ITEM - ld [wMenuExitMethod], a - ld a, [wCurrentMenuItem] - ld [wChosenMenuItem], a - xor a - ld [hJoy7], a ; joypad state update flag - ld hl, wd730 - res 6, [hl] ; turn on letter printing delay - jp BankswitchBack -.checkOtherKeys ; check B, SELECT, Up, and Down keys - bit 1, a ; was the B button pressed? - jp nz, ExitListMenu ; if so, exit the menu - bit 2, a ; was the select button pressed? - jp nz, HandleItemListSwapping ; if so, allow the player to swap menu entries - ld b, a - bit 7, b ; was Down pressed? - ld hl, wListScrollOffset - jr z, .upPressed -.downPressed - ld a, [hl] - add 3 - ld b, a - ld a, [wListCount] - cp b ; will going down scroll past the Cancel button? - jp c, DisplayListMenuIDLoop - inc [hl] ; if not, go down - jp DisplayListMenuIDLoop -.upPressed - ld a, [hl] - and a - jp z, DisplayListMenuIDLoop - dec [hl] - jp DisplayListMenuIDLoop - -DisplayChooseQuantityMenu:: -; text box dimensions/coordinates for just quantity - coord hl, 15, 9 - ld b, 1 ; height - ld c, 3 ; width - ld a, [wListMenuID] - cp PRICEDITEMLISTMENU - jr nz, .drawTextBox -; text box dimensions/coordinates for quantity and price - coord hl, 7, 9 - ld b, 1 ; height - ld c, 11 ; width -.drawTextBox - call TextBoxBorder - coord hl, 16, 10 - ld a, [wListMenuID] - cp PRICEDITEMLISTMENU - jr nz, .printInitialQuantity - coord hl, 8, 10 -.printInitialQuantity - ld de, InitialQuantityText - call PlaceString - xor a - ld [wItemQuantity], a ; initialize current quantity to 0 - jp .incrementQuantity -.waitForKeyPressLoop - call JoypadLowSensitivity - ld a, [hJoyPressed] ; newly pressed buttons - bit 0, a ; was the A button pressed? - jp nz, .buttonAPressed - bit 1, a ; was the B button pressed? - jp nz, .buttonBPressed - bit 6, a ; was Up pressed? - jr nz, .incrementQuantity - bit 7, a ; was Down pressed? - jr nz, .decrementQuantity - jr .waitForKeyPressLoop -.incrementQuantity - ld a, [wMaxItemQuantity] - inc a - ld b, a - ld hl, wItemQuantity ; current quantity - inc [hl] - ld a, [hl] - cp b - jr nz, .handleNewQuantity -; wrap to 1 if the player goes above the max quantity - ld a, 1 - ld [hl], a - jr .handleNewQuantity -.decrementQuantity - ld hl, wItemQuantity ; current quantity - dec [hl] - jr nz, .handleNewQuantity -; wrap to the max quantity if the player goes below 1 - ld a, [wMaxItemQuantity] - ld [hl], a -.handleNewQuantity - coord hl, 17, 10 - ld a, [wListMenuID] - cp PRICEDITEMLISTMENU - jr nz, .printQuantity -.printPrice - ld c, $03 - ld a, [wItemQuantity] - ld b, a - ld hl, hMoney ; total price -; initialize total price to 0 - xor a - ld [hli], a - ld [hli], a - ld [hl], a -.addLoop ; loop to multiply the individual price by the quantity to get the total price - ld de, hMoney + 2 - ld hl, hItemPrice + 2 - push bc - predef AddBCDPredef ; add the individual price to the current sum - pop bc - dec b - jr nz, .addLoop - ld a, [hHalveItemPrices] - and a ; should the price be halved (for selling items)? - jr z, .skipHalvingPrice - xor a - ld [hDivideBCDDivisor], a - ld [hDivideBCDDivisor + 1], a - ld a, $02 - ld [hDivideBCDDivisor + 2], a - predef DivideBCDPredef3 ; halves the price -; store the halved price - ld a, [hDivideBCDQuotient] - ld [hMoney], a - ld a, [hDivideBCDQuotient + 1] - ld [hMoney + 1], a - ld a, [hDivideBCDQuotient + 2] - ld [hMoney + 2], a -.skipHalvingPrice - coord hl, 12, 10 - ld de, SpacesBetweenQuantityAndPriceText - call PlaceString - ld de, hMoney ; total price - ld c, $a3 - call PrintBCDNumber - coord hl, 9, 10 -.printQuantity - ld de, wItemQuantity ; current quantity - lb bc, LEADING_ZEROES | 1, 2 ; 1 byte, 2 digits - call PrintNumber - jp .waitForKeyPressLoop -.buttonAPressed ; the player chose to make the transaction - xor a - ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped - ret -.buttonBPressed ; the player chose to cancel the transaction - xor a - ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped - ld a, $ff - ret - -InitialQuantityText:: - db "×01@" - -SpacesBetweenQuantityAndPriceText:: - db " @" - -ExitListMenu:: - ld a, [wCurrentMenuItem] - ld [wChosenMenuItem], a - ld a, CANCELLED_MENU - ld [wMenuExitMethod], a - ld [wMenuWatchMovingOutOfBounds], a - xor a - ld [hJoy7], a - ld hl, wd730 - res 6, [hl] - call BankswitchBack - xor a - ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped - scf - ret - -PrintListMenuEntries:: - coord hl, 5, 3 - ld b, 9 - ld c, 14 - call ClearScreenArea - ld a, [wListPointer] - ld e, a - ld a, [wListPointer + 1] - ld d, a - inc de ; de = beginning of list entries - ld a, [wListScrollOffset] - ld c, a - ld a, [wListMenuID] - cp ITEMLISTMENU - ld a, c - jr nz, .skipMultiplying -; if it's an item menu -; item entries are 2 bytes long, so multiply by 2 - sla a - sla c -.skipMultiplying - add e - ld e, a - jr nc, .noCarry - inc d -.noCarry - coord hl, 6, 4 ; coordinates of first list entry name - ld b, 4 ; print 4 names -.loop - ld a, b - ld [wWhichPokemon], a - ld a, [de] - ld [wd11e], a - cp $ff - jp z, .printCancelMenuItem - push bc - push de - push hl - push hl - push de - ld a, [wListMenuID] - and a - jr z, .pokemonPCMenu - cp MOVESLISTMENU - jr z, .movesMenu -.itemMenu - call GetItemName - jr .placeNameString -.pokemonPCMenu - push hl - ld hl, wPartyCount - ld a, [wListPointer] - cp l ; is it a list of party pokemon or box pokemon? - ld hl, wPartyMonNicks - jr z, .getPokemonName - ld hl, wBoxMonNicks ; box pokemon names -.getPokemonName - ld a, [wWhichPokemon] - ld b, a - ld a, 4 - sub b - ld b, a - ld a, [wListScrollOffset] - add b - call GetPartyMonName - pop hl - jr .placeNameString -.movesMenu - call GetMoveName -.placeNameString - call PlaceString - pop de - pop hl - ld a, [wPrintItemPrices] - and a ; should prices be printed? - jr z, .skipPrintingItemPrice -.printItemPrice - push hl - ld a, [de] - ld de, ItemPrices - ld [wcf91], a - call GetItemPrice ; get price - pop hl - ld bc, SCREEN_WIDTH + 5 ; 1 row down and 5 columns right - add hl, bc - ld c, $a3 ; no leading zeroes, right-aligned, print currency symbol, 3 bytes - call PrintBCDNumber -.skipPrintingItemPrice - ld a, [wListMenuID] - and a - jr nz, .skipPrintingPokemonLevel -.printPokemonLevel - ld a, [wd11e] - push af - push hl - ld hl, wPartyCount - ld a, [wListPointer] - cp l ; is it a list of party pokemon or box pokemon? - ld a, PLAYER_PARTY_DATA - jr z, .next - ld a, BOX_DATA -.next - ld [wMonDataLocation], a - ld hl, wWhichPokemon - ld a, [hl] - ld b, a - ld a, $04 - sub b - ld b, a - ld a, [wListScrollOffset] - add b - ld [hl], a - call LoadMonData - ld a, [wMonDataLocation] - and a ; is it a list of party pokemon or box pokemon? - jr z, .skipCopyingLevel -.copyLevel - ld a, [wLoadedMonBoxLevel] - ld [wLoadedMonLevel], a -.skipCopyingLevel - pop hl - ld bc, $001c - add hl, bc - call PrintLevel - pop af - ld [wd11e], a -.skipPrintingPokemonLevel - pop hl - pop de - inc de - ld a, [wListMenuID] - cp ITEMLISTMENU - jr nz, .nextListEntry -.printItemQuantity - ld a, [wd11e] - ld [wcf91], a - call IsKeyItem ; check if item is unsellable - ld a, [wIsKeyItem] - and a ; is the item unsellable? - jr nz, .skipPrintingItemQuantity ; if so, don't print the quantity - push hl - ld bc, SCREEN_WIDTH + 8 ; 1 row down and 8 columns right - add hl, bc - ld a, "×" - ld [hli], a - ld a, [wd11e] - push af - ld a, [de] - ld [wMaxItemQuantity], a - push de - ld de, wd11e - ld [de], a - lb bc, 1, 2 - call PrintNumber - pop de - pop af - ld [wd11e], a - pop hl -.skipPrintingItemQuantity - inc de - pop bc - inc c - push bc - inc c - ld a, [wMenuItemToSwap] ; ID of item chosen for swapping (counts from 1) - and a ; is an item being swapped? - jr z, .nextListEntry - sla a - cp c ; is it this item? - jr nz, .nextListEntry - dec hl - ld a, $ec ; unfilled right arrow menu cursor to indicate an item being swapped - ld [hli], a -.nextListEntry - ld bc, 2 * SCREEN_WIDTH ; 2 rows - add hl, bc - pop bc - inc c - dec b - jp nz, .loop - ld bc, -8 - add hl, bc - ld a, "▼" - ld [hl], a - ret -.printCancelMenuItem - ld de, ListMenuCancelText - jp PlaceString - -ListMenuCancelText:: - db "CANCEL@" - -GetMonName:: - push hl - ld a, [H_LOADEDROMBANK] - push af - ld a, BANK(MonsterNames) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a - ld a, [wd11e] - dec a - ld hl, MonsterNames - ld c, 10 - ld b, 0 - call AddNTimes - ld de, wcd6d - push de - ld bc, 10 - call CopyData - ld hl, wcd6d + 10 - ld [hl], "@" - pop de - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - pop hl - ret - -GetItemName:: -; given an item ID at [wd11e], store the name of the item into a string -; starting at wcd6d - push hl - push bc - ld a, [wd11e] - cp HM_01 ; is this a TM/HM? - jr nc, .Machine - - ld [wd0b5], a - ld a, ITEM_NAME - ld [wNameListType], a - ld a, BANK(ItemNames) - ld [wPredefBank], a - call GetName - jr .Finish - -.Machine - call GetMachineName -.Finish - ld de, wcd6d ; pointer to where item name is stored in RAM - pop bc - pop hl - ret - -GetMachineName:: -; copies the name of the TM/HM in [wd11e] to wcd6d - push hl - push de - push bc - ld a, [wd11e] - push af - cp TM_01 ; is this a TM? [not HM] - jr nc, .WriteTM -; if HM, then write "HM" and add 5 to the item ID, so we can reuse the -; TM printing code - add 5 - ld [wd11e], a - ld hl, HiddenPrefix ; points to "HM" - ld bc, 2 - jr .WriteMachinePrefix -.WriteTM - ld hl, TechnicalPrefix ; points to "TM" - ld bc, 2 -.WriteMachinePrefix - ld de, wcd6d - call CopyData - -; now get the machine number and convert it to text - ld a, [wd11e] - sub TM_01 - 1 - ld b, "0" -.FirstDigit - sub 10 - jr c, .SecondDigit - inc b - jr .FirstDigit -.SecondDigit - add 10 - push af - ld a, b - ld [de], a - inc de - pop af - ld b, "0" - add b - ld [de], a - inc de - ld a, "@" - ld [de], a - pop af - ld [wd11e], a pop bc - pop de - pop hl - ret - -TechnicalPrefix:: - db "TM" -HiddenPrefix:: - db "HM" - -; sets carry if item is HM, clears carry if item is not HM -; Input: a = item ID -IsItemHM:: - cp HM_01 - jr c, .notHM - cp TM_01 ret -.notHM - and a - ret - -; sets carry if move is an HM, clears carry if move is not an HM -; Input: a = move ID -IsMoveHM:: - ld hl, HMMoves - ld de, 1 - jp IsInArray - -HMMoves:: - db CUT,FLY,SURF,STRENGTH,FLASH - db $ff ; terminator -GetMoveName:: - push hl - ld a, MOVE_NAME - ld [wNameListType], a - ld a, [wd11e] - ld [wd0b5], a - ld a, BANK(MoveNames) - ld [wPredefBank], a - call GetName - ld de, wcd6d ; pointer to where move name is stored in RAM - pop hl - ret +INCLUDE "home/list_menu.asm" +INCLUDE "home/names.asm" ; reloads text box tile patterns, current map view, and tileset tile patterns ReloadMapData:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wCurMap] call SwitchToMapRomBank @@ -2047,13 +274,13 @@ ReloadMapData:: call LoadTilesetTilePatternData call EnableLCD pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret ; reloads tileset tile patterns ReloadTilesetTilePatterns:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wCurMap] call SwitchToMapRomBank @@ -2061,7 +288,7 @@ ReloadTilesetTilePatterns:: call LoadTilesetTilePatternData call EnableLCD pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2098,15 +325,15 @@ UseItem:: ; OUTPUT: ; clears carry flag if the item is tossed, sets carry flag if not TossItem:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(TossItem_) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call TossItem_ pop de ld a, d - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2132,15 +359,15 @@ IsKeyItem:: ; [wTextBoxID] = text box ID ; b, c = y, x cursor position (TWO_OPTION_MENU only) DisplayTextBoxID:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(DisplayTextBoxID_) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call DisplayTextBoxID_ pop bc ld a, b - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2174,15 +401,15 @@ RunNPCMovementScript:: ld a, [hli] ld h, [hl] ld l, a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wNPCMovementScriptBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld a, [wNPCMovementScriptFunctionNum] call CallFunctionInTable pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2199,442 +426,7 @@ EndNPCMovementScript:: EmptyFunc2:: ret -; stores hl in [wTrainerHeaderPtr] -StoreTrainerHeaderPointer:: - ld a, h - ld [wTrainerHeaderPtr], a - ld a, l - ld [wTrainerHeaderPtr+1], a - ret - -; executes the current map script from the function pointer array provided in hl. -; a: map script index to execute (unless overridden by [wd733] bit 4) -ExecuteCurMapScriptInTable:: - push af - push de - call StoreTrainerHeaderPointer - pop hl - pop af - push hl - ld hl, wFlags_D733 - bit 4, [hl] - res 4, [hl] - jr z, .useProvidedIndex ; test if map script index was overridden manually - ld a, [wCurMapScript] -.useProvidedIndex - pop hl - ld [wCurMapScript], a - call CallFunctionInTable - ld a, [wCurMapScript] - ret - -LoadGymLeaderAndCityName:: - push de - ld de, wGymCityName - ld bc, $11 - call CopyData ; load city name - pop hl - ld de, wGymLeaderName - ld bc, NAME_LENGTH - jp CopyData ; load gym leader name - -; reads specific information from trainer header (pointed to at wTrainerHeaderPtr) -; a: offset in header data -; 0 -> flag's bit (into wTrainerHeaderFlagBit) -; 2 -> flag's byte ptr (into hl) -; 4 -> before battle text (into hl) -; 6 -> after battle text (into hl) -; 8 -> end battle text (into hl) -ReadTrainerHeaderInfo:: - push de - push af - ld d, $0 - ld e, a - ld hl, wTrainerHeaderPtr - ld a, [hli] - ld l, [hl] - ld h, a - add hl, de - pop af - and a - jr nz, .nonZeroOffset - ld a, [hl] - ld [wTrainerHeaderFlagBit], a ; store flag's bit - jr .done -.nonZeroOffset - cp $2 - jr z, .readPointer ; read flag's byte ptr - cp $4 - jr z, .readPointer ; read before battle text - cp $6 - jr z, .readPointer ; read after battle text - cp $8 - jr z, .readPointer ; read end battle text - cp $a - jr nz, .done - ld a, [hli] ; read end battle text (2) but override the result afterwards (XXX why, bug?) - ld d, [hl] - ld e, a - jr .done -.readPointer - ld a, [hli] - ld h, [hl] - ld l, a -.done - pop de - ret - -TrainerFlagAction:: - predef_jump FlagActionPredef - -TalkToTrainer:: - call StoreTrainerHeaderPointer - xor a - call ReadTrainerHeaderInfo ; read flag's bit - ld a, $2 - call ReadTrainerHeaderInfo ; read flag's byte ptr - ld a, [wTrainerHeaderFlagBit] - ld c, a - ld b, FLAG_TEST - call TrainerFlagAction ; read trainer's flag - ld a, c - and a - jr z, .trainerNotYetFought ; test trainer's flag - ld a, $6 - call ReadTrainerHeaderInfo ; print after battle text - jp PrintText -.trainerNotYetFought - ld a, $4 - call ReadTrainerHeaderInfo ; print before battle text - call PrintText - ld a, $a - call ReadTrainerHeaderInfo ; (?) does nothing apparently (maybe bug in ReadTrainerHeaderInfo) - push de - ld a, $8 - call ReadTrainerHeaderInfo ; read end battle text - pop de - call SaveEndBattleTextPointers - ld hl, wFlags_D733 - set 4, [hl] ; activate map script index override (index is set below) - ld hl, wFlags_0xcd60 - bit 0, [hl] ; test if player is already engaging the trainer (because the trainer saw the player) - ret nz -; if the player talked to the trainer of his own volition - call EngageMapTrainer - ld hl, wCurMapScript - inc [hl] ; increment map script index before StartTrainerBattle increments it again (next script function is usually EndTrainerBattle) - jp StartTrainerBattle - -; checks if any trainers are seeing the player and wanting to fight -CheckFightingMapTrainers:: - call CheckForEngagingTrainers - ld a, [wSpriteIndex] - cp $ff - jr nz, .trainerEngaging - xor a - ld [wSpriteIndex], a - ld [wTrainerHeaderFlagBit], a - ret -.trainerEngaging - ld hl, wFlags_D733 - set 3, [hl] - ld [wEmotionBubbleSpriteIndex], a - xor a ; EXCLAMATION_BUBBLE - ld [wWhichEmotionBubble], a - predef EmotionBubble - ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN - ld [wJoyIgnore], a - xor a - ld [hJoyHeld], a - call TrainerWalkUpToPlayer_Bank0 - ld hl, wCurMapScript - inc [hl] ; increment map script index (next script function is usually DisplayEnemyTrainerTextAndStartBattle) - ret - -; display the before battle text after the enemy trainer has walked up to the player's sprite -DisplayEnemyTrainerTextAndStartBattle:: - ld a, [wd730] - and $1 - ret nz ; return if the enemy trainer hasn't finished walking to the player's sprite - ld [wJoyIgnore], a - ld a, [wSpriteIndex] - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ; fall through - -StartTrainerBattle:: - xor a - ld [wJoyIgnore], a - call InitBattleEnemyParameters - ld hl, wd72d - set 6, [hl] - set 7, [hl] - ld hl, wd72e - set 1, [hl] - ld hl, wCurMapScript - inc [hl] ; increment map script index (next script function is usually EndTrainerBattle) - ret - -EndTrainerBattle:: - ld hl, wCurrentMapScriptFlags - set 5, [hl] - set 6, [hl] - ld hl, wd72d - res 7, [hl] - ld hl, wFlags_0xcd60 - res 0, [hl] ; player is no longer engaged by any trainer - ld a, [wIsInBattle] - cp $ff - jp z, ResetButtonPressedAndMapScript - ld a, $2 - call ReadTrainerHeaderInfo - ld a, [wTrainerHeaderFlagBit] - ld c, a - ld b, FLAG_SET - call TrainerFlagAction ; flag trainer as fought - ld a, [wEnemyMonOrTrainerClass] - cp OPP_ID_OFFSET - jr nc, .skipRemoveSprite ; test if trainer was fought (in that case skip removing the corresponding sprite) - ld hl, wMissableObjectList - ld de, $2 - ld a, [wSpriteIndex] - call IsInArray ; search for sprite ID - inc hl - ld a, [hl] - ld [wMissableObjectIndex], a ; load corresponding missable object index and remove it - predef HideObject -.skipRemoveSprite - ld hl, wd730 - bit 4, [hl] - res 4, [hl] - ret nz - -ResetButtonPressedAndMapScript:: - xor a - ld [wJoyIgnore], a - ld [hJoyHeld], a - ld [hJoyPressed], a - ld [hJoyReleased], a - ld [wCurMapScript], a ; reset battle status - ret - -; calls TrainerWalkUpToPlayer -TrainerWalkUpToPlayer_Bank0:: - jpba TrainerWalkUpToPlayer - -; sets opponent type and mon set/lvl based on the engaging trainer data -InitBattleEnemyParameters:: - ld a, [wEngagedTrainerClass] - ld [wCurOpponent], a - ld [wEnemyMonOrTrainerClass], a - cp OPP_ID_OFFSET - ld a, [wEngagedTrainerSet] - jr c, .noTrainer - ld [wTrainerNo], a - ret -.noTrainer - ld [wCurEnemyLVL], a - ret - -GetSpritePosition1:: - ld hl, _GetSpritePosition1 - jr SpritePositionBankswitch - -GetSpritePosition2:: - ld hl, _GetSpritePosition2 - jr SpritePositionBankswitch - -SetSpritePosition1:: - ld hl, _SetSpritePosition1 - jr SpritePositionBankswitch - -SetSpritePosition2:: - ld hl, _SetSpritePosition2 -SpritePositionBankswitch:: - ld b, BANK(_GetSpritePosition1) ; BANK(_GetSpritePosition2), BANK(_SetSpritePosition1), BANK(_SetSpritePosition2) - jp Bankswitch ; indirect jump to one of the four functions - -CheckForEngagingTrainers:: - xor a - call ReadTrainerHeaderInfo ; read trainer flag's bit (unused) - ld d, h ; store trainer header address in de - ld e, l -.trainerLoop - call StoreTrainerHeaderPointer ; set trainer header pointer to current trainer - ld a, [de] - ld [wSpriteIndex], a ; store trainer flag's bit - ld [wTrainerHeaderFlagBit], a - cp $ff - ret z - ld a, $2 - call ReadTrainerHeaderInfo ; read trainer flag's byte ptr - ld b, FLAG_TEST - ld a, [wTrainerHeaderFlagBit] - ld c, a - call TrainerFlagAction ; read trainer flag - ld a, c - and a ; has the trainer already been defeated? - jr nz, .continue - push hl - push de - push hl - xor a - call ReadTrainerHeaderInfo ; get trainer header pointer - inc hl - ld a, [hl] ; read trainer engage distance - pop hl - ld [wTrainerEngageDistance], a - ld a, [wSpriteIndex] - swap a - ld [wTrainerSpriteOffset], a - predef TrainerEngage - pop de - pop hl - ld a, [wTrainerSpriteOffset] - and a - ret nz ; break if the trainer is engaging -.continue - ld hl, $c - add hl, de - ld d, h - ld e, l - jr .trainerLoop - -; hl = text if the player wins -; de = text if the player loses -SaveEndBattleTextPointers:: - ld a, [H_LOADEDROMBANK] - ld [wEndBattleTextRomBank], a - ld a, h - ld [wEndBattleWinTextPointer], a - ld a, l - ld [wEndBattleWinTextPointer + 1], a - ld a, d - ld [wEndBattleLoseTextPointer], a - ld a, e - ld [wEndBattleLoseTextPointer + 1], a - ret - -; loads data of some trainer on the current map and plays pre-battle music -; [wSpriteIndex]: sprite ID of trainer who is engaged -EngageMapTrainer:: - ld hl, wMapSpriteExtraData - ld d, $0 - ld a, [wSpriteIndex] - dec a - add a - ld e, a - add hl, de ; seek to engaged trainer data - ld a, [hli] ; load trainer class - ld [wEngagedTrainerClass], a - ld a, [hl] ; load trainer mon set - ld [wEngagedTrainerSet], a - jp PlayTrainerMusic - -PrintEndBattleText:: - push hl - ld hl, wd72d - bit 7, [hl] - res 7, [hl] - pop hl - ret z - ld a, [H_LOADEDROMBANK] - push af - ld a, [wEndBattleTextRomBank] - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - push hl - callba SaveTrainerName - ld hl, TrainerEndBattleText - call PrintText - pop hl - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - callba FreezeEnemyTrainerSprite - jp WaitForSoundToFinish - -GetSavedEndBattleTextPointer:: - ld a, [wBattleResult] - and a -; won battle - jr nz, .lostBattle - ld a, [wEndBattleWinTextPointer] - ld h, a - ld a, [wEndBattleWinTextPointer + 1] - ld l, a - ret -.lostBattle - ld a, [wEndBattleLoseTextPointer] - ld h, a - ld a, [wEndBattleLoseTextPointer + 1] - ld l, a - ret - -TrainerEndBattleText:: - TX_FAR _TrainerNameText - TX_ASM - call GetSavedEndBattleTextPointer - call TextCommandProcessor - jp TextScriptEnd - -; only engage withe trainer if the player is not already -; engaged with another trainer -; XXX unused? -CheckIfAlreadyEngaged:: - ld a, [wFlags_0xcd60] - bit 0, a - ret nz - call EngageMapTrainer - xor a - ret - -PlayTrainerMusic:: - ld a, [wEngagedTrainerClass] - cp OPP_SONY1 - ret z - cp OPP_SONY2 - ret z - cp OPP_SONY3 - ret z - ld a, [wGymLeaderNo] - and a - ret nz - xor a - ld [wAudioFadeOutControl], a - ld a, $ff - call PlaySound - ld a, BANK(Music_MeetEvilTrainer) - ld [wAudioROMBank], a - ld [wAudioSavedROMBank], a - ld a, [wEngagedTrainerClass] - ld b, a - ld hl, EvilTrainerList -.evilTrainerListLoop - ld a, [hli] - cp $ff - jr z, .noEvilTrainer - cp b - jr nz, .evilTrainerListLoop - ld a, MUSIC_MEET_EVIL_TRAINER - jr .PlaySound -.noEvilTrainer - ld hl, FemaleTrainerList -.femaleTrainerListLoop - ld a, [hli] - cp $ff - jr z, .maleTrainer - cp b - jr nz, .femaleTrainerListLoop - ld a, MUSIC_MEET_FEMALE_TRAINER - jr .PlaySound -.maleTrainer - ld a, MUSIC_MEET_MALE_TRAINER -.PlaySound - ld [wNewSoundID], a - jp PlaySound - -INCLUDE "data/trainer_types.asm" +INCLUDE "home/trainers.asm" ; checks if the player's coordinates match an arrow movement tile's coordinates ; and if so, decodes the RLE movement data @@ -2719,7 +511,7 @@ SetSpriteFacingDirectionAndDelay:: SetSpriteFacingDirection:: ld a, $9 - ld [H_SPRITEDATAOFFSET], a + ld [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 ld a, [hSpriteFacingDirection] ld [hl], a @@ -2774,14 +566,14 @@ CheckCoords:: ; tests if a boulder's coordinates are in a specified array ; INPUT: ; hl = address of array -; [H_SPRITEINDEX] = index of boulder sprite +; [hSpriteIndex] = index of boulder sprite ; OUTPUT: ; [wCoordIndex] = if there is match, the matching array index ; sets carry if the coordinates are in the array, clears carry if not CheckBoulderCoords:: push hl ld hl, wSpriteStateData2 + $04 - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] swap a ld d, $0 ld e, a @@ -2803,9 +595,9 @@ GetPointerWithinSpriteStateData2:: ld h, $c2 _GetPointerWithinSpriteStateData: - ld a, [H_SPRITEDATAOFFSET] + ld a, [hSpriteDataOffset] ld b, a - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] swap a add b ld l, a @@ -2842,7 +634,7 @@ DecodeRLEList:: inc a ; include sentinel in counting ret -; sets movement byte 1 for sprite [H_SPRITEINDEX] to $FE and byte 2 to [hSpriteMovementByte2] +; sets movement byte 1 for sprite [hSpriteIndex] to $FE and byte 2 to [hSpriteMovementByte2] SetSpriteMovementBytesToFE:: push hl call GetSpriteMovementByte1Pointer @@ -2853,7 +645,7 @@ SetSpriteMovementBytesToFE:: pop hl ret -; sets both movement bytes for sprite [H_SPRITEINDEX] to $FF +; sets both movement bytes for sprite [hSpriteIndex] to $FF SetSpriteMovementBytesToFF:: push hl call GetSpriteMovementByte1Pointer @@ -2863,20 +655,20 @@ SetSpriteMovementBytesToFF:: pop hl ret -; returns the sprite movement byte 1 pointer for sprite [H_SPRITEINDEX] in hl +; returns the sprite movement byte 1 pointer for sprite [hSpriteIndex] in hl GetSpriteMovementByte1Pointer:: ld h, $C2 - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] swap a add 6 ld l, a ret -; returns the sprite movement byte 2 pointer for sprite [H_SPRITEINDEX] in hl +; returns the sprite movement byte 2 pointer for sprite [hSpriteIndex] in hl GetSpriteMovementByte2Pointer:: push de ld hl, wMapSpriteData - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] dec a add a ld d, 0 @@ -2890,7 +682,7 @@ GetTrainerInformation:: ld a, [wLinkState] and a jr nz, .linkBattle - ld a, Bank(TrainerPicAndMoneyPointers) + ld a, BANK(TrainerPicAndMoneyPointers) call BankswitchHome ld a, [wTrainerClass] dec a @@ -2937,83 +729,8 @@ HasEnoughCoins:: ld c, 2 jp StringCmp - -BankswitchHome:: -; switches to bank # in a -; Only use this when in the home bank! - ld [wBankswitchHomeTemp], a - ld a, [H_LOADEDROMBANK] - ld [wBankswitchHomeSavedROMBank], a - ld a, [wBankswitchHomeTemp] - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ret - -BankswitchBack:: -; returns from BankswitchHome - ld a, [wBankswitchHomeSavedROMBank] - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ret - -Bankswitch:: -; self-contained bankswitch, use this when not in the home bank -; switches to the bank in b - ld a, [H_LOADEDROMBANK] - push af - ld a, b - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ld bc, .Return - push bc - jp hl -.Return - pop bc - ld a, b - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ret - -; displays yes/no choice -; yes -> set carry -YesNoChoice:: - call SaveScreenTilesToBuffer1 - call InitYesNoTextBoxParameters - jr DisplayYesNoChoice - -Func_35f4:: - ld a, TWO_OPTION_MENU - ld [wTextBoxID], a - call InitYesNoTextBoxParameters - jp DisplayTextBoxID - -InitYesNoTextBoxParameters:: - xor a ; YES_NO_MENU - ld [wTwoOptionMenuID], a - coord hl, 14, 7 - ld bc, $80f - ret - -YesNoChoicePokeCenter:: - call SaveScreenTilesToBuffer1 - ld a, HEAL_CANCEL_MENU - ld [wTwoOptionMenuID], a - coord hl, 11, 6 - lb bc, 8, 12 - jr DisplayYesNoChoice - -WideYesNoChoice:: ; unused - call SaveScreenTilesToBuffer1 - ld a, WIDE_YES_NO_MENU - ld [wTwoOptionMenuID], a - coord hl, 12, 7 - lb bc, 8, 13 - -DisplayYesNoChoice:: - ld a, TWO_OPTION_MENU - ld [wTextBoxID], a - call DisplayTextBoxID - jp LoadScreenTilesFromBuffer1 +INCLUDE "home/bankswitch.asm" +INCLUDE "home/yes_no.asm" ; calculates the difference |a-b|, setting carry flag if a<b CalcDifference:: @@ -3025,7 +742,7 @@ CalcDifference:: ret MoveSprite:: -; move the sprite [H_SPRITEINDEX] with the movement pointed to by de +; move the sprite [hSpriteIndex] with the movement pointed to by de ; actually only copies the movement data to wNPCMovementDirections for later call SetSpriteMovementBytesToFF MoveSprite_:: @@ -3081,7 +798,6 @@ DivideBytes:: pop hl ret - LoadFontTilePatterns:: ld a, [rLCDC] bit 7, a ; is the LCD enabled? @@ -3130,7 +846,6 @@ LoadHpBarAndStatusTilePatterns:: lb bc, BANK(HpBarAndStatusGraphics), (HpBarAndStatusGraphicsEnd - HpBarAndStatusGraphics) / $10 jp CopyVideoData ; if LCD is on, transfer during V-blank - FillMemory:: ; Fill bc bytes at hl with a. push de @@ -3145,7 +860,6 @@ FillMemory:: pop de ret - UncompressSpriteFromDE:: ; Decompress pic at a:de. ld hl, wSpriteInputPtr @@ -3164,13 +878,13 @@ SaveScreenTilesToBuffer2:: LoadScreenTilesFromBuffer2:: call LoadScreenTilesFromBuffer2DisableBGTransfer ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret -; loads screen tiles stored in wTileMapBackup2 but leaves H_AUTOBGTRANSFERENABLED disabled +; loads screen tiles stored in wTileMapBackup2 but leaves hAutoBGTransferEnabled disabled LoadScreenTilesFromBuffer2DisableBGTransfer:: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld hl, wTileMapBackup2 coord de, 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT @@ -3185,13 +899,13 @@ SaveScreenTilesToBuffer1:: LoadScreenTilesFromBuffer1:: xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld hl, wTileMapBackup coord de, 0, 0 ld bc, SCREEN_WIDTH * SCREEN_HEIGHT call CopyData ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret DelayFrames:: @@ -3226,104 +940,12 @@ WaitForSoundToFinish:: pop hl ret -NamePointers:: - dw MonsterNames - dw MoveNames - dw UnusedNames - dw ItemNames - dw wPartyMonOT ; player's OT names list - dw wEnemyMonOT ; enemy's OT names list - dw TrainerNames - -GetName:: -; arguments: -; [wd0b5] = which name -; [wNameListType] = which list -; [wPredefBank] = bank of list -; -; returns pointer to name in de - ld a, [wd0b5] - ld [wd11e], a - - ; TM names are separate from item names. - ; BUG: This applies to all names instead of just items. - cp HM_01 - jp nc, GetMachineName - - ld a, [H_LOADEDROMBANK] - push af - push hl - push bc - push de - ld a, [wNameListType] ;List3759_entrySelector - dec a - jr nz, .otherEntries - ;1 = MON_NAMES - call GetMonName - ld hl, NAME_LENGTH - add hl, de - ld e, l - ld d, h - jr .gotPtr -.otherEntries - ;2-7 = OTHER ENTRIES - ld a, [wPredefBank] - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ld a, [wNameListType] ;VariousNames' entryID - dec a - add a - ld d, 0 - ld e, a - jr nc, .skip - inc d -.skip - ld hl, NamePointers - add hl, de - ld a, [hli] - ld [$ff96], a - ld a, [hl] - ld [$ff95], a - ld a, [$ff95] - ld h, a - ld a, [$ff96] - ld l, a - ld a, [wd0b5] - ld b, a - ld c, 0 -.nextName - ld d, h - ld e, l -.nextChar - ld a, [hli] - cp "@" - jr nz, .nextChar - inc c ;entry counter - ld a, b ;wanted entry - cp c - jr nz, .nextName - ld h, d - ld l, e - ld de, wcd6d - ld bc, $0014 - call CopyData -.gotPtr - ld a, e - ld [wUnusedCF8D], a - ld a, d - ld [wUnusedCF8D + 1], a - pop de - pop bc - pop hl - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ret +INCLUDE "home/names2.asm" GetItemPrice:: ; Stores item's price as BCD at hItemPrice (3 bytes) ; Input: [wcf91] = item id - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wListMenuID] cp MOVESLISTMENU @@ -3331,7 +953,7 @@ GetItemPrice:: jr nz, .ok ld a, $f ; hardcoded Bank .ok - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld hl, wItemPrices ld a, [hli] @@ -3354,14 +976,14 @@ GetItemPrice:: ld [hItemPrice], a jr .done .getTMPrice - ld a, Bank(GetMachinePrice) - ld [H_LOADEDROMBANK], a + ld a, BANK(GetMachinePrice) + ld [hLoadedROMBank], a ld [MBC1RomBank], a call GetMachinePrice .done ld de, hItemPrice pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -3408,10 +1030,10 @@ JoypadLowSensitivity:: jr z, .noNewlyPressedButtons .newlyPressedButtons ld a, 30 ; half a second delay - ld [H_FRAMECOUNTER], a + ld [hFrameCounter], a ret .noNewlyPressedButtons - ld a, [H_FRAMECOUNTER] + ld a, [hFrameCounter] and a ; is the delay over? jr z, .delayOver .delayNotOver @@ -3430,18 +1052,18 @@ JoypadLowSensitivity:: ld [hJoy5], a .setShortDelay ld a, 5 ; 1/12 of a second delay - ld [H_FRAMECOUNTER], a + ld [hFrameCounter], a ret WaitForTextScrollButtonPress:: - ld a, [H_DOWNARROWBLINKCNT1] + ld a, [hDownArrowBlinkCount1] push af - ld a, [H_DOWNARROWBLINKCNT2] + ld a, [hDownArrowBlinkCount2] push af xor a - ld [H_DOWNARROWBLINKCNT1], a + ld [hDownArrowBlinkCount1], a ld a, $6 - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a .loop push hl ld a, [wTownMapSpriteBlinkingEnabled] @@ -3458,9 +1080,9 @@ WaitForTextScrollButtonPress:: and A_BUTTON | B_BUTTON jr z, .loop pop af - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a pop af - ld [H_DOWNARROWBLINKCNT1], a + ld [hDownArrowBlinkCount1], a ret ; (unless in link battle) waits for A or B being pressed and outputs the scrolling sound effect @@ -3503,14 +1125,14 @@ Divide:: push hl push de push bc - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af - ld a, Bank(_Divide) - ld [H_LOADEDROMBANK], a + ld a, BANK(_Divide) + ld [hLoadedROMBank], a ld [MBC1RomBank], a call _Divide pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a pop bc pop de @@ -3535,11 +1157,11 @@ PrintLetterDelay:: jr z, .waitOneFrame ld a, [wOptions] and $f - ld [H_FRAMECOUNTER], a + ld [hFrameCounter], a jr .checkButtons .waitOneFrame ld a, 1 - ld [H_FRAMECOUNTER], a + ld [hFrameCounter], a .checkButtons call Joypad ld a, [hJoyHeld] @@ -3554,7 +1176,7 @@ PrintLetterDelay:: call DelayFrame jr .done .buttonsNotPressed ; if neither A nor B is pressed - ld a, [H_FRAMECOUNTER] + ld a, [hFrameCounter] and a jr nz, .checkButtons .done @@ -3578,248 +1200,7 @@ CopyDataUntil:: jr nz, CopyDataUntil ret -; Function to remove a pokemon from the party or the current box. -; wWhichPokemon determines the pokemon. -; [wRemoveMonFromBox] == 0 specifies the party. -; [wRemoveMonFromBox] != 0 specifies the current box. -RemovePokemon:: - jpab _RemovePokemon - -AddPartyMon:: - push hl - push de - push bc - callba _AddPartyMon - pop bc - pop de - pop hl - ret - -; calculates all 5 stats of current mon and writes them to [de] -CalcStats:: - ld c, $0 -.statsLoop - inc c - call CalcStat - ld a, [H_MULTIPLICAND+1] - ld [de], a - inc de - ld a, [H_MULTIPLICAND+2] - ld [de], a - inc de - ld a, c - cp NUM_STATS - jr nz, .statsLoop - ret - -; calculates stat c of current mon -; c: stat to calc (HP=1,Atk=2,Def=3,Spd=4,Spc=5) -; b: consider stat exp? -; hl: base ptr to stat exp values ([hl + 2*c - 1] and [hl + 2*c]) -CalcStat:: - push hl - push de - push bc - ld a, b - ld d, a - push hl - ld hl, wMonHeader - ld b, $0 - add hl, bc - ld a, [hl] ; read base value of stat - ld e, a - pop hl - push hl - sla c - ld a, d - and a - jr z, .statExpDone ; consider stat exp? - add hl, bc ; skip to corresponding stat exp value -.statExpLoop ; calculates ceil(Sqrt(stat exp)) in b - xor a - ld [H_MULTIPLICAND], a - ld [H_MULTIPLICAND+1], a - inc b ; increment current stat exp bonus - ld a, b - cp $ff - jr z, .statExpDone - ld [H_MULTIPLICAND+2], a - ld [H_MULTIPLIER], a - call Multiply - ld a, [hld] - ld d, a - ld a, [$ff98] - sub d - ld a, [hli] - ld d, a - ld a, [$ff97] - sbc d ; test if (current stat exp bonus)^2 < stat exp - jr c, .statExpLoop -.statExpDone - srl c - pop hl - push bc - ld bc, wPartyMon1DVs - (wPartyMon1HPExp - 1) ; also wEnemyMonDVs - wEnemyMonHP - add hl, bc - pop bc - ld a, c - cp $2 - jr z, .getAttackIV - cp $3 - jr z, .getDefenseIV - cp $4 - jr z, .getSpeedIV - cp $5 - jr z, .getSpecialIV -.getHpIV - push bc - ld a, [hl] ; Atk IV - swap a - and $1 - sla a - sla a - sla a - ld b, a - ld a, [hli] ; Def IV - and $1 - sla a - sla a - add b - ld b, a - ld a, [hl] ; Spd IV - swap a - and $1 - sla a - add b - ld b, a - ld a, [hl] ; Spc IV - and $1 - add b ; HP IV: LSB of the other 4 IVs - pop bc - jr .calcStatFromIV -.getAttackIV - ld a, [hl] - swap a - and $f - jr .calcStatFromIV -.getDefenseIV - ld a, [hl] - and $f - jr .calcStatFromIV -.getSpeedIV - inc hl - ld a, [hl] - swap a - and $f - jr .calcStatFromIV -.getSpecialIV - inc hl - ld a, [hl] - and $f -.calcStatFromIV - ld d, $0 - add e - ld e, a - jr nc, .noCarry - inc d ; de = Base + IV -.noCarry - sla e - rl d ; de = (Base + IV) * 2 - srl b - srl b ; b = ceil(Sqrt(stat exp)) / 4 - ld a, b - add e - jr nc, .noCarry2 - inc d ; de = (Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4 -.noCarry2 - ld [H_MULTIPLICAND+2], a - ld a, d - ld [H_MULTIPLICAND+1], a - xor a - ld [H_MULTIPLICAND], a - ld a, [wCurEnemyLVL] - ld [H_MULTIPLIER], a - call Multiply ; ((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level - ld a, [H_MULTIPLICAND] - ld [H_DIVIDEND], a - ld a, [H_MULTIPLICAND+1] - ld [H_DIVIDEND+1], a - ld a, [H_MULTIPLICAND+2] - ld [H_DIVIDEND+2], a - ld a, $64 - ld [H_DIVISOR], a - ld a, $3 - ld b, a - call Divide ; (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 - ld a, c - cp $1 - ld a, 5 ; + 5 for non-HP stat - jr nz, .notHPStat - ld a, [wCurEnemyLVL] - ld b, a - ld a, [H_MULTIPLICAND+2] - add b - ld [H_MULTIPLICAND+2], a - jr nc, .noCarry3 - ld a, [H_MULTIPLICAND+1] - inc a - ld [H_MULTIPLICAND+1], a ; HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + Level -.noCarry3 - ld a, 10 ; +10 for HP stat -.notHPStat - ld b, a - ld a, [H_MULTIPLICAND+2] - add b - ld [H_MULTIPLICAND+2], a - jr nc, .noCarry4 - ld a, [H_MULTIPLICAND+1] - inc a ; non-HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + 5 - ld [H_MULTIPLICAND+1], a ; HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + Level + 10 -.noCarry4 - ld a, [H_MULTIPLICAND+1] ; check for overflow (>999) - cp 999 / $100 + 1 - jr nc, .overflow - cp 999 / $100 - jr c, .noOverflow - ld a, [H_MULTIPLICAND+2] - cp 999 % $100 + 1 - jr c, .noOverflow -.overflow - ld a, 999 / $100 ; overflow: cap at 999 - ld [H_MULTIPLICAND+1], a - ld a, 999 % $100 - ld [H_MULTIPLICAND+2], a -.noOverflow - pop bc - pop de - pop hl - ret - -AddEnemyMonToPlayerParty:: - ld a, [H_LOADEDROMBANK] - push af - ld a, BANK(_AddEnemyMonToPlayerParty) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - call _AddEnemyMonToPlayerParty - pop bc - ld a, b - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ret - -MoveMon:: - ld a, [H_LOADEDROMBANK] - push af - ld a, BANK(_MoveMon) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - call _MoveMon - pop bc - ld a, b - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ret +INCLUDE "home/move_mon.asm" ; skips a text entries, each of size NAME_LENGTH (like trainer name, OT name, rival name, ...) ; hl: base pointer, will be incremented by NAME_LENGTH * a @@ -3897,14 +1278,14 @@ HandleMenuInput:: ld [wPartyMenuAnimMonEnabled], a HandleMenuInput_:: - ld a, [H_DOWNARROWBLINKCNT1] + ld a, [hDownArrowBlinkCount1] push af - ld a, [H_DOWNARROWBLINKCNT2] + ld a, [hDownArrowBlinkCount2] push af ; save existing values on stack xor a - ld [H_DOWNARROWBLINKCNT1], a ; blinking down arrow timing value 1 + ld [hDownArrowBlinkCount1], a ; blinking down arrow timing value 1 ld a, 6 - ld [H_DOWNARROWBLINKCNT2], a ; blinking down arrow timing value 2 + ld [hDownArrowBlinkCount2], a ; blinking down arrow timing value 2 .loop1 xor a ld [wAnimCounter], a ; counter for pokemon shaking animation @@ -3933,9 +1314,9 @@ HandleMenuInput_:: .giveUpWaiting ; if a key wasn't pressed within the specified number of checks pop af - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a pop af - ld [H_DOWNARROWBLINKCNT1], a ; restore previous values + ld [hDownArrowBlinkCount1], a ; restore previous values xor a ld [wMenuWrappingEnabled], a ; disable menu wrapping ret @@ -3997,9 +1378,9 @@ HandleMenuInput_:: call PlaySound .skipPlayingSound pop af - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a pop af - ld [H_DOWNARROWBLINKCNT1], a ; restore previous values + ld [hDownArrowBlinkCount1], a ; restore previous values xor a ld [wMenuWrappingEnabled], a ; disable menu wrapping ld a, [hJoy5] @@ -4030,7 +1411,7 @@ PlaceMenuCursor:: and a ; was the previous menu id 0? jr z, .checkForArrow1 push af - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] bit 1, a ; is the menu double spaced? jr z, .doubleSpaced1 ld bc, 20 @@ -4056,7 +1437,7 @@ PlaceMenuCursor:: and a jr z, .checkForArrow2 push af - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] bit 1, a ; is the menu double spaced? jr z, .doubleSpaced2 ld bc, 20 @@ -4110,7 +1491,7 @@ EraseMenuCursor:: ; This toggles a blinking down arrow at hl on and off after a delay has passed. ; This is often called even when no blinking is occurring. -; The reason is that most functions that call this initialize H_DOWNARROWBLINKCNT1 to 0. +; The reason is that most functions that call this initialize hDownArrowBlinkCount1 to 0. ; The effect is that if the tile at hl is initialized with a down arrow, ; this function will toggle that down arrow on and off, but if the tile isn't ; initialized with a down arrow, this function does nothing. @@ -4123,36 +1504,36 @@ HandleDownArrowBlinkTiming:: cp b jr nz, .downArrowOff .downArrowOn - ld a, [H_DOWNARROWBLINKCNT1] + ld a, [hDownArrowBlinkCount1] dec a - ld [H_DOWNARROWBLINKCNT1], a + ld [hDownArrowBlinkCount1], a ret nz - ld a, [H_DOWNARROWBLINKCNT2] + ld a, [hDownArrowBlinkCount2] dec a - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a ret nz ld a, " " ld [hl], a ld a, $ff - ld [H_DOWNARROWBLINKCNT1], a + ld [hDownArrowBlinkCount1], a ld a, $06 - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a ret .downArrowOff - ld a, [H_DOWNARROWBLINKCNT1] + ld a, [hDownArrowBlinkCount1] and a ret z dec a - ld [H_DOWNARROWBLINKCNT1], a + ld [hDownArrowBlinkCount1], a ret nz dec a - ld [H_DOWNARROWBLINKCNT1], a - ld a, [H_DOWNARROWBLINKCNT2] + ld [hDownArrowBlinkCount1], a + ld a, [hDownArrowBlinkCount2] dec a - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a ret nz ld a, $06 - ld [H_DOWNARROWBLINKCNT2], a + ld [hDownArrowBlinkCount2], a ld a, "▼" ld [hl], a ret @@ -4187,225 +1568,7 @@ PrintText_NoCreatingTextBox:: coord bc, 1, 14 jp TextCommandProcessor - -PrintNumber:: -; Print the c-digit, b-byte value at de. -; Allows 2 to 7 digits. For 1-digit numbers, add -; the value to char "0" instead of calling PrintNumber. -; Flags LEADING_ZEROES and LEFT_ALIGN can be given -; in bits 7 and 6 of b respectively. - push bc - xor a - ld [H_PASTLEADINGZEROES], a - ld [H_NUMTOPRINT], a - ld [H_NUMTOPRINT + 1], a - ld a, b - and $f - cp 1 - jr z, .byte - cp 2 - jr z, .word -.long - ld a, [de] - ld [H_NUMTOPRINT], a - inc de - ld a, [de] - ld [H_NUMTOPRINT + 1], a - inc de - ld a, [de] - ld [H_NUMTOPRINT + 2], a - jr .start - -.word - ld a, [de] - ld [H_NUMTOPRINT + 1], a - inc de - ld a, [de] - ld [H_NUMTOPRINT + 2], a - jr .start - -.byte - ld a, [de] - ld [H_NUMTOPRINT + 2], a - -.start - push de - - ld d, b - ld a, c - ld b, a - xor a - ld c, a - ld a, b - - cp 2 - jr z, .tens - cp 3 - jr z, .hundreds - cp 4 - jr z, .thousands - cp 5 - jr z, .ten_thousands - cp 6 - jr z, .hundred_thousands - -print_digit: macro - -if (\1) / $10000 - ld a, \1 / $10000 % $100 -else xor a -endc - ld [H_POWEROFTEN + 0], a - -if (\1) / $100 - ld a, \1 / $100 % $100 -else xor a -endc - ld [H_POWEROFTEN + 1], a - - ld a, \1 / $1 % $100 - ld [H_POWEROFTEN + 2], a - - call .PrintDigit - call .NextDigit -endm - -.millions print_digit 1000000 -.hundred_thousands print_digit 100000 -.ten_thousands print_digit 10000 -.thousands print_digit 1000 -.hundreds print_digit 100 - -.tens - ld c, 0 - ld a, [H_NUMTOPRINT + 2] -.mod - cp 10 - jr c, .ok - sub 10 - inc c - jr .mod -.ok - - ld b, a - ld a, [H_PASTLEADINGZEROES] - or c - ld [H_PASTLEADINGZEROES], a - jr nz, .past - call .PrintLeadingZero - jr .next -.past - ld a, "0" - add c - ld [hl], a -.next - - call .NextDigit -.ones - ld a, "0" - add b - ld [hli], a - pop de - dec de - pop bc - ret - -.PrintDigit: -; Divide by the current decimal place. -; Print the quotient, and keep the modulus. - ld c, 0 -.loop - ld a, [H_POWEROFTEN] - ld b, a - ld a, [H_NUMTOPRINT] - ld [H_SAVEDNUMTOPRINT], a - cp b - jr c, .underflow0 - sub b - ld [H_NUMTOPRINT], a - ld a, [H_POWEROFTEN + 1] - ld b, a - ld a, [H_NUMTOPRINT + 1] - ld [H_SAVEDNUMTOPRINT + 1], a - cp b - jr nc, .noborrow1 - - ld a, [H_NUMTOPRINT] - or 0 - jr z, .underflow1 - dec a - ld [H_NUMTOPRINT], a - ld a, [H_NUMTOPRINT + 1] -.noborrow1 - - sub b - ld [H_NUMTOPRINT + 1], a - ld a, [H_POWEROFTEN + 2] - ld b, a - ld a, [H_NUMTOPRINT + 2] - ld [H_SAVEDNUMTOPRINT + 2], a - cp b - jr nc, .noborrow2 - - ld a, [H_NUMTOPRINT + 1] - and a - jr nz, .borrowed - - ld a, [H_NUMTOPRINT] - and a - jr z, .underflow2 - dec a - ld [H_NUMTOPRINT], a - xor a -.borrowed - - dec a - ld [H_NUMTOPRINT + 1], a - ld a, [H_NUMTOPRINT + 2] -.noborrow2 - sub b - ld [H_NUMTOPRINT + 2], a - inc c - jr .loop - -.underflow2 - ld a, [H_SAVEDNUMTOPRINT + 1] - ld [H_NUMTOPRINT + 1], a -.underflow1 - ld a, [H_SAVEDNUMTOPRINT] - ld [H_NUMTOPRINT], a -.underflow0 - ld a, [H_PASTLEADINGZEROES] - or c - jr z, .PrintLeadingZero - - ld a, "0" - add c - ld [hl], a - ld [H_PASTLEADINGZEROES], a - ret - -.PrintLeadingZero: - bit BIT_LEADING_ZEROES, d - ret z - ld [hl], "0" - ret - -.NextDigit: -; Increment unless the number is left-aligned, -; leading zeroes are not printed, and no digits -; have been printed yet. - bit BIT_LEADING_ZEROES, d - jr nz, .inc - bit BIT_LEFT_ALIGN, d - jr z, .inc - ld a, [H_PASTLEADINGZEROES] - and a - ret z -.inc - inc hl - ret - +INCLUDE "home/print_num.asm" CallFunctionInTable:: ; Call function a in jumptable hl. @@ -4429,7 +1592,6 @@ CallFunctionInTable:: pop hl ret - IsInArray:: ; Search an array at hl for the value in a. ; Entry size is de bytes. @@ -4456,7 +1618,6 @@ IsInRestOfArray:: scf ret - RestoreScreenTilesAndReloadTilePatterns:: call ClearSprites ld a, $1 @@ -4467,7 +1628,6 @@ RestoreScreenTilesAndReloadTilePatterns:: call RunDefaultPaletteCommand jr Delay3 - GBPalWhiteOutWithDelay3:: call GBPalWhiteOut @@ -4493,9 +1653,8 @@ GBPalWhiteOut:: ld [rOBP1], a ret - RunDefaultPaletteCommand:: - ld b, $ff + ld b, SET_PAL_DEFAULT RunPaletteCommand:: ld a, [wOnSGB] and a @@ -4537,7 +1696,6 @@ ReloadMapSpriteTilePatterns:: call LoadFontTilePatterns jp UpdateSprites - GiveItem:: ; Give player quantity c of item b, ; and copy the item's name to wcf4b. @@ -4565,7 +1723,6 @@ GivePokemon:: ld [wMonDataLocation], a jpba _GivePokemon - Random:: ; Return a random number in a. ; For battles, use BattleRandom. @@ -4579,30 +1736,28 @@ Random:: pop hl ret - INCLUDE "home/predef.asm" - UpdateCinnabarGymGateTileBlocks:: jpba UpdateCinnabarGymGateTileBlocks_ CheckForHiddenObjectOrBookshelfOrCardKeyDoor:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [hJoyHeld] bit 0, a ; A button jr z, .nothingFound ; A button is pressed - ld a, Bank(CheckForHiddenObject) + ld a, BANK(CheckForHiddenObject) ld [MBC1RomBank], a - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a call CheckForHiddenObject - ld a, [$ffee] + ld a, [hFoundHiddenObject] and a jr nz, .hiddenObjectNotFound ld a, [wHiddenObjectFunctionRomBank] ld [MBC1RomBank], a - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld de, .returnAddress push de jp hl @@ -4611,16 +1766,16 @@ CheckForHiddenObjectOrBookshelfOrCardKeyDoor:: jr .done .hiddenObjectNotFound callba PrintBookshelfText - ld a, [$ffdb] + ld a, [hFFDB] and a jr z, .done .nothingFound ld a, $ff .done - ld [$ffeb], a + ld [hFoundHiddenObjectOrBookshelf], a pop af ld [MBC1RomBank], a - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ret PrintPredefTextID:: @@ -4633,89 +1788,21 @@ PrintPredefTextID:: RestoreMapTextPointer:: ld hl, wMapTextPtr - ld a, [$ffec] + ld a, [hSavedMapTextPtr] ld [hli], a - ld a, [$ffec + 1] + ld a, [hSavedMapTextPtr + 1] ld [hl], a ret SetMapTextPointer:: ld a, [wMapTextPtr] - ld [$ffec], a + ld [hSavedMapTextPtr], a ld a, [wMapTextPtr + 1] - ld [$ffec + 1], a + ld [hSavedMapTextPtr + 1], a ld a, l ld [wMapTextPtr], a ld a, h ld [wMapTextPtr + 1], a ret -TextPredefs:: -const_value = 1 - - add_tx_pre CardKeySuccessText ; 01 - add_tx_pre CardKeyFailText ; 02 - add_tx_pre RedBedroomPCText ; 03 - add_tx_pre RedBedroomSNESText ; 04 - add_tx_pre PushStartText ; 05 - add_tx_pre SaveOptionText ; 06 - add_tx_pre StrengthsAndWeaknessesText ; 07 - add_tx_pre OakLabEmailText ; 08 - add_tx_pre AerodactylFossilText ; 09 - add_tx_pre Route15UpstairsBinocularsText ; 0A - add_tx_pre KabutopsFossilText ; 0B - add_tx_pre GymStatueText1 ; 0C - add_tx_pre GymStatueText2 ; 0D - add_tx_pre BookcaseText ; 0E - add_tx_pre ViridianCityPokecenterBenchGuyText ; 0F - add_tx_pre PewterCityPokecenterBenchGuyText ; 10 - add_tx_pre CeruleanCityPokecenterBenchGuyText ; 11 - add_tx_pre LavenderCityPokecenterBenchGuyText ; 12 - add_tx_pre VermilionCityPokecenterBenchGuyText ; 13 - add_tx_pre CeladonCityPokecenterBenchGuyText ; 14 - add_tx_pre CeladonCityHotelText ; 15 - add_tx_pre FuchsiaCityPokecenterBenchGuyText ; 16 - add_tx_pre CinnabarIslandPokecenterBenchGuyText ; 17 - add_tx_pre SaffronCityPokecenterBenchGuyText ; 18 - add_tx_pre MtMoonPokecenterBenchGuyText ; 19 - add_tx_pre RockTunnelPokecenterBenchGuyText ; 1A - add_tx_pre UnusedBenchGuyText1 ; 1B XXX unused - add_tx_pre UnusedBenchGuyText2 ; 1C XXX unused - add_tx_pre UnusedBenchGuyText3 ; 1D XXX unused - add_tx_pre UnusedPredefText ; 1E XXX unused - add_tx_pre PokemonCenterPCText ; 1F - add_tx_pre ViridianSchoolNotebook ; 20 - add_tx_pre ViridianSchoolBlackboard ; 21 - add_tx_pre JustAMomentText ; 22 - add_tx_pre OpenBillsPCText ; 23 - add_tx_pre FoundHiddenItemText ; 24 - add_tx_pre HiddenItemBagFullText ; 25 XXX unused - add_tx_pre VermilionGymTrashText ; 26 - add_tx_pre IndigoPlateauHQText ; 27 - add_tx_pre GameCornerOutOfOrderText ; 28 - add_tx_pre GameCornerOutToLunchText ; 29 - add_tx_pre GameCornerSomeonesKeysText ; 2A - add_tx_pre FoundHiddenCoinsText ; 2B - add_tx_pre DroppedHiddenCoinsText ; 2C - add_tx_pre BillsHouseMonitorText ; 2D - add_tx_pre BillsHouseInitiatedText ; 2E - add_tx_pre BillsHousePokemonList ; 2F - add_tx_pre MagazinesText ; 30 - add_tx_pre CinnabarGymQuiz ; 31 - add_tx_pre GameCornerNoCoinsText ; 32 - add_tx_pre GameCornerCoinCaseText ; 33 - add_tx_pre LinkCableHelp ; 34 - add_tx_pre TMNotebook ; 35 - add_tx_pre FightingDojoText ; 36 - add_tx_pre EnemiesOnEverySideText ; 37 - add_tx_pre WhatGoesAroundComesAroundText ; 38 - add_tx_pre NewBicycleText ; 39 - add_tx_pre IndigoPlateauStatues ; 3A - add_tx_pre VermilionGymTrashSuccessText1 ; 3B - add_tx_pre VermilionGymTrashSuccessText2 ; 3C XXX unused - add_tx_pre VermilionGymTrashSuccessText3 ; 3D - add_tx_pre VermilionGymTrashFailText ; 3E - add_tx_pre TownMapText ; 3F - add_tx_pre BookOrSculptureText ; 40 - add_tx_pre ElevatorText ; 41 - add_tx_pre PokemonStuffText ; 42 +INCLUDE "data/text_predef_pointers.asm" diff --git a/home/audio.asm b/home/audio.asm index 242f038b..04f0276d 100644 --- a/home/audio.asm +++ b/home/audio.asm @@ -170,10 +170,10 @@ PlaySound:: .noFadeOut xor a ld [wNewSoundID], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [hSavedROMBank], a ld a, [wAudioROMBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a cp BANK(Audio1_PlaySound) jr nz, .checkForAudio2 @@ -198,7 +198,7 @@ PlaySound:: .next2 ld a, [hSavedROMBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a jr .done diff --git a/home/bankswitch.asm b/home/bankswitch.asm new file mode 100644 index 00000000..086ca2f3 --- /dev/null +++ b/home/bankswitch.asm @@ -0,0 +1,35 @@ +BankswitchHome:: +; switches to bank # in a +; Only use this when in the home bank! + ld [wBankswitchHomeTemp], a + ld a, [hLoadedROMBank] + ld [wBankswitchHomeSavedROMBank], a + ld a, [wBankswitchHomeTemp] + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret + +BankswitchBack:: +; returns from BankswitchHome + ld a, [wBankswitchHomeSavedROMBank] + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret + +Bankswitch:: +; self-contained bankswitch, use this when not in the home bank +; switches to the bank in b + ld a, [hLoadedROMBank] + push af + ld a, b + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ld bc, .Return + push bc + jp hl +.Return + pop bc + ld a, b + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret diff --git a/home/clear_sprites.asm b/home/clear_sprites.asm new file mode 100644 index 00000000..34f4b4ec --- /dev/null +++ b/home/clear_sprites.asm @@ -0,0 +1,21 @@ +ClearSprites:: + xor a + ld hl, wOAMBuffer + ld b, 40 * 4 +.loop + ld [hli], a + dec b + jr nz, .loop + ret + +HideSprites:: + ld a, 160 + ld hl, wOAMBuffer + ld de, 4 + ld b, 40 +.loop + ld [hl], a + add hl, de + dec b + jr nz, .loop + ret diff --git a/home/copy.asm b/home/copy.asm index be9c8c0c..910f508b 100644 --- a/home/copy.asm +++ b/home/copy.asm @@ -1,14 +1,14 @@ FarCopyData:: ; Copy bc bytes from a:hl to de. ld [wBuffer], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wBuffer] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call CopyData pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret diff --git a/home/copy2.asm b/home/copy2.asm index d4f35668..521223b6 100644 --- a/home/copy2.asm +++ b/home/copy2.asm @@ -2,24 +2,24 @@ FarCopyData2:: ; Identical to FarCopyData, but uses hROMBankTemp ; as temp space instead of wBuffer. ld [hROMBankTemp], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [hROMBankTemp] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call CopyData pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret FarCopyData3:: ; Copy bc bytes from a:de to hl. ld [hROMBankTemp], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [hROMBankTemp] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a push hl push de @@ -31,7 +31,7 @@ FarCopyData3:: pop de pop hl pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -39,10 +39,10 @@ FarCopyDataDouble:: ; Expand bc bytes of 1bpp image data ; from a:hl to 2bpp data at de. ld [hROMBankTemp], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [hROMBankTemp] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a .loop ld a, [hli] @@ -55,7 +55,7 @@ FarCopyDataDouble:: or b jr nz, .loop pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -64,27 +64,27 @@ CopyVideoData:: ; tiles from b:de to hl, 8 tiles at a time. ; This takes c/8 frames. - ld a, [H_AUTOBGTRANSFERENABLED] + ld a, [hAutoBGTransferEnabled] push af xor a ; disable auto-transfer while copying - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [hROMBankTemp], a ld a, b - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld a, e - ld [H_VBCOPYSRC], a + ld [hVBlankCopySource], a ld a, d - ld [H_VBCOPYSRC + 1], a + ld [hVBlankCopySource + 1], a ld a, l - ld [H_VBCOPYDEST], a + ld [hVBlankCopyDest], a ld a, h - ld [H_VBCOPYDEST + 1], a + ld [hVBlankCopyDest + 1], a .loop ld a, c @@ -92,18 +92,18 @@ CopyVideoData:: jr nc, .keepgoing .done - ld [H_VBCOPYSIZE], a + ld [hVBlankCopySize], a call DelayFrame ld a, [hROMBankTemp] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a pop af - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret .keepgoing ld a, 8 - ld [H_VBCOPYSIZE], a + ld [hVBlankCopySize], a call DelayFrame ld a, c sub 8 @@ -114,26 +114,26 @@ CopyVideoDataDouble:: ; Wait for the next VBlank, then copy c 1bpp ; tiles from b:de to hl, 8 tiles at a time. ; This takes c/8 frames. - ld a, [H_AUTOBGTRANSFERENABLED] + ld a, [hAutoBGTransferEnabled] push af xor a ; disable auto-transfer while copying - ld [H_AUTOBGTRANSFERENABLED], a - ld a, [H_LOADEDROMBANK] + ld [hAutoBGTransferEnabled], a + ld a, [hLoadedROMBank] ld [hROMBankTemp], a ld a, b - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld a, e - ld [H_VBCOPYDOUBLESRC], a + ld [hVBlankCopyDoubleSource], a ld a, d - ld [H_VBCOPYDOUBLESRC + 1], a + ld [hVBlankCopyDoubleSource + 1], a ld a, l - ld [H_VBCOPYDOUBLEDEST], a + ld [hVBlankCopyDoubleDest], a ld a, h - ld [H_VBCOPYDOUBLEDEST + 1], a + ld [hVBlankCopyDoubleDest + 1], a .loop ld a, c @@ -141,18 +141,18 @@ CopyVideoDataDouble:: jr nc, .keepgoing .done - ld [H_VBCOPYDOUBLESIZE], a + ld [hVBlankCopyDoubleSize], a call DelayFrame ld a, [hROMBankTemp] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a pop af - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ret .keepgoing ld a, 8 - ld [H_VBCOPYDOUBLESIZE], a + ld [hVBlankCopyDoubleSize], a call DelayFrame ld a, c sub 8 @@ -200,16 +200,16 @@ CopyScreenTileBufferToVRAM:: .setup ld a, d - ld [H_VBCOPYBGSRC+1], a + ld [hVBlankCopyBGSource+1], a call GetRowColAddressBgMap ld a, l - ld [H_VBCOPYBGDEST], a + ld [hVBlankCopyBGDest], a ld a, h - ld [H_VBCOPYBGDEST+1], a + ld [hVBlankCopyBGDest+1], a ld a, c - ld [H_VBCOPYBGNUMROWS], a + ld [hVBlankCopyBGNumRows], a ld a, e - ld [H_VBCOPYBGSRC], a + ld [hVBlankCopyBGSource], a ret ClearScreen:: diff --git a/home/header.asm b/home/header.asm new file mode 100644 index 00000000..047f97f4 --- /dev/null +++ b/home/header.asm @@ -0,0 +1,57 @@ +; rst vectors (unused) + +SECTION "rst0", ROM0[$0000] + rst $38 + +SECTION "rst8", ROM0[$0008] + rst $38 + +SECTION "rst10", ROM0[$0010] + rst $38 + +SECTION "rst18", ROM0[$0018] + rst $38 + +SECTION "rst20", ROM0[$0020] + rst $38 + +SECTION "rst28", ROM0[$0028] + rst $38 + +SECTION "rst30", ROM0[$0030] + rst $38 + +SECTION "rst38", ROM0[$0038] + rst $38 + + +; Game Boy hardware interrupts + +SECTION "vblank", ROM0[$0040] + jp VBlank + +SECTION "lcd", ROM0[$0048] + rst $38 + +SECTION "timer", ROM0[$0050] + jp Timer + +SECTION "serial", ROM0[$0058] + jp Serial + +SECTION "joypad", ROM0[$0060] + reti + + +SECTION "Header", ROM0[$0100] + +Start:: +; Nintendo requires all Game Boy ROMs to begin with a nop ($00) and a jp ($C3) +; to the starting address. + nop + jp _Start + +; The Game Boy cartridge header data is patched over by rgbfix. +; This makes sure it doesn't get used for anything else. + + ds $0150 - @, $00 diff --git a/home/init.asm b/home/init.asm index 9e3e2c82..83238bad 100644 --- a/home/init.asm +++ b/home/init.asm @@ -41,8 +41,8 @@ rLCDC_DEFAULT EQU %11100011 ld sp, wStack - ld hl, $c000 ; start of WRAM - ld bc, $2000 ; size of WRAM + ld hl, WRAM0_Begin + ld bc, WRAM1_End - WRAM0_Begin .loop ld [hl], 0 inc hl @@ -53,14 +53,14 @@ rLCDC_DEFAULT EQU %11100011 call ClearVram - ld hl, $ff80 - ld bc, $ffff - $ff80 + ld hl, HRAM_Begin + ld bc, HRAM_End - HRAM_Begin call FillMemory call ClearSprites - ld a, Bank(WriteDMACodeToHRAM) - ld [H_LOADEDROMBANK], a + ld a, BANK(WriteDMACodeToHRAM) + ld [hLoadedROMBank], a ld [MBC1RomBank], a call WriteDMACodeToHRAM @@ -101,9 +101,9 @@ rLCDC_DEFAULT EQU %11100011 ld [wAudioROMBank], a ld [wAudioSavedROMBank], a ld a, $9c - ld [H_AUTOBGTRANSFERDEST + 1], a + ld [hAutoBGTransferDest + 1], a xor a - ld [H_AUTOBGTRANSFERDEST], a + ld [hAutoBGTransferDest], a dec a ld [wUpdateSpritesEnabled], a @@ -119,8 +119,8 @@ rLCDC_DEFAULT EQU %11100011 jp SetDefaultNamesBeforeTitlescreen ClearVram:: - ld hl, $8000 - ld bc, $2000 + ld hl, VRAM_Begin + ld bc, VRAM_End - VRAM_Begin xor a jp FillMemory diff --git a/home/lcd.asm b/home/lcd.asm new file mode 100644 index 00000000..e88a42b3 --- /dev/null +++ b/home/lcd.asm @@ -0,0 +1,25 @@ +DisableLCD:: + xor a + ld [rIF], a + ld a, [rIE] + ld b, a + res 0, a + ld [rIE], a + +.wait + ld a, [rLY] + cp LY_VBLANK + jr nz, .wait + + ld a, [rLCDC] + and $ff ^ rLCDC_ENABLE_MASK + ld [rLCDC], a + ld a, b + ld [rIE], a + ret + +EnableLCD:: + ld a, [rLCDC] + set rLCDC_ENABLE, a + ld [rLCDC], a + ret diff --git a/home/list_menu.asm b/home/list_menu.asm new file mode 100644 index 00000000..4ce973b2 --- /dev/null +++ b/home/list_menu.asm @@ -0,0 +1,526 @@ +; INPUT: +; [wListMenuID] = list menu ID +; [wListPointer] = address of the list (2 bytes) +DisplayListMenuID:: + xor a + ld [hAutoBGTransferEnabled], a ; disable auto-transfer + ld a, 1 + ld [hJoy7], a ; joypad state update flag + ld a, [wBattleType] + and a ; is it the Old Man battle? + jr nz, .specialBattleType + ld a, $01 ; hardcoded bank + jr .bankswitch +.specialBattleType ; Old Man battle + ld a, BANK(DisplayBattleMenu) +.bankswitch + call BankswitchHome + ld hl, wd730 + set 6, [hl] ; turn off letter printing delay + xor a + ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped + ld [wListCount], a + ld a, [wListPointer] + ld l, a + ld a, [wListPointer + 1] + ld h, a ; hl = address of the list + ld a, [hl] ; the first byte is the number of entries in the list + ld [wListCount], a + ld a, LIST_MENU_BOX + ld [wTextBoxID], a + call DisplayTextBoxID ; draw the menu text box + call UpdateSprites ; disable sprites behind the text box +; the code up to .skipMovingSprites appears to be useless + coord hl, 4, 2 ; coordinates of upper left corner of menu text box + lb de, 9, 14 ; height and width of menu text box + ld a, [wListMenuID] + and a ; is it a PC pokemon list? + jr nz, .skipMovingSprites + call UpdateSprites +.skipMovingSprites + ld a, 1 ; max menu item ID is 1 if the list has less than 2 entries + ld [wMenuWatchMovingOutOfBounds], a + ld a, [wListCount] + cp 2 ; does the list have less than 2 entries? + jr c, .setMenuVariables + ld a, 2 ; max menu item ID is 2 if the list has at least 2 entries +.setMenuVariables + ld [wMaxMenuItem], a + ld a, 4 + ld [wTopMenuItemY], a + ld a, 5 + ld [wTopMenuItemX], a + ld a, A_BUTTON | B_BUTTON | SELECT + ld [wMenuWatchedKeys], a + ld c, 10 + call DelayFrames + +DisplayListMenuIDLoop:: + xor a + ld [hAutoBGTransferEnabled], a ; disable transfer + call PrintListMenuEntries + ld a, 1 + ld [hAutoBGTransferEnabled], a ; enable transfer + call Delay3 + ld a, [wBattleType] + and a ; is it the Old Man battle? + jr z, .notOldManBattle +.oldManBattle + ld a, "▶" + Coorda 5, 4 ; place menu cursor in front of first menu entry + ld c, 80 + call DelayFrames + xor a + ld [wCurrentMenuItem], a + coord hl, 5, 4 + ld a, l + ld [wMenuCursorLocation], a + ld a, h + ld [wMenuCursorLocation + 1], a + jr .buttonAPressed +.notOldManBattle + call LoadGBPal + call HandleMenuInput + push af + call PlaceMenuCursor + pop af + bit 0, a ; was the A button pressed? + jp z, .checkOtherKeys +.buttonAPressed + ld a, [wCurrentMenuItem] + call PlaceUnfilledArrowMenuCursor + +; pointless because both values are overwritten before they are read + ld a, $01 + ld [wMenuExitMethod], a + ld [wChosenMenuItem], a + + xor a + ld [wMenuWatchMovingOutOfBounds], a + ld a, [wCurrentMenuItem] + ld c, a + ld a, [wListScrollOffset] + add c + ld c, a + ld a, [wListCount] + and a ; is the list empty? + jp z, ExitListMenu ; if so, exit the menu + dec a + cp c ; did the player select Cancel? + jp c, ExitListMenu ; if so, exit the menu + ld a, c + ld [wWhichPokemon], a + ld a, [wListMenuID] + cp ITEMLISTMENU + jr nz, .skipMultiplying +; if it's an item menu + sla c ; item entries are 2 bytes long, so multiply by 2 +.skipMultiplying + ld a, [wListPointer] + ld l, a + ld a, [wListPointer + 1] + ld h, a + inc hl ; hl = beginning of list entries + ld b, 0 + add hl, bc + ld a, [hl] + ld [wcf91], a + ld a, [wListMenuID] + and a ; is it a PC pokemon list? + jr z, .pokemonList + push hl + call GetItemPrice + pop hl + ld a, [wListMenuID] + cp ITEMLISTMENU + jr nz, .skipGettingQuantity +; if it's an item menu + inc hl + ld a, [hl] ; a = item quantity + ld [wMaxItemQuantity], a +.skipGettingQuantity + ld a, [wcf91] + ld [wd0b5], a + ld a, BANK(ItemNames) + ld [wPredefBank], a + call GetName + jr .storeChosenEntry +.pokemonList + ld hl, wPartyCount + ld a, [wListPointer] + cp l ; is it a list of party pokemon or box pokemon? + ld hl, wPartyMonNicks + jr z, .getPokemonName + ld hl, wBoxMonNicks ; box pokemon names +.getPokemonName + ld a, [wWhichPokemon] + call GetPartyMonName +.storeChosenEntry ; store the menu entry that the player chose and return + ld de, wcd6d + call CopyStringToCF4B ; copy name to wcf4b + ld a, CHOSE_MENU_ITEM + ld [wMenuExitMethod], a + ld a, [wCurrentMenuItem] + ld [wChosenMenuItem], a + xor a + ld [hJoy7], a ; joypad state update flag + ld hl, wd730 + res 6, [hl] ; turn on letter printing delay + jp BankswitchBack +.checkOtherKeys ; check B, SELECT, Up, and Down keys + bit 1, a ; was the B button pressed? + jp nz, ExitListMenu ; if so, exit the menu + bit 2, a ; was the select button pressed? + jp nz, HandleItemListSwapping ; if so, allow the player to swap menu entries + ld b, a + bit 7, b ; was Down pressed? + ld hl, wListScrollOffset + jr z, .upPressed +.downPressed + ld a, [hl] + add 3 + ld b, a + ld a, [wListCount] + cp b ; will going down scroll past the Cancel button? + jp c, DisplayListMenuIDLoop + inc [hl] ; if not, go down + jp DisplayListMenuIDLoop +.upPressed + ld a, [hl] + and a + jp z, DisplayListMenuIDLoop + dec [hl] + jp DisplayListMenuIDLoop + +DisplayChooseQuantityMenu:: +; text box dimensions/coordinates for just quantity + coord hl, 15, 9 + ld b, 1 ; height + ld c, 3 ; width + ld a, [wListMenuID] + cp PRICEDITEMLISTMENU + jr nz, .drawTextBox +; text box dimensions/coordinates for quantity and price + coord hl, 7, 9 + ld b, 1 ; height + ld c, 11 ; width +.drawTextBox + call TextBoxBorder + coord hl, 16, 10 + ld a, [wListMenuID] + cp PRICEDITEMLISTMENU + jr nz, .printInitialQuantity + coord hl, 8, 10 +.printInitialQuantity + ld de, InitialQuantityText + call PlaceString + xor a + ld [wItemQuantity], a ; initialize current quantity to 0 + jp .incrementQuantity +.waitForKeyPressLoop + call JoypadLowSensitivity + ld a, [hJoyPressed] ; newly pressed buttons + bit 0, a ; was the A button pressed? + jp nz, .buttonAPressed + bit 1, a ; was the B button pressed? + jp nz, .buttonBPressed + bit 6, a ; was Up pressed? + jr nz, .incrementQuantity + bit 7, a ; was Down pressed? + jr nz, .decrementQuantity + jr .waitForKeyPressLoop +.incrementQuantity + ld a, [wMaxItemQuantity] + inc a + ld b, a + ld hl, wItemQuantity ; current quantity + inc [hl] + ld a, [hl] + cp b + jr nz, .handleNewQuantity +; wrap to 1 if the player goes above the max quantity + ld a, 1 + ld [hl], a + jr .handleNewQuantity +.decrementQuantity + ld hl, wItemQuantity ; current quantity + dec [hl] + jr nz, .handleNewQuantity +; wrap to the max quantity if the player goes below 1 + ld a, [wMaxItemQuantity] + ld [hl], a +.handleNewQuantity + coord hl, 17, 10 + ld a, [wListMenuID] + cp PRICEDITEMLISTMENU + jr nz, .printQuantity +.printPrice + ld c, $03 + ld a, [wItemQuantity] + ld b, a + ld hl, hMoney ; total price +; initialize total price to 0 + xor a + ld [hli], a + ld [hli], a + ld [hl], a +.addLoop ; loop to multiply the individual price by the quantity to get the total price + ld de, hMoney + 2 + ld hl, hItemPrice + 2 + push bc + predef AddBCDPredef ; add the individual price to the current sum + pop bc + dec b + jr nz, .addLoop + ld a, [hHalveItemPrices] + and a ; should the price be halved (for selling items)? + jr z, .skipHalvingPrice + xor a + ld [hDivideBCDDivisor], a + ld [hDivideBCDDivisor + 1], a + ld a, $02 + ld [hDivideBCDDivisor + 2], a + predef DivideBCDPredef3 ; halves the price +; store the halved price + ld a, [hDivideBCDQuotient] + ld [hMoney], a + ld a, [hDivideBCDQuotient + 1] + ld [hMoney + 1], a + ld a, [hDivideBCDQuotient + 2] + ld [hMoney + 2], a +.skipHalvingPrice + coord hl, 12, 10 + ld de, SpacesBetweenQuantityAndPriceText + call PlaceString + ld de, hMoney ; total price + ld c, $a3 + call PrintBCDNumber + coord hl, 9, 10 +.printQuantity + ld de, wItemQuantity ; current quantity + lb bc, LEADING_ZEROES | 1, 2 ; 1 byte, 2 digits + call PrintNumber + jp .waitForKeyPressLoop +.buttonAPressed ; the player chose to make the transaction + xor a + ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped + ret +.buttonBPressed ; the player chose to cancel the transaction + xor a + ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped + ld a, $ff + ret + +InitialQuantityText:: + db "×01@" + +SpacesBetweenQuantityAndPriceText:: + db " @" + +ExitListMenu:: + ld a, [wCurrentMenuItem] + ld [wChosenMenuItem], a + ld a, CANCELLED_MENU + ld [wMenuExitMethod], a + ld [wMenuWatchMovingOutOfBounds], a + xor a + ld [hJoy7], a + ld hl, wd730 + res 6, [hl] + call BankswitchBack + xor a + ld [wMenuItemToSwap], a ; 0 means no item is currently being swapped + scf + ret + +PrintListMenuEntries:: + coord hl, 5, 3 + ld b, 9 + ld c, 14 + call ClearScreenArea + ld a, [wListPointer] + ld e, a + ld a, [wListPointer + 1] + ld d, a + inc de ; de = beginning of list entries + ld a, [wListScrollOffset] + ld c, a + ld a, [wListMenuID] + cp ITEMLISTMENU + ld a, c + jr nz, .skipMultiplying +; if it's an item menu +; item entries are 2 bytes long, so multiply by 2 + sla a + sla c +.skipMultiplying + add e + ld e, a + jr nc, .noCarry + inc d +.noCarry + coord hl, 6, 4 ; coordinates of first list entry name + ld b, 4 ; print 4 names +.loop + ld a, b + ld [wWhichPokemon], a + ld a, [de] + ld [wd11e], a + cp $ff + jp z, .printCancelMenuItem + push bc + push de + push hl + push hl + push de + ld a, [wListMenuID] + and a + jr z, .pokemonPCMenu + cp MOVESLISTMENU + jr z, .movesMenu +.itemMenu + call GetItemName + jr .placeNameString +.pokemonPCMenu + push hl + ld hl, wPartyCount + ld a, [wListPointer] + cp l ; is it a list of party pokemon or box pokemon? + ld hl, wPartyMonNicks + jr z, .getPokemonName + ld hl, wBoxMonNicks ; box pokemon names +.getPokemonName + ld a, [wWhichPokemon] + ld b, a + ld a, 4 + sub b + ld b, a + ld a, [wListScrollOffset] + add b + call GetPartyMonName + pop hl + jr .placeNameString +.movesMenu + call GetMoveName +.placeNameString + call PlaceString + pop de + pop hl + ld a, [wPrintItemPrices] + and a ; should prices be printed? + jr z, .skipPrintingItemPrice +.printItemPrice + push hl + ld a, [de] + ld de, ItemPrices + ld [wcf91], a + call GetItemPrice ; get price + pop hl + ld bc, SCREEN_WIDTH + 5 ; 1 row down and 5 columns right + add hl, bc + ld c, $a3 ; no leading zeroes, right-aligned, print currency symbol, 3 bytes + call PrintBCDNumber +.skipPrintingItemPrice + ld a, [wListMenuID] + and a + jr nz, .skipPrintingPokemonLevel +.printPokemonLevel + ld a, [wd11e] + push af + push hl + ld hl, wPartyCount + ld a, [wListPointer] + cp l ; is it a list of party pokemon or box pokemon? + ld a, PLAYER_PARTY_DATA + jr z, .next + ld a, BOX_DATA +.next + ld [wMonDataLocation], a + ld hl, wWhichPokemon + ld a, [hl] + ld b, a + ld a, $04 + sub b + ld b, a + ld a, [wListScrollOffset] + add b + ld [hl], a + call LoadMonData + ld a, [wMonDataLocation] + and a ; is it a list of party pokemon or box pokemon? + jr z, .skipCopyingLevel +.copyLevel + ld a, [wLoadedMonBoxLevel] + ld [wLoadedMonLevel], a +.skipCopyingLevel + pop hl + ld bc, $1c + add hl, bc + call PrintLevel + pop af + ld [wd11e], a +.skipPrintingPokemonLevel + pop hl + pop de + inc de + ld a, [wListMenuID] + cp ITEMLISTMENU + jr nz, .nextListEntry +.printItemQuantity + ld a, [wd11e] + ld [wcf91], a + call IsKeyItem ; check if item is unsellable + ld a, [wIsKeyItem] + and a ; is the item unsellable? + jr nz, .skipPrintingItemQuantity ; if so, don't print the quantity + push hl + ld bc, SCREEN_WIDTH + 8 ; 1 row down and 8 columns right + add hl, bc + ld a, "×" + ld [hli], a + ld a, [wd11e] + push af + ld a, [de] + ld [wMaxItemQuantity], a + push de + ld de, wd11e + ld [de], a + lb bc, 1, 2 + call PrintNumber + pop de + pop af + ld [wd11e], a + pop hl +.skipPrintingItemQuantity + inc de + pop bc + inc c + push bc + inc c + ld a, [wMenuItemToSwap] ; ID of item chosen for swapping (counts from 1) + and a ; is an item being swapped? + jr z, .nextListEntry + sla a + cp c ; is it this item? + jr nz, .nextListEntry + dec hl + ld a, $ec ; unfilled right arrow menu cursor to indicate an item being swapped + ld [hli], a +.nextListEntry + ld bc, 2 * SCREEN_WIDTH ; 2 rows + add hl, bc + pop bc + inc c + dec b + jp nz, .loop + ld bc, -8 + add hl, bc + ld a, "▼" + ld [hl], a + ret +.printCancelMenuItem + ld de, ListMenuCancelText + jp PlaceString + +ListMenuCancelText:: + db "CANCEL@" diff --git a/home/move_mon.asm b/home/move_mon.asm new file mode 100644 index 00000000..e13ebf4e --- /dev/null +++ b/home/move_mon.asm @@ -0,0 +1,242 @@ +; Function to remove a pokemon from the party or the current box. +; wWhichPokemon determines the pokemon. +; [wRemoveMonFromBox] == 0 specifies the party. +; [wRemoveMonFromBox] != 0 specifies the current box. +RemovePokemon:: + jpab _RemovePokemon + +AddPartyMon:: + push hl + push de + push bc + callba _AddPartyMon + pop bc + pop de + pop hl + ret + +; calculates all 5 stats of current mon and writes them to [de] +CalcStats:: + ld c, $0 +.statsLoop + inc c + call CalcStat + ld a, [hMultiplicand+1] + ld [de], a + inc de + ld a, [hMultiplicand+2] + ld [de], a + inc de + ld a, c + cp NUM_STATS + jr nz, .statsLoop + ret + +; calculates stat c of current mon +; c: stat to calc (HP=1,Atk=2,Def=3,Spd=4,Spc=5) +; b: consider stat exp? +; hl: base ptr to stat exp values ([hl + 2*c - 1] and [hl + 2*c]) +CalcStat:: + push hl + push de + push bc + ld a, b + ld d, a + push hl + ld hl, wMonHeader + ld b, $0 + add hl, bc + ld a, [hl] ; read base value of stat + ld e, a + pop hl + push hl + sla c + ld a, d + and a + jr z, .statExpDone ; consider stat exp? + add hl, bc ; skip to corresponding stat exp value +.statExpLoop ; calculates ceil(Sqrt(stat exp)) in b + xor a + ld [hMultiplicand], a + ld [hMultiplicand+1], a + inc b ; increment current stat exp bonus + ld a, b + cp $ff + jr z, .statExpDone + ld [hMultiplicand+2], a + ld [hMultiplier], a + call Multiply + ld a, [hld] + ld d, a + ld a, [hProduct + 3] + sub d + ld a, [hli] + ld d, a + ld a, [hProduct + 2] + sbc d ; test if (current stat exp bonus)^2 < stat exp + jr c, .statExpLoop +.statExpDone + srl c + pop hl + push bc + ld bc, wPartyMon1DVs - (wPartyMon1HPExp - 1) ; also wEnemyMonDVs - wEnemyMonHP + add hl, bc + pop bc + ld a, c + cp $2 + jr z, .getAttackIV + cp $3 + jr z, .getDefenseIV + cp $4 + jr z, .getSpeedIV + cp $5 + jr z, .getSpecialIV +.getHpIV + push bc + ld a, [hl] ; Atk IV + swap a + and $1 + sla a + sla a + sla a + ld b, a + ld a, [hli] ; Def IV + and $1 + sla a + sla a + add b + ld b, a + ld a, [hl] ; Spd IV + swap a + and $1 + sla a + add b + ld b, a + ld a, [hl] ; Spc IV + and $1 + add b ; HP IV: LSB of the other 4 IVs + pop bc + jr .calcStatFromIV +.getAttackIV + ld a, [hl] + swap a + and $f + jr .calcStatFromIV +.getDefenseIV + ld a, [hl] + and $f + jr .calcStatFromIV +.getSpeedIV + inc hl + ld a, [hl] + swap a + and $f + jr .calcStatFromIV +.getSpecialIV + inc hl + ld a, [hl] + and $f +.calcStatFromIV + ld d, $0 + add e + ld e, a + jr nc, .noCarry + inc d ; de = Base + IV +.noCarry + sla e + rl d ; de = (Base + IV) * 2 + srl b + srl b ; b = ceil(Sqrt(stat exp)) / 4 + ld a, b + add e + jr nc, .noCarry2 + inc d ; de = (Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4 +.noCarry2 + ld [hMultiplicand+2], a + ld a, d + ld [hMultiplicand+1], a + xor a + ld [hMultiplicand], a + ld a, [wCurEnemyLVL] + ld [hMultiplier], a + call Multiply ; ((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level + ld a, [hMultiplicand] + ld [hDividend], a + ld a, [hMultiplicand+1] + ld [hDividend+1], a + ld a, [hMultiplicand+2] + ld [hDividend+2], a + ld a, $64 + ld [hDivisor], a + ld a, $3 + ld b, a + call Divide ; (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + ld a, c + cp $1 + ld a, 5 ; + 5 for non-HP stat + jr nz, .notHPStat + ld a, [wCurEnemyLVL] + ld b, a + ld a, [hMultiplicand+2] + add b + ld [hMultiplicand+2], a + jr nc, .noCarry3 + ld a, [hMultiplicand+1] + inc a + ld [hMultiplicand+1], a ; HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + Level +.noCarry3 + ld a, 10 ; +10 for HP stat +.notHPStat + ld b, a + ld a, [hMultiplicand+2] + add b + ld [hMultiplicand+2], a + jr nc, .noCarry4 + ld a, [hMultiplicand+1] + inc a ; non-HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + 5 + ld [hMultiplicand+1], a ; HP: (((Base + IV) * 2 + ceil(Sqrt(stat exp)) / 4) * Level) / 100 + Level + 10 +.noCarry4 + ld a, [hMultiplicand+1] ; check for overflow (>999) + cp 999 / $100 + 1 + jr nc, .overflow + cp 999 / $100 + jr c, .noOverflow + ld a, [hMultiplicand+2] + cp 999 % $100 + 1 + jr c, .noOverflow +.overflow + ld a, 999 / $100 ; overflow: cap at 999 + ld [hMultiplicand+1], a + ld a, 999 % $100 + ld [hMultiplicand+2], a +.noOverflow + pop bc + pop de + pop hl + ret + +AddEnemyMonToPlayerParty:: + ld a, [hLoadedROMBank] + push af + ld a, BANK(_AddEnemyMonToPlayerParty) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call _AddEnemyMonToPlayerParty + pop bc + ld a, b + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret + +MoveMon:: + ld a, [hLoadedROMBank] + push af + ld a, BANK(_MoveMon) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call _MoveMon + pop bc + ld a, b + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret diff --git a/home/names.asm b/home/names.asm new file mode 100644 index 00000000..cbc8910b --- /dev/null +++ b/home/names.asm @@ -0,0 +1,141 @@ +GetMonName:: + push hl + ld a, [hLoadedROMBank] + push af + ld a, BANK(MonsterNames) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ld a, [wd11e] + dec a + ld hl, MonsterNames + ld c, 10 + ld b, 0 + call AddNTimes + ld de, wcd6d + push de + ld bc, 10 + call CopyData + ld hl, wcd6d + 10 + ld [hl], "@" + pop de + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + pop hl + ret + +GetItemName:: +; given an item ID at [wd11e], store the name of the item into a string +; starting at wcd6d + push hl + push bc + ld a, [wd11e] + cp HM_01 ; is this a TM/HM? + jr nc, .Machine + + ld [wd0b5], a + ld a, ITEM_NAME + ld [wNameListType], a + ld a, BANK(ItemNames) + ld [wPredefBank], a + call GetName + jr .Finish + +.Machine + call GetMachineName +.Finish + ld de, wcd6d ; pointer to where item name is stored in RAM + pop bc + pop hl + ret + +GetMachineName:: +; copies the name of the TM/HM in [wd11e] to wcd6d + push hl + push de + push bc + ld a, [wd11e] + push af + cp TM_01 ; is this a TM? [not HM] + jr nc, .WriteTM +; if HM, then write "HM" and add 5 to the item ID, so we can reuse the +; TM printing code + add 5 + ld [wd11e], a + ld hl, HiddenPrefix ; points to "HM" + ld bc, 2 + jr .WriteMachinePrefix +.WriteTM + ld hl, TechnicalPrefix ; points to "TM" + ld bc, 2 +.WriteMachinePrefix + ld de, wcd6d + call CopyData + +; now get the machine number and convert it to text + ld a, [wd11e] + sub TM_01 - 1 + ld b, "0" +.FirstDigit + sub 10 + jr c, .SecondDigit + inc b + jr .FirstDigit +.SecondDigit + add 10 + push af + ld a, b + ld [de], a + inc de + pop af + ld b, "0" + add b + ld [de], a + inc de + ld a, "@" + ld [de], a + pop af + ld [wd11e], a + pop bc + pop de + pop hl + ret + +TechnicalPrefix:: + db "TM" +HiddenPrefix:: + db "HM" + +; sets carry if item is HM, clears carry if item is not HM +; Input: a = item ID +IsItemHM:: + cp HM_01 + jr c, .notHM + cp TM_01 + ret +.notHM + and a + ret + +; sets carry if move is an HM, clears carry if move is not an HM +; Input: a = move ID +IsMoveHM:: + ld hl, HMMoves + ld de, 1 + jp IsInArray + +HMMoves:: +INCLUDE "data/moves/hm_moves.asm" + +GetMoveName:: + push hl + ld a, MOVE_NAME + ld [wNameListType], a + ld a, [wd11e] + ld [wd0b5], a + ld a, BANK(MoveNames) + ld [wPredefBank], a + call GetName + ld de, wcd6d ; pointer to where move name is stored in RAM + pop hl + ret diff --git a/home/names2.asm b/home/names2.asm new file mode 100644 index 00000000..319febd3 --- /dev/null +++ b/home/names2.asm @@ -0,0 +1,93 @@ +NamePointers:: + dw MonsterNames + dw MoveNames + dw UnusedNames + dw ItemNames + dw wPartyMonOT ; player's OT names list + dw wEnemyMonOT ; enemy's OT names list + dw TrainerNames + +GetName:: +; arguments: +; [wd0b5] = which name +; [wNameListType] = which list +; [wPredefBank] = bank of list +; +; returns pointer to name in de + ld a, [wd0b5] + ld [wd11e], a + + ; TM names are separate from item names. + ; BUG: This applies to all names instead of just items. + cp HM_01 + jp nc, GetMachineName + + ld a, [hLoadedROMBank] + push af + push hl + push bc + push de + ld a, [wNameListType] ;List3759_entrySelector + dec a + jr nz, .otherEntries + ;1 = MON_NAMES + call GetMonName + ld hl, NAME_LENGTH + add hl, de + ld e, l + ld d, h + jr .gotPtr +.otherEntries + ;2-7 = OTHER ENTRIES + ld a, [wPredefBank] + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ld a, [wNameListType] ;VariousNames' entryID + dec a + add a + ld d, 0 + ld e, a + jr nc, .skip + inc d +.skip + ld hl, NamePointers + add hl, de + ld a, [hli] + ld [hSwapTemp + 1], a + ld a, [hl] + ld [hSwapTemp], a + ld a, [hSwapTemp] + ld h, a + ld a, [hSwapTemp + 1] + ld l, a + ld a, [wd0b5] + ld b, a + ld c, 0 +.nextName + ld d, h + ld e, l +.nextChar + ld a, [hli] + cp "@" + jr nz, .nextChar + inc c ;entry counter + ld a, b ;wanted entry + cp c + jr nz, .nextName + ld h, d + ld l, e + ld de, wcd6d + ld bc, $14 + call CopyData +.gotPtr + ld a, e + ld [wUnusedCF8D], a + ld a, d + ld [wUnusedCF8D + 1], a + pop de + pop bc + pop hl + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret diff --git a/home/overworld.asm b/home/overworld.asm index b96efcb4..79e4ea97 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -88,7 +88,7 @@ OverworldLoopLessDelay:: call IsPlayerCharacterBeingControlledByGame jr nz, .checkForOpponent call CheckForHiddenObjectOrBookshelfOrCardKeyDoor - ld a, [$ffeb] + ld a, [hFoundHiddenObjectOrBookshelf] and a jp z, OverworldLoop ; jump if a hidden object or bookshelf was found, but not if a card key door was found call IsSpriteOrSignInFrontOfPlayer @@ -762,8 +762,8 @@ HandleBlackOut:: call StopMusic ld hl, wd72e res 5, [hl] - ld a, Bank(ResetStatusAndHalveMoneyOnBlackout) ; also Bank(SpecialWarpIn) and Bank(SpecialEnterMap) - ld [H_LOADEDROMBANK], a + ld a, BANK(ResetStatusAndHalveMoneyOnBlackout) ; also BANK(SpecialWarpIn) and BANK(SpecialEnterMap) + ld [hLoadedROMBank], a ld [MBC1RomBank], a call ResetStatusAndHalveMoneyOnBlackout call SpecialWarpIn @@ -772,7 +772,7 @@ HandleBlackOut:: StopMusic:: ld [wAudioFadeOutControl], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound .wait @@ -793,8 +793,8 @@ HandleFlyWarpOrDungeonWarp:: set 2, [hl] ; fly warp or dungeon warp res 5, [hl] ; forced to ride bike call LeaveMapAnim - ld a, Bank(SpecialWarpIn) - ld [H_LOADEDROMBANK], a + ld a, BANK(SpecialWarpIn) + ld [hLoadedROMBank], a ld [MBC1RomBank], a call SpecialWarpIn jp SpecialEnterMap @@ -867,7 +867,7 @@ IsBikeRidingAllowed:: scf ret -INCLUDE "data/bike_riding_tilesets.asm" +INCLUDE "data/tilesets/bike_riding_tilesets.asm" ; load the tile pattern data of the current tileset into VRAM LoadTilesetTilePatternData:: @@ -1372,10 +1372,10 @@ TilePairCollisionsWater:: ; this builds a tile map from the tile block map based on the current X/Y coordinates of the player's character LoadCurrentMapView:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [wTilesetBank] ; tile data ROM bank - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ; switch to ROM bank that contains tile data ld a, [wCurrentTileBlockMapViewPointer] ; address of upper left corner of current map view ld e, a @@ -1424,18 +1424,18 @@ LoadCurrentMapView:: dec b jr nz, .rowLoop ld hl, wTileMapBackup - ld bc, $0000 + ld bc, $0 .adjustForYCoordWithinTileBlock ld a, [wYBlockCoord] and a jr z, .adjustForXCoordWithinTileBlock - ld bc, $0030 + ld bc, $30 add hl, bc .adjustForXCoordWithinTileBlock ld a, [wXBlockCoord] and a jr z, .copyToVisibleAreaBuffer - ld bc, $0002 + ld bc, $2 add hl, bc .copyToVisibleAreaBuffer coord de, 0, 0 ; base address for the tiles that are directly transferred to VRAM during V-blank @@ -1457,7 +1457,7 @@ LoadCurrentMapView:: dec b jr nz, .rowLoop2 pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ; restore previous ROM bank ret @@ -1739,7 +1739,7 @@ ScheduleSouthRowRedraw:: ld l, a ld a, [wMapViewVRAMPointer + 1] ld h, a - ld bc, $0200 + ld bc, $200 add hl, bc ld a, h and $03 @@ -1835,7 +1835,7 @@ DrawTileBlock:: ld a, [de] ld [hl], a inc de - ld bc, $0015 + ld bc, $15 add hl, bc pop bc dec c @@ -2180,7 +2180,7 @@ LoadMapHeader:: jr nz, .zeroSpriteDataLoop ; initialize all C100-C1FF sprite entries to disabled (other than player's) ld hl, wSpriteStateData1 + $12 - ld de, $0010 + ld de, $10 ld c, $0f .disableSpriteEntriesLoop ld [hl], $ff @@ -2291,10 +2291,10 @@ LoadMapHeader:: ld a, [wCurMap] ld c, a ld b, $00 - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, BANK(MapSongBanks) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld hl, MapSongBanks add hl, bc @@ -2304,7 +2304,7 @@ LoadMapHeader:: ld a, [hl] ld [wMapMusicROMBank], a ; music 2 pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2322,7 +2322,7 @@ CopyMapConnectionHeader:: ; function to load map data LoadMapData:: - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af call DisableLCD ld a, $98 @@ -2377,7 +2377,7 @@ LoadMapData:: call PlayDefaultMusicFadeOutCurrent .restoreRomBank pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret @@ -2388,15 +2388,15 @@ SwitchToMapRomBank:: push bc ld c, a ld b, $00 - ld a, Bank(MapHeaderBanks) + ld a, BANK(MapHeaderBanks) call BankswitchHome ; switch to ROM bank 3 ld hl, MapHeaderBanks add hl, bc ld a, [hl] - ld [$ffe8], a ; save map ROM bank + ld [hMapROMBank], a ; save map ROM bank call BankswitchBack - ld a, [$ffe8] - ld [H_LOADEDROMBANK], a + ld a, [hMapROMBank] + ld [hLoadedROMBank], a ld [MBC1RomBank], a ; switch to map ROM bank pop bc pop hl diff --git a/home/overworld_text.asm b/home/overworld_text.asm new file mode 100644 index 00000000..b32335f7 --- /dev/null +++ b/home/overworld_text.asm @@ -0,0 +1,31 @@ +TextScriptEndingChar:: + db "@" + +TextScriptEnd:: + ld hl, TextScriptEndingChar + ret + +ExclamationText:: + TX_FAR _ExclamationText + db "@" + +GroundRoseText:: + TX_FAR _GroundRoseText + db "@" + +BoulderText:: + TX_FAR _BoulderText + db "@" + +MartSignText:: + TX_FAR _MartSignText + db "@" + +PokeCenterSignText:: + TX_FAR _PokeCenterSignText + db "@" + +PickUpItemText:: + TX_ASM + predef PickUpItem + jp TextScriptEnd diff --git a/home/pic.asm b/home/pic.asm deleted file mode 100644 index a1c18e8a..00000000 --- a/home/pic.asm +++ /dev/null @@ -1,591 +0,0 @@ -; bankswitches and runs _UncompressSpriteData -; bank is given in a, sprite input stream is pointed to in wSpriteInputPtr -UncompressSpriteData:: - ld b, a - ld a, [H_LOADEDROMBANK] - push af - ld a, b - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ld a, SRAM_ENABLE - ld [MBC1SRamEnable], a - xor a - ld [MBC1SRamBank], a - call _UncompressSpriteData - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - ret - -; initializes necessary data to load a sprite and runs UncompressSpriteDataLoop -_UncompressSpriteData:: - ld hl, sSpriteBuffer1 - ld c, (2*SPRITEBUFFERSIZE) % $100 - ld b, (2*SPRITEBUFFERSIZE) / $100 - xor a - call FillMemory ; clear sprite buffer 1 and 2 - ld a, $1 - ld [wSpriteInputBitCounter], a - ld a, $3 - ld [wSpriteOutputBitOffset], a - xor a - ld [wSpriteCurPosX], a - ld [wSpriteCurPosY], a - ld [wSpriteLoadFlags], a - call ReadNextInputByte ; first byte of input determines sprite width (high nybble) and height (low nybble) in tiles (8x8 pixels) - ld b, a - and $f - add a - add a - add a - ld [wSpriteHeight], a - ld a, b - swap a - and $f - add a - add a - add a - ld [wSpriteWidth], a - call ReadNextInputBit - ld [wSpriteLoadFlags], a ; initialite bit1 to 0 and bit0 to the first input bit - ; this will load two chunks of data to sSpriteBuffer1 and sSpriteBuffer2 - ; bit 0 decides in which one the first chunk is placed - ; fall through - -; uncompresses a chunk from the sprite input data stream (pointed to at wd0da) into sSpriteBuffer1 or sSpriteBuffer2 -; each chunk is a 1bpp sprite. A 2bpp sprite consist of two chunks which are merged afterwards -; note that this is an endless loop which is terminated during a call to MoveToNextBufferPosition by manipulating the stack -UncompressSpriteDataLoop:: - ld hl, sSpriteBuffer1 - ld a, [wSpriteLoadFlags] - bit 0, a - jr z, .useSpriteBuffer1 ; check which buffer to use - ld hl, sSpriteBuffer2 -.useSpriteBuffer1 - call StoreSpriteOutputPointer - ld a, [wSpriteLoadFlags] - bit 1, a - jr z, .startDecompression ; check if last iteration - call ReadNextInputBit ; if last chunk, read 1-2 bit unpacking mode - and a - jr z, .unpackingMode0 ; 0 -> mode 0 - call ReadNextInputBit ; 1 0 -> mode 1 - inc a ; 1 1 -> mode 2 -.unpackingMode0 - ld [wSpriteUnpackMode], a -.startDecompression - call ReadNextInputBit - and a - jr z, .readRLEncodedZeros ; if first bit is 0, the input starts with zeroes, otherwise with (non-zero) input -.readNextInput - call ReadNextInputBit - ld c, a - call ReadNextInputBit - sla c - or c ; read next two bits into c - and a - jr z, .readRLEncodedZeros ; 00 -> RLEncoded zeroes following - call WriteSpriteBitsToBuffer ; otherwise write input to output and repeat - call MoveToNextBufferPosition - jr .readNextInput -.readRLEncodedZeros - ld c, $0 ; number of zeroes it length encoded, the number -.countConsecutiveOnesLoop ; of consecutive ones determines the number of bits the number has - call ReadNextInputBit - and a - jr z, .countConsecutiveOnesFinished - inc c - jr .countConsecutiveOnesLoop -.countConsecutiveOnesFinished - ld a, c - add a - ld hl, LengthEncodingOffsetList - add l - ld l, a - jr nc, .noCarry - inc h -.noCarry - ld a, [hli] ; read offset that is added to the number later on - ld e, a ; adding an offset of 2^length - 1 makes every integer uniquely - ld d, [hl] ; representable in the length encoding and saves bits - push de - inc c - ld e, $0 - ld d, e -.readNumberOfZerosLoop ; reads the next c+1 bits of input - call ReadNextInputBit - or e - ld e, a - dec c - jr z, .readNumberOfZerosDone - sla e - rl d - jr .readNumberOfZerosLoop -.readNumberOfZerosDone - pop hl ; add the offset - add hl, de - ld e, l - ld d, h -.writeZerosLoop - ld b, e - xor a ; write 00 to buffer - call WriteSpriteBitsToBuffer - ld e, b - call MoveToNextBufferPosition - dec de - ld a, d - and a - jr nz, .continueLoop - ld a, e - and a -.continueLoop - jr nz, .writeZerosLoop - jr .readNextInput - -; moves output pointer to next position -; also cancels the calling function if the all output is done (by removing the return pointer from stack) -; and calls postprocessing functions according to the unpack mode -MoveToNextBufferPosition:: - ld a, [wSpriteHeight] - ld b, a - ld a, [wSpriteCurPosY] - inc a - cp b - jr z, .curColumnDone - ld [wSpriteCurPosY], a - ld a, [wSpriteOutputPtr] - inc a - ld [wSpriteOutputPtr], a - ret nz - ld a, [wSpriteOutputPtr+1] - inc a - ld [wSpriteOutputPtr+1], a - ret -.curColumnDone - xor a - ld [wSpriteCurPosY], a - ld a, [wSpriteOutputBitOffset] - and a - jr z, .bitOffsetsDone - dec a - ld [wSpriteOutputBitOffset], a - ld hl, wSpriteOutputPtrCached - ld a, [hli] - ld [wSpriteOutputPtr], a - ld a, [hl] - ld [wSpriteOutputPtr+1], a - ret -.bitOffsetsDone - ld a, $3 - ld [wSpriteOutputBitOffset], a - ld a, [wSpriteCurPosX] - add $8 - ld [wSpriteCurPosX], a - ld b, a - ld a, [wSpriteWidth] - cp b - jr z, .allColumnsDone - ld a, [wSpriteOutputPtr] - ld l, a - ld a, [wSpriteOutputPtr+1] - ld h, a - inc hl - jp StoreSpriteOutputPointer -.allColumnsDone - pop hl - xor a - ld [wSpriteCurPosX], a - ld a, [wSpriteLoadFlags] - bit 1, a - jr nz, .done ; test if there is one more sprite to go - xor $1 - set 1, a - ld [wSpriteLoadFlags], a - jp UncompressSpriteDataLoop -.done - jp UnpackSprite - -; writes 2 bits (from a) to the output buffer (pointed to from wSpriteOutputPtr) -WriteSpriteBitsToBuffer:: - ld e, a - ld a, [wSpriteOutputBitOffset] - and a - jr z, .offset0 - cp $2 - jr c, .offset1 - jr z, .offset2 - rrc e ; offset 3 - rrc e - jr .offset0 -.offset1 - sla e - sla e - jr .offset0 -.offset2 - swap e -.offset0 - ld a, [wSpriteOutputPtr] - ld l, a - ld a, [wSpriteOutputPtr+1] - ld h, a - ld a, [hl] - or e - ld [hl], a - ret - -; reads next bit from input stream and returns it in a -ReadNextInputBit:: - ld a, [wSpriteInputBitCounter] - dec a - jr nz, .curByteHasMoreBitsToRead - call ReadNextInputByte - ld [wSpriteInputCurByte], a - ld a, $8 -.curByteHasMoreBitsToRead - ld [wSpriteInputBitCounter], a - ld a, [wSpriteInputCurByte] - rlca - ld [wSpriteInputCurByte], a - and $1 - ret - -; reads next byte from input stream and returns it in a -ReadNextInputByte:: - ld a, [wSpriteInputPtr] - ld l, a - ld a, [wSpriteInputPtr+1] - ld h, a - ld a, [hli] - ld b, a - ld a, l - ld [wSpriteInputPtr], a - ld a, h - ld [wSpriteInputPtr+1], a - ld a, b - ret - -; the nth item is 2^n - 1 -LengthEncodingOffsetList:: - dw %0000000000000001 - dw %0000000000000011 - dw %0000000000000111 - dw %0000000000001111 - dw %0000000000011111 - dw %0000000000111111 - dw %0000000001111111 - dw %0000000011111111 - dw %0000000111111111 - dw %0000001111111111 - dw %0000011111111111 - dw %0000111111111111 - dw %0001111111111111 - dw %0011111111111111 - dw %0111111111111111 - dw %1111111111111111 - -; unpacks the sprite data depending on the unpack mode -UnpackSprite:: - ld a, [wSpriteUnpackMode] - cp $2 - jp z, UnpackSpriteMode2 - and a - jp nz, XorSpriteChunks - ld hl, sSpriteBuffer1 - call SpriteDifferentialDecode - ld hl, sSpriteBuffer2 - ; fall through - -; decodes differential encoded sprite data -; input bit value 0 preserves the current bit value and input bit value 1 toggles it (starting from initial value 0). -SpriteDifferentialDecode:: - xor a - ld [wSpriteCurPosX], a - ld [wSpriteCurPosY], a - call StoreSpriteOutputPointer - ld a, [wSpriteFlipped] - and a - jr z, .notFlipped - ld hl, DecodeNybble0TableFlipped - ld de, DecodeNybble1TableFlipped - jr .storeDecodeTablesPointers -.notFlipped - ld hl, DecodeNybble0Table - ld de, DecodeNybble1Table -.storeDecodeTablesPointers - ld a, l - ld [wSpriteDecodeTable0Ptr], a - ld a, h - ld [wSpriteDecodeTable0Ptr+1], a - ld a, e - ld [wSpriteDecodeTable1Ptr], a - ld a, d - ld [wSpriteDecodeTable1Ptr+1], a - ld e, $0 ; last decoded nybble, initialized to 0 -.decodeNextByteLoop - ld a, [wSpriteOutputPtr] - ld l, a - ld a, [wSpriteOutputPtr+1] - ld h, a - ld a, [hl] - ld b, a - swap a - and $f - call DifferentialDecodeNybble ; decode high nybble - swap a - ld d, a - ld a, b - and $f - call DifferentialDecodeNybble ; decode low nybble - or d - ld b, a - ld a, [wSpriteOutputPtr] - ld l, a - ld a, [wSpriteOutputPtr+1] - ld h, a - ld a, b - ld [hl], a ; write back decoded data - ld a, [wSpriteHeight] - add l ; move on to next column - jr nc, .noCarry - inc h -.noCarry - ld [wSpriteOutputPtr], a - ld a, h - ld [wSpriteOutputPtr+1], a - ld a, [wSpriteCurPosX] - add $8 - ld [wSpriteCurPosX], a - ld b, a - ld a, [wSpriteWidth] - cp b - jr nz, .decodeNextByteLoop ; test if current row is done - xor a - ld e, a - ld [wSpriteCurPosX], a - ld a, [wSpriteCurPosY] ; move on to next row - inc a - ld [wSpriteCurPosY], a - ld b, a - ld a, [wSpriteHeight] - cp b - jr z, .done ; test if all rows finished - ld a, [wSpriteOutputPtrCached] - ld l, a - ld a, [wSpriteOutputPtrCached+1] - ld h, a - inc hl - call StoreSpriteOutputPointer - jr .decodeNextByteLoop -.done - xor a - ld [wSpriteCurPosY], a - ret - -; decodes the nybble stored in a. Last decoded data is assumed to be in e (needed to determine if initial value is 0 or 1) -DifferentialDecodeNybble:: - srl a ; c=a%2, a/=2 - ld c, $0 - jr nc, .evenNumber - ld c, $1 -.evenNumber - ld l, a - ld a, [wSpriteFlipped] - and a - jr z, .notFlipped ; determine if initial value is 0 or one - bit 3, e ; if flipped, consider MSB of last data - jr .selectLookupTable -.notFlipped - bit 0, e ; else consider LSB -.selectLookupTable - ld e, l - jr nz, .initialValue1 ; load the appropriate table - ld a, [wSpriteDecodeTable0Ptr] - ld l, a - ld a, [wSpriteDecodeTable0Ptr+1] - jr .tableLookup -.initialValue1 - ld a, [wSpriteDecodeTable1Ptr] - ld l, a - ld a, [wSpriteDecodeTable1Ptr+1] -.tableLookup - ld h, a - ld a, e - add l - ld l, a - jr nc, .noCarry - inc h -.noCarry - ld a, [hl] - bit 0, c - jr nz, .selectLowNybble - swap a ; select high nybble -.selectLowNybble - and $f - ld e, a ; update last decoded data - ret - -DecodeNybble0Table:: - dn $0, $1 - dn $3, $2 - dn $7, $6 - dn $4, $5 - dn $f, $e - dn $c, $d - dn $8, $9 - dn $b, $a -DecodeNybble1Table:: - dn $f, $e - dn $c, $d - dn $8, $9 - dn $b, $a - dn $0, $1 - dn $3, $2 - dn $7, $6 - dn $4, $5 -DecodeNybble0TableFlipped:: - dn $0, $8 - dn $c, $4 - dn $e, $6 - dn $2, $a - dn $f, $7 - dn $3, $b - dn $1, $9 - dn $d, $5 -DecodeNybble1TableFlipped:: - dn $f, $7 - dn $3, $b - dn $1, $9 - dn $d, $5 - dn $0, $8 - dn $c, $4 - dn $e, $6 - dn $2, $a - -; combines the two loaded chunks with xor (the chunk loaded second is the destination). The source chunk is differeintial decoded beforehand. -XorSpriteChunks:: - xor a - ld [wSpriteCurPosX], a - ld [wSpriteCurPosY], a - call ResetSpriteBufferPointers - ld a, [wSpriteOutputPtr] ; points to buffer 1 or 2, depending on flags - ld l, a - ld a, [wSpriteOutputPtr+1] - ld h, a - call SpriteDifferentialDecode ; decode buffer 1 or 2, depending on flags - call ResetSpriteBufferPointers - ld a, [wSpriteOutputPtr] ; source buffer, points to buffer 1 or 2, depending on flags - ld l, a - ld a, [wSpriteOutputPtr+1] - ld h, a - ld a, [wSpriteOutputPtrCached] ; destination buffer, points to buffer 2 or 1, depending on flags - ld e, a - ld a, [wSpriteOutputPtrCached+1] - ld d, a -.xorChunksLoop - ld a, [wSpriteFlipped] - and a - jr z, .notFlipped - push de - ld a, [de] - ld b, a - swap a - and $f - call ReverseNybble ; if flipped reverse the nybbles in the destination buffer - swap a - ld c, a - ld a, b - and $f - call ReverseNybble - or c - pop de - ld [de], a -.notFlipped - ld a, [hli] - ld b, a - ld a, [de] - xor b - ld [de], a - inc de - ld a, [wSpriteCurPosY] - inc a - ld [wSpriteCurPosY], a ; go to next row - ld b, a - ld a, [wSpriteHeight] - cp b - jr nz, .xorChunksLoop ; test if column finished - xor a - ld [wSpriteCurPosY], a - ld a, [wSpriteCurPosX] - add $8 - ld [wSpriteCurPosX], a ; go to next column - ld b, a - ld a, [wSpriteWidth] - cp b - jr nz, .xorChunksLoop ; test if all columns finished - xor a - ld [wSpriteCurPosX], a - ret - -; reverses the bits in the nybble given in register a -ReverseNybble:: - ld de, NybbleReverseTable - add e - ld e, a - jr nc, .noCarry - inc d -.noCarry - ld a, [de] - ret - -; resets sprite buffer pointers to buffer 1 and 2, depending on wSpriteLoadFlags -ResetSpriteBufferPointers:: - ld a, [wSpriteLoadFlags] - bit 0, a - jr nz, .buffer2Selected - ld de, sSpriteBuffer1 - ld hl, sSpriteBuffer2 - jr .storeBufferPointers -.buffer2Selected - ld de, sSpriteBuffer2 - ld hl, sSpriteBuffer1 -.storeBufferPointers - ld a, l - ld [wSpriteOutputPtr], a - ld a, h - ld [wSpriteOutputPtr+1], a - ld a, e - ld [wSpriteOutputPtrCached], a - ld a, d - ld [wSpriteOutputPtrCached+1], a - ret - -; maps each nybble to its reverse -NybbleReverseTable:: - db $0, $8, $4, $c, $2, $a, $6 ,$e, $1, $9, $5, $d, $3, $b, $7 ,$f - -; combines the two loaded chunks with xor (the chunk loaded second is the destination). Both chunks are differeintial decoded beforehand. -UnpackSpriteMode2:: - call ResetSpriteBufferPointers - ld a, [wSpriteFlipped] - push af - xor a - ld [wSpriteFlipped], a ; temporarily clear flipped flag for decoding the destination chunk - ld a, [wSpriteOutputPtrCached] - ld l, a - ld a, [wSpriteOutputPtrCached+1] - ld h, a - call SpriteDifferentialDecode - call ResetSpriteBufferPointers - pop af - ld [wSpriteFlipped], a - jp XorSpriteChunks - -; stores hl into the output pointers -StoreSpriteOutputPointer:: - ld a, l - ld [wSpriteOutputPtr], a - ld [wSpriteOutputPtrCached], a - ld a, h - ld [wSpriteOutputPtr+1], a - ld [wSpriteOutputPtrCached+1], a - ret diff --git a/home/pics.asm b/home/pics.asm new file mode 100644 index 00000000..c6d99cbb --- /dev/null +++ b/home/pics.asm @@ -0,0 +1,196 @@ +; uncompresses the front or back sprite of the specified mon +; assumes the corresponding mon header is already loaded +; hl contains offset to sprite pointer ($b for front or $d for back) +UncompressMonSprite:: + ld bc, wMonHeader + add hl, bc + ld a, [hli] + ld [wSpriteInputPtr], a ; fetch sprite input pointer + ld a, [hl] + ld [wSpriteInputPtr+1], a +; define (by index number) the bank that a pokemon's image is in +; index = Mew, bank 1 +; index = Kabutops fossil, bank $B +; index < $1F, bank 9 +; $1F ≤ index < $4A, bank $A +; $4A ≤ index < $74, bank $B +; $74 ≤ index < $99, bank $C +; $99 ≤ index, bank $D + ld a, [wcf91] ; XXX name for this ram location + ld b, a + cp MEW + ld a, BANK(MewPicFront) + jr z, .GotBank + ld a, b + cp FOSSIL_KABUTOPS + ld a, BANK(FossilKabutopsPic) + jr z, .GotBank + ld a, b + cp TANGELA + 1 + ld a, BANK(TangelaPicFront) + jr c, .GotBank + ld a, b + cp MOLTRES + 1 + ld a, BANK(MoltresPicFront) + jr c, .GotBank + ld a, b + cp BEEDRILL + 2 + ld a, BANK(BeedrillPicFront) + jr c, .GotBank + ld a, b + cp STARMIE + 1 + ld a, BANK(StarmiePicFront) + jr c, .GotBank + ld a, BANK(VictreebelPicFront) +.GotBank + jp UncompressSpriteData + +; de: destination location +LoadMonFrontSprite:: + push de + ld hl, wMonHFrontSprite - wMonHeader + call UncompressMonSprite + ld hl, wMonHSpriteDim + ld a, [hli] + ld c, a + pop de + ; fall through + +; postprocesses uncompressed sprite chunks to a 2bpp sprite and loads it into video ram +; calculates alignment parameters to place both sprite chunks in the center of the 7*7 tile sprite buffers +; de: destination location +; a,c: sprite dimensions (in tiles of 8x8 each) +LoadUncompressedSpriteData:: + push de + and $f + ld [hSpriteWidth], a ; each byte contains 8 pixels (in 1bpp), so tiles=bytes for width + ld b, a + ld a, $7 + sub b ; 7-w + inc a ; 8-w + srl a ; (8-w)/2 ; horizontal center (in tiles, rounded up) + ld b, a + add a + add a + add a + sub b ; 7*((8-w)/2) ; skip for horizontal center (in tiles) + ld [hSpriteOffset], a + ld a, c + swap a + and $f + ld b, a + add a + add a + add a ; 8*tiles is height in bytes + ld [hSpriteHeight], a + ld a, $7 + sub b ; 7-h ; skip for vertical center (in tiles, relative to current column) + ld b, a + ld a, [hSpriteOffset] + add b ; 7*((8-w)/2) + 7-h ; combined overall offset (in tiles) + add a + add a + add a ; 8*(7*((8-w)/2) + 7-h) ; combined overall offset (in bytes) + ld [hSpriteOffset], a + xor a + ld [MBC1SRamBank], a + ld hl, sSpriteBuffer0 + call ZeroSpriteBuffer ; zero buffer 0 + ld de, sSpriteBuffer1 + ld hl, sSpriteBuffer0 + call AlignSpriteDataCentered ; copy and align buffer 1 to 0 (containing the MSB of the 2bpp sprite) + ld hl, sSpriteBuffer1 + call ZeroSpriteBuffer ; zero buffer 1 + ld de, sSpriteBuffer2 + ld hl, sSpriteBuffer1 + call AlignSpriteDataCentered ; copy and align buffer 2 to 1 (containing the LSB of the 2bpp sprite) + pop de + jp InterlaceMergeSpriteBuffers + +; copies and aligns the sprite data properly inside the sprite buffer +; sprite buffers are 7*7 tiles in size, the loaded sprite is centered within this area +AlignSpriteDataCentered:: + ld a, [hSpriteOffset] + ld b, $0 + ld c, a + add hl, bc + ld a, [hSpriteWidth] +.columnLoop + push af + push hl + ld a, [hSpriteHeight] + ld c, a +.columnInnerLoop + ld a, [de] + inc de + ld [hli], a + dec c + jr nz, .columnInnerLoop + pop hl + ld bc, 7*8 ; 7 tiles + add hl, bc ; advance one full column + pop af + dec a + jr nz, .columnLoop + ret + +; fills the sprite buffer (pointed to in hl) with zeros +ZeroSpriteBuffer:: + ld bc, SPRITEBUFFERSIZE +.nextByteLoop + xor a + ld [hli], a + dec bc + ld a, b + or c + jr nz, .nextByteLoop + ret + +; combines the (7*7 tiles, 1bpp) sprite chunks in buffer 0 and 1 into a 2bpp sprite located in buffer 1 through 2 +; in the resulting sprite, the rows of the two source sprites are interlaced +; de: output address +InterlaceMergeSpriteBuffers:: + xor a + ld [MBC1SRamBank], a + push de + ld hl, sSpriteBuffer2 + (SPRITEBUFFERSIZE - 1) ; destination: end of buffer 2 + ld de, sSpriteBuffer1 + (SPRITEBUFFERSIZE - 1) ; source 2: end of buffer 1 + ld bc, sSpriteBuffer0 + (SPRITEBUFFERSIZE - 1) ; source 1: end of buffer 0 + ld a, SPRITEBUFFERSIZE/2 ; $c4 + ld [hSpriteInterlaceCounter], a +.interlaceLoop + ld a, [de] + dec de + ld [hld], a ; write byte of source 2 + ld a, [bc] + dec bc + ld [hld], a ; write byte of source 1 + ld a, [de] + dec de + ld [hld], a ; write byte of source 2 + ld a, [bc] + dec bc + ld [hld], a ; write byte of source 1 + ld a, [hSpriteInterlaceCounter] + dec a + ld [hSpriteInterlaceCounter], a + jr nz, .interlaceLoop + ld a, [wSpriteFlipped] + and a + jr z, .notFlipped + ld bc, 2*SPRITEBUFFERSIZE + ld hl, sSpriteBuffer1 +.swapLoop + swap [hl] ; if flipped swap nybbles in all bytes + inc hl + dec bc + ld a, b + or c + jr nz, .swapLoop +.notFlipped + pop hl + ld de, sSpriteBuffer1 + ld c, (2*SPRITEBUFFERSIZE)/16 ; $31, number of 16 byte chunks to be copied + ld a, [hLoadedROMBank] + ld b, a + jp CopyVideoData diff --git a/home/pokemon.asm b/home/pokemon.asm new file mode 100644 index 00000000..141baa65 --- /dev/null +++ b/home/pokemon.asm @@ -0,0 +1,464 @@ +DrawHPBar:: +; Draw an HP bar d tiles long, and fill it to e pixels. +; If c is nonzero, show at least a sliver regardless. +; The right end of the bar changes with [wHPBarType]. + + push hl + push de + push bc + + ; Left + ld a, $71 ; "HP:" + ld [hli], a + ld a, $62 + ld [hli], a + + push hl + + ; Middle + ld a, $63 ; empty +.draw + ld [hli], a + dec d + jr nz, .draw + + ; Right + ld a, [wHPBarType] + dec a + ld a, $6d ; status screen and battle + jr z, .ok + dec a ; pokemon menu +.ok + ld [hl], a + + pop hl + + ld a, e + and a + jr nz, .fill + + ; If c is nonzero, draw a pixel anyway. + ld a, c + and a + jr z, .done + ld e, 1 + +.fill + ld a, e + sub 8 + jr c, .partial + ld e, a + ld a, $6b ; full + ld [hli], a + ld a, e + and a + jr z, .done + jr .fill + +.partial + ; Fill remaining pixels at the end if necessary. + ld a, $63 ; empty + add e + ld [hl], a +.done + pop bc + pop de + pop hl + ret + + +; loads pokemon data from one of multiple sources to wLoadedMon +; loads base stats to wMonHeader +; INPUT: +; [wWhichPokemon] = index of pokemon within party/box +; [wMonDataLocation] = source +; 00: player's party +; 01: enemy's party +; 02: current box +; 03: daycare +; OUTPUT: +; [wcf91] = pokemon ID +; wLoadedMon = base address of pokemon data +; wMonHeader = base address of base stats +LoadMonData:: + jpab LoadMonData_ + +OverwritewMoves:: +; Write c to [wMoves + b]. Unused. + ld hl, wMoves + ld e, b + ld d, 0 + add hl, de + ld a, c + ld [hl], a + ret + +LoadFlippedFrontSpriteByMonIndex:: + ld a, 1 + ld [wSpriteFlipped], a + +LoadFrontSpriteByMonIndex:: + push hl + ld a, [wd11e] + push af + ld a, [wcf91] + ld [wd11e], a + predef IndexToPokedex + ld hl, wd11e + ld a, [hl] + pop bc + ld [hl], b + and a + pop hl + jr z, .invalidDexNumber ; dex #0 invalid + cp NUM_POKEMON + 1 + jr c, .validDexNumber ; dex >#151 invalid +.invalidDexNumber + ld a, RHYDON ; $1 + ld [wcf91], a + ret +.validDexNumber + push hl + ld de, vFrontPic + call LoadMonFrontSprite + pop hl + ld a, [hLoadedROMBank] + push af + ld a, BANK(CopyUncompressedPicToHL) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + xor a + ld [hStartTileID], a + call CopyUncompressedPicToHL + xor a + ld [wSpriteFlipped], a + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret + + +PlayCry:: +; Play monster a's cry. + call GetCryData + call PlaySound + jp WaitForSoundToFinish + +GetCryData:: +; Load cry data for monster a. + dec a + ld c, a + ld b, 0 + ld hl, CryData + add hl, bc + add hl, bc + add hl, bc + + ld a, BANK(CryData) + call BankswitchHome + ld a, [hli] + ld b, a ; cry id + ld a, [hli] + ld [wFrequencyModifier], a + ld a, [hl] + ld [wTempoModifier], a + call BankswitchBack + + ; Cry headers have 3 channels, + ; and start from index CRY_SFX_START, + ; so add 3 times the cry id. + ld a, b + ld c, CRY_SFX_START + rlca ; * 2 + add b + add c + ret + +DisplayPartyMenu:: + ld a, [hTilesetType] + push af + xor a + ld [hTilesetType], a + call GBPalWhiteOutWithDelay3 + call ClearSprites + call PartyMenuInit + call DrawPartyMenu + jp HandlePartyMenuInput + +GoBackToPartyMenu:: + ld a, [hTilesetType] + push af + xor a + ld [hTilesetType], a + call PartyMenuInit + call RedrawPartyMenu + jp HandlePartyMenuInput + +PartyMenuInit:: + ld a, 1 ; hardcoded bank + call BankswitchHome + call LoadHpBarAndStatusTilePatterns + ld hl, wd730 + set 6, [hl] ; turn off letter printing delay + xor a ; PLAYER_PARTY_DATA + ld [wMonDataLocation], a + ld [wMenuWatchMovingOutOfBounds], a + ld hl, wTopMenuItemY + inc a + ld [hli], a ; top menu item Y + xor a + ld [hli], a ; top menu item X + ld a, [wPartyAndBillsPCSavedMenuItem] + push af + ld [hli], a ; current menu item ID + inc hl + ld a, [wPartyCount] + and a ; are there more than 0 pokemon in the party? + jr z, .storeMaxMenuItemID + dec a +; if party is not empty, the max menu item ID is ([wPartyCount] - 1) +; otherwise, it is 0 +.storeMaxMenuItemID + ld [hli], a ; max menu item ID + ld a, [wForcePlayerToChooseMon] + and a + ld a, A_BUTTON | B_BUTTON + jr z, .next + xor a + ld [wForcePlayerToChooseMon], a + inc a ; a = A_BUTTON +.next + ld [hli], a ; menu watched keys + pop af + ld [hl], a ; old menu item ID + ret + +HandlePartyMenuInput:: + ld a, 1 + ld [wMenuWrappingEnabled], a + ld a, $40 + ld [wPartyMenuAnimMonEnabled], a + call HandleMenuInput_ + call PlaceUnfilledArrowMenuCursor + ld b, a + xor a + ld [wPartyMenuAnimMonEnabled], a + ld a, [wCurrentMenuItem] + ld [wPartyAndBillsPCSavedMenuItem], a + ld hl, wd730 + res 6, [hl] ; turn on letter printing delay + ld a, [wMenuItemToSwap] + and a + jp nz, .swappingPokemon + pop af + ld [hTilesetType], a + bit 1, b + jr nz, .noPokemonChosen + ld a, [wPartyCount] + and a + jr z, .noPokemonChosen + ld a, [wCurrentMenuItem] + ld [wWhichPokemon], a + ld hl, wPartySpecies + ld b, 0 + ld c, a + add hl, bc + ld a, [hl] + ld [wcf91], a + ld [wBattleMonSpecies2], a + call BankswitchBack + and a + ret +.noPokemonChosen + call BankswitchBack + scf + ret +.swappingPokemon + bit 1, b ; was the B button pressed? + jr z, .handleSwap ; if not, handle swapping the pokemon +.cancelSwap ; if the B button was pressed + callba ErasePartyMenuCursors + xor a + ld [wMenuItemToSwap], a + ld [wPartyMenuTypeOrMessageID], a + call RedrawPartyMenu + jr HandlePartyMenuInput +.handleSwap + ld a, [wCurrentMenuItem] + ld [wWhichPokemon], a + callba SwitchPartyMon + jr HandlePartyMenuInput + +DrawPartyMenu:: + ld hl, DrawPartyMenu_ + jr DrawPartyMenuCommon + +RedrawPartyMenu:: + ld hl, RedrawPartyMenu_ + +DrawPartyMenuCommon:: + ld b, BANK(RedrawPartyMenu_) + jp Bankswitch + +; prints a pokemon's status condition +; INPUT: +; de = address of status condition +; hl = destination address +PrintStatusCondition:: + push de + dec de + dec de ; de = address of current HP + ld a, [de] + ld b, a + dec de + ld a, [de] + or b ; is the pokemon's HP zero? + pop de + jr nz, PrintStatusConditionNotFainted +; if the pokemon's HP is 0, print "FNT" + ld a, "F" + ld [hli], a + ld a, "N" + ld [hli], a + ld [hl], "T" + and a + ret + +PrintStatusConditionNotFainted:: + ld a, [hLoadedROMBank] + push af + ld a, BANK(PrintStatusAilment) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call PrintStatusAilment ; print status condition + pop bc + ld a, b + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret + +; function to print pokemon level, leaving off the ":L" if the level is at least 100 +; INPUT: +; hl = destination address +; [wLoadedMonLevel] = level +PrintLevel:: + ld a, $6e ; ":L" tile ID + ld [hli], a + ld c, 2 ; number of digits + ld a, [wLoadedMonLevel] ; level + cp 100 + jr c, PrintLevelCommon +; if level at least 100, write over the ":L" tile + dec hl + inc c ; increment number of digits to 3 + jr PrintLevelCommon + +; prints the level without leaving off ":L" regardless of level +; INPUT: +; hl = destination address +; [wLoadedMonLevel] = level +PrintLevelFull:: + ld a, $6e ; ":L" tile ID + ld [hli], a + ld c, 3 ; number of digits + ld a, [wLoadedMonLevel] ; level + +PrintLevelCommon:: + ld [wd11e], a + ld de, wd11e + ld b, LEFT_ALIGN | 1 ; 1 byte + jp PrintNumber + +GetwMoves:: +; Unused. Returns the move at index a from wMoves in a + ld hl, wMoves + ld c, a + ld b, 0 + add hl, bc + ld a, [hl] + ret + +; copies the base stat data of a pokemon to wMonHeader +; INPUT: +; [wd0b5] = pokemon ID +GetMonHeader:: + ld a, [hLoadedROMBank] + push af + ld a, BANK(BaseStats) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + push bc + push de + push hl + ld a, [wd11e] + push af + ld a, [wd0b5] + ld [wd11e], a + ld de, FossilKabutopsPic + ld b, $66 ; size of Kabutops fossil and Ghost sprites + cp FOSSIL_KABUTOPS ; Kabutops fossil + jr z, .specialID + ld de, GhostPic + cp MON_GHOST ; Ghost + jr z, .specialID + ld de, FossilAerodactylPic + ld b, $77 ; size of Aerodactyl fossil sprite + cp FOSSIL_AERODACTYL ; Aerodactyl fossil + jr z, .specialID + cp MEW + jr z, .mew + predef IndexToPokedex ; convert pokemon ID in [wd11e] to pokedex number + ld a, [wd11e] + dec a + ld bc, MonBaseStatsEnd - MonBaseStats + ld hl, BaseStats + call AddNTimes + ld de, wMonHeader + ld bc, MonBaseStatsEnd - MonBaseStats + call CopyData + jr .done +.specialID + ld hl, wMonHSpriteDim + ld [hl], b ; write sprite dimensions + inc hl + ld [hl], e ; write front sprite pointer + inc hl + ld [hl], d + jr .done +.mew + ld hl, MewBaseStats + ld de, wMonHeader + ld bc, MonBaseStatsEnd - MonBaseStats + ld a, BANK(MewBaseStats) + call FarCopyData +.done + ld a, [wd0b5] + ld [wMonHIndex], a + pop af + ld [wd11e], a + pop hl + pop de + pop bc + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret + +; copy party pokemon's name to wcd6d +GetPartyMonName2:: + ld a, [wWhichPokemon] ; index within party + ld hl, wPartyMonNicks + +; this is called more often +GetPartyMonName:: + push hl + push bc + call SkipFixedLengthTextEntries ; add NAME_LENGTH to hl, a times + ld de, wcd6d + push de + ld bc, NAME_LENGTH + call CopyData + pop de + pop bc + pop hl + ret diff --git a/home/predef.asm b/home/predef.asm index 9bb9be74..4f0c37d9 100644 --- a/home/predef.asm +++ b/home/predef.asm @@ -8,18 +8,18 @@ Predef:: ; A hack for LoadDestinationWarpPosition. ; See LoadTilesetHeader (predef $19). - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [wPredefParentBank], a push af ld a, BANK(GetPredefPointer) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call GetPredefPointer ld a, [wPredefBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld de, .done @@ -28,7 +28,7 @@ Predef:: .done pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ret diff --git a/home/predef_text.asm b/home/predef_text.asm new file mode 100644 index 00000000..059e23ab --- /dev/null +++ b/home/predef_text.asm @@ -0,0 +1,237 @@ +; this function is used to display sign messages, sprite dialog, etc. +; INPUT: [hSpriteIndexOrTextID] = sprite ID or text ID +DisplayTextID:: + ld a, [hLoadedROMBank] + push af + callba DisplayTextIDInit ; initialization + ld hl, wTextPredefFlag + bit 0, [hl] + res 0, [hl] + jr nz, .skipSwitchToMapBank + ld a, [wCurMap] + call SwitchToMapRomBank +.skipSwitchToMapBank + ld a, 30 ; half a second + ld [hFrameCounter], a ; used as joypad poll timer + ld hl, wMapTextPtr + ld a, [hli] + ld h, [hl] + ld l, a ; hl = map text pointer + ld d, $00 + ld a, [hSpriteIndexOrTextID] ; text ID + ld [wSpriteIndex], a + and a + jp z, DisplayStartMenu + cp TEXT_SAFARI_GAME_OVER + jp z, DisplaySafariGameOverText + cp TEXT_MON_FAINTED + jp z, DisplayPokemonFaintedText + cp TEXT_BLACKED_OUT + jp z, DisplayPlayerBlackedOutText + cp TEXT_REPEL_WORE_OFF + jp z, DisplayRepelWoreOffText + ld a, [wNumSprites] + ld e, a + ld a, [hSpriteIndexOrTextID] ; sprite ID + cp e + jr z, .spriteHandling + jr nc, .skipSpriteHandling +.spriteHandling +; get the text ID of the sprite + push hl + push de + push bc + callba UpdateSpriteFacingOffsetAndDelayMovement ; update the graphics of the sprite the player is talking to (to face the right direction) + pop bc + pop de + ld hl, wMapSpriteData ; NPC text entries + ld a, [hSpriteIndexOrTextID] + dec a + add a + add l + ld l, a + jr nc, .noCarry + inc h +.noCarry + inc hl + ld a, [hl] ; a = text ID of the sprite + pop hl +.skipSpriteHandling +; look up the address of the text in the map's text entries + dec a + ld e, a + sla e + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a ; hl = address of the text + ld a, [hl] ; a = first byte of text +; check first byte of text for special cases + cp $fe ; Pokemart NPC + jp z, DisplayPokemartDialogue + cp $ff ; Pokemon Center NPC + jp z, DisplayPokemonCenterDialogue + cp $fc ; Item Storage PC + jp z, FuncTX_ItemStoragePC + cp $fd ; Bill's PC + jp z, FuncTX_BillsPC + cp $f9 ; Pokemon Center PC + jp z, FuncTX_PokemonCenterPC + cp $f5 ; Vending Machine + jr nz, .notVendingMachine + callba VendingMachineMenu ; jump banks to vending machine routine + jr AfterDisplayingTextID +.notVendingMachine + cp $f7 ; prize menu + jp z, FuncTX_GameCornerPrizeMenu + cp $f6 ; cable connection NPC in Pokemon Center + jr nz, .notSpecialCase + callab CableClubNPC + jr AfterDisplayingTextID +.notSpecialCase + call PrintText_NoCreatingTextBox ; display the text + ld a, [wDoNotWaitForButtonPressAfterDisplayingText] + and a + jr nz, HoldTextDisplayOpen + +AfterDisplayingTextID:: + ld a, [wEnteringCableClub] + and a + jr nz, HoldTextDisplayOpen + call WaitForTextScrollButtonPress ; wait for a button press after displaying all the text + +; loop to hold the dialogue box open as long as the player keeps holding down the A button +HoldTextDisplayOpen:: + call Joypad + ld a, [hJoyHeld] + bit 0, a ; is the A button being pressed? + jr nz, HoldTextDisplayOpen + +CloseTextDisplay:: + ld a, [wCurMap] + call SwitchToMapRomBank + ld a, $90 + ld [hWY], a ; move the window off the screen + call DelayFrame + call LoadGBPal + xor a + ld [hAutoBGTransferEnabled], a ; disable continuous WRAM to VRAM transfer each V-blank +; loop to make sprites face the directions they originally faced before the dialogue + ld hl, wSpriteStateData2 + $19 + ld c, $0f + ld de, $10 +.restoreSpriteFacingDirectionLoop + ld a, [hl] + dec h + ld [hl], a + inc h + add hl, de + dec c + jr nz, .restoreSpriteFacingDirectionLoop + ld a, BANK(InitMapSprites) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call InitMapSprites ; reload sprite tile pattern data (since it was partially overwritten by text tile patterns) + ld hl, wFontLoaded + res 0, [hl] + ld a, [wd732] + bit 3, a ; used fly warp + call z, LoadPlayerSpriteGraphics + call LoadCurrentMapView + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + jp UpdateSprites + +DisplayPokemartDialogue:: + push hl + ld hl, PokemartGreetingText + call PrintText + pop hl + inc hl + call LoadItemList + ld a, PRICEDITEMLISTMENU + ld [wListMenuID], a + ld a, [hLoadedROMBank] + push af + ld a, BANK(DisplayPokemartDialogue_) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call DisplayPokemartDialogue_ + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + jp AfterDisplayingTextID + +PokemartGreetingText:: + TX_FAR _PokemartGreetingText + db "@" + +LoadItemList:: + ld a, 1 + ld [wUpdateSpritesEnabled], a + ld a, h + ld [wItemListPointer], a + ld a, l + ld [wItemListPointer + 1], a + ld de, wItemList +.loop + ld a, [hli] + ld [de], a + inc de + cp $ff + jr nz, .loop + ret + +DisplayPokemonCenterDialogue:: +; zeroing these doesn't appear to serve any purpose + xor a + ld [hItemPrice], a + ld [hItemPrice + 1], a + ld [hItemPrice + 2], a + + inc hl + ld a, [hLoadedROMBank] + push af + ld a, BANK(DisplayPokemonCenterDialogue_) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call DisplayPokemonCenterDialogue_ + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + jp AfterDisplayingTextID + +DisplaySafariGameOverText:: + callab PrintSafariGameOverText + jp AfterDisplayingTextID + +DisplayPokemonFaintedText:: + ld hl, PokemonFaintedText + call PrintText + jp AfterDisplayingTextID + +PokemonFaintedText:: + TX_FAR _PokemonFaintedText + db "@" + +DisplayPlayerBlackedOutText:: + ld hl, PlayerBlackedOutText + call PrintText + ld a, [wd732] + res 5, a ; reset forced to use bike bit + ld [wd732], a + jp HoldTextDisplayOpen + +PlayerBlackedOutText:: + TX_FAR _PlayerBlackedOutText + db "@" + +DisplayRepelWoreOffText:: + ld hl, RepelWoreOffText + call PrintText + jp AfterDisplayingTextID + +RepelWoreOffText:: + TX_FAR _RepelWoreOffText + db "@" diff --git a/home/print_bcd.asm b/home/print_bcd.asm new file mode 100644 index 00000000..38aedd3c --- /dev/null +++ b/home/print_bcd.asm @@ -0,0 +1,77 @@ +; function to print a BCD (Binary-coded decimal) number +; de = address of BCD number +; hl = destination address +; c = flags and length +; bit 7: if set, do not print leading zeroes +; if unset, print leading zeroes +; bit 6: if set, left-align the string (do not pad empty digits with spaces) +; if unset, right-align the string +; bit 5: if set, print currency symbol at the beginning of the string +; if unset, do not print the currency symbol +; bits 0-4: length of BCD number in bytes +; Note that bits 5 and 7 are modified during execution. The above reflects +; their meaning at the beginning of the functions's execution. +PrintBCDNumber:: + ld b, c ; save flags in b + res 7, c + res 6, c + res 5, c ; c now holds the length + bit 5, b + jr z, .loop + bit 7, b + jr nz, .loop + ld [hl], "¥" + inc hl +.loop + ld a, [de] + swap a + call PrintBCDDigit ; print upper digit + ld a, [de] + call PrintBCDDigit ; print lower digit + inc de + dec c + jr nz, .loop + bit 7, b ; were any non-zero digits printed? + jr z, .done ; if so, we are done +.numberEqualsZero ; if every digit of the BCD number is zero + bit 6, b ; left or right alignment? + jr nz, .skipRightAlignmentAdjustment + dec hl ; if the string is right-aligned, it needs to be moved back one space +.skipRightAlignmentAdjustment + bit 5, b + jr z, .skipCurrencySymbol + ld [hl], "¥" + inc hl +.skipCurrencySymbol + ld [hl], "0" + call PrintLetterDelay + inc hl +.done + ret + +PrintBCDDigit:: + and $f + and a + jr z, .zeroDigit +.nonzeroDigit + bit 7, b ; have any non-space characters been printed? + jr z, .outputDigit +; if bit 7 is set, then no numbers have been printed yet + bit 5, b ; print the currency symbol? + jr z, .skipCurrencySymbol + ld [hl], "¥" + inc hl + res 5, b +.skipCurrencySymbol + res 7, b ; unset 7 to indicate that a nonzero digit has been reached +.outputDigit + add "0" + ld [hli], a + jp PrintLetterDelay +.zeroDigit + bit 7, b ; either printing leading zeroes or already reached a nonzero digit? + jr z, .outputDigit ; if so, print a zero digit + bit 6, b ; left or right alignment? + ret nz + inc hl ; if right-aligned, "print" a space by advancing the pointer + ret diff --git a/home/print_num.asm b/home/print_num.asm new file mode 100644 index 00000000..5155977b --- /dev/null +++ b/home/print_num.asm @@ -0,0 +1,217 @@ +PrintNumber:: +; Print the c-digit, b-byte value at de. +; Allows 2 to 7 digits. For 1-digit numbers, add +; the value to char "0" instead of calling PrintNumber. +; Flags LEADING_ZEROES and LEFT_ALIGN can be given +; in bits 7 and 6 of b respectively. + push bc + xor a + ld [hPastLeadingZeros], a + ld [hNumToPrint], a + ld [hNumToPrint + 1], a + ld a, b + and $f + cp 1 + jr z, .byte + cp 2 + jr z, .word +.long + ld a, [de] + ld [hNumToPrint], a + inc de + ld a, [de] + ld [hNumToPrint + 1], a + inc de + ld a, [de] + ld [hNumToPrint + 2], a + jr .start + +.word + ld a, [de] + ld [hNumToPrint + 1], a + inc de + ld a, [de] + ld [hNumToPrint + 2], a + jr .start + +.byte + ld a, [de] + ld [hNumToPrint + 2], a + +.start + push de + + ld d, b + ld a, c + ld b, a + xor a + ld c, a + ld a, b + + cp 2 + jr z, .tens + cp 3 + jr z, .hundreds + cp 4 + jr z, .thousands + cp 5 + jr z, .ten_thousands + cp 6 + jr z, .hundred_thousands + +print_digit: macro + +if (\1) / $10000 + ld a, \1 / $10000 % $100 +else xor a +endc + ld [hPowerOf10 + 0], a + +if (\1) / $100 + ld a, \1 / $100 % $100 +else xor a +endc + ld [hPowerOf10 + 1], a + + ld a, \1 / $1 % $100 + ld [hPowerOf10 + 2], a + + call .PrintDigit + call .NextDigit +endm + +.millions print_digit 1000000 +.hundred_thousands print_digit 100000 +.ten_thousands print_digit 10000 +.thousands print_digit 1000 +.hundreds print_digit 100 + +.tens + ld c, 0 + ld a, [hNumToPrint + 2] +.mod + cp 10 + jr c, .ok + sub 10 + inc c + jr .mod +.ok + + ld b, a + ld a, [hPastLeadingZeros] + or c + ld [hPastLeadingZeros], a + jr nz, .past + call .PrintLeadingZero + jr .next +.past + ld a, "0" + add c + ld [hl], a +.next + + call .NextDigit +.ones + ld a, "0" + add b + ld [hli], a + pop de + dec de + pop bc + ret + +.PrintDigit: +; Divide by the current decimal place. +; Print the quotient, and keep the modulus. + ld c, 0 +.loop + ld a, [hPowerOf10] + ld b, a + ld a, [hNumToPrint] + ld [hSavedNumToPrint], a + cp b + jr c, .underflow0 + sub b + ld [hNumToPrint], a + ld a, [hPowerOf10 + 1] + ld b, a + ld a, [hNumToPrint + 1] + ld [hSavedNumToPrint + 1], a + cp b + jr nc, .noborrow1 + + ld a, [hNumToPrint] + or 0 + jr z, .underflow1 + dec a + ld [hNumToPrint], a + ld a, [hNumToPrint + 1] +.noborrow1 + + sub b + ld [hNumToPrint + 1], a + ld a, [hPowerOf10 + 2] + ld b, a + ld a, [hNumToPrint + 2] + ld [hSavedNumToPrint + 2], a + cp b + jr nc, .noborrow2 + + ld a, [hNumToPrint + 1] + and a + jr nz, .borrowed + + ld a, [hNumToPrint] + and a + jr z, .underflow2 + dec a + ld [hNumToPrint], a + xor a +.borrowed + + dec a + ld [hNumToPrint + 1], a + ld a, [hNumToPrint + 2] +.noborrow2 + sub b + ld [hNumToPrint + 2], a + inc c + jr .loop + +.underflow2 + ld a, [hSavedNumToPrint + 1] + ld [hNumToPrint + 1], a +.underflow1 + ld a, [hSavedNumToPrint] + ld [hNumToPrint], a +.underflow0 + ld a, [hPastLeadingZeros] + or c + jr z, .PrintLeadingZero + + ld a, "0" + add c + ld [hl], a + ld [hPastLeadingZeros], a + ret + +.PrintLeadingZero: + bit BIT_LEADING_ZEROES, d + ret z + ld [hl], "0" + ret + +.NextDigit: +; Increment unless the number is left-aligned, +; leading zeroes are not printed, and no digits +; have been printed yet. + bit BIT_LEADING_ZEROES, d + jr nz, .inc + bit BIT_LEFT_ALIGN, d + jr z, .inc + ld a, [hPastLeadingZeros] + and a + ret z +.inc + inc hl + ret diff --git a/home/start.asm b/home/start.asm new file mode 100644 index 00000000..448b6362 --- /dev/null +++ b/home/start.asm @@ -0,0 +1,10 @@ +_Start:: + cp GBC + jr z, .gbc + xor a + jr .ok +.gbc + ld a, 0 +.ok + ld [wGBC], a + jp Init diff --git a/home/start_menu.asm b/home/start_menu.asm index eb4b4f2d..38333644 100755 --- a/home/start_menu.asm +++ b/home/start_menu.asm @@ -1,6 +1,6 @@ DisplayStartMenu:: ld a, BANK(StartMenu_Pokedex) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a ld a, [wWalkBikeSurfState] ; walking/biking/surfing ld [wWalkBikeSurfStateCopy], a diff --git a/home/text.asm b/home/text.asm index 9db81530..0d2ed0a2 100644 --- a/home/text.asm +++ b/home/text.asm @@ -62,7 +62,7 @@ Char4ETest:: cp $4E ; next jr nz, .char4FTest ld bc, 2 * SCREEN_WIDTH - ld a, [hFlags_0xFFF6] + ld a, [hFlagsFFF6] bit 2, a jr z, .ok ld bc, SCREEN_WIDTH @@ -180,7 +180,7 @@ Char59:: ; or ; player active monster’s name ; (like Char5A but flipped) - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] xor 1 jr MonsterNameCharsCommon @@ -189,7 +189,7 @@ Char5A:: ; player active monster’s name ; or ; enemy active monster’s name, prefixed with “Enemy ” - ld a, [H_WHOSETURN] + ld a, [hWhoseTurn] MonsterNameCharsCommon:: push de and a @@ -365,7 +365,7 @@ TextCommandProcessor:: push af set 1, a ld e, a - ld a, [$fff4] + ld a, [hClearLetterPrintingDelayFlags] xor e ld [wLetterPrintingDelayFlags], a ld a, c @@ -675,14 +675,14 @@ TextCommand0D:: ; BB = bank TextCommand17:: pop hl - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] push af ld a, [hli] ld e, a ld a, [hli] ld d, a ld a, [hli] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a push hl ld l, e @@ -690,7 +690,7 @@ TextCommand17:: call TextCommandProcessor pop hl pop af - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a jp NextTextCommand diff --git a/home/trainers.asm b/home/trainers.asm new file mode 100644 index 00000000..9c3519a2 --- /dev/null +++ b/home/trainers.asm @@ -0,0 +1,436 @@ +; stores hl in [wTrainerHeaderPtr] +StoreTrainerHeaderPointer:: + ld a, h + ld [wTrainerHeaderPtr], a + ld a, l + ld [wTrainerHeaderPtr+1], a + ret + +; executes the current map script from the function pointer array provided in hl. +; a: map script index to execute (unless overridden by [wd733] bit 4) +ExecuteCurMapScriptInTable:: + push af + push de + call StoreTrainerHeaderPointer + pop hl + pop af + push hl + ld hl, wFlags_D733 + bit 4, [hl] + res 4, [hl] + jr z, .useProvidedIndex ; test if map script index was overridden manually + ld a, [wCurMapScript] +.useProvidedIndex + pop hl + ld [wCurMapScript], a + call CallFunctionInTable + ld a, [wCurMapScript] + ret + +LoadGymLeaderAndCityName:: + push de + ld de, wGymCityName + ld bc, $11 + call CopyData ; load city name + pop hl + ld de, wGymLeaderName + ld bc, NAME_LENGTH + jp CopyData ; load gym leader name + +; reads specific information from trainer header (pointed to at wTrainerHeaderPtr) +; a: offset in header data +; 0 -> flag's bit (into wTrainerHeaderFlagBit) +; 2 -> flag's byte ptr (into hl) +; 4 -> before battle text (into hl) +; 6 -> after battle text (into hl) +; 8 -> end battle text (into hl) +ReadTrainerHeaderInfo:: + push de + push af + ld d, $0 + ld e, a + ld hl, wTrainerHeaderPtr + ld a, [hli] + ld l, [hl] + ld h, a + add hl, de + pop af + and a + jr nz, .nonZeroOffset + ld a, [hl] + ld [wTrainerHeaderFlagBit], a ; store flag's bit + jr .done +.nonZeroOffset + cp $2 + jr z, .readPointer ; read flag's byte ptr + cp $4 + jr z, .readPointer ; read before battle text + cp $6 + jr z, .readPointer ; read after battle text + cp $8 + jr z, .readPointer ; read end battle text + cp $a + jr nz, .done + ld a, [hli] ; read end battle text (2) but override the result afterwards (XXX why, bug?) + ld d, [hl] + ld e, a + jr .done +.readPointer + ld a, [hli] + ld h, [hl] + ld l, a +.done + pop de + ret + +TrainerFlagAction:: + predef_jump FlagActionPredef + +TalkToTrainer:: + call StoreTrainerHeaderPointer + xor a + call ReadTrainerHeaderInfo ; read flag's bit + ld a, $2 + call ReadTrainerHeaderInfo ; read flag's byte ptr + ld a, [wTrainerHeaderFlagBit] + ld c, a + ld b, FLAG_TEST + call TrainerFlagAction ; read trainer's flag + ld a, c + and a + jr z, .trainerNotYetFought ; test trainer's flag + ld a, $6 + call ReadTrainerHeaderInfo ; print after battle text + jp PrintText +.trainerNotYetFought + ld a, $4 + call ReadTrainerHeaderInfo ; print before battle text + call PrintText + ld a, $a + call ReadTrainerHeaderInfo ; (?) does nothing apparently (maybe bug in ReadTrainerHeaderInfo) + push de + ld a, $8 + call ReadTrainerHeaderInfo ; read end battle text + pop de + call SaveEndBattleTextPointers + ld hl, wFlags_D733 + set 4, [hl] ; activate map script index override (index is set below) + ld hl, wFlags_0xcd60 + bit 0, [hl] ; test if player is already engaging the trainer (because the trainer saw the player) + ret nz +; if the player talked to the trainer of his own volition + call EngageMapTrainer + ld hl, wCurMapScript + inc [hl] ; increment map script index before StartTrainerBattle increments it again (next script function is usually EndTrainerBattle) + jp StartTrainerBattle + +; checks if any trainers are seeing the player and wanting to fight +CheckFightingMapTrainers:: + call CheckForEngagingTrainers + ld a, [wSpriteIndex] + cp $ff + jr nz, .trainerEngaging + xor a + ld [wSpriteIndex], a + ld [wTrainerHeaderFlagBit], a + ret +.trainerEngaging + ld hl, wFlags_D733 + set 3, [hl] + ld [wEmotionBubbleSpriteIndex], a + xor a ; EXCLAMATION_BUBBLE + ld [wWhichEmotionBubble], a + predef EmotionBubble + ld a, D_RIGHT | D_LEFT | D_UP | D_DOWN + ld [wJoyIgnore], a + xor a + ld [hJoyHeld], a + call TrainerWalkUpToPlayer_Bank0 + ld hl, wCurMapScript + inc [hl] ; increment map script index (next script function is usually DisplayEnemyTrainerTextAndStartBattle) + ret + +; display the before battle text after the enemy trainer has walked up to the player's sprite +DisplayEnemyTrainerTextAndStartBattle:: + ld a, [wd730] + and $1 + ret nz ; return if the enemy trainer hasn't finished walking to the player's sprite + ld [wJoyIgnore], a + ld a, [wSpriteIndex] + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ; fall through + +StartTrainerBattle:: + xor a + ld [wJoyIgnore], a + call InitBattleEnemyParameters + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, wd72e + set 1, [hl] + ld hl, wCurMapScript + inc [hl] ; increment map script index (next script function is usually EndTrainerBattle) + ret + +EndTrainerBattle:: + ld hl, wCurrentMapScriptFlags + set 5, [hl] + set 6, [hl] + ld hl, wd72d + res 7, [hl] + ld hl, wFlags_0xcd60 + res 0, [hl] ; player is no longer engaged by any trainer + ld a, [wIsInBattle] + cp $ff + jp z, ResetButtonPressedAndMapScript + ld a, $2 + call ReadTrainerHeaderInfo + ld a, [wTrainerHeaderFlagBit] + ld c, a + ld b, FLAG_SET + call TrainerFlagAction ; flag trainer as fought + ld a, [wEnemyMonOrTrainerClass] + cp OPP_ID_OFFSET + jr nc, .skipRemoveSprite ; test if trainer was fought (in that case skip removing the corresponding sprite) + ld hl, wMissableObjectList + ld de, $2 + ld a, [wSpriteIndex] + call IsInArray ; search for sprite ID + inc hl + ld a, [hl] + ld [wMissableObjectIndex], a ; load corresponding missable object index and remove it + predef HideObject +.skipRemoveSprite + ld hl, wd730 + bit 4, [hl] + res 4, [hl] + ret nz + +ResetButtonPressedAndMapScript:: + xor a + ld [wJoyIgnore], a + ld [hJoyHeld], a + ld [hJoyPressed], a + ld [hJoyReleased], a + ld [wCurMapScript], a ; reset battle status + ret + +; calls TrainerWalkUpToPlayer +TrainerWalkUpToPlayer_Bank0:: + jpba TrainerWalkUpToPlayer + +; sets opponent type and mon set/lvl based on the engaging trainer data +InitBattleEnemyParameters:: + ld a, [wEngagedTrainerClass] + ld [wCurOpponent], a + ld [wEnemyMonOrTrainerClass], a + cp OPP_ID_OFFSET + ld a, [wEngagedTrainerSet] + jr c, .noTrainer + ld [wTrainerNo], a + ret +.noTrainer + ld [wCurEnemyLVL], a + ret + +GetSpritePosition1:: + ld hl, _GetSpritePosition1 + jr SpritePositionBankswitch + +GetSpritePosition2:: + ld hl, _GetSpritePosition2 + jr SpritePositionBankswitch + +SetSpritePosition1:: + ld hl, _SetSpritePosition1 + jr SpritePositionBankswitch + +SetSpritePosition2:: + ld hl, _SetSpritePosition2 +SpritePositionBankswitch:: + ld b, BANK(_GetSpritePosition1) ; BANK(_GetSpritePosition2), BANK(_SetSpritePosition1), BANK(_SetSpritePosition2) + jp Bankswitch ; indirect jump to one of the four functions + +CheckForEngagingTrainers:: + xor a + call ReadTrainerHeaderInfo ; read trainer flag's bit (unused) + ld d, h ; store trainer header address in de + ld e, l +.trainerLoop + call StoreTrainerHeaderPointer ; set trainer header pointer to current trainer + ld a, [de] + ld [wSpriteIndex], a ; store trainer flag's bit + ld [wTrainerHeaderFlagBit], a + cp $ff + ret z + ld a, $2 + call ReadTrainerHeaderInfo ; read trainer flag's byte ptr + ld b, FLAG_TEST + ld a, [wTrainerHeaderFlagBit] + ld c, a + call TrainerFlagAction ; read trainer flag + ld a, c + and a ; has the trainer already been defeated? + jr nz, .continue + push hl + push de + push hl + xor a + call ReadTrainerHeaderInfo ; get trainer header pointer + inc hl + ld a, [hl] ; read trainer engage distance + pop hl + ld [wTrainerEngageDistance], a + ld a, [wSpriteIndex] + swap a + ld [wTrainerSpriteOffset], a + predef TrainerEngage + pop de + pop hl + ld a, [wTrainerSpriteOffset] + and a + ret nz ; break if the trainer is engaging +.continue + ld hl, $c + add hl, de + ld d, h + ld e, l + jr .trainerLoop + +; hl = text if the player wins +; de = text if the player loses +SaveEndBattleTextPointers:: + ld a, [hLoadedROMBank] + ld [wEndBattleTextRomBank], a + ld a, h + ld [wEndBattleWinTextPointer], a + ld a, l + ld [wEndBattleWinTextPointer + 1], a + ld a, d + ld [wEndBattleLoseTextPointer], a + ld a, e + ld [wEndBattleLoseTextPointer + 1], a + ret + +; loads data of some trainer on the current map and plays pre-battle music +; [wSpriteIndex]: sprite ID of trainer who is engaged +EngageMapTrainer:: + ld hl, wMapSpriteExtraData + ld d, $0 + ld a, [wSpriteIndex] + dec a + add a + ld e, a + add hl, de ; seek to engaged trainer data + ld a, [hli] ; load trainer class + ld [wEngagedTrainerClass], a + ld a, [hl] ; load trainer mon set + ld [wEngagedTrainerSet], a + jp PlayTrainerMusic + +PrintEndBattleText:: + push hl + ld hl, wd72d + bit 7, [hl] + res 7, [hl] + pop hl + ret z + ld a, [hLoadedROMBank] + push af + ld a, [wEndBattleTextRomBank] + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + push hl + callba SaveTrainerName + ld hl, TrainerEndBattleText + call PrintText + pop hl + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + callba FreezeEnemyTrainerSprite + jp WaitForSoundToFinish + +GetSavedEndBattleTextPointer:: + ld a, [wBattleResult] + and a +; won battle + jr nz, .lostBattle + ld a, [wEndBattleWinTextPointer] + ld h, a + ld a, [wEndBattleWinTextPointer + 1] + ld l, a + ret +.lostBattle + ld a, [wEndBattleLoseTextPointer] + ld h, a + ld a, [wEndBattleLoseTextPointer + 1] + ld l, a + ret + +TrainerEndBattleText:: + TX_FAR _TrainerNameText + TX_ASM + call GetSavedEndBattleTextPointer + call TextCommandProcessor + jp TextScriptEnd + +; only engage with the trainer if the player is not already +; engaged with another trainer +; XXX unused? +CheckIfAlreadyEngaged:: + ld a, [wFlags_0xcd60] + bit 0, a + ret nz + call EngageMapTrainer + xor a + ret + +PlayTrainerMusic:: + ld a, [wEngagedTrainerClass] + cp OPP_SONY1 + ret z + cp OPP_SONY2 + ret z + cp OPP_SONY3 + ret z + ld a, [wGymLeaderNo] + and a + ret nz + xor a + ld [wAudioFadeOutControl], a + ld a, SFX_STOP_ALL_MUSIC + call PlaySound + ld a, BANK(Music_MeetEvilTrainer) + ld [wAudioROMBank], a + ld [wAudioSavedROMBank], a + ld a, [wEngagedTrainerClass] + ld b, a + ld hl, EvilTrainerList +.evilTrainerListLoop + ld a, [hli] + cp $ff + jr z, .noEvilTrainer + cp b + jr nz, .evilTrainerListLoop + ld a, MUSIC_MEET_EVIL_TRAINER + jr .PlaySound +.noEvilTrainer + ld hl, FemaleTrainerList +.femaleTrainerListLoop + ld a, [hli] + cp $ff + jr z, .maleTrainer + cp b + jr nz, .femaleTrainerListLoop + ld a, MUSIC_MEET_FEMALE_TRAINER + jr .PlaySound +.maleTrainer + ld a, MUSIC_MEET_MALE_TRAINER +.PlaySound + ld [wNewSoundID], a + jp PlaySound + +INCLUDE "data/trainers/encounter_types.asm" diff --git a/home/uncompress.asm b/home/uncompress.asm new file mode 100644 index 00000000..cfc39f0f --- /dev/null +++ b/home/uncompress.asm @@ -0,0 +1,591 @@ +; bankswitches and runs _UncompressSpriteData +; bank is given in a, sprite input stream is pointed to in wSpriteInputPtr +UncompressSpriteData:: + ld b, a + ld a, [hLoadedROMBank] + push af + ld a, b + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ld a, SRAM_ENABLE + ld [MBC1SRamEnable], a + xor a + ld [MBC1SRamBank], a + call _UncompressSpriteData + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + ret + +; initializes necessary data to load a sprite and runs UncompressSpriteDataLoop +_UncompressSpriteData:: + ld hl, sSpriteBuffer1 + ld c, (2*SPRITEBUFFERSIZE) % $100 + ld b, (2*SPRITEBUFFERSIZE) / $100 + xor a + call FillMemory ; clear sprite buffer 1 and 2 + ld a, $1 + ld [wSpriteInputBitCounter], a + ld a, $3 + ld [wSpriteOutputBitOffset], a + xor a + ld [wSpriteCurPosX], a + ld [wSpriteCurPosY], a + ld [wSpriteLoadFlags], a + call ReadNextInputByte ; first byte of input determines sprite width (high nybble) and height (low nybble) in tiles (8x8 pixels) + ld b, a + and $f + add a + add a + add a + ld [wSpriteHeight], a + ld a, b + swap a + and $f + add a + add a + add a + ld [wSpriteWidth], a + call ReadNextInputBit + ld [wSpriteLoadFlags], a ; initialite bit1 to 0 and bit0 to the first input bit + ; this will load two chunks of data to sSpriteBuffer1 and sSpriteBuffer2 + ; bit 0 decides in which one the first chunk is placed + ; fall through + +; uncompresses a chunk from the sprite input data stream (pointed to at wd0da) into sSpriteBuffer1 or sSpriteBuffer2 +; each chunk is a 1bpp sprite. A 2bpp sprite consist of two chunks which are merged afterwards +; note that this is an endless loop which is terminated during a call to MoveToNextBufferPosition by manipulating the stack +UncompressSpriteDataLoop:: + ld hl, sSpriteBuffer1 + ld a, [wSpriteLoadFlags] + bit 0, a + jr z, .useSpriteBuffer1 ; check which buffer to use + ld hl, sSpriteBuffer2 +.useSpriteBuffer1 + call StoreSpriteOutputPointer + ld a, [wSpriteLoadFlags] + bit 1, a + jr z, .startDecompression ; check if last iteration + call ReadNextInputBit ; if last chunk, read 1-2 bit unpacking mode + and a + jr z, .unpackingMode0 ; 0 -> mode 0 + call ReadNextInputBit ; 1 0 -> mode 1 + inc a ; 1 1 -> mode 2 +.unpackingMode0 + ld [wSpriteUnpackMode], a +.startDecompression + call ReadNextInputBit + and a + jr z, .readRLEncodedZeros ; if first bit is 0, the input starts with zeroes, otherwise with (non-zero) input +.readNextInput + call ReadNextInputBit + ld c, a + call ReadNextInputBit + sla c + or c ; read next two bits into c + and a + jr z, .readRLEncodedZeros ; 00 -> RLEncoded zeroes following + call WriteSpriteBitsToBuffer ; otherwise write input to output and repeat + call MoveToNextBufferPosition + jr .readNextInput +.readRLEncodedZeros + ld c, $0 ; number of zeroes it length encoded, the number +.countConsecutiveOnesLoop ; of consecutive ones determines the number of bits the number has + call ReadNextInputBit + and a + jr z, .countConsecutiveOnesFinished + inc c + jr .countConsecutiveOnesLoop +.countConsecutiveOnesFinished + ld a, c + add a + ld hl, LengthEncodingOffsetList + add l + ld l, a + jr nc, .noCarry + inc h +.noCarry + ld a, [hli] ; read offset that is added to the number later on + ld e, a ; adding an offset of 2^length - 1 makes every integer uniquely + ld d, [hl] ; representable in the length encoding and saves bits + push de + inc c + ld e, $0 + ld d, e +.readNumberOfZerosLoop ; reads the next c+1 bits of input + call ReadNextInputBit + or e + ld e, a + dec c + jr z, .readNumberOfZerosDone + sla e + rl d + jr .readNumberOfZerosLoop +.readNumberOfZerosDone + pop hl ; add the offset + add hl, de + ld e, l + ld d, h +.writeZerosLoop + ld b, e + xor a ; write 00 to buffer + call WriteSpriteBitsToBuffer + ld e, b + call MoveToNextBufferPosition + dec de + ld a, d + and a + jr nz, .continueLoop + ld a, e + and a +.continueLoop + jr nz, .writeZerosLoop + jr .readNextInput + +; moves output pointer to next position +; also cancels the calling function if the all output is done (by removing the return pointer from stack) +; and calls postprocessing functions according to the unpack mode +MoveToNextBufferPosition:: + ld a, [wSpriteHeight] + ld b, a + ld a, [wSpriteCurPosY] + inc a + cp b + jr z, .curColumnDone + ld [wSpriteCurPosY], a + ld a, [wSpriteOutputPtr] + inc a + ld [wSpriteOutputPtr], a + ret nz + ld a, [wSpriteOutputPtr+1] + inc a + ld [wSpriteOutputPtr+1], a + ret +.curColumnDone + xor a + ld [wSpriteCurPosY], a + ld a, [wSpriteOutputBitOffset] + and a + jr z, .bitOffsetsDone + dec a + ld [wSpriteOutputBitOffset], a + ld hl, wSpriteOutputPtrCached + ld a, [hli] + ld [wSpriteOutputPtr], a + ld a, [hl] + ld [wSpriteOutputPtr+1], a + ret +.bitOffsetsDone + ld a, $3 + ld [wSpriteOutputBitOffset], a + ld a, [wSpriteCurPosX] + add $8 + ld [wSpriteCurPosX], a + ld b, a + ld a, [wSpriteWidth] + cp b + jr z, .allColumnsDone + ld a, [wSpriteOutputPtr] + ld l, a + ld a, [wSpriteOutputPtr+1] + ld h, a + inc hl + jp StoreSpriteOutputPointer +.allColumnsDone + pop hl + xor a + ld [wSpriteCurPosX], a + ld a, [wSpriteLoadFlags] + bit 1, a + jr nz, .done ; test if there is one more sprite to go + xor $1 + set 1, a + ld [wSpriteLoadFlags], a + jp UncompressSpriteDataLoop +.done + jp UnpackSprite + +; writes 2 bits (from a) to the output buffer (pointed to from wSpriteOutputPtr) +WriteSpriteBitsToBuffer:: + ld e, a + ld a, [wSpriteOutputBitOffset] + and a + jr z, .offset0 + cp $2 + jr c, .offset1 + jr z, .offset2 + rrc e ; offset 3 + rrc e + jr .offset0 +.offset1 + sla e + sla e + jr .offset0 +.offset2 + swap e +.offset0 + ld a, [wSpriteOutputPtr] + ld l, a + ld a, [wSpriteOutputPtr+1] + ld h, a + ld a, [hl] + or e + ld [hl], a + ret + +; reads next bit from input stream and returns it in a +ReadNextInputBit:: + ld a, [wSpriteInputBitCounter] + dec a + jr nz, .curByteHasMoreBitsToRead + call ReadNextInputByte + ld [wSpriteInputCurByte], a + ld a, $8 +.curByteHasMoreBitsToRead + ld [wSpriteInputBitCounter], a + ld a, [wSpriteInputCurByte] + rlca + ld [wSpriteInputCurByte], a + and $1 + ret + +; reads next byte from input stream and returns it in a +ReadNextInputByte:: + ld a, [wSpriteInputPtr] + ld l, a + ld a, [wSpriteInputPtr+1] + ld h, a + ld a, [hli] + ld b, a + ld a, l + ld [wSpriteInputPtr], a + ld a, h + ld [wSpriteInputPtr+1], a + ld a, b + ret + +; the nth item is 2^n - 1 +LengthEncodingOffsetList:: + dw %0000000000000001 + dw %0000000000000011 + dw %0000000000000111 + dw %0000000000001111 + dw %0000000000011111 + dw %0000000000111111 + dw %0000000001111111 + dw %0000000011111111 + dw %0000000111111111 + dw %0000001111111111 + dw %0000011111111111 + dw %0000111111111111 + dw %0001111111111111 + dw %0011111111111111 + dw %0111111111111111 + dw %1111111111111111 + +; unpacks the sprite data depending on the unpack mode +UnpackSprite:: + ld a, [wSpriteUnpackMode] + cp $2 + jp z, UnpackSpriteMode2 + and a + jp nz, XorSpriteChunks + ld hl, sSpriteBuffer1 + call SpriteDifferentialDecode + ld hl, sSpriteBuffer2 + ; fall through + +; decodes differential encoded sprite data +; input bit value 0 preserves the current bit value and input bit value 1 toggles it (starting from initial value 0). +SpriteDifferentialDecode:: + xor a + ld [wSpriteCurPosX], a + ld [wSpriteCurPosY], a + call StoreSpriteOutputPointer + ld a, [wSpriteFlipped] + and a + jr z, .notFlipped + ld hl, DecodeNybble0TableFlipped + ld de, DecodeNybble1TableFlipped + jr .storeDecodeTablesPointers +.notFlipped + ld hl, DecodeNybble0Table + ld de, DecodeNybble1Table +.storeDecodeTablesPointers + ld a, l + ld [wSpriteDecodeTable0Ptr], a + ld a, h + ld [wSpriteDecodeTable0Ptr+1], a + ld a, e + ld [wSpriteDecodeTable1Ptr], a + ld a, d + ld [wSpriteDecodeTable1Ptr+1], a + ld e, $0 ; last decoded nybble, initialized to 0 +.decodeNextByteLoop + ld a, [wSpriteOutputPtr] + ld l, a + ld a, [wSpriteOutputPtr+1] + ld h, a + ld a, [hl] + ld b, a + swap a + and $f + call DifferentialDecodeNybble ; decode high nybble + swap a + ld d, a + ld a, b + and $f + call DifferentialDecodeNybble ; decode low nybble + or d + ld b, a + ld a, [wSpriteOutputPtr] + ld l, a + ld a, [wSpriteOutputPtr+1] + ld h, a + ld a, b + ld [hl], a ; write back decoded data + ld a, [wSpriteHeight] + add l ; move on to next column + jr nc, .noCarry + inc h +.noCarry + ld [wSpriteOutputPtr], a + ld a, h + ld [wSpriteOutputPtr+1], a + ld a, [wSpriteCurPosX] + add $8 + ld [wSpriteCurPosX], a + ld b, a + ld a, [wSpriteWidth] + cp b + jr nz, .decodeNextByteLoop ; test if current row is done + xor a + ld e, a + ld [wSpriteCurPosX], a + ld a, [wSpriteCurPosY] ; move on to next row + inc a + ld [wSpriteCurPosY], a + ld b, a + ld a, [wSpriteHeight] + cp b + jr z, .done ; test if all rows finished + ld a, [wSpriteOutputPtrCached] + ld l, a + ld a, [wSpriteOutputPtrCached+1] + ld h, a + inc hl + call StoreSpriteOutputPointer + jr .decodeNextByteLoop +.done + xor a + ld [wSpriteCurPosY], a + ret + +; decodes the nybble stored in a. Last decoded data is assumed to be in e (needed to determine if initial value is 0 or 1) +DifferentialDecodeNybble:: + srl a ; c=a%2, a/=2 + ld c, $0 + jr nc, .evenNumber + ld c, $1 +.evenNumber + ld l, a + ld a, [wSpriteFlipped] + and a + jr z, .notFlipped ; determine if initial value is 0 or one + bit 3, e ; if flipped, consider MSB of last data + jr .selectLookupTable +.notFlipped + bit 0, e ; else consider LSB +.selectLookupTable + ld e, l + jr nz, .initialValue1 ; load the appropriate table + ld a, [wSpriteDecodeTable0Ptr] + ld l, a + ld a, [wSpriteDecodeTable0Ptr+1] + jr .tableLookup +.initialValue1 + ld a, [wSpriteDecodeTable1Ptr] + ld l, a + ld a, [wSpriteDecodeTable1Ptr+1] +.tableLookup + ld h, a + ld a, e + add l + ld l, a + jr nc, .noCarry + inc h +.noCarry + ld a, [hl] + bit 0, c + jr nz, .selectLowNybble + swap a ; select high nybble +.selectLowNybble + and $f + ld e, a ; update last decoded data + ret + +DecodeNybble0Table:: + dn $0, $1 + dn $3, $2 + dn $7, $6 + dn $4, $5 + dn $f, $e + dn $c, $d + dn $8, $9 + dn $b, $a +DecodeNybble1Table:: + dn $f, $e + dn $c, $d + dn $8, $9 + dn $b, $a + dn $0, $1 + dn $3, $2 + dn $7, $6 + dn $4, $5 +DecodeNybble0TableFlipped:: + dn $0, $8 + dn $c, $4 + dn $e, $6 + dn $2, $a + dn $f, $7 + dn $3, $b + dn $1, $9 + dn $d, $5 +DecodeNybble1TableFlipped:: + dn $f, $7 + dn $3, $b + dn $1, $9 + dn $d, $5 + dn $0, $8 + dn $c, $4 + dn $e, $6 + dn $2, $a + +; combines the two loaded chunks with xor (the chunk loaded second is the destination). The source chunk is differeintial decoded beforehand. +XorSpriteChunks:: + xor a + ld [wSpriteCurPosX], a + ld [wSpriteCurPosY], a + call ResetSpriteBufferPointers + ld a, [wSpriteOutputPtr] ; points to buffer 1 or 2, depending on flags + ld l, a + ld a, [wSpriteOutputPtr+1] + ld h, a + call SpriteDifferentialDecode ; decode buffer 1 or 2, depending on flags + call ResetSpriteBufferPointers + ld a, [wSpriteOutputPtr] ; source buffer, points to buffer 1 or 2, depending on flags + ld l, a + ld a, [wSpriteOutputPtr+1] + ld h, a + ld a, [wSpriteOutputPtrCached] ; destination buffer, points to buffer 2 or 1, depending on flags + ld e, a + ld a, [wSpriteOutputPtrCached+1] + ld d, a +.xorChunksLoop + ld a, [wSpriteFlipped] + and a + jr z, .notFlipped + push de + ld a, [de] + ld b, a + swap a + and $f + call ReverseNybble ; if flipped reverse the nybbles in the destination buffer + swap a + ld c, a + ld a, b + and $f + call ReverseNybble + or c + pop de + ld [de], a +.notFlipped + ld a, [hli] + ld b, a + ld a, [de] + xor b + ld [de], a + inc de + ld a, [wSpriteCurPosY] + inc a + ld [wSpriteCurPosY], a ; go to next row + ld b, a + ld a, [wSpriteHeight] + cp b + jr nz, .xorChunksLoop ; test if column finished + xor a + ld [wSpriteCurPosY], a + ld a, [wSpriteCurPosX] + add $8 + ld [wSpriteCurPosX], a ; go to next column + ld b, a + ld a, [wSpriteWidth] + cp b + jr nz, .xorChunksLoop ; test if all columns finished + xor a + ld [wSpriteCurPosX], a + ret + +; reverses the bits in the nybble given in register a +ReverseNybble:: + ld de, NybbleReverseTable + add e + ld e, a + jr nc, .noCarry + inc d +.noCarry + ld a, [de] + ret + +; resets sprite buffer pointers to buffer 1 and 2, depending on wSpriteLoadFlags +ResetSpriteBufferPointers:: + ld a, [wSpriteLoadFlags] + bit 0, a + jr nz, .buffer2Selected + ld de, sSpriteBuffer1 + ld hl, sSpriteBuffer2 + jr .storeBufferPointers +.buffer2Selected + ld de, sSpriteBuffer2 + ld hl, sSpriteBuffer1 +.storeBufferPointers + ld a, l + ld [wSpriteOutputPtr], a + ld a, h + ld [wSpriteOutputPtr+1], a + ld a, e + ld [wSpriteOutputPtrCached], a + ld a, d + ld [wSpriteOutputPtrCached+1], a + ret + +; maps each nybble to its reverse +NybbleReverseTable:: + db $0, $8, $4, $c, $2, $a, $6 ,$e, $1, $9, $5, $d, $3, $b, $7 ,$f + +; combines the two loaded chunks with xor (the chunk loaded second is the destination). Both chunks are differeintial decoded beforehand. +UnpackSpriteMode2:: + call ResetSpriteBufferPointers + ld a, [wSpriteFlipped] + push af + xor a + ld [wSpriteFlipped], a ; temporarily clear flipped flag for decoding the destination chunk + ld a, [wSpriteOutputPtrCached] + ld l, a + ld a, [wSpriteOutputPtrCached+1] + ld h, a + call SpriteDifferentialDecode + call ResetSpriteBufferPointers + pop af + ld [wSpriteFlipped], a + jp XorSpriteChunks + +; stores hl into the output pointers +StoreSpriteOutputPointer:: + ld a, l + ld [wSpriteOutputPtr], a + ld [wSpriteOutputPtrCached], a + ld a, h + ld [wSpriteOutputPtr+1], a + ld [wSpriteOutputPtrCached+1], a + ret diff --git a/home/vblank.asm b/home/vblank.asm index e80fba75..78f5f69d 100644 --- a/home/vblank.asm +++ b/home/vblank.asm @@ -5,7 +5,7 @@ VBlank:: push de push hl - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [wVBlankSavedROMBank], a ld a, [hSCX] @@ -26,9 +26,9 @@ VBlank:: call VBlankCopy call VBlankCopyDouble call UpdateMovingBgTiles - call $ff80 ; hOAMDMA + call hDMARoutine ld a, BANK(PrepareOAMData) - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a call PrepareOAMData @@ -36,24 +36,24 @@ VBlank:: call Random - ld a, [H_VBLANKOCCURRED] + ld a, [hVBlankOccurred] and a jr z, .skipZeroing xor a - ld [H_VBLANKOCCURRED], a + ld [hVBlankOccurred], a .skipZeroing - ld a, [H_FRAMECOUNTER] + ld a, [hFrameCounter] and a jr z, .skipDec dec a - ld [H_FRAMECOUNTER], a + ld [hFrameCounter], a .skipDec call FadeOutAudio ld a, [wAudioROMBank] ; music ROM bank - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a cp BANK(Audio1_UpdateMusic) @@ -79,7 +79,7 @@ VBlank:: call z, ReadJoypad ld a, [wVBlankSavedROMBank] - ld [H_LOADEDROMBANK], a + ld [hLoadedROMBank], a ld [MBC1RomBank], a pop hl @@ -96,10 +96,10 @@ DelayFrame:: NOT_VBLANKED EQU 1 ld a, NOT_VBLANKED - ld [H_VBLANKOCCURRED], a + ld [hVBlankOccurred], a .halt halt - ld a, [H_VBLANKOCCURRED] + ld a, [hVBlankOccurred] and a jr nz, .halt ret diff --git a/home/vcopy.asm b/home/vcopy.asm index 3f49ad3e..a6213b32 100644 --- a/home/vcopy.asm +++ b/home/vcopy.asm @@ -120,15 +120,15 @@ RedrawRowOrColumn:: ; the above function, RedrawRowOrColumn, is used when walking to ; improve efficiency. AutoBgMapTransfer:: - ld a, [H_AUTOBGTRANSFERENABLED] + ld a, [hAutoBGTransferEnabled] and a ret z ld hl, sp + 0 ld a, h - ld [H_SPTEMP], a + ld [hSPTemp], a ld a, l - ld [H_SPTEMP + 1], a ; save stack pinter - ld a, [H_AUTOBGTRANSFERPORTION] + ld [hSPTemp + 1], a ; save stack pinter + ld a, [hAutoBGTransferPortion] and a jr z, .transferTopThird dec a @@ -136,9 +136,9 @@ AutoBgMapTransfer:: .transferBottomThird coord hl, 0, 12 ld sp, hl - ld a, [H_AUTOBGTRANSFERDEST + 1] + ld a, [hAutoBGTransferDest + 1] ld h, a - ld a, [H_AUTOBGTRANSFERDEST] + ld a, [hAutoBGTransferDest] ld l, a ld de, (12 * 32) add hl, de @@ -147,24 +147,24 @@ AutoBgMapTransfer:: .transferTopThird coord hl, 0, 0 ld sp, hl - ld a, [H_AUTOBGTRANSFERDEST + 1] + ld a, [hAutoBGTransferDest + 1] ld h, a - ld a, [H_AUTOBGTRANSFERDEST] + ld a, [hAutoBGTransferDest] ld l, a ld a, TRANSFERMIDDLE jr .doTransfer .transferMiddleThird coord hl, 0, 6 ld sp, hl - ld a, [H_AUTOBGTRANSFERDEST + 1] + ld a, [hAutoBGTransferDest + 1] ld h, a - ld a, [H_AUTOBGTRANSFERDEST] + ld a, [hAutoBGTransferDest] ld l, a ld de, (6 * 32) add hl, de ld a, TRANSFERBOTTOM .doTransfer - ld [H_AUTOBGTRANSFERPORTION], a ; store next portion + ld [hAutoBGTransferPortion], a ; store next portion ld b, 6 TransferBgRows:: @@ -192,73 +192,73 @@ TransferBgRows:: dec b jr nz, TransferBgRows - ld a, [H_SPTEMP] + ld a, [hSPTemp] ld h, a - ld a, [H_SPTEMP + 1] + ld a, [hSPTemp + 1] ld l, a ld sp, hl ret -; Copies [H_VBCOPYBGNUMROWS] rows from H_VBCOPYBGSRC to H_VBCOPYBGDEST. -; If H_VBCOPYBGSRC is XX00, the transfer is disabled. +; Copies [hVBlankCopyBGNumRows] rows from hVBlankCopyBGSource to hVBlankCopyBGDest. +; If hVBlankCopyBGSource is XX00, the transfer is disabled. VBlankCopyBgMap:: - ld a, [H_VBCOPYBGSRC] ; doubles as enabling byte + ld a, [hVBlankCopyBGSource] ; doubles as enabling byte and a ret z ld hl, sp + 0 ld a, h - ld [H_SPTEMP], a + ld [hSPTemp], a ld a, l - ld [H_SPTEMP + 1], a ; save stack pointer - ld a, [H_VBCOPYBGSRC] + ld [hSPTemp + 1], a ; save stack pointer + ld a, [hVBlankCopyBGSource] ld l, a - ld a, [H_VBCOPYBGSRC + 1] + ld a, [hVBlankCopyBGSource + 1] ld h, a ld sp, hl - ld a, [H_VBCOPYBGDEST] + ld a, [hVBlankCopyBGDest] ld l, a - ld a, [H_VBCOPYBGDEST + 1] + ld a, [hVBlankCopyBGDest + 1] ld h, a - ld a, [H_VBCOPYBGNUMROWS] + ld a, [hVBlankCopyBGNumRows] ld b, a xor a - ld [H_VBCOPYBGSRC], a ; disable transfer so it doesn't continue next V-blank + ld [hVBlankCopyBGSource], a ; disable transfer so it doesn't continue next V-blank jr TransferBgRows VBlankCopyDouble:: -; Copy [H_VBCOPYDOUBLESIZE] 1bpp tiles -; from H_VBCOPYDOUBLESRC to H_VBCOPYDOUBLEDEST. +; Copy [hVBlankCopyDoubleSize] 1bpp tiles +; from hVBlankCopyDoubleSource to hVBlankCopyDoubleDest. ; While we're here, convert to 2bpp. ; The process is straightforward: ; copy each byte twice. - ld a, [H_VBCOPYDOUBLESIZE] + ld a, [hVBlankCopyDoubleSize] and a ret z ld hl, sp + 0 ld a, h - ld [H_SPTEMP], a + ld [hSPTemp], a ld a, l - ld [H_SPTEMP + 1], a + ld [hSPTemp + 1], a - ld a, [H_VBCOPYDOUBLESRC] + ld a, [hVBlankCopyDoubleSource] ld l, a - ld a, [H_VBCOPYDOUBLESRC + 1] + ld a, [hVBlankCopyDoubleSource + 1] ld h, a ld sp, hl - ld a, [H_VBCOPYDOUBLEDEST] + ld a, [hVBlankCopyDoubleDest] ld l, a - ld a, [H_VBCOPYDOUBLEDEST + 1] + ld a, [hVBlankCopyDoubleDest + 1] ld h, a - ld a, [H_VBCOPYDOUBLESIZE] + ld a, [hVBlankCopyDoubleSize] ld b, a xor a ; transferred - ld [H_VBCOPYDOUBLESIZE], a + ld [hVBlankCopyDoubleSize], a .loop rept 3 @@ -286,19 +286,19 @@ VBlankCopyDouble:: jr nz, .loop ld a, l - ld [H_VBCOPYDOUBLEDEST], a + ld [hVBlankCopyDoubleDest], a ld a, h - ld [H_VBCOPYDOUBLEDEST + 1], a + ld [hVBlankCopyDoubleDest + 1], a ld hl, sp + 0 ld a, l - ld [H_VBCOPYDOUBLESRC], a + ld [hVBlankCopyDoubleSource], a ld a, h - ld [H_VBCOPYDOUBLESRC + 1], a + ld [hVBlankCopyDoubleSource + 1], a - ld a, [H_SPTEMP] + ld a, [hSPTemp] ld h, a - ld a, [H_SPTEMP + 1] + ld a, [hSPTemp + 1] ld l, a ld sp, hl @@ -306,37 +306,37 @@ VBlankCopyDouble:: VBlankCopy:: -; Copy [H_VBCOPYSIZE] 2bpp tiles (or 16 * [H_VBCOPYSIZE] tile map entries) -; from H_VBCOPYSRC to H_VBCOPYDEST. +; Copy [hVBlankCopySize] 2bpp tiles (or 16 * [hVBlankCopySize] tile map entries) +; from hVBlankCopySource to hVBlankCopyDest. ; Source and destination addresses are updated, ; so transfer can continue in subsequent calls. - ld a, [H_VBCOPYSIZE] + ld a, [hVBlankCopySize] and a ret z ld hl, sp + 0 ld a, h - ld [H_SPTEMP], a + ld [hSPTemp], a ld a, l - ld [H_SPTEMP + 1], a + ld [hSPTemp + 1], a - ld a, [H_VBCOPYSRC] + ld a, [hVBlankCopySource] ld l, a - ld a, [H_VBCOPYSRC + 1] + ld a, [hVBlankCopySource + 1] ld h, a ld sp, hl - ld a, [H_VBCOPYDEST] + ld a, [hVBlankCopyDest] ld l, a - ld a, [H_VBCOPYDEST + 1] + ld a, [hVBlankCopyDest + 1] ld h, a - ld a, [H_VBCOPYSIZE] + ld a, [hVBlankCopySize] ld b, a xor a ; transferred - ld [H_VBCOPYSIZE], a + ld [hVBlankCopySize], a .loop rept 7 @@ -356,19 +356,19 @@ VBlankCopy:: jr nz, .loop ld a, l - ld [H_VBCOPYDEST], a + ld [hVBlankCopyDest], a ld a, h - ld [H_VBCOPYDEST + 1], a + ld [hVBlankCopyDest + 1], a ld hl, sp + 0 ld a, l - ld [H_VBCOPYSRC], a + ld [hVBlankCopySource], a ld a, h - ld [H_VBCOPYSRC + 1], a + ld [hVBlankCopySource + 1], a - ld a, [H_SPTEMP] + ld a, [hSPTemp] ld h, a - ld a, [H_SPTEMP + 1] + ld a, [hSPTemp + 1] ld l, a ld sp, hl diff --git a/home/yes_no.asm b/home/yes_no.asm new file mode 100644 index 00000000..61aa1390 --- /dev/null +++ b/home/yes_no.asm @@ -0,0 +1,40 @@ +; displays yes/no choice +; yes -> set carry +YesNoChoice:: + call SaveScreenTilesToBuffer1 + call InitYesNoTextBoxParameters + jr DisplayYesNoChoice + +Func_35f4:: + ld a, TWO_OPTION_MENU + ld [wTextBoxID], a + call InitYesNoTextBoxParameters + jp DisplayTextBoxID + +InitYesNoTextBoxParameters:: + xor a ; YES_NO_MENU + ld [wTwoOptionMenuID], a + coord hl, 14, 7 + ld bc, $80f + ret + +YesNoChoicePokeCenter:: + call SaveScreenTilesToBuffer1 + ld a, HEAL_CANCEL_MENU + ld [wTwoOptionMenuID], a + coord hl, 11, 6 + lb bc, 8, 12 + jr DisplayYesNoChoice + +WideYesNoChoice:: ; unused + call SaveScreenTilesToBuffer1 + ld a, WIDE_YES_NO_MENU + ld [wTwoOptionMenuID], a + coord hl, 12, 7 + lb bc, 8, 13 + +DisplayYesNoChoice:: + ld a, TWO_OPTION_MENU + ld [wTextBoxID], a + call DisplayTextBoxID + jp LoadScreenTilesFromBuffer1 @@ -1,3 +1,5 @@ +hDMARoutine EQU $FF80 + hSoftReset EQU $FF8A ; Initialized to 16. ; Decremented each input iteration if the player @@ -26,17 +28,17 @@ hSlideAmount EQU $FF8B hRLEByteValue EQU $FF8B -H_SPRITEWIDTH EQU $FF8B ; in tiles -H_SPRITEINTERLACECOUNTER EQU $FF8B -H_SPRITEHEIGHT EQU $FF8C ; in tiles -H_SPRITEOFFSET EQU $FF8D +hSpriteWidth EQU $FF8B ; in tiles +hSpriteInterlaceCounter EQU $FF8B +hSpriteHeight EQU $FF8C ; in tiles +hSpriteOffset EQU $FF8D ; counters for blinking down arrow -H_DOWNARROWBLINKCNT1 EQU $FF8B -H_DOWNARROWBLINKCNT2 EQU $FF8C +hDownArrowBlinkCount1 EQU $FF8B +hDownArrowBlinkCount2 EQU $FF8C -H_SPRITEDATAOFFSET EQU $FF8B -H_SPRITEINDEX EQU $FF8C +hSpriteDataOffset EQU $FF8B +hSpriteIndex EQU $FF8C hMapStride EQU $FF8B hMapWidth EQU $FF8C @@ -81,6 +83,11 @@ hOAMBufferOffset EQU $FF90 hSpriteScreenX EQU $FF91 hSpriteScreenY EQU $FF92 +hFF8F EQU $FF8F +hFF90 EQU $FF90 +hFF91 EQU $FF91 +hFF92 EQU $FF92 + hTilePlayerStandingOn EQU $FF93 hSpritePriority EQU $FF94 @@ -90,35 +97,41 @@ hSignCoordPointer EQU $FF95 hNPCMovementDirections2Index EQU $FF95 +hSwapItemID EQU $FF95 +hSwapItemQuantity EQU $FF96 + ; CalcPositionOfPlayerRelativeToNPC hNPCSpriteOffset EQU $FF95 -; temp value used when swapping bytes +; temp value used when swapping bytes or words hSwapTemp EQU $FF95 hExperience EQU $FF96 ; 3 bytes, big endian +hMutateWY EQU $FF96 +hMutateWX EQU $FF97 + ; Multiplication and division variables are meant ; to overlap for back-to-back usage. Big endian. -H_MULTIPLICAND EQU $FF96 ; 3 bytes -H_MULTIPLIER EQU $FF99 ; 1 byte -H_PRODUCT EQU $FF95 ; 4 bytes +hMultiplicand EQU $FF96 ; 3 bytes +hMultiplier EQU $FF99 ; 1 byte +hProduct EQU $FF95 ; 4 bytes -H_DIVIDEND EQU $FF95 ; 4 bytes -H_DIVISOR EQU $FF99 ; 1 byte -H_QUOTIENT EQU $FF95 ; 4 bytes -H_REMAINDER EQU $FF99 ; 1 byte +hDividend EQU $FF95 ; 4 bytes +hDivisor EQU $FF99 ; 1 byte +hQuotient EQU $FF95 ; 4 bytes +hRemainder EQU $FF99 ; 1 byte -H_DIVIDEBUFFER EQU $FF9A +hDivideBuffer EQU $FF9A -H_MULTIPLYBUFFER EQU $FF9B +hMultiplyBuffer EQU $FF9B ; PrintNumber (big endian). -H_PASTLEADINGZEROES EQU $FF95 ; last char printed -H_NUMTOPRINT EQU $FF96 ; 3 bytes -H_POWEROFTEN EQU $FF99 ; 3 bytes -H_SAVEDNUMTOPRINT EQU $FF9C ; 3 bytes +hPastLeadingZeros EQU $FF95 ; last char printed +hNumToPrint EQU $FF96 ; 3 bytes +hPowerOf10 EQU $FF99 ; 3 bytes +hSavedNumToPrint EQU $FF9C ; 3 bytes ; distance in steps between NPC and player hNPCPlayerYDistance EQU $FF95 @@ -183,14 +196,14 @@ hJoy5 EQU $FFB5 hJoy6 EQU $FFB6 hJoy7 EQU $FFB7 -H_LOADEDROMBANK EQU $FFB8 +hLoadedROMBank EQU $FFB8 hSavedROMBank EQU $FFB9 ; is automatic background transfer during V-blank enabled? ; if nonzero, yes ; if zero, no -H_AUTOBGTRANSFERENABLED EQU $FFBA +hAutoBGTransferEnabled EQU $FFBA TRANSFERTOP EQU 0 TRANSFERMIDDLE EQU 1 @@ -199,45 +212,47 @@ TRANSFERBOTTOM EQU 2 ; 00 = top third of background ; 01 = middle third of background ; 02 = bottom third of background -H_AUTOBGTRANSFERPORTION EQU $FFBB +hAutoBGTransferPortion EQU $FFBB ; the destination address of the automatic background transfer -H_AUTOBGTRANSFERDEST EQU $FFBC ; 2 bytes +hAutoBGTransferDest EQU $FFBC ; 2 bytes + +hRedrawMapViewRowOffset EQU $FFBE ; temporary storage for stack pointer during memory transfers that use pop ; to increase speed -H_SPTEMP EQU $FFBF ; 2 bytes +hSPTemp EQU $FFBF ; 2 bytes ; source address for VBlankCopyBgMap function ; the first byte doubles as the byte that enabled the transfer. ; if it is 0, the transfer is disabled ; if it is not 0, the transfer is enabled ; this means that XX00 is not a valid source address -H_VBCOPYBGSRC EQU $FFC1 ; 2 bytes +hVBlankCopyBGSource EQU $FFC1 ; 2 bytes ; destination address for VBlankCopyBgMap function -H_VBCOPYBGDEST EQU $FFC3 ; 2 bytes +hVBlankCopyBGDest EQU $FFC3 ; 2 bytes ; number of rows for VBlankCopyBgMap to copy -H_VBCOPYBGNUMROWS EQU $FFC5 +hVBlankCopyBGNumRows EQU $FFC5 ; size of VBlankCopy transfer in 16-byte units -H_VBCOPYSIZE EQU $FFC6 +hVBlankCopySize EQU $FFC6 ; source address for VBlankCopy function -H_VBCOPYSRC EQU $FFC7 +hVBlankCopySource EQU $FFC7 ; destination address for VBlankCopy function -H_VBCOPYDEST EQU $FFC9 +hVBlankCopyDest EQU $FFC9 ; size of source data for VBlankCopyDouble in 8-byte units -H_VBCOPYDOUBLESIZE EQU $FFCB +hVBlankCopyDoubleSize EQU $FFCB ; source address for VBlankCopyDouble function -H_VBCOPYDOUBLESRC EQU $FFCC +hVBlankCopyDoubleSource EQU $FFCC ; destination address for VBlankCopyDouble function -H_VBCOPYDOUBLEDEST EQU $FFCE +hVBlankCopyDoubleDest EQU $FFCE ; controls whether a row or column of 2x2 tile blocks is redrawn in V-blank ; 00 = no redraw @@ -253,12 +268,12 @@ hRedrawRowOrColumnDest EQU $FFD1 hRandomAdd EQU $FFD3 hRandomSub EQU $FFD4 -H_FRAMECOUNTER EQU $FFD5 ; decremented every V-blank (used for delays) +hFrameCounter EQU $FFD5 ; decremented every V-blank (used for delays) ; V-blank sets this to 0 each time it runs. ; So, by setting it to a nonzero value and waiting for it to become 0 again, ; you can detect that the V-blank handler has run since then. -H_VBLANKOCCURRED EQU $FFD6 +hVBlankOccurred EQU $FFD6 ; 00 = indoor ; 01 = cave @@ -268,11 +283,12 @@ hTilesetType EQU $FFD7 hMovingBGTilesCounter1 EQU $FFD8 -H_CURRENTSPRITEOFFSET EQU $FFDA ; multiple of $10 +hCurrentSpriteOffset EQU $FFDA ; multiple of $10 hItemCounter EQU $FFDB -hGymGateIndex EQU $FFDB +hGymGateIndex EQU $FFDB +hGymGateAnswer EQU $FFDC hGymTrashCanRandNumMask EQU $FFDB @@ -285,40 +301,70 @@ hDexRatingNumMonsOwned EQU $FFDC ; $FF = player cancelled hOaksAideResult EQU $FFDB +hSavedCoordIndex EQU $FFDB + hOaksAideRequirement EQU $FFDB ; required number of owned mons hOaksAideRewardItem EQU $FFDC hOaksAideNumMonsOwned EQU $FFDD +hPlayerFacing EQU $FFDB +hPlayerYCoord EQU $FFDC +hPlayerXCoord EQU $FFDD + +hMissableObjectIndex EQU $FFDB + hItemToRemoveID EQU $FFDB hItemToRemoveIndex EQU $FFDC hVendingMachineItem EQU $FFDB hVendingMachinePrice EQU $FFDC ; 3-byte BCD number +hFFDB EQU $FFDB +hFFDC EQU $FFDC + +hBackupGymGateIndex EQU $FFE0 + +hUnlockedSilphCoDoors EQU $FFE0 + ; the first tile ID in a sequence of tile IDs that increase by 1 each step hStartTileID EQU $FFE1 hNewPartyLength EQU $FFE4 +hIsHiddenMissableObject EQU $FFE5 + hDividend2 EQU $FFE5 hDivisor2 EQU $FFE6 hQuotient2 EQU $FFE7 +hMapROMBank EQU $FFE8 + hSpriteVRAMSlotAndFacing EQU $FFE9 hCoordsInFrontOfPlayerMatch EQU $FFEA hSpriteAnimFrameCounter EQU $FFEA -H_WHOSETURN EQU $FFF3 ; 0 on player’s turn, 1 on enemy’s turn +hSpriteScreenYCoord EQU $FFEB +hSpriteScreenXCoord EQU $FFEC +hSpriteMapYCoord EQU $FFED +hSpriteMapXCoord EQU $FFEE + +hFoundHiddenObjectOrBookshelf EQU $FFEB +hFoundHiddenObject EQU $FFEE + +hSavedMapTextPtr EQU $FFEC + +hWhoseTurn EQU $FFF3 ; 0 on player’s turn, 1 on enemy’s turn + +hClearLetterPrintingDelayFlags EQU $FFF4 ; bit 0: draw HP fraction to the right of bar instead of below (for party menu) ; bit 1: menu is double spaced -hFlags_0xFFF6 EQU $FFF6 +hFlagsFFF6 EQU $FFF6 hFieldMoveMonMenuTopMenuItemX EQU $FFF7 hDisableJoypadPolling EQU $FFF9 hJoyInput EQU $FFF8 - diff --git a/layout.link b/layout.link index 6391c9d5..d4473435 100644 --- a/layout.link +++ b/layout.link @@ -1,59 +1,43 @@ ROM0 org $0000 - "rst 00" - + "NULL" + org $0000 + "rst0" org $0008 - "rst 08" - + "rst8" org $0010 - "rst 10" - + "rst10" org $0018 - "rst 18" - + "rst18" org $0020 - "rst 20" - + "rst20" org $0028 - "rst 28" - + "rst28" org $0030 - "rst 30" - + "rst30" org $0038 - "rst 38" - + "rst38" org $0040 "vblank" - org $0048 - "hblank" - + "lcd" org $0050 "timer" - org $0058 "serial" - org $0060 "joypad" ; $0061 - "Home" - + "High Home" org $100 - "Entry" - ; $0104 "Header" - org $150 - "Main" + "Home" ROMX $1 - org $4000 "bank1" ROMX $2 - org $4000 "Sound Effect Headers 1" "Music Headers 1" "Sound Effects 1" @@ -61,36 +45,30 @@ ROMX $2 "Music 1" ROMX $3 - org $4000 "bank3" ROMX $4 - org $4000 "NPC Sprites 1" "Graphics (BANK 4)" "Battle (BANK 4)" ROMX $5 - org $4000 "NPC Sprites 2" "Battle (BANK 5)" ROMX $6 - org $4000 "Maps 1" "bank6_1" "Maps 2" "bank6_2" ROMX $7 - org $4000 "Maps 3" "bank7_1" "Maps 4" "bank7_2" ROMX $8 - org $4000 "Sound Effect Headers 2" "Music Headers 2" "Sound Effects 2" @@ -100,113 +78,92 @@ ROMX $8 "Music 2" ROMX $9 - org $4000 "Pics 1" "Battle (BANK 9)" ROMX $A - org $4000 "Pics 2" "Battle (BANK A)" ROMX $B - org $4000 "Pics 3" "Battle (BANK B)" ROMX $C - org $4000 "Pics 4" "Battle (BANK C)" ROMX $D - org $4000 "Pics 5" "Battle (BANK D)" ROMX $E - org $4000 "bankE" ROMX $F - org $4000 "bankF" ROMX $10 - org $4000 "bank10" ROMX $11 - org $4000 "Maps 5" "bank11_1" "Maps 6" "bank11_2" ROMX $12 - org $4000 "Maps 7" "bank12" "Maps 8" ROMX $13 - org $4000 "Pics 6" "Maps 9" "bank13" ROMX $14 - org $4000 "Maps 10" "bank14" ROMX $15 - org $4000 "Maps 11" "bank15_1" "Maps 12" "bank15_2" ROMX $16 - org $4000 "Maps 13" "bank16_1" "Maps 14" "bank16_2" ROMX $17 - org $4000 "Maps 15" "bank17_1" "Maps 16" "bank17_2" ROMX $18 - org $4000 "Maps 17" "bank18_1" "Maps 18" "bank18_2" ROMX $19 - org $4000 "Tilesets 1" ROMX $1A - org $4000 "bank1A" "Tilesets 2" ROMX $1B - org $4000 "Tilesets 3" ROMX $1C - org $4000 "bank1C" ROMX $1D - org $4000 "Maps 19" "bank1D_1" "Maps 20" @@ -215,11 +172,9 @@ ROMX $1D "bank1D_3" ROMX $1E - org $4000 "bank1E" ROMX $1F - org $4000 "Sound Effect Headers 3" "Music Headers 3" "Sound Effects 3" @@ -227,81 +182,60 @@ ROMX $1F "Music 3" ROMX $20 - org $4000 "Text 1" ROMX $21 - org $4000 "Text 2" ROMX $22 - org $4000 "Text 3" ROMX $23 - org $4000 "Text 4" ROMX $24 - org $4000 "Text 5" ROMX $25 - org $4000 "Text 6" ROMX $26 - org $4000 "Text 7" ROMX $27 - org $4000 "Text 8" ROMX $28 - org $4000 "Text 9" ROMX $29 - org $4000 "Text 10" ROMX $2A - org $4000 "Text 11" ROMX $2B - org $4000 "Pokedex Text" ROMX $2C - org $4000 "Move Names" WRAM0 - org $c000 "WRAM Bank 0" - org $c100 "Sprite State Data" "OAM Buffer" - org $dfff "Stack" -SRAM 0 - org $a000 +SRAM $0 "Sprite Buffers" -SRAM 1 - org $a000 +SRAM $1 "Save Data" -SRAM 2 - org $a000 +SRAM $2 "Saved Boxes 1" -SRAM 3 - org $a000 +SRAM $3 "Saved Boxes 2" - @@ -1,5 +1,11 @@ -INCLUDE "macros/asm_macros.asm" -INCLUDE "macros/data_macros.asm" -INCLUDE "macros/text_macros.asm" -INCLUDE "macros/audio_macros.asm" -INCLUDE "macros/event_macros.asm" +INCLUDE "macros/enum.asm" +INCLUDE "macros/predef.asm" +INCLUDE "macros/farcall.asm" +INCLUDE "macros/data.asm" +INCLUDE "macros/code.asm" +INCLUDE "macros/coords.asm" + +INCLUDE "macros/scripts/audio.asm" +INCLUDE "macros/scripts/maps.asm" +INCLUDE "macros/scripts/events.asm" +INCLUDE "macros/scripts/text.asm" diff --git a/macros/asm_macros.asm b/macros/asm_macros.asm deleted file mode 100755 index d3f00b0c..00000000 --- a/macros/asm_macros.asm +++ /dev/null @@ -1,192 +0,0 @@ - -lb: MACRO ; r, hi, lo - ld \1, ((\2) & $ff) << 8 + ((\3) & $ff) -ENDM - -homecall: MACRO - ld a, [H_LOADEDROMBANK] - push af - ld a, BANK(\1) - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a - call \1 - pop af - ld [H_LOADEDROMBANK], a - ld [MBC1RomBank], a -ENDM - -farcall EQUS "callba" - -callba: MACRO - ld b, BANK(\1) - ld hl, \1 - call Bankswitch -ENDM - -callab: MACRO - ld hl, \1 - ld b, BANK(\1) - call Bankswitch -ENDM - -jpba: MACRO - ld b, BANK(\1) - ld hl, \1 - jp Bankswitch -ENDM - -jpab: MACRO - ld hl, \1 - ld b, BANK(\1) - jp Bankswitch -ENDM - -validateCoords: MACRO - IF \1 >= SCREEN_WIDTH - fail "x coord out of range" - ENDC - IF \2 >= SCREEN_HEIGHT - fail "y coord out of range" - ENDC -ENDM - -;\1 = r -;\2 = X -;\3 = Y -;\4 = which tilemap (optional) -coord: MACRO - validateCoords \2, \3 - IF _NARG >= 4 - ld \1, \4 + SCREEN_WIDTH * \3 + \2 - ELSE - ld \1, wTileMap + SCREEN_WIDTH * \3 + \2 - ENDC -ENDM - -;\1 = X -;\2 = Y -;\3 = which tilemap (optional) -aCoord: MACRO - validateCoords \1, \2 - IF _NARG >= 3 - ld a, [\3 + SCREEN_WIDTH * \2 + \1] - ELSE - ld a, [wTileMap + SCREEN_WIDTH * \2 + \1] - ENDC -ENDM - -;\1 = X -;\2 = Y -;\3 = which tilemap (optional) -Coorda: MACRO - validateCoords \1, \2 - IF _NARG >= 3 - ld [\3 + SCREEN_WIDTH * \2 + \1], a - ELSE - ld [wTileMap + SCREEN_WIDTH * \2 + \1], a - ENDC -ENDM - -;\1 = X -;\2 = Y -;\3 = which tilemap (optional) -dwCoord: MACRO - validateCoords \1, \2 - IF _NARG >= 3 - dw \3 + SCREEN_WIDTH * \2 + \1 - ELSE - dw wTileMap + SCREEN_WIDTH * \2 + \1 - ENDC -ENDM - -;\1 = r -;\2 = X -;\3 = Y -;\4 = map width -overworldMapCoord: MACRO - ld \1, wOverworldMap + ((\2) + 3) + (((\3) + 3) * ((\4) + (3 * 2))) -ENDM - -; macro for two nibbles -dn: MACRO - db (\1 << 4 | \2) -ENDM - -; macro for putting a byte then a word -dbw: MACRO - db \1 - dw \2 -ENDM - -dba: MACRO - dbw BANK(\1), \1 -ENDM - -dwb: MACRO - dw \1 - db \2 -ENDM - -dab: MACRO - dwb \1, BANK(\1) -ENDM - -dbbw: MACRO - db \1, \2 - dw \3 -ENDM - -; Predef macro. -predef_const: MACRO - const \1PredefID -ENDM - -add_predef: MACRO -\1Predef:: - db BANK(\1) - dw \1 -ENDM - -predef_id: MACRO - ld a, (\1Predef - PredefPointers) / 3 -ENDM - -predef: MACRO - predef_id \1 - call Predef -ENDM - -predef_jump: MACRO - predef_id \1 - jp Predef -ENDM - -tx_pre_const: MACRO - const \1_id -ENDM - -add_tx_pre: MACRO -\1_id:: dw \1 -ENDM - -db_tx_pre: MACRO - db (\1_id - TextPredefs) / 2 + 1 -ENDM - -tx_pre_id: MACRO - ld a, (\1_id - TextPredefs) / 2 + 1 -ENDM - -tx_pre: MACRO - tx_pre_id \1 - call PrintPredefTextID -ENDM - -tx_pre_jump: MACRO - tx_pre_id \1 - jp PrintPredefTextID -ENDM - -ldPal: MACRO - ld \1, \2 << 6 | \3 << 4 | \4 << 2 | \5 -ENDM diff --git a/macros/audio_macros.asm b/macros/audio_macros.asm deleted file mode 100755 index 95b9ecbc..00000000 --- a/macros/audio_macros.asm +++ /dev/null @@ -1,214 +0,0 @@ - -StopAllMusic: MACRO - ld a, $ff - call PlaySound -ENDM - -Ch1 EQU 0 -Ch2 EQU 1 -Ch3 EQU 2 -Ch4 EQU 3 -Ch5 EQU 4 -Ch6 EQU 5 -Ch7 EQU 6 -Ch8 EQU 7 - -audio_header: MACRO - db (_NARG - 2) << 6 | \2 - dw \1_\2 - IF _NARG > 2 - db \3 - dw \1_\3 - ENDC - IF _NARG > 3 - db \4 - dw \1_\4 - ENDC - IF _NARG > 4 - db \5 - dw \1_\5 - ENDC -ENDM - -; arguments: length [0, 7], pitch change [-7, 7] -; length: length of time between pitch shifts -; sometimes used with a value >7 in which case the MSB is ignored -; pitch change: positive value means increase in pitch, negative value means decrease in pitch -; small magnitude means quick change, large magnitude means slow change -; in signed magnitude representation, so a value of 8 is the same as (negative) 0 -pitch_sweep: MACRO - db $10 - IF \2 < 0 - db (\1 << 4) | (%1000 | (\2 * -1)) - ELSE - db (\1 << 4) | \2 - ENDC -ENDM - -; arguments: length [0, 15], volume [0, 15], fade [-7, 7], frequency -; fade: positive value means decrease in volume, negative value means increase in volume -; small magnitude means quick change, large magnitude means slow change -; in signed magnitude representation, so a value of 8 is the same as (negative) 0 -square_note: MACRO - db $20 | \1 - IF \3 < 0 - db (\2 << 4) | (%1000 | (\3 * -1)) - ELSE - db (\2 << 4) | \3 - ENDC - dw \4 -ENDM - -; arguments: length [0, 15], volume [0, 15], fade [-7, 7], frequency -; fade: positive value means decrease in volume, negative value means increase in volume -; small magnitude means quick change, large magnitude means slow change -; in signed magnitude representation, so a value of 8 is the same as (negative) 0 -noise_note: MACRO - db $20 | \1 - IF \3 < 0 - db (\2 << 4) | (%1000 | (\3 * -1)) - ELSE - db (\2 << 4) | \3 - ENDC - db \4 -ENDM - -C_ EQU $0 -C# EQU $1 -D_ EQU $2 -D# EQU $3 -E_ EQU $4 -F_ EQU $5 -F# EQU $6 -G_ EQU $7 -G# EQU $8 -A_ EQU $9 -A# EQU $A -B_ EQU $B - -; arguments: pitch, length [1, 16] -note: MACRO - db (\1 << 4) | (\2 - 1) -ENDM - -; arguments: instrument [1, 19], length [1, 16] -drum_note: MACRO - db $B0 | (\2 - 1) - db \1 -ENDM - -; arguments: instrument, length [1, 16] -; like drum_note but one 1 byte instead of 2 -; can only be used with instruments 1-10, excluding 2 -; unused -drum_note_short: MACRO - db (\1 << 4) | (\2 - 1) -ENDM - -; arguments: length [1, 16] -rest: MACRO - db $C0 | (\1 - 1) -ENDM - -; arguments: speed [0, 15], volume [0, 15], fade [-7, 7] -; fade: positive value means decrease in volume, negative value means increase in volume -; small magnitude means quick change, large magnitude means slow change -; in signed magnitude representation, so a value of 8 is the same as (negative) 0 -note_type: MACRO - db $D0 | \1 - IF \3 < 0 - db (\2 << 4) | (%1000 | (\3 * -1)) - ELSE - db (\2 << 4) | \3 - ENDC -ENDM - -; arguments: speed [0, 15] -drum_speed: MACRO - db $D0 | \1 -ENDM - -; arguments: octave [1, 8] -octave: MACRO - db $E8 - \1 -ENDM - -; when enabled, effective frequency used is incremented by 1 -toggle_perfect_pitch: MACRO - db $E8 -ENDM - -; arguments: delay [0, 255], depth [0, 15], rate [0, 15] -; delay: time delay until vibrato effect begins -; depth: amplitude of vibrato wave -; rate: frequency of vibrato wave -vibrato: MACRO - db $EA - db \1 - db (\2 << 4) | \3 -ENDM - -; arguments: length [1, 256], octave [1, 8], pitch -pitch_slide: MACRO - db $EB - db \1 - 1 - db ((8 - \2) << 4) | \3 -ENDM - -; arguments: duty cycle [0, 3] (12.5%, 25%, 50%, 75%) -duty_cycle: MACRO - db $EC - db \1 -ENDM - -; arguments: tempo [0, $ffff] -; used to calculate note delay counters -; so a smaller value means music plays faster -; ideally should be set to $100 or less to guarantee no overflow -; if larger than $100, large note speed or note length values might cause overflow -; stored in big endian -tempo: MACRO - db $ED - db \1 / $100 - db \1 % $100 -ENDM - -; arguments: left output enable mask, right output enable mask -stereo_panning: MACRO - db $EE - db (\1 << 4) | \2 -ENDM - -; arguments: left master volume [0, 7], right master volume [0, 7] -volume: MACRO - db $F0 - db (\1 << 4) | \2 -ENDM - -; when enabled, the sfx data is interpreted as music data -execute_music: MACRO - db $F8 -ENDM - -; arguments: duty cycle 1, duty cycle 2, duty cycle 3, duty cycle 4 -duty_cycle_pattern: MACRO - db $FC - db \1 << 6 | \2 << 4 | \3 << 2 | \4 -ENDM - -; arguments: address -sound_call: MACRO - db $FD - dw \1 -ENDM - -; arguments: count, address -sound_loop: MACRO - db $FE - db \1 - dw \2 -ENDM - -sound_ret: MACRO - db $FF -ENDM diff --git a/macros/code.asm b/macros/code.asm new file mode 100755 index 00000000..8b7d6184 --- /dev/null +++ b/macros/code.asm @@ -0,0 +1,9 @@ +; Syntactic sugar macros + +lb: MACRO ; r, hi, lo + ld \1, ((\2) & $ff) << 8 + ((\3) & $ff) +ENDM + +ldPal: MACRO + ld \1, \2 << 6 | \3 << 4 | \4 << 2 | \5 +ENDM diff --git a/macros/coords.asm b/macros/coords.asm new file mode 100644 index 00000000..302260d7 --- /dev/null +++ b/macros/coords.asm @@ -0,0 +1,65 @@ +validateCoords: MACRO + IF \1 >= SCREEN_WIDTH + fail "x coord out of range" + ENDC + IF \2 >= SCREEN_HEIGHT + fail "y coord out of range" + ENDC +ENDM + +;\1 = r +;\2 = X +;\3 = Y +;\4 = which tilemap (optional) +coord: MACRO + validateCoords \2, \3 + IF _NARG >= 4 + ld \1, \4 + SCREEN_WIDTH * \3 + \2 + ELSE + ld \1, wTileMap + SCREEN_WIDTH * \3 + \2 + ENDC +ENDM + +;\1 = X +;\2 = Y +;\3 = which tilemap (optional) +aCoord: MACRO + validateCoords \1, \2 + IF _NARG >= 3 + ld a, [\3 + SCREEN_WIDTH * \2 + \1] + ELSE + ld a, [wTileMap + SCREEN_WIDTH * \2 + \1] + ENDC +ENDM + +;\1 = X +;\2 = Y +;\3 = which tilemap (optional) +Coorda: MACRO + validateCoords \1, \2 + IF _NARG >= 3 + ld [\3 + SCREEN_WIDTH * \2 + \1], a + ELSE + ld [wTileMap + SCREEN_WIDTH * \2 + \1], a + ENDC +ENDM + +;\1 = X +;\2 = Y +;\3 = which tilemap (optional) +dwCoord: MACRO + validateCoords \1, \2 + IF _NARG >= 3 + dw \3 + SCREEN_WIDTH * \2 + \1 + ELSE + dw wTileMap + SCREEN_WIDTH * \2 + \1 + ENDC +ENDM + +;\1 = r +;\2 = X +;\3 = Y +;\4 = map width +overworldMapCoord: MACRO + ld \1, wOverworldMap + ((\2) + 3) + (((\3) + 3) * ((\4) + (3 * 2))) +ENDM diff --git a/macros/data.asm b/macros/data.asm new file mode 100755 index 00000000..54d1d561 --- /dev/null +++ b/macros/data.asm @@ -0,0 +1,62 @@ +; Value macros + +percent EQUS "* $ff / 100" + +bcd2: MACRO + dn ((\1) / 1000) % 10, ((\1) / 100) % 10 + dn ((\1) / 10) % 10, (\1) % 10 +ENDM + +bcd3: MACRO + dn ((\1) / 100000) % 10, ((\1) / 10000) % 10 + dn ((\1) / 1000) % 10, ((\1) / 100) % 10 + dn ((\1) / 10) % 10, (\1) % 10 +ENDM + +coins equs "bcd2" +money equs "bcd3" + +RGB: MACRO + dw (\3 << 10 | \2 << 5 | \1) +ENDM + +tmlearn: MACRO +x = 0 + REPT _NARG +IF \1 != 0 +x = x | (1 << ((\1 - 1) % 8)) +ENDC + SHIFT + ENDR + db x +ENDM + + +; Constant data (db, dw, dl) macros + +dn: MACRO ; nybbles + db (\1 << 4 | \2) +ENDM + +dbw: MACRO + db \1 + dw \2 +ENDM + +dba: MACRO + dbw BANK(\1), \1 +ENDM + +dwb: MACRO + dw \1 + db \2 +ENDM + +dab: MACRO + dwb \1, BANK(\1) +ENDM + +dbbw: MACRO + db \1, \2 + dw \3 +ENDM diff --git a/macros/data_macros.asm b/macros/data_macros.asm deleted file mode 100755 index ee5cb8f0..00000000 --- a/macros/data_macros.asm +++ /dev/null @@ -1,242 +0,0 @@ - -; Constant enumeration is useful for monsters, items, moves, etc. -const_def: MACRO -const_value = 0 -ENDM - -const: MACRO -\1 EQU const_value -const_value = const_value + 1 -ENDM - -; data format macros - -percent EQUS "* $ff / 100" - -bcd2: MACRO - dn ((\1) / 1000) % 10, ((\1) / 100) % 10 - dn ((\1) / 10) % 10, (\1) % 10 -ENDM - -bcd3: MACRO - dn ((\1) / 100000) % 10, ((\1) / 10000) % 10 - dn ((\1) / 1000) % 10, ((\1) / 100) % 10 - dn ((\1) / 10) % 10, (\1) % 10 -ENDM - -coins equs "bcd2" -money equs "bcd3" - -;\1 = Map Width -;\2 = Rows above (Y-blocks) -;\3 = X movement (X-blocks) -EVENT_DISP: MACRO - dw (wOverworldMap + 7 + (\1) + ((\1) + 6) * ((\2) >> 1) + ((\3) >> 1)) ; Ev.Disp - db \2,\3 ;Y,X -ENDM - -FLYWARP_DATA: MACRO - EVENT_DISP \1,\2,\3 - db ((\2) & $01) ;sub-block Y - db ((\3) & $01) ;sub-block X -ENDM - -; external map entry macro -EMAP: MACRO ; emap x-coordinate,y-coordinate,textpointer -; the appearance of towns and routes in the town map, indexed by map id - ; nybble: y-coordinate - ; nybble: x-coordinate - ; word : pointer to map name - dn \2, \1 - dw \3 -ENDM - -; internal map entry macro -IMAP: MACRO ; imap mapid_less_than,x-coordinate,y-coordinate,textpointer -; the appearance of buildings and dungeons in the town map - ; byte : maximum map id subject to this rule - ; nybble: y-coordinate - ; nybble: x-coordinate - ; word : pointer to map name - db \1 + 1 - dn \3, \2 - dw \4 -ENDM - -; tilesets' headers macro -tileset: MACRO - db BANK(\2) ; BANK(GFX) - dw \1, \2, \3 ; Block, GFX, Coll - db \4, \5, \6 ; counter tiles - db \7 ; grass tile - db \8 ; permission (indoor, cave, outdoor) -ENDM - -INDOOR EQU 0 -CAVE EQU 1 -OUTDOOR EQU 2 - -RGB: MACRO - dw (\3 << 10 | \2 << 5 | \1) -ENDM - -WALK EQU $FE -STAY EQU $FF - -DOWN EQU $D0 -UP EQU $D1 -LEFT EQU $D2 -RIGHT EQU $D3 -NONE EQU $FF - -;\1 sprite id -;\2 x position -;\3 y position -;\4 movement (WALK/STAY) -;\5 range or direction -;\6 text id -;\7 items only: item id -;\7 trainers only: trainer class/pokemon id -;\8 trainers only: trainer number/pokemon level -object: MACRO - db \1 - db \3 + 4 - db \2 + 4 - db \4 - db \5 - IF (_NARG > 7) - db TRAINER | \6 - db \7 - db \8 - ELSE - IF (_NARG > 6) - db ITEM | \6 - db \7 - ELSE - db \6 - ENDC - ENDC -ENDM - -;\1 x position -;\2 y position -;\3 destination warp id -;\4 destination map (-1 = wLastMap) -warp: MACRO - db \2, \1, \3, \4 -ENDM - -;\1 x position -;\2 y position -;\3 sign id -sign: MACRO - db \2, \1, \3 -ENDM - -;\1 x position -;\2 y position -;\3 map width -warp_to: MACRO - EVENT_DISP \3, \2, \1 -ENDM - -;\1 (byte) = current map id -;\2 (byte) = connected map id -;\3 (byte) = x movement of connection strip -;\4 (byte) = connection strip offset -;\5 (word) = connected map blocks pointer -NORTH_MAP_CONNECTION: MACRO - db \2 ; map id - dw \5 + (\2_WIDTH * (\2_HEIGHT - 3)) + \4; "Connection Strip" location - dw wOverworldMap + 3 + \3 ; current map position - IF (\1_WIDTH < \2_WIDTH) - db \1_WIDTH - \3 + 3 ; width of connection strip - ELSE - db \2_WIDTH - \4 ; width of connection strip - ENDC - db \2_WIDTH ; map width - db (\2_HEIGHT * 2) - 1 ; y alignment (y coordinate of player when entering map) - db (\3 - \4) * -2 ; x alignment (x coordinate of player when entering map) - dw wOverworldMap + 1 + (\2_HEIGHT * (\2_WIDTH + 6)) ; window (position of the upper left block after entering the map) -ENDM - -;\1 (byte) = current map id -;\2 (byte) = connected map id -;\3 (byte) = x movement of connection strip -;\4 (byte) = connection strip offset -;\5 (word) = connected map blocks pointer -;\6 (flag) = add 3 to width of connection strip (why?) -SOUTH_MAP_CONNECTION: MACRO - db \2 ; map id - dw \5 + \4 ; "Connection Strip" location - dw wOverworldMap + 3 + (\1_HEIGHT + 3) * (\1_WIDTH + 6) + \3 ; current map position - IF (\1_WIDTH < \2_WIDTH) - IF (_NARG > 5) - db \1_WIDTH - \3 + 3 ; width of connection strip - ELSE - db \1_WIDTH - \3 ; width of connection strip - ENDC - ELSE - db \2_WIDTH - \4 ; width of connection strip - ENDC - db \2_WIDTH ; map width - db 0 ; y alignment (y coordinate of player when entering map) - db (\3 - \4) * -2 ; x alignment (x coordinate of player when entering map) - dw wOverworldMap + 7 + \2_WIDTH ; window (position of the upper left block after entering the map) -ENDM - -;\1 (byte) = current map id -;\2 (byte) = connected map id -;\3 (byte) = y movement of connection strip -;\4 (byte) = connection strip offset -;\5 (word) = connected map blocks pointer -WEST_MAP_CONNECTION: MACRO - db \2 ; map id - dw \5 + (\2_WIDTH * \4) + \2_WIDTH - 3 ; "Connection Strip" location - dw wOverworldMap + (\1_WIDTH + 6) * (\3 + 3) ; current map position - IF (\1_HEIGHT < \2_HEIGHT) - db \1_HEIGHT - \3 + 3 ; height of connection strip - ELSE - db \2_HEIGHT - \4 ; height of connection strip - ENDC - db \2_WIDTH ; map width - db (\3 - \4) * -2 ; y alignment - db (\2_WIDTH * 2) - 1 ; x alignment - dw wOverworldMap + 6 + (2 * \2_WIDTH) ; window (position of the upper left block after entering the map) -ENDM - -;\1 (byte) = current map id -;\2 (byte) = connected map id -;\3 (byte) = y movement of connection strip -;\4 (byte) = connection strip offset -;\5 (word) = connected map blocks pointer -;\6 (flag) = add 3 to height of connection strip (why?) -EAST_MAP_CONNECTION: MACRO - db \2 ; map id - dw \5 + (\2_WIDTH * \4) ; "Connection Strip" location - dw wOverworldMap - 3 + (\1_WIDTH + 6) * (\3 + 4) ; current map position - IF (\1_HEIGHT < \2_HEIGHT) - IF (_NARG > 5) - db \1_HEIGHT - \3 + 3 ; height of connection strip - ELSE - db \1_HEIGHT - \3 ; height of connection strip - ENDC - ELSE - db \2_HEIGHT - \4 ; height of connection strip - ENDC - db \2_WIDTH ; map width - db (\3 - \4) * -2 ; y alignment - db 0 ; x alignment - dw wOverworldMap + 7 + \2_WIDTH ; window (position of the upper left block after entering the map) -ENDM - -tmlearn: MACRO -x = 0 - REPT _NARG -IF \1 != 0 -x = x | (1 << ((\1 - 1) % 8)) -ENDC - SHIFT - ENDR - db x -ENDM diff --git a/macros/enum.asm b/macros/enum.asm new file mode 100644 index 00000000..8fe5b534 --- /dev/null +++ b/macros/enum.asm @@ -0,0 +1,43 @@ +; Enumerate variables + +enum_start: MACRO +if _NARG >= 1 +__enum__ = \1 +else +__enum__ = 0 +endc +if _NARG >= 2 +__enumdir__ = \2 +else +__enumdir__ = 1 +endc +ENDM + +enum: MACRO +\1 EQU __enum__ +__enum__ = __enum__ + __enumdir__ +ENDM + +enum_set: MACRO +__enum__ = \1 +ENDM + +; Enumerate constants + +const_def: MACRO +if _NARG >= 1 +const_value = \1 +else +const_value = 0 +endc +ENDM + +const: MACRO +\1 EQU const_value +const_value = const_value + 1 +ENDM + +shift_const: MACRO +\1 EQU (1 << const_value) +const_value = const_value + 1 +ENDM diff --git a/macros/event_macros.asm b/macros/event_macros.asm deleted file mode 100755 index 20027209..00000000 --- a/macros/event_macros.asm +++ /dev/null @@ -1,441 +0,0 @@ -;\1 = event index -;\2 = return result in carry instead of zero flag -CheckEvent: MACRO -event_byte = ((\1) / 8) - ld a, [wEventFlags + event_byte] - - IF _NARG > 1 - IF ((\1) % 8) == 7 - add a - ELSE - REPT ((\1) % 8) + 1 - rrca - ENDR - ENDC - ELSE - bit (\1) % 8, a - ENDC - ENDM - -;\1 = event index -CheckEventReuseA: MACRO - IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) - ld a, [wEventFlags + event_byte] - ENDC - - bit (\1) % 8, a - ENDM - -;\1 = event index -;\2 = event index of the last event used before the branch -CheckEventAfterBranchReuseA: MACRO -event_byte = ((\2) / 8) - IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) - ld a, [wEventFlags + event_byte] - ENDC - - bit (\1) % 8, a - ENDM - -;\1 = reg -;\2 = event index -;\3 = event index this event is relative to (optional, this is needed when there is a fixed flag address) -EventFlagBit: MACRO - IF _NARG > 2 - ld \1, ((\3) % 8) + ((\2) - (\3)) - ELSE - ld \1, (\2) % 8 - ENDC - ENDM - -;\1 = reg -;\2 = event index -EventFlagAddress: MACRO -event_byte = ((\2) / 8) - ld \1, wEventFlags + event_byte - ENDM - -;\1 = event index -CheckEventHL: MACRO -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - bit (\1) % 8, [hl] - ENDM - -;\1 = event index -CheckEventReuseHL: MACRO -IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - ENDC - - bit (\1) % 8, [hl] - ENDM - -; dangerous, only use when HL is guaranteed to be the desired value -;\1 = event index -CheckEventForceReuseHL: MACRO -event_byte = ((\1) / 8) - bit (\1) % 8, [hl] - ENDM - -;\1 = event index -;\2 = event index of the last event used before the branch -CheckEventAfterBranchReuseHL: MACRO -event_byte = ((\2) / 8) -IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - ENDC - - bit (\1) % 8, [hl] - ENDM - -;\1 = event index -CheckAndSetEvent: MACRO -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - bit (\1) % 8, [hl] - set (\1) % 8, [hl] - ENDM - -;\1 = event index -CheckAndResetEvent: MACRO -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - bit (\1) % 8, [hl] - res (\1) % 8, [hl] - ENDM - -;\1 = event index -CheckAndSetEventA: MACRO - ld a, [wEventFlags + ((\1) / 8)] - bit (\1) % 8, a - set (\1) % 8, a - ld [wEventFlags + ((\1) / 8)], a - ENDM - -;\1 = event index -CheckAndResetEventA: MACRO - ld a, [wEventFlags + ((\1) / 8)] - bit (\1) % 8, a - res (\1) % 8, a - ld [wEventFlags + ((\1) / 8)], a - ENDM - -;\1 = event index -SetEvent: MACRO -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - set (\1) % 8, [hl] - ENDM - -;\1 = event index -SetEventReuseHL: MACRO - IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - ENDC - - set (\1) % 8, [hl] - ENDM - -;\1 = event index -;\2 = event index of the last event used before the branch -SetEventAfterBranchReuseHL: MACRO -event_byte = ((\2) / 8) -IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - ENDC - - set (\1) % 8, [hl] - ENDM - -; dangerous, only use when HL is guaranteed to be the desired value -;\1 = event index -SetEventForceReuseHL: MACRO -event_byte = ((\1) / 8) - set (\1) % 8, [hl] - ENDM - -;\1 = event index -;\2 = event index -;\3, \4, ... = additional (optional) event indices -SetEvents: MACRO - SetEvent \1 - rept (_NARG + -1) - SetEventReuseHL \2 - shift - endr - ENDM - -;\1 = event index -ResetEvent: MACRO -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - res (\1) % 8, [hl] - ENDM - -;\1 = event index -ResetEventReuseHL: MACRO - IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - ENDC - - res (\1) % 8, [hl] - ENDM - -;\1 = event index -;\2 = event index of the last event used before the branch -ResetEventAfterBranchReuseHL: MACRO -event_byte = ((\2) / 8) -IF event_byte != ((\1) / 8) -event_byte = ((\1) / 8) - ld hl, wEventFlags + event_byte - ENDC - - res (\1) % 8, [hl] - ENDM - -; dangerous, only use when HL is guaranteed to be the desired value -;\1 = event index -ResetEventForceReuseHL: MACRO -event_byte = ((\1) / 8) - res (\1) % 8, [hl] - ENDM - -;\1 = event index -;\2 = event index -;\3 = event index (optional) -ResetEvents: MACRO - ResetEvent \1 - rept (_NARG + -1) - ResetEventReuseHL \2 - shift - endr - ENDM - -;\1 = event index -;\2 = number of bytes away from the base address (optional, for matching the ROM) -dbEventFlagBit: MACRO - IF _NARG > 1 - db ((\1) % 8) + ((\2) * 8) - ELSE - db ((\1) % 8) - ENDC - ENDM - -;\1 = event index -;\2 = number of bytes away from the base address (optional, for matching the ROM) -dwEventFlagAddress: MACRO - IF _NARG > 1 - dw wEventFlags + ((\1) / 8) - (\2) - ELSE - dw wEventFlags + ((\1) / 8) - ENDC - ENDM - -;\1 = start -;\2 = end -SetEventRange: MACRO -event_start_byte = ((\1) / 8) -event_end_byte = ((\2) / 8) - - IF event_end_byte < event_start_byte - FAIL "Incorrect argument order in SetEventRange." - ENDC - - IF event_start_byte == event_end_byte - ld a, [wEventFlags + event_start_byte] - or (1 << (((\2) % 8) + 1)) - (1 << ((\1) % 8)) - ld [wEventFlags + event_start_byte], a - ELSE -event_fill_start = event_start_byte + 1 -event_fill_count = event_end_byte - event_start_byte - 1 - - IF ((\1) % 8) == 0 -event_fill_start = event_fill_start + -1 -event_fill_count = event_fill_count + 1 - ELSE - ld a, [wEventFlags + event_start_byte] - or $ff - ((1 << ((\1) % 8)) - 1) - ld [wEventFlags + event_start_byte], a - ENDC - - IF ((\2) % 8) == 7 -event_fill_count = event_fill_count + 1 - ENDC - - IF event_fill_count == 1 - ld hl, wEventFlags + event_fill_start - ld [hl], $ff - ENDC - - IF event_fill_count > 1 - ld a, $ff - ld hl, wEventFlags + event_fill_start - - REPT event_fill_count + -1 - ld [hli], a - ENDR - - ld [hl], a - ENDC - - IF ((\2) % 8) == 0 - ld hl, wEventFlags + event_end_byte - set 0, [hl] - ELSE - IF ((\2) % 8) != 7 - ld a, [wEventFlags + event_end_byte] - or (1 << (((\2) % 8) + 1)) - 1 - ld [wEventFlags + event_end_byte], a - ENDC - ENDC - ENDC - ENDM - -;\1 = start -;\2 = end -;\3 = assume a is 0 if present -ResetEventRange: MACRO -event_start_byte = ((\1) / 8) -event_end_byte = ((\2) / 8) - - IF event_end_byte < event_start_byte - FAIL "Incorrect argument order in ResetEventRange." - ENDC - - IF event_start_byte == event_end_byte - ld a, [wEventFlags + event_start_byte] - and ~((1 << (((\2) % 8) + 1)) - (1 << ((\1) % 8))) & $ff - ld [wEventFlags + event_start_byte], a - ELSE -event_fill_start = event_start_byte + 1 -event_fill_count = event_end_byte - event_start_byte - 1 - - IF ((\1) % 8) == 0 -event_fill_start = event_fill_start + -1 -event_fill_count = event_fill_count + 1 - ELSE - ld a, [wEventFlags + event_start_byte] - and ~($ff - ((1 << ((\1) % 8)) - 1)) & $ff - ld [wEventFlags + event_start_byte], a - ENDC - - IF ((\2) % 8) == 7 -event_fill_count = event_fill_count + 1 - ENDC - - IF event_fill_count == 1 - ld hl, wEventFlags + event_fill_start - ld [hl], 0 - ENDC - - IF event_fill_count > 1 - ld hl, wEventFlags + event_fill_start - - ; force xor a if we just to wrote to it above - IF (_NARG < 3) || (((\1) % 8) != 0) - xor a - ENDC - - REPT event_fill_count + -1 - ld [hli], a - ENDR - - ld [hl], a - ENDC - - IF ((\2) % 8) == 0 - ld hl, wEventFlags + event_end_byte - res 0, [hl] - ELSE - IF ((\2) % 8) != 7 - ld a, [wEventFlags + event_end_byte] - and ~((1 << (((\2) % 8) + 1)) - 1) & $ff - ld [wEventFlags + event_end_byte], a - ENDC - ENDC - ENDC - ENDM - -; returns whether both events are set in Z flag -; This is counter-intuitive because the other event checks set the Z flag when -; the event is not set, but this sets the Z flag when the event is set. -;\1 = event index 1 -;\2 = event index 2 -;\3 = try to reuse a (optional) -CheckBothEventsSet: MACRO - IF ((\1) / 8) == ((\2) / 8) - IF (_NARG < 3) || (((\1) / 8) != event_byte) -event_byte = ((\1) / 8) - ld a, [wEventFlags + ((\1) / 8)] - ENDC - and (1 << ((\1) % 8)) | (1 << ((\2) % 8)) - cp (1 << ((\1) % 8)) | (1 << ((\2) % 8)) - ELSE - ; This case doesn't happen in the original ROM. - IF ((\1) % 8) == ((\2) % 8) - push hl - ld a, [wEventFlags + ((\1) / 8)] - ld hl, wEventFlags + ((\2) / 8) - and [hl] - cpl - bit ((\1) % 8), a - pop hl - ELSE - push bc - ld a, [wEventFlags + ((\1) / 8)] - and (1 << ((\1) % 8)) - ld b, a - ld a, [wEventFlags + ((\2) / 8)] - and (1 << ((\2) % 8)) - or b - cp (1 << ((\1) % 8)) | (1 << ((\2) % 8)) - pop bc - ENDC - ENDC - ENDM - -; returns the complement of whether either event is set in Z flag -;\1 = event index 1 -;\2 = event index 2 -CheckEitherEventSet: MACRO - IF ((\1) / 8) == ((\2) / 8) - ld a, [wEventFlags + ((\1) / 8)] - and (1 << ((\1) % 8)) | (1 << ((\2) % 8)) - ELSE - ; This case doesn't happen in the original ROM. - IF ((\1) % 8) == ((\2) % 8) - push hl - ld a, [wEventFlags + ((\1) / 8)] - ld hl, wEventFlags + ((\2) / 8) - or [hl] - bit ((\1) % 8), a - pop hl - ELSE - push bc - ld a, [wEventFlags + ((\1) / 8)] - and (1 << ((\1) % 8)) - ld b, a - ld a, [wEventFlags + ((\2) / 8)] - and (1 << ((\2) % 8)) - or b - pop bc - ENDC - ENDC - ENDM - -; for handling fixed event bits when events are inserted/removed -;\1 = event index -;\2 = fixed flag bit -AdjustEventBit: MACRO - IF ((\1) % 8) != (\2) - add ((\1) % 8) - (\2) - ENDC - ENDM diff --git a/macros/farcall.asm b/macros/farcall.asm new file mode 100644 index 00000000..885f8c66 --- /dev/null +++ b/macros/farcall.asm @@ -0,0 +1,37 @@ +farcall EQUS "callba" + +callba: MACRO + ld b, BANK(\1) + ld hl, \1 + call Bankswitch +ENDM + +callab: MACRO + ld hl, \1 + ld b, BANK(\1) + call Bankswitch +ENDM + +jpba: MACRO + ld b, BANK(\1) + ld hl, \1 + jp Bankswitch +ENDM + +jpab: MACRO + ld hl, \1 + ld b, BANK(\1) + jp Bankswitch +ENDM + +homecall: MACRO + ld a, [hLoadedROMBank] + push af + ld a, BANK(\1) + ld [hLoadedROMBank], a + ld [MBC1RomBank], a + call \1 + pop af + ld [hLoadedROMBank], a + ld [MBC1RomBank], a +ENDM diff --git a/macros/predef.asm b/macros/predef.asm new file mode 100644 index 00000000..d86582d1 --- /dev/null +++ b/macros/predef.asm @@ -0,0 +1,32 @@ +predef_id: MACRO + ld a, (\1Predef - PredefPointers) / 3 +ENDM + +predef: MACRO + predef_id \1 + call Predef +ENDM + +predef_jump: MACRO + predef_id \1 + jp Predef +ENDM + + +tx_pre_id: MACRO + ld a, (\1_id - TextPredefs) / 2 + 1 +ENDM + +tx_pre: MACRO + tx_pre_id \1 + call PrintPredefTextID +ENDM + +tx_pre_jump: MACRO + tx_pre_id \1 + jp PrintPredefTextID +ENDM + +db_tx_pre: MACRO + db (\1_id - TextPredefs) / 2 + 1 +ENDM diff --git a/macros/scripts/audio.asm b/macros/scripts/audio.asm new file mode 100755 index 00000000..8a250c63 --- /dev/null +++ b/macros/scripts/audio.asm @@ -0,0 +1,186 @@ +audio_header: MACRO + db (_NARG - 2) << 6 | \2 + dw \1_\2 + IF _NARG > 2 + db \3 + dw \1_\3 + ENDC + IF _NARG > 3 + db \4 + dw \1_\4 + ENDC + IF _NARG > 4 + db \5 + dw \1_\5 + ENDC +ENDM + +; arguments: length [0, 7], pitch change [-7, 7] +; length: length of time between pitch shifts +; sometimes used with a value >7 in which case the MSB is ignored +; pitch change: positive value means increase in pitch, negative value means decrease in pitch +; small magnitude means quick change, large magnitude means slow change +; in signed magnitude representation, so a value of 8 is the same as (negative) 0 +pitch_sweep: MACRO + db $10 + IF \2 < 0 + db (\1 << 4) | (%1000 | (\2 * -1)) + ELSE + db (\1 << 4) | \2 + ENDC +ENDM + +; arguments: length [0, 15], volume [0, 15], fade [-7, 7], frequency +; fade: positive value means decrease in volume, negative value means increase in volume +; small magnitude means quick change, large magnitude means slow change +; in signed magnitude representation, so a value of 8 is the same as (negative) 0 +square_note: MACRO + db $20 | \1 + IF \3 < 0 + db (\2 << 4) | (%1000 | (\3 * -1)) + ELSE + db (\2 << 4) | \3 + ENDC + dw \4 +ENDM + +; arguments: length [0, 15], volume [0, 15], fade [-7, 7], frequency +; fade: positive value means decrease in volume, negative value means increase in volume +; small magnitude means quick change, large magnitude means slow change +; in signed magnitude representation, so a value of 8 is the same as (negative) 0 +noise_note: MACRO + db $20 | \1 + IF \3 < 0 + db (\2 << 4) | (%1000 | (\3 * -1)) + ELSE + db (\2 << 4) | \3 + ENDC + db \4 +ENDM + +; arguments: pitch, length [1, 16] +note: MACRO + db (\1 << 4) | (\2 - 1) +ENDM + +; arguments: instrument [1, 19], length [1, 16] +drum_note: MACRO + db $B0 | (\2 - 1) + db \1 +ENDM + +; arguments: instrument, length [1, 16] +; like drum_note but one 1 byte instead of 2 +; can only be used with instruments 1-10, excluding 2 +; unused +drum_note_short: MACRO + db (\1 << 4) | (\2 - 1) +ENDM + +; arguments: length [1, 16] +rest: MACRO + db $C0 | (\1 - 1) +ENDM + +; arguments: speed [0, 15], volume [0, 15], fade [-7, 7] +; fade: positive value means decrease in volume, negative value means increase in volume +; small magnitude means quick change, large magnitude means slow change +; in signed magnitude representation, so a value of 8 is the same as (negative) 0 +note_type: MACRO + db $D0 | \1 + IF \3 < 0 + db (\2 << 4) | (%1000 | (\3 * -1)) + ELSE + db (\2 << 4) | \3 + ENDC +ENDM + +; arguments: speed [0, 15] +drum_speed: MACRO + db $D0 | \1 +ENDM + +; arguments: octave [1, 8] +octave: MACRO + db $E8 - \1 +ENDM + +; when enabled, effective frequency used is incremented by 1 +toggle_perfect_pitch: MACRO + db $E8 +ENDM + +; arguments: delay [0, 255], depth [0, 15], rate [0, 15] +; delay: time delay until vibrato effect begins +; depth: amplitude of vibrato wave +; rate: frequency of vibrato wave +vibrato: MACRO + db $EA + db \1 + db (\2 << 4) | \3 +ENDM + +; arguments: length [1, 256], octave [1, 8], pitch +pitch_slide: MACRO + db $EB + db \1 - 1 + db ((8 - \2) << 4) | \3 +ENDM + +; arguments: duty cycle [0, 3] (12.5%, 25%, 50%, 75%) +duty_cycle: MACRO + db $EC + db \1 +ENDM + +; arguments: tempo [0, $ffff] +; used to calculate note delay counters +; so a smaller value means music plays faster +; ideally should be set to $100 or less to guarantee no overflow +; if larger than $100, large note speed or note length values might cause overflow +; stored in big endian +tempo: MACRO + db $ED + db \1 / $100 + db \1 % $100 +ENDM + +; arguments: left output enable mask, right output enable mask +stereo_panning: MACRO + db $EE + db (\1 << 4) | \2 +ENDM + +; arguments: left master volume [0, 7], right master volume [0, 7] +volume: MACRO + db $F0 + db (\1 << 4) | \2 +ENDM + +; when enabled, the sfx data is interpreted as music data +execute_music: MACRO + db $F8 +ENDM + +; arguments: duty cycle 1, duty cycle 2, duty cycle 3, duty cycle 4 +duty_cycle_pattern: MACRO + db $FC + db \1 << 6 | \2 << 4 | \3 << 2 | \4 +ENDM + +; arguments: address +sound_call: MACRO + db $FD + dw \1 +ENDM + +; arguments: count, address +sound_loop: MACRO + db $FE + db \1 + dw \2 +ENDM + +sound_ret: MACRO + db $FF +ENDM diff --git a/macros/scripts/events.asm b/macros/scripts/events.asm new file mode 100755 index 00000000..c5f90107 --- /dev/null +++ b/macros/scripts/events.asm @@ -0,0 +1,471 @@ +;\1 = event index +;\2 = return result in carry instead of zero flag +CheckEvent: MACRO +event_byte = ((\1) / 8) + ld a, [wEventFlags + event_byte] + + IF _NARG > 1 + IF ((\1) % 8) == 7 + add a + ELSE + REPT ((\1) % 8) + 1 + rrca + ENDR + ENDC + ELSE + bit (\1) % 8, a + ENDC +ENDM + + +;\1 = event index +CheckEventReuseA: MACRO + IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld a, [wEventFlags + event_byte] + ENDC + + bit (\1) % 8, a +ENDM + + +;\1 = event index +;\2 = event index of the last event used before the branch +CheckEventAfterBranchReuseA: MACRO +event_byte = ((\2) / 8) + IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld a, [wEventFlags + event_byte] + ENDC + + bit (\1) % 8, a +ENDM + + +;\1 = reg +;\2 = event index +;\3 = event index this event is relative to (optional, this is needed when there is a fixed flag address) +EventFlagBit: MACRO + IF _NARG > 2 + ld \1, ((\3) % 8) + ((\2) - (\3)) + ELSE + ld \1, (\2) % 8 + ENDC +ENDM + + +;\1 = reg +;\2 = event index +EventFlagAddress: MACRO +event_byte = ((\2) / 8) + ld \1, wEventFlags + event_byte +ENDM + + +;\1 = event index +CheckEventHL: MACRO +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + bit (\1) % 8, [hl] +ENDM + + +;\1 = event index +CheckEventReuseHL: MACRO +IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + ENDC + + bit (\1) % 8, [hl] +ENDM + + +; dangerous, only use when HL is guaranteed to be the desired value +;\1 = event index +CheckEventForceReuseHL: MACRO +event_byte = ((\1) / 8) + bit (\1) % 8, [hl] +ENDM + + +;\1 = event index +;\2 = event index of the last event used before the branch +CheckEventAfterBranchReuseHL: MACRO +event_byte = ((\2) / 8) +IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + ENDC + + bit (\1) % 8, [hl] +ENDM + + +;\1 = event index +CheckAndSetEvent: MACRO +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + bit (\1) % 8, [hl] + set (\1) % 8, [hl] +ENDM + + +;\1 = event index +CheckAndResetEvent: MACRO +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + bit (\1) % 8, [hl] + res (\1) % 8, [hl] +ENDM + + +;\1 = event index +CheckAndSetEventA: MACRO + ld a, [wEventFlags + ((\1) / 8)] + bit (\1) % 8, a + set (\1) % 8, a + ld [wEventFlags + ((\1) / 8)], a +ENDM + + +;\1 = event index +CheckAndResetEventA: MACRO + ld a, [wEventFlags + ((\1) / 8)] + bit (\1) % 8, a + res (\1) % 8, a + ld [wEventFlags + ((\1) / 8)], a +ENDM + + +;\1 = event index +SetEvent: MACRO +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + set (\1) % 8, [hl] +ENDM + + +;\1 = event index +SetEventReuseHL: MACRO + IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + ENDC + + set (\1) % 8, [hl] +ENDM + + +;\1 = event index +;\2 = event index of the last event used before the branch +SetEventAfterBranchReuseHL: MACRO +event_byte = ((\2) / 8) +IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + ENDC + + set (\1) % 8, [hl] +ENDM + + +; dangerous, only use when HL is guaranteed to be the desired value +;\1 = event index +SetEventForceReuseHL: MACRO +event_byte = ((\1) / 8) + set (\1) % 8, [hl] +ENDM + + +;\1 = event index +;\2 = event index +;\3, \4, ... = additional (optional) event indices +SetEvents: MACRO + SetEvent \1 + rept _NARG - 1 + SetEventReuseHL \2 + shift + endr +ENDM + + +;\1 = event index +ResetEvent: MACRO +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + res (\1) % 8, [hl] +ENDM + + +;\1 = event index +ResetEventReuseHL: MACRO + IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + ENDC + + res (\1) % 8, [hl] +ENDM + + +;\1 = event index +;\2 = event index of the last event used before the branch +ResetEventAfterBranchReuseHL: MACRO +event_byte = ((\2) / 8) +IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + ENDC + + res (\1) % 8, [hl] +ENDM + + +; dangerous, only use when HL is guaranteed to be the desired value +;\1 = event index +ResetEventForceReuseHL: MACRO +event_byte = ((\1) / 8) + res (\1) % 8, [hl] +ENDM + + +;\1 = event index +;\2 = event index +;\3 = event index (optional) +ResetEvents: MACRO + ResetEvent \1 + rept _NARG - 1 + ResetEventReuseHL \2 + shift + endr +ENDM + + +;\1 = event index +;\2 = number of bytes away from the base address (optional, for matching the ROM) +dbEventFlagBit: MACRO + IF _NARG > 1 + db ((\1) % 8) + ((\2) * 8) + ELSE + db ((\1) % 8) + ENDC +ENDM + + +;\1 = event index +;\2 = number of bytes away from the base address (optional, for matching the ROM) +dwEventFlagAddress: MACRO + IF _NARG > 1 + dw wEventFlags + ((\1) / 8) - (\2) + ELSE + dw wEventFlags + ((\1) / 8) + ENDC +ENDM + + +;\1 = start +;\2 = end +SetEventRange: MACRO +event_start_byte = ((\1) / 8) +event_end_byte = ((\2) / 8) + + IF event_end_byte < event_start_byte + FAIL "Incorrect argument order in SetEventRange." + ENDC + + IF event_start_byte == event_end_byte + ld a, [wEventFlags + event_start_byte] + or (1 << (((\2) % 8) + 1)) - (1 << ((\1) % 8)) + ld [wEventFlags + event_start_byte], a + ELSE +event_fill_start = event_start_byte + 1 +event_fill_count = event_end_byte - event_start_byte - 1 + + IF ((\1) % 8) == 0 +event_fill_start = event_fill_start - 1 +event_fill_count = event_fill_count + 1 + ELSE + ld a, [wEventFlags + event_start_byte] + or $ff - ((1 << ((\1) % 8)) - 1) + ld [wEventFlags + event_start_byte], a + ENDC + + IF ((\2) % 8) == 7 +event_fill_count = event_fill_count + 1 + ENDC + + IF event_fill_count == 1 + ld hl, wEventFlags + event_fill_start + ld [hl], $ff + ENDC + + IF event_fill_count > 1 + ld a, $ff + ld hl, wEventFlags + event_fill_start + + REPT event_fill_count - 1 + ld [hli], a + ENDR + + ld [hl], a + ENDC + + IF ((\2) % 8) == 0 + ld hl, wEventFlags + event_end_byte + set 0, [hl] + ELSE + IF ((\2) % 8) != 7 + ld a, [wEventFlags + event_end_byte] + or (1 << (((\2) % 8) + 1)) - 1 + ld [wEventFlags + event_end_byte], a + ENDC + ENDC + ENDC +ENDM + + +;\1 = start +;\2 = end +;\3 = assume a is 0 if present +ResetEventRange: MACRO +event_start_byte = ((\1) / 8) +event_end_byte = ((\2) / 8) + + IF event_end_byte < event_start_byte + FAIL "Incorrect argument order in ResetEventRange." + ENDC + + IF event_start_byte == event_end_byte + ld a, [wEventFlags + event_start_byte] + and ~((1 << (((\2) % 8) + 1)) - (1 << ((\1) % 8))) & $ff + ld [wEventFlags + event_start_byte], a + ELSE +event_fill_start = event_start_byte + 1 +event_fill_count = event_end_byte - event_start_byte - 1 + + IF ((\1) % 8) == 0 +event_fill_start = event_fill_start - 1 +event_fill_count = event_fill_count + 1 + ELSE + ld a, [wEventFlags + event_start_byte] + and ~($ff - ((1 << ((\1) % 8)) - 1)) & $ff + ld [wEventFlags + event_start_byte], a + ENDC + + IF ((\2) % 8) == 7 +event_fill_count = event_fill_count + 1 + ENDC + + IF event_fill_count == 1 + ld hl, wEventFlags + event_fill_start + ld [hl], 0 + ENDC + + IF event_fill_count > 1 + ld hl, wEventFlags + event_fill_start + + ; force xor a if we just to wrote to it above + IF (_NARG < 3) || (((\1) % 8) != 0) + xor a + ENDC + + REPT event_fill_count - 1 + ld [hli], a + ENDR + + ld [hl], a + ENDC + + IF ((\2) % 8) == 0 + ld hl, wEventFlags + event_end_byte + res 0, [hl] + ELSE + IF ((\2) % 8) != 7 + ld a, [wEventFlags + event_end_byte] + and ~((1 << (((\2) % 8) + 1)) - 1) & $ff + ld [wEventFlags + event_end_byte], a + ENDC + ENDC + ENDC +ENDM + + +; returns whether both events are set in Z flag +; This is counter-intuitive because the other event checks set the Z flag when +; the event is not set, but this sets the Z flag when the event is set. +;\1 = event index 1 +;\2 = event index 2 +;\3 = try to reuse a (optional) +CheckBothEventsSet: MACRO + IF ((\1) / 8) == ((\2) / 8) + IF (_NARG < 3) || (((\1) / 8) != event_byte) +event_byte = ((\1) / 8) + ld a, [wEventFlags + ((\1) / 8)] + ENDC + and (1 << ((\1) % 8)) | (1 << ((\2) % 8)) + cp (1 << ((\1) % 8)) | (1 << ((\2) % 8)) + ELSE + ; This case doesn't happen in the original ROM. + IF ((\1) % 8) == ((\2) % 8) + push hl + ld a, [wEventFlags + ((\1) / 8)] + ld hl, wEventFlags + ((\2) / 8) + and [hl] + cpl + bit ((\1) % 8), a + pop hl + ELSE + push bc + ld a, [wEventFlags + ((\1) / 8)] + and (1 << ((\1) % 8)) + ld b, a + ld a, [wEventFlags + ((\2) / 8)] + and (1 << ((\2) % 8)) + or b + cp (1 << ((\1) % 8)) | (1 << ((\2) % 8)) + pop bc + ENDC + ENDC +ENDM + + +; returns the complement of whether either event is set in Z flag +;\1 = event index 1 +;\2 = event index 2 +CheckEitherEventSet: MACRO + IF ((\1) / 8) == ((\2) / 8) + ld a, [wEventFlags + ((\1) / 8)] + and (1 << ((\1) % 8)) | (1 << ((\2) % 8)) + ELSE + ; This case doesn't happen in the original ROM. + IF ((\1) % 8) == ((\2) % 8) + push hl + ld a, [wEventFlags + ((\1) / 8)] + ld hl, wEventFlags + ((\2) / 8) + or [hl] + bit ((\1) % 8), a + pop hl + ELSE + push bc + ld a, [wEventFlags + ((\1) / 8)] + and (1 << ((\1) % 8)) + ld b, a + ld a, [wEventFlags + ((\2) / 8)] + and (1 << ((\2) % 8)) + or b + pop bc + ENDC + ENDC +ENDM + + +; for handling fixed event bits when events are inserted/removed +;\1 = event index +;\2 = fixed flag bit +AdjustEventBit: MACRO + IF ((\1) % 8) != (\2) + add ((\1) % 8) - (\2) + ENDC +ENDM + diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm new file mode 100644 index 00000000..a30561b9 --- /dev/null +++ b/macros/scripts/maps.asm @@ -0,0 +1,184 @@ +;\1 map width +;\2 Rows above (Y-blocks) +;\3 X movement (X-blocks) +EVENT_DISP: MACRO + dw (wOverworldMap + 7 + (\1) + ((\1) + 6) * ((\2) >> 1) + ((\3) >> 1)) ; Ev.Disp + db \2,\3 ;Y,X +ENDM + +FLYWARP_DATA: MACRO + EVENT_DISP \1,\2,\3 + db ((\2) & $01) ;sub-block Y + db ((\3) & $01) ;sub-block X +ENDM + +; external map entry macro +EMAP: MACRO ; emap x-coordinate,y-coordinate,textpointer +; the appearance of towns and routes in the town map, indexed by map id + ; nybble: y-coordinate + ; nybble: x-coordinate + ; word : pointer to map name + dn \2, \1 + dw \3 +ENDM + +; internal map entry macro +IMAP: MACRO ; imap mapid_less_than,x-coordinate,y-coordinate,textpointer +; the appearance of buildings and dungeons in the town map + ; byte : maximum map id subject to this rule + ; nybble: y-coordinate + ; nybble: x-coordinate + ; word : pointer to map name + db \1 + 1 + dn \3, \2 + dw \4 +ENDM + +;\1 sprite id +;\2 x position +;\3 y position +;\4 movement (WALK/STAY) +;\5 range or direction +;\6 text id +;\7 items only: item id +;\7 trainers only: trainer class/pokemon id +;\8 trainers only: trainer number/pokemon level +object: MACRO + db \1 + db \3 + 4 + db \2 + 4 + db \4 + db \5 + IF (_NARG > 7) + db TRAINER | \6 + db \7 + db \8 + ELSE + IF (_NARG > 6) + db ITEM | \6 + db \7 + ELSE + db \6 + ENDC + ENDC +ENDM + +;\1 x position +;\2 y position +;\3 destination warp id +;\4 destination map (-1 = wLastMap) +warp: MACRO + db \2, \1, \3, \4 +ENDM + +;\1 x position +;\2 y position +;\3 sign id +sign: MACRO + db \2, \1, \3 +ENDM + +;\1 x position +;\2 y position +;\3 map width +warp_to: MACRO + EVENT_DISP \3, \2, \1 +ENDM + +;\1 map name +;\2 map id +;\3 tileset +;\4 connections: combo of NORTH, SOUTH, WEST, and/or EAST, or 0 for none +map_header: MACRO +CURRENT_MAP_WIDTH = \2_WIDTH +CURRENT_MAP_HEIGHT = \2_HEIGHT +CURRENT_MAP_OBJECT EQUS "\1_Object" +\1_h:: + db \3 + db CURRENT_MAP_HEIGHT, CURRENT_MAP_WIDTH + dw \1_Blocks + dw \1_TextPointers + dw \1_Script + db \4 +ENDM + +; Comes after map_header and connection macros +end_map_header: MACRO + dw CURRENT_MAP_OBJECT +PURGE CURRENT_MAP_WIDTH +PURGE CURRENT_MAP_HEIGHT +PURGE CURRENT_MAP_OBJECT +ENDM + +; Connections go in order: north, south, west, east +;\1 direction +;\2 map name +;\3 map id +;\4 offset of the target map relative to the current map +; (x offset for east/west, y offset for north/south) +connection: MACRO + +; Calculate tile offsets for source (current) and target maps +_src = 0 +_tgt = (\4) + 3 +if _tgt < 2 +_src = -_tgt +_tgt = 0 +endc + +if "\1" == "north" +_blk = \3_WIDTH * (\3_HEIGHT - 3) + _src +_map = _tgt +_win = (\3_WIDTH + 6) * \3_HEIGHT + 1 +_y = \3_HEIGHT * 2 - 1 +_x = (\4) * -2 +_len = CURRENT_MAP_WIDTH + 3 - (\4) +if _len > \3_WIDTH +_len = \3_WIDTH +endc + +elif "\1" == "south" +_blk = _src +_map = (CURRENT_MAP_WIDTH + 6) * (CURRENT_MAP_HEIGHT + 3) + _tgt +_win = \3_WIDTH + 7 +_y = 0 +_x = (\4) * -2 +_len = CURRENT_MAP_WIDTH + 3 - (\4) +if _len > \3_WIDTH +_len = \3_WIDTH +endc + +elif "\1" == "west" +_blk = (\3_WIDTH * _src) + \3_WIDTH - 3 +_map = (CURRENT_MAP_WIDTH + 6) * _tgt +_win = (\3_WIDTH + 6) * 2 - 6 +_y = (\4) * -2 +_x = \3_WIDTH * 2 - 1 +_len = CURRENT_MAP_HEIGHT + 3 - (\4) +if _len > \3_HEIGHT +_len = \3_HEIGHT +endc + +elif "\1" == "east" +_blk = (\3_WIDTH * _src) +_map = (CURRENT_MAP_WIDTH + 6) * _tgt + CURRENT_MAP_WIDTH + 3 +_win = \3_WIDTH + 7 +_y = (\4) * -2 +_x = 0 +_len = CURRENT_MAP_HEIGHT + 3 - (\4) +if _len > \3_HEIGHT +_len = \3_HEIGHT +endc + +else +fail "Invalid direction for 'connection'." +endc + + db \3 + dw \2_Blocks + _blk + dw wOverworldMap + _map + db _len - _src + db \3_WIDTH + db _y, _x + dw wOverworldMap + _win +ENDM diff --git a/macros/scripts/text.asm b/macros/scripts/text.asm new file mode 100755 index 00000000..732a22d4 --- /dev/null +++ b/macros/scripts/text.asm @@ -0,0 +1,78 @@ +text EQUS "db $00," ; Start writing text. +next EQUS "db $4e," ; Move a line down. +line EQUS "db $4f," ; Start writing at the bottom line. +para EQUS "db $51," ; Start a new paragraph. +cont EQUS "db $55," ; Scroll to the next line. +done EQUS "db $57" ; End a text box. +prompt EQUS "db $58" ; Prompt the player to end a text box (initiating some other event). + +page EQUS "db $49," ; Start a new Pokedex page. +dex EQUS "db $5f, $50" ; End a Pokedex entry. + +TX_RAM: MACRO +; prints text to screen +; \1: RAM address to read from + db $1 + dw \1 +ENDM + +TX_BCD: MACRO +; \1: RAM address to read from +; \2: number of bytes + print flags + db $2 + dw \1 + db \2 +ENDM + +TX_LINE EQUS "db $05" +TX_BLINK EQUS "db $06" +;TX_SCROLL EQUS "db $07" +TX_ASM EQUS "db $08" + +TX_NUM: MACRO +; print a big-endian decimal number. +; \1: address to read from +; \2: number of bytes to read +; \3: number of digits to display + db $09 + dw \1 + db \2 << 4 | \3 +ENDM + +TX_DELAY EQUS "db $0a" +TX_SFX_ITEM_1 EQUS "db $0b" +TX_SFX_LEVEL_UP EQUS "db $0b" +;TX_ELLIPSES EQUS "db $0c" +TX_WAIT EQUS "db $0d" +;TX_SFX_DEX_RATING EQUS "db $0e" +TX_SFX_ITEM_2 EQUS "db $10" +TX_SFX_KEY_ITEM EQUS "db $11" +TX_SFX_CAUGHT_MON EQUS "db $12" +TX_SFX_DEX_PAGE_ADDED EQUS "db $13" +TX_CRY_NIDORINA EQUS "db $14" +TX_CRY_PIDGEOT EQUS "db $15" +;TX_CRY_DEWGONG EQUS "db $16" + +TX_FAR: MACRO + db $17 + dw \1 + db BANK(\1) +ENDM + +TX_VENDING_MACHINE EQUS "db $f5" +TX_CABLE_CLUB_RECEPTIONIST EQUS "db $f6" +TX_PRIZE_VENDOR EQUS "db $f7" +TX_POKECENTER_PC EQUS "db $f9" +TX_PLAYERS_PC EQUS "db $fc" +TX_BILLS_PC EQUS "db $fd" + +TX_MART: MACRO + db $FE, _NARG + REPT _NARG + db \1 + SHIFT + ENDR + db $FF +ENDM + +TX_POKECENTER_NURSE EQUS "db $ff" diff --git a/macros/text_macros.asm b/macros/text_macros.asm deleted file mode 100755 index 21e02634..00000000 --- a/macros/text_macros.asm +++ /dev/null @@ -1,80 +0,0 @@ - -; text macros -text EQUS "db $00," ; Start writing text. -next EQUS "db $4e," ; Move a line down. -line EQUS "db $4f," ; Start writing at the bottom line. -para EQUS "db $51," ; Start a new paragraph. -cont EQUS "db $55," ; Scroll to the next line. -done EQUS "db $57" ; End a text box. -prompt EQUS "db $58" ; Prompt the player to end a text box (initiating some other event). - -page EQUS "db $49," ; Start a new Pokedex page. -dex EQUS "db $5f, $50" ; End a Pokedex entry. - -TX_RAM: MACRO -; prints text to screen -; \1: RAM address to read from - db $1 - dw \1 -ENDM - -TX_BCD: MACRO -; \1: RAM address to read from -; \2: number of bytes + print flags - db $2 - dw \1 - db \2 -ENDM - -TX_LINE EQUS "db $05" -TX_BLINK EQUS "db $06" -;TX_SCROLL EQUS "db $07" -TX_ASM EQUS "db $08" - -TX_NUM: MACRO -; print a big-endian decimal number. -; \1: address to read from -; \2: number of bytes to read -; \3: number of digits to display - db $09 - dw \1 - db \2 << 4 | \3 -ENDM - -TX_DELAY EQUS "db $0a" -TX_SFX_ITEM_1 EQUS "db $0b" -TX_SFX_LEVEL_UP EQUS "db $0b" -;TX_ELLIPSES EQUS "db $0c" -TX_WAIT EQUS "db $0d" -;TX_SFX_DEX_RATING EQUS "db $0e" -TX_SFX_ITEM_2 EQUS "db $10" -TX_SFX_KEY_ITEM EQUS "db $11" -TX_SFX_CAUGHT_MON EQUS "db $12" -TX_SFX_DEX_PAGE_ADDED EQUS "db $13" -TX_CRY_NIDORINA EQUS "db $14" -TX_CRY_PIDGEOT EQUS "db $15" -;TX_CRY_DEWGONG EQUS "db $16" - -TX_FAR: MACRO - db $17 - dw \1 - db BANK(\1) -ENDM - -TX_VENDING_MACHINE EQUS "db $f5" -TX_CABLE_CLUB_RECEPTIONIST EQUS "db $f6" -TX_PRIZE_VENDOR EQUS "db $f7" -TX_POKECENTER_PC EQUS "db $f9" -TX_PLAYERS_PC EQUS "db $fc" -TX_BILLS_PC EQUS "db $fd" - -TX_MART: MACRO - db $FE, _NARG - REPT _NARG - db \1 - SHIFT - ENDR - db $FF -ENDM - -TX_POKECENTER_NURSE EQUS "db $ff" diff --git a/macros/wram.asm b/macros/wram.asm new file mode 100644 index 00000000..7a9b4a6a --- /dev/null +++ b/macros/wram.asm @@ -0,0 +1,92 @@ +; Used in wram.asm + +flag_array: MACRO + ds ((\1) + 7) / 8 +ENDM + +BOX_STRUCT_LENGTH EQU 25 + NUM_MOVES * 2 + +box_struct: MACRO +\1Species:: db +\1HP:: dw +\1BoxLevel:: db +\1Status:: db +\1Type:: +\1Type1:: db +\1Type2:: db +\1CatchRate:: db +\1Moves:: ds NUM_MOVES +\1OTID:: dw +\1Exp:: ds 3 +\1HPExp:: dw +\1AttackExp:: dw +\1DefenseExp:: dw +\1SpeedExp:: dw +\1SpecialExp:: dw +\1DVs:: ds 2 +\1PP:: ds NUM_MOVES +ENDM + +party_struct: MACRO + box_struct \1 +\1Level:: db +\1Stats:: +\1MaxHP:: dw +\1Attack:: dw +\1Defense:: dw +\1Speed:: dw +\1Special:: dw +ENDM + +battle_struct: MACRO +\1Species:: db +\1HP:: dw +\1PartyPos:: +\1BoxLevel:: db +\1Status:: db +\1Type:: +\1Type1:: db +\1Type2:: db +\1CatchRate:: db +\1Moves:: ds NUM_MOVES +\1DVs:: ds 2 +\1Level:: db +\1Stats:: +\1MaxHP:: dw +\1Attack:: dw +\1Defense:: dw +\1Speed:: dw +\1Special:: dw +\1PP:: ds NUM_MOVES +ENDM + +spritestatedata1: MACRO +\1PictureID:: db +\1MovementStatus:: db +\1ImageIndex:: db +\1YStepVector:: db +\1YPixels:: db +\1XStepVector:: db +\1XPixels:: db +\1IntraAnimFrameCounter:: db +\1AnimFrameCounter:: db +\1FacingDirection:: db + ds 6 +\1End:: +ENDM + +spritestatedata2: MACRO +\1WalkAnimationCounter:: db + ds 1 +\1YDisplacement:: db +\1XDisplacement:: db +\1MapY:: db +\1MapX:: db +\1MovementByte1:: db +\1GrassPriority:: db +\1MovementDelay:: db + ds 5 +\1ImageBaseOffset:: db + ds 1 +\1End:: +ENDM @@ -3,19 +3,15 @@ INCLUDE "constants.asm" SECTION "bank1", ROMX -INCLUDE "data/facing.asm" +INCLUDE "data/sprites/facings.asm" INCLUDE "engine/events/black_out.asm" - -MewPicFront:: INCBIN "gfx/pokemon/front/mew.pic" -MewPicBack:: INCBIN "gfx/pokemon/back/mewb.pic" -INCLUDE "data/baseStats/mew.asm" - +INCLUDE "data/pokemon/mew.asm" INCLUDE "engine/battle/safari_zone.asm" -INCLUDE "engine/movie/titlescreen.asm" +INCLUDE "engine/movie/title.asm" INCLUDE "engine/pokemon/load_mon_data.asm" -INCLUDE "data/item_prices.asm" -INCLUDE "text/item_names.asm" -INCLUDE "text/unused_names.asm" +INCLUDE "data/items/prices.asm" +INCLUDE "data/items/names.asm" +INCLUDE "data/text/unused_names.asm" INCLUDE "engine/gfx/sprite_oam.asm" INCLUDE "engine/gfx/oam_dma.asm" INCLUDE "engine/link/print_waiting_text.asm" @@ -49,14 +45,14 @@ INCLUDE "engine/events/display_pokedex.asm" SECTION "bank3", ROMX INCLUDE "engine/joypad.asm" -INCLUDE "data/map_songs.asm" -INCLUDE "data/map_header_banks.asm" +INCLUDE "data/maps/songs.asm" +INCLUDE "data/maps/map_header_banks.asm" INCLUDE "engine/overworld/clear_variables.asm" INCLUDE "engine/overworld/player_state.asm" INCLUDE "engine/events/poison.asm" INCLUDE "engine/overworld/tilesets.asm" INCLUDE "engine/overworld/daycare_exp.asm" -INCLUDE "data/hide_show_data.asm" +INCLUDE "data/maps/hide_show_data.asm" INCLUDE "engine/overworld/field_move_messages.asm" INCLUDE "engine/items/inventory.asm" INCLUDE "engine/overworld/wild_mons.asm" @@ -74,33 +70,17 @@ INCLUDE "engine/movie/oak_speech/init_player_data.asm" INCLUDE "engine/items/get_bag_item_quantity.asm" INCLUDE "engine/overworld/pathfinding.asm" INCLUDE "engine/gfx/hp_bar.asm" -INCLUDE "engine/events/hidden_object_functions3.asm" +INCLUDE "engine/events/hidden_objects/bookshelves.asm" +INCLUDE "engine/events/hidden_objects/indigo_plateau_statues.asm" +INCLUDE "engine/events/hidden_objects/book_or_sculpture.asm" +INCLUDE "engine/events/hidden_objects/elevator.asm" +INCLUDE "engine/events/hidden_objects/town_map.asm" +INCLUDE "engine/events/hidden_objects/pokemon_stuff.asm" SECTION "Graphics (BANK 4)", ROMX -PokemonLogoGraphics: INCBIN "gfx/title/pokemon_logo.2bpp" -FontGraphics:: INCBIN "gfx/font/font.1bpp" -FontGraphicsEnd:: -ABTiles: INCBIN "gfx/font/AB.2bpp" -HpBarAndStatusGraphics:: INCBIN "gfx/font/font_battle_extra.2bpp" -HpBarAndStatusGraphicsEnd:: -BattleHudTiles1: INCBIN "gfx/battle/battle_hud_1.1bpp" -BattleHudTiles1End: -BattleHudTiles2: INCBIN "gfx/battle/battle_hud_2.1bpp" -BattleHudTiles3: INCBIN "gfx/battle/battle_hud_3.1bpp" -BattleHudTiles3End: -NintendoCopyrightLogoGraphics: INCBIN "gfx/intro_credits/copyright.2bpp" -GamefreakLogoGraphics: INCBIN "gfx/title/gamefreak_inc.2bpp" -GamefreakLogoGraphicsEnd: -TextBoxGraphics:: INCBIN "gfx/font/font_extra.2bpp" -TextBoxGraphicsEnd:: -PokedexTileGraphics: INCBIN "gfx/pokedex/pokedex.2bpp" -PokedexTileGraphicsEnd: -WorldMapTileGraphics: INCBIN "gfx/town_map/town_map.2bpp" -WorldMapTileGraphicsEnd: -PlayerCharacterTitleGraphics: INCBIN "gfx/title/player.2bpp" -PlayerCharacterTitleGraphicsEnd: +INCLUDE "gfx/font.asm" SECTION "Battle (BANK 4)", ROMX @@ -108,11 +88,7 @@ SECTION "Battle (BANK 4)", ROMX INCLUDE "engine/overworld/is_player_just_outside_map.asm" INCLUDE "engine/pokemon/status_screen.asm" INCLUDE "engine/menus/party_menu.asm" - -RedPicFront:: INCBIN "gfx/player/red.pic" -ShrinkPic1:: INCBIN "gfx/player/shrink1.pic" -ShrinkPic2:: INCBIN "gfx/player/shrink2.pic" - +INCLUDE "gfx/player.asm" INCLUDE "engine/overworld/turn_sprite.asm" INCLUDE "engine/menus/start_sub_menus.asm" INCLUDE "engine/items/tms.asm" @@ -149,7 +125,7 @@ INCLUDE "engine/overworld/ledges.asm" SECTION "bank7_1", ROMX -INCLUDE "text/monster_names.asm" +INCLUDE "data/pokemon/names.asm" INCLUDE "engine/movie/oak_speech/clear_save.asm" INCLUDE "engine/events/elevator.asm" @@ -157,7 +133,13 @@ INCLUDE "engine/events/elevator.asm" SECTION "bank7_2", ROMX INCLUDE "engine/menus/oaks_pc.asm" -INCLUDE "engine/events/hidden_object_functions7.asm" +INCLUDE "engine/events/hidden_objects/new_bike.asm" +INCLUDE "engine/events/hidden_objects/oaks_lab_posters.asm" +INCLUDE "engine/events/hidden_objects/safari_game.asm" +INCLUDE "engine/events/hidden_objects/cinnabar_gym_quiz.asm" +INCLUDE "engine/events/hidden_objects/magazines.asm" +INCLUDE "engine/events/hidden_objects/bills_house_pc.asm" +INCLUDE "engine/events/hidden_objects/oaks_lab_email.asm" SECTION "Bill's PC", ROMX @@ -180,13 +162,7 @@ INCLUDE "engine/battle/move_effects/leech_seed.asm" SECTION "Battle (BANK B)", ROMX INCLUDE "engine/battle/display_effectiveness.asm" - -TrainerInfoTextBoxTileGraphics: INCBIN "gfx/trainer_card/trainer_info.2bpp" -TrainerInfoTextBoxTileGraphicsEnd: -BlankLeaderNames: INCBIN "gfx/trainer_card/blank_leader_names.2bpp" -CircleTile: INCBIN "gfx/trainer_card/circle_tile.2bpp" -BadgeNumbersTileGraphics: INCBIN "gfx/trainer_card/badge_numbers.2bpp" - +INCLUDE "gfx/trainer_card.asm" INCLUDE "engine/items/tmhm.asm" INCLUDE "engine/battle/scale_sprites.asm" INCLUDE "engine/battle/move_effects/pay_day.asm" @@ -201,7 +177,7 @@ INCLUDE "engine/battle/move_effects/one_hit_ko.asm" SECTION "Battle (BANK D)", ROMX -INCLUDE "engine/movie/titlescreen2.asm" +INCLUDE "engine/movie/title2.asm" INCLUDE "engine/battle/link_battle_versus_text.asm" INCLUDE "engine/slots/slot_machine.asm" INCLUDE "engine/events/pewter_guys.asm" @@ -211,23 +187,14 @@ INCLUDE "engine/slots/game_corner_slots.asm" SECTION "bankE", ROMX -INCLUDE "data/moves.asm" -INCLUDE "data/base_stats.asm" -INCLUDE "data/cries.asm" +INCLUDE "data/moves/moves.asm" +INCLUDE "data/pokemon/base_stats.asm" +INCLUDE "data/pokemon/cries.asm" INCLUDE "engine/battle/unused_stats_functions.asm" INCLUDE "engine/battle/scroll_draw_trainer_pic.asm" INCLUDE "engine/battle/trainer_ai.asm" INCLUDE "engine/battle/draw_hud_pokeball_gfx.asm" - -TradingAnimationGraphics: -INCBIN "gfx/trade/game_boy.2bpp" -INCBIN "gfx/trade/link_cable.2bpp" -TradingAnimationGraphicsEnd: - -; Pokeball traveling through the link cable. -TradingAnimationGraphics2: INCBIN "gfx/trade/cable_ball.2bpp" -TradingAnimationGraphics2End: - +INCLUDE "gfx/trade.asm" INCLUDE "engine/pokemon/evos_moves.asm" INCLUDE "engine/battle/move_effects/heal.asm" INCLUDE "engine/battle/move_effects/transform.asm" @@ -275,7 +242,9 @@ INCLUDE "engine/battle/init_battle_variables.asm" INCLUDE "engine/battle/move_effects/paralyze.asm" INCLUDE "engine/events/card_key.asm" INCLUDE "engine/events/prize_menu.asm" -INCLUDE "engine/events/hidden_object_functions14.asm" +INCLUDE "engine/events/hidden_objects/school_notebooks.asm" +INCLUDE "engine/events/hidden_objects/fighting_dojo.asm" +INCLUDE "engine/events/hidden_objects/indigo_plateau_hq.asm" SECTION "bank15_1", ROMX @@ -309,7 +278,11 @@ INCLUDE "engine/events/starter_dex.asm" SECTION "bank17_2", ROMX INCLUDE "engine/pokemon/set_types.asm" -INCLUDE "engine/events/hidden_object_functions17.asm" +INCLUDE "engine/events/hidden_objects/reds_room.asm" +INCLUDE "engine/events/hidden_objects/route_15_binoculars.asm" +INCLUDE "engine/events/hidden_objects/museum_fossils.asm" +INCLUDE "engine/events/hidden_objects/school_blackboard.asm" +INCLUDE "engine/events/hidden_objects/vermilion_gym_trash.asm" SECTION "bank18_1", ROMX @@ -319,21 +292,16 @@ INCLUDE "engine/events/cinnabar_lab.asm" SECTION "bank18_2", ROMX -INCLUDE "engine/events/hidden_object_functions18.asm" +INCLUDE "engine/events/hidden_objects/gym_statues.asm" +INCLUDE "engine/events/hidden_objects/bench_guys.asm" +INCLUDE "engine/events/hidden_objects/blues_room.asm" +INCLUDE "engine/events/hidden_objects/pokecenter_pc.asm" SECTION "bank1A", ROMX INCLUDE "engine/battle/decrement_pp.asm" - -Version_GFX: -IF DEF(_RED) - INCBIN "gfx/title/red_version.1bpp" ; 10 tiles -ENDC -IF DEF(_BLUE) - INCBIN "gfx/title/blue_version.1bpp" ; 8 tiles -ENDC -Version_GFXEnd: +INCLUDE "gfx/version.asm" SECTION "bank1C", ROMX @@ -374,13 +342,8 @@ SECTION "bank1E", ROMX INCLUDE "engine/battle/animations.asm" INCLUDE "engine/overworld/cut2.asm" INCLUDE "engine/overworld/dust_smoke.asm" - -RedFishingTilesFront: INCBIN "gfx/overworld/red_fish_front.2bpp" -RedFishingTilesBack: INCBIN "gfx/overworld/red_fish_back.2bpp" -RedFishingTilesSide: INCBIN "gfx/overworld/red_fish_side.2bpp" -RedFishingRodTiles: INCBIN "gfx/overworld/fishing_rod.2bpp" - -INCLUDE "data/animations.asm" +INCLUDE "gfx/fishing.asm" +INCLUDE "data/moves/animations.asm" INCLUDE "engine/movie/evolution.asm" INCLUDE "engine/overworld/elevator.asm" INCLUDE "engine/items/tm_prices.asm" @@ -3,33 +3,33 @@ INCLUDE "constants.asm" SECTION "Maps 1", ROMX -INCLUDE "data/mapHeaders/CeladonCity.asm" -INCLUDE "data/mapObjects/CeladonCity.asm" +INCLUDE "data/maps/headers/CeladonCity.asm" +INCLUDE "data/maps/objects/CeladonCity.asm" CeladonCity_Blocks: INCBIN "maps/CeladonCity.blk" -INCLUDE "data/mapHeaders/PalletTown.asm" -INCLUDE "data/mapObjects/PalletTown.asm" +INCLUDE "data/maps/headers/PalletTown.asm" +INCLUDE "data/maps/objects/PalletTown.asm" PalletTown_Blocks: INCBIN "maps/PalletTown.blk" -INCLUDE "data/mapHeaders/ViridianCity.asm" -INCLUDE "data/mapObjects/ViridianCity.asm" +INCLUDE "data/maps/headers/ViridianCity.asm" +INCLUDE "data/maps/objects/ViridianCity.asm" ViridianCity_Blocks: INCBIN "maps/ViridianCity.blk" -INCLUDE "data/mapHeaders/PewterCity.asm" +INCLUDE "data/maps/headers/PewterCity.asm" ds 1 -INCLUDE "data/mapObjects/PewterCity.asm" +INCLUDE "data/maps/objects/PewterCity.asm" PewterCity_Blocks: INCBIN "maps/PewterCity.blk" -INCLUDE "data/mapHeaders/CeruleanCity.asm" -INCLUDE "data/mapObjects/CeruleanCity.asm" +INCLUDE "data/maps/headers/CeruleanCity.asm" +INCLUDE "data/maps/objects/CeruleanCity.asm" CeruleanCity_Blocks: INCBIN "maps/CeruleanCity.blk" -INCLUDE "data/mapHeaders/VermilionCity.asm" -INCLUDE "data/mapObjects/VermilionCity.asm" +INCLUDE "data/maps/headers/VermilionCity.asm" +INCLUDE "data/maps/objects/VermilionCity.asm" VermilionCity_Blocks: INCBIN "maps/VermilionCity.blk" -INCLUDE "data/mapHeaders/FuchsiaCity.asm" -INCLUDE "data/mapObjects/FuchsiaCity.asm" +INCLUDE "data/maps/headers/FuchsiaCity.asm" +INCLUDE "data/maps/objects/FuchsiaCity.asm" FuchsiaCity_Blocks: INCBIN "maps/FuchsiaCity.blk" @@ -43,45 +43,45 @@ INCLUDE "scripts/VermilionCity.asm" INCLUDE "scripts/CeladonCity.asm" INCLUDE "scripts/FuchsiaCity.asm" -INCLUDE "data/mapHeaders/BluesHouse.asm" +INCLUDE "data/maps/headers/BluesHouse.asm" INCLUDE "scripts/BluesHouse.asm" -INCLUDE "data/mapObjects/BluesHouse.asm" +INCLUDE "data/maps/objects/BluesHouse.asm" BluesHouse_Blocks: INCBIN "maps/BluesHouse.blk" -INCLUDE "data/mapHeaders/VermilionTradeHouse.asm" +INCLUDE "data/maps/headers/VermilionTradeHouse.asm" INCLUDE "scripts/VermilionTradeHouse.asm" -INCLUDE "data/mapObjects/VermilionTradeHouse.asm" +INCLUDE "data/maps/objects/VermilionTradeHouse.asm" VermilionTradeHouse_Blocks: INCBIN "maps/VermilionTradeHouse.blk" -INCLUDE "data/mapHeaders/IndigoPlateauLobby.asm" +INCLUDE "data/maps/headers/IndigoPlateauLobby.asm" INCLUDE "scripts/IndigoPlateauLobby.asm" -INCLUDE "data/mapObjects/IndigoPlateauLobby.asm" +INCLUDE "data/maps/objects/IndigoPlateauLobby.asm" IndigoPlateauLobby_Blocks: INCBIN "maps/IndigoPlateauLobby.blk" -INCLUDE "data/mapHeaders/SilphCo4F.asm" +INCLUDE "data/maps/headers/SilphCo4F.asm" INCLUDE "scripts/SilphCo4F.asm" -INCLUDE "data/mapObjects/SilphCo4F.asm" +INCLUDE "data/maps/objects/SilphCo4F.asm" SilphCo4F_Blocks: INCBIN "maps/SilphCo4F.blk" -INCLUDE "data/mapHeaders/SilphCo5F.asm" +INCLUDE "data/maps/headers/SilphCo5F.asm" INCLUDE "scripts/SilphCo5F.asm" -INCLUDE "data/mapObjects/SilphCo5F.asm" +INCLUDE "data/maps/objects/SilphCo5F.asm" SilphCo5F_Blocks: INCBIN "maps/SilphCo5F.blk" -INCLUDE "data/mapHeaders/SilphCo6F.asm" +INCLUDE "data/maps/headers/SilphCo6F.asm" INCLUDE "scripts/SilphCo6F.asm" -INCLUDE "data/mapObjects/SilphCo6F.asm" +INCLUDE "data/maps/objects/SilphCo6F.asm" SilphCo6F_Blocks: INCBIN "maps/SilphCo6F.blk" SECTION "Maps 3", ROMX -INCLUDE "data/mapHeaders/CinnabarIsland.asm" -INCLUDE "data/mapObjects/CinnabarIsland.asm" +INCLUDE "data/maps/headers/CinnabarIsland.asm" +INCLUDE "data/maps/objects/CinnabarIsland.asm" CinnabarIsland_Blocks: INCBIN "maps/CinnabarIsland.blk" -INCLUDE "data/mapHeaders/Route1.asm" -INCLUDE "data/mapObjects/Route1.asm" +INCLUDE "data/maps/headers/Route1.asm" +INCLUDE "data/maps/objects/Route1.asm" Route1_Blocks: INCBIN "maps/Route1.blk" UndergroundPathRoute8_Blocks: INCBIN "maps/UndergroundPathRoute8.blk" @@ -116,143 +116,143 @@ INCLUDE "scripts/CinnabarIsland.asm" INCLUDE "scripts/Route1.asm" -INCLUDE "data/mapHeaders/OaksLab.asm" +INCLUDE "data/maps/headers/OaksLab.asm" INCLUDE "scripts/OaksLab.asm" -INCLUDE "data/mapObjects/OaksLab.asm" +INCLUDE "data/maps/objects/OaksLab.asm" -INCLUDE "data/mapHeaders/ViridianMart.asm" +INCLUDE "data/maps/headers/ViridianMart.asm" INCLUDE "scripts/ViridianMart.asm" -INCLUDE "data/mapObjects/ViridianMart.asm" +INCLUDE "data/maps/objects/ViridianMart.asm" ViridianMart_Blocks: INCBIN "maps/ViridianMart.blk" -INCLUDE "data/mapHeaders/ViridianSchoolHouse.asm" +INCLUDE "data/maps/headers/ViridianSchoolHouse.asm" INCLUDE "scripts/ViridianSchoolHouse.asm" -INCLUDE "data/mapObjects/ViridianSchoolHouse.asm" +INCLUDE "data/maps/objects/ViridianSchoolHouse.asm" -INCLUDE "data/mapHeaders/ViridianNicknameHouse.asm" +INCLUDE "data/maps/headers/ViridianNicknameHouse.asm" ds 1 INCLUDE "scripts/ViridianNicknameHouse.asm" -INCLUDE "data/mapObjects/ViridianNicknameHouse.asm" +INCLUDE "data/maps/objects/ViridianNicknameHouse.asm" -INCLUDE "data/mapHeaders/PewterNidoranHouse.asm" +INCLUDE "data/maps/headers/PewterNidoranHouse.asm" INCLUDE "scripts/PewterNidoranHouse.asm" -INCLUDE "data/mapObjects/PewterNidoranHouse.asm" +INCLUDE "data/maps/objects/PewterNidoranHouse.asm" -INCLUDE "data/mapHeaders/PewterSpeechHouse.asm" +INCLUDE "data/maps/headers/PewterSpeechHouse.asm" INCLUDE "scripts/PewterSpeechHouse.asm" -INCLUDE "data/mapObjects/PewterSpeechHouse.asm" +INCLUDE "data/maps/objects/PewterSpeechHouse.asm" -INCLUDE "data/mapHeaders/CeruleanTrashedHouse.asm" +INCLUDE "data/maps/headers/CeruleanTrashedHouse.asm" INCLUDE "scripts/CeruleanTrashedHouse.asm" -INCLUDE "data/mapObjects/CeruleanTrashedHouse.asm" +INCLUDE "data/maps/objects/CeruleanTrashedHouse.asm" -INCLUDE "data/mapHeaders/CeruleanTradeHouse.asm" +INCLUDE "data/maps/headers/CeruleanTradeHouse.asm" INCLUDE "scripts/CeruleanTradeHouse.asm" -INCLUDE "data/mapObjects/CeruleanTradeHouse.asm" +INCLUDE "data/maps/objects/CeruleanTradeHouse.asm" -INCLUDE "data/mapHeaders/BikeShop.asm" +INCLUDE "data/maps/headers/BikeShop.asm" INCLUDE "scripts/BikeShop.asm" -INCLUDE "data/mapObjects/BikeShop.asm" +INCLUDE "data/maps/objects/BikeShop.asm" BikeShop_Blocks: INCBIN "maps/BikeShop.blk" -INCLUDE "data/mapHeaders/MrFujisHouse.asm" +INCLUDE "data/maps/headers/MrFujisHouse.asm" INCLUDE "scripts/MrFujisHouse.asm" -INCLUDE "data/mapObjects/MrFujisHouse.asm" +INCLUDE "data/maps/objects/MrFujisHouse.asm" -INCLUDE "data/mapHeaders/LavenderCuboneHouse.asm" +INCLUDE "data/maps/headers/LavenderCuboneHouse.asm" INCLUDE "scripts/LavenderCuboneHouse.asm" -INCLUDE "data/mapObjects/LavenderCuboneHouse.asm" +INCLUDE "data/maps/objects/LavenderCuboneHouse.asm" -INCLUDE "data/mapHeaders/NameRatersHouse.asm" +INCLUDE "data/maps/headers/NameRatersHouse.asm" INCLUDE "scripts/NameRatersHouse.asm" -INCLUDE "data/mapObjects/NameRatersHouse.asm" +INCLUDE "data/maps/objects/NameRatersHouse.asm" -INCLUDE "data/mapHeaders/VermilionPidgeyHouse.asm" +INCLUDE "data/maps/headers/VermilionPidgeyHouse.asm" INCLUDE "scripts/VermilionPidgeyHouse.asm" -INCLUDE "data/mapObjects/VermilionPidgeyHouse.asm" +INCLUDE "data/maps/objects/VermilionPidgeyHouse.asm" -INCLUDE "data/mapHeaders/VermilionDock.asm" +INCLUDE "data/maps/headers/VermilionDock.asm" INCLUDE "scripts/VermilionDock.asm" -INCLUDE "data/mapObjects/VermilionDock.asm" +INCLUDE "data/maps/objects/VermilionDock.asm" VermilionDock_Blocks: INCBIN "maps/VermilionDock.blk" -INCLUDE "data/mapHeaders/CeladonMansionRoofHouse.asm" +INCLUDE "data/maps/headers/CeladonMansionRoofHouse.asm" INCLUDE "scripts/CeladonMansionRoofHouse.asm" -INCLUDE "data/mapObjects/CeladonMansionRoofHouse.asm" +INCLUDE "data/maps/objects/CeladonMansionRoofHouse.asm" -INCLUDE "data/mapHeaders/FuchsiaMart.asm" +INCLUDE "data/maps/headers/FuchsiaMart.asm" INCLUDE "scripts/FuchsiaMart.asm" -INCLUDE "data/mapObjects/FuchsiaMart.asm" +INCLUDE "data/maps/objects/FuchsiaMart.asm" FuchsiaMart_Blocks: INCBIN "maps/FuchsiaMart.blk" -INCLUDE "data/mapHeaders/SaffronPidgeyHouse.asm" +INCLUDE "data/maps/headers/SaffronPidgeyHouse.asm" INCLUDE "scripts/SaffronPidgeyHouse.asm" -INCLUDE "data/mapObjects/SaffronPidgeyHouse.asm" +INCLUDE "data/maps/objects/SaffronPidgeyHouse.asm" -INCLUDE "data/mapHeaders/MrPsychicsHouse.asm" +INCLUDE "data/maps/headers/MrPsychicsHouse.asm" INCLUDE "scripts/MrPsychicsHouse.asm" -INCLUDE "data/mapObjects/MrPsychicsHouse.asm" +INCLUDE "data/maps/objects/MrPsychicsHouse.asm" -INCLUDE "data/mapHeaders/DiglettsCaveRoute2.asm" +INCLUDE "data/maps/headers/DiglettsCaveRoute2.asm" INCLUDE "scripts/DiglettsCaveRoute2.asm" -INCLUDE "data/mapObjects/DiglettsCaveRoute2.asm" +INCLUDE "data/maps/objects/DiglettsCaveRoute2.asm" -INCLUDE "data/mapHeaders/Route2TradeHouse.asm" +INCLUDE "data/maps/headers/Route2TradeHouse.asm" INCLUDE "scripts/Route2TradeHouse.asm" -INCLUDE "data/mapObjects/Route2TradeHouse.asm" +INCLUDE "data/maps/objects/Route2TradeHouse.asm" -INCLUDE "data/mapHeaders/Route5Gate.asm" +INCLUDE "data/maps/headers/Route5Gate.asm" INCLUDE "scripts/Route5Gate.asm" -INCLUDE "data/mapObjects/Route5Gate.asm" +INCLUDE "data/maps/objects/Route5Gate.asm" Route5Gate_Blocks: INCBIN "maps/Route5Gate.blk" -INCLUDE "data/mapHeaders/Route6Gate.asm" +INCLUDE "data/maps/headers/Route6Gate.asm" INCLUDE "scripts/Route6Gate.asm" -INCLUDE "data/mapObjects/Route6Gate.asm" +INCLUDE "data/maps/objects/Route6Gate.asm" Route6Gate_Blocks: INCBIN "maps/Route6Gate.blk" -INCLUDE "data/mapHeaders/Route7Gate.asm" +INCLUDE "data/maps/headers/Route7Gate.asm" INCLUDE "scripts/Route7Gate.asm" -INCLUDE "data/mapObjects/Route7Gate.asm" +INCLUDE "data/maps/objects/Route7Gate.asm" Route7Gate_Blocks: INCBIN "maps/Route7Gate.blk" -INCLUDE "data/mapHeaders/Route8Gate.asm" +INCLUDE "data/maps/headers/Route8Gate.asm" INCLUDE "scripts/Route8Gate.asm" -INCLUDE "data/mapObjects/Route8Gate.asm" +INCLUDE "data/maps/objects/Route8Gate.asm" Route8Gate_Blocks: INCBIN "maps/Route8Gate.blk" -INCLUDE "data/mapHeaders/UndergroundPathRoute8.asm" +INCLUDE "data/maps/headers/UndergroundPathRoute8.asm" INCLUDE "scripts/UndergroundPathRoute8.asm" -INCLUDE "data/mapObjects/UndergroundPathRoute8.asm" +INCLUDE "data/maps/objects/UndergroundPathRoute8.asm" -INCLUDE "data/mapHeaders/PowerPlant.asm" +INCLUDE "data/maps/headers/PowerPlant.asm" INCLUDE "scripts/PowerPlant.asm" -INCLUDE "data/mapObjects/PowerPlant.asm" +INCLUDE "data/maps/objects/PowerPlant.asm" PowerPlant_Blocks: INCBIN "maps/PowerPlant.blk" -INCLUDE "data/mapHeaders/DiglettsCaveRoute11.asm" +INCLUDE "data/maps/headers/DiglettsCaveRoute11.asm" INCLUDE "scripts/DiglettsCaveRoute11.asm" -INCLUDE "data/mapObjects/DiglettsCaveRoute11.asm" +INCLUDE "data/maps/objects/DiglettsCaveRoute11.asm" -INCLUDE "data/mapHeaders/Route16FlyHouse.asm" +INCLUDE "data/maps/headers/Route16FlyHouse.asm" INCLUDE "scripts/Route16FlyHouse.asm" -INCLUDE "data/mapObjects/Route16FlyHouse.asm" +INCLUDE "data/maps/objects/Route16FlyHouse.asm" -INCLUDE "data/mapHeaders/Route22Gate.asm" +INCLUDE "data/maps/headers/Route22Gate.asm" INCLUDE "scripts/Route22Gate.asm" -INCLUDE "data/mapObjects/Route22Gate.asm" +INCLUDE "data/maps/objects/Route22Gate.asm" Route22Gate_Blocks: INCBIN "maps/Route22Gate.blk" -INCLUDE "data/mapHeaders/BillsHouse.asm" +INCLUDE "data/maps/headers/BillsHouse.asm" INCLUDE "scripts/BillsHouse.asm" -INCLUDE "data/mapObjects/BillsHouse.asm" +INCLUDE "data/maps/objects/BillsHouse.asm" BillsHouse_Blocks: INCBIN "maps/BillsHouse.blk" SECTION "Maps 5", ROMX -INCLUDE "data/mapHeaders/LavenderTown.asm" -INCLUDE "data/mapObjects/LavenderTown.asm" +INCLUDE "data/maps/headers/LavenderTown.asm" +INCLUDE "data/maps/objects/LavenderTown.asm" LavenderTown_Blocks: INCBIN "maps/LavenderTown.blk" ViridianPokecenter_Blocks: INCBIN "maps/ViridianPokecenter.blk" @@ -267,136 +267,136 @@ INCLUDE "scripts/LavenderTown.asm" SECTION "Maps 6", ROMX -INCLUDE "data/mapHeaders/ViridianPokecenter.asm" +INCLUDE "data/maps/headers/ViridianPokecenter.asm" INCLUDE "scripts/ViridianPokecenter.asm" -INCLUDE "data/mapObjects/ViridianPokecenter.asm" +INCLUDE "data/maps/objects/ViridianPokecenter.asm" -INCLUDE "data/mapHeaders/PokemonMansion1F.asm" +INCLUDE "data/maps/headers/PokemonMansion1F.asm" INCLUDE "scripts/PokemonMansion1F.asm" -INCLUDE "data/mapObjects/PokemonMansion1F.asm" +INCLUDE "data/maps/objects/PokemonMansion1F.asm" PokemonMansion1F_Blocks: INCBIN "maps/PokemonMansion1F.blk" -INCLUDE "data/mapHeaders/RockTunnel1F.asm" +INCLUDE "data/maps/headers/RockTunnel1F.asm" INCLUDE "scripts/RockTunnel1F.asm" -INCLUDE "data/mapObjects/RockTunnel1F.asm" +INCLUDE "data/maps/objects/RockTunnel1F.asm" RockTunnel1F_Blocks: INCBIN "maps/RockTunnel1F.blk" -INCLUDE "data/mapHeaders/SeafoamIslands1F.asm" +INCLUDE "data/maps/headers/SeafoamIslands1F.asm" INCLUDE "scripts/SeafoamIslands1F.asm" -INCLUDE "data/mapObjects/SeafoamIslands1F.asm" +INCLUDE "data/maps/objects/SeafoamIslands1F.asm" SeafoamIslands1F_Blocks: INCBIN "maps/SeafoamIslands1F.blk" -INCLUDE "data/mapHeaders/SSAnne3F.asm" +INCLUDE "data/maps/headers/SSAnne3F.asm" INCLUDE "scripts/SSAnne3F.asm" -INCLUDE "data/mapObjects/SSAnne3F.asm" +INCLUDE "data/maps/objects/SSAnne3F.asm" SSAnne3F_Blocks: INCBIN "maps/SSAnne3F.blk" -INCLUDE "data/mapHeaders/VictoryRoad3F.asm" +INCLUDE "data/maps/headers/VictoryRoad3F.asm" INCLUDE "scripts/VictoryRoad3F.asm" -INCLUDE "data/mapObjects/VictoryRoad3F.asm" +INCLUDE "data/maps/objects/VictoryRoad3F.asm" VictoryRoad3F_Blocks: INCBIN "maps/VictoryRoad3F.blk" -INCLUDE "data/mapHeaders/RocketHideoutB1F.asm" +INCLUDE "data/maps/headers/RocketHideoutB1F.asm" INCLUDE "scripts/RocketHideoutB1F.asm" -INCLUDE "data/mapObjects/RocketHideoutB1F.asm" +INCLUDE "data/maps/objects/RocketHideoutB1F.asm" RocketHideoutB1F_Blocks: INCBIN "maps/RocketHideoutB1F.blk" -INCLUDE "data/mapHeaders/RocketHideoutB2F.asm" +INCLUDE "data/maps/headers/RocketHideoutB2F.asm" INCLUDE "scripts/RocketHideoutB2F.asm" -INCLUDE "data/mapObjects/RocketHideoutB2F.asm" +INCLUDE "data/maps/objects/RocketHideoutB2F.asm" RocketHideoutB2F_Blocks: INCBIN "maps/RocketHideoutB2F.blk" -INCLUDE "data/mapHeaders/RocketHideoutB3F.asm" +INCLUDE "data/maps/headers/RocketHideoutB3F.asm" INCLUDE "scripts/RocketHideoutB3F.asm" -INCLUDE "data/mapObjects/RocketHideoutB3F.asm" +INCLUDE "data/maps/objects/RocketHideoutB3F.asm" RocketHideoutB3F_Blocks: INCBIN "maps/RocketHideoutB3F.blk" -INCLUDE "data/mapHeaders/RocketHideoutB4F.asm" +INCLUDE "data/maps/headers/RocketHideoutB4F.asm" INCLUDE "scripts/RocketHideoutB4F.asm" -INCLUDE "data/mapObjects/RocketHideoutB4F.asm" +INCLUDE "data/maps/objects/RocketHideoutB4F.asm" RocketHideoutB4F_Blocks: INCBIN "maps/RocketHideoutB4F.blk" -INCLUDE "data/mapHeaders/RocketHideoutElevator.asm" +INCLUDE "data/maps/headers/RocketHideoutElevator.asm" INCLUDE "scripts/RocketHideoutElevator.asm" -INCLUDE "data/mapObjects/RocketHideoutElevator.asm" +INCLUDE "data/maps/objects/RocketHideoutElevator.asm" RocketHideoutElevator_Blocks: INCBIN "maps/RocketHideoutElevator.blk" -INCLUDE "data/mapHeaders/SilphCoElevator.asm" +INCLUDE "data/maps/headers/SilphCoElevator.asm" INCLUDE "scripts/SilphCoElevator.asm" -INCLUDE "data/mapObjects/SilphCoElevator.asm" +INCLUDE "data/maps/objects/SilphCoElevator.asm" SilphCoElevator_Blocks: INCBIN "maps/SilphCoElevator.blk" -INCLUDE "data/mapHeaders/SafariZoneEast.asm" +INCLUDE "data/maps/headers/SafariZoneEast.asm" INCLUDE "scripts/SafariZoneEast.asm" -INCLUDE "data/mapObjects/SafariZoneEast.asm" +INCLUDE "data/maps/objects/SafariZoneEast.asm" SafariZoneEast_Blocks: INCBIN "maps/SafariZoneEast.blk" -INCLUDE "data/mapHeaders/SafariZoneNorth.asm" +INCLUDE "data/maps/headers/SafariZoneNorth.asm" INCLUDE "scripts/SafariZoneNorth.asm" -INCLUDE "data/mapObjects/SafariZoneNorth.asm" +INCLUDE "data/maps/objects/SafariZoneNorth.asm" SafariZoneNorth_Blocks: INCBIN "maps/SafariZoneNorth.blk" -INCLUDE "data/mapHeaders/SafariZoneCenter.asm" +INCLUDE "data/maps/headers/SafariZoneCenter.asm" INCLUDE "scripts/SafariZoneCenter.asm" -INCLUDE "data/mapObjects/SafariZoneCenter.asm" +INCLUDE "data/maps/objects/SafariZoneCenter.asm" SafariZoneCenter_Blocks: INCBIN "maps/SafariZoneCenter.blk" -INCLUDE "data/mapHeaders/SafariZoneCenterRestHouse.asm" +INCLUDE "data/maps/headers/SafariZoneCenterRestHouse.asm" INCLUDE "scripts/SafariZoneCenterRestHouse.asm" -INCLUDE "data/mapObjects/SafariZoneCenterRestHouse.asm" +INCLUDE "data/maps/objects/SafariZoneCenterRestHouse.asm" -INCLUDE "data/mapHeaders/SafariZoneWestRestHouse.asm" +INCLUDE "data/maps/headers/SafariZoneWestRestHouse.asm" INCLUDE "scripts/SafariZoneWestRestHouse.asm" -INCLUDE "data/mapObjects/SafariZoneWestRestHouse.asm" +INCLUDE "data/maps/objects/SafariZoneWestRestHouse.asm" -INCLUDE "data/mapHeaders/SafariZoneEastRestHouse.asm" +INCLUDE "data/maps/headers/SafariZoneEastRestHouse.asm" INCLUDE "scripts/SafariZoneEastRestHouse.asm" -INCLUDE "data/mapObjects/SafariZoneEastRestHouse.asm" +INCLUDE "data/maps/objects/SafariZoneEastRestHouse.asm" -INCLUDE "data/mapHeaders/SafariZoneNorthRestHouse.asm" +INCLUDE "data/maps/headers/SafariZoneNorthRestHouse.asm" INCLUDE "scripts/SafariZoneNorthRestHouse.asm" -INCLUDE "data/mapObjects/SafariZoneNorthRestHouse.asm" +INCLUDE "data/maps/objects/SafariZoneNorthRestHouse.asm" -INCLUDE "data/mapHeaders/CeruleanCave2F.asm" +INCLUDE "data/maps/headers/CeruleanCave2F.asm" INCLUDE "scripts/CeruleanCave2F.asm" -INCLUDE "data/mapObjects/CeruleanCave2F.asm" +INCLUDE "data/maps/objects/CeruleanCave2F.asm" CeruleanCave2F_Blocks: INCBIN "maps/CeruleanCave2F.blk" -INCLUDE "data/mapHeaders/CeruleanCaveB1F.asm" +INCLUDE "data/maps/headers/CeruleanCaveB1F.asm" INCLUDE "scripts/CeruleanCaveB1F.asm" -INCLUDE "data/mapObjects/CeruleanCaveB1F.asm" +INCLUDE "data/maps/objects/CeruleanCaveB1F.asm" CeruleanCaveB1F_Blocks: INCBIN "maps/CeruleanCaveB1F.blk" -INCLUDE "data/mapHeaders/RockTunnelB1F.asm" +INCLUDE "data/maps/headers/RockTunnelB1F.asm" INCLUDE "scripts/RockTunnelB1F.asm" -INCLUDE "data/mapObjects/RockTunnelB1F.asm" +INCLUDE "data/maps/objects/RockTunnelB1F.asm" RockTunnelB1F_Blocks: INCBIN "maps/RockTunnelB1F.blk" -INCLUDE "data/mapHeaders/SeafoamIslandsB1F.asm" +INCLUDE "data/maps/headers/SeafoamIslandsB1F.asm" INCLUDE "scripts/SeafoamIslandsB1F.asm" -INCLUDE "data/mapObjects/SeafoamIslandsB1F.asm" +INCLUDE "data/maps/objects/SeafoamIslandsB1F.asm" SeafoamIslandsB1F_Blocks: INCBIN "maps/SeafoamIslandsB1F.blk" -INCLUDE "data/mapHeaders/SeafoamIslandsB2F.asm" +INCLUDE "data/maps/headers/SeafoamIslandsB2F.asm" INCLUDE "scripts/SeafoamIslandsB2F.asm" -INCLUDE "data/mapObjects/SeafoamIslandsB2F.asm" +INCLUDE "data/maps/objects/SeafoamIslandsB2F.asm" SeafoamIslandsB2F_Blocks: INCBIN "maps/SeafoamIslandsB2F.blk" -INCLUDE "data/mapHeaders/SeafoamIslandsB3F.asm" +INCLUDE "data/maps/headers/SeafoamIslandsB3F.asm" INCLUDE "scripts/SeafoamIslandsB3F.asm" -INCLUDE "data/mapObjects/SeafoamIslandsB3F.asm" +INCLUDE "data/maps/objects/SeafoamIslandsB3F.asm" SeafoamIslandsB3F_Blocks: INCBIN "maps/SeafoamIslandsB3F.blk" -INCLUDE "data/mapHeaders/SeafoamIslandsB4F.asm" +INCLUDE "data/maps/headers/SeafoamIslandsB4F.asm" INCLUDE "scripts/SeafoamIslandsB4F.asm" -INCLUDE "data/mapObjects/SeafoamIslandsB4F.asm" +INCLUDE "data/maps/objects/SeafoamIslandsB4F.asm" SeafoamIslandsB4F_Blocks: INCBIN "maps/SeafoamIslandsB4F.blk" SECTION "Maps 7", ROMX -INCLUDE "data/mapHeaders/Route7.asm" -INCLUDE "data/mapObjects/Route7.asm" +INCLUDE "data/maps/headers/Route7.asm" +INCLUDE "data/maps/objects/Route7.asm" Route7_Blocks: INCBIN "maps/Route7.blk" CeladonPokecenter_Blocks: @@ -418,203 +418,203 @@ SECTION "Maps 8", ROMX INCLUDE "scripts/Route7.asm" -INCLUDE "data/mapHeaders/RedsHouse1F.asm" +INCLUDE "data/maps/headers/RedsHouse1F.asm" INCLUDE "scripts/RedsHouse1F.asm" -INCLUDE "data/mapObjects/RedsHouse1F.asm" +INCLUDE "data/maps/objects/RedsHouse1F.asm" RedsHouse1F_Blocks: INCBIN "maps/RedsHouse1F.blk" -INCLUDE "data/mapHeaders/CeladonMart3F.asm" +INCLUDE "data/maps/headers/CeladonMart3F.asm" INCLUDE "scripts/CeladonMart3F.asm" -INCLUDE "data/mapObjects/CeladonMart3F.asm" +INCLUDE "data/maps/objects/CeladonMart3F.asm" CeladonMart3F_Blocks: INCBIN "maps/CeladonMart3F.blk" -INCLUDE "data/mapHeaders/CeladonMart4F.asm" +INCLUDE "data/maps/headers/CeladonMart4F.asm" INCLUDE "scripts/CeladonMart4F.asm" -INCLUDE "data/mapObjects/CeladonMart4F.asm" +INCLUDE "data/maps/objects/CeladonMart4F.asm" CeladonMart4F_Blocks: INCBIN "maps/CeladonMart4F.blk" -INCLUDE "data/mapHeaders/CeladonMartRoof.asm" +INCLUDE "data/maps/headers/CeladonMartRoof.asm" INCLUDE "scripts/CeladonMartRoof.asm" -INCLUDE "data/mapObjects/CeladonMartRoof.asm" +INCLUDE "data/maps/objects/CeladonMartRoof.asm" CeladonMartRoof_Blocks: INCBIN "maps/CeladonMartRoof.blk" -INCLUDE "data/mapHeaders/CeladonMartElevator.asm" +INCLUDE "data/maps/headers/CeladonMartElevator.asm" INCLUDE "scripts/CeladonMartElevator.asm" -INCLUDE "data/mapObjects/CeladonMartElevator.asm" +INCLUDE "data/maps/objects/CeladonMartElevator.asm" CeladonMartElevator_Blocks: INCBIN "maps/CeladonMartElevator.blk" -INCLUDE "data/mapHeaders/CeladonMansion1F.asm" +INCLUDE "data/maps/headers/CeladonMansion1F.asm" INCLUDE "scripts/CeladonMansion1F.asm" -INCLUDE "data/mapObjects/CeladonMansion1F.asm" +INCLUDE "data/maps/objects/CeladonMansion1F.asm" CeladonMansion1F_Blocks: INCBIN "maps/CeladonMansion1F.blk" -INCLUDE "data/mapHeaders/CeladonMansion2F.asm" +INCLUDE "data/maps/headers/CeladonMansion2F.asm" INCLUDE "scripts/CeladonMansion2F.asm" -INCLUDE "data/mapObjects/CeladonMansion2F.asm" +INCLUDE "data/maps/objects/CeladonMansion2F.asm" CeladonMansion2F_Blocks: INCBIN "maps/CeladonMansion2F.blk" -INCLUDE "data/mapHeaders/CeladonMansion3F.asm" +INCLUDE "data/maps/headers/CeladonMansion3F.asm" INCLUDE "scripts/CeladonMansion3F.asm" -INCLUDE "data/mapObjects/CeladonMansion3F.asm" +INCLUDE "data/maps/objects/CeladonMansion3F.asm" CeladonMansion3F_Blocks: INCBIN "maps/CeladonMansion3F.blk" -INCLUDE "data/mapHeaders/CeladonMansionRoof.asm" +INCLUDE "data/maps/headers/CeladonMansionRoof.asm" INCLUDE "scripts/CeladonMansionRoof.asm" -INCLUDE "data/mapObjects/CeladonMansionRoof.asm" +INCLUDE "data/maps/objects/CeladonMansionRoof.asm" CeladonMansionRoof_Blocks: INCBIN "maps/CeladonMansionRoof.blk" -INCLUDE "data/mapHeaders/CeladonPokecenter.asm" +INCLUDE "data/maps/headers/CeladonPokecenter.asm" INCLUDE "scripts/CeladonPokecenter.asm" -INCLUDE "data/mapObjects/CeladonPokecenter.asm" +INCLUDE "data/maps/objects/CeladonPokecenter.asm" -INCLUDE "data/mapHeaders/CeladonGym.asm" +INCLUDE "data/maps/headers/CeladonGym.asm" INCLUDE "scripts/CeladonGym.asm" -INCLUDE "data/mapObjects/CeladonGym.asm" +INCLUDE "data/maps/objects/CeladonGym.asm" CeladonGym_Blocks: INCBIN "maps/CeladonGym.blk" -INCLUDE "data/mapHeaders/GameCorner.asm" +INCLUDE "data/maps/headers/GameCorner.asm" INCLUDE "scripts/GameCorner.asm" -INCLUDE "data/mapObjects/GameCorner.asm" +INCLUDE "data/maps/objects/GameCorner.asm" GameCorner_Blocks: INCBIN "maps/GameCorner.blk" -INCLUDE "data/mapHeaders/CeladonMart5F.asm" +INCLUDE "data/maps/headers/CeladonMart5F.asm" INCLUDE "scripts/CeladonMart5F.asm" -INCLUDE "data/mapObjects/CeladonMart5F.asm" +INCLUDE "data/maps/objects/CeladonMart5F.asm" CeladonMart5F_Blocks: INCBIN "maps/CeladonMart5F.blk" -INCLUDE "data/mapHeaders/GameCornerPrizeRoom.asm" +INCLUDE "data/maps/headers/GameCornerPrizeRoom.asm" INCLUDE "scripts/GameCornerPrizeRoom.asm" -INCLUDE "data/mapObjects/GameCornerPrizeRoom.asm" +INCLUDE "data/maps/objects/GameCornerPrizeRoom.asm" GameCornerPrizeRoom_Blocks: INCBIN "maps/GameCornerPrizeRoom.blk" -INCLUDE "data/mapHeaders/CeladonDiner.asm" +INCLUDE "data/maps/headers/CeladonDiner.asm" INCLUDE "scripts/CeladonDiner.asm" -INCLUDE "data/mapObjects/CeladonDiner.asm" +INCLUDE "data/maps/objects/CeladonDiner.asm" CeladonDiner_Blocks: INCBIN "maps/CeladonDiner.blk" -INCLUDE "data/mapHeaders/CeladonChiefHouse.asm" +INCLUDE "data/maps/headers/CeladonChiefHouse.asm" INCLUDE "scripts/CeladonChiefHouse.asm" -INCLUDE "data/mapObjects/CeladonChiefHouse.asm" +INCLUDE "data/maps/objects/CeladonChiefHouse.asm" CeladonChiefHouse_Blocks: INCBIN "maps/CeladonChiefHouse.blk" -INCLUDE "data/mapHeaders/CeladonHotel.asm" +INCLUDE "data/maps/headers/CeladonHotel.asm" INCLUDE "scripts/CeladonHotel.asm" -INCLUDE "data/mapObjects/CeladonHotel.asm" +INCLUDE "data/maps/objects/CeladonHotel.asm" CeladonHotel_Blocks: INCBIN "maps/CeladonHotel.blk" -INCLUDE "data/mapHeaders/MtMoonPokecenter.asm" +INCLUDE "data/maps/headers/MtMoonPokecenter.asm" INCLUDE "scripts/MtMoonPokecenter.asm" -INCLUDE "data/mapObjects/MtMoonPokecenter.asm" +INCLUDE "data/maps/objects/MtMoonPokecenter.asm" -INCLUDE "data/mapHeaders/RockTunnelPokecenter.asm" +INCLUDE "data/maps/headers/RockTunnelPokecenter.asm" INCLUDE "scripts/RockTunnelPokecenter.asm" -INCLUDE "data/mapObjects/RockTunnelPokecenter.asm" +INCLUDE "data/maps/objects/RockTunnelPokecenter.asm" -INCLUDE "data/mapHeaders/Route11Gate1F.asm" +INCLUDE "data/maps/headers/Route11Gate1F.asm" INCLUDE "scripts/Route11Gate1F.asm" -INCLUDE "data/mapObjects/Route11Gate1F.asm" +INCLUDE "data/maps/objects/Route11Gate1F.asm" -INCLUDE "data/mapHeaders/Route11Gate2F.asm" +INCLUDE "data/maps/headers/Route11Gate2F.asm" INCLUDE "scripts/Route11Gate2F.asm" -INCLUDE "data/mapObjects/Route11Gate2F.asm" +INCLUDE "data/maps/objects/Route11Gate2F.asm" -INCLUDE "data/mapHeaders/Route12Gate1F.asm" +INCLUDE "data/maps/headers/Route12Gate1F.asm" INCLUDE "scripts/Route12Gate1F.asm" -INCLUDE "data/mapObjects/Route12Gate1F.asm" +INCLUDE "data/maps/objects/Route12Gate1F.asm" Route12Gate1F_Blocks: INCBIN "maps/Route12Gate1F.blk" -INCLUDE "data/mapHeaders/Route12Gate2F.asm" +INCLUDE "data/maps/headers/Route12Gate2F.asm" INCLUDE "scripts/Route12Gate2F.asm" -INCLUDE "data/mapObjects/Route12Gate2F.asm" +INCLUDE "data/maps/objects/Route12Gate2F.asm" -INCLUDE "data/mapHeaders/Route15Gate1F.asm" +INCLUDE "data/maps/headers/Route15Gate1F.asm" INCLUDE "scripts/Route15Gate1F.asm" -INCLUDE "data/mapObjects/Route15Gate1F.asm" +INCLUDE "data/maps/objects/Route15Gate1F.asm" -INCLUDE "data/mapHeaders/Route15Gate2F.asm" +INCLUDE "data/maps/headers/Route15Gate2F.asm" INCLUDE "scripts/Route15Gate2F.asm" -INCLUDE "data/mapObjects/Route15Gate2F.asm" +INCLUDE "data/maps/objects/Route15Gate2F.asm" -INCLUDE "data/mapHeaders/Route16Gate1F.asm" +INCLUDE "data/maps/headers/Route16Gate1F.asm" INCLUDE "scripts/Route16Gate1F.asm" -INCLUDE "data/mapObjects/Route16Gate1F.asm" +INCLUDE "data/maps/objects/Route16Gate1F.asm" Route16Gate1F_Blocks: INCBIN "maps/Route16Gate1F.blk" -INCLUDE "data/mapHeaders/Route16Gate2F.asm" +INCLUDE "data/maps/headers/Route16Gate2F.asm" INCLUDE "scripts/Route16Gate2F.asm" -INCLUDE "data/mapObjects/Route16Gate2F.asm" +INCLUDE "data/maps/objects/Route16Gate2F.asm" -INCLUDE "data/mapHeaders/Route18Gate1F.asm" +INCLUDE "data/maps/headers/Route18Gate1F.asm" INCLUDE "scripts/Route18Gate1F.asm" -INCLUDE "data/mapObjects/Route18Gate1F.asm" +INCLUDE "data/maps/objects/Route18Gate1F.asm" -INCLUDE "data/mapHeaders/Route18Gate2F.asm" +INCLUDE "data/maps/headers/Route18Gate2F.asm" INCLUDE "scripts/Route18Gate2F.asm" -INCLUDE "data/mapObjects/Route18Gate2F.asm" +INCLUDE "data/maps/objects/Route18Gate2F.asm" -INCLUDE "data/mapHeaders/MtMoon1F.asm" +INCLUDE "data/maps/headers/MtMoon1F.asm" INCLUDE "scripts/MtMoon1F.asm" -INCLUDE "data/mapObjects/MtMoon1F.asm" +INCLUDE "data/maps/objects/MtMoon1F.asm" MtMoon1F_Blocks: INCBIN "maps/MtMoon1F.blk" -INCLUDE "data/mapHeaders/MtMoonB2F.asm" +INCLUDE "data/maps/headers/MtMoonB2F.asm" INCLUDE "scripts/MtMoonB2F.asm" -INCLUDE "data/mapObjects/MtMoonB2F.asm" +INCLUDE "data/maps/objects/MtMoonB2F.asm" MtMoonB2F_Blocks: INCBIN "maps/MtMoonB2F.blk" -INCLUDE "data/mapHeaders/SafariZoneWest.asm" +INCLUDE "data/maps/headers/SafariZoneWest.asm" INCLUDE "scripts/SafariZoneWest.asm" -INCLUDE "data/mapObjects/SafariZoneWest.asm" +INCLUDE "data/maps/objects/SafariZoneWest.asm" SafariZoneWest_Blocks: INCBIN "maps/SafariZoneWest.blk" -INCLUDE "data/mapHeaders/SafariZoneSecretHouse.asm" +INCLUDE "data/maps/headers/SafariZoneSecretHouse.asm" INCLUDE "scripts/SafariZoneSecretHouse.asm" -INCLUDE "data/mapObjects/SafariZoneSecretHouse.asm" +INCLUDE "data/maps/objects/SafariZoneSecretHouse.asm" SafariZoneSecretHouse_Blocks: INCBIN "maps/SafariZoneSecretHouse.blk" SECTION "Maps 9", ROMX -INCLUDE "data/mapHeaders/TradeCenter.asm" +INCLUDE "data/maps/headers/TradeCenter.asm" INCLUDE "scripts/TradeCenter.asm" -INCLUDE "data/mapObjects/TradeCenter.asm" +INCLUDE "data/maps/objects/TradeCenter.asm" TradeCenter_Blocks: INCBIN "maps/TradeCenter.blk" -INCLUDE "data/mapHeaders/Colosseum.asm" +INCLUDE "data/maps/headers/Colosseum.asm" INCLUDE "scripts/Colosseum.asm" -INCLUDE "data/mapObjects/Colosseum.asm" +INCLUDE "data/maps/objects/Colosseum.asm" Colosseum_Blocks: INCBIN "maps/Colosseum.blk" SECTION "Maps 10", ROMX -INCLUDE "data/mapHeaders/Route22.asm" -INCLUDE "data/mapObjects/Route22.asm" +INCLUDE "data/maps/headers/Route22.asm" +INCLUDE "data/maps/objects/Route22.asm" Route22_Blocks: INCBIN "maps/Route22.blk" -INCLUDE "data/mapHeaders/Route20.asm" -INCLUDE "data/mapObjects/Route20.asm" +INCLUDE "data/maps/headers/Route20.asm" +INCLUDE "data/maps/objects/Route20.asm" Route20_Blocks: INCBIN "maps/Route20.blk" -INCLUDE "data/mapHeaders/Route23.asm" -INCLUDE "data/mapObjects/Route23.asm" +INCLUDE "data/maps/headers/Route23.asm" +INCLUDE "data/maps/objects/Route23.asm" Route23_Blocks: INCBIN "maps/Route23.blk" -INCLUDE "data/mapHeaders/Route24.asm" -INCLUDE "data/mapObjects/Route24.asm" +INCLUDE "data/maps/headers/Route24.asm" +INCLUDE "data/maps/objects/Route24.asm" Route24_Blocks: INCBIN "maps/Route24.blk" -INCLUDE "data/mapHeaders/Route25.asm" -INCLUDE "data/mapObjects/Route25.asm" +INCLUDE "data/maps/headers/Route25.asm" +INCLUDE "data/maps/objects/Route25.asm" Route25_Blocks: INCBIN "maps/Route25.blk" -INCLUDE "data/mapHeaders/IndigoPlateau.asm" +INCLUDE "data/maps/headers/IndigoPlateau.asm" INCLUDE "scripts/IndigoPlateau.asm" -INCLUDE "data/mapObjects/IndigoPlateau.asm" +INCLUDE "data/maps/objects/IndigoPlateau.asm" IndigoPlateau_Blocks: INCBIN "maps/IndigoPlateau.blk" -INCLUDE "data/mapHeaders/SaffronCity.asm" -INCLUDE "data/mapObjects/SaffronCity.asm" +INCLUDE "data/maps/headers/SaffronCity.asm" +INCLUDE "data/maps/objects/SaffronCity.asm" SaffronCity_Blocks: INCBIN "maps/SaffronCity.blk" INCLUDE "scripts/SaffronCity.asm" @@ -624,77 +624,77 @@ INCLUDE "scripts/Route23.asm" INCLUDE "scripts/Route24.asm" INCLUDE "scripts/Route25.asm" -INCLUDE "data/mapHeaders/VictoryRoad2F.asm" +INCLUDE "data/maps/headers/VictoryRoad2F.asm" INCLUDE "scripts/VictoryRoad2F.asm" -INCLUDE "data/mapObjects/VictoryRoad2F.asm" +INCLUDE "data/maps/objects/VictoryRoad2F.asm" VictoryRoad2F_Blocks: INCBIN "maps/VictoryRoad2F.blk" -INCLUDE "data/mapHeaders/MtMoonB1F.asm" +INCLUDE "data/maps/headers/MtMoonB1F.asm" INCLUDE "scripts/MtMoonB1F.asm" -INCLUDE "data/mapObjects/MtMoonB1F.asm" +INCLUDE "data/maps/objects/MtMoonB1F.asm" MtMoonB1F_Blocks: INCBIN "maps/MtMoonB1F.blk" -INCLUDE "data/mapHeaders/SilphCo7F.asm" +INCLUDE "data/maps/headers/SilphCo7F.asm" INCLUDE "scripts/SilphCo7F.asm" -INCLUDE "data/mapObjects/SilphCo7F.asm" +INCLUDE "data/maps/objects/SilphCo7F.asm" SilphCo7F_Blocks: INCBIN "maps/SilphCo7F.blk" -INCLUDE "data/mapHeaders/PokemonMansion2F.asm" +INCLUDE "data/maps/headers/PokemonMansion2F.asm" INCLUDE "scripts/PokemonMansion2F.asm" -INCLUDE "data/mapObjects/PokemonMansion2F.asm" +INCLUDE "data/maps/objects/PokemonMansion2F.asm" PokemonMansion2F_Blocks: INCBIN "maps/PokemonMansion2F.blk" -INCLUDE "data/mapHeaders/PokemonMansion3F.asm" +INCLUDE "data/maps/headers/PokemonMansion3F.asm" INCLUDE "scripts/PokemonMansion3F.asm" -INCLUDE "data/mapObjects/PokemonMansion3F.asm" +INCLUDE "data/maps/objects/PokemonMansion3F.asm" PokemonMansion3F_Blocks: INCBIN "maps/PokemonMansion3F.blk" -INCLUDE "data/mapHeaders/PokemonMansionB1F.asm" +INCLUDE "data/maps/headers/PokemonMansionB1F.asm" INCLUDE "scripts/PokemonMansionB1F.asm" -INCLUDE "data/mapObjects/PokemonMansionB1F.asm" +INCLUDE "data/maps/objects/PokemonMansionB1F.asm" PokemonMansionB1F_Blocks: INCBIN "maps/PokemonMansionB1F.blk" SECTION "Maps 11", ROMX -INCLUDE "data/mapHeaders/Route2.asm" -INCLUDE "data/mapObjects/Route2.asm" +INCLUDE "data/maps/headers/Route2.asm" +INCLUDE "data/maps/objects/Route2.asm" Route2_Blocks: INCBIN "maps/Route2.blk" -INCLUDE "data/mapHeaders/Route3.asm" -INCLUDE "data/mapObjects/Route3.asm" +INCLUDE "data/maps/headers/Route3.asm" +INCLUDE "data/maps/objects/Route3.asm" Route3_Blocks: INCBIN "maps/Route3.blk" -INCLUDE "data/mapHeaders/Route4.asm" -INCLUDE "data/mapObjects/Route4.asm" +INCLUDE "data/maps/headers/Route4.asm" +INCLUDE "data/maps/objects/Route4.asm" Route4_Blocks: INCBIN "maps/Route4.blk" -INCLUDE "data/mapHeaders/Route5.asm" -INCLUDE "data/mapObjects/Route5.asm" +INCLUDE "data/maps/headers/Route5.asm" +INCLUDE "data/maps/objects/Route5.asm" Route5_Blocks: INCBIN "maps/Route5.blk" -INCLUDE "data/mapHeaders/Route9.asm" -INCLUDE "data/mapObjects/Route9.asm" +INCLUDE "data/maps/headers/Route9.asm" +INCLUDE "data/maps/objects/Route9.asm" Route9_Blocks: INCBIN "maps/Route9.blk" -INCLUDE "data/mapHeaders/Route13.asm" -INCLUDE "data/mapObjects/Route13.asm" +INCLUDE "data/maps/headers/Route13.asm" +INCLUDE "data/maps/objects/Route13.asm" Route13_Blocks: INCBIN "maps/Route13.blk" -INCLUDE "data/mapHeaders/Route14.asm" -INCLUDE "data/mapObjects/Route14.asm" +INCLUDE "data/maps/headers/Route14.asm" +INCLUDE "data/maps/objects/Route14.asm" Route14_Blocks: INCBIN "maps/Route14.blk" -INCLUDE "data/mapHeaders/Route17.asm" -INCLUDE "data/mapObjects/Route17.asm" +INCLUDE "data/maps/headers/Route17.asm" +INCLUDE "data/maps/objects/Route17.asm" Route17_Blocks: INCBIN "maps/Route17.blk" -INCLUDE "data/mapHeaders/Route19.asm" -INCLUDE "data/mapObjects/Route19.asm" +INCLUDE "data/maps/headers/Route19.asm" +INCLUDE "data/maps/objects/Route19.asm" Route19_Blocks: INCBIN "maps/Route19.blk" -INCLUDE "data/mapHeaders/Route21.asm" -INCLUDE "data/mapObjects/Route21.asm" +INCLUDE "data/maps/headers/Route21.asm" +INCLUDE "data/maps/objects/Route21.asm" Route21_Blocks: INCBIN "maps/Route21.blk" VermilionOldRodHouse_Blocks: @@ -717,65 +717,65 @@ INCLUDE "scripts/Route17.asm" INCLUDE "scripts/Route19.asm" INCLUDE "scripts/Route21.asm" -INCLUDE "data/mapHeaders/VermilionOldRodHouse.asm" +INCLUDE "data/maps/headers/VermilionOldRodHouse.asm" INCLUDE "scripts/VermilionOldRodHouse.asm" -INCLUDE "data/mapObjects/VermilionOldRodHouse.asm" +INCLUDE "data/maps/objects/VermilionOldRodHouse.asm" -INCLUDE "data/mapHeaders/CeladonMart2F.asm" +INCLUDE "data/maps/headers/CeladonMart2F.asm" INCLUDE "scripts/CeladonMart2F.asm" -INCLUDE "data/mapObjects/CeladonMart2F.asm" +INCLUDE "data/maps/objects/CeladonMart2F.asm" CeladonMart2F_Blocks: INCBIN "maps/CeladonMart2F.blk" -INCLUDE "data/mapHeaders/FuchsiaGoodRodHouse.asm" +INCLUDE "data/maps/headers/FuchsiaGoodRodHouse.asm" INCLUDE "scripts/FuchsiaGoodRodHouse.asm" -INCLUDE "data/mapObjects/FuchsiaGoodRodHouse.asm" +INCLUDE "data/maps/objects/FuchsiaGoodRodHouse.asm" -INCLUDE "data/mapHeaders/Daycare.asm" +INCLUDE "data/maps/headers/Daycare.asm" INCLUDE "scripts/Daycare.asm" -INCLUDE "data/mapObjects/Daycare.asm" +INCLUDE "data/maps/objects/Daycare.asm" -INCLUDE "data/mapHeaders/Route12SuperRodHouse.asm" +INCLUDE "data/maps/headers/Route12SuperRodHouse.asm" INCLUDE "scripts/Route12SuperRodHouse.asm" -INCLUDE "data/mapObjects/Route12SuperRodHouse.asm" +INCLUDE "data/maps/objects/Route12SuperRodHouse.asm" -INCLUDE "data/mapHeaders/SilphCo8F.asm" +INCLUDE "data/maps/headers/SilphCo8F.asm" INCLUDE "scripts/SilphCo8F.asm" -INCLUDE "data/mapObjects/SilphCo8F.asm" +INCLUDE "data/maps/objects/SilphCo8F.asm" SilphCo8F_Blocks: INCBIN "maps/SilphCo8F.blk" SECTION "Maps 13", ROMX -INCLUDE "data/mapHeaders/Route6.asm" -INCLUDE "data/mapObjects/Route6.asm" +INCLUDE "data/maps/headers/Route6.asm" +INCLUDE "data/maps/objects/Route6.asm" Route6_Blocks: INCBIN "maps/Route6.blk" -INCLUDE "data/mapHeaders/Route8.asm" -INCLUDE "data/mapObjects/Route8.asm" +INCLUDE "data/maps/headers/Route8.asm" +INCLUDE "data/maps/objects/Route8.asm" Route8_Blocks: INCBIN "maps/Route8.blk" -INCLUDE "data/mapHeaders/Route10.asm" -INCLUDE "data/mapObjects/Route10.asm" +INCLUDE "data/maps/headers/Route10.asm" +INCLUDE "data/maps/objects/Route10.asm" Route10_Blocks: INCBIN "maps/Route10.blk" -INCLUDE "data/mapHeaders/Route11.asm" -INCLUDE "data/mapObjects/Route11.asm" +INCLUDE "data/maps/headers/Route11.asm" +INCLUDE "data/maps/objects/Route11.asm" Route11_Blocks: INCBIN "maps/Route11.blk" -INCLUDE "data/mapHeaders/Route12.asm" -INCLUDE "data/mapObjects/Route12.asm" +INCLUDE "data/maps/headers/Route12.asm" +INCLUDE "data/maps/objects/Route12.asm" Route12_Blocks: INCBIN "maps/Route12.blk" -INCLUDE "data/mapHeaders/Route15.asm" -INCLUDE "data/mapObjects/Route15.asm" +INCLUDE "data/maps/headers/Route15.asm" +INCLUDE "data/maps/objects/Route15.asm" Route15_Blocks: INCBIN "maps/Route15.blk" -INCLUDE "data/mapHeaders/Route16.asm" -INCLUDE "data/mapObjects/Route16.asm" +INCLUDE "data/maps/headers/Route16.asm" +INCLUDE "data/maps/objects/Route16.asm" Route16_Blocks: INCBIN "maps/Route16.blk" -INCLUDE "data/mapHeaders/Route18.asm" -INCLUDE "data/mapObjects/Route18.asm" +INCLUDE "data/maps/headers/Route18.asm" +INCLUDE "data/maps/objects/Route18.asm" Route18_Blocks: INCBIN "maps/Route18.blk" INCBIN "maps/UnusedPokecenterCopy.blk" @@ -792,34 +792,34 @@ INCLUDE "scripts/Route15.asm" INCLUDE "scripts/Route16.asm" INCLUDE "scripts/Route18.asm" -INCLUDE "data/mapHeaders/PokemonFanClub.asm" +INCLUDE "data/maps/headers/PokemonFanClub.asm" INCLUDE "scripts/PokemonFanClub.asm" -INCLUDE "data/mapObjects/PokemonFanClub.asm" +INCLUDE "data/maps/objects/PokemonFanClub.asm" PokemonFanClub_Blocks: INCBIN "maps/PokemonFanClub.blk" -INCLUDE "data/mapHeaders/SilphCo2F.asm" +INCLUDE "data/maps/headers/SilphCo2F.asm" INCLUDE "scripts/SilphCo2F.asm" -INCLUDE "data/mapObjects/SilphCo2F.asm" +INCLUDE "data/maps/objects/SilphCo2F.asm" SilphCo2F_Blocks: INCBIN "maps/SilphCo2F.blk" -INCLUDE "data/mapHeaders/SilphCo3F.asm" +INCLUDE "data/maps/headers/SilphCo3F.asm" INCLUDE "scripts/SilphCo3F.asm" -INCLUDE "data/mapObjects/SilphCo3F.asm" +INCLUDE "data/maps/objects/SilphCo3F.asm" SilphCo3F_Blocks: INCBIN "maps/SilphCo3F.blk" -INCLUDE "data/mapHeaders/SilphCo10F.asm" +INCLUDE "data/maps/headers/SilphCo10F.asm" INCLUDE "scripts/SilphCo10F.asm" -INCLUDE "data/mapObjects/SilphCo10F.asm" +INCLUDE "data/maps/objects/SilphCo10F.asm" SilphCo10F_Blocks: INCBIN "maps/SilphCo10F.blk" -INCLUDE "data/mapHeaders/LancesRoom.asm" +INCLUDE "data/maps/headers/LancesRoom.asm" INCLUDE "scripts/LancesRoom.asm" -INCLUDE "data/mapObjects/LancesRoom.asm" +INCLUDE "data/maps/objects/LancesRoom.asm" LancesRoom_Blocks: INCBIN "maps/LancesRoom.blk" -INCLUDE "data/mapHeaders/HallOfFame.asm" +INCLUDE "data/maps/headers/HallOfFame.asm" INCLUDE "scripts/HallOfFame.asm" -INCLUDE "data/mapObjects/HallOfFame.asm" +INCLUDE "data/maps/objects/HallOfFame.asm" HallOfFame_Blocks: INCBIN "maps/HallOfFame.blk" @@ -851,128 +851,128 @@ Route2Gate_Blocks: ViridianForestSouthGate_Blocks: ViridianForestNorthGate_Blocks: INCBIN "maps/ViridianForestNorthGate.blk" -INCLUDE "data/mapHeaders/RedsHouse2F.asm" +INCLUDE "data/maps/headers/RedsHouse2F.asm" INCLUDE "scripts/RedsHouse2F.asm" -INCLUDE "data/mapObjects/RedsHouse2F.asm" +INCLUDE "data/maps/objects/RedsHouse2F.asm" SECTION "Maps 16", ROMX -INCLUDE "data/mapHeaders/Museum1F.asm" +INCLUDE "data/maps/headers/Museum1F.asm" INCLUDE "scripts/Museum1F.asm" -INCLUDE "data/mapObjects/Museum1F.asm" +INCLUDE "data/maps/objects/Museum1F.asm" -INCLUDE "data/mapHeaders/Museum2F.asm" +INCLUDE "data/maps/headers/Museum2F.asm" INCLUDE "scripts/Museum2F.asm" -INCLUDE "data/mapObjects/Museum2F.asm" +INCLUDE "data/maps/objects/Museum2F.asm" -INCLUDE "data/mapHeaders/PewterGym.asm" +INCLUDE "data/maps/headers/PewterGym.asm" INCLUDE "scripts/PewterGym.asm" -INCLUDE "data/mapObjects/PewterGym.asm" +INCLUDE "data/maps/objects/PewterGym.asm" PewterGym_Blocks: INCBIN "maps/PewterGym.blk" -INCLUDE "data/mapHeaders/PewterPokecenter.asm" +INCLUDE "data/maps/headers/PewterPokecenter.asm" INCLUDE "scripts/PewterPokecenter.asm" -INCLUDE "data/mapObjects/PewterPokecenter.asm" +INCLUDE "data/maps/objects/PewterPokecenter.asm" -INCLUDE "data/mapHeaders/CeruleanPokecenter.asm" +INCLUDE "data/maps/headers/CeruleanPokecenter.asm" INCLUDE "scripts/CeruleanPokecenter.asm" -INCLUDE "data/mapObjects/CeruleanPokecenter.asm" +INCLUDE "data/maps/objects/CeruleanPokecenter.asm" CeruleanPokecenter_Blocks: INCBIN "maps/CeruleanPokecenter.blk" -INCLUDE "data/mapHeaders/CeruleanGym.asm" +INCLUDE "data/maps/headers/CeruleanGym.asm" INCLUDE "scripts/CeruleanGym.asm" -INCLUDE "data/mapObjects/CeruleanGym.asm" +INCLUDE "data/maps/objects/CeruleanGym.asm" CeruleanGym_Blocks: INCBIN "maps/CeruleanGym.blk" -INCLUDE "data/mapHeaders/CeruleanMart.asm" +INCLUDE "data/maps/headers/CeruleanMart.asm" INCLUDE "scripts/CeruleanMart.asm" -INCLUDE "data/mapObjects/CeruleanMart.asm" +INCLUDE "data/maps/objects/CeruleanMart.asm" -INCLUDE "data/mapHeaders/LavenderPokecenter.asm" +INCLUDE "data/maps/headers/LavenderPokecenter.asm" INCLUDE "scripts/LavenderPokecenter.asm" -INCLUDE "data/mapObjects/LavenderPokecenter.asm" +INCLUDE "data/maps/objects/LavenderPokecenter.asm" -INCLUDE "data/mapHeaders/LavenderMart.asm" +INCLUDE "data/maps/headers/LavenderMart.asm" INCLUDE "scripts/LavenderMart.asm" -INCLUDE "data/mapObjects/LavenderMart.asm" +INCLUDE "data/maps/objects/LavenderMart.asm" -INCLUDE "data/mapHeaders/VermilionPokecenter.asm" +INCLUDE "data/maps/headers/VermilionPokecenter.asm" INCLUDE "scripts/VermilionPokecenter.asm" -INCLUDE "data/mapObjects/VermilionPokecenter.asm" +INCLUDE "data/maps/objects/VermilionPokecenter.asm" -INCLUDE "data/mapHeaders/VermilionMart.asm" +INCLUDE "data/maps/headers/VermilionMart.asm" INCLUDE "scripts/VermilionMart.asm" -INCLUDE "data/mapObjects/VermilionMart.asm" +INCLUDE "data/maps/objects/VermilionMart.asm" -INCLUDE "data/mapHeaders/VermilionGym.asm" +INCLUDE "data/maps/headers/VermilionGym.asm" INCLUDE "scripts/VermilionGym.asm" -INCLUDE "data/mapObjects/VermilionGym.asm" +INCLUDE "data/maps/objects/VermilionGym.asm" VermilionGym_Blocks: INCBIN "maps/VermilionGym.blk" -INCLUDE "data/mapHeaders/CopycatsHouse2F.asm" +INCLUDE "data/maps/headers/CopycatsHouse2F.asm" INCLUDE "scripts/CopycatsHouse2F.asm" -INCLUDE "data/mapObjects/CopycatsHouse2F.asm" +INCLUDE "data/maps/objects/CopycatsHouse2F.asm" -INCLUDE "data/mapHeaders/FightingDojo.asm" +INCLUDE "data/maps/headers/FightingDojo.asm" INCLUDE "scripts/FightingDojo.asm" -INCLUDE "data/mapObjects/FightingDojo.asm" +INCLUDE "data/maps/objects/FightingDojo.asm" FightingDojo_Blocks: INCBIN "maps/FightingDojo.blk" -INCLUDE "data/mapHeaders/SaffronGym.asm" +INCLUDE "data/maps/headers/SaffronGym.asm" INCLUDE "scripts/SaffronGym.asm" -INCLUDE "data/mapObjects/SaffronGym.asm" +INCLUDE "data/maps/objects/SaffronGym.asm" SaffronGym_Blocks: INCBIN "maps/SaffronGym.blk" -INCLUDE "data/mapHeaders/SaffronMart.asm" +INCLUDE "data/maps/headers/SaffronMart.asm" INCLUDE "scripts/SaffronMart.asm" -INCLUDE "data/mapObjects/SaffronMart.asm" +INCLUDE "data/maps/objects/SaffronMart.asm" -INCLUDE "data/mapHeaders/SilphCo1F.asm" +INCLUDE "data/maps/headers/SilphCo1F.asm" INCLUDE "scripts/SilphCo1F.asm" -INCLUDE "data/mapObjects/SilphCo1F.asm" +INCLUDE "data/maps/objects/SilphCo1F.asm" SilphCo1F_Blocks: INCBIN "maps/SilphCo1F.blk" -INCLUDE "data/mapHeaders/SaffronPokecenter.asm" +INCLUDE "data/maps/headers/SaffronPokecenter.asm" INCLUDE "scripts/SaffronPokecenter.asm" -INCLUDE "data/mapObjects/SaffronPokecenter.asm" +INCLUDE "data/maps/objects/SaffronPokecenter.asm" -INCLUDE "data/mapHeaders/ViridianForestNorthGate.asm" +INCLUDE "data/maps/headers/ViridianForestNorthGate.asm" INCLUDE "scripts/ViridianForestNorthGate.asm" -INCLUDE "data/mapObjects/ViridianForestNorthGate.asm" +INCLUDE "data/maps/objects/ViridianForestNorthGate.asm" -INCLUDE "data/mapHeaders/Route2Gate.asm" +INCLUDE "data/maps/headers/Route2Gate.asm" INCLUDE "scripts/Route2Gate.asm" -INCLUDE "data/mapObjects/Route2Gate.asm" +INCLUDE "data/maps/objects/Route2Gate.asm" -INCLUDE "data/mapHeaders/ViridianForestSouthGate.asm" +INCLUDE "data/maps/headers/ViridianForestSouthGate.asm" INCLUDE "scripts/ViridianForestSouthGate.asm" -INCLUDE "data/mapObjects/ViridianForestSouthGate.asm" +INCLUDE "data/maps/objects/ViridianForestSouthGate.asm" -INCLUDE "data/mapHeaders/UndergroundPathRoute5.asm" +INCLUDE "data/maps/headers/UndergroundPathRoute5.asm" INCLUDE "scripts/UndergroundPathRoute5.asm" -INCLUDE "data/mapObjects/UndergroundPathRoute5.asm" +INCLUDE "data/maps/objects/UndergroundPathRoute5.asm" -INCLUDE "data/mapHeaders/UndergroundPathRoute6.asm" +INCLUDE "data/maps/headers/UndergroundPathRoute6.asm" INCLUDE "scripts/UndergroundPathRoute6.asm" -INCLUDE "data/mapObjects/UndergroundPathRoute6.asm" +INCLUDE "data/maps/objects/UndergroundPathRoute6.asm" -INCLUDE "data/mapHeaders/UndergroundPathRoute7.asm" +INCLUDE "data/maps/headers/UndergroundPathRoute7.asm" INCLUDE "scripts/UndergroundPathRoute7.asm" -INCLUDE "data/mapObjects/UndergroundPathRoute7.asm" +INCLUDE "data/maps/objects/UndergroundPathRoute7.asm" -INCLUDE "data/mapHeaders/UndergroundPathRoute7Copy.asm" +INCLUDE "data/maps/headers/UndergroundPathRoute7Copy.asm" INCLUDE "scripts/UndergroundPathRoute7Copy.asm" -INCLUDE "data/mapObjects/UndergroundPathRoute7Copy.asm" +INCLUDE "data/maps/objects/UndergroundPathRoute7Copy.asm" -INCLUDE "data/mapHeaders/SilphCo9F.asm" +INCLUDE "data/maps/headers/SilphCo9F.asm" INCLUDE "scripts/SilphCo9F.asm" -INCLUDE "data/mapObjects/SilphCo9F.asm" +INCLUDE "data/maps/objects/SilphCo9F.asm" SilphCo9F_Blocks: INCBIN "maps/SilphCo9F.blk" -INCLUDE "data/mapHeaders/VictoryRoad1F.asm" +INCLUDE "data/maps/headers/VictoryRoad1F.asm" INCLUDE "scripts/VictoryRoad1F.asm" -INCLUDE "data/mapObjects/VictoryRoad1F.asm" +INCLUDE "data/maps/objects/VictoryRoad1F.asm" VictoryRoad1F_Blocks: INCBIN "maps/VictoryRoad1F.blk" @@ -987,114 +987,114 @@ UndergroundPathWestEast_Blocks: INCBIN "maps/UndergroundPathWestEast.blk" SSAnneB1FRooms_Blocks: SSAnne2FRooms_Blocks: INCBIN "maps/SSAnne2FRooms.blk" -INCLUDE "data/mapHeaders/PokemonTower1F.asm" +INCLUDE "data/maps/headers/PokemonTower1F.asm" INCLUDE "scripts/PokemonTower1F.asm" -INCLUDE "data/mapObjects/PokemonTower1F.asm" +INCLUDE "data/maps/objects/PokemonTower1F.asm" PokemonTower1F_Blocks: INCBIN "maps/PokemonTower1F.blk" -INCLUDE "data/mapHeaders/PokemonTower2F.asm" +INCLUDE "data/maps/headers/PokemonTower2F.asm" INCLUDE "scripts/PokemonTower2F.asm" -INCLUDE "data/mapObjects/PokemonTower2F.asm" +INCLUDE "data/maps/objects/PokemonTower2F.asm" PokemonTower2F_Blocks: INCBIN "maps/PokemonTower2F.blk" -INCLUDE "data/mapHeaders/PokemonTower3F.asm" +INCLUDE "data/maps/headers/PokemonTower3F.asm" INCLUDE "scripts/PokemonTower3F.asm" -INCLUDE "data/mapObjects/PokemonTower3F.asm" +INCLUDE "data/maps/objects/PokemonTower3F.asm" PokemonTower3F_Blocks: INCBIN "maps/PokemonTower3F.blk" -INCLUDE "data/mapHeaders/PokemonTower4F.asm" +INCLUDE "data/maps/headers/PokemonTower4F.asm" INCLUDE "scripts/PokemonTower4F.asm" -INCLUDE "data/mapObjects/PokemonTower4F.asm" +INCLUDE "data/maps/objects/PokemonTower4F.asm" PokemonTower4F_Blocks: INCBIN "maps/PokemonTower4F.blk" -INCLUDE "data/mapHeaders/PokemonTower5F.asm" +INCLUDE "data/maps/headers/PokemonTower5F.asm" INCLUDE "scripts/PokemonTower5F.asm" -INCLUDE "data/mapObjects/PokemonTower5F.asm" +INCLUDE "data/maps/objects/PokemonTower5F.asm" PokemonTower5F_Blocks: INCBIN "maps/PokemonTower5F.blk" -INCLUDE "data/mapHeaders/PokemonTower6F.asm" +INCLUDE "data/maps/headers/PokemonTower6F.asm" INCLUDE "scripts/PokemonTower6F.asm" -INCLUDE "data/mapObjects/PokemonTower6F.asm" +INCLUDE "data/maps/objects/PokemonTower6F.asm" PokemonTower6F_Blocks: INCBIN "maps/PokemonTower6F.blk" INCBIN "maps/UnusedEmptyMap.blk" -INCLUDE "data/mapHeaders/PokemonTower7F.asm" +INCLUDE "data/maps/headers/PokemonTower7F.asm" INCLUDE "scripts/PokemonTower7F.asm" -INCLUDE "data/mapObjects/PokemonTower7F.asm" +INCLUDE "data/maps/objects/PokemonTower7F.asm" PokemonTower7F_Blocks: INCBIN "maps/PokemonTower7F.blk" -INCLUDE "data/mapHeaders/CeladonMart1F.asm" +INCLUDE "data/maps/headers/CeladonMart1F.asm" INCLUDE "scripts/CeladonMart1F.asm" -INCLUDE "data/mapObjects/CeladonMart1F.asm" +INCLUDE "data/maps/objects/CeladonMart1F.asm" CeladonMart1F_Blocks: INCBIN "maps/CeladonMart1F.blk" SECTION "Maps 18", ROMX -INCLUDE "data/mapHeaders/ViridianForest.asm" +INCLUDE "data/maps/headers/ViridianForest.asm" INCLUDE "scripts/ViridianForest.asm" -INCLUDE "data/mapObjects/ViridianForest.asm" +INCLUDE "data/maps/objects/ViridianForest.asm" -INCLUDE "data/mapHeaders/SSAnne1F.asm" +INCLUDE "data/maps/headers/SSAnne1F.asm" INCLUDE "scripts/SSAnne1F.asm" -INCLUDE "data/mapObjects/SSAnne1F.asm" +INCLUDE "data/maps/objects/SSAnne1F.asm" SSAnne1F_Blocks: INCBIN "maps/SSAnne1F.blk" -INCLUDE "data/mapHeaders/SSAnne2F.asm" +INCLUDE "data/maps/headers/SSAnne2F.asm" INCLUDE "scripts/SSAnne2F.asm" -INCLUDE "data/mapObjects/SSAnne2F.asm" +INCLUDE "data/maps/objects/SSAnne2F.asm" SSAnne2F_Blocks: INCBIN "maps/SSAnne2F.blk" -INCLUDE "data/mapHeaders/SSAnneB1F.asm" +INCLUDE "data/maps/headers/SSAnneB1F.asm" INCLUDE "scripts/SSAnneB1F.asm" -INCLUDE "data/mapObjects/SSAnneB1F.asm" +INCLUDE "data/maps/objects/SSAnneB1F.asm" SSAnneB1F_Blocks: INCBIN "maps/SSAnneB1F.blk" -INCLUDE "data/mapHeaders/SSAnneBow.asm" +INCLUDE "data/maps/headers/SSAnneBow.asm" INCLUDE "scripts/SSAnneBow.asm" -INCLUDE "data/mapObjects/SSAnneBow.asm" +INCLUDE "data/maps/objects/SSAnneBow.asm" SSAnneBow_Blocks: INCBIN "maps/SSAnneBow.blk" -INCLUDE "data/mapHeaders/SSAnneKitchen.asm" +INCLUDE "data/maps/headers/SSAnneKitchen.asm" INCLUDE "scripts/SSAnneKitchen.asm" -INCLUDE "data/mapObjects/SSAnneKitchen.asm" +INCLUDE "data/maps/objects/SSAnneKitchen.asm" SSAnneKitchen_Blocks: INCBIN "maps/SSAnneKitchen.blk" -INCLUDE "data/mapHeaders/SSAnneCaptainsRoom.asm" +INCLUDE "data/maps/headers/SSAnneCaptainsRoom.asm" INCLUDE "scripts/SSAnneCaptainsRoom.asm" -INCLUDE "data/mapObjects/SSAnneCaptainsRoom.asm" +INCLUDE "data/maps/objects/SSAnneCaptainsRoom.asm" SSAnneCaptainsRoom_Blocks: INCBIN "maps/SSAnneCaptainsRoom.blk" -INCLUDE "data/mapHeaders/SSAnne1FRooms.asm" +INCLUDE "data/maps/headers/SSAnne1FRooms.asm" INCLUDE "scripts/SSAnne1FRooms.asm" -INCLUDE "data/mapObjects/SSAnne1FRooms.asm" +INCLUDE "data/maps/objects/SSAnne1FRooms.asm" SSAnne1FRooms_Blocks: INCBIN "maps/SSAnne1FRooms.blk" -INCLUDE "data/mapHeaders/SSAnne2FRooms.asm" +INCLUDE "data/maps/headers/SSAnne2FRooms.asm" INCLUDE "scripts/SSAnne2FRooms.asm" -INCLUDE "data/mapObjects/SSAnne2FRooms.asm" +INCLUDE "data/maps/objects/SSAnne2FRooms.asm" -INCLUDE "data/mapHeaders/SSAnneB1FRooms.asm" +INCLUDE "data/maps/headers/SSAnneB1FRooms.asm" INCLUDE "scripts/SSAnneB1FRooms.asm" -INCLUDE "data/mapObjects/SSAnneB1FRooms.asm" +INCLUDE "data/maps/objects/SSAnneB1FRooms.asm" -INCLUDE "data/mapHeaders/UndergroundPathNorthSouth.asm" +INCLUDE "data/maps/headers/UndergroundPathNorthSouth.asm" INCLUDE "scripts/UndergroundPathNorthSouth.asm" -INCLUDE "data/mapObjects/UndergroundPathNorthSouth.asm" +INCLUDE "data/maps/objects/UndergroundPathNorthSouth.asm" -INCLUDE "data/mapHeaders/UndergroundPathWestEast.asm" +INCLUDE "data/maps/headers/UndergroundPathWestEast.asm" INCLUDE "scripts/UndergroundPathWestEast.asm" -INCLUDE "data/mapObjects/UndergroundPathWestEast.asm" +INCLUDE "data/maps/objects/UndergroundPathWestEast.asm" -INCLUDE "data/mapHeaders/DiglettsCave.asm" +INCLUDE "data/maps/headers/DiglettsCave.asm" INCLUDE "scripts/DiglettsCave.asm" -INCLUDE "data/mapObjects/DiglettsCave.asm" +INCLUDE "data/maps/objects/DiglettsCave.asm" DiglettsCave_Blocks: INCBIN "maps/DiglettsCave.blk" -INCLUDE "data/mapHeaders/SilphCo11F.asm" +INCLUDE "data/maps/headers/SilphCo11F.asm" INCLUDE "scripts/SilphCo11F.asm" -INCLUDE "data/mapObjects/SilphCo11F.asm" +INCLUDE "data/maps/objects/SilphCo11F.asm" SilphCo11F_Blocks: INCBIN "maps/SilphCo11F.blk" @@ -1117,108 +1117,108 @@ SECTION "Maps 20", ROMX INCLUDE "scripts/CeruleanCity_2.asm" -INCLUDE "data/mapHeaders/ViridianGym.asm" +INCLUDE "data/maps/headers/ViridianGym.asm" INCLUDE "scripts/ViridianGym.asm" -INCLUDE "data/mapObjects/ViridianGym.asm" +INCLUDE "data/maps/objects/ViridianGym.asm" ViridianGym_Blocks: INCBIN "maps/ViridianGym.blk" -INCLUDE "data/mapHeaders/PewterMart.asm" +INCLUDE "data/maps/headers/PewterMart.asm" INCLUDE "scripts/PewterMart.asm" -INCLUDE "data/mapObjects/PewterMart.asm" +INCLUDE "data/maps/objects/PewterMart.asm" -INCLUDE "data/mapHeaders/CeruleanCave1F.asm" +INCLUDE "data/maps/headers/CeruleanCave1F.asm" INCLUDE "scripts/CeruleanCave1F.asm" -INCLUDE "data/mapObjects/CeruleanCave1F.asm" +INCLUDE "data/maps/objects/CeruleanCave1F.asm" CeruleanCave1F_Blocks: INCBIN "maps/CeruleanCave1F.blk" -INCLUDE "data/mapHeaders/CeruleanBadgeHouse.asm" +INCLUDE "data/maps/headers/CeruleanBadgeHouse.asm" INCLUDE "scripts/CeruleanBadgeHouse.asm" -INCLUDE "data/mapObjects/CeruleanBadgeHouse.asm" +INCLUDE "data/maps/objects/CeruleanBadgeHouse.asm" SECTION "Maps 21", ROMX -INCLUDE "data/mapHeaders/FuchsiaBillsGrandpasHouse.asm" +INCLUDE "data/maps/headers/FuchsiaBillsGrandpasHouse.asm" INCLUDE "scripts/FuchsiaBillsGrandpasHouse.asm" -INCLUDE "data/mapObjects/FuchsiaBillsGrandpasHouse.asm" +INCLUDE "data/maps/objects/FuchsiaBillsGrandpasHouse.asm" -INCLUDE "data/mapHeaders/FuchsiaPokecenter.asm" +INCLUDE "data/maps/headers/FuchsiaPokecenter.asm" INCLUDE "scripts/FuchsiaPokecenter.asm" -INCLUDE "data/mapObjects/FuchsiaPokecenter.asm" +INCLUDE "data/maps/objects/FuchsiaPokecenter.asm" -INCLUDE "data/mapHeaders/WardensHouse.asm" +INCLUDE "data/maps/headers/WardensHouse.asm" INCLUDE "scripts/WardensHouse.asm" -INCLUDE "data/mapObjects/WardensHouse.asm" +INCLUDE "data/maps/objects/WardensHouse.asm" WardensHouse_Blocks: INCBIN "maps/WardensHouse.blk" -INCLUDE "data/mapHeaders/SafariZoneGate.asm" +INCLUDE "data/maps/headers/SafariZoneGate.asm" INCLUDE "scripts/SafariZoneGate.asm" -INCLUDE "data/mapObjects/SafariZoneGate.asm" +INCLUDE "data/maps/objects/SafariZoneGate.asm" SafariZoneGate_Blocks: INCBIN "maps/SafariZoneGate.blk" -INCLUDE "data/mapHeaders/FuchsiaGym.asm" +INCLUDE "data/maps/headers/FuchsiaGym.asm" INCLUDE "scripts/FuchsiaGym.asm" -INCLUDE "data/mapObjects/FuchsiaGym.asm" +INCLUDE "data/maps/objects/FuchsiaGym.asm" FuchsiaGym_Blocks: INCBIN "maps/FuchsiaGym.blk" -INCLUDE "data/mapHeaders/FuchsiaMeetingRoom.asm" +INCLUDE "data/maps/headers/FuchsiaMeetingRoom.asm" INCLUDE "scripts/FuchsiaMeetingRoom.asm" -INCLUDE "data/mapObjects/FuchsiaMeetingRoom.asm" +INCLUDE "data/maps/objects/FuchsiaMeetingRoom.asm" FuchsiaMeetingRoom_Blocks: INCBIN "maps/FuchsiaMeetingRoom.blk" -INCLUDE "data/mapHeaders/CinnabarGym.asm" +INCLUDE "data/maps/headers/CinnabarGym.asm" INCLUDE "scripts/CinnabarGym.asm" -INCLUDE "data/mapObjects/CinnabarGym.asm" +INCLUDE "data/maps/objects/CinnabarGym.asm" CinnabarGym_Blocks: INCBIN "maps/CinnabarGym.blk" -INCLUDE "data/mapHeaders/CinnabarLab.asm" +INCLUDE "data/maps/headers/CinnabarLab.asm" INCLUDE "scripts/CinnabarLab.asm" -INCLUDE "data/mapObjects/CinnabarLab.asm" +INCLUDE "data/maps/objects/CinnabarLab.asm" CinnabarLab_Blocks: INCBIN "maps/CinnabarLab.blk" -INCLUDE "data/mapHeaders/CinnabarLabTradeRoom.asm" +INCLUDE "data/maps/headers/CinnabarLabTradeRoom.asm" INCLUDE "scripts/CinnabarLabTradeRoom.asm" -INCLUDE "data/mapObjects/CinnabarLabTradeRoom.asm" +INCLUDE "data/maps/objects/CinnabarLabTradeRoom.asm" CinnabarLabTradeRoom_Blocks: INCBIN "maps/CinnabarLabTradeRoom.blk" -INCLUDE "data/mapHeaders/CinnabarLabMetronomeRoom.asm" +INCLUDE "data/maps/headers/CinnabarLabMetronomeRoom.asm" INCLUDE "scripts/CinnabarLabMetronomeRoom.asm" -INCLUDE "data/mapObjects/CinnabarLabMetronomeRoom.asm" +INCLUDE "data/maps/objects/CinnabarLabMetronomeRoom.asm" CinnabarLabMetronomeRoom_Blocks: INCBIN "maps/CinnabarLabMetronomeRoom.blk" -INCLUDE "data/mapHeaders/CinnabarLabFossilRoom.asm" +INCLUDE "data/maps/headers/CinnabarLabFossilRoom.asm" INCLUDE "scripts/CinnabarLabFossilRoom.asm" -INCLUDE "data/mapObjects/CinnabarLabFossilRoom.asm" +INCLUDE "data/maps/objects/CinnabarLabFossilRoom.asm" CinnabarLabFossilRoom_Blocks: INCBIN "maps/CinnabarLabFossilRoom.blk" -INCLUDE "data/mapHeaders/CinnabarPokecenter.asm" +INCLUDE "data/maps/headers/CinnabarPokecenter.asm" INCLUDE "scripts/CinnabarPokecenter.asm" -INCLUDE "data/mapObjects/CinnabarPokecenter.asm" +INCLUDE "data/maps/objects/CinnabarPokecenter.asm" -INCLUDE "data/mapHeaders/CinnabarMart.asm" +INCLUDE "data/maps/headers/CinnabarMart.asm" INCLUDE "scripts/CinnabarMart.asm" -INCLUDE "data/mapObjects/CinnabarMart.asm" +INCLUDE "data/maps/objects/CinnabarMart.asm" -INCLUDE "data/mapHeaders/CopycatsHouse1F.asm" +INCLUDE "data/maps/headers/CopycatsHouse1F.asm" INCLUDE "scripts/CopycatsHouse1F.asm" -INCLUDE "data/mapObjects/CopycatsHouse1F.asm" +INCLUDE "data/maps/objects/CopycatsHouse1F.asm" -INCLUDE "data/mapHeaders/ChampionsRoom.asm" +INCLUDE "data/maps/headers/ChampionsRoom.asm" INCLUDE "scripts/ChampionsRoom.asm" -INCLUDE "data/mapObjects/ChampionsRoom.asm" +INCLUDE "data/maps/objects/ChampionsRoom.asm" ChampionsRoom_Blocks: INCBIN "maps/ChampionsRoom.blk" -INCLUDE "data/mapHeaders/LoreleisRoom.asm" +INCLUDE "data/maps/headers/LoreleisRoom.asm" INCLUDE "scripts/LoreleisRoom.asm" -INCLUDE "data/mapObjects/LoreleisRoom.asm" +INCLUDE "data/maps/objects/LoreleisRoom.asm" LoreleisRoom_Blocks: INCBIN "maps/LoreleisRoom.blk" -INCLUDE "data/mapHeaders/BrunosRoom.asm" +INCLUDE "data/maps/headers/BrunosRoom.asm" INCLUDE "scripts/BrunosRoom.asm" -INCLUDE "data/mapObjects/BrunosRoom.asm" +INCLUDE "data/maps/objects/BrunosRoom.asm" BrunosRoom_Blocks: INCBIN "maps/BrunosRoom.blk" -INCLUDE "data/mapHeaders/AgathasRoom.asm" +INCLUDE "data/maps/headers/AgathasRoom.asm" INCLUDE "scripts/AgathasRoom.asm" -INCLUDE "data/mapObjects/AgathasRoom.asm" +INCLUDE "data/maps/objects/AgathasRoom.asm" AgathasRoom_Blocks: INCBIN "maps/AgathasRoom.blk" diff --git a/rgbdscheck.asm b/rgbdscheck.asm new file mode 100644 index 00000000..d10f8d50 --- /dev/null +++ b/rgbdscheck.asm @@ -0,0 +1,12 @@ +; pokered requires rgbds 0.4.0 or newer. +MAJOR EQU 0 +MINOR EQU 4 +PATCH EQU 0 + +if !DEF(__RGBDS_MAJOR__) || !DEF(__RGBDS_MINOR__) || !DEF(__RGBDS_PATCH__) + fail "pokered requires rgbds {MAJOR}.{MINOR}.{PATCH} or newer." +elif (__RGBDS_MAJOR__ < MAJOR) || \ + (__RGBDS_MAJOR__ == MAJOR && __RGBDS_MINOR__ < MINOR) || \ + (__RGBDS_MAJOR__ == MAJOR && __RGBDS_MINOR__ == MINOR && __RGBDS_PATCH__ < PATCH) + fail "pokered requires rgbds {MAJOR}.{MINOR}.{PATCH} or newer." +endc diff --git a/scripts/BikeShop.asm b/scripts/BikeShop.asm index 71149759..2661ca70 100755 --- a/scripts/BikeShop.asm +++ b/scripts/BikeShop.asm @@ -23,7 +23,7 @@ BikeShopText1: call GiveItem jr nc, .BagFull ld a, BIKE_VOUCHER - ld [$ffdb], a + ld [hItemToRemoveID], a callba RemoveItemByID SetEvent EVENT_GOT_BICYCLE ld hl, BikeShopText_1d824 diff --git a/scripts/BillsHouse.asm b/scripts/BillsHouse.asm index 74efc960..395694a3 100755 --- a/scripts/BillsHouse.asm +++ b/scripts/BillsHouse.asm @@ -23,7 +23,7 @@ BillsHouseScript1: ld de, MovementData_1e7a0 .notDown ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $2 ld [wBillsHouseCurScript], a @@ -66,13 +66,13 @@ BillsHouseScript3: ld a, $2 ld [wSpriteIndex], a ld a, $c - ld [$ffeb], a + ld [hSpriteScreenYCoord], a ld a, $40 - ld [$ffec], a + ld [hSpriteScreenXCoord], a ld a, $6 - ld [$ffed], a + ld [hSpriteMapYCoord], a ld a, $5 - ld [$ffee], a + ld [hSpriteMapXCoord], a call SetSpritePosition1 ld a, HS_BILL_1 ld [wMissableObjectIndex], a @@ -80,7 +80,7 @@ BillsHouseScript3: ld c, 8 call DelayFrames ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, MovementData_1e807 call MoveSprite ld a, $4 diff --git a/scripts/CeladonGym.asm b/scripts/CeladonGym.asm index 50c02196..e2665555 100755 --- a/scripts/CeladonGym.asm +++ b/scripts/CeladonGym.asm @@ -170,7 +170,7 @@ CeladonGymText1: ld hl, CeladonGymText_48a63 ld de, CeladonGymText_48a63 call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/CeladonMart3F.asm b/scripts/CeladonMart3F.asm index e7e216d9..c8d8b509 100755 --- a/scripts/CeladonMart3F.asm +++ b/scripts/CeladonMart3F.asm @@ -74,7 +74,7 @@ CeladonMart3Text5: TX_FAR _CeladonMart3Text5 db "@" -CeladonMart3Text12 +CeladonMart3Text12: CeladonMart3Text10: CeladonMart3Text8: CeladonMart3Text6: diff --git a/scripts/CeruleanCaveB1F.asm b/scripts/CeruleanCaveB1F.asm index a570ab18..9017bec3 100755 --- a/scripts/CeruleanCaveB1F.asm +++ b/scripts/CeruleanCaveB1F.asm @@ -7,7 +7,7 @@ CeruleanCaveB1F_Script: ld [wCeruleanCaveB1FCurScript], a ret -CeruleanCaveB1F_ScriptPointers +CeruleanCaveB1F_ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle diff --git a/scripts/CeruleanCity.asm b/scripts/CeruleanCity.asm index 117ec4da..61dd03f6 100755 --- a/scripts/CeruleanCity.asm +++ b/scripts/CeruleanCity.asm @@ -64,7 +64,7 @@ CeruleanCityScript0: ld a, [wWalkBikeSurfState] and a jr z, .asm_19512 - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound .asm_19512 @@ -79,9 +79,9 @@ CeruleanCityScript0: cp $14 jr z, .asm_19535 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, $5 - ld [H_SPRITEDATAOFFSET], a + ld [hSpriteDataOffset], a call GetPointerWithinSpriteStateData2 ld [hl], $19 .asm_19535 @@ -90,7 +90,7 @@ CeruleanCityScript0: predef ShowObject ld de, CeruleanCityMovement1 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $1 ld [wCeruleanCityCurScript], a @@ -114,7 +114,7 @@ CeruleanCityMovement1: CeruleanCityScript_1955d: ld a, 1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a jp SetSpriteFacingDirectionAndDelay ; face object @@ -171,12 +171,12 @@ CeruleanCityScript2: ld a, $1 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, [wXCoord] cp $14 @@ -187,7 +187,7 @@ CeruleanCityScript2: ld de, CeruleanCityMovement3 .asm_195f3 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $3 ld [wCeruleanCityCurScript], a diff --git a/scripts/CeruleanGym.asm b/scripts/CeruleanGym.asm index c4aaf7de..a3a8f18d 100755 --- a/scripts/CeruleanGym.asm +++ b/scripts/CeruleanGym.asm @@ -121,7 +121,7 @@ CeruleanGymText1: ld hl, CeruleanGymText_5c7d8 ld de, CeruleanGymText_5c7d8 call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/ChampionsRoom.asm b/scripts/ChampionsRoom.asm index e3cdc6d2..506dc525 100755 --- a/scripts/ChampionsRoom.asm +++ b/scripts/ChampionsRoom.asm @@ -101,7 +101,7 @@ GaryScript3: ld [hSpriteIndexOrTextID], a call GaryScript_760c8 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, $4 ld [wChampionsRoomCurScript], a @@ -113,11 +113,11 @@ GaryScript4: ld [hSpriteIndexOrTextID], a call GaryScript_760c8 ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld de, OakEntranceAfterVictoryMovement ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, HS_CHAMPIONS_ROOM_OAK ld [wMissableObjectIndex], a @@ -141,12 +141,12 @@ GaryScript5: ld a, PLAYER_DIR_LEFT ld [wPlayerMovingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_LEFT ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -159,7 +159,7 @@ GaryScript5: GaryScript6: ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_RIGHT ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -172,7 +172,7 @@ GaryScript6: GaryScript7: ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -181,7 +181,7 @@ GaryScript7: call GaryScript_760c8 ld de, OakExitGaryRoomMovement ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $8 ld [wChampionsRoomCurScript], a diff --git a/scripts/CinnabarGym.asm b/scripts/CinnabarGym.asm index f8be5823..08bbbe8b 100755 --- a/scripts/CinnabarGym.asm +++ b/scripts/CinnabarGym.asm @@ -50,7 +50,7 @@ CinnabarGymScript0: ld a, [wOpponentAfterWrongAnswer] and a ret z - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a cp $4 jr nz, .asm_757c3 ld a, PLAYER_DIR_DOWN @@ -96,7 +96,7 @@ CinnabarGymScript2: cp $ff jp z, CinnabarGymScript_75792 ld a, [wTrainerHeaderFlagBit] - ld [$ffdb], a + ld [hGymGateIndex], a AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 ld c, a ld b, FLAG_TEST @@ -111,7 +111,7 @@ CinnabarGymScript2: call WaitForSoundToFinish .asm_7581b ld a, [wTrainerHeaderFlagBit] - ld [$ffdb], a + ld [hGymGateIndex], a AdjustEventBit EVENT_BEAT_CINNABAR_GYM_TRAINER_0, 2 ld c, a ld b, FLAG_SET diff --git a/scripts/CopycatsHouse2F.asm b/scripts/CopycatsHouse2F.asm index b43234c3..64612535 100755 --- a/scripts/CopycatsHouse2F.asm +++ b/scripts/CopycatsHouse2F.asm @@ -29,7 +29,7 @@ CopycatsHouse2FText1: ld hl, ReceivedTM31Text call PrintText ld a, POKE_DOLL - ld [$ffdb], a + ld [hItemToRemoveID], a callba RemoveItemByID SetEvent EVENT_GOT_TM31 jr .asm_62ecd diff --git a/scripts/FightingDojo.asm b/scripts/FightingDojo.asm index fc691dba..acedbbfe 100755 --- a/scripts/FightingDojo.asm +++ b/scripts/FightingDojo.asm @@ -43,7 +43,7 @@ FightingDojoScript1: ld a, PLAYER_DIR_RIGHT ld [wPlayerMovingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_LEFT ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -62,7 +62,7 @@ FightingDojoScript3: ld a, PLAYER_DIR_RIGHT ld [wPlayerMovingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_LEFT ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay diff --git a/scripts/FuchsiaGym.asm b/scripts/FuchsiaGym.asm index 15f016af..d0917106 100755 --- a/scripts/FuchsiaGym.asm +++ b/scripts/FuchsiaGym.asm @@ -161,7 +161,7 @@ FuchsiaGymText1: ld hl, KogaAfterBattleText ld de, KogaAfterBattleText call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/GameCorner.asm b/scripts/GameCorner.asm index 265508e0..57f18ac7 100755 --- a/scripts/GameCorner.asm +++ b/scripts/GameCorner.asm @@ -60,7 +60,7 @@ CeladonGameCornerScript1: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $b - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld de, MovementData_48c5a ld a, [wYCoord] @@ -75,7 +75,7 @@ CeladonGameCornerScript1: ld de, MovementData_48c63 .asm_48c4d ld a, $b - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $2 ld [wGameCornerCurScript], a @@ -418,7 +418,7 @@ CeladonGameCornerText11: ld hl, CeladonGameCornerText_48ed3 ld de, CeladonGameCornerText_48ed3 call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/HallOfFame.asm b/scripts/HallOfFame.asm index af424089..14b4f15e 100755 --- a/scripts/HallOfFame.asm +++ b/scripts/HallOfFame.asm @@ -79,7 +79,7 @@ HallofFameRoomScript1: ld a, PLAYER_DIR_RIGHT ld [wPlayerMovingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, SPRITE_FACING_LEFT ld [hSpriteFacingDirection], a diff --git a/scripts/MtMoonB2F.asm b/scripts/MtMoonB2F.asm index 863d9d22..3a9ec99f 100755 --- a/scripts/MtMoonB2F.asm +++ b/scripts/MtMoonB2F.asm @@ -88,7 +88,7 @@ MtMoon3Script3: MtMoon3Script4: ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld hl, CoordsData_49dea call ArePlayerCoordsInArray @@ -102,7 +102,7 @@ MtMoon3Script4: ld de, MovementData_49df8 .asm_49dda ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $5 ld [wMtMoonB2FCurScript], a @@ -222,7 +222,7 @@ MtMoon3Text1: ld hl, MtMoon3Text_49f8a ld de, MtMoon3Text_49f8a call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/OaksLab.asm b/scripts/OaksLab.asm index 11abdf65..b3347849 100755 --- a/scripts/OaksLab.asm +++ b/scripts/OaksLab.asm @@ -48,7 +48,7 @@ OaksLabScript0: OaksLabScript1: ld a, $8 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, OakEntryMovement call MoveSprite @@ -86,12 +86,12 @@ OaksLabScript3: ld [wSimulatedJoypadStatesIndex], a call StartSimulatingJoypadStates ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $5 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -111,7 +111,7 @@ OaksLabScript4: SetEvent EVENT_FOLLOWED_OAK_INTO_LAB SetEvent EVENT_FOLLOWED_OAK_INTO_LAB_2 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -155,12 +155,12 @@ OaksLabScript6: cp $6 ret nz ld a, $5 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -254,9 +254,9 @@ OaksLabScript8: jr nz, .moveBlue push hl ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, $4 - ld [H_SPRITEDATAOFFSET], a + ld [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 push hl ld [hl], $4c @@ -281,7 +281,7 @@ OaksLabScript8: .moveBlue ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $9 @@ -295,7 +295,7 @@ OaksLabScript9: ld a, $fc ld [wJoyIgnore], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -324,7 +324,7 @@ OaksLabScript9: ld [wd11e], a call GetMonName ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -344,7 +344,7 @@ OaksLabScript10: cp $6 ret nz ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -368,7 +368,7 @@ OaksLabScript10: predef FindPathToPlayer ld de, wNPCMovementDirections2 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $b @@ -424,7 +424,7 @@ OaksLabScript12: ld [wSpriteIndex], a call SetSpritePosition1 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -443,7 +443,7 @@ OaksLabScript13: call DisplayTextID callba Music_RivalAlternateStart ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, .RivalExitMovement call MoveSprite ld a, [wXCoord] @@ -510,7 +510,7 @@ OaksLabScript15: xor a ld [hJoyHeld], a call EnableAutoTextBoxDrawing - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart @@ -530,7 +530,7 @@ OaksLabScript15: call FillMemory ld [hl], $ff ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, wNPCMovementDirections2 call MoveSprite @@ -540,12 +540,12 @@ OaksLabScript15: OaksLabScript_1cefd: ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $8 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a jp SetSpriteFacingDirectionAndDelay @@ -588,7 +588,7 @@ OaksLabScript16: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_RIGHT ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -611,12 +611,12 @@ OaksLabScript16: xor a ; NPC_MOVEMENT_DOWN call FillMemory ld [hl], $ff - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, wNPCMovementDirections2 call MoveSprite @@ -652,7 +652,7 @@ OaksLabScript18: OaksLabScript_RemoveParcel: ld hl, wBagItems - ld bc, $0000 + ld bc, 0 .loop ld a, [hli] cp $ff @@ -672,9 +672,9 @@ OaksLabScript_RemoveParcel: OaksLabScript_1d02b: ld a, $7c - ld [$ffeb], a + ld [hSpriteScreenYCoord], a ld a, $8 - ld [$ffee], a + ld [hSpriteMapXCoord], a ld a, [wYCoord] cp $3 jr nz, .asm_1d045 @@ -703,9 +703,9 @@ OaksLabScript_1d02b: .asm_1d066 ld a, $20 .asm_1d068 - ld [$ffec], a + ld [hSpriteScreenXCoord], a ld a, b - ld [$ffed], a + ld [hSpriteMapYCoord], a ld a, $1 ld [wSpriteIndex], a call SetSpritePosition1 @@ -840,15 +840,15 @@ OaksLabText39: OaksLabScript_1d157: ld a, $5 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, $9 - ld [H_SPRITEDATAOFFSET], a + ld [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 ld [hl], SPRITE_FACING_DOWN ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, $9 - ld [H_SPRITEDATAOFFSET], a + ld [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 ld [hl], SPRITE_FACING_RIGHT ld hl, wd730 @@ -947,9 +947,9 @@ OaksLabReceivedMonText: OaksLabScript_1d22d: ld a, $5 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, $9 - ld [H_SPRITEDATAOFFSET], a + ld [hSpriteDataOffset], a call GetPointerWithinSpriteStateData1 ld [hl], $0 ld hl, OaksLabLastMonText diff --git a/scripts/PalletTown.asm b/scripts/PalletTown.asm index 5ad7d40f..ff500ca0 100755 --- a/scripts/PalletTown.asm +++ b/scripts/PalletTown.asm @@ -27,8 +27,8 @@ PalletTownScript0: ld [hJoyHeld], a ld a, PLAYER_DIR_DOWN ld [wPlayerMovingDirection], a - ld a, $FF - call PlaySound ; stop music + ld a, SFX_STOP_ALL_MUSIC + call PlaySound ld a, BANK(Music_MeetProfOak) ld c, a ld a, MUSIC_MEET_PROF_OAK ; “oak appears” music @@ -61,7 +61,7 @@ PalletTownScript1: PalletTownScript2: ld a, 1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -79,7 +79,7 @@ PalletTownScript2: predef FindPathToPlayer ; load Oak’s movement into wNPCMovementDirections2 ld de, wNPCMovementDirections2 ld a, 1 ; oak - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $FF ld [wJoyIgnore], a @@ -111,7 +111,7 @@ PalletTownScript3: ld [wNPCMovementScriptFunctionNum], a ld a, 1 ld [wNPCMovementScriptPointerTableNum], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [wNPCMovementScriptBank], a ; trigger the next script diff --git a/scripts/PewterCity.asm b/scripts/PewterCity.asm index 18296675..86037c13 100755 --- a/scripts/PewterCity.asm +++ b/scripts/PewterCity.asm @@ -44,7 +44,7 @@ PewterCityScript1: and a ret nz ld a, $3 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -58,18 +58,18 @@ PewterCityScript1: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $3c - ld [$ffeb], a + ld [hSpriteScreenYCoord], a ld a, $30 - ld [$ffec], a + ld [hSpriteScreenXCoord], a ld a, $c - ld [$ffed], a + ld [hSpriteMapYCoord], a ld a, $11 - ld [$ffee], a + ld [hSpriteMapXCoord], a ld a, $3 ld [wSpriteIndex], a call SetSpritePosition1 ld a, $3 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, MovementData_PewterMuseumGuyExit call MoveSprite ld a, $2 @@ -112,7 +112,7 @@ PewterCityScript4: and a ret nz ld a, $5 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_LEFT ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -126,18 +126,18 @@ PewterCityScript4: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $3c - ld [$ffeb], a + ld [hSpriteScreenYCoord], a ld a, $40 - ld [$ffec], a + ld [hSpriteScreenXCoord], a ld a, $16 - ld [$ffed], a + ld [hSpriteMapYCoord], a ld a, $10 - ld [$ffee], a + ld [hSpriteMapXCoord], a ld a, $5 ld [wSpriteIndex], a call SetSpritePosition1 ld a, $5 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld de, MovementData_PewterGymGuyExit call MoveSprite ld a, $5 @@ -220,7 +220,7 @@ PewterCityText3: ld [wNPCMovementScriptFunctionNum], a ld a, $2 ld [wNPCMovementScriptPointerTableNum], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [wNPCMovementScriptBank], a ld a, $3 ld [wSpriteIndex], a @@ -284,7 +284,7 @@ PewterCityText5: ld [wNPCMovementScriptFunctionNum], a ld a, $3 ld [wNPCMovementScriptPointerTableNum], a - ld a, [H_LOADEDROMBANK] + ld a, [hLoadedROMBank] ld [wNPCMovementScriptBank], a ld a, $5 ld [wSpriteIndex], a diff --git a/scripts/PewterGym.asm b/scripts/PewterGym.asm index cf02b141..643fe41c 100755 --- a/scripts/PewterGym.asm +++ b/scripts/PewterGym.asm @@ -120,7 +120,7 @@ PewterGymText1: ld hl, PewterGymText_5c4bc ld de, PewterGymText_5c4bc call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/PewterPokecenter.asm b/scripts/PewterPokecenter.asm index 22d2fb6b..be933fee 100755 --- a/scripts/PewterPokecenter.asm +++ b/scripts/PewterPokecenter.asm @@ -21,7 +21,8 @@ PewterJigglypuffText: ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, .Text call PrintText - StopAllMusic + ld a, SFX_STOP_ALL_MUSIC + call PlaySound ld c, 32 call DelayFrames ld hl, JigglypuffFacingDirections diff --git a/scripts/PokemonTower2F.asm b/scripts/PokemonTower2F.asm index 81f4c0b3..cc00d938 100755 --- a/scripts/PokemonTower2F.asm +++ b/scripts/PokemonTower2F.asm @@ -22,7 +22,7 @@ PokemonTower2Script0: ld hl, CoordsData_6055e call ArePlayerCoordsInArray ret nc - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld c, BANK(Music_MeetRival) @@ -41,7 +41,7 @@ PokemonTower2Script0: .asm_60544 ld [wPlayerMovingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, b ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay @@ -74,9 +74,9 @@ PokemonTower2Script1: ld de, MovementData_605a9 .asm_60589 ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart diff --git a/scripts/PokemonTower7F.asm b/scripts/PokemonTower7F.asm index 4b2a1827..fa2ca9bc 100755 --- a/scripts/PokemonTower7F.asm +++ b/scripts/PokemonTower7F.asm @@ -107,7 +107,7 @@ PokemonTower7Script_60db6: ld d, [hl] ld e, a ld a, [wSpriteIndex] - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a jp MoveSprite .asm_60dde inc hl diff --git a/scripts/PowerPlant.asm b/scripts/PowerPlant.asm index 35b4893f..f720b6f8 100755 --- a/scripts/PowerPlant.asm +++ b/scripts/PowerPlant.asm @@ -7,7 +7,7 @@ PowerPlant_Script: ld [wPowerPlantCurScript], a ret -PowerPlant_ScriptPointers +PowerPlant_ScriptPointers: dw CheckFightingMapTrainers dw DisplayEnemyTrainerTextAndStartBattle dw EndTrainerBattle diff --git a/scripts/RocketHideoutB4F.asm b/scripts/RocketHideoutB4F.asm index b2ce21f4..71fe7d1c 100755 --- a/scripts/RocketHideoutB4F.asm +++ b/scripts/RocketHideoutB4F.asm @@ -125,7 +125,7 @@ RocketHideout4Text1: ld hl, RocketHideout4Text_4557f ld de, RocketHideout4Text_4557f call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/Route22.asm b/scripts/Route22.asm index 7226e509..8fde2d42 100755 --- a/scripts/Route22.asm +++ b/scripts/Route22.asm @@ -88,7 +88,7 @@ Route22Script0: ld a, [wWalkBikeSurfState] and a jr z, .asm_50f4e - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound .asm_50f4e @@ -96,7 +96,7 @@ Route22Script0: ld a, MUSIC_MEET_RIVAL call PlayMusic ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call Route22MoveRivalSprite ld a, $1 ld [wRoute22CurScript], a @@ -118,7 +118,7 @@ Route22Script1: .asm_50f7a ld [hSpriteFacingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteFacingDirectionAndDelay xor a ld [wJoyIgnore], a @@ -159,7 +159,7 @@ Route22Script2: .done ld [hSpriteFacingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteFacingDirectionAndDelay ld a, $f0 ld [wJoyIgnore], a @@ -167,7 +167,7 @@ Route22Script2: ld a, $1 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart @@ -191,7 +191,7 @@ Route22Script_5100d: ld de, Route22RivalExitMovementData2 Route22MoveRival1: ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a jp MoveSprite Route22RivalExitMovementData1: @@ -241,16 +241,16 @@ Route22Script_5104e: ld a, [wWalkBikeSurfState] and a jr z, .skipYVisibilityTesta - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound .skipYVisibilityTesta - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateTempo ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call Route22MoveRivalSprite ld a, $4 ld [wRoute22CurScript], a @@ -261,7 +261,7 @@ Route22Script4: bit 0, a ret nz ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, [wcf0d] cp $1 jr nz, .asm_510a1 @@ -305,7 +305,7 @@ Route22Script5: cp $ff jp z, Route22Script_50ece ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, [wcf0d] cp $1 jr nz, .asm_510fb @@ -326,7 +326,7 @@ Route22Script5: ld a, $2 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStartAndTempo @@ -350,7 +350,7 @@ Route22Script_51142: ld de, MovementData_5114d Route22MoveRival2: ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a jp MoveSprite MovementData_5114c: diff --git a/scripts/Route5Gate.asm b/scripts/Route5Gate.asm index bc763dfd..e5d86b97 100755 --- a/scripts/Route5Gate.asm +++ b/scripts/Route5Gate.asm @@ -27,7 +27,7 @@ Route5GateScript0: xor a ld [hJoyHeld], a callba RemoveGuardDrink - ld a, [$ffdb] + ld a, [hItemToRemoveID] and a jr nz, .asm_1df82 ld a, $2 @@ -74,7 +74,7 @@ Route5GateText1: bit 6, a jr nz, .asm_88856 callba RemoveGuardDrink - ld a, [$ffdb] + ld a, [hItemToRemoveID] and a jr nz, .asm_768a2 ld hl, Route5GateText2 diff --git a/scripts/Route6Gate.asm b/scripts/Route6Gate.asm index 348f61ac..6b00eddb 100755 --- a/scripts/Route6Gate.asm +++ b/scripts/Route6Gate.asm @@ -21,7 +21,7 @@ Route6GateScript0: xor a ld [hJoyHeld], a callba RemoveGuardDrink - ld a, [$ffdb] + ld a, [hItemToRemoveID] and a jr nz, .asm_1e080 ld a, $2 diff --git a/scripts/Route7Gate.asm b/scripts/Route7Gate.asm index 724172c5..06c5c91b 100755 --- a/scripts/Route7Gate.asm +++ b/scripts/Route7Gate.asm @@ -33,7 +33,7 @@ Route7GateScript0: xor a ld [hJoyHeld], a callba RemoveGuardDrink - ld a, [$ffdb] + ld a, [hItemToRemoveID] and a jr nz, .asm_1e15a ld a, $2 diff --git a/scripts/Route8Gate.asm b/scripts/Route8Gate.asm index 8ecea68e..80b8b9a4 100755 --- a/scripts/Route8Gate.asm +++ b/scripts/Route8Gate.asm @@ -32,7 +32,7 @@ Route8GateScript0: xor a ld [hJoyHeld], a callba RemoveGuardDrink - ld a, [$ffdb] + ld a, [hItemToRemoveID] and a jr nz, .asm_1e220 ld a, $2 diff --git a/scripts/SSAnne2F.asm b/scripts/SSAnne2F.asm index ba900748..face08d8 100755 --- a/scripts/SSAnne2F.asm +++ b/scripts/SSAnne2F.asm @@ -24,26 +24,26 @@ SSAnne2Script0: ld hl, CoordsData_61411 call ArePlayerCoordsInArray ret nc - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld c, BANK(Music_MeetRival) ld a, MUSIC_MEET_RIVAL call PlayMusic ld a, [wCoordIndex] - ld [$ffdb], a + ld [hSavedCoordIndex], a ld a, HS_SS_ANNE_2F_RIVAL ld [wMissableObjectIndex], a predef ShowObject call Delay3 ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF xor a ld [hJoyHeld], a ld a, $f0 ld [wJoyIgnore], a - ld a, [$ffdb] + ld a, [hSavedCoordIndex] cp $2 jr nz, .asm_61400 ld de, MovementData_6140c @@ -83,7 +83,7 @@ SSAnne2Script_61416: .asm_61427 ld [hSpriteFacingDirection], a ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a jp SetSpriteFacingDirectionAndDelay SSAnne2Script1: @@ -132,7 +132,7 @@ SSAnne2Script2: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, [wXCoord] cp $25 @@ -143,9 +143,9 @@ SSAnne2Script2: ld de, MovementData_614b7 .asm_6149a ld a, $2 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart diff --git a/scripts/SSAnneCaptainsRoom.asm b/scripts/SSAnneCaptainsRoom.asm index de0272e4..6078ccf0 100755 --- a/scripts/SSAnneCaptainsRoom.asm +++ b/scripts/SSAnneCaptainsRoom.asm @@ -48,10 +48,10 @@ SSAnne7RubText: cp BANK(Audio3_UpdateMusic) ld [wAudioSavedROMBank], a jr nz, .asm_61908 - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound - ld a, Bank(Music_PkmnHealed) + ld a, BANK(Music_PkmnHealed) ld [wAudioROMBank], a .asm_61908 ld a, MUSIC_PKMN_HEALED diff --git a/scripts/SaffronGym.asm b/scripts/SaffronGym.asm index 0539d613..8842472c 100755 --- a/scripts/SaffronGym.asm +++ b/scripts/SaffronGym.asm @@ -171,7 +171,7 @@ SaffronGymText1: ld hl, SaffronGymText_5d167 ld de, SaffronGymText_5d167 call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/SilphCo10F.asm b/scripts/SilphCo10F.asm index 40506682..92d95de1 100755 --- a/scripts/SilphCo10F.asm +++ b/scripts/SilphCo10F.asm @@ -28,7 +28,7 @@ SilphCo10GateCoords: db $FF SilphCo10Text_5a176: - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z SetEvent EVENT_SILPH_CO_10_UNLOCKED_DOOR diff --git a/scripts/SilphCo11F.asm b/scripts/SilphCo11F.asm index 483082a1..116b528f 100755 --- a/scripts/SilphCo11F.asm +++ b/scripts/SilphCo11F.asm @@ -35,14 +35,14 @@ SilphCo11Script_62137: ld a, [hl] ld c, a xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a pop hl .asm_62143 ld a, [hli] cp $ff jr z, .asm_6215f push hl - ld hl, $ffe0 + ld hl, hUnlockedSilphCoDoors inc [hl] pop hl cp b @@ -60,11 +60,11 @@ SilphCo11Script_62137: ret .asm_6215f xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a ret SilphCo11Script_62163: - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z SetEvent EVENT_SILPH_CO_11_UNLOCKED_DOOR @@ -178,7 +178,7 @@ SilphCo11Script0: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $3 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld de, MovementData_62216 call MoveSprite @@ -199,7 +199,7 @@ MovementData_62216: SilphCo11Script_6221a: ld [wPlayerMovingDirection], a ld a, $3 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, b ld [hSpriteFacingDirection], a jp SetSpriteFacingDirectionAndDelay @@ -239,7 +239,7 @@ SilphCo11Script3: bit 0, a ret nz ld a, $3 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld a, [wcf0d] cp $1 @@ -263,7 +263,7 @@ SilphCo11Script4: ld hl, SilphCo10Text_62330 ld de, SilphCo10Text_62330 call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/SilphCo2F.asm b/scripts/SilphCo2F.asm index 5fd542cb..0ff7cee3 100755 --- a/scripts/SilphCo2F.asm +++ b/scripts/SilphCo2F.asm @@ -45,14 +45,14 @@ SilphCo2Script_59d43: ld a, [hl] ld c, a xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a pop hl .asm_59d4f ld a, [hli] cp $ff jr z, .asm_59d6b push hl - ld hl, $ffe0 + ld hl, hUnlockedSilphCoDoors inc [hl] pop hl cp b @@ -70,12 +70,12 @@ SilphCo2Script_59d43: ret .asm_59d6b xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a ret SilphCo2Script_59d6f: EventFlagAddress hl, EVENT_SILPH_CO_2_UNLOCKED_DOOR1 - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/SilphCo3F.asm b/scripts/SilphCo3F.asm index 42b5d611..3b6b1da8 100755 --- a/scripts/SilphCo3F.asm +++ b/scripts/SilphCo3F.asm @@ -39,7 +39,7 @@ SilphCo3GateCoords: SilphCo3Script_59fad: EventFlagAddress hl, EVENT_SILPH_CO_3_UNLOCKED_DOOR1 - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/SilphCo4F.asm b/scripts/SilphCo4F.asm index 7d5072f6..61288277 100755 --- a/scripts/SilphCo4F.asm +++ b/scripts/SilphCo4F.asm @@ -45,14 +45,14 @@ SilphCo4Script_19d5d: ld a, [hl] ld c, a xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a pop hl .asm_19d69 ld a, [hli] cp $ff jr z, .asm_19d85 push hl - ld hl, $ffe0 + ld hl, hUnlockedSilphCoDoors inc [hl] pop hl cp b @@ -70,12 +70,12 @@ SilphCo4Script_19d5d: ret .asm_19d85 xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a ret SilphCo4Script_19d89: EventFlagAddress hl, EVENT_SILPH_CO_4_UNLOCKED_DOOR1 - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/SilphCo5F.asm b/scripts/SilphCo5F.asm index d9deda5b..39d7235b 100755 --- a/scripts/SilphCo5F.asm +++ b/scripts/SilphCo5F.asm @@ -49,7 +49,7 @@ SilphCo5GateCoords: SilphCo5Script_19f9e: EventFlagAddress hl, EVENT_SILPH_CO_5_UNLOCKED_DOOR1 - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/SilphCo6F.asm b/scripts/SilphCo6F.asm index ddbcba79..9e6ffaf1 100755 --- a/scripts/SilphCo6F.asm +++ b/scripts/SilphCo6F.asm @@ -28,7 +28,7 @@ SilphCo6GateCoords: db $FF SilphCo6Script_1a1e6: - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z SetEvent EVENT_SILPH_CO_6_UNLOCKED_DOOR diff --git a/scripts/SilphCo7F.asm b/scripts/SilphCo7F.asm index e7594663..4966bba6 100755 --- a/scripts/SilphCo7F.asm +++ b/scripts/SilphCo7F.asm @@ -55,14 +55,14 @@ SilphCo7Text_51bc8: ld a, [hl] ld c, a xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a pop hl .asm_51bd4 ld a, [hli] cp $ff jr z, .asm_51bf0 push hl - ld hl, $ffe0 + ld hl, hUnlockedSilphCoDoors inc [hl] pop hl cp b @@ -80,12 +80,12 @@ SilphCo7Text_51bc8: ret .asm_51bf0 xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a ret SilphCo7Text_51bf4: EventFlagAddress hl, EVENT_SILPH_CO_7_UNLOCKED_DOOR1 - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z cp $1 @@ -130,7 +130,7 @@ SilphCo7Script0: ld [wJoyIgnore], a ld a, PLAYER_DIR_DOWN ld [wPlayerMovingDirection], a - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound ld c, BANK(Music_MeetRival) @@ -140,7 +140,7 @@ SilphCo7Script0: ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $9 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteMovementBytesToFF ld de, MovementData_51c7d ld a, [wCoordIndex] @@ -150,7 +150,7 @@ SilphCo7Script0: inc de .asm_51c6c ld a, $9 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $3 jp SilphCo7Text_51c10 @@ -212,14 +212,14 @@ SilphCo7Script4: ld a, PLAYER_DIR_DOWN ld [wPlayerMovingDirection], a ld a, $9 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay ld a, $f ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wNewSoundID], a call PlaySound callba Music_RivalAlternateStart @@ -230,7 +230,7 @@ SilphCo7Script4: ld de, MovementData_51d1a .asm_51d0e ld a, $9 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call MoveSprite ld a, $5 jp SilphCo7Text_51c10 diff --git a/scripts/SilphCo8F.asm b/scripts/SilphCo8F.asm index ce6579f7..b1c32a34 100755 --- a/scripts/SilphCo8F.asm +++ b/scripts/SilphCo8F.asm @@ -35,14 +35,14 @@ SilphCo8Script_56541: ld a, [hl] ld c, a xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a pop hl .asm_5654d ld a, [hli] cp $ff jr z, .asm_56569 push hl - ld hl, $ffe0 + ld hl, hUnlockedSilphCoDoors inc [hl] pop hl cp b @@ -60,11 +60,11 @@ SilphCo8Script_56541: ret .asm_56569 xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a ret SilphCo8Script_5656d: - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z SetEvent EVENT_SILPH_CO_8_UNLOCKED_DOOR diff --git a/scripts/SilphCo9F.asm b/scripts/SilphCo9F.asm index 66291e98..d9fdc625 100755 --- a/scripts/SilphCo9F.asm +++ b/scripts/SilphCo9F.asm @@ -65,14 +65,14 @@ SilphCo9Script_5d837: ld a, [hl] ld c, a xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a pop hl .asm_5d843 ld a, [hli] cp $ff jr z, .asm_5d85f push hl - ld hl, $ffe0 + ld hl, hUnlockedSilphCoDoors inc [hl] pop hl cp b @@ -90,12 +90,12 @@ SilphCo9Script_5d837: ret .asm_5d85f xor a - ld [$ffe0], a + ld [hUnlockedSilphCoDoors], a ret SilphCo9Script_5d863: EventFlagAddress hl, EVENT_SILPH_CO_9_UNLOCKED_DOOR1 - ld a, [$ffe0] + ld a, [hUnlockedSilphCoDoors] and a ret z cp $1 diff --git a/scripts/TradeCenter.asm b/scripts/TradeCenter.asm index ddb3061e..3201c8cd 100755 --- a/scripts/TradeCenter.asm +++ b/scripts/TradeCenter.asm @@ -8,7 +8,7 @@ TradeCenter_Script: .next ld [hSpriteFacingDirection], a ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndex], a call SetSpriteFacingDirection ld hl, wd72d bit 0, [hl] diff --git a/scripts/VermilionDock.asm b/scripts/VermilionDock.asm index 65b66c52..90fef6b2 100755 --- a/scripts/VermilionDock.asm +++ b/scripts/VermilionDock.asm @@ -38,7 +38,7 @@ VermilionDock_Script: VermilionDock_1db9b: SetEventForceReuseHL EVENT_SS_ANNE_LEFT - ld a, $ff + ld a, SFX_STOP_ALL_MUSIC ld [wJoyIgnore], a ld [wNewSoundID], a call PlaySound @@ -57,10 +57,10 @@ VermilionDock_1db9b: ld a, $14 ; water tile call FillMemory ld a, 1 - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a call Delay3 xor a - ld [H_AUTOBGTRANSFERENABLED], a + ld [hAutoBGTransferEnabled], a ld [wSSAnneSmokeDriftAmount], a ld [rOBP1], a ld a, 88 @@ -78,7 +78,7 @@ VermilionDock_1db9b: ld d, $0 ld e, $8 .asm_1dbfa - ld hl, $0002 + ld hl, $2 add hl, bc ld a, l ld [wMapViewVRAMPointer], a diff --git a/scripts/VermilionGym.asm b/scripts/VermilionGym.asm index 0af37945..1569fb55 100755 --- a/scripts/VermilionGym.asm +++ b/scripts/VermilionGym.asm @@ -150,7 +150,7 @@ LTSurgeText: ld hl, ReceivedThunderbadgeText ld de, ReceivedThunderbadgeText call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/ViridianCity.asm b/scripts/ViridianCity.asm index 643431a4..c3eb9a79 100755 --- a/scripts/ViridianCity.asm +++ b/scripts/ViridianCity.asm @@ -59,14 +59,14 @@ ViridianCityScript_1903d: ret ViridianCityScript1: - ld a, [wSpriteStateData1 + $34] - ld [$ffeb], a - ld a, [wSpriteStateData1 + $36] - ld [$ffec], a - ld a, [wSpriteStateData2 + $34] - ld [$ffed], a - ld a, [wSpriteStateData2 + $35] - ld [$ffee], a + ld a, [wSprite03StateData1YPixels] + ld [hSpriteScreenYCoord], a + ld a, [wSprite03StateData1XPixels] + ld [hSpriteScreenXCoord], a + ld a, [wSprite03StateData2MapY] + ld [hSpriteMapYCoord], a + ld a, [wSprite03StateData2MapX] + ld [hSpriteMapXCoord], a xor a ld [wListScrollOffset], a @@ -82,14 +82,14 @@ ViridianCityScript1: ret ViridianCityScript2: - ld a, [$ffeb] - ld [wSpriteStateData1 + $34], a - ld a, [$ffec] - ld [wSpriteStateData1 + $36], a - ld a, [$ffed] - ld [wSpriteStateData2 + $34], a - ld a, [$ffee] - ld [wSpriteStateData2 + $35], a + ld a, [hSpriteScreenYCoord] + ld [wSprite03StateData1YPixels], a + ld a, [hSpriteScreenXCoord] + ld [wSprite03StateData1XPixels], a + ld a, [hSpriteMapYCoord] + ld [wSprite03StateData2MapY], a + ld a, [hSpriteMapXCoord] + ld [wSprite03StateData2MapX], a call UpdateSprites call Delay3 xor a diff --git a/scripts/ViridianGym.asm b/scripts/ViridianGym.asm index b0f94b9d..40e6a57f 100755 --- a/scripts/ViridianGym.asm +++ b/scripts/ViridianGym.asm @@ -289,7 +289,7 @@ ViridianGymText1: ld hl, ViridianGymText_74ad3 ld de, ViridianGymText_74ad3 call SaveEndBattleTextPointers - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters diff --git a/scripts/WardensHouse.asm b/scripts/WardensHouse.asm index 69e199c9..015d137f 100755 --- a/scripts/WardensHouse.asm +++ b/scripts/WardensHouse.asm @@ -32,7 +32,7 @@ FuchsiaHouse2Text1: ld hl, WardenTeethText1 call PrintText ld a, GOLD_TEETH - ld [$ffdb], a + ld [hItemToRemoveID], a callba RemoveItemByID SetEvent EVENT_GAVE_GOLD_TEETH .asm_60cba @@ -95,7 +95,7 @@ HM04NoRoomText: FuchsiaHouse2Text5: FuchsiaHouse2Text4: TX_ASM - ld a, [H_SPRITEINDEX] + ld a, [hSpriteIndex] cp $4 ld hl, FuchsiaHouse2Text_7517b jr nz, .asm_4c9a2 @@ -1,3189 +1,280 @@ -INCLUDE "macros.asm" -INCLUDE "charmap.asm" - -INCLUDE "hram.asm" - -INCLUDE "constants/text_constants.asm" +INCLUDE "constants.asm" SECTION "Text 1", ROMX -_CardKeySuccessText1:: - text "Bingo!@@" - -_CardKeySuccessText2:: - text "" - line "The CARD KEY" - cont "opened the door!" - done - -_CardKeyFailText:: - text "Darn! It needs a" - line "CARD KEY!" - done - -_TrainerNameText:: - TX_RAM wcd6d - text ": @@" - -_NoNibbleText:: - text "Not even a nibble!" - prompt - -_NothingHereText:: - text "Looks like there's" - line "nothing here." - prompt - -_ItsABiteText:: - text "Oh!" - line "It's a bite!" - prompt - -_ExclamationText:: - text "!" - done - -_GroundRoseText:: - text "Ground rose up" - line "somewhere!" - done - -_BoulderText:: - text "This requires" - line "STRENGTH to move!" - done - -_MartSignText:: - text "All your item" - line "needs fulfilled!" - cont "#MON MART" - done - -_PokeCenterSignText:: - text "Heal Your #MON!" - line "#MON CENTER" - done - -_FoundItemText:: - text "<PLAYER> found" - line "@" - TX_RAM wcf4b - text "!@@" - -_NoMoreRoomForItemText:: - text "No more room for" - line "items!" - done - -_OaksAideHiText:: - text "Hi! Remember me?" - line "I'm PROF.OAK's" - cont "AIDE!" - - para "If you caught @" - TX_NUM hOaksAideRequirement, 1, 3 - text "" - line "kinds of #MON," - cont "I'm supposed to" - cont "give you an" - cont "@" - TX_RAM wOaksAideRewardItemName - text "!" - - para "So, <PLAYER>! Have" - line "you caught at" - cont "least @" - TX_NUM hOaksAideRequirement, 1, 3 - text " kinds of" - cont "#MON?" - done - -_OaksAideUhOhText:: - text "Let's see..." - line "Uh-oh! You have" - cont "caught only @" - TX_NUM hOaksAideNumMonsOwned, 1, 3 - text "" - cont "kinds of #MON!" - - para "You need @" - TX_NUM hOaksAideRequirement, 1, 3 - text " kinds" - line "if you want the" - cont "@" - TX_RAM wOaksAideRewardItemName - text "." - done - -_OaksAideComeBackText:: - text "Oh. I see." - - para "When you get @" - TX_NUM hOaksAideRequirement, 1, 3 - text "" - line "kinds, come back" - cont "for @" - TX_RAM wOaksAideRewardItemName - text "." - done - -_OaksAideHereYouGoText:: - text "Great! You have" - line "caught @" - TX_NUM hOaksAideNumMonsOwned, 1, 3 - text " kinds " - cont "of #MON!" - cont "Congratulations!" - - para "Here you go!" - prompt - -_OaksAideGotItemText:: - text "<PLAYER> got the" - line "@" - TX_RAM wOaksAideRewardItemName - text "!@@" - -_OaksAideNoRoomText:: - text "Oh! I see you" - line "don't have any" - cont "room for the" - cont "@" - TX_RAM wOaksAideRewardItemName - text "." - done - -INCLUDE "text/maps/ViridianForest.asm" -INCLUDE "text/maps/MtMoon1F.asm" -INCLUDE "text/maps/MtMoonB1F.asm" -INCLUDE "text/maps/MtMoonB2F.asm" -INCLUDE "text/maps/SSAnne1F.asm" -INCLUDE "text/maps/SSAnne2F.asm" -INCLUDE "text/maps/SSAnne3F.asm" -INCLUDE "text/maps/SSAnneBow.asm" -INCLUDE "text/maps/SSAnneKitchen.asm" -INCLUDE "text/maps/SSAnneCaptainsRoom.asm" -INCLUDE "text/maps/SSAnne1FRooms.asm" -INCLUDE "text/maps/SSAnne2FRooms.asm" -INCLUDE "text/maps/SSAnneB1FRooms.asm" -INCLUDE "text/maps/VictoryRoad3F.asm" -INCLUDE "text/maps/RocketHideoutB1F.asm" -INCLUDE "text/maps/RocketHideoutB2F.asm" -INCLUDE "text/maps/RocketHideoutB3F.asm" -INCLUDE "text/maps/RocketHideoutB4F.asm" -INCLUDE "text/maps/RocketHideoutElevator.asm" -INCLUDE "text/maps/SilphCo2F.asm" -INCLUDE "text/maps/SilphCo3F.asm" -INCLUDE "text/maps/SilphCo4F.asm" -INCLUDE "text/maps/SilphCo5F.asm" +INCLUDE "data/text/text_1.asm" + +INCLUDE "text/ViridianForest.asm" +INCLUDE "text/MtMoon1F.asm" +INCLUDE "text/MtMoonB1F.asm" +INCLUDE "text/MtMoonB2F.asm" +INCLUDE "text/SSAnne1F.asm" +INCLUDE "text/SSAnne2F.asm" +INCLUDE "text/SSAnne3F.asm" +INCLUDE "text/SSAnneBow.asm" +INCLUDE "text/SSAnneKitchen.asm" +INCLUDE "text/SSAnneCaptainsRoom.asm" +INCLUDE "text/SSAnne1FRooms.asm" +INCLUDE "text/SSAnne2FRooms.asm" +INCLUDE "text/SSAnneB1FRooms.asm" +INCLUDE "text/VictoryRoad3F.asm" +INCLUDE "text/RocketHideoutB1F.asm" +INCLUDE "text/RocketHideoutB2F.asm" +INCLUDE "text/RocketHideoutB3F.asm" +INCLUDE "text/RocketHideoutB4F.asm" +INCLUDE "text/RocketHideoutElevator.asm" +INCLUDE "text/SilphCo2F.asm" +INCLUDE "text/SilphCo3F.asm" +INCLUDE "text/SilphCo4F.asm" +INCLUDE "text/SilphCo5F.asm" SECTION "Text 2", ROMX -INCLUDE "text/maps/SilphCo5F_2.asm" -INCLUDE "text/maps/SilphCo6F.asm" -INCLUDE "text/maps/SilphCo7F.asm" -INCLUDE "text/maps/SilphCo8F.asm" -INCLUDE "text/maps/SilphCo9F.asm" -INCLUDE "text/maps/SilphCo10F.asm" -INCLUDE "text/maps/SilphCo11F.asm" -INCLUDE "text/maps/PokemonMansion2F.asm" -INCLUDE "text/maps/PokemonMansion3F.asm" -INCLUDE "text/maps/PokemonMansionB1F.asm" -INCLUDE "text/maps/SafariZoneEast.asm" -INCLUDE "text/maps/SafariZoneNorth.asm" -INCLUDE "text/maps/SafariZoneWest.asm" -INCLUDE "text/maps/SafariZoneCenter.asm" -INCLUDE "text/maps/SafariZoneCenterRestHouse.asm" -INCLUDE "text/maps/SafariZoneSecretHouse.asm" -INCLUDE "text/maps/SafariZoneWestRestHouse.asm" -INCLUDE "text/maps/SafariZoneEastRestHouse.asm" -INCLUDE "text/maps/SafariZoneNorthRestHouse.asm" -INCLUDE "text/maps/CeruleanCaveB1F.asm" -INCLUDE "text/maps/VictoryRoad1F.asm" -INCLUDE "text/maps/LancesRoom.asm" -INCLUDE "text/maps/HallOfFame.asm" -INCLUDE "text/maps/ChampionsRoom.asm" -INCLUDE "text/maps/LoreleisRoom.asm" -INCLUDE "text/maps/BrunosRoom.asm" -INCLUDE "text/maps/AgathasRoom.asm" -INCLUDE "text/maps/RockTunnelB1F.asm" +INCLUDE "text/SilphCo5F_2.asm" +INCLUDE "text/SilphCo6F.asm" +INCLUDE "text/SilphCo7F.asm" +INCLUDE "text/SilphCo8F.asm" +INCLUDE "text/SilphCo9F.asm" +INCLUDE "text/SilphCo10F.asm" +INCLUDE "text/SilphCo11F.asm" +INCLUDE "text/PokemonMansion2F.asm" +INCLUDE "text/PokemonMansion3F.asm" +INCLUDE "text/PokemonMansionB1F.asm" +INCLUDE "text/SafariZoneEast.asm" +INCLUDE "text/SafariZoneNorth.asm" +INCLUDE "text/SafariZoneWest.asm" +INCLUDE "text/SafariZoneCenter.asm" +INCLUDE "text/SafariZoneCenterRestHouse.asm" +INCLUDE "text/SafariZoneSecretHouse.asm" +INCLUDE "text/SafariZoneWestRestHouse.asm" +INCLUDE "text/SafariZoneEastRestHouse.asm" +INCLUDE "text/SafariZoneNorthRestHouse.asm" +INCLUDE "text/CeruleanCaveB1F.asm" +INCLUDE "text/VictoryRoad1F.asm" +INCLUDE "text/LancesRoom.asm" +INCLUDE "text/HallOfFame.asm" +INCLUDE "text/ChampionsRoom.asm" +INCLUDE "text/LoreleisRoom.asm" +INCLUDE "text/BrunosRoom.asm" +INCLUDE "text/AgathasRoom.asm" +INCLUDE "text/RockTunnelB1F.asm" SECTION "Text 3", ROMX -INCLUDE "text/maps/RockTunnelB1F_2.asm" -INCLUDE "text/maps/SeafoamIslandsB4F.asm" - -_AIBattleWithdrawText:: - TX_RAM wTrainerName - text " with-" - line "drew @" - TX_RAM wEnemyMonNick - text "!" - prompt - -_AIBattleUseItemText:: - TX_RAM wTrainerName - text "" - line "used @" - TX_RAM wcd6d - text "" - cont "on @" - TX_RAM wEnemyMonNick - text "!" - prompt - -_TradeWentToText:: - TX_RAM wcf4b - text " went" - line "to @" - TX_RAM wLinkEnemyTrainerName - text "." - done - -_TradeForText:: - text "For <PLAYER>'s" - line "@" - TX_RAM wcf4b - text "," - done - -_TradeSendsText:: - TX_RAM wLinkEnemyTrainerName - text " sends" - line "@" - TX_RAM wcd6d - text "." - done - -_TradeWavesFarewellText:: - TX_RAM wLinkEnemyTrainerName - text " waves" - line "farewell as" - done - -_TradeTransferredText:: - TX_RAM wcd6d - text " is" - line "transferred." - done - -_TradeTakeCareText:: - text "Take good care of" - line "@" - TX_RAM wcd6d - text "." - done - -_TradeWillTradeText:: - TX_RAM wLinkEnemyTrainerName - text " will" - line "trade @" - TX_RAM wcd6d - text "" - done - -_TradeforText:: - text "for <PLAYER>'s" - line "@" - TX_RAM wcf4b - text "." - done - -_PlaySlotMachineText:: - text "A slot machine!" - line "Want to play?" - done - -_OutOfCoinsSlotMachineText:: - text "Darn!" - line "Ran out of coins!" - done - -_BetHowManySlotMachineText:: - text "Bet how many" - line "coins?" - done - -_StartSlotMachineText:: - text "Start!" - done - -_NotEnoughCoinsSlotMachineText:: - text "Not enough" - line "coins!" - prompt - -_OneMoreGoSlotMachineText:: - text "One more " - line "go?" - done - -_LinedUpText:: - text " lined up!" - line "Scored @" - TX_RAM wcf4b - text " coins!" - done - -_NotThisTimeText:: - text "Not this time!" - prompt - -_YeahText:: - text "Yeah!@@" - -_DexSeenOwnedText:: - text "#DEX Seen:@" - TX_NUM wDexRatingNumMonsSeen, 1, 3 - text "" - line " Owned:@" - TX_NUM wDexRatingNumMonsOwned, 1, 3 - db "@" - -_DexRatingText:: - text "#DEX Rating", $6d - done - -_GymStatueText1:: - TX_RAM wGymCityName - text "" - line "#MON GYM" - cont "LEADER: @" - TX_RAM wGymLeaderName - text "" - - para "WINNING TRAINERS:" - line "<RIVAL>" - done - -_GymStatueText2:: - TX_RAM wGymCityName - text "" - line "#MON GYM" - cont "LEADER: @" - TX_RAM wGymLeaderName - text "" - - para "WINNING TRAINERS:" - line "<RIVAL>" - cont "<PLAYER>" - done - -_ViridianCityPokecenterGuyText:: - text "#MON CENTERs" - line "heal your tired," - cont "hurt or fainted" - cont "#MON!" - done - -_PewterCityPokecenterGuyText:: - text "Yawn!" - - para "When JIGGLYPUFF" - line "sings, #MON" - cont "get drowsy..." - - para "...Me too..." - line "Snore..." - done - -_CeruleanPokecenterGuyText:: - text "BILL has lots of" - line "#MON!" - - para "He collects rare" - line "ones too!" - done - -_LavenderPokecenterGuyText:: - text "CUBONEs wear" - line "skulls, right?" - - para "People will pay a" - line "lot for one!" - done - -_MtMoonPokecenterBenchGuyText:: - text "If you have too" - line "many #MON, you" - cont "should store them" - cont "via PC!" - done - -_RockTunnelPokecenterGuyText:: - text "I heard that" - line "GHOSTs haunt" - cont "LAVENDER TOWN!" - done - -_UnusedBenchGuyText1:: - text "I wish I could" - line "catch #MON." - done - -_UnusedBenchGuyText2:: - text "I'm tired from" - line "all the fun..." - done - -_UnusedBenchGuyText3:: - text "SILPH's manager" - line "is hiding in the" - cont "SAFARI ZONE." - done - -_VermilionPokecenterGuyText:: - text "It is true that a" - line "higher level" - cont "#MON will be" - cont "more powerful..." - - para "But, all #MON" - line "will have weak" - cont "points against" - cont "specific types." - - para "So, there is no" - line "universally" - cont "strong #MON." - done - -_CeladonCityPokecenterGuyText:: - text "If I had a BIKE," - line "I would go to" - cont "CYCLING ROAD!" - done - -_FuchsiaCityPokecenterGuyText:: - text "If you're studying " - line "#MON, visit" - cont "the SAFARI ZONE." - - para "It has all sorts" - line "of rare #MON." - done - -_CinnabarPokecenterGuyText:: - text "#MON can still" - line "learn techniques" - cont "after canceling" - cont "evolution." - - para "Evolution can wait" - line "until new moves" - cont "have been learned." - done - -_SaffronCityPokecenterGuyText1:: - text "It would be great" - line "if the ELITE FOUR" - cont "came and stomped" - cont "TEAM ROCKET!" - done - -_SaffronCityPokecenterGuyText2:: - text "TEAM ROCKET took" - line "off! We can go" - cont "out safely again!" - cont "That's great!" - done - -_CeladonCityHotelText:: - text "My sis brought me" - line "on this vacation!" - done - -_BookcaseText:: - text "Crammed full of" - line "#MON books!" - done - -_NewBicycleText:: - text "A shiny new" - line "BICYCLE!" - done - -_PushStartText:: - text "Push START to" - line "open the MENU!" - done - -_SaveOptionText:: - text "The SAVE option is" - line "on the MENU" - cont "screen." - done - -_StrengthsAndWeaknessesText:: - text "All #MON types" - line "have strong and" - cont "weak points" - cont "against others." - done - -_TimesUpText:: - text "PA: Ding-dong!" - - para "Time's up!" - prompt - -_GameOverText:: - text "PA: Your SAFARI" - line "GAME is over!" - done - -_CinnabarGymQuizIntroText:: - text "#MON Quiz!" - - para "Get it right and" - line "the door opens to" - cont "the next room!" - - para "Get it wrong and" - line "face a trainer!" - - para "If you want to" - line "conserve your" - cont "#MON for the" - cont "GYM LEADER..." - - para "Then get it right!" - line "Here we go!" - prompt - -_CinnabarQuizQuestionsText1:: - text "CATERPIE evolves" - line "into BUTTERFREE?" - done - -_CinnabarQuizQuestionsText2:: - text "There are 9" - line "certified #MON" - cont "LEAGUE BADGEs?" - done - -_CinnabarQuizQuestionsText3:: - text "POLIWAG evolves 3" - line "times?" - done - -_CinnabarQuizQuestionsText4:: - text "Are thunder moves" - line "effective against" - cont "ground element-" - cont "type #MON?" - done - -_CinnabarQuizQuestionsText5:: - text "#MON of the" - line "same kind and" - cont "level are not" - cont "identical?" - done - -_CinnabarQuizQuestionsText6:: - text "TM28 contains" - line "TOMBSTONER?" - done - -_CinnabarGymQuizCorrectText:: - text "You're absolutely" - line "correct!" - - para "Go on through!@@" - -_CinnabarGymQuizIncorrectText:: - text "Sorry! Bad call!" - prompt - -_MagazinesText:: - text "#MON magazines!" - - para "#MON notebooks!" - - para "#MON graphs!" - done - -_BillsHouseMonitorText:: - text "TELEPORTER is" - line "displayed on the" - cont "PC monitor." - done - -_BillsHouseInitiatedText:: - text "<PLAYER> initiated" - line "TELEPORTER's Cell" - cont "Separator!@@" - -_BillsHousePokemonListText1:: - text "BILL's favorite" - line "#MON list!" - prompt - -_BillsHousePokemonListText2:: - text "Which #MON do" - line "you want to see?" - done - -_OakLabEmailText:: - text "There's an e-mail" - line "message here!" - - para "..." - - para "Calling all" - line "#MON trainers!" - - para "The elite trainers" - line "of #MON LEAGUE" - cont "are ready to take" - cont "on all comers!" - - para "Bring your best" - line "#MON and see" - cont "how you rate as a" - cont "trainer!" - - para "#MON LEAGUE HQ" - line "INDIGO PLATEAU" - - para "PS: PROF.OAK," - line "please visit us!" - cont "..." - done - -_GameCornerCoinCaseText:: - text "A COIN CASE is" - line "required!" - done - -_GameCornerNoCoinsText:: - text "You don't have" - line "any coins!" - done - -_GameCornerOutOfOrderText:: - text "OUT OF ORDER" - line "This is broken." - done - -_GameCornerOutToLunchText:: - text "OUT TO LUNCH" - line "This is reserved." - done - -_GameCornerSomeonesKeysText:: - text "Someone's keys!" - line "They'll be back." - done - -_JustAMomentText:: - text "Just a moment." - done - -TMNotebookText:: - text "It's a pamphlet" - line "on TMs." - - para "..." - - para "There are 50 TMs" - line "in all." - - para "There are also 5" - line "HMs that can be" - cont "used repeatedly." - - para "SILPH CO.@@" - -_TurnPageText:: - text "Turn the page?" - done - -_ViridianSchoolNotebookText5:: - text "GIRL: Hey! Don't" - line "look at my notes!@@" - -_ViridianSchoolNotebookText1:: - text "Looked at the" - line "notebook!" - - para "First page..." - - para "# BALLs are" - line "used to catch" - cont "#MON." - - para "Up to 6 #MON" - line "can be carried." - - para "People who raise" - line "and make #MON" - cont "fight are called" - cont "#MON trainers." - prompt - -_ViridianSchoolNotebookText2:: - text "Second page..." - - para "A healthy #MON" - line "may be hard to" - cont "catch, so weaken" - cont "it first!" - - para "Poison, burns and" - line "other damage are" - cont "effective!" - prompt - -_ViridianSchoolNotebookText3:: - text "Third page..." - - para "#MON trainers" - line "seek others to" - cont "engage in #MON" - cont "fights." - - para "Battles are" - line "constantly fought" - cont "at #MON GYMs." - prompt - -_ViridianSchoolNotebookText4:: - text "Fourth page..." - - para "The goal for" - line "#MON trainers" - cont "is to beat the " - cont "top 8 #MON" - cont "GYM LEADERs." - - para "Do so to earn the" - line "right to face..." - - para "The ELITE FOUR of" - line "#MON LEAGUE!" - prompt - -_EnemiesOnEverySideText:: - text "Enemies on every" - line "side!" - done - -_WhatGoesAroundComesAroundText:: - text "What goes around" - line "comes around!" - done - -_FightingDojoText:: - text "FIGHTING DOJO" - done - -_IndigoPlateauHQText:: - text "INDIGO PLATEAU" - line "#MON LEAGUE HQ" - done - -_RedBedroomSNESText:: - text "<PLAYER> is" - line "playing the SNES!" - cont "...Okay!" - cont "It's time to go!" - done - -_Route15UpstairsBinocularsText:: - text "Looked into the" - line "binoculars..." - - para "A large, shining" - line "bird is flying" - cont "toward the sea." - done - -_AerodactylFossilText:: - text "AERODACTYL Fossil" - line "A primitive and" - cont "rare #MON." - done - -_KabutopsFossilText:: - text "KABUTOPS Fossil" - line "A primitive and" - cont "rare #MON." - done - -_LinkCableHelpText1:: - text "TRAINER TIPS" - - para "Using a Game Link" - line "Cable" - prompt - -_LinkCableHelpText2:: - text "Which heading do" - line "you want to read?" - done - -_LinkCableInfoText1:: - text "When you have" - line "linked your GAME" - cont "BOY with another" - cont "GAME BOY, talk to" - cont "the attendant on" - cont "the right in any" - cont "#MON CENTER." - prompt - -_LinkCableInfoText2:: - text "COLOSSEUM lets" - line "you play against" - cont "a friend." - prompt - -_LinkCableInfoText3:: - text "TRADE CENTER is" - line "used for trading" - cont "#MON." - prompt - -_ViridianSchoolBlackboardText1:: - text "The blackboard" - line "describes #MON" - cont "STATUS changes" - cont "during battles." - prompt - -_ViridianSchoolBlackboardText2:: - text "Which heading do" - line "you want to read?" - done - -_ViridianBlackboardSleepText:: - text "A #MON can't" - line "attack if it's" - cont "asleep!" - - para "#MON will stay" - line "asleep even after" - cont "battles." - - para "Use AWAKENING to" - line "wake them up!" - prompt - -_ViridianBlackboardPoisonText:: - text "When poisoned, a" - line "#MON's health" - cont "steadily drops." - - para "Poison lingers" - line "after battles." - - para "Use an ANTIDOTE" - line "to cure poison!" - prompt - -_ViridianBlackboardPrlzText:: - text "Paralysis could" - line "make #MON" - cont "moves misfire!" - - para "Paralysis remains" - line "after battles." - - para "Use PARLYZ HEAL" - line "for treatment!" - prompt - -_ViridianBlackboardBurnText:: - text "A burn reduces" - line "power and speed." - cont "It also causes" - cont "ongoing damage." - - para "Burns remain" - line "after battles." - - para "Use BURN HEAL to" - line "cure a burn!" - prompt - -_ViridianBlackboardFrozenText:: - text "If frozen, a" - line "#MON becomes" - cont "totally immobile!" - - para "It stays frozen" - line "even after the" - cont "battle ends." - - para "Use ICE HEAL to" - line "thaw out #MON!" - prompt - -_VermilionGymTrashText:: - text "Nope, there's" - line "only trash here." - done - -_VermilionGymTrashSuccessText1:: - text "Hey! There's a" - line "switch under the" - cont "trash!" - cont "Turn it on!" - - para "The 1st electric" - line "lock opened!@@" - -_VermilionGymTrashSuccessText2:: - text "Hey! There's" - line "another switch" - cont "under the trash!" - cont "Turn it on!" - prompt - -_VermilionGymTrashSuccessText3:: - text "The 2nd electric" - line "lock opened!" - - para "The motorized door" - line "opened!@@" - -_VermilionGymTrashFailText:: - text "Nope! There's" - line "only trash here." - cont "Hey! The electric" - cont "locks were reset!@@" - -_FoundHiddenItemText:: - text "<PLAYER> found" - line "@" - TX_RAM wcd6d - text "!@@" - -_HiddenItemBagFullText:: - text "But, <PLAYER> has" - line "no more room for" - cont "other items!" - done - -_FoundHiddenCoinsText:: - text "<PLAYER> found" - line "@" - TX_BCD hCoins, 2 | LEADING_ZEROES | LEFT_ALIGN - text " coins!@@" - -_FoundHiddenCoins2Text:: - text "<PLAYER> found" - line "@" - TX_BCD hCoins, 2 | LEADING_ZEROES | LEFT_ALIGN - text " coins!@@" - -_DroppedHiddenCoinsText:: - text "" - para "Oops! Dropped" - line "some coins!" - done - -_IndigoPlateauStatuesText1:: - text "INDIGO PLATEAU" - prompt - -_IndigoPlateauStatuesText2:: - text "The ultimate goal" - line "of trainers!" - cont "#MON LEAGUE HQ" - done - -_IndigoPlateauStatuesText3:: - text "The highest" - line "#MON authority" - cont "#MON LEAGUE HQ" - done - -_PokemonBooksText:: - text "Crammed full of" - line "#MON books!" - done - -_DiglettSculptureText:: - text "It's a sculpture" - line "of DIGLETT." - done - -_ElevatorText:: - text "This is an" - line "elevator." - done - -_TownMapText:: - text "A TOWN MAP.@@" - -_PokemonStuffText:: - text "Wow! Tons of" - line "#MON stuff!" - done - -_OutOfSafariBallsText:: - text "PA: Ding-dong!" - - para "You are out of" - line "SAFARI BALLs!" - prompt - -_WildRanText:: - text "Wild @" - TX_RAM wEnemyMonNick - text "" - line "ran!" - prompt - -_EnemyRanText:: - text "Enemy @" - TX_RAM wEnemyMonNick - text "" - line "ran!" - prompt - -_HurtByPoisonText:: - text "<USER>'s" - line "hurt by poison!" - prompt - -_HurtByBurnText:: - text "<USER>'s" - line "hurt by the burn!" - prompt - -_HurtByLeechSeedText:: - text "LEECH SEED saps" - line "<USER>!" - prompt - -_EnemyMonFaintedText:: - text "Enemy @" - TX_RAM wEnemyMonNick - text "" - line "fainted!" - prompt - -_MoneyForWinningText:: - text "<PLAYER> got ¥@" - TX_BCD wAmountMoneyWon, 3 | LEADING_ZEROES | LEFT_ALIGN - text "" - line "for winning!" - prompt - -_TrainerDefeatedText:: - text "<PLAYER> defeated" - line "@" - TX_RAM wTrainerName - text "!" - prompt - -_PlayerMonFaintedText:: - TX_RAM wBattleMonNick - text "" - line "fainted!" - prompt - -_UseNextMonText:: - text "Use next #MON?" - done - -_Sony1WinText:: - text "<RIVAL>: Yeah! Am" - line "I great or what?" - prompt - -_PlayerBlackedOutText2:: - text "<PLAYER> is out of" - line "useable #MON!" - - para "<PLAYER> blacked" - line "out!" - prompt - -_LinkBattleLostText:: - text "<PLAYER> lost to" - line "@" - TX_RAM wTrainerName - text "!" - prompt - -_TrainerAboutToUseText:: - TX_RAM wTrainerName - text " is" - line "about to use" - cont"@" - TX_RAM wEnemyMonNick - text "!" - - para "Will <PLAYER>" - line "change #MON?" - done - -_TrainerSentOutText:: - TX_RAM wTrainerName - text " sent" - line "out @" - TX_RAM wEnemyMonNick - text "!" - done - -_NoWillText:: - text "There's no will" - line "to fight!" - prompt - -_CantEscapeText:: - text "Can't escape!" - prompt - -_NoRunningText:: - text "No! There's no" - line "running from a" - cont "trainer battle!" - prompt - -_GotAwayText:: - text "Got away safely!" - prompt - -_ItemsCantBeUsedHereText:: - text "Items can't be" - line "used here." - prompt - -_AlreadyOutText:: - TX_RAM wBattleMonNick - text " is" - line "already out!" - prompt - -_MoveNoPPText:: - text "No PP left for" - line "this move!" - prompt - -_MoveDisabledText:: - text "The move is" - line "disabled!" - prompt - -_NoMovesLeftText:: - TX_RAM wBattleMonNick - text " has no" - line "moves left!" - done - -_MultiHitText:: - text "Hit the enemy" - line "@" - TX_NUM wPlayerNumHits,1,1 - text " times!" - prompt - -_ScaredText:: - TX_RAM wBattleMonNick - text " is too" - line "scared to move!" - prompt - -_GetOutText:: - text "GHOST: Get out..." - line "Get out..." - prompt - -_FastAsleepText:: - text "<USER>" - line "is fast asleep!" - prompt - -_WokeUpText:: - text "<USER>" - line "woke up!" - prompt - -_IsFrozenText:: - text "<USER>" - line "is frozen solid!" - prompt - -_FullyParalyzedText:: - text "<USER>'s" - line "fully paralyzed!" - prompt - -_FlinchedText:: - text "<USER>" - line "flinched!" - prompt - -_MustRechargeText:: - text "<USER>" - line "must recharge!" - prompt - -_DisabledNoMoreText:: - text "<USER>'s" - line "disabled no more!" - prompt - -_IsConfusedText:: - text "<USER>" - line "is confused!" - prompt - -_HurtItselfText:: - text "It hurt itself in" - line "its confusion!" - prompt - -_ConfusedNoMoreText:: - text "<USER>'s" - line "confused no more!" - prompt - -_SavingEnergyText:: - text "<USER>" - line "is saving energy!" - prompt - -_UnleashedEnergyText:: - text "<USER>" - line "unleashed energy!" - prompt - -_ThrashingAboutText:: - text "<USER>'s" - line "thrashing about!" - done - -_AttackContinuesText:: - text "<USER>'s" - line "attack continues!" - done - -_CantMoveText:: - text "<USER>" - line "can't move!" - prompt - -_MoveIsDisabledText:: - text "<USER>'s" - line "@" - TX_RAM wcd6d - text " is" - cont "disabled!" - prompt - -_MonName1Text:: - text "<USER>@@" - -_Used1Text:: - text "" - line "used @@" - -_Used2Text:: - text "" - line "used @@" - -_InsteadText:: - text "instead," - cont "@@" - -_CF4BText:: - TX_RAM wcf4b - text "@" - -_ExclamationPoint1Text:: - text "!" - done - -_ExclamationPoint2Text:: - text "!" - done - -_ExclamationPoint3Text:: - text "!" - done - -_ExclamationPoint4Text:: - text "!" - done - -_ExclamationPoint5Text:: - text "!" - done - -_AttackMissedText:: - text "<USER>'s" - line "attack missed!" - prompt - -_KeptGoingAndCrashedText:: - text "<USER>" - line "kept going and" - cont "crashed!" - prompt - -_UnaffectedText:: - text "<TARGET>'s" - line "unaffected!" - prompt - -_DoesntAffectMonText:: - text "It doesn't affect" - line "<TARGET>!" - prompt - -_CriticalHitText:: - text "Critical hit!" - prompt - -_OHKOText:: - text "One-hit KO!" - prompt - -_LoafingAroundText:: - TX_RAM wBattleMonNick - text " is" - line "loafing around." - prompt - -_BeganToNapText:: - TX_RAM wBattleMonNick - text " began" - line "to nap!" - prompt - -_WontObeyText:: - TX_RAM wBattleMonNick - text " won't" - line "obey!" - prompt - -_TurnedAwayText:: - TX_RAM wBattleMonNick - text " turned" - line "away!" - prompt - -_IgnoredOrdersText:: - TX_RAM wBattleMonNick - text "" - line "ignored orders!" - prompt - -_SubstituteTookDamageText:: - text "The SUBSTITUTE" - line "took damage for" - cont "<TARGET>!" - prompt - -_SubstituteBrokeText:: - text "<TARGET>'s" - line "SUBSTITUTE broke!" - prompt - -_BuildingRageText:: - text "<USER>'s" - line "RAGE is building!" - prompt - -_MirrorMoveFailedText:: - text "The MIRROR MOVE" - next "failed!" - prompt - -_HitXTimesText:: - text "Hit @" - TX_NUM wEnemyNumHits, 1, 1 - text " times!" - prompt - -_GainedText:: - TX_RAM wcd6d - text " gained" - line "@@" - -_WithExpAllText:: - text "with EXP.ALL," - cont "@@" - -_BoostedText:: - text "a boosted" - cont "@@" - -_ExpPointsText:: - TX_NUM wExpAmountGained, 2, 4 - text " EXP. Points!" - prompt - -_GrewLevelText:: - TX_RAM wcd6d - text " grew" - line "to level @" - TX_NUM wCurEnemyLVL, 1, 3 - text "!@@" - -_WildMonAppearedText:: - text "Wild @" - TX_RAM wEnemyMonNick - text "" - line "appeared!" - prompt - -_HookedMonAttackedText:: - text "The hooked" - line "@" - TX_RAM wEnemyMonNick - text "" - cont "attacked!" - prompt - -_EnemyAppearedText:: - TX_RAM wEnemyMonNick - text "" - line "appeared!" - prompt - -_TrainerWantsToFightText:: - TX_RAM wTrainerName - text " wants" - line "to fight!" - prompt - -_UnveiledGhostText:: - text "SILPH SCOPE" - line "unveiled the" - cont "GHOST's identity!" - prompt - -_GhostCantBeIDdText:: - text "Darn! The GHOST" - line "can't be ID'd!" - prompt - -_GoText:: - text "Go! @@" - -_DoItText:: - text "Do it! @@" - -_GetmText:: - text "Get'm! @@" - -_EnemysWeakText:: - text "The enemy's weak!" - line "Get'm! @@" - -_PlayerMon1Text:: - TX_RAM wBattleMonNick - text "!" - done - -_PlayerMon2Text:: - TX_RAM wBattleMonNick - text " @@" +INCLUDE "text/RockTunnelB1F_2.asm" +INCLUDE "text/SeafoamIslandsB4F.asm" -_EnoughText:: - text "enough!@@" +INCLUDE "data/text/text_2.asm" -_OKExclamationText:: - text "OK!@@" - -_GoodText:: - text "good!@@" - -_ComeBackText:: - text "" - line "Come back!" - done - -_SuperEffectiveText:: - text "It's super" - line "effective!" - prompt - -_NotVeryEffectiveText:: - text "It's not very" - line "effective..." - prompt - -_SafariZoneEatingText:: - text "Wild @" - TX_RAM wEnemyMonNick - text "" - line "is eating!" - prompt - -_SafariZoneAngryText:: - text "Wild @" - TX_RAM wEnemyMonNick - text "" - line "is angry!" - prompt - -; money related -_PickUpPayDayMoneyText:: - text "<PLAYER> picked up" - line "¥@" - TX_BCD wTotalPayDayMoney, 3 | LEADING_ZEROES | LEFT_ALIGN - text "!" - prompt - -_ClearSaveDataText:: - text "Clear all saved" - line "data?" - done - -_WhichFloorText:: - text "Which floor do" - line "you want? " - done - -_PartyMenuNormalText:: - text "Choose a #MON." - done - -_PartyMenuItemUseText:: - text "Use item on which" - line "#MON?" - done - -_PartyMenuBattleText:: - text "Bring out which" - line "#MON?" - done - -_PartyMenuUseTMText:: - text "Use TM on which" - line "#MON?" - done - -_PartyMenuSwapMonText:: - text "Move #MON" - line "where?" - done - -_PotionText:: - TX_RAM wcd6d - text "" - line "recovered by @" - TX_NUM wHPBarHPDifference, 2, 3 - text "!" - done - -_AntidoteText:: - TX_RAM wcd6d - text " was" - line "cured of poison!" - done - -_ParlyzHealText:: - TX_RAM wcd6d - text "'s" - line "rid of paralysis!" - done - -_BurnHealText:: - TX_RAM wcd6d - text "'s" - line "burn was healed!" - done - -_IceHealText:: - TX_RAM wcd6d - text " was" - line "defrosted!" - done - -_AwakeningText:: - TX_RAM wcd6d - text "" - line "woke up!" - done - -_FullHealText:: - TX_RAM wcd6d - text "'s" - line "health returned!" - done - -_ReviveText:: - TX_RAM wcd6d - text "" - line "is revitalized!" - done - -_RareCandyText:: - TX_RAM wcd6d - text " grew" - line "to level @" - TX_NUM wCurEnemyLVL, 1, 3 - text "!@@" - -_TurnedOnPC1Text:: - text "<PLAYER> turned on" - line "the PC." - prompt - -_AccessedBillsPCText:: - text "Accessed BILL's" - line "PC." - - para "Accessed #MON" - line "Storage System." - prompt - -_AccessedSomeonesPCText:: - text "Accessed someone's" - line "PC." - - para "Accessed #MON" - line "Storage System." - prompt - -_AccessedMyPCText:: - text "Accessed my PC." - - para "Accessed Item" - line "Storage System." - prompt - -_TurnedOnPC2Text:: - text "<PLAYER> turned on" - line "the PC." - prompt - -_WhatDoYouWantText:: - text "What do you want" - line "to do?" - done - -_WhatToDepositText:: - text "What do you want" - line "to deposit?" - done - -_DepositHowManyText:: - text "How many?" - done - -_ItemWasStoredText:: - TX_RAM wcd6d - text " was" - line "stored via PC." - prompt - -_NothingToDepositText:: - text "You have nothing" - line "to deposit." - prompt - -_NoRoomToStoreText:: - text "No room left to" - line "store items." - prompt - -_WhatToWithdrawText:: - text "What do you want" - line "to withdraw?" - done - -_WithdrawHowManyText:: - text "How many?" - done - -_WithdrewItemText:: - text "Withdrew" - line "@" - TX_RAM wcd6d - text "." - prompt - -_NothingStoredText:: - text "There is nothing" - line "stored." - prompt - -_CantCarryMoreText:: - text "You can't carry" - line "any more items." - prompt - -_WhatToTossText:: - text "What do you want" - line "to toss away?" - done - -_TossHowManyText:: - text "How many?" - done - -_AccessedHoFPCText:: - text "Accessed #MON" - line "LEAGUE's site." - - para "Accessed the HALL" - line "OF FAME List." - prompt - -_SwitchOnText:: - text "Switch on!" - prompt - -_WhatText:: - text "What?" - done - -_DepositWhichMonText:: - text "Deposit which" - line "#MON?" - done - -_MonWasStoredText:: - TX_RAM wcf4b - text " was" - line "stored in Box @" - TX_RAM wBoxNumString - text "." - prompt - -_CantDepositLastMonText:: - text "You can't deposit" - line "the last #MON!" - prompt - -_BoxFullText:: - text "Oops! This Box is" - line "full of #MON." - prompt - -_MonIsTakenOutText:: - TX_RAM wcf4b - text " is" - line "taken out." - cont "Got @" - TX_RAM wcf4b - text "." - prompt - -_NoMonText:: - text "What? There are" - line "no #MON here!" - prompt - -_CantTakeMonText:: - text "You can't take" - line "any more #MON." - - para "Deposit #MON" - line "first." - prompt - -_ReleaseWhichMonText:: - text "Release which" - line "#MON?" - done - -_OnceReleasedText:: - text "Once released," - line "@" - TX_RAM wcf4b - text " is" - cont "gone forever. OK?" - done - -_MonWasReleasedText:: - TX_RAM wcf4b - text " was" - line "released outside." - cont "Bye @" - -_CF4BExclamationText:: - TX_RAM wcf4b - text "!" - prompt - -_RequireCoinCaseText:: - text "A COIN CASE is" - line "required!@@" - -_ExchangeCoinsForPrizesText:: - text "We exchange your" - line "coins for prizes." - prompt - -_WhichPrizeText:: - text "Which prize do" - line "you want?" - done - -_HereYouGoText:: - text "Here you go!@@" - -_SoYouWantPrizeText:: - text "So, you want" - line "@" - TX_RAM wcd6d - text "?" - done - -_SorryNeedMoreCoinsText:: - text "Sorry, you need" - line "more coins.@@" - -_OopsYouDontHaveEnoughRoomText:: - text "Oops! You don't" - line "have enough room.@@" - -_OhFineThenText:: - text "Oh, fine then.@@" - -_GetDexRatedText:: - text "Want to get your" - line "#DEX rated?" - done - -_ClosedOaksPCText:: - text "Closed link to" - line "PROF.OAK's PC.@@" - -_AccessedOaksPCText:: - text "Accessed PROF." - line "OAK's PC." - - para "Accessed #DEX" - line "Rating System." - prompt - -_WhereWouldYouLikeText:: - text "Where would you" - line "like to go?" - done - -_PleaseWaitText:: - text "OK, please wait" - line "just a moment." - done - -_LinkCanceledText:: - text "The link was" - line "canceled." - done - -INCLUDE "text/oakspeech.asm" - -_DoYouWantToNicknameText:: - text "Do you want to" - line "give a nickname" - cont "to @" - TX_RAM wcd6d - text "?" - done - -_YourNameIsText:: - text "Right! So your" - line "name is <PLAYER>!" - prompt - -_HisNameIsText:: - text "That's right! I" - line "remember now! His" - cont "name is <RIVAL>!" - prompt - -_WillBeTradedText:: - TX_RAM wNameOfPlayerMonToBeTraded - text " and" - line "@" - TX_RAM wcd6d - text " will" - cont "be traded." - done - -_Char00Text:: - TX_NUM hSpriteIndexOrTextID,1,2 - text " ERROR." - done - -_Char55Text:: - text $4B,"@@" - -INCLUDE "text/maps/DiglettsCaveRoute2.asm" -INCLUDE "text/maps/ViridianForestNorthGate.asm" -INCLUDE "text/maps/Route2TradeHouse.asm" -INCLUDE "text/maps/Route2Gate.asm" -INCLUDE "text/maps/ViridianForestSouthGate.asm" -INCLUDE "text/maps/MtMoonPokecenter.asm" -INCLUDE "text/maps/SaffronGates.asm" -INCLUDE "text/maps/Daycare.asm" +INCLUDE "text/DiglettsCaveRoute2.asm" +INCLUDE "text/ViridianForestNorthGate.asm" +INCLUDE "text/Route2TradeHouse.asm" +INCLUDE "text/Route2Gate.asm" +INCLUDE "text/ViridianForestSouthGate.asm" +INCLUDE "text/MtMoonPokecenter.asm" +INCLUDE "text/SaffronGates.asm" +INCLUDE "text/Daycare.asm" SECTION "Text 4", ROMX -INCLUDE "text/maps/Daycare_2.asm" -INCLUDE "text/maps/UndergroundPathRoute6.asm" -INCLUDE "text/maps/UndergroundPathRoute7.asm" -INCLUDE "text/maps/UndergroundPathRoute7Copy.asm" -INCLUDE "text/maps/UndergroundPathRoute8.asm" -INCLUDE "text/maps/RockTunnelPokecenter.asm" -INCLUDE "text/maps/RockTunnel1F.asm" -INCLUDE "text/maps/PowerPlant.asm" -INCLUDE "text/maps/Route11Gate1F.asm" -INCLUDE "text/maps/Route11Gate2F.asm" -INCLUDE "text/maps/DiglettsCaveRoute11.asm" -INCLUDE "text/maps/Route12Gate1F.asm" -INCLUDE "text/maps/Route12Gate2F.asm" -INCLUDE "text/maps/Route12SuperRodHouse.asm" -INCLUDE "text/maps/Route15Gate1F.asm" -INCLUDE "text/maps/Route15Gate2F.asm" -INCLUDE "text/maps/Route16Gate1F.asm" -INCLUDE "text/maps/Route16Gate2F.asm" -INCLUDE "text/maps/Route16FlyHouse.asm" -INCLUDE "text/maps/Route18Gate1F.asm" -INCLUDE "text/maps/Route18Gate2F.asm" -INCLUDE "text/maps/Route22Gate.asm" -INCLUDE "text/maps/VictoryRoad2F.asm" -INCLUDE "text/maps/BillsHouse.asm" -INCLUDE "text/maps/Route1.asm" -INCLUDE "text/maps/Route2.asm" -INCLUDE "text/maps/Route3.asm" -INCLUDE "text/maps/Route4.asm" -INCLUDE "text/maps/Route5.asm" -INCLUDE "text/maps/Route6.asm" -INCLUDE "text/maps/Route7.asm" -INCLUDE "text/maps/Route8.asm" -INCLUDE "text/maps/Route9.asm" -INCLUDE "text/maps/Route10.asm" -INCLUDE "text/maps/Route11.asm" +INCLUDE "text/Daycare_2.asm" +INCLUDE "text/UndergroundPathRoute6.asm" +INCLUDE "text/UndergroundPathRoute7.asm" +INCLUDE "text/UndergroundPathRoute7Copy.asm" +INCLUDE "text/UndergroundPathRoute8.asm" +INCLUDE "text/RockTunnelPokecenter.asm" +INCLUDE "text/RockTunnel1F.asm" +INCLUDE "text/PowerPlant.asm" +INCLUDE "text/Route11Gate1F.asm" +INCLUDE "text/Route11Gate2F.asm" +INCLUDE "text/DiglettsCaveRoute11.asm" +INCLUDE "text/Route12Gate1F.asm" +INCLUDE "text/Route12Gate2F.asm" +INCLUDE "text/Route12SuperRodHouse.asm" +INCLUDE "text/Route15Gate1F.asm" +INCLUDE "text/Route15Gate2F.asm" +INCLUDE "text/Route16Gate1F.asm" +INCLUDE "text/Route16Gate2F.asm" +INCLUDE "text/Route16FlyHouse.asm" +INCLUDE "text/Route18Gate1F.asm" +INCLUDE "text/Route18Gate2F.asm" +INCLUDE "text/Route22Gate.asm" +INCLUDE "text/VictoryRoad2F.asm" +INCLUDE "text/BillsHouse.asm" +INCLUDE "text/Route1.asm" +INCLUDE "text/Route2.asm" +INCLUDE "text/Route3.asm" +INCLUDE "text/Route4.asm" +INCLUDE "text/Route5.asm" +INCLUDE "text/Route6.asm" +INCLUDE "text/Route7.asm" +INCLUDE "text/Route8.asm" +INCLUDE "text/Route9.asm" +INCLUDE "text/Route10.asm" +INCLUDE "text/Route11.asm" SECTION "Text 5", ROMX -INCLUDE "text/maps/Route11_2.asm" -INCLUDE "text/maps/Route12.asm" -INCLUDE "text/maps/Route13.asm" -INCLUDE "text/maps/Route14.asm" -INCLUDE "text/maps/Route15.asm" -INCLUDE "text/maps/Route16.asm" -INCLUDE "text/maps/Route17.asm" -INCLUDE "text/maps/Route18.asm" -INCLUDE "text/maps/Route19.asm" -INCLUDE "text/maps/Route20.asm" -INCLUDE "text/maps/Route21.asm" -INCLUDE "text/maps/Route22.asm" -INCLUDE "text/maps/Route23.asm" -INCLUDE "text/maps/Route24.asm" +INCLUDE "text/Route11_2.asm" +INCLUDE "text/Route12.asm" +INCLUDE "text/Route13.asm" +INCLUDE "text/Route14.asm" +INCLUDE "text/Route15.asm" +INCLUDE "text/Route16.asm" +INCLUDE "text/Route17.asm" +INCLUDE "text/Route18.asm" +INCLUDE "text/Route19.asm" +INCLUDE "text/Route20.asm" +INCLUDE "text/Route21.asm" +INCLUDE "text/Route22.asm" +INCLUDE "text/Route23.asm" +INCLUDE "text/Route24.asm" SECTION "Text 6", ROMX -INCLUDE "text/maps/Route24_2.asm" -INCLUDE "text/maps/Route25.asm" - -_FileDataDestroyedText:: - text "The file data is" - line "destroyed!" - prompt - -_WouldYouLikeToSaveText:: - text "Would you like to" - line "SAVE the game?" - done - -_GameSavedText:: - text "<PLAYER> saved" - line "the game!" - done - -_OlderFileWillBeErasedText:: - text "The older file" - line "will be erased to" - cont "save. Okay?" - done - -_WhenYouChangeBoxText:: - text "When you change a" - line "#MON BOX, data" - cont "will be saved." - - para "Is that okay?" - done - -_ChooseABoxText:: - text "Choose a" - line "<pkmn> BOX.@@" - -_EvolvedText:: - TX_RAM wcf4b - text " evolved" - done - -_IntoText:: - text "" - line "into @" - TX_RAM wcd6d - text "!" - done - -_StoppedEvolvingText:: - text "Huh? @" - TX_RAM wcf4b - text "" - line "stopped evolving!" - prompt - -_IsEvolvingText:: - text "What? @" - TX_RAM wcf4b - text "" - line "is evolving!" - done - -_FellAsleepText:: - text "<TARGET>" - line "fell asleep!" - prompt - -_AlreadyAsleepText:: - text "<TARGET>'s" - line "already asleep!" - prompt - -_PoisonedText:: - text "<TARGET>" - line "was poisoned!" - prompt - -_BadlyPoisonedText:: - text "<TARGET>'s" - line "badly poisoned!" - prompt - -_BurnedText:: - text "<TARGET>" - line "was burned!" - prompt - -_FrozenText:: - text "<TARGET>" - line "was frozen solid!" - prompt - -_FireDefrostedText:: - text "Fire defrosted" - line "<TARGET>!" - prompt - -_MonsStatsRoseText:: - text "<USER>'s" - line "@" - TX_RAM wcf4b - text "@@" - -_GreatlyRoseText:: - text $4c, "greatly@@" - -_RoseText:: - text " rose!" - prompt - -_MonsStatsFellText:: - text "<TARGET>'s" - line "@" - TX_RAM wcf4b - text "@@" - -_GreatlyFellText:: - text $4c, "greatly@@" - -_FellText:: - text " fell!" - prompt - -_RanFromBattleText:: - text "<USER>" - line "ran from battle!" - prompt - -_RanAwayScaredText:: - text "<TARGET>" - line "ran away scared!" - prompt - -_WasBlownAwayText:: - text "<TARGET>" - line "was blown away!" - prompt - -_ChargeMoveEffectText:: - text "<USER>@@" - -_MadeWhirlwindText:: - text "" - line "made a whirlwind!" - prompt - -_TookInSunlightText:: - text "" - line "took in sunlight!" - prompt - -_LoweredItsHeadText:: - text "" - line "lowered its head!" - prompt - -_SkyAttackGlowingText:: - text "" - line "is glowing!" - prompt - -_FlewUpHighText:: - text "" - line "flew up high!" - prompt - -_DugAHoleText:: - text "" - line "dug a hole!" - prompt - -_BecameConfusedText:: - text "<TARGET>" - line "became confused!" - prompt - -_MimicLearnedMoveText:: - text "<USER>" - line "learned" - cont "@" - TX_RAM wcd6d - text "!" - prompt - -_MoveWasDisabledText:: - text "<TARGET>'s" - line "@" - TX_RAM wcd6d - text " was" - cont "disabled!" - prompt - -_NothingHappenedText:: - text "Nothing happened!" - prompt - -_NoEffectText:: - text "No effect!" - prompt - -_ButItFailedText:: - text "But, it failed! " - prompt - -_DidntAffectText:: - text "It didn't affect" - line "<TARGET>!" - prompt - -_IsUnaffectedText:: - text "<TARGET>" - line "is unaffected!" - prompt - -_ParalyzedMayNotAttackText:: - text "<TARGET>'s" - line "paralyzed! It may" - cont "not attack!" - prompt - -_SubstituteText:: - text "It created a" - line "SUBSTITUTE!" - prompt - -_HasSubstituteText:: - text "<USER>" - line "has a SUBSTITUTE!" - prompt - -_TooWeakSubstituteText:: - text "Too weak to make" - line "a SUBSTITUTE!" - prompt - -_CoinsScatteredText:: - text "Coins scattered" - line "everywhere!" - prompt - -_GettingPumpedText:: - text "<USER>'s" - line "getting pumped!" - prompt - -_WasSeededText:: - text "<TARGET>" - line "was seeded!" - prompt - -_EvadedAttackText:: - text "<TARGET>" - line "evaded attack!" - prompt - -_HitWithRecoilText:: - text "<USER>'s" - line "hit with recoil!" - prompt - -_ConvertedTypeText:: - text "Converted type to" - line "<TARGET>'s!" - prompt - -_StatusChangesEliminatedText:: - text "All STATUS changes" - line "are eliminated!" - prompt - -_StartedSleepingEffect:: - text "<USER>" - line "started sleeping!" - done - -_FellAsleepBecameHealthyText:: - text "<USER>" - line "fell asleep and" - cont "became healthy!" - done - -_RegainedHealthText:: - text "<USER>" - line "regained health!" - prompt - -_TransformedText:: - text "<USER>" - line "transformed into" - cont "@" - TX_RAM wcd6d - text "!" - prompt - -_LightScreenProtectedText:: - text "<USER>'s" - line "protected against" - cont "special attacks!" - prompt +INCLUDE "text/Route24_2.asm" +INCLUDE "text/Route25.asm" -_ReflectGainedArmorText:: - text "<USER>" - line "gained armor!" - prompt +INCLUDE "data/text/text_3.asm" -_ShroudedInMistText:: - text "<USER>'s" - line "shrouded in mist!" - prompt - -_SuckedHealthText:: - text "Sucked health from" - line "<TARGET>!" - prompt - -_DreamWasEatenText:: - text "<TARGET>'s" - line "dream was eaten!" - prompt - -_TradeCenterText1:: - text "!" - done - -_ColosseumText1:: - text "!" - done - -INCLUDE "text/maps/RedsHouse1F.asm" -INCLUDE "text/maps/BluesHouse.asm" -INCLUDE "text/maps/OaksLab.asm" -INCLUDE "text/maps/ViridianPokecenter.asm" -INCLUDE "text/maps/ViridianMart.asm" -INCLUDE "text/maps/ViridianSchoolHouse.asm" -INCLUDE "text/maps/ViridianNicknameHouse.asm" -INCLUDE "text/maps/ViridianGym.asm" -INCLUDE "text/maps/Museum1F.asm" -INCLUDE "text/maps/Museum2F.asm" -INCLUDE "text/maps/PewterGym.asm" +INCLUDE "text/RedsHouse1F.asm" +INCLUDE "text/BluesHouse.asm" +INCLUDE "text/OaksLab.asm" +INCLUDE "text/ViridianPokecenter.asm" +INCLUDE "text/ViridianMart.asm" +INCLUDE "text/ViridianSchoolHouse.asm" +INCLUDE "text/ViridianNicknameHouse.asm" +INCLUDE "text/ViridianGym.asm" +INCLUDE "text/Museum1F.asm" +INCLUDE "text/Museum2F.asm" +INCLUDE "text/PewterGym.asm" SECTION "Text 7", ROMX -INCLUDE "text/maps/PewterGym_2.asm" -INCLUDE "text/maps/PewterNidoranHouse.asm" -INCLUDE "text/maps/PewterMart.asm" -INCLUDE "text/maps/PewterSpeechHouse.asm" -INCLUDE "text/maps/PewterPokecenter.asm" -INCLUDE "text/maps/CeruleanTrashedHouse.asm" -INCLUDE "text/maps/CeruleanTradeHouse.asm" -INCLUDE "text/maps/CeruleanPokecenter.asm" -INCLUDE "text/maps/CeruleanGym.asm" -INCLUDE "text/maps/BikeShop.asm" -INCLUDE "text/maps/CeruleanMart.asm" -INCLUDE "text/maps/CeruleanBadgeHouse.asm" -INCLUDE "text/maps/LavenderPokecenter.asm" -INCLUDE "text/maps/PokemonTower1F.asm" -INCLUDE "text/maps/PokemonTower2F.asm" -INCLUDE "text/maps/PokemonTower3F.asm" -INCLUDE "text/maps/PokemonTower4F.asm" -INCLUDE "text/maps/PokemonTower5F.asm" -INCLUDE "text/maps/PokemonTower6F.asm" -INCLUDE "text/maps/PokemonTower7F.asm" -INCLUDE "text/maps/MrFujisHouse.asm" -INCLUDE "text/maps/LavenderMart.asm" -INCLUDE "text/maps/LavenderCuboneHouse.asm" -INCLUDE "text/maps/NameRatersHouse.asm" -INCLUDE "text/maps/VermilionPokecenter.asm" -INCLUDE "text/maps/PokemonFanClub.asm" -INCLUDE "text/maps/VermilionMart.asm" -INCLUDE "text/maps/VermilionGym.asm" +INCLUDE "text/PewterGym_2.asm" +INCLUDE "text/PewterNidoranHouse.asm" +INCLUDE "text/PewterMart.asm" +INCLUDE "text/PewterSpeechHouse.asm" +INCLUDE "text/PewterPokecenter.asm" +INCLUDE "text/CeruleanTrashedHouse.asm" +INCLUDE "text/CeruleanTradeHouse.asm" +INCLUDE "text/CeruleanPokecenter.asm" +INCLUDE "text/CeruleanGym.asm" +INCLUDE "text/BikeShop.asm" +INCLUDE "text/CeruleanMart.asm" +INCLUDE "text/CeruleanBadgeHouse.asm" +INCLUDE "text/LavenderPokecenter.asm" +INCLUDE "text/PokemonTower1F.asm" +INCLUDE "text/PokemonTower2F.asm" +INCLUDE "text/PokemonTower3F.asm" +INCLUDE "text/PokemonTower4F.asm" +INCLUDE "text/PokemonTower5F.asm" +INCLUDE "text/PokemonTower6F.asm" +INCLUDE "text/PokemonTower7F.asm" +INCLUDE "text/MrFujisHouse.asm" +INCLUDE "text/LavenderMart.asm" +INCLUDE "text/LavenderCuboneHouse.asm" +INCLUDE "text/NameRatersHouse.asm" +INCLUDE "text/VermilionPokecenter.asm" +INCLUDE "text/PokemonFanClub.asm" +INCLUDE "text/VermilionMart.asm" +INCLUDE "text/VermilionGym.asm" SECTION "Text 8", ROMX -INCLUDE "text/maps/VermilionGym_2.asm" -INCLUDE "text/maps/VermilionPidgeyHouse.asm" -INCLUDE "text/maps/VermilionDock.asm" -INCLUDE "text/maps/VermilionOldRodHouse.asm" -INCLUDE "text/maps/CeladonMart1F.asm" -INCLUDE "text/maps/CeladonMart2F.asm" -INCLUDE "text/maps/CeladonMart3F.asm" -INCLUDE "text/maps/CeladonMart4F.asm" -INCLUDE "text/maps/CeladonMartRoof.asm" -INCLUDE "text/maps/CeladonMansion1F.asm" -INCLUDE "text/maps/CeladonMansion2F.asm" -INCLUDE "text/maps/CeladonMansion3F.asm" -INCLUDE "text/maps/CeladonMansionRoof.asm" -INCLUDE "text/maps/CeladonMansionRoofHouse.asm" -INCLUDE "text/maps/CeladonPokecenter.asm" -INCLUDE "text/maps/CeladonGym.asm" -INCLUDE "text/maps/GameCorner.asm" -INCLUDE "text/maps/CeladonMart5F.asm" -INCLUDE "text/maps/GameCornerPrizeRoom.asm" -INCLUDE "text/maps/CeladonDiner.asm" -INCLUDE "text/maps/CeladonChiefHouse.asm" -INCLUDE "text/maps/CeladonHotel.asm" -INCLUDE "text/maps/FuchsiaMart.asm" -INCLUDE "text/maps/FuchsiaBillsGrandpasHouse.asm" -INCLUDE "text/maps/FuchsiaPokecenter.asm" -INCLUDE "text/maps/WardensHouse.asm" -INCLUDE "text/maps/SafariZoneGate.asm" -INCLUDE "text/maps/FuchsiaGym.asm" +INCLUDE "text/VermilionGym_2.asm" +INCLUDE "text/VermilionPidgeyHouse.asm" +INCLUDE "text/VermilionDock.asm" +INCLUDE "text/VermilionOldRodHouse.asm" +INCLUDE "text/CeladonMart1F.asm" +INCLUDE "text/CeladonMart2F.asm" +INCLUDE "text/CeladonMart3F.asm" +INCLUDE "text/CeladonMart4F.asm" +INCLUDE "text/CeladonMartRoof.asm" +INCLUDE "text/CeladonMansion1F.asm" +INCLUDE "text/CeladonMansion2F.asm" +INCLUDE "text/CeladonMansion3F.asm" +INCLUDE "text/CeladonMansionRoof.asm" +INCLUDE "text/CeladonMansionRoofHouse.asm" +INCLUDE "text/CeladonPokecenter.asm" +INCLUDE "text/CeladonGym.asm" +INCLUDE "text/GameCorner.asm" +INCLUDE "text/CeladonMart5F.asm" +INCLUDE "text/GameCornerPrizeRoom.asm" +INCLUDE "text/CeladonDiner.asm" +INCLUDE "text/CeladonChiefHouse.asm" +INCLUDE "text/CeladonHotel.asm" +INCLUDE "text/FuchsiaMart.asm" +INCLUDE "text/FuchsiaBillsGrandpasHouse.asm" +INCLUDE "text/FuchsiaPokecenter.asm" +INCLUDE "text/WardensHouse.asm" +INCLUDE "text/SafariZoneGate.asm" +INCLUDE "text/FuchsiaGym.asm" SECTION "Text 9", ROMX -INCLUDE "text/maps/FuchsiaGym_2.asm" -INCLUDE "text/maps/FuchsiaMeetingRoom.asm" -INCLUDE "text/maps/FuchsiaGoodRodHouse.asm" -INCLUDE "text/maps/PokemonMansion1F.asm" -INCLUDE "text/maps/CinnabarGym.asm" -INCLUDE "text/maps/CinnabarLab.asm" -INCLUDE "text/maps/CinnabarLabTradeRoom.asm" -INCLUDE "text/maps/CinnabarLabMetronomeRoom.asm" -INCLUDE "text/maps/CinnabarLabFossilRoom.asm" -INCLUDE "text/maps/CinnabarPokecenter.asm" -INCLUDE "text/maps/CinnabarMart.asm" -INCLUDE "text/maps/IndigoPlateauLobby.asm" -INCLUDE "text/maps/CopycatsHouse1F.asm" -INCLUDE "text/maps/CopycatsHouse2F.asm" -INCLUDE "text/maps/FightingDojo.asm" -INCLUDE "text/maps/SaffronGym.asm" -INCLUDE "text/maps/SaffronPidgeyHouse.asm" -INCLUDE "text/maps/SaffronMart.asm" -INCLUDE "text/maps/SilphCo1F.asm" -INCLUDE "text/maps/SaffronPokecenter.asm" -INCLUDE "text/maps/MrPsychicsHouse.asm" - -_PokemartGreetingText:: - text "Hi there!" - next "May I help you?" - done - -_PokemonFaintedText:: - TX_RAM wcd6d - text "" - line "fainted!" - done - -_PlayerBlackedOutText:: - text "<PLAYER> is out of" - line "useable #MON!" - - para "<PLAYER> blacked" - line "out!" - prompt - -_RepelWoreOffText:: - text "REPEL's effect" - line "wore off." - done - -_PokemartBuyingGreetingText:: - text "Take your time." - done - -_PokemartTellBuyPriceText:: - TX_RAM wcf4b - text "?" - line "That will be" - cont "¥@" - TX_BCD hMoney, 3 | LEADING_ZEROES | LEFT_ALIGN - text ". OK?" - done - -_PokemartBoughtItemText:: - text "Here you are!" - line "Thank you!" - prompt - -_PokemartNotEnoughMoneyText:: - text "You don't have" - line "enough money." - prompt - -_PokemartItemBagFullText:: - text "You can't carry" - line "any more items." - prompt - -_PokemonSellingGreetingText:: - text "What would you" - line "like to sell?" - done - -_PokemartTellSellPriceText:: - text "I can pay you" - line "¥@" - TX_BCD hMoney, 3 | LEADING_ZEROES | LEFT_ALIGN - text " for that." - done - -_PokemartItemBagEmptyText:: - text "You don't have" - line "anything to sell." - prompt - -_PokemartUnsellableItemText:: - text "I can't put a" - line "price on that." - prompt - -_PokemartThankYouText:: - text "Thank you!" - done - -_PokemartAnythingElseText:: - text "Is there anything" - line "else I can do?" - done - -_LearnedMove1Text:: - TX_RAM wLearnMoveMonName - text " learned" - line "@" - TX_RAM wcf4b - text "!@@" - -_WhichMoveToForgetText:: - text "Which move should" - next "be forgotten?" - done - -_AbandonLearningText:: - text "Abandon learning" - line "@" - TX_RAM wcf4b - text "?" - done - -_DidNotLearnText:: - TX_RAM wLearnMoveMonName - text "" - line "did not learn" - cont "@" - TX_RAM wcf4b - text "!" - prompt - -_TryingToLearnText:: - TX_RAM wLearnMoveMonName - text " is" - line "trying to learn" - cont "@" - TX_RAM wcf4b - text "!" - - para "But, @" - TX_RAM wLearnMoveMonName - text "" - line "can't learn more" - cont "than 4 moves!" - - para "Delete an older" - line "move to make room" - cont "for @" - TX_RAM wcf4b - text "?" - done - -_OneTwoAndText:: - text "1, 2 and...@@" - -_PoofText:: - text " Poof!@@" - -_ForgotAndText:: - text "" - para "@" - TX_RAM wLearnMoveMonName - text " forgot" - line "@" - TX_RAM wcd6d - text "!" - - para "And..." - prompt - -_HMCantDeleteText:: - text "HM techniques" - line "can't be deleted!" - prompt - -_PokemonCenterWelcomeText:: - text "Welcome to our" - line "#MON CENTER!" - - para "We heal your" - line "#MON back to" - cont "perfect health!" - prompt - -_ShallWeHealYourPokemonText:: - text "Shall we heal your" - line "#MON?" - done - -_NeedYourPokemonText:: - text "OK. We'll need" - line "your #MON." - done - -_PokemonFightingFitText:: - text "Thank you!" - line "Your #MON are" - cont "fighting fit!" - prompt - -_PokemonCenterFarewellText:: - text "We hope to see" - line "you again!" - done - -_CableClubNPCAreaReservedFor2FriendsLinkedByCableText:: - text "This area is" - line "reserved for 2" - cont "friends who are" - cont "linked by cable." - done - -_CableClubNPCWelcomeText:: - text "Welcome to the" - line "Cable Club!" - done - -_CableClubNPCPleaseApplyHereHaveToSaveText:: - text "Please apply here." - - para "Before opening" - line "the link, we have" - cont "to save the game." - done - -_CableClubNPCPleaseWaitText:: - text "Please wait.@@" - -_CableClubNPCLinkClosedBecauseOfInactivityText:: - text "The link has been" - line "closed because of" - cont "inactivity." - - para "Please contact" - line "your friend and" - cont "come again!" - done +INCLUDE "text/FuchsiaGym_2.asm" +INCLUDE "text/FuchsiaMeetingRoom.asm" +INCLUDE "text/FuchsiaGoodRodHouse.asm" +INCLUDE "text/PokemonMansion1F.asm" +INCLUDE "text/CinnabarGym.asm" +INCLUDE "text/CinnabarLab.asm" +INCLUDE "text/CinnabarLabTradeRoom.asm" +INCLUDE "text/CinnabarLabMetronomeRoom.asm" +INCLUDE "text/CinnabarLabFossilRoom.asm" +INCLUDE "text/CinnabarPokecenter.asm" +INCLUDE "text/CinnabarMart.asm" +INCLUDE "text/IndigoPlateauLobby.asm" +INCLUDE "text/CopycatsHouse1F.asm" +INCLUDE "text/CopycatsHouse2F.asm" +INCLUDE "text/FightingDojo.asm" +INCLUDE "text/SaffronGym.asm" +INCLUDE "text/SaffronPidgeyHouse.asm" +INCLUDE "text/SaffronMart.asm" +INCLUDE "text/SilphCo1F.asm" +INCLUDE "text/SaffronPokecenter.asm" +INCLUDE "text/MrPsychicsHouse.asm" + +INCLUDE "data/text/text_4.asm" SECTION "Text 10", ROMX -_CableClubNPCPleaseComeAgainText:: - text "Please come again!" - done - -_CableClubNPCMakingPreparationsText:: - text "We're making" - line "preparations." - cont "Please wait." - done - -_UsedStrengthText:: - TX_RAM wcd6d - text " used" - line "STRENGTH.@@" - -_CanMoveBouldersText:: - TX_RAM wcd6d - text " can" - line "move boulders." - prompt - -_CurrentTooFastText:: - text "The current is" - line "much too fast!" - prompt - -_CyclingIsFunText:: - text "Cycling is fun!" - line "Forget SURFing!" - prompt - -_FlashLightsAreaText:: - text "A blinding FLASH" - line "lights the area!" - prompt - -_WarpToLastPokemonCenterText:: - text "Warp to the last" - line "#MON CENTER." - done - -_CannotUseTeleportNowText:: - TX_RAM wcd6d - text " can't" - line "use TELEPORT now." - prompt - -_CannotFlyHereText:: - TX_RAM wcd6d - text " can't" - line "FLY here." - prompt - -_NotHealthyEnoughText:: - text "Not healthy" - line "enough." - prompt - -_NewBadgeRequiredText:: - text "No! A new BADGE" - line "is required." - prompt - -_CannotUseItemsHereText:: - text "You can't use items" - line "here." - prompt - -_CannotGetOffHereText:: - text "You can't get off" - line "here." - prompt - -_GotMonText:: - text "<PLAYER> got" - line "@" - TX_RAM wcd6d - text "!@@" - -_SentToBoxText:: - text "There's no more" - line "room for #MON!" - cont "@" - TX_RAM wBoxMonNicks - text " was" - cont "sent to #MON" - cont "BOX @" - TX_RAM wcf4b - text " on PC!" - done - -_BoxIsFullText:: - text "There's no more" - line "room for #MON!" - - para "The #MON BOX" - line "is full and can't" - cont "accept any more!" - - para "Change the BOX at" - line "a #MON CENTER!" - done - -INCLUDE "text/maps/PalletTown.asm" -INCLUDE "text/maps/ViridianCity.asm" -INCLUDE "text/maps/PewterCity.asm" -INCLUDE "text/maps/CeruleanCity.asm" -INCLUDE "text/maps/LavenderTown.asm" -INCLUDE "text/maps/VermilionCity.asm" -INCLUDE "text/maps/CeladonCity.asm" -INCLUDE "text/maps/FuchsiaCity.asm" -INCLUDE "text/maps/CinnabarIsland.asm" -INCLUDE "text/maps/SaffronCity.asm" - -_ItemUseBallText00:: - text "It dodged the" - line "thrown BALL!" - - para "This #MON" - line "can't be caught!" - prompt - -_ItemUseBallText01:: - text "You missed the" - line "#MON!" - prompt - -_ItemUseBallText02:: - text "Darn! The #MON" - line "broke free!" - prompt - -_ItemUseBallText03:: - text "Aww! It appeared" - line "to be caught! " - prompt - -_ItemUseBallText04:: - text "Shoot! It was so" - line "close too!" - prompt +INCLUDE "data/text/text_5.asm" -_ItemUseBallText05:: - text "All right!" - line "@" - TX_RAM wEnemyMonNick - text " was" - cont "caught!@@" +INCLUDE "text/PalletTown.asm" +INCLUDE "text/ViridianCity.asm" +INCLUDE "text/PewterCity.asm" +INCLUDE "text/CeruleanCity.asm" +INCLUDE "text/LavenderTown.asm" +INCLUDE "text/VermilionCity.asm" +INCLUDE "text/CeladonCity.asm" +INCLUDE "text/FuchsiaCity.asm" +INCLUDE "text/CinnabarIsland.asm" +INCLUDE "text/SaffronCity.asm" -_ItemUseBallText07:: - TX_RAM wBoxMonNicks - text " was" - line "transferred to" - cont "BILL's PC!" - prompt - -_ItemUseBallText08:: - TX_RAM wBoxMonNicks - text " was" - line "transferred to" - cont "someone's PC!" - prompt - -_ItemUseBallText06:: - text "New #DEX data" - line "will be added for" - cont "@" - TX_RAM wEnemyMonNick - text "!@@" - -_SurfingGotOnText:: - text "<PLAYER> got on" - line "@" - TX_RAM wcd6d - text "!" - prompt - -_SurfingNoPlaceToGetOffText:: - text "There's no place" - line "to get off!" - prompt - -_VitaminStatRoseText:: - TX_RAM wcd6d - text "'s" - line "@" - TX_RAM wcf4b - text " rose." - prompt - -_VitaminNoEffectText:: - text "It won't have any" - line "effect." - prompt - -_ThrewBaitText:: - text "<PLAYER> threw" - line "some BAIT." - done - -_ThrewRockText:: - text "<PLAYER> threw a" - line "ROCK." - done - -_PlayedFluteNoEffectText:: - text "Played the #" - line "FLUTE." - - para "Now, that's a" - line "catchy tune!" - prompt - -_FluteWokeUpText:: - text "All sleeping" - line "#MON woke up." - prompt - -_PlayedFluteHadEffectText:: - text "<PLAYER> played the" - line "# FLUTE.@@" - -_CoinCaseNumCoinsText:: - text "Coins" - line "@" - TX_BCD wPlayerCoins, 2 | LEADING_ZEROES | LEFT_ALIGN - text " " - prompt - -_ItemfinderFoundItemText:: - text "Yes! ITEMFINDER" - line "indicates there's" - cont "an item nearby." - prompt - -_ItemfinderFoundNothingText:: - text "Nope! ITEMFINDER" - line "isn't responding." - prompt - -_RaisePPWhichTechniqueText:: - text "Raise PP of which" - line "technique?" - done - -_RestorePPWhichTechniqueText:: - text "Restore PP of" - line "which technique?" - done - -_PPMaxedOutText:: - TX_RAM wcf4b - text "'s PP" - line "is maxed out." - prompt - -_PPIncreasedText:: - TX_RAM wcf4b - text "'s PP" - line "increased." - prompt - -_PPRestoredText:: - text "PP was restored." - prompt - -_BootedUpTMText:: - text "Booted up a TM!" - prompt - -_BootedUpHMText:: - text "Booted up an HM!" - prompt - -_TeachMachineMoveText:: - text "It contained" - line "@" - TX_RAM wcf4b - text "!" - - para "Teach @" - TX_RAM wcf4b - text "" - line "to a #MON?" - done - -_MonCannotLearnMachineMoveText:: - TX_RAM wcd6d - text " is not" - line "compatible with" - cont "@" - TX_RAM wcf4b - text "." - - para "It can't learn" - line "@" - TX_RAM wcf4b - text "." - prompt - -_ItemUseNotTimeText:: - text "OAK: <PLAYER>!" - line "This isn't the" - cont "time to use that! " - prompt - -_ItemUseNotYoursToUseText:: - text "This isn't yours" - line "to use!" - prompt - -_ItemUseNoEffectText:: - text "It won't have any" - line "effect." - prompt - -_ThrowBallAtTrainerMonText1:: - text "The trainer" - line "blocked the BALL!" - prompt - -_ThrowBallAtTrainerMonText2:: - text "Don't be a thief!" - prompt - -_NoCyclingAllowedHereText:: - text "No cycling" - next "allowed here." - prompt - -_NoSurfingHereText:: - text "No SURFing on" - line "@" - TX_RAM wcd6d - text " here!" - prompt - -_BoxFullCannotThrowBallText:: - text "The #MON BOX" - line "is full! Can't" - cont "use that item!" - prompt +INCLUDE "data/text/text_6.asm" SECTION "Text 11", ROMX -_ItemUseText001:: - text "<PLAYER> used@@" - -_ItemUseText002:: - TX_RAM wcf4b - text "!" - done - -_GotOnBicycleText1:: - text "<PLAYER> got on the@@" - -_GotOnBicycleText2:: - TX_RAM wcf4b - text "!" - prompt - -_GotOffBicycleText1:: - text "<PLAYER> got off@@" - -_GotOffBicycleText2:: - text "the @" - TX_RAM wcf4b - text "." - prompt - -_ThrewAwayItemText:: - text "Threw away" - line "@" - TX_RAM wcd6d - text "." - prompt - -_IsItOKToTossItemText:: - text "Is it OK to toss" - line "@" - TX_RAM wcf4b - text "?" - prompt - -_TooImportantToTossText:: - text "That's too impor-" - line "tant to toss!" - prompt - -_AlreadyKnowsText:: - TX_RAM wcd6d - text " knows" - line "@" - TX_RAM wcf4b - text "!" - prompt - -_ConnectCableText:: - text "Okay, connect the" - line "cable like so!" - prompt - -_TradedForText:: - text "<PLAYER> traded" - line "@" - TX_RAM wInGameTradeGiveMonName - text " for" - cont "@" - TX_RAM wInGameTradeReceiveMonName - text "!@@" - -_WannaTrade1Text:: - text "I'm looking for" - line "@" - TX_RAM wInGameTradeGiveMonName - text "! Wanna" - - para "trade one for" - line "@" - TX_RAM wInGameTradeReceiveMonName - text "? " - done - -_NoTrade1Text:: - text "Awww!" - line "Oh well..." - done - -_WrongMon1Text:: - text "What? That's not" - line "@" - TX_RAM wInGameTradeGiveMonName - text "!" - - para "If you get one," - line "come back here!" - done - -_Thanks1Text:: - text "Hey thanks!" - done - -_AfterTrade1Text:: - text "Isn't my old" - line "@" - TX_RAM wInGameTradeReceiveMonName - text " great?" - done - -_WannaTrade2Text:: - text "Hello there! Do" - line "you want to trade" - - para "your @" - TX_RAM wInGameTradeGiveMonName - text "" - line "for @" - TX_RAM wInGameTradeReceiveMonName - text "?" - done - -_NoTrade2Text:: - text "Well, if you" - line "don't want to..." - done - -_WrongMon2Text:: - text "Hmmm? This isn't" - line "@" - TX_RAM wInGameTradeGiveMonName - text "." - - para "Think of me when" - line "you get one." - done - -_Thanks2Text:: - text "Thanks!" - done - -_AfterTrade2Text:: - text "The @" - TX_RAM wInGameTradeGiveMonName - text " you" - line "traded to me" - - para "went and evolved!" - done - -_WannaTrade3Text:: - text "Hi! Do you have" - line "@" - TX_RAM wInGameTradeGiveMonName - text "?" - - para "Want to trade it" - line "for @" - TX_RAM wInGameTradeReceiveMonName - text "?" - done - -_NoTrade3Text:: - text "That's too bad." - done - -_WrongMon3Text:: - text "...This is no" - line "@" - TX_RAM wInGameTradeGiveMonName - text "." - - para "If you get one," - line "trade it with me!" - done - -_Thanks3Text:: - text "Thanks pal!" - done - -_AfterTrade3Text:: - text "How is my old" - line "@" - TX_RAM wInGameTradeReceiveMonName - text "?" - - para "My @" - TX_RAM wInGameTradeGiveMonName - text " is" - line "doing great!" - done - -_NothingToCutText:: - text "There isn't" - line "anything to CUT!" - prompt - -_UsedCutText:: - TX_RAM wcd6d - text " hacked" - line "away with CUT!" - prompt +INCLUDE "data/text/text_7.asm" SECTION "Pokedex Text", ROMX -INCLUDE "text/pokedex.asm" +INCLUDE "data/pokemon/dex_text.asm" SECTION "Move Names", ROMX -INCLUDE "text/move_names.asm" +INCLUDE "data/moves/names.asm" diff --git a/text/maps/AgathasRoom.asm b/text/AgathasRoom.asm index 9ef5059a..9ef5059a 100644 --- a/text/maps/AgathasRoom.asm +++ b/text/AgathasRoom.asm diff --git a/text/maps/BikeShop.asm b/text/BikeShop.asm index 86799865..86799865 100644 --- a/text/maps/BikeShop.asm +++ b/text/BikeShop.asm diff --git a/text/maps/BillsHouse.asm b/text/BillsHouse.asm index 5ece48d7..5ece48d7 100644 --- a/text/maps/BillsHouse.asm +++ b/text/BillsHouse.asm diff --git a/text/maps/BluesHouse.asm b/text/BluesHouse.asm index 1898636a..1898636a 100644 --- a/text/maps/BluesHouse.asm +++ b/text/BluesHouse.asm diff --git a/text/maps/BrunosRoom.asm b/text/BrunosRoom.asm index 9c493c4a..9c493c4a 100644 --- a/text/maps/BrunosRoom.asm +++ b/text/BrunosRoom.asm diff --git a/text/maps/CeladonChiefHouse.asm b/text/CeladonChiefHouse.asm index 19e59bd6..19e59bd6 100644 --- a/text/maps/CeladonChiefHouse.asm +++ b/text/CeladonChiefHouse.asm diff --git a/text/maps/CeladonCity.asm b/text/CeladonCity.asm index 1dbd5cdf..1dbd5cdf 100644 --- a/text/maps/CeladonCity.asm +++ b/text/CeladonCity.asm diff --git a/text/maps/CeladonDiner.asm b/text/CeladonDiner.asm index dc5e9350..dc5e9350 100644 --- a/text/maps/CeladonDiner.asm +++ b/text/CeladonDiner.asm diff --git a/text/maps/CeladonGym.asm b/text/CeladonGym.asm index d6586035..d6586035 100644 --- a/text/maps/CeladonGym.asm +++ b/text/CeladonGym.asm diff --git a/text/maps/CeladonHotel.asm b/text/CeladonHotel.asm index f2eb059e..f2eb059e 100644 --- a/text/maps/CeladonHotel.asm +++ b/text/CeladonHotel.asm diff --git a/text/maps/CeladonMansion1F.asm b/text/CeladonMansion1F.asm index fc175cd5..fc175cd5 100644 --- a/text/maps/CeladonMansion1F.asm +++ b/text/CeladonMansion1F.asm diff --git a/text/maps/CeladonMansion2F.asm b/text/CeladonMansion2F.asm index b2ecb4fa..b2ecb4fa 100644 --- a/text/maps/CeladonMansion2F.asm +++ b/text/CeladonMansion2F.asm diff --git a/text/maps/CeladonMansion3F.asm b/text/CeladonMansion3F.asm index c8858281..c8858281 100644 --- a/text/maps/CeladonMansion3F.asm +++ b/text/CeladonMansion3F.asm diff --git a/text/maps/CeladonMansionRoof.asm b/text/CeladonMansionRoof.asm index c8fd7ec8..c8fd7ec8 100644 --- a/text/maps/CeladonMansionRoof.asm +++ b/text/CeladonMansionRoof.asm diff --git a/text/maps/CeladonMansionRoofHouse.asm b/text/CeladonMansionRoofHouse.asm index dab81a8d..dab81a8d 100644 --- a/text/maps/CeladonMansionRoofHouse.asm +++ b/text/CeladonMansionRoofHouse.asm diff --git a/text/maps/CeladonMart1F.asm b/text/CeladonMart1F.asm index 8d805edc..8d805edc 100644 --- a/text/maps/CeladonMart1F.asm +++ b/text/CeladonMart1F.asm diff --git a/text/maps/CeladonMart2F.asm b/text/CeladonMart2F.asm index 74869902..74869902 100644 --- a/text/maps/CeladonMart2F.asm +++ b/text/CeladonMart2F.asm diff --git a/text/maps/CeladonMart3F.asm b/text/CeladonMart3F.asm index 8211750d..8211750d 100644 --- a/text/maps/CeladonMart3F.asm +++ b/text/CeladonMart3F.asm diff --git a/text/maps/CeladonMart4F.asm b/text/CeladonMart4F.asm index 78fa0b66..78fa0b66 100644 --- a/text/maps/CeladonMart4F.asm +++ b/text/CeladonMart4F.asm diff --git a/text/maps/CeladonMart5F.asm b/text/CeladonMart5F.asm index 1871194b..1871194b 100644 --- a/text/maps/CeladonMart5F.asm +++ b/text/CeladonMart5F.asm diff --git a/text/maps/CeladonMartRoof.asm b/text/CeladonMartRoof.asm index 1ed52e86..1ed52e86 100644 --- a/text/maps/CeladonMartRoof.asm +++ b/text/CeladonMartRoof.asm diff --git a/text/maps/CeladonPokecenter.asm b/text/CeladonPokecenter.asm index a04f51c9..a04f51c9 100644 --- a/text/maps/CeladonPokecenter.asm +++ b/text/CeladonPokecenter.asm diff --git a/text/maps/CeruleanBadgeHouse.asm b/text/CeruleanBadgeHouse.asm index 9d701443..9d701443 100644 --- a/text/maps/CeruleanBadgeHouse.asm +++ b/text/CeruleanBadgeHouse.asm diff --git a/text/maps/CeruleanCaveB1F.asm b/text/CeruleanCaveB1F.asm index 0918a3ce..0918a3ce 100644 --- a/text/maps/CeruleanCaveB1F.asm +++ b/text/CeruleanCaveB1F.asm diff --git a/text/maps/CeruleanCity.asm b/text/CeruleanCity.asm index f0d2c29e..f0d2c29e 100644 --- a/text/maps/CeruleanCity.asm +++ b/text/CeruleanCity.asm diff --git a/text/maps/CeruleanGym.asm b/text/CeruleanGym.asm index 1d1d6d1c..1d1d6d1c 100644 --- a/text/maps/CeruleanGym.asm +++ b/text/CeruleanGym.asm diff --git a/text/maps/CeruleanMart.asm b/text/CeruleanMart.asm index 86a74588..86a74588 100644 --- a/text/maps/CeruleanMart.asm +++ b/text/CeruleanMart.asm diff --git a/text/maps/CeruleanPokecenter.asm b/text/CeruleanPokecenter.asm index 497fbce3..497fbce3 100644 --- a/text/maps/CeruleanPokecenter.asm +++ b/text/CeruleanPokecenter.asm diff --git a/text/maps/CeruleanTradeHouse.asm b/text/CeruleanTradeHouse.asm index b606613b..b606613b 100644 --- a/text/maps/CeruleanTradeHouse.asm +++ b/text/CeruleanTradeHouse.asm diff --git a/text/maps/CeruleanTrashedHouse.asm b/text/CeruleanTrashedHouse.asm index f79540ae..f79540ae 100644 --- a/text/maps/CeruleanTrashedHouse.asm +++ b/text/CeruleanTrashedHouse.asm diff --git a/text/maps/ChampionsRoom.asm b/text/ChampionsRoom.asm index 61050565..61050565 100644 --- a/text/maps/ChampionsRoom.asm +++ b/text/ChampionsRoom.asm diff --git a/text/maps/CinnabarGym.asm b/text/CinnabarGym.asm index 1b531571..1b531571 100644 --- a/text/maps/CinnabarGym.asm +++ b/text/CinnabarGym.asm diff --git a/text/maps/CinnabarIsland.asm b/text/CinnabarIsland.asm index 352ab8ea..352ab8ea 100644 --- a/text/maps/CinnabarIsland.asm +++ b/text/CinnabarIsland.asm diff --git a/text/maps/CinnabarLab.asm b/text/CinnabarLab.asm index a93a484d..a93a484d 100644 --- a/text/maps/CinnabarLab.asm +++ b/text/CinnabarLab.asm diff --git a/text/maps/CinnabarLabFossilRoom.asm b/text/CinnabarLabFossilRoom.asm index 95bde685..95bde685 100644 --- a/text/maps/CinnabarLabFossilRoom.asm +++ b/text/CinnabarLabFossilRoom.asm diff --git a/text/maps/CinnabarLabMetronomeRoom.asm b/text/CinnabarLabMetronomeRoom.asm index fa04677f..fa04677f 100644 --- a/text/maps/CinnabarLabMetronomeRoom.asm +++ b/text/CinnabarLabMetronomeRoom.asm diff --git a/text/maps/CinnabarLabTradeRoom.asm b/text/CinnabarLabTradeRoom.asm index 196124e7..196124e7 100644 --- a/text/maps/CinnabarLabTradeRoom.asm +++ b/text/CinnabarLabTradeRoom.asm diff --git a/text/maps/CinnabarMart.asm b/text/CinnabarMart.asm index 42a41d06..42a41d06 100644 --- a/text/maps/CinnabarMart.asm +++ b/text/CinnabarMart.asm diff --git a/text/maps/CinnabarPokecenter.asm b/text/CinnabarPokecenter.asm index cf481764..cf481764 100644 --- a/text/maps/CinnabarPokecenter.asm +++ b/text/CinnabarPokecenter.asm diff --git a/text/maps/CopycatsHouse1F.asm b/text/CopycatsHouse1F.asm index 3ec2b151..3ec2b151 100644 --- a/text/maps/CopycatsHouse1F.asm +++ b/text/CopycatsHouse1F.asm diff --git a/text/maps/CopycatsHouse2F.asm b/text/CopycatsHouse2F.asm index 561b2ac5..561b2ac5 100644 --- a/text/maps/CopycatsHouse2F.asm +++ b/text/CopycatsHouse2F.asm diff --git a/text/maps/Daycare.asm b/text/Daycare.asm index 2759c798..2759c798 100644 --- a/text/maps/Daycare.asm +++ b/text/Daycare.asm diff --git a/text/maps/Daycare_2.asm b/text/Daycare_2.asm index 20c0e5ad..20c0e5ad 100644 --- a/text/maps/Daycare_2.asm +++ b/text/Daycare_2.asm diff --git a/text/maps/DiglettsCaveRoute11.asm b/text/DiglettsCaveRoute11.asm index ecd3225e..ecd3225e 100644 --- a/text/maps/DiglettsCaveRoute11.asm +++ b/text/DiglettsCaveRoute11.asm diff --git a/text/maps/DiglettsCaveRoute2.asm b/text/DiglettsCaveRoute2.asm index a04bbef7..a04bbef7 100644 --- a/text/maps/DiglettsCaveRoute2.asm +++ b/text/DiglettsCaveRoute2.asm diff --git a/text/maps/FightingDojo.asm b/text/FightingDojo.asm index 3df069c1..3df069c1 100644 --- a/text/maps/FightingDojo.asm +++ b/text/FightingDojo.asm diff --git a/text/maps/FuchsiaBillsGrandpasHouse.asm b/text/FuchsiaBillsGrandpasHouse.asm index 7b6556b1..7b6556b1 100644 --- a/text/maps/FuchsiaBillsGrandpasHouse.asm +++ b/text/FuchsiaBillsGrandpasHouse.asm diff --git a/text/maps/FuchsiaCity.asm b/text/FuchsiaCity.asm index a90d0021..a90d0021 100644 --- a/text/maps/FuchsiaCity.asm +++ b/text/FuchsiaCity.asm diff --git a/text/maps/FuchsiaGoodRodHouse.asm b/text/FuchsiaGoodRodHouse.asm index b1b8b2f2..b1b8b2f2 100644 --- a/text/maps/FuchsiaGoodRodHouse.asm +++ b/text/FuchsiaGoodRodHouse.asm diff --git a/text/maps/FuchsiaGym.asm b/text/FuchsiaGym.asm index 9108fc79..9108fc79 100644 --- a/text/maps/FuchsiaGym.asm +++ b/text/FuchsiaGym.asm diff --git a/text/maps/FuchsiaGym_2.asm b/text/FuchsiaGym_2.asm index f7b39d9c..f7b39d9c 100644 --- a/text/maps/FuchsiaGym_2.asm +++ b/text/FuchsiaGym_2.asm diff --git a/text/maps/FuchsiaMart.asm b/text/FuchsiaMart.asm index 574898ce..574898ce 100644 --- a/text/maps/FuchsiaMart.asm +++ b/text/FuchsiaMart.asm diff --git a/text/maps/FuchsiaMeetingRoom.asm b/text/FuchsiaMeetingRoom.asm index 10675ead..10675ead 100644 --- a/text/maps/FuchsiaMeetingRoom.asm +++ b/text/FuchsiaMeetingRoom.asm diff --git a/text/maps/FuchsiaPokecenter.asm b/text/FuchsiaPokecenter.asm index a0def7eb..a0def7eb 100644 --- a/text/maps/FuchsiaPokecenter.asm +++ b/text/FuchsiaPokecenter.asm diff --git a/text/maps/GameCorner.asm b/text/GameCorner.asm index 1e59f83e..1e59f83e 100644 --- a/text/maps/GameCorner.asm +++ b/text/GameCorner.asm diff --git a/text/maps/GameCornerPrizeRoom.asm b/text/GameCornerPrizeRoom.asm index 6b2bb537..6b2bb537 100644 --- a/text/maps/GameCornerPrizeRoom.asm +++ b/text/GameCornerPrizeRoom.asm diff --git a/text/maps/HallOfFame.asm b/text/HallOfFame.asm index c799268b..c799268b 100644 --- a/text/maps/HallOfFame.asm +++ b/text/HallOfFame.asm diff --git a/text/maps/IndigoPlateauLobby.asm b/text/IndigoPlateauLobby.asm index 8487e29a..8487e29a 100644 --- a/text/maps/IndigoPlateauLobby.asm +++ b/text/IndigoPlateauLobby.asm diff --git a/text/maps/LancesRoom.asm b/text/LancesRoom.asm index ed3dcada..ed3dcada 100644 --- a/text/maps/LancesRoom.asm +++ b/text/LancesRoom.asm diff --git a/text/maps/LavenderCuboneHouse.asm b/text/LavenderCuboneHouse.asm index 66cc85a5..66cc85a5 100644 --- a/text/maps/LavenderCuboneHouse.asm +++ b/text/LavenderCuboneHouse.asm diff --git a/text/maps/LavenderMart.asm b/text/LavenderMart.asm index 222712c6..222712c6 100644 --- a/text/maps/LavenderMart.asm +++ b/text/LavenderMart.asm diff --git a/text/maps/LavenderPokecenter.asm b/text/LavenderPokecenter.asm index 3aa7b67d..3aa7b67d 100644 --- a/text/maps/LavenderPokecenter.asm +++ b/text/LavenderPokecenter.asm diff --git a/text/maps/LavenderTown.asm b/text/LavenderTown.asm index 19b6c8c8..19b6c8c8 100644 --- a/text/maps/LavenderTown.asm +++ b/text/LavenderTown.asm diff --git a/text/maps/LoreleisRoom.asm b/text/LoreleisRoom.asm index fdbb55b4..fdbb55b4 100644 --- a/text/maps/LoreleisRoom.asm +++ b/text/LoreleisRoom.asm diff --git a/text/maps/MrFujisHouse.asm b/text/MrFujisHouse.asm index f903eb6a..f903eb6a 100644 --- a/text/maps/MrFujisHouse.asm +++ b/text/MrFujisHouse.asm diff --git a/text/maps/MrPsychicsHouse.asm b/text/MrPsychicsHouse.asm index 7be2e11e..7be2e11e 100644 --- a/text/maps/MrPsychicsHouse.asm +++ b/text/MrPsychicsHouse.asm diff --git a/text/maps/MtMoon1F.asm b/text/MtMoon1F.asm index 761a5240..761a5240 100644 --- a/text/maps/MtMoon1F.asm +++ b/text/MtMoon1F.asm diff --git a/text/maps/MtMoonB1F.asm b/text/MtMoonB1F.asm index 755fa583..755fa583 100644 --- a/text/maps/MtMoonB1F.asm +++ b/text/MtMoonB1F.asm diff --git a/text/maps/MtMoonB2F.asm b/text/MtMoonB2F.asm index 472649b9..472649b9 100644 --- a/text/maps/MtMoonB2F.asm +++ b/text/MtMoonB2F.asm diff --git a/text/maps/MtMoonPokecenter.asm b/text/MtMoonPokecenter.asm index 7bc99dae..7bc99dae 100644 --- a/text/maps/MtMoonPokecenter.asm +++ b/text/MtMoonPokecenter.asm diff --git a/text/maps/Museum1F.asm b/text/Museum1F.asm index 16431bda..16431bda 100644 --- a/text/maps/Museum1F.asm +++ b/text/Museum1F.asm diff --git a/text/maps/Museum2F.asm b/text/Museum2F.asm index 4f34a249..4f34a249 100644 --- a/text/maps/Museum2F.asm +++ b/text/Museum2F.asm diff --git a/text/maps/NameRatersHouse.asm b/text/NameRatersHouse.asm index 65d3e8a4..65d3e8a4 100644 --- a/text/maps/NameRatersHouse.asm +++ b/text/NameRatersHouse.asm diff --git a/text/maps/OaksLab.asm b/text/OaksLab.asm index 7a6f57b7..7a6f57b7 100644 --- a/text/maps/OaksLab.asm +++ b/text/OaksLab.asm diff --git a/text/maps/PalletTown.asm b/text/PalletTown.asm index d5eda74f..d5eda74f 100644 --- a/text/maps/PalletTown.asm +++ b/text/PalletTown.asm diff --git a/text/maps/PewterCity.asm b/text/PewterCity.asm index 14240c9e..14240c9e 100644 --- a/text/maps/PewterCity.asm +++ b/text/PewterCity.asm diff --git a/text/maps/PewterGym.asm b/text/PewterGym.asm index 6426dd72..6426dd72 100644 --- a/text/maps/PewterGym.asm +++ b/text/PewterGym.asm diff --git a/text/maps/PewterGym_2.asm b/text/PewterGym_2.asm index 5312e4f2..5312e4f2 100644 --- a/text/maps/PewterGym_2.asm +++ b/text/PewterGym_2.asm diff --git a/text/maps/PewterMart.asm b/text/PewterMart.asm index 0d5b07a2..0d5b07a2 100644 --- a/text/maps/PewterMart.asm +++ b/text/PewterMart.asm diff --git a/text/maps/PewterNidoranHouse.asm b/text/PewterNidoranHouse.asm index 450e8372..450e8372 100644 --- a/text/maps/PewterNidoranHouse.asm +++ b/text/PewterNidoranHouse.asm diff --git a/text/maps/PewterPokecenter.asm b/text/PewterPokecenter.asm index 6a1b373e..6a1b373e 100644 --- a/text/maps/PewterPokecenter.asm +++ b/text/PewterPokecenter.asm diff --git a/text/maps/PewterSpeechHouse.asm b/text/PewterSpeechHouse.asm index 615536f7..615536f7 100644 --- a/text/maps/PewterSpeechHouse.asm +++ b/text/PewterSpeechHouse.asm diff --git a/text/maps/PokemonFanClub.asm b/text/PokemonFanClub.asm index 4827f2e8..4827f2e8 100644 --- a/text/maps/PokemonFanClub.asm +++ b/text/PokemonFanClub.asm diff --git a/text/maps/PokemonMansion1F.asm b/text/PokemonMansion1F.asm index a3c517fb..a3c517fb 100644 --- a/text/maps/PokemonMansion1F.asm +++ b/text/PokemonMansion1F.asm diff --git a/text/maps/PokemonMansion2F.asm b/text/PokemonMansion2F.asm index 378efb30..378efb30 100644 --- a/text/maps/PokemonMansion2F.asm +++ b/text/PokemonMansion2F.asm diff --git a/text/maps/PokemonMansion3F.asm b/text/PokemonMansion3F.asm index 70331fdf..70331fdf 100644 --- a/text/maps/PokemonMansion3F.asm +++ b/text/PokemonMansion3F.asm diff --git a/text/maps/PokemonMansionB1F.asm b/text/PokemonMansionB1F.asm index 1bc1ef89..1bc1ef89 100644 --- a/text/maps/PokemonMansionB1F.asm +++ b/text/PokemonMansionB1F.asm diff --git a/text/maps/PokemonTower1F.asm b/text/PokemonTower1F.asm index 50a2cd29..50a2cd29 100644 --- a/text/maps/PokemonTower1F.asm +++ b/text/PokemonTower1F.asm diff --git a/text/maps/PokemonTower2F.asm b/text/PokemonTower2F.asm index 79323001..79323001 100644 --- a/text/maps/PokemonTower2F.asm +++ b/text/PokemonTower2F.asm diff --git a/text/maps/PokemonTower3F.asm b/text/PokemonTower3F.asm index 67098e6b..67098e6b 100644 --- a/text/maps/PokemonTower3F.asm +++ b/text/PokemonTower3F.asm diff --git a/text/maps/PokemonTower4F.asm b/text/PokemonTower4F.asm index 771325a0..771325a0 100644 --- a/text/maps/PokemonTower4F.asm +++ b/text/PokemonTower4F.asm diff --git a/text/maps/PokemonTower5F.asm b/text/PokemonTower5F.asm index b329118d..b329118d 100644 --- a/text/maps/PokemonTower5F.asm +++ b/text/PokemonTower5F.asm diff --git a/text/maps/PokemonTower6F.asm b/text/PokemonTower6F.asm index 7532d56d..7532d56d 100644 --- a/text/maps/PokemonTower6F.asm +++ b/text/PokemonTower6F.asm diff --git a/text/maps/PokemonTower7F.asm b/text/PokemonTower7F.asm index 704a71eb..704a71eb 100644 --- a/text/maps/PokemonTower7F.asm +++ b/text/PokemonTower7F.asm diff --git a/text/maps/PowerPlant.asm b/text/PowerPlant.asm index e5df6674..e5df6674 100644 --- a/text/maps/PowerPlant.asm +++ b/text/PowerPlant.asm diff --git a/text/maps/RedsHouse1F.asm b/text/RedsHouse1F.asm index 07768af9..07768af9 100644 --- a/text/maps/RedsHouse1F.asm +++ b/text/RedsHouse1F.asm diff --git a/text/maps/RockTunnel1F.asm b/text/RockTunnel1F.asm index 472c52f8..472c52f8 100644 --- a/text/maps/RockTunnel1F.asm +++ b/text/RockTunnel1F.asm diff --git a/text/maps/RockTunnelB1F.asm b/text/RockTunnelB1F.asm index 1a565eb3..1a565eb3 100644 --- a/text/maps/RockTunnelB1F.asm +++ b/text/RockTunnelB1F.asm diff --git a/text/maps/RockTunnelB1F_2.asm b/text/RockTunnelB1F_2.asm index e8e45a7f..e8e45a7f 100644 --- a/text/maps/RockTunnelB1F_2.asm +++ b/text/RockTunnelB1F_2.asm diff --git a/text/maps/RockTunnelPokecenter.asm b/text/RockTunnelPokecenter.asm index 0fc249ff..0fc249ff 100644 --- a/text/maps/RockTunnelPokecenter.asm +++ b/text/RockTunnelPokecenter.asm diff --git a/text/maps/RocketHideoutB1F.asm b/text/RocketHideoutB1F.asm index 36117804..36117804 100644 --- a/text/maps/RocketHideoutB1F.asm +++ b/text/RocketHideoutB1F.asm diff --git a/text/maps/RocketHideoutB2F.asm b/text/RocketHideoutB2F.asm index c13c3593..c13c3593 100644 --- a/text/maps/RocketHideoutB2F.asm +++ b/text/RocketHideoutB2F.asm diff --git a/text/maps/RocketHideoutB3F.asm b/text/RocketHideoutB3F.asm index a146a383..a146a383 100644 --- a/text/maps/RocketHideoutB3F.asm +++ b/text/RocketHideoutB3F.asm diff --git a/text/maps/RocketHideoutB4F.asm b/text/RocketHideoutB4F.asm index f3ba43f3..f3ba43f3 100644 --- a/text/maps/RocketHideoutB4F.asm +++ b/text/RocketHideoutB4F.asm diff --git a/text/maps/RocketHideoutElevator.asm b/text/RocketHideoutElevator.asm index 6f2aa638..6f2aa638 100644 --- a/text/maps/RocketHideoutElevator.asm +++ b/text/RocketHideoutElevator.asm diff --git a/text/maps/Route1.asm b/text/Route1.asm index 73188f09..73188f09 100644 --- a/text/maps/Route1.asm +++ b/text/Route1.asm diff --git a/text/maps/Route10.asm b/text/Route10.asm index 057ddcb5..057ddcb5 100644 --- a/text/maps/Route10.asm +++ b/text/Route10.asm diff --git a/text/maps/Route11.asm b/text/Route11.asm index 13e37bdf..13e37bdf 100644 --- a/text/maps/Route11.asm +++ b/text/Route11.asm diff --git a/text/maps/Route11Gate1F.asm b/text/Route11Gate1F.asm index ef371d06..ef371d06 100644 --- a/text/maps/Route11Gate1F.asm +++ b/text/Route11Gate1F.asm diff --git a/text/maps/Route11Gate2F.asm b/text/Route11Gate2F.asm index 10236081..10236081 100644 --- a/text/maps/Route11Gate2F.asm +++ b/text/Route11Gate2F.asm diff --git a/text/maps/Route11_2.asm b/text/Route11_2.asm index b9b68d6d..b9b68d6d 100644 --- a/text/maps/Route11_2.asm +++ b/text/Route11_2.asm diff --git a/text/maps/Route12.asm b/text/Route12.asm index 82696fda..82696fda 100644 --- a/text/maps/Route12.asm +++ b/text/Route12.asm diff --git a/text/maps/Route12Gate1F.asm b/text/Route12Gate1F.asm index 51d75539..51d75539 100644 --- a/text/maps/Route12Gate1F.asm +++ b/text/Route12Gate1F.asm diff --git a/text/maps/Route12Gate2F.asm b/text/Route12Gate2F.asm index 95a89527..95a89527 100644 --- a/text/maps/Route12Gate2F.asm +++ b/text/Route12Gate2F.asm diff --git a/text/maps/Route12SuperRodHouse.asm b/text/Route12SuperRodHouse.asm index 7dfaa74f..7dfaa74f 100644 --- a/text/maps/Route12SuperRodHouse.asm +++ b/text/Route12SuperRodHouse.asm diff --git a/text/maps/Route13.asm b/text/Route13.asm index e2718919..e2718919 100644 --- a/text/maps/Route13.asm +++ b/text/Route13.asm diff --git a/text/maps/Route14.asm b/text/Route14.asm index 18e85ed4..18e85ed4 100644 --- a/text/maps/Route14.asm +++ b/text/Route14.asm diff --git a/text/maps/Route15.asm b/text/Route15.asm index a23b8500..a23b8500 100644 --- a/text/maps/Route15.asm +++ b/text/Route15.asm diff --git a/text/maps/Route15Gate1F.asm b/text/Route15Gate1F.asm index 0a526142..0a526142 100644 --- a/text/maps/Route15Gate1F.asm +++ b/text/Route15Gate1F.asm diff --git a/text/maps/Route15Gate2F.asm b/text/Route15Gate2F.asm index ade4a358..ade4a358 100644 --- a/text/maps/Route15Gate2F.asm +++ b/text/Route15Gate2F.asm diff --git a/text/maps/Route16.asm b/text/Route16.asm index 45265829..45265829 100644 --- a/text/maps/Route16.asm +++ b/text/Route16.asm diff --git a/text/maps/Route16FlyHouse.asm b/text/Route16FlyHouse.asm index 77efde87..77efde87 100644 --- a/text/maps/Route16FlyHouse.asm +++ b/text/Route16FlyHouse.asm diff --git a/text/maps/Route16Gate1F.asm b/text/Route16Gate1F.asm index f548977f..f548977f 100644 --- a/text/maps/Route16Gate1F.asm +++ b/text/Route16Gate1F.asm diff --git a/text/maps/Route16Gate2F.asm b/text/Route16Gate2F.asm index d76b70ca..d76b70ca 100644 --- a/text/maps/Route16Gate2F.asm +++ b/text/Route16Gate2F.asm diff --git a/text/maps/Route17.asm b/text/Route17.asm index a0affd90..a0affd90 100644 --- a/text/maps/Route17.asm +++ b/text/Route17.asm diff --git a/text/maps/Route18.asm b/text/Route18.asm index d09caf82..d09caf82 100644 --- a/text/maps/Route18.asm +++ b/text/Route18.asm diff --git a/text/maps/Route18Gate1F.asm b/text/Route18Gate1F.asm index f2f51039..f2f51039 100644 --- a/text/maps/Route18Gate1F.asm +++ b/text/Route18Gate1F.asm diff --git a/text/maps/Route18Gate2F.asm b/text/Route18Gate2F.asm index 0fd2de09..0fd2de09 100644 --- a/text/maps/Route18Gate2F.asm +++ b/text/Route18Gate2F.asm diff --git a/text/maps/Route19.asm b/text/Route19.asm index 244e31d0..244e31d0 100644 --- a/text/maps/Route19.asm +++ b/text/Route19.asm diff --git a/text/maps/Route2.asm b/text/Route2.asm index dd7becc0..dd7becc0 100644 --- a/text/maps/Route2.asm +++ b/text/Route2.asm diff --git a/text/maps/Route20.asm b/text/Route20.asm index 1ccf0b6c..1ccf0b6c 100644 --- a/text/maps/Route20.asm +++ b/text/Route20.asm diff --git a/text/maps/Route21.asm b/text/Route21.asm index 3451953f..3451953f 100644 --- a/text/maps/Route21.asm +++ b/text/Route21.asm diff --git a/text/maps/Route22.asm b/text/Route22.asm index 3a1d28f0..3a1d28f0 100644 --- a/text/maps/Route22.asm +++ b/text/Route22.asm diff --git a/text/maps/Route22Gate.asm b/text/Route22Gate.asm index ce3f6824..ce3f6824 100644 --- a/text/maps/Route22Gate.asm +++ b/text/Route22Gate.asm diff --git a/text/maps/Route23.asm b/text/Route23.asm index a7e534de..a7e534de 100644 --- a/text/maps/Route23.asm +++ b/text/Route23.asm diff --git a/text/maps/Route24.asm b/text/Route24.asm index c14b689a..c14b689a 100644 --- a/text/maps/Route24.asm +++ b/text/Route24.asm diff --git a/text/maps/Route24_2.asm b/text/Route24_2.asm index 325dea13..325dea13 100644 --- a/text/maps/Route24_2.asm +++ b/text/Route24_2.asm diff --git a/text/maps/Route25.asm b/text/Route25.asm index 325ab348..325ab348 100644 --- a/text/maps/Route25.asm +++ b/text/Route25.asm diff --git a/text/maps/Route2Gate.asm b/text/Route2Gate.asm index 566830f8..566830f8 100644 --- a/text/maps/Route2Gate.asm +++ b/text/Route2Gate.asm diff --git a/text/maps/Route2TradeHouse.asm b/text/Route2TradeHouse.asm index 46fc1062..46fc1062 100644 --- a/text/maps/Route2TradeHouse.asm +++ b/text/Route2TradeHouse.asm diff --git a/text/maps/Route3.asm b/text/Route3.asm index 966a0786..966a0786 100644 --- a/text/maps/Route3.asm +++ b/text/Route3.asm diff --git a/text/maps/Route4.asm b/text/Route4.asm index 0a36f4cd..0a36f4cd 100644 --- a/text/maps/Route4.asm +++ b/text/Route4.asm diff --git a/text/maps/Route5.asm b/text/Route5.asm index 54ff0f84..54ff0f84 100644 --- a/text/maps/Route5.asm +++ b/text/Route5.asm diff --git a/text/maps/Route6.asm b/text/Route6.asm index c48b5d3d..c48b5d3d 100644 --- a/text/maps/Route6.asm +++ b/text/Route6.asm diff --git a/text/maps/Route7.asm b/text/Route7.asm index 6500be96..6500be96 100644 --- a/text/maps/Route7.asm +++ b/text/Route7.asm diff --git a/text/maps/Route8.asm b/text/Route8.asm index 57a9a5f9..57a9a5f9 100644 --- a/text/maps/Route8.asm +++ b/text/Route8.asm diff --git a/text/maps/Route9.asm b/text/Route9.asm index 9975000d..9975000d 100644 --- a/text/maps/Route9.asm +++ b/text/Route9.asm diff --git a/text/maps/SSAnne1F.asm b/text/SSAnne1F.asm index 2bbdcbac..2bbdcbac 100644 --- a/text/maps/SSAnne1F.asm +++ b/text/SSAnne1F.asm diff --git a/text/maps/SSAnne1FRooms.asm b/text/SSAnne1FRooms.asm index 7a09303e..7a09303e 100644 --- a/text/maps/SSAnne1FRooms.asm +++ b/text/SSAnne1FRooms.asm diff --git a/text/maps/SSAnne2F.asm b/text/SSAnne2F.asm index 58d804ba..58d804ba 100644 --- a/text/maps/SSAnne2F.asm +++ b/text/SSAnne2F.asm diff --git a/text/maps/SSAnne2FRooms.asm b/text/SSAnne2FRooms.asm index a9be8cee..a9be8cee 100644 --- a/text/maps/SSAnne2FRooms.asm +++ b/text/SSAnne2FRooms.asm diff --git a/text/maps/SSAnne3F.asm b/text/SSAnne3F.asm index 76490594..76490594 100644 --- a/text/maps/SSAnne3F.asm +++ b/text/SSAnne3F.asm diff --git a/text/maps/SSAnneB1FRooms.asm b/text/SSAnneB1FRooms.asm index 7df629b5..7df629b5 100644 --- a/text/maps/SSAnneB1FRooms.asm +++ b/text/SSAnneB1FRooms.asm diff --git a/text/maps/SSAnneBow.asm b/text/SSAnneBow.asm index 76cd5631..76cd5631 100644 --- a/text/maps/SSAnneBow.asm +++ b/text/SSAnneBow.asm diff --git a/text/maps/SSAnneCaptainsRoom.asm b/text/SSAnneCaptainsRoom.asm index 7bf004da..7bf004da 100644 --- a/text/maps/SSAnneCaptainsRoom.asm +++ b/text/SSAnneCaptainsRoom.asm diff --git a/text/maps/SSAnneKitchen.asm b/text/SSAnneKitchen.asm index 7fcc9973..7fcc9973 100644 --- a/text/maps/SSAnneKitchen.asm +++ b/text/SSAnneKitchen.asm diff --git a/text/maps/SafariZoneCenter.asm b/text/SafariZoneCenter.asm index 09918f93..09918f93 100644 --- a/text/maps/SafariZoneCenter.asm +++ b/text/SafariZoneCenter.asm diff --git a/text/maps/SafariZoneCenterRestHouse.asm b/text/SafariZoneCenterRestHouse.asm index b6c87818..b6c87818 100644 --- a/text/maps/SafariZoneCenterRestHouse.asm +++ b/text/SafariZoneCenterRestHouse.asm diff --git a/text/maps/SafariZoneEast.asm b/text/SafariZoneEast.asm index eebe5de7..eebe5de7 100644 --- a/text/maps/SafariZoneEast.asm +++ b/text/SafariZoneEast.asm diff --git a/text/maps/SafariZoneEastRestHouse.asm b/text/SafariZoneEastRestHouse.asm index d5f7abc8..d5f7abc8 100644 --- a/text/maps/SafariZoneEastRestHouse.asm +++ b/text/SafariZoneEastRestHouse.asm diff --git a/text/maps/SafariZoneGate.asm b/text/SafariZoneGate.asm index 5c143891..5c143891 100644 --- a/text/maps/SafariZoneGate.asm +++ b/text/SafariZoneGate.asm diff --git a/text/maps/SafariZoneNorth.asm b/text/SafariZoneNorth.asm index 1e148f0b..1e148f0b 100644 --- a/text/maps/SafariZoneNorth.asm +++ b/text/SafariZoneNorth.asm diff --git a/text/maps/SafariZoneNorthRestHouse.asm b/text/SafariZoneNorthRestHouse.asm index 93f02c8f..93f02c8f 100644 --- a/text/maps/SafariZoneNorthRestHouse.asm +++ b/text/SafariZoneNorthRestHouse.asm diff --git a/text/maps/SafariZoneSecretHouse.asm b/text/SafariZoneSecretHouse.asm index 3df79d90..3df79d90 100644 --- a/text/maps/SafariZoneSecretHouse.asm +++ b/text/SafariZoneSecretHouse.asm diff --git a/text/maps/SafariZoneWest.asm b/text/SafariZoneWest.asm index dcb2fe6c..dcb2fe6c 100644 --- a/text/maps/SafariZoneWest.asm +++ b/text/SafariZoneWest.asm diff --git a/text/maps/SafariZoneWestRestHouse.asm b/text/SafariZoneWestRestHouse.asm index 94802b13..94802b13 100644 --- a/text/maps/SafariZoneWestRestHouse.asm +++ b/text/SafariZoneWestRestHouse.asm diff --git a/text/maps/SaffronCity.asm b/text/SaffronCity.asm index a0422c8c..a0422c8c 100644 --- a/text/maps/SaffronCity.asm +++ b/text/SaffronCity.asm diff --git a/text/maps/SaffronGates.asm b/text/SaffronGates.asm index 9bb4601f..9bb4601f 100644 --- a/text/maps/SaffronGates.asm +++ b/text/SaffronGates.asm diff --git a/text/maps/SaffronGym.asm b/text/SaffronGym.asm index 6f49a331..6f49a331 100644 --- a/text/maps/SaffronGym.asm +++ b/text/SaffronGym.asm diff --git a/text/maps/SaffronMart.asm b/text/SaffronMart.asm index a43b0d94..a43b0d94 100644 --- a/text/maps/SaffronMart.asm +++ b/text/SaffronMart.asm diff --git a/text/maps/SaffronPidgeyHouse.asm b/text/SaffronPidgeyHouse.asm index 214bf089..214bf089 100644 --- a/text/maps/SaffronPidgeyHouse.asm +++ b/text/SaffronPidgeyHouse.asm diff --git a/text/maps/SaffronPokecenter.asm b/text/SaffronPokecenter.asm index 6548aff8..6548aff8 100644 --- a/text/maps/SaffronPokecenter.asm +++ b/text/SaffronPokecenter.asm diff --git a/text/maps/SeafoamIslandsB4F.asm b/text/SeafoamIslandsB4F.asm index 608d165f..608d165f 100644 --- a/text/maps/SeafoamIslandsB4F.asm +++ b/text/SeafoamIslandsB4F.asm diff --git a/text/maps/SilphCo10F.asm b/text/SilphCo10F.asm index e916c64a..e916c64a 100644 --- a/text/maps/SilphCo10F.asm +++ b/text/SilphCo10F.asm diff --git a/text/maps/SilphCo11F.asm b/text/SilphCo11F.asm index fbaa6086..fbaa6086 100644 --- a/text/maps/SilphCo11F.asm +++ b/text/SilphCo11F.asm diff --git a/text/maps/SilphCo1F.asm b/text/SilphCo1F.asm index 1ef80189..1ef80189 100644 --- a/text/maps/SilphCo1F.asm +++ b/text/SilphCo1F.asm diff --git a/text/maps/SilphCo2F.asm b/text/SilphCo2F.asm index bd87630a..bd87630a 100644 --- a/text/maps/SilphCo2F.asm +++ b/text/SilphCo2F.asm diff --git a/text/maps/SilphCo3F.asm b/text/SilphCo3F.asm index b6a023f9..b6a023f9 100644 --- a/text/maps/SilphCo3F.asm +++ b/text/SilphCo3F.asm diff --git a/text/maps/SilphCo4F.asm b/text/SilphCo4F.asm index 5b484ec7..5b484ec7 100644 --- a/text/maps/SilphCo4F.asm +++ b/text/SilphCo4F.asm diff --git a/text/maps/SilphCo5F.asm b/text/SilphCo5F.asm index dab42539..dab42539 100644 --- a/text/maps/SilphCo5F.asm +++ b/text/SilphCo5F.asm diff --git a/text/maps/SilphCo5F_2.asm b/text/SilphCo5F_2.asm index 3c1b8ead..3c1b8ead 100644 --- a/text/maps/SilphCo5F_2.asm +++ b/text/SilphCo5F_2.asm diff --git a/text/maps/SilphCo6F.asm b/text/SilphCo6F.asm index 90456b5c..90456b5c 100644 --- a/text/maps/SilphCo6F.asm +++ b/text/SilphCo6F.asm diff --git a/text/maps/SilphCo7F.asm b/text/SilphCo7F.asm index 1cc2bc30..1cc2bc30 100644 --- a/text/maps/SilphCo7F.asm +++ b/text/SilphCo7F.asm diff --git a/text/maps/SilphCo8F.asm b/text/SilphCo8F.asm index fabae5e6..fabae5e6 100644 --- a/text/maps/SilphCo8F.asm +++ b/text/SilphCo8F.asm diff --git a/text/maps/SilphCo9F.asm b/text/SilphCo9F.asm index fd1aa91c..fd1aa91c 100644 --- a/text/maps/SilphCo9F.asm +++ b/text/SilphCo9F.asm diff --git a/text/maps/UndergroundPathRoute6.asm b/text/UndergroundPathRoute6.asm index dacc44f7..dacc44f7 100644 --- a/text/maps/UndergroundPathRoute6.asm +++ b/text/UndergroundPathRoute6.asm diff --git a/text/maps/UndergroundPathRoute7.asm b/text/UndergroundPathRoute7.asm index 5cde3614..5cde3614 100644 --- a/text/maps/UndergroundPathRoute7.asm +++ b/text/UndergroundPathRoute7.asm diff --git a/text/maps/UndergroundPathRoute7Copy.asm b/text/UndergroundPathRoute7Copy.asm index 4e0dc3ca..4e0dc3ca 100644 --- a/text/maps/UndergroundPathRoute7Copy.asm +++ b/text/UndergroundPathRoute7Copy.asm diff --git a/text/maps/UndergroundPathRoute8.asm b/text/UndergroundPathRoute8.asm index da785c8e..da785c8e 100644 --- a/text/maps/UndergroundPathRoute8.asm +++ b/text/UndergroundPathRoute8.asm diff --git a/text/maps/VermilionCity.asm b/text/VermilionCity.asm index 1cbc535c..1cbc535c 100644 --- a/text/maps/VermilionCity.asm +++ b/text/VermilionCity.asm diff --git a/text/maps/VermilionDock.asm b/text/VermilionDock.asm index 5d998e82..5d998e82 100644 --- a/text/maps/VermilionDock.asm +++ b/text/VermilionDock.asm diff --git a/text/maps/VermilionGym.asm b/text/VermilionGym.asm index 14e0bcea..14e0bcea 100644 --- a/text/maps/VermilionGym.asm +++ b/text/VermilionGym.asm diff --git a/text/maps/VermilionGym_2.asm b/text/VermilionGym_2.asm index 50da9719..50da9719 100644 --- a/text/maps/VermilionGym_2.asm +++ b/text/VermilionGym_2.asm diff --git a/text/maps/VermilionMart.asm b/text/VermilionMart.asm index 10743989..10743989 100644 --- a/text/maps/VermilionMart.asm +++ b/text/VermilionMart.asm diff --git a/text/maps/VermilionOldRodHouse.asm b/text/VermilionOldRodHouse.asm index 32526e36..32526e36 100644 --- a/text/maps/VermilionOldRodHouse.asm +++ b/text/VermilionOldRodHouse.asm diff --git a/text/maps/VermilionPidgeyHouse.asm b/text/VermilionPidgeyHouse.asm index 91c18708..91c18708 100644 --- a/text/maps/VermilionPidgeyHouse.asm +++ b/text/VermilionPidgeyHouse.asm diff --git a/text/maps/VermilionPokecenter.asm b/text/VermilionPokecenter.asm index c9e9a581..c9e9a581 100644 --- a/text/maps/VermilionPokecenter.asm +++ b/text/VermilionPokecenter.asm diff --git a/text/maps/VictoryRoad1F.asm b/text/VictoryRoad1F.asm index 1523db88..1523db88 100644 --- a/text/maps/VictoryRoad1F.asm +++ b/text/VictoryRoad1F.asm diff --git a/text/maps/VictoryRoad2F.asm b/text/VictoryRoad2F.asm index ec9dcf4f..ec9dcf4f 100644 --- a/text/maps/VictoryRoad2F.asm +++ b/text/VictoryRoad2F.asm diff --git a/text/maps/VictoryRoad3F.asm b/text/VictoryRoad3F.asm index 07e0be70..07e0be70 100644 --- a/text/maps/VictoryRoad3F.asm +++ b/text/VictoryRoad3F.asm diff --git a/text/maps/ViridianCity.asm b/text/ViridianCity.asm index 67ab5c40..67ab5c40 100644 --- a/text/maps/ViridianCity.asm +++ b/text/ViridianCity.asm diff --git a/text/maps/ViridianForest.asm b/text/ViridianForest.asm index 813b193a..813b193a 100644 --- a/text/maps/ViridianForest.asm +++ b/text/ViridianForest.asm diff --git a/text/maps/ViridianForestNorthGate.asm b/text/ViridianForestNorthGate.asm index ab6a5a1d..ab6a5a1d 100644 --- a/text/maps/ViridianForestNorthGate.asm +++ b/text/ViridianForestNorthGate.asm diff --git a/text/maps/ViridianForestSouthGate.asm b/text/ViridianForestSouthGate.asm index c1a8df22..c1a8df22 100644 --- a/text/maps/ViridianForestSouthGate.asm +++ b/text/ViridianForestSouthGate.asm diff --git a/text/maps/ViridianGym.asm b/text/ViridianGym.asm index 4c7b5207..4c7b5207 100644 --- a/text/maps/ViridianGym.asm +++ b/text/ViridianGym.asm diff --git a/text/maps/ViridianMart.asm b/text/ViridianMart.asm index 61750afe..61750afe 100644 --- a/text/maps/ViridianMart.asm +++ b/text/ViridianMart.asm diff --git a/text/maps/ViridianNicknameHouse.asm b/text/ViridianNicknameHouse.asm index 757f597a..757f597a 100644 --- a/text/maps/ViridianNicknameHouse.asm +++ b/text/ViridianNicknameHouse.asm diff --git a/text/maps/ViridianPokecenter.asm b/text/ViridianPokecenter.asm index 4ac18bf6..4ac18bf6 100644 --- a/text/maps/ViridianPokecenter.asm +++ b/text/ViridianPokecenter.asm diff --git a/text/maps/ViridianSchoolHouse.asm b/text/ViridianSchoolHouse.asm index f6041e0d..f6041e0d 100644 --- a/text/maps/ViridianSchoolHouse.asm +++ b/text/ViridianSchoolHouse.asm diff --git a/text/maps/WardensHouse.asm b/text/WardensHouse.asm index 7efddb90..7efddb90 100644 --- a/text/maps/WardensHouse.asm +++ b/text/WardensHouse.asm diff --git a/text/oakspeech.asm b/text/oakspeech.asm deleted file mode 100644 index e006d16f..00000000 --- a/text/oakspeech.asm +++ /dev/null @@ -1,55 +0,0 @@ -_OakSpeechText1:: - text "Hello there!" - line "Welcome to the" - cont "world of #MON!" - - para "My name is OAK!" - line "People call me" - cont "the #MON PROF!" - prompt - -_OakSpeechText2A:: - text "This world is" - line "inhabited by" - cont "creatures called" - cont "#MON!@@" - -_OakSpeechText2B:: - text $51,"For some people," - line "#MON are" - cont "pets. Others use" - cont "them for fights." - - para "Myself..." - - para "I study #MON" - line "as a profession." - prompt - -_IntroducePlayerText:: - text "First, what is" - line "your name?" - prompt - -_IntroduceRivalText:: - text "This is my grand-" - line "son. He's been" - cont "your rival since" - cont "you were a baby." - - para "...Erm, what is" - line "his name again?" - prompt - -_OakSpeechText3:: - text "<PLAYER>!" - - para "Your very own" - line "#MON legend is" - cont "about to unfold!" - - para "A world of dreams" - line "and adventures" - cont "with #MON" - cont "awaits! Let's go!" - done diff --git a/text/unused_names.asm b/text/unused_names.asm deleted file mode 100644 index 4aca7ca2..00000000 --- a/text/unused_names.asm +++ /dev/null @@ -1,20 +0,0 @@ -UnusedNames:: - db "かみなりバッヂ@" - db "かいがらバッヂ@" - db "おじぞうバッヂ@" - db "はやぶさバッヂ@" - db "ひんやりバッヂ@" - db "なかよしバッヂ@" - db "バラバッヂ@" - db "ひのたまバッヂ@" - db "ゴールドバッヂ@" - db "たまご@" - db "ひよこ@" - db "ブロンズ@" - db "シルバー@" - db "ゴールド@" - db "プチキャプテン@" - db "キャプテン@" - db "プチマスター@" - db "マスター@" - db "エクセレント" @@ -1,63 +1,6 @@ INCLUDE "constants.asm" -flag_array: MACRO - ds ((\1) + 7) / 8 -ENDM - -box_struct_length EQU 25 + NUM_MOVES * 2 -box_struct: MACRO -\1Species:: db -\1HP:: dw -\1BoxLevel:: db -\1Status:: db -\1Type:: -\1Type1:: db -\1Type2:: db -\1CatchRate:: db -\1Moves:: ds NUM_MOVES -\1OTID:: dw -\1Exp:: ds 3 -\1HPExp:: dw -\1AttackExp:: dw -\1DefenseExp:: dw -\1SpeedExp:: dw -\1SpecialExp:: dw -\1DVs:: ds 2 -\1PP:: ds NUM_MOVES -ENDM - -party_struct: MACRO - box_struct \1 -\1Level:: db -\1Stats:: -\1MaxHP:: dw -\1Attack:: dw -\1Defense:: dw -\1Speed:: dw -\1Special:: dw -ENDM - -battle_struct: MACRO -\1Species:: db -\1HP:: dw -\1PartyPos:: -\1BoxLevel:: db -\1Status:: db -\1Type:: -\1Type1:: db -\1Type2:: db -\1CatchRate:: db -\1Moves:: ds NUM_MOVES -\1DVs:: ds 2 -\1Level:: db -\1Stats:: -\1MaxHP:: dw -\1Attack:: dw -\1Defense:: dw -\1Speed:: dw -\1Special:: dw -\1PP:: ds NUM_MOVES -ENDM +INCLUDE "macros/wram.asm" SECTION "WRAM Bank 0", WRAM0 @@ -228,21 +171,6 @@ wSpriteStateData1:: ; C1xD ; C1xE ; C1xF -spritestatedata1: MACRO -\1PictureID:: db -\1MovementStatus:: db -\1ImageIndex:: db -\1YStepVector:: db -\1YPixels:: db -\1XStepVector:: db -\1XPixels:: db -\1IntraAnimFrameCounter:: db -\1AnimFrameCounter:: db -\1FacingDirection:: db - ds 6 -\1End:: -endm - wSpritePlayerStateData1:: spritestatedata1 wSpritePlayerStateData1 wSprite01StateData1:: spritestatedata1 wSprite01StateData1 wSprite02StateData1:: spritestatedata1 wSprite02StateData1 @@ -280,22 +208,6 @@ wSpriteStateData2:: ; C2xD ; C2xE: sprite image base offset (in video ram, player always has value 1, used to compute c1x2) ; C2xF -spritestatedata2: MACRO -\1WalkAnimationCounter:: db - ds 1 -\1YDisplacement:: db -\1XDisplacement:: db -\1MapY:: db -\1MapX:: db -\1MovementByte1:: db -\1GrassPriority:: db -\1MovementDelay:: db - ds 5 -\1ImageBaseOffset:: db - ds 1 -\1End:: -endm - wSpritePlayerStateData2:: spritestatedata2 wSpritePlayerStateData2 wSprite01StateData2:: spritestatedata2 wSprite01StateData2 wSprite02StateData2:: spritestatedata2 wSprite02StateData2 @@ -1050,7 +962,7 @@ wOptionsCancelCursorX:: ds 1 wDayCarePerLevelCost:: -; 2-byte BCD number (always set to $0100) +; 2-byte BCD number (always set to $100) wHoFTeamIndex2:: @@ -1985,7 +1897,7 @@ wSpriteOutputBitOffset:: ; determines where in the output byte the two bits are ds 1 wSpriteLoadFlags:: -; bit 0 determines used buffer (0 -> $a188, 1 -> $a310) +; bit 0 determines used buffer (0 -> sSpriteBuffer1, 1 -> sSpriteBuffer2) ; bit 1 loading last sprite chunk? (there are at most 2 chunks per load operation) ds 1 wSpriteUnpackMode:: @@ -3185,7 +3097,7 @@ wBoxSpecies:: ds MONS_PER_BOX + 1 wBoxMons:: wBoxMon1:: box_struct wBoxMon1 -wBoxMon2:: ds box_struct_length * (MONS_PER_BOX + -1) +wBoxMon2:: ds BOX_STRUCT_LENGTH * (MONS_PER_BOX - 1) wBoxMonOT:: ds NAME_LENGTH * MONS_PER_BOX wBoxMonNicks:: ds NAME_LENGTH * MONS_PER_BOX |