summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authoryenatch <yenatch@gmail.com>2018-01-22 01:06:48 -0500
committerGitHub <noreply@github.com>2018-01-22 01:06:48 -0500
commitc60f1331fef22b886adf3472d2b4f348832cfaf7 (patch)
tree5a471fad61e406f5b3ca1aba67ced0186de01c52
parentf27f79488a460f0a89670f3611e1e9e175baf5d6 (diff)
parent7fba864883732ccecb1221ae7ff97492d112362a (diff)
Merge pull request #456 from Rangi42/master
OAM data documentation; move more content into data/; move palettes into gfx/; more code+script constants; consistent map naming
-rw-r--r--FAQ.md2
-rw-r--r--Makefile43
-rw-r--r--STYLE.md2
-rw-r--r--audio.asm2
-rw-r--r--audio/engine.asm42
-rw-r--r--audio/sfx.asm6
-rw-r--r--audio/sfx_pointers.asm2
-rw-r--r--charmap.asm (renamed from macros/charmap.asm)117
-rw-r--r--constants.asm5
-rw-r--r--constants/battle_anim_constants.asm186
-rw-r--r--constants/battle_constants.asm15
-rwxr-xr-xconstants/battle_tower_constants.asm32
-rwxr-xr-xconstants/cgb_constants.asm36
-rw-r--r--constants/collision_constants.asm36
-rw-r--r--constants/gfx_constants.asm24
-rw-r--r--constants/hardware_constants.asm2
-rw-r--r--constants/item_constants.asm530
-rw-r--r--constants/item_data_constants.asm38
-rw-r--r--constants/landmark_constants.asm11
-rw-r--r--constants/map_constants.asm783
-rw-r--r--constants/map_data_constants.asm265
-rw-r--r--constants/menu_constants.asm33
-rw-r--r--constants/misc_constants.asm12
-rw-r--r--constants/music_constants.asm8
-rw-r--r--constants/npctrade_constants.asm22
-rw-r--r--constants/phone_constants.asm4
-rw-r--r--constants/pokemon_constants.asm5
-rw-r--r--constants/pokemon_data_constants.asm100
-rw-r--r--constants/radio_constants.asm214
-rwxr-xr-xconstants/scgb_constants.asm150
-rw-r--r--constants/script_constants.asm219
-rw-r--r--constants/serial_constants.asm20
-rw-r--r--constants/sfx_constants.asm2
-rw-r--r--constants/sprite_anim_constants.asm570
-rw-r--r--constants/sprite_constants.asm4
-rw-r--r--constants/sprite_data_constants.asm7
-rw-r--r--constants/text_constants.asm33
-rw-r--r--constants/tileset_constants.asm29
-rw-r--r--constants/trainer_constants.asm22
-rw-r--r--constants/type_constants.asm10
-rw-r--r--constants/wram_constants.asm8
-rw-r--r--data/battle/accuracy_multipliers.asm17
-rw-r--r--data/battle/battle_text.asm (renamed from text/battle.asm)32
-rw-r--r--data/battle/critical_hits.asm18
-rw-r--r--data/battle/effect_command_pointers.asm (renamed from data/battle_command_pointers.asm)2
-rw-r--r--data/battle/stat_multipliers.asm17
-rw-r--r--data/battle/stat_names.asm10
-rw-r--r--data/battle/type_boost_items.asm20
-rw-r--r--data/battle/type_matchups.asm (renamed from data/type_matchups.asm)10
-rwxr-xr-xdata/battle_anims/objects.asm186
-rw-r--r--data/battle_tower/classes.asm76
-rw-r--r--data/battle_tower/parties.asm (renamed from data/battle_tower.asm)80
-rw-r--r--data/battle_tower/trainer_text.asm (renamed from text/battle_tower.asm)12
-rwxr-xr-xdata/battle_tower/unknown.asm (renamed from data/battle_tower_2.asm)0
-rw-r--r--data/battle_tower/unknown_levels.asm35
-rw-r--r--data/bug_contest_flags.asm13
-rw-r--r--data/bug_contest_winners.asm9
-rw-r--r--data/common_text/common_text.asm16
-rw-r--r--data/common_text/common_text_1.asm (renamed from text/common_1.asm)256
-rw-r--r--data/common_text/common_text_2.asm (renamed from text/common_3.asm)370
-rw-r--r--data/common_text/common_text_3.asm (renamed from text/common_5.asm)729
-rw-r--r--data/credits_strings.asm154
-rw-r--r--data/decorations/mystery_gift_decos.asm (renamed from data/mystery_gift_decos.asm)0
-rw-r--r--data/default_options.asm3
-rw-r--r--data/elevator_floors.asm35
-rw-r--r--data/field_move_blocks.asm76
-rw-r--r--data/items/apricorn_balls.asm11
-rw-r--r--data/items/attributes.asm310
-rw-r--r--data/items/catch_rate_items.asm (renamed from data/time_capsule/catch_rate_items.asm)0
-rw-r--r--data/items/descriptions.asm33
-rw-r--r--data/items/heal_hp.asm18
-rw-r--r--data/items/heal_status.asm18
-rw-r--r--data/items/marts.asm71
-rw-r--r--data/items/mystery_gift_items.asm (renamed from data/mystery_gift_items.asm)0
-rw-r--r--data/items/x_stats.asm7
-rw-r--r--data/mail_input_chars.asm2
-rw-r--r--data/maps/blocks.asm1047
-rw-r--r--data/maps/data.asm685
-rw-r--r--data/maps/definitions.asm485
-rw-r--r--data/maps/maps.asm12
-rw-r--r--data/maps/outdoor_sprites.asm1
-rw-r--r--data/maps/roofs.asm3
-rw-r--r--data/maps/scenes.asm4
-rw-r--r--data/maps/scripts.asm (renamed from maps.asm)24
-rw-r--r--data/maps/sgb_roof_pal_inds.asm32
-rw-r--r--data/moves/animations.asm744
-rw-r--r--data/moves/effects_priorities.asm9
-rw-r--r--data/moves/grammar.asm102
-rw-r--r--data/npc_trades.asm18
-rw-r--r--data/palettes/blk_packets.asm40
-rw-r--r--data/palettes/overworld/roofs.pal161
-rw-r--r--data/palettes/pal_packets.asm113
-rw-r--r--data/palettes/predef.pal395
-rw-r--r--data/palettes/unknown/4985a.asm15
-rw-r--r--data/party_menu_qualities.asm41
-rw-r--r--data/phone/permanent_numbers.asm5
-rw-r--r--data/phone/phone_contacts.asm51
-rw-r--r--data/phone/special_calls.asm (renamed from data/phone_special.asm)0
-rw-r--r--data/phone/text/alan_overworld.asm (renamed from text/phone/alan_overworld.asm)0
-rw-r--r--data/phone/text/anthony_overworld.asm (renamed from text/phone/anthony_overworld.asm)0
-rw-r--r--data/phone/text/arnie_overworld.asm (renamed from text/phone/arnie_overworld.asm)0
-rw-r--r--data/phone/text/beth_overworld.asm (renamed from text/phone/beth_overworld.asm)0
-rw-r--r--data/phone/text/beverly_overworld.asm (renamed from text/phone/beverly_overworld.asm)0
-rw-r--r--data/phone/text/bill.asm (renamed from text/phone/bill.asm)2
-rw-r--r--data/phone/text/brent_overworld.asm (renamed from text/phone/brent_overworld.asm)0
-rw-r--r--data/phone/text/buena.asm (renamed from text/phone/buena.asm)4
-rw-r--r--data/phone/text/chad_overworld.asm (renamed from text/phone/chad_overworld.asm)0
-rw-r--r--data/phone/text/dana_overworld.asm (renamed from text/phone/dana_overworld.asm)0
-rw-r--r--data/phone/text/derek_overworld.asm (renamed from text/phone/derek_overworld.asm)0
-rw-r--r--data/phone/text/elm.asm (renamed from text/phone/elm.asm)0
-rw-r--r--data/phone/text/erin_overworld.asm (renamed from text/phone/erin_overworld.asm)0
-rw-r--r--data/phone/text/extra.asm (renamed from text/phone/extra.asm)12
-rw-r--r--data/phone/text/extra2.asm (renamed from text/phone/extra2.asm)18
-rw-r--r--data/phone/text/gaven_overworld.asm (renamed from text/phone/gaven_overworld.asm)0
-rw-r--r--data/phone/text/gina_overworld.asm (renamed from text/phone/gina_overworld.asm)0
-rw-r--r--data/phone/text/huey_overworld.asm (renamed from text/phone/huey_overworld.asm)0
-rw-r--r--data/phone/text/irwin_overworld.asm (renamed from text/phone/irwin_overworld.asm)0
-rw-r--r--data/phone/text/jack_overworld.asm (renamed from text/phone/jack_overworld.asm)0
-rw-r--r--data/phone/text/joey_overworld.asm (renamed from text/phone/joey_overworld.asm)0
-rw-r--r--data/phone/text/jose_overworld.asm (renamed from text/phone/jose_overworld.asm)2
-rw-r--r--data/phone/text/kenji_overworld.asm (renamed from text/phone/kenji_overworld.asm)0
-rw-r--r--data/phone/text/liz_overworld.asm (renamed from text/phone/liz_overworld.asm)0
-rw-r--r--data/phone/text/mom.asm (renamed from text/phone/mom.asm)2
-rw-r--r--data/phone/text/parry_overworld.asm (renamed from text/phone/parry_overworld.asm)0
-rw-r--r--data/phone/text/ralph_overworld.asm (renamed from text/phone/ralph_overworld.asm)0
-rw-r--r--data/phone/text/reena_overworld.asm (renamed from text/phone/reena_overworld.asm)0
-rw-r--r--data/phone/text/tiffany_overworld.asm (renamed from text/phone/tiffany_overworld.asm)0
-rw-r--r--data/phone/text/todd_overworld.asm (renamed from text/phone/todd_overworld.asm)0
-rw-r--r--data/phone/text/trainers1.asm (renamed from text/phone/trainers1.asm)24
-rw-r--r--data/phone/text/tully_overworld.asm (renamed from text/phone/tully_overworld.asm)0
-rw-r--r--data/phone/text/vance_overworld.asm (renamed from text/phone/vance_overworld.asm)0
-rw-r--r--data/phone/text/wade_overworld.asm (renamed from text/phone/wade_overworld.asm)0
-rw-r--r--data/phone/text/wilton_overworld.asm (renamed from text/phone/wilton_overworld.asm)0
-rw-r--r--data/phone_contacts.asm51
-rw-r--r--data/player_names.asm (renamed from data/default_names.asm)18
-rw-r--r--data/pokemon/base_stats.asm33
-rw-r--r--data/pokemon/dex_entries.asm2
-rw-r--r--data/pokemon/egg_moves.asm216
-rw-r--r--data/pokemon/evos_attacks.asm2
-rw-r--r--data/pokemon/ezchat_order.asm96
-rw-r--r--data/pokemon/palettes.asm8
-rw-r--r--data/pokemon/pic_pointers.asm2
-rw-r--r--data/pokemon/rby_base_special.asm (renamed from data/time_capsule/special_stats.asm)0
-rw-r--r--data/pokemon/rby_order.asm (renamed from data/time_capsule/mon_order.asm)0
-rw-r--r--data/predef_pointers.asm85
-rw-r--r--data/radio/buenas_passwords.asm26
-rw-r--r--data/radio/channel_music.asm13
-rw-r--r--data/radio/oaks_pkmn_talk_routes.asm19
-rw-r--r--data/radio/pnp_hidden_people.asm26
-rw-r--r--data/radio/pnp_hidden_places.asm13
-rw-r--r--data/sgb_border_map.asm29
-rw-r--r--data/sgb_ctrl_packets.asm135
-rw-r--r--data/special_pointers.asm185
-rwxr-xr-xdata/sprite_anims/framesets.asm178
-rw-r--r--data/sprite_anims/oam.asm1104
-rw-r--r--data/sprite_anims/sequences.asm90
-rw-r--r--data/sprites/emotes.asm (renamed from data/emotes.asm)0
-rw-r--r--data/sprites/facings.asm (renamed from data/facings.asm)0
-rwxr-xr-xdata/sprites/map_objects.asm (renamed from data/map_objects.asm)0
-rw-r--r--data/sprites/sprite_mons.asm (renamed from data/sprite_mons.asm)0
-rw-r--r--data/sprites/sprites.asm (renamed from data/sprites.asm)0
-rw-r--r--data/std_text.asm (renamed from text/stdtext.asm)6
-rw-r--r--data/tilesets.asm (renamed from tilesets/tilesets.asm)29
-rw-r--r--data/tilesets/aerodactyl_word_room_collision.asm (renamed from tilesets/aerodactyl_word_room_collision.asm)0
-rw-r--r--data/tilesets/aerodactyl_word_room_metatiles.bin (renamed from tilesets/aerodactyl_word_room_metatiles.bin)0
-rw-r--r--data/tilesets/battle_tower_collision.asm (renamed from tilesets/battle_tower_collision.asm)0
-rw-r--r--data/tilesets/battle_tower_metatiles.bin (renamed from tilesets/battle_tower_metatiles.bin)bin1024 -> 1024 bytes
-rw-r--r--data/tilesets/battle_tower_outside_collision.asm (renamed from tilesets/battle_tower_outside_collision.asm)0
-rw-r--r--data/tilesets/battle_tower_outside_metatiles.bin (renamed from tilesets/battle_tower_outside_metatiles.bin)bin2048 -> 2048 bytes
-rw-r--r--data/tilesets/beta_word_room_collision.asm (renamed from tilesets/beta_word_room_collision.asm)0
-rw-r--r--data/tilesets/beta_word_room_metatiles.bin (renamed from tilesets/beta_word_room_metatiles.bin)0
-rw-r--r--data/tilesets/cave_collision.asm (renamed from tilesets/cave_collision.asm)0
-rw-r--r--data/tilesets/cave_metatiles.bin (renamed from tilesets/cave_metatiles.bin)0
-rw-r--r--data/tilesets/champions_room_collision.asm (renamed from tilesets/olivine_gym_collision.asm)0
-rw-r--r--data/tilesets/champions_room_metatiles.bin (renamed from tilesets/olivine_gym_metatiles.bin)0
-rw-r--r--data/tilesets/dark_cave_collision.asm (renamed from tilesets/whirl_islands_collision.asm)0
-rw-r--r--data/tilesets/dark_cave_metatiles.bin (renamed from tilesets/whirl_islands_metatiles.bin)0
-rw-r--r--data/tilesets/elite_four_room_collision.asm (renamed from tilesets/gym_1_collision.asm)0
-rw-r--r--data/tilesets/elite_four_room_metatiles.bin (renamed from tilesets/gym_1_metatiles.bin)bin1024 -> 1024 bytes
-rw-r--r--data/tilesets/facility_collision.asm (renamed from tilesets/power_plant_collision.asm)0
-rw-r--r--data/tilesets/facility_metatiles.bin (renamed from tilesets/power_plant_metatiles.bin)0
-rw-r--r--data/tilesets/forest_collision.asm (renamed from tilesets/ilex_forest_collision.asm)0
-rw-r--r--data/tilesets/forest_metatiles.bin (renamed from tilesets/ilex_forest_metatiles.bin)0
-rw-r--r--data/tilesets/game_corner_collision.asm (renamed from tilesets/game_corner_collision.asm)0
-rw-r--r--data/tilesets/game_corner_metatiles.bin (renamed from tilesets/game_corner_metatiles.bin)bin1024 -> 1024 bytes
-rw-r--r--data/tilesets/gate_collision.asm (renamed from tilesets/gate_collision.asm)0
-rw-r--r--data/tilesets/gate_metatiles.bin (renamed from tilesets/gate_metatiles.bin)bin1024 -> 1024 bytes
-rw-r--r--data/tilesets/ho_oh_word_room_collision.asm (renamed from tilesets/ho_oh_word_room_collision.asm)0
-rw-r--r--data/tilesets/ho_oh_word_room_metatiles.bin (renamed from tilesets/ho_oh_word_room_metatiles.bin)0
-rw-r--r--data/tilesets/house_collision.asm (renamed from tilesets/house_1_collision.asm)0
-rw-r--r--data/tilesets/house_metatiles.bin (renamed from tilesets/house_1_metatiles.bin)bin1024 -> 1024 bytes
-rw-r--r--data/tilesets/ice_path_collision.asm (renamed from tilesets/ice_path_collision.asm)0
-rw-r--r--data/tilesets/ice_path_metatiles.bin (renamed from tilesets/ice_path_metatiles.bin)0
-rw-r--r--data/tilesets/johto_collision.asm (renamed from tilesets/johto_1_collision.asm)0
-rw-r--r--data/tilesets/johto_metatiles.bin (renamed from tilesets/johto_1_metatiles.bin)bin2048 -> 2048 bytes
-rw-r--r--data/tilesets/johto_modern_collision.asm (renamed from tilesets/johto_2_collision.asm)0
-rw-r--r--data/tilesets/johto_modern_metatiles.bin (renamed from tilesets/johto_2_metatiles.bin)bin2048 -> 2048 bytes
-rw-r--r--data/tilesets/kabuto_word_room_collision.asm (renamed from tilesets/kabuto_word_room_collision.asm)0
-rw-r--r--data/tilesets/kabuto_word_room_metatiles.bin (renamed from tilesets/kabuto_word_room_metatiles.bin)0
-rw-r--r--data/tilesets/kanto_collision.asm (renamed from tilesets/kanto_collision.asm)0
-rw-r--r--data/tilesets/kanto_metatiles.bin (renamed from tilesets/kanto_metatiles.bin)bin2048 -> 2048 bytes
-rw-r--r--data/tilesets/lab_collision.asm (renamed from tilesets/lab_collision.asm)0
-rw-r--r--data/tilesets/lab_metatiles.bin (renamed from tilesets/lab_metatiles.bin)bin1024 -> 1024 bytes
-rw-r--r--data/tilesets/lighthouse_collision.asm (renamed from tilesets/lighthouse_collision.asm)0
-rw-r--r--data/tilesets/lighthouse_metatiles.bin (renamed from tilesets/lighthouse_metatiles.bin)bin1024 -> 1024 bytes
-rw-r--r--data/tilesets/mansion_collision.asm (renamed from tilesets/celadon_mansion_collision.asm)0
-rw-r--r--data/tilesets/mansion_metatiles.bin (renamed from tilesets/celadon_mansion_metatiles.bin)0
-rw-r--r--data/tilesets/mart_collision.asm (renamed from tilesets/mart_collision.asm)0
-rw-r--r--data/tilesets/mart_metatiles.bin (renamed from tilesets/mart_metatiles.bin)0
-rw-r--r--data/tilesets/omanyte_word_room_collision.asm (renamed from tilesets/omanyte_word_room_collision.asm)0
-rw-r--r--data/tilesets/omanyte_word_room_metatiles.bin (renamed from tilesets/omanyte_word_room_metatiles.bin)0
-rw-r--r--data/tilesets/park_collision.asm (renamed from tilesets/park_collision.asm)0
-rw-r--r--data/tilesets/park_metatiles.bin (renamed from tilesets/park_metatiles.bin)bin1024 -> 1024 bytes
-rw-r--r--data/tilesets/players_house_collision.asm (renamed from tilesets/players_house_collision.asm)0
-rw-r--r--data/tilesets/players_house_metatiles.bin (renamed from tilesets/players_house_metatiles.bin)bin1024 -> 1024 bytes
-rw-r--r--data/tilesets/players_room_collision.asm (renamed from tilesets/players_house_2f_collision.asm)0
-rw-r--r--data/tilesets/players_room_metatiles.bin (renamed from tilesets/players_house_2f_metatiles.bin)bin1024 -> 1024 bytes
-rw-r--r--data/tilesets/pokecenter_collision.asm (renamed from tilesets/pokecenter_collision.asm)0
-rw-r--r--data/tilesets/pokecenter_metatiles.bin (renamed from tilesets/pokecenter_metatiles.bin)bin1024 -> 1024 bytes
-rw-r--r--data/tilesets/pokecom_center_collision.asm (renamed from tilesets/pokecom_center_collision.asm)0
-rw-r--r--data/tilesets/pokecom_center_metatiles.bin (renamed from tilesets/pokecom_center_metatiles.bin)0
-rw-r--r--data/tilesets/port_collision.asm (renamed from tilesets/port_collision.asm)0
-rw-r--r--data/tilesets/port_metatiles.bin (renamed from tilesets/port_metatiles.bin)0
-rw-r--r--data/tilesets/radio_tower_collision.asm (renamed from tilesets/radio_tower_collision.asm)0
-rw-r--r--data/tilesets/radio_tower_metatiles.bin (renamed from tilesets/radio_tower_metatiles.bin)bin1024 -> 1024 bytes
-rw-r--r--data/tilesets/ruins_of_alph_collision.asm (renamed from tilesets/ruins_of_alph_collision.asm)0
-rw-r--r--data/tilesets/ruins_of_alph_metatiles.bin (renamed from tilesets/ruins_of_alph_metatiles.bin)bin1024 -> 1024 bytes
-rw-r--r--data/tilesets/tower_collision.asm (renamed from tilesets/sprout_tower_collision.asm)0
-rw-r--r--data/tilesets/tower_metatiles.bin (renamed from tilesets/sprout_tower_metatiles.bin)0
-rw-r--r--data/tilesets/traditional_house_collision.asm (renamed from tilesets/kurts_house_collision.asm)0
-rw-r--r--data/tilesets/traditional_house_metatiles.bin (renamed from tilesets/kurts_house_metatiles.bin)bin1024 -> 1024 bytes
-rw-r--r--data/tilesets/train_station_collision.asm (renamed from tilesets/train_station_collision.asm)0
-rw-r--r--data/tilesets/train_station_metatiles.bin (renamed from tilesets/train_station_metatiles.bin)bin1024 -> 1024 bytes
-rw-r--r--data/tilesets/underground_collision.asm (renamed from tilesets/underground_collision.asm)0
-rw-r--r--data/tilesets/underground_metatiles.bin (renamed from tilesets/underground_metatiles.bin)0
-rw-r--r--data/tilesets/unused_dark_cave_collision.asm (renamed from tilesets/unused_whirl_islands_collision.asm)0
-rw-r--r--data/tilesets/unused_dark_cave_metatiles.bin (renamed from tilesets/unused_whirl_islands_metatiles.bin)bin2048 -> 2048 bytes
-rw-r--r--data/trainers/encounter_music.asm142
-rw-r--r--data/trainers/gendered_trainers.asm2
-rw-r--r--data/trainers/genders.asm71
-rw-r--r--data/trainers/leaders.asm32
-rw-r--r--data/trainers/palettes.asm6
-rw-r--r--data/trainers/parties.asm1082
-rw-r--r--data/trainers/party_pointers.asm3
-rw-r--r--data/trainers/pic_pointers.asm2
-rw-r--r--data/trainers/sprites.asm68
-rw-r--r--data/types/names.asm (renamed from data/type_names.asm)2
-rw-r--r--data/types/search_strings.asm21
-rw-r--r--data/types/search_types.asm20
-rw-r--r--data/unown_walls.asm54
-rw-r--r--data/unused/dakutens.asm15
-rw-r--r--data/unused/gen_1_trainer_names.asm (renamed from text/unused_gen_1_trainers.asm)79
-rw-r--r--data/unused/sweet_honey_text.asm (renamed from text/unused_sweet_honey.asm)0
-rwxr-xr-xdata/unused/unknown_53d84.asm13
-rw-r--r--data/wild/fish.asm50
-rw-r--r--data/wild/probabilities.asm25
-rw-r--r--data/wild/roammon_maps.asm1
-rw-r--r--data/wild/treemon_maps.asm76
-rw-r--r--data/wild/treemons.asm34
-rw-r--r--data/wild/treemons_asleep.asm31
-rw-r--r--docs/battle_anim_commands.md78
-rw-r--r--docs/bugs_and_glitches.md12
-rw-r--r--docs/design_flaws.md10
-rw-r--r--docs/event_commands.md256
-rw-r--r--docs/images/hp_exp_bar_border.pngbin125 -> 116 bytes
-rw-r--r--docs/images/hp_exp_bar_border_fix.pngbin124 -> 187 bytes
-rw-r--r--docs/images/port.pngbin1055 -> 1048 bytes
-rw-r--r--docs/images/port_fix.pngbin1056 -> 1547 bytes
-rw-r--r--docs/map_scripts.md141
-rw-r--r--docs/menu.md299
-rw-r--r--docs/move_effect_commands.md2
-rw-r--r--docs/movement_commands.md40
-rw-r--r--docs/music_commands.md110
-rw-r--r--docs/pic_animations.md6
-rw-r--r--docs/text_commands.md37
-rw-r--r--engine/battle/ai/items.asm2
-rwxr-xr-xengine/battle/ai/move.asm6
-rw-r--r--engine/battle/ai/scoring.asm24
-rw-r--r--engine/battle/battle_transition.asm69
-rw-r--r--engine/battle/checkbattlescene.asm8
-rw-r--r--engine/battle/core.asm365
-rw-r--r--engine/battle/effect_commands.asm183
-rwxr-xr-xengine/battle/effect_commands/present.asm4
-rw-r--r--engine/battle/hidden_power.asm14
-rwxr-xr-xengine/battle/menu.asm23
-rw-r--r--engine/battle/misc.asm54
-rwxr-xr-xengine/battle/sliding_intro.asm6
-rw-r--r--engine/battle/start_battle.asm8
-rwxr-xr-xengine/battle/trainer_huds.asm18
-rwxr-xr-xengine/battle/used_move_text.asm105
-rw-r--r--engine/battle_anims/anim_commands.asm59
-rw-r--r--engine/battle_anims/bg_effects.asm8
-rwxr-xr-xengine/battle_anims/core.asm (renamed from engine/battle_anims/engine.asm)0
-rwxr-xr-xengine/battle_anims/functions.asm17
-rwxr-xr-xengine/battle_anims/getpokeballwobble.asm2
-rwxr-xr-xengine/billspc.asm156
-rwxr-xr-xengine/billspctop.asm13
-rwxr-xr-xengine/breeding.asm47
-rwxr-xr-xengine/buy_sell_toss.asm15
-rwxr-xr-xengine/card_flip.asm314
-rw-r--r--engine/caught_data.asm30
-rw-r--r--engine/cgb_layouts.asm160
-rwxr-xr-xengine/clock_reset.asm1
-rw-r--r--engine/color.asm214
-rw-r--r--engine/credits.asm20
-rwxr-xr-xengine/crystal_intro.asm130
-rwxr-xr-xengine/crystal_layouts.asm (renamed from engine/crystal_colors.asm)19
-rwxr-xr-xengine/debug.asm120
-rwxr-xr-xengine/decorations.asm37
-rwxr-xr-xengine/delete_save_change_clock.asm14
-rwxr-xr-xengine/dma_transfer.asm14
-rwxr-xr-xengine/dummy_game.asm2
-rw-r--r--engine/events.asm31
-rwxr-xr-xengine/events/battle_tower/battle_tower.asm (renamed from mobile/battle_tower_5c.asm)179
-rw-r--r--engine/events/battle_tower/get_trainer_class.asm (renamed from mobile/get_trainer_class.asm)0
-rw-r--r--engine/events/battle_tower/load_trainer.asm (renamed from engine/events/battle_tower.asm)34
-rw-r--r--engine/events/battle_tower/rules.asm (renamed from engine/events/battle_tower_rules.asm)6
-rwxr-xr-xengine/events/battle_tower/trainer_text.asm (renamed from mobile/battle_tower_47.asm)72
-rw-r--r--engine/events/buena.asm38
-rw-r--r--engine/events/buena_menu.asm2
-rwxr-xr-xengine/events/bug_contest/contest_2.asm29
-rw-r--r--engine/events/bug_contest/display_stats.asm10
-rwxr-xr-xengine/events/bug_contest/judging.asm37
-rwxr-xr-xengine/events/celebi.asm59
-rw-r--r--engine/events/checkforhiddenitems.asm85
-rwxr-xr-xengine/events/daycare.asm38
-rw-r--r--engine/events/dratini.asm2
-rwxr-xr-xengine/events/elevator.asm65
-rwxr-xr-xengine/events/field_moves.asm44
-rw-r--r--engine/events/fish.asm2
-rw-r--r--engine/events/fruit_trees.asm4
-rwxr-xr-xengine/events/halloffame.asm22
-rwxr-xr-xengine/events/happiness_egg.asm6
-rwxr-xr-xengine/events/heal_machine_anim.asm55
-rw-r--r--engine/events/kurt.asm21
-rw-r--r--engine/events/loadfishinggfx.asm46
-rw-r--r--engine/events/lucky_number.asm2
-rw-r--r--engine/events/magikarp.asm10
-rwxr-xr-xengine/events/magnet_train.asm71
-rw-r--r--engine/events/map_name_sign.asm274
-rwxr-xr-xengine/events/misc_scripts.asm2
-rw-r--r--engine/events/misc_scripts_2.asm2
-rw-r--r--engine/events/mom.asm11
-rwxr-xr-xengine/events/mom_phone.asm10
-rw-r--r--engine/events/move_deleter.asm2
-rw-r--r--engine/events/move_tutor.asm12
-rw-r--r--engine/events/name_rater.asm10
-rw-r--r--engine/events/odd_egg.asm4
-rwxr-xr-xengine/events/overworld.asm14
-rw-r--r--engine/events/poisonstep_pals.asm7
-rw-r--r--engine/events/poke_seer.asm34
-rwxr-xr-xengine/events/pokecenter_pc.asm22
-rwxr-xr-xengine/events/pokepic.asm5
-rwxr-xr-xengine/events/print_photo.asm2
-rw-r--r--engine/events/print_unown.asm4
-rw-r--r--engine/events/print_unown_2.asm2
-rwxr-xr-xengine/events/prof_oaks_pc.asm4
-rwxr-xr-xengine/events/sacred_ash.asm12
-rwxr-xr-xengine/events/special.asm32
-rw-r--r--engine/events/std_scripts.asm97
-rwxr-xr-xengine/events/treemons.asm285
-rw-r--r--engine/events/unown_walls.asm (renamed from engine/events/crystal_unown.asm)97
-rwxr-xr-xengine/events/whiteout.asm8
-rw-r--r--engine/events_2.asm6
-rwxr-xr-xengine/events_3.asm689
-rwxr-xr-xengine/evolution_animation.asm16
-rwxr-xr-xengine/evolve.asm10
-rw-r--r--engine/gbc_only.asm8
-rwxr-xr-xengine/init_gender.asm16
-rw-r--r--engine/init_hof_credits.asm6
-rw-r--r--engine/init_map.asm4
-rwxr-xr-xengine/intro_menu.asm55
-rw-r--r--engine/item_effects.asm99
-rw-r--r--engine/landmarks.asm4
-rwxr-xr-xengine/learn.asm2
-rwxr-xr-xengine/link.asm350
-rw-r--r--engine/link_2.asm6
-rwxr-xr-xengine/link_trade.asm24
-rw-r--r--engine/load_font.asm156
-rwxr-xr-xengine/load_pics.asm (renamed from gfx/load_pics.asm)42
-rwxr-xr-xengine/mail.asm24
-rwxr-xr-xengine/mail_2.asm5
-rwxr-xr-xengine/main_menu.asm9
-rw-r--r--engine/map_objects.asm63
-rw-r--r--engine/map_setup.asm8
-rw-r--r--engine/mapgroup_roofs.asm (renamed from tilesets/roofs.asm)6
-rwxr-xr-xengine/mart.asm24
-rwxr-xr-xengine/menu.asm34
-rw-r--r--engine/menu_2.asm34
-rwxr-xr-xengine/mon_icons.asm7
-rwxr-xr-xengine/mon_menu.asm14
-rw-r--r--engine/mon_stats.asm7
-rwxr-xr-xengine/move_mon.asm36
-rwxr-xr-xengine/move_mon_wo_mail.asm4
-rwxr-xr-xengine/mystery_gift.asm84
-rwxr-xr-xengine/mystery_gift_2.asm16
-rwxr-xr-xengine/naming_screen.asm (renamed from engine/namingscreen.asm)110
-rwxr-xr-xengine/npc_movement.asm48
-rwxr-xr-xengine/npctrade.asm45
-rwxr-xr-xengine/overworld.asm22
-rw-r--r--engine/pack.asm325
-rw-r--r--engine/party_menu.asm59
-rw-r--r--engine/phone/buenas_password.asm2
-rw-r--r--engine/phone/generic_calls.asm2
-rw-r--r--engine/phone/phone.asm36
-rw-r--r--engine/phone/phone_callers.asm10
-rw-r--r--engine/phone/phone_scripts.asm532
-rw-r--r--engine/pic_animation.asm25
-rw-r--r--engine/player_gfx.asm11
-rwxr-xr-xengine/player_movement.asm10
-rwxr-xr-xengine/player_object.asm2
-rwxr-xr-xengine/player_step.asm6
-rw-r--r--engine/pokedex/newpokedexentry.asm (renamed from engine/routines/newpokedexentry.asm)6
-rw-r--r--engine/pokedex/pokedex.asm (renamed from engine/pokedex.asm)434
-rw-r--r--engine/pokedex/pokedex_2.asm (renamed from engine/pokedex_2.asm)42
-rw-r--r--engine/pokedex/pokedex_3.asm (renamed from engine/pokedex_3.asm)2
-rwxr-xr-xengine/pokedex/unown_dex.asm (renamed from engine/unown_dex.asm)0
-rwxr-xr-xengine/pokegear.asm301
-rw-r--r--engine/predef.asm81
-rwxr-xr-xengine/print_party.asm16
-rwxr-xr-xengine/printer.asm11
-rwxr-xr-xengine/printnum.asm2
-rw-r--r--engine/radio.asm178
-rw-r--r--engine/routines/checknickerrors.asm10
-rw-r--r--engine/routines/correcterrorsinplayerparty.asm4
-rw-r--r--engine/routines/drawkrispackgfx.asm8
-rw-r--r--engine/routines/emptyallsrambanks.asm8
-rw-r--r--engine/routines/flagpredef.asm4
-rw-r--r--engine/routines/getsquareroot.asm14
-rw-r--r--engine/routines/initlist.asm2
-rw-r--r--engine/routines/loadoverworldfont.asm17
-rw-r--r--engine/routines/loadpushoam.asm2
-rw-r--r--engine/routines/placegraphic.asm1
-rw-r--r--engine/routines/placewaitingtext.asm2
-rw-r--r--engine/routines/playslowcry.asm6
-rw-r--r--engine/routines/printhoursmins.asm3
-rw-r--r--engine/routines/printitemdescription.asm31
-rwxr-xr-xengine/routines/sine.asm4
-rw-r--r--engine/routines/switchpartymons.asm10
-rw-r--r--engine/routines/trademonfrontpic.asm2
-rw-r--r--engine/routines/unreferenced_getgen1trainerclassname.asm21
-rwxr-xr-xengine/rtc.asm14
-rw-r--r--engine/save.asm71
-rw-r--r--engine/scripting.asm511
-rwxr-xr-xengine/scrolling_menu.asm2
-rwxr-xr-xengine/search.asm4
-rw-r--r--engine/sgb_layouts.asm219
-rwxr-xr-xengine/slot_machine.asm117
-rw-r--r--engine/specials.asm216
-rwxr-xr-xengine/sprite_anims.asm24
-rwxr-xr-xengine/sprites.asm55
-rwxr-xr-xengine/start_menu.asm38
-rwxr-xr-xengine/stats_screen.asm91
-rw-r--r--engine/tileset_anims.asm (renamed from tilesets/animations.asm)170
-rw-r--r--engine/tileset_palettes.asm (renamed from tilesets/special_palettes.asm)71
-rwxr-xr-xengine/time.asm12
-rwxr-xr-xengine/time_capsule.asm2
-rw-r--r--engine/time_capsule_2.asm2
-rw-r--r--engine/timeofdaypals.asm18
-rwxr-xr-xengine/timeset.asm17
-rw-r--r--engine/title.asm36
-rwxr-xr-xengine/tmhm.asm2
-rwxr-xr-xengine/tmhm2.asm8
-rwxr-xr-xengine/trade_animation.asm96
-rwxr-xr-xengine/trainer_card.asm162
-rw-r--r--engine/types.asm8
-rwxr-xr-xengine/unown_puzzle.asm59
-rw-r--r--engine/unused_title.asm119
-rwxr-xr-xengine/variables.asm9
-rwxr-xr-xengine/warp_connection.asm17
-rwxr-xr-xengine/wildmons.asm55
-rw-r--r--gfx/battle/exp_bar.pal (renamed from data/palettes/exp_bar.pal)0
-rw-r--r--gfx/battle/hp_bar.pal (renamed from data/palettes/hp_bar.pal)0
-rw-r--r--gfx/battle_anims/battle_anims.pal (renamed from data/palettes/battle_objects.pal)0
-rw-r--r--gfx/card_flip/card_flip.pal (renamed from data/palettes/card_flip.pal)0
-rw-r--r--gfx/credits/credits.pal (renamed from data/palettes/credits.pal)0
-rw-r--r--gfx/credits/pichu.pngbin388 -> 690 bytes
-rw-r--r--gfx/credits/theend.pngbin195 -> 282 bytes
-rw-r--r--gfx/debug/bg.pal (renamed from data/palettes/debug/bg.pal)0
-rw-r--r--gfx/debug/ob.pal (renamed from data/palettes/debug/ob.pal)0
-rw-r--r--gfx/diploma/diploma.pal (renamed from data/palettes/diploma.pal)0
-rwxr-xr-xgfx/font.asm178
-rw-r--r--gfx/font/bg_text.pal (renamed from data/palettes/overworld/bg_text.pal)0
-rw-r--r--gfx/font/black.png (renamed from gfx/timeset/background.png)bin68 -> 68 bytes
-rw-r--r--gfx/font/font_battle_extra.pngbin280 -> 264 bytes
-rw-r--r--gfx/font/font_extra.pngbin293 -> 281 bytes
-rw-r--r--gfx/font/overworld_space.png (renamed from gfx/font/space.png)bin71 -> 71 bytes
-rw-r--r--gfx/font/phone_icon.png (renamed from gfx/font/overworld_phone_icon.png)bin82 -> 82 bytes
-rw-r--r--gfx/font/unused_up_arrow.pngbin0 -> 86 bytes
-rw-r--r--gfx/icons.asm76
-rw-r--r--gfx/icons/bat.png (renamed from gfx/icon/bat.png)bin169 -> 169 bytes
-rw-r--r--gfx/icons/bigmon.png (renamed from gfx/icon/bigmon.png)bin185 -> 185 bytes
-rw-r--r--gfx/icons/bird.png (renamed from gfx/icon/bird.png)bin176 -> 176 bytes
-rw-r--r--gfx/icons/blob.png (renamed from gfx/icon/blob.png)bin174 -> 174 bytes
-rw-r--r--gfx/icons/bug.png (renamed from gfx/icon/bug.png)bin185 -> 185 bytes
-rw-r--r--gfx/icons/bulbasaur.png (renamed from gfx/icon/bulbasaur.png)bin166 -> 166 bytes
-rw-r--r--gfx/icons/caterpillar.png (renamed from gfx/icon/caterpillar.png)bin159 -> 159 bytes
-rw-r--r--gfx/icons/charmander.png (renamed from gfx/icon/charmander.png)bin166 -> 166 bytes
-rw-r--r--gfx/icons/clefairy.png (renamed from gfx/icon/clefairy.png)bin165 -> 165 bytes
-rw-r--r--gfx/icons/diglett.png (renamed from gfx/icon/diglett.png)bin129 -> 129 bytes
-rw-r--r--gfx/icons/egg.png (renamed from gfx/icon/egg.png)bin155 -> 155 bytes
-rw-r--r--gfx/icons/equine.png (renamed from gfx/icon/equine.png)bin159 -> 159 bytes
-rw-r--r--gfx/icons/fighter.png (renamed from gfx/icon/fighter.png)bin179 -> 179 bytes
-rw-r--r--gfx/icons/fish.png (renamed from gfx/icon/fish.png)bin173 -> 173 bytes
-rw-r--r--gfx/icons/fox.png (renamed from gfx/icon/fox.png)bin188 -> 188 bytes
-rw-r--r--gfx/icons/geodude.png (renamed from gfx/icon/geodude.png)bin173 -> 173 bytes
-rw-r--r--gfx/icons/ghost.png (renamed from gfx/icon/ghost.png)bin143 -> 143 bytes
-rw-r--r--gfx/icons/gyarados.png (renamed from gfx/icon/gyarados.png)bin208 -> 208 bytes
-rw-r--r--gfx/icons/ho_oh.png (renamed from gfx/icon/ho_oh.png)bin204 -> 204 bytes
-rw-r--r--gfx/icons/humanshape.png (renamed from gfx/icon/humanshape.png)bin161 -> 161 bytes
-rw-r--r--gfx/icons/item.png (renamed from gfx/icon/item.png)bin82 -> 82 bytes
-rw-r--r--gfx/icons/jellyfish.png (renamed from gfx/icon/jellyfish.png)bin172 -> 172 bytes
-rw-r--r--gfx/icons/jigglypuff.png (renamed from gfx/icon/jigglypuff.png)bin165 -> 165 bytes
-rw-r--r--gfx/icons/lapras.png (renamed from gfx/icon/lapras.png)bin165 -> 165 bytes
-rw-r--r--gfx/icons/lugia.png (renamed from gfx/icon/lugia.png)bin185 -> 185 bytes
-rw-r--r--gfx/icons/mail.png (renamed from gfx/icon/mail.png)bin85 -> 85 bytes
-rw-r--r--gfx/icons/mail_big.png (renamed from gfx/icon/mail2.png)bin135 -> 135 bytes
-rw-r--r--gfx/icons/monster.png (renamed from gfx/icon/monster.png)bin179 -> 179 bytes
-rw-r--r--gfx/icons/moth.png (renamed from gfx/icon/moth.png)bin185 -> 185 bytes
-rw-r--r--gfx/icons/oddish.png (renamed from gfx/icon/oddish.png)bin157 -> 157 bytes
-rw-r--r--gfx/icons/pikachu.png (renamed from gfx/icon/pikachu.png)bin172 -> 172 bytes
-rw-r--r--gfx/icons/poliwag.png (renamed from gfx/icon/poliwag.png)bin158 -> 158 bytes
-rw-r--r--gfx/icons/serpent.png (renamed from gfx/icon/serpent.png)bin145 -> 145 bytes
-rw-r--r--gfx/icons/shell.png (renamed from gfx/icon/shell.png)bin170 -> 170 bytes
-rw-r--r--gfx/icons/slowpoke.png (renamed from gfx/icon/slowpoke.png)bin183 -> 183 bytes
-rw-r--r--gfx/icons/snorlax.png (renamed from gfx/icon/snorlax.png)bin165 -> 165 bytes
-rw-r--r--gfx/icons/squirtle.png (renamed from gfx/icon/squirtle.png)bin170 -> 170 bytes
-rw-r--r--gfx/icons/staryu.png (renamed from gfx/icon/staryu.png)bin166 -> 166 bytes
-rw-r--r--gfx/icons/sudowoodo.png (renamed from gfx/icon/sudowoodo.png)bin195 -> 195 bytes
-rw-r--r--gfx/icons/unown.png (renamed from gfx/icon/unown.png)bin112 -> 112 bytes
-rw-r--r--gfx/icons/voltorb.png (renamed from gfx/icon/voltorb.png)bin127 -> 127 bytes
-rw-r--r--gfx/intro/fade.pal (renamed from data/palettes/crystal_intro/fade.pal)0
-rw-r--r--gfx/intro/gamefreak_logo.pal (renamed from data/palettes/crystal_intro/gamefreak_logo.pal)0
-rw-r--r--gfx/intro/intro_1.pal (renamed from data/palettes/crystal_intro/intro_1.pal)0
-rw-r--r--gfx/intro/intro_2.pal (renamed from data/palettes/crystal_intro/intro_2.pal)0
-rw-r--r--gfx/intro/intro_3.pal (renamed from data/palettes/crystal_intro/intro_3.pal)0
-rw-r--r--gfx/intro/intro_4.pal (renamed from data/palettes/crystal_intro/intro_4.pal)0
-rw-r--r--gfx/intro/intro_5.pal (renamed from data/palettes/crystal_intro/intro_5.pal)0
-rw-r--r--gfx/mail/mail.pal (renamed from data/palettes/mail.pal)0
-rw-r--r--gfx/mobile/mobile_adapter.pngbin1633 -> 1517 bytes
-rw-r--r--gfx/mobile/phone_tiles.pngbin264 -> 245 bytes
-rw-r--r--gfx/mystery_gift/mg_mobile.pal (renamed from data/palettes/mg_mobile.pal)0
-rw-r--r--gfx/mystery_gift/mystery_gift.pal9
-rw-r--r--gfx/mystery_gift/mystery_gift.pngbin747 -> 698 bytes
-rw-r--r--gfx/naming_screen/border.png (renamed from gfx/namingscreen/border.png)bin82 -> 82 bytes
-rw-r--r--gfx/naming_screen/cursor.png (renamed from gfx/namingscreen/cursor.png)bin78 -> 78 bytes
-rw-r--r--gfx/naming_screen/end.png (renamed from gfx/namingscreen/end.png)bin82 -> 82 bytes
-rw-r--r--gfx/naming_screen/middle_line.png (renamed from gfx/namingscreen/middle_line.png)bin76 -> 76 bytes
-rw-r--r--gfx/naming_screen/underline.png (renamed from gfx/namingscreen/underline.png)bin74 -> 74 bytes
-rw-r--r--gfx/new_game/down_arrow.png (renamed from gfx/timeset/down_arrow.png)bin82 -> 82 bytes
-rw-r--r--gfx/new_game/gender_screen.pal4
-rw-r--r--gfx/new_game/gender_screen.png (renamed from gfx/intro/gender_screen.png)bin71 -> 71 bytes
-rw-r--r--gfx/new_game/shrink1.2bpp.lz.d4443930 (renamed from gfx/shrink/shrink1.2bpp.lz.d4443930)bin144 -> 144 bytes
-rw-r--r--gfx/new_game/shrink1.png (renamed from gfx/shrink/shrink1.png)bin188 -> 188 bytes
-rw-r--r--gfx/new_game/shrink2.2bpp.lz.3f58480a (renamed from gfx/shrink/shrink2.2bpp.lz.3f58480a)bin64 -> 64 bytes
-rw-r--r--gfx/new_game/shrink2.png (renamed from gfx/shrink/shrink2.png)bin156 -> 156 bytes
-rw-r--r--gfx/new_game/timeset_bg.pngbin0 -> 68 bytes
-rw-r--r--gfx/new_game/up_arrow.png (renamed from gfx/timeset/up_arrow.png)bin82 -> 82 bytes
-rw-r--r--gfx/overworld/chris_fish.pngbin190 -> 318 bytes
-rw-r--r--gfx/overworld/heal_machine.pal4
-rw-r--r--gfx/overworld/kris_fish.pngbin193 -> 446 bytes
-rw-r--r--gfx/overworld/npc_sprites.pal (renamed from data/palettes/overworld/map_objects.pal)0
-rw-r--r--gfx/overworld/trainer_battle_day.pal4
-rw-r--r--gfx/overworld/trainer_battle_nite.pal4
-rw-r--r--gfx/overworld_font.asm17
-rw-r--r--gfx/pack/pack.pal (renamed from data/palettes/pack.pal)0
-rw-r--r--gfx/pack/pack_f.pal (renamed from data/palettes/pack_f.pal)0
-rw-r--r--gfx/pc/orange.pal4
-rw-r--r--gfx/pics.asm2
-rw-r--r--gfx/pokedex/cursor.pal4
-rw-r--r--gfx/pokedex/question_mark.pal4
-rw-r--r--gfx/pokegear/pokegear.pal (renamed from data/palettes/pokegear.pal)11
-rw-r--r--gfx/pokegear/pokegear_f.pal (renamed from data/palettes/pokegear_f.pal)11
-rw-r--r--gfx/pokegear/town_map.pngbin464 -> 681 bytes
-rw-r--r--gfx/pokegear/town_map_palette_map.asm (renamed from data/palettes/town_map.asm)28
-rw-r--r--gfx/pokemon/egg/front.pngbin435 -> 444 bytes
-rw-r--r--gfx/pokemon/egg/shiny.pal4
-rw-r--r--gfx/sgb/blk_packets.asm90
-rw-r--r--gfx/sgb/pal_packets.asm98
-rw-r--r--gfx/sgb/predef.pal79
-rw-r--r--gfx/sgb/sgb_border.bin2
-rw-r--r--gfx/sgb/sgb_border.pal (renamed from data/palettes/sgb_border.pal)0
-rw-r--r--gfx/sgb/sgb_border.pngbin632 -> 608 bytes
-rw-r--r--gfx/slots/slots.pal (renamed from data/palettes/slot_machine.pal)0
-rw-r--r--gfx/splash/logo.pal4
-rw-r--r--gfx/stats/exp_bar_ends.pngbin76 -> 0 bytes
-rw-r--r--gfx/stats/pages.pal15
-rw-r--r--gfx/stats/party_menu_bg.pal4
-rw-r--r--gfx/stats/party_menu_bg_mobile.pal4
-rw-r--r--gfx/stats/party_menu_ob.pal (renamed from data/palettes/party_menu.pal)0
-rw-r--r--gfx/stats/shiny.pngbin89 -> 0 bytes
-rw-r--r--gfx/stats/stats.pal6
-rw-r--r--gfx/stats/stats_tiles.pngbin195 -> 201 bytes
-rw-r--r--gfx/tilesets.asm435
-rw-r--r--gfx/tilesets/aerodactyl_word_room.pngbin1909 -> 1884 bytes
-rw-r--r--gfx/tilesets/aerodactyl_word_room_palette_map.asm (renamed from tilesets/aerodactyl_word_room_palette_map.asm)0
-rw-r--r--gfx/tilesets/battle_tower.pal (renamed from data/palettes/tilesets/battle_tower.pal)0
-rw-r--r--gfx/tilesets/battle_tower.pngbin993 -> 1004 bytes
-rw-r--r--gfx/tilesets/battle_tower_outside.pngbin2341 -> 2324 bytes
-rw-r--r--gfx/tilesets/battle_tower_outside_palette_map.asm (renamed from tilesets/battle_tower_outside_palette_map.asm)0
-rw-r--r--gfx/tilesets/battle_tower_palette_map.asm (renamed from tilesets/battle_tower_palette_map.asm)0
-rw-r--r--gfx/tilesets/beta_word_room.pngbin1909 -> 1884 bytes
-rw-r--r--gfx/tilesets/beta_word_room_palette_map.asm (renamed from tilesets/beta_word_room_palette_map.asm)0
-rw-r--r--gfx/tilesets/bg_tiles.pal (renamed from data/palettes/overworld/tileset_bg.pal)2
-rw-r--r--gfx/tilesets/cave.pngbin1044 -> 1031 bytes
-rw-r--r--gfx/tilesets/cave_palette_map.asm (renamed from tilesets/cave_palette_map.asm)0
-rw-r--r--gfx/tilesets/celadon_mansion.pngbin2047 -> 0 bytes
-rw-r--r--gfx/tilesets/champions_room.2bpp.lz.93800351 (renamed from gfx/tilesets/olivine_gym.2bpp.lz.93800351)bin2176 -> 2176 bytes
-rw-r--r--gfx/tilesets/champions_room.pngbin0 -> 2267 bytes
-rw-r--r--gfx/tilesets/champions_room_palette_map.asm (renamed from tilesets/olivine_gym_palette_map.asm)0
-rw-r--r--gfx/tilesets/dark_cave.2bpp.lz.25b9c4b6 (renamed from gfx/tilesets/whirl_islands.2bpp.lz.25b9c4b6)bin832 -> 832 bytes
-rw-r--r--gfx/tilesets/dark_cave.pngbin0 -> 840 bytes
-rw-r--r--gfx/tilesets/dark_cave_palette_map.asm (renamed from tilesets/whirl_islands_palette_map.asm)0
-rw-r--r--gfx/tilesets/elite_four_room.2bpp.lz.c1f2ed8f (renamed from gfx/tilesets/gym_1.2bpp.lz.c1f2ed8f)bin1248 -> 1248 bytes
-rw-r--r--gfx/tilesets/elite_four_room.pngbin0 -> 1272 bytes
-rw-r--r--gfx/tilesets/elite_four_room_palette_map.asm (renamed from tilesets/gym_1_palette_map.asm)0
-rw-r--r--gfx/tilesets/facility.2bpp.lz.454cfd8b (renamed from gfx/tilesets/power_plant.2bpp.lz.454cfd8b)bin1056 -> 1056 bytes
-rw-r--r--gfx/tilesets/facility.pngbin0 -> 1123 bytes
-rw-r--r--gfx/tilesets/facility_palette_map.asm (renamed from tilesets/power_plant_palette_map.asm)0
-rw-r--r--gfx/tilesets/forest.2bpp.lz.6b0ac896 (renamed from gfx/tilesets/ilex_forest.2bpp.lz.6b0ac896)bin976 -> 976 bytes
-rw-r--r--gfx/tilesets/forest.pngbin0 -> 1214 bytes
-rw-r--r--gfx/tilesets/forest_palette_map.asm (renamed from tilesets/ilex_forest_palette_map.asm)0
-rw-r--r--gfx/tilesets/game_corner.pngbin1583 -> 1562 bytes
-rw-r--r--gfx/tilesets/game_corner_palette_map.asm (renamed from tilesets/game_corner_palette_map.asm)0
-rw-r--r--gfx/tilesets/gate.pngbin1146 -> 1141 bytes
-rw-r--r--gfx/tilesets/gate_palette_map.asm (renamed from tilesets/gate_palette_map.asm)0
-rw-r--r--gfx/tilesets/gym_1.pngbin1282 -> 0 bytes
-rw-r--r--gfx/tilesets/ho_oh_word_room.pngbin1909 -> 1884 bytes
-rw-r--r--gfx/tilesets/ho_oh_word_room_palette_map.asm (renamed from tilesets/ho_oh_word_room_palette_map.asm)0
-rw-r--r--gfx/tilesets/house.2bpp.lz.c848ef13 (renamed from gfx/tilesets/house_1.2bpp.lz.c848ef13)bin1200 -> 1200 bytes
-rw-r--r--gfx/tilesets/house.pal (renamed from data/palettes/tilesets/house_1.pal)0
-rw-r--r--gfx/tilesets/house.pngbin0 -> 1254 bytes
-rw-r--r--gfx/tilesets/house_1.pngbin1264 -> 0 bytes
-rw-r--r--gfx/tilesets/house_palette_map.asm (renamed from tilesets/house_1_palette_map.asm)0
-rw-r--r--gfx/tilesets/ice_path.pal (renamed from data/palettes/tilesets/ice_path.pal)0
-rw-r--r--gfx/tilesets/ice_path.pngbin2592 -> 2566 bytes
-rw-r--r--gfx/tilesets/ice_path_palette_map.asm (renamed from tilesets/ice_path_palette_map.asm)0
-rw-r--r--gfx/tilesets/ilex_forest.pngbin1264 -> 0 bytes
-rw-r--r--gfx/tilesets/johto.2bpp.lz.0c7e555a (renamed from gfx/tilesets/johto_1.2bpp.lz.0c7e555a)bin3080 -> 3080 bytes
-rw-r--r--gfx/tilesets/johto.pngbin0 -> 2044 bytes
-rw-r--r--gfx/tilesets/johto_1.pngbin2084 -> 0 bytes
-rw-r--r--gfx/tilesets/johto_2.pngbin2341 -> 0 bytes
-rw-r--r--gfx/tilesets/johto_modern.2bpp.lz.391603fb (renamed from gfx/tilesets/johto_2.2bpp.lz.391603fb)bin3080 -> 3080 bytes
-rw-r--r--gfx/tilesets/johto_modern.pngbin0 -> 2324 bytes
-rw-r--r--gfx/tilesets/johto_modern_palette_map.asm (renamed from tilesets/johto_2_palette_map.asm)0
-rw-r--r--gfx/tilesets/johto_palette_map.asm (renamed from tilesets/johto_1_palette_map.asm)0
-rw-r--r--gfx/tilesets/kabuto_word_room.pngbin1909 -> 1884 bytes
-rw-r--r--gfx/tilesets/kabuto_word_room_palette_map.asm (renamed from tilesets/kabuto_word_room_palette_map.asm)0
-rw-r--r--gfx/tilesets/kanto.pngbin1316 -> 1301 bytes
-rw-r--r--gfx/tilesets/kanto_palette_map.asm (renamed from tilesets/kanto_palette_map.asm)0
-rw-r--r--gfx/tilesets/kurts_house.pngbin1203 -> 0 bytes
-rw-r--r--gfx/tilesets/lab.pngbin2041 -> 2022 bytes
-rw-r--r--gfx/tilesets/lab_palette_map.asm (renamed from tilesets/lab_palette_map.asm)0
-rw-r--r--gfx/tilesets/lava/1.png (renamed from gfx/tilesets/safari/1.png)bin89 -> 89 bytes
-rw-r--r--gfx/tilesets/lava/2.png (renamed from gfx/tilesets/safari/2.png)bin89 -> 89 bytes
-rw-r--r--gfx/tilesets/lava/3.png (renamed from gfx/tilesets/safari/3.png)bin87 -> 87 bytes
-rw-r--r--gfx/tilesets/lava/4.png (renamed from gfx/tilesets/safari/4.png)bin79 -> 79 bytes
-rw-r--r--gfx/tilesets/lighthouse.pngbin1226 -> 1226 bytes
-rw-r--r--gfx/tilesets/lighthouse_palette_map.asm (renamed from tilesets/lighthouse_palette_map.asm)0
-rw-r--r--gfx/tilesets/mansion.2bpp.lz.63b414d4 (renamed from gfx/tilesets/celadon_mansion.2bpp.lz.63b414d4)bin1888 -> 1888 bytes
-rw-r--r--gfx/tilesets/mansion.pngbin0 -> 2047 bytes
-rw-r--r--gfx/tilesets/mansion_1.pal44
-rw-r--r--gfx/tilesets/mansion_2.pal4
-rw-r--r--gfx/tilesets/mansion_palette_map.asm (renamed from tilesets/celadon_mansion_palette_map.asm)0
-rw-r--r--gfx/tilesets/mart.pngbin1773 -> 1751 bytes
-rw-r--r--gfx/tilesets/mart_palette_map.asm (renamed from tilesets/mart_palette_map.asm)0
-rw-r--r--gfx/tilesets/olivine_gym.pngbin2284 -> 0 bytes
-rw-r--r--gfx/tilesets/omanyte_word_room.pngbin1909 -> 1884 bytes
-rw-r--r--gfx/tilesets/omanyte_word_room_palette_map.asm (renamed from tilesets/omanyte_word_room_palette_map.asm)0
-rw-r--r--gfx/tilesets/palette_maps.asm149
-rw-r--r--gfx/tilesets/park.pngbin1334 -> 1310 bytes
-rw-r--r--gfx/tilesets/park_palette_map.asm (renamed from tilesets/park_palette_map.asm)0
-rw-r--r--gfx/tilesets/players_house.pngbin1005 -> 999 bytes
-rw-r--r--gfx/tilesets/players_house_2f.pngbin1250 -> 0 bytes
-rw-r--r--gfx/tilesets/players_house_palette_map.asm (renamed from tilesets/players_house_palette_map.asm)0
-rw-r--r--gfx/tilesets/players_room.2bpp.lz.35e51007 (renamed from gfx/tilesets/players_house_2f.2bpp.lz.35e51007)bin1216 -> 1216 bytes
-rw-r--r--gfx/tilesets/players_room.pngbin0 -> 1221 bytes
-rw-r--r--gfx/tilesets/players_room_palette_map.asm (renamed from tilesets/players_house_2f_palette_map.asm)0
-rw-r--r--gfx/tilesets/pokecenter.pngbin1195 -> 1189 bytes
-rw-r--r--gfx/tilesets/pokecenter_palette_map.asm (renamed from tilesets/pokecenter_palette_map.asm)0
-rw-r--r--gfx/tilesets/pokecom_center.pal (renamed from data/palettes/tilesets/pokecom_center.pal)0
-rw-r--r--gfx/tilesets/pokecom_center.pngbin2498 -> 2485 bytes
-rw-r--r--gfx/tilesets/pokecom_center_palette_map.asm (renamed from tilesets/pokecom_center_palette_map.asm)0
-rw-r--r--gfx/tilesets/port.pngbin1062 -> 1048 bytes
-rw-r--r--gfx/tilesets/port_palette_map.asm (renamed from tilesets/port_palette_map.asm)0
-rw-r--r--gfx/tilesets/power_plant.pngbin1131 -> 0 bytes
-rw-r--r--gfx/tilesets/radio_tower.pal (renamed from data/palettes/tilesets/radio_tower.pal)0
-rw-r--r--gfx/tilesets/radio_tower.pngbin1419 -> 1381 bytes
-rw-r--r--gfx/tilesets/radio_tower_palette_map.asm (renamed from tilesets/radio_tower_palette_map.asm)0
-rw-r--r--gfx/tilesets/roofs.pal107
-rw-r--r--gfx/tilesets/ruins_of_alph.pngbin1909 -> 1884 bytes
-rw-r--r--gfx/tilesets/ruins_of_alph_palette_map.asm (renamed from tilesets/ruins_of_alph_palette_map.asm)0
-rw-r--r--gfx/tilesets/sprout_tower.pngbin1505 -> 0 bytes
-rw-r--r--gfx/tilesets/tower-pillar/1.png (renamed from gfx/tilesets/sprout-pillar/1.png)bin137 -> 137 bytes
-rw-r--r--gfx/tilesets/tower-pillar/10.png (renamed from gfx/tilesets/sprout-pillar/10.png)bin118 -> 118 bytes
-rw-r--r--gfx/tilesets/tower-pillar/2.png (renamed from gfx/tilesets/sprout-pillar/2.png)bin133 -> 133 bytes
-rw-r--r--gfx/tilesets/tower-pillar/3.png (renamed from gfx/tilesets/sprout-pillar/3.png)bin127 -> 127 bytes
-rw-r--r--gfx/tilesets/tower-pillar/4.png (renamed from gfx/tilesets/sprout-pillar/4.png)bin130 -> 130 bytes
-rw-r--r--gfx/tilesets/tower-pillar/5.png (renamed from gfx/tilesets/sprout-pillar/5.png)bin117 -> 117 bytes
-rw-r--r--gfx/tilesets/tower-pillar/6.png (renamed from gfx/tilesets/sprout-pillar/6.png)bin116 -> 116 bytes
-rw-r--r--gfx/tilesets/tower-pillar/7.png (renamed from gfx/tilesets/sprout-pillar/7.png)bin115 -> 115 bytes
-rw-r--r--gfx/tilesets/tower-pillar/8.png (renamed from gfx/tilesets/sprout-pillar/8.png)bin115 -> 115 bytes
-rw-r--r--gfx/tilesets/tower-pillar/9.png (renamed from gfx/tilesets/sprout-pillar/9.png)bin127 -> 127 bytes
-rw-r--r--gfx/tilesets/tower.2bpp.lz.bc56789c (renamed from gfx/tilesets/sprout_tower.2bpp.lz.bc56789c)bin1376 -> 1376 bytes
-rw-r--r--gfx/tilesets/tower.pngbin0 -> 1489 bytes
-rw-r--r--gfx/tilesets/tower_palette_map.asm (renamed from tilesets/sprout_tower_palette_map.asm)0
-rw-r--r--gfx/tilesets/traditional_house.2bpp.lz.dd51d079 (renamed from gfx/tilesets/kurts_house.2bpp.lz.dd51d079)bin1216 -> 1216 bytes
-rw-r--r--gfx/tilesets/traditional_house.pngbin0 -> 1181 bytes
-rw-r--r--gfx/tilesets/traditional_house_palette_map.asm (renamed from tilesets/kurts_house_palette_map.asm)0
-rw-r--r--gfx/tilesets/train_station.pngbin1156 -> 1162 bytes
-rw-r--r--gfx/tilesets/train_station_palette_map.asm (renamed from tilesets/train_station_palette_map.asm)0
-rw-r--r--gfx/tilesets/underground.pngbin1143 -> 1111 bytes
-rw-r--r--gfx/tilesets/underground_palette_map.asm (renamed from tilesets/underground_palette_map.asm)0
-rw-r--r--gfx/tilesets/unused_museum_palette_map.asm (renamed from tilesets/unused_museum_palette_map.asm)0
-rw-r--r--gfx/tilesets/whirl_islands.pngbin851 -> 0 bytes
-rw-r--r--gfx/title/old_bg.pal (renamed from data/palettes/unused_title/bg.pal)17
-rw-r--r--gfx/title/old_bg.tilemapbin0 -> 2048 bytes
-rw-r--r--gfx/title/old_fg.pal (renamed from data/palettes/unused_title/ob.pal)0
-rw-r--r--gfx/title/title.pal (renamed from data/palettes/title.pal)0
-rw-r--r--gfx/title/unused_gs_bg.pal (renamed from data/palettes/unknown/b6f1.pal)0
-rw-r--r--gfx/title/unused_gs_fg.pal (renamed from data/palettes/unknown/b719.pal)0
-rw-r--r--gfx/trade/border.pal (renamed from data/palettes/trade_room.pal)0
-rw-r--r--gfx/trainer_card/leaders.pngbin958 -> 923 bytes
-rw-r--r--gfx/unknown/49757.pal (renamed from data/palettes/unknown/49757.pal)0
-rw-r--r--gfx/unknown/4985a.asm8
-rw-r--r--gfx/unknown/b789.pal (renamed from data/palettes/unknown/b789.pal)0
-rw-r--r--home.asm35
-rw-r--r--home/audio.asm47
-rw-r--r--home/cry.asm18
-rw-r--r--home/fade.asm3
-rw-r--r--home/game_time.asm2
-rw-r--r--home/init.asm18
-rw-r--r--home/lcd.asm3
-rw-r--r--home/map.asm258
-rw-r--r--home/map_objects.asm4
-rw-r--r--home/menu.asm27
-rw-r--r--home/mobile.asm6
-rw-r--r--home/names.asm26
-rw-r--r--home/palettes.asm2
-rw-r--r--home/pokedex_flags.asm2
-rw-r--r--home/serial.asm133
-rw-r--r--home/sine.asm2
-rw-r--r--home/text.asm188
-rw-r--r--home/trainers.asm14
-rw-r--r--home/vblank.asm4
-rw-r--r--home/video.asm12
-rw-r--r--home/window.asm2
-rw-r--r--hram.asm28
-rw-r--r--includes.asm2
-rw-r--r--lib/mobile/main.asm7
-rw-r--r--macros.asm3
-rw-r--r--macros/base_stats.asm67
-rw-r--r--macros/code.asm9
-rw-r--r--macros/color.asm10
-rw-r--r--macros/data.asm16
-rw-r--r--macros/enum.asm9
-rw-r--r--macros/predef.asm5
-rw-r--r--macros/scripts/battle_commands.asm2
-rw-r--r--macros/scripts/events.asm15
-rw-r--r--macros/scripts/maps.asm33
-rw-r--r--macros/scripts/text.asm37
-rwxr-xr-xmacros/tilesets.asm15
-rwxr-xr-xmacros/wram.asm27
-rw-r--r--main.asm170
-rw-r--r--maps/AzaleaGym.asm8
-rw-r--r--maps/AzaleaMart.asm4
-rw-r--r--maps/AzaleaPokecenter1F.asm4
-rw-r--r--maps/AzaleaTown.asm18
-rw-r--r--maps/BattleTower1F.asm88
-rw-r--r--maps/BattleTowerBattleRoom.asm52
-rw-r--r--maps/BattleTowerElevator.asm8
-rw-r--r--maps/BattleTowerHallway.asm10
-rw-r--r--maps/BattleTowerOutside.asm8
-rw-r--r--maps/BillsHouse.asm4
-rw-r--r--maps/BlackthornCity.asm8
-rw-r--r--maps/BlackthornDragonSpeechHouse.asm4
-rw-r--r--maps/BlackthornEmysHouse.asm4
-rw-r--r--maps/BlackthornGym1F.asm18
-rw-r--r--maps/BlackthornGym2F.asm30
-rw-r--r--maps/BlackthornMart.asm4
-rw-r--r--maps/BlackthornPokecenter1F.asm4
-rw-r--r--maps/BluesHouse.asm14
-rw-r--r--maps/BrunosRoom.asm34
-rw-r--r--maps/BurnedTower1F.asm34
-rw-r--r--maps/BurnedTowerB1F.asm28
-rw-r--r--maps/CeladonCafe.asm8
-rw-r--r--maps/CeladonCity.asm8
-rw-r--r--maps/CeladonDeptStore1F.asm4
-rw-r--r--maps/CeladonDeptStore2F.asm4
-rw-r--r--maps/CeladonDeptStore3F.asm4
-rw-r--r--maps/CeladonDeptStore4F.asm4
-rw-r--r--maps/CeladonDeptStore5F.asm4
-rw-r--r--maps/CeladonDeptStore6F.asm52
-rw-r--r--maps/CeladonDeptStoreElevator.asm6
-rw-r--r--maps/CeladonGameCorner.asm24
-rw-r--r--maps/CeladonGameCornerPrizeRoom.asm72
-rw-r--r--maps/CeladonGym.asm8
-rw-r--r--maps/CeladonMansion1F.asm4
-rw-r--r--maps/CeladonMansion2F.asm4
-rw-r--r--maps/CeladonMansion3F.asm10
-rw-r--r--maps/CeladonMansionRoof.asm4
-rw-r--r--maps/CeladonMansionRoofHouse.asm4
-rw-r--r--maps/CeladonPokecenter1F.asm12
-rw-r--r--maps/CeladonPokecenter2FBeta.asm4
-rw-r--r--maps/CeruleanCity.asm8
-rw-r--r--maps/CeruleanGym.asm21
-rw-r--r--maps/CeruleanGymBadgeSpeechHouse.asm4
-rw-r--r--maps/CeruleanMart.asm4
-rw-r--r--maps/CeruleanPokecenter1F.asm6
-rw-r--r--maps/CeruleanPokecenter2FBeta.asm4
-rw-r--r--maps/CeruleanPoliceStation.asm4
-rw-r--r--maps/CeruleanTradeSpeechHouse.asm4
-rw-r--r--maps/CharcoalKiln.asm4
-rw-r--r--maps/CherrygroveCity.asm20
-rw-r--r--maps/CherrygroveEvolutionSpeechHouse.asm4
-rw-r--r--maps/CherrygroveGymSpeechHouse.asm4
-rw-r--r--maps/CherrygroveMart.asm4
-rw-r--r--maps/CherrygrovePokecenter1F.asm4
-rw-r--r--maps/CianwoodCity.asm24
-rw-r--r--maps/CianwoodGym.asm8
-rw-r--r--maps/CianwoodLugiaSpeechHouse.asm4
-rw-r--r--maps/CianwoodPharmacy.asm4
-rw-r--r--maps/CianwoodPhotoStudio.asm (renamed from maps/CianwoodCityPhotoStudio.asm)8
-rw-r--r--maps/CianwoodPokecenter1F.asm4
-rw-r--r--maps/CinnabarIsland.asm8
-rw-r--r--maps/CinnabarPokecenter1F.asm4
-rw-r--r--maps/CinnabarPokecenter2FBeta.asm4
-rw-r--r--maps/Colosseum.asm14
-rw-r--r--maps/CopycatsHouse1F.asm4
-rw-r--r--maps/CopycatsHouse2F.asm16
-rw-r--r--maps/DanceTheatre.asm4
-rw-r--r--maps/DarkCaveBlackthornEntrance.asm4
-rw-r--r--maps/DarkCaveVioletEntrance.asm7
-rw-r--r--maps/DayCare.asm6
-rw-r--r--maps/DiglettsCave.asm7
-rw-r--r--maps/DragonShrine.asm259
-rw-r--r--maps/DragonsDen1F.asm4
-rw-r--r--maps/DragonsDenB1F.asm20
-rw-r--r--maps/EarlsPokemonAcademy.asm21
-rw-r--r--maps/EcruteakCity.asm8
-rw-r--r--maps/EcruteakGym.asm14
-rw-r--r--maps/EcruteakHouse.asm16
-rw-r--r--maps/EcruteakItemfinderHouse.asm4
-rw-r--r--maps/EcruteakLugiaSpeechHouse.asm4
-rw-r--r--maps/EcruteakMart.asm4
-rw-r--r--maps/EcruteakPokecenter1F.asm8
-rw-r--r--maps/ElmsHouse.asm4
-rw-r--r--maps/ElmsLab.asm48
-rw-r--r--maps/FastShip1F.asm24
-rw-r--r--maps/FastShipB1F.asm8
-rw-r--r--maps/FastShipCabins_NNW_NNE_NE.asm8
-rw-r--r--maps/FastShipCabins_SE_SSE_CaptainsCabin.asm14
-rw-r--r--maps/FastShipCabins_SW_SSW_NW.asm10
-rw-r--r--maps/FightingDojo.asm4
-rw-r--r--maps/FuchsiaBillSpeechHouse.asm4
-rw-r--r--maps/FuchsiaCity.asm10
-rw-r--r--maps/FuchsiaGym.asm18
-rw-r--r--maps/FuchsiaMart.asm4
-rw-r--r--maps/FuchsiaPokecenter1F.asm8
-rw-r--r--maps/FuchsiaPokecenter2FBeta.asm4
-rw-r--r--maps/GoldenrodBikeShop.asm4
-rw-r--r--maps/GoldenrodBillsHouse.asm10
-rw-r--r--maps/GoldenrodCity.asm39
-rw-r--r--maps/GoldenrodDeptStore1F.asm4
-rw-r--r--maps/GoldenrodDeptStore2F.asm12
-rw-r--r--maps/GoldenrodDeptStore3F.asm4
-rw-r--r--maps/GoldenrodDeptStore4F.asm4
-rw-r--r--maps/GoldenrodDeptStore5F.asm16
-rw-r--r--maps/GoldenrodDeptStore6F.asm48
-rw-r--r--maps/GoldenrodDeptStoreB1F.asm16
-rw-r--r--maps/GoldenrodDeptStoreElevator.asm6
-rw-r--r--maps/GoldenrodDeptStoreRoof.asm16
-rw-r--r--maps/GoldenrodFlowerShop.asm4
-rw-r--r--maps/GoldenrodGameCorner.asm72
-rw-r--r--maps/GoldenrodGym.asm12
-rw-r--r--maps/GoldenrodHappinessRater.asm16
-rw-r--r--maps/GoldenrodMagnetTrainStation.asm12
-rw-r--r--maps/GoldenrodNameRater.asm8
-rw-r--r--maps/GoldenrodPPSpeechHouse.asm4
-rw-r--r--maps/GoldenrodPokeComCenter2FMobile.asm40
-rw-r--r--maps/GoldenrodPokecenter1F.asm12
-rw-r--r--maps/GoldenrodUnderground.asm56
-rw-r--r--maps/GoldenrodUndergroundSwitchRoomEntrances.asm11
-rw-r--r--maps/GoldenrodUndergroundWarehouse.asm8
-rw-r--r--maps/GuideGentsHouse.asm4
-rw-r--r--maps/HallOfFame.asm12
-rw-r--r--maps/IcePath1F.asm4
-rw-r--r--maps/IcePathB1F.asm16
-rw-r--r--maps/IcePathB2FBlackthornSide.asm7
-rw-r--r--maps/IcePathB2FMahoganySide.asm21
-rw-r--r--maps/IcePathB3F.asm4
-rw-r--r--maps/IlexForest.asm80
-rw-r--r--maps/IlexForestAzaleaGate.asm4
-rw-r--r--maps/IndigoPlateauPokecenter1F.asm26
-rw-r--r--maps/KarensRoom.asm34
-rw-r--r--maps/KogasRoom.asm34
-rw-r--r--maps/KrissHouse1F.asm8
-rw-r--r--maps/KrissHouse2F.asm33
-rw-r--r--maps/KrissNeighborsHouse.asm6
-rw-r--r--maps/KurtsHouse.asm10
-rw-r--r--maps/LakeOfRage.asm21
-rw-r--r--maps/LakeOfRageHiddenPowerHouse.asm4
-rw-r--r--maps/LakeOfRageMagikarpHouse.asm11
-rw-r--r--maps/LancesRoom.asm30
-rw-r--r--maps/LavRadioTower1F.asm6
-rw-r--r--maps/LavenderMart.asm4
-rw-r--r--maps/LavenderNameRater.asm6
-rw-r--r--maps/LavenderPokecenter1F.asm4
-rw-r--r--maps/LavenderPokecenter2FBeta.asm4
-rw-r--r--maps/LavenderSpeechHouse.asm (renamed from maps/LavenderTownSpeechHouse.asm)20
-rw-r--r--maps/LavenderTown.asm8
-rw-r--r--maps/MahoganyGym.asm8
-rw-r--r--maps/MahoganyMart1F.asm12
-rw-r--r--maps/MahoganyPokecenter1F.asm4
-rw-r--r--maps/MahoganyRedGyaradosSpeechHouse.asm4
-rw-r--r--maps/MahoganyTown.asm16
-rw-r--r--maps/ManiasHouse.asm17
-rw-r--r--maps/MobileBattleRoom.asm30
-rw-r--r--maps/MobileTradeRoomMobile.asm14
-rw-r--r--maps/MountMoon.asm14
-rw-r--r--maps/MountMoonGiftShop.asm4
-rw-r--r--maps/MountMoonSquare.asm11
-rw-r--r--maps/MountMortar1FInside.asm7
-rw-r--r--maps/MountMortar1FOutside.asm7
-rw-r--r--maps/MountMortar2FInside.asm7
-rw-r--r--maps/MountMortarB1F.asm9
-rw-r--r--maps/MoveDeletersHouse.asm6
-rw-r--r--maps/MrFujisHouse.asm4
-rw-r--r--maps/MrPokemonsHouse.asm16
-rw-r--r--maps/MrPsychicsHouse.asm4
-rw-r--r--maps/NationalPark.asm19
-rw-r--r--maps/NationalParkBugContest.asm7
-rw-r--r--maps/NewBarkTown.asm8
-rw-r--r--maps/OaksLab.asm10
-rw-r--r--maps/OlivineCafe.asm4
-rw-r--r--maps/OlivineCity.asm18
-rw-r--r--maps/OlivineGoodRodHouse.asm4
-rw-r--r--maps/OlivineGym.asm8
-rw-r--r--maps/OlivineHouseBeta.asm4
-rw-r--r--maps/OlivineLighthouse1F.asm4
-rw-r--r--maps/OlivineLighthouse2F.asm14
-rw-r--r--maps/OlivineLighthouse3F.asm4
-rw-r--r--maps/OlivineLighthouse4F.asm4
-rw-r--r--maps/OlivineLighthouse5F.asm7
-rw-r--r--maps/OlivineLighthouse6F.asm18
-rw-r--r--maps/OlivineMart.asm4
-rw-r--r--maps/OlivinePokecenter1F.asm4
-rw-r--r--maps/OlivinePort.asm15
-rw-r--r--maps/OlivinePortPassage.asm4
-rw-r--r--maps/OlivinePunishmentSpeechHouse.asm4
-rw-r--r--maps/OlivineTimsHouse.asm4
-rw-r--r--maps/PalletTown.asm6
-rw-r--r--maps/PewterCity.asm6
-rw-r--r--maps/PewterGym.asm8
-rw-r--r--maps/PewterMart.asm4
-rw-r--r--maps/PewterNidoranSpeechHouse.asm4
-rw-r--r--maps/PewterPokecenter1F.asm4
-rw-r--r--maps/PewterPokecenter2FBeta.asm4
-rw-r--r--maps/PewterSnoozeSpeechHouse.asm4
-rw-r--r--maps/PokeSeersHouse.asm6
-rw-r--r--maps/Pokecenter2F.asm78
-rw-r--r--maps/PokemonFanClub.asm4
-rw-r--r--maps/PowerPlant.asm10
-rw-r--r--maps/RadioTower1F.asm10
-rw-r--r--maps/RadioTower2F.asm20
-rw-r--r--maps/RadioTower3F.asm14
-rw-r--r--maps/RadioTower4F.asm4
-rw-r--r--maps/RadioTower5F.asm14
-rw-r--r--maps/RedsHouse1F.asm4
-rw-r--r--maps/RedsHouse2F.asm4
-rw-r--r--maps/RockTunnel1F.asm10
-rw-r--r--maps/RockTunnelB1F.asm7
-rw-r--r--maps/Route1.asm4
-rw-r--r--maps/Route10North.asm4
-rw-r--r--maps/Route10Pokecenter1F.asm4
-rw-r--r--maps/Route10Pokecenter2FBeta.asm4
-rw-r--r--maps/Route10South.asm4
-rw-r--r--maps/Route11.asm7
-rw-r--r--maps/Route12.asm7
-rw-r--r--maps/Route12SuperRodHouse.asm4
-rw-r--r--maps/Route13.asm7
-rw-r--r--maps/Route14.asm4
-rw-r--r--maps/Route15.asm4
-rw-r--r--maps/Route15FuchsiaGate.asm4
-rw-r--r--maps/Route16.asm10
-rw-r--r--maps/Route16FuchsiaSpeechHouse.asm4
-rw-r--r--maps/Route16Gate.asm4
-rw-r--r--maps/Route17.asm16
-rw-r--r--maps/Route17Route18Gate.asm (renamed from maps/Route1718Gate.asm)16
-rw-r--r--maps/Route18.asm8
-rw-r--r--maps/Route19.asm20
-rw-r--r--maps/Route19FuchsiaGate.asm4
-rw-r--r--maps/Route2.asm12
-rw-r--r--maps/Route20.asm6
-rw-r--r--maps/Route21.asm4
-rw-r--r--maps/Route22.asm4
-rw-r--r--maps/Route23.asm6
-rw-r--r--maps/Route24.asm6
-rw-r--r--maps/Route25.asm11
-rw-r--r--maps/Route26.asm16
-rw-r--r--maps/Route26DayofWeekSiblingsHouse.asm4
-rw-r--r--maps/Route26HealSpeechHouse.asm8
-rw-r--r--maps/Route27.asm18
-rw-r--r--maps/Route27SandstormHouse.asm8
-rw-r--r--maps/Route28.asm7
-rw-r--r--maps/Route28FamousSpeechHouse.asm4
-rw-r--r--maps/Route29.asm20
-rw-r--r--maps/Route29Route46Gate.asm (renamed from maps/Route2946Gate.asm)24
-rw-r--r--maps/Route2Gate.asm4
-rw-r--r--maps/Route2NuggetSpeechHouse.asm4
-rw-r--r--maps/Route3.asm4
-rw-r--r--maps/Route30.asm13
-rw-r--r--maps/Route30BerrySpeechHouse.asm4
-rw-r--r--maps/Route31.asm21
-rw-r--r--maps/Route31VioletGate.asm4
-rw-r--r--maps/Route32.asm30
-rw-r--r--maps/Route32Pokecenter1F.asm4
-rw-r--r--maps/Route32RuinsOfAlphGate.asm4
-rw-r--r--maps/Route33.asm10
-rw-r--r--maps/Route34.asm26
-rw-r--r--maps/Route34IlexForestGate.asm6
-rw-r--r--maps/Route35.asm16
-rw-r--r--maps/Route35GoldenrodGate.asm4
-rw-r--r--maps/Route35NationalParkGate.asm38
-rw-r--r--maps/Route36.asm20
-rw-r--r--maps/Route36NationalParkGate.asm43
-rw-r--r--maps/Route36RuinsOfAlphGate.asm4
-rw-r--r--maps/Route37.asm9
-rw-r--r--maps/Route38.asm16
-rw-r--r--maps/Route38EcruteakGate.asm4
-rw-r--r--maps/Route39.asm13
-rw-r--r--maps/Route39Barn.asm6
-rw-r--r--maps/Route39Farmhouse.asm14
-rw-r--r--maps/Route4.asm7
-rw-r--r--maps/Route40.asm10
-rw-r--r--maps/Route40BattleTowerGate.asm6
-rw-r--r--maps/Route41.asm6
-rw-r--r--maps/Route42.asm21
-rw-r--r--maps/Route42EcruteakGate.asm4
-rw-r--r--maps/Route43.asm22
-rw-r--r--maps/Route43Gate.asm32
-rw-r--r--maps/Route43MahoganyGate.asm4
-rw-r--r--maps/Route44.asm19
-rw-r--r--maps/Route45.asm21
-rw-r--r--maps/Route46.asm14
-rw-r--r--maps/Route5.asm8
-rw-r--r--maps/Route5CleanseTagSpeechHouse.asm4
-rw-r--r--maps/Route5SaffronGate.asm (renamed from maps/Route5SaffronCityGate.asm)14
-rw-r--r--maps/Route5UndergroundPathEntrance.asm4
-rw-r--r--maps/Route6.asm4
-rw-r--r--maps/Route6SaffronGate.asm4
-rw-r--r--maps/Route6UndergroundPathEntrance.asm4
-rw-r--r--maps/Route7.asm4
-rw-r--r--maps/Route7SaffronGate.asm4
-rw-r--r--maps/Route8.asm4
-rw-r--r--maps/Route8SaffronGate.asm4
-rw-r--r--maps/Route9.asm7
-rw-r--r--maps/RuinsOfAlphAerodactylChamber.asm36
-rw-r--r--maps/RuinsOfAlphAerodactylItemRoom.asm4
-rw-r--r--maps/RuinsOfAlphAerodactylWordRoom.asm4
-rw-r--r--maps/RuinsOfAlphHoOhChamber.asm38
-rw-r--r--maps/RuinsOfAlphHoOhItemRoom.asm4
-rw-r--r--maps/RuinsOfAlphHoOhWordRoom.asm4
-rw-r--r--maps/RuinsOfAlphInnerChamber.asm6
-rw-r--r--maps/RuinsOfAlphKabutoChamber.asm42
-rw-r--r--maps/RuinsOfAlphKabutoItemRoom.asm4
-rw-r--r--maps/RuinsOfAlphKabutoWordRoom.asm4
-rw-r--r--maps/RuinsOfAlphOmanyteChamber.asm38
-rw-r--r--maps/RuinsOfAlphOmanyteItemRoom.asm4
-rw-r--r--maps/RuinsOfAlphOmanyteWordRoom.asm4
-rw-r--r--maps/RuinsOfAlphOutside.asm16
-rw-r--r--maps/RuinsOfAlphResearchCenter.asm38
-rw-r--r--maps/SafariZoneBeta.asm4
-rw-r--r--maps/SafariZoneFuchsiaGateBeta.asm4
-rw-r--r--maps/SafariZoneMainOffice.asm4
-rw-r--r--maps/SafariZoneWardensHome.asm4
-rw-r--r--maps/SaffronCity.asm10
-rw-r--r--maps/SaffronGym.asm8
-rw-r--r--maps/SaffronMagnetTrainStation.asm (renamed from maps/SaffronTrainStation.asm)38
-rw-r--r--maps/SaffronMagnetTrainStation.blk (renamed from maps/SaffronTrainStation.blk)0
-rw-r--r--maps/SaffronMart.asm4
-rw-r--r--maps/SaffronPokecenter1F.asm6
-rw-r--r--maps/SaffronPokecenter2FBeta.asm4
-rw-r--r--maps/SeafoamGym.asm6
-rw-r--r--maps/SilphCo1F.asm4
-rw-r--r--maps/SilverCaveItemRooms.asm4
-rw-r--r--maps/SilverCaveOutside.asm8
-rw-r--r--maps/SilverCavePokecenter1F.asm4
-rw-r--r--maps/SilverCaveRoom1.asm10
-rw-r--r--maps/SilverCaveRoom2.asm7
-rw-r--r--maps/SilverCaveRoom3.asm18
-rw-r--r--maps/SlowpokeWellB1F.asm14
-rw-r--r--maps/SlowpokeWellB2F.asm4
-rw-r--r--maps/SoulHouse.asm4
-rw-r--r--maps/SproutTower1F.asm4
-rw-r--r--maps/SproutTower2F.asm4
-rw-r--r--maps/SproutTower3F.asm8
-rw-r--r--maps/TeamRocketBaseB1F.asm85
-rw-r--r--maps/TeamRocketBaseB2F.asm49
-rw-r--r--maps/TeamRocketBaseB3F.asm18
-rw-r--r--maps/TimeCapsule.asm10
-rw-r--r--maps/TinTower1F.asm46
-rw-r--r--maps/TinTower2F.asm4
-rw-r--r--maps/TinTower3F.asm4
-rw-r--r--maps/TinTower4F.asm7
-rw-r--r--maps/TinTower5F.asm10
-rw-r--r--maps/TinTower6F.asm4
-rw-r--r--maps/TinTower7F.asm4
-rw-r--r--maps/TinTower8F.asm4
-rw-r--r--maps/TinTower9F.asm4
-rw-r--r--maps/TinTowerRoof.asm6
-rw-r--r--maps/TohjoFalls.asm4
-rw-r--r--maps/TradeCenter.asm10
-rw-r--r--maps/TrainerHouse1F.asm4
-rw-r--r--maps/TrainerHouseB1F.asm12
-rw-r--r--maps/UndergroundPath.asm10
-rw-r--r--maps/UnionCave1F.asm4
-rw-r--r--maps/UnionCaveB1F.asm4
-rw-r--r--maps/UnionCaveB2F.asm6
-rw-r--r--maps/VermilionCity.asm12
-rw-r--r--maps/VermilionGym.asm8
-rw-r--r--maps/VermilionHouseDiglettsCaveSpeechHouse.asm4
-rw-r--r--maps/VermilionHouseFishingSpeechHouse.asm4
-rw-r--r--maps/VermilionMagnetTrainSpeechHouse.asm4
-rw-r--r--maps/VermilionMart.asm4
-rw-r--r--maps/VermilionPokecenter1F.asm4
-rw-r--r--maps/VermilionPokecenter2FBeta.asm4
-rw-r--r--maps/VermilionPort.asm17
-rw-r--r--maps/VermilionPortPassage.asm4
-rw-r--r--maps/VictoryRoad.asm16
-rw-r--r--maps/VictoryRoadGate.asm8
-rw-r--r--maps/VioletCity.asm8
-rw-r--r--maps/VioletGym.asm10
-rw-r--r--maps/VioletKylesHouse.asm4
-rw-r--r--maps/VioletMart.asm4
-rw-r--r--maps/VioletNicknameSpeechHouse.asm4
-rw-r--r--maps/VioletPokecenter1F.asm8
-rw-r--r--maps/ViridianCity.asm6
-rw-r--r--maps/ViridianGym.asm8
-rw-r--r--maps/ViridianMart.asm4
-rw-r--r--maps/ViridianNicknameSpeechHouse.asm4
-rw-r--r--maps/ViridianPokecenter1F.asm4
-rw-r--r--maps/ViridianPokecenter2FBeta.asm4
-rw-r--r--maps/WhirlIslandB1F.asm13
-rw-r--r--maps/WhirlIslandB2F.asm4
-rw-r--r--maps/WhirlIslandCave.asm4
-rw-r--r--maps/WhirlIslandLugiaChamber.asm6
-rw-r--r--maps/WhirlIslandNE.asm4
-rw-r--r--maps/WhirlIslandNW.asm4
-rw-r--r--maps/WhirlIslandSE.asm4
-rw-r--r--maps/WhirlIslandSW.asm4
-rw-r--r--maps/WillsRoom.asm34
-rw-r--r--maps/WiseTriosRoom.asm8
-rw-r--r--maps/blockdata.asm1047
-rw-r--r--maps/map_headers.asm510
-rw-r--r--maps/second_map_headers.asm685
-rw-r--r--maps/unused/BetaAzaleaTown.blk (renamed from maps/BetaAzaleaTown.blk)0
-rw-r--r--maps/unused/BetaBlackthornCity.blk (renamed from maps/BetaBlackthornCity.blk)0
-rw-r--r--maps/unused/BetaBlank.blk (renamed from maps/BetaBlank.blk)0
-rw-r--r--maps/unused/BetaCave.blk (renamed from maps/BetaCave.blk)0
-rw-r--r--maps/unused/BetaCave2.blk (renamed from maps/BetaCave2.blk)0
-rw-r--r--maps/unused/BetaCaveTestMap.blk (renamed from maps/BetaCaveTestMap.blk)0
-rw-r--r--maps/unused/BetaCeladonMansion.blk (renamed from maps/BetaCeladonMansion.blk)0
-rw-r--r--maps/unused/BetaCherrygroveCity.blk (renamed from maps/BetaCherrygroveCity.blk)0
-rw-r--r--maps/unused/BetaCianwoodCity.blk (renamed from maps/BetaCianwoodCity.blk)0
-rw-r--r--maps/unused/BetaCinnabarPokemonLabHallway.blk (renamed from maps/BetaCinnabarIslandPokemonLabHallway.blk)0
-rw-r--r--maps/unused/BetaCinnabarPokemonLabRoom1.blk (renamed from maps/BetaCinnabarIslandPokemonLabRoom1.blk)0
-rw-r--r--maps/unused/BetaCinnabarPokemonLabRoom2.blk (renamed from maps/BetaCinnabarIslandPokemonLabRoom2.blk)0
-rw-r--r--maps/unused/BetaCinnabarPokemonLabRoom3.blk (renamed from maps/BetaCinnabarIslandPokemonLabRoom3.blk)0
-rw-r--r--maps/unused/BetaEcruteakCity.blk (renamed from maps/BetaTeakCity.blk)0
-rw-r--r--maps/unused/BetaElevator.blk (renamed from maps/BetaElevator.blk)0
-rw-r--r--maps/unused/BetaEmptyHouse.blk (renamed from maps/BetaEmptyHouse.blk)0
-rw-r--r--maps/unused/BetaFastShipInsideCutOut.blk (renamed from maps/BetaSSAquaInsideCutOut.blk)0
-rw-r--r--maps/unused/BetaGoldenrodCity.blk (renamed from maps/BetaGoldenrodCity.blk)0
-rw-r--r--maps/unused/BetaHerosHouse.blk (renamed from maps/BetaHerosHouse.blk)0
-rw-r--r--maps/unused/BetaHouse.blk (renamed from maps/BetaHouse.blk)0
-rw-r--r--maps/unused/BetaHouse2.blk (renamed from maps/BetaHouse2.blk)0
-rw-r--r--maps/unused/BetaIlexForest.blk (renamed from maps/BetaIlexForest.blk)0
-rw-r--r--maps/unused/BetaLakeOfRage.blk (renamed from maps/BetaLakeOfRage.blk)0
-rw-r--r--maps/unused/BetaMahoganyTown.blk (renamed from maps/BetaMahoganyTown.blk)0
-rw-r--r--maps/unused/BetaNewBarkTown.blk (renamed from maps/BetaNewBarkTown.blk)0
-rw-r--r--maps/unused/BetaOlivineCity.blk (renamed from maps/BetaOlivineCity.blk)0
-rw-r--r--maps/unused/BetaPewterMuseumOfScience1F.blk (renamed from maps/BetaPewterMuseumOfScience1F.blk)0
-rw-r--r--maps/unused/BetaPewterMuseumOfScience2F.blk (renamed from maps/BetaPewterMuseumOfScience2F.blk)0
-rw-r--r--maps/unused/BetaPokecenterMainHouse.blk (renamed from maps/BetaPokecenterMainHouse.blk)0
-rw-r--r--maps/unused/BetaPokecenterTradeStation.blk (renamed from maps/BetaPokecenterTradeStation.blk)0
-rw-r--r--maps/unused/BetaRocketHideout1.blk (renamed from maps/BetaRocketHideout1.blk)0
-rw-r--r--maps/unused/BetaRocketHideout2.blk (renamed from maps/BetaRocketHideout2.blk)0
-rw-r--r--maps/unused/BetaRocketHideout3.blk (renamed from maps/BetaRocketHideout3.blk)0
-rw-r--r--maps/unused/BetaRoute23EarlyVersion.blk (renamed from maps/BetaRoute23EarlyVersion.blk)0
-rw-r--r--maps/unused/BetaRuinsOfAlphUnsolvedPuzzleRoom.blk (renamed from maps/BetaRuinsOfAlphUnsolvedPuzzleRoom.blk)0
-rw-r--r--maps/unused/BetaSproutTower1.blk (renamed from maps/BetaSproutTower1.blk)0
-rw-r--r--maps/unused/BetaSproutTower2.blk (renamed from maps/BetaSproutTower2.blk)0
-rw-r--r--maps/unused/BetaSproutTower3.blk (renamed from maps/BetaSproutTower3.blk)0
-rw-r--r--maps/unused/BetaSproutTower5.blk (renamed from maps/BetaSproutTower5.blk)0
-rw-r--r--maps/unused/BetaSproutTower6.blk (renamed from maps/BetaSproutTower6.blk)0
-rw-r--r--maps/unused/BetaSproutTower7.blk (renamed from maps/BetaSproutTower7.blk)0
-rw-r--r--maps/unused/BetaSproutTower8.blk (renamed from maps/BetaSproutTower8.blk)0
-rw-r--r--maps/unused/BetaSproutTower9.blk (renamed from maps/BetaSproutTower9.blk)0
-rw-r--r--maps/unused/BetaSproutTowerCutOut1.blk (renamed from maps/BetaSproutTowerCutOut1.blk)0
-rw-r--r--maps/unused/BetaSproutTowerCutOut2.blk (renamed from maps/BetaSproutTowerCutOut2.blk)0
-rw-r--r--maps/unused/BetaSproutTowerCutOut3.blk (renamed from maps/BetaSproutTowerCutOut3.blk)0
-rw-r--r--maps/unused/BetaUnknown.blk (renamed from maps/BetaUnknown.blk)0
-rw-r--r--maps/unused/BetaVioletCity.blk (renamed from maps/BetaVioletCity.blk)0
-rwxr-xr-xmobile/fixed_words.asm403
-rwxr-xr-xmobile/mobile_12.asm43
-rwxr-xr-xmobile/mobile_12_2.asm7
-rw-r--r--mobile/mobile_22.asm212
-rw-r--r--mobile/mobile_22_2.asm46
-rw-r--r--mobile/mobile_40.asm198
-rwxr-xr-xmobile/mobile_41.asm239
-rw-r--r--mobile/mobile_42.asm220
-rw-r--r--mobile/mobile_45.asm59
-rwxr-xr-xmobile/mobile_45_sprite_engine.asm51
-rwxr-xr-xmobile/mobile_46.asm202
-rwxr-xr-xmobile/mobile_5b.asm13
-rwxr-xr-xmobile/mobile_5c.asm59
-rw-r--r--mobile/mobile_5e.asm4
-rw-r--r--mobile/mobile_5f.asm497
-rwxr-xr-xmobile/mobile_menu.asm64
-rw-r--r--mobile/news/news.asm8
-rw-r--r--mobile/print_opp_message.asm2
-rw-r--r--pokecrystal.link8
-rw-r--r--sram.asm15
-rw-r--r--text/common_2.asm309
-rw-r--r--text/common_4.asm683
-rw-r--r--text/common_text.asm18
-rw-r--r--tilesets/data.asm429
-rw-r--r--tilesets/palette_maps.asm130
-rwxr-xr-xtools/sort_symfile.sh10
-rw-r--r--version.asm2
-rw-r--r--wram.asm247
1232 files changed, 20377 insertions, 19687 deletions
diff --git a/FAQ.md b/FAQ.md
index c4dd9bdbe..26957631e 100644
--- a/FAQ.md
+++ b/FAQ.md
@@ -14,7 +14,7 @@
## What is pokecrystal11.gbc?
-Version 1.1 of Pokémon Crystal, which fixed some issues with the initial international release. `make crystal11` defines `CRYSTAL11` so the assembly builds the changed version.
+Version 1.1 of Pokémon Crystal, which fixed some issues with the initial international release. `make crystal11` defines `_CRYSTAL11` so the assembly builds the changed version.
## Can't build ROM; "ERROR: `UNION` already defined"
diff --git a/Makefile b/Makefile
index 2a746f2ca..89d7af7a7 100644
--- a/Makefile
+++ b/Makefile
@@ -20,8 +20,9 @@ crystal_obj := \
audio.o \
home.o \
main.o \
-maps.o \
wram.o \
+data/common_text/common_text.o \
+data/maps/maps.o \
data/pokemon/dex_entries.o \
data/pokemon/egg_moves.o \
data/pokemon/evos_attacks.o \
@@ -29,8 +30,7 @@ engine/credits.o \
engine/events.o \
gfx/pics.o \
gfx/sprites.o \
-lib/mobile/main.o \
-text/common_text.o
+lib/mobile/main.o
crystal11_obj := $(crystal_obj:.o=11.o)
@@ -52,7 +52,8 @@ tools:
$(MAKE) -C tools/
-$(crystal11_obj): RGBASMFLAGS = -D CRYSTAL11
+$(crystal_obj): RGBASMFLAGS = -D _CRYSTAL
+$(crystal11_obj): RGBASMFLAGS = -D _CRYSTAL -D _CRYSTAL11
# 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.
@@ -77,12 +78,12 @@ endif
pokecrystal11.gbc: $(crystal11_obj) pokecrystal.link
$(RGBLINK) -n pokecrystal11.sym -m pokecrystal11.map -l pokecrystal.link -o $@ $(crystal11_obj)
$(RGBFIX) -Cjv -i BYTE -k 01 -l 0x33 -m 0x10 -n 1 -p 0 -r 3 -t PM_CRYSTAL $@
- sort pokecrystal11.sym -o pokecrystal11.sym
+ tools/sort_symfile.sh pokecrystal11.sym
pokecrystal.gbc: $(crystal_obj) pokecrystal.link
$(RGBLINK) -n pokecrystal.sym -m pokecrystal.map -l pokecrystal.link -o $@ $(crystal_obj)
$(RGBFIX) -Cjv -i BYTE -k 01 -l 0x33 -m 0x10 -p 0 -r 3 -t PM_CRYSTAL $@
- sort pokecrystal.sym -o pokecrystal.sym
+ tools/sort_symfile.sh pokecrystal.sym
# For files that the compressor can't match, there will be a .lz file suffixed with the md5 hash of the correct uncompressed file.
@@ -119,10 +120,12 @@ gfx/pokemon/girafarig/front.animated.tilemap: gfx/pokemon/girafarig/front.2bpp g
### Pokemon pic graphics rules
-gfx/pokemon/%/normal.gbcpal: gfx/pokemon/%/front.png
- $(RGBGFX) -p $@ $<
+gfx/pokemon/%/front.dimensions: gfx/pokemon/%/front.png
+ tools/png_dimensions $< $@
gfx/pokemon/%/normal.pal: gfx/pokemon/%/normal.gbcpal
tools/palette -p $< > $@
+gfx/pokemon/%/normal.gbcpal: gfx/pokemon/%/front.png
+ $(RGBGFX) -p $@ $<
gfx/pokemon/%/back.2bpp: gfx/pokemon/%/back.png
$(RGBGFX) -h -o $@ $<
gfx/pokemon/%/bitmask.asm: gfx/pokemon/%/front.animated.tilemap gfx/pokemon/%/front.dimensions
@@ -133,19 +136,18 @@ gfx/pokemon/%/front.animated.2bpp: gfx/pokemon/%/front.2bpp gfx/pokemon/%/front.
tools/pokemon_animation_graphics -o $@ $^
gfx/pokemon/%/front.animated.tilemap: gfx/pokemon/%/front.2bpp gfx/pokemon/%/front.dimensions
tools/pokemon_animation_graphics -t $@ $^
-# Don't use -h, pokemon_animation_graphics takes care of it
-#gfx/pokemon/%/front.2bpp: gfx/pokemon/%/front.png
-# $(RGBGFX) -o $@ $<
### Misc file-specific graphics rules
-gfx/shrink/shrink1.2bpp: rgbgfx += -h
-gfx/shrink/shrink2.2bpp: rgbgfx += -h
+gfx/new_game/shrink1.2bpp: rgbgfx += -h
+gfx/new_game/shrink2.2bpp: rgbgfx += -h
gfx/trainers/%.2bpp: rgbgfx += -h
gfx/trainers/%.pal: gfx/trainers/%.gbcpal
tools/palette -p $< > $@
+gfx/trainers/%.gbcpal: gfx/trainers/%.png
+ $(RGBGFX) -p $@ $<
gfx/mail/dragonite.1bpp: tools/gfx += --remove-whitespace
gfx/mail/large_note.1bpp: tools/gfx += --remove-whitespace
@@ -157,6 +159,11 @@ gfx/pokedex/pokedex.2bpp: tools/gfx += --trim-whitespace
gfx/pokedex/sgb.2bpp: tools/gfx += --trim-whitespace
gfx/pokedex/slowpoke.2bpp: tools/gfx += --trim-whitespace
+gfx/pokegear/pokegear.2bpp: rgbgfx += -x2
+gfx/pokegear/pokegear_sprites.2bpp: tools/gfx += --trim-whitespace
+
+gfx/mystery_gift/mystery_gift.2bpp: tools/gfx += --trim-whitespace
+
gfx/title/crystal.2bpp: tools/gfx += --interleave --png=$<
gfx/title/old_fg.2bpp: tools/gfx += --interleave --png=$<
gfx/title/logo.2bpp: rgbgfx += -x 4
@@ -194,17 +201,21 @@ gfx/player/kris_back.2bpp: rgbgfx += -h
gfx/trainer_card/chris_card.2bpp: rgbgfx += -h
gfx/trainer_card/kris_card.2bpp: rgbgfx += -h
+gfx/trainer_card/leaders.2bpp: tools/gfx += --trim-whitespace
+
+gfx/overworld/chris_fish.2bpp: tools/gfx += --trim-whitespace
+gfx/overworld/kris_fish.2bpp: tools/gfx += --trim-whitespace
gfx/battle/dude.2bpp: rgbgfx += -h
gfx/font/unused_bold_font.1bpp: tools/gfx += --trim-whitespace
-gfx/pokegear/pokegear.2bpp: rgbgfx += -x2
-gfx/pokegear/pokegear_sprites.2bpp: tools/gfx += --trim-whitespace
+gfx/sgb/sgb_border.2bpp: tools/gfx += --trim-whitespace
gfx/mobile/ascii_font.2bpp: tools/gfx += --trim-whitespace
gfx/mobile/electro_ball.2bpp: tools/gfx += --trim-whitespace
gfx/mobile/electro_ball_nonmatching.2bpp: tools/gfx += --remove-duplicates --remove-xflip
+gfx/mobile/mobile_adapter.2bpp: tools/gfx += --trim-whitespace
gfx/mobile/mobile_splash.2bpp: tools/gfx += --remove-duplicates --remove-xflip
gfx/mobile/pichu_animated.2bpp: tools/gfx += --trim-whitespace
@@ -228,7 +239,5 @@ gfx/unknown/unknown_egg.2bpp: rgbgfx += -h
$(RGBGFX) -t $@ $<
%.gbcpal: %.png
$(RGBGFX) -p $@ $<
-%.pal: %.gbcpal
- tools/palette $< > $@
%.dimensions: %.png
tools/png_dimensions $< $@
diff --git a/STYLE.md b/STYLE.md
index 676171e57..7fdfc77d4 100644
--- a/STYLE.md
+++ b/STYLE.md
@@ -1,3 +1,5 @@
+# Style Guide
+
Some of the code will disagree with this guide. Older code is less likely to be correct. Use your best judgement.
When you come across an edge case that isn't referenced in this guide, please add it.
diff --git a/audio.asm b/audio.asm
index 196b5a4c8..cecbdae5b 100644
--- a/audio.asm
+++ b/audio.asm
@@ -1,4 +1,4 @@
-INCLUDE "includes.asm"
+INCLUDE "constants.asm"
SECTION "Audio", ROMX
diff --git a/audio/engine.asm b/audio/engine.asm
index 067e4ff87..b097648c2 100644
--- a/audio/engine.asm
+++ b/audio/engine.asm
@@ -40,7 +40,7 @@ _MapSetup_Sound_Off:: ; e8000
ld hl, Channels ; start of channel data
ld de, ChannelsEnd - Channels ; length of area to clear (entire sound wram area)
-.clearchannels ; clear Channel1-$c2bf
+.clearchannels
xor a
ld [hli], a
dec de
@@ -408,7 +408,7 @@ UpdateChannels: ; e8125
ret
.asm_e824d
- ld a, $3f
+ ld a, $3f ; sound length
ld [rNR31], a
xor a
ld [rNR30], a
@@ -1304,8 +1304,8 @@ ParseSFXOrRest: ; e8698
ld [hl], a
; are we on the last channel? (noise sampling)
ld a, [CurChannel]
- and $3
- cp $3
+ maskbits NUM_MUSIC_CHANS
+ cp CHAN4
ret z
; update hi frequency from next param
call GetMusicByte
@@ -1320,8 +1320,8 @@ GetNoiseSample: ; e86c5
; load ptr to sample header in NoiseSampleAddress
; are we on the last channel?
ld a, [CurChannel]
- and $3
- cp $3
+ and NUM_MUSIC_CHANS +- 1
+ cp CHAN4
; ret if not
ret nz
; update note duration
@@ -1668,7 +1668,7 @@ MusicEE; e883e
; if ????, jump
; get channel
ld a, [CurChannel]
- and $3 ; ch0-3
+ maskbits NUM_MUSIC_CHANS
ld e, a
ld d, 0
; hl = Channel1JumpCondition + channel id
@@ -1966,8 +1966,8 @@ Music_NoteType: ; e8963
add hl, bc
ld [hl], a
ld a, [CurChannel]
- and $3
- cp CHAN8 & $3
+ maskbits NUM_MUSIC_CHANS
+ cp CHAN4
ret z
; intensity
call Music_Intensity
@@ -2414,7 +2414,7 @@ SetLRTracks: ; e8b1b
push de
; store current channel in de
ld a, [CurChannel]
- and $3
+ maskbits NUM_MUSIC_CHANS
ld e, a
ld d, 0
; get this channel's lr tracks
@@ -2449,7 +2449,7 @@ _PlayMusic:: ; e8b30
call LoadMusicByte ; store first byte of music header in a
rlca
rlca
- and $3 ; get number of channels
+ maskbits NUM_MUSIC_CHANS
inc a
.loop
; start playing channels
@@ -2474,7 +2474,7 @@ _PlayMusic:: ; e8b30
; e8b79
-_PlayCryHeader:: ; e8b79
+_PlayCry:: ; e8b79
; Play cry de using parameters:
; CryPitch
; CryLength
@@ -2505,7 +2505,7 @@ _PlayCryHeader:: ; e8b79
; Top 2 bits contain the number of channels
rlca
rlca
- and 3
+ maskbits NUM_MUSIC_CHANS
; For each channel:
inc a
@@ -2530,8 +2530,8 @@ _PlayCryHeader:: ; e8b79
; No tempo for channel 4
ld a, [CurChannel]
- and 3
- cp 3
+ maskbits NUM_MUSIC_CHANS
+ cp CHAN4
jr nc, .start
; Tempo is effectively length
@@ -2669,7 +2669,7 @@ _PlaySFX:: ; e8c04
call LoadMusicByte
rlca ; top 2
rlca ; bits
- and $3
+ maskbits NUM_MUSIC_CHANS
inc a ; # channels -> # loops
.startchannels
push af
@@ -2722,7 +2722,7 @@ PlayStereoSFX:: ; e8ca6
call LoadMusicByte
rlca
rlca
- and 3 ; ch1-4
+ maskbits NUM_MUSIC_CHANS
inc a
.loop
@@ -2736,7 +2736,7 @@ PlayStereoSFX:: ; e8ca6
push de
; get tracks for this channel
ld a, [CurChannel]
- and 3 ; ch1-4
+ maskbits NUM_MUSIC_CHANS
ld e, a
ld d, 0
call GetLRTracks
@@ -2749,7 +2749,7 @@ PlayStereoSFX:: ; e8ca6
add hl, bc
ld [hl], a
- ld hl, Channel1Field30 - Channel1 ; $c131 - Channel1
+ ld hl, Channel1Field30 - Channel1
add hl, bc
ld [hl], a
@@ -2760,11 +2760,11 @@ PlayStereoSFX:: ; e8ca6
; ch3-4
ld a, [wSFXDuration]
- ld hl, Channel1Field2e - Channel1 ; $c12f - Channel1
+ ld hl, Channel1Field2e - Channel1
add hl, bc
ld [hl], a
- ld hl, Channel1Field2f - Channel1 ; $c130 - Channel1
+ ld hl, Channel1Field2f - Channel1
add hl, bc
ld [hl], a
diff --git a/audio/sfx.asm b/audio/sfx.asm
index a47f521e0..864e56558 100644
--- a/audio/sfx.asm
+++ b/audio/sfx.asm
@@ -2,8 +2,8 @@ Sfx_PokeballsPlacedOnTable: ; f0941
musicheader 1, 5, Sfx_PokeballsPlacedOnTable_Ch5
; f0944
-Sfx_BallWiggle: ; f0944
- musicheader 1, 5, Sfx_BallWiggle_Ch5
+Sfx_BallWobble: ; f0944
+ musicheader 1, 5, Sfx_BallWobble_Ch5
; f0947
Sfx_Potion: ; f0947
@@ -4075,7 +4075,7 @@ Sfx_PokeballsPlacedOnTable_Ch5: ; f1d21
endchannel
; f1d32
-Sfx_BallWiggle_Ch5: ; f1d32
+Sfx_BallWobble_Ch5: ; f1d32
dutycycle $2
soundinput $3a
sound __, 5, $f2, $0400
diff --git a/audio/sfx_pointers.asm b/audio/sfx_pointers.asm
index 64c4108c8..9cbe1d0eb 100644
--- a/audio/sfx_pointers.asm
+++ b/audio/sfx_pointers.asm
@@ -180,7 +180,7 @@ SFX: ; e927c
dba Sfx_Encore
dba Sfx_BeatUp
dba Sfx_BatonPass
- dba Sfx_BallWiggle
+ dba Sfx_BallWobble
dba Sfx_SweetScent
dba Sfx_SweetScent2
dba Sfx_HitEndOfExpBar
diff --git a/macros/charmap.asm b/charmap.asm
index fd2d371fd..283508416 100644
--- a/macros/charmap.asm
+++ b/charmap.asm
@@ -1,34 +1,35 @@
-; Control characters
- charmap "<START>", $00
- charmap "<PLAY_G>", $14 ; gendered PlayerName; same as "<PLAYER>" in English
- charmap "<DAY>", $15
+; $00-$16 are TX_* constants (see macros/scripts/text.asm)
+
+; Control characters (see home/text.asm)
+
+ charmap "<PLAY_G>", $14 ; "<PLAYER>くん" or "<PLAYER>ちゃん"; same as "<PLAYER>" in English
charmap "¯", $1f ; soft linebreak
charmap "<LNBRK>", $22
- charmap "<KOUGEKI>", $23 ; "こうげき"
charmap "<POKE>", $24 ; "<PO><KE>"
- charmap "%", $25
+ charmap "%", $25 ; soft linebreak in landmark names
charmap "<RED>", $38 ; RedsName
charmap "<GREEN>", $39 ; GreensName
charmap "<ENEMY>", $3f
charmap "<MOM>", $49 ; MomsName
charmap "<PKMN>", $4a ; "<PK><MN>"
+ charmap "<_CONT>", $4b ; implements "<CONT>"
+ charmap "<SCROLL>", $4c
charmap "<NEXT>", $4e
charmap "<LINE>", $4f
-
charmap "@", $50 ; string terminator
charmap "<PARA>", $51
charmap "<PLAYER>", $52 ; PlayerName
- charmap "<RIVAL>", $53
+ charmap "<RIVAL>", $53 ; RivalName
charmap "#", $54 ; "POKé"
charmap "<CONT>", $55
- charmap "<......>", $56 ; "……"
+ charmap "<……>", $56 ; "……"
charmap "<DONE>", $57
charmap "<PROMPT>", $58
charmap "<TARGET>", $59
charmap "<USER>", $5a
charmap "<PC>", $5b ; "PC"
charmap "<TM>", $5c ; "TM"
- charmap "<TRNER>", $5d ; "TRAINER"
+ charmap "<TRAINER>", $5d ; "TRAINER"
charmap "<ROCKET>", $5e ; "ROCKET"
charmap "<DEXEND>", $5f
@@ -52,8 +53,8 @@
charmap "ぅ", $6f ; hiragana small u, unused
charmap "<PO>", $70
charmap "<KE>", $71
- charmap "<``>", $72 ; opening quote
- charmap "<''>", $73 ; closing quote
+ charmap "“", $72 ; opening quote
+ charmap "”", $73 ; closing quote
charmap "·", $74 ; middle dot, unused
charmap "…", $75 ; ellipsis
charmap "ぁ", $76 ; hiragana small a, unused
@@ -72,7 +73,7 @@
charmap "<LV>", $6e
- charmap "<ど>", $70 ; hiragana small do, unused
+ charmap "<DO>", $70 ; hiragana small do, unused
charmap "◀", $71
charmap "『", $72 ; Japanese opening quote, unused
charmap "<ID>", $73
@@ -80,18 +81,18 @@
; Actual characters (from other graphics files)
- charmap "|", $31 ; from gfx/stats/stats_tiles
-
- charmap "<SHINY>", $3f ; gfx/stats/shiny
-
- charmap "<BLACK>", $60 ; from gfx/mobile/phone_tiles.2bpp
+ ; needed for _LoadFontsExtra1 (see engine/load_font.asm)
+ charmap "■", $60 ; gfx/font/black.2bpp
charmap "▲", $61 ; gfx/font/up_arrow.png
- charmap "<PHONE>", $62 ; gfx/font/overworld_phone_icon.2bpp
- charmap "_", $62 ; from gfx/battle/hp_exp_bar_border.1bpp
+ charmap "☎", $62 ; gfx/font/phone_icon.2bpp
+ ; needed for Special_MagikarpHouseSign (see engine/events/magikarp.asm)
charmap "′", $6e ; gfx/font/feet_inches.png
charmap "″", $6f ; gfx/font/feet_inches.png
+ ; needed for StatsScreen_PlaceShinyIcon and PrintPartyMonPage1
+ charmap "⁂", $3f ; gfx/stats/stats_tiles.png, tile 14
+
; Actual characters (from gfx/font/font.png)
charmap "A", $80
@@ -189,7 +190,7 @@
charmap "♂", $ef
charmap "¥", $f0
charmap "×", $f1
- charmap "<DOT>", $f2 ; same as "." in English
+ charmap "<DOT>", $f2 ; decimal point; same as "." in English
charmap "/", $f3
charmap ",", $f4
charmap "♀", $f5
@@ -205,19 +206,34 @@
charmap "8", $fe
charmap "9", $ff
+; Japanese control characters (see home/text.asm)
+
+ charmap "<JP_18>", $18 ; "ノ゛"? (ungrammatical)
+ charmap "<NI>", $1d ; "に "
+ charmap "<TTE>", $1e ; "って"
+ charmap "<WO>", $1f ; "を "
+ charmap "<TA!>", $22 ; "た!"
+ charmap "<KOUGEKI>", $23 ; "こうげき"
+ charmap "<WA>", $24 ; "は "
+ charmap "<NO>", $25 ; "の "
+ charmap "<ROUTE>", $35 ; "ばん どうろ"
+ charmap "<WATASHI>", $36 ; "わたし"
+ charmap "<KOKO_WA>", $37 ; "ここは"
+ charmap "<GA>", $4a ; "が "
+
; Japanese kana, for those bits of text that were not translated to English
- charmap "ガ", $5
- charmap "ギ", $6
- charmap "グ", $7
- charmap "ゲ", $8
- charmap "ゴ", $9
- charmap "ザ", $a
- charmap "ジ", $b
- charmap "ズ", $c
- charmap "ゼ", $d
- charmap "ゾ", $e
- charmap "ダ", $f
+ charmap "ガ", $05
+ charmap "ギ", $06
+ charmap "グ", $07
+ charmap "ゲ", $08
+ charmap "ゴ", $09
+ charmap "ザ", $0a
+ charmap "ジ", $0b
+ charmap "ズ", $0c
+ charmap "ゼ", $0d
+ charmap "ゾ", $0e
+ charmap "ダ", $0f
charmap "ヂ", $10
charmap "ヅ", $11
charmap "デ", $12
@@ -227,7 +243,6 @@
charmap "ビ", $1a
charmap "ブ", $1b
charmap "ボ", $1c
-; charmap "ベ", $1d
charmap "が", $26
charmap "ぎ", $27
@@ -261,11 +276,18 @@
charmap "ぺ", $47
charmap "ぽ", $48
+ charmap "「", $70
+ charmap "」", $71
+ charmap "』", $73
+ charmap "⋯", $75
+
+ charmap " ", $7f
+
charmap "ア", $80
charmap "イ", $81
charmap "ウ", $82
charmap "エ", $83
- charmap "ォ", $84
+ charmap "オ", $84
charmap "カ", $85
charmap "キ", $86
charmap "ク", $87
@@ -316,7 +338,6 @@
charmap "う", $b3
charmap "え", $b4
charmap "お", $b5
-
charmap "か", $b6
charmap "き", $b7
charmap "く", $b8
@@ -342,7 +363,6 @@
charmap "ふ", $cc
charmap "へ", $cd
charmap "ほ", $ce
-
charmap "ま", $cf
charmap "み", $d0
charmap "む", $d1
@@ -365,8 +385,31 @@
charmap "ょ", $e2
charmap "ー", $e3
-
charmap "゚", $e4
charmap "゙", $e5
+ charmap "?", $e6
+ charmap "!", $e7
+ charmap "。", $e8
+
charmap "ァ", $e9
+ charmap "ゥ", $ea
+ charmap "ェ", $eb
+
+ charmap "円", $f0
+
+ charmap ".", $f2
+ charmap "/", $f3
+
+ charmap "ォ", $f4
+
+ charmap "0", $f6
+ charmap "1", $f7
+ charmap "2", $f8
+ charmap "3", $f9
+ charmap "4", $fa
+ charmap "5", $fb
+ charmap "6", $fc
+ charmap "7", $fd
+ charmap "8", $fe
+ charmap "9", $ff
diff --git a/constants.asm b/constants.asm
index 7de20dfe2..4931bdd5f 100644
--- a/constants.asm
+++ b/constants.asm
@@ -1,3 +1,5 @@
+INCLUDE "charmap.asm"
+
INCLUDE "macros.asm"
INCLUDE "hram.asm"
@@ -42,8 +44,9 @@ INCLUDE "constants/sprite_data_constants.asm"
INCLUDE "constants/sprite_anim_constants.asm"
INCLUDE "constants/tileset_constants.asm"
INCLUDE "constants/collision_constants.asm"
-INCLUDE "constants/cgb_constants.asm"
+INCLUDE "constants/scgb_constants.asm"
INCLUDE "constants/battle_tower_constants.asm"
INCLUDE "constants/cry_constants.asm"
INCLUDE "constants/audio_constants.asm"
INCLUDE "constants/printer_constants.asm"
+INCLUDE "constants/menu_constants.asm"
diff --git a/constants/battle_anim_constants.asm b/constants/battle_anim_constants.asm
index d49aafec4..c55d4e9d6 100644
--- a/constants/battle_anim_constants.asm
+++ b/constants/battle_anim_constants.asm
@@ -37,13 +37,13 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value
const ANIM_OBJ_06
const ANIM_OBJ_07
const ANIM_OBJ_08
- const ANIM_OBJ_09
+ const ANIM_OBJ_FANG
const ANIM_OBJ_0A
- const ANIM_OBJ_0B
- const ANIM_OBJ_0C
- const ANIM_OBJ_0D
- const ANIM_OBJ_0E
- const ANIM_OBJ_0F
+ const ANIM_OBJ_EMBER
+ const ANIM_OBJ_DRAGON_RAGE
+ const ANIM_OBJ_FLAMETHROWER
+ const ANIM_OBJ_FIRE_SPIN
+ const ANIM_OBJ_FIRE_BLAST
const ANIM_OBJ_BURNED
const ANIM_OBJ_BLIZZARD
const ANIM_OBJ_12
@@ -57,32 +57,32 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value
const ANIM_OBJ_1A
const ANIM_OBJ_1B
const ANIM_OBJ_BALL_POOF
- const ANIM_OBJ_1D
- const ANIM_OBJ_1E
- const ANIM_OBJ_1F
- const ANIM_OBJ_20
+ const ANIM_OBJ_BIG_ROCK
+ const ANIM_OBJ_SMALL_ROCK
+ const ANIM_OBJ_STRENGTH
+ const ANIM_OBJ_SEISMIC_TOSS
const ANIM_OBJ_BUBBLE
- const ANIM_OBJ_22
- const ANIM_OBJ_23
- const ANIM_OBJ_24
- const ANIM_OBJ_25
- const ANIM_OBJ_26
+ const ANIM_OBJ_SURF
+ const ANIM_OBJ_SING
+ const ANIM_OBJ_WATER_GUN
+ const ANIM_OBJ_HYDRO_PUMP
+ const ANIM_OBJ_POWDER
const ANIM_OBJ_27
const ANIM_OBJ_28
const ANIM_OBJ_ICE_BUILDUP
const ANIM_OBJ_FROZEN
const ANIM_OBJ_MASTER_BALL_SPARKLE
- const ANIM_OBJ_2C
+ const ANIM_OBJ_RECOVER
const ANIM_OBJ_2D
const ANIM_OBJ_2E
const ANIM_OBJ_2F
- const ANIM_OBJ_30
+ const ANIM_OBJ_THUNDER_WAVE
const ANIM_OBJ_31
const ANIM_OBJ_LIGHTNING_BOLT
const ANIM_OBJ_33
const ANIM_OBJ_34
- const ANIM_OBJ_35
- const ANIM_OBJ_36
+ const ANIM_OBJ_CLAMP
+ const ANIM_OBJ_BITE
const ANIM_OBJ_37
const ANIM_OBJ_38
const ANIM_OBJ_39
@@ -95,127 +95,127 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value
const ANIM_OBJ_40
const ANIM_OBJ_41
const ANIM_OBJ_42
- const ANIM_OBJ_43
+ const ANIM_OBJ_SONICBOOM_JP
const ANIM_OBJ_44
const ANIM_OBJ_ABSORB
- const ANIM_OBJ_46
+ const ANIM_OBJ_EGG
const ANIM_OBJ_47
const ANIM_OBJ_48
const ANIM_OBJ_49
const ANIM_OBJ_LEECH_SEED
const ANIM_OBJ_4B
- const ANIM_OBJ_4C
- const ANIM_OBJ_4D
+ const ANIM_OBJ_WAVE
+ const ANIM_OBJ_CONFUSE_RAY
const ANIM_OBJ_4E
const ANIM_OBJ_4F
- const ANIM_OBJ_50
- const ANIM_OBJ_51
+ const ANIM_OBJ_SCREEN
+ const ANIM_OBJ_HARDEN
const ANIM_OBJ_CHICK
- const ANIM_OBJ_53
- const ANIM_OBJ_54
+ const ANIM_OBJ_AMNESIA
+ const ANIM_OBJ_ASLEEP
const ANIM_OBJ_SKULL
const ANIM_OBJ_56
const ANIM_OBJ_57
const ANIM_OBJ_58
const ANIM_OBJ_PARALYZED
- const ANIM_OBJ_5A
+ const ANIM_OBJ_STRING_SHOT
const ANIM_OBJ_HAZE
const ANIM_OBJ_MIST
const ANIM_OBJ_SMOG
const ANIM_OBJ_POISON_GAS
const ANIM_OBJ_HORN
const ANIM_OBJ_60
- const ANIM_OBJ_61
- const ANIM_OBJ_62
- const ANIM_OBJ_63
+ const ANIM_OBJ_PETAL_DANCE
+ const ANIM_OBJ_SLUDGE_BOMB
+ const ANIM_OBJ_PAY_DAY
const ANIM_OBJ_64
- const ANIM_OBJ_65
- const ANIM_OBJ_66
- const ANIM_OBJ_67
- const ANIM_OBJ_68
- const ANIM_OBJ_69
- const ANIM_OBJ_6A
- const ANIM_OBJ_6B
- const ANIM_OBJ_6C
- const ANIM_OBJ_6D
- const ANIM_OBJ_SKY_ATTACK_FEAROW
+ const ANIM_OBJ_MIMIC
+ const ANIM_OBJ_ATTRACT
+ const ANIM_OBJ_BONEMERANG
+ const ANIM_OBJ_BONE_CLUB
+ const ANIM_OBJ_BONE_RUSH
+ const ANIM_OBJ_SWIFT
+ const ANIM_OBJ_KINESIS
+ const ANIM_OBJ_FLASH
+ const ANIM_OBJ_SHINY
+ const ANIM_OBJ_SKY_ATTACK
const ANIM_OBJ_LICK
const ANIM_OBJ_WITHDRAW
const ANIM_OBJ_71
- const ANIM_OBJ_72
- const ANIM_OBJ_73
- const ANIM_OBJ_74
- const ANIM_OBJ_75
- const ANIM_OBJ_76
- const ANIM_OBJ_77
- const ANIM_OBJ_78
- const ANIM_OBJ_79
+ const ANIM_OBJ_GROWTH
+ const ANIM_OBJ_CONVERSION2
+ const ANIM_OBJ_SMOKE
+ const ANIM_OBJ_SMOKESCREEN
+ const ANIM_OBJ_SWORDS_DANCE
+ const ANIM_OBJ_SPEED_LINE
+ const ANIM_OBJ_SHARPEN
+ const ANIM_OBJ_DEFENSE_CURL
const ANIM_OBJ_7A
const ANIM_OBJ_7B
- const ANIM_OBJ_7C
- const ANIM_OBJ_7D
+ const ANIM_OBJ_DISABLE
+ const ANIM_OBJ_AGILITY
const ANIM_OBJ_HEART
- const ANIM_OBJ_7F
- const ANIM_OBJ_80
+ const ANIM_OBJ_FLAME_WHEEL
+ const ANIM_OBJ_SACRED_FIRE
const ANIM_OBJ_COTTON_SPORE
- const ANIM_OBJ_82
- const ANIM_OBJ_83
+ const ANIM_OBJ_MILK_DRINK
+ const ANIM_OBJ_ANGER
const ANIM_OBJ_84
const ANIM_OBJ_85
- const ANIM_OBJ_86
- const ANIM_OBJ_87
- const ANIM_OBJ_88
- const ANIM_OBJ_89
- const ANIM_OBJ_8A
- const ANIM_OBJ_8B
- const ANIM_OBJ_8C
- const ANIM_OBJ_8D
+ const ANIM_OBJ_BATON_PASS
+ const ANIM_OBJ_LOCK_ON
+ const ANIM_OBJ_MIND_READER
+ const ANIM_OBJ_SAFEGUARD
+ const ANIM_OBJ_PROTECT
+ const ANIM_OBJ_THIEF
+ const ANIM_OBJ_OCTAZOOKA
+ const ANIM_OBJ_PRESENT
const ANIM_OBJ_SPIKES
- const ANIM_OBJ_8F
- const ANIM_OBJ_90
- const ANIM_OBJ_91
- const ANIM_OBJ_92
+ const ANIM_OBJ_POWDER_SNOW
+ const ANIM_OBJ_DRAGONBREATH
+ const ANIM_OBJ_CONVERSION
+ const ANIM_OBJ_SPIDER_WEB
const ANIM_OBJ_93
- const ANIM_OBJ_94
- const ANIM_OBJ_95
- const ANIM_OBJ_96
- const ANIM_OBJ_97
- const ANIM_OBJ_98
+ const ANIM_OBJ_NIGHTMARE
+ const ANIM_OBJ_IN_NIGHTMARE
+ const ANIM_OBJ_LOVELY_KISS
+ const ANIM_OBJ_SWEET_KISS
+ const ANIM_OBJ_SKETCH
const ANIM_OBJ_99
const ANIM_OBJ_9A
- const ANIM_OBJ_9B
- const ANIM_OBJ_9C
- const ANIM_OBJ_9D
- const ANIM_OBJ_9E
- const ANIM_OBJ_9F
+ const ANIM_OBJ_DESTINY_BOND
+ const ANIM_OBJ_MORNING_SUN
+ const ANIM_OBJ_GLIMMER
+ const ANIM_OBJ_MOONLIGHT
+ const ANIM_OBJ_HIDDEN_POWER
const ANIM_OBJ_A0
const ANIM_OBJ_A1
- const ANIM_OBJ_A2
- const ANIM_OBJ_A3
- const ANIM_OBJ_A4
- const ANIM_OBJ_A5
+ const ANIM_OBJ_SANDSTORM
+ const ANIM_OBJ_ZAP_CANNON
+ const ANIM_OBJ_SPITE
+ const ANIM_OBJ_CURSE
const ANIM_OBJ_PERISH_SONG
- const ANIM_OBJ_A7
- const ANIM_OBJ_A8
- const ANIM_OBJ_A9
+ const ANIM_OBJ_FORESIGHT
+ const ANIM_OBJ_RAPID_SPIN
+ const ANIM_OBJ_SWAGGER
const ANIM_OBJ_AA
const ANIM_OBJ_AB
- const ANIM_OBJ_AC
+ const ANIM_OBJ_MEAN_LOOK
const ANIM_OBJ_AD
const ANIM_OBJ_AE
- const ANIM_OBJ_AF
+ const ANIM_OBJ_RAIN
const ANIM_OBJ_B0
- const ANIM_OBJ_B1
- const ANIM_OBJ_B2
- const ANIM_OBJ_B3
- const ANIM_OBJ_B4
- const ANIM_OBJ_B5
+ const ANIM_OBJ_PSYCH_UP
+ const ANIM_OBJ_ANCIENTPOWER
+ const ANIM_OBJ_AEROBLAST
+ const ANIM_OBJ_SHADOW_BALL
+ const ANIM_OBJ_ROCK_SMASH
const ANIM_OBJ_FLOWER
const ANIM_OBJ_COTTON
const ANIM_OBJ_PLAYERFEETFOLLOW
const ANIM_OBJ_ENEMYFEETFOLLOW
- const ANIM_OBJ_BA
- const ANIM_OBJ_BB
+ const ANIM_OBJ_PLAYERHEADFOLLOW
+ const ANIM_OBJ_ENEMYHEADFOLLOW
; DoBattleAnimFrame arguments (see engine/battle_anims/functions.asm)
const_def
diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm
index 9a3323509..816625e60 100644
--- a/constants/battle_constants.asm
+++ b/constants/battle_constants.asm
@@ -17,8 +17,18 @@ MIN_NEUTRAL_DAMAGE EQU 2
REST_SLEEP_TURNS EQU 2
TREEMON_SLEEP_TURNS EQU 7
-; PlayerStatLevels and EnemyStatLevels indexes
-; used for GetStatName
+; default move priority
+BASE_PRIORITY EQU 1
+
+; type effectiveness factors, scaled by 10
+SUPER_EFFECTIVE EQU 20
+MORE_EFFECTIVE EQU 15
+EFFECTIVE EQU 10
+NOT_VERY_EFFECTIVE EQU 05
+NO_EFFECT EQU 00
+
+; PlayerStatLevels and EnemyStatLevels indexes (see wram.asm)
+; GetStatName arguments (see data/battle/stat_names.asm)
const_def
const ATTACK
const DEFENSE
@@ -53,6 +63,7 @@ const_value set 1
const STAT_SATK
const STAT_SDEF
NUM_STATS EQU const_value
+STAT_SPC EQU STAT_SATK
; stat formula constants
STAT_MIN_NORMAL EQU 5
diff --git a/constants/battle_tower_constants.asm b/constants/battle_tower_constants.asm
index 74df3a36a..71b8de8be 100755
--- a/constants/battle_tower_constants.asm
+++ b/constants/battle_tower_constants.asm
@@ -1,4 +1,13 @@
-; BattleTowerAction arguments (see mobile/battle_tower_5c.asm)
+BATTLETOWER_PARTY_LENGTH EQU 3
+BATTLETOWER_STREAK_LENGTH EQU 7
+
+BATTLETOWER_NUM_UNIQUE_PKMN EQU 21
+BATTLETOWER_NUM_UNIQUE_TRAINERS EQU 70
+
+BATTLETOWER_TRAINERDATALENGTH EQU $24
+BATTLE_TOWER_STRUCT_LENGTH EQU $e0 ; NAME_LENGTH + BATTLETOWER_PARTY_LENGTH * (PARTYMON_STRUCT_LENGTH + MON_NAME_LENGTH) + BATTLETOWER_TRAINERDATALENGTH
+
+; BattleTowerAction writebyte arguments (see engine/events/battle_tower/battle_tower.asm)
const_def
const BATTLETOWERACTION_CHECK_EXPLANATION_READ
const BATTLETOWERACTION_SET_EXPLANATION_READ
@@ -33,19 +42,20 @@
const BATTLETOWERACTION_CHOOSEREWARD ; save options
const BATTLETOWERACTION_SAVEOPTIONS
-; sBattleTowerChallengeState
+; BattleTowerAction return values
+; - from BATTLETOWERACTION_CHECKMOBILEEVENT
+MOBILE_EVENT_OBJECT_GS_BALL EQU $b
+
+; BattleTowerText arguments (see engine/events/battle_tower/trainer_text.asm)
+const_value set 1
+ const BATTLETOWERTEXT_INTRO
+ const BATTLETOWERTEXT_WIN_TEXT
+ const BATTLETOWERTEXT_LOSS_TEXT
+
+; sBattleTowerChallengeState values
const_def
const BATTLETOWER_NO_CHALLENGE
const BATTLETOWER_SAVED_AND_LEFT
const BATTLETOWER_CHALLENGE_IN_PROGESS
const BATTLETOWER_WON_CHALLENGE
const BATTLETOWER_RECEIVED_REWARD
-
-BATTLETOWER_NROFPKMNS EQU 3
-BATTLETOWER_TRAINERDATALENGTH EQU $24
-BATTLETOWER_NROFTRAINERS EQU 7
-BATTLETOWER_NRMONSPERLEVELBRACKET EQU BATTLETOWER_NROFPKMNS * BATTLETOWER_NROFTRAINERS
-BATTLE_TOWER_STRUCT_LENGTH EQU $e0 ; NAME_LENGTH + 3 * (PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH) + BATTLETOWER_TRAINERDATALENGTH
-
-; return value from BattleTowerAction(BATTLETOWERACTION_CHECKMOBILEEVENT)
-MOBILE_EVENT_OBJECT_GS_BALL EQU $b
diff --git a/constants/cgb_constants.asm b/constants/cgb_constants.asm
deleted file mode 100755
index c419cd465..000000000
--- a/constants/cgb_constants.asm
+++ /dev/null
@@ -1,36 +0,0 @@
-; GetSGBLayout arguments (see engine/cgb_layouts.asm and engine/sgb_layouts.asm)
- const_def
- const SCGB_BATTLE_GRAYSCALE
- const SCGB_BATTLE_COLORS
- const SCGB_POKEGEAR_PALS
- const SCGB_STATS_SCREEN_HP_PALS
- const SCGB_POKEDEX
- const SCGB_SLOT_MACHINE
- const SCGB_06
- const SCGB_07
- const SCGB_DIPLOMA
- const SCGB_MAPPALS
- const SCGB_PARTY_MENU
- const SCGB_EVOLUTION
- const SCGB_0C
- const SCGB_0D
- const SCGB_MOVE_LIST
- const SCGB_0F
- const SCGB_POKEDEX_SEARCH_OPTION
- const SCGB_11
- const SCGB_POKEPIC
- const SCGB_13
- const SCGB_PACKPALS
- const SCGB_TRAINER_CARD
- const SCGB_POKEDEX_UNOWN_MODE
- const SCGB_BILLS_PC
- const SCGB_UNOWN_PUZZLE
- const SCGB_GAMEFREAK_LOGO
- const SCGB_PLAYER_OR_MON_FRONTPIC_PALS
- const SCGB_TRADE_TUBE
- const SCGB_TRAINER_OR_MON_FRONTPIC_PALS
- const SCGB_MYSTERY_GIFT
- const SCGB_1E
-
-SCGB_PARTY_MENU_HP_PALS EQU -4
-SCGB_RAM EQU -1
diff --git a/constants/collision_constants.asm b/constants/collision_constants.asm
index 88fe9ca6e..86fdf9384 100644
--- a/constants/collision_constants.asm
+++ b/constants/collision_constants.asm
@@ -1,10 +1,10 @@
-; collision permissions (see tilesets/collision_permissions.asm)
+; collision permissions (see data/collision_permissions.asm)
LANDTILE EQU $00
WATERTILE EQU $01
WALLTILE EQU $0f
TALK EQU $10
-; collision data types (see tilesets/*_collision.asm)
+; collision data types (see data/tilesets/*_collision.asm)
; TileCollisionTable indexes (see data/collision_permissions.asm)
COLL_FLOOR EQU $00
COLL_01 EQU $01 ; garbage
@@ -28,19 +28,19 @@ COLL_CUT_28 EQU $28 ; garbage
COLL_WATER EQU $29
COLL_ICE_2B EQU $2b ; unused
COLL_WHIRLPOOL_2C EQU $2c ; unused
-COLL_WATERFALL_RIGHT EQU $30 ; unused !!!
-COLL_WATERFALL_LEFT EQU $31 ; unused !!!
-COLL_WATERFALL_UP EQU $32 ; unused !!!
+COLL_WATERFALL_RIGHT EQU $30 ; unused
+COLL_WATERFALL_LEFT EQU $31 ; unused
+COLL_WATERFALL_UP EQU $32 ; unused
COLL_WATERFALL EQU $33
-COLL_CURRENT_RIGHT EQU $38 ; unused !!!
-COLL_CURRENT_LEFT EQU $39 ; unused !!!
-COLL_CURRENT_UP EQU $3a ; unused !!!
-COLL_CURRENT_DOWN EQU $3b ; unused !!!
-COLL_BRAKE EQU $40 ; unused !!!
-COLL_WALK_RIGHT EQU $41 ; unused !!!
-COLL_WALK_LEFT EQU $42 ; unused !!!
-COLL_WALK_UP EQU $43 ; unused !!!
-COLL_WALK_DOWN EQU $44 ; unused !!!
+COLL_CURRENT_RIGHT EQU $38 ; unused
+COLL_CURRENT_LEFT EQU $39 ; unused
+COLL_CURRENT_UP EQU $3a ; unused
+COLL_CURRENT_DOWN EQU $3b ; unused
+COLL_BRAKE EQU $40 ; unused
+COLL_WALK_RIGHT EQU $41 ; unused
+COLL_WALK_LEFT EQU $42 ; unused
+COLL_WALK_UP EQU $43 ; unused
+COLL_WALK_DOWN EQU $44 ; unused
COLL_BRAKE_45 EQU $45 ; garbage
COLL_BRAKE_46 EQU $46 ; unused
COLL_BRAKE_47 EQU $47 ; unused
@@ -92,16 +92,16 @@ COLL_WINDOW EQU $9d
COLL_INCENSE_BURNER EQU $9f
COLL_HOP_RIGHT EQU $a0
COLL_HOP_LEFT EQU $a1
-COLL_HOP_UP EQU $a2 ; unused !!!
+COLL_HOP_UP EQU $a2 ; unused
COLL_HOP_DOWN EQU $a3
COLL_HOP_DOWN_RIGHT EQU $a4
COLL_HOP_DOWN_LEFT EQU $a5
-COLL_HOP_UP_RIGHT EQU $a6 ; unused !!!
-COLL_HOP_UP_LEFT EQU $a7 ; unused !!!
+COLL_HOP_UP_RIGHT EQU $a6 ; unused
+COLL_HOP_UP_LEFT EQU $a7 ; unused
COLL_RIGHT_WALL EQU $b0
COLL_LEFT_WALL EQU $b1
COLL_UP_WALL EQU $b2
-COLL_DOWN_WALL EQU $b3 ; unused !!!
+COLL_DOWN_WALL EQU $b3 ; unused
COLL_FF EQU $ff ; garbage
; collision data type nybbles
diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm
index ca468f477..864a4bd50 100644
--- a/constants/gfx_constants.asm
+++ b/constants/gfx_constants.asm
@@ -1,13 +1,14 @@
-LEN_1BPP_TILE EQU 8 ; bytes
-LEN_2BPP_TILE EQU 16 ; bytes
-
TILE_WIDTH EQU 8 ; pixels
+LEN_1BPP_TILE EQU 1 * TILE_WIDTH ; bytes
+LEN_2BPP_TILE EQU 2 * TILE_WIDTH ; bytes
NUM_PAL_COLORS EQU 4
-SCREEN_WIDTH EQU 20 ; tiles
+PALRGB_WHITE EQUS "palred 31 + palgreen 31 + palblue 31" ; $7fff
+
+SCREEN_WIDTH EQU 20 ; tiles
SCREEN_HEIGHT EQU 18 ; tiles
-SCREEN_WIDTH_PX EQU SCREEN_WIDTH * TILE_WIDTH ; pixels
+SCREEN_WIDTH_PX EQU SCREEN_WIDTH * TILE_WIDTH ; pixels
SCREEN_HEIGHT_PX EQU SCREEN_HEIGHT * TILE_WIDTH ; pixels
BG_MAP_WIDTH EQU 32 ; tiles
@@ -15,9 +16,16 @@ BG_MAP_HEIGHT EQU 32 ; tiles
WMISC_WIDTH EQU 6 * 4
WMISC_HEIGHT EQU 5 * 4
-HP_BAR_LENGTH EQU 6 ; tiles
-HP_BAR_LENGTH_PX EQU HP_BAR_LENGTH * TILE_WIDTH ; pixels
+HP_BAR_LENGTH EQU 6 ; tiles
EXP_BAR_LENGTH EQU 8 ; tiles
+HP_BAR_LENGTH_PX EQU HP_BAR_LENGTH * TILE_WIDTH ; pixels
EXP_BAR_LENGTH_PX EQU EXP_BAR_LENGTH * TILE_WIDTH ; pixels
-PALPACKET_LENGTH EQU $10
+; sprite_oam_struct members (see macros/wram.asm)
+ const_def
+ const SPRITEOAMSTRUCT_YCOORD ; 0
+ const SPRITEOAMSTRUCT_XCOORD ; 1
+ const SPRITEOAMSTRUCT_TILE_ID ; 2
+ const SPRITEOAMSTRUCT_ATTRIBUTES ; 3
+SPRITEOAMSTRUCT_LENGTH EQU const_value
+NUM_SPRITE_OAM_STRUCTS EQU 40 ; see Sprites
diff --git a/constants/hardware_constants.asm b/constants/hardware_constants.asm
index c315d3cf5..d96672c3a 100644
--- a/constants/hardware_constants.asm
+++ b/constants/hardware_constants.asm
@@ -56,7 +56,7 @@ VRAM_BANK_1 EQU 1 << OAM_TILE_BANK ; $08
OBP_NUM EQU 1 << OAM_OBP_NUM ; $10
X_FLIP EQU 1 << OAM_X_FLIP ; $20
Y_FLIP EQU 1 << OAM_Y_FLIP ; $40
-BEHIND_BG EQU 1 << OAM_PRIORITY ; $80
+PRIORITY EQU 1 << OAM_PRIORITY ; $80
; Other useful constants
LCDC_DEFAULT EQU %11100011
diff --git a/constants/item_constants.asm b/constants/item_constants.asm
index c1079e82d..0914e7ab6 100644
--- a/constants/item_constants.asm
+++ b/constants/item_constants.asm
@@ -5,271 +5,295 @@
; - ItemAttributes (see data/items/attributes.asm)
; - ItemEffects (see engine/item_effects.asm)
const_def
- const NO_ITEM ; $00
- const MASTER_BALL ; $01
- const ULTRA_BALL ; $02
- const BRIGHTPOWDER ; $03
- const GREAT_BALL ; $04
- const POKE_BALL ; $05
- const TOWN_MAP ; $06
- const BICYCLE ; $07
- const MOON_STONE ; $08
- const ANTIDOTE ; $09
- const BURN_HEAL ; $0A
- const ICE_HEAL ; $0B
- const AWAKENING ; $0C
- const PARLYZ_HEAL ; $0D
- const FULL_RESTORE ; $0E
- const MAX_POTION ; $0F
- const HYPER_POTION ; $10
- const SUPER_POTION ; $11
- const POTION ; $12
- const ESCAPE_ROPE ; $13
- const REPEL ; $14
- const MAX_ELIXER ; $15
- const FIRE_STONE ; $16
- const THUNDERSTONE ; $17
- const WATER_STONE ; $18
- const ITEM_19 ; $19
- const HP_UP ; $1A
- const PROTEIN ; $1B
- const IRON ; $1C
- const CARBOS ; $1D
- const LUCKY_PUNCH ; $1E
- const CALCIUM ; $1F
- const RARE_CANDY ; $20
- const X_ACCURACY ; $21
- const LEAF_STONE ; $22
- const METAL_POWDER ; $23
- const NUGGET ; $24
- const POKE_DOLL ; $25
- const FULL_HEAL ; $26
- const REVIVE ; $27
- const MAX_REVIVE ; $28
- const GUARD_SPEC ; $29
- const SUPER_REPEL ; $2A
- const MAX_REPEL ; $2B
- const DIRE_HIT ; $2C
- const ITEM_2D ; $2D
- const FRESH_WATER ; $2E
- const SODA_POP ; $2F
- const LEMONADE ; $30
- const X_ATTACK ; $31
- const ITEM_32 ; $32
- const X_DEFEND ; $33
- const X_SPEED ; $34
- const X_SPECIAL ; $35
- const COIN_CASE ; $36
- const ITEMFINDER ; $37
- const POKE_FLUTE ; $38
- const EXP_SHARE ; $39
- const OLD_ROD ; $3A
- const GOOD_ROD ; $3B
- const SILVER_LEAF ; $3C
- const SUPER_ROD ; $3D
- const PP_UP ; $3E
- const ETHER ; $3F
- const MAX_ETHER ; $40
- const ELIXER ; $41
- const RED_SCALE ; $42
- const SECRETPOTION ; $43
- const S_S_TICKET ; $44
- const MYSTERY_EGG ; $45
- const CLEAR_BELL ; $46
- const SILVER_WING ; $47
- const MOOMOO_MILK ; $48
- const QUICK_CLAW ; $49
- const PSNCUREBERRY ; $4A
- const GOLD_LEAF ; $4B
- const SOFT_SAND ; $4C
- const SHARP_BEAK ; $4D
- const PRZCUREBERRY ; $4E
- const BURNT_BERRY ; $4F
- const ICE_BERRY ; $50
- const POISON_BARB ; $51
- const KINGS_ROCK ; $52
- const BITTER_BERRY ; $53
- const MINT_BERRY ; $54
- const RED_APRICORN ; $55
- const TINYMUSHROOM ; $56
- const BIG_MUSHROOM ; $57
- const SILVERPOWDER ; $58
- const BLU_APRICORN ; $59
- const ITEM_5A ; $5A
- const AMULET_COIN ; $5B
- const YLW_APRICORN ; $5C
- const GRN_APRICORN ; $5D
- const CLEANSE_TAG ; $5E
- const MYSTIC_WATER ; $5F
- const TWISTEDSPOON ; $60
- const WHT_APRICORN ; $61
- const BLACKBELT ; $62
- const BLK_APRICORN ; $63
- const ITEM_64 ; $64
- const PNK_APRICORN ; $65
- const BLACKGLASSES ; $66
- const SLOWPOKETAIL ; $67
- const PINK_BOW ; $68
- const STICK ; $69
- const SMOKE_BALL ; $6A
- const NEVERMELTICE ; $6B
- const MAGNET ; $6C
- const MIRACLEBERRY ; $6D
- const PEARL ; $6E
- const BIG_PEARL ; $6F
- const EVERSTONE ; $70
- const SPELL_TAG ; $71
- const RAGECANDYBAR ; $72
- const GS_BALL ; $73
- const BLUE_CARD ; $74
- const MIRACLE_SEED ; $75
- const THICK_CLUB ; $76
- const FOCUS_BAND ; $77
- const ITEM_78 ; $78
- const ENERGYPOWDER ; $79
- const ENERGY_ROOT ; $7A
- const HEAL_POWDER ; $7B
- const REVIVAL_HERB ; $7C
- const HARD_STONE ; $7D
- const LUCKY_EGG ; $7E
- const CARD_KEY ; $7F
- const MACHINE_PART ; $80
- const EGG_TICKET ; $81
- const LOST_ITEM ; $82
- const STARDUST ; $83
- const STAR_PIECE ; $84
- const BASEMENT_KEY ; $85
- const PASS ; $86
- const ITEM_87 ; $87
- const ITEM_88 ; $88
- const ITEM_89 ; $89
- const CHARCOAL ; $8A
- const BERRY_JUICE ; $8B
- const SCOPE_LENS ; $8C
- const ITEM_8D ; $8D
- const ITEM_8E ; $8E
- const METAL_COAT ; $8F
- const DRAGON_FANG ; $90
- const ITEM_91 ; $91
- const LEFTOVERS ; $92
- const ITEM_93 ; $93
- const ITEM_94 ; $94
- const ITEM_95 ; $95
- const MYSTERYBERRY ; $96
- const DRAGON_SCALE ; $97
- const BERSERK_GENE ; $98
- const ITEM_99 ; $99
- const ITEM_9A ; $9A
- const ITEM_9B ; $9B
- const SACRED_ASH ; $9C
- const HEAVY_BALL ; $9D
- const FLOWER_MAIL ; $9E
- const LEVEL_BALL ; $9F
- const LURE_BALL ; $A0
- const FAST_BALL ; $A1
- const ITEM_A2 ; $A2
- const LIGHT_BALL ; $A3
- const FRIEND_BALL ; $A4
- const MOON_BALL ; $A5
- const LOVE_BALL ; $A6
- const NORMAL_BOX ; $A7
- const GORGEOUS_BOX ; $A8
- const SUN_STONE ; $A9
- const POLKADOT_BOW ; $AA
- const ITEM_AB ; $AB
- const UP_GRADE ; $AC
- const BERRY ; $AD
- const GOLD_BERRY ; $AE
- const SQUIRTBOTTLE ; $AF
- const ITEM_B0 ; $B0
- const PARK_BALL ; $B1
- const RAINBOW_WING ; $B2
- const ITEM_B3 ; $B3
- const BRICK_PIECE ; $B4
- const SURF_MAIL ; $B5
- const LITEBLUEMAIL ; $B6
- const PORTRAITMAIL ; $B7
- const LOVELY_MAIL ; $B8
- const EON_MAIL ; $B9
- const MORPH_MAIL ; $BA
- const BLUESKY_MAIL ; $BB
- const MUSIC_MAIL ; $BC
- const MIRAGE_MAIL ; $BD
- const ITEM_BE ; $BE
+ const NO_ITEM ; 00
+ const MASTER_BALL ; 01
+ const ULTRA_BALL ; 02
+ const BRIGHTPOWDER ; 03
+ const GREAT_BALL ; 04
+ const POKE_BALL ; 05
+ const TOWN_MAP ; 06
+ const BICYCLE ; 07
+ const MOON_STONE ; 08
+ const ANTIDOTE ; 09
+ const BURN_HEAL ; 0a
+ const ICE_HEAL ; 0b
+ const AWAKENING ; 0c
+ const PARLYZ_HEAL ; 0d
+ const FULL_RESTORE ; 0e
+ const MAX_POTION ; 0f
+ const HYPER_POTION ; 10
+ const SUPER_POTION ; 11
+ const POTION ; 12
+ const ESCAPE_ROPE ; 13
+ const REPEL ; 14
+ const MAX_ELIXER ; 15
+ const FIRE_STONE ; 16
+ const THUNDERSTONE ; 17
+ const WATER_STONE ; 18
+ const ITEM_19 ; 19
+ const HP_UP ; 1a
+ const PROTEIN ; 1b
+ const IRON ; 1c
+ const CARBOS ; 1d
+ const LUCKY_PUNCH ; 1e
+ const CALCIUM ; 1f
+ const RARE_CANDY ; 20
+ const X_ACCURACY ; 21
+ const LEAF_STONE ; 22
+ const METAL_POWDER ; 23
+ const NUGGET ; 24
+ const POKE_DOLL ; 25
+ const FULL_HEAL ; 26
+ const REVIVE ; 27
+ const MAX_REVIVE ; 28
+ const GUARD_SPEC ; 29
+ const SUPER_REPEL ; 2a
+ const MAX_REPEL ; 2b
+ const DIRE_HIT ; 2c
+ const ITEM_2D ; 2d
+ const FRESH_WATER ; 2e
+ const SODA_POP ; 2f
+ const LEMONADE ; 30
+ const X_ATTACK ; 31
+ const ITEM_32 ; 32
+ const X_DEFEND ; 33
+ const X_SPEED ; 34
+ const X_SPECIAL ; 35
+ const COIN_CASE ; 36
+ const ITEMFINDER ; 37
+ const POKE_FLUTE ; 38
+ const EXP_SHARE ; 39
+ const OLD_ROD ; 3a
+ const GOOD_ROD ; 3b
+ const SILVER_LEAF ; 3c
+ const SUPER_ROD ; 3d
+ const PP_UP ; 3e
+ const ETHER ; 3f
+ const MAX_ETHER ; 40
+ const ELIXER ; 41
+ const RED_SCALE ; 42
+ const SECRETPOTION ; 43
+ const S_S_TICKET ; 44
+ const MYSTERY_EGG ; 45
+ const CLEAR_BELL ; 46
+ const SILVER_WING ; 47
+ const MOOMOO_MILK ; 48
+ const QUICK_CLAW ; 49
+ const PSNCUREBERRY ; 4a
+ const GOLD_LEAF ; 4b
+ const SOFT_SAND ; 4c
+ const SHARP_BEAK ; 4d
+ const PRZCUREBERRY ; 4e
+ const BURNT_BERRY ; 4f
+ const ICE_BERRY ; 50
+ const POISON_BARB ; 51
+ const KINGS_ROCK ; 52
+ const BITTER_BERRY ; 53
+ const MINT_BERRY ; 54
+ const RED_APRICORN ; 55
+ const TINYMUSHROOM ; 56
+ const BIG_MUSHROOM ; 57
+ const SILVERPOWDER ; 58
+ const BLU_APRICORN ; 59
+ const ITEM_5A ; 5a
+ const AMULET_COIN ; 5b
+ const YLW_APRICORN ; 5c
+ const GRN_APRICORN ; 5d
+ const CLEANSE_TAG ; 5e
+ const MYSTIC_WATER ; 5f
+ const TWISTEDSPOON ; 60
+ const WHT_APRICORN ; 61
+ const BLACKBELT ; 62
+ const BLK_APRICORN ; 63
+ const ITEM_64 ; 64
+ const PNK_APRICORN ; 65
+ const BLACKGLASSES ; 66
+ const SLOWPOKETAIL ; 67
+ const PINK_BOW ; 68
+ const STICK ; 69
+ const SMOKE_BALL ; 6a
+ const NEVERMELTICE ; 6b
+ const MAGNET ; 6c
+ const MIRACLEBERRY ; 6d
+ const PEARL ; 6e
+ const BIG_PEARL ; 6f
+ const EVERSTONE ; 70
+ const SPELL_TAG ; 71
+ const RAGECANDYBAR ; 72
+ const GS_BALL ; 73
+ const BLUE_CARD ; 74
+ const MIRACLE_SEED ; 75
+ const THICK_CLUB ; 76
+ const FOCUS_BAND ; 77
+ const ITEM_78 ; 78
+ const ENERGYPOWDER ; 79
+ const ENERGY_ROOT ; 7a
+ const HEAL_POWDER ; 7b
+ const REVIVAL_HERB ; 7c
+ const HARD_STONE ; 7d
+ const LUCKY_EGG ; 7e
+ const CARD_KEY ; 7f
+ const MACHINE_PART ; 80
+ const EGG_TICKET ; 81
+ const LOST_ITEM ; 82
+ const STARDUST ; 83
+ const STAR_PIECE ; 84
+ const BASEMENT_KEY ; 85
+ const PASS ; 86
+ const ITEM_87 ; 87
+ const ITEM_88 ; 88
+ const ITEM_89 ; 89
+ const CHARCOAL ; 8a
+ const BERRY_JUICE ; 8b
+ const SCOPE_LENS ; 8c
+ const ITEM_8D ; 8d
+ const ITEM_8E ; 8e
+ const METAL_COAT ; 8f
+ const DRAGON_FANG ; 90
+ const ITEM_91 ; 91
+ const LEFTOVERS ; 92
+ const ITEM_93 ; 93
+ const ITEM_94 ; 94
+ const ITEM_95 ; 95
+ const MYSTERYBERRY ; 96
+ const DRAGON_SCALE ; 97
+ const BERSERK_GENE ; 98
+ const ITEM_99 ; 99
+ const ITEM_9A ; 9a
+ const ITEM_9B ; 9b
+ const SACRED_ASH ; 9c
+ const HEAVY_BALL ; 9d
+ const FLOWER_MAIL ; 9e
+ const LEVEL_BALL ; 9f
+ const LURE_BALL ; a0
+ const FAST_BALL ; a1
+ const ITEM_A2 ; a2
+ const LIGHT_BALL ; a3
+ const FRIEND_BALL ; a4
+ const MOON_BALL ; a5
+ const LOVE_BALL ; a6
+ const NORMAL_BOX ; a7
+ const GORGEOUS_BOX ; a8
+ const SUN_STONE ; a9
+ const POLKADOT_BOW ; aa
+ const ITEM_AB ; ab
+ const UP_GRADE ; ac
+ const BERRY ; ad
+ const GOLD_BERRY ; ae
+ const SQUIRTBOTTLE ; af
+ const ITEM_B0 ; b0
+ const PARK_BALL ; b1
+ const RAINBOW_WING ; b2
+ const ITEM_B3 ; b3
+ const BRICK_PIECE ; b4
+ const SURF_MAIL ; b5
+ const LITEBLUEMAIL ; b6
+ const PORTRAITMAIL ; b7
+ const LOVELY_MAIL ; b8
+ const EON_MAIL ; b9
+ const MORPH_MAIL ; ba
+ const BLUESKY_MAIL ; bb
+ const MUSIC_MAIL ; bc
+ const MIRAGE_MAIL ; bd
+ const ITEM_BE ; be
+
+add_tm: MACRO
+if !DEF(TM01)
+TM01 = const_value
+ enum_start 1
+endc
+ define _\@_1, "TM_\1"
+ const _\@_1
+ enum \1_TMNUM
+ENDM
+
+add_hm: MACRO
+if !DEF(HM01)
+HM01 = const_value
+endc
+ define _\@_1, "HM_\1"
+ const _\@_1
+ enum \1_TMNUM
+ENDM
+
+add_mt: MACRO
+ enum \1_TMNUM
+ENDM
; see data/moves/tmhm_moves.asm for moves
- add_tm DYNAMICPUNCH ; $BF
- add_tm HEADBUTT ; $C0
- add_tm CURSE ; $C1
- add_tm ROLLOUT ; $C2
- const ITEM_C3 ; $C3
- add_tm ROAR ; $C4
- add_tm TOXIC ; $C5
- add_tm ZAP_CANNON ; $C6
- add_tm ROCK_SMASH ; $C7
- add_tm PSYCH_UP ; $C8
- add_tm HIDDEN_POWER ; $C9
- add_tm SUNNY_DAY ; $CA
- add_tm SWEET_SCENT ; $CB
- add_tm SNORE ; $CC
- add_tm BLIZZARD ; $CD
- add_tm HYPER_BEAM ; $CE
- add_tm ICY_WIND ; $CF
- add_tm PROTECT ; $D0
- add_tm RAIN_DANCE ; $D1
- add_tm GIGA_DRAIN ; $D2
- add_tm ENDURE ; $D3
- add_tm FRUSTRATION ; $D4
- add_tm SOLARBEAM ; $D5
- add_tm IRON_TAIL ; $D6
- add_tm DRAGONBREATH ; $D7
- add_tm THUNDER ; $D8
- add_tm EARTHQUAKE ; $D9
- add_tm RETURN ; $DA
- add_tm DIG ; $DB
- const ITEM_DC ; $DC
- add_tm PSYCHIC_M ; $DD
- add_tm SHADOW_BALL ; $DE
- add_tm MUD_SLAP ; $DF
- add_tm DOUBLE_TEAM ; $E0
- add_tm ICE_PUNCH ; $E1
- add_tm SWAGGER ; $E2
- add_tm SLEEP_TALK ; $E3
- add_tm SLUDGE_BOMB ; $E4
- add_tm SANDSTORM ; $E5
- add_tm FIRE_BLAST ; $E6
- add_tm SWIFT ; $E7
- add_tm DEFENSE_CURL ; $E8
- add_tm THUNDERPUNCH ; $E9
- add_tm DREAM_EATER ; $EA
- add_tm DETECT ; $EB
- add_tm REST ; $EC
- add_tm ATTRACT ; $ED
- add_tm THIEF ; $EE
- add_tm STEEL_WING ; $EF
- add_tm FIRE_PUNCH ; $F0
- add_tm FURY_CUTTER ; $F1
- add_tm NIGHTMARE ; $F2
+ add_tm DYNAMICPUNCH ; bf
+ add_tm HEADBUTT ; c0
+ add_tm CURSE ; c1
+ add_tm ROLLOUT ; c2
+ const ITEM_C3 ; c3
+ add_tm ROAR ; c4
+ add_tm TOXIC ; c5
+ add_tm ZAP_CANNON ; c6
+ add_tm ROCK_SMASH ; c7
+ add_tm PSYCH_UP ; c8
+ add_tm HIDDEN_POWER ; c9
+ add_tm SUNNY_DAY ; ca
+ add_tm SWEET_SCENT ; cb
+ add_tm SNORE ; cc
+ add_tm BLIZZARD ; cd
+ add_tm HYPER_BEAM ; ce
+ add_tm ICY_WIND ; cf
+ add_tm PROTECT ; d0
+ add_tm RAIN_DANCE ; d1
+ add_tm GIGA_DRAIN ; d2
+ add_tm ENDURE ; d3
+ add_tm FRUSTRATION ; d4
+ add_tm SOLARBEAM ; d5
+ add_tm IRON_TAIL ; d6
+ add_tm DRAGONBREATH ; d7
+ add_tm THUNDER ; d8
+ add_tm EARTHQUAKE ; d9
+ add_tm RETURN ; da
+ add_tm DIG ; db
+ const ITEM_DC ; dc
+ add_tm PSYCHIC_M ; dd
+ add_tm SHADOW_BALL ; de
+ add_tm MUD_SLAP ; df
+ add_tm DOUBLE_TEAM ; e0
+ add_tm ICE_PUNCH ; e1
+ add_tm SWAGGER ; e2
+ add_tm SLEEP_TALK ; e3
+ add_tm SLUDGE_BOMB ; e4
+ add_tm SANDSTORM ; e5
+ add_tm FIRE_BLAST ; e6
+ add_tm SWIFT ; e7
+ add_tm DEFENSE_CURL ; e8
+ add_tm THUNDERPUNCH ; e9
+ add_tm DREAM_EATER ; ea
+ add_tm DETECT ; eb
+ add_tm REST ; ec
+ add_tm ATTRACT ; ed
+ add_tm THIEF ; ee
+ add_tm STEEL_WING ; ef
+ add_tm FIRE_PUNCH ; f0
+ add_tm FURY_CUTTER ; f1
+ add_tm NIGHTMARE ; f2
NUM_TMS = const_value - TM01 - 2 ; discount ITEM_C3 and ITEM_DC
- add_hm CUT ; $F3
- add_hm FLY ; $F4
- add_hm SURF ; $F5
- add_hm STRENGTH ; $F6
- add_hm FLASH ; $F7
- add_hm WHIRLPOOL ; $F8
- add_hm WATERFALL ; $F9
+ add_hm CUT ; f3
+ add_hm FLY ; f4
+ add_hm SURF ; f5
+ add_hm STRENGTH ; f6
+ add_hm FLASH ; f7
+ add_hm WHIRLPOOL ; f8
+ add_hm WATERFALL ; f9
NUM_HMS = const_value - HM01
- const ITEM_FA ; $FA
+ const ITEM_FA ; fa
add_mt FLAMETHROWER
add_mt THUNDERBOLT
add_mt ICE_BEAM
NUM_TM_HM_TUTOR = __enum__ +- 1
-ITEM_FROM_MEM EQU $FF
+USE_SCRIPT_VAR EQU $00
+ITEM_FROM_MEM EQU $ff
; leftovers from red
SAFARI_BALL EQU $08 ; MOON_STONE
-MOON_STONE_RED EQU $0A ; BURN_HEAL
+MOON_STONE_RED EQU $0a ; BURN_HEAL
FULL_HEAL_RED EQU $34 ; X_SPEED
diff --git a/constants/item_data_constants.asm b/constants/item_data_constants.asm
index dfcff9eb0..b3a35d72b 100644
--- a/constants/item_data_constants.asm
+++ b/constants/item_data_constants.asm
@@ -9,21 +9,15 @@
const ITEMATTR_HELP
ITEMATTR_STRUCT_LENGTH EQU const_value
-
-; pack pockets
-ITEM EQU 1
-KEY_ITEM EQU 2
-BALL EQU 3
-TM_HM EQU 4
-
-; pack pocket sizes
-MAX_ITEMS EQU 20
-MAX_KEY_ITEMS EQU 25
-MAX_BALLS EQU 12
-MAX_PC_ITEMS EQU 50
-
+; item types
+const_value set 1
+ const ITEM ; 1
+ const KEY_ITEM ; 2
+ const BALL ; 3
+ const TM_HM ; 4
; item menu types
+; UseItem.dw indexes (see engine/pack.asm)
ITEMMENU_NOUSE EQU 0
ITEMMENU_CURRENT EQU 4
ITEMMENU_PARTY EQU 5
@@ -34,7 +28,22 @@ CANT_SELECT EQU 1 << 6
CANT_TOSS EQU 1 << 7
+; pack pockets
+ const_def
+ const ITEM_POCKET ; 0
+ const BALL_POCKET ; 1
+ const KEY_ITEM_POCKET ; 2
+ const TM_HM_POCKET ; 3
+NUM_POCKETS EQU const_value +- 1
+
+MAX_ITEMS EQU 20
+MAX_BALLS EQU 12
+MAX_KEY_ITEMS EQU 25
+MAX_PC_ITEMS EQU 50
+
+
; mail
+MAIL_LINE_LENGTH EQU $10
MAIL_MSG_LENGTH EQU $20
MAILBOX_CAPACITY EQU 10
MAIL_STRUCT_LENGTH EQU $2f ; mailmsg struct
@@ -163,8 +172,7 @@ const_value set 70
const MART_UNDERGROUND
-; PartyMenuActionText values
-; GetPartyMenuTilemapPointers arguments (see engine/party_menu.asm)
+; PartyMenuQualityPointers indexes (see data/party_menu_qualities.asm)
const_def
const PARTYMENUACTION_CHOOSE_POKEMON
const PARTYMENUACTION_HEALING_ITEM
diff --git a/constants/landmark_constants.asm b/constants/landmark_constants.asm
index 4a15928f0..5f74b3386 100644
--- a/constants/landmark_constants.asm
+++ b/constants/landmark_constants.asm
@@ -100,3 +100,14 @@ KANTO_LANDMARK EQU const_value
const TOHJO_FALLS ; 5d
const ROUTE_28 ; 5e
const FAST_SHIP ; 5f
+
+; used in CaughtData
+GIFT_LOCATION EQU $7e
+EVENT_LOCATION EQU $7f
+
+
+; Regions
+ const_def
+ const JOHTO_REGION ; 0
+ const KANTO_REGION ; 1
+NUM_REGIONS EQU const_value
diff --git a/constants/map_constants.asm b/constants/map_constants.asm
index e7580dfb9..204b2cf20 100644
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -3,7 +3,7 @@ const_value = const_value + 1
enum_start 1
ENDM
-mapgroup: MACRO
+mapconst: MACRO
;\1: map id
;\2: height: in blocks
;\3: width: in blocks
@@ -15,474 +15,475 @@ ENDM
; map group ids
; `newgroup` indexes are for:
-; - MapGroupPointers (see maps/map_headers.asm)
+; - MapGroupPointers (see data/maps/definitions.asm)
; - MapGroupRoofs (see data/maps/roofs.asm)
; - OutdoorSprites (see data/maps/outdoor_sprites.asm)
-; `mapgroup` indexes are for the sub-tables of MapGroupPointers (see maps/map_headers.asm)
+; - RoofPals (see gfx/tilesets/roofs.pal)
+; `mapconst` indexes are for the sub-tables of MapGroupPointers (see data/maps/definitions.asm)
const_def
newgroup ; 1
- mapgroup OLIVINE_POKECENTER_1F, 4, 5 ; 1
- mapgroup OLIVINE_GYM, 8, 5 ; 2
- mapgroup OLIVINE_TIMS_HOUSE, 4, 4 ; 3
- mapgroup OLIVINE_HOUSE_BETA, 4, 4 ; 4
- mapgroup OLIVINE_PUNISHMENT_SPEECH_HOUSE, 4, 4 ; 5
- mapgroup OLIVINE_GOOD_ROD_HOUSE, 4, 4 ; 6
- mapgroup OLIVINE_CAFE, 4, 4 ; 7
- mapgroup OLIVINE_MART, 4, 6 ; 8
- mapgroup ROUTE_38_ECRUTEAK_GATE, 4, 5 ; 9
- mapgroup ROUTE_39_BARN, 4, 4 ; 10
- mapgroup ROUTE_39_FARMHOUSE, 4, 4 ; 11
- mapgroup ROUTE_38, 9, 20 ; 12
- mapgroup ROUTE_39, 18, 10 ; 13
- mapgroup OLIVINE_CITY, 18, 20 ; 14
+ mapconst OLIVINE_POKECENTER_1F, 4, 5 ; 1
+ mapconst OLIVINE_GYM, 8, 5 ; 2
+ mapconst OLIVINE_TIMS_HOUSE, 4, 4 ; 3
+ mapconst OLIVINE_HOUSE_BETA, 4, 4 ; 4
+ mapconst OLIVINE_PUNISHMENT_SPEECH_HOUSE, 4, 4 ; 5
+ mapconst OLIVINE_GOOD_ROD_HOUSE, 4, 4 ; 6
+ mapconst OLIVINE_CAFE, 4, 4 ; 7
+ mapconst OLIVINE_MART, 4, 6 ; 8
+ mapconst ROUTE_38_ECRUTEAK_GATE, 4, 5 ; 9
+ mapconst ROUTE_39_BARN, 4, 4 ; 10
+ mapconst ROUTE_39_FARMHOUSE, 4, 4 ; 11
+ mapconst ROUTE_38, 9, 20 ; 12
+ mapconst ROUTE_39, 18, 10 ; 13
+ mapconst OLIVINE_CITY, 18, 20 ; 14
newgroup ; 2
- mapgroup MAHOGANY_RED_GYARADOS_SPEECH_HOUSE, 4, 4 ; 1
- mapgroup MAHOGANY_GYM, 9, 5 ; 2
- mapgroup MAHOGANY_POKECENTER_1F, 4, 5 ; 3
- mapgroup ROUTE_42_ECRUTEAK_GATE, 4, 5 ; 4
- mapgroup ROUTE_42, 9, 30 ; 5
- mapgroup ROUTE_44, 9, 30 ; 6
- mapgroup MAHOGANY_TOWN, 9, 10 ; 7
+ mapconst MAHOGANY_RED_GYARADOS_SPEECH_HOUSE, 4, 4 ; 1
+ mapconst MAHOGANY_GYM, 9, 5 ; 2
+ mapconst MAHOGANY_POKECENTER_1F, 4, 5 ; 3
+ mapconst ROUTE_42_ECRUTEAK_GATE, 4, 5 ; 4
+ mapconst ROUTE_42, 9, 30 ; 5
+ mapconst ROUTE_44, 9, 30 ; 6
+ mapconst MAHOGANY_TOWN, 9, 10 ; 7
newgroup ; 3
- mapgroup SPROUT_TOWER_1F, 8, 10 ; 1
- mapgroup SPROUT_TOWER_2F, 8, 10 ; 2
- mapgroup SPROUT_TOWER_3F, 8, 10 ; 3
- mapgroup TIN_TOWER_1F, 9, 10 ; 4
- mapgroup TIN_TOWER_2F, 9, 10 ; 5
- mapgroup TIN_TOWER_3F, 9, 10 ; 6
- mapgroup TIN_TOWER_4F, 9, 10 ; 7
- mapgroup TIN_TOWER_5F, 9, 10 ; 8
- mapgroup TIN_TOWER_6F, 9, 10 ; 9
- mapgroup TIN_TOWER_7F, 9, 10 ; 10
- mapgroup TIN_TOWER_8F, 9, 10 ; 11
- mapgroup TIN_TOWER_9F, 9, 10 ; 12
- mapgroup BURNED_TOWER_1F, 9, 10 ; 13
- mapgroup BURNED_TOWER_B1F, 9, 10 ; 14
- mapgroup NATIONAL_PARK, 27, 20 ; 15
- mapgroup NATIONAL_PARK_BUG_CONTEST, 27, 20 ; 16
- mapgroup RADIO_TOWER_1F, 4, 9 ; 17
- mapgroup RADIO_TOWER_2F, 4, 9 ; 18
- mapgroup RADIO_TOWER_3F, 4, 9 ; 19
- mapgroup RADIO_TOWER_4F, 4, 9 ; 20
- mapgroup RADIO_TOWER_5F, 4, 9 ; 21
- mapgroup RUINS_OF_ALPH_OUTSIDE, 18, 10 ; 22
- mapgroup RUINS_OF_ALPH_HO_OH_CHAMBER, 5, 4 ; 23
- mapgroup RUINS_OF_ALPH_KABUTO_CHAMBER, 5, 4 ; 24
- mapgroup RUINS_OF_ALPH_OMANYTE_CHAMBER, 5, 4 ; 25
- mapgroup RUINS_OF_ALPH_AERODACTYL_CHAMBER, 5, 4 ; 26
- mapgroup RUINS_OF_ALPH_INNER_CHAMBER, 14, 10 ; 27
- mapgroup RUINS_OF_ALPH_RESEARCH_CENTER, 4, 4 ; 28
- mapgroup RUINS_OF_ALPH_HO_OH_ITEM_ROOM, 5, 4 ; 29
- mapgroup RUINS_OF_ALPH_KABUTO_ITEM_ROOM, 5, 4 ; 30
- mapgroup RUINS_OF_ALPH_OMANYTE_ITEM_ROOM, 5, 4 ; 31
- mapgroup RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM, 5, 4 ; 32
- mapgroup RUINS_OF_ALPH_HO_OH_WORD_ROOM, 12, 10 ; 33
- mapgroup RUINS_OF_ALPH_KABUTO_WORD_ROOM, 7, 10 ; 34
- mapgroup RUINS_OF_ALPH_OMANYTE_WORD_ROOM, 8, 10 ; 35
- mapgroup RUINS_OF_ALPH_AERODACTYL_WORD_ROOM, 7, 10 ; 36
- mapgroup UNION_CAVE_1F, 18, 10 ; 37
- mapgroup UNION_CAVE_B1F, 18, 10 ; 38
- mapgroup UNION_CAVE_B2F, 18, 10 ; 39
- mapgroup SLOWPOKE_WELL_B1F, 9, 10 ; 40
- mapgroup SLOWPOKE_WELL_B2F, 9, 10 ; 41
- mapgroup OLIVINE_LIGHTHOUSE_1F, 9, 10 ; 42
- mapgroup OLIVINE_LIGHTHOUSE_2F, 9, 10 ; 43
- mapgroup OLIVINE_LIGHTHOUSE_3F, 9, 10 ; 44
- mapgroup OLIVINE_LIGHTHOUSE_4F, 9, 10 ; 45
- mapgroup OLIVINE_LIGHTHOUSE_5F, 9, 10 ; 46
- mapgroup OLIVINE_LIGHTHOUSE_6F, 9, 10 ; 47
- mapgroup MAHOGANY_MART_1F, 4, 4 ; 48
- mapgroup TEAM_ROCKET_BASE_B1F, 9, 15 ; 49
- mapgroup TEAM_ROCKET_BASE_B2F, 9, 15 ; 50
- mapgroup TEAM_ROCKET_BASE_B3F, 9, 15 ; 51
- mapgroup ILEX_FOREST, 27, 15 ; 52
- mapgroup GOLDENROD_UNDERGROUND, 18, 15 ; 53
- mapgroup GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, 18, 15 ; 54
- mapgroup GOLDENROD_DEPT_STORE_B1F, 9, 10 ; 55
- mapgroup GOLDENROD_UNDERGROUND_WAREHOUSE, 9, 10 ; 56
- mapgroup MOUNT_MORTAR_1F_OUTSIDE, 18, 20 ; 57
- mapgroup MOUNT_MORTAR_1F_INSIDE, 27, 20 ; 58
- mapgroup MOUNT_MORTAR_2F_INSIDE, 18, 20 ; 59
- mapgroup MOUNT_MORTAR_B1F, 18, 20 ; 60
- mapgroup ICE_PATH_1F, 18, 20 ; 61
- mapgroup ICE_PATH_B1F, 18, 10 ; 62
- mapgroup ICE_PATH_B2F_MAHOGANY_SIDE, 9, 10 ; 63
- mapgroup ICE_PATH_B2F_BLACKTHORN_SIDE, 9, 5 ; 64
- mapgroup ICE_PATH_B3F, 9, 10 ; 65
- mapgroup WHIRL_ISLAND_NW, 9, 5 ; 66
- mapgroup WHIRL_ISLAND_NE, 9, 10 ; 67
- mapgroup WHIRL_ISLAND_SW, 9, 10 ; 68
- mapgroup WHIRL_ISLAND_CAVE, 9, 5 ; 69
- mapgroup WHIRL_ISLAND_SE, 9, 5 ; 70
- mapgroup WHIRL_ISLAND_B1F, 18, 20 ; 71
- mapgroup WHIRL_ISLAND_B2F, 18, 10 ; 72
- mapgroup WHIRL_ISLAND_LUGIA_CHAMBER, 9, 10 ; 73
- mapgroup SILVER_CAVE_ROOM_1, 18, 10 ; 74
- mapgroup SILVER_CAVE_ROOM_2, 18, 15 ; 75
- mapgroup SILVER_CAVE_ROOM_3, 18, 10 ; 76
- mapgroup SILVER_CAVE_ITEM_ROOMS, 9, 10 ; 77
- mapgroup DARK_CAVE_VIOLET_ENTRANCE, 18, 20 ; 78
- mapgroup DARK_CAVE_BLACKTHORN_ENTRANCE, 18, 15 ; 79
- mapgroup DRAGONS_DEN_1F, 9, 5 ; 80
- mapgroup DRAGONS_DEN_B1F, 18, 20 ; 81
- mapgroup DRAGON_SHRINE, 5, 5 ; 82
- mapgroup TOHJO_FALLS, 9, 15 ; 83
- mapgroup DIGLETTS_CAVE, 18, 10 ; 84
- mapgroup MOUNT_MOON, 9, 15 ; 85
- mapgroup UNDERGROUND_PATH, 14, 3 ; 86
- mapgroup ROCK_TUNNEL_1F, 18, 15 ; 87
- mapgroup ROCK_TUNNEL_B1F, 18, 15 ; 88
- mapgroup SAFARI_ZONE_FUCHSIA_GATE_BETA, 4, 5 ; 89
- mapgroup SAFARI_ZONE_BETA, 18, 10 ; 90
- mapgroup VICTORY_ROAD, 36, 10 ; 91
+ mapconst SPROUT_TOWER_1F, 8, 10 ; 1
+ mapconst SPROUT_TOWER_2F, 8, 10 ; 2
+ mapconst SPROUT_TOWER_3F, 8, 10 ; 3
+ mapconst TIN_TOWER_1F, 9, 10 ; 4
+ mapconst TIN_TOWER_2F, 9, 10 ; 5
+ mapconst TIN_TOWER_3F, 9, 10 ; 6
+ mapconst TIN_TOWER_4F, 9, 10 ; 7
+ mapconst TIN_TOWER_5F, 9, 10 ; 8
+ mapconst TIN_TOWER_6F, 9, 10 ; 9
+ mapconst TIN_TOWER_7F, 9, 10 ; 10
+ mapconst TIN_TOWER_8F, 9, 10 ; 11
+ mapconst TIN_TOWER_9F, 9, 10 ; 12
+ mapconst BURNED_TOWER_1F, 9, 10 ; 13
+ mapconst BURNED_TOWER_B1F, 9, 10 ; 14
+ mapconst NATIONAL_PARK, 27, 20 ; 15
+ mapconst NATIONAL_PARK_BUG_CONTEST, 27, 20 ; 16
+ mapconst RADIO_TOWER_1F, 4, 9 ; 17
+ mapconst RADIO_TOWER_2F, 4, 9 ; 18
+ mapconst RADIO_TOWER_3F, 4, 9 ; 19
+ mapconst RADIO_TOWER_4F, 4, 9 ; 20
+ mapconst RADIO_TOWER_5F, 4, 9 ; 21
+ mapconst RUINS_OF_ALPH_OUTSIDE, 18, 10 ; 22
+ mapconst RUINS_OF_ALPH_HO_OH_CHAMBER, 5, 4 ; 23
+ mapconst RUINS_OF_ALPH_KABUTO_CHAMBER, 5, 4 ; 24
+ mapconst RUINS_OF_ALPH_OMANYTE_CHAMBER, 5, 4 ; 25
+ mapconst RUINS_OF_ALPH_AERODACTYL_CHAMBER, 5, 4 ; 26
+ mapconst RUINS_OF_ALPH_INNER_CHAMBER, 14, 10 ; 27
+ mapconst RUINS_OF_ALPH_RESEARCH_CENTER, 4, 4 ; 28
+ mapconst RUINS_OF_ALPH_HO_OH_ITEM_ROOM, 5, 4 ; 29
+ mapconst RUINS_OF_ALPH_KABUTO_ITEM_ROOM, 5, 4 ; 30
+ mapconst RUINS_OF_ALPH_OMANYTE_ITEM_ROOM, 5, 4 ; 31
+ mapconst RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM, 5, 4 ; 32
+ mapconst RUINS_OF_ALPH_HO_OH_WORD_ROOM, 12, 10 ; 33
+ mapconst RUINS_OF_ALPH_KABUTO_WORD_ROOM, 7, 10 ; 34
+ mapconst RUINS_OF_ALPH_OMANYTE_WORD_ROOM, 8, 10 ; 35
+ mapconst RUINS_OF_ALPH_AERODACTYL_WORD_ROOM, 7, 10 ; 36
+ mapconst UNION_CAVE_1F, 18, 10 ; 37
+ mapconst UNION_CAVE_B1F, 18, 10 ; 38
+ mapconst UNION_CAVE_B2F, 18, 10 ; 39
+ mapconst SLOWPOKE_WELL_B1F, 9, 10 ; 40
+ mapconst SLOWPOKE_WELL_B2F, 9, 10 ; 41
+ mapconst OLIVINE_LIGHTHOUSE_1F, 9, 10 ; 42
+ mapconst OLIVINE_LIGHTHOUSE_2F, 9, 10 ; 43
+ mapconst OLIVINE_LIGHTHOUSE_3F, 9, 10 ; 44
+ mapconst OLIVINE_LIGHTHOUSE_4F, 9, 10 ; 45
+ mapconst OLIVINE_LIGHTHOUSE_5F, 9, 10 ; 46
+ mapconst OLIVINE_LIGHTHOUSE_6F, 9, 10 ; 47
+ mapconst MAHOGANY_MART_1F, 4, 4 ; 48
+ mapconst TEAM_ROCKET_BASE_B1F, 9, 15 ; 49
+ mapconst TEAM_ROCKET_BASE_B2F, 9, 15 ; 50
+ mapconst TEAM_ROCKET_BASE_B3F, 9, 15 ; 51
+ mapconst ILEX_FOREST, 27, 15 ; 52
+ mapconst GOLDENROD_UNDERGROUND, 18, 15 ; 53
+ mapconst GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, 18, 15 ; 54
+ mapconst GOLDENROD_DEPT_STORE_B1F, 9, 10 ; 55
+ mapconst GOLDENROD_UNDERGROUND_WAREHOUSE, 9, 10 ; 56
+ mapconst MOUNT_MORTAR_1F_OUTSIDE, 18, 20 ; 57
+ mapconst MOUNT_MORTAR_1F_INSIDE, 27, 20 ; 58
+ mapconst MOUNT_MORTAR_2F_INSIDE, 18, 20 ; 59
+ mapconst MOUNT_MORTAR_B1F, 18, 20 ; 60
+ mapconst ICE_PATH_1F, 18, 20 ; 61
+ mapconst ICE_PATH_B1F, 18, 10 ; 62
+ mapconst ICE_PATH_B2F_MAHOGANY_SIDE, 9, 10 ; 63
+ mapconst ICE_PATH_B2F_BLACKTHORN_SIDE, 9, 5 ; 64
+ mapconst ICE_PATH_B3F, 9, 10 ; 65
+ mapconst WHIRL_ISLAND_NW, 9, 5 ; 66
+ mapconst WHIRL_ISLAND_NE, 9, 10 ; 67
+ mapconst WHIRL_ISLAND_SW, 9, 10 ; 68
+ mapconst WHIRL_ISLAND_CAVE, 9, 5 ; 69
+ mapconst WHIRL_ISLAND_SE, 9, 5 ; 70
+ mapconst WHIRL_ISLAND_B1F, 18, 20 ; 71
+ mapconst WHIRL_ISLAND_B2F, 18, 10 ; 72
+ mapconst WHIRL_ISLAND_LUGIA_CHAMBER, 9, 10 ; 73
+ mapconst SILVER_CAVE_ROOM_1, 18, 10 ; 74
+ mapconst SILVER_CAVE_ROOM_2, 18, 15 ; 75
+ mapconst SILVER_CAVE_ROOM_3, 18, 10 ; 76
+ mapconst SILVER_CAVE_ITEM_ROOMS, 9, 10 ; 77
+ mapconst DARK_CAVE_VIOLET_ENTRANCE, 18, 20 ; 78
+ mapconst DARK_CAVE_BLACKTHORN_ENTRANCE, 18, 15 ; 79
+ mapconst DRAGONS_DEN_1F, 9, 5 ; 80
+ mapconst DRAGONS_DEN_B1F, 18, 20 ; 81
+ mapconst DRAGON_SHRINE, 5, 5 ; 82
+ mapconst TOHJO_FALLS, 9, 15 ; 83
+ mapconst DIGLETTS_CAVE, 18, 10 ; 84
+ mapconst MOUNT_MOON, 9, 15 ; 85
+ mapconst UNDERGROUND_PATH, 14, 3 ; 86
+ mapconst ROCK_TUNNEL_1F, 18, 15 ; 87
+ mapconst ROCK_TUNNEL_B1F, 18, 15 ; 88
+ mapconst SAFARI_ZONE_FUCHSIA_GATE_BETA, 4, 5 ; 89
+ mapconst SAFARI_ZONE_BETA, 18, 10 ; 90
+ mapconst VICTORY_ROAD, 36, 10 ; 91
newgroup ; 4
- mapgroup ECRUTEAK_HOUSE, 9, 10 ; 1
- mapgroup WISE_TRIOS_ROOM, 4, 4 ; 2
- mapgroup ECRUTEAK_POKECENTER_1F, 4, 5 ; 3
- mapgroup ECRUTEAK_LUGIA_SPEECH_HOUSE, 4, 4 ; 4
- mapgroup DANCE_THEATRE, 7, 6 ; 5
- mapgroup ECRUTEAK_MART, 4, 6 ; 6
- mapgroup ECRUTEAK_GYM, 9, 5 ; 7
- mapgroup ECRUTEAK_ITEMFINDER_HOUSE, 4, 4 ; 8
- mapgroup ECRUTEAK_CITY, 18, 20 ; 9
+ mapconst ECRUTEAK_HOUSE, 9, 10 ; 1
+ mapconst WISE_TRIOS_ROOM, 4, 4 ; 2
+ mapconst ECRUTEAK_POKECENTER_1F, 4, 5 ; 3
+ mapconst ECRUTEAK_LUGIA_SPEECH_HOUSE, 4, 4 ; 4
+ mapconst DANCE_THEATRE, 7, 6 ; 5
+ mapconst ECRUTEAK_MART, 4, 6 ; 6
+ mapconst ECRUTEAK_GYM, 9, 5 ; 7
+ mapconst ECRUTEAK_ITEMFINDER_HOUSE, 4, 4 ; 8
+ mapconst ECRUTEAK_CITY, 18, 20 ; 9
newgroup ; 5
- mapgroup BLACKTHORN_GYM_1F, 9, 5 ; 1
- mapgroup BLACKTHORN_GYM_2F, 9, 5 ; 2
- mapgroup BLACKTHORN_DRAGON_SPEECH_HOUSE, 4, 4 ; 3
- mapgroup BLACKTHORN_EMYS_HOUSE, 4, 4 ; 4
- mapgroup BLACKTHORN_MART, 4, 6 ; 5
- mapgroup BLACKTHORN_POKECENTER_1F, 4, 5 ; 6
- mapgroup MOVE_DELETERS_HOUSE, 4, 4 ; 7
- mapgroup ROUTE_45, 45, 10 ; 8
- mapgroup ROUTE_46, 18, 10 ; 9
- mapgroup BLACKTHORN_CITY, 18, 20 ; 10
+ mapconst BLACKTHORN_GYM_1F, 9, 5 ; 1
+ mapconst BLACKTHORN_GYM_2F, 9, 5 ; 2
+ mapconst BLACKTHORN_DRAGON_SPEECH_HOUSE, 4, 4 ; 3
+ mapconst BLACKTHORN_EMYS_HOUSE, 4, 4 ; 4
+ mapconst BLACKTHORN_MART, 4, 6 ; 5
+ mapconst BLACKTHORN_POKECENTER_1F, 4, 5 ; 6
+ mapconst MOVE_DELETERS_HOUSE, 4, 4 ; 7
+ mapconst ROUTE_45, 45, 10 ; 8
+ mapconst ROUTE_46, 18, 10 ; 9
+ mapconst BLACKTHORN_CITY, 18, 20 ; 10
newgroup ; 6
- mapgroup CINNABAR_POKECENTER_1F, 4, 5 ; 1
- mapgroup CINNABAR_POKECENTER_2F_BETA, 4, 8 ; 2
- mapgroup ROUTE_19___FUCHSIA_GATE, 4, 5 ; 3
- mapgroup SEAFOAM_GYM, 4, 5 ; 4
- mapgroup ROUTE_19, 18, 10 ; 5
- mapgroup ROUTE_20, 9, 30 ; 6
- mapgroup ROUTE_21, 18, 10 ; 7
- mapgroup CINNABAR_ISLAND, 9, 10 ; 8
+ mapconst CINNABAR_POKECENTER_1F, 4, 5 ; 1
+ mapconst CINNABAR_POKECENTER_2F_BETA, 4, 8 ; 2
+ mapconst ROUTE_19_FUCHSIA_GATE, 4, 5 ; 3
+ mapconst SEAFOAM_GYM, 4, 5 ; 4
+ mapconst ROUTE_19, 18, 10 ; 5
+ mapconst ROUTE_20, 9, 30 ; 6
+ mapconst ROUTE_21, 18, 10 ; 7
+ mapconst CINNABAR_ISLAND, 9, 10 ; 8
newgroup ; 7
- mapgroup CERULEAN_GYM_BADGE_SPEECH_HOUSE, 4, 4 ; 1
- mapgroup CERULEAN_POLICE_STATION, 4, 4 ; 2
- mapgroup CERULEAN_TRADE_SPEECH_HOUSE, 4, 4 ; 3
- mapgroup CERULEAN_POKECENTER_1F, 4, 5 ; 4
- mapgroup CERULEAN_POKECENTER_2F_BETA, 4, 8 ; 5
- mapgroup CERULEAN_GYM, 8, 5 ; 6
- mapgroup CERULEAN_MART, 4, 6 ; 7
- mapgroup ROUTE_10_POKECENTER_1F, 4, 5 ; 8
- mapgroup ROUTE_10_POKECENTER_2F_BETA, 4, 8 ; 9
- mapgroup POWER_PLANT, 9, 10 ; 10
- mapgroup BILLS_HOUSE, 4, 4 ; 11
- mapgroup ROUTE_4, 9, 20 ; 12
- mapgroup ROUTE_9, 9, 30 ; 13
- mapgroup ROUTE_10_NORTH, 9, 10 ; 14
- mapgroup ROUTE_24, 9, 10 ; 15
- mapgroup ROUTE_25, 9, 30 ; 16
- mapgroup CERULEAN_CITY, 18, 20 ; 17
+ mapconst CERULEAN_GYM_BADGE_SPEECH_HOUSE, 4, 4 ; 1
+ mapconst CERULEAN_POLICE_STATION, 4, 4 ; 2
+ mapconst CERULEAN_TRADE_SPEECH_HOUSE, 4, 4 ; 3
+ mapconst CERULEAN_POKECENTER_1F, 4, 5 ; 4
+ mapconst CERULEAN_POKECENTER_2F_BETA, 4, 8 ; 5
+ mapconst CERULEAN_GYM, 8, 5 ; 6
+ mapconst CERULEAN_MART, 4, 6 ; 7
+ mapconst ROUTE_10_POKECENTER_1F, 4, 5 ; 8
+ mapconst ROUTE_10_POKECENTER_2F_BETA, 4, 8 ; 9
+ mapconst POWER_PLANT, 9, 10 ; 10
+ mapconst BILLS_HOUSE, 4, 4 ; 11
+ mapconst ROUTE_4, 9, 20 ; 12
+ mapconst ROUTE_9, 9, 30 ; 13
+ mapconst ROUTE_10_NORTH, 9, 10 ; 14
+ mapconst ROUTE_24, 9, 10 ; 15
+ mapconst ROUTE_25, 9, 30 ; 16
+ mapconst CERULEAN_CITY, 18, 20 ; 17
newgroup ; 8
- mapgroup AZALEA_POKECENTER_1F, 4, 5 ; 1
- mapgroup CHARCOAL_KILN, 4, 4 ; 2
- mapgroup AZALEA_MART, 4, 6 ; 3
- mapgroup KURTS_HOUSE, 4, 8 ; 4
- mapgroup AZALEA_GYM, 8, 5 ; 5
- mapgroup ROUTE_33, 9, 10 ; 6
- mapgroup AZALEA_TOWN, 9, 20 ; 7
+ mapconst AZALEA_POKECENTER_1F, 4, 5 ; 1
+ mapconst CHARCOAL_KILN, 4, 4 ; 2
+ mapconst AZALEA_MART, 4, 6 ; 3
+ mapconst KURTS_HOUSE, 4, 8 ; 4
+ mapconst AZALEA_GYM, 8, 5 ; 5
+ mapconst ROUTE_33, 9, 10 ; 6
+ mapconst AZALEA_TOWN, 9, 20 ; 7
newgroup ; 9
- mapgroup LAKE_OF_RAGE_HIDDEN_POWER_HOUSE, 4, 4 ; 1
- mapgroup LAKE_OF_RAGE_MAGIKARP_HOUSE, 4, 4 ; 2
- mapgroup ROUTE_43_MAHOGANY_GATE, 4, 5 ; 3
- mapgroup ROUTE_43_GATE, 4, 5 ; 4
- mapgroup ROUTE_43, 27, 10 ; 5
- mapgroup LAKE_OF_RAGE, 18, 20 ; 6
+ mapconst LAKE_OF_RAGE_HIDDEN_POWER_HOUSE, 4, 4 ; 1
+ mapconst LAKE_OF_RAGE_MAGIKARP_HOUSE, 4, 4 ; 2
+ mapconst ROUTE_43_MAHOGANY_GATE, 4, 5 ; 3
+ mapconst ROUTE_43_GATE, 4, 5 ; 4
+ mapconst ROUTE_43, 27, 10 ; 5
+ mapconst LAKE_OF_RAGE, 18, 20 ; 6
newgroup ; 10
- mapgroup ROUTE_32, 45, 10 ; 1
- mapgroup ROUTE_35, 18, 10 ; 2
- mapgroup ROUTE_36, 9, 30 ; 3
- mapgroup ROUTE_37, 9, 10 ; 4
- mapgroup VIOLET_CITY, 18, 20 ; 5
- mapgroup VIOLET_MART, 4, 6 ; 6
- mapgroup VIOLET_GYM, 8, 5 ; 7
- mapgroup EARLS_POKEMON_ACADEMY, 8, 4 ; 8
- mapgroup VIOLET_NICKNAME_SPEECH_HOUSE, 4, 4 ; 9
- mapgroup VIOLET_POKECENTER_1F, 4, 5 ; 10
- mapgroup VIOLET_KYLES_HOUSE, 4, 4 ; 11
- mapgroup ROUTE_32_RUINS_OF_ALPH_GATE, 4, 5 ; 12
- mapgroup ROUTE_32_POKECENTER_1F, 4, 5 ; 13
- mapgroup ROUTE_35_GOLDENROD_GATE, 4, 5 ; 14
- mapgroup ROUTE_35_NATIONAL_PARK_GATE, 4, 4 ; 15
- mapgroup ROUTE_36_RUINS_OF_ALPH_GATE, 4, 5 ; 16
- mapgroup ROUTE_36_NATIONAL_PARK_GATE, 4, 5 ; 17
+ mapconst ROUTE_32, 45, 10 ; 1
+ mapconst ROUTE_35, 18, 10 ; 2
+ mapconst ROUTE_36, 9, 30 ; 3
+ mapconst ROUTE_37, 9, 10 ; 4
+ mapconst VIOLET_CITY, 18, 20 ; 5
+ mapconst VIOLET_MART, 4, 6 ; 6
+ mapconst VIOLET_GYM, 8, 5 ; 7
+ mapconst EARLS_POKEMON_ACADEMY, 8, 4 ; 8
+ mapconst VIOLET_NICKNAME_SPEECH_HOUSE, 4, 4 ; 9
+ mapconst VIOLET_POKECENTER_1F, 4, 5 ; 10
+ mapconst VIOLET_KYLES_HOUSE, 4, 4 ; 11
+ mapconst ROUTE_32_RUINS_OF_ALPH_GATE, 4, 5 ; 12
+ mapconst ROUTE_32_POKECENTER_1F, 4, 5 ; 13
+ mapconst ROUTE_35_GOLDENROD_GATE, 4, 5 ; 14
+ mapconst ROUTE_35_NATIONAL_PARK_GATE, 4, 4 ; 15
+ mapconst ROUTE_36_RUINS_OF_ALPH_GATE, 4, 5 ; 16
+ mapconst ROUTE_36_NATIONAL_PARK_GATE, 4, 5 ; 17
newgroup ; 11
- mapgroup ROUTE_34, 27, 10 ; 1
- mapgroup GOLDENROD_CITY, 18, 20 ; 2
- mapgroup GOLDENROD_GYM, 9, 10 ; 3
- mapgroup GOLDENROD_BIKE_SHOP, 4, 4 ; 4
- mapgroup GOLDENROD_HAPPINESS_RATER, 4, 4 ; 5
- mapgroup GOLDENROD_BILLS_HOUSE, 4, 4 ; 6
- mapgroup GOLDENROD_MAGNET_TRAIN_STATION, 9, 10 ; 7
- mapgroup GOLDENROD_FLOWER_SHOP, 4, 4 ; 8
- mapgroup GOLDENROD_PP_SPEECH_HOUSE, 4, 4 ; 9
- mapgroup GOLDENROD_NAME_RATER, 4, 4 ; 10
- mapgroup GOLDENROD_DEPT_STORE_1F, 4, 8 ; 11
- mapgroup GOLDENROD_DEPT_STORE_2F, 4, 8 ; 12
- mapgroup GOLDENROD_DEPT_STORE_3F, 4, 8 ; 13
- mapgroup GOLDENROD_DEPT_STORE_4F, 4, 8 ; 14
- mapgroup GOLDENROD_DEPT_STORE_5F, 4, 8 ; 15
- mapgroup GOLDENROD_DEPT_STORE_6F, 4, 8 ; 16
- mapgroup GOLDENROD_DEPT_STORE_ELEVATOR, 2, 2 ; 17
- mapgroup GOLDENROD_DEPT_STORE_ROOF, 4, 8 ; 18
- mapgroup GOLDENROD_GAME_CORNER, 7, 10 ; 19
- mapgroup GOLDENROD_POKECENTER_1F, 4, 5 ; 20
- mapgroup GOLDENROD_POKECOM_CENTER_2F_MOBILE, 16, 16 ; 21
- mapgroup ILEX_FOREST_AZALEA_GATE, 4, 5 ; 22
- mapgroup ROUTE_34_ILEX_FOREST_GATE, 4, 5 ; 23
- mapgroup DAY_CARE, 4, 5 ; 24
+ mapconst ROUTE_34, 27, 10 ; 1
+ mapconst GOLDENROD_CITY, 18, 20 ; 2
+ mapconst GOLDENROD_GYM, 9, 10 ; 3
+ mapconst GOLDENROD_BIKE_SHOP, 4, 4 ; 4
+ mapconst GOLDENROD_HAPPINESS_RATER, 4, 4 ; 5
+ mapconst GOLDENROD_BILLS_HOUSE, 4, 4 ; 6
+ mapconst GOLDENROD_MAGNET_TRAIN_STATION, 9, 10 ; 7
+ mapconst GOLDENROD_FLOWER_SHOP, 4, 4 ; 8
+ mapconst GOLDENROD_PP_SPEECH_HOUSE, 4, 4 ; 9
+ mapconst GOLDENROD_NAME_RATER, 4, 4 ; 10
+ mapconst GOLDENROD_DEPT_STORE_1F, 4, 8 ; 11
+ mapconst GOLDENROD_DEPT_STORE_2F, 4, 8 ; 12
+ mapconst GOLDENROD_DEPT_STORE_3F, 4, 8 ; 13
+ mapconst GOLDENROD_DEPT_STORE_4F, 4, 8 ; 14
+ mapconst GOLDENROD_DEPT_STORE_5F, 4, 8 ; 15
+ mapconst GOLDENROD_DEPT_STORE_6F, 4, 8 ; 16
+ mapconst GOLDENROD_DEPT_STORE_ELEVATOR, 2, 2 ; 17
+ mapconst GOLDENROD_DEPT_STORE_ROOF, 4, 8 ; 18
+ mapconst GOLDENROD_GAME_CORNER, 7, 10 ; 19
+ mapconst GOLDENROD_POKECENTER_1F, 4, 5 ; 20
+ mapconst GOLDENROD_POKECOM_CENTER_2F_MOBILE, 16, 16 ; 21
+ mapconst ILEX_FOREST_AZALEA_GATE, 4, 5 ; 22
+ mapconst ROUTE_34_ILEX_FOREST_GATE, 4, 5 ; 23
+ mapconst DAY_CARE, 4, 5 ; 24
newgroup ; 12
- mapgroup ROUTE_6, 9, 10 ; 1
- mapgroup ROUTE_11, 9, 20 ; 2
- mapgroup VERMILION_CITY, 18, 20 ; 3
- mapgroup VERMILION_HOUSE_FISHING_SPEECH_HOUSE, 4, 4 ; 4
- mapgroup VERMILION_POKECENTER_1F, 4, 5 ; 5
- mapgroup VERMILION_POKECENTER_2F_BETA, 4, 8 ; 6
- mapgroup POKEMON_FAN_CLUB, 4, 5 ; 7
- mapgroup VERMILION_MAGNET_TRAIN_SPEECH_HOUSE, 4, 4 ; 8
- mapgroup VERMILION_MART, 4, 6 ; 9
- mapgroup VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE, 4, 4 ; 10
- mapgroup VERMILION_GYM, 9, 5 ; 11
- mapgroup ROUTE_6_SAFFRON_GATE, 4, 5 ; 12
- mapgroup ROUTE_6_UNDERGROUND_PATH_ENTRANCE, 4, 4 ; 13
+ mapconst ROUTE_6, 9, 10 ; 1
+ mapconst ROUTE_11, 9, 20 ; 2
+ mapconst VERMILION_CITY, 18, 20 ; 3
+ mapconst VERMILION_HOUSE_FISHING_SPEECH_HOUSE, 4, 4 ; 4
+ mapconst VERMILION_POKECENTER_1F, 4, 5 ; 5
+ mapconst VERMILION_POKECENTER_2F_BETA, 4, 8 ; 6
+ mapconst POKEMON_FAN_CLUB, 4, 5 ; 7
+ mapconst VERMILION_MAGNET_TRAIN_SPEECH_HOUSE, 4, 4 ; 8
+ mapconst VERMILION_MART, 4, 6 ; 9
+ mapconst VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE, 4, 4 ; 10
+ mapconst VERMILION_GYM, 9, 5 ; 11
+ mapconst ROUTE_6_SAFFRON_GATE, 4, 5 ; 12
+ mapconst ROUTE_6_UNDERGROUND_PATH_ENTRANCE, 4, 4 ; 13
newgroup ; 13
- mapgroup ROUTE_1, 18, 10 ; 1
- mapgroup PALLET_TOWN, 9, 10 ; 2
- mapgroup REDS_HOUSE_1F, 4, 4 ; 3
- mapgroup REDS_HOUSE_2F, 4, 4 ; 4
- mapgroup BLUES_HOUSE, 4, 4 ; 5
- mapgroup OAKS_LAB, 6, 5 ; 6
+ mapconst ROUTE_1, 18, 10 ; 1
+ mapconst PALLET_TOWN, 9, 10 ; 2
+ mapconst REDS_HOUSE_1F, 4, 4 ; 3
+ mapconst REDS_HOUSE_2F, 4, 4 ; 4
+ mapconst BLUES_HOUSE, 4, 4 ; 5
+ mapconst OAKS_LAB, 6, 5 ; 6
newgroup ; 14
- mapgroup ROUTE_3, 9, 30 ; 1
- mapgroup PEWTER_CITY, 18, 20 ; 2
- mapgroup PEWTER_NIDORAN_SPEECH_HOUSE, 4, 4 ; 3
- mapgroup PEWTER_GYM, 7, 5 ; 4
- mapgroup PEWTER_MART, 4, 6 ; 5
- mapgroup PEWTER_POKECENTER_1F, 4, 5 ; 6
- mapgroup PEWTER_POKECENTER_2F_BETA, 4, 8 ; 7
- mapgroup PEWTER_SNOOZE_SPEECH_HOUSE, 4, 4 ; 8
+ mapconst ROUTE_3, 9, 30 ; 1
+ mapconst PEWTER_CITY, 18, 20 ; 2
+ mapconst PEWTER_NIDORAN_SPEECH_HOUSE, 4, 4 ; 3
+ mapconst PEWTER_GYM, 7, 5 ; 4
+ mapconst PEWTER_MART, 4, 6 ; 5
+ mapconst PEWTER_POKECENTER_1F, 4, 5 ; 6
+ mapconst PEWTER_POKECENTER_2F_BETA, 4, 8 ; 7
+ mapconst PEWTER_SNOOZE_SPEECH_HOUSE, 4, 4 ; 8
newgroup ; 15
- mapgroup OLIVINE_PORT, 18, 10 ; 1
- mapgroup VERMILION_PORT, 18, 10 ; 2
- mapgroup FAST_SHIP_1F, 9, 16 ; 3
- mapgroup FAST_SHIP_CABINS_NNW_NNE_NE, 16, 4 ; 4
- mapgroup FAST_SHIP_CABINS_SW_SSW_NW, 16, 4 ; 5
- mapgroup FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN, 17, 5 ; 6
- mapgroup FAST_SHIP_B1F, 8, 16 ; 7
- mapgroup OLIVINE_PORT_PASSAGE, 9, 10 ; 8
- mapgroup VERMILION_PORT_PASSAGE, 9, 10 ; 9
- mapgroup MOUNT_MOON_SQUARE, 9, 15 ; 10
- mapgroup MOUNT_MOON_GIFT_SHOP, 4, 4 ; 11
- mapgroup TIN_TOWER_ROOF, 9, 10 ; 12
+ mapconst OLIVINE_PORT, 18, 10 ; 1
+ mapconst VERMILION_PORT, 18, 10 ; 2
+ mapconst FAST_SHIP_1F, 9, 16 ; 3
+ mapconst FAST_SHIP_CABINS_NNW_NNE_NE, 16, 4 ; 4
+ mapconst FAST_SHIP_CABINS_SW_SSW_NW, 16, 4 ; 5
+ mapconst FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN, 17, 5 ; 6
+ mapconst FAST_SHIP_B1F, 8, 16 ; 7
+ mapconst OLIVINE_PORT_PASSAGE, 9, 10 ; 8
+ mapconst VERMILION_PORT_PASSAGE, 9, 10 ; 9
+ mapconst MOUNT_MOON_SQUARE, 9, 15 ; 10
+ mapconst MOUNT_MOON_GIFT_SHOP, 4, 4 ; 11
+ mapconst TIN_TOWER_ROOF, 9, 10 ; 12
newgroup ; 16
- mapgroup ROUTE_23, 9, 10 ; 1
- mapgroup INDIGO_PLATEAU_POKECENTER_1F, 7, 9 ; 2
- mapgroup WILLS_ROOM, 9, 5 ; 3
- mapgroup KOGAS_ROOM, 9, 5 ; 4
- mapgroup BRUNOS_ROOM, 9, 5 ; 5
- mapgroup KARENS_ROOM, 9, 5 ; 6
- mapgroup LANCES_ROOM, 12, 5 ; 7
- mapgroup HALL_OF_FAME, 7, 5 ; 8
+ mapconst ROUTE_23, 9, 10 ; 1
+ mapconst INDIGO_PLATEAU_POKECENTER_1F, 7, 9 ; 2
+ mapconst WILLS_ROOM, 9, 5 ; 3
+ mapconst KOGAS_ROOM, 9, 5 ; 4
+ mapconst BRUNOS_ROOM, 9, 5 ; 5
+ mapconst KARENS_ROOM, 9, 5 ; 6
+ mapconst LANCES_ROOM, 12, 5 ; 7
+ mapconst HALL_OF_FAME, 7, 5 ; 8
newgroup ; 17
- mapgroup ROUTE_13, 9, 30 ; 1
- mapgroup ROUTE_14, 18, 10 ; 2
- mapgroup ROUTE_15, 9, 20 ; 3
- mapgroup ROUTE_18, 9, 10 ; 4
- mapgroup FUCHSIA_CITY, 18, 20 ; 5
- mapgroup FUCHSIA_MART, 4, 6 ; 6
- mapgroup SAFARI_ZONE_MAIN_OFFICE, 4, 4 ; 7
- mapgroup FUCHSIA_GYM, 9, 5 ; 8
- mapgroup FUCHSIA_BILL_SPEECH_HOUSE, 4, 4 ; 9
- mapgroup FUCHSIA_POKECENTER_1F, 4, 5 ; 10
- mapgroup FUCHSIA_POKECENTER_2F_BETA, 4, 8 ; 11
- mapgroup SAFARI_ZONE_WARDENS_HOME, 4, 5 ; 12
- mapgroup ROUTE_15_FUCHSIA_GATE, 4, 5 ; 13
+ mapconst ROUTE_13, 9, 30 ; 1
+ mapconst ROUTE_14, 18, 10 ; 2
+ mapconst ROUTE_15, 9, 20 ; 3
+ mapconst ROUTE_18, 9, 10 ; 4
+ mapconst FUCHSIA_CITY, 18, 20 ; 5
+ mapconst FUCHSIA_MART, 4, 6 ; 6
+ mapconst SAFARI_ZONE_MAIN_OFFICE, 4, 4 ; 7
+ mapconst FUCHSIA_GYM, 9, 5 ; 8
+ mapconst FUCHSIA_BILL_SPEECH_HOUSE, 4, 4 ; 9
+ mapconst FUCHSIA_POKECENTER_1F, 4, 5 ; 10
+ mapconst FUCHSIA_POKECENTER_2F_BETA, 4, 8 ; 11
+ mapconst SAFARI_ZONE_WARDENS_HOME, 4, 5 ; 12
+ mapconst ROUTE_15_FUCHSIA_GATE, 4, 5 ; 13
newgroup ; 18
- mapgroup ROUTE_8, 9, 20 ; 1
- mapgroup ROUTE_12, 27, 10 ; 2
- mapgroup ROUTE_10_SOUTH, 9, 10 ; 3
- mapgroup LAVENDER_TOWN, 9, 10 ; 4
- mapgroup LAVENDER_POKECENTER_1F, 4, 5 ; 5
- mapgroup LAVENDER_POKECENTER_2F_BETA, 4, 8 ; 6
- mapgroup MR_FUJIS_HOUSE, 4, 5 ; 7
- mapgroup LAVENDER_TOWN_SPEECH_HOUSE, 4, 4 ; 8
- mapgroup LAVENDER_NAME_RATER, 4, 4 ; 9
- mapgroup LAVENDER_MART, 4, 6 ; 10
- mapgroup SOUL_HOUSE, 4, 5 ; 11
- mapgroup LAV_RADIO_TOWER_1F, 4, 10 ; 12
- mapgroup ROUTE_8_SAFFRON_GATE, 4, 5 ; 13
- mapgroup ROUTE_12_SUPER_ROD_HOUSE, 4, 4 ; 14
+ mapconst ROUTE_8, 9, 20 ; 1
+ mapconst ROUTE_12, 27, 10 ; 2
+ mapconst ROUTE_10_SOUTH, 9, 10 ; 3
+ mapconst LAVENDER_TOWN, 9, 10 ; 4
+ mapconst LAVENDER_POKECENTER_1F, 4, 5 ; 5
+ mapconst LAVENDER_POKECENTER_2F_BETA, 4, 8 ; 6
+ mapconst MR_FUJIS_HOUSE, 4, 5 ; 7
+ mapconst LAVENDER_SPEECH_HOUSE, 4, 4 ; 8
+ mapconst LAVENDER_NAME_RATER, 4, 4 ; 9
+ mapconst LAVENDER_MART, 4, 6 ; 10
+ mapconst SOUL_HOUSE, 4, 5 ; 11
+ mapconst LAV_RADIO_TOWER_1F, 4, 10 ; 12
+ mapconst ROUTE_8_SAFFRON_GATE, 4, 5 ; 13
+ mapconst ROUTE_12_SUPER_ROD_HOUSE, 4, 4 ; 14
newgroup ; 19
- mapgroup ROUTE_28, 9, 20 ; 1
- mapgroup SILVER_CAVE_OUTSIDE, 18, 20 ; 2
- mapgroup SILVER_CAVE_POKECENTER_1F, 4, 5 ; 3
- mapgroup ROUTE_28_FAMOUS_SPEECH_HOUSE, 4, 4 ; 4
+ mapconst ROUTE_28, 9, 20 ; 1
+ mapconst SILVER_CAVE_OUTSIDE, 18, 20 ; 2
+ mapconst SILVER_CAVE_POKECENTER_1F, 4, 5 ; 3
+ mapconst ROUTE_28_FAMOUS_SPEECH_HOUSE, 4, 4 ; 4
newgroup ; 20
- mapgroup POKECENTER_2F, 4, 8 ; 1
- mapgroup TRADE_CENTER, 4, 5 ; 2
- mapgroup COLOSSEUM, 4, 5 ; 3
- mapgroup TIME_CAPSULE, 4, 5 ; 4
- mapgroup MOBILE_TRADE_ROOM_MOBILE, 4, 5 ; 5
- mapgroup MOBILE_BATTLE_ROOM, 4, 5 ; 6
+ mapconst POKECENTER_2F, 4, 8 ; 1
+ mapconst TRADE_CENTER, 4, 5 ; 2
+ mapconst COLOSSEUM, 4, 5 ; 3
+ mapconst TIME_CAPSULE, 4, 5 ; 4
+ mapconst MOBILE_TRADE_ROOM_MOBILE, 4, 5 ; 5
+ mapconst MOBILE_BATTLE_ROOM, 4, 5 ; 6
newgroup ; 21
- mapgroup ROUTE_7, 9, 10 ; 1
- mapgroup ROUTE_16, 9, 10 ; 2
- mapgroup ROUTE_17, 45, 10 ; 3
- mapgroup CELADON_CITY, 18, 20 ; 4
- mapgroup CELADON_DEPT_STORE_1F, 4, 8 ; 5
- mapgroup CELADON_DEPT_STORE_2F, 4, 8 ; 6
- mapgroup CELADON_DEPT_STORE_3F, 4, 8 ; 7
- mapgroup CELADON_DEPT_STORE_4F, 4, 8 ; 8
- mapgroup CELADON_DEPT_STORE_5F, 4, 8 ; 9
- mapgroup CELADON_DEPT_STORE_6F, 4, 8 ; 10
- mapgroup CELADON_DEPT_STORE_ELEVATOR, 2, 2 ; 11
- mapgroup CELADON_MANSION_1F, 5, 4 ; 12
- mapgroup CELADON_MANSION_2F, 5, 4 ; 13
- mapgroup CELADON_MANSION_3F, 5, 4 ; 14
- mapgroup CELADON_MANSION_ROOF, 5, 4 ; 15
- mapgroup CELADON_MANSION_ROOF_HOUSE, 4, 4 ; 16
- mapgroup CELADON_POKECENTER_1F, 4, 5 ; 17
- mapgroup CELADON_POKECENTER_2F_BETA, 4, 8 ; 18
- mapgroup CELADON_GAME_CORNER, 7, 10 ; 19
- mapgroup CELADON_GAME_CORNER_PRIZE_ROOM, 3, 3 ; 20
- mapgroup CELADON_GYM, 9, 5 ; 21
- mapgroup CELADON_CAFE, 4, 6 ; 22
- mapgroup ROUTE_16_FUCHSIA_SPEECH_HOUSE, 4, 4 ; 23
- mapgroup ROUTE_16_GATE, 4, 5 ; 24
- mapgroup ROUTE_7_SAFFRON_GATE, 4, 5 ; 25
- mapgroup ROUTE_17_18_GATE, 4, 5 ; 26
+ mapconst ROUTE_7, 9, 10 ; 1
+ mapconst ROUTE_16, 9, 10 ; 2
+ mapconst ROUTE_17, 45, 10 ; 3
+ mapconst CELADON_CITY, 18, 20 ; 4
+ mapconst CELADON_DEPT_STORE_1F, 4, 8 ; 5
+ mapconst CELADON_DEPT_STORE_2F, 4, 8 ; 6
+ mapconst CELADON_DEPT_STORE_3F, 4, 8 ; 7
+ mapconst CELADON_DEPT_STORE_4F, 4, 8 ; 8
+ mapconst CELADON_DEPT_STORE_5F, 4, 8 ; 9
+ mapconst CELADON_DEPT_STORE_6F, 4, 8 ; 10
+ mapconst CELADON_DEPT_STORE_ELEVATOR, 2, 2 ; 11
+ mapconst CELADON_MANSION_1F, 5, 4 ; 12
+ mapconst CELADON_MANSION_2F, 5, 4 ; 13
+ mapconst CELADON_MANSION_3F, 5, 4 ; 14
+ mapconst CELADON_MANSION_ROOF, 5, 4 ; 15
+ mapconst CELADON_MANSION_ROOF_HOUSE, 4, 4 ; 16
+ mapconst CELADON_POKECENTER_1F, 4, 5 ; 17
+ mapconst CELADON_POKECENTER_2F_BETA, 4, 8 ; 18
+ mapconst CELADON_GAME_CORNER, 7, 10 ; 19
+ mapconst CELADON_GAME_CORNER_PRIZE_ROOM, 3, 3 ; 20
+ mapconst CELADON_GYM, 9, 5 ; 21
+ mapconst CELADON_CAFE, 4, 6 ; 22
+ mapconst ROUTE_16_FUCHSIA_SPEECH_HOUSE, 4, 4 ; 23
+ mapconst ROUTE_16_GATE, 4, 5 ; 24
+ mapconst ROUTE_7_SAFFRON_GATE, 4, 5 ; 25
+ mapconst ROUTE_17_ROUTE_18_GATE, 4, 5 ; 26
newgroup ; 22
- mapgroup ROUTE_40, 18, 10 ; 1
- mapgroup ROUTE_41, 27, 25 ; 2
- mapgroup CIANWOOD_CITY, 27, 15 ; 3
- mapgroup MANIAS_HOUSE, 4, 4 ; 4
- mapgroup CIANWOOD_GYM, 9, 5 ; 5
- mapgroup CIANWOOD_POKECENTER_1F, 4, 5 ; 6
- mapgroup CIANWOOD_PHARMACY, 4, 4 ; 7
- mapgroup CIANWOOD_CITY_PHOTO_STUDIO, 4, 4 ; 8
- mapgroup CIANWOOD_LUGIA_SPEECH_HOUSE, 4, 4 ; 9
- mapgroup POKE_SEERS_HOUSE, 4, 4 ; 10
- mapgroup BATTLE_TOWER_1F, 5, 8 ; 11
- mapgroup BATTLE_TOWER_BATTLE_ROOM, 4, 4 ; 12
- mapgroup BATTLE_TOWER_ELEVATOR, 2, 2 ; 13
- mapgroup BATTLE_TOWER_HALLWAY, 2, 11 ; 14
- mapgroup ROUTE_40_BATTLE_TOWER_GATE, 4, 5 ; 15
- mapgroup BATTLE_TOWER_OUTSIDE, 14, 10 ; 16
+ mapconst ROUTE_40, 18, 10 ; 1
+ mapconst ROUTE_41, 27, 25 ; 2
+ mapconst CIANWOOD_CITY, 27, 15 ; 3
+ mapconst MANIAS_HOUSE, 4, 4 ; 4
+ mapconst CIANWOOD_GYM, 9, 5 ; 5
+ mapconst CIANWOOD_POKECENTER_1F, 4, 5 ; 6
+ mapconst CIANWOOD_PHARMACY, 4, 4 ; 7
+ mapconst CIANWOOD_PHOTO_STUDIO, 4, 4 ; 8
+ mapconst CIANWOOD_LUGIA_SPEECH_HOUSE, 4, 4 ; 9
+ mapconst POKE_SEERS_HOUSE, 4, 4 ; 10
+ mapconst BATTLE_TOWER_1F, 5, 8 ; 11
+ mapconst BATTLE_TOWER_BATTLE_ROOM, 4, 4 ; 12
+ mapconst BATTLE_TOWER_ELEVATOR, 2, 2 ; 13
+ mapconst BATTLE_TOWER_HALLWAY, 2, 11 ; 14
+ mapconst ROUTE_40_BATTLE_TOWER_GATE, 4, 5 ; 15
+ mapconst BATTLE_TOWER_OUTSIDE, 14, 10 ; 16
newgroup ; 23
- mapgroup ROUTE_2, 27, 10 ; 1
- mapgroup ROUTE_22, 9, 20 ; 2
- mapgroup VIRIDIAN_CITY, 18, 20 ; 3
- mapgroup VIRIDIAN_GYM, 9, 5 ; 4
- mapgroup VIRIDIAN_NICKNAME_SPEECH_HOUSE, 4, 4 ; 5
- mapgroup TRAINER_HOUSE_1F, 7, 5 ; 6
- mapgroup TRAINER_HOUSE_B1F, 8, 5 ; 7
- mapgroup VIRIDIAN_MART, 4, 6 ; 8
- mapgroup VIRIDIAN_POKECENTER_1F, 4, 5 ; 9
- mapgroup VIRIDIAN_POKECENTER_2F_BETA, 4, 8 ; 10
- mapgroup ROUTE_2_NUGGET_SPEECH_HOUSE, 4, 4 ; 11
- mapgroup ROUTE_2_GATE, 4, 5 ; 12
- mapgroup VICTORY_ROAD_GATE, 9, 10 ; 13
+ mapconst ROUTE_2, 27, 10 ; 1
+ mapconst ROUTE_22, 9, 20 ; 2
+ mapconst VIRIDIAN_CITY, 18, 20 ; 3
+ mapconst VIRIDIAN_GYM, 9, 5 ; 4
+ mapconst VIRIDIAN_NICKNAME_SPEECH_HOUSE, 4, 4 ; 5
+ mapconst TRAINER_HOUSE_1F, 7, 5 ; 6
+ mapconst TRAINER_HOUSE_B1F, 8, 5 ; 7
+ mapconst VIRIDIAN_MART, 4, 6 ; 8
+ mapconst VIRIDIAN_POKECENTER_1F, 4, 5 ; 9
+ mapconst VIRIDIAN_POKECENTER_2F_BETA, 4, 8 ; 10
+ mapconst ROUTE_2_NUGGET_SPEECH_HOUSE, 4, 4 ; 11
+ mapconst ROUTE_2_GATE, 4, 5 ; 12
+ mapconst VICTORY_ROAD_GATE, 9, 10 ; 13
newgroup ; 24
- mapgroup ROUTE_26, 54, 10 ; 1
- mapgroup ROUTE_27, 9, 40 ; 2
- mapgroup ROUTE_29, 9, 30 ; 3
- mapgroup NEW_BARK_TOWN, 9, 10 ; 4
- mapgroup ELMS_LAB, 6, 5 ; 5
- mapgroup KRISS_HOUSE_1F, 4, 5 ; 6
- mapgroup KRISS_HOUSE_2F, 3, 4 ; 7
- mapgroup KRISS_NEIGHBORS_HOUSE, 4, 4 ; 8
- mapgroup ELMS_HOUSE, 4, 4 ; 9
- mapgroup ROUTE_26_HEAL_SPEECH_HOUSE, 4, 4 ; 10
- mapgroup ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE, 4, 4 ; 11
- mapgroup ROUTE_27_SANDSTORM_HOUSE, 4, 4 ; 12
- mapgroup ROUTE_29_46_GATE, 4, 5 ; 13
+ mapconst ROUTE_26, 54, 10 ; 1
+ mapconst ROUTE_27, 9, 40 ; 2
+ mapconst ROUTE_29, 9, 30 ; 3
+ mapconst NEW_BARK_TOWN, 9, 10 ; 4
+ mapconst ELMS_LAB, 6, 5 ; 5
+ mapconst KRISS_HOUSE_1F, 4, 5 ; 6
+ mapconst KRISS_HOUSE_2F, 3, 4 ; 7
+ mapconst KRISS_NEIGHBORS_HOUSE, 4, 4 ; 8
+ mapconst ELMS_HOUSE, 4, 4 ; 9
+ mapconst ROUTE_26_HEAL_SPEECH_HOUSE, 4, 4 ; 10
+ mapconst ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE, 4, 4 ; 11
+ mapconst ROUTE_27_SANDSTORM_HOUSE, 4, 4 ; 12
+ mapconst ROUTE_29_ROUTE_46_GATE, 4, 5 ; 13
newgroup ; 25
- mapgroup ROUTE_5, 9, 10 ; 1
- mapgroup SAFFRON_CITY, 18, 20 ; 2
- mapgroup FIGHTING_DOJO, 6, 5 ; 3
- mapgroup SAFFRON_GYM, 9, 10 ; 4
- mapgroup SAFFRON_MART, 4, 6 ; 5
- mapgroup SAFFRON_POKECENTER_1F, 4, 5 ; 6
- mapgroup SAFFRON_POKECENTER_2F_BETA, 4, 8 ; 7
- mapgroup MR_PSYCHICS_HOUSE, 4, 4 ; 8
- mapgroup SAFFRON_TRAIN_STATION, 9, 10 ; 9
- mapgroup SILPH_CO_1F, 4, 8 ; 10
- mapgroup COPYCATS_HOUSE_1F, 4, 4 ; 11
- mapgroup COPYCATS_HOUSE_2F, 3, 5 ; 12
- mapgroup ROUTE_5_UNDERGROUND_PATH_ENTRANCE, 4, 4 ; 13
- mapgroup ROUTE_5_SAFFRON_CITY_GATE, 4, 5 ; 14
- mapgroup ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE, 4, 4 ; 15
+ mapconst ROUTE_5, 9, 10 ; 1
+ mapconst SAFFRON_CITY, 18, 20 ; 2
+ mapconst FIGHTING_DOJO, 6, 5 ; 3
+ mapconst SAFFRON_GYM, 9, 10 ; 4
+ mapconst SAFFRON_MART, 4, 6 ; 5
+ mapconst SAFFRON_POKECENTER_1F, 4, 5 ; 6
+ mapconst SAFFRON_POKECENTER_2F_BETA, 4, 8 ; 7
+ mapconst MR_PSYCHICS_HOUSE, 4, 4 ; 8
+ mapconst SAFFRON_MAGNET_TRAIN_STATION, 9, 10 ; 9
+ mapconst SILPH_CO_1F, 4, 8 ; 10
+ mapconst COPYCATS_HOUSE_1F, 4, 4 ; 11
+ mapconst COPYCATS_HOUSE_2F, 3, 5 ; 12
+ mapconst ROUTE_5_UNDERGROUND_PATH_ENTRANCE, 4, 4 ; 13
+ mapconst ROUTE_5_SAFFRON_GATE, 4, 5 ; 14
+ mapconst ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE, 4, 4 ; 15
newgroup ; 26
- mapgroup ROUTE_30, 27, 10 ; 1
- mapgroup ROUTE_31, 9, 20 ; 2
- mapgroup CHERRYGROVE_CITY, 9, 20 ; 3
- mapgroup CHERRYGROVE_MART, 4, 6 ; 4
- mapgroup CHERRYGROVE_POKECENTER_1F, 4, 5 ; 5
- mapgroup CHERRYGROVE_GYM_SPEECH_HOUSE, 4, 4 ; 6
- mapgroup GUIDE_GENTS_HOUSE, 4, 4 ; 7
- mapgroup CHERRYGROVE_EVOLUTION_SPEECH_HOUSE, 4, 4 ; 8
- mapgroup ROUTE_30_BERRY_SPEECH_HOUSE, 4, 4 ; 9
- mapgroup MR_POKEMONS_HOUSE, 4, 4 ; 10
- mapgroup ROUTE_31_VIOLET_GATE, 4, 5 ; 11
+ mapconst ROUTE_30, 27, 10 ; 1
+ mapconst ROUTE_31, 9, 20 ; 2
+ mapconst CHERRYGROVE_CITY, 9, 20 ; 3
+ mapconst CHERRYGROVE_MART, 4, 6 ; 4
+ mapconst CHERRYGROVE_POKECENTER_1F, 4, 5 ; 5
+ mapconst CHERRYGROVE_GYM_SPEECH_HOUSE, 4, 4 ; 6
+ mapconst GUIDE_GENTS_HOUSE, 4, 4 ; 7
+ mapconst CHERRYGROVE_EVOLUTION_SPEECH_HOUSE, 4, 4 ; 8
+ mapconst ROUTE_30_BERRY_SPEECH_HOUSE, 4, 4 ; 9
+ mapconst MR_POKEMONS_HOUSE, 4, 4 ; 10
+ mapconst ROUTE_31_VIOLET_GATE, 4, 5 ; 11
diff --git a/constants/map_data_constants.asm b/constants/map_data_constants.asm
index 5a1ec6ede..7bb9dbd70 100644
--- a/constants/map_data_constants.asm
+++ b/constants/map_data_constants.asm
@@ -3,18 +3,19 @@ MAP_N_A EQU -1
GROUP_NONE EQU 0
MAP_NONE EQU 0
-; map header struct members (see maps/map_headers.asm)
+
+; map header struct members (see data/maps/definitions.asm)
const_def
- const MAPHEADER_MAPHEADER2_BANK ; 0
- const MAPHEADER_TILESET ; 1
- const MAPHEADER_ENVIRONMENT ; 2
- const MAPHEADER_MAPHEADER2 ; 3
- const MAPHEADER_MAPHEADER2_HI ; 4
- const MAPHEADER_LOCATION ; 5
- const MAPHEADER_MUSIC ; 6
- const MAPHEADER_PALETTE ; 7
- const MAPHEADER_FISHGROUP ; 8
-NUM_MAPHEADER_ATTRIBUTES EQU const_value
+ const MAPDEF_MAPDATA_BANK ; 0
+ const MAPDEF_TILESET ; 1
+ const MAPDEF_ENVIRONMENT ; 2
+ const MAPDEF_MAPDATA ; 3
+ const MAPDEF_MAPDATA_HI ; 4
+ const MAPDEF_LOCATION ; 5
+ const MAPDEF_MUSIC ; 6
+ const MAPDEF_PALETTE ; 7
+ const MAPDEF_FISHGROUP ; 8
+NUM_MAPDEF_ATTRIBUTES EQU const_value
; map environments (wEnvironment)
const_value set 1
@@ -52,7 +53,7 @@ const_value set 1
const FISHGROUP_QWILFISH_NO_SWARM
-; connection directions
+; connection directions (see data/maps/data.asm)
const_def
const EAST_F
const WEST_F
@@ -67,6 +68,71 @@ const_value set 1
shift_const NORTH
+; SpawnPoints indexes (see data/maps/spawn_points.asm)
+const_value = -1
+ const SPAWN_N_A
+ const SPAWN_HOME
+ const SPAWN_DEBUG
+; kanto
+ const SPAWN_PALLET
+ const SPAWN_VIRIDIAN
+ const SPAWN_PEWTER
+ const SPAWN_CERULEAN
+ const SPAWN_ROCK_TUNNEL
+ const SPAWN_VERMILION
+ const SPAWN_LAVENDER
+ const SPAWN_SAFFRON
+ const SPAWN_CELADON
+ const SPAWN_FUCHSIA
+ const SPAWN_CINNABAR
+ const SPAWN_INDIGO
+; johto
+ const SPAWN_NEW_BARK
+ const SPAWN_CHERRYGROVE
+ const SPAWN_VIOLET
+ const SPAWN_UNION_CAVE
+ const SPAWN_AZALEA
+ const SPAWN_CIANWOOD
+ const SPAWN_GOLDENROD
+ const SPAWN_OLIVINE
+ const SPAWN_ECRUTEAK
+ const SPAWN_MAHOGANY
+ const SPAWN_LAKE
+ const SPAWN_BLACKTHORN
+ const SPAWN_MT_SILVER
+ const SPAWN_FAST_SHIP
+NUM_SPAWNS EQU const_value
+
+
+; outdoor sprite limits (see engine/overworld.asm)
+MAX_OUTDOOR_SPRITES EQU 23
+SPRITE_GFX_LIST_CAPACITY EQU $20
+
+
+; map_object struct members (see macros/wram.asm)
+ const_def
+ const MAPOBJECT_OBJECT_STRUCT_ID ; 0
+ const MAPOBJECT_SPRITE ; 1
+ const MAPOBJECT_Y_COORD ; 2
+ const MAPOBJECT_X_COORD ; 3
+ const MAPOBJECT_MOVEMENT ; 4
+ const MAPOBJECT_RADIUS ; 5
+ const MAPOBJECT_HOUR ; 6
+ const MAPOBJECT_TIMEOFDAY ; 7
+ const MAPOBJECT_COLOR ; 8
+ const MAPOBJECT_RANGE ; 9
+ const MAPOBJECT_SCRIPT_POINTER ; a
+ const MAPOBJECT_POINTER_HI ; b
+ const MAPOBJECT_EVENT_FLAG ; c
+ const MAPOBJECT_FLAG_HI ; d
+ const MAPOBJECT_E ; unused
+ const MAPOBJECT_F ; unused
+OBJECT_LENGTH EQU const_value
+
+MAPOBJECT_SCREEN_HEIGHT EQU 11
+MAPOBJECT_SCREEN_WIDTH EQU 12
+
+
; object_struct members (see macros/wram.asm)
const_def
const OBJECT_SPRITE ; 00
@@ -102,30 +168,9 @@ const_value set 1
const OBJECT_1E ; 1e
const OBJECT_1F ; 1f
const OBJECT_RANGE ; 20
-; 33-39 are not used
-
-; map_object struct members (see macros/wram.asm)
- const_def
- const MAPOBJECT_OBJECT_STRUCT_ID ; 0
- const MAPOBJECT_SPRITE ; 1
- const MAPOBJECT_Y_COORD ; 2
- const MAPOBJECT_X_COORD ; 3
- const MAPOBJECT_MOVEMENT ; 4
- const MAPOBJECT_RADIUS ; 5
- const MAPOBJECT_HOUR ; 6
- const MAPOBJECT_TIMEOFDAY ; 7
- const MAPOBJECT_COLOR ; 8
- const MAPOBJECT_RANGE ; 9
- const MAPOBJECT_SCRIPT_POINTER ; a
- const MAPOBJECT_POINTER_HI ; b
- const MAPOBJECT_EVENT_FLAG ; c
- const MAPOBJECT_FLAG_HI ; d
- const MAPOBJECT_E ; unused
- const MAPOBJECT_F ; unused
-OBJECT_LENGTH EQU const_value
-
-MAPOBJECT_SCREEN_HEIGHT EQU 11
-MAPOBJECT_SCREEN_WIDTH EQU 12
+ ; 21-27 are not used
+OBJECT_STRUCT_LENGTH EQU 40
+NUM_OBJECT_STRUCTS EQU 13 ; see ObjectStructs
; object_struct OBJECT_FACING values
OW_DOWN EQU DOWN << 2
@@ -138,151 +183,3 @@ INVISIBLE EQU 0
FIXED_FACING EQU 2
SLIDING EQU 3
EMOTE_OBJECT EQU 7
-
-
-; SpawnPoints indexes (see data/maps/spawn_points.asm)
-const_value = -1
- const SPAWN_N_A
- const SPAWN_HOME
- const SPAWN_DEBUG
-; kanto
- const SPAWN_PALLET
- const SPAWN_VIRIDIAN
- const SPAWN_PEWTER
- const SPAWN_CERULEAN
- const SPAWN_ROCK_TUNNEL
- const SPAWN_VERMILION
- const SPAWN_LAVENDER
- const SPAWN_SAFFRON
- const SPAWN_CELADON
- const SPAWN_FUCHSIA
- const SPAWN_CINNABAR
- const SPAWN_INDIGO
-; johto
- const SPAWN_NEW_BARK
- const SPAWN_CHERRYGROVE
- const SPAWN_VIOLET
- const SPAWN_UNION_CAVE
- const SPAWN_AZALEA
- const SPAWN_CIANWOOD
- const SPAWN_GOLDENROD
- const SPAWN_OLIVINE
- const SPAWN_ECRUTEAK
- const SPAWN_MAHOGANY
- const SPAWN_LAKE
- const SPAWN_BLACKTHORN
- const SPAWN_MT_SILVER
- const SPAWN_FAST_SHIP
-NUM_SPAWNS EQU const_value
-
-
-; TryBGEvent arguments (see engine/events.asm)
- const_def
- const BGEVENT_READ
- const BGEVENT_UP
- const BGEVENT_DOWN
- const BGEVENT_RIGHT
- const BGEVENT_LEFT
- const BGEVENT_IFSET
- const BGEVENT_IFNOTSET
- const BGEVENT_ITEM
- const BGEVENT_COPY
-
-; object_event types
-; TryObjectEvent arguments (see engine/events.asm)
- const_def
- const OBJECTTYPE_SCRIPT
- const OBJECTTYPE_ITEMBALL
- const OBJECTTYPE_TRAINER
- const OBJECTTYPE_3
- const OBJECTTYPE_4
- const OBJECTTYPE_5
- const OBJECTTYPE_6
-
-
-; Emotes indexes (see data/emotes.asm)
- const_def
- const EMOTE_SHOCK ; 0
- const EMOTE_QUESTION ; 1
- const EMOTE_HAPPY ; 2
- const EMOTE_SAD ; 3
- const EMOTE_HEART ; 4
- const EMOTE_BOLT ; 5
- const EMOTE_SLEEP ; 6
- const EMOTE_FISH ; 7
- const EMOTE_SHADOW ; 8
- const EMOTE_ROD ; 9
- const EMOTE_BOULDER_DUST ; 10
- const EMOTE_GRASS_RUSTLE ; 11
-EMOTE_MEM EQU -1
-
-; FruitTreeItems indexes (see data/items/fruit_trees.asm)
-const_value set 1
- const FRUITTREE_ROUTE_29 ; 01
- const FRUITTREE_ROUTE_30_1 ; 02
- const FRUITTREE_ROUTE_38 ; 03
- const FRUITTREE_ROUTE_46_1 ; 04
- const FRUITTREE_ROUTE_30_2 ; 05
- const FRUITTREE_ROUTE_33 ; 06
- const FRUITTREE_ROUTE_31 ; 07
- const FRUITTREE_ROUTE_43 ; 08
- const FRUITTREE_VIOLET_CITY ; 09
- const FRUITTREE_ROUTE_46_2 ; 0a
- const FRUITTREE_ROUTE_35 ; 0b
- const FRUITTREE_ROUTE_45 ; 0c
- const FRUITTREE_ROUTE_36 ; 0d
- const FRUITTREE_ROUTE_26 ; 0e
- const FRUITTREE_ROUTE_39 ; 0f
- const FRUITTREE_ROUTE_44 ; 10
- const FRUITTREE_ROUTE_37_1 ; 11
- const FRUITTREE_ROUTE_37_2 ; 12
- const FRUITTREE_ROUTE_37_3 ; 13
- const FRUITTREE_AZALEA_TOWN ; 14
- const FRUITTREE_ROUTE_42_1 ; 15
- const FRUITTREE_ROUTE_42_2 ; 16
- const FRUITTREE_ROUTE_42_3 ; 17
- const FRUITTREE_ROUTE_11 ; 18
- const FRUITTREE_ROUTE_2 ; 19
- const FRUITTREE_ROUTE_1 ; 1a
- const FRUITTREE_ROUTE_8 ; 1b
- const FRUITTREE_PEWTER_CITY_1 ; 1c
- const FRUITTREE_PEWTER_CITY_2 ; 1d
- const FRUITTREE_FUCHSIA_CITY ; 1e
-NUM_FRUIT_TREES EQU const_value +- 1
-
-
-; elevator floors
-; used by `elevfloor`
- const_def
- const FLOOR_B4F
- const FLOOR_B3F
- const FLOOR_B2F
- const FLOOR_B1F
- const FLOOR_1F
- const FLOOR_2F
- const FLOOR_3F
- const FLOOR_4F
- const FLOOR_5F
- const FLOOR_6F
- const FLOOR_7F
- const FLOOR_8F
- const FLOOR_9F
- const FLOOR_10F
- const FLOOR_11F
- const FLOOR_ROOF
-
-; command queue members
-CMDQUEUE_TYPE EQU 0
-CMDQUEUE_ADDR EQU 1
-CMDQUEUE_03 EQU 3
-CMDQUEUE_04 EQU 4
-CMDQUEUE_05 EQU 5
-CMDQUEUE_ENTRY_SIZE EQU 6
-CMDQUEUE_CAPACITY EQU 4
-
-; command queue types
-CMDQUEUE_STONETABLE EQU 2
-
-; see engine/overworld.asm
-MAX_OUTDOOR_SPRITES EQU 23
-SPRITE_GFX_LIST_CAPACITY EQU $20
diff --git a/constants/menu_constants.asm b/constants/menu_constants.asm
new file mode 100644
index 000000000..9174159ea
--- /dev/null
+++ b/constants/menu_constants.asm
@@ -0,0 +1,33 @@
+; MenuDataHeader flags
+ const_def
+ shift_const MENU_RESTORE_TILES ; Will be set if MENU_BACKUP_TILES(_2) is set.
+ shift_const MENU_UNUSED_1
+ shift_const MENU_UNUSED_2
+ shift_const MENU_NO_CLICK_SFX
+ shift_const MENU_SPRITE_ANIMS
+ shift_const MENU_UNUSED_3
+ shift_const MENU_BACKUP_TILES
+ shift_const MENU_BACKUP_TILES_2
+
+; VerticalMenu/DoNthMenu/SetUpMenu/_2DMenu MenuDataHeader2 flags
+; Per flag the comment specifies which menus actually implement it
+ const_def
+ shift_const STATICMENU_DISABLE_B ; VerticalMenu/_2DMenu
+ shift_const STATICMENU_ENABLE_SELECT ; VerticalMenu/_2DMenu
+ shift_const STATICMENU_ENABLE_LEFT_RIGHT ; DoNthMenu/SetUpMenu
+ shift_const STATICMENU_ENABLE_START ; DoNthMenu/SetUpMenu
+ shift_const STATICMENU_PLACE_TITLE ; VerticalMenu
+ shift_const STATICMENU_WRAP ; All
+ shift_const STATICMENU_NO_TOP_SPACING ; VerticalMenu/_2DMenu
+ shift_const STATICMENU_CURSOR ; VerticalMenu/_2DMenu
+
+; ScrollingMenu MenuDataHeader2 flags
+ const_def
+ shift_const SCROLLINGMENU_CALL_FUNCTION1_CANCEL
+ shift_const SCROLLINGMENU_CALL_FUNCTION3_NO_SWITCH
+ shift_const SCROLLINGMENU_ENABLE_LEFT
+ shift_const SCROLLINGMENU_ENABLE_RIGHT
+ shift_const SCROLLINGMENU_DISPLAY_ARROWS
+ shift_const SCROLLINGMENU_ENABLE_FUNCTION3
+ shift_const SCROLLINGMENU_ENABLE_START
+ shift_const SCROLLINGMENU_ENABLE_SELECT
diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm
index 6289b610c..adcaf9a49 100644
--- a/constants/misc_constants.asm
+++ b/constants/misc_constants.asm
@@ -16,6 +16,9 @@ HP_GREEN EQU 0
HP_YELLOW EQU 1
HP_RED EQU 2
+; G/S version ID: 0 = Gold, 1 = Silver (used by checkver)
+GS_VERSION EQU 0
+
; save file corruption check values
SAVE_CHECK_VALUE_1 EQU 99
SAVE_CHECK_VALUE_2 EQU 127
@@ -47,7 +50,7 @@ MONS_PER_BOX EQU 20
NUM_BOXES EQU 14
; hall of fame
-HOF_MON_LENGTH = 1 + 2 + 2 + 1 + (PKMN_NAME_LENGTH +- 1) ; species, id, dvs, level, nick
+HOF_MON_LENGTH = 1 + 2 + 2 + 1 + (MON_NAME_LENGTH +- 1) ; species, id, dvs, level, nick
HOF_LENGTH = 1 + HOF_MON_LENGTH * PARTY_LENGTH + 1 ; win count, party, terminator
NUM_HOF_TEAMS = 30
@@ -83,3 +86,10 @@ const_value = 1
; day-care
MAX_DAY_CARE_EXP EQU $500000
+
+; bug-catching contest
+BUG_CONTEST_MINUTES EQU 20
+BUG_CONTEST_SECONDS EQU 0
+BUG_CONTEST_PLAYER EQU 1
+NUM_BUG_CONTESTANTS EQU 10 ; not counting the player
+BUG_CONTESTANT_SIZE EQU 4
diff --git a/constants/music_constants.asm b/constants/music_constants.asm
index 453bf9098..83085ef0c 100644
--- a/constants/music_constants.asm
+++ b/constants/music_constants.asm
@@ -108,9 +108,13 @@
const MUSIC_BATTLE_TOWER_LOBBY ; 65
const MUSIC_MOBILE_CENTER ; 66
-; GetMapHeaderMusic picks music for this value (see home/map.asm)
+; GetMapMusic picks music for this value (see home/map.asm)
MUSIC_MAHOGANY_MART EQU $64
-; GetMapHeaderMusic picks music for this bit flag
+; ExitPokegearRadio_HandleMusic uses these values
+RESTART_MAP_MUSIC EQU $fe
+ENTER_MAP_MUSIC EQU $ff
+
+; GetMapMusic picks music for this bit flag
RADIO_TOWER_MUSIC_F EQU 7
RADIO_TOWER_MUSIC EQU 1 << RADIO_TOWER_MUSIC_F
diff --git a/constants/npctrade_constants.asm b/constants/npctrade_constants.asm
index 2da4abd64..5464e4dbb 100644
--- a/constants/npctrade_constants.asm
+++ b/constants/npctrade_constants.asm
@@ -19,3 +19,25 @@ TRADE_PADDING EQU 31
const NPCTRADE_CHRIS ; 4
const NPCTRADE_KIM ; 5
const NPCTRADE_FOREST ; 6
+
+; trade gender limits
+TRADE_EITHER_GENDER EQU 0
+TRADE_MALE_ONLY EQU 1
+TRADE_FEMALE_ONLY EQU 2
+
+; TradeTexts indexes (see engine/npctrade.asm)
+
+; trade dialogs
+ const_def
+ const TRADE_INTRO
+ const TRADE_CANCEL
+ const TRADE_WRONG
+ const TRADE_COMPLETE
+ const TRADE_AFTER
+
+; trade dialog sets
+ const_def
+ const TRADE_DIALOG_COLLECTOR
+ const TRADE_DIALOG_HAPPY
+ const TRADE_DIALOG_NEWBIE
+ const TRADE_DIALOG_GIRL
diff --git a/constants/phone_constants.asm b/constants/phone_constants.asm
index b2312ab4b..058772f2d 100644
--- a/constants/phone_constants.asm
+++ b/constants/phone_constants.asm
@@ -1,4 +1,4 @@
-; PhoneContacts indexes (see data/phone_contacts.asm)
+; PhoneContacts indexes (see data/phone/phone_contacts.asm)
const_def
const PHONE_00
const PHONE_MOM
@@ -39,7 +39,7 @@
const PHONE_PICNICKER_ERIN
const PHONE_BUENA
-; SpecialPhoneCallList indexes (see data/phone_special.asm)
+; SpecialPhoneCallList indexes (see data/phone/special_calls.asm)
const_def
const SPECIALCALL_NONE
const SPECIALCALL_POKERUS
diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm
index d52086b08..d4c49c5f5 100644
--- a/constants/pokemon_constants.asm
+++ b/constants/pokemon_constants.asm
@@ -10,14 +10,14 @@
; - PokemonPalettes (see data/pokemon/palettes.asm)
; - PokedexDataPointerTable (see data/pokemon/dex_entry_pointers.asm)
; - AlphabeticalPokedexOrder (see data/pokemon/dex_order_alpha.asm)
+; - EZChat_SortedPokemon (see data/pokemon/ezchat_order.asm)
; - NewPokedexOrder (see data/pokemon/dex_order_new.asm)
-; - Pokered_MonIndices (see data/time_capsule/mon_order.asm)
+; - Pokered_MonIndices (see data/pokemon/rby_order.asm)
; - AnimationPointers (see gfx/pokemon/anim_pointers.asm)
; - AnimationIdlePointers (see gfx/pokemon/idle_pointers.asm)
; - BitmasksPointers (see gfx/pokemon/bitmask_pointers.asm)
; - FramesPointers (see gfx/pokemon/frame_pointers.asm)
; - Footprints (see gfx/footprints.asm)
-; - SortedPokemon (see mobile/fixed_words.asm)
const_value set 1
const BULBASAUR ; 01
const IVYSAUR ; 02
@@ -170,6 +170,7 @@ const_value set 1
const DRAGONITE ; 95
const MEWTWO ; 96
const MEW ; 97
+JOHTO_POKEMON EQU const_value
const CHIKORITA ; 98
const BAYLEEF ; 99
const MEGANIUM ; 9a
diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm
index 6e8c2d322..cc9e4407b 100644
--- a/constants/pokemon_data_constants.asm
+++ b/constants/pokemon_data_constants.asm
@@ -63,6 +63,10 @@ const_value set 1
const NO_EGGS ; f
+; pokedex entries (see data/pokemon/dex_entries.asm)
+NUM_DEX_ENTRY_BANKS EQU 4
+
+
; party_struct members (see macros/wram.asm)
MON_SPECIES EQUS "(PartyMon1Species - PartyMon1)"
MON_ITEM EQUS "(PartyMon1Item - PartyMon1)"
@@ -98,6 +102,21 @@ PARTYMON_STRUCT_LENGTH EQUS "(PartyMon1StatsEnd - PartyMon1)"
REDMON_STRUCT_LENGTH EQU 44
+; caught data
+
+CAUGHT_TIME_MASK EQU %11000000
+CAUGHT_LEVEL_MASK EQU %00111111
+
+CAUGHT_GENDER_MASK EQU %10000000
+CAUGHT_LOCATION_MASK EQU %01111111
+
+CAUGHT_BY_UNKNOWN EQU 0
+CAUGHT_BY_GIRL EQU 1
+CAUGHT_BY_BOY EQU 2
+
+CAUGHT_EGG_LEVEL EQU 1
+
+
; maximum number of party pokemon
PARTY_LENGTH EQU 6
@@ -123,32 +142,6 @@ const_value set 1
const ATK_EQ_DEF
-; significant happiness values
-BASE_HAPPINESS EQU 70
-FRIEND_BALL_HAPPINESS EQU 200
-HAPPINESS_TO_EVOLVE EQU 220
-HAPPINESS_THRESHOLD_1 EQU 100
-HAPPINESS_THRESHOLD_2 EQU 200
-
-
-; wild data
-
-NUM_GRASSMON EQU 7 ; data/wild/*_grass.asm table size
-NUM_WATERMON EQU 3 ; data/wild/*_water.asm table size
-
-GRASS_WILDDATA_LENGTH EQU (NUM_GRASSMON * 2 + 1) * 3 + 2
-WATER_WILDDATA_LENGTH EQU (NUM_WATERMON * 2 + 1) * 1 + 2
-
-
-; swarms
-
-SWARM_DUNSPARCE EQU 0
-SWARM_YANMA EQU 1
-
-FISHSWARM_QWILFISH EQU 1
-FISHSWARM_REMORAID EQU 2
-
-
; PokeAnims indexes (see engine/pic_animation.asm)
const_def
const ANIM_MON_SLOW
@@ -161,6 +154,7 @@ FISHSWARM_REMORAID EQU 2
const ANIM_MON_EGG1
const ANIM_MON_EGG2
+
; MonMenuOptions indexes (see engine/mon_menu.asm)
const_value set 1
; moves
@@ -192,3 +186,57 @@ MONMENU_FIELD_MOVE EQU 0
MONMENU_MENUOPTION EQU 1
NUM_MONMENU_ITEMS EQU 8
+
+
+; treemon sets
+; TreeMons indexes (see data/wild/treemons.asm)
+ const_def
+ const TREEMON_SET_CITY
+ const TREEMON_SET_CANYON
+ const TREEMON_SET_AZALEA
+ const TREEMON_SET_ROUTE
+ const TREEMON_SET_KANTO
+ const TREEMON_SET_LAKE
+ const TREEMON_SET_FOREST
+ const TREEMON_SET_ROCK
+NUM_TREEMON_SETS EQU const_value
+
+; treemon scores
+ const_def
+ const TREEMON_SCORE_BAD ; 0
+ const TREEMON_SCORE_GOOD ; 1
+ const TREEMON_SCORE_RARE ; 2
+
+
+; wild data
+
+NUM_GRASSMON EQU 7 ; data/wild/*_grass.asm table size
+NUM_WATERMON EQU 3 ; data/wild/*_water.asm table size
+
+GRASS_WILDDATA_LENGTH EQU (NUM_GRASSMON * 2 + 1) * 3 + 2
+WATER_WILDDATA_LENGTH EQU (NUM_WATERMON * 2 + 1) * 1 + 2
+
+NUM_ROAMMON_MAPS EQU 16 ; RoamMaps table size (see data/wild/roammon_maps.asm)
+
+
+; swarms
+
+SWARM_DUNSPARCE EQU 0
+SWARM_YANMA EQU 1
+
+FISHSWARM_QWILFISH EQU 1
+FISHSWARM_REMORAID EQU 2
+
+
+; significant happiness values
+BASE_HAPPINESS EQU 70
+FRIEND_BALL_HAPPINESS EQU 200
+HAPPINESS_TO_EVOLVE EQU 220
+HAPPINESS_THRESHOLD_1 EQU 100
+HAPPINESS_THRESHOLD_2 EQU 200
+
+
+; PP
+PP_UP_MASK EQU %11000000
+PP_UP_ONE EQU %01000000
+PP_MASK EQU %00111111
diff --git a/constants/radio_constants.asm b/constants/radio_constants.asm
index 86817081e..d3f14e34c 100644
--- a/constants/radio_constants.asm
+++ b/constants/radio_constants.asm
@@ -1,123 +1,123 @@
-; PlayRadioShow arguments, RadioJumptable indexes (see engine/radio.asm)
+; radio channel ids
+; indexes for:
+; - RadioChannelSongs (see data/radio/channel_music.asm)
+; - PlayRadioShow/RadioJumptable (see engine/radio.asm)
+; - RadioChannels (see engine/radio.asm)
const_def
- const OAKS_POKEMON_TALK ; $00
- const POKEDEX_SHOW ; $01
- const POKEMON_MUSIC ; $02
- const LUCKY_CHANNEL ; $03
- const BUENAS_PASSWORD ; $04
- const PLACES_AND_PEOPLE ; $05
- const LETS_ALL_SING ; $06
- const ROCKET_RADIO ; $07
- const POKE_FLUTE_RADIO ; $08
- const UNOWN_RADIO ; $09
- const EVOLUTION_RADIO ; $0a
- const OAKS_POKEMON_TALK_2 ; $0b
- const OAKS_POKEMON_TALK_3 ; $0c
- const OAKS_POKEMON_TALK_4 ; $0d
- const OAKS_POKEMON_TALK_5 ; $0e
- const OAKS_POKEMON_TALK_6 ; $0f
- const OAKS_POKEMON_TALK_7 ; $10
- const OAKS_POKEMON_TALK_8 ; $11
- const OAKS_POKEMON_TALK_9 ; $12
- const POKEDEX_SHOW_2 ; $13
- const POKEDEX_SHOW_3 ; $14
- const POKEDEX_SHOW_4 ; $15
- const POKEDEX_SHOW_5 ; $16
- const POKEMON_MUSIC_2 ; $17
- const POKEMON_MUSIC_3 ; $18
- const POKEMON_MUSIC_4 ; $19
- const POKEMON_MUSIC_5 ; $1a
- const POKEMON_MUSIC_6 ; $1b
- const POKEMON_MUSIC_7 ; $1c
- const LETS_ALL_SING_2 ; $1d
- const LUCKY_NUMBER_SHOW_2 ; $1e
- const LUCKY_NUMBER_SHOW_3 ; $1f
- const LUCKY_NUMBER_SHOW_4 ; $20
- const LUCKY_NUMBER_SHOW_5 ; $21
- const LUCKY_NUMBER_SHOW_6 ; $22
- const LUCKY_NUMBER_SHOW_7 ; $23
- const LUCKY_NUMBER_SHOW_8 ; $24
- const LUCKY_NUMBER_SHOW_9 ; $25
- const LUCKY_NUMBER_SHOW_10 ; $26
- const LUCKY_NUMBER_SHOW_11 ; $27
- const LUCKY_NUMBER_SHOW_12 ; $28
- const LUCKY_NUMBER_SHOW_13 ; $29
- const LUCKY_NUMBER_SHOW_14 ; $2a
- const LUCKY_NUMBER_SHOW_15 ; $2b
- const PLACES_AND_PEOPLE_2 ; $2c
- const PLACES_AND_PEOPLE_3 ; $2d
- const PLACES_AND_PEOPLE_4 ; $2e
- const PLACES_AND_PEOPLE_5 ; $2f
- const PLACES_AND_PEOPLE_6 ; $30
- const PLACES_AND_PEOPLE_7 ; $31
- const ROCKET_RADIO_2 ; $32
- const ROCKET_RADIO_3 ; $33
- const ROCKET_RADIO_4 ; $34
- const ROCKET_RADIO_5 ; $35
- const ROCKET_RADIO_6 ; $36
- const ROCKET_RADIO_7 ; $37
- const ROCKET_RADIO_8 ; $38
- const ROCKET_RADIO_9 ; $39
- const ROCKET_RADIO_10 ; $3a
- const OAKS_POKEMON_TALK_10 ; $3b
- const OAKS_POKEMON_TALK_11 ; $3c
- const OAKS_POKEMON_TALK_12 ; $3d
- const OAKS_POKEMON_TALK_13 ; $3e
- const OAKS_POKEMON_TALK_14 ; $3f
- const BUENAS_PASSWORD_2 ; $40
- const BUENAS_PASSWORD_3 ; $41
- const BUENAS_PASSWORD_4 ; $42
- const BUENAS_PASSWORD_5 ; $43
- const BUENAS_PASSWORD_6 ; $44
- const BUENAS_PASSWORD_7 ; $45
- const BUENAS_PASSWORD_8 ; $46
- const BUENAS_PASSWORD_9 ; $47
- const BUENAS_PASSWORD_10 ; $48
- const BUENAS_PASSWORD_11 ; $49
- const BUENAS_PASSWORD_12 ; $4a
- const BUENAS_PASSWORD_13 ; $4b
- const BUENAS_PASSWORD_14 ; $4c
- const BUENAS_PASSWORD_15 ; $4d
- const BUENAS_PASSWORD_16 ; $4e
- const BUENAS_PASSWORD_17 ; $4f
- const BUENAS_PASSWORD_18 ; $50
- const BUENAS_PASSWORD_19 ; $51
- const BUENAS_PASSWORD_20 ; $52
- const BUENAS_PASSWORD_21 ; $53
- const RADIO_SCROLL ; $54
- const POKEDEX_SHOW_6 ; $55
- const POKEDEX_SHOW_7 ; $56
- const POKEDEX_SHOW_8 ; $57
+ const OAKS_POKEMON_TALK ; 00
+ const POKEDEX_SHOW ; 01
+ const POKEMON_MUSIC ; 02
+ const LUCKY_CHANNEL ; 03
+ const BUENAS_PASSWORD ; 04
+ const PLACES_AND_PEOPLE ; 05
+ const LETS_ALL_SING ; 06
+ const ROCKET_RADIO ; 07
+ const POKE_FLUTE_RADIO ; 08
+ const UNOWN_RADIO ; 09
+ const EVOLUTION_RADIO ; 0a
+; internal indexes for channel segments
+ const OAKS_POKEMON_TALK_2 ; 0b
+ const OAKS_POKEMON_TALK_3 ; 0c
+ const OAKS_POKEMON_TALK_4 ; 0d
+ const OAKS_POKEMON_TALK_5 ; 0e
+ const OAKS_POKEMON_TALK_6 ; 0f
+ const OAKS_POKEMON_TALK_7 ; 10
+ const OAKS_POKEMON_TALK_8 ; 11
+ const OAKS_POKEMON_TALK_9 ; 12
+ const POKEDEX_SHOW_2 ; 13
+ const POKEDEX_SHOW_3 ; 14
+ const POKEDEX_SHOW_4 ; 15
+ const POKEDEX_SHOW_5 ; 16
+ const POKEMON_MUSIC_2 ; 17
+ const POKEMON_MUSIC_3 ; 18
+ const POKEMON_MUSIC_4 ; 19
+ const POKEMON_MUSIC_5 ; 1a
+ const POKEMON_MUSIC_6 ; 1b
+ const POKEMON_MUSIC_7 ; 1c
+ const LETS_ALL_SING_2 ; 1d
+ const LUCKY_NUMBER_SHOW_2 ; 1e
+ const LUCKY_NUMBER_SHOW_3 ; 1f
+ const LUCKY_NUMBER_SHOW_4 ; 20
+ const LUCKY_NUMBER_SHOW_5 ; 21
+ const LUCKY_NUMBER_SHOW_6 ; 22
+ const LUCKY_NUMBER_SHOW_7 ; 23
+ const LUCKY_NUMBER_SHOW_8 ; 24
+ const LUCKY_NUMBER_SHOW_9 ; 25
+ const LUCKY_NUMBER_SHOW_10 ; 26
+ const LUCKY_NUMBER_SHOW_11 ; 27
+ const LUCKY_NUMBER_SHOW_12 ; 28
+ const LUCKY_NUMBER_SHOW_13 ; 29
+ const LUCKY_NUMBER_SHOW_14 ; 2a
+ const LUCKY_NUMBER_SHOW_15 ; 2b
+ const PLACES_AND_PEOPLE_2 ; 2c
+ const PLACES_AND_PEOPLE_3 ; 2d
+ const PLACES_AND_PEOPLE_4 ; 2e
+ const PLACES_AND_PEOPLE_5 ; 2f
+ const PLACES_AND_PEOPLE_6 ; 30
+ const PLACES_AND_PEOPLE_7 ; 31
+ const ROCKET_RADIO_2 ; 32
+ const ROCKET_RADIO_3 ; 33
+ const ROCKET_RADIO_4 ; 34
+ const ROCKET_RADIO_5 ; 35
+ const ROCKET_RADIO_6 ; 36
+ const ROCKET_RADIO_7 ; 37
+ const ROCKET_RADIO_8 ; 38
+ const ROCKET_RADIO_9 ; 39
+ const ROCKET_RADIO_10 ; 3a
+ const OAKS_POKEMON_TALK_10 ; 3b
+ const OAKS_POKEMON_TALK_11 ; 3c
+ const OAKS_POKEMON_TALK_12 ; 3d
+ const OAKS_POKEMON_TALK_13 ; 3e
+ const OAKS_POKEMON_TALK_14 ; 3f
+ const BUENAS_PASSWORD_2 ; 40
+ const BUENAS_PASSWORD_3 ; 41
+ const BUENAS_PASSWORD_4 ; 42
+ const BUENAS_PASSWORD_5 ; 43
+ const BUENAS_PASSWORD_6 ; 44
+ const BUENAS_PASSWORD_7 ; 45
+ const BUENAS_PASSWORD_8 ; 46
+ const BUENAS_PASSWORD_9 ; 47
+ const BUENAS_PASSWORD_10 ; 48
+ const BUENAS_PASSWORD_11 ; 49
+ const BUENAS_PASSWORD_12 ; 4a
+ const BUENAS_PASSWORD_13 ; 4b
+ const BUENAS_PASSWORD_14 ; 4c
+ const BUENAS_PASSWORD_15 ; 4d
+ const BUENAS_PASSWORD_16 ; 4e
+ const BUENAS_PASSWORD_17 ; 4f
+ const BUENAS_PASSWORD_18 ; 50
+ const BUENAS_PASSWORD_19 ; 51
+ const BUENAS_PASSWORD_20 ; 52
+ const BUENAS_PASSWORD_21 ; 53
+ const RADIO_SCROLL ; 54
+ const POKEDEX_SHOW_6 ; 55
+ const POKEDEX_SHOW_7 ; 56
+ const POKEDEX_SHOW_8 ; 57
-; PlayRadio arguments (see engine/pokegear.asm)
+; PlayRadio.StationPointers indexes (see engine/pokegear.asm)
const_def
const MAPRADIO_POKEMON_CHANNEL
const MAPRADIO_OAKS_MON_TALK
const MAPRADIO_POKEDEX_SHOW
- const MAPRADIO_PKMN_MUSIC
+ const MAPRADIO_POKEMON_MUSIC
const MAPRADIO_LUCKY_CHANNEL
const MAPRADIO_UNOWN
const MAPRADIO_PLACES_PEOPLE
const MAPRADIO_LETS_ALL_SING
const MAPRADIO_ROCKET
-; PasswordTable indexes (see engine/radio.asm)
- const_def
- const BUENA_STARTERS
- const BUENA_DRINKS
- const BUENA_ITEMS
- const BUENA_BALLS
- const BUENA_MON1
- const BUENA_MON2
- const BUENA_TOWNS
- const BUENA_TYPES
- const BUENA_MOVES
- const BUENA_XITEMS
- const BUENA_STATIONS
-NUM_PASSWORD_CATEGORIES EQU const_value
-NUM_PASSWORDS_PER_CATEGORY EQU 3
+; These tables in engine/radio.asm are all sized to a power of 2
+; so there's no need for a rejection sampling loop
+NUM_OAKS_MON_TALK_ADVERBS EQU 16 ; OaksPkmnTalk8.Adverbs
+NUM_OAKS_MON_TALK_ADJECTIVES EQU 16 ; OaksPkmnTalk9.Adjectives
+NUM_PNP_PEOPLE_ADJECTIVES EQU 16 ; PeoplePlaces5.Adjectives
+NUM_PNP_PLACES_ADJECTIVES EQU 16 ; PeoplePlaces7.Adjectives
+
+; BuenasPasswordTable sizes (see data/radio/buenas_passwords.asm)
+NUM_PASSWORD_CATEGORIES EQU 11
+NUM_PASSWORDS_PER_CATEGORY EQU 3
-; PasswordTable string types (see engine/radio.asm)
+; GetBuenasPassword.StringFunctionJumpTable indexes (see engine/radio.asm)
const_def
const BUENA_MON
const BUENA_ITEM
diff --git a/constants/scgb_constants.asm b/constants/scgb_constants.asm
new file mode 100755
index 000000000..e31a2139f
--- /dev/null
+++ b/constants/scgb_constants.asm
@@ -0,0 +1,150 @@
+; GetSGBLayout arguments (see engine/cgb_layouts.asm and engine/sgb_layouts.asm)
+ const_def
+ const SCGB_BATTLE_GRAYSCALE
+ const SCGB_BATTLE_COLORS
+ const SCGB_POKEGEAR_PALS
+ const SCGB_STATS_SCREEN_HP_PALS
+ const SCGB_POKEDEX
+ const SCGB_SLOT_MACHINE
+ const SCGB_06
+ const SCGB_GS_INTRO
+ const SCGB_DIPLOMA
+ const SCGB_MAPPALS
+ const SCGB_PARTY_MENU
+ const SCGB_EVOLUTION
+ const SCGB_GS_TITLE_SCREEN
+ const SCGB_0D
+ const SCGB_MOVE_LIST
+ const SCGB_0F
+ const SCGB_POKEDEX_SEARCH_OPTION
+ const SCGB_11
+ const SCGB_POKEPIC
+ const SCGB_13
+ const SCGB_PACKPALS
+ const SCGB_TRAINER_CARD
+ const SCGB_POKEDEX_UNOWN_MODE
+ const SCGB_BILLS_PC
+ const SCGB_UNOWN_PUZZLE
+ const SCGB_GAMEFREAK_LOGO
+ const SCGB_PLAYER_OR_MON_FRONTPIC_PALS
+ const SCGB_TRADE_TUBE
+ const SCGB_TRAINER_OR_MON_FRONTPIC_PALS
+ const SCGB_MYSTERY_GIFT
+ const SCGB_1E
+
+SCGB_PARTY_MENU_HP_PALS EQU -4
+SCGB_RAM EQU -1
+
+; PredefPals indexes (see gfx/sgb/predef.pal)
+; GetPredefPal arguments (see engine/color.asm)
+ const_def
+ const PREDEFPAL_00
+ const PREDEFPAL_PALLET
+ const PREDEFPAL_VIRIDIAN
+ const PREDEFPAL_PEWTER
+ const PREDEFPAL_CERULEAN
+ const PREDEFPAL_LAVENDER
+ const PREDEFPAL_VERMILION
+ const PREDEFPAL_CELADON
+ const PREDEFPAL_FUCHSIA
+ const PREDEFPAL_CINNABAR
+ const PREDEFPAL_SAFFRON
+ const PREDEFPAL_INDIGO
+ const PREDEFPAL_NEW_BARK
+ const PREDEFPAL_CHERRYGROVE
+ const PREDEFPAL_VIOLET
+ const PREDEFPAL_AZALEA
+ const PREDEFPAL_GOLDENROD
+ const PREDEFPAL_ECRUTEAK
+ const PREDEFPAL_OLIVINE
+ const PREDEFPAL_CIANWOOD
+ const PREDEFPAL_MAHOGANY
+ const PREDEFPAL_BLACKTHORN
+ const PREDEFPAL_LAKE_OF_RAGE
+ const PREDEFPAL_SILVER_CAVE
+ const PREDEFPAL_DUNGEONS
+ const PREDEFPAL_NITE
+ const PREDEFPAL_BLACKOUT
+ const PREDEFPAL_DIPLOMA ; RB_MEWMON
+ const PREDEFPAL_TRADE_TUBE ; RB_BLUEMON
+ const PREDEFPAL_POKEDEX ; RB_REDMON
+ const PREDEFPAL_RB_CYANMON
+ const PREDEFPAL_RB_PURPLEMON
+ const PREDEFPAL_RB_BROWNMON
+ const PREDEFPAL_RB_GREENMON
+ const PREDEFPAL_RB_PINKMON
+ const PREDEFPAL_RB_YELLOWMON
+ const PREDEFPAL_CGB_BADGE ; RB_GREYMON
+ const PREDEFPAL_MEWMON_NITE
+ const PREDEFPAL_BLUEMON_NITE
+ const PREDEFPAL_REDMON_NITE
+ const PREDEFPAL_CYANMON_NITE
+ const PREDEFPAL_PURPLEMON_NITE
+ const PREDEFPAL_BROWNMON_NITE
+ const PREDEFPAL_GREENMON_NITE
+ const PREDEFPAL_PINKMON_NITE
+ const PREDEFPAL_YELLOWMON_NITE
+ const PREDEFPAL_PARTY_ICON ; GREYMON_NITE
+ const PREDEFPAL_HP_GREEN
+ const PREDEFPAL_HP_YELLOW
+ const PREDEFPAL_HP_RED
+ const PREDEFPAL_POKEGEAR
+ const PREDEFPAL_33
+ const PREDEFPAL_34
+ const PREDEFPAL_GS_INTRO_GAMEFREAK_LOGO
+ const PREDEFPAL_GS_INTRO_SHELLDER_LAPRAS
+ const PREDEFPAL_37
+ const PREDEFPAL_GS_INTRO_JIGGLYPUFF_PIKACHU_BG
+ const PREDEFPAL_GS_INTRO_JIGGLYPUFF_PIKACHU_OB
+ const PREDEFPAL_GS_INTRO_STARTERS_TRANSITION
+ const PREDEFPAL_3B
+ const PREDEFPAL_PACK ; GS_INTRO_CHARIZARD
+ const PREDEFPAL_SLOT_MACHINE_0
+ const PREDEFPAL_SLOT_MACHINE_1
+ const PREDEFPAL_SLOT_MACHINE_2
+ const PREDEFPAL_SLOT_MACHINE_3
+ const PREDEFPAL_SCGB_11_0
+ const PREDEFPAL_SCGB_11_1
+ const PREDEFPAL_SCGB_11_2
+ const PREDEFPAL_SCGB_11_3
+ const PREDEFPAL_45
+ const PREDEFPAL_46
+ const PREDEFPAL_47
+ const PREDEFPAL_GS_TITLE_SCREEN_0
+ const PREDEFPAL_GS_TITLE_SCREEN_1
+ const PREDEFPAL_GS_TITLE_SCREEN_2
+ const PREDEFPAL_GS_TITLE_SCREEN_3
+ const PREDEFPAL_UNOWN_PUZZLE
+ const PREDEFPAL_4D
+ const PREDEFPAL_GAMEFREAK_LOGO
+
+; SGB system command codes
+; http://gbdev.gg8.se/wiki/articles/SGB_Functions#SGB_System_Command_Table
+ const_def
+ const SGB_PAL01
+ const SGB_PAL23
+ const SGB_PAL03
+ const SGB_PAL12
+ const SGB_ATTR_BLK
+ const SGB_ATTR_LIN
+ const SGB_ATTR_DIV
+ const SGB_ATTR_CHR
+ const SGB_SOUND
+ const SGB_SOU_TRN
+ const SGB_PAL_SET
+ const SGB_PAL_TRN
+ const SGB_ATRC_EN
+ const SGB_TEST_EN
+ const SGB_ICON_EN
+ const SGB_DATA_SND
+ const SGB_DATA_TRN
+ const SGB_MLT_REG
+ const SGB_JUMP
+ const SGB_CHR_TRN
+ const SGB_PCT_TRN
+ const SGB_ATTR_TRN
+ const SGB_ATTR_SET
+ const SGB_MASK_EN
+ const SGB_OBJ_TRN
+
+PALPACKET_LENGTH EQU $10
diff --git a/constants/script_constants.asm b/constants/script_constants.asm
index 9f7dae6d2..fd5affce6 100644
--- a/constants/script_constants.asm
+++ b/constants/script_constants.asm
@@ -2,7 +2,43 @@
PLAYER EQU 0
LAST_TALKED EQU -2
-; GetVarAction arguments (see engine/variables.asm)
+
+; memory constants
+ const_def
+ const MEM_BUFFER_0 ; use StringBuffer3
+ const MEM_BUFFER_1 ; use StringBuffer4
+ const MEM_BUFFER_2 ; use StringBuffer5
+NUM_MEM_BUFFERS EQU const_value
+
+
+; checkmoney/takemoney accounts
+ const_def
+ const YOUR_MONEY ; 0
+ const MOMS_MONEY ; 1
+
+; checkmoney/checkcoins return values
+ const_def
+ const HAVE_MORE ; 0
+ const HAVE_AMOUNT ; 1
+ const HAVE_LESS ; 2
+
+; checkpokeitem return values
+ const_def
+ const POKEMAIL_WRONG_MAIL ; 0
+ const POKEMAIL_CORRECT ; 1
+ const POKEMAIL_REFUSED ; 2
+ const POKEMAIL_NO_MAIL ; 3
+ const POKEMAIL_LAST_MON ; 4
+
+; askforphonenumber return values
+ const_def
+ const PHONE_CONTACT_GOT ; 0
+ const PHONE_CONTACTS_FULL ; 1
+ const PHONE_CONTACT_REFUSED ; 2
+
+
+; writecode/checkcode arguments
+; _GetVarAction.VarActionTable indexes (see engine/variables.asm)
const_def
const VAR_STRINGBUFFER2 ; 00
const VAR_PARTYCOUNT ; 01
@@ -38,6 +74,7 @@ RETVAR_STRBUF2 EQU (0 << 6)
RETVAR_ADDR_DE EQU (1 << 6)
RETVAR_EXECUTE EQU (2 << 6)
+
; PlayerEventScriptPointers indexes (see engine/events.asm)
const_value set -1
const PLAYEREVENT_MAPSCRIPT
@@ -52,3 +89,183 @@ const_value set -1
const PLAYEREVENT_HATCH
const PLAYEREVENT_JOYCHANGEFACING
NUM_PLAYER_EVENTS EQU const_value
+
+
+; TryBGEvent arguments (see engine/events.asm)
+ const_def
+ const BGEVENT_READ
+ const BGEVENT_UP
+ const BGEVENT_DOWN
+ const BGEVENT_RIGHT
+ const BGEVENT_LEFT
+ const BGEVENT_IFSET
+ const BGEVENT_IFNOTSET
+ const BGEVENT_ITEM
+ const BGEVENT_COPY
+
+; object_event types
+; TryObjectEvent arguments (see engine/events.asm)
+ const_def
+ const OBJECTTYPE_SCRIPT
+ const OBJECTTYPE_ITEMBALL
+ const OBJECTTYPE_TRAINER
+ const OBJECTTYPE_3
+ const OBJECTTYPE_4
+ const OBJECTTYPE_5
+ const OBJECTTYPE_6
+
+
+; showemote arguments
+; Emotes indexes (see data/sprites/emotes.asm)
+ const_def
+ const EMOTE_SHOCK ; 0
+ const EMOTE_QUESTION ; 1
+ const EMOTE_HAPPY ; 2
+ const EMOTE_SAD ; 3
+ const EMOTE_HEART ; 4
+ const EMOTE_BOLT ; 5
+ const EMOTE_SLEEP ; 6
+ const EMOTE_FISH ; 7
+ const EMOTE_SHADOW ; 8
+ const EMOTE_ROD ; 9
+ const EMOTE_BOULDER_DUST ; 10
+ const EMOTE_GRASS_RUSTLE ; 11
+EMOTE_MEM EQU -1
+
+
+; fruittree arguments
+; FruitTreeItems indexes (see data/items/fruit_trees.asm)
+const_value set 1
+ const FRUITTREE_ROUTE_29 ; 01
+ const FRUITTREE_ROUTE_30_1 ; 02
+ const FRUITTREE_ROUTE_38 ; 03
+ const FRUITTREE_ROUTE_46_1 ; 04
+ const FRUITTREE_ROUTE_30_2 ; 05
+ const FRUITTREE_ROUTE_33 ; 06
+ const FRUITTREE_ROUTE_31 ; 07
+ const FRUITTREE_ROUTE_43 ; 08
+ const FRUITTREE_VIOLET_CITY ; 09
+ const FRUITTREE_ROUTE_46_2 ; 0a
+ const FRUITTREE_ROUTE_35 ; 0b
+ const FRUITTREE_ROUTE_45 ; 0c
+ const FRUITTREE_ROUTE_36 ; 0d
+ const FRUITTREE_ROUTE_26 ; 0e
+ const FRUITTREE_ROUTE_39 ; 0f
+ const FRUITTREE_ROUTE_44 ; 10
+ const FRUITTREE_ROUTE_37_1 ; 11
+ const FRUITTREE_ROUTE_37_2 ; 12
+ const FRUITTREE_ROUTE_37_3 ; 13
+ const FRUITTREE_AZALEA_TOWN ; 14
+ const FRUITTREE_ROUTE_42_1 ; 15
+ const FRUITTREE_ROUTE_42_2 ; 16
+ const FRUITTREE_ROUTE_42_3 ; 17
+ const FRUITTREE_ROUTE_11 ; 18
+ const FRUITTREE_ROUTE_2 ; 19
+ const FRUITTREE_ROUTE_1 ; 1a
+ const FRUITTREE_ROUTE_8 ; 1b
+ const FRUITTREE_PEWTER_CITY_1 ; 1c
+ const FRUITTREE_PEWTER_CITY_2 ; 1d
+ const FRUITTREE_FUCHSIA_CITY ; 1e
+NUM_FRUIT_TREES EQU const_value +- 1
+
+
+; describedecoration arguments
+; DescribeDecoration.JumpTable indexes (see engine/decorations.asm)
+ const_def
+ const DECODESC_POSTER ; 0
+ const DECODESC_LEFT_DOLL ; 1
+ const DECODESC_RIGHT_DOLL ; 2
+ const DECODESC_BIG_DOLL ; 3
+ const DECODESC_CONSOLE ; 4
+
+
+; elevfloor macro values
+; ElevatorFloorNames indexes (see data/elevator_floors.asm)
+ const_def
+ const FLOOR_B4F
+ const FLOOR_B3F
+ const FLOOR_B2F
+ const FLOOR_B1F
+ const FLOOR_1F
+ const FLOOR_2F
+ const FLOOR_3F
+ const FLOOR_4F
+ const FLOOR_5F
+ const FLOOR_6F
+ const FLOOR_7F
+ const FLOOR_8F
+ const FLOOR_9F
+ const FLOOR_10F
+ const FLOOR_11F
+ const FLOOR_ROOF
+
+
+; command queue members
+CMDQUEUE_TYPE EQU 0
+CMDQUEUE_ADDR EQU 1
+CMDQUEUE_03 EQU 3
+CMDQUEUE_04 EQU 4
+CMDQUEUE_05 EQU 5
+CMDQUEUE_ENTRY_SIZE EQU 6
+CMDQUEUE_CAPACITY EQU 4
+
+; command queue types
+CMDQUEUE_STONETABLE EQU 2
+
+
+; SpecialGameboyCheck return values
+ const_def
+ const GBCHECK_GB ; 0
+ const GBCHECK_SGB ; 1
+ const GBCHECK_CGB ; 2
+
+; Special_CheckMagikarpLength return values
+ const_def
+ const MAGIKARPLENGTH_NOT_MAGIKARP ; 0
+ const MAGIKARPLENGTH_REFUSED ; 1
+ const MAGIKARPLENGTH_TOO_SHORT ; 2
+ const MAGIKARPLENGTH_BEAT_RECORD ; 3
+
+; SpecialReturnShuckle return values
+ const_def
+ const SHUCKIE_WRONG_MON ; 0
+ const SHUCKIE_REFUSED ; 1
+ const SHUCKIE_RETURNED ; 2
+ const SHUCKIE_HAPPY ; 3
+ const SHUCKIE_FAINTED ; 4
+
+; CheckPartyFullAfterContest return values
+ const_def
+ const BUGCONTEST_CAUGHT_MON ; 0
+ const BUGCONTEST_BOXED_MON ; 1
+ const BUGCONTEST_NO_CATCH ; 2
+
+; HealMachineAnim writebyte arguments
+; HealMachineAnim.Pointers indexes (see engine/events/heal_machine_anim.asm)
+ const_def
+ const HEALMACHINE_POKECENTER ; 0
+ const HEALMACHINE_ELMS_LAB ; 1
+ const HEALMACHINE_HALL_OF_FAME ; 2
+
+; Special_UnownPuzzle writebyte arguments
+; LoadUnownPuzzlePiecesGFX.LZPointers indexes (see engine/unown_puzzle.asm)
+ const_def
+ const UNOWNPUZZLE_KABUTO ; 0
+ const UNOWNPUZZLE_OMANYTE ; 1
+ const UNOWNPUZZLE_AERODACTYL ; 2
+ const UNOWNPUZZLE_HO_OH ; 3
+NUM_UNOWN_PUZZLES EQU const_value
+
+; Special_DisplayUnownWords writebyte arguments
+; UnownWalls and MenuDataHeaders_UnownWalls indexes (see data/unown_walls.asm)
+ const_def
+ const UNOWNWORDS_ESCAPE ; 0
+ const UNOWNWORDS_LIGHT ; 1
+ const UNOWNWORDS_WATER ; 2
+ const UNOWNWORDS_HO_OH ; 3
+
+; Special_MoveTutor writebyte arguments
+const_value set 1
+ const MOVETUTOR_FLAMETHROWER ; 1
+ const MOVETUTOR_THUNDERBOLT ; 2
+ const MOVETUTOR_ICE_BEAM ; 3
diff --git a/constants/serial_constants.asm b/constants/serial_constants.asm
index e7b4c4b2c..757292ee9 100644
--- a/constants/serial_constants.asm
+++ b/constants/serial_constants.asm
@@ -6,7 +6,25 @@
const LINK_COLOSSEUM ; 3
const LINK_MOBILE ; 4
-
+; hSerialReceive high nybbles
SERIAL_TIMECAPSULE EQU $60
SERIAL_TRADECENTER EQU $70
SERIAL_BATTLE EQU $80
+
+ESTABLISH_CONNECTION_WITH_INTERNAL_CLOCK EQU $01
+ESTABLISH_CONNECTION_WITH_EXTERNAL_CLOCK EQU $02
+
+START_TRANSFER_EXTERNAL_CLOCK EQU $80 ; 1 << rSC_ON
+START_TRANSFER_INTERNAL_CLOCK EQU $81 ; (1 << rSC_ON) | 1
+
+; hSerialConnectionStatus
+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
diff --git a/constants/sfx_constants.asm b/constants/sfx_constants.asm
index 0dee70793..9d98e147d 100644
--- a/constants/sfx_constants.asm
+++ b/constants/sfx_constants.asm
@@ -180,7 +180,7 @@
const SFX_ENCORE ; b0
const SFX_BEAT_UP ; b1
const SFX_BATON_PASS ; b2
- const SFX_BALL_WIGGLE ; b3
+ const SFX_BALL_WOBBLE ; b3
const SFX_SWEET_SCENT ; b4
const SFX_SWEET_SCENT_2 ; b5
const SFX_HIT_END_OF_EXP_BAR ; b6
diff --git a/constants/sprite_anim_constants.asm b/constants/sprite_anim_constants.asm
index 8bb2aed35..8be0f312a 100644
--- a/constants/sprite_anim_constants.asm
+++ b/constants/sprite_anim_constants.asm
@@ -16,301 +16,303 @@
const SPRITEANIMSTRUCT_0D ; d
const SPRITEANIMSTRUCT_0E ; e
const SPRITEANIMSTRUCT_0F ; f
+SPRITEANIMSTRUCT_LENGTH EQU const_value
+NUM_SPRITE_ANIM_STRUCTS EQU 10 ; see wSpriteAnimationStructs
; SpriteAnimSeqData indexes (see data/sprite_anims/sequences.asm)
const_def
- const SPRITE_ANIM_INDEX_PARTY_MON ; 00
- const SPRITE_ANIM_INDEX_GS_TITLE_TRAIL ; 01
- const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR ; 02
- const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO ; 03
- const SPRITE_ANIM_INDEX_GS_INTRO_STAR ; 04
- const SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE ; 05
- const SPRITE_ANIM_INDEX_SLOTS_GOLEM ; 06
- const SPRITE_ANIM_INDEX_SLOTS_CHANSEY ; 07
- const SPRITE_ANIM_INDEX_SLOTS_EGG ; 08
- const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR ; 09
- const SPRITE_ANIM_INDEX_RED_WALK ; 0a
- const SPRITE_ANIM_INDEX_UNUSED_CURSOR ; 0b
- const SPRITE_ANIM_INDEX_DUMMY_GAME ; 0c
- const SPRITE_ANIM_INDEX_POKEGEAR_ARROW ; 0d
- const SPRITE_ANIM_INDEX_TRADE_POKE_BALL ; 0e
- const SPRITE_ANIM_INDEX_TRADE_POOF ; 0f
- const SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE ; 10
- const SPRITE_ANIM_INDEX_TRADEMON_ICON ; 11
- const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE ; 12
- const SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT ; 13
- const SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB ; 14
- const SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED ; 15
- const SPRITE_ANIM_INDEX_LEAF ; 16
- const SPRITE_ANIM_INDEX_CUT_TREE ; 17
- const SPRITE_ANIM_INDEX_FLY_LEAF ; 18
- const SPRITE_ANIM_INDEX_EGG_CRACK ; 19
- const SPRITE_ANIM_INDEX_1A ; 1a
- const SPRITE_ANIM_INDEX_HEADBUTT ; 1b
- const SPRITE_ANIM_INDEX_EGG_HATCH ; 1c
- const SPRITE_ANIM_INDEX_1D ; 1d
- const SPRITE_ANIM_INDEX_BLUE_WALK ; 1e
- const SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE ; 1f
- const SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL ; 20
- const SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL ; 21
- const SPRITE_ANIM_INDEX_MOBILE_22 ; 22
- const SPRITE_ANIM_INDEX_MOBILE_23 ; 23
- const SPRITE_ANIM_INDEX_MOBILE_24 ; 24
- const SPRITE_ANIM_INDEX_MOBILE_25 ; 25
- const SPRITE_ANIM_INDEX_INTRO_SUICUNE ; 26
- const SPRITE_ANIM_INDEX_INTRO_PICHU ; 27
- const SPRITE_ANIM_INDEX_INTRO_WOOPER ; 28
- const SPRITE_ANIM_INDEX_INTRO_UNOWN ; 29
- const SPRITE_ANIM_INDEX_INTRO_UNOWN_F ; 2a
- const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY ; 2b
- const SPRITE_ANIM_INDEX_CELEBI ; 2c
+ const SPRITE_ANIM_INDEX_PARTY_MON ; 00
+ const SPRITE_ANIM_INDEX_GS_TITLE_TRAIL ; 01
+ const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR ; 02
+ const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO ; 03
+ const SPRITE_ANIM_INDEX_GS_INTRO_STAR ; 04
+ const SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE ; 05
+ const SPRITE_ANIM_INDEX_SLOTS_GOLEM ; 06
+ const SPRITE_ANIM_INDEX_SLOTS_CHANSEY ; 07
+ const SPRITE_ANIM_INDEX_SLOTS_EGG ; 08
+ const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR ; 09
+ const SPRITE_ANIM_INDEX_RED_WALK ; 0a
+ const SPRITE_ANIM_INDEX_UNUSED_CURSOR ; 0b
+ const SPRITE_ANIM_INDEX_DUMMY_GAME ; 0c
+ const SPRITE_ANIM_INDEX_POKEGEAR_ARROW ; 0d
+ const SPRITE_ANIM_INDEX_TRADE_POKE_BALL ; 0e
+ const SPRITE_ANIM_INDEX_TRADE_POOF ; 0f
+ const SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE ; 10
+ const SPRITE_ANIM_INDEX_TRADEMON_ICON ; 11
+ const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE ; 12
+ const SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT ; 13
+ const SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB ; 14
+ const SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED ; 15
+ const SPRITE_ANIM_INDEX_LEAF ; 16
+ const SPRITE_ANIM_INDEX_CUT_TREE ; 17
+ const SPRITE_ANIM_INDEX_FLY_LEAF ; 18
+ const SPRITE_ANIM_INDEX_EGG_CRACK ; 19
+ const SPRITE_ANIM_INDEX_GS_INTRO_HO_OH ; 1a
+ const SPRITE_ANIM_INDEX_HEADBUTT ; 1b
+ const SPRITE_ANIM_INDEX_EGG_HATCH ; 1c
+ const SPRITE_ANIM_INDEX_EZCHAT_CURSOR ; 1d
+ const SPRITE_ANIM_INDEX_BLUE_WALK ; 1e
+ const SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE ; 1f
+ const SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL ; 20
+ const SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL ; 21
+ const SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE ; 22
+ const SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_PULSE ; 23
+ const SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_PULSE ; 24
+ const SPRITE_ANIM_INDEX_MOBILE_TRADE_PING ; 25
+ const SPRITE_ANIM_INDEX_INTRO_SUICUNE ; 26
+ const SPRITE_ANIM_INDEX_INTRO_PICHU ; 27
+ const SPRITE_ANIM_INDEX_INTRO_WOOPER ; 28
+ const SPRITE_ANIM_INDEX_INTRO_UNOWN ; 29
+ const SPRITE_ANIM_INDEX_INTRO_UNOWN_F ; 2a
+ const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY ; 2b
+ const SPRITE_ANIM_INDEX_CELEBI ; 2c
; DoAnimFrame.Jumptable indexes (see engine/sprite_anims.asm)
const_def
- const SPRITE_ANIM_SEQ_NULL ; 00
- const SPRITE_ANIM_SEQ_PARTY_MON ; 01
- const SPRITE_ANIM_SEQ_PARTY_MON_SWITCH ; 02
- const SPRITE_ANIM_SEQ_PARTY_MON_SELECTED ; 03
- const SPRITE_ANIM_SEQ_GS_TITLE_TRAIL ; 04
- const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR ; 05
- const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO ; 06
- const SPRITE_ANIM_SEQ_GS_INTRO_STAR ; 07
- const SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE ; 08
- const SPRITE_ANIM_SEQ_SLOTS_GOLEM ; 09
- const SPRITE_ANIM_SEQ_SLOTS_CHANSEY ; 0a
- const SPRITE_ANIM_SEQ_SLOTS_EGG ; 0b
- const SPRITE_ANIM_SEQ_MAIL_CURSOR ; 0c
- const SPRITE_ANIM_SEQ_FOR_UNUSED_CURSOR ; 0d
- const SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR ; 0e
- const SPRITE_ANIM_SEQ_POKEGEAR_ARROW ; 0f
- const SPRITE_ANIM_SEQ_TRADE_POKE_BALL ; 10
- const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE ; 11
- const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE ; 12
- const SPRITE_ANIM_SEQ_REVEAL_NEW_MON ; 13
- const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB ; 14
- const SPRITE_ANIM_SEQ_CUT_LEAVES ; 15
- const SPRITE_ANIM_SEQ_FLY_FROM ; 16
- const SPRITE_ANIM_SEQ_FLY_LEAF ; 17
- const SPRITE_ANIM_SEQ_FLY_TO ; 18
- const SPRITE_ANIM_SEQ_19 ; 19
- const SPRITE_ANIM_SEQ_1A ; 1a
- const SPRITE_ANIM_SEQ_FOR_MOBILE_23 ; 1b
- const SPRITE_ANIM_SEQ_FOR_MOBILE_24 ; 1c
- const SPRITE_ANIM_SEQ_INTRO_SUICUNE ; 1d
- const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER ; 1e
- const SPRITE_ANIM_SEQ_CELEBI ; 1f
- const SPRITE_ANIM_SEQ_INTRO_UNOWN ; 20
- const SPRITE_ANIM_SEQ_INTRO_UNOWN_F ; 21
- const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY ; 22
+ const SPRITE_ANIM_SEQ_NULL ; 00
+ const SPRITE_ANIM_SEQ_PARTY_MON ; 01
+ const SPRITE_ANIM_SEQ_PARTY_MON_SWITCH ; 02
+ const SPRITE_ANIM_SEQ_PARTY_MON_SELECTED ; 03
+ const SPRITE_ANIM_SEQ_GS_TITLE_TRAIL ; 04
+ const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR ; 05
+ const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO ; 06
+ const SPRITE_ANIM_SEQ_GS_INTRO_STAR ; 07
+ const SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE ; 08
+ const SPRITE_ANIM_SEQ_SLOTS_GOLEM ; 09
+ const SPRITE_ANIM_SEQ_SLOTS_CHANSEY ; 0a
+ const SPRITE_ANIM_SEQ_SLOTS_EGG ; 0b
+ const SPRITE_ANIM_SEQ_MAIL_CURSOR ; 0c
+ const SPRITE_ANIM_SEQ_UNUSED_CURSOR ; 0d
+ const SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR ; 0e
+ const SPRITE_ANIM_SEQ_POKEGEAR_ARROW ; 0f
+ const SPRITE_ANIM_SEQ_TRADE_POKE_BALL ; 10
+ const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE ; 11
+ const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE ; 12
+ const SPRITE_ANIM_SEQ_REVEAL_NEW_MON ; 13
+ const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB ; 14
+ const SPRITE_ANIM_SEQ_CUT_LEAVES ; 15
+ const SPRITE_ANIM_SEQ_FLY_FROM ; 16
+ const SPRITE_ANIM_SEQ_FLY_LEAF ; 17
+ const SPRITE_ANIM_SEQ_FLY_TO ; 18
+ const SPRITE_ANIM_SEQ_GS_INTRO_HO_OH ; 19
+ const SPRITE_ANIM_SEQ_EZCHAT_CURSOR ; 1a
+ const SPRITE_ANIM_SEQ_MOBILE_TRADE_SENT_PULSE ; 1b
+ const SPRITE_ANIM_SEQ_MOBILE_TRADE_OT_PULSE ; 1c
+ const SPRITE_ANIM_SEQ_INTRO_SUICUNE ; 1d
+ const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER ; 1e
+ const SPRITE_ANIM_SEQ_CELEBI ; 1f
+ const SPRITE_ANIM_SEQ_INTRO_UNOWN ; 20
+ const SPRITE_ANIM_SEQ_INTRO_UNOWN_F ; 21
+ const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY ; 22
; SpriteAnimFrameData indexes (see data/sprite_anims/framesets.asm)
const_def
- const SPRITE_ANIM_FRAMESET_00
- const SPRITE_ANIM_FRAMESET_PARTY_MON ; 01
- const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL ; 02
- const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM ; 03
- const SPRITE_ANIM_FRAMESET_PARTY_MON_FAST ; 04
+ const SPRITE_ANIM_FRAMESET_00 ; 00
+ const SPRITE_ANIM_FRAMESET_PARTY_MON ; 01
+ const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL ; 02
+ const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM ; 03
+ const SPRITE_ANIM_FRAMESET_PARTY_MON_FAST ; 04
const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL_FAST ; 05
const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM_FAST ; 06
- const SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL ; 07
- const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR ; 08
- const SPRITE_ANIM_FRAMESET_09
- const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO ; 0a
- const SPRITE_ANIM_FRAMESET_GS_INTRO_STAR ; 0b
- const SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE ; 0c
- const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM ; 0d
- const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY ; 0e
- const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2 ; 0f
- const SPRITE_ANIM_FRAMESET_SLOTS_EGG ; 10
- const SPRITE_ANIM_FRAMESET_RED_WALK ; 11
- const SPRITE_ANIM_FRAMESET_STILL_CURSOR ; 12
- const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL ; 13
- const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0 ; 14
- const SPRITE_ANIM_FRAMESET_TRADE_POOF ; 15
- const SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE ; 16
- const SPRITE_ANIM_FRAMESET_TRADEMON_ICON ; 17
- const SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE ; 18
- const SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT ; 19
- const SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB ; 1a
- const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED ; 1b
- const SPRITE_ANIM_FRAMESET_1C
- const SPRITE_ANIM_FRAMESET_LEAF ; 1d
- const SPRITE_ANIM_FRAMESET_CUT_TREE ; 1e
- const SPRITE_ANIM_FRAMESET_EGG_CRACK ; 1f
- const SPRITE_ANIM_FRAMESET_EGG_HATCH ; 20
- const SPRITE_ANIM_FRAMESET_21
- const SPRITE_ANIM_FRAMESET_22
- const SPRITE_ANIM_FRAMESET_23
- const SPRITE_ANIM_FRAMESET_24
- const SPRITE_ANIM_FRAMESET_HEADBUTT ; 25
- const SPRITE_ANIM_FRAMESET_26
- const SPRITE_ANIM_FRAMESET_27
- const SPRITE_ANIM_FRAMESET_28
- const SPRITE_ANIM_FRAMESET_29
- const SPRITE_ANIM_FRAMESET_2A
- const SPRITE_ANIM_FRAMESET_2B
- const SPRITE_ANIM_FRAMESET_2C
- const SPRITE_ANIM_FRAMESET_BLUE_WALK ; 2d
- const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE ; 2e
- const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL ; 2f
- const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL ; 30
- const SPRITE_ANIM_FRAMESET_FOR_MOBILE_22 ; 31
- const SPRITE_ANIM_FRAMESET_FOR_MOBILE_23 ; 32
- const SPRITE_ANIM_FRAMESET_FOR_MOBILE_24 ; 33
- const SPRITE_ANIM_FRAMESET_FOR_MOBILE_25 ; 34
- const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE ; 35
- const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_2 ; 36
- const SPRITE_ANIM_FRAMESET_INTRO_PICHU ; 37
- const SPRITE_ANIM_FRAMESET_INTRO_WOOPER ; 38
- const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1 ; 39
- const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_2 ; 3a
- const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_3 ; 3b
- const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_4 ; 3c
- const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F_2 ; 3d
- const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY ; 3e
- const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F ; 3f
- const SPRITE_ANIM_FRAMESET_CELEBI_LEFT ; 40
- const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT ; 41
+ const SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL ; 07
+ const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR ; 08
+ const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR_BIG ; 09
+ const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO ; 0a
+ const SPRITE_ANIM_FRAMESET_GS_INTRO_STAR ; 0b
+ const SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE ; 0c
+ const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM ; 0d
+ const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY ; 0e
+ const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2 ; 0f
+ const SPRITE_ANIM_FRAMESET_SLOTS_EGG ; 10
+ const SPRITE_ANIM_FRAMESET_RED_WALK ; 11
+ const SPRITE_ANIM_FRAMESET_STILL_CURSOR ; 12
+ const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL ; 13
+ const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_WOBBLE ; 14
+ const SPRITE_ANIM_FRAMESET_TRADE_POOF ; 15
+ const SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE ; 16
+ const SPRITE_ANIM_FRAMESET_TRADEMON_ICON ; 17
+ const SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE ; 18
+ const SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT ; 19
+ const SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB ; 1a
+ const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED ; 1b
+ const SPRITE_ANIM_FRAMESET_UNUSED_1C ; 1c
+ const SPRITE_ANIM_FRAMESET_LEAF ; 1d
+ const SPRITE_ANIM_FRAMESET_CUT_TREE ; 1e
+ const SPRITE_ANIM_FRAMESET_EGG_CRACK ; 1f
+ const SPRITE_ANIM_FRAMESET_EGG_HATCH_1 ; 20
+ const SPRITE_ANIM_FRAMESET_EGG_HATCH_2 ; 21
+ const SPRITE_ANIM_FRAMESET_EGG_HATCH_3 ; 22
+ const SPRITE_ANIM_FRAMESET_EGG_HATCH_4 ; 23
+ const SPRITE_ANIM_FRAMESET_GS_INTRO_HO_OH ; 24
+ const SPRITE_ANIM_FRAMESET_HEADBUTT ; 25
+ const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1 ; 26
+ const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_2 ; 27
+ const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 28
+ const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_4 ; 29
+ const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_5 ; 2a
+ const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_6 ; 2b
+ const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_7 ; 2c
+ const SPRITE_ANIM_FRAMESET_BLUE_WALK ; 2d
+ const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE ; 2e
+ const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL ; 2f
+ const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL ; 30
+ const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_CABLE_BULGE ; 31
+ const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_PULSE ; 32
+ const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_PULSE ; 33
+ const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_PING ; 34
+ const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE ; 35
+ const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_2 ; 36
+ const SPRITE_ANIM_FRAMESET_INTRO_PICHU ; 37
+ const SPRITE_ANIM_FRAMESET_INTRO_WOOPER ; 38
+ const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1 ; 39
+ const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_2 ; 3a
+ const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_3 ; 3b
+ const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_4 ; 3c
+ const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F_2 ; 3d
+ const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY ; 3e
+ const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F ; 3f
+ const SPRITE_ANIM_FRAMESET_CELEBI_LEFT ; 40
+ const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT ; 41
; SpriteAnimOAMData indexes (see data/sprite_anims/oam.asm)
const_def
- const SPRITE_ANIM_OAMSET_RED_WALK_1 ; 00
- const SPRITE_ANIM_OAMSET_RED_WALK_2 ; 01
- const SPRITE_ANIM_OAMSET_02
- const SPRITE_ANIM_OAMSET_03
- const SPRITE_ANIM_OAMSET_04
- const SPRITE_ANIM_OAMSET_05
- const SPRITE_ANIM_OAMSET_06
- const SPRITE_ANIM_OAMSET_07
- const SPRITE_ANIM_OAMSET_08
- const SPRITE_ANIM_OAMSET_09
- const SPRITE_ANIM_OAMSET_0A
- const SPRITE_ANIM_OAMSET_0B
- const SPRITE_ANIM_OAMSET_0C
- const SPRITE_ANIM_OAMSET_0D
- const SPRITE_ANIM_OAMSET_0E
- const SPRITE_ANIM_OAMSET_0F
- const SPRITE_ANIM_OAMSET_10
- const SPRITE_ANIM_OAMSET_11
- const SPRITE_ANIM_OAMSET_12
- const SPRITE_ANIM_OAMSET_13
- const SPRITE_ANIM_OAMSET_14
- const SPRITE_ANIM_OAMSET_15
- const SPRITE_ANIM_OAMSET_16
- const SPRITE_ANIM_OAMSET_17
- const SPRITE_ANIM_OAMSET_18
- const SPRITE_ANIM_OAMSET_19
- const SPRITE_ANIM_OAMSET_1A
- const SPRITE_ANIM_OAMSET_1B
- const SPRITE_ANIM_OAMSET_1C
- const SPRITE_ANIM_OAMSET_1D
- const SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1 ; 1e
- const SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2 ; 1f
- const SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR ; 20
- const SPRITE_ANIM_OAMSET_FOR_FRAMESET_09 ; 21
- const SPRITE_ANIM_OAMSET_22
- const SPRITE_ANIM_OAMSET_GS_INTRO_STAR ; 23
- const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1 ; 24
- const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2 ; 25
- const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3 ; 26
- const SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1 ; 27
- const SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2 ; 28
- const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1 ; 29
- const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2 ; 2a
- const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3 ; 2b
- const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4 ; 2c
- const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5 ; 2d
- const SPRITE_ANIM_OAMSET_SLOTS_EGG ; 2e
- const SPRITE_ANIM_OAMSET_STILL_CURSOR ; 2f
- const SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1 ; 30
- const SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2 ; 31
- const SPRITE_ANIM_OAMSET_TRADE_POOF_1 ; 32
- const SPRITE_ANIM_OAMSET_TRADE_POOF_2 ; 33
- const SPRITE_ANIM_OAMSET_TRADE_POOF_3 ; 34
- const SPRITE_ANIM_OAMSET_35
- const SPRITE_ANIM_OAMSET_36
- const SPRITE_ANIM_OAMSET_TRADEMON_ICON_1 ; 37
- const SPRITE_ANIM_OAMSET_TRADEMON_ICON_2 ; 38
- const SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE ; 39
- const SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1 ; 3a
- const SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2 ; 3b
- const SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB ; 3c
- const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1 ; 3d
- const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2 ; 3e
- const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1 ; 3f
- const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2 ; 40
- const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1 ; 41
- const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2 ; 42
- const SPRITE_ANIM_OAMSET_43
- const SPRITE_ANIM_OAMSET_44
- const SPRITE_ANIM_OAMSET_45
- const SPRITE_ANIM_OAMSET_46
- const SPRITE_ANIM_OAMSET_47
- const SPRITE_ANIM_OAMSET_48
- const SPRITE_ANIM_OAMSET_49
- const SPRITE_ANIM_OAMSET_4A
- const SPRITE_ANIM_OAMSET_4B
- const SPRITE_ANIM_OAMSET_4C
- const SPRITE_ANIM_OAMSET_4D
- const SPRITE_ANIM_OAMSET_4E
- const SPRITE_ANIM_OAMSET_LEAF ; 4f
- const SPRITE_ANIM_OAMSET_TREE_1 ; 50
- const SPRITE_ANIM_OAMSET_CUT_TREE_2 ; 51
- const SPRITE_ANIM_OAMSET_CUT_TREE_3 ; 52
- const SPRITE_ANIM_OAMSET_CUT_TREE_4 ; 53
- const SPRITE_ANIM_OAMSET_EGG_CRACK ; 54
- const SPRITE_ANIM_OAMSET_55
- const SPRITE_ANIM_OAMSET_56
- const SPRITE_ANIM_OAMSET_57
- const SPRITE_ANIM_OAMSET_58
- const SPRITE_ANIM_OAMSET_59
- const SPRITE_ANIM_OAMSET_5A
- const SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2 ; 5b
- const SPRITE_ANIM_OAMSET_5C
- const SPRITE_ANIM_OAMSET_5D
- const SPRITE_ANIM_OAMSET_5E
- const SPRITE_ANIM_OAMSET_5F
- const SPRITE_ANIM_OAMSET_60
- const SPRITE_ANIM_OAMSET_61
- const SPRITE_ANIM_OAMSET_62
- const SPRITE_ANIM_OAMSET_BLUE_WALK_1 ; 63
- const SPRITE_ANIM_OAMSET_BLUE_WALK_2 ; 64
- const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1 ; 65
- const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2 ; 66
- const SPRITE_ANIM_OAMSET_FOR_MOBILE_22_1 ; 67
- const SPRITE_ANIM_OAMSET_FOR_MOBILE_22_2 ; 68
- const SPRITE_ANIM_OAMSET_FOR_MOBILE_25_1 ; 69
- const SPRITE_ANIM_OAMSET_FOR_MOBILE_25_2 ; 6a
- const SPRITE_ANIM_OAMSET_FOR_MOBILE_25_3 ; 6b
- const SPRITE_ANIM_OAMSET_FOR_MOBILE_23 ; 6c
- const SPRITE_ANIM_OAMSET_FOR_MOBILE_24 ; 6d
- const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1 ; 6e
- const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2 ; 6f
- const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3 ; 70
- const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4 ; 71
- const SPRITE_ANIM_OAMSET_INTRO_PICHU_1 ; 72
- const SPRITE_ANIM_OAMSET_INTRO_PICHU_2 ; 73
- const SPRITE_ANIM_OAMSET_INTRO_PICHU_3 ; 74
- const SPRITE_ANIM_OAMSET_INTRO_WOOPER ; 75
- const SPRITE_ANIM_OAMSET_INTRO_UNOWN_1 ; 76
- const SPRITE_ANIM_OAMSET_INTRO_UNOWN_2 ; 77
- const SPRITE_ANIM_OAMSET_INTRO_UNOWN_3 ; 78
- const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1 ; 79
- const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2 ; 7a
- const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3 ; 7b
- const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4 ; 7c
- const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5 ; 7d
- const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY ; 7e
- const SPRITE_ANIM_OAMSET_CELEBI_1 ; 7f
- const SPRITE_ANIM_OAMSET_CELEBI_2 ; 80
- const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1 ; 81
- const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2 ; 82
- const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3 ; 83
- const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4 ; 84
- const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5 ; 85
- const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6 ; 86
- const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7 ; 87
- const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8 ; 88
- const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9 ; 89
- const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10 ; 8A
- const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11 ; 8B
+ const SPRITE_ANIM_OAMSET_RED_WALK_1 ; 00
+ const SPRITE_ANIM_OAMSET_RED_WALK_2 ; 01
+ const SPRITE_ANIM_OAMSET_GS_INTRO_BUBBLE_1 ; 02
+ const SPRITE_ANIM_OAMSET_GS_INTRO_BUBBLE_2 ; 03
+ const SPRITE_ANIM_OAMSET_GS_INTRO_SHELLDER_1 ; 04
+ const SPRITE_ANIM_OAMSET_GS_INTRO_SHELLDER_2 ; 05
+ const SPRITE_ANIM_OAMSET_GS_INTRO_MAGIKARP_1 ; 06
+ const SPRITE_ANIM_OAMSET_GS_INTRO_MAGIKARP_2 ; 07
+ const SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_1 ; 08
+ const SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_2 ; 09
+ const SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_3 ; 0a
+ const SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_4 ; 0b
+ const SPRITE_ANIM_OAMSET_GS_INTRO_NOTE ; 0c
+ const SPRITE_ANIM_OAMSET_GS_INTRO_INVISIBLE_NOTE ; 0d
+ const SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_1 ; 0e
+ const SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_2 ; 0f
+ const SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_3 ; 10
+ const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_1 ; 11
+ const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_2 ; 12
+ const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_3 ; 13
+ const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_4 ; 14
+ const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_1 ; 15
+ const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_2 ; 16
+ const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_3 ; 17
+ const SPRITE_ANIM_OAMSET_GS_INTRO_SMALL_FIREBALL ; 18
+ const SPRITE_ANIM_OAMSET_GS_INTRO_MED_FIREBALL ; 19
+ const SPRITE_ANIM_OAMSET_GS_INTRO_BIG_FIREBALL ; 1a
+ const SPRITE_ANIM_OAMSET_GS_INTRO_CHIKORITA ; 1b
+ const SPRITE_ANIM_OAMSET_GS_INTRO_CYNDAQUIL ; 1c
+ const SPRITE_ANIM_OAMSET_GS_INTRO_TOTODILE ; 1d
+ const SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1 ; 1e
+ const SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2 ; 1f
+ const SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR ; 20
+ const SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR_BIG ; 21
+ const SPRITE_ANIM_OAMSET_GS_INTRO_GAMEFREAK_LOGO ; 22
+ const SPRITE_ANIM_OAMSET_GS_INTRO_STAR ; 23
+ const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1 ; 24
+ const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2 ; 25
+ const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3 ; 26
+ const SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1 ; 27
+ const SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2 ; 28
+ const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1 ; 29
+ const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2 ; 2a
+ const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3 ; 2b
+ const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4 ; 2c
+ const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5 ; 2d
+ const SPRITE_ANIM_OAMSET_SLOTS_EGG ; 2e
+ const SPRITE_ANIM_OAMSET_STILL_CURSOR ; 2f
+ const SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1 ; 30
+ const SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2 ; 31
+ const SPRITE_ANIM_OAMSET_TRADE_POOF_1 ; 32
+ const SPRITE_ANIM_OAMSET_TRADE_POOF_2 ; 33
+ const SPRITE_ANIM_OAMSET_TRADE_POOF_3 ; 34
+ const SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_1 ; 35
+ const SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_2 ; 36
+ const SPRITE_ANIM_OAMSET_TRADEMON_ICON_1 ; 37
+ const SPRITE_ANIM_OAMSET_TRADEMON_ICON_2 ; 38
+ const SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE ; 39
+ const SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1 ; 3a
+ const SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2 ; 3b
+ const SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB ; 3c
+ const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1 ; 3d
+ const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2 ; 3e
+ const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1 ; 3f
+ const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2 ; 40
+ const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1 ; 41
+ const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2 ; 42
+ const SPRITE_ANIM_OAMSET_UNUSED_43 ; 43
+ const SPRITE_ANIM_OAMSET_UNUSED_44 ; 44
+ const SPRITE_ANIM_OAMSET_UNUSED_45 ; 45
+ const SPRITE_ANIM_OAMSET_UNUSED_46 ; 46
+ const SPRITE_ANIM_OAMSET_UNUSED_47 ; 47
+ const SPRITE_ANIM_OAMSET_UNUSED_48 ; 48
+ const SPRITE_ANIM_OAMSET_UNUSED_49 ; 49
+ const SPRITE_ANIM_OAMSET_UNUSED_4A ; 4a
+ const SPRITE_ANIM_OAMSET_UNUSED_4B ; 4b
+ const SPRITE_ANIM_OAMSET_UNUSED_4C ; 4c
+ const SPRITE_ANIM_OAMSET_UNUSED_4D ; 4d
+ const SPRITE_ANIM_OAMSET_UNUSED_4E ; 4e
+ const SPRITE_ANIM_OAMSET_LEAF ; 4f
+ const SPRITE_ANIM_OAMSET_TREE_1 ; 50
+ const SPRITE_ANIM_OAMSET_CUT_TREE_2 ; 51
+ const SPRITE_ANIM_OAMSET_CUT_TREE_3 ; 52
+ const SPRITE_ANIM_OAMSET_CUT_TREE_4 ; 53
+ const SPRITE_ANIM_OAMSET_EGG_CRACK ; 54
+ const SPRITE_ANIM_OAMSET_EGG_HATCH ; 55
+ const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_1 ; 56
+ const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_2 ; 57
+ const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_3 ; 58
+ const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_4 ; 59
+ const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_5 ; 5a
+ const SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2 ; 5b
+ const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_1 ; 5c
+ const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_2 ; 5d
+ const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_3 ; 5e
+ const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_4 ; 5f
+ const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_5 ; 60
+ const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_6 ; 61
+ const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_7 ; 62
+ const SPRITE_ANIM_OAMSET_BLUE_WALK_1 ; 63
+ const SPRITE_ANIM_OAMSET_BLUE_WALK_2 ; 64
+ const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1 ; 65
+ const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2 ; 66
+ const SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_1 ; 67
+ const SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_2 ; 68
+ const SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_1 ; 69
+ const SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_2 ; 6a
+ const SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_3 ; 6b
+ const SPRITE_ANIM_OAMSET_MOBILE_TRADE_SENT_PULSE ; 6c
+ const SPRITE_ANIM_OAMSET_MOBILE_TRADE_OT_PULSE ; 6d
+ const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1 ; 6e
+ const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2 ; 6f
+ const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3 ; 70
+ const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4 ; 71
+ const SPRITE_ANIM_OAMSET_INTRO_PICHU_1 ; 72
+ const SPRITE_ANIM_OAMSET_INTRO_PICHU_2 ; 73
+ const SPRITE_ANIM_OAMSET_INTRO_PICHU_3 ; 74
+ const SPRITE_ANIM_OAMSET_INTRO_WOOPER ; 75
+ const SPRITE_ANIM_OAMSET_INTRO_UNOWN_1 ; 76
+ const SPRITE_ANIM_OAMSET_INTRO_UNOWN_2 ; 77
+ const SPRITE_ANIM_OAMSET_INTRO_UNOWN_3 ; 78
+ const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1 ; 79
+ const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2 ; 7a
+ const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3 ; 7b
+ const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4 ; 7c
+ const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5 ; 7d
+ const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY ; 7e
+ const SPRITE_ANIM_OAMSET_CELEBI_1 ; 7f
+ const SPRITE_ANIM_OAMSET_CELEBI_2 ; 80
+ const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1 ; 81
+ const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2 ; 82
+ const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3 ; 83
+ const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4 ; 84
+ const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5 ; 85
+ const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6 ; 86
+ const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7 ; 87
+ const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8 ; 88
+ const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9 ; 89
+ const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10 ; 8a
+ const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11 ; 8b
diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm
index e657c4027..767d7a3c6 100644
--- a/constants/sprite_constants.asm
+++ b/constants/sprite_constants.asm
@@ -1,5 +1,5 @@
; sprite ids
-; OverworldSprites indexes (see gfx/sprite_data.asm)
+; OverworldSprites indexes (see data/sprites.asm)
const_def
const SPRITE_NONE ; 00
const SPRITE_CHRIS ; 01
@@ -105,7 +105,7 @@
const SPRITE_RAIKOU ; 65
const SPRITE_STANDING_YOUNGSTER ; 66
-; SpriteMons indexes (see data/sprite_mons.asm)
+; SpriteMons indexes (see data/sprites/sprite_mons.asm)
const_value set $80
SPRITE_POKEMON EQU const_value
const SPRITE_UNOWN ; 80
diff --git a/constants/sprite_data_constants.asm b/constants/sprite_data_constants.asm
index 9ec78d1fb..db53c3ca1 100644
--- a/constants/sprite_data_constants.asm
+++ b/constants/sprite_data_constants.asm
@@ -1,4 +1,4 @@
-; overworld_sprite struct members (see gfx/sprite_data.asm)
+; overworld_sprite struct members (see data/sprites.asm)
const_def
const SPRITEDATA_ADDR ; 0
const SPRITEDATA_ADDR_HI ; 1
@@ -26,6 +26,7 @@ const_value set 1
const PAL_OW_ROCK ; 7
; object_events set bit 3 so as not to use the sprite's default palette
+; MapObjectPals indexes (see gfx/overworld/npc_sprites.pal)
const_value set (1 << 3)
const PAL_NPC_RED ; 8
const PAL_NPC_BLUE ; 9
@@ -36,7 +37,7 @@ const_value set (1 << 3)
const PAL_NPC_TREE ; e
const PAL_NPC_ROCK ; f
-; SpriteMovementData indexes (see data/map_objects.asm)
+; SpriteMovementData indexes (see data/sprites/map_objects.asm)
const_def
const SPRITEMOVEDATA_00 ; 00
const SPRITEMOVEDATA_ITEM_TREE ; 01
@@ -158,7 +159,7 @@ SPRITEMOVEDATA_FIELDS EQU 6
const OBJECT_ACTION_GRASS_SHAKE ; 0f
const OBJECT_ACTION_SKYFALL ; 10
-; Facings indexes (see data/facings.asm)
+; Facings indexes (see data/sprites/facings.asm)
const_def
const FACING_STEP_DOWN_0 ; 00
const FACING_STEP_DOWN_1 ; 01
diff --git a/constants/text_constants.asm b/constants/text_constants.asm
index d867c77f7..a6052065c 100644
--- a/constants/text_constants.asm
+++ b/constants/text_constants.asm
@@ -1,22 +1,23 @@
; name lengths
-NAME_LENGTH EQU 11
-PLAYER_NAME_LENGTH EQU 8
-BOX_NAME_LENGTH EQU 9
-PKMN_NAME_LENGTH EQU 11
-MOVE_NAME_LENGTH EQU 13
-ITEM_NAME_LENGTH EQU 13
+NAME_LENGTH EQU 11
+PLAYER_NAME_LENGTH EQU 8
+BOX_NAME_LENGTH EQU 9
+MON_NAME_LENGTH EQU 11
+MOVE_NAME_LENGTH EQU 13
+ITEM_NAME_LENGTH EQU 13
TRAINER_CLASS_NAME_LENGTH EQU 13
NAME_LENGTH_JAPANESE EQU 6
; GetName types (see home/names.asm)
-PKMN_NAME EQU 1
-MOVE_NAME EQU 2
-; dummied out EQU 3
-ITEM_NAME EQU 4
-PARTY_OT_NAME EQU 5
-ENEMY_OT_NAME EQU 6
-TRAINER_NAME EQU 7
-; broken ptr EQU 8
+const_value set 1
+ const MON_NAME ; 1
+ const MOVE_NAME ; 2
+ const DUMMY_NAME ; 3
+ const ITEM_NAME ; 4
+ const PARTY_OT_NAME ; 5
+ const ENEMY_OT_NAME ; 6
+ const TRAINER_NAME ; 7
+ const MOVE_DESC_NAME_BROKEN ; 8
; see home/text.asm
BORDER_WIDTH EQU 2
@@ -39,3 +40,7 @@ const_value set 5
PRINTNUM_MONEY EQU 1 << PRINTNUM_MONEY_F
PRINTNUM_RIGHTALIGN EQU 1 << PRINTNUM_RIGHTALIGN_F
PRINTNUM_LEADINGZEROS EQU 1 << PRINTNUM_LEADINGZEROS_F
+
+; character sets (see charmap.asm)
+FIRST_REGULAR_TEXT_CHAR EQU $60
+FIRST_HIRAGANA_DAKUTEN_CHAR EQU $20
diff --git a/constants/tileset_constants.asm b/constants/tileset_constants.asm
index 90dd0f8d2..5fda5bd5b 100644
--- a/constants/tileset_constants.asm
+++ b/constants/tileset_constants.asm
@@ -1,43 +1,44 @@
-; Tilesets indexes (see tilesets/tilesets.asm)
+; Tilesets indexes (see data/tilesets.asm)
const_value set 1
- const TILESET_JOHTO_1 ; 01
- const TILESET_JOHTO_2 ; 02
+ const TILESET_JOHTO ; 01
+ const TILESET_JOHTO_MODERN ; 02
const TILESET_KANTO ; 03
const TILESET_BATTLE_TOWER_OUTSIDE ; 04
- const TILESET_HOUSE_1 ; 05
+ const TILESET_HOUSE ; 05
const TILESET_PLAYERS_HOUSE ; 06
const TILESET_POKECENTER ; 07
const TILESET_GATE ; 08
const TILESET_PORT ; 09
const TILESET_LAB ; 0a
- const TILESET_POWER_PLANT ; 0b
+ const TILESET_FACILITY ; 0b
const TILESET_MART ; 0c
- const TILESET_CELADON_MANSION ; 0d
+ const TILESET_MANSION ; 0d
const TILESET_GAME_CORNER ; 0e
- const TILESET_GYM_1 ; 0f
- const TILESET_KURTS_HOUSE ; 10
+ const TILESET_ELITE_FOUR_ROOM ; 0f
+ const TILESET_TRADITIONAL_HOUSE ; 10
const TILESET_TRAIN_STATION ; 11
- const TILESET_OLIVINE_GYM ; 12
+ const TILESET_CHAMPIONS_ROOM ; 12
const TILESET_LIGHTHOUSE ; 13
- const TILESET_PLAYERS_HOUSE_2F ; 14
+ const TILESET_PLAYERS_ROOM ; 14
const TILESET_POKECOM_CENTER ; 15
const TILESET_BATTLE_TOWER ; 16
- const TILESET_SPROUT_TOWER ; 17
+ const TILESET_TOWER ; 17
const TILESET_CAVE ; 18
const TILESET_PARK ; 19
const TILESET_RUINS_OF_ALPH ; 1a
const TILESET_RADIO_TOWER ; 1b
const TILESET_UNDERGROUND ; 1c
const TILESET_ICE_PATH ; 1d
- const TILESET_WHIRL_ISLANDS ; 1e
- const TILESET_ILEX_FOREST ; 1f
+ const TILESET_DARK_CAVE ; 1e
+ const TILESET_FOREST ; 1f
const TILESET_BETA_WORD_ROOM ; 20
const TILESET_HO_OH_WORD_ROOM ; 21
const TILESET_KABUTO_WORD_ROOM ; 22
const TILESET_OMANYTE_WORD_ROOM ; 23
const TILESET_AERODACTYL_WORD_ROOM ; 24
-; bg palette values (see tilesets/*_palette_map.asm)
+; bg palette values (see gfx/tilesets/*_palette_map.asm)
+; TilesetBGPalette indexes (see gfx/tilesets/bg_tiles.pal)
const_def
const PAL_BG_GRAY ; 0
const PAL_BG_RED ; 1
diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm
index 2590ed34e..7976fdffa 100644
--- a/constants/trainer_constants.asm
+++ b/constants/trainer_constants.asm
@@ -12,6 +12,7 @@ ENDM
; - TrainerEncounterMusic (see data/trainers/encounter_music.asm)
; - TrainerPicPointers (see data/trainers/pic_pointers.asm)
; - TrainerPalettes (see data/trainers/palettes.asm)
+; - BTTrainerClassSprites (see data/trainers/sprites.asm)
; - BTTrainerClassGenders (see data/trainers/genders.asm)
; trainer constants are Trainers indexes, for the sub-tables of TrainerGroups (see data/trainers/parties.asm)
enum_start
@@ -25,20 +26,28 @@ CHRIS EQU __enum__
KRIS EQU __enum__
trainerclass FALKNER ; 1
+ const FALKNER1
trainerclass WHITNEY ; 2
+ const WHITNEY1
trainerclass BUGSY ; 3
+ const BUGSY1
trainerclass MORTY ; 4
+ const MORTY1
trainerclass PRYCE ; 5
+ const PRYCE1
trainerclass JASMINE ; 6
+ const JASMINE1
trainerclass CHUCK ; 7
+ const CHUCK1
trainerclass CLAIR ; 8
+ const CLAIR1
trainerclass RIVAL1 ; 9
const RIVAL1_1_CHIKORITA
@@ -60,6 +69,7 @@ KRIS EQU __enum__
trainerclass POKEMON_PROF ; a
trainerclass WILL ; b
+ const WILL1
trainerclass CAL ; c
const CAL1
@@ -67,19 +77,25 @@ KRIS EQU __enum__
const CAL3
trainerclass BRUNO ; d
+ const BRUNO1
trainerclass KAREN ; e
+ const KAREN1
trainerclass KOGA ; f
+ const KOGA1
trainerclass CHAMPION ; 10
const LANCE
trainerclass BROCK ; 11
+ const BROCK1
trainerclass MISTY ; 12
+ const MISTY1
trainerclass LT_SURGE ; 13
+ const LT_SURGE1
trainerclass SCIENTIST ; 14
const ROSS
@@ -89,6 +105,7 @@ KRIS EQU __enum__
const RICH
trainerclass ERIKA ; 15
+ const ERIKA1
trainerclass YOUNGSTER ; 16
const JOEY1
@@ -173,6 +190,7 @@ KRIS EQU __enum__
const DANA5
trainerclass JANINE ; 1a
+ const JANINE1
trainerclass COOLTRAINERM ; 1b
const NICK
@@ -305,6 +323,7 @@ KRIS EQU __enum__
const SHIRLEY
trainerclass SABRINA ; 23
+ const SABRINA1
trainerclass BUG_CATCHER ; 24
const DON
@@ -477,6 +496,7 @@ KRIS EQU __enum__
const GLENN
trainerclass BLAINE ; 2e
+ const BLAINE1
trainerclass BURGLAR ; 2f
const DUNCAN
@@ -661,8 +681,10 @@ KRIS EQU __enum__
const JAIME
trainerclass RED ; 3f
+ const RED1
trainerclass BLUE ; 40
+ const BLUE1
trainerclass OFFICER ; 41
const KEITH
diff --git a/constants/type_constants.asm b/constants/type_constants.asm
index c2cf2d709..6587c3a70 100644
--- a/constants/type_constants.asm
+++ b/constants/type_constants.asm
@@ -1,7 +1,8 @@
-; TypeNames indexes (see data/type_names.asm)
+; TypeNames indexes (see data/types/names.asm)
; also used in:
-; - TypeMatchups (see data/type_matchups.asm)
-; - Pokedex_SearchForMons.TypeConversionTable and Pokedex_PlaceSearchScreenTypeStrings.TypeStrings (see engine/pokedex.asm)
+; - PokedexTypeSearchConversionTable (see data/types/search_types.asm)
+; - PokedexTypeSearchStrings (see data/types/search_strings.asm)
+; - TypeMatchups (see data/battle/type_matchups.asm)
const_def
PHYSICAL EQU const_value
@@ -38,5 +39,6 @@ SPECIAL EQU const_value
const ICE
const DRAGON
const DARK
-
TYPES_END EQU const_value
+
+NUM_TYPES EQU TYPES_END + UNUSED_TYPES - UNUSED_TYPES_END
diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm
index 8cf06db06..6faa87be4 100644
--- a/constants/wram_constants.asm
+++ b/constants/wram_constants.asm
@@ -28,6 +28,7 @@ TEXT_DELAY_SLOW EQU 5
const FRAME_6 ; 5
const FRAME_7 ; 6
const FRAME_8 ; 7
+NUM_FRAMES EQU const_value
; TextBoxFlags:
const_def
@@ -52,6 +53,7 @@ const_value set -1
const UP ; 1
const LEFT ; 2
const RIGHT ; 3
+NUM_DIRECTIONS EQU const_value
DOWN_MASK EQU 1 << DOWN
UP_MASK EQU 1 << UP
@@ -71,12 +73,15 @@ FACE_RIGHT EQU 1
const DAY_F ; 1
const NITE_F ; 2
const DARKNESS_F ; 3
+NUM_DAYTIMES EQU const_value
MORN EQU 1 << MORN_F
DAY EQU 1 << DAY_F
NITE EQU 1 << NITE_F
DARKNESS EQU 1 << DARKNESS_F
+ANYTIME EQU MORN | DAY | NITE
+
; ScriptFlags: ; d434
SCRIPT_RUNNING EQU 2
@@ -116,9 +121,6 @@ PLAYER_SKATE EQU 2
PLAYER_SURF EQU 4
PLAYER_SURF_PIKA EQU 8
-OBJECT_STRUCT_LENGTH EQU 40
-NUM_OBJECT_STRUCTS EQU 13
-
; After-Champion Spawn
SPAWN_LANCE EQU 1
SPAWN_RED EQU 2
diff --git a/data/battle/accuracy_multipliers.asm b/data/battle/accuracy_multipliers.asm
new file mode 100644
index 000000000..a5a309bbd
--- /dev/null
+++ b/data/battle/accuracy_multipliers.asm
@@ -0,0 +1,17 @@
+; Multiplier ratios for accuracy from modifier -6 to +6
+; (for other stats, see data/battle/stat_multipliers.asm)
+
+AccuracyLevelMultipliers:
+ db 33, 100 ; -6 = 33%
+ db 36, 100 ; -5 = 36%
+ db 43, 100 ; -4 = 43%
+ db 50, 100 ; -3 = 50%
+ db 60, 100 ; -2 = 60%
+ db 75, 100 ; -1 = 75%
+ db 1, 1 ; 0 = 100%
+ db 133, 100 ; +1 = 133%
+ db 166, 100 ; +2 = 166%
+ db 2, 1 ; +3 = 200%
+ db 233, 100 ; +4 = 233%
+ db 133, 50 ; +5 = 266%
+ db 3, 1 ; +6 = 300%
diff --git a/text/battle.asm b/data/battle/battle_text.asm
index 7e1b06069..eaff02017 100644
--- a/text/battle.asm
+++ b/data/battle/battle_text.asm
@@ -11,7 +11,7 @@ BattleText_PlayerPickedUpPayDayMoney: ; 0x80730
WildPokemonAppearedText: ; 0x80746
text "Wild @"
text_from_ram EnemyMonNick
- text ""
+ text_start
line "appeared!"
prompt
; 0x8075c
@@ -20,7 +20,7 @@ HookedPokemonAttackedText: ; 0x8075c
text "The hooked"
line "@"
text_from_ram EnemyMonNick
- text ""
+ text_start
cont "attacked!"
prompt
; 0x80778
@@ -35,7 +35,7 @@ PokemonFellFromTreeText: ; 0x80778
WildCelebiAppearedText: ; 0x80793
text "Wild @"
text_from_ram EnemyMonNick
- text ""
+ text_start
line "appeared!"
prompt
; 0x807a9
@@ -49,7 +49,7 @@ WantsToBattleText:: ; 0x807a9
BattleText_WildFled: ; 0x807bd
text "Wild @"
text_from_ram EnemyMonNick
- text ""
+ text_start
line "fled!"
prompt
; 0x807cf
@@ -57,7 +57,7 @@ BattleText_WildFled: ; 0x807bd
BattleText_EnemyFled: ; 0x807cf
text "Enemy @"
text_from_ram EnemyMonNick
- text ""
+ text_start
line "fled!"
prompt
; 0x807e2
@@ -189,7 +189,7 @@ BattleText_TheSandstormSubsided: ; 0x8098f
BattleText_EnemyPkmnFainted: ; 0x809a8
text "Enemy @"
text_from_ram EnemyMonNick
- text ""
+ text_start
line "fainted!"
prompt
; 0x809be
@@ -197,7 +197,7 @@ BattleText_EnemyPkmnFainted: ; 0x809a8
GotMoneyForWinningText:
text "<PLAYER> got ¥@"
deciram wBattleReward, 3, 6
- text ""
+ text_start
line "for winning!"
prompt
@@ -216,7 +216,7 @@ TiedAgainstText: ; 0x809eb
SentSomeToMomText:
text "<PLAYER> got ¥@"
deciram wBattleReward, 3, 6
- text ""
+ text_start
line "for winning!"
cont "Sent some to MOM!"
prompt
@@ -238,7 +238,7 @@ BattleText_0x80a4f: ; 0x80a4f
BattleText_PkmnFainted: ; 0x80a75
text_from_ram BattleMonNick
- text ""
+ text_start
line "fainted!"
prompt
; 0x80a83
@@ -342,7 +342,7 @@ BattleText_UsersStringBuffer1Activated: ; 0x80bde
text "<USER>'s"
line "@"
text_from_ram StringBuffer1
- text ""
+ text_start
cont "activated!"
prompt
; 0x80bf3
@@ -355,14 +355,14 @@ BattleText_ItemsCantBeUsedHere: ; 0x80bf3
BattleText_PkmnIsAlreadyOut: ; 0x80c0d
text_from_ram BattleMonNick
- text ""
+ text_start
line "is already out."
prompt
; 0x80c22
BattleText_PkmnCantBeRecalled: ; 0x80c22
text_from_ram BattleMonNick
- text ""
+ text_start
line "can't be recalled!"
prompt
; 0x80c39
@@ -381,7 +381,7 @@ BattleText_TheMoveIsDisabled: ; 0x80c5b
BattleText_PkmnHasNoMovesLeft: ; 0x80c72
text_from_ram BattleMonNick
- text ""
+ text_start
line "has no moves left!"
done
; 0x80c8a
@@ -405,7 +405,7 @@ BattleText_StringBuffer1GrewToLevel: ; 0x80c9c
BattleText_WildPkmnIsEating: ; 0x80cba
text "Wild @"
text_from_ram EnemyMonNick
- text ""
+ text_start
line "is eating!"
prompt
; 0x80cd1
@@ -413,7 +413,7 @@ BattleText_WildPkmnIsEating: ; 0x80cba
BattleText_WildPkmnIsAngry: ; 0x80cd1
text "Wild @"
text_from_ram EnemyMonNick
- text ""
+ text_start
line "is angry!"
prompt
; 0x80ce7
@@ -1103,7 +1103,7 @@ StoleText: ; 0x815da
text "<USER>"
line "stole @"
text_from_ram StringBuffer1
- text ""
+ text_start
cont "from its foe!"
prompt
; 0x815f7
diff --git a/data/battle/critical_hits.asm b/data/battle/critical_hits.asm
new file mode 100644
index 000000000..5800d57f4
--- /dev/null
+++ b/data/battle/critical_hits.asm
@@ -0,0 +1,18 @@
+CriticalHitMoves:
+ db KARATE_CHOP
+ db RAZOR_WIND
+ db RAZOR_LEAF
+ db CRABHAMMER
+ db SLASH
+ db AEROBLAST
+ db CROSS_CHOP
+ db -1
+
+CriticalHitChances:
+ db 7 percent ; 0
+ db 12 percent + 2 ; +1
+ db 25 percent + 1 ; +2
+ db 33 percent + 1 ; +3
+ db 50 percent + 1 ; +4
+ db 50 percent + 1 ; +5
+ db 50 percent + 1 ; +6
diff --git a/data/battle_command_pointers.asm b/data/battle/effect_command_pointers.asm
index 38a3c1eb8..b3eeea273 100644
--- a/data/battle_command_pointers.asm
+++ b/data/battle/effect_command_pointers.asm
@@ -1,3 +1,5 @@
+; battle commands are defined in engine/battle/effect_commands.asm
+
dw 0 ; padding
BattleCommandPointers: ; 3fd28
diff --git a/data/battle/stat_multipliers.asm b/data/battle/stat_multipliers.asm
new file mode 100644
index 000000000..e7cf8e472
--- /dev/null
+++ b/data/battle/stat_multipliers.asm
@@ -0,0 +1,17 @@
+; Multiplier ratios for all stats from modifier -6 to +6
+; (except accuracy, see data/battle/accuracy_multipliers.asm)
+
+StatLevelMultipliers:
+ db 25, 100 ; -6 = 25%
+ db 28, 100 ; -5 = 28%
+ db 33, 100 ; -4 = 33%
+ db 40, 100 ; -3 = 40%
+ db 50, 100 ; -2 = 50%
+ db 66, 100 ; -1 = 66%
+ db 1, 1 ; 0 = 100%
+ db 15, 10 ; +1 = 150%
+ db 2, 1 ; +2 = 200%
+ db 25, 10 ; +3 = 250%
+ db 3, 1 ; +4 = 300%
+ db 35, 10 ; +5 = 350%
+ db 4, 1 ; +6 = 400%
diff --git a/data/battle/stat_names.asm b/data/battle/stat_names.asm
new file mode 100644
index 000000000..a144a225f
--- /dev/null
+++ b/data/battle/stat_names.asm
@@ -0,0 +1,10 @@
+StatNames:
+; entries correspond to stat ids
+ db "ATTACK@"
+ db "DEFENSE@"
+ db "SPEED@"
+ db "SPCL.ATK@"
+ db "SPCL.DEF@"
+ db "ACCURACY@"
+ db "EVASION@"
+ db "ABILITY@" ; used for BattleCommand_Curse
diff --git a/data/battle/type_boost_items.asm b/data/battle/type_boost_items.asm
new file mode 100644
index 000000000..3b7231a59
--- /dev/null
+++ b/data/battle/type_boost_items.asm
@@ -0,0 +1,20 @@
+TypeBoostItems: ; 35703
+ db HELD_NORMAL_BOOST, NORMAL ; PINK_BOW/POLKADOT_BOW
+ db HELD_FIGHTING_BOOST, FIGHTING ; BLACKBELT
+ db HELD_FLYING_BOOST, FLYING ; SHARP_BEAK
+ db HELD_POISON_BOOST, POISON ; POISON BARB
+ db HELD_GROUND_BOOST, GROUND ; SOFT_SAND
+ db HELD_ROCK_BOOST, ROCK ; HARD_STONE
+ db HELD_BUG_BOOST, BUG ; SILVERPOWDER
+ db HELD_GHOST_BOOST, GHOST ; SPELL_TAG
+ db HELD_FIRE_BOOST, FIRE ; CHARCOAL
+ db HELD_WATER_BOOST, WATER ; MYSTIC WATER
+ db HELD_GRASS_BOOST, GRASS ; MIRACLE_SEED
+ db HELD_ELECTRIC_BOOST, ELECTRIC ; MAGNET
+ db HELD_PSYCHIC_BOOST, PSYCHIC ; TWISTEDSPOON
+ db HELD_ICE_BOOST, ICE ; NEVERMELTICE
+ db HELD_DRAGON_BOOST, DRAGON ; DRAGON_SCALE
+ db HELD_DARK_BOOST, DARK ; BLACKGLASSES
+ db HELD_STEEL_BOOST, STEEL ; METAL_COAT
+ db -1
+; 35726
diff --git a/data/type_matchups.asm b/data/battle/type_matchups.asm
index 61fd19078..90e38ae2c 100644
--- a/data/type_matchups.asm
+++ b/data/battle/type_matchups.asm
@@ -1,9 +1,3 @@
-; The multiplier is divided by 10, so we can use values like 0.5.
-; All other cases are neutral (1x).
-SUPER_EFFECTIVE EQU 20
-NOT_VERY_EFFECTIVE EQU 05
-NO_EFFECT EQU 00
-
TypeMatchups: ; 34bb1
; attacker, defender, *=
db NORMAL, ROCK, NOT_VERY_EFFECTIVE
@@ -115,11 +109,11 @@ TypeMatchups: ; 34bb1
db STEEL, ROCK, SUPER_EFFECTIVE
db STEEL, STEEL, NOT_VERY_EFFECTIVE
- db $fe ; end
+ db -2 ; end
; Foresight removes Ghost's immunities.
db NORMAL, GHOST, NO_EFFECT
db FIGHTING, GHOST, NO_EFFECT
- db $ff ; end (with Foresight)
+ db -1 ; end (with Foresight)
; 34cfd
diff --git a/data/battle_anims/objects.asm b/data/battle_anims/objects.asm
index 62ec0140e..3d46ae2d7 100755
--- a/data/battle_anims/objects.asm
+++ b/data/battle_anims/objects.asm
@@ -27,13 +27,13 @@ BattleAnimObjects: ; ccb56
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_03, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_06
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_04, BATTLEANIMFUNC_1B, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_07
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_08
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_06, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_09
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_06, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_FANG
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_07, BATTLEANIMFUNC_09, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_0A
- battleanimobj RELATIVE_X, $aa, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_10, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0B
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0E, BATTLEANIMFUNC_04, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0C
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0D
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0E
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_0A, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0F
+ battleanimobj RELATIVE_X, $aa, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_10, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_EMBER
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0E, BATTLEANIMFUNC_04, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_DRAGON_RAGE
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_FLAMETHROWER
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_FIRE_SPIN
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_0A, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_FIRE_BLAST
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_BURNED
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_12, BATTLEANIMFUNC_08, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_BLIZZARD
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_13, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_12
@@ -47,32 +47,32 @@ BattleAnimObjects: ; ccb56
battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_1F, BATTLEANIMFUNC_38, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_1A
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $07 ; ANIM_OBJ_1B
battleanimobj RELATIVE_X, $a0, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $07 ; ANIM_OBJ_BALL_POOF
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1D
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_1A, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1E
- battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_1B, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1F
- battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_84, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BLUE, $21 ; ANIM_OBJ_20
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_BIG_ROCK
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_1A, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_SMALL_ROCK
+ battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_1B, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_STRENGTH
+ battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_84, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BLUE, $21 ; ANIM_OBJ_SEISMIC_TOSS
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_0C, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_BUBBLE
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_23, BATTLEANIMFUNC_0D, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_22
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_0E, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_23
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_27, BATTLEANIMFUNC_0F, PAL_BATTLE_OB_BLUE, $04 ; ANIM_OBJ_24
- battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_2A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $04 ; ANIM_OBJ_25
- battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_2B, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GREEN, $0f ; ANIM_OBJ_26
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_23, BATTLEANIMFUNC_0D, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_SURF
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_0E, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_SING
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_27, BATTLEANIMFUNC_0F, PAL_BATTLE_OB_BLUE, $04 ; ANIM_OBJ_WATER_GUN
+ battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_2A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $04 ; ANIM_OBJ_HYDRO_PUMP
+ battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_2B, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GREEN, $0f ; ANIM_OBJ_POWDER
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_27
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_28
battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_ICE_BUILDUP
battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_FROZEN
battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_14, PAL_BATTLE_OB_BROWN, $11 ; ANIM_OBJ_MASTER_BALL_SPARKLE
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_14, PAL_BATTLE_OB_YELLOW, $0d ; ANIM_OBJ_2C
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_14, PAL_BATTLE_OB_YELLOW, $0d ; ANIM_OBJ_RECOVER
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_31, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2D
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_32, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2E
battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_33, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2F
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_15, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_30
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_15, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_THUNDER_WAVE
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_31
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_03, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_LIGHTNING_BOLT
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_38, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_33
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_39, BATTLEANIMFUNC_03, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_34
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_3A, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_35
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_3C, BATTLEANIMFUNC_17, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_36
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_3A, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_CLAMP
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_3C, BATTLEANIMFUNC_17, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_BITE
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_37
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_38
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_40, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_39
@@ -85,125 +85,125 @@ BattleAnimObjects: ; ccb56
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_47, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_40
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_48, BATTLEANIMFUNC_1A, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_41
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_49, BATTLEANIMFUNC_1A, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_42
- battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_43
+ battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_SONICBOOM_JP
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_4B, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_44
battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_4C, BATTLEANIMFUNC_1C, PAL_BATTLE_OB_GREEN, $12 ; ANIM_OBJ_ABSORB
- battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_4D, BATTLEANIMFUNC_1D, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_46
+ battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_4D, BATTLEANIMFUNC_1D, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_EGG
battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_51, BATTLEANIMFUNC_1E, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_47
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_52, BATTLEANIMFUNC_1F, PAL_BATTLE_OB_GREEN, $16 ; ANIM_OBJ_48
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_54, BATTLEANIMFUNC_1F, PAL_BATTLE_OB_GREEN, $16 ; ANIM_OBJ_49
battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_56, BATTLEANIMFUNC_LEECH_SEED, PAL_BATTLE_OB_GREEN, $06 ; ANIM_OBJ_LEECH_SEED
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_59, BATTLEANIMFUNC_21, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_4B
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_5C, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $17 ; ANIM_OBJ_4C
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_5D, BATTLEANIMFUNC_22, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_4D
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_5C, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $17 ; ANIM_OBJ_WAVE
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_5D, BATTLEANIMFUNC_22, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_CONFUSE_RAY
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_5F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_4E
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_4F
- battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $18 ; ANIM_OBJ_50
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $18 ; ANIM_OBJ_51
+ battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $18 ; ANIM_OBJ_SCREEN
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $18 ; ANIM_OBJ_HARDEN
battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_61, BATTLEANIMFUNC_23, PAL_BATTLE_OB_YELLOW, $19 ; ANIM_OBJ_CHICK
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_63, BATTLEANIMFUNC_24, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_53
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_66, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_54
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_63, BATTLEANIMFUNC_24, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_AMNESIA
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_66, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_ASLEEP
battleanimobj RELATIVE_X, $50, BATTLEANIMFRAMESET_1C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_SKULL
battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_67, BATTLEANIMFUNC_26, PAL_BATTLE_OB_BROWN, $1a ; ANIM_OBJ_56
battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_68, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BROWN, $1a ; ANIM_OBJ_57
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_69, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $1a ; ANIM_OBJ_58
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6D, BATTLEANIMFUNC_28, PAL_BATTLE_OB_YELLOW, $19 ; ANIM_OBJ_PARALYZED
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6A, BATTLEANIMFUNC_27, PAL_BATTLE_OB_GRAY, $1b ; ANIM_OBJ_5A
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6A, BATTLEANIMFUNC_27, PAL_BATTLE_OB_GRAY, $1b ; ANIM_OBJ_STRING_SHOT
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_HAZE
battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_MIST
battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_SMOG
battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_POISON_GAS
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_71, BATTLEANIMFUNC_HORN, PAL_BATTLE_OB_GRAY, $1d ; ANIM_OBJ_HORN
battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_72, BATTLEANIMFUNC_2C, PAL_BATTLE_OB_GRAY, $1d ; ANIM_OBJ_60
- battleanimobj RELATIVE_X, $48, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_2D, PAL_BATTLE_OB_RED, $1e ; ANIM_OBJ_61
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_06, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_62
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_BROWN, $19 ; ANIM_OBJ_63
+ battleanimobj RELATIVE_X, $48, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_2D, PAL_BATTLE_OB_RED, $1e ; ANIM_OBJ_PETAL_DANCE
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_06, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_SLUDGE_BOMB
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_BROWN, $19 ; ANIM_OBJ_PAY_DAY
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_64
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $11 ; ANIM_OBJ_65
- battleanimobj RELATIVE_X, $78, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_66
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_30, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_67
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_68
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_69
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_08, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_6A
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_79, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_6B
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_6C
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_6D
- battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, PAL_BATTLE_OB_GRAY, $20 ; ANIM_OBJ_SKY_ATTACK_FEAROW
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $11 ; ANIM_OBJ_MIMIC
+ battleanimobj RELATIVE_X, $78, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_ATTRACT
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_30, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_BONEMERANG
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_BONE_CLUB
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_BONE_RUSH
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_08, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_SWIFT
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_79, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_KINESIS
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_FLASH
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_SHINY
+ battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, PAL_BATTLE_OB_GRAY, $20 ; ANIM_OBJ_SKY_ATTACK
battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $04 ; ANIM_OBJ_LICK
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_7D, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $18 ; ANIM_OBJ_WITHDRAW
battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_71
- battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_7E, BATTLEANIMFUNC_33, PAL_BATTLE_OB_YELLOW, $12 ; ANIM_OBJ_72
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_73
- battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_34, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_74
- battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_35, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_75
- battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_80, BATTLEANIMFUNC_33, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_76
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_81, BATTLEANIMFUNC_37, PAL_BATTLE_OB_GRAY, $11 ; ANIM_OBJ_77
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_85, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 ; ANIM_OBJ_78
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_86, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 ; ANIM_OBJ_79
+ battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_7E, BATTLEANIMFUNC_33, PAL_BATTLE_OB_YELLOW, $12 ; ANIM_OBJ_GROWTH
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_CONVERSION2
+ battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_34, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_SMOKE
+ battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_35, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_SMOKESCREEN
+ battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_80, BATTLEANIMFUNC_33, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_SWORDS_DANCE
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_81, BATTLEANIMFUNC_37, PAL_BATTLE_OB_GRAY, $11 ; ANIM_OBJ_SPEED_LINE
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_85, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 ; ANIM_OBJ_SHARPEN
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_86, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 ; ANIM_OBJ_DEFENSE_CURL
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_87, BATTLEANIMFUNC_39, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_7A
battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_7B
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_7C
- battleanimobj RELATIVE_X | X_FLIP | BEHIND_BG, $88, BATTLEANIMFRAMESET_88, BATTLEANIMFUNC_3B, PAL_BATTLE_OB_BLUE, $13 ; ANIM_OBJ_7D
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_DISABLE
+ battleanimobj RELATIVE_X | X_FLIP | PRIORITY, $88, BATTLEANIMFRAMESET_88, BATTLEANIMFUNC_3B, PAL_BATTLE_OB_BLUE, $13 ; ANIM_OBJ_AGILITY
battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_25, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_HEART
- battleanimobj RELATIVE_X, $98, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_34, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_7F
- battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_3C, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_80
+ battleanimobj RELATIVE_X, $98, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_34, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_FLAME_WHEEL
+ battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_3C, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_SACRED_FIRE
battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_COTTON_SPORE
- battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_8A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_82
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_8C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_83
+ battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_8A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_MILK_DRINK
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_8C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_ANGER
battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_8D, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $1f ; ANIM_OBJ_84
battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_40, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_85
- battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_8E, BATTLEANIMFUNC_41, PAL_BATTLE_OB_RED, $1f ; ANIM_OBJ_86
- battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_8F, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_87
- battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_93, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_88
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_97, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_89
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_8A
- battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_8B
- battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_8C
- battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, $19 ; ANIM_OBJ_8D
+ battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_8E, BATTLEANIMFUNC_41, PAL_BATTLE_OB_RED, $1f ; ANIM_OBJ_BATON_PASS
+ battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_8F, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_LOCK_ON
+ battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_93, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_MIND_READER
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_97, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_SAFEGUARD
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_PROTECT
+ battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_THIEF
+ battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_OCTAZOOKA
+ battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, $19 ; ANIM_OBJ_PRESENT
battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_3F, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_SPIKES
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_15, BATTLEANIMFUNC_08, PAL_BATTLE_OB_GRAY, $0a ; ANIM_OBJ_8F
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_02, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_90
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_42, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_91
- battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_9A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1b ; ANIM_OBJ_92
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_15, BATTLEANIMFUNC_08, PAL_BATTLE_OB_GRAY, $0a ; ANIM_OBJ_POWDER_SNOW
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_02, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_DRAGONBREATH
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_42, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_CONVERSION
+ battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_9A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1b ; ANIM_OBJ_SPIDER_WEB
battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_9B, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_93
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_23, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_94
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9D, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_95
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_96
- battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $25 ; ANIM_OBJ_97
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_9F, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_GREEN, $23 ; ANIM_OBJ_98
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_23, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_NIGHTMARE
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9D, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_IN_NIGHTMARE
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_LOVELY_KISS
+ battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $25 ; ANIM_OBJ_SWEET_KISS
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_9F, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_GREEN, $23 ; ANIM_OBJ_SKETCH
battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_A0, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, $23 ; ANIM_OBJ_99
battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_43, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_9A
- battleanimobj RELATIVE_X | X_FLIP, $c0, BATTLEANIMFRAMESET_A2, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_9B
- battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_A3, BATTLEANIMFUNC_44, PAL_BATTLE_OB_YELLOW, $24 ; ANIM_OBJ_9C
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A4, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 ; ANIM_OBJ_9D
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $24 ; ANIM_OBJ_9E
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_45, PAL_BATTLE_OB_RED, $12 ; ANIM_OBJ_9F
+ battleanimobj RELATIVE_X | X_FLIP, $c0, BATTLEANIMFRAMESET_A2, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_DESTINY_BOND
+ battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_A3, BATTLEANIMFUNC_44, PAL_BATTLE_OB_YELLOW, $24 ; ANIM_OBJ_MORNING_SUN
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A4, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 ; ANIM_OBJ_GLIMMER
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $24 ; ANIM_OBJ_MOONLIGHT
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_45, PAL_BATTLE_OB_RED, $12 ; ANIM_OBJ_HIDDEN_POWER
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_A0
battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_A1
- battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B4, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_BROWN, $0f ; ANIM_OBJ_A2
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_A8, BATTLEANIMFUNC_02, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_A3
- battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_A4
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, PAL_BATTLE_OB_GRAY, $23 ; ANIM_OBJ_A5
+ battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B4, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_BROWN, $0f ; ANIM_OBJ_SANDSTORM
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_A8, BATTLEANIMFUNC_02, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_ZAP_CANNON
+ battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_SPITE
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, PAL_BATTLE_OB_GRAY, $23 ; ANIM_OBJ_CURSE
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_47, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_PERISH_SONG
- battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_AA, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 ; ANIM_OBJ_A7
- battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_AB, BATTLEANIMFUNC_48, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_A8
- battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AC, BATTLEANIMFUNC_44, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_A9
+ battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_AA, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 ; ANIM_OBJ_FORESIGHT
+ battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_AB, BATTLEANIMFUNC_48, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_RAPID_SPIN
+ battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AC, BATTLEANIMFUNC_44, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_SWAGGER
battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_AA
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_43, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_AB
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_AD, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $17 ; ANIM_OBJ_AC
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_AD, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $17 ; ANIM_OBJ_MEAN_LOOK
battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_AE, BATTLEANIMFUNC_49, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_AD
battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AF, BATTLEANIMFUNC_01, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_AE
- battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B0, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_GRAY, $04 ; ANIM_OBJ_AF
+ battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B0, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_GRAY, $04 ; ANIM_OBJ_RAIN
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_4B, PAL_BATTLE_OB_RED, $1c ; ANIM_OBJ_B0
- battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_B1, BATTLEANIMFUNC_4C, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_B1
- battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4D, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_B2
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_B3, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $27 ; ANIM_OBJ_B3
- battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_04, PAL_BATTLE_OB_BLUE, $15 ; ANIM_OBJ_B4
- battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4E, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_B5
+ battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_B1, BATTLEANIMFUNC_4C, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_PSYCH_UP
+ battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4D, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_ANCIENTPOWER
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_B3, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $27 ; ANIM_OBJ_AEROBLAST
+ battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_04, PAL_BATTLE_OB_BLUE, $15 ; ANIM_OBJ_SHADOW_BALL
+ battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4E, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_ROCK_SMASH
battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, $1e ; ANIM_OBJ_FLOWER
battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_4F, PAL_BATTLE_OB_RED, $1f ; ANIM_OBJ_COTTON
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 ; ANIM_OBJ_PLAYERFEETFOLLOW
battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 ; ANIM_OBJ_ENEMYFEETFOLLOW
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 ; ANIM_OBJ_BA
- battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 ; ANIM_OBJ_BB
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 ; ANIM_OBJ_PLAYERHEADFOLLOW
+ battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 ; ANIM_OBJ_ENEMYHEADFOLLOW
; ccfbe
diff --git a/data/battle_tower/classes.asm b/data/battle_tower/classes.asm
new file mode 100644
index 000000000..5a148e6ec
--- /dev/null
+++ b/data/battle_tower/classes.asm
@@ -0,0 +1,76 @@
+BattleTowerTrainers: ; 1f814e
+; The trainer class is not used in Crystal 1.0 due to a bug.
+; Instead, the sixth character in the trainer's name is used.
+; See BattleTowerText in engine/events/battle_tower/trainer_text.asm.
+ db "HANSON@@@@", FISHER
+ db "SAWYER@@@@", POKEMANIAC
+ db "MASUDA@@@@", GUITARIST
+ db "NICKEL@@@@", SCIENTIST
+ db "OLSON@@@@@", POKEFANM
+ db "ZABOROWSKI", LASS
+ db "WRIGHT@@@@", YOUNGSTER
+ db "ALEXANDER@", HIKER
+ db "KAWAKAMI@@", TEACHER
+ db "BICKETT@@@", POKEFANM
+ db "SAITO@@@@@", KIMONO_GIRL
+ db "CRAWFORD@@", BOARDER
+ db "DIAZ@@@@@@", PICNICKER
+ db "ERICKSON@@", BIKER
+ db "FAIRFIELD@", JUGGLER
+ db "HUNTER@@@@", POKEFANF
+ db "HILL@@@@@@", FIREBREATHER
+ db "JAVIER@@@@", SWIMMERF
+ db "KAUFMAN@@@", SWIMMERM
+ db "LANCASTER@", SKIER
+ db "McMAHILL@@", CAMPER
+; The following can only be sampled in Crystal 1.1.
+ db "OBRIEN@@@@", GENTLEMAN
+ db "FROST@@@@@", BEAUTY
+ db "MORSE@@@@@", SUPER_NERD
+ db "YUFUNE@@@@", BLACKBELT_T
+ db "RAJAN@@@@@", COOLTRAINERF
+ db "RODRIGUEZ@", OFFICER
+ db "SANTIAGO@@", PSYCHIC_T
+ db "STOCK@@@@@", POKEFANM
+ db "THURMAN@@@", SCIENTIST
+ db "VALENTINO@", BEAUTY
+ db "WAGNER@@@@", CAMPER
+ db "YATES@@@@@", BIRD_KEEPER
+ db "ANDREWS@@@", PICNICKER
+ db "BAHN@@@@@@", POKEMANIAC
+ db "MORI@@@@@@", SCIENTIST
+ db "BUCKMAN@@@", SAGE
+ db "COBB@@@@@@", SCHOOLBOY
+ db "HUGHES@@@@", FISHER
+ db "ARITA@@@@@", KIMONO_GIRL
+ db "EASTON@@@@", PSYCHIC_T
+ db "FREEMAN@@@", CAMPER
+ db "GIESE@@@@@", LASS
+ db "HATCHER@@@", GENTLEMAN
+ db "JACKSON@@@", POKEFANF
+ db "KAHN@@@@@@", POKEMANIAC
+ db "LEONG@@@@@", YOUNGSTER
+ db "MARINO@@@@", TEACHER
+ db "NEWMAN@@@@", SAILOR
+ db "NGUYEN@@@@", BLACKBELT_T
+ db "OGDEN@@@@@", SUPER_NERD
+ db "PARK@@@@@@", COOLTRAINERF
+ db "RAINE@@@@@", SWIMMERM
+ db "SELLS@@@@@", BIRD_KEEPER
+ db "ROCKWELL@@", BOARDER
+ db "THORNTON@@", LASS
+ db "TURNER@@@@", OFFICER
+ db "VAN DYKE@@", SKIER
+ db "WALKER@@@@", SCHOOLBOY
+ db "MEYER@@@@@", SWIMMERF
+ db "JOHNSON@@@", YOUNGSTER
+ db "ADAMS@@@@@", GUITARIST
+ db "SMITH@@@@@", BUG_CATCHER
+ db "TAJIRI@@@@", BUG_CATCHER
+ db "BAKER@@@@@", POKEMANIAC
+ db "COLLINS@@@", SCIENTIST
+ db "SMART@@@@@", SUPER_NERD
+ db "DYKSTRA@@@", SWIMMERF
+ db "EATON@@@@@", BIKER
+ db "WONG@@@@@@", FIREBREATHER
+; 1f8450
diff --git a/data/battle_tower.asm b/data/battle_tower/parties.asm
index d2e07fac3..c7008a247 100644
--- a/data/battle_tower.asm
+++ b/data/battle_tower/parties.asm
@@ -1,83 +1,7 @@
-BattleTowerTrainers: ; 1f814e
-; The trainer class is not used in Crystal 1.0 due to a bug.
-; Instead, the sixth character in the trainer's name is used.
-; See mobile/battle_tower_47.asm
- db "HANSON@@@@", FISHER
- db "SAWYER@@@@", POKEMANIAC
- db "MASUDA@@@@", GUITARIST
- db "NICKEL@@@@", SCIENTIST
- db "OLSON@@@@@", POKEFANM
- db "ZABOROWSKI", LASS
- db "WRIGHT@@@@", YOUNGSTER
- db "ALEXANDER@", HIKER
- db "KAWAKAMI@@", TEACHER
- db "BICKETT@@@", POKEFANM
- db "SAITO@@@@@", KIMONO_GIRL
- db "CRAWFORD@@", BOARDER
- db "DIAZ@@@@@@", PICNICKER
- db "ERICKSON@@", BIKER
- db "FAIRFIELD@", JUGGLER
- db "HUNTER@@@@", POKEFANF
- db "HILL@@@@@@", FIREBREATHER
- db "JAVIER@@@@", SWIMMERF
- db "KAUFMAN@@@", SWIMMERM
- db "LANCASTER@", SKIER
- db "McMAHILL@@", CAMPER
-; The following can only be sampled in Crystal 1.1.
- db "OBRIEN@@@@", GENTLEMAN
- db "FROST@@@@@", BEAUTY
- db "MORSE@@@@@", SUPER_NERD
- db "YUFUNE@@@@", BLACKBELT_T
- db "RAJAN@@@@@", COOLTRAINERF
- db "RODRIGUEZ@", OFFICER
- db "SANTIAGO@@", PSYCHIC_T
- db "STOCK@@@@@", POKEFANM
- db "THURMAN@@@", SCIENTIST
- db "VALENTINO@", BEAUTY
- db "WAGNER@@@@", CAMPER
- db "YATES@@@@@", BIRD_KEEPER
- db "ANDREWS@@@", PICNICKER
- db "BAHN@@@@@@", POKEMANIAC
- db "MORI@@@@@@", SCIENTIST
- db "BUCKMAN@@@", SAGE
- db "COBB@@@@@@", SCHOOLBOY
- db "HUGHES@@@@", FISHER
- db "ARITA@@@@@", KIMONO_GIRL
- db "EASTON@@@@", PSYCHIC_T
- db "FREEMAN@@@", CAMPER
- db "GIESE@@@@@", LASS
- db "HATCHER@@@", GENTLEMAN
- db "JACKSON@@@", POKEFANF
- db "KAHN@@@@@@", POKEMANIAC
- db "LEONG@@@@@", YOUNGSTER
- db "MARINO@@@@", TEACHER
- db "NEWMAN@@@@", SAILOR
- db "NGUYEN@@@@", BLACKBELT_T
- db "OGDEN@@@@@", SUPER_NERD
- db "PARK@@@@@@", COOLTRAINERF
- db "RAINE@@@@@", SWIMMERM
- db "SELLS@@@@@", BIRD_KEEPER
- db "ROCKWELL@@", BOARDER
- db "THORNTON@@", LASS
- db "TURNER@@@@", OFFICER
- db "VAN DYKE@@", SKIER
- db "WALKER@@@@", SCHOOLBOY
- db "MEYER@@@@@", SWIMMERF
- db "JOHNSON@@@", YOUNGSTER
- db "ADAMS@@@@@", GUITARIST
- db "SMITH@@@@@", BUG_CATCHER
- db "TAJIRI@@@@", BUG_CATCHER
- db "BAKER@@@@@", POKEMANIAC
- db "COLLINS@@@", SCIENTIST
- db "SMART@@@@@", SUPER_NERD
- db "DYKSTRA@@@", SWIMMERF
- db "EATON@@@@@", BIKER
- db "WONG@@@@@@", FIREBREATHER
-; 1f8450
-
-
BattleTowerMons: ; 1f8450
; 10 groups of 21 mons.
+
+
BattleTowerMons1:
db JOLTEON
diff --git a/text/battle_tower.asm b/data/battle_tower/trainer_text.asm
index 53af5a9e6..1601028a6 100644
--- a/text/battle_tower.asm
+++ b/data/battle_tower/trainer_text.asm
@@ -185,20 +185,20 @@ UnknownText_0x1ec3e5: ; 0x1ec3e5
; 0x1ec402
UnknownText_0x1ec402: ; 0x1ec402
- text "<......><......><......>"
- line "<......><......>Battle?"
+ text "<……><……><……>"
+ line "<……><……>Battle?"
done
; 0x1ec411
UnknownText_0x1ec411: ; 0x1ec411
- text "<......><......><......>"
- line "<......><......>I won?"
+ text "<……><……><……>"
+ line "<……><……>I won?"
done
; 0x1ec41f
UnknownText_0x1ec41f: ; 0x1ec41f
- text "<......><......><......>"
- line "<......><......>I lost?"
+ text "<……><……><……>"
+ line "<……><……>I lost?"
done
; 0x1ec42e
diff --git a/data/battle_tower_2.asm b/data/battle_tower/unknown.asm
index 81c9515fb..81c9515fb 100755
--- a/data/battle_tower_2.asm
+++ b/data/battle_tower/unknown.asm
diff --git a/data/battle_tower/unknown_levels.asm b/data/battle_tower/unknown_levels.asm
new file mode 100644
index 000000000..ca2b20cef
--- /dev/null
+++ b/data/battle_tower/unknown_levels.asm
@@ -0,0 +1,35 @@
+Unknown_170470:
+ db $12
+ db $24
+ db $45
+ db $45
+ db $42
+ db $42
+ db $45
+ db $42
+ db $27
+ db $27
+ db $45
+ db $27
+ db $42
+ db $24
+
+Unknown_17047e:
+ db $03, 4
+ db $05, 8
+ db $03, 5
+ db $0e, 6
+ db $03, 2
+ db $00, 0
+ db $39, 7
+ db $07, 4
+ db $00, 5
+ db $04, 7
+ db $01, 5
+ db $00, 0
+ db $0f, 5
+ db $14, 7
+ db $05, 5
+ db $11, 12
+ db $0c, 6
+ db $06, 4
diff --git a/data/bug_contest_flags.asm b/data/bug_contest_flags.asm
new file mode 100644
index 000000000..04d748270
--- /dev/null
+++ b/data/bug_contest_flags.asm
@@ -0,0 +1,13 @@
+BugCatchingContestantEventFlagTable: ; 139fe
+; there are NUM_BUG_CONTESTANTS entries
+ dw EVENT_BUG_CATCHING_CONTESTANT_1A
+ dw EVENT_BUG_CATCHING_CONTESTANT_2A
+ dw EVENT_BUG_CATCHING_CONTESTANT_3A
+ dw EVENT_BUG_CATCHING_CONTESTANT_4A
+ dw EVENT_BUG_CATCHING_CONTESTANT_5A
+ dw EVENT_BUG_CATCHING_CONTESTANT_6A
+ dw EVENT_BUG_CATCHING_CONTESTANT_7A
+ dw EVENT_BUG_CATCHING_CONTESTANT_8A
+ dw EVENT_BUG_CATCHING_CONTESTANT_9A
+ dw EVENT_BUG_CATCHING_CONTESTANT_10A
+; 13a12
diff --git a/data/bug_contest_winners.asm b/data/bug_contest_winners.asm
index 8529ed0f0..7a465edf5 100644
--- a/data/bug_contest_winners.asm
+++ b/data/bug_contest_winners.asm
@@ -1,5 +1,6 @@
BugContestantPointers: ; 13783
- dw BugContestant_BugCatcherDon ; This reverts back to the player
+; there are NUM_BUG_CONTESTANTS + 1 entries
+ dw BugContestant_BugCatcherDon ; this reverts back to the player
dw BugContestant_BugCatcherDon
dw BugContestant_BugCatcherEd
dw BugContestant_CooltrainerMNick
@@ -12,6 +13,12 @@ BugContestantPointers: ; 13783
dw BugContestant_SchoolboyKipp
; 13799
+; contestant format:
+; db class, id
+; dbw 1st-place mon, score
+; dbw 2nd-place mon, score
+; dbw 3rd-place mon, score
+
BugContestant_BugCatcherDon:
db BUG_CATCHER, DON
dbw KAKUNA, 300
diff --git a/data/common_text/common_text.asm b/data/common_text/common_text.asm
new file mode 100644
index 000000000..2f88b4e9d
--- /dev/null
+++ b/data/common_text/common_text.asm
@@ -0,0 +1,16 @@
+INCLUDE "constants.asm"
+
+
+SECTION "Text 1", ROMX
+
+INCLUDE "data/common_text/common_text_1.asm"
+
+
+SECTION "Text 2", ROMX
+
+INCLUDE "data/common_text/common_text_2.asm"
+
+
+SECTION "Text 3", ROMX
+
+INCLUDE "data/common_text/common_text_3.asm"
diff --git a/text/common_1.asm b/data/common_text/common_text_1.asm
index 34694b31e..38007bc43 100644
--- a/text/common_1.asm
+++ b/data/common_text/common_text_1.asm
@@ -39,7 +39,7 @@ UnknownText_0x1bc089::
UnknownText_0x1bc0a2::
text_from_ram StringBuffer1
- text ""
+ text_start
line "recovered @"
deciram wd1f3, 2, 3
text "HP!"
@@ -65,13 +65,13 @@ UnknownText_0x1bc0ea::
UnknownText_0x1bc101::
text_from_ram StringBuffer1
- text ""
+ text_start
line "was defrosted."
done
UnknownText_0x1bc115::
text_from_ram StringBuffer1
- text ""
+ text_start
line "woke up."
done
@@ -83,7 +83,7 @@ UnknownText_0x1bc123::
UnknownText_0x1bc13a::
text_from_ram StringBuffer1
- text ""
+ text_start
line "is revitalized."
done
@@ -121,14 +121,17 @@ UnknownText_0x1bc1cf::
UnknownText_0x1bc1eb::
text "Your PASSCODE has"
line "been set."
+
para "Enter this number"
line "next time to open"
cont "the CARD FOLDER."
+
para ""
done
UnknownText_0x1bc23e::
text "0000 is invalid!"
+
para ""
done
@@ -140,6 +143,7 @@ UnknownText_0x1bc251::
UnknownText_0x1bc272::
text "Incorrect"
line "PASSCODE!"
+
para ""
done
@@ -147,8 +151,8 @@ UnknownText_0x1bc288::
text "CARD FOLDER open.@@"
UnknownText_0x1bc29c::
- text "<......><......><......><......><......><......>"
- line "<......><......><......><......><......><......>"
+ text "<……><……><……><……><……><……>"
+ line "<……><……><……><……><……><……>"
para "Zzz… Hm? Wha…?"
line "You woke me up!"
@@ -292,7 +296,7 @@ UnknownText_0x1bc51c::
text "Put away the"
line "@"
text_from_ram StringBuffer3
- text ""
+ text_start
para "and set up the"
line "@"
@@ -376,7 +380,7 @@ UnknownText_0x1bc6e9::
done
UnknownText_0x1bc701::
- text ""
+ text_start
done
UnknownText_0x1bc703::
@@ -485,202 +489,202 @@ UnknownText_0x1bc80a::
; Oak's Pokémon Talk
_OPT_IntroText1::
- text ""
+ text_start
line "MARY: PROF.OAK'S"
done
_OPT_IntroText2::
- text ""
+ text_start
line "#MON TALK!"
done
_OPT_IntroText3::
- text ""
+ text_start
line "With me, MARY!"
done
_OPT_OakText1::
- text ""
+ text_start
line "OAK: @"
text_from_ram wMonOrItemNameBuffer
db "@@"
_OPT_OakText2::
- text ""
+ text_start
line "may be seen around"
done
_OPT_OakText3::
- text ""
+ text_start
line "@"
text_from_ram StringBuffer1
text "."
done
_OPT_MaryText1::
- text ""
+ text_start
line "MARY: @"
text_from_ram StringBuffer1
text "'s"
done
OPT_SweetAdorably::
- text ""
+ text_start
line "sweet and adorably"
done
OPT_WigglySlickly::
- text ""
+ text_start
line "wiggly and slickly"
done
OPT_AptlyNamed::
- text ""
+ text_start
line "aptly named and"
done
OPT_UndeniablyKindOf::
- text ""
+ text_start
line "undeniably kind of"
done
OPT_Unbearably::
- text ""
+ text_start
line "so, so unbearably"
done
OPT_WowImpressively::
- text ""
+ text_start
line "wow, impressively"
done
OPT_AlmostPoisonously::
- text ""
+ text_start
line "almost poisonously"
done
OPT_Sensually::
- text ""
+ text_start
line "ooh, so sensually"
done
OPT_Mischievously::
- text ""
+ text_start
line "so mischievously"
done
OPT_Topically::
- text ""
+ text_start
line "so very topically"
done
OPT_Addictively::
- text ""
+ text_start
line "sure addictively"
done
OPT_LooksInWater::
- text ""
+ text_start
line "looks in water is"
done
OPT_EvolutionMustBe::
- text ""
+ text_start
line "evolution must be"
done
OPT_Provocatively::
- text ""
+ text_start
line "provocatively"
done
OPT_FlippedOut::
- text ""
+ text_start
line "so flipped out and"
done
OPT_HeartMeltingly::
- text ""
+ text_start
line "heart-meltingly"
done
OPT_Cute::
- text ""
+ text_start
line "cute."
done
OPT_Weird::
- text ""
+ text_start
line "weird."
done
OPT_Pleasant::
- text ""
+ text_start
line "pleasant."
done
OPT_BoldSortOf::
- text ""
+ text_start
line "bold, sort of."
done
OPT_Frightening::
- text ""
+ text_start
line "frightening."
done
OPT_SuaveDebonair::
- text ""
+ text_start
line "suave & debonair!"
done
OPT_Powerful::
- text ""
+ text_start
line "powerful."
done
OPT_Exciting::
- text ""
+ text_start
line "exciting."
done
OPT_Groovy::
- text ""
+ text_start
line "groovy!"
done
OPT_Inspiring::
- text ""
+ text_start
line "inspiring."
done
OPT_Friendly::
- text ""
+ text_start
line "friendly."
done
OPT_HotHotHot::
- text ""
+ text_start
line "hot, hot, hot!"
done
OPT_Stimulating::
- text ""
+ text_start
line "stimulating."
done
OPT_Guarded::
- text ""
+ text_start
line "guarded."
done
OPT_Lovely::
- text ""
+ text_start
line "lovely."
done
OPT_Speedy::
- text ""
+ text_start
line "speedy."
done
@@ -689,7 +693,7 @@ _OPT_PokemonChannelText::
done
_PokedexShowText::
- text ""
+ text_start
line "@"
text_from_ram StringBuffer1
db "@@"
@@ -697,96 +701,96 @@ _PokedexShowText::
; Pokémon Music Channel / Pokémusic
_BenIntroText1::
- text ""
+ text_start
line "BEN: #MON MUSIC"
done
_BenIntroText2::
- text ""
+ text_start
line "CHANNEL!"
done
_BenIntroText3::
- text ""
+ text_start
line "It's me, DJ BEN!"
done
_FernIntroText1::
- text ""
+ text_start
line "FERN: #MUSIC!"
done
_FernIntroText2::
- text ""
+ text_start
line "With DJ FERN!"
done
_BenFernText1::
- text ""
+ text_start
line "Today's @"
current_day
text ","
done
_BenFernText2A::
- text ""
+ text_start
line "so let us jam to"
done
_BenFernText2B::
- text ""
+ text_start
line "so chill out to"
done
_BenFernText3A::
- text ""
+ text_start
line "#MON March!"
done
_BenFernText3B::
- text ""
+ text_start
line "#MON Lullaby!"
done
; Lucky Channel
_LC_Text1::
- text ""
+ text_start
line "REED: Yeehaw! How"
done
_LC_Text2::
- text ""
+ text_start
line "y'all doin' now?"
done
_LC_Text3::
- text ""
+ text_start
line "Whether you're up"
done
_LC_Text4::
- text ""
+ text_start
line "or way down low,"
done
_LC_Text5::
- text ""
+ text_start
line "don't you miss the"
done
_LC_Text6::
- text ""
+ text_start
line "LUCKY NUMBER SHOW!"
done
_LC_Text7::
- text ""
+ text_start
line "This week's Lucky"
done
_LC_Text8::
- text ""
+ text_start
line "Number is @"
interpret_data
text_from_ram StringBuffer1
@@ -794,49 +798,49 @@ _LC_Text8::
done
_LC_Text9::
- text ""
+ text_start
line "I'll repeat that!"
done
_LC_Text10::
- text ""
+ text_start
line "Match it and go to"
done
_LC_Text11::
- text ""
+ text_start
line "the RADIO TOWER!"
done
_LC_DragText1::
- text ""
+ text_start
line "…Repeating myself"
done
_LC_DragText2::
- text ""
+ text_start
line "gets to be a drag…"
done
; Places and People
_PnP_Text1::
- text ""
+ text_start
line "PLACES AND PEOPLE!"
done
_PnP_Text2::
- text ""
+ text_start
line "Brought to you by"
done
_PnP_Text3::
- text ""
+ text_start
line "me, DJ LILY!"
done
_PnP_Text4::
- text ""
+ text_start
line "@"
text_from_ram StringBuffer2
text " @"
@@ -844,223 +848,223 @@ _PnP_Text4::
db "@@"
_PnP_cute::
- text ""
+ text_start
line "is cute."
done
_PnP_lazy::
- text ""
+ text_start
line "is sort of lazy."
done
_PnP_happy::
- text ""
+ text_start
line "is always happy."
done
_PnP_noisy::
- text ""
+ text_start
line "is quite noisy."
done
_PnP_precocious::
- text ""
+ text_start
line "is precocious."
done
_PnP_bold::
- text ""
+ text_start
line "is somewhat bold."
done
_PnP_picky::
- text ""
+ text_start
line "is too picky!"
done
_PnP_sortofok::
- text ""
+ text_start
line "is sort of OK."
done
_PnP_soso::
- text ""
+ text_start
line "is just so-so."
done
_PnP_great::
- text ""
+ text_start
line "is actually great."
done
_PnP_mytype::
- text ""
+ text_start
line "is just my type."
done
_PnP_cool::
- text ""
+ text_start
line "is so cool, no?"
done
_PnP_inspiring::
- text ""
+ text_start
line "is inspiring!"
done
_PnP_weird::
- text ""
+ text_start
line "is kind of weird."
done
_PnP_rightforme::
- text ""
+ text_start
line "is right for me?"
done
_PnP_odd::
- text ""
+ text_start
line "is definitely odd!"
done
_PnP_Text5::
- text ""
+ text_start
line "@"
text_from_ram StringBuffer1
db "@@"
_RocketRadioText1::
- text ""
+ text_start
line "… …Ahem, we are"
done
_RocketRadioText2::
- text ""
+ text_start
line "TEAM ROCKET!"
done
_RocketRadioText3::
- text ""
+ text_start
line "After three years"
done
_RocketRadioText4::
- text ""
+ text_start
line "of preparation, we"
done
_RocketRadioText5::
- text ""
+ text_start
line "have risen again"
done
_RocketRadioText6::
- text ""
+ text_start
line "from the ashes!"
done
_RocketRadioText7::
- text ""
+ text_start
line "GIOVANNI! @"
interpret_data
text "Can you"
done
_RocketRadioText8::
- text ""
+ text_start
line "hear?@"
interpret_data
text " We did it!"
done
_RocketRadioText9::
- text ""
+ text_start
line "@"
interpret_data
text "Where is our boss?"
done
_RocketRadioText10::
- text ""
+ text_start
line "@"
interpret_data
text "Is he listening?"
done
_BuenaRadioText1::
- text ""
+ text_start
line "BUENA: BUENA here!"
done
_BuenaRadioText2::
- text ""
+ text_start
line "Today's password!"
done
_BuenaRadioText3::
- text ""
+ text_start
line "Let me think… It's"
done
_BuenaRadioText4::
- text ""
+ text_start
line "@"
text_from_ram StringBuffer1
text "!"
done
_BuenaRadioText5::
- text ""
+ text_start
line "Don't forget it!"
done
_BuenaRadioText6::
- text ""
+ text_start
line "I'm in GOLDENROD's"
done
_BuenaRadioText7::
- text ""
+ text_start
line "RADIO TOWER!"
done
_BuenaRadioMidnightText1::
- text ""
+ text_start
line "BUENA: Oh my…"
done
_BuenaRadioMidnightText2::
- text ""
+ text_start
line "It's midnight! I"
done
_BuenaRadioMidnightText3::
- text ""
+ text_start
line "have to shut down!"
done
_BuenaRadioMidnightText4::
- text ""
+ text_start
line "Thanks for tuning"
done
_BuenaRadioMidnightText5::
- text ""
+ text_start
line "in to the end! But"
done
_BuenaRadioMidnightText6::
- text ""
+ text_start
line "don't stay up too"
done
_BuenaRadioMidnightText7::
- text ""
+ text_start
line "late! Presented to"
done
_BuenaRadioMidnightText8::
- text ""
+ text_start
line "you by DJ BUENA!"
done
@@ -1073,7 +1077,7 @@ _BuenaRadioMidnightText10::
done
_BuenaOffTheAirText::
- text ""
+ text_start
line ""
done
@@ -1089,7 +1093,7 @@ Text_EnemyUsedOn::
text "<ENEMY>"
line "used @"
text_from_ram wMonOrItemNameBuffer
- text ""
+ text_start
cont "on @"
text_from_ram EnemyMonNick
text "!"
@@ -1108,7 +1112,7 @@ Text_ThatItemCantBePutInThePack::
Text_TheItemWasPutInThePack::
text "The @"
text_from_ram StringBuffer1
- text ""
+ text_start
line "was put in the"
cont "PACK."
done
@@ -1248,7 +1252,7 @@ UnknownText_0x1bd266::
UnknownText_0x1bd286::
text "Trading @"
text_from_ram StringBuffer2
- text ""
+ text_start
line "for @"
text_from_ram StringBuffer1
text "…"
@@ -1432,7 +1436,7 @@ UnknownText_0x1bd5cc::
UnknownText_0x1bd5f4::
text "Hi! The @"
text_from_ram wMonOrItemNameBuffer
- text ""
+ text_start
line "you traded me is"
cont "doing great!"
done
@@ -1532,7 +1536,7 @@ UnknownText_0x1bd868::
text "OK, I'll take care"
line "of your money."
- para "<......><......><......>"
+ para "<……><……><……>"
prompt
UnknownText_0x1bd88e::
@@ -1621,7 +1625,7 @@ UnknownText_0x1bda90::
done
UnknownText_0x1bdaa7::
- text ""
+ text_start
done
UnknownText_0x1bdaa9::
@@ -1725,7 +1729,7 @@ UnknownText_0x1bdd64::
UnknownText_0x1bdd96::
text "Your @"
text_from_ram StringBuffer1
- text ""
+ text_start
line "has grown a lot."
para "By level, it's"
@@ -1756,7 +1760,7 @@ UnknownText_0x1bde32::
text "Huh? Back already?"
line "Your @"
text_from_ram StringBuffer1
- text ""
+ text_start
para "needs a little"
line "more time with us."
diff --git a/text/common_3.asm b/data/common_text/common_text_2.asm
index 6f42c0bc3..bddd0d470 100644
--- a/text/common_3.asm
+++ b/data/common_text/common_text_2.asm
@@ -1,3 +1,313 @@
+UnknownText_0x1c0000::
+ text "Oh, no picture?"
+ line "Come again, OK?"
+ done
+
+UnknownText_0x1c0021::
+ text "An EGG? My talent"
+ line "is worth more…"
+ done
+
+UnknownText_0x1c0043::
+ text "Hello, hello! I'm"
+ line "the NAME RATER."
+
+ para "I rate the names"
+ line "of #MON."
+
+ para "Would you like me"
+ line "to rate names?"
+ done
+
+UnknownText_0x1c00a0::
+ text "Which #MON's"
+ line "nickname should I"
+ cont "rate for you?"
+ prompt
+
+UnknownText_0x1c00cd::
+ text "Hm… @"
+ text_from_ram StringBuffer1
+ text "…"
+ line "That's a fairly"
+ cont "decent name."
+
+ para "But, how about a"
+ line "slightly better"
+ cont "nickname?"
+
+ para "Want me to give it"
+ line "a better name?"
+ done
+
+UnknownText_0x1c0142::
+ text "All right. What"
+ line "name should we"
+ cont "give it, then?"
+ prompt
+
+UnknownText_0x1c0171::
+ text "That's a better"
+ line "name than before!"
+
+ para "Well done!"
+ done
+
+UnknownText_0x1c019e::
+ text "OK, then. Come"
+ line "again sometime."
+ done
+
+UnknownText_0x1c01be::
+ text "Hm… @"
+ text_from_ram StringBuffer1
+ text "?"
+ line "What a great name!"
+ cont "It's perfect."
+
+ para "Treat @"
+ text_from_ram StringBuffer1
+ text_start
+ line "with loving care."
+ done
+
+UnknownText_0x1c0208::
+ text "Whoa… That's just"
+ line "an EGG."
+ done
+
+UnknownText_0x1c0222::
+ text "It might look the"
+ line "same as before,"
+
+ para "but this new name"
+ line "is much better!"
+
+ para "Well done!"
+ done
+
+UnknownText_0x1c0272::
+ text "All right. This"
+ line "#MON is now"
+ cont "named @"
+ text_from_ram StringBuffer1
+ text "."
+ prompt
+
+Text_Gained::
+ text_from_ram StringBuffer1
+ text " gained@@"
+
+Text_ABoostedStringBuffer2ExpPoints::
+ text_start
+ line "a boosted"
+ cont "@"
+ deciram StringBuffer2, 2, 4
+ text " EXP. Points!"
+ prompt
+
+Text_StringBuffer2ExpPoints::
+ text_start
+ line "@"
+ deciram StringBuffer2, 2, 4
+ text " EXP. Points!"
+ prompt
+
+Text_GoPkmn::
+ text "Go! @@"
+
+Text_DoItPkmn::
+ text "Do it! @@"
+
+Text_GoForItPkmn::
+ text "Go for it,"
+ line "@@"
+
+Text_YourFoesWeakGetmPkmn::
+ text "Your foe's weak!"
+ line "Get'm, @@"
+
+Text_BattleMonNick01::
+ text_from_ram BattleMonNick
+ text "!"
+ done
+
+Text_BattleMonNickComma::
+ text_from_ram BattleMonNick
+ text ",@@"
+
+Text_ThatsEnoughComeBack::
+ text " that's"
+ line "enough! Come back!@@"
+
+Text_OKComeBack::
+ text " OK!"
+ line "Come back!@@"
+
+Text_GoodComeBack::
+ text " good!"
+ line "Come back!@@"
+
+Text_ComeBack::
+ text " come"
+ line "back!"
+ done
+
+UnknownText_0x1c0373::
+ text "Booted up a TM."
+ prompt
+
+UnknownText_0x1c0384::
+ text "Booted up an HM."
+ prompt
+
+UnknownText_0x1c0396::
+ text "It contained"
+ line "@"
+ text_from_ram StringBuffer2
+ text "."
+
+ para "Teach @"
+ text_from_ram StringBuffer2
+ text_start
+ line "to a #MON?"
+ done
+
+UnknownText_0x1c03c2::
+ text_from_ram StringBuffer2
+ text " is"
+ line "not compatible"
+ cont "with @"
+ text_from_ram StringBuffer1
+ text "."
+
+ para "It can't learn"
+ line "@"
+ text_from_ram StringBuffer2
+ text "."
+ prompt
+
+UnknownText_0x1c03fa::
+ text "You have no room"
+ line "for any more"
+ cont "@"
+ text_from_ram StringBuffer1
+ text "S."
+ prompt
+
+UnknownText_0x1c0421::
+ text "You received"
+ line "@"
+ text_from_ram StringBuffer1
+ text "!"
+ prompt
+
+UnknownText_0x1c0436::
+ text "The link has been"
+ line "cancelled."
+ prompt
+
+UnknownText_0x1c0454::
+ text "Communication"
+ line "error."
+ prompt
+
+UnknownText_0x1c046a::
+ text "Must retrieve GIFT"
+ line "at #MON CENTER."
+ prompt
+
+UnknownText_0x1c048e::
+ text "Your friend isn't"
+ line "ready."
+ prompt
+
+UnknownText_0x1c04a7::
+ text "Sorry--only five"
+ line "GIFTS a day."
+ prompt
+
+UnknownText_0x1c04c6::
+ text "Sorry. One GIFT"
+ line "a day per person."
+ prompt
+
+UnknownText_0x1c04e9::
+ text_from_ram wMysteryGiftPartnerName
+ text " sent"
+ line "@"
+ text_from_ram StringBuffer1
+ text "."
+ prompt
+
+UnknownText_0x1c04fa::
+ text_from_ram wMysteryGiftPartnerName
+ text " sent"
+ line "@"
+ text_from_ram StringBuffer1
+ text_start
+ cont "to @"
+ text_from_ram wMysteryGiftPlayerName
+ text "'s home."
+ prompt
+
+UnknownText_0x1c051a::
+ text "Received"
+ line "@"
+ text_from_ram wc850
+ text "'s CARD."
+ prompt
+
+UnknownText_0x1c0531::
+ text_from_ram wc850
+ text "'s CARD was"
+ line "listed as no.@"
+ deciram wd265, 1, 2
+ text "."
+ prompt
+
+UnknownText_0x1c0555::
+ text "The CARD was not"
+ line "registered."
+ prompt
+
+UnknownText_0x1c0573::
+ text "The link has been"
+ line "cancelled."
+ prompt
+
+UnknownText_0x1c0591::
+ text "Communication"
+ line "error."
+ prompt
+
+_BadgeRequiredText::
+ text "Sorry! A new BADGE"
+ line "is required."
+ prompt
+
+UnknownText_0x1c05c8::
+ text "Can't use that"
+ line "here."
+ prompt
+
+UnknownText_0x1c05dd::
+ text_from_ram StringBuffer2
+ text " used"
+ line "CUT!"
+ prompt
+
+UnknownText_0x1c05ec::
+ text "There's nothing to"
+ line "CUT here."
+ prompt
+
+UnknownText_0x1c0609::
+ text "A blinding FLASH"
+ line "lights the area!@"
+ text_waitbutton
+ db "@@"
+
_UsedSurfText::
text_from_ram StringBuffer2
text " used"
@@ -236,7 +546,7 @@ UnknownText_0x1c0aa9::
UnknownText_0x1c0acc::
text_from_ram StringBuffer3
- text ""
+ text_start
line "fainted!"
prompt
@@ -289,7 +599,7 @@ UnknownText_0x1c0ba5::
UnknownText_0x1c0bbb::
text "Throw away @"
deciram wItemQuantityChangeBuffer, 1, 2
- text ""
+ text_start
line "@"
text_from_ram StringBuffer2
text "(S)?"
@@ -331,7 +641,7 @@ UnknownText_0x1c0c63::
done
UnknownText_0x1c0c83::
- text ""
+ text_start
done
Text_YouCantUseItInABattle::
@@ -352,7 +662,7 @@ UnknownText_0x1c0cc6::
UnknownText_0x1c0cd0::
interpret_data
- text $4c, "went way up!"
+ text "<SCROLL>went way up!"
prompt
UnknownText_0x1c0ce0::
@@ -367,7 +677,7 @@ UnknownText_0x1c0ceb::
UnknownText_0x1c0cf5::
interpret_data
- text $4c, "sharply fell!"
+ text "<SCROLL>sharply fell!"
prompt
UnknownText_0x1c0d06::
@@ -378,32 +688,32 @@ UnknownText_0x1c0d0e::
text "<USER>@@"
UnknownText_0x1c0d12::
- text ""
+ text_start
line "made a whirlwind!"
prompt
UnknownText_0x1c0d26::
- text ""
+ text_start
line "took in sunlight!"
prompt
UnknownText_0x1c0d3a::
- text ""
+ text_start
line "lowered its head!"
prompt
UnknownText_0x1c0d4e::
- text ""
+ text_start
line "is glowing!"
prompt
UnknownText_0x1c0d5c::
- text ""
+ text_start
line "flew up high!"
prompt
UnknownText_0x1c0d6c::
- text ""
+ text_start
line "dug a hole!"
prompt
@@ -411,11 +721,11 @@ _ActorNameText::
text "<USER>@@"
_UsedMove1Text::
- text ""
+ text_start
line "used @@"
_UsedMove2Text::
- text ""
+ text_start
line "used @@"
_UsedInsteadText::
@@ -448,10 +758,11 @@ _EndUsedMove5Text::
UnknownText_0x1c0db0::
text "Huh?"
+
para "@@"
UnknownText_0x1c0db8::
- text ""
+ text_start
done
UnknownText_0x1c0dba::
@@ -472,7 +783,7 @@ UnknownText_0x1c0dd8::
UnknownText_0x1c0df3::
text "It's @"
text_from_ram wBreedMon2Nick
- text ""
+ text_start
line "that was left with"
cont "the DAY-CARE LADY."
done
@@ -480,7 +791,7 @@ UnknownText_0x1c0df3::
UnknownText_0x1c0e24::
text "It's @"
text_from_ram wBreedMon1
- text ""
+ text_start
line "that was left with"
cont "the DAY-CARE MAN."
done
@@ -564,7 +875,7 @@ UnknownText_0x1c0fbc::
deciram wcf64, 1, 3
text " @"
text_from_ram StringBuffer1
- text ""
+ text_start
line "Animation type @"
text_from_ram StringBuffer2
db "@@"
@@ -643,7 +954,7 @@ ContestJudging_FirstPlaceText::
text "!@@"
ContestJudging_FirstPlaceScoreText::
- text ""
+ text_start
para "The winning score"
line "was @"
@@ -656,13 +967,15 @@ ContestJudging_SecondPlaceText::
line "@"
text_from_ram wBugContestWinnerName
text ","
+
para "who caught a"
line "@"
text_from_ram StringBuffer1
text "!@@"
ContestJudging_SecondPlaceScoreText::
- text ""
+ text_start
+
para "The score was"
line "@"
deciram wBugContestSecondPlaceScore, 2, 3
@@ -674,13 +987,15 @@ ContestJudging_ThirdPlaceText::
line "@"
text_from_ram wBugContestWinnerName
text ","
+
para "who caught a"
line "@"
text_from_ram StringBuffer1
text "!@@"
ContestJudging_ThirdPlaceScoreText::
- text ""
+ text_start
+
para "The score was"
line "@"
deciram wBugContestThirdPlaceScore, 2, 3
@@ -699,6 +1014,7 @@ UnknownText_0x1c1203::
UnknownText_0x1c123a::
text "CURRENT RECORD"
+
para "@"
text_from_ram StringBuffer1
text " caught by"
@@ -763,7 +1079,7 @@ _KrissPCHowManyWithdrawText::
_KrissPCWithdrewItemsText::
text "Withdrew @"
deciram wItemQuantityChangeBuffer, 1, 2
- text ""
+ text_start
line "@"
text_from_ram StringBuffer2
text "(S)."
@@ -786,7 +1102,7 @@ _KrissPCHowManyDepositText::
_KrissPCDepositItemsText::
text "Deposited @"
deciram wItemQuantityChangeBuffer, 1, 2
- text ""
+ text_start
line "@"
text_from_ram StringBuffer2
text "(S)."
@@ -1002,17 +1318,21 @@ _OakPCText4::
UnknownText_0x1c19cd::
text "Triple-theme"
line "trainer ranking!"
+
para "The SAVE file you"
line "just sent might"
cont "make the rankings!"
+
para ""
done
UnknownText_0x1c1a22::
text "There is no"
line "ranking data."
+
para "Link to obtain"
line "ranking data."
+
para ""
done
@@ -1039,7 +1359,7 @@ UnknownText_0x1c1a90::
UnknownText_0x1c1aad::
text "Throw away @"
deciram wItemQuantityChangeBuffer, 1, 2
- text ""
+ text_start
line "@"
text_from_ram StringBuffer2
text "(S)?"
@@ -1080,7 +1400,7 @@ UnknownText_0x1c1b2c::
UnknownText_0x1c1b57::
text "Made @"
text_from_ram wMonOrItemNameBuffer
- text ""
+ text_start
line "hold @"
text_from_ram StringBuffer2
text "."
@@ -1105,7 +1425,7 @@ UnknownText_0x1c1baa::
UnknownText_0x1c1bc4::
text "Took @"
text_from_ram StringBuffer1
- text ""
+ text_start
line "from @"
text_from_ram wMonOrItemNameBuffer
text "."
diff --git a/text/common_5.asm b/data/common_text/common_text_3.asm
index ee9d32a8b..a04432637 100644
--- a/text/common_5.asm
+++ b/data/common_text/common_text_3.asm
@@ -1,3 +1,689 @@
+_OakText6::
+ text "Now, what did you"
+ line "say your name was?"
+ prompt
+
+_OakText7::
+ text "<PLAYER>, are you"
+ line "ready?"
+
+ para "Your very own"
+ line "#MON story is"
+ cont "about to unfold."
+
+ para "You'll face fun"
+ line "times and tough"
+ cont "challenges."
+
+ para "A world of dreams"
+ line "and adventures"
+
+ para "with #MON"
+ line "awaits! Let's go!"
+
+ para "I'll be seeing you"
+ line "later!"
+ done
+
+UnknownText_0x1c40e6::
+ text "The clock's time"
+ line "may be wrong."
+
+ para "Please reset the"
+ line "time."
+ prompt
+
+UnknownText_0x1c411c::
+ text "Set with the"
+ line "Control Pad."
+
+ para "Confirm: A Button"
+ line "Cancel: B Button"
+ done
+
+UnknownText_0x1c415b::
+ text "Is this OK?"
+ done
+
+UnknownText_0x1c4168::
+ text "The clock has been"
+ line "reset."
+ done
+
+UnknownText_0x1c4183::
+ text "Too much time has"
+ line "elapsed. Please"
+ cont "try again."
+ prompt
+
+UnknownText_0x1c41b1::
+ text "If you trade that"
+ line "#MON, you won't"
+ cont "be able to battle."
+ prompt
+
+UnknownText_0x1c41e6::
+ text "Your friend's"
+ line "@"
+ text_from_ram StringBuffer1
+ text " appears"
+ cont "to be abnormal!"
+ prompt
+
+UnknownText_0x1c4212::
+ text "Trade @"
+ text_from_ram wd004
+ text_start
+ line "for @"
+ text_from_ram StringBuffer1
+ text "?"
+ done
+
+UnknownText_0x1c422a::
+ text "To enter a mobile"
+ line "battle, you must"
+
+ para "pick a team of"
+ line "three #MON."
+
+ para "Is that OK?"
+ done
+
+UnknownText_0x1c4275::
+ text "Need more info on"
+ line "mobile battles?"
+ done
+
+UnknownText_0x1c4298::
+ text "For a mobile"
+ line "battle, choose"
+ cont "three #MON."
+
+ para "The maximum daily"
+ line "play time is ten"
+
+ para "minutes for each"
+ line "linked player."
+
+ para "If a battle isn't"
+ line "finished within"
+
+ para "the time limit,"
+ line "the player with"
+
+ para "the fewest fainted"
+ line "#MON wins."
+
+ para "If tied, the team"
+ line "that lost the"
+
+ para "least amount of HP"
+ line "wins."
+ done
+
+UnknownText_0x1c439c::
+ text "Today's remaining"
+ line "time is @"
+ deciram StringBuffer2, 1, 2
+ text " min."
+
+ para "Would you like to"
+ line "battle?"
+ done
+
+UnknownText_0x1c43dc::
+ text "There are only @"
+ deciram StringBuffer2, 1, 2
+ text_start
+ line "min. left today."
+
+ para "Want a quick"
+ line "battle?"
+ done
+
+UnknownText_0x1c4419::
+ text "There is only"
+ line "1 min. left today!"
+
+ para "Want to rush"
+ line "through a battle?"
+ done
+
+UnknownText_0x1c445a::
+ text "There is less than"
+ line "1 min. left today!"
+
+ para "Please try again"
+ line "tomorrow."
+ done
+
+UnknownText_0x1c449c::
+ text "Try again using"
+ line "the same settings?"
+ done
+
+UnknownText_0x1c44c0::
+ text "There is less than"
+ line "1 min. left today!"
+ done
+
+UnknownText_0x1c44e7::
+ text "No time left for"
+ line "linking today."
+ done
+
+UnknownText_0x1c4508::
+ text "Pick three #MON"
+ line "for battle."
+ done
+
+UnknownText_0x1c4525::
+ text "Today's remaining"
+ line "time is @"
+ deciram StringBuffer2, 1, 2
+ text " min."
+ done
+
+UnknownText_0x1c454b::
+ text "Would you like to"
+ line "save the game?"
+ done
+
+UnknownText_0x1c456d::
+ text "SAVING… DON'T TURN"
+ line "OFF THE POWER."
+ done
+
+UnknownText_0x1c4590::
+ text "<PLAYER> saved"
+ line "the game."
+ done
+
+UnknownText_0x1c45a3::
+ text "There is already a"
+ line "save file. Is it"
+ cont "OK to overwrite?"
+ done
+
+UnknownText_0x1c45d9::
+ text "There is another"
+ line "save file. Is it"
+ cont "OK to overwrite?"
+ done
+
+UnknownText_0x1c460d::
+ text "The save file is"
+ line "corrupted!"
+ prompt
+
+UnknownText_0x1c462a::
+ text "When you change a"
+ line "#MON BOX, data"
+ cont "will be saved. OK?"
+ done
+
+UnknownText_0x1c465f::
+ text "Each time you move"
+ line "a #MON, data"
+ cont "will be saved. OK?"
+ done
+
+UnknownText_0x1c4693::
+ text "The window save"
+ line "area was exceeded."
+ done
+
+UnknownText_0x1c46b7::
+ text "No windows avail-"
+ line "able for popping."
+ done
+
+UnknownText_0x1c46dc::
+ text "Corrupted event!"
+ prompt
+
+_ObjectEventText::
+ text "Object event"
+ done
+
+UnknownText_0x1c46fc::
+ text "BG event"
+ done
+
+UnknownText_0x1c4706::
+ text "Coordinates event"
+ done
+
+UnknownText_0x1c4719::
+ text "<PLAYER> received"
+ line "@"
+ text_from_ram StringBuffer4
+ text "."
+ done
+
+UnknownText_0x1c472c::
+ text "<PLAYER> put the"
+ line "@"
+ text_from_ram StringBuffer1
+ text " in"
+ cont "the @"
+ text_from_ram StringBuffer3
+ text "."
+ prompt
+
+UnknownText_0x1c474b::
+ text "The @"
+ text_from_ram StringBuffer3
+ text_start
+ line "is full…"
+ prompt
+
+UnknownText_0x1c475f::
+ text "I see all."
+ line "I know all…"
+
+ para "Certainly, I know"
+ line "of your #MON!"
+ done
+
+UnknownText_0x1c4797::
+ text "Whaaaat? I can't"
+ line "tell a thing!"
+
+ para "How could I not"
+ line "know of this?"
+ done
+
+UnknownText_0x1c47d4::
+ text "Hm… I see you met"
+ line "@"
+ text_from_ram wSeerNickname
+ text " here:"
+ cont "@"
+ text_from_ram wSeerCaughtLocation
+ text "!"
+ prompt
+
+UnknownText_0x1c47fa::
+ text "The time was"
+ line "@"
+ text_from_ram wSeerTimeOfDay
+ text "!"
+
+ para "Its level was @"
+ text_from_ram wSeerCaughtLevelString
+ text "!"
+
+ para "Am I good or what?"
+ prompt
+
+UnknownText_0x1c4837::
+ text "Hm… @"
+ text_from_ram wSeerNickname
+ text_start
+ line "came from @"
+ text_from_ram wSeerOTName
+ text_start
+ cont "in a trade?"
+
+ para "@"
+ text_from_ram wSeerCaughtLocation
+ text_start
+ line "was where @"
+ text_from_ram wSeerOTName
+ text_start
+ cont "met @"
+ text_from_ram wSeerNickname
+ text "!"
+ prompt
+
+UnknownText_0x1c487f::
+ text "What!? Incredible!"
+
+ para "I don't understand"
+ line "how, but it is"
+
+ para "incredible!"
+ line "You are special."
+
+ para "I can't tell where"
+ line "you met it, but it"
+ cont "was at level @"
+ text_from_ram wSeerCaughtLevelString
+ text "."
+
+ para "Am I good or what?"
+ prompt
+
+UnknownText_0x1c491d::
+ text "Hey!"
+
+ para "That's an EGG!"
+
+ para "You can't say that"
+ line "you've met it yet…"
+ done
+
+UnknownText_0x1c4955::
+ text "Fufufu! I saw that"
+ line "you'd do nothing!"
+ done
+
+UnknownText_0x1c497a::
+ text "Incidentally…"
+
+ para "It would be wise"
+ line "to raise your"
+
+ para "#MON with a"
+ line "little more care."
+ done
+
+UnknownText_0x1c49c6::
+ text "Incidentally…"
+
+ para "It seems to have"
+ line "grown a little."
+
+ para "@"
+ text_from_ram wSeerNickname
+ text " seems"
+ line "to be becoming"
+ cont "more confident."
+ done
+
+UnknownText_0x1c4a21::
+ text "Incidentally…"
+
+ para "@"
+ text_from_ram wSeerNickname
+ text " has"
+ line "grown. It's gained"
+ cont "much strength."
+ done
+
+UnknownText_0x1c4a5b::
+ text "Incidentally…"
+
+ para "It certainly has"
+ line "grown mighty!"
+
+ para "This @"
+ text_from_ram wSeerNickname
+ text_start
+ line "must have come"
+
+ para "through numerous"
+ line "#MON battles."
+
+ para "It looks brimming"
+ line "with confidence."
+ done
+
+UnknownText_0x1c4ae5::
+ text "Incidentally…"
+
+ para "I'm impressed by"
+ line "your dedication."
+
+ para "It's been a long"
+ line "time since I've"
+
+ para "seen a #MON as"
+ line "mighty as this"
+ cont "@"
+ text_from_ram wSeerNickname
+ text "."
+
+ para "I'm sure that"
+ line "seeing @"
+ text_from_ram wSeerNickname
+ text_start
+
+ para "in battle would"
+ line "excite anyone."
+ done
+
+UnknownText_0x1c4b92::
+ text "Congratulations!"
+ line "Your @"
+ text_from_ram StringBuffer2
+ db "@@"
+
+UnknownText_0x1c4baf::
+ text_start
+
+ para "evolved into"
+ line "@"
+ text_from_ram StringBuffer1
+ text "!"
+ done
+
+UnknownText_0x1c4bc5::
+ text "Huh? @"
+ text_from_ram StringBuffer2
+ text_start
+ line "stopped evolving!"
+ prompt
+
+UnknownText_0x1c4be3::
+ text "What? @"
+ text_from_ram StringBuffer2
+ text_start
+ line "is evolving!"
+ done
+
+UnknownText_0x1c4bfd::
+ text "How many?"
+ done
+
+UnknownText_0x1c4c08::
+ deciram wItemQuantityChangeBuffer, 1, 2
+ text " @"
+ text_from_ram StringBuffer2
+ text "(S)"
+ line "will be ¥@"
+ deciram hMoneyTemp, 3, 6
+ text "."
+ done
+
+UnknownText_0x1c4c28::
+ text "Hello, dear."
+
+ para "I sell inexpensive"
+ line "herbal medicine."
+
+ para "They're good, but"
+ line "a trifle bitter."
+
+ para "Your #MON may"
+ line "not like them."
+
+ para "Hehehehe…"
+ done
+
+UnknownText_0x1c4ca3::
+ text "How many?"
+ done
+
+UnknownText_0x1c4cae::
+ deciram wItemQuantityChangeBuffer, 1, 2
+ text " @"
+ text_from_ram StringBuffer2
+ text "(S)"
+ line "will be ¥@"
+ deciram hMoneyTemp, 3, 6
+ text "."
+ done
+
+UnknownText_0x1c4cce::
+ text "Thank you, dear."
+ line "Hehehehe…"
+ done
+
+UnknownText_0x1c4cea::
+ text "Oh? Your PACK is"
+ line "full, dear."
+ done
+
+UnknownText_0x1c4d08::
+ text "Hehehe… You don't"
+ line "have the money."
+ done
+
+UnknownText_0x1c4d2a::
+ text "Come again, dear."
+ line "Hehehehe…"
+ done
+
+UnknownText_0x1c4d47::
+ text "Hiya! Care to see"
+ line "some bargains?"
+
+ para "I sell rare items"
+ line "that nobody else"
+
+ para "carries--but only"
+ line "one of each item."
+ done
+
+UnknownText_0x1c4db0::
+ text_from_ram StringBuffer2
+ text " costs"
+ line "¥@"
+ deciram hMoneyTemp, 3, 6
+ text ". Want it?"
+ done
+
+UnknownText_0x1c4dcd::
+ text "Thanks."
+ done
+
+UnknownText_0x1c4dd6::
+ text "Uh-oh, your PACK"
+ line "is chock-full."
+ done
+
+UnknownText_0x1c4df7::
+ text "You bought that"
+ line "already. I'm all"
+ cont "sold out of it."
+ done
+
+UnknownText_0x1c4e28::
+ text "Uh-oh, you're"
+ line "short on funds."
+ done
+
+UnknownText_0x1c4e46::
+ text "Come by again"
+ line "sometime."
+ done
+
+UnknownText_0x1c4e5f::
+ text "What's up? Need"
+ line "some medicine?"
+ done
+
+UnknownText_0x1c4e7e::
+ text "How many?"
+ done
+
+UnknownText_0x1c4e89::
+ deciram wItemQuantityChangeBuffer, 1, 2
+ text " @"
+ text_from_ram StringBuffer2
+ text "(S)"
+ line "will cost ¥@"
+ deciram hMoneyTemp, 3, 6
+ text "."
+ done
+
+UnknownText_0x1c4eab::
+ text "Thanks much!"
+ done
+
+UnknownText_0x1c4eb9::
+ text "You don't have any"
+ line "more space."
+ done
+
+UnknownText_0x1c4ed8::
+ text "Huh? That's not"
+ line "enough money."
+ done
+
+UnknownText_0x1c4ef6::
+ text "All right."
+ line "See you around."
+ done
+
+UnknownText_0x1c4f12::
+ text "You don't have"
+ line "anything to sell."
+ prompt
+
+UnknownText_0x1c4f33::
+ text "How many?"
+ done
+
+UnknownText_0x1c4f3e::
+ text "I can pay you"
+ line "¥@"
+ deciram hMoneyTemp, 3, 6
+ text "."
+
+ para "Is that OK?"
+ done
+
+UnknownText_0x1c4f62::
+ text "Welcome! How may I"
+ line "help you?"
+ done
+
+UnknownText_0x1c4f80::
+ text "Here you are."
+ line "Thank you!"
+ done
+
+UnknownText_0x1c4f9a::
+ text "You don't have"
+ line "enough money."
+ done
+
+UnknownText_0x1c4fb7::
+ text "You can't carry"
+ line "any more items."
+ done
+
+UnknownText_0x1c4fd7::
+ text "Sorry, I can't buy"
+ line "that from you."
+ prompt
+
+UnknownText_0x1c4ff9::
+ text "Please come again!"
+ done
+
+UnknownText_0x1c500d::
+ text "Can I do anything"
+ line "else for you?"
+ done
+
+UnknownText_0x1c502e::
+ text "Got ¥@"
+ deciram hMoneyTemp, 3, 6
+ text " for"
+ line "@"
+ text_from_ram StringBuffer2
+ text "(S)."
+ done
+
+UnknownText_0x1c5049::
+ text "Bet how many"
+ line "coins?"
+ done
+
UnknownText_0x1c505e::
text "Start!"
done
@@ -41,10 +727,13 @@ _MobileStadiumEntryText::
_MobileStadiumSuccessText::
text "Data transfer is"
line "complete."
+
para "We hope you enjoy"
line "MOBILE STADIUM"
+
para "battles in the N64"
line "#MON STADIUM 2."
+
para ""
done
@@ -88,43 +777,55 @@ UnknownText_0x1c521c::
UnknownText_0x1c5238::
text "The CARD FOLDER"
line "stores your and"
+
para "your friends'"
line "CARDS."
+
para "A CARD contains"
line "information like"
+
para "the person's name,"
line "phone number and"
cont "profile."
+
para ""
done
UnknownText_0x1c52bc::
text "This is your CARD."
+
para "Once you've"
line "entered your phone"
+
para "number, you can"
line "trade CARDS with"
cont "your friends."
+
para ""
done
UnknownText_0x1c531e::
text "If you have your"
line "friend's CARD, you"
+
para "can use it to make"
line "a call from a"
+
para "mobile phone on"
line "the 2nd floor of a"
cont "#MON CENTER."
+
para ""
done
UnknownText_0x1c5394::
text "To safely store"
line "your collection of"
+
para "CARDS, you must"
line "set a PASSCODE for"
cont "your CARD FOLDER."
+
para ""
done
@@ -152,6 +853,7 @@ UnknownText_0x1c5494::
UnknownText_0x1c54b9::
text "The CARD FOLDER"
line "has been deleted."
+
para ""
done
@@ -184,7 +886,7 @@ UnknownText_0x1c5580::
done
UnknownText_0x1c5588::
- text "<......>"
+ text "<……>"
done
UnknownText_0x1c558b::
@@ -253,7 +955,7 @@ UnknownText_0x1c5699::
UnknownText_0x1c56af::
text_from_ram wMonOrItemNameBuffer
- text ""
+ text_start
line "did not learn"
cont "@"
text_from_ram StringBuffer2
@@ -270,7 +972,7 @@ UnknownText_0x1c56c9::
para "But @"
text_from_ram wMonOrItemNameBuffer
- text ""
+ text_start
line "can't learn more"
cont "than four moves."
@@ -289,7 +991,8 @@ UnknownText_0x1c5740::
UnknownText_0x1c574e::
text " Poof!@"
interpret_data
- text ""
+ text_start
+
para "@"
text_from_ram wMonOrItemNameBuffer
text " forgot"
@@ -345,7 +1048,7 @@ UnknownText_0x1c5821::
db "@@"
UnknownText_0x1c5824::
- text "<......>"
+ text "<……>"
done
UnknownText_0x1c5827::
@@ -381,18 +1084,21 @@ UnknownText_0x1c58bc::
UnknownText_0x1c58d1::
text "Here you go!"
+
para ""
done
UnknownText_0x1c58e0::
text "You don't have"
line "enough points."
+
para ""
done
UnknownText_0x1c58ff::
text "You have no room"
line "for it."
+
para ""
done
@@ -403,12 +1109,14 @@ UnknownText_0x1c591a::
UnknownText_0x1c5937::
text "Excuse me!"
+
para ""
done
Text_ExcuseMeYoureNotReady::
text "Excuse me."
line "You're not ready."
+
para ""
done
@@ -420,18 +1128,21 @@ UnknownText_0x1c5962::
UnknownText_0x1c5983::
text "You need at least"
line "three #MON."
+
para ""
done
UnknownText_0x1c59a3::
text "Sorry, an EGG"
line "doesn't qualify."
+
para ""
done
Text_OnlyThreePkmnMayBeEntered::
text "Only three #MON"
line "may be entered."
+
para ""
done
@@ -441,6 +1152,7 @@ Text_ThePkmnMustAllBeDifferentKinds::
text " #MON"
line "must all be"
cont "different kinds."
+
para ""
done
@@ -450,12 +1162,14 @@ Text_ThePkmnMustNotHoldTheSameItems::
text " #MON"
line "must not hold the"
cont "same items."
+
para ""
done
Text_YouCantTakeAnEgg::
text "You can't take an"
line "EGG!"
+
para ""
done
@@ -495,7 +1209,7 @@ UnknownText_0x1c5afa::
UnknownText_0x1c5b17::
text "Gotcha! @"
text_from_ram EnemyMonNick
- text ""
+ text_start
line "was caught!@"
sound_caught_mon
db "@@"
@@ -607,7 +1321,8 @@ UnknownText_0x1c5d03::
text "There was a trophy"
line "inside!@"
sound_dex_fanfare_50_79
- text ""
+ text_start
+
para "@"
text_from_ram PlayerName
text " sent the"
diff --git a/data/credits_strings.asm b/data/credits_strings.asm
index f885e2152..f23fe3723 100644
--- a/data/credits_strings.asm
+++ b/data/credits_strings.asm
@@ -104,69 +104,69 @@ CreditsStrings:
dw .TextTranslation
dw .PaadTesting
-.SatoshiTajiri: db " SATOSHI TAJIRI@" ; "たじり さとし@"
-.JunichiMasuda: db " JUNICHI MASUDA@" ; "ますだ じゅんいち@"
-.TetsuyaWatanabe: db " TETSUYA WATANABE@" ; "わたなべ てつや@"
-.ShigekiMorimoto: db " SHIGEKI MORIMOTO@" ; "もりもと しげき@"
-.SousukeTamada: db " SOUSUKE TAMADA@" ; "たまだ そうすけ@"
-.TakenoriOota: db " TAKENORI OOTA@" ; "おおた たけのり@"
-.KenSugimori: db " KEN SUGIMORI@" ; "すぎもり けん@"
-.MotofumiFujiwara: db " MOTOFUMI FUJIWARA@" ; "ふじわら もとふみ@"
-.AtsukoNishida: db " ATSUKO NISHIDA@" ; "にしだ あつこ@"
-.MuneoSaito: db " MUNEO SAITO@" ; "さいとう むねお@"
-.SatoshiOota: db " SATOSHI OOTA@" ; "おおた さとし@"
-.RenaYoshikawa: db " RENA YOSHIKAWA@" ; "よしかわ れな@"
-.JunOkutani: db " JUN OKUTANI@" ; "おくたに じゅん@"
-.HironobuYoshida: db " HIRONOBU YOSHIDA@" ; "よしだ ひろのぶ@"
-.AsukaIwashita: db " ASUKA IWASHITA@" ; "いわした あすか@"
-.GoIchinose: db " GO ICHINOSE@" ; "いちのせ ごう@"
-.MorikazuAoki: db " MORIKAZU AOKI@" ; "あおき もりかず@"
-.KohjiNishino: db " KOHJI NISHINO@" ; "にしの こうじ@"
-.KenjiMatsushima: db " KENJI MATSUSHIMA@" ; "まつしま けんじ@"
-.ToshinobuMatsumiya: db "TOSHINOBU MATSUMIYA@" ; "まつみや としのぶ@"
-.SatoruIwata: db " SATORU IWATA@" ; "いわた さとる@"
-.NobuhiroSeya: db " NOBUHIRO SEYA@" ; "せや のぶひろ@"
-.KazuhitoSekine: db " KAZUHITO SEKINE@" ; "せきね かずひと@"
-.TetsujiOota: db " TETSUJI OOTA@" ; "おおた てつじ@"
-.NclSuperMarioClub: db "NCL SUPER MARIO CLUB@" ; "スーパーマりォクラブ@"
+.SatoshiTajiri: db " SATOSHI TAJIRI@" ; "たじり さとし@"
+.JunichiMasuda: db " JUNICHI MASUDA@" ; "ますだ じゅんいち@"
+.TetsuyaWatanabe: db " TETSUYA WATANABE@" ; "わたなべ てつや@"
+.ShigekiMorimoto: db " SHIGEKI MORIMOTO@" ; "もりもと しげき@"
+.SousukeTamada: db " SOUSUKE TAMADA@" ; "たまだ そうすけ@"
+.TakenoriOota: db " TAKENORI OOTA@" ; "おおた たけのり@"
+.KenSugimori: db " KEN SUGIMORI@" ; "すぎもり けん@"
+.MotofumiFujiwara: db " MOTOFUMI FUJIWARA@" ; "ふじわら もとふみ@"
+.AtsukoNishida: db " ATSUKO NISHIDA@" ; "にしだ あつこ@"
+.MuneoSaito: db " MUNEO SAITO@" ; "さいとう むねお@"
+.SatoshiOota: db " SATOSHI OOTA@" ; "おおた さとし@"
+.RenaYoshikawa: db " RENA YOSHIKAWA@" ; "よしかわ れな@"
+.JunOkutani: db " JUN OKUTANI@" ; "おくたに じゅん@"
+.HironobuYoshida: db " HIRONOBU YOSHIDA@" ; "よしだ ひろのぶ@"
+.AsukaIwashita: db " ASUKA IWASHITA@" ; "いわした あすか@"
+.GoIchinose: db " GO ICHINOSE@" ; "いちのせ ごう@"
+.MorikazuAoki: db " MORIKAZU AOKI@" ; "あおき もりかず@"
+.KohjiNishino: db " KOHJI NISHINO@" ; "にしの こうじ@"
+.KenjiMatsushima: db " KENJI MATSUSHIMA@" ; "まつしま けんじ@"
+.ToshinobuMatsumiya: db "TOSHINOBU MATSUMIYA@" ; "まつみや としのぶ@"
+.SatoruIwata: db " SATORU IWATA@" ; "いわた さとる@"
+.NobuhiroSeya: db " NOBUHIRO SEYA@" ; "せや のぶひろ@"
+.KazuhitoSekine: db " KAZUHITO SEKINE@" ; "せきね かずひと@"
+.TetsujiOota: db " TETSUJI OOTA@" ; "おおた てつじ@"
+.NclSuperMarioClub: db "NCL SUPER MARIO CLUB@" ; "スーパーマりオクラブ@"
.Sarugakucho: db " SARUGAKUCHO@" ; "さるがくちょう@"
-.AkitoMori: db " AKITO MORI@" ; "もり あきと@"
-.TakahiroHarada: db " TAKAHIRO HARADA@" ; "はらだ たかひろ@"
-.TohruHashimoto: db " TOHRU HASHIMOTO@" ; "はしもと とおる@"
-.NoboruMatsumoto: db " NOBORU MATSUMOTO@" ; "まつもと のぼる@"
-.TakehiroIzushi: db " TAKEHIRO IZUSHI@" ; "いずし たけひろ@"
-.TakashiKawaguchi: db " TAKASHI KAWAGUCHI@" ; "かわぐち たかし@"
-.TsunekazuIshihara: db " TSUNEKAZU ISHIHARA@" ; "いしはら つねかず@"
-.HiroshiYamauchi: db " HIROSHI YAMAUCHI@" ; "やまうち ひろし@"
-.KenjiSaiki: db " KENJI SAIKI@" ; "さいき けんじ@"
-.AtsushiTada: db " ATSUSHI TADA@" ; "ただ あつし@"
-.NaokoKawakami: db " NAOKO KAWAKAMI@" ; "かわかみ なおこ@"
-.HiroyukiZinnai: db " HIROYUKI ZINNAI@" ; "じんない ひろゆき@"
-.KunimiKawamura: db " KUNIMI KAWAMURA@" ; "かわむら くにみ@"
-.HisashiSogabe: db " HISASHI SOGABE@" ; "そがべ ひさし@"
-.KeitaKagaya: db " KEITA KAGAYA@" ; "かがや けいた@"
-.YoshinoriMatsuda: db " YOSHINORI MATSUDA@" ; "まつだ よしのり@"
-.HitomiSato: db " HITOMI SATO@" ; "さとう ひとみ@"
-.ToruOsawa: db " TORU OSAWA@" ; "おおさわ とおる@"
-.TakaoOhara: db " TAKAO OHARA@" ; "おおはら たかお@"
-.YuichiroIto: db " YUICHIRO ITO@" ; "いとう ゆういちろう@"
-.TakaoShimizu: db " TAKAO SHIMIZU@" ; "しみず たかお@"
+.AkitoMori: db " AKITO MORI@" ; "もり あきと@"
+.TakahiroHarada: db " TAKAHIRO HARADA@" ; "はらだ たかひろ@"
+.TohruHashimoto: db " TOHRU HASHIMOTO@" ; "はしもと とおる@"
+.NoboruMatsumoto: db " NOBORU MATSUMOTO@" ; "まつもと のぼる@"
+.TakehiroIzushi: db " TAKEHIRO IZUSHI@" ; "いずし たけひろ@"
+.TakashiKawaguchi: db " TAKASHI KAWAGUCHI@" ; "かわぐち たかし@"
+.TsunekazuIshihara: db " TSUNEKAZU ISHIHARA@" ; "いしはら つねかず@"
+.HiroshiYamauchi: db " HIROSHI YAMAUCHI@" ; "やまうち ひろし@"
+.KenjiSaiki: db " KENJI SAIKI@" ; "さいき けんじ@"
+.AtsushiTada: db " ATSUSHI TADA@" ; "ただ あつし@"
+.NaokoKawakami: db " NAOKO KAWAKAMI@" ; "かわかみ なおこ@"
+.HiroyukiZinnai: db " HIROYUKI ZINNAI@" ; "じんない ひろゆき@"
+.KunimiKawamura: db " KUNIMI KAWAMURA@" ; "かわむら くにみ@"
+.HisashiSogabe: db " HISASHI SOGABE@" ; "そがべ ひさし@"
+.KeitaKagaya: db " KEITA KAGAYA@" ; "かがや けいた@"
+.YoshinoriMatsuda: db " YOSHINORI MATSUDA@" ; "まつだ よしのり@"
+.HitomiSato: db " HITOMI SATO@" ; "さとう ひとみ@"
+.ToruOsawa: db " TORU OSAWA@" ; "おおさわ とおる@"
+.TakaoOhara: db " TAKAO OHARA@" ; "おおはら たかお@"
+.YuichiroIto: db " YUICHIRO ITO@" ; "いとう ゆういちろう@"
+.TakaoShimizu: db " TAKAO SHIMIZU@" ; "しみず たかお@"
.Planning: db " SPECIAL PRODUCTION"
next " PLANNING" ; "きかくかいはつぶ@"
next " & DEVELOPMENT DEPT.@"
-.KeitaNakamura: db " KEITA NAKAMURA@" ; "なかむら けいた@"
-.HirotakaUemura: db " HIROTAKA UEMURA@" ; "うえむら ひろたか@"
-.HiroakiTamura: db " HIROAKI TAMURA@" ; "たむら ひろあき@"
-.NoriakiSakaguchi: db " NORIAKI SAKAGUCHI@" ; "さかぐち のりあき@"
-.MiyukiSato: db " MIYUKI SATO@" ; "さとう みゆき@"
-.GakuziNomoto: db " GAKUZI NOMOTO@" ; "のもと がくじ@"
-.AiMashima: db " AI MASHIMA@" ; "ましま あい@"
-.MikihiroIshikawa: db " MIKIHIRO ISHIKAWA@" ; "いしかわ みきひろ@"
-.HideyukiHashimoto: db " HIDEYUKI HASHIMOTO@" ; "はしもと ひでゆき@"
-.SatoshiYamato: db " SATOSHI YAMATO@" ; "やまと さとし@"
-.ShigeruMiyamoto: db " SHIGERU MIYAMOTO@" ; "みやもと しげる@"
+.KeitaNakamura: db " KEITA NAKAMURA@" ; "なかむら けいた@"
+.HirotakaUemura: db " HIROTAKA UEMURA@" ; "うえむら ひろたか@"
+.HiroakiTamura: db " HIROAKI TAMURA@" ; "たむら ひろあき@"
+.NoriakiSakaguchi: db " NORIAKI SAKAGUCHI@" ; "さかぐち のりあき@"
+.MiyukiSato: db " MIYUKI SATO@" ; "さとう みゆき@"
+.GakuziNomoto: db " GAKUZI NOMOTO@" ; "のもと がくじ@"
+.AiMashima: db " AI MASHIMA@" ; "ましま あい@"
+.MikihiroIshikawa: db " MIKIHIRO ISHIKAWA@" ; "いしかわ みきひろ@"
+.HideyukiHashimoto: db " HIDEYUKI HASHIMOTO@" ; "はしもと ひでゆき@"
+.SatoshiYamato: db " SATOSHI YAMATO@" ; "やまと さとし@"
+.ShigeruMiyamoto: db " SHIGERU MIYAMOTO@" ; "みやもと しげる@"
.End: db " END@" ; "おしまい@"
-.Unknown: db " ????????@" ; "????????@"
+.Unknown: db " ????????@" ; "????????@"
.GailTilden: db " GAIL TILDEN@"
.NobOgasawara: db " NOB OGASAWARA@"
.SethMcMahill: db " SETH McMAHILL@"
@@ -179,32 +179,32 @@ CreditsStrings:
.KazuyoshiOsawa: db " KAZUYOSHI OSAWA@"
.KimikoNakamichi: db " KIMIKO NAKAMICHI@"
.Staff: db " #MON" ; "ポケットモンスター"
- next " CRYSTAL VERSION" ; " クりスタル バージョン"
- next " STAFF@" ; " スタッフ@"
-.Director: db " DIRECTOR@" ; "エグゼクティブ ディレクター@"
+ next " CRYSTAL VERSION" ; "  クりスタル バージョン"
+ next " STAFF@" ; "    スタッフ@"
+.Director: db " DIRECTOR@" ; "エグゼクティブ ディレクター@"
.CoDirector: db " CO-DIRECTOR@" ; "ディレクター@"
.Programmers: db " PROGRAMMERS@" ; "プログラム@"
-.GraphicsDirector: db " GRAPHICS DIRECTOR@" ; "グラフィック ディレクター@"
-.MonsterDesign: db " MONSTER DESIGN@" ; "# デザイン@"
-.GraphicsDesign: db " GRAPHICS DESIGN@" ; "グラフィック デザイン@"
+.GraphicsDirector: db " GRAPHICS DIRECTOR@" ; "グラフィック ディレクター@"
+.MonsterDesign: db " MONSTER DESIGN@" ; "# デザイン@"
+.GraphicsDesign: db " GRAPHICS DESIGN@" ; "グラフィック デザイン@"
.Music: db " MUSIC@" ; "おんがく@"
-.SoundEffects: db " SOUND EFFECTS@" ; "サウンド エフ→クト@"
+.SoundEffects: db " SOUND EFFECTS@" ; "サウンド エフ→クト@"
.GameDesign: db " GAME DESIGN@" ; "ゲームデザイン@"
-.GameScenario: db " GAME SCENARIO@" ; "シナりォ@"
-.ToolProgramming: db " TOOL PROGRAMMING@" ; "ツール プログラム@"
-.ParametricDesign: db " PARAMETRIC DESIGN@" ; "パラメーター せってい@"
-.ScriptDesign: db " SCRIPT DESIGN@" ; "スクりプト せってい@"
-.MapDataDesign: db " MAP DATA DESIGN@" ; "マップデータ せってい@"
-.MapDesign: db " MAP DESIGN@" ; "マップ デザイン@"
+.GameScenario: db " GAME SCENARIO@" ; "シナりオ@"
+.ToolProgramming: db " TOOL PROGRAMMING@" ; "ツール プログラム@"
+.ParametricDesign: db " PARAMETRIC DESIGN@" ; "パラメーター せってい@"
+.ScriptDesign: db " SCRIPT DESIGN@" ; "スクりプト せってい@"
+.MapDataDesign: db " MAP DATA DESIGN@" ; "マップデータ せってい@"
+.MapDesign: db " MAP DESIGN@" ; "マップ デザイン@"
.ProductTesting: db " PRODUCT TESTING@" ; "デバッグプレイ@"
.SpecialThanks: db " SPECIAL THANKS@" ; "スぺシャルサンクス@"
.Producers: db " PRODUCERS@" ; "プロデューサー@"
-.ExecutiveProducer: db " EXECUTIVE PRODUCER@" ; "エグゼクティブ プロデューサー@"
-.PokemonAnimation: db " #MON ANIMATION@" ; "# アニメーション@"
-.PokedexText: db " #DEX TEXT@" ; "ずかん テキスト@"
-.MobilePrjLeader: db " MOBILE PRJ. LEADER@" ; "モバイルプロジ→クト りーダー@"
-.MobileSystemAd: db " MOBILE SYSTEM AD.@" ; "モバイル システムアドバイザー@"
-.MobileStadiumDir: db "MOBILE STADIUM DIR.@" ; "モバイルスタジアム ディレクター@"
+.ExecutiveProducer: db " EXECUTIVE PRODUCER@" ; "エグゼクティブ プロデューサー@"
+.PokemonAnimation: db " #MON ANIMATION@" ; "# アニメーション@"
+.PokedexText: db " #DEX TEXT@" ; "ずかん テキスト@"
+.MobilePrjLeader: db " MOBILE PRJ. LEADER@" ; "モバイルプロジ→クト りーダー@"
+.MobileSystemAd: db " MOBILE SYSTEM AD.@" ; "モバイル システムアドバイザー@"
+.MobileStadiumDir: db "MOBILE STADIUM DIR.@" ; "モバイルスタジアム ディレクター@"
.Coordination: db " COORDINATION@" ; "コーディネーター@"
.UsVersionStaff: db " US VERSION STAFF@"
.UsCoordination: db " US COORDINATION@"
diff --git a/data/mystery_gift_decos.asm b/data/decorations/mystery_gift_decos.asm
index bdd4694c6..bdd4694c6 100644
--- a/data/mystery_gift_decos.asm
+++ b/data/decorations/mystery_gift_decos.asm
diff --git a/data/default_options.asm b/data/default_options.asm
index 8787b00c7..4717dc2f0 100644
--- a/data/default_options.asm
+++ b/data/default_options.asm
@@ -11,8 +11,7 @@ DefaultOptions: ; 14f7c
db GBPRINTER_NORMAL
; Options2: menu account on
db 1 << MENU_ACCOUNT
-; $cfd2: ??
+
db $00
-; $cfd3: ??
db $00
; 14f84
diff --git a/data/elevator_floors.asm b/data/elevator_floors.asm
new file mode 100644
index 000000000..abc793cf2
--- /dev/null
+++ b/data/elevator_floors.asm
@@ -0,0 +1,35 @@
+ElevatorFloorNames:
+; entries correspond to FLOOR_* constants
+ dw .B4F
+ dw .B3F
+ dw .B2F
+ dw .B1F
+ dw ._1F
+ dw ._2F
+ dw ._3F
+ dw ._4F
+ dw ._5F
+ dw ._6F
+ dw ._7F
+ dw ._8F
+ dw ._9F
+ dw ._10F
+ dw ._11F
+ dw .ROOF
+
+.B4F: db "B4F@"
+.B3F: db "B3F@"
+.B2F: db "B2F@"
+.B1F: db "B1F@"
+._1F: db "1F@"
+._2F: db "2F@"
+._3F: db "3F@"
+._4F: db "4F@"
+._5F: db "5F@"
+._6F: db "6F@"
+._7F: db "7F@"
+._8F: db "8F@"
+._9F: db "9F@"
+._10F: db "10F@"
+._11F: db "11F@"
+.ROOF: db "ROOF@"
diff --git a/data/field_move_blocks.asm b/data/field_move_blocks.asm
index 5e9bbc1f4..d97fdc995 100644
--- a/data/field_move_blocks.asm
+++ b/data/field_move_blocks.asm
@@ -1,53 +1,53 @@
CutTreeBlockPointers: ; c862
; tileset, block list pointer
- dbw TILESET_JOHTO_1, .johto1
- dbw TILESET_JOHTO_2, .johto2
- dbw TILESET_KANTO, .kanto
- dbw TILESET_PARK, .park
- dbw TILESET_ILEX_FOREST, .ilex
- db -1
-
-.johto1 ; Johto OW
+ dbw TILESET_JOHTO, .johto
+ dbw TILESET_JOHTO_MODERN, .johto_modern
+ dbw TILESET_KANTO, .kanto
+ dbw TILESET_PARK, .park
+ dbw TILESET_FOREST, .forest
+ db -1 ; end
+
+.johto:
; facing block, replacement block, animation
- db $03, $02, $01 ; grass
- db $5b, $3c, $00 ; tree
- db $5f, $3d, $00 ; tree
- db $63, $3f, $00 ; tree
- db $67, $3e, $00 ; tree
- db -1
-
-.johto2 ; Goldenrod area
+ db $03, $02, 1 ; grass
+ db $5b, $3c, 0 ; tree
+ db $5f, $3d, 0 ; tree
+ db $63, $3f, 0 ; tree
+ db $67, $3e, 0 ; tree
+ db -1 ; end
+
+.johto_modern:
; facing block, replacement block, animation
db $03, $02, $01 ; grass
- db -1
+ db -1 ; end
-.kanto ; Kanto OW
+.kanto:
; facing block, replacement block, animation
- db $0b, $0a, $01 ; grass
- db $32, $6d, $00 ; tree
- db $33, $6c, $00 ; tree
- db $34, $6f, $00 ; tree
- db $35, $4c, $00 ; tree
- db $60, $6e, $00 ; tree
- db -1
-
-.park ; National Park
+ db $0b, $0a, 1 ; grass
+ db $32, $6d, 0 ; tree
+ db $33, $6c, 0 ; tree
+ db $34, $6f, 0 ; tree
+ db $35, $4c, 0 ; tree
+ db $60, $6e, 0 ; tree
+ db -1 ; end
+
+.park:
; facing block, replacement block, animation
- db $13, $03, $01 ; grass
- db $03, $04, $01 ; grass
- db -1
+ db $13, $03, 1 ; grass
+ db $03, $04, 1 ; grass
+ db -1 ; end
-.ilex ; Ilex Forest
+.forest:
; facing block, replacement block, animation
- db $0f, $17, $00
- db -1
+ db $0f, $17, 0
+ db -1 ; end
WhirlpoolBlockPointers: ; c8a4
- dbw TILESET_JOHTO_1, .johto
- db -1
+ dbw TILESET_JOHTO, .johto
+ db -1 ; end
-.johto ; c8a8
+.johto:
; facing block, replacement block, animation
- db $07, $36, $00
- db -1
+ db $07, $36, 0
+ db -1 ; end
diff --git a/data/items/apricorn_balls.asm b/data/items/apricorn_balls.asm
new file mode 100644
index 000000000..57e7d04bb
--- /dev/null
+++ b/data/items/apricorn_balls.asm
@@ -0,0 +1,11 @@
+ApricornBalls: ; 24ca0
+ ; apricorn, ball
+ db RED_APRICORN, LEVEL_BALL
+ db BLU_APRICORN, LURE_BALL
+ db YLW_APRICORN, MOON_BALL
+ db GRN_APRICORN, FRIEND_BALL
+ db WHT_APRICORN, FAST_BALL
+ db BLK_APRICORN, HEAVY_BALL
+ db PNK_APRICORN, LOVE_BALL
+ db -1
+; 24caf
diff --git a/data/items/attributes.asm b/data/items/attributes.asm
index dc2842760..5212be6d2 100644
--- a/data/items/attributes.asm
+++ b/data/items/attributes.asm
@@ -7,57 +7,57 @@ ENDM
ItemAttributes: ; 67c1
; entries correspond to constants/item_constants.asm
-; MASTER BALL
+; MASTER_BALL
item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; ULTRA BALL
+; ULTRA_BALL
item_attribute 1200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; BRIGHTPOWDER
item_attribute 10, HELD_BRIGHTPOWDER, 20, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; GREAT BALL
+; GREAT_BALL
item_attribute 600, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; # BALL
+; POKE_BALL
item_attribute 200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; TERU-SAMA
+; TOWN_MAP
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BICYCLE
item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; MOON STONE
+; MOON_STONE
item_attribute 0, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; ANTIDOTE
item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; BURN HEAL
+; BURN_HEAL
item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ICE HEAL
+; ICE_HEAL
item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; AWAKENING
item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; PARLYZ HEAL
+; PARLYZ_HEAL
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; FULL RESTORE
+; FULL_RESTORE
item_attribute 3000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; MAX POTION
+; MAX_POTION
item_attribute 2500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; HYPER POTION
+; HYPER_POTION
item_attribute 1200, 0, 200, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; SUPER POTION
+; SUPER_POTION
item_attribute 700, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; POTION
item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ESCAPE ROPE
+; ESCAPE_ROPE
item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
; REPEL
item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; MAX ELIXER
+; MAX_ELIXER
item_attribute 4500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; FIRE STONE
+; FIRE_STONE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; THUNDERSTONE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; WATER STONE
+; WATER_STONE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_19
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; HP UP
+; HP_UP
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; PROTEIN
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
@@ -65,159 +65,159 @@ ItemAttributes: ; 67c1
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; CARBOS
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; LUCKY PUNCH
+; LUCKY_PUNCH
item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; CALCIUM
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; RARE CANDY
+; RARE_CANDY
item_attribute 4800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; X ACCURACY
+; X_ACCURACY
item_attribute 950, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; LEAF STONE
+; LEAF_STONE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; METAL POWDER
+; METAL_POWDER
item_attribute 10, HELD_METAL_POWDER, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; NUGGET
item_attribute 10000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; # DOLL
+; POKE_DOLL
item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; FULL HEAL
+; FULL_HEAL
item_attribute 600, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; REVIVE
item_attribute 1500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; MAX REVIVE
+; MAX_REVIVE
item_attribute 4000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; GUARD SPEC.
+; GUARD_SPEC
item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; SUPER REPEL
+; SUPER_REPEL
item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; MAX REPEL
+; MAX_REPEL
item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; DIRE HIT
+; DIRE_HIT
item_attribute 650, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; TERU-SAMA
+; ITEM_2D
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; FRESH WATER
+; FRESH_WATER
item_attribute 200, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; SODA POP
+; SODA_POP
item_attribute 300, 0, 60, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; LEMONADE
item_attribute 350, 0, 80, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; X ATTACK
+; X_ATTACK
item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; TERU-SAMA
+; ITEM_32
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; X DEFEND
+; X_DEFEND
item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; X SPEED
+; X_SPEED
item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; X SPECIAL
+; X_SPECIAL
item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; COIN CASE
+; COIN_CASE
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
; ITEMFINDER
item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; POKE_FLUTE
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; EXP.SHARE
+; EXP_SHARE
item_attribute 3000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; OLD ROD
+; OLD_ROD
item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; GOOD ROD
+; GOOD_ROD
item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; SILVER LEAF
+; SILVER_LEAF
item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SUPER ROD
+; SUPER_ROD
item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; PP UP
+; PP_UP
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; ETHER
item_attribute 1200, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; MAX ETHER
+; MAX_ETHER
item_attribute 2000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; ELIXER
item_attribute 3000, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; RED SCALE
+; RED_SCALE
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; SECRETPOTION
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; S.S.TICKET
+; S_S_TICKET
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MYSTERY EGG
+; MYSTERY_EGG
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; CLEAR BELL
+; CLEAR_BELL
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SILVER WING
+; SILVER_WING
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MOOMOO MILK
+; MOOMOO_MILK
item_attribute 500, 0, 100, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; QUICK CLAW
+; QUICK_CLAW
item_attribute 100, HELD_QUICK_CLAW, 60, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; PSNCUREBERRY
item_attribute 10, HELD_HEAL_POISON, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; GOLD LEAF
+; GOLD_LEAF
item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SOFT SAND
+; SOFT_SAND
item_attribute 100, HELD_GROUND_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SHARP BEAK
+; SHARP_BEAK
item_attribute 100, HELD_FLYING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; PRZCUREBERRY
item_attribute 10, HELD_HEAL_PARALYZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; BURNT BERRY
+; BURNT_BERRY
item_attribute 10, HELD_HEAL_FREEZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ICE BERRY
+; ICE_BERRY
item_attribute 10, HELD_HEAL_BURN, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; POISON BARB
+; POISON_BARB
item_attribute 100, HELD_POISON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; KING'S ROCK
+; KINGS_ROCK
item_attribute 100, HELD_FLINCH, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BITTER BERRY
+; BITTER_BERRY
item_attribute 10, HELD_HEAL_CONFUSION, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_PARTY
-; MINT BERRY
+; MINT_BERRY
item_attribute 10, HELD_HEAL_SLEEP, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; RED APRICORN
+; RED_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TINYMUSHROOM
item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BIG MUSHROOM
+; BIG_MUSHROOM
item_attribute 5000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; SILVERPOWDER
item_attribute 100, HELD_BUG_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLU APRICORN
+; BLU_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_5A
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; AMULET COIN
+; AMULET_COIN
item_attribute 100, HELD_AMULET_COIN, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; YLW APRICORN
+; YLW_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; GRN APRICORN
+; GRN_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; CLEANSE TAG
+; CLEANSE_TAG
item_attribute 200, HELD_CLEANSE_TAG, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MYSTIC WATER
+; MYSTIC_WATER
item_attribute 100, HELD_WATER_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TWISTEDSPOON
item_attribute 100, HELD_PSYCHIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; WHT APRICORN
+; WHT_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BLACKBELT
item_attribute 100, HELD_FIGHTING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLK APRICORN
+; BLK_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_64
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PNK APRICORN
+; PNK_APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BLACKGLASSES
item_attribute 100, HELD_DARK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; SLOWPOKETAIL
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PINK BOW
+; PINK_BOW
item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; STICK
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SMOKE BALL
+; SMOKE_BALL
item_attribute 200, HELD_ESCAPE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; NEVERMELTICE
item_attribute 100, HELD_ICE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
@@ -227,165 +227,165 @@ ItemAttributes: ; 67c1
item_attribute 10, HELD_HEAL_STATUS, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; PEARL
item_attribute 1400, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BIG PEARL
+; BIG_PEARL
item_attribute 7500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; EVERSTONE
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SPELL TAG
+; SPELL_TAG
item_attribute 100, HELD_GHOST_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; RAGECANDYBAR
item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; GS BALL
+; GS_BALL
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLUE CARD
+; BLUE_CARD
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; MIRACLE SEED
+; MIRACLE_SEED
item_attribute 100, HELD_GRASS_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; THICK CLUB
+; THICK_CLUB
item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; FOCUS BAND
+; FOCUS_BAND
item_attribute 200, HELD_FOCUS_BAND, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_78
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; ENERGYPOWDER
item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; ENERGY ROOT
+; ENERGY_ROOT
item_attribute 800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; HEAL POWDER
+; HEAL_POWDER
item_attribute 450, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; REVIVAL HERB
+; REVIVAL_HERB
item_attribute 2800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; HARD STONE
+; HARD_STONE
item_attribute 100, HELD_ROCK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LUCKY EGG
+; LUCKY_EGG
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; CARD KEY
+; CARD_KEY
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; MACHINE PART
+; MACHINE_PART
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; EGG TICKET
+; EGG_TICKET
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LOST ITEM
+; LOST_ITEM
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; STARDUST
item_attribute 2000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; STAR PIECE
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BASEMENT KEY
+; BASEMENT_KEY
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
; PASS
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_87
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_88
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_89
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; CHARCOAL
item_attribute 9800, HELD_FIRE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BERRY JUICE
+; BERRY_JUICE
item_attribute 100, HELD_BERRY, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; SCOPE LENS
+; SCOPE_LENS
item_attribute 200, HELD_CRITICAL_UP, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_8D
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_8E
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; METAL COAT
+; METAL_COAT
item_attribute 100, HELD_STEEL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; DRAGON FANG
+; DRAGON_FANG
item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_91
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; LEFTOVERS
item_attribute 200, HELD_LEFTOVERS, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_93
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_94
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_95
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; MYSTERYBERRY
item_attribute 10, HELD_RESTORE_PP, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; DRAGON SCALE
+; DRAGON_SCALE
item_attribute 2100, HELD_DRAGON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BERSERK GENE
+; BERSERK_GENE
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_99
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_9A
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_9B
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SACRED ASH
+; SACRED_ASH
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; HEAVY BALL
+; HEAVY_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; FLOWER MAIL
+; FLOWER_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LEVEL BALL
+; LEVEL_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; LURE BALL
+; LURE_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; FAST BALL
+; FAST_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; TERU-SAMA
+; ITEM_A2
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LIGHT BALL
+; LIGHT_BALL
item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; FRIEND BALL
+; FRIEND_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; MOON BALL
+; MOON_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; LOVE BALL
+; LOVE_BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; NORMAL BOX
+; NORMAL_BOX
item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; GORGEOUS BOX
+; GORGEOUS_BOX
item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
-; SUN STONE
+; SUN_STONE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; POLKADOT BOW
+; POLKADOT_BOW
item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_AB
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; UP-GRADE
+; UP_GRADE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BERRY
item_attribute 10, HELD_BERRY, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
-; GOLD BERRY
+; GOLD_BERRY
item_attribute 10, HELD_BERRY, 30, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; SQUIRTBOTTLE
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_B0
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; PARK BALL
+; PARK_BALL
item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
-; RAINBOW WING
+; RAINBOW_WING
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_B3
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BRICK PIECE
+; BRICK_PIECE
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; SURF MAIL
+; SURF_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; LITEBLUEMAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; PORTRAITMAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; LOVELY MAIL
+; LOVELY_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; EON MAIL
+; EON_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MORPH MAIL
+; MORPH_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; BLUESKY MAIL
+; BLUESKY_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MUSIC MAIL
+; MUSIC_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; MIRAGE MAIL
+; MIRAGE_MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_BE
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TM01
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
@@ -395,7 +395,7 @@ ItemAttributes: ; 67c1
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM04
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_C3
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TM05
item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
@@ -445,7 +445,7 @@ ItemAttributes: ; 67c1
item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM28
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_DC
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TM29
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
@@ -505,17 +505,17 @@ ItemAttributes: ; 67c1
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; HM07
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
-; TERU-SAMA
+; ITEM_FA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; $fb
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; $fc
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; $fd
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; $fe
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; TERU-SAMA
+; $ff
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
-; ?
+; $00
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
diff --git a/data/time_capsule/catch_rate_items.asm b/data/items/catch_rate_items.asm
index fbab7d434..fbab7d434 100644
--- a/data/time_capsule/catch_rate_items.asm
+++ b/data/items/catch_rate_items.asm
diff --git a/data/items/descriptions.asm b/data/items/descriptions.asm
index e5b01e8fd..20542b9e0 100644
--- a/data/items/descriptions.asm
+++ b/data/items/descriptions.asm
@@ -1,36 +1,3 @@
-PrintItemDescription: ; 0x1c8955
-; Print the description for item [CurSpecies] at de.
-
- ld a, [CurSpecies]
- cp TM01
- jr c, .not_a_tm
-
- ld [CurItem], a
- push de
- farcall GetTMHMItemMove
- pop hl
- ld a, [wd265]
- ld [CurSpecies], a
- predef PrintMoveDesc
- ret
-
-.not_a_tm
- push de
- ld hl, ItemDescriptions
- ld a, [CurSpecies]
- dec a
- ld c, a
- ld b, 0
- add hl, bc
- add hl, bc
- ld e, [hl]
- inc hl
- ld d, [hl]
- pop hl
- jp PlaceString
-; 0x1c8987
-
-
ItemDescriptions:
dw MasterBallDesc
dw UltraBallDesc
diff --git a/data/items/heal_hp.asm b/data/items/heal_hp.asm
new file mode 100644
index 000000000..a84670450
--- /dev/null
+++ b/data/items/heal_hp.asm
@@ -0,0 +1,18 @@
+HealingHPAmounts: ; f3af
+ dbw FRESH_WATER, 50
+ dbw SODA_POP, 60
+ dbw LEMONADE, 80
+ dbw HYPER_POTION, 200
+ dbw SUPER_POTION, 50
+ dbw POTION, 20
+ dbw MAX_POTION, MAX_STAT_VALUE
+ dbw FULL_RESTORE, MAX_STAT_VALUE
+ dbw MOOMOO_MILK, 100
+ dbw BERRY, 10
+ dbw GOLD_BERRY, 30
+ dbw ENERGYPOWDER, 50
+ dbw ENERGY_ROOT, 200
+ dbw RAGECANDYBAR, 20
+ dbw BERRY_JUICE, 20
+ dbw -1, 0 ; end
+; f3df
diff --git a/data/items/heal_status.asm b/data/items/heal_status.asm
new file mode 100644
index 000000000..f0b0148bb
--- /dev/null
+++ b/data/items/heal_status.asm
@@ -0,0 +1,18 @@
+StatusHealingActions: ; f071
+ ; item, party menu action text, status
+ db ANTIDOTE, PARTYMENUTEXT_HEAL_PSN, 1 << PSN
+ db BURN_HEAL, PARTYMENUTEXT_HEAL_BRN, 1 << BRN
+ db ICE_HEAL, PARTYMENUTEXT_HEAL_FRZ, 1 << FRZ
+ db AWAKENING, PARTYMENUTEXT_HEAL_SLP, SLP
+ db PARLYZ_HEAL, PARTYMENUTEXT_HEAL_PAR, 1 << PAR
+ db FULL_HEAL, PARTYMENUTEXT_HEAL_ALL, %11111111
+ db FULL_RESTORE, PARTYMENUTEXT_HEAL_ALL, %11111111
+ db HEAL_POWDER, PARTYMENUTEXT_HEAL_ALL, %11111111
+ db PSNCUREBERRY, PARTYMENUTEXT_HEAL_PSN, 1 << PSN
+ db PRZCUREBERRY, PARTYMENUTEXT_HEAL_PAR, 1 << PAR
+ db BURNT_BERRY, PARTYMENUTEXT_HEAL_FRZ, 1 << FRZ
+ db ICE_BERRY, PARTYMENUTEXT_HEAL_BRN, 1 << BRN
+ db MINT_BERRY, PARTYMENUTEXT_HEAL_SLP, SLP
+ db MIRACLEBERRY, PARTYMENUTEXT_HEAL_ALL, %11111111
+ db -1, 0, 0 ; end
+; f09e
diff --git a/data/items/marts.asm b/data/items/marts.asm
index cd17ca36b..fd156225d 100644
--- a/data/items/marts.asm
+++ b/data/items/marts.asm
@@ -1,4 +1,5 @@
Marts: ; 160a9
+; entries correspond to MART_* constants
dw MartCherrygrove
dw MartCherrygroveDex
dw MartViolet
@@ -43,7 +44,7 @@ MartCherrygrove: ; 160ed
db ANTIDOTE
db PARLYZ_HEAL
db AWAKENING
- db $ff
+ db -1 ; end
; 160f3
MartCherrygroveDex: ; 160f3
@@ -53,7 +54,7 @@ MartCherrygroveDex: ; 160f3
db ANTIDOTE
db PARLYZ_HEAL
db AWAKENING
- db $ff
+ db -1 ; end
; 160fa
MartViolet: ; 160fa
@@ -68,7 +69,7 @@ MartViolet: ; 160fa
db X_ATTACK
db X_SPEED
db FLOWER_MAIL
- db $ff
+ db -1 ; end
; 16106
MartAzalea: ; 16106
@@ -82,7 +83,7 @@ MartAzalea: ; 16106
db ANTIDOTE
db PARLYZ_HEAL
db FLOWER_MAIL
- db $ff
+ db -1 ; end
; 16111
MartCianwood: ; 16111
@@ -92,7 +93,7 @@ MartCianwood: ; 16111
db HYPER_POTION
db FULL_HEAL
db REVIVE
- db $ff
+ db -1 ; end
; 16118
MartGoldenrod2F1: ; 16118
@@ -104,7 +105,7 @@ MartGoldenrod2F1: ; 16118
db AWAKENING
db BURN_HEAL
db ICE_HEAL
- db $ff
+ db -1 ; end
; 16121
MartGoldenrod2F2: ; 16121
@@ -117,7 +118,7 @@ MartGoldenrod2F2: ; 16121
db FULL_HEAL
db POKE_DOLL
db FLOWER_MAIL
- db $ff
+ db -1 ; end
; 1612b
MartGoldenrod3F: ; 1612b
@@ -129,7 +130,7 @@ MartGoldenrod3F: ; 1612b
db DIRE_HIT
db GUARD_SPEC
db X_ACCURACY
- db $ff
+ db -1 ; end
; 16134
MartGoldenrod4F: ; 16134
@@ -139,7 +140,7 @@ MartGoldenrod4F: ; 16134
db CARBOS
db CALCIUM
db HP_UP
- db $ff
+ db -1 ; end
; 1613b
MartGoldenrod5F1: ; 1613b
@@ -147,7 +148,7 @@ MartGoldenrod5F1: ; 1613b
db TM_THUNDERPUNCH
db TM_FIRE_PUNCH
db TM_ICE_PUNCH
- db $ff
+ db -1 ; end
; 16140
MartGoldenrod5F2: ; 16140
@@ -156,7 +157,7 @@ MartGoldenrod5F2: ; 16140
db TM_FIRE_PUNCH
db TM_ICE_PUNCH
db TM_HEADBUTT
- db $ff
+ db -1 ; end
; 16146
MartGoldenrod5F3: ; 16146
@@ -165,7 +166,7 @@ MartGoldenrod5F3: ; 16146
db TM_FIRE_PUNCH
db TM_ICE_PUNCH
db TM_ROCK_SMASH
- db $ff
+ db -1 ; end
; 1614c
MartGoldenrod5F4: ; 1614c
@@ -175,7 +176,7 @@ MartGoldenrod5F4: ; 1614c
db TM_ICE_PUNCH
db TM_HEADBUTT
db TM_ROCK_SMASH
- db $ff
+ db -1 ; end
; 16153
MartOlivine: ; 16153
@@ -189,7 +190,7 @@ MartOlivine: ; 16153
db ICE_HEAL
db SUPER_REPEL
db SURF_MAIL
- db $ff
+ db -1 ; end
; 1615e
MartEcruteak: ; 1615e
@@ -204,7 +205,7 @@ MartEcruteak: ; 1615e
db BURN_HEAL
db ICE_HEAL
db REVIVE
- db $ff
+ db -1 ; end
; 1616a
MartMahogany1: ; 1616a
@@ -213,7 +214,7 @@ MartMahogany1: ; 1616a
db SLOWPOKETAIL
db POKE_BALL
db POTION
- db $ff
+ db -1 ; end
; 16170
MartMahogany2: ; 16170
@@ -227,7 +228,7 @@ MartMahogany2: ; 16170
db SUPER_REPEL
db REVIVE
db FLOWER_MAIL
- db $ff
+ db -1 ; end
; 1617b
MartBlackthorn: ; 1617b
@@ -241,7 +242,7 @@ MartBlackthorn: ; 1617b
db MAX_REPEL
db X_DEFEND
db X_ATTACK
- db $ff
+ db -1 ; end
; 16186
MartViridian: ; 16186
@@ -255,7 +256,7 @@ MartViridian: ; 16186
db AWAKENING
db BURN_HEAL
db FLOWER_MAIL
- db $ff
+ db -1 ; end
; 16191
MartPewter: ; 16191
@@ -267,7 +268,7 @@ MartPewter: ; 16191
db PARLYZ_HEAL
db AWAKENING
db BURN_HEAL
- db $ff
+ db -1 ; end
; 1619a
MartCerulean: ; 1619a
@@ -281,7 +282,7 @@ MartCerulean: ; 1619a
db X_ATTACK
db DIRE_HIT
db SURF_MAIL
- db $ff
+ db -1 ; end
; 161a5
MartLavender: ; 161a5
@@ -294,7 +295,7 @@ MartLavender: ; 161a5
db PARLYZ_HEAL
db AWAKENING
db BURN_HEAL
- db $ff
+ db -1 ; end
; 161af
MartVermilion: ; 161af
@@ -307,7 +308,7 @@ MartVermilion: ; 161af
db AWAKENING
db BURN_HEAL
db LITEBLUEMAIL
- db $ff
+ db -1 ; end
; 161b9
MartCeladon2F1: ; 161b9
@@ -319,7 +320,7 @@ MartCeladon2F1: ; 161b9
db REVIVE
db SUPER_REPEL
db MAX_REPEL
- db $ff
+ db -1 ; end
; 161c2
MartCeladon2F2: ; 161c2
@@ -334,7 +335,7 @@ MartCeladon2F2: ; 161c2
db ICE_HEAL
db AWAKENING
db PARLYZ_HEAL
- db $ff
+ db -1 ; end
; 161ce
MartCeladon3F: ; 161ce
@@ -344,7 +345,7 @@ MartCeladon3F: ; 161ce
db TM_PROTECT
db TM_RAIN_DANCE
db TM_SANDSTORM
- db $ff
+ db -1 ; end
; 161d5
MartCeladon4F: ; 161d5
@@ -352,7 +353,7 @@ MartCeladon4F: ; 161d5
db POKE_DOLL
db LOVELY_MAIL
db SURF_MAIL
- db $ff
+ db -1 ; end
; 161da
MartCeladon5F1: ; 161da
@@ -362,7 +363,7 @@ MartCeladon5F1: ; 161da
db IRON
db CARBOS
db CALCIUM
- db $ff
+ db -1 ; end
; 161e1
MartCeladon5F2: ; 161e1
@@ -374,7 +375,7 @@ MartCeladon5F2: ; 161e1
db X_DEFEND
db X_SPEED
db X_SPECIAL
- db $ff
+ db -1 ; end
; 161ea
MartFuchsia: ; 161ea
@@ -386,7 +387,7 @@ MartFuchsia: ; 161ea
db FULL_HEAL
db MAX_REPEL
db FLOWER_MAIL
- db $ff
+ db -1 ; end
; 161f3
MartSaffron: ; 161f3
@@ -399,7 +400,7 @@ MartSaffron: ; 161f3
db X_ATTACK
db X_DEFEND
db FLOWER_MAIL
- db $ff
+ db -1 ; end
; 161fd
MartMtMoon: ; 161fd
@@ -410,7 +411,7 @@ MartMtMoon: ; 161fd
db LEMONADE
db REPEL
db PORTRAITMAIL
- db $ff
+ db -1 ; end
; 16205
MartIndigoPlateau: ; 16205
@@ -422,7 +423,7 @@ MartIndigoPlateau: ; 16205
db FULL_RESTORE
db REVIVE
db FULL_HEAL
- db $ff
+ db -1 ; end
; 1620e
MartUnderground: ; 1620e
@@ -431,12 +432,12 @@ MartUnderground: ; 1620e
db ENERGY_ROOT
db HEAL_POWDER
db REVIVAL_HERB
- db $ff
+ db -1 ; end
; 16214
DefaultMart: ; 16214
db 2 ; # items
db POKE_BALL
db POTION
- db $ff
+ db -1 ; end
; 16218
diff --git a/data/mystery_gift_items.asm b/data/items/mystery_gift_items.asm
index b2379071e..b2379071e 100644
--- a/data/mystery_gift_items.asm
+++ b/data/items/mystery_gift_items.asm
diff --git a/data/items/x_stats.asm b/data/items/x_stats.asm
new file mode 100644
index 000000000..ac2d0ad27
--- /dev/null
+++ b/data/items/x_stats.asm
@@ -0,0 +1,7 @@
+XItemStats: ; f504
+ ; item, stat
+ db X_ATTACK, ATTACK
+ db X_DEFEND, DEFENSE
+ db X_SPEED, SPEED
+ db X_SPECIAL, SP_ATTACK
+; f50c
diff --git a/data/mail_input_chars.asm b/data/mail_input_chars.asm
index befdc0cf7..ca3833529 100644
--- a/data/mail_input_chars.asm
+++ b/data/mail_input_chars.asm
@@ -14,6 +14,6 @@ MailEntry_Lowercase: ; 1224f
db "k l m n o p q r s t"
db "u v w x y z . - /"
db "'d 'l 'm 'r 's 't 'v & ( )"
- db "<``> <''> [ ] ' : ; "
+ db "“ ” [ ] ' : ; "
db "UPPER DEL END "
; 122c1
diff --git a/data/maps/blocks.asm b/data/maps/blocks.asm
new file mode 100644
index 000000000..7f008b5b2
--- /dev/null
+++ b/data/maps/blocks.asm
@@ -0,0 +1,1047 @@
+SECTION "Map Blocks 1", ROMX
+
+Route32_Blocks:
+ INCBIN "maps/Route32.blk"
+
+Route40_Blocks:
+ INCBIN "maps/Route40.blk"
+
+Route36_Blocks:
+ INCBIN "maps/Route36.blk"
+
+Route44_Blocks:
+ INCBIN "maps/Route44.blk"
+
+Route28_Blocks:
+ INCBIN "maps/Route28.blk"
+
+BetaHerosHouse_Blocks:
+ INCBIN "maps/unused/BetaHerosHouse.blk"
+
+CeladonCity_Blocks:
+ INCBIN "maps/CeladonCity.blk"
+
+SaffronCity_Blocks:
+ INCBIN "maps/SaffronCity.blk"
+
+Route2_Blocks:
+ INCBIN "maps/Route2.blk"
+
+ElmsHouse_Blocks:
+ INCBIN "maps/ElmsHouse.blk"
+
+BetaSproutTower1_Blocks:
+ INCBIN "maps/unused/BetaSproutTower1.blk"
+
+Route11_Blocks:
+ INCBIN "maps/Route11.blk"
+
+BetaSproutTower5_Blocks:
+ INCBIN "maps/unused/BetaSproutTower5.blk"
+
+Route15_Blocks:
+ INCBIN "maps/Route15.blk"
+
+BetaSproutTower9_Blocks:
+ INCBIN "maps/unused/BetaSproutTower9.blk"
+
+Route19_Blocks:
+ INCBIN "maps/Route19.blk"
+
+BetaBlackthornCity_Blocks:
+ INCBIN "maps/unused/BetaBlackthornCity.blk"
+
+Route10South_Blocks:
+ INCBIN "maps/Route10South.blk"
+
+Pokecenter2F_Blocks:
+CinnabarPokecenter2FBeta_Blocks:
+CeruleanPokecenter2FBeta_Blocks:
+Route10Pokecenter2FBeta_Blocks:
+VermilionPokecenter2FBeta_Blocks:
+PewterPokecenter2FBeta_Blocks:
+FuchsiaPokecenter2FBeta_Blocks:
+LavenderPokecenter2FBeta_Blocks:
+CeladonPokecenter2FBeta_Blocks:
+ViridianPokecenter2FBeta_Blocks:
+SaffronPokecenter2FBeta_Blocks:
+ INCBIN "maps/Pokecenter2F.blk"
+
+Route41_Blocks:
+ INCBIN "maps/Route41.blk"
+
+Route33_Blocks:
+ INCBIN "maps/Route33.blk"
+
+Route45_Blocks:
+ INCBIN "maps/Route45.blk"
+
+Route29_Blocks:
+ INCBIN "maps/Route29.blk"
+
+Route37_Blocks:
+ INCBIN "maps/Route37.blk"
+
+LavenderTown_Blocks:
+ INCBIN "maps/LavenderTown.blk"
+
+PalletTown_Blocks:
+ INCBIN "maps/PalletTown.blk"
+
+Route25_Blocks:
+ INCBIN "maps/Route25.blk"
+
+Route24_Blocks:
+ INCBIN "maps/Route24.blk"
+
+BetaVioletCity_Blocks:
+ INCBIN "maps/unused/BetaVioletCity.blk"
+
+Route3_Blocks:
+ INCBIN "maps/Route3.blk"
+
+PewterCity_Blocks:
+ INCBIN "maps/PewterCity.blk"
+
+BetaIlexForest_Blocks:
+ INCBIN "maps/unused/BetaIlexForest.blk"
+
+BetaSproutTower2_Blocks:
+ INCBIN "maps/unused/BetaSproutTower2.blk"
+
+Route12_Blocks:
+ INCBIN "maps/Route12.blk"
+
+BetaGoldenrodCity_Blocks:
+ INCBIN "maps/unused/BetaGoldenrodCity.blk"
+
+Route20_Blocks:
+ INCBIN "maps/Route20.blk"
+
+BetaSproutTower6_Blocks:
+ INCBIN "maps/unused/BetaSproutTower6.blk"
+
+BetaPokecenterMainHouse_Blocks:
+ INCBIN "maps/unused/BetaPokecenterMainHouse.blk"
+
+Route30_Blocks:
+ INCBIN "maps/Route30.blk"
+
+Route26_Blocks:
+ INCBIN "maps/Route26.blk"
+
+Route42_Blocks:
+ INCBIN "maps/Route42.blk"
+
+Route34_Blocks:
+ INCBIN "maps/Route34.blk"
+
+Route46_Blocks:
+ INCBIN "maps/Route46.blk"
+
+FuchsiaCity_Blocks:
+ INCBIN "maps/FuchsiaCity.blk"
+
+Route38_Blocks:
+ INCBIN "maps/Route38.blk"
+
+BetaCianwoodCity_Blocks:
+ INCBIN "maps/unused/BetaCianwoodCity.blk"
+
+OlivineTimsHouse_Blocks:
+OlivineHouseBeta_Blocks:
+OlivinePunishmentSpeechHouse_Blocks:
+OlivineGoodRodHouse_Blocks:
+Route39Farmhouse_Blocks:
+MahoganyRedGyaradosSpeechHouse_Blocks:
+BlackthornDragonSpeechHouse_Blocks:
+BlackthornEmysHouse_Blocks:
+MoveDeletersHouse_Blocks:
+CeruleanGymBadgeSpeechHouse_Blocks:
+CeruleanPoliceStation_Blocks:
+CeruleanTradeSpeechHouse_Blocks:
+BillsHouse_Blocks:
+CharcoalKiln_Blocks:
+LakeOfRageHiddenPowerHouse_Blocks:
+LakeOfRageMagikarpHouse_Blocks:
+GoldenrodHappinessRater_Blocks:
+GoldenrodBillsHouse_Blocks:
+GoldenrodPPSpeechHouse_Blocks:
+GoldenrodNameRater_Blocks:
+VermilionHouseFishingSpeechHouse_Blocks:
+VermilionMagnetTrainSpeechHouse_Blocks:
+VermilionHouseDiglettsCaveSpeechHouse_Blocks:
+BluesHouse_Blocks:
+PewterNidoranSpeechHouse_Blocks:
+PewterSnoozeSpeechHouse_Blocks:
+FuchsiaBillSpeechHouse_Blocks:
+LavenderSpeechHouse_Blocks:
+LavenderNameRater_Blocks:
+Route12SuperRodHouse_Blocks:
+Route28FamousSpeechHouse_Blocks:
+CeladonMansionRoofHouse_Blocks:
+Route16FuchsiaSpeechHouse_Blocks:
+ManiasHouse_Blocks:
+CianwoodPharmacy_Blocks:
+CianwoodPhotoStudio_Blocks:
+CianwoodLugiaSpeechHouse_Blocks:
+PokeSeersHouse_Blocks:
+ViridianNicknameSpeechHouse_Blocks:
+Route2NuggetSpeechHouse_Blocks:
+KrissNeighborsHouse_Blocks:
+Route26HealSpeechHouse_Blocks:
+Route26DayofWeekSiblingsHouse_Blocks:
+Route27SandstormHouse_Blocks:
+MrPsychicsHouse_Blocks:
+Route5CleanseTagSpeechHouse_Blocks:
+CherrygroveGymSpeechHouse_Blocks:
+GuideGentsHouse_Blocks:
+CherrygroveEvolutionSpeechHouse_Blocks:
+Route30BerrySpeechHouse_Blocks:
+ INCBIN "maps/House1.blk"
+
+SafariZoneFuchsiaGateBeta_Blocks:
+Route19FuchsiaGate_Blocks:
+Route43MahoganyGate_Blocks:
+Route43Gate_Blocks:
+Route35GoldenrodGate_Blocks:
+Route36RuinsOfAlphGate_Blocks:
+Route34IlexForestGate_Blocks:
+Route6SaffronGate_Blocks:
+Route40BattleTowerGate_Blocks:
+Route2Gate_Blocks:
+Route29Route46Gate_Blocks:
+Route5SaffronGate_Blocks:
+ INCBIN "maps/NorthSouthGate.blk"
+
+BetaEcruteakCity_Blocks:
+ INCBIN "maps/unused/BetaEcruteakCity.blk"
+
+BetaCherrygroveCity_Blocks:
+ INCBIN "maps/unused/BetaCherrygroveCity.blk"
+
+CinnabarIsland_Blocks:
+ INCBIN "maps/CinnabarIsland.blk"
+
+Route4_Blocks:
+ INCBIN "maps/Route4.blk"
+
+Route8_Blocks:
+ INCBIN "maps/Route8.blk"
+
+BetaSproutTower3_Blocks:
+ INCBIN "maps/unused/BetaSproutTower3.blk"
+
+ViridianCity_Blocks:
+ INCBIN "maps/ViridianCity.blk"
+
+Route13_Blocks:
+ INCBIN "maps/Route13.blk"
+
+Route21_Blocks:
+ INCBIN "maps/Route21.blk"
+
+BetaSproutTower7_Blocks:
+ INCBIN "maps/unused/BetaSproutTower7.blk"
+
+Route17_Blocks:
+ INCBIN "maps/Route17.blk"
+
+BetaMahoganyTown_Blocks:
+ INCBIN "maps/unused/BetaMahoganyTown.blk"
+
+Route31_Blocks:
+ INCBIN "maps/Route31.blk"
+
+Route27_Blocks:
+ INCBIN "maps/Route27.blk"
+
+Route35_Blocks:
+ INCBIN "maps/Route35.blk"
+
+Route43_Blocks:
+ INCBIN "maps/Route43.blk"
+
+Route39_Blocks:
+ INCBIN "maps/Route39.blk"
+
+KrissHouse1F_Blocks:
+ INCBIN "maps/KrissHouse1F.blk"
+
+Route38EcruteakGate_Blocks:
+Route42EcruteakGate_Blocks:
+Route32RuinsOfAlphGate_Blocks:
+IlexForestAzaleaGate_Blocks:
+Route15FuchsiaGate_Blocks:
+Route8SaffronGate_Blocks:
+Route16Gate_Blocks:
+Route7SaffronGate_Blocks:
+Route17Route18Gate_Blocks:
+Route31VioletGate_Blocks:
+ INCBIN "maps/EastWestGate.blk"
+
+BetaAzaleaTown_Blocks:
+ INCBIN "maps/unused/BetaAzaleaTown.blk"
+
+VermilionCity_Blocks:
+ INCBIN "maps/VermilionCity.blk"
+
+BetaOlivineCity_Blocks:
+ INCBIN "maps/unused/BetaOlivineCity.blk"
+
+BetaNewBarkTown_Blocks:
+ INCBIN "maps/unused/BetaNewBarkTown.blk"
+
+ElmsLab_Blocks:
+ INCBIN "maps/ElmsLab.blk"
+
+CeruleanCity_Blocks:
+ INCBIN "maps/CeruleanCity.blk"
+
+Route1_Blocks:
+ INCBIN "maps/Route1.blk"
+
+Route5_Blocks:
+ INCBIN "maps/Route5.blk"
+
+Route9_Blocks:
+ INCBIN "maps/Route9.blk"
+
+Route22_Blocks:
+ INCBIN "maps/Route22.blk"
+
+
+SECTION "Map Blocks 2", ROMX
+
+Route14_Blocks:
+ INCBIN "maps/Route14.blk"
+
+BetaSproutTower8_Blocks:
+ INCBIN "maps/unused/BetaSproutTower8.blk"
+
+OlivineMart_Blocks:
+EcruteakMart_Blocks:
+BlackthornMart_Blocks:
+CeruleanMart_Blocks:
+AzaleaMart_Blocks:
+VioletMart_Blocks:
+VermilionMart_Blocks:
+PewterMart_Blocks:
+FuchsiaMart_Blocks:
+LavenderMart_Blocks:
+ViridianMart_Blocks:
+SaffronMart_Blocks:
+CherrygroveMart_Blocks:
+ INCBIN "maps/Mart.blk"
+
+Route10North_Blocks:
+ INCBIN "maps/Route10North.blk"
+
+BetaLakeOfRage_Blocks:
+ INCBIN "maps/unused/BetaLakeOfRage.blk"
+
+OlivinePokecenter1F_Blocks:
+MahoganyPokecenter1F_Blocks:
+EcruteakPokecenter1F_Blocks:
+BlackthornPokecenter1F_Blocks:
+CinnabarPokecenter1F_Blocks:
+CeruleanPokecenter1F_Blocks:
+Route10Pokecenter1F_Blocks:
+AzaleaPokecenter1F_Blocks:
+VioletPokecenter1F_Blocks:
+Route32Pokecenter1F_Blocks:
+GoldenrodPokecenter1F_Blocks:
+VermilionPokecenter1F_Blocks:
+PewterPokecenter1F_Blocks:
+FuchsiaPokecenter1F_Blocks:
+LavenderPokecenter1F_Blocks:
+SilverCavePokecenter1F_Blocks:
+CeladonPokecenter1F_Blocks:
+CianwoodPokecenter1F_Blocks:
+ViridianPokecenter1F_Blocks:
+SaffronPokecenter1F_Blocks:
+CherrygrovePokecenter1F_Blocks:
+ INCBIN "maps/Pokecenter1F.blk"
+
+BetaPewterMuseumOfScience1F_Blocks:
+ INCBIN "maps/unused/BetaPewterMuseumOfScience1F.blk"
+
+BetaPewterMuseumOfScience2F_Blocks:
+ INCBIN "maps/unused/BetaPewterMuseumOfScience2F.blk"
+
+EarlsPokemonAcademy_Blocks:
+ INCBIN "maps/EarlsPokemonAcademy.blk"
+
+BetaCinnabarPokemonLabHallway_Blocks:
+ INCBIN "maps/unused/BetaCinnabarPokemonLabHallway.blk"
+
+BetaCinnabarPokemonLabRoom1_Blocks:
+ INCBIN "maps/unused/BetaCinnabarPokemonLabRoom1.blk"
+
+BetaCinnabarPokemonLabRoom2_Blocks:
+ INCBIN "maps/unused/BetaCinnabarPokemonLabRoom2.blk"
+
+BetaCinnabarPokemonLabRoom3_Blocks:
+ INCBIN "maps/unused/BetaCinnabarPokemonLabRoom3.blk"
+
+GoldenrodDeptStore1F_Blocks:
+CeladonDeptStore1F_Blocks:
+ INCBIN "maps/DeptStore1F.blk"
+
+GoldenrodDeptStore2F_Blocks:
+CeladonDeptStore2F_Blocks:
+ INCBIN "maps/DeptStore2F.blk"
+
+GoldenrodDeptStore3F_Blocks:
+CeladonDeptStore3F_Blocks:
+ INCBIN "maps/DeptStore3F.blk"
+
+GoldenrodDeptStore4F_Blocks:
+CeladonDeptStore4F_Blocks:
+ INCBIN "maps/DeptStore4F.blk"
+
+GoldenrodDeptStore5F_Blocks:
+CeladonDeptStore5F_Blocks:
+ INCBIN "maps/DeptStore5F.blk"
+
+GoldenrodDeptStore6F_Blocks:
+CeladonDeptStore6F_Blocks:
+ INCBIN "maps/DeptStore6F.blk"
+
+GoldenrodDeptStoreElevator_Blocks:
+CeladonDeptStoreElevator_Blocks:
+ INCBIN "maps/DeptStoreElevator.blk"
+
+CeladonMansion1F_Blocks:
+ INCBIN "maps/CeladonMansion1F.blk"
+
+CeladonMansion2F_Blocks:
+ INCBIN "maps/CeladonMansion2F.blk"
+
+CeladonMansion3F_Blocks:
+ INCBIN "maps/CeladonMansion3F.blk"
+
+CeladonMansionRoof_Blocks:
+ INCBIN "maps/CeladonMansionRoof.blk"
+
+BetaHouse_Blocks:
+ INCBIN "maps/unused/BetaHouse.blk"
+
+CeladonGameCorner_Blocks:
+ INCBIN "maps/CeladonGameCorner.blk"
+
+CeladonGameCornerPrizeRoom_Blocks:
+ INCBIN "maps/CeladonGameCornerPrizeRoom.blk"
+
+Colosseum_Blocks:
+ INCBIN "maps/Colosseum.blk"
+
+TradeCenter_Blocks:
+TimeCapsule_Blocks:
+ INCBIN "maps/TradeCenter.blk"
+
+EcruteakLugiaSpeechHouse_Blocks:
+EcruteakItemfinderHouse_Blocks:
+VioletNicknameSpeechHouse_Blocks:
+VioletKylesHouse_Blocks:
+ INCBIN "maps/House2.blk"
+
+BetaCave_Blocks:
+ INCBIN "maps/unused/BetaCave.blk"
+
+UnionCaveB1F_Blocks:
+ INCBIN "maps/UnionCaveB1F.blk"
+
+UnionCaveB2F_Blocks:
+ INCBIN "maps/UnionCaveB2F.blk"
+
+UnionCave1F_Blocks:
+ INCBIN "maps/UnionCave1F.blk"
+
+NationalPark_Blocks:
+NationalParkBugContest_Blocks:
+ INCBIN "maps/NationalPark.blk"
+
+Route5UndergroundPathEntrance_Blocks:
+Route6UndergroundPathEntrance_Blocks:
+ INCBIN "maps/UndergroundPathEntrance.blk"
+
+BetaPokecenterTradeStation_Blocks:
+ INCBIN "maps/unused/BetaPokecenterTradeStation.blk"
+
+KurtsHouse_Blocks:
+ INCBIN "maps/KurtsHouse.blk"
+
+GoldenrodMagnetTrainStation_Blocks:
+ INCBIN "maps/GoldenrodMagnetTrainStation.blk"
+
+RuinsOfAlphOutside_Blocks:
+ INCBIN "maps/RuinsOfAlphOutside.blk"
+
+BetaRuinsOfAlphUnsolvedPuzzleRoom_Blocks:
+ INCBIN "maps/unused/BetaRuinsOfAlphUnsolvedPuzzleRoom.blk"
+
+RuinsOfAlphInnerChamber_Blocks:
+ INCBIN "maps/RuinsOfAlphInnerChamber.blk"
+
+RuinsOfAlphHoOhChamber_Blocks:
+RuinsOfAlphKabutoChamber_Blocks:
+RuinsOfAlphOmanyteChamber_Blocks:
+RuinsOfAlphAerodactylChamber_Blocks:
+ INCBIN "maps/RuinsOfAlphPuzzleChamber.blk"
+
+SproutTower1F_Blocks:
+ INCBIN "maps/SproutTower1F.blk"
+
+BetaSproutTowerCutOut1_Blocks:
+ INCBIN "maps/unused/BetaSproutTowerCutOut1.blk"
+
+SproutTower2F_Blocks:
+ INCBIN "maps/SproutTower2F.blk"
+
+BetaSproutTowerCutOut2_Blocks:
+ INCBIN "maps/unused/BetaSproutTowerCutOut2.blk"
+
+SproutTower3F_Blocks:
+ INCBIN "maps/SproutTower3F.blk"
+
+BetaSproutTowerCutOut3_Blocks:
+ INCBIN "maps/unused/BetaSproutTowerCutOut3.blk"
+
+RadioTower1F_Blocks:
+ INCBIN "maps/RadioTower1F.blk"
+
+RadioTower2F_Blocks:
+ INCBIN "maps/RadioTower2F.blk"
+
+RadioTower3F_Blocks:
+ INCBIN "maps/RadioTower3F.blk"
+
+RadioTower4F_Blocks:
+ INCBIN "maps/RadioTower4F.blk"
+
+RadioTower5F_Blocks:
+ INCBIN "maps/RadioTower5F.blk"
+
+NewBarkTown_Blocks:
+ INCBIN "maps/NewBarkTown.blk"
+
+CherrygroveCity_Blocks:
+ INCBIN "maps/CherrygroveCity.blk"
+
+VioletCity_Blocks:
+ INCBIN "maps/VioletCity.blk"
+
+AzaleaTown_Blocks:
+ INCBIN "maps/AzaleaTown.blk"
+
+CianwoodCity_Blocks:
+ INCBIN "maps/CianwoodCity.blk"
+
+GoldenrodCity_Blocks:
+ INCBIN "maps/GoldenrodCity.blk"
+
+OlivineCity_Blocks:
+ INCBIN "maps/OlivineCity.blk"
+
+EcruteakCity_Blocks:
+ INCBIN "maps/EcruteakCity.blk"
+
+MahoganyTown_Blocks:
+ INCBIN "maps/MahoganyTown.blk"
+
+LakeOfRage_Blocks:
+ INCBIN "maps/LakeOfRage.blk"
+
+BlackthornCity_Blocks:
+ INCBIN "maps/BlackthornCity.blk"
+
+SilverCaveOutside_Blocks:
+ INCBIN "maps/SilverCaveOutside.blk"
+
+Route6_Blocks:
+ INCBIN "maps/Route6.blk"
+
+Route7_Blocks:
+ INCBIN "maps/Route7.blk"
+
+Route16_Blocks:
+ INCBIN "maps/Route16.blk"
+
+Route18_Blocks:
+ INCBIN "maps/Route18.blk"
+
+GoldenrodUnderground_Blocks:
+ INCBIN "maps/GoldenrodUnderground.blk"
+
+GoldenrodUndergroundSwitchRoomEntrances_Blocks:
+ INCBIN "maps/GoldenrodUndergroundSwitchRoomEntrances.blk"
+
+GoldenrodDeptStoreB1F_Blocks:
+ INCBIN "maps/GoldenrodDeptStoreB1F.blk"
+
+GoldenrodUndergroundWarehouse_Blocks:
+ INCBIN "maps/GoldenrodUndergroundWarehouse.blk"
+
+BetaElevator_Blocks:
+ INCBIN "maps/unused/BetaElevator.blk"
+
+TinTower1F_Blocks:
+ INCBIN "maps/TinTower1F.blk"
+
+TinTower2F_Blocks:
+ INCBIN "maps/TinTower2F.blk"
+
+TinTower3F_Blocks:
+ INCBIN "maps/TinTower3F.blk"
+
+TinTower4F_Blocks:
+ INCBIN "maps/TinTower4F.blk"
+
+TinTower5F_Blocks:
+ INCBIN "maps/TinTower5F.blk"
+
+TinTower6F_Blocks:
+ INCBIN "maps/TinTower6F.blk"
+
+TinTower7F_Blocks:
+ INCBIN "maps/TinTower7F.blk"
+
+TinTower8F_Blocks:
+ INCBIN "maps/TinTower8F.blk"
+
+TinTower9F_Blocks:
+ INCBIN "maps/TinTower9F.blk"
+
+TinTowerRoof_Blocks:
+ INCBIN "maps/TinTowerRoof.blk"
+
+BurnedTower1F_Blocks:
+ INCBIN "maps/BurnedTower1F.blk"
+
+BurnedTowerB1F_Blocks:
+ INCBIN "maps/BurnedTowerB1F.blk"
+
+BetaCaveTestMap_Blocks:
+ INCBIN "maps/unused/BetaCaveTestMap.blk"
+
+MountMortar1FOutside_Blocks:
+ INCBIN "maps/MountMortar1FOutside.blk"
+
+MountMortar1FInside_Blocks:
+ INCBIN "maps/MountMortar1FInside.blk"
+
+MountMortar2FInside_Blocks:
+ INCBIN "maps/MountMortar2FInside.blk"
+
+MountMortarB1F_Blocks:
+ INCBIN "maps/MountMortarB1F.blk"
+
+IcePath1F_Blocks:
+ INCBIN "maps/IcePath1F.blk"
+
+IcePathB1F_Blocks:
+ INCBIN "maps/IcePathB1F.blk"
+
+IcePathB2FMahoganySide_Blocks:
+ INCBIN "maps/IcePathB2FMahoganySide.blk"
+
+IcePathB2FBlackthornSide_Blocks:
+ INCBIN "maps/IcePathB2FBlackthornSide.blk"
+
+IcePathB3F_Blocks:
+ INCBIN "maps/IcePathB3F.blk"
+
+WhirlIslandNW_Blocks:
+ INCBIN "maps/WhirlIslandNW.blk"
+
+WhirlIslandNE_Blocks:
+ INCBIN "maps/WhirlIslandNE.blk"
+
+WhirlIslandSW_Blocks:
+ INCBIN "maps/WhirlIslandSW.blk"
+
+WhirlIslandCave_Blocks:
+ INCBIN "maps/WhirlIslandCave.blk"
+
+WhirlIslandSE_Blocks:
+ INCBIN "maps/WhirlIslandSE.blk"
+
+WhirlIslandB1F_Blocks:
+ INCBIN "maps/WhirlIslandB1F.blk"
+
+WhirlIslandB2F_Blocks:
+ INCBIN "maps/WhirlIslandB2F.blk"
+
+WhirlIslandLugiaChamber_Blocks:
+ INCBIN "maps/WhirlIslandLugiaChamber.blk"
+
+SilverCaveRoom1_Blocks:
+ INCBIN "maps/SilverCaveRoom1.blk"
+
+SilverCaveRoom2_Blocks:
+ INCBIN "maps/SilverCaveRoom2.blk"
+
+SilverCaveRoom3_Blocks:
+ INCBIN "maps/SilverCaveRoom3.blk"
+
+BetaRocketHideout1_Blocks:
+ INCBIN "maps/unused/BetaRocketHideout1.blk"
+
+BetaRocketHideout2_Blocks:
+ INCBIN "maps/unused/BetaRocketHideout2.blk"
+
+BetaEmptyHouse_Blocks:
+ INCBIN "maps/unused/BetaEmptyHouse.blk"
+
+BetaRocketHideout3_Blocks:
+ INCBIN "maps/unused/BetaRocketHideout3.blk"
+
+MahoganyMart1F_Blocks:
+MountMoonGiftShop_Blocks:
+ INCBIN "maps/GiftShop.blk"
+
+TeamRocketBaseB1F_Blocks:
+ INCBIN "maps/TeamRocketBaseB1F.blk"
+
+TeamRocketBaseB2F_Blocks:
+ INCBIN "maps/TeamRocketBaseB2F.blk"
+
+TeamRocketBaseB3F_Blocks:
+ INCBIN "maps/TeamRocketBaseB3F.blk"
+
+BetaRoute23EarlyVersion_Blocks:
+ INCBIN "maps/unused/BetaRoute23EarlyVersion.blk"
+
+IndigoPlateauPokecenter1F_Blocks:
+ INCBIN "maps/IndigoPlateauPokecenter1F.blk"
+
+WillsRoom_Blocks:
+ INCBIN "maps/WillsRoom.blk"
+
+KogasRoom_Blocks:
+ INCBIN "maps/KogasRoom.blk"
+
+BrunosRoom_Blocks:
+ INCBIN "maps/BrunosRoom.blk"
+
+KarensRoom_Blocks:
+ INCBIN "maps/KarensRoom.blk"
+
+AzaleaGym_Blocks:
+ INCBIN "maps/AzaleaGym.blk"
+
+VioletGym_Blocks:
+ INCBIN "maps/VioletGym.blk"
+
+GoldenrodGym_Blocks:
+ INCBIN "maps/GoldenrodGym.blk"
+
+EcruteakGym_Blocks:
+ INCBIN "maps/EcruteakGym.blk"
+
+MahoganyGym_Blocks:
+ INCBIN "maps/MahoganyGym.blk"
+
+OlivineGym_Blocks:
+ INCBIN "maps/OlivineGym.blk"
+
+BetaUnknown_Blocks:
+ INCBIN "maps/unused/BetaUnknown.blk"
+
+CianwoodGym_Blocks:
+ INCBIN "maps/CianwoodGym.blk"
+
+BlackthornGym1F_Blocks:
+ INCBIN "maps/BlackthornGym1F.blk"
+
+BlackthornGym2F_Blocks:
+ INCBIN "maps/BlackthornGym2F.blk"
+
+OlivineLighthouse1F_Blocks:
+ INCBIN "maps/OlivineLighthouse1F.blk"
+
+OlivineLighthouse2F_Blocks:
+ INCBIN "maps/OlivineLighthouse2F.blk"
+
+OlivineLighthouse3F_Blocks:
+ INCBIN "maps/OlivineLighthouse3F.blk"
+
+OlivineLighthouse4F_Blocks:
+ INCBIN "maps/OlivineLighthouse4F.blk"
+
+OlivineLighthouse5F_Blocks:
+ INCBIN "maps/OlivineLighthouse5F.blk"
+
+OlivineLighthouse6F_Blocks:
+ INCBIN "maps/OlivineLighthouse6F.blk"
+
+
+SECTION "Map Blocks 3", ROMX
+
+BetaCave2_Blocks:
+ INCBIN "maps/unused/BetaCave2.blk"
+
+SlowpokeWellB1F_Blocks:
+ INCBIN "maps/SlowpokeWellB1F.blk"
+
+SlowpokeWellB2F_Blocks:
+ INCBIN "maps/SlowpokeWellB2F.blk"
+
+IlexForest_Blocks:
+ INCBIN "maps/IlexForest.blk"
+
+DarkCaveVioletEntrance_Blocks:
+ INCBIN "maps/DarkCaveVioletEntrance.blk"
+
+DarkCaveBlackthornEntrance_Blocks:
+ INCBIN "maps/DarkCaveBlackthornEntrance.blk"
+
+RuinsOfAlphResearchCenter_Blocks:
+ INCBIN "maps/RuinsOfAlphResearchCenter.blk"
+
+GoldenrodBikeShop_Blocks:
+ INCBIN "maps/GoldenrodBikeShop.blk"
+
+DanceTheatre_Blocks:
+ INCBIN "maps/DanceTheatre.blk"
+
+EcruteakHouse_Blocks:
+ INCBIN "maps/EcruteakHouse.blk"
+
+GoldenrodGameCorner_Blocks:
+ INCBIN "maps/GoldenrodGameCorner.blk"
+
+Route35NationalParkGate_Blocks:
+ INCBIN "maps/Route35NationalParkGate.blk"
+
+Route36NationalParkGate_Blocks:
+ INCBIN "maps/Route36NationalParkGate.blk"
+
+FastShip1F_Blocks:
+ INCBIN "maps/FastShip1F.blk"
+
+FastShipB1F_Blocks:
+ INCBIN "maps/FastShipB1F.blk"
+
+BetaFastShipInsideCutOut_Blocks:
+ INCBIN "maps/unused/BetaFastShipInsideCutOut.blk"
+
+FastShipCabins_NNW_NNE_NE_Blocks:
+ INCBIN "maps/FastShipCabins_NNW_NNE_NE.blk"
+
+FastShipCabins_SW_SSW_NW_Blocks:
+ INCBIN "maps/FastShipCabins_SW_SSW_NW.blk"
+
+FastShipCabins_SE_SSE_CaptainsCabin_Blocks:
+ INCBIN "maps/FastShipCabins_SE_SSE_CaptainsCabin.blk"
+
+OlivinePort_Blocks:
+ INCBIN "maps/OlivinePort.blk"
+
+VermilionPort_Blocks:
+ INCBIN "maps/VermilionPort.blk"
+
+OlivineCafe_Blocks:
+SafariZoneMainOffice_Blocks:
+ INCBIN "maps/OlivineCafe.blk"
+
+KrissHouse2F_Blocks:
+ INCBIN "maps/KrissHouse2F.blk"
+
+SaffronMagnetTrainStation_Blocks:
+ INCBIN "maps/SaffronMagnetTrainStation.blk"
+
+CeruleanGym_Blocks:
+ INCBIN "maps/CeruleanGym.blk"
+
+VermilionGym_Blocks:
+ INCBIN "maps/VermilionGym.blk"
+
+SaffronGym_Blocks:
+ INCBIN "maps/SaffronGym.blk"
+
+PowerPlant_Blocks:
+ INCBIN "maps/PowerPlant.blk"
+
+PokemonFanClub_Blocks:
+SafariZoneWardensHome_Blocks:
+ INCBIN "maps/PokemonFanClub.blk"
+
+FightingDojo_Blocks:
+ INCBIN "maps/FightingDojo.blk"
+
+SilphCo1F_Blocks:
+ INCBIN "maps/SilphCo1F.blk"
+
+ViridianGym_Blocks:
+ INCBIN "maps/ViridianGym.blk"
+
+TrainerHouse1F_Blocks:
+ INCBIN "maps/TrainerHouse1F.blk"
+
+TrainerHouseB1F_Blocks:
+ INCBIN "maps/TrainerHouseB1F.blk"
+
+RedsHouse1F_Blocks:
+ INCBIN "maps/RedsHouse1F.blk"
+
+RedsHouse2F_Blocks:
+ INCBIN "maps/RedsHouse2F.blk"
+
+OaksLab_Blocks:
+ INCBIN "maps/OaksLab.blk"
+
+MrFujisHouse_Blocks:
+ INCBIN "maps/MrFujisHouse.blk"
+
+LavRadioTower1F_Blocks:
+ INCBIN "maps/LavRadioTower1F.blk"
+
+SilverCaveItemRooms_Blocks:
+ INCBIN "maps/SilverCaveItemRooms.blk"
+
+DayCare_Blocks:
+ INCBIN "maps/DayCare.blk"
+
+SoulHouse_Blocks:
+ INCBIN "maps/SoulHouse.blk"
+
+PewterGym_Blocks:
+ INCBIN "maps/PewterGym.blk"
+
+CeladonGym_Blocks:
+ INCBIN "maps/CeladonGym.blk"
+
+BetaHouse2_Blocks:
+ INCBIN "maps/unused/BetaHouse2.blk"
+
+CeladonCafe_Blocks:
+ INCBIN "maps/CeladonCafe.blk"
+
+BetaCeladonMansion_Blocks:
+ INCBIN "maps/unused/BetaCeladonMansion.blk"
+
+RockTunnel1F_Blocks:
+ INCBIN "maps/RockTunnel1F.blk"
+
+RockTunnelB1F_Blocks:
+ INCBIN "maps/RockTunnelB1F.blk"
+
+DiglettsCave_Blocks:
+ INCBIN "maps/DiglettsCave.blk"
+
+MountMoon_Blocks:
+ INCBIN "maps/MountMoon.blk"
+
+SeafoamGym_Blocks:
+ INCBIN "maps/SeafoamGym.blk"
+
+MrPokemonsHouse_Blocks:
+ INCBIN "maps/MrPokemonsHouse.blk"
+
+VictoryRoadGate_Blocks:
+ INCBIN "maps/VictoryRoadGate.blk"
+
+OlivinePortPassage_Blocks:
+VermilionPortPassage_Blocks:
+ INCBIN "maps/PortPassage.blk"
+
+FuchsiaGym_Blocks:
+ INCBIN "maps/FuchsiaGym.blk"
+
+SafariZoneBeta_Blocks:
+ INCBIN "maps/SafariZoneBeta.blk"
+
+UndergroundPath_Blocks:
+ INCBIN "maps/UndergroundPath.blk"
+
+Route39Barn_Blocks:
+ INCBIN "maps/Route39Barn.blk"
+
+VictoryRoad_Blocks:
+ INCBIN "maps/VictoryRoad.blk"
+
+Route23_Blocks:
+ INCBIN "maps/Route23.blk"
+
+LancesRoom_Blocks:
+ INCBIN "maps/LancesRoom.blk"
+
+HallOfFame_Blocks:
+ INCBIN "maps/HallOfFame.blk"
+
+CopycatsHouse1F_Blocks:
+ INCBIN "maps/CopycatsHouse1F.blk"
+
+CopycatsHouse2F_Blocks:
+ INCBIN "maps/CopycatsHouse2F.blk"
+
+GoldenrodFlowerShop_Blocks:
+ INCBIN "maps/GoldenrodFlowerShop.blk"
+
+MountMoonSquare_Blocks:
+ INCBIN "maps/MountMoonSquare.blk"
+
+WiseTriosRoom_Blocks:
+ INCBIN "maps/WiseTriosRoom.blk"
+
+DragonsDen1F_Blocks:
+ INCBIN "maps/DragonsDen1F.blk"
+
+DragonsDenB1F_Blocks:
+ INCBIN "maps/DragonsDenB1F.blk"
+
+TohjoFalls_Blocks:
+ INCBIN "maps/TohjoFalls.blk"
+
+RuinsOfAlphHoOhItemRoom_Blocks:
+RuinsOfAlphKabutoItemRoom_Blocks:
+RuinsOfAlphOmanyteItemRoom_Blocks:
+RuinsOfAlphAerodactylItemRoom_Blocks:
+ INCBIN "maps/RuinsOfAlphItemRoom.blk"
+
+RuinsOfAlphHoOhWordRoom_Blocks:
+ INCBIN "maps/RuinsOfAlphHoOhWordRoom.blk"
+
+RuinsOfAlphKabutoWordRoom_Blocks:
+ INCBIN "maps/RuinsOfAlphKabutoWordRoom.blk"
+
+RuinsOfAlphOmanyteWordRoom_Blocks:
+ INCBIN "maps/RuinsOfAlphOmanyteWordRoom.blk"
+
+RuinsOfAlphAerodactylWordRoom_Blocks:
+ INCBIN "maps/RuinsOfAlphAerodactylWordRoom.blk"
+
+DragonShrine_Blocks:
+ INCBIN "maps/DragonShrine.blk"
+
+BattleTower1F_Blocks:
+ INCBIN "maps/BattleTower1F.blk"
+
+BattleTowerBattleRoom_Blocks:
+ INCBIN "maps/BattleTowerBattleRoom.blk"
+
+GoldenrodPokeComCenter2FMobile_Blocks:
+ INCBIN "maps/GoldenrodPokeComCenter2FMobile.blk"
+
+MobileTradeRoomMobile_Blocks:
+ INCBIN "maps/MobileTradeRoomMobile.blk"
+
+MobileBattleRoom_Blocks:
+ INCBIN "maps/MobileBattleRoom.blk"
+
+BattleTowerHallway_Blocks:
+ INCBIN "maps/BattleTowerHallway.blk"
+
+BattleTowerElevator_Blocks:
+ INCBIN "maps/BattleTowerElevator.blk"
+
+BattleTowerOutside_Blocks:
+ INCBIN "maps/BattleTowerOutside.blk"
+
+BetaBlank_Blocks:
+ INCBIN "maps/unused/BetaBlank.blk"
+
+GoldenrodDeptStoreRoof_Blocks:
+ INCBIN "maps/GoldenrodDeptStoreRoof.blk"
diff --git a/data/maps/data.asm b/data/maps/data.asm
new file mode 100644
index 000000000..0cdfb0826
--- /dev/null
+++ b/data/maps/data.asm
@@ -0,0 +1,685 @@
+map_data: MACRO
+;\1: map name
+;\2: map id
+;\3: border block
+;\4: connections: combo of NORTH, SOUTH, WEST, and/or EAST, or 0 for none
+\1_MapData::
+ db \3
+ db \2_HEIGHT, \2_WIDTH
+ db BANK(\1_Blocks)
+ dw \1_Blocks
+ db BANK(\1_MapScripts)
+ dw \1_MapScripts
+ dw \1_MapEvents
+ db \4
+ENDM
+
+connection: MACRO
+if "\1" == "north"
+;\2: map id
+;\3: map name (eventually will be rolled into map id)
+;\4: x
+;\5: offset?
+;\6: strip length
+;\7: this map id
+ map \2
+ dw \3_Blocks + \2_WIDTH * (\2_HEIGHT - 3) + \5
+ dw OverworldMap + \4 + 3
+ db \6
+ db \2_WIDTH
+ db \2_HEIGHT * 2 - 1
+ db (\4 - \5) * -2
+ dw OverworldMap + \2_HEIGHT * (\2_WIDTH + 6) + 1
+endc
+
+if "\1" == "south"
+;\2: map id
+;\3: map name (eventually will be rolled into map id)
+;\4: x
+;\5: offset?
+;\6: strip length
+;\7: this map id
+ map \2
+ dw \3_Blocks + \5
+ dw OverworldMap + (\7_HEIGHT + 3) * (\7_WIDTH + 6) + \4 + 3
+ db \6
+ db \2_WIDTH
+ db 0
+ db (\4 - \5) * -2
+ dw OverworldMap + \2_WIDTH + 7
+endc
+
+if "\1" == "west"
+;\2: map id
+;\3: map name (eventually will be rolled into map id)
+;\4: y
+;\5: offset?
+;\6: strip length
+;\7: this map id
+ map \2
+ dw \3_Blocks + (\2_WIDTH * \5) + \2_WIDTH - 3
+ dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3)
+ db \6
+ db \2_WIDTH
+ db (\4 - \5) * -2
+ db \2_WIDTH * 2 - 1
+ dw OverworldMap + \2_WIDTH * 2 + 6
+endc
+
+if "\1" == "east"
+;\2: map id
+;\3: map name (eventually will be rolled into map id)
+;\4: y
+;\5: offset?
+;\6: strip length
+;\7: this map id
+ map \2
+ dw \3_Blocks + (\2_WIDTH * \5)
+ dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3 + 1) - 3
+ db \6
+ db \2_WIDTH
+ db (\4 - \5) * -2
+ db 0
+ dw OverworldMap + \2_WIDTH + 7
+endc
+ENDM
+
+
+ map_data NewBarkTown, NEW_BARK_TOWN, $05, WEST | EAST
+ connection west, ROUTE_29, Route29, 0, 0, 9, NEW_BARK_TOWN
+ connection east, ROUTE_27, Route27, 0, 0, 9, NEW_BARK_TOWN
+
+ map_data CherrygroveCity, CHERRYGROVE_CITY, $35, NORTH | EAST
+ connection north, ROUTE_30, Route30, 5, 0, 10, CHERRYGROVE_CITY
+ connection east, ROUTE_29, Route29, 0, 0, 9, CHERRYGROVE_CITY
+
+ map_data VioletCity, VIOLET_CITY, $05, SOUTH | WEST | EAST
+ connection south, ROUTE_32, Route32, 0, 0, 10, VIOLET_CITY
+ connection west, ROUTE_36, Route36, 0, 0, 9, VIOLET_CITY
+ connection east, ROUTE_31, Route31, 9, 0, 9, VIOLET_CITY
+
+ map_data AzaleaTown, AZALEA_TOWN, $05, WEST | EAST
+ connection west, ROUTE_34, Route34, -3, 15, 12, AZALEA_TOWN
+ connection east, ROUTE_33, Route33, 0, 0, 9, AZALEA_TOWN
+
+ map_data CianwoodCity, CIANWOOD_CITY, $35, EAST
+ connection east, ROUTE_41, Route41, 0, 0, 27, CIANWOOD_CITY
+
+ map_data GoldenrodCity, GOLDENROD_CITY, $35, NORTH | SOUTH
+ connection north, ROUTE_35, Route35, 5, 0, 10, GOLDENROD_CITY
+ connection south, ROUTE_34, Route34, 5, 0, 10, GOLDENROD_CITY
+
+ map_data OlivineCity, OLIVINE_CITY, $35, NORTH | WEST
+ connection north, ROUTE_39, Route39, 5, 0, 10, OLIVINE_CITY
+ connection west, ROUTE_40, Route40, 9, 0, 12, OLIVINE_CITY
+
+ map_data EcruteakCity, ECRUTEAK_CITY, $05, SOUTH | WEST | EAST
+ connection south, ROUTE_37, Route37, 5, 0, 10, ECRUTEAK_CITY
+ connection west, ROUTE_38, Route38, 5, 0, 9, ECRUTEAK_CITY
+ connection east, ROUTE_42, Route42, 9, 0, 9, ECRUTEAK_CITY
+
+ map_data MahoganyTown, MAHOGANY_TOWN, $71, NORTH | WEST | EAST
+ connection north, ROUTE_43, Route43, 0, 0, 10, MAHOGANY_TOWN
+ connection west, ROUTE_42, Route42, 0, 0, 9, MAHOGANY_TOWN
+ connection east, ROUTE_44, Route44, 0, 0, 9, MAHOGANY_TOWN
+
+ map_data LakeOfRage, LAKE_OF_RAGE, $05, SOUTH
+ connection south, ROUTE_43, Route43, 5, 0, 10, LAKE_OF_RAGE
+
+ map_data BlackthornCity, BLACKTHORN_CITY, $71, SOUTH | WEST
+ connection south, ROUTE_45, Route45, 0, 0, 10, BLACKTHORN_CITY
+ connection west, ROUTE_44, Route44, 9, 0, 9, BLACKTHORN_CITY
+
+ map_data SilverCaveOutside, SILVER_CAVE_OUTSIDE, $2c, EAST
+ connection east, ROUTE_28, Route28, 9, 0, 9, SILVER_CAVE_OUTSIDE
+
+ map_data Route26, ROUTE_26, $05, WEST
+ connection west, ROUTE_27, Route27, 45, 0, 9, ROUTE_26
+
+ map_data Route27, ROUTE_27, $35, WEST | EAST
+ connection west, NEW_BARK_TOWN, NewBarkTown, 0, 0, 9, ROUTE_27
+ connection east, ROUTE_26, Route26, -3, 42, 12, ROUTE_27
+
+ map_data Route28, ROUTE_28, $2c, WEST
+ connection west, SILVER_CAVE_OUTSIDE, SilverCaveOutside, -3, 6, 12, ROUTE_28
+
+ map_data Route29, ROUTE_29, $05, NORTH | WEST | EAST
+ connection north, ROUTE_46, Route46, 10, 0, 10, ROUTE_29
+ connection west, CHERRYGROVE_CITY, CherrygroveCity, 0, 0, 9, ROUTE_29
+ connection east, NEW_BARK_TOWN, NewBarkTown, 0, 0, 9, ROUTE_29
+
+ map_data Route30, ROUTE_30, $05, NORTH | SOUTH
+ connection north, ROUTE_31, Route31, -3, 7, 13, ROUTE_30
+ connection south, CHERRYGROVE_CITY, CherrygroveCity, -3, 2, 16, ROUTE_30
+
+ map_data Route31, ROUTE_31, $05, SOUTH | WEST
+ connection south, ROUTE_30, Route30, 10, 0, 10, ROUTE_31
+ connection west, VIOLET_CITY, VioletCity, -3, 6, 12, ROUTE_31
+
+ map_data Route32, ROUTE_32, $05, NORTH | SOUTH
+ connection north, VIOLET_CITY, VioletCity, 0, 0, 13, ROUTE_32
+ connection south, ROUTE_33, Route33, 0, 0, 10, ROUTE_32
+
+ map_data Route33, ROUTE_33, $05, NORTH | WEST
+ connection north, ROUTE_32, Route32, 0, 0, 10, ROUTE_33
+ connection west, AZALEA_TOWN, AzaleaTown, 0, 0, 9, ROUTE_33
+
+ map_data Route34, ROUTE_34, $05, NORTH | EAST
+ connection north, GOLDENROD_CITY, GoldenrodCity, -3, 2, 16, ROUTE_34
+ connection east, AZALEA_TOWN, AzaleaTown, 18, 0, 9, ROUTE_34
+
+ map_data Route35, ROUTE_35, $05, NORTH | SOUTH
+ connection north, ROUTE_36, Route36, 0, 0, 13, ROUTE_35
+ connection south, GOLDENROD_CITY, GoldenrodCity, -3, 2, 16, ROUTE_35
+
+ map_data Route36, ROUTE_36, $05, NORTH | SOUTH | EAST
+ connection north, ROUTE_37, Route37, 10, 0, 10, ROUTE_36
+ connection south, ROUTE_35, Route35, 0, 0, 10, ROUTE_36
+ connection east, VIOLET_CITY, VioletCity, 0, 0, 12, ROUTE_36
+
+ map_data Route37, ROUTE_37, $05, NORTH | SOUTH
+ connection north, ECRUTEAK_CITY, EcruteakCity, -3, 2, 16, ROUTE_37
+ connection south, ROUTE_36, Route36, -3, 7, 16, ROUTE_37
+
+ map_data Route38, ROUTE_38, $05, WEST | EAST
+ connection west, ROUTE_39, Route39, 0, 0, 12, ROUTE_38
+ connection east, ECRUTEAK_CITY, EcruteakCity, -3, 2, 15, ROUTE_38
+
+ map_data Route39, ROUTE_39, $05, SOUTH | EAST
+ connection south, OLIVINE_CITY, OlivineCity, -3, 2, 16, ROUTE_39
+ connection east, ROUTE_38, Route38, 0, 0, 9, ROUTE_39
+
+ map_data Route40, ROUTE_40, $35, SOUTH | EAST
+ connection south, ROUTE_41, Route41, -3, 12, 13, ROUTE_40
+ connection east, OLIVINE_CITY, OlivineCity, -3, 6, 12, ROUTE_40
+
+ map_data Route41, ROUTE_41, $35, NORTH | WEST
+ connection north, ROUTE_40, Route40, 15, 0, 10, ROUTE_41
+ connection west, CIANWOOD_CITY, CianwoodCity, 0, 0, 27, ROUTE_41
+
+ map_data Route42, ROUTE_42, $05, WEST | EAST
+ connection west, ECRUTEAK_CITY, EcruteakCity, -3, 6, 12, ROUTE_42
+ connection east, MAHOGANY_TOWN, MahoganyTown, 0, 0, 9, ROUTE_42
+
+ map_data Route43, ROUTE_43, $05, NORTH | SOUTH
+ connection north, LAKE_OF_RAGE, LakeOfRage, -3, 2, 16, ROUTE_43
+ connection south, MAHOGANY_TOWN, MahoganyTown, 0, 0, 10, ROUTE_43
+
+ map_data Route44, ROUTE_44, $71, WEST | EAST
+ connection west, MAHOGANY_TOWN, MahoganyTown, 0, 0, 9, ROUTE_44
+ connection east, BLACKTHORN_CITY, BlackthornCity, -3, 6, 12, ROUTE_44
+
+ map_data Route45, ROUTE_45, $71, NORTH | WEST
+ connection north, BLACKTHORN_CITY, BlackthornCity, 0, 0, 13, ROUTE_45
+ connection west, ROUTE_46, Route46, 36, 0, 12, ROUTE_45
+
+ map_data Route46, ROUTE_46, $05, SOUTH | EAST
+ connection south, ROUTE_29, Route29, -3, 7, 16, ROUTE_46
+ connection east, ROUTE_45, Route45, -3, 33, 12, ROUTE_46
+
+ map_data PewterCity, PEWTER_CITY, $0f, SOUTH | EAST
+ connection south, ROUTE_2, Route2, 5, 0, 10, PEWTER_CITY
+ connection east, ROUTE_3, Route3, 5, 0, 9, PEWTER_CITY
+
+ map_data Route2, ROUTE_2, $0f, NORTH | SOUTH
+ connection north, PEWTER_CITY, PewterCity, -3, 2, 16, ROUTE_2
+ connection south, VIRIDIAN_CITY, ViridianCity, -3, 2, 16, ROUTE_2
+
+ map_data ViridianCity, VIRIDIAN_CITY, $0f, NORTH | SOUTH | WEST
+ connection north, ROUTE_2, Route2, 5, 0, 10, VIRIDIAN_CITY
+ connection south, ROUTE_1, Route1, 10, 0, 10, VIRIDIAN_CITY
+ connection west, ROUTE_22, Route22, 4, 0, 9, VIRIDIAN_CITY
+
+ map_data Route22, ROUTE_22, $2c, EAST
+ connection east, VIRIDIAN_CITY, ViridianCity, -3, 1, 15, ROUTE_22
+
+ map_data Route1, ROUTE_1, $0f, NORTH | SOUTH
+ connection north, VIRIDIAN_CITY, ViridianCity, -3, 7, 13, ROUTE_1
+ connection south, PALLET_TOWN, PalletTown, 0, 0, 10, ROUTE_1
+
+ map_data PalletTown, PALLET_TOWN, $0f, NORTH | SOUTH
+ connection north, ROUTE_1, Route1, 0, 0, 10, PALLET_TOWN
+ connection south, ROUTE_21, Route21, 0, 0, 10, PALLET_TOWN
+
+ map_data Route21, ROUTE_21, $43, NORTH | SOUTH
+ connection north, PALLET_TOWN, PalletTown, 0, 0, 10, ROUTE_21
+ connection south, CINNABAR_ISLAND, CinnabarIsland, 0, 0, 10, ROUTE_21
+
+ map_data CinnabarIsland, CINNABAR_ISLAND, $43, NORTH | EAST
+ connection north, ROUTE_21, Route21, 0, 0, 10, CINNABAR_ISLAND
+ connection east, ROUTE_20, Route20, 0, 0, 9, CINNABAR_ISLAND
+
+ map_data Route20, ROUTE_20, $43, WEST | EAST
+ connection west, CINNABAR_ISLAND, CinnabarIsland, 0, 0, 9, ROUTE_20
+ connection east, ROUTE_19, Route19, -3, 6, 12, ROUTE_20
+
+ map_data Route19, ROUTE_19, $43, NORTH | WEST
+ connection north, FUCHSIA_CITY, FuchsiaCity, 0, 0, 13, ROUTE_19
+ connection west, ROUTE_20, Route20, 9, 0, 9, ROUTE_19
+
+ map_data FuchsiaCity, FUCHSIA_CITY, $0f, SOUTH | WEST | EAST
+ connection south, ROUTE_19, Route19, 0, 0, 10, FUCHSIA_CITY
+ connection west, ROUTE_18, Route18, 7, 0, 9, FUCHSIA_CITY
+ connection east, ROUTE_15, Route15, 9, 0, 9, FUCHSIA_CITY
+
+ map_data Route18, ROUTE_18, $43, WEST | EAST
+ connection west, ROUTE_17, Route17, -3, 35, 10, ROUTE_18
+ connection east, FUCHSIA_CITY, FuchsiaCity, -3, 4, 14, ROUTE_18
+
+ map_data Route17, ROUTE_17, $43, NORTH | EAST
+ connection north, ROUTE_16, Route16, 0, 0, 10, ROUTE_17
+ connection east, ROUTE_18, Route18, 38, 0, 9, ROUTE_17
+
+ map_data Route16, ROUTE_16, $0f, SOUTH | EAST
+ connection south, ROUTE_17, Route17, 0, 0, 10, ROUTE_16
+ connection east, CELADON_CITY, CeladonCity, -3, 6, 12, ROUTE_16
+
+ map_data CeladonCity, CELADON_CITY, $0f, WEST | EAST
+ connection west, ROUTE_16, Route16, 9, 0, 9, CELADON_CITY
+ connection east, ROUTE_7, Route7, 5, 0, 9, CELADON_CITY
+
+ map_data Route7, ROUTE_7, $0f, WEST | EAST
+ connection west, CELADON_CITY, CeladonCity, -3, 2, 15, ROUTE_7
+ connection east, SAFFRON_CITY, SaffronCity, -3, 6, 12, ROUTE_7
+
+ map_data Route15, ROUTE_15, $0f, WEST | EAST
+ connection west, FUCHSIA_CITY, FuchsiaCity, -3, 6, 12, ROUTE_15
+ connection east, ROUTE_14, Route14, -3, 6, 12, ROUTE_15
+
+ map_data Route14, ROUTE_14, $43, NORTH | WEST
+ connection north, ROUTE_13, Route13, 0, 0, 13, ROUTE_14
+ connection west, ROUTE_15, Route15, 9, 0, 9, ROUTE_14
+
+ map_data Route13, ROUTE_13, $43, NORTH | SOUTH
+ connection north, ROUTE_12, Route12, 20, 0, 10, ROUTE_13
+ connection south, ROUTE_14, Route14, 0, 0, 10, ROUTE_13
+
+ map_data Route12, ROUTE_12, $43, NORTH | SOUTH | WEST
+ connection north, LAVENDER_TOWN, LavenderTown, 0, 0, 10, ROUTE_12
+ connection south, ROUTE_13, Route13, -3, 17, 13, ROUTE_12
+ connection west, ROUTE_11, Route11, 9, 0, 9, ROUTE_12
+
+ map_data Route11, ROUTE_11, $0f, WEST | EAST
+ connection west, VERMILION_CITY, VermilionCity, 0, 0, 12, ROUTE_11
+ connection east, ROUTE_12, Route12, -3, 6, 15, ROUTE_11
+
+ map_data LavenderTown, LAVENDER_TOWN, $2c, NORTH | SOUTH | WEST
+ connection north, ROUTE_10_SOUTH, Route10South, 0, 0, 10, LAVENDER_TOWN
+ connection south, ROUTE_12, Route12, 0, 0, 10, LAVENDER_TOWN
+ connection west, ROUTE_8, Route8, 0, 0, 9, LAVENDER_TOWN
+
+ map_data VermilionCity, VERMILION_CITY, $43, NORTH | EAST
+ connection north, ROUTE_6, Route6, 5, 0, 10, VERMILION_CITY
+ connection east, ROUTE_11, Route11, 0, 0, 9, VERMILION_CITY
+
+ map_data Route6, ROUTE_6, $0f, NORTH | SOUTH
+ connection north, SAFFRON_CITY, SaffronCity, -3, 2, 16, ROUTE_6
+ connection south, VERMILION_CITY, VermilionCity, -3, 2, 16, ROUTE_6
+
+ map_data SaffronCity, SAFFRON_CITY, $0f, NORTH | SOUTH | WEST | EAST
+ connection north, ROUTE_5, Route5, 5, 0, 10, SAFFRON_CITY
+ connection south, ROUTE_6, Route6, 5, 0, 10, SAFFRON_CITY
+ connection west, ROUTE_7, Route7, 9, 0, 9, SAFFRON_CITY
+ connection east, ROUTE_8, Route8, 9, 0, 9, SAFFRON_CITY
+
+ map_data Route5, ROUTE_5, $0f, NORTH | SOUTH
+ connection north, CERULEAN_CITY, CeruleanCity, -3, 2, 16, ROUTE_5
+ connection south, SAFFRON_CITY, SaffronCity, -3, 2, 16, ROUTE_5
+
+ map_data CeruleanCity, CERULEAN_CITY, $0f, NORTH | SOUTH | WEST | EAST
+ connection north, ROUTE_24, Route24, 6, 0, 10, CERULEAN_CITY
+ connection south, ROUTE_5, Route5, 5, 0, 10, CERULEAN_CITY
+ connection west, ROUTE_4, Route4, 5, 0, 9, CERULEAN_CITY
+ connection east, ROUTE_9, Route9, 9, 0, 9, CERULEAN_CITY
+
+ map_data Route9, ROUTE_9, $2c, SOUTH | WEST
+ connection south, ROUTE_10_NORTH, Route10North, 20, 0, 10, ROUTE_9
+ connection west, CERULEAN_CITY, CeruleanCity, -3, 6, 12, ROUTE_9
+
+ map_data Route24, ROUTE_24, $2c, NORTH | SOUTH
+ connection north, ROUTE_25, Route25, 0, 0, 13, ROUTE_24
+ connection south, CERULEAN_CITY, CeruleanCity, -3, 3, 16, ROUTE_24
+
+ map_data Route25, ROUTE_25, $2c, SOUTH
+ connection south, ROUTE_24, Route24, 0, 0, 10, ROUTE_25
+
+ map_data Route3, ROUTE_3, $2c, WEST | EAST
+ connection west, PEWTER_CITY, PewterCity, -3, 2, 15, ROUTE_3
+ connection east, ROUTE_4, Route4, 0, 0, 9, ROUTE_3
+
+ map_data Route4, ROUTE_4, $2c, WEST | EAST
+ connection west, ROUTE_3, Route3, 0, 0, 9, ROUTE_4
+ connection east, CERULEAN_CITY, CeruleanCity, -3, 2, 15, ROUTE_4
+
+ map_data Route8, ROUTE_8, $2c, WEST | EAST
+ connection west, SAFFRON_CITY, SaffronCity, -3, 6, 12, ROUTE_8
+ connection east, LAVENDER_TOWN, LavenderTown, 0, 0, 9, ROUTE_8
+
+ map_data Route10North, ROUTE_10_NORTH, $2c, NORTH | SOUTH
+ connection north, ROUTE_9, Route9, -3, 17, 13, ROUTE_10_NORTH
+ connection south, ROUTE_10_SOUTH, Route10South, 0, 0, 10, ROUTE_10_NORTH
+
+ map_data Route10South, ROUTE_10_SOUTH, $2c, NORTH | SOUTH
+ connection north, ROUTE_10_NORTH, Route10North, 0, 0, 10, ROUTE_10_SOUTH
+ connection south, LAVENDER_TOWN, LavenderTown, 0, 0, 10, ROUTE_10_SOUTH
+
+ map_data Route23, ROUTE_23, $0f, 0
+ map_data SproutTower1F, SPROUT_TOWER_1F, $00, 0
+ map_data SproutTower2F, SPROUT_TOWER_2F, $00, 0
+ map_data SproutTower3F, SPROUT_TOWER_3F, $00, 0
+ map_data TinTower1F, TIN_TOWER_1F, $00, 0
+ map_data TinTower2F, TIN_TOWER_2F, $00, 0
+ map_data TinTower3F, TIN_TOWER_3F, $00, 0
+ map_data TinTower4F, TIN_TOWER_4F, $00, 0
+ map_data TinTower5F, TIN_TOWER_5F, $00, 0
+ map_data TinTower6F, TIN_TOWER_6F, $00, 0
+ map_data TinTower7F, TIN_TOWER_7F, $00, 0
+ map_data TinTower8F, TIN_TOWER_8F, $00, 0
+ map_data TinTower9F, TIN_TOWER_9F, $00, 0
+ map_data BurnedTower1F, BURNED_TOWER_1F, $00, 0
+ map_data BurnedTowerB1F, BURNED_TOWER_B1F, $09, 0
+ map_data NationalPark, NATIONAL_PARK, $00, 0
+ map_data NationalParkBugContest, NATIONAL_PARK_BUG_CONTEST, $00, 0
+ map_data RadioTower1F, RADIO_TOWER_1F, $00, 0
+ map_data RadioTower2F, RADIO_TOWER_2F, $00, 0
+ map_data RadioTower3F, RADIO_TOWER_3F, $00, 0
+ map_data RadioTower4F, RADIO_TOWER_4F, $00, 0
+ map_data RadioTower5F, RADIO_TOWER_5F, $00, 0
+ map_data RuinsOfAlphOutside, RUINS_OF_ALPH_OUTSIDE, $05, 0
+ map_data RuinsOfAlphHoOhChamber, RUINS_OF_ALPH_HO_OH_CHAMBER, $00, 0
+ map_data RuinsOfAlphKabutoChamber, RUINS_OF_ALPH_KABUTO_CHAMBER, $00, 0
+ map_data RuinsOfAlphOmanyteChamber, RUINS_OF_ALPH_OMANYTE_CHAMBER, $00, 0
+ map_data RuinsOfAlphAerodactylChamber, RUINS_OF_ALPH_AERODACTYL_CHAMBER, $00, 0
+ map_data RuinsOfAlphInnerChamber, RUINS_OF_ALPH_INNER_CHAMBER, $00, 0
+ map_data RuinsOfAlphResearchCenter, RUINS_OF_ALPH_RESEARCH_CENTER, $00, 0
+ map_data RuinsOfAlphHoOhItemRoom, RUINS_OF_ALPH_HO_OH_ITEM_ROOM, $00, 0
+ map_data RuinsOfAlphKabutoItemRoom, RUINS_OF_ALPH_KABUTO_ITEM_ROOM, $00, 0
+ map_data RuinsOfAlphOmanyteItemRoom, RUINS_OF_ALPH_OMANYTE_ITEM_ROOM, $00, 0
+ map_data RuinsOfAlphAerodactylItemRoom, RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM, $00, 0
+ map_data RuinsOfAlphHoOhWordRoom, RUINS_OF_ALPH_HO_OH_WORD_ROOM, $00, 0
+ map_data RuinsOfAlphKabutoWordRoom, RUINS_OF_ALPH_KABUTO_WORD_ROOM, $00, 0
+ map_data RuinsOfAlphOmanyteWordRoom, RUINS_OF_ALPH_OMANYTE_WORD_ROOM, $00, 0
+ map_data RuinsOfAlphAerodactylWordRoom, RUINS_OF_ALPH_AERODACTYL_WORD_ROOM, $00, 0
+ map_data UnionCave1F, UNION_CAVE_1F, $09, 0
+ map_data UnionCaveB1F, UNION_CAVE_B1F, $09, 0
+ map_data UnionCaveB2F, UNION_CAVE_B2F, $09, 0
+ map_data SlowpokeWellB1F, SLOWPOKE_WELL_B1F, $09, 0
+ map_data SlowpokeWellB2F, SLOWPOKE_WELL_B2F, $09, 0
+ map_data OlivineLighthouse1F, OLIVINE_LIGHTHOUSE_1F, $00, 0
+ map_data OlivineLighthouse2F, OLIVINE_LIGHTHOUSE_2F, $00, 0
+ map_data OlivineLighthouse3F, OLIVINE_LIGHTHOUSE_3F, $00, 0
+ map_data OlivineLighthouse4F, OLIVINE_LIGHTHOUSE_4F, $00, 0
+ map_data OlivineLighthouse5F, OLIVINE_LIGHTHOUSE_5F, $00, 0
+ map_data OlivineLighthouse6F, OLIVINE_LIGHTHOUSE_6F, $00, 0
+ map_data MahoganyMart1F, MAHOGANY_MART_1F, $00, 0
+ map_data TeamRocketBaseB1F, TEAM_ROCKET_BASE_B1F, $00, 0
+ map_data TeamRocketBaseB2F, TEAM_ROCKET_BASE_B2F, $00, 0
+ map_data TeamRocketBaseB3F, TEAM_ROCKET_BASE_B3F, $00, 0
+ map_data IlexForest, ILEX_FOREST, $05, 0
+ map_data GoldenrodUnderground, GOLDENROD_UNDERGROUND, $00, 0
+ map_data GoldenrodUndergroundSwitchRoomEntrances, GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, $00, 0
+ map_data GoldenrodDeptStoreB1F, GOLDENROD_DEPT_STORE_B1F, $00, 0
+ map_data GoldenrodUndergroundWarehouse, GOLDENROD_UNDERGROUND_WAREHOUSE, $00, 0
+ map_data MountMortar1FOutside, MOUNT_MORTAR_1F_OUTSIDE, $09, 0
+ map_data MountMortar1FInside, MOUNT_MORTAR_1F_INSIDE, $09, 0
+ map_data MountMortar2FInside, MOUNT_MORTAR_2F_INSIDE, $09, 0
+ map_data MountMortarB1F, MOUNT_MORTAR_B1F, $09, 0
+ map_data IcePath1F, ICE_PATH_1F, $09, 0
+ map_data IcePathB1F, ICE_PATH_B1F, $19, 0
+ map_data IcePathB2FMahoganySide, ICE_PATH_B2F_MAHOGANY_SIDE, $19, 0
+ map_data IcePathB2FBlackthornSide, ICE_PATH_B2F_BLACKTHORN_SIDE, $19, 0
+ map_data IcePathB3F, ICE_PATH_B3F, $19, 0
+ map_data WhirlIslandNW, WHIRL_ISLAND_NW, $09, 0
+ map_data WhirlIslandNE, WHIRL_ISLAND_NE, $09, 0
+ map_data WhirlIslandSW, WHIRL_ISLAND_SW, $09, 0
+ map_data WhirlIslandCave, WHIRL_ISLAND_CAVE, $09, 0
+ map_data WhirlIslandSE, WHIRL_ISLAND_SE, $0f, 0
+ map_data WhirlIslandB1F, WHIRL_ISLAND_B1F, $09, 0
+ map_data WhirlIslandB2F, WHIRL_ISLAND_B2F, $2e, 0
+ map_data WhirlIslandLugiaChamber, WHIRL_ISLAND_LUGIA_CHAMBER, $0f, 0
+ map_data SilverCaveRoom1, SILVER_CAVE_ROOM_1, $09, 0
+ map_data SilverCaveRoom2, SILVER_CAVE_ROOM_2, $09, 0
+ map_data SilverCaveRoom3, SILVER_CAVE_ROOM_3, $09, 0
+ map_data SilverCaveItemRooms, SILVER_CAVE_ITEM_ROOMS, $09, 0
+ map_data DarkCaveVioletEntrance, DARK_CAVE_VIOLET_ENTRANCE, $09, 0
+ map_data DarkCaveBlackthornEntrance, DARK_CAVE_BLACKTHORN_ENTRANCE, $09, 0
+ map_data DragonsDen1F, DRAGONS_DEN_1F, $09, 0
+ map_data DragonsDenB1F, DRAGONS_DEN_B1F, $71, 0
+ map_data DragonShrine, DRAGON_SHRINE, $00, 0
+ map_data TohjoFalls, TOHJO_FALLS, $09, 0
+ map_data OlivinePokecenter1F, OLIVINE_POKECENTER_1F, $00, 0
+ map_data OlivineGym, OLIVINE_GYM, $00, 0
+ map_data OlivineTimsHouse, OLIVINE_TIMS_HOUSE, $00, 0
+ map_data OlivineHouseBeta, OLIVINE_HOUSE_BETA, $00, 0
+ map_data OlivinePunishmentSpeechHouse, OLIVINE_PUNISHMENT_SPEECH_HOUSE, $00, 0
+ map_data OlivineGoodRodHouse, OLIVINE_GOOD_ROD_HOUSE, $00, 0
+ map_data OlivineCafe, OLIVINE_CAFE, $00, 0
+ map_data OlivineMart, OLIVINE_MART, $00, 0
+ map_data Route38EcruteakGate, ROUTE_38_ECRUTEAK_GATE, $00, 0
+ map_data Route39Barn, ROUTE_39_BARN, $00, 0
+ map_data Route39Farmhouse, ROUTE_39_FARMHOUSE, $00, 0
+ map_data MahoganyRedGyaradosSpeechHouse, MAHOGANY_RED_GYARADOS_SPEECH_HOUSE, $00, 0
+ map_data MahoganyGym, MAHOGANY_GYM, $00, 0
+ map_data MahoganyPokecenter1F, MAHOGANY_POKECENTER_1F, $00, 0
+ map_data Route42EcruteakGate, ROUTE_42_ECRUTEAK_GATE, $00, 0
+ map_data DiglettsCave, DIGLETTS_CAVE, $09, 0
+ map_data MountMoon, MOUNT_MOON, $09, 0
+ map_data UndergroundPath, UNDERGROUND_PATH, $00, 0
+ map_data RockTunnel1F, ROCK_TUNNEL_1F, $09, 0
+ map_data RockTunnelB1F, ROCK_TUNNEL_B1F, $09, 0
+ map_data SafariZoneFuchsiaGateBeta, SAFARI_ZONE_FUCHSIA_GATE_BETA, $00, 0
+ map_data SafariZoneBeta, SAFARI_ZONE_BETA, $13, 0
+ map_data VictoryRoad, VICTORY_ROAD, $1d, 0
+ map_data EcruteakHouse, ECRUTEAK_HOUSE, $00, 0
+ map_data WiseTriosRoom, WISE_TRIOS_ROOM, $00, 0
+ map_data EcruteakPokecenter1F, ECRUTEAK_POKECENTER_1F, $00, 0
+ map_data EcruteakLugiaSpeechHouse, ECRUTEAK_LUGIA_SPEECH_HOUSE, $00, 0
+ map_data DanceTheatre, DANCE_THEATRE, $00, 0
+ map_data EcruteakMart, ECRUTEAK_MART, $00, 0
+ map_data EcruteakGym, ECRUTEAK_GYM, $00, 0
+ map_data EcruteakItemfinderHouse, ECRUTEAK_ITEMFINDER_HOUSE, $00, 0
+ map_data BlackthornGym1F, BLACKTHORN_GYM_1F, $00, 0
+ map_data BlackthornGym2F, BLACKTHORN_GYM_2F, $00, 0
+ map_data BlackthornDragonSpeechHouse, BLACKTHORN_DRAGON_SPEECH_HOUSE, $00, 0
+ map_data BlackthornEmysHouse, BLACKTHORN_EMYS_HOUSE, $00, 0
+ map_data BlackthornMart, BLACKTHORN_MART, $00, 0
+ map_data BlackthornPokecenter1F, BLACKTHORN_POKECENTER_1F, $00, 0
+ map_data MoveDeletersHouse, MOVE_DELETERS_HOUSE, $00, 0
+ map_data CinnabarPokecenter1F, CINNABAR_POKECENTER_1F, $00, 0
+ map_data CinnabarPokecenter2FBeta, CINNABAR_POKECENTER_2F_BETA, $00, 0
+ map_data Route19FuchsiaGate, ROUTE_19_FUCHSIA_GATE, $00, 0
+ map_data SeafoamGym, SEAFOAM_GYM, $09, 0
+ map_data CeruleanGymBadgeSpeechHouse, CERULEAN_GYM_BADGE_SPEECH_HOUSE, $00, 0
+ map_data CeruleanPoliceStation, CERULEAN_POLICE_STATION, $00, 0
+ map_data CeruleanTradeSpeechHouse, CERULEAN_TRADE_SPEECH_HOUSE, $00, 0
+ map_data CeruleanPokecenter1F, CERULEAN_POKECENTER_1F, $00, 0
+ map_data CeruleanPokecenter2FBeta, CERULEAN_POKECENTER_2F_BETA, $00, 0
+ map_data CeruleanGym, CERULEAN_GYM, $00, 0
+ map_data CeruleanMart, CERULEAN_MART, $00, 0
+ map_data Route10Pokecenter1F, ROUTE_10_POKECENTER_1F, $00, 0
+ map_data Route10Pokecenter2FBeta, ROUTE_10_POKECENTER_2F_BETA, $00, 0
+ map_data PowerPlant, POWER_PLANT, $00, 0
+ map_data BillsHouse, BILLS_HOUSE, $00, 0
+ map_data AzaleaPokecenter1F, AZALEA_POKECENTER_1F, $00, 0
+ map_data CharcoalKiln, CHARCOAL_KILN, $00, 0
+ map_data AzaleaMart, AZALEA_MART, $00, 0
+ map_data KurtsHouse, KURTS_HOUSE, $00, 0
+ map_data AzaleaGym, AZALEA_GYM, $00, 0
+ map_data LakeOfRageHiddenPowerHouse, LAKE_OF_RAGE_HIDDEN_POWER_HOUSE, $00, 0
+ map_data LakeOfRageMagikarpHouse, LAKE_OF_RAGE_MAGIKARP_HOUSE, $00, 0
+ map_data Route43MahoganyGate, ROUTE_43_MAHOGANY_GATE, $00, 0
+ map_data Route43Gate, ROUTE_43_GATE, $00, 0
+ map_data VioletMart, VIOLET_MART, $00, 0
+ map_data VioletGym, VIOLET_GYM, $00, 0
+ map_data EarlsPokemonAcademy, EARLS_POKEMON_ACADEMY, $00, 0
+ map_data VioletNicknameSpeechHouse, VIOLET_NICKNAME_SPEECH_HOUSE, $00, 0
+ map_data VioletPokecenter1F, VIOLET_POKECENTER_1F, $00, 0
+ map_data VioletKylesHouse, VIOLET_KYLES_HOUSE, $00, 0
+ map_data Route32RuinsOfAlphGate, ROUTE_32_RUINS_OF_ALPH_GATE, $00, 0
+ map_data Route32Pokecenter1F, ROUTE_32_POKECENTER_1F, $00, 0
+ map_data Route35GoldenrodGate, ROUTE_35_GOLDENROD_GATE, $00, 0
+ map_data Route35NationalParkGate, ROUTE_35_NATIONAL_PARK_GATE, $00, 0
+ map_data Route36RuinsOfAlphGate, ROUTE_36_RUINS_OF_ALPH_GATE, $00, 0
+ map_data Route36NationalParkGate, ROUTE_36_NATIONAL_PARK_GATE, $00, 0
+ map_data GoldenrodGym, GOLDENROD_GYM, $00, 0
+ map_data GoldenrodBikeShop, GOLDENROD_BIKE_SHOP, $00, 0
+ map_data GoldenrodHappinessRater, GOLDENROD_HAPPINESS_RATER, $00, 0
+ map_data GoldenrodBillsHouse, GOLDENROD_BILLS_HOUSE, $00, 0
+ map_data GoldenrodMagnetTrainStation, GOLDENROD_MAGNET_TRAIN_STATION, $00, 0
+ map_data GoldenrodFlowerShop, GOLDENROD_FLOWER_SHOP, $00, 0
+ map_data GoldenrodPPSpeechHouse, GOLDENROD_PP_SPEECH_HOUSE, $00, 0
+ map_data GoldenrodNameRater, GOLDENROD_NAME_RATER, $00, 0
+ map_data GoldenrodDeptStore1F, GOLDENROD_DEPT_STORE_1F, $00, 0
+ map_data GoldenrodDeptStore2F, GOLDENROD_DEPT_STORE_2F, $00, 0
+ map_data GoldenrodDeptStore3F, GOLDENROD_DEPT_STORE_3F, $00, 0
+ map_data GoldenrodDeptStore4F, GOLDENROD_DEPT_STORE_4F, $00, 0
+ map_data GoldenrodDeptStore5F, GOLDENROD_DEPT_STORE_5F, $00, 0
+ map_data GoldenrodDeptStore6F, GOLDENROD_DEPT_STORE_6F, $00, 0
+ map_data GoldenrodDeptStoreElevator, GOLDENROD_DEPT_STORE_ELEVATOR, $00, 0
+ map_data GoldenrodDeptStoreRoof, GOLDENROD_DEPT_STORE_ROOF, $24, 0
+ map_data GoldenrodGameCorner, GOLDENROD_GAME_CORNER, $00, 0
+ map_data GoldenrodPokecenter1F, GOLDENROD_POKECENTER_1F, $00, 0
+ map_data GoldenrodPokeComCenter2FMobile, GOLDENROD_POKECOM_CENTER_2F_MOBILE, $00, 0
+ map_data IlexForestAzaleaGate, ILEX_FOREST_AZALEA_GATE, $00, 0
+ map_data Route34IlexForestGate, ROUTE_34_ILEX_FOREST_GATE, $00, 0
+ map_data DayCare, DAY_CARE, $00, 0
+ map_data VermilionHouseFishingSpeechHouse, VERMILION_HOUSE_FISHING_SPEECH_HOUSE, $00, 0
+ map_data VermilionPokecenter1F, VERMILION_POKECENTER_1F, $00, 0
+ map_data VermilionPokecenter2FBeta, VERMILION_POKECENTER_2F_BETA, $00, 0
+ map_data PokemonFanClub, POKEMON_FAN_CLUB, $00, 0
+ map_data VermilionMagnetTrainSpeechHouse, VERMILION_MAGNET_TRAIN_SPEECH_HOUSE, $00, 0
+ map_data VermilionMart, VERMILION_MART, $00, 0
+ map_data VermilionHouseDiglettsCaveSpeechHouse, VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE, $00, 0
+ map_data VermilionGym, VERMILION_GYM, $00, 0
+ map_data Route6SaffronGate, ROUTE_6_SAFFRON_GATE, $00, 0
+ map_data Route6UndergroundPathEntrance, ROUTE_6_UNDERGROUND_PATH_ENTRANCE, $00, 0
+ map_data RedsHouse1F, REDS_HOUSE_1F, $00, 0
+ map_data RedsHouse2F, REDS_HOUSE_2F, $00, 0
+ map_data BluesHouse, BLUES_HOUSE, $00, 0
+ map_data OaksLab, OAKS_LAB, $00, 0
+ map_data PewterNidoranSpeechHouse, PEWTER_NIDORAN_SPEECH_HOUSE, $00, 0
+ map_data PewterGym, PEWTER_GYM, $00, 0
+ map_data PewterMart, PEWTER_MART, $00, 0
+ map_data PewterPokecenter1F, PEWTER_POKECENTER_1F, $00, 0
+ map_data PewterPokecenter2FBeta, PEWTER_POKECENTER_2F_BETA, $00, 0
+ map_data PewterSnoozeSpeechHouse, PEWTER_SNOOZE_SPEECH_HOUSE, $00, 0
+ map_data OlivinePort, OLIVINE_PORT, $0a, 0
+ map_data VermilionPort, VERMILION_PORT, $0a, 0
+ map_data FastShip1F, FAST_SHIP_1F, $00, 0
+ map_data FastShipCabins_NNW_NNE_NE, FAST_SHIP_CABINS_NNW_NNE_NE, $00, 0
+ map_data FastShipCabins_SW_SSW_NW, FAST_SHIP_CABINS_SW_SSW_NW, $00, 0
+ map_data FastShipCabins_SE_SSE_CaptainsCabin, FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN, $00, 0
+ map_data FastShipB1F, FAST_SHIP_B1F, $00, 0
+ map_data OlivinePortPassage, OLIVINE_PORT_PASSAGE, $00, 0
+ map_data VermilionPortPassage, VERMILION_PORT_PASSAGE, $00, 0
+ map_data MountMoonSquare, MOUNT_MOON_SQUARE, $2d, 0
+ map_data MountMoonGiftShop, MOUNT_MOON_GIFT_SHOP, $00, 0
+ map_data TinTowerRoof, TIN_TOWER_ROOF, $00, 0
+ map_data IndigoPlateauPokecenter1F, INDIGO_PLATEAU_POKECENTER_1F, $00, 0
+ map_data WillsRoom, WILLS_ROOM, $00, 0
+ map_data KogasRoom, KOGAS_ROOM, $00, 0
+ map_data BrunosRoom, BRUNOS_ROOM, $00, 0
+ map_data KarensRoom, KARENS_ROOM, $00, 0
+ map_data LancesRoom, LANCES_ROOM, $00, 0
+ map_data HallOfFame, HALL_OF_FAME, $00, 0
+ map_data FuchsiaMart, FUCHSIA_MART, $00, 0
+ map_data SafariZoneMainOffice, SAFARI_ZONE_MAIN_OFFICE, $00, 0
+ map_data FuchsiaGym, FUCHSIA_GYM, $00, 0
+ map_data FuchsiaBillSpeechHouse, FUCHSIA_BILL_SPEECH_HOUSE, $00, 0
+ map_data FuchsiaPokecenter1F, FUCHSIA_POKECENTER_1F, $00, 0
+ map_data FuchsiaPokecenter2FBeta, FUCHSIA_POKECENTER_2F_BETA, $00, 0
+ map_data SafariZoneWardensHome, SAFARI_ZONE_WARDENS_HOME, $00, 0
+ map_data Route15FuchsiaGate, ROUTE_15_FUCHSIA_GATE, $00, 0
+ map_data LavenderPokecenter1F, LAVENDER_POKECENTER_1F, $00, 0
+ map_data LavenderPokecenter2FBeta, LAVENDER_POKECENTER_2F_BETA, $00, 0
+ map_data MrFujisHouse, MR_FUJIS_HOUSE, $00, 0
+ map_data LavenderSpeechHouse, LAVENDER_SPEECH_HOUSE, $00, 0
+ map_data LavenderNameRater, LAVENDER_NAME_RATER, $00, 0
+ map_data LavenderMart, LAVENDER_MART, $00, 0
+ map_data SoulHouse, SOUL_HOUSE, $00, 0
+ map_data LavRadioTower1F, LAV_RADIO_TOWER_1F, $00, 0
+ map_data Route8SaffronGate, ROUTE_8_SAFFRON_GATE, $00, 0
+ map_data Route12SuperRodHouse, ROUTE_12_SUPER_ROD_HOUSE, $00, 0
+ map_data SilverCavePokecenter1F, SILVER_CAVE_POKECENTER_1F, $00, 0
+ map_data Route28FamousSpeechHouse, ROUTE_28_FAMOUS_SPEECH_HOUSE, $00, 0
+ map_data Pokecenter2F, POKECENTER_2F, $00, 0
+ map_data TradeCenter, TRADE_CENTER, $00, 0
+ map_data Colosseum, COLOSSEUM, $00, 0
+ map_data TimeCapsule, TIME_CAPSULE, $00, 0
+ map_data MobileTradeRoomMobile, MOBILE_TRADE_ROOM_MOBILE, $00, 0
+ map_data MobileBattleRoom, MOBILE_BATTLE_ROOM, $00, 0
+ map_data CeladonDeptStore1F, CELADON_DEPT_STORE_1F, $00, 0
+ map_data CeladonDeptStore2F, CELADON_DEPT_STORE_2F, $00, 0
+ map_data CeladonDeptStore3F, CELADON_DEPT_STORE_3F, $00, 0
+ map_data CeladonDeptStore4F, CELADON_DEPT_STORE_4F, $00, 0
+ map_data CeladonDeptStore5F, CELADON_DEPT_STORE_5F, $00, 0
+ map_data CeladonDeptStore6F, CELADON_DEPT_STORE_6F, $00, 0
+ map_data CeladonDeptStoreElevator, CELADON_DEPT_STORE_ELEVATOR, $00, 0
+ map_data CeladonMansion1F, CELADON_MANSION_1F, $00, 0
+ map_data CeladonMansion2F, CELADON_MANSION_2F, $00, 0
+ map_data CeladonMansion3F, CELADON_MANSION_3F, $00, 0
+ map_data CeladonMansionRoof, CELADON_MANSION_ROOF, $01, 0
+ map_data CeladonMansionRoofHouse, CELADON_MANSION_ROOF_HOUSE, $00, 0
+ map_data CeladonPokecenter1F, CELADON_POKECENTER_1F, $00, 0
+ map_data CeladonPokecenter2FBeta, CELADON_POKECENTER_2F_BETA, $00, 0
+ map_data CeladonGameCorner, CELADON_GAME_CORNER, $00, 0
+ map_data CeladonGameCornerPrizeRoom, CELADON_GAME_CORNER_PRIZE_ROOM, $00, 0
+ map_data CeladonGym, CELADON_GYM, $00, 0
+ map_data CeladonCafe, CELADON_CAFE, $00, 0
+ map_data Route16FuchsiaSpeechHouse, ROUTE_16_FUCHSIA_SPEECH_HOUSE, $00, 0
+ map_data Route16Gate, ROUTE_16_GATE, $00, 0
+ map_data Route7SaffronGate, ROUTE_7_SAFFRON_GATE, $00, 0
+ map_data Route17Route18Gate, ROUTE_17_ROUTE_18_GATE, $00, 0
+ map_data ManiasHouse, MANIAS_HOUSE, $00, 0
+ map_data CianwoodGym, CIANWOOD_GYM, $00, 0
+ map_data CianwoodPokecenter1F, CIANWOOD_POKECENTER_1F, $00, 0
+ map_data CianwoodPharmacy, CIANWOOD_PHARMACY, $00, 0
+ map_data CianwoodPhotoStudio, CIANWOOD_PHOTO_STUDIO, $00, 0
+ map_data CianwoodLugiaSpeechHouse, CIANWOOD_LUGIA_SPEECH_HOUSE, $00, 0
+ map_data PokeSeersHouse, POKE_SEERS_HOUSE, $00, 0
+ map_data BattleTower1F, BATTLE_TOWER_1F, $00, 0
+ map_data BattleTowerBattleRoom, BATTLE_TOWER_BATTLE_ROOM, $00, 0
+ map_data BattleTowerElevator, BATTLE_TOWER_ELEVATOR, $00, 0
+ map_data BattleTowerHallway, BATTLE_TOWER_HALLWAY, $00, 0
+ map_data Route40BattleTowerGate, ROUTE_40_BATTLE_TOWER_GATE, $00, 0
+ map_data BattleTowerOutside, BATTLE_TOWER_OUTSIDE, $05, 0
+ map_data ViridianGym, VIRIDIAN_GYM, $00, 0
+ map_data ViridianNicknameSpeechHouse, VIRIDIAN_NICKNAME_SPEECH_HOUSE, $00, 0
+ map_data TrainerHouse1F, TRAINER_HOUSE_1F, $00, 0
+ map_data TrainerHouseB1F, TRAINER_HOUSE_B1F, $00, 0
+ map_data ViridianMart, VIRIDIAN_MART, $00, 0
+ map_data ViridianPokecenter1F, VIRIDIAN_POKECENTER_1F, $00, 0
+ map_data ViridianPokecenter2FBeta, VIRIDIAN_POKECENTER_2F_BETA, $00, 0
+ map_data Route2NuggetSpeechHouse, ROUTE_2_NUGGET_SPEECH_HOUSE, $00, 0
+ map_data Route2Gate, ROUTE_2_GATE, $00, 0
+ map_data VictoryRoadGate, VICTORY_ROAD_GATE, $00, 0
+ map_data ElmsLab, ELMS_LAB, $00, 0
+ map_data KrissHouse1F, KRISS_HOUSE_1F, $00, 0
+ map_data KrissHouse2F, KRISS_HOUSE_2F, $00, 0
+ map_data KrissNeighborsHouse, KRISS_NEIGHBORS_HOUSE, $00, 0
+ map_data ElmsHouse, ELMS_HOUSE, $00, 0
+ map_data Route26HealSpeechHouse, ROUTE_26_HEAL_SPEECH_HOUSE, $00, 0
+ map_data Route26DayofWeekSiblingsHouse, ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE, $00, 0
+ map_data Route27SandstormHouse, ROUTE_27_SANDSTORM_HOUSE, $00, 0
+ map_data Route29Route46Gate, ROUTE_29_ROUTE_46_GATE, $00, 0
+ map_data FightingDojo, FIGHTING_DOJO, $00, 0
+ map_data SaffronGym, SAFFRON_GYM, $00, 0
+ map_data SaffronMart, SAFFRON_MART, $00, 0
+ map_data SaffronPokecenter1F, SAFFRON_POKECENTER_1F, $00, 0
+ map_data SaffronPokecenter2FBeta, SAFFRON_POKECENTER_2F_BETA, $00, 0
+ map_data MrPsychicsHouse, MR_PSYCHICS_HOUSE, $00, 0
+ map_data SaffronMagnetTrainStation, SAFFRON_MAGNET_TRAIN_STATION, $00, 0
+ map_data SilphCo1F, SILPH_CO_1F, $00, 0
+ map_data CopycatsHouse1F, COPYCATS_HOUSE_1F, $00, 0
+ map_data CopycatsHouse2F, COPYCATS_HOUSE_2F, $00, 0
+ map_data Route5UndergroundPathEntrance, ROUTE_5_UNDERGROUND_PATH_ENTRANCE, $00, 0
+ map_data Route5SaffronGate, ROUTE_5_SAFFRON_GATE, $00, 0
+ map_data Route5CleanseTagSpeechHouse, ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE, $00, 0
+ map_data CherrygroveMart, CHERRYGROVE_MART, $00, 0
+ map_data CherrygrovePokecenter1F, CHERRYGROVE_POKECENTER_1F, $00, 0
+ map_data CherrygroveGymSpeechHouse, CHERRYGROVE_GYM_SPEECH_HOUSE, $00, 0
+ map_data GuideGentsHouse, GUIDE_GENTS_HOUSE, $00, 0
+ map_data CherrygroveEvolutionSpeechHouse, CHERRYGROVE_EVOLUTION_SPEECH_HOUSE, $00, 0
+ map_data Route30BerrySpeechHouse, ROUTE_30_BERRY_SPEECH_HOUSE, $00, 0
+ map_data MrPokemonsHouse, MR_POKEMONS_HOUSE, $00, 0
+ map_data Route31VioletGate, ROUTE_31_VIOLET_GATE, $00, 0
diff --git a/data/maps/definitions.asm b/data/maps/definitions.asm
new file mode 100644
index 000000000..44cb85ac6
--- /dev/null
+++ b/data/maps/definitions.asm
@@ -0,0 +1,485 @@
+map_def: MACRO
+;\1: map name: for the MapData pointer (see data/maps/data.asm)
+;\2: tileset: a TILESET_* constant
+;\3: environment: TOWN, ROUTE, INDOOR, CAVE, ENVIRONMENT_5, GATE, or DUNGEON
+;\4: location: from constants/landmark_constants.asm
+;\5: music: a MUSIC_* constant
+;\6: phone service flag: TRUE to prevent phone calls
+;\7: time of day: a PALETTE_* constant
+;\8: fishing group: a FISHGROUP_* constant
+ db BANK(\1_MapData), \2, \3
+ dw \1_MapData
+ db \4, \5
+ dn \6, \7
+ db \8
+ENDM
+
+MapGroupPointers::
+; pointers to the first map header of each map group
+ dw MapGroup_Olivine ; 1
+ dw MapGroup_Mahogany ; 2
+ dw MapGroup_Dungeons ; 3
+ dw MapGroup_Ecruteak ; 4
+ dw MapGroup_Blackthorn ; 5
+ dw MapGroup_Cinnabar ; 6
+ dw MapGroup_Cerulean ; 7
+ dw MapGroup_Azalea ; 8
+ dw MapGroup_LakeOfRage ; 9
+ dw MapGroup_Violet ; 10
+ dw MapGroup_Goldenrod ; 11
+ dw MapGroup_Vermilion ; 12
+ dw MapGroup_Pallet ; 13
+ dw MapGroup_Pewter ; 14
+ dw MapGroup_FastShip ; 15
+ dw MapGroup_Indigo ; 16
+ dw MapGroup_Fuchsia ; 17
+ dw MapGroup_Lavender ; 18
+ dw MapGroup_Silver ; 19
+ dw MapGroup_CableClub ; 20
+ dw MapGroup_Celadon ; 21
+ dw MapGroup_Cianwood ; 22
+ dw MapGroup_Viridian ; 23
+ dw MapGroup_NewBark ; 24
+ dw MapGroup_Saffron ; 25
+ dw MapGroup_Cherrygrove ; 26
+
+
+MapGroup_Olivine:
+ map_def OlivinePokecenter1F, TILESET_POKECENTER, INDOOR, OLIVINE_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineGym, TILESET_CHAMPIONS_ROOM, INDOOR, OLIVINE_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineTimsHouse, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineHouseBeta, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivinePunishmentSpeechHouse, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineGoodRodHouse, TILESET_HOUSE, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineCafe, TILESET_GAME_CORNER, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineMart, TILESET_MART, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route38EcruteakGate, TILESET_GATE, GATE, ROUTE_38, MUSIC_ROUTE_37, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route39Barn, TILESET_TRADITIONAL_HOUSE, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route39Farmhouse, TILESET_HOUSE, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route38, TILESET_JOHTO, ROUTE, ROUTE_38, MUSIC_ROUTE_37, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def Route39, TILESET_JOHTO, ROUTE, ROUTE_39, MUSIC_ROUTE_37, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def OlivineCity, TILESET_JOHTO, TOWN, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+
+MapGroup_Mahogany:
+ map_def MahoganyRedGyaradosSpeechHouse, TILESET_HOUSE, INDOOR, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MahoganyGym, TILESET_ELITE_FOUR_ROOM, INDOOR, MAHOGANY_TOWN, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MahoganyPokecenter1F, TILESET_POKECENTER, INDOOR, MAHOGANY_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route42EcruteakGate, TILESET_GATE, GATE, ROUTE_42, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route42, TILESET_JOHTO, ROUTE, ROUTE_42, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
+ map_def Route44, TILESET_JOHTO, ROUTE, ROUTE_44, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def MahoganyTown, TILESET_JOHTO, TOWN, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+
+MapGroup_Dungeons:
+ map_def SproutTower1F, TILESET_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SproutTower2F, TILESET_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SproutTower3F, TILESET_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TinTower1F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TinTower2F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TinTower3F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TinTower4F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TinTower5F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TinTower6F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TinTower7F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TinTower8F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TinTower9F, TILESET_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BurnedTower1F, TILESET_TOWER, DUNGEON, BURNED_TOWER, MUSIC_BURNED_TOWER, TRUE, PALETTE_NITE, FISHGROUP_SHORE
+ map_def BurnedTowerB1F, TILESET_CAVE, CAVE, BURNED_TOWER, MUSIC_BURNED_TOWER, TRUE, PALETTE_NITE, FISHGROUP_SHORE
+ map_def NationalPark, TILESET_PARK, ROUTE, NATIONAL_PARK, MUSIC_NATIONAL_PARK, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def NationalParkBugContest, TILESET_PARK, ROUTE, NATIONAL_PARK, MUSIC_BUG_CATCHING_CONTEST, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def RadioTower1F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RadioTower2F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RadioTower3F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RadioTower4F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RadioTower5F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphOutside, TILESET_JOHTO, ROUTE, RUINS_OF_ALPH, MUSIC_UNION_CAVE, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def RuinsOfAlphHoOhChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphKabutoChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphOmanyteChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphAerodactylChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphInnerChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_RUINS_OF_ALPH_INTERIOR, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphResearchCenter, TILESET_FACILITY, INDOOR, RUINS_OF_ALPH, MUSIC_UNION_CAVE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphHoOhItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphKabutoItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphOmanyteItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphAerodactylItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphHoOhWordRoom, TILESET_HO_OH_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphKabutoWordRoom, TILESET_KABUTO_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphOmanyteWordRoom, TILESET_OMANYTE_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RuinsOfAlphAerodactylWordRoom, TILESET_AERODACTYL_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def UnionCave1F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def UnionCaveB1F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def UnionCaveB2F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_SHORE
+ map_def SlowpokeWellB1F, TILESET_CAVE, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def SlowpokeWellB2F, TILESET_CAVE, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def OlivineLighthouse1F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineLighthouse2F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineLighthouse3F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineLighthouse4F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineLighthouse5F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivineLighthouse6F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MahoganyMart1F, TILESET_TRADITIONAL_HOUSE, INDOOR, MAHOGANY_TOWN, MUSIC_MAHOGANY_MART, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TeamRocketBaseB1F, TILESET_UNDERGROUND, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TeamRocketBaseB2F, TILESET_FACILITY, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TeamRocketBaseB3F, TILESET_FACILITY, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def IlexForest, TILESET_FOREST, CAVE, ILEX_FOREST, MUSIC_UNION_CAVE, FALSE, PALETTE_NITE, FISHGROUP_POND
+ map_def GoldenrodUnderground, TILESET_GATE, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodUndergroundSwitchRoomEntrances, TILESET_ELITE_FOUR_ROOM, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodDeptStoreB1F, TILESET_UNDERGROUND, DUNGEON, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodUndergroundWarehouse, TILESET_UNDERGROUND, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MountMortar1FOutside, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def MountMortar1FInside, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def MountMortar2FInside, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def MountMortarB1F, TILESET_DARK_CAVE, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def IcePath1F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+ map_def IcePathB1F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+ map_def IcePathB2FMahoganySide, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+ map_def IcePathB2FBlackthornSide, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+ map_def IcePathB3F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+ map_def WhirlIslandNW, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+ map_def WhirlIslandNE, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+ map_def WhirlIslandSW, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+ map_def WhirlIslandCave, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+ map_def WhirlIslandSE, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+ map_def WhirlIslandB1F, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+ map_def WhirlIslandB2F, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+ map_def WhirlIslandLugiaChamber, TILESET_DARK_CAVE, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, TRUE, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
+ map_def SilverCaveRoom1, TILESET_DARK_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_DARK, FISHGROUP_LAKE
+ map_def SilverCaveRoom2, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def SilverCaveRoom3, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_DAY, FISHGROUP_LAKE
+ map_def SilverCaveItemRooms, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def DarkCaveVioletEntrance, TILESET_DARK_CAVE, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE
+ map_def DarkCaveBlackthornEntrance, TILESET_DARK_CAVE, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, TRUE, PALETTE_DARK, FISHGROUP_LAKE
+ map_def DragonsDen1F, TILESET_CAVE, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+ map_def DragonsDenB1F, TILESET_JOHTO, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, TRUE, PALETTE_NITE, FISHGROUP_DRATINI
+ map_def DragonShrine, TILESET_LAB, INDOOR, DRAGONS_DEN, MUSIC_DRAGONS_DEN, TRUE, PALETTE_NITE, FISHGROUP_SHORE
+ map_def TohjoFalls, TILESET_CAVE, CAVE, TOHJO_FALLS, MUSIC_UNION_CAVE, TRUE, PALETTE_NITE, FISHGROUP_LAKE
+ map_def DiglettsCave, TILESET_CAVE, CAVE, DIGLETTS_CAVE, MUSIC_MT_MOON, TRUE, PALETTE_NITE, FISHGROUP_SHORE
+ map_def MountMoon, TILESET_CAVE, CAVE, MT_MOON, MUSIC_MT_MOON, TRUE, PALETTE_NITE, FISHGROUP_SHORE
+ map_def UndergroundPath, TILESET_UNDERGROUND, GATE, UNDERGROUND_PATH, MUSIC_MT_MOON, FALSE, PALETTE_NITE, FISHGROUP_SHORE
+ map_def RockTunnel1F, TILESET_DARK_CAVE, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, TRUE, PALETTE_DARK, FISHGROUP_SHORE
+ map_def RockTunnelB1F, TILESET_DARK_CAVE, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, TRUE, PALETTE_DARK, FISHGROUP_SHORE
+ map_def SafariZoneFuchsiaGateBeta, TILESET_GATE, INDOOR, FUCHSIA_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SafariZoneBeta, TILESET_PARK, CAVE, FUCHSIA_CITY, MUSIC_EVOLUTION, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def VictoryRoad, TILESET_CAVE, CAVE, VICTORY_ROAD, MUSIC_VICTORY_ROAD, TRUE, PALETTE_NITE, FISHGROUP_SHORE
+
+MapGroup_Ecruteak:
+ map_def EcruteakHouse, TILESET_TOWER, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def WiseTriosRoom, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def EcruteakPokecenter1F, TILESET_POKECENTER, INDOOR, ECRUTEAK_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def EcruteakLugiaSpeechHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def DanceTheatre, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_DANCING_HALL, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def EcruteakMart, TILESET_MART, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def EcruteakGym, TILESET_TOWER, INDOOR, ECRUTEAK_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def EcruteakItemfinderHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def EcruteakCity, TILESET_JOHTO, TOWN, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND
+
+MapGroup_Blackthorn:
+ map_def BlackthornGym1F, TILESET_ELITE_FOUR_ROOM, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BlackthornGym2F, TILESET_ELITE_FOUR_ROOM, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BlackthornDragonSpeechHouse, TILESET_HOUSE, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BlackthornEmysHouse, TILESET_HOUSE, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BlackthornMart, TILESET_MART, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BlackthornPokecenter1F, TILESET_POKECENTER, INDOOR, BLACKTHORN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MoveDeletersHouse, TILESET_HOUSE, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route45, TILESET_JOHTO, ROUTE, ROUTE_45, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_DRATINI_2
+ map_def Route46, TILESET_JOHTO, ROUTE, ROUTE_46, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def BlackthornCity, TILESET_JOHTO, TOWN, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_POND
+
+MapGroup_Cinnabar:
+ map_def CinnabarPokecenter1F, TILESET_POKECENTER, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CinnabarPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route19FuchsiaGate, TILESET_GATE, GATE, ROUTE_19, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SeafoamGym, TILESET_CAVE, INDOOR, SEAFOAM_ISLANDS, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route19, TILESET_KANTO, ROUTE, ROUTE_19, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def Route20, TILESET_KANTO, ROUTE, ROUTE_20, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+ map_def Route21, TILESET_KANTO, ROUTE, ROUTE_21, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+ map_def CinnabarIsland, TILESET_KANTO, TOWN, CINNABAR_ISLAND, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+
+MapGroup_Cerulean:
+ map_def CeruleanGymBadgeSpeechHouse, TILESET_HOUSE, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeruleanPoliceStation, TILESET_HOUSE, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeruleanTradeSpeechHouse, TILESET_HOUSE, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeruleanPokecenter1F, TILESET_POKECENTER, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeruleanPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeruleanGym, TILESET_PORT, INDOOR, CERULEAN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_NONE
+ map_def CeruleanMart, TILESET_MART, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route10Pokecenter1F, TILESET_POKECENTER, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route10Pokecenter2FBeta, TILESET_POKECENTER, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def PowerPlant, TILESET_FACILITY, INDOOR, POWER_PLANT, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BillsHouse, TILESET_HOUSE, INDOOR, ROUTE_25, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route4, TILESET_KANTO, ROUTE, ROUTE_4, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_NONE
+ map_def Route9, TILESET_KANTO, ROUTE, ROUTE_9, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
+ map_def Route10North, TILESET_KANTO, ROUTE, ROUTE_10, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
+ map_def Route24, TILESET_KANTO, ROUTE, ROUTE_24, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
+ map_def Route25, TILESET_KANTO, ROUTE, ROUTE_25, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
+ map_def CeruleanCity, TILESET_KANTO, TOWN, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_NONE
+
+MapGroup_Azalea:
+ map_def AzaleaPokecenter1F, TILESET_POKECENTER, INDOOR, AZALEA_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CharcoalKiln, TILESET_HOUSE, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def AzaleaMart, TILESET_MART, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def KurtsHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def AzaleaGym, TILESET_ELITE_FOUR_ROOM, INDOOR, AZALEA_TOWN, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route33, TILESET_JOHTO_MODERN, ROUTE, ROUTE_33, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def AzaleaTown, TILESET_JOHTO_MODERN, TOWN, AZALEA_TOWN, MUSIC_AZALEA_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+
+MapGroup_LakeOfRage:
+ map_def LakeOfRageHiddenPowerHouse, TILESET_HOUSE, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def LakeOfRageMagikarpHouse, TILESET_HOUSE, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route43MahoganyGate, TILESET_GATE, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route43Gate, TILESET_GATE, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route43, TILESET_JOHTO, ROUTE, ROUTE_43, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def LakeOfRage, TILESET_JOHTO, TOWN, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, FALSE, PALETTE_AUTO, FISHGROUP_GYARADOS
+
+MapGroup_Violet:
+ map_def Route32, TILESET_JOHTO, ROUTE, ROUTE_32, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH
+ map_def Route35, TILESET_JOHTO, ROUTE, ROUTE_35, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def Route36, TILESET_JOHTO, ROUTE, ROUTE_36, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def Route37, TILESET_JOHTO, ROUTE, ROUTE_37, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def VioletCity, TILESET_JOHTO, TOWN, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def VioletMart, TILESET_MART, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VioletGym, TILESET_ELITE_FOUR_ROOM, INDOOR, VIOLET_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def EarlsPokemonAcademy, TILESET_LAB, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VioletNicknameSpeechHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VioletPokecenter1F, TILESET_POKECENTER, INDOOR, VIOLET_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VioletKylesHouse, TILESET_TRADITIONAL_HOUSE, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route32RuinsOfAlphGate, TILESET_GATE, GATE, ROUTE_32, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route32Pokecenter1F, TILESET_POKECENTER, INDOOR, ROUTE_32, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route35GoldenrodGate, TILESET_GATE, GATE, ROUTE_35, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route35NationalParkGate, TILESET_GATE, INDOOR, ROUTE_35, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route36RuinsOfAlphGate, TILESET_GATE, GATE, ROUTE_36, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route36NationalParkGate, TILESET_GATE, INDOOR, ROUTE_36, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Goldenrod:
+ map_def Route34, TILESET_JOHTO_MODERN, ROUTE, ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def GoldenrodCity, TILESET_JOHTO_MODERN, TOWN, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def GoldenrodGym, TILESET_ELITE_FOUR_ROOM, INDOOR, GOLDENROD_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodBikeShop, TILESET_CHAMPIONS_ROOM, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodHappinessRater, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodBillsHouse, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodMagnetTrainStation, TILESET_TRAIN_STATION, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodFlowerShop, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodPPSpeechHouse, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodNameRater, TILESET_HOUSE, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodDeptStore1F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodDeptStore2F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodDeptStore3F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodDeptStore4F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodDeptStore5F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodDeptStore6F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodDeptStoreElevator, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodDeptStoreRoof, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodGameCorner, TILESET_GAME_CORNER, INDOOR, GOLDENROD_CITY, MUSIC_GAME_CORNER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodPokecenter1F, TILESET_POKECENTER, INDOOR, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GoldenrodPokeComCenter2FMobile, TILESET_POKECOM_CENTER, INDOOR, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def IlexForestAzaleaGate, TILESET_GATE, GATE, ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route34IlexForestGate, TILESET_GATE, GATE, ROUTE_34, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def DayCare, TILESET_HOUSE, INDOOR, ROUTE_34, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Vermilion:
+ map_def Route6, TILESET_KANTO, ROUTE, ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def Route11, TILESET_KANTO, ROUTE, ROUTE_11, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def VermilionCity, TILESET_KANTO, TOWN, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+ map_def VermilionHouseFishingSpeechHouse, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VermilionPokecenter1F, TILESET_POKECENTER, INDOOR, VERMILION_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VermilionPokecenter2FBeta, TILESET_POKECENTER, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def PokemonFanClub, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VermilionMagnetTrainSpeechHouse, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VermilionMart, TILESET_MART, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VermilionHouseDiglettsCaveSpeechHouse, TILESET_HOUSE, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VermilionGym, TILESET_GAME_CORNER, INDOOR, VERMILION_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route6SaffronGate, TILESET_GATE, GATE, ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route6UndergroundPathEntrance, TILESET_GATE, GATE, ROUTE_6, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Pallet:
+ map_def Route1, TILESET_KANTO, ROUTE, ROUTE_1, MUSIC_ROUTE_1, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def PalletTown, TILESET_KANTO, TOWN, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+ map_def RedsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def RedsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BluesHouse, TILESET_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OaksLab, TILESET_LAB, INDOOR, PALLET_TOWN, MUSIC_POKEMON_TALK, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Pewter:
+ map_def Route3, TILESET_KANTO, ROUTE, ROUTE_3, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def PewterCity, TILESET_KANTO, TOWN, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def PewterNidoranSpeechHouse, TILESET_HOUSE, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def PewterGym, TILESET_TOWER, INDOOR, PEWTER_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def PewterMart, TILESET_MART, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def PewterPokecenter1F, TILESET_POKECENTER, INDOOR, PEWTER_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def PewterPokecenter2FBeta, TILESET_POKECENTER, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def PewterSnoozeSpeechHouse, TILESET_HOUSE, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_FastShip:
+ map_def OlivinePort, TILESET_PORT, ROUTE, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+ map_def VermilionPort, TILESET_PORT, ROUTE, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+ map_def FastShip1F, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def FastShipCabins_NNW_NNE_NE, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def FastShipCabins_SW_SSW_NW, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def FastShipCabins_SE_SSE_CaptainsCabin, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def FastShipB1F, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def OlivinePortPassage, TILESET_UNDERGROUND, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VermilionPortPassage, TILESET_UNDERGROUND, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MountMoonSquare, TILESET_KANTO, ROUTE, MT_MOON, MUSIC_MT_MOON_SQUARE, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def MountMoonGiftShop, TILESET_TRADITIONAL_HOUSE, INDOOR, MT_MOON, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TinTowerRoof, TILESET_TOWER, ROUTE, TIN_TOWER, MUSIC_TIN_TOWER, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+
+MapGroup_Indigo:
+ map_def Route23, TILESET_KANTO, TOWN, ROUTE_23, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def IndigoPlateauPokecenter1F, TILESET_POKECENTER, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def WillsRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def KogasRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BrunosRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def KarensRoom, TILESET_ELITE_FOUR_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def LancesRoom, TILESET_CHAMPIONS_ROOM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def HallOfFame, TILESET_ICE_PATH, INDOOR, INDIGO_PLATEAU, MUSIC_NEW_BARK_TOWN, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Fuchsia:
+ map_def Route13, TILESET_KANTO, ROUTE, ROUTE_13, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH_NO_SWARM
+ map_def Route14, TILESET_KANTO, ROUTE, ROUTE_14, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def Route15, TILESET_KANTO, ROUTE, ROUTE_15, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def Route18, TILESET_KANTO, ROUTE, ROUTE_18, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def FuchsiaCity, TILESET_KANTO, TOWN, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_AUTO, FISHGROUP_GYARADOS
+ map_def FuchsiaMart, TILESET_MART, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SafariZoneMainOffice, TILESET_GAME_CORNER, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def FuchsiaGym, TILESET_LAB, INDOOR, FUCHSIA_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def FuchsiaBillSpeechHouse, TILESET_HOUSE, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def FuchsiaPokecenter1F, TILESET_POKECENTER, INDOOR, FUCHSIA_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def FuchsiaPokecenter2FBeta, TILESET_POKECENTER, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SafariZoneWardensHome, TILESET_HOUSE, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route15FuchsiaGate, TILESET_GATE, GATE, ROUTE_15, MUSIC_ROUTE_12, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Lavender:
+ map_def Route8, TILESET_KANTO, ROUTE, ROUTE_8, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def Route12, TILESET_KANTO, ROUTE, ROUTE_12, MUSIC_ROUTE_12, FALSE, PALETTE_AUTO, FISHGROUP_QWILFISH_NO_SWARM
+ map_def Route10South, TILESET_KANTO, ROUTE, ROUTE_10, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_LAKE
+ map_def LavenderTown, TILESET_KANTO, TOWN, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def LavenderPokecenter1F, TILESET_POKECENTER, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def LavenderPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MrFujisHouse, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def LavenderSpeechHouse, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def LavenderNameRater, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def LavenderMart, TILESET_MART, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SoulHouse, TILESET_HOUSE, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def LavRadioTower1F, TILESET_RADIO_TOWER, INDOOR, LAV_RADIO_TOWER, MUSIC_LAVENDER_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route8SaffronGate, TILESET_GATE, GATE, ROUTE_8, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route12SuperRodHouse, TILESET_HOUSE, INDOOR, ROUTE_12, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Silver:
+ map_def Route28, TILESET_KANTO, ROUTE, ROUTE_28, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def SilverCaveOutside, TILESET_KANTO, TOWN, SILVER_CAVE, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def SilverCavePokecenter1F, TILESET_POKECENTER, INDOOR, SILVER_CAVE, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route28FamousSpeechHouse, TILESET_HOUSE, INDOOR, ROUTE_28, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_CableClub:
+ map_def Pokecenter2F, TILESET_POKECENTER, INDOOR, SPECIAL_MAP, MUSIC_POKEMON_CENTER, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TradeCenter, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Colosseum, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TimeCapsule, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MobileTradeRoomMobile, TILESET_MANSION, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MobileBattleRoom, TILESET_MANSION, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Celadon:
+ map_def Route7, TILESET_KANTO, ROUTE, ROUTE_7, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def Route16, TILESET_KANTO, ROUTE, ROUTE_16, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def Route17, TILESET_KANTO, ROUTE, ROUTE_17, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_NONE
+ map_def CeladonCity, TILESET_KANTO, TOWN, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_AUTO, FISHGROUP_NONE
+ map_def CeladonDeptStore1F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonDeptStore2F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonDeptStore3F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonDeptStore4F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonDeptStore5F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonDeptStore6F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonDeptStoreElevator, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonMansion1F, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonMansion2F, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonMansion3F, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonMansionRoof, TILESET_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonMansionRoofHouse, TILESET_HOUSE, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonPokecenter1F, TILESET_POKECENTER, INDOOR, CELADON_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonGameCorner, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_GAME_CORNER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonGameCornerPrizeRoom, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonGym, TILESET_TRAIN_STATION, INDOOR, CELADON_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CeladonCafe, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route16FuchsiaSpeechHouse, TILESET_HOUSE, INDOOR, ROUTE_16, MUSIC_CELADON_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route16Gate, TILESET_GATE, GATE, ROUTE_16, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route7SaffronGate, TILESET_GATE, GATE, ROUTE_7, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route17Route18Gate, TILESET_GATE, GATE, ROUTE_17, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Cianwood:
+ map_def Route40, TILESET_JOHTO, ROUTE, ROUTE_40, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def Route41, TILESET_JOHTO, ROUTE, ROUTE_41, MUSIC_ROUTE_36, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+ map_def CianwoodCity, TILESET_JOHTO, TOWN, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def ManiasHouse, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CianwoodGym, TILESET_TOWER, INDOOR, CIANWOOD_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CianwoodPokecenter1F, TILESET_POKECENTER, INDOOR, CIANWOOD_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CianwoodPharmacy, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CianwoodPhotoStudio, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CianwoodLugiaSpeechHouse, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def PokeSeersHouse, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BattleTower1F, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_LOBBY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BattleTowerBattleRoom, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BattleTowerElevator, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_NONE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BattleTowerHallway, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route40BattleTowerGate, TILESET_GATE, GATE, BATTLE_TOWER, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def BattleTowerOutside, TILESET_BATTLE_TOWER_OUTSIDE, ROUTE, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+
+MapGroup_Viridian:
+ map_def Route2, TILESET_KANTO, ROUTE, ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def Route22, TILESET_KANTO, ROUTE, ROUTE_22, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def ViridianCity, TILESET_KANTO, TOWN, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def ViridianGym, TILESET_TRAIN_STATION, INDOOR, VIRIDIAN_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def ViridianNicknameSpeechHouse, TILESET_HOUSE, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TrainerHouse1F, TILESET_HOUSE, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def TrainerHouseB1F, TILESET_FACILITY, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def ViridianMart, TILESET_MART, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def ViridianPokecenter1F, TILESET_POKECENTER, INDOOR, VIRIDIAN_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def ViridianPokecenter2FBeta, TILESET_POKECENTER, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route2NuggetSpeechHouse, TILESET_HOUSE, INDOOR, ROUTE_2, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route2Gate, TILESET_GATE, GATE, ROUTE_2, MUSIC_ROUTE_2, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def VictoryRoadGate, TILESET_GATE, GATE, ROUTE_26, MUSIC_INDIGO_PLATEAU, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_NewBark:
+ map_def Route26, TILESET_JOHTO, ROUTE, ROUTE_26, MUSIC_ROUTE_26, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+ map_def Route27, TILESET_JOHTO, ROUTE, ROUTE_27, MUSIC_ROUTE_26, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+ map_def Route29, TILESET_JOHTO, ROUTE, ROUTE_29, MUSIC_ROUTE_29, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def NewBarkTown, TILESET_JOHTO, TOWN, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_AUTO, FISHGROUP_OCEAN
+ map_def ElmsLab, TILESET_LAB, INDOOR, NEW_BARK_TOWN, MUSIC_PROF_ELM, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def KrissHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def KrissHouse2F, TILESET_PLAYERS_ROOM, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def KrissNeighborsHouse, TILESET_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def ElmsHouse, TILESET_PLAYERS_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route26HealSpeechHouse, TILESET_HOUSE, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route26DayofWeekSiblingsHouse, TILESET_HOUSE, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route27SandstormHouse, TILESET_HOUSE, INDOOR, ROUTE_27, MUSIC_AZALEA_TOWN, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route29Route46Gate, TILESET_GATE, GATE, ROUTE_29, MUSIC_ROUTE_29, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Saffron:
+ map_def Route5, TILESET_KANTO, ROUTE, ROUTE_5, MUSIC_ROUTE_3, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def SaffronCity, TILESET_KANTO, TOWN, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def FightingDojo, TILESET_TRAIN_STATION, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SaffronGym, TILESET_UNDERGROUND, INDOOR, SAFFRON_CITY, MUSIC_GYM, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SaffronMart, TILESET_MART, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SaffronPokecenter1F, TILESET_POKECENTER, INDOOR, SAFFRON_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SaffronPokecenter2FBeta, TILESET_POKECENTER, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MrPsychicsHouse, TILESET_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SaffronMagnetTrainStation, TILESET_TRAIN_STATION, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def SilphCo1F, TILESET_FACILITY, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CopycatsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CopycatsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route5UndergroundPathEntrance, TILESET_GATE, GATE, ROUTE_5, MUSIC_ROUTE_3, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route5SaffronGate, TILESET_GATE, GATE, ROUTE_5, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route5CleanseTagSpeechHouse, TILESET_HOUSE, INDOOR, ROUTE_5, MUSIC_VIRIDIAN_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+
+MapGroup_Cherrygrove:
+ map_def Route30, TILESET_JOHTO, ROUTE, ROUTE_30, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def Route31, TILESET_JOHTO, ROUTE, ROUTE_31, MUSIC_ROUTE_30, FALSE, PALETTE_AUTO, FISHGROUP_POND
+ map_def CherrygroveCity, TILESET_JOHTO, TOWN, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
+ map_def CherrygroveMart, TILESET_MART, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CherrygrovePokecenter1F, TILESET_POKECENTER, INDOOR, CHERRYGROVE_CITY, MUSIC_POKEMON_CENTER, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CherrygroveGymSpeechHouse, TILESET_HOUSE, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def GuideGentsHouse, TILESET_HOUSE, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def CherrygroveEvolutionSpeechHouse, TILESET_HOUSE, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route30BerrySpeechHouse, TILESET_HOUSE, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def MrPokemonsHouse, TILESET_FACILITY, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
+ map_def Route31VioletGate, TILESET_GATE, GATE, ROUTE_31, MUSIC_ROUTE_30, FALSE, PALETTE_DAY, FISHGROUP_SHORE
diff --git a/data/maps/maps.asm b/data/maps/maps.asm
new file mode 100644
index 000000000..56958ccfc
--- /dev/null
+++ b/data/maps/maps.asm
@@ -0,0 +1,12 @@
+INCLUDE "constants.asm"
+
+
+SECTION "Maps", ROMX
+
+INCLUDE "data/maps/definitions.asm"
+INCLUDE "data/maps/data.asm"
+
+
+INCLUDE "data/maps/blocks.asm"
+
+INCLUDE "data/maps/scripts.asm"
diff --git a/data/maps/outdoor_sprites.asm b/data/maps/outdoor_sprites.asm
index 8064a63e9..c7e30114a 100644
--- a/data/maps/outdoor_sprites.asm
+++ b/data/maps/outdoor_sprites.asm
@@ -2,6 +2,7 @@
; Maps with environment ROUTE or TOWN can only use these sprites.
OutdoorSprites: ; 144b8
+; entries correspond to map groups
dw OlivineGroupSprites
dw MahoganyGroupSprites
dw DungeonsGroupSprites
diff --git a/data/maps/roofs.asm b/data/maps/roofs.asm
index 8c79e6f82..2a1b8d3eb 100644
--- a/data/maps/roofs.asm
+++ b/data/maps/roofs.asm
@@ -1,5 +1,6 @@
MapGroupRoofs: ; 1c021i
-; entries correspond to Roofs (see below)
+; entries correspond to map groups
+; values are indexes for Roofs (see below)
db -1 ; group 0 (unused)
db 3 ; group 1 (Olivine)
db 2 ; group 2 (Mahogany)
diff --git a/data/maps/scenes.asm b/data/maps/scenes.asm
index 3d9600407..a835d4895 100644
--- a/data/maps/scenes.asm
+++ b/data/maps/scenes.asm
@@ -15,9 +15,9 @@ MapScenes:: ; 4d01e
scene_def ROUTE_25, wRoute25SceneID
scene_def TRAINER_HOUSE_B1F, wTrainerHouseB1FSceneID
scene_def VICTORY_ROAD_GATE, wVictoryRoadGateSceneID
- scene_def SAFFRON_TRAIN_STATION, wSaffronTrainStationSceneID
+ scene_def SAFFRON_MAGNET_TRAIN_STATION, wSaffronMagnetTrainStationSceneID
scene_def ROUTE_16_GATE, wRoute16GateSceneID
- scene_def ROUTE_17_18_GATE, wRoute1718GateSceneID
+ scene_def ROUTE_17_ROUTE_18_GATE, wRoute17Route18GateSceneID
scene_def INDIGO_PLATEAU_POKECENTER_1F, wIndigoPlateauPokecenter1FSceneID
scene_def WILLS_ROOM, wWillsRoomSceneID
scene_def KOGAS_ROOM, wKogasRoomSceneID
diff --git a/maps.asm b/data/maps/scripts.asm
index 4f08ab0fd..51725fb4f 100644
--- a/maps.asm
+++ b/data/maps/scripts.asm
@@ -1,15 +1,3 @@
-INCLUDE "includes.asm"
-
-
-SECTION "Map Headers", ROMX
-
-INCLUDE "maps/map_headers.asm"
-INCLUDE "maps/second_map_headers.asm"
-
-
-INCLUDE "maps/blockdata.asm"
-
-
SECTION "Map Scripts 1", ROMX
INCLUDE "maps/GoldenrodGym.asm"
@@ -132,7 +120,7 @@ INCLUDE "maps/CeladonCafe.asm"
INCLUDE "maps/Route16FuchsiaSpeechHouse.asm"
INCLUDE "maps/Route16Gate.asm"
INCLUDE "maps/Route7SaffronGate.asm"
-INCLUDE "maps/Route1718Gate.asm"
+INCLUDE "maps/Route17Route18Gate.asm"
SECTION "Map Scripts 8", ROMX
@@ -170,7 +158,7 @@ INCLUDE "maps/ElmsHouse.asm"
INCLUDE "maps/Route26HealSpeechHouse.asm"
INCLUDE "maps/Route26DayofWeekSiblingsHouse.asm"
INCLUDE "maps/Route27SandstormHouse.asm"
-INCLUDE "maps/Route2946Gate.asm"
+INCLUDE "maps/Route29Route46Gate.asm"
SECTION "Map Scripts 10", ROMX
@@ -192,7 +180,7 @@ INCLUDE "maps/IcePathB3F.asm"
INCLUDE "maps/LavenderPokecenter1F.asm"
INCLUDE "maps/LavenderPokecenter2FBeta.asm"
INCLUDE "maps/MrFujisHouse.asm"
-INCLUDE "maps/LavenderTownSpeechHouse.asm"
+INCLUDE "maps/LavenderSpeechHouse.asm"
INCLUDE "maps/LavenderNameRater.asm"
INCLUDE "maps/LavenderMart.asm"
INCLUDE "maps/SoulHouse.asm"
@@ -240,7 +228,7 @@ INCLUDE "maps/ManiasHouse.asm"
INCLUDE "maps/CianwoodGym.asm"
INCLUDE "maps/CianwoodPokecenter1F.asm"
INCLUDE "maps/CianwoodPharmacy.asm"
-INCLUDE "maps/CianwoodCityPhotoStudio.asm"
+INCLUDE "maps/CianwoodPhotoStudio.asm"
INCLUDE "maps/CianwoodLugiaSpeechHouse.asm"
INCLUDE "maps/PokeSeersHouse.asm"
INCLUDE "maps/BattleTower1F.asm"
@@ -300,12 +288,12 @@ INCLUDE "maps/SaffronMart.asm"
INCLUDE "maps/SaffronPokecenter1F.asm"
INCLUDE "maps/SaffronPokecenter2FBeta.asm"
INCLUDE "maps/MrPsychicsHouse.asm"
-INCLUDE "maps/SaffronTrainStation.asm"
+INCLUDE "maps/SaffronMagnetTrainStation.asm"
INCLUDE "maps/SilphCo1F.asm"
INCLUDE "maps/CopycatsHouse1F.asm"
INCLUDE "maps/CopycatsHouse2F.asm"
INCLUDE "maps/Route5UndergroundPathEntrance.asm"
-INCLUDE "maps/Route5SaffronCityGate.asm"
+INCLUDE "maps/Route5SaffronGate.asm"
INCLUDE "maps/Route5CleanseTagSpeechHouse.asm"
diff --git a/data/maps/sgb_roof_pal_inds.asm b/data/maps/sgb_roof_pal_inds.asm
new file mode 100644
index 000000000..c56ddaf7d
--- /dev/null
+++ b/data/maps/sgb_roof_pal_inds.asm
@@ -0,0 +1,32 @@
+; Crystal does not support SGB, so this is unused.
+
+MapGroupRoofSGBPalInds: ; 8a45
+; entries correspond to map groups
+ db PREDEFPAL_00
+ db PREDEFPAL_OLIVINE
+ db PREDEFPAL_MAHOGANY
+ db PREDEFPAL_DUNGEONS
+ db PREDEFPAL_ECRUTEAK
+ db PREDEFPAL_BLACKTHORN
+ db PREDEFPAL_CINNABAR
+ db PREDEFPAL_CERULEAN
+ db PREDEFPAL_AZALEA
+ db PREDEFPAL_LAKE_OF_RAGE
+ db PREDEFPAL_VIOLET
+ db PREDEFPAL_GOLDENROD
+ db PREDEFPAL_VERMILION
+ db PREDEFPAL_PALLET
+ db PREDEFPAL_PEWTER
+ db PREDEFPAL_VERMILION
+ db PREDEFPAL_INDIGO
+ db PREDEFPAL_FUCHSIA
+ db PREDEFPAL_LAVENDER
+ db PREDEFPAL_SILVER_CAVE
+ db PREDEFPAL_FUCHSIA
+ db PREDEFPAL_CELADON
+ db PREDEFPAL_CIANWOOD
+ db PREDEFPAL_VIRIDIAN
+ db PREDEFPAL_NEW_BARK
+ db PREDEFPAL_SAFFRON
+ db PREDEFPAL_CHERRYGROVE
+; 8a60
diff --git a/data/moves/animations.asm b/data/moves/animations.asm
index 1bc7f596a..030aa2fa3 100644
--- a/data/moves/animations.asm
+++ b/data/moves/animations.asm
@@ -401,7 +401,7 @@ BattleAnim_ThrowPokeBall
anim_if_var_equal $1, .Click
anim_if_var_equal $2, .BreakFree
anim_incobj 1
- anim_sound 0, 1, SFX_BALL_WIGGLE
+ anim_sound 0, 1, SFX_BALL_WOBBLE
anim_jump .Loop
; c93bc
@@ -455,28 +455,28 @@ BattleAnim_SendOutMon: ; c93d1
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 48, 96, $0
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $0
anim_wait 4
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 48, 96, $8
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $8
anim_wait 4
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 48, 96, $10
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $10
anim_wait 4
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 48, 96, $18
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $18
anim_wait 4
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 48, 96, $20
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $20
anim_wait 4
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 48, 96, $28
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $28
anim_wait 4
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 48, 96, $30
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $30
anim_wait 4
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_6D, 48, 96, $38
+ anim_obj ANIM_OBJ_SHINY, 48, 96, $38
anim_wait 32
anim_ret
@@ -512,7 +512,7 @@ BattleAnim_Slp: ; c94a3
anim_1gfx ANIM_GFX_STATUS
anim_sound 0, 0, SFX_TAIL_WHIP
.loop
- anim_obj ANIM_OBJ_54, 64, 80, $0
+ anim_obj ANIM_OBJ_ASLEEP, 64, 80, $0
anim_wait 40
anim_loop 3, .loop
anim_wait 32
@@ -588,11 +588,11 @@ BattleAnim_InLove: ; c951e
BattleAnim_InSandstorm: ; c9533
anim_1gfx ANIM_GFX_POWDER
- anim_obj ANIM_OBJ_A2, 88, 0, $0
+ anim_obj ANIM_OBJ_SANDSTORM, 88, 0, $0
anim_wait 8
- anim_obj ANIM_OBJ_A2, 72, 0, $1
+ anim_obj ANIM_OBJ_SANDSTORM, 72, 0, $1
anim_wait 8
- anim_obj ANIM_OBJ_A2, 56, 0, $2
+ anim_obj ANIM_OBJ_SANDSTORM, 56, 0, $2
.loop
anim_sound 0, 1, SFX_MENU
anim_wait 8
@@ -604,7 +604,7 @@ BattleAnim_InSandstorm: ; c9533
BattleAnim_InNightmare: ; c9550
anim_1gfx ANIM_GFX_ANGELS
anim_sound 0, 0, SFX_BUBBLEBEAM
- anim_obj ANIM_OBJ_95, 68, 80, $0
+ anim_obj ANIM_OBJ_IN_NIGHTMARE, 68, 80, $0
anim_wait 40
anim_ret
; c955c
@@ -884,7 +884,7 @@ BattleAnim_HyperFang: ; c9764
anim_1gfx ANIM_GFX_HIT
anim_bgeffect ANIM_BG_1F, $20, $1, $0
anim_sound 0, 1, SFX_BITE
- anim_obj ANIM_OBJ_09, 136, 56, $0
+ anim_obj ANIM_OBJ_FANG, 136, 56, $0
anim_wait 6
anim_obj ANIM_OBJ_01, 136, 56, $0
anim_wait 16
@@ -898,10 +898,10 @@ BattleAnim_SuperFang: ; c977b
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $3
.loop
anim_sound 0, 1, SFX_BITE
- anim_obj ANIM_OBJ_09, 136, 56, $0
+ anim_obj ANIM_OBJ_FANG, 136, 56, $0
anim_obj ANIM_OBJ_00, 136, 56, $0
anim_wait 6
- anim_obj ANIM_OBJ_09, 136, 56, $0
+ anim_obj ANIM_OBJ_FANG, 136, 56, $0
anim_wait 6
anim_loop 3, .loop
anim_ret
@@ -910,21 +910,21 @@ BattleAnim_SuperFang: ; c977b
BattleAnim_Ember: ; c97a1
anim_1gfx ANIM_GFX_FIRE
anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0B, 64, 96, $12
+ anim_obj ANIM_OBJ_EMBER, 64, 96, $12
anim_wait 4
anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0B, 64, 100, $14
+ anim_obj ANIM_OBJ_EMBER, 64, 100, $14
anim_wait 4
anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0B, 64, 84, $13
+ anim_obj ANIM_OBJ_EMBER, 64, 84, $13
anim_wait 16
anim_incobj 1
anim_incobj 2
anim_incobj 3
anim_sound 0, 1, SFX_EMBER
- anim_obj ANIM_OBJ_0B, 120, 68, $30
- anim_obj ANIM_OBJ_0B, 132, 68, $30
- anim_obj ANIM_OBJ_0B, 144, 68, $30
+ anim_obj ANIM_OBJ_EMBER, 120, 68, $30
+ anim_obj ANIM_OBJ_EMBER, 132, 68, $30
+ anim_obj ANIM_OBJ_EMBER, 144, 68, $30
anim_wait 32
anim_ret
; c97d8
@@ -941,16 +941,16 @@ BattleAnim_FireSpin: ; c97e5
anim_1gfx ANIM_GFX_FIRE
.loop
anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0E, 64, 88, $4
+ anim_obj ANIM_OBJ_FIRE_SPIN, 64, 88, $4
anim_wait 2
anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0E, 64, 96, $3
+ anim_obj ANIM_OBJ_FIRE_SPIN, 64, 96, $3
anim_wait 2
anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0E, 64, 88, $3
+ anim_obj ANIM_OBJ_FIRE_SPIN, 64, 88, $3
anim_wait 2
anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0E, 64, 96, $4
+ anim_obj ANIM_OBJ_FIRE_SPIN, 64, 96, $4
anim_wait 2
anim_loop 2, .loop
anim_wait 96
@@ -961,7 +961,7 @@ BattleAnim_DragonRage: ; c9811
anim_1gfx ANIM_GFX_FIRE
.loop
anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0C, 64, 92, $0
+ anim_obj ANIM_OBJ_DRAGON_RAGE, 64, 92, $0
anim_wait 3
anim_loop 16, .loop
anim_wait 64
@@ -971,21 +971,21 @@ BattleAnim_DragonRage: ; c9811
BattleAnim_Flamethrower: ; c9822
anim_1gfx ANIM_GFX_FIRE
anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0D, 64, 92, $3
+ anim_obj ANIM_OBJ_FLAMETHROWER, 64, 92, $3
anim_wait 2
- anim_obj ANIM_OBJ_0D, 75, 86, $5
+ anim_obj ANIM_OBJ_FLAMETHROWER, 75, 86, $5
anim_wait 2
- anim_obj ANIM_OBJ_0D, 85, 81, $7
+ anim_obj ANIM_OBJ_FLAMETHROWER, 85, 81, $7
anim_wait 2
- anim_obj ANIM_OBJ_0D, 96, 76, $9
+ anim_obj ANIM_OBJ_FLAMETHROWER, 96, 76, $9
anim_wait 2
- anim_obj ANIM_OBJ_0D, 106, 71, $b
+ anim_obj ANIM_OBJ_FLAMETHROWER, 106, 71, $b
anim_wait 2
- anim_obj ANIM_OBJ_0D, 116, 66, $c
+ anim_obj ANIM_OBJ_FLAMETHROWER, 116, 66, $c
anim_wait 2
- anim_obj ANIM_OBJ_0D, 126, 61, $a
+ anim_obj ANIM_OBJ_FLAMETHROWER, 126, 61, $a
anim_wait 2
- anim_obj ANIM_OBJ_0D, 136, 56, $8
+ anim_obj ANIM_OBJ_FLAMETHROWER, 136, 56, $8
anim_wait 16
.loop
anim_sound 0, 1, SFX_EMBER
@@ -999,7 +999,7 @@ BattleAnim_FireBlast: ; c9861
anim_1gfx ANIM_GFX_FIRE
.loop1
anim_sound 6, 2, SFX_EMBER
- anim_obj ANIM_OBJ_0F, 64, 92, $7
+ anim_obj ANIM_OBJ_FIRE_BLAST, 64, 92, $7
anim_wait 6
anim_loop 10, .loop1
.loop2
@@ -1019,11 +1019,11 @@ BattleAnim_FireBlast: ; c9861
anim_wait 2
.loop3
anim_sound 0, 1, SFX_EMBER
- anim_obj ANIM_OBJ_0F, 136, 56, $1
- anim_obj ANIM_OBJ_0F, 136, 56, $2
- anim_obj ANIM_OBJ_0F, 136, 56, $3
- anim_obj ANIM_OBJ_0F, 136, 56, $4
- anim_obj ANIM_OBJ_0F, 136, 56, $5
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 56, $1
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 56, $2
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 56, $3
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 56, $4
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 56, $5
anim_wait 16
anim_loop 2, .loop3
anim_wait 32
@@ -1129,11 +1129,11 @@ BattleAnim_WaterGun: ; c9979
anim_1gfx ANIM_GFX_WATER
anim_call BattleAnim_FollowPlayerHead_1
anim_sound 16, 2, SFX_WATER_GUN
- anim_obj ANIM_OBJ_24, 64, 88, $0
+ anim_obj ANIM_OBJ_WATER_GUN, 64, 88, $0
anim_wait 8
- anim_obj ANIM_OBJ_24, 64, 76, $0
+ anim_obj ANIM_OBJ_WATER_GUN, 64, 76, $0
anim_wait 8
- anim_obj ANIM_OBJ_24, 64, 82, $0
+ anim_obj ANIM_OBJ_WATER_GUN, 64, 82, $0
anim_wait 24
anim_bgeffect ANIM_BG_31, $1c, $0, $0
anim_wait 8
@@ -1152,31 +1152,31 @@ BattleAnim_HydroPump: ; c99b4
anim_1gfx ANIM_GFX_WATER
anim_call BattleAnim_FollowPlayerHead_1
anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, 108, 72, $0
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 108, 72, $0
anim_bgeffect ANIM_BG_31, $1c, $0, $0
anim_wait 8
anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, 116, 72, $0
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 116, 72, $0
anim_bgeffect ANIM_BG_31, $8, $0, $0
anim_wait 8
anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, 124, 72, $0
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 124, 72, $0
anim_bgeffect ANIM_BG_31, $30, $0, $0
anim_wait 8
anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, 132, 72, $0
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 132, 72, $0
anim_bgeffect ANIM_BG_31, $1c, $0, $0
anim_wait 8
anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, 140, 72, $0
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 140, 72, $0
anim_bgeffect ANIM_BG_31, $8, $0, $0
anim_wait 8
anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, 148, 72, $0
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 148, 72, $0
anim_bgeffect ANIM_BG_31, $30, $0, $0
anim_wait 8
anim_sound 0, 1, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_25, 156, 72, $0
+ anim_obj ANIM_OBJ_HYDRO_PUMP, 156, 72, $0
anim_bgeffect ANIM_BG_31, $1c, $0, $0
anim_wait 32
anim_call BattleAnim_ShowMon_1
@@ -1188,7 +1188,7 @@ BattleAnim_HydroPump: ; c99b4
BattleAnim_Surf: ; c9a2a
anim_1gfx ANIM_GFX_BUBBLE
anim_bgeffect ANIM_BG_SURF, $0, $0, $0
- anim_obj ANIM_OBJ_22, 88, 104, $8
+ anim_obj ANIM_OBJ_SURF, 88, 104, $8
.loop
anim_sound 0, 1, SFX_SURF
anim_wait 32
@@ -1340,7 +1340,7 @@ BattleAnim_ThunderWave: ; c9b84
anim_1gfx ANIM_GFX_LIGHTNING
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
anim_sound 0, 1, SFX_THUNDERSHOCK
- anim_obj ANIM_OBJ_30, 136, 56, $0
+ anim_obj ANIM_OBJ_THUNDER_WAVE, 136, 56, $0
anim_wait 20
anim_bgp $1b
anim_incobj 1
@@ -1393,13 +1393,13 @@ BattleAnim_Sonicboom_JP: ; c9c00
anim_2gfx ANIM_GFX_WHIP, ANIM_GFX_HIT
.loop
anim_sound 3, 0, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_43, 64, 80, $3
+ anim_obj ANIM_OBJ_SONICBOOM_JP, 64, 80, $3
anim_wait 8
anim_sound 3, 0, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_43, 64, 88, $2
+ anim_obj ANIM_OBJ_SONICBOOM_JP, 64, 88, $2
anim_wait 8
anim_sound 3, 0, SFX_RAZOR_WIND
- anim_obj ANIM_OBJ_43, 64, 96, $4
+ anim_obj ANIM_OBJ_SONICBOOM_JP, 64, 96, $4
anim_wait 8
anim_loop 2, .loop
anim_wait 32
@@ -1477,19 +1477,19 @@ BattleAnim_RockThrow: ; c9c9d
anim_1gfx ANIM_GFX_ROCKS
anim_bgeffect ANIM_BG_1F, $60, $1, $0
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, 128, 64, $40
+ anim_obj ANIM_OBJ_SMALL_ROCK, 128, 64, $40
anim_wait 2
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1D, 120, 68, $30
+ anim_obj ANIM_OBJ_BIG_ROCK, 120, 68, $30
anim_wait 2
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, 152, 68, $30
+ anim_obj ANIM_OBJ_SMALL_ROCK, 152, 68, $30
anim_wait 2
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1D, 144, 64, $40
+ anim_obj ANIM_OBJ_BIG_ROCK, 144, 64, $40
anim_wait 2
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, 136, 68, $30
+ anim_obj ANIM_OBJ_SMALL_ROCK, 136, 68, $30
anim_wait 96
anim_ret
; c9cd2
@@ -1499,19 +1499,19 @@ BattleAnim_RockSlide: ; c9cd2
anim_bgeffect ANIM_BG_1F, $c0, $1, $0
.loop
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, 128, 64, $40
+ anim_obj ANIM_OBJ_SMALL_ROCK, 128, 64, $40
anim_wait 4
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1D, 120, 68, $30
+ anim_obj ANIM_OBJ_BIG_ROCK, 120, 68, $30
anim_wait 4
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, 152, 68, $30
+ anim_obj ANIM_OBJ_SMALL_ROCK, 152, 68, $30
anim_wait 4
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1D, 144, 64, $40
+ anim_obj ANIM_OBJ_BIG_ROCK, 144, 64, $40
anim_wait 4
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, 136, 68, $30
+ anim_obj ANIM_OBJ_SMALL_ROCK, 136, 68, $30
anim_wait 16
anim_loop 4, .loop
anim_wait 96
@@ -1522,15 +1522,15 @@ BattleAnim_Sing: ; c9d0c
anim_1gfx ANIM_GFX_NOISE
anim_sound 16, 2, SFX_SING
.loop
- anim_obj ANIM_OBJ_23, 64, 92, $0
+ anim_obj ANIM_OBJ_SING, 64, 92, $0
anim_wait 8
- anim_obj ANIM_OBJ_23, 64, 92, $1
+ anim_obj ANIM_OBJ_SING, 64, 92, $1
anim_wait 8
- anim_obj ANIM_OBJ_23, 64, 92, $2
+ anim_obj ANIM_OBJ_SING, 64, 92, $2
anim_wait 8
- anim_obj ANIM_OBJ_23, 64, 92, $0
+ anim_obj ANIM_OBJ_SING, 64, 92, $0
anim_wait 8
- anim_obj ANIM_OBJ_23, 64, 92, $2
+ anim_obj ANIM_OBJ_SING, 64, 92, $2
anim_wait 8
anim_loop 4, .loop
anim_wait 64
@@ -1544,19 +1544,19 @@ BattleAnim_StunSpore: ; c9d35
anim_1gfx ANIM_GFX_POWDER
.loop
anim_sound 0, 1, SFX_POWDER
- anim_obj ANIM_OBJ_26, 104, 16, $0
+ anim_obj ANIM_OBJ_POWDER, 104, 16, $0
anim_wait 4
anim_sound 0, 1, SFX_POWDER
- anim_obj ANIM_OBJ_26, 136, 16, $0
+ anim_obj ANIM_OBJ_POWDER, 136, 16, $0
anim_wait 4
anim_sound 0, 1, SFX_POWDER
- anim_obj ANIM_OBJ_26, 112, 16, $0
+ anim_obj ANIM_OBJ_POWDER, 112, 16, $0
anim_wait 4
anim_sound 0, 1, SFX_POWDER
- anim_obj ANIM_OBJ_26, 128, 16, $0
+ anim_obj ANIM_OBJ_POWDER, 128, 16, $0
anim_wait 4
anim_sound 0, 1, SFX_POWDER
- anim_obj ANIM_OBJ_26, 120, 16, $0
+ anim_obj ANIM_OBJ_POWDER, 120, 16, $0
anim_wait 4
anim_loop 2, .loop
anim_wait 96
@@ -1645,8 +1645,8 @@ BattleAnim_Slash: ; c9dfc
BattleAnim_Clamp: ; c9e0d
anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT
- anim_obj ANIM_OBJ_35, 136, 56, $a0
- anim_obj ANIM_OBJ_35, 136, 56, $20
+ anim_obj ANIM_OBJ_CLAMP, 136, 56, $a0
+ anim_obj ANIM_OBJ_CLAMP, 136, 56, $20
anim_wait 16
anim_sound 0, 1, SFX_BITE
anim_obj ANIM_OBJ_01, 144, 48, $18
@@ -1659,8 +1659,8 @@ BattleAnim_Clamp: ; c9e0d
BattleAnim_Bite: ; c9e2e
anim_2gfx ANIM_GFX_CUT, ANIM_GFX_HIT
- anim_obj ANIM_OBJ_36, 136, 56, $98
- anim_obj ANIM_OBJ_36, 136, 56, $18
+ anim_obj ANIM_OBJ_BITE, 136, 56, $98
+ anim_obj ANIM_OBJ_BITE, 136, 56, $18
anim_wait 8
anim_sound 0, 1, SFX_BITE
anim_obj ANIM_OBJ_01, 144, 48, $18
@@ -1725,14 +1725,14 @@ BattleAnim_Recover: ; c9eaf
anim_call BattleAnim_FollowEnemyFeet_0
anim_sound 0, 0, SFX_FULL_HEAL
anim_bgeffect ANIM_BG_18, $0, $1, $40
- anim_obj ANIM_OBJ_2C, 44, 88, $30
- anim_obj ANIM_OBJ_2C, 44, 88, $31
- anim_obj ANIM_OBJ_2C, 44, 88, $32
- anim_obj ANIM_OBJ_2C, 44, 88, $33
- anim_obj ANIM_OBJ_2C, 44, 88, $34
- anim_obj ANIM_OBJ_2C, 44, 88, $35
- anim_obj ANIM_OBJ_2C, 44, 88, $36
- anim_obj ANIM_OBJ_2C, 44, 88, $37
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $30
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $31
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $32
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $33
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $34
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $35
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $36
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $37
anim_wait 64
anim_incbgeffect ANIM_BG_18
anim_call BattleAnim_ShowMon_0
@@ -1793,7 +1793,7 @@ BattleAnim_MegaDrain: ; c9f13
BattleAnim_EggBomb: ; c9f55
anim_2gfx ANIM_GFX_EGG, ANIM_GFX_EXPLOSION
anim_sound 0, 0, SFX_SWITCH_POKEMON
- anim_obj ANIM_OBJ_46, 44, 104, $1
+ anim_obj ANIM_OBJ_EGG, 44, 104, $1
anim_wait 128
anim_wait 96
anim_incobj 1
@@ -1814,15 +1814,15 @@ BattleAnim_Softboiled: ; c9f85
anim_2gfx ANIM_GFX_EGG, ANIM_GFX_BUBBLE
anim_call BattleAnim_FollowEnemyFeet_0
anim_sound 0, 0, SFX_SWITCH_POKEMON
- anim_obj ANIM_OBJ_46, 44, 104, $6
+ anim_obj ANIM_OBJ_EGG, 44, 104, $6
anim_wait 128
anim_incobj 2
- anim_obj ANIM_OBJ_46, 76, 104, $b
+ anim_obj ANIM_OBJ_EGG, 76, 104, $b
anim_wait 16
anim_bgeffect ANIM_BG_18, $0, $1, $40
anim_sound 0, 0, SFX_METRONOME
.loop
- anim_obj ANIM_OBJ_2C, 44, 88, $20
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $20
anim_wait 8
anim_loop 8, .loop
anim_wait 128
@@ -1995,7 +1995,7 @@ BattleAnim_Supersonic: ; ca0f4
anim_1gfx ANIM_GFX_PSYCHIC
.loop
anim_sound 6, 2, SFX_SUPERSONIC
- anim_obj ANIM_OBJ_4C, 64, 88, $2
+ anim_obj ANIM_OBJ_WAVE, 64, 88, $2
anim_wait 4
anim_loop 10, .loop
anim_wait 64
@@ -2007,7 +2007,7 @@ BattleAnim_Screech: ; ca105
anim_bgeffect ANIM_BG_1F, $8, $1, $20
anim_sound 6, 2, SFX_SCREECH
.loop
- anim_obj ANIM_OBJ_4C, 64, 88, $2
+ anim_obj ANIM_OBJ_WAVE, 64, 88, $2
anim_wait 2
anim_loop 2, .loop
anim_wait 64
@@ -2018,15 +2018,15 @@ BattleAnim_ConfuseRay: ; ca11b
anim_1gfx ANIM_GFX_SPEED
anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_bgeffect ANIM_BG_08, $0, $4, $0
- anim_obj ANIM_OBJ_4D, 64, 88, $0
- anim_obj ANIM_OBJ_4D, 64, 88, $80
- anim_obj ANIM_OBJ_4D, 64, 88, $88
- anim_obj ANIM_OBJ_4D, 64, 88, $90
- anim_obj ANIM_OBJ_4D, 64, 88, $98
- anim_obj ANIM_OBJ_4D, 64, 88, $a0
- anim_obj ANIM_OBJ_4D, 64, 88, $a8
- anim_obj ANIM_OBJ_4D, 64, 88, $b0
- anim_obj ANIM_OBJ_4D, 64, 88, $b8
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $0
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $80
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $88
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $90
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $98
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $a0
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $a8
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $b0
+ anim_obj ANIM_OBJ_CONFUSE_RAY, 64, 88, $b8
.loop
anim_sound 6, 2, SFX_WHIRLWIND
anim_wait 16
@@ -2048,11 +2048,11 @@ BattleAnim_Reflect: ; ca16a
anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_50, 72, 80, $0
+ anim_obj ANIM_OBJ_SCREEN, 72, 80, $0
anim_wait 24
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $2
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_50, 72, 80, $0
+ anim_obj ANIM_OBJ_SCREEN, 72, 80, $0
anim_wait 64
anim_ret
; ca18e
@@ -2061,24 +2061,24 @@ BattleAnim_LightScreen: ; ca18e
anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_REFLECT
anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_sound 0, 0, SFX_FLASH
- anim_obj ANIM_OBJ_50, 72, 80, $0
+ anim_obj ANIM_OBJ_SCREEN, 72, 80, $0
anim_wait 4
- anim_obj ANIM_OBJ_6D, 72, 80, $0
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $0
anim_wait 4
- anim_obj ANIM_OBJ_6D, 72, 80, $8
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $8
anim_wait 4
- anim_obj ANIM_OBJ_6D, 72, 80, $10
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $10
anim_wait 4
- anim_obj ANIM_OBJ_6D, 72, 80, $18
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $18
anim_wait 4
- anim_obj ANIM_OBJ_50, 72, 80, $0
- anim_obj ANIM_OBJ_6D, 72, 80, $20
+ anim_obj ANIM_OBJ_SCREEN, 72, 80, $0
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $20
anim_wait 4
- anim_obj ANIM_OBJ_6D, 72, 80, $28
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $28
anim_wait 4
- anim_obj ANIM_OBJ_6D, 72, 80, $30
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $30
anim_wait 4
- anim_obj ANIM_OBJ_6D, 72, 80, $38
+ anim_obj ANIM_OBJ_SHINY, 72, 80, $38
anim_wait 64
anim_ret
; ca1d5
@@ -2086,11 +2086,11 @@ BattleAnim_LightScreen: ; ca18e
BattleAnim_Amnesia: ; ca1d5
anim_1gfx ANIM_GFX_STATUS
anim_sound 0, 0, SFX_LICK
- anim_obj ANIM_OBJ_53, 64, 80, $2
+ anim_obj ANIM_OBJ_AMNESIA, 64, 80, $2
anim_wait 16
- anim_obj ANIM_OBJ_53, 68, 80, $1
+ anim_obj ANIM_OBJ_AMNESIA, 68, 80, $1
anim_wait 16
- anim_obj ANIM_OBJ_53, 72, 80, $0
+ anim_obj ANIM_OBJ_AMNESIA, 72, 80, $0
anim_wait 64
anim_ret
; ca1ed
@@ -2113,7 +2113,7 @@ BattleAnim_Rest: ; ca212
anim_1gfx ANIM_GFX_STATUS
anim_sound 0, 0, SFX_TAIL_WHIP
.loop
- anim_obj ANIM_OBJ_54, 64, 80, $0
+ anim_obj ANIM_OBJ_ASLEEP, 64, 80, $0
anim_wait 40
anim_loop 3, .loop
anim_wait 32
@@ -2181,22 +2181,22 @@ BattleAnim_StringShot: ; ca293
anim_1gfx ANIM_GFX_WEB
anim_bgeffect ANIM_BG_07, $0, $2, $0
anim_sound 6, 2, SFX_MENU
- anim_obj ANIM_OBJ_5A, 64, 80, $0
+ anim_obj ANIM_OBJ_STRING_SHOT, 64, 80, $0
anim_wait 4
anim_sound 0, 1, SFX_MENU
- anim_obj ANIM_OBJ_5A, 132, 48, $1
+ anim_obj ANIM_OBJ_STRING_SHOT, 132, 48, $1
anim_wait 4
anim_sound 6, 2, SFX_MENU
- anim_obj ANIM_OBJ_5A, 64, 88, $0
+ anim_obj ANIM_OBJ_STRING_SHOT, 64, 88, $0
anim_wait 4
anim_sound 0, 1, SFX_MENU
- anim_obj ANIM_OBJ_5A, 132, 64, $1
+ anim_obj ANIM_OBJ_STRING_SHOT, 132, 64, $1
anim_wait 4
anim_sound 6, 2, SFX_MENU
- anim_obj ANIM_OBJ_5A, 64, 84, $0
+ anim_obj ANIM_OBJ_STRING_SHOT, 64, 84, $0
anim_wait 4
anim_sound 0, 1, SFX_MENU
- anim_obj ANIM_OBJ_5A, 132, 56, $2
+ anim_obj ANIM_OBJ_STRING_SHOT, 132, 56, $2
anim_wait 64
anim_ret
; ca2d1
@@ -2325,8 +2325,8 @@ BattleAnim_Hypnosis: ; ca3d8
anim_1gfx ANIM_GFX_PSYCHIC
.loop
anim_sound 6, 2, SFX_SUPERSONIC
- anim_obj ANIM_OBJ_4C, 64, 88, $2
- anim_obj ANIM_OBJ_4C, 56, 80, $2
+ anim_obj ANIM_OBJ_WAVE, 64, 88, $2
+ anim_obj ANIM_OBJ_WAVE, 56, 80, $2
anim_wait 8
anim_loop 3, .loop
anim_wait 56
@@ -2512,7 +2512,7 @@ BattleAnim_PetalDance: ; ca564
anim_sound 0, 0, SFX_MENU
anim_2gfx ANIM_GFX_FLOWER, ANIM_GFX_HIT
.loop
- anim_obj ANIM_OBJ_61, 48, 56, $0
+ anim_obj ANIM_OBJ_PETAL_DANCE, 48, 56, $0
anim_wait 11
anim_loop 8, .loop
anim_wait 128
@@ -2526,7 +2526,7 @@ BattleAnim_PetalDance: ; ca564
BattleAnim_Barrage: ; ca580
anim_2gfx ANIM_GFX_EGG, ANIM_GFX_EXPLOSION
anim_sound 6, 2, SFX_THROW_BALL
- anim_obj ANIM_OBJ_62, 64, 92, $10
+ anim_obj ANIM_OBJ_SLUDGE_BOMB, 64, 92, $10
anim_wait 36
anim_sound 0, 1, SFX_EGG_BOMB
anim_obj ANIM_OBJ_18, 136, 56, $0
@@ -2540,7 +2540,7 @@ BattleAnim_PayDay: ; ca596
anim_obj ANIM_OBJ_01, 128, 56, $0
anim_wait 16
anim_sound 0, 1, SFX_PAY_DAY
- anim_obj ANIM_OBJ_63, 120, 76, $1
+ anim_obj ANIM_OBJ_PAY_DAY, 120, 76, $1
anim_wait 64
anim_ret
; ca5ac
@@ -2549,14 +2549,14 @@ BattleAnim_Mimic: ; ca5ac
anim_1gfx ANIM_GFX_SPEED
anim_obp0 $fc
anim_sound 63, 3, SFX_LICK
- anim_obj ANIM_OBJ_65, 132, 44, $0
- anim_obj ANIM_OBJ_65, 132, 44, $8
- anim_obj ANIM_OBJ_65, 132, 44, $10
- anim_obj ANIM_OBJ_65, 132, 44, $18
- anim_obj ANIM_OBJ_65, 132, 44, $20
- anim_obj ANIM_OBJ_65, 132, 44, $28
- anim_obj ANIM_OBJ_65, 132, 44, $30
- anim_obj ANIM_OBJ_65, 132, 44, $38
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $0
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $8
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $10
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $18
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $20
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $28
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $30
+ anim_obj ANIM_OBJ_MIMIC, 132, 44, $38
anim_wait 128
anim_wait 48
anim_ret
@@ -2565,7 +2565,7 @@ BattleAnim_Mimic: ; ca5ac
BattleAnim_LovelyKiss: ; ca5de
anim_2gfx ANIM_GFX_OBJECTS, ANIM_GFX_ANGELS
anim_bgeffect ANIM_BG_07, $0, $2, $0
- anim_obj ANIM_OBJ_96, 152, 40, $0
+ anim_obj ANIM_OBJ_LOVELY_KISS, 152, 40, $0
anim_wait 32
anim_sound 0, 1, SFX_LICK
anim_obj ANIM_OBJ_HEART, 128, 40, $0
@@ -2576,7 +2576,7 @@ BattleAnim_LovelyKiss: ; ca5de
BattleAnim_Bonemerang: ; ca5f6
anim_2gfx ANIM_GFX_MISC, ANIM_GFX_HIT
anim_sound 6, 2, SFX_HYDRO_PUMP
- anim_obj ANIM_OBJ_67, 88, 56, $1c
+ anim_obj ANIM_OBJ_BONEMERANG, 88, 56, $1c
anim_wait 24
anim_sound 0, 1, SFX_MOVE_PUZZLE_PIECE
anim_obj ANIM_OBJ_01, 136, 56, $0
@@ -2587,11 +2587,11 @@ BattleAnim_Bonemerang: ; ca5f6
BattleAnim_Swift: ; ca60c
anim_1gfx ANIM_GFX_OBJECTS
anim_sound 6, 2, SFX_METRONOME
- anim_obj ANIM_OBJ_6A, 64, 88, $4
+ anim_obj ANIM_OBJ_SWIFT, 64, 88, $4
anim_wait 4
- anim_obj ANIM_OBJ_6A, 64, 72, $4
+ anim_obj ANIM_OBJ_SWIFT, 64, 72, $4
anim_wait 4
- anim_obj ANIM_OBJ_6A, 64, 76, $4
+ anim_obj ANIM_OBJ_SWIFT, 64, 76, $4
anim_wait 64
anim_ret
; ca624
@@ -2630,7 +2630,7 @@ BattleAnim_SkullBash: ; ca63f
BattleAnim_Kinesis: ; ca66a
anim_2gfx ANIM_GFX_MISC, ANIM_GFX_NOISE
anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_obj ANIM_OBJ_6B, 80, 76, $0
+ anim_obj ANIM_OBJ_KINESIS, 80, 76, $0
anim_wait 32
.loop
anim_sound 0, 0, SFX_KINESIS
@@ -2695,21 +2695,21 @@ BattleAnim_Flash: ; ca700
anim_sound 0, 1, SFX_FLASH
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $6, $20
anim_wait 4
- anim_obj ANIM_OBJ_6C, 136, 56, $0
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $0
anim_wait 4
- anim_obj ANIM_OBJ_6C, 136, 56, $8
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $8
anim_wait 4
- anim_obj ANIM_OBJ_6C, 136, 56, $10
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $10
anim_wait 4
- anim_obj ANIM_OBJ_6C, 136, 56, $18
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $18
anim_wait 4
- anim_obj ANIM_OBJ_6C, 136, 56, $20
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $20
anim_wait 4
- anim_obj ANIM_OBJ_6C, 136, 56, $28
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $28
anim_wait 4
- anim_obj ANIM_OBJ_6C, 136, 56, $30
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $30
anim_wait 4
- anim_obj ANIM_OBJ_6C, 136, 56, $38
+ anim_obj ANIM_OBJ_FLASH, 136, 56, $38
anim_wait 32
anim_ret
; ca73c
@@ -2776,7 +2776,7 @@ BattleAnim_SkyAttack: ; ca7a1
anim_bgeffect ANIM_BG_27, $0, $1, $0
anim_wait 32
anim_sound 0, 0, SFX_HYPER_BEAM
- anim_obj ANIM_OBJ_SKY_ATTACK_FEAROW, 48, 88, $40
+ anim_obj ANIM_OBJ_SKY_ATTACK, 48, 88, $40
anim_wait 64
anim_incobj 1
anim_wait 21
@@ -2846,7 +2846,7 @@ BattleAnim_Psybeam: ; ca829
anim_bgeffect ANIM_BG_08, $0, $4, $0
.loop
anim_sound 6, 2, SFX_PSYBEAM
- anim_obj ANIM_OBJ_4C, 64, 88, $4
+ anim_obj ANIM_OBJ_WAVE, 64, 88, $4
anim_wait 4
anim_loop 10, .loop
anim_wait 48
@@ -2887,13 +2887,13 @@ BattleAnim_Psywave: ; ca86c
anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0
.loop
anim_sound 6, 2, SFX_PSYCHIC
- anim_obj ANIM_OBJ_4C, 64, 80, $2
+ anim_obj ANIM_OBJ_WAVE, 64, 80, $2
anim_wait 8
anim_sound 6, 2, SFX_PSYCHIC
- anim_obj ANIM_OBJ_4C, 64, 88, $3
+ anim_obj ANIM_OBJ_WAVE, 64, 88, $3
anim_wait 8
anim_sound 6, 2, SFX_PSYCHIC
- anim_obj ANIM_OBJ_4C, 64, 96, $4
+ anim_obj ANIM_OBJ_WAVE, 64, 96, $4
anim_wait 8
anim_loop 3, .loop
anim_wait 32
@@ -2932,14 +2932,14 @@ BattleAnim_Growth: ; ca8d5
anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0
anim_1gfx ANIM_GFX_CHARGE
anim_sound 0, 0, SFX_SWORDS_DANCE
- anim_obj ANIM_OBJ_72, 48, 108, $0
- anim_obj ANIM_OBJ_72, 48, 108, $8
- anim_obj ANIM_OBJ_72, 48, 108, $10
- anim_obj ANIM_OBJ_72, 48, 108, $18
- anim_obj ANIM_OBJ_72, 48, 108, $20
- anim_obj ANIM_OBJ_72, 48, 108, $28
- anim_obj ANIM_OBJ_72, 48, 108, $30
- anim_obj ANIM_OBJ_72, 48, 108, $38
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $0
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $8
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $10
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $18
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $20
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $28
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $30
+ anim_obj ANIM_OBJ_GROWTH, 48, 108, $38
anim_wait 64
anim_ret
; ca909
@@ -2947,14 +2947,14 @@ BattleAnim_Growth: ; ca8d5
BattleAnim_Conversion2: ; ca909
anim_1gfx ANIM_GFX_EXPLOSION
anim_sound 63, 3, SFX_SHARPEN
- anim_obj ANIM_OBJ_73, 132, 44, $0
- anim_obj ANIM_OBJ_73, 132, 44, $8
- anim_obj ANIM_OBJ_73, 132, 44, $10
- anim_obj ANIM_OBJ_73, 132, 44, $18
- anim_obj ANIM_OBJ_73, 132, 44, $20
- anim_obj ANIM_OBJ_73, 132, 44, $28
- anim_obj ANIM_OBJ_73, 132, 44, $30
- anim_obj ANIM_OBJ_73, 132, 44, $38
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $0
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $8
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $10
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $18
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $20
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $28
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $30
+ anim_obj ANIM_OBJ_CONVERSION2, 132, 44, $38
anim_wait 128
anim_wait 48
anim_ret
@@ -2963,7 +2963,7 @@ BattleAnim_Conversion2: ; ca909
BattleAnim_Smokescreen: ; ca939
anim_3gfx ANIM_GFX_HAZE, ANIM_GFX_EGG, ANIM_GFX_SMOKE
anim_sound 6, 2, SFX_THROW_BALL
- anim_obj ANIM_OBJ_75, 64, 92, $6c
+ anim_obj ANIM_OBJ_SMOKESCREEN, 64, 92, $6c
anim_wait 24
anim_incobj 1
anim_sound 0, 1, SFX_BALL_POOF
@@ -2971,7 +2971,7 @@ BattleAnim_Smokescreen: ; ca939
anim_wait 8
.loop
anim_sound 0, 1, SFX_MENU
- anim_obj ANIM_OBJ_74, 132, 60, $20
+ anim_obj ANIM_OBJ_SMOKE, 132, 60, $20
anim_wait 8
anim_loop 5, .loop
anim_wait 128
@@ -2982,7 +2982,7 @@ BattleAnim_Strength: ; ca960
anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT
anim_bgeffect ANIM_BG_20, $10, $1, $20
anim_sound 0, 0, SFX_STRENGTH
- anim_obj ANIM_OBJ_1F, 64, 104, $1
+ anim_obj ANIM_OBJ_STRENGTH, 64, 104, $1
anim_wait 128
anim_incobj 1
anim_wait 20
@@ -2995,11 +2995,11 @@ BattleAnim_Strength: ; ca960
BattleAnim_SwordsDance: ; ca97e
anim_1gfx ANIM_GFX_WHIP
anim_sound 0, 0, SFX_SWORDS_DANCE
- anim_obj ANIM_OBJ_76, 48, 108, $0
- anim_obj ANIM_OBJ_76, 48, 108, $d
- anim_obj ANIM_OBJ_76, 48, 108, $1a
- anim_obj ANIM_OBJ_76, 48, 108, $27
- anim_obj ANIM_OBJ_76, 48, 108, $34
+ anim_obj ANIM_OBJ_SWORDS_DANCE, 48, 108, $0
+ anim_obj ANIM_OBJ_SWORDS_DANCE, 48, 108, $d
+ anim_obj ANIM_OBJ_SWORDS_DANCE, 48, 108, $1a
+ anim_obj ANIM_OBJ_SWORDS_DANCE, 48, 108, $27
+ anim_obj ANIM_OBJ_SWORDS_DANCE, 48, 108, $34
anim_wait 56
anim_ret
; ca99e
@@ -3008,12 +3008,12 @@ BattleAnim_QuickAttack: ; ca99e
anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_HIT
anim_sound 0, 0, SFX_MENU
anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
- anim_obj ANIM_OBJ_77, 24, 88, $2
- anim_obj ANIM_OBJ_77, 32, 88, $1
- anim_obj ANIM_OBJ_77, 40, 88, $0
- anim_obj ANIM_OBJ_77, 48, 88, $80
- anim_obj ANIM_OBJ_77, 56, 88, $81
- anim_obj ANIM_OBJ_77, 64, 88, $82
+ anim_obj ANIM_OBJ_SPEED_LINE, 24, 88, $2
+ anim_obj ANIM_OBJ_SPEED_LINE, 32, 88, $1
+ anim_obj ANIM_OBJ_SPEED_LINE, 40, 88, $0
+ anim_obj ANIM_OBJ_SPEED_LINE, 48, 88, $80
+ anim_obj ANIM_OBJ_SPEED_LINE, 56, 88, $81
+ anim_obj ANIM_OBJ_SPEED_LINE, 64, 88, $82
anim_wait 12
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_01, 136, 56, $0
@@ -3041,7 +3041,7 @@ BattleAnim_Sharpen: ; ca9ed
anim_call BattleAnim_FollowEnemyFeet_0
anim_sound 0, 0, SFX_SHARPEN
anim_bgeffect ANIM_BG_18, $0, $1, $40
- anim_obj ANIM_OBJ_78, 48, 88, $0
+ anim_obj ANIM_OBJ_SHARPEN, 48, 88, $0
anim_wait 96
anim_incobj 2
anim_incbgeffect ANIM_BG_18
@@ -3055,7 +3055,7 @@ BattleAnim_DefenseCurl: ; caa0a
anim_call BattleAnim_FollowEnemyFeet_0
anim_sound 0, 0, SFX_SHARPEN
anim_bgeffect ANIM_BG_18, $0, $1, $40
- anim_obj ANIM_OBJ_79, 48, 88, $0
+ anim_obj ANIM_OBJ_DEFENSE_CURL, 48, 88, $0
anim_wait 96
anim_incobj 2
anim_incbgeffect ANIM_BG_18
@@ -3067,7 +3067,7 @@ BattleAnim_SeismicToss: ; caa27
anim_2gfx ANIM_GFX_GLOBE, ANIM_GFX_HIT
anim_bgeffect ANIM_BG_20, $10, $1, $20
anim_sound 0, 0, SFX_STRENGTH
- anim_obj ANIM_OBJ_20, 64, 104, $1
+ anim_obj ANIM_OBJ_SEISMIC_TOSS, 64, 104, $1
anim_wait 128
anim_incobj 1
anim_wait 20
@@ -3102,14 +3102,14 @@ BattleAnim_Agility: ; caa74
anim_obp0 $fc
anim_call BattleAnim_FollowEnemyFeet_0
anim_bgeffect ANIM_BG_18, $0, $1, $40
- anim_obj ANIM_OBJ_7D, 8, 24, $10
- anim_obj ANIM_OBJ_7D, 8, 48, $2
- anim_obj ANIM_OBJ_7D, 8, 88, $8
+ anim_obj ANIM_OBJ_AGILITY, 8, 24, $10
+ anim_obj ANIM_OBJ_AGILITY, 8, 48, $2
+ anim_obj ANIM_OBJ_AGILITY, 8, 88, $8
anim_wait 4
- anim_obj ANIM_OBJ_7D, 8, 32, $6
- anim_obj ANIM_OBJ_7D, 8, 56, $c
- anim_obj ANIM_OBJ_7D, 8, 80, $4
- anim_obj ANIM_OBJ_7D, 8, 104, $e
+ anim_obj ANIM_OBJ_AGILITY, 8, 32, $6
+ anim_obj ANIM_OBJ_AGILITY, 8, 56, $c
+ anim_obj ANIM_OBJ_AGILITY, 8, 80, $4
+ anim_obj ANIM_OBJ_AGILITY, 8, 104, $e
.loop
anim_sound 0, 0, SFX_RAZOR_WIND
anim_wait 4
@@ -3121,7 +3121,7 @@ BattleAnim_Agility: ; caa74
BattleAnim_BoneClub: ; caab2
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_MISC
- anim_obj ANIM_OBJ_68, 64, 88, $2
+ anim_obj ANIM_OBJ_BONE_CLUB, 64, 88, $2
anim_wait 32
anim_sound 0, 1, SFX_BONE_CLUB
anim_obj ANIM_OBJ_01, 136, 56, $0
@@ -3135,10 +3135,10 @@ BattleAnim_Barrier: ; caac5
anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_wait 8
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_50, 72, 80, $0
+ anim_obj ANIM_OBJ_SCREEN, 72, 80, $0
anim_wait 32
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_50, 72, 80, $0
+ anim_obj ANIM_OBJ_SCREEN, 72, 80, $0
anim_wait 32
anim_ret
; caae1
@@ -3173,7 +3173,7 @@ BattleAnim_PsychicM: ; cab1d
anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0
.loop
anim_sound 6, 2, SFX_PSYCHIC
- anim_obj ANIM_OBJ_4C, 64, 88, $2
+ anim_obj ANIM_OBJ_WAVE, 64, 88, $2
anim_wait 8
anim_loop 8, .loop
anim_wait 96
@@ -3283,7 +3283,7 @@ BattleAnim_Slam: ; cac13
BattleAnim_Disable: ; cac24
anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_STATUS
anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_obj ANIM_OBJ_7C, 132, 56, $0
+ anim_obj ANIM_OBJ_DISABLE, 132, 56, $0
anim_wait 16
anim_sound 0, 1, SFX_BIND
anim_obj ANIM_OBJ_PARALYZED, 104, 56, $42
@@ -3316,7 +3316,7 @@ BattleAnim_Sketch: ; cac61
anim_call BattleAnim_FollowEnemyFeet_0
anim_bgeffect ANIM_BG_1A, $0, $1, $20
anim_sound 0, 0, SFX_SKETCH
- anim_obj ANIM_OBJ_98, 72, 80, $0
+ anim_obj ANIM_OBJ_SKETCH, 72, 80, $0
anim_wait 80
anim_incbgeffect ANIM_BG_1A
anim_call BattleAnim_ShowMon_0
@@ -3366,7 +3366,7 @@ BattleAnim_Thief: ; cacb5
anim_wait 1
anim_1gfx ANIM_GFX_STATUS
anim_sound 0, 1, SFX_THIEF_2
- anim_obj ANIM_OBJ_8B, 120, 76, $1
+ anim_obj ANIM_OBJ_THIEF, 120, 76, $1
anim_wait 64
anim_ret
; cacd9
@@ -3374,13 +3374,13 @@ BattleAnim_Thief: ; cacb5
BattleAnim_SpiderWeb: ; cacd9
anim_1gfx ANIM_GFX_WEB
anim_bgeffect ANIM_BG_07, $0, $2, $0
- anim_obj ANIM_OBJ_92, 132, 48, $0
+ anim_obj ANIM_OBJ_SPIDER_WEB, 132, 48, $0
anim_sound 6, 2, SFX_SPIDER_WEB
- anim_obj ANIM_OBJ_5A, 64, 80, $0
+ anim_obj ANIM_OBJ_STRING_SHOT, 64, 80, $0
anim_wait 4
- anim_obj ANIM_OBJ_5A, 64, 88, $0
+ anim_obj ANIM_OBJ_STRING_SHOT, 64, 88, $0
anim_wait 4
- anim_obj ANIM_OBJ_5A, 64, 84, $0
+ anim_obj ANIM_OBJ_STRING_SHOT, 64, 84, $0
anim_wait 64
anim_ret
; cacfb
@@ -3389,10 +3389,10 @@ BattleAnim_MindReader: ; cacfb
anim_1gfx ANIM_GFX_MISC
anim_sound 0, 1, SFX_MIND_READER
.loop
- anim_obj ANIM_OBJ_88, 132, 48, $3
- anim_obj ANIM_OBJ_88, 132, 48, $12
- anim_obj ANIM_OBJ_88, 132, 48, $20
- anim_obj ANIM_OBJ_88, 132, 48, $31
+ anim_obj ANIM_OBJ_MIND_READER, 132, 48, $3
+ anim_obj ANIM_OBJ_MIND_READER, 132, 48, $12
+ anim_obj ANIM_OBJ_MIND_READER, 132, 48, $20
+ anim_obj ANIM_OBJ_MIND_READER, 132, 48, $31
anim_wait 16
anim_loop 2, .loop
anim_wait 32
@@ -3403,8 +3403,8 @@ BattleAnim_Nightmare: ; cad1b
anim_1gfx ANIM_GFX_ANGELS
anim_bgp $1b
anim_obp0 $f
- anim_obj ANIM_OBJ_94, 132, 40, $0
- anim_obj ANIM_OBJ_94, 132, 40, $a0
+ anim_obj ANIM_OBJ_NIGHTMARE, 132, 40, $0
+ anim_obj ANIM_OBJ_NIGHTMARE, 132, 40, $a0
anim_sound 0, 1, SFX_NIGHTMARE
anim_wait 96
anim_ret
@@ -3414,7 +3414,7 @@ BattleAnim_FlameWheel: ; cad30
anim_1gfx ANIM_GFX_FIRE
.loop
anim_sound 0, 0, SFX_EMBER
- anim_obj ANIM_OBJ_7F, 48, 96, $0
+ anim_obj ANIM_OBJ_FLAME_WHEEL, 48, 96, $0
anim_wait 6
anim_loop 8, .loop
anim_wait 96
@@ -3423,9 +3423,9 @@ BattleAnim_FlameWheel: ; cad30
anim_wait 4
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
anim_sound 0, 1, SFX_EMBER
- anim_obj ANIM_OBJ_0F, 136, 48, $1
- anim_obj ANIM_OBJ_0F, 136, 48, $4
- anim_obj ANIM_OBJ_0F, 136, 48, $5
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 48, $1
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 48, $4
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 48, $5
anim_wait 8
anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
anim_wait 4
@@ -3436,7 +3436,7 @@ BattleAnim_FlameWheel: ; cad30
BattleAnim_Snore: ; cad6b
anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_NOISE
- anim_obj ANIM_OBJ_54, 64, 80, $0
+ anim_obj ANIM_OBJ_ASLEEP, 64, 80, $0
anim_wait 32
anim_bgeffect ANIM_BG_1F, $60, $2, $0
anim_sound 0, 0, SFX_SNORE
@@ -3451,7 +3451,7 @@ BattleAnim_Snore: ; cad6b
BattleAnim_Curse: ; cad86
anim_if_param_equal $1, .NotGhost
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_OBJECTS
- anim_obj ANIM_OBJ_A5, 68, 72, $0
+ anim_obj ANIM_OBJ_CURSE, 68, 72, $0
anim_sound 0, 0, SFX_CURSE
anim_wait 32
anim_incobj 1
@@ -3515,14 +3515,14 @@ BattleAnim_Conversion: ; cae17
anim_1gfx ANIM_GFX_EXPLOSION
anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
anim_sound 63, 3, SFX_SHARPEN
- anim_obj ANIM_OBJ_91, 48, 88, $0
- anim_obj ANIM_OBJ_91, 48, 88, $8
- anim_obj ANIM_OBJ_91, 48, 88, $10
- anim_obj ANIM_OBJ_91, 48, 88, $18
- anim_obj ANIM_OBJ_91, 48, 88, $20
- anim_obj ANIM_OBJ_91, 48, 88, $28
- anim_obj ANIM_OBJ_91, 48, 88, $30
- anim_obj ANIM_OBJ_91, 48, 88, $38
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $0
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $8
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $10
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $18
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $20
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $28
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $30
+ anim_obj ANIM_OBJ_CONVERSION, 48, 88, $38
anim_wait 128
anim_ret
; cae4b
@@ -3533,7 +3533,7 @@ BattleAnim_Aeroblast: ; cae4b
anim_bgeffect ANIM_BG_1F, $50, $4, $10
anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_sound 0, 0, SFX_AEROBLAST
- anim_obj ANIM_OBJ_B3, 72, 88, $0
+ anim_obj ANIM_OBJ_AEROBLAST, 72, 88, $0
anim_wait 32
anim_sound 0, 0, SFX_HYPER_BEAM
anim_obj ANIM_OBJ_27, 80, 84, $0
@@ -3567,26 +3567,26 @@ BattleAnim_Reversal: ; cae97
anim_obj ANIM_OBJ_04, 112, 64, $0
anim_wait 2
anim_sound 0, 1, SFX_SHINE
- anim_obj ANIM_OBJ_A7, 120, 56, $0
+ anim_obj ANIM_OBJ_FORESIGHT, 120, 56, $0
anim_wait 2
anim_sound 0, 1, SFX_MEGA_PUNCH
anim_obj ANIM_OBJ_04, 128, 56, $0
anim_wait 2
anim_sound 0, 1, SFX_SHINE
- anim_obj ANIM_OBJ_A7, 136, 48, $0
+ anim_obj ANIM_OBJ_FORESIGHT, 136, 48, $0
anim_wait 2
anim_sound 0, 1, SFX_MEGA_PUNCH
anim_obj ANIM_OBJ_04, 144, 48, $0
anim_wait 2
anim_sound 0, 1, SFX_SHINE
- anim_obj ANIM_OBJ_A7, 152, 40, $0
+ anim_obj ANIM_OBJ_FORESIGHT, 152, 40, $0
anim_wait 24
anim_ret
; caed6
BattleAnim_Spite: ; caed6
anim_1gfx ANIM_GFX_ANGELS
- anim_obj ANIM_OBJ_A4, 132, 16, $0
+ anim_obj ANIM_OBJ_SPITE, 132, 16, $0
anim_sound 0, 1, SFX_SPITE
anim_wait 96
anim_ret
@@ -3596,13 +3596,13 @@ BattleAnim_PowderSnow: ; caee2
anim_1gfx ANIM_GFX_ICE
.loop ; caee4
anim_sound 6, 2, SFX_SHINE
- anim_obj ANIM_OBJ_8F, 64, 88, $23
+ anim_obj ANIM_OBJ_POWDER_SNOW, 64, 88, $23
anim_wait 2
anim_sound 6, 2, SFX_SHINE
- anim_obj ANIM_OBJ_8F, 64, 80, $24
+ anim_obj ANIM_OBJ_POWDER_SNOW, 64, 80, $24
anim_wait 2
anim_sound 6, 2, SFX_SHINE
- anim_obj ANIM_OBJ_8F, 64, 96, $23
+ anim_obj ANIM_OBJ_POWDER_SNOW, 64, 96, $23
anim_wait 2
anim_loop 2, .loop
anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0
@@ -3615,11 +3615,11 @@ BattleAnim_PowderSnow: ; caee2
BattleAnim_Protect: ; caf0e
anim_1gfx ANIM_GFX_OBJECTS
anim_bgeffect ANIM_BG_07, $0, $2, $0
- anim_obj ANIM_OBJ_8A, 80, 80, $0
- anim_obj ANIM_OBJ_8A, 80, 80, $d
- anim_obj ANIM_OBJ_8A, 80, 80, $1a
- anim_obj ANIM_OBJ_8A, 80, 80, $27
- anim_obj ANIM_OBJ_8A, 80, 80, $34
+ anim_obj ANIM_OBJ_PROTECT, 80, 80, $0
+ anim_obj ANIM_OBJ_PROTECT, 80, 80, $d
+ anim_obj ANIM_OBJ_PROTECT, 80, 80, $1a
+ anim_obj ANIM_OBJ_PROTECT, 80, 80, $27
+ anim_obj ANIM_OBJ_PROTECT, 80, 80, $34
anim_sound 0, 0, SFX_PROTECT
anim_wait 96
anim_ret
@@ -3629,12 +3629,12 @@ BattleAnim_MachPunch: ; caf33
anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_HIT
anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
anim_sound 0, 0, SFX_MENU
- anim_obj ANIM_OBJ_77, 24, 88, $2
- anim_obj ANIM_OBJ_77, 32, 88, $1
- anim_obj ANIM_OBJ_77, 40, 88, $0
- anim_obj ANIM_OBJ_77, 48, 88, $80
- anim_obj ANIM_OBJ_77, 56, 88, $81
- anim_obj ANIM_OBJ_77, 64, 88, $82
+ anim_obj ANIM_OBJ_SPEED_LINE, 24, 88, $2
+ anim_obj ANIM_OBJ_SPEED_LINE, 32, 88, $1
+ anim_obj ANIM_OBJ_SPEED_LINE, 40, 88, $0
+ anim_obj ANIM_OBJ_SPEED_LINE, 48, 88, $80
+ anim_obj ANIM_OBJ_SPEED_LINE, 56, 88, $81
+ anim_obj ANIM_OBJ_SPEED_LINE, 64, 88, $82
anim_wait 12
anim_sound 0, 1, SFX_MEGA_PUNCH
anim_obj ANIM_OBJ_06, 136, 56, $0
@@ -3679,7 +3679,7 @@ BattleAnim_FaintAttack: ; caf84
BattleAnim_SweetKiss: ; cafb4
anim_2gfx ANIM_GFX_OBJECTS, ANIM_GFX_ANGELS
anim_bgeffect ANIM_BG_07, $0, $2, $0
- anim_obj ANIM_OBJ_97, 96, 40, $0
+ anim_obj ANIM_OBJ_SWEET_KISS, 96, 40, $0
anim_sound 0, 1, SFX_SWEET_KISS
anim_wait 32
anim_sound 0, 1, SFX_SWEET_KISS_2
@@ -3733,7 +3733,7 @@ BattleAnim_SludgeBomb: ; cb051
anim_2gfx ANIM_GFX_EGG, ANIM_GFX_POISON
anim_bgeffect ANIM_BG_BLACK_HUES, $0, $8, $0
anim_sound 6, 2, SFX_SLUDGE_BOMB
- anim_obj ANIM_OBJ_62, 64, 92, $10
+ anim_obj ANIM_OBJ_SLUDGE_BOMB, 64, 92, $10
anim_wait 36
anim_call BattleAnim_SludgeBomb_branch_cbc15
anim_wait 64
@@ -3750,13 +3750,13 @@ BattleAnim_MudSlap: ; cb067
BattleAnim_Octazooka: ; cb06f
anim_3gfx ANIM_GFX_HAZE, ANIM_GFX_EGG, ANIM_GFX_SMOKE
anim_sound 6, 2, SFX_SLUDGE_BOMB
- anim_obj ANIM_OBJ_8C, 64, 92, $4
+ anim_obj ANIM_OBJ_OCTAZOOKA, 64, 92, $4
anim_wait 16
anim_obj ANIM_OBJ_BALL_POOF, 132, 56, $10
anim_wait 8
anim_if_param_equal $0, .done
.loop
- anim_obj ANIM_OBJ_74, 132, 60, $20
+ anim_obj ANIM_OBJ_SMOKE, 132, 60, $20
anim_wait 8
anim_loop 5, .loop
anim_wait 128
@@ -3783,7 +3783,7 @@ BattleAnim_ZapCannon: ; cb0b0
anim_bgp $1b
anim_obp0 $30
anim_sound 6, 2, SFX_ZAP_CANNON
- anim_obj ANIM_OBJ_A3, 64, 92, $2
+ anim_obj ANIM_OBJ_ZAP_CANNON, 64, 92, $2
anim_wait 40
anim_sound 0, 1, SFX_THUNDERSHOCK
anim_obj ANIM_OBJ_LIGHTNING_BOLT, 136, 56, $2
@@ -3798,7 +3798,7 @@ BattleAnim_Foresight: ; cb0d0
anim_call BattleAnim_FollowEnemyFeet_1
anim_bgeffect ANIM_BG_07, $0, $0, $0
anim_sound 0, 1, SFX_FORESIGHT
- anim_obj ANIM_OBJ_A7, 132, 40, $0
+ anim_obj ANIM_OBJ_FORESIGHT, 132, 40, $0
anim_wait 24
anim_bgeffect ANIM_BG_19, $0, $0, $40
anim_wait 64
@@ -3814,13 +3814,13 @@ BattleAnim_DestinyBond: ; cb0f0
anim_obp0 $0
anim_if_param_equal $1, BattleAnim_DestinyBond_branch_cb104
anim_sound 6, 2, SFX_WHIRLWIND
- anim_obj ANIM_OBJ_9B, 44, 120, $2
+ anim_obj ANIM_OBJ_DESTINY_BOND, 44, 120, $2
anim_wait 128
anim_ret
; cb104
BattleAnim_DestinyBond_branch_cb104: ; cb104
- anim_obj ANIM_OBJ_9B, 132, 76, $0
+ anim_obj ANIM_OBJ_DESTINY_BOND, 132, 76, $0
anim_sound 0, 1, SFX_KINESIS
anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0
anim_wait 32
@@ -3876,7 +3876,7 @@ BattleAnim_Detect: ; cb18c
anim_1gfx ANIM_GFX_SHINE
anim_bgeffect ANIM_BG_07, $0, $0, $0
anim_sound 0, 0, SFX_FORESIGHT
- anim_obj ANIM_OBJ_A7, 64, 88, $0
+ anim_obj ANIM_OBJ_FORESIGHT, 64, 88, $0
anim_wait 24
anim_ret
; cb19d
@@ -3884,7 +3884,7 @@ BattleAnim_Detect: ; cb18c
BattleAnim_BoneRush: ; cb19d
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_MISC
anim_sound 0, 1, SFX_BONE_CLUB
- anim_obj ANIM_OBJ_69, 132, 56, $2
+ anim_obj ANIM_OBJ_BONE_RUSH, 132, 56, $2
anim_wait 16
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_01, 120, 48, $0
@@ -3899,10 +3899,10 @@ BattleAnim_LockOn: ; cb1bc
anim_1gfx ANIM_GFX_MISC
anim_sound 0, 1, SFX_MIND_READER
.loop
- anim_obj ANIM_OBJ_87, 132, 48, $3
- anim_obj ANIM_OBJ_87, 132, 48, $12
- anim_obj ANIM_OBJ_87, 132, 48, $20
- anim_obj ANIM_OBJ_87, 132, 48, $31
+ anim_obj ANIM_OBJ_LOCK_ON, 132, 48, $3
+ anim_obj ANIM_OBJ_LOCK_ON, 132, 48, $12
+ anim_obj ANIM_OBJ_LOCK_ON, 132, 48, $20
+ anim_obj ANIM_OBJ_LOCK_ON, 132, 48, $31
anim_wait 16
anim_loop 2, .loop
anim_wait 32
@@ -3932,11 +3932,11 @@ BattleAnim_Outrage: ; cb1dc
BattleAnim_Sandstorm: ; cb210
anim_1gfx ANIM_GFX_POWDER
- anim_obj ANIM_OBJ_A2, 88, 0, $0
+ anim_obj ANIM_OBJ_SANDSTORM, 88, 0, $0
anim_wait 8
- anim_obj ANIM_OBJ_A2, 72, 0, $1
+ anim_obj ANIM_OBJ_SANDSTORM, 72, 0, $1
anim_wait 8
- anim_obj ANIM_OBJ_A2, 56, 0, $2
+ anim_obj ANIM_OBJ_SANDSTORM, 56, 0, $2
.loop
anim_sound 0, 1, SFX_MENU
anim_wait 8
@@ -3960,15 +3960,15 @@ BattleAnim_GigaDrain: ; cb22d
anim_bgeffect ANIM_BG_07, $0, $0, $0
.loop
anim_sound 0, 0, SFX_METRONOME
- anim_obj ANIM_OBJ_9D, 24, 64, $0
+ anim_obj ANIM_OBJ_GLIMMER, 24, 64, $0
anim_wait 5
- anim_obj ANIM_OBJ_9D, 56, 104, $0
+ anim_obj ANIM_OBJ_GLIMMER, 56, 104, $0
anim_wait 5
- anim_obj ANIM_OBJ_9D, 24, 104, $0
+ anim_obj ANIM_OBJ_GLIMMER, 24, 104, $0
anim_wait 5
- anim_obj ANIM_OBJ_9D, 56, 64, $0
+ anim_obj ANIM_OBJ_GLIMMER, 56, 64, $0
anim_wait 5
- anim_obj ANIM_OBJ_9D, 40, 84, $0
+ anim_obj ANIM_OBJ_GLIMMER, 40, 84, $0
anim_wait 5
anim_loop 2, .loop
anim_wait 32
@@ -4036,7 +4036,7 @@ BattleAnim_FalseSwipe: ; cb2f5
anim_sound 0, 1, SFX_CUT
anim_obj ANIM_OBJ_3A, 152, 40, $0
anim_wait 4
- anim_obj ANIM_OBJ_9D, 136, 40, $0
+ anim_obj ANIM_OBJ_GLIMMER, 136, 40, $0
anim_wait 32
anim_ret
; cb30d
@@ -4045,12 +4045,12 @@ BattleAnim_Swagger: ; cb30d
anim_2gfx ANIM_GFX_MISC, ANIM_GFX_WIND
.loop
anim_sound 0, 0, SFX_MENU
- anim_obj ANIM_OBJ_A9, 72, 88, $44
+ anim_obj ANIM_OBJ_SWAGGER, 72, 88, $44
anim_wait 32
anim_loop 2, .loop
anim_wait 32
anim_sound 0, 1, SFX_KINESIS_2
- anim_obj ANIM_OBJ_83, 104, 40, $0
+ anim_obj ANIM_OBJ_ANGER, 104, 40, $0
anim_wait 40
anim_ret
; cb328
@@ -4058,12 +4058,12 @@ BattleAnim_Swagger: ; cb30d
BattleAnim_MilkDrink: ; cb328
anim_2gfx ANIM_GFX_MISC, ANIM_GFX_BUBBLE
anim_call BattleAnim_FollowEnemyFeet_0
- anim_obj ANIM_OBJ_82, 74, 104, $0
+ anim_obj ANIM_OBJ_MILK_DRINK, 74, 104, $0
anim_wait 16
anim_bgeffect ANIM_BG_18, $0, $1, $40
anim_sound 0, 0, SFX_MILK_DRINK
.loop
- anim_obj ANIM_OBJ_2C, 44, 88, $20
+ anim_obj ANIM_OBJ_RECOVER, 44, 88, $20
anim_wait 8
anim_loop 8, .loop
anim_wait 128
@@ -4076,7 +4076,7 @@ BattleAnim_Spark: ; cb34d
anim_2gfx ANIM_GFX_LIGHTNING, ANIM_GFX_EXPLOSION
anim_sound 0, 0, SFX_ZAP_CANNON
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $3
- anim_obj ANIM_OBJ_30, 48, 92, $0
+ anim_obj ANIM_OBJ_THUNDER_WAVE, 48, 92, $0
anim_wait 24
anim_setobj $1, $3
anim_wait 1
@@ -4139,15 +4139,15 @@ BattleAnim_MeanLook: ; cb3df
anim_1gfx ANIM_GFX_PSYCHIC
anim_obp0 $e0
anim_sound 0, 1, SFX_MEAN_LOOK
- anim_obj ANIM_OBJ_AC, 148, 32, $0
+ anim_obj ANIM_OBJ_MEAN_LOOK, 148, 32, $0
anim_wait 5
- anim_obj ANIM_OBJ_AC, 116, 64, $0
+ anim_obj ANIM_OBJ_MEAN_LOOK, 116, 64, $0
anim_wait 5
- anim_obj ANIM_OBJ_AC, 148, 64, $0
+ anim_obj ANIM_OBJ_MEAN_LOOK, 148, 64, $0
anim_wait 5
- anim_obj ANIM_OBJ_AC, 116, 32, $0
+ anim_obj ANIM_OBJ_MEAN_LOOK, 116, 32, $0
anim_wait 5
- anim_obj ANIM_OBJ_AC, 132, 48, $0
+ anim_obj ANIM_OBJ_MEAN_LOOK, 132, 48, $0
anim_wait 128
anim_ret
; cb405
@@ -4156,7 +4156,7 @@ BattleAnim_Attract: ; cb405
anim_1gfx ANIM_GFX_OBJECTS
.loop
anim_sound 0, 0, SFX_ATTRACT
- anim_obj ANIM_OBJ_66, 44, 80, $2
+ anim_obj ANIM_OBJ_ATTRACT, 44, 80, $2
anim_wait 8
anim_loop 5, .loop
anim_wait 128
@@ -4168,7 +4168,7 @@ BattleAnim_SleepTalk: ; cb417
anim_1gfx ANIM_GFX_STATUS
.loop
anim_sound 0, 0, SFX_STRENGTH
- anim_obj ANIM_OBJ_54, 64, 80, $0
+ anim_obj ANIM_OBJ_ASLEEP, 64, 80, $0
anim_wait 40
anim_loop 2, .loop
anim_wait 32
@@ -4220,9 +4220,9 @@ BattleAnim_Return: ; cb464
BattleAnim_Present: ; cb488
anim_2gfx ANIM_GFX_STATUS, ANIM_GFX_BUBBLE
anim_sound 0, 1, SFX_PRESENT
- anim_obj ANIM_OBJ_8D, 64, 88, $6c
+ anim_obj ANIM_OBJ_PRESENT, 64, 88, $6c
anim_wait 56
- anim_obj ANIM_OBJ_53, 104, 48, $0
+ anim_obj ANIM_OBJ_AMNESIA, 104, 48, $0
anim_wait 48
anim_incobj 2
anim_if_param_equal $3, .heal
@@ -4239,7 +4239,7 @@ BattleAnim_Present: ; cb488
.heal
anim_sound 0, 1, SFX_METRONOME
.loop2
- anim_obj ANIM_OBJ_2C, 132, 48, $24
+ anim_obj ANIM_OBJ_RECOVER, 132, 48, $24
anim_wait 8
anim_loop 8, .loop2
anim_wait 128
@@ -4249,7 +4249,7 @@ BattleAnim_Present: ; cb488
BattleAnim_Frustration: ; cb4c1
anim_1gfx ANIM_GFX_MISC
anim_sound 0, 0, SFX_KINESIS_2
- anim_obj ANIM_OBJ_83, 72, 80, $0
+ anim_obj ANIM_OBJ_ANGER, 72, 80, $0
anim_wait 40
anim_1gfx ANIM_GFX_HIT
anim_call BattleAnim_FollowEnemyFeet_0
@@ -4273,11 +4273,11 @@ BattleAnim_Frustration: ; cb4c1
BattleAnim_Safeguard: ; cb4f9
anim_1gfx ANIM_GFX_MISC
anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_obj ANIM_OBJ_89, 80, 80, $0
- anim_obj ANIM_OBJ_89, 80, 80, $d
- anim_obj ANIM_OBJ_89, 80, 80, $1a
- anim_obj ANIM_OBJ_89, 80, 80, $27
- anim_obj ANIM_OBJ_89, 80, 80, $34
+ anim_obj ANIM_OBJ_SAFEGUARD, 80, 80, $0
+ anim_obj ANIM_OBJ_SAFEGUARD, 80, 80, $d
+ anim_obj ANIM_OBJ_SAFEGUARD, 80, 80, $1a
+ anim_obj ANIM_OBJ_SAFEGUARD, 80, 80, $27
+ anim_obj ANIM_OBJ_SAFEGUARD, 80, 80, $34
anim_sound 0, 0, SFX_PROTECT
anim_wait 96
anim_ret
@@ -4303,7 +4303,7 @@ BattleAnim_SacredFire: ; cb53d
anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
.loop
anim_sound 0, 0, SFX_EMBER
- anim_obj ANIM_OBJ_80, 48, 104, $0
+ anim_obj ANIM_OBJ_SACRED_FIRE, 48, 104, $0
anim_wait 8
anim_loop 8, .loop
anim_wait 96
@@ -4311,9 +4311,9 @@ BattleAnim_SacredFire: ; cb53d
anim_bgeffect ANIM_BG_TACKLE, $0, $1, $0
anim_wait 4
anim_sound 0, 1, SFX_EMBER
- anim_obj ANIM_OBJ_0F, 136, 48, $1
- anim_obj ANIM_OBJ_0F, 136, 48, $4
- anim_obj ANIM_OBJ_0F, 136, 48, $5
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 48, $1
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 48, $4
+ anim_obj ANIM_OBJ_FIRE_BLAST, 136, 48, $5
anim_wait 8
anim_bgeffect ANIM_BG_SHOW_MON, $0, $0, $0
anim_wait 4
@@ -4327,15 +4327,15 @@ BattleAnim_Magnitude: ; cb57d
.loop
anim_bgeffect ANIM_BG_1F, $e, $4, $0
anim_sound 0, 1, SFX_STRENGTH
- anim_obj ANIM_OBJ_1E, 128, 64, $40
+ anim_obj ANIM_OBJ_SMALL_ROCK, 128, 64, $40
anim_wait 2
- anim_obj ANIM_OBJ_1E, 120, 68, $30
+ anim_obj ANIM_OBJ_SMALL_ROCK, 120, 68, $30
anim_wait 2
- anim_obj ANIM_OBJ_1E, 152, 68, $30
+ anim_obj ANIM_OBJ_SMALL_ROCK, 152, 68, $30
anim_wait 2
- anim_obj ANIM_OBJ_1E, 144, 64, $40
+ anim_obj ANIM_OBJ_SMALL_ROCK, 144, 64, $40
anim_wait 2
- anim_obj ANIM_OBJ_1E, 136, 68, $30
+ anim_obj ANIM_OBJ_SMALL_ROCK, 136, 68, $30
anim_wait 2
anim_jumpuntil .loop
anim_wait 96
@@ -4370,7 +4370,7 @@ BattleAnim_Dragonbreath: ; cb5de
anim_1gfx ANIM_GFX_FIRE
anim_sound 6, 2, SFX_EMBER
.loop
- anim_obj ANIM_OBJ_90, 64, 92, $4
+ anim_obj ANIM_OBJ_DRAGONBREATH, 64, 92, $4
anim_wait 4
anim_loop 10, .loop
anim_wait 64
@@ -4379,7 +4379,7 @@ BattleAnim_Dragonbreath: ; cb5de
BattleAnim_BatonPass: ; cb5ef
anim_1gfx ANIM_GFX_MISC
- anim_obj ANIM_OBJ_86, 44, 104, $20
+ anim_obj ANIM_OBJ_BATON_PASS, 44, 104, $20
anim_sound 0, 0, SFX_BATON_PASS
anim_call BattleAnim_BatonPass_branch_c9486
anim_wait 64
@@ -4434,7 +4434,7 @@ BattleAnim_RapidSpin: ; cb65e
anim_obp0 $e4
.loop
anim_sound 0, 0, SFX_MENU
- anim_obj ANIM_OBJ_A8, 44, 112, $0
+ anim_obj ANIM_OBJ_RAPID_SPIN, 44, 112, $0
anim_wait 2
anim_loop 5, .loop
anim_wait 24
@@ -4532,7 +4532,7 @@ BattleAnim_MorningSun: ; cb739
anim_bgeffect ANIM_BG_07, $0, $0, $0
anim_sound 0, 0, SFX_MORNING_SUN
.loop
- anim_obj ANIM_OBJ_9C, 16, 48, $88
+ anim_obj ANIM_OBJ_MORNING_SUN, 16, 48, $88
anim_wait 6
anim_loop 5, .loop
anim_wait 32
@@ -4570,8 +4570,8 @@ BattleAnim_Crunch: ; cb77e
anim_bgp $1b
anim_obp0 $c0
anim_bgeffect ANIM_BG_1F, $20, $2, $0
- anim_obj ANIM_OBJ_36, 136, 56, $a8
- anim_obj ANIM_OBJ_36, 136, 56, $28
+ anim_obj ANIM_OBJ_BITE, 136, 56, $a8
+ anim_obj ANIM_OBJ_BITE, 136, 56, $28
anim_wait 8
anim_sound 0, 1, SFX_BITE
anim_obj ANIM_OBJ_00, 144, 48, $18
@@ -4586,11 +4586,11 @@ BattleAnim_Moonlight: ; cb7a8
anim_1gfx ANIM_GFX_SHINE
anim_bgp $1b
anim_bgeffect ANIM_BG_07, $0, $0, $0
- anim_obj ANIM_OBJ_9E, 0, 40, $0
- anim_obj ANIM_OBJ_9E, 16, 56, $0
- anim_obj ANIM_OBJ_9E, 32, 72, $0
- anim_obj ANIM_OBJ_9E, 48, 88, $0
- anim_obj ANIM_OBJ_9E, 64, 104, $0
+ anim_obj ANIM_OBJ_MOONLIGHT, 0, 40, $0
+ anim_obj ANIM_OBJ_MOONLIGHT, 16, 56, $0
+ anim_obj ANIM_OBJ_MOONLIGHT, 32, 72, $0
+ anim_obj ANIM_OBJ_MOONLIGHT, 48, 88, $0
+ anim_obj ANIM_OBJ_MOONLIGHT, 64, 104, $0
anim_wait 1
anim_sound 0, 0, SFX_MOONLIGHT
anim_wait 63
@@ -4608,14 +4608,14 @@ BattleAnim_HiddenPower: ; cb7db
anim_call BattleAnim_FollowEnemyFeet_0
anim_bgeffect ANIM_BG_1A, $0, $1, $20
anim_bgeffect ANIM_BG_07, $0, $2, $0
- anim_obj ANIM_OBJ_9F, 44, 88, $0
- anim_obj ANIM_OBJ_9F, 44, 88, $8
- anim_obj ANIM_OBJ_9F, 44, 88, $10
- anim_obj ANIM_OBJ_9F, 44, 88, $18
- anim_obj ANIM_OBJ_9F, 44, 88, $20
- anim_obj ANIM_OBJ_9F, 44, 88, $28
- anim_obj ANIM_OBJ_9F, 44, 88, $30
- anim_obj ANIM_OBJ_9F, 44, 88, $38
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $0
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $8
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $10
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $18
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $20
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $28
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $30
+ anim_obj ANIM_OBJ_HIDDEN_POWER, 44, 88, $38
.loop
anim_sound 0, 0, SFX_SWORDS_DANCE
anim_wait 8
@@ -4701,11 +4701,11 @@ BattleAnim_RainDance: ; cb8b3
anim_bgp $f8
anim_obp0 $7c
anim_sound 0, 1, SFX_RAIN_DANCE
- anim_obj ANIM_OBJ_AF, 88, 0, $0
+ anim_obj ANIM_OBJ_RAIN, 88, 0, $0
anim_wait 8
- anim_obj ANIM_OBJ_AF, 88, 0, $1
+ anim_obj ANIM_OBJ_RAIN, 88, 0, $1
anim_wait 8
- anim_obj ANIM_OBJ_AF, 88, 0, $2
+ anim_obj ANIM_OBJ_RAIN, 88, 0, $2
anim_wait 128
anim_ret
; cb8cf
@@ -4714,11 +4714,11 @@ BattleAnim_SunnyDay: ; cb8cf
anim_1gfx ANIM_GFX_WATER
anim_bgp $90
anim_sound 0, 1, SFX_MORNING_SUN
- anim_obj ANIM_OBJ_AF, 88, 0, $2
+ anim_obj ANIM_OBJ_RAIN, 88, 0, $2
anim_wait 8
- anim_obj ANIM_OBJ_AF, 88, 0, $2
+ anim_obj ANIM_OBJ_RAIN, 88, 0, $2
anim_wait 8
- anim_obj ANIM_OBJ_AF, 88, 0, $2
+ anim_obj ANIM_OBJ_RAIN, 88, 0, $2
anim_wait 128
anim_ret
; cb8e9
@@ -4728,7 +4728,7 @@ BattleAnim_MirrorCoat: ; cb8e9
anim_bgeffect ANIM_BG_06, $0, $2, $0
.loop
anim_sound 0, 0, SFX_SHINE
- anim_obj ANIM_OBJ_50, 72, 80, $0
+ anim_obj ANIM_OBJ_SCREEN, 72, 80, $0
anim_obj ANIM_OBJ_AE, 64, 72, $4
anim_wait 8
anim_obj ANIM_OBJ_AE, 64, 88, $4
@@ -4747,10 +4747,10 @@ BattleAnim_PsychUp: ; cb917
anim_call BattleAnim_FollowEnemyFeet_0
anim_bgeffect ANIM_BG_1A, $0, $1, $20
anim_sound 0, 0, SFX_PSYBEAM
- anim_obj ANIM_OBJ_B1, 44, 88, $0
- anim_obj ANIM_OBJ_B1, 44, 88, $10
- anim_obj ANIM_OBJ_B1, 44, 88, $20
- anim_obj ANIM_OBJ_B1, 44, 88, $30
+ anim_obj ANIM_OBJ_PSYCH_UP, 44, 88, $0
+ anim_obj ANIM_OBJ_PSYCH_UP, 44, 88, $10
+ anim_obj ANIM_OBJ_PSYCH_UP, 44, 88, $20
+ anim_obj ANIM_OBJ_PSYCH_UP, 44, 88, $30
anim_wait 64
anim_incbgeffect ANIM_BG_1A
anim_call BattleAnim_ShowMon_0
@@ -4762,12 +4762,12 @@ BattleAnim_Extremespeed: ; cb940
anim_2gfx ANIM_GFX_SPEED, ANIM_GFX_CUT
anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
anim_sound 0, 0, SFX_MENU
- anim_obj ANIM_OBJ_77, 24, 88, $2
- anim_obj ANIM_OBJ_77, 32, 88, $1
- anim_obj ANIM_OBJ_77, 40, 88, $0
- anim_obj ANIM_OBJ_77, 48, 88, $80
- anim_obj ANIM_OBJ_77, 56, 88, $81
- anim_obj ANIM_OBJ_77, 64, 88, $82
+ anim_obj ANIM_OBJ_SPEED_LINE, 24, 88, $2
+ anim_obj ANIM_OBJ_SPEED_LINE, 32, 88, $1
+ anim_obj ANIM_OBJ_SPEED_LINE, 40, 88, $0
+ anim_obj ANIM_OBJ_SPEED_LINE, 48, 88, $80
+ anim_obj ANIM_OBJ_SPEED_LINE, 56, 88, $81
+ anim_obj ANIM_OBJ_SPEED_LINE, 64, 88, $82
anim_wait 12
anim_sound 0, 1, SFX_CUT
anim_obj ANIM_OBJ_3A, 152, 40, $0
@@ -4780,25 +4780,25 @@ BattleAnim_Extremespeed: ; cb940
BattleAnim_Ancientpower: ; cb97a
anim_2gfx ANIM_GFX_ROCKS, ANIM_GFX_HIT
anim_sound 0, 0, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 64, 108, $20
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 64, 108, $20
anim_wait 8
anim_sound 0, 0, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 75, 102, $20
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 75, 102, $20
anim_wait 8
anim_sound 0, 0, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 85, 97, $20
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 85, 97, $20
anim_wait 8
anim_sound 0, 0, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 96, 92, $20
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 96, 92, $20
anim_wait 8
anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 106, 87, $20
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 106, 87, $20
anim_wait 8
anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 116, 82, $20
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 116, 82, $20
anim_wait 8
anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B2, 126, 77, $20
+ anim_obj ANIM_OBJ_ANCIENTPOWER, 126, 77, $20
anim_wait 8
anim_sound 0, 1, SFX_SPARK
anim_obj ANIM_OBJ_00, 136, 56, $0
@@ -4810,7 +4810,7 @@ BattleAnim_ShadowBall: ; cb9c6
anim_2gfx ANIM_GFX_EGG, ANIM_GFX_SMOKE
anim_bgp $1b
anim_sound 6, 2, SFX_SLUDGE_BOMB
- anim_obj ANIM_OBJ_B4, 64, 92, $2
+ anim_obj ANIM_OBJ_SHADOW_BALL, 64, 92, $2
anim_wait 32
anim_obj ANIM_OBJ_BALL_POOF, 132, 56, $10
anim_wait 24
@@ -4822,14 +4822,14 @@ BattleAnim_FutureSight: ; cb9db
anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
anim_bgeffect ANIM_BG_PSYCHIC, $0, $0, $0
- anim_obj ANIM_OBJ_7D, 8, 24, $10
- anim_obj ANIM_OBJ_7D, 8, 48, $2
- anim_obj ANIM_OBJ_7D, 8, 88, $8
+ anim_obj ANIM_OBJ_AGILITY, 8, 24, $10
+ anim_obj ANIM_OBJ_AGILITY, 8, 48, $2
+ anim_obj ANIM_OBJ_AGILITY, 8, 88, $8
anim_wait 4
- anim_obj ANIM_OBJ_7D, 8, 32, $6
- anim_obj ANIM_OBJ_7D, 8, 56, $c
- anim_obj ANIM_OBJ_7D, 8, 80, $4
- anim_obj ANIM_OBJ_7D, 8, 104, $e
+ anim_obj ANIM_OBJ_AGILITY, 8, 32, $6
+ anim_obj ANIM_OBJ_AGILITY, 8, 56, $c
+ anim_obj ANIM_OBJ_AGILITY, 8, 80, $4
+ anim_obj ANIM_OBJ_AGILITY, 8, 104, $e
.loop
anim_sound 0, 0, SFX_THROW_BALL
anim_wait 16
@@ -4843,21 +4843,21 @@ BattleAnim_RockSmash: ; cba1b
anim_sound 0, 1, SFX_SPARK
anim_obj ANIM_OBJ_01, 128, 56, $0
anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B5, 128, 64, $28
- anim_obj ANIM_OBJ_B5, 128, 64, $5c
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $28
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $5c
anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B5, 128, 64, $10
- anim_obj ANIM_OBJ_B5, 128, 64, $e8
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $10
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $e8
anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B5, 128, 64, $9c
- anim_obj ANIM_OBJ_B5, 128, 64, $d0
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $9c
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $d0
anim_wait 6
anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B5, 128, 64, $1c
- anim_obj ANIM_OBJ_B5, 128, 64, $50
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $1c
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $50
anim_sound 0, 1, SFX_SPARK
- anim_obj ANIM_OBJ_B5, 128, 64, $dc
- anim_obj ANIM_OBJ_B5, 128, 64, $90
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $dc
+ anim_obj ANIM_OBJ_ROCK_SMASH, 128, 64, $90
anim_wait 32
anim_ret
; cba6a
@@ -5077,9 +5077,9 @@ BattleAnim_SteelWing_branch_cbc43: ; cbc43
anim_sound 0, 0, SFX_SHINE
anim_bgeffect ANIM_BG_17, $0, $1, $40
anim_wait 8
- anim_obj ANIM_OBJ_51, 48, 84, $0
+ anim_obj ANIM_OBJ_HARDEN, 48, 84, $0
anim_wait 32
- anim_obj ANIM_OBJ_51, 48, 84, $0
+ anim_obj ANIM_OBJ_HARDEN, 48, 84, $0
anim_wait 64
anim_incbgeffect ANIM_BG_17
anim_ret
@@ -5100,11 +5100,11 @@ BattleAnim_Moonlight_branch_cbc6a: ; cbc6a
BattleAnim_MorningSun_branch_cbc6a: ; cbc6a
BattleAnim_Synthesis_branch_cbc6a: ; cbc6a
anim_sound 0, 0, SFX_METRONOME
- anim_obj ANIM_OBJ_9D, 44, 64, $0
+ anim_obj ANIM_OBJ_GLIMMER, 44, 64, $0
anim_wait 5
- anim_obj ANIM_OBJ_9D, 24, 96, $0
+ anim_obj ANIM_OBJ_GLIMMER, 24, 96, $0
anim_wait 5
- anim_obj ANIM_OBJ_9D, 56, 104, $0
+ anim_obj ANIM_OBJ_GLIMMER, 56, 104, $0
anim_wait 21
anim_ret
; cbc80
@@ -5114,15 +5114,15 @@ BattleAnim_MorningSun_branch_cbc80: ; cbc80
BattleAnim_Synthesis_branch_cbc80: ; cbc80
anim_sound 0, 0, SFX_METRONOME
.loop
- anim_obj ANIM_OBJ_9D, 24, 64, $0
+ anim_obj ANIM_OBJ_GLIMMER, 24, 64, $0
anim_wait 5
- anim_obj ANIM_OBJ_9D, 56, 104, $0
+ anim_obj ANIM_OBJ_GLIMMER, 56, 104, $0
anim_wait 5
- anim_obj ANIM_OBJ_9D, 24, 104, $0
+ anim_obj ANIM_OBJ_GLIMMER, 24, 104, $0
anim_wait 5
- anim_obj ANIM_OBJ_9D, 56, 64, $0
+ anim_obj ANIM_OBJ_GLIMMER, 56, 64, $0
anim_wait 5
- anim_obj ANIM_OBJ_9D, 40, 84, $0
+ anim_obj ANIM_OBJ_GLIMMER, 40, 84, $0
anim_wait 5
anim_loop 2, .loop
anim_wait 16
diff --git a/data/moves/effects_priorities.asm b/data/moves/effects_priorities.asm
new file mode 100644
index 000000000..6faa6d032
--- /dev/null
+++ b/data/moves/effects_priorities.asm
@@ -0,0 +1,9 @@
+MoveEffectPriorities: ; 3c5df
+ db EFFECT_PROTECT, 3
+ db EFFECT_ENDURE, 3
+ db EFFECT_PRIORITY_HIT, 2
+ db EFFECT_FORCE_SWITCH, 0
+ db EFFECT_COUNTER, 0
+ db EFFECT_MIRROR_COAT, 0
+ db -1
+; 3c5ec
diff --git a/data/moves/grammar.asm b/data/moves/grammar.asm
new file mode 100644
index 000000000..fe637180c
--- /dev/null
+++ b/data/moves/grammar.asm
@@ -0,0 +1,102 @@
+; Used by GetMoveGrammar (see engine/battle/used_move_text.asm)
+; Each move is given an identifier for what usedmovetext to use (0-4).
+; Made redundant in English localization, where all are just "[mon]¯used [move]!"
+
+MoveGrammar: ; 105e7a
+; 0: originally "[mon]の¯[move]¯つかった!" ("[mon]¯used¯[move]!")
+ db SWORDS_DANCE
+ db GROWTH
+ db STRENGTH
+ db HARDEN
+ db MINIMIZE
+ db SMOKESCREEN
+ db WITHDRAW
+ db DEFENSE_CURL
+ db EGG_BOMB
+ db SMOG
+ db BONE_CLUB
+ db FLASH
+ db SPLASH
+ db ACID_ARMOR
+ db BONEMERANG
+ db REST
+ db SHARPEN
+ db SUBSTITUTE
+ db MIND_READER
+ db SNORE
+ db PROTECT
+ db SPIKES
+ db ENDURE
+ db ROLLOUT
+ db SWAGGER
+ db SLEEP_TALK
+ db HIDDEN_POWER
+ db PSYCH_UP
+ db EXTREMESPEED
+ db 0 ; end set
+
+; 1: originally "[mon]の¯[move]した!" ("[mon]¯did [move]!")
+ db RECOVER
+ db TELEPORT
+ db BIDE
+ db SELFDESTRUCT
+ db AMNESIA
+ db FLAIL
+ db 0 ; end set
+
+; 2: originally "[mon]の¯[move]¯した!" ("[mon]¯did¯[move]!")
+ db MEDITATE
+ db AGILITY
+ db MIMIC
+ db DOUBLE_TEAM
+ db BARRAGE
+ db TRANSFORM
+ db STRUGGLE
+ db SCARY_FACE
+ db 0 ; end set
+
+; 3: originally "[mon]の¯[move] こうげき!" ("[mon]'s¯[move] attack!")
+ db POUND
+ db SCRATCH
+ db VICEGRIP
+ db WING_ATTACK
+ db FLY
+ db BIND
+ db SLAM
+ db HORN_ATTACK
+ db WRAP
+ db THRASH
+ db TAIL_WHIP
+ db LEER
+ db BITE
+ db GROWL
+ db ROAR
+ db SING
+ db PECK
+ db ABSORB
+ db STRING_SHOT
+ db EARTHQUAKE
+ db FISSURE
+ db DIG
+ db TOXIC
+ db SCREECH
+ db METRONOME
+ db LICK
+ db CLAMP
+ db CONSTRICT
+ db POISON_GAS
+ db BUBBLE
+ db SLASH
+ db SPIDER_WEB
+ db NIGHTMARE
+ db CURSE
+ db FORESIGHT
+ db CHARM
+ db ATTRACT
+ db ROCK_SMASH
+ db 0 ; end set
+
+; 4: originally "[mon]の¯[move]!" ("[mon]'s¯[move]!")
+; Any move not listed above uses this grammar.
+ db -1 ; end
+; 105ed0
diff --git a/data/npc_trades.asm b/data/npc_trades.asm
index 57b2411d3..d16670984 100644
--- a/data/npc_trades.asm
+++ b/data/npc_trades.asm
@@ -1,7 +1,3 @@
-TRADE_EITHER_GENDER EQU 0
-TRADE_MALE_ONLY EQU 1
-TRADE_FEMALE_ONLY EQU 2
-
npctrade: MACRO
; dialog set, requested mon, offered mon, nickname, dvs, item, OT ID, OT name, gender requested
db \1, \2, \3, \4, \5, \6, \7
@@ -12,11 +8,11 @@ ENDM
NPCTrades: ; fce58
; entries correspond to NPCTRADE_* constants
- npctrade 0, ABRA, MACHOP, "MUSCLE@@@@@", $37, $66, GOLD_BERRY, 37460, "MIKE@@@@@@@", TRADE_EITHER_GENDER
- npctrade 0, BELLSPROUT, ONIX, "ROCKY@@@@@@", $96, $66, BITTER_BERRY, 48926, "KYLE@@@@@@@", TRADE_EITHER_GENDER
- npctrade 1, KRABBY, VOLTORB, "VOLTY@@@@@@", $98, $88, PRZCUREBERRY, 29189, "TIM@@@@@@@@", TRADE_EITHER_GENDER
- npctrade 3, DRAGONAIR, DODRIO, "DORIS@@@@@@", $77, $66, SMOKE_BALL, 00283, "EMY@@@@@@@@", TRADE_FEMALE_ONLY
- npctrade 2, HAUNTER, XATU, "PAUL@@@@@@@", $96, $86, MYSTERYBERRY, 15616, "CHRIS@@@@@@", TRADE_EITHER_GENDER
- npctrade 3, CHANSEY, AERODACTYL, "AEROY@@@@@@", $96, $66, GOLD_BERRY, 26491, "KIM@@@@@@@@", TRADE_EITHER_GENDER
- npctrade 0, DUGTRIO, MAGNETON, "MAGGIE@@@@@", $96, $66, METAL_COAT, 50082, "FOREST@@@@@", TRADE_EITHER_GENDER
+ npctrade TRADE_DIALOG_COLLECTOR, ABRA, MACHOP, "MUSCLE@@@@@", $37, $66, GOLD_BERRY, 37460, "MIKE@@@@@@@", TRADE_EITHER_GENDER
+ npctrade TRADE_DIALOG_COLLECTOR, BELLSPROUT, ONIX, "ROCKY@@@@@@", $96, $66, BITTER_BERRY, 48926, "KYLE@@@@@@@", TRADE_EITHER_GENDER
+ npctrade TRADE_DIALOG_HAPPY, KRABBY, VOLTORB, "VOLTY@@@@@@", $98, $88, PRZCUREBERRY, 29189, "TIM@@@@@@@@", TRADE_EITHER_GENDER
+ npctrade TRADE_DIALOG_GIRL, DRAGONAIR, DODRIO, "DORIS@@@@@@", $77, $66, SMOKE_BALL, 00283, "EMY@@@@@@@@", TRADE_FEMALE_ONLY
+ npctrade TRADE_DIALOG_NEWBIE, HAUNTER, XATU, "PAUL@@@@@@@", $96, $86, MYSTERYBERRY, 15616, "CHRIS@@@@@@", TRADE_EITHER_GENDER
+ npctrade TRADE_DIALOG_GIRL, CHANSEY, AERODACTYL, "AEROY@@@@@@", $96, $66, GOLD_BERRY, 26491, "KIM@@@@@@@@", TRADE_EITHER_GENDER
+ npctrade TRADE_DIALOG_COLLECTOR, DUGTRIO, MAGNETON, "MAGGIE@@@@@", $96, $66, METAL_COAT, 50082, "FOREST@@@@@", TRADE_EITHER_GENDER
; fcf38
diff --git a/data/palettes/blk_packets.asm b/data/palettes/blk_packets.asm
deleted file mode 100644
index 38f68ad1d..000000000
--- a/data/palettes/blk_packets.asm
+++ /dev/null
@@ -1,40 +0,0 @@
-BlkPacket_9a86:
- db $21, $01, $03, $00, $00, $00, $13, $11, $00, $00, $00, $00, $00, $00, $00, $00
-
-BlkPacket_9a96:
- db $21, $01, $07, $05, $00, $0a, $13, $0d, $00, $00, $00, $00, $00, $00, $00, $00
-
-BlkPacket_9aa6:
- db $22, $05, $07, $0a, $00, $0c, $13, $11, $03, $05, $01, $00, $0a, $03, $03, $00
- db $0a, $08, $13, $0a, $03, $0a, $00, $04, $08, $0b, $03, $0f, $0b, $00, $13, $07
-
-BlkPacket_9ac6:
- db $21, $01, $07, $05, $00, $01, $07, $07, $00, $00, $00, $00, $00, $00, $00, $00
-
-BlkPacket_9ad6:
- db $21, $01, $07, $05, $0b, $01, $13, $02, $00, $00, $00, $00, $00, $00, $00, $00
-
-BlkPacket_9ae6:
- db $21, $01, $07, $05, $01, $01, $08, $08, $00, $00, $00, $00, $00, $00, $00, $00
-
-BlkPacket_9af6:
- db $21, $01, $07, $05, $07, $05, $0d, $0b, $00, $00, $00, $00, $00, $00, $00, $00
-
-BlkPacket_9b06:
- db $22, $05, $03, $05, $00, $00, $13, $0b, $03, $0a, $00, $04, $13, $09, $02, $0f
- db $00, $06, $13, $07, $03, $00, $04, $04, $0f, $09, $03, $00, $00, $0c, $13, $11
-
-BlkPacket_9b26:
- db $23, $07, $07, $10, $00, $00, $02, $0c, $02, $00, $0c, $00, $12, $01, $02, $00
- db $0c, $02, $12, $03, $02, $00, $0c, $04, $12, $05, $02, $00, $0c, $06, $12, $07
- db $02, $00, $0c, $08, $12, $09, $02, $00, $0c, $0a, $12, $0b, $00, $00, $00, $00
-
-BlkPacket_9b56:
- db $22, $03, $07, $20, $00, $00, $13, $04, $03, $0f, $00, $06, $13, $11, $03, $05
- db $0f, $01, $12, $04, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-BlkPacket_9b76:
- db $21, $01, $07, $10, $00, $00, $13, $05, $00, $00, $00, $00, $00, $00, $00, $00
-
-BlkPacket_9b86:
- db $21, $02, $07, $0a, $00, $04, $13, $0d, $03, $05, $00, $06, $13, $0b, $00, $00
diff --git a/data/palettes/overworld/roofs.pal b/data/palettes/overworld/roofs.pal
deleted file mode 100644
index ba65fc7d2..000000000
--- a/data/palettes/overworld/roofs.pal
+++ /dev/null
@@ -1,161 +0,0 @@
-; group 0 (unused)
- RGB 21, 21, 21
- RGB 11, 11, 11
- RGB 21, 21, 21
- RGB 11, 11, 11
-
-; group 1 (Olivine)
- RGB 14, 17, 31
- RGB 07, 11, 15
- RGB 09, 09, 17
- RGB 05, 07, 13
-
-; group 2 (Mahogany)
- RGB 12, 19, 00
- RGB 06, 10, 00
- RGB 06, 09, 07
- RGB 04, 05, 06
-
-; group 3
- RGB 21, 21, 21
- RGB 11, 11, 11
- RGB 21, 21, 21
- RGB 17, 08, 07
-
-; group 4 (Ecruteak)
- RGB 31, 19, 00
- RGB 27, 10, 05
- RGB 15, 07, 02
- RGB 11, 04, 02
-
-; group 5 (Blackthorn)
- RGB 11, 10, 16
- RGB 05, 06, 07
- RGB 03, 04, 08
- RGB 00, 00, 00
-
-; group 6 (Cinnabar)
- RGB 31, 10, 00
- RGB 18, 06, 00
- RGB 18, 05, 09
- RGB 17, 08, 07
-
-; group 7 (Cerulean)
- RGB 17, 27, 31
- RGB 05, 15, 31
- RGB 07, 08, 22
- RGB 07, 07, 16
-
-; group 8 (Azalea)
- RGB 22, 20, 10
- RGB 17, 14, 03
- RGB 11, 11, 05
- RGB 10, 09, 07
-
-; group 9 (Lake of Rage)
- RGB 31, 08, 04
- RGB 09, 09, 08
- RGB 18, 05, 09
- RGB 09, 09, 08
-
-; group 10 (Violet)
- RGB 24, 14, 31
- RGB 13, 07, 21
- RGB 12, 03, 18
- RGB 09, 03, 15
-
-; group 11 (Goldenrod)
- RGB 25, 25, 00
- RGB 20, 17, 08
- RGB 12, 12, 00
- RGB 10, 09, 05
-
-; group 12 (Vermilion)
- RGB 27, 23, 01
- RGB 23, 11, 00
- RGB 15, 11, 01
- RGB 11, 10, 01
-
-; group 13 (Pallet)
- RGB 27, 28, 31
- RGB 17, 19, 22
- RGB 14, 14, 18
- RGB 10, 09, 13
-
-; group 14 (Pewter)
- RGB 19, 19, 16
- RGB 10, 12, 15
- RGB 09, 09, 11
- RGB 04, 05, 07
-
-; group 15 (Mount Moon Square)
- RGB 14, 17, 31
- RGB 07, 11, 15
- RGB 09, 13, 19
- RGB 07, 07, 16
-
-; group 16 (Route 23)
- RGB 21, 21, 21
- RGB 13, 13, 13
- RGB 11, 11, 19
- RGB 07, 07, 12
-
-; group 17 (Fuchsia)
- RGB 31, 18, 29
- RGB 17, 13, 20
- RGB 14, 06, 12
- RGB 11, 03, 10
-
-; group 18 (Lavender)
- RGB 23, 15, 31
- RGB 16, 05, 31
- RGB 12, 07, 17
- RGB 08, 06, 10
-
-; group 19 (Route 28)
- RGB 21, 21, 25
- RGB 16, 16, 16
- RGB 13, 13, 13
- RGB 07, 07, 07
-
-; group 20
- RGB 21, 21, 21
- RGB 11, 11, 11
- RGB 21, 21, 21
- RGB 11, 11, 11
-
-; group 21 (Celadon)
- RGB 19, 31, 15
- RGB 31, 22, 02
- RGB 12, 13, 09
- RGB 09, 12, 03
-
-; group 22 (Cianwood)
- RGB 15, 10, 31
- RGB 07, 05, 15
- RGB 06, 05, 17
- RGB 02, 02, 08
-
-; group 23 (Viridian)
- RGB 21, 31, 07
- RGB 13, 25, 04
- RGB 09, 14, 08
- RGB 06, 10, 04
-
-; group 24 (New Bark)
- RGB 20, 31, 14
- RGB 11, 23, 05
- RGB 09, 13, 08
- RGB 06, 09, 04
-
-; group 25 (Saffron)
- RGB 31, 26, 00
- RGB 31, 15, 00
- RGB 13, 13, 01
- RGB 08, 08, 01
-
-; group 26 (Cherrygrove)
- RGB 31, 14, 28
- RGB 31, 05, 21
- RGB 14, 07, 17
- RGB 13, 00, 08
diff --git a/data/palettes/pal_packets.asm b/data/palettes/pal_packets.asm
deleted file mode 100644
index 57cd9e492..000000000
--- a/data/palettes/pal_packets.asm
+++ /dev/null
@@ -1,113 +0,0 @@
-PalPacket_9b96:
- db $51, $48, $00, $49, $00, $4a, $00, $4b, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9ba6:
- db $51, $2b, $00, $24, $00, $20, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9bb6:
- db $51, $41, $00, $42, $00, $43, $00, $44, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9bc6:
- db $51, $4c, $00, $4c, $00, $4c, $00, $4c, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9bd6:
- db $51, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9be6:
- db $51, $36, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9bf6:
- db $51, $37, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9c06:
- db $51, $38, $00, $39, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9c16:
- db $51, $3a, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9c26:
- db $51, $3b, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9c36:
- db $51, $3c, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9c46:
- db $51, $39, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9c56:
- db $51, $2e, $00, $2f, $00, $30, $00, $31, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9c66:
- db $51, $1a, $00, $1a, $00, $1a, $00, $1a, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9c76:
- db $51, $32, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9c86:
- db $51, $3c, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9c96:
- db $51, $3d, $00, $3e, $00, $3f, $00, $40, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9ca6:
- db $51, $33, $00, $34, $00, $1b, $00, $1f, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9cb6:
- db $51, $1b, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9cc6:
- db $51, $1c, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9cd6:
- db $51, $35, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9ce6:
- db $01, $ff, $7f, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9cf6:
- db $09, $ff, $7f, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9d06:
- db $59, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9d16:
- db $89, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9d26:
- db $89, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9d36:
- db $99, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9d46:
- db $a1, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9d56:
- db $b9, $01, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9d66:
- db $b9, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9d76:
- db $79, $5d, $08, $00, $0b, $8c, $d0, $f4, $60, $00, $00, $00, $00, $00, $00, $00
-
-PalPacket_9d86:
- db $79, $52, $08, $00, $0b, $a9, $e7, $9f, $01, $c0, $7e, $e8, $e8, $e8, $e8, $e0
-
-PalPacket_9d96:
- db $79, $47, $08, $00, $0b, $c4, $d0, $16, $a5, $cb, $c9, $05, $d0, $10, $a2, $28
-
-PalPacket_9da6:
- db $79, $3c, $08, $00, $0b, $f0, $12, $a5, $c9, $c9, $c8, $d0, $1c, $a5, $ca, $c9
-
-PalPacket_9db6:
- db $79, $31, $08, $00, $0b, $0c, $a5, $ca, $c9, $7e, $d0, $06, $a5, $cb, $c9, $7e
-
-PalPacket_9dc6:
- db $79, $26, $08, $00, $0b, $39, $cd, $48, $0c, $d0, $34, $a5, $c9, $c9, $80, $d0
-
-PalPacket_9dd6:
- db $79, $1b, $08, $00, $0b, $ea, $ea, $ea, $ea, $ea, $a9, $01, $cd, $4f, $0c, $d0
-
-PalPacket_9de6:
- db $79, $10, $08, $00, $0b, $4c, $20, $08, $ea, $ea, $ea, $ea, $ea, $60, $ea, $ea
diff --git a/data/palettes/predef.pal b/data/palettes/predef.pal
deleted file mode 100644
index 15d9000fb..000000000
--- a/data/palettes/predef.pal
+++ /dev/null
@@ -1,395 +0,0 @@
-; $00
- RGB 31, 31, 31
- RGB 22, 25, 19
- RGB 16, 21, 30
- RGB 00, 00, 00
-; $01
- RGB 31, 31, 31
- RGB 27, 28, 31
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $02
- RGB 31, 31, 31
- RGB 24, 28, 19
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $03
- RGB 31, 31, 31
- RGB 24, 24, 24
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $04
- RGB 31, 31, 31
- RGB 21, 23, 31
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $05
- RGB 31, 31, 31
- RGB 24, 21, 27
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $06
- RGB 31, 31, 31
- RGB 31, 24, 16
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $07
- RGB 31, 31, 31
- RGB 25, 30, 26
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $08
- RGB 31, 31, 31
- RGB 31, 25, 31
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $09
- RGB 31, 31, 31
- RGB 31, 20, 19
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $0a
- RGB 31, 31, 31
- RGB 31, 26, 19
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $0b
- RGB 31, 31, 31
- RGB 27, 28, 27
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $0c
- RGB 31, 31, 31
- RGB 24, 30, 23
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $0d
- RGB 31, 31, 31
- RGB 29, 24, 29
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $0e
- RGB 31, 31, 31
- RGB 26, 23, 29
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $0f
- RGB 31, 31, 31
- RGB 25, 23, 20
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $10
- RGB 31, 31, 31
- RGB 29, 26, 18
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $11
- RGB 31, 31, 31
- RGB 31, 21, 18
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $12
- RGB 31, 31, 31
- RGB 26, 25, 31
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $13
- RGB 31, 31, 31
- RGB 22, 21, 31
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $14
- RGB 31, 31, 31
- RGB 22, 25, 21
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $15
- RGB 31, 31, 31
- RGB 21, 21, 22
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $16
- RGB 31, 31, 31
- RGB 31, 20, 20
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $17
- RGB 31, 31, 31
- RGB 26, 26, 26
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $18
- RGB 31, 31, 31
- RGB 21, 14, 09
- RGB 15, 20, 20
- RGB 00, 00, 00
-; $19
- RGB 31, 31, 31
- RGB 12, 28, 22
- RGB 15, 20, 20
- RGB 00, 00, 00
-; $1a
- RGB 31, 31, 31
- RGB 07, 07, 07
- RGB 02, 03, 03
- RGB 00, 00, 00
-; $1b
- RGB 31, 31, 31
- RGB 30, 22, 17
- RGB 16, 14, 19
- RGB 00, 00, 00
-; $1c
- RGB 31, 31, 31
- RGB 18, 20, 27
- RGB 11, 15, 23
- RGB 00, 00, 00
-; $1d
- RGB 31, 31, 31
- RGB 31, 20, 10
- RGB 26, 10, 06
- RGB 00, 00, 00
-; $1e
- RGB 31, 31, 31
- RGB 21, 25, 29
- RGB 14, 19, 25
- RGB 00, 00, 00
-; $1f
- RGB 31, 31, 31
- RGB 27, 22, 24
- RGB 21, 15, 23
- RGB 00, 00, 00
-; $20
- RGB 31, 31, 31
- RGB 28, 20, 15
- RGB 21, 14, 09
- RGB 00, 00, 00
-; $21
- RGB 31, 31, 31
- RGB 20, 26, 16
- RGB 09, 20, 11
- RGB 00, 00, 00
-; $22
- RGB 31, 31, 31
- RGB 30, 22, 24
- RGB 28, 15, 21
- RGB 00, 00, 00
-; $23
- RGB 31, 31, 31
- RGB 31, 28, 14
- RGB 26, 20, 00
- RGB 00, 00, 00
-; $24
- RGB 31, 31, 31
- RGB 26, 21, 22
- RGB 15, 15, 18
- RGB 00, 00, 00
-; $25
- RGB 31, 31, 31
- RGB 23, 19, 13
- RGB 14, 12, 17
- RGB 00, 00, 00
-; $26
- RGB 31, 31, 31
- RGB 16, 18, 21
- RGB 10, 12, 18
- RGB 00, 00, 00
-; $27
- RGB 31, 31, 31
- RGB 22, 15, 16
- RGB 17, 02, 05
- RGB 00, 00, 00
-; $28
- RGB 31, 31, 31
- RGB 15, 20, 20
- RGB 05, 16, 16
- RGB 00, 00, 00
-; $29
- RGB 31, 31, 31
- RGB 23, 15, 19
- RGB 14, 04, 12
- RGB 00, 00, 00
-; $2a
- RGB 31, 31, 31
- RGB 20, 17, 18
- RGB 18, 13, 11
- RGB 00, 00, 00
-; $2b
- RGB 31, 31, 31
- RGB 23, 21, 16
- RGB 12, 12, 10
- RGB 00, 00, 00
-; $2c
- RGB 31, 31, 31
- RGB 21, 25, 29
- RGB 30, 22, 24
- RGB 00, 00, 00
-; $2d
- RGB 31, 31, 31
- RGB 26, 23, 16
- RGB 29, 14, 09
- RGB 00, 00, 00
-; $2e
- RGB 31, 31, 31
- RGB 18, 18, 18
- RGB 10, 10, 10
- RGB 00, 00, 00
-; $2f
- RGB 31, 31, 31
- RGB 30, 26, 15
- RGB 00, 23, 00
- RGB 00, 00, 00
-; $30
- RGB 31, 31, 31
- RGB 30, 26, 15
- RGB 31, 23, 00
- RGB 00, 00, 00
-; $31
- RGB 31, 31, 31
- RGB 30, 26, 15
- RGB 31, 00, 00
- RGB 00, 00, 00
-; $32
- RGB 31, 31, 31
- RGB 29, 26, 19
- RGB 27, 20, 14
- RGB 00, 00, 00
-; $33
- RGB 31, 31, 31
- RGB 24, 20, 10
- RGB 21, 00, 04
- RGB 00, 00, 00
-; $34
- RGB 31, 31, 31
- RGB 31, 20, 10
- RGB 21, 00, 04
- RGB 00, 00, 00
-; $35
- RGB 31, 31, 31
- RGB 30, 26, 16
- RGB 16, 12, 09
- RGB 00, 00, 00
-; $36
- RGB 31, 31, 31
- RGB 15, 28, 26
- RGB 12, 22, 26
- RGB 03, 16, 14
-; $37
- RGB 31, 31, 31
- RGB 15, 28, 26
- RGB 23, 24, 24
- RGB 00, 00, 00
-; $38
- RGB 31, 31, 24
- RGB 07, 27, 19
- RGB 26, 20, 10
- RGB 19, 12, 08
-; $39
- RGB 31, 31, 31
- RGB 31, 28, 14
- RGB 31, 13, 31
- RGB 00, 00, 00
-; $3a
- RGB 31, 31, 31
- RGB 16, 18, 21
- RGB 10, 12, 18
- RGB 00, 00, 00
-; $3b
- RGB 31, 31, 31
- RGB 23, 21, 16
- RGB 12, 12, 10
- RGB 00, 00, 00
-; $3c
- RGB 31, 31, 31
- RGB 31, 14, 00
- RGB 07, 11, 15
- RGB 00, 00, 00
-; $3d
- RGB 31, 31, 31
- RGB 26, 21, 22
- RGB 26, 10, 06
- RGB 00, 00, 00
-; $3e
- RGB 31, 31, 31
- RGB 30, 27, 04
- RGB 24, 20, 11
- RGB 00, 00, 00
-; $3f
- RGB 31, 31, 31
- RGB 31, 13, 25
- RGB 24, 20, 11
- RGB 00, 00, 00
-; $40
- RGB 31, 31, 31
- RGB 16, 19, 29
- RGB 24, 20, 11
- RGB 00, 00, 00
-; $41
- RGB 31, 31, 31
- RGB 30, 22, 24
- RGB 18, 18, 18
- RGB 16, 10, 07
-; $42
- RGB 31, 31, 31
- RGB 21, 25, 29
- RGB 18, 18, 18
- RGB 16, 10, 07
-; $43
- RGB 31, 31, 31
- RGB 20, 26, 16
- RGB 18, 18, 18
- RGB 16, 10, 07
-; $44
- RGB 31, 31, 31
- RGB 31, 28, 14
- RGB 18, 18, 18
- RGB 16, 10, 07
-; $45
- RGB 31, 31, 31
- RGB 18, 18, 18
- RGB 26, 10, 06
- RGB 00, 00, 00
-; $46
- RGB 31, 31, 31
- RGB 30, 22, 24
- RGB 28, 15, 21
- RGB 00, 00, 00
-; $47
- RGB 31, 31, 31
- RGB 26, 20, 00
- RGB 16, 19, 29
- RGB 00, 00, 00
-; $48
- RGB 31, 31, 31
- RGB 16, 02, 30
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $49
- RGB 31, 31, 31
- RGB 16, 13, 04
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $4a
- RGB 31, 31, 31
- RGB 28, 04, 02
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $4b
- RGB 31, 31, 31
- RGB 18, 23, 31
- RGB 15, 20, 31
- RGB 00, 00, 00
-; $4c
- RGB 31, 31, 31
- RGB 24, 20, 11
- RGB 18, 13, 11
- RGB 00, 00, 00
-; $4d
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 25, 30, 00
- RGB 25, 30, 00
-; $4e
- RGB 00, 00, 00
- RGB 08, 11, 11
- RGB 21, 21, 21
- RGB 31, 31, 31
diff --git a/data/palettes/unknown/4985a.asm b/data/palettes/unknown/4985a.asm
deleted file mode 100644
index 35f272227..000000000
--- a/data/palettes/unknown/4985a.asm
+++ /dev/null
@@ -1,15 +0,0 @@
- db $ab, $03, $57, $24, $ac, $0e, $13, $32
-
- db $be, $30, $5b, $4c, $47, $60, $ed, $f2
-
- db $ab, $03, $55, $26, $aa, $0a, $13, $3a
-
- db $be, $28, $33, $24, $6e, $71, $df, $b0
-
- db $a8, $00, $e5, $e0, $9a, $fc, $f4, $2c
-
- db $fe, $4c, $a3, $5e, $c6, $3a, $ab, $4d
-
- db $a8, $00, $b5, $b0, $de, $e8, $fc, $1c
-
- db $ba, $66, $f7, $0e, $ba, $5e, $43, $bd
diff --git a/data/party_menu_qualities.asm b/data/party_menu_qualities.asm
new file mode 100644
index 000000000..9ccc9745d
--- /dev/null
+++ b/data/party_menu_qualities.asm
@@ -0,0 +1,41 @@
+; WritePartyMenuTilemap.Jumptable indexes (see engine/party_menu.asm)
+ const_def
+ const PARTYMENUQUALITY_NICKNAMES
+ const PARTYMENUQUALITY_HP_BAR
+ const PARTYMENUQUALITY_HP_DIGITS
+ const PARTYMENUQUALITY_LEVEL
+ const PARTYMENUQUALITY_STATUS
+ const PARTYMENUQUALITY_TMHM_COMPAT
+ const PARTYMENUQUALITY_EVO_STONE_COMPAT
+ const PARTYMENUQUALITY_GENDER
+ const PARTYMENUQUALITY_MOBILE_SELECTION
+
+partymenuqualities: MACRO
+rept _NARG
+ db PARTYMENUQUALITY_\1
+shift
+endr
+ db -1 ; end
+ENDM
+
+
+PartyMenuQualityPointers: ; 503b2
+; entries correspond to PARTYMENUACTION_* constants
+ dw .Default ; PARTYMENUACTION_CHOOSE_POKEMON
+ dw .Default ; PARTYMENUACTION_HEALING_ITEM
+ dw .Default ; PARTYMENUACTION_SWITCH
+ dw .TMHM ; PARTYMENUACTION_TEACH_TMHM
+ dw .Default ; PARTYMENUACTION_MOVE
+ dw .EvoStone ; PARTYMENUACTION_EVO_STONE
+ dw .Gender ; PARTYMENUACTION_GIVE_MON
+ dw .Gender ; PARTYMENUACTION_GIVE_MON_FEMALE
+ dw .Default ; PARTYMENUACTION_GIVE_ITEM
+ dw .Mobile ; PARTYMENUACTION_MOBILE
+; 503c6
+
+.Default: partymenuqualities NICKNAMES, HP_BAR, HP_DIGITS, LEVEL, STATUS
+.TMHM: partymenuqualities NICKNAMES, TMHM_COMPAT, LEVEL, STATUS
+.EvoStone: partymenuqualities NICKNAMES, EVO_STONE_COMPAT, LEVEL, STATUS
+.Gender: partymenuqualities NICKNAMES, GENDER, LEVEL, STATUS
+.Mobile: partymenuqualities NICKNAMES, MOBILE_SELECTION, LEVEL, STATUS
+; 503e0
diff --git a/data/phone/permanent_numbers.asm b/data/phone/permanent_numbers.asm
new file mode 100644
index 000000000..a5101f2b6
--- /dev/null
+++ b/data/phone/permanent_numbers.asm
@@ -0,0 +1,5 @@
+PermanentNumbers: ; 90066
+ db PHONECONTACT_MOM
+ db PHONECONTACT_ELM
+ db -1 ; end
+; 90069
diff --git a/data/phone/phone_contacts.asm b/data/phone/phone_contacts.asm
new file mode 100644
index 000000000..bec40a12a
--- /dev/null
+++ b/data/phone/phone_contacts.asm
@@ -0,0 +1,51 @@
+phone: MACRO
+; trainer class, trainer id, map, time 1, script 1, time 2, script 2
+ db \1, \2
+ map \3
+ db \4
+ dba \5
+ db \6
+ dba \7
+ENDM
+
+PhoneContacts: ; 9045f
+; entries correspond to PHONE_* constants
+ phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
+ phone TRAINER_NONE, PHONECONTACT_MOM, KRISS_HOUSE_1F, ANYTIME, MomPhoneScript, 0, UnusedPhoneScript
+ phone TRAINER_NONE, PHONECONTACT_BIKESHOP, OAKS_LAB, 0, UnusedPhoneScript, 0, UnusedPhoneScript
+ phone TRAINER_NONE, PHONECONTACT_BILL, N_A, ANYTIME, BillPhoneScript1, 0, BillPhoneScript2
+ phone TRAINER_NONE, PHONECONTACT_ELM, ELMS_LAB, ANYTIME, ElmPhoneScript1, 0, ElmPhoneScript2
+ phone SCHOOLBOY, JACK1, NATIONAL_PARK, ANYTIME, JackPhoneScript1, ANYTIME, JackPhoneScript2
+ phone POKEFANF, BEVERLY1, NATIONAL_PARK, ANYTIME, BeverlyPhoneScript1, ANYTIME, BeverlyPhoneScript2
+ phone SAILOR, HUEY1, OLIVINE_LIGHTHOUSE_2F, ANYTIME, HueyPhoneScript1, ANYTIME, HueyPhoneScript2
+ phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
+ phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
+ phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
+ phone COOLTRAINERM, GAVEN3, ROUTE_26, ANYTIME, GavenPhoneScript1, ANYTIME, GavenPhoneScript2
+ phone COOLTRAINERF, BETH1, ROUTE_26, ANYTIME, BethPhoneScript1, ANYTIME, BethPhoneScript2
+ phone BIRD_KEEPER, JOSE2, ROUTE_27, ANYTIME, JosePhoneScript1, ANYTIME, JosePhoneScript2
+ phone COOLTRAINERF, REENA1, ROUTE_27, ANYTIME, ReenaPhoneScript1, ANYTIME, ReenaPhoneScript2
+ phone YOUNGSTER, JOEY1, ROUTE_30, ANYTIME, JoeyPhoneScript1, ANYTIME, JoeyPhoneScript2
+ phone BUG_CATCHER, WADE1, ROUTE_31, ANYTIME, WadePhoneScript1, ANYTIME, WadePhoneScript2
+ phone FISHER, RALPH1, ROUTE_32, ANYTIME, RalphPhoneScript1, ANYTIME, RalphPhoneScript2
+ phone PICNICKER, LIZ1, ROUTE_32, ANYTIME, LizPhoneScript1, ANYTIME, LizPhoneScript2
+ phone HIKER, ANTHONY2, ROUTE_33, ANYTIME, AnthonyPhoneScript1, ANYTIME, AnthonyPhoneScript2
+ phone CAMPER, TODD1, ROUTE_34, ANYTIME, ToddPhoneScript1, ANYTIME, ToddPhoneScript2
+ phone PICNICKER, GINA1, ROUTE_34, ANYTIME, GinaPhoneScript1, ANYTIME, GinaPhoneScript2
+ phone JUGGLER, IRWIN1, ROUTE_35, ANYTIME, IrwinPhoneScript1, ANYTIME, IrwinPhoneScript2
+ phone BUG_CATCHER, ARNIE1, ROUTE_35, ANYTIME, ArniePhoneScript1, ANYTIME, ArniePhoneScript2
+ phone SCHOOLBOY, ALAN1, ROUTE_36, ANYTIME, AlanPhoneScript1, ANYTIME, AlanPhoneScript2
+ phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
+ phone LASS, DANA1, ROUTE_38, ANYTIME, DanaPhoneScript1, ANYTIME, DanaPhoneScript2
+ phone SCHOOLBOY, CHAD1, ROUTE_38, ANYTIME, ChadPhoneScript1, ANYTIME, ChadPhoneScript2
+ phone POKEFANM, DEREK1, ROUTE_39, ANYTIME, DerekPhoneScript1, ANYTIME, DerekPhoneScript2
+ phone FISHER, TULLY1, ROUTE_42, ANYTIME, TullyPhoneScript1, ANYTIME, TullyPhoneScript2
+ phone POKEMANIAC, BRENT1, ROUTE_43, ANYTIME, BrentPhoneScript1, ANYTIME, BrentPhoneScript2
+ phone PICNICKER, TIFFANY3, ROUTE_43, ANYTIME, TiffanyPhoneScript1, ANYTIME, TiffanyPhoneScript2
+ phone BIRD_KEEPER, VANCE1, ROUTE_44, ANYTIME, VancePhoneScript1, ANYTIME, VancePhoneScript2
+ phone FISHER, WILTON1, ROUTE_44, ANYTIME, WiltonPhoneScript1, ANYTIME, WiltonPhoneScript2
+ phone BLACKBELT_T, KENJI3, ROUTE_45, ANYTIME, KenjiPhoneScript1, ANYTIME, KenjiPhoneScript2
+ phone HIKER, PARRY1, ROUTE_45, ANYTIME, ParryPhoneScript1, ANYTIME, ParryPhoneScript2
+ phone PICNICKER, ERIN1, ROUTE_46, ANYTIME, ErinPhoneScript1, ANYTIME, ErinPhoneScript2
+ phone TRAINER_NONE, PHONECONTACT_BUENA, GOLDENROD_DEPT_STORE_ROOF, ANYTIME, BuenaPhoneScript1, ANYTIME, BuenaPhoneScript2
+; 90627
diff --git a/data/phone_special.asm b/data/phone/special_calls.asm
index 03c27743a..03c27743a 100644
--- a/data/phone_special.asm
+++ b/data/phone/special_calls.asm
diff --git a/text/phone/alan_overworld.asm b/data/phone/text/alan_overworld.asm
index e1246037a..e1246037a 100644
--- a/text/phone/alan_overworld.asm
+++ b/data/phone/text/alan_overworld.asm
diff --git a/text/phone/anthony_overworld.asm b/data/phone/text/anthony_overworld.asm
index 71e419c42..71e419c42 100644
--- a/text/phone/anthony_overworld.asm
+++ b/data/phone/text/anthony_overworld.asm
diff --git a/text/phone/arnie_overworld.asm b/data/phone/text/arnie_overworld.asm
index 4b12bd976..4b12bd976 100644
--- a/text/phone/arnie_overworld.asm
+++ b/data/phone/text/arnie_overworld.asm
diff --git a/text/phone/beth_overworld.asm b/data/phone/text/beth_overworld.asm
index 5c23a7ab6..5c23a7ab6 100644
--- a/text/phone/beth_overworld.asm
+++ b/data/phone/text/beth_overworld.asm
diff --git a/text/phone/beverly_overworld.asm b/data/phone/text/beverly_overworld.asm
index cd4b5b4d3..cd4b5b4d3 100644
--- a/text/phone/beverly_overworld.asm
+++ b/data/phone/text/beverly_overworld.asm
diff --git a/text/phone/bill.asm b/data/phone/text/bill.asm
index 37c0cd546..2defde944 100644
--- a/text/phone/bill.asm
+++ b/data/phone/text/bill.asm
@@ -45,7 +45,7 @@ BillPhoneNotFullText: ; 0x1b452a
para "<PLAY_G>, your BOX"
line "has room for @"
text_from_ram StringBuffer3
- text ""
+ text_start
cont "more #MON."
para "Get out there and"
diff --git a/text/phone/brent_overworld.asm b/data/phone/text/brent_overworld.asm
index 0ece72091..0ece72091 100644
--- a/text/phone/brent_overworld.asm
+++ b/data/phone/text/brent_overworld.asm
diff --git a/text/phone/buena.asm b/data/phone/text/buena.asm
index 226839ee5..d3df60110 100644
--- a/text/phone/buena.asm
+++ b/data/phone/text/buena.asm
@@ -351,9 +351,9 @@ UnknownText_0xa1717: ; 0xa1717
para "that it gradually"
line "makes me drowsy…"
- para "<......> <......> <......>"
+ para "<……> <……> <……>"
- para "<......> <......> <......>Zzz"
+ para "<……> <……> <……>Zzz"
para "Oops, I drifted"
line "off just thinking"
diff --git a/text/phone/chad_overworld.asm b/data/phone/text/chad_overworld.asm
index 883baa21c..883baa21c 100644
--- a/text/phone/chad_overworld.asm
+++ b/data/phone/text/chad_overworld.asm
diff --git a/text/phone/dana_overworld.asm b/data/phone/text/dana_overworld.asm
index 099909eb6..099909eb6 100644
--- a/text/phone/dana_overworld.asm
+++ b/data/phone/text/dana_overworld.asm
diff --git a/text/phone/derek_overworld.asm b/data/phone/text/derek_overworld.asm
index 12472ec75..12472ec75 100644
--- a/text/phone/derek_overworld.asm
+++ b/data/phone/text/derek_overworld.asm
diff --git a/text/phone/elm.asm b/data/phone/text/elm.asm
index cea36061f..cea36061f 100644
--- a/text/phone/elm.asm
+++ b/data/phone/text/elm.asm
diff --git a/text/phone/erin_overworld.asm b/data/phone/text/erin_overworld.asm
index 3cfbe742e..3cfbe742e 100644
--- a/text/phone/erin_overworld.asm
+++ b/data/phone/text/erin_overworld.asm
diff --git a/text/phone/extra.asm b/data/phone/text/extra.asm
index 92ac0f508..c7c4c2dfb 100644
--- a/text/phone/extra.asm
+++ b/data/phone/text/extra.asm
@@ -491,7 +491,7 @@ UnknownText_0x64e2f: ; 0x64e2f
para "to @"
text_from_ram StringBuffer5
- text ""
+ text_start
line "and pick it up?"
done
; 0x64e90
@@ -561,7 +561,7 @@ UnknownText_0x6501c: ; 0x6501c
text "You know what?"
line "A wild @"
text_from_ram StringBuffer4
- text ""
+ text_start
para "got away from me"
line "again."
@@ -918,7 +918,7 @@ DerekCheekPincherText: ; 0x65ab2
text "Listen to this."
line "My @"
text_from_ram StringBuffer4
- text ""
+ text_start
para "grins happily when"
line "I pinch its cheek."
@@ -1497,7 +1497,7 @@ UnknownText_0x669ed: ; 0x669ed
text "But get this, a"
line "wild @"
text_from_ram StringBuffer4
- text ""
+ text_start
para "just barely eluded"
line "us."
@@ -1808,7 +1808,7 @@ UnknownText_0x6717a: ; 0x6717a
text_from_ram StringBuffer3
text "'s @"
text_from_ram StringBuffer4
- text ""
+ text_start
line "is much stronger"
cont "than before!"
done
@@ -1831,7 +1831,7 @@ UnknownText_0x671eb: ; 0x671eb
para "A wild @"
text_from_ram StringBuffer4
- text ""
+ text_start
line "got away from me"
para "again. It's just"
diff --git a/text/phone/extra2.asm b/data/phone/text/extra2.asm
index cef21f23b..f53c0ba25 100644
--- a/text/phone/extra2.asm
+++ b/data/phone/text/extra2.asm
@@ -316,7 +316,7 @@ UnknownText_0x174895: ; 0x174895
para "in @"
text_from_ram StringBuffer5
- text ""
+ text_start
line "when you can."
done
; 0x1748ea
@@ -372,7 +372,7 @@ UnknownText_0x1749c7: ; 0x1749c7
GavenGreaterText: ; 0x174a24
text "My @"
text_from_ram StringBuffer4
- text ""
+ text_start
line "might be greater"
cont "than I imagined."
@@ -485,7 +485,7 @@ UnknownText_0x174cf6: ; 0x174cf6
text "Oh, have you ever"
line "seen a @"
text_from_ram StringBuffer4
- text ""
+ text_start
cont "before?"
para "I just battled"
@@ -823,7 +823,7 @@ UnknownText_0x175591: ; 0x175591
text "Oh yeah, I took"
line "down a @"
text_from_ram StringBuffer4
- text ""
+ text_start
para "in the wild the"
line "other day."
@@ -927,7 +927,7 @@ UnknownText_0x175869: ; 0x175869
text "Oh yeah, we KO'd a"
line "wild @"
text_from_ram StringBuffer4
- text ""
+ text_start
para "with one hit a"
line "while back."
@@ -1549,7 +1549,7 @@ UnknownText_0x176aef: ; 0x176aef
para "wild @"
text_from_ram StringBuffer4
- text ""
+ text_start
line "quite often."
para "They're easily"
@@ -1605,20 +1605,20 @@ UnknownText_0x176c61: ; 0x176c61
para "I took a hike in"
line "@"
text_from_ram StringBuffer5
- text ""
+ text_start
cont "yesterday, see?"
para "Well, there were"
line "tons of @"
text_from_ram StringBuffer4
- text ""
+ text_start
para "around! You have"
line "to see it!"
para "I get this feeling"
line "that @"
text_from_ram StringBuffer4
- text ""
+ text_start
para "may be timid."
line "I didn't see any"
diff --git a/text/phone/gaven_overworld.asm b/data/phone/text/gaven_overworld.asm
index 501aa0e79..501aa0e79 100644
--- a/text/phone/gaven_overworld.asm
+++ b/data/phone/text/gaven_overworld.asm
diff --git a/text/phone/gina_overworld.asm b/data/phone/text/gina_overworld.asm
index 559e7fc5b..559e7fc5b 100644
--- a/text/phone/gina_overworld.asm
+++ b/data/phone/text/gina_overworld.asm
diff --git a/text/phone/huey_overworld.asm b/data/phone/text/huey_overworld.asm
index 4629f8022..4629f8022 100644
--- a/text/phone/huey_overworld.asm
+++ b/data/phone/text/huey_overworld.asm
diff --git a/text/phone/irwin_overworld.asm b/data/phone/text/irwin_overworld.asm
index 530ad94dd..530ad94dd 100644
--- a/text/phone/irwin_overworld.asm
+++ b/data/phone/text/irwin_overworld.asm
diff --git a/text/phone/jack_overworld.asm b/data/phone/text/jack_overworld.asm
index 3cef012c3..3cef012c3 100644
--- a/text/phone/jack_overworld.asm
+++ b/data/phone/text/jack_overworld.asm
diff --git a/text/phone/joey_overworld.asm b/data/phone/text/joey_overworld.asm
index cb7c5934d..cb7c5934d 100644
--- a/text/phone/joey_overworld.asm
+++ b/data/phone/text/joey_overworld.asm
diff --git a/text/phone/jose_overworld.asm b/data/phone/text/jose_overworld.asm
index 05e50172c..b266f18cd 100644
--- a/text/phone/jose_overworld.asm
+++ b/data/phone/text/jose_overworld.asm
@@ -1,7 +1,7 @@
JoseAskNumber1Text:
text "If my @"
text_from_ram StringBuffer4
- text ""
+ text_start
line "sees anything"
para "pretty, it goes"
diff --git a/text/phone/kenji_overworld.asm b/data/phone/text/kenji_overworld.asm
index a3206b946..a3206b946 100644
--- a/text/phone/kenji_overworld.asm
+++ b/data/phone/text/kenji_overworld.asm
diff --git a/text/phone/liz_overworld.asm b/data/phone/text/liz_overworld.asm
index cd840b5f8..cd840b5f8 100644
--- a/text/phone/liz_overworld.asm
+++ b/data/phone/text/liz_overworld.asm
diff --git a/text/phone/mom.asm b/data/phone/text/mom.asm
index 249b5c01d..da7df47de 100644
--- a/text/phone/mom.asm
+++ b/data/phone/text/mom.asm
@@ -14,7 +14,7 @@ MomPhoneLandmarkText: ; 0x1b4021
para "Isn't that where"
line "@"
text_from_ram StringBuffer4
- text ""
+ text_start
para "is? Did you go"
line "take a look?"
done
diff --git a/text/phone/parry_overworld.asm b/data/phone/text/parry_overworld.asm
index 6286aa272..6286aa272 100644
--- a/text/phone/parry_overworld.asm
+++ b/data/phone/text/parry_overworld.asm
diff --git a/text/phone/ralph_overworld.asm b/data/phone/text/ralph_overworld.asm
index 6c737cdf1..6c737cdf1 100644
--- a/text/phone/ralph_overworld.asm
+++ b/data/phone/text/ralph_overworld.asm
diff --git a/text/phone/reena_overworld.asm b/data/phone/text/reena_overworld.asm
index 04bf42c9a..04bf42c9a 100644
--- a/text/phone/reena_overworld.asm
+++ b/data/phone/text/reena_overworld.asm
diff --git a/text/phone/tiffany_overworld.asm b/data/phone/text/tiffany_overworld.asm
index a03173dfa..a03173dfa 100644
--- a/text/phone/tiffany_overworld.asm
+++ b/data/phone/text/tiffany_overworld.asm
diff --git a/text/phone/todd_overworld.asm b/data/phone/text/todd_overworld.asm
index 6b4e9dd4c..6b4e9dd4c 100644
--- a/text/phone/todd_overworld.asm
+++ b/data/phone/text/todd_overworld.asm
diff --git a/text/phone/trainers1.asm b/data/phone/text/trainers1.asm
index 29080f114..8768b9295 100644
--- a/text/phone/trainers1.asm
+++ b/data/phone/text/trainers1.asm
@@ -308,8 +308,10 @@ UnknownText_0x1b53f7: ; 0x1b53f7
line "@"
text_from_ram StringBuffer3
text "."
+
para "Oh, <PLAY_G>."
line "Good morning."
+
para ""
done
@@ -739,7 +741,7 @@ UnknownText_0x1b5d51: ; 0x1b5d51
UnknownText_0x1b5d9f: ; 0x1b5d9f
text "Hello, @"
text_from_ram StringBuffer3
- text ""
+ text_start
line "speaking."
para "Oh, <PLAY_G>."
@@ -749,7 +751,7 @@ UnknownText_0x1b5d9f: ; 0x1b5d9f
UnknownText_0x1b5dcc: ; 0x1b5dcc
text "Hello, @"
text_from_ram StringBuffer3
- text ""
+ text_start
line "speaking."
para "Oh, <PLAY_G>."
@@ -759,7 +761,7 @@ UnknownText_0x1b5dcc: ; 0x1b5dcc
UnknownText_0x1b5df8: ; 0x1b5df8
text "Hello, @"
text_from_ram StringBuffer3
- text ""
+ text_start
line "speaking."
para "Oh, <PLAY_G>."
@@ -852,7 +854,7 @@ UnknownText_0x1b5ff6: ; 0x1b5ff6
para "This is @"
text_from_ram StringBuffer3
- text ""
+ text_start
line "the HIKER!"
done
@@ -862,7 +864,7 @@ UnknownText_0x1b6017: ; 0x1b6017
para "This is @"
text_from_ram StringBuffer3
- text ""
+ text_start
line "the HIKER!"
done
@@ -872,7 +874,7 @@ UnknownText_0x1b6041: ; 0x1b6041
para "This is @"
text_from_ram StringBuffer3
- text ""
+ text_start
line "the HIKER!"
done
@@ -1033,7 +1035,7 @@ UnknownText_0x1b6352: ; 0x1b6352
UnknownText_0x1b638c: ; 0x1b638c
text "Hello? @"
text_from_ram StringBuffer3
- text ""
+ text_start
line "here…"
para "Hey, <PLAY_G>!"
@@ -1042,7 +1044,7 @@ UnknownText_0x1b638c: ; 0x1b638c
UnknownText_0x1b63a8: ; 0x1b63a8
text "Hello? @"
text_from_ram StringBuffer3
- text ""
+ text_start
line "here…"
para "Wow, <PLAY_G>!"
@@ -1051,7 +1053,7 @@ UnknownText_0x1b63a8: ; 0x1b63a8
UnknownText_0x1b63c4: ; 0x1b63c4
text "Hello? @"
text_from_ram StringBuffer3
- text ""
+ text_start
line "here…"
para "Yippee, <PLAY_G>!"
@@ -1563,7 +1565,7 @@ UnknownText_0x1b6db9: ; 0x1b6db9
para "Heh, my @"
text_from_ram StringBuffer4
- text ""
+ text_start
line "is so tough, it"
para "doesn't need to go"
@@ -1722,7 +1724,7 @@ UnknownText_0x1b7161: ; 0x1b7161
para "My @"
text_from_ram StringBuffer4
- text ""
+ text_start
line "looks like it will"
para "get tough enough"
diff --git a/text/phone/tully_overworld.asm b/data/phone/text/tully_overworld.asm
index 48d41ba7c..48d41ba7c 100644
--- a/text/phone/tully_overworld.asm
+++ b/data/phone/text/tully_overworld.asm
diff --git a/text/phone/vance_overworld.asm b/data/phone/text/vance_overworld.asm
index b01907d36..b01907d36 100644
--- a/text/phone/vance_overworld.asm
+++ b/data/phone/text/vance_overworld.asm
diff --git a/text/phone/wade_overworld.asm b/data/phone/text/wade_overworld.asm
index 7b0b96009..7b0b96009 100644
--- a/text/phone/wade_overworld.asm
+++ b/data/phone/text/wade_overworld.asm
diff --git a/text/phone/wilton_overworld.asm b/data/phone/text/wilton_overworld.asm
index a6e43ffb4..a6e43ffb4 100644
--- a/text/phone/wilton_overworld.asm
+++ b/data/phone/text/wilton_overworld.asm
diff --git a/data/phone_contacts.asm b/data/phone_contacts.asm
deleted file mode 100644
index cfeaad8a1..000000000
--- a/data/phone_contacts.asm
+++ /dev/null
@@ -1,51 +0,0 @@
-phone: MACRO
-; trainer class, trainer id, map, ?, script 1, ?, script 2
- db \1, \2
- map \3
- db \4
- dba \5
- db \6
- dba \7
-ENDM
-
-PhoneContacts: ; 9045f
-; entries correspond to PHONE_* constants
- phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone TRAINER_NONE, PHONECONTACT_MOM, KRISS_HOUSE_1F, 7, MomPhoneScript, 0, UnusedPhoneScript
- phone TRAINER_NONE, PHONECONTACT_BIKESHOP, OAKS_LAB, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone TRAINER_NONE, PHONECONTACT_BILL, N_A, 7, BillPhoneScript1, 0, BillPhoneScript2
- phone TRAINER_NONE, PHONECONTACT_ELM, ELMS_LAB, 7, ElmPhoneScript1, 0, ElmPhoneScript2
- phone SCHOOLBOY, JACK1, NATIONAL_PARK, 7, JackPhoneScript1, 7, JackPhoneScript2
- phone POKEFANF, BEVERLY1, NATIONAL_PARK, 7, BeverlyPhoneScript1, 7, BeverlyPhoneScript2
- phone SAILOR, HUEY1, OLIVINE_LIGHTHOUSE_2F, 7, HueyPhoneScript1, 7, HueyPhoneScript2
- phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone COOLTRAINERM, GAVEN3, ROUTE_26, 7, GavenPhoneScript1, 7, GavenPhoneScript2
- phone COOLTRAINERF, BETH1, ROUTE_26, 7, BethPhoneScript1, 7, BethPhoneScript2
- phone BIRD_KEEPER, JOSE2, ROUTE_27, 7, JosePhoneScript1, 7, JosePhoneScript2
- phone COOLTRAINERF, REENA1, ROUTE_27, 7, ReenaPhoneScript1, 7, ReenaPhoneScript2
- phone YOUNGSTER, JOEY1, ROUTE_30, 7, JoeyPhoneScript1, 7, JoeyPhoneScript2
- phone BUG_CATCHER, WADE1, ROUTE_31, 7, WadePhoneScript1, 7, WadePhoneScript2
- phone FISHER, RALPH1, ROUTE_32, 7, RalphPhoneScript1, 7, RalphPhoneScript2
- phone PICNICKER, LIZ1, ROUTE_32, 7, LizPhoneScript1, 7, LizPhoneScript2
- phone HIKER, ANTHONY2, ROUTE_33, 7, AnthonyPhoneScript1, 7, AnthonyPhoneScript2
- phone CAMPER, TODD1, ROUTE_34, 7, ToddPhoneScript1, 7, ToddPhoneScript2
- phone PICNICKER, GINA1, ROUTE_34, 7, GinaPhoneScript1, 7, GinaPhoneScript2
- phone JUGGLER, IRWIN1, ROUTE_35, 7, IrwinPhoneScript1, 7, IrwinPhoneScript2
- phone BUG_CATCHER, ARNIE1, ROUTE_35, 7, ArniePhoneScript1, 7, ArniePhoneScript2
- phone SCHOOLBOY, ALAN1, ROUTE_36, 7, AlanPhoneScript1, 7, AlanPhoneScript2
- phone TRAINER_NONE, PHONE_00, N_A, 0, UnusedPhoneScript, 0, UnusedPhoneScript
- phone LASS, DANA1, ROUTE_38, 7, DanaPhoneScript1, 7, DanaPhoneScript2
- phone SCHOOLBOY, CHAD1, ROUTE_38, 7, ChadPhoneScript1, 7, ChadPhoneScript2
- phone POKEFANM, DEREK1, ROUTE_39, 7, DerekPhoneScript1, 7, DerekPhoneScript2
- phone FISHER, TULLY1, ROUTE_42, 7, TullyPhoneScript1, 7, TullyPhoneScript2
- phone POKEMANIAC, BRENT1, ROUTE_43, 7, BrentPhoneScript1, 7, BrentPhoneScript2
- phone PICNICKER, TIFFANY3, ROUTE_43, 7, TiffanyPhoneScript1, 7, TiffanyPhoneScript2
- phone BIRD_KEEPER, VANCE1, ROUTE_44, 7, VancePhoneScript1, 7, VancePhoneScript2
- phone FISHER, WILTON1, ROUTE_44, 7, WiltonPhoneScript1, 7, WiltonPhoneScript2
- phone BLACKBELT_T, KENJI3, ROUTE_45, 7, KenjiPhoneScript1, 7, KenjiPhoneScript2
- phone HIKER, PARRY1, ROUTE_45, 7, ParryPhoneScript1, 7, ParryPhoneScript2
- phone PICNICKER, ERIN1, ROUTE_46, 7, ErinPhoneScript1, 7, ErinPhoneScript2
- phone TRAINER_NONE, PHONECONTACT_BUENA, GOLDENROD_DEPT_STORE_ROOF, 7, BuenaPhoneScript1, 7, BuenaPhoneScript2
-; 90627
diff --git a/data/default_names.asm b/data/player_names.asm
index 87c341652..04eac7508 100644
--- a/data/default_names.asm
+++ b/data/player_names.asm
@@ -1,13 +1,12 @@
-ChrisNameMenuHeader: ; 882b5
- db $40 ; flags
- db 00, 00 ; start coords
- db 11, 10 ; end coords
+ChrisNameMenuDataHeader: ; 882b5
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, 10, TEXTBOX_Y - 1
dw .MaleNames
db 1 ; ????
db 0 ; default option
.MaleNames: ; 882be
- db $91 ; flags
+ db STATICMENU_CURSOR | STATICMENU_PLACE_TITLE | STATICMENU_DISABLE_B ; flags
db 5 ; items
db "NEW NAME@"
MalePlayerNameArray: ; 882c9
@@ -18,16 +17,15 @@ MalePlayerNameArray: ; 882c9
db 2 ; displacement
db " NAME @" ; title
-KrisNameMenuHeader: ; 882e5
- db $40 ; flags
- db 00, 00 ; start coords
- db 11, 10 ; end coords
+KrisNameMenuDataHeader: ; 882e5
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, 10, TEXTBOX_Y - 1
dw .FemaleNames
db 1 ; ????
db 0 ; default option
.FemaleNames: ; 882ee
- db $91 ; flags
+ db STATICMENU_CURSOR | STATICMENU_PLACE_TITLE | STATICMENU_DISABLE_B ; flags
db 5 ; items
db "NEW NAME@"
FemalePlayerNameArray: ; 882f9
diff --git a/data/pokemon/base_stats.asm b/data/pokemon/base_stats.asm
index 8a6435a40..27f9174e5 100644
--- a/data/pokemon/base_stats.asm
+++ b/data/pokemon/base_stats.asm
@@ -1,3 +1,36 @@
+tmhm: MACRO
+; used in data/pokemon/base_stats/*.asm
+tms1 = 0 ; TM01-TM24 (24)
+tms2 = 0 ; TM25-TM48 (24)
+tms3 = 0 ; TM49-TM50 + HM01-HM07 + MT01-MT03 (12/24)
+rept _NARG
+ if DEF(\1_TMNUM)
+ if \1_TMNUM < 24 + 1
+tms1 = tms1 | (1 << ((\1_TMNUM) - 1))
+ elif \1_TMNUM < 48 + 1
+tms2 = tms2 | (1 << ((\1_TMNUM) - 1 - 24))
+ else
+tms3 = tms3 | (1 << ((\1_TMNUM) - 1 - 48))
+ endc
+ else
+ fail "\1 is not a TM, HM, or move tutor move"
+ endc
+ shift
+endr
+rept 3 ; TM01-TM24 (24/24)
+ db tms1 & $ff
+tms1 = tms1 >> 8
+endr
+rept 3 ; TM25-TM48 (24/24)
+ db tms2 & $ff
+tms2 = tms2 >> 8
+endr
+rept 2 ; TM49-TM50 + HM01-HM07 + MT01-MT03 (12/16)
+ db tms3 & $ff
+tms3 = tms3 >> 8
+endr
+ENDM
+
BaseData::
INCLUDE "data/pokemon/base_stats/bulbasaur.asm"
INCLUDE "data/pokemon/base_stats/ivysaur.asm"
diff --git a/data/pokemon/dex_entries.asm b/data/pokemon/dex_entries.asm
index 92b9c6b06..7381a4262 100644
--- a/data/pokemon/dex_entries.asm
+++ b/data/pokemon/dex_entries.asm
@@ -1,4 +1,4 @@
-INCLUDE "includes.asm"
+INCLUDE "constants.asm"
SECTION "Pokedex Entries 001-064", ROMX
diff --git a/data/pokemon/egg_moves.asm b/data/pokemon/egg_moves.asm
index 52d244c39..886c47349 100644
--- a/data/pokemon/egg_moves.asm
+++ b/data/pokemon/egg_moves.asm
@@ -1,4 +1,4 @@
-INCLUDE "includes.asm"
+INCLUDE "constants.asm"
SECTION "Egg Moves", ROMX
@@ -26,7 +26,7 @@ if !_CRYSTAL
endc
db RAZOR_WIND
db PETAL_DANCE
- db $ff
+ db -1 ; end
CharmanderEggMoves:
db BELLY_DRUM
@@ -35,7 +35,7 @@ CharmanderEggMoves:
db BITE
db OUTRAGE
db BEAT_UP
- db $ff
+ db -1 ; end
SquirtleEggMoves:
db MIRROR_COAT
@@ -44,7 +44,7 @@ SquirtleEggMoves:
db CONFUSION
db FORESIGHT
db FLAIL
- db $ff
+ db -1 ; end
PidgeyEggMoves:
db PURSUIT
@@ -53,7 +53,7 @@ PidgeyEggMoves:
if !_CRYSTAL
db STEEL_WING
endc
- db $ff
+ db -1 ; end
RattataEggMoves:
db SCREECH
@@ -62,7 +62,7 @@ RattataEggMoves:
db BITE
db COUNTER
db REVERSAL
- db $ff
+ db -1 ; end
SpearowEggMoves:
db FAINT_ATTACK
@@ -70,7 +70,7 @@ SpearowEggMoves:
db SCARY_FACE
db QUICK_ATTACK
db TRI_ATTACK
- db $ff
+ db -1 ; end
EkansEggMoves:
db PURSUIT
@@ -80,7 +80,7 @@ EkansEggMoves:
if _CRYSTAL
db CRUNCH
endc
- db $ff
+ db -1 ; end
SandshrewEggMoves:
db FLAIL
@@ -90,7 +90,7 @@ SandshrewEggMoves:
if _CRYSTAL
db METAL_CLAW
endc
- db $ff
+ db -1 ; end
NidoranFEggMoves:
db SUPERSONIC
@@ -100,7 +100,7 @@ NidoranFEggMoves:
db CHARM
db COUNTER
db BEAT_UP
- db $ff
+ db -1 ; end
NidoranMEggMoves:
db SUPERSONIC
@@ -110,7 +110,7 @@ NidoranMEggMoves:
db AMNESIA
db COUNTER
db BEAT_UP
- db $ff
+ db -1 ; end
VulpixEggMoves:
db FAINT_ATTACK
@@ -118,7 +118,7 @@ VulpixEggMoves:
db FLAIL
db SPITE
db DISABLE
- db $ff
+ db -1 ; end
ZubatEggMoves:
db QUICK_ATTACK
@@ -126,7 +126,7 @@ ZubatEggMoves:
db FAINT_ATTACK
db GUST
db WHIRLWIND
- db $ff
+ db -1 ; end
OddishEggMoves:
db SWORDS_DANCE
@@ -136,7 +136,7 @@ OddishEggMoves:
if !_CRYSTAL
db CHARM
endc
- db $ff
+ db -1 ; end
ParasEggMoves:
db FALSE_SWIPE
@@ -149,13 +149,13 @@ if !_CRYSTAL
endc
db LIGHT_SCREEN
db PURSUIT
- db $ff
+ db -1 ; end
VenonatEggMoves:
db BATON_PASS
db SCREECH
db GIGA_DRAIN
- db $ff
+ db -1 ; end
DiglettEggMoves:
db FAINT_ATTACK
@@ -163,14 +163,14 @@ DiglettEggMoves:
db ANCIENTPOWER
db PURSUIT
db BEAT_UP
- db $ff
+ db -1 ; end
MeowthEggMoves:
db SPITE
db CHARM
db HYPNOSIS
db AMNESIA
- db $ff
+ db -1 ; end
PsyduckEggMoves:
db ICE_BEAM
@@ -183,7 +183,7 @@ PsyduckEggMoves:
if _CRYSTAL
db CROSS_CHOP
endc
- db $ff
+ db -1 ; end
MankeyEggMoves:
db ROCK_SLIDE
@@ -192,7 +192,7 @@ MankeyEggMoves:
db COUNTER
db REVERSAL
db BEAT_UP
- db $ff
+ db -1 ; end
GrowlitheEggMoves:
db BODY_SLAM
@@ -200,7 +200,7 @@ GrowlitheEggMoves:
db CRUNCH
db THRASH
db FIRE_SPIN
- db $ff
+ db -1 ; end
PoliwagEggMoves:
db MIST
@@ -208,20 +208,20 @@ PoliwagEggMoves:
db BUBBLEBEAM
db HAZE
db MIND_READER
- db $ff
+ db -1 ; end
AbraEggMoves:
db LIGHT_SCREEN
db ENCORE
db BARRIER
- db $ff
+ db -1 ; end
MachopEggMoves:
db LIGHT_SCREEN
db MEDITATE
db ROLLING_KICK
db ENCORE
- db $ff
+ db -1 ; end
BellsproutEggMoves:
db SWORDS_DANCE
@@ -229,7 +229,7 @@ BellsproutEggMoves:
db REFLECT
db SYNTHESIS
db LEECH_LIFE
- db $ff
+ db -1 ; end
TentacoolEggMoves:
db AURORA_BEAM
@@ -237,12 +237,12 @@ TentacoolEggMoves:
db RAPID_SPIN
db HAZE
db SAFEGUARD
- db $ff
+ db -1 ; end
GeodudeEggMoves:
db MEGA_PUNCH
db ROCK_SLIDE
- db $ff
+ db -1 ; end
PonytaEggMoves:
db FLAME_WHEEL
@@ -251,14 +251,14 @@ PonytaEggMoves:
db HYPNOSIS
db CHARM
db QUICK_ATTACK
- db $ff
+ db -1 ; end
SlowpokeEggMoves:
db SAFEGUARD
db BELLY_DRUM
db FUTURE_SIGHT
db STOMP
- db $ff
+ db -1 ; end
FarfetchDEggMoves:
if !_CRYSTAL
@@ -269,7 +269,7 @@ endc
db GUST
db QUICK_ATTACK
db FLAIL
- db $ff
+ db -1 ; end
DoduoEggMoves:
db QUICK_ATTACK
@@ -277,7 +277,7 @@ DoduoEggMoves:
db HAZE
db FAINT_ATTACK
db FLAIL
- db $ff
+ db -1 ; end
SeelEggMoves:
db LICK
@@ -286,13 +286,13 @@ SeelEggMoves:
db PECK
db SLAM
db ENCORE
- db $ff
+ db -1 ; end
GrimerEggMoves:
db HAZE
db MEAN_LOOK
db LICK
- db $ff
+ db -1 ; end
ShellderEggMoves:
db BUBBLEBEAM
@@ -300,23 +300,23 @@ ShellderEggMoves:
db BARRIER
db RAPID_SPIN
db SCREECH
- db $ff
+ db -1 ; end
GastlyEggMoves:
db PSYWAVE
db PERISH_SONG
db HAZE
- db $ff
+ db -1 ; end
OnixEggMoves:
db ROCK_SLIDE
db FLAIL
- db $ff
+ db -1 ; end
DrowzeeEggMoves:
db LIGHT_SCREEN
db BARRIER
- db $ff
+ db -1 ; end
KrabbyEggMoves:
db DIG
@@ -324,7 +324,7 @@ KrabbyEggMoves:
db AMNESIA
db FLAIL
db SLAM
- db $ff
+ db -1 ; end
ExeggcuteEggMoves:
db SYNTHESIS
@@ -332,7 +332,7 @@ ExeggcuteEggMoves:
db REFLECT
db MEGA_DRAIN
db ANCIENTPOWER
- db $ff
+ db -1 ; end
CuboneEggMoves:
db ROCK_SLIDE
@@ -344,13 +344,13 @@ CuboneEggMoves:
if _CRYSTAL
db SWORDS_DANCE
endc
- db $ff
+ db -1 ; end
LickitungEggMoves:
db BELLY_DRUM
db MAGNITUDE
db BODY_SLAM
- db $ff
+ db -1 ; end
KoffingEggMoves:
db SCREECH
@@ -358,7 +358,7 @@ KoffingEggMoves:
db PSYBEAM
db DESTINY_BOND
db PAIN_SPLIT
- db $ff
+ db -1 ; end
RhyhornEggMoves:
db CRUNCH
@@ -368,13 +368,13 @@ RhyhornEggMoves:
db PURSUIT
db COUNTER
db MAGNITUDE
- db $ff
+ db -1 ; end
ChanseyEggMoves:
db PRESENT
db METRONOME
db HEAL_BELL
- db $ff
+ db -1 ; end
TangelaEggMoves:
db FLAIL
@@ -382,7 +382,7 @@ TangelaEggMoves:
db MEGA_DRAIN
db REFLECT
db AMNESIA
- db $ff
+ db -1 ; end
KangaskhanEggMoves:
db STOMP
@@ -390,7 +390,7 @@ KangaskhanEggMoves:
db FOCUS_ENERGY
db SAFEGUARD
db DISABLE
- db $ff
+ db -1 ; end
HorseaEggMoves:
db FLAIL
@@ -399,27 +399,27 @@ HorseaEggMoves:
db DISABLE
db SPLASH
db DRAGON_RAGE
- db $ff
+ db -1 ; end
GoldeenEggMoves:
db PSYBEAM
db HAZE
db HYDRO_PUMP
- db $ff
+ db -1 ; end
if !_CRYSTAL
StaryuEggMoves:
db AURORA_BEAM
db BARRIER
db SUPERSONIC
- db $ff
+ db -1 ; end
endc
MrMimeEggMoves:
db FUTURE_SIGHT
db HYPNOSIS
db MIMIC
- db $ff
+ db -1 ; end
ScytherEggMoves:
db COUNTER
@@ -428,22 +428,22 @@ ScytherEggMoves:
db RAZOR_WIND
db REVERSAL
db LIGHT_SCREEN
- db $ff
+ db -1 ; end
PinsirEggMoves:
db FURY_ATTACK
db FLAIL
- db $ff
+ db -1 ; end
LaprasEggMoves:
db AURORA_BEAM
db FORESIGHT
- db $ff
+ db -1 ; end
EeveeEggMoves:
db FLAIL
db CHARM
- db $ff
+ db -1 ; end
OmanyteEggMoves:
db BUBBLEBEAM
@@ -451,7 +451,7 @@ OmanyteEggMoves:
db SLAM
db SUPERSONIC
db HAZE
- db $ff
+ db -1 ; end
KabutoEggMoves:
db BUBBLEBEAM
@@ -459,7 +459,7 @@ KabutoEggMoves:
db RAPID_SPIN
db DIG
db FLAIL
- db $ff
+ db -1 ; end
AerodactylEggMoves:
db WHIRLWIND
@@ -468,21 +468,21 @@ AerodactylEggMoves:
if !_CRYSTAL
db STEEL_WING
endc
- db $ff
+ db -1 ; end
SnorlaxEggMoves:
db LICK
if !_CRYSTAL
db CHARM
endc
- db $ff
+ db -1 ; end
DratiniEggMoves:
db LIGHT_SCREEN
db MIST
db HAZE
db SUPERSONIC
- db $ff
+ db -1 ; end
ChikoritaEggMoves:
db VINE_WHIP
@@ -491,7 +491,7 @@ ChikoritaEggMoves:
db ANCIENTPOWER
db FLAIL
db SWORDS_DANCE
- db $ff
+ db -1 ; end
CyndaquilEggMoves:
db FURY_SWIPES
@@ -502,7 +502,7 @@ CyndaquilEggMoves:
if _CRYSTAL
db SUBMISSION
endc
- db $ff
+ db -1 ; end
TotodileEggMoves:
db CRUNCH
@@ -511,7 +511,7 @@ TotodileEggMoves:
db ANCIENTPOWER
db RAZOR_WIND
db ROCK_SLIDE
- db $ff
+ db -1 ; end
SentretEggMoves:
db DOUBLE_EDGE
@@ -519,7 +519,7 @@ SentretEggMoves:
db SLASH
db FOCUS_ENERGY
db REVERSAL
- db $ff
+ db -1 ; end
HoothootEggMoves:
db MIRROR_MOVE
@@ -530,13 +530,13 @@ HoothootEggMoves:
if _CRYSTAL
db SKY_ATTACK
endc
- db $ff
+ db -1 ; end
LedybaEggMoves:
db PSYBEAM
db BIDE
db LIGHT_SCREEN
- db $ff
+ db -1 ; end
SpinarakEggMoves:
db PSYBEAM
@@ -544,13 +544,13 @@ SpinarakEggMoves:
db SONICBOOM
db BATON_PASS
db PURSUIT
- db $ff
+ db -1 ; end
ChinchouEggMoves:
db FLAIL
db SUPERSONIC
db SCREECH
- db $ff
+ db -1 ; end
PichuEggMoves:
db REVERSAL
@@ -558,7 +558,7 @@ PichuEggMoves:
db PRESENT
db ENCORE
db DOUBLESLAP
- db $ff
+ db -1 ; end
CleffaEggMoves:
db PRESENT
@@ -567,13 +567,13 @@ CleffaEggMoves:
db BELLY_DRUM
db SPLASH
db MIMIC
- db $ff
+ db -1 ; end
IgglybuffEggMoves:
db PERISH_SONG
db PRESENT
db FAINT_ATTACK
- db $ff
+ db -1 ; end
TogepiEggMoves:
db PRESENT
@@ -581,7 +581,7 @@ TogepiEggMoves:
db PECK
db FORESIGHT
db FUTURE_SIGHT
- db $ff
+ db -1 ; end
NatuEggMoves:
db HAZE
@@ -589,7 +589,7 @@ NatuEggMoves:
db QUICK_ATTACK
db FAINT_ATTACK
db STEEL_WING
- db $ff
+ db -1 ; end
MareepEggMoves:
db THUNDERBOLT
@@ -598,7 +598,7 @@ MareepEggMoves:
db SAFEGUARD
db SCREECH
db REFLECT
- db $ff
+ db -1 ; end
MarillEggMoves:
db LIGHT_SCREEN
@@ -609,11 +609,11 @@ MarillEggMoves:
db PERISH_SONG
db SUPERSONIC
db FORESIGHT
- db $ff
+ db -1 ; end
SudowoodoEggMoves:
db SELFDESTRUCT
- db $ff
+ db -1 ; end
HoppipEggMoves:
db CONFUSION
@@ -623,7 +623,7 @@ HoppipEggMoves:
db REFLECT
db AMNESIA
db PAY_DAY
- db $ff
+ db -1 ; end
AipomEggMoves:
db COUNTER
@@ -634,19 +634,19 @@ AipomEggMoves:
db SLAM
db DOUBLESLAP
db BEAT_UP
- db $ff
+ db -1 ; end
YanmaEggMoves:
db WHIRLWIND
db REVERSAL
db LEECH_LIFE
- db $ff
+ db -1 ; end
WooperEggMoves:
db BODY_SLAM
db ANCIENTPOWER
db SAFEGUARD
- db $ff
+ db -1 ; end
MurkrowEggMoves:
db WHIRLWIND
@@ -657,12 +657,12 @@ MurkrowEggMoves:
if _CRYSTAL
db SKY_ATTACK
endc
- db $ff
+ db -1 ; end
MisdreavusEggMoves:
db SCREECH
db DESTINY_BOND
- db $ff
+ db -1 ; end
GirafarigEggMoves:
db TAKE_DOWN
@@ -670,14 +670,14 @@ GirafarigEggMoves:
db FORESIGHT
db FUTURE_SIGHT
db BEAT_UP
- db $ff
+ db -1 ; end
PinecoEggMoves:
db REFLECT
db PIN_MISSILE
db FLAIL
db SWIFT
- db $ff
+ db -1 ; end
DunsparceEggMoves:
db BIDE
@@ -685,14 +685,14 @@ DunsparceEggMoves:
db ROCK_SLIDE
db BITE
db RAGE
- db $ff
+ db -1 ; end
GligarEggMoves:
db METAL_CLAW
db WING_ATTACK
db RAZOR_WIND
db COUNTER
- db $ff
+ db -1 ; end
SnubbullEggMoves:
db METRONOME
@@ -703,24 +703,24 @@ SnubbullEggMoves:
db HEAL_BELL
db LICK
db LEER
- db $ff
+ db -1 ; end
QwilfishEggMoves:
db FLAIL
db HAZE
db BUBBLEBEAM
db SUPERSONIC
- db $ff
+ db -1 ; end
ShuckleEggMoves:
db SWEET_SCENT
- db $ff
+ db -1 ; end
HeracrossEggMoves:
db HARDEN
db BIDE
db FLAIL
- db $ff
+ db -1 ; end
SneaselEggMoves:
db COUNTER
@@ -728,7 +728,7 @@ SneaselEggMoves:
db FORESIGHT
db REFLECT
db BITE
- db $ff
+ db -1 ; end
TeddiursaEggMoves:
db CRUNCH
@@ -739,11 +739,11 @@ TeddiursaEggMoves:
if _CRYSTAL
db METAL_CLAW
endc
- db $ff
+ db -1 ; end
SlugmaEggMoves:
db ACID_ARMOR
- db $ff
+ db -1 ; end
SwinubEggMoves:
db TAKE_DOWN
@@ -751,7 +751,7 @@ SwinubEggMoves:
db BODY_SLAM
db ROCK_SLIDE
db ANCIENTPOWER
- db $ff
+ db -1 ; end
CorsolaEggMoves:
db ROCK_SLIDE
@@ -759,7 +759,7 @@ CorsolaEggMoves:
db SCREECH
db MIST
db AMNESIA
- db $ff
+ db -1 ; end
RemoraidEggMoves:
db AURORA_BEAM
@@ -767,7 +767,7 @@ RemoraidEggMoves:
db SUPERSONIC
db HAZE
db SCREECH
- db $ff
+ db -1 ; end
DelibirdEggMoves:
db AURORA_BEAM
@@ -775,14 +775,14 @@ DelibirdEggMoves:
db FUTURE_SIGHT
db SPLASH
db RAPID_SPIN
- db $ff
+ db -1 ; end
MantineEggMoves:
db TWISTER
db HYDRO_PUMP
db HAZE
db SLAM
- db $ff
+ db -1 ; end
SkarmoryEggMoves:
db DRILL_PECK
@@ -791,7 +791,7 @@ SkarmoryEggMoves:
if _CRYSTAL
db SKY_ATTACK
endc
- db $ff
+ db -1 ; end
HoundourEggMoves:
db FIRE_SPIN
@@ -801,7 +801,7 @@ HoundourEggMoves:
db SPITE
db REVERSAL
db BEAT_UP
- db $ff
+ db -1 ; end
PhanpyEggMoves:
db FOCUS_ENERGY
@@ -810,7 +810,7 @@ PhanpyEggMoves:
if _CRYSTAL
db WATER_GUN
endc
- db $ff
+ db -1 ; end
StantlerEggMoves:
db REFLECT
@@ -818,21 +818,21 @@ StantlerEggMoves:
db DISABLE
db LIGHT_SCREEN
db BITE
- db $ff
+ db -1 ; end
TyrogueEggMoves:
db RAPID_SPIN
db HI_JUMP_KICK
db MACH_PUNCH
db MIND_READER
- db $ff
+ db -1 ; end
SmoochumEggMoves:
if !_CRYSTAL
db LOVELY_KISS
endc
db MEDITATE
- db $ff
+ db -1 ; end
ElekidEggMoves:
db KARATE_CHOP
@@ -842,7 +842,7 @@ ElekidEggMoves:
if _CRYSTAL
db CROSS_CHOP
endc
- db $ff
+ db -1 ; end
MagbyEggMoves:
db KARATE_CHOP
@@ -852,13 +852,13 @@ MagbyEggMoves:
if _CRYSTAL
db CROSS_CHOP
endc
- db $ff
+ db -1 ; end
MiltankEggMoves:
db PRESENT
db REVERSAL
db SEISMIC_TOSS
- db $ff
+ db -1 ; end
LarvitarEggMoves:
db PURSUIT
@@ -866,7 +866,7 @@ LarvitarEggMoves:
db OUTRAGE
db FOCUS_ENERGY
db ANCIENTPOWER
- db $ff
+ db -1 ; end
NoEggMoves:
- db $ff
+ db -1 ; end
diff --git a/data/pokemon/evos_attacks.asm b/data/pokemon/evos_attacks.asm
index f21febf87..2649bb7a1 100644
--- a/data/pokemon/evos_attacks.asm
+++ b/data/pokemon/evos_attacks.asm
@@ -1,4 +1,4 @@
-INCLUDE "includes.asm"
+INCLUDE "constants.asm"
SECTION "Evolutions and Attacks", ROMX
diff --git a/data/pokemon/ezchat_order.asm b/data/pokemon/ezchat_order.asm
new file mode 100644
index 000000000..8cb860028
--- /dev/null
+++ b/data/pokemon/ezchat_order.asm
@@ -0,0 +1,96 @@
+; Every Pokémon sorted by their Japanese names in gojūon order.
+; Notably, Rhydon is missing (it should be before Rhyhorn).
+
+EZChat_SortedPokemon:
+ dw .a
+ dw .i
+ dw .u
+ dw .e
+ dw .o
+ dw .ka_ga
+ dw .ki_gi
+ dw .ku_gu
+ dw .ke_ge
+ dw .ko_go
+ dw .sa_za
+ dw .shi_ji
+ dw .su_zu
+ dw .se_ze
+ dw .so_zo
+ dw .ta_da
+ dw .chi_dhi
+ dw .tsu_du
+ dw .te_de
+ dw .to_do
+ dw .na
+ dw .ni
+ dw .nu
+ dw .ne
+ dw .no
+ dw .ha_ba_pa
+ dw .hi_bi_pi
+ dw .fu_bu_pu
+ dw .he_be_pe
+ dw .ho_bo_po
+ dw .ma
+ dw .mi
+ dw .mu
+ dw .me
+ dw .mo
+ dw .ya
+ dw .yu
+ dw .yo
+ dw .ra
+ dw .ri
+ dw .ru
+ dw .re
+ dw .ro
+ dw .wa
+ dw .end
+
+.a: db EKANS, ARBOK, SEAKING, ARIADOS, CROCONAW, UNOWN, -1
+.i: db EEVEE, GEODUDE, SPINARAK, PILOSWINE, ONIX, -1
+.u: db ARCANINE, SUDOWOODO, WEEPINBELL, VICTREEBEL, WOOPER, SWINUB, -1
+.e: db SKARMORY, AIPOM, ESPEON, HITMONCHAN, ELEKID, ELECTABUZZ, ENTEI, -1
+.o: db FERALIGATR, FURRET, OCTILLERY, PRIMEAPE, SENTRET, STANTLER, SPEAROW, FEAROW, OMASTAR, OMANYTE, -1
+.ka_ga: db GROWLITHE, MACHAMP, DRAGONITE, PINSIR, SNORLAX, KABUTO, KABUTOPS, HITMONTOP, WARTORTLE, BLASTOISE, FARFETCH_D, CUBONE, MAROWAK, KANGASKHAN, -1
+.ki_gi: db SUNFLORA, CATERPIE, GYARADOS, RAPIDASH, NINETALES, GIRAFARIG, BELLOSSOM, KINGDRA, KINGLER, -1
+.ku_gu: db GLOOM, PINECO, GLIGAR, KRABBY, GRANBULL, CROBAT, -1
+.ke_ge: db ABRA, GENGAR, TAUROS, -1
+.ko_go: db MAGIKARP, MAGNEMITE, GASTLY, HAUNTER, MACHOKE, KAKUNA, PSYDUCK, PHANPY, RATTATA, GOLDUCK, GOLBAT, GOLEM, GRAVELER, VENONAT, -1
+.sa_za: db RHYHORN, PUPITAR, CORSOLA, HITMONLEE, ZAPDOS, JOLTEON, SANDSHREW, SANDSLASH, -1 ; RHYDON should lead this list
+.shi_ji: db SEADRA, SHELLDER, VAPOREON, DEWGONG, -1
+.su_zu: db SUICUNE, STARMIE, SCYTHER, ZUBAT, BEEDRILL, HYPNO, DROWZEE, -1
+.se_ze: db SQUIRTLE, CELEBI, -1
+.so_zo: db WOBBUFFET, -1
+.ta_da: db DUGTRIO, HORSEA, EXEGGCUTE, -1
+.chi_dhi: db CHIKORITA, CHINCHOU, -1
+.tsu_du: db SHUCKLE, -1
+.te_de: db DIGLETT, REMORAID, DELIBIRD, HOUNDOUR, AMPHAROS, -1
+.to_do: db DODUO, DODRIO, SMEARGLE, KOFFING, TENTACRUEL, TOGETIC, TOGEPI, GOLDEEN, METAPOD, DONPHAN, -1
+.na: db ODDISH, EXEGGUTOR, -1
+.ni: db NIDOKING, NIDOQUEEN, NIDORAN_M, NIDORAN_F, NIDORINA, NIDORINO, MEOWTH, SNEASEL, POLIWHIRL, POLITOED, POLIWRATH, POLIWAG, -1
+.nu: db QUAGSIRE, -1
+.ne: db NATU, XATU, -1
+.no: db DUNSPARCE, -1
+.ha_ba_pa: db SEEL, STEELIX, TYPHLOSION, DRAGONAIR, BUTTERFREE, SCIZOR, HOPPIP, BLISSEY, PARAS, PARASECT, QWILFISH, MR__MIME, TYROGUE, CLOYSTER, TYRANITAR, -1
+.hi_bi_pi: db CLEFFA, WEEDLE, PIKACHU, CLEFABLE, PIDGEOT, PIDGEOTTO, PICHU, CLEFAIRY, CHARMANDER, STARYU, CYNDAQUIL, SUNKERN, TEDDIURSA, VOLTORB, -1
+.fu_bu_pu: db MOLTRES, FLAREON, ALAKAZAM, MAGMAR, FORRETRESS, WIGGLYTUFF, IVYSAUR, BULBASAUR, VENUSAUR, AERODACTYL, MAGBY, IGGLYBUFF, UMBREON, ARTICUNO, JIGGLYPUFF, SNUBBULL, -1
+.he_be_pe: db BAYLEEF, GRIMER, MUK, HERACROSS, HOUNDOOM, PERSIAN, LICKITUNG, -1
+.ho_bo_po: db HO_OH, HOOTHOOT, PIDGEY, PONYTA, SKIPLOOM, PORYGON, PORYGON2, -1
+.ma: db MAGCARGO, SLUGMA, QUILAVA, BELLSPROUT, WEEZING, MARILL, AZUMARILL, ELECTRODE, MANKEY, MANTINE, -1
+.mi: db DRATINI, MEW, MEWTWO, MILTANK, -1
+.mu: db MISDREAVUS, SMOOCHUM, -1
+.me: db MEGANIUM, DITTO, TENTACOOL, MAREEP, -1
+.mo: db FLAAFFY, VENOMOTH, TANGELA, -1
+.ya: db SLOWKING, SLOWBRO, SLOWPOKE, MURKROW, YANMA, -1
+.yu: db KADABRA, -1
+.yo: db LARVITAR, NOCTOWL, -1
+.ra: db RAIKOU, RAICHU, CHANSEY, RATICATE, LAPRAS, VILEPLUME, LANTURN, -1
+.ri: db CHARMELEON, CHARIZARD, URSARING, -1
+.ru: db JYNX, LUGIA, -1
+.re: db MAGNETON, LEDIAN, LEDYBA, -1
+.ro: db VULPIX, -1
+.wa: db JUMPLUFF, TOTODILE, MACHOP ;, -1
+.end: db -1
+; 11d67e
diff --git a/data/pokemon/palettes.asm b/data/pokemon/palettes.asm
index 2e47bbdaf..ec2cc3c0b 100644
--- a/data/pokemon/palettes.asm
+++ b/data/pokemon/palettes.asm
@@ -518,12 +518,8 @@ INCLUDE "gfx/pokemon/celebi/shiny.pal"
RGB 30, 26, 11
RGB 23, 16, 00
-; Egg
- RGB 30, 26, 11
- RGB 23, 16, 00
-; Egg shiny
- RGB 30, 26, 11
- RGB 23, 16, 00
+INCLUDE "gfx/pokemon/egg/normal.pal"
+INCLUDE "gfx/pokemon/egg/shiny.pal"
; 254
RGB 30, 26, 11
diff --git a/data/pokemon/pic_pointers.asm b/data/pokemon/pic_pointers.asm
index cca5c3b9c..c45a9837e 100644
--- a/data/pokemon/pic_pointers.asm
+++ b/data/pokemon/pic_pointers.asm
@@ -1,3 +1,5 @@
+; Pics are defined in gfx/pics.asm
+
PokemonPicPointers::
; entries correspond to Pokémon species, two apiece
dba_pic BulbasaurFrontpic
diff --git a/data/time_capsule/special_stats.asm b/data/pokemon/rby_base_special.asm
index 9998692ab..9998692ab 100644
--- a/data/time_capsule/special_stats.asm
+++ b/data/pokemon/rby_base_special.asm
diff --git a/data/time_capsule/mon_order.asm b/data/pokemon/rby_order.asm
index e40ba0273..e40ba0273 100644
--- a/data/time_capsule/mon_order.asm
+++ b/data/pokemon/rby_order.asm
diff --git a/data/predef_pointers.asm b/data/predef_pointers.asm
new file mode 100644
index 000000000..16281d035
--- /dev/null
+++ b/data/predef_pointers.asm
@@ -0,0 +1,85 @@
+; Predef routines can be used with the "predef" and "predef_jump" macros.
+; This preserves registers bc, de, hl and f.
+
+add_predef: MACRO
+\1Predef::
+ dab \1
+ENDM
+
+PredefPointers:: ; 856b
+ add_predef LearnMove ; $0
+ add_predef DummyPredef1
+ add_predef HealParty ; this is both a special and a predef
+ add_predef SmallFarFlagAction
+ add_predef ComputeHPBarPixels
+ add_predef FillPP
+ add_predef TryAddMonToParty
+ add_predef AddTempmonToParty
+ add_predef SendGetPkmnIntoFromBox
+ add_predef SendPkmnIntoBox
+ add_predef GiveEgg
+ add_predef AnimateHPBar
+ add_predef CalcPkmnStats
+ add_predef CalcPkmnStatC
+ add_predef CanLearnTMHMMove
+ add_predef GetTMHMMove
+ add_predef LinkTextboxAtHL ; $ 10
+ add_predef PrintMoveDesc
+ add_predef UpdatePlayerHUD
+ add_predef PlaceGraphic
+ add_predef CheckPlayerPartyForFitPkmn
+ add_predef UpdateEnemyHUD
+ add_predef StartBattle
+ add_predef FillInExpBar
+ add_predef GetBattleMonBackpic ; $18
+ add_predef GetEnemyMonFrontpic
+ add_predef LearnLevelMoves
+ add_predef FillMoves
+ add_predef EvolveAfterBattle
+ add_predef TradeAnimationPlayer2
+ add_predef TradeAnimation
+ add_predef CopyPkmnToTempMon
+ add_predef ListMoves ; $20
+ add_predef PlaceNonFaintStatus
+ add_predef Unused_PlaceEnemyHPLevel
+ add_predef ListMovePP
+ add_predef GetGender
+ add_predef StatsScreenInit
+ add_predef DrawPlayerHP
+ add_predef DrawEnemyHP
+ add_predef PrintTempMonStats ; $28
+ add_predef GetTypeName
+ add_predef PrintMoveType
+ add_predef PrintType
+ add_predef PrintMonTypes
+ add_predef GetUnownLetter
+ add_predef LoadPoisonBGPals
+ add_predef DummyPredef2F
+ add_predef InitSGBBorder ; $30
+ add_predef LoadSGBLayout
+ add_predef Pokedex_GetArea
+ add_predef Unused_CheckContestMon
+ add_predef DoBattleTransition
+ add_predef DummyPredef35
+ add_predef DummyPredef36
+ add_predef PlayBattleAnim
+ add_predef DummyPredef38 ; $38
+ add_predef DummyPredef39
+ add_predef DummyPredef3A
+ add_predef PartyMonItemName
+ add_predef GetMonFrontpic
+ add_predef GetMonBackpic
+ add_predef GetAnimatedFrontpic
+ add_predef GetTrainerPic
+ add_predef DecompressGet2bpp ; $40
+ add_predef CheckTypeMatchup
+ add_predef ConvertMon_1to2
+ add_predef NewPokedexEntry
+ add_predef Unused_AnimateMon_Slow_Normal
+ add_predef PlaceStatusString
+ add_predef LoadMonAnimation
+ add_predef AnimateFrontpic
+ add_predef Unused_HOF_AnimateAlignedFrontpic ; $48
+ add_predef HOF_AnimateFrontpic
+ dbw -1, InexplicablyEmptyFunction ; ???
+; 864c
diff --git a/data/radio/buenas_passwords.asm b/data/radio/buenas_passwords.asm
new file mode 100644
index 000000000..85e1b951b
--- /dev/null
+++ b/data/radio/buenas_passwords.asm
@@ -0,0 +1,26 @@
+BuenasPasswordTable:
+; there are NUM_PASSWORD_CATEGORIES entries
+ dw .JohtoStarters
+ dw .Beverages
+ dw .HealingItems
+ dw .Balls
+ dw .Pokemon1
+ dw .Pokemon2
+ dw .JohtoTowns
+ dw .Types
+ dw .Moves
+ dw .XItems
+ dw .RadioStations
+
+ ; string type, points, option 1, option 2, option 3
+.JohtoStarters: db BUENA_MON, 10, CYNDAQUIL, TOTODILE, CHIKORITA
+.Beverages: db BUENA_ITEM, 12, FRESH_WATER, SODA_POP, LEMONADE
+.HealingItems: db BUENA_ITEM, 12, POTION, ANTIDOTE, PARLYZ_HEAL
+.Balls: db BUENA_ITEM, 12, POKE_BALL, GREAT_BALL, ULTRA_BALL
+.Pokemon1: db BUENA_MON, 10, PIKACHU, RATTATA, GEODUDE
+.Pokemon2: db BUENA_MON, 10, HOOTHOOT, SPINARAK, DROWZEE
+.JohtoTowns: db BUENA_STRING, 16, "NEW BARK TOWN@", "CHERRYGROVE CITY@", "AZALEA TOWN@"
+.Types: db BUENA_STRING, 6, "FLYING@", "BUG@", "GRASS@"
+.Moves: db BUENA_MOVE, 12, TACKLE, GROWL, MUD_SLAP
+.XItems: db BUENA_ITEM, 12, X_ATTACK, X_DEFEND, X_SPEED
+.RadioStations: db BUENA_STRING, 13, "#MON Talk@", "#MON Music@", "Lucky Channel@"
diff --git a/data/radio/channel_music.asm b/data/radio/channel_music.asm
new file mode 100644
index 000000000..62504ed11
--- /dev/null
+++ b/data/radio/channel_music.asm
@@ -0,0 +1,13 @@
+RadioChannelSongs:
+; entries correspond to radio channel ids
+ dw MUSIC_POKEMON_TALK
+ dw MUSIC_POKEMON_CENTER
+ dw MUSIC_TITLE
+ dw MUSIC_GAME_CORNER
+ dw MUSIC_BUENAS_PASSWORD
+ dw MUSIC_VIRIDIAN_CITY
+ dw MUSIC_BICYCLE
+ dw MUSIC_ROCKET_OVERTURE
+ dw MUSIC_POKE_FLUTE_CHANNEL
+ dw MUSIC_RUINS_OF_ALPH_RADIO
+ dw MUSIC_LAKE_OF_RAGE_ROCKET_RADIO
diff --git a/data/radio/oaks_pkmn_talk_routes.asm b/data/radio/oaks_pkmn_talk_routes.asm
new file mode 100644
index 000000000..ad7b6529d
--- /dev/null
+++ b/data/radio/oaks_pkmn_talk_routes.asm
@@ -0,0 +1,19 @@
+; Oak's Pokémon Talk will list wild Pokémon on these maps.
+
+OaksPkmnTalkRoutes:
+ map ROUTE_29
+ map ROUTE_46
+ map ROUTE_30
+ map ROUTE_32
+ map ROUTE_34
+ map ROUTE_35
+ map ROUTE_37
+ map ROUTE_38
+ map ROUTE_39
+ map ROUTE_42
+ map ROUTE_43
+ map ROUTE_44
+ map ROUTE_45
+ map ROUTE_36
+ map ROUTE_31
+OaksPkmnTalkRoutesEnd
diff --git a/data/radio/pnp_hidden_people.asm b/data/radio/pnp_hidden_people.asm
new file mode 100644
index 000000000..5eb178572
--- /dev/null
+++ b/data/radio/pnp_hidden_people.asm
@@ -0,0 +1,26 @@
+; Places and People will not describe these trainers.
+
+PnP_HiddenPeople:
+ db WILL
+ db BRUNO
+ db KAREN
+ db KOGA
+ db CHAMPION
+ ; fallthrough
+PnP_HiddenPeople_BeatE4:
+ db BROCK
+ db MISTY
+ db LT_SURGE
+ db ERIKA
+ db JANINE
+ db SABRINA
+ db BLAINE
+ db BLUE
+ ; fallthrough
+PnP_HiddenPeople_BeatKanto:
+ db RIVAL1
+ db POKEMON_PROF
+ db CAL
+ db RIVAL2
+ db RED
+ db -1
diff --git a/data/radio/pnp_hidden_places.asm b/data/radio/pnp_hidden_places.asm
new file mode 100644
index 000000000..4cf1987d3
--- /dev/null
+++ b/data/radio/pnp_hidden_places.asm
@@ -0,0 +1,13 @@
+; Places and People will not describe these maps.
+
+PnP_HiddenPlaces:
+ map PALLET_TOWN
+ map ROUTE_22
+ map PEWTER_CITY
+ map CERULEAN_POLICE_STATION
+ map ROUTE_12
+ map ROUTE_11
+ map ROUTE_16
+ map ROUTE_14
+ map CINNABAR_POKECENTER_2F_BETA
+PnP_HiddenPlacesEnd
diff --git a/data/sgb_border_map.asm b/data/sgb_border_map.asm
deleted file mode 100644
index 18e6c7740..000000000
--- a/data/sgb_border_map.asm
+++ /dev/null
@@ -1,29 +0,0 @@
-SGBBorderMap:
- db $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $14, $14, $15, $14, $16, $14, $17, $14, $17, $54, $16, $54, $15, $54, $14, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14
- db $01, $14, $02, $14, $03, $14, $03, $54, $02, $54, $01, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $24, $14, $25, $14, $26, $14, $07, $14, $07, $54, $26, $54, $25, $54, $24, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $54, $01, $14, $02, $14, $03, $14, $03, $54, $02, $54, $01, $54
- db $11, $14, $12, $14, $13, $14, $13, $54, $12, $54, $11, $54, $10, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $24, $14, $34, $14, $35, $14, $35, $54, $34, $54, $33, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $10, $14, $11, $14, $12, $14, $13, $14, $13, $54, $12, $54, $11, $54
- db $21, $14, $22, $14, $23, $14, $23, $54, $22, $54, $21, $54, $20, $54, $07, $14, $08, $14, $09, $14, $0a, $14, $0b, $14, $0c, $14, $0d, $14, $07, $14, $07, $14, $18, $14, $09, $14, $1a, $14, $1b, $14, $0d, $14, $0c, $14, $1c, $14, $29, $14, $07, $14, $20, $14, $21, $14, $22, $14, $23, $14, $23, $54, $22, $54, $21, $54
- db $31, $14, $32, $14, $07, $14, $07, $14, $32, $54, $36, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $38, $10, $27, $10, $32, $14, $07, $54, $07, $54, $32, $54, $31, $54
- db $05, $14, $06, $14, $07, $14, $07, $54, $06, $54, $1f, $10, $37, $10, $06, $14, $07, $14, $07, $54, $06, $54, $05, $54
- db $15, $14, $16, $14, $17, $14, $17, $54, $16, $54, $1f, $10, $37, $10, $16, $14, $17, $14, $17, $54, $16, $54, $15, $54
- db $25, $14, $26, $14, $07, $14, $07, $54, $26, $54, $1f, $10, $37, $10, $26, $14, $07, $14, $07, $54, $26, $54, $25, $54
- db $33, $14, $34, $14, $35, $14, $35, $54, $34, $54, $1f, $10, $37, $10, $34, $14, $35, $14, $35, $54, $34, $54, $33, $54
- db $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14
- db $02, $54, $01, $54, $07, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $07, $14, $01, $14, $02, $14
- db $12, $54, $11, $54, $10, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $10, $14, $11, $14, $12, $14
- db $22, $54, $21, $54, $20, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $20, $14, $21, $14, $22, $14
- db $32, $54, $31, $54, $30, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $30, $14, $31, $14, $32, $14
- db $06, $54, $05, $54, $04, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $04, $14, $05, $14, $06, $14
- db $16, $54, $15, $54, $14, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $14, $14, $15, $14, $16, $14
- db $26, $54, $25, $54, $24, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $24, $14, $25, $14, $26, $14
- db $34, $54, $33, $54, $07, $54, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $07, $14, $33, $14, $34, $14
- db $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $1f, $10, $37, $10, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14
- db $01, $14, $02, $14, $03, $14, $03, $54, $02, $54, $1f, $10, $37, $10, $02, $14, $03, $14, $03, $54, $02, $54, $01, $54
- db $11, $14, $12, $14, $13, $14, $13, $54, $12, $54, $1f, $10, $37, $10, $12, $14, $13, $14, $13, $54, $12, $54, $11, $54
- db $21, $14, $22, $14, $23, $14, $23, $54, $22, $54, $1f, $10, $37, $10, $22, $14, $23, $14, $23, $54, $22, $54, $21, $54
- db $31, $14, $32, $14, $07, $14, $07, $14, $32, $54, $1f, $10, $37, $10, $32, $14, $07, $54, $07, $54, $32, $54, $31, $54
- db $05, $14, $06, $14, $07, $14, $07, $54, $06, $54, $2e, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2f, $10, $2d, $10, $06, $14, $07, $14, $07, $54, $06, $54, $05, $54
- db $15, $14, $16, $14, $17, $14, $17, $54, $16, $54, $15, $54, $14, $54, $07, $14, $07, $14, $39, $14, $0e, $14, $09, $14, $0f, $14, $28, $14, $07, $14, $19, $14, $0c, $14, $1c, $14, $29, $14, $2a, $14, $2b, $14, $2c, $14, $39, $14, $07, $14, $07, $14, $14, $14, $15, $14, $16, $14, $17, $14, $17, $54, $16, $54, $15, $54
- db $25, $14, $26, $14, $07, $14, $07, $54, $26, $54, $25, $54, $24, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $01, $14, $02, $14, $03, $14, $03, $54, $02, $54, $01, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $24, $14, $25, $14, $26, $14, $07, $14, $07, $54, $26, $54, $25, $54
- db $33, $14, $34, $14, $35, $14, $35, $54, $34, $54, $24, $54, $07, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $10, $14, $11, $14, $12, $14, $13, $14, $13, $54, $12, $54, $11, $54, $10, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $24, $14, $34, $14, $35, $14, $35, $54, $34, $54, $33, $54
- db $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $20, $14, $21, $14, $22, $14, $23, $14, $23, $54, $22, $54, $21, $54, $20, $54, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14, $07, $14
diff --git a/data/sgb_ctrl_packets.asm b/data/sgb_ctrl_packets.asm
new file mode 100644
index 000000000..a8c1e25f5
--- /dev/null
+++ b/data/sgb_ctrl_packets.asm
@@ -0,0 +1,135 @@
+; macros taken from pokered's data/sgb_packets.asm
+; names taken from pandocs
+; http://gbdev.gg8.se/wiki/articles/SGB_Functions#SGB_Palette_Commands
+
+sgb_pal_trn: MACRO
+ db (SGB_PAL_TRN << 3) + 1
+ ds 15
+ENDM
+
+sgb_mlt_req: MACRO
+ db (SGB_MLT_REG << 3) + 1
+ db \1 - 1
+ ds 14
+ENDM
+
+sgb_chr_trn: MACRO
+ db (SGB_CHR_TRN << 3) + 1
+ db \1 + (\2 << 1)
+ ds 14
+ENDM
+
+sgb_pct_trn: MACRO
+ db (SGB_PCT_TRN << 3) + 1
+ ds 15
+ENDM
+
+sgb_mask_en: MACRO
+ db (SGB_MASK_EN << 3) + 1
+ db \1
+ ds 14
+ENDM
+
+sgb_data_snd: MACRO
+ db (SGB_DATA_SND << 3) + 1
+ dw \1 ; address
+ db \2 ; bank
+ db \3 ; length (1-11)
+ENDM
+
+
+; Crystal does not support SGB, so this is unused.
+
+PalTrnPacket: sgb_pal_trn
+MltReq1Packet: sgb_mlt_req 1
+MltReq2Packet: sgb_mlt_req 2
+ChrTrnPacket: sgb_chr_trn 0, 0
+PctTrnPacket: sgb_pct_trn
+
+MaskEnFreezePacket: sgb_mask_en 1
+MaskEnCancelPacket: sgb_mask_en 0
+
+
+; These are packets containing SNES code.
+; This set of packets is found in several Japanese SGB-compatible titles.
+; It appears to be part of NCL's SGB devkit.
+
+DataSndPacket1:
+ sgb_data_snd $085d, $0, 11
+ db $8c ; cpx #$8c (2)
+ db $d0, $f4 ; bne -$0c
+ db $60 ; rts
+ ds 7
+
+DataSndPacket2:
+ sgb_data_snd $0852, $0, 11
+ db $a9, $e7 ; lda #$e7
+ db $9f, $01, $c0, $7e ; sta $7ec001, x
+ db $e8 ; inx
+ db $e8 ; inx
+ db $e8 ; inx
+ db $e8 ; inx
+ db $e0 ; cpx #$8c (1)
+
+DataSndPacket3:
+ sgb_data_snd $0847, $0, 11
+ db $c4 ; cmp #$c4 (2)
+ db $d0, $16 ; bne +$16
+ db $a5 ; lda dp
+ db $cb ; wai
+ db $c9, $05 ; cmp #$05
+ db $d0, $10 ; bne +$10
+ db $a2, $28 ; ldx #$28
+
+DataSndPacket4:
+ sgb_data_snd $083c, $0, 11
+ db $f0, $12 ; beq +$12
+ db $a5 ; lda dp
+ db $c9, $c9 ; cmp #$c9
+ db $c8 ; iny
+ db $d0, $1c ; bne +$1c
+ db $a5 ; lda dp
+ db $ca ; dex
+ db $c9 ; cmp #$c4 (1)
+
+DataSndPacket5:
+ sgb_data_snd $0831, $0, 11
+ dbw $0c, $caa5 ; tsb $caa5
+ db $c9, $7e ; cmp #$7e
+ db $d0, $06 ; bne +$06
+ db $a5 ; lda dp
+ db $cb ; wai
+ db $c9, $7e ; cmp #$7e
+
+DataSndPacket6:
+ sgb_data_snd $0826, $0, 11
+ db $39 ; bne +$39 (2)
+ dbw $cd, $0c48 ; cmp $0c48
+ db $d0, $34 ; bne +$34
+ db $a5 ; lda dp
+ db $c9, $c9 ; cmp #$c9
+ db $80, $d0 ; bra -$30
+
+DataSndPacket7:
+ sgb_data_snd $081b, $0, 11
+ db $ea ; nop
+ db $ea ; nop
+ db $ea ; nop
+ db $ea ; nop
+ db $ea ; nop
+ ; $0820:
+ db $a9, $01 ; lda #01
+ dbw $cd, $0c4f ; cmp $c4f
+ db $d0 ; bne +$39 (1)
+
+DataSndPacket8:
+ sgb_data_snd $0810, $0, 11
+ dbw $4c, $0820 ; jmp $0820
+ db $ea ; nop
+ db $ea ; nop
+ db $ea ; nop
+ db $ea ; nop
+ db $ea ; nop
+ db $60 ; rts
+ db $ea ; nop
+ db $ea ; nop
diff --git a/data/special_pointers.asm b/data/special_pointers.asm
new file mode 100644
index 000000000..6320838fc
--- /dev/null
+++ b/data/special_pointers.asm
@@ -0,0 +1,185 @@
+; Special routines can be used with the "special" map script command.
+; They often use ScriptVar for arguments and return values.
+
+add_special: MACRO
+\1Special::
+ dba \1
+ENDM
+
+SpecialsPointers:: ; c029
+ add_special Special_WarpToSpawnPoint
+
+; Communications
+ add_special Special_SetBitsForLinkTradeRequest
+ add_special Special_WaitForLinkedFriend
+ add_special Special_CheckLinkTimeout
+ add_special Special_TryQuickSave
+ add_special Special_CheckBothSelectedSameRoom
+ add_special Special_FailedLinkToPast
+ add_special Special_CloseLink
+ add_special Special_WaitForOtherPlayerToExit
+ add_special Special_SetBitsForBattleRequest
+ add_special Special_SetBitsForTimeCapsuleRequest
+ add_special Special_CheckTimeCapsuleCompatibility
+ add_special Special_EnterTimeCapsule
+ add_special Special_TradeCenter
+ add_special Special_Colosseum
+ add_special Special_TimeCapsule
+ add_special Special_CableClubCheckWhichChris
+ add_special Special_CheckMysteryGift
+ add_special Special_GetMysteryGiftItem
+ add_special Special_UnlockMysteryGift
+
+; Map Events
+ add_special Special_BugContestJudging
+ add_special Special_CheckPartyFullAfterContest
+ add_special Special_ContestDropOffMons
+ add_special Special_ContestReturnMons
+ add_special Special_GiveParkBalls
+ add_special Special_CheckMagikarpLength
+ add_special Special_MagikarpHouseSign
+ add_special HealParty ; this is both a special and a predef
+ add_special Special_PokemonCenterPC
+ add_special Special_KrissHousePC
+ add_special Special_DayCareMan
+ add_special Special_DayCareLady
+ add_special Special_DayCareManOutside
+ add_special Special_MoveDeletion
+ add_special Special_BankOfMom
+ add_special Special_MagnetTrain
+ add_special Special_NameRival
+ add_special Special_SetDayOfWeek
+ add_special Special_TownMap
+ add_special Special_UnownPrinter
+ add_special Special_MapRadio
+ add_special Special_UnownPuzzle
+ add_special Special_SlotMachine
+ add_special Special_CardFlip
+ add_special Special_DummyNonfunctionalGameCornerGame
+ add_special Special_ClearBGPalettesBufferScreen
+ add_special Special_FadeOutPalettes
+ add_special Special_BattleTowerFade
+ add_special Special_FadeBlackQuickly
+ add_special Special_FadeInPalettes
+ add_special Special_FadeInQuickly
+ add_special ReloadSpritesNoPalettes ; bank 0
+ add_special ClearBGPalettes ; bank 0
+ add_special UpdateTimePals ; bank 0
+ add_special ClearTileMap ; bank 0
+ add_special UpdateSprites ; bank 0
+ add_special ReplaceKrisSprite ; bank 0
+ add_special Special_GameCornerPrizeMonCheckDex
+ add_special UnusedSpecial_SeenMon
+ add_special WaitSFX ; bank 0
+ add_special PlayMapMusic ; bank 0
+ add_special RestartMapMusic ; bank 0
+ add_special Special_HealMachineAnim
+ add_special Special_SurfStartStep
+ add_special Special_FindGreaterThanThatLevel
+ add_special Special_FindAtLeastThatHappy
+ add_special Special_FindThatSpecies
+ add_special Special_FindThatSpeciesYourTrainerID
+ add_special UnusedSpecial_CheckUnusedTwoDayTimer
+ add_special Special_DayCareMon1
+ add_special Special_DayCareMon2
+ add_special Special_SelectRandomBugContestContestants
+ add_special Special_ActivateFishingSwarm
+ add_special Special_ToggleMaptileDecorations
+ add_special Special_ToggleDecorationsVisibility
+ add_special Special_GiveShuckle
+ add_special Special_ReturnShuckle
+ add_special Special_BillsGrandfather
+ add_special Special_CheckPokerus
+ add_special Special_DisplayCoinCaseBalance
+ add_special Special_DisplayMoneyAndCoinBalance
+ add_special Special_PlaceMoneyTopRight
+ add_special Special_CheckForLuckyNumberWinners
+ add_special Special_CheckLuckyNumberShowFlag
+ add_special Special_ResetLuckyNumberShowFlag
+ add_special Special_PrintTodaysLuckyNumber
+ add_special Special_SelectApricornForKurt
+ add_special Special_NameRater
+ add_special Special_DisplayLinkRecord
+ add_special Special_GetFirstPokemonHappiness
+ add_special Special_CheckFirstMonIsEgg
+ add_special Special_RandomUnseenWildMon
+ add_special Special_RandomPhoneWildMon
+ add_special Special_RandomPhoneMon
+ add_special Special_LoadUsedSpritesGFX
+ add_special Special_PlaySlowCry
+ add_special Special_SnorlaxAwake
+ add_special Special_YoungerHaircutBrother
+ add_special Special_OlderHaircutBrother
+ add_special Special_DaisyMassage
+ add_special Special_PlayCurMonCry
+ add_special Special_ProfOaksPCBoot
+ add_special Special_GameboyCheck
+ add_special Special_TrainerHouse
+ add_special Special_PhotoStudio
+ add_special Special_InitRoamMons
+ add_special Special_FadeOutMusic
+ add_special Special_Diploma
+ add_special Special_PrintDiploma
+
+ ; Crystal
+ add_special Special_Function11ac3e
+ add_special Special_Function11b444
+ add_special Special_Function11b5e8
+ add_special Special_Function11b7e5
+ add_special Special_Function11b879
+ add_special Special_Function11b920
+ add_special Special_Function11b93b
+ add_special Special_BattleTowerRoomMenu
+ add_special Special_Function1700ba
+ add_special Special_Function170114
+ add_special Special_BattleTowerBattle
+ add_special UnusedSpecial_Function1704e1
+ add_special DummySpecial_17021d
+ add_special Special_LoadOpponentTrainerAndPokemonWithOTSprite
+ add_special Special_Function11ba38
+ add_special Special_CheckForBattleTowerRules
+ add_special Special_GiveOddEgg
+ add_special Reset ; bank 0
+ add_special Special_Function1011f1
+ add_special Special_Function101220
+ add_special Special_Function101225
+ add_special Special_Function101231
+ add_special Special_MoveTutor
+ add_special Special_OmanyteChamber
+ add_special Special_Function11c1ab
+ add_special Special_BattleTowerAction
+ add_special Special_DisplayUnownWords
+ add_special Special_Menu_ChallengeExplanationCancel
+ add_special Special_Function17d2b6
+ add_special Special_Function17d2ce
+ add_special Special_BattleTowerMobileError
+ add_special Special_AskMobileOrCable
+ add_special Special_HoOhChamber
+ add_special Special_Function102142
+ add_special Special_CelebiShrineEvent
+ add_special Special_CheckCaughtCelebi
+ add_special Special_PokeSeer
+ add_special Special_BuenasPassword
+ add_special Special_BuenaPrize
+ add_special Special_Dratini
+ add_special Special_SampleKenjiBreakCountdown
+ add_special Special_BeastsCheck
+ add_special Special_MonCheck
+ add_special Special_SetPlayerPalette
+ add_special DummySpecial_170bd2
+ add_special Special_Mobile_SelectThreeMons
+ add_special Special_Function1037eb
+ add_special Special_Function10383c
+ add_special Special_StubbedTrainerRankings_Healings
+ add_special Special_RefreshSprites
+ add_special Special_Function1037c2
+ add_special Special_Mobile_DummyReturnFalse
+ add_special Special_Function103780
+ add_special Special_Function10387b
+ add_special Special_AskRememberPassword
+ add_special Special_LoadMapPalettes
+ add_special UnusedSpecial_FindItemInPCOrBag
+ add_special Special_InitialSetDSTFlag
+ add_special Special_InitialClearDSTFlag
+ add_special DummySpecial_c224
+; c224
diff --git a/data/sprite_anims/framesets.asm b/data/sprite_anims/framesets.asm
index 24b058859..d768ec21a 100755
--- a/data/sprite_anims/framesets.asm
+++ b/data/sprite_anims/framesets.asm
@@ -9,7 +9,7 @@ SpriteAnimFrameData: ; 8d6e6
dw .Frameset_PartyMonWithItemFast
dw .Frameset_GSTitleTrail
dw .Frameset_TextEntryCursor
- dw .Frameset_09
+ dw .Frameset_TextEntryCursorBig
dw .Frameset_GameFreakLogo
dw .Frameset_GSIntroStar
dw .Frameset_GSIntroSparkle
@@ -20,7 +20,7 @@ SpriteAnimFrameData: ; 8d6e6
dw .Frameset_RedWalk
dw .Frameset_StillCursor
dw .Frameset_TradePokeBall
- dw .Frameset_TradePokeBall0
+ dw .Frameset_TradePokeBallWobble
dw .Frameset_TradePoof
dw .Frameset_TradeTubeBulge
dw .Frameset_TrademonIcon
@@ -28,31 +28,31 @@ SpriteAnimFrameData: ; 8d6e6
dw .Frameset_EvolutionBallOfLight
dw .Frameset_RadioTuningKnob
dw .Frameset_MagnetTrainRed
- dw .Frameset_1c
+ dw .Frameset_Unused1C
dw .Frameset_Leaf
dw .Frameset_CutTree
dw .Frameset_EggCrack
- dw .Frameset_EggHatch
- dw .Frameset_21
- dw .Frameset_22
- dw .Frameset_23
- dw .Frameset_24
+ dw .Frameset_EggHatch1
+ dw .Frameset_EggHatch2
+ dw .Frameset_EggHatch3
+ dw .Frameset_EggHatch4
+ dw .Frameset_GSIntroHoOh
dw .Frameset_HeadbuttTree
- dw .Frameset_26
- dw .Frameset_27
- dw .Frameset_28
- dw .Frameset_29
- dw .Frameset_2a
- dw .Frameset_2b
- dw .Frameset_2c
+ dw .Frameset_EZChatCursor1
+ dw .Frameset_EZChatCursor2
+ dw .Frameset_EZChatCursor3
+ dw .Frameset_EZChatCursor4
+ dw .Frameset_EZChatCursor5
+ dw .Frameset_EZChatCursor6
+ dw .Frameset_EZChatCursor7
dw .Frameset_BlueWalk
dw .Frameset_MagnetTrainBlue
dw .Frameset_MobileTradeSentBall
dw .Frameset_MobileTradeOTBall
- dw .Frameset_ForMobile22
- dw .Frameset_ForMobile23
- dw .Frameset_ForMobile24
- dw .Frameset_ForMobile25
+ dw .Frameset_MobileTradeCableBulge
+ dw .Frameset_MobileTradeSentPulse
+ dw .Frameset_MobileTradeOTPulse
+ dw .Frameset_MobileTradePing
dw .Frameset_IntroSuicune
dw .Frameset_IntroSuicune2
dw .Frameset_IntroPichu
@@ -133,8 +133,8 @@ SpriteAnimFrameData: ; 8d6e6
dorepeat 1
dorestart
-.Frameset_09:
- frame SPRITE_ANIM_OAMSET_FOR_FRAMESET_09, 1
+.Frameset_TextEntryCursorBig:
+ frame SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR_BIG, 1
dorepeat 1
dorestart
@@ -202,7 +202,7 @@ SpriteAnimFrameData: ; 8d6e6
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 32
endanim
-.Frameset_TradePokeBall0:
+.Frameset_TradePokeBallWobble:
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3
frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3
@@ -216,8 +216,8 @@ SpriteAnimFrameData: ; 8d6e6
delanim
.Frameset_TradeTubeBulge:
- frame SPRITE_ANIM_OAMSET_35, 3
- frame SPRITE_ANIM_OAMSET_36, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_1, 3
+ frame SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_2, 3
dorestart
.Frameset_TrademonIcon:
@@ -246,50 +246,50 @@ SpriteAnimFrameData: ; 8d6e6
frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8, OAM_X_FLIP
dorestart
-; XXX
- frame SPRITE_ANIM_OAMSET_43, 8
- frame SPRITE_ANIM_OAMSET_44, 8
+; unused
+ frame SPRITE_ANIM_OAMSET_UNUSED_43, 8
+ frame SPRITE_ANIM_OAMSET_UNUSED_44, 8
dorestart
-; XXX
- frame SPRITE_ANIM_OAMSET_45, 8
- frame SPRITE_ANIM_OAMSET_46, 8
+; unused
+ frame SPRITE_ANIM_OAMSET_UNUSED_45, 8
+ frame SPRITE_ANIM_OAMSET_UNUSED_46, 8
dorestart
-; XXX
- frame SPRITE_ANIM_OAMSET_47, 8
- frame SPRITE_ANIM_OAMSET_48, 8
+; unused
+ frame SPRITE_ANIM_OAMSET_UNUSED_47, 8
+ frame SPRITE_ANIM_OAMSET_UNUSED_48, 8
dorestart
-; XXX
- frame SPRITE_ANIM_OAMSET_49, 1
- frame SPRITE_ANIM_OAMSET_49, 1, OAM_X_FLIP
- frame SPRITE_ANIM_OAMSET_49, 1, OAM_X_FLIP, OAM_Y_FLIP
- frame SPRITE_ANIM_OAMSET_49, 1, OAM_Y_FLIP
+; unused
+ frame SPRITE_ANIM_OAMSET_UNUSED_49, 1
+ frame SPRITE_ANIM_OAMSET_UNUSED_49, 1, OAM_X_FLIP
+ frame SPRITE_ANIM_OAMSET_UNUSED_49, 1, OAM_X_FLIP, OAM_Y_FLIP
+ frame SPRITE_ANIM_OAMSET_UNUSED_49, 1, OAM_Y_FLIP
dorestart
-; XXX
- frame SPRITE_ANIM_OAMSET_4A, 32
+; unused
+ frame SPRITE_ANIM_OAMSET_UNUSED_4A, 32
endanim
-; XXX
- frame SPRITE_ANIM_OAMSET_4B, 32
+; unused
+ frame SPRITE_ANIM_OAMSET_UNUSED_4B, 32
endanim
-; XXX
- frame SPRITE_ANIM_OAMSET_4C, 32
+; unused
+ frame SPRITE_ANIM_OAMSET_UNUSED_4C, 32
endanim
-; XXX
- frame SPRITE_ANIM_OAMSET_4D, 32
+; unused
+ frame SPRITE_ANIM_OAMSET_UNUSED_4D, 32
endanim
-; XXX
- frame SPRITE_ANIM_OAMSET_4E, 3
+; unused
+ frame SPRITE_ANIM_OAMSET_UNUSED_4E, 3
dorepeat 3
dorestart
-.Frameset_1c:
+.Frameset_Unused1C:
dorepeat 32
endanim
@@ -310,29 +310,29 @@ SpriteAnimFrameData: ; 8d6e6
frame SPRITE_ANIM_OAMSET_EGG_CRACK, 32
endanim
-.Frameset_EggHatch:
- frame SPRITE_ANIM_OAMSET_55, 32
+.Frameset_EggHatch1:
+ frame SPRITE_ANIM_OAMSET_EGG_HATCH, 32
endanim
-.Frameset_21:
- frame SPRITE_ANIM_OAMSET_55, 32, OAM_X_FLIP
+.Frameset_EggHatch2:
+ frame SPRITE_ANIM_OAMSET_EGG_HATCH, 32, OAM_X_FLIP
endanim
-.Frameset_22:
- frame SPRITE_ANIM_OAMSET_55, 32, OAM_Y_FLIP
+.Frameset_EggHatch3:
+ frame SPRITE_ANIM_OAMSET_EGG_HATCH, 32, OAM_Y_FLIP
endanim
-.Frameset_23:
- frame SPRITE_ANIM_OAMSET_55, 32, OAM_X_FLIP, OAM_Y_FLIP
+.Frameset_EggHatch4:
+ frame SPRITE_ANIM_OAMSET_EGG_HATCH, 32, OAM_X_FLIP, OAM_Y_FLIP
endanim
-.Frameset_24:
- frame SPRITE_ANIM_OAMSET_56, 10
- frame SPRITE_ANIM_OAMSET_57, 9
- frame SPRITE_ANIM_OAMSET_58, 10
- frame SPRITE_ANIM_OAMSET_59, 10
- frame SPRITE_ANIM_OAMSET_58, 9
- frame SPRITE_ANIM_OAMSET_5A, 10
+.Frameset_GSIntroHoOh:
+ frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_1, 10
+ frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_2, 9
+ frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_3, 10
+ frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_4, 10
+ frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_3, 9
+ frame SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_5, 10
dorestart
.Frameset_HeadbuttTree:
@@ -342,32 +342,32 @@ SpriteAnimFrameData: ; 8d6e6
frame SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2, OAM_X_FLIP
dorestart
-.Frameset_26:
- frame SPRITE_ANIM_OAMSET_5C, 2
+.Frameset_EZChatCursor1:
+ frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_1, 2
endanim
-.Frameset_27:
- frame SPRITE_ANIM_OAMSET_5D, 2
+.Frameset_EZChatCursor2:
+ frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_2, 2
endanim
-.Frameset_28:
- frame SPRITE_ANIM_OAMSET_5E, 2
+.Frameset_EZChatCursor3:
+ frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_3, 2
endanim
-.Frameset_29:
- frame SPRITE_ANIM_OAMSET_5F, 2
+.Frameset_EZChatCursor4:
+ frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_4, 2
endanim
-.Frameset_2a:
- frame SPRITE_ANIM_OAMSET_60, 2
+.Frameset_EZChatCursor5:
+ frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_5, 2
endanim
-.Frameset_2b:
- frame SPRITE_ANIM_OAMSET_61, 2
+.Frameset_EZChatCursor6:
+ frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_6, 2
endanim
-.Frameset_2c:
- frame SPRITE_ANIM_OAMSET_62, 2
+.Frameset_EZChatCursor7:
+ frame SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_7, 2
endanim
.Frameset_MobileTradeSentBall:
@@ -406,23 +406,23 @@ SpriteAnimFrameData: ; 8d6e6
frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 3
delanim
-.Frameset_ForMobile22:
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_22_1, 3
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_22_2, 3
+.Frameset_MobileTradeCableBulge:
+ frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_1, 3
+ frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_2, 3
dorestart
-.Frameset_ForMobile23:
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_23, 3
+.Frameset_MobileTradeSentPulse:
+ frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_SENT_PULSE, 3
endanim
-.Frameset_ForMobile24:
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_24, 3
+.Frameset_MobileTradeOTPulse:
+ frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_OT_PULSE, 3
endanim
-.Frameset_ForMobile25:
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_1, 2
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_2, 2
- frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_3, 2
+.Frameset_MobileTradePing:
+ frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_1, 2
+ frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_2, 2
+ frame SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_3, 2
delanim
.Frameset_IntroSuicune:
diff --git a/data/sprite_anims/oam.asm b/data/sprite_anims/oam.asm
index 99adc9df3..bfd5cbcd3 100644
--- a/data/sprite_anims/oam.asm
+++ b/data/sprite_anims/oam.asm
@@ -1,157 +1,157 @@
SpriteAnimOAMData: ; 8d94d
; entries correspond to SPRITE_ANIM_OAMSET_* constants
; vtile offset, pointer
- dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_1
- dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_2
- dbw $4c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_02
- dbw $5c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_03
- dbw $6c, .OAMData_04 ; SPRITE_ANIM_OAMSET_04
- dbw $6e, .OAMData_04 ; SPRITE_ANIM_OAMSET_05
- dbw $2d, .OAMData_06 ; SPRITE_ANIM_OAMSET_06
- dbw $4d, .OAMData_06 ; SPRITE_ANIM_OAMSET_07
- dbw $60, .OAMData_08 ; SPRITE_ANIM_OAMSET_08
- dbw $00, .OAMData_08 ; SPRITE_ANIM_OAMSET_09
- dbw $00, .OAMData_08 ; SPRITE_ANIM_OAMSET_0A
- dbw $06, .OAMData_08 ; SPRITE_ANIM_OAMSET_0B
- dbw $0c, .OAMData_0c ; SPRITE_ANIM_OAMSET_0C
- dbw $0d, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_0D
- dbw $00, .OAMData_0e ; SPRITE_ANIM_OAMSET_0E
- dbw $04, .OAMData_0e ; SPRITE_ANIM_OAMSET_0F
- dbw $08, .OAMData_0e ; SPRITE_ANIM_OAMSET_10
- dbw $40, .OAMData_0e ; SPRITE_ANIM_OAMSET_11
- dbw $44, .OAMData_0e ; SPRITE_ANIM_OAMSET_12
- dbw $48, .OAMData_0e ; SPRITE_ANIM_OAMSET_13
- dbw $4c, .OAMData_0e ; SPRITE_ANIM_OAMSET_14
- dbw $80, .OAMData_15 ; SPRITE_ANIM_OAMSET_15
- dbw $85, .OAMData_15 ; SPRITE_ANIM_OAMSET_16
- dbw $8a, .OAMData_15 ; SPRITE_ANIM_OAMSET_17
- dbw $00, .OAMData_18 ; SPRITE_ANIM_OAMSET_18
- dbw $01, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_19
- dbw $09, .OAMData_1a ; SPRITE_ANIM_OAMSET_1A
- dbw $10, .OAMData_1b ; SPRITE_ANIM_OAMSET_1B
- dbw $29, .OAMData_1b ; SPRITE_ANIM_OAMSET_1C
- dbw $42, .OAMData_1b ; SPRITE_ANIM_OAMSET_1D
- dbw $f8, .OAMData_GSTitleTrail ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1
- dbw $fa, .OAMData_GSTitleTrail ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2
- dbw $00, .OAMData_TextEntryCursor ; SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR
- dbw $00, .OAMData_ForFrameset09 ; SPRITE_ANIM_OAMSET_FOR_FRAMESET_09
- dbw $00, .OAMData_22 ; SPRITE_ANIM_OAMSET_22
- dbw $0f, .OAMData_GSIntroStar ; SPRITE_ANIM_OAMSET_GS_INTRO_STAR
- dbw $11, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1
- dbw $12, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2
- dbw $13, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3
- dbw $00, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1
- dbw $08, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2
- dbw $10, .OAMData_SlotsChansey1 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1
- dbw $10, .OAMData_SlotsChansey2 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2
- dbw $10, .OAMData_SlotsChansey3 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3
- dbw $10, .OAMData_SlotsChansey4 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4
- dbw $10, .OAMData_SlotsChansey5 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5
- dbw $3a, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_SLOTS_EGG
- dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_STILL_CURSOR
- dbw $00, .OAMData_TradePokeBall1 ; SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1
- dbw $02, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2
- dbw $06, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_1
- dbw $0a, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_2
- dbw $0e, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_3
- dbw $12, .OAMData_35 ; SPRITE_ANIM_OAMSET_35
- dbw $13, .OAMData_35 ; SPRITE_ANIM_OAMSET_36
- dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_TRADEMON_ICON_1
- dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_TRADEMON_ICON_2
- dbw $10, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE
- dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1
- dbw $04, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2
- dbw $00, .OAMData_RadioTuningKnob ; SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB
- dbw $00, .OAMData_PartyMonWithMail1 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1
- dbw $00, .OAMData_PartyMonWithMail2 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2
- dbw $00, .OAMData_PartyMonWithItem1 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1
- dbw $00, .OAMData_PartyMonWithItem2 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2
- dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1
- dbw $04, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2
- dbw $00, .OAMData_43 ; SPRITE_ANIM_OAMSET_43
- dbw $30, .OAMData_43 ; SPRITE_ANIM_OAMSET_44
- dbw $03, .OAMData_43 ; SPRITE_ANIM_OAMSET_45
- dbw $33, .OAMData_43 ; SPRITE_ANIM_OAMSET_46
- dbw $06, .OAMData_43 ; SPRITE_ANIM_OAMSET_47
- dbw $36, .OAMData_43 ; SPRITE_ANIM_OAMSET_48
- dbw $09, .OAMData_43 ; SPRITE_ANIM_OAMSET_49
- dbw $39, .OAMData_43 ; SPRITE_ANIM_OAMSET_4A
- dbw $0c, .OAMData_4b ; SPRITE_ANIM_OAMSET_4B
- dbw $0c, .OAMData_4c ; SPRITE_ANIM_OAMSET_4C
- dbw $3c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_4D
- dbw $3e, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_4E
- dbw $00, .OAMData_Leaf ; SPRITE_ANIM_OAMSET_LEAF
- dbw $00, .OAMData_Tree ; SPRITE_ANIM_OAMSET_TREE_1
- dbw $00, .OAMData_CutTree2 ; SPRITE_ANIM_OAMSET_CUT_TREE_2
- dbw $00, .OAMData_CutTree3 ; SPRITE_ANIM_OAMSET_CUT_TREE_3
- dbw $00, .OAMData_CutTree4 ; SPRITE_ANIM_OAMSET_CUT_TREE_4
- dbw $00, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_EGG_CRACK
- dbw $01, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_55
- dbw $00, .OAMData_56 ; SPRITE_ANIM_OAMSET_56
- dbw $00, .OAMData_57 ; SPRITE_ANIM_OAMSET_57
- dbw $00, .OAMData_58 ; SPRITE_ANIM_OAMSET_58
- dbw $00, .OAMData_59 ; SPRITE_ANIM_OAMSET_59
- dbw $00, .OAMData_5a ; SPRITE_ANIM_OAMSET_5A
- dbw $04, .OAMData_Tree ; SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2
- dbw $00, .OAMData_5c ; SPRITE_ANIM_OAMSET_5C
- dbw $00, .OAMData_5d ; SPRITE_ANIM_OAMSET_5D
- dbw $00, .OAMData_5e ; SPRITE_ANIM_OAMSET_5E
- dbw $00, .OAMData_5f ; SPRITE_ANIM_OAMSET_5F
- dbw $00, .OAMData_60 ; SPRITE_ANIM_OAMSET_60
- dbw $00, .OAMData_61 ; SPRITE_ANIM_OAMSET_61
- dbw $00, .OAMData_62 ; SPRITE_ANIM_OAMSET_62
- dbw $00, .OAMData_BlueWalk ; SPRITE_ANIM_OAMSET_BLUE_WALK_1
- dbw $04, .OAMData_BlueWalk ; SPRITE_ANIM_OAMSET_BLUE_WALK_2
- dbw $00, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1
- dbw $04, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2
- dbw $20, .OAMData_ForMobile22 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_22_1
- dbw $21, .OAMData_ForMobile22 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_22_2
- dbw $22, .OAMData_ForMobile25_1 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_1
- dbw $23, .OAMData_ForMobile25_2 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_2
- dbw $27, .OAMData_ForMobile25_3 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_3
- dbw $2a, .OAMData_ForMobile23 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_23
- dbw $2a, .OAMData_ForMobile24 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_24
- dbw $00, .OAMData_IntroSuicune1 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1
- dbw $08, .OAMData_IntroSuicune2 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2
- dbw $60, .OAMData_IntroSuicune3 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3
- dbw $68, .OAMData_IntroSuicune4 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4
- dbw $00, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_1
- dbw $05, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_2
- dbw $0a, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_3
- dbw $50, .OAMData_IntroWooper ; SPRITE_ANIM_OAMSET_INTRO_WOOPER
- dbw $00, .OAMData_IntroUnown1 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_1
- dbw $01, .OAMData_IntroUnown2 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_2
- dbw $04, .OAMData_IntroUnown3 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_3
- dbw $00, .OAMData_18 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1
- dbw $01, .OAMData_IntroUnownF2_2 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2
- dbw $03, .OAMData_IntroUnownF2_3 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3
- dbw $08, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4
- dbw $1c, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5
- dbw $80, .OAMData_IntroSuicuneAway ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY
- dbw $00, .OAMData_Celebi ; SPRITE_ANIM_OAMSET_CELEBI_1
- dbw $04, .OAMData_Celebi ; SPRITE_ANIM_OAMSET_CELEBI_2
- dbw $d0, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1
- dbw $d3, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2
- dbw $d6, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3
- dbw $6c, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4
- dbw $68, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5
- dbw $64, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6
- dbw $60, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7
- dbw $0c, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8
- dbw $08, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9
- dbw $04, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10
- dbw $00, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11
+ dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_1
+ dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_2
+ dbw $4c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_BUBBLE_1
+ dbw $5c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_BUBBLE_2
+ dbw $6c, .OAMData_GSIntroShellder ; SPRITE_ANIM_OAMSET_GS_INTRO_SHELLDER_1
+ dbw $6e, .OAMData_GSIntroShellder ; SPRITE_ANIM_OAMSET_GS_INTRO_SHELLDER_2
+ dbw $2d, .OAMData_GSIntroMagikarp ; SPRITE_ANIM_OAMSET_GS_INTRO_MAGIKARP_1
+ dbw $4d, .OAMData_GSIntroMagikarp ; SPRITE_ANIM_OAMSET_GS_INTRO_MAGIKARP_2
+ dbw $60, .OAMData_GSIntroLapras ; SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_1
+ dbw $00, .OAMData_GSIntroLapras ; SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_2
+ dbw $00, .OAMData_GSIntroLapras ; SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_3
+ dbw $06, .OAMData_GSIntroLapras ; SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_4
+ dbw $0c, .OAMData_GSIntroNote ; SPRITE_ANIM_OAMSET_GS_INTRO_NOTE
+ dbw $0d, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_INVISIBLE_NOTE
+ dbw $00, .OAMData_GSIntroJigglypuffPikachu ; SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_1
+ dbw $04, .OAMData_GSIntroJigglypuffPikachu ; SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_2
+ dbw $08, .OAMData_GSIntroJigglypuffPikachu ; SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_3
+ dbw $40, .OAMData_GSIntroJigglypuffPikachu ; SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_1
+ dbw $44, .OAMData_GSIntroJigglypuffPikachu ; SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_2
+ dbw $48, .OAMData_GSIntroJigglypuffPikachu ; SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_3
+ dbw $4c, .OAMData_GSIntroJigglypuffPikachu ; SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_4
+ dbw $80, .OAMData_GSIntroPikachuTail ; SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_1
+ dbw $85, .OAMData_GSIntroPikachuTail ; SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_2
+ dbw $8a, .OAMData_GSIntroPikachuTail ; SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_3
+ dbw $00, .OAMData_IntroUnownF2_1 ; SPRITE_ANIM_OAMSET_GS_INTRO_SMALL_FIREBALL
+ dbw $01, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_GS_INTRO_MED_FIREBALL
+ dbw $09, .OAMData_GSIntroBigFireball ; SPRITE_ANIM_OAMSET_GS_INTRO_BIG_FIREBALL
+ dbw $10, .OAMData_GSIntroStarter ; SPRITE_ANIM_OAMSET_GS_INTRO_CHIKORITA
+ dbw $29, .OAMData_GSIntroStarter ; SPRITE_ANIM_OAMSET_GS_INTRO_CYNDAQUIL
+ dbw $42, .OAMData_GSIntroStarter ; SPRITE_ANIM_OAMSET_GS_INTRO_TOTODILE
+ dbw $f8, .OAMData_GSTitleTrail ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1
+ dbw $fa, .OAMData_GSTitleTrail ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2
+ dbw $00, .OAMData_TextEntryCursor ; SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR
+ dbw $00, .OAMData_TextEntryCursorBig ; SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR_BIG
+ dbw $00, .OAMData_GSIntroGameFreakLogo ; SPRITE_ANIM_OAMSET_GS_INTRO_GAMEFREAK_LOGO
+ dbw $0f, .OAMData_GSIntroStar ; SPRITE_ANIM_OAMSET_GS_INTRO_STAR
+ dbw $11, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1
+ dbw $12, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2
+ dbw $13, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3
+ dbw $00, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1
+ dbw $08, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2
+ dbw $10, .OAMData_SlotsChansey1 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1
+ dbw $10, .OAMData_SlotsChansey2 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2
+ dbw $10, .OAMData_SlotsChansey3 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3
+ dbw $10, .OAMData_SlotsChansey4 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4
+ dbw $10, .OAMData_SlotsChansey5 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5
+ dbw $3a, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_SLOTS_EGG
+ dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_STILL_CURSOR
+ dbw $00, .OAMData_TradePokeBall1 ; SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1
+ dbw $02, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2
+ dbw $06, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_1
+ dbw $0a, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_2
+ dbw $0e, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_3
+ dbw $12, .OAMData_TradeTubeBulge ; SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_1
+ dbw $13, .OAMData_TradeTubeBulge ; SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_2
+ dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_TRADEMON_ICON_1
+ dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_TRADEMON_ICON_2
+ dbw $10, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE
+ dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1
+ dbw $04, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2
+ dbw $00, .OAMData_RadioTuningKnob ; SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB
+ dbw $00, .OAMData_PartyMonWithMail1 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1
+ dbw $00, .OAMData_PartyMonWithMail2 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2
+ dbw $00, .OAMData_PartyMonWithItem1 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1
+ dbw $00, .OAMData_PartyMonWithItem2 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2
+ dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1
+ dbw $04, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2
+ dbw $00, .OAMData_Unused43_4A ; SPRITE_ANIM_OAMSET_UNUSED_43
+ dbw $30, .OAMData_Unused43_4A ; SPRITE_ANIM_OAMSET_UNUSED_44
+ dbw $03, .OAMData_Unused43_4A ; SPRITE_ANIM_OAMSET_UNUSED_45
+ dbw $33, .OAMData_Unused43_4A ; SPRITE_ANIM_OAMSET_UNUSED_46
+ dbw $06, .OAMData_Unused43_4A ; SPRITE_ANIM_OAMSET_UNUSED_47
+ dbw $36, .OAMData_Unused43_4A ; SPRITE_ANIM_OAMSET_UNUSED_48
+ dbw $09, .OAMData_Unused43_4A ; SPRITE_ANIM_OAMSET_UNUSED_49
+ dbw $39, .OAMData_Unused43_4A ; SPRITE_ANIM_OAMSET_UNUSED_4A
+ dbw $0c, .OAMData_Unused4B ; SPRITE_ANIM_OAMSET_UNUSED_4B
+ dbw $0c, .OAMData_Unused4C ; SPRITE_ANIM_OAMSET_UNUSED_4C
+ dbw $3c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_UNUSED_4D
+ dbw $3e, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_UNUSED_4E
+ dbw $00, .OAMData_Leaf ; SPRITE_ANIM_OAMSET_LEAF
+ dbw $00, .OAMData_Tree ; SPRITE_ANIM_OAMSET_TREE_1
+ dbw $00, .OAMData_CutTree2 ; SPRITE_ANIM_OAMSET_CUT_TREE_2
+ dbw $00, .OAMData_CutTree3 ; SPRITE_ANIM_OAMSET_CUT_TREE_3
+ dbw $00, .OAMData_CutTree4 ; SPRITE_ANIM_OAMSET_CUT_TREE_4
+ dbw $00, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_EGG_CRACK
+ dbw $01, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_EGG_HATCH
+ dbw $00, .OAMData_GSIntroHoOh1 ; SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_1
+ dbw $00, .OAMData_GSIntroHoOh2 ; SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_2
+ dbw $00, .OAMData_GSIntroHoOh3 ; SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_3
+ dbw $00, .OAMData_GSIntroHoOh4 ; SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_4
+ dbw $00, .OAMData_GSIntroHoOh5 ; SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_5
+ dbw $04, .OAMData_Tree ; SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2
+ dbw $00, .OAMData_EZChatCursor1 ; SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_1
+ dbw $00, .OAMData_EZChatCursor2 ; SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_2
+ dbw $00, .OAMData_EZChatCursor3 ; SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_3
+ dbw $00, .OAMData_EZChatCursor4 ; SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_4
+ dbw $00, .OAMData_EZChatCursor5 ; SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_5
+ dbw $00, .OAMData_EZChatCursor6 ; SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_6
+ dbw $00, .OAMData_EZChatCursor7 ; SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_7
+ dbw $00, .OAMData_BlueWalk ; SPRITE_ANIM_OAMSET_BLUE_WALK_1
+ dbw $04, .OAMData_BlueWalk ; SPRITE_ANIM_OAMSET_BLUE_WALK_2
+ dbw $00, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1
+ dbw $04, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2
+ dbw $20, .OAMData_MobileTradeCableBulge ; SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_1
+ dbw $21, .OAMData_MobileTradeCableBulge ; SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_2
+ dbw $22, .OAMData_MobileTradePing1 ; SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_1
+ dbw $23, .OAMData_MobileTradePing2 ; SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_2
+ dbw $27, .OAMData_MobileTradePing3 ; SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_3
+ dbw $2a, .OAMData_MobileTradeSentPulse ; SPRITE_ANIM_OAMSET_MOBILE_TRADE_SENT_PULSE
+ dbw $2a, .OAMData_MobileTradeOTPulse ; SPRITE_ANIM_OAMSET_MOBILE_TRADE_OT_PULSE
+ dbw $00, .OAMData_IntroSuicune1 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1
+ dbw $08, .OAMData_IntroSuicune2 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2
+ dbw $60, .OAMData_IntroSuicune3 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3
+ dbw $68, .OAMData_IntroSuicune4 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4
+ dbw $00, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_1
+ dbw $05, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_2
+ dbw $0a, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_3
+ dbw $50, .OAMData_IntroWooper ; SPRITE_ANIM_OAMSET_INTRO_WOOPER
+ dbw $00, .OAMData_IntroUnown1 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_1
+ dbw $01, .OAMData_IntroUnown2 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_2
+ dbw $04, .OAMData_IntroUnown3 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_3
+ dbw $00, .OAMData_IntroUnownF2_1 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1
+ dbw $01, .OAMData_IntroUnownF2_2 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2
+ dbw $03, .OAMData_IntroUnownF2_3 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3
+ dbw $08, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4
+ dbw $1c, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5
+ dbw $80, .OAMData_IntroSuicuneAway ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY
+ dbw $00, .OAMData_Celebi ; SPRITE_ANIM_OAMSET_CELEBI_1
+ dbw $04, .OAMData_Celebi ; SPRITE_ANIM_OAMSET_CELEBI_2
+ dbw $d0, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1
+ dbw $d3, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2
+ dbw $d6, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3
+ dbw $6c, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4
+ dbw $68, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5
+ dbw $64, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6
+ dbw $60, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7
+ dbw $0c, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8
+ dbw $08, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9
+ dbw $04, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10
+ dbw $00, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11
.OAMData_1x1_Palette0:
db 1
- dsprite -1, 4, -1, 4, $00, $00
+ dsprite -1, 4, -1, 4, $00, 0
-.OAMData_04:
+.OAMData_GSIntroShellder:
db 4
- dsprite -1, 0, -1, 0, $00, $00
- dsprite -1, 0, 0, 0, $01, $00
- dsprite 0, 0, -1, 0, $10, $00
- dsprite 0, 0, 0, 0, $11, $00
+ dsprite -1, 0, -1, 0, $00, 0
+ dsprite -1, 0, 0, 0, $01, 0
+ dsprite 0, 0, -1, 0, $10, 0
+ dsprite 0, 0, 0, 0, $11, 0
.OAMData_GSIntroStar:
db 4
@@ -162,32 +162,31 @@ SpriteAnimOAMData: ; 8d94d
.OAMData_TradePokeBall1:
db 4
- dsprite -1, 0, -1, 0, $00, $80
- dsprite -1, 0, 0, 0, $00, $a0
- dsprite 0, 0, -1, 0, $01, $80
- dsprite 0, 0, 0, 0, $01, $a0
+ dsprite -1, 0, -1, 0, $00, 0 | PRIORITY
+ dsprite -1, 0, 0, 0, $00, 0 | X_FLIP | PRIORITY
+ dsprite 0, 0, -1, 0, $01, 0 | PRIORITY
+ dsprite 0, 0, 0, 0, $01, 0 | X_FLIP | PRIORITY
-.OAMData_18:
+.OAMData_IntroUnownF2_1:
db 4
- dsprite -1, 0, -1, 0, $00, $00
- dsprite -1, 0, 0, 0, $00, $20
- dsprite 0, 0, -1, 0, $00, $40
- dsprite 0, 0, 0, 0, $00, $60
+ dsprite -1, 0, -1, 0, $00, 0
+ dsprite -1, 0, 0, 0, $00, 0 | X_FLIP
+ dsprite 0, 0, -1, 0, $00, 0 | Y_FLIP
+ dsprite 0, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP
-.OAMData_35:
+.OAMData_TradeTubeBulge:
db 4
- dsprite -1, 0, -1, 0, $00, $07
- dsprite -1, 0, 0, 0, $00, $27
- dsprite 0, 0, -1, 0, $00, $47
- dsprite 0, 0, 0, 0, $00, $67
-; 8db4b
+ dsprite -1, 0, -1, 0, $00, 7
+ dsprite -1, 0, 0, 0, $00, 7 | X_FLIP
+ dsprite 0, 0, -1, 0, $00, 7 | Y_FLIP
+ dsprite 0, 0, 0, 0, $00, 7 | X_FLIP | Y_FLIP
-; 8db4b
+; unused
db 4
- dsprite -1, 0, -1, 0, $00, $80
- dsprite -1, 0, 0, 0, $00, $a0
- dsprite 0, 0, -1, 0, $00, $c0
- dsprite 0, 0, 0, 0, $00, $e0
+ dsprite -1, 0, -1, 0, $00, 0 | PRIORITY
+ dsprite -1, 0, 0, 0, $00, 0 | X_FLIP | PRIORITY
+ dsprite 0, 0, -1, 0, $00, 0 | Y_FLIP | PRIORITY
+ dsprite 0, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP | PRIORITY
.OAMData_TradePoofBubble:
db 16
@@ -208,143 +207,142 @@ SpriteAnimOAMData: ; 8d94d
dsprite 1, 0, 0, 0, $01, 0 | X_FLIP | Y_FLIP
dsprite 1, 0, 1, 0, $00, 0 | X_FLIP | Y_FLIP
-.OAMData_1a:
+.OAMData_GSIntroBigFireball:
db 36
- dsprite -3, 0, -3, 0, $00, $00
- dsprite -3, 0, -2, 0, $01, $00
- dsprite -3, 0, -1, 0, $02, $00
- dsprite -2, 0, -3, 0, $03, $00
- dsprite -2, 0, -2, 0, $04, $00
- dsprite -2, 0, -1, 0, $05, $00
- dsprite -1, 0, -3, 0, $06, $00
- dsprite -1, 0, -2, 0, $05, $00
- dsprite -1, 0, -1, 0, $05, $00
- dsprite -3, 0, 0, 0, $02, $20
- dsprite -3, 0, 1, 0, $01, $20
- dsprite -3, 0, 2, 0, $00, $20
- dsprite -2, 0, 0, 0, $05, $20
- dsprite -2, 0, 1, 0, $04, $20
- dsprite -2, 0, 2, 0, $03, $20
- dsprite -1, 0, 0, 0, $05, $20
- dsprite -1, 0, 1, 0, $05, $20
- dsprite -1, 0, 2, 0, $06, $20
- dsprite 0, 0, -3, 0, $06, $40
- dsprite 0, 0, -2, 0, $05, $40
- dsprite 0, 0, -1, 0, $05, $40
- dsprite 1, 0, -3, 0, $03, $40
- dsprite 1, 0, -2, 0, $04, $40
- dsprite 1, 0, -1, 0, $05, $40
- dsprite 2, 0, -3, 0, $00, $40
- dsprite 2, 0, -2, 0, $01, $40
- dsprite 2, 0, -1, 0, $02, $40
- dsprite 0, 0, 0, 0, $05, $60
- dsprite 0, 0, 1, 0, $05, $60
- dsprite 0, 0, 2, 0, $06, $60
- dsprite 1, 0, 0, 0, $05, $60
- dsprite 1, 0, 1, 0, $04, $60
- dsprite 1, 0, 2, 0, $03, $60
- dsprite 2, 0, 0, 0, $02, $60
- dsprite 2, 0, 1, 0, $01, $60
- dsprite 2, 0, 2, 0, $00, $60
-
-.OAMData_43:
+ dsprite -3, 0, -3, 0, $00, 0
+ dsprite -3, 0, -2, 0, $01, 0
+ dsprite -3, 0, -1, 0, $02, 0
+ dsprite -2, 0, -3, 0, $03, 0
+ dsprite -2, 0, -2, 0, $04, 0
+ dsprite -2, 0, -1, 0, $05, 0
+ dsprite -1, 0, -3, 0, $06, 0
+ dsprite -1, 0, -2, 0, $05, 0
+ dsprite -1, 0, -1, 0, $05, 0
+ dsprite -3, 0, 0, 0, $02, 0 | X_FLIP
+ dsprite -3, 0, 1, 0, $01, 0 | X_FLIP
+ dsprite -3, 0, 2, 0, $00, 0 | X_FLIP
+ dsprite -2, 0, 0, 0, $05, 0 | X_FLIP
+ dsprite -2, 0, 1, 0, $04, 0 | X_FLIP
+ dsprite -2, 0, 2, 0, $03, 0 | X_FLIP
+ dsprite -1, 0, 0, 0, $05, 0 | X_FLIP
+ dsprite -1, 0, 1, 0, $05, 0 | X_FLIP
+ dsprite -1, 0, 2, 0, $06, 0 | X_FLIP
+ dsprite 0, 0, -3, 0, $06, 0 | Y_FLIP
+ dsprite 0, 0, -2, 0, $05, 0 | Y_FLIP
+ dsprite 0, 0, -1, 0, $05, 0 | Y_FLIP
+ dsprite 1, 0, -3, 0, $03, 0 | Y_FLIP
+ dsprite 1, 0, -2, 0, $04, 0 | Y_FLIP
+ dsprite 1, 0, -1, 0, $05, 0 | Y_FLIP
+ dsprite 2, 0, -3, 0, $00, 0 | Y_FLIP
+ dsprite 2, 0, -2, 0, $01, 0 | Y_FLIP
+ dsprite 2, 0, -1, 0, $02, 0 | Y_FLIP
+ dsprite 0, 0, 0, 0, $05, 0 | X_FLIP | Y_FLIP
+ dsprite 0, 0, 1, 0, $05, 0 | X_FLIP | Y_FLIP
+ dsprite 0, 0, 2, 0, $06, 0 | X_FLIP | Y_FLIP
+ dsprite 1, 0, 0, 0, $05, 0 | X_FLIP | Y_FLIP
+ dsprite 1, 0, 1, 0, $04, 0 | X_FLIP | Y_FLIP
+ dsprite 1, 0, 2, 0, $03, 0 | X_FLIP | Y_FLIP
+ dsprite 2, 0, 0, 0, $02, 0 | X_FLIP | Y_FLIP
+ dsprite 2, 0, 1, 0, $01, 0 | X_FLIP | Y_FLIP
+ dsprite 2, 0, 2, 0, $00, 0 | X_FLIP | Y_FLIP
+
+.OAMData_Unused43_4A:
db 9
- dsprite -2, 4, -2, 4, $00, $00
- dsprite -2, 4, -1, 4, $01, $00
- dsprite -2, 4, 0, 4, $02, $00
- dsprite -1, 4, -2, 4, $10, $00
- dsprite -1, 4, -1, 4, $11, $00
- dsprite -1, 4, 0, 4, $12, $00
- dsprite 0, 4, -2, 4, $20, $00
- dsprite 0, 4, -1, 4, $21, $00
- dsprite 0, 4, 0, 4, $22, $00
-
-.OAMData_0e:
+ dsprite -2, 4, -2, 4, $00, 0
+ dsprite -2, 4, -1, 4, $01, 0
+ dsprite -2, 4, 0, 4, $02, 0
+ dsprite -1, 4, -2, 4, $10, 0
+ dsprite -1, 4, -1, 4, $11, 0
+ dsprite -1, 4, 0, 4, $12, 0
+ dsprite 0, 4, -2, 4, $20, 0
+ dsprite 0, 4, -1, 4, $21, 0
+ dsprite 0, 4, 0, 4, $22, 0
+
+.OAMData_GSIntroJigglypuffPikachu:
db 16
- dsprite -2, 0, -2, 0, $00, $00
- dsprite -2, 0, -1, 0, $01, $00
- dsprite -2, 0, 0, 0, $02, $00
- dsprite -2, 0, 1, 0, $03, $00
- dsprite -1, 0, -2, 0, $10, $00
- dsprite -1, 0, -1, 0, $11, $00
- dsprite -1, 0, 0, 0, $12, $00
- dsprite -1, 0, 1, 0, $13, $00
- dsprite 0, 0, -2, 0, $20, $00
- dsprite 0, 0, -1, 0, $21, $00
- dsprite 0, 0, 0, 0, $22, $00
- dsprite 0, 0, 1, 0, $23, $00
- dsprite 1, 0, -2, 0, $30, $00
- dsprite 1, 0, -1, 0, $31, $00
- dsprite 1, 0, 0, 0, $32, $00
- dsprite 1, 0, 1, 0, $33, $00
-
-.OAMData_1b:
+ dsprite -2, 0, -2, 0, $00, 0
+ dsprite -2, 0, -1, 0, $01, 0
+ dsprite -2, 0, 0, 0, $02, 0
+ dsprite -2, 0, 1, 0, $03, 0
+ dsprite -1, 0, -2, 0, $10, 0
+ dsprite -1, 0, -1, 0, $11, 0
+ dsprite -1, 0, 0, 0, $12, 0
+ dsprite -1, 0, 1, 0, $13, 0
+ dsprite 0, 0, -2, 0, $20, 0
+ dsprite 0, 0, -1, 0, $21, 0
+ dsprite 0, 0, 0, 0, $22, 0
+ dsprite 0, 0, 1, 0, $23, 0
+ dsprite 1, 0, -2, 0, $30, 0
+ dsprite 1, 0, -1, 0, $31, 0
+ dsprite 1, 0, 0, 0, $32, 0
+ dsprite 1, 0, 1, 0, $33, 0
+
+.OAMData_GSIntroStarter:
db 25
- dsprite -3, 4, -3, 4, $00, $00
- dsprite -2, 4, -3, 4, $01, $00
- dsprite -1, 4, -3, 4, $02, $00
- dsprite 0, 4, -3, 4, $03, $00
- dsprite 1, 4, -3, 4, $04, $00
- dsprite -3, 4, -2, 4, $05, $00
- dsprite -2, 4, -2, 4, $06, $00
- dsprite -1, 4, -2, 4, $07, $00
- dsprite 0, 4, -2, 4, $08, $00
- dsprite 1, 4, -2, 4, $09, $00
- dsprite -3, 4, -1, 4, $0a, $00
- dsprite -2, 4, -1, 4, $0b, $00
- dsprite -1, 4, -1, 4, $0c, $00
- dsprite 0, 4, -1, 4, $0d, $00
- dsprite 1, 4, -1, 4, $0e, $00
- dsprite -3, 4, 0, 4, $0f, $00
- dsprite -2, 4, 0, 4, $10, $00
- dsprite -1, 4, 0, 4, $11, $00
- dsprite 0, 4, 0, 4, $12, $00
- dsprite 1, 4, 0, 4, $13, $00
- dsprite -3, 4, 1, 4, $14, $00
- dsprite -2, 4, 1, 4, $15, $00
- dsprite -1, 4, 1, 4, $16, $00
- dsprite 0, 4, 1, 4, $17, $00
- dsprite 1, 4, 1, 4, $18, $00
-; 8dcf9
-
-; 8dcf9
+ dsprite -3, 4, -3, 4, $00, 0
+ dsprite -2, 4, -3, 4, $01, 0
+ dsprite -1, 4, -3, 4, $02, 0
+ dsprite 0, 4, -3, 4, $03, 0
+ dsprite 1, 4, -3, 4, $04, 0
+ dsprite -3, 4, -2, 4, $05, 0
+ dsprite -2, 4, -2, 4, $06, 0
+ dsprite -1, 4, -2, 4, $07, 0
+ dsprite 0, 4, -2, 4, $08, 0
+ dsprite 1, 4, -2, 4, $09, 0
+ dsprite -3, 4, -1, 4, $0a, 0
+ dsprite -2, 4, -1, 4, $0b, 0
+ dsprite -1, 4, -1, 4, $0c, 0
+ dsprite 0, 4, -1, 4, $0d, 0
+ dsprite 1, 4, -1, 4, $0e, 0
+ dsprite -3, 4, 0, 4, $0f, 0
+ dsprite -2, 4, 0, 4, $10, 0
+ dsprite -1, 4, 0, 4, $11, 0
+ dsprite 0, 4, 0, 4, $12, 0
+ dsprite 1, 4, 0, 4, $13, 0
+ dsprite -3, 4, 1, 4, $14, 0
+ dsprite -2, 4, 1, 4, $15, 0
+ dsprite -1, 4, 1, 4, $16, 0
+ dsprite 0, 4, 1, 4, $17, 0
+ dsprite 1, 4, 1, 4, $18, 0
+
+; unused
db 36
- dsprite -3, 0, -3, 0, $00, $00
- dsprite -3, 0, -2, 0, $01, $00
- dsprite -3, 0, -1, 0, $02, $00
- dsprite -3, 0, 0, 0, $03, $00
- dsprite -3, 0, 1, 0, $04, $00
- dsprite -3, 0, 2, 0, $05, $00
- dsprite -2, 0, -3, 0, $06, $00
- dsprite -2, 0, -2, 0, $07, $00
- dsprite -2, 0, -1, 0, $08, $00
- dsprite -2, 0, 0, 0, $09, $00
- dsprite -2, 0, 1, 0, $0a, $00
- dsprite -2, 0, 2, 0, $0b, $00
- dsprite -1, 0, -3, 0, $0c, $00
- dsprite -1, 0, -2, 0, $0d, $00
- dsprite -1, 0, -1, 0, $0e, $00
- dsprite -1, 0, 0, 0, $0f, $00
- dsprite -1, 0, 1, 0, $10, $00
- dsprite -1, 0, 2, 0, $11, $00
- dsprite 0, 0, -3, 0, $12, $00
- dsprite 0, 0, -2, 0, $13, $00
- dsprite 0, 0, -1, 0, $14, $00
- dsprite 0, 0, 0, 0, $15, $00
- dsprite 0, 0, 1, 0, $16, $00
- dsprite 0, 0, 2, 0, $17, $00
- dsprite 1, 0, -3, 0, $18, $00
- dsprite 1, 0, -2, 0, $19, $00
- dsprite 1, 0, -1, 0, $1a, $00
- dsprite 1, 0, 0, 0, $1b, $00
- dsprite 1, 0, 1, 0, $1c, $00
- dsprite 1, 0, 2, 0, $1d, $00
- dsprite 2, 0, -3, 0, $1e, $00
- dsprite 2, 0, -2, 0, $1f, $00
- dsprite 2, 0, -1, 0, $20, $00
- dsprite 2, 0, 0, 0, $21, $00
- dsprite 2, 0, 1, 0, $22, $00
- dsprite 2, 0, 2, 0, $23, $00
+ dsprite -3, 0, -3, 0, $00, 0
+ dsprite -3, 0, -2, 0, $01, 0
+ dsprite -3, 0, -1, 0, $02, 0
+ dsprite -3, 0, 0, 0, $03, 0
+ dsprite -3, 0, 1, 0, $04, 0
+ dsprite -3, 0, 2, 0, $05, 0
+ dsprite -2, 0, -3, 0, $06, 0
+ dsprite -2, 0, -2, 0, $07, 0
+ dsprite -2, 0, -1, 0, $08, 0
+ dsprite -2, 0, 0, 0, $09, 0
+ dsprite -2, 0, 1, 0, $0a, 0
+ dsprite -2, 0, 2, 0, $0b, 0
+ dsprite -1, 0, -3, 0, $0c, 0
+ dsprite -1, 0, -2, 0, $0d, 0
+ dsprite -1, 0, -1, 0, $0e, 0
+ dsprite -1, 0, 0, 0, $0f, 0
+ dsprite -1, 0, 1, 0, $10, 0
+ dsprite -1, 0, 2, 0, $11, 0
+ dsprite 0, 0, -3, 0, $12, 0
+ dsprite 0, 0, -2, 0, $13, 0
+ dsprite 0, 0, -1, 0, $14, 0
+ dsprite 0, 0, 0, 0, $15, 0
+ dsprite 0, 0, 1, 0, $16, 0
+ dsprite 0, 0, 2, 0, $17, 0
+ dsprite 1, 0, -3, 0, $18, 0
+ dsprite 1, 0, -2, 0, $19, 0
+ dsprite 1, 0, -1, 0, $1a, 0
+ dsprite 1, 0, 0, 0, $1b, 0
+ dsprite 1, 0, 1, 0, $1c, 0
+ dsprite 1, 0, 2, 0, $1d, 0
+ dsprite 2, 0, -3, 0, $1e, 0
+ dsprite 2, 0, -2, 0, $1f, 0
+ dsprite 2, 0, -1, 0, $20, 0
+ dsprite 2, 0, 0, 0, $21, 0
+ dsprite 2, 0, 1, 0, $22, 0
+ dsprite 2, 0, 2, 0, $23, 0
.OAMData_RedWalk:
db 4
@@ -355,10 +353,10 @@ SpriteAnimOAMData: ; 8d94d
.OAMData_MagnetTrainRed:
db 4
- dsprite -1, 0, -1, 0, $00, PAL_OW_RED | BEHIND_BG
- dsprite -1, 0, 0, 0, $01, PAL_OW_RED | BEHIND_BG
- dsprite 0, 0, -1, 0, $02, PAL_OW_RED | BEHIND_BG
- dsprite 0, 0, 0, 0, $03, PAL_OW_RED | BEHIND_BG
+ dsprite -1, 0, -1, 0, $00, PAL_OW_RED | PRIORITY
+ dsprite -1, 0, 0, 0, $01, PAL_OW_RED | PRIORITY
+ dsprite 0, 0, -1, 0, $02, PAL_OW_RED | PRIORITY
+ dsprite 0, 0, 0, 0, $03, PAL_OW_RED | PRIORITY
.OAMData_PartyMonWithMail1:
db 4
@@ -388,59 +386,59 @@ SpriteAnimOAMData: ; 8d94d
dsprite 0, 0, -1, 0, $09, PAL_OW_RED
dsprite 0, 0, 0, 0, $07, PAL_OW_RED
-.OAMData_06:
+.OAMData_GSIntroMagikarp:
db 6
- dsprite -1, 0, -2, 4, $00, $01
- dsprite -1, 0, -1, 4, $01, $01
- dsprite -1, 0, 0, 4, $02, $01
- dsprite 0, 0, -2, 4, $10, $01
- dsprite 0, 0, -1, 4, $11, $01
- dsprite 0, 0, 0, 4, $12, $01
-
-.OAMData_08:
+ dsprite -1, 0, -2, 4, $00, 1
+ dsprite -1, 0, -1, 4, $01, 1
+ dsprite -1, 0, 0, 4, $02, 1
+ dsprite 0, 0, -2, 4, $10, 1
+ dsprite 0, 0, -1, 4, $11, 1
+ dsprite 0, 0, 0, 4, $12, 1
+
+.OAMData_GSIntroLapras:
db 29
- dsprite -3, 0, -3, 0, $00, $00
- dsprite -3, 0, -2, 0, $01, $00
- dsprite -3, 0, -1, 0, $02, $00
- dsprite -3, 0, 0, 0, $03, $00
- dsprite -2, 0, -3, 0, $10, $00
- dsprite -2, 0, -2, 0, $11, $00
- dsprite -2, 0, -1, 0, $12, $00
- dsprite -2, 0, 0, 0, $13, $00
- dsprite -1, 0, -3, 0, $20, $00
- dsprite -1, 0, -2, 0, $21, $00
- dsprite -1, 0, -1, 0, $22, $00
- dsprite -1, 0, 0, 0, $23, $00
- dsprite -1, 0, 1, 0, $24, $00
- dsprite 0, 0, -3, 0, $30, $80
- dsprite 0, 0, -2, 0, $31, $80
- dsprite 0, 0, -1, 0, $32, $80
- dsprite 0, 0, 0, 0, $33, $80
- dsprite 0, 0, 1, 0, $34, $80
- dsprite 1, 0, -3, 0, $40, $80
- dsprite 1, 0, -2, 0, $41, $80
- dsprite 1, 0, -1, 0, $42, $80
- dsprite 1, 0, 0, 0, $43, $80
- dsprite 1, 0, 1, 0, $44, $80
- dsprite 1, 0, 2, 0, $45, $80
- dsprite 2, 0, -2, 0, $51, $80
- dsprite 2, 0, -1, 0, $52, $80
- dsprite 2, 0, 0, 0, $53, $80
- dsprite 2, 0, 1, 0, $54, $80
- dsprite 2, 0, 2, 0, $55, $80
-
-.OAMData_0c:
+ dsprite -3, 0, -3, 0, $00, 0
+ dsprite -3, 0, -2, 0, $01, 0
+ dsprite -3, 0, -1, 0, $02, 0
+ dsprite -3, 0, 0, 0, $03, 0
+ dsprite -2, 0, -3, 0, $10, 0
+ dsprite -2, 0, -2, 0, $11, 0
+ dsprite -2, 0, -1, 0, $12, 0
+ dsprite -2, 0, 0, 0, $13, 0
+ dsprite -1, 0, -3, 0, $20, 0
+ dsprite -1, 0, -2, 0, $21, 0
+ dsprite -1, 0, -1, 0, $22, 0
+ dsprite -1, 0, 0, 0, $23, 0
+ dsprite -1, 0, 1, 0, $24, 0
+ dsprite 0, 0, -3, 0, $30, 0 | PRIORITY
+ dsprite 0, 0, -2, 0, $31, 0 | PRIORITY
+ dsprite 0, 0, -1, 0, $32, 0 | PRIORITY
+ dsprite 0, 0, 0, 0, $33, 0 | PRIORITY
+ dsprite 0, 0, 1, 0, $34, 0 | PRIORITY
+ dsprite 1, 0, -3, 0, $40, 0 | PRIORITY
+ dsprite 1, 0, -2, 0, $41, 0 | PRIORITY
+ dsprite 1, 0, -1, 0, $42, 0 | PRIORITY
+ dsprite 1, 0, 0, 0, $43, 0 | PRIORITY
+ dsprite 1, 0, 1, 0, $44, 0 | PRIORITY
+ dsprite 1, 0, 2, 0, $45, 0 | PRIORITY
+ dsprite 2, 0, -2, 0, $51, 0 | PRIORITY
+ dsprite 2, 0, -1, 0, $52, 0 | PRIORITY
+ dsprite 2, 0, 0, 0, $53, 0 | PRIORITY
+ dsprite 2, 0, 1, 0, $54, 0 | PRIORITY
+ dsprite 2, 0, 2, 0, $55, 0 | PRIORITY
+
+.OAMData_GSIntroNote:
db 2
- dsprite -1, 0, -1, 4, $00, $00
- dsprite 0, 0, -1, 4, $10, $00
+ dsprite -1, 0, -1, 4, $00, 0
+ dsprite 0, 0, -1, 4, $10, 0
-.OAMData_15:
+.OAMData_GSIntroPikachuTail:
db 5
- dsprite -2, 0, 3, 0, $00, $00
- dsprite -2, 0, 4, 0, $01, $00
- dsprite -1, 0, 2, 0, $02, $00
- dsprite -1, 0, 3, 0, $03, $00
- dsprite 0, 0, 2, 0, $04, $00
+ dsprite -2, 0, 3, 0, $00, 0
+ dsprite -2, 0, 4, 0, $01, 0
+ dsprite -1, 0, 2, 0, $02, 0
+ dsprite -1, 0, 3, 0, $03, 0
+ dsprite 0, 0, 2, 0, $04, 0
.OAMData_Leaf:
db 1
@@ -460,7 +458,7 @@ SpriteAnimOAMData: ; 8d94d
dsprite 0, 0, -1, 7, $00, 0 | Y_FLIP
dsprite 0, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP
-.OAMData_ForFrameset09:
+.OAMData_TextEntryCursorBig:
db 10
dsprite -1, 7, 0, 0, $00, 0
dsprite -1, 7, 1, 0, $01, 0
@@ -473,23 +471,23 @@ SpriteAnimOAMData: ; 8d94d
dsprite 0, 0, 3, 0, $01, 0 | Y_FLIP
dsprite 0, 0, 4, 0, $00, 0 | X_FLIP | Y_FLIP
-.OAMData_22:
+.OAMData_GSIntroGameFreakLogo:
db 15
- dsprite -3, 4, -2, 4, $00, $11
- dsprite -3, 4, -1, 4, $01, $11
- dsprite -3, 4, 0, 4, $02, $11
- dsprite -2, 4, -2, 4, $03, $11
- dsprite -2, 4, -1, 4, $04, $11
- dsprite -2, 4, 0, 4, $05, $11
- dsprite -1, 4, -2, 4, $06, $11
- dsprite -1, 4, -1, 4, $07, $11
- dsprite -1, 4, 0, 4, $08, $11
- dsprite 0, 4, -2, 4, $09, $11
- dsprite 0, 4, -1, 4, $0a, $11
- dsprite 0, 4, 0, 4, $0b, $11
- dsprite 1, 4, -2, 4, $0c, $11
- dsprite 1, 4, -1, 4, $0d, $11
- dsprite 1, 4, 0, 4, $0e, $11
+ dsprite -3, 4, -2, 4, $00, 1 | OBP_NUM
+ dsprite -3, 4, -1, 4, $01, 1 | OBP_NUM
+ dsprite -3, 4, 0, 4, $02, 1 | OBP_NUM
+ dsprite -2, 4, -2, 4, $03, 1 | OBP_NUM
+ dsprite -2, 4, -1, 4, $04, 1 | OBP_NUM
+ dsprite -2, 4, 0, 4, $05, 1 | OBP_NUM
+ dsprite -1, 4, -2, 4, $06, 1 | OBP_NUM
+ dsprite -1, 4, -1, 4, $07, 1 | OBP_NUM
+ dsprite -1, 4, 0, 4, $08, 1 | OBP_NUM
+ dsprite 0, 4, -2, 4, $09, 1 | OBP_NUM
+ dsprite 0, 4, -1, 4, $0a, 1 | OBP_NUM
+ dsprite 0, 4, 0, 4, $0b, 1 | OBP_NUM
+ dsprite 1, 4, -2, 4, $0c, 1 | OBP_NUM
+ dsprite 1, 4, -1, 4, $0d, 1 | OBP_NUM
+ dsprite 1, 4, 0, 4, $0e, 1 | OBP_NUM
.OAMData_SlotsGolem:
db 6
@@ -551,21 +549,21 @@ SpriteAnimOAMData: ; 8d94d
dsprite -1, 4, -1, 4, $00, 0 | OBP_NUM
dsprite 0, 4, -1, 4, $00, 0 | OBP_NUM
-.OAMData_4b:
+.OAMData_Unused4B:
db 6
- dsprite 0, 0, 0, 0, $00, $00
- dsprite 0, 0, 1, 0, $01, $00
- dsprite 0, 0, 2, 0, $01, $00
- dsprite 0, 0, 3, 0, $01, $00
- dsprite 0, 0, 4, 0, $02, $00
- dsprite 0, 0, 5, 0, $03, $00
-
-.OAMData_4c:
+ dsprite 0, 0, 0, 0, $00, 0
+ dsprite 0, 0, 1, 0, $01, 0
+ dsprite 0, 0, 2, 0, $01, 0
+ dsprite 0, 0, 3, 0, $01, 0
+ dsprite 0, 0, 4, 0, $02, 0
+ dsprite 0, 0, 5, 0, $03, 0
+
+.OAMData_Unused4C:
db 4
- dsprite 0, 0, 0, 0, $00, $00
- dsprite 0, 0, 1, 0, $01, $00
- dsprite 0, 0, 2, 0, $02, $00
- dsprite 0, 0, 3, 0, $03, $00
+ dsprite 0, 0, 0, 0, $00, 0
+ dsprite 0, 0, 1, 0, $01, 0
+ dsprite 0, 0, 2, 0, $02, 0
+ dsprite 0, 0, 3, 0, $03, 0
.OAMData_CutTree2:
db 4
@@ -588,159 +586,159 @@ SpriteAnimOAMData: ; 8d94d
dsprite 0, 0, -2, 0, $02, PAL_OW_TREE
dsprite 0, 0, 1, 0, $03, PAL_OW_TREE
-.OAMData_56:
+.OAMData_GSIntroHoOh1:
db 19
- dsprite -1, 0, -4, 0, $00, $00
- dsprite -2, 0, -3, 0, $02, $00
- dsprite 0, 0, -3, 0, $04, $00
- dsprite -3, 0, -2, 0, $06, $00
- dsprite -1, 0, -2, 0, $08, $00
- dsprite 1, 0, -2, 0, $0a, $00
- dsprite -3, 0, -1, 0, $0c, $00
- dsprite -1, 0, -1, 0, $0e, $00
- dsprite 1, 0, -1, 0, $10, $00
- dsprite -3, 0, 0, 0, $12, $00
- dsprite -1, 0, 0, 0, $14, $00
- dsprite 1, 0, 0, 0, $16, $00
- dsprite -3, 0, 1, 0, $18, $00
- dsprite -1, 0, 1, 0, $1a, $00
- dsprite 1, 0, 1, 0, $1c, $00
- dsprite -1, 0, 2, 0, $1e, $00
- dsprite 1, 0, 2, 0, $20, $00
- dsprite -2, 0, 3, 0, $22, $00
- dsprite 0, 0, 3, 0, $24, $00
-
-.OAMData_57:
+ dsprite -1, 0, -4, 0, $00, 0
+ dsprite -2, 0, -3, 0, $02, 0
+ dsprite 0, 0, -3, 0, $04, 0
+ dsprite -3, 0, -2, 0, $06, 0
+ dsprite -1, 0, -2, 0, $08, 0
+ dsprite 1, 0, -2, 0, $0a, 0
+ dsprite -3, 0, -1, 0, $0c, 0
+ dsprite -1, 0, -1, 0, $0e, 0
+ dsprite 1, 0, -1, 0, $10, 0
+ dsprite -3, 0, 0, 0, $12, 0
+ dsprite -1, 0, 0, 0, $14, 0
+ dsprite 1, 0, 0, 0, $16, 0
+ dsprite -3, 0, 1, 0, $18, 0
+ dsprite -1, 0, 1, 0, $1a, 0
+ dsprite 1, 0, 1, 0, $1c, 0
+ dsprite -1, 0, 2, 0, $1e, 0
+ dsprite 1, 0, 2, 0, $20, 0
+ dsprite -2, 0, 3, 0, $22, 0
+ dsprite 0, 0, 3, 0, $24, 0
+
+.OAMData_GSIntroHoOh2:
db 16
- dsprite -1, 0, -4, 0, $00, $00
- dsprite -2, 0, -3, 0, $02, $00
- dsprite 0, 0, -3, 0, $04, $00
- dsprite -1, 0, -2, 0, $26, $00
- dsprite 1, 0, -2, 0, $0a, $00
- dsprite -3, 0, -1, 0, $28, $00
- dsprite -1, 0, -1, 0, $2a, $00
- dsprite 1, 0, -1, 0, $10, $00
- dsprite -1, 0, 0, 0, $2c, $00
- dsprite 1, 0, 0, 0, $16, $00
- dsprite -1, 0, 1, 0, $30, $00
- dsprite 1, 0, 1, 0, $1c, $00
- dsprite -1, 0, 2, 0, $1e, $00
- dsprite 1, 0, 2, 0, $20, $00
- dsprite -2, 0, 3, 0, $22, $00
- dsprite 0, 0, 3, 0, $24, $00
-
-.OAMData_58:
+ dsprite -1, 0, -4, 0, $00, 0
+ dsprite -2, 0, -3, 0, $02, 0
+ dsprite 0, 0, -3, 0, $04, 0
+ dsprite -1, 0, -2, 0, $26, 0
+ dsprite 1, 0, -2, 0, $0a, 0
+ dsprite -3, 0, -1, 0, $28, 0
+ dsprite -1, 0, -1, 0, $2a, 0
+ dsprite 1, 0, -1, 0, $10, 0
+ dsprite -1, 0, 0, 0, $2c, 0
+ dsprite 1, 0, 0, 0, $16, 0
+ dsprite -1, 0, 1, 0, $30, 0
+ dsprite 1, 0, 1, 0, $1c, 0
+ dsprite -1, 0, 2, 0, $1e, 0
+ dsprite 1, 0, 2, 0, $20, 0
+ dsprite -2, 0, 3, 0, $22, 0
+ dsprite 0, 0, 3, 0, $24, 0
+
+.OAMData_GSIntroHoOh3:
db 15
- dsprite -1, 0, -4, 0, $00, $00
- dsprite -2, 0, -3, 0, $02, $00
- dsprite 0, 0, -3, 0, $32, $00
- dsprite -1, 0, -2, 0, $34, $00
- dsprite 1, 0, -2, 0, $36, $00
- dsprite -1, 0, -1, 0, $38, $00
- dsprite 1, 0, -1, 0, $3a, $00
- dsprite -1, 0, 0, 0, $3c, $00
- dsprite 1, 0, 0, 0, $3e, $00
- dsprite -1, 0, 1, 0, $30, $00
- dsprite 1, 0, 1, 0, $1c, $00
- dsprite -1, 0, 2, 0, $1e, $00
- dsprite 1, 0, 2, 0, $20, $00
- dsprite -2, 0, 3, 0, $22, $00
- dsprite 0, 0, 3, 0, $24, $00
-
-.OAMData_59:
+ dsprite -1, 0, -4, 0, $00, 0
+ dsprite -2, 0, -3, 0, $02, 0
+ dsprite 0, 0, -3, 0, $32, 0
+ dsprite -1, 0, -2, 0, $34, 0
+ dsprite 1, 0, -2, 0, $36, 0
+ dsprite -1, 0, -1, 0, $38, 0
+ dsprite 1, 0, -1, 0, $3a, 0
+ dsprite -1, 0, 0, 0, $3c, 0
+ dsprite 1, 0, 0, 0, $3e, 0
+ dsprite -1, 0, 1, 0, $30, 0
+ dsprite 1, 0, 1, 0, $1c, 0
+ dsprite -1, 0, 2, 0, $1e, 0
+ dsprite 1, 0, 2, 0, $20, 0
+ dsprite -2, 0, 3, 0, $22, 0
+ dsprite 0, 0, 3, 0, $24, 0
+
+.OAMData_GSIntroHoOh4:
db 17
- dsprite -1, 0, -4, 0, $00, $00
- dsprite -2, 0, -3, 0, $02, $00
- dsprite 0, 0, -3, 0, $04, $00
- dsprite -1, 0, -2, 0, $40, $00
- dsprite 1, 0, -2, 0, $42, $00
- dsprite 3, 0, -2, 0, $44, $00
- dsprite -1, 0, -1, 0, $46, $00
- dsprite 1, 0, -1, 0, $48, $00
- dsprite 3, 0, -1, 0, $4a, $00
- dsprite -1, 0, 0, 0, $4c, $00
- dsprite 1, 0, 0, 0, $4e, $00
- dsprite -1, 0, 1, 0, $30, $00
- dsprite 1, 0, 1, 0, $1c, $00
- dsprite -1, 0, 2, 0, $1e, $00
- dsprite 1, 0, 2, 0, $20, $00
- dsprite -2, 0, 3, 0, $22, $00
- dsprite 0, 0, 3, 0, $24, $00
-
-.OAMData_5a:
+ dsprite -1, 0, -4, 0, $00, 0
+ dsprite -2, 0, -3, 0, $02, 0
+ dsprite 0, 0, -3, 0, $04, 0
+ dsprite -1, 0, -2, 0, $40, 0
+ dsprite 1, 0, -2, 0, $42, 0
+ dsprite 3, 0, -2, 0, $44, 0
+ dsprite -1, 0, -1, 0, $46, 0
+ dsprite 1, 0, -1, 0, $48, 0
+ dsprite 3, 0, -1, 0, $4a, 0
+ dsprite -1, 0, 0, 0, $4c, 0
+ dsprite 1, 0, 0, 0, $4e, 0
+ dsprite -1, 0, 1, 0, $30, 0
+ dsprite 1, 0, 1, 0, $1c, 0
+ dsprite -1, 0, 2, 0, $1e, 0
+ dsprite 1, 0, 2, 0, $20, 0
+ dsprite -2, 0, 3, 0, $22, 0
+ dsprite 0, 0, 3, 0, $24, 0
+
+.OAMData_GSIntroHoOh5:
db 17
- dsprite -1, 0, -4, 0, $00, $00
- dsprite -2, 0, -3, 0, $02, $00
- dsprite 0, 0, -3, 0, $04, $00
- dsprite -1, 0, -2, 0, $50, $00
- dsprite 1, 0, -2, 0, $0a, $00
- dsprite -3, 0, -1, 0, $52, $00
- dsprite -1, 0, -1, 0, $54, $00
- dsprite 1, 0, -1, 0, $10, $00
- dsprite -3, 0, 0, 0, $56, $00
- dsprite -1, 0, 0, 0, $2e, $00
- dsprite 1, 0, 0, 0, $16, $00
- dsprite -1, 0, 1, 0, $30, $00
- dsprite 1, 0, 1, 0, $1c, $00
- dsprite -1, 0, 2, 0, $1e, $00
- dsprite 1, 0, 2, 0, $20, $00
- dsprite -2, 0, 3, 0, $22, $00
- dsprite 0, 0, 3, 0, $24, $00
+ dsprite -1, 0, -4, 0, $00, 0
+ dsprite -2, 0, -3, 0, $02, 0
+ dsprite 0, 0, -3, 0, $04, 0
+ dsprite -1, 0, -2, 0, $50, 0
+ dsprite 1, 0, -2, 0, $0a, 0
+ dsprite -3, 0, -1, 0, $52, 0
+ dsprite -1, 0, -1, 0, $54, 0
+ dsprite 1, 0, -1, 0, $10, 0
+ dsprite -3, 0, 0, 0, $56, 0
+ dsprite -1, 0, 0, 0, $2e, 0
+ dsprite 1, 0, 0, 0, $16, 0
+ dsprite -1, 0, 1, 0, $30, 0
+ dsprite 1, 0, 1, 0, $1c, 0
+ dsprite -1, 0, 2, 0, $1e, 0
+ dsprite 1, 0, 2, 0, $20, 0
+ dsprite -2, 0, 3, 0, $22, 0
+ dsprite 0, 0, 3, 0, $24, 0
.OAMData_GSTitleTrail:
db 1
dsprite -1, 4, -1, 4, $00, 1 | OBP_NUM
-.OAMData_5c:
+.OAMData_EZChatCursor1:
db 12
- dsprite 0, 0, 0, 0, $30, $00
- dsprite 0, 0, 1, 0, $31, $00
- dsprite 0, 0, 2, 0, $31, $00
- dsprite 0, 0, 3, 0, $31, $00
- dsprite 0, 0, 4, 0, $31, $00
- dsprite 0, 0, 5, 0, $32, $00
- dsprite 1, 0, 0, 0, $33, $00
- dsprite 1, 0, 1, 0, $34, $00
- dsprite 1, 0, 2, 0, $34, $00
- dsprite 1, 0, 3, 0, $34, $00
- dsprite 1, 0, 4, 0, $34, $00
- dsprite 1, 0, 5, 0, $35, $00
-
-.OAMData_5d:
+ dsprite 0, 0, 0, 0, $30, 0
+ dsprite 0, 0, 1, 0, $31, 0
+ dsprite 0, 0, 2, 0, $31, 0
+ dsprite 0, 0, 3, 0, $31, 0
+ dsprite 0, 0, 4, 0, $31, 0
+ dsprite 0, 0, 5, 0, $32, 0
+ dsprite 1, 0, 0, 0, $33, 0
+ dsprite 1, 0, 1, 0, $34, 0
+ dsprite 1, 0, 2, 0, $34, 0
+ dsprite 1, 0, 3, 0, $34, 0
+ dsprite 1, 0, 4, 0, $34, 0
+ dsprite 1, 0, 5, 0, $35, 0
+
+.OAMData_EZChatCursor2:
db 1
- dsprite 0, 0, 0, 0, $ed, $00
+ dsprite 0, 0, 0, 0, $ed, 0
-.OAMData_5e:
+.OAMData_EZChatCursor3:
db 4
- dsprite -1, 7, -1, 7, $30, $00
- dsprite -1, 7, 0, 1, $32, $00
- dsprite 0, 1, -1, 7, $33, $00
- dsprite 0, 1, 0, 1, $35, $00
+ dsprite -1, 7, -1, 7, $30, 0
+ dsprite -1, 7, 0, 1, $32, 0
+ dsprite 0, 1, -1, 7, $33, 0
+ dsprite 0, 1, 0, 1, $35, 0
-.OAMData_5f:
+.OAMData_EZChatCursor4:
db 8
- dsprite -1, 7, -1, 7, $30, $00
- dsprite -1, 7, 0, 4, $31, $00
- dsprite -1, 7, 1, 4, $31, $00
- dsprite -1, 7, 2, 1, $32, $00
- dsprite 0, 1, -1, 7, $33, $00
- dsprite 0, 1, 0, 4, $34, $00
- dsprite 0, 1, 1, 4, $34, $00
- dsprite 0, 1, 2, 1, $35, $00
-
-.OAMData_60:
+ dsprite -1, 7, -1, 7, $30, 0
+ dsprite -1, 7, 0, 4, $31, 0
+ dsprite -1, 7, 1, 4, $31, 0
+ dsprite -1, 7, 2, 1, $32, 0
+ dsprite 0, 1, -1, 7, $33, 0
+ dsprite 0, 1, 0, 4, $34, 0
+ dsprite 0, 1, 1, 4, $34, 0
+ dsprite 0, 1, 2, 1, $35, 0
+
+.OAMData_EZChatCursor5:
db 1
- dsprite 0, 0, 0, 0, $34, $00
+ dsprite 0, 0, 0, 0, $34, 0
-.OAMData_61:
+.OAMData_EZChatCursor6:
db 2
- dsprite 0, 0, 0, 0, $30, $00
- dsprite 1, 0, 0, 0, $33, $00
+ dsprite 0, 0, 0, 0, $30, 0
+ dsprite 1, 0, 0, 0, $33, 0
-.OAMData_62:
+.OAMData_EZChatCursor7:
db 2
- dsprite 0, 0, 0, 0, $32, $00
- dsprite 1, 0, 0, 0, $35, $00
+ dsprite 0, 0, 0, 0, $32, 0
+ dsprite 1, 0, 0, 0, $35, 0
.OAMData_BlueWalk:
db 4
@@ -751,37 +749,37 @@ SpriteAnimOAMData: ; 8d94d
.OAMData_MagnetTrainBlue:
db 4
- dsprite -1, 0, -1, 0, $00, PAL_OW_BLUE | BEHIND_BG
- dsprite -1, 0, 0, 0, $01, PAL_OW_BLUE | BEHIND_BG
- dsprite 0, 0, -1, 0, $02, PAL_OW_BLUE | BEHIND_BG
- dsprite 0, 0, 0, 0, $03, PAL_OW_BLUE | BEHIND_BG
+ dsprite -1, 0, -1, 0, $00, PAL_OW_BLUE | PRIORITY
+ dsprite -1, 0, 0, 0, $01, PAL_OW_BLUE | PRIORITY
+ dsprite 0, 0, -1, 0, $02, PAL_OW_BLUE | PRIORITY
+ dsprite 0, 0, 0, 0, $03, PAL_OW_BLUE | PRIORITY
-.OAMData_ForMobile22:
+.OAMData_MobileTradeCableBulge:
db 1
dsprite -1, 4, -1, 4, $00, 2
-.OAMData_ForMobile23:
+.OAMData_MobileTradeSentPulse:
db 4
dsprite -2, 0, -1, 4, $00, 3
dsprite -1, 0, -1, 4, $01, 3
dsprite 0, 0, -1, 4, $02, 3
dsprite 1, 0, -1, 4, $03, 3
-.OAMData_ForMobile24:
+.OAMData_MobileTradeOTPulse:
db 4
dsprite -2, 0, -1, 4, $03, 4 | Y_FLIP
dsprite -1, 0, -1, 4, $02, 4 | Y_FLIP
dsprite 0, 0, -1, 4, $01, 4 | Y_FLIP
dsprite 1, 0, -1, 4, $00, 4 | Y_FLIP
-.OAMData_ForMobile25_1:
+.OAMData_MobileTradePing1:
db 4
dsprite -1, 0, -1, 0, $00, 1
dsprite -1, 0, 0, 0, $00, 1 | X_FLIP
dsprite 0, 0, -1, 0, $00, 1 | Y_FLIP
dsprite 0, 0, 0, 0, $00, 1 | X_FLIP | Y_FLIP
-.OAMData_ForMobile25_2:
+.OAMData_MobileTradePing2:
db 8
dsprite -2, 4, -2, 4, $00, 1
dsprite -2, 4, -1, 4, $01, 1
@@ -792,7 +790,7 @@ SpriteAnimOAMData: ; 8d94d
dsprite 0, 4, -1, 4, $01, 1 | Y_FLIP
dsprite 0, 4, 0, 4, $00, 1 | X_FLIP | Y_FLIP
-.OAMData_ForMobile25_3:
+.OAMData_MobileTradePing3:
db 12
dsprite -2, 0, -2, 0, $00, 1
dsprite -2, 0, -1, 0, $01, 1
@@ -993,23 +991,23 @@ SpriteAnimOAMData: ; 8d94d
.OAMData_IntroUnown1:
db 1
- dsprite -1, 4, -1, 4, $00, $00
+ dsprite -1, 4, -1, 4, $00, 0
.OAMData_IntroUnown2:
db 3
- dsprite 0, 0, -1, 0, $00, $00
- dsprite -1, 0, -1, 0, $01, $00
- dsprite -1, 0, 0, 0, $02, $00
+ dsprite 0, 0, -1, 0, $00, 0
+ dsprite -1, 0, -1, 0, $01, 0
+ dsprite -1, 0, 0, 0, $02, 0
.OAMData_IntroUnown3:
db 7
- dsprite 1, 0, -2, 0, $00, $00
- dsprite 0, 0, -2, 0, $01, $00
- dsprite -1, 0, -2, 0, $02, $00
- dsprite -1, 0, -1, 0, $03, $00
- dsprite -2, 0, -1, 0, $04, $00
- dsprite -2, 0, 0, 0, $05, $00
- dsprite -2, 0, 1, 0, $06, $00
+ dsprite 1, 0, -2, 0, $00, 0
+ dsprite 0, 0, -2, 0, $01, 0
+ dsprite -1, 0, -2, 0, $02, 0
+ dsprite -1, 0, -1, 0, $03, 0
+ dsprite -2, 0, -1, 0, $04, 0
+ dsprite -2, 0, 0, 0, $05, 0
+ dsprite -2, 0, 1, 0, $06, 0
.OAMData_IntroUnownF2_2:
db 8
@@ -1062,26 +1060,26 @@ SpriteAnimOAMData: ; 8d94d
.OAMData_IntroSuicuneAway:
db 20
- dsprite 0, 0, 1, 0, $00, 1 | BEHIND_BG
- dsprite 1, 0, 2, 0, $00, 1 | BEHIND_BG
- dsprite 2, 0, 3, 0, $00, 1 | BEHIND_BG
- dsprite 3, 0, 4, 0, $00, 1 | BEHIND_BG
- dsprite 4, 0, 5, 0, $00, 1 | BEHIND_BG
- dsprite 3, 0, 6, 0, $00, 1 | BEHIND_BG
- dsprite 2, 0, 7, 0, $00, 1 | BEHIND_BG
- dsprite 1, 0, 8, 0, $00, 1 | BEHIND_BG
- dsprite 0, 0, 9, 0, $00, 1 | BEHIND_BG
- dsprite 1, 0, 10, 0, $00, 1 | BEHIND_BG
- dsprite 2, 0, 11, 0, $00, 1 | BEHIND_BG
- dsprite 3, 0, 12, 0, $00, 1 | BEHIND_BG
- dsprite 4, 0, 13, 0, $00, 1 | BEHIND_BG
- dsprite 3, 0, 14, 0, $00, 1 | BEHIND_BG
- dsprite 2, 0, 15, 0, $00, 1 | BEHIND_BG
- dsprite 1, 0, 16, 0, $00, 1 | BEHIND_BG
- dsprite 0, 0, -15, 0, $00, 1 | BEHIND_BG
- dsprite 1, 0, -14, 0, $00, 1 | BEHIND_BG
- dsprite 2, 0, -13, 0, $00, 1 | BEHIND_BG
- dsprite 3, 0, -12, 0, $00, 1 | BEHIND_BG
+ dsprite 0, 0, 1, 0, $00, 1 | PRIORITY
+ dsprite 1, 0, 2, 0, $00, 1 | PRIORITY
+ dsprite 2, 0, 3, 0, $00, 1 | PRIORITY
+ dsprite 3, 0, 4, 0, $00, 1 | PRIORITY
+ dsprite 4, 0, 5, 0, $00, 1 | PRIORITY
+ dsprite 3, 0, 6, 0, $00, 1 | PRIORITY
+ dsprite 2, 0, 7, 0, $00, 1 | PRIORITY
+ dsprite 1, 0, 8, 0, $00, 1 | PRIORITY
+ dsprite 0, 0, 9, 0, $00, 1 | PRIORITY
+ dsprite 1, 0, 10, 0, $00, 1 | PRIORITY
+ dsprite 2, 0, 11, 0, $00, 1 | PRIORITY
+ dsprite 3, 0, 12, 0, $00, 1 | PRIORITY
+ dsprite 4, 0, 13, 0, $00, 1 | PRIORITY
+ dsprite 3, 0, 14, 0, $00, 1 | PRIORITY
+ dsprite 2, 0, 15, 0, $00, 1 | PRIORITY
+ dsprite 1, 0, 16, 0, $00, 1 | PRIORITY
+ dsprite 0, 0, -15, 0, $00, 1 | PRIORITY
+ dsprite 1, 0, -14, 0, $00, 1 | PRIORITY
+ dsprite 2, 0, -13, 0, $00, 1 | PRIORITY
+ dsprite 3, 0, -12, 0, $00, 1 | PRIORITY
.OAMData_Celebi:
db 4
diff --git a/data/sprite_anims/sequences.asm b/data/sprite_anims/sequences.asm
index 70544a60a..36a0f4afc 100644
--- a/data/sprite_anims/sequences.asm
+++ b/data/sprite_anims/sequences.asm
@@ -1,49 +1,49 @@
SpriteAnimSeqData: ; 8d1c4
; entries correspond to SPRITE_ANIM_INDEX_* constants
; frameset sequence, tile
- db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, $00 ; SPRITE_ANIM_INDEX_PARTY_MON
- db SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL, SPRITE_ANIM_SEQ_GS_TITLE_TRAIL, $00 ; SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
- db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, $05 ; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
- db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00 ; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
- db SPRITE_ANIM_FRAMESET_GS_INTRO_STAR, SPRITE_ANIM_SEQ_GS_INTRO_STAR, $06 ; SPRITE_ANIM_INDEX_GS_INTRO_STAR
- db SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE, SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE, $06 ; SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE
- db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOTS_GOLEM, $07 ; SPRITE_ANIM_INDEX_SLOTS_GOLEM
- db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07 ; SPRITE_ANIM_INDEX_SLOTS_CHANSEY
- db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07 ; SPRITE_ANIM_INDEX_SLOTS_EGG
- db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_MAIL_CURSOR, $05 ; SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
- db SPRITE_ANIM_FRAMESET_RED_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_RED_WALK
- db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_FOR_UNUSED_CURSOR, $08 ; SPRITE_ANIM_INDEX_UNUSED_CURSOR
- db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR, $08 ; SPRITE_ANIM_INDEX_DUMMY_GAME
- db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_POKEGEAR_ARROW, $08 ; SPRITE_ANIM_INDEX_POKEGEAR_ARROW
- db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_TRADE_POKE_BALL, $00 ; SPRITE_ANIM_INDEX_TRADE_POKE_BALL
- db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_TRADE_POOF
- db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE, $00 ; SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
- db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; SPRITE_ANIM_INDEX_TRADEMON_ICON
- db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
- db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 ; SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
- db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB, $00 ; SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
- db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
- db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_CUT_LEAVES, $00 ; SPRITE_ANIM_INDEX_LEAF
- db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_CUT_TREE
- db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00 ; SPRITE_ANIM_INDEX_FLY_LEAF
- db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_EGG_CRACK
- db SPRITE_ANIM_FRAMESET_24, SPRITE_ANIM_SEQ_19, $00 ; SPRITE_ANIM_INDEX_1A
- db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_HEADBUTT
- db SPRITE_ANIM_FRAMESET_EGG_HATCH, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 ; SPRITE_ANIM_INDEX_EGG_HATCH
- db SPRITE_ANIM_FRAMESET_26, SPRITE_ANIM_SEQ_1A, $00 ; SPRITE_ANIM_INDEX_1D
- db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_BLUE_WALK
- db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
- db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL
- db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL
- db SPRITE_ANIM_FRAMESET_FOR_MOBILE_22, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_22
- db SPRITE_ANIM_FRAMESET_FOR_MOBILE_23, SPRITE_ANIM_SEQ_FOR_MOBILE_23, $00 ; SPRITE_ANIM_INDEX_MOBILE_23
- db SPRITE_ANIM_FRAMESET_FOR_MOBILE_24, SPRITE_ANIM_SEQ_FOR_MOBILE_24, $00 ; SPRITE_ANIM_INDEX_MOBILE_24
- db SPRITE_ANIM_FRAMESET_FOR_MOBILE_25, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_25
- db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_INTRO_SUICUNE, $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE
- db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 ; SPRITE_ANIM_INDEX_INTRO_PICHU
- db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 ; SPRITE_ANIM_INDEX_INTRO_WOOPER
- db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_INTRO_UNOWN, $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN
- db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_INTRO_UNOWN_F, $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN_F
- db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
- db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_CELEBI
+ db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, $00 ; SPRITE_ANIM_INDEX_PARTY_MON
+ db SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL, SPRITE_ANIM_SEQ_GS_TITLE_TRAIL, $00 ; SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
+ db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, $05 ; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
+ db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00 ; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
+ db SPRITE_ANIM_FRAMESET_GS_INTRO_STAR, SPRITE_ANIM_SEQ_GS_INTRO_STAR, $06 ; SPRITE_ANIM_INDEX_GS_INTRO_STAR
+ db SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE, SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE, $06 ; SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE
+ db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOTS_GOLEM, $07 ; SPRITE_ANIM_INDEX_SLOTS_GOLEM
+ db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07 ; SPRITE_ANIM_INDEX_SLOTS_CHANSEY
+ db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07 ; SPRITE_ANIM_INDEX_SLOTS_EGG
+ db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_MAIL_CURSOR, $05 ; SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
+ db SPRITE_ANIM_FRAMESET_RED_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_RED_WALK
+ db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_UNUSED_CURSOR, $08 ; SPRITE_ANIM_INDEX_UNUSED_CURSOR
+ db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR, $08 ; SPRITE_ANIM_INDEX_DUMMY_GAME
+ db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_POKEGEAR_ARROW, $08 ; SPRITE_ANIM_INDEX_POKEGEAR_ARROW
+ db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_TRADE_POKE_BALL, $00 ; SPRITE_ANIM_INDEX_TRADE_POKE_BALL
+ db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_TRADE_POOF
+ db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE, $00 ; SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
+ db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; SPRITE_ANIM_INDEX_TRADEMON_ICON
+ db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
+ db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 ; SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
+ db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB, $00 ; SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
+ db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
+ db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_CUT_LEAVES, $00 ; SPRITE_ANIM_INDEX_LEAF
+ db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_CUT_TREE
+ db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00 ; SPRITE_ANIM_INDEX_FLY_LEAF
+ db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_EGG_CRACK
+ db SPRITE_ANIM_FRAMESET_GS_INTRO_HO_OH, SPRITE_ANIM_SEQ_GS_INTRO_HO_OH, $00 ; SPRITE_ANIM_INDEX_GS_INTRO_HO_OH
+ db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_HEADBUTT
+ db SPRITE_ANIM_FRAMESET_EGG_HATCH_1, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 ; SPRITE_ANIM_INDEX_EGG_HATCH
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1, SPRITE_ANIM_SEQ_EZCHAT_CURSOR, $00 ; SPRITE_ANIM_INDEX_EZCHAT_CURSOR
+ db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_BLUE_WALK
+ db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
+ db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL
+ db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL
+ db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_CABLE_BULGE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE
+ db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_PULSE, SPRITE_ANIM_SEQ_MOBILE_TRADE_SENT_PULSE, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_PULSE
+ db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_PULSE, SPRITE_ANIM_SEQ_MOBILE_TRADE_OT_PULSE, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_PULSE
+ db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_PING, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_PING
+ db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_INTRO_SUICUNE, $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE
+ db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 ; SPRITE_ANIM_INDEX_INTRO_PICHU
+ db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 ; SPRITE_ANIM_INDEX_INTRO_WOOPER
+ db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_INTRO_UNOWN, $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN
+ db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_INTRO_UNOWN_F, $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN_F
+ db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
+ db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_CELEBI
; 8d24b
diff --git a/data/emotes.asm b/data/sprites/emotes.asm
index 2e25e52b5..2e25e52b5 100644
--- a/data/emotes.asm
+++ b/data/sprites/emotes.asm
diff --git a/data/facings.asm b/data/sprites/facings.asm
index 4d2a55364..4d2a55364 100644
--- a/data/facings.asm
+++ b/data/sprites/facings.asm
diff --git a/data/map_objects.asm b/data/sprites/map_objects.asm
index 19a7c8d27..19a7c8d27 100755
--- a/data/map_objects.asm
+++ b/data/sprites/map_objects.asm
diff --git a/data/sprite_mons.asm b/data/sprites/sprite_mons.asm
index d3000e2b7..d3000e2b7 100644
--- a/data/sprite_mons.asm
+++ b/data/sprites/sprite_mons.asm
diff --git a/data/sprites.asm b/data/sprites/sprites.asm
index 214b14757..214b14757 100644
--- a/data/sprites.asm
+++ b/data/sprites/sprites.asm
diff --git a/text/stdtext.asm b/data/std_text.asm
index 7b558cc49..4b027abac 100644
--- a/text/stdtext.asm
+++ b/data/std_text.asm
@@ -232,7 +232,7 @@ ContestResults_ReadyToJudgeText:
ContestResults_PlayerWonAPrizeText:
text "<PLAYER>, the No.@"
text_from_ram StringBuffer3
- text ""
+ text_start
line "finisher, wins"
cont "@"
text_from_ram StringBuffer4
@@ -280,14 +280,14 @@ ContestResults_PartyFullText:
GymStatue_CityGymText:
text_from_ram StringBuffer3
- text ""
+ text_start
line "#MON GYM"
done
GymStatue_WinningTrainersText:
text "LEADER: @"
text_from_ram StringBuffer4
- text ""
+ text_start
para "WINNING TRAINERS:"
line "<PLAYER>"
done
diff --git a/tilesets/tilesets.asm b/data/tilesets.asm
index 06cbdb05d..c44a218fc 100644
--- a/tilesets/tilesets.asm
+++ b/data/tilesets.asm
@@ -5,40 +5,45 @@ tileset: MACRO
dw \1PalMap
ENDM
+; Associated data:
+; - The *GFX, *Meta, and *Coll are defined in gfx/tilesets.asm
+; - The *Anim are defined in engine/tileset_anims.asm
+; - The *PalMap are defined in gfx/tilesets/palette_maps.asm
+
Tilesets:: ; 4d596
; entries correspond to TILESET_* constants
tileset Tileset0
- tileset TilesetJohto1
- tileset TilesetJohto2
+ tileset TilesetJohto
+ tileset TilesetJohtoModern
tileset TilesetKanto
tileset TilesetBattleTowerOutside
- tileset TilesetHouse1
+ tileset TilesetHouse
tileset TilesetPlayersHouse
tileset TilesetPokecenter
tileset TilesetGate
tileset TilesetPort
tileset TilesetLab
- tileset TilesetPowerPlant
+ tileset TilesetFacility
tileset TilesetMart
- tileset TilesetCeladonMansion
+ tileset TilesetMansion
tileset TilesetGameCorner
- tileset TilesetGym1
- tileset TilesetKurtsHouse
+ tileset TilesetEliteFourRoom
+ tileset TilesetTraditionalHouse
tileset TilesetTrainStation
- tileset TilesetOlivineGym
+ tileset TilesetChampionsRoom
tileset TilesetLighthouse
- tileset TilesetPlayersHouse2F
+ tileset TilesetPlayersRoom
tileset TilesetPokeComCenter
tileset TilesetBattleTower
- tileset TilesetSproutTower
+ tileset TilesetTower
tileset TilesetCave
tileset TilesetPark
tileset TilesetRuinsOfAlph
tileset TilesetRadioTower
tileset TilesetUnderground
tileset TilesetIcePath
- tileset TilesetWhirlIslands
- tileset TilesetIlexForest
+ tileset TilesetDarkCave
+ tileset TilesetForest
tileset TilesetBetaWordRoom
tileset TilesetHoOhWordRoom
tileset TilesetKabutoWordRoom
diff --git a/tilesets/aerodactyl_word_room_collision.asm b/data/tilesets/aerodactyl_word_room_collision.asm
index 138f07143..138f07143 100644
--- a/tilesets/aerodactyl_word_room_collision.asm
+++ b/data/tilesets/aerodactyl_word_room_collision.asm
diff --git a/tilesets/aerodactyl_word_room_metatiles.bin b/data/tilesets/aerodactyl_word_room_metatiles.bin
index 0538baa98..0538baa98 100644
--- a/tilesets/aerodactyl_word_room_metatiles.bin
+++ b/data/tilesets/aerodactyl_word_room_metatiles.bin
diff --git a/tilesets/battle_tower_collision.asm b/data/tilesets/battle_tower_collision.asm
index 908fee326..908fee326 100644
--- a/tilesets/battle_tower_collision.asm
+++ b/data/tilesets/battle_tower_collision.asm
diff --git a/tilesets/battle_tower_metatiles.bin b/data/tilesets/battle_tower_metatiles.bin
index c64ef0a12..c64ef0a12 100644
--- a/tilesets/battle_tower_metatiles.bin
+++ b/data/tilesets/battle_tower_metatiles.bin
Binary files differ
diff --git a/tilesets/battle_tower_outside_collision.asm b/data/tilesets/battle_tower_outside_collision.asm
index 3aaa60113..3aaa60113 100644
--- a/tilesets/battle_tower_outside_collision.asm
+++ b/data/tilesets/battle_tower_outside_collision.asm
diff --git a/tilesets/battle_tower_outside_metatiles.bin b/data/tilesets/battle_tower_outside_metatiles.bin
index c4390bcba..c4390bcba 100644
--- a/tilesets/battle_tower_outside_metatiles.bin
+++ b/data/tilesets/battle_tower_outside_metatiles.bin
Binary files differ
diff --git a/tilesets/beta_word_room_collision.asm b/data/tilesets/beta_word_room_collision.asm
index 138f07143..138f07143 100644
--- a/tilesets/beta_word_room_collision.asm
+++ b/data/tilesets/beta_word_room_collision.asm
diff --git a/tilesets/beta_word_room_metatiles.bin b/data/tilesets/beta_word_room_metatiles.bin
index 47c531b2e..47c531b2e 100644
--- a/tilesets/beta_word_room_metatiles.bin
+++ b/data/tilesets/beta_word_room_metatiles.bin
diff --git a/tilesets/cave_collision.asm b/data/tilesets/cave_collision.asm
index 3d5e0ae05..3d5e0ae05 100644
--- a/tilesets/cave_collision.asm
+++ b/data/tilesets/cave_collision.asm
diff --git a/tilesets/cave_metatiles.bin b/data/tilesets/cave_metatiles.bin
index a41b5b080..a41b5b080 100644
--- a/tilesets/cave_metatiles.bin
+++ b/data/tilesets/cave_metatiles.bin
diff --git a/tilesets/olivine_gym_collision.asm b/data/tilesets/champions_room_collision.asm
index 351f76f61..351f76f61 100644
--- a/tilesets/olivine_gym_collision.asm
+++ b/data/tilesets/champions_room_collision.asm
diff --git a/tilesets/olivine_gym_metatiles.bin b/data/tilesets/champions_room_metatiles.bin
index a2adb197a..a2adb197a 100644
--- a/tilesets/olivine_gym_metatiles.bin
+++ b/data/tilesets/champions_room_metatiles.bin
diff --git a/tilesets/whirl_islands_collision.asm b/data/tilesets/dark_cave_collision.asm
index 3d5e0ae05..3d5e0ae05 100644
--- a/tilesets/whirl_islands_collision.asm
+++ b/data/tilesets/dark_cave_collision.asm
diff --git a/tilesets/whirl_islands_metatiles.bin b/data/tilesets/dark_cave_metatiles.bin
index a41b5b080..a41b5b080 100644
--- a/tilesets/whirl_islands_metatiles.bin
+++ b/data/tilesets/dark_cave_metatiles.bin
diff --git a/tilesets/gym_1_collision.asm b/data/tilesets/elite_four_room_collision.asm
index cc0b705f3..cc0b705f3 100644
--- a/tilesets/gym_1_collision.asm
+++ b/data/tilesets/elite_four_room_collision.asm
diff --git a/tilesets/gym_1_metatiles.bin b/data/tilesets/elite_four_room_metatiles.bin
index a9df6062c..a9df6062c 100644
--- a/tilesets/gym_1_metatiles.bin
+++ b/data/tilesets/elite_four_room_metatiles.bin
Binary files differ
diff --git a/tilesets/power_plant_collision.asm b/data/tilesets/facility_collision.asm
index eb5cd8f33..eb5cd8f33 100644
--- a/tilesets/power_plant_collision.asm
+++ b/data/tilesets/facility_collision.asm
diff --git a/tilesets/power_plant_metatiles.bin b/data/tilesets/facility_metatiles.bin
index f6089d29c..f6089d29c 100644
--- a/tilesets/power_plant_metatiles.bin
+++ b/data/tilesets/facility_metatiles.bin
diff --git a/tilesets/ilex_forest_collision.asm b/data/tilesets/forest_collision.asm
index 70cc72ff1..70cc72ff1 100644
--- a/tilesets/ilex_forest_collision.asm
+++ b/data/tilesets/forest_collision.asm
diff --git a/tilesets/ilex_forest_metatiles.bin b/data/tilesets/forest_metatiles.bin
index a8b82d8cf..a8b82d8cf 100644
--- a/tilesets/ilex_forest_metatiles.bin
+++ b/data/tilesets/forest_metatiles.bin
diff --git a/tilesets/game_corner_collision.asm b/data/tilesets/game_corner_collision.asm
index 65b99cf54..65b99cf54 100644
--- a/tilesets/game_corner_collision.asm
+++ b/data/tilesets/game_corner_collision.asm
diff --git a/tilesets/game_corner_metatiles.bin b/data/tilesets/game_corner_metatiles.bin
index 24beba2d3..24beba2d3 100644
--- a/tilesets/game_corner_metatiles.bin
+++ b/data/tilesets/game_corner_metatiles.bin
Binary files differ
diff --git a/tilesets/gate_collision.asm b/data/tilesets/gate_collision.asm
index 54cd95d34..54cd95d34 100644
--- a/tilesets/gate_collision.asm
+++ b/data/tilesets/gate_collision.asm
diff --git a/tilesets/gate_metatiles.bin b/data/tilesets/gate_metatiles.bin
index 74076ff58..74076ff58 100644
--- a/tilesets/gate_metatiles.bin
+++ b/data/tilesets/gate_metatiles.bin
Binary files differ
diff --git a/tilesets/ho_oh_word_room_collision.asm b/data/tilesets/ho_oh_word_room_collision.asm
index 138f07143..138f07143 100644
--- a/tilesets/ho_oh_word_room_collision.asm
+++ b/data/tilesets/ho_oh_word_room_collision.asm
diff --git a/tilesets/ho_oh_word_room_metatiles.bin b/data/tilesets/ho_oh_word_room_metatiles.bin
index 2b542c632..2b542c632 100644
--- a/tilesets/ho_oh_word_room_metatiles.bin
+++ b/data/tilesets/ho_oh_word_room_metatiles.bin
diff --git a/tilesets/house_1_collision.asm b/data/tilesets/house_collision.asm
index ae5580782..ae5580782 100644
--- a/tilesets/house_1_collision.asm
+++ b/data/tilesets/house_collision.asm
diff --git a/tilesets/house_1_metatiles.bin b/data/tilesets/house_metatiles.bin
index 0d3a22f32..0d3a22f32 100644
--- a/tilesets/house_1_metatiles.bin
+++ b/data/tilesets/house_metatiles.bin
Binary files differ
diff --git a/tilesets/ice_path_collision.asm b/data/tilesets/ice_path_collision.asm
index 4fd9376ad..4fd9376ad 100644
--- a/tilesets/ice_path_collision.asm
+++ b/data/tilesets/ice_path_collision.asm
diff --git a/tilesets/ice_path_metatiles.bin b/data/tilesets/ice_path_metatiles.bin
index c92246e8a..c92246e8a 100644
--- a/tilesets/ice_path_metatiles.bin
+++ b/data/tilesets/ice_path_metatiles.bin
diff --git a/tilesets/johto_1_collision.asm b/data/tilesets/johto_collision.asm
index 4d6d2c072..4d6d2c072 100644
--- a/tilesets/johto_1_collision.asm
+++ b/data/tilesets/johto_collision.asm
diff --git a/tilesets/johto_1_metatiles.bin b/data/tilesets/johto_metatiles.bin
index 9024f2ad6..9024f2ad6 100644
--- a/tilesets/johto_1_metatiles.bin
+++ b/data/tilesets/johto_metatiles.bin
Binary files differ
diff --git a/tilesets/johto_2_collision.asm b/data/tilesets/johto_modern_collision.asm
index 40255d744..40255d744 100644
--- a/tilesets/johto_2_collision.asm
+++ b/data/tilesets/johto_modern_collision.asm
diff --git a/tilesets/johto_2_metatiles.bin b/data/tilesets/johto_modern_metatiles.bin
index a15c0c2c7..a15c0c2c7 100644
--- a/tilesets/johto_2_metatiles.bin
+++ b/data/tilesets/johto_modern_metatiles.bin
Binary files differ
diff --git a/tilesets/kabuto_word_room_collision.asm b/data/tilesets/kabuto_word_room_collision.asm
index 138f07143..138f07143 100644
--- a/tilesets/kabuto_word_room_collision.asm
+++ b/data/tilesets/kabuto_word_room_collision.asm
diff --git a/tilesets/kabuto_word_room_metatiles.bin b/data/tilesets/kabuto_word_room_metatiles.bin
index 14d082e2a..14d082e2a 100644
--- a/tilesets/kabuto_word_room_metatiles.bin
+++ b/data/tilesets/kabuto_word_room_metatiles.bin
diff --git a/tilesets/kanto_collision.asm b/data/tilesets/kanto_collision.asm
index 9b0f0c275..9b0f0c275 100644
--- a/tilesets/kanto_collision.asm
+++ b/data/tilesets/kanto_collision.asm
diff --git a/tilesets/kanto_metatiles.bin b/data/tilesets/kanto_metatiles.bin
index 41b0cfffd..41b0cfffd 100644
--- a/tilesets/kanto_metatiles.bin
+++ b/data/tilesets/kanto_metatiles.bin
Binary files differ
diff --git a/tilesets/lab_collision.asm b/data/tilesets/lab_collision.asm
index 436c8e0a7..436c8e0a7 100644
--- a/tilesets/lab_collision.asm
+++ b/data/tilesets/lab_collision.asm
diff --git a/tilesets/lab_metatiles.bin b/data/tilesets/lab_metatiles.bin
index 62da01e8b..62da01e8b 100644
--- a/tilesets/lab_metatiles.bin
+++ b/data/tilesets/lab_metatiles.bin
Binary files differ
diff --git a/tilesets/lighthouse_collision.asm b/data/tilesets/lighthouse_collision.asm
index 05b6cd614..05b6cd614 100644
--- a/tilesets/lighthouse_collision.asm
+++ b/data/tilesets/lighthouse_collision.asm
diff --git a/tilesets/lighthouse_metatiles.bin b/data/tilesets/lighthouse_metatiles.bin
index 21ca0f09a..21ca0f09a 100644
--- a/tilesets/lighthouse_metatiles.bin
+++ b/data/tilesets/lighthouse_metatiles.bin
Binary files differ
diff --git a/tilesets/celadon_mansion_collision.asm b/data/tilesets/mansion_collision.asm
index 5db409be7..5db409be7 100644
--- a/tilesets/celadon_mansion_collision.asm
+++ b/data/tilesets/mansion_collision.asm
diff --git a/tilesets/celadon_mansion_metatiles.bin b/data/tilesets/mansion_metatiles.bin
index d4506328f..d4506328f 100644
--- a/tilesets/celadon_mansion_metatiles.bin
+++ b/data/tilesets/mansion_metatiles.bin
diff --git a/tilesets/mart_collision.asm b/data/tilesets/mart_collision.asm
index 80076ac3f..80076ac3f 100644
--- a/tilesets/mart_collision.asm
+++ b/data/tilesets/mart_collision.asm
diff --git a/tilesets/mart_metatiles.bin b/data/tilesets/mart_metatiles.bin
index 63b2f629d..63b2f629d 100644
--- a/tilesets/mart_metatiles.bin
+++ b/data/tilesets/mart_metatiles.bin
diff --git a/tilesets/omanyte_word_room_collision.asm b/data/tilesets/omanyte_word_room_collision.asm
index 138f07143..138f07143 100644
--- a/tilesets/omanyte_word_room_collision.asm
+++ b/data/tilesets/omanyte_word_room_collision.asm
diff --git a/tilesets/omanyte_word_room_metatiles.bin b/data/tilesets/omanyte_word_room_metatiles.bin
index 3cc62f562..3cc62f562 100644
--- a/tilesets/omanyte_word_room_metatiles.bin
+++ b/data/tilesets/omanyte_word_room_metatiles.bin
diff --git a/tilesets/park_collision.asm b/data/tilesets/park_collision.asm
index c5965e0c9..c5965e0c9 100644
--- a/tilesets/park_collision.asm
+++ b/data/tilesets/park_collision.asm
diff --git a/tilesets/park_metatiles.bin b/data/tilesets/park_metatiles.bin
index 1fe931640..1fe931640 100644
--- a/tilesets/park_metatiles.bin
+++ b/data/tilesets/park_metatiles.bin
Binary files differ
diff --git a/tilesets/players_house_collision.asm b/data/tilesets/players_house_collision.asm
index ed6b70a29..ed6b70a29 100644
--- a/tilesets/players_house_collision.asm
+++ b/data/tilesets/players_house_collision.asm
diff --git a/tilesets/players_house_metatiles.bin b/data/tilesets/players_house_metatiles.bin
index f316eb8c1..f316eb8c1 100644
--- a/tilesets/players_house_metatiles.bin
+++ b/data/tilesets/players_house_metatiles.bin
Binary files differ
diff --git a/tilesets/players_house_2f_collision.asm b/data/tilesets/players_room_collision.asm
index 464d80b83..464d80b83 100644
--- a/tilesets/players_house_2f_collision.asm
+++ b/data/tilesets/players_room_collision.asm
diff --git a/tilesets/players_house_2f_metatiles.bin b/data/tilesets/players_room_metatiles.bin
index 0839798fe..0839798fe 100644
--- a/tilesets/players_house_2f_metatiles.bin
+++ b/data/tilesets/players_room_metatiles.bin
Binary files differ
diff --git a/tilesets/pokecenter_collision.asm b/data/tilesets/pokecenter_collision.asm
index 5b776330e..5b776330e 100644
--- a/tilesets/pokecenter_collision.asm
+++ b/data/tilesets/pokecenter_collision.asm
diff --git a/tilesets/pokecenter_metatiles.bin b/data/tilesets/pokecenter_metatiles.bin
index c96c4843b..c96c4843b 100644
--- a/tilesets/pokecenter_metatiles.bin
+++ b/data/tilesets/pokecenter_metatiles.bin
Binary files differ
diff --git a/tilesets/pokecom_center_collision.asm b/data/tilesets/pokecom_center_collision.asm
index 1ecef84de..1ecef84de 100644
--- a/tilesets/pokecom_center_collision.asm
+++ b/data/tilesets/pokecom_center_collision.asm
diff --git a/tilesets/pokecom_center_metatiles.bin b/data/tilesets/pokecom_center_metatiles.bin
index 097a882fd..097a882fd 100644
--- a/tilesets/pokecom_center_metatiles.bin
+++ b/data/tilesets/pokecom_center_metatiles.bin
diff --git a/tilesets/port_collision.asm b/data/tilesets/port_collision.asm
index fb37ee11e..fb37ee11e 100644
--- a/tilesets/port_collision.asm
+++ b/data/tilesets/port_collision.asm
diff --git a/tilesets/port_metatiles.bin b/data/tilesets/port_metatiles.bin
index 69a600707..69a600707 100644
--- a/tilesets/port_metatiles.bin
+++ b/data/tilesets/port_metatiles.bin
diff --git a/tilesets/radio_tower_collision.asm b/data/tilesets/radio_tower_collision.asm
index 1713eb438..1713eb438 100644
--- a/tilesets/radio_tower_collision.asm
+++ b/data/tilesets/radio_tower_collision.asm
diff --git a/tilesets/radio_tower_metatiles.bin b/data/tilesets/radio_tower_metatiles.bin
index 01c0b4aa5..01c0b4aa5 100644
--- a/tilesets/radio_tower_metatiles.bin
+++ b/data/tilesets/radio_tower_metatiles.bin
Binary files differ
diff --git a/tilesets/ruins_of_alph_collision.asm b/data/tilesets/ruins_of_alph_collision.asm
index 8c65340ab..8c65340ab 100644
--- a/tilesets/ruins_of_alph_collision.asm
+++ b/data/tilesets/ruins_of_alph_collision.asm
diff --git a/tilesets/ruins_of_alph_metatiles.bin b/data/tilesets/ruins_of_alph_metatiles.bin
index 61ef041b5..61ef041b5 100644
--- a/tilesets/ruins_of_alph_metatiles.bin
+++ b/data/tilesets/ruins_of_alph_metatiles.bin
Binary files differ
diff --git a/tilesets/sprout_tower_collision.asm b/data/tilesets/tower_collision.asm
index 9d02e9640..9d02e9640 100644
--- a/tilesets/sprout_tower_collision.asm
+++ b/data/tilesets/tower_collision.asm
diff --git a/tilesets/sprout_tower_metatiles.bin b/data/tilesets/tower_metatiles.bin
index b6668fcd4..b6668fcd4 100644
--- a/tilesets/sprout_tower_metatiles.bin
+++ b/data/tilesets/tower_metatiles.bin
diff --git a/tilesets/kurts_house_collision.asm b/data/tilesets/traditional_house_collision.asm
index 95cb1c21d..95cb1c21d 100644
--- a/tilesets/kurts_house_collision.asm
+++ b/data/tilesets/traditional_house_collision.asm
diff --git a/tilesets/kurts_house_metatiles.bin b/data/tilesets/traditional_house_metatiles.bin
index 3f6b41bd1..3f6b41bd1 100644
--- a/tilesets/kurts_house_metatiles.bin
+++ b/data/tilesets/traditional_house_metatiles.bin
Binary files differ
diff --git a/tilesets/train_station_collision.asm b/data/tilesets/train_station_collision.asm
index 55b147237..55b147237 100644
--- a/tilesets/train_station_collision.asm
+++ b/data/tilesets/train_station_collision.asm
diff --git a/tilesets/train_station_metatiles.bin b/data/tilesets/train_station_metatiles.bin
index 9bbdd0bd2..9bbdd0bd2 100644
--- a/tilesets/train_station_metatiles.bin
+++ b/data/tilesets/train_station_metatiles.bin
Binary files differ
diff --git a/tilesets/underground_collision.asm b/data/tilesets/underground_collision.asm
index 0c3120451..0c3120451 100644
--- a/tilesets/underground_collision.asm
+++ b/data/tilesets/underground_collision.asm
diff --git a/tilesets/underground_metatiles.bin b/data/tilesets/underground_metatiles.bin
index 28b807e1e..28b807e1e 100644
--- a/tilesets/underground_metatiles.bin
+++ b/data/tilesets/underground_metatiles.bin
diff --git a/tilesets/unused_whirl_islands_collision.asm b/data/tilesets/unused_dark_cave_collision.asm
index 0022d3881..0022d3881 100644
--- a/tilesets/unused_whirl_islands_collision.asm
+++ b/data/tilesets/unused_dark_cave_collision.asm
diff --git a/tilesets/unused_whirl_islands_metatiles.bin b/data/tilesets/unused_dark_cave_metatiles.bin
index b70f1a0e6..b70f1a0e6 100644
--- a/tilesets/unused_whirl_islands_metatiles.bin
+++ b/data/tilesets/unused_dark_cave_metatiles.bin
Binary files differ
diff --git a/data/trainers/encounter_music.asm b/data/trainers/encounter_music.asm
index cd0348d81..a64d160fe 100644
--- a/data/trainers/encounter_music.asm
+++ b/data/trainers/encounter_music.asm
@@ -2,74 +2,74 @@
TrainerEncounterMusic::
; entries correspond to trainer classes (see constants/trainer_constants.asm)
- db MUSIC_HIKER_ENCOUNTER ; none
- db MUSIC_YOUNGSTER_ENCOUNTER ; falkner
- db MUSIC_LASS_ENCOUNTER ; whitney
- db MUSIC_YOUNGSTER_ENCOUNTER ; bugsy
- db MUSIC_OFFICER_ENCOUNTER ; morty
- db MUSIC_OFFICER_ENCOUNTER ; pryce
- db MUSIC_LASS_ENCOUNTER ; jasmine
- db MUSIC_OFFICER_ENCOUNTER ; chuck
- db MUSIC_BEAUTY_ENCOUNTER ; clair
- db MUSIC_RIVAL_ENCOUNTER ; rival1
- db MUSIC_HIKER_ENCOUNTER ; pokemon_prof
- db MUSIC_HIKER_ENCOUNTER ; will
- db MUSIC_HIKER_ENCOUNTER ; cal
- db MUSIC_OFFICER_ENCOUNTER ; bruno
- db MUSIC_HIKER_ENCOUNTER ; karen
- db MUSIC_HIKER_ENCOUNTER ; koga
- db MUSIC_OFFICER_ENCOUNTER ; champion
- db MUSIC_YOUNGSTER_ENCOUNTER ; brock
- db MUSIC_LASS_ENCOUNTER ; misty
- db MUSIC_OFFICER_ENCOUNTER ; lt_surge
- db MUSIC_ROCKET_ENCOUNTER ; scientist
- db MUSIC_OFFICER_ENCOUNTER ; erika
- db MUSIC_YOUNGSTER_ENCOUNTER ; youngster
- db MUSIC_YOUNGSTER_ENCOUNTER ; schoolboy
- db MUSIC_YOUNGSTER_ENCOUNTER ; bird_keeper
- db MUSIC_LASS_ENCOUNTER ; lass
- db MUSIC_LASS_ENCOUNTER ; janine
- db MUSIC_HIKER_ENCOUNTER ; cooltrainerm
- db MUSIC_BEAUTY_ENCOUNTER ; cooltrainerf
- db MUSIC_BEAUTY_ENCOUNTER ; beauty
- db MUSIC_POKEMANIAC_ENCOUNTER ; pokemaniac
- db MUSIC_ROCKET_ENCOUNTER ; gruntm
- db MUSIC_HIKER_ENCOUNTER ; gentleman
- db MUSIC_BEAUTY_ENCOUNTER ; skier
- db MUSIC_BEAUTY_ENCOUNTER ; teacher
- db MUSIC_BEAUTY_ENCOUNTER ; sabrina
- db MUSIC_YOUNGSTER_ENCOUNTER ; bug_catcher
- db MUSIC_HIKER_ENCOUNTER ; fisher
- db MUSIC_HIKER_ENCOUNTER ; swimmerm
- db MUSIC_BEAUTY_ENCOUNTER ; swimmerf
- db MUSIC_HIKER_ENCOUNTER ; sailor
- db MUSIC_POKEMANIAC_ENCOUNTER ; super_nerd
- db MUSIC_RIVAL_ENCOUNTER ; rival2
- db MUSIC_HIKER_ENCOUNTER ; guitarist
- db MUSIC_HIKER_ENCOUNTER ; hiker
- db MUSIC_HIKER_ENCOUNTER ; biker
- db MUSIC_OFFICER_ENCOUNTER ; blaine
- db MUSIC_POKEMANIAC_ENCOUNTER ; burglar
- db MUSIC_HIKER_ENCOUNTER ; firebreather
- db MUSIC_POKEMANIAC_ENCOUNTER ; juggler
- db MUSIC_HIKER_ENCOUNTER ; blackbelt_t
- db MUSIC_ROCKET_ENCOUNTER ; executivem
- db MUSIC_YOUNGSTER_ENCOUNTER ; psychic_t
- db MUSIC_LASS_ENCOUNTER ; picnicker
- db MUSIC_YOUNGSTER_ENCOUNTER ; camper
- db MUSIC_ROCKET_ENCOUNTER ; executivef
- db MUSIC_SAGE_ENCOUNTER ; sage
- db MUSIC_SAGE_ENCOUNTER ; medium
- db MUSIC_HIKER_ENCOUNTER ; boarder
- db MUSIC_HIKER_ENCOUNTER ; pokefanm
- db MUSIC_KIMONO_ENCOUNTER ; kimono_girl
- db MUSIC_LASS_ENCOUNTER ; twins
- db MUSIC_BEAUTY_ENCOUNTER ; pokefanf
- db MUSIC_HIKER_ENCOUNTER ; red
- db MUSIC_RIVAL_ENCOUNTER ; blue
- db MUSIC_HIKER_ENCOUNTER ; officer
- db MUSIC_ROCKET_ENCOUNTER ; gruntf
- db MUSIC_HIKER_ENCOUNTER ; mysticalman
- db MUSIC_HIKER_ENCOUNTER
- db MUSIC_HIKER_ENCOUNTER
- db MUSIC_HIKER_ENCOUNTER
+ db MUSIC_HIKER_ENCOUNTER ; none
+ db MUSIC_YOUNGSTER_ENCOUNTER ; falkner
+ db MUSIC_LASS_ENCOUNTER ; whitney
+ db MUSIC_YOUNGSTER_ENCOUNTER ; bugsy
+ db MUSIC_OFFICER_ENCOUNTER ; morty
+ db MUSIC_OFFICER_ENCOUNTER ; pryce
+ db MUSIC_LASS_ENCOUNTER ; jasmine
+ db MUSIC_OFFICER_ENCOUNTER ; chuck
+ db MUSIC_BEAUTY_ENCOUNTER ; clair
+ db MUSIC_RIVAL_ENCOUNTER ; rival1
+ db MUSIC_HIKER_ENCOUNTER ; pokemon_prof
+ db MUSIC_HIKER_ENCOUNTER ; will
+ db MUSIC_HIKER_ENCOUNTER ; cal
+ db MUSIC_OFFICER_ENCOUNTER ; bruno
+ db MUSIC_HIKER_ENCOUNTER ; karen
+ db MUSIC_HIKER_ENCOUNTER ; koga
+ db MUSIC_OFFICER_ENCOUNTER ; champion
+ db MUSIC_YOUNGSTER_ENCOUNTER ; brock
+ db MUSIC_LASS_ENCOUNTER ; misty
+ db MUSIC_OFFICER_ENCOUNTER ; lt_surge
+ db MUSIC_ROCKET_ENCOUNTER ; scientist
+ db MUSIC_OFFICER_ENCOUNTER ; erika
+ db MUSIC_YOUNGSTER_ENCOUNTER ; youngster
+ db MUSIC_YOUNGSTER_ENCOUNTER ; schoolboy
+ db MUSIC_YOUNGSTER_ENCOUNTER ; bird_keeper
+ db MUSIC_LASS_ENCOUNTER ; lass
+ db MUSIC_LASS_ENCOUNTER ; janine
+ db MUSIC_HIKER_ENCOUNTER ; cooltrainerm
+ db MUSIC_BEAUTY_ENCOUNTER ; cooltrainerf
+ db MUSIC_BEAUTY_ENCOUNTER ; beauty
+ db MUSIC_POKEMANIAC_ENCOUNTER ; pokemaniac
+ db MUSIC_ROCKET_ENCOUNTER ; gruntm
+ db MUSIC_HIKER_ENCOUNTER ; gentleman
+ db MUSIC_BEAUTY_ENCOUNTER ; skier
+ db MUSIC_BEAUTY_ENCOUNTER ; teacher
+ db MUSIC_BEAUTY_ENCOUNTER ; sabrina
+ db MUSIC_YOUNGSTER_ENCOUNTER ; bug_catcher
+ db MUSIC_HIKER_ENCOUNTER ; fisher
+ db MUSIC_HIKER_ENCOUNTER ; swimmerm
+ db MUSIC_BEAUTY_ENCOUNTER ; swimmerf
+ db MUSIC_HIKER_ENCOUNTER ; sailor
+ db MUSIC_POKEMANIAC_ENCOUNTER ; super_nerd
+ db MUSIC_RIVAL_ENCOUNTER ; rival2
+ db MUSIC_HIKER_ENCOUNTER ; guitarist
+ db MUSIC_HIKER_ENCOUNTER ; hiker
+ db MUSIC_HIKER_ENCOUNTER ; biker
+ db MUSIC_OFFICER_ENCOUNTER ; blaine
+ db MUSIC_POKEMANIAC_ENCOUNTER ; burglar
+ db MUSIC_HIKER_ENCOUNTER ; firebreather
+ db MUSIC_POKEMANIAC_ENCOUNTER ; juggler
+ db MUSIC_HIKER_ENCOUNTER ; blackbelt_t
+ db MUSIC_ROCKET_ENCOUNTER ; executivem
+ db MUSIC_YOUNGSTER_ENCOUNTER ; psychic_t
+ db MUSIC_LASS_ENCOUNTER ; picnicker
+ db MUSIC_YOUNGSTER_ENCOUNTER ; camper
+ db MUSIC_ROCKET_ENCOUNTER ; executivef
+ db MUSIC_SAGE_ENCOUNTER ; sage
+ db MUSIC_SAGE_ENCOUNTER ; medium
+ db MUSIC_HIKER_ENCOUNTER ; boarder
+ db MUSIC_HIKER_ENCOUNTER ; pokefanm
+ db MUSIC_KIMONO_ENCOUNTER ; kimono_girl
+ db MUSIC_LASS_ENCOUNTER ; twins
+ db MUSIC_BEAUTY_ENCOUNTER ; pokefanf
+ db MUSIC_HIKER_ENCOUNTER ; red
+ db MUSIC_RIVAL_ENCOUNTER ; blue
+ db MUSIC_HIKER_ENCOUNTER ; officer
+ db MUSIC_ROCKET_ENCOUNTER ; gruntf
+ db MUSIC_HIKER_ENCOUNTER ; mysticalman
+ db MUSIC_HIKER_ENCOUNTER
+ db MUSIC_HIKER_ENCOUNTER
+ db MUSIC_HIKER_ENCOUNTER
diff --git a/data/trainers/gendered_trainers.asm b/data/trainers/gendered_trainers.asm
index 98cfec2ac..758e3f0a4 100644
--- a/data/trainers/gendered_trainers.asm
+++ b/data/trainers/gendered_trainers.asm
@@ -1,3 +1,5 @@
+; Used by GetMobileOTTrainerClass
+
MaleTrainers: ; 4e95d
db BURGLAR
db YOUNGSTER
diff --git a/data/trainers/genders.asm b/data/trainers/genders.asm
new file mode 100644
index 000000000..e9e78f4bf
--- /dev/null
+++ b/data/trainers/genders.asm
@@ -0,0 +1,71 @@
+; Used by BattleTowerText
+
+BTTrainerClassGenders: ; 11f2f0
+; entries correspond to trainer classes
+ db MALE ; FALKNER
+ db FEMALE ; WHITNEY
+ db FEMALE ; BUGSY
+ db MALE ; MORTY
+ db MALE ; PRYCE
+ db FEMALE ; JASMINE
+ db MALE ; CHUCK
+ db FEMALE ; CLAIR
+ db MALE ; RIVAL1
+ db MALE ; POKEMON_PROF
+ db FEMALE ; WILL
+ db MALE ; CAL
+ db MALE ; BRUNO
+ db FEMALE ; KAREN
+ db MALE ; KOGA
+ db MALE ; CHAMPION
+ db MALE ; BROCK
+ db FEMALE ; MISTY
+ db MALE ; LT_SURGE
+ db MALE ; SCIENTIST
+ db FEMALE ; ERIKA
+ db MALE ; YOUNGSTER
+ db MALE ; SCHOOLBOY
+ db MALE ; BIRD_KEEPER
+ db FEMALE ; LASS
+ db FEMALE ; JANINE
+ db MALE ; COOLTRAINERM
+ db FEMALE ; COOLTRAINERF
+ db FEMALE ; BEAUTY
+ db MALE ; POKEMANIAC
+ db MALE ; GRUNTM
+ db MALE ; GENTLEMAN
+ db FEMALE ; SKIER
+ db FEMALE ; TEACHER
+ db FEMALE ; SABRINA
+ db MALE ; BUG_CATCHER
+ db MALE ; FISHER
+ db MALE ; SWIMMERM
+ db FEMALE ; SWIMMERF
+ db MALE ; SAILOR
+ db MALE ; SUPER_NERD
+ db MALE ; RIVAL2
+ db MALE ; GUITARIST
+ db MALE ; HIKER
+ db MALE ; BIKER
+ db MALE ; BLAINE
+ db MALE ; BURGLAR
+ db MALE ; FIREBREATHER
+ db MALE ; JUGGLER
+ db MALE ; BLACKBELT_T
+ db MALE ; EXECUTIVEM
+ db MALE ; PSYCHIC_T
+ db FEMALE ; PICNICKER
+ db MALE ; CAMPER
+ db FEMALE ; EXECUTIVEF
+ db MALE ; SAGE
+ db FEMALE ; MEDIUM
+ db MALE ; BOARDER
+ db MALE ; POKEFANM
+ db FEMALE ; KIMONO_GIRL
+ db FEMALE ; TWINS
+ db FEMALE ; POKEFANF
+ db MALE ; RED
+ db MALE ; BLUE
+ db MALE ; OFFICER
+ db FEMALE ; GRUNTF
+; 11f332
diff --git a/data/trainers/leaders.asm b/data/trainers/leaders.asm
new file mode 100644
index 000000000..a41f641e2
--- /dev/null
+++ b/data/trainers/leaders.asm
@@ -0,0 +1,32 @@
+; These lists determine the battle music and victory music, and whether to
+; award HAPPINESS_GYMBATTLE for winning.
+
+; Note: CHAMPION and RED are unused for battle music checks, since they are
+; accounted for prior to the list check.
+
+GymLeaders:
+ db FALKNER
+ db WHITNEY
+ db BUGSY
+ db MORTY
+ db PRYCE
+ db JASMINE
+ db CHUCK
+ db CLAIR
+ db WILL
+ db BRUNO
+ db KAREN
+ db KOGA
+ db CHAMPION
+ db RED
+; fallthrough
+KantoGymLeaders:
+ db BROCK
+ db MISTY
+ db LT_SURGE
+ db ERIKA
+ db JANINE
+ db SABRINA
+ db BLAINE
+ db BLUE
+ db -1
diff --git a/data/trainers/palettes.asm b/data/trainers/palettes.asm
index c943e49d7..c502846c4 100644
--- a/data/trainers/palettes.asm
+++ b/data/trainers/palettes.asm
@@ -1,11 +1,9 @@
TrainerPalettes: ; b0ce
; entries correspond to trainer classes
-PlayerPalette: ; b0ce
-; Chris uses the same colors as Cal
+PlayerPalette: ; Chris uses the same colors as Cal
INCLUDE "gfx/trainers/cal.pal"
-KrisPalette: ; b0d0
-; Kris shares Falkner's palette
+KrisPalette: ; Kris shares Falkner's palette
INCLUDE "gfx/trainers/falkner.pal"
INCLUDE "gfx/trainers/whitney.pal"
INCLUDE "gfx/trainers/bugsy.pal"
diff --git a/data/trainers/parties.asm b/data/trainers/parties.asm
index e96cfd895..1bf5cb859 100644
--- a/data/trainers/parties.asm
+++ b/data/trainers/parties.asm
@@ -35,7 +35,7 @@ FalknerGroup:
db GUST
db 0
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -63,7 +63,7 @@ WhitneyGroup:
db STOMP
db MILK_DRINK
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -97,7 +97,7 @@ BugsyGroup:
db FURY_CUTTER
db 0
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -137,7 +137,7 @@ MortyGroup:
db MIMIC
db NIGHT_SHADE
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -171,7 +171,7 @@ PryceGroup:
db MIST
db BLIZZARD
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -205,7 +205,7 @@ JasmineGroup:
db ROCK_THROW
db IRON_TAIL
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -233,7 +233,7 @@ ChuckGroup:
db SURF
db DYNAMICPUNCH
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -273,7 +273,7 @@ ClairGroup:
db HYPER_BEAM
db DRAGONBREATH
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -290,7 +290,7 @@ Rival1Group:
; party
db 5, CHIKORITA
- db $ff ; end
+ db -1 ; end
; ================
@@ -301,7 +301,7 @@ Rival1Group:
; party
db 5, CYNDAQUIL
- db $ff ; end
+ db -1 ; end
; ================
@@ -312,7 +312,7 @@ Rival1Group:
; party
db 5, TOTODILE
- db $ff ; end
+ db -1 ; end
; ================
@@ -325,7 +325,7 @@ Rival1Group:
db 14, ZUBAT
db 16, BAYLEEF
- db $ff ; end
+ db -1 ; end
; ================
@@ -338,7 +338,7 @@ Rival1Group:
db 14, ZUBAT
db 16, QUILAVA
- db $ff ; end
+ db -1 ; end
; ================
@@ -351,7 +351,7 @@ Rival1Group:
db 14, ZUBAT
db 16, CROCONAW
- db $ff ; end
+ db -1 ; end
; ================
@@ -385,7 +385,7 @@ Rival1Group:
db RAZOR_LEAF
db POISONPOWDER
- db $ff ; end
+ db -1 ; end
; ================
@@ -419,7 +419,7 @@ Rival1Group:
db EMBER
db QUICK_ATTACK
- db $ff ; end
+ db -1 ; end
; ================
@@ -453,7 +453,7 @@ Rival1Group:
db WATER_GUN
db BITE
- db $ff ; end
+ db -1 ; end
; ================
@@ -493,7 +493,7 @@ Rival1Group:
db POISONPOWDER
db BODY_SLAM
- db $ff ; end
+ db -1 ; end
; ================
@@ -533,7 +533,7 @@ Rival1Group:
db QUICK_ATTACK
db FLAME_WHEEL
- db $ff ; end
+ db -1 ; end
; ================
@@ -573,7 +573,7 @@ Rival1Group:
db BITE
db SCARY_FACE
- db $ff ; end
+ db -1 ; end
; ================
@@ -619,7 +619,7 @@ Rival1Group:
db POISONPOWDER
db BODY_SLAM
- db $ff ; end
+ db -1 ; end
; ================
@@ -665,7 +665,7 @@ Rival1Group:
db QUICK_ATTACK
db FLAME_WHEEL
- db $ff ; end
+ db -1 ; end
; ================
@@ -711,7 +711,7 @@ Rival1Group:
db SCARY_FACE
db SLASH
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -763,7 +763,7 @@ WillGroup:
db CONFUSE_RAY
db PSYCHIC_M
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -782,7 +782,7 @@ PKMNTrainerGroup:
db 10, CYNDAQUIL
db 10, TOTODILE
- db $ff ; end
+ db -1 ; end
; ================
@@ -795,7 +795,7 @@ PKMNTrainerGroup:
db 30, QUILAVA
db 30, CROCONAW
- db $ff ; end
+ db -1 ; end
; ================
@@ -808,7 +808,7 @@ PKMNTrainerGroup:
db 50, TYPHLOSION
db 50, FERALIGATR
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -854,7 +854,7 @@ BrunoGroup:
db VITAL_THROW
db CROSS_CHOP
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -900,7 +900,7 @@ KarenGroup:
db FLAMETHROWER
db CRUNCH
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -946,7 +946,7 @@ KogaGroup:
db WING_ATTACK
db TOXIC
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -998,7 +998,7 @@ ChampionGroup:
db OUTRAGE
db HYPER_BEAM
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -1044,7 +1044,7 @@ BrockGroup:
db ENDURE
db GIGA_DRAIN
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -1084,7 +1084,7 @@ MistyGroup:
db RECOVER
db ICE_BEAM
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -1130,7 +1130,7 @@ LtSurgeGroup:
db LIGHT_SCREEN
db THUNDER
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -1148,7 +1148,7 @@ ScientistGroup:
db 22, KOFFING
db 22, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -1159,7 +1159,7 @@ ScientistGroup:
; party
db 24, DITTO
- db $ff ; end
+ db -1 ; end
; ================
@@ -1172,7 +1172,7 @@ ScientistGroup:
db 20, MAGNEMITE
db 20, MAGNEMITE
- db $ff ; end
+ db -1 ; end
; ================
@@ -1185,7 +1185,7 @@ ScientistGroup:
db 27, MAGNEMITE
db 27, MAGNEMITE
- db $ff ; end
+ db -1 ; end
; ================
@@ -1201,7 +1201,7 @@ ScientistGroup:
db RECOVER
db TRI_ATTACK
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -1241,7 +1241,7 @@ ErikaGroup:
db PETAL_DANCE
db SOLARBEAM
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -1258,7 +1258,7 @@ YoungsterGroup:
; party
db 4, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -1270,7 +1270,7 @@ YoungsterGroup:
db 2, PIDGEY
db 4, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -1282,7 +1282,7 @@ YoungsterGroup:
db 6, RATTATA
db 8, ZUBAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -1293,7 +1293,7 @@ YoungsterGroup:
; party
db 10, WOOPER
- db $ff ; end
+ db -1 ; end
; ================
@@ -1307,7 +1307,7 @@ YoungsterGroup:
db 8, SPEAROW
db 8, SPEAROW
- db $ff ; end
+ db -1 ; end
; ================
@@ -1319,7 +1319,7 @@ YoungsterGroup:
db 10, MANKEY
db 12, DIGLETT
- db $ff ; end
+ db -1 ; end
; ================
@@ -1330,7 +1330,7 @@ YoungsterGroup:
; party
db 15, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -1346,7 +1346,7 @@ YoungsterGroup:
db HYPER_FANG
db SCARY_FACE
- db $ff ; end
+ db -1 ; end
; ================
@@ -1357,7 +1357,7 @@ YoungsterGroup:
; party
db 35, FEAROW
- db $ff ; end
+ db -1 ; end
; ================
@@ -1369,7 +1369,7 @@ YoungsterGroup:
db 33, RATICATE
db 33, ARBOK
- db $ff ; end
+ db -1 ; end
; ================
@@ -1380,7 +1380,7 @@ YoungsterGroup:
; party
db 35, GROWLITHE
- db $ff ; end
+ db -1 ; end
; ================
@@ -1392,7 +1392,7 @@ YoungsterGroup:
db 33, SANDSLASH
db 33, CROBAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -1408,7 +1408,7 @@ YoungsterGroup:
db HYPER_FANG
db PURSUIT
- db $ff ; end
+ db -1 ; end
; ================
@@ -1424,7 +1424,7 @@ YoungsterGroup:
db HYPER_FANG
db PURSUIT
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -1442,7 +1442,7 @@ SchoolboyGroup:
db 12, ODDISH
db 15, VOLTORB
- db $ff ; end
+ db -1 ; end
; ================
@@ -1456,7 +1456,7 @@ SchoolboyGroup:
db 31, VOLTORB
db 31, MAGNETON
- db $ff ; end
+ db -1 ; end
; ================
@@ -1467,7 +1467,7 @@ SchoolboyGroup:
; party
db 16, TANGELA
- db $ff ; end
+ db -1 ; end
; ================
@@ -1480,7 +1480,7 @@ SchoolboyGroup:
db 31, WEEPINBELL
db 33, VICTREEBEL
- db $ff ; end
+ db -1 ; end
; ================
@@ -1493,7 +1493,7 @@ SchoolboyGroup:
db 31, ELECTABUZZ
db 31, MAGMAR
- db $ff ; end
+ db -1 ; end
; ================
@@ -1505,7 +1505,7 @@ SchoolboyGroup:
db 32, XATU
db 34, ALAKAZAM
- db $ff ; end
+ db -1 ; end
; ================
@@ -1516,7 +1516,7 @@ SchoolboyGroup:
; party
db 35, ODDISH
- db $ff ; end
+ db -1 ; end
; ================
@@ -1528,7 +1528,7 @@ SchoolboyGroup:
db 33, TANGELA
db 33, VAPOREON
- db $ff ; end
+ db -1 ; end
; ================
@@ -1542,7 +1542,7 @@ SchoolboyGroup:
db 27, POLIWHIRL
db 35, DITTO
- db $ff ; end
+ db -1 ; end
; ================
@@ -1553,7 +1553,7 @@ SchoolboyGroup:
; party
db 19, MR__MIME
- db $ff ; end
+ db -1 ; end
; ================
@@ -1565,7 +1565,7 @@ SchoolboyGroup:
db 32, LEDIAN
db 32, EXEGGUTOR
- db $ff ; end
+ db -1 ; end
; ================
@@ -1577,7 +1577,7 @@ SchoolboyGroup:
db 32, AIPOM
db 32, DITTO
- db $ff ; end
+ db -1 ; end
; ================
@@ -1589,7 +1589,7 @@ SchoolboyGroup:
db 14, ODDISH
db 17, VOLTORB
- db $ff ; end
+ db -1 ; end
; ================
@@ -1601,7 +1601,7 @@ SchoolboyGroup:
db 28, GLOOM
db 31, ELECTRODE
- db $ff ; end
+ db -1 ; end
; ================
@@ -1613,7 +1613,7 @@ SchoolboyGroup:
db 17, TANGELA
db 17, YANMA
- db $ff ; end
+ db -1 ; end
; ================
@@ -1627,7 +1627,7 @@ SchoolboyGroup:
db 20, QUAGSIRE
db 25, YANMA
- db $ff ; end
+ db -1 ; end
; ================
@@ -1639,7 +1639,7 @@ SchoolboyGroup:
db 19, MR__MIME
db 19, MAGNEMITE
- db $ff ; end
+ db -1 ; end
; ================
@@ -1651,7 +1651,7 @@ SchoolboyGroup:
db 27, MR__MIME
db 31, MAGNETON
- db $ff ; end
+ db -1 ; end
; ================
@@ -1664,7 +1664,7 @@ SchoolboyGroup:
db 33, GROWLITHE
db 33, ELECTRODE
- db $ff ; end
+ db -1 ; end
; ================
@@ -1692,7 +1692,7 @@ SchoolboyGroup:
db ACID
db MOONLIGHT
- db $ff ; end
+ db -1 ; end
; ================
@@ -1706,7 +1706,7 @@ SchoolboyGroup:
db 30, QUAGSIRE
db 30, YANMA
- db $ff ; end
+ db -1 ; end
; ================
@@ -1740,7 +1740,7 @@ SchoolboyGroup:
db AMNESIA
db EARTHQUAKE
- db $ff ; end
+ db -1 ; end
; ================
@@ -1752,7 +1752,7 @@ SchoolboyGroup:
db 30, MR__MIME
db 34, MAGNETON
- db $ff ; end
+ db -1 ; end
; ================
@@ -1774,7 +1774,7 @@ SchoolboyGroup:
db LOCK_ON
db SWIFT
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -1792,7 +1792,7 @@ BirdKeeperGroup:
db 7, PIDGEY
db 7, PIDGEY
- db $ff ; end
+ db -1 ; end
; ================
@@ -1803,7 +1803,7 @@ BirdKeeperGroup:
; party
db 9, SPEAROW
- db $ff ; end
+ db -1 ; end
; ================
@@ -1815,7 +1815,7 @@ BirdKeeperGroup:
db 12, PIDGEY
db 14, PIDGEOTTO
- db $ff ; end
+ db -1 ; end
; ================
@@ -1830,7 +1830,7 @@ BirdKeeperGroup:
db 15, PIDGEY
db 15, PIDGEY
- db $ff ; end
+ db -1 ; end
; ================
@@ -1843,7 +1843,7 @@ BirdKeeperGroup:
db 16, DODUO
db 17, DODUO
- db $ff ; end
+ db -1 ; end
; ================
@@ -1856,7 +1856,7 @@ BirdKeeperGroup:
db 20, FEAROW
db 18, SPEAROW
- db $ff ; end
+ db -1 ; end
; ================
@@ -1868,7 +1868,7 @@ BirdKeeperGroup:
db 25, PIDGEOTTO
db 25, PIDGEOTTO
- db $ff ; end
+ db -1 ; end
; ================
@@ -1880,7 +1880,7 @@ BirdKeeperGroup:
db 12, PIDGEY
db 34, PIDGEOT
- db $ff ; end
+ db -1 ; end
; ================
@@ -1892,7 +1892,7 @@ BirdKeeperGroup:
db 29, FEAROW
db 35, FEAROW
- db $ff ; end
+ db -1 ; end
; ================
@@ -1905,7 +1905,7 @@ BirdKeeperGroup:
db 28, DODUO
db 32, DODRIO
- db $ff ; end
+ db -1 ; end
; ================
@@ -1916,7 +1916,7 @@ BirdKeeperGroup:
; party
db 34, NOCTOWL
- db $ff ; end
+ db -1 ; end
; ================
@@ -1927,7 +1927,7 @@ BirdKeeperGroup:
; party
db 36, FARFETCH_D
- db $ff ; end
+ db -1 ; end
; ================
@@ -1940,7 +1940,7 @@ BirdKeeperGroup:
db 6, PIDGEY
db 8, SPEAROW
- db $ff ; end
+ db -1 ; end
; ================
@@ -1951,7 +1951,7 @@ BirdKeeperGroup:
; party
db 34, FARFETCH_D
- db $ff ; end
+ db -1 ; end
; ================
@@ -1962,7 +1962,7 @@ BirdKeeperGroup:
; party
db 34, FARFETCH_D
- db $ff ; end
+ db -1 ; end
; ================
@@ -1974,7 +1974,7 @@ BirdKeeperGroup:
db 32, PIDGEOTTO
db 32, FEAROW
- db $ff ; end
+ db -1 ; end
; ================
@@ -1990,7 +1990,7 @@ BirdKeeperGroup:
db FLY
db SLASH
- db $ff ; end
+ db -1 ; end
; ================
@@ -2002,7 +2002,7 @@ BirdKeeperGroup:
db 32, PIDGEOTTO
db 32, PIDGEOTTO
- db $ff ; end
+ db -1 ; end
; ================
@@ -2024,7 +2024,7 @@ BirdKeeperGroup:
db STEEL_WING
db FLY
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -2046,7 +2046,7 @@ LassGroup:
db BITE
db LICK
- db $ff ; end
+ db -1 ; end
; ================
@@ -2059,7 +2059,7 @@ LassGroup:
db 15, JIGGLYPUFF
db 15, JIGGLYPUFF
- db $ff ; end
+ db -1 ; end
; ================
@@ -2072,7 +2072,7 @@ LassGroup:
db 34, ARBOK
db 30, GLOOM
- db $ff ; end
+ db -1 ; end
; ================
@@ -2084,7 +2084,7 @@ LassGroup:
db 12, ODDISH
db 15, CUBONE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2095,7 +2095,7 @@ LassGroup:
; party
db 21, MARILL
- db $ff ; end
+ db -1 ; end
; ================
@@ -2108,7 +2108,7 @@ LassGroup:
db 32, IVYSAUR
db 34, VENUSAUR
- db $ff ; end
+ db -1 ; end
; ================
@@ -2121,7 +2121,7 @@ LassGroup:
db 31, PIDGEOTTO
db 31, BELLOSSOM
- db $ff ; end
+ db -1 ; end
; ================
@@ -2134,7 +2134,7 @@ LassGroup:
db 29, PARAS
db 32, PARASECT
- db $ff ; end
+ db -1 ; end
; ================
@@ -2147,7 +2147,7 @@ LassGroup:
db 33, HOPPIP
db 34, JUMPLUFF
- db $ff ; end
+ db -1 ; end
; ================
@@ -2169,7 +2169,7 @@ LassGroup:
db DISABLE
db CONFUSION
- db $ff ; end
+ db -1 ; end
; ================
@@ -2181,7 +2181,7 @@ LassGroup:
db 30, WIGGLYTUFF
db 34, GRANBULL
- db $ff ; end
+ db -1 ; end
; ================
@@ -2192,7 +2192,7 @@ LassGroup:
; party
db 21, MARILL
- db $ff ; end
+ db -1 ; end
; ================
@@ -2203,7 +2203,7 @@ LassGroup:
; party
db 21, MARILL
- db $ff ; end
+ db -1 ; end
; ================
@@ -2225,7 +2225,7 @@ LassGroup:
db DISABLE
db CONFUSION
- db $ff ; end
+ db -1 ; end
; ================
@@ -2247,7 +2247,7 @@ LassGroup:
db THUNDER_WAVE
db COTTON_SPORE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2269,7 +2269,7 @@ LassGroup:
db THUNDER_WAVE
db COTTON_SPORE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2291,7 +2291,7 @@ LassGroup:
db PSYCHIC_M
db SCREECH
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -2337,7 +2337,7 @@ JanineGroup:
db GUST
db PSYCHIC_M
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -2371,7 +2371,7 @@ CooltrainerMGroup:
db SLEEP_POWDER
db RAZOR_LEAF
- db $ff ; end
+ db -1 ; end
; ================
@@ -2384,7 +2384,7 @@ CooltrainerMGroup:
db 24, CHARMELEON
db 24, WARTORTLE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2397,7 +2397,7 @@ CooltrainerMGroup:
db 34, DRATINI
db 34, DRATINI
- db $ff ; end
+ db -1 ; end
; ================
@@ -2409,7 +2409,7 @@ CooltrainerMGroup:
db 34, HORSEA
db 36, SEADRA
- db $ff ; end
+ db -1 ; end
; ================
@@ -2420,7 +2420,7 @@ CooltrainerMGroup:
; party
db 37, DRAGONAIR
- db $ff ; end
+ db -1 ; end
; ================
@@ -2448,7 +2448,7 @@ CooltrainerMGroup:
db BITE
db FIRE_SPIN
- db $ff ; end
+ db -1 ; end
; ================
@@ -2476,7 +2476,7 @@ CooltrainerMGroup:
db BITE
db FIRE_SPIN
- db $ff ; end
+ db -1 ; end
; ================
@@ -2498,7 +2498,7 @@ CooltrainerMGroup:
db SWIFT
db SCREECH
- db $ff ; end
+ db -1 ; end
; ================
@@ -2520,7 +2520,7 @@ CooltrainerMGroup:
db PSYCH_UP
db FURY_SWIPES
- db $ff ; end
+ db -1 ; end
; ================
@@ -2548,7 +2548,7 @@ CooltrainerMGroup:
db BITE
db FIRE_SPIN
- db $ff ; end
+ db -1 ; end
; ================
@@ -2576,7 +2576,7 @@ CooltrainerMGroup:
db SLEEP_POWDER
db SOLARBEAM
- db $ff ; end
+ db -1 ; end
; ================
@@ -2592,7 +2592,7 @@ CooltrainerMGroup:
db SLASH
db SWIFT
- db $ff ; end
+ db -1 ; end
; ================
@@ -2605,7 +2605,7 @@ CooltrainerMGroup:
db 10, CHARMANDER
db 10, SQUIRTLE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2618,7 +2618,7 @@ CooltrainerMGroup:
db 10, CHARMANDER
db 10, SQUIRTLE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2631,7 +2631,7 @@ CooltrainerMGroup:
db 10, CHARMANDER
db 10, SQUIRTLE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2644,7 +2644,7 @@ CooltrainerMGroup:
db 35, TANGELA
db 35, TAUROS
- db $ff ; end
+ db -1 ; end
; ================
@@ -2657,7 +2657,7 @@ CooltrainerMGroup:
db 35, CHARMELEON
db 35, WARTORTLE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2670,7 +2670,7 @@ CooltrainerMGroup:
db 14, CHARMANDER
db 14, SQUIRTLE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2686,7 +2686,7 @@ CooltrainerMGroup:
db RAGE
db SCARY_FACE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2702,7 +2702,7 @@ CooltrainerMGroup:
db DRAGON_RAGE
db SLAM
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -2722,7 +2722,7 @@ CooltrainerFGroup:
db 22, VAPOREON
db 22, JOLTEON
- db $ff ; end
+ db -1 ; end
; ================
@@ -2744,7 +2744,7 @@ CooltrainerFGroup:
db CONFUSE_RAY
db SAFEGUARD
- db $ff ; end
+ db -1 ; end
; ================
@@ -2755,7 +2755,7 @@ CooltrainerFGroup:
; party
db 37, SEADRA
- db $ff ; end
+ db -1 ; end
; ================
@@ -2767,7 +2767,7 @@ CooltrainerFGroup:
db 34, DRATINI
db 36, DRAGONAIR
- db $ff ; end
+ db -1 ; end
; ================
@@ -2779,7 +2779,7 @@ CooltrainerFGroup:
db 26, SHELLDER
db 28, CLOYSTER
- db $ff ; end
+ db -1 ; end
; ================
@@ -2791,7 +2791,7 @@ CooltrainerFGroup:
db 22, GOLDEEN
db 24, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -2804,7 +2804,7 @@ CooltrainerFGroup:
db 24, WARTORTLE
db 24, WARTORTLE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2826,7 +2826,7 @@ CooltrainerFGroup:
db SURF
db RAIN_DANCE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2842,7 +2842,7 @@ CooltrainerFGroup:
db FURY_ATTACK
db AGILITY
- db $ff ; end
+ db -1 ; end
; ================
@@ -2855,7 +2855,7 @@ CooltrainerFGroup:
db 33, NIDOQUEEN
db 31, STARMIE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2883,7 +2883,7 @@ CooltrainerFGroup:
db RAZOR_LEAF
db SWEET_SCENT
- db $ff ; end
+ db -1 ; end
; ================
@@ -2899,7 +2899,7 @@ CooltrainerFGroup:
db FURY_ATTACK
db AGILITY
- db $ff ; end
+ db -1 ; end
; ================
@@ -2912,7 +2912,7 @@ CooltrainerFGroup:
db 35, STARMIE
db 35, NINETALES
- db $ff ; end
+ db -1 ; end
; ================
@@ -2924,7 +2924,7 @@ CooltrainerFGroup:
db 38, IVYSAUR
db 38, STARMIE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2935,7 +2935,7 @@ CooltrainerFGroup:
; party
db 28, POLIWHIRL
- db $ff ; end
+ db -1 ; end
; ================
@@ -2957,7 +2957,7 @@ CooltrainerFGroup:
db ACID
db SOLARBEAM
- db $ff ; end
+ db -1 ; end
; ================
@@ -2969,7 +2969,7 @@ CooltrainerFGroup:
db 24, STARYU
db 26, STARMIE
- db $ff ; end
+ db -1 ; end
; ================
@@ -2985,7 +2985,7 @@ CooltrainerFGroup:
db FURY_ATTACK
db FIRE_BLAST
- db $ff ; end
+ db -1 ; end
; ================
@@ -2998,7 +2998,7 @@ CooltrainerFGroup:
db 36, NIDOQUEEN
db 34, STARMIE
- db $ff ; end
+ db -1 ; end
; ================
@@ -3026,7 +3026,7 @@ CooltrainerFGroup:
db WATERFALL
db RECOVER
- db $ff ; end
+ db -1 ; end
; ================
@@ -3054,7 +3054,7 @@ CooltrainerFGroup:
db WATERFALL
db TWISTER
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -3073,7 +3073,7 @@ BeautyGroup:
db 13, SENTRET
db 17, SENTRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3095,7 +3095,7 @@ BeautyGroup:
db BITE
db SLASH
- db $ff ; end
+ db -1 ; end
; ================
@@ -3106,7 +3106,7 @@ BeautyGroup:
; party
db 15, SENTRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3117,7 +3117,7 @@ BeautyGroup:
; party
db 15, SENTRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3128,7 +3128,7 @@ BeautyGroup:
; party
db 16, FURRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3140,7 +3140,7 @@ BeautyGroup:
db 28, VILEPLUME
db 34, BUTTERFREE
- db $ff ; end
+ db -1 ; end
; ================
@@ -3153,7 +3153,7 @@ BeautyGroup:
db 32, SEEL
db 30, MARILL
- db $ff ; end
+ db -1 ; end
; ================
@@ -3164,7 +3164,7 @@ BeautyGroup:
; party
db 15, SENTRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3175,7 +3175,7 @@ BeautyGroup:
; party
db 15, SENTRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3186,7 +3186,7 @@ BeautyGroup:
; party
db 15, SENTRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3197,7 +3197,7 @@ BeautyGroup:
; party
db 15, SENTRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3208,7 +3208,7 @@ BeautyGroup:
; party
db 15, SENTRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3219,7 +3219,7 @@ BeautyGroup:
; party
db 15, SENTRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3232,7 +3232,7 @@ BeautyGroup:
db 32, EXEGGCUTE
db 35, PARASECT
- db $ff ; end
+ db -1 ; end
; ================
@@ -3243,7 +3243,7 @@ BeautyGroup:
; party
db 15, SENTRET
- db $ff ; end
+ db -1 ; end
; ================
@@ -3265,7 +3265,7 @@ BeautyGroup:
db TACKLE
db STUN_SPORE
- db $ff ; end
+ db -1 ; end
; ================
@@ -3276,7 +3276,7 @@ BeautyGroup:
; party
db 19, CORSOLA
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -3293,7 +3293,7 @@ PokemaniacGroup:
; party
db 10, SLOWPOKE
- db $ff ; end
+ db -1 ; end
; ================
@@ -3305,7 +3305,7 @@ PokemaniacGroup:
db 24, MAROWAK
db 24, MAROWAK
- db $ff ; end
+ db -1 ; end
; ================
@@ -3316,7 +3316,7 @@ PokemaniacGroup:
; party
db 26, KANGASKHAN
- db $ff ; end
+ db -1 ; end
; ================
@@ -3328,7 +3328,7 @@ PokemaniacGroup:
db 16, NIDORINA
db 16, NIDORINO
- db $ff ; end
+ db -1 ; end
; ================
@@ -3339,7 +3339,7 @@ PokemaniacGroup:
; party
db 19, SLOWBRO
- db $ff ; end
+ db -1 ; end
; ================
@@ -3350,7 +3350,7 @@ PokemaniacGroup:
; party
db 19, LICKITUNG
- db $ff ; end
+ db -1 ; end
; ================
@@ -3361,7 +3361,7 @@ PokemaniacGroup:
; party
db 19, NIDOKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -3373,7 +3373,7 @@ PokemaniacGroup:
db 31, RHYHORN
db 31, RHYDON
- db $ff ; end
+ db -1 ; end
; ================
@@ -3384,7 +3384,7 @@ PokemaniacGroup:
; party
db 25, KANGASKHAN
- db $ff ; end
+ db -1 ; end
; ================
@@ -3400,7 +3400,7 @@ PokemaniacGroup:
db CONVERSION2
db TRI_ATTACK
- db $ff ; end
+ db -1 ; end
; ================
@@ -3416,7 +3416,7 @@ PokemaniacGroup:
db CUT
db 0
- db $ff ; end
+ db -1 ; end
; ================
@@ -3428,7 +3428,7 @@ PokemaniacGroup:
db 10, SLOWPOKE
db 10, SLOWPOKE
- db $ff ; end
+ db -1 ; end
; ================
@@ -3439,7 +3439,7 @@ PokemaniacGroup:
; party
db 27, RHYHORN
- db $ff ; end
+ db -1 ; end
; ================
@@ -3455,7 +3455,7 @@ PokemaniacGroup:
db EGG_BOMB
db SOFTBOILED
- db $ff ; end
+ db -1 ; end
; ================
@@ -3467,7 +3467,7 @@ PokemaniacGroup:
db 17, NIDOKING
db 17, NIDOQUEEN
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -3484,7 +3484,7 @@ GruntMGroup:
; party
db 14, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -3497,7 +3497,7 @@ GruntMGroup:
db 9, ZUBAT
db 9, ZUBAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -3509,7 +3509,7 @@ GruntMGroup:
db 24, RATICATE
db 24, RATICATE
- db $ff ; end
+ db -1 ; end
; ================
@@ -3522,7 +3522,7 @@ GruntMGroup:
db 23, GRIMER
db 25, MUK
- db $ff ; end
+ db -1 ; end
; ================
@@ -3537,7 +3537,7 @@ GruntMGroup:
db 23, RATTATA
db 23, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -3549,7 +3549,7 @@ GruntMGroup:
db 26, ZUBAT
db 26, ZUBAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -3563,7 +3563,7 @@ GruntMGroup:
db 23, ZUBAT
db 23, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -3574,7 +3574,7 @@ GruntMGroup:
; party
db 26, WEEZING
- db $ff ; end
+ db -1 ; end
; ================
@@ -3586,7 +3586,7 @@ GruntMGroup:
db 24, RATICATE
db 26, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -3599,7 +3599,7 @@ GruntMGroup:
db 24, GOLBAT
db 22, GRIMER
- db $ff ; end
+ db -1 ; end
; ================
@@ -3612,7 +3612,7 @@ GruntMGroup:
db 23, KOFFING
db 25, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -3623,7 +3623,7 @@ GruntMGroup:
; party
db 33, HOUNDOUR
- db $ff ; end
+ db -1 ; end
; ================
@@ -3634,7 +3634,7 @@ GruntMGroup:
; party
db 27, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -3646,7 +3646,7 @@ GruntMGroup:
db 24, RATICATE
db 24, GOLBAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -3658,7 +3658,7 @@ GruntMGroup:
db 26, GRIMER
db 23, WEEZING
- db $ff ; end
+ db -1 ; end
; ================
@@ -3672,7 +3672,7 @@ GruntMGroup:
db 16, RATTATA
db 16, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -3683,7 +3683,7 @@ GruntMGroup:
; party
db 18, GOLBAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -3696,7 +3696,7 @@ GruntMGroup:
db 17, ZUBAT
db 17, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -3708,7 +3708,7 @@ GruntMGroup:
db 18, VENONAT
db 18, VENONAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -3720,7 +3720,7 @@ GruntMGroup:
db 17, DROWZEE
db 19, ZUBAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -3733,7 +3733,7 @@ GruntMGroup:
db 17, GRIMER
db 18, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -3744,7 +3744,7 @@ GruntMGroup:
; party
db 36, GOLBAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -3755,7 +3755,7 @@ GruntMGroup:
; party
db 30, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -3767,7 +3767,7 @@ GruntMGroup:
db 25, KOFFING
db 25, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -3779,7 +3779,7 @@ GruntMGroup:
db 24, KOFFING
db 24, MUK
- db $ff ; end
+ db -1 ; end
; ================
@@ -3791,7 +3791,7 @@ GruntMGroup:
db 15, RATTATA
db 15, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -3802,7 +3802,7 @@ GruntMGroup:
; party
db 22, ZUBAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -3813,7 +3813,7 @@ GruntMGroup:
; party
db 19, RATICATE
- db $ff ; end
+ db -1 ; end
; ================
@@ -3825,7 +3825,7 @@ GruntMGroup:
db 9, RATTATA
db 9, RATTATA
- db $ff ; end
+ db -1 ; end
; ================
@@ -3838,7 +3838,7 @@ GruntMGroup:
db 25, GOLBAT
db 30, ARBOK
- db $ff ; end
+ db -1 ; end
; ================
@@ -3849,7 +3849,7 @@ GruntMGroup:
; party
db 30, GOLBAT
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -3867,7 +3867,7 @@ GentlemanGroup:
db 18, GROWLITHE
db 18, GROWLITHE
- db $ff ; end
+ db -1 ; end
; ================
@@ -3878,7 +3878,7 @@ GentlemanGroup:
; party
db 33, PERSIAN
- db $ff ; end
+ db -1 ; end
; ================
@@ -3890,7 +3890,7 @@ GentlemanGroup:
db 37, PIKACHU
db 33, FLAAFFY
- db $ff ; end
+ db -1 ; end
; ================
@@ -3901,7 +3901,7 @@ GentlemanGroup:
; party
db 20, PONYTA
- db $ff ; end
+ db -1 ; end
; ================
@@ -3912,7 +3912,7 @@ GentlemanGroup:
; party
db 20, NOCTOWL
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -3929,7 +3929,7 @@ SkierGroup:
; party
db 28, JYNX
- db $ff ; end
+ db -1 ; end
; ================
@@ -3940,7 +3940,7 @@ SkierGroup:
; party
db 28, DEWGONG
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -3957,7 +3957,7 @@ TeacherGroup:
; party
db 36, CLEFAIRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -3969,7 +3969,7 @@ TeacherGroup:
db 32, AIPOM
db 36, CUBONE
- db $ff ; end
+ db -1 ; end
; ================
@@ -3980,7 +3980,7 @@ TeacherGroup:
; party
db 35, JIGGLYPUFF
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -4014,7 +4014,7 @@ SabrinaGroup:
db PSYCHIC_M
db REFLECT
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -4032,7 +4032,7 @@ BugCatcherGroup:
db 3, CATERPIE
db 3, CATERPIE
- db $ff ; end
+ db -1 ; end
; ================
@@ -4044,7 +4044,7 @@ BugCatcherGroup:
db 32, BEEDRILL
db 32, BUTTERFREE
- db $ff ; end
+ db -1 ; end
; ================
@@ -4057,7 +4057,7 @@ BugCatcherGroup:
db 30, BEEDRILL
db 30, BEEDRILL
- db $ff ; end
+ db -1 ; end
; ================
@@ -4071,7 +4071,7 @@ BugCatcherGroup:
db 3, WEEDLE
db 2, CATERPIE
- db $ff ; end
+ db -1 ; end
; ================
@@ -4084,7 +4084,7 @@ BugCatcherGroup:
db 9, KAKUNA
db 12, BEEDRILL
- db $ff ; end
+ db -1 ; end
; ================
@@ -4096,7 +4096,7 @@ BugCatcherGroup:
db 12, CATERPIE
db 12, WEEDLE
- db $ff ; end
+ db -1 ; end
; ================
@@ -4107,7 +4107,7 @@ BugCatcherGroup:
; party
db 13, PARAS
- db $ff ; end
+ db -1 ; end
; ================
@@ -4118,7 +4118,7 @@ BugCatcherGroup:
; party
db 15, VENONAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -4130,7 +4130,7 @@ BugCatcherGroup:
db 30, ARIADOS
db 32, PINSIR
- db $ff ; end
+ db -1 ; end
; ================
@@ -4144,7 +4144,7 @@ BugCatcherGroup:
db 10, KAKUNA
db 9, METAPOD
- db $ff ; end
+ db -1 ; end
; ================
@@ -4158,7 +4158,7 @@ BugCatcherGroup:
db 15, BEEDRILL
db 14, BUTTERFREE
- db $ff ; end
+ db -1 ; end
; ================
@@ -4169,7 +4169,7 @@ BugCatcherGroup:
; party
db 34, ARIADOS
- db $ff ; end
+ db -1 ; end
; ================
@@ -4180,7 +4180,7 @@ BugCatcherGroup:
; party
db 19, VENONAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -4196,7 +4196,7 @@ BugCatcherGroup:
db CONFUSION
db LEECH_LIFE
- db $ff ; end
+ db -1 ; end
; ================
@@ -4230,7 +4230,7 @@ BugCatcherGroup:
db SUPERSONIC
db WHIRLWIND
- db $ff ; end
+ db -1 ; end
; ================
@@ -4264,7 +4264,7 @@ BugCatcherGroup:
db GUST
db WHIRLWIND
- db $ff ; end
+ db -1 ; end
; ================
@@ -4280,7 +4280,7 @@ BugCatcherGroup:
db PSYBEAM
db LEECH_LIFE
- db $ff ; end
+ db -1 ; end
; ================
@@ -4296,7 +4296,7 @@ BugCatcherGroup:
db PSYCHIC_M
db TOXIC
- db $ff ; end
+ db -1 ; end
; ================
@@ -4308,7 +4308,7 @@ BugCatcherGroup:
db 8, LEDYBA
db 10, PARAS
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -4328,7 +4328,7 @@ FisherGroup:
db 15, MAGIKARP
db 5, MAGIKARP
- db $ff ; end
+ db -1 ; end
; ================
@@ -4339,7 +4339,7 @@ FisherGroup:
; party
db 10, GOLDEEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -4350,7 +4350,7 @@ FisherGroup:
; party
db 34, TENTACRUEL
- db $ff ; end
+ db -1 ; end
; ================
@@ -4363,7 +4363,7 @@ FisherGroup:
db 31, POLIWHIRL
db 31, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -4375,7 +4375,7 @@ FisherGroup:
db 8, POLIWAG
db 8, POLIWAG
- db $ff ; end
+ db -1 ; end
; ================
@@ -4389,7 +4389,7 @@ FisherGroup:
db 15, MAGIKARP
db 15, GYARADOS
- db $ff ; end
+ db -1 ; end
; ================
@@ -4400,7 +4400,7 @@ FisherGroup:
; party
db 18, QWILFISH
- db $ff ; end
+ db -1 ; end
; ================
@@ -4411,7 +4411,7 @@ FisherGroup:
; party
db 27, GYARADOS
- db $ff ; end
+ db -1 ; end
; ================
@@ -4425,7 +4425,7 @@ FisherGroup:
db 22, MAGIKARP
db 22, MAGIKARP
- db $ff ; end
+ db -1 ; end
; ================
@@ -4438,7 +4438,7 @@ FisherGroup:
db 23, GOLDEEN
db 25, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -4460,7 +4460,7 @@ FisherGroup:
db AURORA_BEAM
db BUBBLEBEAM
- db $ff ; end
+ db -1 ; end
; ================
@@ -4474,7 +4474,7 @@ FisherGroup:
db 25, REMORAID
db 29, CLOYSTER
- db $ff ; end
+ db -1 ; end
; ================
@@ -4486,7 +4486,7 @@ FisherGroup:
db 32, REMORAID
db 32, REMORAID
- db $ff ; end
+ db -1 ; end
; ================
@@ -4500,7 +4500,7 @@ FisherGroup:
db 31, QWILFISH
db 31, TENTACRUEL
- db $ff ; end
+ db -1 ; end
; ================
@@ -4513,7 +4513,7 @@ FisherGroup:
db 30, GYARADOS
db 30, GYARADOS
- db $ff ; end
+ db -1 ; end
; ================
@@ -4524,7 +4524,7 @@ FisherGroup:
; party
db 17, GOLDEEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -4536,7 +4536,7 @@ FisherGroup:
db 17, QWILFISH
db 19, GOLDEEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -4547,7 +4547,7 @@ FisherGroup:
; party
db 23, QWILFISH
- db $ff ; end
+ db -1 ; end
; ================
@@ -4560,7 +4560,7 @@ FisherGroup:
db 32, GOLDEEN
db 32, QWILFISH
- db $ff ; end
+ db -1 ; end
; ================
@@ -4573,7 +4573,7 @@ FisherGroup:
db 29, GOLDEEN
db 32, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -4586,7 +4586,7 @@ FisherGroup:
db 30, QWILFISH
db 34, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -4614,7 +4614,7 @@ FisherGroup:
db BUBBLEBEAM
db HYPER_BEAM
- db $ff ; end
+ db -1 ; end
; ================
@@ -4626,7 +4626,7 @@ FisherGroup:
db 30, QWILFISH
db 32, GOLDEEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -4648,7 +4648,7 @@ FisherGroup:
db FURY_ATTACK
db WATERFALL
- db $ff ; end
+ db -1 ; end
; ================
@@ -4676,7 +4676,7 @@ FisherGroup:
db PIN_MISSILE
db TAKE_DOWN
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -4694,7 +4694,7 @@ SwimmerMGroup:
db 32, REMORAID
db 30, SEADRA
- db $ff ; end
+ db -1 ; end
; ================
@@ -4706,7 +4706,7 @@ SwimmerMGroup:
db 20, TENTACOOL
db 20, TENTACOOL
- db $ff ; end
+ db -1 ; end
; ================
@@ -4719,7 +4719,7 @@ SwimmerMGroup:
db 20, WARTORTLE
db 18, SHELLDER
- db $ff ; end
+ db -1 ; end
; ================
@@ -4732,7 +4732,7 @@ SwimmerMGroup:
db 19, TENTACOOL
db 19, TENTACRUEL
- db $ff ; end
+ db -1 ; end
; ================
@@ -4748,7 +4748,7 @@ SwimmerMGroup:
db 17, TENTACOOL
db 19, REMORAID
- db $ff ; end
+ db -1 ; end
; ================
@@ -4759,7 +4759,7 @@ SwimmerMGroup:
; party
db 23, QWILFISH
- db $ff ; end
+ db -1 ; end
; ================
@@ -4771,7 +4771,7 @@ SwimmerMGroup:
db 20, GYARADOS
db 20, GYARADOS
- db $ff ; end
+ db -1 ; end
; ================
@@ -4782,7 +4782,7 @@ SwimmerMGroup:
; party
db 23, KRABBY
- db $ff ; end
+ db -1 ; end
; ================
@@ -4795,7 +4795,7 @@ SwimmerMGroup:
db 25, DEWGONG
db 24, SEEL
- db $ff ; end
+ db -1 ; end
; ================
@@ -4807,7 +4807,7 @@ SwimmerMGroup:
db 26, PILOSWINE
db 26, PILOSWINE
- db $ff ; end
+ db -1 ; end
; ================
@@ -4820,7 +4820,7 @@ SwimmerMGroup:
db 25, CLOYSTER
db 24, SHELLDER
- db $ff ; end
+ db -1 ; end
; ================
@@ -4833,7 +4833,7 @@ SwimmerMGroup:
db 15, HORSEA
db 20, SEADRA
- db $ff ; end
+ db -1 ; end
; ================
@@ -4846,7 +4846,7 @@ SwimmerMGroup:
db 18, STARMIE
db 16, HORSEA
- db $ff ; end
+ db -1 ; end
; ================
@@ -4860,7 +4860,7 @@ SwimmerMGroup:
db 30, TENTACRUEL
db 28, GOLDEEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -4872,7 +4872,7 @@ SwimmerMGroup:
db 30, SHELLDER
db 34, CLOYSTER
- db $ff ; end
+ db -1 ; end
; ================
@@ -4885,7 +4885,7 @@ SwimmerMGroup:
db 18, STARMIE
db 16, HORSEA
- db $ff ; end
+ db -1 ; end
; ================
@@ -4896,7 +4896,7 @@ SwimmerMGroup:
; party
db 34, MARILL
- db $ff ; end
+ db -1 ; end
; ================
@@ -4909,7 +4909,7 @@ SwimmerMGroup:
db 29, OCTILLERY
db 32, QUAGSIRE
- db $ff ; end
+ db -1 ; end
; ================
@@ -4922,7 +4922,7 @@ SwimmerMGroup:
db 18, STARMIE
db 16, HORSEA
- db $ff ; end
+ db -1 ; end
; ================
@@ -4935,7 +4935,7 @@ SwimmerMGroup:
db 18, STARMIE
db 16, HORSEA
- db $ff ; end
+ db -1 ; end
; ================
@@ -4948,7 +4948,7 @@ SwimmerMGroup:
db 32, HORSEA
db 35, SEADRA
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -4965,7 +4965,7 @@ SwimmerFGroup:
; party
db 21, STARYU
- db $ff ; end
+ db -1 ; end
; ================
@@ -4977,7 +4977,7 @@ SwimmerFGroup:
db 19, STARYU
db 19, SHELLDER
- db $ff ; end
+ db -1 ; end
; ================
@@ -4990,7 +4990,7 @@ SwimmerFGroup:
db 20, GOLDEEN
db 20, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -5012,7 +5012,7 @@ SwimmerFGroup:
db SUPERSONIC
db HORN_ATTACK
- db $ff ; end
+ db -1 ; end
; ================
@@ -5023,7 +5023,7 @@ SwimmerFGroup:
; party
db 22, SEEL
- db $ff ; end
+ db -1 ; end
; ================
@@ -5035,7 +5035,7 @@ SwimmerFGroup:
db 20, STARYU
db 20, STARMIE
- db $ff ; end
+ db -1 ; end
; ================
@@ -5057,7 +5057,7 @@ SwimmerFGroup:
db LEER
db WATER_GUN
- db $ff ; end
+ db -1 ; end
; ================
@@ -5068,7 +5068,7 @@ SwimmerFGroup:
; party
db 28, JYNX
- db $ff ; end
+ db -1 ; end
; ================
@@ -5079,7 +5079,7 @@ SwimmerFGroup:
; party
db 28, DEWGONG
- db $ff ; end
+ db -1 ; end
; ================
@@ -5090,7 +5090,7 @@ SwimmerFGroup:
; party
db 20, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -5101,7 +5101,7 @@ SwimmerFGroup:
; party
db 33, DEWGONG
- db $ff ; end
+ db -1 ; end
; ================
@@ -5112,7 +5112,7 @@ SwimmerFGroup:
; party
db 34, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -5123,7 +5123,7 @@ SwimmerFGroup:
; party
db 20, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -5136,7 +5136,7 @@ SwimmerFGroup:
db 29, MARILL
db 32, LAPRAS
- db $ff ; end
+ db -1 ; end
; ================
@@ -5148,7 +5148,7 @@ SwimmerFGroup:
db 32, STARMIE
db 32, STARMIE
- db $ff ; end
+ db -1 ; end
; ================
@@ -5159,7 +5159,7 @@ SwimmerFGroup:
; party
db 20, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -5173,7 +5173,7 @@ SwimmerFGroup:
db 28, SEEL
db 28, DEWGONG
- db $ff ; end
+ db -1 ; end
; ================
@@ -5184,7 +5184,7 @@ SwimmerFGroup:
; party
db 37, GOLDUCK
- db $ff ; end
+ db -1 ; end
; ================
@@ -5196,7 +5196,7 @@ SwimmerFGroup:
db 35, SEAKING
db 35, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -5215,7 +5215,7 @@ SailorGroup:
db 17, RATICATE
db 19, KRABBY
- db $ff ; end
+ db -1 ; end
; ================
@@ -5227,7 +5227,7 @@ SailorGroup:
db 18, POLIWAG
db 18, POLIWHIRL
- db $ff ; end
+ db -1 ; end
; ================
@@ -5238,7 +5238,7 @@ SailorGroup:
; party
db 20, POLIWHIRL
- db $ff ; end
+ db -1 ; end
; ================
@@ -5260,7 +5260,7 @@ SailorGroup:
db VICEGRIP
db HARDEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -5273,7 +5273,7 @@ SailorGroup:
db 18, MACHOP
db 18, POLIWHIRL
- db $ff ; end
+ db -1 ; end
; ================
@@ -5285,7 +5285,7 @@ SailorGroup:
db 32, RATICATE
db 32, RATICATE
- db $ff ; end
+ db -1 ; end
; ================
@@ -5296,7 +5296,7 @@ SailorGroup:
; party
db 34, KINGLER
- db $ff ; end
+ db -1 ; end
; ================
@@ -5310,7 +5310,7 @@ SailorGroup:
db 28, POLIWRATH
db 28, MACHOP
- db $ff ; end
+ db -1 ; end
; ================
@@ -5323,7 +5323,7 @@ SailorGroup:
db 33, MACHOKE
db 26, PSYDUCK
- db $ff ; end
+ db -1 ; end
; ================
@@ -5334,7 +5334,7 @@ SailorGroup:
; party
db 19, WOOPER
- db $ff ; end
+ db -1 ; end
; ================
@@ -5346,7 +5346,7 @@ SailorGroup:
db 28, POLIWHIRL
db 28, POLIWHIRL
- db $ff ; end
+ db -1 ; end
; ================
@@ -5358,7 +5358,7 @@ SailorGroup:
db 34, POLIWHIRL
db 34, POLIWRATH
- db $ff ; end
+ db -1 ; end
; ================
@@ -5380,7 +5380,7 @@ SailorGroup:
db ICE_PUNCH
db SUBMISSION
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -5397,7 +5397,7 @@ SuperNerdGroup:
; party
db 20, GRIMER
- db $ff ; end
+ db -1 ; end
; ================
@@ -5409,7 +5409,7 @@ SuperNerdGroup:
db 11, GRIMER
db 11, GRIMER
- db $ff ; end
+ db -1 ; end
; ================
@@ -5422,7 +5422,7 @@ SuperNerdGroup:
db 20, MAGNEMITE
db 20, MAGNEMITE
- db $ff ; end
+ db -1 ; end
; ================
@@ -5434,7 +5434,7 @@ SuperNerdGroup:
db 22, KOFFING
db 22, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -5445,7 +5445,7 @@ SuperNerdGroup:
; party
db 24, DITTO
- db $ff ; end
+ db -1 ; end
; ================
@@ -5457,7 +5457,7 @@ SuperNerdGroup:
db 34, GRIMER
db 34, MUK
- db $ff ; end
+ db -1 ; end
; ================
@@ -5470,7 +5470,7 @@ SuperNerdGroup:
db 32, MAGNEMITE
db 32, MAGNEMITE
- db $ff ; end
+ db -1 ; end
; ================
@@ -5481,7 +5481,7 @@ SuperNerdGroup:
; party
db 36, PORYGON
- db $ff ; end
+ db -1 ; end
; ================
@@ -5494,7 +5494,7 @@ SuperNerdGroup:
db 33, MUK
db 31, MAGNEMITE
- db $ff ; end
+ db -1 ; end
; ================
@@ -5508,7 +5508,7 @@ SuperNerdGroup:
db 7, MAGNEMITE
db 9, MAGNEMITE
- db $ff ; end
+ db -1 ; end
; ================
@@ -5521,7 +5521,7 @@ SuperNerdGroup:
db 27, MAGNEMITE
db 27, MAGNEMITE
- db $ff ; end
+ db -1 ; end
; ================
@@ -5537,7 +5537,7 @@ SuperNerdGroup:
db RECOVER
db TRI_ATTACK
- db $ff ; end
+ db -1 ; end
; ================
@@ -5553,7 +5553,7 @@ SuperNerdGroup:
db SURF
db WATERFALL
- db $ff ; end
+ db -1 ; end
; ================
@@ -5569,7 +5569,7 @@ SuperNerdGroup:
db GROWL
db STRENGTH
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -5621,7 +5621,7 @@ Rival2Group:
db BODY_SLAM
db LIGHT_SCREEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -5667,7 +5667,7 @@ Rival2Group:
db FLAME_WHEEL
db SWIFT
- db $ff ; end
+ db -1 ; end
; ================
@@ -5713,7 +5713,7 @@ Rival2Group:
db SCARY_FACE
db SLASH
- db $ff ; end
+ db -1 ; end
; ================
@@ -5759,7 +5759,7 @@ Rival2Group:
db LIGHT_SCREEN
db SAFEGUARD
- db $ff ; end
+ db -1 ; end
; ================
@@ -5805,7 +5805,7 @@ Rival2Group:
db FIRE_BLAST
db SWIFT
- db $ff ; end
+ db -1 ; end
; ================
@@ -5851,7 +5851,7 @@ Rival2Group:
db SLASH
db SCREECH
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -5868,7 +5868,7 @@ GuitaristGroup:
; party
db 34, ELECTABUZZ
- db $ff ; end
+ db -1 ; end
; ================
@@ -5882,7 +5882,7 @@ GuitaristGroup:
db 32, MAGNEMITE
db 32, MAGNEMITE
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -5900,7 +5900,7 @@ HikerGroup:
db 16, GEODUDE
db 18, MACHAMP
- db $ff ; end
+ db -1 ; end
; ================
@@ -5913,7 +5913,7 @@ HikerGroup:
db 6, GEODUDE
db 8, GEODUDE
- db $ff ; end
+ db -1 ; end
; ================
@@ -5926,7 +5926,7 @@ HikerGroup:
db 23, GEODUDE
db 23, GRAVELER
- db $ff ; end
+ db -1 ; end
; ================
@@ -5938,7 +5938,7 @@ HikerGroup:
db 23, GEODUDE
db 25, MACHOP
- db $ff ; end
+ db -1 ; end
; ================
@@ -5950,7 +5950,7 @@ HikerGroup:
db 11, GEODUDE
db 11, MACHOP
- db $ff ; end
+ db -1 ; end
; ================
@@ -5963,7 +5963,7 @@ HikerGroup:
db 14, GEODUDE
db 16, DUGTRIO
- db $ff ; end
+ db -1 ; end
; ================
@@ -5976,7 +5976,7 @@ HikerGroup:
db 27, GRAVELER
db 27, MACHOP
- db $ff ; end
+ db -1 ; end
; ================
@@ -5989,7 +5989,7 @@ HikerGroup:
db 25, GRAVELER
db 25, GOLEM
- db $ff ; end
+ db -1 ; end
; ================
@@ -6001,7 +6001,7 @@ HikerGroup:
db 35, ONIX
db 33, SWINUB
- db $ff ; end
+ db -1 ; end
; ================
@@ -6023,7 +6023,7 @@ HikerGroup:
db SAND_ATTACK
db SLASH
- db $ff ; end
+ db -1 ; end
; ================
@@ -6038,7 +6038,7 @@ HikerGroup:
db 13, GEODUDE
db 13, GEODUDE
- db $ff ; end
+ db -1 ; end
; ================
@@ -6051,7 +6051,7 @@ HikerGroup:
db 27, GRAVELER
db 29, MACHOKE
- db $ff ; end
+ db -1 ; end
; ================
@@ -6064,7 +6064,7 @@ HikerGroup:
db 31, GRAVELER
db 31, GRAVELER
- db $ff ; end
+ db -1 ; end
; ================
@@ -6076,7 +6076,7 @@ HikerGroup:
db 31, SANDSLASH
db 33, GOLEM
- db $ff ; end
+ db -1 ; end
; ================
@@ -6088,7 +6088,7 @@ HikerGroup:
db 34, DUGTRIO
db 32, ONIX
- db $ff ; end
+ db -1 ; end
; ================
@@ -6102,7 +6102,7 @@ HikerGroup:
db 31, GOLEM
db 29, GRAVELER
- db $ff ; end
+ db -1 ; end
; ================
@@ -6113,7 +6113,7 @@ HikerGroup:
; party
db 35, MACHAMP
- db $ff ; end
+ db -1 ; end
; ================
@@ -6124,7 +6124,7 @@ HikerGroup:
; party
db 11, ONIX
- db $ff ; end
+ db -1 ; end
; ================
@@ -6152,7 +6152,7 @@ HikerGroup:
db SANDSTORM
db SLAM
- db $ff ; end
+ db -1 ; end
; ================
@@ -6163,7 +6163,7 @@ HikerGroup:
; party
db 29, ONIX
- db $ff ; end
+ db -1 ; end
; ================
@@ -6176,7 +6176,7 @@ HikerGroup:
db 30, GRAVELER
db 32, MACHOKE
- db $ff ; end
+ db -1 ; end
; ================
@@ -6204,7 +6204,7 @@ HikerGroup:
db HEADBUTT
db DIG
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -6223,7 +6223,7 @@ BikerGroup:
db 20, KOFFING
db 20, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -6236,7 +6236,7 @@ BikerGroup:
db 20, KOFFING
db 20, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -6250,7 +6250,7 @@ BikerGroup:
db 29, KOFFING
db 30, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -6261,7 +6261,7 @@ BikerGroup:
; party
db 34, FLAREON
- db $ff ; end
+ db -1 ; end
; ================
@@ -6273,7 +6273,7 @@ BikerGroup:
db 32, KOFFING
db 32, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -6286,7 +6286,7 @@ BikerGroup:
db 30, CHARMELEON
db 30, WEEZING
- db $ff ; end
+ db -1 ; end
; ================
@@ -6297,7 +6297,7 @@ BikerGroup:
; party
db 34, WEEZING
- db $ff ; end
+ db -1 ; end
; ================
@@ -6309,7 +6309,7 @@ BikerGroup:
db 32, MAGMAR
db 32, MAGMAR
- db $ff ; end
+ db -1 ; end
; ================
@@ -6322,7 +6322,7 @@ BikerGroup:
db 30, MAGMAR
db 32, WEEZING
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -6356,7 +6356,7 @@ BlaineGroup:
db FURY_ATTACK
db FIRE_BLAST
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -6375,7 +6375,7 @@ BurglarGroup:
db 25, MAGMAR
db 23, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -6397,7 +6397,7 @@ BurglarGroup:
db SLUDGE
db SMOKESCREEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -6411,7 +6411,7 @@ BurglarGroup:
db 25, KOFFING
db 30, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -6430,7 +6430,7 @@ FirebreatherGroup:
db 32, WEEZING
db 29, MAGMAR
- db $ff ; end
+ db -1 ; end
; ================
@@ -6441,7 +6441,7 @@ FirebreatherGroup:
; party
db 17, CHARMELEON
- db $ff ; end
+ db -1 ; end
; ================
@@ -6454,7 +6454,7 @@ FirebreatherGroup:
db 16, GROWLITHE
db 15, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -6466,7 +6466,7 @@ FirebreatherGroup:
db 32, KOFFING
db 32, SLUGMA
- db $ff ; end
+ db -1 ; end
; ================
@@ -6478,7 +6478,7 @@ FirebreatherGroup:
db 6, KOFFING
db 6, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
@@ -6490,7 +6490,7 @@ FirebreatherGroup:
db 11, MAGMAR
db 13, MAGMAR
- db $ff ; end
+ db -1 ; end
; ================
@@ -6501,7 +6501,7 @@ FirebreatherGroup:
; party
db 9, VULPIX
- db $ff ; end
+ db -1 ; end
; ================
@@ -6514,7 +6514,7 @@ FirebreatherGroup:
db 31, FLAREON
db 28, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -6534,7 +6534,7 @@ JugglerGroup:
db 10, VOLTORB
db 14, VOLTORB
- db $ff ; end
+ db -1 ; end
; ================
@@ -6547,7 +6547,7 @@ JugglerGroup:
db 29, MAGMAR
db 29, MACHOKE
- db $ff ; end
+ db -1 ; end
; ================
@@ -6561,7 +6561,7 @@ JugglerGroup:
db 33, ELECTRODE
db 33, ELECTRODE
- db $ff ; end
+ db -1 ; end
; ================
@@ -6575,7 +6575,7 @@ JugglerGroup:
db 14, VOLTORB
db 18, VOLTORB
- db $ff ; end
+ db -1 ; end
; ================
@@ -6589,7 +6589,7 @@ JugglerGroup:
db 26, VOLTORB
db 30, ELECTRODE
- db $ff ; end
+ db -1 ; end
; ================
@@ -6603,7 +6603,7 @@ JugglerGroup:
db 26, VOLTORB
db 30, ELECTRODE
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -6623,7 +6623,7 @@ BlackbeltGroup:
db 27, ONIX
db 32, MACHOKE
- db $ff ; end
+ db -1 ; end
; ================
@@ -6639,7 +6639,7 @@ BlackbeltGroup:
db JUMP_KICK
db FOCUS_ENERGY
- db $ff ; end
+ db -1 ; end
; ================
@@ -6673,7 +6673,7 @@ BlackbeltGroup:
db MUD_SLAP
db SWIFT
- db $ff ; end
+ db -1 ; end
; ================
@@ -6689,7 +6689,7 @@ BlackbeltGroup:
db ICE_PUNCH
db FIRE_PUNCH
- db $ff ; end
+ db -1 ; end
; ================
@@ -6711,7 +6711,7 @@ BlackbeltGroup:
db SEISMIC_TOSS
db ROCK_SLIDE
- db $ff ; end
+ db -1 ; end
; ================
@@ -6723,7 +6723,7 @@ BlackbeltGroup:
db 34, HITMONLEE
db 34, HITMONCHAN
- db $ff ; end
+ db -1 ; end
; ================
@@ -6736,7 +6736,7 @@ BlackbeltGroup:
db 23, MANKEY
db 25, PRIMEAPE
- db $ff ; end
+ db -1 ; end
; ================
@@ -6747,7 +6747,7 @@ BlackbeltGroup:
; party
db 28, MACHOKE
- db $ff ; end
+ db -1 ; end
; ================
@@ -6760,7 +6760,7 @@ BlackbeltGroup:
db 32, MACHOKE
db 34, MACHOKE
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -6794,7 +6794,7 @@ ExecutiveMGroup:
db BITE
db FAINT_ATTACK
- db $ff ; end
+ db -1 ; end
; ================
@@ -6810,7 +6810,7 @@ ExecutiveMGroup:
db CONFUSE_RAY
db WING_ATTACK
- db $ff ; end
+ db -1 ; end
; ================
@@ -6856,7 +6856,7 @@ ExecutiveMGroup:
db SLUDGE
db SMOKESCREEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -6869,7 +6869,7 @@ ExecutiveMGroup:
db 24, RATICATE
db 22, KOFFING
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -6886,7 +6886,7 @@ PsychicGroup:
; party
db 26, GIRAFARIG
- db $ff ; end
+ db -1 ; end
; ================
@@ -6897,7 +6897,7 @@ PsychicGroup:
; party
db 37, KADABRA
- db $ff ; end
+ db -1 ; end
; ================
@@ -6910,7 +6910,7 @@ PsychicGroup:
db 30, EXEGGCUTE
db 30, EXEGGUTOR
- db $ff ; end
+ db -1 ; end
; ================
@@ -6921,7 +6921,7 @@ PsychicGroup:
; party
db 34, XATU
- db $ff ; end
+ db -1 ; end
; ================
@@ -6937,7 +6937,7 @@ PsychicGroup:
db DREAM_EATER
db 0
- db $ff ; end
+ db -1 ; end
; ================
@@ -6959,7 +6959,7 @@ PsychicGroup:
db WATER_GUN
db CONFUSION
- db $ff ; end
+ db -1 ; end
; ================
@@ -6987,7 +6987,7 @@ PsychicGroup:
db CONFUSION
db 0
- db $ff ; end
+ db -1 ; end
; ================
@@ -7009,7 +7009,7 @@ PsychicGroup:
db RECOVER
db FUTURE_SIGHT
- db $ff ; end
+ db -1 ; end
; ================
@@ -7020,7 +7020,7 @@ PsychicGroup:
; party
db 36, ESPEON
- db $ff ; end
+ db -1 ; end
; ================
@@ -7033,7 +7033,7 @@ PsychicGroup:
db 30, EXEGGCUTE
db 34, GIRAFARIG
- db $ff ; end
+ db -1 ; end
; ================
@@ -7046,7 +7046,7 @@ PsychicGroup:
db 32, EXEGGCUTE
db 35, EXEGGCUTE
- db $ff ; end
+ db -1 ; end
; ================
@@ -7058,7 +7058,7 @@ PsychicGroup:
db 29, DROWZEE
db 33, HYPNO
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -7075,7 +7075,7 @@ PicnickerGroup:
; party
db 9, NIDORAN_F
- db $ff ; end
+ db -1 ; end
; ================
@@ -7088,7 +7088,7 @@ PicnickerGroup:
db 9, HOPPIP
db 12, BULBASAUR
- db $ff ; end
+ db -1 ; end
; ================
@@ -7104,7 +7104,7 @@ PicnickerGroup:
db QUICK_ATTACK
db DOUBLE_TEAM
- db $ff ; end
+ db -1 ; end
; ================
@@ -7115,7 +7115,7 @@ PicnickerGroup:
; party
db 15, VULPIX
- db $ff ; end
+ db -1 ; end
; ================
@@ -7126,7 +7126,7 @@ PicnickerGroup:
; party
db 36, NIDOQUEEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -7137,7 +7137,7 @@ PicnickerGroup:
; party
db 34, FLAAFFY
- db $ff ; end
+ db -1 ; end
; ================
@@ -7149,7 +7149,7 @@ PicnickerGroup:
db 31, FURRET
db 33, RAPIDASH
- db $ff ; end
+ db -1 ; end
; ================
@@ -7160,7 +7160,7 @@ PicnickerGroup:
; party
db 33, SEAKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -7173,7 +7173,7 @@ PicnickerGroup:
db 14, HOPPIP
db 17, IVYSAUR
- db $ff ; end
+ db -1 ; end
; ================
@@ -7185,7 +7185,7 @@ PicnickerGroup:
db 16, PONYTA
db 16, PONYTA
- db $ff ; end
+ db -1 ; end
; ================
@@ -7197,7 +7197,7 @@ PicnickerGroup:
db 15, WEEPINBELL
db 15, NIDORINA
- db $ff ; end
+ db -1 ; end
; ================
@@ -7210,7 +7210,7 @@ PicnickerGroup:
db 19, NIDORINO
db 21, NIDOQUEEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -7222,7 +7222,7 @@ PicnickerGroup:
db 32, SKIPLOOM
db 32, SKIPLOOM
- db $ff ; end
+ db -1 ; end
; ================
@@ -7234,7 +7234,7 @@ PicnickerGroup:
db 30, NIDORINA
db 34, RAICHU
- db $ff ; end
+ db -1 ; end
; ================
@@ -7247,7 +7247,7 @@ PicnickerGroup:
db 26, SKIPLOOM
db 29, IVYSAUR
- db $ff ; end
+ db -1 ; end
; ================
@@ -7263,7 +7263,7 @@ PicnickerGroup:
db DOUBLESLAP
db MINIMIZE
- db $ff ; end
+ db -1 ; end
; ================
@@ -7279,7 +7279,7 @@ PicnickerGroup:
db MINIMIZE
db METRONOME
- db $ff ; end
+ db -1 ; end
; ================
@@ -7291,7 +7291,7 @@ PicnickerGroup:
db 32, PONYTA
db 32, PONYTA
- db $ff ; end
+ db -1 ; end
; ================
@@ -7302,7 +7302,7 @@ PicnickerGroup:
; party
db 37, EXEGGUTOR
- db $ff ; end
+ db -1 ; end
; ================
@@ -7318,7 +7318,7 @@ PicnickerGroup:
db DOUBLESLAP
db MINIMIZE
- db $ff ; end
+ db -1 ; end
; ================
@@ -7346,7 +7346,7 @@ PicnickerGroup:
db FIRE_SPIN
db SUNNY_DAY
- db $ff ; end
+ db -1 ; end
; ================
@@ -7359,7 +7359,7 @@ PicnickerGroup:
db 26, NIDORINO
db 26, NIDOQUEEN
- db $ff ; end
+ db -1 ; end
; ================
@@ -7387,7 +7387,7 @@ PicnickerGroup:
db TAIL_WHIP
db BODY_SLAM
- db $ff ; end
+ db -1 ; end
; ================
@@ -7400,7 +7400,7 @@ PicnickerGroup:
db 30, SKIPLOOM
db 32, IVYSAUR
- db $ff ; end
+ db -1 ; end
; ================
@@ -7428,7 +7428,7 @@ PicnickerGroup:
db HEADBUTT
db MUD_SLAP
- db $ff ; end
+ db -1 ; end
; ================
@@ -7444,7 +7444,7 @@ PicnickerGroup:
db MOONLIGHT
db MINIMIZE
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -7461,7 +7461,7 @@ CamperGroup:
; party
db 9, NIDORAN_M
- db $ff ; end
+ db -1 ; end
; ================
@@ -7472,7 +7472,7 @@ CamperGroup:
; party
db 14, PSYDUCK
- db $ff ; end
+ db -1 ; end
; ================
@@ -7485,7 +7485,7 @@ CamperGroup:
db 10, ZUBAT
db 14, DIGLETT
- db $ff ; end
+ db -1 ; end
; ================
@@ -7497,7 +7497,7 @@ CamperGroup:
db 13, SANDSHREW
db 15, MARILL
- db $ff ; end
+ db -1 ; end
; ================
@@ -7508,7 +7508,7 @@ CamperGroup:
; party
db 36, NIDOKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -7519,7 +7519,7 @@ CamperGroup:
; party
db 34, NIDOKING
- db $ff ; end
+ db -1 ; end
; ================
@@ -7531,7 +7531,7 @@ CamperGroup:
db 33, GOLDUCK
db 31, SANDSLASH
- db $ff ; end
+ db -1 ; end
; ================
@@ -7544,7 +7544,7 @@ CamperGroup:
db 29, PRIMEAPE
db 29, POLIWRATH
- db $ff ; end
+ db -1 ; end
; ================
@@ -7555,7 +7555,7 @@ CamperGroup:
; party
db 15, NIDORINO
- db $ff ; end
+ db -1 ; end
; ================
@@ -7566,7 +7566,7 @@ CamperGroup:
; party
db 15, NIDORINO
- db $ff ; end
+ db -1 ; end
; ================
@@ -7577,7 +7577,7 @@ CamperGroup:
; party
db 17, MANKEY
- db $ff ; end
+ db -1 ; end
; ================
@@ -7590,7 +7590,7 @@ CamperGroup:
db 17, GEODUDE
db 23, PSYDUCK
- db $ff ; end
+ db -1 ; end
; ================
@@ -7603,7 +7603,7 @@ CamperGroup:
db 23, GEODUDE
db 26, PSYDUCK
- db $ff ; end
+ db -1 ; end
; ================
@@ -7617,7 +7617,7 @@ CamperGroup:
db 40, GOLBAT
db 42, GOLDUCK
- db $ff ; end
+ db -1 ; end
; ================
@@ -7631,7 +7631,7 @@ CamperGroup:
db 40, GOLBAT
db 42, GOLDUCK
- db $ff ; end
+ db -1 ; end
; ================
@@ -7645,7 +7645,7 @@ CamperGroup:
db 40, GOLBAT
db 42, GOLDUCK
- db $ff ; end
+ db -1 ; end
; ================
@@ -7659,7 +7659,7 @@ CamperGroup:
db 40, GOLBAT
db 42, GOLDUCK
- db $ff ; end
+ db -1 ; end
; ================
@@ -7670,7 +7670,7 @@ CamperGroup:
; party
db 37, SANDSLASH
- db $ff ; end
+ db -1 ; end
; ================
@@ -7683,7 +7683,7 @@ CamperGroup:
db 17, SANDSLASH
db 19, ZUBAT
- db $ff ; end
+ db -1 ; end
; ================
@@ -7697,7 +7697,7 @@ CamperGroup:
db 30, SLUGMA
db 32, PSYDUCK
- db $ff ; end
+ db -1 ; end
; ================
@@ -7731,7 +7731,7 @@ CamperGroup:
db SURF
db PSYCH_UP
- db $ff ; end
+ db -1 ; end
; ================
@@ -7744,7 +7744,7 @@ CamperGroup:
db 30, PRIMEAPE
db 30, TAUROS
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -7778,7 +7778,7 @@ ExecutiveFGroup:
db HAZE
db NIGHT_SHADE
- db $ff ; end
+ db -1 ; end
; ================
@@ -7806,7 +7806,7 @@ ExecutiveFGroup:
db HAZE
db 0
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -7825,7 +7825,7 @@ SageGroup:
db 3, BELLSPROUT
db 3, BELLSPROUT
- db $ff ; end
+ db -1 ; end
; ================
@@ -7838,7 +7838,7 @@ SageGroup:
db 3, BELLSPROUT
db 3, BELLSPROUT
- db $ff ; end
+ db -1 ; end
; ================
@@ -7849,7 +7849,7 @@ SageGroup:
; party
db 6, BELLSPROUT
- db $ff ; end
+ db -1 ; end
; ================
@@ -7861,7 +7861,7 @@ SageGroup:
db 7, BELLSPROUT
db 7, HOOTHOOT
- db $ff ; end
+ db -1 ; end
; ================
@@ -7872,7 +7872,7 @@ SageGroup:
; party
db 22, HAUNTER
- db $ff ; end
+ db -1 ; end
; ================
@@ -7887,7 +7887,7 @@ SageGroup:
db 16, GASTLY
db 16, GASTLY
- db $ff ; end
+ db -1 ; end
; ================
@@ -7900,7 +7900,7 @@ SageGroup:
db 3, BELLSPROUT
db 3, BELLSPROUT
- db $ff ; end
+ db -1 ; end
; ================
@@ -7911,7 +7911,7 @@ SageGroup:
; party
db 6, BELLSPROUT
- db $ff ; end
+ db -1 ; end
; ================
@@ -7924,7 +7924,7 @@ SageGroup:
db 7, BELLSPROUT
db 10, HOOTHOOT
- db $ff ; end
+ db -1 ; end
; ================
@@ -7936,7 +7936,7 @@ SageGroup:
db 32, NOCTOWL
db 32, FLAREON
- db $ff ; end
+ db -1 ; end
; ================
@@ -7948,7 +7948,7 @@ SageGroup:
db 32, NOCTOWL
db 32, JOLTEON
- db $ff ; end
+ db -1 ; end
; ================
@@ -7960,7 +7960,7 @@ SageGroup:
db 32, NOCTOWL
db 32, VAPOREON
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -7979,7 +7979,7 @@ MediumGroup:
db 20, HAUNTER
db 20, GASTLY
- db $ff ; end
+ db -1 ; end
; ================
@@ -7991,7 +7991,7 @@ MediumGroup:
db 20, HAUNTER
db 20, HAUNTER
- db $ff ; end
+ db -1 ; end
; ================
@@ -8002,7 +8002,7 @@ MediumGroup:
; party
db 25, HAUNTER
- db $ff ; end
+ db -1 ; end
; ================
@@ -8013,7 +8013,7 @@ MediumGroup:
; party
db 25, HAUNTER
- db $ff ; end
+ db -1 ; end
; ================
@@ -8024,7 +8024,7 @@ MediumGroup:
; party
db 25, HAUNTER
- db $ff ; end
+ db -1 ; end
; ================
@@ -8036,7 +8036,7 @@ MediumGroup:
db 35, DROWZEE
db 35, HYPNO
- db $ff ; end
+ db -1 ; end
; ================
@@ -8048,7 +8048,7 @@ MediumGroup:
db 34, SLOWPOKE
db 36, SLOWBRO
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -8067,7 +8067,7 @@ BoarderGroup:
db 25, DEWGONG
db 24, SEEL
- db $ff ; end
+ db -1 ; end
; ================
@@ -8079,7 +8079,7 @@ BoarderGroup:
db 26, SWINUB
db 26, SWINUB
- db $ff ; end
+ db -1 ; end
; ================
@@ -8092,7 +8092,7 @@ BoarderGroup:
db 25, CLOYSTER
db 24, SHELLDER
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -8109,7 +8109,7 @@ PokefanMGroup:
; party
db 14, RAICHU, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8120,7 +8120,7 @@ PokefanMGroup:
; party
db 17, PIKACHU, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8131,7 +8131,7 @@ PokefanMGroup:
; party
db 33, QUAGSIRE, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8147,7 +8147,7 @@ PokefanMGroup:
db 23, PIKACHU, BERRY
db 23, PIKACHU, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8160,7 +8160,7 @@ PokefanMGroup:
db 29, CHARMANDER, BERRY
db 29, SQUIRTLE, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8171,7 +8171,7 @@ PokefanMGroup:
; party
db 33, PSYDUCK, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8182,7 +8182,7 @@ PokefanMGroup:
; party
db 13, SNUBBULL, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8195,7 +8195,7 @@ PokefanMGroup:
db 28, MEOWTH, BERRY
db 28, MEOWTH, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8206,7 +8206,7 @@ PokefanMGroup:
; party
db 32, DELIBIRD, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8217,7 +8217,7 @@ PokefanMGroup:
; party
db 19, PIKACHU, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8228,7 +8228,7 @@ PokefanMGroup:
; party
db 36, PIKACHU, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8241,7 +8241,7 @@ PokefanMGroup:
db 29, SLOWKING, BERRY
db 29, SEAKING, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8252,7 +8252,7 @@ PokefanMGroup:
; party
db 35, PHANPY, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8263,7 +8263,7 @@ PokefanMGroup:
; party
db 35, TEDDIURSA, BERRY
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -8282,7 +8282,7 @@ KimonoGirlGroup:
db 20, VULPIX
db 18, SKIPLOOM
- db $ff ; end
+ db -1 ; end
; ================
@@ -8293,7 +8293,7 @@ KimonoGirlGroup:
; party
db 17, FLAREON
- db $ff ; end
+ db -1 ; end
; ================
@@ -8304,7 +8304,7 @@ KimonoGirlGroup:
; party
db 17, ESPEON
- db $ff ; end
+ db -1 ; end
; ================
@@ -8315,7 +8315,7 @@ KimonoGirlGroup:
; party
db 17, UMBREON
- db $ff ; end
+ db -1 ; end
; ================
@@ -8326,7 +8326,7 @@ KimonoGirlGroup:
; party
db 17, VAPOREON
- db $ff ; end
+ db -1 ; end
; ================
@@ -8337,7 +8337,7 @@ KimonoGirlGroup:
; party
db 17, JOLTEON
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -8355,7 +8355,7 @@ TwinsGroup:
db 10, SPINARAK
db 10, LEDYBA
- db $ff ; end
+ db -1 ; end
; ================
@@ -8377,7 +8377,7 @@ TwinsGroup:
db POUND
db DISABLE
- db $ff ; end
+ db -1 ; end
; ================
@@ -8399,7 +8399,7 @@ TwinsGroup:
db DOUBLESLAP
db METRONOME
- db $ff ; end
+ db -1 ; end
; ================
@@ -8411,7 +8411,7 @@ TwinsGroup:
db 10, LEDYBA
db 10, SPINARAK
- db $ff ; end
+ db -1 ; end
; ================
@@ -8423,7 +8423,7 @@ TwinsGroup:
db 35, VICTREEBEL
db 35, VILEPLUME
- db $ff ; end
+ db -1 ; end
; ================
@@ -8435,7 +8435,7 @@ TwinsGroup:
db 35, VILEPLUME
db 35, VICTREEBEL
- db $ff ; end
+ db -1 ; end
; ================
@@ -8447,7 +8447,7 @@ TwinsGroup:
db 31, TEDDIURSA
db 31, PHANPY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8459,7 +8459,7 @@ TwinsGroup:
db 31, PHANPY
db 31, TEDDIURSA
- db $ff ; end
+ db -1 ; end
; ================
@@ -8481,7 +8481,7 @@ TwinsGroup:
db ICE_BEAM
db HEADBUTT
- db $ff ; end
+ db -1 ; end
; ================
@@ -8503,7 +8503,7 @@ TwinsGroup:
db FLAMETHROWER
db HEADBUTT
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -8520,7 +8520,7 @@ PokefanFGroup:
; party
db 14, SNUBBULL, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8531,7 +8531,7 @@ PokefanFGroup:
; party
db 17, PIKACHU, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8542,7 +8542,7 @@ PokefanFGroup:
; party
db 18, SNUBBULL, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8553,7 +8553,7 @@ PokefanFGroup:
; party
db 30, GRANBULL, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8568,7 +8568,7 @@ PokefanFGroup:
db 28, FURRET, BERRY
db 23, SENTRET, BERRY
- db $ff ; end
+ db -1 ; end
; ================
@@ -8579,7 +8579,7 @@ PokefanFGroup:
; party
db 16, MEOWTH, BERRY
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -8631,7 +8631,7 @@ RedGroup:
db BLIZZARD
db WHIRLPOOL
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -8683,7 +8683,7 @@ BlueGroup:
db FLAMETHROWER
db EXTREMESPEED
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -8700,7 +8700,7 @@ OfficerGroup:
; party
db 17, GROWLITHE
- db $ff ; end
+ db -1 ; end
; ================
@@ -8712,7 +8712,7 @@ OfficerGroup:
db 14, GROWLITHE
db 14, GROWLITHE
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -8730,7 +8730,7 @@ GruntFGroup:
db 9, ZUBAT
db 11, EKANS
- db $ff ; end
+ db -1 ; end
; ================
@@ -8741,7 +8741,7 @@ GruntFGroup:
; party
db 26, ARBOK
- db $ff ; end
+ db -1 ; end
; ================
@@ -8753,7 +8753,7 @@ GruntFGroup:
db 25, GLOOM
db 25, GLOOM
- db $ff ; end
+ db -1 ; end
; ================
@@ -8767,7 +8767,7 @@ GruntFGroup:
db 21, EKANS
db 24, GLOOM
- db $ff ; end
+ db -1 ; end
; ================
@@ -8789,7 +8789,7 @@ GruntFGroup:
db STUN_SPORE
db SLEEP_POWDER
- db $ff ; end
+ db -1 ; end
; ================
; ================================
@@ -8823,7 +8823,7 @@ MysticalmanGroup:
db THUNDER
db ROLLOUT
- db $ff ; end
+ db -1 ; end
; ================
; ================================
diff --git a/data/trainers/party_pointers.asm b/data/trainers/party_pointers.asm
index c0b3d4538..887544126 100644
--- a/data/trainers/party_pointers.asm
+++ b/data/trainers/party_pointers.asm
@@ -1,6 +1,7 @@
-; Each trainer class has its own group. See trainers.asm.
+; Groups are defined in data/trainers/parties.asm.
TrainerGroups: ; 0x39999
+; entries correspond to trainer classes (see constants/trainer_constants.asm)
dw FalknerGroup
dw WhitneyGroup
dw BugsyGroup
diff --git a/data/trainers/pic_pointers.asm b/data/trainers/pic_pointers.asm
index 201b44200..6fc444eb6 100644
--- a/data/trainers/pic_pointers.asm
+++ b/data/trainers/pic_pointers.asm
@@ -1,3 +1,5 @@
+; Pics are defined in gfx/pics.asm
+
TrainerPicPointers::
; entries correspond to trainer classes (see constants/trainer_constants.asm)
dba_pic FalknerPic
diff --git a/data/trainers/sprites.asm b/data/trainers/sprites.asm
new file mode 100644
index 000000000..df6c04920
--- /dev/null
+++ b/data/trainers/sprites.asm
@@ -0,0 +1,68 @@
+BTTrainerClassSprites:
+; entries correspond to trainer classes
+ db SPRITE_FALKNER
+ db SPRITE_WHITNEY
+ db SPRITE_BUGSY
+ db SPRITE_MORTY
+ db SPRITE_PRYCE
+ db SPRITE_JASMINE
+ db SPRITE_CHUCK
+ db SPRITE_CLAIR
+ db SPRITE_SILVER
+ db SPRITE_OAK
+ db SPRITE_WILL
+ db SPRITE_CHRIS
+ db SPRITE_BRUNO
+ db SPRITE_KAREN
+ db SPRITE_KOGA
+ db SPRITE_LANCE
+ db SPRITE_BROCK
+ db SPRITE_MISTY
+ db SPRITE_SURGE
+ db SPRITE_SCIENTIST
+ db SPRITE_ERIKA
+ db SPRITE_YOUNGSTER
+ db SPRITE_YOUNGSTER
+ db SPRITE_YOUNGSTER
+ db SPRITE_LASS
+ db SPRITE_JANINE
+ db SPRITE_COOLTRAINER_M
+ db SPRITE_COOLTRAINER_F
+ db SPRITE_BUENA
+ db SPRITE_SUPER_NERD
+ db SPRITE_ROCKET
+ db SPRITE_GENTLEMAN
+ db SPRITE_BUENA
+ db SPRITE_TEACHER
+ db SPRITE_SABRINA
+ db SPRITE_BUG_CATCHER
+ db SPRITE_FISHER
+ db SPRITE_SUPER_NERD
+ db SPRITE_COOLTRAINER_F
+ db SPRITE_SAILOR
+ db SPRITE_SUPER_NERD
+ db SPRITE_BLUE
+ db SPRITE_ROCKER
+ db SPRITE_POKEFAN_M
+ db SPRITE_BIKER
+ db SPRITE_BLAINE
+ db SPRITE_PHARMACIST
+ db SPRITE_FISHER
+ db SPRITE_SUPER_NERD
+ db SPRITE_BLACK_BELT
+ db SPRITE_ROCKET
+ db SPRITE_YOUNGSTER
+ db SPRITE_LASS
+ db SPRITE_YOUNGSTER
+ db SPRITE_ROCKET_GIRL
+ db SPRITE_SAGE
+ db SPRITE_GRANNY
+ db SPRITE_ROCKER
+ db SPRITE_POKEFAN_M
+ db SPRITE_KIMONO_GIRL
+ db SPRITE_TWIN
+ db SPRITE_POKEFAN_F
+ db SPRITE_RED
+ db SPRITE_BLUE
+ db SPRITE_OFFICER
+ db SPRITE_ROCKET_GIRL
diff --git a/data/type_names.asm b/data/types/names.asm
index d86fd62c7..ca810aea3 100644
--- a/data/type_names.asm
+++ b/data/types/names.asm
@@ -48,3 +48,5 @@ Ghost: db "GHOST@"
Steel: db "STEEL@"
Dragon: db "DRAGON@"
Dark: db "DARK@"
+
+; 50a28
diff --git a/data/types/search_strings.asm b/data/types/search_strings.asm
new file mode 100644
index 000000000..7e6eb71c2
--- /dev/null
+++ b/data/types/search_strings.asm
@@ -0,0 +1,21 @@
+PokedexTypeSearchStrings: ; 40fe4
+; entries correspond with PokedexTypeSearchConversionTable (see data/types/search_types.asm)
+ db " ---- @"
+ db " NORMAL @"
+ db " FIRE @"
+ db " WATER @"
+ db " GRASS @"
+ db "ELECTRIC@"
+ db " ICE @"
+ db "FIGHTING@"
+ db " POISON @"
+ db " GROUND @"
+ db " FLYING @"
+ db "PSYCHIC @"
+ db " BUG @"
+ db " ROCK @"
+ db " GHOST @"
+ db " DRAGON @"
+ db " DARK @"
+ db " STEEL @"
+; 41086
diff --git a/data/types/search_types.asm b/data/types/search_types.asm
new file mode 100644
index 000000000..2c5dbd4f4
--- /dev/null
+++ b/data/types/search_types.asm
@@ -0,0 +1,20 @@
+PokedexTypeSearchConversionTable: ; 410f6
+; entries correspond with PokedexTypeSearchStrings (see data/types/search_strings.asm)
+ db NORMAL
+ db FIRE
+ db WATER
+ db GRASS
+ db ELECTRIC
+ db ICE
+ db FIGHTING
+ db POISON
+ db GROUND
+ db FLYING
+ db PSYCHIC
+ db BUG
+ db ROCK
+ db GHOST
+ db DRAGON
+ db DARK
+ db STEEL
+; 41107
diff --git a/data/unown_walls.asm b/data/unown_walls.asm
new file mode 100644
index 000000000..eae376730
--- /dev/null
+++ b/data/unown_walls.asm
@@ -0,0 +1,54 @@
+unownwall: MACRO
+rept _NARG
+if \1 == "-"
+x = $64
+else
+if \1 >= "Y"
+x = 2 * (\1 - "Y") + $60
+else
+if \1 >= "Q"
+x = 2 * (\1 - "Q") + $40
+else
+if \1 >= "I"
+x = 2 * (\1 - "I") + $20
+else
+x = 2 * (\1 - "A")
+endc
+endc
+endc
+endc
+ db x
+shift
+endr
+ db -1 ; end
+ENDM
+
+UnownWalls: ; 8aebc
+; UNOWNWORDS_ESCAPE
+ ; db $08, $44, $04, $00, $2e, $08, $ff
+ unownwall "E", "S", "C", "A", "P", "E"
+; UNOWNWORDS_LIGHT
+ ; db $26, $20, $0c, $0e, $46, $ff
+ unownwall "L", "I", "G", "H", "T"
+; UNOWNWORDS_WATER
+ ; db $4c, $00, $46, $08, $42, $ff
+ unownwall "W", "A", "T", "E", "R"
+; UNOWNWORDS_HO_OH
+ ; db $0e, $2c, $64, $2c, $0e, $ff
+ unownwall "H", "O", "-", "O", "H"
+; 8aed5
+
+MenuDataHeaders_UnownWalls: ; 0x8aed5
+; UNOWNWORDS_ESCAPE
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 3, 4, 16, 9
+; UNOWNWORDS_LIGHT
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 4, 4, 15, 9
+; UNOWNWORDS_WATER
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 4, 4, 15, 9
+; UNOWNWORDS_HO_OH
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 4, 4, 15, 9
+; 8aee9
diff --git a/data/unused/dakutens.asm b/data/unused/dakutens.asm
new file mode 100644
index 000000000..756018d79
--- /dev/null
+++ b/data/unused/dakutens.asm
@@ -0,0 +1,15 @@
+UnreferencedDakutens:
+ db "かが", "きぎ", "くぐ", "けげ", "こご"
+ db "さざ", "しじ", "すず", "せぜ", "そぞ"
+ db "ただ", "ちぢ", "つづ", "てで", "とど"
+ db "はば", "ひび", "ふぶ", "へべ", "ほぼ"
+ db "カガ", "キギ", "クグ", "ケゲ", "コゴ"
+ db "サザ", "シジ", "スズ", "セゼ", "ソゾ"
+ db "タダ", "チヂ", "ツヅ", "テデ", "トド"
+ db "ハバ", "ヒビ", "フブ", "へべ", "ホボ"
+ db -1 ; end
+
+UnreferencedHandakutens:
+ db "はぱ", "ひぴ", "ふぷ", "へぺ", "ほぽ"
+ db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ"
+ db -1 ; end
diff --git a/text/unused_gen_1_trainers.asm b/data/unused/gen_1_trainer_names.asm
index 9a637d6a2..a802a5048 100644
--- a/text/unused_gen_1_trainers.asm
+++ b/data/unused/gen_1_trainer_names.asm
@@ -1,73 +1,52 @@
-GetGen1TrainerClassName: ; 50a28
-; XXX
- ld hl, .Strings
- ld a, [TrainerClass]
- dec a
- ld c, a
- ld b, 0
- add hl, bc
- add hl, bc
- ld a, [hli]
- ld h, [hl]
- ld l, a
- ld de, StringBuffer1
-.copy
- ld a, [hli]
- ld [de], a
- inc de
- cp "@"
- jr nz, .copy
- ret
-
-.Strings: ; 50a42
+Gen1TrainerClassNames: ; 50a42
; Untranslated trainer class names from Red.
dw .Youngster
dw .BugCatcher
dw .Lass
- dw OTClassName
+ dw OTClassName ; sailor
dw .JrTrainerM
dw .JrTrainerF
dw .Pokemaniac
dw .SuperNerd
- dw OTClassName
- dw OTClassName
+ dw OTClassName ; hiker
+ dw OTClassName ; biker
dw .Burglar
dw .Engineer
dw .Jack
- dw OTClassName
+ dw OTClassName ; fisher
dw .Swimmer
- dw OTClassName
- dw OTClassName
+ dw OTClassName ; cue ball
+ dw OTClassName ; gambler
dw .Beauty
- dw OTClassName
+ dw OTClassName ; psychic
dw .Rocker
dw .Juggler
- dw OTClassName
- dw OTClassName
+ dw OTClassName ; tamer
+ dw OTClassName ; bird keeper
dw .Blackbelt
- dw OTClassName
+ dw OTClassName ; rival1
dw .ProfOak
dw .Chief
dw .Scientist
- dw OTClassName
+ dw OTClassName ; giovanni
dw .Rocket
dw .CooltrainerM
dw .CooltrainerF
- dw OTClassName
- dw OTClassName
- dw OTClassName
- dw OTClassName
- dw OTClassName
- dw OTClassName
- dw OTClassName
- dw OTClassName
- dw OTClassName
- dw OTClassName
- dw OTClassName
- dw OTClassName
- dw OTClassName
- dw OTClassName
- dw OTClassName
+ dw OTClassName ; bruno
+ dw OTClassName ; brock
+ dw OTClassName ; misty
+ dw OTClassName ; lt.surge
+ dw OTClassName ; erika
+ dw OTClassName ; koga
+ dw OTClassName ; blaine
+ dw OTClassName ; sabrina
+ dw OTClassName ; gentleman
+ dw OTClassName ; rival2
+ dw OTClassName ; rival3
+ dw OTClassName ; lorelei
+ dw OTClassName ; channeler
+ dw OTClassName ; agatha
+ dw OTClassName ; lance
.Youngster: db "たんパン@"
.BugCatcher: db "むしとり@"
@@ -77,14 +56,14 @@ GetGen1TrainerClassName: ; 50a28
.Pokemaniac: db "マニア@"
.SuperNerd: db "りかけい@"
.Burglar: db "どろぼう@"
-.Engineer: db "ォヤジ@"
+.Engineer: db "オヤジ@"
.Jack: db "ジャック@"
.Swimmer: db "かいパン@"
.Beauty: db "おねえさん@"
.Rocker: db "グループ@"
.Juggler: db "ジャグラー@"
.Blackbelt: db "からて@"
-.ProfOak: db "ォーキド@"
+.ProfOak: db "オーキド@"
.Chief: db "チーフ@"
.Scientist: db "けんきゅういん@"
.Rocket: db "だんいん@"
diff --git a/text/unused_sweet_honey.asm b/data/unused/sweet_honey_text.asm
index 9bfa4f6b1..9bfa4f6b1 100644
--- a/text/unused_sweet_honey.asm
+++ b/data/unused/sweet_honey_text.asm
diff --git a/data/unused/unknown_53d84.asm b/data/unused/unknown_53d84.asm
new file mode 100755
index 000000000..026ec5275
--- /dev/null
+++ b/data/unused/unknown_53d84.asm
@@ -0,0 +1,13 @@
+Unreferenced_53d84:
+ db $1a, $15
+ db $33, $16
+ db $4b, $17
+ db $62, $18
+ db $79, $19
+ db $90, $1a
+ db $a8, $1b
+ db $c4, $1c
+ db $e0, $1d
+ db $f6, $1e
+ db $ff, $1f
+ db $ff, $20
diff --git a/data/wild/fish.asm b/data/wild/fish.asm
index de7e57a33..91a887b53 100644
--- a/data/wild/fish.asm
+++ b/data/wild/fish.asm
@@ -1,3 +1,5 @@
+time_group EQUS "0," ; use the nth TimeFishGroups entry
+
FishGroups: ; 92488
dbwww 50 percent + 1, .Shore_Old, .Shore_Good, .Shore_Super
dbwww 50 percent + 1, .Ocean_Old, .Ocean_Good, .Ocean_Super
@@ -21,10 +23,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, KRABBY, 20
db 90 percent + 1, KRABBY, 20
- db 100 percent, 0, 0
+ db 100 percent, time_group 0
.Shore_Super: ; 924f8
db 40 percent, KRABBY, 40
- db 70 percent, 0, 1
+ db 70 percent, time_group 1
db 90 percent + 1, KRABBY, 40
db 100 percent, KINGLER, 40
@@ -36,10 +38,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, TENTACOOL, 20
db 90 percent + 1, CHINCHOU, 20
- db 100 percent, 0, 2
+ db 100 percent, time_group 2
.Ocean_Super: ; 92519
db 40 percent, CHINCHOU, 40
- db 70 percent, 0, 3
+ db 70 percent, time_group 3
db 90 percent + 1, TENTACRUEL, 40
db 100 percent, LANTURN, 40
@@ -51,10 +53,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, GOLDEEN, 20
db 90 percent + 1, GOLDEEN, 20
- db 100 percent, 0, 4
+ db 100 percent, time_group 4
.Lake_Super: ; 9253a
db 40 percent, GOLDEEN, 40
- db 70 percent, 0, 5
+ db 70 percent, time_group 5
db 90 percent + 1, MAGIKARP, 40
db 100 percent, SEAKING, 40
@@ -66,10 +68,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, POLIWAG, 20
db 90 percent + 1, POLIWAG, 20
- db 100 percent, 0, 6
+ db 100 percent, time_group 6
.Pond_Super: ; 9255b
db 40 percent, POLIWAG, 40
- db 70 percent, 0, 7
+ db 70 percent, time_group 7
db 90 percent + 1, MAGIKARP, 40
db 100 percent, POLIWAG, 40
@@ -81,10 +83,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, MAGIKARP, 20
db 90 percent + 1, MAGIKARP, 20
- db 100 percent, 0, 8
+ db 100 percent, time_group 8
.Dratini_Super: ; 9257c
db 40 percent, MAGIKARP, 40
- db 70 percent, 0, 9
+ db 70 percent, time_group 9
db 90 percent + 1, MAGIKARP, 40
db 100 percent, DRAGONAIR, 40
@@ -96,10 +98,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, QWILFISH, 20
db 90 percent + 1, QWILFISH, 20
- db 100 percent, 0, 10
+ db 100 percent, time_group 10
.Qwilfish_Swarm_Super: ; 9259d
db 40 percent, QWILFISH, 40
- db 70 percent, 0, 11
+ db 70 percent, time_group 11
db 90 percent + 1, QWILFISH, 40
db 100 percent, QWILFISH, 40
@@ -111,10 +113,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, REMORAID, 20
db 90 percent + 1, REMORAID, 20
- db 100 percent, 0, 12
+ db 100 percent, time_group 12
.Remoraid_Swarm_Super: ; 925be
db 40 percent, REMORAID, 40
- db 70 percent, 0, 13
+ db 70 percent, time_group 13
db 90 percent + 1, REMORAID, 40
db 100 percent, REMORAID, 40
@@ -126,10 +128,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, MAGIKARP, 20
db 90 percent + 1, MAGIKARP, 20
- db 100 percent, 0, 14
+ db 100 percent, time_group 14
.Gyarados_Super: ; 925df
db 40 percent, MAGIKARP, 40
- db 70 percent, 0, 15
+ db 70 percent, time_group 15
db 90 percent + 1, MAGIKARP, 40
db 100 percent, MAGIKARP, 40
@@ -141,10 +143,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 10
db 70 percent, MAGIKARP, 10
db 90 percent + 1, MAGIKARP, 10
- db 100 percent, 0, 16
+ db 100 percent, time_group 16
.Dratini_2_Super: ; 92600
db 40 percent, MAGIKARP, 10
- db 70 percent, 0, 17
+ db 70 percent, time_group 17
db 90 percent + 1, MAGIKARP, 10
db 100 percent, DRAGONAIR, 10
@@ -156,10 +158,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, KRABBY, 20
db 90 percent + 1, KRABBY, 20
- db 100 percent, 0, 18
+ db 100 percent, time_group 18
.WhirlIslands_Super: ; 92621
db 40 percent, KRABBY, 40
- db 70 percent, 0, 19
+ db 70 percent, time_group 19
db 90 percent + 1, KINGLER, 40
db 100 percent, SEADRA, 40
@@ -173,11 +175,11 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, TENTACOOL, 20
db 90 percent + 1, TENTACOOL, 20
- db 100 percent, 0, 20
+ db 100 percent, time_group 20
.Qwilfish_NoSwarm_Super:
.Qwilfish_Super: ; 92642
db 40 percent, TENTACOOL, 40
- db 70 percent, 0, 21
+ db 70 percent, time_group 21
db 90 percent + 1, MAGIKARP, 40
db 100 percent, QWILFISH, 40
@@ -189,10 +191,10 @@ FishGroups: ; 92488
db 35 percent, MAGIKARP, 20
db 70 percent, POLIWAG, 20
db 90 percent + 1, POLIWAG, 20
- db 100 percent, 0, 6
+ db 100 percent, time_group 6
.Remoraid_Super: ; 92663
db 40 percent, POLIWAG, 40
- db 70 percent, 0, 7
+ db 70 percent, time_group 7
db 90 percent + 1, MAGIKARP, 40
db 100 percent, REMORAID, 40
; 9266f
diff --git a/data/wild/probabilities.asm b/data/wild/probabilities.asm
index a18e9d336..1813603c2 100644
--- a/data/wild/probabilities.asm
+++ b/data/wild/probabilities.asm
@@ -1,15 +1,20 @@
+mon_prob: MACRO
+; percent, index
+ db \1, \2 * 2
+ENDM
+
GrassMonProbTable: ; 2a1cb
- db 30, $0 ; 30% chance
- db 60, $2 ; 30% chance
- db 80, $4 ; 20% chance
- db 90, $6 ; 10% chance
- db 95, $8 ; 5% chance
- db 99, $a ; 4% chance
- db 100, $c ; 1% chance
+ mon_prob 30, 0 ; 30% chance
+ mon_prob 60, 1 ; 30% chance
+ mon_prob 80, 2 ; 20% chance
+ mon_prob 90, 3 ; 10% chance
+ mon_prob 95, 4 ; 5% chance
+ mon_prob 99, 5 ; 4% chance
+ mon_prob 100, 6 ; 1% chance
; 2a1d9
WaterMonProbTable: ; 2a1d9
- db 60, $0 ; 60% chance
- db 90, $2 ; 30% chance
- db 100, $4 ; 10% chance
+ mon_prob 60, 0 ; 60% chance
+ mon_prob 90, 1 ; 30% chance
+ mon_prob 100, 2 ; 10% chance
; 2a1df
diff --git a/data/wild/roammon_maps.asm b/data/wild/roammon_maps.asm
index c0b552b26..07bb7a9d9 100644
--- a/data/wild/roammon_maps.asm
+++ b/data/wild/roammon_maps.asm
@@ -13,6 +13,7 @@ endr
ENDM
RoamMaps: ; 2a40f
+; there are NUM_ROAMMON_MAPS entries
roam_map ROUTE_29, 2, ROUTE_30, ROUTE_46
roam_map ROUTE_30, 2, ROUTE_29, ROUTE_31
roam_map ROUTE_31, 3, ROUTE_30, ROUTE_32, ROUTE_36
diff --git a/data/wild/treemon_maps.asm b/data/wild/treemon_maps.asm
index e825930cc..7860110ca 100644
--- a/data/wild/treemon_maps.asm
+++ b/data/wild/treemon_maps.asm
@@ -4,47 +4,47 @@ treemon_map: MACRO
ENDM
TreeMonMaps: ; b825e
- treemon_map ROUTE_26, 4
- treemon_map ROUTE_27, 4
- treemon_map ROUTE_28, 0
- treemon_map ROUTE_29, 3
- treemon_map ROUTE_30, 3
- treemon_map ROUTE_31, 3
- treemon_map ROUTE_32, 4
- treemon_map ROUTE_33, 2
- treemon_map ROUTE_34, 3
- treemon_map ROUTE_35, 3
- treemon_map ROUTE_36, 3
- treemon_map ROUTE_37, 3
- treemon_map ROUTE_38, 3
- treemon_map ROUTE_39, 3
- treemon_map ROUTE_40, 0
- treemon_map ROUTE_41, 0
- treemon_map ROUTE_42, 2
- treemon_map ROUTE_43, 5
- treemon_map ROUTE_44, 1
- treemon_map ROUTE_45, 1
- treemon_map ROUTE_46, 1
- treemon_map NEW_BARK_TOWN, 0
- treemon_map CHERRYGROVE_CITY, 0
- treemon_map VIOLET_CITY, 0
- treemon_map AZALEA_TOWN, 2
- treemon_map CIANWOOD_CITY, 0
- treemon_map GOLDENROD_CITY, 0
- treemon_map OLIVINE_CITY, 0
- treemon_map ECRUTEAK_CITY, 0
- treemon_map MAHOGANY_TOWN, 0
- treemon_map LAKE_OF_RAGE, 5
- treemon_map BLACKTHORN_CITY, 0
- treemon_map SILVER_CAVE_OUTSIDE, 0
- treemon_map ILEX_FOREST, 6
+ treemon_map ROUTE_26, TREEMON_SET_KANTO
+ treemon_map ROUTE_27, TREEMON_SET_KANTO
+ treemon_map ROUTE_28, TREEMON_SET_CITY
+ treemon_map ROUTE_29, TREEMON_SET_ROUTE
+ treemon_map ROUTE_30, TREEMON_SET_ROUTE
+ treemon_map ROUTE_31, TREEMON_SET_ROUTE
+ treemon_map ROUTE_32, TREEMON_SET_KANTO
+ treemon_map ROUTE_33, TREEMON_SET_AZALEA
+ treemon_map ROUTE_34, TREEMON_SET_ROUTE
+ treemon_map ROUTE_35, TREEMON_SET_ROUTE
+ treemon_map ROUTE_36, TREEMON_SET_ROUTE
+ treemon_map ROUTE_37, TREEMON_SET_ROUTE
+ treemon_map ROUTE_38, TREEMON_SET_ROUTE
+ treemon_map ROUTE_39, TREEMON_SET_ROUTE
+ treemon_map ROUTE_40, TREEMON_SET_CITY
+ treemon_map ROUTE_41, TREEMON_SET_CITY
+ treemon_map ROUTE_42, TREEMON_SET_AZALEA
+ treemon_map ROUTE_43, TREEMON_SET_LAKE
+ treemon_map ROUTE_44, TREEMON_SET_CANYON
+ treemon_map ROUTE_45, TREEMON_SET_CANYON
+ treemon_map ROUTE_46, TREEMON_SET_CANYON
+ treemon_map NEW_BARK_TOWN, TREEMON_SET_CITY
+ treemon_map CHERRYGROVE_CITY, TREEMON_SET_CITY
+ treemon_map VIOLET_CITY, TREEMON_SET_CITY
+ treemon_map AZALEA_TOWN, TREEMON_SET_AZALEA
+ treemon_map CIANWOOD_CITY, TREEMON_SET_CITY
+ treemon_map GOLDENROD_CITY, TREEMON_SET_CITY
+ treemon_map OLIVINE_CITY, TREEMON_SET_CITY
+ treemon_map ECRUTEAK_CITY, TREEMON_SET_CITY
+ treemon_map MAHOGANY_TOWN, TREEMON_SET_CITY
+ treemon_map LAKE_OF_RAGE, TREEMON_SET_LAKE
+ treemon_map BLACKTHORN_CITY, TREEMON_SET_CITY
+ treemon_map SILVER_CAVE_OUTSIDE, TREEMON_SET_CITY
+ treemon_map ILEX_FOREST, TREEMON_SET_FOREST
db -1
; b82c5
RockMonMaps: ; b82c5
- treemon_map CIANWOOD_CITY, 7
- treemon_map ROUTE_40, 7
- treemon_map DARK_CAVE_VIOLET_ENTRANCE, 7
- treemon_map SLOWPOKE_WELL_B1F, 7
+ treemon_map CIANWOOD_CITY, TREEMON_SET_ROCK
+ treemon_map ROUTE_40, TREEMON_SET_ROCK
+ treemon_map DARK_CAVE_VIOLET_ENTRANCE, TREEMON_SET_ROCK
+ treemon_map SLOWPOKE_WELL_B1F, TREEMON_SET_ROCK
db -1
; b82d2
diff --git a/data/wild/treemons.asm b/data/wild/treemons.asm
index 0cb8fa83d..21cef29ec 100644
--- a/data/wild/treemons.asm
+++ b/data/wild/treemons.asm
@@ -1,19 +1,21 @@
TreeMons: ; b82e8
- dw TreeMons1
- dw TreeMons1
- dw TreeMons2
- dw TreeMons3
- dw TreeMons4
- dw TreeMons5
- dw TreeMons6
- dw RockMons
- dw TreeMons1
+; entries correspond to TREEMON_SET_* constants
+ dw TreeMonSet_City
+ dw TreeMonSet_Canyon
+ dw TreeMonSet_Azalea
+ dw TreeMonSet_Route
+ dw TreeMonSet_Kanto
+ dw TreeMonSet_Lake
+ dw TreeMonSet_Forest
+ dw TreeMonSet_Rock
+ dw TreeMonSet_City
; Two tables each (common, rare).
; Structure:
; db %, species, level
-TreeMons1: ; b82fa
+TreeMonSet_City:
+TreeMonSet_Canyon: ; b82fa
; common
db 50, SPEAROW, 10
db 15, SPEAROW, 10
@@ -31,7 +33,7 @@ TreeMons1: ; b82fa
db 5, AIPOM, 10
db -1
-TreeMons2: ; b8320
+TreeMonSet_Azalea: ; b8320
; common
db 50, SPEAROW, 10
db 15, EKANS, 10
@@ -49,7 +51,7 @@ TreeMons2: ; b8320
db 5, AIPOM, 10
db -1
-TreeMons3: ; b8346
+TreeMonSet_Route: ; b8346
; common
db 50, HOOTHOOT, 10
db 15, SPINARAK, 10
@@ -67,7 +69,7 @@ TreeMons3: ; b8346
db 5, EXEGGCUTE, 10
db -1
-TreeMons4: ; b836c
+TreeMonSet_Kanto: ; b836c
; common
db 50, HOOTHOOT, 10
db 15, EKANS, 10
@@ -85,7 +87,7 @@ TreeMons4: ; b836c
db 5, EXEGGCUTE, 10
db -1
-TreeMons5: ; b8392
+TreeMonSet_Lake: ; b8392
; common
db 50, HOOTHOOT, 10
db 15, VENONAT, 10
@@ -103,7 +105,7 @@ TreeMons5: ; b8392
db 5, EXEGGCUTE, 10
db -1
-TreeMons6: ; b83b8
+TreeMonSet_Forest: ; b83b8
; common
db 50, HOOTHOOT, 10
db 15, PINECO, 10
@@ -121,7 +123,7 @@ TreeMons6: ; b83b8
db 5, KAKUNA, 10
db -1
-RockMons: ; b83de
+TreeMonSet_Rock: ; b83de
db 90, KRABBY, 15
db 10, SHUCKLE, 15
db -1
diff --git a/data/wild/treemons_asleep.asm b/data/wild/treemons_asleep.asm
new file mode 100644
index 000000000..50c50f99f
--- /dev/null
+++ b/data/wild/treemons_asleep.asm
@@ -0,0 +1,31 @@
+; Used by CheckSleepingTreeMon
+
+AsleepTreeMonsNite:
+ db CATERPIE
+ db METAPOD
+ db BUTTERFREE
+ db WEEDLE
+ db KAKUNA
+ db BEEDRILL
+ db SPEAROW
+ db EKANS
+ db EXEGGCUTE
+ db LEDYBA
+ db AIPOM
+ db -1 ; end
+
+AsleepTreeMonsDay:
+ db VENONAT
+ db HOOTHOOT
+ db NOCTOWL
+ db SPINARAK
+ db HERACROSS
+ db -1 ; end
+
+AsleepTreeMonsMorn:
+ db VENONAT
+ db HOOTHOOT
+ db NOCTOWL
+ db SPINARAK
+ db HERACROSS
+ db -1 ; end
diff --git a/docs/battle_anim_commands.md b/docs/battle_anim_commands.md
index e7eb4a98f..bd40e8a6d 100644
--- a/docs/battle_anim_commands.md
+++ b/docs/battle_anim_commands.md
@@ -3,13 +3,14 @@
Defined in [macros/scripts/battle_anims.asm](/macros/scripts/battle_anims.asm) and [engine/battle_anims/anim_commands.asm:BattleAnimCommands](/engine/battle_anims/anim_commands.asm).
-## `$00`−`$CF`: `anim_wait` *length*
+## `$00`−`$CF`: <code>anim_wait <i>length</i></code>
- *length*: duration in frames
-## `$D0`: `anim_obj` *object*, *x*, *y*, *param*
-*Alternate*: `anim_obj` *object*, *x_tile*, *x*, *y_tile*, *y*, *param*
+## `$D0`: <code>anim_obj <i>object</i>, <i>x</i>, <i>y</i>, <i>param</i></code>
+
+***Alternate*: <code>anim_obj <i>object</i>, <i>x_tile</i>, <i>x</i>, <i>y_tile</i>, <i>y</i>, <i>param</i></code>**
Spawns an *object* at coordinate (*x*, *y*).
@@ -28,22 +29,26 @@ The y position also depends on the y offset defined by the object.
- *TODO: document each object*
-## `$D1`: `anim_1gfx` *gfx*
+## `$D1`: <code>anim_1gfx <i>gfx</i></code>
+
+
+## `$D2`: <code>anim_2gfx <i>gfx1</i>, <i>gfx2</i></code>
+
-## `$D2`: `anim_2gfx` *gfx1*, *gfx2*
+## `$D3`: <code>anim_3gfx <i>gfx1</i>, <i>gfx2</i>, <i>gfx3</i></code>
-## `$D3`: `anim_3gfx` *gfx1*, *gfx2*, *gfx3*
-## `$D4`: `anim_4gfx` *gfx1*, *gfx2*, *gfx3*, *gfx4*
+## `$D4`: <code>anim_4gfx <i>gfx1</i>, <i>gfx2</i>, <i>gfx3</i>, <i>gfx4</i></code>
-## `$D5`: `anim_5gfx` *gfx1*, *gfx2*, *gfx3*, *gfx4*, *gfx5*
+
+## `$D5`: <code>anim_5gfx <i>gfx1</i>, <i>gfx2</i>, <i>gfx3</i>, <i>gfx4</i>, <i>gfx5</i></code>
Loads 1-5 sets of graphics. Will overwrite any previously loaded sets.
- *gfx*: `ANIM_GFX` constants (see [constants/battle_anim_constants.asm](/constants/battle_anim_constants.asm))
-## `$D6`: `anim_incobj` *object_id*
+## `$D6`: <code>anim_incobj <i>object_id</i></code>
Increments an object's state.
@@ -51,7 +56,8 @@ Increments an object's state.
Objects are state machines. `anim_incobj` progresses the state of an object.
-## `$D7`: `anim_setobj` *object_id*, *state*
+
+## `$D7`: <code>anim_setobj <i>object_id</i>, <i>state</i></code>
Sets an object's state to a specific value.
@@ -60,7 +66,8 @@ Sets an object's state to a specific value.
Objects are state machines. `anim_setobj` changes the state of an object.
-## `$D8`: `anim_incbgeffect` *bg_effect*
+
+## `$D8`: <code>anim_incbgeffect <i>bg_effect</i></code>
Increments a bg effect's state.
@@ -73,6 +80,7 @@ Since there can't be two of the same bg effect, the effect type is used. This is
Temporarily creates sprites from the bottom row of the enemy frontpic, so that the player backpic can be moved around without corrupting the enemy frontpic.
+
## `$DA`: `anim_playerheadobj`
Temporarily creates sprites from the top row of the player backpic, so that the enemy frontpic can be moved around without corrupting the player backpic.
@@ -85,8 +93,10 @@ Sets `BattleAnimVar` to the result of [GetPokeBallWobble](/engine/battle_anims/g
## `$DC`: `anim_transform`
+
## `$DD`: `anim_raisesub`
+
## `$DE`: `anim_dropsub`
@@ -95,11 +105,12 @@ Sets `BattleAnimVar` to the result of [GetPokeBallWobble](/engine/battle_anims/g
Resets rOBP0 to the default (`q0123` or `%00011011`).
-## `$E0`: `anim_sound` *duration*, *tracks*, *sound_id*
+## `$E0`: <code>anim_sound <i>duration</i>, <i>tracks</i>, <i>sound_id</i></code>
Plays a sound.
-## `$E1`: `anim_cry` *pitch*
+
+## `$E1`: <code>anim_cry <i>pitch</i></code>
Plays the user's cry.
@@ -109,6 +120,7 @@ Plays the user's cry.
## `$E3`: `anim_oamon`
+
## `$E4`: `anim_oamoff`
@@ -127,6 +139,7 @@ Does nothing. Unused.
## `$E8`: `anim_updateactorpic`
+
## `$E9`: `anim_minimize`
@@ -134,40 +147,46 @@ Does nothing. Unused.
Does nothing. Unused.
+
## `$EB`: `anim_0xeb`
Does nothing. Unused.
+
## `$EC`: `anim_0xec`
Does nothing. Unused.
+
## `$ED`: `anim_0xed`
Does nothing. Unused.
-## `$EE`: `anim_if_param_and` *value*, *address*
+## `$EE`: <code>anim_if_param_and <i>value</i>, <i>address</i></code>
-## `$EF`: `anim_jumpuntil` *address*
+
+## `$EF`: <code>anim_jumpuntil <i>address</i></code>
Jumps to another script and decrements `param` until it reaches 0. Similar to `anim_loop`.
-## `$F0`: `anim_bgeffect` *bg_effect*, *unknown1*, *unknown2*, *unknown3*
+## `$F0`: <code>anim_bgeffect <i>bg_effect</i>, <i>unknown1</i>, <i>unknown2</i>, <i>unknown3</i></code>
- *bg_effect*: `ANIM_BG` constants (see [constants/battle_anim_constants.asm](/constants/battle_anim_constants.asm))
-## `$F1`: `anim_bgp` *colors*
+## `$F1`: <code>anim_bgp <i>colors</i></code>
Sets `rBGP` to *colors*.
-## `$F2`: `anim_obp0` *colors*
+
+## `$F2`: <code>anim_obp0 <i>colors</i></code>
Sets `rOBP0` to *colors*.
-## `$F3`: `anim_obp1` *colors*
+
+## `$F3`: <code>anim_obp1 <i>colors</i></code>
Sets `rOBP1` to *colors*.
@@ -179,45 +198,54 @@ Sets `rOBP1` to *colors*.
Does nothing. Unused.
+
## `$F6`: `anim_0xf6`
Does nothing. Unused.
+
## `$F7`: `anim_0xf7`
Does nothing. Unused.
-## `$F8`: `anim_if_param_equal` *value*, *address*
+## `$F8`: <code>anim_if_param_equal <i>value</i>, <i>address</i></code>
Jumps to another script if `wBattleAnimParam` (aka `wKickCounter` or `wPresentPower`) is equal to *value*.
-## `$F9`: `anim_setvar` *value*
+
+## `$F9`: <code>anim_setvar <i>value</i></code>
Sets `BattleAnimVar` to *value*.
+
## `$FA`: `anim_incvar`
Increments `BattleAnimVar` by 1.
-## `$FB`: `anim_if_var_equal` *value*, *address*
+
+## `$FB`: <code>anim_if_var_equal <i>value</i>, <i>address</i></code>
Jumps to another script if `BattleAnimVar` is equal to *value*.
-## `$FC`: `anim_jump` *address*
+
+## `$FC`: <code>anim_jump <i>address</i></code>
Jumps to another script.
-## `$FD`: `anim_loop` *count*, *address*
+
+## `$FD`: <code>anim_loop <i>count</i>, <i>address</i></code>
Jumps to another script up to *count* times. Then does nothing, allowing execution to continue.
-## `$FE`: `anim_call` *address*
+
+## `$FE`: <code>anim_call <i>address</i></code>
Calls a script.
There is no call stack. The return address is overwritten, so the maximum call depth is 1.
+
## `$FF`: `anim_ret`
Ends the script and returns to where it was called from. If there was no caller, the animation ends.
diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md
index 52d788987..5abf9d08a 100644
--- a/docs/bugs_and_glitches.md
+++ b/docs/bugs_and_glitches.md
@@ -567,7 +567,7 @@ This is a bug with `Text_ABoostedStringBuffer2ExpPoints` and `Text_StringBuffer2
```asm
Text_ABoostedStringBuffer2ExpPoints::
- text ""
+ text_start
line "a boosted"
cont "@"
deciram StringBuffer2, 2, 4
@@ -575,7 +575,7 @@ Text_ABoostedStringBuffer2ExpPoints::
prompt
Text_StringBuffer2ExpPoints::
- text ""
+ text_start
line "@"
deciram StringBuffer2, 2, 4
text " EXP. Points!"
@@ -746,7 +746,7 @@ Data_DaisyMassage: ; 746b
CopyPokemonName_Buffer1_Buffer3: ; 746e
ld hl, StringBuffer1
ld de, StringBuffer3
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
jp CopyBytes
```
@@ -993,7 +993,7 @@ This is a bug with `DoPlayerMovement.CheckWarp` in [engine/player_movement.asm](
([Video](https://www.youtube.com/watch?v=z305e4sIO24))
-The exact cause is unknown, but a workaround exists for `DexEntryScreen_MenuActionJumptable.Cry` in [engine/pokedex.asm](/engine/pokedex.asm):
+The exact cause is unknown, but a workaround exists for `DexEntryScreen_MenuActionJumptable.Cry` in [engine/pokedex/pokedex.asm](/engine/pokedex/pokedex.asm):
```asm
.Cry: ; 40340
@@ -1002,7 +1002,7 @@ The exact cause is unknown, but a workaround exists for `DexEntryScreen_MenuActi
call GetCryIndex
ld e, c
ld d, b
- call PlayCryHeader
+ call PlayCry
ret
```
@@ -1011,7 +1011,7 @@ The exact cause is unknown, but a workaround exists for `DexEntryScreen_MenuActi
```asm
.Cry: ; 40340
ld a, [CurPartySpecies]
- call PlayCry
+ call PlayMonCry
ret
```
diff --git a/docs/design_flaws.md b/docs/design_flaws.md
index 21a222743..7dc4d13db 100644
--- a/docs/design_flaws.md
+++ b/docs/design_flaws.md
@@ -24,7 +24,7 @@ dba_pic: MACRO ; dbw bank, address
ENDM
```
-The offset is translated into a correct bank by `FixPicBank` in [gfx/load_pics.asm](/gfx/load_pics.asm):
+The offset is translated into a correct bank by `FixPicBank` in [engine/load_pics.asm](/engine/load_pics.asm):
```asm
FixPicBank: ; 511c5
@@ -106,7 +106,7 @@ ROMX $49
"Pics 2"
```
-Two routines in [gfx/load_pics.asm](/gfx/load_pics.asm) make this assumption; `GetFrontpicPointer`:
+Two routines in [engine/load_pics.asm](/engine/load_pics.asm) make this assumption; `GetFrontpicPointer`:
```asm
ld a, [CurPartySpecies]
@@ -228,7 +228,7 @@ INCBIN "gfx/footprints/wartortle.1bpp", footprint_bottom
...
```
-`Pokedex_LoadAnyFootprint` in [engine/pokedex.asm](/engine/pokedex.asm):
+`Pokedex_LoadAnyFootprint` in [engine/pokedex/pokedex.asm](/engine/pokedex/pokedex.asm):
```asm
push hl
@@ -282,7 +282,7 @@ Modify `Pokedex_LoadAnyFootprint`:
`PokedexDataPointerTable` in [data/pokemon/dex_entry_pointers.asm](/data/pokemon/dex_entry_pointers.asm) is a table of `dw`, not `dba`, yet there are four banks used for Pokédex entries. The correct bank is derived from the species ID at the beginning of each Pokémon's base stats. (This is the only use the base stat species ID has.)
-Three separate routines do the same derivation; `GetDexEntryPointer` in [engine/pokedex_2.asm](/engine/pokedex_2.asm):
+Three separate routines do the same derivation; `GetDexEntryPointer` in [engine/pokedex/pokedex_2.asm](/engine/pokedex/pokedex_2.asm):
```asm
GetDexEntryPointer: ; 44333
@@ -471,7 +471,7 @@ GetNumberedTMHM: ; d417
## `GetForestTreeFrame` works, but it's still bad
-In [tilesets/animations.asm](/tilesets/animations.asm):
+In [engine/tileset_anims.asm](/engine/tileset_anims.asm):
```asm
GetForestTreeFrame: ; fc54c
diff --git a/docs/event_commands.md b/docs/event_commands.md
index b4314bd24..91486ad06 100644
--- a/docs/event_commands.md
+++ b/docs/event_commands.md
@@ -3,147 +3,147 @@
Defined in [macros/scripts/events.asm](/macros/scripts/events.asm) and [engine/scripting.asm:ScriptCommandTable](/engine/scripting.asm).
-## `$00`: `scall` *script*
+## `$00`: <code>scall <i>script</i></code>
-## `$01`: `farscall` *script*
+## `$01`: <code>farscall <i>script</i></code>
-## `$02`: `ptcall` *script*
+## `$02`: <code>ptcall <i>script</i></code>
-## `$03`: `jump` *script*
+## `$03`: <code>jump <i>script</i></code>
-## `$04`: `farjump` *script*
+## `$04`: <code>farjump <i>script</i></code>
-## `$05`: `ptjump` *script*
+## `$05`: <code>ptjump <i>script</i></code>
-## `$06`: `if_equal` *byte*, *script*
+## `$06`: <code>if_equal <i>byte</i>, <i>script</i></code>
-## `$07`: `if_not_equal` *byte*, *script*
+## `$07`: <code>if_not_equal <i>byte</i>, <i>script</i></code>
-## `$08`: `iffalse` *script*
+## `$08`: <code>iffalse <i>script</i></code>
-## `$09`: `iftrue` *script*
+## `$09`: <code>iftrue <i>script</i></code>
-## `$0A`: `if_greater_than` *byte*, *script*
+## `$0A`: <code>if_greater_than <i>byte</i>, <i>script</i></code>
-## `$0B`: `if_less_than` *byte*, *script*
+## `$0B`: <code>if_less_than <i>byte</i>, <i>script</i></code>
-## `$0C`: `jumpstd` *std_script*
+## `$0C`: <code>jumpstd <i>std_script</i></code>
-## `$0D`: `callstd` *std_script*
+## `$0D`: <code>callstd <i>std_script</i></code>
-## `$0E`: `callasm` *asm*
+## `$0E`: <code>callasm <i>asm</i></code>
-## `$0F`: `special` *special_pointer*
+## `$0F`: <code>special <i>special_pointer</i></code>
-## `$10`: `ptcallasm` *asm*
+## `$10`: <code>ptcallasm <i>asm</i></code>
-## `$11`: `checkmapscene` *map*
+## `$11`: <code>checkmapscene <i>map</i></code>
-## `$12`: `setmapscene` *map*, *scene_id*
+## `$12`: <code>setmapscene <i>map</i>, <i>scene_id</i></code>
## `$13`: `checkscene`
-## `$14`: `setscene` *scene_id*
+## `$14`: <code>setscene <i>scene_id</i></code>
-## `$15`: `writebyte` *value*
+## `$15`: <code>writebyte <i>value</i></code>
-## `$16`: `addvar` *value*
+## `$16`: <code>addvar <i>value</i></code>
-## `$17`: `random` *value*
+## `$17`: <code>random <i>value</i></code>
## `$18`: `checkver`
-## `$19`: `copybytetovar` *address*
+## `$19`: <code>copybytetovar <i>address</i></code>
-## `$1A`: `copyvartobyte` *address*
+## `$1A`: <code>copyvartobyte <i>address</i></code>
-## `$1B`: `loadvar` *address*, *value*
+## `$1B`: <code>loadvar <i>address</i>, <i>value</i></code>
-## `$1C`: `checkcode` *variable*
+## `$1C`: <code>checkcode <i>variable</i></code>
-## `$1D`: `writevarcode` *variable*
+## `$1D`: <code>writevarcode <i>variable</i></code>
-## `$1E`: `writecode` *variable*, *value*
+## `$1E`: <code>writecode <i>variable</i>, <i>value</i></code>
-## `$1F`: `giveitem` *item_id*[, *quantity*=1]
+## `$1F`: <code>giveitem <i>item_id</i>[, <i>quantity</i>=1]</code>
-## `$20`: `takeitem` *item_id*[, *quantity*=1]
+## `$20`: <code>takeitem <i>item_id</i>[, <i>quantity</i>=1]</code>
-## `$21`: `checkitem` *item_id*
+## `$21`: <code>checkitem <i>item_id</i></code>
-## `$22`: `givemoney` *account*, *value*
+## `$22`: <code>givemoney <i>account</i>, <i>value</i></code>
-## `$23`: `takemoney` *account*, *value*
+## `$23`: <code>takemoney <i>account</i>, <i>value</i></code>
-## `$24`: `checkmoney` *account*, *value*
+## `$24`: <code>checkmoney <i>account</i>, <i>value</i></code>
-## `$25`: `givecoins` *value*
+## `$25`: <code>givecoins <i>value</i></code>
-## `$26`: `takecoins` *value*
+## `$26`: <code>takecoins <i>value</i></code>
-## `$27`: `checkcoins` *value*
+## `$27`: <code>checkcoins <i>value</i></code>
-## `$28`: `addcellnum` *contact_id*
+## `$28`: <code>addcellnum <i>contact_id</i></code>
-## `$29`: `delcellnum` *contact_id*
+## `$29`: <code>delcellnum <i>contact_id</i></code>
-## `$2A`: `checkcellnum` *contact_id*
+## `$2A`: <code>checkcellnum <i>contact_id</i></code>
-## `$2B`: `checktime` *time*
+## `$2B`: <code>checktime <i>time</i></code>
- **`checkmorn`:** `checktime MORN`
- **`checkday`:** `checktime DAY`
- **`checknite`:** `checktime NITE`
-## `$2C`: `checkpoke` *mon_id*
+## `$2C`: <code>checkpoke <i>mon_id</i></code>
-## `$2D`: `givepoke` *mon_id*, *level*[, *item*=0[, *trainer*=0, *ot_name*, *nickname*]]
+## `$2D`: <code>givepoke <i>mon_id</i>, <i>level</i>[, <i>item</i>=0[, <i>trainer</i>=0, <i>ot_name</i>, <i>nickname</i>]]</code>
-## `$2E`: `giveegg` *mon_id*, *level*
+## `$2E`: <code>giveegg <i>mon_id</i>, <i>level</i></code>
-## `$2F`: `givepokeitem` *pointer*
+## `$2F`: <code>givepokeitem <i>pointer</i></code>
-## `$30`: `checkpokeitem` *pointer*
+## `$30`: <code>checkpokeitem <i>pointer</i></code>
-## `$31`: `checkevent` *event_flag*
+## `$31`: <code>checkevent <i>event_flag</i></code>
-## `$32`: `clearevent` *event_flag*
+## `$32`: <code>clearevent <i>event_flag</i></code>
-## `$33`: `setevent` *event_flag*
+## `$33`: <code>setevent <i>event_flag</i></code>
-## `$34`: `checkflag` *engine_flag*
+## `$34`: <code>checkflag <i>engine_flag</i></code>
-## `$35`: `clearflag` *engine_flag*
+## `$35`: <code>clearflag <i>engine_flag</i></code>
-## `$36`: `setflag` *engine_flag*
+## `$36`: <code>setflag <i>engine_flag</i></code>
## `$37`: `wildon`
## `$38`: `wildoff`
-## `$39`: `xycompare` *pointer*
+## `$39`: <code>xycompare <i>pointer</i></code>
-## `$3A`: `warpmod` *warp_id*, *map*
+## `$3A`: <code>warpmod <i>warp_id</i>, <i>map</i></code>
-## `$3B`: `blackoutmod` *map*
+## `$3B`: <code>blackoutmod <i>map</i></code>
-## `$3C`: `warp` *map*, *x*, *y*
+## `$3C`: <code>warp <i>map</i>, <i>x</i>, <i>y</i></code>
-## `$3D`: `readmoney` *account*, *memory*
+## `$3D`: <code>readmoney <i>account</i>, <i>memory</i></code>
-## `$3E`: `readcoins` *memory*
+## `$3E`: <code>readcoins <i>memory</i></code>
-## `$3F`: `RAM2MEM` *memory*
+## `$3F`: <code>vartomem <i>memory</i></code>
-## `$40`: `pokenamemem` *mon_id*, *memory*
+## `$40`: <code>pokenamemem <i>mon_id</i>, <i>memory</i></code>
-## `$41`: `itemtotext` *item_id*, *memory*
+## `$41`: <code>itemtotext <i>item_id</i>, <i>memory</i></code>
-## `$42`: `mapnametotext` *memory*
+## `$42`: <code>mapnametotext <i>memory</i></code>
-## `$43`: `trainertotext` *trainer_id*, *trainer_group*, *memory*
+## `$43`: <code>trainertotext <i>trainer_id</i>, <i>trainer_group</i>, <i>memory</i></code>
-## `$44`: `stringtotext` *text_pointer*, *memory*
+## `$44`: <code>stringtotext <i>text_pointer</i>, <i>memory</i></code>
## `$45`: `itemnotify`
@@ -151,35 +151,35 @@ Defined in [macros/scripts/events.asm](/macros/scripts/events.asm) and [engine/s
## `$47`: `opentext`
-## `$48`: `refreshscreen` *dummy*
+## `$48`: <code>refreshscreen [<i>dummy</i>=0]</code>
## `$49`: `closetext`
-## `$4A`: `loadbytec2cf` *byte*
+## `$4A`: <code>loadbytec2cf <i>byte</i></code>
-## `$4B`: `farwritetext` *text_pointer*
+## `$4B`: <code>farwritetext <i>text_pointer</i></code>
-## `$4C`: `writetext` *text_pointer*
+## `$4C`: <code>writetext <i>text_pointer</i></code>
-## `$4D`: `repeattext` *byte1*, *byte2*
+## `$4D`: <code>repeattext <i>byte1</i>, <i>byte2</i></code>
## `$4E`: `yesorno`
-## `$4F`: `loadmenudata` *data_pointer*
+## `$4F`: <code>loadmenudata <i>data_pointer</i></code>
## `$50`: `closewindow`
-## `$51`: `jumptextfaceplayer` *text_pointer*
+## `$51`: <code>jumptextfaceplayer <i>text_pointer</i></code>
-## `$52`: `farjumptext` *text_pointer*
+## `$52`: <code>farjumptext <i>text_pointer</i></code>
-## `$53`: `jumptext` *text_pointer*
+## `$53`: <code>jumptext <i>text_pointer</i></code>
## `$54`: `waitbutton`
## `$55`: `buttonsound`
-## `$56`: `pokepic` *mon_id*
+## `$56`: <code>pokepic <i>mon_id</i></code>
## `$57`: `closepokepic`
@@ -193,21 +193,21 @@ Defined in [macros/scripts/events.asm](/macros/scripts/events.asm) and [engine/s
## `$5C`: `loadmemtrainer`
-## `$5D`: `loadwildmon` *mon_id*, *level*
+## `$5D`: <code>loadwildmon <i>mon_id</i>, <i>level</i></code>
-## `$5E`: `loadtrainer` *trainer_group*, *trainer_id*
+## `$5E`: <code>loadtrainer <i>trainer_group</i>, <i>trainer_id</i></code>
## `$5F`: `startbattle`
## `$60`: `reloadmapafterbattle`
-## `$61`: `catchtutorial` *byte*
+## `$61`: <code>catchtutorial <i>byte</i></code>
-## `$62`: `trainertext` *which_text*
+## `$62`: <code>trainertext <i>which_text</i></code>
-## `$63`: `trainerflagaction` *action*
+## `$63`: <code>trainerflagaction <i>action</i></code>
-## `$64`: `winlosstext` *win_text_pointer*, *loss_text_pointer*
+## `$64`: <code>winlosstext <i>win_text_pointer</i>, <i>loss_text_pointer</i></code>
## `$65`: `scripttalkafter`
@@ -215,65 +215,65 @@ Defined in [macros/scripts/events.asm](/macros/scripts/events.asm) and [engine/s
## `$67`: `check_just_battled`
-## `$68`: `setlasttalked` *object_id*
+## `$68`: <code>setlasttalked <i>object_id</i></code>
-## `$69`: `applymovement` *object_id*, *data_pointer*
+## `$69`: <code>applymovement <i>object_id</i>, <i>data_pointer</i></code>
-## `$6A`: `applymovement2` *data_pointer*
+## `$6A`: <code>applymovement2 <i>data_pointer</i></code>
## `$6B`: `faceplayer`
-## `$6C`: `faceobject` *object1*, *object2*
+## `$6C`: <code>faceobject <i>object1</i>, <i>object2</i></code>
-## `$6D`: `variablesprite` *variable_sprite_id*, *sprite_id*
+## `$6D`: <code>variablesprite <i>variable_sprite_id</i>, <i>sprite_id</i></code>
-## `$6E`: `disappear` *object_id*
+## `$6E`: <code>disappear <i>object_id</i></code>
-## `$6F`: `appear` *object_id*
+## `$6F`: <code>appear <i>object_id</i></code>
-## `$70`: `follow` *object2*, *object1*
+## `$70`: <code>follow <i>object2</i>, <i>object1</i></code>
## `$71`: `stopfollow`
-## `$72`: `moveobject` *object_id*, *x*, *y*
+## `$72`: <code>moveobject <i>object_id</i>, <i>x</i>, <i>y</i></code>
-## `$73`: `writeobjectxy` *object_id*
+## `$73`: <code>writeobjectxy <i>object_id</i></code>
-## `$74`: `loademote` *emote_id*
+## `$74`: <code>loademote <i>emote_id</i></code>
-## `$75`: `showemote` *emote_id*, *object_id*, *length*
+## `$75`: <code>showemote <i>emote_id</i>, <i>object_id</i>, <i>length</i></code>
-## `$76`: `spriteface` *object_id*, *facing*
+## `$76`: <code>spriteface <i>object_id</i>, <i>facing</i></code>
-## `$77`: `follownotexact` *object2*, *object1*
+## `$77`: <code>follownotexact <i>object2</i>, <i>object1</i></code>
-## `$78`: `earthquake` *param*
+## `$78`: <code>earthquake <i>param</i></code>
-## `$79`: `changemap` *bank*, *blockdata_pointer*
+## `$79`: <code>changemap <i>bank</i>, <i>blockdata_pointer</i></code>
-## `$7A`: `changeblock` *x*, *y*, *block*
+## `$7A`: <code>changeblock <i>x</i>, <i>y</i>, <i>block</i></code>
## `$7B`: `reloadmap`
## `$7C`: `reloadmappart`
-## `$7D`: `writecmdqueue` *queue_pointer*
+## `$7D`: <code>writecmdqueue <i>queue_pointer</i></code>
-## `$7E`: `delcmdqueue` *byte*
+## `$7E`: <code>delcmdqueue <i>byte</i></code>
-## `$7F`: `playmusic` *music_id*
+## `$7F`: <code>playmusic <i>music_id</i></code>
## `$80`: `encountermusic`
-## `$81`: `musicfadeout` *music_id*, *length*
+## `$81`: <code>musicfadeout <i>music_id</i>, <i>length</i></code>
## `$82`: `playmapmusic`
## `$83`: `dontrestartmapmusic`
-## `$84`: `cry` *mon_id*
+## `$84`: <code>cry <i>mon_id</i></code>
-## `$85`: `playsound` *sfx_id*
+## `$85`: <code>playsound <i>sfx_id</i></code>
## `$86`: `waitsfx`
@@ -281,68 +281,68 @@ Defined in [macros/scripts/events.asm](/macros/scripts/events.asm) and [engine/s
## `$88`: `specialsound`
-## `$89`: `passtoengine` *data_pointer*
+## `$89`: <code>passtoengine <i>data_pointer</i></code>
-## `$8A`: `newloadmap` *which_method*
+## `$8A`: <code>newloadmap <i>which_method</i></code>
-## `$8B`: `pause` *length*
+## `$8B`: <code>pause <i>length</i></code>
-## `$8C`: `deactivatefacing` *length*
+## `$8C`: <code>deactivatefacing <i>length</i></code>
-## `$8D`: `priorityjump` *script*
+## `$8D`: <code>priorityjump <i>script</i></code>
## `$8E`: `warpcheck`
-## `$8F`: `ptpriorityjump` *script*
+## `$8F`: <code>ptpriorityjump <i>script</i></code>
## `$90`: `return`
## `$91`: `end`
-## `$92`: `reloadandreturn` *which_method*
+## `$92`: <code>reloadandreturn <i>which_method</i></code>
## `$93`: `end_all`
-## `$94`: `pokemart` *dialog_id*, *mart_id*
+## `$94`: <code>pokemart <i>dialog_id</i>, <i>mart_id</i></code>
-## `$95`: `elevator` *floor_list*
+## `$95`: <code>elevator <i>floor_list</i></code>
-## `$96`: `trade` *trade_id*
+## `$96`: <code>trade <i>trade_id</i></code>
-## `$97`: `askforphonenumber` *contact_id*
+## `$97`: <code>askforphonenumber <i>contact_id</i></code>
-## `$98`: `phonecall` *call_id*
+## `$98`: <code>phonecall <i>call_id</i></code>
## `$99`: `hangup`
-## `$9A`: `describedecoration` *byte*
+## `$9A`: <code>describedecoration <i>byte</i></code>
-## `$9B`: `fruittree` *tree_id*
+## `$9B`: <code>fruittree <i>tree_id</i></code>
-## `$9C`: `specialphonecall` *call_id*
+## `$9C`: <code>specialphonecall <i>call_id</i></code>
## `$9D`: `checkphonecall`
-## `$9E`: `verbosegiveitem` *item_id*[, *quantity*=1]
+## `$9E`: <code>verbosegiveitem <i>item_id</i>[, <i>quantity</i>=1]</code>
-## `$9F`: `verbosegiveitem2` *item_id*, *variable*
+## `$9F`: <code>verbosegiveitem2 <i>item_id</i>, <i>variable</i></code>
-## `$A0`: `swarm` *swarm_id*, *map*
+## `$A0`: <code>swarm <i>swarm_id</i>, <i>map</i></code>
## `$A1`: `halloffame`
## `$A2`: `credits`
-## `$A3`: `warpfacing` *facing*, *map*, *x*, *y*
+## `$A3`: <code>warpfacing <i>facing</i>, <i>map</i>, <i>x</i>, <i>y</i></code>
-## `$A4`: `battletowertext` *memory*
+## `$A4`: <code>battletowertext <i>memory</i></code>
-## `$A5`: `landmarktotext` *landmark_id*, *memory*
+## `$A5`: <code>landmarktotext <i>landmark_id</i>, <i>memory</i></code>
-## `$A6`: `trainerclassname` *trainer_group*, *memory*
+## `$A6`: <code>trainerclassname <i>trainer_group</i>, <i>memory</i></code>
-## `$A7`: `name` *type*, *id*, *memory*
+## `$A7`: <code>name <i>type</i>, <i>id</i>, <i>memory</i></code>
-## `$A8`: `wait` *duration*
+## `$A8`: <code>wait <i>duration</i></code>
## `$A9`: `check_save`
diff --git a/docs/images/hp_exp_bar_border.png b/docs/images/hp_exp_bar_border.png
index 9d16a042b..f0f5d31a6 100644
--- a/docs/images/hp_exp_bar_border.png
+++ b/docs/images/hp_exp_bar_border.png
Binary files differ
diff --git a/docs/images/hp_exp_bar_border_fix.png b/docs/images/hp_exp_bar_border_fix.png
index 02d36f8a0..26135576f 100644
--- a/docs/images/hp_exp_bar_border_fix.png
+++ b/docs/images/hp_exp_bar_border_fix.png
Binary files differ
diff --git a/docs/images/port.png b/docs/images/port.png
index 8a18aad7d..3e05e0da7 100644
--- a/docs/images/port.png
+++ b/docs/images/port.png
Binary files differ
diff --git a/docs/images/port_fix.png b/docs/images/port_fix.png
index 055a377a5..3156b065d 100644
--- a/docs/images/port_fix.png
+++ b/docs/images/port_fix.png
Binary files differ
diff --git a/docs/map_scripts.md b/docs/map_scripts.md
index c6b1c58ba..2302257e7 100644
--- a/docs/map_scripts.md
+++ b/docs/map_scripts.md
@@ -1,40 +1,55 @@
# Map Scripts
-## `const_value set 2`
+## <code>const_value set 2</code>
-- **`const` *`MAPNAME_OBJECTNAME`***
+<pre>
+ const <i>MAPNAME</i>_<i>OBJECTNAME</i>
+</pre>
-## `MapName_MapScriptHeader:`
+## <code>MapName_MapScripts:</code>
-## `.SceneScripts: db` *N*
+### <code>.SceneScripts: db <i>N</i></code>
-- **`scene_script` *script***
+<pre>
+ scene_script <i>script</i>
+</pre>
-## `.MapCallbacks: db` *N*
+### <code>.MapCallbacks: db <i>N</i></code>
-- **`dbw` *type*, *script***
+<pre>
+ callback <i>type</i>, <i>script</i>
+</pre>
Callback types:
-- **`MAPCALLBACK_NEWMAP`**
+- `MAPCALLBACK_NEWMAP`
-- **`MAPCALLBACK_TILES`**
+- `MAPCALLBACK_TILES`
-- **`MAPCALLBACK_OBJECTS`**
+- `MAPCALLBACK_OBJECTS`
-- **`MAPCALLBACK_SPRITES`**
+- `MAPCALLBACK_SPRITES`
-- **`MAPCALLBACK_CMDQUEUE`**
+- `MAPCALLBACK_CMDQUEUE`
- **`dbw CMDQUEUE_STONETABLE,` *table_pointer***
-
- **`stonetable` *warp_id*, *person*, *script***
-
- **`db -1 ; end`**
+<pre>
+ callback MAPCALLBACK_CMDQUEUE, .Boulders
+
+.Boulders:
+ writecmdqueue .BoulderCmdQueue
+ return
+
+.BoulderCmdQueue:
+ cmdqueue CMDQUEUE_STONETABLE, .BoulderTable
+
+.BoulderTable:
+ stonetable <i>warp_id</i>, <i>person</i>, <i>script</i>
+ db -1 ; end
+</pre>
## Event scripts
@@ -52,88 +67,106 @@ Callback types:
[Movement commands](movement_commands.md)
-## `MapName_MapEventHeader:`
+## <code>MapName_MapEvents:</code>
+```asm
; filler
db 0, 0
+```
-## `.Warps: db` *N*
+### <code>.Warps: db <i>N</i></code>
-- **`warp_def` *x*, *y*, *warp_id*, *map***
+<pre>
+ warp_def <i>x</i>, <i>y</i>, <i>warp_id</i>, <i>map</i>
+</pre>
-## `.CoordEvents: db` *N*
+### <code>.CoordEvents: db <i>N</i></code>
-- **`coord_event` *x*, *y*, *scene_id*, *script***
+<pre>
+ coord_event <i>x</i>, <i>y</i>, <i>scene_id</i>, <i>script</i>
+</pre>
-## `.BGEvents: db` *N*
+### <code>.BGEvents: db <i>N</i></code>
-- **`bg_event` *x*, *y*, *type*, *script***
+<pre>
+ bg_event <i>x</i>, <i>y</i>, <i>type</i>, <i>script</i>
+</pre>
BG event types:
-- **`BGEVENT_READ`**
+- `BGEVENT_READ`
-- **`BGEVENT_UP/DOWN/LEFT/RIGHT`**
+- `BGEVENT_UP/DOWN/LEFT/RIGHT`
-- **`BGEVENT_IFSET/IFNOTSET`**
+- `BGEVENT_IFSET/IFNOTSET`
- **`dw` *event_flag*, *script***
+<pre>
+ conditional_event <i>event_flag</i>, <i>script</i>
+</pre>
-- **`BGEVENT_ITEM`**
+- `BGEVENT_ITEM`
- **`dwb` *event_flag*, *item_id***
+<pre>
+ hiddenitem <i>event_flag</i>, <i>item_id</i>
+</pre>
-- **`BGEVENT_COPY`**
+- `BGEVENT_COPY`
-## `.ObjectEvents: db` *N*
+### <code>.ObjectEvents: db <i>N</i></code>
-- **`object_event` *x*, *y*, *sprite*, *movement*, *rx*, *ry*, *h1*, *h2*, *palette*, *type*, *range*, *script*, *event_flag***
+<pre>
+ object_event <i>x</i>, <i>y</i>, <i>sprite</i>, <i>movement</i>, <i>rx</i>, <i>ry</i>, <i>h1</i>, <i>h2</i>, <i>palette</i>, <i>type</i>, <i>range</i>, <i>script</i>, <i>event_flag</i>
+</pre>
Movement types:
-- **`SPRITEMOVEDATA_ITEM_TREE`**
+- `SPRITEMOVEDATA_ITEM_TREE`
-- **`SPRITEMOVEDATA_WANDER`**
+- `SPRITEMOVEDATA_WANDER`
-- **`SPRITEMOVEDATA_SPINRANDOM_SLOW`**
+- `SPRITEMOVEDATA_SPINRANDOM_SLOW`
-- **`SPRITEMOVEDATA_WALK_UP_DOWN`**
+- `SPRITEMOVEDATA_WALK_UP_DOWN`
-- **`SPRITEMOVEDATA_WALK_LEFT_RIGHT`**
+- `SPRITEMOVEDATA_WALK_LEFT_RIGHT`
-- **`SPRITEMOVEDATA_STANDING_UP/DOWN/LEFT/RIGHT`**
+- `SPRITEMOVEDATA_STANDING_UP/DOWN/LEFT/RIGHT`
-- **`SPRITEMOVEDATA_SPINRANDOM_FAST`**
+- `SPRITEMOVEDATA_SPINRANDOM_FAST`
-- **`SPRITEMOVEDATA_SNORLAX`**
+- `SPRITEMOVEDATA_SNORLAX`
-- **`SPRITEMOVEDATA_POKEMON`**
+- `SPRITEMOVEDATA_POKEMON`
-- **`SPRITEMOVEDATA_SUDOWOODO`**
+- `SPRITEMOVEDATA_SUDOWOODO`
-- **`SPRITEMOVEDATA_SMASHABLE_ROCK`**
+- `SPRITEMOVEDATA_SMASHABLE_ROCK`
-- **`SPRITEMOVEDATA_STRENGTH_BOULDER`**
+- `SPRITEMOVEDATA_STRENGTH_BOULDER`
-- **`SPRITEMOVEDATA_SPINCOUNTERCLOCKWISE`**
+- `SPRITEMOVEDATA_SPINCOUNTERCLOCKWISE`
-- **`SPRITEMOVEDATA_SPINCLOCKWISE`**
+- `SPRITEMOVEDATA_SPINCLOCKWISE`
-- **`SPRITEMOVEDATA_BIGDOLL`**
+- `SPRITEMOVEDATA_BIGDOLL`
-- **`SPRITEMOVEDATA_LAPRAS`**
+- `SPRITEMOVEDATA_LAPRAS`
Object types:
-- **`OBJECTTYPE_SCRIPT`**
+- `OBJECTTYPE_SCRIPT`
-- **`OBJECTTYPE_ITEMBALL`**
+- `OBJECTTYPE_ITEMBALL`
- **`itemball` *item_id***
+<pre>
+ itemball <i>item_id</i>
+</pre>
-- **`OBJECTTYPE_TRAINER`**
+- `OBJECTTYPE_TRAINER`
- **`trainer` *event_flag*, *group_id*, *trainer_id*, *seen_text*, *beaten_text*, *loss_text*, *script***
+<pre>
+ trainer <i>event_flag</i>, <i>group_id</i>, <i>trainer_id</i>, <i>seen_text</i>, <i>beaten_text</i>, <i>loss_text</i>, <i>script</i>
+</pre>
diff --git a/docs/menu.md b/docs/menu.md
new file mode 100644
index 000000000..71186a905
--- /dev/null
+++ b/docs/menu.md
@@ -0,0 +1,299 @@
+# Everything you've ever wanted to know about menus*
+
+**\* but were afraid to ask**
+
+
+## Contents
+
+- [ScrollingMenu](#scrollingmenu)
+- [\_2DMenu](#_2dmenu)
+- [DoNthMenu/SetUpMenu](#donthmenusetupmenu)
+- [VerticalMenu](#verticalmenu)
+- [Misc/Generic](#miscgeneric)
+
+
+## `ScrollingMenu`
+
+This is the only menu that does scrolling. It doesn't draw any `TextBox` around the menu.
+
+Structure:
+
+```asm
+.MenuDataHeader:
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 2, 4, SCREEN_WIDTH - 1, 13
+ dw .MenuData2
+ db 1 ; default option
+
+.MenuData2:
+ db 0 ; flags
+ db 5, 0 ; rows, columns
+ db 1 ; horizontal spacing
+ dba Items
+ dba Function1
+ dba Function2
+ dba Function3
+```
+
+`wMenuData2Flags`:
+
+```
+7: Select is functional
+6: Start is functional
+5: Call Function3
+4: Show arrows on the right-hand side
+3: D-Left is functional
+2: D-Right is functional
+1: Call Function3 only if [wSwitchItem] is 0
+0: Call Function1 to display the cancel entry
+```
+
+If the columns entry in `MenuDataHeader2` of a scrolling menu is 0, `Function2` isn't called either. It doesn't affect the position of the arrows.
+
+Call state for functions in `MenuDataHeader2` of `ScrollingMenu`:
+
+```
+All of them:
+[MenuSelection] = Current item. -1 is the CANCEL item.
+[MenuSelectionQuantity] = Quantity of the current item.
+
+Function1: Called to display a menu entry.
+de = Cursor position in TileMap
+
+Function2: Called to display the quantity of a menu entry.
+de = Cursor position in TileMap + columns
+
+Function3: Called to display anything else, whenever the cursor is moved.
+```
+
+There is no register of importance that should be preserved in any of these functions.
+
+The `; horizontal spacing` item in each `MenuData2` is a misnomer. It changes how the `Items` struct looks.
+
+If it's 1:
+
+```
+db entries not including cancel
+db entry1
+db entry2
+db -1 ; cancel
+...
+```
+
+If it's 2:
+
+```
+db entries not including cancel
+db entry1, quantity1
+db entry2, quantity2
+db -1 ; cancel
+...
+```
+
+In case it's 1, `[MenuSelectionQuantity]` will simply contain the next entry.
+
+## `_2DMenu`
+
+This, like is implied by the name, is a 2-dimensional menu, where you can move your cursor in all 4 directions. It's only used for the battle menus as well as Earl's academy.
+
+Structure:
+
+```asm
+.MenuDataHeader:
+ db MENU_BACKUP_TILES ; flags
+ db 12, 08 ; start coords
+ db 17, 19 ; end coords
+ dw .MenuData2
+ db 1 ; default option
+
+.MenuData2:
+ db STATICMENU_CURSOR ; flags
+ dn 2, 2 ; rows, columns
+ db 6 ; spacing
+ dba Strings
+ dba Function
+```
+
+`wMenuData2Flags`:
+
+```
+7: Leave one tile of spacing between the left textbox border and the text, enabling the cursor.
+6: Don't leave one tile of spacing between the top textbox border and the text
+5: Set bits 4 and 5 in w2DMenuFlags1 (Wrap around horizontally and vertically)
+4: Unused
+3: Unused
+2: Unused
+1: Select is functional
+0: Disable B button
+```
+
+The bank for the `Strings` is generated when you call `_2DMenu`, and as such it doesn't really matter what bank you specify there (unless you callba `_2DMenu_` directly, of course).
+
+`; spacing` is not a misnomer here, it's used to define how much space there is between columns.
+
+`Function` is called after printing all the strings. `hl` will be pointed at the row below the last in the menu in `TileMap`. We don't know of its purpose, since it's never actually used anywhere. Only the bank number is always set to the same bank as the menu, but not used otherwise, since the address is 0.
+
+
+## `DoNthMenu`/`SetUpMenu`
+
+These are like the regular `VerticalMenu`, except they allow for creating slightly more "dynamic" menus, where the options aren't predefined, much like the `ScrollingMenu`.
+
+Structure:
+
+```
+.MenuDataHeader:
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, 10, 7
+ dw .MenuData2
+ db 1 ; default option
+
+.MenuData2:
+ db STATICMENU_CURSOR | STATICMENU_DISABLE_B ; flags
+ db 0 ; items
+ dw Items
+ dw DisplayFunction
+ dw StringPointers
+```
+
+`wMenuData2Flags`:
+
+```
+7: Unused
+6: Unused
+5: Set bit 5 in w2DMenuFlags1 (Wrap around vertically)
+4: Unused
+3: Start is functional
+2: D-left and D-right are functional
+1: Unused
+0: Unused
+```
+
+The `; items` entry should be left empty, as it's autogenerated with the `Items` array in `GetMenuIndexSet`.
+
+The bottom coord (`07` in the example) is autogenerated regardless of what you specify when building the MenuBox in `AutomaticGetMenuBottomCoord`, which also calculates the `bc` passed to MenuBox, which is useless because it's calculated again by MenuBox in `GetMenuBoxDims`.
+
+`[wWhichIndexSet]` decides which menu is used through `GetMenuIndexSet`. You can define multiple menus at the Items pointer as such:
+
+```
+Items:
+db entries not including cancel
+db entry1, entry2, entry3
+db -1 ; cancel
+db entries not including cancel for 2nd menu
+db entry1, entry2, entry3, entry4
+db -1 ; cancel
+```
+
+This is actively used in `MainMenu`.
+
+`StringPointers` isn't handled by `DoNthMenu` internally. It's handled by different `DisplayFunction`s. A custom one could choose to completely ignore it.
+
+`StringPointers` struct handled through `PlaceNthMenuStrings` as `DisplayFunction` and `MenuJumptable`:
+
+```asm
+StringPointers:
+ dw FunctionToCall, PointerToString ; index 1
+ dw FunctionToCall, PointerToString ; index 2
+...
+```
+
+`StringPointers` struct handled through `PlaceMenuStrings`:
+
+```asm
+StringPointers:
+ db "STRING1@"
+ db "STRING2@"
+...
+```
+
+Call state for `DisplayFunction`:
+```
+[MenuSelection] = Current item. -1 is the CANCEL item.
+de = Cursor position in TileMap
+```
+
+## `VerticalMenu`
+
+This is the simplest menu. Like, the most boring. Nothing special. Just normal. …nooooooormal…
+
+Structure:
+
+```asm
+.MenuDataHeader:
+ db MENU_SPRITE_ANIMS | MENU_BACKUP_TILES ; flags
+ menu_coords 12, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
+ dw .MenuData2
+ db 1 ; default option
+
+.MenuData2:
+ db STATICMENU_CURSOR ; flags
+ db 2 ; # items
+ db "GIVE@"
+ db "TAKE@"
+```
+
+`wMenuData2Flags`:
+
+```
+7: Leave one tile of spacing between the left textbox border and the text
+6: Don't leave one tile of spacing between the top textbox border and the text
+5: Set bit 5 in w2DMenuFlags1 (Wrap around vertically)
+4: Place menubox "title". See notes.
+3: Unused
+2: Unused
+1: Select is functional
+0: Disable B button
+```
+
+If bit 4 is set, a string at the end of the items array will be put at an offset from the start coord of the menu box. This string is defined like this:
+
+```asm
+ db 2 ; # items
+ db "GIVE@"
+ db "TAKE@"
+ db 2 ; x offset
+ db "TEST@"
+```
+
+This is used in the menu for selecting the character's name.
+
+## Misc/Generic
+
+`MenuDataHeader` flags (`wMenuFlags`):
+
+```
+7: Save a backup of the tiles
+6: Save a backup of the tiles
+5: Unused
+4: Set bit 6 in w2DMenuFlags1 (Enable sprite animations)
+3: Disable click sound
+2: Unused
+1: Unused
+0: Call RestoreTileBackup when exiting the menu. This bit depends on whether bit 6 or 7 are set.
+```
+
+`w2DMenuFlags1`:
+
+```
+7: Disable checking of wMenuJoypadFilter
+6: Enable sprite animations
+5: Wrap around vertically
+4: Wrap around horizontally
+3: Set bit 7 in w2DMenuFlags2 and exit the loop if bit 5 is disabled and we tried to go too far down
+2: Set bit 7 in w2DMenuFlags2 and exit the loop if bit 5 is disabled and we tried to go too far up
+1: Set bit 7 in w2DMenuFlags2 and exit the loop if bit 4 is disabled and we tried to go too far left
+0: Set bit 7 in w2DMenuFlags2 and exit the loop if bit 4 is disabled and we tried to go too far right
+```
+
+`w2DMenuFlags2`:
+
+```
+7: ?????
+6: ?????
+5: ?????
+4: ?????
+3: ?????
+2: ?????
+1: ?????
+0: ?????
+```
diff --git a/docs/move_effect_commands.md b/docs/move_effect_commands.md
index b8b09c5c2..a7a779123 100644
--- a/docs/move_effect_commands.md
+++ b/docs/move_effect_commands.md
@@ -1,6 +1,6 @@
# Move Effect Commands
-Defined in [macros/scripts/battle_commands.asm](/macros/scripts/battle_commands.asm) and [data/battle_command_pointers.asm:BattleCommandPointers](/data/battle_command_pointers.asm).
+Defined in [macros/scripts/battle_commands.asm](/macros/scripts/battle_commands.asm) and [data/battle/effect_command_pointers.asm:BattleCommandPointers](/data/battle/effect_command_pointers.asm).
## `$01`: `checkturn`
diff --git a/docs/movement_commands.md b/docs/movement_commands.md
index 56b55f53e..10792c88b 100644
--- a/docs/movement_commands.md
+++ b/docs/movement_commands.md
@@ -3,33 +3,33 @@
Defined in [macros/scripts/movement.asm](/macros/scripts/movement.asm) and [engine/movement.asm:MovementPointers](/engine/movement.asm).
-## `$00`−`$03`: `turn_head` *direction*
+## `$00`−`$03`: <code>turn_head <i>direction</i></code>
-## `$04`−`$07`: `turn_step` *direction*
+## `$04`−`$07`: <code>turn_step <i>direction</i></code>
-## `$08`−`$0B`: `slow_step` *direction*
+## `$08`−`$0B`: <code>slow_step <i>direction</i></code>
-## `$0C`−`$0F`: `step` *direction*
+## `$0C`−`$0F`: <code>step <i>direction</i></code>
-## `$10`−`$13`: `big_step` *direction*
+## `$10`−`$13`: <code>big_step <i>direction</i></code>
-## `$14`−`$17`: `slow_slide_step` *direction*
+## `$14`−`$17`: <code>slow_slide_step <i>direction</i></code>
-## `$18`−`$1B`: `slide_step` *direction*
+## `$18`−`$1B`: <code>slide_step <i>direction</i></code>
-## `$1C`−`$1F`: `fast_slide_step` *direction*
+## `$1C`−`$1F`: <code>fast_slide_step <i>direction</i></code>
-## `$20`−`$23`: `turn_away` *direction*
+## `$20`−`$23`: <code>turn_away <i>direction</i></code>
-## `$24`−`$27`: `turn_in` *direction*
+## `$24`−`$27`: <code>turn_in <i>direction</i></code>
-## `$28`−`$2B`: `turn_waterfall` *direction*
+## `$28`−`$2B`: <code>turn_waterfall <i>direction</i></code>
-## `$2C`−`$2F`: `slow_jump_step` *direction*
+## `$2C`−`$2F`: <code>slow_jump_step <i>direction</i></code>
-## `$30`−`$33`: `jump_step` *direction*
+## `$30`−`$33`: <code>jump_step <i>direction</i></code>
-## `$34`−`$37`: `fast_jump_step` *direction*
+## `$34`−`$37`: <code>fast_jump_step <i>direction</i></code>
## `$38`: `remove_sliding`
@@ -43,11 +43,11 @@ Defined in [macros/scripts/movement.asm](/macros/scripts/movement.asm) and [engi
## `$3D`: `hide_object`
-## `$3E`−`$46`: `step_sleep` *length*
+## `$3E`−`$46`: <code>step_sleep <i>length</i></code>
## `$47`: `step_end`
-## `$48`: `step_48` *param*
+## `$48`: <code>step_48 <i>param</i></code>
## `$49`: `remove_object`
@@ -61,7 +61,7 @@ Defined in [macros/scripts/movement.asm](/macros/scripts/movement.asm) and [engi
## `$4E`: `skyfall`
-## `$4F`: `step_dig` *length*
+## `$4F`: <code>step_dig <i>length</i></code>
## `$50`: `step_bump`
@@ -73,12 +73,12 @@ Defined in [macros/scripts/movement.asm](/macros/scripts/movement.asm) and [engi
## `$54`: `show_emote`
-## `$55`: `step_shake` *displacement*
+## `$55`: <code>step_shake <i>displacement</i></code>
## `$56`: `tree_shake`
-## `$57`: `rock_smash` *length*
+## `$57`: <code>rock_smash <i>length</i></code>
-## `$58`: `return_dig` *length*
+## `$58`: <code>return_dig <i>length</i></code>
## `$59`: `skyfall_top`
diff --git a/docs/music_commands.md b/docs/music_commands.md
index 7f7bd8b32..3329f8df1 100644
--- a/docs/music_commands.md
+++ b/docs/music_commands.md
@@ -5,27 +5,32 @@ Defined in [macros/scripts/audio.asm](/macros/scripts/audio.asm) and [audio/engi
*See also: [Sound Engine Commands](https://github.com/pret/pokecrystal/wiki/Sound-Engine-Commands)*
-## `musicheader` *n*, *index*, *address*
+## <code>musicheader <i>n</i>, <i>index</i>, <i>address</i></code>
-## `note` *pitch*, *length*
+
+## <code>note <i>pitch</i>, <i>length</i></code>
(Used on all channels)
The high nibble is the note to play. 0 is rest, 1 is `C_`, 2 is `C#`, etc; `$C` is `B_`.
The low nibble is the length of the note. 1 gets added to this, so 0 still has a length.
-## `sound` *pitch*, *octave*, *intensity*, *frequency*
-## `noise` *pitch*, *duration*, *intensity*, *frequency*
+## <code>sound <i>pitch</i>, <i>octave</i>, <i>intensity</i>, <i>frequency</i></code>
+
+
+## <code>noise <i>pitch</i>, <i>duration</i>, <i>intensity</i>, <i>frequency</i></code>
-## `$D0`−`$D7`: `octave` *n*
+
+## `$D0`−`$D7`: <code>octave <i>n</i></code>
(Used in channels 1-3)
Sets the octave for the notes played on the channel.
`$D7` is the lowest octave, whereas `$D0` is the highest.
-## `$D8`: `notetype` *length*[, *intensity*]
+
+## `$D8`: <code>notetype <i>length</i>[, <i>intensity</i>]</code>
(Used in channels 1-4) (When using in channel 4, the *intensity* byte is not needed)
@@ -34,7 +39,8 @@ The first byte only reads the lower 4 bits, and multiplies it by the note length
The second byte is identical to the first byte in the `intensity` command.
-## `$D9`: `pitchoffset` *octave*, *key*
+
+## `$D9`: <code>pitchoffset <i>octave</i>, <i>key</i></code>
(Used in channels 1-3)
@@ -42,7 +48,8 @@ Transposes all notes played on the channel by a value.
The high nibble determins how many octaves to subtract, while the low nibble is how many note values to add.
Ex: Setting a value of `$13` would make a `C_`4 play as a `D#`3.
-## `$DA`: `tempo` *tempo*
+
+## `$DA`: <code>tempo <i>tempo</i></code>
(Used in channel 1)
@@ -53,7 +60,8 @@ This formula also works backwards to convert BPM to tempo: Tempo = 19200 / BPM
Only set or change this value when all playing channels are triggering a note or rest at the same time, otherwise desyncs may happen.
-## `$DB`: `dutycycle` *duty_cycle*
+
+## `$DB`: <code>dutycycle <i>duty_cycle</i></code>
(Used on channels 1&2)
@@ -64,7 +72,8 @@ Sets the square duty (sound) for the current channel. To change the sound for ch
- 2 = 50% waveform: `____¯¯¯¯`
- 3 = 75% waveform: `__¯¯¯¯¯¯` (sounds the same as 25%)
-## `$DC`: `intensity` *intensity*
+
+## `$DC`: <code>intensity <i>intensity</i></code>
(Used on channels 1-3) (Used to set instrument on channel 3)
@@ -74,9 +83,11 @@ This sets the volume and fade of the notes. The high nibble is the starting volu
For channel 3:
The high nibble sets the volume of channel 3. Only 4 values are accepted (0=Mute, 1=100% volume, 2=50% volume, 3=25% volume). The low nibble sets the instrument/waveform for channel 3 to play. Crystal natively has 10 instruments, values 0-9.
-## `$DD`: `soundinput` *input*
-## `$DE`: `sound_duty` *a*, *b*, *c*, *d*
+## `$DD`: <code>soundinput <i>input</i></code>
+
+
+## `$DE`: <code>sound_duty <i>a</i>, <i>b</i>, <i>c</i>, <i>d</i></code>
(Used on channels 1&2)
@@ -84,9 +95,11 @@ This cycles the channel through 4 duty definitions, one per frame.
Each pair of bits defines a duty, same as the `dutycycle` command.
This is mostly only used in cries, SFX, and Jigglypuff's song in RBY.
+
## `$DF`: `togglesfx`
-## `$E0`: `slidepitchto` *duration*, *octave*, *pitch*
+
+## `$E0`: <code>slidepitchto <i>duration</i>, <i>octave</i>, <i>pitch</i></code>
(Used on channel 1)
@@ -95,7 +108,8 @@ The first byte tells how many frames to play the destination note for, before th
The high nibble of the second byte is the octave of the destination note.
The low nibble of the second byte is the destination note. If rest is used as the destination note, then the whole destination pitch becomes `$0000` (the lowest pitch).
-## `$E1`: `vibrato` *delay*, *extent*
+
+## `$E1`: <code>vibrato <i>delay</i>, <i>extent</i></code>
(Used on channels 1-3)
@@ -105,20 +119,23 @@ Second byte, high nibble is the speed timer. It will decrement by one each frame
Second byte, low nibble is the pitch depth. Half of this value will alternate between adding to the pitch, and subtracting from the pitch each time speed timer resets. When this is an odd number, the value added to the pitch will be greater than the value subtracted from the pitch.
Ex: normal pitch of 405, if pitch depth = 3, it will alternate between 407 and 404. Speed timer does NOT reset when a new note is played. only when the song stops or changes. (Also, because a timer counts 0, a timer of 5 will take 6 frames to change.)
-## `$E2`: `unknownmusic0xe2` *unknown*
-## `$E3`: `togglenoise` *id*
+## `$E2`: <code>unknownmusic0xe2 <i>unknown</i></code>
+
+
+## `$E3`: <code>togglenoise <i>id</i></code>
(Used on channel 4)
Sets the "drum kit" to be used. This needs to be called before channel 4 can make any noise.
Calling it more than once in a song will mute the channel. (Keep it out of loops!)
-## `$E4`: `panning` *tracks*
-## `$E5`: `volume` *volume*
+## `$E4`: <code>panning <i>tracks</i></code>
-## `$E6`: `tone` *tone*
+## `$E5`: <code>volume <i>volume</i></code>
+
+## `$E6`: <code>tone <i>tone</i></code>
(Used on channel 1-3)
@@ -126,52 +143,77 @@ This modifies the pitch of the notes (fine tuning).
It makes notes sound better if multiple channels play the same note simultaneously.
A lot of GSC songs set the main melody channel with a value of 1, and the secondary channel (not bass) as 2.
-## `$E7`: `unknownmusic0xe7` *unknown*
-## `$E8`: `unknownmusic0xe8` *unknown*
+## `$E7`: <code>unknownmusic0xe7 <i>unknown</i></code>
+
+
+## `$E8`: <code>unknownmusic0xe8 <i>unknown</i></code>
+
+
+## `$E9`: <code>tempo_relative <i>value</i></code>
-## `$E9`: `tempo_relative` *value*
-## `$EA`: `restartchannel` *address*
+## `$EA`: <code>restartchannel <i>address</i></code>
-## `$EB`: `newsong` *id*
-## `$EC`: `sfxpriorityon`
+## `$EB`: <code>newsong <i>id</i></code>
-## `$ED`: `sfxpriorityoff`
-## `$EE`: `unknownmusic0xee` *address*
+## `$EC`: <code>sfxpriorityon</i></code>
-## `$EF`: `stereopanning` *tracks*
-## `$F0`: `sfxtogglenoise` *id*
+## `$ED`: <code>sfxpriorityoff</i></code>
+
+
+## `$EE`: <code>unknownmusic0xee <i>address</i></code>
+
+
+## `$EF`: <code>stereopanning <i>tracks</i></code>
+
+
+## `$F0`: <code>sfxtogglenoise <i>id</i></code>
+
## `$F1`: `music0xf1`
+
## `$F2`: `music0xf2`
+
## `$F3`: `music0xf3`
+
## `$F4`: `music0xf4`
+
## `$F5`: `music0xf5`
+
## `$F6`: `music0xf6`
+
## `$F7`: `music0xf7`
+
## `$F8`: `music0xf8`
+
## `$F9`: `unknownmusic0xf9`
-## `$FA`: `setcondition` *condition*
-## `$FB`: `jumpif` *condition*, *address*
+## `$FA`: <code>setcondition <i>condition</i></code>
+
+
+## `$FB`: <code>jumpif <i>condition</i>, <i>address</i></code>
+
+
+## `$FC`: <code>jumpchannel <i>address</i></code>
+
+
+## `$FD`: <code>loopchannel <i>count</i>, <i>address</i></code>
-## `$FC`: `jumpchannel` *address*
-## `$FD`: `loopchannel` *count*, *address*
+## `$FE`: <code>callchannel <i>address</i></code>
-## `$FE`: `callchannel` *address*
## `$FF`: `endchannel`
diff --git a/docs/pic_animations.md b/docs/pic_animations.md
index ba11a1dc1..1075eb25b 100644
--- a/docs/pic_animations.md
+++ b/docs/pic_animations.md
@@ -5,9 +5,9 @@ Defined in [macros/scripts/gfx_anims.asm](/macros/scripts/gfx_anims.asm).
Pic animations are assembled in 3 parts:
- Top-level animations:
- - `frame` *#*, *duration*: Frame 0 is the original pic (no change)
- - `setrepeat` *#*: Sets the number of times to repeat
- - `dorepeat` *#*: Repeats from command *#* (starting from 0)
+ - <code>frame <i>N</i>, <i>duration</i></code>: Frame #0 is the original pic (no change)
+ - <code>setrepeat <i>N</i></code>: Sets the number of times to repeat
+ - <code>dorepeat <i>I</i></code>: Repeats from command #<i>I</i> (starting from 0)
- `end`
- Bitmasks:
diff --git a/docs/text_commands.md b/docs/text_commands.md
index b198d405d..5c797d828 100644
--- a/docs/text_commands.md
+++ b/docs/text_commands.md
@@ -3,32 +3,32 @@
Defined in [macros/scripts/text.asm](/macros/scripts/text.asm) and [home/text.asm:TextCommands](/home/text.asm).
-## `$00`: `text` *text*
+## `$00`: <code>text <i>text</i></code>
Start writing text until `"@"`.
-## `$4E`: `next` *text*
+## `$4E`: <code>next <i>text</i></code>
Move a line down.
-## `$4F`: `line` *text*
+## `$4F`: <code>line <i>text</i></code>
Start writing at the bottom line.
-## `$50`: `page` *text*
+## `$50`: <code>page <i>text</i></code>
Start a new Pokédex page.
-## `$51`: `para` *text*
+## `$51`: <code>para <i>text</i></code>
Start a new paragraph.
-## `$55`: `cont` *text*
+## `$55`: <code>cont <i>text</i></code>
Scroll to the next line.
@@ -43,24 +43,24 @@ End a text box.
Prompt the player to end a text box (initiating some other event).
-## `$01`: `text_from_ram` *address*
+## `$01`: <code>text_from_ram <i>address</i></code>
Write text from a RAM address.
-## `$02`: `text_bcd` *address*, *flags*
+## `$02`: <code>text_bcd <i>address</i>, <i>flags</i></code>
Write [BCD][bcd] from an address, typically RAM.
[bcd]: https://en.wikipedia.org/wiki/Binary-coded_decimal
-## `$03`: `text_move` *address*
+## `$03`: <code>text_move <i>address</i></code>
Move to a new tile.
-## `$04`: `text_box` *address*, *height*, *width*
+## `$04`: <code>text_box <i>address</i>, <i>height</i>, <i>width</i></code>
Draw a box.
@@ -86,7 +86,7 @@ first character column of the text box.
Start interpreting assembly code.
-## `$09`: `deciram` *address*, *bytes*, *digits*
+## `$09`: <code>deciram <i>address</i>, <i>bytes</i>, <i>digits</i></code>
Read *bytes* bytes from *address* and print them as a *digits*-digit number.
@@ -101,9 +101,9 @@ Exit.
Play `SFX_DEX_FANFARE_50_79`.
-## `$0C`: `limited_interpret_data` *number*
+## `$0C`: <code>limited_interpret_data <i>n</i></code>
-Print *number* `"…"`s.
+Print *n* `"…"`s.
## `$0D`: `link_wait_button`
@@ -141,9 +141,9 @@ Play `SFX_FANFARE`.
Play `SFX_SLOT_MACHINE_START`.
-## `$14`: `text_buffer` *id*
+## `$14`: <code>text_buffer <i>id</i></code>
-Write text from one of the following addresses (listed in `StringBufferPointers`):
+Write text from one of the following addresses (listed in [data/text_buffers.asm](/data/text_buffers.asm)):
0. `StringBuffer3`
1. `StringBuffer4`
@@ -159,6 +159,11 @@ Write text from one of the following addresses (listed in `StringBufferPointers`
Print the weekday.
-## `$16`: `text_jump` *address*
+## `$16`: <code>text_jump <i>address</i></code>
Write text from a different bank.
+
+
+## `$00`: `text_start`
+
+Start writing regular text again after a special command.
diff --git a/engine/battle/ai/items.asm b/engine/battle/ai/items.asm
index 09595077a..d0867fb33 100644
--- a/engine/battle/ai/items.asm
+++ b/engine/battle/ai/items.asm
@@ -291,7 +291,7 @@ AI_Items: ; 39196
dbw X_DEFEND, .XDefend
dbw X_SPEED, .XSpeed
dbw X_SPECIAL, .XSpecial
- db $ff
+ db -1 ; end
; 381be
.FullHeal: ; 381be
diff --git a/engine/battle/ai/move.asm b/engine/battle/ai/move.asm
index 11586c0da..7ccb20972 100755
--- a/engine/battle/ai/move.asm
+++ b/engine/battle/ai/move.asm
@@ -56,7 +56,7 @@ AIChooseMove: ; 440ce
inc hl
ld a, [de]
inc de
- and $3f
+ and PP_MASK
jr nz, .CheckMovePP
ld [hl], 80
jr .CheckMovePP
@@ -92,7 +92,7 @@ AIChooseMove: ; 440ce
push bc
ld d, BANK(TrainerClassAttributes)
- predef FlagPredef
+ predef SmallFarFlagAction
ld d, c
pop bc
@@ -186,7 +186,7 @@ AIChooseMove: ; 440ce
.ChooseMove:
ld hl, Buffer1
call Random
- and 3
+ maskbits NUM_MOVES
ld c, a
ld b, 0
add hl, bc
diff --git a/engine/battle/ai/scoring.asm b/engine/battle/ai/scoring.asm
index 44194d6f7..73284435a 100644
--- a/engine/battle/ai/scoring.asm
+++ b/engine/battle/ai/scoring.asm
@@ -68,7 +68,7 @@ AI_Basic: ; 38591
db EFFECT_TOXIC
db EFFECT_POISON
db EFFECT_PARALYZE
- db $ff
+ db -1 ; end
; 385e0
@@ -400,7 +400,7 @@ AI_Smart: ; 386be
dbw EFFECT_SOLARBEAM, AI_Smart_Solarbeam
dbw EFFECT_THUNDER, AI_Smart_Thunder
dbw EFFECT_FLY, AI_Smart_Fly
- db $ff
+ db -1 ; end
; 387e3
@@ -1553,7 +1553,7 @@ AI_Smart_Encore: ; 38c3b
db AEROBLAST
db COTTON_SPORE
db POWDER_SNOW
- db $ff
+ db -1 ; end
; 38ca4
@@ -2214,7 +2214,7 @@ AI_Smart_Sandstorm: ; 38f7a
db ROCK
db GROUND
db STEEL
- db $ff
+ db -1 ; end
; 38fac
@@ -2533,7 +2533,7 @@ RainDanceMoves: ; 390e7
db CRABHAMMER
db OCTAZOOKA
db WHIRLPOOL
- db $ff
+ db -1 ; end
; 390f3
@@ -2622,7 +2622,7 @@ SunnyDayMoves: ; 39134
db SACRED_FIRE
db MORNING_SUN
db SYNTHESIS
- db $ff
+ db -1 ; end
; 3913d
@@ -3125,7 +3125,7 @@ UsefulMoves: ; 39301
db FIRE_BLAST
db SOFTBOILED
db SUPER_FANG
- db $ff
+ db -1 ; end
; 39315
@@ -3209,7 +3209,7 @@ AI_Opportunist: ; 39315
db CONVERSION
db SUBSTITUTE
db FLAME_WHEEL
- db $ff
+ db -1 ; end
; 39369
@@ -3324,7 +3324,7 @@ AI_Aggressive: ; 39369
db EFFECT_RAMPAGE
db EFFECT_MULTI_HIT
db EFFECT_DOUBLE_HIT
- db $ff
+ db -1 ; end
; 393e7
@@ -3350,7 +3350,7 @@ AIDamageCalc: ; 393e7
db EFFECT_STATIC_DAMAGE
db EFFECT_LEVEL_DAMAGE
db EFFECT_PSYWAVE
- db $ff
+ db -1 ; end
; 39418
@@ -3406,7 +3406,7 @@ AI_Cautious: ; 39418
db CONVERSION
db SUBSTITUTE
db SPIKES
- db $ff
+ db -1 ; end
; 39453
@@ -3544,7 +3544,7 @@ endr
.RiskyMoves:
db EFFECT_SELFDESTRUCT
db EFFECT_OHKO
- db $ff
+ db -1 ; end
; 39502
diff --git a/engine/battle/battle_transition.asm b/engine/battle/battle_transition.asm
index 85ba44072..452339e81 100644
--- a/engine/battle/battle_transition.asm
+++ b/engine/battle/battle_transition.asm
@@ -1,4 +1,4 @@
-Predef_StartBattle: ; 8c20f
+DoBattleTransition: ; 8c20f
call .InitGFX
ld a, [rBGP]
ld [wBGP], a
@@ -16,14 +16,14 @@ Predef_StartBattle: ; 8c20f
ld a, [wJumptableIndex]
bit 7, a
jr nz, .done
- call FlashyTransitionToBattle
+ call BattleTransitionJumptable
call DelayFrame
jr .loop
.done
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld hl, wBGPals1
@@ -44,7 +44,7 @@ Predef_StartBattle: ; 8c20f
ld [hLYOverrideEnd], a
ld [hSCY], a
- ld a, $1
+ ld a, 1 ; unnecessary bankswitch?
ld [rSVBK], a
pop af
ld [hVBlank], a
@@ -116,7 +116,7 @@ LoadTrainerBattlePokeballTiles:
ConvertTrainerBattlePokeballTilesTo2bpp: ; 8c2cf
ld a, [rSVBK]
push af
- ld a, $6
+ ld a, BANK(wDecompressScratch)
ld [rSVBK], a
push hl
ld hl, wDecompressScratch
@@ -144,7 +144,7 @@ TrainerBattlePokeballTiles: ; 8c2f4
INCBIN "gfx/overworld/trainer_battle_pokeball_tiles.2bpp"
-FlashyTransitionToBattle: ; 8c314
+BattleTransitionJumptable: ; 8c314
jumptable .dw, wJumptableIndex
; 8c323
@@ -298,7 +298,7 @@ StartTrainerBattle_Flash: ; 8c3ab (23:43ab)
StartTrainerBattle_SetUpForWavyOutro: ; 8c3e8 (23:43e8)
farcall Function5602
- ld a, $5 ; BANK(LYOverrides)
+ ld a, BANK(LYOverrides)
ld [rSVBK], a
call StartTrainerBattle_NextScene
@@ -356,7 +356,7 @@ StartTrainerBattle_SineWave: ; 8c408 (23:4408)
StartTrainerBattle_SetUpForSpinOutro: ; 8c43d (23:443d)
farcall Function5602
- ld a, $5 ; BANK(LYOverrides)
+ ld a, BANK(LYOverrides)
ld [rSVBK], a
call StartTrainerBattle_NextScene
xor a
@@ -498,7 +498,7 @@ ENDM
StartTrainerBattle_SetUpForRandomScatterOutro: ; 8c578 (23:4578)
farcall Function5602
- ld a, $5 ; BANK(LYOverrides)
+ ld a, BANK(LYOverrides)
ld [rSVBK], a
call StartTrainerBattle_NextScene
ld a, $10
@@ -589,7 +589,7 @@ StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc)
dec b
jr nz, .loop
- call .loadpokeballgfx ; ld a, [OtherTrainerClass] \ ld de, PokeBallTransition \ ret
+ call .loadpokeballgfx
hlcoord 2, 1
ld b, SCREEN_WIDTH - 4
@@ -640,14 +640,14 @@ StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc)
.cgb
ld hl, .daypals
ld a, [TimeOfDayPal]
- and (1 << 2) - 1
- cp 3
+ maskbits NUM_DAYTIMES
+ cp DARKNESS_F
jr nz, .daytime
ld hl, .nightpals
.daytime
ld a, [rSVBK]
push af
- ld a, $5 ; WRAM5 = palettes
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
call .copypals
push hl
@@ -691,17 +691,12 @@ StartTrainerBattle_LoadPokeBallGraphics: ; 8c5dc (23:45dc)
; 8c6a1 (23:46a1)
.daypals ; 8c6a1
- RGB 31, 18, 29
- RGB 31, 11, 15
- RGB 31, 05, 05
- RGB 07, 07, 07
+INCLUDE "gfx/overworld/trainer_battle_day.pal"
; 8c6a9
.nightpals ; 8c6a9
- RGB 31, 18, 29
- RGB 31, 05, 05
- RGB 31, 05, 05
- RGB 31, 05, 05
+INCLUDE "gfx/overworld/trainer_battle_nite.pal"
+; 8c6b1
.loadpokeballgfx
ld a, [OtherTrainerClass]
@@ -729,7 +724,7 @@ PokeBallTransition:
WipeLYOverrides: ; 8c6d8
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(LYOverrides)
ld [rSVBK], a
ld hl, LYOverrides
@@ -754,22 +749,23 @@ WipeLYOverrides: ; 8c6d8
StartTrainerBattle_DrawSineWave: ; 8c6f7 (23:46f7)
- and (1 << 6) - 1
- cp 1 << 5
- jr nc, .okay
- call .DoSineWave
+; a = d * sin(a * pi/32)
+ and %111111
+ cp %100000
+ jr nc, .negative
+ call .ApplySineWave
ld a, h
ret
-.okay
- and (1 << 5) - 1
- call .DoSineWave
+.negative
+ and %011111
+ call .ApplySineWave
ld a, h
- xor -1 ; cpl
+ xor $ff
inc a
ret
-.DoSineWave: ; 8c70c (23:470c)
+.ApplySineWave: ; 8c70c (23:470c)
ld e, a
ld a, d
ld d, 0
@@ -780,15 +776,15 @@ StartTrainerBattle_DrawSineWave: ; 8c6f7 (23:46f7)
inc hl
ld d, [hl]
ld hl, 0
-.loop
+.multiply
srl a
- jr nc, .skip
+ jr nc, .even
add hl, de
-.skip
+.even
sla e
rl d
and a
- jr nz, .loop
+ jr nz, .multiply
ret
; 8c728 (23:4728)
@@ -863,8 +859,7 @@ ENDM
ret
; 8c7c9 (23:47c9)
-Function8c7c9:
-; XXX
+Unreferenced_Function8c7c9:
ld a, $1
ld [hBGMapMode], a
call WaitBGMap
diff --git a/engine/battle/checkbattlescene.asm b/engine/battle/checkbattlescene.asm
index b63f00907..a33cc62e3 100644
--- a/engine/battle/checkbattlescene.asm
+++ b/engine/battle/checkbattlescene.asm
@@ -1,7 +1,7 @@
CheckBattleScene: ; 4ea44
; Return carry if battle scene is turned off.
- ld a, 0
+ ld a, BANK(wLinkMode)
ld hl, wLinkMode
call GetFarWRAMByte
cp LINK_MOBILE
@@ -19,9 +19,9 @@ CheckBattleScene: ; 4ea44
and a
jr nz, .from_wram
- ld a, $4
+ ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
call GetSRAMBank
- ld a, [$a60c]
+ ld a, [$a60c] ; address of MBC30 bank
ld c, a
call CloseSRAM
@@ -33,7 +33,7 @@ CheckBattleScene: ; 4ea44
ret
.from_wram
- ld a, $5
+ ld a, BANK(w5_dc00)
ld hl, w5_dc00
call GetFarWRAMByte
bit 0, a
diff --git a/engine/battle/core.asm b/engine/battle/core.asm
index 08021fc8b..1a58b3df5 100644
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -26,8 +26,8 @@ DoBattle: ; 3c000
and a
jr z, .not_linked
- ld a, [hLinkPlayerNumber]
- cp $2
+ ld a, [hSerialConnectionStatus]
+ cp USING_INTERNAL_CLOCK
jr z, .player_2
.not_linked
@@ -97,8 +97,8 @@ DoBattle: ; 3c000
ld a, [wLinkMode]
and a
jr z, .not_linked_2
- ld a, [hLinkPlayerNumber]
- cp $2
+ ld a, [hSerialConnectionStatus]
+ cp USING_INTERNAL_CLOCK
jr nz, .not_linked_2
xor a
ld [wEnemySwitchMonIndex], a
@@ -160,7 +160,7 @@ WildFled_EnemyFled_LinkBattleCanceled: ; 3c0e5
BattleTurn: ; 3c12f
.loop
- call MobileFn_3c1bf
+ call Stubbed_Function3c1bf
call CheckContestBattleOver
jp c, .quit
@@ -231,10 +231,11 @@ BattleTurn: ; 3c12f
ret
; 3c1bf
-MobileFn_3c1bf: mobile
- ld a, $5
+Stubbed_Function3c1bf:
+ ret
+ ld a, 5 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
call GetSRAMBank
- ld hl, $a89b ; s5_a89b
+ ld hl, $a89b ; address of MBC30 bank
inc [hl]
jr nz, .finish
dec hl
@@ -250,8 +251,8 @@ MobileFn_3c1bf: mobile
; 3c1d6
HandleBetweenTurnEffects: ; 3c1d6
- ld a, [hLinkPlayerNumber]
- cp $1
+ ld a, [hSerialConnectionStatus]
+ cp USING_EXTERNAL_CLOCK
jr z, .CheckEnemyFirst
call CheckFaint_PlayerThenEnemy
ret c
@@ -349,8 +350,8 @@ CheckFaint_EnemyThenPlayer: ; 3c25c
; 3c27c
HandleBerserkGene: ; 3c27c
- ld a, [hLinkPlayerNumber]
- cp $1
+ ld a, [hSerialConnectionStatus]
+ cp USING_EXTERNAL_CLOCK
jr z, .reverse
call .player
@@ -457,8 +458,8 @@ DetermineMoveOrder: ; 3c314
ld a, [wPlayerAction]
cp $2
jr nz, .switch
- ld a, [hLinkPlayerNumber]
- cp $2
+ ld a, [hSerialConnectionStatus]
+ cp USING_INTERNAL_CLOCK
jr z, .player_2
call BattleRandom
@@ -514,8 +515,8 @@ DetermineMoveOrder: ; 3c314
jp .enemy_first
.both_have_quick_claw
- ld a, [hLinkPlayerNumber]
- cp $2
+ ld a, [hSerialConnectionStatus]
+ cp USING_INTERNAL_CLOCK
jr z, .player_2b
call BattleRandom
cp c
@@ -544,8 +545,8 @@ DetermineMoveOrder: ; 3c314
jp .enemy_first
.speed_tie
- ld a, [hLinkPlayerNumber]
- cp $2
+ ld a, [hSerialConnectionStatus]
+ cp USING_INTERNAL_CLOCK
jr z, .player_2c
call BattleRandom
cp 1 + (50 percent)
@@ -708,8 +709,8 @@ ParsePlayerAction: ; 3c434
; 3c4df
HandleEncore: ; 3c4df
- ld a, [hLinkPlayerNumber]
- cp $1
+ ld a, [hSerialConnectionStatus]
+ cp USING_EXTERNAL_CLOCK
jr z, .player_1
call .do_player
jr .do_enemy
@@ -730,7 +731,7 @@ HandleEncore: ; 3c4df
ld b, 0
add hl, bc
ld a, [hl]
- and $3f
+ and PP_MASK
ret nz
.end_player_encore
@@ -754,7 +755,7 @@ HandleEncore: ; 3c4df
ld b, 0
add hl, bc
ld a, [hl]
- and $3f
+ and PP_MASK
ret nz
.end_enemy_encore
@@ -857,7 +858,7 @@ GetMovePriority: ; 3c5c5
cp -1
jr nz, .loop
- ld a, 1
+ ld a, BASE_PRIORITY
ret
.done
@@ -865,15 +866,7 @@ GetMovePriority: ; 3c5c5
ret
; 3c5df
-MoveEffectPriorities: ; 3c5df
- db EFFECT_PROTECT, 3
- db EFFECT_ENDURE, 3
- db EFFECT_PRIORITY_HIT, 2
- db EFFECT_FORCE_SWITCH, 0
- db EFFECT_COUNTER, 0
- db EFFECT_MIRROR_COAT, 0
- db -1
-; 3c5ec
+INCLUDE "data/moves/effects_priorities.asm"
GetMoveEffect: ; 3c5ec
ld a, b
@@ -1168,8 +1161,8 @@ ResidualDamage: ; 3c716
; 3c801
HandlePerishSong: ; 3c801
- ld a, [hLinkPlayerNumber]
- cp $1
+ ld a, [hSerialConnectionStatus]
+ cp USING_EXTERNAL_CLOCK
jr z, .EnemyFirst
call SetPlayerTurn
call .do_it
@@ -1237,8 +1230,8 @@ HandlePerishSong: ; 3c801
; 3c874
HandleWrap: ; 3c874
- ld a, [hLinkPlayerNumber]
- cp $1
+ ld a, [hSerialConnectionStatus]
+ cp USING_EXTERNAL_CLOCK
jr z, .EnemyFirst
call SetPlayerTurn
call .do_it
@@ -1309,8 +1302,8 @@ SwitchTurnCore: ; 3c8e4
; 3c8eb
HandleLeftovers: ; 3c8eb
- ld a, [hLinkPlayerNumber]
- cp $1
+ ld a, [hSerialConnectionStatus]
+ cp USING_EXTERNAL_CLOCK
jr z, .DoEnemyFirst
call SetPlayerTurn
call .do_it
@@ -1359,8 +1352,8 @@ HandleLeftovers: ; 3c8eb
; 3c93c
HandleMysteryberry: ; 3c93c
- ld a, [hLinkPlayerNumber]
- cp $1
+ ld a, [hSerialConnectionStatus]
+ cp USING_EXTERNAL_CLOCK
jr z, .DoEnemyFirst
call SetPlayerTurn
call .do_it
@@ -1409,7 +1402,7 @@ HandleMysteryberry: ; 3c93c
and a
jr z, .quit
ld a, [de]
- and $3f
+ and PP_MASK
jr z, .restore
inc hl
inc de
@@ -1498,8 +1491,8 @@ HandleMysteryberry: ; 3c93c
; 3ca26
HandleFutureSight: ; 3ca26
- ld a, [hLinkPlayerNumber]
- cp $1
+ ld a, [hSerialConnectionStatus]
+ cp USING_EXTERNAL_CLOCK
jr z, .enemy_first
call SetPlayerTurn
call .do_it
@@ -1557,8 +1550,8 @@ HandleFutureSight: ; 3ca26
; 3ca8f
HanleDefrost: ; 3ca8f
- ld a, [hLinkPlayerNumber]
- cp $1
+ ld a, [hSerialConnectionStatus]
+ cp USING_EXTERNAL_CLOCK
jr z, .enemy_first
call .do_player_turn
jr .do_enemy_turn
@@ -1617,8 +1610,8 @@ HanleDefrost: ; 3ca8f
; 3cafb
HandleSafeguard: ; 3cafb
- ld a, [hLinkPlayerNumber]
- cp $1
+ ld a, [hSerialConnectionStatus]
+ cp USING_EXTERNAL_CLOCK
jr z, .player1
call .CheckPlayer
jr .CheckEnemy
@@ -1654,8 +1647,8 @@ HandleSafeguard: ; 3cafb
jp StdBattleTextBox
HandleScreens: ; 3cb36
- ld a, [hLinkPlayerNumber]
- cp 1
+ ld a, [hSerialConnectionStatus]
+ cp USING_EXTERNAL_CLOCK
jr z, .Both
call .CheckPlayer
jr .CheckEnemy
@@ -1738,8 +1731,8 @@ HandleWeather: ; 3cb9e
cp WEATHER_SANDSTORM
ret nz
- ld a, [hLinkPlayerNumber]
- cp 1
+ ld a, [hSerialConnectionStatus]
+ cp USING_EXTERNAL_CLOCK
jr z, .enemy_first
.player_first
@@ -1951,8 +1944,7 @@ GetMaxHP: ; 3ccac
ret
; 3ccc2
-GetHalfHP: ; 3ccc2
-; unreferenced
+Unreferenced_GetHalfHP: ; 3ccc2
ld hl, BattleMonHP
ld a, [hBattleTurn]
and a
@@ -2123,8 +2115,8 @@ HandleEnemyMonFaint: ; 3cd55
; 3cdca
DoubleSwitch: ; 3cdca
- ld a, [hLinkPlayerNumber]
- cp $1
+ ld a, [hSerialConnectionStatus]
+ cp USING_EXTERNAL_CLOCK
jr z, .player_1
call ClearSprites
hlcoord 1, 0
@@ -2460,7 +2452,7 @@ WinTrainerBattle: ; 3cfa4
ld c, 40
call DelayFrames
call EmptyBattleTextBox
- ld c, $3
+ ld c, BATTLETOWERTEXT_LOSS_TEXT
farcall BattleTowerText
call WaitPressAorB_BlinkCursor
ld hl, wPayDayMoney
@@ -2589,7 +2581,7 @@ AddBattleMoneyToAccount: ; 3d0be
push bc
ld b, h
ld c, l
- farcall TrainerRankings_AddToBattlePayouts
+ farcall StubbedTrainerRankings_AddToBattlePayouts
pop bc
pop hl
.loop
@@ -2640,7 +2632,7 @@ PlayVictoryMusic: ; 3d0ea
.trainer_victory
ld de, MUSIC_GYM_VICTORY
- call IsJohtoGymLeader
+ call IsGymLeader
jr c, .play_music
ld de, MUSIC_TRAINER_VICTORY
@@ -2652,58 +2644,22 @@ PlayVictoryMusic: ; 3d0ea
ret
; 3d123
-; These functions check if the current opponent is a gym leader or one of a
-; few other special trainers.
-
-; Note: KantoGymLeaders is a subset of JohtoGymLeaders. If you wish to
-; differentiate between the two, call IsKantoGymLeader first.
-
-; The Lance and Red entries are unused for music checks; those trainers are
-; accounted for elsewhere.
-
IsKantoGymLeader: ; 0x3d123
ld hl, KantoGymLeaders
jr IsGymLeaderCommon
-IsJohtoGymLeader: ; 0x3d128
- ld hl, JohtoGymLeaders
+IsGymLeader: ; 0x3d128
+ ld hl, GymLeaders
IsGymLeaderCommon:
push de
ld a, [OtherTrainerClass]
- ld de, $0001
+ ld de, $1
call IsInArray
pop de
ret
; 0x3d137
-JohtoGymLeaders:
- db FALKNER
- db WHITNEY
- db BUGSY
- db MORTY
- db PRYCE
- db JASMINE
- db CHUCK
- db CLAIR
- db WILL
- db BRUNO
- db KAREN
- db KOGA
-; fallthrough
-; these two entries are unused
- db CHAMPION
- db RED
-; fallthrough
-KantoGymLeaders:
- db BROCK
- db MISTY
- db LT_SURGE
- db ERIKA
- db JANINE
- db SABRINA
- db BLAINE
- db BLUE
- db -1
+INCLUDE "data/trainers/leaders.asm"
HandlePlayerMonFaint: ; 3d14e
call FaintYourPokemon
@@ -2760,7 +2716,7 @@ PlayerMonFaintHappinessMod: ; 3d1aa
ld c, a
ld hl, wBattleParticipantsNotFainted
ld b, RESET_FLAG
- predef FlagPredef
+ predef SmallFarFlagAction
ld hl, EnemySubStatus3
res SUBSTATUS_IN_LOOP, [hl]
xor a
@@ -3066,7 +3022,7 @@ LostBattle: ; 3d38e
call DelayFrames
call EmptyBattleTextBox
- ld c, 2
+ ld c, BATTLETOWERTEXT_WIN_TEXT
farcall BattleTowerText
call WaitPressAorB_BlinkCursor
call ClearTileMap
@@ -3357,10 +3313,10 @@ AddBattleParticipant: ; 3d581
ld hl, wBattleParticipantsNotFainted
ld b, SET_FLAG
push bc
- predef FlagPredef
+ predef SmallFarFlagAction
pop bc
ld hl, wBattleParticipantsIncludingFainted
- predef_jump FlagPredef
+ predef_jump SmallFarFlagAction
; 3d599
FindPkmnInOTPartyToSwitchIntoBattle: ; 3d599
@@ -4033,7 +3989,7 @@ InitBattleMon: ; 3da0d
ld a, [CurBattleMon]
call SkipNames
ld de, BattleMonNick
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
ld hl, BattleMonAttack
ld de, PlayerStats
@@ -4118,7 +4074,7 @@ InitEnemyMon: ; 3dabd
ld a, [CurPartyMon]
call SkipNames
ld de, EnemyMonNick
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
ld hl, EnemyMonAttack
ld de, EnemyStats
@@ -4350,7 +4306,7 @@ PursuitSwitch: ; 3dc5b
ld c, a
ld hl, wBattleParticipantsNotFainted
ld b, RESET_FLAG
- predef FlagPredef
+ predef SmallFarFlagAction
call PlayerMonFaintedAnimation
ld hl, BattleText_PkmnFainted
jr .done_fainted
@@ -4394,8 +4350,8 @@ RecallPlayerMon: ; 3dce6
; 3dcf9
HandleHealingItems: ; 3dcf9
- ld a, [hLinkPlayerNumber]
- cp $1
+ ld a, [hSerialConnectionStatus]
+ cp USING_EXTERNAL_CLOCK
jr z, .player_1
call SetPlayerTurn
call HandleHPHealingItem
@@ -4586,13 +4542,13 @@ UseHeldStatusHealingItem: ; 3dde9
; 3de44
.Statuses: ; 3de44
- db HELD_HEAL_POISON, 1 << PSN
- db HELD_HEAL_FREEZE, 1 << FRZ
- db HELD_HEAL_BURN, 1 << BRN
- db HELD_HEAL_SLEEP, SLP
+ db HELD_HEAL_POISON, 1 << PSN
+ db HELD_HEAL_FREEZE, 1 << FRZ
+ db HELD_HEAL_BURN, 1 << BRN
+ db HELD_HEAL_SLEEP, SLP
db HELD_HEAL_PARALYZE, 1 << PAR
- db HELD_HEAL_STATUS, ALL_STATUS
- db $ff
+ db HELD_HEAL_STATUS, ALL_STATUS
+ db -1 ; end
; 3de51
UseConfusionHealingItem: ; 3de51
@@ -4639,8 +4595,8 @@ UseConfusionHealingItem: ; 3de51
HandleStatBoostingHeldItems: ; 3de97
; The effects handled here are not used in-game.
- ld a, [hLinkPlayerNumber]
- cp $1
+ ld a, [hSerialConnectionStatus]
+ cp USING_EXTERNAL_CLOCK
jr z, .player_1
call .DoPlayer
jp .DoEnemy
@@ -4716,7 +4672,7 @@ HandleStatBoostingHeldItems: ; 3de97
dbw HELD_SP_DEFENSE_UP, BattleCommand_SpecialDefenseUp
dbw HELD_ACCURACY_UP, BattleCommand_AccuracyUp
dbw HELD_EVASION_UP, BattleCommand_EvasionUp
- db $ff
+ db -1 ; end
; 3df12
GetPartymonItem: ; 3df12
@@ -4852,7 +4808,7 @@ PrintPlayerHUD: ; 3dfbf
ld [de], a
ld hl, BattleMonLevel
ld de, TempMonLevel
- ld bc, $0011
+ ld bc, $11
call CopyBytes
ld a, [CurBattleMon]
ld hl, PartyMon1Species
@@ -5418,8 +5374,8 @@ PlayerSwitch: ; 3e3ad
ret
.dont_run
- ld a, [hLinkPlayerNumber]
- cp $1
+ ld a, [hSerialConnectionStatus]
+ cp USING_EXTERNAL_CLOCK
jr z, .player_1
call BattleMonEntrance
call EnemyMonEntrance
@@ -5694,7 +5650,7 @@ MoveSelectionScreen: ; 3e4bc
ld b, 0
add hl, bc
ld a, [hl]
- and $3f
+ and PP_MASK
jr z, .no_pp_left
ld a, [PlayerDisableCount]
swap a
@@ -5893,7 +5849,7 @@ MoveInfoBox: ; 3e6c8
ld hl, BattleMonPP
add hl, bc
ld a, [hl]
- and $3f
+ and PP_MASK
ld [StringBuffer1], a
call .PrintPP
@@ -5956,7 +5912,7 @@ CheckPlayerHasUsableMoves: ; 3e786
or [hl]
inc hl
or [hl]
- and $3f
+ and PP_MASK
ret nz
jr .force_struggle
@@ -5978,8 +5934,7 @@ CheckPlayerHasUsableMoves: ; 3e786
.done
; Bug: this will result in a move with PP Up confusing the game.
- ; Replace with "and $3f" to fix.
- and a
+ and a ; should be "and PP_MASK"
ret nz
.force_struggle
@@ -6058,7 +6013,7 @@ ParseEnemyAction: ; 3e7c1
cp [hl]
jr z, .disabled
ld a, [de]
- and $3f
+ and PP_MASK
jr nz, .enough_pp
.disabled
@@ -6076,7 +6031,7 @@ ParseEnemyAction: ; 3e7c1
.loop2
ld hl, EnemyMonMoves
call BattleRandom
- and 3 ; TODO factor in NUM_MOVES
+ maskbits NUM_MOVES
ld c, a
ld b, 0
add hl, bc
@@ -6093,7 +6048,7 @@ ParseEnemyAction: ; 3e7c1
add hl, bc
ld b, a
ld a, [hl]
- and $3f
+ and PP_MASK
jr z, .loop2
ld a, c
ld [CurEnemyMoveNum], a
@@ -6376,9 +6331,9 @@ LoadEnemyMon: ; 3e8eb
; but the value is in feet and inches (one byte each).
; The first filter is supposed to make very large Magikarp even rarer,
-; by targeting those 1600 mm or larger.
+; by targeting those 1600 mm (= 5'3") or larger.
; After the conversion to feet, it is unable to target any,
-; as the largest possible Magikarp is 5'3'', which reads as 1283.
+; since the largest possible Magikarp is 5'3", and $0503 = 1283 mm.
ld a, [TempEnemyMonSpecies]
cp MAGIKARP
jr nz, .Happiness
@@ -6388,42 +6343,43 @@ LoadEnemyMon: ; 3e8eb
ld bc, PlayerID
callfar CalcMagikarpLength
-; No reason to keep going if length > 1536 (i.e. if length / 256 != 6)
+; No reason to keep going if length > 1536 mm (i.e. if HIGH(length) > 6 feet)
ld a, [wMagikarpLength]
- cp HIGH(1536) ; this compares to 6'0'', should be cp 5
+ cp HIGH(1536) ; should be "cp 5", since 1536 mm = 5'0", but HIGH(1536) = 6
jr nz, .CheckMagikarpArea
; 5% chance of skipping both size checks
call Random
cp 5 percent
jr c, .CheckMagikarpArea
-; Try again if length > 1615
+; Try again if length >= 1616 mm (i.e. if LOW(length) >= 3 inches)
ld a, [wMagikarpLength + 1]
- cp LOW(1616) ; this compares to 6'80'', should be cp 3
+ cp LOW(1616) ; should be "cp 3", since 1616 mm = 5'3", but LOW(1616) = 80
jr nc, .GenerateDVs
; 20% chance of skipping this check
call Random
cp 20 percent - 1
jr c, .CheckMagikarpArea
-; Try again if length > 1599
+; Try again if length >= 1600 mm (i.e. if LOW(length) >= 2 inches)
ld a, [wMagikarpLength + 1]
- cp LOW(1600) ; this compares to 6'64'', should be cp 2
+ cp LOW(1600) ; should be "cp 2", since 1600 mm = 5'2", but LOW(1600) = 64
jr nc, .GenerateDVs
.CheckMagikarpArea:
-; The z checks are supposed to be nz
-; Instead, all maps in GROUP_LAKE_OF_RAGE (mahogany area)
-; and routes 20 and 44 are treated as Lake of Rage
+; The "jr z" checks are supposed to be "jr nz".
+
+; Instead, all maps in GROUP_LAKE_OF_RAGE (Mahogany area)
+; and Routes 20 and 44 are treated as Lake of Rage.
; This also means Lake of Rage Magikarp can be smaller than ones
-; caught elsewhere rather than the other way around
+; caught elsewhere rather than the other way around.
-; Intended behavior enforces a minimum size at Lake of Rage
-; The real behavior prevents size flooring in the Lake of Rage area
+; Intended behavior enforces a minimum size at Lake of Rage.
+; The real behavior prevents a minimum size in the Lake of Rage area.
-; Moreover, due to the check not being translated to feet, all Magikarp
-; smaller than 4'0'' may be caught by the filter, a lot more than intended
+; Moreover, due to the check not being translated to feet+inches, all Magikarp
+; smaller than 4'0" may be caught by the filter, a lot more than intended.
ld a, [MapGroup]
cp GROUP_LAKE_OF_RAGE
jr z, .Happiness
@@ -6434,9 +6390,9 @@ LoadEnemyMon: ; 3e8eb
call Random
cp 40 percent - 2
jr c, .Happiness
-; Floor at length 1024
+; Try again if length < 1024 mm (i.e. if HIGH(length) < 3 feet)
ld a, [wMagikarpLength]
- cp HIGH(1024) ; compares to 4'0'', cp 3 would be closer to intended value
+ cp HIGH(1024) ; should be "cp 3", since 1024 mm = 3'4", but HIGH(1024) = 4
jr c, .GenerateDVs ; try again
; Finally done with DVs
@@ -6622,7 +6578,7 @@ LoadEnemyMon: ; 3e8eb
; Update enemy nick
ld hl, StringBuffer1
ld de, EnemyMonNick
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
; Saw this mon
@@ -6631,7 +6587,7 @@ LoadEnemyMon: ; 3e8eb
ld c, a
ld b, SET_FLAG
ld hl, PokedexSeen
- predef FlagPredef
+ predef SmallFarFlagAction
ld hl, EnemyMonStats
ld de, EnemyStats
@@ -6651,13 +6607,13 @@ CheckSleepingTreeMon: ; 3eb38
jr nz, .NotSleeping
; Get list for the time of day
- ld hl, .Morn
+ ld hl, AsleepTreeMonsMorn
ld a, [TimeOfDay]
cp DAY_F
jr c, .Check
- ld hl, .Day
+ ld hl, AsleepTreeMonsDay
jr z, .Check
- ld hl, .Nite
+ ld hl, AsleepTreeMonsNite
.Check:
ld a, [TempEnemyMonSpecies]
@@ -6670,36 +6626,7 @@ CheckSleepingTreeMon: ; 3eb38
and a
ret
-.Nite:
- db CATERPIE
- db METAPOD
- db BUTTERFREE
- db WEEDLE
- db KAKUNA
- db BEEDRILL
- db SPEAROW
- db EKANS
- db EXEGGCUTE
- db LEDYBA
- db AIPOM
- db -1 ; end
-
-.Day:
- db VENONAT
- db HOOTHOOT
- db NOCTOWL
- db SPINARAK
- db HERACROSS
- db -1 ; end
-
-.Morn:
- db VENONAT
- db HOOTHOOT
- db NOCTOWL
- db SPINARAK
- db HERACROSS
- db -1 ; end
-; 3eb75
+INCLUDE "data/wild/treemons_asleep.asm"
CheckUnownLetter: ; 3eb75
; Return carry if the Unown letter hasn't been unlocked yet
@@ -6769,8 +6696,7 @@ CheckUnownLetter: ; 3eb75
; 3ebc7
-SwapBattlerLevels: ; 3ebc7
-; unreferenced
+Unreferenced_SwapBattlerLevels: ; 3ebc7
push bc
ld a, [BattleMonLevel]
ld b, a
@@ -7162,7 +7088,7 @@ _LoadHPBar: ; 3eda6
ret
; 3edad
-LoadHPExpBarGFX: ; unreferenced
+Unreferenced_LoadHPExpBarGFX:
ld de, EnemyHPBarBorderGFX
ld hl, vTiles2 tile $6c
lb bc, BANK(EnemyHPBarBorderGFX), 4
@@ -7314,7 +7240,7 @@ GiveExperiencePoints: ; 3ee3b
ld c, a
ld b, CHECK_FLAG
ld d, $0
- predef FlagPredef
+ predef SmallFarFlagAction
ld a, c
and a
pop bc
@@ -7643,7 +7569,7 @@ GiveExperiencePoints: ; 3ee3b
ld a, [CurPartyMon]
ld c, a
ld b, SET_FLAG
- predef FlagPredef
+ predef SmallFarFlagAction
pop af
ld [CurPartyLevel], a
@@ -7840,7 +7766,7 @@ AnimateExpBar: ; 3f136
call PrintPlayerHUD
ld hl, BattleMonNick
ld de, StringBuffer1
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
call TerminateExpBarSound
ld de, SFX_HIT_END_OF_EXP_BAR
@@ -8093,7 +8019,7 @@ TextJump_GoodComeBack: ; 3f352
db "@"
; 3f357
-UnusedFunction_TextJump_ComeBack: ; 3f357
+Unreferenced_TextJump_ComeBack: ; 3f357
; this function doesn't seem to be used
ld hl, TextJump_ComeBack
ret
@@ -8104,7 +8030,7 @@ TextJump_ComeBack: ; 3f35b
db "@"
; 3f360
-HandleSafariAngerEatingStatus: ; unreferenced
+Unreferenced_HandleSafariAngerEatingStatus:
ld hl, wSafariMonEating
ld a, [hl]
and a
@@ -8335,7 +8261,7 @@ DropEnemySub: ; 3f486
ld hl, EnemyMonDVs
predef GetUnownLetter
ld de, vTiles2
- predef GetAnimatedFrontpicPredef
+ predef GetAnimatedFrontpic
pop af
ld [CurPartySpecies], a
ret
@@ -8371,14 +8297,13 @@ StartBattle: ; 3f4c1
ret
; 3f4d9
-_DoBattle: ; 3f4d9
-; unreferenced
+Unreferenced_DoBattle: ; 3f4d9
call DoBattle
ret
; 3f4dd
BattleIntro: ; 3f4dd
- farcall TrainerRankings_Battles ; mobile
+ farcall StubbedTrainerRankings_Battles ; mobile
call LoadTrainerOrWildMonPic
xor a
ld [TempBattleMonSpecies], a
@@ -8440,7 +8365,7 @@ InitEnemy: ; 3f55e
BackUpBGMap2: ; 3f568
ld a, [rSVBK]
push af
- ld a, $6 ; BANK(wDecompressScratch)
+ ld a, BANK(wDecompressScratch)
ld [rSVBK], a
ld hl, wDecompressScratch
ld bc, $40 tiles ; vBGMap3 - vBGMap2
@@ -8463,12 +8388,13 @@ BackUpBGMap2: ; 3f568
InitEnemyTrainer: ; 3f594
ld [TrainerClass], a
- farcall TrainerRankings_TrainerBattles
+ farcall StubbedTrainerRankings_TrainerBattles
xor a
ld [TempEnemyMonSpecies], a
callfar GetTrainerAttributes
callfar ReadTrainerParty
+ ; RIVAL1's first mon has no held item
ld a, [TrainerClass]
cp RIVAL1
jr nz, .ok
@@ -8490,7 +8416,7 @@ InitEnemyTrainer: ; 3f594
ld a, TRAINER_BATTLE
ld [wBattleMode], a
- call IsJohtoGymLeader
+ call IsGymLeader
jr nc, .done
xor a
ld [CurPartyMon], a
@@ -8519,7 +8445,7 @@ InitEnemyTrainer: ; 3f594
InitEnemyWildmon: ; 3f607
ld a, WILD_BATTLE
ld [wBattleMode], a
- farcall TrainerRankings_WildBattles
+ farcall StubbedTrainerRankings_WildBattles
call LoadEnemyMon
ld hl, EnemyMonMoves
ld de, wWildMonMoves
@@ -8541,7 +8467,7 @@ InitEnemyWildmon: ; 3f607
ld [wFirstUnownSeen], a
.skip_unown
ld de, vTiles2
- predef GetAnimatedFrontpicPredef
+ predef GetAnimatedFrontpic
xor a
ld [TrainerClass], a
ld [hGraphicStartTile], a
@@ -8551,8 +8477,7 @@ InitEnemyWildmon: ; 3f607
ret
; 3f662
-Function3f662: ; 3f662
-; XXX
+Unreferenced_Function3f662: ; 3f662
ld hl, EnemyMonMoves
ld de, wListMoves_MoveIndicesBuffer
ld b, NUM_MOVES
@@ -8702,7 +8627,7 @@ CheckPayDay: ; 3f71d
; 3f759
ShowLinkBattleParticipantsAfterEnd: ; 3f759
- farcall TrainerRankings_LinkBattles
+ farcall StubbedTrainerRankings_LinkBattles
farcall BackupMobileEventIndex
ld a, [CurOTMon]
ld hl, OTPartyMon1Status
@@ -8732,17 +8657,17 @@ DisplayLinkBattleResult: ; 3f77c
cp $1
jr c, .victory
jr z, .loss
- farcall TrainerRankings_ColosseumDraws
+ farcall StubbedTrainerRankings_ColosseumDraws
ld de, .Draw
jr .store_result
.victory
- farcall TrainerRankings_ColosseumWins
+ farcall StubbedTrainerRankings_ColosseumWins
ld de, .Win
jr .store_result
.loss
- farcall TrainerRankings_ColosseumLosses
+ farcall StubbedTrainerRankings_ColosseumLosses
ld de, .Lose
jr .store_result
@@ -9320,7 +9245,7 @@ InitBattleDisplay: ; 3fb6c
.BlankBGMap: ; 3fbd6
ld a, [rSVBK]
push af
- ld a, $6
+ ld a, BANK(wDecompressScratch)
ld [rSVBK], a
ld hl, wDecompressScratch
@@ -9373,15 +9298,15 @@ GetTrainerBackpic: ; 3fbff
.Decompress:
ld de, vTiles2 tile $31
- ld c, $31
- predef DecompressPredef
+ ld c, 7 * 7
+ predef DecompressGet2bpp
ret
; 3fc30
CopyBackpic: ; 3fc30
ld a, [rSVBK]
push af
- ld a, $6
+ ld a, BANK(wDecompressScratch)
ld [rSVBK], a
ld hl, vTiles0
ld de, vTiles2 tile $31
@@ -9401,27 +9326,27 @@ CopyBackpic: ; 3fc30
; 3fc5b
.LoadTrainerBackpicAsOAM: ; 3fc5b
- ld hl, Sprites
+ ld hl, Sprite01
xor a
ld [hMapObjectIndexBuffer], a
- ld b, $6
- ld e, 21 * 8
+ ld b, 6
+ ld e, (SCREEN_WIDTH + 1) * TILE_WIDTH
.outer_loop
- ld c, $3
- ld d, 8 * 8
+ ld c, 3
+ ld d, 8 * TILE_WIDTH
.inner_loop
- ld [hl], d
+ ld [hl], d ; y
inc hl
- ld [hl], e
+ ld [hl], e ; x
inc hl
ld a, [hMapObjectIndexBuffer]
- ld [hli], a
+ ld [hli], a ; tile id
inc a
ld [hMapObjectIndexBuffer], a
- ld a, $1
- ld [hli], a
+ ld a, PAL_BATTLE_OB_PLAYER
+ ld [hli], a ; attributes
ld a, d
- add $8
+ add 1 * TILE_WIDTH
ld d, a
dec c
jr nz, .inner_loop
@@ -9429,7 +9354,7 @@ CopyBackpic: ; 3fc30
add $3
ld [hMapObjectIndexBuffer], a
ld a, e
- add $8
+ add 1 * TILE_WIDTH
ld e, a
dec b
jr nz, .outer_loop
@@ -9490,7 +9415,7 @@ BattleStartMessage: ; 3fc8b
cp BATTLETYPE_FISH
jr nz, .NotFishing
- farcall TrainerRankings_HookedEncounters
+ farcall StubbedTrainerRankings_HookedEncounters
ld hl, HookedPokemonAttackedText
jr .PlaceBattleStartText
diff --git a/engine/battle/effect_commands.asm b/engine/battle/effect_commands.asm
index f86f90479..c1bc3752a 100644
--- a/engine/battle/effect_commands.asm
+++ b/engine/battle/effect_commands.asm
@@ -64,7 +64,7 @@ DoMove: ; 3402c
inc hl
ld [de], a
inc de
- cp $ff
+ cp -1
jr nz, .GetMoveEffect
; Start at the first command.
@@ -138,7 +138,7 @@ BattleCommand_CheckTurn: ; 34084
ld [AlreadyFailed], a
ld [wSomeoneIsRampaging], a
- ld a, 10 ; 1.0
+ ld a, EFFECTIVE
ld [TypeModifier], a
ld a, [hBattleTurn]
@@ -282,7 +282,7 @@ CheckPlayerTurn:
; 50% chance of hitting itself
call BattleRandom
- cp $80
+ cp 50 percent + 1
jr nc, .not_confused
; clear confusion-dependent substatus
@@ -311,7 +311,7 @@ CheckPlayerTurn:
; 50% chance of infatuation
call BattleRandom
- cp $80
+ cp 50 percent + 1
jr c, .not_infatuated
ld hl, InfatuationText
@@ -345,7 +345,7 @@ CheckPlayerTurn:
; 25% chance to be fully paralyzed
call BattleRandom
- cp $3f
+ cp 25 percent
ret nc
ld hl, FullyParalyzedText
@@ -457,6 +457,8 @@ CheckEnemyTurn: ; 3421f
ld hl, EnemyMonStatus
bit FRZ, [hl]
jr z, .not_frozen
+
+ ; Flame Wheel and Sacred Fire thaw the user.
ld a, [CurEnemyMove]
cp FLAME_WHEEL
jr z, .not_frozen
@@ -611,7 +613,7 @@ CheckEnemyTurn: ; 3421f
; 25% chance to be fully paralyzed
call BattleRandom
- cp $3f
+ cp 25 percent
ret nc
ld hl, FullyParalyzedText
@@ -844,19 +846,20 @@ BattleCommand_CheckObedience: ; 343db
.DoNothing:
+ ; 4 random choices
call BattleRandom
- and 3
+ and %11
ld hl, LoafingAroundText
- and a
+ and a ; 0
jr z, .Print
ld hl, WontObeyText
- dec a
+ dec a ; 1
jr z, .Print
ld hl, TurnedAwayText
- dec a
+ dec a ; 2
jr z, .Print
ld hl, IgnoredOrdersText
@@ -886,7 +889,7 @@ BattleCommand_CheckObedience: ; 343db
.GetTotalPP:
ld a, [hli]
- and $3f ; exclude pp up
+ and PP_MASK
add b
ld b, a
@@ -909,7 +912,7 @@ BattleCommand_CheckObedience: ; 343db
; Can't use another move if only one move has PP.
ld a, [hl]
- and $3f
+ and PP_MASK
cp b
jr z, .DoNothing
@@ -929,7 +932,7 @@ BattleCommand_CheckObedience: ; 343db
.RandomMove:
call BattleRandom
- and 3 ; TODO NUM_MOVES
+ maskbits NUM_MOVES
cp b
jr nc, .RandomMove
@@ -945,7 +948,7 @@ BattleCommand_CheckObedience: ; 343db
ld d, 0
add hl, de
ld a, [hl]
- and $3f
+ and PP_MASK
jr z, .RandomMove
@@ -989,6 +992,7 @@ IgnoreSleepOnly: ; 3451f
ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVar
+ ; Snore and Sleep Talk bypass sleep.
cp SNORE
jr z, .CheckSleep
cp SLEEP_TALK
@@ -1115,7 +1119,7 @@ BattleCommand_DoTurn: ; 34555
ld b, 0
add hl, bc
ld a, [hl]
- and $3f
+ and PP_MASK
jr z, .out_of_pp
dec [hl]
ld b, 0
@@ -1172,7 +1176,7 @@ BattleCommand_DoTurn: ; 34555
db EFFECT_ROLLOUT
db EFFECT_BIDE
db EFFECT_RAMPAGE
- db $ff
+ db -1
; 3460b
CheckMimicUsed: ; 3460b
@@ -1266,7 +1270,7 @@ BattleCommand_Critical: ; 34631
ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVar
ld de, 1
- ld hl, .Criticals
+ ld hl, CriticalHitMoves
push bc
call IsInArray
pop bc
@@ -1288,7 +1292,7 @@ BattleCommand_Critical: ; 34631
inc c
.Tally:
- ld hl, .Chances
+ ld hl, CriticalHitChances
ld b, 0
add hl, bc
call BattleRandom
@@ -1298,12 +1302,7 @@ BattleCommand_Critical: ; 34631
ld [CriticalHit], a
ret
-.Criticals:
- db KARATE_CHOP, RAZOR_WIND, RAZOR_LEAF, CRABHAMMER, SLASH, AEROBLAST, CROSS_CHOP, $ff
-.Chances:
- ; 6.25% 12.1% 24.6% 33.2% 49.6% 49.6% 49.6%
- db $11, $20, $40, $55, $80, $80, $80
- ; 0 1 2 3 4 5 6
+INCLUDE "data/battle/critical_hits.asm"
; 346b2
@@ -1433,11 +1432,11 @@ BattleCommand_Stab: ; 346d2
.TypesLoop:
ld a, [hli]
- cp $ff
+ cp -1
jr z, .end
; foresight
- cp $fe
+ cp -2
jr nz, .SkipForesightCheck
ld a, BATTLE_VARS_SUBSTATUS1_OPP
call GetBattleVar
@@ -1543,8 +1542,8 @@ BattleCheckTypeMatchup: ; 347c8
ld hl, BattleMonType1
CheckTypeMatchup: ; 347d3
; There is an incorrect assumption about this function made in the AI related code: when
-; the AI calls CheckTypeMatchup (not BattleCheckTypeMatchup), it assumes that placing the
-; offensive type in a will make this function do the right thing. Since a is overwritten,
+; the AI calls CheckTypeMatchup (not BattleCheckTypeMatchup), it assumes that placing
+; the offensive type in a will make this function do the right thing. Since a is overwritten,
; this assumption is incorrect. A simple fix would be to load the move type for the
; current move into a in BattleCheckTypeMatchup, before falling through, which is
; consistent with how the rest of the code assumes this code works like.
@@ -1562,9 +1561,9 @@ CheckTypeMatchup: ; 347d3
ld hl, TypeMatchups
.TypesLoop:
ld a, [hli]
- cp $ff
+ cp -1
jr z, .End
- cp $fe
+ cp -2
jr nz, .Next
ld a, BATTLE_VARS_SUBSTATUS1_OPP
call GetBattleVar
@@ -1640,7 +1639,7 @@ BattleCommand_ResetTypeMatchup: ; 34833
INCLUDE "engine/battle/ai/switch.asm"
-INCLUDE "data/type_matchups.asm"
+INCLUDE "data/battle/type_matchups.asm"
BattleCommand_DamageVariation: ; 34cfd
; damagevariation
@@ -1675,7 +1674,7 @@ BattleCommand_DamageVariation: ; 34cfd
.loop
call BattleRandom
rrca
- cp $d9 ; 85%
+ cp 85 percent + 1
jr c, .loop
ld [hMultiplier], a
@@ -1756,7 +1755,7 @@ BattleCommand_CheckHit: ; 34d32
.skip_brightpowder
ld a, b
- cp $ff
+ cp -1
jr z, .Hit
call BattleRandom
@@ -1954,7 +1953,7 @@ BattleCommand_CheckHit: ; 34d32
.skip_foresight_check
; subtract evasion from 14
- ld a, 14
+ ld a, MAX_STAT_LEVEL + 1
sub c
ld c, a
; store the base move accuracy for math ops
@@ -1969,7 +1968,7 @@ BattleCommand_CheckHit: ; 34d32
.accuracy_loop
; look up the multiplier from the table
push bc
- ld hl, .AccProb
+ ld hl, AccuracyLevelMultipliers
dec b
sla b
ld c, b
@@ -2013,21 +2012,7 @@ BattleCommand_CheckHit: ; 34d32
ld [hl], a
ret
-.AccProb:
- db 33, 100 ; 33% -6
- db 36, 100 ; 36% -5
- db 43, 100 ; 43% -4
- db 50, 100 ; 50% -3
- db 60, 100 ; 60% -2
- db 75, 100 ; 75% -1
- db 1, 1 ; 100% 0
- db 133, 100 ; 133% +1
- db 166, 100 ; 166% +2
- db 2, 1 ; 200% +3
- db 233, 100 ; 233% +4
- db 133, 50 ; 266% +5
- db 3, 1 ; 300% +6
-
+INCLUDE "data/battle/accuracy_multipliers.asm"
; 34ecc
@@ -2199,7 +2184,7 @@ BattleCommand_HitTargetNoSub: ; 34f60
xor 1
ld [wKickCounter], a
ld a, [de]
- cp $1
+ cp 1
push af
ld a, BATTLE_VARS_MOVE_ANIM
call GetBattleVar
@@ -2438,7 +2423,7 @@ GetFailureResultText: ; 350e4
ld hl, AttackMissedText
ld de, AttackMissed2Text
ld a, [CriticalHit]
- cp $ff
+ cp -1
jr nz, .got_text
ld hl, UnaffectedText
.got_text
@@ -3519,7 +3504,7 @@ BattleCommand_DamageCalc: ; 35612
.NextItem:
ld a, [hli]
- cp $ff
+ cp -1
jr z, .DoneItem
; Item effect
@@ -3657,26 +3642,7 @@ BattleCommand_DamageCalc: ; 35612
; 35703
-TypeBoostItems: ; 35703
- db HELD_NORMAL_BOOST, NORMAL ; Pink/Polkadot Bow
- db HELD_FIGHTING_BOOST, FIGHTING ; Blackbelt
- db HELD_FLYING_BOOST, FLYING ; Sharp Beak
- db HELD_POISON_BOOST, POISON ; Poison Barb
- db HELD_GROUND_BOOST, GROUND ; Soft Sand
- db HELD_ROCK_BOOST, ROCK ; Hard Stone
- db HELD_BUG_BOOST, BUG ; Silverpowder
- db HELD_GHOST_BOOST, GHOST ; Spell Tag
- db HELD_FIRE_BOOST, FIRE ; Charcoal
- db HELD_WATER_BOOST, WATER ; Mystic Water
- db HELD_GRASS_BOOST, GRASS ; Miracle Seed
- db HELD_ELECTRIC_BOOST, ELECTRIC ; Magnet
- db HELD_PSYCHIC_BOOST, PSYCHIC ; Twistedspoon
- db HELD_ICE_BOOST, ICE ; Nevermeltice
- db HELD_DRAGON_BOOST, DRAGON ; Dragon Scale
- db HELD_DARK_BOOST, DARK ; Blackglasses
- db HELD_STEEL_BOOST, STEEL ; Metal Coat
- db $ff
-; 35726
+INCLUDE "data/battle/type_boost_items.asm"
BattleCommand_ConstantDamage: ; 35726
@@ -3941,7 +3907,7 @@ BattleCommand_Encore: ; 35864
ld bc, BattleMonPP - BattleMonMoves - 1
add hl, bc
ld a, [hl]
- and $3f
+ and PP_MASK
jp z, .failed
ld a, [AttackMissed]
and a
@@ -4421,7 +4387,7 @@ BattleCommand_SleepTalk: ; 35b33
.sample_move
push hl
call BattleRandom
- and 3 ; TODO factor in NUM_MOVES
+ maskbits NUM_MOVES
ld c, a
ld b, 0
add hl, bc
@@ -4585,17 +4551,18 @@ BattleCommand_Spite: ; 35c0f
add hl, bc
pop bc
ld a, [hl]
- and $3f
+ and PP_MASK
jr z, .failed
push bc
call GetMoveName
+ ; lose 2-5 PP
call BattleRandom
- and 3
+ and %11
inc a
inc a
ld b, a
ld a, [hl]
- and $3f
+ and PP_MASK
cp b
jr nc, .deplete_pp
ld b, a
@@ -4671,7 +4638,7 @@ BattleCommand_FalseSwipe: ; 35c94
ld [de], a
.okay
ld a, [CriticalHit]
- cp $2
+ cp 2
jr nz, .carry
xor a
ld [CriticalHit], a
@@ -5049,7 +5016,7 @@ BattleCommand_SleepTarget: ; 35e5c
jr nz, .dont_fail
call BattleRandom
- cp $40 ; 25%
+ cp 25 percent + 1 ; 25% chance AI fails
ret c
.dont_fail
@@ -5149,7 +5116,7 @@ BattleCommand_Poison: ; 35f2c
jr nz, .mimic_random
call BattleRandom
- cp $40 ; 25% chance AI fails
+ cp 25 percent + 1 ; 25% chance AI fails
jr c, .failed
.mimic_random
@@ -5827,7 +5794,7 @@ BattleCommand_StatDown: ; 362e3
inc b
.ComputerMiss:
-; Computer opponents have a 1/4 chance of failing.
+; Computer opponents have a 25% chance of failing.
ld a, [hBattleTurn]
and a
jr z, .DidntMiss
@@ -5852,7 +5819,7 @@ BattleCommand_StatDown: ; 362e3
jr z, .DidntMiss
call BattleRandom
- cp $40
+ cp 25 percent + 1 ; 25% chance AI fails
jr c, .Failed
.DidntMiss:
@@ -6104,7 +6071,7 @@ BattleCommand_StatDownFailText: ; 3646a
GetStatName: ; 3648f
- ld hl, .names
+ ld hl, StatNames
ld c, "@"
.CheckName:
dec b
@@ -6120,33 +6087,10 @@ GetStatName: ; 3648f
ld bc, StringBuffer3 - StringBuffer2
jp CopyBytes
-.names
- db "ATTACK@"
- db "DEFENSE@"
- db "SPEED@"
- db "SPCL.ATK@"
- db "SPCL.DEF@"
- db "ACCURACY@"
- db "EVASION@"
- db "ABILITY@"
-; 364e6
-
-
-StatLevelMultipliers: ; 364e6
- db 25, 100 ; 0.25x
- db 28, 100 ; 0.28x
- db 33, 100 ; 0.33x
- db 40, 100 ; 0.40x
- db 50, 100 ; 0.50x
- db 66, 100 ; 0.66x
- db 1, 1 ; 1.00x
- db 15, 10 ; 1.50x
- db 2, 1 ; 2.00x
- db 25, 10 ; 2.50x
- db 3, 1 ; 3.00x
- db 35, 10 ; 3.50x
- db 4, 1 ; 4.00x
-; 36500
+INCLUDE "data/battle/stat_names.asm"
+
+
+INCLUDE "data/battle/stat_multipliers.asm"
BattleCommand_AllStatsUp: ; 36500
@@ -6266,13 +6210,12 @@ BattleCommand_TriStatusChance: ; 3658f
call BattleCommand_EffectChance
-; 1/3 chance of each status
.loop
+ ; 1/3 chance of each status
call BattleRandom
swap a
- and 3
+ and %11
jr z, .loop
-; jump
dec a
ld hl, .ptrs
rst JumpTable
@@ -7450,7 +7393,8 @@ BattleCommand_TrapTarget: ; 36c2d
bit SUBSTATUS_SUBSTITUTE, a
ret nz
call BattleRandom
- and 3
+ ; trapped for 2-5 turns
+ and %11
inc a
inc a
inc a
@@ -7648,8 +7592,9 @@ BattleCommand_FinishConfusingTarget: ; 36d70
.got_confuse_count
set SUBSTATUS_CONFUSED, [hl]
+ ; confused for 2-5 turns
call BattleRandom
- and 3
+ and %11
inc a
inc a
ld [bc], a
@@ -8078,7 +8023,7 @@ BattleCommand_LeechSeed: ; 36f9d
BattleCommand_Splash: ; 36fe1
call AnimateCurrentMove
- farcall TrainerRankings_Splash
+ farcall StubbedTrainerRankings_Splash
jp PrintNothingHappened
; 36fed
@@ -8259,7 +8204,7 @@ BattleCommand_Conversion: ; 3707f
.done
.loop3
call BattleRandom
- and 3 ; TODO factor in NUM_MOVES
+ maskbits NUM_MOVES
ld c, a
ld b, 0
ld hl, StringBuffer1
@@ -8605,7 +8550,7 @@ CheckSubstituteOpp: ; 37378
BattleCommand_Selfdestruct: ; 37380
- farcall TrainerRankings_Selfdestruct
+ farcall StubbedTrainerRankings_Selfdestruct
ld a, BATTLEANIM_PLAYER_DAMAGE
ld [wNumHits], a
ld c, 3
diff --git a/engine/battle/effect_commands/present.asm b/engine/battle/effect_commands/present.asm
index 819294f8c..2b358e8b9 100755
--- a/engine/battle/effect_commands/present.asm
+++ b/engine/battle/effect_commands/present.asm
@@ -31,7 +31,7 @@ BattleCommand_Present: ; 37874
ld c, 0
.next
ld a, [hli]
- cp $ff
+ cp -1
jr z, .heal_effect ; 378a4 $11
cp b
jr nc, .got_power ; 378a7 $4
@@ -89,5 +89,5 @@ BattleCommand_Present: ; 37874
db 40 percent, 40
db 70 percent + 1, 80
db 80 percent, 120
- db $ff
+ db -1 ; end
; 3790e
diff --git a/engine/battle/hidden_power.asm b/engine/battle/hidden_power.asm
index c75a67ab3..a1d3957e4 100644
--- a/engine/battle/hidden_power.asm
+++ b/engine/battle/hidden_power.asm
@@ -16,12 +16,12 @@ HiddenPowerDamage: ; fbced
; Attack
ld a, [hl]
swap a
- and 8
+ and %1000
; Defense
ld b, a
ld a, [hli]
- and 8
+ and %1000
srl a
or b
@@ -29,7 +29,7 @@ HiddenPowerDamage: ; fbced
ld b, a
ld a, [hl]
swap a
- and 8
+ and %1000
srl a
srl a
or b
@@ -37,7 +37,7 @@ HiddenPowerDamage: ; fbced
; Special
ld b, a
ld a, [hl]
- and 8
+ and %1000
srl a
srl a
srl a
@@ -52,7 +52,7 @@ HiddenPowerDamage: ; fbced
; Add Special & 3
ld b, a
ld a, [hld]
- and 3
+ and %0011
add b
; Divide by 2 and add 30 + 1
@@ -67,12 +67,12 @@ HiddenPowerDamage: ; fbced
; Def & 3
ld a, [hl]
- and 3
+ and %0011
ld b, a
; + (Atk & 3) << 2
ld a, [hl]
- and 3 << 4
+ and %0011 << 4
swap a
add a
add a
diff --git a/engine/battle/menu.asm b/engine/battle/menu.asm
index 07d3e6081..c97cd7854 100755
--- a/engine/battle/menu.asm
+++ b/engine/battle/menu.asm
@@ -33,15 +33,14 @@ Function24f19: ; 24f19
; 24f2c
BattleMenuDataHeader: ; 24f2c
- db $40 ; flags
- db 12, 08 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 8, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw MenuData_0x24f34
db 1 ; default option
; 24f34
MenuData_0x24f34: ; 0x24f34
- db $81 ; flags
+ db STATICMENU_CURSOR | STATICMENU_DISABLE_B ; flags
dn 2, 2 ; rows, columns
db 6 ; spacing
dba Strings24f3d
@@ -56,15 +55,14 @@ Strings24f3d: ; 0x24f3d
; 24f4e
MenuDataHeader_0x24f4e: ; 24f4e
- db $40 ; flags
- db 12, 00 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw MenuData_0x24f56
db 1 ; default option
; 24f56
MenuData_0x24f56: ; 24f56
- db $81 ; flags
+ db STATICMENU_CURSOR | STATICMENU_DISABLE_B ; flags
dn 2, 2 ; rows, columns
db 11 ; spacing
dba Strings24f5f
@@ -72,7 +70,7 @@ MenuData_0x24f56: ; 24f56
; 24f5f
Strings24f5f: ; 24f5f
- db "サファりボール× @" ; "SAFARI BALL× @"
+ db "サファりボール×  @" ; "SAFARI BALL× @"
db "エサをなげる@" ; "THROW BAIT"
db "いしをなげる@" ; "THROW ROCK"
db "にげる@" ; "RUN"
@@ -87,15 +85,14 @@ Function24f7c: ; 24f7c
; 24f89
MenuDataHeader_0x24f89: ; 24f89
- db $40 ; flags
- db 12, 02 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 2, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw MenuData_0x24f91
db 1 ; default option
; 24f91
MenuData_0x24f91: ; 24f91
- db $81 ; flags
+ db STATICMENU_CURSOR | STATICMENU_DISABLE_B ; flags
dn 2, 2 ; rows, columns
db 12 ; spacing
dba Strings24f9a
diff --git a/engine/battle/misc.asm b/engine/battle/misc.asm
index c78e9fd84..a41d31d9a 100644
--- a/engine/battle/misc.asm
+++ b/engine/battle/misc.asm
@@ -146,15 +146,15 @@ DoWeatherModifiers: ; fbda4
ret
.WeatherTypeModifiers:
- db WEATHER_RAIN, WATER, 15
- db WEATHER_RAIN, FIRE, 05
- db WEATHER_SUN, FIRE, 15
- db WEATHER_SUN, WATER, 05
- db $ff
+ db WEATHER_RAIN, WATER, MORE_EFFECTIVE
+ db WEATHER_RAIN, FIRE, NOT_VERY_EFFECTIVE
+ db WEATHER_SUN, FIRE, MORE_EFFECTIVE
+ db WEATHER_SUN, WATER, NOT_VERY_EFFECTIVE
+ db -1 ; end
.WeatherMoveModifiers:
- db WEATHER_RAIN, EFFECT_SOLARBEAM, 05
- db $ff
+ db WEATHER_RAIN, EFFECT_SOLARBEAM, NOT_VERY_EFFECTIVE
+ db -1 ; end
; fbe24
@@ -183,7 +183,7 @@ DoBadgeTypeBoosts: ; fbe24
.CheckBadge:
ld a, [hl]
- cp $ff
+ cp -1
jr z, .done
srl b
@@ -236,22 +236,24 @@ DoBadgeTypeBoosts: ; fbe24
ret
.BadgeTypes:
- db FLYING ; zephyrbadge
- db BUG ; hivebadge
- db NORMAL ; plainbadge
- db GHOST ; fogbadge
- db STEEL ; mineralbadge
- db FIGHTING ; stormbadge
- db ICE ; glacierbadge
- db DRAGON ; risingbadge
-
- db ROCK ; boulderbadge
- db WATER ; cascadebadge
- db ELECTRIC ; thunderbadge
- db GRASS ; rainbowbadge
- db POISON ; soulbadge
- db PSYCHIC ; marshbadge
- db FIRE ; volcanobadge
- db GROUND ; earthbadge
- db $ff
+; entries correspond to wJohtoBadges constants
+ db FLYING ; ZEPHYRBADGE
+ db BUG ; HIVEBADGE
+ db NORMAL ; PLAINBADGE
+ db GHOST ; FOGBADGE
+ db STEEL ; MINERALBADGE
+ db FIGHTING ; STORMBADGE
+ db ICE ; GLACIERBADGE
+ db DRAGON ; RISINGBADGE
+ ; fallthrough
+; entries correspond to wKantoBadges constants
+ db ROCK ; BOULDERBADGE
+ db WATER ; CASCADEBADGE
+ db ELECTRIC ; THUNDERBADGE
+ db GRASS ; RAINBOWBADGE
+ db POISON ; SOULBADGE
+ db PSYCHIC ; MARSHBADGE
+ db FIRE ; VOLCANOBADGE
+ db GROUND ; EARTHBADGE
+ db -1 ; end
; fbe91
diff --git a/engine/battle/sliding_intro.asm b/engine/battle/sliding_intro.asm
index ed78add8e..418454283 100755
--- a/engine/battle/sliding_intro.asm
+++ b/engine/battle/sliding_intro.asm
@@ -1,7 +1,7 @@
BattleIntroSlidingPics: ; 4e980
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(LYOverrides)
ld [rSVBK], a
call .subfunction1
ld a, rSCX - $ff00
@@ -60,9 +60,9 @@ BattleIntroSlidingPics: ; 4e980
; 4e9d6
.subfunction3 ; 4e9d6
- ld hl, Sprites + 1 ; x pixel
+ ld hl, Sprite01XCoord
ld c, $12 ; 18
- ld de, $4
+ ld de, SPRITEOAMSTRUCT_LENGTH
.loop3
dec [hl]
dec [hl]
diff --git a/engine/battle/start_battle.asm b/engine/battle/start_battle.asm
index 7f0bff96b..e1377eec0 100644
--- a/engine/battle/start_battle.asm
+++ b/engine/battle/start_battle.asm
@@ -33,7 +33,7 @@ FindFirstAliveMonAndStartBattle: ; 2ee2f
add hl, de
ld a, [hl]
ld [BattleMonLevel], a
- predef Predef_StartBattle
+ predef DoBattleTransition
farcall _LoadBattleFontsHPBar
ld a, 1
ld [hBGMapMode], a
@@ -93,7 +93,7 @@ PlayBattleMusic: ; 2ee6c
cp RED
jr z, .done
- ; really, they should have included admins and scientists here too...
+ ; They should have included EXECUTIVEM, EXECUTIVEF, and SCIENTIST too...
ld de, MUSIC_ROCKET_BATTLE
cp GRUNTM
jr z, .done
@@ -104,8 +104,10 @@ PlayBattleMusic: ; 2ee6c
farcall IsKantoGymLeader
jr c, .done
+ ; IsGymLeader also counts CHAMPION, RED, and the Kanto gym leaders
+ ; but they have been taken care of before this
ld de, MUSIC_JOHTO_GYM_LEADER_BATTLE
- farcall IsJohtoGymLeader
+ farcall IsGymLeader
jr c, .done
ld de, MUSIC_RIVAL_BATTLE
diff --git a/engine/battle/trainer_huds.asm b/engine/battle/trainer_huds.asm
index b236fc56b..317e72214 100755
--- a/engine/battle/trainer_huds.asm
+++ b/engine/battle/trainer_huds.asm
@@ -28,7 +28,7 @@ ShowPlayerMonsRemaining: ; 2c01c
ld [hl], a
ld a, 8
ld [wPlaceBallsDirection], a
- ld hl, Sprites
+ ld hl, Sprite01
jp LoadTrainerHudOAM
; 2c03a
@@ -44,7 +44,7 @@ ShowOTTrainerMonsRemaining: ; 2c03a
ld [hl], 4 * 8
ld a, -8
ld [wPlaceBallsDirection], a
- ld hl, Sprites + PARTY_LENGTH * 4
+ ld hl, Sprite01 + PARTY_LENGTH * SPRITEOAMSTRUCT_LENGTH
jp LoadTrainerHudOAM
; 2c059
@@ -193,7 +193,7 @@ LinkBattle_TrainerHuds: ; 2c10d
ld [hl], 8 * 8
ld a, $8
ld [wPlaceBallsDirection], a
- ld hl, Sprites
+ ld hl, Sprite01
call LoadTrainerHudOAM
ld hl, OTPartyMon1HP
@@ -203,7 +203,7 @@ LinkBattle_TrainerHuds: ; 2c10d
ld a, 10 * 8
ld [hli], a
ld [hl], 13 * 8
- ld hl, Sprites + PARTY_LENGTH * 4
+ ld hl, Sprite01 + PARTY_LENGTH * SPRITEOAMSTRUCT_LENGTH
jp LoadTrainerHudOAM
; 2c143
@@ -212,13 +212,13 @@ LoadTrainerHudOAM: ; 2c143
ld c, PARTY_LENGTH
.loop
ld a, [wPlaceBallsY]
- ld [hli], a
+ ld [hli], a ; y
ld a, [wPlaceBallsX]
- ld [hli], a
+ ld [hli], a ; x
ld a, [de]
- ld [hli], a
- ld a, $3
- ld [hli], a
+ ld [hli], a ; tile id
+ ld a, PAL_BATTLE_OB_YELLOW
+ ld [hli], a ; attributes
ld a, [wPlaceBallsX]
ld b, a
ld a, [wPlaceBallsDirection]
diff --git a/engine/battle/used_move_text.asm b/engine/battle/used_move_text.asm
index ce9e51359..1b5aa564c 100755
--- a/engine/battle/used_move_text.asm
+++ b/engine/battle/used_move_text.asm
@@ -157,12 +157,12 @@ GetMoveGrammar: ; 105e5c
.loop
ld a, [hli]
; end of table?
- cp $ff
+ cp -1
jr z, .end
; match?
cp c
jr z, .end
-; advance grammar type at $00
+; advance grammar type at 0
and a
jr nz, .loop
; next grammar type
@@ -179,106 +179,7 @@ GetMoveGrammar: ; 105e5c
ret
; 105e7a
-MoveGrammar: ; 105e7a
-; made redundant in localization
-; each move is given an identifier for what usedmovetext to use (0-4):
-
-; 0
- db SWORDS_DANCE
- db GROWTH
- db STRENGTH
- db HARDEN
- db MINIMIZE
- db SMOKESCREEN
- db WITHDRAW
- db DEFENSE_CURL
- db EGG_BOMB
- db SMOG
- db BONE_CLUB
- db FLASH
- db SPLASH
- db ACID_ARMOR
- db BONEMERANG
- db REST
- db SHARPEN
- db SUBSTITUTE
- db MIND_READER
- db SNORE
- db PROTECT
- db SPIKES
- db ENDURE
- db ROLLOUT
- db SWAGGER
- db SLEEP_TALK
- db HIDDEN_POWER
- db PSYCH_UP
- db EXTREMESPEED
- db 0 ; end set
-
-; 1
- db RECOVER
- db TELEPORT
- db BIDE
- db SELFDESTRUCT
- db AMNESIA
- db FLAIL
- db 0 ; end set
-
-; 2
- db MEDITATE
- db AGILITY
- db MIMIC
- db DOUBLE_TEAM
- db BARRAGE
- db TRANSFORM
- db STRUGGLE
- db SCARY_FACE
- db 0 ; end set
-
-; 3
- db POUND
- db SCRATCH
- db VICEGRIP
- db WING_ATTACK
- db FLY
- db BIND
- db SLAM
- db HORN_ATTACK
- db WRAP
- db THRASH
- db TAIL_WHIP
- db LEER
- db BITE
- db GROWL
- db ROAR
- db SING
- db PECK
- db ABSORB
- db STRING_SHOT
- db EARTHQUAKE
- db FISSURE
- db DIG
- db TOXIC
- db SCREECH
- db METRONOME
- db LICK
- db CLAMP
- db CONSTRICT
- db POISON_GAS
- db BUBBLE
- db SLASH
- db SPIDER_WEB
- db NIGHTMARE
- db CURSE
- db FORESIGHT
- db CHARM
- db ATTRACT
- db ROCK_SMASH
- db 0 ; end set
-
-; all other moves = 4
- db $ff ; end
-; 105ed0
+INCLUDE "data/moves/grammar.asm"
UpdateUsedMoves: ; 105ed0
diff --git a/engine/battle_anims/anim_commands.asm b/engine/battle_anims/anim_commands.asm
index 27d57e68f..0bbedf909 100644
--- a/engine/battle_anims/anim_commands.asm
+++ b/engine/battle_anims/anim_commands.asm
@@ -5,7 +5,7 @@ PlayBattleAnim: ; cc0d6
ld a, [rSVBK]
push af
- ld a, 5
+ ld a, BANK(ActiveAnimObjects)
ld [rSVBK], a
call _PlayBattleAnim
@@ -163,7 +163,7 @@ BattleAnimRestoreHuds: ; cc1bb
ld a, [rSVBK]
push af
- ld a, $1
+ ld a, BANK(CurBattleMon) ; alternatively: BANK(TempMon), BANK(PartyMon1), several others
ld [rSVBK], a
ld hl, UpdateBattleHuds
@@ -232,8 +232,7 @@ ClearActorHud: ; cc207
ret
; cc220
-Functioncc220: ; cc220
-; Appears to be unused.
+Unreferenced_Functioncc220: ; cc220
xor a
ld [hBGMapMode], a
ld a, LOW(vBGMap0 tile $28)
@@ -258,15 +257,15 @@ BattleAnim_ClearCGB_OAMFlags: ; cc23d
bit 3, a
jr z, .delete
- ld hl, Sprites + 3
- ld c, (SpritesEnd - Sprites) / 4
+ ld hl, Sprite01Attributes
+ ld c, NUM_SPRITE_OAM_STRUCTS
.loop
ld a, [hl]
and $f0
ld [hli], a
+rept SPRITEOAMSTRUCT_LENGTH +- 1
inc hl
- inc hl
- inc hl
+endr
dec c
jr nz, .loop
ret
@@ -917,7 +916,7 @@ BattleAnimCmd_E7: ; cc5db (33:45db)
BattleAnimCmd_Transform: ; cc5dc (33:45dc)
ld a, [rSVBK]
push af
- ld a, 1
+ ld a, BANK(CurPartySpecies)
ld [rSVBK], a
ld a, [CurPartySpecies] ; CurPartySpecies
push af
@@ -973,9 +972,9 @@ BattleAnimCmd_RaiseSub: ; cc640 (33:4640)
ld a, [rSVBK]
push af
- ld a, 1
+ ld a, 1 ; unnecessary bankswitch?
ld [rSVBK], a
- xor a
+ xor a ; sScratch
call GetSRAMBank
GetSubstitutePic: ; cc64c
@@ -1047,9 +1046,9 @@ GetSubstitutePic: ; cc64c
BattleAnimCmd_MinimizeOpp: ; cc6cf (33:46cf)
ld a, [rSVBK]
push af
- ld a, $1
+ ld a, 1 ; unnecessary bankswitch?
ld [rSVBK], a
- xor a
+ xor a ; sScratch
call GetSRAMBank
call GetMinimizePic
call Request2bpp
@@ -1077,7 +1076,7 @@ GetMinimizePic: ; cc6e7 (33:46e7)
call CopyMinimizePic
ld hl, vTiles2 tile $00
ld de, sScratch
- lb bc, BANK(GetMinimizePic), $31
+ lb bc, BANK(GetMinimizePic), 7 * 7
ret
.player
@@ -1085,7 +1084,7 @@ GetMinimizePic: ; cc6e7 (33:46e7)
call CopyMinimizePic
ld hl, vTiles2 tile $31
ld de, sScratch
- lb bc, BANK(GetMinimizePic), $24
+ lb bc, BANK(GetMinimizePic), 6 * 6
ret
CopyMinimizePic: ; cc719 (33:4719)
@@ -1103,9 +1102,9 @@ INCBIN "gfx/battle/minimize.2bpp"
BattleAnimCmd_Minimize: ; cc735 (33:4735)
ld a, [rSVBK]
push af
- ld a, $1
+ ld a, 1 ; unnecessary bankswitch?
ld [rSVBK], a
- xor a
+ xor a ; sScratch
call GetSRAMBank
call GetMinimizePic
ld hl, vTiles0 tile $00
@@ -1118,7 +1117,7 @@ BattleAnimCmd_Minimize: ; cc735 (33:4735)
BattleAnimCmd_DropSub: ; cc750 (33:4750)
ld a, [rSVBK]
push af
- ld a, $1
+ ld a, BANK(CurPartySpecies)
ld [rSVBK], a
ld a, [CurPartySpecies] ; CurPartySpecies
@@ -1143,7 +1142,7 @@ BattleAnimCmd_DropSub: ; cc750 (33:4750)
BattleAnimCmd_BeatUp: ; cc776 (33:4776)
ld a, [rSVBK]
push af
- ld a, $1
+ ld a, BANK(CurPartySpecies)
ld [rSVBK], a
ld a, [CurPartySpecies] ; CurPartySpecies
push af
@@ -1207,7 +1206,7 @@ BattleAnimCmd_Sound: ; cc7cd (33:47cd)
srl a
ld [wSFXDuration], a
call .GetCryTrack
- and 3
+ maskbits NUM_NOISE_CHANS
ld [CryTracks], a ; CryTracks
ld e, a
@@ -1244,7 +1243,7 @@ BattleAnimCmd_Sound: ; cc7cd (33:47cd)
BattleAnimCmd_Cry: ; cc807 (33:4807)
call GetBattleAnimByte
- and 3
+ maskbits NUM_NOISE_CHANS
ld e, a
ld d, 0
ld hl, .CryData
@@ -1254,7 +1253,7 @@ endr
ld a, [rSVBK]
push af
- ld a, 1
+ ld a, BANK(EnemyMon) ; BattleMon is in WRAM0, but EnemyMon is in WRAMX
ld [rSVBK], a
ld a, [hBattleTurn]
@@ -1262,18 +1261,18 @@ endr
jr nz, .enemy
ld a, $f0
- ld [CryTracks], a ; CryTracks
- ld a, [BattleMonSpecies] ; BattleMonSpecies
+ ld [CryTracks], a
+ ld a, [BattleMonSpecies]
jr .done_cry_tracks
.enemy
ld a, $0f
- ld [CryTracks], a ; CryTracks
- ld a, [EnemyMonSpecies] ; EnemyMon
+ ld [CryTracks], a
+ ld a, [EnemyMonSpecies]
.done_cry_tracks
push hl
- call LoadCryHeader
+ call LoadCry
pop hl
jr c, .done
@@ -1310,7 +1309,7 @@ endr
ld a, 1
ld [wStereoPanningMask], a
- callfar _PlayCryHeader
+ callfar _PlayCry
.done
pop af
@@ -1431,7 +1430,7 @@ BattleAnim_SetBGPals: ; cc91a
ret z
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld hl, wBGPals2
ld de, wBGPals1
@@ -1459,7 +1458,7 @@ BattleAnim_SetOBPals: ; cc94b
ret z
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wOBPals1)
ld [rSVBK], a
ld hl, wOBPals2 palette PAL_BATTLE_OB_GRAY
ld de, wOBPals1 palette PAL_BATTLE_OB_GRAY
diff --git a/engine/battle_anims/bg_effects.asm b/engine/battle_anims/bg_effects.asm
index bb8feb1f9..a7c2012e5 100644
--- a/engine/battle_anims/bg_effects.asm
+++ b/engine/battle_anims/bg_effects.asm
@@ -506,13 +506,13 @@ BattleBGEffect_HeadFollow: ; c8281 (32:4281)
push bc
call BGEffect_CheckBattleTurn
jr nz, .player_turn
- ld a, ANIM_OBJ_BA
+ ld a, ANIM_OBJ_PLAYERHEADFOLLOW
ld [wBattleAnimTemp0], a
ld a, 16 * 8 + 4
jr .okay
.player_turn
- ld a, ANIM_OBJ_BB
+ ld a, ANIM_OBJ_ENEMYHEADFOLLOW
ld [wBattleAnimTemp0], a
ld a, 6 * 8
.okay
@@ -2578,7 +2578,7 @@ BGEffects_LoadBGPal0_OBPal1: ; c8e52 (32:4e52)
ld h, a
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld a, h
push bc
@@ -2605,7 +2605,7 @@ BGEffects_LoadBGPal1_OBPal0: ; c8e7f (32:4e7f)
ld h, a
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld a, h
push bc
diff --git a/engine/battle_anims/engine.asm b/engine/battle_anims/core.asm
index 55adeae8c..55adeae8c 100755
--- a/engine/battle_anims/engine.asm
+++ b/engine/battle_anims/core.asm
diff --git a/engine/battle_anims/functions.asm b/engine/battle_anims/functions.asm
index ea9fb70b3..5e85ffdb0 100755
--- a/engine/battle_anims/functions.asm
+++ b/engine/battle_anims/functions.asm
@@ -428,9 +428,9 @@ GetBallAnimPal: ; cd249 (33:5249)
ld hl, BallColors
ld a, [rSVBK]
push af
- ld a, $1
+ ld a, BANK(CurItem)
ld [rSVBK], a
- ld a, [CurItem] ; CurItem
+ ld a, [CurItem]
ld e, a
pop af
ld [rSVBK], a
@@ -4083,18 +4083,19 @@ BattleAnim_IncAnonJumptableIndex: ; ce72c (33:672c)
ret
BattleAnim_Cosine: ; ce732 (33:6732)
- add $10
+; a = d * cos(a * pi/32)
+ add %010000
BattleAnim_Sine: ; ce734 (33:6734)
-; a = d sin a
- and $3f
- cp $20
+; a = d * sin(a * pi/32)
+ and %111111
+ cp %100000
jr nc, .negative
call .ApplySineWave
ld a, h
ret
.negative
- and $1f
+ and %011111
call .ApplySineWave
ld a, h
xor $ff
@@ -4111,7 +4112,7 @@ BattleAnim_Sine: ; ce734 (33:6734)
ld e, [hl]
inc hl
ld d, [hl]
- ld hl, $0
+ ld hl, 0
.multiply
srl a
jr nc, .even
diff --git a/engine/battle_anims/getpokeballwobble.asm b/engine/battle_anims/getpokeballwobble.asm
index 7fb4d3e38..2bc53d798 100755
--- a/engine/battle_anims/getpokeballwobble.asm
+++ b/engine/battle_anims/getpokeballwobble.asm
@@ -8,7 +8,7 @@ GetPokeBallWobble: ; f971 (3:7971)
ld d, a
push de
- ld a, 1 ; BANK(Buffer2)
+ ld a, BANK(Buffer2)
ld [rSVBK], a
ld a, [Buffer2]
diff --git a/engine/billspc.asm b/engine/billspc.asm
index f94f495c6..5fa590c41 100755
--- a/engine/billspc.asm
+++ b/engine/billspc.asm
@@ -136,7 +136,7 @@ _DepositPKMN: ; e2391 (38:6391)
jp c, BillsPCDepositFuncCancel
ld a, [wMenuCursorY]
dec a
- and $3
+ and %11
ld e, a
ld d, 0
ld hl, BillsPCDepositJumptable
@@ -229,15 +229,14 @@ BillsPCDepositFuncCancel: ; e2537 (38:6537)
; e253d (38:653d)
BillsPCDepositMenuDataHeader: ; 0xe253d (38:653d)
- db $40 ; flags
- db 04, 09 ; start coords
- db 13, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 9, 4, SCREEN_WIDTH - 1, 13
dw .MenuData2
db 1 ; default option
; 0xe2545
.MenuData2: ; 0xe2545 (38:6545)
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 4 ; items
db "DEPOSIT@"
db "STATS@"
@@ -245,8 +244,7 @@ BillsPCDepositMenuDataHeader: ; 0xe253d (38:653d)
db "CANCEL@"
; 0xe2564 (38:6564)
-BillsPC_ClearThreeBoxes: ; e2564
-; unreferenced
+Unreferenced_BillsPCClearThreeBoxes: ; e2564
hlcoord 0, 0
ld b, 4
ld c, 8
@@ -401,7 +399,7 @@ BillsPC_Withdraw: ; e2675 (38:6675)
jp c, .cancel
ld a, [wMenuCursorY]
dec a
- and 3
+ and %11
ld e, a
ld d, 0
ld hl, .dw
@@ -490,15 +488,14 @@ BillsPC_Withdraw: ; e2675 (38:6675)
; e2731 (38:6731)
.MenuDataHeader: ; 0xe2731
- db $40 ; flags
- db 04, 09 ; start coords
- db 13, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 9, 4, SCREEN_WIDTH - 1, 13
dw .MenuData
db 1 ; default option
; 0xe2739
.MenuData: ; 0xe2739
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 4 ; items
db "WITHDRAW@"
db "STATS@"
@@ -663,7 +660,7 @@ _MovePKMNWithoutMail: ; e2759
jp c, .Cancel
ld a, [wMenuCursorY]
dec a
- and 3
+ and %11
ld e, a
ld d, 0
ld hl, .Jumptable2
@@ -714,15 +711,14 @@ _MovePKMNWithoutMail: ; e2759
; e28c3
.MenuDataHeader: ; 0xe28c3
- db $40 ; flags
- db 04, 09 ; start coords
- db 13, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 9, 4, SCREEN_WIDTH - 1, 13
dw .MenuData2
db 1 ; default option
; 0xe28cb
.MenuData2: ; 0xe28cb
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 3 ; items
db "MOVE@"
db "STATS@"
@@ -1335,11 +1331,11 @@ BillsPC_RefreshTextboxes: ; e2c2c (38:6c2c)
jr z, .boxfail
ld bc, sBoxMonNicknames - sBox
add hl, bc
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
ld a, e
call AddNTimes
ld de, StringBuffer1
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
call CloseSRAM
pop hl
@@ -1361,11 +1357,11 @@ BillsPC_RefreshTextboxes: ; e2c2c (38:6c2c)
and a
jr z, .partyfail
ld hl, PartyMonNicknames
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
ld a, e
call AddNTimes
ld de, StringBuffer1
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
pop hl
ld de, StringBuffer1
@@ -1387,11 +1383,11 @@ BillsPC_RefreshTextboxes: ; e2c2c (38:6c2c)
and a
jr z, .sBoxFail
ld hl, sBoxMonNicknames
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
ld a, e
call AddNTimes
ld de, StringBuffer1
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
call CloseSRAM
pop hl
@@ -1502,7 +1498,7 @@ BillsPC_UpdateSelectionCursor: ; e2e01 (38:6e01)
.place_cursor
ld hl, .OAM
- ld de, Sprites
+ ld de, Sprite01
.loop
ld a, [hl]
cp -1
@@ -1512,9 +1508,9 @@ BillsPC_UpdateSelectionCursor: ; e2e01 (38:6e01)
swap a
add [hl]
inc hl
- ld [de], a
+ ld [de], a ; y
inc de
-rept 3
+rept SPRITEOAMSTRUCT_LENGTH +- 1
ld a, [hli]
ld [de], a
inc de
@@ -1523,36 +1519,36 @@ endr
; e2e2b (38:6e2b)
.OAM: ; e2e2b
- dsprite 4, 6, 10, 0, $00, $00
- dsprite 4, 6, 11, 0, $00, $00
- dsprite 4, 6, 12, 0, $00, $00
- dsprite 4, 6, 13, 0, $00, $00
- dsprite 4, 6, 14, 0, $00, $00
- dsprite 4, 6, 15, 0, $00, $00
- dsprite 4, 6, 16, 0, $00, $00
- dsprite 4, 6, 17, 0, $00, $00
- dsprite 4, 6, 18, 0, $00, $00
- dsprite 4, 6, 18, 7, $00, $00
- dsprite 7, 1, 10, 0, $00, $40
- dsprite 7, 1, 11, 0, $00, $40
- dsprite 7, 1, 12, 0, $00, $40
- dsprite 7, 1, 13, 0, $00, $40
- dsprite 7, 1, 14, 0, $00, $40
- dsprite 7, 1, 15, 0, $00, $40
- dsprite 7, 1, 16, 0, $00, $40
- dsprite 7, 1, 17, 0, $00, $40
- dsprite 7, 1, 18, 0, $00, $40
- dsprite 7, 1, 18, 7, $00, $40
- dsprite 5, 6, 9, 6, $01, $00
- dsprite 6, 1, 9, 6, $01, $40
- dsprite 5, 6, 19, 1, $01, $20
- dsprite 6, 1, 19, 1, $01, $60
+ dsprite 4, 6, 10, 0, $00, 0
+ dsprite 4, 6, 11, 0, $00, 0
+ dsprite 4, 6, 12, 0, $00, 0
+ dsprite 4, 6, 13, 0, $00, 0
+ dsprite 4, 6, 14, 0, $00, 0
+ dsprite 4, 6, 15, 0, $00, 0
+ dsprite 4, 6, 16, 0, $00, 0
+ dsprite 4, 6, 17, 0, $00, 0
+ dsprite 4, 6, 18, 0, $00, 0
+ dsprite 4, 6, 18, 7, $00, 0
+ dsprite 7, 1, 10, 0, $00, 0 | Y_FLIP
+ dsprite 7, 1, 11, 0, $00, 0 | Y_FLIP
+ dsprite 7, 1, 12, 0, $00, 0 | Y_FLIP
+ dsprite 7, 1, 13, 0, $00, 0 | Y_FLIP
+ dsprite 7, 1, 14, 0, $00, 0 | Y_FLIP
+ dsprite 7, 1, 15, 0, $00, 0 | Y_FLIP
+ dsprite 7, 1, 16, 0, $00, 0 | Y_FLIP
+ dsprite 7, 1, 17, 0, $00, 0 | Y_FLIP
+ dsprite 7, 1, 18, 0, $00, 0 | Y_FLIP
+ dsprite 7, 1, 18, 7, $00, 0 | Y_FLIP
+ dsprite 5, 6, 9, 6, $01, 0
+ dsprite 6, 1, 9, 6, $01, 0 | Y_FLIP
+ dsprite 5, 6, 19, 1, $01, 0 | X_FLIP
+ dsprite 6, 1, 19, 1, $01, 0 | X_FLIP | Y_FLIP
db -1
; e2e8c
BillsPC_UpdateInsertCursor: ; e2e8c
ld hl, .OAM
- ld de, Sprites
+ ld de, Sprite01
.loop
ld a, [hl]
cp -1
@@ -1562,9 +1558,9 @@ BillsPC_UpdateInsertCursor: ; e2e8c
swap a
add [hl]
inc hl
- ld [de], a
+ ld [de], a ; y
inc de
-rept 3
+rept SPRITEOAMSTRUCT_LENGTH +- 1
ld a, [hli]
ld [de], a
inc de
@@ -1573,20 +1569,20 @@ endr
; e2eac
.OAM: ; e2eac
- dsprite 4, 7, 10, 0, $06, $00
- dsprite 5, 3, 11, 0, $00, $40
- dsprite 5, 3, 12, 0, $00, $40
- dsprite 5, 3, 13, 0, $00, $40
- dsprite 5, 3, 14, 0, $00, $40
- dsprite 5, 3, 15, 0, $00, $40
- dsprite 5, 3, 16, 0, $00, $40
- dsprite 5, 3, 17, 0, $00, $40
- dsprite 5, 3, 18, 0, $00, $40
- dsprite 4, 7, 19, 0, $07, $00
+ dsprite 4, 7, 10, 0, $06, 0
+ dsprite 5, 3, 11, 0, $00, 0 | Y_FLIP
+ dsprite 5, 3, 12, 0, $00, 0 | Y_FLIP
+ dsprite 5, 3, 13, 0, $00, 0 | Y_FLIP
+ dsprite 5, 3, 14, 0, $00, 0 | Y_FLIP
+ dsprite 5, 3, 15, 0, $00, 0 | Y_FLIP
+ dsprite 5, 3, 16, 0, $00, 0 | Y_FLIP
+ dsprite 5, 3, 17, 0, $00, 0 | Y_FLIP
+ dsprite 5, 3, 18, 0, $00, 0 | Y_FLIP
+ dsprite 4, 7, 19, 0, $07, 0
db -1
; e2ed5
-BillsPC_UnusedFillBox: ; e2ed5
+Unreferenced_BillsPC_FillBox: ; e2ed5
.row
push bc
push hl
@@ -1823,13 +1819,13 @@ DepositPokemon: ; e307c (38:707c)
call GetNick
ld a, PC_DEPOSIT
ld [wPokemonWithdrawDepositParameter], a
- predef SentGetPkmnIntoFromBox
+ predef SendGetPkmnIntoFromBox
jr c, .asm_boxisfull
xor a
ld [wPokemonWithdrawDepositParameter], a
farcall RemoveMonFromPartyOrBox
ld a, [CurPartySpecies]
- call PlayCry
+ call PlayMonCry
hlcoord 0, 0
lb bc, 15, 8
call ClearBox
@@ -1878,13 +1874,13 @@ TryWithdrawPokemon: ; e30fa (38:70fa)
call CloseSRAM
xor a
ld [wPokemonWithdrawDepositParameter], a
- predef SentGetPkmnIntoFromBox
+ predef SendGetPkmnIntoFromBox
jr c, .PartyFull
ld a, PC_DEPOSIT
ld [wPokemonWithdrawDepositParameter], a
farcall RemoveMonFromPartyOrBox
ld a, [CurPartySpecies]
- call PlayCry
+ call PlayMonCry
hlcoord 0, 0
lb bc, 15, 8
call ClearBox
@@ -1938,7 +1934,7 @@ ReleasePKMN_ByePKMN: ; e3180 (38:7180)
jr c, .skip_cry
ld e, c
ld d, b
- call PlayCryHeader
+ call PlayCry
.skip_cry
ld a, [CurPartySpecies]
@@ -2104,7 +2100,7 @@ MovePKMNWitoutMail_InsertMon: ; e31e7
ld hl, wBillsPC_BackupScrollPosition
add [hl]
ld [CurPartyMon], a
- ld a, $1
+ ld a, BANK(sBox)
call GetSRAMBank
ld hl, sBoxSpecies
call CopySpeciesToTemp
@@ -2175,11 +2171,11 @@ CopySpeciesToTemp: ; e3357 (38:7357)
ret
CopyNicknameToTemp: ; e3363 (38:7363)
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
ld a, [CurPartyMon]
call AddNTimes
ld de, wBufferMonNick
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
ret
@@ -2333,15 +2329,14 @@ BillsPC_ClearTilemap: ; e35e2 (38:75e2)
; e35f1 (38:75f1)
_ChangeBox_menudataheader: ; 0xe35f1
- db $40 ; flags
- db 05, 01 ; start coords
- db 12, 09 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 1, 5, 9, 12
dw .menudata2
db 1 ; default option
; 0xe35f9
.menudata2 ; 0xe35f9
- db $22 ; flags
+ db MENU_UNUSED_1 | MENU_UNUSED_3 ; flags
db 4, 0
db 1
dba .boxes
@@ -2559,18 +2554,17 @@ BillsPC_ChangeBoxSubmenu: ; e36f9 (38:76f9)
ret
; e3778 (38:7778)
- hlcoord 11, 7 ; XXX
+ hlcoord 11, 7 ; unused
.MenuDataHeader: ; 0xe377b
- db $40 ; flags
- db 04, 11 ; start coords
- db 13, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 11, 4, SCREEN_WIDTH - 1, 13
dw .MenuData2
db 1 ; default option
; 0xe3783
.MenuData2: ; 0xe3783
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 4 ; items
db "SWITCH@"
db "NAME@"
diff --git a/engine/billspctop.asm b/engine/billspctop.asm
index c36cbe45d..ac70082d6 100755
--- a/engine/billspctop.asm
+++ b/engine/billspctop.asm
@@ -69,14 +69,13 @@ _BillsPC: ; e3fd
ret
.MenuDataHeader: ; 0xe46f
- db $40 ; flags
- db 00, 00 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw .MenuData2
db 1 ; default option
.MenuData2: ; 0xe477
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 0 ; items
dw .items
dw PlaceMenuStrings
@@ -143,7 +142,7 @@ BillsPC_DepositMenu: ; e4fe (3:64fe)
and a
ret
-Functione512: ; unused
+Unreferenced_Functione512:
ld a, [PartyCount]
and a
jr z, .no_pkmn
@@ -212,7 +211,7 @@ BillsPC_WithdrawMenu: ; e559 (3:6559)
and a
ret
-Functione56d: ; unused
+Unreferenced_Functione56d:
ld a, [PartyCount]
cp PARTY_LENGTH
jr nc, .asm_e576
@@ -268,7 +267,7 @@ CopyBoxmonToTempMon: ; e5bb
call CloseSRAM
ret
-Functione5d9: ; unreferenced
+Unreferenced_Functione5d9:
ld a, [wCurBox]
cp b
jr z, .same_box
diff --git a/engine/breeding.asm b/engine/breeding.asm
index 234e05448..b16747089 100755
--- a/engine/breeding.asm
+++ b/engine/breeding.asm
@@ -232,7 +232,7 @@ HatchEggs: ; 16f70 (5:6f70)
push de
farcall SetEggMonCaughtData
- farcall TrainerRankings_EggsHatched
+ farcall StubbedTrainerRankings_EggsHatched
ld a, [CurPartyMon]
ld hl, PartyMon1Species
ld bc, PARTYMON_STRUCT_LENGTH
@@ -320,7 +320,7 @@ HatchEggs: ; 16f70 (5:6f70)
call PrintText
ld a, [CurPartyMon]
ld hl, PartyMonNicknames
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call AddNTimes
ld d, h
ld e, l
@@ -345,7 +345,7 @@ HatchEggs: ; 16f70 (5:6f70)
.nonickname
ld hl, StringBuffer1
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
.next ; 1707d (5:707d)
@@ -659,7 +659,7 @@ GetHatchlingFrontpic: ; 1723c (5:723c)
ld hl, BattleMonDVs
predef GetUnownLetter
pop de
- predef_jump GetAnimatedFrontpicPredef
+ predef_jump GetAnimatedFrontpic
Hatch_UpdateFrontpicBGMapCenter: ; 17254 (5:7254)
push af
@@ -726,11 +726,11 @@ EggHatch_AnimationSequence: ; 1728f (5:728f)
ld c, 80
call DelayFrames
xor a
- ld [wcf64], a
+ ld [wFrameCounter], a
ld a, [hSCX]
ld b, a
.outerloop
- ld hl, wcf64
+ ld hl, wFrameCounter
ld a, [hl]
inc [hl]
cp 8
@@ -791,7 +791,7 @@ Hatch_LoadFrontpicPal: ; 17363 (5:7363)
jp GetSGBLayout
EggHatch_CrackShell: ; 1736d (5:736d)
- ld a, [wcf64]
+ ld a, [wFrameCounter]
dec a
and $7
cp $7
@@ -860,18 +860,22 @@ Hatch_InitShellFragments: ; 173b3 (5:73b3)
ret
; 173ef (5:73ef)
+shell_fragment: MACRO
+; y tile, y pxl, x tile, x pxl, frameset offset, ???
+ db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5 - SPRITE_ANIM_FRAMESET_EGG_HATCH_1, \6
+ENDM
+
.SpriteData: ; 173ef
-; Probably OAM.
- dsprite 10, 4, 9, 0, $00, $3c
- dsprite 11, 4, 9, 0, $01, $04
- dsprite 10, 4, 10, 0, $00, $30
- dsprite 11, 4, 10, 0, $01, $10
- dsprite 10, 4, 11, 0, $02, $24
- dsprite 11, 4, 11, 0, $03, $1c
- dsprite 10, 0, 9, 4, $00, $36
- dsprite 12, 0, 9, 4, $01, $0a
- dsprite 10, 0, 10, 4, $02, $2a
- dsprite 12, 0, 10, 4, $03, $16
+ shell_fragment 10, 4, 9, 0, SPRITE_ANIM_FRAMESET_EGG_HATCH_1, $3c
+ shell_fragment 11, 4, 9, 0, SPRITE_ANIM_FRAMESET_EGG_HATCH_2, $04
+ shell_fragment 10, 4, 10, 0, SPRITE_ANIM_FRAMESET_EGG_HATCH_1, $30
+ shell_fragment 11, 4, 10, 0, SPRITE_ANIM_FRAMESET_EGG_HATCH_2, $10
+ shell_fragment 10, 4, 11, 0, SPRITE_ANIM_FRAMESET_EGG_HATCH_3, $24
+ shell_fragment 11, 4, 11, 0, SPRITE_ANIM_FRAMESET_EGG_HATCH_4, $1c
+ shell_fragment 10, 0, 9, 4, SPRITE_ANIM_FRAMESET_EGG_HATCH_1, $36
+ shell_fragment 12, 0, 9, 4, SPRITE_ANIM_FRAMESET_EGG_HATCH_2, $0a
+ shell_fragment 10, 0, 10, 4, SPRITE_ANIM_FRAMESET_EGG_HATCH_3, $2a
+ shell_fragment 12, 0, 10, 4, SPRITE_ANIM_FRAMESET_EGG_HATCH_4, $16
db -1
; 17418
@@ -887,7 +891,7 @@ Special_DayCareMon1: ; 17421
ld hl, DayCareMon1Text
call PrintText
ld a, [wBreedMon1Species]
- call PlayCry
+ call PlayMonCry
ld a, [wDayCareLady]
bit 0, a
jr z, DayCareMonCursor
@@ -900,7 +904,7 @@ Special_DayCareMon2: ; 17440
ld hl, DayCareMon2Text
call PrintText
ld a, [wBreedMon2Species]
- call PlayCry
+ call PlayMonCry
ld a, [wDayCareMan]
bit 0, a
jr z, DayCareMonCursor
@@ -981,8 +985,7 @@ DayCareMonCompatibilityText: ; 1746c
db "@"
; 0x174b5
-DayCareMonPrintEmptyString: ; 174b5
-; unreferenced
+Unreferenced_DayCareMonPrintEmptyString: ; 174b5
ld hl, .string
ret
; 174b9
diff --git a/engine/buy_sell_toss.asm b/engine/buy_sell_toss.asm
index 37bee86b1..ff2bd2967 100755
--- a/engine/buy_sell_toss.asm
+++ b/engine/buy_sell_toss.asm
@@ -214,25 +214,22 @@ BuySell_DisplaySubtotal: ; 250d1
; 250ed
TossItem_MenuDataHeader: ; 0x250ed
- db $40 ; flags
- db 09, 15 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 15, 9, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw ret_25097
db 0 ; default option
; 0x250f5
BuyItem_MenuDataHeader: ; 0x250f5
- db $40 ; flags
- db 15, 07 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 7, 15, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw DisplayPurchasePrice
db -1 ; default option
; 0x250fd
SellItem_MenuDataHeader: ; 0x250fd
- db $40 ; flags
- db 15, 07 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 7, 15, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw DisplaySellingPrice
db 0 ; default option
; 0x25105
diff --git a/engine/card_flip.asm b/engine/card_flip.asm
index 158f3fa05..ae90b124a 100755
--- a/engine/card_flip.asm
+++ b/engine/card_flip.asm
@@ -1,7 +1,15 @@
CARDFLIP_LIGHT_OFF EQU $ef
CARDFLIP_LIGHT_ON EQU $f5
+
CARDFLIP_DECK_SIZE EQU 4 * 6
+; two labels below called from inside ./dummy_game.asm
+Unknown_e00ed: ; e00ed (38:40ed)
+; Graphics for an unused Game Corner
+; game were meant to be here.
+ret_e00ed: ; e00ed (38:40ed)
+ ret
+
_CardFlip: ; e00ee (38:40ee)
ld hl, Options
set 4, [hl]
@@ -25,11 +33,11 @@ _CardFlip: ; e00ee (38:40ee)
ld de, vTiles0 tile $00
call Decompress
ld hl, CardFlipOffButtonGFX
- ld de, vTiles1 tile $6f
+ ld de, vTiles0 tile CARDFLIP_LIGHT_OFF
ld bc, 1 tiles
call CopyBytes
ld hl, CardFlipOnButtonGFX
- ld de, vTiles1 tile $75
+ ld de, vTiles0 tile CARDFLIP_LIGHT_ON
ld bc, 1 tiles
call CopyBytes
@@ -593,23 +601,23 @@ CardFlip_CopyToBox: ; e04f7 (38:44f7)
; e0509 (38:4509)
CardFlip_CopyOAM: ; e0509
- ld de, Sprites
+ ld de, Sprite01
ld a, [hli]
.loop
push af
ld a, [hli]
add b
- ld [de], a
+ ld [de], a ; y
inc de
ld a, [hli]
add c
- ld [de], a
+ ld [de], a ; x
inc de
ld a, [hli]
- ld [de], a
+ ld [de], a ; tile id
inc de
ld a, [hli]
- ld [de], a
+ ld [de], a ; attributes
inc de
pop af
dec a
@@ -618,11 +626,11 @@ CardFlip_CopyOAM: ; e0509
; e0521
CardFlip_ShiftDigitsLeftTwoPixels: ; e0521 (38:4521)
- ld de, vTiles1 tile ("0" & $7f)
- ld hl, vTiles1 tile ("0" & $7f) + 2
+ ld de, vTiles0 tile "0"
+ ld hl, vTiles0 tile "0" + 2
ld bc, 10 tiles - 2
call CopyBytes
- ld hl, vTiles1 tile $7f + 1 tiles - 2
+ ld hl, vTiles0 tile "9" + 1 tiles - 2
xor a
ld [hli], a
ld [hl], a
@@ -1210,29 +1218,29 @@ PlaceOAMCardBorder: ; e0849
.SpriteData: ; e0853
db 18
- dsprite 0, 0, 0, 0, $04, $00
- dsprite 0, 0, 1, 0, $06, $00
- dsprite 0, 0, 2, 0, $06, $00
- dsprite 0, 0, 3, 0, $06, $00
- dsprite 0, 0, 4, 0, $04, $20
+ dsprite 0, 0, 0, 0, $04, 0
+ dsprite 0, 0, 1, 0, $06, 0
+ dsprite 0, 0, 2, 0, $06, 0
+ dsprite 0, 0, 3, 0, $06, 0
+ dsprite 0, 0, 4, 0, $04, 0 | X_FLIP
- dsprite 1, 0, 0, 0, $05, $00
- dsprite 1, 0, 4, 0, $05, $20
+ dsprite 1, 0, 0, 0, $05, 0
+ dsprite 1, 0, 4, 0, $05, 0 | X_FLIP
- dsprite 2, 0, 0, 0, $05, $00
- dsprite 2, 0, 4, 0, $05, $20
+ dsprite 2, 0, 0, 0, $05, 0
+ dsprite 2, 0, 4, 0, $05, 0 | X_FLIP
- dsprite 3, 0, 0, 0, $05, $00
- dsprite 3, 0, 4, 0, $05, $20
+ dsprite 3, 0, 0, 0, $05, 0
+ dsprite 3, 0, 4, 0, $05, 0 | X_FLIP
dsprite 4, 0, 0, 0, $05, $00
- dsprite 4, 0, 4, 0, $05, $20
+ dsprite 4, 0, 4, 0, $05, 0 | X_FLIP
- dsprite 5, 0, 0, 0, $04, $40
- dsprite 5, 0, 1, 0, $06, $40
- dsprite 5, 0, 2, 0, $06, $40
- dsprite 5, 0, 3, 0, $06, $40
- dsprite 5, 0, 4, 0, $04, $60
+ dsprite 5, 0, 0, 0, $04, 0 | Y_FLIP
+ dsprite 5, 0, 1, 0, $06, 0 | Y_FLIP
+ dsprite 5, 0, 2, 0, $06, 0 | Y_FLIP
+ dsprite 5, 0, 3, 0, $06, 0 | Y_FLIP
+ dsprite 5, 0, 4, 0, $04, 0 | X_FLIP | Y_FLIP
; e089c
ChooseCard_HandleJoypad: ; e089c
@@ -1471,145 +1479,145 @@ ENDM
.SingleTile: ; e0a41
db 6
- dsprite 0, 0, -1, 7, $00, $80
- dsprite 0, 0, 0, 0, $02, $80
- dsprite 0, 0, 1, 0, $03, $80
- dsprite 0, 5, -1, 7, $00, $c0
- dsprite 0, 5, 0, 0, $02, $c0
- dsprite 0, 5, 1, 0, $03, $80
+ dsprite 0, 0, -1, 7, $00, 0 | PRIORITY
+ dsprite 0, 0, 0, 0, $02, 0 | PRIORITY
+ dsprite 0, 0, 1, 0, $03, 0 | PRIORITY
+ dsprite 0, 5, -1, 7, $00, 0 | Y_FLIP | PRIORITY
+ dsprite 0, 5, 0, 0, $02, 0 | Y_FLIP | PRIORITY
+ dsprite 0, 5, 1, 0, $03, 0 | PRIORITY
.PokeGroup: ; e0a5a
db 26
- dsprite 0, 0, -1, 7, $00, $80
- dsprite 0, 0, 0, 0, $02, $80
- dsprite 0, 0, 1, 0, $00, $a0
- dsprite 1, 0, -1, 7, $01, $80
- dsprite 1, 0, 1, 0, $01, $a0
- dsprite 2, 0, -1, 7, $01, $80
- dsprite 2, 0, 1, 0, $03, $80
- dsprite 3, 0, -1, 7, $01, $80
- dsprite 3, 0, 1, 0, $03, $80
- dsprite 4, 0, -1, 7, $01, $80
- dsprite 4, 0, 1, 0, $03, $80
- dsprite 5, 0, -1, 7, $01, $80
- dsprite 5, 0, 1, 0, $03, $80
- dsprite 6, 0, -1, 7, $01, $80
- dsprite 6, 0, 1, 0, $03, $80
- dsprite 7, 0, -1, 7, $01, $80
- dsprite 7, 0, 1, 0, $03, $80
- dsprite 8, 0, -1, 7, $01, $80
- dsprite 8, 0, 1, 0, $03, $80
- dsprite 9, 0, -1, 7, $01, $80
- dsprite 9, 0, 1, 0, $03, $80
- dsprite 10, 0, -1, 7, $01, $80
- dsprite 10, 0, 1, 0, $03, $80
- dsprite 10, 1, -1, 7, $00, $c0
- dsprite 10, 1, 0, 0, $02, $c0
- dsprite 10, 1, 1, 0, $03, $80
+ dsprite 0, 0, -1, 7, $00, 0 | PRIORITY
+ dsprite 0, 0, 0, 0, $02, 0 | PRIORITY
+ dsprite 0, 0, 1, 0, $00, 0 | X_FLIP | PRIORITY
+ dsprite 1, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 1, 0, 1, 0, $01, 0 | X_FLIP | PRIORITY
+ dsprite 2, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 2, 0, 1, 0, $03, 0 | PRIORITY
+ dsprite 3, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 3, 0, 1, 0, $03, 0 | PRIORITY
+ dsprite 4, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 4, 0, 1, 0, $03, 0 | PRIORITY
+ dsprite 5, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 5, 0, 1, 0, $03, 0 | PRIORITY
+ dsprite 6, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 6, 0, 1, 0, $03, 0 | PRIORITY
+ dsprite 7, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 7, 0, 1, 0, $03, 0 | PRIORITY
+ dsprite 8, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 8, 0, 1, 0, $03, 0 | PRIORITY
+ dsprite 9, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 9, 0, 1, 0, $03, 0 | PRIORITY
+ dsprite 10, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 10, 0, 1, 0, $03, 0 | PRIORITY
+ dsprite 10, 1, -1, 7, $00, 0 | Y_FLIP | PRIORITY
+ dsprite 10, 1, 0, 0, $02, 0 | Y_FLIP | PRIORITY
+ dsprite 10, 1, 1, 0, $03, 0 | PRIORITY
.NumGroup: ; e0ac3
db 20
- dsprite 0, 0, -1, 7, $00, $80
- dsprite 0, 0, 0, 0, $02, $80
- dsprite 0, 0, 1, 0, $02, $80
- dsprite 0, 0, 2, 0, $03, $80
- dsprite 0, 0, 3, 0, $02, $80
- dsprite 0, 0, 4, 0, $03, $80
- dsprite 0, 0, 5, 0, $02, $80
- dsprite 0, 0, 6, 0, $03, $80
- dsprite 0, 0, 7, 0, $02, $80
- dsprite 0, 0, 8, 0, $03, $80
- dsprite 0, 5, -1, 7, $00, $c0
- dsprite 0, 5, 0, 0, $02, $c0
- dsprite 0, 5, 1, 0, $02, $c0
- dsprite 0, 5, 2, 0, $03, $80
- dsprite 0, 5, 3, 0, $02, $c0
- dsprite 0, 5, 4, 0, $03, $80
- dsprite 0, 5, 5, 0, $02, $c0
- dsprite 0, 5, 6, 0, $03, $80
- dsprite 0, 5, 7, 0, $02, $c0
- dsprite 0, 5, 8, 0, $03, $80
+ dsprite 0, 0, -1, 7, $00, 0 | PRIORITY
+ dsprite 0, 0, 0, 0, $02, 0 | PRIORITY
+ dsprite 0, 0, 1, 0, $02, 0 | PRIORITY
+ dsprite 0, 0, 2, 0, $03, 0 | PRIORITY
+ dsprite 0, 0, 3, 0, $02, 0 | PRIORITY
+ dsprite 0, 0, 4, 0, $03, 0 | PRIORITY
+ dsprite 0, 0, 5, 0, $02, 0 | PRIORITY
+ dsprite 0, 0, 6, 0, $03, 0 | PRIORITY
+ dsprite 0, 0, 7, 0, $02, 0 | PRIORITY
+ dsprite 0, 0, 8, 0, $03, 0 | PRIORITY
+ dsprite 0, 5, -1, 7, $00, 0 | Y_FLIP | PRIORITY
+ dsprite 0, 5, 0, 0, $02, 0 | Y_FLIP | PRIORITY
+ dsprite 0, 5, 1, 0, $02, 0 | Y_FLIP | PRIORITY
+ dsprite 0, 5, 2, 0, $03, 0 | PRIORITY
+ dsprite 0, 5, 3, 0, $02, 0 | Y_FLIP | PRIORITY
+ dsprite 0, 5, 4, 0, $03, 0 | PRIORITY
+ dsprite 0, 5, 5, 0, $02, 0 | Y_FLIP | PRIORITY
+ dsprite 0, 5, 6, 0, $03, 0 | PRIORITY
+ dsprite 0, 5, 7, 0, $02, 0 | Y_FLIP | PRIORITY
+ dsprite 0, 5, 8, 0, $03, 0 | PRIORITY
.NumGroupPair: ; e0b14
db 30
- dsprite 0, 0, 0, 0, $00, $80
- dsprite 0, 0, 1, 0, $02, $80
- dsprite 0, 0, 2, 0, $02, $80
- dsprite 0, 0, 3, 0, $03, $80
- dsprite 0, 0, 4, 0, $02, $80
- dsprite 0, 0, 5, 0, $03, $80
- dsprite 0, 0, 6, 0, $02, $80
- dsprite 0, 0, 7, 0, $03, $80
- dsprite 0, 0, 8, 0, $02, $80
- dsprite 0, 0, 9, 0, $03, $80
- dsprite 1, 0, 0, 0, $01, $80
- dsprite 1, 0, 3, 0, $03, $80
- dsprite 1, 0, 5, 0, $03, $80
- dsprite 1, 0, 7, 0, $03, $80
- dsprite 1, 0, 9, 0, $03, $80
- dsprite 2, 0, 0, 0, $01, $80
- dsprite 2, 0, 3, 0, $03, $80
- dsprite 2, 0, 5, 0, $03, $80
- dsprite 2, 0, 7, 0, $03, $80
- dsprite 2, 0, 9, 0, $03, $80
- dsprite 2, 1, 0, 0, $00, $c0
- dsprite 2, 1, 1, 0, $02, $c0
- dsprite 2, 1, 2, 0, $02, $c0
- dsprite 2, 1, 3, 0, $03, $80
- dsprite 2, 1, 4, 0, $03, $80
- dsprite 2, 1, 5, 0, $03, $80
- dsprite 2, 1, 6, 0, $03, $80
- dsprite 2, 1, 7, 0, $03, $80
- dsprite 2, 1, 8, 0, $03, $80
- dsprite 2, 1, 9, 0, $03, $80
+ dsprite 0, 0, 0, 0, $00, 0 | PRIORITY
+ dsprite 0, 0, 1, 0, $02, 0 | PRIORITY
+ dsprite 0, 0, 2, 0, $02, 0 | PRIORITY
+ dsprite 0, 0, 3, 0, $03, 0 | PRIORITY
+ dsprite 0, 0, 4, 0, $02, 0 | PRIORITY
+ dsprite 0, 0, 5, 0, $03, 0 | PRIORITY
+ dsprite 0, 0, 6, 0, $02, 0 | PRIORITY
+ dsprite 0, 0, 7, 0, $03, 0 | PRIORITY
+ dsprite 0, 0, 8, 0, $02, 0 | PRIORITY
+ dsprite 0, 0, 9, 0, $03, 0 | PRIORITY
+ dsprite 1, 0, 0, 0, $01, 0 | PRIORITY
+ dsprite 1, 0, 3, 0, $03, 0 | PRIORITY
+ dsprite 1, 0, 5, 0, $03, 0 | PRIORITY
+ dsprite 1, 0, 7, 0, $03, 0 | PRIORITY
+ dsprite 1, 0, 9, 0, $03, 0 | PRIORITY
+ dsprite 2, 0, 0, 0, $01, 0 | PRIORITY
+ dsprite 2, 0, 3, 0, $03, 0 | PRIORITY
+ dsprite 2, 0, 5, 0, $03, 0 | PRIORITY
+ dsprite 2, 0, 7, 0, $03, 0 | PRIORITY
+ dsprite 2, 0, 9, 0, $03, 0 | PRIORITY
+ dsprite 2, 1, 0, 0, $00, 0 | Y_FLIP | PRIORITY
+ dsprite 2, 1, 1, 0, $02, 0 | Y_FLIP | PRIORITY
+ dsprite 2, 1, 2, 0, $02, 0 | Y_FLIP | PRIORITY
+ dsprite 2, 1, 3, 0, $03, 0 | PRIORITY
+ dsprite 2, 1, 4, 0, $03, 0 | PRIORITY
+ dsprite 2, 1, 5, 0, $03, 0 | PRIORITY
+ dsprite 2, 1, 6, 0, $03, 0 | PRIORITY
+ dsprite 2, 1, 7, 0, $03, 0 | PRIORITY
+ dsprite 2, 1, 8, 0, $03, 0 | PRIORITY
+ dsprite 2, 1, 9, 0, $03, 0 | PRIORITY
.PokeGroupPair: ; e0b8d
db 38
- dsprite 0, 0, -1, 7, $00, $80
- dsprite 0, 0, 3, 0, $00, $a0
- dsprite 1, 0, -1, 7, $01, $80
- dsprite 1, 0, 3, 0, $01, $a0
- dsprite 2, 0, -1, 7, $01, $80
- dsprite 2, 0, 3, 0, $01, $a0
- dsprite 3, 0, -1, 7, $01, $80
- dsprite 3, 0, 1, 0, $03, $80
- dsprite 3, 0, 3, 0, $03, $80
- dsprite 4, 0, -1, 7, $01, $80
- dsprite 4, 0, 1, 0, $03, $80
- dsprite 4, 0, 3, 0, $03, $80
- dsprite 5, 0, -1, 7, $01, $80
- dsprite 5, 0, 1, 0, $03, $80
- dsprite 5, 0, 3, 0, $03, $80
- dsprite 6, 0, -1, 7, $01, $80
- dsprite 6, 0, 1, 0, $03, $80
- dsprite 6, 0, 3, 0, $03, $80
- dsprite 7, 0, -1, 7, $01, $80
- dsprite 7, 0, 1, 0, $03, $80
- dsprite 7, 0, 3, 0, $03, $80
- dsprite 8, 0, -1, 7, $01, $80
- dsprite 8, 0, 1, 0, $03, $80
- dsprite 8, 0, 3, 0, $03, $80
- dsprite 9, 0, -1, 7, $01, $80
- dsprite 9, 0, 1, 0, $03, $80
- dsprite 9, 0, 3, 0, $03, $80
- dsprite 10, 0, -1, 7, $01, $80
- dsprite 10, 0, 1, 0, $03, $80
- dsprite 10, 0, 3, 0, $03, $80
- dsprite 11, 0, -1, 7, $01, $80
- dsprite 11, 0, 1, 0, $03, $80
- dsprite 11, 0, 3, 0, $03, $80
- dsprite 11, 1, -1, 7, $00, $c0
- dsprite 11, 1, 0, 0, $02, $c0
- dsprite 11, 1, 1, 0, $03, $c0
- dsprite 11, 1, 2, 0, $02, $c0
- dsprite 11, 1, 3, 0, $03, $e0
+ dsprite 0, 0, -1, 7, $00, 0 | PRIORITY
+ dsprite 0, 0, 3, 0, $00, 0 | X_FLIP | PRIORITY
+ dsprite 1, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 1, 0, 3, 0, $01, 0 | X_FLIP | PRIORITY
+ dsprite 2, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 2, 0, 3, 0, $01, 0 | X_FLIP | PRIORITY
+ dsprite 3, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 3, 0, 1, 0, $03, 0 | PRIORITY
+ dsprite 3, 0, 3, 0, $03, 0 | PRIORITY
+ dsprite 4, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 4, 0, 1, 0, $03, 0 | PRIORITY
+ dsprite 4, 0, 3, 0, $03, 0 | PRIORITY
+ dsprite 5, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 5, 0, 1, 0, $03, 0 | PRIORITY
+ dsprite 5, 0, 3, 0, $03, 0 | PRIORITY
+ dsprite 6, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 6, 0, 1, 0, $03, 0 | PRIORITY
+ dsprite 6, 0, 3, 0, $03, 0 | PRIORITY
+ dsprite 7, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 7, 0, 1, 0, $03, 0 | PRIORITY
+ dsprite 7, 0, 3, 0, $03, 0 | PRIORITY
+ dsprite 8, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 8, 0, 1, 0, $03, 0 | PRIORITY
+ dsprite 8, 0, 3, 0, $03, 0 | PRIORITY
+ dsprite 9, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 9, 0, 1, 0, $03, 0 | PRIORITY
+ dsprite 9, 0, 3, 0, $03, 0 | PRIORITY
+ dsprite 10, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 10, 0, 1, 0, $03, 0 | PRIORITY
+ dsprite 10, 0, 3, 0, $03, 0 | PRIORITY
+ dsprite 11, 0, -1, 7, $01, 0 | PRIORITY
+ dsprite 11, 0, 1, 0, $03, 0 | PRIORITY
+ dsprite 11, 0, 3, 0, $03, 0 | PRIORITY
+ dsprite 11, 1, -1, 7, $00, 0 | Y_FLIP | PRIORITY
+ dsprite 11, 1, 0, 0, $02, 0 | Y_FLIP | PRIORITY
+ dsprite 11, 1, 1, 0, $03, 0 | Y_FLIP | PRIORITY
+ dsprite 11, 1, 2, 0, $02, 0 | Y_FLIP | PRIORITY
+ dsprite 11, 1, 3, 0, $03, 0 | X_FLIP | Y_FLIP | PRIORITY
.Impossible: ; e0c26
db 4
- dsprite 0, 0, 0, 0, $00, $80
- dsprite 0, 0, 1, 0, $00, $a0
- dsprite 1, 0, 0, 0, $00, $c0
- dsprite 1, 0, 1, 0, $00, $e0
+ dsprite 0, 0, 0, 0, $00, 0 | PRIORITY
+ dsprite 0, 0, 1, 0, $00, 0 | X_FLIP | PRIORITY
+ dsprite 1, 0, 0, 0, $00, 0 | Y_FLIP | PRIORITY
+ dsprite 1, 0, 1, 0, $00, 0 | X_FLIP | Y_FLIP | PRIORITY
; e0c37
CardFlip_InitAttrPals: ; e0c37 (38:4c37)
@@ -1649,7 +1657,7 @@ CardFlip_InitAttrPals: ; e0c37 (38:4c37)
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld hl, .palettes
ld de, wBGPals1
@@ -1661,7 +1669,7 @@ CardFlip_InitAttrPals: ; e0c37 (38:4c37)
; e0c93 (38:4c93)
.palettes ; e0c93
-INCLUDE "data/palettes/card_flip.pal"
+INCLUDE "gfx/card_flip/card_flip.pal"
; e0cdb
CardFlipLZ03: ; e0cdb
diff --git a/engine/caught_data.asm b/engine/caught_data.asm
index 1f8b8cac4..9310b7b90 100644
--- a/engine/caught_data.asm
+++ b/engine/caught_data.asm
@@ -1,4 +1,4 @@
-CheckPartyFullAfterContest: ; 4d9e5
+Special_CheckPartyFullAfterContest: ; 4d9e5
ld a, [wContestMon]
and a
jp z, .DidntCatchAnything
@@ -7,17 +7,17 @@ CheckPartyFullAfterContest: ; 4d9e5
call GetBaseData
ld hl, PartyCount
ld a, [hl]
- cp 6
+ cp PARTY_LENGTH
jp nc, .TryAddToBox
inc a
ld [hl], a
ld c, a
- ld b, $0
+ ld b, 0
add hl, bc
ld a, [wContestMon]
ld [hli], a
ld [CurSpecies], a
- ld a, $ff
+ ld a, -1
ld [hl], a
ld hl, PartyMon1Species
ld a, [PartyCount]
@@ -42,7 +42,7 @@ CheckPartyFullAfterContest: ; 4d9e5
call GetPokemonName
ld hl, StringBuffer1
ld de, wMonOrItemNameBuffer
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
call GiveANickname_YesNo
jr c, .Party_SkipNickname
@@ -75,13 +75,13 @@ CheckPartyFullAfterContest: ; 4d9e5
ld hl, PartyMon1CaughtLocation
call GetPartyLocation
ld a, [hl]
- and $80
- ld b, $13
+ and CAUGHT_GENDER_MASK
+ ld b, NATIONAL_PARK
or b
ld [hl], a
xor a
ld [wContestMon], a
- and a
+ and a ; BUGCONTEST_CAUGHT_MON
ld [ScriptVar], a
ret
@@ -120,7 +120,7 @@ CheckPartyFullAfterContest: ; 4d9e5
ld a, BANK(sBoxMonNicknames)
call GetSRAMBank
ld de, sBoxMonNicknames
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
call CloseSRAM
@@ -135,19 +135,19 @@ CheckPartyFullAfterContest: ; 4d9e5
call GetSRAMBank
ld hl, sBoxMon1CaughtLocation
ld a, [hl]
- and $80
- ld b, $13
+ and CAUGHT_GENDER_MASK
+ ld b, NATIONAL_PARK
or b
ld [hl], a
call CloseSRAM
xor a
ld [wContestMon], a
- ld a, $1
+ ld a, BUGCONTEST_BOXED_MON
ld [ScriptVar], a
ret
.DidntCatchAnything: ; 4db35
- ld a, $2
+ ld a, BUGCONTEST_NO_CATCH
ld [ScriptVar], a
ret
@@ -227,7 +227,7 @@ SetGiftPartyMonCaughtData: ; 4dba3
SetGiftMonCaughtData: ; 4dbaf
xor a
ld [hli], a
- ld a, $7e
+ ld a, GIFT_LOCATION
rrc b
or b
ld [hl], a
@@ -239,7 +239,7 @@ SetEggMonCaughtData: ; 4dbb8 (13:5bb8)
call GetPartyLocation
ld a, [CurPartyLevel]
push af
- ld a, $1
+ ld a, CAUGHT_EGG_LEVEL
ld [CurPartyLevel], a
call SetBoxmonOrEggmonCaughtData
pop af
diff --git a/engine/cgb_layouts.asm b/engine/cgb_layouts.asm
index 74d476dec..84fb6c9de 100644
--- a/engine/cgb_layouts.asm
+++ b/engine/cgb_layouts.asm
@@ -6,7 +6,7 @@ CheckCGB: ; 8d55
ret
; 8d59
-Predef_LoadSGBLayoutCGB: ; 8d59
+LoadSGBLayoutCGB: ; 8d59
ld a, b
cp SCGB_RAM
jr nz, .not_ram
@@ -40,12 +40,12 @@ Predef_LoadSGBLayoutCGB: ; 8d59
dw _CGB_Pokedex
dw _CGB_SlotMachine
dw _CGB06
- dw _CGB07
+ dw _CGB_GSIntro
dw _CGB_Diploma
dw _CGB_MapPals
dw _CGB_PartyMenu
dw _CGB_Evolution
- dw _CGB0c
+ dw _CGB_GSTitleScreen
dw _CGB0d
dw _CGB_MoveList
dw _CGB0f
@@ -58,7 +58,7 @@ Predef_LoadSGBLayoutCGB: ; 8d59
dw _CGB_PokedexUnownMode
dw _CGB_BillsPC
dw _CGB_UnownPuzzle
- dw _CGB_GamefreakLogo ; called before copyright
+ dw _CGB_GamefreakLogo
dw _CGB_PlayerOrMonFrontpicPals
dw _CGB_TradeTube
dw _CGB_TrainerOrMonFrontpicPals
@@ -67,15 +67,15 @@ Predef_LoadSGBLayoutCGB: ; 8d59
; 8db8
_CGB_BattleGrayscale: ; 8db8
- ld hl, PalPacket_9c66 + 1
+ ld hl, PalPacket_BattleGrayscale + 1
ld de, wBGPals1
ld c, 4
call CopyPalettes
- ld hl, PalPacket_9c66 + 1
+ ld hl, PalPacket_BattleGrayscale + 1
ld de, wBGPals1 palette PAL_BATTLE_BG_EXP
ld c, 4
call CopyPalettes
- ld hl, PalPacket_9c66 + 1
+ ld hl, PalPacket_BattleGrayscale + 1
ld de, wOBPals1
ld c, 2
call CopyPalettes
@@ -158,9 +158,9 @@ _CGB_FinishBattleScreenLayout: ; 8e23
InitPartyMenuBGPal7: ; 8e85
farcall Function100dc0
Mobile_InitPartyMenuBGPal7: ; 8e8b
- ld hl, Palette_b311
+ ld hl, PartyMenuBGPalette
jr nc, .not_mobile
- ld hl, Palette_b309
+ ld hl, PartyMenuBGMobilePalette
.not_mobile
ld de, wBGPals1 palette 7
ld bc, 1 palettes
@@ -171,9 +171,9 @@ Mobile_InitPartyMenuBGPal7: ; 8e8b
InitPartyMenuBGPal0: ; 8e9f
farcall Function100dc0
- ld hl, Palette_b311
+ ld hl, PartyMenuBGPalette
jr nc, .not_mobile
- ld hl, Palette_b309
+ ld hl, PartyMenuBGMobilePalette
.not_mobile
ld de, wBGPals1 palette 0
ld bc, 1 palettes
@@ -258,35 +258,16 @@ _CGB_StatsScreenHPPals: ; 8edb
; 8f52
StatsScreenPagePals: ; 8f52
-; pink
- RGB 31, 31, 31
- RGB 31, 19, 31
- RGB 31, 15, 31
- RGB 00, 00, 00
-; green
- RGB 31, 31, 31
- RGB 21, 31, 14
- RGB 17, 31, 00
- RGB 00, 00, 00
-; blue
- RGB 31, 31, 31
- RGB 17, 31, 31
- RGB 17, 31, 31
- RGB 00, 00, 00
+INCLUDE "gfx/stats/pages.pal"
; 8f6a
StatsScreenPals: ; 8f6a
-; pink
- RGB 31, 19, 31
-; green
- RGB 21, 31, 14
-; blue
- RGB 17, 31, 31
+INCLUDE "gfx/stats/stats.pal"
; 8f70
_CGB_Pokedex: ; 8f70
ld de, wBGPals1
- ld a, $1d
+ ld a, PREDEFPAL_POKEDEX
call GetPredefPal
call LoadHLPaletteIntoDE ; dex interface palette
ld a, [CurPartySpecies]
@@ -319,21 +300,16 @@ _CGB_Pokedex: ; 8f70
; 8fba
.PokedexQuestionMarkPalette: ; 8fba
- RGB 11, 23, 00
- RGB 07, 17, 00
- RGB 06, 16, 03
- RGB 05, 12, 01
+INCLUDE "gfx/pokedex/question_mark.pal"
+; 8fc2
.PokedexCursorPalette: ; 8fc2
- RGB 00, 00, 00
- RGB 11, 23, 00
- RGB 07, 17, 00
- RGB 00, 00, 00
+INCLUDE "gfx/pokedex/cursor.pal"
; 8fca
_CGB_BillsPC: ; 8fca
ld de, wBGPals1
- ld a, $1d
+ ld a, PREDEFPAL_POKEDEX
call GetPredefPal
call LoadHLPaletteIntoDE
ld a, [CurPartySpecies]
@@ -385,15 +361,12 @@ _CGB_BillsPC: ; 8fca
; 9036
.BillsPCOrangePalette: ; 9036
- RGB 31, 15, 00
- RGB 23, 12, 00
- RGB 15, 07, 00
- RGB 00, 00, 00
+INCLUDE "gfx/pc/orange.pal"
; 903e
_CGB_PokedexUnownMode: ; 903e
ld de, wBGPals1
- ld a, $1d
+ ld a, PREDEFPAL_POKEDEX
call GetPredefPal
call LoadHLPaletteIntoDE
ld a, [CurPartySpecies]
@@ -467,11 +440,11 @@ _CGB_SlotMachine: ; 906e
; 90f8
_CGB06: ; 90f8
- ld hl, PalPacket_9ca6 + 1
+ ld hl, PalPacket_SCGB_06 + 1
call CopyFourPalettes
call WipeAttrMap
ld de, wOBPals1
- ld a, $3c
+ ld a, PREDEFPAL_PACK
call GetPredefPal
call LoadHLPaletteIntoDE
hlcoord 0, 6, AttrMap
@@ -485,7 +458,7 @@ _CGB06: ; 90f8
ret
; 9122
-_CGB07: ; 9122
+_CGB_GSIntro: ; 9122
ld b, 0
ld hl, .Jumptable
add hl, bc
@@ -497,16 +470,16 @@ _CGB07: ; 9122
; 912d
.Jumptable: ; 912d
- dw .Function9133
- dw .Function9166
- dw .Function9180
+ dw .ShellderLaprasScene
+ dw .JigglypuffPikachuScene
+ dw .StartersCharizardScene
; 9133
-.Function9133: ; 9133
- ld hl, .Palette_914e
+.ShellderLaprasScene: ; 9133
+ ld hl, .ShellderLaprasBGPalette
ld de, wBGPals1
call LoadHLPaletteIntoDE
- ld hl, .Palette_9156
+ ld hl, .ShellderLaprasOBPals
ld de, wOBPals1
ld bc, 2 palettes
ld a, BANK(wOBPals1)
@@ -515,13 +488,13 @@ _CGB07: ; 9122
ret
; 914e
-.Palette_914e: ; 914e
+.ShellderLaprasBGPalette: ; 914e
RGB 19, 31, 19
RGB 18, 23, 31
RGB 11, 21, 28
RGB 04, 16, 24
-.Palette_9156: ; 9156
+.ShellderLaprasOBPals: ; 9156
RGB 29, 29, 29
RGB 20, 19, 20
RGB 19, 06, 04
@@ -533,25 +506,25 @@ _CGB07: ; 9122
RGB 03, 04, 06
; 9166
-.Function9166: ; 9166
+.JigglypuffPikachuScene: ; 9166
ld de, wBGPals1
- ld a, $38
+ ld a, PREDEFPAL_GS_INTRO_JIGGLYPUFF_PIKACHU_BG
call GetPredefPal
call LoadHLPaletteIntoDE
ld de, wOBPals1
- ld a, $39
+ ld a, PREDEFPAL_GS_INTRO_JIGGLYPUFF_PIKACHU_OB
call GetPredefPal
call LoadHLPaletteIntoDE
call WipeAttrMap
ret
; 9180
-.Function9180: ; 9180
- ld hl, PalPacket_9c36 + 1
+.StartersCharizardScene: ; 9180
+ ld hl, PalPacket_Pack + 1
call CopyFourPalettes
ld de, wOBPals1
- ld a, $3a
+ ld a, PREDEFPAL_GS_INTRO_STARTERS_TRANSITION
call GetPredefPal
call LoadHLPaletteIntoDE
call WipeAttrMap
@@ -559,7 +532,7 @@ _CGB07: ; 9122
; 9195
_CGB11: ; 9195
- ld hl, Palettes_b789
+ ld hl, Palettes_SCGB_11
ld de, wBGPals1
ld bc, 5 palettes
ld a, BANK(wBGPals1)
@@ -577,7 +550,7 @@ _CGB_Diploma: ; 91ad
ld a, BANK(wBGPals1)
call FarCopyWRAM
- ld hl, PalPacket_9cb6 + 1
+ ld hl, PalPacket_Diploma + 1
call CopyFourPalettes
call WipeAttrMap
call ApplyAttrMap
@@ -592,7 +565,7 @@ _CGB_MapPals: ; 91c8
; 91d1
_CGB_PartyMenu: ; 91d1
- ld hl, PalPacket_9c56 + 1
+ ld hl, PalPacket_PartyMenu + 1
call CopyFourPalettes
call InitPartyMenuBGPal0
call InitPartyMenuBGPal7
@@ -606,7 +579,7 @@ _CGB_Evolution: ; 91e4
ld a, c
and a
jr z, .pokemon
- ld a, $1a
+ ld a, PREDEFPAL_BLACKOUT
call GetPredefPal
call LoadHLPaletteIntoDE
jr .got_palette
@@ -636,13 +609,13 @@ _CGB_Evolution: ; 91e4
ret
; 9228
-_CGB0c: ; 9228
- ld hl, Palettes_b6f1
+_CGB_GSTitleScreen: ; 9228
+ ld hl, UnusedGSTitleBGPals
ld de, wBGPals1
ld bc, 5 palettes
ld a, BANK(wBGPals1)
call FarCopyWRAM
- ld hl, Palettes_b719
+ ld hl, UnusedGSTitleOBPals
ld de, wOBPals1
ld bc, 2 palettes
ld a, BANK(wOBPals1)
@@ -656,7 +629,7 @@ _CGB0c: ; 9228
; 9251
_CGB0d: ; 9251
- ld hl, PalPacket_9cb6 + 1
+ ld hl, PalPacket_Diploma + 1
call CopyFourPalettes
call WipeAttrMap
call ApplyAttrMap
@@ -664,10 +637,10 @@ _CGB0d: ; 9251
; 925e
_CGB_UnownPuzzle: ; 925e
- ld hl, PalPacket_9bc6 + 1
+ ld hl, PalPacket_UnownPuzzle + 1
call CopyFourPalettes
ld de, wOBPals1
- ld a, $4c
+ ld a, PREDEFPAL_UNOWN_PUZZLE
call GetPredefPal
call LoadHLPaletteIntoDE
ld a, [rSVBK]
@@ -675,9 +648,9 @@ _CGB_UnownPuzzle: ; 925e
ld a, BANK(wOBPals1)
ld [rSVBK], a
ld hl, wOBPals1
- ld a, $1f
+ ld a, LOW(palred 31 + palgreen 0 + palblue 0)
ld [hli], a
- ld a, $0
+ ld a, HIGH(palred 31 + palgreen 0 + palblue 0)
ld [hl], a
pop af
ld [rSVBK], a
@@ -712,7 +685,7 @@ _CGB_TrainerCard: ; 9289
ld a, PRYCE
call GetTrainerPalettePointer
call LoadPalette_White_Col1_Col2_Black
- ld a, $24
+ ld a, PREDEFPAL_CGB_BADGE
call GetPredefPal
call LoadHLPaletteIntoDE
@@ -794,7 +767,7 @@ _CGB_TrainerCard: ; 9289
_CGB_MoveList: ; 9373
ld de, wBGPals1
- ld a, $10
+ ld a, PREDEFPAL_GOLDENROD
call GetPredefPal
call LoadHLPaletteIntoDE
ld a, [PlayerHPPal]
@@ -818,7 +791,7 @@ _CGB_MoveList: ; 9373
; 93a6
_CGB0f: ; 93a6
- ld hl, PalPacket_9c46 + 1
+ ld hl, PalPacket_SCGB_0F + 1
call CopyFourPalettes
call WipeAttrMap
call ApplyAttrMap
@@ -830,7 +803,7 @@ _CGB0f: ; 93a6
_CGB_PokedexSearchOption: ; 93ba
ld de, wBGPals1
- ld a, $1d
+ ld a, PREDEFPAL_POKEDEX
call GetPredefPal
call LoadHLPaletteIntoDE
call WipeAttrMap
@@ -891,11 +864,11 @@ _CGB_PackPals: ; 93d3
; 9439
.ChrisPackPals: ; 9439
-INCLUDE "data/palettes/pack.pal"
+INCLUDE "gfx/pack/pack.pal"
; 9469
.KrisPackPals: ; 9469
-INCLUDE "data/palettes/pack_f.pal"
+INCLUDE "gfx/pack/pack_f.pal"
; 9499
_CGB_Pokepic: ; 9499
@@ -934,7 +907,7 @@ _CGB_Pokepic: ; 9499
; 94d0
_CGB13: ; 94d0
- ld hl, PalPacket_9ba6 + 1
+ ld hl, PalPacket_SCGB_13 + 1
call CopyFourPalettes
call WipeAttrMap
hlcoord 0, 4, AttrMap
@@ -954,7 +927,7 @@ _CGB13: ; 94d0
_CGB_GamefreakLogo: ; 94fa
ld de, wBGPals1
- ld a, $4e
+ ld a, PREDEFPAL_GAMEFREAK_LOGO
call GetPredefPal
call LoadHLPaletteIntoDE
ld hl, .Palette
@@ -970,10 +943,7 @@ _CGB_GamefreakLogo: ; 94fa
; 9521
.Palette: ; 9521
- RGB 31, 31, 31
- RGB 13, 11, 00
- RGB 23, 12, 28
- RGB 00, 00, 00
+INCLUDE "gfx/splash/logo.pal"
; 9529
_CGB_PlayerOrMonFrontpicPals: ; 9529
@@ -999,7 +969,7 @@ _CGB1e: ; 9542
; 9555
_CGB_TradeTube: ; 9555
- ld hl, PalPacket_9cc6 + 1
+ ld hl, PalPacket_TradeTube + 1
call CopyFourPalettes
ld hl, PartyMenuOBPals
ld de, wOBPals1
@@ -1007,7 +977,7 @@ _CGB_TradeTube: ; 9555
ld a, BANK(wOBPals1)
call FarCopyWRAM
ld de, wOBPals1 palette 7
- ld a, $1c
+ ld a, PREDEFPAL_TRADE_TUBE
call GetPredefPal
call LoadHLPaletteIntoDE
call WipeAttrMap
@@ -1059,13 +1029,5 @@ _CGB_MysteryGift: ; 9591
; 95e0
.Palettes: ; 95e0
- RGB 31, 31, 31
- RGB 16, 31, 14
- RGB 05, 14, 21
- RGB 05, 13, 10
-
- RGB 31, 31, 31
- RGB 11, 21, 25
- RGB 05, 14, 21
- RGB 00, 03, 19
+INCLUDE "gfx/mystery_gift/mystery_gift.pal"
; 95f0
diff --git a/engine/clock_reset.asm b/engine/clock_reset.asm
index c81271442..82b81b85c 100755
--- a/engine/clock_reset.asm
+++ b/engine/clock_reset.asm
@@ -220,6 +220,7 @@ RestartClock: ; 20021 (8:4021)
ret
; 20160 (8:4160)
+; unused
.unreferenced ; 20160
ld a, [Buffer3]
ld b, a
diff --git a/engine/color.asm b/engine/color.asm
index 04b24fde9..485125821 100644
--- a/engine/color.asm
+++ b/engine/color.asm
@@ -43,8 +43,7 @@ CheckShininess:
and a
ret
-; unreferenced
-CheckContestMon:
+Unused_CheckContestMon:
; Check a mon's DVs at hl in the bug catching contest.
; Return carry if its DVs are good enough to place in the contest.
@@ -78,8 +77,7 @@ CheckContestMon:
and a
ret
-Function8aa4:
-; XXX
+Unreferenced_Function8aa4:
push de
push bc
ld hl, PalPacket_9ce6
@@ -103,7 +101,7 @@ Function8aa4:
ret
InitPartyMenuPalettes:
- ld hl, PalPacket_9c56 + 1
+ ld hl, PalPacket_PartyMenu + 1
call CopyFourPalettes
call InitPartyMenuOBPals
call WipeAttrMap
@@ -136,21 +134,20 @@ SGB_ApplyPartyMenuHPPals: ; 8ade
ld [hl], e
ret
-Function8b07:
-; Unreferenced
+Unreferenced_Function8b07:
call CheckCGB
ret z
; CGB only
ld hl, .BGPal
ld de, wBGPals1
ld bc, 1 palettes
- ld a, $5
+ ld a, BANK(wBGPals1)
call FarCopyWRAM
ld hl, .OBPal
ld de, wOBPals1
ld bc, 1 palettes
- ld a, $5
+ ld a, BANK(wOBPals1)
call FarCopyWRAM
call ApplyPals
@@ -170,8 +167,7 @@ Function8b07:
RGB 08, 16, 28
RGB 00, 00, 00
-Function8b3f:
-; Unreferenced
+Unreferenced_Function8b3f:
call CheckCGB
ret nz
ld a, [hSGB]
@@ -180,40 +176,37 @@ Function8b3f:
ld hl, BlkPacket_9a86
jp PushSGBPals_
-Function8b4d:
-; XXX
+Unreferenced_Function8b4d:
call CheckCGB
jr nz, .cgb
ld a, [hSGB]
and a
ret z
- ld hl, PalPacket_9c26
+ ld hl, PalPacket_Function8b4d
jp PushSGBPals_
.cgb
ld de, wOBPals1
- ld a, $3b
+ ld a, PREDEFPAL_3B
call GetPredefPal
jp LoadHLPaletteIntoDE
-Function8b67:
-; XXX
+Unreferenced_Function8b67:
call CheckCGB
jr nz, .cgb
ld a, [hSGB]
and a
ret z
- ld hl, PalPacket_9c36
+ ld hl, PalPacket_Pack
jp PushSGBPals_
.cgb
ld de, wOBPals1
- ld a, $3c
+ ld a, PREDEFPAL_PACK
call GetPredefPal
jp LoadHLPaletteIntoDE
-Function8b81:
-; XXX
+Unreferenced_Function8b81:
call CheckCGB
jr nz, .cgb
ld a, [hSGB]
@@ -281,8 +274,7 @@ got_palette_pointer_8bd7
call LoadPalette_White_Col1_Col2_Black
ret
-Function8bec:
-; XXX
+Unreferenced_Function8bec:
ld a, [hCGB]
and a
jr nz, .cgb
@@ -359,7 +351,7 @@ ApplyHPBarPals:
ld bc, HPBarPals
add hl, bc
ld bc, 4
- ld a, $5
+ ld a, BANK(wBGPals2)
call FarCopyWRAM
ld a, $1
ld [hCGBPalUpdate], a
@@ -394,7 +386,7 @@ LoadStatsScreenPals:
add hl, bc
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld a, [hli]
ld [wBGPals1 palette 0], a
@@ -443,7 +435,7 @@ LoadMailPalettes:
.cgb
ld de, wBGPals1
ld bc, 1 palettes
- ld a, $5
+ ld a, BANK(wBGPals1)
call FarCopyWRAM
call ApplyPals
call WipeAttrMap
@@ -451,16 +443,15 @@ LoadMailPalettes:
ret
.MailPals:
-INCLUDE "data/palettes/mail.pal"
+INCLUDE "gfx/mail/mail.pal"
INCLUDE "engine/cgb_layouts.asm"
-Function95f0:
-; XXX
+Unreferenced_Function95f0:
ld hl, .Palette
ld de, wBGPals1
ld bc, 1 palettes
- ld a, $5
+ ld a, BANK(wBGPals1)
call FarCopyWRAM
call ApplyPals
call WipeAttrMap
@@ -475,7 +466,7 @@ Function95f0:
CopyFourPalettes:
ld de, wBGPals1
- ld c, $4
+ ld c, 4
CopyPalettes:
.loop
@@ -504,7 +495,7 @@ GetPredefPal:
LoadHLPaletteIntoDE:
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wOBPals1)
ld [rSVBK], a
ld c, $8
.loop
@@ -520,13 +511,13 @@ LoadHLPaletteIntoDE:
LoadPalette_White_Col1_Col2_Black:
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
- ld a, LOW(palred 31 + palgreen 31 + palblue 31)
+ ld a, LOW(PALRGB_WHITE)
ld [de], a
inc de
- ld a, HIGH(palred 31 + palgreen 31 + palblue 31)
+ ld a, HIGH(PALRGB_WHITE)
ld [de], a
inc de
@@ -572,7 +563,7 @@ ResetBGPals:
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld hl, wBGPals1
@@ -611,7 +602,7 @@ ApplyPals:
ld hl, wBGPals1
ld de, wBGPals2
ld bc, 16 palettes
- ld a, $5
+ ld a, BANK(wPals)
call FarCopyWRAM
ret
@@ -688,7 +679,7 @@ InitPartyMenuOBPals:
ld hl, PartyMenuOBPals
ld de, wOBPals1
ld bc, 2 palettes
- ld a, $5
+ ld a, BANK(wOBPals1)
call FarCopyWRAM
ret
@@ -746,7 +737,8 @@ GetMonPalettePointer_:
call GetMonPalettePointer
ret
-Function9779: mobile
+Unreferenced_Function9779:
+ ret
call CheckCGB
ret z
ld hl, BattleObjectPals
@@ -761,23 +753,22 @@ Function9779: mobile
ld hl, BattleObjectPals
ld de, wOBPals1 palette 2
ld bc, 2 palettes
- ld a, $5
+ ld a, BANK(wOBPals1)
call FarCopyWRAM
ret
BattleObjectPals:
-INCLUDE "data/palettes/battle_objects.pal"
+INCLUDE "gfx/battle_anims/battle_anims.pal"
-Function97cc:
-; XXX
+Unreferenced_Function97cc:
call CheckCGB
ret z
ld a, $90
ld [rOBPI], a
- ld a, $1c
+ ld a, PREDEFPAL_TRADE_TUBE
call GetPredefPal
call .PushPalette
- ld a, $21
+ ld a, PREDEFPAL_RB_GREENMON
call GetPredefPal
call .PushPalette
ret
@@ -887,7 +878,7 @@ InitSGBBorder:
call PushSGBBorder
call SGBDelayCycles
call SGB_ClearVRAM
- ld hl, PalPacket_9d66
+ ld hl, MaskEnCancelPacket
call PushSGBPals
.skip
@@ -900,21 +891,21 @@ InitCGBPals::
call CheckCGB
ret z
; CGB only
- ld a, $1
+ ld a, BANK(vTiles3)
ld [rVBK], a
- ld hl, vTiles0
+ ld hl, vTiles3
ld bc, $200 tiles
xor a
call ByteFill
- ld a, $0
+ ld a, BANK(vTiles0)
ld [rVBK], a
ld a, 1 << rBGPI_AUTO_INCREMENT
ld [rBGPI], a
ld c, 4 * 8
.bgpals_loop
- ld a, LOW(palred 31 + palgreen 31 + palblue 31)
+ ld a, LOW(PALRGB_WHITE)
ld [rBGPD], a
- ld a, HIGH(palred 31 + palgreen 31 + palblue 31)
+ ld a, HIGH(PALRGB_WHITE)
ld [rBGPD], a
dec c
jr nz, .bgpals_loop
@@ -922,15 +913,15 @@ InitCGBPals::
ld [rOBPI], a
ld c, 4 * 8
.obpals_loop
- ld a, LOW(palred 31 + palgreen 31 + palblue 31)
+ ld a, LOW(PALRGB_WHITE)
ld [rOBPD], a
- ld a, HIGH(palred 31 + palgreen 31 + palblue 31)
+ ld a, HIGH(PALRGB_WHITE)
ld [rOBPD], a
dec c
jr nz, .obpals_loop
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld hl, wBGPals1
call .LoadWhitePals
@@ -943,16 +934,16 @@ InitCGBPals::
.LoadWhitePals:
ld c, 4 * 16
.loop
- ld a, LOW(palred 31 + palgreen 31 + palblue 31)
+ ld a, LOW(PALRGB_WHITE)
ld [hli], a
- ld a, HIGH(palred 31 + palgreen 31 + palblue 31)
+ ld a, HIGH(PALRGB_WHITE)
ld [hli], a
dec c
jr nz, .loop
ret
_InitSGBBorderPals:
- ld hl, .PalPacketPointerTable
+ ld hl, .PacketPointerTable
ld c, 9
.loop
push bc
@@ -968,28 +959,27 @@ _InitSGBBorderPals:
jr nz, .loop
ret
-.PalPacketPointerTable:
- dw PalPacket_9d56
- dw PalPacket_9d76
- dw PalPacket_9d86
- dw PalPacket_9d96
- dw PalPacket_9da6
- dw PalPacket_9db6
- dw PalPacket_9dc6
- dw PalPacket_9dd6
- dw PalPacket_9de6
-
-Function9911:
-; XXX
+.PacketPointerTable:
+ dw MaskEnFreezePacket
+ dw DataSndPacket1
+ dw DataSndPacket2
+ dw DataSndPacket3
+ dw DataSndPacket4
+ dw DataSndPacket5
+ dw DataSndPacket6
+ dw DataSndPacket7
+ dw DataSndPacket8
+
+Unreferenced_Function9911:
di
xor a
ld [rJOYP], a
- ld hl, PalPacket_9d56
+ ld hl, MaskEnFreezePacket
call PushSGBPals
call PushSGBBorder
call SGBDelayCycles
call SGB_ClearVRAM
- ld hl, PalPacket_9d66
+ ld hl, MaskEnCancelPacket
call PushSGBPals
ei
ret
@@ -1015,7 +1005,7 @@ SGB_ClearVRAM:
ret
PushSGBBorderPalsAndWait:
- ld hl, PalPacket_9d26
+ ld hl, MltReq2Packet
call PushSGBPals
call SGBDelayCycles
ld a, [rJOYP]
@@ -1060,7 +1050,7 @@ endr
ret
.FinalPush:
- ld hl, PalPacket_9d16
+ ld hl, MltReq1Packet
call PushSGBPals
jp SGBDelayCycles
@@ -1075,7 +1065,7 @@ SGBBorder_PushBGPals:
call DrawDefaultTiles
ld a, LCDC_DEFAULT
ld [rLCDC], a
- ld hl, PalPacket_9d06
+ ld hl, PalTrnPacket
call PushSGBPals
xor a
ld [rBGP], a
@@ -1109,7 +1099,7 @@ SGBBorder_MorePalPushing:
call DrawDefaultTiles
ld a, LCDC_DEFAULT
ld [rLCDC], a
- ld hl, PalPacket_9d46
+ ld hl, PctTrnPacket
call PushSGBPals
xor a
ld [rBGP], a
@@ -1133,7 +1123,7 @@ SGBBorder_YetMorePalPushing:
call DrawDefaultTiles
ld a, LCDC_DEFAULT
ld [rLCDC], a
- ld hl, PalPacket_9d36
+ ld hl, ChrTrnPacket
call PushSGBPals
xor a
ld [rBGP], a
@@ -1197,26 +1187,28 @@ SGBDelayCycles:
jr nz, .wait
ret
-INCLUDE "data/palettes/blk_packets.asm"
-
-INCLUDE "data/palettes/pal_packets.asm"
+INCLUDE "gfx/sgb/blk_packets.asm"
+INCLUDE "gfx/sgb/pal_packets.asm"
+INCLUDE "data/sgb_ctrl_packets.asm"
PredefPals:
-INCLUDE "data/palettes/predef.pal"
+INCLUDE "gfx/sgb/predef.pal"
-INCLUDE "data/sgb_border_map.asm"
+SGBBorderMap:
+; interleaved tile ids and palette ids
+INCBIN "gfx/sgb/sgb_border.bin"
SGBBorderPalettes:
-INCLUDE "data/palettes/sgb_border.pal"
+INCLUDE "gfx/sgb/sgb_border.pal"
SGBBorder:
INCBIN "gfx/sgb/sgb_border.2bpp"
HPBarPals:
-INCLUDE "data/palettes/hp_bar.pal"
+INCLUDE "gfx/battle/hp_bar.pal"
ExpBarPalette:
-INCLUDE "data/palettes/exp_bar.pal"
+INCLUDE "gfx/battle/exp_bar.pal"
INCLUDE "data/pokemon/palettes.asm"
@@ -1239,7 +1231,7 @@ LoadMapPals:
ld l, a
; Futher refine by time of day
ld a, [TimeOfDayPal]
- and 3
+ maskbits NUM_DAYTIMES
add a
add a
add a
@@ -1251,7 +1243,7 @@ LoadMapPals:
; Switch to palettes WRAM bank
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld hl, wBGPals1
ld b, 8
@@ -1285,7 +1277,7 @@ LoadMapPals:
.got_pals
ld a, [TimeOfDayPal]
- and 3
+ maskbits NUM_DAYTIMES
ld bc, 8 palettes
ld hl, MapObjectPals
call AddNTimes
@@ -1309,7 +1301,7 @@ LoadMapPals:
ld de, RoofPals
add hl, de
ld a, [TimeOfDayPal]
- and 3
+ maskbits NUM_DAYTIMES
cp NITE_F
jr c, .morn_day
rept 4
@@ -1318,53 +1310,47 @@ endr
.morn_day
ld de, wBGPals1 palette PAL_BG_ROOF + 2
ld bc, 4
- ld a, $5
+ ld a, BANK(wBGPals1)
call FarCopyWRAM
ret
INCLUDE "data/maps/environment_colors.asm"
-Palette_b309: ; b309 mobile
- RGB 31, 31, 31
- RGB 31, 19, 24
- RGB 30, 10, 06
- RGB 00, 00, 00
+PartyMenuBGMobilePalette:
+INCLUDE "gfx/stats/party_menu_bg_mobile.pal"
-Palette_b311: ; b311 not mobile
- RGB 31, 31, 31
- RGB 17, 19, 31
- RGB 14, 16, 31
- RGB 00, 00, 00
+PartyMenuBGPalette:
+INCLUDE "gfx/stats/party_menu_bg.pal"
TilesetBGPalette:
-INCLUDE "data/palettes/overworld/tileset_bg.pal"
+INCLUDE "gfx/tilesets/bg_tiles.pal"
MapObjectPals::
-INCLUDE "data/palettes/overworld/map_objects.pal"
+INCLUDE "gfx/overworld/npc_sprites.pal"
RoofPals:
-INCLUDE "data/palettes/overworld/roofs.pal"
+INCLUDE "gfx/tilesets/roofs.pal"
DiplomaPalettes:
-INCLUDE "data/palettes/diploma.pal"
+INCLUDE "gfx/diploma/diploma.pal"
PartyMenuOBPals:
-INCLUDE "data/palettes/party_menu.pal"
+INCLUDE "gfx/stats/party_menu_ob.pal"
-Palettes_b6f1:
-INCLUDE "data/palettes/unknown/b6f1.pal"
+UnusedGSTitleBGPals:
+INCLUDE "gfx/title/unused_gs_bg.pal"
-Palettes_b719:
-INCLUDE "data/palettes/unknown/b719.pal"
+UnusedGSTitleOBPals:
+INCLUDE "gfx/title/unused_gs_fg.pal"
MalePokegearPals:
-INCLUDE "data/palettes/pokegear.pal"
+INCLUDE "gfx/pokegear/pokegear.pal"
FemalePokegearPals:
-INCLUDE "data/palettes/pokegear_f.pal"
+INCLUDE "gfx/pokegear/pokegear_f.pal"
-Palettes_b789:
-INCLUDE "data/palettes/unknown/b789.pal"
+Palettes_SCGB_11:
+INCLUDE "gfx/unknown/b789.pal"
SlotMachinePals:
-INCLUDE "data/palettes/slot_machine.pal"
+INCLUDE "gfx/slots/slots.pal"
diff --git a/engine/credits.asm b/engine/credits.asm
index 3dddb4126..ac5064a41 100644
--- a/engine/credits.asm
+++ b/engine/credits.asm
@@ -1,4 +1,4 @@
-INCLUDE "includes.asm"
+INCLUDE "constants.asm"
SECTION "Credits", ROMX
@@ -13,7 +13,7 @@ Credits:: ; 109847
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wPals)
ld [rSVBK], a
call ClearBGPalettes
@@ -34,17 +34,17 @@ Credits:: ; 109847
ld de, CreditsBorderGFX
ld hl, vTiles2 tile $20
- lb bc, BANK(CreditsBorderGFX), $09
+ lb bc, BANK(CreditsBorderGFX), 9
call Request2bpp
ld de, CopyrightGFX
ld hl, vTiles2 tile $60
- lb bc, BANK(CopyrightGFX), $1d
+ lb bc, BANK(CopyrightGFX), 29
call Request2bpp
ld de, TheEndGFX
ld hl, vTiles2 tile $40
- lb bc, BANK(TheEndGFX), $10
+ lb bc, BANK(TheEndGFX), 16
call Request2bpp
ld a, $ff
@@ -504,7 +504,7 @@ GetCreditsPalette: ; 109b2c
.GetPalAddress:
; Each set of palette data is 24 bytes long.
ld a, [wCreditsBorderMon] ; scene
- and 3
+ and %11
add a
add a ; * 8
add a
@@ -540,7 +540,7 @@ GetCreditsPalette: ; 109b2c
ret
CreditsPalettes:
-INCLUDE "data/palettes/credits.pal"
+INCLUDE "gfx/credits/credits.pal"
; 109bca
Credits_LoadBorderGFX: ; 109bca (42:5bca)
@@ -549,13 +549,13 @@ Credits_LoadBorderGFX: ; 109bca (42:5bca)
cp $ff
jr z, .init
- and 3
+ and %11
ld e, a
inc a
- and 3
+ and %11
ld [hl], a
ld a, [wCreditsBorderMon]
- and 3
+ and %11
add a
add a
add e
diff --git a/engine/crystal_intro.asm b/engine/crystal_intro.asm
index 302490a3b..ea6828f14 100755
--- a/engine/crystal_intro.asm
+++ b/engine/crystal_intro.asm
@@ -52,12 +52,12 @@ Copyright_GFPresents: ; e4579
.GetGFLogoGFX: ; e45e8
ld de, GameFreakLogo
ld hl, vTiles2
- lb bc, BANK(GameFreakLogo), $1c
+ lb bc, BANK(GameFreakLogo), 28
call Get1bpp
ld a, [rSVBK]
push af
- ld a, $6
+ ld a, BANK(wDecompressScratch)
ld [rSVBK], a
ld hl, IntroLogoGFX
@@ -94,7 +94,7 @@ Copyright_GFPresents: ; e4579
xor a
ld [wJumptableIndex], a
ld [wIntroSceneFrameCounter], a
- ld [wcf65], a
+ ld [wIntroSceneTimer], a
ld [hSCX], a
ld [hSCY], a
ld a, $1
@@ -146,7 +146,7 @@ PlaceGameFreakPresents_0: ; e468c
; e468d
PlaceGameFreakPresents_1: ; e468d
- ld hl, wcf65
+ ld hl, wIntroSceneTimer
ld a, [hl]
cp $20
jr nc, .PlaceGameFreak
@@ -173,7 +173,7 @@ PlaceGameFreakPresents_1: ; e468d
; e46ba
PlaceGameFreakPresents_2: ; e46ba
- ld hl, wcf65
+ ld hl, wIntroSceneTimer
ld a, [hl]
cp $40
jr nc, .place_presents
@@ -197,7 +197,7 @@ PlaceGameFreakPresents_2: ; e46ba
; e46dd
PlaceGameFreakPresents_3: ; e46dd
- ld hl, wcf65
+ ld hl, wIntroSceneTimer
ld a, [hl]
cp $80
jr nc, .finish
@@ -247,10 +247,10 @@ GameFreakLogoScene2: ; e470d (39:470d)
ld hl, SPRITEANIMSTRUCT_0D
add hl, bc
ld a, [hl]
- and $3f
- cp $20
+ and %111111
+ cp %100000
jr nc, .asm_e4723
- add $20
+ add %100000
.asm_e4723
ld e, a
farcall BattleAnim_Sine_e
@@ -319,7 +319,7 @@ GameFreakLogoScene4: ; e4776 (39:4776)
add hl, de
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wOBPals2)
ld [rSVBK], a
ld a, [hli]
ld [wOBPals2 + 12], a
@@ -341,7 +341,7 @@ GameFreakLogoScene5: ; e47ab (39:47ab)
; e47ac (39:47ac)
GameFreakLogoPalettes: ; e47ac
-INCLUDE "data/palettes/crystal_intro/gamefreak_logo.pal"
+INCLUDE "gfx/intro/gamefreak_logo.pal"
; e47cc
GameFreakLogo: ; e47cc
@@ -352,7 +352,7 @@ INCBIN "gfx/splash/logo2.1bpp"
CrystalIntro: ; e48ac
ld a, [rSVBK]
push af
- ld a, 5
+ ld a, BANK(wPals)
ld [rSVBK], a
ld a, [hInMenu]
push af
@@ -480,7 +480,7 @@ IntroScene1: ; e495b (39:495b)
call Intro_DecompressRequest2bpp_64Tiles
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld hl, Palette_365ad
ld de, wBGPals1
@@ -503,7 +503,7 @@ IntroScene1: ; e495b (39:495b)
call Intro_SetCGBPalUpdate
xor a
ld [wIntroSceneFrameCounter], a
- ld [wcf65], a
+ ld [wIntroSceneTimer], a
call NextIntroScene
ret
@@ -523,7 +523,7 @@ IntroScene2: ; e49d6 (39:49d6)
call PlaySFX
pop af
.DontPlaySound:
- ld [wcf65], a
+ ld [wIntroSceneTimer], a
xor a
call CrystalIntro_UnownFade
ret
@@ -553,7 +553,7 @@ IntroScene3: ; e49fd (39:49fd)
call Intro_DecompressRequest2bpp_64Tiles
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld hl, Palette_e5edd
ld de, wBGPals1
@@ -619,7 +619,7 @@ IntroScene5: ; e4a7a (39:4a7a)
call Intro_DecompressRequest2bpp_64Tiles
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld hl, Palette_365ad
ld de, wBGPals1
@@ -642,7 +642,7 @@ IntroScene5: ; e4a7a (39:4a7a)
call Intro_SetCGBPalUpdate
xor a
ld [wIntroSceneFrameCounter], a
- ld [wcf65], a
+ ld [wIntroSceneTimer], a
call NextIntroScene
ret
@@ -669,7 +669,7 @@ IntroScene6: ; e4af7 (39:4af7)
call PlaySFX
pop af
.NoUnown:
- ld [wcf65], a
+ ld [wIntroSceneTimer], a
xor a
call CrystalIntro_UnownFade
ret
@@ -682,7 +682,7 @@ IntroScene6: ; e4af7 (39:4af7)
call PlaySFX
pop af
.StopUnown:
- ld [wcf65], a
+ ld [wIntroSceneTimer], a
ld a, $1
call CrystalIntro_UnownFade
ret
@@ -725,7 +725,7 @@ IntroScene7: ; e4b3f (39:4b3f)
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld hl, Palette_e5edd
@@ -758,7 +758,7 @@ IntroScene7: ; e4b3f (39:4b3f)
call Intro_SetCGBPalUpdate
xor a
ld [wIntroSceneFrameCounter], a
- ld [wcf65], a
+ ld [wIntroSceneTimer], a
call NextIntroScene
ret
@@ -884,7 +884,7 @@ IntroScene11: ; e4c86 (39:4c86)
call Intro_DecompressRequest2bpp_64Tiles
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld hl, Palette_365ad
ld de, wBGPals1
@@ -907,7 +907,7 @@ IntroScene11: ; e4c86 (39:4c86)
call Intro_SetCGBPalUpdate
xor a
ld [wIntroSceneFrameCounter], a
- ld [wcf65], a
+ ld [wIntroSceneTimer], a
call NextIntroScene
ret
@@ -925,7 +925,7 @@ IntroScene12: ; e4cfa (39:4cfa)
ld c, a
and $1f
sla a
- ld [wcf65], a
+ ld [wIntroSceneTimer], a
ld a, c
and $e0
srl a
@@ -939,7 +939,7 @@ IntroScene12: ; e4cfa (39:4cfa)
and $f
sla a
sla a
- ld [wcf65], a
+ ld [wIntroSceneTimer], a
ld a, c
and $70
or $40
@@ -1011,7 +1011,7 @@ IntroScene13: ; e4d6d (39:4d6d)
call Intro_DecompressRequest2bpp_64Tiles
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld hl, Palette_e5edd
ld de, wBGPals1
@@ -1041,7 +1041,7 @@ IntroScene13: ; e4d6d (39:4d6d)
call Intro_SetCGBPalUpdate
xor a
ld [wIntroSceneFrameCounter], a
- ld [wcf65], a
+ ld [wIntroSceneTimer], a
call NextIntroScene
ret
@@ -1068,7 +1068,7 @@ IntroScene14: ; e4dfa (39:4dfa)
.asm_e4e1a
ld a, $1
- ld [wcf65], a
+ ld [wIntroSceneTimer], a
ld a, [wGlobalAnimXOffset]
cp $88
jr c, .asm_e4e2c
@@ -1120,7 +1120,7 @@ IntroScene15: ; e4e40 (39:4e40)
call Intro_LoadTilemap
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld hl, Palette_e77dd
ld de, wBGPals1
@@ -1150,7 +1150,7 @@ IntroScene15: ; e4e40 (39:4e40)
call _InitSpriteAnimStruct
xor a
ld [wIntroSceneFrameCounter], a
- ld [wcf65], a
+ ld [wIntroSceneTimer], a
call NextIntroScene
ret
@@ -1194,7 +1194,7 @@ IntroScene17: ; e4ef5 (39:4ef5)
call Intro_DecompressRequest2bpp_64Tiles
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld hl, Palette_e6d6d
ld de, wBGPals1
@@ -1217,7 +1217,7 @@ IntroScene17: ; e4ef5 (39:4ef5)
call Intro_SetCGBPalUpdate
xor a
ld [wIntroSceneFrameCounter], a
- ld [wcf65], a
+ ld [wIntroSceneTimer], a
call NextIntroScene
ret
@@ -1268,7 +1268,7 @@ IntroScene19: ; e4f7e (39:4f7e)
call Intro_LoadTilemap
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld hl, Palette_e77dd
ld de, wBGPals1
@@ -1299,7 +1299,7 @@ IntroScene19: ; e4f7e (39:4f7e)
call _InitSpriteAnimStruct
xor a
ld [wIntroSceneFrameCounter], a
- ld [wcf65], a
+ ld [wIntroSceneTimer], a
call NextIntroScene
ret
@@ -1331,7 +1331,7 @@ IntroScene20: ; e5019 (39:5019)
and $1c
srl a
srl a
- ld [wcf65], a
+ ld [wIntroSceneTimer], a
xor a
call Intro_Scene20_AppearUnown
ret
@@ -1341,7 +1341,7 @@ IntroScene20: ; e5019 (39:5019)
and $1c
srl a
srl a
- ld [wcf65], a
+ ld [wIntroSceneTimer], a
ld a, 1
call Intro_Scene20_AppearUnown
ret
@@ -1358,7 +1358,7 @@ IntroScene21: ; e505d (39:505d)
xor a
ld [hBGMapMode], a
ld [wIntroSceneFrameCounter], a
- ld [wcf65], a
+ ld [wIntroSceneTimer], a
call NextIntroScene
ret
@@ -1438,7 +1438,7 @@ IntroScene26: ; e50bb (39:50bb)
call Intro_DecompressRequest2bpp_64Tiles
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld hl, Palette_e679d
ld de, wBGPals1
@@ -1461,13 +1461,13 @@ IntroScene26: ; e50bb (39:50bb)
call Intro_SetCGBPalUpdate
xor a
ld [wIntroSceneFrameCounter], a
- ld [wcf65], a
+ ld [wIntroSceneTimer], a
call NextIntroScene
ret
IntroScene27: ; e512d (39:512d)
; Spell out C R Y S T A L with Unown.
- ld hl, wcf65
+ ld hl, wIntroSceneTimer
inc [hl]
ld hl, wIntroSceneFrameCounter
ld a, [hl]
@@ -1477,7 +1477,7 @@ IntroScene27: ; e512d (39:512d)
ld c, a
and $f
- ld [wcf65], a
+ ld [wIntroSceneTimer], a
ld a, c
and $70
swap a
@@ -1526,7 +1526,7 @@ Intro_Scene24_ApplyPaletteFade: ; e5172 (39:5172)
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals2)
ld [rSVBK], a
ld de, wBGPals2
ld b, 8 ; number of BG pals
@@ -1550,7 +1550,7 @@ Intro_Scene24_ApplyPaletteFade: ; e5172 (39:5172)
; e519c (39:519c)
.FadePals: ; e519c
-INCLUDE "data/palettes/crystal_intro/fade.pal"
+INCLUDE "gfx/intro/fade.pal"
; e51dc
CrystalIntro_InitUnownAnim: ; e51dc (39:51dc)
@@ -1603,13 +1603,13 @@ CrystalIntro_UnownFade: ; e5223 (39:5223)
add hl, de
inc hl
inc hl
- ld a, [wcf65]
- and $3f
- cp $1f
+ ld a, [wIntroSceneTimer]
+ and %111111
+ cp %011111
jr z, .okay
jr c, .okay
ld c, a
- ld a, $3f
+ ld a, %111111
sub c
.okay
@@ -1617,7 +1617,7 @@ CrystalIntro_UnownFade: ; e5223 (39:5223)
ld b, $0
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals2)
ld [rSVBK], a
push hl
@@ -1714,7 +1714,7 @@ Intro_Scene20_AppearUnown: ; e5348 (39:5348)
ld hl, .pal2
.got_pointer
- ld a, [wcf65]
+ ld a, [wIntroSceneTimer]
and $7
add a
add a
@@ -1722,7 +1722,7 @@ Intro_Scene20_AppearUnown: ; e5348 (39:5348)
ld c, a
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals2)
ld [rSVBK], a
push bc
@@ -1784,14 +1784,14 @@ Intro_FadeUnownWordPals: ; e539d (39:539d)
rept 4
inc hl
endr
- ld a, [wcf65]
+ ld a, [wIntroSceneTimer]
add a
ld c, a
ld b, $0
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals2)
ld [rSVBK], a
push hl
@@ -1846,7 +1846,7 @@ endr
Intro_LoadTilemap: ; e541b (39:541b)
ld a, [rSVBK]
push af
- ld a, $6
+ ld a, BANK(wDecompressScratch)
ld [rSVBK], a
ld hl, wDecompressScratch
@@ -1946,7 +1946,7 @@ Intro_SetCGBPalUpdate: ; e549e (39:549e)
Intro_ClearBGPals: ; e54a3 (39:54a3)
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals2)
ld [rSVBK], a
ld hl, wBGPals2
@@ -1965,7 +1965,7 @@ Intro_ClearBGPals: ; e54a3 (39:54a3)
Intro_DecompressRequest2bpp_128Tiles: ; e54c2 (39:54c2)
ld a, [rSVBK]
push af
- ld a, $6
+ ld a, BANK(wDecompressScratch)
ld [rSVBK], a
push de
@@ -1984,7 +1984,7 @@ Intro_DecompressRequest2bpp_128Tiles: ; e54c2 (39:54c2)
Intro_DecompressRequest2bpp_255Tiles: ; e54de (39:54de)
ld a, [rSVBK]
push af
- ld a, $6
+ ld a, BANK(wDecompressScratch)
ld [rSVBK], a
push de
@@ -2003,7 +2003,7 @@ Intro_DecompressRequest2bpp_255Tiles: ; e54de (39:54de)
Intro_DecompressRequest2bpp_64Tiles: ; e54fa (39:54fa)
ld a, [rSVBK]
push af
- ld a, $6
+ ld a, BANK(wDecompressScratch)
ld [rSVBK], a
push de
@@ -2022,7 +2022,7 @@ Intro_DecompressRequest2bpp_64Tiles: ; e54fa (39:54fa)
Intro_ResetLYOverrides: ; e5516 (39:5516)
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(LYOverrides)
ld [rSVBK], a
ld hl, LYOverrides
@@ -2039,7 +2039,7 @@ Intro_ResetLYOverrides: ; e5516 (39:5516)
Intro_PerspectiveScrollBG: ; e552f (39:552f)
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(LYOverrides)
ld [rSVBK], a
; Scroll the grass every frame.
; Scroll the trees every other frame and at half speed.
@@ -2088,7 +2088,7 @@ INCBIN "gfx/intro/003.tilemap.lz"
; e5edd
Palette_e5edd: ; e5edd
-INCLUDE "data/palettes/crystal_intro/intro_1.pal"
+INCLUDE "gfx/intro/intro_1.pal"
; e5f5d
IntroUnownsGFX: ; e5f5d
@@ -2124,7 +2124,7 @@ INCBIN "gfx/intro/007.tilemap.lz"
; e65ad
Palette_365ad: ; e65ad
-INCLUDE "data/palettes/crystal_intro/intro_2.pal"
+INCLUDE "gfx/intro/intro_2.pal"
; e662d
IntroCrystalUnownsGFX: ; e662d
@@ -2140,7 +2140,7 @@ INCBIN "gfx/intro/015.tilemap.lz"
; e679d
Palette_e679d: ; e679d
-INCLUDE "data/palettes/crystal_intro/intro_3.pal"
+INCLUDE "gfx/intro/intro_3.pal"
; e681d
IntroSuicuneCloseGFX: ; e681d
@@ -2156,7 +2156,7 @@ INCBIN "gfx/intro/011.tilemap.lz"
; e6d6d
Palette_e6d6d: ; e6d6d
-INCLUDE "data/palettes/crystal_intro/intro_4.pal"
+INCLUDE "gfx/intro/intro_4.pal"
; e6ded
IntroSuicuneJumpGFX: ; e6ded
@@ -2184,7 +2184,7 @@ INCBIN "gfx/intro/013.tilemap.lz"
; e77dd
Palette_e77dd: ; e77dd
-INCLUDE "data/palettes/crystal_intro/intro_5.pal"
+INCLUDE "gfx/intro/intro_5.pal"
IntroUnownBackGFX: ; e785d
INCBIN "gfx/intro/unown_back.2bpp.lz"
diff --git a/engine/crystal_colors.asm b/engine/crystal_layouts.asm
index 5d2ba236c..9fd01aac0 100755
--- a/engine/crystal_colors.asm
+++ b/engine/crystal_layouts.asm
@@ -23,7 +23,6 @@ GetMysteryGift_MobileAdapterLayout: ; 4930f (mobile)
; 49330 (12:5330)
.dw ; 49330
-
dw MG_Mobile_Layout00
dw MG_Mobile_Layout01
dw MG_Mobile_Layout02
@@ -113,7 +112,7 @@ MG_Mobile_Layout_CreatePalBoxes: ; 49384 (12:5384)
; 493e1 (12:53e1)
Palette_493e1: ; 493e1
-INCLUDE "data/palettes/mg_mobile.pal"
+INCLUDE "gfx/mystery_gift/mg_mobile.pal"
; 49409
LoadOW_BGPal7:: ; 49409
@@ -126,11 +125,11 @@ LoadOW_BGPal7:: ; 49409
; 49418
Palette_TextBG7: ; 49418
-INCLUDE "data/palettes/overworld/bg_text.pal"
+INCLUDE "gfx/font/bg_text.pal"
; 49420
Function49420:: ; 49420 (12:5420)
- ld hl, MansionPalette4
+ ld hl, MansionPalette1 + 8 palettes
ld de, wBGPals1 palette PAL_BG_ROOF
ld bc, 1 palettes
ld a, BANK(wBGPals1)
@@ -204,7 +203,7 @@ Function49496: ; 49496
ret
; 494ac
-INCLUDE "tilesets/special_palettes.asm"
+INCLUDE "engine/tileset_palettes.asm"
MG_Mobile_Layout02: ; 49706
ld hl, .Palette_49732
@@ -241,14 +240,14 @@ Function49742: ; 49742
ld hl, .Palette_49757
ld de, wBGPals1
ld bc, 8 palettes
- ld a, $5
+ ld a, BANK(wBGPals1)
call FarCopyWRAM
farcall ApplyPals
ret
; 49757
.Palette_49757: ; 49757
-INCLUDE "data/palettes/unknown/49757.pal"
+INCLUDE "gfx/unknown/49757.pal"
; 49797
_InitMG_Mobile_LinkTradePalMap: ; 49797
@@ -314,7 +313,7 @@ LoadTradeRoomBGPals: ; 49811
; 49826
TradeRoomPalette: ; 49826
-INCLUDE "data/palettes/trade_room.pal"
+INCLUDE "gfx/trade/border.pal"
; 49856
InitMG_Mobile_LinkTradePalMap: ; 49856
@@ -322,5 +321,5 @@ InitMG_Mobile_LinkTradePalMap: ; 49856
ret
; 4985a
-Unknown_4985a: ; unreferenced
-INCLUDE "data/palettes/unknown/4985a.asm"
+; unused
+INCLUDE "gfx/unknown/4985a.asm"
diff --git a/engine/debug.asm b/engine/debug.asm
index 1e0d042e0..c15481926 100755
--- a/engine/debug.asm
+++ b/engine/debug.asm
@@ -1,3 +1,27 @@
+const_value set $6a
+ const DEBUGTEST_UP_ARROW ; $6a
+ const DEBUGTEST_TICKS ; $6b
+ const DEBUGTEST_WHITE ; $6c
+ const DEBUGTEST_LIGHT ; $6d
+ const DEBUGTEST_DARK ; $6e
+ const DEBUGTEST_BLACK ; $6f
+ const DEBUGTEST_0 ; $70
+ const DEBUGTEST_1 ; $71
+ const DEBUGTEST_2 ; $72
+ const DEBUGTEST_3 ; $73
+ const DEBUGTEST_4 ; $74
+ const DEBUGTEST_5 ; $75
+ const DEBUGTEST_6 ; $76
+ const DEBUGTEST_7 ; $77
+ const DEBUGTEST_8 ; $78
+ const DEBUGTEST_9 ; $79
+ const DEBUGTEST_A ; $7a
+ const DEBUGTEST_B ; $7b
+ const DEBUGTEST_C ; $7c
+ const DEBUGTEST_D ; $7d
+ const DEBUGTEST_E ; $7e
+ const DEBUGTEST_F ; $7f
+
ColorTest: ; 818ac
; A debug menu to test monster and trainer palettes at runtime.
@@ -127,13 +151,13 @@ Function81948: ; 81948
; 8197c
Function8197c: ; 8197c
- ld hl, DebugColorTestGFX + $10
- ld de, vTiles2 tile $6a
- ld bc, $160
+ ld hl, DebugColorTestGFX + 1 tiles
+ ld de, vTiles2 tile DEBUGTEST_UP_ARROW
+ ld bc, 22 tiles
call CopyBytes
ld hl, DebugColorTestGFX
ld de, vTiles0
- ld bc, $10
+ ld bc, 1 tiles
call CopyBytes
call LoadStandardFont
ld hl, vTiles1
@@ -155,7 +179,7 @@ Function819a7: ; 819a7
ret z
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals2)
ld [rSVBK], a
ld hl, Palette_819f4
ld de, wBGPals2
@@ -193,10 +217,10 @@ Function819a7: ; 819a7
; 819f4
Palette_819f4: ; 819f4
-INCLUDE "data/palettes/debug/bg.pal"
+INCLUDE "gfx/debug/bg.pal"
Palette_81a34: ; 81a34
-INCLUDE "data/palettes/debug/ob.pal"
+INCLUDE "gfx/debug/ob.pal"
; 81a74
Function81a74: ; 81a74
@@ -278,19 +302,19 @@ Function81adb: ; 81adb
ld [hBGMapMode], a
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- ld a, $6f
+ ld a, DEBUGTEST_BLACK
call ByteFill
hlcoord 1, 3
lb bc, 7, 18
- ld a, $6c
+ ld a, DEBUGTEST_WHITE
call Bank20_FillBoxWithByte
hlcoord 11, 0
lb bc, 2, 3
- ld a, $6d
+ ld a, DEBUGTEST_LIGHT
call Bank20_FillBoxWithByte
hlcoord 16, 0
lb bc, 2, 3
- ld a, $6e
+ ld a, DEBUGTEST_DARK
call Bank20_FillBoxWithByte
call Function81bc0
call Function81bf4
@@ -360,9 +384,9 @@ Function81adb: ; 81adb
ret
; 81baf
-String_81baf: db "レア", $6f, $6f, "@" ; rare (shiny)
+String_81baf: db "レア", DEBUGTEST_BLACK, DEBUGTEST_BLACK, "@" ; rare (shiny)
String_81bb4: db "ノーマル@" ; normal
-String_81bb9: db $7a, "きりかえ▶@" ; (A) switches
+String_81bb9: db DEBUGTEST_A, "きりかえ▶@" ; (A) switches
; 81bc0
Function81bc0: ; 81bc0
@@ -380,10 +404,10 @@ Function81bc0: ; 81bc0
Function81bde: ; 81bde
push af
- ld a, $6a
+ ld a, DEBUGTEST_UP_ARROW
ld [hli], a
ld bc, $f
- ld a, $6b
+ ld a, DEBUGTEST_TICKS
call ByteFill
ld l, e
ld h, d
@@ -436,7 +460,7 @@ Function81c33: ; 81c33
jr z, .asm_81c69
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals2)
ld [rSVBK], a
ld hl, wBGPals2
ld de, wc608
@@ -458,11 +482,11 @@ Function81c33: ; 81c33
.asm_81c69
ld hl, wSGBPals
- ld a, $1
+ ld a, 1
ld [hli], a
- ld a, $ff
+ ld a, LOW(PALRGB_WHITE)
ld [hli], a
- ld a, $7f
+ ld a, HIGH(PALRGB_WHITE)
ld [hli], a
ld a, [wc608]
ld [hli], a
@@ -506,7 +530,7 @@ Function81ca7: ; 81ca7
Function81cbc: ; 81cbc
and $f
- add $70
+ add DEBUGTEST_0
ld [hld], a
ret
; 81cc2
@@ -657,7 +681,7 @@ Function81d89: ; 81d89
Function81d8e: ; 81d8e
hlcoord 0, 10
ld bc, $a0
- ld a, $6f
+ ld a, DEBUGTEST_BLACK
call ByteFill
hlcoord 2, 12
ld de, String_81fcd
@@ -777,8 +801,8 @@ Function81e55: ; 81e55
; 81e5e
Function81e5e: ; 81e5e
- ld bc, $a
- ld a, $6f
+ ld bc, 10
+ ld a, DEBUGTEST_BLACK
call ByteFill
ret
; 81e67
@@ -864,9 +888,9 @@ Function81eca: ; 81eca
Function81ee3: ; 81ee3
.asm_81ee3
- ld a, $ff
+ ld a, LOW(PALRGB_WHITE)
ld [hli], a
- ld a, $7f
+ ld a, HIGH(PALRGB_WHITE)
ld [hli], a
ld a, [de]
inc de
@@ -968,7 +992,7 @@ Function81f1d: ; 81f1d
; 81f5e
Function81f5e: ; 81f5e
- ld a, $6f
+ ld a, DEBUGTEST_BLACK
hlcoord 10, 0
ld [hl], a
hlcoord 15, 0
@@ -1016,17 +1040,17 @@ Function81f5e: ; 81f5e
.asm_81fb7
ld a, b
- ld [hli], a
+ ld [hli], a ; y
ld a, [de]
add a
add a
- add $18
- ld [hli], a
+ add 3 * TILE_WIDTH
+ ld [hli], a ; x
xor a
- ld [hli], a
+ ld [hli], a ; tile id
ld a, c
- ld [hli], a
- ld a, $10
+ ld [hli], a ; attributes
+ ld a, 2 * TILE_WIDTH
add b
ld b, a
inc c
@@ -1038,9 +1062,9 @@ Function81f5e: ; 81f5e
; 81fcd
String_81fcd: ; 81fcd
- db "おわりますか?" ; Are you finished?
- next "はい", $f2, $f2, $f2, $7a ; YES (A)
- next "いいえ", $f2, $f2, $7b ; NO (B)
+ db "おわりますか?" ; Are you finished?
+ next "はい<DOT><DOT><DOT>", DEBUGTEST_A ; YES...(A)
+ next "いいえ<DOT><DOT>", DEBUGTEST_B ; NO..(B)
db "@"
; 81fe3
@@ -1061,9 +1085,9 @@ TilesetColorTest:
call WaitBGMap2
xor a
ld [hBGMapMode], a
- ld de, DebugColorTestGFX + $10
- ld hl, vTiles2 tile $6a
- lb bc, BANK(DebugColorTestGFX), $16
+ ld de, DebugColorTestGFX + 1 tiles
+ ld hl, vTiles2 tile DEBUGTEST_UP_ARROW
+ lb bc, BANK(DebugColorTestGFX), 22
call Request2bpp
ld de, DebugColorTestGFX
ld hl, vTiles1
@@ -1073,23 +1097,23 @@ TilesetColorTest:
ld [hBGMapAddress + 1], a
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- ld a, $6f
+ ld a, DEBUGTEST_BLACK
call ByteFill
hlcoord 0, 0, AttrMap
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
ld a, $7
call ByteFill
ld de, $15
- ld a, $6c
+ ld a, DEBUGTEST_WHITE
call Function821d2
ld de, $1a
- ld a, $6d
+ ld a, DEBUGTEST_LIGHT
call Function821d2
ld de, $1f
- ld a, $6e
+ ld a, DEBUGTEST_DARK
call Function821d2
ld de, $24
- ld a, $6f
+ ld a, DEBUGTEST_BLACK
call Function821d2
call Function821f4
call Function8220f
@@ -1134,10 +1158,10 @@ Function821f4: ; 821f4
hlcoord 2, 8
Function82203: ; 82203
- ld a, $6a
+ ld a, DEBUGTEST_UP_ARROW
ld [hli], a
ld bc, $10 - 1
- ld a, $6b
+ ld a, DEBUGTEST_TICKS
call ByteFill
ret
; 8220f
@@ -1145,7 +1169,7 @@ Function82203: ; 82203
Function8220f: ; 8220f
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld a, [wcf64]
ld l, a
@@ -1198,7 +1222,7 @@ Function82236: ; 82236
call Function821d8
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals2)
ld [rSVBK], a
ld hl, wBGPals2
ld a, [wcf64]
@@ -1228,7 +1252,7 @@ Function82236: ; 82236
Function822a3: ; 822a3
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals2)
ld [rSVBK], a
ld hl, wBGPals2
ld a, [wcf64]
diff --git a/engine/decorations.asm b/engine/decorations.asm
index c1b703fb6..413a049a2 100755
--- a/engine/decorations.asm
+++ b/engine/decorations.asm
@@ -37,15 +37,14 @@ _KrisDecorationMenu: ; 0x2675c
; 0x2679a
.MenuDataHeader: ; 0x2679a
- db $40 ; flags
- db 00, 05 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 5, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw .MenuData2
db 1 ; default option
; 0x267a2
.MenuData2: ; 0x267a2
- db $a0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_WRAP ; flags
db 0 ; items
dw wd002
dw PlaceNthMenuStrings
@@ -423,15 +422,14 @@ PopulateDecoCategoryMenu: ; 2695b
; 0x269b5
.NonscrollingMenuDataHeader: ; 0x269b5
- db $40 ; flags
- db 00, 00 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw .NonscrollingMenuData2
db 1 ; default option
; 0x269bd
.NonscrollingMenuData2: ; 0x269bd
- db $a0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_WRAP ; flags
db 0 ; items
dw wd002
dw DecorationMenuFunction
@@ -439,15 +437,14 @@ PopulateDecoCategoryMenu: ; 2695b
; 0x269c5
.ScrollingMenuDataHeader: ; 0x269c5
- db $40 ; flags
- db 01, 01 ; start coords
- db 16, 18 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 1, 1, SCREEN_WIDTH - 2, SCREEN_HEIGHT - 2
dw .ScrollingMenuData2
db 1 ; default option
; 0x269cd
.ScrollingMenuData2: ; 0x269cd
- db $10 ; flags
+ db SCROLLINGMENU_DISPLAY_ARROWS ; flags
db 8, 0 ; rows, columns
db 1 ; horizontal spacing
dbw 0, wd002 ; text pointer
@@ -951,15 +948,14 @@ QueryWhichSide: ; 26e9a
; 26eab
MenuDataHeader_0x26eab: ; 0x26eab
- db $40 ; flags
- db 00, 00 ; start coords
- db 07, 13 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, 13, 7
dw MenuData2_0x26eb3
db 1 ; default option
; 0x26eb3
MenuData2_0x26eb3: ; 0x26eb3
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 3 ; items
db "RIGHT SIDE@"
db "LEFT SIDE@"
@@ -1061,12 +1057,13 @@ INCLUDE "data/decorations/decorations.asm"
DescribeDecoration:: ; 26f59
ld a, b
- ld hl, JumpTable_DecorationDesc
+ ld hl, .JumpTable
rst JumpTable
ret
; 26f5f
-JumpTable_DecorationDesc: ; 26f5f
+.JumpTable: ; 26f5f
+; entries correspond to DECODESC_* constants
dw DecorationDesc_Poster
dw DecorationDesc_LeftOrnament
dw DecorationDesc_RightOrnament
@@ -1197,7 +1194,7 @@ DecorationDesc_GiantOrnament: ; 26fdd
db "@"
; 0x26feb
-ToggleMaptileDecorations: ; 26feb
+Special_ToggleMaptileDecorations: ; 26feb
lb de, 0, 4
ld a, [Bed]
call SetDecorationTile
@@ -1251,7 +1248,7 @@ SetDecorationTile: ; 27037
ret
; 27043
-ToggleDecorationsVisibility: ; 27043
+Special_ToggleDecorationsVisibility: ; 27043
ld de, EVENT_KRISS_HOUSE_2F_CONSOLE
ld hl, VariableSprites + SPRITE_CONSOLE - SPRITE_VARS
ld a, [Console]
diff --git a/engine/delete_save_change_clock.asm b/engine/delete_save_change_clock.asm
index e77874e1c..8a711cc5e 100755
--- a/engine/delete_save_change_clock.asm
+++ b/engine/delete_save_change_clock.asm
@@ -47,14 +47,13 @@ _ResetClock: ; 4d3b1
db "@"
.NoYes_MenuDataHeader: ; 0x4d40d
- db $00 ; flags
- db 07, 14 ; start coords
- db 11, 19 ; end coords
+ db 0 ; flags
+ menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .NoYes_MenuData2
db 1 ; default option
.NoYes_MenuData2: ; 0x4d415
- db $c0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 2 ; items
db "NO@"
db "YES@"
@@ -285,14 +284,13 @@ _DeleteSaveData: ; 4d54c
db "@"
.NoYesMenuDataHeader: ; 0x4d585
- db $00 ; flags
- db 07, 14 ; start coords
- db 11, 19 ; end coords
+ db 0 ; flags
+ menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
.MenuData2: ; 0x4d58d
- db $c0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 2 ; items
db "NO@"
db "YES@"
diff --git a/engine/dma_transfer.asm b/engine/dma_transfer.asm
index 56e7d56da..60b515acf 100755
--- a/engine/dma_transfer.asm
+++ b/engine/dma_transfer.asm
@@ -112,14 +112,14 @@ Mobile_ReloadMapPart: ; 104099
ret
; 1040d4
-; XXX
+; unused
ld hl, .unreferenced_1040da
jp CallInSafeGFXMode
.unreferenced_1040da
ld a, $1
ld [rVBK], a
- ld a, $3
+ ld a, BANK(w3_d800)
ld [rSVBK], a
ld de, w3_d800
ld a, [hBGMapAddress + 1]
@@ -136,14 +136,14 @@ Mobile_ReloadMapPart: ; 104099
ret
; 1040fb
-; XXX
+; unused
ld hl, .unreferenced_104101
jp CallInSafeGFXMode
.unreferenced_104101
ld a, $1
ld [rVBK], a
- ld a, $3
+ ld a, BANK(w3_d800)
ld [rSVBK], a
ld hl, w3_d800
call HDMATransferToWRAMBank3
@@ -221,7 +221,7 @@ CallInSafeGFXMode: ; 104177
ld [hMapAnims], a
ld a, [rSVBK]
push af
- ld a, $6
+ ld a, BANK(wScratchTileMap)
ld [rSVBK], a
ld a, [rVBK]
push af
@@ -472,7 +472,7 @@ _Get2bpp:: ; 104284
; switch to WRAM bank 6
ld a, [rSVBK]
push af
- ld a, $6
+ ld a, BANK(wScratchTileMap)
ld [rSVBK], a
push bc
@@ -542,7 +542,7 @@ _Get1bpp:: ; 1042b2
.bankswitch ; 1042d6
ld a, [rSVBK]
push af
- ld a, $6
+ ld a, BANK(wScratchTileMap)
ld [rSVBK], a
push bc
diff --git a/engine/dummy_game.asm b/engine/dummy_game.asm
index aecaa7425..6d7e12196 100755
--- a/engine/dummy_game.asm
+++ b/engine/dummy_game.asm
@@ -482,7 +482,7 @@ DummyGame_InitStrings: ; e2152
.japstr1
db "とったもの@"
.japstr2
- db "あと かい@"
+ db "あと かい@"
; e2183
DummyGame_Card2Coord: ; e2183
diff --git a/engine/events.asm b/engine/events.asm
index 7356a8910..96108730a 100644
--- a/engine/events.asm
+++ b/engine/events.asm
@@ -1,4 +1,5 @@
-INCLUDE "includes.asm"
+INCLUDE "constants.asm"
+
SECTION "Events", ROMX
@@ -395,7 +396,7 @@ CheckTileEvent: ; 96874
ld a, [hli]
ld h, [hl]
ld l, a
- call GetMapScriptHeaderBank
+ call GetMapScriptsBank
call CallScript
ret
; 968c7
@@ -449,7 +450,7 @@ RunSceneScript: ; 968ec
ld e, a
ld d, 0
- ld hl, wCurrMapSceneScriptHeaderPointer
+ ld hl, wCurrMapSceneScriptsPointer
ld a, [hli]
ld h, [hl]
ld l, a
@@ -457,9 +458,9 @@ rept 4
add hl, de
endr
- call GetMapScriptHeaderBank
+ call GetMapScriptsBank
call GetFarHalfword
- call GetMapScriptHeaderBank
+ call GetMapScriptsBank
call CallScript
ld hl, ScriptFlags
@@ -634,7 +635,7 @@ TryObjectEvent: ; 969b5
ld a, [hli]
ld h, [hl]
ld l, a
- call GetMapScriptHeaderBank
+ call GetMapScriptsBank
call CallScript
ret
; 96a12
@@ -645,7 +646,7 @@ TryObjectEvent: ; 969b5
ld a, [hli]
ld h, [hl]
ld l, a
- call GetMapScriptHeaderBank
+ call GetMapScriptsBank
ld de, EngineBuffer1
ld bc, 2
call FarCopyBytes
@@ -730,7 +731,7 @@ TryBGEvent: ; 96a38
ld a, [hli]
ld h, [hl]
ld l, a
- call GetMapScriptHeaderBank
+ call GetMapScriptsBank
call CallScript
scf
ret
@@ -739,7 +740,7 @@ TryBGEvent: ; 96a38
call CheckBGEventFlag
jp nz, .dontread
call PlayTalkObject
- call GetMapScriptHeaderBank
+ call GetMapScriptsBank
ld de, EngineBuffer1
ld bc, 3
call FarCopyBytes
@@ -752,7 +753,7 @@ TryBGEvent: ; 96a38
.copy
call CheckBGEventFlag
jr nz, .dontread
- call GetMapScriptHeaderBank
+ call GetMapScriptsBank
ld de, EngineBuffer1
ld bc, 3
call FarCopyBytes
@@ -773,9 +774,9 @@ TryBGEvent: ; 96a38
pop hl
inc hl
inc hl
- call GetMapScriptHeaderBank
+ call GetMapScriptsBank
call GetFarHalfword
- call GetMapScriptHeaderBank
+ call GetMapScriptsBank
call CallScript
scf
ret
@@ -791,7 +792,7 @@ CheckBGEventFlag: ; 96ad8
ld h, [hl]
ld l, a
push hl
- call GetMapScriptHeaderBank
+ call GetMapScriptsBank
call GetFarHalfword
ld e, l
ld d, h
@@ -994,6 +995,7 @@ CountStep: ; 96b79
ret
; 96bd3
+; unused
.unreferenced ; 96bd3
ld a, 7
scf
@@ -1060,7 +1062,7 @@ Invalid_0x96c2d: ; 96c2d
end
; 96c2e
-; unreferenced
+; unused
end
; 96c2f
@@ -1105,4 +1107,5 @@ ChangeDirectionScript: ; 9
; 96c56
INCLUDE "engine/scripting.asm"
+
INCLUDE "engine/events_2.asm"
diff --git a/mobile/battle_tower_5c.asm b/engine/events/battle_tower/battle_tower.asm
index f89e83b5a..94a29cdab 100755
--- a/mobile/battle_tower_5c.asm
+++ b/engine/events/battle_tower/battle_tower.asm
@@ -1,11 +1,11 @@
-BattleTowerRoomMenu: ; 1700b0
+Special_BattleTowerRoomMenu: ; 1700b0
; special
call InitBattleTowerChallengeRAM
farcall _BattleTowerRoomMenu
ret
; 1700ba
-Function1700ba: ; 1700ba
+Special_Function1700ba: ; 1700ba
call InitBattleTowerChallengeRAM
farcall Function11811a
ret
@@ -53,7 +53,7 @@ Function1700c4: ; 1700c4
ret
; 170114
-Function170114: ; 170114
+Special_Function170114: ; 170114
call InitBattleTowerChallengeRAM
call .Function170121
farcall Function11805f
@@ -182,14 +182,14 @@ Function170139: ; 170139
ret
; 170215
-BattleTowerBattle: ; 170215
+Special_BattleTowerBattle: ; 170215
xor a
ld [wBattleTowerBattleEnded], a
call _BattleTowerBattle
ret
; 17021d
-EmptySpecial_17021d: ; 17021d
+DummySpecial_17021d: ; 17021d
ret
; 17021e
@@ -243,7 +243,7 @@ RunBattleTowerTrainer: ; 17024d
xor a
ld [wLinkMode], a
- farcall TrainerRankings_Healings
+ farcall Special_StubbedTrainerRankings_Healings
farcall HealParty
call ReadBTTrainerParty
call Clears5_a89a
@@ -285,7 +285,7 @@ ReadBTTrainerParty: ; 1702b7
; Check the nicknames for illegal characters, and replace bad nicknames
; with their species names.
ld de, wBT_OTTempPkmn1Name ; $c643
- ld c, PKMN_NAME_LENGTH
+ ld c, MON_NAME_LENGTH
farcall CheckStringForErrors
jr nc, .skip_mon_1
@@ -295,12 +295,12 @@ ReadBTTrainerParty: ; 1702b7
ld l, e
ld h, d
ld de, wBT_OTTempPkmn1Name ; $c643
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
.skip_mon_1
ld de, wBT_OTTempPkmn2Name ; $c67e
- ld c, PKMN_NAME_LENGTH
+ ld c, MON_NAME_LENGTH
farcall CheckStringForErrors
jr nc, .skip_mon_2
ld a, [wBT_OTTempPkmn2] ; [$c64e]
@@ -309,12 +309,12 @@ ReadBTTrainerParty: ; 1702b7
ld l, e
ld h, d
ld de, wBT_OTTempPkmn2Name ; $c67e
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
.skip_mon_2
ld de, wBT_OTTempPkmn3Name ; $c686 + 51 = $c6b9
- ld c, PKMN_NAME_LENGTH
+ ld c, MON_NAME_LENGTH
farcall CheckStringForErrors
jr nc, .skip_mon_3
ld a, [wBT_OTTempPkmn3] ; [$c689]
@@ -323,7 +323,7 @@ ReadBTTrainerParty: ; 1702b7
ld l, e
ld h, d
ld de, wBT_OTTempPkmn3Name ; $c686 + 51 = $c6b9
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
.skip_mon_3
@@ -363,7 +363,7 @@ ReadBTTrainerParty: ; 1702b7
; Copy Pkmn into Memory from the address in hl
ld de, OTPartyMon1Species
ld bc, OTPartyCount
- ld a, BATTLETOWER_NROFPKMNS ; Number of Pkmn the BattleTower-Trainer has
+ ld a, BATTLETOWER_PARTY_LENGTH
ld [bc], a
inc bc
.otpartymon_loop
@@ -379,7 +379,7 @@ ReadBTTrainerParty: ; 1702b7
ld e, a
ld a, [BGMapBuffer + 1]
ld d, a
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
ld a, e
ld [BGMapBuffer], a
@@ -399,7 +399,7 @@ ReadBTTrainerParty: ; 1702b7
ValidateBTParty: ; 170394
; Check for and fix errors in party data
ld hl, wBT_OTTempPkmn1Species
- ld d, BATTLETOWER_NROFPKMNS
+ ld d, BATTLETOWER_PARTY_LENGTH
.pkmn_loop
push de
push hl
@@ -495,7 +495,7 @@ endr
ld a, [hl]
ld [de], a
pop hl
- ld bc, PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH
+ ld bc, PARTYMON_STRUCT_LENGTH + MON_NAME_LENGTH
add hl, bc
pop de
dec d
@@ -509,7 +509,7 @@ BT_ChrisName: ; 170426
Function17042c: ; 17042c
ld hl, w3_d202TrainerData
- ld a, BATTLETOWER_NROFTRAINERS
+ ld a, BATTLETOWER_STREAK_LENGTH
.loop
push af
push hl
@@ -570,42 +570,7 @@ Function17042c: ; 17042c
ret
; 170470
-Unknown_170470:
- db $12
- db $24
- db $45
- db $45
- db $42
- db $42
- db $45
- db $42
- db $27
- db $27
- db $45
- db $27
- db $42
- db $24
-
-Unknown_17047e:
-; see data/battle_tower_2.asm
- db $03, 4
- db $05, 8
- db $03, 5
- db $0e, 6
- db $03, 2
- db $00, 0
- db $39, 7
- db $07, 4
- db $00, 5
- db $04, 7
- db $01, 5
- db $00, 0
- db $0f, 5
- db $14, 7
- db $05, 5
- db $11, 12
- db $0c, 6
- db $06, 4
+INCLUDE "data/battle_tower/unknown_levels.asm"
CopyBTTrainer_FromBT_OT_TowBT_OTTemp: ; 1704a2
@@ -634,8 +599,7 @@ SkipBattleTowerTrainer: ; 1704c9
ret
; 1704ca
-Function1704ca: ; 1704ca
-; unreferenced mobile function
+Unreferenced_Function1704ca: ; 1704ca
ld a, [$be46]
cp $7
jr c, .asm_1704d3
@@ -655,8 +619,7 @@ Function1704ca: ; 1704ca
ret
; 1704e1
-Function1704e1: ; 1704e1
-; unreferenced special
+UnusedSpecial_Function1704e1: ; 1704e1
call SpeechTextBox
call FadeToMenu
call InitBattleTowerChallengeRAM
@@ -785,39 +748,39 @@ Function1704e1: ; 1704e1
.DrawBorder: ; 1705b7
hlcoord 0, 4
- ld a, $79
+ ld a, "┌"
ld [hli], a
ld c, SCREEN_WIDTH - 2
.top_border_loop
- ld a, $7a
+ ld a, "─"
ld [hli], a
dec c
jr nz, .top_border_loop
- ld a, $7b
+ ld a, "┐"
ld [hli], a
ld de, SCREEN_WIDTH
ld c, 12
.left_border_loop
- ld a, $7c
+ ld a, "│"
ld [hl], a
add hl, de
dec c
jr nz, .left_border_loop
- ld a, $7d
+ ld a, "└"
ld [hli], a
ld c, SCREEN_WIDTH - 2
.bottom_border_loop
- ld a, $7a
+ ld a, "─"
ld [hli], a
dec c
jr nz, .bottom_border_loop
- ld a, $7e
+ ld a, "┘"
ld [hl], a
ld de, -SCREEN_WIDTH
add hl, de
ld c, 12
.right_border_loop
- ld a, $7c
+ ld a, "│"
ld [hl], a
add hl, de
dec c
@@ -937,7 +900,7 @@ Function1704e1: ; 1704e1
db "れきだいりーダーいちらん@"
; 170687
-BattleTowerAction: ; 170687
+Special_BattleTowerAction: ; 170687
ld a, [ScriptVar]
ld e, a
ld d, 0
@@ -993,7 +956,7 @@ ResetBattleTowerTrainersSRAM: ; 1706d6 (5c:46d6) BattleTowerAction $1a
ld a, $ff
ld hl, sBTTrainers
- ld bc, BATTLETOWER_NROFTRAINERS
+ ld bc, BATTLETOWER_STREAK_LENGTH
call ByteFill
xor a
@@ -1640,7 +1603,7 @@ BattleTowerAction_UbersCheck: ; 170b16 (5c:4b16) BattleTowerAction $19
ld [ScriptVar], a
ret
-Function_LoadOpponentTrainerAndPokemonsWithOTSprite: ; 0x170b44
+Special_LoadOpponentTrainerAndPokemonWithOTSprite: ; 0x170b44
farcall Function_LoadOpponentTrainerAndPokemons
ld a, [rSVBK]
push af
@@ -1653,7 +1616,7 @@ Function_LoadOpponentTrainerAndPokemonsWithOTSprite: ; 0x170b44
ld b, $0
pop af
ld [rSVBK], a
- ld hl, .Sprites
+ ld hl, BTTrainerClassSprites
add hl, bc
ld a, [hl]
ld [wBTTempOTSprite], a
@@ -1685,86 +1648,20 @@ Function_LoadOpponentTrainerAndPokemonsWithOTSprite: ; 0x170b44
ret
; 170b90
-.Sprites:
- db SPRITE_FALKNER
- db SPRITE_WHITNEY
- db SPRITE_BUGSY
- db SPRITE_MORTY
- db SPRITE_PRYCE
- db SPRITE_JASMINE
- db SPRITE_CHUCK
- db SPRITE_CLAIR
- db SPRITE_SILVER
- db SPRITE_OAK
- db SPRITE_WILL
- db SPRITE_CHRIS
- db SPRITE_BRUNO
- db SPRITE_KAREN
- db SPRITE_KOGA
- db SPRITE_LANCE
- db SPRITE_BROCK
- db SPRITE_MISTY
- db SPRITE_SURGE
- db SPRITE_SCIENTIST
- db SPRITE_ERIKA
- db SPRITE_YOUNGSTER
- db SPRITE_YOUNGSTER
- db SPRITE_YOUNGSTER
- db SPRITE_LASS
- db SPRITE_JANINE
- db SPRITE_COOLTRAINER_M
- db SPRITE_COOLTRAINER_F
- db SPRITE_BUENA
- db SPRITE_SUPER_NERD
- db SPRITE_ROCKET
- db SPRITE_GENTLEMAN
- db SPRITE_BUENA
- db SPRITE_TEACHER
- db SPRITE_SABRINA
- db SPRITE_BUG_CATCHER
- db SPRITE_FISHER
- db SPRITE_SUPER_NERD
- db SPRITE_COOLTRAINER_F
- db SPRITE_SAILOR
- db SPRITE_SUPER_NERD
- db SPRITE_BLUE
- db SPRITE_ROCKER
- db SPRITE_POKEFAN_M
- db SPRITE_BIKER
- db SPRITE_BLAINE
- db SPRITE_PHARMACIST
- db SPRITE_FISHER
- db SPRITE_SUPER_NERD
- db SPRITE_BLACK_BELT
- db SPRITE_ROCKET
- db SPRITE_YOUNGSTER
- db SPRITE_LASS
- db SPRITE_YOUNGSTER
- db SPRITE_ROCKET_GIRL
- db SPRITE_SAGE
- db SPRITE_GRANNY
- db SPRITE_ROCKER
- db SPRITE_POKEFAN_M
- db SPRITE_KIMONO_GIRL
- db SPRITE_TWIN
- db SPRITE_POKEFAN_F
- db SPRITE_RED
- db SPRITE_BLUE
- db SPRITE_OFFICER
- db SPRITE_ROCKET_GIRL
-
-ret_170bd2: ; 170bd2
+INCLUDE "data/trainers/sprites.asm"
+
+DummySpecial_170bd2: ; 170bd2
ret
; 170bd3
-SpecialCheckForBattleTowerRules: ; 170bd3
+Special_CheckForBattleTowerRules: ; 170bd3
farcall CheckForBattleTowerRules
jr c, .asm_170bde
- xor a
+ xor a ; FALSE
jr .asm_170be0
.asm_170bde
- ld a, $1
+ ld a, TRUE
.asm_170be0
ld [ScriptVar], a
diff --git a/mobile/get_trainer_class.asm b/engine/events/battle_tower/get_trainer_class.asm
index 37fe91c56..37fe91c56 100644
--- a/mobile/get_trainer_class.asm
+++ b/engine/events/battle_tower/get_trainer_class.asm
diff --git a/engine/events/battle_tower.asm b/engine/events/battle_tower/load_trainer.asm
index a0de6ee84..e0e4a5ca1 100644
--- a/engine/events/battle_tower.asm
+++ b/engine/events/battle_tower/load_trainer.asm
@@ -26,12 +26,14 @@ Function_LoadOpponentTrainerAndPokemons: ; 1f8000
ld a, [hRandomAdd]
add b
ld b, a ; b contains the nr of the trainer
-if DEF(CRYSTAL11)
- and (1 << 7) - 1
- cp 70
+if DEF(_CRYSTAL11)
+ maskbits BATTLETOWER_NUM_UNIQUE_TRAINERS
+ cp BATTLETOWER_NUM_UNIQUE_TRAINERS
else
- and (1 << 5) - 1
- cp 21
+; Crystal 1.0 used the wrong constant here, so only the first 21
+; trainers in BattleTowerTrainers can be sampled.
+ maskbits BATTLETOWER_NUM_UNIQUE_PKMN
+ cp BATTLETOWER_NUM_UNIQUE_PKMN
endc
jr nc, .resample
ld b, a
@@ -39,7 +41,7 @@ endc
ld a, BANK(sBTTrainers)
call GetSRAMBank
- ld c, BATTLETOWER_NROFTRAINERS
+ ld c, BATTLETOWER_STREAK_LENGTH
ld hl, sBTTrainers
.next_trainer
ld a, [hli]
@@ -91,7 +93,7 @@ endc
Function_LoadRandomBattleTowerPkmn: ; 1f8081
- ld c, BATTLETOWER_NROFPKMNS
+ ld c, BATTLETOWER_PARTY_LENGTH
.loop
push bc
ld a, BANK(sBTPkmnPrevTrainer1)
@@ -100,7 +102,7 @@ Function_LoadRandomBattleTowerPkmn: ; 1f8081
.FindARandomBattleTowerPkmn:
; From Which LevelGroup are the Pkmn loaded
; a = 1..10
- ld a, [wBTChoiceOfLvlGroup] ; [$d800]
+ ld a, [wBTChoiceOfLvlGroup]
dec a
ld hl, BattleTowerMons
ld bc, BattleTowerMons2 - BattleTowerMons1
@@ -113,15 +115,15 @@ Function_LoadRandomBattleTowerPkmn: ; 1f8081
ld a, [hRandomAdd]
add b
ld b, a
- and $1f
- cp BATTLETOWER_NRMONSPERLEVELBRACKET
+ maskbits BATTLETOWER_NUM_UNIQUE_PKMN
+ cp BATTLETOWER_NUM_UNIQUE_PKMN
jr nc, .resample
; in register 'a' is the chosen Pkmn of the LevelGroup
; Check if Pkmn was already loaded before
; Check current and the 2 previous teams
; includes check if item is double at the current team
- ld bc, PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH
+ ld bc, PARTYMON_STRUCT_LENGTH + MON_NAME_LENGTH
call AddNTimes
ld a, [hli]
ld b, a
@@ -164,13 +166,13 @@ Function_LoadRandomBattleTowerPkmn: ; 1f8081
cp b
jr z, .FindARandomBattleTowerPkmn
- ld bc, PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH
+ ld bc, PARTYMON_STRUCT_LENGTH + MON_NAME_LENGTH
call CopyBytes
ld a, [wNamedObjectIndexBuffer]
push af
push de
- ld hl, - (PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH)
+ ld hl, - (PARTYMON_STRUCT_LENGTH + MON_NAME_LENGTH)
add hl, de
ld a, [hl]
ld [wNamedObjectIndexBuffer], a
@@ -181,7 +183,7 @@ Function_LoadRandomBattleTowerPkmn: ; 1f8081
ld h, d
ld l, e
pop de
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
pop de
@@ -207,4 +209,6 @@ Function_LoadRandomBattleTowerPkmn: ; 1f8081
ret
; 1f814e
-INCLUDE "data/battle_tower.asm"
+INCLUDE "data/battle_tower/classes.asm"
+
+INCLUDE "data/battle_tower/parties.asm"
diff --git a/engine/events/battle_tower_rules.asm b/engine/events/battle_tower/rules.asm
index de6022145..0e994c27e 100644
--- a/engine/events/battle_tower_rules.asm
+++ b/engine/events/battle_tower/rules.asm
@@ -213,7 +213,7 @@ BattleTower_ExecuteJumptable: ; 8b25b
BattleTower_CheckPartyLengthIs3: ; 8b2bb
ld a, [PartyCount]
- cp 3
+ cp BATTLETOWER_PARTY_LENGTH
ret
; 8b2c1
@@ -235,13 +235,13 @@ BattleTower_CheckPartyHasThreeMonsThatAreNotEggs: ; 8b2c1
cp b
ret z
ld a, b
- cp 3
+ cp BATTLETOWER_PARTY_LENGTH
ret
; 8b2da
Function_PartyCountEq3: ; 8b2da
ld a, [PartyCount]
- cp 3
+ cp BATTLETOWER_PARTY_LENGTH
ret z
scf
ret
diff --git a/mobile/battle_tower_47.asm b/engine/events/battle_tower/trainer_text.asm
index 14f69d654..96c91caa9 100755
--- a/mobile/battle_tower_47.asm
+++ b/engine/events/battle_tower/trainer_text.asm
@@ -7,7 +7,7 @@ BattleTowerText:: ; 11c000
push af
ld a, BANK(BT_OTTrainerClass)
ld [rSVBK], a
-if DEF(CRYSTAL11)
+if DEF(_CRYSTAL11)
ld hl, BT_OTTrainerClass
else
; BUG ALERT
@@ -16,7 +16,7 @@ else
; uses it to get the gender of the trainer.
; As a consequence, the enemy trainer's dialog will
; always be sampled from the female array.
- ld hl, BT_OTName + 5
+ ld hl, BT_OTName + NAME_LENGTH_JAPANESE - 1
endc
ld a, [hl]
dec a
@@ -87,73 +87,7 @@ endc
INCLUDE "mobile/fixed_words.asm"
-BTTrainerClassGenders: ; 11f2f0
- db MALE ; FALKNER
- db FEMALE ; WHITNEY
- db FEMALE ; BUGSY
- db MALE ; MORTY
- db MALE ; PRYCE
- db FEMALE ; JASMINE
- db MALE ; CHUCK
- db FEMALE ; CLAIR
- db MALE ; RIVAL1
- db MALE ; POKEMON_PROF
- db FEMALE ; WILL
- db MALE ; CAL
- db MALE ; BRUNO
- db FEMALE ; KAREN
- db MALE ; KOGA
- db MALE ; CHAMPION
- db MALE ; BROCK
- db FEMALE ; MISTY
- db MALE ; LT_SURGE
- db MALE ; SCIENTIST
- db FEMALE ; ERIKA
- db MALE ; YOUNGSTER
- db MALE ; SCHOOLBOY
- db MALE ; BIRD_KEEPER
- db FEMALE ; LASS
- db FEMALE ; JANINE
- db MALE ; COOLTRAINERM
- db FEMALE ; COOLTRAINERF
- db FEMALE ; BEAUTY
- db MALE ; POKEMANIAC
- db MALE ; GRUNTM
- db MALE ; GENTLEMAN
- db FEMALE ; SKIER
- db FEMALE ; TEACHER
- db FEMALE ; SABRINA
- db MALE ; BUG_CATCHER
- db MALE ; FISHER
- db MALE ; SWIMMERM
- db FEMALE ; SWIMMERF
- db MALE ; SAILOR
- db MALE ; SUPER_NERD
- db MALE ; RIVAL2
- db MALE ; GUITARIST
- db MALE ; HIKER
- db MALE ; BIKER
- db MALE ; BLAINE
- db MALE ; BURGLAR
- db MALE ; FIREBREATHER
- db MALE ; JUGGLER
- db MALE ; BLACKBELT_T
- db MALE ; EXECUTIVEM
- db MALE ; PSYCHIC_T
- db FEMALE ; PICNICKER
- db MALE ; CAMPER
- db FEMALE ; EXECUTIVEF
- db MALE ; SAGE
- db FEMALE ; MEDIUM
- db MALE ; BOARDER
- db MALE ; POKEFANM
- db FEMALE ; KIMONO_GIRL
- db FEMALE ; TWINS
- db FEMALE ; POKEFANF
- db MALE ; RED
- db MALE ; BLUE
- db MALE ; OFFICER
- db FEMALE ; GRUNTF
+INCLUDE "data/trainers/genders.asm"
BTMaleTrainerTexts: ; 11f332
diff --git a/engine/events/buena.asm b/engine/events/buena.asm
index 1227593eb..d5a80ef2e 100644
--- a/engine/events/buena.asm
+++ b/engine/events/buena.asm
@@ -1,4 +1,4 @@
-SpecialBuenasPassword: ; 8af6b
+Special_BuenasPassword: ; 8af6b
xor a
ld [wWhichIndexSet], a
ld hl, .MenuDataHeader
@@ -17,7 +17,7 @@ SpecialBuenasPassword: ; 8af6b
ld a, [MenuSelection]
ld c, a
ld a, [wBuenasPassword]
- and $3
+ maskbits NUM_PASSWORDS_PER_CATEGORY
cp c
jr nz, .wrong
ld b, $1
@@ -29,9 +29,8 @@ SpecialBuenasPassword: ; 8af6b
; 8afa9
.MenuDataHeader: ; 0x8afa9
- db $40 ; flags
- db 00, 00 ; start coords
- db 07, 10 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, 10, 7
dw .MenuData2
db 1 ; default option
; 0x8afb1
@@ -39,15 +38,19 @@ SpecialBuenasPassword: ; 8af6b
db 0
.MenuData2: ; 0x8afb2
- db $81 ; flags
+ db STATICMENU_CURSOR | STATICMENU_DISABLE_B ; flags
db 0 ; items
dw .PasswordIndices
dw .PlacePasswordChoices
; 0x8afb4
.PasswordIndices: ; 8afb8
- db 3
- db 0, 1, 2
+ db NUM_PASSWORDS_PER_CATEGORY
+x = 0
+rept NUM_PASSWORDS_PER_CATEGORY
+ db x
+x = x + 1
+endr
db -1
.PlacePasswordChoices: ; 8afbd
@@ -64,7 +67,7 @@ SpecialBuenasPassword: ; 8af6b
ret
; 8afd4
-SpecialBuenaPrize: ; 8afd4
+Special_BuenaPrize: ; 8afd4
xor a
ld [wMenuScrollPosition], a
ld a, $1
@@ -225,9 +228,8 @@ PrintBlueCardBalance: ; 8b097
; 8b0d1
BlueCardBalanceMenuDataHeader: ; 0x8b0d1
- db $40 ; flags
- db 11, 00 ; start coords
- db 13, 11 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 11, 11, 13
; 8b0d6
Buena_PlacePrizeMenuBox: ; 8b0d6
@@ -237,9 +239,8 @@ Buena_PlacePrizeMenuBox: ; 8b0d6
; 8b0dd
.menudataheader ; 0x8b0dd
- db $40 ; flags
- db 00, 00 ; start coords
- db 11, 17 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, 17, TEXTBOX_Y - 1
; 8b0e2
Buena_PrizeMenu: ; 8b0e2
@@ -270,9 +271,8 @@ Buena_PrizeMenu: ; 8b0e2
; 8b113
.MenuDataHeader: ; 0x8b113
- db $40 ; flags
- db 01, 01 ; start coords
- db 09, 16 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 1, 1, 16, 9
dw .MenuData2
db 1 ; default option
; 0x8b11b
@@ -280,7 +280,7 @@ Buena_PrizeMenu: ; 8b0e2
db 0
.MenuData2: ; 0x8b11c
- db $10 ; flags
+ db SCROLLINGMENU_DISPLAY_ARROWS ; flags
db 4, 13 ; rows, columns
db 1 ; spacing
dba .indices
diff --git a/engine/events/buena_menu.asm b/engine/events/buena_menu.asm
index b453da783..cf6fecf72 100644
--- a/engine/events/buena_menu.asm
+++ b/engine/events/buena_menu.asm
@@ -1,4 +1,4 @@
-AskRememberPassword: ; 4ae12
+Special_AskRememberPassword: ; 4ae12
call .DoMenu
ld a, $0
jr c, .okay
diff --git a/engine/events/bug_contest/contest_2.asm b/engine/events/bug_contest/contest_2.asm
index 493c69d0c..7ade44815 100755
--- a/engine/events/bug_contest/contest_2.asm
+++ b/engine/events/bug_contest/contest_2.asm
@@ -2,7 +2,7 @@ Special_SelectRandomBugContestContestants: ; 139a8
; Select five random people to participate in the current contest.
; First we have to make sure that any old data is cleared away.
- ld c, 10 ; Number of people to choose from.
+ ld c, NUM_BUG_CONTESTANTS
ld hl, BugCatchingContestantEventFlagTable
.loop1
push bc
@@ -26,9 +26,9 @@ Special_SelectRandomBugContestContestants: ; 139a8
.next
; Choose a flag at uniform random to be set.
call Random
- cp 250
+ cp $ff / NUM_BUG_CONTESTANTS * NUM_BUG_CONTESTANTS
jr nc, .next
- ld c, 25
+ ld c, $ff / NUM_BUG_CONTESTANTS
call SimpleDivide
ld e, b
ld d, 0
@@ -59,7 +59,7 @@ Special_SelectRandomBugContestContestants: ; 139a8
Special_CheckBugContestContestantFlag: ; 139ed
; Checks the flag of the Bug Catching Contestant whose index is loaded in a.
-; Bug: If a >= 10 when this is called, it will read beyond the table.
+; Bug: If a >= NUM_BUG_CONTESTANTS when this is called, it will read beyond the table.
ld hl, BugCatchingContestantEventFlagTable
ld e, a
@@ -74,20 +74,9 @@ Special_CheckBugContestContestantFlag: ; 139ed
ret
; 139fe
-BugCatchingContestantEventFlagTable: ; 139fe
- dw EVENT_BUG_CATCHING_CONTESTANT_1A
- dw EVENT_BUG_CATCHING_CONTESTANT_2A
- dw EVENT_BUG_CATCHING_CONTESTANT_3A
- dw EVENT_BUG_CATCHING_CONTESTANT_4A
- dw EVENT_BUG_CATCHING_CONTESTANT_5A
- dw EVENT_BUG_CATCHING_CONTESTANT_6A
- dw EVENT_BUG_CATCHING_CONTESTANT_7A
- dw EVENT_BUG_CATCHING_CONTESTANT_8A
- dw EVENT_BUG_CATCHING_CONTESTANT_9A
- dw EVENT_BUG_CATCHING_CONTESTANT_10A
-; 13a12
+INCLUDE "data/bug_contest_flags.asm"
-ContestDropOffMons: ; 13a12
+Special_ContestDropOffMons: ; 13a12
ld hl, PartyMon1HP
ld a, [hli]
or [hl]
@@ -101,7 +90,7 @@ ContestDropOffMons: ; 13a12
ld a, [hl]
ld [wBugContestSecondPartySpecies], a
; ... and replacing it with the terminator byte
- ld [hl], $ff
+ ld [hl], -1
xor a
ld [ScriptVar], a
ret
@@ -112,13 +101,13 @@ ContestDropOffMons: ; 13a12
ret
; 13a31
-ContestReturnMons: ; 13a31
+Special_ContestReturnMons: ; 13a31
; Restore the species of the second mon.
ld hl, PartySpecies + 1
ld a, [wBugContestSecondPartySpecies]
ld [hl], a
; Restore the party count, which must be recomputed.
- ld b, $1
+ ld b, 1
.loop
ld a, [hli]
cp -1
diff --git a/engine/events/bug_contest/display_stats.asm b/engine/events/bug_contest/display_stats.asm
index d6ad3997e..92b89a38f 100644
--- a/engine/events/bug_contest/display_stats.asm
+++ b/engine/events/bug_contest/display_stats.asm
@@ -82,9 +82,9 @@ DisplayCaughtContestMonStats: ; cc000
.Health:
db "HEALTH@"
.Stock:
- db " STOCK ", $4a, " @"
+ db " STOCK <PKMN> @"
.This:
- db " THIS ", $4a, " @"
+ db " THIS <PKMN> @"
SwitchMonText: ; cc0c2
; Switch #MON?
@@ -101,7 +101,7 @@ DisplayAlreadyCaughtText: ; cc0c7
text_jump UnknownText_0x1c10dd
db "@"
-Predef2F:
-Predef38:
-Predef39: ; cc0d5
+DummyPredef2F:
+DummyPredef38:
+DummyPredef39: ; cc0d5
ret
diff --git a/engine/events/bug_contest/judging.asm b/engine/events/bug_contest/judging.asm
index 901ae88fa..a8cb80efe 100755
--- a/engine/events/bug_contest/judging.asm
+++ b/engine/events/bug_contest/judging.asm
@@ -1,6 +1,6 @@
_BugContestJudging: ; 1369d
call ContestScore
- farcall TrainerRankings_BugContestScore
+ farcall StubbedTrainerRankings_BugContestScore
call BugContest_JudgeContestants
ld a, [wBugContestThirdPlaceWinnerID]
call LoadContestantName
@@ -77,9 +77,8 @@ BugContest_ThirdPlaceScoreText: ; 0x1372b
; 0x13730
LoadContestantName: ; 13730
-
-; If a = 0, get your name.
- dec a
+; If a = 1, get your name.
+ dec a ; BUG_CONTEST_PLAYER
jr z, .player
; Find the pointer for the trainer class of the Bug Catching Contestant whose ID is in a.
ld c, a
@@ -141,11 +140,11 @@ INCLUDE "data/bug_contest_winners.asm"
BugContest_GetPlayersResult: ; 13807
ld hl, wBugContestThirdPlaceWinnerID
- ld de, -4
- ld b, 3
+ ld de, - BUG_CONTESTANT_SIZE
+ ld b, 3 ; 3rd, 2nd, or 1st
.loop
ld a, [hl]
- cp 1 ; Player
+ cp BUG_CONTEST_PLAYER
jr z, .done
add hl, de
dec b
@@ -159,7 +158,7 @@ BugContest_JudgeContestants: ; 13819
call ClearContestResults
call ComputeAIContestantScores
ld hl, wBugContestTempWinnerID
- ld a, 1 ; Player
+ ld a, BUG_CONTEST_PLAYER
ld [hli], a
ld a, [wContestMon]
ld [hli], a
@@ -190,11 +189,11 @@ DetermineContestWinners: ; 1383e
jr c, .not_first_place
ld hl, wBugContestSecondPlaceWinnerID
ld de, wBugContestThirdPlaceWinnerID
- ld bc, 4
+ ld bc, BUG_CONTESTANT_SIZE
call CopyBytes
ld hl, wBugContestFirstPlaceWinnerID
ld de, wBugContestSecondPlaceWinnerID
- ld bc, 4
+ ld bc, BUG_CONTESTANT_SIZE
call CopyBytes
ld hl, wBugContestFirstPlaceWinnerID
call CopyTempContestant
@@ -208,7 +207,7 @@ DetermineContestWinners: ; 1383e
jr c, .not_second_place
ld hl, wBugContestSecondPlaceWinnerID
ld de, wBugContestThirdPlaceWinnerID
- ld bc, 4
+ ld bc, BUG_CONTESTANT_SIZE
call CopyBytes
ld hl, wBugContestSecondPlaceWinnerID
call CopyTempContestant
@@ -230,7 +229,7 @@ DetermineContestWinners: ; 1383e
CopyTempContestant: ; 138a0
; Could've just called CopyBytes.
ld de, wBugContestTempWinnerID
-rept 3
+rept BUG_CONTESTANT_SIZE +- 1
ld a, [de]
inc de
ld [hli], a
@@ -264,6 +263,7 @@ ComputeAIContestantScores: ; 138b0
inc hl
inc hl
.loop2
+ ; 0, 1, or 2 for 1st, 2nd, or 3rd
call Random
and 3
cp 3
@@ -278,8 +278,9 @@ ComputeAIContestantScores: ; 138b0
ld a, [hli]
ld h, [hl]
ld l, a
+ ; randomly perturb score
call Random
- and 7
+ and %111
ld c, a
ld b, 0
add hl, bc
@@ -294,7 +295,7 @@ ComputeAIContestantScores: ; 138b0
.done
inc e
ld a, e
- cp 10
+ cp NUM_BUG_CONTESTANTS
jr nz, .loop
ret
; 13900
@@ -337,26 +338,26 @@ ContestScore: ; 13900
; DVs
ld a, [wContestMonDVs + 0]
ld b, a
- and 2
+ and %0010
add a
add a
ld c, a
swap b
ld a, b
- and 2
+ and %0010
add a
add c
ld d, a
ld a, [wContestMonDVs + 1]
ld b, a
- and 2
+ and %0010
ld c, a
swap b
ld a, b
- and 2
+ and %0010
srl a
add c
add c
diff --git a/engine/events/celebi.asm b/engine/events/celebi.asm
index 1139ad3d5..81565c27e 100755
--- a/engine/events/celebi.asm
+++ b/engine/events/celebi.asm
@@ -1,3 +1,5 @@
+SPECIALCELEBIEVENT_CELEBI EQU $84
+
Special_CelebiShrineEvent: ; 4989a
call DelayFrame
ld a, [VramState]
@@ -10,7 +12,7 @@ Special_CelebiShrineEvent: ; 4989a
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
- ld [hl], $84
+ ld [hl], SPECIALCELEBIEVENT_CELEBI
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld [hl], SPRITE_ANIM_SEQ_CELEBI
@@ -19,7 +21,7 @@ Special_CelebiShrineEvent: ; 4989a
ld a, $80
ld [hl], a
ld a, 160 ; frame count
- ld [wcf64], a
+ ld [wFrameCounter], a
ld d, $0
.loop
ld a, [wJumptableIndex]
@@ -43,26 +45,26 @@ Special_CelebiShrineEvent: ; 4989a
.done
pop af
ld [VramState], a
- call .RefreshPlayerSprite_ClearAllOthers
+ call .RestorePlayerSprite_DespawnLeaves
call CelebiEvent_SetBattleType
ret
; 498f9
-.RefreshPlayerSprite_ClearAllOthers: ; 498f9
- ld hl, Sprites + 2
+.RestorePlayerSprite_DespawnLeaves: ; 498f9
+ ld hl, Sprite01TileID
xor a
- ld c, $4
+ ld c, 4
.OAMloop:
- ld [hli], a
- inc hl
- inc hl
+ ld [hli], a ; tile id
+rept SPRITEOAMSTRUCT_LENGTH +- 1
inc hl
+endr
inc a
dec c
jr nz, .OAMloop
- ld hl, Sprites + 4 * 4
- ld bc, 36 * 4
+ ld hl, Sprite05
+ ld bc, SpritesEnd - Sprite05
xor a
call ByteFill
ret
@@ -76,8 +78,8 @@ LoadCelebiGFX: ; 49912
lb bc, BANK(SpecialCelebiLeafGFX), 4
call Request2bpp
ld de, SpecialCelebiGFX
- ld hl, vTiles0 tile $84
- lb bc, BANK(SpecialCelebiGFX), $10
+ ld hl, vTiles0 tile SPECIALCELEBIEVENT_CELEBI
+ lb bc, BANK(SpecialCelebiGFX), 4 * 4
call Request2bpp
xor a
ld [wJumptableIndex], a
@@ -86,7 +88,7 @@ LoadCelebiGFX: ; 49912
; 49935
CelebiEvent_CountDown: ; 49935
- ld hl, wcf64
+ ld hl, wFrameCounter
ld a, [hl]
and a
jr z, .done
@@ -238,27 +240,27 @@ UpdateCelebiPosition: ; 49aa2 (12:5aa2)
CelebiEvent_Cosine: ; 49b3b (12:5b3b)
- add $10
- and $3f
- cp $20
+; a = d * cos(a * pi/32)
+ add %010000
+ and %111111
+ cp %100000
jr nc, .negative
- call .SineFunction
+ call .ApplySineWave
ld a, h
ret
.negative
- and $1f
- call .SineFunction
+ and %011111
+ call .ApplySineWave
ld a, h
xor $ff
inc a
ret
-
-.SineFunction: ; 49b52 (12:5b52)
+.ApplySineWave: ; 49b52 (12:5b52)
ld e, a
ld a, d
- ld d, $0
+ ld d, 0
ld hl, .sinewave
add hl, de
add hl, de
@@ -276,7 +278,6 @@ CelebiEvent_Cosine: ; 49b3b (12:5b3b)
and a
jr nz, .multiply
ret
-
; 49b6e (12:5b6e)
.sinewave ; 49b6e
@@ -307,22 +308,22 @@ GetCelebiSpriteTile: ; 49bae
.Frame1:
- ld a, $84
+ ld a, SPECIALCELEBIEVENT_CELEBI
jr .load_tile
.Frame2:
- ld a, $88
+ ld a, SPECIALCELEBIEVENT_CELEBI + 4
jr .load_tile
.Frame3:
- ld a, $8c
+ ld a, SPECIALCELEBIEVENT_CELEBI + 8
jr .load_tile
.Frame4:
- ld a, $90
+ ld a, SPECIALCELEBIEVENT_CELEBI + 12
.load_tile
ld hl, SPRITEANIMSTRUCT_TILE_ID
@@ -361,7 +362,7 @@ CelebiEvent_SetBattleType: ; 49bf3
; 49bf9
-CheckCaughtCelebi: ; 49bf9
+Special_CheckCaughtCelebi: ; 49bf9
ld a, [wBattleResult]
bit 6, a
jr z, .false
diff --git a/engine/events/checkforhiddenitems.asm b/engine/events/checkforhiddenitems.asm
new file mode 100644
index 000000000..3cad2b821
--- /dev/null
+++ b/engine/events/checkforhiddenitems.asm
@@ -0,0 +1,85 @@
+CheckForHiddenItems: ; b8172
+; Checks to see if there are hidden items on the screen that have not yet been found. If it finds one, returns carry.
+ call GetMapScriptsBank
+ ld [Buffer1], a
+; Get the coordinate of the bottom right corner of the screen, and load it in Buffer3/Buffer4.
+ ld a, [XCoord]
+ add SCREEN_WIDTH / 4
+ ld [Buffer4], a
+ ld a, [YCoord]
+ add SCREEN_HEIGHT / 4
+ ld [Buffer3], a
+; Get the pointer for the first bg_event in the map...
+ ld hl, wCurrMapBGEventsPointer
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+; ... before even checking to see if there are any BG events on this map.
+ ld a, [wCurrMapBGEventCount]
+ and a
+ jr z, .nobgeventitems
+; For i = 1:wCurrMapBGEventCount...
+.loop
+; Store the counter in Buffer2, and store the bg_event pointer in the stack.
+ ld [Buffer2], a
+ push hl
+; Get the Y coordinate of the BG event.
+ call .GetFarByte
+ ld e, a
+; Is the Y coordinate of the BG event on the screen? If not, go to the next BG event.
+ ld a, [Buffer3]
+ sub e
+ jr c, .next
+ cp SCREEN_HEIGHT / 2
+ jr nc, .next
+; Is the X coordinate of the BG event on the screen? If not, go to the next BG event.
+ call .GetFarByte
+ ld d, a
+ ld a, [Buffer4]
+ sub d
+ jr c, .next
+ cp SCREEN_WIDTH / 2
+ jr nc, .next
+; Is this BG event a hidden item? If not, go to the next BG event.
+ call .GetFarByte
+ cp BGEVENT_ITEM
+ jr nz, .next
+; Has this item already been found? If not, set off the Itemfinder.
+ ld a, [Buffer1]
+ call GetFarHalfword
+ ld a, [Buffer1]
+ call GetFarHalfword
+ ld d, h
+ ld e, l
+ ld b, CHECK_FLAG
+ call EventFlagAction
+ ld a, c
+ and a
+ jr z, .itemnearby
+
+.next
+; Restore the bg_event pointer and increment it by the length of a bg_event.
+ pop hl
+ ld bc, 5
+ add hl, bc
+; Restore the BG event counter and decrement it. If it hits zero, there are no hidden items in range.
+ ld a, [Buffer2]
+ dec a
+ jr nz, .loop
+
+.nobgeventitems
+ xor a
+ ret
+
+.itemnearby
+ pop hl
+ scf
+ ret
+; b81e2
+
+.GetFarByte: ; b81e2
+ ld a, [Buffer1]
+ call GetFarByte
+ inc hl
+ ret
+; b81ea
diff --git a/engine/events/daycare.asm b/engine/events/daycare.asm
index 6395a40fb..f65464a8d 100755
--- a/engine/events/daycare.asm
+++ b/engine/events/daycare.asm
@@ -1,3 +1,4 @@
+; PrintDayCareText.TextTable indexes
const_def
const DAYCARETEXT_MAN_INTRO
const DAYCARETEXT_MAN_EGG
@@ -13,12 +14,12 @@
const DAYCARETEXT_GENIUSES
const DAYCARETEXT_ASK_WITHDRAW
const DAYCARETEXT_WITHDRAW
+ const DAYCARETEXT_GOT_BACK
const DAYCARETEXT_TOO_SOON
const DAYCARETEXT_PARTY_FULL
const DAYCARETEXT_NOT_ENOUGH_MONEY
const DAYCARETEXT_OH_FINE
const DAYCARETEXT_COME_AGAIN
- const DAYCARETEXT_13
Special_DayCareMan: ; 166d6
ld hl, wDayCareMan
@@ -44,7 +45,7 @@ Special_DayCareMan: ; 166d6
call DayCare_AskWithdrawBreedMon
jr c, .print_text
farcall RetrievePokemonFromDayCareMan
- call DayCare_TakeMoney_PlayCry
+ call DayCare_GetBackMonForMoney
ld hl, wDayCareMan
res 0, [hl]
res 5, [hl]
@@ -54,7 +55,7 @@ Special_DayCareMan: ; 166d6
call PrintDayCareText
.cancel
- ld a, DAYCARETEXT_13
+ ld a, DAYCARETEXT_COME_AGAIN
call PrintDayCareText
ret
; 1672a
@@ -83,7 +84,7 @@ Special_DayCareLady: ; 1672a
call DayCare_AskWithdrawBreedMon
jr c, .print_text
farcall RetrievePokemonFromDayCareLady
- call DayCare_TakeMoney_PlayCry
+ call DayCare_GetBackMonForMoney
ld hl, wDayCareLady
res 0, [hl]
ld hl, wDayCareMan
@@ -94,7 +95,7 @@ Special_DayCareLady: ; 1672a
call PrintDayCareText
.cancel
- ld a, DAYCARETEXT_13
+ ld a, DAYCARETEXT_COME_AGAIN
call PrintDayCareText
ret
; 16781
@@ -145,7 +146,7 @@ DayCareAskDepositPokemon: ; 16798
ret
.Declined:
- ld a, DAYCARETEXT_COME_AGAIN
+ ld a, DAYCARETEXT_OH_FINE
scf
ret
@@ -180,7 +181,7 @@ DayCare_DepositPokemonText: ; 167f6
ld a, DAYCARETEXT_DEPOSIT
call PrintDayCareText
ld a, [CurPartySpecies]
- call PlayCry
+ call PlayMonCry
ld a, DAYCARETEXT_COME_BACK_LATER
call PrintDayCareText
ret
@@ -190,7 +191,7 @@ DayCare_AskWithdrawBreedMon: ; 16807
ld a, [StringBuffer2 + 1]
and a
jr nz, .grew_at_least_one_level
- ld a, DAYCARETEXT_PARTY_FULL
+ ld a, DAYCARETEXT_TOO_SOON
call PrintDayCareText
call YesNoBox
jr c, .refused
@@ -218,30 +219,30 @@ DayCare_AskWithdrawBreedMon: ; 16807
ret
.refused
- ld a, DAYCARETEXT_COME_AGAIN
+ ld a, DAYCARETEXT_OH_FINE
scf
ret
.not_enough_money
- ld a, DAYCARETEXT_OH_FINE
+ ld a, DAYCARETEXT_NOT_ENOUGH_MONEY
scf
ret
.PartyFull:
- ld a, DAYCARETEXT_NOT_ENOUGH_MONEY
+ ld a, DAYCARETEXT_PARTY_FULL
scf
ret
; 16850
-DayCare_TakeMoney_PlayCry: ; 16850
+DayCare_GetBackMonForMoney: ; 16850
ld bc, StringBuffer2 + 2
ld de, Money
farcall TakeMoney
ld a, DAYCARETEXT_WITHDRAW
call PrintDayCareText
ld a, [CurPartySpecies]
- call PlayCry
- ld a, DAYCARETEXT_TOO_SOON
+ call PlayMonCry
+ ld a, DAYCARETEXT_GOT_BACK
call PrintDayCareText
ret
; 1686d
@@ -283,6 +284,7 @@ PrintDayCareText: ; 1689b
; 168aa
.TextTable: ; 168aa
+; entries correspond to DAYCARETEXT_* constants
dw .DayCareManIntro ; 00
dw .DayCareManOddEgg ; 01
dw .DayCareLadyIntro ; 02
@@ -465,14 +467,14 @@ Special_DayCareManOutside: ; 16936
.Load0:
call PrintText
- xor a
+ xor a ; FALSE
ld [ScriptVar], a
ret
.PartyFull:
ld hl, .PartyFullText
call PrintText
- ld a, $1
+ ld a, TRUE
ld [ScriptVar], a
ret
; 16993
@@ -529,7 +531,7 @@ DayCare_GiveEgg: ; 169ac
ld [hl], a
ld hl, PartyMonNicknames
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call DayCare_GetCurrentPartyMember
ld hl, wEggNick
call CopyBytes
@@ -618,7 +620,7 @@ DayCare_InitBreeding: ; 16a3b
ld bc, wEggMonEnd - wEggMon
call ByteFill
ld hl, wEggNick
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call ByteFill
ld hl, wEggOT
ld bc, NAME_LENGTH
diff --git a/engine/events/dratini.asm b/engine/events/dratini.asm
index f110b34ab..83732bef2 100644
--- a/engine/events/dratini.asm
+++ b/engine/events/dratini.asm
@@ -1,4 +1,4 @@
-SpecialDratini: ; 0x8b170
+Special_Dratini: ; 0x8b170
; if ScriptVar is 0 or 1, change the moveset of the last Dratini in the party.
; 0: give it a special moveset with Extremespeed.
; 1: give it the normal moveset of a level 15 Dratini.
diff --git a/engine/events/elevator.asm b/engine/events/elevator.asm
index 9170b642d..e0426c5bd 100755
--- a/engine/events/elevator.asm
+++ b/engine/events/elevator.asm
@@ -188,24 +188,23 @@ Elevator_GetCurrentFloorString: ; 1353f
; 13550
Elevator_MenuDataHeader: ; 0x13550
- db $40 ; flags
- db 01, 12 ; start coords
- db 09, 18 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 12, 1, 18, 9
dw Elevator_MenuData2
db 1 ; default option
; 0x13558
Elevator_MenuData2: ; 0x13558
- db $10 ; flags
+ db SCROLLINGMENU_DISPLAY_ARROWS ; flags
db 4, 0 ; rows, columns
db 1 ; horizontal spacing
dbw 0, CurElevator
- dba GetElevatorFlorStrings
+ dba GetElevatorFloorStrings
dba NULL
dba NULL
; 13568
-GetElevatorFlorStrings: ; 13568
+GetElevatorFloorStrings: ; 13568
ld a, [MenuSelection]
GetFloorString: ; 1356b
push de
@@ -220,7 +219,7 @@ FloorToString: ; 13575
push de
ld e, a
ld d, 0
- ld hl, .floors
+ ld hl, ElevatorFloorNames
add hl, de
add hl, de
ld a, [hli]
@@ -230,54 +229,4 @@ FloorToString: ; 13575
ret
; 13583
-.floors
- dw .b4f
- dw .b3f
- dw .b2f
- dw .b1f
- dw ._1f
- dw ._2f
- dw ._3f
- dw ._4f
- dw ._5f
- dw ._6f
- dw ._7f
- dw ._8f
- dw ._9f
- dw ._10f
- dw ._11f
- dw .roof
-
-.b4f
- db "B4F@"
-.b3f
- db "B3F@"
-.b2f
- db "B2F@"
-.b1f
- db "B1F@"
-._1f
- db "1F@"
-._2f
- db "2F@"
-._3f
- db "3F@"
-._4f
- db "4F@"
-._5f
- db "5F@"
-._6f
- db "6F@"
-._7f
- db "7F@"
-._8f
- db "8F@"
-._9f
- db "9F@"
-._10f
- db "10F@"
-._11f
- db "11F@"
-.roof
- db "ROOF@"
-; 135db
+INCLUDE "data/elevator_floors.asm"
diff --git a/engine/events/field_moves.asm b/engine/events/field_moves.asm
index a1a2e2e79..3fb1fe9e6 100755
--- a/engine/events/field_moves.asm
+++ b/engine/events/field_moves.asm
@@ -7,7 +7,7 @@ PlayWhirlpoolSound: ; 8c7d4
; 8c7e1
BlindingFlash: ; 8c7e1
- farcall FadeOutPalettes
+ farcall Special_FadeOutPalettes
ld hl, wStatusFlags
set 2, [hl] ; Flash
farcall ReplaceTimeOfDayPals
@@ -15,7 +15,7 @@ BlindingFlash: ; 8c7e1
ld b, SCGB_MAPPALS
call GetSGBLayout
farcall LoadOW_BGPal7
- farcall FadeInPalettes
+ farcall Special_FadeInPalettes
ret
; 8c80a
@@ -39,13 +39,13 @@ ShakeHeadbuttTree: ; 8c80a
ld [wCurrSpriteOAMAddr], a
farcall DoNextFrameForAllSprites
call HideHeadbuttTree
- ld a, $20
- ld [wcf64], a
+ ld a, 32
+ ld [wFrameCounter], a
call WaitSFX
ld de, SFX_SANDSTORM
call PlaySFX
.loop
- ld hl, wcf64
+ ld hl, wFrameCounter
ld a, [hl]
and a
jr z, .done
@@ -62,8 +62,8 @@ ShakeHeadbuttTree: ; 8c80a
xor a
ld [hBGMapMode], a
farcall ClearSpriteAnims
- ld hl, Sprites + 36 * 4
- ld bc, SpritesEnd - (Sprites + 36 * 4)
+ ld hl, Sprite37
+ ld bc, SpritesEnd - Sprite37
xor a
call ByteFill
ld de, Font
@@ -188,7 +188,7 @@ Cut_SpawnAnimateTree: ; 8ca23 (23:4a23)
add hl, bc
ld [hl], $84
ld a, 32
- ld [wcf64], a
+ ld [wFrameCounter], a
; Cut_StartWaiting
ld hl, wJumptableIndex
inc [hl]
@@ -206,7 +206,7 @@ Cut_SpawnAnimateLeaves: ; 8ca3c (23:4a3c)
ld a, $30
call Cut_SpawnLeaf
ld a, 32 ; frames
- ld [wcf64], a
+ ld [wFrameCounter], a
; Cut_StartWaiting
ld hl, wJumptableIndex
inc [hl]
@@ -220,7 +220,7 @@ Cut_StartWaiting: ; 8ca5c (23:4a5c)
inc [hl]
Cut_WaitAnimSFX: ; 8ca64 (23:4a64)
- ld hl, wcf64
+ ld hl, wFrameCounter
ld a, [hl]
and a
jr z, .finished
@@ -336,7 +336,7 @@ FlyFromAnim: ; 8caed
add hl, bc
ld [hl], SPRITE_ANIM_SEQ_FLY_FROM
ld a, 128
- ld [wcf64], a
+ ld [wFrameCounter], a
.loop
ld a, [wJumptableIndex]
bit 7, a
@@ -374,7 +374,7 @@ FlyToAnim: ; 8cb33
add hl, bc
ld [hl], 11 * 8
ld a, 64
- ld [wcf64], a
+ ld [wFrameCounter], a
.loop
ld a, [wJumptableIndex]
bit 7, a
@@ -393,19 +393,19 @@ FlyToAnim: ; 8cb33
ret
.RestorePlayerSprite_DespawnLeaves: ; 8cb82 (23:4b82)
- ld hl, Sprites + 2 ; Tile ID
+ ld hl, Sprite01TileID
xor a
- ld c, $4
-.loop2
- ld [hli], a
- inc hl
- inc hl
+ ld c, 4
+.OAMloop
+ ld [hli], a ; tile id
+rept SPRITEOAMSTRUCT_LENGTH +- 1
inc hl
+endr
inc a
dec c
- jr nz, .loop2
- ld hl, Sprites + 4 * 4
- ld bc, SpritesEnd - (Sprites + 4 * 4)
+ jr nz, .OAMloop
+ ld hl, Sprite05
+ ld bc, SpritesEnd - Sprite05
xor a
call ByteFill
ret
@@ -431,7 +431,7 @@ FlyFunction_InitGFX: ; 8cb9b (23:4b9b)
FlyFunction_FrameTimer: ; 8cbc8 (23:4bc8)
call .SpawnLeaf
- ld hl, wcf64
+ ld hl, wFrameCounter
ld a, [hl]
and a
jr z, .exit
diff --git a/engine/events/fish.asm b/engine/events/fish.asm
index 9d1ea63ae..39644847d 100644
--- a/engine/events/fish.asm
+++ b/engine/events/fish.asm
@@ -80,7 +80,7 @@ rept 4
endr
ld a, [TimeOfDay]
- and 3
+ maskbits NUM_DAYTIMES
cp NITE_F
jr c, .time_species
inc hl
diff --git a/engine/events/fruit_trees.asm b/engine/events/fruit_trees.asm
index d0b0bac15..44f2315a0 100644
--- a/engine/events/fruit_trees.asm
+++ b/engine/events/fruit_trees.asm
@@ -2,7 +2,7 @@ FruitTreeScript:: ; 44000
callasm GetCurTreeFruit
opentext
copybytetovar CurFruit
- itemtotext $0, $0
+ itemtotext USE_SCRIPT_VAR, MEM_BUFFER_0
writetext FruitBearingTreeText
buttonsound
callasm TryResetFruitTrees
@@ -58,7 +58,7 @@ CheckFruitTree: ; 44055
; 4405f
PickedFruitTree: ; 4405f
- farcall TrainerRankings_FruitPicked
+ farcall StubbedTrainerRankings_FruitPicked
ld b, 1
jp GetFruitTreeFlag
; 4406a
diff --git a/engine/events/halloffame.asm b/engine/events/halloffame.asm
index f1981c2fd..dbd3a2d5a 100755
--- a/engine/events/halloffame.asm
+++ b/engine/events/halloffame.asm
@@ -42,7 +42,7 @@ RedCredits:: ; 86455
ld [MusicFadeID + 1], a
ld a, 10
ld [MusicFade], a
- farcall FadeOutPalettes
+ farcall Special_FadeOutPalettes
xor a
ld [VramState], a
ld [hMapAnims], a
@@ -65,7 +65,7 @@ HallOfFame_FadeOutMusic: ; 8648e
ld [MusicFadeID + 1], a
ld a, 10
ld [MusicFade], a
- farcall FadeOutPalettes
+ farcall Special_FadeOutPalettes
xor a
ld [VramState], a
ld [hMapAnims], a
@@ -92,9 +92,9 @@ AnimateHallOfFame: ; 864c3
ld de, MUSIC_HALL_OF_FAME
call HallOfFame_PlayMusicDE
xor a
- ld [wcf64], a
+ ld [wHallOfFameMonCounter], a
.loop
- ld a, [wcf64]
+ ld a, [wHallOfFameMonCounter]
cp PARTY_LENGTH
jr nc, .done
ld hl, wHallOfFameTempMon1
@@ -108,7 +108,7 @@ AnimateHallOfFame: ; 864c3
pop hl
call .DisplayNewHallOfFamer
jr c, .done
- ld hl, wcf64
+ ld hl, wHallOfFameMonCounter
inc [hl]
jr .loop
@@ -208,9 +208,9 @@ GetHallOfFameParty: ; 8653f
push bc
ld a, c
ld hl, PartyMonNicknames
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call AddNTimes
- ld bc, PKMN_NAME_LENGTH - 1
+ ld bc, MON_NAME_LENGTH - 1
call CopyBytes
pop bc
@@ -321,7 +321,7 @@ _HallOfFamePC: ; 86650
.DisplayTeam:
xor a
- ld [wcf64], a
+ ld [wHallOfFameMonCounter], a
.next
call .DisplayMonAndStrings
jr c, .start_button
@@ -341,7 +341,7 @@ _HallOfFamePC: ; 86650
jr .loop
.a_button
- ld hl, wcf64
+ ld hl, wHallOfFameMonCounter
inc [hl]
jr .next
@@ -356,7 +356,7 @@ _HallOfFamePC: ; 86650
.DisplayMonAndStrings:
; Print the number of times the player has entered the Hall of Fame.
; If that number is above 200, print "HOF Master!" instead.
- ld a, [wcf64]
+ ld a, [wHallOfFameMonCounter]
cp PARTY_LENGTH
jr nc, .fail
ld hl, wHallOfFameTempMon1
@@ -460,7 +460,7 @@ DisplayHOFMon: ; 86748
ld a, [hli]
ld [TempMonLevel], a
ld de, StringBuffer2
- ld bc, PKMN_NAME_LENGTH - 1
+ ld bc, MON_NAME_LENGTH - 1
call CopyBytes
ld a, "@"
ld [StringBuffer2 + 10], a
diff --git a/engine/events/happiness_egg.asm b/engine/events/happiness_egg.asm
index a4ae8b7e6..2db54a1a7 100755
--- a/engine/events/happiness_egg.asm
+++ b/engine/events/happiness_egg.asm
@@ -1,4 +1,4 @@
-GetFirstPokemonHappiness: ; 718d
+Special_GetFirstPokemonHappiness: ; 718d
ld hl, PartyMon1Happiness
ld bc, PARTYMON_STRUCT_LENGTH
ld de, PartySpecies
@@ -17,11 +17,11 @@ GetFirstPokemonHappiness: ; 718d
call GetPokemonName
jp CopyPokemonName_Buffer1_Buffer3
-CheckFirstMonIsEgg: ; 71ac
+Special_CheckFirstMonIsEgg: ; 71ac
ld a, [PartySpecies]
ld [wd265], a
cp EGG
- ld a, $1
+ ld a, 1
jr z, .egg
xor a
diff --git a/engine/events/heal_machine_anim.asm b/engine/events/heal_machine_anim.asm
index 493330e58..067b2f554 100755
--- a/engine/events/heal_machine_anim.asm
+++ b/engine/events/heal_machine_anim.asm
@@ -1,4 +1,13 @@
-HealMachineAnim: ; 12324
+; Special_HealMachineAnim.Jumptable indexes
+ const_def
+ const HEALMACHINESTATE_LOADGFX
+ const HEALMACHINESTATE_PCLOADBALLS
+ const HEALMACHINESTATE_HOFLOADBALLS
+ const HEALMACHINESTATE_PLAYMUSIC
+ const HEALMACHINESTATE_HOFPLAYSFX
+ const HEALMACHINESTATE_FINISH
+
+Special_HealMachineAnim: ; 12324
; If you have no Pokemon, don't change the buffer. This can lead to some glitchy effects if you have no Pokemon.
ld a, [PartyCount]
and a
@@ -36,7 +45,7 @@ HealMachineAnim: ; 12324
ld [Buffer3], a
add hl, de
ld a, [hl]
- cp 5
+ cp HEALMACHINESTATE_FINISH
jr z, .finish
ld hl, .Jumptable
rst JumpTable
@@ -47,20 +56,29 @@ HealMachineAnim: ; 12324
; 12365
.Pointers: ; 12365
+; entries correspond to HEALMACHINE_* constants
dw .Pokecenter
dw .ElmLab
dw .HallOfFame
; 1236b
+healmachineanimseq: MACRO
+rept _NARG
+ db HEALMACHINESTATE_\1
+ shift
+endr
+ENDM
+
.Pokecenter: ; 1236b
- db 0, 1, 3, 5
+ healmachineanimseq LOADGFX, PCLOADBALLS, PLAYMUSIC, FINISH
.ElmLab: ; 1236f
- db 0, 1, 3, 5
+ healmachineanimseq LOADGFX, PCLOADBALLS, PLAYMUSIC, FINISH
.HallOfFame: ; 12373
- db 0, 2, 4, 5
+ healmachineanimseq LOADGFX, HOFLOADBALLS, HOFPLAYSFX, FINISH
; 12377
.Jumptable: ; 12377
+; entries correspond to HEALMACHINESTATE_* constants
dw .LoadGFX
dw .PC_LoadBallsOntoMachine
dw .HOF_LoadBallsOntoMachine
@@ -73,20 +91,20 @@ HealMachineAnim: ; 12324
call .LoadPalettes
ld de, .HealMachineGFX
ld hl, vTiles0 tile $7c
- lb bc, BANK(.HealMachineGFX), $2
+ lb bc, BANK(.HealMachineGFX), 2
call Request2bpp
ret
; 12393
.PC_LoadBallsOntoMachine: ; 12393
- ld hl, Sprites + $80
+ ld hl, Sprite33
ld de, .PC_ElmsLab_OAM
call .PlaceHealingMachineTile
call .PlaceHealingMachineTile
jr .LoadBallsOntoMachine
.HOF_LoadBallsOntoMachine: ; 123a1
- ld hl, Sprites + $80
+ ld hl, Sprite33
ld de, .HOF_OAM
.LoadBallsOntoMachine: ; 123a7
@@ -160,7 +178,7 @@ INCBIN "gfx/overworld/heal_machine.2bpp"
ld hl, .palettes
ld de, wOBPals2 palette PAL_OW_TREE
ld bc, 1 palettes
- ld a, $5
+ ld a, BANK(wOBPals2)
call FarCopyWRAM
ld a, $1
ld [hCGBPalUpdate], a
@@ -168,14 +186,11 @@ INCBIN "gfx/overworld/heal_machine.2bpp"
; 12451
.palettes ; 12451
- RGB 31, 31, 31
- RGB 31, 19, 10
- RGB 31, 07, 01
- RGB 00, 00, 00
+INCLUDE "gfx/overworld/heal_machine.pal"
; 12459
.FlashPalettes8Times: ; 12459
- ld c, $8
+ ld c, 8
.palette_loop
push bc
call .FlashPalettes
@@ -198,7 +213,7 @@ INCBIN "gfx/overworld/heal_machine.2bpp"
.go
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wOBPals2)
ld [rSVBK], a
ld hl, wOBPals2 palette PAL_OW_TREE
@@ -241,7 +256,7 @@ INCBIN "gfx/overworld/heal_machine.2bpp"
push bc
ld a, [Buffer1]
bcpixel 2, 4
- cp $1 ; ElmsLab
+ cp HEALMACHINE_ELMS_LAB
jr z, .okay
bcpixel 0, 0
@@ -249,17 +264,17 @@ INCBIN "gfx/overworld/heal_machine.2bpp"
ld a, [de]
add c
inc de
- ld [hli], a
+ ld [hli], a ; y
ld a, [de]
add b
inc de
- ld [hli], a
+ ld [hli], a ; x
ld a, [de]
inc de
- ld [hli], a
+ ld [hli], a ; tile id
ld a, [de]
inc de
- ld [hli], a
+ ld [hli], a ; attributes
pop bc
ret
; 124c1
diff --git a/engine/events/kurt.asm b/engine/events/kurt.asm
index 9bc06a613..13bde6f7e 100644
--- a/engine/events/kurt.asm
+++ b/engine/events/kurt.asm
@@ -76,7 +76,7 @@ Kurt_SelectApricorn: ; 88055
jr nz, .done
.nope
- xor a
+ xor a ; FALSE
.done
ld c, a
@@ -84,17 +84,16 @@ Kurt_SelectApricorn: ; 88055
; 88086
.MenuDataHeader: ; 0x88086
- db $40 ; flags
- db 01, 01 ; start coords
- db 10, 13 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 1, 1, 13, 10
dw .MenuData2
db 1 ; default option
; 0x8808e
- db 0
+ db 0 ; XXX
.MenuData2: ; 0x8808f
- db $10 ; flags
+ db SCROLLINGMENU_DISPLAY_ARROWS ; flags
db 4, 7
db 1
dbw 0, Buffer1
@@ -159,11 +158,11 @@ Kurt_SelectQuantity: ; 880c2
; 8810d
.MenuDataHeader: ; 0x8810d
- db $40 ; flags
- db 09, 06 ; start coords
- db 12, 19 ; end coords
-
- db 0, 0, -1, 0 ; XXX
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 6, 9, SCREEN_WIDTH - 1, 12
+ dw NULL
+ db -1 ; default option
+ db 0
.PlaceApricornName: ; 88116
call MenuBoxCoord2Tile
diff --git a/engine/events/loadfishinggfx.asm b/engine/events/loadfishinggfx.asm
new file mode 100644
index 000000000..f67c51d8b
--- /dev/null
+++ b/engine/events/loadfishinggfx.asm
@@ -0,0 +1,46 @@
+LoadFishingGFX: ; b84b3
+ ld a, [rVBK]
+ push af
+ ld a, $1
+ ld [rVBK], a
+
+ ld de, FishingGFX
+ ld a, [wPlayerGender]
+ bit 0, a
+ jr z, .got_gender
+ ld de, KrisFishingGFX
+.got_gender
+
+ ld hl, vTiles0 tile $02
+ call .LoadGFX
+ ld hl, vTiles0 tile $06
+ call .LoadGFX
+ ld hl, vTiles0 tile $0a
+ call .LoadGFX
+ ld hl, vTiles1 tile $7c
+ call .LoadGFX
+
+ pop af
+ ld [rVBK], a
+ ret
+; b84e3
+
+.LoadGFX: ; b84e3
+ lb bc, BANK(FishingGFX), 2
+ push de
+ call Get2bpp
+ pop de
+ ld hl, 2 tiles
+ add hl, de
+ ld d, h
+ ld e, l
+ ret
+; b84f2
+
+FishingGFX: ; b84f2
+INCBIN "gfx/overworld/chris_fish.2bpp"
+; b8582
+
+KrisFishingGFX: ; b8582
+INCBIN "gfx/overworld/kris_fish.2bpp"
+; b8612
diff --git a/engine/events/lucky_number.asm b/engine/events/lucky_number.asm
index 4488cfcc9..a172fc431 100644
--- a/engine/events/lucky_number.asm
+++ b/engine/events/lucky_number.asm
@@ -103,7 +103,7 @@ Special_CheckForLuckyNumberWinners: ; 4d87a
ld a, [ScriptVar]
and a
ret z ; found nothing
- farcall TrainerRankings_LuckyNumberShow
+ farcall StubbedTrainerRankings_LuckyNumberShow
ld a, [wFoundMatchingIDInParty]
and a
push af
diff --git a/engine/events/magikarp.asm b/engine/events/magikarp.asm
index 68e8baad7..6588295b8 100644
--- a/engine/events/magikarp.asm
+++ b/engine/events/magikarp.asm
@@ -28,7 +28,7 @@ Special_CheckMagikarpLength: ; fbb32
ld c, l
call CalcMagikarpLength
call PrintMagikarpLength
- farcall TrainerRankings_MagikarpLength
+ farcall StubbedTrainerRankings_MagikarpLength
ld hl, .MeasureItText
call PrintText
@@ -52,22 +52,22 @@ Special_CheckMagikarpLength: ; fbb32
ld hl, PartyMonOT
call SkipNames
call CopyBytes
- ld a, 3
+ ld a, MAGIKARPLENGTH_BEAT_RECORD
ld [ScriptVar], a
ret
.not_long_enough
- ld a, 2
+ ld a, MAGIKARPLENGTH_TOO_SHORT
ld [ScriptVar], a
ret
.declined
- ld a, 1
+ ld a, MAGIKARPLENGTH_REFUSED
ld [ScriptVar], a
ret
.not_magikarp
- xor a
+ xor a ; MAGIKARPLENGTH_NOT_MAGIKARP
ld [ScriptVar], a
ret
; fbba9
diff --git a/engine/events/magnet_train.asm b/engine/events/magnet_train.asm
index c85642ab8..232372dbd 100755
--- a/engine/events/magnet_train.asm
+++ b/engine/events/magnet_train.asm
@@ -16,7 +16,7 @@ Special_MagnetTrain: ; 8cc04
ld h, a
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wMagnetTrain)
ld [rSVBK], a
ld a, h
@@ -86,20 +86,20 @@ Special_MagnetTrain: ; 8cc04
MagnetTrain_UpdateLYOverrides: ; 8cc99
ld hl, LYOverridesBackup
ld c, $2f
- ld a, [wcf64]
+ ld a, [wMagnetTrainOffset]
add a
ld [hSCX], a
call .loadloop
ld c, $30
- ld a, [wcf65]
+ ld a, [wMagnetTrainPosition]
call .loadloop
ld c, $31
- ld a, [wcf64]
+ ld a, [wMagnetTrainOffset]
add a
call .loadloop
ld a, [wMagnetTrainDirection]
ld d, a
- ld hl, wcf64
+ ld hl, wMagnetTrainOffset
ld a, [hl]
add d
add d
@@ -129,7 +129,7 @@ MagntTrain_LoadGFX_PlayMusic: ; 8ccc9
ld [hSCY], a
ld a, [rSVBK]
push af
- ld a, $1
+ ld a, BANK(wPlayerGender)
ld [rSVBK], a
farcall GetPlayerIcon
pop af
@@ -147,11 +147,11 @@ MagntTrain_LoadGFX_PlayMusic: ; 8ccc9
call MagnetTrain_InitLYOverrides
ld hl, wJumptableIndex
xor a
- ld [hli], a
+ ld [hli], a ; wJumptableIndex
ld a, [wMagnetTrainInitPosition]
- ld [hli], a
- ld [hli], a
- ld [hli], a
+ ld [hli], a ; wMagnetTrainOffset
+ ld [hli], a ; wMagnetTrainPosition
+ ld [hli], a ; wMagnetTrainWaitCounter
ld de, MUSIC_MAGNET_TRAIN
call PlayMusic2
ret
@@ -220,8 +220,7 @@ GetMagnetTrainBGTiles: ; 8cd74
; 8cd82
MagnetTrainBGTiles: ; 8cd82
-; Alternating tiles for each line
-; of the Magnet Train tilemap.
+; Alternating tiles for each line of the Magnet Train tilemap.
db $4c, $4d ; bush
db $5c, $5d ; bush
db $4c, $4d ; bush
@@ -263,25 +262,25 @@ SetMagnetTrainPals: ; 8cdc3
; bushes
hlbgcoord 0, 0
ld bc, 4 * BG_MAP_WIDTH
- ld a, $2
+ ld a, PAL_BG_GREEN
call ByteFill
; train
hlbgcoord 0, 4
ld bc, 10 * BG_MAP_WIDTH
- xor a
+ xor a ; PAL_BG_GRAY
call ByteFill
; more bushes
hlbgcoord 0, 14
ld bc, 4 * BG_MAP_WIDTH
- ld a, $2
+ ld a, PAL_BG_GREEN
call ByteFill
; train window
hlbgcoord 7, 8
ld bc, 6
- ld a, $4
+ ld a, PAL_BG_YELLOW
call ByteFill
ld a, $0
@@ -325,7 +324,7 @@ MagnetTrain_Jumptable: ; 8cdf7
ld b, SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
ld a, [rSVBK]
push af
- ld a, $1
+ ld a, BANK(wPlayerGender)
ld [rSVBK], a
ld a, [wPlayerGender]
bit 0, a
@@ -342,13 +341,13 @@ MagnetTrain_Jumptable: ; 8cdf7
ld [hl], $0
call .Next
ld a, $80
- ld [wcf66], a
+ ld [wMagnetTrainWaitCounter], a
ret
; 8ce47
.MoveTrain1: ; 8ce47
ld hl, wMagnetTrainHoldPosition
- ld a, [wcf65]
+ ld a, [wMagnetTrainPosition]
cp [hl]
jr z, .PrepareToHoldTrain
ld e, a
@@ -356,7 +355,7 @@ MagnetTrain_Jumptable: ; 8cdf7
xor $ff
inc a
add e
- ld [wcf65], a
+ ld [wMagnetTrainPosition], a
ld hl, wGlobalAnimXOffset
ld a, [wMagnetTrainDirection]
add [hl]
@@ -366,12 +365,12 @@ MagnetTrain_Jumptable: ; 8cdf7
.PrepareToHoldTrain:
call .Next
ld a, $80
- ld [wcf66], a
+ ld [wMagnetTrainWaitCounter], a
ret
; 8ce6d
.WaitScene: ; 8ce6d
- ld hl, wcf66
+ ld hl, wMagnetTrainWaitCounter
ld a, [hl]
and a
jr z, .DoneWaiting
@@ -385,7 +384,7 @@ MagnetTrain_Jumptable: ; 8cdf7
.MoveTrain2: ; 8ce7a
ld hl, wMagnetTrainFinalPosition
- ld a, [wcf65]
+ ld a, [wMagnetTrainPosition]
cp [hl]
jr z, .PrepareToFinishAnim
ld e, a
@@ -396,7 +395,7 @@ MagnetTrain_Jumptable: ; 8cdf7
ld a, e
add d
add d
- ld [wcf65], a
+ ld [wMagnetTrainPosition], a
ld hl, wGlobalAnimXOffset
ld a, [wMagnetTrainDirection]
ld d, a
@@ -429,14 +428,14 @@ MagnetTrain_Jumptable_FirstRunThrough: ; 8ceae
call DelayFrame
ld a, [rSVBK]
push af
- ld a, $1
+ ld a, BANK(wEnvironment)
ld [rSVBK], a
ld a, [TimeOfDayPal]
push af
ld a, [wEnvironment]
push af
ld a, [TimeOfDay]
- and $3
+ maskbits NUM_DAYTIMES
ld [TimeOfDayPal], a
ld a, $1
ld [wEnvironment], a
@@ -459,23 +458,11 @@ MagnetTrain_Jumptable_FirstRunThrough: ; 8ceae
; 8ceff
MagnetTrainTilemap1:
- db $1f, $05, $06, $0a, $0a
- db $0a, $09, $0a, $0a, $0a
- db $0a, $0a, $0a, $09, $0a
- db $0a, $0a, $0b, $0c, $1f
+ db $1f, $05, $06, $0a, $0a, $0a, $09, $0a, $0a, $0a, $0a, $0a, $0a, $09, $0a, $0a, $0a, $0b, $0c, $1f
MagnetTrainTilemap2:
- db $14, $15, $16, $1a, $1a
- db $1a, $19, $1a, $1a, $1a
- db $1a, $1a, $1a, $19, $1a
- db $1a, $1a, $1b, $1c, $1d
+ db $14, $15, $16, $1a, $1a, $1a, $19, $1a, $1a, $1a, $1a, $1a, $1a, $19, $1a, $1a, $1a, $1b, $1c, $1d
MagnetTrainTilemap3:
- db $24, $25, $26, $27, $07
- db $2f, $29, $28, $28, $28
- db $28, $28, $28, $29, $07
- db $2f, $2a, $2b, $2c, $2d
+ db $24, $25, $26, $27, $07, $2f, $29, $28, $28, $28, $28, $28, $28, $29, $07, $2f, $2a, $2b, $2c, $2d
MagnetTrainTilemap4:
- db $20, $1f, $2e, $1f, $17
- db $00, $2e, $1f, $1f, $1f
- db $1f, $1f, $1f, $2e, $17
- db $00, $1f, $2e, $1f, $0f
+ db $20, $1f, $2e, $1f, $17, $00, $2e, $1f, $1f, $1f, $1f, $1f, $1f, $2e, $17, $00, $1f, $2e, $1f, $0f
; 8cf4f
diff --git a/engine/events/map_name_sign.asm b/engine/events/map_name_sign.asm
new file mode 100644
index 000000000..b20d74ee4
--- /dev/null
+++ b/engine/events/map_name_sign.asm
@@ -0,0 +1,274 @@
+MAP_NAME_SIGN_START EQU $60
+
+ReturnFromMapSetupScript:: ; b8000
+ xor a
+ ld [hBGMapMode], a
+ farcall .inefficient_farcall ; this is a waste of 6 ROM bytes and 6 stack bytes
+ ret
+; b800a
+
+; should have just been a fallthrough
+.inefficient_farcall ; b800a
+ ld a, [MapGroup]
+ ld b, a
+ ld a, [MapNumber]
+ ld c, a
+ call GetWorldMapLocation
+ ld [wCurrentLandmark], a
+ call .CheckNationalParkGate
+ jr z, .nationalparkgate
+
+ call GetMapEnvironment
+ cp GATE
+ jr nz, .not_gate
+
+.nationalparkgate
+ ld a, -1
+ ld [wCurrentLandmark], a
+
+.not_gate
+ ld hl, wEnteredMapFromContinue
+ bit 1, [hl]
+ res 1, [hl]
+ jr nz, .dont_do_map_sign
+
+ call .CheckMovingWithinLandmark
+ jr z, .dont_do_map_sign
+ ld a, [wCurrentLandmark]
+ ld [wPreviousLandmark], a
+
+ call .CheckSpecialMap
+ jr z, .dont_do_map_sign
+
+; Display for 60 frames
+ ld a, 60
+ ld [wLandmarkSignTimer], a
+ call LoadMapNameSignGFX
+ call InitMapNameFrame
+ farcall HDMATransfer_OnlyTopFourRows
+ ret
+
+.dont_do_map_sign
+ ld a, [wCurrentLandmark]
+ ld [wPreviousLandmark], a
+ ld a, $90
+ ld [rWY], a
+ ld [hWY], a
+ xor a
+ ld [hLCDCPointer], a
+ ret
+; b8064
+
+.CheckMovingWithinLandmark: ; b8064
+ ld a, [wCurrentLandmark]
+ ld c, a
+ ld a, [wPreviousLandmark]
+ cp c
+ ret z
+ cp SPECIAL_MAP
+ ret
+; b8070
+
+.CheckSpecialMap: ; b8070
+; These landmarks do not get pop-up signs.
+ cp -1
+ ret z
+ cp SPECIAL_MAP
+ ret z
+ cp RADIO_TOWER
+ ret z
+ cp LAV_RADIO_TOWER
+ ret z
+ cp UNDERGROUND_PATH
+ ret z
+ cp INDIGO_PLATEAU
+ ret z
+ cp POWER_PLANT
+ ret z
+ ld a, $1
+ and a
+ ret
+; b8089
+
+.CheckNationalParkGate: ; b8089
+ ld a, [MapGroup]
+ cp GROUP_ROUTE_35_NATIONAL_PARK_GATE
+ ret nz
+ ld a, [MapNumber]
+ cp MAP_ROUTE_35_NATIONAL_PARK_GATE
+ ret z
+ cp MAP_ROUTE_36_NATIONAL_PARK_GATE
+ ret
+; b8098
+
+
+PlaceMapNameSign:: ; b8098 (2e:4098)
+ ld hl, wLandmarkSignTimer
+ ld a, [hl]
+ and a
+ jr z, .disappear
+ dec [hl]
+ cp 60
+ ret z
+ cp 59
+ jr nz, .skip2
+ call InitMapNameFrame
+ call PlaceMapNameCenterAlign
+ farcall HDMATransfer_OnlyTopFourRows
+.skip2
+ ld a, $80
+ ld a, $70
+ ld [rWY], a
+ ld [hWY], a
+ ret
+
+.disappear
+ ld a, $90
+ ld [rWY], a
+ ld [hWY], a
+ xor a
+ ld [hLCDCPointer], a
+ ret
+
+
+LoadMapNameSignGFX: ; b80c6
+ ld de, MapEntryFrameGFX
+ ld hl, vTiles2 tile MAP_NAME_SIGN_START
+ lb bc, BANK(MapEntryFrameGFX), 14
+ call Get2bpp
+ ret
+; b80d3
+
+InitMapNameFrame: ; b80d3
+ hlcoord 0, 0
+ ld b, 2
+ ld c, 18
+ call InitMapSignAttrMap
+ call PlaceMapNameFrame
+ ret
+; b80e1
+
+
+PlaceMapNameCenterAlign: ; b80e1 (2e:40e1)
+ ld a, [wCurrentLandmark]
+ ld e, a
+ farcall GetLandmarkName
+ call .GetNameLength
+ ld a, SCREEN_WIDTH
+ sub c
+ srl a
+ ld b, $0
+ ld c, a
+ hlcoord 0, 2
+ add hl, bc
+ ld de, StringBuffer1
+ call PlaceString
+ ret
+
+.GetNameLength: ; b8101 (2e:4101)
+ ld c, 0
+ push hl
+ ld hl, StringBuffer1
+.loop
+ ld a, [hli]
+ cp "@"
+ jr z, .stop
+ cp "%"
+ jr z, .loop
+ inc c
+ jr .loop
+.stop
+ pop hl
+ ret
+
+
+InitMapSignAttrMap: ; b8115
+ ld de, AttrMap - TileMap
+ add hl, de
+ inc b
+ inc b
+ inc c
+ inc c
+ ld a, PAL_BG_TEXT | PRIORITY
+.loop
+ push bc
+ push hl
+.inner_loop
+ ld [hli], a
+ dec c
+ jr nz, .inner_loop
+ pop hl
+ ld de, SCREEN_WIDTH
+ add hl, de
+ pop bc
+ dec b
+ jr nz, .loop
+ ret
+; b812f
+
+PlaceMapNameFrame: ; b812f
+ hlcoord 0, 0
+ ; top left
+ ld a, MAP_NAME_SIGN_START + 1
+ ld [hli], a
+ ; top row
+ ld a, MAP_NAME_SIGN_START + 2
+ call .FillTopBottom
+ ; top right
+ ld a, MAP_NAME_SIGN_START + 4
+ ld [hli], a
+ ; left, first line
+ ld a, MAP_NAME_SIGN_START + 5
+ ld [hli], a
+ ; first line
+ call .FillMiddle
+ ; right, first line
+ ld a, MAP_NAME_SIGN_START + 11
+ ld [hli], a
+ ; left, second line
+ ld a, MAP_NAME_SIGN_START + 6
+ ld [hli], a
+ ; second line
+ call .FillMiddle
+ ; right, second line
+ ld a, MAP_NAME_SIGN_START + 12
+ ld [hli], a
+ ; bottom left
+ ld a, MAP_NAME_SIGN_START + 7
+ ld [hli], a
+ ; bottom
+ ld a, MAP_NAME_SIGN_START + 8
+ call .FillTopBottom
+ ; bottom right
+ ld a, MAP_NAME_SIGN_START + 10
+ ld [hl], a
+ ret
+; b815b
+
+.FillMiddle: ; b815b
+ ld c, SCREEN_WIDTH - 2
+ ld a, MAP_NAME_SIGN_START + 13
+.loop
+ ld [hli], a
+ dec c
+ jr nz, .loop
+ ret
+; b8164
+
+.FillTopBottom: ; b8164
+ ld c, 5
+ jr .enterloop
+
+.continueloop
+ ld [hli], a
+ ld [hli], a
+
+.enterloop
+ inc a
+ ld [hli], a
+ ld [hli], a
+ dec a
+ dec c
+ jr nz, .continueloop
+ ret
+; b8172
diff --git a/engine/events/misc_scripts.asm b/engine/events/misc_scripts.asm
index 97372a57a..73ed89143 100755
--- a/engine/events/misc_scripts.asm
+++ b/engine/events/misc_scripts.asm
@@ -2,7 +2,7 @@ Script_AbortBugContest: ; 0x122c1
checkflag ENGINE_BUG_CONTEST_TIMER
iffalse .finish
setflag ENGINE_DAILY_BUG_CONTEST
- special ContestReturnMons
+ special Special_ContestReturnMons
.finish
end
diff --git a/engine/events/misc_scripts_2.asm b/engine/events/misc_scripts_2.asm
index c4c51d5e6..29416a9e5 100644
--- a/engine/events/misc_scripts_2.asm
+++ b/engine/events/misc_scripts_2.asm
@@ -13,7 +13,7 @@ RepelWoreOffScript:: ; 0x13619
HiddenItemScript:: ; 0x13625
opentext
copybytetovar EngineBuffer3
- itemtotext 0, 0
+ itemtotext USE_SCRIPT_VAR, MEM_BUFFER_0
writetext .found_text
giveitem ITEM_FROM_MEM
iffalse .bag_full
diff --git a/engine/events/mom.asm b/engine/events/mom.asm
index 6e3c7b320..c7e1cd6e9 100644
--- a/engine/events/mom.asm
+++ b/engine/events/mom.asm
@@ -146,7 +146,7 @@ Special_BankOfMom: ; 16218
ld [hli], a
ld [hl], a
ld a, $5
- ld [wcf64], a
+ ld [wMomBankDigitCursorPosition], a
call LoadStandardMenuDataHeader
call Mom_SetUpDepositMenu
call Mom_Wait10Frames
@@ -213,7 +213,7 @@ Special_BankOfMom: ; 16218
ld [hli], a
ld [hl], a
ld a, $5
- ld [wcf64], a
+ ld [wMomBankDigitCursorPosition], a
call LoadStandardMenuDataHeader
call Mom_SetUpWithdrawMenu
call Mom_Wait10Frames
@@ -728,15 +728,14 @@ Mom_HeldString: ; 166b0
; 166b5
MenuDataHeader_0x166b5: ; 0x166b5
- db $40 ; flags
- db 00, 00 ; start coords
- db 10, 10 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, 10, 10
dw MenuData2_0x166bd
db 1 ; default option
; 0x166bd
MenuData2_0x166bd: ; 0x166bd
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 4 ; items
db "GET@"
db "SAVE@"
diff --git a/engine/events/mom_phone.asm b/engine/events/mom_phone.asm
index bef7d5688..d12bf0155 100755
--- a/engine/events/mom_phone.asm
+++ b/engine/events/mom_phone.asm
@@ -9,7 +9,7 @@ MomTriesToBuySomething:: ; fcfec
ld a, [wMapReentryScriptQueueFlag]
and a
ret nz
- call GetMapHeaderPhoneServiceNybble
+ call GetMapPhoneService
and a
ret nz
xor a
@@ -217,7 +217,7 @@ endr
INCLUDE "data/items/mom_phone.asm"
- db 0, 0, 0 ; XXX
+ db 0, 0, 0 ; unused
_MomText_HiHowAreYou: ; 0xfd1b1
; Hi, ! How are you?
@@ -255,10 +255,10 @@ _MomText_ItsInRoom: ; 0xfd1ca
db "@"
; 0xfd1cf
- db 0 ; XXX
+ db 0 ; unused
-Predef3A: ; fd1d0
+DummyPredef3A: ; fd1d0
ret
; fd1d1
- ret ; XXX
+ ret ; unused
diff --git a/engine/events/move_deleter.asm b/engine/events/move_deleter.asm
index 95fc0f1d8..3e06113ae 100644
--- a/engine/events/move_deleter.asm
+++ b/engine/events/move_deleter.asm
@@ -1,4 +1,4 @@
-MoveDeletion:
+Special_MoveDeletion:
ld hl, .IntroText
call PrintText
call YesNoBox
diff --git a/engine/events/move_tutor.asm b/engine/events/move_tutor.asm
index a15ecaf93..be5f37564 100644
--- a/engine/events/move_tutor.asm
+++ b/engine/events/move_tutor.asm
@@ -22,7 +22,7 @@ Special_MoveTutor: ; 4925b
.enter_loop
call CheckCanLearnMoveTutorMove
jr nc, .loop
- xor a
+ xor a ; FALSE
ld [ScriptVar], a
jr .quit
@@ -35,10 +35,11 @@ Special_MoveTutor: ; 4925b
.GetMoveTutorMove: ; 492a5
ld a, [ScriptVar]
- cp 1
+ cp MOVETUTOR_FLAMETHROWER
jr z, .flamethrower
- cp 2
+ cp MOVETUTOR_THUNDERBOLT
jr z, .thunderbolt
+ ; MOVETUTOR_ICE_BEAM
ld a, ICE_BEAM
ret
@@ -98,6 +99,5 @@ CheckCanLearnMoveTutorMove: ; 492b9
ret
.MenuDataHeader: ; 0x4930a
- db $40 ; flags
- db 12, 00 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
diff --git a/engine/events/name_rater.asm b/engine/events/name_rater.asm
index 771c5090a..796647f48 100644
--- a/engine/events/name_rater.asm
+++ b/engine/events/name_rater.asm
@@ -45,13 +45,13 @@ NameRater: ; fb6ed
jr c, .samename
; Copy the new name from StringBuffer2
ld hl, PartyMonNicknames
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
ld a, [CurPartyMon]
call AddNTimes
ld e, l
ld d, h
ld hl, StringBuffer2
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
ld hl, NameRaterEvenBetterText
@@ -115,7 +115,7 @@ CheckIfMonIsYourOT: ; fb78a
IsNewNameEmpty: ; fb7be
; Checks to see if the nickname loaded in StringBuffer2 is empty. If so, return carry.
ld hl, StringBuffer2
- ld c, PKMN_NAME_LENGTH - 1
+ ld c, MON_NAME_LENGTH - 1
.loop
ld a, [hli]
cp "@"
@@ -137,7 +137,7 @@ IsNewNameEmpty: ; fb7be
CompareNewToOld: ; fb7d3
; Compares the nickname in StringBuffer2 to the previous nickname. If they are the same, return carry.
ld hl, PartyMonNicknames
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
ld a, [CurPartyMon]
call AddNTimes
push hl
@@ -178,7 +178,7 @@ GetNicknameLength: ; fb802
ret z
inc c
ld a, c
- cp PKMN_NAME_LENGTH - 1
+ cp MON_NAME_LENGTH - 1
jr nz, .loop
ret
; fb80f
diff --git a/engine/events/odd_egg.asm b/engine/events/odd_egg.asm
index 4cbeb34dc..de3107804 100644
--- a/engine/events/odd_egg.asm
+++ b/engine/events/odd_egg.asm
@@ -43,7 +43,7 @@ GiveOddEgg: ; 1fb4b6
call AddNTimes
ld de, OddEggSpecies
- ld bc, PARTYMON_STRUCT_LENGTH + 2 * PKMN_NAME_LENGTH
+ ld bc, PARTYMON_STRUCT_LENGTH + 2 * MON_NAME_LENGTH
call CopyBytes
ld a, EGG_TICKET
@@ -73,7 +73,7 @@ GiveOddEgg: ; 1fb4b6
; load Odd Egg Name in wTempOddEggNickname
ld hl, .Odd
ld de, wTempOddEggNickname
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
; load pointer to wTempOddEggNickname in wMobileMonOTNamePointerBuffer
diff --git a/engine/events/overworld.asm b/engine/events/overworld.asm
index 17ec54bb1..c9e0a5fe5 100755
--- a/engine/events/overworld.asm
+++ b/engine/events/overworld.asm
@@ -427,7 +427,7 @@ UsedSurfScript: ; c986
end
.empty_fn ; c9a2
- farcall TrainerRankings_Surf
+ farcall StubbedTrainerRankings_Surf
ret
UsedSurfText: ; c9a9
@@ -623,7 +623,7 @@ FlyFunction: ; ca3b
special UpdateTimePals
callasm FlyFromAnim
farscall Script_AbortBugContest
- special WarpToSpawnPoint
+ special Special_WarpToSpawnPoint
callasm DelayLoadingNewSprites
writecode VAR_MOVEMENT, PLAYER_NORMAL
newloadmap MAPSETUP_FLY
@@ -700,7 +700,7 @@ Script_UsedWaterfall: ; 0xcb20
ld a, [PlayerStandingTile]
call CheckWaterfallTile
ret z
- farcall TrainerRankings_Waterfall
+ farcall StubbedTrainerRankings_Waterfall
ld a, $1
ld [ScriptVar], a
ret
@@ -871,7 +871,7 @@ dig_incave
playsound SFX_WARP_TO
applymovement PLAYER, .DigOut
farscall Script_AbortBugContest
- special WarpToSpawnPoint
+ special Special_WarpToSpawnPoint
writecode VAR_MOVEMENT, PLAYER_NORMAL
newloadmap MAPSETUP_DOOR
playsound SFX_WARP_FROM
@@ -958,7 +958,7 @@ TeleportFunction: ; cc61
playsound SFX_WARP_TO
applymovement PLAYER, .TeleportFrom
farscall Script_AbortBugContest
- special WarpToSpawnPoint
+ special Special_WarpToSpawnPoint
writecode VAR_MOVEMENT, PLAYER_NORMAL
newloadmap MAPSETUP_TELEPORT
playsound SFX_WARP_FROM
@@ -986,7 +986,7 @@ StrengthFunction: ; cce5
jr c, .Failed
jr .UseStrength
-.AlreadyUsing: ; unreferenced
+.Unreferenced_AlreadyUsing:
ld hl, .JumpText
call MenuTextBoxBackup
ld a, $80
@@ -1749,7 +1749,7 @@ Script_GetOnBike_Register: ; 0xd14e
special ReplaceKrisSprite
end
-; XXX
+; unused
nop
ret
diff --git a/engine/events/poisonstep_pals.asm b/engine/events/poisonstep_pals.asm
index 498ae8f18..5b5b642ce 100644
--- a/engine/events/poisonstep_pals.asm
+++ b/engine/events/poisonstep_pals.asm
@@ -10,8 +10,8 @@ LoadPoisonBGPals: ; cbcdd
and a
jr nz, .cgb
ld a, [TimeOfDayPal]
- and $3
- cp $3
+ maskbits NUM_DAYTIMES
+ cp DARKNESS_F
ld a, %00000000
jr z, .convert_pals
ld a, %10101010
@@ -26,12 +26,11 @@ LoadPoisonBGPals: ; cbcdd
.cgb
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals2)
ld [rSVBK], a
ld hl, wBGPals2
ld c, 4 palettes
.loop
-; RGB 28, 21, 31
ld a, LOW(palred 28 + palgreen 21 + palblue 31)
ld [hli], a
ld a, HIGH(palred 28 + palgreen 21 + palblue 31)
diff --git a/engine/events/poke_seer.asm b/engine/events/poke_seer.asm
index d6e335298..fb9c6d9f9 100644
--- a/engine/events/poke_seer.asm
+++ b/engine/events/poke_seer.asm
@@ -15,12 +15,12 @@
const SEERACTION_CANT_TELL_2
const SEERACTION_LEVEL_ONLY
-SpecialPokeSeer: ; 4f0bc
+Special_PokeSeer: ; 4f0bc
ld a, SEER_INTRO
call PrintSeerText
call JoyWaitAorB
- ld b, $6
+ ld b, PARTY_LENGTH
farcall SelectMonFromParty
jr c, .cancel
@@ -148,10 +148,10 @@ ReadCaughtData: ; 4f134
GetCaughtName: ; 4f176
ld a, [CurPartyMon]
ld hl, PartyMonNicknames
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call AddNTimes
ld de, wSeerNickname
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
ret
; 4f18c
@@ -163,11 +163,11 @@ GetCaughtLevel: ; 4f18c
call ByteFill
; caught level
- ; Limited to between 1 and 63 for some reason.
+ ; Limited to between 1 and 63 since it's a 6-bit quantity.
ld a, [wSeerCaughtData]
- and $3f
+ and CAUGHT_LEVEL_MASK
jr z, .unknown
- cp 1 ; hatched from an egg
+ cp CAUGHT_EGG_LEVEL ; egg marker value
jr nz, .print
ld a, EGG_LEVEL ; egg hatch level
@@ -193,7 +193,7 @@ GetCaughtLevel: ; 4f18c
GetCaughtTime: ; 4f1c5
ld a, [wSeerCaughtData]
- and $c0
+ and CAUGHT_TIME_MASK
jr z, .none
rlca
@@ -233,11 +233,11 @@ UnknownCaughtData: ; 4f1f8
GetCaughtLocation: ; 4f20a
ld a, [wSeerCaughtGender]
- and $7f
+ and CAUGHT_LOCATION_MASK
jr z, .Unknown
- cp $7f
+ cp EVENT_LOCATION
jr z, .event
- cp $7e
+ cp GIFT_LOCATION
jr z, .fail
ld e, a
farcall GetLandmarkName
@@ -440,22 +440,22 @@ GetCaughtGender: ; 4f301
add hl, bc
ld a, [hl]
- and $7f
+ and CAUGHT_LOCATION_MASK
jr z, .genderless
- cp $7f
+ cp EVENT_LOCATION
jr z, .genderless
ld a, [hl]
- and $80
+ and CAUGHT_GENDER_MASK
jr nz, .male
- ld c, 1
+ ld c, CAUGHT_BY_GIRL
ret
.male
- ld c, 2
+ ld c, CAUGHT_BY_BOY
ret
.genderless
- ld c, 0
+ ld c, CAUGHT_BY_UNKNOWN
ret
; 4f31c
diff --git a/engine/events/pokecenter_pc.asm b/engine/events/pokecenter_pc.asm
index 7045dc1c8..75d2d5392 100755
--- a/engine/events/pokecenter_pc.asm
+++ b/engine/events/pokecenter_pc.asm
@@ -1,4 +1,4 @@
-PokemonCenterPC: ; 1559a
+Special_PokemonCenterPC: ; 1559a
call PC_CheckPartyForPokemon
ret c
call PC_PlayBootSound
@@ -27,14 +27,13 @@ PokemonCenterPC: ; 1559a
ret
.TopMenu:
- db $48 ; flags
- db 00, 00 ; start coords
- db 12, 15 ; end coords
+ db MENU_BACKUP_TILES | MENU_NO_CLICK_SFX ; flags
+ menu_coords 0, 0, 15, 12
dw .MenuData2
db 1 ; default option
.MenuData2:
- db $a0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_WRAP ; flags
db 0 ; items
dw .WhichPC
dw PlaceNthMenuStrings
@@ -232,14 +231,14 @@ Function15715: ; 15715
; 15736
KrissPCMenuData: ; 0x15736
- db %01000000
+ db MENU_BACKUP_TILES ; flags
db 0, 0 ; top left corner coords (y, x)
db 12, 15 ; bottom right corner coords (y, x)
dw .KrissPCMenuData2
db 1 ; default selected option
.KrissPCMenuData2:
- db %10100000 ; bit7
+ db STATICMENU_CURSOR | STATICMENU_WRAP ; flags
db 0 ; # items?
dw .KrissPCMenuList1
dw PlaceNthMenuStrings
@@ -421,7 +420,7 @@ KrisDepositItemMenu: ; 0x1588b
farcall DepositSellInitPackBuffers
.loop
farcall DepositSellPack
- ld a, [wcf66]
+ ld a, [wPackUsedItem]
and a
jr z, .close
call .TryDepositItem
@@ -620,14 +619,13 @@ PCItemsJoypad: ; 0x15985
ret
.PCItemsMenuData:
- db %01000000
- db 1, 4 ; start coords
- db 10, 18 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 4, 1, 18, 10
dw .MenuData2
db 1 ; default option
.MenuData2:
- db %10110000
+ db SCROLLINGMENU_ENABLE_SELECT | SCROLLINGMENU_ENABLE_FUNCTION3 | SCROLLINGMENU_DISPLAY_ARROWS ; flags
db 4, 8 ; rows/cols?
db 2 ; horizontal spacing?
dbw 0, PCItems
diff --git a/engine/events/pokepic.asm b/engine/events/pokepic.asm
index 82016403b..e9e14bbf4 100755
--- a/engine/events/pokepic.asm
+++ b/engine/events/pokepic.asm
@@ -42,8 +42,7 @@ ClosePokepic:: ; 24528
ret
PokepicMenuDataHeader: ; 0x24547
- db $40 ; flags
- db 04, 06 ; start coords
- db 13, 14 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 6, 4, 14, 13
dw NULL
db 1 ; default option
diff --git a/engine/events/print_photo.asm b/engine/events/print_photo.asm
index 06b01bbcf..54aa1892d 100755
--- a/engine/events/print_photo.asm
+++ b/engine/events/print_photo.asm
@@ -1,4 +1,4 @@
-PhotoStudio: ; 16dc7
+Special_PhotoStudio: ; 16dc7
ld hl, .Text_AskWhichMon
call PrintText
farcall SelectMonFromParty
diff --git a/engine/events/print_unown.asm b/engine/events/print_unown.asm
index 72248a67b..771d3ea5a 100644
--- a/engine/events/print_unown.asm
+++ b/engine/events/print_unown.asm
@@ -154,7 +154,7 @@ UnownPrinter: ; 16be4
.Load2bppToSRAM: ; 16cff
ld a, [rSVBK]
push af
- ld a, $6
+ ld a, BANK(wDecompressScratch)
ld [rSVBK], a
ld a, BANK(sScratch)
@@ -178,7 +178,7 @@ UnownPrinter: ; 16be4
hlcoord 1, 9
ld de, UnownDexVacantString
call PlaceString
- xor a
+ xor a ; sScratch
call GetSRAMBank
ld hl, sScratch
ld bc, $31 tiles
diff --git a/engine/events/print_unown_2.asm b/engine/events/print_unown_2.asm
index c932ded38..1e0b90fc5 100644
--- a/engine/events/print_unown_2.asm
+++ b/engine/events/print_unown_2.asm
@@ -1,7 +1,7 @@
RotateUnownFrontpic: ; e0000
; something to do with Unown printer
push de
- xor a
+ xor a ; sScratch
call GetSRAMBank
ld hl, sScratch
ld bc, 0
diff --git a/engine/events/prof_oaks_pc.asm b/engine/events/prof_oaks_pc.asm
index 69949940b..ae84a43a5 100755
--- a/engine/events/prof_oaks_pc.asm
+++ b/engine/events/prof_oaks_pc.asm
@@ -3,7 +3,7 @@ ProfOaksPC: ; 0x265d3
call MenuTextBox
call YesNoBox
jr c, .shutdown
- call ProfOaksPCBoot ; player chose "yes"?
+ call Special_ProfOaksPCBoot ; player chose "yes"?
.shutdown
ld hl, OakPCText4
call PrintText
@@ -11,7 +11,7 @@ ProfOaksPC: ; 0x265d3
call ExitMenu
ret
-ProfOaksPCBoot ; 0x265ee
+Special_ProfOaksPCBoot ; 0x265ee
ld hl, OakPCText2
call PrintText
call Rate
diff --git a/engine/events/sacred_ash.asm b/engine/events/sacred_ash.asm
index cc46eac9f..65ed83438 100755
--- a/engine/events/sacred_ash.asm
+++ b/engine/events/sacred_ash.asm
@@ -52,12 +52,12 @@ SacredAshScript: ; 0x50821
special HealParty
reloadmappart
playsound SFX_WARP_TO
- special FadeOutPalettes
- special FadeInPalettes
- special FadeOutPalettes
- special FadeInPalettes
- special FadeOutPalettes
- special FadeInPalettes
+ special Special_FadeOutPalettes
+ special Special_FadeInPalettes
+ special Special_FadeOutPalettes
+ special Special_FadeInPalettes
+ special Special_FadeOutPalettes
+ special Special_FadeInPalettes
waitsfx
writetext UnknownText_0x50845
playsound SFX_CAUGHT_MON
diff --git a/engine/events/special.asm b/engine/events/special.asm
index 939db4a25..128e7af29 100755
--- a/engine/events/special.asm
+++ b/engine/events/special.asm
@@ -1,4 +1,6 @@
-SpecialGiveShuckle: ; 7305
+MANIA_OT_ID EQU 00518
+
+Special_GiveShuckle: ; 7305
; Adding to the party.
xor a
@@ -32,9 +34,9 @@ SpecialGiveShuckle: ; 7305
; OT ID.
ld hl, PartyMon1ID
call AddNTimes
- ld a, $2
+ ld a, HIGH(MANIA_OT_ID)
ld [hli], a
- ld [hl], $6
+ ld [hl], LOW(MANIA_OT_ID)
; Nickname.
ld a, [PartyCount]
@@ -54,8 +56,7 @@ SpecialGiveShuckle: ; 7305
; Engine flag for this event.
ld hl, wDailyFlags
- set 5, [hl]
-; setflag ENGINE_SHUCKLE_GIVEN
+ set 5, [hl] ; ENGINE_SHUCKLE_GIVEN
ld a, 1
ld [ScriptVar], a
ret
@@ -70,7 +71,7 @@ SpecialShuckleOT:
SpecialShuckleNick:
db "SHUCKIE@"
-SpecialReturnShuckle: ; 737e
+Special_ReturnShuckle: ; 737e
farcall SelectMonFromParty
jr c, .refused
@@ -85,10 +86,10 @@ SpecialReturnShuckle: ; 737e
; OT ID
ld a, [hli]
- cp HIGH(00518)
+ cp HIGH(MANIA_OT_ID)
jr nz, .DontReturn
ld a, [hl]
- cp LOW(00518)
+ cp LOW(MANIA_OT_ID)
jr nz, .DontReturn
; OT
@@ -115,28 +116,28 @@ SpecialReturnShuckle: ; 737e
call AddNTimes
ld a, [hl]
cp 150
- ld a, $3
+ ld a, SHUCKIE_HAPPY
jr nc, .HappyToStayWithYou
xor a ; take from pc
ld [wPokemonWithdrawDepositParameter], a
callfar RemoveMonFromPartyOrBox
- ld a, $2
+ ld a, SHUCKIE_RETURNED
.HappyToStayWithYou:
ld [ScriptVar], a
ret
.refused
- ld a, $1
+ ld a, SHUCKIE_REFUSED
ld [ScriptVar], a
ret
.DontReturn:
- xor a
+ xor a ; SHUCKIE_WRONG_MON
ld [ScriptVar], a
ret
.fainted
- ld a, $4
+ ld a, SHUCKIE_FAINTED
ld [ScriptVar], a
ret
@@ -227,9 +228,8 @@ Data_DaisyMassage: ; 746b
CopyPokemonName_Buffer1_Buffer3: ; 746e
ld hl, StringBuffer1
ld de, StringBuffer3
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
jp CopyBytes
-Predef1: ; 747a
-; not used
+DummyPredef1: ; 747a
ret
diff --git a/engine/events/std_scripts.asm b/engine/events/std_scripts.asm
index 297725c60..216ce0058 100644
--- a/engine/events/std_scripts.asm
+++ b/engine/events/std_scripts.asm
@@ -1,4 +1,5 @@
StdScripts::
+; entries correspond to constants/std_constants.asm
dba PokecenterNurseScript
dba DifficultBookshelfScript
dba PictureBookshelfScript
@@ -107,13 +108,13 @@ PokecenterNurseScript:
farwritetext NurseTakePokemonText
pause 20
- special TrainerRankings_Healings
+ special Special_StubbedTrainerRankings_Healings
spriteface LAST_TALKED, LEFT
pause 10
special HealParty
playmusic MUSIC_NONE
- writebyte 0 ; Machine is at a Pokemon Center
- special HealMachineAnim
+ writebyte HEALMACHINE_POKECENTER
+ special Special_HealMachineAnim
pause 30
special RestartMapMusic
spriteface LAST_TALKED, DOWN
@@ -123,7 +124,7 @@ PokecenterNurseScript:
iftrue .no
checkflag ENGINE_POKERUS ; nurse already talked about pokerus
iftrue .no
- special SpecialCheckPokerus
+ special Special_CheckPokerus
iftrue .pokerus
.no
@@ -203,7 +204,7 @@ HomepageScript:
Radio1Script:
opentext
writebyte MAPRADIO_POKEMON_CHANNEL
- special MapRadio
+ special Special_MapRadio
closetext
end
@@ -211,7 +212,7 @@ Radio2Script:
; Lucky Channel
opentext
writebyte MAPRADIO_LUCKY_CHANNEL
- special MapRadio
+ special Special_MapRadio
closetext
end
@@ -220,7 +221,7 @@ TrashCanScript: ; 0xbc1a5
PCScript:
opentext
- special PokemonCenterPC
+ special Special_PokemonCenterPC
closetext
end
@@ -250,25 +251,25 @@ DayToTextScript:
if_equal THURSDAY, .Thursday
if_equal FRIDAY, .Friday
if_equal SATURDAY, .Saturday
- stringtotext .SundayText, 0
+ stringtotext .SundayText, MEM_BUFFER_0
end
.Monday:
- stringtotext .MondayText, 0
+ stringtotext .MondayText, MEM_BUFFER_0
end
.Tuesday:
- stringtotext .TuesdayText, 0
+ stringtotext .TuesdayText, MEM_BUFFER_0
end
.Wednesday:
- stringtotext .WednesdayText, 0
+ stringtotext .WednesdayText, MEM_BUFFER_0
end
.Thursday:
- stringtotext .ThursdayText, 0
+ stringtotext .ThursdayText, MEM_BUFFER_0
end
.Friday:
- stringtotext .FridayText, 0
+ stringtotext .FridayText, MEM_BUFFER_0
end
.Saturday:
- stringtotext .SaturdayText, 0
+ stringtotext .SaturdayText, MEM_BUFFER_0
end
.SundayText:
db "SUNDAY@"
@@ -297,7 +298,7 @@ RadioTowerRocketsScript:
clearevent EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER
setevent EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_EAST
specialphonecall SPECIALCALL_WEIRDBROADCAST
- setmapscene MAHOGANY_TOWN, $1
+ setmapscene MAHOGANY_TOWN, 1
end
BugContestResultsWarpScript:
@@ -306,7 +307,7 @@ BugContestResultsWarpScript:
setevent EVENT_ROUTE_36_NATIONAL_PARK_GATE_OFFICER_CONTEST_DAY
clearevent EVENT_ROUTE_36_NATIONAL_PARK_GATE_OFFICER_NOT_CONTEST_DAY
setevent EVENT_WARPED_FROM_ROUTE_35_NATIONAL_PARK_GATE
- warp ROUTE_36_NATIONAL_PARK_GATE, $0, $4
+ warp ROUTE_36_NATIONAL_PARK_GATE, 0, 4
applymovement PLAYER, Movement_ContestResults_WalkAfterWarp
BugContestResultsScript:
@@ -319,8 +320,8 @@ BugContestResultsScript:
opentext
farwritetext ContestResults_ReadyToJudgeText
waitbutton
- special BugContestJudging
- RAM2MEM $0
+ special Special_BugContestJudging
+ vartomem MEM_BUFFER_0
if_equal 1, BugContestResults_FirstPlace
if_equal 2, BugContestResults_SecondPlace
if_equal 3, BugContestResults_ThirdPlace
@@ -345,17 +346,18 @@ BugContestResults_FinishUp
iffalse BugContestResults_DidNotLeaveMons
farwritetext ContestResults_ReturnPartyText
waitbutton
- special ContestReturnMons
+ special Special_ContestReturnMons
BugContestResults_DidNotLeaveMons
- special CheckPartyFullAfterContest
- if_equal $0, BugContestResults_CleanUp
- if_equal $2, BugContestResults_CleanUp
+ special Special_CheckPartyFullAfterContest
+ if_equal BUGCONTEST_CAUGHT_MON, BugContestResults_CleanUp
+ if_equal BUGCONTEST_NO_CATCH, BugContestResults_CleanUp
+ ; BUGCONTEST_BOXED_MON
farwritetext ContestResults_PartyFullText
waitbutton
BugContestResults_CleanUp
closetext
- setscene $0
- setmapscene ROUTE_35_NATIONAL_PARK_GATE, $0
+ setscene 0
+ setmapscene ROUTE_35_NATIONAL_PARK_GATE, 0
setevent EVENT_BUG_CATCHING_CONTESTANT_1A
setevent EVENT_BUG_CATCHING_CONTESTANT_2A
setevent EVENT_BUG_CATCHING_CONTESTANT_3A
@@ -383,7 +385,7 @@ BugContestResults_CleanUp
BugContestResults_FirstPlace ; 0xbc31e
setevent EVENT_GAVE_KURT_APRICORNS
- itemtotext SUN_STONE, $1
+ itemtotext SUN_STONE, MEM_BUFFER_1
farwritetext ContestResults_PlayerWonAPrizeText
waitbutton
verbosegiveitem SUN_STONE
@@ -392,7 +394,7 @@ BugContestResults_FirstPlace ; 0xbc31e
; 0xbc332
BugContestResults_SecondPlace ; 0xbc332
- itemtotext EVERSTONE, $1
+ itemtotext EVERSTONE, MEM_BUFFER_1
farwritetext ContestResults_PlayerWonAPrizeText
waitbutton
verbosegiveitem EVERSTONE
@@ -401,7 +403,7 @@ BugContestResults_SecondPlace ; 0xbc332
; 0xbc343
BugContestResults_ThirdPlace ; 0xbc343
- itemtotext GOLD_BERRY, $1
+ itemtotext GOLD_BERRY, MEM_BUFFER_1
farwritetext ContestResults_PlayerWonAPrizeText
waitbutton
verbosegiveitem GOLD_BERRY
@@ -620,7 +622,7 @@ InitializeEventsScript:
return
AskNumber1MScript:
- special RandomPhoneMon
+ special Special_RandomPhoneMon
checkcode VAR_CALLERID
if_equal PHONE_SCHOOLBOY_JACK, .Jack
if_equal PHONE_SAILOR_HUEY, .Huey
@@ -705,7 +707,7 @@ AskNumber1MScript:
end
AskNumber2MScript:
- special RandomPhoneMon
+ special Special_RandomPhoneMon
checkcode VAR_CALLERID
if_equal PHONE_SCHOOLBOY_JACK, .Jack
if_equal PHONE_SAILOR_HUEY, .Huey
@@ -1758,7 +1760,7 @@ RematchGiftFScript:
end
GymStatue1Script:
- mapnametotext $0
+ mapnametotext MEM_BUFFER_0
opentext
farwritetext GymStatue_CityGymText
waitbutton
@@ -1766,7 +1768,7 @@ GymStatue1Script:
end
GymStatue2Script:
- mapnametotext $0
+ mapnametotext MEM_BUFFER_0
opentext
farwritetext GymStatue_CityGymText
buttonsound
@@ -1812,18 +1814,18 @@ CoinVendor_IntroScript: ; 0xbcde0
loadmenudata .MenuDataHeader
verticalmenu
closewindow
- if_equal $1, .Buy50
- if_equal $2, .Buy500
+ if_equal 1, .Buy50
+ if_equal 2, .Buy500
jump .Cancel
; 0xbcdf7
.Buy50: ; 0xbcdf7
- checkcoins 9949
- if_equal $0, .CoinCaseFull
- checkmoney $0, 1000
- if_equal $2, .NotEnoughMoney
+ checkcoins MAX_COINS - 50
+ if_equal HAVE_MORE, .CoinCaseFull
+ checkmoney YOUR_MONEY, 1000
+ if_equal HAVE_LESS, .NotEnoughMoney
givecoins 50
- takemoney $0, 1000
+ takemoney YOUR_MONEY, 1000
waitsfx
playsound SFX_TRANSACTION
farwritetext CoinVendor_Buy50CoinsText
@@ -1832,12 +1834,12 @@ CoinVendor_IntroScript: ; 0xbcde0
; 0xbce1b
.Buy500: ; 0xbce1b
- checkcoins 9499
- if_equal $0, .CoinCaseFull
- checkmoney $0, 10000
- if_equal $2, .NotEnoughMoney
+ checkcoins MAX_COINS - 500
+ if_equal HAVE_MORE, .CoinCaseFull
+ checkmoney YOUR_MONEY, 10000
+ if_equal HAVE_LESS, .NotEnoughMoney
givecoins 500
- takemoney $0, 10000
+ takemoney YOUR_MONEY, 10000
waitsfx
playsound SFX_TRANSACTION
farwritetext CoinVendor_Buy500CoinsText
@@ -1868,14 +1870,13 @@ CoinVendor_IntroScript: ; 0xbcde0
.MenuDataHeader:
- db $40 ; flags
- db 04, 00 ; start coords
- db 11, 15 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 4, 15, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
.MenuData2:
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 3 ; items
db " 50 : ¥1000@"
db "500 : ¥10000@"
@@ -1886,7 +1887,7 @@ CoinVendor_IntroScript: ; 0xbcde0
HappinessCheckScript:
faceplayer
opentext
- special GetFirstPokemonHappiness
+ special Special_GetFirstPokemonHappiness
if_less_than 50, .Unhappy
if_less_than 150, .KindaHappy
farwritetext HappinessText3
diff --git a/engine/events/treemons.asm b/engine/events/treemons.asm
new file mode 100755
index 000000000..780fef2cc
--- /dev/null
+++ b/engine/events/treemons.asm
@@ -0,0 +1,285 @@
+TreeMonEncounter: ; b81ea
+ farcall StubbedTrainerRankings_TreeEncounters
+
+ xor a
+ ld [TempWildMonSpecies], a
+ ld [CurPartyLevel], a
+
+ ld hl, TreeMonMaps
+ call GetTreeMonSet
+ jr nc, .no_battle
+
+ call GetTreeMons
+ jr nc, .no_battle
+
+ call GetTreeMon
+ jr nc, .no_battle
+
+ ld a, BATTLETYPE_TREE
+ ld [BattleType], a
+ ld a, 1
+ ld [ScriptVar], a
+ ret
+
+.no_battle
+ xor a
+ ld [ScriptVar], a
+ ret
+; b8219
+
+RockMonEncounter: ; b8219
+
+ xor a
+ ld [TempWildMonSpecies], a
+ ld [CurPartyLevel], a
+
+ ld hl, RockMonMaps
+ call GetTreeMonSet
+ jr nc, .no_battle
+
+ call GetTreeMons
+ jr nc, .no_battle
+
+ ; 40% chance of an encounter
+ ld a, 10
+ call RandomRange
+ cp 4
+ jr nc, .no_battle
+
+ call SelectTreeMon
+ jr nc, .no_battle
+
+ ret
+
+.no_battle
+ xor a
+ ret
+; b823e
+
+ db $05 ; ????
+
+GetTreeMonSet: ; b823f
+; Return carry and treemon set in a
+; if the current map is in table hl.
+ ld a, [MapNumber]
+ ld e, a
+ ld a, [MapGroup]
+ ld d, a
+.loop
+ ld a, [hli]
+ cp -1
+ jr z, .not_in_table
+
+ cp d
+ jr nz, .skip2
+
+ ld a, [hli]
+ cp e
+ jr nz, .skip1
+
+ jr .in_table
+
+.skip2
+ inc hl
+.skip1
+ inc hl
+ jr .loop
+
+.not_in_table
+ xor a
+ ret
+
+.in_table
+ ld a, [hl]
+ scf
+ ret
+; b825e
+
+INCLUDE "data/wild/treemon_maps.asm"
+
+GetTreeMons: ; b82d2
+; Return the address of TreeMon table a in hl.
+; Return nc if table a doesn't exist.
+
+ cp NUM_TREEMON_SETS
+ jr nc, .quit
+
+ and a
+ jr z, .quit
+
+ ld e, a
+ ld d, 0
+ ld hl, TreeMons
+ add hl, de
+ add hl, de
+
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+
+ scf
+ ret
+
+.quit
+ xor a
+ ret
+; b82e8
+
+INCLUDE "data/wild/treemons.asm"
+
+GetTreeMon: ; b83e5
+ push hl
+ call GetTreeScore
+ pop hl
+ and a ; TREEMON_SCORE_BAD
+ jr z, .bad
+ cp TREEMON_SCORE_GOOD
+ jr z, .good
+ cp TREEMON_SCORE_RARE
+ jr z, .rare
+ ret
+
+.bad
+ ; 10% chance of an encounter
+ ld a, 10
+ call RandomRange
+ and a
+ jr nz, NoTreeMon
+ jr SelectTreeMon
+
+.good
+ ; 50% chance of an encounter
+ ld a, 10
+ call RandomRange
+ cp 5
+ jr nc, NoTreeMon
+ jr SelectTreeMon
+
+.rare
+ ; 80% chance of an encounter
+ ld a, 10
+ call RandomRange
+ cp 8
+ jr nc, NoTreeMon
+ jr .skip
+.skip
+ ld a, [hli]
+ cp -1
+ jr nz, .skip
+ call SelectTreeMon
+ ret
+; b841f
+
+SelectTreeMon: ; b841f
+; Read a TreeMons table and pick one monster at random.
+
+ ld a, 100
+ call RandomRange
+.loop
+ sub [hl]
+ jr c, .ok
+ inc hl
+ inc hl
+ inc hl
+ jr .loop
+
+.ok
+ ld a, [hli]
+ cp -1
+ jr z, NoTreeMon
+
+ ld a, [hli]
+ ld [TempWildMonSpecies], a
+ ld a, [hl]
+ ld [CurPartyLevel], a
+ scf
+ ret
+
+NoTreeMon: ; b843b
+ xor a
+ ld [TempWildMonSpecies], a
+ ld [CurPartyLevel], a
+ ret
+; b8443
+
+GetTreeScore: ; b8443
+ call .CoordScore
+ ld [Buffer1], a
+ call .OTIDScore
+ ld [Buffer2], a
+ ld c, a
+ ld a, [Buffer1]
+ sub c
+ jr z, .rare
+ jr nc, .ok
+ add 10
+.ok
+ cp 5
+ jr c, .good
+
+.bad
+ xor a ; TREEMON_SCORE_BAD
+ ret
+
+.good
+ ld a, TREEMON_SCORE_GOOD
+ ret
+
+.rare
+ ld a, TREEMON_SCORE_RARE
+ ret
+; b8466
+
+.CoordScore: ; b8466
+ call GetFacingTileCoord
+ ld hl, 0
+ ld c, e
+ ld b, 0
+ ld a, d
+
+ and a
+ jr z, .next
+.loop
+ add hl, bc
+ dec a
+ jr nz, .loop
+.next
+
+ add hl, bc
+ ld c, d
+ add hl, bc
+
+ ld a, h
+ ld [hDividend], a
+ ld a, l
+ ld [hDividend + 1], a
+ ld a, 5
+ ld [hDivisor], a
+ ld b, 2
+ call Divide
+
+ ld a, [hQuotient + 1]
+ ld [hDividend], a
+ ld a, [hQuotient + 2]
+ ld [hDividend + 1], a
+ ld a, 10
+ ld [hDivisor], a
+ ld b, 2
+ call Divide
+
+ ld a, [hQuotient + 3]
+ ret
+; b849d
+
+.OTIDScore: ; b849d
+ ld a, [PlayerID]
+ ld [hDividend], a
+ ld a, [PlayerID + 1]
+ ld [hDividend + 1], a
+ ld a, 10
+ ld [hDivisor], a
+ ld b, 2
+ call Divide
+ ld a, [hQuotient + 3]
+ ret
+; b84b3
diff --git a/engine/events/crystal_unown.asm b/engine/events/unown_walls.asm
index 09d44bb9a..4d59a2f7a 100644
--- a/engine/events/crystal_unown.asm
+++ b/engine/events/unown_walls.asm
@@ -1,9 +1,9 @@
-SpecialHoOhChamber: ; 0x8addb
+Special_HoOhChamber: ; 0x8addb
ld hl, PartySpecies
ld a, [hl]
cp HO_OH ; is Ho-oh the first Pokémon in the party?
jr nz, .done ; if not, we're done
- call GetSecondaryMapHeaderPointer
+ call GetMapDataPointer ; pointless?
ld de, EVENT_WALL_OPENED_IN_HO_OH_CHAMBER
ld b, SET_FLAG
call EventFlagAction
@@ -11,8 +11,8 @@ SpecialHoOhChamber: ; 0x8addb
ret
; 0x8adef
-SpecialOmanyteChamber: ; 8adef
- call GetSecondaryMapHeaderPointer
+Special_OmanyteChamber: ; 8adef
+ call GetMapDataPointer ; pointless?
ld de, EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER
ld b, CHECK_FLAG
call EventFlagAction
@@ -44,7 +44,7 @@ SpecialOmanyteChamber: ; 8adef
jr nz, .loop
.open
- call GetSecondaryMapHeaderPointer
+ call GetMapDataPointer ; pointless?
ld de, EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER
ld b, SET_FLAG
call EventFlagAction
@@ -57,12 +57,12 @@ SpecialAerodactylChamber: ; 8ae30
push de
push bc
- call GetSecondaryMapHeaderPointer
+ call GetMapDataPointer
ld a, h
- cp HIGH(RuinsOfAlphAerodactylChamber_SecondMapHeader)
+ cp HIGH(RuinsOfAlphAerodactylChamber_MapData)
jr nz, .nope
ld a, l
- cp LOW(RuinsOfAlphAerodactylChamber_SecondMapHeader)
+ cp LOW(RuinsOfAlphAerodactylChamber_MapData)
jr nz, .nope
ld de, EVENT_WALL_OPENED_IN_AERODACTYL_CHAMBER
@@ -85,12 +85,12 @@ SpecialKabutoChamber: ; 8ae4e
push hl
push de
- call GetSecondaryMapHeaderPointer
+ call GetMapDataPointer
ld a, h
- cp HIGH(RuinsOfAlphKabutoChamber_SecondMapHeader)
+ cp HIGH(RuinsOfAlphKabutoChamber_MapData)
jr nz, .done
ld a, l
- cp LOW(RuinsOfAlphKabutoChamber_SecondMapHeader)
+ cp LOW(RuinsOfAlphKabutoChamber_MapData)
jr nz, .done
ld de, EVENT_WALL_OPENED_IN_KABUTO_CHAMBER
@@ -105,7 +105,7 @@ SpecialKabutoChamber: ; 8ae4e
Special_DisplayUnownWords: ; 8ae68
ld a, [ScriptVar]
- ld hl, .MenuDataHeaders_UnownWalls
+ ld hl, MenuDataHeaders_UnownWalls
and a
jr z, .load
@@ -131,21 +131,21 @@ Special_DisplayUnownWords: ; 8ae68
add hl, de
ld a, [ScriptVar]
ld c, a
- ld de, .UnownText
+ ld de, UnownWalls
and a
jr z, .copy
.loop2
ld a, [de]
inc de
- cp $ff
+ cp -1
jr nz, .loop2
dec c
jr nz, .loop2
.copy
- call .CopyWord
+ call _DisplayUnownWords_CopyWord
ld bc, AttrMap - TileMap
add hl, bc
- call .FillAttr
+ call _DisplayUnownWords_FillAttr
call WaitBGMap2
call JoyWaitAorB
call PlayClickSFX
@@ -153,66 +153,9 @@ Special_DisplayUnownWords: ; 8ae68
ret
; 8aebc
-unownwall: MACRO
-rept _NARG
-if \1 == "-"
-x = $64
-else
-if \1 >= "Y"
-x = 2 * (\1 - "Y") + $60
-else
-if \1 >= "Q"
-x = 2 * (\1 - "Q") + $40
-else
-if \1 >= "I"
-x = 2 * (\1 - "I") + $20
-else
-x = 2 * (\1 - "A")
-endc
-endc
-endc
-endc
- db x
-shift
-endr
- db $ff
-ENDM
-
-.UnownText: ; 8aebc
-;.UnownText_Escape:
- ; db $08, $44, $04, $00, $2e, $08, $ff
- unownwall "E", "S", "C", "A", "P", "E"
-;.UnownText_Light:
- ; db $26, $20, $0c, $0e, $46, $ff
- unownwall "L", "I", "G", "H", "T"
-;.UnownText_Water:
- ; db $4c, $00, $46, $08, $42, $ff
- unownwall "W", "A", "T", "E", "R"
-;.UnownText_Ho_Oh:
- ; db $0e, $2c, $64, $2c, $0e, $ff
- unownwall "H", "O", "-", "O", "H"
-; 8aed5
-
-.MenuDataHeaders_UnownWalls: ; 0x8aed5
-;.MenuDataHeader_Escape:
- db $40 ; flags
- db 04, 03 ; start coords
- db 09, 16 ; end coords
-;.MenuDataHeader_Light:
- db $40 ; flags
- db 04, 04 ; start coords
- db 09, 15 ; end coords
-;.MenuDataHeader_Water:
- db $40 ; flags
- db 04, 04 ; start coords
- db 09, 15 ; end coords
-;.MenuDataHeader_Ho_Oh:
- db $40 ; flags
- db 04, 04 ; start coords
- db 09, 15 ; end coords
-; 8aee9
+INCLUDE "data/unown_walls.asm"
-.FillAttr: ; 8aee9
+_DisplayUnownWords_FillAttr: ; 8aee9
ld a, [de]
cp $ff
ret z
@@ -226,7 +169,7 @@ ENDM
inc hl
inc hl
inc de
- jr .FillAttr
+ jr _DisplayUnownWords_FillAttr
; 8aefd
.PlaceSquare: ; 8aefd
@@ -242,7 +185,7 @@ ENDM
ret
; 8af09
-.CopyWord: ; 8af09
+_DisplayUnownWords_CopyWord: ; 8af09
push hl
push de
.word_loop
diff --git a/engine/events/whiteout.asm b/engine/events/whiteout.asm
index a9d6f900e..aa629682f 100755
--- a/engine/events/whiteout.asm
+++ b/engine/events/whiteout.asm
@@ -4,13 +4,13 @@ Script_BattleWhiteout:: ; 0x124c1
; 0x124c8
Script_OverworldWhiteout:: ; 0x124c8
- refreshscreen $0
+ refreshscreen
callasm OverworldBGMap
Script_Whiteout: ; 0x124ce
writetext .WhitedOutText
waitbutton
- special FadeOutPalettes
+ special Special_FadeOutPalettes
pause 40
special HealParty
checkflag ENGINE_BUG_CONTEST_TIMER
@@ -18,7 +18,7 @@ Script_Whiteout: ; 0x124ce
callasm HalveMoney
callasm GetWhiteoutSpawn
farscall Script_AbortBugContest
- special WarpToSpawnPoint
+ special Special_WarpToSpawnPoint
newloadmap MAPSETUP_WARP
end_all
@@ -49,7 +49,7 @@ BattleBGMap: ; 1250a
; 12513
HalveMoney: ; 12513
- farcall TrainerRankings_WhiteOuts
+ farcall StubbedTrainerRankings_WhiteOuts
; Halve the player's money.
ld hl, Money
diff --git a/engine/events_2.asm b/engine/events_2.asm
index cac736bab..1149c2431 100644
--- a/engine/events_2.asm
+++ b/engine/events_2.asm
@@ -1,7 +1,7 @@
; More overworld event handling.
-WarpToSpawnPoint:: ; 97c28
+Special_WarpToSpawnPoint:: ; 97c28
ld hl, wStatusFlags2
res 1, [hl] ; safari zone?
res 2, [hl] ; bug contest
@@ -274,7 +274,7 @@ DoBikeStep:: ; 97db3
; If we're not in an area of phone service, we don't
; have to be here.
- call GetMapHeaderPhoneServiceNybble
+ call GetMapPhoneService
and a
jr nz, .NoCall
@@ -361,7 +361,7 @@ HandleCmdQueue:: ; 97e08
ret
; 97e25
-GetNthCmdQueueEntry: ; 97e25 unreferenced
+Unreferenced_GetNthCmdQueueEntry: ; 97e25
ld hl, wCmdQueue
ld bc, CMDQUEUE_ENTRY_SIZE
call AddNTimes
diff --git a/engine/events_3.asm b/engine/events_3.asm
deleted file mode 100755
index 5ee113a95..000000000
--- a/engine/events_3.asm
+++ /dev/null
@@ -1,689 +0,0 @@
-ReturnFromMapSetupScript:: ; b8000
- xor a
- ld [hBGMapMode], a
- ; For some reson, GameFreak chose to use a farcall here instead of just falling through.
- ; No other function in the game references the function at 2E:400A, here labeled
- ; ReturnFromMapSetupScript.inefficient_farcall.
- farcall .inefficient_farcall ; this is a waste of 6 ROM bytes and 6 stack bytes
- ret
-; b800a
-
-.inefficient_farcall ; b800a
- ld a, [MapGroup]
- ld b, a
- ld a, [MapNumber]
- ld c, a
- call GetWorldMapLocation
- ld [wCurrentLandmark], a
- call .CheckNationalParkGate
- jr z, .nationalparkgate
-
- call GetMapEnvironment
- cp GATE
- jr nz, .not_gate
-
-.nationalparkgate
- ld a, -1
- ld [wCurrentLandmark], a
-
-.not_gate
- ld hl, wEnteredMapFromContinue
- bit 1, [hl]
- res 1, [hl]
- jr nz, .dont_do_map_sign
-
- call .CheckMovingWithinLandmark
- jr z, .dont_do_map_sign
- ld a, [wCurrentLandmark]
- ld [wPreviousLandmark], a
-
- call .CheckSpecialMap
- jr z, .dont_do_map_sign
-
-; Display for 60 frames
- ld a, 60
- ld [wLandmarkSignTimer], a
- call LoadMapNameSignGFX
- call InitMapNameFrame
- farcall HDMATransfer_OnlyTopFourRows
- ret
-
-.dont_do_map_sign
- ld a, [wCurrentLandmark]
- ld [wPreviousLandmark], a
- ld a, $90
- ld [rWY], a
- ld [hWY], a
- xor a
- ld [hLCDCPointer], a
- ret
-; b8064
-
-.CheckMovingWithinLandmark: ; b8064
- ld a, [wCurrentLandmark]
- ld c, a
- ld a, [wPreviousLandmark]
- cp c
- ret z
- cp SPECIAL_MAP
- ret
-; b8070
-
-.CheckSpecialMap: ; b8070
- cp -1
- ret z
- cp SPECIAL_MAP
- ret z
- cp RADIO_TOWER
- ret z
- cp LAV_RADIO_TOWER
- ret z
- cp UNDERGROUND_PATH
- ret z
- cp INDIGO_PLATEAU
- ret z
- cp POWER_PLANT
- ret z
- ld a, $1
- and a
- ret
-; b8089
-
-.CheckNationalParkGate: ; b8089
- ld a, [MapGroup]
- cp GROUP_ROUTE_35_NATIONAL_PARK_GATE
- ret nz
- ld a, [MapNumber]
- cp MAP_ROUTE_35_NATIONAL_PARK_GATE
- ret z
- cp MAP_ROUTE_36_NATIONAL_PARK_GATE
- ret
-; b8098
-
-
-PlaceMapNameSign:: ; b8098 (2e:4098)
- ld hl, wLandmarkSignTimer
- ld a, [hl]
- and a
- jr z, .disappear
- dec [hl]
- cp 60
- ret z
- cp 59
- jr nz, .skip2
- call InitMapNameFrame
- call PlaceMapNameCenterAlign
- farcall HDMATransfer_OnlyTopFourRows
-.skip2
- ld a, $80
- ld a, $70
- ld [rWY], a
- ld [hWY], a
- ret
-
-.disappear
- ld a, $90
- ld [rWY], a
- ld [hWY], a
- xor a
- ld [hLCDCPointer], a
- ret
-
-
-LoadMapNameSignGFX: ; b80c6
- ld de, MapEntryFrameGFX
- ld hl, vTiles2 tile $60
- lb bc, BANK(MapEntryFrameGFX), $e
- call Get2bpp
- ret
-; b80d3
-
-InitMapNameFrame: ; b80d3
- hlcoord 0, 0
- ld b, 2
- ld c, 18
- call InitMapSignAttrMap
- call PlaceMapNameFrame
- ret
-; b80e1
-
-
-PlaceMapNameCenterAlign: ; b80e1 (2e:40e1)
- ld a, [wCurrentLandmark]
- ld e, a
- farcall GetLandmarkName
- call .GetNameLength
- ld a, SCREEN_WIDTH
- sub c
- srl a
- ld b, $0
- ld c, a
- hlcoord 0, 2
- add hl, bc
- ld de, StringBuffer1
- call PlaceString
- ret
-
-.GetNameLength: ; b8101 (2e:4101)
- ld c, 0
- push hl
- ld hl, StringBuffer1
-.loop
- ld a, [hli]
- cp "@"
- jr z, .stop
- cp "%"
- jr z, .loop
- inc c
- jr .loop
-.stop
- pop hl
- ret
-
-
-InitMapSignAttrMap: ; b8115
- ld de, AttrMap - TileMap
- add hl, de
- inc b
- inc b
- inc c
- inc c
- ld a, $87
-.loop
- push bc
- push hl
-.inner_loop
- ld [hli], a
- dec c
- jr nz, .inner_loop
- pop hl
- ld de, SCREEN_WIDTH
- add hl, de
- pop bc
- dec b
- jr nz, .loop
- ret
-; b812f
-
-PlaceMapNameFrame: ; b812f
- hlcoord 0, 0
- ; top left
- ld a, $61
- ld [hli], a
- ; top row
- ld a, $62
- call .FillTopBottom
- ; top right
- ld a, $64
- ld [hli], a
- ; left, first line
- ld a, $65
- ld [hli], a
- ; first line
- call .FillMiddle
- ; right, first line
- ld a, $6b
- ld [hli], a
- ; left, second line
- ld a, $66
- ld [hli], a
- ; second line
- call .FillMiddle
- ; right, second line
- ld a, $6c
- ld [hli], a
- ; bottom left
- ld a, $67
- ld [hli], a
- ; bottom
- ld a, $68
- call .FillTopBottom
- ; bottom right
- ld a, $6a
- ld [hl], a
- ret
-; b815b
-
-.FillMiddle: ; b815b
- ld c, 18
- ld a, $6d
-.loop
- ld [hli], a
- dec c
- jr nz, .loop
- ret
-; b8164
-
-.FillTopBottom: ; b8164
- ld c, 5
- jr .enterloop
-
-.continueloop
- ld [hli], a
- ld [hli], a
-
-.enterloop
- inc a
- ld [hli], a
- ld [hli], a
- dec a
- dec c
- jr nz, .continueloop
- ret
-; b8172
-
-CheckForHiddenItems: ; b8172
-; Checks to see if there are hidden items on the screen that have not yet been found. If it finds one, returns carry.
- call GetMapScriptHeaderBank
- ld [Buffer1], a
-; Get the coordinate of the bottom right corner of the screen, and load it in Buffer3/Buffer4.
- ld a, [XCoord]
- add SCREEN_WIDTH / 4
- ld [Buffer4], a
- ld a, [YCoord]
- add SCREEN_HEIGHT / 4
- ld [Buffer3], a
-; Get the pointer for the first BG event header in the map...
- ld hl, wCurrMapBGEventHeaderPointer
- ld a, [hli]
- ld h, [hl]
- ld l, a
-; ... before even checking to see if there are any BG events on this map.
- ld a, [wCurrMapBGEventCount]
- and a
- jr z, .nobgeventitems
-; For i = 1:wCurrMapBGEventCount...
-.loop
-; Store the counter in Buffer2, and store the BG event header pointer in the stack.
- ld [Buffer2], a
- push hl
-; Get the Y coordinate of the BG event.
- call .GetFarByte
- ld e, a
-; Is the Y coordinate of the BG event on the screen? If not, go to the next BG event.
- ld a, [Buffer3]
- sub e
- jr c, .next
- cp SCREEN_HEIGHT / 2
- jr nc, .next
-; Is the X coordinate of the BG event on the screen? If not, go to the next BG event.
- call .GetFarByte
- ld d, a
- ld a, [Buffer4]
- sub d
- jr c, .next
- cp SCREEN_WIDTH / 2
- jr nc, .next
-; Is this BG event a hidden item? If not, go to the next BG event.
- call .GetFarByte
- cp BGEVENT_ITEM
- jr nz, .next
-; Has this item already been found? If not, set off the Itemfinder.
- ld a, [Buffer1]
- call GetFarHalfword
- ld a, [Buffer1]
- call GetFarHalfword
- ld d, h
- ld e, l
- ld b, CHECK_FLAG
- call EventFlagAction
- ld a, c
- and a
- jr z, .itemnearby
-
-.next
-; Restore the BG event header pointer and increment it by the length of a BG event header.
- pop hl
- ld bc, 5
- add hl, bc
-; Restore the BG event counter and decrement it. If it hits zero, there are no hidden items in range.
- ld a, [Buffer2]
- dec a
- jr nz, .loop
-
-.nobgeventitems
- xor a
- ret
-
-.itemnearby
- pop hl
- scf
- ret
-; b81e2
-
-.GetFarByte: ; b81e2
- ld a, [Buffer1]
- call GetFarByte
- inc hl
- ret
-; b81ea
-
-
-TreeMonEncounter: ; b81ea
- farcall TrainerRankings_TreeEncounters
-
- xor a
- ld [TempWildMonSpecies], a
- ld [CurPartyLevel], a
-
- ld hl, TreeMonMaps
- call GetTreeMonSet
- jr nc, .no_battle
-
- call GetTreeMons
- jr nc, .no_battle
-
- call GetTreeMon
- jr nc, .no_battle
-
- ld a, BATTLETYPE_TREE
- ld [BattleType], a
- ld a, 1
- ld [ScriptVar], a
- ret
-
-.no_battle
- xor a
- ld [ScriptVar], a
- ret
-; b8219
-
-RockMonEncounter: ; b8219
-
- xor a
- ld [TempWildMonSpecies], a
- ld [CurPartyLevel], a
-
- ld hl, RockMonMaps
- call GetTreeMonSet
- jr nc, .no_battle
-
- call GetTreeMons
- jr nc, .no_battle
-
- ld a, 10
- call RandomRange
- cp 4
- jr nc, .no_battle
-
- call SelectTreeMon
- jr nc, .no_battle
-
- ret
-
-.no_battle
- xor a
- ret
-; b823e
-
- db $05 ; ????
-
-GetTreeMonSet: ; b823f
-; Return carry and treemon set in a
-; if the current map is in table hl.
- ld a, [MapNumber]
- ld e, a
- ld a, [MapGroup]
- ld d, a
-.loop
- ld a, [hli]
- cp -1
- jr z, .not_in_table
-
- cp d
- jr nz, .skip2
-
- ld a, [hli]
- cp e
- jr nz, .skip1
-
- jr .in_table
-
-.skip2
- inc hl
-.skip1
- inc hl
- jr .loop
-
-.not_in_table
- xor a
- ret
-
-.in_table
- ld a, [hl]
- scf
- ret
-; b825e
-
-INCLUDE "data/wild/treemon_maps.asm"
-
-GetTreeMons: ; b82d2
-; Return the address of TreeMon table a in hl.
-; Return nc if table a doesn't exist.
-
- cp 8
- jr nc, .quit
-
- and a
- jr z, .quit
-
- ld e, a
- ld d, 0
- ld hl, TreeMons
- add hl, de
- add hl, de
-
- ld a, [hli]
- ld h, [hl]
- ld l, a
-
- scf
- ret
-
-.quit
- xor a
- ret
-; b82e8
-
-INCLUDE "data/wild/treemons.asm"
-
-GetTreeMon: ; b83e5
- push hl
- call GetTreeScore
- pop hl
- and a
- jr z, .bad
- cp 1
- jr z, .good
- cp 2
- jr z, .rare
- ret
-
-.bad
- ld a, 10
- call RandomRange
- and a
- jr nz, NoTreeMon
- jr SelectTreeMon
-
-.good
- ld a, 10
- call RandomRange
- cp 5
- jr nc, NoTreeMon
- jr SelectTreeMon
-
-.rare
- ld a, 10
- call RandomRange
- cp 8
- jr nc, NoTreeMon
- jr .skip
-.skip
- ld a, [hli]
- cp -1
- jr nz, .skip
- call SelectTreeMon
- ret
-; b841f
-
-SelectTreeMon: ; b841f
-; Read a TreeMons table and pick one monster at random.
-
- ld a, 100
- call RandomRange
-.loop
- sub [hl]
- jr c, .ok
- inc hl
- inc hl
- inc hl
- jr .loop
-
-.ok
- ld a, [hli]
- cp $ff
- jr z, NoTreeMon
-
- ld a, [hli]
- ld [TempWildMonSpecies], a
- ld a, [hl]
- ld [CurPartyLevel], a
- scf
- ret
-
-NoTreeMon: ; b843b
- xor a
- ld [TempWildMonSpecies], a
- ld [CurPartyLevel], a
- ret
-; b8443
-
-GetTreeScore: ; b8443
- call .CoordScore
- ld [Buffer1], a
- call .OTIDScore
- ld [Buffer2], a
- ld c, a
- ld a, [Buffer1]
- sub c
- jr z, .rare
- jr nc, .ok
- add 10
-.ok
- cp 5
- jr c, .good
-
-.bad
- xor a
- ret
-
-.good
- ld a, 1
- ret
-
-.rare
- ld a, 2
- ret
-; b8466
-
-.CoordScore: ; b8466
- call GetFacingTileCoord
- ld hl, 0
- ld c, e
- ld b, 0
- ld a, d
-
- and a
- jr z, .next
-.loop
- add hl, bc
- dec a
- jr nz, .loop
-.next
-
- add hl, bc
- ld c, d
- add hl, bc
-
- ld a, h
- ld [hDividend], a
- ld a, l
- ld [hDividend + 1], a
- ld a, 5
- ld [hDivisor], a
- ld b, 2
- call Divide
-
- ld a, [hQuotient + 1]
- ld [hDividend], a
- ld a, [hQuotient + 2]
- ld [hDividend + 1], a
- ld a, 10
- ld [hDivisor], a
- ld b, 2
- call Divide
-
- ld a, [hQuotient + 3]
- ret
-; b849d
-
-.OTIDScore: ; b849d
- ld a, [PlayerID]
- ld [hDividend], a
- ld a, [PlayerID + 1]
- ld [hDividend + 1], a
- ld a, 10
- ld [hDivisor], a
- ld b, 2
- call Divide
- ld a, [hQuotient + 3]
- ret
-; b84b3
-
-LoadFishingGFX: ; b84b3
- ld a, [rVBK]
- push af
- ld a, $1
- ld [rVBK], a
-
- ld de, FishingGFX
- ld a, [wPlayerGender]
- bit 0, a
- jr z, .got_gender
- ld de, KrisFishingGFX
-.got_gender
-
- ld hl, vTiles0 tile $02
- call .LoadGFX
- ld hl, vTiles0 tile $06
- call .LoadGFX
- ld hl, vTiles0 tile $0a
- call .LoadGFX
- ld hl, vTiles1 tile $7c
- call .LoadGFX
-
- pop af
- ld [rVBK], a
- ret
-; b84e3
-
-.LoadGFX: ; b84e3
- lb bc, BANK(FishingGFX), 2
- push de
- call Get2bpp
- pop de
- ld hl, 2 tiles
- add hl, de
- ld d, h
- ld e, l
- ret
-; b84f2
-
-FishingGFX: ; b84f2
-INCBIN "gfx/overworld/chris_fish.2bpp"
-; b8582
-
-KrisFishingGFX: ; b8582
-INCBIN "gfx/overworld/kris_fish.2bpp"
-; b8612
diff --git a/engine/evolution_animation.asm b/engine/evolution_animation.asm
index 1fa55c10a..2e6e82e25 100755
--- a/engine/evolution_animation.asm
+++ b/engine/evolution_animation.asm
@@ -80,7 +80,7 @@ EvolutionAnimation: ; 4e5e1
jr c, .skip_cry
ld a, [wEvolutionOldSpecies]
- call PlayCry
+ call PlayMonCry
.skip_cry
ld de, MUSIC_EVOLUTION
@@ -148,7 +148,7 @@ EvolutionAnimation: ; 4e5e1
ret c
ld a, [PlayerHPPal]
- call PlayCry
+ call PlayMonCry
ret
; 4e703
@@ -168,7 +168,7 @@ EvolutionAnimation: ; 4e5e1
ld a, $1
ld [wBoxAlignment], a
ld de, vTiles2
- predef GetAnimatedFrontpicPredef
+ predef GetAnimatedFrontpic
xor a
ld [wBoxAlignment], a
ret
@@ -346,15 +346,15 @@ EvolutionAnimation: ; 4e5e1
inc a
and $7
ld b, a
- ld hl, Sprites + 3 ; attributes
- ld c, 40
+ ld hl, Sprite01Attributes
+ ld c, NUM_SPRITE_OAM_STRUCTS
.loop6
ld a, [hl]
or b
- ld [hli], a
- inc hl
- inc hl
+ ld [hli], a ; attributes
+rept SPRITEOAMSTRUCT_LENGTH +- 1
inc hl
+endr
dec c
jr nz, .loop6
pop bc
diff --git a/engine/evolve.asm b/engine/evolve.asm
index c335229d6..2e72320d4 100755
--- a/engine/evolve.asm
+++ b/engine/evolve.asm
@@ -247,7 +247,7 @@ EvolveAfterBattle_MasterLoop
push hl
ld hl, Text_EvolvedIntoPKMN
call PrintTextBoxText
- farcall TrainerRankings_MonsEvolved
+ farcall StubbedTrainerRankings_MonsEvolved
ld de, MUSIC_NONE
call PlayMusic
@@ -333,7 +333,7 @@ EvolveAfterBattle_MasterLoop
inc hl
jp .loop
-; XXX
+; unused
pop hl
.ReturnToMap:
pop de
@@ -371,7 +371,7 @@ UpdateSpeciesNameIfNotNicknamed: ; 42414
jr nz, .loop
ld a, [CurPartyMon]
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
ld hl, PartyMonNicknames
call AddNTimes
push hl
@@ -380,7 +380,7 @@ UpdateSpeciesNameIfNotNicknamed: ; 42414
call GetPokemonName
ld hl, StringBuffer1
pop de
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
jp CopyBytes
; 42454
@@ -621,7 +621,7 @@ ShiftMoves: ; 4256e
EvoFlagAction: ; 42577
push de
ld d, $0
- predef FlagPredef
+ predef SmallFarFlagAction
pop de
ret
; 42581
diff --git a/engine/gbc_only.asm b/engine/gbc_only.asm
index efceae701..badd953aa 100644
--- a/engine/gbc_only.asm
+++ b/engine/gbc_only.asm
@@ -10,18 +10,18 @@ GBCOnlyScreen: ; 4ea82
call ClearTileMap
ld hl, GBCOnlyGFX
- ld de, $d000
+ ld de, wGBCOnlyDecompressBuffer
ld a, [rSVBK]
push af
- ld a, 0
+ ld a, 0 ; this has the same effect as selecting bank 1
ld [rSVBK], a
call Decompress
pop af
ld [rSVBK], a
- ld de, $d000
+ ld de, wGBCOnlyDecompressBuffer
ld hl, vTiles2
- lb bc, BANK(GBCOnlyGFX), $54
+ lb bc, BANK(GBCOnlyGFX), 84
call Get2bpp
ld de, Font
diff --git a/engine/init_gender.asm b/engine/init_gender.asm
index 588709b88..76b1640d9 100755
--- a/engine/init_gender.asm
+++ b/engine/init_gender.asm
@@ -44,15 +44,14 @@ InitGender: ; 48dcb (12:4dcb)
; 48dfc (12:4dfc)
.MenuDataHeader: ; 0x48dfc
- db $40 ; flags
- db 04, 06 ; start coords
- db 09, 12 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 6, 4, 12, 9
dw .MenuData2
db 1 ; default option
; 0x48e04
.MenuData2: ; 0x48e04
- db $a1 ; flags
+ db STATICMENU_CURSOR | STATICMENU_WRAP | STATICMENU_DISABLE_B ; flags
db 2 ; items
db "Boy@"
db "Girl@"
@@ -90,17 +89,14 @@ LoadGenderScreenPal: ; 48e47 (12:4e47)
ld hl, .Palette
ld de, wBGPals1
ld bc, 1 palettes
- ld a, $5
+ ld a, BANK(wBGPals1)
call FarCopyWRAM
farcall ApplyPals
ret
; 48e5c (12:4e5c)
.Palette: ; 48e5c
- RGB 31, 31, 31
- RGB 09, 30, 31
- RGB 01, 11, 31
- RGB 00, 00, 00
+INCLUDE "gfx/new_game/gender_screen.pal"
; 48e64
LoadGenderScreenLightBlueTile: ; 48e64 (12:4e64)
@@ -112,4 +108,4 @@ LoadGenderScreenLightBlueTile: ; 48e64 (12:4e64)
; 48e71 (12:4e71)
.LightBlueTile: ; 48e71
-INCBIN "gfx/intro/gender_screen.2bpp"
+INCBIN "gfx/new_game/gender_screen.2bpp"
diff --git a/engine/init_hof_credits.asm b/engine/init_hof_credits.asm
index 8e3db75eb..d8eb7670a 100644
--- a/engine/init_hof_credits.asm
+++ b/engine/init_hof_credits.asm
@@ -46,9 +46,9 @@ InitDisplayForRedCredits: ; 4e8c2
ld hl, wBGPals1
ld c, 4 tiles
.load_white_palettes
- ld a, LOW(palred 31 + palgreen 31 + palblue 31)
+ ld a, LOW(PALRGB_WHITE)
ld [hli], a
- ld a, HIGH(palred 31 + palgreen 31 + palblue 31)
+ ld a, HIGH(PALRGB_WHITE)
ld [hli], a
dec c
jr nz, .load_white_palettes
@@ -63,7 +63,7 @@ InitDisplayForRedCredits: ; 4e8c2
ResetDisplayBetweenHallOfFameMons: ; 4e906
ld a, [rSVBK]
push af
- ld a, $6
+ ld a, BANK(wDecompressScratch)
ld [rSVBK], a
ld hl, wDecompressScratch
ld bc, wScratchAttrMap - wDecompressScratch
diff --git a/engine/init_map.asm b/engine/init_map.asm
index e5bee971d..0ea2379d2 100644
--- a/engine/init_map.asm
+++ b/engine/init_map.asm
@@ -79,10 +79,10 @@ LoadFonts_NoOAMUpdate:: ; 64bf
HDMATransfer_FillBGMap0WithBlack: ; 64db
ld a, [rSVBK]
push af
- ld a, $6
+ ld a, BANK(wDecompressScratch)
ld [rSVBK], a
- ld a, "<BLACK>" ; $60
+ ld a, "■"
ld hl, wDecompressScratch
ld bc, wScratchAttrMap - wDecompressScratch
call ByteFill
diff --git a/engine/intro_menu.asm b/engine/intro_menu.asm
index 7d17b62e5..a26ac1f81 100755
--- a/engine/intro_menu.asm
+++ b/engine/intro_menu.asm
@@ -10,7 +10,7 @@ _MainMenu: ; 5ae8
jp StartTitleScreen
; 5b04
-; unreferenced
+; unused
ret
; 5b05
@@ -542,10 +542,10 @@ Continue_LoadMenuHeader: ; 5ebf
ld hl, .MenuDataHeader_Dex
ld a, [wStatusFlags]
bit 0, a ; pokedex
- jr nz, .pokedex_header
+ jr nz, .show_menu
ld hl, .MenuDataHeader_NoDex
-.pokedex_header
+.show_menu
call _OffsetMenuDataHeader
call MenuBox
call PlaceVerticalMenuItems
@@ -553,15 +553,14 @@ Continue_LoadMenuHeader: ; 5ebf
; 5ed9
.MenuDataHeader_Dex: ; 5ed9
- db $40 ; flags
- db 00, 00 ; start coords
- db 09, 15 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, 15, 9
dw .MenuData2_Dex
db 1 ; default option
; 5ee1
.MenuData2_Dex: ; 5ee1
- db $00 ; flags
+ db 0 ; flags
db 4 ; items
db "PLAYER@"
db "BADGES@"
@@ -570,15 +569,14 @@ Continue_LoadMenuHeader: ; 5ebf
; 5efb
.MenuDataHeader_NoDex: ; 5efb
- db $40 ; flags
- db 00, 00 ; start coords
- db 09, 15 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, 15, 9
dw .MenuData2_NoDex
db 1 ; default option
; 5f03
.MenuData2_NoDex: ; 5f03
- db $00 ; flags
+ db 0 ; flags
db 4 ; items
db "PLAYER <PLAYER>@"
db "BADGES@"
@@ -756,7 +754,7 @@ OakText2: ; 0x604a
text_jump _OakText2
start_asm
ld a, WOOPER
- call PlayCry
+ call PlayMonCry
call WaitSFX
ld hl, OakText3
ret
@@ -827,7 +825,7 @@ NamePlayer: ; 0x6074
db "KRIS@@@@@@@"
; 60e9
-Function60e9: ; Unreferenced
+Unreferenced_Function60e9:
call LoadMenuDataHeader
call VerticalMenu
ld a, [wMenuCursorY]
@@ -853,7 +851,7 @@ ShrinkPlayer: ; 610f
ld a, [hROMBank]
push af
- ld a, 0 << 7 | 32 ; fade out
+ ld a, 32 ; fade time
ld [MusicFade], a
ld de, MUSIC_NONE
ld a, e
@@ -954,8 +952,8 @@ Intro_PrepTrainerPic: ; 619c
ShrinkFrame: ; 61b4
ld de, vTiles2
- ld c, $31
- predef DecompressPredef
+ ld c, 7 * 7
+ predef DecompressGet2bpp
xor a
ld [hGraphicStartTile], a
hlcoord 6, 4
@@ -971,7 +969,7 @@ Intro_PlacePlayerSprite: ; 61cd
ld hl, vTiles0
call Request2bpp
- ld hl, Sprites
+ ld hl, Sprite01
ld de, .sprites
ld a, [de]
inc de
@@ -980,19 +978,19 @@ Intro_PlacePlayerSprite: ; 61cd
.loop
ld a, [de]
inc de
- ld [hli], a
+ ld [hli], a ; y
ld a, [de]
inc de
- ld [hli], a
+ ld [hli], a ; x
ld a, [de]
inc de
- ld [hli], a
+ ld [hli], a ; tile id
- ld b, 0
+ ld b, PAL_OW_RED
ld a, [wPlayerGender]
bit 0, a
jr z, .male
- ld b, 1
+ ld b, PAL_OW_BLUE
.male
ld a, b
@@ -1004,6 +1002,7 @@ Intro_PlacePlayerSprite: ; 61cd
.sprites ; 61fe
db 4
+ ; y pxl, x pxl, tile offset
db 9 * 8 + 4, 9 * 8, 0
db 9 * 8 + 4, 10 * 8, 1
db 10 * 8 + 4, 9 * 8, 2
@@ -1019,7 +1018,7 @@ CrystalIntroSequence: ; 620b
StartTitleScreen: ; 6219
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
call .TitleScreen
@@ -1094,7 +1093,7 @@ RunTitleScreen: ; 627b
ret
; 6292
-Function6292: ; 6292 ; unreferenced
+Unreferenced_Function6292: ; 6292
ld a, [hVBlankCounter]
and $7
ret nz
@@ -1125,7 +1124,7 @@ TitleScreenScene: ; 62a3
dw TitleScreenEnd
; 62b7
-.NextScene: ; Unreferenced
+.Unreferenced_NextScene:
ld hl, wJumptableIndex
inc [hl]
ret
@@ -1329,10 +1328,10 @@ ResetClock: ; 6392
jp Init
; 639b
-Function639b: ; unreferenced
+Unreferenced_Function639b:
; If bit 0 or 1 of [wTitleScreenTimer] is set, we don't need to be here.
ld a, [wTitleScreenTimer]
- and $3
+ and %00000011
ret nz
ld bc, SpriteAnim10
ld hl, SPRITEANIMSTRUCT_FRAME
@@ -1377,7 +1376,7 @@ Copyright: ; 63e2
call LoadFontsExtra
ld de, CopyrightGFX
ld hl, vTiles2 tile $60
- lb bc, BANK(CopyrightGFX), $1d
+ lb bc, BANK(CopyrightGFX), 29
call Request2bpp
hlcoord 2, 7
ld de, CopyrightString
diff --git a/engine/item_effects.asm b/engine/item_effects.asm
index 90dfdc7e0..c2bdd1f61 100644
--- a/engine/item_effects.asm
+++ b/engine/item_effects.asm
@@ -517,7 +517,7 @@ ParkBall: ; e8a2
cp BATTLETYPE_TUTORIAL
jp z, .FinishTutorial
- farcall TrainerRankings_WildMonsCaught
+ farcall StubbedTrainerRankings_WildMonsCaught
ld hl, Text_GotchaMonWasCaught
call PrintText
@@ -599,7 +599,7 @@ ParkBall: ; e8a2
dec a
ld [CurPartyMon], a
ld hl, PartyMonNicknames
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call AddNTimes
ld d, h
@@ -623,7 +623,7 @@ ParkBall: ; e8a2
.SendToPC:
call ClearSprites
- predef SentPkmnIntoBox
+ predef SendPkmnIntoBox
farcall SetBoxMonCaughtData
@@ -668,7 +668,7 @@ ParkBall: ; e8a2
ld hl, wMonOrItemNameBuffer
ld de, sBoxMonNicknames
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
ld hl, sBoxMonNicknames
@@ -683,7 +683,7 @@ ParkBall: ; e8a2
ld hl, sBoxMonNicknames
ld de, wMonOrItemNameBuffer
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
call CloseSRAM
@@ -748,7 +748,7 @@ BallMultiplierFunctionTable:
dbw MOON_BALL, MoonBallMultiplier
dbw LOVE_BALL, LoveBallMultiplier
dbw PARK_BALL, ParkBallMultiplier
- db $ff
+ db -1 ; end
UltraBallMultiplier:
; multiply catch rate by 2
@@ -775,7 +775,7 @@ GetPokedexEntryBank:
ld a, [EnemyMonSpecies]
rlca
rlca
- and 3
+ maskbits NUM_DEX_ENTRY_BANKS
ld hl, .PokedexEntryBanks
ld d, 0
ld e, a
@@ -786,12 +786,6 @@ GetPokedexEntryBank:
ret
.PokedexEntryBanks:
-
-GLOBAL PokedexEntries1
-GLOBAL PokedexEntries2
-GLOBAL PokedexEntries3
-GLOBAL PokedexEntries4
-
db BANK(PokedexEntries1)
db BANK(PokedexEntries2)
db BANK(PokedexEntries3)
@@ -1436,7 +1430,7 @@ RareCandy: ; ef14
call TextBox
hlcoord 11, 1
- ld bc, $0004
+ ld bc, 4
predef PrintTempMonStats
call WaitPressAorB_BlinkCursor
@@ -1576,7 +1570,7 @@ HealStatus: ; f030 (3:7030)
GetItemHealingAction: ; f058 (3:7058)
push hl
ld a, [CurItem]
- ld hl, .healingactions
+ ld hl, StatusHealingActions
ld bc, 3
.next
cp [hl]
@@ -1595,24 +1589,7 @@ GetItemHealingAction: ; f058 (3:7058)
ret
; f071 (3:7071)
-.healingactions ; f071
-; item, party menu action text, status
- db ANTIDOTE, PARTYMENUTEXT_HEAL_PSN, 1 << PSN
- db BURN_HEAL, PARTYMENUTEXT_HEAL_BRN, 1 << BRN
- db ICE_HEAL, PARTYMENUTEXT_HEAL_FRZ, 1 << FRZ
- db AWAKENING, PARTYMENUTEXT_HEAL_SLP, SLP
- db PARLYZ_HEAL, PARTYMENUTEXT_HEAL_PAR, 1 << PAR
- db FULL_HEAL, PARTYMENUTEXT_HEAL_ALL, %11111111
- db FULL_RESTORE, PARTYMENUTEXT_HEAL_ALL, %11111111
- db HEAL_POWDER, PARTYMENUTEXT_HEAL_ALL, %11111111
- db PSNCUREBERRY, PARTYMENUTEXT_HEAL_PSN, 1 << PSN
- db PRZCUREBERRY, PARTYMENUTEXT_HEAL_PAR, 1 << PAR
- db BURNT_BERRY, PARTYMENUTEXT_HEAL_FRZ, 1 << FRZ
- db ICE_BERRY, PARTYMENUTEXT_HEAL_BRN, 1 << BRN
- db MINT_BERRY, PARTYMENUTEXT_HEAL_SLP, SLP
- db MIRACLEBERRY, PARTYMENUTEXT_HEAL_ALL, %11111111
- db -1, 0, 0
-; f09e
+INCLUDE "data/items/heal_status.asm"
StatusHealer_Jumptable: ; f09e (3:709e)
ld hl, .dw
@@ -1668,7 +1645,7 @@ RevivePokemon: ; f0d6
ld d, 0
ld hl, wBattleParticipantsIncludingFainted
ld b, CHECK_FLAG
- predef FlagPredef
+ predef SmallFarFlagAction
ld a, c
and a
jr z, .skip_to_revive
@@ -1677,7 +1654,7 @@ RevivePokemon: ; f0d6
ld c, a
ld hl, wBattleParticipantsNotFainted
ld b, SET_FLAG
- predef FlagPredef
+ predef SmallFarFlagAction
.skip_to_revive
xor a
@@ -2118,7 +2095,7 @@ GetOneFifthMaxHP: ; f378 (3:7378)
GetHealingItemAmount: ; f395 (3:7395)
push hl
ld a, [CurItem]
- ld hl, .Healing
+ ld hl, HealingHPAmounts
ld d, a
.next
ld a, [hli]
@@ -2140,24 +2117,7 @@ GetHealingItemAmount: ; f395 (3:7395)
ret
; f3af (3:73af)
-.Healing: ; f3af
- dbw FRESH_WATER, 50
- dbw SODA_POP, 60
- dbw LEMONADE, 80
- dbw HYPER_POTION, 200
- dbw SUPER_POTION, 50
- dbw POTION, 20
- dbw MAX_POTION, MAX_STAT_VALUE
- dbw FULL_RESTORE, MAX_STAT_VALUE
- dbw MOOMOO_MILK, 100
- dbw BERRY, 10
- dbw GOLD_BERRY, 30
- dbw ENERGYPOWDER, 50
- dbw ENERGY_ROOT, 200
- dbw RAGECANDYBAR, 20
- dbw BERRY_JUICE, 20
- dbw -1, 0
-; f3df
+INCLUDE "data/items/heal_hp.asm"
Softboiled_MilkDrinkFunction: ; f3df (3:73df)
; Softboiled/Milk Drink in the field
@@ -2291,7 +2251,7 @@ PokeDoll: ; f48f
inc a
ld [wForcedSwitch], a
ld a, [wBattleResult]
- and 3 << 6
+ and $c0
or $2
ld [wBattleResult], a
jp UseItemText
@@ -2328,7 +2288,7 @@ XSpecial: ; f4c5
call UseItemText
ld a, [CurItem]
- ld hl, .x_item_table
+ ld hl, XItemStats
.loop
cp [hl]
@@ -2357,12 +2317,7 @@ XSpecial: ; f4c5
ret
; f504
-.x_item_table ; f504
- db X_ATTACK, ATTACK
- db X_DEFEND, DEFENSE
- db X_SPEED, SPEED
- db X_SPECIAL, SP_ATTACK
-; f50c
+INCLUDE "data/items/x_stats.asm"
PokeFlute: ; f50c
@@ -2572,10 +2527,10 @@ Mysteryberry: ; f5bf
cp SKETCH
jr z, .CantUsePPUpOnSketch
- ld bc, $0015
+ ld bc, MON_PP - MON_MOVES
add hl, bc
ld a, [hl]
- cp 3 << 6 ; have 3 PP Ups already been used?
+ cp PP_UP_MASK
jr c, .do_ppup
.CantUsePPUpOnSketch:
@@ -2586,7 +2541,7 @@ Mysteryberry: ; f5bf
.do_ppup
ld a, [hl]
- add 1 << 6 ; increase PP Up count by 1
+ add PP_UP_ONE
ld [hl], a
ld a, $1
ld [wd265], a
@@ -2714,7 +2669,7 @@ RestorePP: ; f6e8
ld a, [wd265]
ld b, a
ld a, [hl]
- and (1 << 6) - 1
+ and PP_MASK
cp b
jr nc, .dont_restore
@@ -2732,7 +2687,7 @@ RestorePP: ; f6e8
.restore_some
ld a, [hl]
- and (1 << 6) - 1
+ and PP_MASK
add c
cp b
jr nc, .restore_all
@@ -2740,7 +2695,7 @@ RestorePP: ; f6e8
.restore_all
ld a, [hl]
- and 3 << 6
+ and PP_UP_MASK
or b
ld [hl], a
ret
@@ -3125,7 +3080,7 @@ ApplyPPUp: ; f84c
.use
ld a, [hl]
- and 3 << 6
+ and PP_UP_MASK
ld a, [de] ; wasted cycle
call nz, ComputeMaxPP
@@ -3209,7 +3164,7 @@ RestoreAllPP: ; f8b9
pop bc
pop de
ld a, [de]
- and 3 << 6
+ and PP_UP_MASK
ld b, a
ld a, [wd265]
add b
@@ -3282,7 +3237,7 @@ GetMaxPPOfMove: ; f8ec
.notwild
add hl, bc
ld a, [hl]
- and 3 << 6
+ and PP_UP_MASK
pop bc
or b
@@ -3293,7 +3248,7 @@ GetMaxPPOfMove: ; f8ec
ld a, b ; this gets lost anyway
call ComputeMaxPP
ld a, [hl]
- and (1 << 6) - 1
+ and PP_MASK
ld [wd265], a
pop af
diff --git a/engine/landmarks.asm b/engine/landmarks.asm
index 75605bbd9..452bd2e92 100644
--- a/engine/landmarks.asm
+++ b/engine/landmarks.asm
@@ -80,8 +80,8 @@ RegionCheck: ; 0x1caea1
jr c, .kanto
.johto
- ld e, 0
+ ld e, JOHTO_REGION
ret
.kanto
- ld e, 1
+ ld e, KANTO_REGION
ret
diff --git a/engine/learn.asm b/engine/learn.asm
index d2751235f..2f1038d7f 100755
--- a/engine/learn.asm
+++ b/engine/learn.asm
@@ -5,7 +5,7 @@ LearnMove: ; 6508
call GetNick
ld hl, StringBuffer1
ld de, wMonOrItemNameBuffer
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
.loop
diff --git a/engine/link.asm b/engine/link.asm
index 5c45707d7..86a593284 100755
--- a/engine/link.asm
+++ b/engine/link.asm
@@ -28,9 +28,9 @@ LinkCommunications: ; 28000
call SetTradeRoomBGPals
call WaitBGMap2
ld hl, wcf5d
- xor a
+ xor a ; LOW($5000)
ld [hli], a
- ld [hl], $50
+ ld [hl], HIGH($5000)
ld a, [wLinkMode]
cp LINK_TIMECAPSULE
jp nz, Gen2ToGen2LinkComms
@@ -42,29 +42,31 @@ TimeCapsule: ; 2805d
xor a
ld [wPlayerLinkAction], a
call WaitLinkTransfer
- ld a, [hLinkPlayerNumber]
- cp $2
+ ld a, [hSerialConnectionStatus]
+ cp USING_INTERNAL_CLOCK
jr nz, .player_1
+
ld c, 3
call DelayFrames
xor a
ld [hSerialSend], a
- ld a, $1
+ ld a, (0 << rSC_ON) | 1
ld [rSC], a
- ld a, $81
+ ld a, (1 << rSC_ON) | 1
ld [rSC], a
+
call DelayFrame
xor a
ld [hSerialSend], a
- ld a, $1
+ ld a, (0 << rSC_ON) | 1
ld [rSC], a
- ld a, $81
+ ld a, (1 << rSC_ON) | 1
ld [rSC], a
.player_1
ld de, MUSIC_NONE
call PlayMusic
- ld c, $3
+ ld c, 3
call DelayFrames
xor a
ld [rIF], a
@@ -73,19 +75,19 @@ TimeCapsule: ; 2805d
ld hl, wd1f3
ld de, EnemyMonSpecies
ld bc, $11
- call Function75f
- ld a, $fe
+ call Serial_ExchangeBytes
+ ld a, SERIAL_NO_DATA_BYTE
ld [de], a
ld hl, wLinkData
ld de, OTPlayerName
ld bc, $1a8
- call Function75f
- ld a, $fe
+ call Serial_ExchangeBytes
+ ld a, SERIAL_NO_DATA_BYTE
ld [de], a
ld hl, wMisc
ld de, wPlayerTrademonSpecies
ld bc, wPlayerTrademonSpecies - wMisc
- call Function75f
+ call Serial_ExchangeBytes
xor a
ld [rIF], a
ld a, $1d
@@ -107,25 +109,25 @@ TimeCapsule: ; 2805d
call Link_CopyOTData
ld de, wPlayerTrademonSpecies
ld hl, wTimeCapsulePartyMon1Species
- ld c, $2
+ ld c, 2
.loop
ld a, [de]
inc de
and a
jr z, .loop
- cp $fd
+ cp SERIAL_PREAMBLE_BYTE
jr z, .loop
- cp $fe
+ cp SERIAL_NO_DATA_BYTE
jr z, .loop
- cp $ff
+ cp SERIAL_PATCH_LIST_PART_TERMINATOR
jr z, .next
push hl
push bc
- ld b, $0
+ ld b, 0
dec a
ld c, a
add hl, bc
- ld a, $fe
+ ld a, SERIAL_NO_DATA_BYTE
ld [hl], a
pop bc
pop hl
@@ -168,8 +170,8 @@ TimeCapsule: ; 2805d
ld [wUnusedD102 + 1], a
ld de, MUSIC_NONE
call PlayMusic
- ld a, [hLinkPlayerNumber]
- cp $2
+ ld a, [hSerialConnectionStatus]
+ cp USING_INTERNAL_CLOCK
ld c, 66
call z, DelayFrames
ld de, MUSIC_ROUTE_30
@@ -185,23 +187,25 @@ Gen2ToGen2LinkComms: ; 28177
ld a, [ScriptVar]
and a
jp z, LinkTimeout
- ld a, [hLinkPlayerNumber]
- cp $2
+ ld a, [hSerialConnectionStatus]
+ cp USING_INTERNAL_CLOCK
jr nz, .Player1
+
ld c, 3
call DelayFrames
xor a
ld [hSerialSend], a
- ld a, $1
+ ld a, (0 << rSC_ON) | 1
ld [rSC], a
- ld a, $81
+ ld a, (1 << rSC_ON) | 1
ld [rSC], a
+
call DelayFrame
xor a
ld [hSerialSend], a
- ld a, $1
+ ld a, (0 << rSC_ON) | 1
ld [rSC], a
- ld a, $81
+ ld a, (1 << rSC_ON) | 1
ld [rSC], a
.Player1:
@@ -216,26 +220,26 @@ Gen2ToGen2LinkComms: ; 28177
ld hl, wd1f3
ld de, EnemyMonSpecies
ld bc, $11
- call Function75f
- ld a, $fe
+ call Serial_ExchangeBytes
+ ld a, SERIAL_NO_DATA_BYTE
ld [de], a
ld hl, wLinkData
ld de, OTPlayerName
ld bc, $1c2
- call Function75f
- ld a, $fe
+ call Serial_ExchangeBytes
+ ld a, SERIAL_NO_DATA_BYTE
ld [de], a
ld hl, wMisc
ld de, wPlayerTrademonSpecies
ld bc, $c8
- call Function75f
+ call Serial_ExchangeBytes
ld a, [wLinkMode]
cp LINK_TRADECENTER
jr nz, .not_trading
ld hl, wc9f4
ld de, wcb84
ld bc, $186
- call Function283f2
+ call ExchangeBytes
.not_trading
xor a
@@ -252,25 +256,25 @@ Gen2ToGen2LinkComms: ; 28177
call Link_CopyOTData
ld de, wPlayerTrademonSpecies
ld hl, wLinkPlayerPartyMon1Species
- ld c, $2
+ ld c, 2
.loop1
ld a, [de]
inc de
and a
jr z, .loop1
- cp $fd
+ cp SERIAL_PREAMBLE_BYTE
jr z, .loop1
- cp $fe
+ cp SERIAL_NO_DATA_BYTE
jr z, .loop1
- cp $ff
+ cp SERIAL_PATCH_LIST_PART_TERMINATOR
jr z, .next1
push hl
push bc
- ld b, $0
+ ld b, 0
dec a
ld c, a
add hl, bc
- ld a, $fe
+ ld a, SERIAL_NO_DATA_BYTE
ld [hl], a
pop bc
pop hl
@@ -286,13 +290,13 @@ Gen2ToGen2LinkComms: ; 28177
ld hl, wcb84
.loop2
ld a, [hli]
- cp $20
+ cp MAIL_MSG_LENGTH
jr nz, .loop2
.loop3
ld a, [hli]
- cp $fe
+ cp SERIAL_NO_DATA_BYTE
jr z, .loop3
- cp $20
+ cp MAIL_MSG_LENGTH
jr z, .loop3
dec hl
ld de, wcb84
@@ -302,9 +306,9 @@ Gen2ToGen2LinkComms: ; 28177
ld bc, $c6 ; 198
.loop4
ld a, [hl]
- cp $21
+ cp MAIL_MSG_LENGTH + 1
jr nz, .okay1
- ld [hl], $fe
+ ld [hl], SERIAL_NO_DATA_BYTE
.okay1
inc hl
dec bc
@@ -315,14 +319,14 @@ Gen2ToGen2LinkComms: ; 28177
.loop5
ld a, [de]
inc de
- cp $ff
+ cp SERIAL_PATCH_LIST_PART_TERMINATOR
jr z, .start_copying_mail
ld hl, wcc4a
dec a
ld b, $0
ld c, a
add hl, bc
- ld [hl], $fe
+ ld [hl], SERIAL_NO_DATA_BYTE
jr .loop5
.start_copying_mail
@@ -395,7 +399,7 @@ Gen2ToGen2LinkComms: ; 28177
ld bc, NAME_LENGTH
call CopyBytes
ld de, OTPartyCount
- ld bc, 8
+ ld bc, 1 + PARTY_LENGTH + 1
call CopyBytes
ld de, OTPlayerID
ld bc, 2
@@ -409,8 +413,8 @@ Gen2ToGen2LinkComms: ; 28177
ld [wUnusedD102 + 1], a
ld de, MUSIC_NONE
call PlayMusic
- ld a, [hLinkPlayerNumber]
- cp $2
+ ld a, [hSerialConnectionStatus]
+ cp USING_INTERNAL_CLOCK
ld c, 66
call z, DelayFrames
ld a, [wLinkMode]
@@ -423,8 +427,8 @@ Gen2ToGen2LinkComms: ; 28177
ld hl, Options
ld a, [hl]
push af
- and $20
- or $3
+ and 1 << STEREO
+ or TEXT_DELAY_MED
ld [hl], a
ld hl, OTPlayerName
ld de, OTClassName
@@ -510,28 +514,28 @@ LinkTimeout: ; 283b2
db "@"
; 0x283f2
-Function283f2: ; 283f2
- ld a, $1
- ld [hFFCC], a
+ExchangeBytes: ; 283f2
+ ld a, TRUE
+ ld [hSerialIgnoringInitialData], a
.loop
ld a, [hl]
ld [hSerialSend], a
- call Function78a
+ call Serial_ExchangeByte
push bc
ld b, a
inc hl
- ld a, $30
+ ld a, 48
.delay_cycles
dec a
jr nz, .delay_cycles
- ld a, [hFFCC]
+ ld a, [hSerialIgnoringInitialData]
and a
ld a, b
pop bc
jr z, .load
dec hl
xor a
- ld [hFFCC], a
+ ld [hSerialIgnoringInitialData], a
jr .loop
.load
@@ -563,7 +567,7 @@ ClearLinkData: ; 28426
FixDataForLinkTransfer: ; 28434
ld hl, wd1f3
- ld a, $fd
+ ld a, SERIAL_PREAMBLE_BYTE
ld b, LinkBattleRNs - wd1f3
.loop1
ld [hli], a
@@ -572,13 +576,13 @@ FixDataForLinkTransfer: ; 28434
ld b, TempEnemyMonSpecies - LinkBattleRNs
.loop2
call Random
- cp $fd
+ cp SERIAL_PREAMBLE_BYTE
jr nc, .loop2
ld [hli], a
dec b
jr nz, .loop2
ld hl, wMisc
- ld a, $fd
+ ld a, SERIAL_PREAMBLE_BYTE
ld [hli], a
ld [hli], a
ld [hli], a
@@ -594,7 +598,7 @@ FixDataForLinkTransfer: ; 28434
.loop4
inc c
ld a, c
- cp $fd
+ cp SERIAL_PREAMBLE_BYTE
jr z, .next1
ld a, b
dec a
@@ -613,31 +617,31 @@ FixDataForLinkTransfer: ; 28434
.next2
inc hl
ld a, [hl]
- cp $fe
+ cp SERIAL_NO_DATA_BYTE
jr nz, .loop4
ld a, c
ld [de], a
inc de
- ld [hl], $ff
+ ld [hl], SERIAL_PATCH_LIST_PART_TERMINATOR
jr .loop4
.next1
- ld a, $ff
+ ld a, SERIAL_PATCH_LIST_PART_TERMINATOR
ld [de], a
inc de
lb bc, 1, 0
jr .loop4
.done
- ld a, $ff
+ ld a, SERIAL_PATCH_LIST_PART_TERMINATOR
ld [de], a
ret
; 28499
Link_PrepPartyData_Gen1: ; 28499
ld de, wLinkData
- ld a, $fd
- ld b, 6
+ ld a, SERIAL_PREAMBLE_BYTE
+ ld b, PARTY_LENGTH
.loop1
ld [de], a
inc de
@@ -804,38 +808,31 @@ Link_PrepPartyData_Gen1: ; 28499
Link_PrepPartyData_Gen2: ; 28595
ld de, wLinkData
- ld a, $fd
- ld b, 6
+ ld a, SERIAL_PREAMBLE_BYTE
+ ld b, PARTY_LENGTH
.loop1
ld [de], a
inc de
dec b
jr nz, .loop1
- ; de = $c806
ld hl, PlayerName
ld bc, NAME_LENGTH
call CopyBytes
- ; de = $c811
ld hl, PartyCount
ld bc, 1 + PARTY_LENGTH + 1
call CopyBytes
- ; de = $c819
ld hl, PlayerID
ld bc, 2
call CopyBytes
- ; de = $c81b
ld hl, PartyMon1Species
ld bc, PARTY_LENGTH * PARTYMON_STRUCT_LENGTH
call CopyBytes
- ; de = $c93b
ld hl, PartyMonOT
ld bc, PARTY_LENGTH * NAME_LENGTH
call CopyBytes
- ; de = $c97d
ld hl, PartyMonNicknames
- ld bc, PARTY_LENGTH * PKMN_NAME_LENGTH
+ ld bc, PARTY_LENGTH * MON_NAME_LENGTH
call CopyBytes
- ; de = $c9bf
; Okay, we did all that. Now, are we in the trade center?
ld a, [wLinkMode]
@@ -914,7 +911,7 @@ Link_PrepPartyData_Gen2: ; 28595
ld bc, PARTY_LENGTH * (sPartyMon1MailAuthor - sPartyMon1Mail)
.loop5
ld a, [hl]
- cp $fe
+ cp SERIAL_NO_DATA_BYTE
jr nz, .skip2
ld [hl], sPartyMon1MailAuthor - sPartyMon1Mail
@@ -931,9 +928,9 @@ Link_PrepPartyData_Gen2: ; 28595
.loop6
inc c
ld a, [hl]
- cp $fe
+ cp SERIAL_NO_DATA_BYTE
jr nz, .skip3
- ld [hl], $ff
+ ld [hl], SERIAL_PATCH_LIST_PART_TERMINATOR
ld a, c
ld [de], a
inc de
@@ -942,13 +939,13 @@ Link_PrepPartyData_Gen2: ; 28595
inc hl
dec b
jr nz, .loop6
- ld a, $ff
+ ld a, SERIAL_PATCH_LIST_PART_TERMINATOR
ld [de], a
ret
; 28682
Function28682: ; 28682
- ld c, $5
+ ld c, 5
.loop
ld [de], a
inc de
@@ -981,7 +978,7 @@ Function2868a: ; 2868a
ld bc, PARTY_LENGTH * NAME_LENGTH
call CopyBytes
ld de, OTPartyMonNicknames
- ld bc, PARTY_LENGTH * PKMN_NAME_LENGTH
+ ld bc, PARTY_LENGTH * MON_NAME_LENGTH
jp CopyBytes
; 286ba
@@ -1130,13 +1127,13 @@ TimeCapsule_ReplaceTeruSama: ; 28771
ret
-INCLUDE "data/time_capsule/catch_rate_items.asm"
+INCLUDE "data/items/catch_rate_items.asm"
Link_CopyOTData: ; 2879e
.loop
ld a, [hli]
- cp $fe
+ cp SERIAL_NO_DATA_BYTE
jr z, .loop
ld [de], a
inc de
@@ -1148,8 +1145,8 @@ Link_CopyOTData: ; 2879e
; 287ab
Link_CopyRandomNumbers: ; 287ab
- ld a, [hLinkPlayerNumber]
- cp $2
+ ld a, [hSerialConnectionStatus]
+ cp USING_INTERNAL_CLOCK
ret z
ld hl, EnemyMonSpecies
call Link_FindFirstNonControlCharacter_AllowZero
@@ -1157,9 +1154,9 @@ Link_CopyRandomNumbers: ; 287ab
ld c, 10
.loop
ld a, [hli]
- cp $fe
+ cp SERIAL_NO_DATA_BYTE
jr z, .loop
- cp $fd
+ cp SERIAL_PREAMBLE_BYTE
jr z, .loop
ld [de], a
inc de
@@ -1173,9 +1170,9 @@ Link_FindFirstNonControlCharacter_SkipZero: ; 287ca
ld a, [hli]
and a
jr z, .loop
- cp $fd
+ cp SERIAL_PREAMBLE_BYTE
jr z, .loop
- cp $fe
+ cp SERIAL_NO_DATA_BYTE
jr z, .loop
dec hl
ret
@@ -1184,9 +1181,9 @@ Link_FindFirstNonControlCharacter_SkipZero: ; 287ca
Link_FindFirstNonControlCharacter_AllowZero: ; 287d8
.loop
ld a, [hli]
- cp $fd
+ cp SERIAL_PREAMBLE_BYTE
jr z, .loop
- cp $fe
+ cp SERIAL_NO_DATA_BYTE
jr z, .loop
dec hl
ret
@@ -1226,7 +1223,7 @@ LinkTrade_OTPartyMenu: ; 28803
ld [wMenuCursorX], a
ln a, 1, 0
ld [w2DMenuCursorOffsets], a
- ld a, $20
+ ld a, MENU_UNUSED_3
ld [w2DMenuFlags1], a
xor a
ld [w2DMenuFlags2], a
@@ -1238,7 +1235,7 @@ LinkTradeOTPartymonMenuLoop: ; 28835
jp z, LinkTradePartiesMenuMasterLoop
bit A_BUTTON_F, a
jr z, .not_a_button
- ld a, $1
+ ld a, INIT_ENEMYOT_LIST
ld [wInitListType], a
callfar InitList
ld hl, OTPartyMon1Species
@@ -1291,7 +1288,7 @@ LinkTrade_PlayerPartyMenu: ; 2888b
ld [wMenuCursorX], a
ln a, 1, 0
ld [w2DMenuCursorOffsets], a
- ld a, $20
+ ld a, MENU_UNUSED_3
ld [w2DMenuFlags1], a
xor a
ld [w2DMenuFlags2], a
@@ -1362,7 +1359,7 @@ Function28926: ; 28926
hlcoord 0, 15
ld b, 1
ld c, 18
- call Predef_LinkTextbox
+ call LinkTextboxAtHL
hlcoord 2, 16
ld de, .String_Stats_Trade
call PlaceString
@@ -1431,7 +1428,7 @@ Function28926: ; 28926
.show_stats
pop af
ld [wMenuCursorY], a
- ld a, $4
+ ld a, INIT_PLAYEROT_LIST
ld [wInitListType], a
callfar InitList
farcall LinkMonStatsScreen
@@ -1471,7 +1468,7 @@ Function28926: ; 28926
hlcoord 0, 12
ld b, 4
ld c, 18
- call Predef_LinkTextbox
+ call LinkTextboxAtHL
farcall Link_WaitBGMap
ld hl, .Text_CantTradeLastMon
bccoord 1, 14
@@ -1485,7 +1482,7 @@ Function28926: ; 28926
ld a, [wd003]
ld hl, OTPartySpecies
ld c, a
- ld b, $0
+ ld b, 0
add hl, bc
ld a, [hl]
ld [wd265], a
@@ -1493,7 +1490,7 @@ Function28926: ; 28926
hlcoord 0, 12
ld b, 4
ld c, 18
- call Predef_LinkTextbox
+ call LinkTextboxAtHL
farcall Link_WaitBGMap
ld hl, .Text_Abnormal
bccoord 1, 14
@@ -1503,7 +1500,7 @@ Function28926: ; 28926
hlcoord 0, 12
ld b, 4
ld c, 18
- call Predef_LinkTextbox
+ call LinkTextboxAtHL
hlcoord 1, 14
ld de, String_TooBadTheTradeWasCanceled
call PlaceString
@@ -1590,15 +1587,14 @@ Function28b22: ; 28b22
xor a
ld [rSB], a
ld [hSerialSend], a
- ld a, $1
+ ld a, (0 << rSC_ON) | 1
ld [rSC], a
- ld a, $81
+ ld a, (1 << rSC_ON) | 1
ld [rSC], a
ret
; 28b42
-Function28b42: ; 28b42
-; unreferenced
+Unreferenced_Function28b42: ; 28b42
hlcoord 0, 16
ld a, "┘"
ld bc, 2 * SCREEN_WIDTH
@@ -1647,26 +1643,26 @@ LinkTrade: ; 28b87
ld [wcf57], a
ld [wOtherPlayerLinkAction], a
hlcoord 0, 12
- ld b, $4
- ld c, $12
- call Predef_LinkTextbox
+ ld b, 4
+ ld c, 18
+ call LinkTextboxAtHL
farcall Link_WaitBGMap
ld a, [wd002]
ld hl, PartySpecies
ld c, a
- ld b, $0
+ ld b, 0
add hl, bc
ld a, [hl]
ld [wd265], a
call GetPokemonName
ld hl, StringBuffer1
ld de, wd004
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
ld a, [wd003]
ld hl, OTPartySpecies
ld c, a
- ld b, $0
+ ld b, 0
add hl, bc
ld a, [hl]
ld [wd265], a
@@ -1678,7 +1674,7 @@ LinkTrade: ; 28b87
hlcoord 10, 7
ld b, 3
ld c, 7
- call Predef_LinkTextbox
+ call LinkTextboxAtHL
ld de, String28eab
hlcoord 12, 8
call PlaceString
@@ -1718,7 +1714,7 @@ LinkTrade: ; 28b87
hlcoord 0, 12
ld b, 4
ld c, 18
- call Predef_LinkTextbox
+ call LinkTextboxAtHL
hlcoord 1, 14
ld de, String_TooBadTheTradeWasCanceled
call PlaceString
@@ -1735,7 +1731,7 @@ LinkTrade: ; 28b87
hlcoord 0, 12
ld b, 4
ld c, 18
- call Predef_LinkTextbox
+ call LinkTextboxAtHL
hlcoord 1, 14
ld de, String_TooBadTheTradeWasCanceled
call PlaceString
@@ -1757,7 +1753,7 @@ LinkTrade: ; 28b87
.asm_28c96
inc c
ld a, c
- cp $6
+ cp PARTY_LENGTH
jr z, .asm_28ca6
push bc
ld bc, MAIL_STRUCT_LENGTH
@@ -1786,7 +1782,7 @@ LinkTrade: ; 28b87
call CopyBytes
ld a, [wd002]
ld hl, PartySpecies
- ld b, $0
+ ld b, 0
ld c, a
add hl, bc
ld a, [hl]
@@ -1826,7 +1822,7 @@ LinkTrade: ; 28b87
call CopyBytes
ld a, [wd003]
ld hl, OTPartySpecies
- ld b, $0
+ ld b, 0
ld c, a
add hl, bc
ld a, [hl]
@@ -1862,7 +1858,7 @@ LinkTrade: ; 28b87
ld a, [wd002]
ld [CurPartyMon], a
ld hl, PartySpecies
- ld b, $0
+ ld b, 0
ld c, a
add hl, bc
ld a, [hl]
@@ -1873,12 +1869,12 @@ LinkTrade: ; 28b87
ld a, [PartyCount]
dec a
ld [CurPartyMon], a
- ld a, $1
+ ld a, TRUE
ld [wForceEvolution], a
ld a, [wd003]
push af
ld hl, OTPartySpecies
- ld b, $0
+ ld b, 0
ld c, a
add hl, bc
ld a, [hl]
@@ -1889,8 +1885,8 @@ LinkTrade: ; 28b87
call LoadFontsBattleExtra
ld b, SCGB_DIPLOMA
call GetSGBLayout
- ld a, [hLinkPlayerNumber]
- cp $1
+ ld a, [hSerialConnectionStatus]
+ cp USING_EXTERNAL_CLOCK
jr z, .player_2
predef TradeAnimation
jr .done_animation
@@ -1903,7 +1899,7 @@ LinkTrade: ; 28b87
ld c, a
ld [CurPartyMon], a
ld hl, OTPartySpecies
- ld d, $0
+ ld d, 0
ld e, a
add hl, de
ld a, [hl]
@@ -1944,7 +1940,7 @@ LinkTrade: ; 28b87
ld a, b
ld [wPlayerLinkAction], a
push bc
- call Function862
+ call Serial_PrintWaitingTextAndSyncAndExchangeNybble
pop bc
ld a, [wLinkMode]
cp LINK_TIMECAPSULE
@@ -1958,14 +1954,14 @@ LinkTrade: ; 28b87
.save
farcall SaveAfterLinkTrade
- farcall TrainerRankings_Trades
+ farcall StubbedTrainerRankings_Trades
farcall BackupMobileEventIndex
ld c, 40
call DelayFrames
hlcoord 0, 12
ld b, 4
ld c, 18
- call Predef_LinkTextbox
+ call LinkTextboxAtHL
hlcoord 1, 14
ld de, String28ebd
call PlaceString
@@ -2002,7 +1998,7 @@ String_TooBadTheTradeWasCanceled: ; 28ece
next "was canceled!@"
-Predef_LinkTextbox: ; 28eef
+LinkTextboxAtHL: ; 28eef
ld d, h
ld e, l
farcall LinkTextbox
@@ -2020,16 +2016,15 @@ SetTradeRoomBGPals: ; 28eff
ret
; 28f09
-Function28f09: ; 28f09
-; unreferenced
+Unreferenced_Function28f09: ; 28f09
hlcoord 0, 0
ld b, 6
ld c, 18
- call Predef_LinkTextbox
+ call LinkTextboxAtHL
hlcoord 0, 8
ld b, 6
ld c, 18
- call Predef_LinkTextbox
+ call LinkTextboxAtHL
farcall PlaceTradePartnerNamesAndParty
ret
; 28f24
@@ -2045,12 +2040,12 @@ Special_CheckTimeCapsuleCompatibility: ; 29bfb
; If any party Pokemon was introduced in the generation 2 games, don't let it in.
ld hl, PartySpecies
- ld b, PARTY_LENGTH ; 6
+ ld b, PARTY_LENGTH
.loop
ld a, [hli]
cp -1
jr z, .checkitem
- cp CHIKORITA ; MEW + 1 ; 151 + 1
+ cp JOHTO_POKEMON
jr nc, .mon_too_new
dec b
jr nz, .loop
@@ -2122,7 +2117,7 @@ Function29c67: ; 29c67
sub b
ld c, a
inc c
- ld b, $0
+ ld b, 0
ld hl, PartyCount
add hl, bc
ld a, [hl]
@@ -2145,28 +2140,28 @@ Special_EnterTimeCapsule: ; 29c7b
ret
; 29c92
-WaitForOtherPlayerToExit: ; 29c92
+Special_WaitForOtherPlayerToExit: ; 29c92
ld c, 3
call DelayFrames
- ld a, -1
- ld [hLinkPlayerNumber], a
+ ld a, CONNECTION_NOT_ESTABLISHED
+ ld [hSerialConnectionStatus], a
xor a
ld [rSB], a
ld [hSerialReceive], a
- ld a, $1
+ ld a, (0 << rSC_ON) | 1
ld [rSC], a
- ld a, $81
+ ld a, (1 << rSC_ON) | 1
ld [rSC], a
ld c, 3
call DelayFrames
xor a
ld [rSB], a
ld [hSerialReceive], a
- ld a, $0
+ ld a, (0 << rSC_ON) | 0
ld [rSC], a
- ld a, $80
+ ld a, (1 << rSC_ON) | 0
ld [rSC], a
- ld c, $3
+ ld c, 3
call DelayFrames
xor a
ld [rSB], a
@@ -2174,8 +2169,8 @@ WaitForOtherPlayerToExit: ; 29c92
ld [rSC], a
ld c, 3
call DelayFrames
- ld a, -1
- ld [hLinkPlayerNumber], a
+ ld a, CONNECTION_NOT_ESTABLISHED
+ ld [hSerialConnectionStatus], a
ld a, [rIF]
push af
xor a
@@ -2212,9 +2207,9 @@ Special_SetBitsForTimeCapsuleRequest: ; 29cfa
ld [rSB], a
xor a
ld [hSerialReceive], a
- ld a, $0
+ ld a, (0 << rSC_ON) | 0
ld [rSC], a
- ld a, $80
+ ld a, (1 << rSC_ON) | 0
ld [rSC], a
xor a ; LINK_TIMECAPSULE - 1
ld [wPlayerLinkAction], a
@@ -2230,9 +2225,9 @@ Special_WaitForLinkedFriend: ; 29d11
ld [rSB], a
xor a
ld [hSerialReceive], a
- ld a, $0
+ ld a, (0 << rSC_ON) | 0
ld [rSC], a
- ld a, $80
+ ld a, (1 << rSC_ON) | 0
ld [rSC], a
call DelayFrame
call DelayFrame
@@ -2244,20 +2239,20 @@ Special_WaitForLinkedFriend: ; 29d11
ld a, $ff
ld [wLinkTimeoutFrames], a
.loop
- ld a, [hLinkPlayerNumber]
- cp $2
+ ld a, [hSerialConnectionStatus]
+ cp USING_INTERNAL_CLOCK
jr z, .connected
- cp $1
+ cp USING_EXTERNAL_CLOCK
jr z, .connected
- ld a, -1
- ld [hLinkPlayerNumber], a
+ ld a, CONNECTION_NOT_ESTABLISHED
+ ld [hSerialConnectionStatus], a
ld a, $2
ld [rSB], a
xor a
ld [hSerialReceive], a
- ld a, $0
+ ld a, (0 << rSC_ON) | 0
ld [rSC], a
- ld a, $80
+ ld a, (1 << rSC_ON) | 0
ld [rSC], a
ld a, [wLinkTimeoutFrames]
dec a
@@ -2271,9 +2266,9 @@ Special_WaitForLinkedFriend: ; 29d11
.not_done
ld a, $1
ld [rSB], a
- ld a, $1
+ ld a, (0 << rSC_ON) | 1
ld [rSC], a
- ld a, $81
+ ld a, (1 << rSC_ON) | 1
ld [rSC], a
call DelayFrame
jr .loop
@@ -2366,7 +2361,7 @@ Function29dba: ; 29dba
Link_CheckCommunicationError: ; 29e0c
xor a
- ld [hFFCA], a
+ ld [hSerialReceivedNewData], a
ld a, [wLinkTimeoutFrames]
ld h, a
ld a, [wLinkTimeoutFrames + 1]
@@ -2418,7 +2413,7 @@ Link_CheckCommunicationError: ; 29e0c
.ConvertDW: ; 29e53
; [wLinkTimeoutFrames] = ((hl - $100) / 4) + $100
- ; = (hl / 4) + $c0
+ ; = (hl / 4) + $c0
dec h
srl h
rr l
@@ -2436,9 +2431,9 @@ Special_TryQuickSave: ; 29e66
ld a, [wd265]
push af
farcall Link_SaveGame
- ld a, $1
+ ld a, TRUE
jr nc, .return_result
- xor a
+ xor a ; FALSE
.return_result
ld [ScriptVar], a
ld c, 30
@@ -2465,12 +2460,12 @@ Special_CheckBothSelectedSameRoom: ; 29e82
ld [wLinkMode], a
xor a
ld [hVBlank], a
- ld a, $1
+ ld a, TRUE
ld [ScriptVar], a
ret
.fail
- xor a
+ xor a ; FALSE
ld [ScriptVar], a
ret
; 29eaf
@@ -2526,8 +2521,8 @@ Special_FailedLinkToPast: ; 29efa
Link_ResetSerialRegistersAfterLinkClosure: ; 29f04
ld c, 3
call DelayFrames
- ld a, -1
- ld [hLinkPlayerNumber], a
+ ld a, CONNECTION_NOT_ESTABLISHED
+ ld [hSerialConnectionStatus], a
ld a, $2
ld [rSB], a
xor a
@@ -2545,7 +2540,7 @@ Link_EnsureSync: ; 29f17
call DelayFrame
call DelayFrame
.receive_loop
- call Function83b
+ call Serial_ExchangeLinkMenuSelection
ld a, [wOtherPlayerLinkMode]
ld b, a
and $f0
@@ -2566,28 +2561,27 @@ Link_EnsureSync: ; 29f17
; 29f47
Special_CableClubCheckWhichChris: ; 29f47
- ld a, [hLinkPlayerNumber]
- cp $1
- ld a, $1
+ ld a, [hSerialConnectionStatus]
+ cp USING_EXTERNAL_CLOCK
+ ld a, TRUE
jr z, .yes
- dec a
+ dec a ; FALSE
.yes
ld [ScriptVar], a
ret
; 29f54
-UnusedGen1LinkCommsBorderGFX: ; 29f54
-; unreferenced
+Unreferenced_Gen1LinkCommsBorderGFX: ; 29f54
INCBIN "gfx/trade/unused_gen_1_border_tiles.2bpp"
; 29fe4
-Function29fe4: ; unreferenced
+Unreferenced_Function29fe4:
ld a, BANK(sPartyMail)
call GetSRAMBank
- ld d, $0
+ ld d, FALSE
ld b, CHECK_FLAG
- predef FlagPredef
+ predef SmallFarFlagAction
call CloseSRAM
ld a, c
and a
diff --git a/engine/link_2.asm b/engine/link_2.asm
index 72e5262b3..866126cd2 100644
--- a/engine/link_2.asm
+++ b/engine/link_2.asm
@@ -30,13 +30,14 @@ LinkTextbox2: ; 4d35b
call .PlaceBorder
pop hl
pop bc
+
ld de, AttrMap - TileMap
add hl, de
inc b
inc b
inc c
inc c
- ld a, $7
+ ld a, PAL_BG_TEXT
.row
push bc
push hl
@@ -51,6 +52,7 @@ LinkTextbox2: ; 4d35b
dec b
jr nz, .row
ret
+; 4d37e
.PlaceBorder: ; 4d37e
push hl
@@ -75,12 +77,14 @@ LinkTextbox2: ; 4d35b
add hl, de
dec b
jr nz, .loop
+
ld a, "┐"
ld [hli], a
ld a, "│"
call .PlaceRow
ld [hl], "└"
ret
+; 4d3ab
.PlaceRow: ; 4d3ab
ld d, c
diff --git a/engine/link_trade.asm b/engine/link_trade.asm
index f85403a29..504dc6d95 100755
--- a/engine/link_trade.asm
+++ b/engine/link_trade.asm
@@ -48,7 +48,7 @@ _LinkTextbox: ; 16d61d
ld l, e
push bc
push hl
- call .draw_border
+ call .PlaceBorder
pop hl
pop bc
@@ -58,7 +58,7 @@ _LinkTextbox: ; 16d61d
inc b
inc c
inc c
- ld a, $7
+ ld a, PAL_BG_TEXT
.row
push bc
push hl
@@ -75,12 +75,12 @@ _LinkTextbox: ; 16d61d
ret
; 16d640
-.draw_border ; 16d640
+.PlaceBorder ; 16d640
push hl
ld a, $30
ld [hli], a
inc a
- call .fill_row
+ call .PlaceRow
inc a
ld [hl], a
pop hl
@@ -91,7 +91,7 @@ _LinkTextbox: ; 16d61d
ld a, $33
ld [hli], a
ld a, " "
- call .fill_row
+ call .PlaceRow
ld [hl], $34
pop hl
ld de, SCREEN_WIDTH
@@ -102,17 +102,17 @@ _LinkTextbox: ; 16d61d
ld a, $35
ld [hli], a
ld a, $36
- call .fill_row
+ call .PlaceRow
ld [hl], $37
ret
; 16d66d
-.fill_row ; 16d66d
+.PlaceRow ; 16d66d
ld d, c
-.loop4
+.row_loop
ld [hli], a
dec d
- jr nz, .loop4
+ jr nz, .row_loop
ret
; 16d673
@@ -181,7 +181,7 @@ Function16d6e1: ; 16d6e1
hlcoord 4, 10
ld b, 1
ld c, 10
- predef Predef_LinkTextbox
+ predef LinkTextboxAtHL
hlcoord 5, 11
ld de, .Waiting
call PlaceString
@@ -283,7 +283,7 @@ LinkTradeMenu: ; 16d70c
ld [hl], a
push hl
push bc
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
add hl, bc
ld [hl], a
pop bc
@@ -335,7 +335,7 @@ LinkTradeMenu: ; 16d70c
ld [hl], $1f
push hl
push bc
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
add hl, bc
ld [hl], $1f
pop bc
diff --git a/engine/load_font.asm b/engine/load_font.asm
new file mode 100644
index 000000000..345fa6ff6
--- /dev/null
+++ b/engine/load_font.asm
@@ -0,0 +1,156 @@
+INCLUDE "gfx/font.asm"
+
+; This and the following two functions are unreferenced.
+; Debug, perhaps?
+Unreferenced_fb434:
+ db 0
+
+Unreferenced_Functionfb435: ; 4b435
+ ld a, [Unreferenced_fb434]
+ and a
+ jp nz, Get1bpp_2
+ jp Get1bpp
+; fb43f
+
+Unreferenced_Functionfb43f: ; fb43f
+ ld a, [Unreferenced_fb434]
+ and a
+ jp nz, Get2bpp_2
+ jp Get2bpp
+; End unreferenced block
+; fb449
+
+_LoadStandardFont:: ; fb449
+ ld de, Font
+ ld hl, vTiles1
+ lb bc, BANK(Font), 128 ; "A" to "9"
+ ld a, [rLCDC]
+ bit rLCDC_ENABLE, a
+ jp z, Copy1bpp
+
+ ld de, Font
+ ld hl, vTiles1
+ lb bc, BANK(Font), 32 ; "A" to "]"
+ call Get1bpp_2
+ ld de, Font + 32 * LEN_1BPP_TILE
+ ld hl, vTiles1 tile $20
+ lb bc, BANK(Font), 32 ; "a" to $bf
+ call Get1bpp_2
+ ld de, Font + 64 * LEN_1BPP_TILE
+ ld hl, vTiles1 tile $40
+ lb bc, BANK(Font), 32 ; "Ä" to "←"
+ call Get1bpp_2
+ ld de, Font + 96 * LEN_1BPP_TILE
+ ld hl, vTiles1 tile $60
+ lb bc, BANK(Font), 32 ; "'" to "9"
+ call Get1bpp_2
+ ret
+; fb48a
+
+_LoadFontsExtra1:: ; fb48a
+ ld de, FontsExtra_SolidBlackGFX
+ ld hl, vTiles2 tile "■" ; $60
+ lb bc, BANK(FontsExtra_SolidBlackGFX), 1
+ call Get1bpp_2
+ ld de, PokegearPhoneIconGFX
+ ld hl, vTiles2 tile "☎" ; $62
+ lb bc, BANK(PokegearPhoneIconGFX), 1
+ call Get2bpp_2
+ ld de, FontExtra + 3 tiles ; "<BOLD_D>"
+ ld hl, vTiles2 tile "<BOLD_D>"
+ lb bc, BANK(FontExtra), 22 ; "<BOLD_D>" to "ぉ"
+ call Get2bpp_2
+ jr LoadFrame
+; fb4b0
+
+_LoadFontsExtra2:: ; fb4b0
+ ld de, FontsExtra2_UpArrowGFX
+ ld hl, vTiles2 tile "▲" ; $61
+ ld b, BANK(FontsExtra2_UpArrowGFX)
+ ld c, 1
+ call Get2bpp_2
+ ret
+; fb4be
+
+_LoadFontsBattleExtra:: ; fb4be
+ ld de, FontBattleExtra
+ ld hl, vTiles2 tile $60
+ lb bc, BANK(FontBattleExtra), 25
+ call Get2bpp_2
+ jr LoadFrame
+; fb4cc
+
+LoadFrame: ; fb4cc
+ ld a, [TextBoxFrame]
+ maskbits NUM_FRAMES
+ ld bc, 6 * LEN_1BPP_TILE
+ ld hl, Frames
+ call AddNTimes
+ ld d, h
+ ld e, l
+ ld hl, vTiles2 tile "┌" ; $79
+ lb bc, BANK(Frames), 6 ; "┌" to "┘"
+ call Get1bpp_2
+ ld hl, vTiles2 tile " " ; $7f
+ ld de, TextBoxSpaceGFX
+ lb bc, BANK(TextBoxSpaceGFX), 1
+ call Get1bpp_2
+ ret
+; fb4f2
+
+LoadBattleFontsHPBar: ; fb4f2
+ ld de, FontBattleExtra
+ ld hl, vTiles2 tile $60
+ lb bc, BANK(FontBattleExtra), 12
+ call Get2bpp_2
+ ld hl, vTiles2 tile $70
+ ld de, FontBattleExtra + 16 tiles ; "<DO>"
+ lb bc, BANK(FontBattleExtra), 3 ; "<DO>" to "『"
+ call Get2bpp_2
+ call LoadFrame
+
+LoadHPBar: ; fb50d
+ ld de, EnemyHPBarBorderGFX
+ ld hl, vTiles2 tile $6c
+ lb bc, BANK(EnemyHPBarBorderGFX), 4
+ call Get1bpp_2
+ ld de, HPExpBarBorderGFX
+ ld hl, vTiles2 tile $73
+ lb bc, BANK(HPExpBarBorderGFX), 6
+ call Get1bpp_2
+ ld de, ExpBarGFX
+ ld hl, vTiles2 tile $55
+ lb bc, BANK(ExpBarGFX), 9
+ call Get2bpp_2
+ ld de, MobilePhoneTilesGFX + 7 tiles ; mobile phone icon
+ ld hl, vTiles2 tile $5e
+ lb bc, BANK(MobilePhoneTilesGFX), 2
+ call Get2bpp_2
+ ret
+; fb53e
+
+StatsScreen_LoadFont: ; fb53e
+ call _LoadFontsBattleExtra
+ ld de, EnemyHPBarBorderGFX
+ ld hl, vTiles2 tile $6c
+ lb bc, BANK(EnemyHPBarBorderGFX), 4
+ call Get1bpp_2
+ ld de, HPExpBarBorderGFX
+ ld hl, vTiles2 tile $78
+ lb bc, BANK(HPExpBarBorderGFX), 1
+ call Get1bpp_2
+ ld de, HPExpBarBorderGFX + 3 * LEN_1BPP_TILE
+ ld hl, vTiles2 tile $76
+ lb bc, BANK(HPExpBarBorderGFX), 2
+ call Get1bpp_2
+ ld de, ExpBarGFX
+ ld hl, vTiles2 tile $55
+ lb bc, BANK(ExpBarGFX), 8
+ call Get2bpp_2
+LoadStatsScreenPageTilesGFX: ; fb571
+ ld de, StatsScreenPageTilesGFX
+ ld hl, vTiles2 tile $31
+ lb bc, BANK(StatsScreenPageTilesGFX), 17
+ call Get2bpp_2
+ ret
+; fb57e
diff --git a/gfx/load_pics.asm b/engine/load_pics.asm
index 1d685f1dd..5d3becf42 100755
--- a/gfx/load_pics.asm
+++ b/engine/load_pics.asm
@@ -37,7 +37,7 @@ GetUnownLetter: ; 51040
ld [hDividend], a
ld [hDividend + 1], a
ld [hDividend + 2], a
- ld a, 10
+ ld a, $ff / NUM_UNOWN + 1
ld [hDivisor], a
ld b, 4
call Divide
@@ -60,7 +60,7 @@ GetMonFrontpic: ; 51077
ld [rSVBK], a
ret
-GetAnimatedFrontpicPredef: ; 5108b
+GetAnimatedFrontpic: ; 5108b
ld a, [CurPartySpecies]
ld [CurSpecies], a
call IsAPokemon
@@ -70,7 +70,7 @@ GetAnimatedFrontpicPredef: ; 5108b
xor a
ld [hBGMapMode], a
call _GetFrontpic
- call GetAnimatedFrontpic
+ call GetAnimatedEnemyFrontpic
pop af
ld [rSVBK], a
ret
@@ -131,7 +131,7 @@ GLOBAL PokemonPicPointers, UnownPicPointers
pop bc
ret
-GetAnimatedFrontpic: ; 51103
+GetAnimatedEnemyFrontpic: ; 51103
ld a, BANK(vTiles3)
ld [rVBK], a
push hl
@@ -184,12 +184,12 @@ LoadFrontpicTiles: ; 5114f
and $f0
ld c, a
push bc
- call LoadFrontpic
+ call LoadOrientedFrontpic
pop bc
.loop
push bc
- ld c, $0
- call LoadFrontpic
+ ld c, 0
+ call LoadOrientedFrontpic
pop bc
dec b
jr nz, .loop
@@ -206,12 +206,11 @@ GetMonBackpic: ; 5116c
ld c, a
ld a, [rSVBK]
push af
- ld a, $6
+ ld a, BANK(wDecompressScratch)
ld [rSVBK], a
push de
- ; These are assumed to be at the same
- ; address in their respective banks.
+ ; These are assumed to be at the same address in their respective banks.
GLOBAL PokemonPicPointers, UnownPicPointers
ld hl, PokemonPicPointers ; UnownPicPointers
ld a, b
@@ -327,7 +326,7 @@ GetTrainerPic: ; 5120d
call AddNTimes
ld a, [rSVBK]
push af
- ld a, $6
+ ld a, BANK(wDecompressScratch)
ld [rSVBK], a
push de
ld a, BANK(TrainerPicPointers)
@@ -353,12 +352,12 @@ GetTrainerPic: ; 5120d
ld [hBGMapMode], a
ret
-DecompressPredef: ; 5125d
+DecompressGet2bpp: ; 5125d
; Decompress lz data from b:hl to scratch space at 6:d000, then copy it to address de.
ld a, [rSVBK]
push af
- ld a, 6
+ ld a, BANK(wDecompressScratch)
ld [rSVBK], a
push de
@@ -394,8 +393,8 @@ FixBackpicAlignment: ; 5127c
.got_dims
ld a, [hl]
- ld b, $0
- ld c, $8
+ ld b, 0
+ ld c, 8
.loop
rra
rl b
@@ -414,6 +413,7 @@ FixBackpicAlignment: ; 5127c
ret
PadFrontpic: ; 512ab
+; pads frontpic to fill 7x7 box
ld a, b
cp 6
jr z, .six
@@ -422,7 +422,7 @@ PadFrontpic: ; 512ab
.seven_loop
ld c, $70
- call LoadFrontpic
+ call LoadOrientedFrontpic
dec b
jr nz, .seven_loop
ret
@@ -436,7 +436,7 @@ PadFrontpic: ; 512ab
xor a
call .Fill
ld c, $60
- call LoadFrontpic
+ call LoadOrientedFrontpic
dec b
jr nz, .six_loop
ret
@@ -450,7 +450,7 @@ PadFrontpic: ; 512ab
xor a
call .Fill
ld c, $50
- call LoadFrontpic
+ call LoadOrientedFrontpic
dec b
jr nz, .five_loop
ld c, $70
@@ -464,7 +464,7 @@ PadFrontpic: ; 512ab
jr nz, .Fill
ret
-LoadFrontpic: ; 512f2
+LoadOrientedFrontpic: ; 512f2
ld a, [wBoxAlignment]
and a
jr nz, .x_flip
@@ -483,10 +483,10 @@ LoadFrontpic: ; 512f2
inc de
ld b, a
xor a
- rept 8
+rept 8
rr b
rla
- endr
+endr
ld [hli], a
dec c
jr nz, .right_loop
diff --git a/engine/mail.asm b/engine/mail.asm
index 0335a6dfe..68b16fd10 100755
--- a/engine/mail.asm
+++ b/engine/mail.asm
@@ -128,7 +128,7 @@ CheckPokeItem:: ; 44654
push bc
push de
farcall SelectMonFromParty
- ld a, $2
+ ld a, POKEMAIL_REFUSED
jr c, .pop_return
ld a, [CurPartyMon]
@@ -137,7 +137,7 @@ CheckPokeItem:: ; 44654
call AddNTimes
ld d, [hl]
farcall ItemIsMail
- ld a, $3
+ ld a, POKEMAIL_NO_MAIL
jr nc, .pop_return
ld a, BANK(sPartyMail)
@@ -162,7 +162,7 @@ CheckPokeItem:: ; 44654
cp "@"
jr z, .done
cp c
- ld a, $0
+ ld a, POKEMAIL_WRONG_MAIL
jr nz, .close_sram_return
inc hl
inc de
@@ -173,12 +173,12 @@ CheckPokeItem:: ; 44654
.done
farcall CheckCurPartyMonFainted
- ld a, $4
+ ld a, POKEMAIL_LAST_MON
jr c, .close_sram_return
xor a
ld [wPokemonWithdrawDepositParameter], a
farcall RemoveMonFromPartyOrBox
- ld a, $1
+ ld a, POKEMAIL_CORRECT
.close_sram_return
call CloseSRAM
@@ -558,14 +558,13 @@ MailboxPC: ; 0x44806
ret
.TopMenuDataHeader: ; 0x4494c
- db %01000000 ; flags
- db 1, 8 ; start coords
- db 10, 18 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 8, 1, SCREEN_WIDTH - 2, 10
dw .TopMenuData2
db 1 ; default option
.TopMenuData2:
- db %00010000 ; flags
+ db SCROLLINGMENU_DISPLAY_ARROWS ; flags
db 4, 0 ; rows/columns?
db 1 ; horizontal spacing?
dbw 0, wMailboxCount ; text pointer
@@ -574,14 +573,13 @@ MailboxPC: ; 0x44806
dba NULL
.SubMenuDataHeader: ; 0x44964
- db %01000000 ; flags
- db 0, 0 ; start coords
- db 9, 13 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, 13, 9
dw .SubMenuData2
db 1 ; default option
.SubMenuData2:
- db %10000000 ; flags
+ db STATICMENU_CURSOR ; flags
db 4 ; items
db "READ MAIL@"
db "PUT IN PACK@"
diff --git a/engine/mail_2.asm b/engine/mail_2.asm
index d66bbbbd7..4450063a4 100755
--- a/engine/mail_2.asm
+++ b/engine/mail_2.asm
@@ -69,7 +69,7 @@ ReadAnyMail: ; b9237
ld h, d
ld l, e
push hl
- ld a, $0
+ ld a, BANK(sPartyMail)
call GetSRAMBank
ld de, sPartyMon1MailAuthorID - sPartyMon1Mail
add hl, de
@@ -725,8 +725,7 @@ MailGFX_PlaceMessage: ; b9803
jp PlaceString
; b984e
-Functionb984e: ; b984e
-; XXX
+Unreferenced_Functionb984e: ; b984e
.loop
ld a, [hl]
xor $ff
diff --git a/engine/main_menu.asm b/engine/main_menu.asm
index cbd516cd7..f82c6072a 100755
--- a/engine/main_menu.asm
+++ b/engine/main_menu.asm
@@ -30,15 +30,14 @@ MainMenu: ; 49cdc
; 49d14
.MenuDataHeader: ; 49d14
- db $40 ; flags
- db 00, 00 ; start coords
- db 07, 16 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, 16, 7
dw .MenuData2
db 1 ; default option
; 49d1c
.MenuData2: ; 49d1c
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 0 ; items
dw MainMenuItems
dw PlaceMenuStrings
@@ -279,7 +278,7 @@ MainMenu_PrintCurrentTimeAndDay: ; 49e09
ret
.min
-; unreferenced
+; unused
db "min.@"
; 49e75
diff --git a/engine/map_objects.asm b/engine/map_objects.asm
index fe3c13a13..00ce599e3 100644
--- a/engine/map_objects.asm
+++ b/engine/map_objects.asm
@@ -1,6 +1,6 @@
-INCLUDE "data/facings.asm"
+INCLUDE "data/sprites/facings.asm"
-INCLUDE "data/map_objects.asm"
+INCLUDE "data/sprites/map_objects.asm"
; 4357
@@ -392,6 +392,7 @@ StepVectors: ; 4700
db -4, 0, 4, 4
db 4, 0, 4, 4
; 4730
+
GetStepVectorSign: ; 4730
add a
ret z ; 0 or 128
@@ -400,6 +401,7 @@ GetStepVectorSign: ; 4730
ld a, -1
ret ; 129 - 255
; 4738
+
UpdatePlayerStep: ; 4738
ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
@@ -418,8 +420,7 @@ UpdatePlayerStep: ; 4738
ret
; 4759
-Function4759: ; 4759
-; unreferenced
+Unreferenced_Function4759: ; 4759
push bc
ld e, a
ld d, 0
@@ -892,7 +893,7 @@ MapObjectMovementPattern: ; 47dd
ld hl, OBJECT_DIRECTION_WALKING
add hl, de
ld a, [hl]
- and 3
+ maskbits NUM_DIRECTIONS
ld d, 1 * 8 + 6
cp DOWN
jr z, .ok_13
@@ -1571,7 +1572,7 @@ StepType05: ; 4e0c
ld [hl], a
call IncrementObjectStructField1c
StepType04: ; 4e21
- call MobileFn_4fb2
+ call Stubbed_Function4fb2
ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld [hl], STANDING
@@ -1579,7 +1580,7 @@ StepType04: ; 4e21
; 4e2b
NPCStep: ; 4e2b
- call MobileFn_4fb2
+ call Stubbed_Function4fb2
call AddStepVector
ld hl, OBJECT_STEP_DURATION
add hl, bc
@@ -1842,7 +1843,8 @@ SkyfallTop: ; 4f83
ret
; 4fb2
-MobileFn_4fb2: mobile
+Stubbed_Function4fb2:
+ ret
ld hl, OBJECT_1D
add hl, bc
inc [hl]
@@ -2087,6 +2089,7 @@ SpawnShadow: ; 5529
; vtile, palette, movement
db $00, PAL_OW_SILVER, SPRITEMOVEDATA_SHADOW
; 5538
+
SpawnStrengthBoulderDust: ; 5538
push bc
ld de, .BoulderDustObject
@@ -2098,6 +2101,7 @@ SpawnStrengthBoulderDust: ; 5538
.BoulderDustObject:
db $00, PAL_OW_SILVER, SPRITEMOVEDATA_BOULDERDUST
; 5547
+
SpawnEmote: ; 5547
push bc
ld de, .EmoteObject
@@ -2109,6 +2113,7 @@ SpawnEmote: ; 5547
.EmoteObject:
db $00, PAL_OW_SILVER, SPRITEMOVEDATA_EMOTE
; 5556
+
ShakeGrass: ; 5556
push bc
ld de, .data_5562
@@ -2120,6 +2125,7 @@ ShakeGrass: ; 5556
.data_5562
db $00, PAL_OW_TREE, SPRITEMOVEDATA_GRASS
; 5565
+
ShakeScreen: ; 5565
push bc
push af
@@ -2357,7 +2363,7 @@ Function56a3: ; 56a3
cp d
jr z, .equal_x
jr nc, .nope
- add $b
+ add MAPOBJECT_SCREEN_WIDTH - 1
cp d
jr c, .nope
.equal_x
@@ -2365,7 +2371,7 @@ Function56a3: ; 56a3
cp e
jr z, .equal_y
jr nc, .nope
- add $a
+ add MAPOBJECT_SCREEN_HEIGHT - 1
cp e
jr c, .nope
.equal_y
@@ -2404,7 +2410,7 @@ Function56cd: ; 56cd
srl a
cp SCREEN_WIDTH
jr c, .ok3
- sub $20
+ sub BG_MAP_WIDTH
.ok3
ld [hUsedSpriteIndex], a
ld a, [wPlayerBGMapOffsetY]
@@ -2431,9 +2437,9 @@ Function56cd: ; 56cd
srl a
srl a
srl a
- cp $12
+ cp SCREEN_HEIGHT
jr c, .ok6
- sub $20
+ sub BG_MAP_HEIGHT
.ok6
ld [hUsedSpriteTile], a
ld hl, OBJECT_PALETTE
@@ -2455,21 +2461,23 @@ Function56cd: ; 56cd
ld a, [hUsedSpriteTile]
add e
dec a
- cp $12
+ cp SCREEN_HEIGHT
jr nc, .ok9
ld b, a
.next
ld a, [hUsedSpriteIndex]
add d
dec a
- cp $14
+ cp SCREEN_WIDTH
jr nc, .ok8
ld c, a
push bc
call Coord2Tile
pop bc
+; NPCs disappear if standing on tile $60-$7f (or $e0-$ff),
+; since those IDs are for text characters and textbox frames.
ld a, [hl]
- cp $60
+ cp FIRST_REGULAR_TEXT_CHAR
jr nc, .nope
.ok8
dec d
@@ -2793,6 +2801,7 @@ Function5903: ; 5903
db SPRITEMOVEDATA_STANDING_LEFT
db SPRITEMOVEDATA_STANDING_RIGHT
; 5920
+
_UpdateSprites:: ; 5920
ld a, [VramState]
bit 0, a
@@ -2814,18 +2823,18 @@ _UpdateSprites:: ; 5920
bit 1, a
ld b, LOW(SpritesEnd)
jr z, .ok
- ld b, 28 * 4
+ ld b, 28 * SPRITEOAMSTRUCT_LENGTH
.ok
ld a, [hUsedSpriteIndex]
cp b
ret nc
ld l, a
ld h, HIGH(Sprites)
- ld de, 4
+ ld de, SPRITEOAMSTRUCT_LENGTH
ld a, b
- ld c, SCREEN_HEIGHT_PX + 16
+ ld c, SCREEN_HEIGHT_PX + 2 * TILE_WIDTH
.loop
- ld [hl], c
+ ld [hl], c ; y
add hl, de
cp l
jr nz, .loop
@@ -2873,10 +2882,12 @@ ApplyBGMapAnchorToObjects: ; 5958
ret
; 5991
-InitSprites: ; 5991
+
PRIORITY_LOW EQU $10
PRIORITY_NORM EQU $20
PRIORITY_HIGH EQU $30
+
+InitSprites: ; 5991
call .DeterminePriorities
ld c, PRIORITY_HIGH
call .InitSpritesByPriority
@@ -3042,12 +3053,12 @@ PRIORITY_HIGH EQU $30
ld a, [hFFC0]
add [hl]
inc hl
- ld [bc], a
+ ld [bc], a ; y
inc c
ld a, [hFFBF]
add [hl]
inc hl
- ld [bc], a
+ ld [bc], a ; x
inc c
ld e, [hl]
inc hl
@@ -3058,7 +3069,7 @@ PRIORITY_HIGH EQU $30
.nope1
add [hl]
inc hl
- ld [bc], a
+ ld [bc], a ; tile id
inc c
ld a, e
bit 1, a
@@ -3066,9 +3077,9 @@ PRIORITY_HIGH EQU $30
ld a, [hFFC2]
or e
.nope2
- and %11110000
+ and OBP_NUM | X_FLIP | Y_FLIP | PRIORITY
or d
- ld [bc], a
+ ld [bc], a ; attributes
inc c
ld a, [hUsedSpriteTile]
dec a
diff --git a/engine/map_setup.asm b/engine/map_setup.asm
index 078e6a2fd..b3905b71e 100644
--- a/engine/map_setup.asm
+++ b/engine/map_setup.asm
@@ -79,7 +79,7 @@ MapSetupCommands: ; 15440
dba LoadGraphics ; 0e
dba LoadTileset ; 0f
dba LoadMapTimeOfDay ; 10
- dba LoadMapPalettes ; 11
+ dba Special_LoadMapPalettes ; 11
dba LoadWildMonData ; 12
dba RefreshMapSprites ; 13
dba HandleNewMap ; 14
@@ -91,8 +91,8 @@ MapSetupCommands: ; 15440
dba LoadMapAttributes ; 1a
dba LoadMapAttributes_SkipPeople ; 1b
dba ClearBGPalettes ; 1c
- dba FadeOutPalettes ; 1d
- dba FadeInPalettes ; 1e
+ dba Special_FadeOutPalettes ; 1d
+ dba Special_FadeInPalettes ; 1e
dba GetCoordOfUpperLeftCorner ; 1f
dba RestoreFacingAfterWarp ; 20
dba SpawnInFacingDown ; 21
@@ -137,7 +137,7 @@ LoadObjectsRunCallback_02: ; 154d7
ret
; 154ea (5:54ea)
-; unreferenced
+; unused
ret
; 154eb
diff --git a/tilesets/roofs.asm b/engine/mapgroup_roofs.asm
index 72999efc6..2cd734234 100644
--- a/tilesets/roofs.asm
+++ b/engine/mapgroup_roofs.asm
@@ -5,13 +5,13 @@ LoadMapGroupRoof:: ; 1c000
ld hl, MapGroupRoofs
add hl, de
ld a, [hl]
- cp $ff
+ cp -1
ret z
ld hl, Roofs
- ld bc, $90
+ ld bc, 9 tiles
call AddNTimes
ld de, vTiles2 tile $0a
- ld bc, $90
+ ld bc, 9 tiles
call CopyBytes
ret
; 1c021
diff --git a/engine/mart.asm b/engine/mart.asm
index 4a8d9e17b..d4c0b623b 100755
--- a/engine/mart.asm
+++ b/engine/mart.asm
@@ -443,7 +443,7 @@ GetMartDialogGroup: ; 15ca3
BuyMenuLoop: ; 15cef
- farcall PlaceMoneyTopRight
+ farcall Special_PlaceMoneyTopRight
call UpdateSprites
ld hl, MenuDataHeader_Buy
call CopyMenuDataHeader
@@ -617,15 +617,14 @@ Text_Mart_CostsThisMuch: ; 0x15e13
; 0x15e18
MenuDataHeader_Buy: ; 0x15e18
- db $40 ; flags
- db 03, 01 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 1, 3, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .menudata2
db 1 ; default option
; 0x15e20
.menudata2 ; 0x15e20
- db $30 ; pointers
+ db SCROLLINGMENU_DISPLAY_ARROWS | SCROLLINGMENU_ENABLE_FUNCTION3 ; flags
db 4, 8 ; rows, columns
db 1 ; horizontal spacing
dbw 0, CurMart
@@ -785,7 +784,7 @@ SellMenu: ; 15eb3
farcall DepositSellInitPackBuffers
.loop
farcall DepositSellPack
- ld a, [wcf66]
+ ld a, [wPackUsedItem]
and a
jp z, .quit
call .TryToSellItem
@@ -797,7 +796,7 @@ SellMenu: ; 15eb3
ret
; 15ed3
-.NothingToSell: ; unreferenced
+.Unreferenced_NothingToSell:
ld hl, .NothingToSellText
call MenuTextBoxBackup
and a
@@ -892,8 +891,8 @@ Text_Mart_ICanPayThisMuch: ; 0x15f78
db "@"
; 0x15f7d
-DummyString ; 15f7d
- db "!ダミー!@"
+.UnusedString15f7d: ; 15f7d
+ db "!ダミー!@"
Text_Mart_HowMayIHelpYou: ; 0x15f83
; Welcome! How may I help you?
@@ -902,15 +901,14 @@ Text_Mart_HowMayIHelpYou: ; 0x15f83
; 0x15f88
MenuDataHeader_BuySell: ; 0x15f88
- db $40 ; flags
- db 00, 00 ; start coords
- db 08, 07 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, 7, 8
dw .menudata2
db 1 ; default option
; 0x15f90
.menudata2 ; 0x15f90
- db $80 ; strings
+ db STATICMENU_CURSOR ; strings
db 3 ; items
db "BUY@"
db "SELL@"
diff --git a/engine/menu.asm b/engine/menu.asm
index 6fbed2848..802bece08 100755
--- a/engine/menu.asm
+++ b/engine/menu.asm
@@ -110,14 +110,14 @@ Mobile_GetMenuSelection: ; 24098
ret
; 240cd
-GetMenuNumberOfColumns: ; 240cd
- ld a, [wMenuData2Items]
+Get2DMenuNumberOfColumns: ; 240cd
+ ld a, [wMenuData2_2DMenuDimensions]
and $f
ret
; 240d3
-GetMenuNumberOfRows: ; 240d3
- ld a, [wMenuData2Items]
+Get2DMenuNumberOfRows: ; 240d3
+ ld a, [wMenuData2_2DMenuDimensions]
swap a
and $f
ret
@@ -130,19 +130,19 @@ Place2DMenuItemStrings: ; 240db
ld d, [hl]
call GetMenuTextStartCoord
call Coord2Tile
- call GetMenuNumberOfRows
+ call Get2DMenuNumberOfRows
ld b, a
.row
push bc
push hl
- call GetMenuNumberOfColumns
+ call Get2DMenuNumberOfColumns
ld c, a
.col
push bc
ld a, [wMenuData2_2DMenuItemStringsBank]
call Place2DMenuItemName
inc de
- ld a, [wMenuData2Spacing]
+ ld a, [wMenuData2_2DMenuSpacing]
ld c, a
ld b, 0
add hl, bc
@@ -174,9 +174,9 @@ Init2DMenuCursorPosition: ; 2411a (9:411a)
dec c
ld a, c
ld [w2DMenuCursorInitX], a
- call GetMenuNumberOfRows
+ call Get2DMenuNumberOfRows
ld [w2DMenuNumRows], a
- call GetMenuNumberOfColumns
+ call Get2DMenuNumberOfColumns
ld [w2DMenuNumCols], a
call .InitFlags_a
call .InitFlags_b
@@ -238,7 +238,7 @@ Init2DMenuCursorPosition: ; 2411a (9:411a)
; 2418a
.InitFlags_b: ; 2418a
- ld a, [wMenuData2Spacing]
+ ld a, [wMenuData2_2DMenuSpacing]
or $20
ld [w2DMenuCursorOffsets], a
ret
@@ -291,8 +291,7 @@ MobileMenuJoypad: ; 241ba
; 241d5
-Function241d5: ; 241d5
-; Unreferenced
+Unreferenced_Function241d5: ; 241d5
call Place2DMenuCursor
.loop
call Move2DMenuCursor
@@ -586,7 +585,7 @@ Place2DMenuCursor: ; 24329
_PushWindow:: ; 24374
ld a, [rSVBK]
push af
- ld a, $7
+ ld a, BANK(wWindowStack)
ld [rSVBK], a
ld hl, wWindowStackPointer
@@ -691,7 +690,7 @@ _ExitMenu:: ; 243e8
ld a, [rSVBK]
push af
- ld a, $7
+ ld a, BANK(wWindowStack)
ld [rSVBK], a
call GetWindowStackTop
@@ -725,12 +724,11 @@ _ExitMenu:: ; 243e8
ret
; 24423
-Function24423: ; 24423
-; Unreferenced
+Unreferenced_Function24423: ; 24423
ld a, [VramState]
bit 0, a
ret z
- xor a
+ xor a ; sScratch
call GetSRAMBank
hlcoord 0, 0
ld de, sScratch
@@ -738,7 +736,7 @@ Function24423: ; 24423
call CopyBytes
call CloseSRAM
call OverworldTextModeSwitch
- xor a
+ xor a ; sScratch
call GetSRAMBank
ld hl, sScratch
decoord 0, 0
diff --git a/engine/menu_2.asm b/engine/menu_2.asm
index d88b75152..c8c4ebf5d 100644
--- a/engine/menu_2.asm
+++ b/engine/menu_2.asm
@@ -27,7 +27,7 @@ PlaceMenuItemQuantity: ; 0x24ac3
.done
ret
-PlaceMoneyTopRight: ; 24ae8
+Special_PlaceMoneyTopRight: ; 24ae8
ld hl, MenuDataHeader_0x24b15
call CopyMenuDataHeader
jr PlaceMoneyDataHeader
@@ -53,16 +53,14 @@ PlaceMoneyDataHeader: ; 24b01
ret
MenuDataHeader_0x24b15: ; 0x24b15
- db $40 ; flags
- db 00, 11 ; start coords
- db 02, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 11, 0, SCREEN_WIDTH - 1, 2
dw NULL
db 1 ; default option
MenuDataHeader_0x24b1d: ; 0x24b1d
- db $40 ; flags
- db 11, 00 ; start coords
- db 13, 08 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 11, 8, 13
dw NULL
db 1 ; default option
@@ -112,8 +110,8 @@ CoinString: ; 24b89
ShowMoney_TerminatorString: ; 24b8e
db "@"
-Function24b8f: ; 24b8f
-; unreferenced, related to safari?
+Unreferenced_Function24b8f: ; 24b8f
+; related to safari?
ld hl, Options
ld a, [hl]
push af
@@ -141,9 +139,9 @@ Function24b8f: ; 24b8f
ret
.slash_500 ; 24bcf
- db "/500@"
+ db "/500@"
.booru_ko ; 24bd4
- db "ボール こ@"
+ db "ボール   こ@"
StartMenu_DrawBugContestStatusBox: ; 24bdc
hlcoord 0, 0
@@ -197,7 +195,7 @@ StartMenu_PrintBugContestStatus: ; 24be7
ret
.Balls_JP: ; 24c43
- db "ボール こ@"
+ db "ボール   こ@"
.CAUGHT: ; 24c4b
db "CAUGHT@"
.Balls_EN: ; 24c52
@@ -216,7 +214,7 @@ FindApricornsInBag: ; 24c64
ld bc, 10
call ByteFill
- ld hl, .ApricornBalls
+ ld hl, ApricornBalls
.loop
ld a, [hl]
cp -1
@@ -252,12 +250,4 @@ FindApricornsInBag: ; 24c64
pop hl
ret
-.ApricornBalls: ; 24ca0
- db RED_APRICORN, LEVEL_BALL
- db BLU_APRICORN, LURE_BALL
- db YLW_APRICORN, MOON_BALL
- db GRN_APRICORN, FRIEND_BALL
- db WHT_APRICORN, FAST_BALL
- db BLK_APRICORN, HEAVY_BALL
- db PNK_APRICORN, LOVE_BALL
- db -1
+INCLUDE "data/items/apricorn_balls.asm"
diff --git a/engine/mon_icons.asm b/engine/mon_icons.asm
index 316ff3bac..db1a68ceb 100755
--- a/engine/mon_icons.asm
+++ b/engine/mon_icons.asm
@@ -281,8 +281,7 @@ FlyFunction_GetMonIcon: ; 8e9bc (23:69bc)
ret
; 8e9cc (23:69cc)
-GetMonIcon2: ; 8e9cc
-; unreferenced
+Unreferenced_GetMonIcon2: ; 8e9cc
push de
ld a, [wd265]
call ReadMonMenuIcon
@@ -307,8 +306,8 @@ GetIconGFX: ; 8e9de
ret
HeldItemIcons:
-INCBIN "gfx/icon/mail.2bpp"
-INCBIN "gfx/icon/item.2bpp"
+INCBIN "gfx/icons/mail.2bpp"
+INCBIN "gfx/icons/item.2bpp"
; 8ea17
GetIcon_de: ; 8ea17
diff --git a/engine/mon_menu.asm b/engine/mon_menu.asm
index e3570ab70..d7e8446d0 100755
--- a/engine/mon_menu.asm
+++ b/engine/mon_menu.asm
@@ -55,9 +55,8 @@ MonSubmenu: ; 24d19
; 24d3f
.MenuDataHeader: ; 24d3f
- db $40 ; tile backup
- db 00, 06 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 6, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw 0
db 1 ; default option
; 24d47
@@ -78,7 +77,7 @@ MonSubmenu: ; 24d19
MonMenuLoop: ; 24d59
.loop
- ld a, $a0 ; flags
+ ld a, MENU_UNUSED_3 | MENU_BACKUP_TILES_2 ; flags
ld [wMenuData2Flags], a
ld a, [Buffer1] ; items
ld [wMenuData2Items], a
@@ -325,15 +324,14 @@ BattleMonMenu: ; 24e99
; 24ed4
MenuDataHeader_0x24ed4: ; 24ed4
- db $00 ; flags
- db 11, 11 ; start coords
- db 17, 19 ; end coords
+ db 0 ; flags
+ menu_coords 11, 11, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw MenuData2_0x24edc
db 1 ; default option
; 24edc
MenuData2_0x24edc: ; 24edc
- db $c0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 3 ; items
db "SWITCH@"
db "STATS@"
diff --git a/engine/mon_stats.asm b/engine/mon_stats.asm
index a3039eefd..7a493c591 100644
--- a/engine/mon_stats.asm
+++ b/engine/mon_stats.asm
@@ -174,7 +174,7 @@ GetGender: ; 50bdd
; sBoxMon data is read directly from SRAM.
ld a, [MonType]
cp BOXMON
- ld a, 1
+ ld a, BANK(sBox)
call z, GetSRAMBank
; Attack DV
@@ -324,8 +324,7 @@ ListMovePP: ; 50c50
jr nz, .load_loop
ret
-Function50cd0: ; 50cd0
-; XXX
+Unreferenced_Function50cd0: ; 50cd0
.loop
ld [hl], $32
inc hl
@@ -336,7 +335,7 @@ Function50cd0: ; 50cd0
jr nz, .loop
ret
-Predef22: ; unreferenced predef
+Unused_PlaceEnemyHPLevel:
push hl
push hl
ld hl, PartyMonNicknames
diff --git a/engine/move_mon.asm b/engine/move_mon.asm
index 90728e84c..52894359e 100755
--- a/engine/move_mon.asm
+++ b/engine/move_mon.asm
@@ -60,7 +60,7 @@ TryAddMonToParty: ; d88c
ld d, h
ld e, l
ld hl, StringBuffer1
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
.skipnickname
@@ -397,7 +397,7 @@ AddTempmonToParty: ; da96
ld hl, OTPartyMonNicknames
ld a, [CurPartyMon]
call SkipNames
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
ld a, [CurPartySpecies]
@@ -434,7 +434,7 @@ AddTempmonToParty: ; da96
and a
ret
-SentGetPkmnIntoFromBox: ; db3f
+SendGetPkmnIntoFromBox: ; db3f
; Sents/Gets Pkmn into/from Box depending on Parameter
; wPokemonWithdrawDepositParameter == 0: get Pkmn into Party
; wPokemonWithdrawDepositParameter == 1: sent Pkmn into Box
@@ -583,7 +583,7 @@ SentGetPkmnIntoFromBox: ; db3f
call SkipNames
.okay12
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
pop hl
@@ -904,8 +904,8 @@ DepositBreedmon: ; de44
ld bc, BOXMON_STRUCT_LENGTH
jp CopyBytes
-SentPkmnIntoBox: ; de6e
-; Sents the Pkmn into one of Bills Boxes
+SendPkmnIntoBox: ; de6e
+; Sends the Pkmn into one of Bills Boxes
; the data comes mainly from 'EnemyMon:'
ld a, BANK(sBoxCount)
call GetSRAMBank
@@ -943,7 +943,7 @@ SentPkmnIntoBox: ; de6e
ld de, sBoxMonNicknames
ld hl, StringBuffer1
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
ld hl, EnemyMon
@@ -1044,7 +1044,7 @@ ShiftBoxMon: ; df47
call .shift
ld hl, sBoxMonNicknames
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call .shift
ld hl, sBoxMons
@@ -1119,7 +1119,7 @@ GiveEgg:: ; df8c
ld d, $0
ld hl, PokedexCaught
ld b, RESET_FLAG
- predef FlagPredef
+ predef SmallFarFlagAction
.skip_caught_flag
; If we haven't seen this Pokemon before receiving
@@ -1135,7 +1135,7 @@ GiveEgg:: ; df8c
ld d, $0
ld hl, PokedexSeen
ld b, RESET_FLAG
- predef FlagPredef
+ predef SmallFarFlagAction
.skip_seen_flag
pop af
@@ -1240,7 +1240,7 @@ RemoveMonFromPartyOrBox: ; e039
; Shift the OT names
ld d, h
ld e, l
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
add hl, bc
ld bc, PartyMonNicknames
ld a, [wPokemonWithdrawDepositParameter]
@@ -1283,12 +1283,12 @@ RemoveMonFromPartyOrBox: ; e039
jr z, .party6
ld hl, sBoxMonNicknames
.party6
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
ld a, [CurPartyMon]
call AddNTimes
ld d, h
ld e, l
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
add hl, bc
ld bc, PartyMonNicknamesEnd
ld a, [wPokemonWithdrawDepositParameter]
@@ -1626,7 +1626,7 @@ GivePoke:: ; e277
ld a, [CurPartySpecies]
ld [TempEnemyMonSpecies], a
callfar LoadEnemyMon
- call SentPkmnIntoBox
+ call SendPkmnIntoBox
jp nc, .FailedToGiveMon
ld a, BOXMON
ld [MonType], a
@@ -1652,7 +1652,7 @@ GivePoke:: ; e277
call GetPokemonName
ld hl, StringBuffer1
ld de, wMonOrItemNameBuffer
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
pop af
and a
@@ -1664,7 +1664,7 @@ GivePoke:: ; e277
push hl
ld a, [ScriptBank]
call GetFarHalfword
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
ld a, [ScriptBank]
call FarCopyBytes
pop hl
@@ -1764,7 +1764,7 @@ GivePoke:: ; e277
call GetSRAMBank
ld hl, wMonOrItemNameBuffer
ld de, sBoxMonNicknames
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
call CloseSRAM
ld b, $1
@@ -1795,7 +1795,7 @@ InitNickname: ; e3de
pop hl
ld de, StringBuffer1
call InitName
- ld a, $4 ; XXX could this be in bank 4 in pokered?
+ ld a, $4 ; ExitAllMenus is in bank 0, XXX could this be in bank 4 in pokered?
ld hl, ExitAllMenus
rst FarCall
ret
diff --git a/engine/move_mon_wo_mail.asm b/engine/move_mon_wo_mail.asm
index c96823d28..e5e1d6e49 100755
--- a/engine/move_mon_wo_mail.asm
+++ b/engine/move_mon_wo_mail.asm
@@ -7,7 +7,7 @@ InsertPokemonIntoBox: ; 51322
dec a
ld [wd265], a
ld hl, sBoxMonNicknames
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
ld de, wBufferMonNick
call InsertDataIntoBoxOrParty
ld a, [sBoxCount]
@@ -44,7 +44,7 @@ InsertPokemonIntoParty: ; 5138b
dec a
ld [wd265], a
ld hl, PartyMonNicknames
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
ld de, wBufferMonNick
call InsertDataIntoBoxOrParty
ld a, [PartyCount]
diff --git a/engine/mystery_gift.asm b/engine/mystery_gift.asm
index 67ce10168..fccdcfcbc 100755
--- a/engine/mystery_gift.asm
+++ b/engine/mystery_gift.asm
@@ -63,7 +63,7 @@ DoMysteryGift: ; 1048ba (41:48ba)
jr z, .skip_append_save
call .SaveMysteryGiftTrainerName
farcall RestoreMobileEventIndex
- farcall TrainerRankings_MysteryGift
+ farcall StubbedTrainerRankings_MysteryGift
farcall BackupMobileEventIndex
.skip_append_save
ld a, [wMysteryGiftPartnerSentDeco]
@@ -1117,7 +1117,7 @@ MysteryGift_CheckAndSetDecorationAlreadyReceived: ; 105069 (41:5069)
ld d, $0
ld b, CHECK_FLAG
ld hl, sMysteryGiftDecorationsReceived
- predef_id FlagPredef
+ predef_id SmallFarFlagAction
push hl
push bc
call Predef
@@ -1129,7 +1129,7 @@ MysteryGift_CheckAndSetDecorationAlreadyReceived: ; 105069 (41:5069)
ret nz
call GetMysteryGiftBank
ld b, SET_FLAG
- predef FlagPredef
+ predef SmallFarFlagAction
call CloseSRAM
xor a
ret
@@ -1142,7 +1142,7 @@ MysteryGift_CopyReceivedDecosToPC: ; 105091 (41:5091)
ld d, $0
ld b, CHECK_FLAG
ld hl, sMysteryGiftDecorationsReceived
- predef FlagPredef
+ predef SmallFarFlagAction
ld a, c
and a
pop bc
@@ -1369,7 +1369,7 @@ InitMysteryGiftLayout: ; 105153 (41:5153)
jr .gfx_loop
; 105232 (41:5232)
-.Load6GFX: ; unreferenced
+.Unreferenced_Load6GFX:
ld b, 6
jr .gfx_loop
@@ -1456,33 +1456,33 @@ Function105688: ; 105688 (41:5688)
jr asm_105726
Function1056eb: ; 1056eb (41:56eb)
- ld c, $10
-.asm_1056ed
- ld hl, Sprites
- ld b, $8
-.asm_1056f2
+ ld c, 16
+.loop
+ ld hl, Sprite01YCoord
+ ld b, 8
+.dec_y_loop
dec [hl]
-rept 4
+rept SPRITEOAMSTRUCT_LENGTH
inc hl
endr
dec b
- jr nz, .asm_1056f2
- ld hl, Sprites + $20
- ld b, $8
-.asm_1056ff
+ jr nz, .dec_y_loop
+ ld hl, Sprite09YCoord
+ ld b, 8
+.inc_y_loop
inc [hl]
-rept 4
+rept SPRITEOAMSTRUCT_LENGTH
inc hl
endr
dec b
- jr nz, .asm_1056ff
+ jr nz, .inc_y_loop
dec c
ret z
push bc
ld c, 4
call DelayFrames
pop bc
- jr .asm_1056ed
+ jr .loop
Function105712: ; 105712 (41:5712)
call Function105777
@@ -1504,9 +1504,9 @@ asm_105726: ; 105726 (41:5726)
String_10572e: ; 10572e
db "エーボタン¯おすと"
- next "つうしん<PKMN>おこなわれるよ!"
+ next "つうしん<PKMN>おこなわれるよ!"
next "ビーボタン¯おすと"
- next "つうしん¯ちゅうし します"
+ next "つうしん¯ちゅうし します"
db "@"
; 10575e
@@ -1561,12 +1561,12 @@ Function10578c: ; 10578c (41:578c)
ld a, [sCrystalData + 0]
ld [de], a
inc de
- ld a, $4
+ ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
call GetSRAMBank
- ld hl, $a603
+ ld hl, $a603 ; address of MBC30 bank
ld bc, $8
call CopyBytes
- ld hl, $a007
+ ld hl, $a007 ; address of MBC30 bank
ld bc, $c
call CopyBytes
call CloseSRAM
@@ -1580,7 +1580,7 @@ Function1057d7: ; 1057d7 (41:57d7)
ld a, BANK(MysteryGiftJP_GFX)
lb bc, 4, 0
call FarCopyBytes
- ld hl, MysteryGiftJP_GFX + $400
+ ld hl, MysteryGiftJP_GFX + $40 tiles
ld de, vTiles0 tile $00
ld a, BANK(MysteryGiftJP_GFX)
ld bc, $80
@@ -1656,9 +1656,9 @@ Function1057d7: ; 1057d7 (41:57d7)
ld [hl], $3c
hlcoord 17, 15
ld [hl], $3e
- ld de, Sprites
+ ld de, Sprite01
ld hl, .OAM_data
- ld bc, $40
+ ld bc, 16 * SPRITEOAMSTRUCT_LENGTH
call CopyBytes
call EnableLCD
call WaitBGMap
@@ -1713,22 +1713,22 @@ Function1057d7: ; 1057d7 (41:57d7)
; 1058f0 (41:58f0)
.OAM_data: ; 1058f0
- dsprite 2, 1, 6, 4, $00, $00
- dsprite 2, 1, 7, 4, $01, $00
- dsprite 2, 1, 8, 4, $02, $00
- dsprite 2, 1, 9, 4, $03, $00
- dsprite 3, 1, 6, 4, $04, $00
- dsprite 3, 1, 7, 4, $05, $00
- dsprite 3, 1, 8, 4, $06, $00
- dsprite 3, 1, 9, 4, $07, $00
- dsprite 0, 1, 11, 4, $00, $00
- dsprite 0, 1, 12, 4, $01, $00
- dsprite 0, 1, 13, 4, $02, $00
- dsprite 0, 1, 14, 4, $03, $00
- dsprite 1, 1, 11, 4, $04, $00
- dsprite 1, 1, 12, 4, $05, $00
- dsprite 1, 1, 13, 4, $06, $00
- dsprite 1, 1, 14, 4, $07, $00
+ dsprite 2, 1, 6, 4, $00, 0
+ dsprite 2, 1, 7, 4, $01, 0
+ dsprite 2, 1, 8, 4, $02, 0
+ dsprite 2, 1, 9, 4, $03, 0
+ dsprite 3, 1, 6, 4, $04, 0
+ dsprite 3, 1, 7, 4, $05, 0
+ dsprite 3, 1, 8, 4, $06, 0
+ dsprite 3, 1, 9, 4, $07, 0
+ dsprite 0, 1, 11, 4, $00, 0
+ dsprite 0, 1, 12, 4, $01, 0
+ dsprite 0, 1, 13, 4, $02, 0
+ dsprite 0, 1, 14, 4, $03, 0
+ dsprite 1, 1, 11, 4, $04, 0
+ dsprite 1, 1, 12, 4, $05, 0
+ dsprite 1, 1, 13, 4, $06, 0
+ dsprite 1, 1, 14, 4, $07, 0
; japanese mystery gift gfx
MysteryGiftJP_GFX: ; 105930
diff --git a/engine/mystery_gift_2.asm b/engine/mystery_gift_2.asm
index 1d180f714..72767aa17 100755
--- a/engine/mystery_gift_2.asm
+++ b/engine/mystery_gift_2.asm
@@ -29,7 +29,7 @@ PrepMysteryGiftDataToSend: ; 2c642 (b:4642)
inc de ; wc80f
call CloseSRAM
call Random
- and $1
+ and 1
ld [de], a
inc de ; wc810
call .RandomSample
@@ -59,10 +59,10 @@ PrepMysteryGiftDataToSend: ; 2c642 (b:4642)
.RandomSample: ; 2c6ac (b:46ac)
push de
call Random
- cp $19 ; 10 percent
+ cp 10 percent
jr c, .tenpercent
call Random
- and $7
+ and %111
ld d, a
rl d
ld e, $80
@@ -80,10 +80,10 @@ PrepMysteryGiftDataToSend: ; 2c642 (b:4642)
.tenpercent
call Random
- cp $32 ; 20 percent
+ cp 20 percent - 1
jr c, .twopercent
call Random
- and $3
+ and %011
ld d, a
rl d
ld e, $80
@@ -102,7 +102,7 @@ PrepMysteryGiftDataToSend: ; 2c642 (b:4642)
.twopercent
call Random
- cp $32 ; 50 ; 20 percent
+ cp 20 percent - 1
jr c, .pointfourpercent
ld a, b
swap a
@@ -147,6 +147,6 @@ MysteryGiftFallbackItem: ; 2c722 (b:4722)
; 2c725 (b:4725)
-INCLUDE "data/mystery_gift_items.asm"
+INCLUDE "data/items/mystery_gift_items.asm"
-INCLUDE "data/mystery_gift_decos.asm"
+INCLUDE "data/decorations/mystery_gift_decos.asm"
diff --git a/engine/namingscreen.asm b/engine/naming_screen.asm
index 177f06f73..b53a3b09d 100755
--- a/engine/namingscreen.asm
+++ b/engine/naming_screen.asm
@@ -1,3 +1,9 @@
+NAMINGSCREEN_CURSOR EQU $7e
+
+NAMINGSCREEN_BORDER EQUS "\"■\"" ; $60
+NAMINGSCREEN_MIDDLELINE EQUS "\"→\"" ; $eb
+NAMINGSCREEN_UNDERLINE EQUS "\"<DOT>\"" ; $f2
+
_NamingScreen: ; 0x116b7
call DisableSpriteUpdates
call NamingScreen
@@ -176,7 +182,7 @@ NamingScreen: ; 116c1
.Box: ; 117f5 (4:57f5)
ld de, PokeBallSpriteGFX
ld hl, vTiles0 tile $00
- lb bc, BANK(PokeBallSpriteGFX), $4
+ lb bc, BANK(PokeBallSpriteGFX), 4
call Request2bpp
xor a
ld hl, wSpriteAnimDict
@@ -211,7 +217,7 @@ NamingScreen: ; 116c1
; 11839 (4:5839)
.oTomodachi_no_namae_sutoringu ; 11839
- db "おともだち の なまえは?@"
+ db "おともだち の なまえは?@"
; 11847
@@ -248,7 +254,7 @@ NamingScreen: ; 116c1
ret
.StoreMonIconParams: ; 1187b (4:587b)
- ld a, PKMN_NAME_LENGTH - 1
+ ld a, MON_NAME_LENGTH - 1
hlcoord 5, 6
jr .StoreParams
@@ -287,7 +293,7 @@ NamingScreen_InitText: ; 118a8
call WaitTop
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
- ld a, $60
+ ld a, NAMINGSCREEN_BORDER
call ByteFill
hlcoord 1, 1
lb bc, 6, 18
@@ -490,7 +496,7 @@ NamingScreenJoypadLoop: ; 11915
ret
.select
- ld hl, wcf64
+ ld hl, wNamingScreenLetterCase
ld a, [hl]
xor 1
ld [hl], a
@@ -562,14 +568,14 @@ NamingScreen_AnimateCursor: ; 11a3b (4:5a3b)
.ok
cp d
ld de, .LetterEntries
- ld a, $0
+ ld a, SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR - SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR ; 0
jr nz, .ok2
ld de, .CaseDelEnd
- ld a, $1
+ ld a, SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR_BIG - SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR ; 1
.ok2
ld hl, SPRITEANIMSTRUCT_0E
add hl, bc
- add [hl]
+ add [hl] ; default SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR
ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
ld [hl], a
@@ -729,7 +735,7 @@ NamingScreen_AdvanceCursor_CheckEndOfString: ; 11b27
ld a, [hl]
cp "@"
jr z, .end_of_string
- ld [hl], $f2
+ ld [hl], NAMINGSCREEN_UNDERLINE
and a
ret
@@ -739,7 +745,7 @@ NamingScreen_AdvanceCursor_CheckEndOfString: ; 11b27
; 11b39 (4:5b39)
-; XXX
+; unused
ld a, [wNamingScreenCurrNameLength]
and a
ret z
@@ -765,21 +771,7 @@ NamingScreen_AdvanceCursor_CheckEndOfString: ; 11b27
; 11b56
-Dakutens: ; Dummied out
- db "かが", "きぎ", "くぐ", "けげ", "こご"
- db "さざ", "しじ", "すず", "せぜ", "そぞ"
- db "ただ", "ちぢ", "つづ", "てで", "とど"
- db "はば", "ひび", "ふぶ", "へべ", "ほぼ"
- db "カガ", "キギ", "クグ", "ケゲ", "コゴ"
- db "サザ", "シジ", "スズ", "セゼ", "ソゾ"
- db "タダ", "チヂ", "ツヅ", "テデ", "トド"
- db "ハバ", "ヒビ", "フブ", "へべ", "ホボ"
- db $ff
-
-Handakutens: ; Dummied out
- db "はぱ", "ひぴ", "ふぷ", "へぺ", "ほぽ"
- db "ハパ", "ヒピ", "フプ", "へぺ", "ホポ"
- db $ff
+INCLUDE "data/unused/dakutens.asm"
; 11bbc
@@ -790,12 +782,12 @@ NamingScreen_DeleteCharacter: ; 11bbc (4:5bbc)
ret z
dec [hl]
call NamingScreen_GetTextCursorPosition
- ld [hl], $f2
+ ld [hl], NAMINGSCREEN_UNDERLINE
inc hl
ld a, [hl]
- cp $f2
+ cp NAMINGSCREEN_UNDERLINE
ret nz
- ld [hl], $eb
+ ld [hl], NAMINGSCREEN_MIDDLELINE
ret
NamingScreen_GetTextCursorPosition: ; 11bd0 (4:5bd0)
@@ -814,17 +806,17 @@ NamingScreen_GetTextCursorPosition: ; 11bd0 (4:5bd0)
; 11be0
NamingScreen_InitNameEntry: ; 11be0
-; load $f2, ($eb * [wNamingScreenMaxNameLength]), $50 into the dw address at wNamingScreenDestinationPointer
+; load NAMINGSCREEN_UNDERLINE, (NAMINGSCREEN_MIDDLELINE * [wNamingScreenMaxNameLength]), "@" into the dw address at wNamingScreenDestinationPointer
ld hl, wNamingScreenDestinationPointer
ld a, [hli]
ld h, [hl]
ld l, a
- ld [hl], $f2
+ ld [hl], NAMINGSCREEN_UNDERLINE
inc hl
ld a, [wNamingScreenMaxNameLength]
dec a
ld c, a
- ld a, $eb
+ ld a, NAMINGSCREEN_MIDDLELINE
.loop
ld [hli], a
dec c
@@ -843,9 +835,9 @@ NamingScreen_StoreEntry: ; 11bf7 (4:5bf7)
ld c, a
.loop
ld a, [hl]
- cp $eb
+ cp NAMINGSCREEN_MIDDLELINE
jr z, .terminator
- cp $f2
+ cp NAMINGSCREEN_UNDERLINE
jr nz, .not_terminator
.terminator
ld [hl], "@"
@@ -905,22 +897,22 @@ LoadNamingScreenGFX: ; 11c51
call LoadFontsExtra
ld de, NamingScreenGFX_MiddleLine
- ld hl, vTiles1 tile $6b
+ ld hl, vTiles0 tile NAMINGSCREEN_MIDDLELINE
lb bc, BANK(NamingScreenGFX_MiddleLine), 1
call Get1bpp
ld de, NamingScreenGFX_UnderLine
- ld hl, vTiles1 tile $72
+ ld hl, vTiles0 tile NAMINGSCREEN_UNDERLINE
lb bc, BANK(NamingScreenGFX_UnderLine), 1
call Get1bpp
- ld de, vTiles2 tile $60
+ ld de, vTiles2 tile NAMINGSCREEN_BORDER
ld hl, NamingScreenGFX_Border
ld bc, 1 tiles
ld a, BANK(NamingScreenGFX_Border)
call FarCopyBytes
- ld de, vTiles0 tile $7e
+ ld de, vTiles0 tile NAMINGSCREEN_CURSOR
ld hl, NamingScreenGFX_Cursor
ld bc, 2 tiles
ld a, BANK(NamingScreenGFX_Cursor)
@@ -929,14 +921,14 @@ LoadNamingScreenGFX: ; 11c51
ld a, $5
ld hl, wSpriteAnimDict + 9 * 2
ld [hli], a
- ld [hl], $7e
+ ld [hl], NAMINGSCREEN_CURSOR
xor a
ld [hSCY], a
ld [wGlobalAnimYOffset], a
ld [hSCX], a
ld [wGlobalAnimXOffset], a
ld [wJumptableIndex], a
- ld [wcf64], a
+ ld [wNamingScreenLetterCase], a
ld [hBGMapMode], a
ld [wNamingScreenCurrNameLength], a
ld a, $7
@@ -946,26 +938,26 @@ LoadNamingScreenGFX: ; 11c51
; 11cb7
NamingScreenGFX_Border: ; 11cb7
-INCBIN "gfx/namingscreen/border.2bpp"
+INCBIN "gfx/naming_screen/border.2bpp"
; 11cc7
NamingScreenGFX_Cursor: ; 11cc7
-INCBIN "gfx/namingscreen/cursor.2bpp"
+INCBIN "gfx/naming_screen/cursor.2bpp"
; 11ce7
INCLUDE "data/name_input_chars.asm"
; 11e5d
NamingScreenGFX_End: ; unused
-INCBIN "gfx/namingscreen/end.1bpp"
+INCBIN "gfx/naming_screen/end.1bpp"
; 11e6d
NamingScreenGFX_MiddleLine:
-INCBIN "gfx/namingscreen/middle_line.1bpp"
+INCBIN "gfx/naming_screen/middle_line.1bpp"
; 11e6d
NamingScreenGFX_UnderLine: ; 11e6d
-INCBIN "gfx/namingscreen/underline.1bpp"
+INCBIN "gfx/naming_screen/underline.1bpp"
; 11e75
_ComposeMailMessage: ; 11e75 (mail?)
@@ -1033,15 +1025,15 @@ _ComposeMailMessage: ; 11e75 (mail?)
ld e, [hl]
inc hl
ld d, [hl]
- ld hl, $10
+ ld hl, MAIL_LINE_LENGTH
add hl, de
- ld [hl], $4e
+ ld [hl], "<NEXT>"
ret
; 11ef4 (4:5ef4)
.MailIcon: ; 11ef4
-INCBIN "gfx/icon/mail2.2bpp"
+INCBIN "gfx/icons/mail_big.2bpp"
; 11f74
.initwNamingScreenMaxNameLength ; 11f74 (4:5f74)
@@ -1051,8 +1043,8 @@ INCBIN "gfx/icon/mail2.2bpp"
; 11f7a (4:5f7a)
-.Dummy: ; dummied out
- db "メールを かいてね@"
+.UnusedString11f7a:
+ db "メールを かいてね@"
; 11f84
@@ -1060,7 +1052,7 @@ INCBIN "gfx/icon/mail2.2bpp"
call WaitTop
hlcoord 0, 0
ld bc, 6 * SCREEN_WIDTH
- ld a, $60 ; border
+ ld a, NAMINGSCREEN_BORDER
call ByteFill
hlcoord 0, 6
ld bc, 12 * SCREEN_WIDTH
@@ -1190,13 +1182,13 @@ INCBIN "gfx/icon/mail2.2bpp"
jr c, .start
ld hl, wNamingScreenCurrNameLength
ld a, [hl]
- cp $10
+ cp MAIL_LINE_LENGTH
ret nz
inc [hl]
call NamingScreen_GetTextCursorPosition
- ld [hl], $f2
+ ld [hl], NAMINGSCREEN_UNDERLINE
dec hl
- ld [hl], $4e
+ ld [hl], "<NEXT>"
ret
.start
@@ -1216,13 +1208,13 @@ INCBIN "gfx/icon/mail2.2bpp"
call NamingScreen_DeleteCharacter
ld hl, wNamingScreenCurrNameLength
ld a, [hl]
- cp $10
+ cp MAIL_LINE_LENGTH
ret nz
dec [hl]
call NamingScreen_GetTextCursorPosition
- ld [hl], $f2
+ ld [hl], NAMINGSCREEN_UNDERLINE
inc hl
- ld [hl], $4e
+ ld [hl], "<NEXT>"
ret
.finished
@@ -1232,9 +1224,9 @@ INCBIN "gfx/icon/mail2.2bpp"
ret
.select
- ld hl, wcf64
+ ld hl, wNamingScreenLetterCase
ld a, [hl]
- xor $1
+ xor 1
ld [hl], a
jr nz, .switch_to_lowercase
ld de, MailEntry_Uppercase
@@ -1434,7 +1426,7 @@ MailComposition_TryAddLastCharacter: ; 121ac (4:61ac)
; 121b2 (4:61b2)
-; XXX
+; unused
ld a, [wNamingScreenCurrNameLength]
and a
ret z
diff --git a/engine/npc_movement.asm b/engine/npc_movement.asm
index a2508e0f6..e8b353fa6 100755
--- a/engine/npc_movement.asm
+++ b/engine/npc_movement.asm
@@ -70,14 +70,14 @@ Function6f07: ; 6f07
ld e, [hl]
ld hl, OBJECT_PALETTE
add hl, bc
- bit 7, [hl]
+ bit OAM_PRIORITY, [hl]
jp nz, Function6fa1
ld hl, OBJECT_NEXT_TILE
add hl, bc
ld a, [hl]
ld d, a
call GetTileCollision
- and a ; land
+ and a ; LANDTILE
jr z, Function6f3e
scf
ret
@@ -106,7 +106,7 @@ Function6f3e: ; 6f3e
ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld a, [hl]
- and 3
+ maskbits NUM_DIRECTIONS
ld e, a
ld d, 0
ld hl, .data_6f5b
@@ -131,7 +131,7 @@ Function6f5f: ; 6f5f
push af
ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
- and 3
+ maskbits NUM_DIRECTIONS
ld e, a
ld d, 0
ld hl, .data_6f7b
@@ -178,49 +178,49 @@ Function6fa1: ; 6fa1
ld hl, OBJECT_DIRECTION_WALKING
add hl, bc
ld a, [hl]
- and 3
- jr z, .asm_6fb2
+ maskbits NUM_DIRECTIONS
+ jr z, .down
dec a
- jr z, .asm_6fb7
+ jr z, .up
dec a
- jr z, .asm_6fbb
- jr .asm_6fbf
+ jr z, .left
+ jr .right
-.asm_6fb2
+.down
inc e
push de
inc d
- jr .asm_6fc2
+ jr .continue
-.asm_6fb7
+.up
push de
inc d
- jr .asm_6fc2
+ jr .continue
-.asm_6fbb
+.left
push de
inc e
- jr .asm_6fc2
+ jr .continue
-.asm_6fbf
+.right
inc d
push de
inc e
-.asm_6fc2
+.continue
call GetCoordTile
call GetTileCollision
pop de
- and a ; land
- jr nz, .asm_6fd7
+ and a ; LANDTILE
+ jr nz, .not_land
call GetCoordTile
call GetTileCollision
- and a ; land
- jr nz, .asm_6fd7
+ and a ; LANDTILE
+ jr nz, .not_land
xor a
ret
-.asm_6fd7
+.not_land
scf
ret
; 6fd9
@@ -279,7 +279,7 @@ WillObjectBumpIntoSomeoneElse: ; 7009
jr IsNPCAtCoord
; 7015
-Function7015: ; unreferenced
+Unreferenced_Function7015:
ld a, [hMapObjectIndexBuffer]
call GetObjectStruct
call .CheckWillBeFacingNPC
@@ -482,7 +482,7 @@ IsObjectMovingOffEdgeOfScreen: ; 70ed
ret
; 7113
-Function7113: ; unreferenced
+Unreferenced_Function7113:
ld a, [PlayerStandingMapX]
ld d, a
ld a, [PlayerStandingMapY]
diff --git a/engine/npctrade.asm b/engine/npctrade.asm
index 1455dce62..40f6dd638 100755
--- a/engine/npctrade.asm
+++ b/engine/npctrade.asm
@@ -1,11 +1,3 @@
-; Trade dialogs
- const_def
- const TRADE_INTRO
- const TRADE_CANCEL
- const TRADE_WRONG
- const TRADE_COMPLETE
- const TRADE_AFTER
-
NPCTrade:: ; fcba8
ld a, e
ld [wJumptableIndex], a
@@ -83,9 +75,9 @@ CheckTradeGender: ; fcc23
ld e, TRADE_GENDER
call GetTradeAttribute
ld a, [hl]
- and a
+ and a ; TRADE_EITHER_GENDER
jr z, .matching
- cp 1
+ cp TRADE_MALE_ONLY
jr z, .check_male
farcall GetGender
@@ -109,7 +101,7 @@ TradeFlagAction: ; fcc4a
ld hl, wTradeFlags
ld a, [wJumptableIndex]
ld c, a
- predef FlagPredef
+ predef SmallFarFlagAction
ld a, c
and a
ret
@@ -178,10 +170,10 @@ DoNPCTrade: ; fcc63
ld e, TRADE_DIALOG
call GetTradeAttribute
ld a, [hl]
- cp 3
- ld a, 1
+ cp TRADE_DIALOG_GIRL
+ ld a, CAUGHT_BY_GIRL
jr c, .okay
- ld a, 2
+ ld a, CAUGHT_BY_BOY
.okay
ld [wOTTrademonCaughtData], a
@@ -214,7 +206,7 @@ DoNPCTrade: ; fcc63
call CopyTradeName
ld hl, PartyMonNicknames
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call Trade_GetAttributeOfLastPartymon
ld hl, wOTTrademonNickname
call CopyTradeName
@@ -332,8 +324,7 @@ CopyTradeName: ; fcdf4
ret
; fcdfb
-Functionfcdfb: ; fcdfb
-; unreferenced
+Unreferenced_Functionfcdfb: ; fcdfb
ld bc, 4
call CopyBytes
ld a, "@"
@@ -341,8 +332,7 @@ Functionfcdfb: ; fcdfb
ret
; fce05
-Functionfce05: ; fce05
-; unreferenced
+Unreferenced_Functionfce05: ; fce05
ld bc, 3
call CopyBytes
ld a, "@"
@@ -400,7 +390,7 @@ GetTradeMonNames: ; fce1b
and a
ret z
- cp 1
+ cp TRADE_MALE_ONLY
ld a, "♂"
jr z, .done
ld a, "♀"
@@ -433,31 +423,28 @@ PrintTradeText: ; fcf38
; fcf53
TradeTexts: ; fcf53
-; intro
+; entries correspond to TRADE_* × TRADE_DIALOG_* constants
+; TRADE_INTRO
dw TradeIntroText1
dw TradeIntroText2
dw TradeIntroText3
dw TradeIntroText4
-
-; cancel
+; TRADE_CANCEL
dw TradeCancelText1
dw TradeCancelText2
dw TradeCancelText3
dw TradeCancelText4
-
-; wrong mon
+; TRADE_WRONG
dw TradeWrongText1
dw TradeWrongText2
dw TradeWrongText3
dw TradeWrongText4
-
-; completed
+; TRADE_COMPLETE
dw TradeCompleteText1
dw TradeCompleteText2
dw TradeCompleteText3
dw TradeCompleteText4
-
-; after
+; TRADE_AFTER
dw TradeAfterText1
dw TradeAfterText2
dw TradeAfterText3
diff --git a/engine/overworld.asm b/engine/overworld.asm
index 68b8adaed..4c379711d 100755
--- a/engine/overworld.asm
+++ b/engine/overworld.asm
@@ -23,7 +23,7 @@ Function14146: ; mobile
push af
res 7, [hl]
set 6, [hl]
- call MapCallbackSprites_LoadUsedSpritesGFX
+ call Special_LoadUsedSpritesGFX
pop af
ld [wSpriteFlags], a
ret
@@ -35,15 +35,15 @@ Function14157: ; mobile
push af
set 7, [hl]
res 6, [hl]
- call MapCallbackSprites_LoadUsedSpritesGFX
+ call Special_LoadUsedSpritesGFX
pop af
ld [wSpriteFlags], a
ret
; 14168
-RefreshSprites:: ; 14168
+Special_RefreshSprites:: ; 14168
call .Refresh
- call MapCallbackSprites_LoadUsedSpritesGFX
+ call Special_LoadUsedSpritesGFX
ret
; 1416f
@@ -77,7 +77,7 @@ GetPlayerSprite: ; 14183
cp c
jr z, .good
inc hl
- cp $ff
+ cp -1
jr nz, .loop
; Any player state not in the array defaults to Chris's sprite.
@@ -100,14 +100,14 @@ GetPlayerSprite: ; 14183
db PLAYER_BIKE, SPRITE_CHRIS_BIKE
db PLAYER_SURF, SPRITE_SURF
db PLAYER_SURF_PIKA, SPRITE_SURFING_PIKACHU
- db $ff
+ db -1 ; end
.Kris:
db PLAYER_NORMAL, SPRITE_KRIS
db PLAYER_BIKE, SPRITE_KRIS_BIKE
db PLAYER_SURF, SPRITE_SURF
db PLAYER_SURF_PIKA, SPRITE_SURFING_PIKACHU
- db $ff
+ db -1 ; end
; 141c9
@@ -164,7 +164,7 @@ AddOutdoorSprites: ; 141ee
; 14209
-MapCallbackSprites_LoadUsedSpritesGFX: ; 14209
+Special_LoadUsedSpritesGFX: ; 14209
ld a, MAPCALLBACK_SPRITES
call RunMapCallback
call GetUsedSprites
@@ -719,10 +719,10 @@ LoadEmote:: ; 1442f
; 1444d
-INCLUDE "data/emotes.asm"
+INCLUDE "data/sprites/emotes.asm"
-INCLUDE "data/sprite_mons.asm"
+INCLUDE "data/sprites/sprite_mons.asm"
INCLUDE "data/maps/outdoor_sprites.asm"
-INCLUDE "data/sprites.asm"
+INCLUDE "data/sprites/sprites.asm"
diff --git a/engine/pack.asm b/engine/pack.asm
index 047924cb0..f9c7490af 100644
--- a/engine/pack.asm
+++ b/engine/pack.asm
@@ -1,3 +1,17 @@
+; Pack.Jumptable and BattlePack.Jumptable indexes
+ const_def
+ const PACKSTATE_INITGFX ; 0
+ const PACKSTATE_INITITEMSPOCKET ; 1
+ const PACKSTATE_ITEMSPOCKETMENU ; 2
+ const PACKSTATE_INITBALLSPOCKET ; 3
+ const PACKSTATE_BALLSPOCKETMENU ; 4
+ const PACKSTATE_INITKEYITEMSPOCKET ; 5
+ const PACKSTATE_KEYITEMSPOCKETMENU ; 6
+ const PACKSTATE_INITTMHMPOCKET ; 7
+ const PACKSTATE_TMHMPOCKETMENU ; 8
+ const PACKSTATE_QUITNOSCRIPT ; 9
+ const PACKSTATE_QUITRUNSCRIPT ; 10
+
Pack: ; 10000
ld hl, Options
set NO_TEXT_SCROLL, [hl]
@@ -28,6 +42,7 @@ Pack: ; 10000
; 10030
.Jumptable: ; 10030 (4:4030)
+; entries correspond to PACKSTATE_* constants
dw .InitGFX ; 0
dw .InitItemsPocket ; 1
dw .ItemsPocketMenu ; 2
@@ -44,13 +59,13 @@ Pack: ; 10000
xor a
ld [hBGMapMode], a
call Pack_InitGFX
- ld a, [wcf64]
+ ld a, [wPackJumptableIndex]
ld [wJumptableIndex], a
call Pack_InitColors
ret
.InitItemsPocket: ; 10056 (4:4056)
- xor a
+ xor a ; ITEM_POCKET
ld [wCurrPocket], a
call ClearPocketList
call DrawPocketName
@@ -70,15 +85,15 @@ Pack: ; 10000
ld [wItemsPocketScrollPosition], a
ld a, [wMenuCursorY]
ld [wItemsPocketCursor], a
- ld b, $7
- ld c, $3
+ ld b, PACKSTATE_INITTMHMPOCKET ; left
+ ld c, PACKSTATE_INITBALLSPOCKET ; right
call Pack_InterpretJoypad
ret c
call .ItemBallsKey_LoadSubmenu
ret
.InitKeyItemsPocket: ; 10094 (4:4094)
- ld a, $2
+ ld a, KEY_ITEM_POCKET
ld [wCurrPocket], a
call ClearPocketList
call DrawPocketName
@@ -98,15 +113,15 @@ Pack: ; 10000
ld [wKeyItemsPocketScrollPosition], a
ld a, [wMenuCursorY]
ld [wKeyItemsPocketCursor], a
- ld b, $3
- ld c, $7
+ ld b, PACKSTATE_INITBALLSPOCKET ; left
+ ld c, PACKSTATE_INITTMHMPOCKET ; right
call Pack_InterpretJoypad
ret c
call .ItemBallsKey_LoadSubmenu
ret
.InitTMHMPocket: ; 100d3 (4:40d3)
- ld a, $3
+ ld a, TM_HM_POCKET
ld [wCurrPocket], a
call ClearPocketList
call DrawPocketName
@@ -118,8 +133,8 @@ Pack: ; 10000
.TMHMPocketMenu: ; 100e8 (4:40e8)
farcall TMHMPocket
- ld b, $5
- ld c, $1
+ ld b, PACKSTATE_INITKEYITEMSPOCKET ; left
+ ld c, PACKSTATE_INITITEMSPOCKET ; right
call Pack_InterpretJoypad
ret c
farcall _CheckTossableItem
@@ -147,37 +162,34 @@ Pack: ; 10000
; 10124 (4:4124)
.MenuDataHeader1: ; 0x10124
- db $40 ; flags
- db 07, 13 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 13, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2_1
db 1 ; default option
; 0x1012c
.MenuData2_1: ; 0x1012c
- db $c0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 2 ; items
db "USE@"
db "QUIT@"
; 0x10137
.Jumptable1: ; 10137
-
dw .UseItem
dw QuitItemSubmenu
; 1013b
.MenuDataHeader2: ; 0x1013b
- db $40 ; flags
- db 05, 13 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 13, 5, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2_2
db 1 ; default option
; 0x10143
.MenuData2_2: ; 0x10143
- db $c0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 3 ; items
db "USE@"
db "GIVE@"
@@ -211,7 +223,7 @@ Pack: ; 10000
ret
.InitBallsPocket: ; 10186 (4:4186)
- ld a, $1
+ ld a, BALL_POCKET
ld [wCurrPocket], a
call ClearPocketList
call DrawPocketName
@@ -231,8 +243,8 @@ Pack: ; 10000
ld [wBallsPocketScrollPosition], a
ld a, [wMenuCursorY]
ld [wBallsPocketCursor], a
- ld b, $1
- ld c, $5
+ ld b, PACKSTATE_INITITEMSPOCKET ; left
+ ld c, PACKSTATE_INITKEYITEMSPOCKET ; right
call Pack_InterpretJoypad
ret c
call .ItemBallsKey_LoadSubmenu
@@ -309,15 +321,14 @@ Pack: ; 10000
; 10249 (4:4249)
MenuDataHeader_UsableKeyItem: ; 0x10249
- db $40 ; flags
- db 01, 13 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 13, 1, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
; 0x10251
.MenuData2: ; 0x10251
- db $c0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 5 ; items
db "USE@"
db "GIVE@"
@@ -327,7 +338,6 @@ MenuDataHeader_UsableKeyItem: ; 0x10249
; 0x1026a
Jumptable_UseGiveTossRegisterQuit: ; 1026a
-
dw UseItem
dw GiveItem
dw TossMenu
@@ -336,15 +346,14 @@ Jumptable_UseGiveTossRegisterQuit: ; 1026a
; 10274
MenuDataHeader_UsableItem: ; 0x10274
- db $40 ; flags
- db 03, 13 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 13, 3, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
; 0x1027c
.MenuData2: ; 0x1027c
- db $c0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 4 ; items
db "USE@"
db "GIVE@"
@@ -353,7 +362,6 @@ MenuDataHeader_UsableItem: ; 0x10274
; 0x10291
Jumptable_UseGiveTossQuit: ; 10291
-
dw UseItem
dw GiveItem
dw TossMenu
@@ -361,36 +369,33 @@ Jumptable_UseGiveTossQuit: ; 10291
; 10299
MenuDataHeader_UnusableItem: ; 0x10299
- db %01000000 ; flags
- db 07, 13 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 13, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
; 0x102a1
.MenuData2: ; 0x102a1
- db $c0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 2 ; items
db "USE@"
db "QUIT@"
; 0x102ac
Jumptable_UseQuit: ; 102ac
-
dw UseItem
dw QuitItemSubmenu
; 102b0
MenuDataHeader_UnusableKeyItem: ; 0x102b0
- db %01000000 ; flags
- db 05, 13 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 13, 5, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
; 0x102b8
.MenuData2: ; 0x102b8
- db $c0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 3 ; items
db "USE@"
db "SEL@"
@@ -398,22 +403,20 @@ MenuDataHeader_UnusableKeyItem: ; 0x102b0
; 0x102c7
Jumptable_UseRegisterQuit: ; 102c7
-
dw UseItem
dw RegisterItem
dw QuitItemSubmenu
; 102cd
MenuDataHeader_HoldableKeyItem: ; 0x102cd
- db $40 ; flags
- db 03, 13 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 13, 3, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
; 0x102d5
.MenuData2: ; 0x102d5
- db $c0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 4 ; items
db "GIVE@"
db "TOSS@"
@@ -422,7 +425,6 @@ MenuDataHeader_HoldableKeyItem: ; 0x102cd
; 0x102ea
Jumptable_GiveTossRegisterQuit: ; 102ea
-
dw GiveItem
dw TossMenu
dw RegisterItem
@@ -430,15 +432,14 @@ Jumptable_GiveTossRegisterQuit: ; 102ea
; 102f2
MenuDataHeader_HoldableItem: ; 0x102f2
- db $40 ; flags
- db 05, 13 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 13, 5, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
; 0x102fa
.MenuData2: ; 0x102fa
- db $c0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 3 ; items
db "GIVE@"
db "TOSS@"
@@ -446,7 +447,6 @@ MenuDataHeader_HoldableItem: ; 0x102f2
; 0x1030b
Jumptable_GiveTossQuit: ; 1030b
-
dw GiveItem
dw TossMenu
dw QuitItemSubmenu
@@ -462,14 +462,14 @@ UseItem: ; 10311
; 1031f
.dw ; 1031f (4:431f)
-
+; entries correspond to ITEMMENU_* constants
+ dw .Oak ; ITEMMENU_NOUSE
dw .Oak
dw .Oak
dw .Oak
- dw .Oak
- dw .Current
- dw .Party
- dw .Field
+ dw .Current ; ITEMMENU_CURRENT
+ dw .Party ; ITEMMENU_PARTY
+ dw .Field ; ITEMMENU_CLOSE
; 1035c
.Oak: ; 1032d (4:432d)
@@ -503,7 +503,7 @@ UseItem: ; 10311
ld a, [wItemEffectSucceeded]
and a
jr z, .Oak
- ld a, $a
+ ld a, PACKSTATE_QUITRUNSCRIPT
ld [wJumptableIndex], a
ret
; 10364 (4:4364)
@@ -534,14 +534,13 @@ TossMenu: ; 10364
ret
; 1039d
-ResetPocketCursorPositions: ; 1039d
-; unreferenced
+Unreferenced_ResetPocketCursorPositions: ; 1039d
ld a, [wCurrPocket]
- and a
+ and a ; ITEM_POCKET
jr z, .items
- dec a
+ dec a ; BALL_POCKET
jr z, .balls
- dec a
+ dec a ; KEY_ITEM_POCKET
jr z, .key
ret
@@ -626,16 +625,16 @@ GiveItem: ; 103fd
.give
ld a, [wJumptableIndex]
push af
- ld a, [wcf64]
+ ld a, [wPackJumptableIndex]
push af
call GetCurNick
ld hl, StringBuffer1
ld de, wMonOrItemNameBuffer
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
call TryGiveItemToPartymon
pop af
- ld [wcf64], a
+ ld [wPackJumptableIndex], a
pop af
ld [wJumptableIndex], a
.finish
@@ -693,6 +692,7 @@ BattlePack: ; 10493
; 104c3
.Jumptable: ; 104c3 (4:44c3)
+; entries correspond to PACKSTATE_* constants
dw .InitGFX ; 0
dw .InitItemsPocket ; 1
dw .ItemsPocketMenu ; 2
@@ -709,13 +709,13 @@ BattlePack: ; 10493
xor a
ld [hBGMapMode], a
call Pack_InitGFX
- ld a, [wcf64]
+ ld a, [wPackJumptableIndex]
ld [wJumptableIndex], a
call Pack_InitColors
ret
.InitItemsPocket: ; 104e9 (4:44e9)
- xor a
+ xor a ; ITEM_POCKET
ld [wCurrPocket], a
call ClearPocketList
call DrawPocketName
@@ -735,15 +735,15 @@ BattlePack: ; 10493
ld [wItemsPocketScrollPosition], a
ld a, [wMenuCursorY]
ld [wItemsPocketCursor], a
- ld b, $7
- ld c, $3
+ ld b, PACKSTATE_INITTMHMPOCKET ; left
+ ld c, PACKSTATE_INITBALLSPOCKET ; right
call Pack_InterpretJoypad
ret c
call ItemSubmenu
ret
.InitKeyItemsPocket: ; 10527 (4:4527)
- ld a, $2
+ ld a, KEY_ITEM_POCKET
ld [wCurrPocket], a
call ClearPocketList
call DrawPocketName
@@ -763,15 +763,15 @@ BattlePack: ; 10493
ld [wKeyItemsPocketScrollPosition], a
ld a, [wMenuCursorY]
ld [wKeyItemsPocketCursor], a
- ld b, $3
- ld c, $7
+ ld b, PACKSTATE_INITBALLSPOCKET ; left
+ ld c, PACKSTATE_INITTMHMPOCKET ; right
call Pack_InterpretJoypad
ret c
call ItemSubmenu
ret
.InitTMHMPocket: ; 10566 (4:4566)
- ld a, $3
+ ld a, TM_HM_POCKET
ld [wCurrPocket], a
call ClearPocketList
call DrawPocketName
@@ -785,8 +785,8 @@ BattlePack: ; 10493
.TMHMPocketMenu: ; 10581 (4:4581)
farcall TMHMPocket
- ld b, $5
- ld c, $1
+ ld b, PACKSTATE_INITKEYITEMSPOCKET ; left
+ ld c, PACKSTATE_INITITEMSPOCKET ; right
call Pack_InterpretJoypad
ret c
xor a
@@ -794,7 +794,7 @@ BattlePack: ; 10493
ret
.InitBallsPocket: ; 10594 (4:4594)
- ld a, $1
+ ld a, BALL_POCKET
ld [wCurrPocket], a
call ClearPocketList
call DrawPocketName
@@ -814,8 +814,8 @@ BattlePack: ; 10493
ld [wBallsPocketScrollPosition], a
ld a, [wMenuCursorY]
ld [wBallsPocketCursor], a
- ld b, $1
- ld c, $5
+ ld b, PACKSTATE_INITITEMSPOCKET ; left
+ ld c, PACKSTATE_INITKEYITEMSPOCKET ; right
call Pack_InterpretJoypad
ret c
call ItemSubmenu
@@ -848,15 +848,14 @@ TMHMSubmenu: ; 105dc (4:45dc)
; 10601 (4:4601)
.UsableMenuDataHeader: ; 0x10601
- db $40 ; flags
- db 07, 13 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 13, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .UsableMenuData2
db 1 ; default option
; 0x10609
.UsableMenuData2: ; 0x10609
- db $c0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 2 ; items
db "USE@"
db "QUIT@"
@@ -868,15 +867,14 @@ TMHMSubmenu: ; 105dc (4:45dc)
; 10618
.UnusableMenuDataHeader: ; 0x10618
- db $40 ; flags
- db 09, 13 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 13, 9, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .UnusableMenuData2
db 1 ; default option
; 0x10620
.UnusableMenuData2: ; 0x10620
- db $c0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 1 ; items
db "QUIT@"
; 0x10627
@@ -893,13 +891,14 @@ TMHMSubmenu: ; 105dc (4:45dc)
ret
.ItemFunctionJumptable: ; 10637 (4:4637)
+; entries correspond to ITEMMENU_* constants
+ dw .Oak ; ITEMMENU_NOUSE
dw .Oak
dw .Oak
dw .Oak
- dw .Oak
- dw .Unused
- dw .BattleField
- dw .BattleOnly
+ dw .Unused ; ITEMMENU_CURRENT
+ dw .BattleField ; ITEMMENU_PARTY
+ dw .BattleOnly ; ITEMMENU_CLOSE
.Oak: ; 10645 (4:4645)
ld hl, Text_ThisIsntTheTime
@@ -937,7 +936,7 @@ TMHMSubmenu: ; 105dc (4:45dc)
cp $2
jr z, .didnt_use_item
.quit_run_script ; 1067e (4:467e)
- ld a, 10
+ ld a, PACKSTATE_QUITRUNSCRIPT
ld [wJumptableIndex], a
ret
@@ -953,15 +952,16 @@ TMHMSubmenu: ; 105dc (4:45dc)
InitPackBuffers: ; 1068a
xor a
ld [wJumptableIndex], a
+ ; pocket id -> jumptable index
ld a, [wLastPocket]
- and $3
+ maskbits NUM_POCKETS
ld [wCurrPocket], a
inc a
add a
dec a
- ld [wcf64], a
- xor a
- ld [wcf66], a
+ ld [wPackJumptableIndex], a
+ xor a ; FALSE
+ ld [wPackUsedItem], a
xor a
ld [wSwitchItem], a
ret
@@ -970,10 +970,10 @@ InitPackBuffers: ; 1068a
DepositSellInitPackBuffers: ; 106a5
xor a
ld [hBGMapMode], a
- ld [wJumptableIndex], a
- ld [wcf64], a
- ld [wCurrPocket], a
- ld [wcf66], a
+ ld [wJumptableIndex], a ; PACKSTATE_INITGFX
+ ld [wPackJumptableIndex], a ; PACKSTATE_INITGFX
+ ld [wCurrPocket], a ; ITEM_POCKET
+ ld [wPackUsedItem], a
ld [wSwitchItem], a
call Pack_InitGFX
call Pack_InitColors
@@ -997,13 +997,14 @@ DepositSellPack: ; 106be
; 106d1
.Jumptable: ; 106d1 (4:46d1)
+; entries correspond to *_POCKET constants
dw .ItemsPocket
dw .BallsPocket
dw .KeyItemsPocket
dw .TMHMPocket
.ItemsPocket: ; 106d9 (4:46d9)
- xor a
+ xor a ; ITEM_POCKET
call InitPocket
ld hl, PC_Mart_ItemsPocketMenuDataHeader
call CopyMenuDataHeader
@@ -1019,7 +1020,7 @@ DepositSellPack: ; 106be
ret
.KeyItemsPocket: ; 106ff (4:46ff)
- ld a, 2
+ ld a, KEY_ITEM_POCKET
call InitPocket
ld hl, PC_Mart_KeyItemsPocketMenuDataHeader
call CopyMenuDataHeader
@@ -1035,7 +1036,7 @@ DepositSellPack: ; 106be
ret
.TMHMPocket: ; 10726 (4:4726)
- ld a, 3
+ ld a, TM_HM_POCKET
call InitPocket
call WaitBGMap_DrawPackGFX
farcall TMHMPocket
@@ -1044,7 +1045,7 @@ DepositSellPack: ; 106be
ret
.BallsPocket: ; 1073b (4:473b)
- ld a, 1
+ ld a, BALL_POCKET
call InitPocket
ld hl, PC_Mart_BallsPocketMenuDataHeader
call CopyMenuDataHeader
@@ -1085,20 +1086,20 @@ DepositSellTutorial_InterpretJoypad: ; 1076f
.a_button
ld a, TRUE
- ld [wcf66], a
+ ld [wPackUsedItem], a
and a
ret
.b_button
- xor a
- ld [wcf66], a
+ xor a ; FALSE
+ ld [wPackUsedItem], a
and a
ret
.d_left
ld a, [wJumptableIndex]
dec a
- and $3
+ maskbits NUM_POCKETS
ld [wJumptableIndex], a
push de
ld de, SFX_SWITCH_POCKETS
@@ -1110,7 +1111,7 @@ DepositSellTutorial_InterpretJoypad: ; 1076f
.d_right
ld a, [wJumptableIndex]
inc a
- and $3
+ maskbits NUM_POCKETS
ld [wJumptableIndex], a
push de
ld de, SFX_SWITCH_POCKETS
@@ -1130,8 +1131,8 @@ TutorialPack: ; 107bb
call .RunJumptable
call DepositSellTutorial_InterpretJoypad
jr c, .loop
- xor a
- ld [wcf66], a
+ xor a ; FALSE
+ ld [wPackUsedItem], a
ret
; 107d7
@@ -1144,28 +1145,27 @@ TutorialPack: ; 107bb
; 107e1
.dw ; 107e1 (4:47e1)
-
+; entries correspond to *_POCKET constants
dw .Items
dw .Balls
dw .KeyItems
dw .TMHM
.Items: ; 107e9 (4:47e9)
- xor a
+ xor a ; ITEM_POCKET
ld hl, .ItemsMenuDataHeader
jr .DisplayPocket
; 107ef (4:47ef)
.ItemsMenuDataHeader: ; 0x107ef
- db $40 ; flags
- db 01, 07 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 7, 1, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .ItemsMenuData2
db 1 ; default option
; 0x107f7
.ItemsMenuData2: ; 0x107f7
- db $ae ; flags
+ db STATICMENU_ENABLE_SELECT | STATICMENU_ENABLE_LEFT_RIGHT | STATICMENU_ENABLE_START | STATICMENU_WRAP | STATICMENU_CURSOR ; flags
db 5, 8 ; rows, columns
db 2 ; horizontal spacing
dbw 0, wDudeNumItems
@@ -1175,21 +1175,20 @@ TutorialPack: ; 107bb
; 10807
.KeyItems: ; 10807 (4:4807)
- ld a, 2
+ ld a, KEY_ITEM_POCKET
ld hl, .KeyItemsMenuDataHeader
jr .DisplayPocket
; 1080e (4:480e)
.KeyItemsMenuDataHeader: ; 0x1080e
- db $40 ; flags
- db 01, 07 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 7, 1, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .KeyItemsMenuData2
db 1 ; default option
; 0x10816
.KeyItemsMenuData2: ; 0x10816
- db $ae ; flags
+ db STATICMENU_ENABLE_SELECT | STATICMENU_ENABLE_LEFT_RIGHT | STATICMENU_ENABLE_START | STATICMENU_WRAP | STATICMENU_CURSOR ; flags
db 5, 8 ; rows, columns
db 1 ; horizontal spacing
dbw 0, wDudeNumKeyItems
@@ -1199,7 +1198,7 @@ TutorialPack: ; 107bb
; 10826
.TMHM: ; 10826 (4:4826)
- ld a, 3
+ ld a, TM_HM_POCKET
call InitPocket
call WaitBGMap_DrawPackGFX
farcall TMHMPocket
@@ -1208,21 +1207,20 @@ TutorialPack: ; 107bb
ret
.Balls: ; 1083b (4:483b)
- ld a, 1
+ ld a, BALL_POCKET
ld hl, .BallsMenuDataHeader
jr .DisplayPocket
; 10842 (4:4842)
.BallsMenuDataHeader: ; 0x10842
- db $40 ; flags
- db 01, 07 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 7, 1, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .BallsMenuData2
db 1 ; default option
; 0x1084a
.BallsMenuData2: ; 0x1084a
- db $ae ; flags
+ db STATICMENU_ENABLE_SELECT | STATICMENU_ENABLE_LEFT_RIGHT | STATICMENU_ENABLE_START | STATICMENU_WRAP | STATICMENU_CURSOR ; flags
db 5, 8 ; rows, columns
db 2 ; horizontal spacing
dbw 0, wDudeNumBalls
@@ -1258,15 +1256,15 @@ Pack_GetJumptablePointer: ; 1086b
Pack_QuitNoScript: ; 10874 (4:4874)
ld hl, wJumptableIndex
set 7, [hl]
- xor a
- ld [wcf66], a
+ xor a ; FALSE
+ ld [wPackUsedItem], a
ret
Pack_QuitRunScript: ; 1087e (4:487e)
ld hl, wJumptableIndex
set 7, [hl]
ld a, TRUE
- ld [wcf66], a
+ ld [wPackUsedItem], a
ret
Pack_PrintTextNoScroll: ; 10889 (4:4889)
@@ -1283,7 +1281,7 @@ WaitBGMap_DrawPackGFX: ; 1089a (4:489a)
call WaitBGMap
DrawPackGFX: ; 1089d
ld a, [wCurrPocket]
- and $3
+ maskbits NUM_POCKETS
ld e, a
ld d, $0
ld a, [BattleType]
@@ -1310,10 +1308,10 @@ DrawPackGFX: ; 1089d
; 108cc
PackGFXPointers: ; 108cc
- dw PackGFX + (15 tiles) * 1
- dw PackGFX + (15 tiles) * 3
- dw PackGFX + (15 tiles) * 0
- dw PackGFX + (15 tiles) * 2
+ dw PackGFX + (15 tiles) * 1 ; ITEM_POCKET
+ dw PackGFX + (15 tiles) * 3 ; BALL_POCKET
+ dw PackGFX + (15 tiles) * 0 ; KEY_ITEM_POCKET
+ dw PackGFX + (15 tiles) * 2 ; TM_HM_POCKET
; 108d4
Pack_InterpretJoypad: ; 108d4 (4:48d4)
@@ -1344,7 +1342,7 @@ Pack_InterpretJoypad: ; 108d4 (4:48d4)
ret
.b_button
- ld a, 9
+ ld a, PACKSTATE_QUITNOSCRIPT
ld [wJumptableIndex], a
scf
ret
@@ -1352,7 +1350,7 @@ Pack_InterpretJoypad: ; 108d4 (4:48d4)
.d_left
ld a, b
ld [wJumptableIndex], a
- ld [wcf64], a
+ ld [wPackJumptableIndex], a
push de
ld de, SFX_SWITCH_POCKETS
call PlaySFX
@@ -1363,7 +1361,7 @@ Pack_InterpretJoypad: ; 108d4 (4:48d4)
.d_right
ld a, c
ld [wJumptableIndex], a
- ld [wcf64], a
+ ld [wPackJumptableIndex], a
push de
ld de, SFX_SWITCH_POCKETS
call PlaySFX
@@ -1489,15 +1487,19 @@ DrawPocketName: ; 109bb
; 109e1
.tilemap ; 109e1
+; ITEM_POCKET
db $00, $04, $04, $04, $01 ; top border
db $06, $07, $08, $09, $0a ; Items
db $02, $05, $05, $05, $03 ; bottom border
+; BALL_POCKET
db $00, $04, $04, $04, $01 ; top border
db $15, $16, $17, $18, $19 ; Balls
db $02, $05, $05, $05, $03 ; bottom border
+; KEY_ITEM_POCKET
db $00, $04, $04, $04, $01 ; top border
db $0b, $0c, $0d, $0e, $0f ; Key Items
db $02, $05, $05, $05, $03 ; bottom border
+; TM_HM_POCKET
db $00, $04, $04, $04, $01 ; top border
db $10, $11, $12, $13, $14 ; TM/HM
db $02, $05, $05, $05, $03 ; bottom border
@@ -1511,8 +1513,7 @@ Pack_GetItemName: ; 10a1d
ret
; 10a2a
-Pack_ClearTilemap: ; 10a2a
-; unreferenced
+Unreferenced_Pack_ClearTilemap: ; 10a2a
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
ld a, " "
@@ -1536,15 +1537,14 @@ Pack_InitColors: ; 10a40
; 10a4f
ItemsPocketMenuDataHeader: ; 0x10a4f
- db $40 ; flags
- db 01, 07 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 7, 1, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
; 0x10a57
.MenuData2: ; 0x10a57
- db $ae ; flags
+ db STATICMENU_ENABLE_SELECT | STATICMENU_ENABLE_LEFT_RIGHT | STATICMENU_ENABLE_START | STATICMENU_WRAP | STATICMENU_CURSOR ; flags
db 5, 8 ; rows, columns
db 2 ; horizontal spacing
dbw 0, NumItems
@@ -1554,15 +1554,14 @@ ItemsPocketMenuDataHeader: ; 0x10a4f
; 10a67
PC_Mart_ItemsPocketMenuDataHeader: ; 0x10a67
- db $40 ; flags
- db 01, 07 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 7, 1, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
; 0x10a6f
.MenuData2: ; 0x10a6f
- db $2e ; flags
+ db STATICMENU_ENABLE_SELECT | STATICMENU_ENABLE_LEFT_RIGHT | STATICMENU_ENABLE_START | STATICMENU_WRAP ; flags
db 5, 8 ; rows, columns
db 2 ; horizontal spacing
dbw 0, NumItems
@@ -1572,15 +1571,14 @@ PC_Mart_ItemsPocketMenuDataHeader: ; 0x10a67
; 10a7f
KeyItemsPocketMenuDataHeader: ; 0x10a7f
- db $40 ; flags
- db 01, 07 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 7, 1, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
; 0x10a87
.MenuData2: ; 0x10a87
- db $ae ; flags
+ db STATICMENU_ENABLE_SELECT | STATICMENU_ENABLE_LEFT_RIGHT | STATICMENU_ENABLE_START | STATICMENU_WRAP | STATICMENU_CURSOR ; flags
db 5, 8 ; rows, columns
db 1 ; horizontal spacing
dbw 0, NumKeyItems
@@ -1590,15 +1588,14 @@ KeyItemsPocketMenuDataHeader: ; 0x10a7f
; 10a97
PC_Mart_KeyItemsPocketMenuDataHeader: ; 0x10a97
- db $40 ; flags
- db 01, 07 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 7, 1, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
; 0x10a9f
.MenuData2: ; 0x10a9f
- db $2e ; flags
+ db STATICMENU_ENABLE_SELECT | STATICMENU_ENABLE_LEFT_RIGHT | STATICMENU_ENABLE_START | STATICMENU_WRAP ; flags
db 5, 8 ; rows, columns
db 1 ; horizontal spacing
dbw 0, NumKeyItems
@@ -1608,15 +1605,14 @@ PC_Mart_KeyItemsPocketMenuDataHeader: ; 0x10a97
; 10aaf
BallsPocketMenuDataHeader: ; 0x10aaf
- db $40 ; flags
- db 01, 07 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 7, 1, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
; 0x10ab7
.MenuData2: ; 0x10ab7
- db $ae ; flags
+ db STATICMENU_ENABLE_SELECT | STATICMENU_ENABLE_LEFT_RIGHT | STATICMENU_ENABLE_START | STATICMENU_WRAP | STATICMENU_CURSOR ; flags
db 5, 8 ; rows, columns
db 2 ; horizontal spacing
dbw 0, NumBalls
@@ -1626,15 +1622,14 @@ BallsPocketMenuDataHeader: ; 0x10aaf
; 10ac7
PC_Mart_BallsPocketMenuDataHeader: ; 0x10ac7
- db $40 ; flags
- db 01, 07 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 7, 1, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
; 0x10acf
.MenuData2: ; 0x10acf
- db $2e ; flags
+ db STATICMENU_ENABLE_SELECT | STATICMENU_ENABLE_LEFT_RIGHT | STATICMENU_ENABLE_START | STATICMENU_WRAP ; flags
db 5, 8 ; rows, columns
db 2 ; horizontal spacing
dbw 0, NumBalls
diff --git a/engine/party_menu.asm b/engine/party_menu.asm
index 0415e29e4..5ef9b50de 100644
--- a/engine/party_menu.asm
+++ b/engine/party_menu.asm
@@ -50,23 +50,23 @@ WritePartyMenuTilemap: ; 0x5005f
ld hl, Options
ld a, [hl]
push af
- set 4, [hl] ; Disable text delay
+ set NO_TEXT_SCROLL, [hl]
xor a
ld [hBGMapMode], a
hlcoord 0, 0
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
ld a, " "
call ByteFill ; blank the tilemap
- call GetPartyMenuTilemapPointers ; This reads from a pointer table???
+ call GetPartyMenuQualityIndexes
.loop
ld a, [hli]
- cp $ff
- jr z, .end ; 0x5007a $8
+ cp -1
+ jr z, .end
push hl
ld hl, .Jumptable
rst JumpTable
pop hl
- jr .loop ; 0x50082 $f3
+ jr .loop
.end
pop af
ld [Options], a
@@ -74,6 +74,7 @@ WritePartyMenuTilemap: ; 0x5005f
; 0x50089
.Jumptable: ; 50089
+; entries correspond to PARTYMENUQUALITY_* constants
dw PlacePartyNicknames
dw PlacePartyHPBar
dw PlacePartyMenuHPDigits
@@ -523,7 +524,7 @@ PlacePartyMonMobileBattleSelection: ; 50307
dec c
jr nz, .loop
ld a, l
- ld e, PKMN_NAME_LENGTH
+ ld e, MON_NAME_LENGTH
sub e
ld l, a
ld a, h
@@ -573,16 +574,16 @@ PlacePartyMonMobileBattleSelection: ; 50307
; 5036b
.String_Banme: ; 5036b
- db " ばんめ @" ; Place
+ db " ばんめ  @" ; Place
; 50372
.String_Sanka_Shinai: ; 50372
db "さんかしない@" ; Cancel
; 50379
.String_Kettei_Yameru: ; 50379
- db "けってい やめる@" ; Quit
+ db "けってい  やめる@" ; Quit
; 50383
.Strings_1_2_3: ; 50383
- db "1@", "2@", "3@" ; 1st, 2nd, 3rd
+ db "1@", "2@", "3@" ; 1st, 2nd, 3rd
; 50389
@@ -598,7 +599,7 @@ PartyMenuCheckEgg: ; 50389
ret
; 50396
-GetPartyMenuTilemapPointers: ; 50396
+GetPartyMenuQualityIndexes: ; 50396
ld a, [PartyMenuActionText]
and $f0
jr nz, .skip
@@ -606,7 +607,7 @@ GetPartyMenuTilemapPointers: ; 50396
and $f
ld e, a
ld d, 0
- ld hl, .Pointers
+ ld hl, PartyMenuQualityPointers
add hl, de
add hl, de
ld a, [hli]
@@ -615,29 +616,11 @@ GetPartyMenuTilemapPointers: ; 50396
ret
.skip
- ld hl, .Default
+ ld hl, PartyMenuQualityPointers.Default
ret
; 503b2
-.Pointers: ; 503b2
- dw .Default
- dw .Default
- dw .Default
- dw .TMHM
- dw .Default
- dw .EvoStone
- dw .Gender
- dw .Gender
- dw .Default
- dw .Mobile
-; 503c6
-
-.Default: db 0, 1, 2, 3, 4, $ff
-.TMHM: db 0, 5, 3, 4, $ff
-.EvoStone: db 0, 6, 3, 4, $ff
-.Gender: db 0, 7, 3, 4, $ff
-.Mobile: db 0, 8, 3, 4, $ff
-; 503e0
+INCLUDE "data/party_menu_qualities.asm"
InitPartyMenuGFX: ; 503e0
@@ -817,25 +800,33 @@ PartyMenuStrings: ; 0x504d2
ChooseAMonString: ; 0x504e4
db "Choose a #MON.@"
+
UseOnWhichPKMNString: ; 0x504f3
db "Use on which <PK><MN>?@"
+
WhichPKMNString: ; 0x50504
db "Which <PK><MN>?@"
+
TeachWhichPKMNString: ; 0x5050e
db "Teach which <PK><MN>?@"
+
MoveToWhereString: ; 0x5051e
db "Move to where?@"
-ChooseAFemalePKMNString: ; 0x5052d ; UNUSED
+
+ChooseAFemalePKMNString: ; 0x5052d
+; unused
db "Choose a ♀<PK><MN>.@"
-ChooseAMalePKMNString: ; 0x5053b ; UNUSED
+
+ChooseAMalePKMNString: ; 0x5053b
+; unused
db "Choose a ♂<PK><MN>.@"
+
ToWhichPKMNString: ; 0x50549
db "To which <PK><MN>?@"
YouHaveNoPKMNString: ; 0x50556
db "You have no <PK><MN>!@"
-
PrintPartyMenuActionText: ; 50566
ld a, [CurPartyMon]
ld hl, PartyMonNicknames
diff --git a/engine/phone/buenas_password.asm b/engine/phone/buenas_password.asm
index 858ce5540..0d144afa6 100644
--- a/engine/phone/buenas_password.asm
+++ b/engine/phone/buenas_password.asm
@@ -167,4 +167,4 @@ BuenaPhoneScript_Random1:
end
; a0c28
-INCLUDE "text/phone/buena.asm"
+INCLUDE "data/phone/text/buena.asm"
diff --git a/engine/phone/generic_calls.asm b/engine/phone/generic_calls.asm
index e1b53a950..937fc67c0 100644
--- a/engine/phone/generic_calls.asm
+++ b/engine/phone/generic_calls.asm
@@ -1240,7 +1240,7 @@ PhoneScript_Generic_Female:
end
PhoneScript_MonFlavorText:
- special RandomPhoneMon
+ special Special_RandomPhoneMon
farscall PhoneScript_Random2
if_equal $0, .TooEnergetic
farwritetext UnknownText_0x1b518b
diff --git a/engine/phone/phone.asm b/engine/phone/phone.asm
index 53bb519b3..f402e9102 100644
--- a/engine/phone/phone.asm
+++ b/engine/phone/phone.asm
@@ -75,20 +75,20 @@ GetRemainingSpaceInPhoneList: ; 90040
cp -1
jr z, .done
cp c
- jr z, .elm_or_mom
+ jr z, .continue
+
push bc
push hl
ld c, a
call _CheckCellNum
- jr c, .elm_or_mom_in_list
+ jr c, .permanent
ld hl, Buffer1
inc [hl]
-
-.elm_or_mom_in_list
+.permanent
pop hl
pop bc
-.elm_or_mom
+.continue
jr .loop
.done
@@ -98,9 +98,7 @@ GetRemainingSpaceInPhoneList: ; 90040
ret
; 90066
-PermanentNumbers: ; 90066
- db PHONECONTACT_MOM, PHONECONTACT_ELM, -1
-; 90069
+INCLUDE "data/phone/permanent_numbers.asm"
FarPlaceString: ; 90069
@@ -133,7 +131,7 @@ CheckPhoneCall:: ; 90074 (24:4074)
cp b
jr nz, .no_call
- call GetMapHeaderPhoneServiceNybble
+ call GetMapPhoneService
and a
jr nz, .no_call
@@ -165,7 +163,7 @@ CheckPhoneContactTimeOfDay: ; 900ad (24:40ad)
farcall CheckTime
pop af
- and MORN | DAY | NITE
+ and ANYTIME
and c
pop de
@@ -330,7 +328,7 @@ Function90199: ; 90199 (24:4199)
and a
jr nz, .OutOfArea
; If you're in an area without phone service, don't do the call
- call GetMapHeaderPhoneServiceNybble
+ call GetMapPhoneService
and a
jr nz, .OutOfArea
; If the person can't take a call at that time, don't do the call
@@ -439,7 +437,7 @@ WrongNumber: ; 90233
; 90241
Script_ReceivePhoneCall: ; 0x90241
- refreshscreen $0
+ refreshscreen
callasm RingTwice_StartCall
ptcall wPhoneScriptPointer
waitbutton
@@ -471,7 +469,7 @@ UnknownScript_0x90261: ; 0x90261
RingTwice_StartCall: ; 9026f
call .Ring
call .Ring
- farcall TrainerRankings_PhoneCalls
+ farcall StubbedTrainerRankings_PhoneCalls
ret
; 9027c
@@ -500,7 +498,7 @@ PhoneCall:: ; 9029a
ld [PhoneCaller + 1], a
call Phone_FirstOfTwoRings
call Phone_FirstOfTwoRings
- farcall TrainerRankings_PhoneCalls
+ farcall StubbedTrainerRankings_PhoneCalls
ret
; 902b3
@@ -518,7 +516,7 @@ Phone_FirstOfTwoRings: ; 902b3
Phone_CallerTextboxWithName2: ; 902c9
call Phone_CallerTextbox
hlcoord 1, 2
- ld [hl], "<PHONE>"
+ ld [hl], "☎"
inc hl
inc hl
ld a, [PhoneScriptBank]
@@ -618,7 +616,7 @@ Function90363: ; 90363 (24:4363)
push bc
call Phone_CallerTextbox
hlcoord 1, 1
- ld [hl], "<PHONE>"
+ ld [hl], "☎"
inc hl
inc hl
ld d, h
@@ -719,7 +717,7 @@ NonTrainerCallerNames: ; 903d6
.bill db "BILL:@"
.elm db "PROF.ELM:@"
.bikeshop db "BIKE SHOP:@"
-.buena db "BUENA:", $22, " DISC JOCKEY@"
+.buena db "BUENA:<LNBRK> DISC JOCKEY@"
; 90423
Phone_GetTrainerName: ; 90423 (24:4423)
@@ -761,9 +759,9 @@ GetCallerLocation: ; 90439
; 9045f
-INCLUDE "data/phone_contacts.asm"
+INCLUDE "data/phone/phone_contacts.asm"
-INCLUDE "data/phone_special.asm"
+INCLUDE "data/phone/special_calls.asm"
UnknownScript_0x90657: ; 0x90657
diff --git a/engine/phone/phone_callers.asm b/engine/phone/phone_callers.asm
index c90448d33..cb333ae8d 100644
--- a/engine/phone/phone_callers.asm
+++ b/engine/phone/phone_callers.asm
@@ -1,5 +1,5 @@
Phone_GenericCall_Male:
- special RandomPhoneMon
+ special Special_RandomPhoneMon
farscall PhoneScript_Random2
if_equal 0, .Bragging
farscall PhoneScript_Generic_Male
@@ -9,7 +9,7 @@ Phone_GenericCall_Male:
farjump Phone_BraggingCall_Male
Phone_GenericCall_Female:
- special RandomPhoneMon
+ special Special_RandomPhoneMon
farscall PhoneScript_Random2
if_equal 0, .Bragging
farscall PhoneScript_Generic_Female
@@ -27,7 +27,7 @@ Phone_BraggingCall_Female:
farjump Phone_FoundAMon_Female
Phone_FoundAMon_Male:
- special RandomPhoneWildMon
+ special Special_RandomPhoneWildMon
farscall PhoneScript_Random2
if_equal 0, .GotAway
farscall Phone_WhoDefeatedMon_Male
@@ -37,7 +37,7 @@ Phone_FoundAMon_Male:
farjump Phone_GotAwayCall_Male
Phone_FoundAMon_Female:
- special RandomPhoneWildMon
+ special Special_RandomPhoneWildMon
farscall PhoneScript_Random2
if_equal 0, .GotAway
farscall Phone_WhoDefeatedMon_Female
@@ -851,7 +851,7 @@ Phone_CheckIfUnseenRare_Female:
farjump PhoneScript_HangupText_Female
PhoneScriptRareWildMon:
- special RandomUnseenWildMon
+ special Special_RandomUnseenWildMon
end
PhoneScript_BugCatchingContest:
diff --git a/engine/phone/phone_scripts.asm b/engine/phone/phone_scripts.asm
index 62eb4ac87..646040641 100644
--- a/engine/phone/phone_scripts.asm
+++ b/engine/phone/phone_scripts.asm
@@ -20,10 +20,10 @@ MomPhoneScript: ; 0xbceaa
iftrue MomPhoneHangUpScript
farwritetext MomPhoneGreetingText
buttonsound
- mapnametotext $0
+ mapnametotext MEM_BUFFER_0
checkcode VAR_ROOFPALETTE
- if_equal $1, MomPhonePalette1
- if_equal $2, MomPhonePalette2
+ if_equal 1, MomPhonePalette1
+ if_equal 2, MomPhonePalette2
jump MomPhoneOther
MomPhoneLandmark: ; 0xbcedf
@@ -53,13 +53,13 @@ MomPhonePalette1: ; 0xbcee7
jump MomSavingMoney
.violet ; 0xbcf15
- landmarktotext SPROUT_TOWER, 1
+ landmarktotext SPROUT_TOWER, MEM_BUFFER_1
jump MomPhoneLandmark
.azalea ; 0xbcf1b
- landmarktotext SLOWPOKE_WELL, 1
+ landmarktotext SLOWPOKE_WELL, MEM_BUFFER_1
jump MomPhoneLandmark
.goldenrod ; 0xbcf21
- landmarktotext RADIO_TOWER, 1
+ landmarktotext RADIO_TOWER, MEM_BUFFER_1
jump MomPhoneLandmark
MomPhonePalette2: ; 0xbcf27
@@ -75,17 +75,17 @@ MomPhoneOther: ; 0xbcf2f
MomSavingMoney: ; 0xbcf37
checkflag ENGINE_MOM_SAVING_MONEY
iffalse MomIsNotSaving
- checkmoney $1, 0
- if_equal $0, MomSavingHasMoney
+ checkmoney MOMS_MONEY, 0
+ if_equal HAVE_MORE, MomSavingHasMoney
jump MomSavingButBroke
MomIsNotSaving: ; 0xbcf49
- checkmoney $1, 0
- if_equal $0, MomHasMoney
+ checkmoney MOMS_MONEY, 0
+ if_equal HAVE_MORE, MomHasMoney
jump MomHasNoMoney
MomSavingHasMoney: ; 0xbcf55
- readmoney $1, $0
+ readmoney MOMS_MONEY, MEM_BUFFER_0
farwritetext MomCheckBalanceText
yesorno
iftrue MomPhoneSaveMoneyScript
@@ -104,7 +104,7 @@ MomHasNoMoney: ; 0xbcf6e
jump MomPhoneWontSaveMoneyScript
MomHasMoney: ; 0xbcf79
- readmoney $1, $0
+ readmoney MOMS_MONEY, MEM_BUFFER_0
farwritetext MomYouveSavedText
yesorno
iftrue MomPhoneSaveMoneyScript
@@ -172,9 +172,9 @@ BillPhoneScript1: ; 0xbcfc5
farwritetext BillPhoneGeneriText
buttonsound
checkcode VAR_BOXSPACE
- RAM2MEM $0
- if_equal $0, .full
- if_less_than $6, .nearlyfull
+ vartomem MEM_BUFFER_0
+ if_equal 0, .full
+ if_less_than PARTY_LENGTH, .nearlyfull
farwritetext BillPhoneNotFullText
end
@@ -195,7 +195,7 @@ BillPhoneScript2: ; 0xbd007
ElmPhoneScript1: ; 0xbd00d
checkcode VAR_SPECIALPHONECALL
- if_equal $1, .pokerus
+ if_equal SPECIALCALL_POKERUS, .pokerus
checkevent EVENT_SHOWED_TOGEPI_TO_ELM
iftrue .discovery
checkevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
@@ -242,8 +242,8 @@ ElmPhoneScript1: ; 0xbd00d
end
.discovery ; 0xbd069
- random $2
- if_equal $0, .nextdiscovery
+ random 2
+ if_equal 0, .nextdiscovery
farwritetext ElmPhoneDiscovery1Text
end
@@ -258,11 +258,11 @@ ElmPhoneScript1: ; 0xbd00d
ElmPhoneScript2: ; 0xbd081
checkcode VAR_SPECIALPHONECALL
- if_equal $2, .disaster
- if_equal $3, .assistant
- if_equal $4, .rocket
- if_equal $5, .gift
- if_equal $8, .gift
+ if_equal SPECIALCALL_ROBBED, .disaster
+ if_equal SPECIALCALL_ASSISTANT, .assistant
+ if_equal SPECIALCALL_WEIRDBROADCAST, .rocket
+ if_equal SPECIALCALL_SSTICKET, .gift
+ if_equal SPECIALCALL_MASTERBALL, .gift
farwritetext ElmPhonePokerusText
specialphonecall SPECIALCALL_NONE
end
@@ -299,7 +299,7 @@ ElmPhoneScript2: ; 0xbd081
; Jack
JackPhoneScript1:
- trainertotext SCHOOLBOY, JACK1, $0
+ trainertotext SCHOOLBOY, JACK1, MEM_BUFFER_0
checkflag ENGINE_JACK
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Male
@@ -314,31 +314,31 @@ JackPhoneScript1:
farjump JackPhoneTips
.WantsBattle:
- landmarktotext NATIONAL_PARK, $2
+ landmarktotext NATIONAL_PARK, MEM_BUFFER_2
farjump JackWantsBattleScript
JackPhoneScript2:
- trainertotext SCHOOLBOY, JACK1, $0
+ trainertotext SCHOOLBOY, JACK1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Male
farscall PhoneScript_Random2
- if_equal $0, JackBattleTrivia
+ if_equal 0, JackBattleTrivia
checkflag ENGINE_JACK
iftrue .WaitingForBattle
checkflag ENGINE_JACK_MONDAY_MORNING
iftrue .WaitingForBattle
farscall PhoneScript_Random2
- if_equal $0, JackWantsToBattle
+ if_equal 0, JackWantsToBattle
.WaitingForBattle:
farscall PhoneScript_Random3
- if_equal $0, JackFindsRare
+ if_equal 0, JackFindsRare
farjump Phone_GenericCall_Male
JackMondayMorning:
setflag ENGINE_JACK_MONDAY_MORNING
JackWantsToBattle:
- landmarktotext NATIONAL_PARK, $2
+ landmarktotext NATIONAL_PARK, MEM_BUFFER_2
setflag ENGINE_JACK
farjump PhoneScript_WantsToBattle_Male
@@ -351,36 +351,36 @@ JackBattleTrivia:
; Beverly
BeverlyPhoneScript1:
- trainertotext POKEFANF, BEVERLY1, $0
+ trainertotext POKEFANF, BEVERLY1, MEM_BUFFER_0
farscall PhoneScript_AnswerPhone_Female
checkflag ENGINE_BEVERLY_HAS_NUGGET
iftrue .HasNugget
farjump UnknownScript_0xa0900
.HasNugget:
- landmarktotext NATIONAL_PARK, $2
+ landmarktotext NATIONAL_PARK, MEM_BUFFER_2
farjump UnknownScript_0xa0aa5
BeverlyPhoneScript2:
- trainertotext POKEFANF, BEVERLY1, $0
+ trainertotext POKEFANF, BEVERLY1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Female
checkflag ENGINE_BEVERLY_HAS_NUGGET
iftrue .HasNugget
farscall PhoneScript_Random4
- if_equal $0, .FoundNugget
+ if_equal 0, .FoundNugget
.HasNugget:
farjump Phone_GenericCall_Female
.FoundNugget:
setflag ENGINE_BEVERLY_HAS_NUGGET
- landmarktotext NATIONAL_PARK, $2
+ landmarktotext NATIONAL_PARK, MEM_BUFFER_2
farjump PhoneScript_FoundItem_Female
; Huey
HueyPhoneScript1:
- trainertotext SAILOR, HUEY1, $0
+ trainertotext SAILOR, HUEY1, MEM_BUFFER_0
checkflag ENGINE_HUEY
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Male
@@ -392,23 +392,23 @@ HueyPhoneScript1:
iftrue HueyWednesdayNight
.NotWednesday:
- special RandomPhoneMon
+ special Special_RandomPhoneMon
farjump UnknownScript_0xa0908
.WantsBattle:
- landmarktotext LIGHTHOUSE, $2
+ landmarktotext LIGHTHOUSE, MEM_BUFFER_2
farjump HueyWantsBattleScript
HueyPhoneScript2:
- trainertotext SAILOR, HUEY1, $0
+ trainertotext SAILOR, HUEY1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_HUEY
iftrue .Flavor
checkflag ENGINE_HUEY_WEDNESDAY_NIGHT
iftrue .Flavor
farscall PhoneScript_Random3
- if_equal $0, HueyWantsBattle
- if_equal $1, HueyWantsBattle
+ if_equal 0, HueyWantsBattle
+ if_equal 1, HueyWantsBattle
.Flavor:
farjump PhoneScript_MonFlavorText
@@ -417,14 +417,14 @@ HueyWednesdayNight:
setflag ENGINE_HUEY_WEDNESDAY_NIGHT
HueyWantsBattle:
- landmarktotext LIGHTHOUSE, $2
+ landmarktotext LIGHTHOUSE, MEM_BUFFER_2
setflag ENGINE_HUEY
farjump PhoneScript_WantsToBattle_Male
; Gaven
GavenPhoneScript1:
- trainertotext COOLTRAINERM, GAVEN3, $0
+ trainertotext COOLTRAINERM, GAVEN3, MEM_BUFFER_0
checkflag ENGINE_GAVEN
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Male
@@ -439,29 +439,29 @@ GavenPhoneScript1:
farjump UnknownScript_0xa0910
.WantsBattle:
- landmarktotext ROUTE_26, $2
+ landmarktotext ROUTE_26, MEM_BUFFER_2
farjump UnknownScript_0xa0a37
GavenPhoneScript2:
- trainertotext COOLTRAINERM, GAVEN3, $0
+ trainertotext COOLTRAINERM, GAVEN3, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_GAVEN
iftrue .WaitingForBattle
checkflag ENGINE_GAVEN_THURSDAY_MORNING
iftrue .WaitingForBattle
farscall PhoneScript_Random2
- if_equal $0, GavenWantsRematch
+ if_equal 0, GavenWantsRematch
.WaitingForBattle:
farscall PhoneScript_Random3
- if_equal $0, GavenFoundRare
+ if_equal 0, GavenFoundRare
farjump Phone_GenericCall_Male
GavenThursdayMorning:
setflag ENGINE_GAVEN_THURSDAY_MORNING
GavenWantsRematch:
- landmarktotext ROUTE_26, $2
+ landmarktotext ROUTE_26, MEM_BUFFER_2
setflag ENGINE_GAVEN
farjump PhoneScript_WantsToBattle_Male
@@ -471,7 +471,7 @@ GavenFoundRare:
; Beth
BethPhoneScript1:
- trainertotext COOLTRAINERF, BETH1, $0
+ trainertotext COOLTRAINERF, BETH1, MEM_BUFFER_0
checkflag ENGINE_BETH
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Female
@@ -486,18 +486,18 @@ BethPhoneScript1:
farjump UnknownScript_0xa0918
.WantsBattle:
- landmarktotext ROUTE_26, $2
+ landmarktotext ROUTE_26, MEM_BUFFER_2
farjump BethBattleReminderScript
BethPhoneScript2:
- trainertotext COOLTRAINERF, BETH1, $0
+ trainertotext COOLTRAINERF, BETH1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Female
checkflag ENGINE_BETH
iftrue .Generic
checkflag ENGINE_BETH_FRIDAY_AFTERNOON
iftrue .Generic
farscall PhoneScript_Random2
- if_equal $0, BethWantsBattle
+ if_equal 0, BethWantsBattle
.Generic:
farjump Phone_GenericCall_Female
@@ -506,14 +506,14 @@ BethFridayAfternoon:
setflag ENGINE_BETH_FRIDAY_AFTERNOON
BethWantsBattle:
- landmarktotext ROUTE_26, $2
+ landmarktotext ROUTE_26, MEM_BUFFER_2
setflag ENGINE_BETH
farjump PhoneScript_WantsToBattle_Female
; Jose
JosePhoneScript1:
- trainertotext BIRD_KEEPER, JOSE2, $0
+ trainertotext BIRD_KEEPER, JOSE2, MEM_BUFFER_0
checkflag ENGINE_JOSE
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Male
@@ -530,15 +530,15 @@ JosePhoneScript1:
farjump UnknownScript_0xa0920
.WantsBattle:
- landmarktotext ROUTE_27, $2
+ landmarktotext ROUTE_27, MEM_BUFFER_2
farjump UnknownScript_0xa0a41
.HasItem:
- landmarktotext ROUTE_27, $2
+ landmarktotext ROUTE_27, MEM_BUFFER_2
farjump UnknownScript_0xa0a41
JosePhoneScript2:
- trainertotext BIRD_KEEPER, JOSE2, $0
+ trainertotext BIRD_KEEPER, JOSE2, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_JOSE
iftrue .Generic
@@ -547,20 +547,20 @@ JosePhoneScript2:
checkflag ENGINE_JOSE_HAS_STAR_PIECE
iftrue .Generic
farscall PhoneScript_Random3
- if_equal $0, JoseWantsBattle
+ if_equal 0, JoseWantsBattle
farscall PhoneScript_Random3
- if_equal $0, JoseHasStarPiece
+ if_equal 0, JoseHasStarPiece
.Generic:
farscall PhoneScript_Random3
- if_equal $0, JoseFoundRare
+ if_equal 0, JoseFoundRare
farjump Phone_GenericCall_Male
JoseSaturdayNight:
setflag ENGINE_JOSE_SATURDAY_NIGHT
JoseWantsBattle:
- landmarktotext ROUTE_27, $2
+ landmarktotext ROUTE_27, MEM_BUFFER_2
setflag ENGINE_JOSE
farjump PhoneScript_WantsToBattle_Male
@@ -569,13 +569,13 @@ JoseFoundRare:
JoseHasStarPiece:
setflag ENGINE_JOSE_HAS_STAR_PIECE
- landmarktotext ROUTE_27, $2
+ landmarktotext ROUTE_27, MEM_BUFFER_2
farjump PhoneScript_FoundItem_Male
; Reena
ReenaPhoneScript1:
- trainertotext COOLTRAINERF, REENA1, $0
+ trainertotext COOLTRAINERF, REENA1, MEM_BUFFER_0
checkflag ENGINE_REENA
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Female
@@ -590,18 +590,18 @@ ReenaPhoneScript1:
farjump UnknownScript_0xa0928
.WantsBattle:
- landmarktotext ROUTE_27, $2
+ landmarktotext ROUTE_27, MEM_BUFFER_2
farjump UnknownScript_0xa0a46
ReenaPhoneScript2:
- trainertotext COOLTRAINERF, REENA1, $0
+ trainertotext COOLTRAINERF, REENA1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Female
checkflag ENGINE_REENA
iftrue .Generic
checkflag ENGINE_REENA_SUNDAY_MORNING
iftrue .Generic
farscall PhoneScript_Random2
- if_equal $0, ReenaWantsBattle
+ if_equal 0, ReenaWantsBattle
.Generic:
farjump Phone_GenericCall_Female
@@ -610,14 +610,14 @@ ReenaSundayMorning:
setflag ENGINE_REENA_SUNDAY_MORNING
ReenaWantsBattle:
- landmarktotext ROUTE_27, $2
+ landmarktotext ROUTE_27, MEM_BUFFER_2
setflag ENGINE_REENA
farjump PhoneScript_WantsToBattle_Female
; Joey
JoeyPhoneScript1:
- trainertotext YOUNGSTER, JOEY1, $0
+ trainertotext YOUNGSTER, JOEY1, MEM_BUFFER_0
checkflag ENGINE_JOEY
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Male
@@ -629,23 +629,23 @@ JoeyPhoneScript1:
iftrue JoeyMondayAfternoon
.NotMonday:
- special RandomPhoneMon
+ special Special_RandomPhoneMon
farjump UnknownScript_0xa0930
.WantsBattle:
- landmarktotext ROUTE_30, $2
+ landmarktotext ROUTE_30, MEM_BUFFER_2
farjump UnknownScript_0xa0a4b
JoeyPhoneScript2:
- trainertotext YOUNGSTER, JOEY1, $0
+ trainertotext YOUNGSTER, JOEY1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_JOEY
iftrue .Generic
checkflag ENGINE_JOEY_MONDAY_AFTERNOON
iftrue .Generic
farscall PhoneScript_Random3
- if_equal $0, JoeyWantsBattle
- if_equal $1, JoeyWantsBattle
+ if_equal 0, JoeyWantsBattle
+ if_equal 1, JoeyWantsBattle
.Generic:
farjump Phone_GenericCall_Male
@@ -654,14 +654,14 @@ JoeyMondayAfternoon:
setflag ENGINE_JOEY_MONDAY_AFTERNOON
JoeyWantsBattle:
- landmarktotext ROUTE_30, $2
+ landmarktotext ROUTE_30, MEM_BUFFER_2
setflag ENGINE_JOEY
farjump PhoneScript_WantsToBattle_Male
; Wade
WadePhoneScript1:
- trainertotext BUG_CATCHER, WADE1, $0
+ trainertotext BUG_CATCHER, WADE1, MEM_BUFFER_0
checkflag ENGINE_WADE
iftrue WadeWantsBattle
farscall PhoneScript_AnswerPhone_Male
@@ -676,7 +676,7 @@ WadePhoneScript1:
.NotTuesday:
farscall PhoneScript_Random2
- if_equal $0, .NoContest
+ if_equal 0, .NoContest
checkflag ENGINE_DAILY_BUG_CONTEST
iftrue .NoContest
checkcode VAR_WEEKDAY
@@ -691,18 +691,18 @@ WadeContestToday:
farjump PhoneScript_BugCatchingContest
WadeWantsBattle:
- landmarktotext ROUTE_31, $2
+ landmarktotext ROUTE_31, MEM_BUFFER_2
farjump UnknownScript_0xa0a50
WadeHasItem:
- landmarktotext ROUTE_31, $2
+ landmarktotext ROUTE_31, MEM_BUFFER_2
farjump UnknownScript_0xa0ab5
WadePhoneScript2:
- trainertotext BUG_CATCHER, WADE1, $0
+ trainertotext BUG_CATCHER, WADE1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Male
farscall PhoneScript_Random2
- if_equal $0, .NoContest
+ if_equal 0, .NoContest
checkflag ENGINE_DAILY_BUG_CONTEST
iftrue .NoContest
checkcode VAR_WEEKDAY
@@ -718,15 +718,15 @@ WadePhoneScript2:
checkflag ENGINE_WADE_HAS_ITEM
iftrue .next
farscall PhoneScript_Random2
- if_equal $0, WadeHasItem2
+ if_equal 0, WadeHasItem2
checkflag ENGINE_FLYPOINT_GOLDENROD
iffalse .next
farscall PhoneScript_Random2
- if_equal $0, WadeWantsBattle2
+ if_equal 0, WadeWantsBattle2
.next:
farscall PhoneScript_Random3
- if_equal $0, WadeFoundRare
+ if_equal 0, WadeFoundRare
farjump Phone_GenericCall_Male
Wade_ContestToday:
@@ -736,7 +736,7 @@ WadeTuesdayNight:
setflag ENGINE_WADE_TUESDAY_NIGHT
WadeWantsBattle2:
- landmarktotext ROUTE_31, $2
+ landmarktotext ROUTE_31, MEM_BUFFER_2
setflag ENGINE_WADE
farjump PhoneScript_WantsToBattle_Male
@@ -745,16 +745,16 @@ WadeFoundRare:
WadeHasItem2:
setflag ENGINE_WADE_HAS_ITEM
- landmarktotext ROUTE_31, $2
+ landmarktotext ROUTE_31, MEM_BUFFER_2
clearevent EVENT_WADE_HAS_BERRY
clearevent EVENT_WADE_HAS_PSNCUREBERRY
clearevent EVENT_WADE_HAS_PRZCUREBERRY
clearevent EVENT_WADE_HAS_BITTER_BERRY
- random $4
- if_equal $0, .Berry
- if_equal $1, .PsnCureBerry
- if_equal $2, .PrzCureBerry
- if_equal $3, .Bitterberry
+ random 4
+ if_equal 0, .Berry
+ if_equal 1, .PsnCureBerry
+ if_equal 2, .PrzCureBerry
+ if_equal 3, .Bitterberry
.Berry:
setevent EVENT_WADE_HAS_BERRY
@@ -777,7 +777,7 @@ WadeHasItem2:
; Ralph
RalphPhoneScript1:
- trainertotext FISHER, RALPH1, $0
+ trainertotext FISHER, RALPH1, MEM_BUFFER_0
checkflag ENGINE_RALPH
iftrue Ralph_Rematch
farscall PhoneScript_AnswerPhone_Male
@@ -793,15 +793,15 @@ Ralph_CheckSwarm:
farjump UnknownScript_0xa0940
Ralph_Rematch:
- landmarktotext ROUTE_32, $2
+ landmarktotext ROUTE_32, MEM_BUFFER_2
farjump UnknownScript_0xa0a55
Ralph_ReportSwarm:
- landmarktotext ROUTE_32, $2
+ landmarktotext ROUTE_32, MEM_BUFFER_2
farjump UnknownScript_0xa0af5
RalphPhoneScript2:
- trainertotext FISHER, RALPH1, $0
+ trainertotext FISHER, RALPH1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_FLYPOINT_GOLDENROD
iffalse Ralph_CheckSwarm2
@@ -810,16 +810,16 @@ RalphPhoneScript2:
checkflag ENGINE_RALPH_WEDNESDAY_MORNING
iftrue Ralph_CheckSwarm2
farscall PhoneScript_Random2
- if_equal $0, Ralph_FightMe
+ if_equal 0, Ralph_FightMe
Ralph_CheckSwarm2:
farscall PhoneScript_Random5
- if_equal $0, Ralph_SetUpSwarm
+ if_equal 0, Ralph_SetUpSwarm
farjump Phone_GenericCall_Male
Ralph_WednesdayMorning:
setflag ENGINE_RALPH_WEDNESDAY_MORNING
Ralph_FightMe:
- landmarktotext ROUTE_32, $2
+ landmarktotext ROUTE_32, MEM_BUFFER_2
setflag ENGINE_RALPH
farjump PhoneScript_WantsToBattle_Male
@@ -827,8 +827,8 @@ Ralph_SetUpSwarm:
checkflag ENGINE_SPECIAL_WILDDATA
iftrue .Generic
setflag ENGINE_SPECIAL_WILDDATA
- pokenamemem QWILFISH, $1
- landmarktotext ROUTE_32, $2
+ pokenamemem QWILFISH, MEM_BUFFER_1
+ landmarktotext ROUTE_32, MEM_BUFFER_2
writebyte FISHSWARM_QWILFISH
special Special_ActivateFishingSwarm
farjump UnknownScript_0xa05d6
@@ -839,7 +839,7 @@ Ralph_SetUpSwarm:
; Liz
LizPhoneScript1:
- trainertotext PICNICKER, LIZ1, $0
+ trainertotext PICNICKER, LIZ1, MEM_BUFFER_0
checkflag ENGINE_LIZ
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Female
@@ -851,17 +851,17 @@ LizPhoneScript1:
iftrue LizThursdayAfternoon
.NotThursday:
- special RandomPhoneMon
+ special Special_RandomPhoneMon
farjump UnknownScript_0xa0948
.WantsBattle:
- landmarktotext ROUTE_32, $2
+ landmarktotext ROUTE_32, MEM_BUFFER_2
farjump UnknownScript_0xa0a5a
LizPhoneScript2:
- trainertotext PICNICKER, LIZ1, $0
+ trainertotext PICNICKER, LIZ1, MEM_BUFFER_0
farscall PhoneScript_Random4
- if_equal $0, LizWrongNumber
+ if_equal 0, LizWrongNumber
farscall PhoneScript_GreetPhone_Female
checkflag ENGINE_LIZ
iftrue .next
@@ -870,11 +870,11 @@ LizPhoneScript2:
.next:
farscall PhoneScript_Random2
- if_equal $0, LizGossip
+ if_equal 0, LizGossip
checkflag ENGINE_FLYPOINT_GOLDENROD
iffalse .Generic
farscall PhoneScript_Random2
- if_equal $0, LizWantsBattle
+ if_equal 0, LizWantsBattle
.Generic:
farjump Phone_GenericCall_Female
@@ -883,7 +883,7 @@ LizThursdayAfternoon:
setflag ENGINE_LIZ_THURSDAY_AFTERNOON
LizWantsBattle:
- landmarktotext ROUTE_32, $2
+ landmarktotext ROUTE_32, MEM_BUFFER_2
setflag ENGINE_LIZ
farjump PhoneScript_WantsToBattle_Female
@@ -891,51 +891,51 @@ LizWrongNumber:
farjump LizWrongNumberScript
LizGossip:
- random $9
- if_equal $0, .CoolTrainerM
- if_equal $1, .Beauty
- if_equal $2, .Grunt
- if_equal $3, .Teacher
- if_equal $4, .SwimmerF
- if_equal $5, .KimonoGirl
- if_equal $6, .Skier
- if_equal $7, .Medium
- if_equal $8, .PokefanM
+ random 9
+ if_equal 0, .CoolTrainerM
+ if_equal 1, .Beauty
+ if_equal 2, .Grunt
+ if_equal 3, .Teacher
+ if_equal 4, .SwimmerF
+ if_equal 5, .KimonoGirl
+ if_equal 6, .Skier
+ if_equal 7, .Medium
+ if_equal 8, .PokefanM
.CoolTrainerM:
- trainerclassname COOLTRAINERM, $1
+ trainerclassname COOLTRAINERM, NICK
jump LizGossipScript
.Beauty:
- trainerclassname BEAUTY, $1
+ trainerclassname BEAUTY, VICTORIA
jump LizGossipScript
.Grunt:
- trainerclassname GRUNTM, $1
+ trainerclassname GRUNTM, GRUNTM_1
jump LizGossipScript
.Teacher:
- trainerclassname TEACHER, $1
+ trainerclassname TEACHER, COLETTE
jump LizGossipScript
.SwimmerF:
- trainerclassname SWIMMERF, $1
+ trainerclassname SWIMMERF, ELAINE
jump LizGossipScript
.KimonoGirl:
- trainerclassname KIMONO_GIRL, $1
+ trainerclassname KIMONO_GIRL, NAOKO1
jump LizGossipScript
.Skier:
- trainerclassname SKIER, $1
+ trainerclassname SKIER, ROXANNE
jump LizGossipScript
.Medium:
- trainerclassname MEDIUM, $1
+ trainerclassname MEDIUM, MARTHA
jump LizGossipScript
.PokefanM:
- trainerclassname POKEFANM, $1
+ trainerclassname POKEFANM, WILLIAM
jump LizGossipScript
LizGossipScript:
@@ -944,7 +944,7 @@ LizGossipScript:
; Anthony
AnthonyPhoneScript1:
- trainertotext HIKER, ANTHONY2, $0
+ trainertotext HIKER, ANTHONY2, MEM_BUFFER_0
checkflag ENGINE_ANTHONY
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Male
@@ -961,15 +961,15 @@ AnthonyPhoneScript1:
farjump UnknownScript_0xa0950
.WantsBattle:
- landmarktotext ROUTE_33, $2
+ landmarktotext ROUTE_33, MEM_BUFFER_2
farjump UnknownScript_0xa0a5f
.AlreadySwarming:
- landmarktotext ROUTE_33, $2
+ landmarktotext ROUTE_33, MEM_BUFFER_2
farjump UnknownScript_0xa0afa
AnthonyPhoneScript2:
- trainertotext HIKER, ANTHONY2, $0
+ trainertotext HIKER, ANTHONY2, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_FLYPOINT_GOLDENROD
iffalse .TriesSwarm
@@ -978,18 +978,18 @@ AnthonyPhoneScript2:
checkflag ENGINE_ANTHONY_FRIDAY_NIGHT
iftrue .TriesSwarm
farscall PhoneScript_Random2
- if_equal $0, AnthonyWantsBattle
+ if_equal 0, AnthonyWantsBattle
.TriesSwarm:
farscall PhoneScript_Random5
- if_equal $0, AnthonyTriesDunsparceSwarm
+ if_equal 0, AnthonyTriesDunsparceSwarm
farjump Phone_GenericCall_Male
AnthonyFridayNight:
setflag ENGINE_ANTHONY_FRIDAY_NIGHT
AnthonyWantsBattle:
- landmarktotext ROUTE_33, $2
+ landmarktotext ROUTE_33, MEM_BUFFER_2
setflag ENGINE_ANTHONY
farjump PhoneScript_WantsToBattle_Male
@@ -997,9 +997,9 @@ AnthonyTriesDunsparceSwarm:
checkflag ENGINE_DUNSPARCE_SWARM
iftrue .Generic
setflag ENGINE_DUNSPARCE_SWARM
- pokenamemem DUNSPARCE, $1
+ pokenamemem DUNSPARCE, MEM_BUFFER_1
swarm SWARM_DUNSPARCE, DARK_CAVE_VIOLET_ENTRANCE
- landmarktotext DARK_CAVE, $2
+ landmarktotext DARK_CAVE, MEM_BUFFER_2
farjump UnknownScript_0xa05de
.Generic:
@@ -1008,7 +1008,7 @@ AnthonyTriesDunsparceSwarm:
; Todd
ToddPhoneScript1:
- trainertotext CAMPER, TODD1, $0
+ trainertotext CAMPER, TODD1, MEM_BUFFER_0
checkflag ENGINE_TODD
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Male
@@ -1025,14 +1025,14 @@ ToddPhoneScript1:
farjump UnknownScript_0xa0958
.WantsBattle:
- landmarktotext ROUTE_34, $2
+ landmarktotext ROUTE_34, MEM_BUFFER_2
farjump UnknownScript_0xa0a64
.SaleOn:
farjump UnknownScript_0xa0b04
ToddPhoneScript2:
- trainertotext CAMPER, TODD1, $0
+ trainertotext CAMPER, TODD1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_TODD
iftrue .TryForSale
@@ -1041,22 +1041,22 @@ ToddPhoneScript2:
checkflag ENGINE_FLYPOINT_GOLDENROD
iffalse ToddNoGoldenrod
farscall PhoneScript_Random2
- if_equal $0, ToddWantsBattle
+ if_equal 0, ToddWantsBattle
.TryForSale:
farscall PhoneScript_Random2
- if_equal $0, ToddDeptStoreSale
+ if_equal 0, ToddDeptStoreSale
ToddNoGoldenrod:
farscall PhoneScript_Random3
- if_equal $0, ToddFoundRare
+ if_equal 0, ToddFoundRare
farjump Phone_GenericCall_Male
ToddSaturdayMorning:
setflag ENGINE_TODD_SATURDAY_MORNING
ToddWantsBattle:
- landmarktotext ROUTE_34, $2
+ landmarktotext ROUTE_34, MEM_BUFFER_2
setflag ENGINE_TODD
farjump PhoneScript_WantsToBattle_Male
@@ -1070,7 +1070,7 @@ ToddDeptStoreSale:
; Gina
GinaPhoneScript1:
- trainertotext PICNICKER, GINA1, $0
+ trainertotext PICNICKER, GINA1, MEM_BUFFER_0
checkflag ENGINE_GINA
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Female
@@ -1092,15 +1092,15 @@ GinaPhoneScript1:
farjump UnknownScript_0xa05c6
.WantsBattle:
- landmarktotext ROUTE_34, $2
+ landmarktotext ROUTE_34, MEM_BUFFER_2
farjump UnknownScript_0xa0a69
.HasLeafStone:
- landmarktotext ROUTE_34, $2
+ landmarktotext ROUTE_34, MEM_BUFFER_2
farjump UnknownScript_0xa0abd
GinaPhoneScript2:
- trainertotext PICNICKER, GINA1, $0
+ trainertotext PICNICKER, GINA1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Female
checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
iftrue GinaRockets
@@ -1113,15 +1113,15 @@ GinaPhoneScript2:
checkevent EVENT_GINA_GAVE_LEAF_STONE
iftrue .GaveLeafStone
farscall PhoneScript_Random2
- if_equal $0, GinaHasLeafStone
+ if_equal 0, GinaHasLeafStone
.GaveLeafStone:
farscall PhoneScript_Random11
- if_equal $0, GinaHasLeafStone
+ if_equal 0, GinaHasLeafStone
checkflag ENGINE_FLYPOINT_GOLDENROD
iffalse .Generic
farscall PhoneScript_Random3
- if_equal $0, GinaWantsBattle
+ if_equal 0, GinaWantsBattle
.Generic:
farjump Phone_GenericCall_Female
@@ -1130,7 +1130,7 @@ GinaSundayDay:
setflag ENGINE_GINA_SUNDAY_AFTERNOON
GinaWantsBattle:
- landmarktotext ROUTE_34, $2
+ landmarktotext ROUTE_34, MEM_BUFFER_2
setflag ENGINE_GINA
farjump PhoneScript_WantsToBattle_Female
@@ -1139,13 +1139,13 @@ GinaRockets:
GinaHasLeafStone:
setflag ENGINE_GINA_HAS_LEAF_STONE
- landmarktotext ROUTE_34, $2
+ landmarktotext ROUTE_34, MEM_BUFFER_2
farjump PhoneScript_FoundItem_Female
; Irwin
IrwinPhoneScript1:
- trainertotext JUGGLER, IRWIN1, $0
+ trainertotext JUGGLER, IRWIN1, MEM_BUFFER_0
farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
iftrue .Rockets
@@ -1155,7 +1155,7 @@ IrwinPhoneScript1:
farjump IrwinRocketRumor
IrwinPhoneScript2:
- trainertotext JUGGLER, IRWIN1, $0
+ trainertotext JUGGLER, IRWIN1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
iftrue .Rockets
@@ -1167,7 +1167,7 @@ IrwinPhoneScript2:
; Arnie
ArniePhoneScript1:
- trainertotext BUG_CATCHER, ARNIE1, $0
+ trainertotext BUG_CATCHER, ARNIE1, MEM_BUFFER_0
checkflag ENGINE_ARNIE
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Male
@@ -1184,35 +1184,35 @@ ArniePhoneScript1:
farjump UnknownScript_0xa0968
.WantsBattle:
- landmarktotext ROUTE_35, $2
+ landmarktotext ROUTE_35, MEM_BUFFER_2
farjump UnknownScript_0xa0a6e
.AlreadySwarming:
- landmarktotext ROUTE_35, $2
+ landmarktotext ROUTE_35, MEM_BUFFER_2
farjump UnknownScript_0xa0aff
ArniePhoneScript2:
- trainertotext BUG_CATCHER, ARNIE1, $0
+ trainertotext BUG_CATCHER, ARNIE1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_ARNIE
iftrue .Swarm
checkflag ENGINE_ARNIE_TUESDAY_MORNING
iftrue .Swarm
farscall PhoneScript_Random2
- if_equal $0, ArnieWantsBattle
+ if_equal 0, ArnieWantsBattle
.Swarm:
farscall PhoneScript_Random5
- if_equal $0, ArnieYanmaSwarm
+ if_equal 0, ArnieYanmaSwarm
farscall PhoneScript_Random3
- if_equal $0, ArnieFoundRare
+ if_equal 0, ArnieFoundRare
farjump Phone_GenericCall_Male
ArnieTuesdayMorning:
setflag ENGINE_ARNIE_TUESDAY_MORNING
ArnieWantsBattle:
- landmarktotext ROUTE_35, $2
+ landmarktotext ROUTE_35, MEM_BUFFER_2
setflag ENGINE_ARNIE
farjump PhoneScript_WantsToBattle_Male
@@ -1220,9 +1220,9 @@ ArnieYanmaSwarm: ; start swarm
checkflag ENGINE_YANMA_SWARM
iftrue ArnieYanmaAlreadySwarming
setflag ENGINE_YANMA_SWARM
- pokenamemem YANMA, $1
+ pokenamemem YANMA, MEM_BUFFER_1
swarm SWARM_YANMA, ROUTE_35
- landmarktotext ROUTE_35, $2
+ landmarktotext ROUTE_35, MEM_BUFFER_2
farjump UnknownScript_0xa05ce
ArnieFoundRare:
@@ -1234,7 +1234,7 @@ ArnieYanmaAlreadySwarming:
; Alan
AlanPhoneScript1:
- trainertotext SCHOOLBOY, ALAN1, $0
+ trainertotext SCHOOLBOY, ALAN1, MEM_BUFFER_0
checkflag ENGINE_ALAN
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Male
@@ -1251,15 +1251,15 @@ AlanPhoneScript1:
farjump UnknownScript_0xa0970
.WantsBattle:
- landmarktotext ROUTE_36, $2
+ landmarktotext ROUTE_36, MEM_BUFFER_2
farjump UnknownScript_0xa0a73
.FireStone:
- landmarktotext ROUTE_36, $2
+ landmarktotext ROUTE_36, MEM_BUFFER_2
farjump UnknownScript_0xa0ac5
AlanPhoneScript2:
- trainertotext SCHOOLBOY, ALAN1, $0
+ trainertotext SCHOOLBOY, ALAN1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_ALAN
iftrue AlanGenericCall
@@ -1268,15 +1268,15 @@ AlanPhoneScript2:
checkflag ENGINE_ALAN_HAS_FIRE_STONE
iftrue AlanGenericCall
farscall PhoneScript_Random3
- if_equal $0, AlanWantsBattle
+ if_equal 0, AlanWantsBattle
checkevent EVENT_ALAN_GAVE_FIRE_STONE
iftrue .FireStone
farscall PhoneScript_Random2
- if_equal $0, AlanHasFireStone
+ if_equal 0, AlanHasFireStone
.FireStone:
farscall PhoneScript_Random11
- if_equal $0, AlanHasFireStone
+ if_equal 0, AlanHasFireStone
AlanGenericCall:
farjump Phone_GenericCall_Male
@@ -1285,19 +1285,19 @@ AlanWednesdayDay:
setflag ENGINE_ALAN_WEDNESDAY_AFTERNOON
AlanWantsBattle:
- landmarktotext ROUTE_36, $2
+ landmarktotext ROUTE_36, MEM_BUFFER_2
setflag ENGINE_ALAN
farjump PhoneScript_WantsToBattle_Male
AlanHasFireStone:
setflag ENGINE_ALAN_HAS_FIRE_STONE
- landmarktotext ROUTE_36, $2
+ landmarktotext ROUTE_36, MEM_BUFFER_2
farjump PhoneScript_FoundItem_Male
; Dana
DanaPhoneScript1:
- trainertotext LASS, DANA1, $0
+ trainertotext LASS, DANA1, MEM_BUFFER_0
checkflag ENGINE_DANA
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Female
@@ -1314,15 +1314,15 @@ DanaPhoneScript1:
farjump UnknownScript_0xa0978
.WantsBattle:
- landmarktotext ROUTE_38, $2
+ landmarktotext ROUTE_38, MEM_BUFFER_2
farjump UnknownScript_0xa0a78
.HasThunderstone:
- landmarktotext ROUTE_38, $2
+ landmarktotext ROUTE_38, MEM_BUFFER_2
farjump UnknownScript_0xa0acd
DanaPhoneScript2:
- trainertotext LASS, DANA1, $0
+ trainertotext LASS, DANA1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Female
checkflag ENGINE_DANA
iftrue .Generic
@@ -1331,26 +1331,26 @@ DanaPhoneScript2:
checkflag ENGINE_DANA_HAS_THUNDERSTONE
iftrue .Generic
farscall PhoneScript_Random3
- if_equal $0, DanaWantsBattle
+ if_equal 0, DanaWantsBattle
checkevent EVENT_DANA_GAVE_THUNDERSTONE
iftrue .Thunderstone
farscall PhoneScript_Random2
- if_equal $0, DanaHasThunderstone
+ if_equal 0, DanaHasThunderstone
.Thunderstone:
farscall PhoneScript_Random11
- if_equal $0, DanaHasThunderstone
+ if_equal 0, DanaHasThunderstone
.Generic:
farscall PhoneScript_Random3
- if_equal $0, DanaFoundRare
+ if_equal 0, DanaFoundRare
farjump Phone_GenericCall_Female
DanaThursdayNight:
setflag ENGINE_DANA_THURSDAY_NIGHT
DanaWantsBattle:
- landmarktotext ROUTE_38, $2
+ landmarktotext ROUTE_38, MEM_BUFFER_2
setflag ENGINE_DANA
farjump PhoneScript_WantsToBattle_Female
@@ -1359,13 +1359,13 @@ DanaFoundRare:
DanaHasThunderstone:
setflag ENGINE_DANA_HAS_THUNDERSTONE
- landmarktotext ROUTE_38, $2
+ landmarktotext ROUTE_38, MEM_BUFFER_2
farjump PhoneScript_FoundItem_Female
; Chad
ChadPhoneScript1:
- trainertotext SCHOOLBOY, CHAD1, $0
+ trainertotext SCHOOLBOY, CHAD1, MEM_BUFFER_0
checkflag ENGINE_CHAD
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Male
@@ -1380,31 +1380,31 @@ ChadPhoneScript1:
farjump UnknownScript_0xa0980
.WantsBattle:
- landmarktotext ROUTE_38, $2
+ landmarktotext ROUTE_38, MEM_BUFFER_2
farjump UnknownScript_0xa0a7d
ChadPhoneScript2:
- trainertotext SCHOOLBOY, CHAD1, $0
+ trainertotext SCHOOLBOY, CHAD1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Male
farscall PhoneScript_Random2
- if_equal $0, ChadOakGossip
+ if_equal 0, ChadOakGossip
checkflag ENGINE_CHAD
iftrue .Generic
checkflag ENGINE_CHAD_FRIDAY_MORNING
iftrue .Generic
farscall PhoneScript_Random2
- if_equal $0, ChadWantsBattle
+ if_equal 0, ChadWantsBattle
.Generic:
farscall PhoneScript_Random3
- if_equal $0, ChadFoundRare
+ if_equal 0, ChadFoundRare
farjump Phone_GenericCall_Male
ChadFridayMorning:
setflag ENGINE_CHAD_FRIDAY_MORNING
ChadWantsBattle:
- landmarktotext ROUTE_38, $2
+ landmarktotext ROUTE_38, MEM_BUFFER_2
setflag ENGINE_CHAD
farjump PhoneScript_WantsToBattle_Male
@@ -1415,12 +1415,12 @@ ChadOakGossip:
farjump ChadOakGossipScript
DerekPhoneScript1:
- trainertotext POKEFANM, DEREK1, $0
+ trainertotext POKEFANM, DEREK1, MEM_BUFFER_0
farscall PhoneScript_AnswerPhone_Male
checkflag ENGINE_DEREK_HAS_NUGGET
iftrue .Nugget
farscall PhoneScript_Random2
- if_equal $0, .NoContest
+ if_equal 0, .NoContest
checkflag ENGINE_DAILY_BUG_CONTEST
iftrue .NoContest
checkcode VAR_WEEKDAY
@@ -1435,14 +1435,14 @@ DerekPhoneScript1:
farjump PhoneScript_BugCatchingContest
.Nugget:
- landmarktotext ROUTE_39, $2
+ landmarktotext ROUTE_39, MEM_BUFFER_2
farjump UnknownScript_0xa0ad5
DerekPhoneScript2:
- trainertotext POKEFANM, DEREK1, $0
+ trainertotext POKEFANM, DEREK1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Male
farscall PhoneScript_Random2
- if_equal $0, .NoContest
+ if_equal 0, .NoContest
checkflag ENGINE_DAILY_BUG_CONTEST
iftrue .NoContest
checkcode VAR_WEEKDAY
@@ -1452,7 +1452,7 @@ DerekPhoneScript2:
.NoContest:
farscall PhoneScript_Random4
- if_equal $0, .Nugget
+ if_equal 0, .Nugget
farjump Phone_GenericCall_Male
.ContestToday:
@@ -1460,11 +1460,11 @@ DerekPhoneScript2:
.Nugget:
setflag ENGINE_DEREK_HAS_NUGGET
- landmarktotext ROUTE_39, $2
+ landmarktotext ROUTE_39, MEM_BUFFER_2
farjump PhoneScript_FoundItem_Male
TullyPhoneScript1:
- trainertotext FISHER, TULLY1, $0
+ trainertotext FISHER, TULLY1, MEM_BUFFER_0
checkflag ENGINE_TULLY
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Male
@@ -1481,15 +1481,15 @@ TullyPhoneScript1:
farjump UnknownScript_0xa0990
.WantsBattle:
- landmarktotext ROUTE_42, $2
+ landmarktotext ROUTE_42, MEM_BUFFER_2
farjump UnknownScript_0xa0a82
TullyHasWaterStone:
- landmarktotext ROUTE_42, $2
+ landmarktotext ROUTE_42, MEM_BUFFER_2
farjump UnknownScript_0xa0add
TullyPhoneScript2:
- trainertotext FISHER, TULLY1, $0
+ trainertotext FISHER, TULLY1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_TULLY
iftrue .Generic
@@ -1498,15 +1498,15 @@ TullyPhoneScript2:
checkflag ENGINE_TULLY_HAS_WATER_STONE
iftrue .Generic
farscall PhoneScript_Random3
- if_equal $0, TullyWantsBattle
+ if_equal 0, TullyWantsBattle
checkevent EVENT_TULLY_GAVE_WATER_STONE
iftrue .WaterStone
farscall PhoneScript_Random2
- if_equal $0, TullyFoundWaterStone
+ if_equal 0, TullyFoundWaterStone
.WaterStone:
farscall PhoneScript_Random11
- if_equal $0, TullyFoundWaterStone
+ if_equal 0, TullyFoundWaterStone
.Generic:
farjump Phone_GenericCall_Male
@@ -1515,17 +1515,17 @@ TullySundayNight:
setflag ENGINE_TULLY_SUNDAY_NIGHT
TullyWantsBattle:
- landmarktotext ROUTE_42, $2
+ landmarktotext ROUTE_42, MEM_BUFFER_2
setflag ENGINE_TULLY
farjump PhoneScript_WantsToBattle_Male
TullyFoundWaterStone:
setflag ENGINE_TULLY_HAS_WATER_STONE
- landmarktotext ROUTE_42, $2
+ landmarktotext ROUTE_42, MEM_BUFFER_2
farjump PhoneScript_FoundItem_Male
BrentPhoneScript1:
- trainertotext POKEMANIAC, BRENT1, $0
+ trainertotext POKEMANIAC, BRENT1, MEM_BUFFER_0
checkflag ENGINE_BRENT
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Male
@@ -1540,20 +1540,20 @@ BrentPhoneScript1:
farjump UnknownScript_0xa0998
.WantsBattle:
- landmarktotext ROUTE_43, $2
+ landmarktotext ROUTE_43, MEM_BUFFER_2
farjump UnknownScript_0xa0a87
BrentPhoneScript2:
- trainertotext POKEMANIAC, BRENT1, $0
+ trainertotext POKEMANIAC, BRENT1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Male
farscall PhoneScript_Random2
- if_equal $0, BrentBillTrivia
+ if_equal 0, BrentBillTrivia
checkflag ENGINE_BRENT
iftrue .Generic
checkflag ENGINE_BRENT_MONDAY_MORNING
iftrue .Generic
farscall PhoneScript_Random2
- if_equal $0, BrentWantsBattle
+ if_equal 0, BrentWantsBattle
.Generic:
farjump Phone_GenericCall_Male
@@ -1562,7 +1562,7 @@ BrentMondayMorning:
setflag ENGINE_BRENT_MONDAY_MORNING
BrentWantsBattle:
- landmarktotext ROUTE_43, $2
+ landmarktotext ROUTE_43, MEM_BUFFER_2
setflag ENGINE_BRENT
farjump PhoneScript_WantsToBattle_Male
@@ -1570,7 +1570,7 @@ BrentBillTrivia:
farjump BrentBillTriviaScript
TiffanyPhoneScript1:
- trainertotext PICNICKER, TIFFANY3, $0
+ trainertotext PICNICKER, TIFFANY3, MEM_BUFFER_0
checkflag ENGINE_TIFFANY
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Female
@@ -1587,17 +1587,17 @@ TiffanyPhoneScript1:
farjump UnknownScript_0xa09a0
.WantsBattle:
- landmarktotext ROUTE_43, $2
+ landmarktotext ROUTE_43, MEM_BUFFER_2
farjump UnknownScript_0xa0a8c
.HasItem:
- landmarktotext ROUTE_43, $2
+ landmarktotext ROUTE_43, MEM_BUFFER_2
farjump UnknownScript_0xa0ae5
TiffanyPhoneScript2:
- trainertotext PICNICKER, TIFFANY3, $0
+ trainertotext PICNICKER, TIFFANY3, MEM_BUFFER_0
farscall PhoneScript_Random4
- if_equal $0, TiffanysFamilyMembers
+ if_equal 0, TiffanysFamilyMembers
farscall PhoneScript_GreetPhone_Female
checkflag ENGINE_TIFFANY
iftrue TiffanyGenericCall
@@ -1606,15 +1606,15 @@ TiffanyPhoneScript2:
checkflag ENGINE_TIFFANY_HAS_PINK_BOW
iftrue TiffanyGenericCall
farscall PhoneScript_Random3
- if_equal $0, TiffanyWantsBattle
+ if_equal 0, TiffanyWantsBattle
checkevent EVENT_TIFFANY_GAVE_PINK_BOW
iftrue .PinkBow
farscall PhoneScript_Random2
- if_equal $0, TiffanyHasPinkBow
+ if_equal 0, TiffanyHasPinkBow
.PinkBow:
farscall PhoneScript_Random11
- if_equal $0, TiffanyHasPinkBow
+ if_equal 0, TiffanyHasPinkBow
TiffanyGenericCall:
farjump Phone_GenericCall_Female
@@ -1623,41 +1623,41 @@ TiffanyTuesdayAfternoon:
setflag ENGINE_TIFFANY_TUESDAY_AFTERNOON
TiffanyWantsBattle:
- landmarktotext ROUTE_43, $2
+ landmarktotext ROUTE_43, MEM_BUFFER_2
setflag ENGINE_TIFFANY
farjump PhoneScript_WantsToBattle_Female
TiffanysFamilyMembers:
- random $6
- if_equal $0, .Grandma
- if_equal $1, .Grandpa
- if_equal $2, .Mom
- if_equal $3, .Dad
- if_equal $4, .Sister
- if_equal $5, .Brother
+ random 6
+ if_equal 0, .Grandma
+ if_equal 1, .Grandpa
+ if_equal 2, .Mom
+ if_equal 3, .Dad
+ if_equal 4, .Sister
+ if_equal 5, .Brother
.Grandma:
- stringtotext GrandmaString, $1
+ stringtotext GrandmaString, MEM_BUFFER_1
jump TiffanysPoorClefairy
.Grandpa:
- stringtotext GrandpaString, $1
+ stringtotext GrandpaString, MEM_BUFFER_1
jump TiffanysPoorClefairy
.Mom:
- stringtotext MomString, $1
+ stringtotext MomString, MEM_BUFFER_1
jump TiffanysPoorClefairy
.Dad:
- stringtotext DadString, $1
+ stringtotext DadString, MEM_BUFFER_1
jump TiffanysPoorClefairy
.Sister:
- stringtotext SisterString, $1
+ stringtotext SisterString, MEM_BUFFER_1
jump TiffanysPoorClefairy
.Brother:
- stringtotext BrotherString, $1
+ stringtotext BrotherString, MEM_BUFFER_1
jump TiffanysPoorClefairy
TiffanysPoorClefairy:
@@ -1665,13 +1665,13 @@ TiffanysPoorClefairy:
TiffanyHasPinkBow:
setflag ENGINE_TIFFANY_HAS_PINK_BOW
- landmarktotext ROUTE_43, $2
+ landmarktotext ROUTE_43, MEM_BUFFER_2
farjump PhoneScript_FoundItem_Female
; Vance
VancePhoneScript1:
- trainertotext BIRD_KEEPER, VANCE1, $0
+ trainertotext BIRD_KEEPER, VANCE1, MEM_BUFFER_0
checkflag ENGINE_VANCE
iftrue VanceWantsBattle
farscall PhoneScript_AnswerPhone_Male
@@ -1686,19 +1686,19 @@ VancePhoneScript1:
farjump VanceLookingForward
VanceWantsBattle:
- landmarktotext ROUTE_44, $2
+ landmarktotext ROUTE_44, MEM_BUFFER_2
farjump VanceHurryHurry
VancePhoneScript2:
- trainertotext BIRD_KEEPER, VANCE1, $0
+ trainertotext BIRD_KEEPER, VANCE1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_VANCE
iftrue .WantsBattle
checkflag ENGINE_VANCE_WEDNESDAY_NIGHT
iftrue .WantsBattle
farscall PhoneScript_Random3
- if_equal $0, VanceWantsRematch
- if_equal $1, VanceWantsRematch
+ if_equal 0, VanceWantsRematch
+ if_equal 1, VanceWantsRematch
.WantsBattle:
farjump Phone_GenericCall_Male
@@ -1707,12 +1707,12 @@ VanceWednesdayNight:
setflag ENGINE_VANCE_WEDNESDAY_NIGHT
VanceWantsRematch:
- landmarktotext ROUTE_44, $2
+ landmarktotext ROUTE_44, MEM_BUFFER_2
setflag ENGINE_VANCE
farjump PhoneScript_WantsToBattle_Male
WiltonPhoneScript1:
- trainertotext FISHER, WILTON1, $0
+ trainertotext FISHER, WILTON1, MEM_BUFFER_0
checkflag ENGINE_WILTON
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Male
@@ -1729,15 +1729,15 @@ WiltonPhoneScript1:
farjump WiltonHaventFoundAnything
.WantsBattle:
- landmarktotext ROUTE_44, $2
+ landmarktotext ROUTE_44, MEM_BUFFER_2
farjump WiltonNotBiting
.HasItem:
- landmarktotext ROUTE_44, $2
+ landmarktotext ROUTE_44, MEM_BUFFER_2
farjump WiltonWantThis
WiltonPhoneScript2:
- trainertotext FISHER, WILTON1, $0
+ trainertotext FISHER, WILTON1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_WILTON
iftrue .GenericCall
@@ -1746,9 +1746,9 @@ WiltonPhoneScript2:
checkflag ENGINE_WILTON_HAS_ITEM
iftrue .GenericCall
farscall PhoneScript_Random2
- if_equal $0, WiltonWantsBattle
+ if_equal 0, WiltonWantsBattle
farscall PhoneScript_Random2
- if_equal $0, WiltonHasItem
+ if_equal 0, WiltonHasItem
.GenericCall:
farjump Phone_GenericCall_Male
@@ -1757,20 +1757,20 @@ WiltonThursdayMorning:
setflag ENGINE_WILTON_THURSDAY_MORNING
WiltonWantsBattle:
- landmarktotext ROUTE_44, $2
+ landmarktotext ROUTE_44, MEM_BUFFER_2
setflag ENGINE_WILTON
farjump PhoneScript_WantsToBattle_Male
WiltonHasItem:
setflag ENGINE_WILTON_HAS_ITEM
- landmarktotext ROUTE_44, $2
+ landmarktotext ROUTE_44, MEM_BUFFER_2
clearevent EVENT_WILTON_HAS_ULTRA_BALL
clearevent EVENT_WILTON_HAS_GREAT_BALL
clearevent EVENT_WILTON_HAS_POKE_BALL
- random $5
- if_equal $0, .UltraBall
- random $3
- if_equal $0, .GreatBall
+ random 5
+ if_equal 0, .UltraBall
+ random 3
+ if_equal 0, .GreatBall
jump .PokeBall
.UltraBall:
@@ -1790,19 +1790,19 @@ WiltonHasItem:
; Kenji
KenjiPhoneScript1:
- trainertotext BLACKBELT_T, KENJI3, $0
+ trainertotext BLACKBELT_T, KENJI3, MEM_BUFFER_0
farscall PhoneScript_AnswerPhone_Male
farjump KenjiAnswerPhoneScript
KenjiPhoneScript2:
- trainertotext BLACKBELT_T, KENJI3, $0
+ trainertotext BLACKBELT_T, KENJI3, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Male
farjump KenjiCallingPhoneScript
; Parry
ParryPhoneScript1:
- trainertotext HIKER, PARRY1, $0
+ trainertotext HIKER, PARRY1, MEM_BUFFER_0
checkflag ENGINE_PARRY
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Male
@@ -1817,19 +1817,19 @@ ParryPhoneScript1:
farjump ParryBattleWithMe
.WantsBattle:
- landmarktotext ROUTE_45, $2
+ landmarktotext ROUTE_45, MEM_BUFFER_2
farjump ParryHaventYouGottenTo
ParryPhoneScript2:
- trainertotext HIKER, PARRY1, $0
+ trainertotext HIKER, PARRY1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Male
checkflag ENGINE_PARRY
iftrue .GenericCall
checkflag ENGINE_PARRY_FRIDAY_AFTERNOON
iftrue .GenericCall
farscall PhoneScript_Random2
- if_equal $0, ParryWantsBattle
- if_equal $1, ParryWantsBattle
+ if_equal 0, ParryWantsBattle
+ if_equal 1, ParryWantsBattle
.GenericCall:
farjump Phone_GenericCall_Male
@@ -1838,14 +1838,14 @@ ParryFridayDay:
setflag ENGINE_PARRY_FRIDAY_AFTERNOON
ParryWantsBattle:
- landmarktotext ROUTE_45, $2
+ landmarktotext ROUTE_45, MEM_BUFFER_2
setflag ENGINE_PARRY
farjump PhoneScript_WantsToBattle_Male
; Erin
ErinPhoneScript1:
- trainertotext PICNICKER, ERIN1, $0
+ trainertotext PICNICKER, ERIN1, MEM_BUFFER_0
checkflag ENGINE_ERIN
iftrue .WantsBattle
farscall PhoneScript_AnswerPhone_Female
@@ -1860,19 +1860,19 @@ ErinPhoneScript1:
farjump ErinWorkingHardScript
.WantsBattle:
- landmarktotext ROUTE_46, $2
+ landmarktotext ROUTE_46, MEM_BUFFER_2
farjump ErinComeBattleScript
ErinPhoneScript2:
- trainertotext PICNICKER, ERIN1, $0
+ trainertotext PICNICKER, ERIN1, MEM_BUFFER_0
farscall PhoneScript_GreetPhone_Female
checkflag ENGINE_ERIN
iftrue .GenericCall
checkflag ENGINE_ERIN_SATURDAY_NIGHT
iftrue .GenericCall
farscall PhoneScript_Random3
- if_equal $0, ErinWantsBattle
- if_equal $1, ErinWantsBattle
+ if_equal 0, ErinWantsBattle
+ if_equal 1, ErinWantsBattle
.GenericCall:
farjump Phone_GenericCall_Female
@@ -1881,6 +1881,6 @@ ErinSaturdayNight:
setflag ENGINE_ERIN_SATURDAY_NIGHT
ErinWantsBattle:
- landmarktotext ROUTE_46, $2
+ landmarktotext ROUTE_46, MEM_BUFFER_2
setflag ENGINE_ERIN
farjump PhoneScript_WantsToBattle_Female
diff --git a/engine/pic_animation.asm b/engine/pic_animation.asm
index 33b770b14..4317d96f8 100644
--- a/engine/pic_animation.asm
+++ b/engine/pic_animation.asm
@@ -1,6 +1,6 @@
; Pic animation arrangement.
-AnimateMon_Slow_Normal: ; d0000
+Unused_AnimateMon_Slow_Normal: ; d0000
hlcoord 12, 0
ld a, [wBattleMode]
cp WILD_BATTLE
@@ -249,7 +249,7 @@ PokeAnim_Finish: ; d0171
PokeAnim_Cry: ; d017a
ld a, [wPokeAnimSpecies]
- call _PlayCry
+ call _PlayMonCry
ld a, [wPokeAnimSceneIndex]
inc a
ld [wPokeAnimSceneIndex], a
@@ -258,7 +258,7 @@ PokeAnim_Cry: ; d017a
PokeAnim_CryNoWait: ; d0188
ld a, [wPokeAnimSpecies]
- call PlayCry2
+ call PlayMonCry2
ld a, [wPokeAnimSceneIndex]
inc a
ld [wPokeAnimSceneIndex], a
@@ -279,7 +279,7 @@ PokeAnim_StereoCry: ; d0196
PokeAnim_DeinitFrames: ; d01a9
ld a, [rSVBK]
push af
- ld a, $2
+ ld a, BANK(wPokeAnimCoord)
ld [rSVBK], a
call PokeAnim_PlaceGraphic
farcall HDMATransferTileMapToWRAMBank3
@@ -335,12 +335,12 @@ PokeAnim_InitPicAttributes: ; d01d6
ld a, d
ld [wPokeAnimGraphicStartTile], a
- ld a, $1
+ ld a, BANK(CurPartySpecies)
ld hl, CurPartySpecies
call GetFarWRAMByte
ld [wPokeAnimSpecies], a
- ld a, $1
+ ld a, BANK(UnownLetter)
ld hl, UnownLetter
call GetFarWRAMByte
ld [wPokeAnimUnownLetter], a
@@ -695,7 +695,7 @@ PokeAnim_ConvertAndApplyBitmask: ; d036b
ret
; d03f4
-; XXX
+; unused
db 6, 5, 4
.GetTilemap: ; d03f7
@@ -876,7 +876,7 @@ PokeAnim_PlaceGraphic: ; d04bd
PokeAnim_SetVBank1: ; d0504
ld a, [rSVBK]
push af
- ld a, $2
+ ld a, BANK(wPokeAnimCoord)
ld [rSVBK], a
xor a
ld [hBGMapMode], a
@@ -1024,7 +1024,7 @@ GetMonFramesPointer: ; d05ce
ld hl, UnownFramesPointers
jr z, .got_frames
ld a, [wPokeAnimSpecies]
- cp CHIKORITA
+ cp JOHTO_POKEMON
ld b, BANK(FramesPointers)
ld c, BANK(KantoFrames)
ld hl, FramesPointers
@@ -1110,10 +1110,11 @@ PokeAnim_GetSpeciesOrUnown: ; d065c
ret
; d0669
-Predef48: ; d0669 Predef 48
+Unused_HOF_AnimateAlignedFrontpic: ; d0669
ld a, $1
ld [wBoxAlignment], a
-HOF_AnimateFrontpic: ; d066e Predef 49
+
+HOF_AnimateFrontpic: ; d066e
call AnimateMon_CheckIfPokemon
jr c, .fail
ld h, d
@@ -1121,7 +1122,7 @@ HOF_AnimateFrontpic: ; d066e Predef 49
push bc
push hl
ld de, vTiles2
- predef GetAnimatedFrontpicPredef
+ predef GetAnimatedFrontpic
pop hl
pop bc
ld d, 0
diff --git a/engine/player_gfx.asm b/engine/player_gfx.asm
index 98a54684b..21929e32c 100644
--- a/engine/player_gfx.asm
+++ b/engine/player_gfx.asm
@@ -1,5 +1,4 @@
-Function88248: ; 88248
-; XXX
+Unreferenced_Function88248: ; 88248
ld c, CAL
ld a, [wPlayerGender]
bit 0, a
@@ -57,11 +56,11 @@ MovePlayerPic: ; 88266
jr .loop
ShowPlayerNamingChoices: ; 88297
- ld hl, ChrisNameMenuHeader
+ ld hl, ChrisNameMenuDataHeader
ld a, [wPlayerGender]
bit 0, a
jr z, .GotGender
- ld hl, KrisNameMenuHeader
+ ld hl, KrisNameMenuDataHeader
.GotGender:
call LoadMenuDataHeader
call VerticalMenu
@@ -71,7 +70,7 @@ ShowPlayerNamingChoices: ; 88297
call CloseWindow
ret
-INCLUDE "data/default_names.asm"
+INCLUDE "data/player_names.asm"
GetPlayerNameArray: ; 88318 This Function is never called
ld hl, PlayerName
@@ -142,7 +141,7 @@ GetChrisBackpic: ; 88830
ld b, BANK(ChrisBackpic)
ld de, vTiles2 tile $31
ld c, 7 * 7
- predef DecompressPredef
+ predef DecompressGet2bpp
ret
HOF_LoadTrainerFrontpic: ; 88840
diff --git a/engine/player_movement.asm b/engine/player_movement.asm
index fa7cc84a5..d6d10aea1 100755
--- a/engine/player_movement.asm
+++ b/engine/player_movement.asm
@@ -140,7 +140,7 @@ DoPlayerMovement:: ; 80000
.water
ld a, c
- and 3
+ maskbits NUM_DIRECTIONS
ld c, a
ld b, 0
ld hl, .water_table
@@ -244,7 +244,7 @@ DoPlayerMovement:: ; 80000
ld a, [PlayerDirection]
rrca
rrca
- and 3
+ maskbits NUM_DIRECTIONS
cp e
jr z, .not_turning
@@ -316,7 +316,7 @@ DoPlayerMovement:: ; 80000
scf
ret
-; unused?
+; unused
xor a
ret
@@ -430,7 +430,7 @@ DoPlayerMovement:: ; 80000
ld a, [PlayerDirection]
rrca
rrca
- and 3
+ maskbits NUM_DIRECTIONS
cp e
jr nz, .not_warp
call WarpCheck
@@ -559,7 +559,7 @@ DoPlayerMovement:: ; 80000
cp 0
ret z
- and 3
+ maskbits NUM_DIRECTIONS
ld e, a
ld d, 0
ld hl, .forced_dpad
diff --git a/engine/player_object.asm b/engine/player_object.asm
index 6d5cb7e84..b630078a2 100755
--- a/engine/player_object.asm
+++ b/engine/player_object.asm
@@ -589,7 +589,7 @@ Special_SurfStartStep: ; 8379
ld a, [PlayerDirection]
srl a
srl a
- and 3
+ maskbits NUM_DIRECTIONS
ld e, a
ld d, 0
ld hl, .movement_data
diff --git a/engine/player_step.asm b/engine/player_step.asm
index 996a9b422..3af41be59 100755
--- a/engine/player_step.asm
+++ b/engine/player_step.asm
@@ -76,7 +76,7 @@ HandlePlayerStep: ; d4e5 (3:54e5)
ret
.mobile ; d509 (3:5509)
- farcall TrainerRankings_StepCount
+ farcall StubbedTrainerRankings_StepCount
ret
.fail2 ; d510 (3:5510)
@@ -154,7 +154,7 @@ UpdateOverworldMap: ; d536 (3:5536)
jr nc, .not_overflowed
ld a, [wBGMapAnchor + 1]
inc a
- and $3
+ and %11
or HIGH(vBGMap0)
ld [wBGMapAnchor + 1], a
.not_overflowed
@@ -185,7 +185,7 @@ UpdateOverworldMap: ; d536 (3:5536)
jr nc, .not_underflowed
ld a, [wBGMapAnchor + 1]
dec a
- and $3
+ and %11
or HIGH(vBGMap0)
ld [wBGMapAnchor + 1], a
.not_underflowed
diff --git a/engine/routines/newpokedexentry.asm b/engine/pokedex/newpokedexentry.asm
index acf9fca7b..d6b755200 100644
--- a/engine/routines/newpokedexentry.asm
+++ b/engine/pokedex/newpokedexentry.asm
@@ -11,13 +11,13 @@ NewPokedexEntry: ; fb877
ld a, [wPokedexStatus]
push af
ld a, [hSCX]
- add $5
+ add POKEDEX_SCX
ld [hSCX], a
xor a
ld [wPokedexStatus], a
farcall _NewPokedexEntry
call WaitPressAorB_BlinkCursor
- ld a, $1
+ ld a, 1 ; page 2
ld [wPokedexStatus], a
farcall DisplayDexEntry
call WaitPressAorB_BlinkCursor
@@ -26,7 +26,7 @@ NewPokedexEntry: ; fb877
call MaxVolume
call RotateThreePalettesRight
ld a, [hSCX]
- add -5 ; 251 ; NUM_POKEMON
+ add -POKEDEX_SCX
ld [hSCX], a
call .ReturnFromDexRegistration
pop af
diff --git a/engine/pokedex.asm b/engine/pokedex/pokedex.asm
index 5dc3dc2a7..e96d0a7d7 100644
--- a/engine/pokedex.asm
+++ b/engine/pokedex/pokedex.asm
@@ -1,3 +1,4 @@
+; Pokedex_RunJumptable.Jumptable indexes
const_def
const DEXSTATE_MAIN_SCR
const DEXSTATE_UPDATE_MAIN_SCR
@@ -14,6 +15,9 @@
const DEXSTATE_UPDATE_UNOWN_MODE
const DEXSTATE_EXIT
+POKEDEX_SCX EQU 5
+GLOBAL POKEDEX_SCX
+
Pokedex: ; 40000
ld a, [hWX]
@@ -86,8 +90,8 @@ InitPokedex: ; 40063
xor a
ld [wJumptableIndex], a
- ld [wDexEntryPrevJumptableIndex], a
- ld [wcf65], a
+ ld [wPrevDexEntryJumptableIndex], a
+ ld [wPrevDexEntryBackup], a
ld [wcf66], a
call Pokedex_CheckUnlockedUnownMode
@@ -118,7 +122,7 @@ Pokedex_CheckUnlockedUnownMode: ; 400a2
Pokedex_InitCursorPosition: ; 400b4
ld hl, wPokedexOrder
- ld a, [wLastDexEntry]
+ ld a, [wPrevDexEntry]
and a
jr z, .done
cp NUM_POKEMON + 1
@@ -185,6 +189,7 @@ Pokedex_RunJumptable: ; 4010b
jp hl
.Jumptable: ; 40115 (10:4115)
+; entries correspond to DEXSTATE_* constants
dw Pokedex_InitMainScreen
dw Pokedex_UpdateMainScreen
dw Pokedex_InitDexEntryScreen
@@ -228,7 +233,7 @@ Pokedex_InitMainScreen: ; 4013c (10:413c)
call Pokedex_SetBGMapMode_3ifDMG_4ifCGB
call Pokedex_ResetBGMapMode
call Pokedex_DrawMainScreenBG
- ld a, $5
+ ld a, POKEDEX_SCX
ld [hSCX], a
ld a, [wCurrentDexMode]
@@ -289,7 +294,7 @@ Pokedex_UpdateMainScreen: ; 401ae (10:41ae)
ld a, DEXSTATE_DEX_ENTRY_SCR
ld [wJumptableIndex], a
ld a, DEXSTATE_MAIN_SCR
- ld [wDexEntryPrevJumptableIndex], a
+ ld [wPrevDexEntryJumptableIndex], a
ret
.select
@@ -321,7 +326,7 @@ Pokedex_UpdateMainScreen: ; 401ae (10:41ae)
Pokedex_InitDexEntryScreen: ; 40217 (10:4217)
call LowVolume
- xor a
+ xor a ; page 1
ld [wPokedexStatus], a
xor a
ld [hBGMapMode], a
@@ -330,7 +335,7 @@ Pokedex_InitDexEntryScreen: ; 40217 (10:4217)
call Pokedex_DrawDexEntryScreenBG
call Pokedex_InitArrowCursor
call Pokedex_GetSelectedMon
- ld [wLastDexEntry], a
+ ld [wPrevDexEntry], a
farcall DisplayDexEntry
call Pokedex_DrawFootprint
call WaitBGMap
@@ -341,7 +346,7 @@ Pokedex_InitDexEntryScreen: ; 40217 (10:4217)
ld a, SCGB_POKEDEX
call Pokedex_GetSGBLayout
ld a, [CurPartySpecies]
- call PlayCry
+ call PlayMonCry
call Pokedex_IncrementDexPointer
ret
@@ -375,16 +380,16 @@ Pokedex_UpdateDexEntryScreen: ; 40258 (10:4258)
.max_volume
call MaxVolume
- ld a, [wDexEntryPrevJumptableIndex]
+ ld a, [wPrevDexEntryJumptableIndex]
ld [wJumptableIndex], a
ret
Pokedex_Page: ; 40292
ld a, [wPokedexStatus]
- xor $1
+ xor 1 ; toggle page
ld [wPokedexStatus], a
call Pokedex_GetSelectedMon
- ld [wLastDexEntry], a
+ ld [wPrevDexEntry], a
farcall DisplayDexEntry
call WaitBGMap
ret
@@ -392,7 +397,7 @@ Pokedex_Page: ; 40292
Pokedex_ReinitDexEntryScreen: ; 402aa (10:42aa)
; Reinitialize the Pokédex entry screen after changing the selected mon.
call Pokedex_BlackOutBG
- xor a
+ xor a ; page 1
ld [wPokedexStatus], a
xor a
ld [hBGMapMode], a
@@ -400,7 +405,7 @@ Pokedex_ReinitDexEntryScreen: ; 402aa (10:42aa)
call Pokedex_InitArrowCursor
call Pokedex_LoadCurrentFootprint
call Pokedex_GetSelectedMon
- ld [wLastDexEntry], a
+ ld [wPrevDexEntry], a
farcall DisplayDexEntry
call Pokedex_DrawFootprint
call Pokedex_LoadSelectedMonTiles
@@ -410,17 +415,17 @@ Pokedex_ReinitDexEntryScreen: ; 402aa (10:42aa)
ld a, SCGB_POKEDEX
call Pokedex_GetSGBLayout
ld a, [CurPartySpecies]
- call PlayCry
+ call PlayMonCry
ld hl, wJumptableIndex
dec [hl]
ret
DexEntryScreen_ArrowCursorData: ; 402e8
db D_RIGHT | D_LEFT, 4
- dwcoord 1, 17
- dwcoord 6, 17
- dwcoord 11, 17
- dwcoord 15, 17
+ dwcoord 1, 17 ; PAGE
+ dwcoord 6, 17 ; AREA
+ dwcoord 11, 17 ; CRY
+ dwcoord 15, 17 ; PRNT
DexEntryScreen_MenuActionJumptable: ; 402f2
@@ -441,14 +446,14 @@ DexEntryScreen_MenuActionJumptable: ; 402f2
call Pokedex_GetSelectedMon
ld a, [wDexCurrentLocation]
ld e, a
- predef _Area
+ predef Pokedex_GetArea
call Pokedex_BlackOutBG
call DelayFrame
xor a
ld [hBGMapMode], a
ld a, $90
ld [hWY], a
- ld a, $5
+ ld a, POKEDEX_SCX
ld [hSCX], a
call DelayFrame
call Pokedex_RedisplayDexEntry
@@ -466,16 +471,16 @@ DexEntryScreen_MenuActionJumptable: ; 402f2
call GetCryIndex
ld e, c
ld d, b
- call PlayCryHeader
+ call PlayCry
ret
.Print: ; 4034f
call Pokedex_ApplyPrintPals
xor a
ld [hSCX], a
- ld a, [wcf65]
+ ld a, [wPrevDexEntryBackup]
push af
- ld a, [wDexEntryPrevJumptableIndex]
+ ld a, [wPrevDexEntryJumptableIndex]
push af
ld a, [wJumptableIndex]
push af
@@ -483,16 +488,16 @@ DexEntryScreen_MenuActionJumptable: ; 402f2
pop af
ld [wJumptableIndex], a
pop af
- ld [wDexEntryPrevJumptableIndex], a
+ ld [wPrevDexEntryJumptableIndex], a
pop af
- ld [wcf65], a
+ ld [wPrevDexEntryBackup], a
call ClearBGPalettes
call DisableLCD
call Pokedex_LoadInvertedFont
call Pokedex_RedisplayDexEntry
call EnableLCD
call WaitBGMap
- ld a, $5
+ ld a, POKEDEX_SCX
ld [hSCX], a
call Pokedex_ApplyUsualPals
ret
@@ -553,16 +558,16 @@ Pokedex_UpdateOptionScreen: ; 403be (10:43be)
.NoUnownModeArrowCursorData: ; 403f3
db D_UP | D_DOWN, 3
- dwcoord 2, 4
- dwcoord 2, 6
- dwcoord 2, 8
+ dwcoord 2, 4 ; NEW
+ dwcoord 2, 6 ; OLD
+ dwcoord 2, 8 ; ABC
.ArrowCursorData: ; 403fb
db D_UP | D_DOWN, 4
- dwcoord 2, 4
- dwcoord 2, 6
- dwcoord 2, 8
- dwcoord 2, 10
+ dwcoord 2, 4 ; NEW
+ dwcoord 2, 6 ; OLD
+ dwcoord 2, 8 ; ABC
+ dwcoord 2, 10 ; UNOWN
.MenuActionJumptable: ; 40405 (10:4405)
dw .MenuAction_NewMode
@@ -655,10 +660,10 @@ Pokedex_UpdateSearchScreen: ; 40471 (10:4471)
.ArrowCursorData: ; 4049e
db D_UP | D_DOWN, 4
- dwcoord 2, 4
- dwcoord 2, 6
- dwcoord 2, 13
- dwcoord 2, 15
+ dwcoord 2, 4 ; TYPE 1
+ dwcoord 2, 6 ; TYPE 2
+ dwcoord 2, 13 ; BEGIN SEARCH
+ dwcoord 2, 15 ; CANCEL
.MenuActionJumptable: ; 404a8
dw .MenuAction_MonSearchType
@@ -695,8 +700,8 @@ Pokedex_UpdateSearchScreen: ; 40471 (10:4471)
ld [wDexListingScrollOffsetBackup], a
ld a, [wDexListingCursor]
ld [wDexListingCursorBackup], a
- ld a, [wLastDexEntry]
- ld [wcf65], a
+ ld a, [wPrevDexEntry]
+ ld [wPrevDexEntryBackup], a
xor a
ld [wDexListingScrollOffset], a
ld [wDexListingCursor], a
@@ -728,7 +733,7 @@ Pokedex_InitSearchResultsScreen: ; 4050a (10:450a)
call Pokedex_SetBGMapMode3
call Pokedex_ResetBGMapMode
call Pokedex_DrawSearchResultsScreenBG
- ld a, $5
+ ld a, POKEDEX_SCX
ld [hSCX], a
ld a, $4a
ld [hWX], a
@@ -739,7 +744,7 @@ Pokedex_InitSearchResultsScreen: ; 4050a (10:450a)
farcall DrawPokedexSearchResultsWindow
call Pokedex_PlaceSearchResultsTypeStrings
call Pokedex_UpdateSearchResultsCursorOAM
- ld a, $ff
+ ld a, -1
ld [CurPartySpecies], a
ld a, SCGB_POKEDEX
call Pokedex_GetSGBLayout
@@ -771,7 +776,7 @@ Pokedex_UpdateSearchResultsScreen: ; 40562 (10:4562)
ld a, DEXSTATE_DEX_ENTRY_SCR
ld [wJumptableIndex], a
ld a, DEXSTATE_SEARCH_RESULTS_SCR
- ld [wDexEntryPrevJumptableIndex], a
+ ld [wPrevDexEntryJumptableIndex], a
ret
.return_to_search_screen
@@ -779,8 +784,8 @@ Pokedex_UpdateSearchResultsScreen: ; 40562 (10:4562)
ld [wDexListingScrollOffset], a
ld a, [wDexListingCursorBackup]
ld [wDexListingCursor], a
- ld a, [wcf65]
- ld [wLastDexEntry], a
+ ld a, [wPrevDexEntryBackup]
+ ld [wPrevDexEntry], a
call Pokedex_BlackOutBG
call ClearSprites
call Pokedex_OrderMonsByMode
@@ -827,7 +832,7 @@ Pokedex_UpdateUnownMode: ; 405df (10:45df)
.decompress
ld hl, PokedexLZ
ld de, vTiles2 tile $31
- lb bc, BANK(PokedexLZ), $3a
+ lb bc, BANK(PokedexLZ), 58
call DecompressRequest2bpp
.done
@@ -1123,13 +1128,14 @@ Pokedex_DrawMainScreenBG: ; 4074c (10:474c)
ret
String_SEEN: ; 407e1
- db "SEEN", $ff
+ db "SEEN", -1
String_OWN: ; 407e6
- db "OWN", $ff
+ db "OWN", -1
String_SELECT_OPTION: ; 407ea
db $3b, $48, $49, $4a, $44, $45, $46, $47 ; SELECT > OPTION
+ ; fallthrough
String_START_SEARCH: ; 407f2
- db $3c, $3b, $41, $42, $43, $4b, $4c, $4d, $4e, $3c, $ff ; START > SEARCH
+ db $3c, $3b, $41, $42, $43, $4b, $4c, $4d, $4e, $3c, -1 ; START > SEARCH
Pokedex_DrawDexEntryScreenBG: ; 407fd
call Pokedex_FillBackgroundColor2
@@ -1164,13 +1170,13 @@ Pokedex_DrawDexEntryScreenBG: ; 407fd
ret
.Unused: ; 4084f
- db $5c, $5d, $ff ; No.
+ db $5c, $5d, -1 ; No.
.Height: ; 40852
- db "HT ?", $5e, "??", $5f, $ff ; HT ?'??"
+ db "HT ?", $5e, "??", $5f, -1 ; HT ?'??"
.Weight: ; 4085c
- db "WT ???lb", $ff ; WT ???lb
+ db "WT ???lb", -1 ; WT ???lb
.MenuItems: ; 40867
- db $3b, " PAGE AREA CRY PRNT", $ff
+ db $3b, " PAGE AREA CRY PRNT", -1
Pokedex_DrawOptionScreenBG: ; 4087c (10:487c)
call Pokedex_FillBackgroundColor2
@@ -1195,7 +1201,7 @@ Pokedex_DrawOptionScreenBG: ; 4087c (10:487c)
ret
.Title: ; 408b2
- db $3b, " OPTION ", $3c, $ff
+ db $3b, " OPTION ", $3c, -1
.Modes: ; 408bd
db "NEW #DEX MODE"
@@ -1229,10 +1235,10 @@ Pokedex_DrawSearchScreenBG: ; 408f0 (10:48f0)
ret
.Title: ; 4092a
- db $3b, " SEARCH ", $3c, $ff
+ db $3b, " SEARCH ", $3c, -1
.TypeLeftRightArrows: ; 40935
- db $3d, " ", $3e, $ff
+ db $3d, " ", $3e, -1
.Types: ; 40940
db "TYPE1"
@@ -1342,33 +1348,34 @@ endr
ret
UnownModeLetterAndCursorCoords: ; 40a3e
+; entries correspond to Unown forms
; letter, cursor
- dwcoord 4,11, 3,11
- dwcoord 4,10, 3,10
- dwcoord 4, 9, 3, 9
- dwcoord 4, 8, 3, 8
- dwcoord 4, 7, 3, 7
- dwcoord 4, 6, 3, 6
- dwcoord 4, 5, 3, 5
- dwcoord 4, 4, 3, 4
- dwcoord 4, 3, 3, 2
- dwcoord 5, 3, 5, 2
- dwcoord 6, 3, 6, 2
- dwcoord 7, 3, 7, 2
- dwcoord 8, 3, 8, 2
- dwcoord 9, 3, 9, 2
- dwcoord 10, 3, 10, 2
- dwcoord 11, 3, 11, 2
- dwcoord 12, 3, 12, 2
- dwcoord 13, 3, 13, 2
- dwcoord 14, 3, 15, 2
- dwcoord 14, 4, 15, 4
- dwcoord 14, 5, 15, 5
- dwcoord 14, 6, 15, 6
- dwcoord 14, 7, 15, 7
- dwcoord 14, 8, 15, 8
- dwcoord 14, 9, 15, 9
- dwcoord 14,10, 15,10
+ dwcoord 4,11, 3,11 ; A
+ dwcoord 4,10, 3,10 ; B
+ dwcoord 4, 9, 3, 9 ; C
+ dwcoord 4, 8, 3, 8 ; D
+ dwcoord 4, 7, 3, 7 ; E
+ dwcoord 4, 6, 3, 6 ; F
+ dwcoord 4, 5, 3, 5 ; G
+ dwcoord 4, 4, 3, 4 ; H
+ dwcoord 4, 3, 3, 2 ; I
+ dwcoord 5, 3, 5, 2 ; J
+ dwcoord 6, 3, 6, 2 ; K
+ dwcoord 7, 3, 7, 2 ; L
+ dwcoord 8, 3, 8, 2 ; M
+ dwcoord 9, 3, 9, 2 ; N
+ dwcoord 10, 3, 10, 2 ; O
+ dwcoord 11, 3, 11, 2 ; P
+ dwcoord 12, 3, 12, 2 ; Q
+ dwcoord 13, 3, 13, 2 ; R
+ dwcoord 14, 3, 15, 2 ; S
+ dwcoord 14, 4, 15, 4 ; T
+ dwcoord 14, 5, 15, 5 ; U
+ dwcoord 14, 6, 15, 6 ; V
+ dwcoord 14, 7, 15, 7 ; W
+ dwcoord 14, 8, 15, 8 ; X
+ dwcoord 14, 9, 15, 9 ; Y
+ dwcoord 14,10, 15,10 ; Z
Pokedex_FillBackgroundColor2: ; 40aa6
hlcoord 0, 0
@@ -1794,7 +1801,7 @@ Pokedex_PrevSearchMonType: ; 40f65
ld hl, wDexSearchMonType1
ld a, [hl]
- cp $1
+ cp 1
jr z, .wrap_around
dec [hl]
jr .done
@@ -1808,7 +1815,7 @@ Pokedex_PrevSearchMonType: ; 40f65
jr .done
.wrap_around
- ld [hl], $11
+ ld [hl], NUM_TYPES - 1
.done
scf
@@ -1821,18 +1828,18 @@ Pokedex_NextSearchMonType: ; 40f84
ld hl, wDexSearchMonType1
ld a, [hl]
- cp $11
+ cp NUM_TYPES - 1
jr nc, .type1_wrap_around
inc [hl]
jr .done
.type1_wrap_around
- ld [hl], $1
+ ld [hl], 1
jr .done
.type2
ld hl, wDexSearchMonType2
ld a, [hl]
- cp $11
+ cp NUM_TYPES - 1
jr nc, .type2_wrap_around
inc [hl]
jr .done
@@ -1864,7 +1871,7 @@ Pokedex_PlaceTypeString: ; 40fcd (10:4fcd)
push hl
ld e, a
ld d, 0
- ld hl, .TypeStrings
+ ld hl, PokedexTypeSearchStrings
rept 9
add hl, de
endr
@@ -1874,25 +1881,7 @@ endr
call PlaceString
ret
-.TypeStrings: ; 40fe4
- db " ---- @"
- db " NORMAL @"
- db " FIRE @"
- db " WATER @"
- db " GRASS @"
- db "ELECTRIC@"
- db " ICE @"
- db "FIGHTING@"
- db " POISON @"
- db " GROUND @"
- db " FLYING @"
- db "PSYCHIC @"
- db " BUG @"
- db " ROCK @"
- db " GHOST @"
- db " DRAGON @"
- db " DARK @"
- db " STEEL @"
+INCLUDE "data/types/search_strings.asm"
Pokedex_SearchForMons: ; 41086
ld a, [wDexSearchMonType2]
@@ -1907,7 +1896,7 @@ Pokedex_SearchForMons: ; 41086
dec a
ld e, a
ld d, 0
- ld hl, .TypeConversionTable
+ ld hl, PokedexTypeSearchConversionTable
add hl, de
ld a, [hl]
ld [wDexConvertedMonType], a
@@ -1969,24 +1958,7 @@ Pokedex_SearchForMons: ; 41086
.done
ret
-.TypeConversionTable: ; 410f6
- db NORMAL
- db FIRE
- db WATER
- db GRASS
- db ELECTRIC
- db ICE
- db FIGHTING
- db POISON
- db GROUND
- db FLYING
- db PSYCHIC
- db BUG
- db ROCK
- db GHOST
- db DRAGON
- db DARK
- db STEEL
+INCLUDE "data/types/search_types.asm"
Pokedex_DisplayTypeNotFoundMessage: ; 41107
xor a
@@ -2026,60 +1998,60 @@ Pokedex_PutOldModeCursorOAM: ; 41157 (10:5157)
ret
.CursorOAM: ; 41167
- db $18, $47, $30, $07
- db $10, $47, $31, $07
- db $10, $4f, $32, $07
- db $10, $57, $32, $07
- db $10, $5f, $32, $07
- db $10, $67, $33, $07
- db $10, $7e, $33, $27
- db $10, $86, $32, $27
- db $10, $8e, $32, $27
- db $10, $96, $32, $27
- db $10, $9e, $31, $27
- db $18, $9e, $30, $27
- db $20, $47, $30, $47
- db $28, $47, $31, $47
- db $28, $4f, $32, $47
- db $28, $57, $32, $47
- db $28, $5f, $32, $47
- db $28, $67, $33, $47
- db $28, $7e, $33, $67
- db $28, $86, $32, $67
- db $28, $8e, $32, $67
- db $28, $96, $32, $67
- db $28, $9e, $31, $67
- db $20, $9e, $30, $67
- db $ff
+ dsprite 3, 0, 9, -1, $30, 7
+ dsprite 2, 0, 9, -1, $31, 7
+ dsprite 2, 0, 10, -1, $32, 7
+ dsprite 2, 0, 11, -1, $32, 7
+ dsprite 2, 0, 12, -1, $32, 7
+ dsprite 2, 0, 13, -1, $33, 7
+ dsprite 2, 0, 16, -2, $33, 7 | X_FLIP
+ dsprite 2, 0, 17, -2, $32, 7 | X_FLIP
+ dsprite 2, 0, 18, -2, $32, 7 | X_FLIP
+ dsprite 2, 0, 19, -2, $32, 7 | X_FLIP
+ dsprite 2, 0, 20, -2, $31, 7 | X_FLIP
+ dsprite 3, 0, 20, -2, $30, 7 | X_FLIP
+ dsprite 4, 0, 9, -1, $30, 7 | Y_FLIP
+ dsprite 5, 0, 9, -1, $31, 7 | Y_FLIP
+ dsprite 5, 0, 10, -1, $32, 7 | Y_FLIP
+ dsprite 5, 0, 11, -1, $32, 7 | Y_FLIP
+ dsprite 5, 0, 12, -1, $32, 7 | Y_FLIP
+ dsprite 5, 0, 13, -1, $33, 7 | Y_FLIP
+ dsprite 5, 0, 16, -2, $33, 7 | X_FLIP | Y_FLIP
+ dsprite 5, 0, 17, -2, $32, 7 | X_FLIP | Y_FLIP
+ dsprite 5, 0, 18, -2, $32, 7 | X_FLIP | Y_FLIP
+ dsprite 5, 0, 19, -2, $32, 7 | X_FLIP | Y_FLIP
+ dsprite 5, 0, 20, -2, $31, 7 | X_FLIP | Y_FLIP
+ dsprite 4, 0, 20, -2, $30, 7 | X_FLIP | Y_FLIP
+ db -1
.CursorAtTopOAM: ; 411c8
; OAM data for when the cursor is at the top of the list. The tiles at the top
; are cut off so they don't show up outside the list area.
- db $18, $47, $30, $07
- db $10, $47, $34, $07
- db $10, $4f, $35, $07
- db $10, $57, $35, $07
- db $10, $5f, $35, $07
- db $10, $67, $36, $07
- db $10, $7e, $36, $27
- db $10, $86, $35, $27
- db $10, $8e, $35, $27
- db $10, $96, $35, $27
- db $10, $9e, $34, $27
- db $18, $9e, $30, $27
- db $20, $47, $30, $47
- db $28, $47, $31, $47
- db $28, $4f, $32, $47
- db $28, $57, $32, $47
- db $28, $5f, $32, $47
- db $28, $67, $33, $47
- db $28, $7e, $33, $67
- db $28, $86, $32, $67
- db $28, $8e, $32, $67
- db $28, $96, $32, $67
- db $28, $9e, $31, $67
- db $20, $9e, $30, $67
- db $ff
+ dsprite 3, 0, 9, -1, $30, 7
+ dsprite 2, 0, 9, -1, $34, 7
+ dsprite 2, 0, 10, -1, $35, 7
+ dsprite 2, 0, 11, -1, $35, 7
+ dsprite 2, 0, 12, -1, $35, 7
+ dsprite 2, 0, 13, -1, $36, 7
+ dsprite 2, 0, 16, -2, $36, 7 | X_FLIP
+ dsprite 2, 0, 17, -2, $35, 7 | X_FLIP
+ dsprite 2, 0, 18, -2, $35, 7 | X_FLIP
+ dsprite 2, 0, 19, -2, $35, 7 | X_FLIP
+ dsprite 2, 0, 20, -2, $34, 7 | X_FLIP
+ dsprite 3, 0, 20, -2, $30, 7 | X_FLIP
+ dsprite 4, 0, 9, -1, $30, 7 | Y_FLIP
+ dsprite 5, 0, 9, -1, $31, 7 | Y_FLIP
+ dsprite 5, 0, 10, -1, $32, 7 | Y_FLIP
+ dsprite 5, 0, 11, -1, $32, 7 | Y_FLIP
+ dsprite 5, 0, 12, -1, $32, 7 | Y_FLIP
+ dsprite 5, 0, 13, -1, $33, 7 | Y_FLIP
+ dsprite 5, 0, 16, -2, $33, 7 | X_FLIP | Y_FLIP
+ dsprite 5, 0, 17, -2, $32, 7 | X_FLIP | Y_FLIP
+ dsprite 5, 0, 18, -2, $32, 7 | X_FLIP | Y_FLIP
+ dsprite 5, 0, 19, -2, $32, 7 | X_FLIP | Y_FLIP
+ dsprite 5, 0, 20, -2, $31, 7 | X_FLIP | Y_FLIP
+ dsprite 4, 0, 20, -2, $30, 7 | X_FLIP | Y_FLIP
+ db -1
Pokedex_PutNewModeABCModeCursorOAM: ; 41229 (10:5229)
ld hl, .CursorOAM
@@ -2087,27 +2059,27 @@ Pokedex_PutNewModeABCModeCursorOAM: ; 41229 (10:5229)
ret
.CursorOAM: ; 41230
- db $1b, $47, $30, $07
- db $13, $47, $31, $07
- db $13, $4f, $32, $07
- db $13, $57, $32, $07
- db $13, $5f, $33, $07
- db $13, $80, $33, $27
- db $13, $88, $32, $27
- db $13, $90, $32, $27
- db $13, $98, $31, $27
- db $1b, $98, $30, $27
- db $23, $47, $30, $47
- db $2b, $47, $31, $47
- db $2b, $4f, $32, $47
- db $2b, $57, $32, $47
- db $2b, $5f, $33, $47
- db $2b, $80, $33, $67
- db $2b, $88, $32, $67
- db $2b, $90, $32, $67
- db $2b, $98, $31, $67
- db $23, $98, $30, $67
- db $ff
+ dsprite 3, 3, 9, -1, $30, 7
+ dsprite 2, 3, 9, -1, $31, 7
+ dsprite 2, 3, 10, -1, $32, 7
+ dsprite 2, 3, 11, -1, $32, 7
+ dsprite 2, 3, 12, -1, $33, 7
+ dsprite 2, 3, 16, 0, $33, 7 | X_FLIP
+ dsprite 2, 3, 17, 0, $32, 7 | X_FLIP
+ dsprite 2, 3, 18, 0, $32, 7 | X_FLIP
+ dsprite 2, 3, 19, 0, $31, 7 | X_FLIP
+ dsprite 3, 3, 19, 0, $30, 7 | X_FLIP
+ dsprite 4, 3, 9, -1, $30, 7 | Y_FLIP
+ dsprite 5, 3, 9, -1, $31, 7 | Y_FLIP
+ dsprite 5, 3, 10, -1, $32, 7 | Y_FLIP
+ dsprite 5, 3, 11, -1, $32, 7 | Y_FLIP
+ dsprite 5, 3, 12, -1, $33, 7 | Y_FLIP
+ dsprite 5, 3, 16, 0, $33, 7 | X_FLIP | Y_FLIP
+ dsprite 5, 3, 17, 0, $32, 7 | X_FLIP | Y_FLIP
+ dsprite 5, 3, 18, 0, $32, 7 | X_FLIP | Y_FLIP
+ dsprite 5, 3, 19, 0, $31, 7 | X_FLIP | Y_FLIP
+ dsprite 4, 3, 19, 0, $30, 7 | X_FLIP | Y_FLIP
+ db -1
Pokedex_UpdateSearchResultsCursorOAM: ; 41281 (10:5281)
ld a, [wCurrentDexMode]
@@ -2118,52 +2090,52 @@ Pokedex_UpdateSearchResultsCursorOAM: ; 41281 (10:5281)
ret
.CursorOAM: ; 41290
- db $1b, $47, $30, $07
- db $13, $47, $31, $07
- db $13, $4f, $32, $07
- db $13, $57, $32, $07
- db $13, $5f, $32, $07
- db $13, $67, $33, $07
- db $13, $7e, $33, $27
- db $13, $86, $32, $27
- db $13, $8e, $32, $27
- db $13, $96, $32, $27
- db $13, $9e, $31, $27
- db $1b, $9e, $30, $27
- db $23, $47, $30, $47
- db $2b, $47, $31, $47
- db $2b, $4f, $32, $47
- db $2b, $57, $32, $47
- db $2b, $5f, $32, $47
- db $2b, $67, $33, $47
- db $2b, $7e, $33, $67
- db $2b, $86, $32, $67
- db $2b, $8e, $32, $67
- db $2b, $96, $32, $67
- db $2b, $9e, $31, $67
- db $23, $9e, $30, $67
- db $ff
+ dsprite 3, 3, 9, -1, $30, 7
+ dsprite 2, 3, 9, -1, $31, 7
+ dsprite 2, 3, 10, -1, $32, 7
+ dsprite 2, 3, 11, -1, $32, 7
+ dsprite 2, 3, 12, -1, $32, 7
+ dsprite 2, 3, 13, -1, $33, 7
+ dsprite 2, 3, 16, -2, $33, 7 | X_FLIP
+ dsprite 2, 3, 17, -2, $32, 7 | X_FLIP
+ dsprite 2, 3, 18, -2, $32, 7 | X_FLIP
+ dsprite 2, 3, 19, -2, $32, 7 | X_FLIP
+ dsprite 2, 3, 20, -2, $31, 7 | X_FLIP
+ dsprite 3, 3, 20, -2, $30, 7 | X_FLIP
+ dsprite 4, 3, 9, -1, $30, 7 | Y_FLIP
+ dsprite 5, 3, 9, -1, $31, 7 | Y_FLIP
+ dsprite 5, 3, 10, -1, $32, 7 | Y_FLIP
+ dsprite 5, 3, 11, -1, $32, 7 | Y_FLIP
+ dsprite 5, 3, 12, -1, $32, 7 | Y_FLIP
+ dsprite 5, 3, 13, -1, $33, 7 | Y_FLIP
+ dsprite 5, 3, 16, -2, $33, 7 | X_FLIP | Y_FLIP
+ dsprite 5, 3, 17, -2, $32, 7 | X_FLIP | Y_FLIP
+ dsprite 5, 3, 18, -2, $32, 7 | X_FLIP | Y_FLIP
+ dsprite 5, 3, 19, -2, $32, 7 | X_FLIP | Y_FLIP
+ dsprite 5, 3, 20, -2, $31, 7 | X_FLIP | Y_FLIP
+ dsprite 4, 3, 20, -2, $30, 7 | X_FLIP | Y_FLIP
+ db -1
Pokedex_LoadCursorOAM: ; 412f1 (10:52f1)
- ld de, Sprites
+ ld de, Sprite01
.loop
ld a, [hl]
- cp $ff
+ cp -1
ret z
ld a, [wDexListingCursor]
and $7
swap a
- add [hl]
+ add [hl] ; y
inc hl
ld [de], a
inc de
- ld a, [hli]
+ ld a, [hli] ; x
ld [de], a
inc de
- ld a, [hli]
+ ld a, [hli] ; tile id
ld [de], a
inc de
- ld a, [hli]
+ ld a, [hli] ; attributes
ld [de], a
inc de
jr .loop
@@ -2348,7 +2320,7 @@ Pokedex_BlackOutBG: ; 41401 (10:5401)
; Make BG palettes black so that the BG becomes all black.
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld hl, wBGPals1
ld bc, 8 palettes
@@ -2422,7 +2394,7 @@ Pokedex_LoadCurrentFootprint: ; 41478 (10:5478)
Pokedex_LoadAnyFootprint: ; 4147b
ld a, [wd265]
dec a
- and ($ff ^ $07) ; $f8 ; $1f << 3
+ and %11111000
srl a
srl a
srl a
@@ -2430,7 +2402,7 @@ Pokedex_LoadAnyFootprint: ; 4147b
ld d, a
ld a, [wd265]
dec a
- and 7
+ and %111
swap a ; * $10
ld l, a
ld h, 0
@@ -2586,7 +2558,7 @@ _NewPokedexEntry: ; 41a7f
ld a, SCGB_POKEDEX
call Pokedex_GetSGBLayout
ld a, [CurPartySpecies]
- call PlayCry
+ call PlayMonCry
ret
diff --git a/engine/pokedex_2.asm b/engine/pokedex/pokedex_2.asm
index 83b366017..4dd608ac0 100644
--- a/engine/pokedex_2.asm
+++ b/engine/pokedex/pokedex_2.asm
@@ -40,16 +40,16 @@ AnimateDexSearchSlowpoke: ; 441cf
DoDexSearchSlowpokeFrame: ; 44207
ld a, [wDexSearchSlowpokeFrame]
- ld hl, .SpriteData
- ld de, Sprites
+ ld hl, .SlowpokeSpriteData
+ ld de, Sprite01
.loop
ld a, [hli]
cp -1
ret z
- ld [de], a
+ ld [de], a ; y
inc de
ld a, [hli]
- ld [de], a
+ ld [de], a ; x
inc de
ld a, [wDexSearchSlowpokeFrame]
ld b, a
@@ -57,23 +57,23 @@ DoDexSearchSlowpokeFrame: ; 44207
add b
add [hl]
inc hl
- ld [de], a
+ ld [de], a ; tile id
inc de
ld a, [hli]
- ld [de], a
+ ld [de], a ; attributes
inc de
jr .loop
-.SpriteData: ; 44228
- dsprite 11, 0, 9, 0, $00, $00
- dsprite 11, 0, 10, 0, $01, $00
- dsprite 11, 0, 11, 0, $02, $00
- dsprite 12, 0, 9, 0, $10, $00
- dsprite 12, 0, 10, 0, $11, $00
- dsprite 12, 0, 11, 0, $12, $00
- dsprite 13, 0, 9, 0, $20, $00
- dsprite 13, 0, 10, 0, $21, $00
- dsprite 13, 0, 11, 0, $22, $00
+.SlowpokeSpriteData: ; 44228
+ dsprite 11, 0, 9, 0, $00, 0
+ dsprite 11, 0, 10, 0, $01, 0
+ dsprite 11, 0, 11, 0, $02, 0
+ dsprite 12, 0, 9, 0, $10, 0
+ dsprite 12, 0, 10, 0, $11, 0
+ dsprite 12, 0, 11, 0, $12, 0
+ dsprite 13, 0, 9, 0, $20, 0
+ dsprite 13, 0, 10, 0, $21, 0
+ dsprite 13, 0, 11, 0, $22, 0
db -1
DisplayDexEntry: ; 4424d
@@ -182,7 +182,7 @@ DisplayDexEntry: ; 4424d
call FarString
pop bc
ld a, [wPokedexStatus]
- or a
+ or a ; check for page 2
ret z
; Page 2
@@ -230,7 +230,7 @@ GetDexEntryPointer: ; 44333
push de
rlca
rlca
- and $3
+ maskbits NUM_DEX_ENTRY_BANKS
ld hl, .PokedexEntryBanks
ld d, 0
ld e, a
@@ -241,12 +241,6 @@ GetDexEntryPointer: ; 44333
ret
.PokedexEntryBanks: ; 44351
-
-GLOBAL PokedexEntries1
-GLOBAL PokedexEntries2
-GLOBAL PokedexEntries3
-GLOBAL PokedexEntries4
-
db BANK(PokedexEntries1)
db BANK(PokedexEntries2)
db BANK(PokedexEntries3)
diff --git a/engine/pokedex_3.asm b/engine/pokedex/pokedex_3.asm
index 482f55799..dc52f83d3 100644
--- a/engine/pokedex_3.asm
+++ b/engine/pokedex/pokedex_3.asm
@@ -7,7 +7,7 @@ LoadSGBPokedexGFX: ; 1ddf1c
LoadSGBPokedexGFX2: ; 1ddf26 (77:5f26)
ld hl, SGBPokedexGFX_LZ
ld de, vTiles2 tile $31
- lb bc, BANK(SGBPokedexGFX_LZ), $3a
+ lb bc, BANK(SGBPokedexGFX_LZ), 58
call DecompressRequest2bpp
ret
diff --git a/engine/unown_dex.asm b/engine/pokedex/unown_dex.asm
index dc6db9dc6..dc6db9dc6 100755
--- a/engine/unown_dex.asm
+++ b/engine/pokedex/unown_dex.asm
diff --git a/engine/pokegear.asm b/engine/pokegear.asm
index dba071b28..f65f394be 100755
--- a/engine/pokegear.asm
+++ b/engine/pokegear.asm
@@ -1,3 +1,27 @@
+; Pokégear cards
+ const_def
+ const POKEGEARCARD_CLOCK ; 0
+ const POKEGEARCARD_MAP ; 1
+ const POKEGEARCARD_PHONE ; 2
+ const POKEGEARCARD_RADIO ; 3
+NUM_POKEGEAR_CARDS EQU const_value
+
+; PokegearJumptable.Jumptable indexes
+ const_def
+ const POKEGEARSTATE_CLOCKINIT ; 0
+ const POKEGEARSTATE_CLOCKJOYPAD ; 1
+ const POKEGEARSTATE_MAPCHECKREGION ; 2
+ const POKEGEARSTATE_JOHTOMAPINIT ; 3
+ const POKEGEARSTATE_JOHTOMAPJOYPAD ; 4
+ const POKEGEARSTATE_KANTOMAPINIT ; 5
+ const POKEGEARSTATE_KANTOMAPJOYPAD ; 6
+ const POKEGEARSTATE_PHONEINIT ; 7
+ const POKEGEARSTATE_PHONEJOYPAD ; 8
+ const POKEGEARSTATE_MAKEPHONECALL ; 9
+ const POKEGEARSTATE_FINISHPHONECALL ; a
+ const POKEGEARSTATE_RADIOINIT ; b
+ const POKEGEARSTATE_RADIOJOYPAD ; c
+
PokeGear: ; 90b8d (24:4b8d)
ld hl, Options
ld a, [hl]
@@ -63,9 +87,9 @@ PokeGear: ; 90b8d (24:4b8d)
ld [rLCDC], a
call TownMap_InitCursorAndPlayerIconPositions
xor a
- ld [wJumptableIndex], a
- ld [wcf64], a
- ld [wcf65], a
+ ld [wJumptableIndex], a ; POKEGEARSTATE_CLOCKINIT
+ ld [wPokegearCard], a ; POKEGEARCARD_CLOCK
+ ld [wPokegearMapRegion], a ; JOHTO_REGION
ld [wcf66], a
ld [wPokegearPhoneScrollPosition], a
ld [wPokegearPhoneCursorPosition], a
@@ -92,7 +116,7 @@ Pokegear_LoadGFX: ; 90c4e
ld a, BANK(TownMapGFX)
call FarDecompress
ld hl, PokegearGFX
- ld de, vTiles2 + $30 tiles
+ ld de, vTiles2 tile $30
ld a, BANK(PokegearGFX)
call FarDecompress
ld hl, PokegearSpritesGFX
@@ -149,7 +173,7 @@ InitPokegearModeIndicatorArrow: ; 90d32 (24:4d32)
ret
AnimatePokegearModeIndicatorArrow: ; 90d41 (24:4d41)
- ld hl, wcf64
+ ld hl, wPokegearCard
ld e, [hl]
ld d, 0
ld hl, .XCoords
@@ -163,7 +187,10 @@ AnimatePokegearModeIndicatorArrow: ; 90d41 (24:4d41)
; 90d52 (24:4d52)
.XCoords: ; 90d52
- db $00, $10, $20, $30
+ db $00 ; POKEGEARCARD_CLOCK
+ db $10 ; POKEGEARCARD_MAP
+ db $20 ; POKEGEARCARD_PHONE
+ db $30 ; POKEGEARCARD_RADIO
; 90d56
TownMap_GetCurrentLandmark: ; 90d56
@@ -210,10 +237,10 @@ TownMap_InitCursorAndPlayerIconPositions: ; 90d70 (24:4d70)
ret
Pokegear_InitJumptableIndices: ; 90d9e (24:4d9e)
- ld a, $0
+ ld a, POKEGEARSTATE_CLOCKINIT
ld [wJumptableIndex], a
- xor a
- ld [wcf64], a
+ xor a ; POKEGEARCARD_CLOCK
+ ld [wPokegearCard], a
ret
InitPokegearTilemap: ; 90da8 (24:4da8)
@@ -223,8 +250,8 @@ InitPokegearTilemap: ; 90da8 (24:4da8)
ld bc, TileMapEnd - TileMap
ld a, $4f
call ByteFill
- ld a, [wcf64]
- and $3
+ ld a, [wPokegearCard]
+ maskbits NUM_POKEGEAR_CARDS
add a
ld e, a
ld d, 0
@@ -240,7 +267,7 @@ InitPokegearTilemap: ; 90da8 (24:4da8)
.return_from_jumptable
call Pokegear_FinishTilemap
farcall TownMapPals
- ld a, [wcf65]
+ ld a, [wPokegearMapRegion]
and a
jr nz, .kanto_0
xor a ; LOW(vBGMap0)
@@ -260,10 +287,11 @@ InitPokegearTilemap: ; 90da8 (24:4da8)
xor a
.finish
ld [hWY], a
- ld a, [wcf65]
- and 1
+ ; swap region maps
+ ld a, [wPokegearMapRegion]
+ maskbits NUM_REGIONS
xor 1
- ld [wcf65], a
+ ld [wPokegearMapRegion], a
ret
.UpdateBGMap: ; 90e00 (24:4e00)
@@ -281,6 +309,7 @@ InitPokegearTilemap: ; 90da8 (24:4da8)
; 90e12 (24:4e12)
.Jumptable: ; 90e12
+; entries correspond to POKEGEARCARD_* constants
dw .Clock
dw .Map
dw .Phone
@@ -319,12 +348,12 @@ InitPokegearTilemap: ; 90da8 (24:4da8)
ld e, 1
.ok
farcall PokegearMap
- ld a, $7
+ ld a, $07
ld bc, $12
hlcoord 1, 2
call ByteFill
hlcoord 0, 2
- ld [hl], $6
+ ld [hl], $06
hlcoord 19, 2
ld [hl], $17
ld a, [wPokegearMapCursorLandmark]
@@ -364,7 +393,7 @@ InitPokegearTilemap: ; 90da8 (24:4da8)
hlcoord 17, 2
inc a
ld [hli], a
- call GetMapHeaderPhoneServiceNybble
+ call GetMapPhoneService
and a
ret nz
hlcoord 18, 2
@@ -382,13 +411,13 @@ Pokegear_FinishTilemap: ; 90eb0 (24:4eb0)
call ByteFill
ld de, wPokegearFlags
ld a, [de]
- bit 0, a
+ bit 0, a ; ENGINE_MAP_CARD
call nz, .PlaceMapIcon
ld a, [de]
- bit 2, a
+ bit 2, a ; ENGINE_PHONE_CARD
call nz, .PlacePhoneIcon
ld a, [de]
- bit 1, a
+ bit 1, a ; ENGINE_RADIO_CARD
call nz, .PlaceRadioIcon
hlcoord 0, 0
ld a, $46
@@ -433,6 +462,7 @@ PokegearJumptable: ; 90f04 (24:4f04)
jp hl
.Jumptable: ; 90f13 (24:4f13)
+; entries correspond to POKEGEARSTATE_* constants
dw PokegearClock_Init
dw PokegearClock_Joypad
dw PokegearMap_CheckRegion
@@ -460,32 +490,32 @@ PokegearClock_Joypad: ; 90f3e (24:4f3e)
call .UpdateClock
ld hl, hJoyLast
ld a, [hl]
- and A_BUTTON + B_BUTTON + START + SELECT
+ and A_BUTTON | B_BUTTON | START | SELECT
jr nz, .quit
ld a, [hl]
and D_RIGHT
ret z
ld a, [wPokegearFlags]
- bit 0, a
+ bit 0, a ; ENGINE_MAP_CARD
jr z, .no_map_card
- ld c, $2
- ld b, $1
+ ld c, POKEGEARSTATE_MAPCHECKREGION
+ ld b, POKEGEARCARD_MAP
jr .done
.no_map_card
ld a, [wPokegearFlags]
- bit 2, a
+ bit 2, a ; ENGINE_PHONE_CARD
jr z, .no_phone_card
- ld c, $7
- ld b, $2
+ ld c, POKEGEARSTATE_PHONEINIT
+ ld b, POKEGEARCARD_PHONE
jr .done
.no_phone_card
ld a, [wPokegearFlags]
- bit 1, a
+ bit 1, a ; ENGINE_RADIO_CARD
ret z
- ld c, $b
- ld b, $3
+ ld c, POKEGEARSTATE_RADIOINIT
+ ld b, POKEGEARCARD_RADIO
.done
call Pokegear_SwitchPage
ret
@@ -535,12 +565,12 @@ PokegearMap_CheckRegion: ; 90fb4 (24:4fb4)
cp KANTO_LANDMARK
jr nc, .kanto
.johto
- ld a, 3
+ ld a, POKEGEARSTATE_JOHTOMAPINIT
jr .done
ret
.kanto
- ld a, 5
+ ld a, POKEGEARSTATE_KANTOMAPINIT
.done
ld [wJumptableIndex], a
call ExitPokegearRadio_HandleMusic
@@ -583,23 +613,23 @@ PokegearMap_ContinueMap: ; 90ff2 (24:4ff2)
.right
ld a, [wPokegearFlags]
- bit 2, a
+ bit 2, a ; ENGINE_PHONE_CARD
jr z, .no_phone
- ld c, $7
- ld b, $2
+ ld c, POKEGEARSTATE_PHONEINIT
+ ld b, POKEGEARCARD_PHONE
jr .done
.no_phone
ld a, [wPokegearFlags]
- bit 1, a
+ bit 1, a ; ENGINE_RADIO_CARD
ret z
- ld c, $b
- ld b, $3
+ ld c, POKEGEARSTATE_RADIOINIT
+ ld b, POKEGEARCARD_RADIO
jr .done
.left
- ld c, $0
- ld b, $0
+ ld c, POKEGEARSTATE_CLOCKINIT
+ ld b, POKEGEARCARD_CLOCK
.done
call Pokegear_SwitchPage
ret
@@ -657,7 +687,7 @@ PokegearMap_InitPlayerIcon: ; 9106a
depixel 0, 0
ld b, SPRITE_ANIM_INDEX_RED_WALK
ld a, [wPlayerGender]
- bit 0, a
+ bit 0, a ; ENGINE_PLAYER_IS_FEMALE
jr z, .got_gender
ld b, SPRITE_ANIM_INDEX_BLUE_WALK
.got_gender
@@ -688,7 +718,7 @@ PokegearMap_InitCursor: ; 91098
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
- ld [hl], $4
+ ld [hl], $04
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld [hl], SPRITE_ANIM_SEQ_NULL
@@ -734,7 +764,7 @@ PokegearMap_UpdateCursorPosition: ; 910d4
TownMap_GetKantoLandmarkLimits: ; 910e8
ld a, [wStatusFlags]
- bit 6, a
+ bit 6, a ; ENGINE_CREDITS_SKIP
jr z, .not_hof
ld d, ROUTE_28
ld e, PALLET_TOWN
@@ -754,7 +784,7 @@ PokegearRadio_Init: ; 910f9 (24:50f9)
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
- ld [hl], $8
+ ld [hl], $08
call _UpdateRadioStation
ld hl, wJumptableIndex
inc [hl]
@@ -780,23 +810,23 @@ PokegearRadio_Joypad: ; 91112 (24:5112)
.left
ld a, [wPokegearFlags]
- bit 2, a
+ bit 2, a ; ENGINE_PHONE_CARD
jr z, .no_phone
- ld c, $7
- ld b, $2
+ ld c, POKEGEARSTATE_PHONEINIT
+ ld b, POKEGEARCARD_PHONE
jr .switch_page
.no_phone
ld a, [wPokegearFlags]
- bit 0, a
+ bit 0, a ; ENGINE_MAP_CARD
jr z, .no_map
- ld c, $2
- ld b, $1
+ ld c, POKEGEARSTATE_MAPCHECKREGION
+ ld b, POKEGEARCARD_MAP
jr .switch_page
.no_map
- ld c, $0
- ld b, $0
+ ld c, POKEGEARSTATE_CLOCKINIT
+ ld b, POKEGEARCARD_CLOCK
.switch_page
call Pokegear_SwitchPage
ret
@@ -839,23 +869,23 @@ PokegearPhone_Joypad: ; 91171 (24:5171)
.left
ld a, [wPokegearFlags]
- bit 0, a
+ bit 0, a ; ENGINE_MAP_CARD
jr z, .no_map
- ld c, $2
- ld b, $1
+ ld c, POKEGEARSTATE_MAPCHECKREGION
+ ld b, POKEGEARCARD_MAP
jr .switch_page
.no_map
- ld c, $0
- ld b, $0
+ ld c, POKEGEARSTATE_CLOCKINIT
+ ld b, POKEGEARCARD_CLOCK
jr .switch_page
.right
ld a, [wPokegearFlags]
- bit 1, a
+ bit 1, a ; ENGINE_RADIO_CARD
ret z
- ld c, $b
- ld b, $3
+ ld c, POKEGEARSTATE_RADIOINIT
+ ld b, POKEGEARCARD_RADIO
.switch_page
call Pokegear_SwitchPage
ret
@@ -891,12 +921,12 @@ PokegearPhone_Joypad: ; 91171 (24:5171)
ret
.quit_submenu
- ld a, $8
+ ld a, POKEGEARSTATE_PHONEJOYPAD
ld [wJumptableIndex], a
ret
PokegearPhone_MakePhoneCall: ; 911eb (24:51eb)
- call GetMapHeaderPhoneServiceNybble
+ call GetMapPhoneService
and a
jr nz, .no_service
ld hl, Options
@@ -931,7 +961,7 @@ PokegearPhone_MakePhoneCall: ; 911eb (24:51eb)
farcall Phone_NoSignal
ld hl, .OutOfServiceArea
call PrintText
- ld a, $8
+ ld a, POKEGEARSTATE_PHONEJOYPAD
ld [wJumptableIndex], a
ld hl, PokegearText_WhomToCall
call PrintText
@@ -958,7 +988,7 @@ PokegearPhone_FinishPhoneCall: ; 91256 (24:5256)
and A_BUTTON | B_BUTTON
ret z
farcall HangUp
- ld a, $8
+ ld a, POKEGEARSTATE_PHONEJOYPAD
ld [wJumptableIndex], a
ld hl, PokegearText_WhomToCall
call PrintText
@@ -993,7 +1023,7 @@ PokegearPhone_GetDPad: ; 9126d (24:526d)
.down
ld hl, wPokegearPhoneCursorPosition
ld a, [hl]
- cp $3
+ cp 3
jr nc, .scroll_page_down
inc [hl]
jr .done_joypad_same_page
@@ -1001,7 +1031,7 @@ PokegearPhone_GetDPad: ; 9126d (24:526d)
.scroll_page_down
ld hl, wPokegearPhoneScrollPosition
ld a, [hl]
- cp $6
+ cp 6
ret nc
inc [hl]
jr .done_joypad_update_page
@@ -1075,7 +1105,7 @@ PokegearPhone_UpdateDisplayList: ; 912d8 (24:52d8)
ld a, [wPokegearPhoneLoadNameBuffer]
inc a
ld [wPokegearPhoneLoadNameBuffer], a
- cp $4
+ cp 4
jr c, .loop
call PokegearPhone_UpdateCursor
ret
@@ -1309,7 +1339,7 @@ PokegearPhoneContactSubmenu: ; 91342 (24:5342)
; 9146e
-; XXX
+; unused
ld a, [hHours]
cp 12
jr c, .am
@@ -1331,15 +1361,15 @@ Pokegear_SwitchPage: ; 91480 (24:5480)
ld a, c
ld [wJumptableIndex], a
ld a, b
- ld [wcf64], a
+ ld [wPokegearCard], a
call DeleteSpriteAnimStruct2ToEnd
ret
ExitPokegearRadio_HandleMusic: ; 91492
ld a, [wPokegearRadioMusicPlaying]
- cp $fe
+ cp RESTART_MAP_MUSIC
jr z, .restart_map_music
- cp $ff
+ cp ENTER_MAP_MUSIC
call z, EnterMapMusic
xor a
ld [wPokegearRadioMusicPlaying], a
@@ -1364,11 +1394,11 @@ DeleteSpriteAnimStruct2ToEnd: ; 914ab (24:54ab)
Pokegear_LoadTilemapRLE: ; 914bb (24:54bb)
; Format: repeat count, tile ID
- ; Terminated with $FF
+ ; Terminated with -1
hlcoord 0, 0
.loop
ld a, [de]
- cp $ff
+ cp -1
ret z
ld b, a
inc de
@@ -1499,7 +1529,7 @@ UpdateRadioStation: ; 9166f (24:566f)
; 916a1 (24:56a1)
-; XXX
+; unused
ld [wPokegearRadioChannelBank], a
ld a, [hli]
ld [wPokegearRadioChannelAddr], a
@@ -1510,7 +1540,7 @@ UpdateRadioStation: ; 9166f (24:566f)
; 916ad
RadioChannels:
-; frequencies and the shows that play on them.
+; entries correspond to constants/radio_constants.asm
; frequency value given here = 4 × ingame_frequency − 2
dbw 16, .PkmnTalkAndPokedexShow
@@ -1560,7 +1590,7 @@ RadioChannels:
call .InJohto
jr c, .NoSignal
ld a, [wPokegearFlags]
- bit 3, a
+ bit 3, a ; ENGINE_EXPN_CARD
jr z, .NoSignal
jp LoadStation_PlacesAndPeople
@@ -1568,7 +1598,7 @@ RadioChannels:
call .InJohto
jr c, .NoSignal
ld a, [wPokegearFlags]
- bit 3, a
+ bit 3, a ; ENGINE_EXPN_CARD
jr z, .NoSignal
jp LoadStation_LetsAllSing
@@ -1576,14 +1606,14 @@ RadioChannels:
call .InJohto
jr c, .NoSignal
ld a, [wPokegearFlags]
- bit 3, a
+ bit 3, a ; ENGINE_EXPN_CARD
jr z, .NoSignal
jp LoadStation_PokeFluteRadio
.EvolutionRadio:
; This station airs in the Lake of Rage area when Rocket are still in Mahogany.
ld a, [wStatusFlags]
- bit 4, a
+ bit 4, a ; ENGINE_ROCKET_SIGNAL_ON_CH20
jr z, .NoSignal
ld a, [wPokegearMapPlayerIconLandmark]
cp MAHOGANY_TOWN
@@ -1669,7 +1699,7 @@ LoadStation_BuenasPassword: ; 917a5 (24:57a5)
call Radio_BackUpFarCallParams
ld de, NotBuenasPasswordName
ld a, [wStatusFlags2]
- bit 0, a
+ bit 0, a ; ENGINE_ROCKETS_IN_RADIO_TOWER
ret z
ld de, BuenasPasswordName
ret
@@ -1751,7 +1781,7 @@ LoadStation_EvolutionRadio: ; 9183e (24:583e)
; 91853 (24:5853)
-LoadStation_Dummy: ; 91853
+Unreferenced_LoadStation: ; 91853
ret
RadioMusicRestartDE: ; 91854 (24:5854)
@@ -1768,7 +1798,7 @@ RadioMusicRestartDE: ; 91854 (24:5854)
RadioMusicRestartPokemonChannel: ; 91868 (24:5868)
push de
- ld a, $fe
+ ld a, RESTART_MAP_MUSIC
ld [wPokegearRadioMusicPlaying], a
ld de, MUSIC_NONE
call PlayMusic
@@ -1799,7 +1829,7 @@ NoRadioStation: ; 91888 (24:5888)
NoRadioMusic: ; 9189d (24:589d)
ld de, MUSIC_NONE
call PlayMusic
- ld a, $ff
+ ld a, ENTER_MAP_MUSIC
ld [wPokegearRadioMusicPlaying], a
ret
@@ -1810,7 +1840,7 @@ NoRadioName: ; 918a9 (24:58a9)
lb bc, 3, 18
call ClearBox
hlcoord 0, 12
- ld bc, $412
+ lb bc, 4, 18
call TextBox
ret
@@ -1966,26 +1996,26 @@ _TownMap: ; 9191c
ld a, [wTownMapPlayerIconLandmark]
cp KANTO_LANDMARK
jr nc, .kanto2
- ld e, $0
+ ld e, JOHTO_REGION
jr .okay_tilemap
.kanto2
- ld e, $1
+ ld e, KANTO_REGION
.okay_tilemap
farcall PokegearMap
- ld a, $7
+ ld a, $07
ld bc, 6
hlcoord 1, 0
call ByteFill
hlcoord 0, 0
- ld [hl], $6
+ ld [hl], $06
hlcoord 7, 0
ld [hl], $17
hlcoord 7, 1
ld [hl], $16
hlcoord 7, 2
ld [hl], $26
- ld a, $7
+ ld a, $07
ld bc, NAME_LENGTH
hlcoord 8, 2
call ByteFill
@@ -2001,7 +2031,7 @@ PlayRadio: ; 91a53
ld hl, Options
ld a, [hl]
push af
- set 4, [hl]
+ set NO_TEXT_SCROLL, [hl]
call .PlayStation
ld c, 100
call DelayFrames
@@ -2031,10 +2061,10 @@ PlayRadio: ; 91a53
; 91a87
.PlayStation: ; 91a87
- ld a, -1
- ld [EnemyTurnsTaken], a
+ ld a, ENTER_MAP_MUSIC
+ ld [wPokegearRadioMusicPlaying], a
ld hl, .StationPointers
- ld d, $0
+ ld d, 0
add hl, de
add hl, de
ld a, [hli]
@@ -2063,6 +2093,7 @@ PlayRadio: ; 91a53
; 91ab9
.StationPointers: ; 91ab9
+; entries correspond to MAPRADIO_* constants
dw .OakOrPnP
dw LoadStation_OaksPokemonTalk
dw LoadStation_PokedexShow
@@ -2286,7 +2317,7 @@ TownMapBubble: ; 91bb5
GetMapCursorCoordinates: ; 91c17
ld a, [wTownMapPlayerIconLandmark]
ld l, a
- ld h, $0
+ ld h, 0
add hl, hl
ld de, Flypoints
add hl, de
@@ -2296,10 +2327,10 @@ GetMapCursorCoordinates: ; 91c17
ld c, a
ld a, [wTownMapCursorCoordinates + 1]
ld b, a
- ld hl, $4
+ ld hl, 4
add hl, bc
ld [hl], e
- ld hl, $5
+ ld hl, 5
add hl, bc
ld [hl], d
ret
@@ -2331,7 +2362,7 @@ HasVisitedSpawn: ; 91c50
ld hl, wVisitedSpawns
ld b, CHECK_FLAG
ld d, 0
- predef FlagPredef
+ predef SmallFarFlagAction
ld a, c
ret
@@ -2440,7 +2471,7 @@ FlyMap: ; 91c90
; 91d11
-_Area: ; 91d11
+Pokedex_GetArea: ; 91d11
; e: Current landmark
ld a, [wTownMapPlayerIconLandmark]
push af
@@ -2477,7 +2508,7 @@ _Area: ; 91d11
call SetPalettes
xor a
ld [hBGMapMode], a
- xor a ; Johto
+ xor a ; JOHTO_REGION
call .GetAndPlaceNest
.loop
call JoyTextDelay
@@ -2524,13 +2555,13 @@ _Area: ; 91d11
call ClearSprites
ld a, $90
ld [hWY], a
- xor a ; Johto
+ xor a ; JOHTO_REGION
call .GetAndPlaceNest
ret
.right
ld a, [wStatusFlags]
- bit 6, a ; hall of fame
+ bit 6, a ; ENGINE_CREDITS_SKIP
ret z
ld a, [hWY]
and a
@@ -2538,7 +2569,7 @@ _Area: ; 91d11
call ClearSprites
xor a
ld [hWY], a
- ld a, 1 ; Kanto
+ ld a, KANTO_REGION
call .GetAndPlaceNest
ret
@@ -2596,7 +2627,7 @@ _Area: ; 91d11
ld e, a
farcall FindNest ; load nest landmarks into TileMap[0,0]
decoord 0, 0
- ld hl, Sprites
+ ld hl, Sprite01
.nestloop
ld a, [de]
and a
@@ -2609,14 +2640,14 @@ _Area: ; 91d11
; load into OAM
ld a, d
sub 4
- ld [hli], a
+ ld [hli], a ; y
ld a, e
sub 4
- ld [hli], a
- ld a, $7f ; nest icon in this context
- ld [hli], a
+ ld [hli], a ; x
+ ld a, $7f ; nest icon
+ ld [hli], a ; tile id
xor a
- ld [hli], a
+ ld [hli], a ; attributes
; next
pop de
inc de
@@ -2640,37 +2671,37 @@ _Area: ; 91d11
ld c, e
ld b, d
ld de, .PlayerOAM
- ld hl, Sprites
+ ld hl, Sprite01
.ShowPlayerLoop:
ld a, [de]
cp $80
jr z, .clear_oam
add b
- ld [hli], a
+ ld [hli], a ; y
inc de
ld a, [de]
add c
- ld [hli], a
+ ld [hli], a ; x
inc de
ld a, [de]
add $78 ; where the player's sprite is loaded
- ld [hli], a
+ ld [hli], a ; tile id
inc de
push bc
- ld c, 0 ; RED
+ ld c, PAL_OW_RED
ld a, [wPlayerGender]
bit 0, a
- jr z, .got_gender
- inc c ; BLUE
-.got_gender
+ jr z, .male
+ inc c ; PAL_OW_BLUE
+.male
ld a, c
- ld [hli], a
+ ld [hli], a ; attributes
pop bc
jr .ShowPlayerLoop
.clear_oam
- ld hl, Sprites + 4 * 4
- ld bc, SpritesEnd - (Sprites + 4 * 4)
+ ld hl, Sprite05
+ ld bc, SpritesEnd - Sprite05
xor a
call ByteFill
ret
@@ -2678,10 +2709,11 @@ _Area: ; 91d11
; 91e9c
.PlayerOAM: ; 91e9c
- db -1 * 8, -1 * 8, 0 ; top left
- db -1 * 8, 0 * 8, 1 ; top right
- db 0 * 8, -1 * 8, 2 ; bottom left
- db 0 * 8, 0 * 8, 3 ; bottom right
+ ; y pxl, x pxl, tile offset
+ db -1 * 8, -1 * 8, 0 ; top left
+ db -1 * 8, 0 * 8, 1 ; top right
+ db 0 * 8, -1 * 8, 2 ; bottom left
+ db 0 * 8, 0 * 8, 3 ; bottom right
db $80 ; terminator
; 91ea9
@@ -2790,12 +2822,11 @@ TownMapPals: ; 91f13
; Current tile
ld a, [hli]
push hl
-; HP/borders use palette 0
+; The palette map covers tiles $00 to $5f; $60 and above use palette 0
cp $60
jr nc, .pal0
-; The palette data is condensed to nybbles,
-; least-significant first.
+; The palette data is condensed to nybbles, least-significant first.
ld hl, .PalMap
srl a
jr c, .odd
@@ -2806,7 +2837,7 @@ TownMapPals: ; 91f13
adc 0
ld h, a
ld a, [hl]
- and %111
+ and PALETTE_MASK
jr .update
.odd
@@ -2818,7 +2849,7 @@ TownMapPals: ; 91f13
ld h, a
ld a, [hl]
swap a
- and %111
+ and PALETTE_MASK
jr .update
.pal0
@@ -2834,11 +2865,11 @@ TownMapPals: ; 91f13
ret
.PalMap:
-INCLUDE "data/palettes/town_map.asm"
+INCLUDE "gfx/pokegear/town_map_palette_map.asm"
; 91f7b
TownMapMon: ; 91f7b
-; Draw the FlyMon icon at town map location in
+; Draw the FlyMon icon at town map location
; Get FlyMon species
ld a, [CurPartyMon]
@@ -2849,7 +2880,7 @@ TownMapMon: ; 91f7b
ld a, [hl]
ld [wd265], a
; Get FlyMon icon
- ld e, 8 ; starting tile in VRAM
+ ld e, $08 ; starting tile in VRAM
farcall GetSpeciesIcon
; Animation/palette
depixel 0, 0
@@ -2857,7 +2888,7 @@ TownMapMon: ; 91f7b
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
- ld [hl], $8
+ ld [hl], $08
ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
add hl, bc
ld [hl], SPRITE_ANIM_SEQ_NULL
@@ -2913,7 +2944,7 @@ TownMapPlayerIcon: ; 91fa6
LoadTownMapGFX: ; 91ff2
ld hl, TownMapGFX
ld de, vTiles2
- lb bc, BANK(TownMapGFX), $30
+ lb bc, BANK(TownMapGFX), 48
call DecompressRequest2bpp
ret
@@ -2932,7 +2963,7 @@ INCBIN "gfx/pokegear/dexmap_nest_icon.2bpp"
FlyMapLabelBorderGFX: ; 922e1
INCBIN "gfx/pokegear/flymap_label_border.1bpp"
-; XXX
+Unreferenced_Function92311:
xor a
ld [wTownMapPlayerIconLandmark], a
call ClearBGPalettes
diff --git a/engine/predef.asm b/engine/predef.asm
index 837f7b96b..6c8c2c5f2 100644
--- a/engine/predef.asm
+++ b/engine/predef.asm
@@ -26,83 +26,4 @@ GetPredefPointer:: ; 854b
ret
; 856b
-PredefPointers:: ; 856b
-; $4b Predef pointers
-; address, bank
-
- add_predef LearnMove ; $0
- add_predef Predef1
- add_predef HealParty
- add_predef FlagPredef
- add_predef ComputeHPBarPixels
- add_predef FillPP
- add_predef TryAddMonToParty
- add_predef AddTempmonToParty
- add_predef SentGetPkmnIntoFromBox
- add_predef SentPkmnIntoBox
- add_predef GiveEgg
- add_predef AnimateHPBar
- add_predef CalcPkmnStats
- add_predef CalcPkmnStatC
- add_predef CanLearnTMHMMove
- add_predef GetTMHMMove
- add_predef Predef_LinkTextbox ; $ 10
- add_predef PrintMoveDesc
- add_predef UpdatePlayerHUD
- add_predef PlaceGraphic
- add_predef CheckPlayerPartyForFitPkmn
- add_predef UpdateEnemyHUD
- add_predef StartBattle
- add_predef FillInExpBar
- add_predef GetBattleMonBackpic ; $18
- add_predef GetEnemyMonFrontpic
- add_predef LearnLevelMoves
- add_predef FillMoves
- add_predef EvolveAfterBattle
- add_predef TradeAnimationPlayer2
- add_predef TradeAnimation
- add_predef CopyPkmnToTempMon
- add_predef ListMoves ; $20
- add_predef PlaceNonFaintStatus
- add_predef Predef22
- add_predef ListMovePP
- add_predef GetGender
- add_predef StatsScreenInit
- add_predef DrawPlayerHP
- add_predef DrawEnemyHP
- add_predef PrintTempMonStats ; $28
- add_predef GetTypeName
- add_predef PrintMoveType
- add_predef PrintType
- add_predef PrintMonTypes
- add_predef GetUnownLetter
- add_predef LoadPoisonBGPals
- add_predef Predef2F
- add_predef InitSGBBorder ; $30
- add_predef Predef_LoadSGBLayout
- add_predef _Area
- add_predef CheckContestMon
- add_predef Predef_StartBattle
- add_predef Predef35
- add_predef Predef36
- add_predef PlayBattleAnim
- add_predef Predef38 ; $38
- add_predef Predef39
- add_predef Predef3A
- add_predef PartyMonItemName
- add_predef GetMonFrontpic
- add_predef GetMonBackpic
- add_predef GetAnimatedFrontpicPredef
- add_predef GetTrainerPic
- add_predef DecompressPredef ; $40
- add_predef CheckTypeMatchup
- add_predef ConvertMon_1to2
- add_predef NewPokedexEntry
- add_predef AnimateMon_Slow_Normal
- add_predef PlaceStatusString
- add_predef LoadMonAnimation
- add_predef AnimateFrontpic
- add_predef Predef48 ; $48
- add_predef HOF_AnimateFrontpic
- dbw $ff, InexplicablyEmptyFunction ; ???
-; 864c
+INCLUDE "data/predef_pointers.asm"
diff --git a/engine/print_party.asm b/engine/print_party.asm
index f2420dfe8..7c23528f3 100755
--- a/engine/print_party.asm
+++ b/engine/print_party.asm
@@ -1,3 +1,5 @@
+PRINTPARTY_HP EQUS "\"◀\"" ; $71
+
PrintPage1: ; 1dc1b0
hlcoord 0, 0
decoord 0, 0, wPrinterTileMapBuffer
@@ -141,18 +143,18 @@ PrintPartyMonPage1: ; 1dc381
call LoadFontsBattleExtra
ld de, GBPrinterHPIcon
- ld hl, vTiles2 tile $71
+ ld hl, vTiles2 tile PRINTPARTY_HP
lb bc, BANK(GBPrinterHPIcon), 1
call Request1bpp
ld de, GBPrinterLvIcon
- ld hl, vTiles2 tile $6e
+ ld hl, vTiles2 tile "<LV>"
lb bc, BANK(GBPrinterLvIcon), 1
call Request1bpp
- ld de, ShinyIconGFX
- ld hl, vTiles2 tile $3f
- lb bc, BANK(ShinyIconGFX), 1
+ ld de, StatsScreenPageTilesGFX + 14 tiles ; shiny icon
+ ld hl, vTiles2 tile "⁂"
+ lb bc, BANK(StatsScreenPageTilesGFX), 1
call Get2bpp
xor a
@@ -166,7 +168,7 @@ PrintPartyMonPage1: ; 1dc381
ld a, [TempMonLevel]
call PrintLevel_Force3Digits
hlcoord 12, 2
- ld [hl], "◀" ; Filled left triangle
+ ld [hl], PRINTPARTY_HP
inc hl
ld de, TempMonMaxHP
lb bc, 2, 3
@@ -330,7 +332,7 @@ Function1dc52c: ; 1dc52c
farcall CheckShininess
ret nc
hlcoord 18, 2
- ld [hl], "<SHINY>"
+ ld [hl], "⁂"
ret
; 1dc550
diff --git a/engine/printer.asm b/engine/printer.asm
index 68c3c6c9f..4479d5d0b 100755
--- a/engine/printer.asm
+++ b/engine/printer.asm
@@ -596,8 +596,7 @@ PlacePrinterStatusString: ; 84785
ret
; 847bd
-Function847bd: ; 847bd
-; XXX
+Unreferenced_Function847bd: ; 847bd
ld a, [wPrinterStatus]
and a
ret z
@@ -775,10 +774,10 @@ Printer_PrintBoxListSegment: ; 848e7 (21:48e7)
pop hl
jr z, .ok2
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
add hl, bc
call Printer_GetMonGender
- ld bc, SCREEN_WIDTH - PKMN_NAME_LENGTH
+ ld bc, SCREEN_WIDTH - MON_NAME_LENGTH
add hl, bc
ld a, "/"
ld [hli], a
@@ -796,7 +795,7 @@ Printer_PrintBoxListSegment: ; 848e7 (21:48e7)
ld h, a
ld bc, sBoxMonNicknames - sBox
add hl, bc
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
ld a, [wWhichBoxMonToPrint]
call AddNTimes
ld e, l
@@ -807,7 +806,7 @@ Printer_PrintBoxListSegment: ; 848e7 (21:48e7)
call PlaceString
pop hl
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
add hl, bc
push hl
ld a, [wAddrOfBoxToPrint]
diff --git a/engine/printnum.asm b/engine/printnum.asm
index d1d7e7ad3..fec798d5c 100755
--- a/engine/printnum.asm
+++ b/engine/printnum.asm
@@ -165,7 +165,7 @@ _PrintNum:: ; c4c7
dec e
jr nz, .money_leading_zero
inc hl
- ld [hl], $f2 ; XXX
+ ld [hl], "<DOT>"
.money_leading_zero
call .AdvancePointer
diff --git a/engine/radio.asm b/engine/radio.asm
index 42db63ab0..df0d81679 100644
--- a/engine/radio.asm
+++ b/engine/radio.asm
@@ -28,6 +28,7 @@ PlayRadioShow:
jp hl
RadioJumptable:
+; entries correspond to constants/radio_constants.asm
dw OaksPkmnTalk1 ; $00
dw PokedexShow1 ; $01
dw BenMonMusic1 ; $02
@@ -133,7 +134,7 @@ PrintRadioLine:
cp 2
jr nc, .print
inc hl
- ld [hl], "<START>"
+ ld [hl], TX_START
inc a
ld [wNumRadioLinesPrinted], a
cp 2
@@ -203,11 +204,11 @@ OaksPkmnTalk4:
; Choose a random route, and a random Pokemon from that route.
.sample
call Random
- and $1f
- cp $f ; so wasteful
+ and %11111
+ cp (OaksPkmnTalkRoutesEnd - OaksPkmnTalkRoutes) / 2
jr nc, .sample
; We now have a number between 0 and 14.
- ld hl, .routes
+ ld hl, OaksPkmnTalkRoutes
ld c, a
ld b, 0
add hl, bc
@@ -239,14 +240,15 @@ OaksPkmnTalk4:
jr .loop
.done
+ ; Point hl to the list of morning Pokémon., skipping percentages
rept 4
inc hl
endr
; Generate a number, either 0, 1, or 2, to choose a time of day.
.loop2
call Random
- and 3
- cp 3
+ maskbits NUM_DAYTIMES
+ cp DARKNESS_F
jr z, .loop2
ld bc, 2 * NUM_GRASSMON
@@ -271,8 +273,9 @@ endr
call GetPokemonName
ld hl, StringBuffer1
ld de, wMonOrItemNameBuffer
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
+
; Now that we've chosen our wild Pokemon,
; let's recover the map index info and get its name.
pop bc
@@ -289,22 +292,7 @@ endr
ld a, OAKS_POKEMON_TALK
jp PrintRadioLine
-.routes
- map ROUTE_29
- map ROUTE_46
- map ROUTE_30
- map ROUTE_32
- map ROUTE_34
- map ROUTE_35
- map ROUTE_37
- map ROUTE_38
- map ROUTE_39
- map ROUTE_42
- map ROUTE_43
- map ROUTE_44
- map ROUTE_45
- map ROUTE_36
- map ROUTE_31
+INCLUDE "data/radio/oaks_pkmn_talk_routes.asm"
OaksPkmnTalk5:
ld hl, OPT_OakText2
@@ -360,11 +348,13 @@ OPT_MaryText1:
db "@"
OaksPkmnTalk8:
+ ; 0-15 are all valid indexes into .Adverbs,
+ ; so no need for a retry loop
call Random
- and $f
+ maskbits NUM_OAKS_MON_TALK_ADVERBS
ld e, a
ld d, 0
- ld hl, .Descriptors
+ ld hl, .Adverbs
add hl, de
add hl, de
ld a, [hli]
@@ -373,7 +363,8 @@ OaksPkmnTalk8:
ld a, OAKS_POKEMON_TALK_9
jp NextRadioLine
-.Descriptors:
+.Adverbs:
+; there are NUM_OAKS_MON_TALK_ADVERBS entries
dw .sweetadorably
dw .wigglyslickly
dw .aptlynamed
@@ -472,11 +463,13 @@ OaksPkmnTalk8:
db "@"
OaksPkmnTalk9:
+ ; 0-15 are all valid indexes into .Adjectives,
+ ; so no need for a retry loop
call Random
- and $f
+ maskbits NUM_OAKS_MON_TALK_ADJECTIVES
ld e, a
ld d, 0
- ld hl, .Descriptors
+ ld hl, .Adjectives
add hl, de
add hl, de
ld a, [hli]
@@ -493,7 +486,8 @@ OaksPkmnTalk9:
.ok
jp NextRadioLine
-.Descriptors:
+.Adjectives:
+; there are NUM_OAKS_MON_TALK_ADJECTIVES entries
dw .cute
dw .weird
dw .pleasant
@@ -652,7 +646,7 @@ OaksPkmnTalk14:
ld hl, wRadioTextDelay
dec [hl]
ret nz
- ld de, $1d
+ ld de, MUSIC_POKEMON_TALK
callfar RadioMusicRestartDE
ld hl, .terminator
call PrintText
@@ -698,8 +692,8 @@ PokedexShow_GetDexEntryBank:
dec a
rlca
rlca
- and 3
- ld hl, .pokedexbanks
+ maskbits NUM_DEX_ENTRY_BANKS
+ ld hl, .PokedexEntryBanks
ld d, 0
ld e, a
add hl, de
@@ -708,7 +702,7 @@ PokedexShow_GetDexEntryBank:
pop hl
ret
-.pokedexbanks
+.PokedexEntryBanks
db BANK(PokedexEntries1)
db BANK(PokedexEntries2)
db BANK(PokedexEntries3)
@@ -819,7 +813,7 @@ CopyDexEntryPart1:
ld bc, SCREEN_WIDTH - 1
call FarCopyBytes
ld hl, wPokedexShowPointerAddr
- ld [hl], "<START>"
+ ld [hl], TX_START
inc hl
ld [hl], "<LINE>"
inc hl
@@ -1146,7 +1140,7 @@ PeoplePlaces2:
PeoplePlaces3:
ld hl, PnP_Text3
call Random
- cp $7b ; 48 percent
+ cp 49 percent - 1
ld a, PLACES_AND_PEOPLE_4 ; People
jr c, .ok
ld a, PLACES_AND_PEOPLE_6 ; Places
@@ -1170,20 +1164,20 @@ PnP_Text3:
PeoplePlaces4: ; People
call Random
- and $7f
+ maskbits NUM_TRAINER_CLASSES
inc a
cp NUM_TRAINER_CLASSES - 1
jr nc, PeoplePlaces4
push af
- ld hl, .E4Names
+ ld hl, PnP_HiddenPeople
ld a, [wStatusFlags]
bit 6, a ; ENGINE_CREDITS_SKIP
jr z, .ok
- ld hl, .KantoLeaderNames
+ ld hl, PnP_HiddenPeople_BeatE4
ld a, [wKantoBadges]
- cp %11111111
+ cp %11111111 ; all badges
jr nz, .ok
- ld hl, .MiscNames
+ ld hl, PnP_HiddenPeople_BeatKanto
.ok
pop af
ld c, a
@@ -1203,10 +1197,7 @@ PeoplePlaces4: ; People
ld a, PLACES_AND_PEOPLE_5
jp NextRadioLine
-.E4Names: db WILL, BRUNO, KAREN, KOGA, CHAMPION
-.KantoLeaderNames: db BROCK, MISTY, LT_SURGE, ERIKA, JANINE, SABRINA, BLAINE, BLUE
-.MiscNames: db RIVAL1, POKEMON_PROF, CAL, RIVAL2, RED
- db -1
+INCLUDE "data/radio/pnp_hidden_people.asm"
PnP_Text4:
; @ @ @
@@ -1214,29 +1205,32 @@ PnP_Text4:
db "@"
PeoplePlaces5:
+ ; 0-15 are all valid indexes into .Adjectives,
+ ; so no need for a retry loop
call Random
- and $f
+ maskbits NUM_PNP_PEOPLE_ADJECTIVES
ld e, a
ld d, 0
- ld hl, .Descriptors
+ ld hl, .Adjectives
add hl, de
add hl, de
ld a, [hli]
ld h, [hl]
ld l, a
call Random
- cp $a ; 6.25 percent
+ cp 4 percent
ld a, PLACES_AND_PEOPLE
jr c, .ok
call Random
- cp $7b ; 48 percent
+ cp 49 percent - 1
ld a, PLACES_AND_PEOPLE_4 ; People
jr c, .ok
ld a, PLACES_AND_PEOPLE_6 ; Places
.ok
jp NextRadioLine
-.Descriptors:
+.Adjectives:
+; there are NUM_PNP_PEOPLE_ADJECTIVES entries
dw PnP_cute
dw PnP_lazy
dw PnP_happy
@@ -1336,9 +1330,9 @@ PnP_odd:
PeoplePlaces6: ; Places
call Random
- cp 9
+ cp (PnP_HiddenPlacesEnd - PnP_HiddenPlaces) / 2
jr nc, PeoplePlaces6
- ld hl, .Maps
+ ld hl, PnP_HiddenPlaces
ld c, a
ld b, 0
add hl, bc
@@ -1353,16 +1347,7 @@ PeoplePlaces6: ; Places
ld a, PLACES_AND_PEOPLE_7
jp NextRadioLine
-.Maps:
- map PALLET_TOWN
- map ROUTE_22
- map PEWTER_CITY
- map CERULEAN_POLICE_STATION
- map ROUTE_12
- map ROUTE_11
- map ROUTE_16
- map ROUTE_14
- map CINNABAR_POKECENTER_2F_BETA
+INCLUDE "data/radio/pnp_hidden_places.asm"
PnP_Text5:
; @ @
@@ -1370,11 +1355,13 @@ PnP_Text5:
db "@"
PeoplePlaces7:
+ ; 0-15 are all valid indexes into .Adjectives,
+ ; so no need for a retry loop
call Random
- and $f
+ maskbits NUM_PNP_PLACES_ADJECTIVES
ld e, a
ld d, 0
- ld hl, .Descriptors
+ ld hl, .Adjectives
add hl, de
add hl, de
ld a, [hli]
@@ -1386,14 +1373,15 @@ PeoplePlaces7:
ld a, PLACES_AND_PEOPLE
jr c, .ok
call Random
- cp 1 + 48 percent
+ cp 49 percent - 1
ld a, PLACES_AND_PEOPLE_4 ; People
jr c, .ok
ld a, PLACES_AND_PEOPLE_6 ; Places
.ok
jp PrintRadioLine
-.Descriptors:
+.Adjectives:
+; there are NUM_PNP_PLACES_ADJECTIVES entries
dw PnP_cute
dw PnP_lazy
dw PnP_happy
@@ -1572,7 +1560,7 @@ BuenasPassword4:
ld a, [wBuenasPassword]
; If we already generated the password today, we don't need to generate a new one.
ld hl, wWeeklyFlags
- bit 7, [hl]
+ bit 7, [hl] ; ENGINE_BUENAS_PASSWORD
jr nz, .AlreadyGotIt
; There are only 11 groups to choose from.
.greater_than_11
@@ -1586,7 +1574,7 @@ BuenasPassword4:
; For each group, choose one of the three passwords.
.greater_than_three
call Random
- and $3
+ maskbits NUM_PASSWORDS_PER_CATEGORY
cp NUM_PASSWORDS_PER_CATEGORY
jr nc, .greater_than_three
; The high nybble of wBuenasPassword will now contain the password group index, and the low nybble contains the actual password.
@@ -1594,7 +1582,7 @@ BuenasPassword4:
ld [wBuenasPassword], a
; Set the flag so that we don't generate a new password this week.
ld hl, wWeeklyFlags
- set 7, [hl]
+ set 7, [hl] ; ENGINE_BUENAS_PASSWORD
.AlreadyGotIt:
ld c, a
call GetBuenasPassword
@@ -1608,7 +1596,7 @@ GetBuenasPassword:
ld a, c
swap a
and $f
- ld hl, PasswordTable
+ ld hl, BuenasPasswordTable
ld d, 0
ld e, a
add hl, de
@@ -1640,11 +1628,11 @@ GetBuenasPassword:
ret
.StringFunctionJumpTable:
- dw .Mon
- dw .Item
- dw .Move
- dw .RawString
-
+; entries correspond to BUENA_* constants
+ dw .Mon ; BUENA_MON
+ dw .Item ; BUENA_ITEM
+ dw .Move ; BUENA_MOVE
+ dw .RawString ; BUENA_STRING
.Mon:
call .GetTheIndex
@@ -1693,30 +1681,7 @@ GetBuenasPassword:
ld de, StringBuffer1
ret
-PasswordTable:
- dw .JohtoStarters
- dw .Beverages
- dw .HealingItems
- dw .Balls
- dw .Pokemon1
- dw .Pokemon2
- dw .JohtoTowns
- dw .Types
- dw .Moves
- dw .XItems
- dw .RadioStations
- ; string type, points, option 1, option 2, option 3
-.JohtoStarters: db BUENA_MON, 10, CYNDAQUIL, TOTODILE, CHIKORITA
-.Beverages: db BUENA_ITEM, 12, FRESH_WATER, SODA_POP, LEMONADE
-.HealingItems: db BUENA_ITEM, 12, POTION, ANTIDOTE, PARLYZ_HEAL
-.Balls: db BUENA_ITEM, 12, POKE_BALL, GREAT_BALL, ULTRA_BALL
-.Pokemon1: db BUENA_MON, 10, PIKACHU, RATTATA, GEODUDE
-.Pokemon2: db BUENA_MON, 10, HOOTHOOT, SPINARAK, DROWZEE
-.JohtoTowns: db BUENA_STRING, 16, "NEW BARK TOWN@", "CHERRYGROVE CITY@", "AZALEA TOWN@"
-.Types: db BUENA_STRING, 6, "FLYING@", "BUG@", "GRASS@"
-.Moves: db BUENA_MOVE, 12, TACKLE, GROWL, MUD_SLAP
-.XItems: db BUENA_ITEM, 12, X_ATTACK, X_DEFEND, X_SPEED
-.RadioStations: db BUENA_STRING, 13, "#MON Talk@", "#MON Music@", "Lucky Channel@"
+INCLUDE "data/radio/buenas_passwords.asm"
BuenasPassword5:
ld hl, BuenaRadioText5
@@ -1738,14 +1703,14 @@ BuenasPassword7:
BuenasPasswordAfterMidnight:
push hl
ld hl, wWeeklyFlags
- res 7, [hl]
+ res 7, [hl] ; ENGINE_BUENAS_PASSWORD
pop hl
ld a, BUENAS_PASSWORD_8
jp NextRadioLine
BuenasPassword8:
ld hl, wWeeklyFlags
- res 7, [hl]
+ res 7, [hl] ; ENGINE_BUENAS_PASSWORD
ld hl, BuenaRadioMidnightText10
ld a, BUENAS_PASSWORD_9
jp NextRadioLine
@@ -1958,18 +1923,7 @@ StartRadioStation:
callfar RadioMusicRestartDE
ret
-RadioChannelSongs:
- dw MUSIC_POKEMON_TALK
- dw MUSIC_POKEMON_CENTER
- dw MUSIC_TITLE
- dw MUSIC_GAME_CORNER
- dw MUSIC_BUENAS_PASSWORD
- dw MUSIC_VIRIDIAN_CITY
- dw MUSIC_BICYCLE
- dw MUSIC_ROCKET_OVERTURE
- dw MUSIC_POKE_FLUTE_CHANNEL
- dw MUSIC_RUINS_OF_ALPH_RADIO
- dw MUSIC_LAKE_OF_RAGE_ROCKET_RADIO
+INCLUDE "data/radio/channel_music.asm"
NextRadioLine:
push af
diff --git a/engine/routines/checknickerrors.asm b/engine/routines/checknickerrors.asm
index 1cedca420..87ebd6bb3 100644
--- a/engine/routines/checknickerrors.asm
+++ b/engine/routines/checknickerrors.asm
@@ -6,7 +6,7 @@ CheckNickErrors:: ; 669f
push bc
push de
- ld b, PKMN_NAME_LENGTH
+ ld b, MON_NAME_LENGTH
.checkchar
; end of nick?
@@ -64,10 +64,10 @@ CheckNickErrors:: ; 669f
; table defining which characters are actually text commands
; format:
; ≥ <
- db "<START>", TX_BOX + 1
- db "<PLAY_G>", $18 + 1
- db $1d, "%" + 1
- db $35, "<GREEN>" + 1
+ db TX_START, TX_BOX + 1
+ db "<PLAY_G>", "<JP_18>" + 1
+ db "<NI>", "<NO>" + 1
+ db "<ROUTE>", "<GREEN>" + 1
db "<ENEMY>", "<ENEMY>" + 1
db "<MOM>", "<TM>" + 1
db "<ROCKET>", "┘" + 1
diff --git a/engine/routines/correcterrorsinplayerparty.asm b/engine/routines/correcterrorsinplayerparty.asm
index 2fa98a545..42e550900 100644
--- a/engine/routines/correcterrorsinplayerparty.asm
+++ b/engine/routines/correcterrorsinplayerparty.asm
@@ -1,4 +1,4 @@
-CorrectErrorsInPlayerParty: ; unreferenced
+Unreferenced_CorrectErrorsInPlayerParty:
ld hl, PartyCount
ld a, [hl]
and a
@@ -128,7 +128,7 @@ CorrectErrorsInPlayerParty: ; unreferenced
ld hl, StringBuffer1
.got_nickname
pop de
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
pop bc
diff --git a/engine/routines/drawkrispackgfx.asm b/engine/routines/drawkrispackgfx.asm
index 457dd7110..54a21e447 100644
--- a/engine/routines/drawkrispackgfx.asm
+++ b/engine/routines/drawkrispackgfx.asm
@@ -11,10 +11,10 @@ DrawKrisPackGFX: ; 48e81
ret
PackFGFXPointers: ; 48e93
- dw PackFGFX + (15 tiles) * 1
- dw PackFGFX + (15 tiles) * 3
- dw PackFGFX + (15 tiles) * 0
- dw PackFGFX + (15 tiles) * 2
+ dw PackFGFX + (15 tiles) * 1 ; ITEM_POCKET
+ dw PackFGFX + (15 tiles) * 3 ; BALL_POCKET
+ dw PackFGFX + (15 tiles) * 0 ; KEY_ITEM_POCKET
+ dw PackFGFX + (15 tiles) * 2 ; TM_HM_POCKET
PackFGFX: ; 48e9b
INCBIN "gfx/pack/pack_f.2bpp"
diff --git a/engine/routines/emptyallsrambanks.asm b/engine/routines/emptyallsrambanks.asm
index aa4b28e0d..8b060f3ef 100644
--- a/engine/routines/emptyallsrambanks.asm
+++ b/engine/routines/emptyallsrambanks.asm
@@ -1,11 +1,11 @@
EmptyAllSRAMBanks: ; 4cf1f
- ld a, $0
+ ld a, 0
call .EmptyBank
- ld a, $1
+ ld a, 1
call .EmptyBank
- ld a, $2
+ ld a, 2
call .EmptyBank
- ld a, $3
+ ld a, 3
call .EmptyBank
ret
diff --git a/engine/routines/flagpredef.asm b/engine/routines/flagpredef.asm
index bd4f37882..2a6d91ee1 100644
--- a/engine/routines/flagpredef.asm
+++ b/engine/routines/flagpredef.asm
@@ -1,5 +1,5 @@
-FlagPredef: ; 4d7c1
-; Perform action b on flag c in flag array hl.
+SmallFarFlagAction: ; 4d7c1
+; Perform action b on bit c in flag array hl.
; If checking a flag, check flag array d:hl unless d is 0.
; For longer flag arrays, see FlagAction.
diff --git a/engine/routines/getsquareroot.asm b/engine/routines/getsquareroot.asm
index 0ba2e50a5..412fd04ff 100644
--- a/engine/routines/getsquareroot.asm
+++ b/engine/routines/getsquareroot.asm
@@ -1,3 +1,5 @@
+NUM_SQUARE_ROOTS EQU 255
+
GetSquareRoot: ; 13b87
; Return the square root of de in b.
@@ -10,7 +12,7 @@ GetSquareRoot: ; 13b87
; Make sure we don't go past the end of the table.
inc b
ld a, b
- cp $ff
+ cp NUM_SQUARE_ROOTS
ret z
; Iterate over the table until b**2 >= de.
@@ -23,8 +25,8 @@ GetSquareRoot: ; 13b87
ret
.Squares: ; 13b98
-root = 1
- rept $ff
- dw root * root
-root = root + 1
- endr
+x = 1
+rept NUM_SQUARE_ROOTS
+ dw x * x
+x = x + 1
+endr
diff --git a/engine/routines/initlist.asm b/engine/routines/initlist.asm
index e2b7235ab..b7260e552 100644
--- a/engine/routines/initlist.asm
+++ b/engine/routines/initlist.asm
@@ -21,7 +21,7 @@ InitList: ; 50db9
jr nz, .check_item_name
ld hl, CurMart
ld de, PokemonNames
- ld a, PKMN_NAME
+ ld a, MON_NAME
jr .done
.check_item_name
diff --git a/engine/routines/loadoverworldfont.asm b/engine/routines/loadoverworldfont.asm
new file mode 100644
index 000000000..f23f01c4e
--- /dev/null
+++ b/engine/routines/loadoverworldfont.asm
@@ -0,0 +1,17 @@
+LoadOverworldFont:: ; 106594
+ ld de, .OverworldFontGFX
+ ld hl, vTiles1
+ lb bc, BANK(.OverworldFontGFX), $80
+ call Get2bpp
+ ld de, .OverworldFontSpaceGFX
+ ld hl, vTiles2 tile " "
+ lb bc, BANK(.OverworldFontSpaceGFX), 1
+ call Get2bpp
+ ret
+; 1065ad
+
+.OverworldFontGFX:
+INCBIN "gfx/font/overworld.2bpp"
+
+.OverworldFontSpaceGFX:
+INCBIN "gfx/font/overworld_space.2bpp"
diff --git a/engine/routines/loadpushoam.asm b/engine/routines/loadpushoam.asm
index 6af0ddf6d..c07c06d0f 100644
--- a/engine/routines/loadpushoam.asm
+++ b/engine/routines/loadpushoam.asm
@@ -13,7 +13,7 @@ LoadPushOAM:: ; 4031
.PushOAM: ; 403f
ld a, HIGH(Sprites)
ld [rDMA], a
- ld a, (SpritesEnd - Sprites) / 4 ; 40
+ ld a, NUM_SPRITE_OAM_STRUCTS
.pushoam_loop
dec a
jr nz, .pushoam_loop
diff --git a/engine/routines/placegraphic.asm b/engine/routines/placegraphic.asm
index d72364776..21b914950 100644
--- a/engine/routines/placegraphic.asm
+++ b/engine/routines/placegraphic.asm
@@ -1,7 +1,6 @@
PlaceGraphic: ; 2ef6e
; Fill wBoxAlignment-aligned box width b height c
; with iterating tile starting from hGraphicStartTile at hl.
-; Predef $13
ld de, SCREEN_WIDTH
diff --git a/engine/routines/placewaitingtext.asm b/engine/routines/placewaitingtext.asm
index 37fc2a056..9b2260722 100644
--- a/engine/routines/placewaitingtext.asm
+++ b/engine/routines/placewaitingtext.asm
@@ -11,7 +11,7 @@ PlaceWaitingText:: ; 4000
jr .proceed
.notinbattle
- predef Predef_LinkTextbox
+ predef LinkTextboxAtHL
.proceed
hlcoord 4, 11
diff --git a/engine/routines/playslowcry.asm b/engine/routines/playslowcry.asm
index 3cc347a55..545629e51 100644
--- a/engine/routines/playslowcry.asm
+++ b/engine/routines/playslowcry.asm
@@ -1,6 +1,6 @@
-PlaySlowCry: ; fb841
+Special_PlaySlowCry: ; fb841
ld a, [ScriptVar]
- call LoadCryHeader
+ call LoadCry
jr c, .done
ld hl, CryPitch
@@ -23,7 +23,7 @@ PlaySlowCry: ; fb841
ld [CryLength], a
ld a, h
ld [CryLength + 1], a
- farcall _PlayCryHeader
+ farcall _PlayCry
call WaitSFX
.done
diff --git a/engine/routines/printhoursmins.asm b/engine/routines/printhoursmins.asm
index 50117188c..eb7dc1619 100644
--- a/engine/routines/printhoursmins.asm
+++ b/engine/routines/printhoursmins.asm
@@ -1,5 +1,4 @@
-Function1dd6a9: ; 1dd6a9
-; XXX
+Unreferenced_Function1dd6a9: ; 1dd6a9
ld a, b
ld b, c
ld c, a
diff --git a/engine/routines/printitemdescription.asm b/engine/routines/printitemdescription.asm
new file mode 100644
index 000000000..e6d087dae
--- /dev/null
+++ b/engine/routines/printitemdescription.asm
@@ -0,0 +1,31 @@
+PrintItemDescription: ; 0x1c8955
+; Print the description for item [CurSpecies] at de.
+
+ ld a, [CurSpecies]
+ cp TM01
+ jr c, .not_a_tm
+
+ ld [CurItem], a
+ push de
+ farcall GetTMHMItemMove
+ pop hl
+ ld a, [wd265]
+ ld [CurSpecies], a
+ predef PrintMoveDesc
+ ret
+
+.not_a_tm
+ push de
+ ld hl, ItemDescriptions
+ ld a, [CurSpecies]
+ dec a
+ ld c, a
+ ld b, 0
+ add hl, bc
+ add hl, bc
+ ld e, [hl]
+ inc hl
+ ld d, [hl]
+ pop hl
+ jp PlaceString
+; 0x1c8987
diff --git a/engine/routines/sine.asm b/engine/routines/sine.asm
index 89a905d2e..5f56a10a8 100755
--- a/engine/routines/sine.asm
+++ b/engine/routines/sine.asm
@@ -7,7 +7,6 @@ _Sine:: ; 84d9
and %111111
cp %100000
jr nc, .negative
-
call .ApplySineWave
ld a, h
ret
@@ -16,7 +15,7 @@ _Sine:: ; 84d9
and %011111
call .ApplySineWave
ld a, h
- xor -1
+ xor $ff
inc a
ret
@@ -31,7 +30,6 @@ _Sine:: ; 84d9
inc hl
ld d, [hl]
ld hl, 0
-
; Factor amplitude
.multiply
srl a
diff --git a/engine/routines/switchpartymons.asm b/engine/routines/switchpartymons.asm
index cde9c82b2..1379dff9c 100644
--- a/engine/routines/switchpartymons.asm
+++ b/engine/routines/switchpartymons.asm
@@ -25,13 +25,13 @@ _SwitchPartyMons:
ld a, " "
call ByteFill
pop af
- ld hl, Sprites
- ld bc, $10
+ ld hl, Sprite01
+ ld bc, 4 * SPRITEOAMSTRUCT_LENGTH
call AddNTimes
- ld de, $4
- ld c, $4
+ ld de, SPRITEOAMSTRUCT_LENGTH
+ ld c, 4
.gfx_loop
- ld [hl], $a0
+ ld [hl], SCREEN_WIDTH_PX ; y (off-screen)
add hl, de
dec c
jr nz, .gfx_loop
diff --git a/engine/routines/trademonfrontpic.asm b/engine/routines/trademonfrontpic.asm
index e312042ff..e9611553b 100644
--- a/engine/routines/trademonfrontpic.asm
+++ b/engine/routines/trademonfrontpic.asm
@@ -10,7 +10,7 @@ GetTrademonFrontpic: ; 4d7fd
ld [CurSpecies], a
call GetBaseData
pop de
- predef GetAnimatedFrontpicPredef
+ predef GetAnimatedFrontpic
ret
AnimateTrademonFrontpic: ; 4d81e
diff --git a/engine/routines/unreferenced_getgen1trainerclassname.asm b/engine/routines/unreferenced_getgen1trainerclassname.asm
new file mode 100644
index 000000000..64c55ed84
--- /dev/null
+++ b/engine/routines/unreferenced_getgen1trainerclassname.asm
@@ -0,0 +1,21 @@
+Unreferenced_GetGen1TrainerClassName: ; 50a28
+ ld hl, Gen1TrainerClassNames
+ ld a, [TrainerClass]
+ dec a
+ ld c, a
+ ld b, 0
+ add hl, bc
+ add hl, bc
+ ld a, [hli]
+ ld h, [hl]
+ ld l, a
+ ld de, StringBuffer1
+.copy
+ ld a, [hli]
+ ld [de], a
+ inc de
+ cp "@"
+ jr nz, .copy
+ ret
+
+INCLUDE "data/unused/gen_1_trainer_names.asm"
diff --git a/engine/rtc.asm b/engine/rtc.asm
index dc49a9630..571de9284 100755
--- a/engine/rtc.asm
+++ b/engine/rtc.asm
@@ -1,4 +1,4 @@
-StopRTC: ; Unreferenced???
+Unreferenced_StopRTC:
ld a, SRAM_ENABLE
ld [MBC3SRamEnable], a
call LatchClock
@@ -58,7 +58,7 @@ TimesOfDay: ; 14044
db -1, MORN_F
; 1404e
-Unknown_1404e: ; unreferenced
+Unreferenced_1404e:
db 20, NITE_F
db 40, MORN_F
db 60, DAY_F
@@ -146,14 +146,14 @@ Function140ae: ; 140ae
farcall ClearDailyTimers
farcall Function170923
; mobile
- ld a, $5
+ ld a, 5 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
call GetSRAMBank
- ld a, [$aa8c]
+ ld a, [$aa8c] ; address of MBC30 bank
inc a
- ld [$aa8c], a
- ld a, [$b2fa]
+ ld [$aa8c], a ; address of MBC30 bank
+ ld a, [$b2fa] ; address of MBC30 bank
inc a
- ld [$b2fa], a
+ ld [$b2fa], a ; address of MBC30 bank
call CloseSRAM
ret
diff --git a/engine/save.asm b/engine/save.asm
index af24b4d2f..4291754e9 100644
--- a/engine/save.asm
+++ b/engine/save.asm
@@ -415,13 +415,12 @@ EraseHallOfFame: ; 14d06
jp CloseSRAM
; 14d18
-Function14d18: ; 14d18
-; XXX
+Unreferenced_Function14d18: ; 14d18
; copy .Data to SRA4:a007
- ld a, $4
+ ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
call GetSRAMBank
ld hl, .Data
- ld de, $a007
+ ld de, $a007 ; address of MBC30 bank
ld bc, .DataEnd - .Data
call CopyBytes
jp CloseSRAM
@@ -452,11 +451,10 @@ SaveData: ; 14d68
ret
; 14d6c
-Function14d6c: ; 14d6c
-; XXX
- ld a, $4
+Unreferenced_Function14d6c: ; 14d6c
+ ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
call GetSRAMBank
- ld a, [$a60b]
+ ld a, [$a60b] ; address of MBC30 bank
ld b, $0
and a
jr z, .ok
@@ -464,28 +462,26 @@ Function14d6c: ; 14d6c
.ok
ld a, b
- ld [$a60b], a
+ ld [$a60b], a ; address of MBC30 bank
call CloseSRAM
ret
; 14d83
-Function14d83: ; 14d83
-; XXX
- ld a, $4
+Unreferenced_Function14d83: ; 14d83
+ ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
call GetSRAMBank
xor a
- ld [$a60c], a
- ld [$a60d], a
+ ld [$a60c], a ; address of MBC30 bank
+ ld [$a60d], a ; address of MBC30 bank
call CloseSRAM
ret
; 14d93
-Function14d93: ; 14d93
-; XXX
- ld a, $7
+Unreferenced_Function14d93: ; 14d93
+ ld a, 7 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
call GetSRAMBank
xor a
- ld [$a000], a
+ ld [$a000], a ; address of MBC30 bank
call CloseSRAM
ret
; 14da0
@@ -529,9 +525,9 @@ SavePlayerData: ; 14dd7
ld de, sPlayerData
ld bc, wPlayerDataEnd - wPlayerData
call CopyBytes
- ld hl, wMapData
- ld de, sMapData
- ld bc, wMapDataEnd - wMapData
+ ld hl, wCurrMapData
+ ld de, sCurrMapData
+ ld bc, wCurrMapDataEnd - wCurrMapData
call CopyBytes
jp CloseSRAM
; 14df7
@@ -596,9 +592,9 @@ SaveBackupPlayerData: ; 14e55
ld de, sBackupPlayerData
ld bc, wPlayerDataEnd - wPlayerData
call CopyBytes
- ld hl, wMapData
- ld de, sBackupMapData
- ld bc, wMapDataEnd - wMapData
+ ld hl, wCurrMapData
+ ld de, sBackupCurrMapData
+ ld bc, wCurrMapDataEnd - wCurrMapData
call CopyBytes
call CloseSRAM
ret
@@ -781,9 +777,9 @@ LoadPlayerData: ; 14fd7 (5:4fd7)
ld de, wPlayerData
ld bc, wPlayerDataEnd - wPlayerData
call CopyBytes
- ld hl, sMapData
- ld de, wMapData
- ld bc, wMapDataEnd - wMapData
+ ld hl, sCurrMapData
+ ld de, wCurrMapData
+ ld bc, wCurrMapDataEnd - wCurrMapData
call CopyBytes
call CloseSRAM
ld a, BANK(sBattleTowerChallengeState)
@@ -837,9 +833,9 @@ LoadBackupPlayerData: ; 15046 (5:5046)
ld de, wPlayerData
ld bc, wPlayerDataEnd - wPlayerData
call CopyBytes
- ld hl, sBackupMapData
- ld de, wMapData
- ld bc, wMapDataEnd - wMapData
+ ld hl, sBackupCurrMapData
+ ld de, wCurrMapData
+ ld bc, wCurrMapDataEnd - wCurrMapData
call CopyBytes
call CloseSRAM
ret
@@ -873,6 +869,11 @@ VerifyBackupChecksum: ; 1507c (5:507c)
_SaveData: ; 1509a
+ ; This is called within two scenarios:
+ ; a) ErasePreviousSave (the process of erasing the save from a previous game file)
+ ; b) unused mobile functionality
+ ; It is not part of a regular save.
+
ld a, BANK(sCrystalData)
call GetSRAMBank
ld hl, wCrystalData
@@ -880,7 +881,11 @@ _SaveData: ; 1509a
ld bc, wCrystalDataEnd - wCrystalData
call CopyBytes
- ; XXX SRAM bank 7
+ ; This block originally had some mobile functionality, but since we're still in
+ ; BANK(sCrystalData), it instead overwrites the sixteen EventFlags starting at 1:a603 with
+ ; garbage from wd479. This isn't an issue, since ErasePreviousSave is followed by a regular
+ ; save that unwrites the garbage.
+
ld hl, wd479
ld a, [hli]
ld [$a60e + 0], a
@@ -898,7 +903,9 @@ _LoadData: ; 150b9
ld bc, wCrystalDataEnd - wCrystalData
call CopyBytes
- ; XXX SRAM bank 7
+ ; This block originally had some mobile functionality to mirror _SaveData above, but instead it
+ ; (harmlessly) writes the aforementioned EventFlags to the unused wd479.
+
ld hl, wd479
ld a, [$a60e + 0]
ld [hli], a
diff --git a/engine/scripting.asm b/engine/scripting.asm
index 9a89c375a..84590f3c0 100644
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -128,7 +128,7 @@ ScriptCommandTable:
dw Script_warp ; 3c
dw Script_readmoney ; 3d
dw Script_readcoins ; 3e
- dw Script_RAM2MEM ; 3f
+ dw Script_vartomem ; 3f
dw Script_pokenamemem ; 40
dw Script_itemtotext ; 41
dw Script_mapnametotext ; 42
@@ -255,8 +255,7 @@ StopScript:
Script_callasm:
; script command 0xe
-; parameters:
-; asm (AsmPointerParam)
+; parameters: asm
call GetScriptByte
ld b, a
@@ -270,8 +269,7 @@ Script_callasm:
Script_special:
; script command 0xf
-; parameters:
-; predefined_script (MultiByteParam)
+; parameters: predefined_script
call GetScriptByte
ld e, a
@@ -282,8 +280,7 @@ Script_special:
Script_ptcallasm:
; script command 0x10
-; parameters:
-; asm (PointerToAsmPointerParam)
+; parameters: asm
call GetScriptByte
ld l, a
@@ -300,8 +297,7 @@ Script_ptcallasm:
Script_jumptextfaceplayer:
; script command 0x51
-; parameters:
-; text_pointer (RawTextPointerLabelParam)
+; parameters: text_pointer
ld a, [ScriptBank]
ld [wScriptTextBank], a
@@ -315,8 +311,7 @@ Script_jumptextfaceplayer:
Script_jumptext:
; script command 0x53
-; parameters:
-; text_pointer (RawTextPointerLabelParam)
+; parameters: text_pointer
ld a, [ScriptBank]
ld [wScriptTextBank], a
@@ -342,8 +337,7 @@ if _CRYSTAL
Script_farjumptext:
; script command 0x52
-; parameters:
-; text_pointer (PointerLabelBeforeBank)
+; parameters: text_pointer
call GetScriptByte
ld [wScriptTextBank], a
@@ -360,8 +354,7 @@ endc
Script_writetext:
; script command 0x4c
-; parameters:
-; text_pointer (RawTextPointerLabelParam)
+; parameters: text_pointer
call GetScriptByte
ld l, a
@@ -374,8 +367,7 @@ Script_writetext:
Script_farwritetext:
; script command 0x4b
-; parameters:
-; text_pointer (PointerLabelBeforeBank)
+; parameters: text_pointer
call GetScriptByte
ld b, a
@@ -388,9 +380,7 @@ Script_farwritetext:
Script_repeattext:
; script command 0x4d
-; parameters:
-; byte (SingleByteParam)
-; byte (SingleByteParam)
+; parameters: byte, byte
call GetScriptByte
ld l, a
@@ -444,8 +434,7 @@ Script_yesorno:
Script_loadmenudata:
; script command 0x4f
-; parameters:
-; data (MenuDataPointerParam)
+; parameters: data
call GetScriptByte
ld l, a
@@ -466,8 +455,7 @@ Script_closewindow:
Script_pokepic:
; script command 0x56
-; parameters:
-; pokemon (PokemonParam)
+; parameters: pokemon
call GetScriptByte
and a
@@ -512,9 +500,7 @@ Script__2dmenu:
Script_battletowertext:
; script command 0xa4
-; parameters:
-; pointer (PointerLabelBeforeBank)
-; memory (SingleByteParam)
+; parameters: pointer, memory
call SetUpTextBox
call GetScriptByte
@@ -524,9 +510,7 @@ Script_battletowertext:
Script_verbosegiveitem:
; script command 0x9e
-; parameters:
-; item (ItemLabelByte)
-; quantity (DecimalParam)
+; parameters: item, quantity
call Script_giveitem
call CurItemName
@@ -563,9 +547,7 @@ ReceivedItemText:
Script_verbosegiveitem2:
; script command 0x9f
-; parameters:
-; item (ItemLabelByte)
-; var (SingleByteParam)
+; parameters: item, var
call GetScriptByte
cp -1
@@ -632,7 +614,7 @@ GetPocketName:
ld a, [wItemAttributeParamBuffer]
dec a
ld hl, .Pockets
- and 3
+ maskbits NUM_POCKETS
add a
ld e, a
ld d, 0
@@ -677,9 +659,7 @@ PocketIsFullText:
Script_pokemart:
; script command 0x94
-; parameters:
-; dialog_id (SingleByteParam)
-; mart_id (MultiByteParam)
+; parameters: dialog_id, mart_id
call GetScriptByte
ld c, a
@@ -694,8 +674,7 @@ Script_pokemart:
Script_elevator:
; script command 0x95
-; parameters:
-; floor_list_pointer (PointerLabelParam)
+; parameters: floor_list_pointer
xor a
ld [ScriptVar], a
@@ -713,8 +692,7 @@ Script_elevator:
Script_trade:
; script command 0x96
-; parameters:
-; trade_id (SingleByteParam)
+; parameters: trade_id
call GetScriptByte
ld e, a
@@ -723,8 +701,7 @@ Script_trade:
Script_phonecall:
; script command 0x98
-; parameters:
-; caller_name (RawTextPointerLabelParam)
+; parameters: caller_name
call GetScriptByte
ld e, a
@@ -743,8 +720,7 @@ Script_hangup:
Script_askforphonenumber:
; script command 0x97
-; parameters:
-; number (SingleByteParam)
+; parameters: number
call YesNoBox
jr c, .refused
@@ -752,22 +728,21 @@ Script_askforphonenumber:
ld c, a
farcall AddPhoneNumber
jr c, .phonefull
- xor a
+ xor a ; PHONE_CONTACT_GOT
jr .done
.phonefull
- ld a, 1
+ ld a, PHONE_CONTACTS_FULL
jr .done
.refused
call GetScriptByte
- ld a, 2
+ ld a, PHONE_CONTACT_REFUSED
.done
ld [ScriptVar], a
ret
Script_describedecoration:
; script command 0x9a
-; parameters:
-; byte (SingleByteParam)
+; parameters: byte
call GetScriptByte
ld b, a
@@ -778,8 +753,7 @@ Script_describedecoration:
Script_fruittree:
; script command 0x9b
-; parameters:
-; tree_id (SingleByteParam)
+; parameters: tree_id
call GetScriptByte
ld [CurFruitTree], a
@@ -789,10 +763,7 @@ Script_fruittree:
Script_swarm:
; script command 0xa0
-; parameters:
-; flag (SingleByteParam)
-; map_group (MapGroupParam)
-; map_id (MapIdParam)
+; parameters: flag, map_group, map_id
call GetScriptByte
ld c, a
@@ -805,8 +776,7 @@ Script_swarm:
Script_trainertext:
; script command 0x62
-; parameters:
-; which_text (SingleByteParam)
+; parameters: which_text
call GetScriptByte
ld c, a
@@ -835,8 +805,7 @@ Script_scripttalkafter:
Script_trainerflagaction:
; script command 0x63
-; parameters:
-; action (SingleByteParam)
+; parameters: action
xor a
ld [ScriptVar], a
@@ -856,9 +825,7 @@ Script_trainerflagaction:
Script_winlosstext:
; script command 0x64
-; parameters:
-; win_text_pointer (TextPointerLabelParam)
-; loss_text_pointer (TextPointerLabelParam)
+; parameters: win_text_pointer, loss_text_pointer
ld hl, wWinTextPointer
call GetScriptByte
@@ -908,8 +875,7 @@ Script_playmapmusic:
Script_playmusic:
; script command 0x7f
-; parameters:
-; music_pointer (MultiByteParam)
+; parameters: music_pointer
ld de, MUSIC_NONE
call PlayMusic
@@ -925,23 +891,20 @@ Script_playmusic:
Script_musicfadeout:
; script command 0x81
-; parameters:
-; music (MultiByteParam)
-; fadetime (SingleByteParam)
+; parameters: music, fadetime
call GetScriptByte
ld [MusicFadeID], a
call GetScriptByte
ld [MusicFadeID + 1], a
call GetScriptByte
- and $7f
+ and $ff ^ (1 << MUSIC_FADE_IN_F)
ld [MusicFade], a
ret
Script_playsound:
; script command 0x85
-; parameters:
-; sound_pointer (MultiByteParam)
+; parameters: sound_pointer
call GetScriptByte
ld e, a
@@ -965,8 +928,7 @@ Script_warpsound:
Script_cry:
; script command 0x84
-; parameters:
-; cry_id (MultiByteParam)
+; parameters: cry_id
call GetScriptByte
push af
@@ -976,7 +938,7 @@ Script_cry:
jr nz, .ok
ld a, [ScriptVar]
.ok
- call PlayCry
+ call PlayMonCry
ret
GetScriptObject:
@@ -989,8 +951,7 @@ GetScriptObject:
Script_setlasttalked:
; script command 0x68
-; parameters:
-; object id (SingleByteParam)
+; parameters: object_id
call GetScriptByte
call GetScriptObject
@@ -999,9 +960,7 @@ Script_setlasttalked:
Script_applymovement:
; script command 0x69
-; parameters:
-; object id (SingleByteParam)
-; data (MovementPointerLabelParam)
+; parameters: object_id, data
call GetScriptByte
call GetScriptObject
@@ -1036,10 +995,9 @@ SetFlagsForMovement_2:
ret
Script_applymovement2:
-; apply movement to last talked
; script command 0x6a
-; parameters:
-; data (MovementPointerLabelParam)
+; parameters: data
+; apply movement to last talked
ld a, [hLastTalked]
ld c, a
@@ -1066,9 +1024,7 @@ Script_faceplayer:
Script_faceobject:
; script command 0x6c
-; parameters:
-; object1 (SingleByteParam)
-; object2 (SingleByteParam)
+; parameters: object1, object2
call GetScriptByte
call GetScriptObject
@@ -1098,9 +1054,7 @@ Script_faceobject:
Script_spriteface:
; script command 0x76
-; parameters:
-; object id (SingleByteParam)
-; facing (SingleByteParam)
+; parameters: object_id, facing
call GetScriptByte
call GetScriptObject
@@ -1163,9 +1117,7 @@ ApplyObjectFacing:
Script_variablesprite:
; script command 0x6d
-; parameters:
-; byte (SingleByteParam)
-; sprite (SingleByteParam)
+; parameters: byte, sprite
call GetScriptByte
ld e, a
@@ -1178,8 +1130,7 @@ Script_variablesprite:
Script_appear:
; script command 0x6f
-; parameters:
-; object id (SingleByteParam)
+; parameters: object_id
call GetScriptByte
call GetScriptObject
@@ -1191,8 +1142,7 @@ Script_appear:
Script_disappear:
; script command 0x6e
-; parameters:
-; object id (SingleByteParam)
+; parameters: object_id
call GetScriptByte
call GetScriptObject
@@ -1229,9 +1179,7 @@ ApplyEventActionAppearDisappear:
Script_follow:
; script command 0x70
-; parameters:
-; object2 (SingleByteParam)
-; object1 (SingleByteParam)
+; parameters: object2, object1
call GetScriptByte
call GetScriptObject
@@ -1250,10 +1198,7 @@ Script_stopfollow:
Script_moveobject:
; script command 0x72
-; parameters:
-; object id (SingleByteParam)
-; x (SingleByteParam)
-; y (SingleByteParam)
+; parameters: object id, x, y
call GetScriptByte
call GetScriptObject
@@ -1269,8 +1214,7 @@ Script_moveobject:
Script_writeobjectxy:
; script command 0x73
-; parameters:
-; object id (SingleByteParam)
+; parameters: object_id
call GetScriptByte
call GetScriptObject
@@ -1284,9 +1228,7 @@ Script_writeobjectxy:
Script_follownotexact:
; script command 0x77
-; parameters:
-; object2 (SingleByteParam)
-; object1 (SingleByteParam)
+; parameters: object2, object1
call GetScriptByte
call GetScriptObject
@@ -1299,8 +1241,7 @@ Script_follownotexact:
Script_loademote:
; script command 0x74
-; parameters:
-; bubble (SingleByteParam)
+; parameters: bubble
call GetScriptByte
cp -1
@@ -1313,10 +1254,7 @@ Script_loademote:
Script_showemote:
; script command 0x75
-; parameters:
-; bubble (SingleByteParam)
-; object id (SingleByteParam)
-; time (DecimalParam)
+; parameters: bubble, object_id, time
call GetScriptByte
ld [ScriptVar], a
@@ -1352,8 +1290,7 @@ ShowEmoteScript:
Script_earthquake:
; script command 0x78
-; parameters:
-; param (DecimalParam)
+; parameters: param
ld hl, EarthquakeMovement
ld de, wEarthquakeMovementDataBuffer
@@ -1407,9 +1344,7 @@ Script_loadmemtrainer:
Script_loadwildmon:
; script command 0x5d
-; parameters:
-; pokemon (PokemonParam)
-; level (DecimalParam)
+; parameters: pokemon, level
ld a, (1 << 7)
ld [wBattleScriptFlags], a
@@ -1421,9 +1356,7 @@ Script_loadwildmon:
Script_loadtrainer:
; script command 0x5e
-; parameters:
-; trainer_group (TrainerGroupParam)
-; trainer_id (TrainerIdParam)
+; parameters: trainer_group, trainer_id
ld a, (1 << 7) | 1
ld [wBattleScriptFlags], a
@@ -1445,8 +1378,7 @@ Script_startbattle:
Script_catchtutorial:
; script command 0x61
-; parameters:
-; byte (SingleByteParam)
+; parameters: byte
call GetScriptByte
ld [BattleType], a
@@ -1498,8 +1430,7 @@ Script_reloadmap:
Script_scall:
; script command 0x0
-; parameters:
-; pointer (ScriptPointerLabelParam)
+; parameters: pointer
ld a, [ScriptBank]
ld b, a
@@ -1511,8 +1442,7 @@ Script_scall:
Script_farscall:
; script command 0x1
-; parameters:
-; pointer (ScriptPointerLabelBeforeBank)
+; parameters: pointer
call GetScriptByte
ld b, a
@@ -1524,8 +1454,7 @@ Script_farscall:
Script_ptcall:
; script command 0x2
-; parameters:
-; pointer (PointerLabelToScriptPointer)
+; parameters: pointer
call GetScriptByte
ld l, a
@@ -1577,8 +1506,7 @@ CallCallback::
Script_jump:
; script command 0x3
-; parameters:
-; pointer (ScriptPointerLabelParam)
+; parameters: pointer
call GetScriptByte
ld l, a
@@ -1590,8 +1518,7 @@ Script_jump:
Script_farjump:
; script command 0x4
-; parameters:
-; pointer (ScriptPointerLabelBeforeBank)
+; parameters: pointer
call GetScriptByte
ld b, a
@@ -1603,8 +1530,7 @@ Script_farjump:
Script_ptjump:
; script command 0x5
-; parameters:
-; pointer (PointerLabelToScriptPointer)
+; parameters: pointer
call GetScriptByte
ld l, a
@@ -1619,8 +1545,7 @@ Script_ptjump:
Script_iffalse:
; script command 0x8
-; parameters:
-; pointer (ScriptPointerLabelParam)
+; parameters: pointer
ld a, [ScriptVar]
and a
@@ -1629,8 +1554,7 @@ Script_iffalse:
Script_iftrue:
; script command 0x9
-; parameters:
-; pointer (ScriptPointerLabelParam)
+; parameters: pointer
ld a, [ScriptVar]
and a
@@ -1639,9 +1563,7 @@ Script_iftrue:
Script_if_equal:
; script command 0x6
-; parameters:
-; byte (SingleByteParam)
-; pointer (ScriptPointerLabelParam)
+; parameters: byte, pointer
call GetScriptByte
ld hl, ScriptVar
@@ -1651,9 +1573,7 @@ Script_if_equal:
Script_if_not_equal:
; script command 0x7
-; parameters:
-; byte (SingleByteParam)
-; pointer (ScriptPointerLabelParam)
+; parameters: byte, pointer
call GetScriptByte
ld hl, ScriptVar
@@ -1663,9 +1583,7 @@ Script_if_not_equal:
Script_if_greater_than:
; script command 0xa
-; parameters:
-; byte (SingleByteParam)
-; pointer (ScriptPointerLabelParam)
+; parameters: byte, pointer
ld a, [ScriptVar]
ld b, a
@@ -1676,9 +1594,7 @@ Script_if_greater_than:
Script_if_less_than:
; script command 0xb
-; parameters:
-; byte (SingleByteParam)
-; pointer (ScriptPointerLabelParam)
+; parameters: byte, pointer
call GetScriptByte
ld b, a
@@ -1689,16 +1605,14 @@ Script_if_less_than:
Script_jumpstd:
; script command 0xc
-; parameters:
-; predefined_script (MultiByteParam)
+; parameters: predefined_script
call StdScript
jr ScriptJump
Script_callstd:
; script command 0xd
-; parameters:
-; predefined_script (MultiByteParam)
+; parameters: predefined_script
call StdScript
ld d, h
@@ -1738,8 +1652,7 @@ ScriptJump:
Script_priorityjump:
; script command 0x8d
-; parameters:
-; pointer (ScriptPointerLabelParam)
+; parameters: pointer
ld a, [ScriptBank]
ld [wPriorityScriptBank], a
@@ -1766,9 +1679,7 @@ Script_checkscene:
Script_checkmapscene:
; script command 0x11
-; parameters:
-; map_group (SingleByteParam)
-; map_id (SingleByteParam)
+; parameters: map_group, map_id
call GetScriptByte
ld b, a
@@ -1789,8 +1700,7 @@ Script_checkmapscene:
Script_setscene:
; script command 0x14
-; parameters:
-; scene_id (SingleByteParam)
+; parameters: scene_id
ld a, [MapGroup]
ld b, a
@@ -1800,10 +1710,7 @@ Script_setscene:
Script_setmapscene:
; script command 0x12
-; parameters:
-; map_group (MapGroupParam)
-; map_id (MapIdParam)
-; scene_id (SingleByteParam)
+; parameters: map_group, map_id, scene_id
call GetScriptByte
ld b, a
@@ -1821,8 +1728,7 @@ DoScene:
Script_copybytetovar:
; script command 0x19
-; parameters:
-; address (RAMAddressParam)
+; parameters: address
call GetScriptByte
ld l, a
@@ -1834,8 +1740,7 @@ Script_copybytetovar:
Script_copyvartobyte:
; script command 0x1a
-; parameters:
-; address (RAMAddressParam)
+; parameters: address
call GetScriptByte
ld l, a
@@ -1847,9 +1752,7 @@ Script_copyvartobyte:
Script_loadvar:
; script command 0x1b
-; parameters:
-; address (RAMAddressParam)
-; value (SingleByteParam)
+; parameters: address, value
call GetScriptByte
ld l, a
@@ -1861,8 +1764,7 @@ Script_loadvar:
Script_writebyte:
; script command 0x15
-; parameters:
-; value (SingleByteParam)
+; parameters: value
call GetScriptByte
ld [ScriptVar], a
@@ -1870,8 +1772,7 @@ Script_writebyte:
Script_addvar:
; script command 0x16
-; parameters:
-; value (SingleByteParam)
+; parameters: value
call GetScriptByte
ld hl, ScriptVar
@@ -1881,8 +1782,7 @@ Script_addvar:
Script_random:
; script command 0x17
-; parameters:
-; input (SingleByteParam)
+; parameters: input
call GetScriptByte
ld [ScriptVar], a
@@ -1935,8 +1835,7 @@ Script_random:
Script_checkcode:
; script command 0x1c
-; parameters:
-; variable_id (SingleByteParam)
+; parameters: variable_id
call GetScriptByte
call GetVarAction
@@ -1946,8 +1845,7 @@ Script_checkcode:
Script_writevarcode:
; script command 0x1d
-; parameters:
-; variable_id (SingleByteParam)
+; parameters: variable_id
call GetScriptByte
call GetVarAction
@@ -1957,9 +1855,7 @@ Script_writevarcode:
Script_writecode:
; script command 0x1e
-; parameters:
-; variable_id (SingleByteParam)
-; value (SingleByteParam)
+; parameters: variable_id, value
call GetScriptByte
call GetVarAction
@@ -1975,18 +1871,16 @@ GetVarAction:
Script_checkver:
; script command 0x18
- ld a, [Version]
+ ld a, [.gs_version]
ld [ScriptVar], a
ret
-Version:
- db VERSION
+.gs_version:
+ db GS_VERSION
Script_pokenamemem:
; script command 0x40
-; parameters:
-; pokemon (PokemonParam); leave $0 to draw from script var
-; memory (SingleByteParam)
+; parameters: pokemon (0 aka USE_SCRIPT_VAR to use ScriptVar), memory
call GetScriptByte
and a
@@ -1999,7 +1893,7 @@ Script_pokenamemem:
ConvertMemToText:
call GetScriptByte
- cp 3
+ cp NUM_MEM_BUFFERS
jr c, .ok
xor a
.ok
@@ -2013,12 +1907,10 @@ CopyConvertedText:
Script_itemtotext:
; script command 0x41
-; parameters:
-; item (ItemLabelByte); use 0 to draw from ScriptVar
-; memory (SingleByteParam)
+; parameters: item (0 aka USE_SCRIPT_VAR to use ScriptVar), memory
call GetScriptByte
- and a
+ and a ; USE_SCRIPT_VAR
jr nz, .ok
ld a, [ScriptVar]
.ok
@@ -2029,8 +1921,7 @@ Script_itemtotext:
Script_mapnametotext:
; script command 0x42
-; parameters:
-; memory (SingleByteParam)
+; parameters: memory
ld a, [MapGroup]
ld b, a
@@ -2046,19 +1937,14 @@ ConvertLandmarkToText:
Script_landmarktotext:
; script command 0xa5
-; parameters:
-; id (SingleByteParam)
-; memory (SingleByteParam)
+; parameters: id, memory
call GetScriptByte
jr ConvertLandmarkToText
Script_trainertotext:
; script command 0x43
-; parameters:
-; trainer_id (TrainerGroupParam)
-; trainer_group (TrainerIdParam)
-; memory (SingleByteParam)
+; parameters: trainer_id, trainer_group, memory
call GetScriptByte
ld c, a
@@ -2069,10 +1955,7 @@ Script_trainertotext:
Script_name:
; script command 0xa7
-; parameters:
-; type (SingleByteParam)
-; id (SingleByteParam)
-; memory (SingleByteParam)
+; parameters: type, id, memory
call GetScriptByte
ld [wNamedObjectTypeBuffer], a
@@ -2086,9 +1969,7 @@ ContinueToGetName:
Script_trainerclassname:
; script command 0xa6
-; parameters:
-; id (SingleByteParam)
-; memory (SingleByteParam)
+; parameters: id, memory
ld a, TRAINER_NAME
ld [wNamedObjectTypeBuffer], a
@@ -2096,9 +1977,7 @@ Script_trainerclassname:
Script_readmoney:
; script command 0x3d
-; parameters:
-; account (SingleByteParam)
-; memory (SingleByteParam)
+; parameters: account, memory
call ResetStringBuffer1
call GetMoneyAccount
@@ -2110,8 +1989,7 @@ Script_readmoney:
Script_readcoins:
; script command 0x3e
-; parameters:
-; memory (SingleByteParam)
+; parameters: memory
call ResetStringBuffer1
ld hl, StringBuffer1
@@ -2121,10 +1999,9 @@ Script_readcoins:
ld de, StringBuffer1
jp ConvertMemToText
-Script_RAM2MEM:
+Script_vartomem:
; script command 0x3f
-; parameters:
-; memory (SingleByteParam)
+; parameters: memory
call ResetStringBuffer1
ld de, ScriptVar
@@ -2143,9 +2020,7 @@ ResetStringBuffer1:
Script_stringtotext:
; script command 0x44
-; parameters:
-; text_pointer (EncodedTextLabelParam)
-; memory (SingleByteParam)
+; parameters: text_pointer, memory
call GetScriptByte
ld e, a
@@ -2159,8 +2034,7 @@ Script_stringtotext:
Script_givepokeitem:
; script command 0x2f
-; parameters:
-; pointer (PointerParamToItemAndLetter)
+; parameters: pointer
call GetScriptByte
ld l, a
@@ -2181,8 +2055,7 @@ Script_givepokeitem:
Script_checkpokeitem:
; script command 0x30
-; parameters:
-; pointer (PointerParamToItemAndLetter)
+; parameters: pointer
call GetScriptByte
ld e, a
@@ -2195,9 +2068,7 @@ Script_checkpokeitem:
Script_giveitem:
; script command 0x1f
-; parameters:
-; item (ItemLabelByte)
-; quantity (SingleByteParam)
+; parameters: item, quantity
call GetScriptByte
cp ITEM_FROM_MEM
@@ -2220,9 +2091,7 @@ Script_giveitem:
Script_takeitem:
; script command 0x20
-; parameters:
-; item (ItemLabelByte)
-; quantity (DecimalParam)
+; parameters: item, quantity
xor a
ld [ScriptVar], a
@@ -2241,8 +2110,7 @@ Script_takeitem:
Script_checkitem:
; script command 0x21
-; parameters:
-; item (ItemLabelByte)
+; parameters: item
xor a
ld [ScriptVar], a
@@ -2257,9 +2125,7 @@ Script_checkitem:
Script_givemoney:
; script command 0x22
-; parameters:
-; account (SingleByteParam)
-; money (MoneyByteParam)
+; parameters: account, money
call GetMoneyAccount
call LoadMoneyAmountToMem
@@ -2268,9 +2134,7 @@ Script_givemoney:
Script_takemoney:
; script command 0x23
-; parameters:
-; account (SingleByteParam)
-; money (MoneyByteParam)
+; parameters: account, money
call GetMoneyAccount
call LoadMoneyAmountToMem
@@ -2279,24 +2143,22 @@ Script_takemoney:
Script_checkmoney:
; script command 0x24
-; parameters:
-; account (SingleByteParam)
-; money (MoneyByteParam)
+; parameters: account, money
call GetMoneyAccount
call LoadMoneyAmountToMem
farcall CompareMoney
CompareMoneyAction:
- jr c, .two
- jr z, .one
- ld a, 0
+ jr c, .less
+ jr z, .exact
+ ld a, HAVE_MORE
jr .done
-.one
- ld a, 1
+.exact
+ ld a, HAVE_AMOUNT
jr .done
-.two
- ld a, 2
+.less
+ ld a, HAVE_LESS
.done
ld [ScriptVar], a
ret
@@ -2304,9 +2166,9 @@ CompareMoneyAction:
GetMoneyAccount:
call GetScriptByte
and a
- ld de, Money
+ ld de, Money ; YOUR_MONEY
ret z
- ld de, wMomsMoney
+ ld de, wMomsMoney ; MOMS_MONEY
ret
LoadMoneyAmountToMem:
@@ -2325,8 +2187,7 @@ LoadMoneyAmountToMem:
Script_givecoins:
; script command 0x25
-; parameters:
-; coins (CoinByteParam)
+; parameters: coins
call LoadCoinAmountToMem
farcall GiveCoins
@@ -2334,8 +2195,7 @@ Script_givecoins:
Script_takecoins:
; script command 0x26
-; parameters:
-; coins (CoinByteParam)
+; parameters: coins
call LoadCoinAmountToMem
farcall TakeCoins
@@ -2343,8 +2203,7 @@ Script_takecoins:
Script_checkcoins:
; script command 0x27
-; parameters:
-; coins (CoinByteParam)
+; parameters: coins
call LoadCoinAmountToMem
farcall CheckCoins
@@ -2360,8 +2219,7 @@ LoadCoinAmountToMem:
Script_checktime:
; script command 0x2b
-; parameters:
-; time (SingleByteParam)
+; parameters: time
xor a
ld [ScriptVar], a
@@ -2375,8 +2233,7 @@ Script_checktime:
Script_checkpoke:
; script command 0x2c
-; parameters:
-; pkmn (PokemonParam)
+; parameters: pokemon
xor a
ld [ScriptVar], a
@@ -2391,8 +2248,7 @@ Script_checkpoke:
Script_addcellnum:
; script command 0x28
-; parameters:
-; person (SingleByteParam)
+; parameters: person
xor a
ld [ScriptVar], a
@@ -2406,8 +2262,7 @@ Script_addcellnum:
Script_delcellnum:
; script command 0x29
-; parameters:
-; person (SingleByteParam)
+; parameters: person
xor a
ld [ScriptVar], a
@@ -2421,8 +2276,7 @@ Script_delcellnum:
Script_checkcellnum:
; script command 0x2a
-; parameters:
-; person (SingleByteParam)
+; parameters: person
; returns false if the cell number is not in your phone
xor a
@@ -2437,8 +2291,7 @@ Script_checkcellnum:
Script_specialphonecall:
; script command 0x9c
-; parameters:
-; call_id (MultiByteParam)
+; parameters: call_id
call GetScriptByte
ld [wSpecialPhoneCallID], a
@@ -2460,13 +2313,7 @@ Script_checkphonecall:
Script_givepoke:
; script command 0x2d
-; parameters:
-; pokemon (PokemonParam)
-; level (DecimalParam)
-; item (ItemLabelByte)
-; trainer (DecimalParam)
-; trainer_name_pointer (MultiByteParam)
-; pkmn_nickname (MultiByteParam)
+; parameters: pokemon, level, item, trainer, trainer_name_pointer, pkmn_nickname
call GetScriptByte
ld [CurPartySpecies], a
@@ -2494,9 +2341,7 @@ Script_givepoke:
Script_giveegg:
; script command 0x2e
-; parameters:
-; pkmn (PokemonParam)
-; level (DecimalParam)
+; parameters: pokemon, level
; if no room in the party, return 0 in ScriptVar; else, return 2
xor a ; PARTYMON
@@ -2514,8 +2359,7 @@ Script_giveegg:
Script_setevent:
; script command 0x33
-; parameters:
-; bit_number (MultiByteParam)
+; parameters: bit_number
call GetScriptByte
ld e, a
@@ -2527,8 +2371,7 @@ Script_setevent:
Script_clearevent:
; script command 0x32
-; parameters:
-; bit_number (MultiByteParam)
+; parameters: bit_number
call GetScriptByte
ld e, a
@@ -2540,8 +2383,7 @@ Script_clearevent:
Script_checkevent:
; script command 0x31
-; parameters:
-; bit_number (MultiByteParam)
+; parameters: bit_number
call GetScriptByte
ld e, a
@@ -2559,8 +2401,7 @@ Script_checkevent:
Script_setflag:
; script command 0x36
-; parameters:
-; bit_number (MultiByteParam)
+; parameters: bit_number
call GetScriptByte
ld e, a
@@ -2572,8 +2413,7 @@ Script_setflag:
Script_clearflag:
; script command 0x35
-; parameters:
-; bit_number (MultiByteParam)
+; parameters: bit_number
call GetScriptByte
ld e, a
@@ -2585,14 +2425,13 @@ Script_clearflag:
Script_checkflag:
; script command 0x34
-; parameters:
-; bit_number (MultiByteParam)
+; parameters: bit_number
call GetScriptByte
ld e, a
call GetScriptByte
ld d, a
- ld b, 2 ; check
+ ld b, CHECK_FLAG
call _EngineFlagAction
ld a, c
and a
@@ -2622,8 +2461,7 @@ Script_wildon:
Script_xycompare:
; script command 0x39
-; parameters:
-; pointer (MultiByteParam)
+; parameters: pointer
call GetScriptByte
ld [wXYComparePointer], a
@@ -2633,15 +2471,10 @@ Script_xycompare:
Script_warpfacing:
; script command 0xa3
-; parameters:
-; facing (SingleByteParam)
-; map_group (MapGroupParam)
-; map_id (MapIdParam)
-; x (SingleByteParam)
-; y (SingleByteParam)
+; parameters: facing, map_group, map_id, x, y
call GetScriptByte
- and $3
+ maskbits NUM_DIRECTIONS
ld c, a
ld a, [wPlayerSpriteSetupFlags]
set 5, a
@@ -2651,11 +2484,7 @@ Script_warpfacing:
Script_warp:
; script command 0x3c
-; parameters:
-; map_group (MapGroupParam)
-; map_id (MapIdParam)
-; x (SingleByteParam)
-; y (SingleByteParam)
+; parameters: map_group, map_id, x, y
; This seems to be some sort of error handling case.
call GetScriptByte
@@ -2692,10 +2521,7 @@ Script_warp:
Script_warpmod:
; script command 0x3a
-; parameters:
-; warp_id (SingleByteParam)
-; map_group (MapGroupParam)
-; map_id (MapIdParam)
+; parameters: warp_id, map_group, map_id
call GetScriptByte
ld [BackupWarpNumber], a
@@ -2707,9 +2533,7 @@ Script_warpmod:
Script_blackoutmod:
; script command 0x3b
-; parameters:
-; map_group (MapGroupParam)
-; map_id (MapIdParam)
+; parameters: map_group, map_id
call GetScriptByte
ld [wLastSpawnMapGroup], a
@@ -2726,8 +2550,7 @@ Script_dontrestartmapmusic:
Script_writecmdqueue:
; script command 0x7d
-; parameters:
-; queue_pointer (MultiByteParam)
+; parameters: queue_pointer
call GetScriptByte
ld e, a
@@ -2740,8 +2563,7 @@ Script_writecmdqueue:
Script_delcmdqueue:
; script command 0x7e
-; parameters:
-; byte (SingleByteParam)
+; parameters: byte
xor a
ld [ScriptVar], a
@@ -2755,25 +2577,21 @@ Script_delcmdqueue:
Script_changemap:
; script command 0x79
-; parameters:
-; map_data_pointer (MapDataPointerParam)
+; parameters: map_data_pointer
call GetScriptByte
- ld [MapBlockDataBank], a
+ ld [MapBlocksBank], a
call GetScriptByte
- ld [MapBlockDataPointer], a
+ ld [MapBlocksPointer], a
call GetScriptByte
- ld [MapBlockDataPointer + 1], a
+ ld [MapBlocksPointer + 1], a
call ChangeMap
call BufferScreen
ret
Script_changeblock:
; script command 0x7a
-; parameters:
-; x (SingleByteParam)
-; y (SingleByteParam)
-; block (SingleByteParam)
+; parameters: x, y, block
call GetScriptByte
add 4
@@ -2806,14 +2624,14 @@ Script_warpcheck:
farcall EnableEvents
ret
-Script_enableevents: ; unreferenced
+Script_enableevents:
+; unused
farcall EnableEvents
ret
Script_newloadmap:
; script command 0x8a
-; parameters:
-; which_method (SingleByteParam)
+; parameters: which_method
call GetScriptByte
ld [hMapEntryMethod], a
@@ -2836,8 +2654,7 @@ Script_textbox:
Script_refreshscreen:
; script command 0x48
-; parameters:
-; dummy (SingleByteParam)
+; parameters: dummy
call RefreshScreen
call GetScriptByte
@@ -2845,14 +2662,13 @@ Script_refreshscreen:
Script_loadbytec2cf:
; script command 0x4a
-; parameters:
-; byte (SingleByteParam)
+; parameters: byte
call GetScriptByte
ld [wc2cf], a
ret
- ld c, c ; XXX
+ db closetext_command ; unused
Script_closetext:
; script command 0x49
@@ -2864,8 +2680,7 @@ Script_closetext:
Script_passtoengine:
; script command 0x89
-; parameters:
-; data_pointer (PointerLabelBeforeBank)
+; parameters: data_pointer
call GetScriptByte
push af
@@ -2879,8 +2694,7 @@ Script_passtoengine:
Script_pause:
; script command 0x8b
-; parameters:
-; length (DecimalParam)
+; parameters: length
call GetScriptByte
and a
@@ -2896,8 +2710,7 @@ Script_pause:
Script_deactivatefacing:
; script command 0x8c
-; parameters:
-; time (SingleByteParam)
+; parameters: time
call GetScriptByte
and a
@@ -2911,8 +2724,7 @@ Script_deactivatefacing:
Script_ptpriorityjump:
; script command 0x8f
-; parameters:
-; pointer (ScriptPointerLabelParam)
+; parameters: pointer
call StopScript
jp Script_jump
@@ -2993,8 +2805,8 @@ Script_halloffame:
ld hl, wGameTimerPause
res 0, [hl]
- farcall TrainerRankings_HallOfFame
- farcall TrainerRankings_HallOfFame2
+ farcall StubbedTrainerRankings_HallOfFame
+ farcall StubbedTrainerRankings_HallOfFame2
farcall HallOfFame
ld hl, wGameTimerPause
set 0, [hl]
@@ -3013,8 +2825,7 @@ ReturnFromCredits:
Script_wait:
; script command 0xa8
-; parameters:
-; unknown (SingleByteParam)
+; parameters: unknown
push bc
call GetScriptByte
@@ -3037,7 +2848,7 @@ Script_check_save:
ret
-; unreferenced
+; unused
ld a, [.byte]
ld [ScriptVar], a
ret
diff --git a/engine/scrolling_menu.asm b/engine/scrolling_menu.asm
index 32f22188a..32acf2def 100755
--- a/engine/scrolling_menu.asm
+++ b/engine/scrolling_menu.asm
@@ -84,7 +84,7 @@ ScrollingMenuJoyAction: ; 24609
jr .loop
; 24640
-.unreferenced ; unreferenced
+.unreferenced ; unused
ld a, -1
and a
ret
diff --git a/engine/search.asm b/engine/search.asm
index 76be0e159..495d4cc5e 100755
--- a/engine/search.asm
+++ b/engine/search.asm
@@ -1,4 +1,4 @@
-SpecialBeastsCheck: ; 0x4a6e8
+Special_BeastsCheck: ; 0x4a6e8
; Check if the player owns all three legendary beasts.
; They must exist in either party or PC, and have the player's OT and ID.
; Return the result in ScriptVar.
@@ -29,7 +29,7 @@ SpecialBeastsCheck: ; 0x4a6e8
ret
-SpecialMonCheck: ; 0x4a711
+Special_MonCheck: ; 0x4a711
; Check if the player owns any monsters of the species in ScriptVar.
; Return the result in ScriptVar.
diff --git a/engine/sgb_layouts.asm b/engine/sgb_layouts.asm
index 36dbde84c..5f2b8e12e 100644
--- a/engine/sgb_layouts.asm
+++ b/engine/sgb_layouts.asm
@@ -1,7 +1,6 @@
-Predef_LoadSGBLayout: ; 864c
-; LoadSGBLayout
+LoadSGBLayout: ; 864c
call CheckCGB
- jp nz, Predef_LoadSGBLayoutCGB
+ jp nz, LoadSGBLayoutCGB
ld a, b
cp SCGB_RAM
@@ -18,7 +17,7 @@ Predef_LoadSGBLayout: ; 864c
ld a, [hli]
ld h, [hl]
ld l, a
- ld de, .Finish
+ ld de, _LoadSGBLayout_ReturnFromJumpTable
push de
jp hl
; 866f
@@ -31,12 +30,12 @@ Predef_LoadSGBLayout: ; 864c
dw .SGB_Pokedex
dw .SGB_SlotMachine
dw .SGB06
- dw .SGB07
+ dw .SGB_GSIntro
dw .SGB_Diploma
dw .SGB_MapPals
dw .SGB_PartyMenu
dw .SGB_Evolution
- dw .SGB0c
+ dw .SGB_GSTitleScreen
dw .SGB0d
dw .SGB_MoveList
dw .SGB0f
@@ -49,7 +48,7 @@ Predef_LoadSGBLayout: ; 864c
dw .SGB_PokedexUnownMode
dw .SGB_BillsPC
dw .SGB_UnownPuzzle
- dw .SGB19
+ dw .SGB_GamefreakLogo
dw .SGB_PlayerOrMonFrontpicPals
dw .SGB_TradeTube
dw .SGB_TrainerOrMonFrontpicPals
@@ -58,18 +57,18 @@ Predef_LoadSGBLayout: ; 864c
; 86ad
.SGB_BattleGrayscale: ; 86ad
- ld hl, PalPacket_9c66
- ld de, BlkPacket_9aa6
+ ld hl, PalPacket_BattleGrayscale
+ ld de, BlkPacket_Battle
ret
; 86b4
.SGB_BattleColors: ; 86b4
- ld hl, BlkPacket_9aa6
+ ld hl, BlkPacket_Battle
call PushSGBPals_
ld hl, PalPacket_9ce6
ld de, wSGBPals
- ld bc, $10
+ ld bc, PALPACKET_LENGTH
call CopyBytes
ld a, [PlayerHPPal]
@@ -107,32 +106,32 @@ Predef_LoadSGBLayout: ; 864c
ld [wSGBPals + 12], a
ld hl, PalPacket_9cf6
- ld de, wSGBPals + $10
- ld bc, $10
+ ld de, wSGBPals + PALPACKET_LENGTH
+ ld bc, PALPACKET_LENGTH
call CopyBytes
call GetBattlemonBackpicPalettePointer
ld a, [hli]
- ld [wSGBPals + $13], a
+ ld [wSGBPals + 19], a
ld a, [hli]
- ld [wSGBPals + $14], a
+ ld [wSGBPals + 20], a
ld a, [hli]
- ld [wSGBPals + $15], a
+ ld [wSGBPals + 21], a
ld a, [hl]
- ld [wSGBPals + $16], a
+ ld [wSGBPals + 22], a
call GetEnemyFrontpicPalettePointer
ld a, [hli]
- ld [wSGBPals + $19], a
+ ld [wSGBPals + 25], a
ld a, [hli]
- ld [wSGBPals + $1a], a
+ ld [wSGBPals + 26], a
ld a, [hli]
- ld [wSGBPals + $1b], a
+ ld [wSGBPals + 27], a
ld a, [hl]
- ld [wSGBPals + $1c], a
+ ld [wSGBPals + 28], a
ld hl, wSGBPals
- ld de, wSGBPals + $10
+ ld de, wSGBPals + PALPACKET_LENGTH
ld a, SCGB_BATTLE_COLORS
ld [SGBPredef], a
ret
@@ -141,7 +140,7 @@ Predef_LoadSGBLayout: ; 864c
.SGB_MoveList: ; 873c
ld hl, PalPacket_9bd6
ld de, wSGBPals
- ld bc, $10
+ ld bc, PALPACKET_LENGTH
call CopyBytes
ld hl, wSGBPals + 1
@@ -150,15 +149,15 @@ Predef_LoadSGBLayout: ; 864c
inc hl
ld a, [PlayerHPPal]
- add $2f
+ add PREDEFPAL_HP_GREEN
ld [hl], a
ld hl, wSGBPals
- ld de, BlkPacket_9ad6
+ ld de, BlkPacket_MoveList
ret
; 875c
.SGB_PokegearPals: ; 875c
- ld hl, PalPacket_9c76
+ ld hl, PalPacket_Pokegear
ld de, BlkPacket_9a86
ret
; 8763
@@ -166,7 +165,7 @@ Predef_LoadSGBLayout: ; 864c
.SGB_StatsScreenHPPals: ; 8763
ld hl, PalPacket_9ce6
ld de, wSGBPals
- ld bc, $10
+ ld bc, PALPACKET_LENGTH
call CopyBytes
ld a, [wCurHPPal]
ld l, a
@@ -195,12 +194,12 @@ Predef_LoadSGBLayout: ; 864c
ld a, [hl]
ld [wSGBPals + 12], a
ld hl, wSGBPals
- ld de, BlkPacket_9ac6
+ ld de, BlkPacket_StatsScreen
ret
; 87ab
.SGB_PartyMenu: ; 87ab
- ld hl, PalPacket_9c56
+ ld hl, PalPacket_PartyMenu
ld de, wSGBPals + 1
ret
; 87b2
@@ -208,16 +207,16 @@ Predef_LoadSGBLayout: ; 864c
.SGB_Pokedex: ; 87b2
ld hl, PalPacket_9ce6
ld de, wSGBPals
- ld bc, $10
+ ld bc, PALPACKET_LENGTH
call CopyBytes
ld hl, wSGBPals + 3
- ld [hl], $9f
+ ld [hl], LOW(palred 31 + palgreen 20 + palblue 10)
inc hl
- ld [hl], $2a
+ ld [hl], HIGH(palred 31 + palgreen 20 + palblue 10)
inc hl
- ld [hl], $5a
+ ld [hl], LOW(palred 26 + palgreen 10 + palblue 6)
inc hl
- ld [hl], $19
+ ld [hl], HIGH(palred 26 + palgreen 10 + palblue 6)
ld a, [CurPartySpecies]
call GetMonPalettePointer_
ld a, [hli]
@@ -229,23 +228,23 @@ Predef_LoadSGBLayout: ; 864c
ld a, [hl]
ld [wSGBPals + 12], a
ld hl, wSGBPals
- ld de, BlkPacket_9ae6
+ ld de, BlkPacket_Pokedex_PC
ret
; 87e9
.SGB_BillsPC: ; 87e9
ld hl, PalPacket_9ce6
ld de, wSGBPals
- ld bc, $10
+ ld bc, PALPACKET_LENGTH
call CopyBytes
ld hl, wSGBPals + 3
- ld [hl], $9f
+ ld [hl], LOW(palred 31 + palgreen 20 + palblue 10)
inc hl
- ld [hl], $2a
+ ld [hl], HIGH(palred 31 + palgreen 20 + palblue 10)
inc hl
- ld [hl], $5a
+ ld [hl], LOW(palred 26 + palgreen 10 + palblue 6)
inc hl
- ld [hl], $19
+ ld [hl], HIGH(palred 26 + palgreen 10 + palblue 6)
ld a, [CurPartySpecies]
ld bc, TempMonDVs
call GetPlayerOrMonPalettePointer
@@ -258,62 +257,62 @@ Predef_LoadSGBLayout: ; 864c
ld a, [hl]
ld [wSGBPals + 12], a
ld hl, wSGBPals
- ld de, BlkPacket_9ae6
+ ld de, BlkPacket_Pokedex_PC
ret
; 8823
.SGB_PokedexUnownMode: ; 8823
call .SGB_Pokedex
- ld de, BlkPacket_9af6
+ ld de, BlkPacket_PokedexUnownMode
ret
; 882a
.SGB_PokedexSearchOption: ; 882a
ld hl, PalPacket_9ce6
ld de, wSGBPals
- ld bc, $10
+ ld bc, PALPACKET_LENGTH
call CopyBytes
ld hl, wSGBPals + 3
- ld [hl], $9f
+ ld [hl], LOW(palred 31 + palgreen 20 + palblue 10)
inc hl
- ld [hl], $2a
+ ld [hl], HIGH(palred 31 + palgreen 20 + palblue 10)
inc hl
- ld [hl], $5a
+ ld [hl], LOW(palred 26 + palgreen 10 + palblue 6)
inc hl
- ld [hl], $19
+ ld [hl], HIGH(palred 26 + palgreen 10 + palblue 6)
ld hl, wSGBPals
ld de, BlkPacket_9a86
ret
; 884b
.SGB_PackPals: ; 884b
- ld hl, PalPacket_9c36
+ ld hl, PalPacket_Pack
ld de, BlkPacket_9a86
ret
; 8852
.SGB_SlotMachine: ; 8852
- ld hl, PalPacket_9c96
- ld de, BlkPacket_9b06
+ ld hl, PalPacket_SlotMachine
+ ld de, BlkPacket_SlotMachine
ret
; 8859
.SGB06: ; 8859
- ld hl, PalPacket_9ca6
- ld de, BlkPacket_9b76
+ ld hl, PalPacket_SCGB_06
+ ld de, BlkPacket_SCGB_06
ret
; 8860
.SGB_Diploma:
.SGB_MysteryGift: ; 8860
- ld hl, PalPacket_9cb6
+ ld hl, PalPacket_Diploma
ld de, BlkPacket_9a86
ret
; 8867
-.SGB07: ; 8867
+.SGB_GSIntro: ; 8867
ld b, 0
- ld hl, .BlkPacketTable_SGB07
+ ld hl, .BlkPacketTable_GSIntro
rept 4
add hl, bc
endr
@@ -327,38 +326,38 @@ endr
ret
; 8878
-.BlkPacketTable_SGB07: ; 8878
- dw BlkPacket_9a86, PalPacket_9be6
- dw BlkPacket_9a96, PalPacket_9c06
- dw BlkPacket_9a86, PalPacket_9c16
+.BlkPacketTable_GSIntro: ; 8878
+ dw BlkPacket_9a86, PalPacket_GSIntroShellderLapras
+ dw BlkPacket_GSIntroJigglypuffPikachu, PalPacket_GSIntroJigglypuffPikachu
+ dw BlkPacket_9a86, PalPacket_GSIntroStartersTransition
; 8884
-.SGB0c: ; 8884
- ld hl, PalPacket_9b96
- ld de, BlkPacket_9b56
+.SGB_GSTitleScreen: ; 8884
+ ld hl, PalPacket_GSTitleScreen
+ ld de, BlkPacket_GSTitleScreen
ld a, SCGB_DIPLOMA
ld [SGBPredef], a
ret
; 8890
.SGB13: ; 8890
- ld hl, PalPacket_9ba6
- ld de, BlkPacket_9b86
+ ld hl, PalPacket_SCGB_13
+ ld de, BlkPacket_SCGB_13
ret
; 8897
.SGB0f: ; 8897
- ld hl, PalPacket_9c46
+ ld hl, PalPacket_SCGB_0F
ld de, BlkPacket_9a86
ret
; 889e
.SGB11: ; 889e
ld hl, BlkPacket_9a86
- ld de, PlayerLightScreenCount
- ld bc, $10
+ ld de, PlayerLightScreenCount ; ???
+ ld bc, PALPACKET_LENGTH
call CopyBytes
- ld hl, PalPacket_9bb6
+ ld hl, PalPacket_SCGB_11
ld de, BlkPacket_9a86
ret
; 88b1
@@ -366,7 +365,7 @@ endr
.SGB_MapPals: ; 88b1
ld hl, PalPacket_9bd6
ld de, wSGBPals
- ld bc, $10
+ ld bc, PALPACKET_LENGTH
call CopyBytes
call .GetMapPalsIndex
ld hl, wSGBPals + 1
@@ -381,7 +380,7 @@ endr
push bc
ld hl, PalPacket_9ce6
ld de, wSGBPals
- ld bc, $10
+ ld bc, PALPACKET_LENGTH
call CopyBytes
pop bc
ld a, c
@@ -389,15 +388,13 @@ endr
jr z, .partymon
; Egg
ld hl, wSGBPals + 3
- ; RGB 7, 7, 7
- ld [hl], $e7
+ ld [hl], LOW(palred 7 + palgreen 7 + palblue 7)
inc hl
- ld [hl], $1c
+ ld [hl], HIGH(palred 7 + palgreen 7 + palblue 7)
inc hl
- ; RGB 2, 3, 3
- ld [hl], $62
+ ld [hl], LOW(palred 2 + palgreen 3 + palblue 3)
inc hl
- ld [hl], $c
+ ld [hl], HIGH(palred 2 + palgreen 3 + palblue 3)
jr .done
.partymon
@@ -426,13 +423,13 @@ endr
.SGB0d:
.SGB_TrainerCard: ; 891a
- ld hl, PalPacket_9cb6
+ ld hl, PalPacket_Diploma
ld de, BlkPacket_9a86
ret
; 8921
.SGB_UnownPuzzle: ; 8921
- ld hl, PalPacket_9bc6
+ ld hl, PalPacket_UnownPuzzle
ld de, BlkPacket_9a86
ret
; 8928
@@ -440,11 +437,11 @@ endr
.SGB12: ; 8928
ld hl, PalPacket_9bd6
ld de, wSGBPals
- ld bc, $10
+ ld bc, PALPACKET_LENGTH
call CopyBytes
ld hl, BlkPacket_9a86
- ld de, wSGBPals + $10
- ld bc, $10
+ ld de, wSGBPals + PALPACKET_LENGTH
+ ld bc, PALPACKET_LENGTH
call CopyBytes
call .GetMapPalsIndex
ld hl, wSGBPals + 1
@@ -463,14 +460,14 @@ endr
ld a, [wMenuBorderBottomCoord]
ld [hl], a
ld hl, wSGBPals
- ld de, wSGBPals + $10
+ ld de, wSGBPals + PALPACKET_LENGTH
ret
; 8969
.SGB1e: ; 8969
ld hl, PalPacket_9ce6
ld de, wSGBPals
- ld bc, $10
+ ld bc, PALPACKET_LENGTH
call CopyBytes
ld a, [CurPartySpecies]
ld l, a
@@ -500,8 +497,8 @@ endr
ret
; 89a6
-.SGB19: ; 89a6
- ld hl, PalPacket_9cd6
+.SGB_GamefreakLogo: ; 89a6
+ ld hl, PalPacket_GamefreakLogo
ld de, BlkPacket_9a86
ret
; 89ad
@@ -509,7 +506,7 @@ endr
.SGB_PlayerOrMonFrontpicPals: ; 89ad
ld hl, PalPacket_9ce6
ld de, wSGBPals
- ld bc, $10
+ ld bc, PALPACKET_LENGTH
call CopyBytes
ld a, [CurPartySpecies]
ld bc, TempMonDVs
@@ -528,7 +525,7 @@ endr
; 89d9
.SGB_TradeTube: ; 89d9
- ld hl, PalPacket_9cc6
+ ld hl, PalPacket_TradeTube
ld de, BlkPacket_9a86
ret
; 89e0
@@ -536,7 +533,7 @@ endr
.SGB_TrainerOrMonFrontpicPals: ; 89e0
ld hl, PalPacket_9ce6
ld de, wSGBPals
- ld bc, $10
+ ld bc, PALPACKET_LENGTH
call CopyBytes
ld a, [CurPartySpecies]
ld bc, TempMonDVs
@@ -558,7 +555,7 @@ endr
ld a, [TimeOfDayPal]
cp NITE_F
jr c, .morn_day
- ld a, $19
+ ld a, PREDEFPAL_NITE
ret
.morn_day
@@ -576,59 +573,31 @@ endr
ld a, [MapGroup]
ld e, a
ld d, 0
- ld hl, .SGBRoofPalInds
+ ld hl, MapGroupRoofSGBPalInds
add hl, de
ld a, [hl]
ret
.route
- ld a, $00
+ ld a, PREDEFPAL_00
ret
.cave
- ld a, $18
+ ld a, PREDEFPAL_DUNGEONS
ret
.perm5
- ld a, $06
+ ld a, PREDEFPAL_VERMILION
ret
.gate
- ld a, $03
+ ld a, PREDEFPAL_PEWTER
ret
; 8a45
-.SGBRoofPalInds: ; 8a45
- db $00 ; Unused
- db $12 ; Olivine
- db $14 ; Mahogany
- db $18 ; Various Dungeons
- db $11 ; Ecruteak
- db $15 ; Blackthorn
- db $09 ; Cinnabar
- db $04 ; Cerulean
- db $0f ; Azalea
- db $16 ; Lake Of Rage
- db $0e ; Violet
- db $10 ; Goldenrod
- db $06 ; Vermilion
- db $01 ; Palette
- db $03 ; Pewter
- db $06 ; Fast Ship
- db $0b ; Indigo Plateau
- db $08 ; Fuchsia
- db $05 ; Lavender
- db $17 ; Silver Cave Outside
- db $08 ; Pokemon Center 2F
- db $07 ; Celadon
- db $13 ; Cianwood
- db $02 ; Viridian
- db $0c ; New Bark
- db $0a ; Saffron
- db $0d ; Cherrygrove
-; 8a60
-
-.Finish: ; 8a60
+INCLUDE "data/maps/sgb_roof_pal_inds.asm"
+
+_LoadSGBLayout_ReturnFromJumpTable: ; 8a60
push de
call PushSGBPals_
pop hl
diff --git a/engine/slot_machine.asm b/engine/slot_machine.asm
index aea08f16a..cfec11091 100755
--- a/engine/slot_machine.asm
+++ b/engine/slot_machine.asm
@@ -1,11 +1,13 @@
-SLOTS_NOBIAS EQU -1
-SLOTS_NOMATCH EQU -1
-SLOTS_SEVEN EQU $00
+SLOTS_NO_BIAS EQU -1
+SLOTS_NO_MATCH EQU -1
+
+SLOTS_SEVEN EQU $00
SLOTS_POKEBALL EQU $04
-SLOTS_CHERRY EQU $08
-SLOTS_PIKACHU EQU $0c
+SLOTS_CHERRY EQU $08
+SLOTS_PIKACHU EQU $0c
SLOTS_SQUIRTLE EQU $10
-SLOTS_STARYU EQU $14
+SLOTS_STARYU EQU $14
+
REEL_SIZE EQU 15
; Constants for slot_reel offsets (see macros/wram.asm)
@@ -85,7 +87,7 @@ _SlotMachine:
call PlaySFX
call WaitSFX
call ClearBGPalettes
- farcall TrainerRankings_EndSlotsWinStreak
+ farcall StubbedTrainerRankings_EndSlotsWinStreak
ld hl, Options
res NO_TEXT_SCROLL, [hl]
ld hl, rLCDC
@@ -148,7 +150,7 @@ _SlotMachine:
ld [hl], $40
xor a ; SLOTS_INIT
ld [wJumptableIndex], a
- ld a, SLOTS_NOBIAS
+ ld a, SLOTS_NO_BIAS
ld [wSlotBias], a
ld de, MUSIC_GAME_CORNER
call PlayMusic
@@ -183,7 +185,7 @@ SlotsLoop: ; 927af (24:67af)
ld [wCurrSpriteOAMAddr], a
callfar DoNextFrameForFirst16Sprites
call .PrintCoinsAndPayout
- call .DummyFunc
+ call .Stubbed_Function927d3
call DelayFrame
and a
ret
@@ -192,7 +194,7 @@ SlotsLoop: ; 927af (24:67af)
scf
ret
-.DummyFunc: ; 927d3 (24:67d3)
+.Stubbed_Function927d3: ; 927d3 (24:67d3)
; dummied out
ret
ld a, [wReel1ReelAction]
@@ -232,8 +234,8 @@ SlotsLoop: ; 927af (24:67af)
; 92811 (24:6811)
-Function92811: ; 92811
-; unreferenced - debug function?
+Unreferenced_Function92811: ; 92811
+; debug function?
ld a, [wSlotBias]
add 0
daa
@@ -252,23 +254,22 @@ Function92811: ; 92811
; 9282c
-Function9282c: ; 9282c
-; unreferenced
+Unreferenced_Function9282c: ; 9282c
; animate OAM tiles?
ld hl, wcf66
ld a, [hl]
inc [hl]
and $7
ret nz
- ld hl, Sprites + 16 * 4 + 2
- ld c, 40 - 16
+ ld hl, Sprite17TileID
+ ld c, NUM_SPRITE_OAM_STRUCTS - 16
.loop
ld a, [hl]
- xor $20
- ld [hli], a
- inc hl
- inc hl
+ xor %00100000
+ ld [hli], a ; tile id
+rept SPRITEOAMSTRUCT_LENGTH +- 1
inc hl
+endr
dec c
jr nz, .loop
ret
@@ -309,7 +310,7 @@ SlotsAction_Init: ; 9287e (24:687e)
xor a
ld [wFirstTwoReelsMatching], a
ld [wFirstTwoReelsMatchingSevens], a
- ld a, SLOTS_NOMATCH
+ ld a, SLOTS_NO_MATCH
ld [wSlotMatched], a
ret
@@ -417,7 +418,7 @@ SlotsAction_WaitStopReel3: ; 9293a (24:693a)
SlotsAction_FlashIfWin: ; 92955 (24:6955)
ld a, [wSlotMatched]
- cp SLOTS_NOMATCH
+ cp SLOTS_NO_MATCH
jr nz, .GotIt
call SlotsAction_Next
call SlotsAction_Next
@@ -587,7 +588,7 @@ Slots_StopReel2: ; 92a2e (24:6a2e)
ld a, [wSlotBias]
and a
jr z, .skip
- cp SLOTS_NOBIAS
+ cp SLOTS_NO_BIAS
jr nz, .dont_jump
.skip
call .CheckReel1ForASeven
@@ -670,7 +671,7 @@ Slots_InitReelTiles: ; 92a98 (24:6a98)
ld bc, wReel1
ld hl, REEL_OAM_ADDR
add hl, bc
- ld de, Sprites + 16 * 4
+ ld de, Sprite17
ld [hl], e
inc hl
ld [hl], d
@@ -688,7 +689,7 @@ Slots_InitReelTiles: ; 92a98 (24:6a98)
ld bc, wReel2
ld hl, REEL_OAM_ADDR
add hl, bc
- ld de, Sprites + 24 * 4
+ ld de, Sprite25
ld [hl], e
inc hl
ld [hl], d
@@ -706,7 +707,7 @@ Slots_InitReelTiles: ; 92a98 (24:6a98)
ld bc, wReel3
ld hl, REEL_OAM_ADDR
add hl, bc
- ld de, Sprites + 32 * 4
+ ld de, Sprite33
ld [hl], e
inc hl
ld [hl], d
@@ -821,41 +822,40 @@ Slots_UpdateReelPositionAndOAM: ; 92b53 (24:6b53)
ld l, a
.loop
ld a, [wCurrReelYCoord]
- ld [hli], a
+ ld [hli], a ; y
ld a, [wCurrReelXCoord]
- ld [hli], a
+ ld [hli], a ; x
ld a, [de]
- ld [hli], a
+ ld [hli], a ; tile id
srl a
srl a
- set 7, a
- ld [hli], a
+ set OAM_PRIORITY, a
+ ld [hli], a ; attributes
ld a, [wCurrReelYCoord]
- ld [hli], a
+ ld [hli], a ; y
ld a, [wCurrReelXCoord]
- add 1 * 8
- ld [hli], a
+ add 1 * TILE_WIDTH
+ ld [hli], a ; x
ld a, [de]
inc a
inc a
- ld [hli], a
+ ld [hli], a ; tile id
srl a
srl a
- set 7, a
- ld [hli], a
+ set OAM_PRIORITY, a
+ ld [hli], a ; attributes
inc de
ld a, [wCurrReelYCoord]
- sub 2 * 8
+ sub 2 * TILE_WIDTH
ld [wCurrReelYCoord], a
- cp 2 * 8
+ cp 2 * TILE_WIDTH
jr nz, .loop
ret
; 92bbe (24:6bbe)
-; unreferenced
-Function92bbe: ; 92bbe
+Unreferenced_Function92bbe: ; 92bbe
push hl
srl a
srl a
@@ -997,7 +997,7 @@ ReelAction_StopReel1: ; 92c5e
; even if the current bet won't allow lining it up.
ld a, [wSlotBias]
- cp SLOTS_NOBIAS
+ cp SLOTS_NO_BIAS
jr z, .NoBias
ld hl, REEL_MANIP_COUNTER
add hl, bc
@@ -1043,7 +1043,7 @@ ReelAction_StopReel2: ; 92c86
jr z, .NoBias
.nope
ld a, [wSlotBias]
- cp SLOTS_NOBIAS
+ cp SLOTS_NO_BIAS
jr z, .NoBias
ld hl, REEL_MANIP_COUNTER
add hl, bc
@@ -1079,7 +1079,7 @@ ReelAction_StopReel3: ; 92ca9
.NoMatch:
ld a, [wSlotBias]
- cp SLOTS_NOBIAS
+ cp SLOTS_NO_BIAS
jr z, .NoBias
ld hl, REEL_MANIP_COUNTER
add hl, bc
@@ -1532,7 +1532,7 @@ Slots_CheckMatchedFirstTwoReels: ; 92e94
; 92f1d
Slots_CheckMatchedAllThreeReels: ; 92f1d
- ld a, SLOTS_NOMATCH
+ ld a, SLOTS_NO_MATCH
ld [wSlotMatched], a
call Slots_GetCurrentReelState
call Slots_CopyReelState
@@ -1552,7 +1552,7 @@ Slots_CheckMatchedAllThreeReels: ; 92f1d
.return
ld a, [wSlotMatched]
- cp SLOTS_NOMATCH
+ cp SLOTS_NO_MATCH
jr nz, .matched_nontrivial
and a
ret
@@ -1753,7 +1753,7 @@ Slots_InitBias: ; 93002 (24:7002)
db $14, SLOTS_SQUIRTLE ; 5/128
db $28, SLOTS_PIKACHU ; 5/64
db $30, SLOTS_CHERRY ; 1/32
- db $ff, SLOTS_NOBIAS ; everything else
+ db $ff, SLOTS_NO_BIAS ; everything else
; 93031
.Lucky: ; 93031
@@ -1763,7 +1763,7 @@ Slots_InitBias: ; 93002 (24:7002)
db $10, SLOTS_SQUIRTLE ; 1/32
db $1e, SLOTS_PIKACHU ; 7/128
db $50, SLOTS_CHERRY ; 25/128
- db $ff, SLOTS_NOBIAS ; everything else
+ db $ff, SLOTS_NO_BIAS ; everything else
; 9303f
Slots_IlluminateBetLights: ; 9303f (24:703f)
@@ -1868,15 +1868,14 @@ Slots_AskBet: ; 9307c (24:707c)
; 0x930d6
.MenuDataHeader: ; 0x930d6
- db $40 ; flags
- db 10, 14 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 14, 10, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw .MenuData2
db 1 ; default option
; 0x930de
.MenuData2: ; 0x930de
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 3 ; items
db " 3@"
db " 2@"
@@ -1924,7 +1923,7 @@ Slots_AskPlayAgain: ; 930e9 (24:70e9)
Slots_GetPayout: ; 93124 (24:7124)
ld a, [wSlotMatched]
- cp SLOTS_NOMATCH
+ cp SLOTS_NO_MATCH
jr z, .no_win
srl a
ld e, a
@@ -1937,7 +1936,7 @@ Slots_GetPayout: ; 93124 (24:7124)
ld a, [hl]
ld [wPayout], a
ld d, a
- farcall TrainerRankings_AddToSlotsPayouts
+ farcall StubbedTrainerRankings_AddToSlotsPayouts
ret
.PayoutTable:
@@ -1957,11 +1956,11 @@ Slots_GetPayout: ; 93124 (24:7124)
Slots_PayoutText: ; 93158 (24:7158)
ld a, [wSlotMatched]
- cp SLOTS_NOMATCH
+ cp SLOTS_NO_MATCH
jr nz, .MatchedSomething
ld hl, .Text_Darn
call PrintText
- farcall TrainerRankings_EndSlotsWinStreak
+ farcall StubbedTrainerRankings_EndSlotsWinStreak
ret
.MatchedSomething:
@@ -1985,7 +1984,7 @@ Slots_PayoutText: ; 93158 (24:7158)
.return
ld hl, .Text_PrintPayout
call PrintText
- farcall TrainerRankings_AddToSlotsWinStreak
+ farcall StubbedTrainerRankings_AddToSlotsWinStreak
ret
; 93195 (24:7195)
@@ -2047,7 +2046,7 @@ endr
call Random
and %0010100
ret z ; 25% chance to stick with seven symbol bias
- ld a, SLOTS_NOBIAS
+ ld a, SLOTS_NO_BIAS
ld [wSlotBias], a
ret
@@ -2055,7 +2054,7 @@ endr
call Random
and %0011100
ret z ; 12.5% chance to stick with seven symbol bias
- ld a, SLOTS_NOBIAS
+ ld a, SLOTS_NO_BIAS
ld [wSlotBias], a
ret
diff --git a/engine/specials.asm b/engine/specials.asm
index cd2394b96..965e3d58b 100644
--- a/engine/specials.asm
+++ b/engine/specials.asm
@@ -14,185 +14,9 @@ Special:: ; c01b
ret
; c029
-SpecialsPointers:: ; c029
- add_special WarpToSpawnPoint
-
-; Communications
- add_special Special_SetBitsForLinkTradeRequest
- add_special Special_WaitForLinkedFriend
- add_special Special_CheckLinkTimeout
- add_special Special_TryQuickSave
- add_special Special_CheckBothSelectedSameRoom
- add_special Special_FailedLinkToPast
- add_special Special_CloseLink
- add_special WaitForOtherPlayerToExit
- add_special Special_SetBitsForBattleRequest
- add_special Special_SetBitsForTimeCapsuleRequest
- add_special Special_CheckTimeCapsuleCompatibility
- add_special Special_EnterTimeCapsule
- add_special Special_TradeCenter
- add_special Special_Colosseum
- add_special Special_TimeCapsule
- add_special Special_CableClubCheckWhichChris
- add_special Special_CheckMysteryGift
- add_special Special_GetMysteryGiftItem
- add_special Special_UnlockMysteryGift
-
-; Map Events
- add_special BugContestJudging
- add_special CheckPartyFullAfterContest
- add_special ContestDropOffMons
- add_special ContestReturnMons
- add_special Special_GiveParkBalls
- add_special Special_CheckMagikarpLength
- add_special Special_MagikarpHouseSign
- add_special HealParty
- add_special PokemonCenterPC
- add_special Special_KrissHousePC
- add_special Special_DayCareMan
- add_special Special_DayCareLady
- add_special Special_DayCareManOutside
- add_special MoveDeletion
- add_special Special_BankOfMom
- add_special Special_MagnetTrain
- add_special SpecialNameRival
- add_special Special_SetDayOfWeek
- add_special Special_TownMap
- add_special Special_UnownPrinter
- add_special MapRadio
- add_special Special_UnownPuzzle
- add_special Special_SlotMachine
- add_special Special_CardFlip
- add_special Special_DummyNonfunctionalGameCornerGame
- add_special Special_ClearBGPalettesBufferScreen
- add_special FadeOutPalettes
- add_special Special_BattleTowerFade
- add_special Special_FadeBlackQuickly
- add_special FadeInPalettes
- add_special Special_FadeInQuickly
- add_special Special_ReloadSpritesNoPalettes
- add_special ClearBGPalettes
- add_special UpdateTimePals
- add_special ClearTileMap
- add_special UpdateSprites
- add_special ReplaceKrisSprite
- add_special Special_GameCornerPrizeMonCheckDex
- add_special SpecialSeenMon
- add_special WaitSFX
- add_special PlayMapMusic
- add_special RestartMapMusic
- add_special HealMachineAnim
- add_special Special_SurfStartStep
- add_special Special_FindGreaterThanThatLevel
- add_special Special_FindAtLeastThatHappy
- add_special Special_FindThatSpecies
- add_special Special_FindThatSpeciesYourTrainerID
- add_special Special_CheckUnusedTwoDayTimer ; unreferenced
- add_special Special_DayCareMon1
- add_special Special_DayCareMon2
- add_special Special_SelectRandomBugContestContestants
- add_special Special_ActivateFishingSwarm
- add_special ToggleMaptileDecorations
- add_special ToggleDecorationsVisibility
- add_special SpecialGiveShuckle
- add_special SpecialReturnShuckle
- add_special Special_BillsGrandfather
- add_special SpecialCheckPokerus
- add_special Special_DisplayCoinCaseBalance
- add_special Special_DisplayMoneyAndCoinBalance
- add_special PlaceMoneyTopRight
- add_special Special_CheckForLuckyNumberWinners
- add_special Special_CheckLuckyNumberShowFlag
- add_special Special_ResetLuckyNumberShowFlag
- add_special Special_PrintTodaysLuckyNumber
- add_special Special_SelectApricornForKurt
- add_special SpecialNameRater
- add_special Special_DisplayLinkRecord
- add_special GetFirstPokemonHappiness
- add_special CheckFirstMonIsEgg
- add_special RandomUnseenWildMon
- add_special RandomPhoneWildMon
- add_special RandomPhoneMon
- add_special MapCallbackSprites_LoadUsedSpritesGFX
- add_special PlaySlowCry
- add_special SpecialSnorlaxAwake
- add_special Special_YoungerHaircutBrother
- add_special Special_OlderHaircutBrother
- add_special Special_DaisyMassage
- add_special PlayCurMonCry
- add_special ProfOaksPCBoot
- add_special SpecialGameboyCheck
- add_special SpecialTrainerHouse
- add_special PhotoStudio
- add_special InitRoamMons
- add_special Special_FadeOutMusic
- add_special Diploma
- add_special PrintDiploma
-
- ; Crystal
- add_special Function11ac3e
- add_special Function11b444
- add_special Function11b5e8
- add_special Function11b7e5
- add_special Function11b879
- add_special Function11b920
- add_special Function11b93b
- add_special BattleTowerRoomMenu
- add_special Function1700ba
- add_special Function170114
- add_special BattleTowerBattle
- add_special Function1704e1
- add_special EmptySpecial_17021d
- add_special Function_LoadOpponentTrainerAndPokemonsWithOTSprite
- add_special Function11ba38
- add_special SpecialCheckForBattleTowerRules
- add_special Special_GiveOddEgg
- add_special Reset
- add_special Function1011f1
- add_special Function101220
- add_special Function101225
- add_special Function101231
- add_special Special_MoveTutor
- add_special SpecialOmanyteChamber
- add_special Function11c1ab
- add_special BattleTowerAction
- add_special Special_DisplayUnownWords
- add_special Special_Menu_ChallengeExplanationCancel
- add_special Function17d2b6
- add_special Function17d2ce
- add_special BattleTowerMobileError
- add_special AskMobileOrCable
- add_special SpecialHoOhChamber
- add_special Function102142
- add_special Special_CelebiShrineEvent
- add_special CheckCaughtCelebi
- add_special SpecialPokeSeer
- add_special SpecialBuenasPassword
- add_special SpecialBuenaPrize
- add_special SpecialDratini
- add_special Special_SampleKenjiBreakCountdown
- add_special SpecialBeastsCheck
- add_special SpecialMonCheck
- add_special Special_SetPlayerPalette
- add_special ret_170bd2
- add_special Mobile_SelectThreeMons
- add_special Function1037eb
- add_special Function10383c
- add_special TrainerRankings_Healings
- add_special RefreshSprites
- add_special Function1037c2
- add_special Mobile_DummyReturnFalse
- add_special Function103780
- add_special Function10387b
- add_special AskRememberPassword
- add_special LoadMapPalettes
- add_special FindItemInPCOrBag
- add_special Special_InitialSetDSTFlag
- add_special Special_InitialClearDSTFlag
- add_special SpecialNone
-; c224
-
-SpecialNone: ; c224
+INCLUDE "data/special_pointers.asm"
+
+DummySpecial_c224: ; c224
ret
; c225
@@ -219,7 +43,7 @@ Special_GameCornerPrizeMonCheckDex: ; c230
ret
; c252
-SpecialSeenMon: ; c252
+UnusedSpecial_SeenMon: ; c252
ld a, [ScriptVar]
dec a
call SetSeenMon
@@ -265,7 +89,7 @@ FoundNone: ; c298
ret
; c29d
-SpecialNameRival: ; 0xc29d
+Special_NameRival: ; 0xc29d
ld b, $2 ; rival
ld de, RivalName
farcall _NamingScreen
@@ -279,7 +103,7 @@ SpecialNameRival: ; 0xc29d
DefaultRivalName: ; 0xc2b2
db "SILVER@"
-SpecialNameRater: ; c2b9
+Special_NameRater: ; c2b9
farcall NameRater
ret
; c2c0
@@ -363,14 +187,14 @@ Special_GetMysteryGiftItem: ; c309
db "@"
; 0xc34a
-BugContestJudging: ; c34a
+Special_BugContestJudging: ; c34a
farcall _BugContestJudging
ld a, b
ld [ScriptVar], a
ret
; c355
-MapRadio: ; c355
+Special_MapRadio: ; c355
ld a, [ScriptVar]
ld e, a
farcall PlayRadio
@@ -483,7 +307,7 @@ ScriptReturnCarry: ; c3e2
ret
; c3ef
-Special_CheckUnusedTwoDayTimer: ; c3ef
+UnusedSpecial_CheckUnusedTwoDayTimer: ; c3ef
farcall CheckUnusedTwoDayTimer
ld a, [wUnusedTwoDayTimer]
ld [ScriptVar], a
@@ -517,7 +341,7 @@ StoreSwarmMapIndices:: ; c403
; c419
-SpecialCheckPokerus: ; c419
+Special_CheckPokerus: ; c419
; Check if a monster in your party has Pokerus
farcall CheckPokerus
jp ScriptReturnCarry
@@ -536,7 +360,7 @@ Special_CheckLuckyNumberShowFlag: ; c434
jp ScriptReturnCarry
; c43d
-SpecialSnorlaxAwake: ; 0xc43d
+Special_SnorlaxAwake: ; 0xc43d
; Check if the Poké Flute channel is playing, and if the player is standing
; next to Snorlax.
@@ -587,13 +411,13 @@ SpecialSnorlaxAwake: ; 0xc43d
db -1
-PlayCurMonCry: ; c472
+Special_PlayCurMonCry: ; c472
ld a, [CurPartySpecies]
- jp PlayCry
+ jp PlayMonCry
; c478
-SpecialGameboyCheck: ; c478
+Special_GameboyCheck: ; c478
ld a, [hCGB]
and a
jr nz, .cgb
@@ -603,13 +427,13 @@ SpecialGameboyCheck: ; c478
jr nz, .sgb
.gb
- xor a
+ xor a ; GBCHECK_GB
jr .done
.sgb
- ld a, 1
+ ld a, GBCHECK_SGB
jr .done
.cgb
- ld a, 2
+ ld a, GBCHECK_CGB
.done
ld [ScriptVar], a
ret
@@ -625,21 +449,21 @@ Special_FadeOutMusic: ; c48f
ret
; c49f
-Diploma: ; c49f
+Special_Diploma: ; c49f
call FadeToMenu
farcall _Diploma
call ExitAllMenus
ret
; c4ac
-PrintDiploma: ; c4ac
+Special_PrintDiploma: ; c4ac
call FadeToMenu
farcall _PrintDiploma
call ExitAllMenus
ret
; c4b9
-SpecialTrainerHouse: ; 0xc4b9
+Special_TrainerHouse: ; 0xc4b9
ld a, BANK(sMysteryGiftTrainerHouseFlag)
call GetSRAMBank
ld a, [sMysteryGiftTrainerHouseFlag]
diff --git a/engine/sprite_anims.asm b/engine/sprite_anims.asm
index 9fb78a5d7..9353b71c9 100755
--- a/engine/sprite_anims.asm
+++ b/engine/sprite_anims.asm
@@ -27,7 +27,7 @@ DoAnimFrame: ; 8d24b
dw .SlotsChansey
dw .SlotsChanseyEgg
dw .MailCursor
- dw .ForUnusedCursor
+ dw .UnusedCursor
dw .DummyGameCursor
dw .PokegearArrow
dw .TradePokeBall
@@ -39,11 +39,11 @@ DoAnimFrame: ; 8d24b
dw .FlyFrom
dw .FlyLeaf
dw .FlyTo
- dw .sprite_anim_seq_19
- dw .sprite_anim_seq_1A
- dw .sprite_anim_seq_1B
- dw .sprite_anim_seq_1C
- dw .IntroSuicune
+ dw .GSIntroHoOh
+ dw .EZChatCursor
+ dw .MobileTradeSentPulse
+ dw .MobileTradeOTPulse
+ dw .IntroSuicune
dw .IntroPichuWooper
dw .Celebi
dw .IntroUnown
@@ -202,7 +202,7 @@ DoAnimFrame: ; 8d24b
ret
; 8d35a
-.sprite_anim_seq_19 ; 8d35a (23:535a)
+.GSIntroHoOh ; 8d35a (23:535a)
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
ld a, [hl]
@@ -403,7 +403,7 @@ DoAnimFrame: ; 8d24b
ld [hl], a
ret
-.ForUnusedCursor ; 8d46e (23:546e)
+.UnusedCursor ; 8d46e (23:546e)
callfar ret_e00ed
ret
@@ -430,7 +430,7 @@ DoAnimFrame: ; 8d24b
; 8d493
.TradePokeBall_zero ; 8d493
- ld a, SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0
+ ld a, SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_WOBBLE
call _ReinitSpriteAnimFrame
ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
@@ -748,11 +748,11 @@ DoAnimFrame: ; 8d24b
ld [hl], a
ret
-.sprite_anim_seq_1B ; 8d630 (23:5630)
+.MobileTradeSentPulse ; 8d630 (23:5630)
farcall Function108bc7
ret
-.sprite_anim_seq_1C ; 8d637 (23:5637)
+.MobileTradeOTPulse ; 8d637 (23:5637)
farcall Function108be0
ret
@@ -845,7 +845,7 @@ DoAnimFrame: ; 8d24b
ld [hl], a
ret
-.sprite_anim_seq_1A ; 8d6b7 (23:56b7)
+.EZChatCursor ; 8d6b7 (23:56b7)
farcall AnimateEZChatCursor
ret
diff --git a/engine/sprites.asm b/engine/sprites.asm
index e1aad4832..7928fe1f0 100755
--- a/engine/sprites.asm
+++ b/engine/sprites.asm
@@ -36,7 +36,7 @@ PlaySpriteAnimations: ; 8cf69
DoNextFrameForAllSprites: ; 8cf7a
ld hl, wSpriteAnimationStructs
- ld e, 10 ; There are 10 structs here.
+ ld e, NUM_SPRITE_ANIM_STRUCTS
.loop
ld a, [hl]
@@ -53,7 +53,7 @@ DoNextFrameForAllSprites: ; 8cf7a
jr c, .done
.next
- ld bc, $10
+ ld bc, SPRITEANIMSTRUCT_LENGTH
add hl, bc
dec e
jr nz, .loop
@@ -76,7 +76,7 @@ DoNextFrameForAllSprites: ; 8cf7a
DoNextFrameForFirst16Sprites: ; 8cfa8 (23:4fa8)
ld hl, wSpriteAnimationStructs
- ld e, 10
+ ld e, NUM_SPRITE_ANIM_STRUCTS
.loop
ld a, [hl]
@@ -93,18 +93,18 @@ DoNextFrameForFirst16Sprites: ; 8cfa8 (23:4fa8)
jr c, .done
.next
- ld bc, $10
+ ld bc, SPRITEANIMSTRUCT_LENGTH
add hl, bc
dec e
jr nz, .loop
ld a, [wCurrSpriteOAMAddr]
ld l, a
- ld h, HIGH(Sprites + 16 * 4)
+ ld h, HIGH(Sprite17)
.loop2 ; Clear (Sprites + [wCurrSpriteOAMAddr] --> Sprites + $40)
ld a, l
- cp LOW(Sprites + 16 * 4)
+ cp LOW(Sprite17)
jr nc, .done
xor a
ld [hli], a
@@ -119,12 +119,12 @@ InitSpriteAnimStruct:: ; 8cfd6
push de
push af
ld hl, wSpriteAnimationStructs
- ld e, 10
+ ld e, NUM_SPRITE_ANIM_STRUCTS
.loop
ld a, [hl]
and a
jr z, .found
- ld bc, $10
+ ld bc, SPRITEANIMSTRUCT_LENGTH
add hl, bc
dec e
jr nz, .loop
@@ -222,8 +222,8 @@ DeinitializeSprite: ; 8d036
DeinitializeAllSprites: ; 8d03d (23:503d)
; Clear the index field of every struct in the wSpriteAnimationStructs array.
ld hl, wSpriteAnimationStructs
- ld bc, $10
- ld e, 10
+ ld bc, SPRITEANIMSTRUCT_LENGTH
+ ld e, NUM_SPRITE_ANIM_STRUCTS
xor a
.loop
ld [hl], a
@@ -391,7 +391,7 @@ GetSpriteAnimVTile: ; 8d109
push bc
ld hl, wSpriteAnimDict
ld b, a
- ld c, 10
+ ld c, NUM_SPRITE_ANIM_STRUCTS
.loop
ld a, [hli]
cp b
@@ -527,8 +527,7 @@ GetFrameOAMPointer: ; 8d1a2
ret
; 8d1ac
-BrokenGetStdGraphics: ; 8d1ac
-; dummied out
+Unreferenced_BrokenGetStdGraphics: ; 8d1ac
push hl
ld l, a
ld h, 0
@@ -576,21 +575,22 @@ BrokenStdGFXPointers: ; Broken 2bpp pointers
Sprites_Cosine: ; 8e72a
- add $10
+; a = d * cos(a * pi/32)
+ add %010000
Sprites_Sine: ; 8e72c
-; floor(d * sin(a * pi/32))
- and $3f
- cp $20
+; a = d * sin(a * pi/32)
+ and %111111
+ cp %100000
jr nc, .negative
call .ApplySineWave
ld a, h
ret
.negative
- and $1f
+ and %011111
call .ApplySineWave
ld a, h
- xor $ff ; cpl
+ xor $ff
inc a
ret
; 8e741
@@ -610,7 +610,6 @@ Sprites_Sine: ; 8e72c
srl a
jr nc, .even
add hl, de
-
.even
sla e
rl d
@@ -650,8 +649,8 @@ AnimateEndOfExpBar: ; 8e79d
; 8e7c6
.AnimateFrame: ; 8e7c6
- ld hl, Sprites
- ld c, $8
+ ld hl, Sprite01
+ ld c, 8 ; number of animated circles
.anim_loop
ld a, c
and a
@@ -669,8 +668,8 @@ AnimateEndOfExpBar: ; 8e79d
call Sprites_Sine
pop hl
pop de
- add 13 * 8
- ld [hli], a
+ add 13 * TILE_WIDTH
+ ld [hli], a ; y
pop af
push de
@@ -678,13 +677,13 @@ AnimateEndOfExpBar: ; 8e79d
call Sprites_Cosine
pop hl
pop de
- add 10 * 8 + 4
- ld [hli], a
+ add 10 * TILE_WIDTH + 4
+ ld [hli], a ; x
ld a, $0
- ld [hli], a
+ ld [hli], a ; tile id
ld a, PAL_BATTLE_OB_BLUE
- ld [hli], a
+ ld [hli], a ; attributes
jr .anim_loop
; 8e7f4
diff --git a/engine/start_menu.asm b/engine/start_menu.asm
index 913bf3780..c0c4a38a3 100755
--- a/engine/start_menu.asm
+++ b/engine/start_menu.asm
@@ -152,21 +152,19 @@ StartMenu:: ; 125cd
.MenuDataHeader:
- db $40 ; tile backup
- db 0, 10 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 10, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw .MenuData
db 1 ; default selection
.ContestMenuDataHeader:
- db $40 ; tile backup
- db 2, 10 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 10, 2, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw .MenuData
db 1 ; default selection
.MenuData:
- db %10101000 ; x padding, wrap around, start can close
+ db STATICMENU_CURSOR | STATICMENU_WRAP | STATICMENU_ENABLE_START ; flags
dn 0, 0 ; rows, columns
dw MenuItemsList
dw .MenuString
@@ -190,13 +188,13 @@ StartMenu:: ; 125cd
.SaveString: db "SAVE@"
.OptionString: db "OPTION@"
.ExitString: db "EXIT@"
-.PokegearString: db $24, "GEAR@"
+.PokegearString: db "<POKE>GEAR@"
.QuitString: db "QUIT@"
.PokedexDesc: db "#MON"
next "database@"
-.PartyDesc: db "Party ", $4a
+.PartyDesc: db "Party <PKMN>"
next "status@"
.PackDesc: db "Contains"
@@ -503,7 +501,7 @@ StartMenu_Pack: ; 1295b
call FadeToMenu
farcall Pack
- ld a, [wcf66]
+ ld a, [wPackUsedItem]
and a
jr nz, .used_item
call CloseSubmenu
@@ -800,7 +798,7 @@ GiveTakePartyMonItem: ; 12b60
call GetCurNick
ld hl, StringBuffer1
ld de, wMonOrItemNameBuffer
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
ld a, [wMenuCursorY]
cp 1
@@ -976,14 +974,13 @@ TakePartyItem: ; 12c60
GiveTakeItemMenuData: ; 12c9b
- db %01010000
- db 12, 12 ; start coords
- db 17, 19 ; end coords
+ db MENU_SPRITE_ANIMS | MENU_BACKUP_TILES ; flags
+ menu_coords 12, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw .Items
db 1 ; default option
.Items:
- db %10000000 ; x padding
+ db STATICMENU_CURSOR ; flags
db 2 ; # items
db "GIVE@"
db "TAKE@"
@@ -1165,15 +1162,14 @@ MonMailAction: ; 12d45
.MenuDataHeader:
- db $40 ; flags
- db 10, 12 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 12, 10, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw .MenuData2
db 1 ; default option
; 0x12dd1
.MenuData2:
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 3 ; items
db "READ@"
db "TAKE@"
@@ -1255,7 +1251,7 @@ MonMenu_Fly: ; 12e30
jr z, .Fail
cp $0
jr z, .Error
- farcall TrainerRankings_Fly
+ farcall StubbedTrainerRankings_Fly
ld b, $4
ld a, $2
ret
@@ -1268,7 +1264,7 @@ MonMenu_Fly: ; 12e30
ld a, $0
ret
-.Unused:
+.Unreferenced:
ld a, $1
ret
; 12e55
diff --git a/engine/stats_screen.asm b/engine/stats_screen.asm
index 9f632f388..a65cecc8a 100755
--- a/engine/stats_screen.asm
+++ b/engine/stats_screen.asm
@@ -1,3 +1,9 @@
+const_value set 1
+ const PINK_PAGE ; 1
+ const GREEN_PAGE ; 2
+ const BLUE_PAGE ; 3
+NUM_STAT_PAGES EQU const_value +- 1
+
BattleStatsScreenInit: ; 4dc7b (13:5c7b)
ld a, [wLinkMode]
cp LINK_MOBILE
@@ -58,12 +64,12 @@ StatsScreenMain: ; 0x4dcd2
; stupid interns
ld [wcf64], a
ld a, [wcf64]
- and $fc
- or $1
+ and %11111100
+ or 1
ld [wcf64], a
.loop ; 4dce3
ld a, [wJumptableIndex]
- and $7f
+ and $ff ^ (1 << 7)
ld hl, StatsScreenPointerTable
rst JumpTable
call StatsScreen_WaitAnim ; check for keys?
@@ -79,13 +85,13 @@ StatsScreenMobile: ; 4dcf7
; stupid interns
ld [wcf64], a
ld a, [wcf64]
- and $fc
- or $1
+ and %11111100
+ or 1
ld [wcf64], a
.loop
farcall Mobile_SetOverworldDelay
ld a, [wJumptableIndex]
- and $7f
+ and $ff ^ (1 << 7)
ld hl, StatsScreenPointerTable
rst JumpTable
call StatsScreen_WaitAnim
@@ -277,7 +283,7 @@ StatsScreen_GetJoypad: ; 4de2c (13:5e2c)
StatsScreen_JoypadAction: ; 4de54 (13:5e54)
push af
ld a, [wcf64]
- and $3
+ maskbits NUM_STAT_PAGES
ld c, a
pop af
bit B_BUTTON_F, a
@@ -335,20 +341,20 @@ StatsScreen_JoypadAction: ; 4de54 (13:5e54)
.a_button
ld a, c
- cp $3
+ cp BLUE_PAGE ; last page
jr z, .b_button
.d_right
inc c
- ld a, $3
+ ld a, BLUE_PAGE ; last page
cp c
jr nc, .set_page
- ld c, $1
+ ld c, PINK_PAGE ; first page
jr .set_page
.d_left
dec c
jr nz, .set_page
- ld c, $3
+ ld c, BLUE_PAGE ; last page
jr .set_page
.done
@@ -447,13 +453,12 @@ StatsScreen_InitUpperHalf: ; 4deea (13:5eea)
dw wBufferMonNick
; 4df7f
-Function4df7f: ; 4df7f
-; unreferenced
+Unreferenced_Function4df7f: ; 4df7f
hlcoord 7, 0
ld bc, SCREEN_WIDTH
ld d, SCREEN_HEIGHT
.loop
- ld a, "|"
+ ld a, $31 ; vertical divider
ld [hl], a
add hl, bc
dec d
@@ -464,7 +469,7 @@ Function4df7f: ; 4df7f
StatsScreen_PlaceHorizontalDivider: ; 4df8f (13:5f8f)
hlcoord 0, 7
ld b, SCREEN_WIDTH
- ld a, "_"
+ ld a, $62 ; horizontal divider (empty HP/exp bar)
.loop
ld [hli], a
dec b
@@ -483,7 +488,7 @@ StatsScreen_PlaceShinyIcon: ; 4dfa6 (13:5fa6)
farcall CheckShininess
ret nc
hlcoord 19, 0
- ld [hl], "<SHINY>"
+ ld [hl], "⁂"
ret
StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
@@ -507,7 +512,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
.ClearBox: ; 4dfda (13:5fda)
ld a, [wcf64]
- and $3
+ maskbits NUM_STAT_PAGES
ld c, a
call StatsScreen_LoadPageIndicators
hlcoord 0, 8
@@ -517,7 +522,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
.LoadPals: ; 4dfed (13:5fed)
ld a, [wcf64]
- and $3
+ maskbits NUM_STAT_PAGES
ld c, a
farcall LoadStatsScreenPals
call DelayFrame
@@ -527,13 +532,14 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
.PageTilemap: ; 4e002 (13:6002)
ld a, [wcf64]
- and $3
+ maskbits NUM_STAT_PAGES
dec a
ld hl, .Jumptable
rst JumpTable
ret
.Jumptable: ; 4e00d (13:600d)
+; entries correspond to *_PAGE constants
dw .PinkPage
dw .GreenPage
dw .BluePage
@@ -543,7 +549,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
ld b, $0
predef DrawPlayerHP
hlcoord 8, 9
- ld [hl], $41
+ ld [hl], $41 ; right HP/exp bar end cap
ld de, .Status_Type
hlcoord 0, 12
call PlaceString
@@ -555,7 +561,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
and $f0
jr z, .NotImmuneToPkrs
hlcoord 8, 8
- ld [hl], "."
+ ld [hl], "." ; Pokérus immunity dot
.NotImmuneToPkrs:
ld a, [MonType]
cp BOXMON
@@ -581,7 +587,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
hlcoord 9, 8
ld de, SCREEN_WIDTH
ld b, 10
- ld a, "|"
+ ld a, $31 ; vertical divider
.vertical_divider
ld [hl], a
add hl, de
@@ -613,9 +619,9 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
ld de, TempMonExp + 2
predef FillInExpBar
hlcoord 10, 16
- ld [hl], $40
+ ld [hl], $40 ; left exp bar end cap
hlcoord 19, 16
- ld [hl], $41
+ ld [hl], $41 ; right exp bar end cap
ret
.PrintNextLevel: ; 4e0d3 (13:60d3)
@@ -741,7 +747,7 @@ StatsScreen_LoadGFX: ; 4dfb6 (13:5fb6)
hlcoord 10, 8
ld de, SCREEN_WIDTH
ld b, 10
- ld a, "|"
+ ld a, $31 ; vertical divider
.BluePageVerticalDivider:
ld [hl], a
add hl, de
@@ -823,7 +829,7 @@ StatsScreen_PlaceFrontpic: ; 4e226 (13:6226)
call SetPalettes
call .AnimateMon
ld a, [CurPartySpecies]
- call PlayCry2
+ call PlayMonCry2
ret
.AnimateMon: ; 4e253 (13:6253)
@@ -864,7 +870,7 @@ StatsScreen_PlaceFrontpic: ; 4e226 (13:6226)
ret c
call StatsScreen_LoadTextBoxSpaceGFX
ld de, vTiles2 tile $00
- predef GetAnimatedFrontpicPredef
+ predef GetAnimatedFrontpic
hlcoord 0, 0
ld d, $0
ld e, ANIM_MON_MENU
@@ -951,7 +957,7 @@ StatsScreen_LoadTextBoxSpaceGFX: ; 4e307 (13:6307)
ld [rVBK], a
ld de, TextBoxSpaceGFX
lb bc, BANK(TextBoxSpaceGFX), 1
- ld hl, vTiles2 tile $7f
+ ld hl, vTiles2 tile " "
call Get2bpp
pop af
ld [rVBK], a
@@ -962,9 +968,8 @@ StatsScreen_LoadTextBoxSpaceGFX: ; 4e307 (13:6307)
ret
; 4e32a (13:632a)
-; unreferenced
-Unknown_4e32a: ; 4e32a
-; A blank tile?
+Unreferenced_4e32a: ; 4e32a
+; A blank space tile?
ds 16
; 4e33a
@@ -1069,7 +1074,7 @@ StatsScreen_AnimateEgg: ; 4e497 (13:6497)
ld [wBoxAlignment], a
call StatsScreen_LoadTextBoxSpaceGFX
ld de, vTiles2 tile $00
- predef GetAnimatedFrontpicPredef
+ predef GetAnimatedFrontpic
pop de
hlcoord 0, 0
ld d, $0
@@ -1080,22 +1085,22 @@ StatsScreen_AnimateEgg: ; 4e497 (13:6497)
StatsScreen_LoadPageIndicators: ; 4e4cd (13:64cd)
hlcoord 13, 5
- ld a, $36
+ ld a, $36 ; first of 4 small square tiles
call .load_square
hlcoord 15, 5
- ld a, $36
+ ld a, $36 ; " " " "
call .load_square
hlcoord 17, 5
- ld a, $36
+ ld a, $36 ; " " " "
call .load_square
ld a, c
- cp $2
- ld a, $3a
- hlcoord 13, 5
+ cp GREEN_PAGE
+ ld a, $3a ; first of 4 large square tiles
+ hlcoord 13, 5 ; PINK_PAGE (< GREEN_PAGE)
jr c, .load_square
- hlcoord 15, 5
+ hlcoord 15, 5 ; GREEN_PAGE (= GREEN_PAGE)
jr z, .load_square
- hlcoord 17, 5
+ hlcoord 17, 5 ; BLUE_PAGE (> GREEN_PAGE)
.load_square ; 4e4f7 (13:64f7)
push bc
ld [hli], a
@@ -1112,8 +1117,8 @@ StatsScreen_LoadPageIndicators: ; 4e4cd (13:64cd)
CopyNickname: ; 4e505 (13:6505)
ld de, StringBuffer1
- ld bc, PKMN_NAME_LENGTH
- jr .okay ; uuterly pointless
+ ld bc, MON_NAME_LENGTH
+ jr .okay ; utterly pointless
.okay
ld a, [MonType]
cp BOXMON
@@ -1157,7 +1162,7 @@ CheckFaintedFrzSlp: ; 4e53f
ld hl, MON_STATUS
add hl, bc
ld a, [hl]
- and (1 << FRZ) | SLP
+ and 1 << FRZ | SLP
jr nz, .fainted_frz_slp
and a
ret
diff --git a/tilesets/animations.asm b/engine/tileset_anims.asm
index d500a24b8..5113ae9a3 100644
--- a/tilesets/animations.asm
+++ b/engine/tileset_anims.asm
@@ -35,7 +35,7 @@ _AnimateTileset:: ; fc000
; fc01b
Tileset0Anim: ; 0xfc01b
-TilesetJohto2Anim: ; 0xfc01b
+TilesetJohtoModernAnim: ; 0xfc01b
TilesetKantoAnim: ; 0xfc01b
dw vTiles2 tile $14, AnimateWaterTile
dw NULL, WaitTileAnimation
@@ -64,7 +64,7 @@ TilesetParkAnim: ; 0xfc047
dw NULL, DoneTileAnimation
; 0xfc073
-TilesetIlexForestAnim: ; 0xfc073
+TilesetForestAnim: ; 0xfc073
dw NULL, ForestTreeLeftAnimation
dw NULL, ForestTreeRightAnimation
dw NULL, WaitTileAnimation
@@ -79,7 +79,7 @@ TilesetIlexForestAnim: ; 0xfc073
dw NULL, DoneTileAnimation
; 0xfc0a3
-TilesetJohto1Anim: ; 0xfc0a3
+TilesetJohtoAnim: ; 0xfc0a3
dw vTiles2 tile $14, AnimateWaterTile
dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation
@@ -95,7 +95,7 @@ TilesetJohto1Anim: ; 0xfc0a3
dw NULL, DoneTileAnimation
; 0xfc0d7
-TilesetAnimfc0d7: ; 0xfc0d7
+UnusedTilesetAnim_fc0d7: ; 0xfc0d7
dw vTiles2 tile $03, WriteTileToBuffer
dw wTileAnimBuffer, ScrollTileRightLeft
dw vTiles2 tile $03, WriteTileFromBuffer
@@ -109,7 +109,7 @@ TilesetAnimfc0d7: ; 0xfc0d7
dw NULL, DoneTileAnimation
; 0xfc103
-TilesetAnimfc103: ; 0xfc103
+UnusedTilesetAnim_fc103: ; 0xfc103
dw vTiles2 tile $14, WriteTileToBuffer
dw wTileAnimBuffer, ScrollTileRightLeft
dw vTiles2 tile $14, WriteTileFromBuffer
@@ -138,18 +138,18 @@ TilesetPortAnim: ; 0xfc12f
dw NULL, DoneTileAnimation
; 0xfc15f
-TilesetGym1Anim: ; 0xfc15f
- dw NULL, SafariFountainAnim2
+TilesetEliteFourRoomAnim: ; 0xfc15f
+ dw NULL, LavaBubbleAnim2
dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation
- dw NULL, SafariFountainAnim1
+ dw NULL, LavaBubbleAnim1
dw NULL, WaitTileAnimation
dw NULL, StandingTileFrame8
dw NULL, DoneTileAnimation
; 0xfc17f
-TilesetAnimfc17f: ; 0xfc17f
+UnusedTilesetAnim_fc17f: ; 0xfc17f
dw vTiles2 tile $53, WriteTileToBuffer
dw wTileAnimBuffer, ScrollTileDown
dw wTileAnimBuffer, ScrollTileDown
@@ -164,7 +164,7 @@ TilesetAnimfc17f: ; 0xfc17f
dw NULL, DoneTileAnimation
; 0xfc1af
-TilesetAnimfc1af: ; 0xfc1af
+UnusedTilesetAnim_fc1af: ; 0xfc1af
dw vTiles2 tile $54, WriteTileToBuffer
dw wTileAnimBuffer, ScrollTileDown
dw wTileAnimBuffer, ScrollTileDown
@@ -182,7 +182,7 @@ TilesetAnimfc1af: ; 0xfc1af
; 0xfc1e7
TilesetCaveAnim: ; 0xfc1e7
-TilesetWhirlIslandsAnim: ; 0xfc1e7
+TilesetDarkCaveAnim: ; 0xfc1e7
dw vTiles2 tile $14, WriteTileToBuffer
dw NULL, FlickeringCaveEntrancePalette
dw wTileAnimBuffer, ScrollTileRightLeft
@@ -226,17 +226,17 @@ TilesetIcePathAnim: ; 0xfc233
dw NULL, DoneTileAnimation
; 0xfc27f
-TilesetSproutTowerAnim: ; 0xfc27f
- dw SproutPillarTilePointer9, AnimateSproutPillarTile
- dw SproutPillarTilePointer10, AnimateSproutPillarTile
- dw SproutPillarTilePointer7, AnimateSproutPillarTile
- dw SproutPillarTilePointer8, AnimateSproutPillarTile
- dw SproutPillarTilePointer5, AnimateSproutPillarTile
- dw SproutPillarTilePointer6, AnimateSproutPillarTile
- dw SproutPillarTilePointer3, AnimateSproutPillarTile
- dw SproutPillarTilePointer4, AnimateSproutPillarTile
- dw SproutPillarTilePointer1, AnimateSproutPillarTile
- dw SproutPillarTilePointer2, AnimateSproutPillarTile
+TilesetTowerAnim: ; 0xfc27f
+ dw TowerPillarTilePointer9, AnimateTowerPillarTile
+ dw TowerPillarTilePointer10, AnimateTowerPillarTile
+ dw TowerPillarTilePointer7, AnimateTowerPillarTile
+ dw TowerPillarTilePointer8, AnimateTowerPillarTile
+ dw TowerPillarTilePointer5, AnimateTowerPillarTile
+ dw TowerPillarTilePointer6, AnimateTowerPillarTile
+ dw TowerPillarTilePointer3, AnimateTowerPillarTile
+ dw TowerPillarTilePointer4, AnimateTowerPillarTile
+ dw TowerPillarTilePointer1, AnimateTowerPillarTile
+ dw TowerPillarTilePointer2, AnimateTowerPillarTile
dw NULL, StandingTileFrame
dw NULL, WaitTileAnimation
dw NULL, WaitTileAnimation
@@ -245,7 +245,7 @@ TilesetSproutTowerAnim: ; 0xfc27f
dw NULL, DoneTileAnimation
; 0xfc2bf
-TilesetAnimfc2bf: ; 0xfc2bf
+UnusedTilesetAnim_fc2bf: ; 0xfc2bf
dw vTiles2 tile $4f, WriteTileToBuffer
dw wTileAnimBuffer, ScrollTileRightLeft
dw vTiles2 tile $4f, WriteTileFromBuffer
@@ -259,20 +259,20 @@ TilesetAnimfc2bf: ; 0xfc2bf
; 0xfc2e7
TilesetBattleTowerOutsideAnim: ; 0xfc2e7
-TilesetHouse1Anim: ; 0xfc2e7
+TilesetHouseAnim: ; 0xfc2e7
TilesetPlayersHouseAnim: ; 0xfc2e7
TilesetPokecenterAnim: ; 0xfc2e7
TilesetGateAnim: ; 0xfc2e7
TilesetLabAnim: ; 0xfc2e7
-TilesetPowerPlantAnim: ; 0xfc2e7
+TilesetFacilityAnim: ; 0xfc2e7
TilesetMartAnim: ; 0xfc2e7
-TilesetCeladonMansionAnim: ; 0xfc2e7
+TilesetMansionAnim: ; 0xfc2e7
TilesetGameCornerAnim: ; 0xfc2e7
-TilesetKurtsHouseAnim: ; 0xfc2e7
+TilesetTraditionalHouseAnim: ; 0xfc2e7
TilesetTrainStationAnim: ; 0xfc2e7
-TilesetOlivineGymAnim: ; 0xfc2e7
+TilesetChampionsRoomAnim: ; 0xfc2e7
TilesetLighthouseAnim: ; 0xfc2e7
-TilesetPlayersHouse2FAnim: ; 0xfc2e7
+TilesetPlayersRoomAnim: ; 0xfc2e7
TilesetPokeComCenterAnim: ; 0xfc2e7
TilesetBattleTowerAnim: ; 0xfc2e7
TilesetRuinsOfAlphAnim: ; 0xfc2e7
@@ -303,7 +303,7 @@ WaitTileAnimation: ; fc2fe
StandingTileFrame8: ; fc2ff
ld a, [TileAnimationTimer]
inc a
- and 7
+ and %111
ld [TileAnimationTimer], a
ret
; fc309
@@ -313,9 +313,9 @@ ScrollTileRightLeft: ; fc309
; Scroll right for 4 ticks, then left for 4 ticks.
ld a, [TileAnimationTimer]
inc a
- and 7
+ and %111
ld [TileAnimationTimer], a
- and 4
+ and %100
jr nz, ScrollTileLeft
jr ScrollTileRight
; fc318
@@ -324,9 +324,9 @@ ScrollTileUpDown: ; fc318
; Scroll up for 4 ticks, then down for 4 ticks.
ld a, [TileAnimationTimer]
inc a
- and 7
+ and %111
ld [TileAnimationTimer], a
- and 4
+ and %100
jr nz, ScrollTileDown
jr ScrollTileUp
; fc327
@@ -336,11 +336,11 @@ ScrollTileLeft: ; fc327
ld l, e
ld c, 4
.loop
- rept 4
+rept 4
ld a, [hl]
rlca
ld [hli], a
- endr
+endr
dec c
jr nz, .loop
ret
@@ -351,11 +351,11 @@ ScrollTileRight: ; fc33b
ld l, e
ld c, 4
.loop
- rept 4
+rept 4
ld a, [hl]
rrca
ld [hli], a
- endr
+endr
dec c
jr nz, .loop
ret
@@ -367,9 +367,9 @@ ScrollTileUp: ; fc34f
ld d, [hl]
inc hl
ld e, [hl]
- ld bc, $e
+ ld bc, TILE_WIDTH * 2 - 2
add hl, bc
- ld a, 4
+ ld a, TILE_WIDTH / 2
.loop
ld c, [hl]
ld [hl], e
@@ -391,14 +391,14 @@ ScrollTileUp: ; fc34f
ScrollTileDown: ; fc36a
ld h, d
ld l, e
- ld de, $e
+ ld de, TILE_WIDTH * 2 - 2
push hl
add hl, de
ld d, [hl]
inc hl
ld e, [hl]
pop hl
- ld a, 4
+ ld a, TILE_WIDTH / 2
.loop
ld b, [hl]
ld [hl], d
@@ -424,7 +424,7 @@ AnimateFountain: ; fc387
ld c, l
ld hl, .frames
ld a, [TileAnimationTimer]
- and 7
+ and %111
add a
add l
ld l, a
@@ -468,7 +468,7 @@ AnimateWaterTile: ; fc402
ld a, [TileAnimationTimer]
; 4 tile graphics, updated every other frame.
- and 3 << 1
+ and %110
; 2 x 8 = 16 bytes per tile
add a
@@ -676,7 +676,7 @@ AnimateFlowerTile: ; fc56d
; Alternate tile graphic every other frame
ld a, [TileAnimationTimer]
- and 1 << 1
+ and %10
ld e, a
; CGB has different color mappings for flowers.
@@ -684,14 +684,14 @@ AnimateFlowerTile: ; fc56d
and 1
add e
- swap a ; << 4 (16 bytes)
+ swap a
ld e, a
ld d, 0
ld hl, FlowerTileFrames
add hl, de
ld sp, hl
- ld hl, vTiles2 + $30 ; tile 4
+ ld hl, vTiles2 tile $03
jp WriteTile
; fc58c
@@ -704,21 +704,21 @@ FlowerTileFrames: ; fc58c
; fc5cc
-SafariFountainAnim1: ; fc5cc
+LavaBubbleAnim1: ; fc5cc
; Splash in the bottom-right corner of the fountain.
ld hl, sp+0
ld b, h
ld c, l
ld a, [TileAnimationTimer]
- and 6
+ and %110
srl a
inc a
inc a
- and 3
+ and %011
swap a
ld e, a
ld d, 0
- ld hl, SafariFountainFrames
+ ld hl, LavaBubbleFrames
add hl, de
ld sp, hl
ld hl, vTiles2 tile $5b
@@ -726,19 +726,19 @@ SafariFountainAnim1: ; fc5cc
; fc5eb
-SafariFountainAnim2: ; fc5eb
+LavaBubbleAnim2: ; fc5eb
; Splash in the top-left corner of the fountain.
ld hl, sp+0
ld b, h
ld c, l
ld a, [TileAnimationTimer]
- and 6
+ and %110
add a
add a
add a
ld e, a
ld d, 0
- ld hl, SafariFountainFrames
+ ld hl, LavaBubbleFrames
add hl, de
ld sp, hl
ld hl, vTiles2 tile $38
@@ -746,15 +746,15 @@ SafariFountainAnim2: ; fc5eb
; fc605
-SafariFountainFrames: ; fc605
- INCBIN "gfx/tilesets/safari/1.2bpp"
- INCBIN "gfx/tilesets/safari/2.2bpp"
- INCBIN "gfx/tilesets/safari/3.2bpp"
- INCBIN "gfx/tilesets/safari/4.2bpp"
+LavaBubbleFrames: ; fc605
+ INCBIN "gfx/tilesets/lava/1.2bpp"
+ INCBIN "gfx/tilesets/lava/2.2bpp"
+ INCBIN "gfx/tilesets/lava/3.2bpp"
+ INCBIN "gfx/tilesets/lava/4.2bpp"
; fc645
-AnimateSproutPillarTile: ; fc645
+AnimateTowerPillarTile: ; fc645
; Read from struct at de:
; Destination (VRAM)
; Address of the first tile in the frame array
@@ -764,7 +764,7 @@ AnimateSproutPillarTile: ; fc645
ld c, l
ld a, [TileAnimationTimer]
- and 7
+ and %111
; Get frame index a
ld hl, .frames
@@ -948,7 +948,7 @@ TileAnimationPalette: ; fc6d7
ld a, l
and %110 ; frames 0 2 4 6
jr z, .color0
- cp 4
+ cp %100 ; frame 4
jr z, .color2
.color1
@@ -992,7 +992,7 @@ FlickeringCaveEntrancePalette: ; fc71e
ret nz
; We only want to be here if we're in a dark cave.
ld a, [wTimeOfDayPalset]
- cp $ff ; 3,3,3,3
+ cp %11111111 ; 3,3,3,3
ret nz
ld a, [rSVBK]
@@ -1003,7 +1003,7 @@ FlickeringCaveEntrancePalette: ; fc71e
ld a, (1 << rBGPI_AUTO_INCREMENT) palette PAL_BG_YELLOW
ld [rBGPI], a
ld a, [hVBlankCounter]
- and 1 << 1
+ and %10
jr nz, .bit1set
ld hl, wBGPals1 palette PAL_BG_YELLOW
jr .okay
@@ -1023,27 +1023,27 @@ FlickeringCaveEntrancePalette: ; fc71e
; fc750
-SproutPillarTilePointer1: dw vTiles2 tile $2d, SproutPillarTile1
-SproutPillarTilePointer2: dw vTiles2 tile $2f, SproutPillarTile2
-SproutPillarTilePointer3: dw vTiles2 tile $3d, SproutPillarTile3
-SproutPillarTilePointer4: dw vTiles2 tile $3f, SproutPillarTile4
-SproutPillarTilePointer5: dw vTiles2 tile $3c, SproutPillarTile5
-SproutPillarTilePointer6: dw vTiles2 tile $2c, SproutPillarTile6
-SproutPillarTilePointer7: dw vTiles2 tile $4d, SproutPillarTile7
-SproutPillarTilePointer8: dw vTiles2 tile $4f, SproutPillarTile8
-SproutPillarTilePointer9: dw vTiles2 tile $5d, SproutPillarTile9
-SproutPillarTilePointer10: dw vTiles2 tile $5f, SproutPillarTile10
-
-SproutPillarTile1: INCBIN "gfx/tilesets/sprout-pillar/1.2bpp"
-SproutPillarTile2: INCBIN "gfx/tilesets/sprout-pillar/2.2bpp"
-SproutPillarTile3: INCBIN "gfx/tilesets/sprout-pillar/3.2bpp"
-SproutPillarTile4: INCBIN "gfx/tilesets/sprout-pillar/4.2bpp"
-SproutPillarTile5: INCBIN "gfx/tilesets/sprout-pillar/5.2bpp"
-SproutPillarTile6: INCBIN "gfx/tilesets/sprout-pillar/6.2bpp"
-SproutPillarTile7: INCBIN "gfx/tilesets/sprout-pillar/7.2bpp"
-SproutPillarTile8: INCBIN "gfx/tilesets/sprout-pillar/8.2bpp"
-SproutPillarTile9: INCBIN "gfx/tilesets/sprout-pillar/9.2bpp"
-SproutPillarTile10: INCBIN "gfx/tilesets/sprout-pillar/10.2bpp"
+TowerPillarTilePointer1: dw vTiles2 tile $2d, TowerPillarTile1
+TowerPillarTilePointer2: dw vTiles2 tile $2f, TowerPillarTile2
+TowerPillarTilePointer3: dw vTiles2 tile $3d, TowerPillarTile3
+TowerPillarTilePointer4: dw vTiles2 tile $3f, TowerPillarTile4
+TowerPillarTilePointer5: dw vTiles2 tile $3c, TowerPillarTile5
+TowerPillarTilePointer6: dw vTiles2 tile $2c, TowerPillarTile6
+TowerPillarTilePointer7: dw vTiles2 tile $4d, TowerPillarTile7
+TowerPillarTilePointer8: dw vTiles2 tile $4f, TowerPillarTile8
+TowerPillarTilePointer9: dw vTiles2 tile $5d, TowerPillarTile9
+TowerPillarTilePointer10: dw vTiles2 tile $5f, TowerPillarTile10
+
+TowerPillarTile1: INCBIN "gfx/tilesets/tower-pillar/1.2bpp"
+TowerPillarTile2: INCBIN "gfx/tilesets/tower-pillar/2.2bpp"
+TowerPillarTile3: INCBIN "gfx/tilesets/tower-pillar/3.2bpp"
+TowerPillarTile4: INCBIN "gfx/tilesets/tower-pillar/4.2bpp"
+TowerPillarTile5: INCBIN "gfx/tilesets/tower-pillar/5.2bpp"
+TowerPillarTile6: INCBIN "gfx/tilesets/tower-pillar/6.2bpp"
+TowerPillarTile7: INCBIN "gfx/tilesets/tower-pillar/7.2bpp"
+TowerPillarTile8: INCBIN "gfx/tilesets/tower-pillar/8.2bpp"
+TowerPillarTile9: INCBIN "gfx/tilesets/tower-pillar/9.2bpp"
+TowerPillarTile10: INCBIN "gfx/tilesets/tower-pillar/10.2bpp"
; fca98
diff --git a/tilesets/special_palettes.asm b/engine/tileset_palettes.asm
index 761b15348..5a2190fc7 100644
--- a/tilesets/special_palettes.asm
+++ b/engine/tileset_palettes.asm
@@ -6,11 +6,11 @@ LoadSpecialMapPalette: ; 494ac
jr z, .battle_tower
cp TILESET_ICE_PATH
jr z, .ice_path
- cp TILESET_HOUSE_1
+ cp TILESET_HOUSE
jr z, .house
cp TILESET_RADIO_TOWER
jr z, .radio_tower
- cp TILESET_CELADON_MANSION
+ cp TILESET_MANSION
jr z, .mansion_mobile
jr .do_nothing
@@ -63,7 +63,7 @@ LoadPokeComPalette: ; 494f2
; 49501
PokeComPalette: ; 49501
-INCLUDE "data/palettes/tilesets/pokecom_center.pal"
+INCLUDE "gfx/tilesets/pokecom_center.pal"
; 49541
LoadBattleTowerPalette: ; 49541
@@ -76,7 +76,7 @@ LoadBattleTowerPalette: ; 49541
; 49550
BattleTowerPalette: ; 49550
-INCLUDE "data/palettes/tilesets/battle_tower.pal"
+INCLUDE "gfx/tilesets/battle_tower.pal"
; 49590
LoadIcePathPalette: ; 49590
@@ -89,7 +89,7 @@ LoadIcePathPalette: ; 49590
; 4959f
IcePathPalette: ; 4959f
-INCLUDE "data/palettes/tilesets/ice_path.pal"
+INCLUDE "gfx/tilesets/ice_path.pal"
; 495df
LoadHousePalette: ; 495df
@@ -102,7 +102,7 @@ LoadHousePalette: ; 495df
; 495ee
HousePalette: ; 495ee
-INCLUDE "data/palettes/tilesets/house_1.pal"
+INCLUDE "gfx/tilesets/house.pal"
; 4962e
LoadRadioTowerPalette: ; 4962e
@@ -115,57 +115,11 @@ LoadRadioTowerPalette: ; 4962e
; 4963d
RadioTowerPalette: ; 4963d
-INCLUDE "data/palettes/tilesets/radio_tower.pal"
+INCLUDE "gfx/tilesets/radio_tower.pal"
; 4967d
MansionPalette1: ; 4967d
- RGB 30, 28, 26
- RGB 19, 19, 19
- RGB 13, 13, 13
- RGB 07, 07, 07
-
- RGB 30, 28, 26
- RGB 31, 19, 24
- RGB 30, 10, 06
- RGB 07, 07, 07
-
- RGB 18, 24, 09
- RGB 15, 20, 01
- RGB 09, 13, 00
- RGB 07, 07, 07
-
- RGB 30, 28, 26
- RGB 15, 16, 31
- RGB 09, 09, 31
- RGB 07, 07, 07
-
- RGB 30, 28, 26
- RGB 31, 31, 07
- RGB 31, 16, 01
- RGB 07, 07, 07
-
- RGB 26, 24, 17
- RGB 21, 17, 07
- RGB 16, 13, 03
- RGB 07, 07, 07
-
-MansionPalette3: ; 496ad
- RGB 30, 28, 26
- RGB 17, 19, 31
- RGB 14, 16, 31
- RGB 07, 07, 07
-
- RGB 31, 31, 16
- RGB 31, 31, 16
- RGB 14, 09, 00
- RGB 00, 00, 00
-; 496bd
-
-MansionPalette4: ; 496bd
- RGB 05, 05, 16
- RGB 08, 19, 28
- RGB 00, 00, 00
- RGB 31, 31, 31
+INCLUDE "gfx/tilesets/mansion_1.pal"
; 496c5
LoadMansionPalette: ; 496c5
@@ -181,20 +135,17 @@ LoadMansionPalette: ; 496c5
call FarCopyWRAM
ld a, BANK(wBGPals1)
ld de, wBGPals1 palette PAL_BG_WATER
- ld hl, MansionPalette3
+ ld hl, MansionPalette1 + 6 palettes
ld bc, 1 palettes
call FarCopyWRAM
ld a, BANK(wBGPals1)
ld de, wBGPals1 palette PAL_BG_ROOF
- ld hl, MansionPalette4
+ ld hl, MansionPalette1 + 8 palettes
ld bc, 1 palettes
call FarCopyWRAM
ret
; 496fe
MansionPalette2: ; 496fe
- RGB 25, 24, 23
- RGB 20, 19, 19
- RGB 14, 16, 31
- RGB 07, 07, 07
+INCLUDE "gfx/tilesets/mansion_2.pal"
; 49706
diff --git a/engine/time.asm b/engine/time.asm
index 799a24f49..29c811810 100755
--- a/engine/time.asm
+++ b/engine/time.asm
@@ -133,16 +133,16 @@ endr
Special_SampleKenjiBreakCountdown: ; 11485
; Generate a random number between 3 and 6
call Random
- and 3
+ and %11
add 3
ld [wKenjiBreakTimer], a
ret
; 11490
StartBugContestTimer: ; 11490
- ld a, 20
+ ld a, BUG_CONTEST_MINUTES
ld [wBugContestMinsRemaining], a
- ld a, 0
+ ld a, BUG_CONTEST_SECONDS
ld [wBugContestSecsRemaining], a
call UpdateTime
ld hl, wBugContestStartTime
@@ -225,13 +225,13 @@ CheckUnusedTwoDayTimer: ; 1150c
ret
; 1151c
-; XXX
+; unused
ld hl, wDailyFlags
set 2, [hl]
ret
; 11522
-; XXX
+; unused
and a
ld hl, wDailyFlags
bit 2, [hl]
@@ -252,7 +252,7 @@ RestartLuckyNumberCountdown: ; 1152b
ld a, FRIDAY
sub c
jr z, .friday_saturday
- jr nc, .earlier ; should've done "ret nc"
+ jr nc, .earlier ; could have done "ret nc"
.friday_saturday
add 7
diff --git a/engine/time_capsule.asm b/engine/time_capsule.asm
index 577b2dce8..96f61833b 100755
--- a/engine/time_capsule.asm
+++ b/engine/time_capsule.asm
@@ -144,4 +144,4 @@ PlaceTradePartnerNamesAndParty: ; fb60d
jr .loop
; fb656
-INCLUDE "data/time_capsule/special_stats.asm"
+INCLUDE "data/pokemon/rby_base_special.asm"
diff --git a/engine/time_capsule_2.asm b/engine/time_capsule_2.asm
index 5da72e7c8..0378ed697 100644
--- a/engine/time_capsule_2.asm
+++ b/engine/time_capsule_2.asm
@@ -36,4 +36,4 @@ ConvertMon_1to2: ; fb908
; fb91c
-INCLUDE "data/time_capsule/mon_order.asm"
+INCLUDE "data/pokemon/rby_order.asm"
diff --git a/engine/timeofdaypals.asm b/engine/timeofdaypals.asm
index 0b1ea71a2..6dfa5657a 100644
--- a/engine/timeofdaypals.asm
+++ b/engine/timeofdaypals.asm
@@ -1,5 +1,5 @@
-Predef35: ; 8c000
-Predef36:
+DummyPredef35: ; 8c000
+DummyPredef36:
ret
UpdateTimeOfDayPal:: ; 8c001
@@ -47,8 +47,8 @@ _TimeOfDayPals:: ; 8c011
; save wram bank
ld a, [rSVBK]
ld b, a
-; wram bank 5
- ld a, $5
+
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
; push palette
@@ -78,8 +78,8 @@ _TimeOfDayPals:: ; 8c011
; save wram bank
ld a, [rSVBK]
ld d, a
-; wram bank 5
- ld a, 5
+
+ ld a, BANK(wOBPals1)
ld [rSVBK], a
; pop palette
@@ -119,7 +119,7 @@ _UpdateTimePals:: ; 8c070
ret
; 8c079
-FadeInPalettes:: ; 8c079
+Special_FadeInPalettes:: ; 8c079
ld c, $12
call GetTimePalFade
ld b, $4
@@ -127,7 +127,7 @@ FadeInPalettes:: ; 8c079
ret
; 8c084
-FadeOutPalettes:: ; 8c084
+Special_FadeOutPalettes:: ; 8c084
call FillWhiteBGColor
ld c, $9
call GetTimePalFade
@@ -173,7 +173,7 @@ Special_FadeBlackQuickly: ; 8c0b6
FillWhiteBGColor: ; 8c0c1
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld hl, wBGPals1
diff --git a/engine/timeset.asm b/engine/timeset.asm
index f05e31ab5..67aa9973e 100755
--- a/engine/timeset.asm
+++ b/engine/timeset.asm
@@ -1,3 +1,6 @@
+TIMESET_UP_ARROW EQUS "\"♂\"" ; $ef
+TIMESET_DOWN_ARROW EQUS "\"♀\"" ; $f5
+
InitClock: ; 90672 (24:4672)
; Ask the player to set the time.
ld a, [hInMenu]
@@ -397,11 +400,11 @@ OakText_ResponseToSetTime: ; 0x908b8
; 0x908fb
TimeSetBackgroundGFX: ; 908fb
-INCBIN "gfx/timeset/background.1bpp"
+INCBIN "gfx/new_game/timeset_bg.1bpp"
TimeSetUpArrowGFX: ; 90903
-INCBIN "gfx/timeset/up_arrow.1bpp"
+INCBIN "gfx/new_game/up_arrow.1bpp"
TimeSetDownArrowGFX: ; 9090b
-INCBIN "gfx/timeset/down_arrow.1bpp"
+INCBIN "gfx/new_game/down_arrow.1bpp"
; 90913
Special_SetDayOfWeek: ; 90913
@@ -410,11 +413,11 @@ Special_SetDayOfWeek: ; 90913
ld a, $1
ld [hInMenu], a
ld de, TimeSetUpArrowGFX
- ld hl, vTiles1 tile $6f
+ ld hl, vTiles0 tile TIMESET_UP_ARROW
lb bc, BANK(TimeSetUpArrowGFX), 1
call Request1bpp
ld de, TimeSetDownArrowGFX
- ld hl, vTiles1 tile $75
+ ld hl, vTiles0 tile TIMESET_DOWN_ARROW
lb bc, BANK(TimeSetDownArrowGFX), 1
call Request1bpp
xor a
@@ -431,9 +434,9 @@ Special_SetDayOfWeek: ; 90913
ld c, 9
call TextBox
hlcoord 14, 3
- ld [hl], "♂" ; gets overwritten with special up arrow
+ ld [hl], TIMESET_UP_ARROW
hlcoord 14, 6
- ld [hl], "♀" ; gets overwritten with special down arrow
+ ld [hl], TIMESET_DOWN_ARROW
hlcoord 10, 5
call .PlaceWeekdayString
call ApplyTilemap
diff --git a/engine/title.asm b/engine/title.asm
index 2380cfedf..55ba145bf 100644
--- a/engine/title.asm
+++ b/engine/title.asm
@@ -139,7 +139,7 @@ _TitleScreen: ; 10ed67
ld a, [rSVBK]
push af
; WRAM bank 5
- ld a, 5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
; Update palette colors
@@ -162,13 +162,13 @@ _TitleScreen: ; 10ed67
ld a, [rSVBK]
push af
- ld a, 5 ; BANK(LYOverrides)
+ ld a, BANK(LYOverrides)
ld [rSVBK], a
; Make alternating lines come in from opposite sides
-; ( This part is actually totally pointless, you can't
-; see anything until these values are overwritten! )
+; (This part is actually totally pointless, you can't
+; see anything until these values are overwritten!)
ld b, 80 / 2 ; alternate for 80 lines
ld hl, LYOverrides
@@ -237,11 +237,11 @@ SuicuneFrameIterator: ; 10eea7
inc [hl]
; Only do this once every eight frames
- and (1 << 3) - 1
+ and %111
ret nz
ld a, c
- and 3 << 3
+ and %11000
sla a
swap a
ld e, a
@@ -323,7 +323,7 @@ DrawTitleGraphic: ; 10eeef
; 10ef06
InitializeBackground: ; 10ef06
- ld hl, Sprites
+ ld hl, Sprite01
ld d, -$22
ld e, $0
ld c, 5
@@ -344,17 +344,17 @@ InitializeBackground: ; 10ef06
ld b, $40
.loop2
ld a, d
- ld [hli], a
+ ld [hli], a ; y
ld a, b
- ld [hli], a
+ ld [hli], a ; x
add $8
ld b, a
ld a, e
- ld [hli], a
+ ld [hli], a ; tile id
inc e
inc e
- ld a, $80
- ld [hli], a
+ ld a, 0 | PRIORITY
+ ld [hli], a ; attributes
dec c
jr nz, .loop2
ret
@@ -366,9 +366,9 @@ AnimateTitleCrystal: ; 10ef32
; Stop at y=6
; y is really from the bottom of the sprite, which is two tiles high
- ld hl, Sprites
+ ld hl, Sprite01YCoord
ld a, [hl]
- cp 6 + $10
+ cp 6 + 2 * TILE_WIDTH
ret z
; Move all 30 parts of the crystal down by 2
@@ -376,10 +376,10 @@ AnimateTitleCrystal: ; 10ef32
.loop
ld a, [hl]
add 2
- ld [hli], a
- inc hl
- inc hl
+ ld [hli], a ; y
+rept SPRITEOAMSTRUCT_LENGTH +- 1
inc hl
+endr
dec c
jr nz, .loop
@@ -399,4 +399,4 @@ INCBIN "gfx/title/crystal.2bpp.lz"
; 10fede
TitleScreenPalettes:
-INCLUDE "data/palettes/title.pal"
+INCLUDE "gfx/title/title.pal"
diff --git a/engine/tmhm.asm b/engine/tmhm.asm
index 6a9c76f00..1cdbe1fff 100755
--- a/engine/tmhm.asm
+++ b/engine/tmhm.asm
@@ -23,7 +23,7 @@ CanLearnTMHMMove: ; 11639
ld b, CHECK_FLAG
push de
ld d, 0
- predef FlagPredef
+ predef SmallFarFlagAction
pop de
ret
diff --git a/engine/tmhm2.asm b/engine/tmhm2.asm
index c111fa7f9..e000ef6ba 100755
--- a/engine/tmhm2.asm
+++ b/engine/tmhm2.asm
@@ -146,7 +146,7 @@ TeachTMHM: ; 2c867
and a
jr z, .nope
- farcall TrainerRankings_TMsHMsTaught
+ farcall StubbedTrainerRankings_TMsHMsTaught
ld a, [CurItem]
call IsHM
ret c
@@ -447,8 +447,7 @@ TMHMPocket_GetCurrentLineCoord: ; 2ca86 (b:4a86)
ret
; 2ca95 (b:4a95)
-Function2ca95: ; 2ca95
-; unreferenced
+Unreferenced_Function2ca95: ; 2ca95
pop hl
ld bc, 3
add hl, bc
@@ -499,8 +498,7 @@ TMHM_PlaySFX_ReadText2: ; 2cad6 (b:4ad6)
ret
; 2cadf (b:4adf)
-Function2cadf: ; 2cadf
-; unreferenced
+Unreferenced_Function2cadf: ; 2cadf
call ConvertCurItemIntoCurTMHM
call .CheckHaveRoomForTMHM
ld hl, .NoRoomText
diff --git a/engine/trade_animation.asm b/engine/trade_animation.asm
index d5b97d563..d662a7894 100755
--- a/engine/trade_animation.asm
+++ b/engine/trade_animation.asm
@@ -1,3 +1,14 @@
+TRADEANIM_RIGHT_ARROW EQU $ed
+TRADEANIM_LEFT_ARROW EQU $ee
+
+; TradeAnim_TubeAnimJumptable.Jumptable indexes
+ const_def
+ const TRADEANIMSTATE_0 ; 0
+ const TRADEANIMSTATE_1 ; 1
+ const TRADEANIMSTATE_2 ; 2
+ const TRADEANIMSTATE_3 ; 3
+TRADEANIMJUMPTABLE_LENGTH EQU const_value
+
TradeAnimation: ; 28f24
xor a
ld [wcf66], a
@@ -165,13 +176,13 @@ RunTradeAnimScript: ; 28fa1
ld de, vTiles2 tile $31
call Decompress
ld hl, TradeArrowGFX
- ld de, vTiles1 tile $6d
- ld bc, $10
+ ld de, vTiles0 tile TRADEANIM_RIGHT_ARROW
+ ld bc, 1 tiles
ld a, BANK(TradeArrowGFX)
call FarCopyBytes
- ld hl, TradeArrowGFX + $10
- ld de, vTiles1 tile $6e
- ld bc, $10
+ ld hl, TradeArrowGFX + 1 tiles
+ ld de, vTiles0 tile TRADEANIM_LEFT_ARROW
+ ld bc, 1 tiles
ld a, BANK(TradeArrowGFX)
call FarCopyBytes
xor a
@@ -317,7 +328,7 @@ TradeAnim_End: ; 29123
; 29129
TradeAnim_TubeToOT1: ; 29129
- ld a, $ed ; >>>>>>>>
+ ld a, TRADEANIM_RIGHT_ARROW
call TradeAnim_PlaceTrademonStatsOnTubeAnim
ld a, [wLinkTradeSendmonSpecies]
ld [wd265], a
@@ -327,11 +338,11 @@ TradeAnim_TubeToOT1: ; 29129
jr TradeAnim_InitTubeAnim
TradeAnim_TubeToPlayer1: ; 2913c
- ld a, $ee ; <<<<<<<<
+ ld a, TRADEANIM_LEFT_ARROW
call TradeAnim_PlaceTrademonStatsOnTubeAnim
ld a, [wLinkTradeGetmonSpecies]
ld [wd265], a
- ld a, $2
+ ld a, TRADEANIMSTATE_2
depixel 9, 18, 4, 4
ld b, $4
TradeAnim_InitTubeAnim: ; 2914e
@@ -387,8 +398,8 @@ TradeAnim_InitTubeAnim: ; 2914e
call DmgToCgbObjPal0
call TradeAnim_IncrementJumptableIndex
- ld a, $5c
- ld [wcf64], a
+ ld a, 92
+ ld [wFrameCounter], a
ret
; 291af
@@ -400,7 +411,7 @@ TradeAnim_TubeToOT2: ; 291af
ld [hSCX], a
cp $50
ret nz
- ld a, $1
+ ld a, TRADEANIMSTATE_1
call TradeAnim_TubeAnimJumptable
call TradeAnim_IncrementJumptableIndex
ret
@@ -414,7 +425,7 @@ TradeAnim_TubeToOT3: ; 291c4
ld [hSCX], a
cp $a0
ret nz
- ld a, $2
+ ld a, TRADEANIMSTATE_2
call TradeAnim_TubeAnimJumptable
call TradeAnim_IncrementJumptableIndex
ret
@@ -440,7 +451,7 @@ TradeAnim_TubeToPlayer3: ; 291e8
ld [hSCX], a
cp $b0
ret nz
- ld a, $1
+ ld a, TRADEANIMSTATE_1
call TradeAnim_TubeAnimJumptable
call TradeAnim_IncrementJumptableIndex
ret
@@ -454,7 +465,7 @@ TradeAnim_TubeToPlayer4: ; 291fd
ld [hSCX], a
cp $60
ret nz
- xor a
+ xor a ; TRADEANIMSTATE_0
call TradeAnim_TubeAnimJumptable
call TradeAnim_IncrementJumptableIndex
ret
@@ -475,8 +486,8 @@ TradeAnim_TubeToPlayer5: ; 29211
TradeAnim_TubeToOT6:
TradeAnim_TubeToPlayer6: ; 29220
- ld a, $80
- ld [wcf64], a
+ ld a, 128
+ ld [wFrameCounter], a
call TradeAnim_IncrementJumptableIndex
ret
@@ -511,7 +522,7 @@ TradeAnim_TubeToOT7:
TradeAnim_TubeToPlayer2:
TradeAnim_TubeToPlayer7: ; 2925d
call TradeAnim_FlashBGPals
- ld hl, wcf64
+ ld hl, wFrameCounter
ld a, [hl]
and a
jr z, .done
@@ -541,7 +552,7 @@ TradeAnim_GetTrademonSFX: ; 29277
; 29281
TradeAnim_TubeAnimJumptable: ; 29281
- and 3
+ maskbits TRADEANIMJUMPTABLE_LENGTH
ld e, a
ld d, 0
ld hl, .Jumptable
@@ -554,6 +565,7 @@ TradeAnim_TubeAnimJumptable: ; 29281
; 2928f
.Jumptable: ; 2928f
+; entries correspond to TRADEANIMSTATE_* constants
dw .Zero
dw .One
dw .Two
@@ -835,7 +847,7 @@ TradeAnim_ShowGivemonData: ; 2942e
jr c, .skip_cry
ld e, c
ld d, b
- call PlayCryHeader
+ call PlayCry
.skip_cry
call TradeAnim_AdvanceScriptPointer
@@ -1114,8 +1126,8 @@ TradeAnim_RockingBall: ; 2961b
ld a, SPRITE_ANIM_INDEX_TRADE_POKE_BALL
call _InitSpriteAnimStruct
call TradeAnim_AdvanceScriptPointer
- ld a, $20
- ld [wcf64], a
+ ld a, 32
+ ld [wFrameCounter], a
ret
; 2962c
@@ -1131,8 +1143,8 @@ TradeAnim_DropBall: ; 2962c
add hl, bc
ld [hl], $dc
call TradeAnim_AdvanceScriptPointer
- ld a, $38
- ld [wcf64], a
+ ld a, 56
+ ld [wFrameCounter], a
ret
; 29649
@@ -1142,8 +1154,8 @@ TradeAnim_Poof: ; 29649
ld a, SPRITE_ANIM_INDEX_TRADE_POOF
call _InitSpriteAnimStruct
call TradeAnim_AdvanceScriptPointer
- ld a, $10
- ld [wcf64], a
+ ld a, 16
+ ld [wFrameCounter], a
ld de, SFX_BALL_POOF
call PlaySFX
ret
@@ -1157,8 +1169,8 @@ TradeAnim_BulgeThroughTube: ; 29660
ld a, SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
call _InitSpriteAnimStruct
call TradeAnim_AdvanceScriptPointer
- ld a, $40
- ld [wcf64], a
+ ld a, 64
+ ld [wFrameCounter], a
ret
; 29676
@@ -1500,15 +1512,15 @@ LoadTradeBallAndCableGFX: ; 2982b
call DelayFrame
ld de, TradeBallGFX
ld hl, vTiles0 tile $62
- lb bc, BANK(TradeBallGFX), $6
+ lb bc, BANK(TradeBallGFX), 6
call Request2bpp
ld de, TradePoofGFX
ld hl, vTiles0 tile $68
- lb bc, BANK(TradePoofGFX), $c
+ lb bc, BANK(TradePoofGFX), 12
call Request2bpp
ld de, TradeCableGFX
ld hl, vTiles0 tile $74
- lb bc, BANK(TradeCableGFX), $4
+ lb bc, BANK(TradeCableGFX), 4
call Request2bpp
xor a
ld hl, wSpriteAnimDict
@@ -1524,7 +1536,7 @@ LoadTradeBubbleGFX: ; 2985a
callfar LoadMenuMonIcon
ld de, TradeBubbleGFX
ld hl, vTiles0 tile $72
- lb bc, BANK(TradeBubbleGFX), $4
+ lb bc, BANK(TradeBubbleGFX), 4
call Request2bpp
xor a
ld hl, wSpriteAnimDict
@@ -1535,7 +1547,7 @@ LoadTradeBubbleGFX: ; 2985a
; 29879
TradeAnim_WaitAnim: ; 29879
- ld hl, wcf64
+ ld hl, wFrameCounter
ld a, [hl]
and a
jr z, .done
@@ -1549,7 +1561,7 @@ TradeAnim_WaitAnim: ; 29879
; 29886
TradeAnim_WaitAnim2: ; 29886
- ld hl, wcf64
+ ld hl, wFrameCounter
ld a, [hl]
and a
jr z, .done
@@ -1563,8 +1575,8 @@ TradeAnim_WaitAnim2: ; 29886
; 29893
-DebugTrade: ; 29893
-; This function is unreferenced.
+Unreferenced_DebugTrade: ; 29893
+; This function is not referenced.
; It was meant for use in Japanese versions, so the
; constant used for copy length was changed by accident.
@@ -1573,7 +1585,7 @@ DebugTrade: ; 29893
ld a, [hli]
ld [wPlayerTrademonSpecies], a
ld de, wPlayerTrademonSenderName
- ld c, 11 + 2 ; jp: 6 + 2
+ ld c, NAME_LENGTH + 2 ; JP: NAME_LENGTH_JAPANESE + 2
.loop1
ld a, [hli]
ld [de], a
@@ -1584,7 +1596,7 @@ DebugTrade: ; 29893
ld a, [hli]
ld [wOTTrademonSpecies], a
ld de, wOTTrademonSenderName
- ld c, 11 + 2 ; jp: 6 + 2
+ ld c, NAME_LENGTH + 2 ; JP: NAME_LENGTH_JAPANESE + 2
.loop2
ld a, [hli]
ld [de], a
@@ -1595,9 +1607,15 @@ DebugTrade: ; 29893
; 298b5
+debugtrade: MACRO
+; species, ot name, ot id (?)
+ db \1, \2
+ dw \3
+ENDM
+
.DebugTradeData: ; 298b5
- db VENUSAUR, "ゲーフり@@", $23, $01 ; GAME FREAK
- db CHARIZARD, "クりーチャ@", $56, $04 ; Creatures Inc.
+ debugtrade VENUSAUR, "ゲーフり@@", $0123 ; GAME FREAK
+ debugtrade CHARIZARD, "クりーチャ@", $0456 ; Creatures Inc.
; 298c7
diff --git a/engine/trainer_card.asm b/engine/trainer_card.asm
index 87cab0103..6d59660f7 100755
--- a/engine/trainer_card.asm
+++ b/engine/trainer_card.asm
@@ -1,3 +1,13 @@
+; TrainerCard.Jumptable indexes
+ const_def
+ const TRAINERCARDSTATE_PAGE1_LOADGFX ; 0
+ const TRAINERCARDSTATE_PAGE1_JOYPAD ; 1
+ const TRAINERCARDSTATE_PAGE2_LOADGFX ; 2
+ const TRAINERCARDSTATE_PAGE2_JOYPAD ; 3
+ const TRAINERCARDSTATE_PAGE3_LOADGFX ; 4
+ const TRAINERCARDSTATE_PAGE3_JOYPAD ; 5
+ const TRAINERCARDSTATE_QUIT ; 6
+
TrainerCard: ; 25105
ld a, [VramState]
push af
@@ -6,7 +16,7 @@ TrainerCard: ; 25105
ld hl, Options
ld a, [hl]
push af
- set 4, [hl]
+ set NO_TEXT_SCROLL, [hl]
call .InitRAM
.loop
call UpdateTime
@@ -61,17 +71,18 @@ TrainerCard: ; 25105
call SetPalettes
call WaitBGMap
ld hl, wJumptableIndex
- xor a
- ld [hli], a
- ld [hli], a
- ld [hli], a
- ld [hl], a
+ xor a ; TRAINERCARDSTATE_PAGE1_LOADGFX
+ ld [hli], a ; wJumptableIndex
+ ld [hli], a ; wTrainerCardBadgeFrameCounter
+ ld [hli], a ; wTrainerCardBadgeTileID
+ ld [hl], a ; wTrainerCardBadgeAttributes
ret
.RunJumptable: ; 2518e (9:518e)
jumptable .Jumptable, wJumptableIndex
.Jumptable: ; 2519d (9:519d)
+; entries correspond to TRAINERCARDSTATE_* constants
dw TrainerCard_Page1_LoadGFX
dw TrainerCard_Page1_Joypad
dw TrainerCard_Page2_LoadGFX
@@ -113,16 +124,15 @@ TrainerCard_Page1_Joypad: ; 251d7 (9:51d7)
ret
.pressed_right_a
- ld a, $2
+ ld a, TRAINERCARDSTATE_PAGE2_LOADGFX
ld [wJumptableIndex], a
ret
-.KantoCheck:
-; unreferenced
+.Unreferenced_KantoCheck:
ld a, [wKantoBadges]
and a
ret z
- ld a, $4
+ ld a, TRAINERCARDSTATE_PAGE3_LOADGFX
ld [wJumptableIndex], a
ret
@@ -136,11 +146,11 @@ TrainerCard_Page2_LoadGFX: ; 251f4 (9:51f4)
call WaitBGMap
ld de, LeaderGFX
ld hl, vTiles2 tile $29
- lb bc, BANK(LeaderGFX), $56
+ lb bc, BANK(LeaderGFX), 86
call Request2bpp
ld de, BadgeGFX
ld hl, vTiles0 tile $00
- lb bc, BANK(BadgeGFX), $2c
+ lb bc, BANK(BadgeGFX), 44
call Request2bpp
call TrainerCard_Page2_3_InitObjectsAndStrings
call TrainerCard_IncrementJumptable
@@ -159,21 +169,20 @@ TrainerCard_Page2_Joypad: ; 25221 (9:5221)
ret
.d_left
- ld a, $0
+ ld a, TRAINERCARDSTATE_PAGE1_LOADGFX
ld [wJumptableIndex], a
ret
-.KantoCheck:
-; unreferenced
+.Unreferenced_KantoCheck:
ld a, [wKantoBadges]
and a
ret z
- ld a, $4
+ ld a, TRAINERCARDSTATE_PAGE3_LOADGFX
ld [wJumptableIndex], a
ret
.Quit:
- ld a, $6
+ ld a, TRAINERCARDSTATE_QUIT
ld [wJumptableIndex], a
ret
@@ -185,11 +194,11 @@ TrainerCard_Page3_LoadGFX: ; 2524c (9:524c)
call WaitBGMap
ld de, LeaderGFX2
ld hl, vTiles2 tile $29
- lb bc, BANK(LeaderGFX2), $56
+ lb bc, BANK(LeaderGFX2), 86
call Request2bpp
ld de, BadgeGFX2
ld hl, vTiles0 tile $00
- lb bc, BANK(BadgeGFX2), $2c
+ lb bc, BANK(BadgeGFX2), 44
call Request2bpp
call TrainerCard_Page2_3_InitObjectsAndStrings
call TrainerCard_IncrementJumptable
@@ -208,12 +217,12 @@ TrainerCard_Page3_Joypad: ; 25279 (9:5279)
ret
.left
- ld a, $2
+ ld a, TRAINERCARDSTATE_PAGE2_LOADGFX
ld [wJumptableIndex], a
ret
.right
- ld a, $0
+ ld a, TRAINERCARDSTATE_PAGE1_LOADGFX
ld [wJumptableIndex], a
ret
@@ -256,10 +265,10 @@ TrainerCard_PrintTopHalfOfCard: ; 25299 (9:5299)
next "MONEY@"
.ID_No: ; 252f9
- db $27, $28, $ff ; ID NO
+ db $27, $28, -1 ; ID NO
.HorizontalDivider: ; 252fc
- db $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $26, $ff ; ____________>
+ db $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $25, $26, -1 ; ____________>
; 2530a
TrainerCard_Page1_PrintDexCaught_GameTime: ; 2530a (9:530a)
@@ -281,7 +290,7 @@ TrainerCard_Page1_PrintDexCaught_GameTime: ; 2530a (9:530a)
ld de, .StatusTilemap
call TrainerCardSetup_PlaceTilemapString
ld a, [wStatusFlags]
- bit 0, a
+ bit 0, a ; ENGINE_POKEDEX
ret nz
hlcoord 1, 9
lb bc, 2, 17
@@ -296,7 +305,7 @@ TrainerCard_Page1_PrintDexCaught_GameTime: ; 2530a (9:530a)
db " BADGES▶@"
.StatusTilemap: ; 25366
- db $29, $2a, $2b, $2c, $2d, $ff
+ db $29, $2a, $2b, $2c, $2d, -1
; 2536c
TrainerCard_Page2_3_InitObjectsAndStrings: ; 2536c (9:536c)
@@ -324,7 +333,7 @@ endr
dec c
jr nz, .loop2
xor a
- ld [wcf64], a
+ ld [wTrainerCardBadgeFrameCounter], a
ld hl, TrainerCard_JohtoBadgesOAM
call TrainerCard_Page2_3_OAMUpdate
ret
@@ -332,20 +341,20 @@ endr
; 253a2 (9:53a2)
.BadgesTilemap: ; 253a2
- db $79, $7a, $7b, $7c, $7d, $ff ; "BADGES"
+ db $79, $7a, $7b, $7c, $7d, -1 ; "BADGES"
; 253a8
TrainerCardSetup_PlaceTilemapString: ; 253a8 (9:53a8)
.loop
ld a, [de]
- cp $ff
+ cp -1
ret z
ld [hli], a
inc de
jr .loop
TrainerCard_InitBorder: ; 253b0 (9:53b0)
- ld e, 20
+ ld e, SCREEN_WIDTH
.loop1
ld a, $23
ld [hli], a
@@ -354,7 +363,7 @@ TrainerCard_InitBorder: ; 253b0 (9:53b0)
ld a, $23
ld [hli], a
- ld e, 17
+ ld e, SCREEN_HEIGHT - 1
ld a, " "
.loop2
ld [hli], a
@@ -369,7 +378,7 @@ TrainerCard_InitBorder: ; 253b0 (9:53b0)
ld a, $23
ld [hli], a
- ld e, 18
+ ld e, SCREEN_HEIGHT
ld a, " "
.loop4
ld [hli], a
@@ -386,7 +395,7 @@ TrainerCard_InitBorder: ; 253b0 (9:53b0)
ld a, $24
ld [hli], a
- ld e, 17
+ ld e, SCREEN_HEIGHT - 1
ld a, " "
.loop5
ld [hli], a
@@ -394,7 +403,7 @@ TrainerCard_InitBorder: ; 253b0 (9:53b0)
jr nz, .loop5
ld a, $23
ld [hli], a
- ld e, 20
+ ld e, SCREEN_WIDTH
.loop6
ld a, $23
ld [hli], a
@@ -453,12 +462,12 @@ TrainerCard_Page1_PrintGameTime: ; 25415 (9:5415)
TrainerCard_Page2_3_AnimateBadges: ; 25438 (9:5438)
ld a, [hVBlankCounter]
- and $7
+ and %111
ret nz
- ld a, [wcf64]
+ ld a, [wTrainerCardBadgeFrameCounter]
inc a
- and $7
- ld [wcf64], a
+ and %111
+ ld [wTrainerCardBadgeFrameCounter], a
jr TrainerCard_Page2_3_OAMUpdate
TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448)
@@ -470,8 +479,8 @@ TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448)
ld d, a
ld a, [de]
ld c, a
- ld de, Sprites
- ld b, 8
+ ld de, Sprite01
+ ld b, NUM_JOHTO_BADGES
.loop
srl c
push bc
@@ -482,15 +491,15 @@ TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448)
ld a, [hli] ; x
ld c, a
ld a, [hli] ; pal
- ld [wcf66], a
- ld a, [wcf64]
+ ld [wTrainerCardBadgeAttributes], a
+ ld a, [wTrainerCardBadgeFrameCounter]
add l
ld l, a
ld a, 0
adc h
ld h, a
ld a, [hl]
- ld [wcf65], a
+ ld [wTrainerCardBadgeTileID], a
call .PrepOAM
pop hl
.skip_badge
@@ -502,8 +511,8 @@ TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448)
ret
.PrepOAM: ; 2547b (9:547b)
- ld a, [wcf65]
- and $80
+ ld a, [wTrainerCardBadgeTileID]
+ and 1 << 7
jr nz, .xflip
ld hl, .facing1
jr .loop2
@@ -512,27 +521,27 @@ TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448)
ld hl, .facing2
.loop2
ld a, [hli]
- cp $ff
+ cp -1
ret z
add b
- ld [de], a
+ ld [de], a ; y
inc de
ld a, [hli]
add c
- ld [de], a
+ ld [de], a ; x
inc de
- ld a, [wcf65]
- and $7f
+ ld a, [wTrainerCardBadgeTileID]
+ and $ff ^ (1 << 7)
add [hl]
- ld [de], a
+ ld [de], a ; tile id
inc hl
inc de
- ld a, [wcf66]
+ ld a, [wTrainerCardBadgeAttributes]
add [hl]
- ld [de], a
+ ld [de], a ; attributes
inc hl
inc de
jr .loop2
@@ -540,18 +549,17 @@ TrainerCard_Page2_3_OAMUpdate: ; 25448 (9:5448)
; 254a7 (9:54a7)
.facing1 ; 254a7
- ; y, x, tile, OAM attributes
- db 0, 0, 0, 0
- db 0, 8, 1, 0
- db 8, 0, 2, 0
- db 8, 8, 3, 0
+ dsprite 0, 0, 0, 0, $00, 0
+ dsprite 0, 0, 1, 0, $01, 0
+ dsprite 1, 0, 0, 0, $02, 0
+ dsprite 1, 0, 1, 0, $03, 0
db -1
.facing2 ; 254b8
- db 0, 0, 1, X_FLIP
- db 0, 8, 0, X_FLIP
- db 8, 0, 3, X_FLIP
- db 8, 8, 2, X_FLIP
+ dsprite 0, 0, 0, 0, $01, 0 | X_FLIP
+ dsprite 0, 0, 1, 0, $00, 0 | X_FLIP
+ dsprite 1, 0, 0, 0, $03, 0 | X_FLIP
+ dsprite 1, 0, 1, 0, $02, 0 | X_FLIP
db -1
TrainerCard_JohtoBadgesOAM: ; 254c9
@@ -565,44 +573,44 @@ TrainerCard_JohtoBadgesOAM: ; 254c9
; Zephyrbadge
db $68, $18, 0
- db $00, $20, $24, $20 | $80
- db $00, $20, $24, $20 | $80
+ db $00, $20, $24, $20 | (1 << 7)
+ db $00, $20, $24, $20 | (1 << 7)
; Hivebadge
db $68, $38, 0
- db $04, $20, $24, $20 | $80
- db $04, $20, $24, $20 | $80
+ db $04, $20, $24, $20 | (1 << 7)
+ db $04, $20, $24, $20 | (1 << 7)
; Plainbadge
db $68, $58, 0
- db $08, $20, $24, $20 | $80
- db $08, $20, $24, $20 | $80
+ db $08, $20, $24, $20 | (1 << 7)
+ db $08, $20, $24, $20 | (1 << 7)
; Fogbadge
db $68, $78, 0
- db $0c, $20, $24, $20 | $80
- db $0c, $20, $24, $20 | $80
+ db $0c, $20, $24, $20 | (1 << 7)
+ db $0c, $20, $24, $20 | (1 << 7)
; Mineralbadge
db $80, $38, 0
- db $10, $20, $24, $20 | $80
- db $10, $20, $24, $20 | $80
+ db $10, $20, $24, $20 | (1 << 7)
+ db $10, $20, $24, $20 | (1 << 7)
; Stormbadge
db $80, $18, 0
- db $14, $20, $24, $20 | $80
- db $14, $20, $24, $20 | $80
+ db $14, $20, $24, $20 | (1 << 7)
+ db $14, $20, $24, $20 | (1 << 7)
; Glacierbadge
db $80, $58, 0
- db $18, $20, $24, $20 | $80
- db $18, $20, $24, $20 | $80
+ db $18, $20, $24, $20 | (1 << 7)
+ db $18, $20, $24, $20 | (1 << 7)
; Risingbadge
; X-flips on alternate cycles.
db $80, $78, 0
- db $1c, $20, $24, $20 | $80
- db $1c | $80, $20, $24, $20 | $80
+ db $1c, $20, $24, $20 | (1 << 7)
+ db $1c | (1 << 7), $20, $24, $20 | (1 << 7)
; 25523
CardStatusGFX: INCBIN "gfx/trainer_card/card_status.2bpp"
diff --git a/engine/types.asm b/engine/types.asm
index 375bfe434..931e98b92 100644
--- a/engine/types.asm
+++ b/engine/types.asm
@@ -35,7 +35,7 @@ PrintMonTypes: ; 5090d
ld [hl], a
inc bc
add hl, bc
- ld bc, 5
+ ld bc, NAME_LENGTH_JAPANESE - 1
jp ByteFill
; 5093a
@@ -91,11 +91,9 @@ GetTypeName: ; 50964
ld h, [hl]
ld l, a
ld de, StringBuffer1
- ld bc, 13
+ ld bc, MOVE_NAME_LENGTH
jp CopyBytes
; 5097b
-INCLUDE "data/type_names.asm"
-
-; 50a28
+INCLUDE "data/types/names.asm"
diff --git a/engine/unown_puzzle.asm b/engine/unown_puzzle.asm
index ee76f817c..36f6dacd2 100755
--- a/engine/unown_puzzle.asm
+++ b/engine/unown_puzzle.asm
@@ -157,7 +157,7 @@ PlaceStartCancelBoxBorder: ; e128d
ld a, $f3
ld [hli], a
ld bc, 10
- ld a, $ef
+ ld a, PUZZLE_VOID
call ByteFill
hlcoord 15, 16
ld a, $f3
@@ -218,7 +218,7 @@ UnownPuzzleJumptable: ; e12ca
ld a, [hl]
cp 1 puzcoord 0
ret c
- sub $6
+ sub 6
ld [hl], a
jr .done_joypad
@@ -235,7 +235,7 @@ UnownPuzzleJumptable: ; e12ca
ret z
cp 5 puzcoord 0
ret nc
- add $6
+ add 6
ld [hl], a
jr .done_joypad
@@ -549,51 +549,51 @@ RedrawUnownPuzzlePieces: ; e14d9
ld hl, .OAM_NotHoldingPiece
.load
- ld de, Sprites
+ ld de, Sprite01
.loop
ld a, [hli]
cp -1
ret z
add b
- ld [de], a
+ ld [de], a ; y
inc de
ld a, [hli]
add c
- ld [de], a
+ ld [de], a ; x
inc de
ld a, [wd002]
add [hl]
- ld [de], a
+ ld [de], a ; tile id
inc hl
inc de
ld a, [hli]
- ld [de], a
+ ld [de], a ; attributes
inc de
jr .loop
; e150f
.OAM_HoldingPiece: ; e150f
- dsprite -1, -4, -1, -4, $00, $00
- dsprite -1, -4, 0, -4, $01, $00
- dsprite -1, -4, 0, 4, $02, $00
- dsprite 0, -4, -1, -4, $0c, $00
- dsprite 0, -4, 0, -4, $0d, $00
- dsprite 0, -4, 0, 4, $0e, $00
- dsprite 0, 4, -1, -4, $18, $00
- dsprite 0, 4, 0, -4, $19, $00
- dsprite 0, 4, 0, 4, $1a, $00
+ dsprite -1, -4, -1, -4, $00, 0
+ dsprite -1, -4, 0, -4, $01, 0
+ dsprite -1, -4, 0, 4, $02, 0
+ dsprite 0, -4, -1, -4, $0c, 0
+ dsprite 0, -4, 0, -4, $0d, 0
+ dsprite 0, -4, 0, 4, $0e, 0
+ dsprite 0, 4, -1, -4, $18, 0
+ dsprite 0, 4, 0, -4, $19, 0
+ dsprite 0, 4, 0, 4, $1a, 0
db -1
.OAM_NotHoldingPiece: ; e1534
- dsprite -1, -4, -1, -4, $00, $00
- dsprite -1, -4, 0, -4, $01, $00
- dsprite -1, -4, 0, 4, $00, $20 ; xflip
- dsprite 0, -4, -1, -4, $02, $00
- dsprite 0, -4, 0, -4, $03, $00
- dsprite 0, -4, 0, 4, $02, $20 ; xflip
- dsprite 0, 4, -1, -4, $00, $40 ; yflip
- dsprite 0, 4, 0, -4, $01, $40 ; yflip
- dsprite 0, 4, 0, 4, $00, $60 ; xflip, yflip
+ dsprite -1, -4, -1, -4, $00, 0
+ dsprite -1, -4, 0, -4, $01, 0
+ dsprite -1, -4, 0, 4, $00, 0 | X_FLIP
+ dsprite 0, -4, -1, -4, $02, 0
+ dsprite 0, -4, 0, -4, $03, 0
+ dsprite 0, -4, 0, 4, $02, 0 | X_FLIP
+ dsprite 0, 4, -1, -4, $00, 0 | Y_FLIP
+ dsprite 0, 4, 0, -4, $01, 0 | Y_FLIP
+ dsprite 0, 4, 0, 4, $00, 0 | X_FLIP | Y_FLIP
db -1
UnownPuzzleCoordData: ; e1559
@@ -763,7 +763,7 @@ endr
; e16c7
UnownPuzzle_AddPuzzlePieceBorders: ; e16c7
- ld hl, GFXHeaders
+ ld hl, PuzzlePieceBorderData
ld a, 8
.loop
push af
@@ -819,7 +819,7 @@ endr
ret
; e1703
-GFXHeaders: ; e1703
+PuzzlePieceBorderData: ; e1703
dw .TileBordersGFX + 0 tiles, vTiles0 tile $00
dw .TileBordersGFX + 1 tiles, vTiles0 tile $01
dw .TileBordersGFX + 2 tiles, vTiles0 tile $02
@@ -835,7 +835,7 @@ INCBIN "gfx/unown_puzzle/tile_borders.2bpp"
LoadUnownPuzzlePiecesGFX: ; e17a3
ld a, [ScriptVar]
- and 3
+ maskbits NUM_UNOWN_PUZZLES
ld e, a
ld d, 0
ld hl, .LZPointers
@@ -851,6 +851,7 @@ LoadUnownPuzzlePiecesGFX: ; e17a3
; e17bd
.LZPointers: ; e17bd
+; entries correspond to UNOWNPUZZLE_* constants
dw KabutoPuzzleLZ
dw OmanytePuzzleLZ
dw AerodactylPuzzleLZ
diff --git a/engine/unused_title.asm b/engine/unused_title.asm
index f0b59b527..516fc902e 100644
--- a/engine/unused_title.asm
+++ b/engine/unused_title.asm
@@ -32,7 +32,7 @@ UnusedTitleScreen: ; 10c000
ld hl, UnusedTitleBG_Tilemap
debgcoord 0, 0
- ld bc, 32 * 32
+ ld bc, BG_MAP_WIDTH * BG_MAP_HEIGHT
.copy
ld a, 0
ld [rVBK], a
@@ -49,8 +49,8 @@ UnusedTitleScreen: ; 10c000
jr nz, .copy
ld hl, UnusedTitleFG_OAM
- ld de, Sprites
- ld bc, $a0
+ ld de, Sprite01
+ ld bc, SPRITEOAMSTRUCT_LENGTH * NUM_SPRITE_OAM_STRUCTS
call CopyBytes
call EnableLCD
@@ -63,7 +63,7 @@ UnusedTitleScreen: ; 10c000
ld a, [rSVBK]
push af
- ld a, $5
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld hl, UnusedTitleBG_Palettes
@@ -103,60 +103,12 @@ INCBIN "gfx/title/old_bg.2bpp"
; 10d0b1
UnusedTitleBG_Tilemap: ; 10d0b1
-; 32x32 (tile, attributes)
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $01,$00, $02,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $03,$00, $04,$00, $05,$01, $06,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $07,$05, $08,$05, $09,$05, $0a,$05, $0b,$00, $0c,$00, $0d,$00, $0e,$00, $0f,$01, $10,$01, $11,$01, $12,$01, $13,$05, $14,$05, $15,$05, $16,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $17,$04, $18,$04, $19,$04, $1a,$04, $1b,$00, $1c,$00, $1d,$02, $1e,$02, $1f,$07, $20,$07, $21,$01, $22,$01, $23,$04, $24,$04, $25,$04, $26,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $27,$04, $28,$04, $29,$04, $2a,$04, $2b,$00, $2c,$00, $2d,$03, $2e,$01, $2f,$01, $30,$01, $31,$01, $32,$01, $33,$04, $34,$04, $35,$04, $36,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $37,$04, $38,$04, $39,$04, $3a,$04, $3b,$00, $3c,$00, $3d,$01, $00,$00, $00,$00, $3e,$07, $3f,$01, $40,$01, $41,$04, $42,$04, $43,$04, $44,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $45,$04, $46,$04, $47,$04, $48,$04, $49,$00, $3c,$00, $4a,$01, $00,$00, $00,$00, $4b,$07, $3f,$01, $4c,$01, $4d,$06, $4e,$06, $4f,$06, $50,$06, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $51,$04, $52,$06, $53,$06, $54,$06, $55,$00, $3c,$00, $56,$01, $00,$00, $00,$00, $57,$07, $58,$01, $59,$01, $5a,$06, $5b,$06, $5c,$06, $5d,$06, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $5e,$06, $5f,$06, $60,$06, $61,$06, $62,$00, $63,$00, $64,$03, $65,$01, $66,$01, $67,$07, $68,$01, $69,$01, $26,$04, $6a,$06, $26,$04, $26,$04, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $6b,$00, $6c,$05, $6d,$05, $6e,$05, $6f,$00, $70,$02, $71,$02, $72,$01, $73,$00, $74,$02, $75,$01, $76,$01, $77,$05, $78,$05, $79,$05, $6b,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $7a,$00, $7b,$00, $7c,$00, $7d,$00, $0f,$01, $7e,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $a2,$00, $80,$00, $81,$00, $82,$00, $83,$00, $84,$07, $85,$01, $86,$01, $87,$01, $88,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $89,$00, $8a,$00, $8b,$00, $8c,$07, $8d,$01, $8e,$01, $8f,$01, $90,$01, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $91,$01, $92,$01, $93,$01, $94,$01, $95,$01, $00,$00, $00,$00, $00,$00, $96,$05, $97,$05, $98,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $99,$05, $9a,$05, $9b,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $9c,$05, $9d,$05, $9e,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $9f,$05, $a0,$05, $a1,$05, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $6b,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
- db $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00, $00,$00
+; 32x32 (alternating tiles and attributes)
+INCBIN "gfx/title/old_bg.tilemap"
; 10d8b1
UnusedTitleBG_Palettes: ; 10d8b1
-INCLUDE "data/palettes/unused_title/bg.pal"
-
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
-
- RGB 31, 31, 31
- RGB 20, 04, 20
- RGB 16, 08, 16
- RGB 24, 00, 24
-
-rept 54
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
- RGB 31, 31, 31
-endr
+INCLUDE "gfx/title/old_bg.pal"
; 10dab1
UnusedTitleFG_GFX: ; 10dab1
@@ -164,27 +116,52 @@ INCBIN "gfx/title/old_fg.2bpp"
; 10eab1
UnusedTitleFG_Palettes: ; 10eab1
-INCLUDE "data/palettes/unused_title/ob.pal"
+INCLUDE "gfx/title/old_fg.pal"
; 10ecb1
UnusedTitleFG_OAM: ; 10ecb1
- db $18, $38, $00, $01, $18, $40, $02, $01, $18, $48, $04, $01, $18, $50, $06, $01
- db $18, $58, $08, $01, $18, $60, $0a, $01, $18, $68, $0c, $01, $18, $70, $0e, $01
-
- db $28, $38, $10, $00, $28, $40, $12, $00, $28, $48, $14, $00, $28, $50, $16, $00
- db $28, $58, $18, $00, $28, $60, $1a, $00, $28, $68, $1c, $00, $28, $70, $1e, $00
-
- db $38, $38, $20, $00, $38, $40, $22, $00, $38, $48, $24, $00, $38, $50, $26, $00
- db $38, $58, $28, $00, $38, $60, $2a, $00, $38, $68, $2c, $00, $38, $70, $2e, $00
-
- db $48, $38, $30, $02, $48, $40, $32, $02, $48, $48, $34, $02, $48, $50, $36, $02
- db $48, $58, $38, $02, $48, $60, $3a, $02, $48, $68, $3c, $02, $48, $70, $3e, $02
-
- db $58, $38, $40, $01, $58, $40, $42, $01, $58, $48, $44, $01, $58, $50, $46, $01
- db $58, $58, $48, $01, $58, $60, $4a, $01, $58, $68, $4c, $01, $58, $70, $4e, $01
+ dsprite 3, 0, 7, 0, $00, 1
+ dsprite 3, 0, 8, 0, $02, 1
+ dsprite 3, 0, 9, 0, $04, 1
+ dsprite 3, 0, 10, 0, $06, 1
+ dsprite 3, 0, 11, 0, $08, 1
+ dsprite 3, 0, 12, 0, $0a, 1
+ dsprite 3, 0, 13, 0, $0c, 1
+ dsprite 3, 0, 14, 0, $0e, 1
+ dsprite 5, 0, 7, 0, $10, 0
+ dsprite 5, 0, 8, 0, $12, 0
+ dsprite 5, 0, 9, 0, $14, 0
+ dsprite 5, 0, 10, 0, $16, 0
+ dsprite 5, 0, 11, 0, $18, 0
+ dsprite 5, 0, 12, 0, $1a, 0
+ dsprite 5, 0, 13, 0, $1c, 0
+ dsprite 5, 0, 14, 0, $1e, 0
+ dsprite 7, 0, 7, 0, $20, 0
+ dsprite 7, 0, 8, 0, $22, 0
+ dsprite 7, 0, 9, 0, $24, 0
+ dsprite 7, 0, 10, 0, $26, 0
+ dsprite 7, 0, 11, 0, $28, 0
+ dsprite 7, 0, 12, 0, $2a, 0
+ dsprite 7, 0, 13, 0, $2c, 0
+ dsprite 7, 0, 14, 0, $2e, 0
+ dsprite 9, 0, 7, 0, $30, 2
+ dsprite 9, 0, 8, 0, $32, 2
+ dsprite 9, 0, 9, 0, $34, 2
+ dsprite 9, 0, 10, 0, $36, 2
+ dsprite 9, 0, 11, 0, $38, 2
+ dsprite 9, 0, 12, 0, $3a, 2
+ dsprite 9, 0, 13, 0, $3c, 2
+ dsprite 9, 0, 14, 0, $3e, 2
+ dsprite 11, 0, 7, 0, $40, 1
+ dsprite 11, 0, 8, 0, $42, 1
+ dsprite 11, 0, 9, 0, $44, 1
+ dsprite 11, 0, 10, 0, $46, 1
+ dsprite 11, 0, 11, 0, $48, 1
+ dsprite 11, 0, 12, 0, $4a, 1
+ dsprite 11, 0, 13, 0, $4c, 1
+ dsprite 11, 0, 14, 0, $4e, 1
; 10ed51
-
Function10ed51: ; 10ed51
call _TitleScreen
.loop
diff --git a/engine/variables.asm b/engine/variables.asm
index 1b418ea3c..56c49f085 100755
--- a/engine/variables.asm
+++ b/engine/variables.asm
@@ -35,9 +35,10 @@ _GetVarAction:: ; 80648 (20:4648)
; 80671 (20:4671)
.VarActionTable: ; 80671
-; RETVAR_STRBUF2: copy [de] to StringBuffer2
-; RETVAR_ADDR_DE: return address in de
-; RETVAR_EXECUTE: call function
+; entries correspond to VAR_* constants
+ ; RETVAR_STRBUF2: copy [de] to StringBuffer2
+ ; RETVAR_ADDR_DE: return address in de
+ ; RETVAR_EXECUTE: call function
dwb StringBuffer2, RETVAR_STRBUF2
dwb PartyCount, RETVAR_STRBUF2
dwb .BattleResult, RETVAR_EXECUTE
@@ -125,7 +126,7 @@ _GetVarAction:: ; 80648 (20:4648)
ret z
inc b
ld a, b
- cp 26
+ cp NUM_UNOWN
jr c, .loop
ret
; 80715
diff --git a/engine/warp_connection.asm b/engine/warp_connection.asm
index a0784caac..e15809c04 100755
--- a/engine/warp_connection.asm
+++ b/engine/warp_connection.asm
@@ -11,7 +11,7 @@ InitCommandQueue: ; 1045c4
farcall ClearCmdQueue
ld a, MAPCALLBACK_CMDQUEUE
call RunMapCallback
- call GetMapHeaderTimeOfDayNybble
+ call GetMapTimeOfDay
ld [wMapTimeOfDay], a
ret
@@ -174,8 +174,11 @@ LoadWarpData: ; 1046c6
call GetAnyMapEnvironment
call CheckIndoorMap
ret nz
+
+; MOUNT_MOON_SQUARE and TIN_TOWER_ROOF are outdoor maps within indoor maps.
+; Dig and Escape Rope should not take you to them.
ld a, [wPrevMapGroup]
- cp GROUP_MOUNT_MOON_SQUARE
+ cp GROUP_MOUNT_MOON_SQUARE ; GROUP_TIN_TOWER_ROOF
jr nz, .not_mt_moon_or_tin_tower
ld a, [wPrevMapNumber]
cp MAP_MOUNT_MOON_SQUARE
@@ -183,6 +186,7 @@ LoadWarpData: ; 1046c6
cp MAP_TIN_TOWER_ROOF
ret z
.not_mt_moon_or_tin_tower
+
ld a, [wPrevWarp]
ld [wDigWarpNumber], a
ld a, [wPrevMapGroup]
@@ -206,6 +210,8 @@ LoadWarpData: ; 1046c6
ld b, a
ld a, [wNextMapNumber]
ld c, a
+
+; Respawn in Pokémon Centers.
call GetAnyMapTileset
ld a, c
cp TILESET_POKECENTER
@@ -214,6 +220,7 @@ LoadWarpData: ; 1046c6
jr z, .pokecenter_pokecom
ret
.pokecenter_pokecom
+
ld a, [wPrevMapGroup]
ld [wLastSpawnMapGroup], a
ld a, [wPrevMapNumber]
@@ -254,7 +261,7 @@ LoadMapTimeOfDay: ; 104750
pop af
ld [rVBK], a
- ld a, "<BLACK>"
+ ld a, "■"
ld bc, vBGMap1 - vBGMap0
hlbgcoord 0, 0
call ByteFill
@@ -298,12 +305,12 @@ LoadGraphics: ; 1047cf
ld [hMapAnims], a
xor a
ld [hTileAnimFrame], a
- farcall RefreshSprites
+ farcall Special_RefreshSprites
call LoadFontsExtra
farcall LoadOverworldFont
ret
-LoadMapPalettes: ; 1047eb
+Special_LoadMapPalettes: ; 1047eb
ld b, SCGB_MAPPALS
jp GetSGBLayout
; 1047f0
diff --git a/engine/wildmons.asm b/engine/wildmons.asm
index dc62093b8..50d4ea250 100755
--- a/engine/wildmons.asm
+++ b/engine/wildmons.asm
@@ -212,7 +212,7 @@ TryWildEncounter:: ; 2a0e7
GetMapEncounterRate: ; 2a111
ld hl, wMornEncounterRate
call CheckOnWater
- ld a, 3
+ ld a, wWaterEncounterRate - wMornEncounterRate
jr z, .ok
ld a, [TimeOfDay]
.ok
@@ -508,7 +508,7 @@ LookUpWildmonsForMapDE: ; 2a288
; 2a2a0
-InitRoamMons: ; 2a2a0
+Special_InitRoamMons: ; 2a2a0
; initialize wRoamMon structs
; species
@@ -571,7 +571,7 @@ CheckEncounterRoamMon: ; 2a2ce
ld hl, wRoamMon1MapGroup
ld c, a
ld b, 0
- ld a, 7 ; length of the RoamMon struct
+ ld a, 7 ; length of the roam_struct
call AddNTimes
ld a, d
cp [hl]
@@ -678,9 +678,9 @@ UpdateRoamMons: ; 2a30d
ld l, e
; Choose which map to warp to.
call Random
- and $1f ; 1/8n chance it moves to a completely random map, where n is the number of roaming connections from the current map.
+ and %00011111 ; 1/8n chance it moves to a completely random map, where n is the number of roaming connections from the current map.
jr z, JumpRoamMon
- and 3
+ and %11
cp [hl]
jr nc, .update_loop ; invalid index, try again
inc hl
@@ -739,11 +739,11 @@ JumpRoamMons: ; 2a394
JumpRoamMon: ; 2a3cd
.loop
ld hl, RoamMaps
-.innerloop1 ; This loop is completely unnecessary.
- call Random ; Choose a random number
- and $f ; Take the lower nybble only. This gives a number between 0 and 15.
- cp $10 ; If the number is greater than or equal to 16, loop back and try again.
- jr nc, .innerloop1 ; I'm sure you can guess why this check is bogus.
+.innerloop1 ; This loop happens to be unnecessary.
+ call Random ; Choose a random number.
+ maskbits NUM_ROAMMON_MAPS ; Mask the number to limit it between 0 and 15.
+ cp NUM_ROAMMON_MAPS ; If the number is not less than 16, try again.
+ jr nc, .innerloop1 ; I'm sure you can guess why this check is bogus.
inc a
ld b, a
.innerloop2 ; Loop to get hl to the address of the chosen roam map.
@@ -804,7 +804,7 @@ ValidateTempWildMonSpecies: ; 2a4a0
; Finds a rare wild Pokemon in the route of the trainer calling, then checks if it's been Seen already.
; The trainer will then tell you about the Pokemon if you haven't seen it.
-RandomUnseenWildMon: ; 2a4ab
+Special_RandomUnseenWildMon: ; 2a4ab
farcall GetCallerLocation
ld d, b
ld e, c
@@ -821,11 +821,11 @@ RandomUnseenWildMon: ; 2a4ab
ld bc, 5 + 4 * 2 ; Location of the level of the 5th wild Pokemon in that map
add hl, bc
ld a, [TimeOfDay]
- ld bc, 7 * 2
+ ld bc, NUM_GRASSMON * 2
call AddNTimes
.randloop1
call Random
- and $3
+ and %11
jr z, .randloop1
dec a
ld c, a
@@ -877,7 +877,7 @@ RandomUnseenWildMon: ; 2a4ab
db "@"
; 0x2a51f
-RandomPhoneWildMon: ; 2a51f
+Special_RandomPhoneWildMon: ; 2a51f
farcall GetCallerLocation
ld d, b
ld e, c
@@ -893,7 +893,7 @@ RandomPhoneWildMon: ; 2a51f
add hl, bc
ld a, [TimeOfDay]
inc a
- ld bc, 7 * 2
+ ld bc, NUM_GRASSMON * 2
.loop
dec a
jr z, .done
@@ -902,7 +902,7 @@ RandomPhoneWildMon: ; 2a51f
.done
call Random
- and $3
+ and %11
ld c, a
ld b, $0
add hl, bc
@@ -913,11 +913,11 @@ RandomPhoneWildMon: ; 2a51f
call GetPokemonName
ld hl, StringBuffer1
ld de, StringBuffer4
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
jp CopyBytes
; 2a567
-RandomPhoneMon: ; 2a567
+Special_RandomPhoneMon: ; 2a567
; Get a random monster owned by the trainer who's calling.
farcall GetCallerLocation
ld hl, TrainerGroups
@@ -952,16 +952,17 @@ RandomPhoneMon: ; 2a567
ld a, BANK(Trainers)
call GetFarByte
inc hl
- ld bc, 2
- cp 0
+ ld bc, 2 ; level, species
+ cp TRAINERTYPE_NORMAL
jr z, .got_mon_length
- ld bc, 2 + NUM_MOVES
- cp 1
+ ld bc, 2 + NUM_MOVES ; level, species, moves
+ cp TRAINERTYPE_MOVES
jr z, .got_mon_length
- ld bc, 2 + 1
- cp 2
+ ld bc, 2 + 1 ; level, species, item
+ cp TRAINERTYPE_ITEM
jr z, .got_mon_length
- ld bc, 2 + 1 + NUM_MOVES
+ ; TRAINERTYPE_ITEM_MOVES
+ ld bc, 2 + 1 + NUM_MOVES ; level, species, item, moves
.got_mon_length
ld e, 0
@@ -977,7 +978,7 @@ RandomPhoneMon: ; 2a567
.rand
call Random
- and 7
+ maskbits PARTY_LENGTH
cp e
jr nc, .rand
@@ -996,7 +997,7 @@ RandomPhoneMon: ; 2a567
call GetPokemonName
ld hl, StringBuffer1
ld de, StringBuffer4
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
jp CopyBytes
; 2a5e9
diff --git a/data/palettes/exp_bar.pal b/gfx/battle/exp_bar.pal
index 831bbda95..831bbda95 100644
--- a/data/palettes/exp_bar.pal
+++ b/gfx/battle/exp_bar.pal
diff --git a/data/palettes/hp_bar.pal b/gfx/battle/hp_bar.pal
index 909be8efd..909be8efd 100644
--- a/data/palettes/hp_bar.pal
+++ b/gfx/battle/hp_bar.pal
diff --git a/data/palettes/battle_objects.pal b/gfx/battle_anims/battle_anims.pal
index d2ebb6cef..d2ebb6cef 100644
--- a/data/palettes/battle_objects.pal
+++ b/gfx/battle_anims/battle_anims.pal
diff --git a/data/palettes/card_flip.pal b/gfx/card_flip/card_flip.pal
index 24c5566f8..24c5566f8 100644
--- a/data/palettes/card_flip.pal
+++ b/gfx/card_flip/card_flip.pal
diff --git a/data/palettes/credits.pal b/gfx/credits/credits.pal
index c473f0414..c473f0414 100644
--- a/data/palettes/credits.pal
+++ b/gfx/credits/credits.pal
diff --git a/gfx/credits/pichu.png b/gfx/credits/pichu.png
index 529973d29..1d46ea807 100644
--- a/gfx/credits/pichu.png
+++ b/gfx/credits/pichu.png
Binary files differ
diff --git a/gfx/credits/theend.png b/gfx/credits/theend.png
index 1f10e16df..eaaf393b7 100644
--- a/gfx/credits/theend.png
+++ b/gfx/credits/theend.png
Binary files differ
diff --git a/data/palettes/debug/bg.pal b/gfx/debug/bg.pal
index d0b573598..d0b573598 100644
--- a/data/palettes/debug/bg.pal
+++ b/gfx/debug/bg.pal
diff --git a/data/palettes/debug/ob.pal b/gfx/debug/ob.pal
index 2a03f4e8f..2a03f4e8f 100644
--- a/data/palettes/debug/ob.pal
+++ b/gfx/debug/ob.pal
diff --git a/data/palettes/diploma.pal b/gfx/diploma/diploma.pal
index 2c9ec6453..2c9ec6453 100644
--- a/data/palettes/diploma.pal
+++ b/gfx/diploma/diploma.pal
diff --git a/gfx/font.asm b/gfx/font.asm
index 9da7eaafc..bf5741074 100755
--- a/gfx/font.asm
+++ b/gfx/font.asm
@@ -23,15 +23,6 @@ INCBIN "gfx/frames/9.1bpp"
StatsScreenPageTilesGFX: ; f89b0
INCBIN "gfx/stats/stats_tiles.2bpp"
-; f8a90
-
-ShinyIconGFX: ; f8a90
-; also part of StatsScreenPageTilesGFX
-INCBIN "gfx/stats/shiny.2bpp"
-
-ExpBarEndsGFX: ; f8aa0
-; not referenced on its own, but part of StatsScreenPageTilesGFX
-INCBIN "gfx/stats/exp_bar_ends.2bpp"
; f8ac0
EnemyHPBarBorderGFX: ; f8ac0
@@ -54,8 +45,8 @@ UnusedWeekdayKanjiGFX: ; unused kanji
INCBIN "gfx/font/unused_weekday_kanji.2bpp"
; f8f24
-OverworldPhoneIconGFX: ; f8f24
-INCBIN "gfx/font/overworld_phone_icon.2bpp"
+PokegearPhoneIconGFX: ; f8f24
+INCBIN "gfx/font/phone_icon.2bpp"
; f8f34
UnusedBoldFontGFX: ; unused bold letters + unown chars
@@ -66,7 +57,15 @@ TextBoxSpaceGFX: ; f9204
INCBIN "gfx/frames/space.1bpp"
; f9214
-MobilePhoneTilesGFX: ; f9214
+FontsExtra_SolidBlackGFX: ; f9214
+INCBIN "gfx/font/black.1bpp"
+; f921c
+
+UnusedUpArrowGFX: ; unused up arrow + whitespace
+INCBIN "gfx/font/unused_up_arrow.1bpp"
+; f9234
+
+MobilePhoneTilesGFX: ; f9234
INCBIN "gfx/mobile/phone_tiles.2bpp"
; f9344
@@ -81,158 +80,3 @@ INCBIN "gfx/font/up_arrow.2bpp"
Footprints: ; f9434
INCLUDE "gfx/footprints.asm"
; fb434
-
-; This and the following two functions are unreferenced.
-; Debug, perhaps?
-Unknown_fb434:
- db 0
-
-Functionfb435: ; 4b435
- ld a, [Unknown_fb434]
- and a
- jp nz, Get1bpp_2
- jp Get1bpp
-; fb43f
-
-Functionfb43f: ; fb43f
- ld a, [Unknown_fb434]
- and a
- jp nz, Get2bpp_2
- jp Get2bpp
-; End unreferenced block
-; fb449
-
-_LoadStandardFont:: ; fb449
- ld de, Font
- ld hl, vTiles1
- lb bc, BANK(Font), $80
- ld a, [rLCDC]
- bit rLCDC_ENABLE, a
- jp z, Copy1bpp
-
- ld de, Font
- ld hl, vTiles1
- lb bc, BANK(Font), $20
- call Get1bpp_2
- ld de, Font + $20 * LEN_1BPP_TILE
- ld hl, vTiles1 tile $20
- lb bc, BANK(Font), $20
- call Get1bpp_2
- ld de, Font + $40 * LEN_1BPP_TILE
- ld hl, vTiles1 tile $40
- lb bc, BANK(Font), $20
- call Get1bpp_2
- ld de, Font + $60 * LEN_1BPP_TILE
- ld hl, vTiles1 tile $60
- lb bc, BANK(Font), $20
- call Get1bpp_2
- ret
-; fb48a
-
-_LoadFontsExtra1:: ; fb48a
- ld de, MobilePhoneTilesGFX
- ld hl, vTiles2 tile "<BLACK>" ; $60
- lb bc, BANK(MobilePhoneTilesGFX), 1
- call Get1bpp_2
- ld de, OverworldPhoneIconGFX
- ld hl, vTiles2 tile "<PHONE>" ; $62
- lb bc, BANK(OverworldPhoneIconGFX), 1
- call Get2bpp_2
- ld de, FontExtra + 3 * LEN_2BPP_TILE
- ld hl, vTiles2 tile $63
- lb bc, BANK(FontExtra), $16
- call Get2bpp_2
- jr LoadFrame
-; fb4b0
-
-_LoadFontsExtra2:: ; fb4b0
- ld de, FontsExtra2_UpArrowGFX
- ld hl, vTiles2 tile "▲" ; $61
- ld b, BANK(FontsExtra2_UpArrowGFX)
- ld c, 1
- call Get2bpp_2
- ret
-; fb4be
-
-_LoadFontsBattleExtra:: ; fb4be
- ld de, FontBattleExtra
- ld hl, vTiles2 tile $60
- lb bc, BANK(FontBattleExtra), $19
- call Get2bpp_2
- jr LoadFrame
-; fb4cc
-
-LoadFrame: ; fb4cc
- ld a, [TextBoxFrame]
- and 7
- ld bc, LEN_1BPP_TILE * 6
- ld hl, Frames
- call AddNTimes
- ld d, h
- ld e, l
- ld hl, vTiles2 tile "┌" ; $79
- lb bc, BANK(Frames), 6
- call Get1bpp_2
- ld hl, vTiles2 tile " " ; $7f
- ld de, TextBoxSpaceGFX
- lb bc, BANK(TextBoxSpaceGFX), 1
- call Get1bpp_2
- ret
-; fb4f2
-
-LoadBattleFontsHPBar: ; fb4f2
- ld de, FontBattleExtra
- ld hl, vTiles2 tile $60
- lb bc, BANK(FontBattleExtra), $c
- call Get2bpp_2
- ld hl, vTiles2 tile $70
- ld de, FontBattleExtra tile $10
- lb bc, BANK(FontBattleExtra), 3
- call Get2bpp_2
- call LoadFrame
-
-LoadHPBar: ; fb50d
- ld de, EnemyHPBarBorderGFX
- ld hl, vTiles2 tile $6c
- lb bc, BANK(EnemyHPBarBorderGFX), 4
- call Get1bpp_2
- ld de, HPExpBarBorderGFX
- ld hl, vTiles2 tile $73
- lb bc, BANK(HPExpBarBorderGFX), 6
- call Get1bpp_2
- ld de, ExpBarGFX
- ld hl, vTiles2 tile $55
- lb bc, BANK(ExpBarGFX), 9
- call Get2bpp_2
- ld de, MobilePhoneTilesGFX + 9 * LEN_2BPP_TILE
- ld hl, vTiles2 tile $5e
- lb bc, BANK(MobilePhoneTilesGFX), 2
- call Get2bpp_2
- ret
-; fb53e
-
-StatsScreen_LoadFont: ; fb53e
- call _LoadFontsBattleExtra
- ld de, EnemyHPBarBorderGFX
- ld hl, vTiles2 tile $6c
- lb bc, BANK(EnemyHPBarBorderGFX), 4
- call Get1bpp_2
- ld de, HPExpBarBorderGFX
- ld hl, vTiles2 tile $78
- lb bc, BANK(HPExpBarBorderGFX), 1
- call Get1bpp_2
- ld de, HPExpBarBorderGFX + 3 * LEN_1BPP_TILE
- ld hl, vTiles2 tile $76
- lb bc, BANK(HPExpBarBorderGFX), 2
- call Get1bpp_2
- ld de, ExpBarGFX
- ld hl, vTiles2 tile $55
- lb bc, BANK(ExpBarGFX), 8
- call Get2bpp_2
-LoadStatsScreenPageTilesGFX: ; fb571
- ld de, StatsScreenPageTilesGFX
- ld hl, vTiles2 tile $31
- lb bc, BANK(StatsScreenPageTilesGFX), $11
- call Get2bpp_2
- ret
-; fb57e
diff --git a/data/palettes/overworld/bg_text.pal b/gfx/font/bg_text.pal
index 39a4a194c..39a4a194c 100644
--- a/data/palettes/overworld/bg_text.pal
+++ b/gfx/font/bg_text.pal
diff --git a/gfx/timeset/background.png b/gfx/font/black.png
index e2bd6299c..e2bd6299c 100644
--- a/gfx/timeset/background.png
+++ b/gfx/font/black.png
Binary files differ
diff --git a/gfx/font/font_battle_extra.png b/gfx/font/font_battle_extra.png
index 15e25a40c..2472048d9 100644
--- a/gfx/font/font_battle_extra.png
+++ b/gfx/font/font_battle_extra.png
Binary files differ
diff --git a/gfx/font/font_extra.png b/gfx/font/font_extra.png
index 7ca840c3a..b9fbf811e 100644
--- a/gfx/font/font_extra.png
+++ b/gfx/font/font_extra.png
Binary files differ
diff --git a/gfx/font/space.png b/gfx/font/overworld_space.png
index 726178132..726178132 100644
--- a/gfx/font/space.png
+++ b/gfx/font/overworld_space.png
Binary files differ
diff --git a/gfx/font/overworld_phone_icon.png b/gfx/font/phone_icon.png
index 9e13a121b..9e13a121b 100644
--- a/gfx/font/overworld_phone_icon.png
+++ b/gfx/font/phone_icon.png
Binary files differ
diff --git a/gfx/font/unused_up_arrow.png b/gfx/font/unused_up_arrow.png
new file mode 100644
index 000000000..cb62087aa
--- /dev/null
+++ b/gfx/font/unused_up_arrow.png
Binary files differ
diff --git a/gfx/icons.asm b/gfx/icons.asm
index 5b28a99cd..0733c26f6 100644
--- a/gfx/icons.asm
+++ b/gfx/icons.asm
@@ -1,40 +1,40 @@
Icons:
NullIcon:
-PoliwagIcon: INCBIN "gfx/icon/poliwag.2bpp" ; 0x8ec0d
-JigglypuffIcon: INCBIN "gfx/icon/jigglypuff.2bpp" ; 0x8ec8d
-DiglettIcon: INCBIN "gfx/icon/diglett.2bpp" ; 0x8ed0d
-PikachuIcon: INCBIN "gfx/icon/pikachu.2bpp" ; 0x8ed8d
-StaryuIcon: INCBIN "gfx/icon/staryu.2bpp" ; 0x8ee0d
-FishIcon: INCBIN "gfx/icon/fish.2bpp" ; 0x8ee8d
-BirdIcon: INCBIN "gfx/icon/bird.2bpp" ; 0x8ef0d
-MonsterIcon: INCBIN "gfx/icon/monster.2bpp" ; 0x8ef8d
-ClefairyIcon: INCBIN "gfx/icon/clefairy.2bpp" ; 0x8f00d
-OddishIcon: INCBIN "gfx/icon/oddish.2bpp" ; 0x8f08d
-BugIcon: INCBIN "gfx/icon/bug.2bpp" ; 0x8f10d
-GhostIcon: INCBIN "gfx/icon/ghost.2bpp" ; 0x8f18d
-LaprasIcon: INCBIN "gfx/icon/lapras.2bpp" ; 0x8f20d
-HumanshapeIcon: INCBIN "gfx/icon/humanshape.2bpp" ; 0x8f28d
-FoxIcon: INCBIN "gfx/icon/fox.2bpp" ; 0x8f30d
-EquineIcon: INCBIN "gfx/icon/equine.2bpp" ; 0x8f38d
-ShellIcon: INCBIN "gfx/icon/shell.2bpp" ; 0x8f40d
-BlobIcon: INCBIN "gfx/icon/blob.2bpp" ; 0x8f48d
-SerpentIcon: INCBIN "gfx/icon/serpent.2bpp" ; 0x8f50d
-VoltorbIcon: INCBIN "gfx/icon/voltorb.2bpp" ; 0x8f58d
-SquirtleIcon: INCBIN "gfx/icon/squirtle.2bpp" ; 0x8f60d
-BulbasaurIcon: INCBIN "gfx/icon/bulbasaur.2bpp" ; 0x8f68d
-CharmanderIcon: INCBIN "gfx/icon/charmander.2bpp" ; 0x8f70d
-CaterpillarIcon: INCBIN "gfx/icon/caterpillar.2bpp" ; 0x8f78d
-UnownIcon: INCBIN "gfx/icon/unown.2bpp" ; 0x8f80d
-GeodudeIcon: INCBIN "gfx/icon/geodude.2bpp" ; 0x8f88d
-FighterIcon: INCBIN "gfx/icon/fighter.2bpp" ; 0x8f90d
-EggIcon: INCBIN "gfx/icon/egg.2bpp" ; 0x8f98d
-JellyfishIcon: INCBIN "gfx/icon/jellyfish.2bpp" ; 0x8fa0d
-MothIcon: INCBIN "gfx/icon/moth.2bpp" ; 0x8fa8d
-BatIcon: INCBIN "gfx/icon/bat.2bpp" ; 0x8fb0d
-SnorlaxIcon: INCBIN "gfx/icon/snorlax.2bpp" ; 0x8fb8d
-HoOhIcon: INCBIN "gfx/icon/ho_oh.2bpp" ; 0x8fc0d
-LugiaIcon: INCBIN "gfx/icon/lugia.2bpp" ; 0x8fc8d
-GyaradosIcon: INCBIN "gfx/icon/gyarados.2bpp" ; 0x8fd0d
-SlowpokeIcon: INCBIN "gfx/icon/slowpoke.2bpp" ; 0x8fd8d
-SudowoodoIcon: INCBIN "gfx/icon/sudowoodo.2bpp" ; 0x8fe0d
-BigmonIcon: INCBIN "gfx/icon/bigmon.2bpp" ; 0x8fe8d
+PoliwagIcon: INCBIN "gfx/icons/poliwag.2bpp" ; 0x8ec0d
+JigglypuffIcon: INCBIN "gfx/icons/jigglypuff.2bpp" ; 0x8ec8d
+DiglettIcon: INCBIN "gfx/icons/diglett.2bpp" ; 0x8ed0d
+PikachuIcon: INCBIN "gfx/icons/pikachu.2bpp" ; 0x8ed8d
+StaryuIcon: INCBIN "gfx/icons/staryu.2bpp" ; 0x8ee0d
+FishIcon: INCBIN "gfx/icons/fish.2bpp" ; 0x8ee8d
+BirdIcon: INCBIN "gfx/icons/bird.2bpp" ; 0x8ef0d
+MonsterIcon: INCBIN "gfx/icons/monster.2bpp" ; 0x8ef8d
+ClefairyIcon: INCBIN "gfx/icons/clefairy.2bpp" ; 0x8f00d
+OddishIcon: INCBIN "gfx/icons/oddish.2bpp" ; 0x8f08d
+BugIcon: INCBIN "gfx/icons/bug.2bpp" ; 0x8f10d
+GhostIcon: INCBIN "gfx/icons/ghost.2bpp" ; 0x8f18d
+LaprasIcon: INCBIN "gfx/icons/lapras.2bpp" ; 0x8f20d
+HumanshapeIcon: INCBIN "gfx/icons/humanshape.2bpp" ; 0x8f28d
+FoxIcon: INCBIN "gfx/icons/fox.2bpp" ; 0x8f30d
+EquineIcon: INCBIN "gfx/icons/equine.2bpp" ; 0x8f38d
+ShellIcon: INCBIN "gfx/icons/shell.2bpp" ; 0x8f40d
+BlobIcon: INCBIN "gfx/icons/blob.2bpp" ; 0x8f48d
+SerpentIcon: INCBIN "gfx/icons/serpent.2bpp" ; 0x8f50d
+VoltorbIcon: INCBIN "gfx/icons/voltorb.2bpp" ; 0x8f58d
+SquirtleIcon: INCBIN "gfx/icons/squirtle.2bpp" ; 0x8f60d
+BulbasaurIcon: INCBIN "gfx/icons/bulbasaur.2bpp" ; 0x8f68d
+CharmanderIcon: INCBIN "gfx/icons/charmander.2bpp" ; 0x8f70d
+CaterpillarIcon: INCBIN "gfx/icons/caterpillar.2bpp" ; 0x8f78d
+UnownIcon: INCBIN "gfx/icons/unown.2bpp" ; 0x8f80d
+GeodudeIcon: INCBIN "gfx/icons/geodude.2bpp" ; 0x8f88d
+FighterIcon: INCBIN "gfx/icons/fighter.2bpp" ; 0x8f90d
+EggIcon: INCBIN "gfx/icons/egg.2bpp" ; 0x8f98d
+JellyfishIcon: INCBIN "gfx/icons/jellyfish.2bpp" ; 0x8fa0d
+MothIcon: INCBIN "gfx/icons/moth.2bpp" ; 0x8fa8d
+BatIcon: INCBIN "gfx/icons/bat.2bpp" ; 0x8fb0d
+SnorlaxIcon: INCBIN "gfx/icons/snorlax.2bpp" ; 0x8fb8d
+HoOhIcon: INCBIN "gfx/icons/ho_oh.2bpp" ; 0x8fc0d
+LugiaIcon: INCBIN "gfx/icons/lugia.2bpp" ; 0x8fc8d
+GyaradosIcon: INCBIN "gfx/icons/gyarados.2bpp" ; 0x8fd0d
+SlowpokeIcon: INCBIN "gfx/icons/slowpoke.2bpp" ; 0x8fd8d
+SudowoodoIcon: INCBIN "gfx/icons/sudowoodo.2bpp" ; 0x8fe0d
+BigmonIcon: INCBIN "gfx/icons/bigmon.2bpp" ; 0x8fe8d
diff --git a/gfx/icon/bat.png b/gfx/icons/bat.png
index 3ea2ea832..3ea2ea832 100644
--- a/gfx/icon/bat.png
+++ b/gfx/icons/bat.png
Binary files differ
diff --git a/gfx/icon/bigmon.png b/gfx/icons/bigmon.png
index 4a77f1ece..4a77f1ece 100644
--- a/gfx/icon/bigmon.png
+++ b/gfx/icons/bigmon.png
Binary files differ
diff --git a/gfx/icon/bird.png b/gfx/icons/bird.png
index e13bc6cba..e13bc6cba 100644
--- a/gfx/icon/bird.png
+++ b/gfx/icons/bird.png
Binary files differ
diff --git a/gfx/icon/blob.png b/gfx/icons/blob.png
index aef74ae64..aef74ae64 100644
--- a/gfx/icon/blob.png
+++ b/gfx/icons/blob.png
Binary files differ
diff --git a/gfx/icon/bug.png b/gfx/icons/bug.png
index 97504f721..97504f721 100644
--- a/gfx/icon/bug.png
+++ b/gfx/icons/bug.png
Binary files differ
diff --git a/gfx/icon/bulbasaur.png b/gfx/icons/bulbasaur.png
index 1de6636f8..1de6636f8 100644
--- a/gfx/icon/bulbasaur.png
+++ b/gfx/icons/bulbasaur.png
Binary files differ
diff --git a/gfx/icon/caterpillar.png b/gfx/icons/caterpillar.png
index 85558104b..85558104b 100644
--- a/gfx/icon/caterpillar.png
+++ b/gfx/icons/caterpillar.png
Binary files differ
diff --git a/gfx/icon/charmander.png b/gfx/icons/charmander.png
index 3d85f1316..3d85f1316 100644
--- a/gfx/icon/charmander.png
+++ b/gfx/icons/charmander.png
Binary files differ
diff --git a/gfx/icon/clefairy.png b/gfx/icons/clefairy.png
index 0017d9ddb..0017d9ddb 100644
--- a/gfx/icon/clefairy.png
+++ b/gfx/icons/clefairy.png
Binary files differ
diff --git a/gfx/icon/diglett.png b/gfx/icons/diglett.png
index 307181f71..307181f71 100644
--- a/gfx/icon/diglett.png
+++ b/gfx/icons/diglett.png
Binary files differ
diff --git a/gfx/icon/egg.png b/gfx/icons/egg.png
index 129346fd9..129346fd9 100644
--- a/gfx/icon/egg.png
+++ b/gfx/icons/egg.png
Binary files differ
diff --git a/gfx/icon/equine.png b/gfx/icons/equine.png
index b3da7181b..b3da7181b 100644
--- a/gfx/icon/equine.png
+++ b/gfx/icons/equine.png
Binary files differ
diff --git a/gfx/icon/fighter.png b/gfx/icons/fighter.png
index 9deab976f..9deab976f 100644
--- a/gfx/icon/fighter.png
+++ b/gfx/icons/fighter.png
Binary files differ
diff --git a/gfx/icon/fish.png b/gfx/icons/fish.png
index 35dbb1d2f..35dbb1d2f 100644
--- a/gfx/icon/fish.png
+++ b/gfx/icons/fish.png
Binary files differ
diff --git a/gfx/icon/fox.png b/gfx/icons/fox.png
index 0419c87c7..0419c87c7 100644
--- a/gfx/icon/fox.png
+++ b/gfx/icons/fox.png
Binary files differ
diff --git a/gfx/icon/geodude.png b/gfx/icons/geodude.png
index 02db8771d..02db8771d 100644
--- a/gfx/icon/geodude.png
+++ b/gfx/icons/geodude.png
Binary files differ
diff --git a/gfx/icon/ghost.png b/gfx/icons/ghost.png
index 7ecf8ed0f..7ecf8ed0f 100644
--- a/gfx/icon/ghost.png
+++ b/gfx/icons/ghost.png
Binary files differ
diff --git a/gfx/icon/gyarados.png b/gfx/icons/gyarados.png
index fad5d8ae3..fad5d8ae3 100644
--- a/gfx/icon/gyarados.png
+++ b/gfx/icons/gyarados.png
Binary files differ
diff --git a/gfx/icon/ho_oh.png b/gfx/icons/ho_oh.png
index 6ee91781e..6ee91781e 100644
--- a/gfx/icon/ho_oh.png
+++ b/gfx/icons/ho_oh.png
Binary files differ
diff --git a/gfx/icon/humanshape.png b/gfx/icons/humanshape.png
index f5d0b9290..f5d0b9290 100644
--- a/gfx/icon/humanshape.png
+++ b/gfx/icons/humanshape.png
Binary files differ
diff --git a/gfx/icon/item.png b/gfx/icons/item.png
index a47d55009..a47d55009 100644
--- a/gfx/icon/item.png
+++ b/gfx/icons/item.png
Binary files differ
diff --git a/gfx/icon/jellyfish.png b/gfx/icons/jellyfish.png
index 8583d5cdc..8583d5cdc 100644
--- a/gfx/icon/jellyfish.png
+++ b/gfx/icons/jellyfish.png
Binary files differ
diff --git a/gfx/icon/jigglypuff.png b/gfx/icons/jigglypuff.png
index 70f87b0df..70f87b0df 100644
--- a/gfx/icon/jigglypuff.png
+++ b/gfx/icons/jigglypuff.png
Binary files differ
diff --git a/gfx/icon/lapras.png b/gfx/icons/lapras.png
index 89ad063d0..89ad063d0 100644
--- a/gfx/icon/lapras.png
+++ b/gfx/icons/lapras.png
Binary files differ
diff --git a/gfx/icon/lugia.png b/gfx/icons/lugia.png
index 56dbf283b..56dbf283b 100644
--- a/gfx/icon/lugia.png
+++ b/gfx/icons/lugia.png
Binary files differ
diff --git a/gfx/icon/mail.png b/gfx/icons/mail.png
index 53db461e5..53db461e5 100644
--- a/gfx/icon/mail.png
+++ b/gfx/icons/mail.png
Binary files differ
diff --git a/gfx/icon/mail2.png b/gfx/icons/mail_big.png
index 7ad25edbf..7ad25edbf 100644
--- a/gfx/icon/mail2.png
+++ b/gfx/icons/mail_big.png
Binary files differ
diff --git a/gfx/icon/monster.png b/gfx/icons/monster.png
index f97c67b64..f97c67b64 100644
--- a/gfx/icon/monster.png
+++ b/gfx/icons/monster.png
Binary files differ
diff --git a/gfx/icon/moth.png b/gfx/icons/moth.png
index f44440f5c..f44440f5c 100644
--- a/gfx/icon/moth.png
+++ b/gfx/icons/moth.png
Binary files differ
diff --git a/gfx/icon/oddish.png b/gfx/icons/oddish.png
index c069bd444..c069bd444 100644
--- a/gfx/icon/oddish.png
+++ b/gfx/icons/oddish.png
Binary files differ
diff --git a/gfx/icon/pikachu.png b/gfx/icons/pikachu.png
index 7b7d23dbd..7b7d23dbd 100644
--- a/gfx/icon/pikachu.png
+++ b/gfx/icons/pikachu.png
Binary files differ
diff --git a/gfx/icon/poliwag.png b/gfx/icons/poliwag.png
index b6b63a81e..b6b63a81e 100644
--- a/gfx/icon/poliwag.png
+++ b/gfx/icons/poliwag.png
Binary files differ
diff --git a/gfx/icon/serpent.png b/gfx/icons/serpent.png
index de575f088..de575f088 100644
--- a/gfx/icon/serpent.png
+++ b/gfx/icons/serpent.png
Binary files differ
diff --git a/gfx/icon/shell.png b/gfx/icons/shell.png
index 4daf27634..4daf27634 100644
--- a/gfx/icon/shell.png
+++ b/gfx/icons/shell.png
Binary files differ
diff --git a/gfx/icon/slowpoke.png b/gfx/icons/slowpoke.png
index 221f3f7a5..221f3f7a5 100644
--- a/gfx/icon/slowpoke.png
+++ b/gfx/icons/slowpoke.png
Binary files differ
diff --git a/gfx/icon/snorlax.png b/gfx/icons/snorlax.png
index f2c1b0b74..f2c1b0b74 100644
--- a/gfx/icon/snorlax.png
+++ b/gfx/icons/snorlax.png
Binary files differ
diff --git a/gfx/icon/squirtle.png b/gfx/icons/squirtle.png
index 614aa21b2..614aa21b2 100644
--- a/gfx/icon/squirtle.png
+++ b/gfx/icons/squirtle.png
Binary files differ
diff --git a/gfx/icon/staryu.png b/gfx/icons/staryu.png
index 52361c780..52361c780 100644
--- a/gfx/icon/staryu.png
+++ b/gfx/icons/staryu.png
Binary files differ
diff --git a/gfx/icon/sudowoodo.png b/gfx/icons/sudowoodo.png
index d115356bb..d115356bb 100644
--- a/gfx/icon/sudowoodo.png
+++ b/gfx/icons/sudowoodo.png
Binary files differ
diff --git a/gfx/icon/unown.png b/gfx/icons/unown.png
index 0a4d0e426..0a4d0e426 100644
--- a/gfx/icon/unown.png
+++ b/gfx/icons/unown.png
Binary files differ
diff --git a/gfx/icon/voltorb.png b/gfx/icons/voltorb.png
index ef289541a..ef289541a 100644
--- a/gfx/icon/voltorb.png
+++ b/gfx/icons/voltorb.png
Binary files differ
diff --git a/data/palettes/crystal_intro/fade.pal b/gfx/intro/fade.pal
index 8e03cbc43..8e03cbc43 100644
--- a/data/palettes/crystal_intro/fade.pal
+++ b/gfx/intro/fade.pal
diff --git a/data/palettes/crystal_intro/gamefreak_logo.pal b/gfx/intro/gamefreak_logo.pal
index c3a526b82..c3a526b82 100644
--- a/data/palettes/crystal_intro/gamefreak_logo.pal
+++ b/gfx/intro/gamefreak_logo.pal
diff --git a/data/palettes/crystal_intro/intro_1.pal b/gfx/intro/intro_1.pal
index ae0faadac..ae0faadac 100644
--- a/data/palettes/crystal_intro/intro_1.pal
+++ b/gfx/intro/intro_1.pal
diff --git a/data/palettes/crystal_intro/intro_2.pal b/gfx/intro/intro_2.pal
index 5f83df020..5f83df020 100644
--- a/data/palettes/crystal_intro/intro_2.pal
+++ b/gfx/intro/intro_2.pal
diff --git a/data/palettes/crystal_intro/intro_3.pal b/gfx/intro/intro_3.pal
index 95f3e052a..95f3e052a 100644
--- a/data/palettes/crystal_intro/intro_3.pal
+++ b/gfx/intro/intro_3.pal
diff --git a/data/palettes/crystal_intro/intro_4.pal b/gfx/intro/intro_4.pal
index fdcf058de..fdcf058de 100644
--- a/data/palettes/crystal_intro/intro_4.pal
+++ b/gfx/intro/intro_4.pal
diff --git a/data/palettes/crystal_intro/intro_5.pal b/gfx/intro/intro_5.pal
index 5b1be1a5f..5b1be1a5f 100644
--- a/data/palettes/crystal_intro/intro_5.pal
+++ b/gfx/intro/intro_5.pal
diff --git a/data/palettes/mail.pal b/gfx/mail/mail.pal
index 4096ffae1..4096ffae1 100644
--- a/data/palettes/mail.pal
+++ b/gfx/mail/mail.pal
diff --git a/gfx/mobile/mobile_adapter.png b/gfx/mobile/mobile_adapter.png
index fa5965e92..f02e3b614 100644
--- a/gfx/mobile/mobile_adapter.png
+++ b/gfx/mobile/mobile_adapter.png
Binary files differ
diff --git a/gfx/mobile/phone_tiles.png b/gfx/mobile/phone_tiles.png
index 5450c15f8..3aa8a68ef 100644
--- a/gfx/mobile/phone_tiles.png
+++ b/gfx/mobile/phone_tiles.png
Binary files differ
diff --git a/data/palettes/mg_mobile.pal b/gfx/mystery_gift/mg_mobile.pal
index c77e8c63f..c77e8c63f 100644
--- a/data/palettes/mg_mobile.pal
+++ b/gfx/mystery_gift/mg_mobile.pal
diff --git a/gfx/mystery_gift/mystery_gift.pal b/gfx/mystery_gift/mystery_gift.pal
new file mode 100644
index 000000000..caa44f734
--- /dev/null
+++ b/gfx/mystery_gift/mystery_gift.pal
@@ -0,0 +1,9 @@
+ RGB 31, 31, 31
+ RGB 16, 31, 14
+ RGB 05, 14, 21
+ RGB 05, 13, 10
+
+ RGB 31, 31, 31
+ RGB 11, 21, 25
+ RGB 05, 14, 21
+ RGB 00, 03, 19
diff --git a/gfx/mystery_gift/mystery_gift.png b/gfx/mystery_gift/mystery_gift.png
index 0fd458dec..83908847a 100644
--- a/gfx/mystery_gift/mystery_gift.png
+++ b/gfx/mystery_gift/mystery_gift.png
Binary files differ
diff --git a/gfx/namingscreen/border.png b/gfx/naming_screen/border.png
index 36935ab82..36935ab82 100644
--- a/gfx/namingscreen/border.png
+++ b/gfx/naming_screen/border.png
Binary files differ
diff --git a/gfx/namingscreen/cursor.png b/gfx/naming_screen/cursor.png
index a0429a3ad..a0429a3ad 100644
--- a/gfx/namingscreen/cursor.png
+++ b/gfx/naming_screen/cursor.png
Binary files differ
diff --git a/gfx/namingscreen/end.png b/gfx/naming_screen/end.png
index c8e132b92..c8e132b92 100644
--- a/gfx/namingscreen/end.png
+++ b/gfx/naming_screen/end.png
Binary files differ
diff --git a/gfx/namingscreen/middle_line.png b/gfx/naming_screen/middle_line.png
index a34e82bf1..a34e82bf1 100644
--- a/gfx/namingscreen/middle_line.png
+++ b/gfx/naming_screen/middle_line.png
Binary files differ
diff --git a/gfx/namingscreen/underline.png b/gfx/naming_screen/underline.png
index e92cd4d6a..e92cd4d6a 100644
--- a/gfx/namingscreen/underline.png
+++ b/gfx/naming_screen/underline.png
Binary files differ
diff --git a/gfx/timeset/down_arrow.png b/gfx/new_game/down_arrow.png
index 33803e197..33803e197 100644
--- a/gfx/timeset/down_arrow.png
+++ b/gfx/new_game/down_arrow.png
Binary files differ
diff --git a/gfx/new_game/gender_screen.pal b/gfx/new_game/gender_screen.pal
new file mode 100644
index 000000000..ca8ae04aa
--- /dev/null
+++ b/gfx/new_game/gender_screen.pal
@@ -0,0 +1,4 @@
+ RGB 31, 31, 31
+ RGB 09, 30, 31
+ RGB 01, 11, 31
+ RGB 00, 00, 00
diff --git a/gfx/intro/gender_screen.png b/gfx/new_game/gender_screen.png
index 726178132..726178132 100644
--- a/gfx/intro/gender_screen.png
+++ b/gfx/new_game/gender_screen.png
Binary files differ
diff --git a/gfx/shrink/shrink1.2bpp.lz.d4443930 b/gfx/new_game/shrink1.2bpp.lz.d4443930
index 284bee8c2..284bee8c2 100644
--- a/gfx/shrink/shrink1.2bpp.lz.d4443930
+++ b/gfx/new_game/shrink1.2bpp.lz.d4443930
Binary files differ
diff --git a/gfx/shrink/shrink1.png b/gfx/new_game/shrink1.png
index 6cf5b8077..6cf5b8077 100644
--- a/gfx/shrink/shrink1.png
+++ b/gfx/new_game/shrink1.png
Binary files differ
diff --git a/gfx/shrink/shrink2.2bpp.lz.3f58480a b/gfx/new_game/shrink2.2bpp.lz.3f58480a
index df14d5ed4..df14d5ed4 100644
--- a/gfx/shrink/shrink2.2bpp.lz.3f58480a
+++ b/gfx/new_game/shrink2.2bpp.lz.3f58480a
Binary files differ
diff --git a/gfx/shrink/shrink2.png b/gfx/new_game/shrink2.png
index 276b4e7c7..276b4e7c7 100644
--- a/gfx/shrink/shrink2.png
+++ b/gfx/new_game/shrink2.png
Binary files differ
diff --git a/gfx/new_game/timeset_bg.png b/gfx/new_game/timeset_bg.png
new file mode 100644
index 000000000..e2bd6299c
--- /dev/null
+++ b/gfx/new_game/timeset_bg.png
Binary files differ
diff --git a/gfx/timeset/up_arrow.png b/gfx/new_game/up_arrow.png
index d8cfc7f3f..d8cfc7f3f 100644
--- a/gfx/timeset/up_arrow.png
+++ b/gfx/new_game/up_arrow.png
Binary files differ
diff --git a/gfx/overworld/chris_fish.png b/gfx/overworld/chris_fish.png
index ea0730151..81e05279a 100644
--- a/gfx/overworld/chris_fish.png
+++ b/gfx/overworld/chris_fish.png
Binary files differ
diff --git a/gfx/overworld/heal_machine.pal b/gfx/overworld/heal_machine.pal
new file mode 100644
index 000000000..28a76de40
--- /dev/null
+++ b/gfx/overworld/heal_machine.pal
@@ -0,0 +1,4 @@
+ RGB 31, 31, 31
+ RGB 31, 19, 10
+ RGB 31, 07, 01
+ RGB 00, 00, 00
diff --git a/gfx/overworld/kris_fish.png b/gfx/overworld/kris_fish.png
index a47b89042..c0fe37544 100644
--- a/gfx/overworld/kris_fish.png
+++ b/gfx/overworld/kris_fish.png
Binary files differ
diff --git a/data/palettes/overworld/map_objects.pal b/gfx/overworld/npc_sprites.pal
index b0f33479a..b0f33479a 100644
--- a/data/palettes/overworld/map_objects.pal
+++ b/gfx/overworld/npc_sprites.pal
diff --git a/gfx/overworld/trainer_battle_day.pal b/gfx/overworld/trainer_battle_day.pal
new file mode 100644
index 000000000..b7d67891e
--- /dev/null
+++ b/gfx/overworld/trainer_battle_day.pal
@@ -0,0 +1,4 @@
+ RGB 31, 18, 29
+ RGB 31, 11, 15
+ RGB 31, 05, 05
+ RGB 07, 07, 07
diff --git a/gfx/overworld/trainer_battle_nite.pal b/gfx/overworld/trainer_battle_nite.pal
new file mode 100644
index 000000000..d1a35f33b
--- /dev/null
+++ b/gfx/overworld/trainer_battle_nite.pal
@@ -0,0 +1,4 @@
+ RGB 31, 18, 29
+ RGB 31, 05, 05
+ RGB 31, 05, 05
+ RGB 31, 05, 05
diff --git a/gfx/overworld_font.asm b/gfx/overworld_font.asm
deleted file mode 100644
index 43dd08c66..000000000
--- a/gfx/overworld_font.asm
+++ /dev/null
@@ -1,17 +0,0 @@
-LoadOverworldFont:: ; 106594
- ld de, .font
- ld hl, vTiles1
- lb bc, BANK(.font), $80
- call Get2bpp
- ld de, .space
- ld hl, vTiles2 tile $7f
- lb bc, BANK(.space), 1
- call Get2bpp
- ret
-; 1065ad
-
-.font
-INCBIN "gfx/font/overworld.2bpp"
-
-.space
-INCBIN "gfx/font/space.2bpp"
diff --git a/data/palettes/pack.pal b/gfx/pack/pack.pal
index e8b4979bb..e8b4979bb 100644
--- a/data/palettes/pack.pal
+++ b/gfx/pack/pack.pal
diff --git a/data/palettes/pack_f.pal b/gfx/pack/pack_f.pal
index a962d97d1..a962d97d1 100644
--- a/data/palettes/pack_f.pal
+++ b/gfx/pack/pack_f.pal
diff --git a/gfx/pc/orange.pal b/gfx/pc/orange.pal
new file mode 100644
index 000000000..299c6b221
--- /dev/null
+++ b/gfx/pc/orange.pal
@@ -0,0 +1,4 @@
+ RGB 31, 15, 00
+ RGB 23, 12, 00
+ RGB 15, 07, 00
+ RGB 00, 00, 00
diff --git a/gfx/pics.asm b/gfx/pics.asm
index fc2d46a77..198569a76 100644
--- a/gfx/pics.asm
+++ b/gfx/pics.asm
@@ -1,4 +1,4 @@
-INCLUDE "includes.asm"
+INCLUDE "constants.asm"
; PokemonPicPointers and UnownPicPointers are assumed to start at the same
diff --git a/gfx/pokedex/cursor.pal b/gfx/pokedex/cursor.pal
new file mode 100644
index 000000000..5b202a1bf
--- /dev/null
+++ b/gfx/pokedex/cursor.pal
@@ -0,0 +1,4 @@
+ RGB 00, 00, 00
+ RGB 11, 23, 00
+ RGB 07, 17, 00
+ RGB 00, 00, 00
diff --git a/gfx/pokedex/question_mark.pal b/gfx/pokedex/question_mark.pal
new file mode 100644
index 000000000..76519ba22
--- /dev/null
+++ b/gfx/pokedex/question_mark.pal
@@ -0,0 +1,4 @@
+ RGB 11, 23, 00
+ RGB 07, 17, 00
+ RGB 06, 16, 03
+ RGB 05, 12, 01
diff --git a/data/palettes/pokegear.pal b/gfx/pokegear/pokegear.pal
index 397986dec..75cf2cf2d 100644
--- a/data/palettes/pokegear.pal
+++ b/gfx/pokegear/pokegear.pal
@@ -1,28 +1,29 @@
+; border
RGB 28, 31, 20
RGB 21, 21, 21
RGB 13, 13, 13
RGB 00, 00, 00
-
+; earth
RGB 28, 31, 20
RGB 00, 31, 00
RGB 00, 00, 31
RGB 00, 00, 00
-
+; mountain
RGB 28, 31, 20
RGB 00, 31, 00
RGB 15, 07, 00
RGB 00, 00, 00
-
+; city (boy)
RGB 28, 31, 20
RGB 31, 15, 00
RGB 15, 07, 00
RGB 00, 00, 00
-
+; point of interest
RGB 28, 31, 20
RGB 00, 31, 00
RGB 00, 00, 31
RGB 31, 00, 00
-
+; mountain point of interest
RGB 28, 31, 20
RGB 00, 31, 00
RGB 15, 07, 00
diff --git a/data/palettes/pokegear_f.pal b/gfx/pokegear/pokegear_f.pal
index 3f797c866..78f48fb0c 100644
--- a/data/palettes/pokegear_f.pal
+++ b/gfx/pokegear/pokegear_f.pal
@@ -1,28 +1,29 @@
+; border
RGB 28, 31, 20
RGB 21, 21, 21
RGB 13, 13, 13
RGB 00, 00, 00
-
+; earth
RGB 28, 31, 20
RGB 00, 31, 00
RGB 00, 00, 31
RGB 00, 00, 00
-
+; mountain
RGB 28, 31, 20
RGB 00, 31, 00
RGB 15, 07, 00
RGB 00, 00, 00
-
+; city (girl)
RGB 28, 31, 20
RGB 10, 18, 31
RGB 13, 06, 31
RGB 00, 00, 00
-
+; point of interest
RGB 28, 31, 20
RGB 00, 31, 00
RGB 00, 00, 31
RGB 31, 00, 00
-
+; mountain point of interest
RGB 28, 31, 20
RGB 00, 31, 00
RGB 15, 07, 00
diff --git a/gfx/pokegear/town_map.png b/gfx/pokegear/town_map.png
index 6e7af59d0..899379826 100644
--- a/gfx/pokegear/town_map.png
+++ b/gfx/pokegear/town_map.png
Binary files differ
diff --git a/data/palettes/town_map.asm b/gfx/pokegear/town_map_palette_map.asm
index 696863e85..67ca7fbdd 100644
--- a/data/palettes/town_map.asm
+++ b/gfx/pokegear/town_map_palette_map.asm
@@ -15,20 +15,16 @@ endr
ENDM
; gfx/pokegear/town_map.png
- townmappals EARTH, EARTH, EARTH, MOUNTAIN, MOUNTAIN, MOUNTAIN
- townmappals BORDER, BORDER, EARTH, EARTH, CITY, EARTH
- townmappals POI, POI_MTN, POI, POI_MTN, EARTH, EARTH
- townmappals EARTH, MOUNTAIN, MOUNTAIN, MOUNTAIN, BORDER, BORDER
- townmappals EARTH, EARTH, BORDER, EARTH, EARTH, BORDER
- townmappals BORDER, BORDER, EARTH, EARTH, EARTH, MOUNTAIN
- townmappals MOUNTAIN, MOUNTAIN, BORDER, BORDER, BORDER, BORDER
- townmappals BORDER, BORDER, BORDER, BORDER, BORDER, BORDER
+ townmappals EARTH, EARTH, EARTH, MOUNTAIN, MOUNTAIN, MOUNTAIN, BORDER, BORDER
+ townmappals EARTH, EARTH, CITY, EARTH, POI, POI_MTN, POI, POI_MTN
+ townmappals EARTH, EARTH, EARTH, MOUNTAIN, MOUNTAIN, MOUNTAIN, BORDER, BORDER
+ townmappals EARTH, EARTH, BORDER, EARTH, EARTH, BORDER, BORDER, BORDER
+ townmappals EARTH, EARTH, EARTH, MOUNTAIN, MOUNTAIN, MOUNTAIN, BORDER, BORDER
+ townmappals BORDER, BORDER, BORDER, BORDER, BORDER, BORDER, BORDER, BORDER
; gfx/pokegear/pokegear.png
- townmappals BORDER, BORDER, BORDER, BORDER, POI, POI
- townmappals POI, BORDER, BORDER, BORDER, BORDER, BORDER
- townmappals BORDER, BORDER, BORDER, BORDER, CITY, CITY
- townmappals CITY, CITY, CITY, CITY, CITY, CITY
- townmappals CITY, CITY, CITY, CITY, CITY, CITY
- townmappals CITY, BORDER, CITY, CITY, CITY, CITY
- townmappals CITY, CITY, CITY, CITY, BORDER, BORDER
- townmappals BORDER, BORDER, BORDER, BORDER, BORDER, BORDER
+ townmappals BORDER, BORDER, BORDER, BORDER, POI, POI, POI, BORDER
+ townmappals BORDER, BORDER, BORDER, BORDER, BORDER, BORDER, BORDER, BORDER
+ townmappals CITY, CITY, CITY, CITY, CITY, CITY, CITY, CITY
+ townmappals CITY, CITY, CITY, CITY, CITY, CITY, CITY, BORDER
+ townmappals CITY, CITY, CITY, CITY, CITY, CITY, CITY, CITY
+ townmappals BORDER, BORDER, BORDER, BORDER, BORDER, BORDER, BORDER, BORDER
diff --git a/gfx/pokemon/egg/front.png b/gfx/pokemon/egg/front.png
index be8e9d4a4..a2d8d4cc3 100644
--- a/gfx/pokemon/egg/front.png
+++ b/gfx/pokemon/egg/front.png
Binary files differ
diff --git a/gfx/pokemon/egg/shiny.pal b/gfx/pokemon/egg/shiny.pal
new file mode 100644
index 000000000..6c9c075f7
--- /dev/null
+++ b/gfx/pokemon/egg/shiny.pal
@@ -0,0 +1,4 @@
+
+ RGB 30, 26, 11
+ RGB 23, 16, 00
+
diff --git a/gfx/sgb/blk_packets.asm b/gfx/sgb/blk_packets.asm
new file mode 100644
index 000000000..a50decd34
--- /dev/null
+++ b/gfx/sgb/blk_packets.asm
@@ -0,0 +1,90 @@
+; macros taken from pokered's data/sgb_packets.asm
+; names taken from pandocs
+; http://gbdev.gg8.se/wiki/articles/SGB_Functions#SGB_Palette_Commands
+
+attr_blk: MACRO
+ db (SGB_ATTR_BLK << 3) + ((\1 * 6) / 16 + 1)
+ db \1
+ENDM
+
+attr_blk_data: MACRO
+ db \1 ; which regions are affected
+ db \2 + (\3 << 2) + (\4 << 4) ; palette for each region
+ db \5, \6, \7, \8 ; x1, y1, x2, y2
+ENDM
+
+
+BlkPacket_9a86:
+ attr_blk 1
+ attr_blk_data %011, 0,0,0, 00,00, 19,17
+ ds 8
+
+BlkPacket_GSIntroJigglypuffPikachu:
+ attr_blk 1
+ attr_blk_data %111, 1,1,0, 00,10, 19,13
+ ds 8
+
+BlkPacket_Battle:
+ attr_blk 5
+ attr_blk_data %111, 2,2,0, 00,12, 19,17 ; text box: pal 2
+ attr_blk_data %011, 1,1,0, 01,00, 10,03 ; enemy HP bar: pal 1
+ attr_blk_data %011, 0,0,0, 10,08, 19,10 ; player HP+exp bar: pal 0
+ attr_blk_data %011, 2,2,0, 00,04, 08,11 ; player mon: pal 2
+ attr_blk_data %011, 3,3,0, 11,00, 19,07 ; enemy mon : pal 3
+
+BlkPacket_StatsScreen:
+ attr_blk 1
+ attr_blk_data %111, 1,1,0, 00,01, 07,07 ; mon: pal 1
+ ds 8
+
+BlkPacket_MoveList:
+ attr_blk 1
+ attr_blk_data %111, 1,1,0, 11,01, 19,02
+ ds 8
+
+BlkPacket_Pokedex_PC:
+ attr_blk 1
+ attr_blk_data %111, 1,1,0, 01,01, 08,08 ; mon: pal 1
+ ds 8
+
+BlkPacket_PokedexUnownMode:
+ attr_blk 1
+ attr_blk_data %111, 1,1,0, 07,05, 13,11 ; unown: pal 1
+ ds 8
+
+BlkPacket_SlotMachine:
+ attr_blk 5
+ attr_blk_data %011, 1,1,0, 00,00, 19,11 ; "3" rows and top of screen: pal 1
+ attr_blk_data %011, 2,2,0, 00,04, 19,09 ; "2" rows: pal 2
+ attr_blk_data %010, 3,3,0, 00,06, 19,07 ; "1" row: pal 3
+ attr_blk_data %011, 0,0,0, 04,04, 15,09 ; slot reels: pal 0
+ attr_blk_data %011, 0,0,0, 00,12, 19,17 ; text box: pal 0
+
+UnreferencedBlkPacket_9b26:
+ attr_blk 7
+ attr_blk_data %111, 0,0,1, 00,00, 02,12
+ attr_blk_data %010, 0,0,0, 12,00, 18,01
+ attr_blk_data %010, 0,0,0, 12,02, 18,03
+ attr_blk_data %010, 0,0,0, 12,04, 18,05
+ attr_blk_data %010, 0,0,0, 12,06, 18,07
+ attr_blk_data %010, 0,0,0, 12,08, 18,09
+ attr_blk_data %010, 0,0,0, 12,10, 18,11
+ ds 4
+
+BlkPacket_GSTitleScreen:
+ attr_blk 3
+ attr_blk_data %111, 0,0,2, 00,00, 19,04
+ attr_blk_data %011, 3,3,0, 00,06, 19,17
+ attr_blk_data %011, 1,1,0, 15,01, 18,04
+ ds 12
+
+BlkPacket_SCGB_06:
+ attr_blk 1
+ attr_blk_data %111, 0,0,1, 00,00, 19,05
+ ds 8
+
+BlkPacket_SCGB_13:
+ attr_blk 2
+ attr_blk_data %111, 2,2,0, 00,04, 19,13
+ attr_blk_data %011, 1,1,0, 00,06, 19,11
+ ds 2
diff --git a/gfx/sgb/pal_packets.asm b/gfx/sgb/pal_packets.asm
new file mode 100644
index 000000000..fa3b386da
--- /dev/null
+++ b/gfx/sgb/pal_packets.asm
@@ -0,0 +1,98 @@
+; macros taken from pokered's data/sgb_packets.asm
+; names taken from pandocs
+; http://gbdev.gg8.se/wiki/articles/SGB_Functions#SGB_Palette_Commands
+
+sgb_pal_set: MACRO
+ db (SGB_PAL_SET << 3) + 1
+ dw PREDEFPAL_\1, PREDEFPAL_\2, PREDEFPAL_\3, PREDEFPAL_\4
+ ds 7
+ENDM
+
+sgb_pal01: MACRO
+ db (SGB_PAL01 << 3) + 1
+ENDM
+
+sgb_pal23: MACRO
+ db (SGB_PAL23 << 3) + 1
+ENDM
+
+
+PalPacket_GSTitleScreen:
+ sgb_pal_set GS_TITLE_SCREEN_0, GS_TITLE_SCREEN_1, GS_TITLE_SCREEN_2, GS_TITLE_SCREEN_3
+
+PalPacket_SCGB_13:
+ sgb_pal_set GREENMON_NITE, CGB_BADGE, RB_BROWNMON, 00
+
+PalPacket_SCGB_11:
+ sgb_pal_set SCGB_11_0, SCGB_11_1, SCGB_11_2, SCGB_11_3
+
+PalPacket_UnownPuzzle:
+ sgb_pal_set UNOWN_PUZZLE, UNOWN_PUZZLE, UNOWN_PUZZLE, UNOWN_PUZZLE
+
+PalPacket_9bd6:
+ sgb_pal_set 00, 00, 00, 00
+
+PalPacket_GSIntroShellderLapras:
+ sgb_pal_set GS_INTRO_SHELLDER_LAPRAS, 00, 00, 00
+
+UnreferencedPalPacket_9bf6:
+ sgb_pal_set 37, 00, 00, 00
+
+PalPacket_GSIntroJigglypuffPikachu:
+ sgb_pal_set GS_INTRO_JIGGLYPUFF_PIKACHU_BG, GS_INTRO_JIGGLYPUFF_PIKACHU_OB, 00, 00
+
+PalPacket_GSIntroStartersTransition:
+ sgb_pal_set GS_INTRO_STARTERS_TRANSITION, 00, 00, 00
+
+PalPacket_Function8b4d:
+ sgb_pal_set 3B, 00, 00, 00
+
+PalPacket_Pack:
+ sgb_pal_set PACK, 00, 00, 00
+
+PalPacket_SCGB_0F:
+ sgb_pal_set GS_INTRO_JIGGLYPUFF_PIKACHU_OB, 00, 00, 00
+
+PalPacket_PartyMenu:
+ sgb_pal_set PARTY_ICON, HP_GREEN, HP_YELLOW, HP_RED
+
+PalPacket_BattleGrayscale:
+ sgb_pal_set BLACKOUT, BLACKOUT, BLACKOUT, BLACKOUT
+
+PalPacket_Pokegear:
+ sgb_pal_set POKEGEAR, 00, 00, 00
+
+UnreferencedPalPacket_9c86:
+ sgb_pal_set PACK, 00, 00, 00
+
+PalPacket_SlotMachine:
+ sgb_pal_set SLOT_MACHINE_0, SLOT_MACHINE_1, SLOT_MACHINE_2, SLOT_MACHINE_3
+
+PalPacket_SCGB_06:
+ sgb_pal_set 33, 34, DIPLOMA, RB_PURPLEMON
+
+PalPacket_Diploma:
+ sgb_pal_set DIPLOMA, 00, 00, 00
+
+PalPacket_TradeTube:
+ sgb_pal_set TRADE_TUBE, 00, 00, 00
+
+PalPacket_GamefreakLogo:
+ sgb_pal_set GS_INTRO_GAMEFREAK_LOGO, 00, 00, 00
+
+
+PalPacket_9ce6:
+ sgb_pal01
+ RGB 31, 31, 31
+rept 6
+ RGB 00, 00, 00
+endr
+ ds 1
+
+PalPacket_9cf6:
+ sgb_pal23
+ RGB 31, 31, 31
+rept 6
+ RGB 00, 00, 00
+endr
+ ds 1
diff --git a/gfx/sgb/predef.pal b/gfx/sgb/predef.pal
new file mode 100644
index 000000000..67d19baec
--- /dev/null
+++ b/gfx/sgb/predef.pal
@@ -0,0 +1,79 @@
+ RGB 31,31,31, 22,25,19, 16,21,30, 00,00,00 ; PREDEFPAL_00
+ RGB 31,31,31, 27,28,31, 15,20,31, 00,00,00 ; PREDEFPAL_PALLET
+ RGB 31,31,31, 24,28,19, 15,20,31, 00,00,00 ; PREDEFPAL_VIRIDIAN
+ RGB 31,31,31, 24,24,24, 15,20,31, 00,00,00 ; PREDEFPAL_PEWTER
+ RGB 31,31,31, 21,23,31, 15,20,31, 00,00,00 ; PREDEFPAL_CERULEAN
+ RGB 31,31,31, 24,21,27, 15,20,31, 00,00,00 ; PREDEFPAL_LAVENDER
+ RGB 31,31,31, 31,24,16, 15,20,31, 00,00,00 ; PREDEFPAL_VERMILION
+ RGB 31,31,31, 25,30,26, 15,20,31, 00,00,00 ; PREDEFPAL_CELADON
+ RGB 31,31,31, 31,25,31, 15,20,31, 00,00,00 ; PREDEFPAL_FUCHSIA
+ RGB 31,31,31, 31,20,19, 15,20,31, 00,00,00 ; PREDEFPAL_CINNABAR
+ RGB 31,31,31, 31,26,19, 15,20,31, 00,00,00 ; PREDEFPAL_SAFFRON
+ RGB 31,31,31, 27,28,27, 15,20,31, 00,00,00 ; PREDEFPAL_INDIGO
+ RGB 31,31,31, 24,30,23, 15,20,31, 00,00,00 ; PREDEFPAL_NEW_BARK
+ RGB 31,31,31, 29,24,29, 15,20,31, 00,00,00 ; PREDEFPAL_CHERRYGROVE
+ RGB 31,31,31, 26,23,29, 15,20,31, 00,00,00 ; PREDEFPAL_VIOLET
+ RGB 31,31,31, 25,23,20, 15,20,31, 00,00,00 ; PREDEFPAL_AZALEA
+ RGB 31,31,31, 29,26,18, 15,20,31, 00,00,00 ; PREDEFPAL_GOLDENROD
+ RGB 31,31,31, 31,21,18, 15,20,31, 00,00,00 ; PREDEFPAL_ECRUTEAK
+ RGB 31,31,31, 26,25,31, 15,20,31, 00,00,00 ; PREDEFPAL_OLIVINE
+ RGB 31,31,31, 22,21,31, 15,20,31, 00,00,00 ; PREDEFPAL_CIANWOOD
+ RGB 31,31,31, 22,25,21, 15,20,31, 00,00,00 ; PREDEFPAL_MAHOGANY
+ RGB 31,31,31, 21,21,22, 15,20,31, 00,00,00 ; PREDEFPAL_BLACKTHORN
+ RGB 31,31,31, 31,20,20, 15,20,31, 00,00,00 ; PREDEFPAL_LAKE_OF_RAGE
+ RGB 31,31,31, 26,26,26, 15,20,31, 00,00,00 ; PREDEFPAL_SILVER_CAVE
+ RGB 31,31,31, 21,14,09, 15,20,20, 00,00,00 ; PREDEFPAL_DUNGEONS
+ RGB 31,31,31, 12,28,22, 15,20,20, 00,00,00 ; PREDEFPAL_NITE
+ RGB 31,31,31, 07,07,07, 02,03,03, 00,00,00 ; PREDEFPAL_BLACKOUT
+ RGB 31,31,31, 30,22,17, 16,14,19, 00,00,00 ; PREDEFPAL_DIPLOMA
+ RGB 31,31,31, 18,20,27, 11,15,23, 00,00,00 ; PREDEFPAL_TRADE_TUBE
+ RGB 31,31,31, 31,20,10, 26,10,06, 00,00,00 ; PREDEFPAL_POKEDEX
+ RGB 31,31,31, 21,25,29, 14,19,25, 00,00,00 ; PREDEFPAL_RB_CYANMON
+ RGB 31,31,31, 27,22,24, 21,15,23, 00,00,00 ; PREDEFPAL_RB_PURPLEMON
+ RGB 31,31,31, 28,20,15, 21,14,09, 00,00,00 ; PREDEFPAL_RB_BROWNMON
+ RGB 31,31,31, 20,26,16, 09,20,11, 00,00,00 ; PREDEFPAL_RB_GREENMON
+ RGB 31,31,31, 30,22,24, 28,15,21, 00,00,00 ; PREDEFPAL_RB_PINKMON
+ RGB 31,31,31, 31,28,14, 26,20,00, 00,00,00 ; PREDEFPAL_RB_YELLOWMON
+ RGB 31,31,31, 26,21,22, 15,15,18, 00,00,00 ; PREDEFPAL_CGB_BADGE
+ RGB 31,31,31, 23,19,13, 14,12,17, 00,00,00 ; PREDEFPAL_MEWMON_NITE
+ RGB 31,31,31, 16,18,21, 10,12,18, 00,00,00 ; PREDEFPAL_BLUEMON_NITE
+ RGB 31,31,31, 22,15,16, 17,02,05, 00,00,00 ; PREDEFPAL_REDMON_NITE
+ RGB 31,31,31, 15,20,20, 05,16,16, 00,00,00 ; PREDEFPAL_CYANMON_NITE
+ RGB 31,31,31, 23,15,19, 14,04,12, 00,00,00 ; PREDEFPAL_PURPLEMON_NITE
+ RGB 31,31,31, 20,17,18, 18,13,11, 00,00,00 ; PREDEFPAL_BROWNMON_NITE
+ RGB 31,31,31, 23,21,16, 12,12,10, 00,00,00 ; PREDEFPAL_GREENMON_NITE
+ RGB 31,31,31, 21,25,29, 30,22,24, 00,00,00 ; PREDEFPAL_PINKMON_NITE
+ RGB 31,31,31, 26,23,16, 29,14,09, 00,00,00 ; PREDEFPAL_YELLOWMON_NITE
+ RGB 31,31,31, 18,18,18, 10,10,10, 00,00,00 ; PREDEFPAL_PARTY_ICON
+ RGB 31,31,31, 30,26,15, 00,23,00, 00,00,00 ; PREDEFPAL_HP_GREEN
+ RGB 31,31,31, 30,26,15, 31,23,00, 00,00,00 ; PREDEFPAL_HP_YELLOW
+ RGB 31,31,31, 30,26,15, 31,00,00, 00,00,00 ; PREDEFPAL_HP_RED
+ RGB 31,31,31, 29,26,19, 27,20,14, 00,00,00 ; PREDEFPAL_POKEGEAR
+ RGB 31,31,31, 24,20,10, 21,00,04, 00,00,00 ; PREDEFPAL_33
+ RGB 31,31,31, 31,20,10, 21,00,04, 00,00,00 ; PREDEFPAL_34
+ RGB 31,31,31, 30,26,16, 16,12,09, 00,00,00 ; PREDEFPAL_GS_INTRO_GAMEFREAK_LOGO
+ RGB 31,31,31, 15,28,26, 12,22,26, 03,16,14 ; PREDEFPAL_GS_INTRO_SHELLDER_LAPRAS
+ RGB 31,31,31, 15,28,26, 23,24,24, 00,00,00 ; PREDEFPAL_37
+ RGB 31,31,24, 07,27,19, 26,20,10, 19,12,08 ; PREDEFPAL_GS_INTRO_JIGGLYPUFF_PIKACHU_BG
+ RGB 31,31,31, 31,28,14, 31,13,31, 00,00,00 ; PREDEFPAL_GS_INTRO_JIGGLYPUFF_PIKACHU_OB
+ RGB 31,31,31, 16,18,21, 10,12,18, 00,00,00 ; PREDEFPAL_GS_INTRO_STARTERS_TRANSITION
+ RGB 31,31,31, 23,21,16, 12,12,10, 00,00,00 ; PREDEFPAL_3B
+ RGB 31,31,31, 31,14,00, 07,11,15, 00,00,00 ; PREDEFPAL_PACK
+ RGB 31,31,31, 26,21,22, 26,10,06, 00,00,00 ; PREDEFPAL_SLOT_MACHINE_0
+ RGB 31,31,31, 30,27,04, 24,20,11, 00,00,00 ; PREDEFPAL_SLOT_MACHINE_1
+ RGB 31,31,31, 31,13,25, 24,20,11, 00,00,00 ; PREDEFPAL_SLOT_MACHINE_2
+ RGB 31,31,31, 16,19,29, 24,20,11, 00,00,00 ; PREDEFPAL_SLOT_MACHINE_3
+ RGB 31,31,31, 30,22,24, 18,18,18, 16,10,07 ; PREDEFPAL_SCGB_11_0
+ RGB 31,31,31, 21,25,29, 18,18,18, 16,10,07 ; PREDEFPAL_SCGB_11_1
+ RGB 31,31,31, 20,26,16, 18,18,18, 16,10,07 ; PREDEFPAL_SCGB_11_2
+ RGB 31,31,31, 31,28,14, 18,18,18, 16,10,07 ; PREDEFPAL_SCGB_11_3
+ RGB 31,31,31, 18,18,18, 26,10,06, 00,00,00 ; PREDEFPAL_45
+ RGB 31,31,31, 30,22,24, 28,15,21, 00,00,00 ; PREDEFPAL_46
+ RGB 31,31,31, 26,20,00, 16,19,29, 00,00,00 ; PREDEFPAL_47
+ RGB 31,31,31, 16,02,30, 15,20,31, 00,00,00 ; PREDEFPAL_GS_TITLE_SCREEN_0
+ RGB 31,31,31, 16,13,04, 15,20,31, 00,00,00 ; PREDEFPAL_GS_TITLE_SCREEN_1
+ RGB 31,31,31, 28,04,02, 15,20,31, 00,00,00 ; PREDEFPAL_GS_TITLE_SCREEN_2
+ RGB 31,31,31, 18,23,31, 15,20,31, 00,00,00 ; PREDEFPAL_GS_TITLE_SCREEN_3
+ RGB 31,31,31, 24,20,11, 18,13,11, 00,00,00 ; PREDEFPAL_UNOWN_PUZZLE
+ RGB 31,31,31, 31,31,31, 25,30,00, 25,30,00 ; PREDEFPAL_4D
+ RGB 00,00,00, 08,11,11, 21,21,21, 31,31,31 ; PREDEFPAL_GAMEFREAK_LOGO
diff --git a/gfx/sgb/sgb_border.bin b/gfx/sgb/sgb_border.bin
new file mode 100644
index 000000000..362eae929
--- /dev/null
+++ b/gfx/sgb/sgb_border.bin
@@ -0,0 +1,2 @@
+TTTTTTT$%&T&T%T$TTTTTTTTT$455T4T3TTTT!"##T"T!T T 
+      ) !"##T"T!T122T688888888888888888888'2TT2T1TTT7TTTTT7TTT%&T&T7&T&T%T3455T4T7455T4T3T7TTT7TTT7"T!T T7 !"2T1T0T7012TTT7TTT7&T%T$T7$%&4T3TT7347TT7TTTTT7TTT!"##T"T7"##T"T!T122T72TT2T1TTT.////////////////////-TTTTTTT9 ( )*+,9TTT%&T&T%T$TTTT$%&T&T%T3455T4T$TTTTTT$455T4T3T !"##T"T!T T \ No newline at end of file
diff --git a/data/palettes/sgb_border.pal b/gfx/sgb/sgb_border.pal
index fd5aec402..fd5aec402 100644
--- a/data/palettes/sgb_border.pal
+++ b/gfx/sgb/sgb_border.pal
diff --git a/gfx/sgb/sgb_border.png b/gfx/sgb/sgb_border.png
index 867c36b10..054ab4880 100644
--- a/gfx/sgb/sgb_border.png
+++ b/gfx/sgb/sgb_border.png
Binary files differ
diff --git a/data/palettes/slot_machine.pal b/gfx/slots/slots.pal
index 0eec479f2..0eec479f2 100644
--- a/data/palettes/slot_machine.pal
+++ b/gfx/slots/slots.pal
diff --git a/gfx/splash/logo.pal b/gfx/splash/logo.pal
new file mode 100644
index 000000000..b1712efc1
--- /dev/null
+++ b/gfx/splash/logo.pal
@@ -0,0 +1,4 @@
+ RGB 31, 31, 31
+ RGB 13, 11, 00
+ RGB 23, 12, 28
+ RGB 00, 00, 00
diff --git a/gfx/stats/exp_bar_ends.png b/gfx/stats/exp_bar_ends.png
deleted file mode 100644
index 252bdd990..000000000
--- a/gfx/stats/exp_bar_ends.png
+++ /dev/null
Binary files differ
diff --git a/gfx/stats/pages.pal b/gfx/stats/pages.pal
new file mode 100644
index 000000000..837e10cb0
--- /dev/null
+++ b/gfx/stats/pages.pal
@@ -0,0 +1,15 @@
+; pink
+ RGB 31, 31, 31
+ RGB 31, 19, 31
+ RGB 31, 15, 31
+ RGB 00, 00, 00
+; green
+ RGB 31, 31, 31
+ RGB 21, 31, 14
+ RGB 17, 31, 00
+ RGB 00, 00, 00
+; blue
+ RGB 31, 31, 31
+ RGB 17, 31, 31
+ RGB 17, 31, 31
+ RGB 00, 00, 00
diff --git a/gfx/stats/party_menu_bg.pal b/gfx/stats/party_menu_bg.pal
new file mode 100644
index 000000000..324109a2b
--- /dev/null
+++ b/gfx/stats/party_menu_bg.pal
@@ -0,0 +1,4 @@
+ RGB 31, 31, 31
+ RGB 17, 19, 31
+ RGB 14, 16, 31
+ RGB 00, 00, 00
diff --git a/gfx/stats/party_menu_bg_mobile.pal b/gfx/stats/party_menu_bg_mobile.pal
new file mode 100644
index 000000000..016eee5a1
--- /dev/null
+++ b/gfx/stats/party_menu_bg_mobile.pal
@@ -0,0 +1,4 @@
+ RGB 31, 31, 31
+ RGB 31, 19, 24
+ RGB 30, 10, 06
+ RGB 00, 00, 00
diff --git a/data/palettes/party_menu.pal b/gfx/stats/party_menu_ob.pal
index 70af517be..70af517be 100644
--- a/data/palettes/party_menu.pal
+++ b/gfx/stats/party_menu_ob.pal
diff --git a/gfx/stats/shiny.png b/gfx/stats/shiny.png
deleted file mode 100644
index 010aeafbf..000000000
--- a/gfx/stats/shiny.png
+++ /dev/null
Binary files differ
diff --git a/gfx/stats/stats.pal b/gfx/stats/stats.pal
new file mode 100644
index 000000000..5b12e02b9
--- /dev/null
+++ b/gfx/stats/stats.pal
@@ -0,0 +1,6 @@
+; pink
+ RGB 31, 19, 31
+; green
+ RGB 21, 31, 14
+; blue
+ RGB 17, 31, 31
diff --git a/gfx/stats/stats_tiles.png b/gfx/stats/stats_tiles.png
index 151704af5..5da4a008e 100644
--- a/gfx/stats/stats_tiles.png
+++ b/gfx/stats/stats_tiles.png
Binary files differ
diff --git a/gfx/tilesets.asm b/gfx/tilesets.asm
new file mode 100644
index 000000000..f6d6b465f
--- /dev/null
+++ b/gfx/tilesets.asm
@@ -0,0 +1,435 @@
+tilecoll: MACRO
+; used in data/tilesets/*_collision.asm
+ db COLL_\1, COLL_\2, COLL_\3, COLL_\4
+ENDM
+
+
+SECTION "Tileset Data 1", ROMX
+
+TilesetKantoGFX: ; 0x18000
+INCBIN "gfx/tilesets/kanto.2bpp.lz"
+; 0x18606
+
+TilesetKantoMeta: ; 0x18606
+INCBIN "data/tilesets/kanto_metatiles.bin"
+; 0x18e06
+
+TilesetKantoColl: ; 0x18e06
+INCLUDE "data/tilesets/kanto_collision.asm"
+; 0x19006
+
+Tileset0GFX: ; 0x19006
+TilesetJohtoGFX: ; 0x19006
+INCBIN "gfx/tilesets/johto.2bpp.lz"
+; 0x19c0e
+
+Tileset0Meta: ; 0x19c0e
+TilesetJohtoMeta: ; 0x19c0e
+INCBIN "data/tilesets/johto_metatiles.bin"
+; 0x1a40e
+
+Tileset0Coll: ; 0x1a40e
+TilesetJohtoColl: ; 0x1a40e
+INCLUDE "data/tilesets/johto_collision.asm"
+; 0x1a60e
+
+TilesetIcePathGFX: ; 0x1a60e
+INCBIN "gfx/tilesets/ice_path.2bpp.lz"
+; 0x1af3e
+
+TilesetIcePathMeta: ; 0x1af3e
+INCBIN "data/tilesets/ice_path_metatiles.bin"
+; 0x1b33e
+
+TilesetIcePathColl: ; 0x1b33e
+INCLUDE "data/tilesets/ice_path_collision.asm"
+; 0x1b43e
+
+TilesetPlayersRoomGFX: ; 0x1b43e
+INCBIN "gfx/tilesets/players_room.2bpp.lz"
+; 0x1b8fe
+
+TilesetPlayersRoomMeta: ; 0x1b8fe
+INCBIN "data/tilesets/players_room_metatiles.bin"
+; 0x1bcfe
+
+TilesetPlayersRoomColl: ; 0x1bcfe
+INCLUDE "data/tilesets/players_room_collision.asm"
+; 0x1bdfe
+
+
+SECTION "Tileset Data 2", ROMX
+
+TilesetPokecenterGFX: ; 0x1c30c
+INCBIN "gfx/tilesets/pokecenter.2bpp.lz"
+; 0x1c73c
+
+TilesetPokecenterMeta: ; 0x1c73c
+INCBIN "data/tilesets/pokecenter_metatiles.bin"
+; 0x1cb3c
+
+TilesetPokecenterColl: ; 0x1cb3c
+INCLUDE "data/tilesets/pokecenter_collision.asm"
+; 0x1cc3c
+
+TilesetPortGFX: ; 0x1cc3c
+INCBIN "gfx/tilesets/port.2bpp.lz"
+; 0x1d04c
+
+TilesetPortMeta: ; 0x1d04c
+INCBIN "data/tilesets/port_metatiles.bin"
+; 0x1d44c
+
+TilesetPortColl: ; 0x1d44c
+INCLUDE "data/tilesets/port_collision.asm"
+; 0x1d54c
+
+TilesetPlayersHouseGFX: ; 0x1d54c
+INCBIN "gfx/tilesets/players_house.2bpp.lz"
+; 0x1d92c
+
+TilesetPlayersHouseMeta: ; 0x1d92c
+INCBIN "data/tilesets/players_house_metatiles.bin"
+; 0x1dd2c
+
+TilesetPlayersHouseColl: ; 0x1dd2c
+INCLUDE "data/tilesets/players_house_collision.asm"
+; 0x1de2c
+
+TilesetMansionGFX: ; 0x1de2c
+INCBIN "gfx/tilesets/mansion.2bpp.lz"
+; 0x1e58c
+
+TilesetMansionMeta: ; 0x1e58c
+INCBIN "data/tilesets/mansion_metatiles.bin"
+; 0x1e98c
+
+TilesetMansionColl: ; 0x1e98c
+INCLUDE "data/tilesets/mansion_collision.asm"
+; 0x1ea8c
+
+TilesetCaveGFX: ; 0x1ea8c
+INCBIN "gfx/tilesets/cave.2bpp.lz"
+; 0x1ee1c
+
+TilesetCaveMeta: ; 0x1ee1c
+TilesetDarkCaveMeta: ; 0x1ee1c
+INCBIN "data/tilesets/cave_metatiles.bin"
+; 0x1f21c
+
+TilesetCaveColl: ; 0x1f21c
+TilesetDarkCaveColl: ; 0x1f21c
+INCLUDE "data/tilesets/cave_collision.asm"
+; 0x1f31c
+
+
+SECTION "Tileset Data 3", ROMX
+
+TilesetTowerGFX: ; 0x20181
+INCBIN "gfx/tilesets/tower.2bpp.lz"
+; 0x206e1
+
+TilesetTowerMeta: ; 0x206e1
+INCBIN "data/tilesets/tower_metatiles.bin"
+; 0x20ae1
+
+TilesetTowerColl: ; 0x20ae1
+INCLUDE "data/tilesets/tower_collision.asm"
+; 0x20be1
+
+TilesetLabGFX: ; 0x20be1
+INCBIN "gfx/tilesets/lab.2bpp.lz"
+; 0x213e1
+
+TilesetLabMeta: ; 0x213e1
+INCBIN "data/tilesets/lab_metatiles.bin"
+; 0x217e1
+
+TilesetLabColl: ; 0x217e1
+INCLUDE "data/tilesets/lab_collision.asm"
+; 0x218e1
+
+TilesetMartGFX: ; 0x218e1
+INCBIN "gfx/tilesets/mart.2bpp.lz"
+; 0x22031
+
+TilesetMartMeta: ; 0x22031
+INCBIN "data/tilesets/mart_metatiles.bin"
+; 0x22431
+
+TilesetMartColl: ; 0x22431
+INCLUDE "data/tilesets/mart_collision.asm"
+; 0x22531
+
+TilesetGameCornerGFX: ; 0x22531
+INCBIN "gfx/tilesets/game_corner.2bpp.lz"
+; 0x22af1
+
+TilesetGameCornerMeta: ; 0x22af1
+INCBIN "data/tilesets/game_corner_metatiles.bin"
+; 0x22ef1
+
+TilesetGameCornerColl: ; 0x22ef1
+INCLUDE "data/tilesets/game_corner_collision.asm"
+; 0x22ff1
+
+TilesetTrainStationGFX: ; 0x22ff1
+INCBIN "gfx/tilesets/train_station.2bpp.lz"
+; 0x23391
+
+TilesetTrainStationMeta: ; 0x23391
+INCBIN "data/tilesets/train_station_metatiles.bin"
+; 0x23791
+
+TilesetTrainStationColl: ; 0x23791
+INCLUDE "data/tilesets/train_station_collision.asm"
+; 0x23891
+
+TilesetForestMeta: ; 0x23891
+INCBIN "data/tilesets/forest_metatiles.bin"
+; 0x23b11
+
+
+SECTION "Tileset Data 4", ROMX
+
+TilesetEliteFourRoomGFX: ; 0x30000
+INCBIN "gfx/tilesets/elite_four_room.2bpp.lz"
+; 0x304e0
+
+TilesetEliteFourRoomMeta: ; 0x304e0
+INCBIN "data/tilesets/elite_four_room_metatiles.bin"
+; 0x308e0
+
+TilesetEliteFourRoomColl: ; 0x308e0
+INCLUDE "data/tilesets/elite_four_room_collision.asm"
+; 0x309e0
+
+TilesetParkGFX: ; 0x309e0
+INCBIN "gfx/tilesets/park.2bpp.lz"
+; 0x30e80
+
+TilesetParkMeta: ; 0x30e80
+INCBIN "data/tilesets/park_metatiles.bin"
+; 0x31280
+
+TilesetParkColl: ; 0x31280
+INCLUDE "data/tilesets/park_collision.asm"
+; 0x31380
+
+TilesetRadioTowerGFX: ; 0x31380
+INCBIN "gfx/tilesets/radio_tower.2bpp.lz"
+; 0x318e0
+
+TilesetRadioTowerMeta: ; 0x318e0
+INCBIN "data/tilesets/radio_tower_metatiles.bin"
+; 0x31ce0
+
+TilesetRadioTowerColl: ; 0x31ce0
+INCLUDE "data/tilesets/radio_tower_collision.asm"
+; 0x31de0
+
+TilesetUndergroundGFX: ; 0x31de0
+INCBIN "gfx/tilesets/underground.2bpp.lz"
+; 0x321b0
+
+TilesetUndergroundMeta: ; 0x321b0
+INCBIN "data/tilesets/underground_metatiles.bin"
+; 0x325b0
+
+TilesetUndergroundColl: ; 0x325b0
+INCLUDE "data/tilesets/underground_collision.asm"
+; 0x326b0
+
+TilesetDarkCaveGFX: ; 0x326b0
+INCBIN "gfx/tilesets/dark_cave.2bpp.lz"
+; 0x329f0
+
+UnusedTilesetDarkCaveMeta: ; 0x329f0
+INCBIN "data/tilesets/unused_dark_cave_metatiles.bin"
+; 0x331f0
+
+UnusedTilesetDarkCaveColl: ; 0x331f0
+INCLUDE "data/tilesets/unused_dark_cave_collision.asm"
+; 0x333f0
+
+
+SECTION "Tileset Data 5", ROMX
+
+TilesetPokeComCenterGFX: ; 0xb4000
+INCBIN "gfx/tilesets/pokecom_center.2bpp.lz"
+; 0xb48a0
+
+TilesetPokeComCenterMeta: ; 0xb48a0
+INCBIN "data/tilesets/pokecom_center_metatiles.bin"
+; 0xb4ca0
+
+TilesetPokeComCenterColl: ; 0xb4ca0
+INCLUDE "data/tilesets/pokecom_center_collision.asm"
+; 0xb4da0
+
+TilesetBattleTowerGFX: ; 0xb4da0
+INCBIN "gfx/tilesets/battle_tower.2bpp.lz"
+; 0xb50e0
+
+TilesetBattleTowerMeta: ; 0xb50e0
+INCBIN "data/tilesets/battle_tower_metatiles.bin"
+; 0xb54e0
+
+TilesetBattleTowerColl: ; 0xb54e0
+INCLUDE "data/tilesets/battle_tower_collision.asm"
+; 0xb55e0
+
+TilesetGateGFX: ; 0xb55e0
+INCBIN "gfx/tilesets/gate.2bpp.lz"
+; 0xb59e0
+
+TilesetGateMeta: ; 0xb59e0
+INCBIN "data/tilesets/gate_metatiles.bin"
+; 0xb5de0
+
+TilesetGateColl: ; 0xb5de0
+INCLUDE "data/tilesets/gate_collision.asm"
+; 0xb5ee0
+
+TilesetJohtoModernGFX: ; 0xb5ee0
+TilesetBattleTowerOutsideGFX: ; 0xb5ee0
+INCBIN "gfx/tilesets/johto_modern.2bpp.lz"
+; 0xb6ae8
+
+TilesetJohtoModernMeta: ; 0xb6ae8
+INCBIN "data/tilesets/johto_modern_metatiles.bin"
+; 0xb72e8
+
+TilesetJohtoModernColl: ; 0xb72e8
+INCLUDE "data/tilesets/johto_modern_collision.asm"
+; 0xb74e8
+
+TilesetTraditionalHouseGFX: ; 0xb74e8
+INCBIN "gfx/tilesets/traditional_house.2bpp.lz"
+; 0xb79a8
+
+TilesetTraditionalHouseMeta: ; 0xb79a8
+INCBIN "data/tilesets/traditional_house_metatiles.bin"
+; 0xb7da8
+
+TilesetTraditionalHouseColl: ; 0xb7da8
+INCLUDE "data/tilesets/traditional_house_collision.asm"
+; 0xb7ea8
+
+
+SECTION "Tileset Data 6", ROMX
+
+TilesetForestGFX: ; 0xdc000
+INCBIN "gfx/tilesets/forest.2bpp.lz"
+; 0xdc3d0
+
+TilesetChampionsRoomGFX: ; 0xdc3d0
+INCBIN "gfx/tilesets/champions_room.2bpp.lz"
+; 0xdcc50
+
+TilesetChampionsRoomMeta: ; 0xdcc50
+INCBIN "data/tilesets/champions_room_metatiles.bin"
+; 0xdd050
+
+TilesetChampionsRoomColl: ; 0xdd050
+INCLUDE "data/tilesets/champions_room_collision.asm"
+; 0xdd150
+
+TilesetHouseGFX: ; 0xdd150
+INCBIN "gfx/tilesets/house.2bpp.lz"
+; 0xdd600
+
+TilesetHouseMeta: ; 0xdd600
+INCBIN "data/tilesets/house_metatiles.bin"
+; 0xdda00
+
+TilesetHouseColl: ; 0xdda00
+INCLUDE "data/tilesets/house_collision.asm"
+; 0xddb00
+
+TilesetLighthouseGFX: ; 0xddb00
+INCBIN "gfx/tilesets/lighthouse.2bpp.lz"
+; 0xddf70
+
+TilesetLighthouseMeta: ; 0xddf70
+INCBIN "data/tilesets/lighthouse_metatiles.bin"
+; 0xde370
+
+TilesetLighthouseColl: ; 0xde370
+INCLUDE "data/tilesets/lighthouse_collision.asm"
+; 0xde470
+
+TilesetForestColl: ; 0xde470
+INCLUDE "data/tilesets/forest_collision.asm"
+; 0xde570
+
+TilesetFacilityGFX: ; 0xde570
+INCBIN "gfx/tilesets/facility.2bpp.lz"
+; 0xde990
+
+TilesetFacilityMeta: ; 0xde990
+INCBIN "data/tilesets/facility_metatiles.bin"
+; 0xded90
+
+TilesetFacilityColl: ; 0xded90
+INCLUDE "data/tilesets/facility_collision.asm"
+; 0xdee90
+
+TilesetBattleTowerOutsideMeta: ; 0xdee90
+INCBIN "data/tilesets/battle_tower_outside_metatiles.bin"
+; 0xdf690
+
+TilesetBattleTowerOutsideColl: ; 0xdf690
+INCLUDE "data/tilesets/battle_tower_outside_collision.asm"
+; 0xdf890
+
+TilesetBetaWordRoomMeta: ; 0xdf890
+INCBIN "data/tilesets/beta_word_room_metatiles.bin"
+; 0xdfc90
+
+TilesetBetaWordRoomColl: ; 0xdfc90
+TilesetHoOhWordRoomColl: ; 0xdfc90
+TilesetKabutoWordRoomColl: ; 0xdfc90
+TilesetOmanyteWordRoomColl: ; 0xdfc90
+TilesetAerodactylWordRoomColl: ; 0xdfc90
+INCLUDE "data/tilesets/beta_word_room_collision.asm"
+; 0xdfd90
+
+
+SECTION "Tileset Data 7", ROMX
+
+TilesetRuinsOfAlphGFX: ; 0x1dc5a1
+TilesetBetaWordRoomGFX: ; 0x1dc5a1
+TilesetHoOhWordRoomGFX: ; 0x1dc5a1
+TilesetKabutoWordRoomGFX: ; 0x1dc5a1
+TilesetOmanyteWordRoomGFX: ; 0x1dc5a1
+TilesetAerodactylWordRoomGFX: ; 0x1dc5a1
+INCBIN "gfx/tilesets/ruins_of_alph.2bpp.lz"
+; 0x1dd1a9
+
+TilesetRuinsOfAlphMeta: ; 0x1dd1a9
+INCBIN "data/tilesets/ruins_of_alph_metatiles.bin"
+; 0x1dd5a9
+
+TilesetRuinsOfAlphColl: ; 0x1dd5a9
+INCLUDE "data/tilesets/ruins_of_alph_collision.asm"
+; 0x1dd6a9
+
+
+SECTION "Tileset Data 8", ROMX
+
+TilesetHoOhWordRoomMeta: ; 0x1e0000
+INCBIN "data/tilesets/ho_oh_word_room_metatiles.bin"
+; 0x1e0400
+
+TilesetKabutoWordRoomMeta: ; 0x1e0400
+INCBIN "data/tilesets/kabuto_word_room_metatiles.bin"
+; 0x1e0800
+
+TilesetOmanyteWordRoomMeta: ; 0x1e0800
+INCBIN "data/tilesets/omanyte_word_room_metatiles.bin"
+; 0x1e0c00
+
+TilesetAerodactylWordRoomMeta: ; 0x1e0c00
+INCBIN "data/tilesets/aerodactyl_word_room_metatiles.bin"
+; 0x1e1000
diff --git a/gfx/tilesets/aerodactyl_word_room.png b/gfx/tilesets/aerodactyl_word_room.png
index f41866c58..7ae272358 100644
--- a/gfx/tilesets/aerodactyl_word_room.png
+++ b/gfx/tilesets/aerodactyl_word_room.png
Binary files differ
diff --git a/tilesets/aerodactyl_word_room_palette_map.asm b/gfx/tilesets/aerodactyl_word_room_palette_map.asm
index 5ebde24ba..5ebde24ba 100644
--- a/tilesets/aerodactyl_word_room_palette_map.asm
+++ b/gfx/tilesets/aerodactyl_word_room_palette_map.asm
diff --git a/data/palettes/tilesets/battle_tower.pal b/gfx/tilesets/battle_tower.pal
index 4e71a5575..4e71a5575 100644
--- a/data/palettes/tilesets/battle_tower.pal
+++ b/gfx/tilesets/battle_tower.pal
diff --git a/gfx/tilesets/battle_tower.png b/gfx/tilesets/battle_tower.png
index 1cd57402d..cf9e12d53 100644
--- a/gfx/tilesets/battle_tower.png
+++ b/gfx/tilesets/battle_tower.png
Binary files differ
diff --git a/gfx/tilesets/battle_tower_outside.png b/gfx/tilesets/battle_tower_outside.png
index 126573b7b..1c080ff45 100644
--- a/gfx/tilesets/battle_tower_outside.png
+++ b/gfx/tilesets/battle_tower_outside.png
Binary files differ
diff --git a/tilesets/battle_tower_outside_palette_map.asm b/gfx/tilesets/battle_tower_outside_palette_map.asm
index dfc74a9c0..dfc74a9c0 100644
--- a/tilesets/battle_tower_outside_palette_map.asm
+++ b/gfx/tilesets/battle_tower_outside_palette_map.asm
diff --git a/tilesets/battle_tower_palette_map.asm b/gfx/tilesets/battle_tower_palette_map.asm
index 1abce2a16..1abce2a16 100644
--- a/tilesets/battle_tower_palette_map.asm
+++ b/gfx/tilesets/battle_tower_palette_map.asm
diff --git a/gfx/tilesets/beta_word_room.png b/gfx/tilesets/beta_word_room.png
index f41866c58..7ae272358 100644
--- a/gfx/tilesets/beta_word_room.png
+++ b/gfx/tilesets/beta_word_room.png
Binary files differ
diff --git a/tilesets/beta_word_room_palette_map.asm b/gfx/tilesets/beta_word_room_palette_map.asm
index 5ebde24ba..5ebde24ba 100644
--- a/tilesets/beta_word_room_palette_map.asm
+++ b/gfx/tilesets/beta_word_room_palette_map.asm
diff --git a/data/palettes/overworld/tileset_bg.pal b/gfx/tilesets/bg_tiles.pal
index e56746536..e21561c74 100644
--- a/data/palettes/overworld/tileset_bg.pal
+++ b/gfx/tilesets/bg_tiles.pal
@@ -58,4 +58,4 @@
RGB 15, 13, 27
RGB 10, 09, 20
RGB 04, 03, 18
- RGB 00, 00, 00 \ No newline at end of file
+ RGB 00, 00, 00
diff --git a/gfx/tilesets/cave.png b/gfx/tilesets/cave.png
index 0e5bdee7e..fe15a740e 100644
--- a/gfx/tilesets/cave.png
+++ b/gfx/tilesets/cave.png
Binary files differ
diff --git a/tilesets/cave_palette_map.asm b/gfx/tilesets/cave_palette_map.asm
index 73c09ebe5..73c09ebe5 100644
--- a/tilesets/cave_palette_map.asm
+++ b/gfx/tilesets/cave_palette_map.asm
diff --git a/gfx/tilesets/celadon_mansion.png b/gfx/tilesets/celadon_mansion.png
deleted file mode 100644
index 7dde8574e..000000000
--- a/gfx/tilesets/celadon_mansion.png
+++ /dev/null
Binary files differ
diff --git a/gfx/tilesets/olivine_gym.2bpp.lz.93800351 b/gfx/tilesets/champions_room.2bpp.lz.93800351
index e19994f37..e19994f37 100644
--- a/gfx/tilesets/olivine_gym.2bpp.lz.93800351
+++ b/gfx/tilesets/champions_room.2bpp.lz.93800351
Binary files differ
diff --git a/gfx/tilesets/champions_room.png b/gfx/tilesets/champions_room.png
new file mode 100644
index 000000000..e32c2fb28
--- /dev/null
+++ b/gfx/tilesets/champions_room.png
Binary files differ
diff --git a/tilesets/olivine_gym_palette_map.asm b/gfx/tilesets/champions_room_palette_map.asm
index 551a09351..551a09351 100644
--- a/tilesets/olivine_gym_palette_map.asm
+++ b/gfx/tilesets/champions_room_palette_map.asm
diff --git a/gfx/tilesets/whirl_islands.2bpp.lz.25b9c4b6 b/gfx/tilesets/dark_cave.2bpp.lz.25b9c4b6
index 50a5ab9ac..50a5ab9ac 100644
--- a/gfx/tilesets/whirl_islands.2bpp.lz.25b9c4b6
+++ b/gfx/tilesets/dark_cave.2bpp.lz.25b9c4b6
Binary files differ
diff --git a/gfx/tilesets/dark_cave.png b/gfx/tilesets/dark_cave.png
new file mode 100644
index 000000000..1d0a91e5e
--- /dev/null
+++ b/gfx/tilesets/dark_cave.png
Binary files differ
diff --git a/tilesets/whirl_islands_palette_map.asm b/gfx/tilesets/dark_cave_palette_map.asm
index 73c09ebe5..73c09ebe5 100644
--- a/tilesets/whirl_islands_palette_map.asm
+++ b/gfx/tilesets/dark_cave_palette_map.asm
diff --git a/gfx/tilesets/gym_1.2bpp.lz.c1f2ed8f b/gfx/tilesets/elite_four_room.2bpp.lz.c1f2ed8f
index 6b45c769d..6b45c769d 100644
--- a/gfx/tilesets/gym_1.2bpp.lz.c1f2ed8f
+++ b/gfx/tilesets/elite_four_room.2bpp.lz.c1f2ed8f
Binary files differ
diff --git a/gfx/tilesets/elite_four_room.png b/gfx/tilesets/elite_four_room.png
new file mode 100644
index 000000000..27f64afa2
--- /dev/null
+++ b/gfx/tilesets/elite_four_room.png
Binary files differ
diff --git a/tilesets/gym_1_palette_map.asm b/gfx/tilesets/elite_four_room_palette_map.asm
index b20f49195..b20f49195 100644
--- a/tilesets/gym_1_palette_map.asm
+++ b/gfx/tilesets/elite_four_room_palette_map.asm
diff --git a/gfx/tilesets/power_plant.2bpp.lz.454cfd8b b/gfx/tilesets/facility.2bpp.lz.454cfd8b
index 584e54dd2..584e54dd2 100644
--- a/gfx/tilesets/power_plant.2bpp.lz.454cfd8b
+++ b/gfx/tilesets/facility.2bpp.lz.454cfd8b
Binary files differ
diff --git a/gfx/tilesets/facility.png b/gfx/tilesets/facility.png
new file mode 100644
index 000000000..e2e501077
--- /dev/null
+++ b/gfx/tilesets/facility.png
Binary files differ
diff --git a/tilesets/power_plant_palette_map.asm b/gfx/tilesets/facility_palette_map.asm
index f79f9c01b..f79f9c01b 100644
--- a/tilesets/power_plant_palette_map.asm
+++ b/gfx/tilesets/facility_palette_map.asm
diff --git a/gfx/tilesets/ilex_forest.2bpp.lz.6b0ac896 b/gfx/tilesets/forest.2bpp.lz.6b0ac896
index 7b5355705..7b5355705 100644
--- a/gfx/tilesets/ilex_forest.2bpp.lz.6b0ac896
+++ b/gfx/tilesets/forest.2bpp.lz.6b0ac896
Binary files differ
diff --git a/gfx/tilesets/forest.png b/gfx/tilesets/forest.png
new file mode 100644
index 000000000..853625944
--- /dev/null
+++ b/gfx/tilesets/forest.png
Binary files differ
diff --git a/tilesets/ilex_forest_palette_map.asm b/gfx/tilesets/forest_palette_map.asm
index 696788084..696788084 100644
--- a/tilesets/ilex_forest_palette_map.asm
+++ b/gfx/tilesets/forest_palette_map.asm
diff --git a/gfx/tilesets/game_corner.png b/gfx/tilesets/game_corner.png
index 776900638..d519dd636 100644
--- a/gfx/tilesets/game_corner.png
+++ b/gfx/tilesets/game_corner.png
Binary files differ
diff --git a/tilesets/game_corner_palette_map.asm b/gfx/tilesets/game_corner_palette_map.asm
index 34bb9f6f0..34bb9f6f0 100644
--- a/tilesets/game_corner_palette_map.asm
+++ b/gfx/tilesets/game_corner_palette_map.asm
diff --git a/gfx/tilesets/gate.png b/gfx/tilesets/gate.png
index b8f2db2d2..5036f9066 100644
--- a/gfx/tilesets/gate.png
+++ b/gfx/tilesets/gate.png
Binary files differ
diff --git a/tilesets/gate_palette_map.asm b/gfx/tilesets/gate_palette_map.asm
index 7854d3a81..7854d3a81 100644
--- a/tilesets/gate_palette_map.asm
+++ b/gfx/tilesets/gate_palette_map.asm
diff --git a/gfx/tilesets/gym_1.png b/gfx/tilesets/gym_1.png
deleted file mode 100644
index 582b9365d..000000000
--- a/gfx/tilesets/gym_1.png
+++ /dev/null
Binary files differ
diff --git a/gfx/tilesets/ho_oh_word_room.png b/gfx/tilesets/ho_oh_word_room.png
index f41866c58..7ae272358 100644
--- a/gfx/tilesets/ho_oh_word_room.png
+++ b/gfx/tilesets/ho_oh_word_room.png
Binary files differ
diff --git a/tilesets/ho_oh_word_room_palette_map.asm b/gfx/tilesets/ho_oh_word_room_palette_map.asm
index 5ebde24ba..5ebde24ba 100644
--- a/tilesets/ho_oh_word_room_palette_map.asm
+++ b/gfx/tilesets/ho_oh_word_room_palette_map.asm
diff --git a/gfx/tilesets/house_1.2bpp.lz.c848ef13 b/gfx/tilesets/house.2bpp.lz.c848ef13
index f9afaf70d..f9afaf70d 100644
--- a/gfx/tilesets/house_1.2bpp.lz.c848ef13
+++ b/gfx/tilesets/house.2bpp.lz.c848ef13
Binary files differ
diff --git a/data/palettes/tilesets/house_1.pal b/gfx/tilesets/house.pal
index a9f8b74b6..a9f8b74b6 100644
--- a/data/palettes/tilesets/house_1.pal
+++ b/gfx/tilesets/house.pal
diff --git a/gfx/tilesets/house.png b/gfx/tilesets/house.png
new file mode 100644
index 000000000..ce3547bb8
--- /dev/null
+++ b/gfx/tilesets/house.png
Binary files differ
diff --git a/gfx/tilesets/house_1.png b/gfx/tilesets/house_1.png
deleted file mode 100644
index 3ab7b5ce8..000000000
--- a/gfx/tilesets/house_1.png
+++ /dev/null
Binary files differ
diff --git a/tilesets/house_1_palette_map.asm b/gfx/tilesets/house_palette_map.asm
index ce7b988b7..ce7b988b7 100644
--- a/tilesets/house_1_palette_map.asm
+++ b/gfx/tilesets/house_palette_map.asm
diff --git a/data/palettes/tilesets/ice_path.pal b/gfx/tilesets/ice_path.pal
index cb7659f50..cb7659f50 100644
--- a/data/palettes/tilesets/ice_path.pal
+++ b/gfx/tilesets/ice_path.pal
diff --git a/gfx/tilesets/ice_path.png b/gfx/tilesets/ice_path.png
index d70eb53be..70dea39f5 100644
--- a/gfx/tilesets/ice_path.png
+++ b/gfx/tilesets/ice_path.png
Binary files differ
diff --git a/tilesets/ice_path_palette_map.asm b/gfx/tilesets/ice_path_palette_map.asm
index 985844071..985844071 100644
--- a/tilesets/ice_path_palette_map.asm
+++ b/gfx/tilesets/ice_path_palette_map.asm
diff --git a/gfx/tilesets/ilex_forest.png b/gfx/tilesets/ilex_forest.png
deleted file mode 100644
index a85cc0394..000000000
--- a/gfx/tilesets/ilex_forest.png
+++ /dev/null
Binary files differ
diff --git a/gfx/tilesets/johto_1.2bpp.lz.0c7e555a b/gfx/tilesets/johto.2bpp.lz.0c7e555a
index 9821e1433..9821e1433 100644
--- a/gfx/tilesets/johto_1.2bpp.lz.0c7e555a
+++ b/gfx/tilesets/johto.2bpp.lz.0c7e555a
Binary files differ
diff --git a/gfx/tilesets/johto.png b/gfx/tilesets/johto.png
new file mode 100644
index 000000000..62ceb23a0
--- /dev/null
+++ b/gfx/tilesets/johto.png
Binary files differ
diff --git a/gfx/tilesets/johto_1.png b/gfx/tilesets/johto_1.png
deleted file mode 100644
index 0fc2db12f..000000000
--- a/gfx/tilesets/johto_1.png
+++ /dev/null
Binary files differ
diff --git a/gfx/tilesets/johto_2.png b/gfx/tilesets/johto_2.png
deleted file mode 100644
index 126573b7b..000000000
--- a/gfx/tilesets/johto_2.png
+++ /dev/null
Binary files differ
diff --git a/gfx/tilesets/johto_2.2bpp.lz.391603fb b/gfx/tilesets/johto_modern.2bpp.lz.391603fb
index 64f23e23b..64f23e23b 100644
--- a/gfx/tilesets/johto_2.2bpp.lz.391603fb
+++ b/gfx/tilesets/johto_modern.2bpp.lz.391603fb
Binary files differ
diff --git a/gfx/tilesets/johto_modern.png b/gfx/tilesets/johto_modern.png
new file mode 100644
index 000000000..1c080ff45
--- /dev/null
+++ b/gfx/tilesets/johto_modern.png
Binary files differ
diff --git a/tilesets/johto_2_palette_map.asm b/gfx/tilesets/johto_modern_palette_map.asm
index f2af7a92d..f2af7a92d 100644
--- a/tilesets/johto_2_palette_map.asm
+++ b/gfx/tilesets/johto_modern_palette_map.asm
diff --git a/tilesets/johto_1_palette_map.asm b/gfx/tilesets/johto_palette_map.asm
index 62fbd2d00..62fbd2d00 100644
--- a/tilesets/johto_1_palette_map.asm
+++ b/gfx/tilesets/johto_palette_map.asm
diff --git a/gfx/tilesets/kabuto_word_room.png b/gfx/tilesets/kabuto_word_room.png
index f41866c58..7ae272358 100644
--- a/gfx/tilesets/kabuto_word_room.png
+++ b/gfx/tilesets/kabuto_word_room.png
Binary files differ
diff --git a/tilesets/kabuto_word_room_palette_map.asm b/gfx/tilesets/kabuto_word_room_palette_map.asm
index 5ebde24ba..5ebde24ba 100644
--- a/tilesets/kabuto_word_room_palette_map.asm
+++ b/gfx/tilesets/kabuto_word_room_palette_map.asm
diff --git a/gfx/tilesets/kanto.png b/gfx/tilesets/kanto.png
index 08b2cbeea..a3036406e 100644
--- a/gfx/tilesets/kanto.png
+++ b/gfx/tilesets/kanto.png
Binary files differ
diff --git a/tilesets/kanto_palette_map.asm b/gfx/tilesets/kanto_palette_map.asm
index e3e497fb9..e3e497fb9 100644
--- a/tilesets/kanto_palette_map.asm
+++ b/gfx/tilesets/kanto_palette_map.asm
diff --git a/gfx/tilesets/kurts_house.png b/gfx/tilesets/kurts_house.png
deleted file mode 100644
index 3d6f1b511..000000000
--- a/gfx/tilesets/kurts_house.png
+++ /dev/null
Binary files differ
diff --git a/gfx/tilesets/lab.png b/gfx/tilesets/lab.png
index 418a068fa..75301c7e2 100644
--- a/gfx/tilesets/lab.png
+++ b/gfx/tilesets/lab.png
Binary files differ
diff --git a/tilesets/lab_palette_map.asm b/gfx/tilesets/lab_palette_map.asm
index 24399c6ea..24399c6ea 100644
--- a/tilesets/lab_palette_map.asm
+++ b/gfx/tilesets/lab_palette_map.asm
diff --git a/gfx/tilesets/safari/1.png b/gfx/tilesets/lava/1.png
index c5b500ccc..c5b500ccc 100644
--- a/gfx/tilesets/safari/1.png
+++ b/gfx/tilesets/lava/1.png
Binary files differ
diff --git a/gfx/tilesets/safari/2.png b/gfx/tilesets/lava/2.png
index 1512e35ad..1512e35ad 100644
--- a/gfx/tilesets/safari/2.png
+++ b/gfx/tilesets/lava/2.png
Binary files differ
diff --git a/gfx/tilesets/safari/3.png b/gfx/tilesets/lava/3.png
index 449c2a317..449c2a317 100644
--- a/gfx/tilesets/safari/3.png
+++ b/gfx/tilesets/lava/3.png
Binary files differ
diff --git a/gfx/tilesets/safari/4.png b/gfx/tilesets/lava/4.png
index 8e4c8e0e5..8e4c8e0e5 100644
--- a/gfx/tilesets/safari/4.png
+++ b/gfx/tilesets/lava/4.png
Binary files differ
diff --git a/gfx/tilesets/lighthouse.png b/gfx/tilesets/lighthouse.png
index 920ee30ec..0da4b3919 100644
--- a/gfx/tilesets/lighthouse.png
+++ b/gfx/tilesets/lighthouse.png
Binary files differ
diff --git a/tilesets/lighthouse_palette_map.asm b/gfx/tilesets/lighthouse_palette_map.asm
index 5f80e3a4d..5f80e3a4d 100644
--- a/tilesets/lighthouse_palette_map.asm
+++ b/gfx/tilesets/lighthouse_palette_map.asm
diff --git a/gfx/tilesets/celadon_mansion.2bpp.lz.63b414d4 b/gfx/tilesets/mansion.2bpp.lz.63b414d4
index b68f147d0..b68f147d0 100644
--- a/gfx/tilesets/celadon_mansion.2bpp.lz.63b414d4
+++ b/gfx/tilesets/mansion.2bpp.lz.63b414d4
Binary files differ
diff --git a/gfx/tilesets/mansion.png b/gfx/tilesets/mansion.png
new file mode 100644
index 000000000..44e697a1b
--- /dev/null
+++ b/gfx/tilesets/mansion.png
Binary files differ
diff --git a/gfx/tilesets/mansion_1.pal b/gfx/tilesets/mansion_1.pal
new file mode 100644
index 000000000..1ed1de75f
--- /dev/null
+++ b/gfx/tilesets/mansion_1.pal
@@ -0,0 +1,44 @@
+ RGB 30, 28, 26
+ RGB 19, 19, 19
+ RGB 13, 13, 13
+ RGB 07, 07, 07
+
+ RGB 30, 28, 26
+ RGB 31, 19, 24
+ RGB 30, 10, 06
+ RGB 07, 07, 07
+
+ RGB 18, 24, 09
+ RGB 15, 20, 01
+ RGB 09, 13, 00
+ RGB 07, 07, 07
+
+ RGB 30, 28, 26
+ RGB 15, 16, 31
+ RGB 09, 09, 31
+ RGB 07, 07, 07
+
+ RGB 30, 28, 26
+ RGB 31, 31, 07
+ RGB 31, 16, 01
+ RGB 07, 07, 07
+
+ RGB 26, 24, 17
+ RGB 21, 17, 07
+ RGB 16, 13, 03
+ RGB 07, 07, 07
+
+ RGB 30, 28, 26
+ RGB 17, 19, 31
+ RGB 14, 16, 31
+ RGB 07, 07, 07
+
+ RGB 31, 31, 16
+ RGB 31, 31, 16
+ RGB 14, 09, 00
+ RGB 00, 00, 00
+
+ RGB 05, 05, 16
+ RGB 08, 19, 28
+ RGB 00, 00, 00
+ RGB 31, 31, 31
diff --git a/gfx/tilesets/mansion_2.pal b/gfx/tilesets/mansion_2.pal
new file mode 100644
index 000000000..ad5c5e4db
--- /dev/null
+++ b/gfx/tilesets/mansion_2.pal
@@ -0,0 +1,4 @@
+ RGB 25, 24, 23
+ RGB 20, 19, 19
+ RGB 14, 16, 31
+ RGB 07, 07, 07
diff --git a/tilesets/celadon_mansion_palette_map.asm b/gfx/tilesets/mansion_palette_map.asm
index 2bd27ad22..2bd27ad22 100644
--- a/tilesets/celadon_mansion_palette_map.asm
+++ b/gfx/tilesets/mansion_palette_map.asm
diff --git a/gfx/tilesets/mart.png b/gfx/tilesets/mart.png
index 4053283bc..d4ef69d2a 100644
--- a/gfx/tilesets/mart.png
+++ b/gfx/tilesets/mart.png
Binary files differ
diff --git a/tilesets/mart_palette_map.asm b/gfx/tilesets/mart_palette_map.asm
index 991510d12..991510d12 100644
--- a/tilesets/mart_palette_map.asm
+++ b/gfx/tilesets/mart_palette_map.asm
diff --git a/gfx/tilesets/olivine_gym.png b/gfx/tilesets/olivine_gym.png
deleted file mode 100644
index 350c04932..000000000
--- a/gfx/tilesets/olivine_gym.png
+++ /dev/null
Binary files differ
diff --git a/gfx/tilesets/omanyte_word_room.png b/gfx/tilesets/omanyte_word_room.png
index f41866c58..7ae272358 100644
--- a/gfx/tilesets/omanyte_word_room.png
+++ b/gfx/tilesets/omanyte_word_room.png
Binary files differ
diff --git a/tilesets/omanyte_word_room_palette_map.asm b/gfx/tilesets/omanyte_word_room_palette_map.asm
index 5ebde24ba..5ebde24ba 100644
--- a/tilesets/omanyte_word_room_palette_map.asm
+++ b/gfx/tilesets/omanyte_word_room_palette_map.asm
diff --git a/gfx/tilesets/palette_maps.asm b/gfx/tilesets/palette_maps.asm
new file mode 100644
index 000000000..5e8f9f4eb
--- /dev/null
+++ b/gfx/tilesets/palette_maps.asm
@@ -0,0 +1,149 @@
+tilepal: MACRO
+; used in gfx/tilesets/*_palette_map.asm
+; vram bank, pals
+x = \1 << OAM_TILE_BANK
+rept (_NARG +- 1) / 2
+ dn (x | PAL_BG_\3), (x | PAL_BG_\2)
+ shift
+ shift
+endr
+ENDM
+
+
+TilesetKantoPalMap: ; 0x4c075
+INCLUDE "gfx/tilesets/kanto_palette_map.asm"
+; 0x4c0e5
+
+Tileset0PalMap: ; 0x4c0e5
+TilesetJohtoPalMap: ; 0x4c0e5
+INCLUDE "gfx/tilesets/johto_palette_map.asm"
+; 0x4c155
+
+TilesetJohtoModernPalMap: ; 0x4c155
+INCLUDE "gfx/tilesets/johto_modern_palette_map.asm"
+; 0x4c1c5
+
+TilesetHousePalMap: ; 0x4c1c5
+INCLUDE "gfx/tilesets/house_palette_map.asm"
+; 0x4c235
+
+TilesetPlayersHousePalMap: ; 0x4c235
+INCLUDE "gfx/tilesets/players_house_palette_map.asm"
+; 0x4c2a5
+
+TilesetPokecenterPalMap: ; 0x4c2a5
+INCLUDE "gfx/tilesets/pokecenter_palette_map.asm"
+; 0x4c315
+
+TilesetGatePalMap: ; 0x4c315
+INCLUDE "gfx/tilesets/gate_palette_map.asm"
+; 0x4c385
+
+TilesetPortPalMap: ; 0x4c385
+INCLUDE "gfx/tilesets/port_palette_map.asm"
+; 0x4c3f5
+
+TilesetLabPalMap: ; 0x4c3f5
+INCLUDE "gfx/tilesets/lab_palette_map.asm"
+; 0x4c465
+
+TilesetFacilityPalMap: ; 0x4c465
+INCLUDE "gfx/tilesets/facility_palette_map.asm"
+; 0x4c4d5
+
+TilesetMartPalMap: ; 0x4c4d5
+INCLUDE "gfx/tilesets/mart_palette_map.asm"
+; 0x4c545
+
+TilesetMansionPalMap: ; 0x4c545
+INCLUDE "gfx/tilesets/mansion_palette_map.asm"
+; 0x4c5b5
+
+TilesetGameCornerPalMap: ; 0x4c5b5
+INCLUDE "gfx/tilesets/game_corner_palette_map.asm"
+; 0x4c625
+
+TilesetEliteFourRoomPalMap: ; 0x4c625
+INCLUDE "gfx/tilesets/elite_four_room_palette_map.asm"
+; 0x4c695
+
+TilesetTraditionalHousePalMap: ; 0x4c695
+INCLUDE "gfx/tilesets/traditional_house_palette_map.asm"
+; 0x4c705
+
+TilesetTowerPalMap: ; 0x4c705
+INCLUDE "gfx/tilesets/tower_palette_map.asm"
+; 0x4c775
+
+TilesetCavePalMap: ; 0x4c775
+TilesetDarkCavePalMap: ; 0x4c775
+INCLUDE "gfx/tilesets/cave_palette_map.asm"
+; 0x4c7e5
+
+TilesetParkPalMap: ; 0x4c7e5
+INCLUDE "gfx/tilesets/park_palette_map.asm"
+; 0x4c855
+
+TilesetRuinsOfAlphPalMap: ; 0x4c855
+TilesetBetaWordRoomPalMap: ; 0x4c855
+TilesetHoOhWordRoomPalMap: ; 0x4c855
+TilesetKabutoWordRoomPalMap: ; 0x4c855
+TilesetOmanyteWordRoomPalMap: ; 0x4c855
+TilesetAerodactylWordRoomPalMap: ; 0x4c855
+INCLUDE "gfx/tilesets/ruins_of_alph_palette_map.asm"
+; 0x4c8c5
+
+TilesetRadioTowerPalMap: ; 0x4c8c5
+INCLUDE "gfx/tilesets/radio_tower_palette_map.asm"
+; 0x4c935
+
+TilesetTrainStationPalMap: ; 0x4c935
+INCLUDE "gfx/tilesets/train_station_palette_map.asm"
+; 0x4c9a5
+
+TilesetUndergroundPalMap: ; 0x4c9a5
+INCLUDE "gfx/tilesets/underground_palette_map.asm"
+; 0x4ca15
+
+TilesetChampionsRoomPalMap: ; 0x4ca15
+INCLUDE "gfx/tilesets/champions_room_palette_map.asm"
+; 0x4ca85
+
+TilesetLighthousePalMap: ; 0x4ca85
+INCLUDE "gfx/tilesets/lighthouse_palette_map.asm"
+; 0x4caf5
+
+TilesetPlayersRoomPalMap: ; 0x4caf5
+INCLUDE "gfx/tilesets/players_room_palette_map.asm"
+; 0x4cb65
+
+UnusedMuseumPalMap: ; 0x4cb65
+INCLUDE "gfx/tilesets/unused_museum_palette_map.asm"
+; 4cbd5
+
+TilesetIcePathPalMap: ; 0x4cbd5
+INCLUDE "gfx/tilesets/ice_path_palette_map.asm"
+; 0x4cc45
+
+TilesetForestPalMap: ; 0x4cc45
+INCLUDE "gfx/tilesets/forest_palette_map.asm"
+; 0x4ccb5
+
+TilesetPokeComCenterPalMap: ; 0x4ccb5
+INCLUDE "gfx/tilesets/pokecom_center_palette_map.asm"
+; 0x4cd25
+
+TilesetBattleTowerPalMap: ; 0x4cd25
+INCLUDE "gfx/tilesets/battle_tower_palette_map.asm"
+; 0x4cd95
+
+TilesetBattleTowerOutsidePalMap: ; 0x4cd95
+INCLUDE "gfx/tilesets/battle_tower_outside_palette_map.asm"
+; 0x4ce05
+
+; unused
+; 0x4ce05
+rept 26
+ db $06
+endr
+; 0x4ce1f
diff --git a/gfx/tilesets/park.png b/gfx/tilesets/park.png
index 7a4a5f8eb..830affef7 100644
--- a/gfx/tilesets/park.png
+++ b/gfx/tilesets/park.png
Binary files differ
diff --git a/tilesets/park_palette_map.asm b/gfx/tilesets/park_palette_map.asm
index f9c65ef89..f9c65ef89 100644
--- a/tilesets/park_palette_map.asm
+++ b/gfx/tilesets/park_palette_map.asm
diff --git a/gfx/tilesets/players_house.png b/gfx/tilesets/players_house.png
index b49f799d8..76e470781 100644
--- a/gfx/tilesets/players_house.png
+++ b/gfx/tilesets/players_house.png
Binary files differ
diff --git a/gfx/tilesets/players_house_2f.png b/gfx/tilesets/players_house_2f.png
deleted file mode 100644
index e46a847b9..000000000
--- a/gfx/tilesets/players_house_2f.png
+++ /dev/null
Binary files differ
diff --git a/tilesets/players_house_palette_map.asm b/gfx/tilesets/players_house_palette_map.asm
index 5d089835b..5d089835b 100644
--- a/tilesets/players_house_palette_map.asm
+++ b/gfx/tilesets/players_house_palette_map.asm
diff --git a/gfx/tilesets/players_house_2f.2bpp.lz.35e51007 b/gfx/tilesets/players_room.2bpp.lz.35e51007
index b458a501d..b458a501d 100644
--- a/gfx/tilesets/players_house_2f.2bpp.lz.35e51007
+++ b/gfx/tilesets/players_room.2bpp.lz.35e51007
Binary files differ
diff --git a/gfx/tilesets/players_room.png b/gfx/tilesets/players_room.png
new file mode 100644
index 000000000..a0f268eb5
--- /dev/null
+++ b/gfx/tilesets/players_room.png
Binary files differ
diff --git a/tilesets/players_house_2f_palette_map.asm b/gfx/tilesets/players_room_palette_map.asm
index 1c0cb1f08..1c0cb1f08 100644
--- a/tilesets/players_house_2f_palette_map.asm
+++ b/gfx/tilesets/players_room_palette_map.asm
diff --git a/gfx/tilesets/pokecenter.png b/gfx/tilesets/pokecenter.png
index d4084ebd4..69cacdb7b 100644
--- a/gfx/tilesets/pokecenter.png
+++ b/gfx/tilesets/pokecenter.png
Binary files differ
diff --git a/tilesets/pokecenter_palette_map.asm b/gfx/tilesets/pokecenter_palette_map.asm
index 78508b59e..78508b59e 100644
--- a/tilesets/pokecenter_palette_map.asm
+++ b/gfx/tilesets/pokecenter_palette_map.asm
diff --git a/data/palettes/tilesets/pokecom_center.pal b/gfx/tilesets/pokecom_center.pal
index 9fe7b765a..9fe7b765a 100644
--- a/data/palettes/tilesets/pokecom_center.pal
+++ b/gfx/tilesets/pokecom_center.pal
diff --git a/gfx/tilesets/pokecom_center.png b/gfx/tilesets/pokecom_center.png
index 889b02727..fbbf270b3 100644
--- a/gfx/tilesets/pokecom_center.png
+++ b/gfx/tilesets/pokecom_center.png
Binary files differ
diff --git a/tilesets/pokecom_center_palette_map.asm b/gfx/tilesets/pokecom_center_palette_map.asm
index 75ee649f9..75ee649f9 100644
--- a/tilesets/pokecom_center_palette_map.asm
+++ b/gfx/tilesets/pokecom_center_palette_map.asm
diff --git a/gfx/tilesets/port.png b/gfx/tilesets/port.png
index 6990a7d7b..3e05e0da7 100644
--- a/gfx/tilesets/port.png
+++ b/gfx/tilesets/port.png
Binary files differ
diff --git a/tilesets/port_palette_map.asm b/gfx/tilesets/port_palette_map.asm
index 6bfdf4686..6bfdf4686 100644
--- a/tilesets/port_palette_map.asm
+++ b/gfx/tilesets/port_palette_map.asm
diff --git a/gfx/tilesets/power_plant.png b/gfx/tilesets/power_plant.png
deleted file mode 100644
index b72e3f401..000000000
--- a/gfx/tilesets/power_plant.png
+++ /dev/null
Binary files differ
diff --git a/data/palettes/tilesets/radio_tower.pal b/gfx/tilesets/radio_tower.pal
index 5799b6f77..5799b6f77 100644
--- a/data/palettes/tilesets/radio_tower.pal
+++ b/gfx/tilesets/radio_tower.pal
diff --git a/gfx/tilesets/radio_tower.png b/gfx/tilesets/radio_tower.png
index 8d2d32e1f..4f823f756 100644
--- a/gfx/tilesets/radio_tower.png
+++ b/gfx/tilesets/radio_tower.png
Binary files differ
diff --git a/tilesets/radio_tower_palette_map.asm b/gfx/tilesets/radio_tower_palette_map.asm
index 3530f7479..3530f7479 100644
--- a/tilesets/radio_tower_palette_map.asm
+++ b/gfx/tilesets/radio_tower_palette_map.asm
diff --git a/gfx/tilesets/roofs.pal b/gfx/tilesets/roofs.pal
new file mode 100644
index 000000000..6daf87cb6
--- /dev/null
+++ b/gfx/tilesets/roofs.pal
@@ -0,0 +1,107 @@
+; group 0 (unused)
+ RGB 21,21,21, 11,11,11 ; morn/day
+ RGB 21,21,21, 11,11,11; nite
+
+; group 1 (Olivine)
+ RGB 14,17,31, 07,11,15 ; morn/day
+ RGB 09,09,17, 05,07,13; nite
+
+; group 2 (Mahogany)
+ RGB 12,19,00, 06,10,00 ; morn/day
+ RGB 06,09,07, 04,05,06; nite
+
+; group 3 (dungeons)
+ RGB 21,21,21, 11,11,11 ; morn/day
+ RGB 21,21,21, 17,08,07; nite
+
+; group 4 (Ecruteak)
+ RGB 31,19,00, 27,10,05 ; morn/day
+ RGB 15,07,02, 11,04,02; nite
+
+; group 5 (Blackthorn)
+ RGB 11,10,16, 05,06,07 ; morn/day
+ RGB 03,04,08, 00,00,00; nite
+
+; group 6 (Cinnabar)
+ RGB 31,10,00, 18,06,00 ; morn/day
+ RGB 18,05,09, 17,08,07; nite
+
+; group 7 (Cerulean)
+ RGB 17,27,31, 05,15,31 ; morn/day
+ RGB 07,08,22, 07,07,16; nite
+
+; group 8 (Azalea)
+ RGB 22,20,10, 17,14,03 ; morn/day
+ RGB 11,11,05, 10,09,07; nite
+
+; group 9 (Lake of Rage)
+ RGB 31,08,04, 09,09,08 ; morn/day
+ RGB 18,05,09, 09,09,08; nite
+
+; group 10 (Violet)
+ RGB 24,14,31, 13,07,21 ; morn/day
+ RGB 12,03,18, 09,03,15; nite
+
+; group 11 (Goldenrod)
+ RGB 25,25,00, 20,17,08 ; morn/day
+ RGB 12,12,00, 10,09,05; nite
+
+; group 12 (Vermilion)
+ RGB 27,23,01, 23,11,00 ; morn/day
+ RGB 15,11,01, 11,10,01; nite
+
+; group 13 (Pallet)
+ RGB 27,28,31, 17,19,22 ; morn/day
+ RGB 14,14,18, 10,09,13; nite
+
+; group 14 (Pewter)
+ RGB 19,19,16, 10,12,15 ; morn/day
+ RGB 09,09,11, 04,05,07; nite
+
+; group 15 (Mount Moon Square)
+ RGB 14,17,31, 07,11,15 ; morn/day
+ RGB 09,13,19, 07,07,16; nite
+
+; group 16 (Indigo)
+ RGB 21,21,21, 13,13,13 ; morn/day
+ RGB 11,11,19, 07,07,12; nite
+
+; group 17 (Fuchsia)
+ RGB 31,18,29, 17,13,20 ; morn/day
+ RGB 14,06,12, 11,03,10; nite
+
+; group 18 (Lavender)
+ RGB 23,15,31, 16,05,31 ; morn/day
+ RGB 12,07,17, 08,06,10; nite
+
+; group 19 (Silver Cave)
+ RGB 21,21,25, 16,16,16 ; morn/day
+ RGB 13,13,13, 07,07,07; nite
+
+; group 20 (Cable Club)
+ RGB 21,21,21, 11,11,11 ; morn/day
+ RGB 21,21,21, 11,11,11; nite
+
+; group 21 (Celadon)
+ RGB 19,31,15, 31,22,02 ; morn/day
+ RGB 12,13,09, 09,12,03; nite
+
+; group 22 (Cianwood)
+ RGB 15,10,31, 07,05,15 ; morn/day
+ RGB 06,05,17, 02,02,08; nite
+
+; group 23 (Viridian)
+ RGB 21,31,07, 13,25,04 ; morn/day
+ RGB 09,14,08, 06,10,04; nite
+
+; group 24 (New Bark)
+ RGB 20,31,14, 11,23,05 ; morn/day
+ RGB 09,13,08, 06,09,04; nite
+
+; group 25 (Saffron)
+ RGB 31,26,00, 31,15,00 ; morn/day
+ RGB 13,13,01, 08,08,01; nite
+
+; group 26 (Cherrygrove)
+ RGB 31,14,28, 31,05,21 ; morn/day
+ RGB 14,07,17, 13,00,08; nite
diff --git a/gfx/tilesets/ruins_of_alph.png b/gfx/tilesets/ruins_of_alph.png
index f41866c58..7ae272358 100644
--- a/gfx/tilesets/ruins_of_alph.png
+++ b/gfx/tilesets/ruins_of_alph.png
Binary files differ
diff --git a/tilesets/ruins_of_alph_palette_map.asm b/gfx/tilesets/ruins_of_alph_palette_map.asm
index 5ebde24ba..5ebde24ba 100644
--- a/tilesets/ruins_of_alph_palette_map.asm
+++ b/gfx/tilesets/ruins_of_alph_palette_map.asm
diff --git a/gfx/tilesets/sprout_tower.png b/gfx/tilesets/sprout_tower.png
deleted file mode 100644
index 268fc998f..000000000
--- a/gfx/tilesets/sprout_tower.png
+++ /dev/null
Binary files differ
diff --git a/gfx/tilesets/sprout-pillar/1.png b/gfx/tilesets/tower-pillar/1.png
index c22fb2a13..c22fb2a13 100644
--- a/gfx/tilesets/sprout-pillar/1.png
+++ b/gfx/tilesets/tower-pillar/1.png
Binary files differ
diff --git a/gfx/tilesets/sprout-pillar/10.png b/gfx/tilesets/tower-pillar/10.png
index 01dbe1afc..01dbe1afc 100644
--- a/gfx/tilesets/sprout-pillar/10.png
+++ b/gfx/tilesets/tower-pillar/10.png
Binary files differ
diff --git a/gfx/tilesets/sprout-pillar/2.png b/gfx/tilesets/tower-pillar/2.png
index 76fae403b..76fae403b 100644
--- a/gfx/tilesets/sprout-pillar/2.png
+++ b/gfx/tilesets/tower-pillar/2.png
Binary files differ
diff --git a/gfx/tilesets/sprout-pillar/3.png b/gfx/tilesets/tower-pillar/3.png
index 80ce4657c..80ce4657c 100644
--- a/gfx/tilesets/sprout-pillar/3.png
+++ b/gfx/tilesets/tower-pillar/3.png
Binary files differ
diff --git a/gfx/tilesets/sprout-pillar/4.png b/gfx/tilesets/tower-pillar/4.png
index 9d523c4bc..9d523c4bc 100644
--- a/gfx/tilesets/sprout-pillar/4.png
+++ b/gfx/tilesets/tower-pillar/4.png
Binary files differ
diff --git a/gfx/tilesets/sprout-pillar/5.png b/gfx/tilesets/tower-pillar/5.png
index b7796c8d6..b7796c8d6 100644
--- a/gfx/tilesets/sprout-pillar/5.png
+++ b/gfx/tilesets/tower-pillar/5.png
Binary files differ
diff --git a/gfx/tilesets/sprout-pillar/6.png b/gfx/tilesets/tower-pillar/6.png
index 0ca0e5936..0ca0e5936 100644
--- a/gfx/tilesets/sprout-pillar/6.png
+++ b/gfx/tilesets/tower-pillar/6.png
Binary files differ
diff --git a/gfx/tilesets/sprout-pillar/7.png b/gfx/tilesets/tower-pillar/7.png
index 3aa4b4e94..3aa4b4e94 100644
--- a/gfx/tilesets/sprout-pillar/7.png
+++ b/gfx/tilesets/tower-pillar/7.png
Binary files differ
diff --git a/gfx/tilesets/sprout-pillar/8.png b/gfx/tilesets/tower-pillar/8.png
index e81475618..e81475618 100644
--- a/gfx/tilesets/sprout-pillar/8.png
+++ b/gfx/tilesets/tower-pillar/8.png
Binary files differ
diff --git a/gfx/tilesets/sprout-pillar/9.png b/gfx/tilesets/tower-pillar/9.png
index da74607be..da74607be 100644
--- a/gfx/tilesets/sprout-pillar/9.png
+++ b/gfx/tilesets/tower-pillar/9.png
Binary files differ
diff --git a/gfx/tilesets/sprout_tower.2bpp.lz.bc56789c b/gfx/tilesets/tower.2bpp.lz.bc56789c
index 2033306e3..2033306e3 100644
--- a/gfx/tilesets/sprout_tower.2bpp.lz.bc56789c
+++ b/gfx/tilesets/tower.2bpp.lz.bc56789c
Binary files differ
diff --git a/gfx/tilesets/tower.png b/gfx/tilesets/tower.png
new file mode 100644
index 000000000..05484b5d9
--- /dev/null
+++ b/gfx/tilesets/tower.png
Binary files differ
diff --git a/tilesets/sprout_tower_palette_map.asm b/gfx/tilesets/tower_palette_map.asm
index 6e3c10115..6e3c10115 100644
--- a/tilesets/sprout_tower_palette_map.asm
+++ b/gfx/tilesets/tower_palette_map.asm
diff --git a/gfx/tilesets/kurts_house.2bpp.lz.dd51d079 b/gfx/tilesets/traditional_house.2bpp.lz.dd51d079
index 28f025413..28f025413 100644
--- a/gfx/tilesets/kurts_house.2bpp.lz.dd51d079
+++ b/gfx/tilesets/traditional_house.2bpp.lz.dd51d079
Binary files differ
diff --git a/gfx/tilesets/traditional_house.png b/gfx/tilesets/traditional_house.png
new file mode 100644
index 000000000..bda1f7983
--- /dev/null
+++ b/gfx/tilesets/traditional_house.png
Binary files differ
diff --git a/tilesets/kurts_house_palette_map.asm b/gfx/tilesets/traditional_house_palette_map.asm
index 5daa0da6b..5daa0da6b 100644
--- a/tilesets/kurts_house_palette_map.asm
+++ b/gfx/tilesets/traditional_house_palette_map.asm
diff --git a/gfx/tilesets/train_station.png b/gfx/tilesets/train_station.png
index 0c148f95d..b0704b9df 100644
--- a/gfx/tilesets/train_station.png
+++ b/gfx/tilesets/train_station.png
Binary files differ
diff --git a/tilesets/train_station_palette_map.asm b/gfx/tilesets/train_station_palette_map.asm
index f52f5bbe7..f52f5bbe7 100644
--- a/tilesets/train_station_palette_map.asm
+++ b/gfx/tilesets/train_station_palette_map.asm
diff --git a/gfx/tilesets/underground.png b/gfx/tilesets/underground.png
index 0a83d2043..c33c3fd5b 100644
--- a/gfx/tilesets/underground.png
+++ b/gfx/tilesets/underground.png
Binary files differ
diff --git a/tilesets/underground_palette_map.asm b/gfx/tilesets/underground_palette_map.asm
index 6b9b5546d..6b9b5546d 100644
--- a/tilesets/underground_palette_map.asm
+++ b/gfx/tilesets/underground_palette_map.asm
diff --git a/tilesets/unused_museum_palette_map.asm b/gfx/tilesets/unused_museum_palette_map.asm
index cfbe6dbcd..cfbe6dbcd 100644
--- a/tilesets/unused_museum_palette_map.asm
+++ b/gfx/tilesets/unused_museum_palette_map.asm
diff --git a/gfx/tilesets/whirl_islands.png b/gfx/tilesets/whirl_islands.png
deleted file mode 100644
index 9dc74c45b..000000000
--- a/gfx/tilesets/whirl_islands.png
+++ /dev/null
Binary files differ
diff --git a/data/palettes/unused_title/bg.pal b/gfx/title/old_bg.pal
index f0604a261..307eb76a1 100644
--- a/data/palettes/unused_title/bg.pal
+++ b/gfx/title/old_bg.pal
@@ -37,3 +37,20 @@
RGB 22, 10, 31
RGB 19, 08, 26
RGB 17, 07, 22
+
+ RGB 31, 31, 31
+ RGB 31, 31, 31
+ RGB 31, 31, 31
+ RGB 31, 31, 31
+
+ RGB 31, 31, 31
+ RGB 20, 04, 20
+ RGB 16, 08, 16
+ RGB 24, 00, 24
+
+rept 54
+ RGB 31, 31, 31
+ RGB 31, 31, 31
+ RGB 31, 31, 31
+ RGB 31, 31, 31
+endr
diff --git a/gfx/title/old_bg.tilemap b/gfx/title/old_bg.tilemap
new file mode 100644
index 000000000..58f448c38
--- /dev/null
+++ b/gfx/title/old_bg.tilemap
Binary files differ
diff --git a/data/palettes/unused_title/ob.pal b/gfx/title/old_fg.pal
index 80e7d9896..80e7d9896 100644
--- a/data/palettes/unused_title/ob.pal
+++ b/gfx/title/old_fg.pal
diff --git a/data/palettes/title.pal b/gfx/title/title.pal
index 95bc2a394..95bc2a394 100644
--- a/data/palettes/title.pal
+++ b/gfx/title/title.pal
diff --git a/data/palettes/unknown/b6f1.pal b/gfx/title/unused_gs_bg.pal
index 1dd56f50f..1dd56f50f 100644
--- a/data/palettes/unknown/b6f1.pal
+++ b/gfx/title/unused_gs_bg.pal
diff --git a/data/palettes/unknown/b719.pal b/gfx/title/unused_gs_fg.pal
index 09dd9a364..09dd9a364 100644
--- a/data/palettes/unknown/b719.pal
+++ b/gfx/title/unused_gs_fg.pal
diff --git a/data/palettes/trade_room.pal b/gfx/trade/border.pal
index b5615248e..b5615248e 100644
--- a/data/palettes/trade_room.pal
+++ b/gfx/trade/border.pal
diff --git a/gfx/trainer_card/leaders.png b/gfx/trainer_card/leaders.png
index 6e7eb0f8d..874135436 100644
--- a/gfx/trainer_card/leaders.png
+++ b/gfx/trainer_card/leaders.png
Binary files differ
diff --git a/data/palettes/unknown/49757.pal b/gfx/unknown/49757.pal
index 93e884046..93e884046 100644
--- a/data/palettes/unknown/49757.pal
+++ b/gfx/unknown/49757.pal
diff --git a/gfx/unknown/4985a.asm b/gfx/unknown/4985a.asm
new file mode 100644
index 000000000..8449d6a1a
--- /dev/null
+++ b/gfx/unknown/4985a.asm
@@ -0,0 +1,8 @@
+ db $ab,$03, $57,$24, $ac,$0e, $13,$32
+ db $be,$30, $5b,$4c, $47,$60, $ed,$f2
+ db $ab,$03, $55,$26, $aa,$0a, $13,$3a
+ db $be,$28, $33,$24, $6e,$71, $df,$b0
+ db $a8,$00, $e5,$e0, $9a,$fc, $f4,$2c
+ db $fe,$4c, $a3,$5e, $c6,$3a, $ab,$4d
+ db $a8,$00, $b5,$b0, $de,$e8, $fc,$1c
+ db $ba,$66, $f7,$0e, $ba,$5e, $43,$bd
diff --git a/data/palettes/unknown/b789.pal b/gfx/unknown/b789.pal
index cce760662..cce760662 100644
--- a/data/palettes/unknown/b789.pal
+++ b/gfx/unknown/b789.pal
diff --git a/home.asm b/home.asm
index 8e4b3b171..35968744d 100644
--- a/home.asm
+++ b/home.asm
@@ -1,4 +1,4 @@
-INCLUDE "includes.asm"
+INCLUDE "constants.asm"
SECTION "NULL", ROM0
@@ -44,6 +44,7 @@ INCLUDE "home/game_time.asm"
INCLUDE "home/map.asm"
InexplicablyEmptyFunction:: ; 2d43
+; unused
; Inexplicably empty.
; Seen in PredefPointers.
rept 16
@@ -57,8 +58,7 @@ INCLUDE "home/predef.asm"
INCLUDE "home/window.asm"
INCLUDE "home/flag.asm"
-Function2ebb:: ; 2ebb
-; unreferenced
+Unreferenced_Function2ebb:: ; 2ebb
ld a, [wMonStatusFlags]
bit 1, a
ret z
@@ -79,8 +79,7 @@ xor_a_dec_a:: ; 2ec8
ret
; 2ecb
-Function2ecb:: ; 2ecb
-; unreferenced
+Unreferenced_Function2ecb:: ; 2ecb
push hl
ld hl, wMonStatusFlags
bit 1, [hl]
@@ -182,12 +181,12 @@ ClearSprites:: ; 300b
HideSprites:: ; 3016
; Set all OAM y-positions to 160 to hide them offscreen
- ld hl, Sprites
- ld de, 4 ; length of an OAM struct
- ld b, (SpritesEnd - Sprites) / 4 ; number of OAM structs
- ld a, 160 ; y
+ ld hl, Sprite01YCoord
+ ld de, SPRITEOAMSTRUCT_LENGTH
+ ld b, NUM_SPRITE_OAM_STRUCTS
+ ld a, SCREEN_WIDTH_PX
.loop
- ld [hl], a
+ ld [hl], a ; y
add hl, de
dec b
jr nz, .loop
@@ -552,7 +551,7 @@ CopyTilemapAtOnce:: ; 323d
jr .CopyTilemapAtOnce
; 323f
-; XXX
+; unused
farcall HDMATransferAttrMapAndTileMapToWRAMBank3
ret
; 3246
@@ -712,7 +711,7 @@ GetSGBLayout:: ; 3340
ret z
.sgb
- predef_jump Predef_LoadSGBLayout ; LoadSGBLayout
+ predef_jump LoadSGBLayout
; 334e
SetHPPal:: ; 334e
@@ -843,7 +842,7 @@ HandleStoneQueue:: ; 3567
ld a, [hROMBank]
push af
- call SwitchToMapScriptHeaderBank
+ call SwitchToMapScriptsBank
call .WarpAction
pop bc
@@ -900,7 +899,7 @@ HandleStoneQueue:: ; 3567
; 35b0
.check_on_warp ; 35b0
- ld hl, wCurrMapWarpHeaderPointer
+ ld hl, wCurrMapWarpsPointer
ld a, [hli]
ld h, [hl]
ld l, a
@@ -1127,8 +1126,7 @@ Print8BitNumRightAlign:: ; 3842
jp PrintNum
; 384d
-Function384d:: ; 384d
-; XXX
+Unreferenced_Function384d:: ; 384d
; GetNthMove
ld hl, wListMoves_MoveIndicesBuffer
ld c, a
@@ -1209,7 +1207,7 @@ GetNick:: ; 38a2
ld de, StringBuffer1
push de
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
pop de
@@ -1321,8 +1319,7 @@ GetPartyLocation:: ; 3927
jp AddNTimes
; 392d
-Function392d:: ; 392d
-; XXX
+Unreferenced_Function392d:: ; 392d
; GetDexNumber
; Probably used in gen 1 to convert index number to dex number
; Not required in gen 2 because index number == dex number
diff --git a/home/audio.asm b/home/audio.asm
index 35f98af4d..44786ee29 100644
--- a/home/audio.asm
+++ b/home/audio.asm
@@ -141,7 +141,7 @@ PlayMusic2:: ; 3bbc
; 3be3
-PlayCryHeader:: ; 3be3
+PlayCry:: ; 3be3
; Play cry header de.
push hl
@@ -176,11 +176,11 @@ endr
ld a, [hl]
ld [CryLength + 1], a
- ld a, BANK(_PlayCryHeader)
+ ld a, BANK(_PlayCry)
ld [hROMBank], a
ld [MBC3RomBank], a
- call _PlayCryHeader
+ call _PlayCry
pop af
ld [hROMBank], a
@@ -319,7 +319,7 @@ Unused_FadeOutMusic:: ; 3ca8
; 3cae
FadeInMusic:: ; 3cae
- ld a, 4 | 1 << 7
+ ld a, 4 | (1 << MUSIC_FADE_IN_F)
ld [MusicFade], a
ret
; 3cb4
@@ -340,7 +340,7 @@ FadeToMapMusic:: ; 3cbc
push bc
push af
- call GetMapMusic
+ call GetMapMusic_MaybeSpecial
ld a, [wMapMusic]
cp e
jr z, .done
@@ -368,7 +368,7 @@ PlayMapMusic:: ; 3cdf
push bc
push af
- call GetMapMusic
+ call GetMapMusic_MaybeSpecial
ld a, [wMapMusic]
cp e
jr z, .done
@@ -402,7 +402,7 @@ EnterMapMusic:: ; 3d03
ld a, [PlayerState]
cp PLAYER_BIKE
jr z, .play
- call GetMapMusic
+ call GetMapMusic_MaybeSpecial
.play
push de
ld de, MUSIC_NONE
@@ -495,27 +495,26 @@ SpecialMapMusic:: ; 3d62
ret
; 3d97
-GetMapMusic:: ; 3d97
+GetMapMusic_MaybeSpecial:: ; 3d97
call SpecialMapMusic
ret c
- call GetMapHeaderMusic
+ call GetMapMusic
ret
; 3d9f
-Function3d9f:: ; 3d9f
+Unreferenced_Function3d9f:: ; 3d9f
; Places a BCD number at the
; upper center of the screen.
-; Unreferenced.
- ld a, 4 * 8
- ld [Sprites + 38 * 4], a
- ld [Sprites + 39 * 4], a
- ld a, 10 * 8
- ld [Sprites + 38 * 4 + 1], a
- ld a, 11 * 8
- ld [Sprites + 39 * 4 + 1], a
+ ld a, 4 * TILE_WIDTH
+ ld [Sprite39YCoord], a
+ ld [Sprite40YCoord], a
+ ld a, 10 * TILE_WIDTH
+ ld [Sprite39XCoord], a
+ ld a, 11 * TILE_WIDTH
+ ld [Sprite40XCoord], a
xor a
- ld [Sprites + 38 * 4 + 3], a
- ld [Sprites + 39 * 4 + 3], a
+ ld [Sprite39Attributes], a
+ ld [Sprite40Attributes], a
ld a, [wc296]
cp 100
jr nc, .max
@@ -525,17 +524,17 @@ Function3d9f:: ; 3d9f
swap a
and $f
add "0"
- ld [Sprites + 38 * 4 + 2], a
+ ld [Sprite39TileID], a
ld a, b
and $f
add "0"
- ld [Sprites + 39 * 4 + 2], a
+ ld [Sprite40TileID], a
ret
.max
ld a, "9"
- ld [Sprites + 38 * 4 + 2], a
- ld [Sprites + 39 * 4 + 2], a
+ ld [Sprite39TileID], a
+ ld [Sprite40TileID], a
ret
; 3dde
diff --git a/home/cry.asm b/home/cry.asm
index 393534a29..204b02ba4 100644
--- a/home/cry.asm
+++ b/home/cry.asm
@@ -3,7 +3,7 @@ PlayStereoCry:: ; 37b6
ld a, 1
ld [wStereoPanningMask], a
pop af
- call _PlayCry
+ call _PlayMonCry
call WaitSFX
ret
; 37c4
@@ -15,27 +15,27 @@ PlayStereoCry2:: ; 37c4
ld a, 1
ld [wStereoPanningMask], a
pop af
- jp _PlayCry
+ jp _PlayMonCry
; 37ce
-PlayCry:: ; 37ce
- call PlayCry2
+PlayMonCry:: ; 37ce
+ call PlayMonCry2
call WaitSFX
ret
; 37d5
-PlayCry2:: ; 37d5
+PlayMonCry2:: ; 37d5
; Don't wait for the cry to end.
push af
xor a
ld [wStereoPanningMask], a
ld [CryTracks], a
pop af
- call _PlayCry
+ call _PlayMonCry
ret
; 37e2
-_PlayCry:: ; 37e2
+_PlayMonCry:: ; 37e2
push hl
push de
push bc
@@ -45,7 +45,7 @@ _PlayCry:: ; 37e2
ld e, c
ld d, b
- call PlayCryHeader
+ call PlayCry
.done
pop bc
@@ -54,7 +54,7 @@ _PlayCry:: ; 37e2
ret
; 37f3
-LoadCryHeader:: ; 37f3
+LoadCry:: ; 37f3
; Load cry header bc.
call GetCryIndex
diff --git a/home/fade.asm b/home/fade.asm
index c5eb2c2eb..d81a49c6c 100644
--- a/home/fade.asm
+++ b/home/fade.asm
@@ -1,8 +1,7 @@
; Functions to fade the screen in and out.
-Function48c:: ; 48c
-; XXX
+Unreferenced_Function48c:: ; 48c
; TimeOfDayFade
ld a, [TimeOfDayPal]
ld b, a
diff --git a/home/game_time.asm b/home/game_time.asm
index 69ea0099e..36dcaa282 100644
--- a/home/game_time.asm
+++ b/home/game_time.asm
@@ -16,7 +16,7 @@ GameTimer:: ; 209e
ld a, [rSVBK]
push af
- ld a, 1
+ ld a, BANK(GameTime)
ld [rSVBK], a
call UpdateGameTimer
diff --git a/home/init.asm b/home/init.asm
index 8895da0f9..d8e476c3f 100644
--- a/home/init.asm
+++ b/home/init.asm
@@ -32,7 +32,7 @@ _Start:: ; 16e
.load
ld [hCGB], a
ld a, $1
- ld [hFFEA], a
+ ld [hSystemBooted], a
; 17d
@@ -55,7 +55,7 @@ Init:: ; 17d
ld [rOBP1], a
ld [rTMA], a
ld [rTAC], a
- ld [$d000], a
+ ld [WRAM1_Begin], a
ld a, %100 ; Start timer at 4096Hz
ld [rTAC], a
@@ -84,14 +84,14 @@ Init:: ; 17d
; Clear HRAM
ld a, [hCGB]
push af
- ld a, [hFFEA]
+ ld a, [hSystemBooted]
push af
xor a
ld hl, HRAM_Begin
ld bc, HRAM_End - HRAM_Begin
call ByteFill
pop af
- ld [hFFEA], a
+ ld [hSystemBooted], a
pop af
ld [hCGB], a
@@ -136,8 +136,8 @@ Init:: ; 17d
; BG on
ld [rLCDC], a
- ld a, -1
- ld [hLinkPlayerNumber], a
+ ld a, CONNECTION_NOT_ESTABLISHED
+ ld [hSerialConnectionStatus], a
farcall InitCGBPals
@@ -182,11 +182,11 @@ ClearVRAM:: ; 245
ld [rVBK], a
call .clear
- xor a
+ xor a ; 0
ld [rVBK], a
.clear
- ld hl, vTiles0
- ld bc, $2000
+ ld hl, VRAM_Begin
+ ld bc, VRAM_End - VRAM_Begin
xor a
call ByteFill
ret
diff --git a/home/lcd.asm b/home/lcd.asm
index dfb174ee1..e2fb4c5a9 100644
--- a/home/lcd.asm
+++ b/home/lcd.asm
@@ -1,8 +1,7 @@
; LCD handling
-Function547:: ; 547
-; Unreferenced
+Unreferenced_Function547:: ; 547
ld a, [hLCDCPointer]
cp rSCX - $ff00
ret nz
diff --git a/home/map.asm b/home/map.asm
index 1e409f0fc..a66391896 100644
--- a/home/map.asm
+++ b/home/map.asm
@@ -2,8 +2,8 @@
Clearwc7e8:: ; 210f
ld hl, wc7e8
- ld bc, 24
- ld a, $0
+ ld bc, wc7e8_End - wc7e8
+ ld a, 0
call ByteFill
ret
; 211b
@@ -72,7 +72,7 @@ GetMapSceneID:: ; 2147
.next
pop hl
- ld de, 4 ; size of an entry in the scene script table
+ ld de, 4 ; scene_script size
add hl, de
jr .loop
@@ -249,7 +249,7 @@ GetDestinationWarpNumber:: ; 2252
ld a, [hROMBank]
push af
- call SwitchToMapScriptHeaderBank
+ call SwitchToMapScriptsBank
call .GetDestinationWarpNumber
pop de
@@ -270,7 +270,7 @@ GetDestinationWarpNumber:: ; 2252
ret z
ld c, a
- ld hl, wCurrMapWarpHeaderPointer
+ ld hl, wCurrMapWarpsPointer
ld a, [hli]
ld h, [hl]
ld l, a
@@ -321,7 +321,7 @@ CopyWarpData:: ; 22a7
ld a, [hROMBank]
push af
- call SwitchToMapScriptHeaderBank
+ call SwitchToMapScriptsBank
call .CopyWarpData
pop af
@@ -332,7 +332,7 @@ CopyWarpData:: ; 22a7
.CopyWarpData: ; 22b4
push bc
- ld hl, wCurrMapWarpHeaderPointer
+ ld hl, wCurrMapWarpsPointer
ld a, [hli]
ld h, [hl]
ld l, a
@@ -384,7 +384,7 @@ CheckIndoorMap:: ; 22f4
ret
; 2300
-; XXX
+; unused
cp INDOOR
ret z
cp GATE
@@ -394,35 +394,35 @@ CheckIndoorMap:: ; 22f4
; 2309
LoadMapAttributes:: ; 2309
- call CopyMapHeaders
- call SwitchToMapScriptHeaderBank
+ call CopyMapDefAndData
+ call SwitchToMapScriptsBank
call ReadMapScripts
- xor a
- call ReadMapEventHeader
+ xor a ; do not skip object_events
+ call ReadMapEvents
ret
; 2317
LoadMapAttributes_SkipPeople:: ; 2317
- call CopyMapHeaders
- call SwitchToMapScriptHeaderBank
+ call CopyMapDefAndData
+ call SwitchToMapScriptsBank
call ReadMapScripts
- ld a, $1
- call ReadMapEventHeader
+ ld a, TRUE ; skip object events
+ call ReadMapEvents
ret
; 2326
-CopyMapHeaders:: ; 2326
- call PartiallyCopyMapHeader
- call SwitchToMapBank
- call GetSecondaryMapHeaderPointer
- call CopySecondMapHeader
+CopyMapDefAndData:: ; 2326
+ call PartialCopyMapDef
+ call SwitchToMapDataBank
+ call GetMapDataPointer
+ call CopyMapData
call GetMapConnections
ret
; 2336
-ReadMapEventHeader:: ; 2336
+ReadMapEvents:: ; 2336
push af
- ld hl, MapEventHeaderPointer
+ ld hl, MapEventsPointer
ld a, [hli]
ld h, [hl]
ld l, a
@@ -433,7 +433,7 @@ ReadMapEventHeader:: ; 2336
call ReadBGEvents
pop af
- and a
+ and a ; skip object events?
ret nz
call ReadObjectEvents
@@ -441,7 +441,7 @@ ReadMapEventHeader:: ; 2336
; 234f
ReadMapScripts:: ; 234f
- ld hl, MapScriptHeaderPointer
+ ld hl, MapScriptsPointer
ld a, [hli]
ld h, [hl]
ld l, a
@@ -450,9 +450,9 @@ ReadMapScripts:: ; 234f
ret
; 235c
-CopySecondMapHeader:: ; 235c
- ld de, MapHeader
- ld c, 12 ; size of the second map header
+CopyMapData:: ; 235c
+ ld de, wMapData
+ ld c, wMapDataEnd - wMapData
.loop
ld a, [hli]
ld [de], a
@@ -516,14 +516,14 @@ ReadMapSceneScripts:: ; 23ac
ld c, a
ld [wCurrMapSceneScriptCount], a ; current map scene script count
ld a, l
- ld [wCurrMapSceneScriptHeaderPointer], a ; map scene script pointer
+ ld [wCurrMapSceneScriptsPointer], a ; map scene script pointer
ld a, h
- ld [wCurrMapSceneScriptHeaderPointer + 1], a
+ ld [wCurrMapSceneScriptsPointer + 1], a
ld a, c
and a
ret z
- ld bc, 4 ; size of a map scene script header entry
+ ld bc, 4 ; scene_script size
call AddNTimes
ret
; 23c3
@@ -533,9 +533,9 @@ ReadMapCallbacks:: ; 23c3
ld c, a
ld [wCurrMapCallbackCount], a
ld a, l
- ld [wCurrMapCallbackHeaderPointer], a
+ ld [wCurrMapCallbacksPointer], a
ld a, h
- ld [wCurrMapCallbackHeaderPointer + 1], a
+ ld [wCurrMapCallbacksPointer + 1], a
ld a, c
and a
ret z
@@ -550,9 +550,9 @@ ReadWarps:: ; 23da
ld c, a
ld [wCurrMapWarpCount], a
ld a, l
- ld [wCurrMapWarpHeaderPointer], a
+ ld [wCurrMapWarpsPointer], a
ld a, h
- ld [wCurrMapWarpHeaderPointer + 1], a
+ ld [wCurrMapWarpsPointer + 1], a
ld a, c
and a
ret z
@@ -566,9 +566,9 @@ ReadCoordEvents:: ; 23f1
ld c, a
ld [wCurrMapCoordEventCount], a
ld a, l
- ld [wCurrMapCoordEventHeaderPointer], a
+ ld [wCurrMapCoordEventsPointer], a
ld a, h
- ld [wCurrMapCoordEventHeaderPointer + 1], a
+ ld [wCurrMapCoordEventsPointer + 1], a
ld a, c
and a
@@ -584,9 +584,9 @@ ReadBGEvents:: ; 2408
ld c, a
ld [wCurrMapBGEventCount], a
ld a, l
- ld [wCurrMapBGEventHeaderPointer], a
+ ld [wCurrMapBGEventsPointer], a
ld a, h
- ld [wCurrMapBGEventHeaderPointer + 1], a
+ ld [wCurrMapBGEventsPointer + 1], a
ld a, c
and a
@@ -606,12 +606,12 @@ ReadObjectEvents:: ; 241f
inc de
ld [wCurrMapObjectEventCount], a
ld a, e
- ld [wCurrMapObjectEventHeaderPointer], a
+ ld [wCurrMapObjectEventsPointer], a
ld a, d
- ld [wCurrMapObjectEventHeaderPointer + 1], a
+ ld [wCurrMapObjectEventsPointer + 1], a
ld a, [wCurrMapObjectEventCount]
- call CopyMapObjectHeaders
+ call CopyMapObjectEvents
; get NUM_OBJECTS - [wCurrMapObjectEventCount]
ld a, [wCurrMapObjectEventCount]
@@ -643,7 +643,7 @@ ReadObjectEvents:: ; 241f
ret
; 2457
-CopyMapObjectHeaders:: ; 2457
+CopyMapObjectEvents:: ; 2457
and a
ret z
@@ -690,10 +690,10 @@ ClearObjectStructs:: ; 2471
; 248a
RestoreFacingAfterWarp:: ; 248a
- call GetMapScriptHeaderBank
+ call GetMapScriptsBank
rst Bankswitch
- ld hl, MapEventHeaderPointer
+ ld hl, MapEventsPointer
ld a, [hli]
ld h, [hl]
ld l, a
@@ -759,12 +759,12 @@ ChangeMap:: ; 24e4
add hl, bc
ld c, 3
add hl, bc
- ld a, [MapBlockDataBank]
+ ld a, [MapBlocksBank]
rst Bankswitch
- ld a, [MapBlockDataPointer]
+ ld a, [MapBlocksPointer]
ld e, a
- ld a, [MapBlockDataPointer+1]
+ ld a, [MapBlocksPointer + 1]
ld d, a
ld a, [MapHeight]
ld b, a
@@ -802,7 +802,7 @@ FillMapConnections:: ; 2524
ld b, a
ld a, [NorthConnectedMapNumber]
ld c, a
- call GetAnyMapBlockdataBank
+ call GetAnyMapBlocksBank
ld a, [NorthConnectionStripPointer]
ld l, a
@@ -825,7 +825,7 @@ FillMapConnections:: ; 2524
ld b, a
ld a, [SouthConnectedMapNumber]
ld c, a
- call GetAnyMapBlockdataBank
+ call GetAnyMapBlocksBank
ld a, [SouthConnectionStripPointer]
ld l, a
@@ -848,7 +848,7 @@ FillMapConnections:: ; 2524
ld b, a
ld a, [WestConnectedMapNumber]
ld c, a
- call GetAnyMapBlockdataBank
+ call GetAnyMapBlocksBank
ld a, [WestConnectionStripPointer]
ld l, a
@@ -871,7 +871,7 @@ FillMapConnections:: ; 2524
ld b, a
ld a, [EastConnectedMapNumber]
ld c, a
- call GetAnyMapBlockdataBank
+ call GetAnyMapBlocksBank
ld a, [EastConnectionStripPointer]
ld l, a
@@ -992,20 +992,20 @@ CallMapScript:: ; 2631
ld a, [ScriptRunning]
and a
ret nz
- call GetMapScriptHeaderBank
+ call GetMapScriptsBank
jr CallScript
; 263b
RunMapCallback:: ; 263b
-; Will run the first callback found in the map header with execution index equal to a.
+; Will run the first callback found with execution index equal to a.
ld b, a
ld a, [hROMBank]
push af
- call SwitchToMapScriptHeaderBank
+ call SwitchToMapScriptsBank
call .FindCallback
jr nc, .done
- call GetMapScriptHeaderBank
+ call GetMapScriptsBank
ld b, a
ld d, h
ld e, l
@@ -1022,7 +1022,7 @@ RunMapCallback:: ; 263b
ld c, a
and a
ret z
- ld hl, wCurrMapCallbackHeaderPointer
+ ld hl, wCurrMapCallbacksPointer
ld a, [hli]
ld h, [hl]
ld l, a
@@ -1352,7 +1352,7 @@ UpdateBGMapRow:: ; 27d3
dec c
jr nz, .loop
ld a, SCREEN_WIDTH
- ld [hFFDC], a
+ ld [hBGMapTileCount], a
ret
; 27f8
@@ -1371,7 +1371,7 @@ UpdateBGMapColumn:: ; 27f8
inc d
; cap d at HIGH(vBGMap0)
ld a, d
- and $3
+ and %11
or HIGH(vBGMap0)
ld d, a
@@ -1379,11 +1379,11 @@ UpdateBGMapColumn:: ; 27f8
dec c
jr nz, .loop
ld a, SCREEN_HEIGHT
- ld [hFFDC], a
+ ld [hBGMapTileCount], a
ret
; 2816
-; unreferenced
+Unreferenced_Function2816::
ld hl, BGMapBuffer
ld bc, BGMapBufferEnd - BGMapBuffer
xor a
@@ -1401,7 +1401,7 @@ LoadTilesetGFX:: ; 2821
ld a, [rSVBK]
push af
- ld a, $6
+ ld a, BANK(wDecompressScratch)
ld [rSVBK], a
ld a, e
@@ -1429,10 +1429,11 @@ LoadTilesetGFX:: ; 2821
pop af
ld [rSVBK], a
+; These tilesets support dynamic per-mapgroup roof tiles.
ld a, [wTileset]
- cp TILESET_JOHTO_1
+ cp TILESET_JOHTO
jr z, .load_roof
- cp TILESET_JOHTO_2
+ cp TILESET_JOHTO_MODERN
jr z, .load_roof
cp TILESET_BATTLE_TOWER_OUTSIDE
jr z, .load_roof
@@ -1859,7 +1860,7 @@ CheckFacingBGEvent:: ; 2a8b
ld c, a
ld a, [hROMBank]
push af
- call SwitchToMapScriptHeaderBank
+ call SwitchToMapScriptsBank
call CheckIfFacingTileCoordIsBGEvent
pop hl
ld a, h
@@ -1869,7 +1870,7 @@ CheckFacingBGEvent:: ; 2a8b
CheckIfFacingTileCoordIsBGEvent:: ; 2aaa
; Checks to see if you are facing a BG event. If so, copies it into EngineBuffer1 and sets carry.
- ld hl, wCurrMapBGEventHeaderPointer
+ ld hl, wCurrMapBGEventsPointer
ld a, [hli]
ld h, [hl]
ld l, a
@@ -1915,7 +1916,7 @@ CheckCurrentMapCoordEvents:: ; 2ad4
ld c, a
ld a, [hROMBank]
push af
- call SwitchToMapScriptHeaderBank
+ call SwitchToMapScriptsBank
call .CoordEventCheck
pop hl
ld a, h
@@ -1924,7 +1925,7 @@ CheckCurrentMapCoordEvents:: ; 2ad4
.CoordEventCheck:
; Checks to see if you are standing on a coord event. If yes, copies the event to EngineBuffer1 and sets carry.
- ld hl, wCurrMapCoordEventHeaderPointer
+ ld hl, wCurrMapCoordEventsPointer
ld a, [hli]
ld h, [hl]
ld l, a
@@ -1983,7 +1984,7 @@ FadeToMenu:: ; 2b29
xor a
ld [hBGMapMode], a
call LoadStandardMenuDataHeader
- farcall FadeOutPalettes
+ farcall Special_FadeOutPalettes
call ClearSprites
call DisableSpriteUpdates
ret
@@ -2009,7 +2010,7 @@ FinishExitMenu:: ; 2b5c
call GetSGBLayout
farcall LoadOW_BGPal7
call WaitBGMap2
- farcall FadeInPalettes
+ farcall Special_FadeInPalettes
call EnableSpriteUpdates
ret
; 2b74
@@ -2042,7 +2043,7 @@ ReturnToMapWithSpeechTextbox:: ; 0x2b74
ReloadTilesetAndPalettes:: ; 2bae
call DisableLCD
call ClearSprites
- farcall RefreshSprites
+ farcall Special_RefreshSprites
call LoadStandardFont
call LoadFontsExtra
ld a, [hROMBank]
@@ -2051,7 +2052,7 @@ ReloadTilesetAndPalettes:: ; 2bae
ld b, a
ld a, [MapNumber]
ld c, a
- call SwitchToAnyMapBank
+ call SwitchToAnyMapDataBank
farcall UpdateTimeOfDayPal
call OverworldTextModeSwitch
call LoadTilesetGFX
@@ -2064,21 +2065,20 @@ ReloadTilesetAndPalettes:: ; 2bae
ret
; 2be5
-GetMapHeaderPointer:: ; 2be5
+GetMapDefPointer:: ; 2be5
ld a, [MapGroup]
ld b, a
ld a, [MapNumber]
ld c, a
-GetAnyMapHeaderPointer:: ; 0x2bed
+GetAnyMapDefPointer:: ; 0x2bed
; Prior to calling this function, you must have switched banks so that
; MapGroupPointers is visible.
; inputs:
; b = map group, c = map number
-; XXX de = ???
; outputs:
-; hl points to the map header
+; hl points to the map_def
push bc ; save map number for later
; get pointer to map group
@@ -2094,7 +2094,7 @@ GetAnyMapHeaderPointer:: ; 0x2bed
ld l, a
pop bc ; restore map number
- ; find the cth map header
+ ; find the cth map_def
dec c
ld b, 0
ld a, 9
@@ -2102,28 +2102,28 @@ GetAnyMapHeaderPointer:: ; 0x2bed
ret
; 0x2c04
-GetMapHeaderMember:: ; 0x2c04
-; Extract data from the current map's header.
+GetMapDefField:: ; 0x2c04
+; Extract data from the current map's map_def.
; inputs:
-; de = offset of desired data within the mapheader
+; de = offset of desired data within the map_def (a MAPDEF_* constant)
; outputs:
-; bc = data from the current map's header
-; (e.g., de = $0003 would return a pointer to the secondary map header)
+; bc = data from the current map's map_def
+; (e.g., de = MAPDEF_TILESET would return a pointer to the tileset id)
ld a, [MapGroup]
ld b, a
ld a, [MapNumber]
ld c, a
-GetAnyMapHeaderMember:: ; 0x2c0c
+GetAnyMapDefField:: ; 0x2c0c
; bankswitch
ld a, [hROMBank]
push af
ld a, BANK(MapGroupPointers)
rst Bankswitch
- call GetAnyMapHeaderPointer
+ call GetAnyMapDefPointer
add hl, de
ld c, [hl]
inc hl
@@ -2135,44 +2135,44 @@ GetAnyMapHeaderMember:: ; 0x2c0c
ret
; 0x2c1c
-SwitchToMapBank:: ; 2c1c
+SwitchToMapDataBank:: ; 2c1c
ld a, [MapGroup]
ld b, a
ld a, [MapNumber]
ld c, a
-SwitchToAnyMapBank:: ; 2c24
- call GetAnyMapBank
+SwitchToAnyMapDataBank:: ; 2c24
+ call GetAnyMapDataBank
rst Bankswitch
ret
; 2c29
-GetMapBank:: ; 2c29
+GetMapDataBank:: ; 2c29
ld a, [MapGroup]
ld b, a
ld a, [MapNumber]
ld c, a
-GetAnyMapBank:: ; 2c31
+GetAnyMapDataBank:: ; 2c31
push hl
push de
- ld de, MAPHEADER_MAPHEADER2_BANK
- call GetAnyMapHeaderMember
+ ld de, MAPDEF_MAPDATA_BANK
+ call GetAnyMapDefField
ld a, c
pop de
pop hl
ret
; 2c3d
-PartiallyCopyMapHeader:: ; 2c3d
-; Copy second map header bank, tileset, environment, and second map header address
-; from the current map's map header.
+PartialCopyMapDef:: ; 2c3d
+; Copy map data bank, tileset, environment, and map data address
+; from the current map's map_def.
ld a, [hROMBank]
push af
ld a, BANK(MapGroupPointers)
rst Bankswitch
- call GetMapHeaderPointer
- ld de, wSecondMapHeaderBank
- ld bc, MapHeader - wSecondMapHeaderBank
+ call GetMapDefPointer
+ ld de, wPartialMapDef
+ ld bc, wPartialMapDefEnd - wPartialMapDef
call CopyBytes
pop af
@@ -2180,36 +2180,36 @@ PartiallyCopyMapHeader:: ; 2c3d
ret
; 2c52
-SwitchToMapScriptHeaderBank:: ; 2c52
- ld a, [MapScriptHeaderBank]
+SwitchToMapScriptsBank:: ; 2c52
+ ld a, [MapScriptsBank]
rst Bankswitch
ret
; 2c57
-GetMapScriptHeaderBank:: ; 2c57
- ld a, [MapScriptHeaderBank]
+GetMapScriptsBank:: ; 2c57
+ ld a, [MapScriptsBank]
ret
; 2c5b
-GetAnyMapBlockdataBank:: ; 2c5b
+GetAnyMapBlocksBank:: ; 2c5b
; Return the blockdata bank for group b map c.
push hl
push de
push bc
push bc
- ld de, MAPHEADER_MAPHEADER2
- call GetAnyMapHeaderMember
+ ld de, MAPDEF_MAPDATA
+ call GetAnyMapDefField
ld l, c
ld h, b
pop bc
push hl
- ld de, MAPHEADER_MAPHEADER2_BANK
- call GetAnyMapHeaderMember
+ ld de, MAPDEF_MAPDATA_BANK
+ call GetAnyMapDefField
pop hl
- ld de, MAPHEADER_MAPHEADER2 ; blockdata bank
+ ld de, MAPDEF_MAPDATA ; blockdata bank
add hl, de
ld a, c
call GetFarByte
@@ -2221,12 +2221,12 @@ GetAnyMapBlockdataBank:: ; 2c5b
ret
; 2c7d
-GetSecondaryMapHeaderPointer:: ; 0x2c7d
-; returns the current map's secondary map header pointer in hl.
+GetMapDataPointer:: ; 0x2c7d
+; returns the current map's data pointer in hl.
push bc
push de
- ld de, MAPHEADER_MAPHEADER2
- call GetMapHeaderMember
+ ld de, MAPDEF_MAPDATA
+ call GetMapDefField
ld l, c
ld h, b
pop de
@@ -2238,8 +2238,8 @@ GetMapEnvironment:: ; 2c8a
push hl
push de
push bc
- ld de, MAPHEADER_ENVIRONMENT
- call GetMapHeaderMember
+ ld de, MAPDEF_ENVIRONMENT
+ call GetMapDefField
ld a, c
pop bc
pop de
@@ -2247,15 +2247,15 @@ GetMapEnvironment:: ; 2c8a
ret
; 2c98
- ret ; XXX
+ ret ; unused
; 2c99
GetAnyMapEnvironment:: ; 2c99
push hl
push de
push bc
- ld de, MAPHEADER_ENVIRONMENT
- call GetAnyMapHeaderMember
+ ld de, MAPDEF_ENVIRONMENT
+ call GetAnyMapDefField
ld a, c
pop bc
pop de
@@ -2264,8 +2264,8 @@ GetAnyMapEnvironment:: ; 2c99
; 2ca7
GetAnyMapTileset:: ; 2ca7
- ld de, MAPHEADER_TILESET
- call GetAnyMapHeaderMember
+ ld de, MAPDEF_TILESET
+ call GetAnyMapDefField
ld a, c
ret
; 2caf
@@ -2276,8 +2276,8 @@ GetWorldMapLocation:: ; 0x2caf
push de
push bc
- ld de, MAPHEADER_LOCATION
- call GetAnyMapHeaderMember
+ ld de, MAPDEF_LOCATION
+ call GetAnyMapDefField
ld a, c
pop bc
@@ -2286,11 +2286,11 @@ GetWorldMapLocation:: ; 0x2caf
ret
; 0x2cbd
-GetMapHeaderMusic:: ; 2cbd
+GetMapMusic:: ; 2cbd
push hl
push bc
- ld de, MAPHEADER_MUSIC
- call GetMapHeaderMember
+ ld de, MAPDEF_MUSIC
+ call GetMapDefField
ld a, c
cp MUSIC_MAHOGANY_MART
jr z, .mahoganymart
@@ -2331,13 +2331,13 @@ GetMapHeaderMusic:: ; 2cbd
jr .done
; 2cff
-GetMapHeaderTimeOfDayNybble:: ; 2cff
+GetMapTimeOfDay:: ; 2cff
call GetPhoneServiceTimeOfDayByte
and $f
ret
; 2d05
-GetMapHeaderPhoneServiceNybble:: ; 2d05
+GetMapPhoneService:: ; 2d05
call GetPhoneServiceTimeOfDayByte
and $f0
swap a
@@ -2348,8 +2348,8 @@ GetPhoneServiceTimeOfDayByte:: ; 2d0d
push hl
push bc
- ld de, MAPHEADER_PALETTE
- call GetMapHeaderMember
+ ld de, MAPDEF_PALETTE
+ call GetMapDefField
ld a, c
pop bc
@@ -2362,8 +2362,8 @@ GetFishingGroup:: ; 2d19
push hl
push bc
- ld de, MAPHEADER_FISHGROUP
- call GetMapHeaderMember
+ ld de, MAPDEF_FISHGROUP
+ call GetMapDefField
ld a, c
pop bc
diff --git a/home/map_objects.asm b/home/map_objects.asm
index 3857bef0c..1db2bb3ba 100644
--- a/home/map_objects.asm
+++ b/home/map_objects.asm
@@ -316,7 +316,7 @@ CheckObjectTime:: ; 18f5
ret
; 194d
-; XXX
+; unused
ld [hMapObjectIndexBuffer], a
call GetMapObject
call CopyObjectStruct
@@ -383,7 +383,7 @@ CopyPlayerObjectTemplate:: ; 19a6
ret
; 19b8
-; XXX
+Unreferenced_Function19b8:
call GetMapObject
ld hl, MAPOBJECT_OBJECT_STRUCT_ID
add hl, bc
diff --git a/home/menu.asm b/home/menu.asm
index 03cec64df..f8ade3f58 100644
--- a/home/menu.asm
+++ b/home/menu.asm
@@ -28,8 +28,7 @@ MenuTextBox:: ; 1d4f
jp PrintText
; 1d57
-ret_1d57:: ; 1d57
-; unreferenced
+; unused
ret
; 1d58
@@ -40,9 +39,8 @@ LoadMenuTextBox:: ; 1d58
; 1d5f
.MenuDataHeader: ; 1d5f
- db $40 ; tile backup
- db 12, 0 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw vTiles0
db 0 ; default option
; 1d67
@@ -60,9 +58,8 @@ LoadStandardMenuDataHeader:: ; 1d6e
; 1d75
.MenuDataHeader: ; 1d75
- db $40 ; tile backup
- db 0, 0 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw 0
db 1 ; default option
; 1d7d
@@ -183,15 +180,14 @@ InterpretTwoOptionMenu:: ; 1dfe
; 1e1d
YesNoMenuDataHeader:: ; 1e1d
- db $40 ; tile backup
- db 5, 10 ; start coords
- db 9, 15 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 10, 5, 15, 9
dw .MenuData2
db 1 ; default option
; 1e25
.MenuData2: ; 1e25
- db $c0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 2
db "YES@"
db "NO@"
@@ -453,8 +449,7 @@ PlaceNthMenuStrings:: ; 1f8d
ret
; 1f9e
-Function1f9e:: ; 1f9e
-; unreferenced
+Unreferenced_Function1f9e:: ; 1f9e
call GetMenuDataPointerTableEntry
inc hl
inc hl
@@ -499,7 +494,7 @@ ClearWindowData:: ; 1fbf
ld a, [rSVBK]
push af
- ld a, $7
+ ld a, BANK(wWindowStack)
ld [rSVBK], a
xor a
@@ -517,7 +512,7 @@ ClearWindowData:: ; 1fbf
; 1ff0
.bytefill ; 1ff0
- ld bc, $0010
+ ld bc, $10
xor a
call ByteFill
ret
diff --git a/home/mobile.asm b/home/mobile.asm
index f50571ff4..1248c3f7e 100644
--- a/home/mobile.asm
+++ b/home/mobile.asm
@@ -127,8 +127,7 @@ Timer:: ; 3e93
reti
; 3ed7
-Function3ed7:: ; 3ed7
-; unreferenced
+Unreferenced_Function3ed7:: ; 3ed7
ld [$dc02], a
ld a, [hROMBank]
push af
@@ -160,8 +159,7 @@ Function3eea:: ; 3eea
ret
; 3efd
-Function3efd:: ; 3efd
-; unreferenced
+Unreferenced_Function3efd:: ; 3efd
push hl
hlcoord 0, 12
ld b, 4
diff --git a/home/names.asm b/home/names.asm
index c8f873c3f..37ce4f37d 100644
--- a/home/names.asm
+++ b/home/names.asm
@@ -1,13 +1,13 @@
NamesPointers:: ; 33ab
-; entries correspond to GetName constants (see constants/misc_constants.asm)
- dba PokemonNames
- dba MoveNames
- dbw 0, 0
- dba ItemNames
- dbw 0, PartyMonOT
- dbw 0, OTPartyMonOT
- dba TrainerClassNames
- dbw $4, $4b52 ; within PackMenuGFX
+; entries correspond to GetName constants (see constants/text_constants.asm)
+ dba PokemonNames ; MON_NAME (not used; jumps to GetPokemonName)
+ dba MoveNames ; MOVE_NAME
+ dbw 0, NULL ; DUMMY_NAME
+ dba ItemNames ; ITEM_NAME
+ dbw 0, PartyMonOT ; PARTY_OT_NAME
+ dbw 0, OTPartyMonOT ; ENEMY_OT_NAME
+ dba TrainerClassNames ; TRAINER_NAME
+ dbw 4, MoveDescriptions ; MOVE_DESC_NAME_BROKEN (wrong bank)
; 33c3
GetName:: ; 33c3
@@ -20,13 +20,13 @@ GetName:: ; 33c3
push de
ld a, [wNamedObjectTypeBuffer]
- cp PKMN_NAME
+ cp MON_NAME
jr nz, .NotPokeName
ld a, [CurSpecies]
ld [wd265], a
call GetPokemonName
- ld hl, PKMN_NAME_LENGTH
+ ld hl, MON_NAME_LENGTH
add hl, de
ld e, l
ld d, h
@@ -140,9 +140,9 @@ GetPokemonName:: ; 343b
; Terminator
ld de, StringBuffer1
push de
- ld bc, PKMN_NAME_LENGTH - 1
+ ld bc, MON_NAME_LENGTH - 1
call CopyBytes
- ld hl, StringBuffer1 + PKMN_NAME_LENGTH - 1
+ ld hl, StringBuffer1 + MON_NAME_LENGTH - 1
ld [hl], "@"
pop de
diff --git a/home/palettes.asm b/home/palettes.asm
index 79ff71887..9f10da118 100644
--- a/home/palettes.asm
+++ b/home/palettes.asm
@@ -319,7 +319,7 @@ ret_d90:: ; d90
; d91
-Special_ReloadSpritesNoPalettes:: ; d91
+ReloadSpritesNoPalettes:: ; d91
ld a, [hCGB]
and a
ret z
diff --git a/home/pokedex_flags.asm b/home/pokedex_flags.asm
index 7aacd4981..bedb91d18 100644
--- a/home/pokedex_flags.asm
+++ b/home/pokedex_flags.asm
@@ -31,7 +31,7 @@ CheckSeenMon:: ; 339b
PokedexFlagAction:: ; 33a1
ld d, 0
- predef FlagPredef
+ predef SmallFarFlagAction
ld a, c
and a
ret
diff --git a/home/serial.asm b/home/serial.asm
index b0151eae2..7fdf1fc03 100644
--- a/home/serial.asm
+++ b/home/serial.asm
@@ -14,9 +14,9 @@ Serial:: ; 6ef
bit 0, a
jr nz, .printer
- ld a, [hLinkPlayerNumber]
- inc a ; is it equal to -1?
- jr z, .init_player_number
+ ld a, [hSerialConnectionStatus]
+ inc a ; is it equal to CONNECTION_NOT_ESTABLISHED?
+ jr z, .establish_connection
ld a, [rSB]
ld [hSerialReceive], a
@@ -24,8 +24,8 @@ Serial:: ; 6ef
ld a, [hSerialSend]
ld [rSB], a
- ld a, [hLinkPlayerNumber]
- cp $2
+ ld a, [hSerialConnectionStatus]
+ cp USING_INTERNAL_CLOCK
jr z, .player2
ld a, 0 << rSC_ON
@@ -42,22 +42,22 @@ Serial:: ; 6ef
call PrinterReceive
jr .end
-.init_player_number
+.establish_connection
ld a, [rSB]
- cp $1
+ cp USING_EXTERNAL_CLOCK
jr z, .player1
- cp $2
+ cp USING_INTERNAL_CLOCK
jr nz, .player2
.player1
ld [hSerialReceive], a
- ld [hLinkPlayerNumber], a
- cp $2
+ ld [hSerialConnectionStatus], a
+ cp USING_INTERNAL_CLOCK
jr z, ._player2
xor a
ld [rSB], a
- ld a, $3
+ ld a, 3
ld [rDIV], a
.wait_bit_7
@@ -76,9 +76,9 @@ Serial:: ; 6ef
ld [rSB], a
.player2
- ld a, $1
- ld [hFFCA], a
- ld a, $fe
+ ld a, TRUE
+ ld [hSerialReceivedNewData], a
+ ld a, SERIAL_NO_DATA_BYTE
ld [hSerialSend], a
.end
@@ -89,13 +89,13 @@ Serial:: ; 6ef
reti
; 75f
-Function75f:: ; 75f
+Serial_ExchangeBytes:: ; 75f
ld a, $1
- ld [hFFCC], a
+ ld [hSerialIgnoringInitialData], a
.loop
ld a, [hl]
ld [hSerialSend], a
- call Function78a
+ call Serial_ExchangeByte
push bc
ld b, a
inc hl
@@ -103,16 +103,16 @@ Function75f:: ; 75f
.wait
dec a
jr nz, .wait
- ld a, [hFFCC]
+ ld a, [hSerialIgnoringInitialData]
and a
ld a, b
pop bc
jr z, .load
dec hl
- cp $fd
+ cp SERIAL_PREAMBLE_BYTE
jr nz, .loop
xor a
- ld [hFFCC], a
+ ld [hSerialIgnoringInitialData], a
jr .loop
.load
@@ -125,24 +125,24 @@ Function75f:: ; 75f
ret
; 78a
-Function78a:: ; 78a
+Serial_ExchangeByte:: ; 78a
.loop
xor a
- ld [hFFCA], a
- ld a, [hLinkPlayerNumber]
- cp $2
+ ld [hSerialReceivedNewData], a
+ ld a, [hSerialConnectionStatus]
+ cp USING_INTERNAL_CLOCK
jr nz, .not_player_2
- ld a, $1
+ ld a, (0 << rSC_ON) | 1
ld [rSC], a
- ld a, $81
+ ld a, (1 << rSC_ON) | 1
ld [rSC], a
.not_player_2
.loop2
- ld a, [hFFCA]
+ ld a, [hSerialReceivedNewData]
and a
jr nz, .reset_ffca
- ld a, [hLinkPlayerNumber]
- cp $1
+ ld a, [hSerialConnectionStatus]
+ cp USING_EXTERNAL_CLOCK
jr nz, .not_player_1_or_wLinkTimeoutFrames_zero
call CheckwLinkTimeoutFramesNonzero
jr z, .not_player_1_or_wLinkTimeoutFrames_zero
@@ -162,8 +162,8 @@ Function78a:: ; 78a
.not_player_1_or_wLinkTimeoutFrames_zero
ld a, [rIE]
- and $f
- cp $8
+ and (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK)
+ cp 1 << SERIAL
jr nz, .loop2
ld a, [wcf5d]
dec a
@@ -173,8 +173,8 @@ Function78a:: ; 78a
dec a
ld [wcf5d + 1], a
jr nz, .loop2
- ld a, [hLinkPlayerNumber]
- cp $1
+ ld a, [hSerialConnectionStatus]
+ cp USING_EXTERNAL_CLOCK
jr z, .reset_ffca
ld a, 255
@@ -184,19 +184,20 @@ Function78a:: ; 78a
.reset_ffca
xor a
- ld [hFFCA], a
+ ld [hSerialReceivedNewData], a
ld a, [rIE]
- and $f
- sub $8
+ and (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK)
+ sub 1 << SERIAL
jr nz, .rIE_not_equal_8
+ ; LOW($5000)
ld [wcf5d], a
- ld a, $50
+ ld a, HIGH($5000)
ld [wcf5d + 1], a
.rIE_not_equal_8
ld a, [hSerialReceive]
- cp $fe
+ cp SERIAL_NO_DATA_BYTE
ret nz
call CheckwLinkTimeoutFramesNonzero
jr z, .wLinkTimeoutFrames_zero
@@ -216,9 +217,9 @@ Function78a:: ; 78a
.wLinkTimeoutFrames_zero
ld a, [rIE]
- and $f
- cp $8
- ld a, $fe
+ and (1 << SERIAL) | (1 << TIMER) | (1 << LCD_STAT) | (1 << VBLANK)
+ cp 1 << SERIAL
+ ld a, SERIAL_NO_DATA_BYTE
ret z
ld a, [hl]
ld [hSerialSend], a
@@ -243,29 +244,31 @@ CheckwLinkTimeoutFramesNonzero:: ; 82b
; 833
SerialDisconnected:: ; 833
- dec a
+ dec a ; a is always 0 when this is called
ld [wLinkTimeoutFrames], a
ld [wLinkTimeoutFrames + 1], a
ret
; 83b
-Function83b:: ; 83b
+; This is used to exchange the button press and selected menu item on the link menu.
+; The data is sent thrice and read twice to increase reliability.
+Serial_ExchangeLinkMenuSelection:: ; 83b
ld hl, wPlayerLinkAction
ld de, wOtherPlayerLinkMode
- ld c, $2
- ld a, $1
- ld [hFFCC], a
+ ld c, 2
+ ld a, TRUE
+ ld [hSerialIgnoringInitialData], a
.asm_847
call DelayFrame
ld a, [hl]
ld [hSerialSend], a
- call Function78a
+ call Serial_ExchangeByte
ld b, a
inc hl
- ld a, [hFFCC]
+ ld a, [hSerialIgnoringInitialData]
and a
- ld a, $0
- ld [hFFCC], a
+ ld a, FALSE
+ ld [hSerialIgnoringInitialData], a
jr nz, .asm_847
ld a, b
ld [de], a
@@ -275,15 +278,14 @@ Function83b:: ; 83b
ret
; 862
-Function862:: ; 862
+Serial_PrintWaitingTextAndSyncAndExchangeNybble:: ; 862
call LoadTileMapToTempTileMap
callfar PlaceWaitingText
call WaitLinkTransfer
jp Call_LoadTempTileMapToTileMap
; 871
-
-Function871:: ; 871
+Serial_SyncAndExchangeNybble:: ; 871
call LoadTileMapToTempTileMap
callfar PlaceWaitingText
jp WaitLinkTransfer
@@ -356,12 +358,12 @@ LinkTransfer:: ; 8c1
ld a, [wPlayerLinkAction]
add b
ld [hSerialSend], a
- ld a, [hLinkPlayerNumber]
- cp $2
+ ld a, [hSerialConnectionStatus]
+ cp USING_INTERNAL_CLOCK
jr nz, .player_1
- ld a, $1
+ ld a, (0 << rSC_ON) | 1
ld [rSC], a
- ld a, $81
+ ld a, (1 << rSC_ON) | 1
ld [rSC], a
.player_1
@@ -388,28 +390,27 @@ LinkDataReceived:: ; 908
; Let the other system know that the data has been received.
xor a
ld [hSerialSend], a
- ld a, [hLinkPlayerNumber]
- cp $2
+ ld a, [hSerialConnectionStatus]
+ cp USING_INTERNAL_CLOCK
ret nz
- ld a, $1
+ ld a, (0 << rSC_ON) | 1
ld [rSC], a
- ld a, $81
+ ld a, (1 << rSC_ON) | 1
ld [rSC], a
ret
; 919
-Function919:: ; 919
-; XXX
+Unreferenced_Function919:: ; 919
ld a, [wLinkMode]
and a
ret nz
- ld a, $2
+ ld a, USING_INTERNAL_CLOCK
ld [rSB], a
xor a
ld [hSerialReceive], a
- ld a, $0
+ ld a, 0 << rSC_ON
ld [rSC], a
- ld a, $80
+ ld a, 1 << rSC_ON
ld [rSC], a
ret
; 92e
diff --git a/home/sine.asm b/home/sine.asm
index 810845860..eff5ed299 100644
--- a/home/sine.asm
+++ b/home/sine.asm
@@ -1,6 +1,6 @@
Cosine:: ; 1b0f
; Return d * cos(a) in hl
- add $10 ; 90 degrees
+ add %010000 ; 90 degrees
Sine:: ; 1b11
; Return d * sin(a) in hl
diff --git a/home/text.asm b/home/text.asm
index 191c96172..2dbb85f6d 100644
--- a/home/text.asm
+++ b/home/text.asm
@@ -47,10 +47,8 @@ ClearScreen:: ; fdb
TextBox:: ; fe8
-; Draw a text box at hl with room for
-; b lines of c characters each.
-; Places a border around the textbox,
-; then switches the palette to the
+; Draw a text box at hl with room for b lines of c characters each.
+; Places a border around the textbox, then switches the palette to the
; text black-and-white scheme.
push bc
push hl
@@ -146,7 +144,7 @@ SpeechTextBox:: ; 103e
; 1048
TestText:: ; 1048
- text "ゲームフりーク!"
+ text "ゲームフりーク!"
done
; 1052
@@ -216,31 +214,31 @@ dict2: MACRO
._\@:
ENDM
- dict "<DAY>", Char15
+ dict TX_DAY, DayOfWeekChar
dict "<LINE>", LineChar
dict "<NEXT>", NextLineChar
dict TX_FAR, TextFar
- dict $00, NullChar
- dict $4c, Char4C
- dict $4b, Char4B
+ dict TX_START, NullChar
+ dict "<SCROLL>", _ContTextNoPause
+ dict "<_CONT>", _ContText
dict "<PARA>", Paragraph
dict "<MOM>", PrintMomsName
dict "<PLAYER>", PrintPlayerName
dict "<RIVAL>", PrintRivalName
- dict $35, Char35
- dict $36, Char36
- dict $37, Char37
+ dict "<ROUTE>", PlaceJPRoute
+ dict "<WATASHI>", PlaceWatashi
+ dict "<KOKO_WA>", PlaceKokoWa
dict "<RED>", PrintRedsName
dict "<GREEN>", PrintGreensName
dict "#", PlacePOKe
dict "<PC>", PCChar
dict "<ROCKET>", RocketChar
dict "<TM>", TMChar
- dict "<TRNER>", TrainerChar
+ dict "<TRAINER>", TrainerChar
dict "<KOUGEKI>", PlaceKougeki
- dict "<LNBRK>", Char22
+ dict "<LNBRK>", LineBreakChar
dict "<CONT>", ContText
- dict "<......>", SixDotsChar
+ dict "<……>", SixDotsChar
dict "<DONE>", DoneText
dict "<PROMPT>", PromptText
dict "<PKMN>", PlacePKMN
@@ -265,32 +263,32 @@ ENDM
jp NextChar
.not_diacritic
- cp $60 ; Regular characters
+ cp FIRST_REGULAR_TEXT_CHAR
jr nc, .place
cp "パ"
jr nc, .handakuten
.dakuten
- cp $20
- jr nc, .daku1
+ cp FIRST_HIRAGANA_DAKUTEN_CHAR
+ jr nc, .hiragana_dakuten
add "カ" - "ガ"
- jr .daku2
-.daku1
+ jr .katakana_dakuten
+.hiragana_dakuten
add "か" - "が"
-.daku2
+.katakana_dakuten
ld b, "゙" ; dakuten
call Diacritic
jr .place
.handakuten
cp "ぱ"
- jr nc, .han1
+ jr nc, .hiragana_handakuten
add "ハ" - "パ"
- jr .han2
-.han1
+ jr .katakana_handakuten
+.hiragana_handakuten
add "は" - "ぱ"
-.han2
+.katakana_handakuten
ld b, "゚" ; handakuten
call Diacritic
@@ -301,7 +299,7 @@ ENDM
; 0x117b
-Char15:: ; 117b
+DayOfWeekChar:: ; 117b
ld c, l
ld b, h
farcall Function17f036
@@ -330,20 +328,20 @@ PlaceKougeki: print_name KougekiText ; 11cc
SixDotsChar: print_name SixDotsCharText ; 11d3
PlacePKMN: print_name PlacePKMNText ; 11da
PlacePOKE: print_name PlacePOKEText ; 11e1
-Char35: print_name Char35Text ; 11e8
-Char36: print_name Char36Text ; 11ef
-Char37: print_name Char37Text ; 11f6
+PlaceJPRoute: print_name PlaceJPRouteText ; 11e8
+PlaceWatashi: print_name PlaceWatashiText ; 11ef
+PlaceKokoWa: print_name PlaceKokoWaText ; 11f6
PlaceMoveTargetsName:: ; 11fd
ld a, [hBattleTurn]
xor 1
- jr PlaceMoveTargetsName_5A
+ jr PlaceMoveUsersName.place
PlaceMoveUsersName:: ; 1203
ld a, [hBattleTurn]
-PlaceMoveTargetsName_5A: ; 1205
+.place: ; 1205
push de
and a
jr nz, .enemy
@@ -352,7 +350,7 @@ PlaceMoveTargetsName_5A: ; 1205
jr PlaceCommandCharacter
.enemy
- ld de, EnemyText ; Enemy
+ ld de, EnemyText
call PlaceString
ld h, b
ld l, c
@@ -377,7 +375,7 @@ PlaceEnemysName:: ; 121b
call PlaceString
ld h, b
ld l, c
- ld de, String12a2
+ ld de, String_Space
call PlaceString
push bc
callfar Battle_GetTrainerName
@@ -402,9 +400,9 @@ PlaceGenderedPlayerName:: ; 1252
ld l, c
ld a, [wPlayerGender]
bit 0, a
- ld de, String_kun
+ ld de, KunSuffixText
jr z, PlaceCommandCharacter
- ld de, String_chan
+ ld de, ChanSuffixText
jr PlaceCommandCharacter
@@ -416,22 +414,23 @@ PlaceCommandCharacter:: ; 126a
jp NextChar
; 0x1273
-TMCharText:: db "TM@" ; 1273
-TrainerCharText:: db "TRAINER@" ; 1276
-PCCharText:: db "PC@" ; 127e
-RocketCharText:: db "ROCKET@" ; 1281
-PlacePOKeText:: db "POKé@" ; 1288
-KougekiText:: db "こうげき@" ; 128d
-SixDotsCharText:: db "……@" ; 1292
-EnemyText:: db "Enemy @" ; 1295
-PlacePKMNText:: db "<PK><MN>@" ; PK MN ; 129c
-PlacePOKEText:: db "<PO><KE>@" ; PO KE ; 129f
-String12a2:: db " @" ; 12a2
-Char35Text::
-Char36Text::
-Char37Text:: db "@" ; 12a4
-String_kun:: db "@" ; 12a5
-String_chan:: db "@" ; 12a6
+TMCharText:: db "TM@"
+TrainerCharText:: db "TRAINER@"
+PCCharText:: db "PC@"
+RocketCharText:: db "ROCKET@"
+PlacePOKeText:: db "POKé@"
+KougekiText:: db "こうげき@"
+SixDotsCharText:: db "……@"
+EnemyText:: db "Enemy @"
+PlacePKMNText:: db "<PK><MN>@"
+PlacePOKEText:: db "<PO><KE>@"
+String_Space:: db " @"
+; These strings have been dummied out.
+PlaceJPRouteText::
+PlaceWatashiText::
+PlaceKokoWaText:: db "@"
+KunSuffixText:: db "@"
+ChanSuffixText:: db "@"
; 12a7
NextLineChar:: ; 12a7
@@ -442,7 +441,7 @@ NextLineChar:: ; 12a7
jp NextChar
; 12b0
-Char22:: ; 12b0
+LineBreakChar:: ; 12b0
pop hl
ld bc, SCREEN_WIDTH
add hl, bc
@@ -525,7 +524,7 @@ Paragraph:: ; 12f2
; 131f
-Char4B:: ; 131f
+_ContText:: ; 131f
ld a, [wLinkMode]
or a
jr nz, .communication
@@ -541,8 +540,9 @@ Char4B:: ; 131f
ld a, [wLinkMode]
or a
call z, UnloadBlinkingCursor
+ ; fallthrough
-Char4C:: ; 1337
+_ContTextNoPause:: ; 1337
push de
call TextScroll
call TextScroll
@@ -563,7 +563,7 @@ ContText:: ; 1345
pop de
jp NextChar
-.cont db $4b, "@"
+.cont: db "<_CONT>@"
; 1356
@@ -598,7 +598,8 @@ DoneText:: ; 137c
ld de, .stop
dec de
ret
-.stop db "@"
+
+.stop: db "@"
; 1383
NullChar:: ; 1383
@@ -690,7 +691,7 @@ PokeFluteTerminatorCharacter:: ; 13e0
ld hl, .stop
ret
-.stop db "@"
+.stop: db "@"
; 13e5
@@ -734,30 +735,30 @@ DoTextUntilTerminator:: ; 13f6
; 1410
TextCommands:: ; 1410
-; entries correspond to macros/text.asm enumeration
- dw Text_TX
- dw Text_TX_RAM
- dw Text_TX_BCD
- dw Text_TX_MOVE
- dw Text_TX_BOX
- dw Text_TX_LOW
- dw Text_WAIT_BUTTON
- dw Text_TX_SCROLL
- dw Text_START_ASM
- dw Text_TX_NUM
- dw Text_TX_EXIT
- dw Text_PlaySound ; $0b
- dw Text_TX_DOTS
- dw Text_0D
- dw Text_PlaySound ; $0e
- dw Text_PlaySound ; $0f
- dw Text_PlaySound ; $10
- dw Text_PlaySound ; $11
- dw Text_PlaySound ; $12
- dw Text_PlaySound ; $13
- dw Text_TX_STRINGBUFFER
- dw Text_TX_DAY
- dw Text_TX_FAR
+; entries correspond to TX_* constants (see macros/scripts/text.asm)
+ dw Text_TX ; TX_START
+ dw Text_TX_RAM ; TX_RAM
+ dw Text_TX_BCD ; TX_BCD
+ dw Text_TX_MOVE ; TX_MOVE
+ dw Text_TX_BOX ; TX_BOX
+ dw Text_TX_LOW ; TX_LOW
+ dw Text_WAIT_BUTTON ; WAIT_BUTTON
+ dw Text_TX_SCROLL ; TX_SCROLL
+ dw Text_START_ASM ; START_ASM
+ dw Text_TX_NUM ; TX_NUM
+ dw Text_TX_EXIT ; TX_EXIT
+ dw Text_PlaySound ; TX_SOUND_DEX_FANFARE_50_79
+ dw Text_TX_DOTS ; TX_DOTS
+ dw Text_LINK_WAIT_BUTTON ; TX_LINK_WAIT_BUTTON
+ dw Text_PlaySound ; TX_SOUND_DEX_FANFARE_20_49
+ dw Text_PlaySound ; TX_SOUND_ITEM
+ dw Text_PlaySound ; TX_SOUND_CAUGHT_MON
+ dw Text_PlaySound ; TX_SOUND_DEX_FANFARE_80_109
+ dw Text_PlaySound ; TX_SOUND_FANFARE
+ dw Text_PlaySound ; TX_SOUND_SLOT_MACHINE_START
+ dw Text_TX_STRINGBUFFER ; TX_STRINGBUFFER
+ dw Text_TX_DAY ; TX_DAY
+ dw Text_TX_FAR ; TX_FAR
; 143e
Text_TX:: ; 143e
@@ -899,9 +900,9 @@ Text_WAIT_BUTTON:: ; 149f
ld a, [wLinkMode]
cp LINK_COLOSSEUM
- jp z, Text_0D
+ jp z, Text_LINK_WAIT_BUTTON
cp LINK_MOBILE
- jp z, Text_0D
+ jp z, Text_LINK_WAIT_BUTTON
push hl
call LoadBlinkingCursor
@@ -1015,14 +1016,13 @@ Text_PlaySound:: ; 1500
ret
; 1522
-Function1522:: ; 1522
-; XXX
+Unreferenced_Function1522:: ; 1522
; TX_CRY
push de
ld e, [hl]
inc hl
ld d, [hl]
- call PlayCry
+ call PlayMonCry
pop de
pop hl
pop bc
@@ -1030,13 +1030,13 @@ Function1522:: ; 1522
; 152d
TextSFX:: ; 152d
- dbw TX_SOUND_0B, SFX_DEX_FANFARE_50_79
- dbw TX_SOUND_12, SFX_FANFARE
- dbw TX_SOUND_0E, SFX_DEX_FANFARE_20_49
- dbw TX_SOUND_0F, SFX_ITEM
- dbw TX_SOUND_10, SFX_CAUGHT_MON
- dbw TX_SOUND_11, SFX_DEX_FANFARE_80_109
- dbw TX_SOUND_13, SFX_SLOT_MACHINE_START
+ dbw TX_SOUND_DEX_FANFARE_50_79, SFX_DEX_FANFARE_50_79
+ dbw TX_SOUND_FANFARE, SFX_FANFARE
+ dbw TX_SOUND_DEX_FANFARE_20_49, SFX_DEX_FANFARE_20_49
+ dbw TX_SOUND_ITEM, SFX_ITEM
+ dbw TX_SOUND_CAUGHT_MON, SFX_CAUGHT_MON
+ dbw TX_SOUND_DEX_FANFARE_80_109, SFX_DEX_FANFARE_80_109
+ dbw TX_SOUND_SLOT_MACHINE_START, SFX_SLOT_MACHINE_START
db -1
; 1543
@@ -1069,7 +1069,7 @@ Text_TX_DOTS:: ; 1543
ret
; 1562
-Text_0D:: ; 1562
+Text_LINK_WAIT_BUTTON:: ; 1562
; wait for key down
; display arrow
push hl
diff --git a/home/trainers.asm b/home/trainers.asm
index 857a95629..4eabfbcbb 100644
--- a/home/trainers.asm
+++ b/home/trainers.asm
@@ -2,7 +2,7 @@ CheckTrainerBattle2:: ; 3600
ld a, [hROMBank]
push af
- call SwitchToMapScriptHeaderBank
+ call SwitchToMapScriptsBank
call CheckTrainerBattle
pop bc
@@ -110,7 +110,7 @@ TalkToTrainer:: ; 3674
ld [EngineBuffer3], a
LoadTrainer_continue:: ; 367e
- call GetMapScriptHeaderBank
+ call GetMapScriptsBank
ld [EngineBuffer1], a
ld a, [hLastTalked]
@@ -120,8 +120,8 @@ LoadTrainer_continue:: ; 367e
add hl, bc
ld a, [EngineBuffer1]
call GetFarHalfword
- ld de, wTempTrainerHeader
- ld bc, wTempTrainerHeaderEnd - wTempTrainerHeader
+ ld de, wTempTrainer
+ ld bc, wTempTrainerEnd - wTempTrainer
ld a, [EngineBuffer1]
call FarCopyBytes
xor a
@@ -221,7 +221,7 @@ CheckTrainerFlag:: ; 36f5
ld a, [hli]
ld h, [hl]
ld l, a
- call GetMapScriptHeaderBank
+ call GetMapScriptsBank
call GetFarHalfword
ld d, h
ld e, l
@@ -240,7 +240,7 @@ PrintWinLossText:: ; 3718
cp BATTLETYPE_CANLOSE
jr .canlose ; ??????????
-; unreferenced
+; unused
ld hl, wWinTextPointer
jr .ok
@@ -255,7 +255,7 @@ PrintWinLossText:: ; 3718
ld a, [hli]
ld h, [hl]
ld l, a
- call GetMapScriptHeaderBank
+ call GetMapScriptsBank
call FarPrintText
call WaitBGMap
call WaitPressAorB_BlinkCursor
diff --git a/home/vblank.asm b/home/vblank.asm
index cb8c5ba56..5afecdad0 100644
--- a/home/vblank.asm
+++ b/home/vblank.asm
@@ -190,7 +190,7 @@ VBlank1:: ; 337
jr c, .done
call UpdateBGMap
- call Serve2bppRequest@VBlank
+ call Serve2bppRequest_VBlank
call hPushOAM
.done
@@ -280,7 +280,7 @@ VBlank3:: ; 396
jr c, .done
call UpdateBGMap
- call Serve2bppRequest@VBlank
+ call Serve2bppRequest_VBlank
call hPushOAM
.done
diff --git a/home/video.asm b/home/video.asm
index 8f14dfeee..2f06effa0 100644
--- a/home/video.asm
+++ b/home/video.asm
@@ -20,10 +20,10 @@ DMATransfer:: ; 15d8
UpdateBGMapBuffer:: ; 15e3
-; Copy [hFFDC] 16x8 tiles from BGMapBuffer
+; Copy [hBGMapTileCount] 16x8 tiles from BGMapBuffer
; to bg map addresses in BGMapBufferPtrs.
-; [hFFDC] must be even since this is done in pairs.
+; [hBGMapTileCount] must be even since this is done in pairs.
; Return carry on success.
@@ -76,10 +76,10 @@ rept 2
endr
; We've done 2 16x8 blocks
- ld a, [hFFDC]
+ ld a, [hBGMapTileCount]
dec a
dec a
- ld [hFFDC], a
+ ld [hBGMapTileCount], a
jr nz, .next
@@ -379,7 +379,7 @@ Serve2bppRequest:: ; 1769
jr _Serve2bppRequest
-Serve2bppRequest@VBlank:: ; 1778
+Serve2bppRequest_VBlank:: ; 1778
ld a, [Requested2bpp]
and a
@@ -466,7 +466,7 @@ AnimateTileset:: ; 17d3
ld a, [rSVBK]
push af
- ld a, 1
+ ld a, BANK(TilesetAnim)
ld [rSVBK], a
ld a, [rVBK]
diff --git a/home/window.asm b/home/window.asm
index 0570bbb01..67debe5d3 100644
--- a/home/window.asm
+++ b/home/window.asm
@@ -99,7 +99,7 @@ SafeUpdateSprites:: ; 2e31
ld [hOAMUpdate], a
ret
-; XXX
+; unused
scf
ret
; 2e50
diff --git a/hram.asm b/hram.asm
index 3f84d19ca..7810e5a01 100644
--- a/hram.asm
+++ b/hram.asm
@@ -1,3 +1,7 @@
+; HRAM uses constants instead of labels so that
+; "ld a, [hAddress]" and "ld [hAddress], a" will
+; use the more efficient "ldh" instruction.
+
hPushOAM EQU $ff80 ; 10 bytes
hROMBankBackup EQU $ff8a
@@ -33,9 +37,10 @@ hJoyLast EQU $ffa9
hInMenu EQU $ffaa
hPrinter EQU $ffac
-hGraphicStartTile EQU $ffad
+hGraphicStartTile EQU $ffad
hMoveMon EQU $ffae
-hMapObjectIndexBuffer EQU $ffaf
+
+hMapObjectIndexBuffer EQU $ffaf
hObjectStructIndexBuffer EQU $ffb0
hConnectionStripLength EQU $ffaf
@@ -81,15 +86,16 @@ hMoneyTemp EQU $ffc3
hMGJoypadPressed EQU $ffc3
hMGJoypadReleased EQU $ffc4
-hLCDCPointer EQU $ffc6
+hLCDCPointer EQU $ffc6
hLYOverrideStart EQU $ffc7
hLYOverrideEnd EQU $ffc8
-hMobileReceive EQU $ffc9
-hFFCA EQU $ffca
-hLinkPlayerNumber EQU $ffcb
-hFFCC EQU $ffcc
-hSerialSend EQU $ffcd
-hSerialReceive EQU $ffce
+
+hMobileReceive EQU $ffc9
+hSerialReceivedNewData EQU $ffca
+hSerialConnectionStatus EQU $ffcb
+hSerialIgnoringInitialData EQU $ffcc
+hSerialSend EQU $ffcd
+hSerialReceive EQU $ffce
hSCX EQU $ffcf
hSCY EQU $ffd0
@@ -104,7 +110,7 @@ hOAMUpdate EQU $ffd8
hSPBuffer EQU $ffd9
hBGMapUpdate EQU $ffdb
-hFFDC EQU $ffdc
+hBGMapTileCount EQU $ffdc
hMapAnims EQU $ffde
hTileAnimFrame EQU $ffdf
@@ -121,5 +127,5 @@ hCGB EQU $ffe6
hSGB EQU $ffe7
hDMATransfer EQU $ffe8
hMobile EQU $ffe9
-hFFEA EQU $ffea
+hSystemBooted EQU $ffea
hClockResetTrigger EQU $ffeb
diff --git a/includes.asm b/includes.asm
deleted file mode 100644
index a97cda944..000000000
--- a/includes.asm
+++ /dev/null
@@ -1,2 +0,0 @@
-INCLUDE "version.asm"
-INCLUDE "constants.asm"
diff --git a/lib/mobile/main.asm b/lib/mobile/main.asm
index c2a03fbc0..fc4ae2883 100644
--- a/lib/mobile/main.asm
+++ b/lib/mobile/main.asm
@@ -6908,7 +6908,7 @@ Function112d33: ; 112d33
dec a
jp .asm_112e46
-; XXX
+; unused
ret
.asm_112d4d
@@ -8611,7 +8611,7 @@ endr
ld [$cc0d], a
ld a, l
ld [$cc0c], a
- cp $8e ; XXX ; LOW(Unknown_113b8e + $100) ???
+ cp $8e ; XXX LOW(Unknown_113b8e + $100) ???
jp nz, .asm_113751
ld de, $cc18
ld hl, $cbe7
@@ -9515,8 +9515,7 @@ Function113eb8: ; 113eb8
jp Function111f97
; 113ec7
-Function113ec7: ; 113ec7
-; Unreferenced
+Unreferenced_Function113ec7: ; 113ec7
ld hl, $c822
ld a, [hl]
push af
diff --git a/macros.asm b/macros.asm
index b6598c933..7036b6419 100644
--- a/macros.asm
+++ b/macros.asm
@@ -1,13 +1,10 @@
INCLUDE "macros/enum.asm"
-INCLUDE "macros/charmap.asm"
INCLUDE "macros/predef.asm"
INCLUDE "macros/rst.asm"
INCLUDE "macros/data.asm"
INCLUDE "macros/code.asm"
INCLUDE "macros/coords.asm"
INCLUDE "macros/color.asm"
-INCLUDE "macros/base_stats.asm"
-INCLUDE "macros/tilesets.asm"
INCLUDE "macros/scripts/audio.asm"
INCLUDE "macros/scripts/maps.asm"
diff --git a/macros/base_stats.asm b/macros/base_stats.asm
deleted file mode 100644
index 1a2ce8529..000000000
--- a/macros/base_stats.asm
+++ /dev/null
@@ -1,67 +0,0 @@
-; Used in data/pokemon/base_stats/*.asm
-
-define: MACRO
-if !DEF(\1)
-\1 EQUS \2
-endc
-ENDM
-
-const_value = 0
-
-add_tm: MACRO
-if !DEF(TM01)
-TM01 = const_value
- enum_start 1
-endc
- define _\@_1, "TM_\1"
- const _\@_1
- enum \1_TMNUM
-ENDM
-
-add_hm: MACRO
-if !DEF(HM01)
-HM01 = const_value
-endc
- define _\@_1, "HM_\1"
- const _\@_1
- enum \1_TMNUM
-ENDM
-
-add_mt: MACRO
- enum \1_TMNUM
-ENDM
-
-; N TMs/HMs need (N+7)/8 bytes for their bit flags.
-; The rgbasm integers tms1, tms2, tms3 each hold 3 bytes, or 24 bits.
-tmhm: MACRO
-tms1 = 0
-tms2 = 0
-tms3 = 0
-rept _NARG
- if DEF(\1_TMNUM)
- if \1_TMNUM < 24 + 1
-tms1 = tms1 | (1 << ((\1_TMNUM) - 1))
- elif \1_TMNUM < 48 + 1
-tms2 = tms2 | (1 << ((\1_TMNUM) - 1 - 24))
- else
-tms3 = tms3 | (1 << ((\1_TMNUM) - 1 - 48))
- endc
- else
- fail "\1 is not a TM, HM, or move tutor move"
- endc
- shift
-endr
-
-rept 3
- db tms1 & $ff
-tms1 = tms1 >> 8
-endr
-rept 3
- db tms2 & $ff
-tms2 = tms2 >> 8
-endr
-rept 2
- db tms3 & $ff
-tms3 = tms3 >> 8
-endr
-ENDM
diff --git a/macros/code.asm b/macros/code.asm
index 5ec214d50..799c27d45 100644
--- a/macros/code.asm
+++ b/macros/code.asm
@@ -35,10 +35,9 @@ jumptable: MACRO
jp hl
ENDM
-; Many mobile functions were dummied out in localization.
-mobile EQUS "ret"
-
maskbits: MACRO
+; masks just enough bits to cover the argument
+; e.g. "maskbits 26" becomes "and %00011111" (since 26 - 1 = %00011001)
; example usage in rejection sampling:
; .loop
; call Random
@@ -47,8 +46,8 @@ maskbits: MACRO
; jr nc, .loop
x = 1
rept 8
-if \1 > x
-x = (x + 1) * 2 +- 1
+if x + 1 < (\1)
+x = x << 1 | 1
endc
endr
and x
diff --git a/macros/color.asm b/macros/color.asm
index 35d69fe6f..5ebaae218 100644
--- a/macros/color.asm
+++ b/macros/color.asm
@@ -1,15 +1,15 @@
RGB: MACRO
rept _NARG / 3
- dw ((\3) << 10) + ((\2) << 5) + (\1)
+ dw palred (\1) + palgreen (\2) + palblue (\3)
shift
shift
shift
endr
ENDM
+palred EQUS "(1 << 0) *"
+palgreen EQUS "(1 << 5) *"
+palblue EQUS "(1 << 10) *"
+
palettes EQUS "* 8"
palette EQUS "+ 8 *"
-
-palred EQUS "$0001 *"
-palgreen EQUS "$0020 *"
-palblue EQUS "$0400 *"
diff --git a/macros/data.asm b/macros/data.asm
index 55f41a204..8345a2523 100644
--- a/macros/data.asm
+++ b/macros/data.asm
@@ -85,20 +85,24 @@ ENDM
dbpixel: MACRO
if _NARG >= 4
+; x tile, x pxl, y tile, y pxl
db \1 * 8 + \3, \2 * 8 + \4
else
+; x, y
db \1 * 8, \2 * 8
endc
ENDM
dsprite: MACRO
-; conditional segment is there because not every instance of
-; this macro is directly OAM
-if _NARG >= 7 ; y tile, y pxl, x tile, x pxl, vtile offset, flags, palette
- db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5, (\6 << 3) + (\7 & PALETTE_MASK)
-else
+; y tile, y pxl, x tile, x pxl, vtile offset, flags, attributes
db (\1 * 8) % $100 + \2, (\3 * 8) % $100 + \4, \5, \6
-endc
+ENDM
+
+
+menu_coords: MACRO
+; x1, y1, x2, y2
+ db \2, \1 ; start coords
+ db \4, \3 ; end coords
ENDM
diff --git a/macros/enum.asm b/macros/enum.asm
index 0c1d4a064..c1321a636 100644
--- a/macros/enum.asm
+++ b/macros/enum.asm
@@ -38,3 +38,12 @@ shift_const: MACRO
\1 EQU (1 << const_value)
const_value = const_value + 1
ENDM
+
+
+; Enumerate strings
+
+define: MACRO
+if !DEF(\1)
+\1 EQUS \2
+endc
+ENDM
diff --git a/macros/predef.asm b/macros/predef.asm
index 139e3bf3a..7850350a7 100644
--- a/macros/predef.asm
+++ b/macros/predef.asm
@@ -1,8 +1,3 @@
-add_predef: MACRO
-\1Predef::
- dab \1
-ENDM
-
predef_id: MACRO
; Some functions load the predef id
; without immediately calling Predef.
diff --git a/macros/scripts/battle_commands.asm b/macros/scripts/battle_commands.asm
index 5933740f0..4ae8dbaf4 100644
--- a/macros/scripts/battle_commands.asm
+++ b/macros/scripts/battle_commands.asm
@@ -3,7 +3,7 @@ command: MACRO
\1 EQUS "db \1_command"
ENDM
-; BattleCommandPointers indexes (see data/battle_command_pointers.asm)
+; BattleCommandPointers indexes (see data/battle/effect_command_pointers.asm)
enum_start 1
command checkturn ; 01
command checkobedience ; 02
diff --git a/macros/scripts/events.asm b/macros/scripts/events.asm
index 694a7cd12..9bca1c004 100644
--- a/macros/scripts/events.asm
+++ b/macros/scripts/events.asm
@@ -101,11 +101,6 @@ special: MACRO
dw (\1Special - SpecialsPointers) / 3
ENDM
-add_special: MACRO
-\1Special::
- dba \1
-ENDM
-
enum ptcallasm_command ; $10
ptcallasm: MACRO
db ptcallasm_command
@@ -424,9 +419,9 @@ readcoins: MACRO
db \1 ; memory
ENDM
- enum RAM2MEM_command ; $3f
-RAM2MEM: MACRO
- db RAM2MEM_command
+ enum vartomem_command ; $3f
+vartomem: MACRO
+ db vartomem_command
db \1 ; memory
ENDM
@@ -483,7 +478,11 @@ ENDM
enum refreshscreen_command ; $48
refreshscreen: MACRO
db refreshscreen_command
+if _NARG == 1
db \1 ; dummy
+else
+ db 0
+endc
ENDM
enum closetext_command ; $49
diff --git a/macros/scripts/maps.asm b/macros/scripts/maps.asm
index e9703531d..31a1f16d9 100644
--- a/macros/scripts/maps.asm
+++ b/macros/scripts/maps.asm
@@ -9,6 +9,12 @@ scene_script: MACRO
dw \1, 0
ENDM
+callback: MACRO
+;\1: type: a MAPCALLBACK_* constant
+;\2: script pointer
+ dbw \1, \2
+ENDM
+
warp_def: MACRO
;\1: x: left to right, starts at 0
;\2: y: top to bottom, starts at 0
@@ -23,9 +29,10 @@ coord_event: MACRO
;\2: y: top to bottom, starts at 0
;\3: scene id: controlled by setscene/setmapscene
;\4: script pointer
- db \3, \2, \1, $0
+ db \3, \2, \1
+ db 0 ; filler
dw \4
- db $0, $0
+ db 0, 0 ; filler
ENDM
bg_event: MACRO
@@ -91,6 +98,12 @@ else
endc
ENDM
+hiddenitem: MACRO
+;\1: flag: an EVENT_* constant
+;\2: item: from constants/item_constants.asm
+ dwb \1, \2
+ENDM
+
elevfloor: MACRO
;\1: floor: a FLOOR_* constant
;\2: warp destination: starts at 1
@@ -99,10 +112,22 @@ elevfloor: MACRO
map \3
ENDM
+conditional_event: MACRO
+;\1: flag: an EVENT_* constant
+;\2: script pointer
+ dw \1, \2
+ENDM
+
+cmdqueue: MACRO
+;\1: type: a CMDQUEUE_* constant
+;\2: data pointer
+ dbw \1, \2
+ dw 0 ; filler
+ENDM
+
stonetable: MACRO
;\1: warp id
;\2: object_event id
;\3: script pointer
- db \1, \2
- dw \3
+ dbbw \1, \2, \3
ENDM
diff --git a/macros/scripts/text.asm b/macros/scripts/text.asm
index f22f83551..bff18c7ea 100644
--- a/macros/scripts/text.asm
+++ b/macros/scripts/text.asm
@@ -1,4 +1,4 @@
-text EQUS "db \"<START>\"," ; Start writing text.
+text EQUS "db TX_START," ; Start writing text.
next EQUS "db \"<NEXT>\"," ; Move a line down.
line EQUS "db \"<LINE>\"," ; Start writing at the bottom line.
page EQUS "db \"@\"," ; Start a new Pokédex page.
@@ -8,7 +8,12 @@ done EQUS "db \"<DONE>\"" ; End a text box.
prompt EQUS "db \"<PROMPT>\"" ; Prompt the player to end a text box (initiating some other event).
; TextCommands indexes (see home/text.asm)
- enum_start $01
+ enum_start
+
+ enum TX_START ; $00
+text_start: MACRO
+ db TX_START
+ENDM
enum TX_RAM ; $01
text_from_ram: MACRO
@@ -68,9 +73,9 @@ interpret_data: MACRO
db TX_EXIT
ENDM
- enum TX_SOUND_0B ; $0b
+ enum TX_SOUND_DEX_FANFARE_50_79 ; $0b
sound_dex_fanfare_50_79: MACRO
- db TX_SOUND_0B
+ db TX_SOUND_DEX_FANFARE_50_79
ENDM
enum TX_DOTS ; $0c
@@ -84,34 +89,34 @@ link_wait_button: MACRO
db TX_LINK_WAIT_BUTTON
ENDM
- enum TX_SOUND_0E ; $0e
+ enum TX_SOUND_DEX_FANFARE_20_49 ; $0e
sound_dex_fanfare_20_49: MACRO
- db TX_SOUND_0E
+ db TX_SOUND_DEX_FANFARE_20_49
ENDM
- enum TX_SOUND_0F ; $0f
+ enum TX_SOUND_ITEM ; $0f
sound_item: MACRO
- db TX_SOUND_0F
+ db TX_SOUND_ITEM
ENDM
- enum TX_SOUND_10 ; $10
+ enum TX_SOUND_CAUGHT_MON ; $10
sound_caught_mon: MACRO
- db TX_SOUND_10
+ db TX_SOUND_CAUGHT_MON
ENDM
- enum TX_SOUND_11 ; $11
+ enum TX_SOUND_DEX_FANFARE_80_109 ; $11
sound_dex_fanfare_80_109: MACRO
- db TX_SOUND_11
+ db TX_SOUND_DEX_FANFARE_80_109
ENDM
- enum TX_SOUND_12 ; $12
+ enum TX_SOUND_FANFARE ; $12
sound_fanfare: MACRO
- db TX_SOUND_12
+ db TX_SOUND_FANFARE
ENDM
- enum TX_SOUND_13 ; $13
+ enum TX_SOUND_SLOT_MACHINE_START ; $13
sound_slot_machine_start: MACRO
- db TX_SOUND_13
+ db TX_SOUND_SLOT_MACHINE_START
ENDM
enum TX_STRINGBUFFER ; $14
diff --git a/macros/tilesets.asm b/macros/tilesets.asm
deleted file mode 100755
index 4aeb38dc5..000000000
--- a/macros/tilesets.asm
+++ /dev/null
@@ -1,15 +0,0 @@
-; Used in tilesets/*.asm
-
-tilepal: MACRO
-; vram bank, pals
-x = \1 << OAM_TILE_BANK
-rept (_NARG +- 1) / 2
- dn (x | PAL_BG_\3), (x | PAL_BG_\2)
- shift
- shift
-endr
-ENDM
-
-tilecoll: MACRO
- db COLL_\1, COLL_\2, COLL_\3, COLL_\4
-ENDM
diff --git a/macros/wram.asm b/macros/wram.asm
index d30114fc8..47138e40c 100755
--- a/macros/wram.asm
+++ b/macros/wram.asm
@@ -110,7 +110,7 @@ box: MACRO
\1Mon1:: box_struct \1Mon1
\1Mon2:: ds BOXMON_STRUCT_LENGTH * (MONS_PER_BOX +- 1)
\1MonOT:: ds NAME_LENGTH * MONS_PER_BOX
-\1MonNicknames:: ds PKMN_NAME_LENGTH * MONS_PER_BOX
+\1MonNicknames:: ds MON_NAME_LENGTH * MONS_PER_BOX
\1MonNicknamesEnd::
\1End:: ds 2 ; padding
ENDM
@@ -179,13 +179,13 @@ battle_tower_struct: MACRO
\1Name:: ds NAME_LENGTH +- 1
\1TrainerClass:: ds 1
\1Pkmn1:: party_struct \1Pkmn1
-\1Pkmn1Name:: ds PKMN_NAME_LENGTH
+\1Pkmn1Name:: ds MON_NAME_LENGTH
\1Pkmn1NameEnd::
\1Pkmn2:: party_struct \1Pkmn2
-\1Pkmn2Name:: ds PKMN_NAME_LENGTH
+\1Pkmn2Name:: ds MON_NAME_LENGTH
\1Pkmn2NameEnd::
\1Pkmn3:: party_struct \1Pkmn3
-\1Pkmn3Name:: ds PKMN_NAME_LENGTH
+\1Pkmn3Name:: ds MON_NAME_LENGTH
\1Pkmn3NameEnd::
\1TrainerData:: ds BATTLETOWER_TRAINERDATALENGTH
\1TrainerEnd::
@@ -222,7 +222,7 @@ hof_mon: MACRO
\1ID:: dw
\1DVs:: dw
\1Level:: db
-\1Nickname:: ds PKMN_NAME_LENGTH +- 1
+\1Nickname:: ds MON_NAME_LENGTH +- 1
\1End::
ENDM
@@ -247,8 +247,8 @@ ENDM
trademon: MACRO
\1Species:: db ; wc6d0 | wc702
-\1SpeciesName:: ds PKMN_NAME_LENGTH ; wc6d1 | wc703
-\1Nickname:: ds PKMN_NAME_LENGTH ; wc6dc | wc70e
+\1SpeciesName:: ds MON_NAME_LENGTH ; wc6d1 | wc703
+\1Nickname:: ds MON_NAME_LENGTH ; wc6dc | wc70e
\1SenderName:: ds NAME_LENGTH ; wc6e7 | wc719
\1OTName:: ds NAME_LENGTH ; wc6f2 | wc724
\1DVs:: dw ; wc6fd | wc72f
@@ -339,6 +339,19 @@ map_object: MACRO
ds 2
ENDM
+sprite_oam_struct: MACRO
+\1YCoord:: db
+\1XCoord:: db
+\1TileID:: db
+\1Attributes:: db
+; bit 7: priority
+; bit 6: y flip
+; bit 5: x flip
+; bit 4: pal # (non-cgb)
+; bit 3: vram bank (cgb only)
+; bit 2-0: pal # (cgb only)
+ENDM
+
sprite_anim_struct: MACRO
\1Index:: db
\1FramesetID:: db
diff --git a/main.asm b/main.asm
index 5c036e3d8..11f4fd39e 100644
--- a/main.asm
+++ b/main.asm
@@ -1,4 +1,4 @@
-INCLUDE "includes.asm"
+INCLUDE "constants.asm"
SECTION "bank1", ROMX
@@ -49,7 +49,7 @@ SECTION "bank4", ROMX
INCLUDE "engine/pack.asm"
INCLUDE "engine/time.asm"
INCLUDE "engine/tmhm.asm"
-INCLUDE "engine/namingscreen.asm"
+INCLUDE "engine/naming_screen.asm"
INCLUDE "engine/events/misc_scripts.asm"
INCLUDE "engine/events/heal_machine_anim.asm"
INCLUDE "engine/events/whiteout.asm"
@@ -85,14 +85,12 @@ INCLUDE "engine/events/daycare.asm"
INCLUDE "engine/events/print_unown.asm"
INCLUDE "engine/events/print_photo.asm"
INCLUDE "engine/breeding.asm"
-
-
-INCLUDE "tilesets/data.asm"
+INCLUDE "gfx/tilesets.asm"
SECTION "Roofs", ROMX
-INCLUDE "tilesets/roofs.asm"
+INCLUDE "engine/mapgroup_roofs.asm"
SECTION "Clock Reset", ROMX
@@ -172,12 +170,12 @@ INCLUDE "data/trainers/parties.asm"
SECTION "Battle Core", ROMX
INCLUDE "engine/battle/core.asm"
-INCLUDE "data/battle_command_pointers.asm"
+INCLUDE "data/battle/effect_command_pointers.asm"
SECTION "bank10", ROMX
-INCLUDE "engine/pokedex.asm"
+INCLUDE "engine/pokedex/pokedex.asm"
INCLUDE "data/moves/moves.asm"
INCLUDE "engine/evolve.asm"
@@ -186,7 +184,7 @@ SECTION "bank11", ROMX
INCLUDE "engine/events/fruit_trees.asm"
INCLUDE "engine/battle/ai/move.asm"
-INCLUDE "engine/pokedex_2.asm"
+INCLUDE "engine/pokedex/pokedex_2.asm"
INCLUDE "data/pokemon/dex_entry_pointers.asm"
INCLUDE "engine/mail.asm"
@@ -196,7 +194,7 @@ SECTION "Crystal Features 1", ROMX
INCLUDE "engine/init_gender.asm"
INCLUDE "engine/routines/drawkrispackgfx.asm"
INCLUDE "engine/events/move_tutor.asm"
-INCLUDE "engine/crystal_colors.asm"
+INCLUDE "engine/crystal_layouts.asm"
INCLUDE "engine/events/celebi.asm"
INCLUDE "engine/main_menu.asm"
INCLUDE "mobile/mobile_menu.asm"
@@ -208,15 +206,7 @@ INCLUDE "engine/events/buena_menu.asm"
SECTION "bank13", ROMX
INCLUDE "engine/map_palettes.asm"
-INCLUDE "tilesets/palette_maps.asm"
-
-; unreferenced
-; 0x4ce05
-rept 26
- db $06
-endr
-; 0x4ce1f
-
+INCLUDE "gfx/tilesets/palette_maps.asm"
INCLUDE "data/collision_permissions.asm"
INCLUDE "engine/routines/emptyallsrambanks.asm"
INCLUDE "engine/routines/savemenu_copytilemapatonce.asm"
@@ -226,14 +216,14 @@ INCLUDE "engine/routines/loadmappart.asm"
INCLUDE "engine/routines/phonering_copytilemapatonce.asm"
Shrink1Pic: ; 4d249
-INCBIN "gfx/shrink/shrink1.2bpp.lz"
+INCBIN "gfx/new_game/shrink1.2bpp.lz"
Shrink2Pic: ; 4d2d9
-INCBIN "gfx/shrink/shrink2.2bpp.lz"
+INCBIN "gfx/new_game/shrink2.2bpp.lz"
INCLUDE "engine/link_2.asm"
INCLUDE "engine/delete_save_change_clock.asm"
-INCLUDE "tilesets/tilesets.asm"
+INCLUDE "data/tilesets.asm"
INCLUDE "engine/routines/flagpredef.asm"
INCLUDE "engine/routines/trademonfrontpic.asm"
INCLUDE "engine/events/pokerus/check_pokerus.asm"
@@ -244,7 +234,7 @@ INCLUDE "engine/stats_screen.asm"
INCLUDE "engine/events/catch_tutorial.asm"
INCLUDE "engine/evolution_animation.asm"
INCLUDE "engine/init_hof_credits.asm"
-INCLUDE "mobile/get_trainer_class.asm"
+INCLUDE "engine/events/battle_tower/get_trainer_class.asm"
INCLUDE "engine/battle/sliding_intro.asm"
INCLUDE "mobile/print_opp_message.asm"
INCLUDE "engine/battle/checkbattlescene.asm"
@@ -263,29 +253,16 @@ INCLUDE "engine/events/basement_key.asm"
INCLUDE "engine/events/sacred_ash.asm"
INCLUDE "engine/tempmon.asm"
INCLUDE "engine/types.asm"
-INCLUDE "text/unused_gen_1_trainers.asm"
+INCLUDE "engine/routines/unreferenced_getgen1trainerclassname.asm"
INCLUDE "engine/mon_stats.asm"
INCLUDE "engine/routines/initlist.asm"
INCLUDE "engine/experience.asm"
INCLUDE "engine/routines/switchpartymons.asm"
-INCLUDE "gfx/load_pics.asm"
+INCLUDE "engine/load_pics.asm"
INCLUDE "engine/move_mon_wo_mail.asm"
INCLUDE "data/pokemon/base_stats.asm"
INCLUDE "data/pokemon/names.asm"
-
-Unknown_53d84: ; unreferenced
- db $1a, $15
- db $33, $16
- db $4b, $17
- db $62, $18
- db $79, $19
- db $90, $1a
- db $a8, $1b
- db $c4, $1c
- db $e0, $1d
- db $f6, $1e
- db $ff, $1f
- db $ff, $20
+INCLUDE "data/unused/unknown_53d84.asm"
UnknownEggPic:: ; 53d9c
; Another egg pic. This is shifted up a few pixels.
@@ -294,7 +271,7 @@ INCBIN "gfx/unknown/unknown_egg.2bpp.lz"
SECTION "Crystal Phone Text", ROMX
-INCLUDE "text/phone/extra.asm"
+INCLUDE "data/phone/text/extra.asm"
SECTION "bank20", ROMX
@@ -302,7 +279,7 @@ SECTION "bank20", ROMX
INCLUDE "engine/player_movement.asm"
INCLUDE "engine/engine_flags.asm"
INCLUDE "engine/variables.asm"
-INCLUDE "text/battle.asm"
+INCLUDE "data/battle/battle_text.asm"
INCLUDE "engine/debug.asm"
@@ -318,10 +295,10 @@ SECTION "Crystal Features 2", ROMX
INCLUDE "engine/events/kurt.asm"
INCLUDE "engine/player_gfx.asm"
INCLUDE "mobile/mobile_22.asm"
-INCLUDE "engine/events/crystal_unown.asm"
+INCLUDE "engine/events/unown_walls.asm"
INCLUDE "engine/events/buena.asm"
INCLUDE "engine/events/dratini.asm"
-INCLUDE "engine/events/battle_tower_rules.asm"
+INCLUDE "engine/events/battle_tower/rules.asm"
INCLUDE "mobile/mobile_22_2.asm"
@@ -354,28 +331,31 @@ INCLUDE "engine/phone/buenas_password.asm"
SECTION "Phone Text", ROMX
-INCLUDE "text/phone/anthony_overworld.asm"
-INCLUDE "text/phone/todd_overworld.asm"
-INCLUDE "text/phone/gina_overworld.asm"
-INCLUDE "text/phone/irwin_overworld.asm"
-INCLUDE "text/phone/arnie_overworld.asm"
-INCLUDE "text/phone/alan_overworld.asm"
-INCLUDE "text/phone/dana_overworld.asm"
-INCLUDE "text/phone/chad_overworld.asm"
-INCLUDE "text/phone/derek_overworld.asm"
-INCLUDE "text/phone/tully_overworld.asm"
-INCLUDE "text/phone/brent_overworld.asm"
-INCLUDE "text/phone/tiffany_overworld.asm"
-INCLUDE "text/phone/vance_overworld.asm"
-INCLUDE "text/phone/wilton_overworld.asm"
-INCLUDE "text/phone/kenji_overworld.asm"
-INCLUDE "text/phone/parry_overworld.asm"
-INCLUDE "text/phone/erin_overworld.asm"
+INCLUDE "data/phone/text/anthony_overworld.asm"
+INCLUDE "data/phone/text/todd_overworld.asm"
+INCLUDE "data/phone/text/gina_overworld.asm"
+INCLUDE "data/phone/text/irwin_overworld.asm"
+INCLUDE "data/phone/text/arnie_overworld.asm"
+INCLUDE "data/phone/text/alan_overworld.asm"
+INCLUDE "data/phone/text/dana_overworld.asm"
+INCLUDE "data/phone/text/chad_overworld.asm"
+INCLUDE "data/phone/text/derek_overworld.asm"
+INCLUDE "data/phone/text/tully_overworld.asm"
+INCLUDE "data/phone/text/brent_overworld.asm"
+INCLUDE "data/phone/text/tiffany_overworld.asm"
+INCLUDE "data/phone/text/vance_overworld.asm"
+INCLUDE "data/phone/text/wilton_overworld.asm"
+INCLUDE "data/phone/text/kenji_overworld.asm"
+INCLUDE "data/phone/text/parry_overworld.asm"
+INCLUDE "data/phone/text/erin_overworld.asm"
SECTION "bank2E", ROMX
-INCLUDE "engine/events_3.asm"
+INCLUDE "engine/events/map_name_sign.asm"
+INCLUDE "engine/events/checkforhiddenitems.asm"
+INCLUDE "engine/events/treemons.asm"
+INCLUDE "engine/events/loadfishinggfx.asm"
INCLUDE "engine/radio.asm"
INCLUDE "engine/mail_2.asm"
@@ -402,7 +382,7 @@ SECTION "Move Animations", ROMX
INCLUDE "engine/events/bug_contest/display_stats.asm"
INCLUDE "engine/battle_anims/anim_commands.asm"
-INCLUDE "engine/battle_anims/engine.asm"
+INCLUDE "engine/battle_anims/core.asm"
INCLUDE "data/battle_anims/objects.asm"
INCLUDE "engine/battle_anims/functions.asm"
INCLUDE "engine/battle_anims/helpers.asm"
@@ -450,15 +430,6 @@ INCLUDE "gfx/pokemon/unown_frames.asm"
SECTION "bank38", ROMX
INCLUDE "engine/events/print_unown_2.asm"
-
-Unknown_e00ed:
-; Graphics for an unused Game Corner
-; game were meant to be here.
-
-ret_e00ed: ; e00ed (38:40ed)
-; How many coins?
- ret
-
INCLUDE "engine/card_flip.asm"
INCLUDE "engine/unown_puzzle.asm"
INCLUDE "engine/dummy_game.asm"
@@ -476,13 +447,13 @@ INCLUDE "engine/crystal_intro.asm"
SECTION "bank3E", ROMX
-INCLUDE "gfx/font.asm"
+INCLUDE "engine/load_font.asm"
INCLUDE "engine/time_capsule.asm"
INCLUDE "engine/events/name_rater.asm"
INCLUDE "engine/routines/playslowcry.asm"
-INCLUDE "engine/routines/newpokedexentry.asm"
+INCLUDE "engine/pokedex/newpokedexentry.asm"
INCLUDE "engine/time_capsule_2.asm"
-INCLUDE "engine/unown_dex.asm"
+INCLUDE "engine/pokedex/unown_dex.asm"
INCLUDE "engine/events/magikarp.asm"
INCLUDE "engine/battle/hidden_power.asm"
INCLUDE "engine/battle/misc.asm"
@@ -490,7 +461,7 @@ INCLUDE "engine/battle/misc.asm"
SECTION "bank3F", ROMX
-INCLUDE "tilesets/animations.asm"
+INCLUDE "engine/tileset_anims.asm"
INCLUDE "engine/npctrade.asm"
INCLUDE "engine/events/mom_phone.asm"
@@ -506,7 +477,7 @@ INCLUDE "engine/warp_connection.asm"
INCLUDE "engine/mystery_gift.asm"
INCLUDE "engine/battle/used_move_text.asm"
INCLUDE "mobile/mobile_41.asm"
-INCLUDE "gfx/overworld_font.asm"
+INCLUDE "engine/routines/loadoverworldfont.asm"
SECTION "Mobile 42", ROMX
@@ -534,7 +505,7 @@ INCLUDE "mobile/mobile_46.asm"
SECTION "Battle Tower", ROMX
-INCLUDE "mobile/battle_tower_47.asm"
+INCLUDE "engine/events/battle_tower/trainer_text.asm"
SECTION "bank5B", ROMX
@@ -550,7 +521,7 @@ INCLUDE "mobile/mobile_5c.asm"
SECTION "Crystal Phone Text 2", ROMX
-INCLUDE "text/phone/extra2.asm"
+INCLUDE "data/phone/text/extra2.asm"
SECTION "UpdateBattleHUDs", ROMX
@@ -570,31 +541,32 @@ INCLUDE "mobile/mobile_5f.asm"
SECTION "Common Text 1", ROMX
-INCLUDE "text/stdtext.asm"
-INCLUDE "text/phone/jack_overworld.asm"
-INCLUDE "text/phone/beverly_overworld.asm"
-INCLUDE "text/phone/huey_overworld.asm"
-INCLUDE "text/phone/gaven_overworld.asm"
-INCLUDE "text/phone/beth_overworld.asm"
-INCLUDE "text/phone/jose_overworld.asm"
-INCLUDE "text/phone/reena_overworld.asm"
-INCLUDE "text/phone/joey_overworld.asm"
-INCLUDE "text/phone/wade_overworld.asm"
-INCLUDE "text/phone/ralph_overworld.asm"
-INCLUDE "text/phone/liz_overworld.asm"
+INCLUDE "data/std_text.asm"
+INCLUDE "data/phone/text/jack_overworld.asm"
+INCLUDE "data/phone/text/beverly_overworld.asm"
+INCLUDE "data/phone/text/huey_overworld.asm"
+INCLUDE "data/phone/text/gaven_overworld.asm"
+INCLUDE "data/phone/text/beth_overworld.asm"
+INCLUDE "data/phone/text/jose_overworld.asm"
+INCLUDE "data/phone/text/reena_overworld.asm"
+INCLUDE "data/phone/text/joey_overworld.asm"
+INCLUDE "data/phone/text/wade_overworld.asm"
+INCLUDE "data/phone/text/ralph_overworld.asm"
+INCLUDE "data/phone/text/liz_overworld.asm"
SECTION "Special Phone Text", ROMX
-INCLUDE "text/phone/mom.asm"
-INCLUDE "text/phone/bill.asm"
-INCLUDE "text/phone/elm.asm"
-INCLUDE "text/phone/trainers1.asm"
+INCLUDE "data/phone/text/mom.asm"
+INCLUDE "data/phone/text/bill.asm"
+INCLUDE "data/phone/text/elm.asm"
+INCLUDE "data/phone/text/trainers1.asm"
SECTION "Miscellaneous Text", ROMX
INCLUDE "data/items/names.asm"
+INCLUDE "engine/routines/printitemdescription.asm"
INCLUDE "data/items/descriptions.asm"
INCLUDE "data/moves/names.asm"
INCLUDE "engine/landmarks.asm"
@@ -612,7 +584,7 @@ SECTION "bank77_2", ROMX
INCLUDE "engine/routines/printhoursmins.asm"
INCLUDE "engine/diploma.asm"
-INCLUDE "engine/pokedex_3.asm"
+INCLUDE "engine/pokedex/pokedex_3.asm"
INCLUDE "engine/events/catch_tutorial_input.asm"
INCLUDE "engine/routines/townmap_convertlinebreakcharacters.asm"
@@ -624,12 +596,12 @@ INCLUDE "engine/european_mail.asm"
SECTION "Battle Tower Text", ROMX
-INCLUDE "text/battle_tower.asm"
+INCLUDE "data/battle_tower/trainer_text.asm"
SECTION "Battle Tower Trainer Data", ROMX
-INCLUDE "data/battle_tower_2.asm"
+INCLUDE "data/battle_tower/unknown.asm"
SECTION "Mobile News Data", ROMX
@@ -639,13 +611,13 @@ INCLUDE "mobile/news/news.asm"
SECTION "Crystal Events", ROMX
-INCLUDE "engine/events/battle_tower.asm"
+INCLUDE "engine/events/battle_tower/load_trainer.asm"
INCLUDE "engine/events/odd_egg.asm"
SECTION "Mobile Stadium 2", ROMX
-if DEF(CRYSTAL11)
+if DEF(_CRYSTAL11)
INCBIN "mobile/stadium/stadium2_2.bin"
else
INCBIN "mobile/stadium/stadium2_1.bin"
diff --git a/maps/AzaleaGym.asm b/maps/AzaleaGym.asm
index 1e36df96f..3675392fc 100644
--- a/maps/AzaleaGym.asm
+++ b/maps/AzaleaGym.asm
@@ -7,7 +7,7 @@ const_value set 2
const AZALEAGYM_TWIN2
const AZALEAGYM_GYM_GUY
-AzaleaGym_MapScriptHeader:
+AzaleaGym_MapScripts:
.SceneScripts:
db 0
@@ -23,7 +23,7 @@ AzaleaGymBugsyScript:
waitbutton
closetext
winlosstext BugsyText_ResearchIncomplete, 0
- loadtrainer BUGSY, 1
+ loadtrainer BUGSY, BUGSY1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_BUGSY
@@ -146,7 +146,7 @@ AzaleaGymStatue:
iftrue .Beaten
jumpstd gymstatue1
.Beaten:
- trainertotext BUGSY, 1, $1
+ trainertotext BUGSY, BUGSY1, MEM_BUFFER_1
jumpstd gymstatue2
BugsyText_INeverLose:
@@ -361,7 +361,7 @@ AzaleaGymGuyWinText:
cont "#MON is bright!"
done
-AzaleaGym_MapEventHeader:
+AzaleaGym_MapEvents:
; filler
db 0, 0
diff --git a/maps/AzaleaMart.asm b/maps/AzaleaMart.asm
index 8d9374955..8ecf94d92 100644
--- a/maps/AzaleaMart.asm
+++ b/maps/AzaleaMart.asm
@@ -3,7 +3,7 @@ const_value set 2
const AZALEAMART_COOLTRAINER_M
const AZALEAMART_BUG_CATCHER
-AzaleaMart_MapScriptHeader:
+AzaleaMart_MapScripts:
.SceneScripts:
db 0
@@ -45,7 +45,7 @@ AzaleaMartBugCatcherText:
cont "times."
done
-AzaleaMart_MapEventHeader:
+AzaleaMart_MapEvents:
; filler
db 0, 0
diff --git a/maps/AzaleaPokecenter1F.asm b/maps/AzaleaPokecenter1F.asm
index e4d950442..6e65c2c01 100644
--- a/maps/AzaleaPokecenter1F.asm
+++ b/maps/AzaleaPokecenter1F.asm
@@ -4,7 +4,7 @@ const_value set 2
const AZALEAPOKECENTER1F_FISHING_GURU
const AZALEAPOKECENTER1F_POKEFAN_F
-AzaleaPokecenter1F_MapScriptHeader:
+AzaleaPokecenter1F_MapScripts:
.SceneScripts:
db 1
scene_script .DummyScene
@@ -76,7 +76,7 @@ AzaleaPokecenter1FPokefanFText:
line "APRICORNS."
done
-AzaleaPokecenter1F_MapEventHeader:
+AzaleaPokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/AzaleaTown.asm b/maps/AzaleaTown.asm
index ba1ee1a2c..16889aa51 100644
--- a/maps/AzaleaTown.asm
+++ b/maps/AzaleaTown.asm
@@ -12,7 +12,7 @@ const_value set 2
const AZALEATOWN_AZALEA_ROCKET3
const AZALEATOWN_KURT_OUTSIDE
-AzaleaTown_MapScriptHeader:
+AzaleaTown_MapScripts:
.SceneScripts:
db 3
scene_script .DummyScene0
@@ -21,7 +21,7 @@ AzaleaTown_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .Flypoint
+ callback MAPCALLBACK_NEWMAP, .Flypoint
.DummyScene0:
end
@@ -37,7 +37,7 @@ AzaleaTown_MapScriptHeader:
return
AzaleaTownRivalBattleScene1:
- moveobject AZALEATOWN_SILVER, $b, $b
+ moveobject AZALEATOWN_SILVER, 11, 11
spriteface PLAYER, RIGHT
showemote EMOTE_SHOCK, PLAYER, 15
special Special_FadeOutMusic
@@ -102,7 +102,7 @@ AzaleaTownRivalBattleScript:
applymovement AZALEATOWN_SILVER, AzaleaTownRivalBattleExitMovement
playsound SFX_EXIT_BUILDING
disappear AZALEATOWN_SILVER
- setscene $0
+ setscene 0
waitsfx
playmapmusic
end
@@ -170,7 +170,7 @@ AzaleaTownCelebiScene:
setflag ENGINE_HAVE_EXAMINED_GS_BALL
clearevent EVENT_ILEX_FOREST_LASS
setevent EVENT_ROUTE_34_ILEX_FOREST_GATE_LASS
- setscene $0
+ setscene 0
closetext
end
@@ -211,7 +211,7 @@ WhiteApricornTree:
fruittree FRUITTREE_AZALEA_TOWN
AzaleaTownHiddenFullHeal:
- dwb EVENT_AZALEA_TOWN_HIDDEN_FULL_HEAL, FULL_HEAL
+ hiddenitem EVENT_AZALEA_TOWN_HIDDEN_FULL_HEAL, FULL_HEAL
AzaleaTownRivalBattleApproachMovement1:
step LEFT
@@ -376,11 +376,11 @@ AzaleaTownYoungsterText:
AzaleaTownSlowpokeText1:
text "SLOWPOKE: …"
- para "<......> <......> <......>"
+ para "<……> <……> <……>"
done
AzaleaTownSlowpokeText2:
- text "<......> <......>Yawn?"
+ text "<……> <……>Yawn?"
done
WoosterText:
@@ -455,7 +455,7 @@ AzaleaTownIlexForestSignText:
line "gate."
done
-AzaleaTown_MapEventHeader:
+AzaleaTown_MapEvents:
; filler
db 0, 0
diff --git a/maps/BattleTower1F.asm b/maps/BattleTower1F.asm
index 0e44eab3a..b7113f347 100644
--- a/maps/BattleTower1F.asm
+++ b/maps/BattleTower1F.asm
@@ -5,7 +5,7 @@ const_value set 2
const BATTLETOWER1F_BUG_CATCHER
const BATTLETOWER1F_GRANNY
-BattleTower1F_MapScriptHeader:
+BattleTower1F_MapScripts:
.SceneScripts:
db 2
scene_script .Scene0
@@ -16,10 +16,10 @@ BattleTower1F_MapScriptHeader:
.Scene0:
writebyte BATTLETOWERACTION_CHECKSAVEFILEISYOURS
- special BattleTowerAction
+ special Special_BattleTowerAction
iffalse .SkipEverything
writebyte BATTLETOWERACTION_GET_CHALLENGE_STATE ; copybytetovar sBattleTowerChallengeState
- special BattleTowerAction
+ special Special_BattleTowerAction
if_equal $0, .SkipEverything
if_equal $2, .priorityjump1
if_equal $3, .SkipEverything
@@ -34,11 +34,11 @@ BattleTower1F_MapScriptHeader:
.priorityjump1
priorityjump BattleTower_LeftWithoutSaving
writebyte BATTLETOWERACTION_CHALLENGECANCELED
- special BattleTowerAction
+ special Special_BattleTowerAction
writebyte BATTLETOWERACTION_06
- special BattleTowerAction
+ special Special_BattleTowerAction
.SkipEverything:
- setscene $1
+ setscene 1
.Scene1:
end
@@ -55,63 +55,63 @@ UnknownScript_0x9e3e0:
ReceptionistScript_0x9e3e2:
writebyte BATTLETOWERACTION_GET_CHALLENGE_STATE ; copybytetovar sBattleTowerChallengeState
- special BattleTowerAction
+ special Special_BattleTowerAction
if_equal $3, Script_BeatenAllTrainers2 ; maps/BattleTowerBattleRoom.asm
opentext
writetext Text_BattleTowerWelcomesYou
buttonsound
writebyte BATTLETOWERACTION_CHECK_EXPLANATION_READ ; if new save file: bit 1, [sBattleTowerSaveFileFlags]
- special BattleTowerAction
+ special Special_BattleTowerAction
if_not_equal $0, Script_Menu_ChallengeExplanationCancel
jump Script_BattleTowerIntroductionYesNo
Script_Menu_ChallengeExplanationCancel: ; 0x9e3fc
writetext Text_WantToGoIntoABattleRoom
- writebyte $1
+ writebyte TRUE
special Special_Menu_ChallengeExplanationCancel
- if_equal $1, Script_ChooseChallenge
- if_equal $2, Script_BattleTowerExplanation
+ if_equal 1, Script_ChooseChallenge
+ if_equal 2, Script_BattleTowerExplanation
jump Script_BattleTowerHopeToServeYouAgain
Script_ChooseChallenge: ; 0x9e40f
writebyte BATTLETOWERACTION_RESETDATA ; ResetBattleTowerTrainerSRAM
- special BattleTowerAction
- special SpecialCheckForBattleTowerRules
- if_not_equal $0, Script_WaitButton
+ special Special_BattleTowerAction
+ special Special_CheckForBattleTowerRules
+ if_not_equal FALSE, Script_WaitButton
writetext Text_SaveBeforeEnteringBattleRoom
yesorno
iffalse Script_Menu_ChallengeExplanationCancel
- setscene $0
+ setscene 0
special Special_TryQuickSave
iffalse Script_Menu_ChallengeExplanationCancel
- setscene $1
+ setscene 1
writebyte BATTLETOWERACTION_SET_EXPLANATION_READ ; set 1, [sBattleTowerSaveFileFlags]
- special BattleTowerAction
- special BattleTowerRoomMenu
+ special Special_BattleTowerAction
+ special Special_BattleTowerRoomMenu
if_equal $a, Script_Menu_ChallengeExplanationCancel
if_not_equal $0, Script_MobileError
writebyte BATTLETOWERACTION_11
- special BattleTowerAction
+ special Special_BattleTowerAction
writetext Text_RightThisWayToYourBattleRoom
waitbutton
closetext
writebyte BATTLETOWERACTION_CHOOSEREWARD
- special BattleTowerAction
+ special Special_BattleTowerAction
jump Script_WalkToBattleTowerElevator
Script_ResumeBattleTowerChallenge:
closetext
writebyte BATTLETOWERACTION_LOADLEVELGROUP ; load choice of level group
- special BattleTowerAction
+ special Special_BattleTowerAction
Script_WalkToBattleTowerElevator:
musicfadeout MUSIC_NONE, 8
- setmapscene BATTLE_TOWER_BATTLE_ROOM, $0
- setmapscene BATTLE_TOWER_ELEVATOR, $0
- setmapscene BATTLE_TOWER_HALLWAY, $0
+ setmapscene BATTLE_TOWER_BATTLE_ROOM, 0
+ setmapscene BATTLE_TOWER_ELEVATOR, 0
+ setmapscene BATTLE_TOWER_HALLWAY, 0
follow BATTLETOWER1F_RECEPTIONIST, PLAYER
applymovement BATTLETOWER1F_RECEPTIONIST, MovementData_BattleTower1FWalkToElevator
writebyte BATTLETOWERACTION_0A
- special BattleTowerAction
+ special Special_BattleTowerAction
warpsound
disappear BATTLETOWER1F_RECEPTIONIST
stopfollow
@@ -121,15 +121,15 @@ Script_WalkToBattleTowerElevator:
Script_GivePlayerHisPrize: ; 0x9e47a
writebyte BATTLETOWERACTION_1C
- special BattleTowerAction
+ special Special_BattleTowerAction
writebyte BATTLETOWERACTION_GIVEREWARD
- special BattleTowerAction
+ special Special_BattleTowerAction
if_equal POTION, Script_YourPackIsStuffedFull
- itemtotext $0, $1
+ itemtotext USE_SCRIPT_VAR, MEM_BUFFER_1
giveitem ITEM_FROM_MEM, 5
writetext Text_PlayerGotFive
writebyte BATTLETOWERACTION_1D
- special BattleTowerAction
+ special Special_BattleTowerAction
closetext
end
@@ -147,7 +147,7 @@ Script_BattleTowerExplanation: ; 0x9e4a5
writetext Text_BattleTowerIntroduction_2
Script_BattleTowerSkipExplanation:
writebyte BATTLETOWERACTION_SET_EXPLANATION_READ
- special BattleTowerAction
+ special Special_BattleTowerAction
jump Script_Menu_ChallengeExplanationCancel
Script_BattleTowerHopeToServeYouAgain:
@@ -157,7 +157,7 @@ Script_BattleTowerHopeToServeYouAgain:
end
UnreferencedScript_0x9e4b6:
- special BattleTowerMobileError
+ special Special_BattleTowerMobileError
closetext
end
@@ -173,8 +173,8 @@ UnreferencedScript_0x9e4be:
special Special_TryQuickSave
iffalse Script_Menu_ChallengeExplanationCancel
writebyte BATTLETOWERACTION_SET_EXPLANATION_READ
- special BattleTowerAction
- special Function1700ba
+ special Special_BattleTowerAction
+ special Special_Function1700ba
if_equal $a, Script_Menu_ChallengeExplanationCancel
if_not_equal $0, Script_MobileError
writetext Text_ReceivedAListOfLeadersOnTheHonorRoll
@@ -187,15 +187,15 @@ UnreferencedScript_0x9e4be:
UnreferencedScript_0x9e4ea:
writebyte BATTLETOWERACTION_LEVEL_CHECK
- special BattleTowerAction
+ special Special_BattleTowerAction
if_not_equal $0, Script_APkmnLevelExceeds
writebyte BATTLETOWERACTION_UBERS_CHECK
- special BattleTowerAction
+ special Special_BattleTowerAction
if_not_equal $0, Script_MayNotEnterABattleRoomUnderL70
- special SpecialCheckForBattleTowerRules
- if_not_equal $0, Script_WaitButton
+ special Special_CheckForBattleTowerRules
+ if_not_equal FALSE, Script_WaitButton
writebyte BATTLETOWERACTION_05
- special BattleTowerAction
+ special Special_BattleTowerAction
if_equal $0, .zero
writetext Text_CantBeRegistered_PreviousRecordDeleted
jump continue
@@ -208,14 +208,14 @@ continue:
writetext Text_SaveBeforeReentry
yesorno
iffalse Script_Menu_ChallengeExplanationCancel
- setscene $0
+ setscene 0
special Special_TryQuickSave
iffalse Script_Menu_ChallengeExplanationCancel
- setscene $1
+ setscene 1
writebyte BATTLETOWERACTION_06
- special BattleTowerAction
+ special Special_BattleTowerAction
writebyte BATTLETOWERACTION_12
- special BattleTowerAction
+ special Special_BattleTowerAction
writetext Text_RightThisWayToYourBattleRoom
waitbutton
jump Script_ResumeBattleTowerChallenge
@@ -236,7 +236,7 @@ Script_MayNotEnterABattleRoomUnderL70: ; 0x9e549
jump Script_Menu_ChallengeExplanationCancel
Script_MobileError:
- special BattleTowerMobileError
+ special Special_BattleTowerMobileError
closetext
end
@@ -793,7 +793,7 @@ Text_BattleTowerBugCatcher: ; 0x9f35b
line "any fire #MON…"
done
-BattleTower1F_MapEventHeader:
+BattleTower1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/BattleTowerBattleRoom.asm b/maps/BattleTowerBattleRoom.asm
index acd8bfa66..dd8e08e0f 100644
--- a/maps/BattleTowerBattleRoom.asm
+++ b/maps/BattleTowerBattleRoom.asm
@@ -2,7 +2,7 @@ const_value set 2
const BATTLETOWERBATTLEROOM_YOUNGSTER
const BATTLETOWERBATTLEROOM_RECEPTIONIST
-BattleTowerBattleRoom_MapScriptHeader:
+BattleTowerBattleRoom_MapScripts:
.SceneScripts:
db 2
scene_script .EnterBattleRoom
@@ -14,7 +14,7 @@ BattleTowerBattleRoom_MapScriptHeader:
.EnterBattleRoom: ; 0x9f419
disappear BATTLETOWERBATTLEROOM_YOUNGSTER
priorityjump Script_BattleRoom
- setscene $1
+ setscene 1
.DummyScene:
end
@@ -23,21 +23,21 @@ Script_BattleRoom: ; 0x9f421
; beat all 7 opponents in a row
Script_BattleRoomLoop: ; 0x9f425
writebyte BATTLETOWERBATTLEROOM_YOUNGSTER
- special Function_LoadOpponentTrainerAndPokemonsWithOTSprite
+ special Special_LoadOpponentTrainerAndPokemonWithOTSprite
appear BATTLETOWERBATTLEROOM_YOUNGSTER
warpsound
waitsfx
applymovement BATTLETOWERBATTLEROOM_YOUNGSTER, MovementData_BattleTowerBattleRoomOpponentWalksIn
opentext
- battletowertext 1
+ battletowertext BATTLETOWERTEXT_INTRO
buttonsound
closetext
- special BattleTowerBattle ; calls predef startbattle
- special FadeOutPalettes
+ special Special_BattleTowerBattle ; calls predef startbattle
+ special Special_FadeOutPalettes
reloadmap
if_not_equal $0, Script_FailedBattleTowerChallenge
copybytetovar wNrOfBeatenBattleTowerTrainers ; wcf64
- if_equal BATTLETOWER_NROFTRAINERS, Script_BeatenAllTrainers
+ if_equal BATTLETOWER_STREAK_LENGTH, Script_BeatenAllTrainers
applymovement BATTLETOWERBATTLEROOM_YOUNGSTER, MovementData_BattleTowerBattleRoomOpponentWalksOut
warpsound
disappear BATTLETOWERBATTLEROOM_YOUNGSTER
@@ -48,10 +48,10 @@ Script_BattleRoomLoop: ; 0x9f425
waitbutton
closetext
playmusic MUSIC_HEAL
- special FadeOutPalettes
- special LoadMapPalettes
+ special Special_FadeOutPalettes
+ special Special_LoadMapPalettes
pause 60
- special FadeInPalettes
+ special Special_FadeInPalettes
special RestartMapMusic
opentext
writetext Text_NextUpOpponentNo
@@ -68,35 +68,35 @@ Script_DontBattleNextOpponent: ; 0x9f483
yesorno
iffalse Script_DontSaveAndEndTheSession
writebyte BATTLETOWERACTION_SAVELEVELGROUP ; save level group
- special BattleTowerAction
+ special Special_BattleTowerAction
writebyte BATTLETOWERACTION_SAVEOPTIONS ; choose reward
- special BattleTowerAction
+ special Special_BattleTowerAction
writebyte BATTLETOWERACTION_SAVE_AND_QUIT ; quicksave
- special BattleTowerAction
+ special Special_BattleTowerAction
playsound SFX_SAVE
waitsfx
- special FadeOutPalettes
+ special Special_FadeOutPalettes
special Reset
Script_DontSaveAndEndTheSession: ; 0x9f4a3
writetext Text_CancelYourBattleRoomChallenge
yesorno
iffalse Script_ContinueAndBattleNextOpponent
writebyte BATTLETOWERACTION_CHALLENGECANCELED
- special BattleTowerAction
+ special Special_BattleTowerAction
writebyte BATTLETOWERACTION_06
- special BattleTowerAction
+ special Special_BattleTowerAction
closetext
- special FadeOutPalettes
- warpfacing UP, BATTLE_TOWER_1F, $7, $7
+ special Special_FadeOutPalettes
+ warpfacing UP, BATTLE_TOWER_1F, 7, 7
opentext
jump Script_BattleTowerHopeToServeYouAgain
Script_FailedBattleTowerChallenge:
pause 60
special Special_BattleTowerFade
- warpfacing UP, BATTLE_TOWER_1F, $7, $7
+ warpfacing UP, BATTLE_TOWER_1F, 7, 7
writebyte BATTLETOWERACTION_CHALLENGECANCELED
- special BattleTowerAction
+ special Special_BattleTowerAction
opentext
writetext Text_ThanksForVisiting
waitbutton
@@ -106,7 +106,7 @@ Script_FailedBattleTowerChallenge:
Script_BeatenAllTrainers: ; 0x9f4d9
pause 60
special Special_BattleTowerFade
- warpfacing UP, BATTLE_TOWER_1F, $7, $7
+ warpfacing UP, BATTLE_TOWER_1F, 7, 7
Script_BeatenAllTrainers2:
opentext
writetext Text_CongratulationsYouveBeatenAllTheTrainers
@@ -114,7 +114,7 @@ Script_BeatenAllTrainers2:
UnreferencedScript_0x9f4eb:
writebyte BATTLETOWERACTION_CHALLENGECANCELED
- special BattleTowerAction
+ special Special_BattleTowerAction
opentext
writetext Text_TooMuchTimeElapsedNoRegister
waitbutton
@@ -123,9 +123,9 @@ UnreferencedScript_0x9f4eb:
UnreferencedScript_0x9f4f7:
writebyte BATTLETOWERACTION_CHALLENGECANCELED
- special BattleTowerAction
+ special Special_BattleTowerAction
writebyte BATTLETOWERACTION_06
- special BattleTowerAction
+ special Special_BattleTowerAction
opentext
writetext Text_ThanksForVisiting
writetext Text_WeHopeToServeYouAgain
@@ -133,14 +133,12 @@ UnreferencedScript_0x9f4f7:
closetext
end
-
Text_ReturnedAfterSave_Mobile:
text "You'll be returned"
line "after you SAVE."
done
-
-BattleTowerBattleRoom_MapEventHeader:
+BattleTowerBattleRoom_MapEvents:
; filler
db 0, 0
diff --git a/maps/BattleTowerElevator.asm b/maps/BattleTowerElevator.asm
index 2327b31fa..f9f32dfae 100644
--- a/maps/BattleTowerElevator.asm
+++ b/maps/BattleTowerElevator.asm
@@ -1,7 +1,7 @@
const_value set 2
const BATTLETOWERELEVATOR_RECEPTIONIST
-BattleTowerElevator_MapScriptHeader:
+BattleTowerElevator_MapScripts:
.SceneScripts:
db 2
scene_script .Scene0
@@ -12,7 +12,7 @@ BattleTowerElevator_MapScriptHeader:
.Scene0:
priorityjump .RideElevator
- setscene $1
+ setscene 1
.Scene1:
end
@@ -22,7 +22,7 @@ BattleTowerElevator_MapScriptHeader:
applymovement BATTLETOWERELEVATOR_RECEPTIONIST, MovementData_BattleTowerElevatorReceptionistWalksIn
applymovement PLAYER, MovementData_BattleTowerElevatorPlayerWalksIn
writebyte BATTLETOWERACTION_0A
- special BattleTowerAction
+ special Special_BattleTowerAction
playsound SFX_ELEVATOR
earthquake 60
waitsfx
@@ -44,7 +44,7 @@ MovementData_BattleTowerElevatorPlayerWalksIn:
turn_head DOWN
step_end
-BattleTowerElevator_MapEventHeader:
+BattleTowerElevator_MapEvents:
; filler
db 0, 0
diff --git a/maps/BattleTowerHallway.asm b/maps/BattleTowerHallway.asm
index 41a3beb83..6b50783f5 100644
--- a/maps/BattleTowerHallway.asm
+++ b/maps/BattleTowerHallway.asm
@@ -1,7 +1,7 @@
const_value set 2
const BATTLETOWERHALLWAY_RECEPTIONIST
-BattleTowerHallway_MapScriptHeader:
+BattleTowerHallway_MapScripts:
.SceneScripts:
db 2
scene_script .Scene0
@@ -12,7 +12,7 @@ BattleTowerHallway_MapScriptHeader:
.Scene0:
priorityjump .ChooseBattleRoom
- setscene $1
+ setscene 1
.Scene1:
end
@@ -21,7 +21,6 @@ BattleTowerHallway_MapScriptHeader:
callasm .asm_load_battle_room
jump .WalkToChosenBattleRoom
-
.asm_load_battle_room
ld a, [rSVBK]
push af
@@ -35,7 +34,6 @@ BattleTowerHallway_MapScriptHeader:
ld [rSVBK], a
ret
-
; enter different rooms for different levels to battle against
; at least it should look like that
; because all warps lead to the same room
@@ -78,7 +76,7 @@ BattleTowerHallway_MapScriptHeader:
warpcheck
end
-BattleTowerHallway_MapEventHeader:
+BattleTowerHallway_MapEvents:
; filler
db 0, 0
@@ -99,4 +97,4 @@ BattleTowerHallway_MapEventHeader:
.ObjectEvents:
db 1
- object_event 11, 2, SPRITE_RECEPTIONIST, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BattleTowerHallway_MapEventHeader, -1
+ object_event 11, 2, SPRITE_RECEPTIONIST, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BattleTowerHallway_MapEvents, -1
diff --git a/maps/BattleTowerOutside.asm b/maps/BattleTowerOutside.asm
index 6ed01da6f..a61717fd0 100644
--- a/maps/BattleTowerOutside.asm
+++ b/maps/BattleTowerOutside.asm
@@ -4,14 +4,14 @@ const_value set 2
const BATTLETOWEROUTSIDE_SAILOR
const BATTLETOWEROUTSIDE_LASS
-BattleTowerOutside_MapScriptHeader:
+BattleTowerOutside_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 2
- dbw MAPCALLBACK_TILES, .Callback1
- dbw MAPCALLBACK_OBJECTS, .Callback2
+ callback MAPCALLBACK_TILES, .Callback1
+ callback MAPCALLBACK_OBJECTS, .Callback2
.Callback1:
return
@@ -126,7 +126,7 @@ BattleTowerOutsideText_DoorsOpen:
text "It's open!"
done
-BattleTowerOutside_MapEventHeader:
+BattleTowerOutside_MapEvents:
; filler
db 0, 0
diff --git a/maps/BillsHouse.asm b/maps/BillsHouse.asm
index 0dc2a7cd0..a4f2e0c0e 100644
--- a/maps/BillsHouse.asm
+++ b/maps/BillsHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const BILLSHOUSE_GRAMPS
-BillsHouse_MapScriptHeader:
+BillsHouse_MapScripts:
.SceneScripts:
db 0
@@ -353,7 +353,7 @@ BillsGrandpaPichuText:
line "evolves."
done
-BillsHouse_MapEventHeader:
+BillsHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/BlackthornCity.asm b/maps/BlackthornCity.asm
index c5cd10235..396599703 100644
--- a/maps/BlackthornCity.asm
+++ b/maps/BlackthornCity.asm
@@ -9,14 +9,14 @@ const_value set 2
const BLACKTHORNCITY_SANTOS
const BLACKTHORNCITY_COOLTRAINER_F2
-BlackthornCity_MapScriptHeader:
+BlackthornCity_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 2
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
- dbw MAPCALLBACK_OBJECTS, .Santos
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_OBJECTS, .Santos
.FlyPoint:
setflag ENGINE_FLYPOINT_BLACKTHORN
@@ -312,7 +312,7 @@ BlackthornCityTrainerTipsText:
cont "problem."
done
-BlackthornCity_MapEventHeader:
+BlackthornCity_MapEvents:
; filler
db 0, 0
diff --git a/maps/BlackthornDragonSpeechHouse.asm b/maps/BlackthornDragonSpeechHouse.asm
index 2e8bbfa0b..74621532f 100644
--- a/maps/BlackthornDragonSpeechHouse.asm
+++ b/maps/BlackthornDragonSpeechHouse.asm
@@ -2,7 +2,7 @@ const_value set 2
const BLACKTHORNDRAGONSPEECHHOUSE_GRANNY
const BLACKTHORNDRAGONSPEECHHOUSE_EKANS
-BlackthornDragonSpeechHouse_MapScriptHeader:
+BlackthornDragonSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -47,7 +47,7 @@ BlackthornDragonSpeechHouseDratiniText:
text "DRATINI: Draa!"
done
-BlackthornDragonSpeechHouse_MapEventHeader:
+BlackthornDragonSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/BlackthornEmysHouse.asm b/maps/BlackthornEmysHouse.asm
index c74db5f89..d8277c74f 100644
--- a/maps/BlackthornEmysHouse.asm
+++ b/maps/BlackthornEmysHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const BLACKTHORNEMYSHOUSE_EMY
-BlackthornEmysHouse_MapScriptHeader:
+BlackthornEmysHouse_MapScripts:
.SceneScripts:
db 0
@@ -19,7 +19,7 @@ Emy:
EmysHouseBookshelf:
jumpstd magazinebookshelf
-BlackthornEmysHouse_MapEventHeader:
+BlackthornEmysHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/BlackthornGym1F.asm b/maps/BlackthornGym1F.asm
index c640c2c06..25de39246 100644
--- a/maps/BlackthornGym1F.asm
+++ b/maps/BlackthornGym1F.asm
@@ -5,26 +5,26 @@ const_value set 2
const BLACKTHORNGYM1F_COOLTRAINER_F
const BLACKTHORNGYM1F_GYM_GUY
-BlackthornGym1F_MapScriptHeader:
+BlackthornGym1F_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_TILES, .Boulders
+ callback MAPCALLBACK_TILES, .Boulders
.Boulders:
checkevent EVENT_BOULDER_IN_BLACKTHORN_GYM_1
iffalse .skip1
- changeblock $8, $2, $3b
+ changeblock 8, 2, $3b ; fallen boulder 2
.skip1
checkevent EVENT_BOULDER_IN_BLACKTHORN_GYM_2
iffalse .skip2
- changeblock $2, $4, $3a
+ changeblock 2, 4, $3a ; fallen boulder 1
.skip2
checkevent EVENT_BOULDER_IN_BLACKTHORN_GYM_3
iffalse .skip3
- changeblock $8, $6, $3b
+ changeblock 8, 6, $3b ; fallen boulder 2
.skip3
return
@@ -39,7 +39,7 @@ BlackthornGymClairScript:
waitbutton
closetext
winlosstext ClairWinText, 0
- loadtrainer CLAIR, 1
+ loadtrainer CLAIR, CLAIR1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_CLAIR
@@ -70,7 +70,7 @@ BlackthornGymClairScript:
buttonsound
giveitem TM_DRAGONBREATH
iffalse .BagFull
- itemtotext TM_DRAGONBREATH, $0
+ itemtotext TM_DRAGONBREATH, MEM_BUFFER_0
writetext BlackthornGymText_ReceivedTM24
playsound SFX_ITEM
waitsfx
@@ -146,7 +146,7 @@ BlackthornGymStatue:
iftrue .Beaten
jumpstd gymstatue1
.Beaten:
- trainertotext CLAIR, 1, $1
+ trainertotext CLAIR, CLAIR1, MEM_BUFFER_1
jumpstd gymstatue2
ClairIntroText:
@@ -386,7 +386,7 @@ BlackthornGymGuyWinText:
cont "#MON CHAMPION!"
done
-BlackthornGym1F_MapEventHeader:
+BlackthornGym1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/BlackthornGym2F.asm b/maps/BlackthornGym2F.asm
index 6aa55a0e5..7d08bcebb 100644
--- a/maps/BlackthornGym2F.asm
+++ b/maps/BlackthornGym2F.asm
@@ -8,37 +8,36 @@ const_value set 2
const BLACKTHORNGYM2F_BOULDER5
const BLACKTHORNGYM2F_BOULDER6
-BlackthornGym2F_MapScriptHeader:
+BlackthornGym2F_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_CMDQUEUE, .Boulders
+ callback MAPCALLBACK_CMDQUEUE, .SetUpStoneTable
-.Boulders:
- writecmdqueue .BoulderCmdQueue
+.SetUpStoneTable:
+ writecmdqueue .CommandQueue
return
-.BoulderCmdQueue:
- dbw CMDQUEUE_STONETABLE, .BoulderTable ; check if any stones are sitting on a warp
- dw 0 ; filler
+.CommandQueue:
+ cmdqueue CMDQUEUE_STONETABLE, .StoneTable ; check if any stones are sitting on a warp
-.BoulderTable:
- stonetable 5, BLACKTHORNGYM2F_BOULDER1, .Disappear4
- stonetable 3, BLACKTHORNGYM2F_BOULDER2, .Disappear5
- stonetable 4, BLACKTHORNGYM2F_BOULDER3, .Disappear6
+.StoneTable:
+ stonetable 5, BLACKTHORNGYM2F_BOULDER1, .Boulder1
+ stonetable 3, BLACKTHORNGYM2F_BOULDER2, .Boulder2
+ stonetable 4, BLACKTHORNGYM2F_BOULDER3, .Boulder3
db -1 ; end
-.Disappear4:
+.Boulder1:
disappear BLACKTHORNGYM2F_BOULDER1
jump .Fall
-.Disappear5:
+.Boulder2:
disappear BLACKTHORNGYM2F_BOULDER2
jump .Fall
-.Disappear6:
+.Boulder3:
disappear BLACKTHORNGYM2F_BOULDER3
jump .Fall
@@ -56,7 +55,6 @@ BlackthornGym2F_MapScriptHeader:
earthquake 80
end
-
BlackthornGymBoulder:
jumpstd strengthboulder
@@ -127,7 +125,7 @@ BlackthornGym2FBoulderFellText:
line "through!"
done
-BlackthornGym2F_MapEventHeader:
+BlackthornGym2F_MapEvents:
; filler
db 0, 0
diff --git a/maps/BlackthornMart.asm b/maps/BlackthornMart.asm
index d6bf89c2c..4b4b74324 100644
--- a/maps/BlackthornMart.asm
+++ b/maps/BlackthornMart.asm
@@ -3,7 +3,7 @@ const_value set 2
const BLACKTHORNMART_COOLTRAINER_M
const BLACKTHORNMART_BLACK_BELT
-BlackthornMart_MapScriptHeader:
+BlackthornMart_MapScripts:
.SceneScripts:
db 0
@@ -46,7 +46,7 @@ BlackthornMartBlackBeltText:
cont "REPEL sprays."
done
-BlackthornMart_MapEventHeader:
+BlackthornMart_MapEvents:
; filler
db 0, 0
diff --git a/maps/BlackthornPokecenter1F.asm b/maps/BlackthornPokecenter1F.asm
index af2a4e00b..45c925561 100644
--- a/maps/BlackthornPokecenter1F.asm
+++ b/maps/BlackthornPokecenter1F.asm
@@ -4,7 +4,7 @@ const_value set 2
const BLACKTHORNPOKECENTER1F_TWIN
const BLACKTHORNPOKECENTER1F_COOLTRAINER_M
-BlackthornPokecenter1F_MapScriptHeader:
+BlackthornPokecenter1F_MapScripts:
.SceneScripts:
db 0
@@ -49,7 +49,7 @@ BlackthornPokecenter1FTwinText:
cont "forget an HM move."
done
-BlackthornPokecenter1F_MapEventHeader:
+BlackthornPokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/BluesHouse.asm b/maps/BluesHouse.asm
index 9a40a68f6..f31fefb9d 100644
--- a/maps/BluesHouse.asm
+++ b/maps/BluesHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const BLUESHOUSE_DAISY
-BluesHouse_MapScriptHeader:
+BluesHouse_MapScripts:
.SceneScripts:
db 0
@@ -27,20 +27,20 @@ DaisyScript:
writetext DaisyWhichMonText
waitbutton
special Special_DaisyMassage
- if_equal 0, .Refused
- if_equal 1, .CantGroomEgg
+ if_equal $0, .Refused
+ if_equal $1, .CantGroomEgg
setflag ENGINE_TEA_IN_BLUES_HOUSE
writetext DaisyAlrightText
waitbutton
closetext
- special FadeOutPalettes
+ special Special_FadeOutPalettes
playmusic MUSIC_HEAL
pause 60
- special FadeInPalettes
+ special Special_FadeInPalettes
special RestartMapMusic
opentext
writetext GroomedMonLooksContentText
- special PlayCurMonCry
+ special Special_PlayCurMonCry
buttonsound
writetext DaisyAllDoneText
waitbutton
@@ -144,7 +144,7 @@ DaisyCantGroomEggText:
cont "groom an EGG."
done
-BluesHouse_MapEventHeader:
+BluesHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/BrunosRoom.asm b/maps/BrunosRoom.asm
index 784f06185..9ddbb5664 100644
--- a/maps/BrunosRoom.asm
+++ b/maps/BrunosRoom.asm
@@ -1,7 +1,7 @@
const_value set 2
const BRUNOSROOM_BRUNO
-BrunosRoom_MapScriptHeader:
+BrunosRoom_MapScripts:
.SceneScripts:
db 2
scene_script .LockDoor
@@ -9,7 +9,7 @@ BrunosRoom_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_TILES, .BrunosRoomDoors
+ callback MAPCALLBACK_TILES, .BrunosRoomDoors
.LockDoor:
priorityjump .BrunosDoorLocksBehindYou
@@ -20,24 +20,24 @@ BrunosRoom_MapScriptHeader:
.BrunosRoomDoors:
checkevent EVENT_BRUNOS_ROOM_ENTRANCE_CLOSED
- iffalse .KeepDoorClosed
- changeblock $4, $e, $2a
-.KeepDoorClosed:
+ iffalse .KeepEntranceOpen
+ changeblock 4, 14, $2a ; wall
+.KeepEntranceOpen:
checkevent EVENT_BRUNOS_ROOM_EXIT_OPEN
- iffalse .OpenDoor
- changeblock $4, $2, $16
-.OpenDoor:
+ iffalse .KeepExitClosed
+ changeblock 4, 2, $16 ; open door
+.KeepExitClosed:
return
.BrunosDoorLocksBehindYou:
- applymovement PLAYER, MovementData_0x1809f9
+ applymovement PLAYER, BrunosRoom_EnterMovement
refreshscreen $86
playsound SFX_STRENGTH
earthquake 80
- changeblock $4, $e, $2a
+ changeblock 4, 14, $2a ; wall
reloadmappart
closetext
- setscene $1
+ setscene 1
setevent EVENT_BRUNOS_ROOM_ENTRANCE_CLOSED
waitsfx
end
@@ -46,12 +46,12 @@ BrunoScript_Battle:
faceplayer
opentext
checkevent EVENT_BEAT_ELITE_4_BRUNO
- iftrue UnknownScript_0x1809f3
+ iftrue BrunoScript_AfterBattle
writetext BrunoScript_BrunoBeforeText
waitbutton
closetext
winlosstext BrunoScript_BrunoBeatenText, 0
- loadtrainer BRUNO, 1
+ loadtrainer BRUNO, BRUNO1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_ELITE_4_BRUNO
@@ -60,20 +60,20 @@ BrunoScript_Battle:
waitbutton
closetext
playsound SFX_ENTER_DOOR
- changeblock $4, $2, $16
+ changeblock 4, 2, $16 ; open door
reloadmappart
closetext
setevent EVENT_BRUNOS_ROOM_EXIT_OPEN
waitsfx
end
-UnknownScript_0x1809f3:
+BrunoScript_AfterBattle:
writetext BrunoScript_BrunoDefeatText
waitbutton
closetext
end
-MovementData_0x1809f9:
+BrunosRoom_EnterMovement:
step UP
step UP
step UP
@@ -124,7 +124,7 @@ BrunoScript_BrunoDefeatText:
line "challenge!"
done
-BrunosRoom_MapEventHeader:
+BrunosRoom_MapEvents:
; filler
db 0, 0
diff --git a/maps/BurnedTower1F.asm b/maps/BurnedTower1F.asm
index 69b71d9e3..f8e5ef52f 100644
--- a/maps/BurnedTower1F.asm
+++ b/maps/BurnedTower1F.asm
@@ -5,7 +5,7 @@ const_value set 2
const BURNEDTOWER1F_MORTY
const BURNEDTOWER1F_POKE_BALL
-BurnedTower1F_MapScriptHeader:
+BurnedTower1F_MapScripts:
.SceneScripts:
db 3
scene_script .EusineScene
@@ -14,7 +14,7 @@ BurnedTower1F_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_TILES, .HoleAndLadder
+ callback MAPCALLBACK_TILES, .HoleAndLadder
.EusineScene:
priorityjump .MeetEusine
@@ -28,13 +28,13 @@ BurnedTower1F_MapScriptHeader:
.HoleAndLadder:
checkevent EVENT_HOLE_IN_BURNED_TOWER
- iftrue .Next
- changeblock $a, $8, $32 ; hole
-.Next:
+ iftrue .KeepHoleOpen
+ changeblock 10, 8, $32 ; floor
+.KeepHoleOpen:
checkevent EVENT_RELEASED_THE_BEASTS
- iftrue .Done
- changeblock $6, $e, $9 ; ladder
-.Done:
+ iftrue .HideBasement
+ changeblock 6, 14, $09 ; ladder
+.HideBasement:
return
.MeetEusine:
@@ -45,8 +45,8 @@ BurnedTower1F_MapScriptHeader:
writetext BurnedTower1FEusineIntroText
waitbutton
closetext
- moveobject BURNEDTOWER1F_EUSINE, $9, $e
- setscene $1
+ moveobject BURNEDTOWER1F_EUSINE, 9, 14
+ setscene 1
end
BurnedTowerRivalBattleScript:
@@ -98,7 +98,7 @@ BurnedTowerRivalBattleScript:
writetext BurnedTowerSilver_AfterText1
waitbutton
closetext
- setscene $2
+ setscene 2
setevent EVENT_RIVAL_BURNED_TOWER
special Special_FadeOutMusic
pause 15
@@ -106,7 +106,7 @@ BurnedTowerRivalBattleScript:
showemote EMOTE_SHOCK, PLAYER, 15
playsound SFX_ENTER_DOOR
waitsfx
- changeblock $a, $8, $25
+ changeblock 10, 8, $25 ; hole
reloadmappart
pause 15
applymovement PLAYER, BurnedTower1FMovement_PlayerStartsToFall
@@ -131,12 +131,10 @@ BurnedTower1FRock:
jumpstd smashrock
BurnedTower1FHiddenEther:
- dwb EVENT_BURNED_TOWER_1F_HIDDEN_ETHER, ETHER
-
+ hiddenitem EVENT_BURNED_TOWER_1F_HIDDEN_ETHER, ETHER
BurnedTower1FHiddenUltraBall:
- dwb EVENT_BURNED_TOWER_1F_HIDDEN_ULTRA_BALL, ULTRA_BALL
-
+ hiddenitem EVENT_BURNED_TOWER_1F_HIDDEN_ULTRA_BALL, ULTRA_BALL
BurnedTower1FHPUp:
itemball HP_UP
@@ -162,7 +160,7 @@ BurnedTower1FEusineMovement:
step_end
BurnedTowerSilver_BeforeText:
- text "<......> <......> <......>"
+ text "<……> <……> <……>"
para "…Oh, it's you."
@@ -279,7 +277,7 @@ BurnedTower1FMortyText:
line "TOWER with him."
done
-BurnedTower1F_MapEventHeader:
+BurnedTower1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/BurnedTowerB1F.asm b/maps/BurnedTowerB1F.asm
index 07f5c3d6e..3ad1d60f4 100644
--- a/maps/BurnedTowerB1F.asm
+++ b/maps/BurnedTowerB1F.asm
@@ -9,7 +9,7 @@ const_value set 2
const BURNEDTOWERB1F_POKE_BALL
const BURNEDTOWERB1F_EUSINE
-BurnedTowerB1F_MapScriptHeader:
+BurnedTowerB1F_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -17,7 +17,7 @@ BurnedTowerB1F_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_TILES, .LadderCallback
+ callback MAPCALLBACK_TILES, .LadderCallback
.DummyScene0:
end
@@ -27,9 +27,9 @@ BurnedTowerB1F_MapScriptHeader:
.LadderCallback:
checkevent EVENT_RELEASED_THE_BEASTS
- iftrue .NoChange
- changeblock $6, $e, $2
-.NoChange:
+ iftrue .HideLadder
+ changeblock 6, 14, $02 ; floor
+.HideLadder:
return
ReleaseTheBeasts:
@@ -81,22 +81,22 @@ ReleaseTheBeasts:
disappear BURNEDTOWERB1F_SUICUNE1
waitsfx
special RestartMapMusic
- setscene $1
+ setscene 1
setevent EVENT_RELEASED_THE_BEASTS
- special InitRoamMons
- setmapscene ECRUTEAK_GYM, $1
- setmapscene CIANWOOD_CITY, $1
+ special Special_InitRoamMons
+ setmapscene ECRUTEAK_GYM, 1
+ setmapscene CIANWOOD_CITY, 1
clearevent EVENT_SAW_SUICUNE_AT_CIANWOOD_CITY
setevent EVENT_ECRUTEAK_GYM_GRAMPS
clearevent EVENT_ECRUTEAK_CITY_GRAMPS
setevent EVENT_BURNED_TOWER_MORTY
setevent EVENT_BURNED_TOWER_1F_EUSINE
appear BURNEDTOWERB1F_EUSINE
- refreshscreen $0
- changeblock $6, $e, $1b
+ refreshscreen
+ changeblock 6, 14, $1b ; ladder
reloadmappart
closetext
- setscene $1
+ setscene 1
end
BurnedTowerB1FEusine:
@@ -106,7 +106,7 @@ BurnedTowerB1FEusine:
waitbutton
closetext
checkcode VAR_FACING
- if_equal $1, .Movement
+ if_equal UP, .Movement
applymovement BURNEDTOWERB1F_EUSINE, BurnedTowerB1FEusineMovement1
jump UnknownScript_0x18622a
@@ -235,7 +235,7 @@ BurnedTowerB1FEusineText:
para "Farewell!"
done
-BurnedTowerB1F_MapEventHeader:
+BurnedTowerB1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeladonCafe.asm b/maps/CeladonCafe.asm
index de89b1953..d30baf17d 100644
--- a/maps/CeladonCafe.asm
+++ b/maps/CeladonCafe.asm
@@ -5,7 +5,7 @@ const_value set 2
const CELADONCAFE_FISHER3
const CELADONCAFE_TEACHER
-CeladonCafe_MapScriptHeader:
+CeladonCafe_MapScripts:
.SceneScripts:
db 0
@@ -96,7 +96,7 @@ CeladonCafeTrashcan:
giveitem LEFTOVERS
iffalse .PackFull
opentext
- itemtotext LEFTOVERS, $0
+ itemtotext LEFTOVERS, MEM_BUFFER_0
writetext FoundLeftoversText
playsound SFX_ITEM
waitsfx
@@ -107,7 +107,7 @@ CeladonCafeTrashcan:
.PackFull:
opentext
- itemtotext LEFTOVERS, $0
+ itemtotext LEFTOVERS, MEM_BUFFER_0
writetext FoundLeftoversText
buttonsound
writetext NoRoomForLeftoversText
@@ -207,7 +207,7 @@ NoRoomForLeftoversText:
line "hold another item…"
done
-CeladonCafe_MapEventHeader:
+CeladonCafe_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeladonCity.asm b/maps/CeladonCity.asm
index bfc5265ea..8075a5343 100644
--- a/maps/CeladonCity.asm
+++ b/maps/CeladonCity.asm
@@ -9,13 +9,13 @@ const_value set 2
const CELADONCITY_TEACHER2
const CELADONCITY_LASS
-CeladonCity_MapScriptHeader:
+CeladonCity_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
.FlyPoint:
setflag ENGINE_FLYPOINT_CELADON
@@ -75,7 +75,7 @@ CeladonCityPokecenterSign:
jumpstd pokecentersign
CeladonCityHiddenPpUp:
- dwb EVENT_CELADON_CITY_HIDDEN_PP_UP, PP_UP
+ hiddenitem EVENT_CELADON_CITY_HIDDEN_PP_UP, PP_UP
CeladonCityFisherText:
text "This POLIWRATH is"
@@ -234,7 +234,7 @@ CeladonCityTrainerTipsText:
cont "STORE!"
done
-CeladonCity_MapEventHeader:
+CeladonCity_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeladonDeptStore1F.asm b/maps/CeladonDeptStore1F.asm
index 7bf379a0e..7f838179d 100644
--- a/maps/CeladonDeptStore1F.asm
+++ b/maps/CeladonDeptStore1F.asm
@@ -3,7 +3,7 @@ const_value set 2
const CELADONDEPTSTORE1F_GENTLEMAN
const CELADONDEPTSTORE1F_TEACHER
-CeladonDeptStore1F_MapScriptHeader:
+CeladonDeptStore1F_MapScripts:
.SceneScripts:
db 0
@@ -73,7 +73,7 @@ CeladonDeptStore1FDirectoryText:
line " SQUARE"
done
-CeladonDeptStore1F_MapEventHeader:
+CeladonDeptStore1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeladonDeptStore2F.asm b/maps/CeladonDeptStore2F.asm
index db93e4ee7..eb9bb8dbc 100644
--- a/maps/CeladonDeptStore2F.asm
+++ b/maps/CeladonDeptStore2F.asm
@@ -4,7 +4,7 @@ const_value set 2
const CELADONDEPTSTORE2F_POKEFAN_M
const CELADONDEPTSTORE2F_YOUNGSTER
-CeladonDeptStore2F_MapScriptHeader:
+CeladonDeptStore2F_MapScripts:
.SceneScripts:
db 0
@@ -68,7 +68,7 @@ CeladonDeptStore2FDirectoryText:
line " MARKET"
done
-CeladonDeptStore2F_MapEventHeader:
+CeladonDeptStore2F_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeladonDeptStore3F.asm b/maps/CeladonDeptStore3F.asm
index cf941d4c8..01cd14f57 100644
--- a/maps/CeladonDeptStore3F.asm
+++ b/maps/CeladonDeptStore3F.asm
@@ -5,7 +5,7 @@ const_value set 2
const CELADONDEPTSTORE3F_GAMEBOY_KID2
const CELADONDEPTSTORE3F_SUPER_NERD
-CeladonDeptStore3F_MapScriptHeader:
+CeladonDeptStore3F_MapScripts:
.SceneScripts:
db 0
@@ -94,7 +94,7 @@ CeladonDeptStore3FDirectoryText:
line "Stronger!"
done
-CeladonDeptStore3F_MapEventHeader:
+CeladonDeptStore3F_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeladonDeptStore4F.asm b/maps/CeladonDeptStore4F.asm
index dff331264..e3869c990 100644
--- a/maps/CeladonDeptStore4F.asm
+++ b/maps/CeladonDeptStore4F.asm
@@ -3,7 +3,7 @@ const_value set 2
const CELADONDEPTSTORE4F_SUPER_NERD
const CELADONDEPTSTORE4F_YOUNGSTER
-CeladonDeptStore4F_MapScriptHeader:
+CeladonDeptStore4F_MapScripts:
.SceneScripts:
db 0
@@ -50,7 +50,7 @@ CeladonDeptStore4FDirectoryText:
para "4F: WISEMAN GIFTS"
done
-CeladonDeptStore4F_MapEventHeader:
+CeladonDeptStore4F_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeladonDeptStore5F.asm b/maps/CeladonDeptStore5F.asm
index b0fa491b5..a14e8c7be 100644
--- a/maps/CeladonDeptStore5F.asm
+++ b/maps/CeladonDeptStore5F.asm
@@ -5,7 +5,7 @@ const_value set 2
const CELADONDEPTSTORE5F_SAILOR
const CELADONDEPTSTORE5F_TEACHER
-CeladonDeptStore5F_MapScriptHeader:
+CeladonDeptStore5F_MapScripts:
.SceneScripts:
db 0
@@ -71,7 +71,7 @@ CeladonDeptStore5FDirectoryText:
text "5F: DRUG STORE"
done
-CeladonDeptStore5F_MapEventHeader:
+CeladonDeptStore5F_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeladonDeptStore6F.asm b/maps/CeladonDeptStore6F.asm
index c94ef993e..5a5e37afc 100644
--- a/maps/CeladonDeptStore6F.asm
+++ b/maps/CeladonDeptStore6F.asm
@@ -2,16 +2,16 @@ const_value set 2
const CELADONDEPTSTORE6F_SUPER_NERD
const CELADONDEPTSTORE6F_YOUNGSTER
-CeladonDeptStore6F_MapScriptHeader:
+CeladonDeptStore6F_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_TILES, .Callback
+ callback MAPCALLBACK_TILES, .HideRooftopStairs
-.Callback:
- changeblock $c, $0, $3
+.HideRooftopStairs:
+ changeblock 12, 0, $03 ; wall
return
CeladonDeptStore6FSuperNerdScript:
@@ -24,41 +24,41 @@ CeladonDeptStore6FVendingMachine:
opentext
writetext CeladonVendingText
.Start:
- special PlaceMoneyTopRight
+ special Special_PlaceMoneyTopRight
loadmenudata .MenuData
verticalmenu
closewindow
- if_equal $1, .FreshWater
- if_equal $2, .SodaPop
- if_equal $3, .Lemonade
+ if_equal 1, .FreshWater
+ if_equal 2, .SodaPop
+ if_equal 3, .Lemonade
closetext
end
.FreshWater:
- checkmoney $0, 200
- if_equal $2, .NotEnoughMoney
+ checkmoney YOUR_MONEY, 200
+ if_equal HAVE_LESS, .NotEnoughMoney
giveitem FRESH_WATER
iffalse .NotEnoughSpace
- takemoney $0, 200
- itemtotext FRESH_WATER, $0
+ takemoney YOUR_MONEY, 200
+ itemtotext FRESH_WATER, MEM_BUFFER_0
jump .VendItem
.SodaPop:
- checkmoney $0, 300
- if_equal $2, .NotEnoughMoney
+ checkmoney YOUR_MONEY, 300
+ if_equal HAVE_LESS, .NotEnoughMoney
giveitem SODA_POP
iffalse .NotEnoughSpace
- takemoney $0, 300
- itemtotext SODA_POP, $0
+ takemoney YOUR_MONEY, 300
+ itemtotext SODA_POP, MEM_BUFFER_0
jump .VendItem
.Lemonade:
- checkmoney $0, 350
- if_equal $2, .NotEnoughMoney
+ checkmoney YOUR_MONEY, 350
+ if_equal HAVE_LESS, .NotEnoughMoney
giveitem LEMONADE
iffalse .NotEnoughSpace
- takemoney $0, 350
- itemtotext LEMONADE, $0
+ takemoney YOUR_MONEY, 350
+ itemtotext LEMONADE, MEM_BUFFER_0
jump .VendItem
.VendItem:
@@ -80,21 +80,19 @@ CeladonDeptStore6FVendingMachine:
jump .Start
.MenuData:
- db $40 ; flags
- db 02, 00 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 2, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
.MenuData2:
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 4 ; items
db "FRESH WATER ¥200@"
db "SODA POP ¥300@"
db "LEMONADE ¥350@"
db "CANCEL@"
-
CeladonDeptStore6FDirectory:
jumptext CeladonDeptStore6FDirectoryText
@@ -112,7 +110,7 @@ CeladonClangText:
para "@"
text_from_ram StringBuffer3
- text ""
+ text_start
line "popped out."
done
@@ -147,7 +145,7 @@ CeladonDeptStore6FDirectoryText:
line "VENDING MACHINES"
done
-CeladonDeptStore6F_MapEventHeader:
+CeladonDeptStore6F_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeladonDeptStoreElevator.asm b/maps/CeladonDeptStoreElevator.asm
index d199bb734..b5045880b 100644
--- a/maps/CeladonDeptStoreElevator.asm
+++ b/maps/CeladonDeptStoreElevator.asm
@@ -1,4 +1,4 @@
-CeladonDeptStoreElevator_MapScriptHeader:
+CeladonDeptStoreElevator_MapScripts:
.SceneScripts:
db 0
@@ -25,9 +25,9 @@ CeladonDeptStoreElevatorData:
elevfloor FLOOR_4F, 3, CELADON_DEPT_STORE_4F
elevfloor FLOOR_5F, 3, CELADON_DEPT_STORE_5F
elevfloor FLOOR_6F, 2, CELADON_DEPT_STORE_6F
- db $ff ; end
+ db -1 ; end
-CeladonDeptStoreElevator_MapEventHeader:
+CeladonDeptStoreElevator_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeladonGameCorner.asm b/maps/CeladonGameCorner.asm
index d35b1a45b..5d3382f53 100644
--- a/maps/CeladonGameCorner.asm
+++ b/maps/CeladonGameCorner.asm
@@ -9,7 +9,7 @@ const_value set 2
const CELADONGAMECORNER_GYM_GUY
const CELADONGAMECORNER_GRAMPS
-CeladonGameCorner_MapScriptHeader:
+CeladonGameCorner_MapScripts:
.SceneScripts:
db 0
@@ -59,8 +59,8 @@ CeladonGameCornerFisherScript:
checkitem COIN_CASE
iffalse .NoCoinCase
checkcoins MAX_COINS - 1
- if_equal $0, .FullCoinCase
- stringtotext .coinname, $1
+ if_equal HAVE_MORE, .FullCoinCase
+ stringtotext .coinname, MEM_BUFFER_1
scall .GiveCoins
givecoins 18
setevent EVENT_GOT_COINS_FROM_GAMBLER_AT_CELADON
@@ -111,23 +111,23 @@ CeladonGameCornerPoster2Script:
jumptext CeladonGameCornerPoster2Text
CeladonGameCornerLuckySlotMachineScript:
- random $6
- if_equal $0, CeladonGameCornerSlotMachineScript
- refreshscreen $0
- writebyte $0
+ random 6
+ if_equal 0, CeladonGameCornerSlotMachineScript
+ refreshscreen
+ writebyte FALSE
special Special_SlotMachine
closetext
end
CeladonGameCornerSlotMachineScript:
- refreshscreen $0
- writebyte $1
+ refreshscreen
+ writebyte TRUE
special Special_SlotMachine
closetext
end
CeladonGameCornerCardFlipScript:
- refreshscreen $0
+ refreshscreen
special Special_CardFlip
closetext
end
@@ -144,7 +144,7 @@ MapCeladonGameCornerSignpost9Script:
end
MovementData_0x721cd:
-; Unreferenced.
+; unused
step RIGHT
turn_head LEFT
step_end
@@ -281,7 +281,7 @@ UnknownText_0x72567:
para "Huh? It's empty!"
done
-CeladonGameCorner_MapEventHeader:
+CeladonGameCorner_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeladonGameCornerPrizeRoom.asm b/maps/CeladonGameCornerPrizeRoom.asm
index 7f74c684f..1caed4b19 100644
--- a/maps/CeladonGameCornerPrizeRoom.asm
+++ b/maps/CeladonGameCornerPrizeRoom.asm
@@ -2,7 +2,7 @@ const_value set 2
const CELADONGAMECORNERPRIZEROOM_GENTLEMAN
const CELADONGAMECORNERPRIZEROOM_PHARMACIST
-CeladonGameCornerPrizeRoom_MapScriptHeader:
+CeladonGameCornerPrizeRoom_MapScripts:
.SceneScripts:
db 0
@@ -15,7 +15,7 @@ CeladonGameCornerPrizeRoomGentlemanScript:
CeladonGameCornerPrizeRoomPharmacistScript:
jumptextfaceplayer CeladonGameCornerPrizeRoomPharmacistText
-GoldenrodGameCornerTMVendor:
+CeladonGameCornerPrizeRoomTMVendor:
faceplayer
opentext
writetext CeladonPrizeRoom_PrizeVendorIntroText
@@ -28,15 +28,15 @@ CeladonPrizeRoom_tmcounterloop:
loadmenudata CeladonPrizeRoom_TMMenuDataHeader
verticalmenu
closewindow
- if_equal $1, .doubleteam
- if_equal $2, .psychic
- if_equal $3, .hyperbeam
+ if_equal 1, .doubleteam
+ if_equal 2, .psychic
+ if_equal 3, .hyperbeam
jump CeladonPrizeRoom_cancel
.doubleteam
checkcoins 1500
- if_equal $2, CeladonPrizeRoom_notenoughcoins
- itemtotext TM_DOUBLE_TEAM, $0
+ if_equal HAVE_LESS, CeladonPrizeRoom_notenoughcoins
+ itemtotext TM_DOUBLE_TEAM, MEM_BUFFER_0
scall CeladonPrizeRoom_askbuy
iffalse CeladonPrizeRoom_cancel
giveitem TM_DOUBLE_TEAM
@@ -46,8 +46,8 @@ CeladonPrizeRoom_tmcounterloop:
.psychic
checkcoins 3500
- if_equal $2, CeladonPrizeRoom_notenoughcoins
- itemtotext TM_PSYCHIC_M, $0
+ if_equal HAVE_LESS, CeladonPrizeRoom_notenoughcoins
+ itemtotext TM_PSYCHIC_M, MEM_BUFFER_0
scall CeladonPrizeRoom_askbuy
iffalse CeladonPrizeRoom_cancel
giveitem TM_PSYCHIC_M
@@ -57,8 +57,8 @@ CeladonPrizeRoom_tmcounterloop:
.hyperbeam
checkcoins 7500
- if_equal $2, CeladonPrizeRoom_notenoughcoins
- itemtotext TM_HYPER_BEAM, $0
+ if_equal HAVE_LESS, CeladonPrizeRoom_notenoughcoins
+ itemtotext TM_HYPER_BEAM, MEM_BUFFER_0
scall CeladonPrizeRoom_askbuy
iffalse CeladonPrizeRoom_cancel
giveitem TM_HYPER_BEAM
@@ -102,24 +102,21 @@ CeladonPrizeRoom_NoCoinCase:
closetext
end
-
CeladonPrizeRoom_TMMenuDataHeader:
- db $40 ; flags
- db 02, 00 ; start coords
- db 11, 15 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 2, 15, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
.MenuData2:
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 4 ; items
db "TM32 1500@"
db "TM29 3500@"
db "TM15 7500@"
db "CANCEL@"
-
-GoldenrodGameCornerPokemonVendor:
+CeladonGameCornerPrizeRoomPokemonVendor:
faceplayer
opentext
writetext CeladonPrizeRoom_PrizeVendorIntroText
@@ -132,17 +129,17 @@ GoldenrodGameCornerPokemonVendor:
loadmenudata .MenuDataHeader
verticalmenu
closewindow
- if_equal $1, .pikachu
- if_equal $2, .porygon
- if_equal $3, .larvitar
+ if_equal 1, .pikachu
+ if_equal 2, .porygon
+ if_equal 3, .larvitar
jump CeladonPrizeRoom_cancel
.pikachu
checkcoins 2222
- if_equal $2, CeladonPrizeRoom_notenoughcoins
+ if_equal HAVE_LESS, CeladonPrizeRoom_notenoughcoins
checkcode VAR_PARTYCOUNT
- if_equal $6, CeladonPrizeRoom_notenoughroom
- pokenamemem PIKACHU, $0
+ if_equal PARTY_LENGTH, CeladonPrizeRoom_notenoughroom
+ pokenamemem PIKACHU, MEM_BUFFER_0
scall CeladonPrizeRoom_askbuy
iffalse CeladonPrizeRoom_cancel
waitsfx
@@ -157,10 +154,10 @@ GoldenrodGameCornerPokemonVendor:
.porygon
checkcoins 5555
- if_equal $2, CeladonPrizeRoom_notenoughcoins
+ if_equal HAVE_LESS, CeladonPrizeRoom_notenoughcoins
checkcode VAR_PARTYCOUNT
- if_equal $6, CeladonPrizeRoom_notenoughroom
- pokenamemem PORYGON, $0
+ if_equal PARTY_LENGTH, CeladonPrizeRoom_notenoughroom
+ pokenamemem PORYGON, MEM_BUFFER_0
scall CeladonPrizeRoom_askbuy
iffalse CeladonPrizeRoom_cancel
waitsfx
@@ -175,10 +172,10 @@ GoldenrodGameCornerPokemonVendor:
.larvitar
checkcoins 8888
- if_equal $2, CeladonPrizeRoom_notenoughcoins
+ if_equal HAVE_LESS, CeladonPrizeRoom_notenoughcoins
checkcode VAR_PARTYCOUNT
- if_equal $6, CeladonPrizeRoom_notenoughroom
- pokenamemem LARVITAR, $0
+ if_equal PARTY_LENGTH, CeladonPrizeRoom_notenoughroom
+ pokenamemem LARVITAR, MEM_BUFFER_0
scall CeladonPrizeRoom_askbuy
iffalse CeladonPrizeRoom_cancel
waitsfx
@@ -191,23 +188,20 @@ GoldenrodGameCornerPokemonVendor:
takecoins 8888
jump .loop
-
.MenuDataHeader:
- db $40 ; flags
- db 02, 00 ; start coords
- db 11, 17 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 2, 17, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
.MenuData2:
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 4 ; items
db "PIKACHU 2222@"
db "PORYGON 5555@"
db "LARVITAR 8888@"
db "CANCEL@"
-
CeladonGameCornerPrizeRoomGentlemanText:
text "I wanted PORYGON,"
line "but I was short by"
@@ -269,7 +263,7 @@ CeladonPrizeRoom_NoCoinCaseText:
line "a COIN CASE."
done
-CeladonGameCornerPrizeRoom_MapEventHeader:
+CeladonGameCornerPrizeRoom_MapEvents:
; filler
db 0, 0
@@ -283,8 +277,8 @@ CeladonGameCornerPrizeRoom_MapEventHeader:
.BGEvents:
db 2
- bg_event 2, 1, BGEVENT_READ, GoldenrodGameCornerTMVendor
- bg_event 4, 1, BGEVENT_READ, GoldenrodGameCornerPokemonVendor
+ bg_event 2, 1, BGEVENT_READ, CeladonGameCornerPrizeRoomTMVendor
+ bg_event 4, 1, BGEVENT_READ, CeladonGameCornerPrizeRoomPokemonVendor
.ObjectEvents:
db 2
diff --git a/maps/CeladonGym.asm b/maps/CeladonGym.asm
index cabb2d45c..53f09324a 100644
--- a/maps/CeladonGym.asm
+++ b/maps/CeladonGym.asm
@@ -6,7 +6,7 @@ const_value set 2
const CELADONGYM_TWIN1
const CELADONGYM_TWIN2
-CeladonGym_MapScriptHeader:
+CeladonGym_MapScripts:
.SceneScripts:
db 0
@@ -22,7 +22,7 @@ ErikaScript_0x72a6a:
waitbutton
closetext
winlosstext UnknownText_0x72c3e, 0
- loadtrainer ERIKA, 1
+ loadtrainer ERIKA, ERIKA1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_ERIKA
@@ -109,7 +109,7 @@ CeladonGymStatue:
iftrue .Beaten
jumpstd gymstatue1
.Beaten:
- trainertotext ERIKA, 1, $1
+ trainertotext ERIKA, ERIKA1, MEM_BUFFER_1
jumpstd gymstatue2
UnknownText_0x72b28:
@@ -267,7 +267,7 @@ TwinsJoandzoe2AfterBattleText:
line "much stronger!"
done
-CeladonGym_MapEventHeader:
+CeladonGym_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeladonMansion1F.asm b/maps/CeladonMansion1F.asm
index 892401afe..4f6e0f94d 100644
--- a/maps/CeladonMansion1F.asm
+++ b/maps/CeladonMansion1F.asm
@@ -4,7 +4,7 @@ const_value set 2
const CELADONMANSION1F_CLEFAIRY
const CELADONMANSION1F_GROWLITHE2
-CeladonMansion1F_MapScriptHeader:
+CeladonMansion1F_MapScripts:
.SceneScripts:
db 0
@@ -74,7 +74,7 @@ CeladonMansionManagersSuiteSignText:
line "MANAGER'S SUITE"
done
-CeladonMansion1F_MapEventHeader:
+CeladonMansion1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeladonMansion2F.asm b/maps/CeladonMansion2F.asm
index 7af437c21..e463c5b07 100644
--- a/maps/CeladonMansion2F.asm
+++ b/maps/CeladonMansion2F.asm
@@ -1,4 +1,4 @@
-CeladonMansion2F_MapScriptHeader:
+CeladonMansion2F_MapScripts:
.SceneScripts:
db 0
@@ -49,7 +49,7 @@ CeladonMansion2FSignText:
line "MEETING ROOM"
done
-CeladonMansion2F_MapEventHeader:
+CeladonMansion2F_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeladonMansion3F.asm b/maps/CeladonMansion3F.asm
index 5274b5b38..bb6bb2f3f 100644
--- a/maps/CeladonMansion3F.asm
+++ b/maps/CeladonMansion3F.asm
@@ -4,7 +4,7 @@ const_value set 2
const CELADONMANSION3F_SUPER_NERD
const CELADONMANSION3F_FISHER
-CeladonMansion3F_MapScriptHeader:
+CeladonMansion3F_MapScripts:
.SceneScripts:
db 0
@@ -16,7 +16,7 @@ CooltrainerMScript_0x71670:
opentext
writetext UnknownText_0x716ce
checkcode VAR_DEXCAUGHT
- if_greater_than 248, UnknownScript_0x7167e
+ if_greater_than NUM_POKEMON - 2 - 1, UnknownScript_0x7167e ; ignore Mew and Celebi
waitbutton
closetext
end
@@ -28,7 +28,7 @@ UnknownScript_0x7167e:
waitsfx
writetext UnknownText_0x71760
buttonsound
- special Diploma
+ special Special_Diploma
writetext UnknownText_0x71763
waitbutton
closetext
@@ -49,7 +49,7 @@ UnknownScript_0x716a4:
writetext UnknownText_0x717d8
yesorno
iffalse UnknownScript_0x716b0
- special PrintDiploma
+ special Special_PrintDiploma
closetext
end
@@ -189,7 +189,7 @@ UnknownText_0x71996:
cont "a # DOLL."
done
-CeladonMansion3F_MapEventHeader:
+CeladonMansion3F_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeladonMansionRoof.asm b/maps/CeladonMansionRoof.asm
index bf53f8b4f..d3a3c7623 100644
--- a/maps/CeladonMansionRoof.asm
+++ b/maps/CeladonMansionRoof.asm
@@ -1,7 +1,7 @@
const_value set 2
const CELADONMANSIONROOF_FISHER
-CeladonMansionRoof_MapScriptHeader:
+CeladonMansionRoof_MapScripts:
.SceneScripts:
db 0
@@ -33,7 +33,7 @@ UnknownText_0x71aa1:
line "moustache!"
done
-CeladonMansionRoof_MapEventHeader:
+CeladonMansionRoof_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeladonMansionRoofHouse.asm b/maps/CeladonMansionRoofHouse.asm
index 6fdd96afe..f49d12535 100644
--- a/maps/CeladonMansionRoofHouse.asm
+++ b/maps/CeladonMansionRoofHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const CELADONMANSIONROOFHOUSE_PHARMACIST
-CeladonMansionRoofHouse_MapScriptHeader:
+CeladonMansionRoofHouse_MapScripts:
.SceneScripts:
db 0
@@ -116,7 +116,7 @@ UnknownText_0x71db3:
line "victim's HP."
done
-CeladonMansionRoofHouse_MapEventHeader:
+CeladonMansionRoofHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeladonPokecenter1F.asm b/maps/CeladonPokecenter1F.asm
index 2c2a594e6..cfe31f624 100644
--- a/maps/CeladonPokecenter1F.asm
+++ b/maps/CeladonPokecenter1F.asm
@@ -5,7 +5,7 @@ const_value set 2
const CELADONPOKECENTER1F_COOLTRAINER_F
const CELADONPOKECENTER1F_EUSINE
-CeladonPokecenter1F_MapScriptHeader:
+CeladonPokecenter1F_MapScripts:
.SceneScripts:
db 0
@@ -30,9 +30,9 @@ CeladonEusine:
writetext CeladonEusineText1
buttonsound
writebyte SUICUNE
- special SpecialMonCheck
+ special Special_MonCheck
iffalse .NoSuicune
- special SpecialBeastsCheck
+ special Special_BeastsCheck
iftrue .HoOh
writetext NoBeastsText
waitbutton
@@ -45,7 +45,7 @@ CeladonEusine:
waitbutton
closetext
checkcode VAR_FACING
- if_equal $1, .Location1
+ if_equal UP, .Location1
applymovement CELADONPOKECENTER1F_EUSINE, .Movement1
jump .Continue
@@ -133,7 +133,7 @@ NoBeastsText:
para "#MON RAIKOU and"
line "ENTEI?"
- para $56, $56, $56
+ para "<……><……><……>"
para "Okay…"
@@ -145,7 +145,7 @@ NoBeastsText:
line "you, <PLAYER>!"
done
-CeladonPokecenter1F_MapEventHeader:
+CeladonPokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeladonPokecenter2FBeta.asm b/maps/CeladonPokecenter2FBeta.asm
index 2dcb0e1eb..06212496b 100644
--- a/maps/CeladonPokecenter2FBeta.asm
+++ b/maps/CeladonPokecenter2FBeta.asm
@@ -1,11 +1,11 @@
-CeladonPokecenter2FBeta_MapScriptHeader:
+CeladonPokecenter2FBeta_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-CeladonPokecenter2FBeta_MapEventHeader:
+CeladonPokecenter2FBeta_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeruleanCity.asm b/maps/CeruleanCity.asm
index 47a991d21..9980a4487 100644
--- a/maps/CeruleanCity.asm
+++ b/maps/CeruleanCity.asm
@@ -6,13 +6,13 @@ const_value set 2
const CERULEANCITY_FISHER
const CERULEANCITY_YOUNGSTER
-CeruleanCity_MapScriptHeader:
+CeruleanCity_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
.FlyPoint:
setflag ENGINE_FLYPOINT_CERULEAN
@@ -147,7 +147,7 @@ CeruleanCityMartSign:
jumpstd martsign
CeruleanCityHiddenBerserkGene:
- dwb EVENT_FOUND_BERSERK_GENE_IN_CERULEAN_CITY, BERSERK_GENE
+ hiddenitem EVENT_FOUND_BERSERK_GENE_IN_CERULEAN_CITY, BERSERK_GENE
CeruleanCityCooltrainerMText1:
text "KANTO's POWER"
@@ -275,7 +275,7 @@ CeruleanLockedDoorText:
text "It's locked…"
done
-CeruleanCity_MapEventHeader:
+CeruleanCity_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeruleanGym.asm b/maps/CeruleanGym.asm
index 59a1b72b9..b1076ded5 100644
--- a/maps/CeruleanGym.asm
+++ b/maps/CeruleanGym.asm
@@ -6,7 +6,7 @@ const_value set 2
const CERULEANGYM_SWIMMER_GUY
const CERULEANGYM_GYM_GUY
-CeruleanGym_MapScriptHeader:
+CeruleanGym_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -48,9 +48,9 @@ CeruleanGym_MapScriptHeader:
setevent EVENT_MET_ROCKET_GRUNT_AT_CERULEAN_GYM
clearevent EVENT_ROUTE_24_ROCKET
clearevent EVENT_ROUTE_25_MISTY_BOYFRIEND
- setscene $0
- setmapscene ROUTE_25, $1
- setmapscene POWER_PLANT, $0
+ setscene 0
+ setmapscene ROUTE_25, 1
+ setmapscene POWER_PLANT, 0
waitsfx
special RestartMapMusic
pause 15
@@ -67,7 +67,7 @@ MistyScript_0x188432:
waitbutton
closetext
winlosstext UnknownText_0x18870c, 0
- loadtrainer MISTY, 1
+ loadtrainer MISTY, MISTY1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_MISTY
@@ -135,8 +135,7 @@ CeruleanGymGuyScript:
end
CeruleanGymHiddenMachinePart:
- dwb EVENT_FOUND_MACHINE_PART_IN_CERULEAN_GYM, MACHINE_PART
-
+ hiddenitem EVENT_FOUND_MACHINE_PART_IN_CERULEAN_GYM, MACHINE_PART
CeruleanGymStatue1:
checkevent EVENT_TRAINERS_IN_CERULEAN_GYM
@@ -161,7 +160,7 @@ CeruleanGymStatue:
iftrue .Beaten
jumpstd gymstatue1
.Beaten:
- trainertotext MISTY, 1, $1
+ trainertotext MISTY, MISTY1, MEM_BUFFER_1
jumpstd gymstatue2
MovementData_0x1884e3:
@@ -178,9 +177,9 @@ MovementData_0x1884e8:
MovementData_0x1884eb:
fix_facing
- db $39 ; movement
+ set_sliding
jump_step UP
- db $38 ; movement
+ remove_sliding
remove_fixed_facing
step_sleep 8
step_sleep 8
@@ -363,7 +362,7 @@ CeruleanGymGuyWinText:
cont "great battle!"
done
-CeruleanGym_MapEventHeader:
+CeruleanGym_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeruleanGymBadgeSpeechHouse.asm b/maps/CeruleanGymBadgeSpeechHouse.asm
index 5c8beb81b..82d9db826 100644
--- a/maps/CeruleanGymBadgeSpeechHouse.asm
+++ b/maps/CeruleanGymBadgeSpeechHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const CERULEANGYMBADGESPEECHHOUSE_POKEFAN_M
-CeruleanGymBadgeSpeechHouse_MapScriptHeader:
+CeruleanGymBadgeSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -16,7 +16,7 @@ CeruleanGymBadgeSpeechHousePokefanMText:
line "KANTO GYM BADGES?"
done
-CeruleanGymBadgeSpeechHouse_MapEventHeader:
+CeruleanGymBadgeSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeruleanMart.asm b/maps/CeruleanMart.asm
index b9d2226ff..c89621b6a 100644
--- a/maps/CeruleanMart.asm
+++ b/maps/CeruleanMart.asm
@@ -3,7 +3,7 @@ const_value set 2
const CERULEANMART_COOLTRAINER_M
const CERULEANMART_COOLTRAINER_F
-CeruleanMart_MapScriptHeader:
+CeruleanMart_MapScripts:
.SceneScripts:
db 0
@@ -45,7 +45,7 @@ CeruleanMart_CooltrainerFText:
cont "CERULEAN's CAPE."
done
-CeruleanMart_MapEventHeader:
+CeruleanMart_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeruleanPokecenter1F.asm b/maps/CeruleanPokecenter1F.asm
index 2e03275d4..2efd5f743 100644
--- a/maps/CeruleanPokecenter1F.asm
+++ b/maps/CeruleanPokecenter1F.asm
@@ -3,7 +3,7 @@ const_value set 2
const CERULEANPOKECENTER1F_SUPER_NERD
const CERULEANPOKECENTER1F_GYM_GUY
-CeruleanPokecenter1F_MapScriptHeader:
+CeruleanPokecenter1F_MapScripts:
.SceneScripts:
db 0
@@ -14,7 +14,7 @@ NurseScript_0x18820f:
jumpstd pokecenternurse
SuperNerdScript_0x188212:
- special Mobile_DummyReturnFalse
+ special Special_Mobile_DummyReturnFalse
iftrue .mobile
jumptextfaceplayer UnknownText_0x188221
@@ -62,7 +62,7 @@ CeruleanPokecenter1FGymGuyText:
line "JOHTO accessible."
done
-CeruleanPokecenter1F_MapEventHeader:
+CeruleanPokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeruleanPokecenter2FBeta.asm b/maps/CeruleanPokecenter2FBeta.asm
index a0c49e759..467377caa 100644
--- a/maps/CeruleanPokecenter2FBeta.asm
+++ b/maps/CeruleanPokecenter2FBeta.asm
@@ -1,11 +1,11 @@
-CeruleanPokecenter2FBeta_MapScriptHeader:
+CeruleanPokecenter2FBeta_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-CeruleanPokecenter2FBeta_MapEventHeader:
+CeruleanPokecenter2FBeta_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeruleanPoliceStation.asm b/maps/CeruleanPoliceStation.asm
index 77ff3baf8..ca77bf0cd 100644
--- a/maps/CeruleanPoliceStation.asm
+++ b/maps/CeruleanPoliceStation.asm
@@ -3,7 +3,7 @@ const_value set 2
const CERULEANPOLICESTATION_POKEFAN_F
const CERULEANPOLICESTATION_DIGLETT
-CeruleanPoliceStation_MapScriptHeader:
+CeruleanPoliceStation_MapScripts:
.SceneScripts:
db 0
@@ -43,7 +43,7 @@ CeruleanDiglettText:
text "DIGLETT: Dug dug."
done
-CeruleanPoliceStation_MapEventHeader:
+CeruleanPoliceStation_MapEvents:
; filler
db 0, 0
diff --git a/maps/CeruleanTradeSpeechHouse.asm b/maps/CeruleanTradeSpeechHouse.asm
index 289358996..8fdd470ae 100644
--- a/maps/CeruleanTradeSpeechHouse.asm
+++ b/maps/CeruleanTradeSpeechHouse.asm
@@ -4,7 +4,7 @@ const_value set 2
const CERULEANTRADESPEECHHOUSE_RHYDON
const CERULEANTRADESPEECHHOUSE_ZUBAT
-CeruleanTradeSpeechHouse_MapScriptHeader:
+CeruleanTradeSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -53,7 +53,7 @@ UnknownText_0x1881b5:
text "ZUBAT: Zuba zubaa."
done
-CeruleanTradeSpeechHouse_MapEventHeader:
+CeruleanTradeSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/CharcoalKiln.asm b/maps/CharcoalKiln.asm
index 2b5942001..3eaa2464b 100644
--- a/maps/CharcoalKiln.asm
+++ b/maps/CharcoalKiln.asm
@@ -3,7 +3,7 @@ const_value set 2
const CHARCOALKILN_YOUNGSTER
const CHARCOALKILN_MOLTRES
-CharcoalKiln_MapScriptHeader:
+CharcoalKiln_MapScripts:
.SceneScripts:
db 0
@@ -148,7 +148,7 @@ FarfetchdText:
text "FARFETCH'D: Kwaa!"
done
-CharcoalKiln_MapEventHeader:
+CharcoalKiln_MapEvents:
; filler
db 0, 0
diff --git a/maps/CherrygroveCity.asm b/maps/CherrygroveCity.asm
index d87d52165..ac3db17b6 100644
--- a/maps/CherrygroveCity.asm
+++ b/maps/CherrygroveCity.asm
@@ -5,7 +5,7 @@ const_value set 2
const CHERRYGROVECITY_YOUNGSTER
const CHERRYGROVECITY_FISHER
-CherrygroveCity_MapScriptHeader:
+CherrygroveCity_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -13,7 +13,7 @@ CherrygroveCity_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
.DummyScene0:
end
@@ -69,7 +69,7 @@ CherrygroveCityGuideGent:
opentext
writetext GuideGentGiftText
buttonsound
- stringtotext .mapcardname, $1
+ stringtotext .mapcardname, MEM_BUFFER_1
scall .JumpstdReceiveItem
setflag ENGINE_MAP_CARD
writetext GotMapCardText
@@ -101,7 +101,7 @@ CherrygroveCityGuideGent:
end
CherrygroveSilverSceneSouth:
- moveobject CHERRYGROVECITY_SILVER, $27, $7
+ moveobject CHERRYGROVECITY_SILVER, 39, 7
CherrygroveSilverSceneNorth:
spriteface PLAYER, RIGHT
showemote EMOTE_SHOCK, PLAYER, 15
@@ -171,7 +171,7 @@ CherrygroveSilverSceneNorth:
spriteface PLAYER, LEFT
applymovement CHERRYGROVECITY_SILVER, CherrygroveCity_RivalExitsStageLeft
disappear CHERRYGROVECITY_SILVER
- setscene $0
+ setscene 0
special HealParty
playmapmusic
end
@@ -433,7 +433,7 @@ GuideGentNoText:
done
UnknownText_0x19c4e2:
- text "<......> <......> <......>"
+ text "<……> <……> <……>"
para "You got a #MON"
line "at the LAB."
@@ -441,7 +441,7 @@ UnknownText_0x19c4e2:
para "What a waste."
line "A wimp like you."
- para "<......> <......> <......>"
+ para "<……> <……> <……>"
para "Don't you get what"
line "I'm saying?"
@@ -459,7 +459,7 @@ SilverCherrygroveWinText:
done
CherrygroveRivalText_YouLost:
- text "<......> <......> <......>"
+ text "<……> <……> <……>"
para "My name's ???."
@@ -475,7 +475,7 @@ SilverCherrygroveLossText:
done
CherrygroveRivalText_YouWon:
- text "<......> <......> <......>"
+ text "<……> <……> <……>"
para "My name's ???."
@@ -546,7 +546,7 @@ GuideGentsHouseSignText:
text "GUIDE GENT'S HOUSE"
done
-CherrygroveCity_MapEventHeader:
+CherrygroveCity_MapEvents:
; filler
db 0, 0
diff --git a/maps/CherrygroveEvolutionSpeechHouse.asm b/maps/CherrygroveEvolutionSpeechHouse.asm
index 1b32f92b2..c79941cb2 100644
--- a/maps/CherrygroveEvolutionSpeechHouse.asm
+++ b/maps/CherrygroveEvolutionSpeechHouse.asm
@@ -2,7 +2,7 @@ const_value set 2
const CHERRYGROVEEVOLUTIONSPEECHHOUSE_LASS
const CHERRYGROVEEVOLUTIONSPEECHHOUSE_YOUNGSTER
-CherrygroveEvolutionSpeechHouse_MapScriptHeader:
+CherrygroveEvolutionSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -41,7 +41,7 @@ UnknownText_0x196cfc:
line "if one did that!"
done
-CherrygroveEvolutionSpeechHouse_MapEventHeader:
+CherrygroveEvolutionSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/CherrygroveGymSpeechHouse.asm b/maps/CherrygroveGymSpeechHouse.asm
index 084092251..2709ed1c0 100644
--- a/maps/CherrygroveGymSpeechHouse.asm
+++ b/maps/CherrygroveGymSpeechHouse.asm
@@ -2,7 +2,7 @@ const_value set 2
const CHERRYGROVEGYMSPEECHHOUSE_POKEFAN_M
const CHERRYGROVEGYMSPEECHHOUSE_BUG_CATCHER
-CherrygroveGymSpeechHouse_MapScriptHeader:
+CherrygroveGymSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -44,7 +44,7 @@ CherrygroveGymSpeechHouseBugCatcherText:
line "them tougher!"
done
-CherrygroveGymSpeechHouse_MapEventHeader:
+CherrygroveGymSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/CherrygroveMart.asm b/maps/CherrygroveMart.asm
index caee8ba37..7a4b6dc0b 100644
--- a/maps/CherrygroveMart.asm
+++ b/maps/CherrygroveMart.asm
@@ -3,7 +3,7 @@ const_value set 2
const CHERRYGROVEMART_COOLTRAINER_M
const CHERRYGROVEMART_YOUNGSTER
-CherrygroveMart_MapScriptHeader:
+CherrygroveMart_MapScripts:
.SceneScripts:
db 0
@@ -71,7 +71,7 @@ CherrygroveMartYoungsterText:
line "ANTIDOTE with you."
done
-CherrygroveMart_MapEventHeader:
+CherrygroveMart_MapEvents:
; filler
db 0, 0
diff --git a/maps/CherrygrovePokecenter1F.asm b/maps/CherrygrovePokecenter1F.asm
index 30e6c179c..202d87e50 100644
--- a/maps/CherrygrovePokecenter1F.asm
+++ b/maps/CherrygrovePokecenter1F.asm
@@ -4,7 +4,7 @@ const_value set 2
const CHERRYGROVEPOKECENTER1F_GENTLEMAN
const CHERRYGROVEPOKECENTER1F_TEACHER
-CherrygrovePokecenter1F_MapScriptHeader:
+CherrygrovePokecenter1F_MapScripts:
.SceneScripts:
db 0
@@ -68,7 +68,7 @@ UnknownText_0x196a46:
line "there already!"
done
-CherrygrovePokecenter1F_MapEventHeader:
+CherrygrovePokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/CianwoodCity.asm b/maps/CianwoodCity.asm
index 86c958205..f05b7aeb3 100644
--- a/maps/CianwoodCity.asm
+++ b/maps/CianwoodCity.asm
@@ -12,7 +12,7 @@ const_value set 2
const CIANWOODCITY_EUSINE
const CIANWOODCITY_SUICUNE
-CianwoodCity_MapScriptHeader:
+CianwoodCity_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -20,7 +20,7 @@ CianwoodCity_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .FlyPointAndSuicune
+ callback MAPCALLBACK_NEWMAP, .FlyPointAndSuicune
.DummyScene0:
end
@@ -49,9 +49,9 @@ CianwoodCitySuicuneAndEusine:
applymovement CIANWOODCITY_SUICUNE, MovementData_0x1a00e0
disappear CIANWOODCITY_SUICUNE
pause 10
- setscene $0
+ setscene 0
clearevent EVENT_SAW_SUICUNE_ON_ROUTE_42
- setmapscene ROUTE_42, $1
+ setmapscene ROUTE_42, 1
checkevent EVENT_FOUGHT_EUSINE
iftrue .Done
setevent EVENT_FOUGHT_EUSINE
@@ -145,26 +145,26 @@ CianwoodCityRock:
jumpstd smashrock
CianwoodCityHiddenRevive:
- dwb EVENT_CIANWOOD_CITY_HIDDEN_REVIVE, REVIVE
+ hiddenitem EVENT_CIANWOOD_CITY_HIDDEN_REVIVE, REVIVE
CianwoodCityHiddenMaxEther:
- dwb EVENT_CIANWOOD_CITY_HIDDEN_MAX_ETHER, MAX_ETHER
+ hiddenitem EVENT_CIANWOOD_CITY_HIDDEN_MAX_ETHER, MAX_ETHER
MovementData_0x1a00da:
- db $39 ; movement
+ set_sliding
fast_jump_step DOWN
fast_jump_step DOWN
fast_jump_step RIGHT
- db $38 ; movement
+ remove_sliding
step_end
MovementData_0x1a00e0:
- db $39 ; movement
+ set_sliding
fast_jump_step RIGHT
fast_jump_step UP
fast_jump_step RIGHT
fast_jump_step RIGHT
- db $38 ; movement
+ remove_sliding
step_end
MovementData_0x1a00e7:
@@ -380,7 +380,7 @@ CianwoodPokeSeerSignText:
line "AHEAD"
done
-CianwoodCity_MapEventHeader:
+CianwoodCity_MapEvents:
; filler
db 0, 0
@@ -390,7 +390,7 @@ CianwoodCity_MapEventHeader:
warp_def 8, 43, 1, CIANWOOD_GYM
warp_def 23, 43, 1, CIANWOOD_POKECENTER_1F
warp_def 15, 47, 1, CIANWOOD_PHARMACY
- warp_def 9, 31, 1, CIANWOOD_CITY_PHOTO_STUDIO
+ warp_def 9, 31, 1, CIANWOOD_PHOTO_STUDIO
warp_def 15, 37, 1, CIANWOOD_LUGIA_SPEECH_HOUSE
warp_def 5, 17, 1, POKE_SEERS_HOUSE
diff --git a/maps/CianwoodGym.asm b/maps/CianwoodGym.asm
index 0323fc0eb..1ca8a0a5e 100644
--- a/maps/CianwoodGym.asm
+++ b/maps/CianwoodGym.asm
@@ -9,7 +9,7 @@ const_value set 2
const CIANWOODGYM_BOULDER3
const CIANWOODGYM_BOULDER4
-CianwoodGym_MapScriptHeader:
+CianwoodGym_MapScripts:
.SceneScripts:
db 0
@@ -40,7 +40,7 @@ ChuckScript_0x9d60f:
waitbutton
closetext
winlosstext ChuckLossText, 0
- loadtrainer CHUCK, 1
+ loadtrainer CHUCK, CHUCK1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_CHUCK
@@ -138,7 +138,7 @@ CianwoodGymStatue:
iftrue .Beaten
jumpstd gymstatue1
.Beaten:
- trainertotext CHUCK, 1, $1
+ trainertotext CHUCK, CHUCK1, MEM_BUFFER_1
jumpstd gymstatue2
CianwoodGymMovement_ChuckChucksBoulder:
@@ -305,7 +305,7 @@ BlackbeltLungAfterText:
cont "shattered…"
done
-CianwoodGym_MapEventHeader:
+CianwoodGym_MapEvents:
; filler
db 0, 0
diff --git a/maps/CianwoodLugiaSpeechHouse.asm b/maps/CianwoodLugiaSpeechHouse.asm
index 9a0cf5b7a..4b3099eec 100644
--- a/maps/CianwoodLugiaSpeechHouse.asm
+++ b/maps/CianwoodLugiaSpeechHouse.asm
@@ -3,7 +3,7 @@ const_value set 2
const CIANWOODLUGIASPEECHHOUSE_LASS
const CIANWOODLUGIASPEECHHOUSE_TWIN
-CianwoodLugiaSpeechHouse_MapScriptHeader:
+CianwoodLugiaSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -61,7 +61,7 @@ CianwoodLugiaSpeechHouseTwinText:
cont "get past them."
done
-CianwoodLugiaSpeechHouse_MapEventHeader:
+CianwoodLugiaSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/CianwoodPharmacy.asm b/maps/CianwoodPharmacy.asm
index 629294333..696a16610 100644
--- a/maps/CianwoodPharmacy.asm
+++ b/maps/CianwoodPharmacy.asm
@@ -1,7 +1,7 @@
const_value set 2
const CIANWOODPHARMACY_PHARMACIST
-CianwoodPharmacy_MapScriptHeader:
+CianwoodPharmacy_MapScripts:
.SceneScripts:
db 1
scene_script .DummyScene
@@ -72,7 +72,7 @@ PharmacistDescribeSecretpotionText:
line "an emergency."
done
-CianwoodPharmacy_MapEventHeader:
+CianwoodPharmacy_MapEvents:
; filler
db 0, 0
diff --git a/maps/CianwoodCityPhotoStudio.asm b/maps/CianwoodPhotoStudio.asm
index 3a20c63e6..bbf2eb3d9 100644
--- a/maps/CianwoodCityPhotoStudio.asm
+++ b/maps/CianwoodPhotoStudio.asm
@@ -1,7 +1,7 @@
const_value set 2
- const CIANWOODCITYPHOTOSTUDIO_FISHING_GURU
+ const CIANWOODPHOTOSTUDIO_FISHING_GURU
-CianwoodCityPhotoStudio_MapScriptHeader:
+CianwoodPhotoStudio_MapScripts:
.SceneScripts:
db 0
@@ -16,7 +16,7 @@ FishingGuruScript_0x9e0e0:
iffalse UnknownScript_0x9e0f3
writetext UnknownText_0x9e142
waitbutton
- special PhotoStudio
+ special Special_PhotoStudio
waitbutton
closetext
end
@@ -48,7 +48,7 @@ UnknownText_0x9e156:
line "memento…"
done
-CianwoodCityPhotoStudio_MapEventHeader:
+CianwoodPhotoStudio_MapEvents:
; filler
db 0, 0
diff --git a/maps/CianwoodPokecenter1F.asm b/maps/CianwoodPokecenter1F.asm
index 3bf9a1b3a..0f97e011b 100644
--- a/maps/CianwoodPokecenter1F.asm
+++ b/maps/CianwoodPokecenter1F.asm
@@ -4,7 +4,7 @@ const_value set 2
const CIANWOODPOKECENTER1F_GYM_GUY
const CIANWOODPOKECENTER1F_SUPER_NERD
-CianwoodPokecenter1F_MapScriptHeader:
+CianwoodPokecenter1F_MapScripts:
.SceneScripts:
db 0
@@ -131,7 +131,7 @@ CianwoodPokecenter1FSuperNerdText:
line "off my #MON!"
done
-CianwoodPokecenter1F_MapEventHeader:
+CianwoodPokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/CinnabarIsland.asm b/maps/CinnabarIsland.asm
index 50b26a8f5..ed4765d18 100644
--- a/maps/CinnabarIsland.asm
+++ b/maps/CinnabarIsland.asm
@@ -1,13 +1,13 @@
const_value set 2
const CINNABARISLAND_BLUE
-CinnabarIsland_MapScriptHeader:
+CinnabarIsland_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
.FlyPoint:
setflag ENGINE_FLYPOINT_CINNABAR
@@ -35,7 +35,7 @@ CinnabarIslandPokecenterSign:
jumpstd pokecentersign
CinnabarIslandHiddenRareCandy:
- dwb EVENT_CINNABAR_ISLAND_HIDDEN_RARE_CANDY, RARE_CANDY
+ hiddenitem EVENT_CINNABAR_ISLAND_HIDDEN_RARE_CANDY, RARE_CANDY
CinnabarIslandBlueTeleport:
teleport_from
@@ -127,7 +127,7 @@ CinnabarIslandSignText:
line "Burning Desire"
done
-CinnabarIsland_MapEventHeader:
+CinnabarIsland_MapEvents:
; filler
db 0, 0
diff --git a/maps/CinnabarPokecenter1F.asm b/maps/CinnabarPokecenter1F.asm
index e74bd85ab..17fe1b97c 100644
--- a/maps/CinnabarPokecenter1F.asm
+++ b/maps/CinnabarPokecenter1F.asm
@@ -3,7 +3,7 @@ const_value set 2
const CINNABARPOKECENTER1F_COOLTRAINER_F
const CINNABARPOKECENTER1F_FISHER
-CinnabarPokecenter1F_MapScriptHeader:
+CinnabarPokecenter1F_MapScripts:
.SceneScripts:
db 0
@@ -34,7 +34,7 @@ CinnabarPokecenter1FFisherText:
cont "erupted."
done
-CinnabarPokecenter1F_MapEventHeader:
+CinnabarPokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/CinnabarPokecenter2FBeta.asm b/maps/CinnabarPokecenter2FBeta.asm
index 1e110c8fe..f2621c43c 100644
--- a/maps/CinnabarPokecenter2FBeta.asm
+++ b/maps/CinnabarPokecenter2FBeta.asm
@@ -1,11 +1,11 @@
-CinnabarPokecenter2FBeta_MapScriptHeader:
+CinnabarPokecenter2FBeta_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-CinnabarPokecenter2FBeta_MapEventHeader:
+CinnabarPokecenter2FBeta_MapEvents:
; filler
db 0, 0
diff --git a/maps/Colosseum.asm b/maps/Colosseum.asm
index 647e16541..6f8538bac 100644
--- a/maps/Colosseum.asm
+++ b/maps/Colosseum.asm
@@ -2,7 +2,7 @@ const_value set 2
const COLOSSEUM_CHRIS1
const COLOSSEUM_CHRIS2
-Colosseum_MapScriptHeader:
+Colosseum_MapScripts:
.SceneScripts:
db 3
scene_script .InitializeColosseum
@@ -11,8 +11,8 @@ Colosseum_MapScriptHeader:
.MapCallbacks:
db 2
- dbw MAPCALLBACK_OBJECTS, .SetWhichChris
- dbw MAPCALLBACK_NEWMAP, .PreparePokecenter2F
+ callback MAPCALLBACK_OBJECTS, .SetWhichChris
+ callback MAPCALLBACK_NEWMAP, .PreparePokecenter2F
.InitializeColosseum:
priorityjump .InitializeAndPreparePokecenter2F
@@ -37,12 +37,12 @@ Colosseum_MapScriptHeader:
return
.PreparePokecenter2F:
- setmapscene POKECENTER_2F, $2
+ setmapscene POKECENTER_2F, 2
return
.InitializeAndPreparePokecenter2F:
- setscene $1
- setmapscene POKECENTER_2F, $2
+ setscene 1
+ setmapscene POKECENTER_2F, 2
end
MapColosseumSignpost1Script:
@@ -62,7 +62,7 @@ ChrisScript_0x193499:
line "ready."
done
-Colosseum_MapEventHeader:
+Colosseum_MapEvents:
; filler
db 0, 0
diff --git a/maps/CopycatsHouse1F.asm b/maps/CopycatsHouse1F.asm
index 925f7683a..695329ded 100644
--- a/maps/CopycatsHouse1F.asm
+++ b/maps/CopycatsHouse1F.asm
@@ -3,7 +3,7 @@ const_value set 2
const COPYCATSHOUSE1F_POKEFAN_F
const COPYCATSHOUSE1F_CLEFAIRY
-CopycatsHouse1F_MapScriptHeader:
+CopycatsHouse1F_MapScripts:
.SceneScripts:
db 0
@@ -72,7 +72,7 @@ UnknownText_0x18ae4b:
text "BLISSEY: Bliisii!"
done
-CopycatsHouse1F_MapEventHeader:
+CopycatsHouse1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/CopycatsHouse2F.asm b/maps/CopycatsHouse2F.asm
index 5456973dc..74f6af110 100644
--- a/maps/CopycatsHouse2F.asm
+++ b/maps/CopycatsHouse2F.asm
@@ -6,13 +6,13 @@ const_value set 2
const COPYCATSHOUSE2F_BIRDDOLL
const COPYCATSHOUSE2F_COPYCAT2 ; if player is female
-CopycatsHouse2F_MapScriptHeader:
+CopycatsHouse2F_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .Callback
+ callback MAPCALLBACK_OBJECTS, .Callback
.Callback:
checkflag ENGINE_PLAYER_IS_FEMALE
@@ -46,7 +46,7 @@ Copycat:
faceplayer
variablesprite SPRITE_COPYCAT, SPRITE_KRIS
.Default_Merge_1:
- special MapCallbackSprites_LoadUsedSpritesGFX
+ special Special_LoadUsedSpritesGFX
checkevent EVENT_RETURNED_MACHINE_PART
iftrue .TalkAboutLostItem
opentext
@@ -70,7 +70,7 @@ Copycat:
.Default_Merge_3a:
faceplayer
variablesprite SPRITE_COPYCAT, SPRITE_LASS
- special MapCallbackSprites_LoadUsedSpritesGFX
+ special Special_LoadUsedSpritesGFX
opentext
writetext CopycatText_QuickMimicking
waitbutton
@@ -99,7 +99,7 @@ Copycat:
.Default_Merge_3b:
faceplayer
variablesprite SPRITE_COPYCAT, SPRITE_LASS
- special MapCallbackSprites_LoadUsedSpritesGFX
+ special Special_LoadUsedSpritesGFX
opentext
writetext CopycatText_Worried
waitbutton
@@ -142,7 +142,7 @@ Copycat:
faceplayer
variablesprite SPRITE_COPYCAT, SPRITE_KRIS
.GotPass_Merge_1:
- special MapCallbackSprites_LoadUsedSpritesGFX
+ special Special_LoadUsedSpritesGFX
opentext
checkflag ENGINE_PLAYER_IS_FEMALE
iftrue .GotPass_Female_2
@@ -164,7 +164,7 @@ Copycat:
.GotPass_Merge_3:
faceplayer
variablesprite SPRITE_COPYCAT, SPRITE_LASS
- special MapCallbackSprites_LoadUsedSpritesGFX
+ special Special_LoadUsedSpritesGFX
opentext
writetext CopycatText_ItsAScream
waitbutton
@@ -360,7 +360,7 @@ CopycatsHouse2FDollText:
para "It's only a doll…"
done
-CopycatsHouse2F_MapEventHeader:
+CopycatsHouse2F_MapEvents:
; filler
db 0, 0
diff --git a/maps/DanceTheatre.asm b/maps/DanceTheatre.asm
index c4ec8bbe2..bb698becd 100644
--- a/maps/DanceTheatre.asm
+++ b/maps/DanceTheatre.asm
@@ -9,7 +9,7 @@ const_value set 2
const DANCETHEATRE_COOLTRAINER_M
const DANCETHEATRE_GRANNY
-DanceTheatre_MapScriptHeader:
+DanceTheatre_MapScripts:
.SceneScripts:
db 0
@@ -337,7 +337,7 @@ FancyPanelText:
cont "with flowers."
done
-DanceTheatre_MapEventHeader:
+DanceTheatre_MapEvents:
; filler
db 0, 0
diff --git a/maps/DarkCaveBlackthornEntrance.asm b/maps/DarkCaveBlackthornEntrance.asm
index bd6272298..63ea46aa3 100644
--- a/maps/DarkCaveBlackthornEntrance.asm
+++ b/maps/DarkCaveBlackthornEntrance.asm
@@ -3,7 +3,7 @@ const_value set 2
const DARKCAVEBLACKTHORNENTRANCE_POKE_BALL1
const DARKCAVEBLACKTHORNENTRANCE_POKE_BALL2
-DarkCaveBlackthornEntrance_MapScriptHeader:
+DarkCaveBlackthornEntrance_MapScripts:
.SceneScripts:
db 0
@@ -61,7 +61,7 @@ DarkCaveBlackthornEntrancePharmacistText2:
cont "type moves."
done
-DarkCaveBlackthornEntrance_MapEventHeader:
+DarkCaveBlackthornEntrance_MapEvents:
; filler
db 0, 0
diff --git a/maps/DarkCaveVioletEntrance.asm b/maps/DarkCaveVioletEntrance.asm
index b1e629a54..3eed4f41c 100644
--- a/maps/DarkCaveVioletEntrance.asm
+++ b/maps/DarkCaveVioletEntrance.asm
@@ -8,7 +8,7 @@ const_value set 2
const DARKCAVEVIOLETENTRANCE_POKE_BALL3
const DARKCAVEVIOLETENTRANCE_POKE_BALL4
-DarkCaveVioletEntrance_MapScriptHeader:
+DarkCaveVioletEntrance_MapScripts:
.SceneScripts:
db 0
@@ -31,10 +31,9 @@ DarkCaveVioletEntranceRock:
jumpstd smashrock
DarkCaveVioletEntranceHiddenElixer:
- dwb EVENT_DARK_CAVE_VIOLET_ENTRANCE_HIDDEN_ELIXER, ELIXER
+ hiddenitem EVENT_DARK_CAVE_VIOLET_ENTRANCE_HIDDEN_ELIXER, ELIXER
-
-DarkCaveVioletEntrance_MapEventHeader:
+DarkCaveVioletEntrance_MapEvents:
; filler
db 0, 0
diff --git a/maps/DayCare.asm b/maps/DayCare.asm
index 0d06cea93..93461c3a8 100644
--- a/maps/DayCare.asm
+++ b/maps/DayCare.asm
@@ -2,13 +2,13 @@ const_value set 2
const DAYCARE_GRAMPS
const DAYCARE_GRANNY
-DayCare_MapScriptHeader:
+DayCare_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .EggCheckCallback
+ callback MAPCALLBACK_OBJECTS, .EggCheckCallback
.EggCheckCallback:
checkflag ENGINE_DAY_CARE_MAN_HAS_EGG
@@ -155,7 +155,7 @@ DayCareText_PartyFull:
line "this."
done
-DayCare_MapEventHeader:
+DayCare_MapEvents:
; filler
db 0, 0
diff --git a/maps/DiglettsCave.asm b/maps/DiglettsCave.asm
index 04277b792..b7ff38465 100644
--- a/maps/DiglettsCave.asm
+++ b/maps/DiglettsCave.asm
@@ -1,7 +1,7 @@
const_value set 2
const DIGLETTSCAVE_POKEFAN_M
-DiglettsCave_MapScriptHeader:
+DiglettsCave_MapScripts:
.SceneScripts:
db 0
@@ -12,8 +12,7 @@ DiglettsCavePokefanMScript:
jumptextfaceplayer DiglettsCavePokefanMText
DiglettsCaveHiddenMaxRevive:
- dwb EVENT_DIGLETTS_CAVE_HIDDEN_MAX_REVIVE, MAX_REVIVE
-
+ hiddenitem EVENT_DIGLETTS_CAVE_HIDDEN_MAX_REVIVE, MAX_REVIVE
DiglettsCavePokefanMText:
text "A bunch of DIGLETT"
@@ -23,7 +22,7 @@ DiglettsCavePokefanMText:
line "shocking."
done
-DiglettsCave_MapEventHeader:
+DiglettsCave_MapEvents:
; filler
db 0, 0
diff --git a/maps/DragonShrine.asm b/maps/DragonShrine.asm
index 1df424ca1..8be52840d 100644
--- a/maps/DragonShrine.asm
+++ b/maps/DragonShrine.asm
@@ -4,7 +4,7 @@ const_value set 2
const DRAGONSHRINE_ELDER3
const DRAGONSHRINE_CLAIR
-DragonShrine_MapScriptHeader:
+DragonShrine_MapScripts:
.SceneScripts:
db 2
scene_script .DragonShrineTest
@@ -21,67 +21,67 @@ DragonShrine_MapScriptHeader:
end
.DragonShrineTestScript:
- applymovement PLAYER, MovementData_0x18d2bf
- applymovement DRAGONSHRINE_ELDER1, MovementData_0x18d2c7
+ applymovement PLAYER, DragonShrinePlayerWalkInMovement
+ applymovement DRAGONSHRINE_ELDER1, DragonShrineElderStepDownMovement
opentext
- writetext UnknownText_0x18d2ea
+ writetext DragonShrineElderGreetingText
buttonsound
.Question1:
setevent EVENT_RECEIVED_BALLS_FROM_KURT
- writetext UnknownText_0x18d3bc
+ writetext DragonShrineQuestion1Text
buttonsound
- loadmenudata MenuDataHeader_0x18d215
+ loadmenudata DragonShrineQuestion1_MenuDataHeader
verticalmenu
closewindow
- if_equal $1, .RightAnswer
- if_equal $2, .WrongAnswer
- if_equal $3, .RightAnswer
+ if_equal 1, .RightAnswer
+ if_equal 2, .WrongAnswer
+ if_equal 3, .RightAnswer
end
.Question2:
setevent EVENT_DRAGON_SHRINE_QUESTION_2
- writetext UnknownText_0x18d3d3
+ writetext DragonShrineQuestion2Text
buttonsound
- loadmenudata MenuDataHeader_0x18d234
+ loadmenudata DragonShrineQuestion2_MenuDataHeader
verticalmenu
closewindow
- if_equal $1, .RightAnswer
- if_equal $2, .RightAnswer
- if_equal $3, .WrongAnswer
+ if_equal 1, .RightAnswer
+ if_equal 2, .RightAnswer
+ if_equal 3, .WrongAnswer
.Question3:
setevent EVENT_DRAGON_SHRINE_QUESTION_3
- writetext UnknownText_0x18d3f3
+ writetext DragonShrineQuestion3Text
buttonsound
- loadmenudata MenuDataHeader_0x18d258
+ loadmenudata DragonShrineQuestion3_MenuDataHeader
verticalmenu
closewindow
- if_equal $1, .WrongAnswer
- if_equal $2, .RightAnswer
- if_equal $3, .RightAnswer
+ if_equal 1, .WrongAnswer
+ if_equal 2, .RightAnswer
+ if_equal 3, .RightAnswer
.Question4:
setevent EVENT_DRAGON_SHRINE_QUESTION_4
- writetext UnknownText_0x18d420
+ writetext DragonShrineQuestion4Text
buttonsound
- loadmenudata MenuDataHeader_0x18d283
+ loadmenudata DragonShrineQuestion4_MenuDataHeader
verticalmenu
closewindow
- if_equal $1, .RightAnswer
- if_equal $2, .WrongAnswer
- if_equal $3, .RightAnswer
+ if_equal 1, .RightAnswer
+ if_equal 2, .WrongAnswer
+ if_equal 3, .RightAnswer
.Question5:
setevent EVENT_DRAGON_SHRINE_QUESTION_5
- writetext UnknownText_0x18d44a
+ writetext DragonShrineQuestion5Text
buttonsound
- loadmenudata MenuDataHeader_0x18d2a5
+ loadmenudata DragonShrineQuestion5_MenuDataHeader
verticalmenu
closewindow
- if_equal $1, .WrongAnswer
- if_equal $2, .RightAnswer
- if_equal $3, .WrongAnswer
+ if_equal 1, .WrongAnswer
+ if_equal 2, .RightAnswer
+ if_equal 3, .WrongAnswer
.RightAnswer:
checkevent EVENT_DRAGON_SHRINE_QUESTION_5
iftrue .PassedTheTest
- writetext UnknownText_0x18d82d
+ writetext DragonShrineRightAnswerText
buttonsound
checkevent EVENT_DRAGON_SHRINE_QUESTION_4
iftrue .Question5
@@ -95,12 +95,12 @@ DragonShrine_MapScriptHeader:
closetext
spriteface DRAGONSHRINE_ELDER1, LEFT
opentext
- writetext UnknownText_0x18d7f6
+ writetext DragonShrineWrongAnswerText1
waitbutton
closetext
spriteface DRAGONSHRINE_ELDER1, DOWN
opentext
- writetext UnknownText_0x18d816
+ writetext DragonShrineWrongAnswerText2
waitbutton
closetext
setevent EVENT_ANSWERED_DRAGON_MASTER_QUIZ_WRONG
@@ -116,7 +116,7 @@ DragonShrine_MapScriptHeader:
checkevent EVENT_RECEIVED_BALLS_FROM_KURT
iftrue .Question1
.PassedTheTest:
- writetext UnknownText_0x18d47c
+ writetext DragonShrinePassedTestText
waitbutton
closetext
playsound SFX_ENTER_DOOR
@@ -126,50 +126,50 @@ DragonShrine_MapScriptHeader:
waitsfx
spriteface PLAYER, DOWN
pause 30
- applymovement DRAGONSHRINE_CLAIR, MovementData_0x18d2d4
+ applymovement DRAGONSHRINE_CLAIR, DragonShrineClairWalkInMovement
spriteface DRAGONSHRINE_CLAIR, RIGHT
spriteface PLAYER, LEFT
spriteface DRAGONSHRINE_ELDER1, LEFT
opentext
- writetext UnknownText_0x18d916
+ writetext DragonShrineClairYouPassedText
waitbutton
closetext
special Special_FadeOutMusic
- applymovement DRAGONSHRINE_CLAIR, MovementData_0x18d2da
+ applymovement DRAGONSHRINE_CLAIR, DragonShrineClairBigStepLeftMovement
opentext
- writetext UnknownText_0x18d974
+ writetext DragonShrineClairThatCantBeText
waitbutton
closetext
- applymovement DRAGONSHRINE_CLAIR, MovementData_0x18d2dd
+ applymovement DRAGONSHRINE_CLAIR, DragonShrineClairSlowStepLeftMovement
opentext
- writetext UnknownText_0x18d983
+ writetext DragonShrineClairYoureLyingText
waitbutton
closetext
- applymovement DRAGONSHRINE_ELDER1, MovementData_0x18d2c9
+ applymovement DRAGONSHRINE_ELDER1, DragonShrineElderWalkToClairMovement
spriteface DRAGONSHRINE_CLAIR, UP
opentext
- writetext UnknownText_0x18d520
+ writetext DragonShrineMustIInformLanceText
waitbutton
closetext
showemote EMOTE_SHOCK, DRAGONSHRINE_CLAIR, 15
opentext
- writetext UnknownText_0x18d9ae
+ writetext DragonShrineIUnderstandText
waitbutton
closetext
applymovement DRAGONSHRINE_CLAIR, MovementData_0x18d2e0
opentext
- writetext UnknownText_0x18d9bf
+ writetext DragonShrineHereRisingBadgeText
waitbutton
setflag ENGINE_RISINGBADGE
playsound SFX_GET_BADGE
waitsfx
special RestartMapMusic
specialphonecall SPECIALCALL_MASTERBALL
- setscene $1
- setmapscene DRAGONS_DEN_B1F, $1
- writetext UnknownText_0x18d9f2
+ setscene 1
+ setmapscene DRAGONS_DEN_B1F, 1
+ writetext DragonShrinePlayerReceivedRisingBadgeText
buttonsound
- writetext UnknownText_0x18da0b
+ writetext DragonShrineRisingBadgeExplanationText
waitbutton
closetext
applymovement DRAGONSHRINE_ELDER1, MovementData_0x18d2ce
@@ -177,11 +177,11 @@ DragonShrine_MapScriptHeader:
applymovement DRAGONSHRINE_ELDER1, MovementData_0x18d2d1
spriteface PLAYER, UP
opentext
- writetext UnknownText_0x18d5a3
+ writetext DragonShrineElderScoldsClairText
waitbutton
closetext
opentext
- writetext UnknownText_0x18dab4
+ writetext DragonShrineSpeechlessText
waitbutton
closetext
applymovement DRAGONSHRINE_CLAIR, MovementData_0x18d2e3
@@ -191,7 +191,7 @@ DragonShrine_MapScriptHeader:
setevent EVENT_GAVE_KURT_APRICORNS
end
-ElderScript_0x18d1a5:
+DragonShrineElder1Script:
faceplayer
opentext
checkevent EVENT_GAVE_KURT_APRICORNS
@@ -202,146 +202,135 @@ ElderScript_0x18d1a5:
iffalse .GiveDratini
checkevent EVENT_BEAT_RIVAL_IN_MT_MOON
iftrue .BeatRivalInMtMoon
- writetext UnknownText_0x18d724
+ writetext DragonShrineClairsGrandfatherText
waitbutton
closetext
end
.GiveDratini:
- writetext UnknownText_0x18d604
+ writetext DragonShrineTakeThisDratiniText
waitbutton
checkcode VAR_PARTYCOUNT
if_equal 6, .PartyFull
- writetext UnknownText_0x18d697
+ writetext DragonShrinePlayerReceivedDratiniText
playsound SFX_CAUGHT_MON
waitsfx
givepoke DRATINI, 15
checkevent EVENT_ANSWERED_DRAGON_MASTER_QUIZ_WRONG
- special SpecialDratini
+ special Special_Dratini
setevent EVENT_GOT_DRATINI
setevent EVENT_JUST_RECEIVED_DRATINI
- writetext UnknownText_0x18d6ca
+ writetext DragonShrineSymbolicDragonText
waitbutton
closetext
end
.PartyFull:
- writetext UnknownText_0x18d6ac
+ writetext DragonShrinePartyFullText
waitbutton
closetext
end
.BeatRivalInMtMoon:
- writetext UnknownText_0x18d782
+ writetext DragonShrineSilverIsInTrainingText
waitbutton
closetext
end
.DontGiveDratiniYet:
- writetext UnknownText_0x18d5e5
+ writetext DragonShrineComeAgainText
waitbutton
closetext
end
.ReceivedDratini:
- writetext UnknownText_0x18d6ca
+ writetext DragonShrineSymbolicDragonText
waitbutton
closetext
end
-ElderScript_0x18d205:
+DragonShrineElder2Script:
faceplayer
opentext
- writetext UnknownText_0x18d840
+ writetext DragonShrineElder2Text
waitbutton
closetext
end
-ElderScript_0x18d20d:
+DragonShrineElder3Script:
faceplayer
opentext
- writetext UnknownText_0x18d8b1
+ writetext DragonShrineElder3Text
waitbutton
closetext
end
-
-MenuDataHeader_0x18d215:
- db $40 ; flags
- db 04, 08 ; start coords
- db 11, 19 ; end coords
+DragonShrineQuestion1_MenuDataHeader:
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 8, 4, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
.MenuData2:
- db $81 ; flags
+ db STATICMENU_CURSOR | STATICMENU_DISABLE_B ; flags
db 3 ; items
db "Pal@"
db "Underling@"
db "Friend@"
-
-MenuDataHeader_0x18d234:
- db $40 ; flags
- db 04, 09 ; start coords
- db 11, 19 ; end coords
+DragonShrineQuestion2_MenuDataHeader:
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 9, 4, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
.MenuData2:
- db $81 ; flags
+ db STATICMENU_CURSOR | STATICMENU_DISABLE_B ; flags
db 3 ; items
db "Strategy@"
db "Raising@"
db "Cheating@"
-
-MenuDataHeader_0x18d258:
- db $40 ; flags
- db 04, 05 ; start coords
- db 11, 19 ; end coords
+DragonShrineQuestion3_MenuDataHeader:
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 5, 4, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
.MenuData2:
- db $81 ; flags
+ db STATICMENU_CURSOR | STATICMENU_DISABLE_B ; flags
db 3 ; items
db "Weak person@"
db "Tough person@"
db "Anybody@"
-
-MenuDataHeader_0x18d283:
- db $40 ; flags
- db 04, 08 ; start coords
- db 11, 19 ; end coords
+DragonShrineQuestion4_MenuDataHeader:
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 8, 4, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
.MenuData2:
- db $81 ; flags
+ db STATICMENU_CURSOR | STATICMENU_DISABLE_B ; flags
db 3 ; items
db "Love@"
db "Violence@"
db "Knowledge@"
-
-MenuDataHeader_0x18d2a5:
- db $40 ; flags
- db 04, 12 ; start coords
- db 11, 19 ; end coords
+DragonShrineQuestion5_MenuDataHeader:
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 12, 4, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
.MenuData2:
- db $81 ; flags
+ db STATICMENU_CURSOR | STATICMENU_DISABLE_B ; flags
db 3 ; items
db "Tough@"
db "Both@"
db "Weak@"
-
-MovementData_0x18d2bf:
+DragonShrinePlayerWalkInMovement:
slow_step UP
slow_step UP
slow_step UP
@@ -351,11 +340,11 @@ MovementData_0x18d2bf:
slow_step UP
step_end
-MovementData_0x18d2c7:
+DragonShrineElderStepDownMovement:
slow_step DOWN
step_end
-MovementData_0x18d2c9:
+DragonShrineElderWalkToClairMovement:
slow_step LEFT
slow_step LEFT
slow_step LEFT
@@ -372,7 +361,7 @@ MovementData_0x18d2d1:
turn_head DOWN
step_end
-MovementData_0x18d2d4:
+DragonShrineClairWalkInMovement:
slow_step UP
slow_step UP
slow_step UP
@@ -380,12 +369,12 @@ MovementData_0x18d2d4:
slow_step UP
step_end
-MovementData_0x18d2da:
+DragonShrineClairBigStepLeftMovement:
fix_facing
big_step LEFT
step_end
-MovementData_0x18d2dd:
+DragonShrineClairSlowStepLeftMovement:
slow_step LEFT
remove_fixed_facing
step_end
@@ -404,7 +393,7 @@ MovementData_0x18d2e3:
step DOWN
step_end
-UnknownText_0x18d2ea:
+DragonShrineElderGreetingText:
text "Hm… Good to see"
line "you here."
@@ -427,29 +416,29 @@ UnknownText_0x18d2ea:
para "Ready?"
done
-UnknownText_0x18d3bc:
+DragonShrineQuestion1Text:
text "What are #MON"
line "to you?"
done
-UnknownText_0x18d3d3:
+DragonShrineQuestion2Text:
text "What helps you to"
line "win battles?"
done
-UnknownText_0x18d3f3:
+DragonShrineQuestion3Text:
text "What kind of"
line "trainer do you"
cont "wish to battle?"
done
-UnknownText_0x18d420:
+DragonShrineQuestion4Text:
text "What is most"
line "important for"
cont "raising #MON?"
done
-UnknownText_0x18d44a:
+DragonShrineQuestion5Text:
text "Strong #MON."
line "Weak #MON."
@@ -457,7 +446,7 @@ UnknownText_0x18d44a:
line "important?"
done
-UnknownText_0x18d47c:
+DragonShrinePassedTestText:
text "Hm… I see…"
para "You care deeply"
@@ -476,7 +465,7 @@ UnknownText_0x18d47c:
cont "#MON LEAGUE."
done
-UnknownText_0x18d520:
+DragonShrineMustIInformLanceText:
text "CLAIR!"
para "This child is"
@@ -491,7 +480,7 @@ UnknownText_0x18d520:
line "LANCE of this?"
done
-UnknownText_0x18d5a3:
+DragonShrineElderScoldsClairText:
text "CLAIR…"
para "Reflect upon what"
@@ -501,12 +490,12 @@ UnknownText_0x18d5a3:
line "child has."
done
-UnknownText_0x18d5e5:
+DragonShrineComeAgainText:
text "Come again, if you"
line "so desire."
done
-UnknownText_0x18d604:
+DragonShrineTakeThisDratiniText:
text "Hm… Good to see"
line "you here."
@@ -523,17 +512,17 @@ UnknownText_0x18d604:
line "your worth."
done
-UnknownText_0x18d697:
+DragonShrinePlayerReceivedDratiniText:
text "<PLAYER> received"
line "DRATINI!"
done
-UnknownText_0x18d6ac:
+DragonShrinePartyFullText:
text "Hm? Your #MON"
line "party is full."
done
-UnknownText_0x18d6ca:
+DragonShrineSymbolicDragonText:
text "Dragon #MON are"
line "symbolic of our"
cont "clan."
@@ -545,7 +534,7 @@ UnknownText_0x18d6ca:
line "one."
done
-UnknownText_0x18d724:
+DragonShrineClairsGrandfatherText:
text "CLAIR appears to"
line "have learned an"
@@ -556,7 +545,7 @@ UnknownText_0x18d724:
line "grandfather."
done
-UnknownText_0x18d782:
+DragonShrineSilverIsInTrainingText:
text "A boy close to"
line "your age is in"
cont "training here."
@@ -568,21 +557,21 @@ UnknownText_0x18d782:
line "little worrisome…"
done
-UnknownText_0x18d7f6:
+DragonShrineWrongAnswerText1:
text "Hah? I didn't"
line "quite catch that…"
done
-UnknownText_0x18d816:
+DragonShrineWrongAnswerText2:
text "What was it you"
line "said?"
done
-UnknownText_0x18d82d:
+DragonShrineRightAnswerText:
text "Oh, I understand…"
done
-UnknownText_0x18d840:
+DragonShrineElder2Text:
text "It's been quite"
line "some time since a"
@@ -594,7 +583,7 @@ UnknownText_0x18d840:
line "Master LANCE."
done
-UnknownText_0x18d8b1:
+DragonShrineElder3Text:
text "You know young"
line "Master LANCE?"
@@ -606,7 +595,7 @@ UnknownText_0x18d8b1:
line "blood."
done
-UnknownText_0x18d916:
+DragonShrineClairYouPassedText:
text "So how did it go?"
para "I guess there's no"
@@ -614,39 +603,39 @@ UnknownText_0x18d916:
para "You did fail?"
- para $56, $56, $56, $56, $56, $56
+ para "<……><……><……><……><……><……>"
para "…What? You passed?"
done
-UnknownText_0x18d974:
+DragonShrineClairThatCantBeText:
text "That can't be!"
done
-UnknownText_0x18d983:
+DragonShrineClairYoureLyingText:
text "You're lying!"
para "Even I haven't"
line "been approved!"
done
-UnknownText_0x18d9ae:
+DragonShrineIUnderstandText:
text "I-I understand…"
done
-UnknownText_0x18d9bf:
+DragonShrineHereRisingBadgeText:
text "Here, this is the"
line "RISINGBADGE…"
para "Hurry up! Take it!"
done
-UnknownText_0x18d9f2:
+DragonShrinePlayerReceivedRisingBadgeText:
text "<PLAYER> received"
line "RISINGBADGE."
done
-UnknownText_0x18da0b:
+DragonShrineRisingBadgeExplanationText:
text "RISINGBADGE will"
line "enable your"
@@ -664,11 +653,11 @@ UnknownText_0x18da0b:
line "question."
done
-UnknownText_0x18dab4:
- text $56, $56, $56, $56, $56, $56
+DragonShrineSpeechlessText:
+ text "<……><……><……><……><……><……>"
done
-DragonShrine_MapEventHeader:
+DragonShrine_MapEvents:
; filler
db 0, 0
@@ -685,7 +674,7 @@ DragonShrine_MapEventHeader:
.ObjectEvents:
db 4
- object_event 5, 1, SPRITE_ELDER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ElderScript_0x18d1a5, EVENT_GAVE_KURT_APRICORNS
- object_event 2, 4, SPRITE_ELDER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ElderScript_0x18d205, EVENT_GAVE_KURT_APRICORNS
- object_event 7, 4, SPRITE_ELDER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ElderScript_0x18d20d, EVENT_GAVE_KURT_APRICORNS
+ object_event 5, 1, SPRITE_ELDER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DragonShrineElder1Script, EVENT_GAVE_KURT_APRICORNS
+ object_event 2, 4, SPRITE_ELDER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DragonShrineElder2Script, EVENT_GAVE_KURT_APRICORNS
+ object_event 7, 4, SPRITE_ELDER, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, DragonShrineElder3Script, EVENT_GAVE_KURT_APRICORNS
object_event 4, 8, SPRITE_CLAIR, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_DRAGON_SHRINE_CLAIR
diff --git a/maps/DragonsDen1F.asm b/maps/DragonsDen1F.asm
index 8ab1c9bb4..0ff616c59 100644
--- a/maps/DragonsDen1F.asm
+++ b/maps/DragonsDen1F.asm
@@ -1,11 +1,11 @@
-DragonsDen1F_MapScriptHeader:
+DragonsDen1F_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-DragonsDen1F_MapEventHeader:
+DragonsDen1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/DragonsDenB1F.asm b/maps/DragonsDenB1F.asm
index 8f87735db..10b079edf 100644
--- a/maps/DragonsDenB1F.asm
+++ b/maps/DragonsDenB1F.asm
@@ -9,7 +9,7 @@ const_value set 2
const DRAGONSDENB1F_POKE_BALL2
const DRAGONSDENB1F_POKE_BALL3
-DragonsDenB1F_MapScriptHeader:
+DragonsDenB1F_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -17,7 +17,7 @@ DragonsDenB1F_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .CheckSilver
+ callback MAPCALLBACK_NEWMAP, .CheckSilver
.DummyScene0:
end
@@ -57,7 +57,7 @@ DragonsDenB1F_ClairScene:
buttonsound
giveitem TM_DRAGONBREATH
iffalse .BagFull
- itemtotext TM_DRAGONBREATH, $0
+ itemtotext TM_DRAGONBREATH, MEM_BUFFER_0
writetext NotifyReceiveDragonbreath
playsound SFX_ITEM
waitsfx
@@ -80,7 +80,7 @@ DragonsDenB1F_ClairScene:
pause 30
special RestartMapMusic
disappear DRAGONSDENB1F_CLAIR
- setscene $0
+ setscene 0
end
TrainerCooltrainermDarin:
@@ -135,7 +135,7 @@ PokeBallScript_0x18c95a:
iffalse .BagFull
disappear DRAGONSDENB1F_POKE_BALL1
opentext
- itemtotext DRAGON_FANG, $0
+ itemtotext DRAGON_FANG, MEM_BUFFER_0
writetext Text_FoundDragonFang
playsound SFX_ITEM
waitsfx
@@ -145,7 +145,7 @@ PokeBallScript_0x18c95a:
.BagFull:
opentext
- itemtotext DRAGON_FANG, $0
+ itemtotext DRAGON_FANG, MEM_BUFFER_0
writetext Text_FoundDragonFang
buttonsound
writetext Text_NoRoomForDragonFang
@@ -183,13 +183,13 @@ DragonsDenB1FMaxElixer:
itemball MAX_ELIXER
DragonsDenB1FHiddenRevive:
- dwb EVENT_DRAGONS_DEN_B1F_HIDDEN_REVIVE, REVIVE
+ hiddenitem EVENT_DRAGONS_DEN_B1F_HIDDEN_REVIVE, REVIVE
DragonsDenB1FHiddenMaxPotion:
- dwb EVENT_DRAGONS_DEN_B1F_HIDDEN_MAX_POTION, MAX_POTION
+ hiddenitem EVENT_DRAGONS_DEN_B1F_HIDDEN_MAX_POTION, MAX_POTION
DragonsDenB1FHiddenMaxElixer:
- dwb EVENT_DRAGONS_DEN_B1F_HIDDEN_MAX_ELIXER, MAX_ELIXER
+ hiddenitem EVENT_DRAGONS_DEN_B1F_HIDDEN_MAX_ELIXER, MAX_ELIXER
MovementDragonsDen_ClairWalksToYou:
slow_step RIGHT
@@ -406,7 +406,7 @@ Text_NoRoomForDragonFang:
cont "items."
done
-DragonsDenB1F_MapEventHeader:
+DragonsDenB1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/EarlsPokemonAcademy.asm b/maps/EarlsPokemonAcademy.asm
index 3ed66a713..1936858dd 100644
--- a/maps/EarlsPokemonAcademy.asm
+++ b/maps/EarlsPokemonAcademy.asm
@@ -6,7 +6,7 @@ const_value set 2
const EARLSPOKEMONACADEMY_YOUNGSTER2
const EARLSPOKEMONACADEMY_POKEDEX
-EarlsPokemonAcademy_MapScriptHeader:
+EarlsPokemonAcademy_MapScripts:
.SceneScripts:
db 0
@@ -69,11 +69,11 @@ AcademyBlackboard:
loadmenudata .BlackboardMenuData
_2dmenu
closewindow
- if_equal $1, .Poison
- if_equal $2, .Paralysis
- if_equal $3, .Sleep
- if_equal $4, .Burn
- if_equal $5, .Freeze
+ if_equal 1, .Poison
+ if_equal 2, .Paralysis
+ if_equal 3, .Sleep
+ if_equal 4, .Burn
+ if_equal 5, .Freeze
closetext
end
@@ -103,14 +103,13 @@ AcademyBlackboard:
jump .Loop
.BlackboardMenuData:
- db $40 ; flags
- db 00, 00 ; start coords
- db 08, 11 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, 11, 8
dw .MenuData2
db 1 ; default option
.MenuData2:
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
dn 3, 2 ; rows, columns
db 5 ; spacing
dba .Text
@@ -412,7 +411,7 @@ AcademyStickerMachineText:
para "stickers!"
done
-EarlsPokemonAcademy_MapEventHeader:
+EarlsPokemonAcademy_MapEvents:
; filler
db 0, 0
diff --git a/maps/EcruteakCity.asm b/maps/EcruteakCity.asm
index 322b403f6..5e3dada98 100644
--- a/maps/EcruteakCity.asm
+++ b/maps/EcruteakCity.asm
@@ -7,13 +7,13 @@ const_value set 2
const ECRUTEAKCITY_YOUNGSTER
const ECRUTEAKCITY_GRAMPS3
-EcruteakCity_MapScriptHeader:
+EcruteakCity_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
.FlyPoint:
setflag ENGINE_FLYPOINT_ECRUTEAK
@@ -88,7 +88,7 @@ EcruteakCityMartSign:
jumpstd martsign
EcruteakCityHiddenHyperPotion:
- dwb EVENT_ECRUTEAK_CITY_HIDDEN_HYPER_POTION, HYPER_POTION
+ hiddenitem EVENT_ECRUTEAK_CITY_HIDDEN_HYPER_POTION, HYPER_POTION
UnusedMissingDaughterText:
; This text is neither used nor referenced in the final game.
@@ -259,7 +259,7 @@ BurnedTowerSignText:
line "as it is unsafe."
done
-EcruteakCity_MapEventHeader:
+EcruteakCity_MapEvents:
; filler
db 0, 0
diff --git a/maps/EcruteakGym.asm b/maps/EcruteakGym.asm
index 491aaff7b..70776d1ee 100644
--- a/maps/EcruteakGym.asm
+++ b/maps/EcruteakGym.asm
@@ -7,7 +7,7 @@ const_value set 2
const ECRUTEAKGYM_GYM_GUY
const ECRUTEAKGYM_GRAMPS
-EcruteakGym_MapScriptHeader:
+EcruteakGym_MapScripts:
.SceneScripts:
db 2
scene_script .ForcedToLeave
@@ -32,7 +32,7 @@ MortyScript_0x99d58:
waitbutton
closetext
winlosstext UnknownText_0x9a00a, 0
- loadtrainer MORTY, 1
+ loadtrainer MORTY, MORTY1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_MORTY
@@ -43,7 +43,7 @@ MortyScript_0x99d58:
setflag ENGINE_FOGBADGE
checkcode VAR_BADGES
scall EcruteakGymActivateRockets
- setmapscene ECRUTEAK_HOUSE, $1
+ setmapscene ECRUTEAK_HOUSE, 1
setevent EVENT_RANG_CLEAR_BELL_1
setevent EVENT_RANG_CLEAR_BELL_2
.FightDone:
@@ -91,10 +91,10 @@ EcruteakGymClosed:
follow PLAYER, ECRUTEAKGYM_GRAMPS
applymovement PLAYER, MovementData_0x99e5f
stopfollow
- special FadeOutPalettes
+ special Special_FadeOutPalettes
playsound SFX_ENTER_DOOR
waitsfx
- warp ECRUTEAK_CITY, $6, $1b
+ warp ECRUTEAK_CITY, 6, 27
end
TrainerSageJeffrey:
@@ -162,7 +162,7 @@ EcruteakGymStatue:
iftrue .Beaten
jumpstd gymstatue1
.Beaten:
- trainertotext MORTY, 1, $1
+ trainertotext MORTY, MORTY1, MEM_BUFFER_1
jumpstd gymstatue2
MovementData_0x99e5d:
@@ -386,7 +386,7 @@ UnknownText_0x9a49c:
para "Hohohoho."
done
-EcruteakGym_MapEventHeader:
+EcruteakGym_MapEvents:
; filler
db 0, 0
diff --git a/maps/EcruteakHouse.asm b/maps/EcruteakHouse.asm
index 274cc99e3..436bdd0e3 100644
--- a/maps/EcruteakHouse.asm
+++ b/maps/EcruteakHouse.asm
@@ -4,7 +4,7 @@ const_value set 2
const ECRUTEAKHOUSE_SAGE3
const ECRUTEAKHOUSE_GRAMPS
-EcruteakHouse_MapScriptHeader:
+EcruteakHouse_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -12,7 +12,7 @@ EcruteakHouse_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .InitializeSages
+ callback MAPCALLBACK_OBJECTS, .InitializeSages
.DummyScene0:
end
@@ -35,7 +35,7 @@ EcruteakHouse_MapScriptHeader:
setevent EVENT_ECRUTEAK_HOUSE_WANDERING_SAGE
checkitem CLEAR_BELL
iftrue .NoClearBell
- setscene $0
+ setscene 0
.NoClearBell:
return
@@ -47,7 +47,7 @@ EcruteakHouse_CoordEvent1:
checkevent EVENT_RANG_CLEAR_BELL_2
iftrue EcruteakHouse_CoordEvent_DontMove
applymovement ECRUTEAKHOUSE_SAGE2, MovementData_0x980c7
- moveobject ECRUTEAKHOUSE_SAGE1, $4, $6
+ moveobject ECRUTEAKHOUSE_SAGE1, 4, 6
appear ECRUTEAKHOUSE_SAGE1
pause 5
disappear ECRUTEAKHOUSE_SAGE2
@@ -57,7 +57,7 @@ EcruteakHouse_CoordEvent2:
checkevent EVENT_RANG_CLEAR_BELL_1
iftrue EcruteakHouse_CoordEvent_DontMove
applymovement ECRUTEAKHOUSE_SAGE1, MovementData_0x980cc
- moveobject ECRUTEAKHOUSE_SAGE2, $5, $6
+ moveobject ECRUTEAKHOUSE_SAGE2, 5, 6
appear ECRUTEAKHOUSE_SAGE2
pause 5
disappear ECRUTEAKHOUSE_SAGE1
@@ -100,7 +100,7 @@ SageScript_0x98062:
writetext UnknownText_0x98250
waitbutton
closetext
- setscene $1
+ setscene 1
setevent EVENT_RANG_CLEAR_BELL_2
clearevent EVENT_RANG_CLEAR_BELL_1
setevent EVENT_GAVE_KURT_APRICORNS
@@ -202,7 +202,7 @@ UnknownText_0x98250:
line "but I must ask you"
cont "to leave."
- para $56, $56, $56
+ para "<……><……><……>"
para "Ah!"
@@ -277,7 +277,7 @@ EcruteakHouseGrampsText:
line "never to return."
done
-EcruteakHouse_MapEventHeader:
+EcruteakHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/EcruteakItemfinderHouse.asm b/maps/EcruteakItemfinderHouse.asm
index 011976f7e..0d956a181 100644
--- a/maps/EcruteakItemfinderHouse.asm
+++ b/maps/EcruteakItemfinderHouse.asm
@@ -2,7 +2,7 @@ const_value set 2
const ECRUTEAKITEMFINDERHOUSE_COOLTRAINER_M
const ECRUTEAKITEMFINDERHOUSE_POKEDEX
-EcruteakItemfinderHouse_MapScriptHeader:
+EcruteakItemfinderHouse_MapScripts:
.SceneScripts:
db 0
@@ -162,7 +162,7 @@ EcruteakThreeMonText:
line "grassland."
done
-EcruteakItemfinderHouse_MapEventHeader:
+EcruteakItemfinderHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/EcruteakLugiaSpeechHouse.asm b/maps/EcruteakLugiaSpeechHouse.asm
index e33ce1bf4..4b39f93eb 100644
--- a/maps/EcruteakLugiaSpeechHouse.asm
+++ b/maps/EcruteakLugiaSpeechHouse.asm
@@ -2,7 +2,7 @@ const_value set 2
const ECRUTEAKLUGIASPEECHHOUSE_GRAMPS
const ECRUTEAKLUGIASPEECHHOUSE_YOUNGSTER
-EcruteakLugiaSpeechHouse_MapScriptHeader:
+EcruteakLugiaSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -44,7 +44,7 @@ EcruteakLugiaSpeechHouseYoungsterText:
line "must be powerful."
done
-EcruteakLugiaSpeechHouse_MapEventHeader:
+EcruteakLugiaSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/EcruteakMart.asm b/maps/EcruteakMart.asm
index 6859ce5b9..c69de9a7d 100644
--- a/maps/EcruteakMart.asm
+++ b/maps/EcruteakMart.asm
@@ -3,7 +3,7 @@ const_value set 2
const ECRUTEAKMART_SUPER_NERD
const ECRUTEAKMART_GRANNY
-EcruteakMart_MapScriptHeader:
+EcruteakMart_MapScripts:
.SceneScripts:
db 0
@@ -45,7 +45,7 @@ EcruteakMartGrannyText:
line "right up."
done
-EcruteakMart_MapEventHeader:
+EcruteakMart_MapEvents:
; filler
db 0, 0
diff --git a/maps/EcruteakPokecenter1F.asm b/maps/EcruteakPokecenter1F.asm
index da661209f..409181ddc 100644
--- a/maps/EcruteakPokecenter1F.asm
+++ b/maps/EcruteakPokecenter1F.asm
@@ -5,7 +5,7 @@ const_value set 2
const ECRUTEAKPOKECENTER1F_GYM_GUY
const ECRUTEAKPOKECENTER1F_BILL
-EcruteakPokecenter1F_MapScriptHeader:
+EcruteakPokecenter1F_MapScripts:
.SceneScripts:
db 2
scene_script .MeetBill
@@ -53,7 +53,7 @@ EcruteakPokecenter1F_MapScriptHeader:
disappear ECRUTEAKPOKECENTER1F_BILL
clearevent EVENT_MET_BILL
setflag ENGINE_TIME_CAPSULE
- setscene $1
+ setscene 1
waitsfx
end
@@ -61,7 +61,7 @@ EcruteakPokecenter1FNurseScript:
jumpstd pokecenternurse
EcruteakPokecenter1FPokefanMScript:
- special Mobile_DummyReturnFalse
+ special Special_Mobile_DummyReturnFalse
iftrue .mobile
jumptextfaceplayer EcruteakPokecenter1FPokefanMText
@@ -206,7 +206,7 @@ EcruteakPokecenter1FGymGuyText:
line "acy. I know it!"
done
-EcruteakPokecenter1F_MapEventHeader:
+EcruteakPokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/ElmsHouse.asm b/maps/ElmsHouse.asm
index 72e3f68e2..292562f85 100644
--- a/maps/ElmsHouse.asm
+++ b/maps/ElmsHouse.asm
@@ -2,7 +2,7 @@ const_value set 2
const ELMSHOUSE_ELMS_WIFE
const ELMSHOUSE_ELMS_SON
-ElmsHouse_MapScriptHeader:
+ElmsHouse_MapScripts:
.SceneScripts:
db 0
@@ -83,7 +83,7 @@ ElmsHousePCText:
cont "search papers."
done
-ElmsHouse_MapEventHeader:
+ElmsHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/ElmsLab.asm b/maps/ElmsLab.asm
index 13c8b367e..9322aefe8 100644
--- a/maps/ElmsLab.asm
+++ b/maps/ElmsLab.asm
@@ -6,7 +6,7 @@ const_value set 2
const ELMSLAB_POKE_BALL3
const ELMSLAB_OFFICER
-ElmsLab_MapScriptHeader:
+ElmsLab_MapScripts:
.SceneScripts:
db 6
scene_script .MeetElm
@@ -18,7 +18,7 @@ ElmsLab_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .MoveElmCallback
+ callback MAPCALLBACK_OBJECTS, .MoveElmCallback
.MeetElm:
priorityjump .WalkUpToElm
@@ -42,7 +42,7 @@ ElmsLab_MapScriptHeader:
.MoveElmCallback:
checkscene
iftrue .Skip
- moveobject ELMSLAB_ELM, $3, $4
+ moveobject ELMSLAB_ELM, 3, 4
.Skip:
return
@@ -84,7 +84,7 @@ ElmsLab_MapScriptHeader:
opentext
writetext ElmText_ChooseAPokemon
waitbutton
- setscene $1
+ setscene 1
closetext
end
@@ -161,7 +161,7 @@ CyndaquilPokeBallScript:
checkevent EVENT_GOT_A_POKEMON_FROM_ELM
iftrue LookAtElmPokeBallScript
spriteface ELMSLAB_ELM, DOWN
- refreshscreen $0
+ refreshscreen
pokepic CYNDAQUIL
cry CYNDAQUIL
waitbutton
@@ -175,7 +175,7 @@ CyndaquilPokeBallScript:
writetext ChoseStarterText
buttonsound
waitsfx
- pokenamemem CYNDAQUIL, $0
+ pokenamemem CYNDAQUIL, MEM_BUFFER_0
writetext ReceivedStarterText
playsound SFX_CAUGHT_MON
waitsfx
@@ -191,7 +191,7 @@ TotodilePokeBallScript:
checkevent EVENT_GOT_A_POKEMON_FROM_ELM
iftrue LookAtElmPokeBallScript
spriteface ELMSLAB_ELM, DOWN
- refreshscreen $0
+ refreshscreen
pokepic TOTODILE
cry TOTODILE
waitbutton
@@ -205,7 +205,7 @@ TotodilePokeBallScript:
writetext ChoseStarterText
buttonsound
waitsfx
- pokenamemem TOTODILE, $0
+ pokenamemem TOTODILE, MEM_BUFFER_0
writetext ReceivedStarterText
playsound SFX_CAUGHT_MON
waitsfx
@@ -219,7 +219,7 @@ ChikoritaPokeBallScript:
checkevent EVENT_GOT_A_POKEMON_FROM_ELM
iftrue LookAtElmPokeBallScript
spriteface ELMSLAB_ELM, DOWN
- refreshscreen $0
+ refreshscreen
pokepic CHIKORITA
cry CHIKORITA
waitbutton
@@ -233,7 +233,7 @@ ChikoritaPokeBallScript:
writetext ChoseStarterText
buttonsound
waitsfx
- pokenamemem CHIKORITA, $0
+ pokenamemem CHIKORITA, MEM_BUFFER_0
writetext ReceivedStarterText
playsound SFX_CAUGHT_MON
waitsfx
@@ -274,8 +274,8 @@ ElmDirectionsScript:
closetext
setevent EVENT_GOT_A_POKEMON_FROM_ELM
setevent EVENT_RIVAL_CHERRYGROVE_CITY
- setscene $5
- setmapscene NEW_BARK_TOWN, $1
+ setscene 5
+ setmapscene NEW_BARK_TOWN, 1
end
ElmDescribesMrPokemonScript:
@@ -308,11 +308,11 @@ ElmsLabHealingMachine:
end
ElmsLabHealingMachine_HealParty:
- special TrainerRankings_Healings
+ special Special_StubbedTrainerRankings_Healings
special HealParty
playmusic MUSIC_NONE
- writebyte 1 ; Machine is in Elm's Lab
- special HealMachineAnim
+ writebyte HEALMACHINE_ELMS_LAB
+ special Special_HealMachineAnim
pause 30
special RestartMapMusic
closetext
@@ -341,13 +341,13 @@ ElmAfterTheftScript:
buttonsound
setevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
setflag ENGINE_BUG_CONTEST_ON
- setmapscene ROUTE_29, $1
+ setmapscene ROUTE_29, 1
clearevent EVENT_ROUTE_30_YOUNGSTER_JOEY
setevent EVENT_ROUTE_30_BATTLE
writetext ElmAfterTheftText6
waitbutton
closetext
- setscene $6
+ setscene 6
end
ElmStudyingEggScript:
@@ -479,7 +479,7 @@ AideScript_GivePotions:
writetext AideText_AlwaysBusy
waitbutton
closetext
- setscene $2
+ setscene 2
end
AideScript_WalkBalls1:
@@ -500,14 +500,14 @@ AideScript_GiveYouBalls:
opentext
writetext AideText_GiveYouBalls
buttonsound
- itemtotext POKE_BALL, $1
+ itemtotext POKE_BALL, MEM_BUFFER_1
scall AideScript_ReceiveTheBalls
giveitem POKE_BALL, 5
writetext AideText_ExplainBalls
buttonsound
itemnotify
closetext
- setscene $2
+ setscene 2
end
AideScript_ReceiveTheBalls:
@@ -556,13 +556,13 @@ CopScript:
opentext
writetext ElmsLabOfficerText1
buttonsound
- special SpecialNameRival
+ special Special_NameRival
writetext ElmsLabOfficerText2
waitbutton
closetext
applymovement ELMSLAB_OFFICER, OfficerLeavesMovement
disappear ELMSLAB_OFFICER
- setscene $2
+ setscene 2
end
ElmsLabWindow:
@@ -794,7 +794,7 @@ ElmText_GotAnEmail:
text "Oh, hey! I got an"
line "e-mail!"
- para $56, $56, $56
+ para "<……><……><……>"
line "Hm… Uh-huh…"
para "Okay…"
@@ -1370,7 +1370,7 @@ ElmsLabPCText:
line "screen…"
done
-ElmsLab_MapEventHeader:
+ElmsLab_MapEvents:
; filler
db 0, 0
diff --git a/maps/FastShip1F.asm b/maps/FastShip1F.asm
index 869cb147c..6dfb2350d 100644
--- a/maps/FastShip1F.asm
+++ b/maps/FastShip1F.asm
@@ -4,7 +4,7 @@ const_value set 2
const FASTSHIP1F_SAILOR3
const FASTSHIP1F_GENTLEMAN
-FastShip1F_MapScriptHeader:
+FastShip1F_MapScripts:
.SceneScripts:
db 3
scene_script .DummyScene0
@@ -35,11 +35,11 @@ FastShip1F_MapScriptHeader:
clearevent EVENT_FAST_SHIP_HAS_ARRIVED
checkevent EVENT_FAST_SHIP_FIRST_TIME
iftrue .SkipGrandpa
- setscene $2
+ setscene 2
end
.SkipGrandpa:
- setscene $0
+ setscene 0
end
SailorScript_0x75160:
@@ -68,11 +68,11 @@ SailorScript_0x75160:
closetext
scall .LetThePlayerOut
playsound SFX_EXIT_BUILDING
- special FadeOutPalettes
+ special Special_FadeOutPalettes
waitsfx
setevent EVENT_VERMILION_PORT_SAILOR_AT_GANGWAY
- setmapscene VERMILION_PORT, $1
- warp VERMILION_PORT, $7, $11
+ setmapscene VERMILION_PORT, 1
+ warp VERMILION_PORT, 7, 17
end
._Olivine:
@@ -81,11 +81,11 @@ SailorScript_0x75160:
closetext
scall .LetThePlayerOut
playsound SFX_EXIT_BUILDING
- special FadeOutPalettes
+ special Special_FadeOutPalettes
waitsfx
setevent EVENT_OLIVINE_PORT_SAILOR_AT_GANGWAY
- setmapscene OLIVINE_PORT, $1
- warp OLIVINE_PORT, $7, $17
+ setmapscene OLIVINE_PORT, 1
+ warp OLIVINE_PORT, 7, 23
end
.LetThePlayerOut:
@@ -120,7 +120,7 @@ FastShip1FSailorScript:
jumptextfaceplayer FastShip1FSailorText
WorriedGrandpaSceneRight:
- moveobject FASTSHIP1F_GENTLEMAN, $14, $6
+ moveobject FASTSHIP1F_GENTLEMAN, 20, 6
WorriedGrandpaSceneLeft:
appear FASTSHIP1F_GENTLEMAN
@@ -135,7 +135,7 @@ WorriedGrandpaSceneLeft:
spriteface PLAYER, RIGHT
applymovement FASTSHIP1F_GENTLEMAN, MovementData_0x75222
disappear FASTSHIP1F_GENTLEMAN
- setscene $0
+ setscene 0
end
MovementData_0x7520e:
@@ -285,7 +285,7 @@ UnknownText_0x754be:
cont "VERMILION CITY."
done
-FastShip1F_MapEventHeader:
+FastShip1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/FastShipB1F.asm b/maps/FastShipB1F.asm
index 498e65f70..c179b490a 100644
--- a/maps/FastShipB1F.asm
+++ b/maps/FastShipB1F.asm
@@ -12,7 +12,7 @@ const_value set 2
const FASTSHIPB1F_YOUNGSTER1
const FASTSHIPB1F_YOUNGSTER2
-FastShipB1F_MapScriptHeader:
+FastShipB1F_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -31,7 +31,7 @@ UnknownScript_0x7673c:
checkevent EVENT_FAST_SHIP_B1F_SAILOR_RIGHT
iftrue UnknownScript_0x76766
applymovement FASTSHIPB1F_SAILOR2, MovementData_0x76876
- moveobject FASTSHIPB1F_SAILOR1, $1e, $6
+ moveobject FASTSHIPB1F_SAILOR1, 30, 6
appear FASTSHIPB1F_SAILOR1
pause 5
disappear FASTSHIPB1F_SAILOR2
@@ -41,7 +41,7 @@ UnknownScript_0x76751:
checkevent EVENT_FAST_SHIP_B1F_SAILOR_LEFT
iftrue UnknownScript_0x76766
applymovement FASTSHIPB1F_SAILOR1, MovementData_0x76871
- moveobject FASTSHIPB1F_SAILOR2, $1f, $6
+ moveobject FASTSHIPB1F_SAILOR2, 31, 6
appear FASTSHIPB1F_SAILOR2
pause 5
disappear FASTSHIPB1F_SAILOR1
@@ -448,7 +448,7 @@ SchoolboyRickyAfterBattleText:
cont "stone panels."
done
-FastShipB1F_MapEventHeader:
+FastShipB1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/FastShipCabins_NNW_NNE_NE.asm b/maps/FastShipCabins_NNW_NNE_NE.asm
index 1bd1c91f1..a6ff922dd 100644
--- a/maps/FastShipCabins_NNW_NNE_NE.asm
+++ b/maps/FastShipCabins_NNW_NNE_NE.asm
@@ -7,7 +7,7 @@ const_value set 2
const FASTSHIPCABINS_NNW_NNE_NE_GENTLEMAN
const FASTSHIPCABINS_NNW_NNE_NE_PHARMACIST
-FastShipCabins_NNW_NNE_NE_MapScriptHeader:
+FastShipCabins_NNW_NNE_NE_MapScripts:
.SceneScripts:
db 0
@@ -98,9 +98,9 @@ SailorScript_0x755f1:
waitbutton
closetext
setevent EVENT_FAST_SHIP_LAZY_SAILOR
- setmapscene FAST_SHIP_B1F, $1
+ setmapscene FAST_SHIP_B1F, 1
checkcode VAR_FACING
- if_equal $3, UnknownScript_0x75629
+ if_equal RIGHT, UnknownScript_0x75629
applymovement FASTSHIPCABINS_NNW_NNE_NE_SAILOR, MovementData_0x75637
playsound SFX_EXIT_BUILDING
disappear FASTSHIPCABINS_NNW_NNE_NE_SAILOR
@@ -266,7 +266,7 @@ BurglarCoreyAfterBattleText:
line "lost it…"
done
-FastShipCabins_NNW_NNE_NE_MapEventHeader:
+FastShipCabins_NNW_NNE_NE_MapEvents:
; filler
db 0, 0
diff --git a/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm b/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
index efccd7d92..5c038275d 100644
--- a/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
+++ b/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
@@ -11,14 +11,14 @@ const_value set 2
const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_POKEFAN_F
const FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_SUPER_NERD2
-FastShipCabins_SE_SSE_CaptainsCabin_MapScriptHeader:
+FastShipCabins_SE_SSE_CaptainsCabin_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-Unused_0x75ea6:
+Unreferenced_0x75ea6:
end
SSAquaCaptain:
@@ -49,10 +49,10 @@ SSAquaGranddaughterBefore:
waitbutton
closetext
special Special_FadeBlackQuickly
- special Special_ReloadSpritesNoPalettes
+ special ReloadSpritesNoPalettes
disappear FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN2
applymovement PLAYER, MovementData_0x76004
- moveobject FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN1, $3, $13
+ moveobject FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN1, 3, 19
appear FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN1
spriteface PLAYER, UP
spriteface FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_TWIN1, UP
@@ -81,7 +81,7 @@ SSAquaGranddaughterBefore:
writetext SSAquaEntertainedGranddaughterText
buttonsound
setevent EVENT_VERMILION_PORT_SAILOR_AT_GANGWAY
- setmapscene FAST_SHIP_1F, $0
+ setmapscene FAST_SHIP_1F, 0
jump SSAquaMetalCoatAndDocking
SSAquaGrandpa:
@@ -94,7 +94,7 @@ SSAquaGrandpa:
writetext SSAquaCantFindGranddaughterText
waitbutton
closetext
- setmapscene FAST_SHIP_1F, $0
+ setmapscene FAST_SHIP_1F, 0
end
SSAquaMetalCoatAndDocking:
@@ -462,7 +462,7 @@ SSAquaHasArrivedVermilionText:
cont "VERMILION CITY."
done
-FastShipCabins_SE_SSE_CaptainsCabin_MapEventHeader:
+FastShipCabins_SE_SSE_CaptainsCabin_MapEvents:
; filler
db 0, 0
diff --git a/maps/FastShipCabins_SW_SSW_NW.asm b/maps/FastShipCabins_SW_SSW_NW.asm
index 8af9a2e3f..d4d35f584 100644
--- a/maps/FastShipCabins_SW_SSW_NW.asm
+++ b/maps/FastShipCabins_SW_SSW_NW.asm
@@ -4,7 +4,7 @@ const_value set 2
const FASTSHIPCABINS_SW_SSW_NW_BUENA
const FASTSHIPCABINS_SW_SSW_NW_ROCKER
-FastShipCabins_SW_SSW_NW_MapScriptHeader:
+FastShipCabins_SW_SSW_NW_MapScripts:
.SceneScripts:
db 0
@@ -49,7 +49,7 @@ TrainerGuitaristClyde:
.Script:
end_if_just_battled
- special Mobile_DummyReturnFalse
+ special Special_Mobile_DummyReturnFalse
iftrue .mobile
opentext
writetext UnknownText_0x75d65
@@ -70,8 +70,8 @@ FastShipBed:
waitbutton
closetext
special Special_FadeBlackQuickly
- special Special_ReloadSpritesNoPalettes
- special TrainerRankings_Healings
+ special ReloadSpritesNoPalettes
+ special Special_StubbedTrainerRankings_Healings
special HealParty
playmusic MUSIC_HEAL
pause 60
@@ -222,7 +222,7 @@ FastShipArrivedVermilionText:
cont "VERMILION CITY."
done
-FastShipCabins_SW_SSW_NW_MapEventHeader:
+FastShipCabins_SW_SSW_NW_MapEvents:
; filler
db 0, 0
diff --git a/maps/FightingDojo.asm b/maps/FightingDojo.asm
index 01cdea5b5..46cc7ddeb 100644
--- a/maps/FightingDojo.asm
+++ b/maps/FightingDojo.asm
@@ -2,7 +2,7 @@ const_value set 2
const FIGHTINGDOJO_BLACK_BELT
const FIGHTINGDOJO_POKE_BALL
-FightingDojo_MapScriptHeader:
+FightingDojo_MapScripts:
.SceneScripts:
db 0
@@ -42,7 +42,7 @@ FightingDojoSign1Text:
line "side!"
done
-FightingDojo_MapEventHeader:
+FightingDojo_MapEvents:
; filler
db 0, 0
diff --git a/maps/FuchsiaBillSpeechHouse.asm b/maps/FuchsiaBillSpeechHouse.asm
index a1e468976..8a72256b6 100644
--- a/maps/FuchsiaBillSpeechHouse.asm
+++ b/maps/FuchsiaBillSpeechHouse.asm
@@ -2,7 +2,7 @@ const_value set 2
const FUCHSIABILLSPEECHHOUSE_POKEFAN_F
const FUCHSIABILLSPEECHHOUSE_YOUNGSTER
-FuchsiaBillSpeechHouse_MapScriptHeader:
+FuchsiaBillSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -27,7 +27,7 @@ FuchsiaBillSpeechHouseYoungsterText:
cont "CYCLING ROAD."
done
-FuchsiaBillSpeechHouse_MapEventHeader:
+FuchsiaBillSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/FuchsiaCity.asm b/maps/FuchsiaCity.asm
index 79824c76d..34a636aaf 100644
--- a/maps/FuchsiaCity.asm
+++ b/maps/FuchsiaCity.asm
@@ -4,13 +4,13 @@ const_value set 2
const FUCHSIACITY_TEACHER
const FUCHSIACITY_FRUIT_TREE
-FuchsiaCity_MapScriptHeader:
+FuchsiaCity_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
.FlyPoint:
setflag ENGINE_FLYPOINT_FUCHSIA
@@ -124,7 +124,7 @@ NoLitteringSignText:
line "waste with you."
done
-FuchsiaCity_MapEventHeader:
+FuchsiaCity_MapEvents:
; filler
db 0, 0
@@ -139,8 +139,8 @@ FuchsiaCity_MapEventHeader:
warp_def 18, 3, 3, SAFARI_ZONE_FUCHSIA_GATE_BETA
warp_def 37, 22, 1, ROUTE_15_FUCHSIA_GATE
warp_def 37, 23, 2, ROUTE_15_FUCHSIA_GATE
- warp_def 7, 35, 1, ROUTE_19___FUCHSIA_GATE
- warp_def 8, 35, 2, ROUTE_19___FUCHSIA_GATE
+ warp_def 7, 35, 1, ROUTE_19_FUCHSIA_GATE
+ warp_def 8, 35, 2, ROUTE_19_FUCHSIA_GATE
.CoordEvents:
db 0
diff --git a/maps/FuchsiaGym.asm b/maps/FuchsiaGym.asm
index 8aaf6e364..a691d1d50 100644
--- a/maps/FuchsiaGym.asm
+++ b/maps/FuchsiaGym.asm
@@ -6,7 +6,7 @@ const_value set 2
const FUCHSIAGYM_FUCHSIA_GYM_4
const FUCHSIAGYM_GYM_GUY
-FuchsiaGym_MapScriptHeader:
+FuchsiaGym_MapScripts:
.SceneScripts:
db 0
@@ -23,7 +23,7 @@ FuchsiaGymJanineScript:
waitbutton
closetext
winlosstext JanineText_ToughOne, 0
- loadtrainer JANINE, 1
+ loadtrainer JANINE, JANINE1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_JANINE
@@ -35,7 +35,7 @@ FuchsiaGymJanineScript:
variablesprite SPRITE_FUCHSIA_GYM_2, SPRITE_LASS
variablesprite SPRITE_FUCHSIA_GYM_3, SPRITE_LASS
variablesprite SPRITE_FUCHSIA_GYM_4, SPRITE_YOUNGSTER
- special MapCallbackSprites_LoadUsedSpritesGFX
+ special Special_LoadUsedSpritesGFX
opentext
writetext Text_ReceivedSoulBadge
playsound SFX_GET_BADGE
@@ -65,7 +65,7 @@ LassAliceScript:
applymovement FUCHSIAGYM_FUCHSIA_GYM_1, Movement_NinjaSpin
faceplayer
variablesprite SPRITE_FUCHSIA_GYM_1, SPRITE_LASS
- special MapCallbackSprites_LoadUsedSpritesGFX
+ special Special_LoadUsedSpritesGFX
.AliceUnmasked:
faceplayer
opentext
@@ -99,7 +99,7 @@ LassLindaScript:
applymovement FUCHSIAGYM_FUCHSIA_GYM_2, Movement_NinjaSpin
faceplayer
variablesprite SPRITE_FUCHSIA_GYM_2, SPRITE_LASS
- special MapCallbackSprites_LoadUsedSpritesGFX
+ special Special_LoadUsedSpritesGFX
.LindaUnmasked:
faceplayer
opentext
@@ -133,7 +133,7 @@ PicnickerCindyScript:
applymovement FUCHSIAGYM_FUCHSIA_GYM_3, Movement_NinjaSpin
faceplayer
variablesprite SPRITE_FUCHSIA_GYM_3, SPRITE_LASS
- special MapCallbackSprites_LoadUsedSpritesGFX
+ special Special_LoadUsedSpritesGFX
.CindyUnmasked:
faceplayer
opentext
@@ -167,7 +167,7 @@ CamperBarryScript:
applymovement FUCHSIAGYM_FUCHSIA_GYM_4, Movement_NinjaSpin
faceplayer
variablesprite SPRITE_FUCHSIA_GYM_4, SPRITE_YOUNGSTER
- special MapCallbackSprites_LoadUsedSpritesGFX
+ special Special_LoadUsedSpritesGFX
.BarryUnmasked:
faceplayer
opentext
@@ -216,7 +216,7 @@ FuchsiaGymStatue:
iftrue .Beaten
jumpstd gymstatue1
.Beaten:
- trainertotext JANINE, 1, $1
+ trainertotext JANINE, JANINE1, MEM_BUFFER_1
jumpstd gymstatue2
Movement_NinjaSpin:
@@ -380,7 +380,7 @@ FuchsiaGymGuyWinText:
cont "from JOHTO!"
done
-FuchsiaGym_MapEventHeader:
+FuchsiaGym_MapEvents:
; filler
db 0, 0
diff --git a/maps/FuchsiaMart.asm b/maps/FuchsiaMart.asm
index 48ffdba5f..4ab7932f3 100644
--- a/maps/FuchsiaMart.asm
+++ b/maps/FuchsiaMart.asm
@@ -3,7 +3,7 @@ const_value set 2
const FUCHSIAMART_FISHER
const FUCHSIAMART_COOLTRAINER_F
-FuchsiaMart_MapScriptHeader:
+FuchsiaMart_MapScripts:
.SceneScripts:
db 0
@@ -37,7 +37,7 @@ FuchsiaMartCooltrainerFText:
cont "town."
done
-FuchsiaMart_MapEventHeader:
+FuchsiaMart_MapEvents:
; filler
db 0, 0
diff --git a/maps/FuchsiaPokecenter1F.asm b/maps/FuchsiaPokecenter1F.asm
index eca4aa8e0..9bc8775a6 100644
--- a/maps/FuchsiaPokecenter1F.asm
+++ b/maps/FuchsiaPokecenter1F.asm
@@ -4,7 +4,7 @@ const_value set 2
const FUCHSIAPOKECENTER1F_COOLTRAINER_F
const FUCHSIAPOKECENTER1F_JANINE_IMPERSONATOR
-FuchsiaPokecenter1F_MapScriptHeader:
+FuchsiaPokecenter1F_MapScripts:
.SceneScripts:
db 1
scene_script .DummyScene
@@ -33,7 +33,7 @@ JanineImpersonatorScript_0x196462:
applymovement FUCHSIAPOKECENTER1F_JANINE_IMPERSONATOR, MovementData_0x196486
faceplayer
variablesprite SPRITE_JANINE_IMPERSONATOR, SPRITE_JANINE
- special MapCallbackSprites_LoadUsedSpritesGFX
+ special Special_LoadUsedSpritesGFX
opentext
writetext UnknownText_0x19654e
waitbutton
@@ -41,7 +41,7 @@ JanineImpersonatorScript_0x196462:
applymovement FUCHSIAPOKECENTER1F_JANINE_IMPERSONATOR, MovementData_0x196486
faceplayer
variablesprite SPRITE_JANINE_IMPERSONATOR, SPRITE_LASS
- special MapCallbackSprites_LoadUsedSpritesGFX
+ special Special_LoadUsedSpritesGFX
end
MovementData_0x196486:
@@ -88,7 +88,7 @@ UnknownText_0x19654e:
line "like her now!"
done
-FuchsiaPokecenter1F_MapEventHeader:
+FuchsiaPokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/FuchsiaPokecenter2FBeta.asm b/maps/FuchsiaPokecenter2FBeta.asm
index 619022047..dc61c55ab 100644
--- a/maps/FuchsiaPokecenter2FBeta.asm
+++ b/maps/FuchsiaPokecenter2FBeta.asm
@@ -1,11 +1,11 @@
-FuchsiaPokecenter2FBeta_MapScriptHeader:
+FuchsiaPokecenter2FBeta_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-FuchsiaPokecenter2FBeta_MapEventHeader:
+FuchsiaPokecenter2FBeta_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodBikeShop.asm b/maps/GoldenrodBikeShop.asm
index c8838afe5..48cc677ab 100644
--- a/maps/GoldenrodBikeShop.asm
+++ b/maps/GoldenrodBikeShop.asm
@@ -1,7 +1,7 @@
const_value set 2
const GOLDENRODBIKESHOP_CLERK
-GoldenrodBikeShop_MapScriptHeader:
+GoldenrodBikeShop_MapScripts:
.SceneScripts:
db 0
@@ -102,7 +102,7 @@ UnknownText_0x548ed:
line "BICYCLE!"
done
-GoldenrodBikeShop_MapEventHeader:
+GoldenrodBikeShop_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodBillsHouse.asm b/maps/GoldenrodBillsHouse.asm
index 2032c5b1e..33c8dbd17 100644
--- a/maps/GoldenrodBillsHouse.asm
+++ b/maps/GoldenrodBillsHouse.asm
@@ -3,7 +3,7 @@ const_value set 2
const GOLDENRODBILLSHOUSE_POKEFAN_F
const GOLDENRODBILLSHOUSE_TWIN
-GoldenrodBillsHouse_MapScriptHeader:
+GoldenrodBillsHouse_MapScripts:
.SceneScripts:
db 0
@@ -22,7 +22,7 @@ BillsHouseBill:
buttonsound
waitsfx
checkcode VAR_PARTYCOUNT
- if_equal $6, UnknownScript_0x54c13
+ if_equal PARTY_LENGTH, UnknownScript_0x54c13
writetext UnknownText_0x54dae
playsound SFX_CAUGHT_MON
waitsfx
@@ -74,8 +74,8 @@ BillsSister:
iftrue UnknownScript_0x54c58
writetext UnknownText_0x54f9e
askforphonenumber PHONE_BILL
- if_equal $1, UnknownScript_0x54c64
- if_equal $2, UnknownScript_0x54c5e
+ if_equal PHONE_CONTACTS_FULL, UnknownScript_0x54c64
+ if_equal PHONE_CONTACT_REFUSED, UnknownScript_0x54c5e
waitsfx
addcellnum PHONE_BILL
writetext UnknownText_0x54fd9
@@ -242,7 +242,7 @@ UnknownText_0x55069:
line "system."
done
-GoldenrodBillsHouse_MapEventHeader:
+GoldenrodBillsHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodCity.asm b/maps/GoldenrodCity.asm
index 8e324a9bb..89ca2bb0d 100644
--- a/maps/GoldenrodCity.asm
+++ b/maps/GoldenrodCity.asm
@@ -15,14 +15,14 @@ const_value set 2
const GOLDENRODCITY_ROCKET6
const GOLDENRODCITY_POKEFAN_M2
-GoldenrodCity_MapScriptHeader:
+GoldenrodCity_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 2
- dbw MAPCALLBACK_NEWMAP, .FlyPointAndFloria
- dbw MAPCALLBACK_OBJECTS, .MoveTutor
+ callback MAPCALLBACK_NEWMAP, .FlyPointAndFloria
+ callback MAPCALLBACK_OBJECTS, .MoveTutor
.FlyPointAndFloria:
setflag ENGINE_FLYPOINT_GOLDENROD
@@ -63,54 +63,51 @@ MoveTutor:
yesorno
iffalse .Refused2
checkcoins 4000
- if_equal $2, .NotEnoughMoney
+ if_equal HAVE_LESS, .NotEnoughMoney
writetext UnknownText_0x1990ce
loadmenudata .MoveMenuDataHeader
verticalmenu
closewindow
- if_equal $1, .Flamethrower
- if_equal $2, .Thunderbolt
- if_equal $3, .IceBeam
+ if_equal MOVETUTOR_FLAMETHROWER, .Flamethrower
+ if_equal MOVETUTOR_THUNDERBOLT, .Thunderbolt
+ if_equal MOVETUTOR_ICE_BEAM, .IceBeam
jump .Incompatible
.Flamethrower:
- writebyte $1
+ writebyte MOVETUTOR_FLAMETHROWER
writetext UnknownText_0x1991cf
special Special_MoveTutor
- if_equal $0, .TeachMove
+ if_equal FALSE, .TeachMove
jump .Incompatible
.Thunderbolt:
- writebyte $2
+ writebyte MOVETUTOR_THUNDERBOLT
writetext UnknownText_0x1991cf
special Special_MoveTutor
- if_equal $0, .TeachMove
+ if_equal FALSE, .TeachMove
jump .Incompatible
.IceBeam:
- writebyte $3
+ writebyte MOVETUTOR_ICE_BEAM
writetext UnknownText_0x1991cf
special Special_MoveTutor
- if_equal $0, .TeachMove
+ if_equal FALSE, .TeachMove
jump .Incompatible
-
.MoveMenuDataHeader:
- db $40 ; flags
- db 02, 00 ; start coords
- db 11, 15 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 2, 15, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
.MenuData2:
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 4 ; items
db "FLAMETHROWER@"
db "THUNDERBOLT@"
db "ICE BEAM@"
db "CANCEL@"
-
.Refused:
writetext UnknownText_0x1990b4
waitbutton
@@ -551,10 +548,10 @@ UnknownText_0x1991ac:
done
UnknownText_0x1991cf:
- text ""
+ text_start
done
-GoldenrodCity_MapEventHeader:
+GoldenrodCity_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodDeptStore1F.asm b/maps/GoldenrodDeptStore1F.asm
index 27bf60e58..6f07b6ad4 100644
--- a/maps/GoldenrodDeptStore1F.asm
+++ b/maps/GoldenrodDeptStore1F.asm
@@ -4,7 +4,7 @@ const_value set 2
const GOLDENRODDEPTSTORE1F_BUG_CATCHER
const GOLDENRODDEPTSTORE1F_GENTLEMAN
-GoldenrodDeptStore1F_MapScriptHeader:
+GoldenrodDeptStore1F_MapScripts:
.SceneScripts:
db 0
@@ -78,7 +78,7 @@ GoldenrodDeptStore1FDirectoryText:
para "ROOFTOP LOOKOUT"
done
-GoldenrodDeptStore1F_MapEventHeader:
+GoldenrodDeptStore1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodDeptStore2F.asm b/maps/GoldenrodDeptStore2F.asm
index b22e89026..bfe6a398f 100644
--- a/maps/GoldenrodDeptStore2F.asm
+++ b/maps/GoldenrodDeptStore2F.asm
@@ -5,7 +5,7 @@ const_value set 2
const GOLDENRODDEPTSTORE2F_COOLTRAINER_F
const GOLDENRODDEPTSTORE2F_GENTLEMAN
-GoldenrodDeptStore2F_MapScriptHeader:
+GoldenrodDeptStore2F_MapScripts:
.SceneScripts:
db 0
@@ -41,8 +41,8 @@ GoldenrodDeptStore2FDirectory:
GoldenrodDeptStore2FElevatorButton:
jumpstd elevatorbutton
-; possibly unused
-UnknownText_0x55b7c:
+; unused
+UnusedText_0x55b7c:
text "We intend to sell"
line "items for #MON"
cont "to hold."
@@ -52,8 +52,8 @@ UnknownText_0x55b7c:
cont "MON hold it."
done
-; possibly unused
-UnknownText_0x55bd3:
+; unused
+UnusedText_0x55bd3:
text "By giving #MON"
line "items to hold, I"
@@ -100,7 +100,7 @@ GoldenrodDeptStore2FDirectoryText:
line " MARKET"
done
-GoldenrodDeptStore2F_MapEventHeader:
+GoldenrodDeptStore2F_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodDeptStore3F.asm b/maps/GoldenrodDeptStore3F.asm
index 27bc44953..c495cb440 100644
--- a/maps/GoldenrodDeptStore3F.asm
+++ b/maps/GoldenrodDeptStore3F.asm
@@ -3,7 +3,7 @@ const_value set 2
const GOLDENRODDEPTSTORE3F_SUPER_NERD
const GOLDENRODDEPTSTORE3F_ROCKER
-GoldenrodDeptStore3F_MapScriptHeader:
+GoldenrodDeptStore3F_MapScripts:
.SceneScripts:
db 0
@@ -56,7 +56,7 @@ GoldenrodDeptStore3FDirectoryText:
line " COLLECTION"
done
-GoldenrodDeptStore3F_MapEventHeader:
+GoldenrodDeptStore3F_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodDeptStore4F.asm b/maps/GoldenrodDeptStore4F.asm
index 94705ac98..03882b8f2 100644
--- a/maps/GoldenrodDeptStore4F.asm
+++ b/maps/GoldenrodDeptStore4F.asm
@@ -4,7 +4,7 @@ const_value set 2
const GOLDENRODDEPTSTORE4F_BUG_CATCHER
const GOLDENRODDEPTSTORE4F_GAMEBOY_KID
-GoldenrodDeptStore4F_MapScriptHeader:
+GoldenrodDeptStore4F_MapScripts:
.SceneScripts:
db 0
@@ -77,7 +77,7 @@ GoldenrodDeptStore4FDirectoryText:
para "4F MEDICINE BOX"
done
-GoldenrodDeptStore4F_MapEventHeader:
+GoldenrodDeptStore4F_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodDeptStore5F.asm b/maps/GoldenrodDeptStore5F.asm
index 70e7ab046..94da64d2f 100644
--- a/maps/GoldenrodDeptStore5F.asm
+++ b/maps/GoldenrodDeptStore5F.asm
@@ -6,13 +6,13 @@ const_value set 2
const GOLDENRODDEPTSTORE5F_CARRIE
const GOLDENRODDEPTSTORE5F_RECEPTIONIST
-GoldenrodDeptStore5F_MapScriptHeader:
+GoldenrodDeptStore5F_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .CheckIfSunday
+ callback MAPCALLBACK_OBJECTS, .CheckIfSunday
.CheckIfSunday:
checkcode VAR_WEEKDAY
@@ -65,11 +65,11 @@ ReceptionistScript_0x560ce:
if_not_equal SUNDAY, .EventIsOver
checkflag ENGINE_GOLDENROD_MALL_5F_HAPPINESS_EVENT
iftrue .EventIsOver
- special GetFirstPokemonHappiness
+ special Special_GetFirstPokemonHappiness
writetext UnknownText_0x56143
buttonsound
- if_greater_than $95, .VeryHappy
- if_greater_than $31, .SomewhatHappy
+ if_greater_than 150 - 1, .VeryHappy
+ if_greater_than 50 - 1, .SomewhatHappy
jump .NotVeryHappy
.VeryHappy:
@@ -106,8 +106,8 @@ ReceptionistScript_0x560ce:
Carrie:
faceplayer
opentext
- special SpecialGameboyCheck
- if_not_equal $2, .NotGBC ; This is a dummy check from Gold and Silver. In normal gameplay, this would not be checked.
+ special Special_GameboyCheck
+ if_not_equal GBCHECK_CGB, .NotGBC ; This is a dummy check from Gold/Silver
writetext UnknownText_0x56241
waitbutton
closetext
@@ -217,7 +217,7 @@ GoldenrodDeptStore5FDirectoryText:
para "5F TM CORNER"
done
-GoldenrodDeptStore5F_MapEventHeader:
+GoldenrodDeptStore5F_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodDeptStore6F.asm b/maps/GoldenrodDeptStore6F.asm
index 82d04ccc8..73cb0f17e 100644
--- a/maps/GoldenrodDeptStore6F.asm
+++ b/maps/GoldenrodDeptStore6F.asm
@@ -2,7 +2,7 @@ const_value set 2
const GOLDENRODDEPTSTORE6F_LASS
const GOLDENRODDEPTSTORE6F_SUPER_NERD
-GoldenrodDeptStore6F_MapScriptHeader:
+GoldenrodDeptStore6F_MapScripts:
.SceneScripts:
db 0
@@ -13,41 +13,41 @@ GoldenrodVendingMachine:
opentext
writetext GoldenrodVendingText
.Start:
- special PlaceMoneyTopRight
+ special Special_PlaceMoneyTopRight
loadmenudata .MenuData
verticalmenu
closewindow
- if_equal $1, .FreshWater
- if_equal $2, .SodaPop
- if_equal $3, .Lemonade
+ if_equal 1, .FreshWater
+ if_equal 2, .SodaPop
+ if_equal 3, .Lemonade
closetext
end
.FreshWater:
- checkmoney $0, 200
- if_equal $2, .NotEnoughMoney
+ checkmoney YOUR_MONEY, 200
+ if_equal HAVE_LESS, .NotEnoughMoney
giveitem FRESH_WATER
iffalse .NotEnoughSpace
- takemoney $0, 200
- itemtotext FRESH_WATER, $0
+ takemoney YOUR_MONEY, 200
+ itemtotext FRESH_WATER, MEM_BUFFER_0
jump .VendItem
.SodaPop:
- checkmoney $0, 300
- if_equal $2, .NotEnoughMoney
+ checkmoney YOUR_MONEY, 300
+ if_equal HAVE_LESS, .NotEnoughMoney
giveitem SODA_POP
iffalse .NotEnoughSpace
- takemoney $0, 300
- itemtotext SODA_POP, $0
+ takemoney YOUR_MONEY, 300
+ itemtotext SODA_POP, MEM_BUFFER_0
jump .VendItem
.Lemonade:
- checkmoney $0, 350
- if_equal $2, .NotEnoughMoney
+ checkmoney YOUR_MONEY, 350
+ if_equal HAVE_LESS, .NotEnoughMoney
giveitem LEMONADE
iffalse .NotEnoughSpace
- takemoney $0, 350
- itemtotext LEMONADE, $0
+ takemoney YOUR_MONEY, 350
+ itemtotext LEMONADE, MEM_BUFFER_0
jump .VendItem
.VendItem:
@@ -69,21 +69,19 @@ GoldenrodVendingMachine:
jump .Start
.MenuData:
- db $40 ; flags
- db 02, 00 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 2, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
.MenuData2:
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 4 ; items
db "FRESH WATER ¥200@"
db "SODA POP ¥300@"
db "LEMONADE ¥350@"
db "CANCEL@"
-
GoldenrodDeptStore6FLassScript:
jumptextfaceplayer GoldenrodDeptStore6FLassText
@@ -105,8 +103,8 @@ GoldenrodClangText:
text "Clang! A can of"
line "@"
text_from_ram StringBuffer3
- text $55
- db "popped out!"
+ text_start
+ cont "popped out!"
done
GoldenrodVendingNoMoneyText:
@@ -149,7 +147,7 @@ GoldenrodDeptStore6FDirectoryText:
para "6F TRANQUIL SQUARE"
done
-GoldenrodDeptStore6F_MapEventHeader:
+GoldenrodDeptStore6F_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodDeptStoreB1F.asm b/maps/GoldenrodDeptStoreB1F.asm
index da3dd0765..4d0603d0f 100644
--- a/maps/GoldenrodDeptStoreB1F.asm
+++ b/maps/GoldenrodDeptStoreB1F.asm
@@ -8,14 +8,14 @@ const_value set 2
const GOLDENRODDEPTSTOREB1F_BLACK_BELT3
const GOLDENRODDEPTSTOREB1F_MACHOP
-GoldenrodDeptStoreB1F_MapScriptHeader:
+GoldenrodDeptStoreB1F_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 2
- dbw MAPCALLBACK_TILES, UnknownScript_0x7d781
- dbw MAPCALLBACK_NEWMAP, UnknownScript_0x7d7ac
+ callback MAPCALLBACK_TILES, UnknownScript_0x7d781
+ callback MAPCALLBACK_NEWMAP, UnknownScript_0x7d7ac
UnknownScript_0x7d781:
checkevent EVENT_RECEIVED_CARD_KEY
@@ -23,7 +23,7 @@ UnknownScript_0x7d781:
jump UnknownScript_0x7d791
UnknownScript_0x7d78a:
- changeblock $10, $4, $d
+ changeblock 16, 4, $0d ; floor
jump UnknownScript_0x7d791
UnknownScript_0x7d791:
@@ -31,15 +31,15 @@ UnknownScript_0x7d791:
iftrue .Layout2
checkevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_3
iftrue .Layout3
- changeblock $a, $8, $d
+ changeblock 10, 8, $0d ; floor
return
.Layout2:
- changeblock $4, $a, $d
+ changeblock 4, 10, $0d ; floor
return
.Layout3:
- changeblock $a, $c, $d
+ changeblock 10, 12, $0d ; floor
return
UnknownScript_0x7d7ac:
@@ -109,7 +109,7 @@ UnknownText_0x7d8bb:
text "MACHOKE: Maaacho!"
done
-GoldenrodDeptStoreB1F_MapEventHeader:
+GoldenrodDeptStoreB1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodDeptStoreElevator.asm b/maps/GoldenrodDeptStoreElevator.asm
index 9b6a2158b..6ff041e9f 100644
--- a/maps/GoldenrodDeptStoreElevator.asm
+++ b/maps/GoldenrodDeptStoreElevator.asm
@@ -1,4 +1,4 @@
-GoldenrodDeptStoreElevator_MapScriptHeader:
+GoldenrodDeptStoreElevator_MapScripts:
.SceneScripts:
db 0
@@ -43,7 +43,6 @@ MapGoldenrodDeptStoreElevatorSignpost0Script:
.Done:
end
-
Elevator_0x566e0:
db 7 ; floors
elevfloor FLOOR_B1F, 2, GOLDENROD_DEPT_STORE_B1F
@@ -55,8 +54,7 @@ Elevator_0x566e0:
elevfloor FLOOR_6F, 2, GOLDENROD_DEPT_STORE_6F
db -1 ; end
-
-GoldenrodDeptStoreElevator_MapEventHeader:
+GoldenrodDeptStoreElevator_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodDeptStoreRoof.asm b/maps/GoldenrodDeptStoreRoof.asm
index b384d43f1..55f885e62 100644
--- a/maps/GoldenrodDeptStoreRoof.asm
+++ b/maps/GoldenrodDeptStoreRoof.asm
@@ -8,23 +8,23 @@ const_value set 2
const GOLDENRODDEPTSTOREROOF_TEACHER
const GOLDENRODDEPTSTOREROOF_BUG_CATCHER
-GoldenrodDeptStoreRoof_MapScriptHeader:
+GoldenrodDeptStoreRoof_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 2
- dbw MAPCALLBACK_TILES, .CheckSaleChangeBlock
- dbw MAPCALLBACK_OBJECTS, .CheckSaleChangeClerk
+ callback MAPCALLBACK_TILES, .CheckSaleChangeBlock
+ callback MAPCALLBACK_OBJECTS, .CheckSaleChangeClerk
.CheckSaleChangeBlock:
checkflag ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON
- iftrue .ChangeBlock
+ iftrue .SaleIsOn
return
-.ChangeBlock:
- changeblock $0, $2, $3f
- changeblock $0, $4, $f
+.SaleIsOn:
+ changeblock 0, 2, $3f ; cardboard boxes
+ changeblock 0, 4, $0f ; vendor booth
return
.CheckSaleChangeClerk:
@@ -211,7 +211,7 @@ PokeDollVendingMachineText:
line "empty…"
done
-GoldenrodDeptStoreRoof_MapEventHeader:
+GoldenrodDeptStoreRoof_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodFlowerShop.asm b/maps/GoldenrodFlowerShop.asm
index e35ac3352..38a8edc3f 100644
--- a/maps/GoldenrodFlowerShop.asm
+++ b/maps/GoldenrodFlowerShop.asm
@@ -2,7 +2,7 @@ const_value set 2
const GOLDENRODFLOWERSHOP_TEACHER
const GOLDENRODFLOWERSHOP_FLORIA
-GoldenrodFlowerShop_MapScriptHeader:
+GoldenrodFlowerShop_MapScripts:
.SceneScripts:
db 0
@@ -159,7 +159,7 @@ UnknownText_0x55604:
line "#MON!"
done
-GoldenrodFlowerShop_MapEventHeader:
+GoldenrodFlowerShop_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodGameCorner.asm b/maps/GoldenrodGameCorner.asm
index fc0216504..d467e84c3 100644
--- a/maps/GoldenrodGameCorner.asm
+++ b/maps/GoldenrodGameCorner.asm
@@ -12,13 +12,13 @@ const_value set 2
const GOLDENRODGAMECORNER_POKEFAN_M2
const GOLDENRODGAMECORNER_POKEFAN_M3
-GoldenrodGameCorner_MapScriptHeader:
+GoldenrodGameCorner_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .Callback
+ callback MAPCALLBACK_OBJECTS, .Callback
.Callback:
checkevent EVENT_BEAT_ELITE_FOUR
@@ -64,15 +64,15 @@ GoldenrodGmeCornerTMVendor_LoopScript: ; 056c36
loadmenudata GoldenrodGameCornerTMVendorMenuData
verticalmenu
closewindow
- if_equal $1, .Thunder
- if_equal $2, .Blizzard
- if_equal $3, .FireBlast
+ if_equal 1, .Thunder
+ if_equal 2, .Blizzard
+ if_equal 3, .FireBlast
jump GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
.Thunder:
checkcoins 5500
- if_equal $2, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
- itemtotext TM_THUNDER, $0
+ if_equal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
+ itemtotext TM_THUNDER, MEM_BUFFER_0
scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
giveitem TM_THUNDER
@@ -82,8 +82,8 @@ GoldenrodGmeCornerTMVendor_LoopScript: ; 056c36
.Blizzard:
checkcoins 5500
- if_equal $2, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
- itemtotext TM_BLIZZARD, $0
+ if_equal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
+ itemtotext TM_BLIZZARD, MEM_BUFFER_0
scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
giveitem TM_BLIZZARD
@@ -93,8 +93,8 @@ GoldenrodGmeCornerTMVendor_LoopScript: ; 056c36
.FireBlast:
checkcoins 5500
- if_equal $2, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
- itemtotext TM_FIRE_BLAST, $0
+ if_equal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
+ itemtotext TM_FIRE_BLAST, MEM_BUFFER_0
scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
giveitem TM_FIRE_BLAST
@@ -138,23 +138,20 @@ GoldenrodGameCornerPrizeVendor_NoCoinCaseScript:
closetext
end
-
GoldenrodGameCornerTMVendorMenuData:
- db $40 ; flags
- db 02, 00 ; start coords
- db 11, 15 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 2, 15, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
.MenuData2:
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 4 ; items
db "TM25 5500@"
db "TM14 5500@"
db "TM38 5500@"
db "CANCEL@"
-
GoldenrodGameCornerPrizeMonVendorScript:
faceplayer
opentext
@@ -168,17 +165,17 @@ GoldenrodGameCornerPrizeMonVendorScript:
loadmenudata .MenuDataHeader
verticalmenu
closewindow
- if_equal $1, .abra
- if_equal $2, .cubone
- if_equal $3, .wobbuffet
+ if_equal 1, .abra
+ if_equal 2, .cubone
+ if_equal 3, .wobbuffet
jump GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
.abra
checkcoins 100
- if_equal $2, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
+ if_equal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
checkcode VAR_PARTYCOUNT
- if_equal $6, GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
- pokenamemem ABRA, $0
+ if_equal PARTY_LENGTH, GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
+ pokenamemem ABRA, MEM_BUFFER_0
scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
waitsfx
@@ -193,10 +190,10 @@ GoldenrodGameCornerPrizeMonVendorScript:
.cubone
checkcoins 800
- if_equal $2, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
+ if_equal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
checkcode VAR_PARTYCOUNT
- if_equal $6, GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
- pokenamemem CUBONE, $0
+ if_equal PARTY_LENGTH, GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
+ pokenamemem CUBONE, MEM_BUFFER_0
scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
waitsfx
@@ -211,10 +208,10 @@ GoldenrodGameCornerPrizeMonVendorScript:
.wobbuffet
checkcoins 1500
- if_equal $2, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
+ if_equal HAVE_LESS, GoldenrodGameCornerPrizeVendor_NotEnoughCoinsScript
checkcode VAR_PARTYCOUNT
- if_equal $6, GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
- pokenamemem WOBBUFFET, $0
+ if_equal PARTY_LENGTH, GoldenrodGameCornerPrizeMonVendor_NoRoomForPrizeScript
+ pokenamemem WOBBUFFET, MEM_BUFFER_0
scall GoldenrodGameCornerPrizeVendor_ConfirmPurchaseScript
iffalse GoldenrodGameCornerPrizeVendor_CancelPurchaseScript
waitsfx
@@ -227,23 +224,20 @@ GoldenrodGameCornerPrizeMonVendorScript:
takecoins 1500
jump .loop
-
.MenuDataHeader:
- db $40 ; flags
- db 02, 00 ; start coords
- db 11, 17 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 2, 17, TEXTBOX_Y - 1
dw .MenuData2
db 1 ; default option
.MenuData2:
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 4 ; items
db "ABRA 100@"
db "CUBONE 800@"
db "WOBBUFFET 1500@"
db "CANCEL@"
-
GoldenrodGameCornerPharmacistScript:
faceplayer
opentext
@@ -301,21 +295,21 @@ GoldenrodGameCornerLeftTheirDrinkScript:
GoldenrodGameCornerSlotsMachineScript:
random 6
if_equal 0, GoldenrodGameCornerLuckySlotsMachineScript
- refreshscreen $0
+ refreshscreen
writebyte FALSE
special Special_SlotMachine
closetext
end
GoldenrodGameCornerLuckySlotsMachineScript:
- refreshscreen $0
+ refreshscreen
writebyte TRUE
special Special_SlotMachine
closetext
end
GoldenrodGameCornerCardFlipMachineScript:
- refreshscreen $0
+ refreshscreen
special Special_CardFlip
closetext
end
@@ -442,7 +436,7 @@ GoldenrodGameCornerLeftTheirDrinkText:
para "It smells sweet."
done
-GoldenrodGameCorner_MapEventHeader:
+GoldenrodGameCorner_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodGym.asm b/maps/GoldenrodGym.asm
index 4446e653a..f4eac1b6b 100644
--- a/maps/GoldenrodGym.asm
+++ b/maps/GoldenrodGym.asm
@@ -6,7 +6,7 @@ const_value set 2
const GOLDENRODGYM_BUENA2
const GOLDENRODGYM_GYM_GUY
-GoldenrodGym_MapScriptHeader:
+GoldenrodGym_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -30,12 +30,12 @@ WhitneyScript_0x5400c:
waitbutton
closetext
winlosstext UnknownText_0x541a5, 0
- loadtrainer WHITNEY, 1
+ loadtrainer WHITNEY, WHITNEY1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_WHITNEY
setevent EVENT_MADE_WHITNEY_CRY
- setscene $1
+ setscene 1
setevent EVENT_BEAT_BEAUTY_VICTORIA
setevent EVENT_BEAT_BEAUTY_SAMANTHA
setevent EVENT_BEAT_LASS_CARRIE
@@ -112,7 +112,7 @@ WhitneyCriesScript:
waitbutton
closetext
applymovement GOLDENRODGYM_LASS2, BridgetWalksAwayMovement
- setscene $0
+ setscene 0
clearevent EVENT_MADE_WHITNEY_CRY
end
@@ -171,7 +171,7 @@ GoldenrodGymStatue:
iftrue .Beaten
jumpstd gymstatue1
.Beaten:
- trainertotext WHITNEY, 1, $1
+ trainertotext WHITNEY, WHITNEY1, MEM_BUFFER_1
jumpstd gymstatue2
BridgetWalksUpMovement:
@@ -379,7 +379,7 @@ GoldenrodGymGuyWinText:
cont "the ladies here."
done
-GoldenrodGym_MapEventHeader:
+GoldenrodGym_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodHappinessRater.asm b/maps/GoldenrodHappinessRater.asm
index 667698662..4fa8506dc 100644
--- a/maps/GoldenrodHappinessRater.asm
+++ b/maps/GoldenrodHappinessRater.asm
@@ -3,7 +3,7 @@ const_value set 2
const GOLDENRODHAPPINESSRATER_POKEFAN_M
const GOLDENRODHAPPINESSRATER_TWIN
-GoldenrodHappinessRater_MapScriptHeader:
+GoldenrodHappinessRater_MapScripts:
.SceneScripts:
db 0
@@ -13,14 +13,14 @@ GoldenrodHappinessRater_MapScriptHeader:
TeacherScript_0x54953:
faceplayer
opentext
- special GetFirstPokemonHappiness
+ special Special_GetFirstPokemonHappiness
writetext UnknownText_0x549a3
buttonsound
- if_greater_than $f9, UnknownScript_0x54973
- if_greater_than $c7, UnknownScript_0x54979
- if_greater_than $95, UnknownScript_0x5497f
- if_greater_than $63, UnknownScript_0x54985
- if_greater_than $31, UnknownScript_0x5498b
+ if_greater_than 250 - 1, UnknownScript_0x54973
+ if_greater_than 200 - 1, UnknownScript_0x54979
+ if_greater_than 150 - 1, UnknownScript_0x5497f
+ if_greater_than 100 - 1, UnknownScript_0x54985
+ if_greater_than 50 - 1, UnknownScript_0x5498b
jump UnknownScript_0x54991
UnknownScript_0x54973:
@@ -136,7 +136,7 @@ GoldenrodHappinessRaterTwinText:
cont "acts really glad!"
done
-GoldenrodHappinessRater_MapEventHeader:
+GoldenrodHappinessRater_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodMagnetTrainStation.asm b/maps/GoldenrodMagnetTrainStation.asm
index 8b114fd1c..c0f749413 100644
--- a/maps/GoldenrodMagnetTrainStation.asm
+++ b/maps/GoldenrodMagnetTrainStation.asm
@@ -2,7 +2,7 @@ const_value set 2
const GOLDENRODMAGNETTRAINSTATION_OFFICER
const GOLDENRODMAGNETTRAINSTATION_GENTLEMAN
-GoldenrodMagnetTrainStation_MapScriptHeader:
+GoldenrodMagnetTrainStation_MapScripts:
.SceneScripts:
db 1
scene_script .DummyScene
@@ -34,12 +34,12 @@ OfficerScript_0x550ec:
closetext
applymovement GOLDENRODMAGNETTRAINSTATION_OFFICER, MovementData_0x55146
applymovement PLAYER, MovementData_0x5514f
- writebyte $0
+ writebyte FALSE
special Special_MagnetTrain
warpcheck
newloadmap MAPSETUP_TRAIN
applymovement PLAYER, .MovementBoardTheTrain
- wait $14
+ wait 20
end
.MovementBoardTheTrain:
@@ -164,7 +164,7 @@ GoldenrodMagnetTrainStationGentlemanText:
cont "to KANTO."
done
-GoldenrodMagnetTrainStation_MapEventHeader:
+GoldenrodMagnetTrainStation_MapEvents:
; filler
db 0, 0
@@ -172,8 +172,8 @@ GoldenrodMagnetTrainStation_MapEventHeader:
db 4
warp_def 8, 17, 5, GOLDENROD_CITY
warp_def 9, 17, 5, GOLDENROD_CITY
- warp_def 6, 5, 4, SAFFRON_TRAIN_STATION
- warp_def 11, 5, 3, SAFFRON_TRAIN_STATION
+ warp_def 6, 5, 4, SAFFRON_MAGNET_TRAIN_STATION
+ warp_def 11, 5, 3, SAFFRON_MAGNET_TRAIN_STATION
.CoordEvents:
db 1
diff --git a/maps/GoldenrodNameRater.asm b/maps/GoldenrodNameRater.asm
index 259e0fbb7..fc3369a21 100644
--- a/maps/GoldenrodNameRater.asm
+++ b/maps/GoldenrodNameRater.asm
@@ -1,7 +1,7 @@
const_value set 2
const GOLDENRODNAMERATER_NAME_RATER
-GoldenrodNameRater_MapScriptHeader:
+GoldenrodNameRater_MapScripts:
.SceneScripts:
db 0
@@ -11,7 +11,7 @@ GoldenrodNameRater_MapScriptHeader:
GoldenrodNameRater:
faceplayer
opentext
- special SpecialNameRater
+ special Special_NameRater
waitbutton
closetext
end
@@ -22,9 +22,9 @@ GoldenrodNameRaterBookshelf:
GoldenrodNameRaterRadio:
jumpstd radio2
-INCLUDE "text/unused_sweet_honey.asm"
+INCLUDE "data/unused/sweet_honey_text.asm"
-GoldenrodNameRater_MapEventHeader:
+GoldenrodNameRater_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodPPSpeechHouse.asm b/maps/GoldenrodPPSpeechHouse.asm
index d8e898a79..416ed37c7 100644
--- a/maps/GoldenrodPPSpeechHouse.asm
+++ b/maps/GoldenrodPPSpeechHouse.asm
@@ -2,7 +2,7 @@ const_value set 2
const GOLDENRODPPSPEECHHOUSE_FISHER
const GOLDENRODPPSPEECHHOUSE_LASS
-GoldenrodPPSpeechHouse_MapScriptHeader:
+GoldenrodPPSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -51,7 +51,7 @@ GoldenrodPPSpeechHouseLassText:
cont "an item."
done
-GoldenrodPPSpeechHouse_MapEventHeader:
+GoldenrodPPSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodPokeComCenter2FMobile.asm b/maps/GoldenrodPokeComCenter2FMobile.asm
index a3e639409..d45b3ac56 100644
--- a/maps/GoldenrodPokeComCenter2FMobile.asm
+++ b/maps/GoldenrodPokeComCenter2FMobile.asm
@@ -3,7 +3,7 @@ const_value set 2
const GOLDENRODPOKECOMCENTER2FMOBILE_SCIENTIST2
const GOLDENRODPOKECOMCENTER2FMOBILE_SCIENTIST3
-GoldenrodPokeComCenter2FMobile_MapScriptHeader:
+GoldenrodPokeComCenter2FMobile_MapScripts:
.SceneScripts:
db 0
@@ -28,8 +28,8 @@ UnknownScript_0x625df:
loadmenudata MenuDataHeader_0x62602
verticalmenu
closewindow
- if_equal $1, UnknownScript_0x625f0
- if_equal $2, UnknownScript_0x625f8
+ if_equal 1, UnknownScript_0x625f0
+ if_equal 2, UnknownScript_0x625f8
jump UnknownScript_0x62600
UnknownScript_0x625f0:
@@ -48,22 +48,19 @@ UnknownScript_0x62600:
closetext
end
-
MenuDataHeader_0x62602:
- db $40 ; flags
- db 00, 00 ; start coords
- db 08, 15 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, 15, 8
dw .MenuData2
db 1 ; default option
.MenuData2:
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 3 ; items
- db "# つうしん クラブ@" ; # COM CLUB
+ db "# つうしん クラブ@" ; # COM CLUB
db "モバイルセンター@" ; MOBILE CENTER
db "やめる@" ; QUIT
-
MapGoldenrodPokeComCenter2FMobileSignpost1Script:
opentext
writetext UnknownText_0x62989
@@ -73,8 +70,8 @@ UnknownScript_0x62629:
loadmenudata MenuDataHeader_0x6264c
verticalmenu
closewindow
- if_equal $1, UnknownScript_0x6263a
- if_equal $2, UnknownScript_0x62642
+ if_equal 1, UnknownScript_0x6263a
+ if_equal 2, UnknownScript_0x62642
jump UnknownScript_0x6264a
UnknownScript_0x6263a:
@@ -93,22 +90,19 @@ UnknownScript_0x6264a:
closetext
end
-
MenuDataHeader_0x6264c:
- db $40 ; flags
- db 00, 00 ; start coords
- db 08, 15 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, 15, 8
dw .MenuData2
db 1 ; default option
.MenuData2:
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 3 ; items
- db "でんわ", $1f,"つかうとき@" ; Use phone
- db "でんわ", $4a,"つながらないとき@" ; Don't use phone
+ db "でんわ<WO>つかうとき@" ; Use phone
+ db "でんわ<GA>つながらないとき@" ; Don't use phone
db "やめる@" ; QUIT
-
MapGoldenrodPokeComCenter2FMobileSignpost2Script:
jumptext UnknownText_0x62b26
@@ -245,7 +239,7 @@ UnknownText_0x62b26:
line "OFFICE received an"
cont "e-mail. It says…"
- para "<......> <......> <......>"
+ para "<……> <……> <……>"
para "To the #COM"
line "CENTER staff…"
@@ -265,10 +259,10 @@ UnknownText_0x62b26:
para "the world can link"
line "without barriers!"
- para "<......> <......> <......>"
+ para "<……> <……> <……>"
done
-GoldenrodPokeComCenter2FMobile_MapEventHeader:
+GoldenrodPokeComCenter2FMobile_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodPokecenter1F.asm b/maps/GoldenrodPokecenter1F.asm
index 617d54327..f01194311 100644
--- a/maps/GoldenrodPokecenter1F.asm
+++ b/maps/GoldenrodPokecenter1F.asm
@@ -5,7 +5,7 @@ const_value set 2
const GOLDENRODPOKECENTER1F_LASS
const GOLDENRODPOKECENTER1F_POKEFAN_F
-GoldenrodPokecenter1F_MapScriptHeader:
+GoldenrodPokecenter1F_MapScripts:
.SceneScripts:
db 0
@@ -17,7 +17,7 @@ NurseScript_0x60f91:
GoldenrodPokecenter1F_GSBallSceneLeft:
writebyte BATTLETOWERACTION_CHECKMOBILEEVENT
- special BattleTowerAction
+ special Special_BattleTowerAction
if_equal MOBILE_EVENT_OBJECT_GS_BALL, .gsball
end
@@ -25,7 +25,7 @@ GoldenrodPokecenter1F_GSBallSceneLeft:
checkevent EVENT_GOT_GS_BALL_FROM_POKECOM_CENTER
iftrue .cancel
playsound SFX_EXIT_BUILDING
- moveobject GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, $0, $7
+ moveobject GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, 0, 7
disappear GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST
appear GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST
playmusic MUSIC_SHOW_ME_AROUND
@@ -49,7 +49,7 @@ GoldenrodPokecenter1F_GSBallSceneLeft:
GoldenrodPokecenter1F_GSBallSceneRight:
writebyte BATTLETOWERACTION_CHECKMOBILEEVENT
- special BattleTowerAction
+ special Special_BattleTowerAction
if_equal MOBILE_EVENT_OBJECT_GS_BALL, .gsball
end
@@ -57,7 +57,7 @@ GoldenrodPokecenter1F_GSBallSceneRight:
checkevent EVENT_GOT_GS_BALL_FROM_POKECOM_CENTER
iftrue .cancel
playsound SFX_EXIT_BUILDING
- moveobject GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, $0, $7
+ moveobject GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST, 0, 7
disappear GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST
appear GOLDENRODPOKECENTER1F_LINK_RECEPTIONIST
playmusic MUSIC_SHOW_ME_AROUND
@@ -804,7 +804,7 @@ UnknownText_0x62549:
line "the EON MAIL."
done
-GoldenrodPokecenter1F_MapEventHeader:
+GoldenrodPokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodUnderground.asm b/maps/GoldenrodUnderground.asm
index debf98bfa..e8e566666 100644
--- a/maps/GoldenrodUnderground.asm
+++ b/maps/GoldenrodUnderground.asm
@@ -9,15 +9,15 @@ const_value set 2
const GOLDENRODUNDERGROUND_SUPER_NERD6
const GOLDENRODUNDERGROUND_GRANNY
-GoldenrodUnderground_MapScriptHeader:
+GoldenrodUnderground_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 3
- dbw MAPCALLBACK_NEWMAP, .ResetSwitches
- dbw MAPCALLBACK_TILES, .CheckBasementKey
- dbw MAPCALLBACK_OBJECTS, .CheckDayOfWeek
+ callback MAPCALLBACK_NEWMAP, .ResetSwitches
+ callback MAPCALLBACK_TILES, .CheckBasementKey
+ callback MAPCALLBACK_OBJECTS, .CheckDayOfWeek
.ResetSwitches:
clearevent EVENT_SWITCH_1
@@ -35,7 +35,7 @@ GoldenrodUnderground_MapScriptHeader:
clearevent EVENT_SWITCH_12
clearevent EVENT_SWITCH_13
clearevent EVENT_SWITCH_14
- writebyte $0
+ writebyte 0
copyvartobyte UndergroundSwitchPositions
return
@@ -45,7 +45,7 @@ GoldenrodUnderground_MapScriptHeader:
return
.LockBasementDoor:
- changeblock $12, $6, $3d
+ changeblock 18, 6, $3d ; locked door
return
.CheckDayOfWeek:
@@ -192,12 +192,12 @@ OlderHaircutBrotherScript:
.DoHaircut:
checkflag ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
iftrue .AlreadyGotHaircut
- special PlaceMoneyTopRight
+ special Special_PlaceMoneyTopRight
writetext UnknownText_0x7c5f9
yesorno
iffalse .Refused
- checkmoney $0, 500
- if_equal $2, .NotEnoughMoney
+ checkmoney YOUR_MONEY, 500
+ if_equal HAVE_LESS, .NotEnoughMoney
writetext UnknownText_0x7c69a
buttonsound
special Special_YoungerHaircutBrother
@@ -227,15 +227,15 @@ OlderHaircutBrotherScript:
jump .then
.then
- takemoney $0, 500
- special PlaceMoneyTopRight
+ takemoney YOUR_MONEY, 500
+ special Special_PlaceMoneyTopRight
writetext UnknownText_0x7c6b8
waitbutton
closetext
- special FadeOutPalettes
+ special Special_FadeOutPalettes
playmusic MUSIC_HEAL
pause 60
- special FadeInPalettes
+ special Special_FadeInPalettes
special RestartMapMusic
opentext
writetext UnknownText_0x7c6d8
@@ -275,12 +275,12 @@ YoungerHaircutBrotherScript:
.DoHaircut:
checkflag ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
iftrue .AlreadyGotHaircut
- special PlaceMoneyTopRight
+ special Special_PlaceMoneyTopRight
writetext UnknownText_0x7c75c
yesorno
iffalse .Refused
- checkmoney $0, 300
- if_equal $2, .NotEnoughMoney
+ checkmoney YOUR_MONEY, 300
+ if_equal HAVE_LESS, .NotEnoughMoney
writetext UnknownText_0x7c7f1
buttonsound
special Special_OlderHaircutBrother
@@ -310,15 +310,15 @@ YoungerHaircutBrotherScript:
jump .then
.then
- takemoney $0, 300
- special PlaceMoneyTopRight
+ takemoney YOUR_MONEY, 300
+ special Special_PlaceMoneyTopRight
writetext UnknownText_0x7c80e
waitbutton
closetext
- special FadeOutPalettes
+ special Special_FadeOutPalettes
playmusic MUSIC_HEAL
pause 60
- special FadeInPalettes
+ special Special_FadeInPalettes
special RestartMapMusic
opentext
writetext UnknownText_0x7c82a
@@ -349,21 +349,21 @@ YoungerHaircutBrotherScript:
UnknownScript_0x7c2bb:
writetext HaircutBrosText_SlightlyHappier
- special PlayCurMonCry
+ special Special_PlayCurMonCry
waitbutton
closetext
end
UnknownScript_0x7c2c4:
writetext HaircutBrosText_Happier
- special PlayCurMonCry
+ special Special_PlayCurMonCry
waitbutton
closetext
end
UnknownScript_0x7c2cd:
writetext HaircutBrosText_MuchHappier
- special PlayCurMonCry
+ special Special_PlayCurMonCry
waitbutton
closetext
end
@@ -384,7 +384,7 @@ BasementDoorScript::
writetext UnknownText_0x7c5d6
waitbutton
closetext
- changeblock $12, $6, $2e
+ changeblock 18, 6, $2e ; unlocked door
reloadmappart
closetext
setevent EVENT_USED_BASEMENT_KEY
@@ -409,13 +409,13 @@ MapGoldenrodUndergroundSignpost1Script:
jumptext UnknownText_0x7c91a
GoldenrodUndergroundHiddenParlyzHeal:
- dwb EVENT_GOLDENROD_UNDERGROUND_HIDDEN_PARLYZ_HEAL, PARLYZ_HEAL
+ hiddenitem EVENT_GOLDENROD_UNDERGROUND_HIDDEN_PARLYZ_HEAL, PARLYZ_HEAL
GoldenrodUndergroundHiddenSuperPotion:
- dwb EVENT_GOLDENROD_UNDERGROUND_HIDDEN_SUPER_POTION, SUPER_POTION
+ hiddenitem EVENT_GOLDENROD_UNDERGROUND_HIDDEN_SUPER_POTION, SUPER_POTION
GoldenrodUndergroundHiddenAntidote:
- dwb EVENT_GOLDENROD_UNDERGROUND_HIDDEN_ANTIDOTE, ANTIDOTE
+ hiddenitem EVENT_GOLDENROD_UNDERGROUND_HIDDEN_ANTIDOTE, ANTIDOTE
SupernerdEricSeenText:
text "I got booted out"
@@ -646,7 +646,7 @@ UnknownText_0x7c91a:
line "THIS POINT"
done
-GoldenrodUnderground_MapEventHeader:
+GoldenrodUnderground_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodUndergroundSwitchRoomEntrances.asm b/maps/GoldenrodUndergroundSwitchRoomEntrances.asm
index f3b7f4946..621c133fd 100644
--- a/maps/GoldenrodUndergroundSwitchRoomEntrances.asm
+++ b/maps/GoldenrodUndergroundSwitchRoomEntrances.asm
@@ -1,3 +1,4 @@
+; block ids
UNDERGROUND_DOOR_CLOSED1 EQU $2a
UNDERGROUND_DOOR_CLOSED2 EQU $3e
UNDERGROUND_DOOR_CLOSED3 EQU $3f
@@ -43,7 +44,7 @@ const_value set 2
const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_POKE_BALL2
const GOLDENRODUNDERGROUNDSWITCHROOMENTRANCES_SILVER
-GoldenrodUndergroundSwitchRoomEntrances_MapScriptHeader:
+GoldenrodUndergroundSwitchRoomEntrances_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -51,7 +52,7 @@ GoldenrodUndergroundSwitchRoomEntrances_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_TILES, .UpdateDoorPositions
+ callback MAPCALLBACK_TILES, .UpdateDoorPositions
.DummyScene0:
end
@@ -630,10 +631,10 @@ GoldenrodUndergroundSwitchRoomEntrancesFullHeal:
itemball FULL_HEAL
GoldenrodUndergroundSwitchRoomEntrancesHiddenMaxPotion:
- dwb EVENT_GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES_HIDDEN_MAX_POTION, MAX_POTION
+ hiddenitem EVENT_GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES_HIDDEN_MAX_POTION, MAX_POTION
GoldenrodUndergroundSwitchRoomEntrancesHiddenRevive:
- dwb EVENT_GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES_HIDDEN_REVIVE, REVIVE
+ hiddenitem EVENT_GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES_HIDDEN_REVIVE, REVIVE
UndergroundSilverApproachMovement1:
step DOWN
@@ -929,7 +930,7 @@ SwitchRoomText_Emergency:
line "EMERGENCY."
done
-GoldenrodUndergroundSwitchRoomEntrances_MapEventHeader:
+GoldenrodUndergroundSwitchRoomEntrances_MapEvents:
; filler
db 0, 0
diff --git a/maps/GoldenrodUndergroundWarehouse.asm b/maps/GoldenrodUndergroundWarehouse.asm
index 03841736b..be5aa7e31 100644
--- a/maps/GoldenrodUndergroundWarehouse.asm
+++ b/maps/GoldenrodUndergroundWarehouse.asm
@@ -7,13 +7,13 @@ const_value set 2
const GOLDENRODUNDERGROUNDWAREHOUSE_POKE_BALL2
const GOLDENRODUNDERGROUNDWAREHOUSE_POKE_BALL3
-GoldenrodUndergroundWarehouse_MapScriptHeader:
+GoldenrodUndergroundWarehouse_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .ResetSwitches
+ callback MAPCALLBACK_NEWMAP, .ResetSwitches
.ResetSwitches:
clearevent EVENT_SWITCH_1
@@ -31,7 +31,7 @@ GoldenrodUndergroundWarehouse_MapScriptHeader:
clearevent EVENT_SWITCH_12
clearevent EVENT_SWITCH_13
clearevent EVENT_SWITCH_14
- writebyte $0
+ writebyte 0
copyvartobyte UndergroundSwitchPositions
return
@@ -210,7 +210,7 @@ UnknownText_0x7dc8d:
line "MON nationwide!"
done
-GoldenrodUndergroundWarehouse_MapEventHeader:
+GoldenrodUndergroundWarehouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/GuideGentsHouse.asm b/maps/GuideGentsHouse.asm
index ee9ef7533..136d0da66 100644
--- a/maps/GuideGentsHouse.asm
+++ b/maps/GuideGentsHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const GUIDEGENTSHOUSE_GRAMPS
-GuideGentsHouse_MapScriptHeader:
+GuideGentsHouse_MapScripts:
.SceneScripts:
db 0
@@ -27,7 +27,7 @@ GuideGentsHouseGuideGentText:
line "with kindness!"
done
-GuideGentsHouse_MapEventHeader:
+GuideGentsHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/HallOfFame.asm b/maps/HallOfFame.asm
index c9bfdac9d..3f5f6ee10 100644
--- a/maps/HallOfFame.asm
+++ b/maps/HallOfFame.asm
@@ -1,7 +1,7 @@
const_value set 2
const HALLOFFAME_LANCE
-HallOfFame_MapScriptHeader:
+HallOfFame_MapScripts:
.SceneScripts:
db 2
scene_script .EnterHallOfFame
@@ -28,17 +28,17 @@ HallOfFame_MapScriptHeader:
closetext
spriteface HALLOFFAME_LANCE, UP
applymovement PLAYER, HallOfFame_SlowlyApproachMachine
- setscene $1
+ setscene 1
pause 15
- writebyte 2 ; Machine is in the Hall of Fame
- special HealMachineAnim
+ writebyte HEALMACHINE_HALL_OF_FAME
+ special Special_HealMachineAnim
setevent EVENT_BEAT_ELITE_FOUR
setevent EVENT_TELEPORT_GUY
setevent EVENT_RIVAL_SPROUT_TOWER
clearevent EVENT_RED_IN_MT_SILVER
setevent EVENT_OLIVINE_PORT_SPRITES_BEFORE_HALL_OF_FAME
clearevent EVENT_OLIVINE_PORT_SPRITES_AFTER_HALL_OF_FAME
- setmapscene SPROUT_TOWER_3F, $1
+ setmapscene SPROUT_TOWER_3F, 1
special HealParty
checkevent EVENT_GOT_SS_TICKET_FROM_ELM
iftrue .SkipPhoneCall
@@ -110,7 +110,7 @@ HallOfFame_LanceText:
line "as CHAMPIONS!"
done
-HallOfFame_MapEventHeader:
+HallOfFame_MapEvents:
; filler
db 0, 0
diff --git a/maps/IcePath1F.asm b/maps/IcePath1F.asm
index ac49f10aa..84abeb680 100644
--- a/maps/IcePath1F.asm
+++ b/maps/IcePath1F.asm
@@ -3,7 +3,7 @@ const_value set 2
const ICEPATH1F_POKE_BALL2
const ICEPATH1F_POKE_BALL3
-IcePath1F_MapScriptHeader:
+IcePath1F_MapScripts:
.SceneScripts:
db 0
@@ -19,7 +19,7 @@ IcePath1FPPUp:
IcePath1FProtein:
itemball PROTEIN
-IcePath1F_MapEventHeader:
+IcePath1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/IcePathB1F.asm b/maps/IcePathB1F.asm
index 78c5dc659..2df927ebd 100644
--- a/maps/IcePathB1F.asm
+++ b/maps/IcePathB1F.asm
@@ -5,28 +5,27 @@ const_value set 2
const ICEPATHB1F_BOULDER4
const ICEPATHB1F_POKE_BALL
-IcePathB1F_MapScriptHeader:
+IcePathB1F_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_CMDQUEUE, .SetUpStoneTable
+ callback MAPCALLBACK_CMDQUEUE, .SetUpStoneTable
.SetUpStoneTable:
writecmdqueue .CommandQueue
return
.CommandQueue:
- dbw CMDQUEUE_STONETABLE, .StoneTable ; check if any stones are sitting on a warp
- dw 0 ; filler
+ cmdqueue CMDQUEUE_STONETABLE, .StoneTable ; check if any stones are sitting on a warp
.StoneTable:
stonetable 3, ICEPATHB1F_BOULDER1, .Boulder1
stonetable 4, ICEPATHB1F_BOULDER2, .Boulder2
stonetable 5, ICEPATHB1F_BOULDER3, .Boulder3
stonetable 6, ICEPATHB1F_BOULDER4, .Boulder4
- db -1
+ db -1 ; end
.Boulder1:
disappear ICEPATHB1F_BOULDER1
@@ -62,7 +61,6 @@ IcePathB1F_MapScriptHeader:
earthquake 80
end
-
IcePathB1FBoulder:
jumpstd strengthboulder
@@ -70,16 +68,14 @@ IcePathB1FIron:
itemball IRON
IcePathB1FHiddenMaxPotion:
- dwb EVENT_ICE_PATH_B1F_HIDDEN_MAX_POTION, MAX_POTION
-
+ hiddenitem EVENT_ICE_PATH_B1F_HIDDEN_MAX_POTION, MAX_POTION
IcePathBoulderFellThroughText:
text "The boulder fell"
line "through."
done
-
-IcePathB1F_MapEventHeader:
+IcePathB1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/IcePathB2FBlackthornSide.asm b/maps/IcePathB2FBlackthornSide.asm
index c171147cd..1fe814b66 100644
--- a/maps/IcePathB2FBlackthornSide.asm
+++ b/maps/IcePathB2FBlackthornSide.asm
@@ -1,7 +1,7 @@
const_value set 2
const ICEPATHB2FBLACKTHORNSIDE_POKE_BALL
-IcePathB2FBlackthornSide_MapScriptHeader:
+IcePathB2FBlackthornSide_MapScripts:
.SceneScripts:
db 0
@@ -12,10 +12,9 @@ IcePathB2FBlackthornSideTMRest:
itemball TM_REST
IcePathB2FBlackthornSideHiddenIceHeal:
- dwb EVENT_ICE_PATH_B2F_BLACKTHORN_SIDE_HIDDEN_ICE_HEAL, ICE_HEAL
+ hiddenitem EVENT_ICE_PATH_B2F_BLACKTHORN_SIDE_HIDDEN_ICE_HEAL, ICE_HEAL
-
-IcePathB2FBlackthornSide_MapEventHeader:
+IcePathB2FBlackthornSide_MapEvents:
; filler
db 0, 0
diff --git a/maps/IcePathB2FMahoganySide.asm b/maps/IcePathB2FMahoganySide.asm
index 80ae7f938..d70dc8492 100644
--- a/maps/IcePathB2FMahoganySide.asm
+++ b/maps/IcePathB2FMahoganySide.asm
@@ -6,15 +6,15 @@ const_value set 2
const ICEPATHB2FMAHOGANYSIDE_POKE_BALL1
const ICEPATHB2FMAHOGANYSIDE_POKE_BALL2
-IcePathB2FMahoganySide_MapScriptHeader:
+IcePathB2FMahoganySide_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-BoulderScript_0x7e5a3:
- jumptext UnknownText_0x7e5ad
+IcePathB2FMahoganySideBoulder:
+ jumptext IcePathB2FMahoganySideBoulderText
IcePathB2FMahoganySideFullHeal:
itemball FULL_HEAL
@@ -23,15 +23,14 @@ IcePathB2FMahoganySideMaxPotion:
itemball MAX_POTION
IcePathB2FMahoganySideHiddenCarbos:
- dwb EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_HIDDEN_CARBOS, CARBOS
+ hiddenitem EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_HIDDEN_CARBOS, CARBOS
-
-UnknownText_0x7e5ad:
+IcePathB2FMahoganySideBoulderText:
text "It's immovably"
line "imbedded in ice."
done
-IcePathB2FMahoganySide_MapEventHeader:
+IcePathB2FMahoganySide_MapEvents:
; filler
db 0, 0
@@ -53,9 +52,9 @@ IcePathB2FMahoganySide_MapEventHeader:
.ObjectEvents:
db 6
- object_event 11, 3, SPRITE_BOULDER, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_1A
- object_event 4, 7, SPRITE_BOULDER, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_2A
- object_event 3, 12, SPRITE_BOULDER, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_3A
- object_event 12, 13, SPRITE_BOULDER, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, BoulderScript_0x7e5a3, EVENT_BOULDER_IN_ICE_PATH_4A
+ object_event 11, 3, SPRITE_BOULDER, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, IcePathB2FMahoganySideBoulder, EVENT_BOULDER_IN_ICE_PATH_1A
+ object_event 4, 7, SPRITE_BOULDER, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, IcePathB2FMahoganySideBoulder, EVENT_BOULDER_IN_ICE_PATH_2A
+ object_event 3, 12, SPRITE_BOULDER, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, IcePathB2FMahoganySideBoulder, EVENT_BOULDER_IN_ICE_PATH_3A
+ object_event 12, 13, SPRITE_BOULDER, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, IcePathB2FMahoganySideBoulder, EVENT_BOULDER_IN_ICE_PATH_4A
object_event 8, 9, SPRITE_POKE_BALL, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, IcePathB2FMahoganySideFullHeal, EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_FULL_HEAL
object_event 0, 2, SPRITE_POKE_BALL, SPRITEMOVEDATA_ITEM_TREE, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, IcePathB2FMahoganySideMaxPotion, EVENT_ICE_PATH_B2F_MAHOGANY_SIDE_MAX_POTION
diff --git a/maps/IcePathB3F.asm b/maps/IcePathB3F.asm
index cfdf2387b..40809dbe3 100644
--- a/maps/IcePathB3F.asm
+++ b/maps/IcePathB3F.asm
@@ -2,7 +2,7 @@ const_value set 2
const ICEPATHB3F_POKE_BALL
const ICEPATHB3F_ROCK
-IcePathB3F_MapScriptHeader:
+IcePathB3F_MapScripts:
.SceneScripts:
db 0
@@ -15,7 +15,7 @@ IcePathB3FNevermeltice:
IcePathB3FRock:
jumpstd smashrock
-IcePathB3F_MapEventHeader:
+IcePathB3F_MapEvents:
; filler
db 0, 0
diff --git a/maps/IlexForest.asm b/maps/IlexForest.asm
index 7bbba6562..01351cd84 100644
--- a/maps/IlexForest.asm
+++ b/maps/IlexForest.asm
@@ -11,13 +11,13 @@ const_value set 2
const ILEXFOREST_POKE_BALL3
const ILEXFOREST_POKE_BALL4
-IlexForest_MapScriptHeader:
+IlexForest_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .FarfetchdCallback
+ callback MAPCALLBACK_OBJECTS, .FarfetchdCallback
.FarfetchdCallback:
checkevent EVENT_GOT_HM01_CUT
@@ -37,52 +37,52 @@ IlexForest_MapScriptHeader:
return
.PositionOne:
- moveobject ILEXFOREST_FARFETCHD, $e, $1f
+ moveobject ILEXFOREST_FARFETCHD, 14, 31
appear ILEXFOREST_FARFETCHD
return
.PositionTwo:
- moveobject ILEXFOREST_FARFETCHD, $f, $19
+ moveobject ILEXFOREST_FARFETCHD, 15, 25
appear ILEXFOREST_FARFETCHD
return
.PositionThree:
- moveobject ILEXFOREST_FARFETCHD, $14, $18
+ moveobject ILEXFOREST_FARFETCHD, 20, 24
appear ILEXFOREST_FARFETCHD
return
.PositionFour:
- moveobject ILEXFOREST_FARFETCHD, $1d, $16
+ moveobject ILEXFOREST_FARFETCHD, 29, 22
appear ILEXFOREST_FARFETCHD
return
.PositionFive:
- moveobject ILEXFOREST_FARFETCHD, $1c, $1f
+ moveobject ILEXFOREST_FARFETCHD, 28, 31
appear ILEXFOREST_FARFETCHD
return
.PositionSix:
- moveobject ILEXFOREST_FARFETCHD, $18, $23
+ moveobject ILEXFOREST_FARFETCHD, 24, 35
appear ILEXFOREST_FARFETCHD
return
.PositionSeven:
- moveobject ILEXFOREST_FARFETCHD, $16, $1f
+ moveobject ILEXFOREST_FARFETCHD, 22, 31
appear ILEXFOREST_FARFETCHD
return
.PositionEight:
- moveobject ILEXFOREST_FARFETCHD, $f, $1d
+ moveobject ILEXFOREST_FARFETCHD, 15, 29
appear ILEXFOREST_FARFETCHD
return
.PositionNine:
- moveobject ILEXFOREST_FARFETCHD, $a, $23
+ moveobject ILEXFOREST_FARFETCHD, 10, 35
appear ILEXFOREST_FARFETCHD
return
.PositionTen:
- moveobject ILEXFOREST_FARFETCHD, $6, $1c
+ moveobject ILEXFOREST_FARFETCHD, 6, 28
appear ILEXFOREST_FARFETCHD
return
@@ -125,7 +125,7 @@ IlexForestFarfetchdScript:
waitbutton
closetext
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetchd_Pos1_Pos2
- moveobject ILEXFOREST_FARFETCHD, $f, $19
+ moveobject ILEXFOREST_FARFETCHD, 15, 25
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 2
@@ -135,7 +135,7 @@ IlexForestFarfetchdScript:
scall .CryAndCheckFacing
if_equal DOWN, .Position2_Down
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetchd_Pos2_Pos3
- moveobject ILEXFOREST_FARFETCHD, $14, $18
+ moveobject ILEXFOREST_FARFETCHD, 20, 24
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 3
@@ -143,7 +143,7 @@ IlexForestFarfetchdScript:
.Position2_Down:
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetchd_Pos2_Pos8
- moveobject ILEXFOREST_FARFETCHD, $f, $1d
+ moveobject ILEXFOREST_FARFETCHD, 15, 29
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 8
@@ -153,7 +153,7 @@ IlexForestFarfetchdScript:
scall .CryAndCheckFacing
if_equal LEFT, .Position3_Left
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetchd_Pos3_Pos4
- moveobject ILEXFOREST_FARFETCHD, $1d, $16
+ moveobject ILEXFOREST_FARFETCHD, 29, 22
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 4
@@ -161,7 +161,7 @@ IlexForestFarfetchdScript:
.Position3_Left:
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetchd_Pos3_Pos2
- moveobject ILEXFOREST_FARFETCHD, $f, $19
+ moveobject ILEXFOREST_FARFETCHD, 15, 25
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 2
@@ -171,7 +171,7 @@ IlexForestFarfetchdScript:
scall .CryAndCheckFacing
if_equal UP, .Position4_Up
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetchd_Pos4_Pos5
- moveobject ILEXFOREST_FARFETCHD, $1c, $1f
+ moveobject ILEXFOREST_FARFETCHD, 28, 31
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 5
@@ -179,7 +179,7 @@ IlexForestFarfetchdScript:
.Position4_Up:
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetchd_Pos4_Pos3
- moveobject ILEXFOREST_FARFETCHD, $14, $18
+ moveobject ILEXFOREST_FARFETCHD, 20, 24
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 3
@@ -191,7 +191,7 @@ IlexForestFarfetchdScript:
if_equal LEFT, .Position5_Left
if_equal RIGHT, .Position5_Right
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetchd_Pos5_Pos6
- moveobject ILEXFOREST_FARFETCHD, $18, $23
+ moveobject ILEXFOREST_FARFETCHD, 24, 35
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 6
@@ -199,7 +199,7 @@ IlexForestFarfetchdScript:
.Position5_Left:
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetchd_Pos5_Pos7
- moveobject ILEXFOREST_FARFETCHD, $16, $1f
+ moveobject ILEXFOREST_FARFETCHD, 22, 31
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 7
@@ -207,7 +207,7 @@ IlexForestFarfetchdScript:
.Position5_Up:
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetched_Pos5_Pos4_Up
- moveobject ILEXFOREST_FARFETCHD, $1d, $16
+ moveobject ILEXFOREST_FARFETCHD, 29, 22
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 4
@@ -215,7 +215,7 @@ IlexForestFarfetchdScript:
.Position5_Right:
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetched_Pos5_Pos4_Right
- moveobject ILEXFOREST_FARFETCHD, $1d, $16
+ moveobject ILEXFOREST_FARFETCHD, 29, 22
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 4
@@ -225,7 +225,7 @@ IlexForestFarfetchdScript:
scall .CryAndCheckFacing
if_equal RIGHT, .Position6_Right
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetched_Pos6_Pos7
- moveobject ILEXFOREST_FARFETCHD, $16, $1f
+ moveobject ILEXFOREST_FARFETCHD, 22, 31
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 7
@@ -233,7 +233,7 @@ IlexForestFarfetchdScript:
.Position6_Right:
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetched_Pos6_Pos5
- moveobject ILEXFOREST_FARFETCHD, $1c, $1f
+ moveobject ILEXFOREST_FARFETCHD, 28, 31
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 5
@@ -244,7 +244,7 @@ IlexForestFarfetchdScript:
if_equal DOWN, .Position7_Down
if_equal LEFT, .Position7_Left
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetched_Pos7_Pos8
- moveobject ILEXFOREST_FARFETCHD, $f, $1d
+ moveobject ILEXFOREST_FARFETCHD, 15, 29
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 8
@@ -252,7 +252,7 @@ IlexForestFarfetchdScript:
.Position7_Left:
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetched_Pos7_Pos6
- moveobject ILEXFOREST_FARFETCHD, $18, $23
+ moveobject ILEXFOREST_FARFETCHD, 24, 35
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 6
@@ -260,7 +260,7 @@ IlexForestFarfetchdScript:
.Position7_Down:
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetched_Pos7_Pos5
- moveobject ILEXFOREST_FARFETCHD, $1c, $1f
+ moveobject ILEXFOREST_FARFETCHD, 28, 31
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 5
@@ -272,7 +272,7 @@ IlexForestFarfetchdScript:
if_equal LEFT, .Position8_Left
if_equal RIGHT, .Position8_Right
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetched_Pos8_Pos9
- moveobject ILEXFOREST_FARFETCHD, $a, $23
+ moveobject ILEXFOREST_FARFETCHD, 10, 35
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 9
@@ -280,7 +280,7 @@ IlexForestFarfetchdScript:
.Position8_Right:
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetched_Pos8_Pos7
- moveobject ILEXFOREST_FARFETCHD, $16, $1f
+ moveobject ILEXFOREST_FARFETCHD, 22, 31
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 7
@@ -289,7 +289,7 @@ IlexForestFarfetchdScript:
.Position8_Up:
.Position8_Left:
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetched_Pos8_Pos2
- moveobject ILEXFOREST_FARFETCHD, $f, $19
+ moveobject ILEXFOREST_FARFETCHD, 15, 25
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 2
@@ -300,7 +300,7 @@ IlexForestFarfetchdScript:
if_equal DOWN, .Position9_Down
if_equal RIGHT, .Position9_Right
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetched_Pos9_Pos10
- moveobject ILEXFOREST_FARFETCHD, $6, $1c
+ moveobject ILEXFOREST_FARFETCHD, 6, 28
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 10
@@ -311,7 +311,7 @@ IlexForestFarfetchdScript:
.Position9_Right:
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetched_Pos9_Pos8_Right
- moveobject ILEXFOREST_FARFETCHD, $f, $1d
+ moveobject ILEXFOREST_FARFETCHD, 15, 29
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 8
@@ -319,7 +319,7 @@ IlexForestFarfetchdScript:
.Position9_Down:
applymovement ILEXFOREST_FARFETCHD, MovementData_Farfetched_Pos9_Pos8_Down
- moveobject ILEXFOREST_FARFETCHD, $f, $1d
+ moveobject ILEXFOREST_FARFETCHD, 15, 29
disappear ILEXFOREST_FARFETCHD
appear ILEXFOREST_FARFETCHD
loadvar FarfetchdPosition, 8
@@ -414,15 +414,13 @@ IlexForestEther:
itemball ETHER
IlexForestHiddenEther:
- dwb EVENT_ILEX_FOREST_HIDDEN_ETHER, ETHER
-
+ hiddenitem EVENT_ILEX_FOREST_HIDDEN_ETHER, ETHER
IlexForestHiddenSuperPotion:
- dwb EVENT_ILEX_FOREST_HIDDEN_SUPER_POTION, SUPER_POTION
-
+ hiddenitem EVENT_ILEX_FOREST_HIDDEN_SUPER_POTION, SUPER_POTION
IlexForestHiddenFullHeal:
- dwb EVENT_ILEX_FOREST_HIDDEN_FULL_HEAL, FULL_HEAL
+ hiddenitem EVENT_ILEX_FOREST_HIDDEN_FULL_HEAL, FULL_HEAL
IlexForestBoulder:
; unused
@@ -472,7 +470,7 @@ MapIlexForestSignpost4Script:
startbattle
reloadmapafterbattle
pause 20
- special CheckCaughtCelebi
+ special Special_CheckCaughtCelebi
iffalse .DidntCatchCelebi
appear ILEXFOREST_KURT
applymovement ILEXFOREST_KURT, MovementData_0x6ef4e
@@ -939,7 +937,7 @@ BugCatcherWayneAfterBattleText:
cont "places too."
done
-IlexForest_MapEventHeader:
+IlexForest_MapEvents:
; filler
db 0, 0
diff --git a/maps/IlexForestAzaleaGate.asm b/maps/IlexForestAzaleaGate.asm
index 0bb508be3..c66483971 100644
--- a/maps/IlexForestAzaleaGate.asm
+++ b/maps/IlexForestAzaleaGate.asm
@@ -2,7 +2,7 @@ const_value set 2
const ILEXFORESTAZALEAGATE_OFFICER
const ILEXFORESTAZALEAGATE_GRANNY
-IlexForestAzaleaGate_MapScriptHeader:
+IlexForestAzaleaGate_MapScripts:
.SceneScripts:
db 0
@@ -30,7 +30,7 @@ IlexForestAzaleaGateGrannyText:
line "mischief!"
done
-IlexForestAzaleaGate_MapEventHeader:
+IlexForestAzaleaGate_MapEvents:
; filler
db 0, 0
diff --git a/maps/IndigoPlateauPokecenter1F.asm b/maps/IndigoPlateauPokecenter1F.asm
index 879e1dd8b..17a4d0663 100644
--- a/maps/IndigoPlateauPokecenter1F.asm
+++ b/maps/IndigoPlateauPokecenter1F.asm
@@ -6,25 +6,25 @@ const_value set 2
const INDIGOPLATEAUPOKECENTER1F_GRAMPS
const INDIGOPLATEAUPOKECENTER1F_ABRA
-IndigoPlateauPokecenter1F_MapScriptHeader:
+IndigoPlateauPokecenter1F_MapScripts:
.SceneScripts:
db 1
scene_script .DummyScene
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .PrepareElite4
+ callback MAPCALLBACK_NEWMAP, .PrepareElite4
.DummyScene:
end
.PrepareElite4:
- setmapscene WILLS_ROOM, $0
- setmapscene KOGAS_ROOM, $0
- setmapscene BRUNOS_ROOM, $0
- setmapscene KARENS_ROOM, $0
- setmapscene LANCES_ROOM, $0
- setmapscene HALL_OF_FAME, $0
+ setmapscene WILLS_ROOM, 0
+ setmapscene KOGAS_ROOM, 0
+ setmapscene BRUNOS_ROOM, 0
+ setmapscene KARENS_ROOM, 0
+ setmapscene LANCES_ROOM, 0
+ setmapscene HALL_OF_FAME, 0
clearevent EVENT_WILLS_ROOM_ENTRANCE_CLOSED
clearevent EVENT_WILLS_ROOM_EXIT_OPEN
clearevent EVENT_KOGAS_ROOM_ENTRANCE_CLOSED
@@ -54,7 +54,7 @@ PlateauRivalBattle1:
if_equal THURSDAY, PlateauRivalScriptDone
if_equal FRIDAY, PlateauRivalScriptDone
if_equal SATURDAY, PlateauRivalScriptDone
- moveobject INDIGOPLATEAUPOKECENTER1F_SILVER, $11, $9
+ moveobject INDIGOPLATEAUPOKECENTER1F_SILVER, 17, 9
appear INDIGOPLATEAUPOKECENTER1F_SILVER
spriteface PLAYER, DOWN
showemote EMOTE_SHOCK, PLAYER, 15
@@ -130,7 +130,7 @@ PlateauRivalPostBattle:
spriteface PLAYER, DOWN
applymovement INDIGOPLATEAUPOKECENTER1F_SILVER, PlateauRivalLeavesMovement
disappear INDIGOPLATEAUPOKECENTER1F_SILVER
- setscene $0
+ setscene 0
playmapmusic
setflag ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT
PlateauRivalScriptDone:
@@ -158,9 +158,9 @@ TeleportGuyScript:
waitbutton
closetext
playsound SFX_WARP_TO
- special FadeOutPalettes
+ special Special_FadeOutPalettes
waitsfx
- warp NEW_BARK_TOWN, $d, $6
+ warp NEW_BARK_TOWN, 13, 6
end
.No:
@@ -302,7 +302,7 @@ AbraText:
text "ABRA: Aabra…"
done
-IndigoPlateauPokecenter1F_MapEventHeader:
+IndigoPlateauPokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/KarensRoom.asm b/maps/KarensRoom.asm
index cba4aed9a..eef62321d 100644
--- a/maps/KarensRoom.asm
+++ b/maps/KarensRoom.asm
@@ -1,7 +1,7 @@
const_value set 2
const KARENSROOM_KAREN
-KarensRoom_MapScriptHeader:
+KarensRoom_MapScripts:
.SceneScripts:
db 2
scene_script .LockDoor
@@ -9,7 +9,7 @@ KarensRoom_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_TILES, .KarensRoomDoors
+ callback MAPCALLBACK_TILES, .KarensRoomDoors
.LockDoor:
priorityjump .KarensDoorLocksBehindYou
@@ -20,24 +20,24 @@ KarensRoom_MapScriptHeader:
.KarensRoomDoors:
checkevent EVENT_KARENS_ROOM_ENTRANCE_CLOSED
- iffalse .KeepDoorsClosed
- changeblock $4, $e, $2a
-.KeepDoorsClosed:
+ iffalse .KeepEntranceOpen
+ changeblock 4, 14, $2a ; wall
+.KeepEntranceOpen:
checkevent EVENT_KARENS_ROOM_EXIT_OPEN
- iffalse .OpenDoors
- changeblock $4, $2, $16
-.OpenDoors:
+ iffalse .KeepExitClosed
+ changeblock 4, 2, $16 ; open door
+.KeepExitClosed:
return
.KarensDoorLocksBehindYou:
- applymovement PLAYER, MovementData_0x180c22
+ applymovement PLAYER, KarensMovementData_0x18078e
refreshscreen $86
playsound SFX_STRENGTH
earthquake 80
- changeblock $4, $e, $2a
+ changeblock 4, 14, $2a ; wall
reloadmappart
closetext
- setscene $1
+ setscene 1
setevent EVENT_KARENS_ROOM_ENTRANCE_CLOSED
waitsfx
end
@@ -46,12 +46,12 @@ KarenScript_Battle:
faceplayer
opentext
checkevent EVENT_BEAT_ELITE_4_KAREN
- iftrue UnknownScript_0x180c1c
+ iftrue KarenScript_AfterBattle
writetext KarenScript_KarenBeforeText
waitbutton
closetext
winlosstext KarenScript_KarenBeatenText, 0
- loadtrainer KAREN, 1
+ loadtrainer KAREN, KAREN1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_ELITE_4_KAREN
@@ -60,20 +60,20 @@ KarenScript_Battle:
waitbutton
closetext
playsound SFX_ENTER_DOOR
- changeblock $4, $2, $16
+ changeblock 4, 2, $16 ; open door
reloadmappart
closetext
setevent EVENT_KARENS_ROOM_EXIT_OPEN
waitsfx
end
-UnknownScript_0x180c1c:
+KarenScript_AfterBattle:
writetext KarenScript_KarenDefeatText
waitbutton
closetext
end
-MovementData_0x180c22:
+KarensMovementData_0x18078e:
step UP
step UP
step UP
@@ -132,7 +132,7 @@ KarenScript_KarenDefeatText:
line "PION is waiting."
done
-KarensRoom_MapEventHeader:
+KarensRoom_MapEvents:
; filler
db 0, 0
diff --git a/maps/KogasRoom.asm b/maps/KogasRoom.asm
index d621ed342..fe1badec4 100644
--- a/maps/KogasRoom.asm
+++ b/maps/KogasRoom.asm
@@ -1,7 +1,7 @@
const_value set 2
const KOGASROOM_KOGA
-KogasRoom_MapScriptHeader:
+KogasRoom_MapScripts:
.SceneScripts:
db 2
scene_script .LockDoor
@@ -9,7 +9,7 @@ KogasRoom_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_TILES, .KogasRoomDoors
+ callback MAPCALLBACK_TILES, .KogasRoomDoors
.LockDoor:
priorityjump .KogasDoorLocksBehindYou
@@ -20,24 +20,24 @@ KogasRoom_MapScriptHeader:
.KogasRoomDoors:
checkevent EVENT_KOGAS_ROOM_ENTRANCE_CLOSED
- iffalse .KeepDoorsClosed
- changeblock $4, $e, $2a
-.KeepDoorsClosed:
+ iffalse .KeepEntranceOpen
+ changeblock 4, 14, $2a ; wall
+.KeepEntranceOpen:
checkevent EVENT_KOGAS_ROOM_EXIT_OPEN
- iffalse .OpenDoors
- changeblock $4, $2, $16
-.OpenDoors:
+ iffalse .KeepExitClosed
+ changeblock 4, 2, $16 ; open door
+.KeepExitClosed:
return
.KogasDoorLocksBehindYou:
- applymovement PLAYER, MovementData_0x18078e
+ applymovement PLAYER, KogasMovementData_0x18078e
refreshscreen $86
playsound SFX_STRENGTH
earthquake 80
- changeblock $4, $e, $2a
+ changeblock 4, 14, $2a ; wall
reloadmappart
closetext
- setscene $1
+ setscene 1
setevent EVENT_KOGAS_ROOM_ENTRANCE_CLOSED
waitsfx
end
@@ -46,12 +46,12 @@ KogaScript_Battle:
faceplayer
opentext
checkevent EVENT_BEAT_ELITE_4_KOGA
- iftrue UnknownScript_0x180788
+ iftrue KogaScript_AfterBattle
writetext KogaScript_KogaBeforeText
waitbutton
closetext
winlosstext KogaScript_KogaBeatenText, 0
- loadtrainer KOGA, 1
+ loadtrainer KOGA, KOGA1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_ELITE_4_KOGA
@@ -60,20 +60,20 @@ KogaScript_Battle:
waitbutton
closetext
playsound SFX_ENTER_DOOR
- changeblock $4, $2, $16
+ changeblock 4, 2, $16 ; open door
reloadmappart
closetext
setevent EVENT_KOGAS_ROOM_EXIT_OPEN
waitsfx
end
-UnknownScript_0x180788:
+KogaScript_AfterBattle:
writetext KogaScript_KogaDefeatText
waitbutton
closetext
end
-MovementData_0x18078e:
+KogasMovementData_0x18078e:
step UP
step UP
step UP
@@ -129,7 +129,7 @@ KogaScript_KogaDefeatText:
cont "abilities to test!"
done
-KogasRoom_MapEventHeader:
+KogasRoom_MapEvents:
; filler
db 0, 0
diff --git a/maps/KrissHouse1F.asm b/maps/KrissHouse1F.asm
index 24092cc4f..f94534332 100644
--- a/maps/KrissHouse1F.asm
+++ b/maps/KrissHouse1F.asm
@@ -5,7 +5,7 @@ const_value set 2
const KRISSHOUSE1F_MOM4
const KRISSHOUSE1F_POKEFAN_F
-KrissHouse1F_MapScriptHeader:
+KrissHouse1F_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -38,12 +38,12 @@ UnknownScript_0x7a4f6:
opentext
writetext UnknownText_0x7a604
buttonsound
- stringtotext GearName, $1
+ stringtotext GearName, MEM_BUFFER_1
scall UnknownScript_0x7a57e
setflag ENGINE_POKEGEAR
setflag ENGINE_PHONE_CARD
addcellnum PHONE_MOM
- setscene $1
+ setscene 1
setevent EVENT_KRISS_HOUSE_MOM_1
clearevent EVENT_KRISS_HOUSE_MOM_2
writetext UnknownText_0x7a6bd
@@ -385,7 +385,7 @@ TVText:
line "rolling too!"
done
-KrissHouse1F_MapEventHeader:
+KrissHouse1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/KrissHouse2F.asm b/maps/KrissHouse2F.asm
index 65d5fdaee..dcd63af1e 100644
--- a/maps/KrissHouse2F.asm
+++ b/maps/KrissHouse2F.asm
@@ -4,54 +4,53 @@ const_value set 2
const KRISSHOUSE2F_DOLL_2
const KRISSHOUSE2F_BIG_DOLL
-KrissHouse2F_MapScriptHeader:
+KrissHouse2F_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 2
- dbw MAPCALLBACK_NEWMAP, .InitializeRoom
- dbw MAPCALLBACK_TILES, .SetSpawn
+ callback MAPCALLBACK_NEWMAP, .InitializeRoom
+ callback MAPCALLBACK_TILES, .SetSpawn
+; unused
.Null:
end
.InitializeRoom:
- special ToggleDecorationsVisibility
+ special Special_ToggleDecorationsVisibility
setevent EVENT_IN_YOUR_ROOM
checkevent EVENT_INITIALIZED_EVENTS
- iftrue .SkipInizialization
+ iftrue .SkipInitialization
jumpstd initializeevents
return
-.SkipInizialization:
+.SkipInitialization:
return
.SetSpawn:
- special ToggleMaptileDecorations
+ special Special_ToggleMaptileDecorations
return
-
db 0, 0, 0 ; filler
-
Doll1:
- describedecoration 1
+ describedecoration DECODESC_LEFT_DOLL
Doll2:
- describedecoration 2
+ describedecoration DECODESC_RIGHT_DOLL
BigDoll:
- describedecoration 3
+ describedecoration DECODESC_BIG_DOLL
GameConsole:
- describedecoration 4
+ describedecoration DECODESC_CONSOLE
KrissHousePoster:
- dw EVENT_KRISS_ROOM_POSTER, .Script
+ conditional_event EVENT_KRISS_ROOM_POSTER, .Script
.Script:
- describedecoration 0
+ describedecoration DECODESC_POSTER
KrissHouseRadio:
checkevent EVENT_GOT_A_POKEMON_FROM_ELM
@@ -93,7 +92,7 @@ KrissHousePC:
closetext
end
.Warp:
- warp NONE, $0, $0
+ warp NONE, 0, 0
end
KrisRadioText1:
@@ -116,7 +115,7 @@ KrisRadioText4:
line "#MON CHANNEL…"
done
-KrissHouse2F_MapEventHeader:
+KrissHouse2F_MapEvents:
; filler
db 0, 0
diff --git a/maps/KrissNeighborsHouse.asm b/maps/KrissNeighborsHouse.asm
index 0cd9f77dc..457660d97 100644
--- a/maps/KrissNeighborsHouse.asm
+++ b/maps/KrissNeighborsHouse.asm
@@ -2,7 +2,7 @@ const_value set 2
const KRISSNEIGHBORSHOUSE_COOLTRAINER_F
const KRISSNEIGHBORSHOUSE_POKEFAN_F
-KrissNeighborsHouse_MapScriptHeader:
+KrissNeighborsHouse_MapScripts:
.SceneScripts:
db 0
@@ -31,7 +31,7 @@ KrissNeighborsHouseRadio:
pause 45
writetext KrisNeighborRadioText3
pause 45
- musicfadeout MUSIC_NEW_BARK_TOWN, $10
+ musicfadeout MUSIC_NEW_BARK_TOWN, 16
writetext KrisNeighborRadioText4
pause 45
closetext
@@ -98,7 +98,7 @@ KrisNeighborRadioText4:
line "#MON CHANNEL…"
done
-KrissNeighborsHouse_MapEventHeader:
+KrissNeighborsHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/KurtsHouse.asm b/maps/KurtsHouse.asm
index 6c1d6a9eb..eb2bbcb89 100644
--- a/maps/KurtsHouse.asm
+++ b/maps/KurtsHouse.asm
@@ -5,13 +5,13 @@ const_value set 2
const KURTSHOUSE_KURT2
const KURTSHOUSE_TWIN2
-KurtsHouse_MapScriptHeader:
+KurtsHouse_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .KurtCallback
+ callback MAPCALLBACK_OBJECTS, .KurtCallback
.KurtCallback:
checkevent EVENT_CLEARED_SLOWPOKE_WELL
@@ -132,7 +132,7 @@ KurtScript_0x18e178:
buttonsound
setevent EVENT_DRAGON_SHRINE_QUESTION_2
special Special_SelectApricornForKurt
- if_equal $0, .Cancel
+ if_equal FALSE, .Cancel
if_equal BLU_APRICORN, .Blu
if_equal YLW_APRICORN, .Ylw
if_equal GRN_APRICORN, .Grn
@@ -311,7 +311,7 @@ KurtScript_0x18e178:
clearevent EVENT_AZALEA_TOWN_KURT
waitsfx
special RestartMapMusic
- setmapscene AZALEA_TOWN, $2
+ setmapscene AZALEA_TOWN, 2
end
KurtScript_0x18e3bd:
@@ -676,7 +676,7 @@ KurtsHouseCelebiStatueText:
cont "tector."
done
-KurtsHouse_MapEventHeader:
+KurtsHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/LakeOfRage.asm b/maps/LakeOfRage.asm
index 50e7f05d0..fdbbeb438 100644
--- a/maps/LakeOfRage.asm
+++ b/maps/LakeOfRage.asm
@@ -12,7 +12,7 @@ const_value set 2
const LAKEOFRAGE_POKE_BALL1
const LAKEOFRAGE_POKE_BALL2
-LakeOfRage_MapScriptHeader:
+LakeOfRage_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -20,8 +20,8 @@ LakeOfRage_MapScriptHeader:
.MapCallbacks:
db 2
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
- dbw MAPCALLBACK_OBJECTS, .Wesley
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_OBJECTS, .Wesley
.DummyScene0:
end
@@ -62,7 +62,7 @@ UnknownScript_0x70035:
disappear LAKEOFRAGE_LANCE
clearevent EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE
setevent EVENT_DECIDED_TO_HELP_LANCE
- setmapscene MAHOGANY_MART_1F, $1
+ setmapscene MAHOGANY_MART_1F, 1
end
UnknownScript_0x7004e:
@@ -101,7 +101,7 @@ UnknownScript_0x7007a:
waitsfx
itemnotify
closetext
- setscene $0
+ setscene 0
appear LAKEOFRAGE_LANCE
end
@@ -232,16 +232,13 @@ LakeOfRageTMDetect:
itemball TM_DETECT
LakeOfRageHiddenFullRestore:
- dwb EVENT_LAKE_OF_RAGE_HIDDEN_FULL_RESTORE, FULL_RESTORE
-
+ hiddenitem EVENT_LAKE_OF_RAGE_HIDDEN_FULL_RESTORE, FULL_RESTORE
LakeOfRageHiddenRareCandy:
- dwb EVENT_LAKE_OF_RAGE_HIDDEN_RARE_CANDY, RARE_CANDY
-
+ hiddenitem EVENT_LAKE_OF_RAGE_HIDDEN_RARE_CANDY, RARE_CANDY
LakeOfRageHiddenMaxPotion:
- dwb EVENT_LAKE_OF_RAGE_HIDDEN_MAX_POTION, MAX_POTION
-
+ hiddenitem EVENT_LAKE_OF_RAGE_HIDDEN_MAX_POTION, MAX_POTION
MovementData_0x70155:
teleport_from
@@ -496,7 +493,7 @@ UnknownText_0x70903:
line "HOUSE"
done
-LakeOfRage_MapEventHeader:
+LakeOfRage_MapEvents:
; filler
db 0, 0
diff --git a/maps/LakeOfRageHiddenPowerHouse.asm b/maps/LakeOfRageHiddenPowerHouse.asm
index 1d41eaa43..9d346ab0a 100644
--- a/maps/LakeOfRageHiddenPowerHouse.asm
+++ b/maps/LakeOfRageHiddenPowerHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const LAKEOFRAGEHIDDENPOWERHOUSE_FISHER
-LakeOfRageHiddenPowerHouse_MapScriptHeader:
+LakeOfRageHiddenPowerHouse_MapScripts:
.SceneScripts:
db 0
@@ -67,7 +67,7 @@ HiddenPowerGuyText3:
text "I am meditating…"
done
-LakeOfRageHiddenPowerHouse_MapEventHeader:
+LakeOfRageHiddenPowerHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/LakeOfRageMagikarpHouse.asm b/maps/LakeOfRageMagikarpHouse.asm
index cc494c8c5..c77d823c0 100644
--- a/maps/LakeOfRageMagikarpHouse.asm
+++ b/maps/LakeOfRageMagikarpHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const LAKEOFRAGEMAGIKARPHOUSE_FISHING_GURU
-LakeOfRageMagikarpHouse_MapScriptHeader:
+LakeOfRageMagikarpHouse_MapScripts:
.SceneScripts:
db 0
@@ -45,9 +45,10 @@ UnknownScript_0x19a6e0:
writetext UnknownText_0x19a93e
waitbutton
special Special_CheckMagikarpLength
- if_equal $0, UnknownScript_0x19a71c
- if_equal $1, UnknownScript_0x19a722
- if_equal $2, UnknownScript_0x19a716
+ if_equal MAGIKARPLENGTH_NOT_MAGIKARP, UnknownScript_0x19a71c
+ if_equal MAGIKARPLENGTH_REFUSED, UnknownScript_0x19a722
+ if_equal MAGIKARPLENGTH_TOO_SHORT, UnknownScript_0x19a716
+ ; MAGIKARPLENGTH_BEAT_RECORD
jump UnknownScript_0x19a6fe
UnknownScript_0x19a6fe:
@@ -205,7 +206,7 @@ UnknownText_0x19aabc:
text_from_ram StringBuffer4
db "@@"
-LakeOfRageMagikarpHouse_MapEventHeader:
+LakeOfRageMagikarpHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/LancesRoom.asm b/maps/LancesRoom.asm
index f185af0dc..a3336251b 100644
--- a/maps/LancesRoom.asm
+++ b/maps/LancesRoom.asm
@@ -3,7 +3,7 @@ const_value set 2
const LANCESROOM_MARY
const LANCESROOM_OAK
-LancesRoom_MapScriptHeader:
+LancesRoom_MapScripts:
.SceneScripts:
db 2
scene_script .LockDoor
@@ -11,7 +11,7 @@ LancesRoom_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_TILES, .LancesRoomDoors
+ callback MAPCALLBACK_TILES, .LancesRoomDoors
.LockDoor:
priorityjump .LancesDoorLocksBehindYou
@@ -22,13 +22,13 @@ LancesRoom_MapScriptHeader:
.LancesRoomDoors:
checkevent EVENT_LANCES_ROOM_ENTRANCE_CLOSED
- iffalse .KeepDoorsClosed
- changeblock $4, $16, $34
-.KeepDoorsClosed:
+ iffalse .KeepEntranceOpen
+ changeblock 4, 22, $34 ; wall
+.KeepEntranceOpen:
checkevent EVENT_LANCES_ROOM_EXIT_OPEN
- iffalse .OpenDoors
- changeblock $4, $0, $b
-.OpenDoors:
+ iffalse .KeepExitClosed
+ changeblock 4, 0, $0b ; open door
+.KeepExitClosed:
return
.LancesDoorLocksBehindYou:
@@ -36,10 +36,10 @@ LancesRoom_MapScriptHeader:
refreshscreen $86
playsound SFX_STRENGTH
earthquake 80
- changeblock $4, $16, $34
+ changeblock 4, 22, $34 ; wall
reloadmappart
closetext
- setscene $1
+ setscene 1
setevent EVENT_LANCES_ROOM_ENTRANCE_CLOSED
end
@@ -69,11 +69,11 @@ LanceScript_0x180e7b:
waitbutton
closetext
playsound SFX_ENTER_DOOR
- changeblock $4, $0, $b
+ changeblock 4, 0, $0b ; open door
reloadmappart
closetext
setevent EVENT_LANCES_ROOM_ENTRANCE_CLOSED
- musicfadeout MUSIC_BEAUTY_ENCOUNTER, $10
+ musicfadeout MUSIC_BEAUTY_ENCOUNTER, 16
pause 30
showemote EMOTE_SHOCK, LANCESROOM_LANCE, 15
spriteface LANCESROOM_LANCE, DOWN
@@ -125,9 +125,9 @@ LanceScript_0x180e7b:
pause 30
closetext
applymovement LANCESROOM_MARY, LancesRoomMovementData_MaryRunsBackAndForth
- special FadeOutPalettes
+ special Special_FadeOutPalettes
pause 15
- warpfacing UP, HALL_OF_FAME, $4, $d
+ warpfacing UP, HALL_OF_FAME, 4, 13
end
LancesRoom_PlayerWalksInMovementData:
@@ -337,7 +337,7 @@ UnknownText_0x1813c5:
cont "the interview!"
done
-LancesRoom_MapEventHeader:
+LancesRoom_MapEvents:
; filler
db 0, 0
diff --git a/maps/LavRadioTower1F.asm b/maps/LavRadioTower1F.asm
index 424a802c9..d16bce5f1 100644
--- a/maps/LavRadioTower1F.asm
+++ b/maps/LavRadioTower1F.asm
@@ -5,7 +5,7 @@ const_value set 2
const LAVRADIOTOWER1F_GENTLEMAN
const LAVRADIOTOWER1F_SUPER_NERD2
-LavRadioTower1F_MapScriptHeader:
+LavRadioTower1F_MapScripts:
.SceneScripts:
db 0
@@ -36,7 +36,7 @@ GentlemanScript_0x7ee6c:
.UnknownScript_0x7ee80:
writetext UnknownText_0x7f0a1
buttonsound
- stringtotext .expncardname, $1
+ stringtotext .expncardname, MEM_BUFFER_1
scall .UnknownScript_0x7ee94
setflag ENGINE_EXPN_CARD
.UnknownScript_0x7ee8e:
@@ -221,7 +221,7 @@ UnknownText_0x7f36b:
line "reference library."
done
-LavRadioTower1F_MapEventHeader:
+LavRadioTower1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/LavenderMart.asm b/maps/LavenderMart.asm
index 34c8572de..f55db399b 100644
--- a/maps/LavenderMart.asm
+++ b/maps/LavenderMart.asm
@@ -3,7 +3,7 @@ const_value set 2
const LAVENDERMART_POKEFAN_M
const LAVENDERMART_ROCKER
-LavenderMart_MapScriptHeader:
+LavenderMart_MapScripts:
.SceneScripts:
db 0
@@ -47,7 +47,7 @@ LavenderMartRockerText:
line "I had some."
done
-LavenderMart_MapEventHeader:
+LavenderMart_MapEvents:
; filler
db 0, 0
diff --git a/maps/LavenderNameRater.asm b/maps/LavenderNameRater.asm
index d41354143..544c51d5b 100644
--- a/maps/LavenderNameRater.asm
+++ b/maps/LavenderNameRater.asm
@@ -1,7 +1,7 @@
const_value set 2
const LAVENDERNAMERATER_NAME_RATER
-LavenderNameRater_MapScriptHeader:
+LavenderNameRater_MapScripts:
.SceneScripts:
db 1
scene_script .DummyScene
@@ -15,7 +15,7 @@ LavenderNameRater_MapScriptHeader:
LavenderNameRater:
faceplayer
opentext
- special SpecialNameRater
+ special Special_NameRater
waitbutton
closetext
end
@@ -23,7 +23,7 @@ LavenderNameRater:
LavenderNameRaterUnusedBookshelf:
jumpstd difficultbookshelf
-LavenderNameRater_MapEventHeader:
+LavenderNameRater_MapEvents:
; filler
db 0, 0
diff --git a/maps/LavenderPokecenter1F.asm b/maps/LavenderPokecenter1F.asm
index 307eabe1c..7436697ea 100644
--- a/maps/LavenderPokecenter1F.asm
+++ b/maps/LavenderPokecenter1F.asm
@@ -4,7 +4,7 @@ const_value set 2
const LAVENDERPOKECENTER1F_TEACHER
const LAVENDERPOKECENTER1F_YOUNGSTER
-LavenderPokecenter1F_MapScriptHeader:
+LavenderPokecenter1F_MapScripts:
.SceneScripts:
db 0
@@ -80,7 +80,7 @@ UnknownText_0x7e7ed:
cont "smoothly again."
done
-LavenderPokecenter1F_MapEventHeader:
+LavenderPokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/LavenderPokecenter2FBeta.asm b/maps/LavenderPokecenter2FBeta.asm
index bacb7e91b..537f10ea1 100644
--- a/maps/LavenderPokecenter2FBeta.asm
+++ b/maps/LavenderPokecenter2FBeta.asm
@@ -1,11 +1,11 @@
-LavenderPokecenter2FBeta_MapScriptHeader:
+LavenderPokecenter2FBeta_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-LavenderPokecenter2FBeta_MapEventHeader:
+LavenderPokecenter2FBeta_MapEvents:
; filler
db 0, 0
diff --git a/maps/LavenderTownSpeechHouse.asm b/maps/LavenderSpeechHouse.asm
index 1cb093dda..eacb6b4d6 100644
--- a/maps/LavenderTownSpeechHouse.asm
+++ b/maps/LavenderSpeechHouse.asm
@@ -1,20 +1,20 @@
const_value set 2
- const LAVENDERTOWNSPEECHHOUSE_POKEFAN_F
+ const LAVENDERSPEECHHOUSE_POKEFAN_F
-LavenderTownSpeechHouse_MapScriptHeader:
+LavenderSpeechHouse_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-LavenderTownSpeechHousePokefanFScript:
- jumptextfaceplayer LavenderTownSpeechHousePokefanFText
+LavenderSpeechHousePokefanFScript:
+ jumptextfaceplayer LavenderSpeechHousePokefanFText
-LavenderTownSpeechHouseBookshelf:
+LavenderSpeechHouseBookshelf:
jumpstd picturebookshelf
-LavenderTownSpeechHousePokefanFText:
+LavenderSpeechHousePokefanFText:
text "LAVENDER is a"
line "tiny, quiet town"
@@ -28,7 +28,7 @@ LavenderTownSpeechHousePokefanFText:
line "built."
done
-LavenderTownSpeechHouse_MapEventHeader:
+LavenderSpeechHouse_MapEvents:
; filler
db 0, 0
@@ -42,9 +42,9 @@ LavenderTownSpeechHouse_MapEventHeader:
.BGEvents:
db 2
- bg_event 0, 1, BGEVENT_READ, LavenderTownSpeechHouseBookshelf
- bg_event 1, 1, BGEVENT_READ, LavenderTownSpeechHouseBookshelf
+ bg_event 0, 1, BGEVENT_READ, LavenderSpeechHouseBookshelf
+ bg_event 1, 1, BGEVENT_READ, LavenderSpeechHouseBookshelf
.ObjectEvents:
db 1
- object_event 2, 3, SPRITE_POKEFAN_F, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, LavenderTownSpeechHousePokefanFScript, -1
+ object_event 2, 3, SPRITE_POKEFAN_F, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, LavenderSpeechHousePokefanFScript, -1
diff --git a/maps/LavenderTown.asm b/maps/LavenderTown.asm
index e75726abd..655acb3b3 100644
--- a/maps/LavenderTown.asm
+++ b/maps/LavenderTown.asm
@@ -4,13 +4,13 @@ const_value set 2
const LAVENDERTOWN_GRAMPS
const LAVENDERTOWN_YOUNGSTER
-LavenderTown_MapScriptHeader:
+LavenderTown_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
.FlyPoint:
setflag ENGINE_FLYPOINT_LAVENDER
@@ -105,7 +105,7 @@ SoulHouseSignText:
line "#MON Rest Easy"
done
-LavenderTown_MapEventHeader:
+LavenderTown_MapEvents:
; filler
db 0, 0
@@ -113,7 +113,7 @@ LavenderTown_MapEventHeader:
db 7
warp_def 5, 5, 1, LAVENDER_POKECENTER_1F
warp_def 5, 9, 1, MR_FUJIS_HOUSE
- warp_def 3, 13, 1, LAVENDER_TOWN_SPEECH_HOUSE
+ warp_def 3, 13, 1, LAVENDER_SPEECH_HOUSE
warp_def 7, 13, 1, LAVENDER_NAME_RATER
warp_def 1, 5, 2, LAVENDER_MART
warp_def 13, 11, 1, SOUL_HOUSE
diff --git a/maps/MahoganyGym.asm b/maps/MahoganyGym.asm
index a8de6e987..20ab72ab1 100644
--- a/maps/MahoganyGym.asm
+++ b/maps/MahoganyGym.asm
@@ -7,7 +7,7 @@ const_value set 2
const MAHOGANYGYM_ROCKER3
const MAHOGANYGYM_GYM_GUY
-MahoganyGym_MapScriptHeader:
+MahoganyGym_MapScripts:
.SceneScripts:
db 0
@@ -23,7 +23,7 @@ PryceScript_0x199a9e:
waitbutton
closetext
winlosstext PryceText_Impressed, 0
- loadtrainer PRYCE, 1
+ loadtrainer PRYCE, PRYCE1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_PRYCE
@@ -146,7 +146,7 @@ MahoganyGymStatue:
iftrue .Beaten
jumpstd gymstatue1
.Beaten:
- trainertotext PRYCE, 1, $1
+ trainertotext PRYCE, PRYCE1, MEM_BUFFER_1
jumpstd gymstatue2
PryceText_Intro:
@@ -372,7 +372,7 @@ MahoganyGymGuyWinText:
line "eration gap!"
done
-MahoganyGym_MapEventHeader:
+MahoganyGym_MapEvents:
; filler
db 0, 0
diff --git a/maps/MahoganyMart1F.asm b/maps/MahoganyMart1F.asm
index a25277fd9..5b3cfd43c 100644
--- a/maps/MahoganyMart1F.asm
+++ b/maps/MahoganyMart1F.asm
@@ -5,7 +5,7 @@ const_value set 2
const MAHOGANYMART1F_DRAGON
const MAHOGANYMART1F_GRANNY
-MahoganyMart1F_MapScriptHeader:
+MahoganyMart1F_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -13,7 +13,7 @@ MahoganyMart1F_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_TILES, .MahoganyMart1FStaircase
+ callback MAPCALLBACK_TILES, .MahoganyMart1FStaircase
.DummyScene0:
end
@@ -28,7 +28,7 @@ MahoganyMart1F_MapScriptHeader:
return
.ShowStairs:
- changeblock $6, $2, $1e
+ changeblock 6, 2, $1e ; stairs
return
PharmacistScript_0x6c367:
@@ -89,7 +89,7 @@ UnknownScript_0x6c38f:
waitbutton
showemote EMOTE_SHOCK, MAHOGANYMART1F_PHARMACIST, 10
playsound SFX_FAINT
- changeblock $6, $2, $1e
+ changeblock 6, 2, $1e ; stairs
reloadmappart
closetext
setevent EVENT_UNCOVERED_STAIRCASE_IN_MAHOGANY_MART
@@ -101,7 +101,7 @@ UnknownScript_0x6c38f:
applymovement MAHOGANYMART1F_LANCE, MovementData_0x6c412
playsound SFX_EXIT_BUILDING
disappear MAHOGANYMART1F_LANCE
- setscene $0
+ setscene 0
waitsfx
end
@@ -220,7 +220,7 @@ UnknownText_0x6c5ba:
line "I'll go first."
done
-MahoganyMart1F_MapEventHeader:
+MahoganyMart1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/MahoganyPokecenter1F.asm b/maps/MahoganyPokecenter1F.asm
index 055a4b566..9a0cfdf24 100644
--- a/maps/MahoganyPokecenter1F.asm
+++ b/maps/MahoganyPokecenter1F.asm
@@ -4,7 +4,7 @@ const_value set 2
const MAHOGANYPOKECENTER1F_YOUNGSTER
const MAHOGANYPOKECENTER1F_COOLTRAINER_F
-MahoganyPokecenter1F_MapScriptHeader:
+MahoganyPokecenter1F_MapScripts:
.SceneScripts:
db 0
@@ -53,7 +53,7 @@ MahoganyPokecenter1FCooltrainerFText:
cont "more slowly."
done
-MahoganyPokecenter1F_MapEventHeader:
+MahoganyPokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/MahoganyRedGyaradosSpeechHouse.asm b/maps/MahoganyRedGyaradosSpeechHouse.asm
index 8d90d58a6..d6ed88a36 100644
--- a/maps/MahoganyRedGyaradosSpeechHouse.asm
+++ b/maps/MahoganyRedGyaradosSpeechHouse.asm
@@ -2,7 +2,7 @@ const_value set 2
const MAHOGANYREDGYARADOSSPEECHHOUSE_BLACK_BELT
const MAHOGANYREDGYARADOSSPEECHHOUSE_TEACHER
-MahoganyRedGyaradosSpeechHouse_MapScriptHeader:
+MahoganyRedGyaradosSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -60,7 +60,7 @@ UnknownText_0x199a3d:
line "It's creepy."
done
-MahoganyRedGyaradosSpeechHouse_MapEventHeader:
+MahoganyRedGyaradosSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/MahoganyTown.asm b/maps/MahoganyTown.asm
index ba907383d..d53aabce0 100644
--- a/maps/MahoganyTown.asm
+++ b/maps/MahoganyTown.asm
@@ -4,7 +4,7 @@ const_value set 2
const MAHOGANYTOWN_FISHER
const MAHOGANYTOWN_LASS
-MahoganyTown_MapScriptHeader:
+MahoganyTown_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -12,7 +12,7 @@ MahoganyTown_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
.DummyScene0:
end
@@ -53,17 +53,17 @@ UnknownScript_0x190039:
UnknownScript_0x190040:
opentext
writetext UnknownText_0x1900b0
- special PlaceMoneyTopRight
+ special Special_PlaceMoneyTopRight
yesorno
iffalse UnknownScript_0x190072
- checkmoney $0, 300
- if_equal $2, UnknownScript_0x19006c
+ checkmoney YOUR_MONEY, 300
+ if_equal HAVE_LESS, UnknownScript_0x19006c
giveitem RAGECANDYBAR
iffalse UnknownScript_0x190078
waitsfx
playsound SFX_TRANSACTION
- takemoney $0, 300
- special PlaceMoneyTopRight
+ takemoney YOUR_MONEY, 300
+ special Special_PlaceMoneyTopRight
writetext UnknownText_0x19014a
waitbutton
closetext
@@ -244,7 +244,7 @@ MahoganyGymSignText:
line "Winter's Harshness"
done
-MahoganyTown_MapEventHeader:
+MahoganyTown_MapEvents:
; filler
db 0, 0
diff --git a/maps/ManiasHouse.asm b/maps/ManiasHouse.asm
index d60d1081d..d5d3febb6 100644
--- a/maps/ManiasHouse.asm
+++ b/maps/ManiasHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const MANIASHOUSE_ROCKER
-ManiasHouse_MapScriptHeader:
+ManiasHouse_MapScripts:
.SceneScripts:
db 0
@@ -18,7 +18,7 @@ ManiaScript:
writetext ManiaText_AskLookAfterShuckle
yesorno
iffalse .refusetotakeshuckie
- special SpecialGiveShuckle
+ special Special_GiveShuckle
iffalse .partyfull
writetext ManiaText_TakeCareOfShuckle
buttonsound
@@ -54,11 +54,12 @@ ManiaScript:
writetext ManiaText_CanIHaveMyMonBack
yesorno
iffalse .refused
- special SpecialReturnShuckle
- if_equal $0, .wrong
- if_equal $1, .refused
- if_equal $3, .superhappy
- if_equal $4, .default_postevent
+ special Special_ReturnShuckle
+ if_equal SHUCKIE_WRONG_MON, .wrong
+ if_equal SHUCKIE_REFUSED, .refused
+ if_equal SHUCKIE_HAPPY, .superhappy
+ if_equal SHUCKIE_FAINTED, .default_postevent
+ ; SHUCKIE_RETURNED
writetext ManiaText_ThankYou
waitbutton
closetext
@@ -198,7 +199,7 @@ ManiaText_ShuckleIsYourLastMon:
line "in battle?"
done
-ManiasHouse_MapEventHeader:
+ManiasHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/MobileBattleRoom.asm b/maps/MobileBattleRoom.asm
index 870321f3d..d65ae1006 100644
--- a/maps/MobileBattleRoom.asm
+++ b/maps/MobileBattleRoom.asm
@@ -1,4 +1,4 @@
-MobileBattleRoom_MapScriptHeader:
+MobileBattleRoom_MapScripts:
.SceneScripts:
db 2
scene_script .InitializeMobileBattleRoom
@@ -15,15 +15,15 @@ MobileBattleRoom_MapScriptHeader:
end
.InitializeAndPreparePokecenter2F:
- setscene $1
- setmapscene POKECENTER_2F, $5
+ setscene 1
+ setmapscene POKECENTER_2F, 5
end
MapMobileBattleRoomSignpost0Script:
- refreshscreen $0
- special Function1037c2
+ refreshscreen
+ special Special_Function1037c2
if_equal $1, .one
- special Function1037eb
+ special Special_Function1037eb
iffalse .false
if_equal $1, .one_
if_equal $2, .two_
@@ -33,24 +33,24 @@ MapMobileBattleRoomSignpost0Script:
writetext MobileBattleRoom_HealText
pause 20
closetext
- special FadeOutPalettes
+ special Special_FadeOutPalettes
playmusic MUSIC_HEAL
- special LoadMapPalettes
+ special Special_LoadMapPalettes
pause 60
- special FadeInPalettes
+ special Special_FadeInPalettes
special RestartMapMusic
- refreshscreen $0
+ refreshscreen
.two_
- special TrainerRankings_Healings
+ special Special_StubbedTrainerRankings_Healings
special HealParty
- special Function10383c
+ special Special_Function10383c
iftrue .false
.one
- special Function10387b
+ special Special_Function10387b
writetext MobileBattleRoom_EstablishingCommsText
waitbutton
reloadmappart
- special Function101225
+ special Special_Function101225
.false
closetext
end
@@ -66,7 +66,7 @@ MobileBattleRoom_HealText:
cont "before battle."
done
-MobileBattleRoom_MapEventHeader:
+MobileBattleRoom_MapEvents:
; filler
db 0, 0
diff --git a/maps/MobileTradeRoomMobile.asm b/maps/MobileTradeRoomMobile.asm
index 1003d4ea5..53713c9de 100644
--- a/maps/MobileTradeRoomMobile.asm
+++ b/maps/MobileTradeRoomMobile.asm
@@ -1,4 +1,4 @@
-MobileTradeRoomMobile_MapScriptHeader:
+MobileTradeRoomMobile_MapScripts:
.SceneScripts:
db 2
scene_script .InitializeMobileTradeRoomMobile
@@ -15,17 +15,17 @@ MobileTradeRoomMobile_MapScriptHeader:
end
.InitializeAndPreparePokecenter2F:
- setscene $1
- setmapscene POKECENTER_2F, $4
+ setscene 1
+ setmapscene POKECENTER_2F, 4
end
MapMobileTradeRoomMobileSignpost0Script:
- refreshscreen $0
- special Function1037c2
+ refreshscreen
+ special Special_Function1037c2
writetext MobileTradeRoomMobile_EstablishingCommsText
waitbutton
reloadmappart
- special Function101231
+ special Special_Function101231
closetext
end
@@ -34,7 +34,7 @@ MobileTradeRoomMobile_EstablishingCommsText:
line "communications…"
done
-MobileTradeRoomMobile_MapEventHeader:
+MobileTradeRoomMobile_MapEvents:
; filler
db 0, 0
diff --git a/maps/MountMoon.asm b/maps/MountMoon.asm
index 73306f424..38e5d436d 100644
--- a/maps/MountMoon.asm
+++ b/maps/MountMoon.asm
@@ -1,7 +1,7 @@
const_value set 2
const MOUNTMOON_SILVER
-MountMoon_MapScriptHeader:
+MountMoon_MapScripts:
.SceneScripts:
db 2
scene_script .RivalEncounter
@@ -66,7 +66,7 @@ MountMoon_MapScriptHeader:
closetext
applymovement MOUNTMOON_SILVER, MountMoonSilverMovementAfter
disappear MOUNTMOON_SILVER
- setscene $1
+ setscene 1
setevent EVENT_BEAT_RIVAL_IN_MT_MOON
playmapmusic
end
@@ -88,7 +88,7 @@ MountMoonSilverMovementAfter:
step_end
MountMoonSilverTextBefore:
- text "<......> <......> <......>"
+ text "<……> <……> <……>"
para "It's been a while,"
line "<PLAYER>."
@@ -108,7 +108,7 @@ MountMoonSilverTextBefore:
done
MountMoonSilverTextWin:
- text "<......> <......> <......>"
+ text "<……> <……> <……>"
para "I thought I raised"
line "my #MON to be"
@@ -121,7 +121,7 @@ MountMoonSilverTextWin:
done
MountMoonSilverTextAfter:
- text "<......> <......> <......>"
+ text "<……> <……> <……>"
para "…You won, fair"
line "and square."
@@ -147,7 +147,7 @@ MountMoonSilverTextAfter:
done
MountMoonSilverTextLoss:
- text "<......> <......> <......>"
+ text "<……> <……> <……>"
para "I've repaid my"
line "debt to you."
@@ -160,7 +160,7 @@ MountMoonSilverTextLoss:
cont "greatest trainer."
done
-MountMoon_MapEventHeader:
+MountMoon_MapEvents:
; filler
db 0, 0
diff --git a/maps/MountMoonGiftShop.asm b/maps/MountMoonGiftShop.asm
index ade5a35ff..b24a98e20 100644
--- a/maps/MountMoonGiftShop.asm
+++ b/maps/MountMoonGiftShop.asm
@@ -4,7 +4,7 @@ const_value set 2
const MOUNTMOONGIFTSHOP_LASS1 ; morning only
const MOUNTMOONGIFTSHOP_LASS2 ; day only
-MountMoonGiftShop_MapScriptHeader:
+MountMoonGiftShop_MapScripts:
.SceneScripts:
db 0
@@ -27,7 +27,7 @@ MountMoonGiftShopLassText:
cont "come out to play."
done
-MountMoonGiftShop_MapEventHeader:
+MountMoonGiftShop_MapEvents:
; filler
db 0, 0
diff --git a/maps/MountMoonSquare.asm b/maps/MountMoonSquare.asm
index 3e13b58ea..1d9848f3b 100644
--- a/maps/MountMoonSquare.asm
+++ b/maps/MountMoonSquare.asm
@@ -3,15 +3,15 @@ const_value set 2
const MOUNTMOONSQUARE_FAIRY2
const MOUNTMOONSQUARE_ROCK
-MountMoonSquare_MapScriptHeader:
+MountMoonSquare_MapScripts:
.SceneScripts:
db 1
scene_script .DummyScene
.MapCallbacks:
db 2
- dbw MAPCALLBACK_NEWMAP, .DisappearMoonStone
- dbw MAPCALLBACK_OBJECTS, .DisappearRock
+ callback MAPCALLBACK_NEWMAP, .DisappearMoonStone
+ callback MAPCALLBACK_OBJECTS, .DisappearRock
.DummyScene:
end
@@ -75,8 +75,7 @@ ClefairyDance:
end
MountMoonSquareHiddenMoonStone:
- dwb EVENT_MOUNT_MOON_SQUARE_HIDDEN_MOON_STONE, MOON_STONE
-
+ hiddenitem EVENT_MOUNT_MOON_SQUARE_HIDDEN_MOON_STONE, MOON_STONE
DontLitterSign:
jumptext DontLitterSignText
@@ -133,7 +132,7 @@ DontLitterSignText:
line "DON'T LITTER"
done
-MountMoonSquare_MapEventHeader:
+MountMoonSquare_MapEvents:
; filler
db 0, 0
diff --git a/maps/MountMortar1FInside.asm b/maps/MountMortar1FInside.asm
index 659d7a54d..a67ba1144 100644
--- a/maps/MountMortar1FInside.asm
+++ b/maps/MountMortar1FInside.asm
@@ -10,7 +10,7 @@ const_value set 2
const MOUNTMORTAR1FINSIDE_POKE_BALL6
const MOUNTMORTAR1FINSIDE_POKE_BALL7
-MountMortar1FInside_MapScriptHeader:
+MountMortar1FInside_MapScripts:
.SceneScripts:
db 0
@@ -64,8 +64,7 @@ MountMortar1FInsideUltraBall:
itemball ULTRA_BALL
MountMortar1FInsideHiddenMaxRepel:
- dwb EVENT_MOUNT_MORTAR_1F_INSIDE_HIDDEN_MAX_REPEL, MAX_REPEL
-
+ hiddenitem EVENT_MOUNT_MORTAR_1F_INSIDE_HIDDEN_MAX_REPEL, MAX_REPEL
PokemaniacMillerSeenText:
text "I'm not losing"
@@ -117,7 +116,7 @@ SupernerdMarkusAfterBattleText:
line "WATERFALL?"
done
-MountMortar1FInside_MapEventHeader:
+MountMortar1FInside_MapEvents:
; filler
db 0, 0
diff --git a/maps/MountMortar1FOutside.asm b/maps/MountMortar1FOutside.asm
index faa9930d2..d38f4f732 100644
--- a/maps/MountMortar1FOutside.asm
+++ b/maps/MountMortar1FOutside.asm
@@ -2,7 +2,7 @@ const_value set 2
const MOUNTMORTAR1FOUTSIDE_POKE_BALL1
const MOUNTMORTAR1FOUTSIDE_POKE_BALL2
-MountMortar1FOutside_MapScriptHeader:
+MountMortar1FOutside_MapScripts:
.SceneScripts:
db 0
@@ -16,10 +16,9 @@ MountMortar1FOutsideRevive:
itemball REVIVE
MountMortar1FOutsideHiddenHyperPotion:
- dwb EVENT_MOUNT_MORTAR_1F_OUTSIDE_HIDDEN_HYPER_POTION, HYPER_POTION
+ hiddenitem EVENT_MOUNT_MORTAR_1F_OUTSIDE_HIDDEN_HYPER_POTION, HYPER_POTION
-
-MountMortar1FOutside_MapEventHeader:
+MountMortar1FOutside_MapEvents:
; filler
db 0, 0
diff --git a/maps/MountMortar2FInside.asm b/maps/MountMortar2FInside.asm
index 106e51f5a..66120731f 100644
--- a/maps/MountMortar2FInside.asm
+++ b/maps/MountMortar2FInside.asm
@@ -7,7 +7,7 @@ const_value set 2
const MOUNTMORTAR2FINSIDE_POKE_BALL6
const MOUNTMORTAR2FINSIDE_SUPER_NERD
-MountMortar2FInside_MapScriptHeader:
+MountMortar2FInside_MapScripts:
.SceneScripts:
db 0
@@ -44,8 +44,7 @@ MountMortar2FInsideEscapeRope:
itemball ESCAPE_ROPE
MountMortar2FInsideHiddenFullRestore:
- dwb EVENT_MOUNT_MORTAR_2F_INSIDE_HIDDEN_FULL_RESTORE, FULL_RESTORE
-
+ hiddenitem EVENT_MOUNT_MORTAR_2F_INSIDE_HIDDEN_FULL_RESTORE, FULL_RESTORE
SupernerdHughSeenText:
text "Yo! MARKUS!"
@@ -67,7 +66,7 @@ SupernerdHughAfterBattleText:
line "use STRENGTH?"
done
-MountMortar2FInside_MapEventHeader:
+MountMortar2FInside_MapEvents:
; filler
db 0, 0
diff --git a/maps/MountMortarB1F.asm b/maps/MountMortarB1F.asm
index ad00662f8..7d798c22e 100644
--- a/maps/MountMortarB1F.asm
+++ b/maps/MountMortarB1F.asm
@@ -7,7 +7,7 @@ const_value set 2
const MOUNTMORTARB1F_POKE_BALL4
const MOUNTMORTARB1F_POKE_BALL5
-MountMortarB1F_MapScriptHeader:
+MountMortarB1F_MapScripts:
.SceneScripts:
db 0
@@ -35,7 +35,7 @@ UnknownScript_0x7e217:
buttonsound
waitsfx
checkcode VAR_PARTYCOUNT
- if_equal $6, UnknownScript_0x7e237
+ if_equal PARTY_LENGTH, UnknownScript_0x7e237
writetext UnknownText_0x7e355
playsound SFX_CAUGHT_MON
waitsfx
@@ -72,8 +72,7 @@ MountMortarB1FPPUp:
itemball PP_UP
MountMortarB1FHiddenMaxRevive:
- dwb EVENT_MOUNT_MORTAR_B1F_HIDDEN_MAX_REVIVE, MAX_REVIVE
-
+ hiddenitem EVENT_MOUNT_MORTAR_B1F_HIDDEN_MAX_REVIVE, MAX_REVIVE
UnknownText_0x7e24d:
text "Hey!"
@@ -135,7 +134,7 @@ UnknownText_0x7e3df:
line "in your party!"
done
-MountMortarB1F_MapEventHeader:
+MountMortarB1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/MoveDeletersHouse.asm b/maps/MoveDeletersHouse.asm
index a6a50d2dd..0635be308 100644
--- a/maps/MoveDeletersHouse.asm
+++ b/maps/MoveDeletersHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const MOVEDELETERSHOUSE_SUPER_NERD
-MoveDeletersHouse_MapScriptHeader:
+MoveDeletersHouse_MapScripts:
.SceneScripts:
db 0
@@ -11,7 +11,7 @@ MoveDeletersHouse_MapScriptHeader:
MoveDeleter:
faceplayer
opentext
- special MoveDeletion
+ special Special_MoveDeletion
waitbutton
closetext
end
@@ -19,7 +19,7 @@ MoveDeleter:
MoveDeletersHouseBookshelf:
jumpstd difficultbookshelf
-MoveDeletersHouse_MapEventHeader:
+MoveDeletersHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/MrFujisHouse.asm b/maps/MrFujisHouse.asm
index 856b62503..403134bae 100644
--- a/maps/MrFujisHouse.asm
+++ b/maps/MrFujisHouse.asm
@@ -5,7 +5,7 @@ const_value set 2
const MRFUJISHOUSE_NIDORINO
const MRFUJISHOUSE_PIDGEY
-MrFujisHouse_MapScriptHeader:
+MrFujisHouse_MapScripts:
.SceneScripts:
db 0
@@ -79,7 +79,7 @@ MrFujisPidgeyText:
text "PIDGEY: Pijji!"
done
-MrFujisHouse_MapEventHeader:
+MrFujisHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/MrPokemonsHouse.asm b/maps/MrPokemonsHouse.asm
index f808d44c8..8ac7d0a09 100644
--- a/maps/MrPokemonsHouse.asm
+++ b/maps/MrPokemonsHouse.asm
@@ -2,7 +2,7 @@ const_value set 2
const MRPOKEMONSHOUSE_GENTLEMAN
const MRPOKEMONSHOUSE_OAK
-MrPokemonsHouse_MapScriptHeader:
+MrPokemonsHouse_MapScripts:
.SceneScripts:
db 2
scene_script .MeetMrPokemon
@@ -111,9 +111,9 @@ MrPokemonsHouse_OakScript:
waitbutton
closetext
special Special_FadeBlackQuickly
- special Special_ReloadSpritesNoPalettes
+ special ReloadSpritesNoPalettes
playmusic MUSIC_HEAL
- special TrainerRankings_Healings
+ special Special_StubbedTrainerRankings_Healings
special HealParty
pause 60
special Special_FadeInQuickly
@@ -125,9 +125,9 @@ MrPokemonsHouse_OakScript:
setevent EVENT_RIVAL_NEW_BARK_TOWN
setevent EVENT_KRISS_HOUSE_1F_NEIGHBOR
clearevent EVENT_KRISS_NEIGHBORS_HOUSE_NEIGHBOR
- setscene $1
- setmapscene CHERRYGROVE_CITY, $1
- setmapscene ELMS_LAB, $3
+ setscene 1
+ setmapscene CHERRYGROVE_CITY, 1
+ setmapscene ELMS_LAB, 3
specialphonecall SPECIALCALL_ROBBED
clearevent EVENT_COP_IN_ELMS_LAB
checkevent EVENT_GOT_TOTODILE_FROM_ELM
@@ -169,7 +169,7 @@ MrPokemonsHouse_OakExits:
step DOWN
step LEFT
turn_head DOWN
- db $3f ; movement
+ step_sleep 2
step_end
MrPokemonIntroText1:
@@ -372,7 +372,7 @@ MrPokemonsHouse_StrangeCoinsText:
line "another country…"
done
-MrPokemonsHouse_MapEventHeader:
+MrPokemonsHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/MrPsychicsHouse.asm b/maps/MrPsychicsHouse.asm
index 75bd52ae5..042b922d0 100644
--- a/maps/MrPsychicsHouse.asm
+++ b/maps/MrPsychicsHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const MRPSYCHICSHOUSE_FISHING_GURU
-MrPsychicsHouse_MapScriptHeader:
+MrPsychicsHouse_MapScripts:
.SceneScripts:
db 0
@@ -47,7 +47,7 @@ MrPsychicText2:
line "target's SPCL.DEF."
done
-MrPsychicsHouse_MapEventHeader:
+MrPsychicsHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/NationalPark.asm b/maps/NationalPark.asm
index fe1547ea5..9429c5845 100644
--- a/maps/NationalPark.asm
+++ b/maps/NationalPark.asm
@@ -14,7 +14,7 @@ const_value set 2
const NATIONALPARK_GAMEBOY_KID
const NATIONALPARK_POKE_BALL2
-NationalPark_MapScriptHeader:
+NationalPark_MapScripts:
.SceneScripts:
db 0
@@ -94,9 +94,9 @@ UnknownScript_0x5c071:
scall UnknownScript_0x5c100
UnknownScript_0x5c074:
askforphonenumber PHONE_SCHOOLBOY_JACK
- if_equal $1, UnknownScript_0x5c110
- if_equal $2, UnknownScript_0x5c10c
- trainertotext SCHOOLBOY, JACK1, $0
+ if_equal PHONE_CONTACTS_FULL, UnknownScript_0x5c110
+ if_equal PHONE_CONTACT_REFUSED, UnknownScript_0x5c10c
+ trainertotext SCHOOLBOY, JACK1, MEM_BUFFER_0
scall UnknownScript_0x5c104
jump UnknownScript_0x5c108
@@ -224,9 +224,9 @@ UnknownScript_0x5c160:
scall UnknownScript_0x5c193
UnknownScript_0x5c163:
askforphonenumber PHONE_POKEFAN_BEVERLY
- if_equal $1, UnknownScript_0x5c1a3
- if_equal $2, UnknownScript_0x5c19f
- trainertotext POKEFANF, BEVERLY1, $0
+ if_equal PHONE_CONTACTS_FULL, UnknownScript_0x5c1a3
+ if_equal PHONE_CONTACT_REFUSED, UnknownScript_0x5c19f
+ trainertotext POKEFANF, BEVERLY1, MEM_BUFFER_0
scall UnknownScript_0x5c197
jump UnknownScript_0x5c19b
@@ -305,8 +305,7 @@ NationalParkTMDig:
itemball TM_DIG
NationalParkHiddenFullHeal:
- dwb EVENT_NATIONAL_PARK_HIDDEN_FULL_HEAL, FULL_HEAL
-
+ hiddenitem EVENT_NATIONAL_PARK_HIDDEN_FULL_HEAL, FULL_HEAL
NationalParkLassText:
text "Look! Check out my"
@@ -514,7 +513,7 @@ UnknownText_0x5c7c6:
cont "pressing START."
done
-NationalPark_MapEventHeader:
+NationalPark_MapEvents:
; filler
db 0, 0
diff --git a/maps/NationalParkBugContest.asm b/maps/NationalParkBugContest.asm
index 5d7831529..c69e55854 100644
--- a/maps/NationalParkBugContest.asm
+++ b/maps/NationalParkBugContest.asm
@@ -12,7 +12,7 @@ const_value set 2
const NATIONALPARKBUGCONTEST_POKE_BALL1
const NATIONALPARKBUGCONTEST_POKE_BALL2
-NationalParkBugContest_MapScriptHeader:
+NationalParkBugContest_MapScripts:
.SceneScripts:
db 0
@@ -115,8 +115,7 @@ NationalParkBugContestTMDig:
itemball TM_DIG
NationalParkBugContestHiddenFullHeal:
- dwb EVENT_NATIONAL_PARK_HIDDEN_FULL_HEAL, FULL_HEAL
-
+ hiddenitem EVENT_NATIONAL_PARK_HIDDEN_FULL_HEAL, FULL_HEAL
UnknownText_0x5c94c:
text "DON: I'm going to"
@@ -221,7 +220,7 @@ UnknownText_0x5cc1d:
cont "pressing START."
done
-NationalParkBugContest_MapEventHeader:
+NationalParkBugContest_MapEvents:
; filler
db 0, 0
diff --git a/maps/NewBarkTown.asm b/maps/NewBarkTown.asm
index 56b5f14db..f4cad71eb 100644
--- a/maps/NewBarkTown.asm
+++ b/maps/NewBarkTown.asm
@@ -3,7 +3,7 @@ const_value set 2
const NEWBARKTOWN_FISHER
const NEWBARKTOWN_SILVER
-NewBarkTown_MapScriptHeader:
+NewBarkTown_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -11,7 +11,7 @@ NewBarkTown_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
.DummyScene0:
end
@@ -249,7 +249,7 @@ Text_ElmDiscoveredNewMon:
done
NewBarkTownRivalText1:
- text "<......>"
+ text "<……>"
para "So this is the"
line "famous ELM #MON"
@@ -281,7 +281,7 @@ ElmsHouseSignText:
text "ELM'S HOUSE"
done
-NewBarkTown_MapEventHeader:
+NewBarkTown_MapEvents:
; filler
db 0, 0
diff --git a/maps/OaksLab.asm b/maps/OaksLab.asm
index 17da0485d..d78641c28 100644
--- a/maps/OaksLab.asm
+++ b/maps/OaksLab.asm
@@ -4,7 +4,7 @@ const_value set 2
const OAKSLAB_SCIENTIST2
const OAKSLAB_SCIENTIST3
-OaksLab_MapScriptHeader:
+OaksLab_MapScripts:
.SceneScripts:
db 0
@@ -26,14 +26,14 @@ Oak:
setevent EVENT_TALKED_TO_OAK_IN_KANTO
.CheckBadges:
checkcode VAR_BADGES
- if_equal 16, .OpenMtSilver
- if_equal 8, .Complain
+ if_equal NUM_BADGES, .OpenMtSilver
+ if_equal NUM_JOHTO_BADGES, .Complain
jump .AhGood
.CheckPokedex:
writetext OakLabDexCheckText
waitbutton
- special ProfOaksPCBoot
+ special Special_ProfOaksPCBoot
writetext OakLabGoodbyeText
waitbutton
closetext
@@ -256,7 +256,7 @@ OaksLabPCText:
line "TOWN 8-)"
done
-OaksLab_MapEventHeader:
+OaksLab_MapEvents:
; filler
db 0, 0
diff --git a/maps/OlivineCafe.asm b/maps/OlivineCafe.asm
index 1aea5f518..269357d21 100644
--- a/maps/OlivineCafe.asm
+++ b/maps/OlivineCafe.asm
@@ -3,7 +3,7 @@ const_value set 2
const OLIVINECAFE_FISHING_GURU
const OLIVINECAFE_SAILOR2
-OlivineCafe_MapScriptHeader:
+OlivineCafe_MapScripts:
.SceneScripts:
db 0
@@ -78,7 +78,7 @@ OlivineCafeSailorText:
line "stop eating!"
done
-OlivineCafe_MapEventHeader:
+OlivineCafe_MapEvents:
; filler
db 0, 0
diff --git a/maps/OlivineCity.asm b/maps/OlivineCity.asm
index 2e5129bc5..e2fd0c4c7 100644
--- a/maps/OlivineCity.asm
+++ b/maps/OlivineCity.asm
@@ -4,7 +4,7 @@ const_value set 2
const OLIVINECITY_SAILOR2
const OLIVINECITY_OLIVINE_RIVAL
-OlivineCity_MapScriptHeader:
+OlivineCity_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -12,7 +12,7 @@ OlivineCity_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
.DummyScene0:
end
@@ -41,11 +41,11 @@ UnknownScript_0x1a8833:
applymovement PLAYER, MovementData_0x1a88f4
spriteface PLAYER, RIGHT
applymovement OLIVINECITY_OLIVINE_RIVAL, MovementData_0x1a88db
- setscene $1
+ setscene 1
disappear OLIVINECITY_OLIVINE_RIVAL
special RestartMapMusic
variablesprite SPRITE_OLIVINE_RIVAL, SPRITE_SWIMMER_GUY
- special MapCallbackSprites_LoadUsedSpritesGFX
+ special Special_LoadUsedSpritesGFX
end
UnknownScript_0x1a886b:
@@ -66,10 +66,10 @@ UnknownScript_0x1a886b:
spriteface PLAYER, RIGHT
applymovement OLIVINECITY_OLIVINE_RIVAL, MovementData_0x1a88e8
disappear OLIVINECITY_OLIVINE_RIVAL
- setscene $1
+ setscene 1
special RestartMapMusic
variablesprite SPRITE_OLIVINE_RIVAL, SPRITE_SWIMMER_GUY
- special MapCallbackSprites_LoadUsedSpritesGFX
+ special Special_LoadUsedSpritesGFX
end
OlivineCitySailor1Script:
@@ -78,8 +78,8 @@ OlivineCitySailor1Script:
StandingYoungsterScript_0x1a88a6:
faceplayer
opentext
- random $2
- if_equal $0, UnknownScript_0x1a88b4
+ random 2
+ if_equal 0, UnknownScript_0x1a88b4
writetext UnknownText_0x1a8b04
waitbutton
closetext
@@ -287,7 +287,7 @@ UnknownText_0x1a8cba:
text "BATTLE TOWER AHEAD"
done
-OlivineCity_MapEventHeader:
+OlivineCity_MapEvents:
; filler
db 0, 0
diff --git a/maps/OlivineGoodRodHouse.asm b/maps/OlivineGoodRodHouse.asm
index 4e5285c77..3f7c3eced 100644
--- a/maps/OlivineGoodRodHouse.asm
+++ b/maps/OlivineGoodRodHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const OLIVINEGOODRODHOUSE_FISHING_GURU
-OlivineGoodRodHouse_MapScriptHeader:
+OlivineGoodRodHouse_MapScripts:
.SceneScripts:
db 0
@@ -82,7 +82,7 @@ HaveGoodRodText:
line "Land the big one?"
done
-OlivineGoodRodHouse_MapEventHeader:
+OlivineGoodRodHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/OlivineGym.asm b/maps/OlivineGym.asm
index cb87bdd85..40e2bd711 100644
--- a/maps/OlivineGym.asm
+++ b/maps/OlivineGym.asm
@@ -2,7 +2,7 @@ const_value set 2
const OLIVINEGYM_JASMINE
const OLIVINEGYM_GYM_GUY
-OlivineGym_MapScriptHeader:
+OlivineGym_MapScripts:
.SceneScripts:
db 0
@@ -18,7 +18,7 @@ JasmineScript_0x9c12f:
waitbutton
closetext
winlosstext Jasmine_BetterTrainer, 0
- loadtrainer JASMINE, 1
+ loadtrainer JASMINE, JASMINE1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_JASMINE
@@ -91,7 +91,7 @@ OlivineGymStatue:
iftrue .Beaten
jumpstd gymstatue1
.Beaten:
- trainertotext JASMINE, 1, $1
+ trainertotext JASMINE, JASMINE1, MEM_BUFFER_1
jumpstd gymstatue2
Jasmine_SteelTypeIntro:
@@ -197,7 +197,7 @@ OlivineGymGuyPreText:
cont "sionate."
done
-OlivineGym_MapEventHeader:
+OlivineGym_MapEvents:
; filler
db 0, 0
diff --git a/maps/OlivineHouseBeta.asm b/maps/OlivineHouseBeta.asm
index d1171bbef..336469c21 100644
--- a/maps/OlivineHouseBeta.asm
+++ b/maps/OlivineHouseBeta.asm
@@ -2,7 +2,7 @@ const_value set 2
const OLIVINEHOUSEBETA_TEACHER
const OLIVINEHOUSEBETA_RHYDON
-OlivineHouseBeta_MapScriptHeader:
+OlivineHouseBeta_MapScripts:
.SceneScripts:
db 0
@@ -39,7 +39,7 @@ UnknownText_0x9c5f0:
text "RHYDON: Gugooh!"
done
-OlivineHouseBeta_MapEventHeader:
+OlivineHouseBeta_MapEvents:
; filler
db 0, 0
diff --git a/maps/OlivineLighthouse1F.asm b/maps/OlivineLighthouse1F.asm
index 3fd387dcf..769bf13da 100644
--- a/maps/OlivineLighthouse1F.asm
+++ b/maps/OlivineLighthouse1F.asm
@@ -2,7 +2,7 @@ const_value set 2
const OLIVINELIGHTHOUSE1F_SAILOR
const OLIVINELIGHTHOUSE1F_POKEFAN_F
-OlivineLighthouse1F_MapScriptHeader:
+OlivineLighthouse1F_MapScripts:
.SceneScripts:
db 0
@@ -36,7 +36,7 @@ OlivineLighthouse1FPokefanFText:
cont "those #MON."
done
-OlivineLighthouse1F_MapEventHeader:
+OlivineLighthouse1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/OlivineLighthouse2F.asm b/maps/OlivineLighthouse2F.asm
index 0961a4427..d2fd6427f 100644
--- a/maps/OlivineLighthouse2F.asm
+++ b/maps/OlivineLighthouse2F.asm
@@ -2,7 +2,7 @@ const_value set 2
const OLIVINELIGHTHOUSE2F_SAILOR
const OLIVINELIGHTHOUSE2F_GENTLEMAN
-OlivineLighthouse2F_MapScriptHeader:
+OlivineLighthouse2F_MapScripts:
.SceneScripts:
db 0
@@ -41,9 +41,9 @@ UnknownScript_0x5afb0:
scall UnknownScript_0x5b057
UnknownScript_0x5afb3:
askforphonenumber PHONE_SAILOR_HUEY
- if_equal $1, UnknownScript_0x5b067
- if_equal $2, UnknownScript_0x5b063
- trainertotext SAILOR, HUEY1, $0
+ if_equal PHONE_CONTACTS_FULL, UnknownScript_0x5b067
+ if_equal PHONE_CONTACT_REFUSED, UnknownScript_0x5b063
+ trainertotext SAILOR, HUEY1, MEM_BUFFER_0
scall UnknownScript_0x5b05b
jump UnknownScript_0x5b05f
@@ -164,8 +164,8 @@ SailorHuey1BeatenText:
line "I lose!"
done
-; possibly unused
-UnknownText_0x5b0be:
+; unused
+UnusedText_0x5b0be:
text "What power!"
line "How would you like"
@@ -204,7 +204,7 @@ UnknownText_0x5b1b6:
cont "before."
done
-OlivineLighthouse2F_MapEventHeader:
+OlivineLighthouse2F_MapEvents:
; filler
db 0, 0
diff --git a/maps/OlivineLighthouse3F.asm b/maps/OlivineLighthouse3F.asm
index 2c6662029..2cd0dc64c 100644
--- a/maps/OlivineLighthouse3F.asm
+++ b/maps/OlivineLighthouse3F.asm
@@ -4,7 +4,7 @@ const_value set 2
const OLIVINELIGHTHOUSE3F_YOUNGSTER
const OLIVINELIGHTHOUSE3F_POKE_BALL
-OlivineLighthouse3F_MapScriptHeader:
+OlivineLighthouse3F_MapScripts:
.SceneScripts:
db 0
@@ -112,7 +112,7 @@ GentlemanPrestonAfterBattleText:
cont "like ONIX."
done
-OlivineLighthouse3F_MapEventHeader:
+OlivineLighthouse3F_MapEvents:
; filler
db 0, 0
diff --git a/maps/OlivineLighthouse4F.asm b/maps/OlivineLighthouse4F.asm
index 34d03971d..7580d3499 100644
--- a/maps/OlivineLighthouse4F.asm
+++ b/maps/OlivineLighthouse4F.asm
@@ -2,7 +2,7 @@ const_value set 2
const OLIVINELIGHTHOUSE4F_SAILOR
const OLIVINELIGHTHOUSE4F_LASS
-OlivineLighthouse4F_MapScriptHeader:
+OlivineLighthouse4F_MapScripts:
.SceneScripts:
db 0
@@ -81,7 +81,7 @@ LassConnie1AfterBattleText:
line "back to the GYM."
done
-OlivineLighthouse4F_MapEventHeader:
+OlivineLighthouse4F_MapEvents:
; filler
db 0, 0
diff --git a/maps/OlivineLighthouse5F.asm b/maps/OlivineLighthouse5F.asm
index e7c4a7884..ccee7f0c7 100644
--- a/maps/OlivineLighthouse5F.asm
+++ b/maps/OlivineLighthouse5F.asm
@@ -5,7 +5,7 @@ const_value set 2
const OLIVINELIGHTHOUSE5F_POKE_BALL2
const OLIVINELIGHTHOUSE5F_POKE_BALL3
-OlivineLighthouse5F_MapScriptHeader:
+OlivineLighthouse5F_MapScripts:
.SceneScripts:
db 0
@@ -44,8 +44,7 @@ OlivineLighthouse5FTMSwagger:
itemball TM_SWAGGER
OlivineLighthouse5FHiddenHyperPotion:
- dwb EVENT_OLIVINE_LIGHTHOUSE_5F_HIDDEN_HYPER_POTION, HYPER_POTION
-
+ hiddenitem EVENT_OLIVINE_LIGHTHOUSE_5F_HIDDEN_HYPER_POTION, HYPER_POTION
SailorErnestSeenText:
text "I wanted to battle"
@@ -91,7 +90,7 @@ BirdKeeperDenisAfterBattleText:
cont "across the sea…"
done
-OlivineLighthouse5F_MapEventHeader:
+OlivineLighthouse5F_MapEvents:
; filler
db 0, 0
diff --git a/maps/OlivineLighthouse6F.asm b/maps/OlivineLighthouse6F.asm
index 686764bfd..d036dc56f 100644
--- a/maps/OlivineLighthouse6F.asm
+++ b/maps/OlivineLighthouse6F.asm
@@ -3,7 +3,7 @@ const_value set 2
const OLIVINELIGHTHOUSE6F_MONSTER
const OLIVINELIGHTHOUSE6F_POKE_BALL
-OlivineLighthouse6F_MapScriptHeader:
+OlivineLighthouse6F_MapScripts:
.SceneScripts:
db 0
@@ -47,9 +47,9 @@ UnknownScript_0x60bab:
closetext
special RestartMapMusic
cry AMPHAROS
- special FadeOutPalettes
+ special Special_FadeOutPalettes
pause 10
- special FadeInPalettes
+ special Special_FadeInPalettes
opentext
writetext UnknownText_0x60f3d
waitbutton
@@ -109,7 +109,7 @@ MonsterScript_0x60c3a:
iftrue UnknownScript_0x60c51
writetext UnknownText_0x60f03
writebyte AMPHAROS
- special PlaySlowCry
+ special Special_PlaySlowCry
buttonsound
writetext UnknownText_0x60f19
waitbutton
@@ -121,10 +121,10 @@ UnknownScript_0x60c51:
cry AMPHAROS
waitbutton
closetext
- special FadeOutPalettes
- special FadeInPalettes
- special FadeOutPalettes
- special FadeInPalettes
+ special Special_FadeOutPalettes
+ special Special_FadeInPalettes
+ special Special_FadeOutPalettes
+ special Special_FadeInPalettes
end
OlivineLighthouse6FSuperPotion:
@@ -257,7 +257,7 @@ UnknownText_0x60f3d:
line "Palulu!"
done
-OlivineLighthouse6F_MapEventHeader:
+OlivineLighthouse6F_MapEvents:
; filler
db 0, 0
diff --git a/maps/OlivineMart.asm b/maps/OlivineMart.asm
index b486e0867..ea980fe3c 100644
--- a/maps/OlivineMart.asm
+++ b/maps/OlivineMart.asm
@@ -3,7 +3,7 @@ const_value set 2
const OLIVINEMART_COOLTRAINER_F
const OLIVINEMART_LASS
-OlivineMart_MapScriptHeader:
+OlivineMart_MapScripts:
.SceneScripts:
db 0
@@ -45,7 +45,7 @@ OlivineMartLassText:
line "It's a secret!"
done
-OlivineMart_MapEventHeader:
+OlivineMart_MapEvents:
; filler
db 0, 0
diff --git a/maps/OlivinePokecenter1F.asm b/maps/OlivinePokecenter1F.asm
index 81f172258..3345636ff 100644
--- a/maps/OlivinePokecenter1F.asm
+++ b/maps/OlivinePokecenter1F.asm
@@ -4,7 +4,7 @@ const_value set 2
const OLIVINEPOKECENTER1F_FISHER
const OLIVINEPOKECENTER1F_TEACHER
-OlivinePokecenter1F_MapScriptHeader:
+OlivinePokecenter1F_MapScripts:
.SceneScripts:
db 0
@@ -47,7 +47,7 @@ OlivinePokecenter1FTeacherText:
cont "rare #MON."
done
-OlivinePokecenter1F_MapEventHeader:
+OlivinePokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/OlivinePort.asm b/maps/OlivinePort.asm
index f34281e43..0b9b8882a 100644
--- a/maps/OlivinePort.asm
+++ b/maps/OlivinePort.asm
@@ -7,7 +7,7 @@ const_value set 2
const OLIVINEPORT_YOUNGSTER
const OLIVINEPORT_COOLTRAINER_F
-OlivinePort_MapScriptHeader:
+OlivinePort_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -26,7 +26,7 @@ OlivinePort_MapScriptHeader:
.LeaveFastShipScript:
applymovement PLAYER, MovementData_0x74a32
appear OLIVINEPORT_SAILOR1
- setscene $0
+ setscene 0
setevent EVENT_GAVE_KURT_APRICORNS
blackoutmod OLIVINE_CITY
end
@@ -46,7 +46,7 @@ SailorScript_0x748c0:
waitsfx
applymovement PLAYER, MovementData_0x74a30
playsound SFX_EXIT_BUILDING
- special FadeOutPalettes
+ special Special_FadeOutPalettes
waitsfx
checkevent EVENT_FAST_SHIP_FIRST_TIME
iffalse UnknownScript_0x7490a
@@ -64,8 +64,8 @@ SailorScript_0x748c0:
UnknownScript_0x7490a:
clearevent EVENT_FAST_SHIP_DESTINATION_OLIVINE
appear OLIVINEPORT_SAILOR1
- setmapscene FAST_SHIP_1F, $1
- warp FAST_SHIP_1F, $19, $1
+ setmapscene FAST_SHIP_1F, 1
+ warp FAST_SHIP_1F, 25, 1
end
UnknownScript_0x74919:
@@ -234,8 +234,7 @@ CooltrainerFScript_0x74a22:
end
OlivinePortHiddenProtein:
- dwb EVENT_OLIVINE_PORT_HIDDEN_PROTEIN, PROTEIN
-
+ hiddenitem EVENT_OLIVINE_PORT_HIDDEN_PROTEIN, PROTEIN
MovementData_0x74a30:
step DOWN
@@ -385,7 +384,7 @@ OlivinePortSailorText:
line "allowed in."
done
-OlivinePort_MapEventHeader:
+OlivinePort_MapEvents:
; filler
db 0, 0
diff --git a/maps/OlivinePortPassage.asm b/maps/OlivinePortPassage.asm
index e79db48cc..5b9615a73 100644
--- a/maps/OlivinePortPassage.asm
+++ b/maps/OlivinePortPassage.asm
@@ -1,7 +1,7 @@
const_value set 2
const OLIVINEPORTPASSAGE_POKEFAN_M
-OlivinePortPassage_MapScriptHeader:
+OlivinePortPassage_MapScripts:
.SceneScripts:
db 0
@@ -19,7 +19,7 @@ OlivinePortPassagePokefanMText:
line "days."
done
-OlivinePortPassage_MapEventHeader:
+OlivinePortPassage_MapEvents:
; filler
db 0, 0
diff --git a/maps/OlivinePunishmentSpeechHouse.asm b/maps/OlivinePunishmentSpeechHouse.asm
index b1217a545..ed0e86e32 100644
--- a/maps/OlivinePunishmentSpeechHouse.asm
+++ b/maps/OlivinePunishmentSpeechHouse.asm
@@ -2,7 +2,7 @@ const_value set 2
const OLIVINEPUNISHMENTSPEECHHOUSE_POKEFAN_M
const OLIVINEPUNISHMENTSPEECHHOUSE_LASS
-OlivinePunishmentSpeechHouse_MapScriptHeader:
+OlivinePunishmentSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -39,7 +39,7 @@ OlivinePunishmentSpeechHouseDaughterText:
cont "always scares me."
done
-OlivinePunishmentSpeechHouse_MapEventHeader:
+OlivinePunishmentSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/OlivineTimsHouse.asm b/maps/OlivineTimsHouse.asm
index 33c5a746c..5d1b19263 100644
--- a/maps/OlivineTimsHouse.asm
+++ b/maps/OlivineTimsHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const OLIVINETIMSHOUSE_TIM
-OlivineTimsHouse_MapScriptHeader:
+OlivineTimsHouse_MapScripts:
.SceneScripts:
db 0
@@ -19,7 +19,7 @@ Tim:
TimsHouseBookshelf:
jumpstd magazinebookshelf
-OlivineTimsHouse_MapEventHeader:
+OlivineTimsHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/PalletTown.asm b/maps/PalletTown.asm
index f11cf6d65..8e18b6d08 100644
--- a/maps/PalletTown.asm
+++ b/maps/PalletTown.asm
@@ -2,13 +2,13 @@ const_value set 2
const PALLETTOWN_TEACHER
const PALLETTOWN_FISHER
-PalletTown_MapScriptHeader:
+PalletTown_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
.FlyPoint:
setflag ENGINE_FLYPOINT_PALLET
@@ -69,7 +69,7 @@ BluesHouseSignText:
text "BLUE'S HOUSE"
done
-PalletTown_MapEventHeader:
+PalletTown_MapEvents:
; filler
db 0, 0
diff --git a/maps/PewterCity.asm b/maps/PewterCity.asm
index 44ea440a7..a4467ec4a 100644
--- a/maps/PewterCity.asm
+++ b/maps/PewterCity.asm
@@ -5,13 +5,13 @@ const_value set 2
const PEWTERCITY_FRUIT_TREE1
const PEWTERCITY_FRUIT_TREE2
-PewterCity_MapScriptHeader:
+PewterCity_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
.FlyPoint:
setflag ENGINE_FLYPOINT_PEWTER
@@ -152,7 +152,7 @@ PewterCityWelcomeSignText:
line "PEWTER CITY!"
done
-PewterCity_MapEventHeader:
+PewterCity_MapEvents:
; filler
db 0, 0
diff --git a/maps/PewterGym.asm b/maps/PewterGym.asm
index ca94d9e9f..9e6395f13 100644
--- a/maps/PewterGym.asm
+++ b/maps/PewterGym.asm
@@ -3,7 +3,7 @@ const_value set 2
const PEWTERGYM_YOUNGSTER
const PEWTERGYM_GYM_GUY
-PewterGym_MapScriptHeader:
+PewterGym_MapScripts:
.SceneScripts:
db 0
@@ -19,7 +19,7 @@ BrockScript_0x1a2864:
waitbutton
closetext
winlosstext UnknownText_0x1a29bb, 0
- loadtrainer BROCK, 1
+ loadtrainer BROCK, BROCK1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_BROCK
@@ -72,7 +72,7 @@ PewterGymStatue:
iftrue .Beaten
jumpstd gymstatue1
.Beaten:
- trainertotext BROCK, 1, $1
+ trainertotext BROCK, BROCK1, MEM_BUFFER_1
jumpstd gymstatue2
UnknownText_0x1a28d0:
@@ -208,7 +208,7 @@ PewterGymGuyWinText:
line "that seriously."
done
-PewterGym_MapEventHeader:
+PewterGym_MapEvents:
; filler
db 0, 0
diff --git a/maps/PewterMart.asm b/maps/PewterMart.asm
index f34ac5a46..cc5047d7c 100644
--- a/maps/PewterMart.asm
+++ b/maps/PewterMart.asm
@@ -3,7 +3,7 @@ const_value set 2
const PEWTERMART_YOUNGSTER
const PEWTERMART_SUPER_NERD
-PewterMart_MapScriptHeader:
+PewterMart_MapScripts:
.SceneScripts:
db 0
@@ -45,7 +45,7 @@ PewterMartSuperNerdText:
line "excellent."
done
-PewterMart_MapEventHeader:
+PewterMart_MapEvents:
; filler
db 0, 0
diff --git a/maps/PewterNidoranSpeechHouse.asm b/maps/PewterNidoranSpeechHouse.asm
index f6b96845b..b70294cef 100644
--- a/maps/PewterNidoranSpeechHouse.asm
+++ b/maps/PewterNidoranSpeechHouse.asm
@@ -2,7 +2,7 @@ const_value set 2
const PEWTERNIDORANSPEECHHOUSE_SUPER_NERD
const PEWTERNIDORANSPEECHHOUSE_NIDORAN_M
-PewterNidoranSpeechHouse_MapScriptHeader:
+PewterNidoranSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -28,7 +28,7 @@ PewterNidoranText:
text "NIDORAN: Gau gau!"
done
-PewterNidoranSpeechHouse_MapEventHeader:
+PewterNidoranSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/PewterPokecenter1F.asm b/maps/PewterPokecenter1F.asm
index b587e3b0d..25234385d 100644
--- a/maps/PewterPokecenter1F.asm
+++ b/maps/PewterPokecenter1F.asm
@@ -5,7 +5,7 @@ const_value set 2
const PEWTERPOKECENTER1F_BUG_CATCHER
const PEWTERPOKECENTER1F_CHRIS
-PewterPokecenter1F_MapScriptHeader:
+PewterPokecenter1F_MapScripts:
.SceneScripts:
db 0
@@ -67,7 +67,7 @@ PewterPokecenter1FBugCatcherText:
line "#MON is asleep."
done
-PewterPokecenter1F_MapEventHeader:
+PewterPokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/PewterPokecenter2FBeta.asm b/maps/PewterPokecenter2FBeta.asm
index 6e7809106..0e6e7b916 100644
--- a/maps/PewterPokecenter2FBeta.asm
+++ b/maps/PewterPokecenter2FBeta.asm
@@ -1,11 +1,11 @@
-PewterPokecenter2FBeta_MapScriptHeader:
+PewterPokecenter2FBeta_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-PewterPokecenter2FBeta_MapEventHeader:
+PewterPokecenter2FBeta_MapEvents:
; filler
db 0, 0
diff --git a/maps/PewterSnoozeSpeechHouse.asm b/maps/PewterSnoozeSpeechHouse.asm
index 2f9bd429b..43e423cc4 100644
--- a/maps/PewterSnoozeSpeechHouse.asm
+++ b/maps/PewterSnoozeSpeechHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const PEWTERSNOOZESPEECHHOUSE_GRAMPS
-PewterSnoozeSpeechHouse_MapScriptHeader:
+PewterSnoozeSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -20,7 +20,7 @@ PewterSnoozeSpeechHouseGrampsText:
cont "…Zzzz…"
done
-PewterSnoozeSpeechHouse_MapEventHeader:
+PewterSnoozeSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/PokeSeersHouse.asm b/maps/PokeSeersHouse.asm
index 9b9052ee8..89dfe05ba 100644
--- a/maps/PokeSeersHouse.asm
+++ b/maps/PokeSeersHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const POKESEERSHOUSE_GRANNY
-PokeSeersHouse_MapScriptHeader:
+PokeSeersHouse_MapScripts:
.SceneScripts:
db 0
@@ -11,12 +11,12 @@ PokeSeersHouse_MapScriptHeader:
SeerScript:
faceplayer
opentext
- special SpecialPokeSeer
+ special Special_PokeSeer
waitbutton
closetext
end
-PokeSeersHouse_MapEventHeader:
+PokeSeersHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/Pokecenter2F.asm b/maps/Pokecenter2F.asm
index ece34605d..11a73de07 100644
--- a/maps/Pokecenter2F.asm
+++ b/maps/Pokecenter2F.asm
@@ -4,7 +4,7 @@ const_value set 2
const POKECENTER2F_TIME_CAPSULE_RECEPTIONIST
const POKECENTER2F_OFFICER
-Pokecenter2F_MapScriptHeader:
+Pokecenter2F_MapScripts:
.SceneScripts:
db 6
scene_script .Scene0
@@ -76,10 +76,10 @@ LinkReceptionistScript_Trade:
writetext Text_TradeReceptionistIntro
yesorno
iffalse .Cancel
- special Mobile_DummyReturnFalse ; always returns false
+ special Special_Mobile_DummyReturnFalse ; always returns false
iffalse .NoMobile
writetext Text_TradeReceptionistMobile
- special AskMobileOrCable
+ special Special_AskMobileOrCable
iffalse .Cancel
if_equal $1, .Mobile
.NoMobile:
@@ -107,7 +107,7 @@ LinkReceptionistScript_Trade:
end
.FriendNotReady:
- special WaitForOtherPlayerToExit
+ special Special_WaitForOtherPlayerToExit
writetext Text_FriendNotReady
closetext
end
@@ -132,7 +132,7 @@ LinkReceptionistScript_Trade:
.DidNotSave:
writetext Text_PleaseComeAgain
.AbortLink:
- special WaitForOtherPlayerToExit
+ special Special_WaitForOtherPlayerToExit
.Cancel:
closetext
end
@@ -153,17 +153,17 @@ LinkReceptionistScript_Trade:
iffalse .Mobile_DidNotSave
special Special_TryQuickSave
iffalse .Mobile_DidNotSave
- special Function1011f1
+ special Special_Function1011f1
writetext Text_PleaseComeIn2
waitbutton
closetext
- writebyte $0
+ writebyte FALSE
end
.Mobile_DidNotSave:
writetext Text_PleaseComeAgain
closetext
- writebyte $1
+ writebyte TRUE
end
BattleTradeMobile_WalkIn:
@@ -178,10 +178,10 @@ LinkReceptionistScript_Battle:
writetext Text_BattleReceptionistIntro
yesorno
iffalse .Cancel
- special Mobile_DummyReturnFalse ; always returns false
+ special Special_Mobile_DummyReturnFalse ; always returns false
iffalse .NoMobile
writetext Text_BattleReceptionistMobile
- special AskMobileOrCable
+ special Special_AskMobileOrCable
iffalse .Cancel
if_equal $1, .Mobile
.NoMobile:
@@ -209,7 +209,7 @@ LinkReceptionistScript_Battle:
end
.FriendNotReady:
- special WaitForOtherPlayerToExit
+ special Special_WaitForOtherPlayerToExit
writetext Text_FriendNotReady
closetext
end
@@ -234,7 +234,7 @@ LinkReceptionistScript_Battle:
.DidNotSave:
writetext Text_PleaseComeAgain
.AbortLink:
- special WaitForOtherPlayerToExit
+ special Special_WaitForOtherPlayerToExit
.Cancel:
closetext
end
@@ -255,23 +255,23 @@ LinkReceptionistScript_Battle:
writetext Text_MustSaveGame
yesorno
iffalse .Mobile_DidNotSave
- special Function103780
+ special Special_Function103780
iffalse .Mobile_DidNotSave
- special Function1011f1
+ special Special_Function1011f1
writetext Text_PleaseComeIn2
waitbutton
closetext
- writebyte $0
+ writebyte FALSE
end
.Mobile_DidNotSave:
writetext Text_PleaseComeAgain
closetext
- writebyte $1
+ writebyte TRUE
end
.SelectThreeMons:
- special Mobile_SelectThreeMons
+ special Special_Mobile_SelectThreeMons
iffalse .Mobile_DidNotSelect
if_equal $1, .Mobile_OK
if_equal $2, .Mobile_OK
@@ -283,11 +283,11 @@ LinkReceptionistScript_Battle:
waitbutton
.Mobile_DidNotSelect:
closetext
- writebyte $0
+ writebyte FALSE
end
.Mobile_OK:
- writebyte $1
+ writebyte TRUE
end
Script_TimeCapsuleClosed:
@@ -342,7 +342,7 @@ LinkReceptionistScript_TimeCapsule:
end
.FriendNotReady:
- special WaitForOtherPlayerToExit
+ special Special_WaitForOtherPlayerToExit
writetext Text_FriendNotReady
closetext
end
@@ -354,7 +354,7 @@ LinkReceptionistScript_TimeCapsule:
.DidNotSave:
writetext Text_PleaseComeAgain
.Cancel:
- special WaitForOtherPlayerToExit
+ special Special_WaitForOtherPlayerToExit
closetext
end
@@ -374,17 +374,17 @@ LinkReceptionistScript_TimeCapsule:
end
Script_LeftCableTradeCenter:
- special WaitForOtherPlayerToExit
+ special Special_WaitForOtherPlayerToExit
scall Script_WalkOutOfLinkTradeRoom
- setscene $0
- setmapscene TRADE_CENTER, $0
+ setscene 0
+ setmapscene TRADE_CENTER, 0
end
Script_LeftMobileTradeRoom:
- special Function101220
+ special Special_Function101220
scall Script_WalkOutOfMobileTradeRoom
- setscene $0
- setmapscene MOBILE_TRADE_ROOM_MOBILE, $0
+ setscene 0
+ setmapscene MOBILE_TRADE_ROOM_MOBILE, 0
end
Script_WalkOutOfMobileTradeRoom:
@@ -394,17 +394,17 @@ Script_WalkOutOfMobileTradeRoom:
end
Script_LeftCableColosseum:
- special WaitForOtherPlayerToExit
+ special Special_WaitForOtherPlayerToExit
scall Script_WalkOutOfLinkBattleRoom
- setscene $0
- setmapscene COLOSSEUM, $0
+ setscene 0
+ setmapscene COLOSSEUM, 0
end
Script_LeftMobileBattleRoom:
- special Function101220
+ special Special_Function101220
scall Script_WalkOutOfMobileBattleRoom
- setscene $0
- setmapscene MOBILE_BATTLE_ROOM, $0
+ setscene 0
+ setmapscene MOBILE_BATTLE_ROOM, 0
end
Script_WalkOutOfMobileBattleRoom:
@@ -558,7 +558,7 @@ TimeCapsuleScript_CheckPlayerGender:
end
Script_LeftTimeCapsule:
- special WaitForOtherPlayerToExit
+ special Special_WaitForOtherPlayerToExit
checkflag ENGINE_KRIS_IN_CABLE_CLUB
iftrue .Female
applymovement POKECENTER2F_TIME_CAPSULE_RECEPTIONIST, Pokecenter2FMovementData_ReceptionistStepsLeftLooksRight
@@ -579,12 +579,12 @@ Script_LeftTimeCapsule:
applymovement PLAYER, Pokecenter2FMovementData_PlayerTakesOneStepDown
applymovement POKECENTER2F_TIME_CAPSULE_RECEPTIONIST, Pokecenter2FMovementData_ReceptionistStepsRightLooksDown_2
.Done:
- setscene $0
- setmapscene TIME_CAPSULE, $0
+ setscene 0
+ setmapscene TIME_CAPSULE, 0
end
MapPokecenter2FSignpost0Script:
- refreshscreen $0
+ refreshscreen
special Special_DisplayLinkRecord
closetext
end
@@ -915,7 +915,7 @@ Text_PleaseEnter:
Text_RejectNewMon:
text "Sorry--@"
text_from_ram StringBuffer1
- text ""
+ text_start
line "can't be taken."
prompt
@@ -1022,7 +1022,7 @@ Text_BrokeStadiumRules:
line "when you're ready."
done
-Pokecenter2F_MapEventHeader:
+Pokecenter2F_MapEvents:
; filler
db 0, 0
diff --git a/maps/PokemonFanClub.asm b/maps/PokemonFanClub.asm
index 4740f745b..0c8bb70ec 100644
--- a/maps/PokemonFanClub.asm
+++ b/maps/PokemonFanClub.asm
@@ -6,7 +6,7 @@ const_value set 2
const POKEMONFANCLUB_FAIRY
const POKEMONFANCLUB_ODDISH
-PokemonFanClub_MapScriptHeader:
+PokemonFanClub_MapScripts:
.SceneScripts:
db 0
@@ -296,7 +296,7 @@ UnknownText_0x191e29:
line "brag right back!"
done
-PokemonFanClub_MapEventHeader:
+PokemonFanClub_MapEvents:
; filler
db 0, 0
diff --git a/maps/PowerPlant.asm b/maps/PowerPlant.asm
index 371ef6c58..ef855e40e 100644
--- a/maps/PowerPlant.asm
+++ b/maps/PowerPlant.asm
@@ -7,7 +7,7 @@ const_value set 2
const POWERPLANT_FISHER
const POWERPLANT_FOREST
-PowerPlant_MapScriptHeader:
+PowerPlant_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -42,7 +42,7 @@ PowerPlantGuardPhoneScript:
closetext
spriteface PLAYER, DOWN
applymovement POWERPLANT_OFFICER1, MovementData_0x188eda
- setscene $0
+ setscene 0
end
OfficerScript_0x188df5:
@@ -148,8 +148,8 @@ PowerPlantManager:
setevent EVENT_MET_MANAGER_AT_POWER_PLANT
clearevent EVENT_CERULEAN_GYM_ROCKET
clearevent EVENT_FOUND_MACHINE_PART_IN_CERULEAN_GYM
- setmapscene CERULEAN_GYM, $1
- setscene $1
+ setmapscene CERULEAN_GYM, 1
+ setscene 1
end
UnknownScript_0x188e8d:
@@ -388,7 +388,7 @@ UnknownText_0x189475:
line "electricity out!"
done
-PowerPlant_MapEventHeader:
+PowerPlant_MapEvents:
; filler
db 0, 0
diff --git a/maps/RadioTower1F.asm b/maps/RadioTower1F.asm
index febce1a36..96cd013c6 100644
--- a/maps/RadioTower1F.asm
+++ b/maps/RadioTower1F.asm
@@ -6,7 +6,7 @@ const_value set 2
const RADIOTOWER1F_GENTLEMAN
const RADIOTOWER1F_COOLTRAINER_F
-RadioTower1F_MapScriptHeader:
+RadioTower1F_MapScripts:
.SceneScripts:
db 0
@@ -148,7 +148,7 @@ CooltrainerFScript_0x5cdd5:
waitsfx
writetext UnknownText_0x5d37b
buttonsound
- stringtotext RadioCardText, $1
+ stringtotext RadioCardText, MEM_BUFFER_1
scall UnknownScript_0x5ce3e
writetext UnknownText_0x5d3c0
buttonsound
@@ -249,8 +249,8 @@ UnknownText_0x5cf5a:
done
UnknownText_0x5cf79:
- text $56
- line $56
+ text "<……>"
+ line "<……>"
done
UnknownText_0x5cf7e:
@@ -472,7 +472,7 @@ UnknownText_0x5d631:
cont "ent ID numbers!"
done
-RadioTower1F_MapEventHeader:
+RadioTower1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/RadioTower2F.asm b/maps/RadioTower2F.asm
index 7942063f9..99f4dbe4c 100644
--- a/maps/RadioTower2F.asm
+++ b/maps/RadioTower2F.asm
@@ -11,7 +11,7 @@ const_value set 2
const RADIOTOWER2F_BUENA
const RADIOTOWER2F_RECEPTIONIST
-RadioTower2F_MapScriptHeader:
+RadioTower2F_MapScripts:
.SceneScripts:
db 0
@@ -117,7 +117,7 @@ Buena:
if_equal 30, UnknownScript_0x5d87f
playmusic MUSIC_BUENAS_PASSWORD
writetext UnknownText_0x5de35
- special AskRememberPassword
+ special Special_AskRememberPassword
iffalse UnknownScript_0x5d81e
writetext UnknownText_0x5de84
waitbutton
@@ -133,8 +133,8 @@ UnknownScript_0x5d7be:
waitbutton
closetext
spriteface RADIOTOWER2F_BUENA, DOWN
- refreshscreen $0
- special SpecialBuenasPassword
+ refreshscreen
+ special Special_BuenasPassword
closetext
iffalse UnknownScript_0x5d845
opentext
@@ -142,7 +142,7 @@ UnknownScript_0x5d7be:
waitbutton
closetext
checkcode VAR_BLUECARDBALANCE
- addvar $1
+ addvar 1
writevarcode VAR_BLUECARDBALANCE
waitsfx
playsound SFX_TRANSACTION
@@ -157,7 +157,7 @@ UnknownScript_0x5d7be:
pause 20
special RestartMapMusic
checkcode VAR_BLUECARDBALANCE
- if_equal $1e, UnknownScript_0x5d8a4
+ if_equal 30, UnknownScript_0x5d8a4
end
UnknownScript_0x5d800:
@@ -281,8 +281,8 @@ UnknownScript_0x5d8cc:
writetext UnknownText_0x5e2bf
UnknownScript_0x5d8d0:
askforphonenumber PHONE_BUENA
- if_equal $1, UnknownScript_0x5d8f6
- if_equal $2, UnknownScript_0x5d8ed
+ if_equal PHONE_CONTACTS_FULL, UnknownScript_0x5d8f6
+ if_equal PHONE_CONTACT_REFUSED, UnknownScript_0x5d8ed
writetext UnknownText_0x5e2f3
playsound SFX_REGISTER_PHONE_NUMBER
waitsfx
@@ -316,7 +316,7 @@ ReceptionistScript_0x5d8ff:
iffalse UnknownScript_0x5d90f
writetext UnknownText_0x5e392
buttonsound
- special SpecialBuenaPrize
+ special Special_BuenaPrize
closetext
end
@@ -710,7 +710,7 @@ UnknownText_0x5e463:
line "#MON Radio"
done
-RadioTower2F_MapEventHeader:
+RadioTower2F_MapEvents:
; filler
db 0, 0
diff --git a/maps/RadioTower3F.asm b/maps/RadioTower3F.asm
index 5a0e360c5..0efc9e2db 100644
--- a/maps/RadioTower3F.asm
+++ b/maps/RadioTower3F.asm
@@ -7,13 +7,13 @@ const_value set 2
const RADIOTOWER3F_ROCKET3
const RADIOTOWER3F_SCIENTIST
-RadioTower3F_MapScriptHeader:
+RadioTower3F_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_TILES, .CardKeyShutterCallback
+ callback MAPCALLBACK_TILES, .CardKeyShutterCallback
.CardKeyShutterCallback:
checkevent EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER
@@ -21,8 +21,8 @@ RadioTower3F_MapScriptHeader:
return
.Change:
- changeblock $e, $2, $2a
- changeblock $e, $4, $1
+ changeblock 14, 2, $2a ; open shutter
+ changeblock 14, 4, $01 ; floor
return
RadioTower3FSuperNerdScript:
@@ -143,8 +143,8 @@ UnknownScript_0x5e605:
waitbutton
setevent EVENT_USED_THE_CARD_KEY_IN_THE_RADIO_TOWER
playsound SFX_ENTER_DOOR
- changeblock $e, $2, $2a
- changeblock $e, $4, $1
+ changeblock 14, 2, $2a ; open shutter
+ changeblock 14, 4, $01 ; floor
reloadmappart
closetext
waitsfx
@@ -328,7 +328,7 @@ UnknownText_0x5eae4:
line "Host DJ BEN"
done
-RadioTower3F_MapEventHeader:
+RadioTower3F_MapEvents:
; filler
db 0, 0
diff --git a/maps/RadioTower4F.asm b/maps/RadioTower4F.asm
index 3beb7211c..99815f819 100644
--- a/maps/RadioTower4F.asm
+++ b/maps/RadioTower4F.asm
@@ -7,7 +7,7 @@ const_value set 2
const RADIOTOWER4F_ROCKET_GIRL
const RADIOTOWER4F_SCIENTIST
-RadioTower4F_MapScriptHeader:
+RadioTower4F_MapScripts:
.SceneScripts:
db 0
@@ -245,7 +245,7 @@ UnknownText_0x5f00d:
text "4F STUDIO 2"
done
-RadioTower4F_MapEventHeader:
+RadioTower4F_MapEvents:
; filler
db 0, 0
diff --git a/maps/RadioTower5F.asm b/maps/RadioTower5F.asm
index c73d53de2..009c1e91d 100644
--- a/maps/RadioTower5F.asm
+++ b/maps/RadioTower5F.asm
@@ -5,7 +5,7 @@ const_value set 2
const RADIOTOWER5F_ROCKER
const RADIOTOWER5F_POKE_BALL
-RadioTower5F_MapScriptHeader:
+RadioTower5F_MapScripts:
.SceneScripts:
db 3
scene_script .DummyScene0
@@ -47,7 +47,7 @@ FakeDirectorScript:
buttonsound
verbosegiveitem BASEMENT_KEY
closetext
- setscene $1
+ setscene 1
setevent EVENT_BEAT_ROCKET_EXECUTIVEM_3
end
@@ -96,7 +96,7 @@ RadioTower5FRocketBossScene:
waitbutton
closetext
special Special_FadeBlackQuickly
- special Special_ReloadSpritesNoPalettes
+ special ReloadSpritesNoPalettes
disappear RADIOTOWER5F_ROCKET
disappear RADIOTOWER5F_ROCKET_GIRL
pause 15
@@ -115,7 +115,7 @@ RadioTower5FRocketBossScene:
clearevent EVENT_BLACKTHORN_CITY_SUPER_NERD_DOES_NOT_BLOCK_GYM
special PlayMapMusic
disappear RADIOTOWER5F_DIRECTOR
- moveobject RADIOTOWER5F_DIRECTOR, $c, $0
+ moveobject RADIOTOWER5F_DIRECTOR, 12, 0
appear RADIOTOWER5F_DIRECTOR
applymovement RADIOTOWER5F_DIRECTOR, RadioTower5FDirectorWalksIn
spriteface PLAYER, RIGHT
@@ -126,8 +126,8 @@ RadioTower5FRocketBossScene:
writetext RadioTower5FDirectorDescribeClearBellText
waitbutton
closetext
- setscene $2
- setmapscene ECRUTEAK_HOUSE, $0
+ setscene 2
+ setmapscene ECRUTEAK_HOUSE, 0
setevent EVENT_GOT_CLEAR_BELL
setevent EVENT_TEAM_ROCKET_DISBANDED
jump .UselessJump
@@ -420,7 +420,7 @@ SignpostRadioTower5FStudio:
text "5F STUDIO 1"
done
-RadioTower5F_MapEventHeader:
+RadioTower5F_MapEvents:
; filler
db 0, 0
diff --git a/maps/RedsHouse1F.asm b/maps/RedsHouse1F.asm
index 07f23a582..2f9d2828a 100644
--- a/maps/RedsHouse1F.asm
+++ b/maps/RedsHouse1F.asm
@@ -1,7 +1,7 @@
const_value set 2
const REDSHOUSE1F_REDS_MOM
-RedsHouse1F_MapScriptHeader:
+RedsHouse1F_MapScripts:
.SceneScripts:
db 1
scene_script .DummyScene
@@ -74,7 +74,7 @@ RedsHouse1FTVText:
cont "in JOHTO…"
done
-RedsHouse1F_MapEventHeader:
+RedsHouse1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/RedsHouse2F.asm b/maps/RedsHouse2F.asm
index 073985eaa..b69790cdd 100644
--- a/maps/RedsHouse2F.asm
+++ b/maps/RedsHouse2F.asm
@@ -1,4 +1,4 @@
-RedsHouse2F_MapScriptHeader:
+RedsHouse2F_MapScripts:
.SceneScripts:
db 0
@@ -25,7 +25,7 @@ RedsHouse2FPCText:
cont "in a long time…"
done
-RedsHouse2F_MapEventHeader:
+RedsHouse2F_MapEvents:
; filler
db 0, 0
diff --git a/maps/RockTunnel1F.asm b/maps/RockTunnel1F.asm
index 3f2f57f20..570b4b2f5 100644
--- a/maps/RockTunnel1F.asm
+++ b/maps/RockTunnel1F.asm
@@ -2,7 +2,7 @@ const_value set 2
const ROCKTUNNEL1F_POKE_BALL1
const ROCKTUNNEL1F_POKE_BALL2
-RockTunnel1F_MapScriptHeader:
+RockTunnel1F_MapScripts:
.SceneScripts:
db 0
@@ -16,14 +16,12 @@ RockTunnel1FTMSteelWing:
itemball TM_STEEL_WING
RockTunnel1FHiddenXAccuracy:
- dwb EVENT_ROCK_TUNNEL_1F_HIDDEN_X_ACCURACY, X_ACCURACY
-
+ hiddenitem EVENT_ROCK_TUNNEL_1F_HIDDEN_X_ACCURACY, X_ACCURACY
RockTunnel1FHiddenXDefend:
- dwb EVENT_ROCK_TUNNEL_1F_HIDDEN_X_DEFEND, X_DEFEND
-
+ hiddenitem EVENT_ROCK_TUNNEL_1F_HIDDEN_X_DEFEND, X_DEFEND
-RockTunnel1F_MapEventHeader:
+RockTunnel1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/RockTunnelB1F.asm b/maps/RockTunnelB1F.asm
index 6d20a92f2..d94f1f412 100644
--- a/maps/RockTunnelB1F.asm
+++ b/maps/RockTunnelB1F.asm
@@ -3,7 +3,7 @@ const_value set 2
const ROCKTUNNELB1F_POKE_BALL2
const ROCKTUNNELB1F_POKE_BALL3
-RockTunnelB1F_MapScriptHeader:
+RockTunnelB1F_MapScripts:
.SceneScripts:
db 0
@@ -20,10 +20,9 @@ RockTunnelB1FRevive:
itemball REVIVE
RockTunnelB1FHiddenMaxPotion:
- dwb EVENT_ROCK_TUNNEL_B1F_HIDDEN_MAX_POTION, MAX_POTION
+ hiddenitem EVENT_ROCK_TUNNEL_B1F_HIDDEN_MAX_POTION, MAX_POTION
-
-RockTunnelB1F_MapEventHeader:
+RockTunnelB1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route1.asm b/maps/Route1.asm
index d079ba955..8be70d4d6 100644
--- a/maps/Route1.asm
+++ b/maps/Route1.asm
@@ -3,7 +3,7 @@ const_value set 2
const ROUTE1_COOLTRAINER_F
const ROUTE1_FRUIT_TREE
-Route1_MapScriptHeader:
+Route1_MapScripts:
.SceneScripts:
db 0
@@ -80,7 +80,7 @@ Route1SignText:
line "VIRIDIAN CITY"
done
-Route1_MapEventHeader:
+Route1_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route10North.asm b/maps/Route10North.asm
index 918d3af57..feb7dd033 100644
--- a/maps/Route10North.asm
+++ b/maps/Route10North.asm
@@ -1,4 +1,4 @@
-Route10North_MapScriptHeader:
+Route10North_MapScripts:
.SceneScripts:
db 0
@@ -15,7 +15,7 @@ PowerPlantSignText:
text "KANTO POWER PLANT"
done
-Route10North_MapEventHeader:
+Route10North_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route10Pokecenter1F.asm b/maps/Route10Pokecenter1F.asm
index c0bd2b5ec..4a75da2ec 100644
--- a/maps/Route10Pokecenter1F.asm
+++ b/maps/Route10Pokecenter1F.asm
@@ -4,7 +4,7 @@ const_value set 2
const ROUTE10POKECENTER1F_GYM_GUY
const ROUTE10POKECENTER1F_COOLTRAINER_F
-Route10Pokecenter1F_MapScriptHeader:
+Route10Pokecenter1F_MapScripts:
.SceneScripts:
db 0
@@ -80,7 +80,7 @@ Route10Pokecenter1FCooltrainerFText:
line "PLANT."
done
-Route10Pokecenter1F_MapEventHeader:
+Route10Pokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route10Pokecenter2FBeta.asm b/maps/Route10Pokecenter2FBeta.asm
index 5a13e4025..c3b2d39cc 100644
--- a/maps/Route10Pokecenter2FBeta.asm
+++ b/maps/Route10Pokecenter2FBeta.asm
@@ -1,11 +1,11 @@
-Route10Pokecenter2FBeta_MapScriptHeader:
+Route10Pokecenter2FBeta_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-Route10Pokecenter2FBeta_MapEventHeader:
+Route10Pokecenter2FBeta_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route10South.asm b/maps/Route10South.asm
index 2c904beff..a03a5d485 100644
--- a/maps/Route10South.asm
+++ b/maps/Route10South.asm
@@ -2,7 +2,7 @@ const_value set 2
const ROUTE10SOUTH_POKEFAN_M1
const ROUTE10SOUTH_POKEFAN_M2
-Route10South_MapScriptHeader:
+Route10South_MapScripts:
.SceneScripts:
db 0
@@ -75,7 +75,7 @@ Route10SignText:
line "LAVENDER TOWN"
done
-Route10South_MapEventHeader:
+Route10South_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route11.asm b/maps/Route11.asm
index 903cf1009..353877969 100644
--- a/maps/Route11.asm
+++ b/maps/Route11.asm
@@ -5,7 +5,7 @@ const_value set 2
const ROUTE11_YOUNGSTER4
const ROUTE11_FRUIT_TREE
-Route11_MapScriptHeader:
+Route11_MapScripts:
.SceneScripts:
db 0
@@ -63,8 +63,7 @@ FruitTreeScript_0x68055:
fruittree FRUITTREE_ROUTE_11
Route11HiddenRevive:
- dwb EVENT_ROUTE_11_HIDDEN_REVIVE, REVIVE
-
+ hiddenitem EVENT_ROUTE_11_HIDDEN_REVIVE, REVIVE
YoungsterOwenSeenText:
text "There's no cheat-"
@@ -146,7 +145,7 @@ Route11SignText:
text "ROUTE 11"
done
-Route11_MapEventHeader:
+Route11_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route12.asm b/maps/Route12.asm
index 240ff0bb5..3aaf37991 100644
--- a/maps/Route12.asm
+++ b/maps/Route12.asm
@@ -6,7 +6,7 @@ const_value set 2
const ROUTE12_POKE_BALL1
const ROUTE12_POKE_BALL2
-Route12_MapScriptHeader:
+Route12_MapScripts:
.SceneScripts:
db 0
@@ -70,8 +70,7 @@ Route12Nugget:
itemball NUGGET
Route12HiddenElixer:
- dwb EVENT_ROUTE_12_HIDDEN_ELIXER, ELIXER
-
+ hiddenitem EVENT_ROUTE_12_HIDDEN_ELIXER, ELIXER
FisherMartinSeenText:
text "Patience is the"
@@ -167,7 +166,7 @@ FishingSpotSignText:
text "FISHING SPOT"
done
-Route12_MapEventHeader:
+Route12_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route12SuperRodHouse.asm b/maps/Route12SuperRodHouse.asm
index b951102e1..ca39effaf 100644
--- a/maps/Route12SuperRodHouse.asm
+++ b/maps/Route12SuperRodHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const ROUTE12SUPERRODHOUSE_FISHING_GURU
-Route12SuperRodHouse_MapScriptHeader:
+Route12SuperRodHouse_MapScripts:
.SceneScripts:
db 0
@@ -79,7 +79,7 @@ UnknownText_0x7f5ec:
line "deceived me?"
done
-Route12SuperRodHouse_MapEventHeader:
+Route12SuperRodHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route13.asm b/maps/Route13.asm
index 59107f67f..88753afbb 100644
--- a/maps/Route13.asm
+++ b/maps/Route13.asm
@@ -5,7 +5,7 @@ const_value set 2
const ROUTE13_POKEFAN_M2
const ROUTE13_POKEFAN_M3
-Route13_MapScriptHeader:
+Route13_MapScripts:
.SceneScripts:
db 0
@@ -77,8 +77,7 @@ Route13DirectionsSign:
jumptext Route13DirectionsSignText
Route13HiddenCalcium:
- dwb EVENT_ROUTE_13_HIDDEN_CALCIUM, CALCIUM
-
+ hiddenitem EVENT_ROUTE_13_HIDDEN_CALCIUM, CALCIUM
PokefanmAlexSeenText:
text "Bow down before my"
@@ -192,7 +191,7 @@ Route13DirectionsSignText:
line "CITY"
done
-Route13_MapEventHeader:
+Route13_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route14.asm b/maps/Route14.asm
index e16f62e91..3f5a58357 100644
--- a/maps/Route14.asm
+++ b/maps/Route14.asm
@@ -4,7 +4,7 @@ const_value set 2
const ROUTE14_POKEFAN_M2
const ROUTE14_KIM
-Route14_MapScriptHeader:
+Route14_MapScripts:
.SceneScripts:
db 0
@@ -115,7 +115,7 @@ PokefanmTrevorAfterBattleText:
line "got my #MON…"
done
-Route14_MapEventHeader:
+Route14_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route15.asm b/maps/Route15.asm
index 59232fd8f..58fe79c9b 100644
--- a/maps/Route15.asm
+++ b/maps/Route15.asm
@@ -7,7 +7,7 @@ const_value set 2
const ROUTE15_TEACHER2
const ROUTE15_POKE_BALL
-Route15_MapScriptHeader:
+Route15_MapScripts:
.SceneScripts:
db 0
@@ -201,7 +201,7 @@ Route15SignText:
line "LAVENDER TOWN"
done
-Route15_MapEventHeader:
+Route15_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route15FuchsiaGate.asm b/maps/Route15FuchsiaGate.asm
index 292131d91..80966bd2b 100644
--- a/maps/Route15FuchsiaGate.asm
+++ b/maps/Route15FuchsiaGate.asm
@@ -1,7 +1,7 @@
const_value set 2
const ROUTE15FUCHSIAGATE_OFFICER
-Route15FuchsiaGate_MapScriptHeader:
+Route15FuchsiaGate_MapScripts:
.SceneScripts:
db 0
@@ -19,7 +19,7 @@ Route15FuchsiaGateOfficerText:
line "Don't give up!"
done
-Route15FuchsiaGate_MapEventHeader:
+Route15FuchsiaGate_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route16.asm b/maps/Route16.asm
index e08bf0a25..0e0fb2dc4 100644
--- a/maps/Route16.asm
+++ b/maps/Route16.asm
@@ -1,16 +1,16 @@
-Route16_MapScriptHeader:
+Route16_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .AlwaysOnBike
+ callback MAPCALLBACK_NEWMAP, .AlwaysOnBike
.AlwaysOnBike:
checkcode VAR_YCOORD
- if_less_than $5, .CanWalk
+ if_less_than 5, .CanWalk
checkcode VAR_XCOORD
- if_greater_than $d, .CanWalk
+ if_greater_than 13, .CanWalk
setflag ENGINE_ALWAYS_ON_BIKE
return
@@ -28,7 +28,7 @@ CyclingRoadSignText:
line "ALL THE WAY!"
done
-Route16_MapEventHeader:
+Route16_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route16FuchsiaSpeechHouse.asm b/maps/Route16FuchsiaSpeechHouse.asm
index 8f48fe4b3..1d709e4ea 100644
--- a/maps/Route16FuchsiaSpeechHouse.asm
+++ b/maps/Route16FuchsiaSpeechHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const ROUTE16FUCHSIASPEECHHOUSE_SUPER_NERD
-Route16FuchsiaSpeechHouse_MapScriptHeader:
+Route16FuchsiaSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -22,7 +22,7 @@ Route16FuchsiaSpeechHouseSuperNerdText:
line "FUCHSIA CITY."
done
-Route16FuchsiaSpeechHouse_MapEventHeader:
+Route16FuchsiaSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route16Gate.asm b/maps/Route16Gate.asm
index eb57b0662..d59425640 100644
--- a/maps/Route16Gate.asm
+++ b/maps/Route16Gate.asm
@@ -1,7 +1,7 @@
const_value set 2
const ROUTE16GATE_OFFICER
-Route16Gate_MapScriptHeader:
+Route16Gate_MapScripts:
.SceneScripts:
db 1
scene_script .DummyScene
@@ -60,7 +60,7 @@ UnknownText_0x73496:
line "BICYCLE."
done
-Route16Gate_MapEventHeader:
+Route16Gate_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route17.asm b/maps/Route17.asm
index c8be61da2..b2c1a820d 100644
--- a/maps/Route17.asm
+++ b/maps/Route17.asm
@@ -4,13 +4,13 @@ const_value set 2
const ROUTE17_BIKER3
const ROUTE17_BIKER4
-Route17_MapScriptHeader:
+Route17_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .AlwaysOnBike
+ callback MAPCALLBACK_NEWMAP, .AlwaysOnBike
.AlwaysOnBike:
setflag ENGINE_ALWAYS_ON_BIKE
@@ -62,12 +62,10 @@ TrainerBikerGlenn:
end
Route17HiddenMaxEther:
- dwb EVENT_ROUTE_17_HIDDEN_MAX_ETHER, MAX_ETHER
-
+ hiddenitem EVENT_ROUTE_17_HIDDEN_MAX_ETHER, MAX_ETHER
Route17HiddenMaxElixer:
- dwb EVENT_ROUTE_17_HIDDEN_MAX_ELIXER, MAX_ELIXER
-
+ hiddenitem EVENT_ROUTE_17_HIDDEN_MAX_ELIXER, MAX_ELIXER
BikerRileySeenText:
text "Hey, you! You're"
@@ -134,14 +132,14 @@ BikerCharlesAfterBattleText:
cont "Take it easy!"
done
-Route17_MapEventHeader:
+Route17_MapEvents:
; filler
db 0, 0
.Warps:
db 2
- warp_def 17, 82, 1, ROUTE_17_18_GATE
- warp_def 17, 83, 2, ROUTE_17_18_GATE
+ warp_def 17, 82, 1, ROUTE_17_ROUTE_18_GATE
+ warp_def 17, 83, 2, ROUTE_17_ROUTE_18_GATE
.CoordEvents:
db 0
diff --git a/maps/Route1718Gate.asm b/maps/Route17Route18Gate.asm
index 9a8a076dd..367a2634b 100644
--- a/maps/Route1718Gate.asm
+++ b/maps/Route17Route18Gate.asm
@@ -1,7 +1,7 @@
const_value set 2
- const ROUTE1718GATE_OFFICER
+ const ROUTE17ROUTE18GATE_OFFICER
-Route1718Gate_MapScriptHeader:
+Route17Route18Gate_MapScripts:
.SceneScripts:
db 1
scene_script .DummyScene
@@ -12,8 +12,8 @@ Route1718Gate_MapScriptHeader:
.DummyScene:
end
-Route1718GateOfficerScript:
- jumptextfaceplayer Route1718GateOfficerText
+Route17Route18GateOfficerScript:
+ jumptextfaceplayer Route17Route18GateOfficerText
UnknownScript_0x73611:
checkitem BICYCLE
@@ -21,7 +21,7 @@ UnknownScript_0x73611:
end
UnknownScript_0x73617:
- showemote EMOTE_SHOCK, ROUTE1718GATE_OFFICER, 15
+ showemote EMOTE_SHOCK, ROUTE17ROUTE18GATE_OFFICER, 15
spriteface PLAYER, UP
opentext
writetext UnknownText_0x7364d
@@ -35,7 +35,7 @@ MovementData_0x73629:
turn_head LEFT
step_end
-Route1718GateOfficerText:
+Route17Route18GateOfficerText:
text "CYCLING ROAD"
line "Uphill Starts Here"
done
@@ -51,7 +51,7 @@ UnknownText_0x7364d:
line "BICYCLE to go on."
done
-Route1718Gate_MapEventHeader:
+Route17Route18Gate_MapEvents:
; filler
db 0, 0
@@ -72,4 +72,4 @@ Route1718Gate_MapEventHeader:
.ObjectEvents:
db 1
- object_event 5, 2, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, Route1718GateOfficerScript, -1
+ object_event 5, 2, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, Route17Route18GateOfficerScript, -1
diff --git a/maps/Route18.asm b/maps/Route18.asm
index 04a0cc843..8cff37f09 100644
--- a/maps/Route18.asm
+++ b/maps/Route18.asm
@@ -2,7 +2,7 @@ const_value set 2
const ROUTE18_YOUNGSTER1
const ROUTE18_YOUNGSTER2
-Route18_MapScriptHeader:
+Route18_MapScripts:
.SceneScripts:
db 0
@@ -77,14 +77,14 @@ Route18SignText:
line "FUCHSIA CITY"
done
-Route18_MapEventHeader:
+Route18_MapEvents:
; filler
db 0, 0
.Warps:
db 2
- warp_def 2, 6, 3, ROUTE_17_18_GATE
- warp_def 2, 7, 4, ROUTE_17_18_GATE
+ warp_def 2, 6, 3, ROUTE_17_ROUTE_18_GATE
+ warp_def 2, 7, 4, ROUTE_17_ROUTE_18_GATE
.CoordEvents:
db 0
diff --git a/maps/Route19.asm b/maps/Route19.asm
index 7681b39c2..8767a8b3b 100644
--- a/maps/Route19.asm
+++ b/maps/Route19.asm
@@ -6,23 +6,23 @@ const_value set 2
const ROUTE19_FISHER1
const ROUTE19_FISHER2
-Route19_MapScriptHeader:
+Route19_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_TILES, .ClearRocks
+ callback MAPCALLBACK_TILES, .ClearRocks
.ClearRocks:
checkevent EVENT_CINNABAR_ROCKS_CLEARED
iftrue .Done
- changeblock $6, $6, $7a
- changeblock $8, $6, $7a
- changeblock $a, $6, $7a
- changeblock $c, $8, $7a
- changeblock $4, $8, $7a
- changeblock $a, $a, $7a
+ changeblock 6, 6, $7a ; rock
+ changeblock 8, 6, $7a ; rock
+ changeblock 10, 6, $7a ; rock
+ changeblock 12, 8, $7a ; rock
+ changeblock 4, 8, $7a ; rock
+ changeblock 10, 10, $7a ; rock
.Done:
return
@@ -234,13 +234,13 @@ CarefulSwimmingSignText:
para "FUCHSIA POLICE"
done
-Route19_MapEventHeader:
+Route19_MapEvents:
; filler
db 0, 0
.Warps:
db 1
- warp_def 7, 3, 3, ROUTE_19___FUCHSIA_GATE
+ warp_def 7, 3, 3, ROUTE_19_FUCHSIA_GATE
.CoordEvents:
db 0
diff --git a/maps/Route19FuchsiaGate.asm b/maps/Route19FuchsiaGate.asm
index c366c63d5..4446de2e3 100644
--- a/maps/Route19FuchsiaGate.asm
+++ b/maps/Route19FuchsiaGate.asm
@@ -1,7 +1,7 @@
const_value set 2
const ROUTE19FUCHSIAGATE_OFFICER
-Route19FuchsiaGate_MapScriptHeader:
+Route19FuchsiaGate_MapScripts:
.SceneScripts:
db 0
@@ -45,7 +45,7 @@ UnknownText_0x1ab48a:
line "That's great!"
done
-Route19FuchsiaGate_MapEventHeader:
+Route19FuchsiaGate_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route2.asm b/maps/Route2.asm
index 47abdc9f5..09b885df3 100644
--- a/maps/Route2.asm
+++ b/maps/Route2.asm
@@ -8,7 +8,7 @@ const_value set 2
const ROUTE2_POKE_BALL4
const ROUTE2_FRUIT_TREE
-Route2_MapScriptHeader:
+Route2_MapScripts:
.SceneScripts:
db 0
@@ -70,16 +70,16 @@ FruitTreeScript_0x1ac306:
fruittree FRUITTREE_ROUTE_2
Route2HiddenMaxEther:
- dwb EVENT_ROUTE_2_HIDDEN_MAX_ETHER, MAX_ETHER
+ hiddenitem EVENT_ROUTE_2_HIDDEN_MAX_ETHER, MAX_ETHER
Route2HiddenFullHeal:
- dwb EVENT_ROUTE_2_HIDDEN_FULL_HEAL, FULL_HEAL
+ hiddenitem EVENT_ROUTE_2_HIDDEN_FULL_HEAL, FULL_HEAL
Route2HiddenFullRestore:
- dwb EVENT_ROUTE_2_HIDDEN_FULL_RESTORE, FULL_RESTORE
+ hiddenitem EVENT_ROUTE_2_HIDDEN_FULL_RESTORE, FULL_RESTORE
Route2HiddenRevive:
- dwb EVENT_ROUTE_2_HIDDEN_REVIVE, REVIVE
+ hiddenitem EVENT_ROUTE_2_HIDDEN_REVIVE, REVIVE
BugCatcherRobSeenText:
text "My bug #MON are"
@@ -146,7 +146,7 @@ UnknownText_0x1ac49f:
text "DIGLETT'S CAVE"
done
-Route2_MapEventHeader:
+Route2_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route20.asm b/maps/Route20.asm
index 7137999fe..e7a776b2b 100644
--- a/maps/Route20.asm
+++ b/maps/Route20.asm
@@ -3,13 +3,13 @@ const_value set 2
const ROUTE20_SWIMMER_GIRL2
const ROUTE20_SWIMMER_GUY
-Route20_MapScriptHeader:
+Route20_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .ClearRocks
+ callback MAPCALLBACK_NEWMAP, .ClearRocks
.ClearRocks:
setevent EVENT_CINNABAR_ROCKS_CLEARED
@@ -112,7 +112,7 @@ CinnabarGymSignText:
line "LEADER: BLAINE"
done
-Route20_MapEventHeader:
+Route20_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route21.asm b/maps/Route21.asm
index 97acd08ec..e6b4eb564 100644
--- a/maps/Route21.asm
+++ b/maps/Route21.asm
@@ -3,7 +3,7 @@ const_value set 2
const ROUTE21_SWIMMER_GUY
const ROUTE21_FISHER
-Route21_MapScriptHeader:
+Route21_MapScripts:
.SceneScripts:
db 0
@@ -89,7 +89,7 @@ FisherArnoldAfterBattleText:
line "to fishing…"
done
-Route21_MapEventHeader:
+Route21_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route22.asm b/maps/Route22.asm
index 3c5aead91..c9d520cb1 100644
--- a/maps/Route22.asm
+++ b/maps/Route22.asm
@@ -1,4 +1,4 @@
-Route22_MapScriptHeader:
+Route22_MapScripts:
.SceneScripts:
db 0
@@ -15,7 +15,7 @@ VictoryRoadEntranceSignText:
line "ENTRANCE"
done
-Route22_MapEventHeader:
+Route22_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route23.asm b/maps/Route23.asm
index 87ba72d9c..99c527303 100644
--- a/maps/Route23.asm
+++ b/maps/Route23.asm
@@ -1,10 +1,10 @@
-Route23_MapScriptHeader:
+Route23_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
.FlyPoint:
setflag ENGINE_FLYPOINT_INDIGO_PLATEAU
@@ -22,7 +22,7 @@ IndigoPlateauSignText:
para "#MON LEAGUE HQ"
done
-Route23_MapEventHeader:
+Route23_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route24.asm b/maps/Route24.asm
index 07740a467..afb4a514e 100644
--- a/maps/Route24.asm
+++ b/maps/Route24.asm
@@ -1,7 +1,7 @@
const_value set 2
const ROUTE24_ROCKET
-Route24_MapScriptHeader:
+Route24_MapScripts:
.SceneScripts:
db 0
@@ -29,7 +29,7 @@ RocketScript_0x1adbfa:
waitbutton
closetext
special Special_FadeBlackQuickly
- special Special_ReloadSpritesNoPalettes
+ special ReloadSpritesNoPalettes
disappear ROUTE24_ROCKET
pause 25
special Special_FadeInQuickly
@@ -118,7 +118,7 @@ UnknownText_0x1adee1:
cont "from, me?"
done
-Route24_MapEventHeader:
+Route24_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route25.asm b/maps/Route25.asm
index ce37fe894..616a8ff8f 100644
--- a/maps/Route25.asm
+++ b/maps/Route25.asm
@@ -11,7 +11,7 @@ const_value set 2
const ROUTE25_COOLTRAINER_M2
const ROUTE25_POKE_BALL
-Route25_MapScriptHeader:
+Route25_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -48,7 +48,7 @@ UnknownScript_0x19eea0:
applymovement ROUTE25_MISTY, MovementData_0x19f000
disappear ROUTE25_MISTY
clearevent EVENT_TRAINERS_IN_CERULEAN_GYM
- setscene $0
+ setscene 0
special RestartMapMusic
end
@@ -74,7 +74,7 @@ UnknownScript_0x19eee0:
applymovement ROUTE25_MISTY, MovementData_0x19f000
disappear ROUTE25_MISTY
clearevent EVENT_TRAINERS_IN_CERULEAN_GYM
- setscene $0
+ setscene 0
special RestartMapMusic
end
@@ -191,8 +191,7 @@ Route25Protein:
itemball PROTEIN
Route25HiddenPotion:
- dwb EVENT_ROUTE_25_HIDDEN_POTION, POTION
-
+ hiddenitem EVENT_ROUTE_25_HIDDEN_POTION, POTION
MovementData_0x19efe8:
big_step DOWN
@@ -430,7 +429,7 @@ BillsHouseSignText:
text "BILL'S HOUSE"
done
-Route25_MapEventHeader:
+Route25_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route26.asm b/maps/Route26.asm
index 4af45fe1f..293a0add7 100644
--- a/maps/Route26.asm
+++ b/maps/Route26.asm
@@ -8,7 +8,7 @@ const_value set 2
const ROUTE26_FRUIT_TREE
const ROUTE26_POKE_BALL
-Route26_MapScriptHeader:
+Route26_MapScripts:
.SceneScripts:
db 0
@@ -49,9 +49,9 @@ UnknownScript_0x1a4d62:
scall UnknownScript_0x1a4dc3
UnknownScript_0x1a4d65:
askforphonenumber PHONE_COOLTRAINERM_GAVEN
- if_equal $1, UnknownScript_0x1a4dd3
- if_equal $2, UnknownScript_0x1a4dcf
- trainertotext COOLTRAINERM, GAVEN3, $0
+ if_equal PHONE_CONTACTS_FULL, UnknownScript_0x1a4dd3
+ if_equal PHONE_CONTACT_REFUSED, UnknownScript_0x1a4dcf
+ trainertotext COOLTRAINERM, GAVEN3, MEM_BUFFER_0
scall UnknownScript_0x1a4dc7
jump UnknownScript_0x1a4dcb
@@ -153,9 +153,9 @@ UnknownScript_0x1a4e1e:
scall UnknownScript_0x1a4e7f
UnknownScript_0x1a4e21:
askforphonenumber PHONE_COOLTRAINERF_BETH
- if_equal $1, UnknownScript_0x1a4e8f
- if_equal $2, UnknownScript_0x1a4e8b
- trainertotext COOLTRAINERF, BETH1, $0
+ if_equal PHONE_CONTACTS_FULL, UnknownScript_0x1a4e8f
+ if_equal PHONE_CONTACT_REFUSED, UnknownScript_0x1a4e8b
+ trainertotext COOLTRAINERF, BETH1, MEM_BUFFER_0
scall UnknownScript_0x1a4e83
jump UnknownScript_0x1a4e87
@@ -412,7 +412,7 @@ Route26SignText:
line "RECEPTION GATE"
done
-Route26_MapEventHeader:
+Route26_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route26DayofWeekSiblingsHouse.asm b/maps/Route26DayofWeekSiblingsHouse.asm
index d304ce29f..e958d81f2 100644
--- a/maps/Route26DayofWeekSiblingsHouse.asm
+++ b/maps/Route26DayofWeekSiblingsHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const ROUTE26DAYOFWEEKSIBLINGSHOUSE_POKEDEX
-Route26DayofWeekSiblingsHouse_MapScriptHeader:
+Route26DayofWeekSiblingsHouse_MapScripts:
.SceneScripts:
db 0
@@ -70,7 +70,7 @@ UnknownText_0x7b2b9:
line "ROUTE 37"
done
-Route26DayofWeekSiblingsHouse_MapEventHeader:
+Route26DayofWeekSiblingsHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route26HealSpeechHouse.asm b/maps/Route26HealSpeechHouse.asm
index 15f888fb6..d1759dc9d 100644
--- a/maps/Route26HealSpeechHouse.asm
+++ b/maps/Route26HealSpeechHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const ROUTE26HEALSPEECHHOUSE_TEACHER
-Route26HealSpeechHouse_MapScriptHeader:
+Route26HealSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -15,8 +15,8 @@ TeacherScript_0x7b125:
waitbutton
closetext
special Special_FadeBlackQuickly
- special Special_ReloadSpritesNoPalettes
- special TrainerRankings_Healings
+ special ReloadSpritesNoPalettes
+ special Special_StubbedTrainerRankings_Healings
playmusic MUSIC_HEAL
special HealParty
pause 60
@@ -48,7 +48,7 @@ UnknownText_0x7b18b:
para "Keep at it!"
done
-Route26HealSpeechHouse_MapEventHeader:
+Route26HealSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route27.asm b/maps/Route27.asm
index 3afac9155..513466a18 100644
--- a/maps/Route27.asm
+++ b/maps/Route27.asm
@@ -9,7 +9,7 @@ const_value set 2
const ROUTE27_POKE_BALL2
const ROUTE27_FISHER
-Route27_MapScriptHeader:
+Route27_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -42,7 +42,7 @@ UnknownScript_0x1a088c:
writetext Route27FisherText
waitbutton
closetext
- setscene $1
+ setscene 1
end
Route27FisherScript:
@@ -84,9 +84,9 @@ UnknownScript_0x1a08e8:
scall UnknownScript_0x1a095b
UnknownScript_0x1a08eb:
askforphonenumber PHONE_BIRDKEEPER_JOSE
- if_equal $1, UnknownScript_0x1a096b
- if_equal $2, UnknownScript_0x1a0967
- trainertotext BIRD_KEEPER, JOSE2, $0
+ if_equal PHONE_CONTACTS_FULL, UnknownScript_0x1a096b
+ if_equal PHONE_CONTACT_REFUSED, UnknownScript_0x1a0967
+ trainertotext BIRD_KEEPER, JOSE2, MEM_BUFFER_0
scall UnknownScript_0x1a095f
jump UnknownScript_0x1a0963
@@ -217,9 +217,9 @@ UnknownScript_0x1a09d2:
scall UnknownScript_0x1a0a33
UnknownScript_0x1a09d5:
askforphonenumber PHONE_COOLTRAINERF_REENA
- if_equal $1, UnknownScript_0x1a0a43
- if_equal $2, UnknownScript_0x1a0a3f
- trainertotext COOLTRAINERF, REENA1, $0
+ if_equal PHONE_CONTACTS_FULL, UnknownScript_0x1a0a43
+ if_equal PHONE_CONTACT_REFUSED, UnknownScript_0x1a0a3f
+ trainertotext COOLTRAINERF, REENA1, MEM_BUFFER_0
scall UnknownScript_0x1a0a37
jump UnknownScript_0x1a0a3b
@@ -467,7 +467,7 @@ TohjoFallsSignText:
line "KANTO AND JOHTO"
done
-Route27_MapEventHeader:
+Route27_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route27SandstormHouse.asm b/maps/Route27SandstormHouse.asm
index e66f41f4e..629af1536 100644
--- a/maps/Route27SandstormHouse.asm
+++ b/maps/Route27SandstormHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const ROUTE27SANDSTORMHOUSE_GRANNY
-Route27SandstormHouse_MapScriptHeader:
+Route27SandstormHouse_MapScripts:
.SceneScripts:
db 0
@@ -13,10 +13,10 @@ SandstormHouseWoman:
opentext
checkevent EVENT_GOT_TM37_SANDSTORM
iftrue .AlreadyGotItem
- special GetFirstPokemonHappiness
+ special Special_GetFirstPokemonHappiness
writetext SandstormHouseWomanText1
buttonsound
- if_greater_than $95, .Loyal
+ if_greater_than 150 - 1, .Loyal
jump .Disloyal
.Loyal:
@@ -93,7 +93,7 @@ SandstormHouseWomanDisloyalText:
cont "and trainers."
done
-Route27SandstormHouse_MapEventHeader:
+Route27SandstormHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route28.asm b/maps/Route28.asm
index 8b76bc407..0599fd9d9 100644
--- a/maps/Route28.asm
+++ b/maps/Route28.asm
@@ -1,4 +1,4 @@
-Route28_MapScriptHeader:
+Route28_MapScripts:
.SceneScripts:
db 0
@@ -9,14 +9,13 @@ Route28Sign:
jumptext Route28SignText
Route28HiddenRareCandy:
- dwb EVENT_ROUTE_28_HIDDEN_RARE_CANDY, RARE_CANDY
-
+ hiddenitem EVENT_ROUTE_28_HIDDEN_RARE_CANDY, RARE_CANDY
Route28SignText:
text "ROUTE 28"
done
-Route28_MapEventHeader:
+Route28_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route28FamousSpeechHouse.asm b/maps/Route28FamousSpeechHouse.asm
index fe833982d..662e7279b 100644
--- a/maps/Route28FamousSpeechHouse.asm
+++ b/maps/Route28FamousSpeechHouse.asm
@@ -2,7 +2,7 @@ const_value set 2
const ROUTE28FAMOUSSPEECHHOUSE_CELEBRITY
const ROUTE28FAMOUSSPEECHHOUSE_FEAROW
-Route28FamousSpeechHouse_MapScriptHeader:
+Route28FamousSpeechHouse_MapScripts:
.SceneScripts:
db 1
scene_script .DummyScene
@@ -70,7 +70,7 @@ CelebritysFearowText:
text "FEAROW: Feero!"
done
-Route28FamousSpeechHouse_MapEventHeader:
+Route28FamousSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route29.asm b/maps/Route29.asm
index cd91a1f3e..6c7239d92 100644
--- a/maps/Route29.asm
+++ b/maps/Route29.asm
@@ -8,7 +8,7 @@ const_value set 2
const ROUTE29_TUSCANY
const ROUTE29_POKE_BALL
-Route29_MapScriptHeader:
+Route29_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -16,7 +16,7 @@ Route29_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .Tuscany
+ callback MAPCALLBACK_OBJECTS, .Tuscany
.DummyScene0:
end
@@ -59,7 +59,7 @@ Route29Tutorial1:
writetext CatchingTutorialDebriefText
waitbutton
closetext
- setscene $0
+ setscene 0
setevent EVENT_LEARNED_TO_CATCH_POKEMON
end
@@ -84,7 +84,7 @@ Route29Tutorial2:
writetext CatchingTutorialDebriefText
waitbutton
closetext
- setscene $0
+ setscene 0
setevent EVENT_LEARNED_TO_CATCH_POKEMON
end
@@ -93,7 +93,7 @@ Script_RefusedTutorial1:
waitbutton
closetext
applymovement ROUTE29_COOLTRAINER_M1, DudeMovementData1b
- setscene $0
+ setscene 0
end
Script_RefusedTutorial2:
@@ -101,14 +101,14 @@ Script_RefusedTutorial2:
waitbutton
closetext
applymovement ROUTE29_COOLTRAINER_M1, DudeMovementData2b
- setscene $0
+ setscene 0
end
CatchingTutorialDudeScript:
faceplayer
opentext
checkcode VAR_BOXSPACE
- if_equal $0, .BoxFull
+ if_equal 0, .BoxFull
checkevent EVENT_LEARNED_TO_CATCH_POKEMON
iftrue .BoxFull
checkevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
@@ -324,7 +324,7 @@ Route29FisherText:
line "progress."
done
-; possibly unused
+; unused
Text_WaitingForDay:
text "I'm waiting for"
line "#MON that"
@@ -415,13 +415,13 @@ Route29Sign2Text:
line "NEW BARK TOWN"
done
-Route29_MapEventHeader:
+Route29_MapEvents:
; filler
db 0, 0
.Warps:
db 1
- warp_def 27, 1, 3, ROUTE_29_46_GATE
+ warp_def 27, 1, 3, ROUTE_29_ROUTE_46_GATE
.CoordEvents:
db 2
diff --git a/maps/Route2946Gate.asm b/maps/Route29Route46Gate.asm
index c90aa3150..f0b69ab5d 100644
--- a/maps/Route2946Gate.asm
+++ b/maps/Route29Route46Gate.asm
@@ -1,21 +1,21 @@
const_value set 2
- const ROUTE2946GATE_OFFICER
- const ROUTE2946GATE_YOUNGSTER
+ const ROUTE29ROUTE46GATE_OFFICER
+ const ROUTE29ROUTE46GATE_YOUNGSTER
-Route2946Gate_MapScriptHeader:
+Route29Route46Gate_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-Route2946GateOfficerScript:
- jumptextfaceplayer Route2946GateOfficerText
+Route29Route46GateOfficerScript:
+ jumptextfaceplayer Route29Route46GateOfficerText
-Route2946GateYoungsterScript:
- jumptextfaceplayer Route2946GateYoungsterText
+Route29Route46GateYoungsterScript:
+ jumptextfaceplayer Route29Route46GateYoungsterText
-Route2946GateOfficerText:
+Route29Route46GateOfficerText:
text "You can't climb"
line "ledges."
@@ -24,7 +24,7 @@ Route2946GateOfficerText:
cont "take a shortcut."
done
-Route2946GateYoungsterText:
+Route29Route46GateYoungsterText:
text "Different kinds of"
line "#MON appear"
cont "past here."
@@ -36,7 +36,7 @@ Route2946GateYoungsterText:
line "everywhere."
done
-Route2946Gate_MapEventHeader:
+Route29Route46Gate_MapEvents:
; filler
db 0, 0
@@ -55,5 +55,5 @@ Route2946Gate_MapEventHeader:
.ObjectEvents:
db 2
- object_event 0, 4, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, Route2946GateOfficerScript, -1
- object_event 6, 4, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, Route2946GateYoungsterScript, -1
+ object_event 0, 4, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_RED, OBJECTTYPE_SCRIPT, 0, Route29Route46GateOfficerScript, -1
+ object_event 6, 4, SPRITE_YOUNGSTER, SPRITEMOVEDATA_WALK_UP_DOWN, 0, 1, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, Route29Route46GateYoungsterScript, -1
diff --git a/maps/Route2Gate.asm b/maps/Route2Gate.asm
index 7607bc1fc..60585b267 100644
--- a/maps/Route2Gate.asm
+++ b/maps/Route2Gate.asm
@@ -1,7 +1,7 @@
const_value set 2
const ROUTE2GATE_SCIENTIST
-Route2Gate_MapScriptHeader:
+Route2Gate_MapScripts:
.SceneScripts:
db 0
@@ -25,7 +25,7 @@ Route2GateScientistText:
cont "TOWN."
done
-Route2Gate_MapEventHeader:
+Route2Gate_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route2NuggetSpeechHouse.asm b/maps/Route2NuggetSpeechHouse.asm
index e42337e6a..231b568ed 100644
--- a/maps/Route2NuggetSpeechHouse.asm
+++ b/maps/Route2NuggetSpeechHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const ROUTE2NUGGETSPEECHHOUSE_FISHER
-Route2NuggetSpeechHouse_MapScriptHeader:
+Route2NuggetSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -52,7 +52,7 @@ UnknownText_0x9b8e5:
line "have to do!"
done
-Route2NuggetSpeechHouse_MapEventHeader:
+Route2NuggetSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route3.asm b/maps/Route3.asm
index e0498e167..6ce01aeb1 100644
--- a/maps/Route3.asm
+++ b/maps/Route3.asm
@@ -4,7 +4,7 @@ const_value set 2
const ROUTE3_YOUNGSTER2
const ROUTE3_FISHER2
-Route3_MapScriptHeader:
+Route3_MapScripts:
.SceneScripts:
db 0
@@ -132,7 +132,7 @@ UnknownText_0x1ae163:
line "stairs."
done
-Route3_MapEventHeader:
+Route3_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route30.asm b/maps/Route30.asm
index 74db65a31..df8b593d6 100644
--- a/maps/Route30.asm
+++ b/maps/Route30.asm
@@ -11,7 +11,7 @@ const_value set 2
const ROUTE30_COOLTRAINER_F
const ROUTE30_POKE_BALL
-Route30_MapScriptHeader:
+Route30_MapScripts:
.SceneScripts:
db 0
@@ -61,9 +61,9 @@ TrainerYoungsterJoey:
scall .AskNumber2
.RequestNumber:
askforphonenumber PHONE_YOUNGSTER_JOEY
- if_equal $1, .PhoneFull
- if_equal $2, .NumberDeclined
- trainertotext YOUNGSTER, JOEY1, $0
+ if_equal PHONE_CONTACTS_FULL, .PhoneFull
+ if_equal PHONE_CONTACT_REFUSED, .NumberDeclined
+ trainertotext YOUNGSTER, JOEY1, MEM_BUFFER_0
scall .RegisteredNumber
jump .NumberAccepted
@@ -248,8 +248,7 @@ Route30FruitTree2:
fruittree FRUITTREE_ROUTE_30_2
Route30HiddenPotion:
- dwb EVENT_ROUTE_30_HIDDEN_POTION, POTION
-
+ hiddenitem EVENT_ROUTE_30_HIDDEN_POTION, POTION
Route30_JoeysRattataAttacksMovement:
fix_facing
@@ -407,7 +406,7 @@ YoungsterJoeyText_GiveHPUpAfterBattle:
line "tougher too."
done
-Route30_MapEventHeader:
+Route30_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route30BerrySpeechHouse.asm b/maps/Route30BerrySpeechHouse.asm
index a912fd529..96605b3c8 100644
--- a/maps/Route30BerrySpeechHouse.asm
+++ b/maps/Route30BerrySpeechHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const ROUTE30BERRYSPEECHHOUSE_POKEFAN_M
-Route30BerrySpeechHouse_MapScriptHeader:
+Route30BerrySpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -46,7 +46,7 @@ UnknownText_0x196dec:
cont "drop right off."
done
-Route30BerrySpeechHouse_MapEventHeader:
+Route30BerrySpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route31.asm b/maps/Route31.asm
index e5498917f..f8ea93d2a 100644
--- a/maps/Route31.asm
+++ b/maps/Route31.asm
@@ -7,13 +7,13 @@ const_value set 2
const ROUTE31_POKE_BALL1
const ROUTE31_POKE_BALL2
-Route31_MapScriptHeader:
+Route31_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .CheckMomCall
+ callback MAPCALLBACK_NEWMAP, .CheckMomCall
.CheckMomCall:
checkevent EVENT_TALKED_TO_MOM_AFTER_MYSTERY_EGG_QUEST
@@ -49,9 +49,9 @@ TrainerBugCatcherWade1:
scall .AskAgainSTD
.Continue:
askforphonenumber PHONE_BUG_CATCHER_WADE
- if_equal $1, .PhoneFullSTD
- if_equal $2, .DeclinedNumberSTD
- trainertotext BUG_CATCHER, WADE1, $0
+ if_equal PHONE_CONTACTS_FULL, .PhoneFullSTD
+ if_equal PHONE_CONTACT_REFUSED, .DeclinedNumberSTD
+ trainertotext BUG_CATCHER, WADE1, MEM_BUFFER_0
scall .RegisterNumberSTD
jump .AcceptedNumberSTD
@@ -198,10 +198,11 @@ Route31MailRecipientScript:
writetext Text_Route31SleepyManGotMail
buttonsound
checkpokeitem ReceivedSpearowMailText
- if_equal $0, .WrongMail
- if_equal $2, .Refused
- if_equal $3, .NoMail
- if_equal $4, .LastMon
+ if_equal POKEMAIL_WRONG_MAIL, .WrongMail
+ if_equal POKEMAIL_REFUSED, .Refused
+ if_equal POKEMAIL_NO_MAIL, .NoMail
+ if_equal POKEMAIL_LAST_MON, .LastMon
+ ; POKEMAIL_CORRECT
writetext Text_Route31HandOverMailMon
buttonsound
writetext Text_Route31ReadingMail
@@ -416,7 +417,7 @@ DarkCaveSignText:
text "DARK CAVE"
done
-Route31_MapEventHeader:
+Route31_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route31VioletGate.asm b/maps/Route31VioletGate.asm
index 4195528ff..6d62f9398 100644
--- a/maps/Route31VioletGate.asm
+++ b/maps/Route31VioletGate.asm
@@ -2,7 +2,7 @@ const_value set 2
const ROUTE31VIOLETGATE_OFFICER
const ROUTE31VIOLETGATE_COOLTRAINER_F
-Route31VioletGate_MapScriptHeader:
+Route31VioletGate_MapScripts:
.SceneScripts:
db 0
@@ -27,7 +27,7 @@ Route31VioletGateCooltrainerFText:
cont "phone home!"
done
-Route31VioletGate_MapEventHeader:
+Route31VioletGate_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route32.asm b/maps/Route32.asm
index 659ea40db..afd946c2b 100644
--- a/maps/Route32.asm
+++ b/maps/Route32.asm
@@ -14,7 +14,7 @@ const_value set 2
const ROUTE32_FRIEDA
const ROUTE32_POKE_BALL2
-Route32_MapScriptHeader:
+Route32_MapScripts:
.SceneScripts:
db 3
scene_script .DummyScene0
@@ -23,7 +23,7 @@ Route32_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .Frieda
+ callback MAPCALLBACK_OBJECTS, .Frieda
.DummyScene0:
end
@@ -59,7 +59,7 @@ Route32CooltrainerMContinueScene:
closetext
end
-.Unused:
+.Unreferenced:
writetext Route32CooltrainerMText_UnusedSproutTower
waitbutton
closetext
@@ -127,7 +127,7 @@ Route32WannaBuyASlowpokeTailScript:
SlowpokeTailSalesmanScript:
faceplayer
_OfferToSellSlowpokeTail:
- setscene $2
+ setscene 2
opentext
writetext Text_MillionDollarSlowpokeTail
yesorno
@@ -190,9 +190,9 @@ TrainerFisherRalph1:
scall .AskNumber2
.AskForNumber:
askforphonenumber PHONE_FISHER_RALPH
- if_equal $1, .PhoneFull
- if_equal $2, .NumberDeclined
- trainertotext FISHER, RALPH1, $0
+ if_equal PHONE_CONTACTS_FULL, .PhoneFull
+ if_equal PHONE_CONTACT_REFUSED, .NumberDeclined
+ trainertotext FISHER, RALPH1, MEM_BUFFER_0
scall .RegisteredNumber
jump .NumberAccepted
@@ -324,9 +324,9 @@ TrainerPicnickerLiz1:
scall .AskNumber2
.AskForNumber:
askforphonenumber PHONE_PICNICKER_LIZ
- if_equal $1, .PhoneFull
- if_equal $2, .NumberDeclined
- trainertotext PICNICKER, LIZ1, $0
+ if_equal PHONE_CONTACTS_FULL, .PhoneFull
+ if_equal PHONE_CONTACT_REFUSED, .NumberDeclined
+ trainertotext PICNICKER, LIZ1, MEM_BUFFER_0
scall .RegisteredNumber
jump .NumberAccepted
@@ -506,12 +506,10 @@ Route32PokecenterSign:
jumpstd pokecentersign
Route32HiddenGreatBall:
- dwb EVENT_ROUTE_32_HIDDEN_GREAT_BALL, GREAT_BALL
-
+ hiddenitem EVENT_ROUTE_32_HIDDEN_GREAT_BALL, GREAT_BALL
Route32HiddenSuperPotion:
- dwb EVENT_ROUTE_32_HIDDEN_SUPER_POTION, SUPER_POTION
-
+ hiddenitem EVENT_ROUTE_32_HIDDEN_SUPER_POTION, SUPER_POTION
Movement_Route32CooltrainerMPushesYouBackToViolet:
step UP
@@ -839,7 +837,7 @@ BirdKeeperPeterAfterText:
cont "in VIOLET CITY."
done
-; possibly unused
+; unused
Route32UnusedText:
text "The fishermen"
line "yelled at me for"
@@ -930,7 +928,7 @@ Route32UnionCaveSignText:
line "AHEAD"
done
-Route32_MapEventHeader:
+Route32_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route32Pokecenter1F.asm b/maps/Route32Pokecenter1F.asm
index a29d79b8d..5bedc7853 100644
--- a/maps/Route32Pokecenter1F.asm
+++ b/maps/Route32Pokecenter1F.asm
@@ -3,7 +3,7 @@ const_value set 2
const ROUTE32POKECENTER1F_FISHING_GURU
const ROUTE32POKECENTER1F_COOLTRAINER_F
-Route32Pokecenter1F_MapScriptHeader:
+Route32Pokecenter1F_MapScripts:
.SceneScripts:
db 0
@@ -94,7 +94,7 @@ Route32Pokecenter1FCooltrainerFText:
cont "power…"
done
-Route32Pokecenter1F_MapEventHeader:
+Route32Pokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route32RuinsOfAlphGate.asm b/maps/Route32RuinsOfAlphGate.asm
index 6bfa8ec27..345e46dd4 100644
--- a/maps/Route32RuinsOfAlphGate.asm
+++ b/maps/Route32RuinsOfAlphGate.asm
@@ -3,7 +3,7 @@ const_value set 2
const ROUTE32RUINSOFALPHGATE_POKEFAN_M
const ROUTE32RUINSOFALPHGATE_YOUNGSTER
-Route32RuinsOfAlphGate_MapScriptHeader:
+Route32RuinsOfAlphGate_MapScripts:
.SceneScripts:
db 0
@@ -46,7 +46,7 @@ Route32RuinsOfAlphGateYoungsterText:
cont "what they are."
done
-Route32RuinsOfAlphGate_MapEventHeader:
+Route32RuinsOfAlphGate_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route33.asm b/maps/Route33.asm
index fbc7b3190..be2abbf4c 100644
--- a/maps/Route33.asm
+++ b/maps/Route33.asm
@@ -3,7 +3,7 @@ const_value set 2
const ROUTE33_LASS
const ROUTE33_FRUIT_TREE
-Route33_MapScriptHeader:
+Route33_MapScripts:
.SceneScripts:
db 0
@@ -38,9 +38,9 @@ TrainerHikerAnthony:
scall .AskNumber2
.AskForPhoneNumber:
askforphonenumber PHONE_HIKER_ANTHONY
- if_equal $1, .PhoneFull
- if_equal $2, .NumberDeclined
- trainertotext HIKER, ANTHONY2, $0
+ if_equal PHONE_CONTACTS_FULL, .PhoneFull
+ if_equal PHONE_CONTACT_REFUSED, .NumberDeclined
+ trainertotext HIKER, ANTHONY2, MEM_BUFFER_0
scall .RegisteredNumber
jump .NumberAccepted
@@ -194,7 +194,7 @@ Route33SignText:
text "ROUTE 33"
done
-Route33_MapEventHeader:
+Route33_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route34.asm b/maps/Route34.asm
index 144973036..786ffb022 100644
--- a/maps/Route34.asm
+++ b/maps/Route34.asm
@@ -13,13 +13,13 @@ const_value set 2
const ROUTE34_COOLTRAINER_F3
const ROUTE34_POKE_BALL
-Route34_MapScriptHeader:
+Route34_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .EggCheckCallback
+ callback MAPCALLBACK_OBJECTS, .EggCheckCallback
.EggCheckCallback:
checkflag ENGINE_DAY_CARE_MAN_HAS_EGG
@@ -59,7 +59,7 @@ DayCareManScript_Outside:
special Special_DayCareManOutside
waitbutton
closetext
- if_equal $1, .end_fail
+ if_equal TRUE, .end_fail
clearflag ENGINE_DAY_CARE_MAN_HAS_EGG
checkcode VAR_FACING
if_equal RIGHT, .walk_around_player
@@ -112,9 +112,9 @@ TrainerCamperTodd1:
scall .AskNumber2
.FinishAsk:
askforphonenumber PHONE_CAMPER_TODD
- if_equal $1, .PhoneFull
- if_equal $2, .NumberDeclined
- trainertotext CAMPER, TODD1, $0
+ if_equal PHONE_CONTACTS_FULL, .PhoneFull
+ if_equal PHONE_CONTACT_REFUSED, .NumberDeclined
+ trainertotext CAMPER, TODD1, MEM_BUFFER_0
scall .RegisteredNumber
jump .NumberAccepted
@@ -237,9 +237,9 @@ TrainerPicnickerGina1:
scall .AskNumber2
.FinishAsk:
askforphonenumber PHONE_PICNICKER_GINA
- if_equal $1, .PhoneFull
- if_equal $2, .NumberDeclined
- trainertotext PICNICKER, GINA1, $0
+ if_equal PHONE_CONTACTS_FULL, .PhoneFull
+ if_equal PHONE_CONTACT_REFUSED, .NumberDeclined
+ trainertotext PICNICKER, GINA1, MEM_BUFFER_0
scall .RegisteredNumber
jump .NumberAccepted
@@ -488,12 +488,10 @@ Route34Nugget:
itemball NUGGET
Route34HiddenRareCandy:
- dwb EVENT_ROUTE_34_HIDDEN_RARE_CANDY, RARE_CANDY
-
+ hiddenitem EVENT_ROUTE_34_HIDDEN_RARE_CANDY, RARE_CANDY
Route34HiddenSuperPotion:
- dwb EVENT_ROUTE_34_HIDDEN_SUPER_POTION, SUPER_POTION
-
+ hiddenitem EVENT_ROUTE_34_HIDDEN_SUPER_POTION, SUPER_POTION
Route34MovementData_DayCareManWalksBackInside:
slow_step LEFT
@@ -762,7 +760,7 @@ DayCareSignText:
line "#MON FOR YOU!"
done
-Route34_MapEventHeader:
+Route34_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route34IlexForestGate.asm b/maps/Route34IlexForestGate.asm
index 18b010bff..38dc04729 100644
--- a/maps/Route34IlexForestGate.asm
+++ b/maps/Route34IlexForestGate.asm
@@ -4,13 +4,13 @@ const_value set 2
const ROUTE34ILEXFORESTGATE_LASS
const ROUTE34ILEXFORESTGATE_TEACHER2
-Route34IlexForestGate_MapScriptHeader:
+Route34IlexForestGate_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .IsForestRestless
+ callback MAPCALLBACK_OBJECTS, .IsForestRestless
.IsForestRestless:
checkevent EVENT_FOREST_IS_RESTLESS
@@ -135,7 +135,7 @@ Route34IlexForestGateLassText:
cont "type #MON."
done
-Route34IlexForestGate_MapEventHeader:
+Route34IlexForestGate_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route35.asm b/maps/Route35.asm
index becb45ad0..467fb6c5a 100644
--- a/maps/Route35.asm
+++ b/maps/Route35.asm
@@ -11,7 +11,7 @@ const_value set 2
const ROUTE35_FRUIT_TREE
const ROUTE35_POKE_BALL
-Route35_MapScriptHeader:
+Route35_MapScripts:
.SceneScripts:
db 0
@@ -50,9 +50,9 @@ UnknownScript_0x19c8ec:
scall UnknownScript_0x19c907
UnknownScript_0x19c8ef:
askforphonenumber PHONE_JUGGLER_IRWIN
- if_equal $1, UnknownScript_0x19c917
- if_equal $2, UnknownScript_0x19c913
- trainertotext JUGGLER, IRWIN1, $0
+ if_equal PHONE_CONTACTS_FULL, UnknownScript_0x19c917
+ if_equal PHONE_CONTACT_REFUSED, UnknownScript_0x19c913
+ trainertotext JUGGLER, IRWIN1, MEM_BUFFER_0
scall UnknownScript_0x19c90b
jump UnknownScript_0x19c90f
@@ -153,9 +153,9 @@ UnknownScript_0x19c9a4:
scall UnknownScript_0x19c907
UnknownScript_0x19c9a7:
askforphonenumber PHONE_BUG_CATCHER_ARNIE
- if_equal $1, UnknownScript_0x19c917
- if_equal $2, UnknownScript_0x19c913
- trainertotext BUG_CATCHER, ARNIE1, $0
+ if_equal PHONE_CONTACTS_FULL, UnknownScript_0x19c917
+ if_equal PHONE_CONTACT_REFUSED, UnknownScript_0x19c913
+ trainertotext BUG_CATCHER, ARNIE1, MEM_BUFFER_0
scall UnknownScript_0x19c90b
jump UnknownScript_0x19c90f
@@ -462,7 +462,7 @@ Route35SignText:
text "ROUTE 35"
done
-Route35_MapEventHeader:
+Route35_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route35GoldenrodGate.asm b/maps/Route35GoldenrodGate.asm
index 77820e889..a783781dd 100644
--- a/maps/Route35GoldenrodGate.asm
+++ b/maps/Route35GoldenrodGate.asm
@@ -3,7 +3,7 @@ const_value set 2
const ROUTE35GOLDENRODGATE_POKEFAN_F
const ROUTE35GOLDENRODGATE_FISHER
-Route35GoldenrodGate_MapScriptHeader:
+Route35GoldenrodGate_MapScripts:
.SceneScripts:
db 0
@@ -195,7 +195,7 @@ Route35GoldenrodGateFisherText:
line "different kinds."
done
-Route35GoldenrodGate_MapEventHeader:
+Route35GoldenrodGate_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route35NationalParkGate.asm b/maps/Route35NationalParkGate.asm
index cf68bbcc2..754591060 100644
--- a/maps/Route35NationalParkGate.asm
+++ b/maps/Route35NationalParkGate.asm
@@ -3,7 +3,7 @@ const_value set 2
const ROUTE35NATIONALPARKGATE_YOUNGSTER
const ROUTE35NATIONALPARKGATE_OFFICER2
-Route35NationalParkGate_MapScriptHeader:
+Route35NationalParkGate_MapScripts:
.SceneScripts:
db 3
scene_script .DummyScene0
@@ -12,8 +12,8 @@ Route35NationalParkGate_MapScriptHeader:
.MapCallbacks:
db 2
- dbw MAPCALLBACK_NEWMAP, .CheckIfContestRunning
- dbw MAPCALLBACK_OBJECTS, .CheckIfContestAvailable
+ callback MAPCALLBACK_NEWMAP, .CheckIfContestRunning
+ callback MAPCALLBACK_OBJECTS, .CheckIfContestAvailable
.DummyScene0:
end
@@ -28,11 +28,11 @@ Route35NationalParkGate_MapScriptHeader:
.CheckIfContestRunning:
checkflag ENGINE_BUG_CONTEST_TIMER
iftrue .BugContestIsRunning
- setscene $0
+ setscene 0
return
.BugContestIsRunning:
- setscene $2
+ setscene 2
return
.CheckIfContestAvailable:
@@ -58,8 +58,8 @@ Route35NationalParkGate_MapScriptHeader:
spriteface ROUTE35NATIONALPARKGATE_OFFICER1, RIGHT
opentext
checkcode VAR_CONTESTMINUTES
- addvar $1
- RAM2MEM $0
+ addvar 1
+ vartomem MEM_BUFFER_0
writetext UnknownText_0x6a79a
yesorno
iffalse .GoBackToContest
@@ -74,9 +74,9 @@ Route35NationalParkGate_MapScriptHeader:
closetext
scall Route35NationalParkGate_EnterContest
playsound SFX_ENTER_DOOR
- special FadeOutPalettes
+ special Special_FadeOutPalettes
waitsfx
- warpfacing UP, NATIONAL_PARK_BUG_CONTEST, $a, $2f
+ warpfacing UP, NATIONAL_PARK_BUG_CONTEST, 10, 47
end
OfficerScript_0x6a204:
@@ -94,8 +94,8 @@ OfficerScript_0x6a204:
yesorno
iffalse Route35NationalParkGate_DeclinedToParticipate
checkcode VAR_PARTYCOUNT
- if_greater_than $1, Route35NationalParkGate_LeaveTheRestBehind
- special ContestDropOffMons
+ if_greater_than 1, Route35NationalParkGate_LeaveTheRestBehind
+ special Special_ContestDropOffMons
clearevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER
Route35NationalParkGate_OkayToProceed:
setflag ENGINE_BUG_CONTEST_TIMER
@@ -111,10 +111,10 @@ Route35NationalParkGate_OkayToProceed:
special Special_GiveParkBalls
scall Route35NationalParkGate_EnterContest
playsound SFX_ENTER_DOOR
- special FadeOutPalettes
+ special Special_FadeOutPalettes
waitsfx
special Special_SelectRandomBugContestContestants
- warpfacing UP, NATIONAL_PARK_BUG_CONTEST, $a, $2f
+ warpfacing UP, NATIONAL_PARK_BUG_CONTEST, 10, 47
end
Route35NationalParkGate_EnterContest:
@@ -129,17 +129,17 @@ Route35NationalParkGate_FacingLeft:
Route35NationalParkGate_LeaveTheRestBehind:
checkcode VAR_PARTYCOUNT
- if_less_than 6, Route35NationalParkGate_LessThanFullParty
+ if_less_than PARTY_LENGTH, Route35NationalParkGate_LessThanFullParty
checkcode VAR_BOXSPACE
if_equal 0, Route35NationalParkGate_NoRoomInBox
Route35NationalParkGate_LessThanFullParty: ; 6a27d
- special CheckFirstMonIsEgg
- if_equal $1, Route35NationalParkGate_FirstMonIsEgg
+ special Special_CheckFirstMonIsEgg
+ if_equal TRUE, Route35NationalParkGate_FirstMonIsEgg
writetext UnknownText_0x6a4c6
yesorno
iffalse Route35NationalParkGate_DeclinedToLeaveMonsBehind
- special ContestDropOffMons
+ special Special_ContestDropOffMons
iftrue Route35NationalParkGate_FirstMonIsFainted
setevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER
writetext UnknownText_0x6a537
@@ -374,7 +374,7 @@ UnknownText_0x6a71f:
UnknownText_0x6a79a:
text "You still have @"
text_from_ram StringBuffer3
- text ""
+ text_start
line "minute(s) left."
para "Do you want to"
@@ -437,7 +437,7 @@ UnknownText_0x6a90e:
line "the contest."
done
-Route35NationalParkGate_MapEventHeader:
+Route35NationalParkGate_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route36.asm b/maps/Route36.asm
index 4076725b4..fceef3306 100644
--- a/maps/Route36.asm
+++ b/maps/Route36.asm
@@ -9,7 +9,7 @@ const_value set 2
const ROUTE36_FLORIA
const ROUTE36_SUICUNE
-Route36_MapScriptHeader:
+Route36_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -17,7 +17,7 @@ Route36_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .ArthurCallback
+ callback MAPCALLBACK_OBJECTS, .ArthurCallback
.DummyScene0:
end
@@ -44,9 +44,9 @@ Route36SuicuneScript:
disappear ROUTE36_SUICUNE
spriteface PLAYER, DOWN
pause 10
- setscene $0
+ setscene 0
clearevent EVENT_SAW_SUICUNE_AT_CIANWOOD_CITY
- setmapscene CIANWOOD_CITY, $1
+ setmapscene CIANWOOD_CITY, 1
end
SudowoodoScript:
@@ -94,8 +94,8 @@ DidntCatchSudowoodo:
applymovement ROUTE36_WEIRD_TREE, WeirdTreeMovement_Flee
disappear ROUTE36_WEIRD_TREE
variablesprite SPRITE_WEIRD_TREE, SPRITE_TWIN
- special MapCallbackSprites_LoadUsedSpritesGFX
- special RefreshSprites
+ special Special_LoadUsedSpritesGFX
+ special Special_RefreshSprites
end
Route36FloriaScript:
@@ -191,9 +191,9 @@ TrainerSchoolboyAlan1:
scall .AskNumber2
.ContinueAskForPhoneNumber:
askforphonenumber PHONE_SCHOOLBOY_ALAN
- if_equal $1, .PhoneFull
- if_equal $2, .NumberDeclined
- trainertotext SCHOOLBOY, ALAN1, $0
+ if_equal PHONE_CONTACTS_FULL, .PhoneFull
+ if_equal PHONE_CONTACT_REFUSED, .NumberDeclined
+ trainertotext SCHOOLBOY, ALAN1, MEM_BUFFER_0
scall .RegisteredNumber
jump .NumberAccepted
@@ -659,7 +659,7 @@ Route36TrainerTips2Text:
line "landmarks."
done
-Route36_MapEventHeader:
+Route36_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route36NationalParkGate.asm b/maps/Route36NationalParkGate.asm
index 88d7abb14..fa74c7ee5 100644
--- a/maps/Route36NationalParkGate.asm
+++ b/maps/Route36NationalParkGate.asm
@@ -12,7 +12,7 @@ const_value set 2
const ROUTE36NATIONALPARKGATE_YOUNGSTER7
const ROUTE36NATIONALPARKGATE_OFFICER2
-Route36NationalParkGate_MapScriptHeader:
+Route36NationalParkGate_MapScripts:
.SceneScripts:
db 3
scene_script .DummyScene0
@@ -21,8 +21,8 @@ Route36NationalParkGate_MapScriptHeader:
.MapCallbacks:
db 2
- dbw MAPCALLBACK_NEWMAP, .CheckIfContestRunning
- dbw MAPCALLBACK_OBJECTS, .CheckIfContestAvailable
+ callback MAPCALLBACK_NEWMAP, .CheckIfContestRunning
+ callback MAPCALLBACK_OBJECTS, .CheckIfContestAvailable
.DummyScene0:
end
@@ -37,11 +37,11 @@ Route36NationalParkGate_MapScriptHeader:
.CheckIfContestRunning:
checkflag ENGINE_BUG_CONTEST_TIMER
iftrue .BugContestIsRunning
- setscene $0
+ setscene 0
return
.BugContestIsRunning:
- setscene $2
+ setscene 2
return
.CheckIfContestAvailable:
@@ -67,8 +67,8 @@ Route36NationalParkGate_MapScriptHeader:
spriteface PLAYER, UP
opentext
checkcode VAR_CONTESTMINUTES
- addvar $1
- RAM2MEM $0
+ addvar 1
+ vartomem MEM_BUFFER_0
writetext UnknownText_0x6b284
yesorno
iffalse .GoBackToContest
@@ -76,7 +76,7 @@ Route36NationalParkGate_MapScriptHeader:
waitbutton
closetext
special Special_FadeBlackQuickly
- special Special_ReloadSpritesNoPalettes
+ special ReloadSpritesNoPalettes
scall .CopyContestants
disappear ROUTE36NATIONALPARKGATE_OFFICER1
appear ROUTE36NATIONALPARKGATE_OFFICER2
@@ -91,9 +91,9 @@ Route36NationalParkGate_MapScriptHeader:
closetext
spriteface PLAYER, LEFT
playsound SFX_EXIT_BUILDING
- special FadeOutPalettes
+ special Special_FadeOutPalettes
waitsfx
- warpfacing LEFT, NATIONAL_PARK_BUG_CONTEST, $21, $12
+ warpfacing LEFT, NATIONAL_PARK_BUG_CONTEST, 33, 18
end
.CopyContestants:
@@ -155,8 +155,8 @@ Route36OfficerScriptContest:
yesorno
iffalse .DecidedNotToJoinContest
checkcode VAR_PARTYCOUNT
- if_greater_than $1, .LeaveMonsWithOfficer
- special ContestDropOffMons
+ if_greater_than 1, .LeaveMonsWithOfficer
+ special Special_ContestDropOffMons
clearevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER
.ResumeStartingContest:
setflag ENGINE_BUG_CONTEST_TIMER
@@ -174,24 +174,24 @@ Route36OfficerScriptContest:
special Special_GiveParkBalls
spriteface PLAYER, LEFT
playsound SFX_EXIT_BUILDING
- special FadeOutPalettes
+ special Special_FadeOutPalettes
waitsfx
special Special_SelectRandomBugContestContestants
- warpfacing LEFT, NATIONAL_PARK_BUG_CONTEST, $21, $12
+ warpfacing LEFT, NATIONAL_PARK_BUG_CONTEST, 33, 18
end
.LeaveMonsWithOfficer:
checkcode VAR_PARTYCOUNT
- if_less_than $6, .ContinueLeavingMons
+ if_less_than PARTY_LENGTH, .ContinueLeavingMons
checkcode VAR_BOXSPACE
- if_equal $0, .BoxFull
+ if_equal 0, .BoxFull
.ContinueLeavingMons:
- special CheckFirstMonIsEgg
- if_equal $1, .FirstMonIsEgg
+ special Special_CheckFirstMonIsEgg
+ if_equal TRUE, .FirstMonIsEgg
writetext UnknownText_0x6afb0
yesorno
iffalse .RefusedToLeaveMons
- special ContestDropOffMons
+ special Special_ContestDropOffMons
iftrue .FirstMonIsFainted
setevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER
writetext UnknownText_0x6b021
@@ -624,7 +624,7 @@ UnknownText_0x6b209:
UnknownText_0x6b284:
text "You still have @"
text_from_ram StringBuffer3
- text ""
+ text_start
line "minute(s) left."
para "Do you want to"
@@ -799,7 +799,6 @@ UnknownText_0x6b7af:
; This text is unused and unreferenced in the final game.
; The tree Pokémon is Sudowoodo.
; The Silph Scope 2 was later reworked into the Squirtbottle.
-
UnusedSudowoodoText:
text "I hear there's a"
line "#MON that looks"
@@ -850,7 +849,7 @@ UnknownText_0x6b97f:
cont "for you."
done
-Route36NationalParkGate_MapEventHeader:
+Route36NationalParkGate_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route36RuinsOfAlphGate.asm b/maps/Route36RuinsOfAlphGate.asm
index 316b2d4b4..c7355dd04 100644
--- a/maps/Route36RuinsOfAlphGate.asm
+++ b/maps/Route36RuinsOfAlphGate.asm
@@ -2,7 +2,7 @@ const_value set 2
const ROUTE36RUINSOFALPHGATE_OFFICER
const ROUTE36RUINSOFALPHGATE_GRAMPS
-Route36RuinsOfAlphGate_MapScriptHeader:
+Route36RuinsOfAlphGate_MapScripts:
.SceneScripts:
db 0
@@ -34,7 +34,7 @@ Route36RuinsOfAlphGateGrampsText:
line "RUINS OF ALPH."
done
-Route36RuinsOfAlphGate_MapEventHeader:
+Route36RuinsOfAlphGate_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route37.asm b/maps/Route37.asm
index 190656869..27dd38893 100644
--- a/maps/Route37.asm
+++ b/maps/Route37.asm
@@ -7,13 +7,13 @@ const_value set 2
const ROUTE37_FRUIT_TREE2
const ROUTE37_FRUIT_TREE3
-Route37_MapScriptHeader:
+Route37_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .Sunny
+ callback MAPCALLBACK_OBJECTS, .Sunny
.Sunny:
checkcode VAR_WEEKDAY
@@ -114,8 +114,7 @@ FruitTreeScript_0x1a8e0d:
fruittree FRUITTREE_ROUTE_37_3
Route37HiddenEther:
- dwb EVENT_ROUTE_37_HIDDEN_ETHER, ETHER
-
+ hiddenitem EVENT_ROUTE_37_HIDDEN_ETHER, ETHER
TwinsAnnandanne1SeenText:
text "ANN: ANNE and I"
@@ -238,7 +237,7 @@ Route37SignText:
text "ROUTE 37"
done
-Route37_MapEventHeader:
+Route37_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route38.asm b/maps/Route38.asm
index 526bf3e36..c228429ba 100644
--- a/maps/Route38.asm
+++ b/maps/Route38.asm
@@ -7,7 +7,7 @@ const_value set 2
const ROUTE38_FRUIT_TREE
const ROUTE38_BUENA2
-Route38_MapScriptHeader:
+Route38_MapScripts:
.SceneScripts:
db 0
@@ -61,9 +61,9 @@ TrainerLassDana1:
scall .AskNumber2F
.AskForPhoneNumber:
askforphonenumber PHONE_LASS_DANA
- if_equal $1, .PhoneFull
- if_equal $2, .DeclinedPhoneNumber
- trainertotext LASS, DANA1, $0
+ if_equal PHONE_CONTACTS_FULL, .PhoneFull
+ if_equal PHONE_CONTACT_REFUSED, .DeclinedPhoneNumber
+ trainertotext LASS, DANA1, MEM_BUFFER_0
scall .RegisteredPhoneNumber
jump .NumberAccepted
@@ -197,9 +197,9 @@ TrainerSchoolboyChad1:
scall .AskPhoneNumber2
.AskToRegisterNumber:
askforphonenumber PHONE_SCHOOLBOY_CHAD
- if_equal $1, .PhoneFull
- if_equal $2, .SaidNo
- trainertotext SCHOOLBOY, CHAD1, $0
+ if_equal PHONE_CONTACTS_FULL, .PhoneFull
+ if_equal PHONE_CONTACT_REFUSED, .SaidNo
+ trainertotext SCHOOLBOY, CHAD1, MEM_BUFFER_0
scall .RegisteredChad
jump .HaveChadsNumber
@@ -472,7 +472,7 @@ Route38TrainerTipsText:
cont "its evolution."
done
-Route38_MapEventHeader:
+Route38_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route38EcruteakGate.asm b/maps/Route38EcruteakGate.asm
index 8e117196c..fa7280b57 100644
--- a/maps/Route38EcruteakGate.asm
+++ b/maps/Route38EcruteakGate.asm
@@ -1,7 +1,7 @@
const_value set 2
const ROUTE38ECRUTEAKGATE_OFFICER
-Route38EcruteakGate_MapScriptHeader:
+Route38EcruteakGate_MapScripts:
.SceneScripts:
db 0
@@ -24,7 +24,7 @@ Route38EcruteakGateOfficerText:
line "way to get here."
done
-Route38EcruteakGate_MapEventHeader:
+Route38EcruteakGate_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route39.asm b/maps/Route39.asm
index 6545dd77d..9af608cbc 100644
--- a/maps/Route39.asm
+++ b/maps/Route39.asm
@@ -10,7 +10,7 @@ const_value set 2
const ROUTE39_FRUIT_TREE
const ROUTE39_POKEFAN_F2
-Route39_MapScriptHeader:
+Route39_MapScripts:
.SceneScripts:
db 0
@@ -50,9 +50,9 @@ PokefanMDerekWantsYourNumber:
scall PokefanMDerekAsksNumber2
PokefanMDerekAsksForPhoneNumber:
askforphonenumber PHONE_POKEFANM_DEREK
- if_equal $1, PokefanMDerekPhoneFull
- if_equal $2, PokefanMDerekDeclined
- trainertotext POKEFANM, DEREK1, $0
+ if_equal PHONE_CONTACTS_FULL, PokefanMDerekPhoneFull
+ if_equal PHONE_CONTACT_REFUSED, PokefanMDerekDeclined
+ trainertotext POKEFANM, DEREK1, MEM_BUFFER_0
scall PokefanMDerekRegistered
jump PokefanMDerekAccepted
@@ -180,8 +180,7 @@ FruitTreeScript_0x1a5bf4:
fruittree FRUITTREE_ROUTE_39
Route39HiddenNugget:
- dwb EVENT_ROUTE_39_HIDDEN_NUGGET, NUGGET
-
+ hiddenitem EVENT_ROUTE_39_HIDDEN_NUGGET, NUGGET
Route39MiltankText:
text "MILTANK: Mooo!"
@@ -344,7 +343,7 @@ Route39TrainerTipsText:
line "any tree you see!"
done
-Route39_MapEventHeader:
+Route39_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route39Barn.asm b/maps/Route39Barn.asm
index a7cfe5405..682b2dea1 100644
--- a/maps/Route39Barn.asm
+++ b/maps/Route39Barn.asm
@@ -3,7 +3,7 @@ const_value set 2
const ROUTE39BARN_TWIN2
const ROUTE39BARN_MOOMOO
-Route39Barn_MapScriptHeader:
+Route39Barn_MapScripts:
.SceneScripts:
db 0
@@ -52,7 +52,7 @@ MooMoo:
iftrue .HappyCow
writetext Text_WeakMoo
writebyte MILTANK
- special PlaySlowCry
+ special Special_PlaySlowCry
buttonsound
writetext Text_ItsCryIsWeak
checkevent EVENT_TALKED_TO_FARMER_ABOUT_MOOMOO
@@ -188,7 +188,7 @@ Text_RefusedToGiveBerry:
para "MILTANK looks sad."
done
-Route39Barn_MapEventHeader:
+Route39Barn_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route39Farmhouse.asm b/maps/Route39Farmhouse.asm
index 77531a70d..9f46263de 100644
--- a/maps/Route39Farmhouse.asm
+++ b/maps/Route39Farmhouse.asm
@@ -2,7 +2,7 @@ const_value set 2
const ROUTE39FARMHOUSE_POKEFAN_M
const ROUTE39FARMHOUSE_POKEFAN_F
-Route39Farmhouse_MapScriptHeader:
+Route39Farmhouse_MapScripts:
.SceneScripts:
db 0
@@ -24,15 +24,15 @@ FarmerMScript_SellMilk:
checkitem MOOMOO_MILK
iftrue FarmerMScript_Milking
writetext FarmerMText_BuyMilk
- special PlaceMoneyTopRight
+ special Special_PlaceMoneyTopRight
yesorno
iffalse FarmerMScript_NoSale
- checkmoney $0, 500
- if_equal $2, FarmerMScript_NoMoney
+ checkmoney YOUR_MONEY, 500
+ if_equal HAVE_LESS, FarmerMScript_NoMoney
giveitem MOOMOO_MILK
iffalse FarmerMScript_NoRoom
- takemoney $0, 500
- special PlaceMoneyTopRight
+ takemoney YOUR_MONEY, 500
+ special Special_PlaceMoneyTopRight
waitsfx
playsound SFX_TRANSACTION
writetext FarmerMText_GotMilk
@@ -192,7 +192,7 @@ FarmerFText_SnoreSpeech:
cont "it, hon."
done
-Route39Farmhouse_MapEventHeader:
+Route39Farmhouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route4.asm b/maps/Route4.asm
index bd6ea62e5..a0bf7c4bc 100644
--- a/maps/Route4.asm
+++ b/maps/Route4.asm
@@ -4,7 +4,7 @@ const_value set 2
const ROUTE4_LASS2
const ROUTE4_POKE_BALL
-Route4_MapScriptHeader:
+Route4_MapScripts:
.SceneScripts:
db 0
@@ -51,8 +51,7 @@ Route4HPUp:
itemball HP_UP
Route4HiddenUltraBall:
- dwb EVENT_ROUTE_4_HIDDEN_ULTRA_BALL, ULTRA_BALL
-
+ hiddenitem EVENT_ROUTE_4_HIDDEN_ULTRA_BALL, ULTRA_BALL
BirdKeeperHankSeenText:
text "I'm raising my"
@@ -121,7 +120,7 @@ MtMoonSquareSignText:
line "stairs."
done
-Route4_MapEventHeader:
+Route4_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route40.asm b/maps/Route40.asm
index 73f089bd2..9124da140 100644
--- a/maps/Route40.asm
+++ b/maps/Route40.asm
@@ -12,13 +12,13 @@ const_value set 2
const ROUTE40_LASS2
const ROUTE40_STANDING_YOUNGSTER
-Route40_MapScriptHeader:
+Route40_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .MonicaCallback
+ callback MAPCALLBACK_OBJECTS, .MonicaCallback
.MonicaCallback:
clearevent EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
@@ -79,7 +79,7 @@ Route40Lass1Script:
jumptextfaceplayer Route40Lass1Text
PokefanMScript_0x1a61c7:
- special Mobile_DummyReturnFalse
+ special Special_Mobile_DummyReturnFalse
iftrue .mobile
jumptextfaceplayer UnknownText_0x1a646a
@@ -135,7 +135,7 @@ Route40Rock:
jumpstd smashrock
Route40HiddenHyperPotion:
- dwb EVENT_ROUTE_40_HIDDEN_HYPER_POTION, HYPER_POTION
+ hiddenitem EVENT_ROUTE_40_HIDDEN_HYPER_POTION, HYPER_POTION
MovementData_0x1a621c:
step RIGHT
@@ -337,7 +337,7 @@ Route40SignText:
line "OLIVINE CITY"
done
-Route40_MapEventHeader:
+Route40_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route40BattleTowerGate.asm b/maps/Route40BattleTowerGate.asm
index f37b78669..edd8fb7ff 100644
--- a/maps/Route40BattleTowerGate.asm
+++ b/maps/Route40BattleTowerGate.asm
@@ -2,13 +2,13 @@ const_value set 2
const ROUTE40BATTLETOWERGATE_ROCKER
const ROUTE40BATTLETOWERGATE_TWIN
-Route40BattleTowerGate_MapScriptHeader:
+Route40BattleTowerGate_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .ShowSailor
+ callback MAPCALLBACK_OBJECTS, .ShowSailor
.ShowSailor:
clearevent EVENT_BATTLE_TOWER_OUTSIDE_SAILOR
@@ -70,7 +70,7 @@ Route40BattleTowerGateTwinText:
line "them now!"
done
-Route40BattleTowerGate_MapEventHeader:
+Route40BattleTowerGate_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route41.asm b/maps/Route41.asm
index 95618e692..4b66164dd 100644
--- a/maps/Route41.asm
+++ b/maps/Route41.asm
@@ -10,7 +10,7 @@ const_value set 2
const ROUTE41_SWIMMER_GIRL4
const ROUTE41_SWIMMER_GIRL5
-Route41_MapScriptHeader:
+Route41_MapScripts:
.SceneScripts:
db 0
@@ -132,7 +132,7 @@ Route41Rock:
jumpstd smashrock
Route41HiddenMaxEther:
- dwb EVENT_ROUTE_41_HIDDEN_MAX_ETHER, MAX_ETHER
+ hiddenitem EVENT_ROUTE_41_HIDDEN_MAX_ETHER, MAX_ETHER
SwimmermCharlieSeenText:
text "The water's warm"
@@ -341,7 +341,7 @@ SwimmerfWendyAfterBattleText:
line "it's scary."
done
-Route41_MapEventHeader:
+Route41_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route42.asm b/maps/Route42.asm
index ccf174b17..c9d9ac30e 100644
--- a/maps/Route42.asm
+++ b/maps/Route42.asm
@@ -9,7 +9,7 @@ const_value set 2
const ROUTE42_POKE_BALL2
const ROUTE42_SUICUNE
-Route42_MapScriptHeader:
+Route42_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -31,9 +31,9 @@ Route42SuicuneScript:
applymovement ROUTE42_SUICUNE, MovementData_0x1a9356
disappear ROUTE42_SUICUNE
pause 10
- setscene $0
+ setscene 0
clearevent EVENT_SAW_SUICUNE_ON_ROUTE_36
- setmapscene ROUTE_36, $1
+ setmapscene ROUTE_36, 1
end
TrainerFisherTully1:
@@ -61,9 +61,9 @@ UnknownScript_0x1a9268:
scall UnknownScript_0x1a92f5
UnknownScript_0x1a926b:
askforphonenumber PHONE_FISHER_TULLY
- if_equal $1, UnknownScript_0x1a9305
- if_equal $2, UnknownScript_0x1a9301
- trainertotext FISHER, TULLY1, $0
+ if_equal PHONE_CONTACTS_FULL, UnknownScript_0x1a9305
+ if_equal PHONE_CONTACT_REFUSED, UnknownScript_0x1a9301
+ trainertotext FISHER, TULLY1, MEM_BUFFER_0
scall UnknownScript_0x1a92f9
jump UnknownScript_0x1a92fd
@@ -212,18 +212,17 @@ FruitTreeScript_0x1a9351:
fruittree FRUITTREE_ROUTE_42_3
Route42HiddenMaxPotion:
- dwb EVENT_ROUTE_42_HIDDEN_MAX_POTION, MAX_POTION
-
+ hiddenitem EVENT_ROUTE_42_HIDDEN_MAX_POTION, MAX_POTION
MovementData_0x1a9356:
- db $39 ; movement
+ set_sliding
fast_jump_step UP
fast_jump_step UP
fast_jump_step UP
fast_jump_step RIGHT
fast_jump_step RIGHT
fast_jump_step RIGHT
- db $38 ; movement
+ remove_sliding
step_end
FisherTully1SeenText:
@@ -319,7 +318,7 @@ Route42Sign2Text:
line "MAHOGANY TOWN"
done
-Route42_MapEventHeader:
+Route42_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route42EcruteakGate.asm b/maps/Route42EcruteakGate.asm
index 89bf4b494..f873e7fed 100644
--- a/maps/Route42EcruteakGate.asm
+++ b/maps/Route42EcruteakGate.asm
@@ -1,7 +1,7 @@
const_value set 2
const ROUTE42ECRUTEAKGATE_OFFICER
-Route42EcruteakGate_MapScriptHeader:
+Route42EcruteakGate_MapScripts:
.SceneScripts:
db 0
@@ -19,7 +19,7 @@ Route42EcruteakGateOfficerText:
line "get lost in there."
done
-Route42EcruteakGate_MapEventHeader:
+Route42EcruteakGate_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route43.asm b/maps/Route43.asm
index b76ebaead..890acfaf8 100644
--- a/maps/Route43.asm
+++ b/maps/Route43.asm
@@ -8,22 +8,22 @@ const_value set 2
const ROUTE43_FRUIT_TREE
const ROUTE43_POKE_BALL
-Route43_MapScriptHeader:
+Route43_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .CheckIfRockets
+ callback MAPCALLBACK_NEWMAP, .CheckIfRockets
.CheckIfRockets:
checkevent EVENT_CLEARED_ROCKET_HIDEOUT
iftrue .NoRockets
- setmapscene ROUTE_43_GATE, $0
+ setmapscene ROUTE_43_GATE, 0
return
.NoRockets:
- setmapscene ROUTE_43_GATE, $1
+ setmapscene ROUTE_43_GATE, 1
return
TrainerCamperSpencer:
@@ -71,9 +71,9 @@ UnknownScript_0x19d0b8:
scall UnknownScript_0x19d130
UnknownScript_0x19d0bb:
askforphonenumber PHONE_POKEMANIAC_BRENT
- if_equal $1, UnknownScript_0x19d140
- if_equal $2, UnknownScript_0x19d13c
- trainertotext POKEMANIAC, BRENT1, $0
+ if_equal PHONE_CONTACTS_FULL, UnknownScript_0x19d140
+ if_equal PHONE_CONTACT_REFUSED, UnknownScript_0x19d13c
+ trainertotext POKEMANIAC, BRENT1, MEM_BUFFER_0
scall UnknownScript_0x19d134
jump UnknownScript_0x19d138
@@ -202,9 +202,9 @@ UnknownScript_0x19d1aa:
scall UnknownScript_0x19d23d
UnknownScript_0x19d1ad:
askforphonenumber PHONE_PICNICKER_TIFFANY
- if_equal $1, UnknownScript_0x19d24d
- if_equal $2, UnknownScript_0x19d249
- trainertotext PICNICKER, TIFFANY3, $0
+ if_equal PHONE_CONTACTS_FULL, UnknownScript_0x19d24d
+ if_equal PHONE_CONTACT_REFUSED, UnknownScript_0x19d249
+ trainertotext PICNICKER, TIFFANY3, MEM_BUFFER_0
scall UnknownScript_0x19d241
jump UnknownScript_0x19d245
@@ -500,7 +500,7 @@ Route43TrainerTipsText:
line "#MON's type."
done
-Route43_MapEventHeader:
+Route43_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route43Gate.asm b/maps/Route43Gate.asm
index 58bb163ef..51d095e3c 100644
--- a/maps/Route43Gate.asm
+++ b/maps/Route43Gate.asm
@@ -5,7 +5,7 @@ const_value set 2
const ROUTE43GATE_ROCKET1
const ROUTE43GATE_ROCKET2
-Route43Gate_MapScriptHeader:
+Route43Gate_MapScripts:
.SceneScripts:
db 2
scene_script .RocketShakedown
@@ -13,7 +13,7 @@ Route43Gate_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .CheckIfRockets
+ callback MAPCALLBACK_NEWMAP, .CheckIfRockets
.RocketShakedown:
priorityjump .RocketTakeover
@@ -25,11 +25,11 @@ Route43Gate_MapScriptHeader:
.CheckIfRockets:
checkevent EVENT_CLEARED_ROCKET_HIDEOUT
iftrue .NoRockets
- setmapscene ROUTE_43, $0
+ setmapscene ROUTE_43, 0
return
.NoRockets:
- setmapscene ROUTE_43, $1
+ setmapscene ROUTE_43, 1
return
.RocketTakeover:
@@ -37,7 +37,7 @@ Route43Gate_MapScriptHeader:
checkcode VAR_FACING
if_equal DOWN, RocketScript_Southbound
if_equal UP, RocketScript_Northbound
- setscene $1
+ setscene 1
end
RocketScript_Southbound:
@@ -50,17 +50,17 @@ RocketScript_Southbound:
opentext
writetext RocketText_TollFee
buttonsound
- checkmoney $0, ROUTE43GATE_TOLL - 1
- if_equal $0, RocketScript_TollSouth
+ checkmoney YOUR_MONEY, ROUTE43GATE_TOLL - 1
+ if_equal HAVE_MORE, RocketScript_TollSouth
jump RocketScript_YoureBrokeSouth
RocketScript_TollSouth:
- takemoney $0, ROUTE43GATE_TOLL
+ takemoney YOUR_MONEY, ROUTE43GATE_TOLL
writetext RocketText_ThankYou
jump RocketScript_ShakeDownSouth
RocketScript_YoureBrokeSouth:
- takemoney $0, ROUTE43GATE_TOLL
+ takemoney YOUR_MONEY, ROUTE43GATE_TOLL
writetext RocketText_AllYouGot
jump RocketScript_ShakeDownSouth
@@ -69,7 +69,7 @@ RocketScript_ShakeDownSouth:
closetext
applymovement ROUTE43GATE_ROCKET1, Rocket1Script_LetsYouPassSouth
applymovement ROUTE43GATE_ROCKET2, Rocket2Script_LetsYouPassSouth
- setscene $1
+ setscene 1
special RestartMapMusic
end
@@ -82,17 +82,17 @@ RocketScript_Northbound:
opentext
writetext RocketText_TollFee
buttonsound
- checkmoney $0, ROUTE43GATE_TOLL - 1
- if_equal $0, RocketScript_TollNorth
+ checkmoney YOUR_MONEY, ROUTE43GATE_TOLL - 1
+ if_equal HAVE_MORE, RocketScript_TollNorth
jump RocketScript_YoureBrokeNorth
RocketScript_TollNorth:
- takemoney $0, ROUTE43GATE_TOLL
+ takemoney YOUR_MONEY, ROUTE43GATE_TOLL
writetext RocketText_ThankYou
jump RocketScript_ShakeDownNorth
RocketScript_YoureBrokeNorth:
- takemoney $0, ROUTE43GATE_TOLL
+ takemoney YOUR_MONEY, ROUTE43GATE_TOLL
writetext RocketText_AllYouGot
jump RocketScript_ShakeDownNorth
@@ -101,7 +101,7 @@ RocketScript_ShakeDownNorth:
closetext
applymovement ROUTE43GATE_ROCKET2, Rocket2Script_LetsYouPassNorth
applymovement ROUTE43GATE_ROCKET1, Rocket1Script_LetsYouPassNorth
- setscene $1
+ setscene 1
special RestartMapMusic
end
@@ -247,7 +247,7 @@ OfficerText_AvoidGrass:
cont "the grass."
done
-Route43Gate_MapEventHeader:
+Route43Gate_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route43MahoganyGate.asm b/maps/Route43MahoganyGate.asm
index 5cbd1d617..d3d2758ea 100644
--- a/maps/Route43MahoganyGate.asm
+++ b/maps/Route43MahoganyGate.asm
@@ -1,7 +1,7 @@
const_value set 2
const ROUTE43MAHOGANYGATE_OFFICER
-Route43MahoganyGate_MapScriptHeader:
+Route43MahoganyGate_MapScripts:
.SceneScripts:
db 0
@@ -38,7 +38,7 @@ UnknownText_0x19ab65:
cont "days."
done
-Route43MahoganyGate_MapEventHeader:
+Route43MahoganyGate_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route44.asm b/maps/Route44.asm
index 4f9261a59..6ab469c04 100644
--- a/maps/Route44.asm
+++ b/maps/Route44.asm
@@ -11,7 +11,7 @@ const_value set 2
const ROUTE44_POKE_BALL2
const ROUTE44_POKE_BALL3
-Route44_MapScriptHeader:
+Route44_MapScripts:
.SceneScripts:
db 0
@@ -41,9 +41,9 @@ UnknownScript_0x19d853:
scall UnknownScript_0x19d8e3
UnknownScript_0x19d856:
askforphonenumber PHONE_BIRDKEEPER_VANCE
- if_equal $1, UnknownScript_0x19d8f3
- if_equal $2, UnknownScript_0x19d8ef
- trainertotext BIRD_KEEPER, VANCE1, $0
+ if_equal PHONE_CONTACTS_FULL, UnknownScript_0x19d8f3
+ if_equal PHONE_CONTACT_REFUSED, UnknownScript_0x19d8ef
+ trainertotext BIRD_KEEPER, VANCE1, MEM_BUFFER_0
scall UnknownScript_0x19d8e7
jump UnknownScript_0x19d8eb
@@ -185,9 +185,9 @@ UnknownScript_0x19d957:
scall UnknownScript_0x19d8e3
UnknownScript_0x19d95a:
askforphonenumber PHONE_FISHER_WILTON
- if_equal $1, UnknownScript_0x19d8f3
- if_equal $2, UnknownScript_0x19d8ef
- trainertotext FISHER, WILTON1, $0
+ if_equal PHONE_CONTACTS_FULL, UnknownScript_0x19d8f3
+ if_equal PHONE_CONTACT_REFUSED, UnknownScript_0x19d8ef
+ trainertotext FISHER, WILTON1, MEM_BUFFER_0
scall UnknownScript_0x19d8e7
jump UnknownScript_0x19d8eb
@@ -318,8 +318,7 @@ Route44MaxRepel:
itemball MAX_REPEL
Route44HiddenElixer:
- dwb EVENT_ROUTE_44_HIDDEN_ELIXER, ELIXER
-
+ hiddenitem EVENT_ROUTE_44_HIDDEN_ELIXER, ELIXER
FisherWilton1SeenText:
text "Aack! You made me"
@@ -507,7 +506,7 @@ Route44Sign2Text:
line "BLACKTHORN CITY"
done
-Route44_MapEventHeader:
+Route44_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route45.asm b/maps/Route45.asm
index 38b7f77f2..2b026b8d4 100644
--- a/maps/Route45.asm
+++ b/maps/Route45.asm
@@ -13,7 +13,7 @@ const_value set 2
const ROUTE45_POKE_BALL4
const ROUTE45_YOUNGSTER
-Route45_MapScriptHeader:
+Route45_MapScripts:
.SceneScripts:
db 0
@@ -42,15 +42,15 @@ UnknownScript_0x19e0cd:
scall UnknownScript_0x19e11f
UnknownScript_0x19e0d0:
askforphonenumber PHONE_BLACKBELT_KENJI
- if_equal $1, UnknownScript_0x19e12f
- if_equal $2, UnknownScript_0x19e12b
- trainertotext BLACKBELT_T, KENJI3, $0
+ if_equal PHONE_CONTACTS_FULL, UnknownScript_0x19e12f
+ if_equal PHONE_CONTACT_REFUSED, UnknownScript_0x19e12b
+ trainertotext BLACKBELT_T, KENJI3, MEM_BUFFER_0
scall UnknownScript_0x19e123
jump UnknownScript_0x19e127
UnknownScript_0x19e0e4:
checkcode VAR_KENJI_BREAK
- if_not_equal $1, UnknownScript_0x19e127
+ if_not_equal 1, UnknownScript_0x19e127
checkmorn
iftrue UnknownScript_0x19e10c
checknite
@@ -169,9 +169,9 @@ UnknownScript_0x19e1a1:
scall UnknownScript_0x19e11f
UnknownScript_0x19e1a4:
askforphonenumber PHONE_HIKER_PARRY
- if_equal $1, UnknownScript_0x19e12f
- if_equal $2, UnknownScript_0x19e12b
- trainertotext HIKER, PARRY1, $0
+ if_equal PHONE_CONTACTS_FULL, UnknownScript_0x19e12f
+ if_equal PHONE_CONTACT_REFUSED, UnknownScript_0x19e12b
+ trainertotext HIKER, PARRY1, MEM_BUFFER_0
scall UnknownScript_0x19e123
jump UnknownScript_0x19e127
@@ -312,8 +312,7 @@ Route45MaxPotion:
itemball MAX_POTION
Route45HiddenPpUp:
- dwb EVENT_ROUTE_45_HIDDEN_PP_UP, PP_UP
-
+ hiddenitem EVENT_ROUTE_45_HIDDEN_PP_UP, PP_UP
HikerErikSeenText:
text "Be prepared for"
@@ -532,7 +531,7 @@ Route45SignText:
line "MOUNTAIN RD. AHEAD"
done
-Route45_MapEventHeader:
+Route45_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route46.asm b/maps/Route46.asm
index 36dad82d3..777e63501 100644
--- a/maps/Route46.asm
+++ b/maps/Route46.asm
@@ -6,7 +6,7 @@ const_value set 2
const ROUTE46_FRUIT_TREE2
const ROUTE46_POKE_BALL
-Route46_MapScriptHeader:
+Route46_MapScripts:
.SceneScripts:
db 0
@@ -47,9 +47,9 @@ UnknownScript_0x1a96c3:
scall UnknownScript_0x1a9753
UnknownScript_0x1a96c6:
askforphonenumber PHONE_PICNICKER_ERIN
- if_equal $1, UnknownScript_0x1a9763
- if_equal $2, UnknownScript_0x1a975f
- trainertotext PICNICKER, ERIN1, $0
+ if_equal PHONE_CONTACTS_FULL, UnknownScript_0x1a9763
+ if_equal PHONE_CONTACT_REFUSED, UnknownScript_0x1a975f
+ trainertotext PICNICKER, ERIN1, MEM_BUFFER_0
scall UnknownScript_0x1a9757
jump UnknownScript_0x1a975b
@@ -250,14 +250,14 @@ Route46SignText:
line "MOUNTAIN RD. AHEAD"
done
-Route46_MapEventHeader:
+Route46_MapEvents:
; filler
db 0, 0
.Warps:
db 3
- warp_def 7, 33, 1, ROUTE_29_46_GATE
- warp_def 8, 33, 2, ROUTE_29_46_GATE
+ warp_def 7, 33, 1, ROUTE_29_ROUTE_46_GATE
+ warp_def 8, 33, 2, ROUTE_29_ROUTE_46_GATE
warp_def 14, 5, 3, DARK_CAVE_VIOLET_ENTRANCE
.CoordEvents:
diff --git a/maps/Route5.asm b/maps/Route5.asm
index 7976fbe79..9bdf8a023 100644
--- a/maps/Route5.asm
+++ b/maps/Route5.asm
@@ -1,7 +1,7 @@
const_value set 2
const ROUTE5_POKEFAN_M
-Route5_MapScriptHeader:
+Route5_MapScripts:
.SceneScripts:
db 0
@@ -39,15 +39,15 @@ HouseForSaleSignText:
line "Nobody lives here."
done
-Route5_MapEventHeader:
+Route5_MapEvents:
; filler
db 0, 0
.Warps:
db 4
warp_def 17, 15, 1, ROUTE_5_UNDERGROUND_PATH_ENTRANCE
- warp_def 8, 17, 1, ROUTE_5_SAFFRON_CITY_GATE
- warp_def 9, 17, 2, ROUTE_5_SAFFRON_CITY_GATE
+ warp_def 8, 17, 1, ROUTE_5_SAFFRON_GATE
+ warp_def 9, 17, 2, ROUTE_5_SAFFRON_GATE
warp_def 10, 11, 1, ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE
.CoordEvents:
diff --git a/maps/Route5CleanseTagSpeechHouse.asm b/maps/Route5CleanseTagSpeechHouse.asm
index 320ddef89..f044a48b0 100644
--- a/maps/Route5CleanseTagSpeechHouse.asm
+++ b/maps/Route5CleanseTagSpeechHouse.asm
@@ -2,7 +2,7 @@ const_value set 2
const ROUTE5CLEANSETAGSPEECHHOUSE_GRANNY
const ROUTE5CLEANSETAGSPEECHHOUSE_TEACHER
-Route5CleanseTagSpeechHouse_MapScriptHeader:
+Route5CleanseTagSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -60,7 +60,7 @@ Route5CleanseTagSpeechHouseTeacherText:
line "startled you."
done
-Route5CleanseTagSpeechHouse_MapEventHeader:
+Route5CleanseTagSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route5SaffronCityGate.asm b/maps/Route5SaffronGate.asm
index e47ce7628..1f8bb9b94 100644
--- a/maps/Route5SaffronCityGate.asm
+++ b/maps/Route5SaffronGate.asm
@@ -1,17 +1,17 @@
const_value set 2
- const ROUTE5SAFFRONCITYGATE_OFFICER
+ const ROUTE5SAFFRONGATE_OFFICER
-Route5SaffronCityGate_MapScriptHeader:
+Route5SaffronGate_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-Route5SaffronCityGateOfficerScript:
- jumptextfaceplayer Route5SaffronCityGateOfficerText
+Route5SaffronGateOfficerScript:
+ jumptextfaceplayer Route5SaffronGateOfficerText
-Route5SaffronCityGateOfficerText:
+Route5SaffronGateOfficerText:
text "You're from JOHTO,"
line "aren't you?"
@@ -20,7 +20,7 @@ Route5SaffronCityGateOfficerText:
cont "don't you agree?"
done
-Route5SaffronCityGate_MapEventHeader:
+Route5SaffronGate_MapEvents:
; filler
db 0, 0
@@ -39,4 +39,4 @@ Route5SaffronCityGate_MapEventHeader:
.ObjectEvents:
db 1
- object_event 0, 4, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, Route5SaffronCityGateOfficerScript, -1
+ object_event 0, 4, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, PAL_NPC_BLUE, OBJECTTYPE_SCRIPT, 0, Route5SaffronGateOfficerScript, -1
diff --git a/maps/Route5UndergroundPathEntrance.asm b/maps/Route5UndergroundPathEntrance.asm
index 954b16ecb..2bdb75ca0 100644
--- a/maps/Route5UndergroundPathEntrance.asm
+++ b/maps/Route5UndergroundPathEntrance.asm
@@ -1,7 +1,7 @@
const_value set 2
const ROUTE5UNDERGROUNDPATHENTRANCE_TEACHER
-Route5UndergroundPathEntrance_MapScriptHeader:
+Route5UndergroundPathEntrance_MapScripts:
.SceneScripts:
db 0
@@ -19,7 +19,7 @@ Route5UndergroundPathEntranceTeacherText:
line "love to visit!"
done
-Route5UndergroundPathEntrance_MapEventHeader:
+Route5UndergroundPathEntrance_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route6.asm b/maps/Route6.asm
index d19033031..9a66c5844 100644
--- a/maps/Route6.asm
+++ b/maps/Route6.asm
@@ -3,7 +3,7 @@ const_value set 2
const ROUTE6_POKEFAN_M2
const ROUTE6_POKEFAN_M3
-Route6_MapScriptHeader:
+Route6_MapScripts:
.SceneScripts:
db 0
@@ -91,7 +91,7 @@ PokefanmAllanAfterBattleText:
cont "your heart melt?"
done
-Route6_MapEventHeader:
+Route6_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route6SaffronGate.asm b/maps/Route6SaffronGate.asm
index 713e1476e..b2dbf0e6c 100644
--- a/maps/Route6SaffronGate.asm
+++ b/maps/Route6SaffronGate.asm
@@ -1,7 +1,7 @@
const_value set 2
const ROUTE6SAFFRONGATE_OFFICER
-Route6SaffronGate_MapScriptHeader:
+Route6SaffronGate_MapScripts:
.SceneScripts:
db 1
scene_script .DummyScene
@@ -57,7 +57,7 @@ UnknownText_0x1927cb:
line "FRON."
done
-Route6SaffronGate_MapEventHeader:
+Route6SaffronGate_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route6UndergroundPathEntrance.asm b/maps/Route6UndergroundPathEntrance.asm
index 126406e10..aad70ec88 100644
--- a/maps/Route6UndergroundPathEntrance.asm
+++ b/maps/Route6UndergroundPathEntrance.asm
@@ -1,11 +1,11 @@
-Route6UndergroundPathEntrance_MapScriptHeader:
+Route6UndergroundPathEntrance_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-Route6UndergroundPathEntrance_MapEventHeader:
+Route6UndergroundPathEntrance_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route7.asm b/maps/Route7.asm
index 54887e894..f10b33ccc 100644
--- a/maps/Route7.asm
+++ b/maps/Route7.asm
@@ -1,4 +1,4 @@
-Route7_MapScriptHeader:
+Route7_MapScripts:
.SceneScripts:
db 0
@@ -34,7 +34,7 @@ Route7LockedDoorText:
text "It's locked…"
done
-Route7_MapEventHeader:
+Route7_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route7SaffronGate.asm b/maps/Route7SaffronGate.asm
index c72a3a571..bd0c2fced 100644
--- a/maps/Route7SaffronGate.asm
+++ b/maps/Route7SaffronGate.asm
@@ -1,7 +1,7 @@
const_value set 2
const ROUTE7SAFFRONGATE_OFFICER
-Route7SaffronGate_MapScriptHeader:
+Route7SaffronGate_MapScripts:
.SceneScripts:
db 0
@@ -45,7 +45,7 @@ UnknownText_0x73592:
line "through."
done
-Route7SaffronGate_MapEventHeader:
+Route7SaffronGate_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route8.asm b/maps/Route8.asm
index 1ad467aba..10df64842 100644
--- a/maps/Route8.asm
+++ b/maps/Route8.asm
@@ -6,7 +6,7 @@ const_value set 2
const ROUTE8_SUPER_NERD2
const ROUTE8_FRUIT_TREE
-Route8_MapScriptHeader:
+Route8_MapScripts:
.SceneScripts:
db 0
@@ -172,7 +172,7 @@ Route8UndergroundPathSignText:
line "read…"
done
-Route8_MapEventHeader:
+Route8_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route8SaffronGate.asm b/maps/Route8SaffronGate.asm
index 7dc6507ed..dc9968b1d 100644
--- a/maps/Route8SaffronGate.asm
+++ b/maps/Route8SaffronGate.asm
@@ -1,7 +1,7 @@
const_value set 2
const ROUTE8SAFFRONGATE_OFFICER
-Route8SaffronGate_MapScriptHeader:
+Route8SaffronGate_MapScripts:
.SceneScripts:
db 0
@@ -19,7 +19,7 @@ Route8SaffronGateOfficerText:
line "RADIO TOWER there."
done
-Route8SaffronGate_MapEventHeader:
+Route8SaffronGate_MapEvents:
; filler
db 0, 0
diff --git a/maps/Route9.asm b/maps/Route9.asm
index 1b377ceeb..cd1831f98 100644
--- a/maps/Route9.asm
+++ b/maps/Route9.asm
@@ -6,7 +6,7 @@ const_value set 2
const ROUTE9_POKEFAN_M1
const ROUTE9_POKEFAN_M2
-Route9_MapScriptHeader:
+Route9_MapScripts:
.SceneScripts:
db 0
@@ -83,8 +83,7 @@ Route9Sign:
jumptext Route9SignText
Route9HiddenEther:
- dwb EVENT_ROUTE_9_HIDDEN_ETHER, ETHER
-
+ hiddenitem EVENT_ROUTE_9_HIDDEN_ETHER, ETHER
CamperDeanSeenText:
text "I came to explore"
@@ -206,7 +205,7 @@ Route9SignText:
line "ROCK TUNNEL"
done
-Route9_MapEventHeader:
+Route9_MapEvents:
; filler
db 0, 0
diff --git a/maps/RuinsOfAlphAerodactylChamber.asm b/maps/RuinsOfAlphAerodactylChamber.asm
index 355b5591c..91f2967a3 100644
--- a/maps/RuinsOfAlphAerodactylChamber.asm
+++ b/maps/RuinsOfAlphAerodactylChamber.asm
@@ -1,4 +1,4 @@
-RuinsOfAlphAerodactylChamber_MapScriptHeader:
+RuinsOfAlphAerodactylChamber_MapScripts:
.SceneScripts:
db 2
scene_script .CheckWall
@@ -6,7 +6,7 @@ RuinsOfAlphAerodactylChamber_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_TILES, .HiddenDoors
+ callback MAPCALLBACK_TILES, .HiddenDoors
.CheckWall:
checkevent EVENT_WALL_OPENED_IN_AERODACTYL_CHAMBER
@@ -23,15 +23,15 @@ RuinsOfAlphAerodactylChamber_MapScriptHeader:
.HiddenDoors:
checkevent EVENT_WALL_OPENED_IN_AERODACTYL_CHAMBER
iftrue .WallOpen
- changeblock $4, $0, $2e
+ changeblock 4, 0, $2e ; closed wall
.WallOpen:
checkevent EVENT_SOLVED_AERODACTYL_PUZZLE
iffalse .FloorClosed
return
.FloorClosed:
- changeblock $2, $2, $1
- changeblock $4, $2, $2
+ changeblock 2, 2, $01 ; left floor
+ changeblock 4, 2, $02 ; right floor
return
.WallOpenScript:
@@ -40,16 +40,16 @@ RuinsOfAlphAerodactylChamber_MapScriptHeader:
showemote EMOTE_SHOCK, PLAYER, 20
pause 30
playsound SFX_STRENGTH
- changeblock $4, $0, $30
+ changeblock 4, 0, $30 ; open wall
reloadmappart
earthquake 50
- setscene $1
+ setscene 1
closetext
end
MapRuinsOfAlphAerodactylChamberSignpost2Script:
- refreshscreen $0
- writebyte $2
+ refreshscreen
+ writebyte UNOWNPUZZLE_AERODACTYL
special Special_UnownPuzzle
closetext
iftrue UnknownScript_0x58df7
@@ -59,11 +59,11 @@ UnknownScript_0x58df7:
setevent EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS
setevent EVENT_SOLVED_AERODACTYL_PUZZLE
setflag ENGINE_UNLOCKED_UNOWNS_3
- setmapscene RUINS_OF_ALPH_INNER_CHAMBER, $1
+ setmapscene RUINS_OF_ALPH_INNER_CHAMBER, 1
earthquake 30
showemote EMOTE_SHOCK, PLAYER, 15
- changeblock $2, $2, $18
- changeblock $4, $2, $19
+ changeblock 2, 2, $18 ; left hole
+ changeblock 4, 2, $19 ; right hole
reloadmappart
playsound SFX_STRENGTH
earthquake 80
@@ -83,7 +83,7 @@ MapRuinsOfAlphAerodactylChamberSignpost3Script:
MapRuinsOfAlphAerodactylChamberSignpost4Script:
opentext
writetext UnknownText_0x58e4f
- writebyte $1
+ writebyte UNOWNWORDS_LIGHT
special Special_DisplayUnownWords
closetext
end
@@ -93,7 +93,7 @@ MapRuinsOfAlphAerodactylChamberSignpost5Script:
iftrue UnknownScript_0x58e46
opentext
writetext UnknownText_0x58e81
- writebyte $1
+ writebyte UNOWNWORDS_LIGHT
special Special_DisplayUnownWords
closetext
end
@@ -106,7 +106,7 @@ UnknownScript_0x58e46:
end
MovementData_0x58e4d:
- db $59 ; movement
+ skyfall_top
step_end
UnknownText_0x58e4f:
@@ -114,8 +114,8 @@ UnknownText_0x58e4f:
line "on the walls…"
done
-; possibly unused.. again?
-UnknownText_0x58e70:
+; unused
+UnusedText_0x58e70:
text "It's UNOWN text!"
done
@@ -143,7 +143,7 @@ UnknownText_0x58ee7:
line "fangs."
done
-RuinsOfAlphAerodactylChamber_MapEventHeader:
+RuinsOfAlphAerodactylChamber_MapEvents:
; filler
db 0, 0
diff --git a/maps/RuinsOfAlphAerodactylItemRoom.asm b/maps/RuinsOfAlphAerodactylItemRoom.asm
index 8e2822d0b..8be5e878b 100644
--- a/maps/RuinsOfAlphAerodactylItemRoom.asm
+++ b/maps/RuinsOfAlphAerodactylItemRoom.asm
@@ -4,7 +4,7 @@ const_value set 2
const RUINSOFALPHAERODACTYLITEMROOM_POKE_BALL3
const RUINSOFALPHAERODACTYLITEMROOM_POKE_BALL4
-RuinsOfAlphAerodactylItemRoom_MapScriptHeader:
+RuinsOfAlphAerodactylItemRoom_MapScripts:
.SceneScripts:
db 0
@@ -32,7 +32,7 @@ UnknownText_0x59ac1:
cont "MON."
done
-RuinsOfAlphAerodactylItemRoom_MapEventHeader:
+RuinsOfAlphAerodactylItemRoom_MapEvents:
; filler
db 0, 0
diff --git a/maps/RuinsOfAlphAerodactylWordRoom.asm b/maps/RuinsOfAlphAerodactylWordRoom.asm
index b19ad5cc2..d991d80bc 100644
--- a/maps/RuinsOfAlphAerodactylWordRoom.asm
+++ b/maps/RuinsOfAlphAerodactylWordRoom.asm
@@ -1,11 +1,11 @@
-RuinsOfAlphAerodactylWordRoom_MapScriptHeader:
+RuinsOfAlphAerodactylWordRoom_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-RuinsOfAlphAerodactylWordRoom_MapEventHeader:
+RuinsOfAlphAerodactylWordRoom_MapEvents:
; filler
db 0, 0
diff --git a/maps/RuinsOfAlphHoOhChamber.asm b/maps/RuinsOfAlphHoOhChamber.asm
index 52915317d..173f35e39 100644
--- a/maps/RuinsOfAlphHoOhChamber.asm
+++ b/maps/RuinsOfAlphHoOhChamber.asm
@@ -1,4 +1,4 @@
-RuinsOfAlphHoOhChamber_MapScriptHeader:
+RuinsOfAlphHoOhChamber_MapScripts:
.SceneScripts:
db 2
scene_script .CheckWall
@@ -6,10 +6,10 @@ RuinsOfAlphHoOhChamber_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_TILES, .HiddenDoors
+ callback MAPCALLBACK_TILES, .HiddenDoors
.CheckWall:
- special SpecialHoOhChamber
+ special Special_HoOhChamber
checkevent EVENT_WALL_OPENED_IN_HO_OH_CHAMBER
iftrue .OpenWall
end
@@ -24,15 +24,15 @@ RuinsOfAlphHoOhChamber_MapScriptHeader:
.HiddenDoors:
checkevent EVENT_WALL_OPENED_IN_HO_OH_CHAMBER
iftrue .WallOpen
- changeblock $4, $0, $2e
+ changeblock 4, 0, $2e ; closed wall
.WallOpen:
checkevent EVENT_SOLVED_HO_OH_PUZZLE
iffalse .FloorClosed
return
.FloorClosed:
- changeblock $2, $2, $1
- changeblock $4, $2, $2
+ changeblock 2, 2, $01 ; left floor
+ changeblock 4, 2, $02 ; right floor
return
.WallOpenScript:
@@ -41,16 +41,16 @@ RuinsOfAlphHoOhChamber_MapScriptHeader:
showemote EMOTE_SHOCK, PLAYER, 20
pause 30
playsound SFX_STRENGTH
- changeblock $4, $0, $30
+ changeblock 4, 0, $30 ; open wall
reloadmappart
earthquake 50
- setscene $1
+ setscene 1
closetext
end
MapRuinsOfAlphHoOhChamberSignpost2Script:
- refreshscreen $0
- writebyte $3
+ refreshscreen
+ writebyte UNOWNPUZZLE_HO_OH
special Special_UnownPuzzle
closetext
iftrue UnknownScript_0x585ba
@@ -60,11 +60,11 @@ UnknownScript_0x585ba:
setevent EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS
setevent EVENT_SOLVED_HO_OH_PUZZLE
setflag ENGINE_UNLOCKED_UNOWNS_4
- setmapscene RUINS_OF_ALPH_INNER_CHAMBER, $1
+ setmapscene RUINS_OF_ALPH_INNER_CHAMBER, 1
earthquake 30
showemote EMOTE_SHOCK, PLAYER, 15
- changeblock $2, $2, $18
- changeblock $4, $2, $19
+ changeblock 2, 2, $18 ; left hole
+ changeblock 4, 2, $19 ; right hole
reloadmappart
playsound SFX_STRENGTH
earthquake 80
@@ -84,7 +84,7 @@ MapRuinsOfAlphHoOhChamberSignpost3Script:
MapRuinsOfAlphHoOhChamberSignpost4Script:
opentext
writetext UnknownText_0x58612
- writebyte $3
+ writebyte UNOWNWORDS_HO_OH
special Special_DisplayUnownWords
closetext
end
@@ -94,7 +94,7 @@ MapRuinsOfAlphHoOhChamberSignpost5Script:
iftrue UnknownScript_0x58609
opentext
writetext UnknownText_0x58644
- writebyte $3
+ writebyte UNOWNWORDS_HO_OH
special Special_DisplayUnownWords
closetext
end
@@ -107,7 +107,7 @@ UnknownScript_0x58609:
end
MovementData_0x58610:
- db $59 ; movement
+ skyfall_top
step_end
UnknownText_0x58612:
@@ -115,8 +115,8 @@ UnknownText_0x58612:
line "on the walls…"
done
-; possibly unused
-UnknownText_0x58633:
+; unused
+UnusedText_0x58633:
text "It's UNOWN text!"
done
@@ -144,7 +144,7 @@ UnknownText_0x586aa:
line "wings."
done
-RuinsOfAlphHoOhChamber_MapEventHeader:
+RuinsOfAlphHoOhChamber_MapEvents:
; filler
db 0, 0
diff --git a/maps/RuinsOfAlphHoOhItemRoom.asm b/maps/RuinsOfAlphHoOhItemRoom.asm
index 01c34011e..e8ad02a27 100644
--- a/maps/RuinsOfAlphHoOhItemRoom.asm
+++ b/maps/RuinsOfAlphHoOhItemRoom.asm
@@ -4,7 +4,7 @@ const_value set 2
const RUINSOFALPHHOOHITEMROOM_POKE_BALL3
const RUINSOFALPHHOOHITEMROOM_POKE_BALL4
-RuinsOfAlphHoOhItemRoom_MapScriptHeader:
+RuinsOfAlphHoOhItemRoom_MapScripts:
.SceneScripts:
db 0
@@ -32,7 +32,7 @@ UnknownText_0x59923:
cont "MON."
done
-RuinsOfAlphHoOhItemRoom_MapEventHeader:
+RuinsOfAlphHoOhItemRoom_MapEvents:
; filler
db 0, 0
diff --git a/maps/RuinsOfAlphHoOhWordRoom.asm b/maps/RuinsOfAlphHoOhWordRoom.asm
index 079c7859f..a9b3be9cd 100644
--- a/maps/RuinsOfAlphHoOhWordRoom.asm
+++ b/maps/RuinsOfAlphHoOhWordRoom.asm
@@ -1,11 +1,11 @@
-RuinsOfAlphHoOhWordRoom_MapScriptHeader:
+RuinsOfAlphHoOhWordRoom_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-RuinsOfAlphHoOhWordRoom_MapEventHeader:
+RuinsOfAlphHoOhWordRoom_MapEvents:
; filler
db 0, 0
diff --git a/maps/RuinsOfAlphInnerChamber.asm b/maps/RuinsOfAlphInnerChamber.asm
index e0f9b4ad8..27e696a85 100644
--- a/maps/RuinsOfAlphInnerChamber.asm
+++ b/maps/RuinsOfAlphInnerChamber.asm
@@ -3,7 +3,7 @@ const_value set 2
const RUINSOFALPHINNERCHAMBER_TEACHER
const RUINSOFALPHINNERCHAMBER_GRAMPS
-RuinsOfAlphInnerChamber_MapScriptHeader:
+RuinsOfAlphInnerChamber_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -24,7 +24,7 @@ RuinsOfAlphInnerChamber_MapScriptHeader:
writetext RuinsOfAlphStrangePresenceText
waitbutton
closetext
- setscene $0
+ setscene 0
setevent EVENT_MADE_UNOWN_APPEAR_IN_RUINS
clearevent EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_FISHER
end
@@ -76,7 +76,7 @@ RuinsOfAlphInnerChamberStatueText:
cont "MON."
done
-RuinsOfAlphInnerChamber_MapEventHeader:
+RuinsOfAlphInnerChamber_MapEvents:
; filler
db 0, 0
diff --git a/maps/RuinsOfAlphKabutoChamber.asm b/maps/RuinsOfAlphKabutoChamber.asm
index e4f3f16c5..df4bcb881 100644
--- a/maps/RuinsOfAlphKabutoChamber.asm
+++ b/maps/RuinsOfAlphKabutoChamber.asm
@@ -2,7 +2,7 @@ const_value set 2
const RUINSOFALPHKABUTOCHAMBER_RECEPTIONIST
const RUINSOFALPHKABUTOCHAMBER_SCIENTIST
-RuinsOfAlphKabutoChamber_MapScriptHeader:
+RuinsOfAlphKabutoChamber_MapScripts:
.SceneScripts:
db 2
scene_script .CheckWall
@@ -10,7 +10,7 @@ RuinsOfAlphKabutoChamber_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_TILES, .HiddenDoors
+ callback MAPCALLBACK_TILES, .HiddenDoors
.CheckWall:
checkevent EVENT_WALL_OPENED_IN_KABUTO_CHAMBER
@@ -27,15 +27,15 @@ RuinsOfAlphKabutoChamber_MapScriptHeader:
.HiddenDoors:
checkevent EVENT_WALL_OPENED_IN_KABUTO_CHAMBER
iftrue .WallOpen
- changeblock $4, $0, $2e
+ changeblock 4, 0, $2e ; closed wall
.WallOpen:
checkevent EVENT_SOLVED_KABUTO_PUZZLE
iffalse .FloorClosed
return
.FloorClosed:
- changeblock $2, $2, $1
- changeblock $4, $2, $2
+ changeblock 2, 2, $01 ; left floor
+ changeblock 4, 2, $02 ; right floor
return
.WallOpenScript:
@@ -44,10 +44,10 @@ RuinsOfAlphKabutoChamber_MapScriptHeader:
showemote EMOTE_SHOCK, PLAYER, 20
pause 30
playsound SFX_STRENGTH
- changeblock $4, $0, $30
+ changeblock 4, 0, $30 ; open wall
reloadmappart
earthquake 50
- setscene $1
+ setscene 1
closetext
end
@@ -55,8 +55,8 @@ RuinsOfAlphKabutoChamberReceptionistScript:
jumptextfaceplayer RuinsOfAlphKabutoChamberReceptionistText
MapRuinsOfAlphKabutoChamberSignpost2Script:
- refreshscreen $0
- writebyte $0
+ refreshscreen
+ writebyte UNOWNPUZZLE_KABUTO
special Special_UnownPuzzle
closetext
iftrue UnknownScript_0x58778
@@ -67,11 +67,11 @@ UnknownScript_0x58778:
setevent EVENT_SOLVED_KABUTO_PUZZLE
setflag ENGINE_UNLOCKED_UNOWNS_1
setevent EVENT_RUINS_OF_ALPH_KABUTO_CHAMBER_RECEPTIONIST
- setmapscene RUINS_OF_ALPH_INNER_CHAMBER, $1
+ setmapscene RUINS_OF_ALPH_INNER_CHAMBER, 1
earthquake 30
showemote EMOTE_SHOCK, PLAYER, 15
- changeblock $2, $2, $18
- changeblock $4, $2, $19
+ changeblock 2, 2, $18 ; left hole
+ changeblock 4, 2, $19 ; right hole
reloadmappart
playsound SFX_STRENGTH
earthquake 80
@@ -86,7 +86,7 @@ ScientistScript_0x587a8:
faceplayer
opentext
checkcode VAR_UNOWNCOUNT
- if_equal 26, UnknownScript_0x587cf
+ if_equal NUM_UNOWN, UnknownScript_0x587cf
checkevent EVENT_WALL_OPENED_IN_KABUTO_CHAMBER
iftrue UnknownScript_0x587c9
checkevent EVENT_SOLVED_KABUTO_PUZZLE
@@ -121,7 +121,7 @@ MapRuinsOfAlphKabutoChamberSignpost3Script:
MapRuinsOfAlphKabutoChamberSignpost4Script:
opentext
writetext UnknownText_0x58aa7
- writebyte $0
+ writebyte UNOWNWORDS_ESCAPE
special Special_DisplayUnownWords
closetext
end
@@ -131,7 +131,7 @@ MapRuinsOfAlphKabutoChamberSignpost5Script:
iftrue UnknownScript_0x587f7
opentext
writetext UnknownText_0x58ad9
- writebyte $0
+ writebyte UNOWNWORDS_ESCAPE
special Special_DisplayUnownWords
closetext
end
@@ -144,7 +144,7 @@ UnknownScript_0x587f7:
end
MovementData_0x587fe:
- db $59 ; movement
+ skyfall_top
step_end
RuinsOfAlphKabutoChamberReceptionistText:
@@ -202,8 +202,8 @@ UnknownText_0x589b8:
cont "this wall here…"
done
-; possibly unused
-UnknownText_0x58a03:
+; unused
+UnusedText_0x58a03:
text "The patterns on"
line "the wall appear to"
cont "be words!"
@@ -226,8 +226,8 @@ UnknownText_0x58aa7:
line "on the walls…"
done
-; possibly unused
-UnknownText_0x58ac8:
+; unused
+UnusedText_0x58ac8:
text "It's UNOWN text!"
done
@@ -255,7 +255,7 @@ UnknownText_0x58b3f:
line "scanned the area."
done
-RuinsOfAlphKabutoChamber_MapEventHeader:
+RuinsOfAlphKabutoChamber_MapEvents:
; filler
db 0, 0
diff --git a/maps/RuinsOfAlphKabutoItemRoom.asm b/maps/RuinsOfAlphKabutoItemRoom.asm
index 910f5837c..3e5d41515 100644
--- a/maps/RuinsOfAlphKabutoItemRoom.asm
+++ b/maps/RuinsOfAlphKabutoItemRoom.asm
@@ -4,7 +4,7 @@ const_value set 2
const RUINSOFALPHKABUTOITEMROOM_POKE_BALL3
const RUINSOFALPHKABUTOITEMROOM_POKE_BALL4
-RuinsOfAlphKabutoItemRoom_MapScriptHeader:
+RuinsOfAlphKabutoItemRoom_MapScripts:
.SceneScripts:
db 0
@@ -32,7 +32,7 @@ UnknownText_0x599ad:
cont "MON."
done
-RuinsOfAlphKabutoItemRoom_MapEventHeader:
+RuinsOfAlphKabutoItemRoom_MapEvents:
; filler
db 0, 0
diff --git a/maps/RuinsOfAlphKabutoWordRoom.asm b/maps/RuinsOfAlphKabutoWordRoom.asm
index fc6c21f9a..ad29b5760 100644
--- a/maps/RuinsOfAlphKabutoWordRoom.asm
+++ b/maps/RuinsOfAlphKabutoWordRoom.asm
@@ -1,11 +1,11 @@
-RuinsOfAlphKabutoWordRoom_MapScriptHeader:
+RuinsOfAlphKabutoWordRoom_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-RuinsOfAlphKabutoWordRoom_MapEventHeader:
+RuinsOfAlphKabutoWordRoom_MapEvents:
; filler
db 0, 0
diff --git a/maps/RuinsOfAlphOmanyteChamber.asm b/maps/RuinsOfAlphOmanyteChamber.asm
index 994f69edd..e9c937526 100644
--- a/maps/RuinsOfAlphOmanyteChamber.asm
+++ b/maps/RuinsOfAlphOmanyteChamber.asm
@@ -1,4 +1,4 @@
-RuinsOfAlphOmanyteChamber_MapScriptHeader:
+RuinsOfAlphOmanyteChamber_MapScripts:
.SceneScripts:
db 2
scene_script .CheckWall
@@ -6,10 +6,10 @@ RuinsOfAlphOmanyteChamber_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_TILES, .HiddenDoors
+ callback MAPCALLBACK_TILES, .HiddenDoors
.CheckWall:
- special SpecialOmanyteChamber
+ special Special_OmanyteChamber
checkevent EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER
iftrue .OpenWall
end
@@ -24,15 +24,15 @@ RuinsOfAlphOmanyteChamber_MapScriptHeader:
.HiddenDoors:
checkevent EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER
iftrue .WallOpen
- changeblock $4, $0, $2e
+ changeblock 4, 0, $2e ; closed wall
.WallOpen:
checkevent EVENT_SOLVED_OMANYTE_PUZZLE
iffalse .FloorClosed
return
.FloorClosed:
- changeblock $2, $2, $1
- changeblock $4, $2, $2
+ changeblock 2, 2, $01 ; left floor
+ changeblock 4, 2, $02 ; right floor
return
.WallOpenScript:
@@ -41,16 +41,16 @@ RuinsOfAlphOmanyteChamber_MapScriptHeader:
showemote EMOTE_SHOCK, PLAYER, 20
pause 30
playsound SFX_STRENGTH
- changeblock $4, $0, $30
+ changeblock 4, 0, $30 ; open wall
reloadmappart
earthquake 50
- setscene $1
+ setscene 1
closetext
end
MapRuinsOfAlphOmanyteChamberSignpost2Script:
- refreshscreen $0
- writebyte $1
+ refreshscreen
+ writebyte UNOWNPUZZLE_OMANYTE
special Special_UnownPuzzle
closetext
iftrue UnknownScript_0x58c36
@@ -60,11 +60,11 @@ UnknownScript_0x58c36:
setevent EVENT_RUINS_OF_ALPH_INNER_CHAMBER_TOURISTS
setevent EVENT_SOLVED_OMANYTE_PUZZLE
setflag ENGINE_UNLOCKED_UNOWNS_2
- setmapscene RUINS_OF_ALPH_INNER_CHAMBER, $1
+ setmapscene RUINS_OF_ALPH_INNER_CHAMBER, 1
earthquake 30
showemote EMOTE_SHOCK, PLAYER, 15
- changeblock $2, $2, $18
- changeblock $4, $2, $19
+ changeblock 2, 2, $18 ; left hole
+ changeblock 4, 2, $19 ; right hole
reloadmappart
playsound SFX_STRENGTH
earthquake 80
@@ -84,7 +84,7 @@ MapRuinsOfAlphOmanyteChamberSignpost3Script:
MapRuinsOfAlphOmanyteChamberSignpost4Script:
opentext
writetext UnknownText_0x58c8e
- writebyte $2
+ writebyte UNOWNWORDS_WATER
special Special_DisplayUnownWords
closetext
end
@@ -94,7 +94,7 @@ MapRuinsOfAlphOmanyteChamberSignpost5Script:
iftrue UnknownScript_0x58c85
opentext
writetext UnknownText_0x58cc0
- writebyte $2
+ writebyte UNOWNWORDS_WATER
special Special_DisplayUnownWords
closetext
end
@@ -107,7 +107,7 @@ UnknownScript_0x58c85:
end
MovementData_0x58c8c:
- db $59 ; movement
+ skyfall_top
step_end
UnknownText_0x58c8e:
@@ -115,8 +115,8 @@ UnknownText_0x58c8e:
line "on the walls…"
done
-; possibly unused.. this again?
-UnknownText_0x58caf:
+; unused
+UnusedText_0x58caf:
text "It's UNOWN text!"
done
@@ -144,7 +144,7 @@ UnknownText_0x58d26:
line "its ten tentacles."
done
-RuinsOfAlphOmanyteChamber_MapEventHeader:
+RuinsOfAlphOmanyteChamber_MapEvents:
; filler
db 0, 0
diff --git a/maps/RuinsOfAlphOmanyteItemRoom.asm b/maps/RuinsOfAlphOmanyteItemRoom.asm
index 292dbac4d..3f4570b2b 100644
--- a/maps/RuinsOfAlphOmanyteItemRoom.asm
+++ b/maps/RuinsOfAlphOmanyteItemRoom.asm
@@ -4,7 +4,7 @@ const_value set 2
const RUINSOFALPHOMANYTEITEMROOM_POKE_BALL3
const RUINSOFALPHOMANYTEITEMROOM_POKE_BALL4
-RuinsOfAlphOmanyteItemRoom_MapScriptHeader:
+RuinsOfAlphOmanyteItemRoom_MapScripts:
.SceneScripts:
db 0
@@ -32,7 +32,7 @@ UnknownText_0x59a37:
cont "MON."
done
-RuinsOfAlphOmanyteItemRoom_MapEventHeader:
+RuinsOfAlphOmanyteItemRoom_MapEvents:
; filler
db 0, 0
diff --git a/maps/RuinsOfAlphOmanyteWordRoom.asm b/maps/RuinsOfAlphOmanyteWordRoom.asm
index 4ed4e32bc..b2f68e0a3 100644
--- a/maps/RuinsOfAlphOmanyteWordRoom.asm
+++ b/maps/RuinsOfAlphOmanyteWordRoom.asm
@@ -1,11 +1,11 @@
-RuinsOfAlphOmanyteWordRoom_MapScriptHeader:
+RuinsOfAlphOmanyteWordRoom_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-RuinsOfAlphOmanyteWordRoom_MapEventHeader:
+RuinsOfAlphOmanyteWordRoom_MapEvents:
; filler
db 0, 0
diff --git a/maps/RuinsOfAlphOutside.asm b/maps/RuinsOfAlphOutside.asm
index 478a2b9d0..3c674d8c8 100644
--- a/maps/RuinsOfAlphOutside.asm
+++ b/maps/RuinsOfAlphOutside.asm
@@ -5,7 +5,7 @@ const_value set 2
const RUINSOFALPHOUTSIDE_YOUNGSTER2
const RUINSOFALPHOUTSIDE_YOUNGSTER3
-RuinsOfAlphOutside_MapScriptHeader:
+RuinsOfAlphOutside_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -13,7 +13,7 @@ RuinsOfAlphOutside_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .ScientistCallback
+ callback MAPCALLBACK_OBJECTS, .ScientistCallback
.DummyScene0:
end
@@ -30,17 +30,17 @@ RuinsOfAlphOutside_MapScriptHeader:
.MaybeScientist:
checkcode VAR_UNOWNCOUNT
- if_greater_than $2, .YesScientist
+ if_greater_than 2, .YesScientist
jump .NoScientist
.YesScientist:
appear RUINSOFALPHOUTSIDE_SCIENTIST
- setscene $1
+ setscene 1
return
.NoScientist:
disappear RUINSOFALPHOUTSIDE_SCIENTIST
- setscene $0
+ setscene 0
return
RuinsOfAlphOutsideScientistScene1:
@@ -66,7 +66,7 @@ UnknownScript_0x58044:
disappear RUINSOFALPHOUTSIDE_SCIENTIST
stopfollow
applymovement PLAYER, MovementData_0x580c5
- setmapscene RUINS_OF_ALPH_RESEARCH_CENTER, $1
+ setmapscene RUINS_OF_ALPH_RESEARCH_CENTER, 1
warpcheck
end
@@ -112,7 +112,6 @@ TrainerPsychicNathan:
closetext
end
-
TrainerSuperNerdStan:
trainer EVENT_BEAT_SUPER_NERD_STAN, SUPER_NERD, STAN, UnknownText_0x581e5, UnknownText_0x58217, 0, .Script
@@ -124,7 +123,6 @@ TrainerSuperNerdStan:
closetext
end
-
RuinsOfAlphOutsideSignpost0Script:
jumptext UnknownText_0x58325
@@ -282,7 +280,7 @@ UnknownText_0x5848e:
line "message!"
done
-RuinsOfAlphOutside_MapEventHeader:
+RuinsOfAlphOutside_MapEvents:
; filler
db 0, 0
diff --git a/maps/RuinsOfAlphResearchCenter.asm b/maps/RuinsOfAlphResearchCenter.asm
index 223b2bd62..1595ce59a 100644
--- a/maps/RuinsOfAlphResearchCenter.asm
+++ b/maps/RuinsOfAlphResearchCenter.asm
@@ -3,7 +3,7 @@ const_value set 2
const RUINSOFALPHRESEARCHCENTER_SCIENTIST2
const RUINSOFALPHRESEARCHCENTER_SCIENTIST3
-RuinsOfAlphResearchCenter_MapScriptHeader:
+RuinsOfAlphResearchCenter_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -11,7 +11,7 @@ RuinsOfAlphResearchCenter_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .ScientistCallback
+ callback MAPCALLBACK_OBJECTS, .ScientistCallback
.DummyScene0:
end
@@ -22,11 +22,11 @@ RuinsOfAlphResearchCenter_MapScriptHeader:
.ScientistCallback:
checkscene
- if_equal $1, .ShowScientist
+ if_equal 1, .ShowScientist
return
.ShowScientist:
- moveobject RUINSOFALPHRESEARCHCENTER_SCIENTIST3, $3, $7
+ moveobject RUINSOFALPHRESEARCHCENTER_SCIENTIST3, 3, 7
appear RUINSOFALPHRESEARCHCENTER_SCIENTIST3
return
@@ -55,7 +55,7 @@ RuinsOfAlphResearchCenter_MapScriptHeader:
waitbutton
closetext
applymovement RUINSOFALPHRESEARCHCENTER_SCIENTIST3, MovementData_0x59276
- setscene $0
+ setscene 0
special RestartMapMusic
end
@@ -63,7 +63,7 @@ ScientistScript_0x591d1:
faceplayer
opentext
checkcode VAR_UNOWNCOUNT
- if_equal 26, UnknownScript_0x591df
+ if_equal NUM_UNOWN, UnknownScript_0x591df
writetext UnknownText_0x59311
waitbutton
closetext
@@ -79,7 +79,7 @@ ScientistScript_0x591e5:
faceplayer
opentext
checkcode VAR_UNOWNCOUNT
- if_equal 26, UnknownScript_0x5920b
+ if_equal NUM_UNOWN, UnknownScript_0x5920b
checkflag ENGINE_UNOWN_DEX
iftrue UnknownScript_0x59205
checkevent EVENT_MADE_UNOWN_APPEAR_IN_RUINS
@@ -112,7 +112,7 @@ ScientistScript_0x59214:
faceplayer
opentext
checkcode VAR_UNOWNCOUNT
- if_equal 26, UnknownScript_0x5922e
+ if_equal NUM_UNOWN, UnknownScript_0x5922e
checkevent EVENT_MADE_UNOWN_APPEAR_IN_RUINS
iftrue UnknownScript_0x59228
writetext UnknownText_0x5954f
@@ -137,7 +137,7 @@ MapRuinsOfAlphResearchCenterSignpost1Script:
checkevent EVENT_RUINS_OF_ALPH_RESEARCH_CENTER_SCIENTIST
iftrue UnknownScript_0x59241
checkcode VAR_UNOWNCOUNT
- if_equal 26, UnknownScript_0x59247
+ if_equal NUM_UNOWN, UnknownScript_0x59247
UnknownScript_0x59241:
writetext UnknownText_0x597b6
waitbutton
@@ -155,7 +155,7 @@ MapRuinsOfAlphResearchCenterSignpost2Script:
checkevent EVENT_RUINS_OF_ALPH_RESEARCH_CENTER_SCIENTIST
iftrue UnknownScript_0x5925a
checkcode VAR_UNOWNCOUNT
- if_equal 26, UnknownScript_0x59260
+ if_equal NUM_UNOWN, UnknownScript_0x59260
UnknownScript_0x5925a:
writetext UnknownText_0x5980e
waitbutton
@@ -169,8 +169,8 @@ UnknownScript_0x59260:
closetext
end
-UnknownScript_0x59269:
- jumptext UnknownText_0x59848
+UnreferencedScript_0x59269:
+ jumptext UnusedText_0x59848
MapRuinsOfAlphResearchCenterSignpost0Script:
jumptext UnknownText_0x59886
@@ -308,8 +308,8 @@ UnknownText_0x595cb:
cont "kinds of them…"
done
-; possibly unused
-UnknownText_0x59669:
+; unused
+UnusedText_0x59669:
text "We think something"
line "caused the cryptic"
@@ -320,8 +320,8 @@ UnknownText_0x59669:
line "studies on that."
done
-; possibly unused
-UnknownText_0x596d3:
+; unused
+UnusedText_0x596d3:
text "According to my"
line "research…"
@@ -374,8 +374,8 @@ UnknownText_0x5982d:
line "printed out."
done
-; possibly unused
-UnknownText_0x59848:
+; unused
+UnusedText_0x59848:
text "It's a photo of"
line "the RESEARCH"
@@ -392,7 +392,7 @@ UnknownText_0x59886:
cont "Ancients…"
done
-RuinsOfAlphResearchCenter_MapEventHeader:
+RuinsOfAlphResearchCenter_MapEvents:
; filler
db 0, 0
diff --git a/maps/SafariZoneBeta.asm b/maps/SafariZoneBeta.asm
index d1b4e6f1a..a96f55dea 100644
--- a/maps/SafariZoneBeta.asm
+++ b/maps/SafariZoneBeta.asm
@@ -1,11 +1,11 @@
-SafariZoneBeta_MapScriptHeader:
+SafariZoneBeta_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-SafariZoneBeta_MapEventHeader:
+SafariZoneBeta_MapEvents:
; filler
db 0, 0
diff --git a/maps/SafariZoneFuchsiaGateBeta.asm b/maps/SafariZoneFuchsiaGateBeta.asm
index e2ba63f2e..562775013 100644
--- a/maps/SafariZoneFuchsiaGateBeta.asm
+++ b/maps/SafariZoneFuchsiaGateBeta.asm
@@ -1,11 +1,11 @@
-SafariZoneFuchsiaGateBeta_MapScriptHeader:
+SafariZoneFuchsiaGateBeta_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-SafariZoneFuchsiaGateBeta_MapEventHeader:
+SafariZoneFuchsiaGateBeta_MapEvents:
; filler
db 0, 0
diff --git a/maps/SafariZoneMainOffice.asm b/maps/SafariZoneMainOffice.asm
index 2c7ac5e3d..1ee13106f 100644
--- a/maps/SafariZoneMainOffice.asm
+++ b/maps/SafariZoneMainOffice.asm
@@ -1,11 +1,11 @@
-SafariZoneMainOffice_MapScriptHeader:
+SafariZoneMainOffice_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-SafariZoneMainOffice_MapEventHeader:
+SafariZoneMainOffice_MapEvents:
; filler
db 0, 0
diff --git a/maps/SafariZoneWardensHome.asm b/maps/SafariZoneWardensHome.asm
index 487dff77d..e7295d594 100644
--- a/maps/SafariZoneWardensHome.asm
+++ b/maps/SafariZoneWardensHome.asm
@@ -1,7 +1,7 @@
const_value set 2
const SAFARIZONEWARDENSHOME_LASS
-SafariZoneWardensHome_MapScriptHeader:
+SafariZoneWardensHome_MapScripts:
.SceneScripts:
db 0
@@ -76,7 +76,7 @@ SafariZonePhotoText:
line "frolicking in it."
done
-SafariZoneWardensHome_MapEventHeader:
+SafariZoneWardensHome_MapEvents:
; filler
db 0, 0
diff --git a/maps/SaffronCity.asm b/maps/SaffronCity.asm
index 490a269b9..d4c470571 100644
--- a/maps/SaffronCity.asm
+++ b/maps/SaffronCity.asm
@@ -8,13 +8,13 @@ const_value set 2
const SAFFRONCITY_YOUNGSTER2
const SAFFRONCITY_LASS2
-SaffronCity_MapScriptHeader:
+SaffronCity_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
.FlyPoint:
setflag ENGINE_FLYPOINT_SAFFRON
@@ -265,7 +265,7 @@ SaffronCityMagnetTrainStationSignText:
cont "STATION"
done
-SaffronCity_MapEventHeader:
+SaffronCity_MapEvents:
; filler
db 0, 0
@@ -276,10 +276,10 @@ SaffronCity_MapEventHeader:
warp_def 25, 11, 2, SAFFRON_MART
warp_def 9, 29, 1, SAFFRON_POKECENTER_1F
warp_def 27, 29, 1, MR_PSYCHICS_HOUSE
- warp_def 8, 3, 2, SAFFRON_TRAIN_STATION
+ warp_def 8, 3, 2, SAFFRON_MAGNET_TRAIN_STATION
warp_def 18, 21, 1, SILPH_CO_1F
warp_def 9, 11, 1, COPYCATS_HOUSE_1F
- warp_def 18, 3, 3, ROUTE_5_SAFFRON_CITY_GATE
+ warp_def 18, 3, 3, ROUTE_5_SAFFRON_GATE
warp_def 0, 24, 3, ROUTE_7_SAFFRON_GATE
warp_def 0, 25, 4, ROUTE_7_SAFFRON_GATE
warp_def 16, 33, 1, ROUTE_6_SAFFRON_GATE
diff --git a/maps/SaffronGym.asm b/maps/SaffronGym.asm
index 008356172..a2ba7497d 100644
--- a/maps/SaffronGym.asm
+++ b/maps/SaffronGym.asm
@@ -6,7 +6,7 @@ const_value set 2
const SAFFRONGYM_YOUNGSTER2
const SAFFRONGYM_GYM_GUY
-SaffronGym_MapScriptHeader:
+SaffronGym_MapScripts:
.SceneScripts:
db 0
@@ -22,7 +22,7 @@ SabrinaScript_0x189c2e:
waitbutton
closetext
winlosstext UnknownText_0x189df4, 0
- loadtrainer SABRINA, 1
+ loadtrainer SABRINA, SABRINA1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_SABRINA
@@ -111,7 +111,7 @@ SaffronGymStatue:
iftrue .Beaten
jumpstd gymstatue1
.Beaten:
- trainertotext SABRINA, 1, $1
+ trainertotext SABRINA, SABRINA1, MEM_BUFFER_1
jumpstd gymstatue2
UnknownText_0x189cdf:
@@ -290,7 +290,7 @@ SaffronGymGuyWinText:
line "fantastic battle!"
done
-SaffronGym_MapEventHeader:
+SaffronGym_MapEvents:
; filler
db 0, 0
diff --git a/maps/SaffronTrainStation.asm b/maps/SaffronMagnetTrainStation.asm
index 19c35a37c..0d69d2017 100644
--- a/maps/SaffronTrainStation.asm
+++ b/maps/SaffronMagnetTrainStation.asm
@@ -1,10 +1,10 @@
const_value set 2
- const SAFFRONTRAINSTATION_OFFICER
- const SAFFRONTRAINSTATION_GYM_GUY
- const SAFFRONTRAINSTATION_TEACHER
- const SAFFRONTRAINSTATION_LASS
+ const SAFFRONMAGNETTRAINSTATION_OFFICER
+ const SAFFRONMAGNETTRAINSTATION_GYM_GUY
+ const SAFFRONMAGNETTRAINSTATION_TEACHER
+ const SAFFRONMAGNETTRAINSTATION_LASS
-SaffronTrainStation_MapScriptHeader:
+SaffronMagnetTrainStation_MapScripts:
.SceneScripts:
db 1
scene_script .DummyScene
@@ -34,14 +34,14 @@ OfficerScript_0x18a81e:
writetext UnknownText_0x18a917
waitbutton
closetext
- applymovement SAFFRONTRAINSTATION_OFFICER, MovementData_0x18a88f
+ applymovement SAFFRONMAGNETTRAINSTATION_OFFICER, MovementData_0x18a88f
applymovement PLAYER, MovementData_0x18a898
- writebyte $1
+ writebyte TRUE
special Special_MagnetTrain
warpcheck
newloadmap MAPSETUP_TRAIN
applymovement PLAYER, .MovementBoardTheTrain
- wait $14
+ wait 20
end
.MovementBoardTheTrain:
@@ -61,9 +61,9 @@ OfficerScript_0x18a81e:
end
Script_ArriveFromGoldenrod:
- applymovement SAFFRONTRAINSTATION_OFFICER, MovementData_0x18a88f
+ applymovement SAFFRONMAGNETTRAINSTATION_OFFICER, MovementData_0x18a88f
applymovement PLAYER, MovementData_0x18a8a1
- applymovement SAFFRONTRAINSTATION_OFFICER, MovementData_0x18a894
+ applymovement SAFFRONMAGNETTRAINSTATION_OFFICER, MovementData_0x18a894
opentext
writetext UnknownText_0x18a993
waitbutton
@@ -86,11 +86,11 @@ UnknownScript_0x18a883:
closetext
end
-SaffronTrainStationTeacherScript:
- jumptextfaceplayer SaffronTrainStationTeacherText
+SaffronMagnetTrainStationTeacherScript:
+ jumptextfaceplayer SaffronMagnetTrainStationTeacherText
-SaffronTrainStationLassScript:
- jumptextfaceplayer SaffronTrainStationLassText
+SaffronMagnetTrainStationLassScript:
+ jumptextfaceplayer SaffronMagnetTrainStationLassText
MovementData_0x18a88f:
step UP
@@ -192,7 +192,7 @@ UnknownText_0x18aa61:
line "KANTO and JOHTO?"
done
-SaffronTrainStationTeacherText:
+SaffronMagnetTrainStationTeacherText:
text "Before the MAGNET"
line "TRAIN STATION was"
@@ -204,7 +204,7 @@ SaffronTrainStationTeacherText:
cont "to live there."
done
-SaffronTrainStationLassText:
+SaffronMagnetTrainStationLassText:
text "Hi. Do you have a"
line "rail PASS? I have"
@@ -215,7 +215,7 @@ SaffronTrainStationLassText:
line "TRAIN have PASSES."
done
-SaffronTrainStation_MapEventHeader:
+SaffronMagnetTrainStation_MapEvents:
; filler
db 0, 0
@@ -237,5 +237,5 @@ SaffronTrainStation_MapEventHeader:
db 4
object_event 9, 9, SPRITE_OFFICER, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, OfficerScript_0x18a81e, -1
object_event 10, 14, SPRITE_GYM_GUY, SPRITEMOVEDATA_WANDER, 1, 1, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GymGuyScript_0x18a875, -1
- object_event 6, 11, SPRITE_TEACHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SaffronTrainStationTeacherScript, EVENT_SAFFRON_TRAIN_STATION_POPULATION
- object_event 6, 10, SPRITE_LASS, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, SaffronTrainStationLassScript, EVENT_SAFFRON_TRAIN_STATION_POPULATION
+ object_event 6, 11, SPRITE_TEACHER, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, SaffronMagnetTrainStationTeacherScript, EVENT_SAFFRON_TRAIN_STATION_POPULATION
+ object_event 6, 10, SPRITE_LASS, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, PAL_NPC_GREEN, OBJECTTYPE_SCRIPT, 0, SaffronMagnetTrainStationLassScript, EVENT_SAFFRON_TRAIN_STATION_POPULATION
diff --git a/maps/SaffronTrainStation.blk b/maps/SaffronMagnetTrainStation.blk
index bdca20f29..bdca20f29 100644
--- a/maps/SaffronTrainStation.blk
+++ b/maps/SaffronMagnetTrainStation.blk
diff --git a/maps/SaffronMart.asm b/maps/SaffronMart.asm
index 34f936298..d7619320c 100644
--- a/maps/SaffronMart.asm
+++ b/maps/SaffronMart.asm
@@ -3,7 +3,7 @@ const_value set 2
const SAFFRONMART_COOLTRAINER_M
const SAFFRONMART_COOLTRAINER_F
-SaffronMart_MapScriptHeader:
+SaffronMart_MapScripts:
.SceneScripts:
db 0
@@ -37,7 +37,7 @@ SaffronMartCooltrainerFText:
line "how sometime?"
done
-SaffronMart_MapEventHeader:
+SaffronMart_MapEvents:
; filler
db 0, 0
diff --git a/maps/SaffronPokecenter1F.asm b/maps/SaffronPokecenter1F.asm
index 39d6ad8bb..d53fdb684 100644
--- a/maps/SaffronPokecenter1F.asm
+++ b/maps/SaffronPokecenter1F.asm
@@ -4,7 +4,7 @@ const_value set 2
const SAFFRONPOKECENTER1F_FISHER
const SAFFRONPOKECENTER1F_YOUNGSTER
-SaffronPokecenter1F_MapScriptHeader:
+SaffronPokecenter1F_MapScripts:
.SceneScripts:
db 0
@@ -15,7 +15,7 @@ NurseScript_0x18a47d:
jumpstd pokecenternurse
TeacherScript_0x18a480:
- special Mobile_DummyReturnFalse
+ special Special_Mobile_DummyReturnFalse
iftrue .mobile
jumptextfaceplayer UnknownText_0x18a4a3
@@ -111,7 +111,7 @@ SaffronPokecenter1FYoungsterText:
line "SAFFRON."
done
-SaffronPokecenter1F_MapEventHeader:
+SaffronPokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/SaffronPokecenter2FBeta.asm b/maps/SaffronPokecenter2FBeta.asm
index fd0835f50..ebc2bb6c8 100644
--- a/maps/SaffronPokecenter2FBeta.asm
+++ b/maps/SaffronPokecenter2FBeta.asm
@@ -1,11 +1,11 @@
-SaffronPokecenter2FBeta_MapScriptHeader:
+SaffronPokecenter2FBeta_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-SaffronPokecenter2FBeta_MapEventHeader:
+SaffronPokecenter2FBeta_MapEvents:
; filler
db 0, 0
diff --git a/maps/SeafoamGym.asm b/maps/SeafoamGym.asm
index f08ba0b8f..885d04c60 100644
--- a/maps/SeafoamGym.asm
+++ b/maps/SeafoamGym.asm
@@ -2,7 +2,7 @@ const_value set 2
const SEAFOAMGYM_BLAINE
const SEAFOAMGYM_GYM_GUY
-SeafoamGym_MapScriptHeader:
+SeafoamGym_MapScripts:
.SceneScripts:
db 1
scene_script .DummyScene
@@ -22,7 +22,7 @@ BlaineScript_0x1ab4fb:
waitbutton
closetext
winlosstext UnknownText_0x1ab646, 0
- loadtrainer BLAINE, 1
+ loadtrainer BLAINE, BLAINE1
startbattle
iftrue .ReturnAfterBattle
appear SEAFOAMGYM_GYM_GUY
@@ -157,7 +157,7 @@ SeafoamGymGuyWinText2:
line "for a building."
done
-SeafoamGym_MapEventHeader:
+SeafoamGym_MapEvents:
; filler
db 0, 0
diff --git a/maps/SilphCo1F.asm b/maps/SilphCo1F.asm
index f714ba24c..83c75ef6c 100644
--- a/maps/SilphCo1F.asm
+++ b/maps/SilphCo1F.asm
@@ -2,7 +2,7 @@ const_value set 2
const SILPHCO1F_RECEPTIONIST
const SILPHCO1F_OFFICER
-SilphCo1F_MapScriptHeader:
+SilphCo1F_MapScripts:
.SceneScripts:
db 0
@@ -55,7 +55,7 @@ UnknownText_0x18aca8:
line "anywhere yet."
done
-SilphCo1F_MapEventHeader:
+SilphCo1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/SilverCaveItemRooms.asm b/maps/SilverCaveItemRooms.asm
index 6a381bf3b..d218da44c 100644
--- a/maps/SilverCaveItemRooms.asm
+++ b/maps/SilverCaveItemRooms.asm
@@ -2,7 +2,7 @@ const_value set 2
const SILVERCAVEITEMROOMS_POKE_BALL1
const SILVERCAVEITEMROOMS_POKE_BALL2
-SilverCaveItemRooms_MapScriptHeader:
+SilverCaveItemRooms_MapScripts:
.SceneScripts:
db 0
@@ -15,7 +15,7 @@ SilverCaveItemRoomsMaxRevive:
SilverCaveItemRoomsFullRestore:
itemball FULL_RESTORE
-SilverCaveItemRooms_MapEventHeader:
+SilverCaveItemRooms_MapEvents:
; filler
db 0, 0
diff --git a/maps/SilverCaveOutside.asm b/maps/SilverCaveOutside.asm
index 52f1c1b16..3e51cf7b2 100644
--- a/maps/SilverCaveOutside.asm
+++ b/maps/SilverCaveOutside.asm
@@ -1,10 +1,10 @@
-SilverCaveOutside_MapScriptHeader:
+SilverCaveOutside_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
.FlyPoint:
setflag ENGINE_FLYPOINT_SILVER_CAVE
@@ -17,13 +17,13 @@ MtSilverSign:
jumptext MtSilverSignText
SilverCaveOutsideHiddenFullRestore:
- dwb EVENT_SILVER_CAVE_OUTSIDE_HIDDEN_FULL_RESTORE, FULL_RESTORE
+ hiddenitem EVENT_SILVER_CAVE_OUTSIDE_HIDDEN_FULL_RESTORE, FULL_RESTORE
MtSilverSignText:
text "MT.SILVER"
done
-SilverCaveOutside_MapEventHeader:
+SilverCaveOutside_MapEvents:
; filler
db 0, 0
diff --git a/maps/SilverCavePokecenter1F.asm b/maps/SilverCavePokecenter1F.asm
index 4363edcfc..76b1e744f 100644
--- a/maps/SilverCavePokecenter1F.asm
+++ b/maps/SilverCavePokecenter1F.asm
@@ -2,7 +2,7 @@ const_value set 2
const SILVERCAVEPOKECENTER1F_NURSE
const SILVERCAVEPOKECENTER1F_GRANNY
-SilverCavePokecenter1F_MapScriptHeader:
+SilverCavePokecenter1F_MapScripts:
.SceneScripts:
db 0
@@ -29,7 +29,7 @@ SilverCavePokecenter1FGrannyText:
line "anywhere…"
done
-SilverCavePokecenter1F_MapEventHeader:
+SilverCavePokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/SilverCaveRoom1.asm b/maps/SilverCaveRoom1.asm
index 7879184ee..fd04a1a6d 100644
--- a/maps/SilverCaveRoom1.asm
+++ b/maps/SilverCaveRoom1.asm
@@ -4,7 +4,7 @@ const_value set 2
const SILVERCAVEROOM1_POKE_BALL3
const SILVERCAVEROOM1_POKE_BALL4
-SilverCaveRoom1_MapScriptHeader:
+SilverCaveRoom1_MapScripts:
.SceneScripts:
db 0
@@ -24,14 +24,12 @@ SilverCaveRoom1UltraBall:
itemball ULTRA_BALL
SilverCaveRoom1HiddenDireHit:
- dwb EVENT_SILVER_CAVE_ROOM_1_HIDDEN_DIRE_HIT, DIRE_HIT
-
+ hiddenitem EVENT_SILVER_CAVE_ROOM_1_HIDDEN_DIRE_HIT, DIRE_HIT
SilverCaveRoom1HiddenUltraBall:
- dwb EVENT_SILVER_CAVE_ROOM_1_HIDDEN_ULTRA_BALL, ULTRA_BALL
-
+ hiddenitem EVENT_SILVER_CAVE_ROOM_1_HIDDEN_ULTRA_BALL, ULTRA_BALL
-SilverCaveRoom1_MapEventHeader:
+SilverCaveRoom1_MapEvents:
; filler
db 0, 0
diff --git a/maps/SilverCaveRoom2.asm b/maps/SilverCaveRoom2.asm
index ec33e2be8..eb6b9fd69 100644
--- a/maps/SilverCaveRoom2.asm
+++ b/maps/SilverCaveRoom2.asm
@@ -3,7 +3,7 @@ const_value set 2
const SILVERCAVEROOM2_POKE_BALL2
const SILVERCAVEROOM2_POKE_BALL3
-SilverCaveRoom2_MapScriptHeader:
+SilverCaveRoom2_MapScripts:
.SceneScripts:
db 0
@@ -20,10 +20,9 @@ SilverCaveRoom2PPUp:
itemball PP_UP
SilverCaveRoom2HiddenMaxPotion:
- dwb EVENT_SILVER_CAVE_ROOM_2_HIDDEN_MAX_POTION, MAX_POTION
+ hiddenitem EVENT_SILVER_CAVE_ROOM_2_HIDDEN_MAX_POTION, MAX_POTION
-
-SilverCaveRoom2_MapEventHeader:
+SilverCaveRoom2_MapEvents:
; filler
db 0, 0
diff --git a/maps/SilverCaveRoom3.asm b/maps/SilverCaveRoom3.asm
index 7daab6ba8..705ca0cc1 100644
--- a/maps/SilverCaveRoom3.asm
+++ b/maps/SilverCaveRoom3.asm
@@ -1,7 +1,7 @@
const_value set 2
const SILVERCAVEROOM3_RED
-SilverCaveRoom3_MapScriptHeader:
+SilverCaveRoom3_MapScripts:
.SceneScripts:
db 0
@@ -16,7 +16,7 @@ Red:
waitbutton
closetext
winlosstext .Text2, .Text2
- loadtrainer RED, 1
+ loadtrainer RED, RED1
startbattle
dontrestartmapmusic
reloadmapafterbattle
@@ -26,19 +26,19 @@ Red:
waitbutton
closetext
special Special_FadeBlackQuickly
- special Special_ReloadSpritesNoPalettes
+ special ReloadSpritesNoPalettes
disappear SILVERCAVEROOM3_RED
pause 15
special Special_FadeInQuickly
pause 30
special HealParty
- refreshscreen $0
+ refreshscreen
credits
end
.Text1:
- text $56
- line $56
+ text "<……>"
+ line "<……>"
done
.Text2:
@@ -46,11 +46,11 @@ Red:
done
.Text3:
- text $56
- line $56
+ text "<……>"
+ line "<……>"
done
-SilverCaveRoom3_MapEventHeader:
+SilverCaveRoom3_MapEvents:
; filler
db 0, 0
diff --git a/maps/SlowpokeWellB1F.asm b/maps/SlowpokeWellB1F.asm
index c4357abf1..4937a259f 100644
--- a/maps/SlowpokeWellB1F.asm
+++ b/maps/SlowpokeWellB1F.asm
@@ -9,7 +9,7 @@ const_value set 2
const SLOWPOKEWELLB1F_BOULDER
const SLOWPOKEWELLB1F_POKE_BALL
-SlowpokeWellB1F_MapScriptHeader:
+SlowpokeWellB1F_MapScripts:
.SceneScripts:
db 0
@@ -39,7 +39,7 @@ TrainerGruntM1:
waitbutton
closetext
special Special_FadeBlackQuickly
- special Special_ReloadSpritesNoPalettes
+ special ReloadSpritesNoPalettes
disappear SLOWPOKEWELLB1F_ROCKET1
disappear SLOWPOKEWELLB1F_ROCKET2
disappear SLOWPOKEWELLB1F_ROCKET3
@@ -47,7 +47,7 @@ TrainerGruntM1:
pause 15
special Special_FadeInQuickly
disappear SLOWPOKEWELLB1F_KURT
- moveobject SLOWPOKEWELLB1F_KURT, $b, $6
+ moveobject SLOWPOKEWELLB1F_KURT, 11, 6
appear SLOWPOKEWELLB1F_KURT
applymovement SLOWPOKEWELLB1F_KURT, KurtSlowpokeWellVictoryMovementData
spriteface PLAYER, RIGHT
@@ -57,7 +57,7 @@ TrainerGruntM1:
closetext
setevent EVENT_CLEARED_SLOWPOKE_WELL
variablesprite SPRITE_AZALEA_ROCKET, SPRITE_SILVER
- setmapscene AZALEA_TOWN, $1
+ setmapscene AZALEA_TOWN, 1
clearevent EVENT_ILEX_FOREST_APPRENTICE
clearevent EVENT_ILEX_FOREST_FARFETCHD
setevent EVENT_CHARCOAL_KILN_FARFETCH_D
@@ -67,10 +67,10 @@ TrainerGruntM1:
clearevent EVENT_AZALEA_TOWN_SLOWPOKES
clearevent EVENT_KURTS_HOUSE_SLOWPOKE
clearevent EVENT_KURTS_HOUSE_KURT_1
- special FadeOutPalettes
+ special Special_FadeOutPalettes
special HealParty
pause 15
- warp KURTS_HOUSE, $3, $3
+ warp KURTS_HOUSE, 3, 3
end
TrainerGruntM2:
@@ -320,7 +320,7 @@ SlowpokeWellB1FTaillessSlowpokeText:
line "its TAIL cut off…"
done
-SlowpokeWellB1F_MapEventHeader:
+SlowpokeWellB1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/SlowpokeWellB2F.asm b/maps/SlowpokeWellB2F.asm
index c30261b25..70fef8c70 100644
--- a/maps/SlowpokeWellB2F.asm
+++ b/maps/SlowpokeWellB2F.asm
@@ -2,7 +2,7 @@ const_value set 2
const SLOWPOKEWELLB2F_GYM_GUY
const SLOWPOKEWELLB2F_POKE_BALL
-SlowpokeWellB2F_MapScriptHeader:
+SlowpokeWellB2F_MapScripts:
.SceneScripts:
db 0
@@ -61,7 +61,7 @@ UnknownText_0x5adf2:
cont "one evolve."
done
-SlowpokeWellB2F_MapEventHeader:
+SlowpokeWellB2F_MapEvents:
; filler
db 0, 0
diff --git a/maps/SoulHouse.asm b/maps/SoulHouse.asm
index 4bd994c93..15ac8e2b3 100644
--- a/maps/SoulHouse.asm
+++ b/maps/SoulHouse.asm
@@ -4,7 +4,7 @@ const_value set 2
const SOULHOUSE_LASS
const SOULHOUSE_GRANNY
-SoulHouse_MapScriptHeader:
+SoulHouse_MapScripts:
.SceneScripts:
db 0
@@ -72,7 +72,7 @@ SoulHouseGrannyText:
line "my grandchildren…"
done
-SoulHouse_MapEventHeader:
+SoulHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/SproutTower1F.asm b/maps/SproutTower1F.asm
index cafee1eea..3f9887fe2 100644
--- a/maps/SproutTower1F.asm
+++ b/maps/SproutTower1F.asm
@@ -6,7 +6,7 @@ const_value set 2
const SPROUTTOWER1F_SAGE3
const SPROUTTOWER1F_POKE_BALL
-SproutTower1F_MapScriptHeader:
+SproutTower1F_MapScripts:
.SceneScripts:
db 0
@@ -102,7 +102,7 @@ UnknownText_0x1846d6:
line "distinguished."
done
-SproutTower1F_MapEventHeader:
+SproutTower1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/SproutTower2F.asm b/maps/SproutTower2F.asm
index bf3611ead..cd0c46fd7 100644
--- a/maps/SproutTower2F.asm
+++ b/maps/SproutTower2F.asm
@@ -3,7 +3,7 @@ const_value set 2
const SPROUTTOWER2F_SAGE2
const SPROUTTOWER2F_POKE_BALL
-SproutTower2F_MapScriptHeader:
+SproutTower2F_MapScripts:
.SceneScripts:
db 0
@@ -84,7 +84,7 @@ UnknownText_0x1848c8:
line "distinguished."
done
-SproutTower2F_MapEventHeader:
+SproutTower2F_MapEvents:
; filler
db 0, 0
diff --git a/maps/SproutTower3F.asm b/maps/SproutTower3F.asm
index 33dd4dcd8..2b459c55d 100644
--- a/maps/SproutTower3F.asm
+++ b/maps/SproutTower3F.asm
@@ -7,7 +7,7 @@ const_value set 2
const SPROUTTOWER3F_POKE_BALL2
const SPROUTTOWER3F_SILVER
-SproutTower3F_MapScriptHeader:
+SproutTower3F_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -55,11 +55,11 @@ UnknownScript_0x184947:
closetext
playsound SFX_WARP_TO
special Special_FadeBlackQuickly
- special Special_ReloadSpritesNoPalettes
+ special ReloadSpritesNoPalettes
disappear SPROUTTOWER3F_SILVER
waitsfx
special Special_FadeInQuickly
- setscene $1
+ setscene 1
special RestartMapMusic
end
@@ -329,7 +329,7 @@ UnknownText_0x184f61:
line "distinguished."
done
-SproutTower3F_MapEventHeader:
+SproutTower3F_MapEvents:
; filler
db 0, 0
diff --git a/maps/TeamRocketBaseB1F.asm b/maps/TeamRocketBaseB1F.asm
index 464215210..7ecb7b71a 100644
--- a/maps/TeamRocketBaseB1F.asm
+++ b/maps/TeamRocketBaseB1F.asm
@@ -6,14 +6,14 @@ const_value set 2
const TEAMROCKETBASEB1F_POKE_BALL2
const TEAMROCKETBASEB1F_POKE_BALL3
-TeamRocketBaseB1F_MapScriptHeader:
+TeamRocketBaseB1F_MapScripts:
.SceneScripts:
db 1
scene_script .DummyScene
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .HideSecurityGrunt
+ callback MAPCALLBACK_OBJECTS, .HideSecurityGrunt
.DummyScene:
end
@@ -30,20 +30,20 @@ SecurityCamera1a:
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- moveobject TEAMROCKETBASEB1F_ROCKET1, $13, $2
+ moveobject TEAMROCKETBASEB1F_ROCKET1, 19, 2
appear TEAMROCKETBASEB1F_ROCKET1
spriteface PLAYER, LEFT
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt1
- if_equal $1, NoSecurityCamera
+ if_equal TRUE, NoSecurityCamera
scall PlaySecurityCameraSounds
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- moveobject TEAMROCKETBASEB1F_ROCKET1, $13, $2
+ moveobject TEAMROCKETBASEB1F_ROCKET1, 19, 2
appear TEAMROCKETBASEB1F_ROCKET1
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt2
- if_equal $1, NoSecurityCamera
+ if_equal TRUE, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_1
end
@@ -55,20 +55,20 @@ SecurityCamera1b:
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- moveobject TEAMROCKETBASEB1F_ROCKET1, $13, $3
+ moveobject TEAMROCKETBASEB1F_ROCKET1, 19, 3
appear TEAMROCKETBASEB1F_ROCKET1
spriteface PLAYER, LEFT
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt1
- if_equal $1, NoSecurityCamera
+ if_equal TRUE, NoSecurityCamera
scall PlaySecurityCameraSounds
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- moveobject TEAMROCKETBASEB1F_ROCKET1, $13, $3
+ moveobject TEAMROCKETBASEB1F_ROCKET1, 19, 3
appear TEAMROCKETBASEB1F_ROCKET1
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt2
- if_equal $1, NoSecurityCamera
+ if_equal TRUE, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_1
end
@@ -80,21 +80,21 @@ SecurityCamera2a:
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- moveobject TEAMROCKETBASEB1F_ROCKET1, $4, $7
+ moveobject TEAMROCKETBASEB1F_ROCKET1, 4, 7
appear TEAMROCKETBASEB1F_ROCKET1
spriteface PLAYER, LEFT
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement2
scall TrainerCameraGrunt1
- if_equal $1, NoSecurityCamera
+ if_equal TRUE, NoSecurityCamera
scall PlaySecurityCameraSounds
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
spriteface PLAYER, RIGHT
- moveobject TEAMROCKETBASEB1F_ROCKET1, $c, $5
+ moveobject TEAMROCKETBASEB1F_ROCKET1, 12, 5
appear TEAMROCKETBASEB1F_ROCKET1
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement3
scall TrainerCameraGrunt2
- if_equal $1, NoSecurityCamera
+ if_equal TRUE, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_2
end
@@ -106,21 +106,21 @@ SecurityCamera2b:
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- moveobject TEAMROCKETBASEB1F_ROCKET1, $4, $8
+ moveobject TEAMROCKETBASEB1F_ROCKET1, 4, 8
appear TEAMROCKETBASEB1F_ROCKET1
spriteface PLAYER, LEFT
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement4
scall TrainerCameraGrunt1
- if_equal $1, NoSecurityCamera
+ if_equal TRUE, NoSecurityCamera
scall PlaySecurityCameraSounds
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
spriteface PLAYER, RIGHT
- moveobject TEAMROCKETBASEB1F_ROCKET1, $c, $5
+ moveobject TEAMROCKETBASEB1F_ROCKET1, 12, 5
appear TEAMROCKETBASEB1F_ROCKET1
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement5
scall TrainerCameraGrunt2
- if_equal $1, NoSecurityCamera
+ if_equal TRUE, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_2
end
@@ -132,21 +132,21 @@ SecurityCamera3a:
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- moveobject TEAMROCKETBASEB1F_ROCKET1, $13, $6
+ moveobject TEAMROCKETBASEB1F_ROCKET1, 19, 6
appear TEAMROCKETBASEB1F_ROCKET1
spriteface PLAYER, LEFT
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt1
- if_equal $1, NoSecurityCamera
+ if_equal TRUE, NoSecurityCamera
scall PlaySecurityCameraSounds
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
spriteface PLAYER, RIGHT
- moveobject TEAMROCKETBASEB1F_ROCKET1, $19, $b
+ moveobject TEAMROCKETBASEB1F_ROCKET1, 25, 11
appear TEAMROCKETBASEB1F_ROCKET1
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement6
scall TrainerCameraGrunt2
- if_equal $1, NoSecurityCamera
+ if_equal TRUE, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_3
end
@@ -158,21 +158,21 @@ SecurityCamera3b:
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- moveobject TEAMROCKETBASEB1F_ROCKET1, $13, $7
+ moveobject TEAMROCKETBASEB1F_ROCKET1, 19, 7
appear TEAMROCKETBASEB1F_ROCKET1
spriteface PLAYER, LEFT
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt1
- if_equal $1, NoSecurityCamera
+ if_equal TRUE, NoSecurityCamera
scall PlaySecurityCameraSounds
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
spriteface PLAYER, RIGHT
- moveobject TEAMROCKETBASEB1F_ROCKET1, $19, $c
+ moveobject TEAMROCKETBASEB1F_ROCKET1, 25, 12
appear TEAMROCKETBASEB1F_ROCKET1
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement7
scall TrainerCameraGrunt2
- if_equal $1, NoSecurityCamera
+ if_equal TRUE, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_3
end
@@ -184,21 +184,21 @@ SecurityCamera4:
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- moveobject TEAMROCKETBASEB1F_ROCKET1, $11, $10
+ moveobject TEAMROCKETBASEB1F_ROCKET1, 17, 16
appear TEAMROCKETBASEB1F_ROCKET1
spriteface PLAYER, LEFT
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt1
- if_equal $1, NoSecurityCamera
+ if_equal TRUE, NoSecurityCamera
scall PlaySecurityCameraSounds
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
spriteface PLAYER, RIGHT
- moveobject TEAMROCKETBASEB1F_ROCKET1, $19, $b
+ moveobject TEAMROCKETBASEB1F_ROCKET1, 25, 11
appear TEAMROCKETBASEB1F_ROCKET1
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement8
scall TrainerCameraGrunt2
- if_equal $1, NoSecurityCamera
+ if_equal TRUE, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_4
end
@@ -210,21 +210,21 @@ SecurityCamera5:
iftrue NoSecurityCamera
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
- moveobject TEAMROCKETBASEB1F_ROCKET1, $3, $10
+ moveobject TEAMROCKETBASEB1F_ROCKET1, 3, 16
appear TEAMROCKETBASEB1F_ROCKET1
spriteface PLAYER, LEFT
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement1
scall TrainerCameraGrunt1
- if_equal $1, NoSecurityCamera
+ if_equal TRUE, NoSecurityCamera
scall PlaySecurityCameraSounds
showemote EMOTE_SHOCK, PLAYER, 15
playmusic MUSIC_ROCKET_ENCOUNTER
spriteface PLAYER, RIGHT
- moveobject TEAMROCKETBASEB1F_ROCKET1, $e, $10
+ moveobject TEAMROCKETBASEB1F_ROCKET1, 14, 16
appear TEAMROCKETBASEB1F_ROCKET1
applymovement TEAMROCKETBASEB1F_ROCKET1, SecurityCameraMovement9
scall TrainerCameraGrunt2
- if_equal $1, NoSecurityCamera
+ if_equal TRUE, NoSecurityCamera
setevent EVENT_SECURITY_CAMERA_5
end
@@ -448,9 +448,9 @@ ExplodingTrap22:
end
VoltorbExplodingTrap:
- special FadeOutPalettes
+ special Special_FadeOutPalettes
cry VOLTORB
- special FadeInPalettes
+ special Special_FadeInPalettes
setlasttalked -1
writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
loadwildmon VOLTORB, 23
@@ -458,9 +458,9 @@ VoltorbExplodingTrap:
end
GeodudeExplodingTrap:
- special FadeOutPalettes
+ special Special_FadeOutPalettes
cry GEODUDE
- special FadeInPalettes
+ special Special_FadeInPalettes
setlasttalked -1
writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
loadwildmon GEODUDE, 21
@@ -468,9 +468,9 @@ GeodudeExplodingTrap:
end
KoffingExplodingTrap:
- special FadeOutPalettes
+ special Special_FadeOutPalettes
cry KOFFING
- special FadeInPalettes
+ special Special_FadeInPalettes
setlasttalked -1
writecode VAR_BATTLETYPE, BATTLETYPE_TRAP
loadwildmon KOFFING, 21
@@ -540,8 +540,7 @@ TeamRocketBaseB1FGuardSpec:
itemball GUARD_SPEC
TeamRocketBaseB1FHiddenRevive:
- dwb EVENT_TEAM_ROCKET_BASE_B1F_HIDDEN_REVIVE, REVIVE
-
+ hiddenitem EVENT_TEAM_ROCKET_BASE_B1F_HIDDEN_REVIVE, REVIVE
SecurityCameraMovement1:
big_step RIGHT
@@ -727,7 +726,7 @@ UnknownText_0x6cdd0:
line "turned off."
done
-TeamRocketBaseB1F_MapEventHeader:
+TeamRocketBaseB1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/TeamRocketBaseB2F.asm b/maps/TeamRocketBaseB2F.asm
index 0ed2c67f0..abfd227a1 100644
--- a/maps/TeamRocketBaseB2F.asm
+++ b/maps/TeamRocketBaseB2F.asm
@@ -14,7 +14,7 @@ const_value set 2
const TEAMROCKETBASEB2F_ROCKET4
const TEAMROCKETBASEB2F_POKE_BALL
-TeamRocketBaseB2F_MapScriptHeader:
+TeamRocketBaseB2F_MapScripts:
.SceneScripts:
db 4
scene_script .DummyScene0
@@ -24,7 +24,7 @@ TeamRocketBaseB2F_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_TILES, .TransmitterDoorCallback
+ callback MAPCALLBACK_TILES, .TransmitterDoorCallback
.DummyScene0:
end
@@ -40,22 +40,22 @@ TeamRocketBaseB2F_MapScriptHeader:
.TransmitterDoorCallback:
checkevent EVENT_OPENED_DOOR_TO_ROCKET_HIDEOUT_TRANSMITTER
- iftrue .Change
+ iftrue .OpenDoor
return
-.Change:
- changeblock $e, $c, $7
+.OpenDoor:
+ changeblock 14, 12, $07 ; floor
return
UnknownScript_0x6cf95:
- moveobject TEAMROCKETBASEB2F_LANCE, $9, $d
+ moveobject TEAMROCKETBASEB2F_LANCE, 9, 13
jump UnknownScript_0x6cfac
UnknownScript_0x6cf9c:
- moveobject TEAMROCKETBASEB2F_ROCKET_GIRL, $15, $10
- moveobject TEAMROCKETBASEB2F_ROCKET1, $15, $10
- moveobject TEAMROCKETBASEB2F_DRAGON, $a, $d
- moveobject TEAMROCKETBASEB2F_LANCE, $a, $d
+ moveobject TEAMROCKETBASEB2F_ROCKET_GIRL, 21, 16
+ moveobject TEAMROCKETBASEB2F_ROCKET1, 21, 16
+ moveobject TEAMROCKETBASEB2F_DRAGON, 10, 13
+ moveobject TEAMROCKETBASEB2F_LANCE, 10, 13
UnknownScript_0x6cfac:
appear TEAMROCKETBASEB2F_ROCKET_GIRL
appear TEAMROCKETBASEB2F_ROCKET1
@@ -110,7 +110,7 @@ UnknownScript_0x6cfac:
waitbutton
closetext
special Special_FadeBlackQuickly
- special Special_ReloadSpritesNoPalettes
+ special ReloadSpritesNoPalettes
disappear TEAMROCKETBASEB2F_ROCKET1
disappear TEAMROCKETBASEB2F_ROCKET_GIRL
disappear TEAMROCKETBASEB2F_ROCKET2
@@ -118,7 +118,7 @@ UnknownScript_0x6cfac:
disappear TEAMROCKETBASEB2F_ROCKET4
pause 15
special Special_FadeInQuickly
- setscene $2
+ setscene 2
clearevent EVENT_TEAM_ROCKET_BASE_B2F_LANCE
spriteface TEAMROCKETBASEB2F_LANCE, DOWN
opentext
@@ -166,16 +166,16 @@ LanceHealsCommon:
writetext LanceHealsText1
waitbutton
closetext
- special FadeOutPalettes
- special TrainerRankings_Healings
+ special Special_FadeOutPalettes
+ special Special_StubbedTrainerRankings_Healings
playsound SFX_FULL_HEAL
special HealParty
- special FadeInPalettes
+ special Special_FadeInPalettes
opentext
writetext LanceHealsText2
waitbutton
closetext
- setscene $1
+ setscene 1
setevent EVENT_LANCE_HEALED_YOU_IN_TEAM_ROCKET_BASE
checkcode VAR_FACING
if_equal RIGHT, UnknownScript_0x6d0be
@@ -280,7 +280,7 @@ UnknownScript_0x6d182:
end
UnknownScript_0x6d184:
- moveobject TEAMROCKETBASEB2F_LANCE, $12, $6
+ moveobject TEAMROCKETBASEB2F_LANCE, 18, 6
appear TEAMROCKETBASEB2F_LANCE
applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d27a
spriteface PLAYER, RIGHT
@@ -304,7 +304,7 @@ UnknownScript_0x6d184:
clearflag ENGINE_ROCKET_SIGNAL_ON_CH20
setevent EVENT_ROUTE_43_GATE_ROCKETS
setevent EVENT_MAHOGANY_TOWN_POKEFAN_M_BLOCKS_GYM
- setscene $3
+ setscene 3
clearevent EVENT_LAKE_OF_RAGE_CIVILIANS
setevent EVENT_TURNED_OFF_SECURITY_CAMERAS
setevent EVENT_SECURITY_CAMERA_1
@@ -315,7 +315,7 @@ UnknownScript_0x6d184:
end
TeamRocketBaseB2FLockedDoor:
- dw EVENT_OPENED_DOOR_TO_ROCKET_HIDEOUT_TRANSMITTER, .Script
+ conditional_event EVENT_OPENED_DOOR_TO_ROCKET_HIDEOUT_TRANSMITTER, .Script
.Script:
opentext
@@ -330,7 +330,7 @@ UnknownScript_0x6d1e8:
writetext UnknownText_0x6dd6b
waitbutton
playsound SFX_ENTER_DOOR
- changeblock $e, $c, $7
+ changeblock 14, 12, $07 ; floor
reloadmappart
closetext
setevent EVENT_OPENED_DOOR_TO_ROCKET_HIDEOUT_TRANSMITTER
@@ -356,8 +356,7 @@ TeamRocketBaseB2FTMThief:
itemball TM_THIEF
TeamRocketBaseB2FHiddenFullHeal:
- dwb EVENT_TEAM_ROCKET_BASE_B2F_HIDDEN_FULL_HEAL, FULL_HEAL
-
+ hiddenitem EVENT_TEAM_ROCKET_BASE_B2F_HIDDEN_FULL_HEAL, FULL_HEAL
MovementData_0x6d212:
step RIGHT
@@ -414,9 +413,9 @@ MovementData_0x6d236:
MovementData_0x6d23b:
fix_facing
- db $39 ; movement
+ set_sliding
jump_step RIGHT
- db $38 ; movement
+ remove_sliding
remove_fixed_facing
step_end
@@ -909,7 +908,7 @@ UnknownText_0x6de03:
line "broadcast."
done
-TeamRocketBaseB2F_MapEventHeader:
+TeamRocketBaseB2F_MapEvents:
; filler
db 0, 0
diff --git a/maps/TeamRocketBaseB3F.asm b/maps/TeamRocketBaseB3F.asm
index 63729ce63..3f7fe5d39 100644
--- a/maps/TeamRocketBaseB3F.asm
+++ b/maps/TeamRocketBaseB3F.asm
@@ -14,7 +14,7 @@ const_value set 2
const TEAMROCKETBASEB3F_POKE_BALL4
const TEAMROCKETBASEB3F_POKE_BALL5
-TeamRocketBaseB3F_MapScriptHeader:
+TeamRocketBaseB3F_MapScripts:
.SceneScripts:
db 4
scene_script .LanceGetsPassword
@@ -24,7 +24,7 @@ TeamRocketBaseB3F_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_TILES, .CheckGiovanniDoor
+ callback MAPCALLBACK_TILES, .CheckGiovanniDoor
.LanceGetsPassword:
priorityjump LanceGetPasswordScript
@@ -45,7 +45,7 @@ TeamRocketBaseB3F_MapScriptHeader:
return
.OpenSesame:
- changeblock $a, $8, $7
+ changeblock 10, 8, $07 ; floor
return
LanceGetPasswordScript:
@@ -60,7 +60,7 @@ LanceGetPasswordScript:
closetext
applymovement TEAMROCKETBASEB3F_LANCE, MovementData_0x6e12c
disappear TEAMROCKETBASEB3F_LANCE
- setscene $1
+ setscene 1
end
RocketBaseRival:
@@ -79,7 +79,7 @@ RocketBaseRival:
applymovement PLAYER, RocketBaseRivalShovesPlayerMovement
applymovement TEAMROCKETBASEB3F_SILVER, RocketBaseRivalLeaveMovement
disappear TEAMROCKETBASEB3F_SILVER
- setscene $2
+ setscene 2
special RestartMapMusic
end
@@ -116,7 +116,7 @@ UnknownScript_0x6e056:
playsound SFX_TACKLE
applymovement TEAMROCKETBASEB3F_ROCKET1, MovementData_0x6e147
disappear TEAMROCKETBASEB3F_ROCKET1
- setscene $3
+ setscene 3
end
RocketBaseMurkrow:
@@ -174,7 +174,7 @@ TrainerScientistMitch:
end
TeamRocketBaseB3FLockedDoor:
- dw EVENT_OPENED_DOOR_TO_GIOVANNIS_OFFICE, .Script
+ conditional_event EVENT_OPENED_DOOR_TO_GIOVANNIS_OFFICE, .Script
.Script:
opentext
@@ -194,7 +194,7 @@ TeamRocketBaseB3FLockedDoor:
writetext UnknownText_0x6e9a3
waitbutton
playsound SFX_ENTER_DOOR
- changeblock $a, $8, $7
+ changeblock 10, 8, $07 ; floor
reloadmappart
closetext
setevent EVENT_OPENED_DOOR_TO_GIOVANNIS_OFFICE
@@ -565,7 +565,7 @@ UnknownText_0x6e9a3:
para "The door opened!"
done
-TeamRocketBaseB3F_MapEventHeader:
+TeamRocketBaseB3F_MapEvents:
; filler
db 0, 0
diff --git a/maps/TimeCapsule.asm b/maps/TimeCapsule.asm
index c24c1606a..cb3d5f3a8 100644
--- a/maps/TimeCapsule.asm
+++ b/maps/TimeCapsule.asm
@@ -2,7 +2,7 @@ const_value set 2
const TIMECAPSULE_CHRIS1
const TIMECAPSULE_CHRIS2
-TimeCapsule_MapScriptHeader:
+TimeCapsule_MapScripts:
.SceneScripts:
db 2
scene_script .InitializeTimeCapsule
@@ -10,7 +10,7 @@ TimeCapsule_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .SetWhichChris
+ callback MAPCALLBACK_OBJECTS, .SetWhichChris
.InitializeTimeCapsule:
priorityjump .InitializeAndPreparePokecenter2F
@@ -32,8 +32,8 @@ TimeCapsule_MapScriptHeader:
return
.InitializeAndPreparePokecenter2F:
- setscene $1
- setmapscene POKECENTER_2F, $3
+ setscene 1
+ setmapscene POKECENTER_2F, 3
end
MapTimeCapsuleSignpost1Script:
@@ -53,7 +53,7 @@ UnknownText_0x193521:
line "ready."
done
-TimeCapsule_MapEventHeader:
+TimeCapsule_MapEvents:
; filler
db 0, 0
diff --git a/maps/TinTower1F.asm b/maps/TinTower1F.asm
index ab23a7b3e..cd20d59b2 100644
--- a/maps/TinTower1F.asm
+++ b/maps/TinTower1F.asm
@@ -10,7 +10,7 @@ const_value set 2
const TINTOWER1F_SAGE5
const TINTOWER1F_SAGE6
-TinTower1F_MapScriptHeader:
+TinTower1F_MapScripts:
.SceneScripts:
db 2
scene_script .FaceSuicune
@@ -18,8 +18,8 @@ TinTower1F_MapScriptHeader:
.MapCallbacks:
db 2
- dbw MAPCALLBACK_OBJECTS, .NPCsCallback
- dbw MAPCALLBACK_TILES, .StairsCallback
+ callback MAPCALLBACK_OBJECTS, .NPCsCallback
+ callback MAPCALLBACK_TILES, .StairsCallback
.FaceSuicune:
priorityjump .SuicuneBattle
@@ -33,7 +33,7 @@ TinTower1F_MapScriptHeader:
iftrue .GotRainbowWing
checkevent EVENT_BEAT_ELITE_FOUR
iffalse .FaceBeasts
- special SpecialBeastsCheck
+ special Special_BeastsCheck
iffalse .FaceBeasts
clearevent EVENT_TIN_TOWER_1F_WISE_TRIO_2
setevent EVENT_TIN_TOWER_1F_WISE_TRIO_1
@@ -49,7 +49,7 @@ TinTower1F_MapScriptHeader:
iftrue .FoughtSuicune
appear TINTOWER1F_SUICUNE
writebyte RAIKOU
- special SpecialMonCheck
+ special Special_MonCheck
iftrue .NoRaikou
appear TINTOWER1F_RAIKOU
jump .CheckEntei
@@ -58,7 +58,7 @@ TinTower1F_MapScriptHeader:
disappear TINTOWER1F_RAIKOU
.CheckEntei:
writebyte ENTEI
- special SpecialMonCheck
+ special Special_MonCheck
iftrue .NoEntei
appear TINTOWER1F_ENTEI
jump .BeastsDone
@@ -79,7 +79,7 @@ TinTower1F_MapScriptHeader:
.StairsCallback:
checkevent EVENT_GOT_RAINBOW_WING
iftrue .DontHideStairs
- changeblock $a, $2, $9
+ changeblock 10, 2, $09 ; floor
.DontHideStairs:
return
@@ -87,7 +87,7 @@ TinTower1F_MapScriptHeader:
applymovement PLAYER, TinTowerPlayerMovement1
pause 15
writebyte RAIKOU
- special SpecialMonCheck
+ special Special_MonCheck
iftrue .Next1 ; if player caught Raikou, he doesn't appear in Tin Tower
applymovement TINTOWER1F_RAIKOU, TinTowerRaikouMovement1
spriteface PLAYER, LEFT
@@ -100,7 +100,7 @@ TinTower1F_MapScriptHeader:
waitsfx
.Next1:
writebyte ENTEI
- special SpecialMonCheck
+ special Special_MonCheck
iftrue .Next2 ; if player caught Entei, he doesn't appear in Tin Tower
applymovement TINTOWER1F_ENTEI, TinTowerEnteiMovement1
spriteface PLAYER, RIGHT
@@ -125,36 +125,36 @@ TinTower1F_MapScriptHeader:
disappear TINTOWER1F_SUICUNE
setevent EVENT_FOUGHT_SUICUNE
setevent EVENT_SAW_SUICUNE_ON_ROUTE_42
- setmapscene ROUTE_42, $0
+ setmapscene ROUTE_42, 0
setevent EVENT_SAW_SUICUNE_ON_ROUTE_36
- setmapscene ROUTE_36, $0
+ setmapscene ROUTE_36, 0
setevent EVENT_SAW_SUICUNE_AT_CIANWOOD_CITY
- setmapscene CIANWOOD_CITY, $0
- setscene $1
+ setmapscene CIANWOOD_CITY, 0
+ setscene 1
clearevent EVENT_SET_WHEN_FOUGHT_HO_OH
reloadmapafterbattle
pause 20
spriteface PLAYER, DOWN
playmusic MUSIC_MYSTICALMAN_ENCOUNTER
playsound SFX_ENTER_DOOR
- moveobject TINTOWER1F_EUSINE, $a, $f
+ moveobject TINTOWER1F_EUSINE, 10, 15
appear TINTOWER1F_EUSINE
applymovement TINTOWER1F_EUSINE, MovementData_0x1851ec
playsound SFX_ENTER_DOOR
- moveobject TINTOWER1F_SAGE1, $9, $f
+ moveobject TINTOWER1F_SAGE1, 9, 15
appear TINTOWER1F_SAGE1
applymovement TINTOWER1F_SAGE1, MovementData_0x1851f5
playsound SFX_ENTER_DOOR
- moveobject TINTOWER1F_SAGE2, $9, $f
+ moveobject TINTOWER1F_SAGE2, 9, 15
appear TINTOWER1F_SAGE2
applymovement TINTOWER1F_SAGE2, MovementData_0x1851fb
playsound SFX_ENTER_DOOR
- moveobject TINTOWER1F_SAGE3, $9, $f
+ moveobject TINTOWER1F_SAGE3, 9, 15
appear TINTOWER1F_SAGE3
applymovement TINTOWER1F_SAGE3, MovementData_0x1851fe
- moveobject TINTOWER1F_SAGE1, $7, $d
- moveobject TINTOWER1F_SAGE2, $9, $d
- moveobject TINTOWER1F_SAGE3, $b, $d
+ moveobject TINTOWER1F_SAGE1, 7, 13
+ moveobject TINTOWER1F_SAGE2, 9, 13
+ moveobject TINTOWER1F_SAGE3, 11, 13
spriteface PLAYER, RIGHT
opentext
writetext TinTowerEusineSuicuneText
@@ -197,11 +197,11 @@ TinTower1FSage5Script:
buttonsound
verbosegiveitem RAINBOW_WING
closetext
- refreshscreen $0
+ refreshscreen
earthquake 72
waitsfx
playsound SFX_STRENGTH
- changeblock $a, $2, $20
+ changeblock 10, 2, $20 ; stairs
reloadmappart
setevent EVENT_GOT_RAINBOW_WING
closetext
@@ -522,7 +522,7 @@ TinTower1FSage6Text2:
line "with SUICUNE."
done
-TinTower1F_MapEventHeader:
+TinTower1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/TinTower2F.asm b/maps/TinTower2F.asm
index d980cc891..02012d6f8 100644
--- a/maps/TinTower2F.asm
+++ b/maps/TinTower2F.asm
@@ -1,11 +1,11 @@
-TinTower2F_MapScriptHeader:
+TinTower2F_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-TinTower2F_MapEventHeader:
+TinTower2F_MapEvents:
; filler
db 0, 0
diff --git a/maps/TinTower3F.asm b/maps/TinTower3F.asm
index 7e6263538..505073594 100644
--- a/maps/TinTower3F.asm
+++ b/maps/TinTower3F.asm
@@ -1,7 +1,7 @@
const_value set 2
const TINTOWER3F_POKE_BALL
-TinTower3F_MapScriptHeader:
+TinTower3F_MapScripts:
.SceneScripts:
db 0
@@ -11,7 +11,7 @@ TinTower3F_MapScriptHeader:
TinTower3FFullHeal:
itemball FULL_HEAL
-TinTower3F_MapEventHeader:
+TinTower3F_MapEvents:
; filler
db 0, 0
diff --git a/maps/TinTower4F.asm b/maps/TinTower4F.asm
index 34d1be488..67fd4fda6 100644
--- a/maps/TinTower4F.asm
+++ b/maps/TinTower4F.asm
@@ -3,7 +3,7 @@ const_value set 2
const TINTOWER4F_POKE_BALL2
const TINTOWER4F_POKE_BALL3
-TinTower4F_MapScriptHeader:
+TinTower4F_MapScripts:
.SceneScripts:
db 0
@@ -20,10 +20,9 @@ TinTower4FEscapeRope:
itemball ESCAPE_ROPE
TinTower4FHiddenMaxPotion:
- dwb EVENT_TIN_TOWER_4F_HIDDEN_MAX_POTION, MAX_POTION
+ hiddenitem EVENT_TIN_TOWER_4F_HIDDEN_MAX_POTION, MAX_POTION
-
-TinTower4F_MapEventHeader:
+TinTower4F_MapEvents:
; filler
db 0, 0
diff --git a/maps/TinTower5F.asm b/maps/TinTower5F.asm
index d8991932c..ee2980b33 100644
--- a/maps/TinTower5F.asm
+++ b/maps/TinTower5F.asm
@@ -1,7 +1,7 @@
const_value set 2
const TINTOWER5F_POKE_BALL
-TinTower5F_MapScriptHeader:
+TinTower5F_MapScripts:
.SceneScripts:
db 0
@@ -12,14 +12,12 @@ TinTower5FRareCandy:
itemball RARE_CANDY
TinTower5FHiddenFullRestore:
- dwb EVENT_TIN_TOWER_5F_HIDDEN_FULL_RESTORE, FULL_RESTORE
-
+ hiddenitem EVENT_TIN_TOWER_5F_HIDDEN_FULL_RESTORE, FULL_RESTORE
TinTower5FHiddenCarbos:
- dwb EVENT_TIN_TOWER_5F_HIDDEN_CARBOS, CARBOS
-
+ hiddenitem EVENT_TIN_TOWER_5F_HIDDEN_CARBOS, CARBOS
-TinTower5F_MapEventHeader:
+TinTower5F_MapEvents:
; filler
db 0, 0
diff --git a/maps/TinTower6F.asm b/maps/TinTower6F.asm
index 025ee8988..5d587373d 100644
--- a/maps/TinTower6F.asm
+++ b/maps/TinTower6F.asm
@@ -1,7 +1,7 @@
const_value set 2
const TINTOWER6F_POKE_BALL
-TinTower6F_MapScriptHeader:
+TinTower6F_MapScripts:
.SceneScripts:
db 0
@@ -11,7 +11,7 @@ TinTower6F_MapScriptHeader:
TinTower6FMaxPotion:
itemball MAX_POTION
-TinTower6F_MapEventHeader:
+TinTower6F_MapEvents:
; filler
db 0, 0
diff --git a/maps/TinTower7F.asm b/maps/TinTower7F.asm
index 981e247d1..ab10bf4c2 100644
--- a/maps/TinTower7F.asm
+++ b/maps/TinTower7F.asm
@@ -1,7 +1,7 @@
const_value set 2
const TINTOWER7F_POKE_BALL
-TinTower7F_MapScriptHeader:
+TinTower7F_MapScripts:
.SceneScripts:
db 0
@@ -11,7 +11,7 @@ TinTower7F_MapScriptHeader:
TinTower7FMaxRevive:
itemball MAX_REVIVE
-TinTower7F_MapEventHeader:
+TinTower7F_MapEvents:
; filler
db 0, 0
diff --git a/maps/TinTower8F.asm b/maps/TinTower8F.asm
index d8413bd0b..4e10ac13f 100644
--- a/maps/TinTower8F.asm
+++ b/maps/TinTower8F.asm
@@ -3,7 +3,7 @@ const_value set 2
const TINTOWER8F_POKE_BALL2
const TINTOWER8F_POKE_BALL3
-TinTower8F_MapScriptHeader:
+TinTower8F_MapScripts:
.SceneScripts:
db 0
@@ -19,7 +19,7 @@ TinTower8FMaxElixer:
TinTower8FFullRestore:
itemball FULL_RESTORE
-TinTower8F_MapEventHeader:
+TinTower8F_MapEvents:
; filler
db 0, 0
diff --git a/maps/TinTower9F.asm b/maps/TinTower9F.asm
index 5b3280474..a540b891f 100644
--- a/maps/TinTower9F.asm
+++ b/maps/TinTower9F.asm
@@ -1,7 +1,7 @@
const_value set 2
const TINTOWER9F_POKE_BALL
-TinTower9F_MapScriptHeader:
+TinTower9F_MapScripts:
.SceneScripts:
db 0
@@ -21,7 +21,7 @@ TinTower9FUnusedLugiaText:
text "LUGIA: Gyaaan!"
done
-TinTower9F_MapEventHeader:
+TinTower9F_MapEvents:
; filler
db 0, 0
diff --git a/maps/TinTowerRoof.asm b/maps/TinTowerRoof.asm
index 8d5eed029..3cfca7cf9 100644
--- a/maps/TinTowerRoof.asm
+++ b/maps/TinTowerRoof.asm
@@ -1,13 +1,13 @@
const_value set 2
const TINTOWERROOF_HO_OH
-TinTowerRoof_MapScriptHeader:
+TinTowerRoof_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .HoOh
+ callback MAPCALLBACK_OBJECTS, .HoOh
.HoOh:
checkevent EVENT_FOUGHT_HO_OH
@@ -44,7 +44,7 @@ HoOhText:
text "Shaoooh!"
done
-TinTowerRoof_MapEventHeader:
+TinTowerRoof_MapEvents:
; filler
db 0, 0
diff --git a/maps/TohjoFalls.asm b/maps/TohjoFalls.asm
index 18d55bd3a..c9982b094 100644
--- a/maps/TohjoFalls.asm
+++ b/maps/TohjoFalls.asm
@@ -1,7 +1,7 @@
const_value set 2
const TOHJOFALLS_POKE_BALL
-TohjoFalls_MapScriptHeader:
+TohjoFalls_MapScripts:
.SceneScripts:
db 0
@@ -11,7 +11,7 @@ TohjoFalls_MapScriptHeader:
TohjoFallsMoonStone:
itemball MOON_STONE
-TohjoFalls_MapEventHeader:
+TohjoFalls_MapEvents:
; filler
db 0, 0
diff --git a/maps/TradeCenter.asm b/maps/TradeCenter.asm
index fe9e43ce4..62232df4f 100644
--- a/maps/TradeCenter.asm
+++ b/maps/TradeCenter.asm
@@ -2,7 +2,7 @@ const_value set 2
const TRADECENTER_CHRIS1
const TRADECENTER_CHRIS2
-TradeCenter_MapScriptHeader:
+TradeCenter_MapScripts:
.SceneScripts:
db 2
scene_script .InitializeTradeCenter
@@ -10,7 +10,7 @@ TradeCenter_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .SetWhichChris
+ callback MAPCALLBACK_OBJECTS, .SetWhichChris
.InitializeTradeCenter:
priorityjump .InitializeAndPreparePokecenter2F
@@ -32,8 +32,8 @@ TradeCenter_MapScriptHeader:
return
.InitializeAndPreparePokecenter2F:
- setscene $1
- setmapscene POKECENTER_2F, $1
+ setscene 1
+ setmapscene POKECENTER_2F, 1
end
MapTradeCenterSignpost1Script:
@@ -53,7 +53,7 @@ ChrisScript_0x19340b:
line "ready."
done
-TradeCenter_MapEventHeader:
+TradeCenter_MapEvents:
; filler
db 0, 0
diff --git a/maps/TrainerHouse1F.asm b/maps/TrainerHouse1F.asm
index bcfb08bb0..d3fcfca04 100644
--- a/maps/TrainerHouse1F.asm
+++ b/maps/TrainerHouse1F.asm
@@ -5,7 +5,7 @@ const_value set 2
const TRAINERHOUSE1F_YOUNGSTER
const TRAINERHOUSE1F_GENTLEMAN
-TrainerHouse1F_MapScriptHeader:
+TrainerHouse1F_MapScripts:
.SceneScripts:
db 0
@@ -137,7 +137,7 @@ UnknownText_0x9b2c1:
line "illegible…"
done
-TrainerHouse1F_MapEventHeader:
+TrainerHouse1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/TrainerHouseB1F.asm b/maps/TrainerHouseB1F.asm
index c4219a991..bb6fd4316 100644
--- a/maps/TrainerHouseB1F.asm
+++ b/maps/TrainerHouseB1F.asm
@@ -2,7 +2,7 @@ const_value set 2
const TRAINERHOUSEB1F_RECEPTIONIST
const TRAINERHOUSEB1F_CHRIS
-TrainerHouseB1F_MapScriptHeader:
+TrainerHouseB1F_MapScripts:
.SceneScripts:
db 1
scene_script .DummyScene
@@ -20,13 +20,13 @@ TrainerHouseReceptionistScript:
iftrue .FoughtTooManyTimes
writetext TrainerHouseB1FIntroText
buttonsound
- special SpecialTrainerHouse
+ special Special_TrainerHouse
iffalse .GetCal3Name
- trainertotext CAL, CAL2, $0
+ trainertotext CAL, CAL2, MEM_BUFFER_0
jump .GotName
.GetCal3Name:
- trainertotext CAL, CAL3, $0
+ trainertotext CAL, CAL3, MEM_BUFFER_0
.GotName:
writetext TrainerHouseB1FYourOpponentIsText
buttonsound
@@ -42,7 +42,7 @@ TrainerHouseReceptionistScript:
writetext TrainerHouseB1FCalBeforeText
waitbutton
closetext
- special SpecialTrainerHouse
+ special Special_TrainerHouse
iffalse .NoSpecialBattle
winlosstext TrainerHouseB1FCalBeatenText, 0
setlasttalked TRAINERHOUSEB1F_CHRIS
@@ -169,7 +169,7 @@ TrainerHouseB1FCalBeforeText:
cont "could battle you."
done
-TrainerHouseB1F_MapEventHeader:
+TrainerHouseB1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/UndergroundPath.asm b/maps/UndergroundPath.asm
index 557a478be..6834c043e 100644
--- a/maps/UndergroundPath.asm
+++ b/maps/UndergroundPath.asm
@@ -1,4 +1,4 @@
-UndergroundPath_MapScriptHeader:
+UndergroundPath_MapScripts:
.SceneScripts:
db 0
@@ -6,14 +6,12 @@ UndergroundPath_MapScriptHeader:
db 0
UndergroundPathHiddenFullRestore:
- dwb EVENT_UNDERGROUND_PATH_HIDDEN_FULL_RESTORE, FULL_RESTORE
-
+ hiddenitem EVENT_UNDERGROUND_PATH_HIDDEN_FULL_RESTORE, FULL_RESTORE
UndergroundPathHiddenXSpecial:
- dwb EVENT_UNDERGROUND_PATH_HIDDEN_X_SPECIAL, X_SPECIAL
-
+ hiddenitem EVENT_UNDERGROUND_PATH_HIDDEN_X_SPECIAL, X_SPECIAL
-UndergroundPath_MapEventHeader:
+UndergroundPath_MapEvents:
; filler
db 0, 0
diff --git a/maps/UnionCave1F.asm b/maps/UnionCave1F.asm
index dfc9a9f65..77ed8bbb6 100644
--- a/maps/UnionCave1F.asm
+++ b/maps/UnionCave1F.asm
@@ -9,7 +9,7 @@ const_value set 2
const UNIONCAVE1F_POKE_BALL3
const UNIONCAVE1F_POKE_BALL4
-UnionCave1F_MapScriptHeader:
+UnionCave1F_MapScripts:
.SceneScripts:
db 0
@@ -199,7 +199,7 @@ UnknownText_0x59f29:
text "UNION CAVE"
done
-UnionCave1F_MapEventHeader:
+UnionCave1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/UnionCaveB1F.asm b/maps/UnionCaveB1F.asm
index b232aa6e4..980855221 100644
--- a/maps/UnionCaveB1F.asm
+++ b/maps/UnionCaveB1F.asm
@@ -7,7 +7,7 @@ const_value set 2
const UNIONCAVEB1F_BOULDER
const UNIONCAVEB1F_POKE_BALL2
-UnionCaveB1F_MapScriptHeader:
+UnionCaveB1F_MapScripts:
.SceneScripts:
db 0
@@ -152,7 +152,7 @@ PokemaniacCalvinAfterBattleText:
cont "PROF.ELM."
done
-UnionCaveB1F_MapEventHeader:
+UnionCaveB1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/UnionCaveB2F.asm b/maps/UnionCaveB2F.asm
index 8aa4ddd5e..5f2baabf2 100644
--- a/maps/UnionCaveB2F.asm
+++ b/maps/UnionCaveB2F.asm
@@ -6,13 +6,13 @@ const_value set 2
const UNIONCAVEB2F_POKE_BALL2
const UNIONCAVEB2F_LAPRAS
-UnionCaveB2F_MapScriptHeader:
+UnionCaveB2F_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .Lapras
+ callback MAPCALLBACK_OBJECTS, .Lapras
.Lapras:
checkflag ENGINE_UNION_CAVE_LAPRAS
@@ -141,7 +141,7 @@ CooltrainerfEmmaAfterBattleText:
line "that #MON…"
done
-UnionCaveB2F_MapEventHeader:
+UnionCaveB2F_MapEvents:
; filler
db 0, 0
diff --git a/maps/VermilionCity.asm b/maps/VermilionCity.asm
index 90baf28b0..2430b97d3 100644
--- a/maps/VermilionCity.asm
+++ b/maps/VermilionCity.asm
@@ -6,13 +6,13 @@ const_value set 2
const VERMILIONCITY_BIG_SNORLAX
const VERMILIONCITY_POKEFAN_M
-VermilionCity_MapScriptHeader:
+VermilionCity_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
.FlyPoint:
setflag ENGINE_FLYPOINT_VERMILION
@@ -42,7 +42,7 @@ VermilionCitySuperNerdScript:
VermilionSnorlax:
opentext
- special SpecialSnorlaxAwake
+ special Special_SnorlaxAwake
iftrue UnknownScript_0x1aa9ab
writetext UnknownText_0x1aab64
waitbutton
@@ -68,7 +68,7 @@ VermilionGymBadgeGuy:
checkevent EVENT_GOT_HP_UP_FROM_VERMILION_GUY
iftrue .AlreadyGotItem
checkcode VAR_BADGES
- if_equal 16, .AllBadges
+ if_equal NUM_BADGES, .AllBadges
if_greater_than 13, .MostBadges
if_greater_than 9, .SomeBadges
writetext UnknownText_0x1aabc8
@@ -123,7 +123,7 @@ VermilionCityMartSign:
jumpstd martsign
VermilionCityHiddenFullHeal:
- dwb EVENT_VERMILION_CITY_HIDDEN_FULL_HEAL, FULL_HEAL
+ hiddenitem EVENT_VERMILION_CITY_HIDDEN_FULL_HEAL, FULL_HEAL
VermilionCityTeacherText:
text "VERMILION PORT is"
@@ -267,7 +267,7 @@ VermilionCityPortSignText:
line "ENTRANCE"
done
-VermilionCity_MapEventHeader:
+VermilionCity_MapEvents:
; filler
db 0, 0
diff --git a/maps/VermilionGym.asm b/maps/VermilionGym.asm
index 7c86eba76..31f19615d 100644
--- a/maps/VermilionGym.asm
+++ b/maps/VermilionGym.asm
@@ -5,7 +5,7 @@ const_value set 2
const VERMILIONGYM_SUPER_NERD
const VERMILIONGYM_GYM_GUY
-VermilionGym_MapScriptHeader:
+VermilionGym_MapScripts:
.SceneScripts:
db 0
@@ -21,7 +21,7 @@ SurgeScript_0x1920a5:
waitbutton
closetext
winlosstext UnknownText_0x192238, 0
- loadtrainer LT_SURGE, 1
+ loadtrainer LT_SURGE, LT_SURGE1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_LTSURGE
@@ -101,7 +101,7 @@ VermilionGymStatue:
iftrue .Beaten
jumpstd gymstatue1
.Beaten:
- trainertotext LT_SURGE, 1, $1
+ trainertotext LT_SURGE, LT_SURGE1, MEM_BUFFER_1
jumpstd gymstatue2
UnknownText_0x192142:
@@ -260,7 +260,7 @@ UnknownText_0x19261e:
line "but trash."
done
-VermilionGym_MapEventHeader:
+VermilionGym_MapEvents:
; filler
db 0, 0
diff --git a/maps/VermilionHouseDiglettsCaveSpeechHouse.asm b/maps/VermilionHouseDiglettsCaveSpeechHouse.asm
index 5682dc084..718d5e005 100644
--- a/maps/VermilionHouseDiglettsCaveSpeechHouse.asm
+++ b/maps/VermilionHouseDiglettsCaveSpeechHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const VERMILIONHOUSEDIGLETTSCAVESPEECHHOUSE_GENTLEMAN
-VermilionHouseDiglettsCaveSpeechHouse_MapScriptHeader:
+VermilionHouseDiglettsCaveSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -20,7 +20,7 @@ VermilionHouseDiglettsCaveSpeechHouseGentlemanText:
line "to a distant town."
done
-VermilionHouseDiglettsCaveSpeechHouse_MapEventHeader:
+VermilionHouseDiglettsCaveSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/VermilionHouseFishingSpeechHouse.asm b/maps/VermilionHouseFishingSpeechHouse.asm
index c2d3fd2f2..72ed1ba4a 100644
--- a/maps/VermilionHouseFishingSpeechHouse.asm
+++ b/maps/VermilionHouseFishingSpeechHouse.asm
@@ -1,7 +1,7 @@
const_value set 2
const VERMILIONHOUSEFISHINGSPEECHHOUSE_FISHING_GURU
-VermilionHouseFishingSpeechHouse_MapScriptHeader:
+VermilionHouseFishingSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -50,7 +50,7 @@ FishingDudesHousePhotoText:
line "great time…"
done
-VermilionHouseFishingSpeechHouse_MapEventHeader:
+VermilionHouseFishingSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/VermilionMagnetTrainSpeechHouse.asm b/maps/VermilionMagnetTrainSpeechHouse.asm
index d1eae85c3..e2ba0b77c 100644
--- a/maps/VermilionMagnetTrainSpeechHouse.asm
+++ b/maps/VermilionMagnetTrainSpeechHouse.asm
@@ -2,7 +2,7 @@ const_value set 2
const VERMILIONMAGNETTRAINSPEECHHOUSE_POKEFAN_F
const VERMILIONMAGNETTRAINSPEECHHOUSE_YOUNGSTER
-VermilionMagnetTrainSpeechHouse_MapScriptHeader:
+VermilionMagnetTrainSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -33,7 +33,7 @@ VermilionMagnetTrainSpeechHouseYoungsterText:
cont "the MAGNET TRAIN."
done
-VermilionMagnetTrainSpeechHouse_MapEventHeader:
+VermilionMagnetTrainSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/VermilionMart.asm b/maps/VermilionMart.asm
index 87cb81e66..b72ea6aec 100644
--- a/maps/VermilionMart.asm
+++ b/maps/VermilionMart.asm
@@ -3,7 +3,7 @@ const_value set 2
const VERMILIONMART_SUPER_NERD
const VERMILIONMART_BUENA
-VermilionMart_MapScriptHeader:
+VermilionMart_MapScripts:
.SceneScripts:
db 0
@@ -36,7 +36,7 @@ VermilionMartBuenaText:
cont "SAFFRON."
done
-VermilionMart_MapEventHeader:
+VermilionMart_MapEvents:
; filler
db 0, 0
diff --git a/maps/VermilionPokecenter1F.asm b/maps/VermilionPokecenter1F.asm
index 354716b85..43821efdc 100644
--- a/maps/VermilionPokecenter1F.asm
+++ b/maps/VermilionPokecenter1F.asm
@@ -4,7 +4,7 @@ const_value set 2
const VERMILIONPOKECENTER1F_SAILOR
const VERMILIONPOKECENTER1F_BUG_CATCHER
-VermilionPokecenter1F_MapScriptHeader:
+VermilionPokecenter1F_MapScripts:
.SceneScripts:
db 0
@@ -76,7 +76,7 @@ VermilionPokecenter1FBugCatcherText:
line "got them in JOHTO."
done
-VermilionPokecenter1F_MapEventHeader:
+VermilionPokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/VermilionPokecenter2FBeta.asm b/maps/VermilionPokecenter2FBeta.asm
index 281198a7d..a82bd9e48 100644
--- a/maps/VermilionPokecenter2FBeta.asm
+++ b/maps/VermilionPokecenter2FBeta.asm
@@ -1,11 +1,11 @@
-VermilionPokecenter2FBeta_MapScriptHeader:
+VermilionPokecenter2FBeta_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-VermilionPokecenter2FBeta_MapEventHeader:
+VermilionPokecenter2FBeta_MapEvents:
; filler
db 0, 0
diff --git a/maps/VermilionPort.asm b/maps/VermilionPort.asm
index 8d7af46a8..c71739ef6 100644
--- a/maps/VermilionPort.asm
+++ b/maps/VermilionPort.asm
@@ -3,7 +3,7 @@ const_value set 2
const VERMILIONPORT_SAILOR2
const VERMILIONPORT_SUPER_NERD
-VermilionPort_MapScriptHeader:
+VermilionPort_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -11,7 +11,7 @@ VermilionPort_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
.DummyScene0:
end
@@ -27,7 +27,7 @@ VermilionPort_MapScriptHeader:
.LeaveFastShipScript:
applymovement PLAYER, MovementData_0x74ef3
appear VERMILIONPORT_SAILOR1
- setscene $0
+ setscene 0
setevent EVENT_FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN_TWIN_1
setevent EVENT_FAST_SHIP_CABINS_SE_SSE_GENTLEMAN
setevent EVENT_FAST_SHIP_PASSENGERS_FIRST_TRIP
@@ -52,7 +52,7 @@ SailorScript_0x74dc4:
waitsfx
applymovement PLAYER, MovementData_0x74ef1
playsound SFX_EXIT_BUILDING
- special FadeOutPalettes
+ special Special_FadeOutPalettes
waitsfx
setevent EVENT_FAST_SHIP_PASSENGERS_EASTBOUND
clearevent EVENT_FAST_SHIP_PASSENGERS_WESTBOUND
@@ -68,8 +68,8 @@ SailorScript_0x74dc4:
clearevent EVENT_BEAT_SCHOOLBOY_RICKY
setevent EVENT_FAST_SHIP_DESTINATION_OLIVINE
appear VERMILIONPORT_SAILOR1
- setmapscene FAST_SHIP_1F, $1
- warp FAST_SHIP_1F, $19, $1
+ setmapscene FAST_SHIP_1F, 1
+ warp FAST_SHIP_1F, 25, 1
end
UnknownScript_0x74e1a:
@@ -195,8 +195,7 @@ SuperNerdScript_0x74ee6:
end
VermilionPortHiddenIron:
- dwb EVENT_VERMILION_PORT_HIDDEN_IRON, IRON
-
+ hiddenitem EVENT_VERMILION_PORT_HIDDEN_IRON, IRON
MovementData_0x74ef1:
step DOWN
@@ -299,7 +298,7 @@ UnknownText_0x750a6:
cont "there."
done
-VermilionPort_MapEventHeader:
+VermilionPort_MapEvents:
; filler
db 0, 0
diff --git a/maps/VermilionPortPassage.asm b/maps/VermilionPortPassage.asm
index e728d387a..1e078e525 100644
--- a/maps/VermilionPortPassage.asm
+++ b/maps/VermilionPortPassage.asm
@@ -1,7 +1,7 @@
const_value set 2
const VERMILIONPORTPASSAGE_TEACHER
-VermilionPortPassage_MapScriptHeader:
+VermilionPortPassage_MapScripts:
.SceneScripts:
db 0
@@ -18,7 +18,7 @@ VermilionPortPassageTeacherText:
cont "every week."
done
-VermilionPortPassage_MapEventHeader:
+VermilionPortPassage_MapEvents:
; filler
db 0, 0
diff --git a/maps/VictoryRoad.asm b/maps/VictoryRoad.asm
index ef8bd3ead..e0389faeb 100644
--- a/maps/VictoryRoad.asm
+++ b/maps/VictoryRoad.asm
@@ -6,7 +6,7 @@ const_value set 2
const VICTORYROAD_POKE_BALL4
const VICTORYROAD_POKE_BALL5
-VictoryRoad_MapScriptHeader:
+VictoryRoad_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -22,7 +22,7 @@ VictoryRoad_MapScriptHeader:
end
UnknownScript_0x74492:
- moveobject VICTORYROAD_SILVER, $12, $b
+ moveobject VICTORYROAD_SILVER, 18, 11
spriteface PLAYER, DOWN
showemote EMOTE_SHOCK, PLAYER, 15
special Special_FadeOutMusic
@@ -32,7 +32,7 @@ UnknownScript_0x74492:
scall UnknownScript_0x744d4
applymovement VICTORYROAD_SILVER, MovementData_0x7454c
disappear VICTORYROAD_SILVER
- setscene $1
+ setscene 1
playmapmusic
end
@@ -46,7 +46,7 @@ UnknownScript_0x744b5:
scall UnknownScript_0x744d4
applymovement VICTORYROAD_SILVER, MovementData_0x74555
disappear VICTORYROAD_SILVER
- setscene $1
+ setscene 1
playmapmusic
end
@@ -112,12 +112,10 @@ VictoryRoadHPUp:
itemball HP_UP
VictoryRoadHiddenMaxPotion:
- dwb EVENT_VICTORY_ROAD_HIDDEN_MAX_POTION, MAX_POTION
-
+ hiddenitem EVENT_VICTORY_ROAD_HIDDEN_MAX_POTION, MAX_POTION
VictoryRoadHiddenFullHeal:
- dwb EVENT_VICTORY_ROAD_HIDDEN_FULL_HEAL, FULL_HEAL
-
+ hiddenitem EVENT_VICTORY_ROAD_HIDDEN_FULL_HEAL, FULL_HEAL
MovementData_0x74539:
step LEFT
@@ -240,7 +238,7 @@ UnknownText_0x747aa:
line "thing else."
done
-VictoryRoad_MapEventHeader:
+VictoryRoad_MapEvents:
; filler
db 0, 0
diff --git a/maps/VictoryRoadGate.asm b/maps/VictoryRoadGate.asm
index 95011fd5e..b466a32b6 100644
--- a/maps/VictoryRoadGate.asm
+++ b/maps/VictoryRoadGate.asm
@@ -3,7 +3,7 @@ const_value set 2
const VICTORYROADGATE_BLACK_BELT1
const VICTORYROADGATE_BLACK_BELT2
-VictoryRoadGate_MapScriptHeader:
+VictoryRoadGate_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -29,7 +29,7 @@ VictoryRoadGateBadgeCheckScript:
writetext VictoryRoadGateOfficerText
buttonsound
checkcode VAR_BADGES
- if_greater_than 7, .AllEightBadges
+ if_greater_than NUM_JOHTO_BADGES - 1, .AllEightBadges
writetext VictoryRoadGateNotEnoughBadgesText
waitbutton
closetext
@@ -40,7 +40,7 @@ VictoryRoadGateBadgeCheckScript:
writetext VictoryRoadGateEightBadgesText
waitbutton
closetext
- setscene $1
+ setscene 1
end
VictoryRoadGateLeftBlackBeltScript:
@@ -97,7 +97,7 @@ VictoryRoadGateRightBlackBeltText:
line "ready for you!"
done
-VictoryRoadGate_MapEventHeader:
+VictoryRoadGate_MapEvents:
; filler
db 0, 0
diff --git a/maps/VioletCity.asm b/maps/VioletCity.asm
index 34939ff3e..6890ffa8a 100644
--- a/maps/VioletCity.asm
+++ b/maps/VioletCity.asm
@@ -8,13 +8,13 @@ const_value set 2
const VIOLETCITY_POKE_BALL1
const VIOLETCITY_POKE_BALL2
-VioletCity_MapScriptHeader:
+VioletCity_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
.FlyPoint:
setflag ENGINE_FLYPOINT_VIOLET
@@ -98,7 +98,7 @@ VioletCityFruitTreeScript:
fruittree FRUITTREE_VIOLET_CITY
VioletCityHiddenHyperPotion:
- dwb EVENT_VIOLET_CITY_HIDDEN_HYPER_POTION, HYPER_POTION
+ hiddenitem EVENT_VIOLET_CITY_HIDDEN_HYPER_POTION, HYPER_POTION
VioletCityFollowEarl_MovementData:
big_step DOWN
@@ -278,7 +278,7 @@ EarlsPokemonAcademySignText:
line "ACADEMY"
done
-VioletCity_MapEventHeader:
+VioletCity_MapEvents:
; filler
db 0, 0
diff --git a/maps/VioletGym.asm b/maps/VioletGym.asm
index 84effea16..12480e21f 100644
--- a/maps/VioletGym.asm
+++ b/maps/VioletGym.asm
@@ -4,7 +4,7 @@ const_value set 2
const VIOLETGYM_YOUNGSTER2
const VIOLETGYM_GYM_GUY
-VioletGym_MapScriptHeader:
+VioletGym_MapScripts:
.SceneScripts:
db 0
@@ -20,7 +20,7 @@ FalknerScript_0x683c2:
waitbutton
closetext
winlosstext UnknownText_0x6854a, 0
- loadtrainer FALKNER, 1
+ loadtrainer FALKNER, FALKNER1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_FALKNER
@@ -36,7 +36,7 @@ FalknerScript_0x683c2:
iftrue .SpeechAfterTM
setevent EVENT_BEAT_BIRD_KEEPER_ROD
setevent EVENT_BEAT_BIRD_KEEPER_ABE
- setmapscene ELMS_LAB, $2
+ setmapscene ELMS_LAB, 2
specialphonecall SPECIALCALL_ASSISTANT
writetext UnknownText_0x685c8
buttonsound
@@ -109,7 +109,7 @@ VioletGymStatue:
iftrue .Beaten
jumpstd gymstatue1
.Beaten:
- trainertotext FALKNER, 1, $1
+ trainertotext FALKNER, FALKNER1, MEM_BUFFER_1
jumpstd gymstatue2
UnknownText_0x68473:
@@ -281,7 +281,7 @@ VioletGymGuyWinText:
line "time at all!"
done
-VioletGym_MapEventHeader:
+VioletGym_MapEvents:
; filler
db 0, 0
diff --git a/maps/VioletKylesHouse.asm b/maps/VioletKylesHouse.asm
index 2fa0e84b3..4d903cb70 100644
--- a/maps/VioletKylesHouse.asm
+++ b/maps/VioletKylesHouse.asm
@@ -2,7 +2,7 @@ const_value set 2
const VIOLETKYLESHOUSE_POKEFAN_M
const VIOLETKYLESHOUSE_KYLE
-VioletKylesHouse_MapScriptHeader:
+VioletKylesHouse_MapScripts:
.SceneScripts:
db 0
@@ -32,7 +32,7 @@ VioletKylesHousePokefanMText:
line "disobey you."
done
-VioletKylesHouse_MapEventHeader:
+VioletKylesHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/VioletMart.asm b/maps/VioletMart.asm
index ffb19d838..e1a86e0c7 100644
--- a/maps/VioletMart.asm
+++ b/maps/VioletMart.asm
@@ -3,7 +3,7 @@ const_value set 2
const VIOLETMART_GRANNY
const VIOLETMART_COOLTRAINER_M
-VioletMart_MapScriptHeader:
+VioletMart_MapScripts:
.SceneScripts:
db 0
@@ -48,7 +48,7 @@ VioletMartCooltrainerMText:
line "items."
done
-VioletMart_MapEventHeader:
+VioletMart_MapEvents:
; filler
db 0, 0
diff --git a/maps/VioletNicknameSpeechHouse.asm b/maps/VioletNicknameSpeechHouse.asm
index ae047457a..7ec074324 100644
--- a/maps/VioletNicknameSpeechHouse.asm
+++ b/maps/VioletNicknameSpeechHouse.asm
@@ -3,7 +3,7 @@ const_value set 2
const VIOLETNICKNAMESPEECHHOUSE_LASS
const VIOLETNICKNAMESPEECHHOUSE_BIRD
-VioletNicknameSpeechHouse_MapScriptHeader:
+VioletNicknameSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -44,7 +44,7 @@ UnknownText_0x6947c:
text "STRAWBERRY: Pijji!"
done
-VioletNicknameSpeechHouse_MapEventHeader:
+VioletNicknameSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/VioletPokecenter1F.asm b/maps/VioletPokecenter1F.asm
index e4c6e8df6..9413849b8 100644
--- a/maps/VioletPokecenter1F.asm
+++ b/maps/VioletPokecenter1F.asm
@@ -5,7 +5,7 @@ const_value set 2
const VIOLETPOKECENTER1F_YOUNGSTER
const VIOLETPOKECENTER1F_SCIENTIST
-VioletPokecenter1F_MapScriptHeader:
+VioletPokecenter1F_MapScripts:
.SceneScripts:
db 0
@@ -27,12 +27,12 @@ VioletPokecenter1F_ElmsAideScript:
checkcode VAR_PARTYCOUNT
if_equal PARTY_LENGTH, .PartyFull
giveegg TOGEPI, 5
- stringtotext .eggname, $1
+ stringtotext .eggname, MEM_BUFFER_1
scall .AideGivesEgg
setevent EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
clearevent EVENT_ELMS_AIDE_IN_LAB
clearevent EVENT_TOGEPI_HATCHED
- setmapscene ROUTE_32, $1
+ setmapscene ROUTE_32, 1
writetext UnknownText_0x695c5
waitbutton
closetext
@@ -215,7 +215,7 @@ VioletPokecenter1FYoungsterText:
line "they please."
done
-VioletPokecenter1F_MapEventHeader:
+VioletPokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/ViridianCity.asm b/maps/ViridianCity.asm
index 5b5e077cb..1825c1bc7 100644
--- a/maps/ViridianCity.asm
+++ b/maps/ViridianCity.asm
@@ -4,13 +4,13 @@ const_value set 2
const VIRIDIANCITY_FISHER
const VIRIDIANCITY_YOUNGSTER
-ViridianCity_MapScriptHeader:
+ViridianCity_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_NEWMAP, .FlyPoint
+ callback MAPCALLBACK_NEWMAP, .FlyPoint
.FlyPoint:
setflag ENGINE_FLYPOINT_VIRIDIAN
@@ -215,7 +215,7 @@ TrainerHouseSignText:
line "Trainer Battles"
done
-ViridianCity_MapEventHeader:
+ViridianCity_MapEvents:
; filler
db 0, 0
diff --git a/maps/ViridianGym.asm b/maps/ViridianGym.asm
index bf6a99290..ed47a099e 100644
--- a/maps/ViridianGym.asm
+++ b/maps/ViridianGym.asm
@@ -2,7 +2,7 @@ const_value set 2
const VIRIDIANGYM_BLUE
const VIRIDIANGYM_GYM_GUY
-ViridianGym_MapScriptHeader:
+ViridianGym_MapScripts:
.SceneScripts:
db 0
@@ -18,7 +18,7 @@ ViridianGymBlueScript:
waitbutton
closetext
winlosstext LeaderBlueWinText, 0
- loadtrainer BLUE, 1
+ loadtrainer BLUE, BLUE1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_BLUE
@@ -60,7 +60,7 @@ ViridianGymStatue:
jumpstd gymstatue1
.Beaten:
- trainertotext BLUE, 1, $1
+ trainertotext BLUE, BLUE1, MEM_BUFFER_1
jumpstd gymstatue2
LeaderBlueBeforeText:
@@ -169,7 +169,7 @@ ViridianGymGuyWinText:
line "tears to my eyes."
done
-ViridianGym_MapEventHeader:
+ViridianGym_MapEvents:
; filler
db 0, 0
diff --git a/maps/ViridianMart.asm b/maps/ViridianMart.asm
index 049ee3e35..275b57e2d 100644
--- a/maps/ViridianMart.asm
+++ b/maps/ViridianMart.asm
@@ -3,7 +3,7 @@ const_value set 2
const VIRIDIANMART_LASS
const VIRIDIANMART_COOLTRAINER_M
-ViridianMart_MapScriptHeader:
+ViridianMart_MapScripts:
.SceneScripts:
db 0
@@ -36,7 +36,7 @@ ViridianMartCooltrainerMText:
line "south of here."
done
-ViridianMart_MapEventHeader:
+ViridianMart_MapEvents:
; filler
db 0, 0
diff --git a/maps/ViridianNicknameSpeechHouse.asm b/maps/ViridianNicknameSpeechHouse.asm
index 8403fbc1c..10d2c52e5 100644
--- a/maps/ViridianNicknameSpeechHouse.asm
+++ b/maps/ViridianNicknameSpeechHouse.asm
@@ -4,7 +4,7 @@ const_value set 2
const VIRIDIANNICKNAMESPEECHHOUSE_SPEARY
const VIRIDIANNICKNAMESPEECHHOUSE_RATTEY
-ViridianNicknameSpeechHouse_MapScriptHeader:
+ViridianNicknameSpeechHouse_MapScripts:
.SceneScripts:
db 0
@@ -61,7 +61,7 @@ RatteyText:
text "RATTEY: Kikiii!"
done
-ViridianNicknameSpeechHouse_MapEventHeader:
+ViridianNicknameSpeechHouse_MapEvents:
; filler
db 0, 0
diff --git a/maps/ViridianPokecenter1F.asm b/maps/ViridianPokecenter1F.asm
index 54ca8d696..86f767a5f 100644
--- a/maps/ViridianPokecenter1F.asm
+++ b/maps/ViridianPokecenter1F.asm
@@ -4,7 +4,7 @@ const_value set 2
const VIRIDIANPOKECENTER1F_COOLTRAINER_F
const VIRIDIANPOKECENTER1F_BUG_CATCHER
-ViridianPokecenter1F_MapScriptHeader:
+ViridianPokecenter1F_MapScripts:
.SceneScripts:
db 0
@@ -71,7 +71,7 @@ ViridianPokecenter1FBugCatcherText:
line "come a GYM LEADER."
done
-ViridianPokecenter1F_MapEventHeader:
+ViridianPokecenter1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/ViridianPokecenter2FBeta.asm b/maps/ViridianPokecenter2FBeta.asm
index 2b119c1bb..3a00d3be1 100644
--- a/maps/ViridianPokecenter2FBeta.asm
+++ b/maps/ViridianPokecenter2FBeta.asm
@@ -1,11 +1,11 @@
-ViridianPokecenter2FBeta_MapScriptHeader:
+ViridianPokecenter2FBeta_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-ViridianPokecenter2FBeta_MapEventHeader:
+ViridianPokecenter2FBeta_MapEvents:
; filler
db 0, 0
diff --git a/maps/WhirlIslandB1F.asm b/maps/WhirlIslandB1F.asm
index 011b0ac8f..8b816062f 100644
--- a/maps/WhirlIslandB1F.asm
+++ b/maps/WhirlIslandB1F.asm
@@ -6,7 +6,7 @@ const_value set 2
const WHIRLISLANDB1F_POKE_BALL5
const WHIRLISLANDB1F_BOULDER
-WhirlIslandB1F_MapScriptHeader:
+WhirlIslandB1F_MapScripts:
.SceneScripts:
db 0
@@ -32,18 +32,15 @@ WhirlIslandB1FBoulder:
jumpstd strengthboulder
WhirlIslandB1FHiddenRareCandy:
- dwb EVENT_WHIRL_ISLAND_B1F_HIDDEN_RARE_CANDY, RARE_CANDY
-
+ hiddenitem EVENT_WHIRL_ISLAND_B1F_HIDDEN_RARE_CANDY, RARE_CANDY
WhirlIslandB1FHiddenUltraBall:
- dwb EVENT_WHIRL_ISLAND_B1F_HIDDEN_ULTRA_BALL, ULTRA_BALL
-
+ hiddenitem EVENT_WHIRL_ISLAND_B1F_HIDDEN_ULTRA_BALL, ULTRA_BALL
WhirlIslandB1FHiddenFullRestore:
- dwb EVENT_WHIRL_ISLAND_B1F_HIDDEN_FULL_RESTORE, FULL_RESTORE
-
+ hiddenitem EVENT_WHIRL_ISLAND_B1F_HIDDEN_FULL_RESTORE, FULL_RESTORE
-WhirlIslandB1F_MapEventHeader:
+WhirlIslandB1F_MapEvents:
; filler
db 0, 0
diff --git a/maps/WhirlIslandB2F.asm b/maps/WhirlIslandB2F.asm
index 34632a517..d589b7d05 100644
--- a/maps/WhirlIslandB2F.asm
+++ b/maps/WhirlIslandB2F.asm
@@ -3,7 +3,7 @@ const_value set 2
const WHIRLISLANDB2F_POKE_BALL2
const WHIRLISLANDB2F_POKE_BALL3
-WhirlIslandB2F_MapScriptHeader:
+WhirlIslandB2F_MapScripts:
.SceneScripts:
db 0
@@ -19,7 +19,7 @@ WhirlIslandB2FMaxRevive:
WhirlIslandB2FMaxElixer:
itemball MAX_ELIXER
-WhirlIslandB2F_MapEventHeader:
+WhirlIslandB2F_MapEvents:
; filler
db 0, 0
diff --git a/maps/WhirlIslandCave.asm b/maps/WhirlIslandCave.asm
index 4c3af9b8c..29c8500bb 100644
--- a/maps/WhirlIslandCave.asm
+++ b/maps/WhirlIslandCave.asm
@@ -1,11 +1,11 @@
-WhirlIslandCave_MapScriptHeader:
+WhirlIslandCave_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-WhirlIslandCave_MapEventHeader:
+WhirlIslandCave_MapEvents:
; filler
db 0, 0
diff --git a/maps/WhirlIslandLugiaChamber.asm b/maps/WhirlIslandLugiaChamber.asm
index 39285cc15..aa0a15c1e 100644
--- a/maps/WhirlIslandLugiaChamber.asm
+++ b/maps/WhirlIslandLugiaChamber.asm
@@ -1,13 +1,13 @@
const_value set 2
const WHIRLISLANDLUGIACHAMBER_LUGIA
-WhirlIslandLugiaChamber_MapScriptHeader:
+WhirlIslandLugiaChamber_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .Lugia
+ callback MAPCALLBACK_OBJECTS, .Lugia
.Lugia:
checkevent EVENT_FOUGHT_LUGIA
@@ -43,7 +43,7 @@ LugiaText:
text "Gyaaas!"
done
-WhirlIslandLugiaChamber_MapEventHeader:
+WhirlIslandLugiaChamber_MapEvents:
; filler
db 0, 0
diff --git a/maps/WhirlIslandNE.asm b/maps/WhirlIslandNE.asm
index 7ed3e883c..b022a4c72 100644
--- a/maps/WhirlIslandNE.asm
+++ b/maps/WhirlIslandNE.asm
@@ -1,7 +1,7 @@
const_value set 2
const WHIRLISLANDNE_POKE_BALL
-WhirlIslandNE_MapScriptHeader:
+WhirlIslandNE_MapScripts:
.SceneScripts:
db 0
@@ -11,7 +11,7 @@ WhirlIslandNE_MapScriptHeader:
WhirlIslandNEUltraBall:
itemball ULTRA_BALL
-WhirlIslandNE_MapEventHeader:
+WhirlIslandNE_MapEvents:
; filler
db 0, 0
diff --git a/maps/WhirlIslandNW.asm b/maps/WhirlIslandNW.asm
index ed40fe8d5..e8475c19b 100644
--- a/maps/WhirlIslandNW.asm
+++ b/maps/WhirlIslandNW.asm
@@ -1,11 +1,11 @@
-WhirlIslandNW_MapScriptHeader:
+WhirlIslandNW_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-WhirlIslandNW_MapEventHeader:
+WhirlIslandNW_MapEvents:
; filler
db 0, 0
diff --git a/maps/WhirlIslandSE.asm b/maps/WhirlIslandSE.asm
index edc3aa418..3e7edc484 100644
--- a/maps/WhirlIslandSE.asm
+++ b/maps/WhirlIslandSE.asm
@@ -1,11 +1,11 @@
-WhirlIslandSE_MapScriptHeader:
+WhirlIslandSE_MapScripts:
.SceneScripts:
db 0
.MapCallbacks:
db 0
-WhirlIslandSE_MapEventHeader:
+WhirlIslandSE_MapEvents:
; filler
db 0, 0
diff --git a/maps/WhirlIslandSW.asm b/maps/WhirlIslandSW.asm
index e1c212d75..b80b00b6a 100644
--- a/maps/WhirlIslandSW.asm
+++ b/maps/WhirlIslandSW.asm
@@ -1,7 +1,7 @@
const_value set 2
const WHIRLISLANDSW_POKE_BALL
-WhirlIslandSW_MapScriptHeader:
+WhirlIslandSW_MapScripts:
.SceneScripts:
db 0
@@ -11,7 +11,7 @@ WhirlIslandSW_MapScriptHeader:
WhirlIslandSWUltraBall:
itemball ULTRA_BALL
-WhirlIslandSW_MapEventHeader:
+WhirlIslandSW_MapEvents:
; filler
db 0, 0
diff --git a/maps/WillsRoom.asm b/maps/WillsRoom.asm
index d72451638..1b0522ce9 100644
--- a/maps/WillsRoom.asm
+++ b/maps/WillsRoom.asm
@@ -1,7 +1,7 @@
const_value set 2
const WILLSROOM_WILL
-WillsRoom_MapScriptHeader:
+WillsRoom_MapScripts:
.SceneScripts:
db 2
scene_script .LockDoor
@@ -9,7 +9,7 @@ WillsRoom_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_TILES, .WillsRoomDoors
+ callback MAPCALLBACK_TILES, .WillsRoomDoors
.LockDoor:
priorityjump .WillsDoorLocksBehindYou
@@ -20,24 +20,24 @@ WillsRoom_MapScriptHeader:
.WillsRoomDoors:
checkevent EVENT_WILLS_ROOM_ENTRANCE_CLOSED
- iffalse .KeepDoorsClosed
- changeblock $4, $e, $2a
-.KeepDoorsClosed:
+ iffalse .KeepEntranceOpen
+ changeblock 4, 14, $2a ; wall
+.KeepEntranceOpen:
checkevent EVENT_WILLS_ROOM_EXIT_OPEN
- iffalse .OpenDoors
- changeblock $4, $2, $16
-.OpenDoors:
+ iffalse .KeepExitClosed
+ changeblock 4, 2, $16 ; open door
+.KeepExitClosed:
return
.WillsDoorLocksBehindYou:
- applymovement PLAYER, MovementData_0x18052c
+ applymovement PLAYER, WillsRoom_EnterMovement
refreshscreen $86
playsound SFX_STRENGTH
earthquake 80
- changeblock $4, $e, $2a
+ changeblock 4, 14, $2a ; wall
reloadmappart
closetext
- setscene $1
+ setscene 1
setevent EVENT_WILLS_ROOM_ENTRANCE_CLOSED
waitsfx
end
@@ -46,12 +46,12 @@ WillScript_Battle:
faceplayer
opentext
checkevent EVENT_BEAT_ELITE_4_WILL
- iftrue WillScript_0x180526
+ iftrue WillScript_AfterBattle
writetext WillScript_WillBeforeText
waitbutton
closetext
winlosstext WillScript_WillBeatenText, 0
- loadtrainer WILL, 1
+ loadtrainer WILL, WILL1
startbattle
reloadmapafterbattle
setevent EVENT_BEAT_ELITE_4_WILL
@@ -60,20 +60,20 @@ WillScript_Battle:
waitbutton
closetext
playsound SFX_ENTER_DOOR
- changeblock $4, $2, $16
+ changeblock 4, 2, $16 ; open door
reloadmappart
closetext
setevent EVENT_WILLS_ROOM_EXIT_OPEN
waitsfx
end
-WillScript_0x180526:
+WillScript_AfterBattle:
writetext WillScript_WillDefeatText
waitbutton
closetext
end
-MovementData_0x18052c:
+WillsRoom_EnterMovement:
step UP
step UP
step UP
@@ -128,7 +128,7 @@ WillScript_WillDefeatText:
line "of the ELITE FOUR."
done
-WillsRoom_MapEventHeader:
+WillsRoom_MapEvents:
; filler
db 0, 0
diff --git a/maps/WiseTriosRoom.asm b/maps/WiseTriosRoom.asm
index ab072fb36..ef30655c2 100644
--- a/maps/WiseTriosRoom.asm
+++ b/maps/WiseTriosRoom.asm
@@ -6,7 +6,7 @@ const_value set 2
const WISETRIOSROOM_SAGE5
const WISETRIOSROOM_SAGE6
-WiseTriosRoom_MapScriptHeader:
+WiseTriosRoom_MapScripts:
.SceneScripts:
db 2
scene_script .DummyScene0
@@ -14,7 +14,7 @@ WiseTriosRoom_MapScriptHeader:
.MapCallbacks:
db 1
- dbw MAPCALLBACK_OBJECTS, .WiseTrioCallback
+ callback MAPCALLBACK_OBJECTS, .WiseTrioCallback
.DummyScene0:
end
@@ -105,7 +105,7 @@ TrainerSageKoji:
applymovement WISETRIOSROOM_SAGE6, MovementData_0x98628
spriteface WISETRIOSROOM_SAGE6, UP
setevent EVENT_KOJI_ALLOWS_YOU_PASSAGE_TO_TIN_TOWER
- setscene $1
+ setscene 1
end
UnknownScript_0x9861b:
@@ -344,7 +344,7 @@ UnknownText_0x98db5:
line "you to the test."
done
-WiseTriosRoom_MapEventHeader:
+WiseTriosRoom_MapEvents:
; filler
db 0, 0
diff --git a/maps/blockdata.asm b/maps/blockdata.asm
deleted file mode 100644
index 9e44798ad..000000000
--- a/maps/blockdata.asm
+++ /dev/null
@@ -1,1047 +0,0 @@
-SECTION "Map Blockdata 1", ROMX
-
-Route32_BlockData:
- INCBIN "maps/Route32.blk"
-
-Route40_BlockData:
- INCBIN "maps/Route40.blk"
-
-Route36_BlockData:
- INCBIN "maps/Route36.blk"
-
-Route44_BlockData:
- INCBIN "maps/Route44.blk"
-
-Route28_BlockData:
- INCBIN "maps/Route28.blk"
-
-BetaHerosHouse_BlockData:
- INCBIN "maps/BetaHerosHouse.blk"
-
-CeladonCity_BlockData:
- INCBIN "maps/CeladonCity.blk"
-
-SaffronCity_BlockData:
- INCBIN "maps/SaffronCity.blk"
-
-Route2_BlockData:
- INCBIN "maps/Route2.blk"
-
-ElmsHouse_BlockData:
- INCBIN "maps/ElmsHouse.blk"
-
-BetaSproutTower1_BlockData:
- INCBIN "maps/BetaSproutTower1.blk"
-
-Route11_BlockData:
- INCBIN "maps/Route11.blk"
-
-BetaSproutTower5_BlockData:
- INCBIN "maps/BetaSproutTower5.blk"
-
-Route15_BlockData:
- INCBIN "maps/Route15.blk"
-
-BetaSproutTower9_BlockData:
- INCBIN "maps/BetaSproutTower9.blk"
-
-Route19_BlockData:
- INCBIN "maps/Route19.blk"
-
-BetaBlackthornCity_BlockData:
- INCBIN "maps/BetaBlackthornCity.blk"
-
-Route10South_BlockData:
- INCBIN "maps/Route10South.blk"
-
-Pokecenter2F_BlockData:
-CinnabarPokecenter2FBeta_BlockData:
-CeruleanPokecenter2FBeta_BlockData:
-Route10Pokecenter2FBeta_BlockData:
-VermilionPokecenter2FBeta_BlockData:
-PewterPokecenter2FBeta_BlockData:
-FuchsiaPokecenter2FBeta_BlockData:
-LavenderPokecenter2FBeta_BlockData:
-CeladonPokecenter2FBeta_BlockData:
-ViridianPokecenter2FBeta_BlockData:
-SaffronPokecenter2FBeta_BlockData:
- INCBIN "maps/Pokecenter2F.blk"
-
-Route41_BlockData:
- INCBIN "maps/Route41.blk"
-
-Route33_BlockData:
- INCBIN "maps/Route33.blk"
-
-Route45_BlockData:
- INCBIN "maps/Route45.blk"
-
-Route29_BlockData:
- INCBIN "maps/Route29.blk"
-
-Route37_BlockData:
- INCBIN "maps/Route37.blk"
-
-LavenderTown_BlockData:
- INCBIN "maps/LavenderTown.blk"
-
-PalletTown_BlockData:
- INCBIN "maps/PalletTown.blk"
-
-Route25_BlockData:
- INCBIN "maps/Route25.blk"
-
-Route24_BlockData:
- INCBIN "maps/Route24.blk"
-
-BetaVioletCity_BlockData:
- INCBIN "maps/BetaVioletCity.blk"
-
-Route3_BlockData:
- INCBIN "maps/Route3.blk"
-
-PewterCity_BlockData:
- INCBIN "maps/PewterCity.blk"
-
-BetaIlexForest_BlockData:
- INCBIN "maps/BetaIlexForest.blk"
-
-BetaSproutTower2_BlockData:
- INCBIN "maps/BetaSproutTower2.blk"
-
-Route12_BlockData:
- INCBIN "maps/Route12.blk"
-
-BetaGoldenrodCity_BlockData:
- INCBIN "maps/BetaGoldenrodCity.blk"
-
-Route20_BlockData:
- INCBIN "maps/Route20.blk"
-
-BetaSproutTower6_BlockData:
- INCBIN "maps/BetaSproutTower6.blk"
-
-BetaPokecenterMainHouse_BlockData:
- INCBIN "maps/BetaPokecenterMainHouse.blk"
-
-Route30_BlockData:
- INCBIN "maps/Route30.blk"
-
-Route26_BlockData:
- INCBIN "maps/Route26.blk"
-
-Route42_BlockData:
- INCBIN "maps/Route42.blk"
-
-Route34_BlockData:
- INCBIN "maps/Route34.blk"
-
-Route46_BlockData:
- INCBIN "maps/Route46.blk"
-
-FuchsiaCity_BlockData:
- INCBIN "maps/FuchsiaCity.blk"
-
-Route38_BlockData:
- INCBIN "maps/Route38.blk"
-
-BetaCianwoodCity_BlockData:
- INCBIN "maps/BetaCianwoodCity.blk"
-
-OlivineTimsHouse_BlockData:
-OlivineHouseBeta_BlockData:
-OlivinePunishmentSpeechHouse_BlockData:
-OlivineGoodRodHouse_BlockData:
-Route39Farmhouse_BlockData:
-MahoganyRedGyaradosSpeechHouse_BlockData:
-BlackthornDragonSpeechHouse_BlockData:
-BlackthornEmysHouse_BlockData:
-MoveDeletersHouse_BlockData:
-CeruleanGymBadgeSpeechHouse_BlockData:
-CeruleanPoliceStation_BlockData:
-CeruleanTradeSpeechHouse_BlockData:
-BillsHouse_BlockData:
-CharcoalKiln_BlockData:
-LakeOfRageHiddenPowerHouse_BlockData:
-LakeOfRageMagikarpHouse_BlockData:
-GoldenrodHappinessRater_BlockData:
-GoldenrodBillsHouse_BlockData:
-GoldenrodPPSpeechHouse_BlockData:
-GoldenrodNameRater_BlockData:
-VermilionHouseFishingSpeechHouse_BlockData:
-VermilionMagnetTrainSpeechHouse_BlockData:
-VermilionHouseDiglettsCaveSpeechHouse_BlockData:
-BluesHouse_BlockData:
-PewterNidoranSpeechHouse_BlockData:
-PewterSnoozeSpeechHouse_BlockData:
-FuchsiaBillSpeechHouse_BlockData:
-LavenderTownSpeechHouse_BlockData:
-LavenderNameRater_BlockData:
-Route12SuperRodHouse_BlockData:
-Route28FamousSpeechHouse_BlockData:
-CeladonMansionRoofHouse_BlockData:
-Route16FuchsiaSpeechHouse_BlockData:
-ManiasHouse_BlockData:
-CianwoodPharmacy_BlockData:
-CianwoodCityPhotoStudio_BlockData:
-CianwoodLugiaSpeechHouse_BlockData:
-PokeSeersHouse_BlockData:
-ViridianNicknameSpeechHouse_BlockData:
-Route2NuggetSpeechHouse_BlockData:
-KrissNeighborsHouse_BlockData:
-Route26HealSpeechHouse_BlockData:
-Route26DayofWeekSiblingsHouse_BlockData:
-Route27SandstormHouse_BlockData:
-MrPsychicsHouse_BlockData:
-Route5CleanseTagSpeechHouse_BlockData:
-CherrygroveGymSpeechHouse_BlockData:
-GuideGentsHouse_BlockData:
-CherrygroveEvolutionSpeechHouse_BlockData:
-Route30BerrySpeechHouse_BlockData:
- INCBIN "maps/House1.blk"
-
-SafariZoneFuchsiaGateBeta_BlockData:
-Route19FuchsiaGate_BlockData:
-Route43MahoganyGate_BlockData:
-Route43Gate_BlockData:
-Route35GoldenrodGate_BlockData:
-Route36RuinsOfAlphGate_BlockData:
-Route34IlexForestGate_BlockData:
-Route6SaffronGate_BlockData:
-Route40BattleTowerGate_BlockData:
-Route2Gate_BlockData:
-Route2946Gate_BlockData:
-Route5SaffronCityGate_BlockData:
- INCBIN "maps/NorthSouthGate.blk"
-
-BetaTeakCity_BlockData:
- INCBIN "maps/BetaTeakCity.blk"
-
-BetaCherrygroveCity_BlockData:
- INCBIN "maps/BetaCherrygroveCity.blk"
-
-CinnabarIsland_BlockData:
- INCBIN "maps/CinnabarIsland.blk"
-
-Route4_BlockData:
- INCBIN "maps/Route4.blk"
-
-Route8_BlockData:
- INCBIN "maps/Route8.blk"
-
-BetaSproutTower3_BlockData:
- INCBIN "maps/BetaSproutTower3.blk"
-
-ViridianCity_BlockData:
- INCBIN "maps/ViridianCity.blk"
-
-Route13_BlockData:
- INCBIN "maps/Route13.blk"
-
-Route21_BlockData:
- INCBIN "maps/Route21.blk"
-
-BetaSproutTower7_BlockData:
- INCBIN "maps/BetaSproutTower7.blk"
-
-Route17_BlockData:
- INCBIN "maps/Route17.blk"
-
-BetaMahoganyTown_BlockData:
- INCBIN "maps/BetaMahoganyTown.blk"
-
-Route31_BlockData:
- INCBIN "maps/Route31.blk"
-
-Route27_BlockData:
- INCBIN "maps/Route27.blk"
-
-Route35_BlockData:
- INCBIN "maps/Route35.blk"
-
-Route43_BlockData:
- INCBIN "maps/Route43.blk"
-
-Route39_BlockData:
- INCBIN "maps/Route39.blk"
-
-KrissHouse1F_BlockData:
- INCBIN "maps/KrissHouse1F.blk"
-
-Route38EcruteakGate_BlockData:
-Route42EcruteakGate_BlockData:
-Route32RuinsOfAlphGate_BlockData:
-IlexForestAzaleaGate_BlockData:
-Route15FuchsiaGate_BlockData:
-Route8SaffronGate_BlockData:
-Route16Gate_BlockData:
-Route7SaffronGate_BlockData:
-Route1718Gate_BlockData:
-Route31VioletGate_BlockData:
- INCBIN "maps/EastWestGate.blk"
-
-BetaAzaleaTown_BlockData:
- INCBIN "maps/BetaAzaleaTown.blk"
-
-VermilionCity_BlockData:
- INCBIN "maps/VermilionCity.blk"
-
-BetaOlivineCity_BlockData:
- INCBIN "maps/BetaOlivineCity.blk"
-
-BetaNewBarkTown_BlockData:
- INCBIN "maps/BetaNewBarkTown.blk"
-
-ElmsLab_BlockData:
- INCBIN "maps/ElmsLab.blk"
-
-CeruleanCity_BlockData:
- INCBIN "maps/CeruleanCity.blk"
-
-Route1_BlockData:
- INCBIN "maps/Route1.blk"
-
-Route5_BlockData:
- INCBIN "maps/Route5.blk"
-
-Route9_BlockData:
- INCBIN "maps/Route9.blk"
-
-Route22_BlockData:
- INCBIN "maps/Route22.blk"
-
-
-SECTION "Map Blockdata 2", ROMX
-
-Route14_BlockData:
- INCBIN "maps/Route14.blk"
-
-BetaSproutTower8_BlockData:
- INCBIN "maps/BetaSproutTower8.blk"
-
-OlivineMart_BlockData:
-EcruteakMart_BlockData:
-BlackthornMart_BlockData:
-CeruleanMart_BlockData:
-AzaleaMart_BlockData:
-VioletMart_BlockData:
-VermilionMart_BlockData:
-PewterMart_BlockData:
-FuchsiaMart_BlockData:
-LavenderMart_BlockData:
-ViridianMart_BlockData:
-SaffronMart_BlockData:
-CherrygroveMart_BlockData:
- INCBIN "maps/Mart.blk"
-
-Route10North_BlockData:
- INCBIN "maps/Route10North.blk"
-
-BetaLakeOfRage_BlockData:
- INCBIN "maps/BetaLakeOfRage.blk"
-
-OlivinePokecenter1F_BlockData:
-MahoganyPokecenter1F_BlockData:
-EcruteakPokecenter1F_BlockData:
-BlackthornPokecenter1F_BlockData:
-CinnabarPokecenter1F_BlockData:
-CeruleanPokecenter1F_BlockData:
-Route10Pokecenter1F_BlockData:
-AzaleaPokecenter1F_BlockData:
-VioletPokecenter1F_BlockData:
-Route32Pokecenter1F_BlockData:
-GoldenrodPokecenter1F_BlockData:
-VermilionPokecenter1F_BlockData:
-PewterPokecenter1F_BlockData:
-FuchsiaPokecenter1F_BlockData:
-LavenderPokecenter1F_BlockData:
-SilverCavePokecenter1F_BlockData:
-CeladonPokecenter1F_BlockData:
-CianwoodPokecenter1F_BlockData:
-ViridianPokecenter1F_BlockData:
-SaffronPokecenter1F_BlockData:
-CherrygrovePokecenter1F_BlockData:
- INCBIN "maps/Pokecenter1F.blk"
-
-BetaPewterMuseumOfScience1F_BlockData:
- INCBIN "maps/BetaPewterMuseumOfScience1F.blk"
-
-BetaPewterMuseumOfScience2F_BlockData:
- INCBIN "maps/BetaPewterMuseumOfScience2F.blk"
-
-EarlsPokemonAcademy_BlockData:
- INCBIN "maps/EarlsPokemonAcademy.blk"
-
-BetaCinnabarIslandPokemonLabHallway_BlockData:
- INCBIN "maps/BetaCinnabarIslandPokemonLabHallway.blk"
-
-BetaCinnabarIslandPokemonLabRoom1_BlockData:
- INCBIN "maps/BetaCinnabarIslandPokemonLabRoom1.blk"
-
-BetaCinnabarIslandPokemonLabRoom2_BlockData:
- INCBIN "maps/BetaCinnabarIslandPokemonLabRoom2.blk"
-
-BetaCinnabarIslandPokemonLabRoom3_BlockData:
- INCBIN "maps/BetaCinnabarIslandPokemonLabRoom3.blk"
-
-GoldenrodDeptStore1F_BlockData:
-CeladonDeptStore1F_BlockData:
- INCBIN "maps/DeptStore1F.blk"
-
-GoldenrodDeptStore2F_BlockData:
-CeladonDeptStore2F_BlockData:
- INCBIN "maps/DeptStore2F.blk"
-
-GoldenrodDeptStore3F_BlockData:
-CeladonDeptStore3F_BlockData:
- INCBIN "maps/DeptStore3F.blk"
-
-GoldenrodDeptStore4F_BlockData:
-CeladonDeptStore4F_BlockData:
- INCBIN "maps/DeptStore4F.blk"
-
-GoldenrodDeptStore5F_BlockData:
-CeladonDeptStore5F_BlockData:
- INCBIN "maps/DeptStore5F.blk"
-
-GoldenrodDeptStore6F_BlockData:
-CeladonDeptStore6F_BlockData:
- INCBIN "maps/DeptStore6F.blk"
-
-GoldenrodDeptStoreElevator_BlockData:
-CeladonDeptStoreElevator_BlockData:
- INCBIN "maps/DeptStoreElevator.blk"
-
-CeladonMansion1F_BlockData:
- INCBIN "maps/CeladonMansion1F.blk"
-
-CeladonMansion2F_BlockData:
- INCBIN "maps/CeladonMansion2F.blk"
-
-CeladonMansion3F_BlockData:
- INCBIN "maps/CeladonMansion3F.blk"
-
-CeladonMansionRoof_BlockData:
- INCBIN "maps/CeladonMansionRoof.blk"
-
-BetaHouse_BlockData:
- INCBIN "maps/BetaHouse.blk"
-
-CeladonGameCorner_BlockData:
- INCBIN "maps/CeladonGameCorner.blk"
-
-CeladonGameCornerPrizeRoom_BlockData:
- INCBIN "maps/CeladonGameCornerPrizeRoom.blk"
-
-Colosseum_BlockData:
- INCBIN "maps/Colosseum.blk"
-
-TradeCenter_BlockData:
-TimeCapsule_BlockData:
- INCBIN "maps/TradeCenter.blk"
-
-EcruteakLugiaSpeechHouse_BlockData:
-EcruteakItemfinderHouse_BlockData:
-VioletNicknameSpeechHouse_BlockData:
-VioletKylesHouse_BlockData:
- INCBIN "maps/House2.blk"
-
-BetaCave_BlockData:
- INCBIN "maps/BetaCave.blk"
-
-UnionCaveB1F_BlockData:
- INCBIN "maps/UnionCaveB1F.blk"
-
-UnionCaveB2F_BlockData:
- INCBIN "maps/UnionCaveB2F.blk"
-
-UnionCave1F_BlockData:
- INCBIN "maps/UnionCave1F.blk"
-
-NationalPark_BlockData:
-NationalParkBugContest_BlockData:
- INCBIN "maps/NationalPark.blk"
-
-Route5UndergroundPathEntrance_BlockData:
-Route6UndergroundPathEntrance_BlockData:
- INCBIN "maps/UndergroundPathEntrance.blk"
-
-BetaPokecenterTradeStation_BlockData:
- INCBIN "maps/BetaPokecenterTradeStation.blk"
-
-KurtsHouse_BlockData:
- INCBIN "maps/KurtsHouse.blk"
-
-GoldenrodMagnetTrainStation_BlockData:
- INCBIN "maps/GoldenrodMagnetTrainStation.blk"
-
-RuinsOfAlphOutside_BlockData:
- INCBIN "maps/RuinsOfAlphOutside.blk"
-
-BetaRuinsOfAlphUnsolvedPuzzleRoom_BlockData:
- INCBIN "maps/BetaRuinsOfAlphUnsolvedPuzzleRoom.blk"
-
-RuinsOfAlphInnerChamber_BlockData:
- INCBIN "maps/RuinsOfAlphInnerChamber.blk"
-
-RuinsOfAlphHoOhChamber_BlockData:
-RuinsOfAlphKabutoChamber_BlockData:
-RuinsOfAlphOmanyteChamber_BlockData:
-RuinsOfAlphAerodactylChamber_BlockData:
- INCBIN "maps/RuinsOfAlphPuzzleChamber.blk"
-
-SproutTower1F_BlockData:
- INCBIN "maps/SproutTower1F.blk"
-
-BetaSproutTowerCutOut1_BlockData:
- INCBIN "maps/BetaSproutTowerCutOut1.blk"
-
-SproutTower2F_BlockData:
- INCBIN "maps/SproutTower2F.blk"
-
-BetaSproutTowerCutOut2_BlockData:
- INCBIN "maps/BetaSproutTowerCutOut2.blk"
-
-SproutTower3F_BlockData:
- INCBIN "maps/SproutTower3F.blk"
-
-BetaSproutTowerCutOut3_BlockData:
- INCBIN "maps/BetaSproutTowerCutOut3.blk"
-
-RadioTower1F_BlockData:
- INCBIN "maps/RadioTower1F.blk"
-
-RadioTower2F_BlockData:
- INCBIN "maps/RadioTower2F.blk"
-
-RadioTower3F_BlockData:
- INCBIN "maps/RadioTower3F.blk"
-
-RadioTower4F_BlockData:
- INCBIN "maps/RadioTower4F.blk"
-
-RadioTower5F_BlockData:
- INCBIN "maps/RadioTower5F.blk"
-
-NewBarkTown_BlockData:
- INCBIN "maps/NewBarkTown.blk"
-
-CherrygroveCity_BlockData:
- INCBIN "maps/CherrygroveCity.blk"
-
-VioletCity_BlockData:
- INCBIN "maps/VioletCity.blk"
-
-AzaleaTown_BlockData:
- INCBIN "maps/AzaleaTown.blk"
-
-CianwoodCity_BlockData:
- INCBIN "maps/CianwoodCity.blk"
-
-GoldenrodCity_BlockData:
- INCBIN "maps/GoldenrodCity.blk"
-
-OlivineCity_BlockData:
- INCBIN "maps/OlivineCity.blk"
-
-EcruteakCity_BlockData:
- INCBIN "maps/EcruteakCity.blk"
-
-MahoganyTown_BlockData:
- INCBIN "maps/MahoganyTown.blk"
-
-LakeOfRage_BlockData:
- INCBIN "maps/LakeOfRage.blk"
-
-BlackthornCity_BlockData:
- INCBIN "maps/BlackthornCity.blk"
-
-SilverCaveOutside_BlockData:
- INCBIN "maps/SilverCaveOutside.blk"
-
-Route6_BlockData:
- INCBIN "maps/Route6.blk"
-
-Route7_BlockData:
- INCBIN "maps/Route7.blk"
-
-Route16_BlockData:
- INCBIN "maps/Route16.blk"
-
-Route18_BlockData:
- INCBIN "maps/Route18.blk"
-
-GoldenrodUnderground_BlockData:
- INCBIN "maps/GoldenrodUnderground.blk"
-
-GoldenrodUndergroundSwitchRoomEntrances_BlockData:
- INCBIN "maps/GoldenrodUndergroundSwitchRoomEntrances.blk"
-
-GoldenrodDeptStoreB1F_BlockData:
- INCBIN "maps/GoldenrodDeptStoreB1F.blk"
-
-GoldenrodUndergroundWarehouse_BlockData:
- INCBIN "maps/GoldenrodUndergroundWarehouse.blk"
-
-BetaElevator_BlockData:
- INCBIN "maps/BetaElevator.blk"
-
-TinTower1F_BlockData:
- INCBIN "maps/TinTower1F.blk"
-
-TinTower2F_BlockData:
- INCBIN "maps/TinTower2F.blk"
-
-TinTower3F_BlockData:
- INCBIN "maps/TinTower3F.blk"
-
-TinTower4F_BlockData:
- INCBIN "maps/TinTower4F.blk"
-
-TinTower5F_BlockData:
- INCBIN "maps/TinTower5F.blk"
-
-TinTower6F_BlockData:
- INCBIN "maps/TinTower6F.blk"
-
-TinTower7F_BlockData:
- INCBIN "maps/TinTower7F.blk"
-
-TinTower8F_BlockData:
- INCBIN "maps/TinTower8F.blk"
-
-TinTower9F_BlockData:
- INCBIN "maps/TinTower9F.blk"
-
-TinTowerRoof_BlockData:
- INCBIN "maps/TinTowerRoof.blk"
-
-BurnedTower1F_BlockData:
- INCBIN "maps/BurnedTower1F.blk"
-
-BurnedTowerB1F_BlockData:
- INCBIN "maps/BurnedTowerB1F.blk"
-
-BetaCaveTestMap_BlockData:
- INCBIN "maps/BetaCaveTestMap.blk"
-
-MountMortar1FOutside_BlockData:
- INCBIN "maps/MountMortar1FOutside.blk"
-
-MountMortar1FInside_BlockData:
- INCBIN "maps/MountMortar1FInside.blk"
-
-MountMortar2FInside_BlockData:
- INCBIN "maps/MountMortar2FInside.blk"
-
-MountMortarB1F_BlockData:
- INCBIN "maps/MountMortarB1F.blk"
-
-IcePath1F_BlockData:
- INCBIN "maps/IcePath1F.blk"
-
-IcePathB1F_BlockData:
- INCBIN "maps/IcePathB1F.blk"
-
-IcePathB2FMahoganySide_BlockData:
- INCBIN "maps/IcePathB2FMahoganySide.blk"
-
-IcePathB2FBlackthornSide_BlockData:
- INCBIN "maps/IcePathB2FBlackthornSide.blk"
-
-IcePathB3F_BlockData:
- INCBIN "maps/IcePathB3F.blk"
-
-WhirlIslandNW_BlockData:
- INCBIN "maps/WhirlIslandNW.blk"
-
-WhirlIslandNE_BlockData:
- INCBIN "maps/WhirlIslandNE.blk"
-
-WhirlIslandSW_BlockData:
- INCBIN "maps/WhirlIslandSW.blk"
-
-WhirlIslandCave_BlockData:
- INCBIN "maps/WhirlIslandCave.blk"
-
-WhirlIslandSE_BlockData:
- INCBIN "maps/WhirlIslandSE.blk"
-
-WhirlIslandB1F_BlockData:
- INCBIN "maps/WhirlIslandB1F.blk"
-
-WhirlIslandB2F_BlockData:
- INCBIN "maps/WhirlIslandB2F.blk"
-
-WhirlIslandLugiaChamber_BlockData:
- INCBIN "maps/WhirlIslandLugiaChamber.blk"
-
-SilverCaveRoom1_BlockData:
- INCBIN "maps/SilverCaveRoom1.blk"
-
-SilverCaveRoom2_BlockData:
- INCBIN "maps/SilverCaveRoom2.blk"
-
-SilverCaveRoom3_BlockData:
- INCBIN "maps/SilverCaveRoom3.blk"
-
-BetaRocketHideout1_BlockData:
- INCBIN "maps/BetaRocketHideout1.blk"
-
-BetaRocketHideout2_BlockData:
- INCBIN "maps/BetaRocketHideout2.blk"
-
-BetaEmptyHouse_BlockData:
- INCBIN "maps/BetaEmptyHouse.blk"
-
-BetaRocketHideout3_BlockData:
- INCBIN "maps/BetaRocketHideout3.blk"
-
-MahoganyMart1F_BlockData:
-MountMoonGiftShop_BlockData:
- INCBIN "maps/GiftShop.blk"
-
-TeamRocketBaseB1F_BlockData:
- INCBIN "maps/TeamRocketBaseB1F.blk"
-
-TeamRocketBaseB2F_BlockData:
- INCBIN "maps/TeamRocketBaseB2F.blk"
-
-TeamRocketBaseB3F_BlockData:
- INCBIN "maps/TeamRocketBaseB3F.blk"
-
-BetaRoute23EarlyVersion_BlockData:
- INCBIN "maps/BetaRoute23EarlyVersion.blk"
-
-IndigoPlateauPokecenter1F_BlockData:
- INCBIN "maps/IndigoPlateauPokecenter1F.blk"
-
-WillsRoom_BlockData:
- INCBIN "maps/WillsRoom.blk"
-
-KogasRoom_BlockData:
- INCBIN "maps/KogasRoom.blk"
-
-BrunosRoom_BlockData:
- INCBIN "maps/BrunosRoom.blk"
-
-KarensRoom_BlockData:
- INCBIN "maps/KarensRoom.blk"
-
-AzaleaGym_BlockData:
- INCBIN "maps/AzaleaGym.blk"
-
-VioletGym_BlockData:
- INCBIN "maps/VioletGym.blk"
-
-GoldenrodGym_BlockData:
- INCBIN "maps/GoldenrodGym.blk"
-
-EcruteakGym_BlockData:
- INCBIN "maps/EcruteakGym.blk"
-
-MahoganyGym_BlockData:
- INCBIN "maps/MahoganyGym.blk"
-
-OlivineGym_BlockData:
- INCBIN "maps/OlivineGym.blk"
-
-BetaUnknown_BlockData:
- INCBIN "maps/BetaUnknown.blk"
-
-CianwoodGym_BlockData:
- INCBIN "maps/CianwoodGym.blk"
-
-BlackthornGym1F_BlockData:
- INCBIN "maps/BlackthornGym1F.blk"
-
-BlackthornGym2F_BlockData:
- INCBIN "maps/BlackthornGym2F.blk"
-
-OlivineLighthouse1F_BlockData:
- INCBIN "maps/OlivineLighthouse1F.blk"
-
-OlivineLighthouse2F_BlockData:
- INCBIN "maps/OlivineLighthouse2F.blk"
-
-OlivineLighthouse3F_BlockData:
- INCBIN "maps/OlivineLighthouse3F.blk"
-
-OlivineLighthouse4F_BlockData:
- INCBIN "maps/OlivineLighthouse4F.blk"
-
-OlivineLighthouse5F_BlockData:
- INCBIN "maps/OlivineLighthouse5F.blk"
-
-OlivineLighthouse6F_BlockData:
- INCBIN "maps/OlivineLighthouse6F.blk"
-
-
-SECTION "Map Blockdata 3", ROMX
-
-BetaCave2_BlockData:
- INCBIN "maps/BetaCave2.blk"
-
-SlowpokeWellB1F_BlockData:
- INCBIN "maps/SlowpokeWellB1F.blk"
-
-SlowpokeWellB2F_BlockData:
- INCBIN "maps/SlowpokeWellB2F.blk"
-
-IlexForest_BlockData:
- INCBIN "maps/IlexForest.blk"
-
-DarkCaveVioletEntrance_BlockData:
- INCBIN "maps/DarkCaveVioletEntrance.blk"
-
-DarkCaveBlackthornEntrance_BlockData:
- INCBIN "maps/DarkCaveBlackthornEntrance.blk"
-
-RuinsOfAlphResearchCenter_BlockData:
- INCBIN "maps/RuinsOfAlphResearchCenter.blk"
-
-GoldenrodBikeShop_BlockData:
- INCBIN "maps/GoldenrodBikeShop.blk"
-
-DanceTheatre_BlockData:
- INCBIN "maps/DanceTheatre.blk"
-
-EcruteakHouse_BlockData:
- INCBIN "maps/EcruteakHouse.blk"
-
-GoldenrodGameCorner_BlockData:
- INCBIN "maps/GoldenrodGameCorner.blk"
-
-Route35NationalParkGate_BlockData:
- INCBIN "maps/Route35NationalParkGate.blk"
-
-Route36NationalParkGate_BlockData:
- INCBIN "maps/Route36NationalParkGate.blk"
-
-FastShip1F_BlockData:
- INCBIN "maps/FastShip1F.blk"
-
-FastShipB1F_BlockData:
- INCBIN "maps/FastShipB1F.blk"
-
-BetaSSAquaInsideCutOut_BlockData:
- INCBIN "maps/BetaSSAquaInsideCutOut.blk"
-
-FastShipCabins_NNW_NNE_NE_BlockData:
- INCBIN "maps/FastShipCabins_NNW_NNE_NE.blk"
-
-FastShipCabins_SW_SSW_NW_BlockData:
- INCBIN "maps/FastShipCabins_SW_SSW_NW.blk"
-
-FastShipCabins_SE_SSE_CaptainsCabin_BlockData:
- INCBIN "maps/FastShipCabins_SE_SSE_CaptainsCabin.blk"
-
-OlivinePort_BlockData:
- INCBIN "maps/OlivinePort.blk"
-
-VermilionPort_BlockData:
- INCBIN "maps/VermilionPort.blk"
-
-OlivineCafe_BlockData:
-SafariZoneMainOffice_BlockData:
- INCBIN "maps/OlivineCafe.blk"
-
-KrissHouse2F_BlockData:
- INCBIN "maps/KrissHouse2F.blk"
-
-SaffronTrainStation_BlockData:
- INCBIN "maps/SaffronTrainStation.blk"
-
-CeruleanGym_BlockData:
- INCBIN "maps/CeruleanGym.blk"
-
-VermilionGym_BlockData:
- INCBIN "maps/VermilionGym.blk"
-
-SaffronGym_BlockData:
- INCBIN "maps/SaffronGym.blk"
-
-PowerPlant_BlockData:
- INCBIN "maps/PowerPlant.blk"
-
-PokemonFanClub_BlockData:
-SafariZoneWardensHome_BlockData:
- INCBIN "maps/PokemonFanClub.blk"
-
-FightingDojo_BlockData:
- INCBIN "maps/FightingDojo.blk"
-
-SilphCo1F_BlockData:
- INCBIN "maps/SilphCo1F.blk"
-
-ViridianGym_BlockData:
- INCBIN "maps/ViridianGym.blk"
-
-TrainerHouse1F_BlockData:
- INCBIN "maps/TrainerHouse1F.blk"
-
-TrainerHouseB1F_BlockData:
- INCBIN "maps/TrainerHouseB1F.blk"
-
-RedsHouse1F_BlockData:
- INCBIN "maps/RedsHouse1F.blk"
-
-RedsHouse2F_BlockData:
- INCBIN "maps/RedsHouse2F.blk"
-
-OaksLab_BlockData:
- INCBIN "maps/OaksLab.blk"
-
-MrFujisHouse_BlockData:
- INCBIN "maps/MrFujisHouse.blk"
-
-LavRadioTower1F_BlockData:
- INCBIN "maps/LavRadioTower1F.blk"
-
-SilverCaveItemRooms_BlockData:
- INCBIN "maps/SilverCaveItemRooms.blk"
-
-DayCare_BlockData:
- INCBIN "maps/DayCare.blk"
-
-SoulHouse_BlockData:
- INCBIN "maps/SoulHouse.blk"
-
-PewterGym_BlockData:
- INCBIN "maps/PewterGym.blk"
-
-CeladonGym_BlockData:
- INCBIN "maps/CeladonGym.blk"
-
-BetaHouse2_BlockData:
- INCBIN "maps/BetaHouse2.blk"
-
-CeladonCafe_BlockData:
- INCBIN "maps/CeladonCafe.blk"
-
-BetaCeladonMansion_BlockData:
- INCBIN "maps/BetaCeladonMansion.blk"
-
-RockTunnel1F_BlockData:
- INCBIN "maps/RockTunnel1F.blk"
-
-RockTunnelB1F_BlockData:
- INCBIN "maps/RockTunnelB1F.blk"
-
-DiglettsCave_BlockData:
- INCBIN "maps/DiglettsCave.blk"
-
-MountMoon_BlockData:
- INCBIN "maps/MountMoon.blk"
-
-SeafoamGym_BlockData:
- INCBIN "maps/SeafoamGym.blk"
-
-MrPokemonsHouse_BlockData:
- INCBIN "maps/MrPokemonsHouse.blk"
-
-VictoryRoadGate_BlockData:
- INCBIN "maps/VictoryRoadGate.blk"
-
-OlivinePortPassage_BlockData:
-VermilionPortPassage_BlockData:
- INCBIN "maps/PortPassage.blk"
-
-FuchsiaGym_BlockData:
- INCBIN "maps/FuchsiaGym.blk"
-
-SafariZoneBeta_BlockData:
- INCBIN "maps/SafariZoneBeta.blk"
-
-UndergroundPath_BlockData:
- INCBIN "maps/UndergroundPath.blk"
-
-Route39Barn_BlockData:
- INCBIN "maps/Route39Barn.blk"
-
-VictoryRoad_BlockData:
- INCBIN "maps/VictoryRoad.blk"
-
-Route23_BlockData:
- INCBIN "maps/Route23.blk"
-
-LancesRoom_BlockData:
- INCBIN "maps/LancesRoom.blk"
-
-HallOfFame_BlockData:
- INCBIN "maps/HallOfFame.blk"
-
-CopycatsHouse1F_BlockData:
- INCBIN "maps/CopycatsHouse1F.blk"
-
-CopycatsHouse2F_BlockData:
- INCBIN "maps/CopycatsHouse2F.blk"
-
-GoldenrodFlowerShop_BlockData:
- INCBIN "maps/GoldenrodFlowerShop.blk"
-
-MountMoonSquare_BlockData:
- INCBIN "maps/MountMoonSquare.blk"
-
-WiseTriosRoom_BlockData:
- INCBIN "maps/WiseTriosRoom.blk"
-
-DragonsDen1F_BlockData:
- INCBIN "maps/DragonsDen1F.blk"
-
-DragonsDenB1F_BlockData:
- INCBIN "maps/DragonsDenB1F.blk"
-
-TohjoFalls_BlockData:
- INCBIN "maps/TohjoFalls.blk"
-
-RuinsOfAlphHoOhItemRoom_BlockData:
-RuinsOfAlphKabutoItemRoom_BlockData:
-RuinsOfAlphOmanyteItemRoom_BlockData:
-RuinsOfAlphAerodactylItemRoom_BlockData:
- INCBIN "maps/RuinsOfAlphItemRoom.blk"
-
-RuinsOfAlphHoOhWordRoom_BlockData:
- INCBIN "maps/RuinsOfAlphHoOhWordRoom.blk"
-
-RuinsOfAlphKabutoWordRoom_BlockData:
- INCBIN "maps/RuinsOfAlphKabutoWordRoom.blk"
-
-RuinsOfAlphOmanyteWordRoom_BlockData:
- INCBIN "maps/RuinsOfAlphOmanyteWordRoom.blk"
-
-RuinsOfAlphAerodactylWordRoom_BlockData:
- INCBIN "maps/RuinsOfAlphAerodactylWordRoom.blk"
-
-DragonShrine_BlockData:
- INCBIN "maps/DragonShrine.blk"
-
-BattleTower1F_BlockData:
- INCBIN "maps/BattleTower1F.blk"
-
-BattleTowerBattleRoom_BlockData:
- INCBIN "maps/BattleTowerBattleRoom.blk"
-
-GoldenrodPokeComCenter2FMobile_BlockData:
- INCBIN "maps/GoldenrodPokeComCenter2FMobile.blk"
-
-MobileTradeRoomMobile_BlockData:
- INCBIN "maps/MobileTradeRoomMobile.blk"
-
-MobileBattleRoom_BlockData:
- INCBIN "maps/MobileBattleRoom.blk"
-
-BattleTowerHallway_BlockData:
- INCBIN "maps/BattleTowerHallway.blk"
-
-BattleTowerElevator_BlockData:
- INCBIN "maps/BattleTowerElevator.blk"
-
-BattleTowerOutside_BlockData:
- INCBIN "maps/BattleTowerOutside.blk"
-
-BetaBlank_BlockData:
- INCBIN "maps/BetaBlank.blk"
-
-GoldenrodDeptStoreRoof_BlockData:
- INCBIN "maps/GoldenrodDeptStoreRoof.blk"
diff --git a/maps/map_headers.asm b/maps/map_headers.asm
deleted file mode 100644
index ac4b20ece..000000000
--- a/maps/map_headers.asm
+++ /dev/null
@@ -1,510 +0,0 @@
-map_header: MACRO
-;\1: map label
-;\2: tileset: a TILESET_* constant
-;\3: environment: TOWN, ROUTE, INDOOR, CAVE, ENVIRONMENT_5, GATE, or DUNGEON
-;\4: location: from constants/landmark_constants.asm
-;\5: music: a MUSIC_* constant
-;\6: phone service flag: 1 to prevent phone calls
-;\7: time of day: a PALETTE_* constant
-;\8: fishing group: a FISHGROUP_* constant
-\1_MapHeader:
- db BANK(\1_SecondMapHeader), \2, \3
- dw \1_SecondMapHeader
- db \4, \5
- dn \6, \7
- db \8
-ENDM
-
-MapGroupPointers::
-; pointers to the first map header of each map group
- dw MapGroup_Olivine ; 1
- dw MapGroup_Mahogany ; 2
- dw MapGroup_Dungeons ; 3
- dw MapGroup_Ecruteak ; 4
- dw MapGroup_Blackthorn ; 5
- dw MapGroup_Cinnabar ; 6
- dw MapGroup_Cerulean ; 7
- dw MapGroup_Azalea ; 8
- dw MapGroup_LakeOfRage ; 9
- dw MapGroup_Violet ; 10
- dw MapGroup_Goldenrod ; 11
- dw MapGroup_Vermilion ; 12
- dw MapGroup_Pallet ; 13
- dw MapGroup_Pewter ; 14
- dw MapGroup_FastShip ; 15
- dw MapGroup_Indigo ; 16
- dw MapGroup_Fuchsia ; 17
- dw MapGroup_Lavender ; 18
- dw MapGroup_Silver ; 19
- dw MapGroup_CableClub ; 20
- dw MapGroup_Celadon ; 21
- dw MapGroup_Cianwood ; 22
- dw MapGroup_Viridian ; 23
- dw MapGroup_NewBark ; 24
- dw MapGroup_Saffron ; 25
- dw MapGroup_Cherrygrove ; 26
-
-MapGroup_Olivine:
- map_header OlivinePokecenter1F, TILESET_POKECENTER, INDOOR, OLIVINE_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header OlivineGym, TILESET_OLIVINE_GYM, INDOOR, OLIVINE_CITY, MUSIC_GYM, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header OlivineTimsHouse, TILESET_HOUSE_1, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header OlivineHouseBeta, TILESET_HOUSE_1, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header OlivinePunishmentSpeechHouse, TILESET_HOUSE_1, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header OlivineGoodRodHouse, TILESET_HOUSE_1, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header OlivineCafe, TILESET_GAME_CORNER, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header OlivineMart, TILESET_MART, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route38EcruteakGate, TILESET_GATE, GATE, ROUTE_38, MUSIC_ROUTE_37, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route39Barn, TILESET_KURTS_HOUSE, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route39Farmhouse, TILESET_HOUSE_1, INDOOR, ROUTE_39, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route38, TILESET_JOHTO_1, ROUTE, ROUTE_38, MUSIC_ROUTE_37, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header Route39, TILESET_JOHTO_1, ROUTE, ROUTE_39, MUSIC_ROUTE_37, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header OlivineCity, TILESET_JOHTO_1, TOWN, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_AUTO, FISHGROUP_SHORE
-
-
-MapGroup_Mahogany:
- map_header MahoganyRedGyaradosSpeechHouse, TILESET_HOUSE_1, INDOOR, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header MahoganyGym, TILESET_GYM_1, INDOOR, MAHOGANY_TOWN, MUSIC_GYM, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header MahoganyPokecenter1F, TILESET_POKECENTER, INDOOR, MAHOGANY_TOWN, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route42EcruteakGate, TILESET_GATE, GATE, ROUTE_42, MUSIC_LAKE_OF_RAGE, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route42, TILESET_JOHTO_1, ROUTE, ROUTE_42, MUSIC_LAKE_OF_RAGE, 0, PALETTE_AUTO, FISHGROUP_LAKE
- map_header Route44, TILESET_JOHTO_1, ROUTE, ROUTE_44, MUSIC_LAKE_OF_RAGE, 0, PALETTE_AUTO, FISHGROUP_POND
- map_header MahoganyTown, TILESET_JOHTO_1, TOWN, MAHOGANY_TOWN, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_AUTO, FISHGROUP_SHORE
-
-
-MapGroup_Dungeons:
- map_header SproutTower1F, TILESET_SPROUT_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header SproutTower2F, TILESET_SPROUT_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header SproutTower3F, TILESET_SPROUT_TOWER, DUNGEON, SPROUT_TOWER, MUSIC_SPROUT_TOWER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header TinTower1F, TILESET_SPROUT_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header TinTower2F, TILESET_SPROUT_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header TinTower3F, TILESET_SPROUT_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header TinTower4F, TILESET_SPROUT_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header TinTower5F, TILESET_SPROUT_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header TinTower6F, TILESET_SPROUT_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header TinTower7F, TILESET_SPROUT_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header TinTower8F, TILESET_SPROUT_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header TinTower9F, TILESET_SPROUT_TOWER, DUNGEON, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header BurnedTower1F, TILESET_SPROUT_TOWER, DUNGEON, BURNED_TOWER, MUSIC_BURNED_TOWER, 1, PALETTE_NITE, FISHGROUP_SHORE
- map_header BurnedTowerB1F, TILESET_CAVE, CAVE, BURNED_TOWER, MUSIC_BURNED_TOWER, 1, PALETTE_NITE, FISHGROUP_SHORE
- map_header NationalPark, TILESET_PARK, ROUTE, NATIONAL_PARK, MUSIC_NATIONAL_PARK, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header NationalParkBugContest, TILESET_PARK, ROUTE, NATIONAL_PARK, MUSIC_BUG_CATCHING_CONTEST, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header RadioTower1F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RadioTower2F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RadioTower3F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RadioTower4F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RadioTower5F, TILESET_RADIO_TOWER, INDOOR, RADIO_TOWER, RADIO_TOWER_MUSIC | MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RuinsOfAlphOutside, TILESET_JOHTO_1, ROUTE, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 0, PALETTE_AUTO, FISHGROUP_POND
- map_header RuinsOfAlphHoOhChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RuinsOfAlphKabutoChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RuinsOfAlphOmanyteChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RuinsOfAlphAerodactylChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RuinsOfAlphInnerChamber, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_RUINS_OF_ALPH_INTERIOR, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RuinsOfAlphResearchCenter, TILESET_POWER_PLANT, INDOOR, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header RuinsOfAlphHoOhItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RuinsOfAlphKabutoItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RuinsOfAlphOmanyteItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RuinsOfAlphAerodactylItemRoom, TILESET_RUINS_OF_ALPH, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RuinsOfAlphHoOhWordRoom, TILESET_HO_OH_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RuinsOfAlphKabutoWordRoom, TILESET_KABUTO_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RuinsOfAlphOmanyteWordRoom, TILESET_OMANYTE_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header RuinsOfAlphAerodactylWordRoom, TILESET_AERODACTYL_WORD_ROOM, DUNGEON, RUINS_OF_ALPH, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header UnionCave1F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, 1, PALETTE_NITE, FISHGROUP_LAKE
- map_header UnionCaveB1F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, 1, PALETTE_NITE, FISHGROUP_LAKE
- map_header UnionCaveB2F, TILESET_CAVE, CAVE, UNION_CAVE, MUSIC_UNION_CAVE, 1, PALETTE_NITE, FISHGROUP_SHORE
- map_header SlowpokeWellB1F, TILESET_CAVE, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, 1, PALETTE_NITE, FISHGROUP_LAKE
- map_header SlowpokeWellB2F, TILESET_CAVE, CAVE, SLOWPOKE_WELL, MUSIC_DARK_CAVE, 1, PALETTE_NITE, FISHGROUP_LAKE
- map_header OlivineLighthouse1F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header OlivineLighthouse2F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header OlivineLighthouse3F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header OlivineLighthouse4F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header OlivineLighthouse5F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_LIGHTHOUSE, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header OlivineLighthouse6F, TILESET_LIGHTHOUSE, DUNGEON, LIGHTHOUSE, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header MahoganyMart1F, TILESET_KURTS_HOUSE, INDOOR, MAHOGANY_TOWN, MUSIC_MAHOGANY_MART, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header TeamRocketBaseB1F, TILESET_UNDERGROUND, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header TeamRocketBaseB2F, TILESET_POWER_PLANT, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header TeamRocketBaseB3F, TILESET_POWER_PLANT, DUNGEON, MAHOGANY_TOWN, MUSIC_ROCKET_HIDEOUT, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header IlexForest, TILESET_ILEX_FOREST, CAVE, ILEX_FOREST, MUSIC_UNION_CAVE, 0, PALETTE_NITE, FISHGROUP_POND
- map_header GoldenrodUnderground, TILESET_GATE, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodUndergroundSwitchRoomEntrances, TILESET_GYM_1, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodDeptStoreB1F, TILESET_UNDERGROUND, DUNGEON, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodUndergroundWarehouse, TILESET_UNDERGROUND, DUNGEON, GOLDENROD_CITY, MUSIC_UNION_CAVE, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header MountMortar1FOutside, TILESET_WHIRL_ISLANDS, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, PALETTE_NITE, FISHGROUP_LAKE
- map_header MountMortar1FInside, TILESET_WHIRL_ISLANDS, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, PALETTE_NITE, FISHGROUP_LAKE
- map_header MountMortar2FInside, TILESET_WHIRL_ISLANDS, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, PALETTE_NITE, FISHGROUP_LAKE
- map_header MountMortarB1F, TILESET_WHIRL_ISLANDS, CAVE, MT_MORTAR, MUSIC_UNION_CAVE, 1, PALETTE_NITE, FISHGROUP_LAKE
- map_header IcePath1F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, PALETTE_NITE, FISHGROUP_DRATINI
- map_header IcePathB1F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, PALETTE_NITE, FISHGROUP_DRATINI
- map_header IcePathB2FMahoganySide, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, PALETTE_NITE, FISHGROUP_DRATINI
- map_header IcePathB2FBlackthornSide, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, PALETTE_NITE, FISHGROUP_DRATINI
- map_header IcePathB3F, TILESET_ICE_PATH, CAVE, ICE_PATH, MUSIC_DARK_CAVE, 1, PALETTE_NITE, FISHGROUP_DRATINI
- map_header WhirlIslandNW, TILESET_WHIRL_ISLANDS, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
- map_header WhirlIslandNE, TILESET_WHIRL_ISLANDS, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
- map_header WhirlIslandSW, TILESET_WHIRL_ISLANDS, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
- map_header WhirlIslandCave, TILESET_WHIRL_ISLANDS, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
- map_header WhirlIslandSE, TILESET_WHIRL_ISLANDS, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
- map_header WhirlIslandB1F, TILESET_WHIRL_ISLANDS, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
- map_header WhirlIslandB2F, TILESET_WHIRL_ISLANDS, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
- map_header WhirlIslandLugiaChamber, TILESET_WHIRL_ISLANDS, CAVE, WHIRL_ISLANDS, MUSIC_UNION_CAVE, 1, PALETTE_DARK, FISHGROUP_WHIRL_ISLANDS
- map_header SilverCaveRoom1, TILESET_WHIRL_ISLANDS, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, 1, PALETTE_DARK, FISHGROUP_LAKE
- map_header SilverCaveRoom2, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, 1, PALETTE_NITE, FISHGROUP_LAKE
- map_header SilverCaveRoom3, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, 1, PALETTE_DAY, FISHGROUP_LAKE
- map_header SilverCaveItemRooms, TILESET_CAVE, CAVE, SILVER_CAVE, MUSIC_LIGHTHOUSE, 1, PALETTE_NITE, FISHGROUP_LAKE
- map_header DarkCaveVioletEntrance, TILESET_WHIRL_ISLANDS, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, 1, PALETTE_DARK, FISHGROUP_LAKE
- map_header DarkCaveBlackthornEntrance, TILESET_WHIRL_ISLANDS, CAVE, DARK_CAVE, MUSIC_DARK_CAVE, 1, PALETTE_DARK, FISHGROUP_LAKE
- map_header DragonsDen1F, TILESET_CAVE, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, 1, PALETTE_NITE, FISHGROUP_DRATINI
- map_header DragonsDenB1F, TILESET_JOHTO_1, CAVE, DRAGONS_DEN, MUSIC_DRAGONS_DEN, 1, PALETTE_NITE, FISHGROUP_DRATINI
- map_header DragonShrine, TILESET_LAB, INDOOR, DRAGONS_DEN, MUSIC_DRAGONS_DEN, 1, PALETTE_NITE, FISHGROUP_SHORE
- map_header TohjoFalls, TILESET_CAVE, CAVE, TOHJO_FALLS, MUSIC_UNION_CAVE, 1, PALETTE_NITE, FISHGROUP_LAKE
- map_header DiglettsCave, TILESET_CAVE, CAVE, DIGLETTS_CAVE, MUSIC_MT_MOON, 1, PALETTE_NITE, FISHGROUP_SHORE
- map_header MountMoon, TILESET_CAVE, CAVE, MT_MOON, MUSIC_MT_MOON, 1, PALETTE_NITE, FISHGROUP_SHORE
- map_header UndergroundPath, TILESET_UNDERGROUND, GATE, UNDERGROUND_PATH, MUSIC_MT_MOON, 0, PALETTE_NITE, FISHGROUP_SHORE
- map_header RockTunnel1F, TILESET_WHIRL_ISLANDS, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, 1, PALETTE_DARK, FISHGROUP_SHORE
- map_header RockTunnelB1F, TILESET_WHIRL_ISLANDS, CAVE, ROCK_TUNNEL, MUSIC_MT_MOON, 1, PALETTE_DARK, FISHGROUP_SHORE
- map_header SafariZoneFuchsiaGateBeta, TILESET_GATE, INDOOR, FUCHSIA_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header SafariZoneBeta, TILESET_PARK, CAVE, FUCHSIA_CITY, MUSIC_EVOLUTION, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header VictoryRoad, TILESET_CAVE, CAVE, VICTORY_ROAD, MUSIC_VICTORY_ROAD, 1, PALETTE_NITE, FISHGROUP_SHORE
-
-
-MapGroup_Ecruteak:
- map_header EcruteakHouse, TILESET_SPROUT_TOWER, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header WiseTriosRoom, TILESET_KURTS_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header EcruteakPokecenter1F, TILESET_POKECENTER, INDOOR, ECRUTEAK_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header EcruteakLugiaSpeechHouse, TILESET_KURTS_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header DanceTheatre, TILESET_KURTS_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_DANCING_HALL, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header EcruteakMart, TILESET_MART, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header EcruteakGym, TILESET_SPROUT_TOWER, INDOOR, ECRUTEAK_CITY, MUSIC_GYM, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header EcruteakItemfinderHouse, TILESET_KURTS_HOUSE, INDOOR, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header EcruteakCity, TILESET_JOHTO_1, TOWN, ECRUTEAK_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_AUTO, FISHGROUP_POND
-
-
-MapGroup_Blackthorn:
- map_header BlackthornGym1F, TILESET_GYM_1, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header BlackthornGym2F, TILESET_GYM_1, INDOOR, BLACKTHORN_CITY, MUSIC_GYM, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header BlackthornDragonSpeechHouse, TILESET_HOUSE_1, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header BlackthornEmysHouse, TILESET_HOUSE_1, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header BlackthornMart, TILESET_MART, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header BlackthornPokecenter1F, TILESET_POKECENTER, INDOOR, BLACKTHORN_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header MoveDeletersHouse, TILESET_HOUSE_1, INDOOR, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route45, TILESET_JOHTO_1, ROUTE, ROUTE_45, MUSIC_ROUTE_36, 0, PALETTE_AUTO, FISHGROUP_DRATINI_2
- map_header Route46, TILESET_JOHTO_1, ROUTE, ROUTE_46, MUSIC_ROUTE_36, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header BlackthornCity, TILESET_JOHTO_1, TOWN, BLACKTHORN_CITY, MUSIC_AZALEA_TOWN, 0, PALETTE_AUTO, FISHGROUP_POND
-
-
-MapGroup_Cinnabar:
- map_header CinnabarPokecenter1F, TILESET_POKECENTER, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CinnabarPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CINNABAR_ISLAND, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route19FuchsiaGate, TILESET_GATE, GATE, ROUTE_19, MUSIC_ROUTE_3, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header SeafoamGym, TILESET_CAVE, INDOOR, SEAFOAM_ISLANDS, MUSIC_GYM, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route19, TILESET_KANTO, ROUTE, ROUTE_19, MUSIC_ROUTE_3, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header Route20, TILESET_KANTO, ROUTE, ROUTE_20, MUSIC_ROUTE_3, 0, PALETTE_AUTO, FISHGROUP_OCEAN
- map_header Route21, TILESET_KANTO, ROUTE, ROUTE_21, MUSIC_ROUTE_3, 0, PALETTE_AUTO, FISHGROUP_OCEAN
- map_header CinnabarIsland, TILESET_KANTO, TOWN, CINNABAR_ISLAND, MUSIC_VIRIDIAN_CITY, 0, PALETTE_AUTO, FISHGROUP_OCEAN
-
-
-MapGroup_Cerulean:
- map_header CeruleanGymBadgeSpeechHouse, TILESET_HOUSE_1, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeruleanPoliceStation, TILESET_HOUSE_1, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeruleanTradeSpeechHouse, TILESET_HOUSE_1, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeruleanPokecenter1F, TILESET_POKECENTER, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeruleanPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CERULEAN_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeruleanGym, TILESET_PORT, INDOOR, CERULEAN_CITY, MUSIC_GYM, 1, PALETTE_DAY, FISHGROUP_NONE
- map_header CeruleanMart, TILESET_MART, INDOOR, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route10Pokecenter1F, TILESET_POKECENTER, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route10Pokecenter2FBeta, TILESET_POKECENTER, INDOOR, ROUTE_10, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header PowerPlant, TILESET_POWER_PLANT, INDOOR, POWER_PLANT, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header BillsHouse, TILESET_HOUSE_1, INDOOR, ROUTE_25, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route4, TILESET_KANTO, ROUTE, ROUTE_4, MUSIC_ROUTE_3, 0, PALETTE_AUTO, FISHGROUP_NONE
- map_header Route9, TILESET_KANTO, ROUTE, ROUTE_9, MUSIC_ROUTE_3, 0, PALETTE_AUTO, FISHGROUP_LAKE
- map_header Route10North, TILESET_KANTO, ROUTE, ROUTE_10, MUSIC_ROUTE_3, 0, PALETTE_AUTO, FISHGROUP_LAKE
- map_header Route24, TILESET_KANTO, ROUTE, ROUTE_24, MUSIC_ROUTE_3, 0, PALETTE_AUTO, FISHGROUP_LAKE
- map_header Route25, TILESET_KANTO, ROUTE, ROUTE_25, MUSIC_ROUTE_3, 0, PALETTE_AUTO, FISHGROUP_LAKE
- map_header CeruleanCity, TILESET_KANTO, TOWN, CERULEAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_AUTO, FISHGROUP_NONE
-
-
-MapGroup_Azalea:
- map_header AzaleaPokecenter1F, TILESET_POKECENTER, INDOOR, AZALEA_TOWN, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CharcoalKiln, TILESET_HOUSE_1, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header AzaleaMart, TILESET_MART, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header KurtsHouse, TILESET_KURTS_HOUSE, INDOOR, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header AzaleaGym, TILESET_GYM_1, INDOOR, AZALEA_TOWN, MUSIC_GYM, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route33, TILESET_JOHTO_2, ROUTE, ROUTE_33, MUSIC_ROUTE_30, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header AzaleaTown, TILESET_JOHTO_2, TOWN, AZALEA_TOWN, MUSIC_AZALEA_TOWN, 0, PALETTE_AUTO, FISHGROUP_SHORE
-
-
-MapGroup_LakeOfRage:
- map_header LakeOfRageHiddenPowerHouse, TILESET_HOUSE_1, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header LakeOfRageMagikarpHouse, TILESET_HOUSE_1, INDOOR, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route43MahoganyGate, TILESET_GATE, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route43Gate, TILESET_GATE, GATE, ROUTE_43, MUSIC_LAKE_OF_RAGE, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route43, TILESET_JOHTO_1, ROUTE, ROUTE_43, MUSIC_LAKE_OF_RAGE, 0, PALETTE_AUTO, FISHGROUP_POND
- map_header LakeOfRage, TILESET_JOHTO_1, TOWN, LAKE_OF_RAGE, MUSIC_LAKE_OF_RAGE, 0, PALETTE_AUTO, FISHGROUP_GYARADOS
-
-
-MapGroup_Violet:
- map_header Route32, TILESET_JOHTO_1, ROUTE, ROUTE_32, MUSIC_ROUTE_30, 0, PALETTE_AUTO, FISHGROUP_QWILFISH
- map_header Route35, TILESET_JOHTO_1, ROUTE, ROUTE_35, MUSIC_ROUTE_36, 0, PALETTE_AUTO, FISHGROUP_POND
- map_header Route36, TILESET_JOHTO_1, ROUTE, ROUTE_36, MUSIC_ROUTE_36, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header Route37, TILESET_JOHTO_1, ROUTE, ROUTE_37, MUSIC_ROUTE_36, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header VioletCity, TILESET_JOHTO_1, TOWN, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_AUTO, FISHGROUP_POND
- map_header VioletMart, TILESET_MART, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header VioletGym, TILESET_GYM_1, INDOOR, VIOLET_CITY, MUSIC_GYM, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header EarlsPokemonAcademy, TILESET_LAB, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header VioletNicknameSpeechHouse, TILESET_KURTS_HOUSE, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header VioletPokecenter1F, TILESET_POKECENTER, INDOOR, VIOLET_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header VioletKylesHouse, TILESET_KURTS_HOUSE, INDOOR, VIOLET_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route32RuinsOfAlphGate, TILESET_GATE, GATE, ROUTE_32, MUSIC_ROUTE_30, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route32Pokecenter1F, TILESET_POKECENTER, INDOOR, ROUTE_32, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route35GoldenrodGate, TILESET_GATE, GATE, ROUTE_35, MUSIC_ROUTE_36, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route35NationalParkGate, TILESET_GATE, INDOOR, ROUTE_35, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route36RuinsOfAlphGate, TILESET_GATE, GATE, ROUTE_36, MUSIC_ROUTE_36, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route36NationalParkGate, TILESET_GATE, INDOOR, ROUTE_36, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
-
-
-MapGroup_Goldenrod:
- map_header Route34, TILESET_JOHTO_2, ROUTE, ROUTE_34, MUSIC_ROUTE_36, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header GoldenrodCity, TILESET_JOHTO_2, TOWN, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header GoldenrodGym, TILESET_GYM_1, INDOOR, GOLDENROD_CITY, MUSIC_GYM, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodBikeShop, TILESET_OLIVINE_GYM, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodHappinessRater, TILESET_HOUSE_1, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodBillsHouse, TILESET_HOUSE_1, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodMagnetTrainStation, TILESET_TRAIN_STATION, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodFlowerShop, TILESET_HOUSE_1, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodPPSpeechHouse, TILESET_HOUSE_1, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodNameRater, TILESET_HOUSE_1, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodDeptStore1F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodDeptStore2F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodDeptStore3F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodDeptStore4F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodDeptStore5F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodDeptStore6F, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodDeptStoreElevator, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodDeptStoreRoof, TILESET_MART, INDOOR, GOLDENROD_CITY, MUSIC_GOLDENROD_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodGameCorner, TILESET_GAME_CORNER, INDOOR, GOLDENROD_CITY, MUSIC_GAME_CORNER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodPokecenter1F, TILESET_POKECENTER, INDOOR, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header GoldenrodPokeComCenter2FMobile, TILESET_POKECOM_CENTER, INDOOR, GOLDENROD_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header IlexForestAzaleaGate, TILESET_GATE, GATE, ROUTE_34, MUSIC_ROUTE_36, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route34IlexForestGate, TILESET_GATE, GATE, ROUTE_34, MUSIC_ROUTE_36, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header DayCare, TILESET_HOUSE_1, INDOOR, ROUTE_34, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
-
-
-MapGroup_Vermilion:
- map_header Route6, TILESET_KANTO, ROUTE, ROUTE_6, MUSIC_ROUTE_3, 0, PALETTE_AUTO, FISHGROUP_POND
- map_header Route11, TILESET_KANTO, ROUTE, ROUTE_11, MUSIC_ROUTE_12, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header VermilionCity, TILESET_KANTO, TOWN, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_AUTO, FISHGROUP_OCEAN
- map_header VermilionHouseFishingSpeechHouse, TILESET_HOUSE_1, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header VermilionPokecenter1F, TILESET_POKECENTER, INDOOR, VERMILION_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header VermilionPokecenter2FBeta, TILESET_POKECENTER, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header PokemonFanClub, TILESET_HOUSE_1, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header VermilionMagnetTrainSpeechHouse, TILESET_HOUSE_1, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header VermilionMart, TILESET_MART, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header VermilionHouseDiglettsCaveSpeechHouse, TILESET_HOUSE_1, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header VermilionGym, TILESET_GAME_CORNER, INDOOR, VERMILION_CITY, MUSIC_GYM, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route6SaffronGate, TILESET_GATE, GATE, ROUTE_6, MUSIC_ROUTE_3, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route6UndergroundPathEntrance, TILESET_GATE, GATE, ROUTE_6, MUSIC_ROUTE_3, 0, PALETTE_DAY, FISHGROUP_SHORE
-
-
-MapGroup_Pallet:
- map_header Route1, TILESET_KANTO, ROUTE, ROUTE_1, MUSIC_ROUTE_1, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header PalletTown, TILESET_KANTO, TOWN, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, PALETTE_AUTO, FISHGROUP_OCEAN
- map_header RedsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header RedsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header BluesHouse, TILESET_HOUSE_1, INDOOR, PALLET_TOWN, MUSIC_PALLET_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header OaksLab, TILESET_LAB, INDOOR, PALLET_TOWN, MUSIC_POKEMON_TALK, 0, PALETTE_DAY, FISHGROUP_SHORE
-
-
-MapGroup_Pewter:
- map_header Route3, TILESET_KANTO, ROUTE, ROUTE_3, MUSIC_ROUTE_3, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header PewterCity, TILESET_KANTO, TOWN, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header PewterNidoranSpeechHouse, TILESET_HOUSE_1, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header PewterGym, TILESET_SPROUT_TOWER, INDOOR, PEWTER_CITY, MUSIC_GYM, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header PewterMart, TILESET_MART, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header PewterPokecenter1F, TILESET_POKECENTER, INDOOR, PEWTER_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header PewterPokecenter2FBeta, TILESET_POKECENTER, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header PewterSnoozeSpeechHouse, TILESET_HOUSE_1, INDOOR, PEWTER_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
-
-
-MapGroup_FastShip:
- map_header OlivinePort, TILESET_PORT, ROUTE, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_AUTO, FISHGROUP_OCEAN
- map_header VermilionPort, TILESET_PORT, ROUTE, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_AUTO, FISHGROUP_OCEAN
- map_header FastShip1F, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header FastShipCabins_NNW_NNE_NE, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header FastShipCabins_SW_SSW_NW, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header FastShipCabins_SE_SSE_CaptainsCabin, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header FastShipB1F, TILESET_LIGHTHOUSE, INDOOR, FAST_SHIP, MUSIC_SS_AQUA, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header OlivinePortPassage, TILESET_UNDERGROUND, INDOOR, OLIVINE_CITY, MUSIC_VIOLET_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header VermilionPortPassage, TILESET_UNDERGROUND, INDOOR, VERMILION_CITY, MUSIC_VERMILION_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header MountMoonSquare, TILESET_KANTO, ROUTE, MT_MOON, MUSIC_MT_MOON_SQUARE, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header MountMoonGiftShop, TILESET_KURTS_HOUSE, INDOOR, MT_MOON, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header TinTowerRoof, TILESET_SPROUT_TOWER, ROUTE, TIN_TOWER, MUSIC_TIN_TOWER, 0, PALETTE_AUTO, FISHGROUP_SHORE
-
-
-MapGroup_Indigo:
- map_header Route23, TILESET_KANTO, TOWN, ROUTE_23, MUSIC_INDIGO_PLATEAU, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header IndigoPlateauPokecenter1F, TILESET_POKECENTER, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header WillsRoom, TILESET_GYM_1, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header KogasRoom, TILESET_GYM_1, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header BrunosRoom, TILESET_GYM_1, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header KarensRoom, TILESET_GYM_1, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header LancesRoom, TILESET_OLIVINE_GYM, INDOOR, INDIGO_PLATEAU, MUSIC_INDIGO_PLATEAU, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header HallOfFame, TILESET_ICE_PATH, INDOOR, INDIGO_PLATEAU, MUSIC_NEW_BARK_TOWN, 1, PALETTE_DAY, FISHGROUP_SHORE
-
-
-MapGroup_Fuchsia:
- map_header Route13, TILESET_KANTO, ROUTE, ROUTE_13, MUSIC_ROUTE_12, 0, PALETTE_AUTO, FISHGROUP_QWILFISH_NO_SWARM
- map_header Route14, TILESET_KANTO, ROUTE, ROUTE_14, MUSIC_ROUTE_12, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header Route15, TILESET_KANTO, ROUTE, ROUTE_15, MUSIC_ROUTE_12, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header Route18, TILESET_KANTO, ROUTE, ROUTE_18, MUSIC_ROUTE_3, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header FuchsiaCity, TILESET_KANTO, TOWN, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_AUTO, FISHGROUP_GYARADOS
- map_header FuchsiaMart, TILESET_MART, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header SafariZoneMainOffice, TILESET_GAME_CORNER, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header FuchsiaGym, TILESET_LAB, INDOOR, FUCHSIA_CITY, MUSIC_GYM, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header FuchsiaBillSpeechHouse, TILESET_HOUSE_1, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header FuchsiaPokecenter1F, TILESET_POKECENTER, INDOOR, FUCHSIA_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header FuchsiaPokecenter2FBeta, TILESET_POKECENTER, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header SafariZoneWardensHome, TILESET_HOUSE_1, INDOOR, FUCHSIA_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route15FuchsiaGate, TILESET_GATE, GATE, ROUTE_15, MUSIC_ROUTE_12, 0, PALETTE_DAY, FISHGROUP_SHORE
-
-
-MapGroup_Lavender:
- map_header Route8, TILESET_KANTO, ROUTE, ROUTE_8, MUSIC_ROUTE_3, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header Route12, TILESET_KANTO, ROUTE, ROUTE_12, MUSIC_ROUTE_12, 0, PALETTE_AUTO, FISHGROUP_QWILFISH_NO_SWARM
- map_header Route10South, TILESET_KANTO, ROUTE, ROUTE_10, MUSIC_ROUTE_3, 0, PALETTE_AUTO, FISHGROUP_LAKE
- map_header LavenderTown, TILESET_KANTO, TOWN, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header LavenderPokecenter1F, TILESET_POKECENTER, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header LavenderPokecenter2FBeta, TILESET_POKECENTER, INDOOR, LAVENDER_TOWN, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header MrFujisHouse, TILESET_HOUSE_1, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header LavenderTownSpeechHouse, TILESET_HOUSE_1, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header LavenderNameRater, TILESET_HOUSE_1, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header LavenderMart, TILESET_MART, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header SoulHouse, TILESET_HOUSE_1, INDOOR, LAVENDER_TOWN, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header LavRadioTower1F, TILESET_RADIO_TOWER, INDOOR, LAV_RADIO_TOWER, MUSIC_LAVENDER_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route8SaffronGate, TILESET_GATE, GATE, ROUTE_8, MUSIC_ROUTE_3, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route12SuperRodHouse, TILESET_HOUSE_1, INDOOR, ROUTE_12, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
-
-
-MapGroup_Silver:
- map_header Route28, TILESET_KANTO, ROUTE, ROUTE_28, MUSIC_INDIGO_PLATEAU, 0, PALETTE_AUTO, FISHGROUP_POND
- map_header SilverCaveOutside, TILESET_KANTO, TOWN, SILVER_CAVE, MUSIC_INDIGO_PLATEAU, 0, PALETTE_AUTO, FISHGROUP_POND
- map_header SilverCavePokecenter1F, TILESET_POKECENTER, INDOOR, SILVER_CAVE, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route28FamousSpeechHouse, TILESET_HOUSE_1, INDOOR, ROUTE_28, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
-
-
-MapGroup_CableClub:
- map_header Pokecenter2F, TILESET_POKECENTER, INDOOR, SPECIAL_MAP, MUSIC_POKEMON_CENTER, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header TradeCenter, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header Colosseum, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header TimeCapsule, TILESET_GATE, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header MobileTradeRoomMobile, TILESET_CELADON_MANSION, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header MobileBattleRoom, TILESET_CELADON_MANSION, INDOOR, SPECIAL_MAP, MUSIC_CHERRYGROVE_CITY, 1, PALETTE_DAY, FISHGROUP_SHORE
-
-
-MapGroup_Celadon:
- map_header Route7, TILESET_KANTO, ROUTE, ROUTE_7, MUSIC_ROUTE_3, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header Route16, TILESET_KANTO, ROUTE, ROUTE_16, MUSIC_ROUTE_3, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header Route17, TILESET_KANTO, ROUTE, ROUTE_17, MUSIC_ROUTE_3, 0, PALETTE_AUTO, FISHGROUP_NONE
- map_header CeladonCity, TILESET_KANTO, TOWN, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_AUTO, FISHGROUP_NONE
- map_header CeladonDeptStore1F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeladonDeptStore2F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeladonDeptStore3F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeladonDeptStore4F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeladonDeptStore5F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeladonDeptStore6F, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeladonDeptStoreElevator, TILESET_MART, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeladonMansion1F, TILESET_CELADON_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeladonMansion2F, TILESET_CELADON_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeladonMansion3F, TILESET_CELADON_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeladonMansionRoof, TILESET_CELADON_MANSION, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeladonMansionRoofHouse, TILESET_HOUSE_1, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeladonPokecenter1F, TILESET_POKECENTER, INDOOR, CELADON_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeladonPokecenter2FBeta, TILESET_POKECENTER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeladonGameCorner, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_GAME_CORNER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeladonGameCornerPrizeRoom, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeladonGym, TILESET_TRAIN_STATION, INDOOR, CELADON_CITY, MUSIC_GYM, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header CeladonCafe, TILESET_GAME_CORNER, INDOOR, CELADON_CITY, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route16FuchsiaSpeechHouse, TILESET_HOUSE_1, INDOOR, ROUTE_16, MUSIC_CELADON_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route16Gate, TILESET_GATE, GATE, ROUTE_16, MUSIC_ROUTE_3, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route7SaffronGate, TILESET_GATE, GATE, ROUTE_7, MUSIC_ROUTE_3, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route1718Gate, TILESET_GATE, GATE, ROUTE_17, MUSIC_ROUTE_3, 0, PALETTE_DAY, FISHGROUP_SHORE
-
-
-MapGroup_Cianwood:
- map_header Route40, TILESET_JOHTO_1, ROUTE, ROUTE_40, MUSIC_ROUTE_36, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header Route41, TILESET_JOHTO_1, ROUTE, ROUTE_41, MUSIC_ROUTE_36, 0, PALETTE_AUTO, FISHGROUP_OCEAN
- map_header CianwoodCity, TILESET_JOHTO_1, TOWN, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header ManiasHouse, TILESET_HOUSE_1, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CianwoodGym, TILESET_SPROUT_TOWER, INDOOR, CIANWOOD_CITY, MUSIC_GYM, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header CianwoodPokecenter1F, TILESET_POKECENTER, INDOOR, CIANWOOD_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CianwoodPharmacy, TILESET_HOUSE_1, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CianwoodCityPhotoStudio, TILESET_HOUSE_1, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CianwoodLugiaSpeechHouse, TILESET_HOUSE_1, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header PokeSeersHouse, TILESET_HOUSE_1, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header BattleTower1F, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_LOBBY, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header BattleTowerBattleRoom, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header BattleTowerElevator, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_NONE, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header BattleTowerHallway, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route40BattleTowerGate, TILESET_GATE, GATE, BATTLE_TOWER, MUSIC_ROUTE_36, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header BattleTowerOutside, TILESET_BATTLE_TOWER_OUTSIDE, ROUTE, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, 0, PALETTE_AUTO, FISHGROUP_SHORE
-
-
-MapGroup_Viridian:
- map_header Route2, TILESET_KANTO, ROUTE, ROUTE_2, MUSIC_ROUTE_2, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header Route22, TILESET_KANTO, ROUTE, ROUTE_22, MUSIC_ROUTE_3, 0, PALETTE_AUTO, FISHGROUP_POND
- map_header ViridianCity, TILESET_KANTO, TOWN, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_AUTO, FISHGROUP_POND
- map_header ViridianGym, TILESET_TRAIN_STATION, INDOOR, VIRIDIAN_CITY, MUSIC_GYM, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header ViridianNicknameSpeechHouse, TILESET_HOUSE_1, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header TrainerHouse1F, TILESET_HOUSE_1, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header TrainerHouseB1F, TILESET_POWER_PLANT, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header ViridianMart, TILESET_MART, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header ViridianPokecenter1F, TILESET_POKECENTER, INDOOR, VIRIDIAN_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header ViridianPokecenter2FBeta, TILESET_POKECENTER, INDOOR, VIRIDIAN_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route2NuggetSpeechHouse, TILESET_HOUSE_1, INDOOR, ROUTE_2, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route2Gate, TILESET_GATE, GATE, ROUTE_2, MUSIC_ROUTE_2, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header VictoryRoadGate, TILESET_GATE, GATE, ROUTE_26, MUSIC_INDIGO_PLATEAU, 0, PALETTE_DAY, FISHGROUP_SHORE
-
-
-MapGroup_NewBark:
- map_header Route26, TILESET_JOHTO_1, ROUTE, ROUTE_26, MUSIC_ROUTE_26, 0, PALETTE_AUTO, FISHGROUP_OCEAN
- map_header Route27, TILESET_JOHTO_1, ROUTE, ROUTE_27, MUSIC_ROUTE_26, 0, PALETTE_AUTO, FISHGROUP_OCEAN
- map_header Route29, TILESET_JOHTO_1, ROUTE, ROUTE_29, MUSIC_ROUTE_29, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header NewBarkTown, TILESET_JOHTO_1, TOWN, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, PALETTE_AUTO, FISHGROUP_OCEAN
- map_header ElmsLab, TILESET_LAB, INDOOR, NEW_BARK_TOWN, MUSIC_PROF_ELM, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header KrissHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header KrissHouse2F, TILESET_PLAYERS_HOUSE_2F, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header KrissNeighborsHouse, TILESET_HOUSE_1, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header ElmsHouse, TILESET_PLAYERS_HOUSE, INDOOR, NEW_BARK_TOWN, MUSIC_NEW_BARK_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route26HealSpeechHouse, TILESET_HOUSE_1, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route26DayofWeekSiblingsHouse, TILESET_HOUSE_1, INDOOR, ROUTE_26, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route27SandstormHouse, TILESET_HOUSE_1, INDOOR, ROUTE_27, MUSIC_AZALEA_TOWN, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route2946Gate, TILESET_GATE, GATE, ROUTE_29, MUSIC_ROUTE_29, 0, PALETTE_DAY, FISHGROUP_SHORE
-
-
-MapGroup_Saffron:
- map_header Route5, TILESET_KANTO, ROUTE, ROUTE_5, MUSIC_ROUTE_3, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header SaffronCity, TILESET_KANTO, TOWN, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header FightingDojo, TILESET_TRAIN_STATION, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header SaffronGym, TILESET_UNDERGROUND, INDOOR, SAFFRON_CITY, MUSIC_GYM, 1, PALETTE_DAY, FISHGROUP_SHORE
- map_header SaffronMart, TILESET_MART, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header SaffronPokecenter1F, TILESET_POKECENTER, INDOOR, SAFFRON_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header SaffronPokecenter2FBeta, TILESET_POKECENTER, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header MrPsychicsHouse, TILESET_HOUSE_1, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header SaffronTrainStation, TILESET_TRAIN_STATION, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header SilphCo1F, TILESET_POWER_PLANT, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CopycatsHouse1F, TILESET_PLAYERS_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CopycatsHouse2F, TILESET_PLAYERS_HOUSE, INDOOR, SAFFRON_CITY, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route5UndergroundPathEntrance, TILESET_GATE, GATE, ROUTE_5, MUSIC_ROUTE_3, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route5SaffronCityGate, TILESET_GATE, GATE, ROUTE_5, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route5CleanseTagSpeechHouse, TILESET_HOUSE_1, INDOOR, ROUTE_5, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
-
-
-MapGroup_Cherrygrove:
- map_header Route30, TILESET_JOHTO_1, ROUTE, ROUTE_30, MUSIC_ROUTE_30, 0, PALETTE_AUTO, FISHGROUP_POND
- map_header Route31, TILESET_JOHTO_1, ROUTE, ROUTE_31, MUSIC_ROUTE_30, 0, PALETTE_AUTO, FISHGROUP_POND
- map_header CherrygroveCity, TILESET_JOHTO_1, TOWN, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_AUTO, FISHGROUP_SHORE
- map_header CherrygroveMart, TILESET_MART, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CherrygrovePokecenter1F, TILESET_POKECENTER, INDOOR, CHERRYGROVE_CITY, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CherrygroveGymSpeechHouse, TILESET_HOUSE_1, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header GuideGentsHouse, TILESET_HOUSE_1, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header CherrygroveEvolutionSpeechHouse, TILESET_HOUSE_1, INDOOR, CHERRYGROVE_CITY, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route30BerrySpeechHouse, TILESET_HOUSE_1, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header MrPokemonsHouse, TILESET_POWER_PLANT, INDOOR, ROUTE_30, MUSIC_CHERRYGROVE_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE
- map_header Route31VioletGate, TILESET_GATE, GATE, ROUTE_31, MUSIC_ROUTE_30, 0, PALETTE_DAY, FISHGROUP_SHORE
diff --git a/maps/second_map_headers.asm b/maps/second_map_headers.asm
deleted file mode 100644
index 3628babd2..000000000
--- a/maps/second_map_headers.asm
+++ /dev/null
@@ -1,685 +0,0 @@
-map_header_2: MACRO
-;\1: map label
-;\2: map id
-;\3: border block
-;\4: connections: combo of NORTH, SOUTH, WEST, and/or EAST, or 0 for none
-\1_SecondMapHeader::
- db \3
- db \2_HEIGHT, \2_WIDTH
- db BANK(\1_BlockData)
- dw \1_BlockData
- db BANK(\1_MapScriptHeader)
- dw \1_MapScriptHeader
- dw \1_MapEventHeader
- db \4
-ENDM
-
-connection: MACRO
-if "\1" == "north"
-;\2: map id
-;\3: map label (eventually will be rolled into map id)
-;\4: x
-;\5: offset?
-;\6: strip length
-;\7: this map id
- map \2
- dw \3_BlockData + \2_WIDTH * (\2_HEIGHT - 3) + \5
- dw OverworldMap + \4 + 3
- db \6
- db \2_WIDTH
- db \2_HEIGHT * 2 - 1
- db (\4 - \5) * -2
- dw OverworldMap + \2_HEIGHT * (\2_WIDTH + 6) + 1
-endc
-
-if "\1" == "south"
-;\2: map id
-;\3: map label (eventually will be rolled into map id)
-;\4: x
-;\5: offset?
-;\6: strip length
-;\7: this map id
- map \2
- dw \3_BlockData + \5
- dw OverworldMap + (\7_HEIGHT + 3) * (\7_WIDTH + 6) + \4 + 3
- db \6
- db \2_WIDTH
- db 0
- db (\4 - \5) * -2
- dw OverworldMap + \2_WIDTH + 7
-endc
-
-if "\1" == "west"
-;\2: map id
-;\3: map label (eventually will be rolled into map id)
-;\4: y
-;\5: offset?
-;\6: strip length
-;\7: this map id
- map \2
- dw \3_BlockData + (\2_WIDTH * \5) + \2_WIDTH - 3
- dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3)
- db \6
- db \2_WIDTH
- db (\4 - \5) * -2
- db \2_WIDTH * 2 - 1
- dw OverworldMap + \2_WIDTH * 2 + 6
-endc
-
-if "\1" == "east"
-;\2: map id
-;\3: map label (eventually will be rolled into map id)
-;\4: y
-;\5: offset?
-;\6: strip length
-;\7: this map id
- map \2
- dw \3_BlockData + (\2_WIDTH * \5)
- dw OverworldMap + (\7_WIDTH + 6) * (\4 + 3 + 1) - 3
- db \6
- db \2_WIDTH
- db (\4 - \5) * -2
- db 0
- dw OverworldMap + \2_WIDTH + 7
-endc
-ENDM
-
-
- map_header_2 NewBarkTown, NEW_BARK_TOWN, $5, WEST | EAST
- connection west, ROUTE_29, Route29, 0, 0, 9, NEW_BARK_TOWN
- connection east, ROUTE_27, Route27, 0, 0, 9, NEW_BARK_TOWN
-
- map_header_2 CherrygroveCity, CHERRYGROVE_CITY, $35, NORTH | EAST
- connection north, ROUTE_30, Route30, 5, 0, 10, CHERRYGROVE_CITY
- connection east, ROUTE_29, Route29, 0, 0, 9, CHERRYGROVE_CITY
-
- map_header_2 VioletCity, VIOLET_CITY, $5, SOUTH | WEST | EAST
- connection south, ROUTE_32, Route32, 0, 0, 10, VIOLET_CITY
- connection west, ROUTE_36, Route36, 0, 0, 9, VIOLET_CITY
- connection east, ROUTE_31, Route31, 9, 0, 9, VIOLET_CITY
-
- map_header_2 AzaleaTown, AZALEA_TOWN, $5, WEST | EAST
- connection west, ROUTE_34, Route34, -3, 15, 12, AZALEA_TOWN
- connection east, ROUTE_33, Route33, 0, 0, 9, AZALEA_TOWN
-
- map_header_2 CianwoodCity, CIANWOOD_CITY, $35, EAST
- connection east, ROUTE_41, Route41, 0, 0, 27, CIANWOOD_CITY
-
- map_header_2 GoldenrodCity, GOLDENROD_CITY, $35, NORTH | SOUTH
- connection north, ROUTE_35, Route35, 5, 0, 10, GOLDENROD_CITY
- connection south, ROUTE_34, Route34, 5, 0, 10, GOLDENROD_CITY
-
- map_header_2 OlivineCity, OLIVINE_CITY, $35, NORTH | WEST
- connection north, ROUTE_39, Route39, 5, 0, 10, OLIVINE_CITY
- connection west, ROUTE_40, Route40, 9, 0, 12, OLIVINE_CITY
-
- map_header_2 EcruteakCity, ECRUTEAK_CITY, $5, SOUTH | WEST | EAST
- connection south, ROUTE_37, Route37, 5, 0, 10, ECRUTEAK_CITY
- connection west, ROUTE_38, Route38, 5, 0, 9, ECRUTEAK_CITY
- connection east, ROUTE_42, Route42, 9, 0, 9, ECRUTEAK_CITY
-
- map_header_2 MahoganyTown, MAHOGANY_TOWN, $71, NORTH | WEST | EAST
- connection north, ROUTE_43, Route43, 0, 0, 10, MAHOGANY_TOWN
- connection west, ROUTE_42, Route42, 0, 0, 9, MAHOGANY_TOWN
- connection east, ROUTE_44, Route44, 0, 0, 9, MAHOGANY_TOWN
-
- map_header_2 LakeOfRage, LAKE_OF_RAGE, $5, SOUTH
- connection south, ROUTE_43, Route43, 5, 0, 10, LAKE_OF_RAGE
-
- map_header_2 BlackthornCity, BLACKTHORN_CITY, $71, SOUTH | WEST
- connection south, ROUTE_45, Route45, 0, 0, 10, BLACKTHORN_CITY
- connection west, ROUTE_44, Route44, 9, 0, 9, BLACKTHORN_CITY
-
- map_header_2 SilverCaveOutside, SILVER_CAVE_OUTSIDE, $2c, EAST
- connection east, ROUTE_28, Route28, 9, 0, 9, SILVER_CAVE_OUTSIDE
-
- map_header_2 Route26, ROUTE_26, $5, WEST
- connection west, ROUTE_27, Route27, 45, 0, 9, ROUTE_26
-
- map_header_2 Route27, ROUTE_27, $35, WEST | EAST
- connection west, NEW_BARK_TOWN, NewBarkTown, 0, 0, 9, ROUTE_27
- connection east, ROUTE_26, Route26, -3, 42, 12, ROUTE_27
-
- map_header_2 Route28, ROUTE_28, $2c, WEST
- connection west, SILVER_CAVE_OUTSIDE, SilverCaveOutside, -3, 6, 12, ROUTE_28
-
- map_header_2 Route29, ROUTE_29, $5, NORTH | WEST | EAST
- connection north, ROUTE_46, Route46, 10, 0, 10, ROUTE_29
- connection west, CHERRYGROVE_CITY, CherrygroveCity, 0, 0, 9, ROUTE_29
- connection east, NEW_BARK_TOWN, NewBarkTown, 0, 0, 9, ROUTE_29
-
- map_header_2 Route30, ROUTE_30, $5, NORTH | SOUTH
- connection north, ROUTE_31, Route31, -3, 7, 13, ROUTE_30
- connection south, CHERRYGROVE_CITY, CherrygroveCity, -3, 2, 16, ROUTE_30
-
- map_header_2 Route31, ROUTE_31, $5, SOUTH | WEST
- connection south, ROUTE_30, Route30, 10, 0, 10, ROUTE_31
- connection west, VIOLET_CITY, VioletCity, -3, 6, 12, ROUTE_31
-
- map_header_2 Route32, ROUTE_32, $5, NORTH | SOUTH
- connection north, VIOLET_CITY, VioletCity, 0, 0, 13, ROUTE_32
- connection south, ROUTE_33, Route33, 0, 0, 10, ROUTE_32
-
- map_header_2 Route33, ROUTE_33, $5, NORTH | WEST
- connection north, ROUTE_32, Route32, 0, 0, 10, ROUTE_33
- connection west, AZALEA_TOWN, AzaleaTown, 0, 0, 9, ROUTE_33
-
- map_header_2 Route34, ROUTE_34, $5, NORTH | EAST
- connection north, GOLDENROD_CITY, GoldenrodCity, -3, 2, 16, ROUTE_34
- connection east, AZALEA_TOWN, AzaleaTown, 18, 0, 9, ROUTE_34
-
- map_header_2 Route35, ROUTE_35, $5, NORTH | SOUTH
- connection north, ROUTE_36, Route36, 0, 0, 13, ROUTE_35
- connection south, GOLDENROD_CITY, GoldenrodCity, -3, 2, 16, ROUTE_35
-
- map_header_2 Route36, ROUTE_36, $5, NORTH | SOUTH | EAST
- connection north, ROUTE_37, Route37, 10, 0, 10, ROUTE_36
- connection south, ROUTE_35, Route35, 0, 0, 10, ROUTE_36
- connection east, VIOLET_CITY, VioletCity, 0, 0, 12, ROUTE_36
-
- map_header_2 Route37, ROUTE_37, $5, NORTH | SOUTH
- connection north, ECRUTEAK_CITY, EcruteakCity, -3, 2, 16, ROUTE_37
- connection south, ROUTE_36, Route36, -3, 7, 16, ROUTE_37
-
- map_header_2 Route38, ROUTE_38, $5, WEST | EAST
- connection west, ROUTE_39, Route39, 0, 0, 12, ROUTE_38
- connection east, ECRUTEAK_CITY, EcruteakCity, -3, 2, 15, ROUTE_38
-
- map_header_2 Route39, ROUTE_39, $5, SOUTH | EAST
- connection south, OLIVINE_CITY, OlivineCity, -3, 2, 16, ROUTE_39
- connection east, ROUTE_38, Route38, 0, 0, 9, ROUTE_39
-
- map_header_2 Route40, ROUTE_40, $35, SOUTH | EAST
- connection south, ROUTE_41, Route41, -3, 12, 13, ROUTE_40
- connection east, OLIVINE_CITY, OlivineCity, -3, 6, 12, ROUTE_40
-
- map_header_2 Route41, ROUTE_41, $35, NORTH | WEST
- connection north, ROUTE_40, Route40, 15, 0, 10, ROUTE_41
- connection west, CIANWOOD_CITY, CianwoodCity, 0, 0, 27, ROUTE_41
-
- map_header_2 Route42, ROUTE_42, $5, WEST | EAST
- connection west, ECRUTEAK_CITY, EcruteakCity, -3, 6, 12, ROUTE_42
- connection east, MAHOGANY_TOWN, MahoganyTown, 0, 0, 9, ROUTE_42
-
- map_header_2 Route43, ROUTE_43, $5, NORTH | SOUTH
- connection north, LAKE_OF_RAGE, LakeOfRage, -3, 2, 16, ROUTE_43
- connection south, MAHOGANY_TOWN, MahoganyTown, 0, 0, 10, ROUTE_43
-
- map_header_2 Route44, ROUTE_44, $71, WEST | EAST
- connection west, MAHOGANY_TOWN, MahoganyTown, 0, 0, 9, ROUTE_44
- connection east, BLACKTHORN_CITY, BlackthornCity, -3, 6, 12, ROUTE_44
-
- map_header_2 Route45, ROUTE_45, $71, NORTH | WEST
- connection north, BLACKTHORN_CITY, BlackthornCity, 0, 0, 13, ROUTE_45
- connection west, ROUTE_46, Route46, 36, 0, 12, ROUTE_45
-
- map_header_2 Route46, ROUTE_46, $5, SOUTH | EAST
- connection south, ROUTE_29, Route29, -3, 7, 16, ROUTE_46
- connection east, ROUTE_45, Route45, -3, 33, 12, ROUTE_46
-
- map_header_2 PewterCity, PEWTER_CITY, $f, SOUTH | EAST
- connection south, ROUTE_2, Route2, 5, 0, 10, PEWTER_CITY
- connection east, ROUTE_3, Route3, 5, 0, 9, PEWTER_CITY
-
- map_header_2 Route2, ROUTE_2, $f, NORTH | SOUTH
- connection north, PEWTER_CITY, PewterCity, -3, 2, 16, ROUTE_2
- connection south, VIRIDIAN_CITY, ViridianCity, -3, 2, 16, ROUTE_2
-
- map_header_2 ViridianCity, VIRIDIAN_CITY, $f, NORTH | SOUTH | WEST
- connection north, ROUTE_2, Route2, 5, 0, 10, VIRIDIAN_CITY
- connection south, ROUTE_1, Route1, 10, 0, 10, VIRIDIAN_CITY
- connection west, ROUTE_22, Route22, 4, 0, 9, VIRIDIAN_CITY
-
- map_header_2 Route22, ROUTE_22, $2c, EAST
- connection east, VIRIDIAN_CITY, ViridianCity, -3, 1, 15, ROUTE_22
-
- map_header_2 Route1, ROUTE_1, $f, NORTH | SOUTH
- connection north, VIRIDIAN_CITY, ViridianCity, -3, 7, 13, ROUTE_1
- connection south, PALLET_TOWN, PalletTown, 0, 0, 10, ROUTE_1
-
- map_header_2 PalletTown, PALLET_TOWN, $f, NORTH | SOUTH
- connection north, ROUTE_1, Route1, 0, 0, 10, PALLET_TOWN
- connection south, ROUTE_21, Route21, 0, 0, 10, PALLET_TOWN
-
- map_header_2 Route21, ROUTE_21, $43, NORTH | SOUTH
- connection north, PALLET_TOWN, PalletTown, 0, 0, 10, ROUTE_21
- connection south, CINNABAR_ISLAND, CinnabarIsland, 0, 0, 10, ROUTE_21
-
- map_header_2 CinnabarIsland, CINNABAR_ISLAND, $43, NORTH | EAST
- connection north, ROUTE_21, Route21, 0, 0, 10, CINNABAR_ISLAND
- connection east, ROUTE_20, Route20, 0, 0, 9, CINNABAR_ISLAND
-
- map_header_2 Route20, ROUTE_20, $43, WEST | EAST
- connection west, CINNABAR_ISLAND, CinnabarIsland, 0, 0, 9, ROUTE_20
- connection east, ROUTE_19, Route19, -3, 6, 12, ROUTE_20
-
- map_header_2 Route19, ROUTE_19, $43, NORTH | WEST
- connection north, FUCHSIA_CITY, FuchsiaCity, 0, 0, 13, ROUTE_19
- connection west, ROUTE_20, Route20, 9, 0, 9, ROUTE_19
-
- map_header_2 FuchsiaCity, FUCHSIA_CITY, $f, SOUTH | WEST | EAST
- connection south, ROUTE_19, Route19, 0, 0, 10, FUCHSIA_CITY
- connection west, ROUTE_18, Route18, 7, 0, 9, FUCHSIA_CITY
- connection east, ROUTE_15, Route15, 9, 0, 9, FUCHSIA_CITY
-
- map_header_2 Route18, ROUTE_18, $43, WEST | EAST
- connection west, ROUTE_17, Route17, -3, 35, 10, ROUTE_18
- connection east, FUCHSIA_CITY, FuchsiaCity, -3, 4, 14, ROUTE_18
-
- map_header_2 Route17, ROUTE_17, $43, NORTH | EAST
- connection north, ROUTE_16, Route16, 0, 0, 10, ROUTE_17
- connection east, ROUTE_18, Route18, 38, 0, 9, ROUTE_17
-
- map_header_2 Route16, ROUTE_16, $f, SOUTH | EAST
- connection south, ROUTE_17, Route17, 0, 0, 10, ROUTE_16
- connection east, CELADON_CITY, CeladonCity, -3, 6, 12, ROUTE_16
-
- map_header_2 CeladonCity, CELADON_CITY, $f, WEST | EAST
- connection west, ROUTE_16, Route16, 9, 0, 9, CELADON_CITY
- connection east, ROUTE_7, Route7, 5, 0, 9, CELADON_CITY
-
- map_header_2 Route7, ROUTE_7, $f, WEST | EAST
- connection west, CELADON_CITY, CeladonCity, -3, 2, 15, ROUTE_7
- connection east, SAFFRON_CITY, SaffronCity, -3, 6, 12, ROUTE_7
-
- map_header_2 Route15, ROUTE_15, $f, WEST | EAST
- connection west, FUCHSIA_CITY, FuchsiaCity, -3, 6, 12, ROUTE_15
- connection east, ROUTE_14, Route14, -3, 6, 12, ROUTE_15
-
- map_header_2 Route14, ROUTE_14, $43, NORTH | WEST
- connection north, ROUTE_13, Route13, 0, 0, 13, ROUTE_14
- connection west, ROUTE_15, Route15, 9, 0, 9, ROUTE_14
-
- map_header_2 Route13, ROUTE_13, $43, NORTH | SOUTH
- connection north, ROUTE_12, Route12, 20, 0, 10, ROUTE_13
- connection south, ROUTE_14, Route14, 0, 0, 10, ROUTE_13
-
- map_header_2 Route12, ROUTE_12, $43, NORTH | SOUTH | WEST
- connection north, LAVENDER_TOWN, LavenderTown, 0, 0, 10, ROUTE_12
- connection south, ROUTE_13, Route13, -3, 17, 13, ROUTE_12
- connection west, ROUTE_11, Route11, 9, 0, 9, ROUTE_12
-
- map_header_2 Route11, ROUTE_11, $f, WEST | EAST
- connection west, VERMILION_CITY, VermilionCity, 0, 0, 12, ROUTE_11
- connection east, ROUTE_12, Route12, -3, 6, 15, ROUTE_11
-
- map_header_2 LavenderTown, LAVENDER_TOWN, $2c, NORTH | SOUTH | WEST
- connection north, ROUTE_10_SOUTH, Route10South, 0, 0, 10, LAVENDER_TOWN
- connection south, ROUTE_12, Route12, 0, 0, 10, LAVENDER_TOWN
- connection west, ROUTE_8, Route8, 0, 0, 9, LAVENDER_TOWN
-
- map_header_2 VermilionCity, VERMILION_CITY, $43, NORTH | EAST
- connection north, ROUTE_6, Route6, 5, 0, 10, VERMILION_CITY
- connection east, ROUTE_11, Route11, 0, 0, 9, VERMILION_CITY
-
- map_header_2 Route6, ROUTE_6, $f, NORTH | SOUTH
- connection north, SAFFRON_CITY, SaffronCity, -3, 2, 16, ROUTE_6
- connection south, VERMILION_CITY, VermilionCity, -3, 2, 16, ROUTE_6
-
- map_header_2 SaffronCity, SAFFRON_CITY, $f, NORTH | SOUTH | WEST | EAST
- connection north, ROUTE_5, Route5, 5, 0, 10, SAFFRON_CITY
- connection south, ROUTE_6, Route6, 5, 0, 10, SAFFRON_CITY
- connection west, ROUTE_7, Route7, 9, 0, 9, SAFFRON_CITY
- connection east, ROUTE_8, Route8, 9, 0, 9, SAFFRON_CITY
-
- map_header_2 Route5, ROUTE_5, $f, NORTH | SOUTH
- connection north, CERULEAN_CITY, CeruleanCity, -3, 2, 16, ROUTE_5
- connection south, SAFFRON_CITY, SaffronCity, -3, 2, 16, ROUTE_5
-
- map_header_2 CeruleanCity, CERULEAN_CITY, $f, NORTH | SOUTH | WEST | EAST
- connection north, ROUTE_24, Route24, 6, 0, 10, CERULEAN_CITY
- connection south, ROUTE_5, Route5, 5, 0, 10, CERULEAN_CITY
- connection west, ROUTE_4, Route4, 5, 0, 9, CERULEAN_CITY
- connection east, ROUTE_9, Route9, 9, 0, 9, CERULEAN_CITY
-
- map_header_2 Route9, ROUTE_9, $2c, SOUTH | WEST
- connection south, ROUTE_10_NORTH, Route10North, 20, 0, 10, ROUTE_9
- connection west, CERULEAN_CITY, CeruleanCity, -3, 6, 12, ROUTE_9
-
- map_header_2 Route24, ROUTE_24, $2c, NORTH | SOUTH
- connection north, ROUTE_25, Route25, 0, 0, 13, ROUTE_24
- connection south, CERULEAN_CITY, CeruleanCity, -3, 3, 16, ROUTE_24
-
- map_header_2 Route25, ROUTE_25, $2c, SOUTH
- connection south, ROUTE_24, Route24, 0, 0, 10, ROUTE_25
-
- map_header_2 Route3, ROUTE_3, $2c, WEST | EAST
- connection west, PEWTER_CITY, PewterCity, -3, 2, 15, ROUTE_3
- connection east, ROUTE_4, Route4, 0, 0, 9, ROUTE_3
-
- map_header_2 Route4, ROUTE_4, $2c, WEST | EAST
- connection west, ROUTE_3, Route3, 0, 0, 9, ROUTE_4
- connection east, CERULEAN_CITY, CeruleanCity, -3, 2, 15, ROUTE_4
-
- map_header_2 Route8, ROUTE_8, $2c, WEST | EAST
- connection west, SAFFRON_CITY, SaffronCity, -3, 6, 12, ROUTE_8
- connection east, LAVENDER_TOWN, LavenderTown, 0, 0, 9, ROUTE_8
-
- map_header_2 Route10North, ROUTE_10_NORTH, $2c, NORTH | SOUTH
- connection north, ROUTE_9, Route9, -3, 17, 13, ROUTE_10_NORTH
- connection south, ROUTE_10_SOUTH, Route10South, 0, 0, 10, ROUTE_10_NORTH
-
- map_header_2 Route10South, ROUTE_10_SOUTH, $2c, NORTH | SOUTH
- connection north, ROUTE_10_NORTH, Route10North, 0, 0, 10, ROUTE_10_SOUTH
- connection south, LAVENDER_TOWN, LavenderTown, 0, 0, 10, ROUTE_10_SOUTH
-
- map_header_2 Route23, ROUTE_23, $f, 0
- map_header_2 SproutTower1F, SPROUT_TOWER_1F, $0, 0
- map_header_2 SproutTower2F, SPROUT_TOWER_2F, $0, 0
- map_header_2 SproutTower3F, SPROUT_TOWER_3F, $0, 0
- map_header_2 TinTower1F, TIN_TOWER_1F, $0, 0
- map_header_2 TinTower2F, TIN_TOWER_2F, $0, 0
- map_header_2 TinTower3F, TIN_TOWER_3F, $0, 0
- map_header_2 TinTower4F, TIN_TOWER_4F, $0, 0
- map_header_2 TinTower5F, TIN_TOWER_5F, $0, 0
- map_header_2 TinTower6F, TIN_TOWER_6F, $0, 0
- map_header_2 TinTower7F, TIN_TOWER_7F, $0, 0
- map_header_2 TinTower8F, TIN_TOWER_8F, $0, 0
- map_header_2 TinTower9F, TIN_TOWER_9F, $0, 0
- map_header_2 BurnedTower1F, BURNED_TOWER_1F, $0, 0
- map_header_2 BurnedTowerB1F, BURNED_TOWER_B1F, $9, 0
- map_header_2 NationalPark, NATIONAL_PARK, $0, 0
- map_header_2 NationalParkBugContest, NATIONAL_PARK_BUG_CONTEST, $0, 0
- map_header_2 RadioTower1F, RADIO_TOWER_1F, $0, 0
- map_header_2 RadioTower2F, RADIO_TOWER_2F, $0, 0
- map_header_2 RadioTower3F, RADIO_TOWER_3F, $0, 0
- map_header_2 RadioTower4F, RADIO_TOWER_4F, $0, 0
- map_header_2 RadioTower5F, RADIO_TOWER_5F, $0, 0
- map_header_2 RuinsOfAlphOutside, RUINS_OF_ALPH_OUTSIDE, $5, 0
- map_header_2 RuinsOfAlphHoOhChamber, RUINS_OF_ALPH_HO_OH_CHAMBER, $0, 0
- map_header_2 RuinsOfAlphKabutoChamber, RUINS_OF_ALPH_KABUTO_CHAMBER, $0, 0
- map_header_2 RuinsOfAlphOmanyteChamber, RUINS_OF_ALPH_OMANYTE_CHAMBER, $0, 0
- map_header_2 RuinsOfAlphAerodactylChamber, RUINS_OF_ALPH_AERODACTYL_CHAMBER, $0, 0
- map_header_2 RuinsOfAlphInnerChamber, RUINS_OF_ALPH_INNER_CHAMBER, $0, 0
- map_header_2 RuinsOfAlphResearchCenter, RUINS_OF_ALPH_RESEARCH_CENTER, $0, 0
- map_header_2 RuinsOfAlphHoOhItemRoom, RUINS_OF_ALPH_HO_OH_ITEM_ROOM, $0, 0
- map_header_2 RuinsOfAlphKabutoItemRoom, RUINS_OF_ALPH_KABUTO_ITEM_ROOM, $0, 0
- map_header_2 RuinsOfAlphOmanyteItemRoom, RUINS_OF_ALPH_OMANYTE_ITEM_ROOM, $0, 0
- map_header_2 RuinsOfAlphAerodactylItemRoom, RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM, $0, 0
- map_header_2 RuinsOfAlphHoOhWordRoom, RUINS_OF_ALPH_HO_OH_WORD_ROOM, $0, 0
- map_header_2 RuinsOfAlphKabutoWordRoom, RUINS_OF_ALPH_KABUTO_WORD_ROOM, $0, 0
- map_header_2 RuinsOfAlphOmanyteWordRoom, RUINS_OF_ALPH_OMANYTE_WORD_ROOM, $0, 0
- map_header_2 RuinsOfAlphAerodactylWordRoom, RUINS_OF_ALPH_AERODACTYL_WORD_ROOM, $0, 0
- map_header_2 UnionCave1F, UNION_CAVE_1F, $9, 0
- map_header_2 UnionCaveB1F, UNION_CAVE_B1F, $9, 0
- map_header_2 UnionCaveB2F, UNION_CAVE_B2F, $9, 0
- map_header_2 SlowpokeWellB1F, SLOWPOKE_WELL_B1F, $9, 0
- map_header_2 SlowpokeWellB2F, SLOWPOKE_WELL_B2F, $9, 0
- map_header_2 OlivineLighthouse1F, OLIVINE_LIGHTHOUSE_1F, $0, 0
- map_header_2 OlivineLighthouse2F, OLIVINE_LIGHTHOUSE_2F, $0, 0
- map_header_2 OlivineLighthouse3F, OLIVINE_LIGHTHOUSE_3F, $0, 0
- map_header_2 OlivineLighthouse4F, OLIVINE_LIGHTHOUSE_4F, $0, 0
- map_header_2 OlivineLighthouse5F, OLIVINE_LIGHTHOUSE_5F, $0, 0
- map_header_2 OlivineLighthouse6F, OLIVINE_LIGHTHOUSE_6F, $0, 0
- map_header_2 MahoganyMart1F, MAHOGANY_MART_1F, $0, 0
- map_header_2 TeamRocketBaseB1F, TEAM_ROCKET_BASE_B1F, $0, 0
- map_header_2 TeamRocketBaseB2F, TEAM_ROCKET_BASE_B2F, $0, 0
- map_header_2 TeamRocketBaseB3F, TEAM_ROCKET_BASE_B3F, $0, 0
- map_header_2 IlexForest, ILEX_FOREST, $5, 0
- map_header_2 GoldenrodUnderground, GOLDENROD_UNDERGROUND, $0, 0
- map_header_2 GoldenrodUndergroundSwitchRoomEntrances, GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, $0, 0
- map_header_2 GoldenrodDeptStoreB1F, GOLDENROD_DEPT_STORE_B1F, $0, 0
- map_header_2 GoldenrodUndergroundWarehouse, GOLDENROD_UNDERGROUND_WAREHOUSE, $0, 0
- map_header_2 MountMortar1FOutside, MOUNT_MORTAR_1F_OUTSIDE, $9, 0
- map_header_2 MountMortar1FInside, MOUNT_MORTAR_1F_INSIDE, $9, 0
- map_header_2 MountMortar2FInside, MOUNT_MORTAR_2F_INSIDE, $9, 0
- map_header_2 MountMortarB1F, MOUNT_MORTAR_B1F, $9, 0
- map_header_2 IcePath1F, ICE_PATH_1F, $9, 0
- map_header_2 IcePathB1F, ICE_PATH_B1F, $19, 0
- map_header_2 IcePathB2FMahoganySide, ICE_PATH_B2F_MAHOGANY_SIDE, $19, 0
- map_header_2 IcePathB2FBlackthornSide, ICE_PATH_B2F_BLACKTHORN_SIDE, $19, 0
- map_header_2 IcePathB3F, ICE_PATH_B3F, $19, 0
- map_header_2 WhirlIslandNW, WHIRL_ISLAND_NW, $9, 0
- map_header_2 WhirlIslandNE, WHIRL_ISLAND_NE, $9, 0
- map_header_2 WhirlIslandSW, WHIRL_ISLAND_SW, $9, 0
- map_header_2 WhirlIslandCave, WHIRL_ISLAND_CAVE, $9, 0
- map_header_2 WhirlIslandSE, WHIRL_ISLAND_SE, $f, 0
- map_header_2 WhirlIslandB1F, WHIRL_ISLAND_B1F, $9, 0
- map_header_2 WhirlIslandB2F, WHIRL_ISLAND_B2F, $2e, 0
- map_header_2 WhirlIslandLugiaChamber, WHIRL_ISLAND_LUGIA_CHAMBER, $f, 0
- map_header_2 SilverCaveRoom1, SILVER_CAVE_ROOM_1, $9, 0
- map_header_2 SilverCaveRoom2, SILVER_CAVE_ROOM_2, $9, 0
- map_header_2 SilverCaveRoom3, SILVER_CAVE_ROOM_3, $9, 0
- map_header_2 SilverCaveItemRooms, SILVER_CAVE_ITEM_ROOMS, $9, 0
- map_header_2 DarkCaveVioletEntrance, DARK_CAVE_VIOLET_ENTRANCE, $9, 0
- map_header_2 DarkCaveBlackthornEntrance, DARK_CAVE_BLACKTHORN_ENTRANCE, $9, 0
- map_header_2 DragonsDen1F, DRAGONS_DEN_1F, $9, 0
- map_header_2 DragonsDenB1F, DRAGONS_DEN_B1F, $71, 0
- map_header_2 DragonShrine, DRAGON_SHRINE, $0, 0
- map_header_2 TohjoFalls, TOHJO_FALLS, $9, 0
- map_header_2 OlivinePokecenter1F, OLIVINE_POKECENTER_1F, $0, 0
- map_header_2 OlivineGym, OLIVINE_GYM, $0, 0
- map_header_2 OlivineTimsHouse, OLIVINE_TIMS_HOUSE, $0, 0
- map_header_2 OlivineHouseBeta, OLIVINE_HOUSE_BETA, $0, 0
- map_header_2 OlivinePunishmentSpeechHouse, OLIVINE_PUNISHMENT_SPEECH_HOUSE, $0, 0
- map_header_2 OlivineGoodRodHouse, OLIVINE_GOOD_ROD_HOUSE, $0, 0
- map_header_2 OlivineCafe, OLIVINE_CAFE, $0, 0
- map_header_2 OlivineMart, OLIVINE_MART, $0, 0
- map_header_2 Route38EcruteakGate, ROUTE_38_ECRUTEAK_GATE, $0, 0
- map_header_2 Route39Barn, ROUTE_39_BARN, $0, 0
- map_header_2 Route39Farmhouse, ROUTE_39_FARMHOUSE, $0, 0
- map_header_2 MahoganyRedGyaradosSpeechHouse, MAHOGANY_RED_GYARADOS_SPEECH_HOUSE, $0, 0
- map_header_2 MahoganyGym, MAHOGANY_GYM, $0, 0
- map_header_2 MahoganyPokecenter1F, MAHOGANY_POKECENTER_1F, $0, 0
- map_header_2 Route42EcruteakGate, ROUTE_42_ECRUTEAK_GATE, $0, 0
- map_header_2 DiglettsCave, DIGLETTS_CAVE, $9, 0
- map_header_2 MountMoon, MOUNT_MOON, $9, 0
- map_header_2 UndergroundPath, UNDERGROUND_PATH, $0, 0
- map_header_2 RockTunnel1F, ROCK_TUNNEL_1F, $9, 0
- map_header_2 RockTunnelB1F, ROCK_TUNNEL_B1F, $9, 0
- map_header_2 SafariZoneFuchsiaGateBeta, SAFARI_ZONE_FUCHSIA_GATE_BETA, $0, 0
- map_header_2 SafariZoneBeta, SAFARI_ZONE_BETA, $13, 0
- map_header_2 VictoryRoad, VICTORY_ROAD, $1d, 0
- map_header_2 EcruteakHouse, ECRUTEAK_HOUSE, $0, 0
- map_header_2 WiseTriosRoom, WISE_TRIOS_ROOM, $0, 0
- map_header_2 EcruteakPokecenter1F, ECRUTEAK_POKECENTER_1F, $0, 0
- map_header_2 EcruteakLugiaSpeechHouse, ECRUTEAK_LUGIA_SPEECH_HOUSE, $0, 0
- map_header_2 DanceTheatre, DANCE_THEATRE, $0, 0
- map_header_2 EcruteakMart, ECRUTEAK_MART, $0, 0
- map_header_2 EcruteakGym, ECRUTEAK_GYM, $0, 0
- map_header_2 EcruteakItemfinderHouse, ECRUTEAK_ITEMFINDER_HOUSE, $0, 0
- map_header_2 BlackthornGym1F, BLACKTHORN_GYM_1F, $0, 0
- map_header_2 BlackthornGym2F, BLACKTHORN_GYM_2F, $0, 0
- map_header_2 BlackthornDragonSpeechHouse, BLACKTHORN_DRAGON_SPEECH_HOUSE, $0, 0
- map_header_2 BlackthornEmysHouse, BLACKTHORN_EMYS_HOUSE, $0, 0
- map_header_2 BlackthornMart, BLACKTHORN_MART, $0, 0
- map_header_2 BlackthornPokecenter1F, BLACKTHORN_POKECENTER_1F, $0, 0
- map_header_2 MoveDeletersHouse, MOVE_DELETERS_HOUSE, $0, 0
- map_header_2 CinnabarPokecenter1F, CINNABAR_POKECENTER_1F, $0, 0
- map_header_2 CinnabarPokecenter2FBeta, CINNABAR_POKECENTER_2F_BETA, $0, 0
- map_header_2 Route19FuchsiaGate, ROUTE_19___FUCHSIA_GATE, $0, 0
- map_header_2 SeafoamGym, SEAFOAM_GYM, $9, 0
- map_header_2 CeruleanGymBadgeSpeechHouse, CERULEAN_GYM_BADGE_SPEECH_HOUSE, $0, 0
- map_header_2 CeruleanPoliceStation, CERULEAN_POLICE_STATION, $0, 0
- map_header_2 CeruleanTradeSpeechHouse, CERULEAN_TRADE_SPEECH_HOUSE, $0, 0
- map_header_2 CeruleanPokecenter1F, CERULEAN_POKECENTER_1F, $0, 0
- map_header_2 CeruleanPokecenter2FBeta, CERULEAN_POKECENTER_2F_BETA, $0, 0
- map_header_2 CeruleanGym, CERULEAN_GYM, $0, 0
- map_header_2 CeruleanMart, CERULEAN_MART, $0, 0
- map_header_2 Route10Pokecenter1F, ROUTE_10_POKECENTER_1F, $0, 0
- map_header_2 Route10Pokecenter2FBeta, ROUTE_10_POKECENTER_2F_BETA, $0, 0
- map_header_2 PowerPlant, POWER_PLANT, $0, 0
- map_header_2 BillsHouse, BILLS_HOUSE, $0, 0
- map_header_2 AzaleaPokecenter1F, AZALEA_POKECENTER_1F, $0, 0
- map_header_2 CharcoalKiln, CHARCOAL_KILN, $0, 0
- map_header_2 AzaleaMart, AZALEA_MART, $0, 0
- map_header_2 KurtsHouse, KURTS_HOUSE, $0, 0
- map_header_2 AzaleaGym, AZALEA_GYM, $0, 0
- map_header_2 LakeOfRageHiddenPowerHouse, LAKE_OF_RAGE_HIDDEN_POWER_HOUSE, $0, 0
- map_header_2 LakeOfRageMagikarpHouse, LAKE_OF_RAGE_MAGIKARP_HOUSE, $0, 0
- map_header_2 Route43MahoganyGate, ROUTE_43_MAHOGANY_GATE, $0, 0
- map_header_2 Route43Gate, ROUTE_43_GATE, $0, 0
- map_header_2 VioletMart, VIOLET_MART, $0, 0
- map_header_2 VioletGym, VIOLET_GYM, $0, 0
- map_header_2 EarlsPokemonAcademy, EARLS_POKEMON_ACADEMY, $0, 0
- map_header_2 VioletNicknameSpeechHouse, VIOLET_NICKNAME_SPEECH_HOUSE, $0, 0
- map_header_2 VioletPokecenter1F, VIOLET_POKECENTER_1F, $0, 0
- map_header_2 VioletKylesHouse, VIOLET_KYLES_HOUSE, $0, 0
- map_header_2 Route32RuinsOfAlphGate, ROUTE_32_RUINS_OF_ALPH_GATE, $0, 0
- map_header_2 Route32Pokecenter1F, ROUTE_32_POKECENTER_1F, $0, 0
- map_header_2 Route35GoldenrodGate, ROUTE_35_GOLDENROD_GATE, $0, 0
- map_header_2 Route35NationalParkGate, ROUTE_35_NATIONAL_PARK_GATE, $0, 0
- map_header_2 Route36RuinsOfAlphGate, ROUTE_36_RUINS_OF_ALPH_GATE, $0, 0
- map_header_2 Route36NationalParkGate, ROUTE_36_NATIONAL_PARK_GATE, $0, 0
- map_header_2 GoldenrodGym, GOLDENROD_GYM, $0, 0
- map_header_2 GoldenrodBikeShop, GOLDENROD_BIKE_SHOP, $0, 0
- map_header_2 GoldenrodHappinessRater, GOLDENROD_HAPPINESS_RATER, $0, 0
- map_header_2 GoldenrodBillsHouse, GOLDENROD_BILLS_HOUSE, $0, 0
- map_header_2 GoldenrodMagnetTrainStation, GOLDENROD_MAGNET_TRAIN_STATION, $0, 0
- map_header_2 GoldenrodFlowerShop, GOLDENROD_FLOWER_SHOP, $0, 0
- map_header_2 GoldenrodPPSpeechHouse, GOLDENROD_PP_SPEECH_HOUSE, $0, 0
- map_header_2 GoldenrodNameRater, GOLDENROD_NAME_RATER, $0, 0
- map_header_2 GoldenrodDeptStore1F, GOLDENROD_DEPT_STORE_1F, $0, 0
- map_header_2 GoldenrodDeptStore2F, GOLDENROD_DEPT_STORE_2F, $0, 0
- map_header_2 GoldenrodDeptStore3F, GOLDENROD_DEPT_STORE_3F, $0, 0
- map_header_2 GoldenrodDeptStore4F, GOLDENROD_DEPT_STORE_4F, $0, 0
- map_header_2 GoldenrodDeptStore5F, GOLDENROD_DEPT_STORE_5F, $0, 0
- map_header_2 GoldenrodDeptStore6F, GOLDENROD_DEPT_STORE_6F, $0, 0
- map_header_2 GoldenrodDeptStoreElevator, GOLDENROD_DEPT_STORE_ELEVATOR, $0, 0
- map_header_2 GoldenrodDeptStoreRoof, GOLDENROD_DEPT_STORE_ROOF, $24, 0
- map_header_2 GoldenrodGameCorner, GOLDENROD_GAME_CORNER, $0, 0
- map_header_2 GoldenrodPokecenter1F, GOLDENROD_POKECENTER_1F, $0, 0
- map_header_2 GoldenrodPokeComCenter2FMobile, GOLDENROD_POKECOM_CENTER_2F_MOBILE, $0, 0
- map_header_2 IlexForestAzaleaGate, ILEX_FOREST_AZALEA_GATE, $0, 0
- map_header_2 Route34IlexForestGate, ROUTE_34_ILEX_FOREST_GATE, $0, 0
- map_header_2 DayCare, DAY_CARE, $0, 0
- map_header_2 VermilionHouseFishingSpeechHouse, VERMILION_HOUSE_FISHING_SPEECH_HOUSE, $0, 0
- map_header_2 VermilionPokecenter1F, VERMILION_POKECENTER_1F, $0, 0
- map_header_2 VermilionPokecenter2FBeta, VERMILION_POKECENTER_2F_BETA, $0, 0
- map_header_2 PokemonFanClub, POKEMON_FAN_CLUB, $0, 0
- map_header_2 VermilionMagnetTrainSpeechHouse, VERMILION_MAGNET_TRAIN_SPEECH_HOUSE, $0, 0
- map_header_2 VermilionMart, VERMILION_MART, $0, 0
- map_header_2 VermilionHouseDiglettsCaveSpeechHouse, VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE, $0, 0
- map_header_2 VermilionGym, VERMILION_GYM, $0, 0
- map_header_2 Route6SaffronGate, ROUTE_6_SAFFRON_GATE, $0, 0
- map_header_2 Route6UndergroundPathEntrance, ROUTE_6_UNDERGROUND_PATH_ENTRANCE, $0, 0
- map_header_2 RedsHouse1F, REDS_HOUSE_1F, $0, 0
- map_header_2 RedsHouse2F, REDS_HOUSE_2F, $0, 0
- map_header_2 BluesHouse, BLUES_HOUSE, $0, 0
- map_header_2 OaksLab, OAKS_LAB, $0, 0
- map_header_2 PewterNidoranSpeechHouse, PEWTER_NIDORAN_SPEECH_HOUSE, $0, 0
- map_header_2 PewterGym, PEWTER_GYM, $0, 0
- map_header_2 PewterMart, PEWTER_MART, $0, 0
- map_header_2 PewterPokecenter1F, PEWTER_POKECENTER_1F, $0, 0
- map_header_2 PewterPokecenter2FBeta, PEWTER_POKECENTER_2F_BETA, $0, 0
- map_header_2 PewterSnoozeSpeechHouse, PEWTER_SNOOZE_SPEECH_HOUSE, $0, 0
- map_header_2 OlivinePort, OLIVINE_PORT, $a, 0
- map_header_2 VermilionPort, VERMILION_PORT, $a, 0
- map_header_2 FastShip1F, FAST_SHIP_1F, $0, 0
- map_header_2 FastShipCabins_NNW_NNE_NE, FAST_SHIP_CABINS_NNW_NNE_NE, $0, 0
- map_header_2 FastShipCabins_SW_SSW_NW, FAST_SHIP_CABINS_SW_SSW_NW, $0, 0
- map_header_2 FastShipCabins_SE_SSE_CaptainsCabin, FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN, $0, 0
- map_header_2 FastShipB1F, FAST_SHIP_B1F, $0, 0
- map_header_2 OlivinePortPassage, OLIVINE_PORT_PASSAGE, $0, 0
- map_header_2 VermilionPortPassage, VERMILION_PORT_PASSAGE, $0, 0
- map_header_2 MountMoonSquare, MOUNT_MOON_SQUARE, $2d, 0
- map_header_2 MountMoonGiftShop, MOUNT_MOON_GIFT_SHOP, $0, 0
- map_header_2 TinTowerRoof, TIN_TOWER_ROOF, $0, 0
- map_header_2 IndigoPlateauPokecenter1F, INDIGO_PLATEAU_POKECENTER_1F, $0, 0
- map_header_2 WillsRoom, WILLS_ROOM, $0, 0
- map_header_2 KogasRoom, KOGAS_ROOM, $0, 0
- map_header_2 BrunosRoom, BRUNOS_ROOM, $0, 0
- map_header_2 KarensRoom, KARENS_ROOM, $0, 0
- map_header_2 LancesRoom, LANCES_ROOM, $0, 0
- map_header_2 HallOfFame, HALL_OF_FAME, $0, 0
- map_header_2 FuchsiaMart, FUCHSIA_MART, $0, 0
- map_header_2 SafariZoneMainOffice, SAFARI_ZONE_MAIN_OFFICE, $0, 0
- map_header_2 FuchsiaGym, FUCHSIA_GYM, $0, 0
- map_header_2 FuchsiaBillSpeechHouse, FUCHSIA_BILL_SPEECH_HOUSE, $0, 0
- map_header_2 FuchsiaPokecenter1F, FUCHSIA_POKECENTER_1F, $0, 0
- map_header_2 FuchsiaPokecenter2FBeta, FUCHSIA_POKECENTER_2F_BETA, $0, 0
- map_header_2 SafariZoneWardensHome, SAFARI_ZONE_WARDENS_HOME, $0, 0
- map_header_2 Route15FuchsiaGate, ROUTE_15_FUCHSIA_GATE, $0, 0
- map_header_2 LavenderPokecenter1F, LAVENDER_POKECENTER_1F, $0, 0
- map_header_2 LavenderPokecenter2FBeta, LAVENDER_POKECENTER_2F_BETA, $0, 0
- map_header_2 MrFujisHouse, MR_FUJIS_HOUSE, $0, 0
- map_header_2 LavenderTownSpeechHouse, LAVENDER_TOWN_SPEECH_HOUSE, $0, 0
- map_header_2 LavenderNameRater, LAVENDER_NAME_RATER, $0, 0
- map_header_2 LavenderMart, LAVENDER_MART, $0, 0
- map_header_2 SoulHouse, SOUL_HOUSE, $0, 0
- map_header_2 LavRadioTower1F, LAV_RADIO_TOWER_1F, $0, 0
- map_header_2 Route8SaffronGate, ROUTE_8_SAFFRON_GATE, $0, 0
- map_header_2 Route12SuperRodHouse, ROUTE_12_SUPER_ROD_HOUSE, $0, 0
- map_header_2 SilverCavePokecenter1F, SILVER_CAVE_POKECENTER_1F, $0, 0
- map_header_2 Route28FamousSpeechHouse, ROUTE_28_FAMOUS_SPEECH_HOUSE, $0, 0
- map_header_2 Pokecenter2F, POKECENTER_2F, $0, 0
- map_header_2 TradeCenter, TRADE_CENTER, $0, 0
- map_header_2 Colosseum, COLOSSEUM, $0, 0
- map_header_2 TimeCapsule, TIME_CAPSULE, $0, 0
- map_header_2 MobileTradeRoomMobile, MOBILE_TRADE_ROOM_MOBILE, $0, 0
- map_header_2 MobileBattleRoom, MOBILE_BATTLE_ROOM, $0, 0
- map_header_2 CeladonDeptStore1F, CELADON_DEPT_STORE_1F, $0, 0
- map_header_2 CeladonDeptStore2F, CELADON_DEPT_STORE_2F, $0, 0
- map_header_2 CeladonDeptStore3F, CELADON_DEPT_STORE_3F, $0, 0
- map_header_2 CeladonDeptStore4F, CELADON_DEPT_STORE_4F, $0, 0
- map_header_2 CeladonDeptStore5F, CELADON_DEPT_STORE_5F, $0, 0
- map_header_2 CeladonDeptStore6F, CELADON_DEPT_STORE_6F, $0, 0
- map_header_2 CeladonDeptStoreElevator, CELADON_DEPT_STORE_ELEVATOR, $0, 0
- map_header_2 CeladonMansion1F, CELADON_MANSION_1F, $0, 0
- map_header_2 CeladonMansion2F, CELADON_MANSION_2F, $0, 0
- map_header_2 CeladonMansion3F, CELADON_MANSION_3F, $0, 0
- map_header_2 CeladonMansionRoof, CELADON_MANSION_ROOF, $1, 0
- map_header_2 CeladonMansionRoofHouse, CELADON_MANSION_ROOF_HOUSE, $0, 0
- map_header_2 CeladonPokecenter1F, CELADON_POKECENTER_1F, $0, 0
- map_header_2 CeladonPokecenter2FBeta, CELADON_POKECENTER_2F_BETA, $0, 0
- map_header_2 CeladonGameCorner, CELADON_GAME_CORNER, $0, 0
- map_header_2 CeladonGameCornerPrizeRoom, CELADON_GAME_CORNER_PRIZE_ROOM, $0, 0
- map_header_2 CeladonGym, CELADON_GYM, $0, 0
- map_header_2 CeladonCafe, CELADON_CAFE, $0, 0
- map_header_2 Route16FuchsiaSpeechHouse, ROUTE_16_FUCHSIA_SPEECH_HOUSE, $0, 0
- map_header_2 Route16Gate, ROUTE_16_GATE, $0, 0
- map_header_2 Route7SaffronGate, ROUTE_7_SAFFRON_GATE, $0, 0
- map_header_2 Route1718Gate, ROUTE_17_18_GATE, $0, 0
- map_header_2 ManiasHouse, MANIAS_HOUSE, $0, 0
- map_header_2 CianwoodGym, CIANWOOD_GYM, $0, 0
- map_header_2 CianwoodPokecenter1F, CIANWOOD_POKECENTER_1F, $0, 0
- map_header_2 CianwoodPharmacy, CIANWOOD_PHARMACY, $0, 0
- map_header_2 CianwoodCityPhotoStudio, CIANWOOD_CITY_PHOTO_STUDIO, $0, 0
- map_header_2 CianwoodLugiaSpeechHouse, CIANWOOD_LUGIA_SPEECH_HOUSE, $0, 0
- map_header_2 PokeSeersHouse, POKE_SEERS_HOUSE, $0, 0
- map_header_2 BattleTower1F, BATTLE_TOWER_1F, $0, 0
- map_header_2 BattleTowerBattleRoom, BATTLE_TOWER_BATTLE_ROOM, $0, 0
- map_header_2 BattleTowerElevator, BATTLE_TOWER_ELEVATOR, $0, 0
- map_header_2 BattleTowerHallway, BATTLE_TOWER_HALLWAY, $0, 0
- map_header_2 Route40BattleTowerGate, ROUTE_40_BATTLE_TOWER_GATE, $0, 0
- map_header_2 BattleTowerOutside, BATTLE_TOWER_OUTSIDE, $5, 0
- map_header_2 ViridianGym, VIRIDIAN_GYM, $0, 0
- map_header_2 ViridianNicknameSpeechHouse, VIRIDIAN_NICKNAME_SPEECH_HOUSE, $0, 0
- map_header_2 TrainerHouse1F, TRAINER_HOUSE_1F, $0, 0
- map_header_2 TrainerHouseB1F, TRAINER_HOUSE_B1F, $0, 0
- map_header_2 ViridianMart, VIRIDIAN_MART, $0, 0
- map_header_2 ViridianPokecenter1F, VIRIDIAN_POKECENTER_1F, $0, 0
- map_header_2 ViridianPokecenter2FBeta, VIRIDIAN_POKECENTER_2F_BETA, $0, 0
- map_header_2 Route2NuggetSpeechHouse, ROUTE_2_NUGGET_SPEECH_HOUSE, $0, 0
- map_header_2 Route2Gate, ROUTE_2_GATE, $0, 0
- map_header_2 VictoryRoadGate, VICTORY_ROAD_GATE, $0, 0
- map_header_2 ElmsLab, ELMS_LAB, $0, 0
- map_header_2 KrissHouse1F, KRISS_HOUSE_1F, $0, 0
- map_header_2 KrissHouse2F, KRISS_HOUSE_2F, $0, 0
- map_header_2 KrissNeighborsHouse, KRISS_NEIGHBORS_HOUSE, $0, 0
- map_header_2 ElmsHouse, ELMS_HOUSE, $0, 0
- map_header_2 Route26HealSpeechHouse, ROUTE_26_HEAL_SPEECH_HOUSE, $0, 0
- map_header_2 Route26DayofWeekSiblingsHouse, ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE, $0, 0
- map_header_2 Route27SandstormHouse, ROUTE_27_SANDSTORM_HOUSE, $0, 0
- map_header_2 Route2946Gate, ROUTE_29_46_GATE, $0, 0
- map_header_2 FightingDojo, FIGHTING_DOJO, $0, 0
- map_header_2 SaffronGym, SAFFRON_GYM, $0, 0
- map_header_2 SaffronMart, SAFFRON_MART, $0, 0
- map_header_2 SaffronPokecenter1F, SAFFRON_POKECENTER_1F, $0, 0
- map_header_2 SaffronPokecenter2FBeta, SAFFRON_POKECENTER_2F_BETA, $0, 0
- map_header_2 MrPsychicsHouse, MR_PSYCHICS_HOUSE, $0, 0
- map_header_2 SaffronTrainStation, SAFFRON_TRAIN_STATION, $0, 0
- map_header_2 SilphCo1F, SILPH_CO_1F, $0, 0
- map_header_2 CopycatsHouse1F, COPYCATS_HOUSE_1F, $0, 0
- map_header_2 CopycatsHouse2F, COPYCATS_HOUSE_2F, $0, 0
- map_header_2 Route5UndergroundPathEntrance, ROUTE_5_UNDERGROUND_PATH_ENTRANCE, $0, 0
- map_header_2 Route5SaffronCityGate, ROUTE_5_SAFFRON_CITY_GATE, $0, 0
- map_header_2 Route5CleanseTagSpeechHouse, ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE, $0, 0
- map_header_2 CherrygroveMart, CHERRYGROVE_MART, $0, 0
- map_header_2 CherrygrovePokecenter1F, CHERRYGROVE_POKECENTER_1F, $0, 0
- map_header_2 CherrygroveGymSpeechHouse, CHERRYGROVE_GYM_SPEECH_HOUSE, $0, 0
- map_header_2 GuideGentsHouse, GUIDE_GENTS_HOUSE, $0, 0
- map_header_2 CherrygroveEvolutionSpeechHouse, CHERRYGROVE_EVOLUTION_SPEECH_HOUSE, $0, 0
- map_header_2 Route30BerrySpeechHouse, ROUTE_30_BERRY_SPEECH_HOUSE, $0, 0
- map_header_2 MrPokemonsHouse, MR_POKEMONS_HOUSE, $0, 0
- map_header_2 Route31VioletGate, ROUTE_31_VIOLET_GATE, $0, 0
diff --git a/maps/BetaAzaleaTown.blk b/maps/unused/BetaAzaleaTown.blk
index 8faa18369..8faa18369 100644
--- a/maps/BetaAzaleaTown.blk
+++ b/maps/unused/BetaAzaleaTown.blk
diff --git a/maps/BetaBlackthornCity.blk b/maps/unused/BetaBlackthornCity.blk
index c6fc4f210..c6fc4f210 100644
--- a/maps/BetaBlackthornCity.blk
+++ b/maps/unused/BetaBlackthornCity.blk
diff --git a/maps/BetaBlank.blk b/maps/unused/BetaBlank.blk
index e53405655..e53405655 100644
--- a/maps/BetaBlank.blk
+++ b/maps/unused/BetaBlank.blk
diff --git a/maps/BetaCave.blk b/maps/unused/BetaCave.blk
index b103c2532..b103c2532 100644
--- a/maps/BetaCave.blk
+++ b/maps/unused/BetaCave.blk
diff --git a/maps/BetaCave2.blk b/maps/unused/BetaCave2.blk
index a2722d010..a2722d010 100644
--- a/maps/BetaCave2.blk
+++ b/maps/unused/BetaCave2.blk
diff --git a/maps/BetaCaveTestMap.blk b/maps/unused/BetaCaveTestMap.blk
index eba6c84c8..eba6c84c8 100644
--- a/maps/BetaCaveTestMap.blk
+++ b/maps/unused/BetaCaveTestMap.blk
diff --git a/maps/BetaCeladonMansion.blk b/maps/unused/BetaCeladonMansion.blk
index 8d3e219df..8d3e219df 100644
--- a/maps/BetaCeladonMansion.blk
+++ b/maps/unused/BetaCeladonMansion.blk
diff --git a/maps/BetaCherrygroveCity.blk b/maps/unused/BetaCherrygroveCity.blk
index 440952f6f..440952f6f 100644
--- a/maps/BetaCherrygroveCity.blk
+++ b/maps/unused/BetaCherrygroveCity.blk
diff --git a/maps/BetaCianwoodCity.blk b/maps/unused/BetaCianwoodCity.blk
index d946e1de7..d946e1de7 100644
--- a/maps/BetaCianwoodCity.blk
+++ b/maps/unused/BetaCianwoodCity.blk
diff --git a/maps/BetaCinnabarIslandPokemonLabHallway.blk b/maps/unused/BetaCinnabarPokemonLabHallway.blk
index 7a6502a26..7a6502a26 100644
--- a/maps/BetaCinnabarIslandPokemonLabHallway.blk
+++ b/maps/unused/BetaCinnabarPokemonLabHallway.blk
diff --git a/maps/BetaCinnabarIslandPokemonLabRoom1.blk b/maps/unused/BetaCinnabarPokemonLabRoom1.blk
index ef77b6561..ef77b6561 100644
--- a/maps/BetaCinnabarIslandPokemonLabRoom1.blk
+++ b/maps/unused/BetaCinnabarPokemonLabRoom1.blk
diff --git a/maps/BetaCinnabarIslandPokemonLabRoom2.blk b/maps/unused/BetaCinnabarPokemonLabRoom2.blk
index 822db175b..822db175b 100644
--- a/maps/BetaCinnabarIslandPokemonLabRoom2.blk
+++ b/maps/unused/BetaCinnabarPokemonLabRoom2.blk
diff --git a/maps/BetaCinnabarIslandPokemonLabRoom3.blk b/maps/unused/BetaCinnabarPokemonLabRoom3.blk
index d9a64a5da..d9a64a5da 100644
--- a/maps/BetaCinnabarIslandPokemonLabRoom3.blk
+++ b/maps/unused/BetaCinnabarPokemonLabRoom3.blk
diff --git a/maps/BetaTeakCity.blk b/maps/unused/BetaEcruteakCity.blk
index ce448c2ef..ce448c2ef 100644
--- a/maps/BetaTeakCity.blk
+++ b/maps/unused/BetaEcruteakCity.blk
diff --git a/maps/BetaElevator.blk b/maps/unused/BetaElevator.blk
index 32fb22697..32fb22697 100644
--- a/maps/BetaElevator.blk
+++ b/maps/unused/BetaElevator.blk
diff --git a/maps/BetaEmptyHouse.blk b/maps/unused/BetaEmptyHouse.blk
index dcec62794..dcec62794 100644
--- a/maps/BetaEmptyHouse.blk
+++ b/maps/unused/BetaEmptyHouse.blk
diff --git a/maps/BetaSSAquaInsideCutOut.blk b/maps/unused/BetaFastShipInsideCutOut.blk
index b385b0198..b385b0198 100644
--- a/maps/BetaSSAquaInsideCutOut.blk
+++ b/maps/unused/BetaFastShipInsideCutOut.blk
diff --git a/maps/BetaGoldenrodCity.blk b/maps/unused/BetaGoldenrodCity.blk
index 1a156122d..1a156122d 100644
--- a/maps/BetaGoldenrodCity.blk
+++ b/maps/unused/BetaGoldenrodCity.blk
diff --git a/maps/BetaHerosHouse.blk b/maps/unused/BetaHerosHouse.blk
index b5b53b4bd..b5b53b4bd 100644
--- a/maps/BetaHerosHouse.blk
+++ b/maps/unused/BetaHerosHouse.blk
diff --git a/maps/BetaHouse.blk b/maps/unused/BetaHouse.blk
index 187a3cd32..187a3cd32 100644
--- a/maps/BetaHouse.blk
+++ b/maps/unused/BetaHouse.blk
diff --git a/maps/BetaHouse2.blk b/maps/unused/BetaHouse2.blk
index 993ea3a8d..993ea3a8d 100644
--- a/maps/BetaHouse2.blk
+++ b/maps/unused/BetaHouse2.blk
diff --git a/maps/BetaIlexForest.blk b/maps/unused/BetaIlexForest.blk
index 3cde14007..3cde14007 100644
--- a/maps/BetaIlexForest.blk
+++ b/maps/unused/BetaIlexForest.blk
diff --git a/maps/BetaLakeOfRage.blk b/maps/unused/BetaLakeOfRage.blk
index d1d63a0d4..d1d63a0d4 100644
--- a/maps/BetaLakeOfRage.blk
+++ b/maps/unused/BetaLakeOfRage.blk
diff --git a/maps/BetaMahoganyTown.blk b/maps/unused/BetaMahoganyTown.blk
index 6b4c62e10..6b4c62e10 100644
--- a/maps/BetaMahoganyTown.blk
+++ b/maps/unused/BetaMahoganyTown.blk
diff --git a/maps/BetaNewBarkTown.blk b/maps/unused/BetaNewBarkTown.blk
index 395c91f1b..395c91f1b 100644
--- a/maps/BetaNewBarkTown.blk
+++ b/maps/unused/BetaNewBarkTown.blk
diff --git a/maps/BetaOlivineCity.blk b/maps/unused/BetaOlivineCity.blk
index 749f05a5c..749f05a5c 100644
--- a/maps/BetaOlivineCity.blk
+++ b/maps/unused/BetaOlivineCity.blk
diff --git a/maps/BetaPewterMuseumOfScience1F.blk b/maps/unused/BetaPewterMuseumOfScience1F.blk
index 1eec02a37..1eec02a37 100644
--- a/maps/BetaPewterMuseumOfScience1F.blk
+++ b/maps/unused/BetaPewterMuseumOfScience1F.blk
diff --git a/maps/BetaPewterMuseumOfScience2F.blk b/maps/unused/BetaPewterMuseumOfScience2F.blk
index ac5622246..ac5622246 100644
--- a/maps/BetaPewterMuseumOfScience2F.blk
+++ b/maps/unused/BetaPewterMuseumOfScience2F.blk
diff --git a/maps/BetaPokecenterMainHouse.blk b/maps/unused/BetaPokecenterMainHouse.blk
index 261350738..261350738 100644
--- a/maps/BetaPokecenterMainHouse.blk
+++ b/maps/unused/BetaPokecenterMainHouse.blk
diff --git a/maps/BetaPokecenterTradeStation.blk b/maps/unused/BetaPokecenterTradeStation.blk
index 555abfa07..555abfa07 100644
--- a/maps/BetaPokecenterTradeStation.blk
+++ b/maps/unused/BetaPokecenterTradeStation.blk
diff --git a/maps/BetaRocketHideout1.blk b/maps/unused/BetaRocketHideout1.blk
index 988208073..988208073 100644
--- a/maps/BetaRocketHideout1.blk
+++ b/maps/unused/BetaRocketHideout1.blk
diff --git a/maps/BetaRocketHideout2.blk b/maps/unused/BetaRocketHideout2.blk
index b17106cca..b17106cca 100644
--- a/maps/BetaRocketHideout2.blk
+++ b/maps/unused/BetaRocketHideout2.blk
diff --git a/maps/BetaRocketHideout3.blk b/maps/unused/BetaRocketHideout3.blk
index b73d3afeb..b73d3afeb 100644
--- a/maps/BetaRocketHideout3.blk
+++ b/maps/unused/BetaRocketHideout3.blk
diff --git a/maps/BetaRoute23EarlyVersion.blk b/maps/unused/BetaRoute23EarlyVersion.blk
index a62533dd4..a62533dd4 100644
--- a/maps/BetaRoute23EarlyVersion.blk
+++ b/maps/unused/BetaRoute23EarlyVersion.blk
diff --git a/maps/BetaRuinsOfAlphUnsolvedPuzzleRoom.blk b/maps/unused/BetaRuinsOfAlphUnsolvedPuzzleRoom.blk
index a3aa06bd6..a3aa06bd6 100644
--- a/maps/BetaRuinsOfAlphUnsolvedPuzzleRoom.blk
+++ b/maps/unused/BetaRuinsOfAlphUnsolvedPuzzleRoom.blk
diff --git a/maps/BetaSproutTower1.blk b/maps/unused/BetaSproutTower1.blk
index 6c0b2ea41..6c0b2ea41 100644
--- a/maps/BetaSproutTower1.blk
+++ b/maps/unused/BetaSproutTower1.blk
diff --git a/maps/BetaSproutTower2.blk b/maps/unused/BetaSproutTower2.blk
index a13cec16b..a13cec16b 100644
--- a/maps/BetaSproutTower2.blk
+++ b/maps/unused/BetaSproutTower2.blk
diff --git a/maps/BetaSproutTower3.blk b/maps/unused/BetaSproutTower3.blk
index 846bb9016..846bb9016 100644
--- a/maps/BetaSproutTower3.blk
+++ b/maps/unused/BetaSproutTower3.blk
diff --git a/maps/BetaSproutTower5.blk b/maps/unused/BetaSproutTower5.blk
index baaeaa926..baaeaa926 100644
--- a/maps/BetaSproutTower5.blk
+++ b/maps/unused/BetaSproutTower5.blk
diff --git a/maps/BetaSproutTower6.blk b/maps/unused/BetaSproutTower6.blk
index ea9395657..ea9395657 100644
--- a/maps/BetaSproutTower6.blk
+++ b/maps/unused/BetaSproutTower6.blk
diff --git a/maps/BetaSproutTower7.blk b/maps/unused/BetaSproutTower7.blk
index bfa5da286..bfa5da286 100644
--- a/maps/BetaSproutTower7.blk
+++ b/maps/unused/BetaSproutTower7.blk
diff --git a/maps/BetaSproutTower8.blk b/maps/unused/BetaSproutTower8.blk
index 254c0c565..254c0c565 100644
--- a/maps/BetaSproutTower8.blk
+++ b/maps/unused/BetaSproutTower8.blk
diff --git a/maps/BetaSproutTower9.blk b/maps/unused/BetaSproutTower9.blk
index f5737b226..f5737b226 100644
--- a/maps/BetaSproutTower9.blk
+++ b/maps/unused/BetaSproutTower9.blk
diff --git a/maps/BetaSproutTowerCutOut1.blk b/maps/unused/BetaSproutTowerCutOut1.blk
index 21808bb71..21808bb71 100644
--- a/maps/BetaSproutTowerCutOut1.blk
+++ b/maps/unused/BetaSproutTowerCutOut1.blk
diff --git a/maps/BetaSproutTowerCutOut2.blk b/maps/unused/BetaSproutTowerCutOut2.blk
index 21808bb71..21808bb71 100644
--- a/maps/BetaSproutTowerCutOut2.blk
+++ b/maps/unused/BetaSproutTowerCutOut2.blk
diff --git a/maps/BetaSproutTowerCutOut3.blk b/maps/unused/BetaSproutTowerCutOut3.blk
index 21808bb71..21808bb71 100644
--- a/maps/BetaSproutTowerCutOut3.blk
+++ b/maps/unused/BetaSproutTowerCutOut3.blk
diff --git a/maps/BetaUnknown.blk b/maps/unused/BetaUnknown.blk
index c3063adc7..c3063adc7 100644
--- a/maps/BetaUnknown.blk
+++ b/maps/unused/BetaUnknown.blk
diff --git a/maps/BetaVioletCity.blk b/maps/unused/BetaVioletCity.blk
index 963dbb2ed..963dbb2ed 100644
--- a/maps/BetaVioletCity.blk
+++ b/maps/unused/BetaVioletCity.blk
diff --git a/mobile/fixed_words.asm b/mobile/fixed_words.asm
index a1ddb5ad2..a57722747 100755
--- a/mobile/fixed_words.asm
+++ b/mobile/fixed_words.asm
@@ -33,8 +33,7 @@ Function11c075: ; 11c075
ret
; 11c082
-Function11c082: ; 11c082
-; XXX
+Unreferenced_Function11c082: ; 11c082
push de
ld a, c
call Function11c254
@@ -271,11 +270,11 @@ CopyMobileEZChatToC608: ; 11c156
ld [wd265], a
call GetPokemonName
ld hl, StringBuffer1
- ld bc, PKMN_NAME_LENGTH - 1
+ ld bc, MON_NAME_LENGTH - 1
jr .copy_string
; 11c1ab
-Function11c1ab: ; 11c1ab
+Special_Function11c1ab: ; 11c1ab
ld a, [hInMenu]
push af
ld a, $1
@@ -370,7 +369,7 @@ Function11c254: ; 11c254
; 11c277
EZChat_ClearBottom12Rows: ; 11c277 (47:4277)
- ld a, " "
+ ld a, " "
hlcoord 0, 6
ld bc, (SCREEN_HEIGHT - 6) * SCREEN_WIDTH
call ByteFill
@@ -426,11 +425,11 @@ EZChat_MasterLoop: ; 11c283
.SpawnObjects: ; 11c2e9 (47:42e9)
depixel 3, 1, 2, 5
- ld a, SPRITE_ANIM_INDEX_1D
+ ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
call _InitSpriteAnimStruct
depixel 8, 1, 2, 5
- ld a, SPRITE_ANIM_INDEX_1D
+ ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
@@ -438,7 +437,7 @@ EZChat_MasterLoop: ; 11c283
ld [hl], a
depixel 9, 2, 2, 0
- ld a, SPRITE_ANIM_INDEX_1D
+ ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
@@ -446,7 +445,7 @@ EZChat_MasterLoop: ; 11c283
ld [hl], a
depixel 10, 16
- ld a, SPRITE_ANIM_INDEX_1D
+ ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
@@ -454,7 +453,7 @@ EZChat_MasterLoop: ; 11c283
ld [hl], a
depixel 10, 4
- ld a, SPRITE_ANIM_INDEX_1D
+ ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
@@ -462,7 +461,7 @@ EZChat_MasterLoop: ; 11c283
ld [hl], a
depixel 10, 2
- ld a, SPRITE_ANIM_INDEX_1D
+ ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
@@ -724,15 +723,15 @@ Function11c4be: ; 11c4be (47:44be)
; 11c4db (47:44db)
String_11c4db: ; 11c4db
- db "6つのことば¯くみあわせます"
- next "かえたいところ¯えらぶと でてくる"
- next "ことばのグループから いれかえたい"
+ db "6つのことば¯くみあわせます"
+ next "かえたいところ¯えらぶと でてくる"
+ next "ことばのグループから いれかえたい"
next "たんご¯えらんでください"
db "@"
; 11c51b
String_11c51b: ; 11c51b
- db "ぜんぶけす やめる けってい@"
+ db "ぜんぶけす やめる   けってい@"
; 11c52c
Function11c52c: ; 11c52c (47:452c)
@@ -923,7 +922,7 @@ Function11c618: ; 11c618 (47:4618)
; 11c62a (47:462a)
EZChatString_Stop_Mode_Cancel: ; 11c62a
- db "けす モード やめる@"
+ db "けす    モード   やめる@"
; 11c63a
Coords_11c63a: ; 11c63a
@@ -1375,10 +1374,10 @@ BCD2String: ; 11c8c7
farcall Function11a80c
pop hl
ld a, [wcd63]
- add "0"
+ add "0"
ld [hli], a
ld a, [wcd62]
- add "0"
+ add "0"
ld [hli], a
ret
; 11c8ec
@@ -1625,8 +1624,8 @@ Function11ca19: ; 11ca19 (47:4a19)
; 11ca38 (47:4a38)
String_11ca38: ; 11ca38
- db "とうろくちゅう", $25, "あいさつ¯ぜんぶ"
- next "けしても よろしいですか?@"
+ db "とうろくちゅう<NO>あいさつ¯ぜんぶ"
+ next "けしても よろしいですか?@"
; 11ca57
String_11ca57: ; 11ca57
@@ -1754,13 +1753,13 @@ Function11cab3: ; 11cab3 (47:4ab3)
; 11cb1c (47:4b1c)
String_11cb1c: ; 11cb1c
- db "あいさつ", $25, "とうろく¯ちゅうし"
- next "しますか?@"
+ db "あいさつ<NO>とうろく¯ちゅうし"
+ next "しますか?@"
; 11cb31
String_11cb31: ; 11cb31
- db "とうろくちゅう", $25, "あいさつ", $24, "ほぞん"
- next "されません", $4a, "よろしい ですか?@"
+ db "とうろくちゅう<NO>あいさつ<WA>ほぞん"
+ next "されません<GA>よろしい ですか?@"
; 11cb52
Function11cb52: ; 11cb52 (47:4b52)
@@ -1890,20 +1889,20 @@ Unknown_11cc01: ; 11cc01
dw String_11cc60
String_11cc09: ; 11cc09
- db "じこしょうかい は"
- next "この あいさつで いいですか?@"
+ db "じこしょうかい は"
+ next "この あいさつで いいですか?@"
String_11cc23: ; 11cc23
- db "たいせん ", $4a, "はじまるとき は"
- next "この あいさつで いいですか?@"
+ db "たいせん <GA>はじまるとき は"
+ next "この あいさつで いいですか?@"
String_11cc42: ; 11cc42
- db "たいせん ", $1d, "かったとき は"
- next "この あいさつで いいですか?@"
+ db "たいせん <NI>かったとき は"
+ next "この あいさつで いいですか?@"
String_11cc60: ; 11cc60
- db "たいせん ", $1d, "まけたとき は"
- next "この あいさつで いいですか?@"
+ db "たいせん <NI>まけたとき は"
+ next "この あいさつで いいですか?@"
; 11cc7e
Unknown_11cc7e: ; 11cc7e
@@ -1913,20 +1912,20 @@ Unknown_11cc7e: ; 11cc7e
dw String_11ccd4
String_11cc86: ; 11cc86
- db "じこしょうかい の"
- next "あいさつ¯とうろくした!@"
+ db "じこしょうかい の"
+ next "あいさつ¯とうろくした!@"
String_11cc9d: ; 11cc9d
- db "たいせん ", $4a, "はじまるとき の"
- next "あいさつ¯とうろくした!@"
+ db "たいせん <GA>はじまるとき の"
+ next "あいさつ¯とうろくした!@"
String_11ccb9: ; 11ccb9
- db "たいせん ", $1d, "かったとき の"
- next "あいさつ¯とうろくした!@"
+ db "たいせん <NI>かったとき の"
+ next "あいさつ¯とうろくした!@"
String_11ccd4: ; 11ccd4
- db "たいせん ", $1d, "まけたとき の"
- next "あいさつ¯とうろくした!@"
+ db "たいせん <NI>まけたとき の"
+ next "あいさつ¯とうろくした!@"
; 11ccef
Function11ccef: ; 11ccef (47:4cef)
@@ -1949,7 +1948,7 @@ Function11cd04: ; 11cd04 (47:4d04)
; 11cd10 (47:4d10)
String_11cd10: ; 11cd10
- db "なにか ことば¯いれてください@"
+ db "なにか ことば¯いれてください@"
; 11cd20
Function11cd20: ; 11cd20 (47:4d20)
@@ -2055,13 +2054,13 @@ String_11cdc7: ; 11cdc7
String_11cdd9: ; 11cdd9
; Words will be displayed in alphabetical order
- db "ことば¯アイウエォ の"
- next "じゅんばんで ひょうじ します@"
+ db "ことば¯アイウエオ の"
+ next "じゅんばんで ひょうじ します@"
; 11cdf5
String_11cdf5: ; 11cdf5
- db "しゅるいべつ モード" ; Category mode
- next "アイウエォ モード@" ; ABC mode
+ db "しゅるいべつ モード" ; Category mode
+ next "アイウエオ  モード@" ; ABC mode
; 11ce0b
Function11ce0b: ; 11ce0b (47:4e0b)
@@ -2277,10 +2276,10 @@ Unknown_11ceb9: ; 11ceb9
String_11cf79: ; 11cf79
; Hiragana table
- db "あいうえお なにぬねの や ゆ よ"
- next "かきくけこ はひふへほ わ"
- next "さしすせそ まみむめも そのた"
- next "たちつてと らりるれろ"
+ db "あいうえお なにぬねの や ゆ よ"
+ next "かきくけこ はひふへほ わ"
+ next "さしすせそ まみむめも そのた"
+ next "たちつてと らりるれろ"
db "@"
; 11cfb5
@@ -2561,7 +2560,7 @@ AnimateEZChatCursor: ; 11d0b6 (47:50b6)
jr .load
.three ; 11d10f (47:510f)
- ld a, SPRITE_ANIM_FRAMESET_27
+ ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_2
call ReinitSpriteAnimFrame
ld a, [wMobileCommsJumptableIndex]
sla a
@@ -2587,7 +2586,7 @@ AnimateEZChatCursor: ; 11d0b6 (47:50b6)
ret
.four ; 11d134 (47:5134)
- ld a, SPRITE_ANIM_FRAMESET_27
+ ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_2
call ReinitSpriteAnimFrame
ld a, [wcd2a]
sla a
@@ -2596,7 +2595,7 @@ AnimateEZChatCursor: ; 11d0b6 (47:50b6)
jr .load
.five ; 11d145 (47:5145)
- ld a, SPRITE_ANIM_FRAMESET_27
+ ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_2
call ReinitSpriteAnimFrame
ld a, [wcd2c]
sla a
@@ -2605,7 +2604,7 @@ AnimateEZChatCursor: ; 11d0b6 (47:50b6)
jr .load
.six ; 11d156 (47:5156)
- ld a, SPRITE_ANIM_FRAMESET_2A
+ ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_5
call ReinitSpriteAnimFrame
; X = [wcd4a] * 8 + 24
ld a, [wcd4a]
@@ -2628,12 +2627,12 @@ AnimateEZChatCursor: ; 11d0b6 (47:50b6)
.seven ; 11d175 (47:5175)
ld a, [wEZChatCursorYCoord]
cp $4
- jr z, .frameset_26
- ld a, SPRITE_ANIM_FRAMESET_28
+ jr z, .cursor0
+ ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3
jr .got_frameset
-.frameset_26
- ld a, SPRITE_ANIM_FRAMESET_26
+.cursor0
+ ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1
.got_frameset
call ReinitSpriteAnimFrame
ld a, [wEZChatCursorYCoord]
@@ -2685,12 +2684,12 @@ AnimateEZChatCursor: ; 11d0b6 (47:50b6)
.nine ; 11d1d1 (47:51d1)
ld d, -13 * 8
- ld a, SPRITE_ANIM_FRAMESET_2C
+ ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_7
jr .eight_nine_load
.eight ; 11d1d7 (47:51d7)
ld d, 2 * 8
- ld a, SPRITE_ANIM_FRAMESET_2B
+ ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_6
.eight_nine_load ; 11d1db (47:51db)
push de
call ReinitSpriteAnimFrame
@@ -2713,7 +2712,7 @@ AnimateEZChatCursor: ; 11d0b6 (47:50b6)
ret
.ten ; 11d1fc (47:51fc)
- ld a, SPRITE_ANIM_FRAMESET_26
+ ld a, SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1
call ReinitSpriteAnimFrame
ld a, $8
ld e, a
@@ -2825,54 +2824,54 @@ AnimateEZChatCursor: ; 11d0b6 (47:50b6)
dbpixel 4, 12
.FramesetsIDs_Two: ; 11d2be
- db SPRITE_ANIM_FRAMESET_28 ; 00
- db SPRITE_ANIM_FRAMESET_28 ; 01
- db SPRITE_ANIM_FRAMESET_28 ; 02
- db SPRITE_ANIM_FRAMESET_28 ; 03
- db SPRITE_ANIM_FRAMESET_28 ; 04
- db SPRITE_ANIM_FRAMESET_28 ; 05
- db SPRITE_ANIM_FRAMESET_28 ; 06
- db SPRITE_ANIM_FRAMESET_28 ; 07
- db SPRITE_ANIM_FRAMESET_28 ; 08
- db SPRITE_ANIM_FRAMESET_28 ; 09
- db SPRITE_ANIM_FRAMESET_28 ; 0a
- db SPRITE_ANIM_FRAMESET_28 ; 0b
- db SPRITE_ANIM_FRAMESET_28 ; 0c
- db SPRITE_ANIM_FRAMESET_28 ; 0d
- db SPRITE_ANIM_FRAMESET_28 ; 0e
- db SPRITE_ANIM_FRAMESET_28 ; 0f
- db SPRITE_ANIM_FRAMESET_28 ; 10
- db SPRITE_ANIM_FRAMESET_28 ; 11
- db SPRITE_ANIM_FRAMESET_28 ; 12
- db SPRITE_ANIM_FRAMESET_28 ; 13
- db SPRITE_ANIM_FRAMESET_28 ; 14
- db SPRITE_ANIM_FRAMESET_28 ; 15
- db SPRITE_ANIM_FRAMESET_28 ; 16
- db SPRITE_ANIM_FRAMESET_28 ; 17
- db SPRITE_ANIM_FRAMESET_28 ; 18
- db SPRITE_ANIM_FRAMESET_28 ; 19
- db SPRITE_ANIM_FRAMESET_28 ; 1a
- db SPRITE_ANIM_FRAMESET_28 ; 1b
- db SPRITE_ANIM_FRAMESET_28 ; 1c
- db SPRITE_ANIM_FRAMESET_28 ; 1d
- db SPRITE_ANIM_FRAMESET_28 ; 1e
- db SPRITE_ANIM_FRAMESET_28 ; 1f
- db SPRITE_ANIM_FRAMESET_28 ; 20
- db SPRITE_ANIM_FRAMESET_28 ; 21
- db SPRITE_ANIM_FRAMESET_28 ; 22
- db SPRITE_ANIM_FRAMESET_28 ; 23
- db SPRITE_ANIM_FRAMESET_28 ; 24
- db SPRITE_ANIM_FRAMESET_28 ; 25
- db SPRITE_ANIM_FRAMESET_28 ; 26
- db SPRITE_ANIM_FRAMESET_28 ; 27
- db SPRITE_ANIM_FRAMESET_28 ; 28
- db SPRITE_ANIM_FRAMESET_28 ; 29
- db SPRITE_ANIM_FRAMESET_28 ; 2a
- db SPRITE_ANIM_FRAMESET_28 ; 2b
- db SPRITE_ANIM_FRAMESET_29 ; 2c
- db SPRITE_ANIM_FRAMESET_26 ; 2d
- db SPRITE_ANIM_FRAMESET_26 ; 2e
- db SPRITE_ANIM_FRAMESET_26 ; 2f
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 00
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 01
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 02
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 03
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 04
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 05
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 06
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 07
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 08
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 09
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 0a
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 0b
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 0c
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 0d
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 0e
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 0f
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 10
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 11
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 12
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 13
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 14
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 15
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 16
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 17
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 18
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 19
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 1a
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 1b
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 1c
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 1d
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 1e
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 1f
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 20
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 21
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 22
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 23
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 24
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 25
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 26
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 27
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 28
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 29
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 2a
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 2b
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_4 ; 2c
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1 ; 2d
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1 ; 2e
+ db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1 ; 2f
.UpdateObjectFlags: ; 11d2ee (47:52ee)
ld hl, wcd24
@@ -3022,9 +3021,9 @@ EZChat_GetSeenPokemonByKana: ; 11d3ba
ld [wcd2e], a
ld [hl], a
- ld a, LOW(SortedPokemon)
+ ld a, LOW(EZChat_SortedPokemon)
ld [wcd2f], a
- ld a, HIGH(SortedPokemon)
+ ld a, HIGH(EZChat_SortedPokemon)
ld [wcd30], a
ld a, LOW($c6a8)
@@ -3093,7 +3092,7 @@ EZChat_GetSeenPokemonByKana: ; 11d3ba
or b
jr nz, .loop1
-; recover the pointer from wcd2f (default: SortedPokemon)
+; recover the pointer from wcd2f (default: EZChat_SortedPokemon)
ld a, [wcd2f]
ld l, a
ld a, [wcd30]
@@ -3292,101 +3291,7 @@ EZChat_GetCategoryWordsByKana: ; 11d4aa
ret
; 11d4fe
-SortedPokemon:
-; Pokemon sorted by kana.
-; Notably, Rhydon is missing.
- dw .a
- dw .i
- dw .u
- dw .e
- dw .o
- dw .ka_ga
- dw .ki_gi
- dw .ku_gu
- dw .ke_ge
- dw .ko_go
- dw .sa_za
- dw .shi_ji
- dw .su_zu
- dw .se_ze
- dw .so_zo
- dw .ta_da
- dw .chi_dhi
- dw .tsu_du
- dw .te_de
- dw .to_do
- dw .na
- dw .ni
- dw .nu
- dw .ne
- dw .no
- dw .ha_ba_pa
- dw .hi_bi_pi
- dw .fu_bu_pu
- dw .he_be_pe
- dw .ho_bo_po
- dw .ma
- dw .mi
- dw .mu
- dw .me
- dw .mo
- dw .ya
- dw .yu
- dw .yo
- dw .ra
- dw .ri
- dw .ru
- dw .re
- dw .ro
- dw .wa
- dw .end
-
-.a: db EKANS, ARBOK, SEAKING, ARIADOS, CROCONAW, UNOWN, -1
-.i: db EEVEE, GEODUDE, SPINARAK, PILOSWINE, ONIX, -1
-.u: db ARCANINE, SUDOWOODO, WEEPINBELL, VICTREEBEL, WOOPER, SWINUB, -1
-.e: db SKARMORY, AIPOM, ESPEON, HITMONCHAN, ELEKID, ELECTABUZZ, ENTEI, -1
-.o: db FERALIGATR, FURRET, OCTILLERY, PRIMEAPE, SENTRET, STANTLER, SPEAROW, FEAROW, OMASTAR, OMANYTE, -1
-.ka_ga db GROWLITHE, MACHAMP, DRAGONITE, PINSIR, SNORLAX, KABUTO, KABUTOPS, HITMONTOP, WARTORTLE, BLASTOISE, FARFETCH_D, CUBONE, MAROWAK, KANGASKHAN, -1
-.ki_gi db SUNFLORA, CATERPIE, GYARADOS, RAPIDASH, NINETALES, GIRAFARIG, BELLOSSOM, KINGDRA, KINGLER, -1
-.ku_gu db GLOOM, PINECO, GLIGAR, KRABBY, GRANBULL, CROBAT, -1
-.ke_ge db ABRA, GENGAR, TAUROS, -1
-.ko_go db MAGIKARP, MAGNEMITE, GASTLY, HAUNTER, MACHOKE, KAKUNA, PSYDUCK, PHANPY, RATTATA, GOLDUCK, GOLBAT, GOLEM, GRAVELER, VENONAT, -1
-.sa_za db RHYHORN, PUPITAR, CORSOLA, HITMONLEE, ZAPDOS, JOLTEON, SANDSHREW, SANDSLASH, -1 ; RHYDON should lead this list
-.shi_ji db SEADRA, SHELLDER, VAPOREON, DEWGONG, -1
-.su_zu db SUICUNE, STARMIE, SCYTHER, ZUBAT, BEEDRILL, HYPNO, DROWZEE, -1
-.se_ze db SQUIRTLE, CELEBI, -1
-.so_zo db WOBBUFFET, -1
-.ta_da db DUGTRIO, HORSEA, EXEGGCUTE, -1
-.chi_dhi db CHIKORITA, CHINCHOU, -1
-.tsu_du db SHUCKLE, -1
-.te_de db DIGLETT, REMORAID, DELIBIRD, HOUNDOUR, AMPHAROS, -1
-.to_do db DODUO, DODRIO, SMEARGLE, KOFFING, TENTACRUEL, TOGETIC, TOGEPI, GOLDEEN, METAPOD, DONPHAN, -1
-.na db ODDISH, EXEGGUTOR, -1
-.ni db NIDOKING, NIDOQUEEN, NIDORAN_M, NIDORAN_F, NIDORINA, NIDORINO, MEOWTH, SNEASEL, POLIWHIRL, POLITOED, POLIWRATH, POLIWAG, -1
-.nu db QUAGSIRE, -1
-.ne db NATU, XATU, -1
-.no db DUNSPARCE, -1
-.ha_ba_pa db SEEL, STEELIX, TYPHLOSION, DRAGONAIR, BUTTERFREE, SCIZOR, HOPPIP, BLISSEY, PARAS, PARASECT, QWILFISH, MR__MIME, TYROGUE, CLOYSTER, TYRANITAR, -1
-.hi_bi_pi db CLEFFA, WEEDLE, PIKACHU, CLEFABLE, PIDGEOT, PIDGEOTTO, PICHU, CLEFAIRY, CHARMANDER, STARYU, CYNDAQUIL, SUNKERN, TEDDIURSA, VOLTORB, -1
-.fu_bu_pu db MOLTRES, FLAREON, ALAKAZAM, MAGMAR, FORRETRESS, WIGGLYTUFF, IVYSAUR, BULBASAUR, VENUSAUR, AERODACTYL, MAGBY, IGGLYBUFF, UMBREON, ARTICUNO, JIGGLYPUFF, SNUBBULL, -1
-.he_be_pe db BAYLEEF, GRIMER, MUK, HERACROSS, HOUNDOOM, PERSIAN, LICKITUNG, -1
-.ho_bo_po db HO_OH, HOOTHOOT, PIDGEY, PONYTA, SKIPLOOM, PORYGON, PORYGON2, -1
-.ma db MAGCARGO, SLUGMA, QUILAVA, BELLSPROUT, WEEZING, MARILL, AZUMARILL, ELECTRODE, MANKEY, MANTINE, -1
-.mi db DRATINI, MEW, MEWTWO, MILTANK, -1
-.mu db MISDREAVUS, SMOOCHUM, -1
-.me db MEGANIUM, DITTO, TENTACOOL, MAREEP, -1
-.mo db FLAAFFY, VENOMOTH, TANGELA, -1
-.ya db SLOWKING, SLOWBRO, SLOWPOKE, MURKROW, YANMA, -1
-.yu db KADABRA, -1
-.yo db LARVITAR, NOCTOWL, -1
-.ra db RAIKOU, RAICHU, CHANSEY, RATICATE, LAPRAS, VILEPLUME, LANTURN, -1
-.ri db CHARMELEON, CHARIZARD, URSARING, -1
-.ru db JYNX, LUGIA, -1
-.re db MAGNETON, LEDIAN, LEDYBA, -1
-.ro db VULPIX, -1
-.wa db JUMPLUFF, TOTODILE, MACHOP;, -1
-.end db -1
-; 11d67e
+INCLUDE "data/pokemon/ezchat_order.asm"
GFX_11d67e:
INCBIN "gfx/pokedex/select_start.2bpp"
@@ -3455,9 +3360,9 @@ MobileEZChatCategoryPointers: ; 11daac
.Greetings: ; 11db58
db "ありがと@", $58, $0, $0
db "ありがとう", $5a, $0, $0
- db "いくぜ!@", $80, $0, $0
- db "いくよ!@", $82, $0, $0
- db "いくわよ!", $84, $0, $0
+ db "いくぜ!@", $80, $0, $0
+ db "いくよ!@", $82, $0, $0
+ db "いくわよ!", $84, $0, $0
db "いやー@@", $a6, $0, $0
db "おっす@@", $a, $1, $0
db "おはつです", $22, $1, $0
@@ -3465,7 +3370,7 @@ MobileEZChatCategoryPointers: ; 11daac
db "ごめん@@", $f8, $1, $0
db "ごめんよ@", $fa, $1, $0
db "こらっ@@", $fc, $1, $0
- db "こんちは!", $a, $2, $0
+ db "こんちは!", $a, $2, $0
db "こんにちは", $10, $2, $0
db "さようなら", $28, $2, $0
db "サンキュー", $2e, $2, $0
@@ -3563,7 +3468,7 @@ MobileEZChatCategoryPointers: ; 11daac
.Battle: ; 11dea0
db "あいしょう", $18, $0, $0
- db "いけ!@@", $88, $0, $0
+ db "いけ!@@", $88, $0, $0
db "いちばん@", $96, $0, $0
db "かくご@@", $4c, $1, $0
db "かたせて@", $54, $1, $0
@@ -3579,7 +3484,7 @@ MobileEZChatCategoryPointers: ; 11daac
db "きめた@@", $a8, $1, $0
db "きりふだ@", $b6, $1, $0
db "くらえ@@", $c2, $1, $0
- db "こい!@@", $da, $1, $0
+ db "こい!@@", $da, $1, $0
db "こうげき@", $e0, $1, $0
db "こうさん@", $e2, $1, $0
db "こんじょう", $8, $2, $0
@@ -3612,7 +3517,7 @@ MobileEZChatCategoryPointers: ; 11daac
db "ポイント@", $94, $4, $0
db "ポケモン@", $ac, $4, $0
db "ほんき@@", $bc, $4, $0
- db "まいった!", $c4, $4, $0
+ db "まいった!", $c4, $4, $0
db "まけ@@@", $c8, $4, $0
db "まけたら@", $ca, $4, $0
db "まけて@@", $cc, $4, $0
@@ -3622,7 +3527,7 @@ MobileEZChatCategoryPointers: ; 11daac
db "みとめない", $fe, $4, $0
db "みとめる@", $0, $5, $0
db "むてき@@", $16, $5, $0
- db "もらった!", $3c, $5, $0
+ db "もらった!", $3c, $5, $0
db "よゆう@@", $7a, $5, $0
db "よわい@@", $82, $5, $0
db "よわすぎ@", $84, $5, $0
@@ -3633,13 +3538,13 @@ MobileEZChatCategoryPointers: ; 11daac
db "わざ@@@", $be, $5, $0
.Exclamations: ; 11e0c8
- db "!@@@@", $0, $0, $0
- db "!!@@@", $2, $0, $0
- db "!?@@@", $4, $0, $0
- db "?@@@@", $6, $0, $0
- db "…@@@@", $8, $0, $0
- db "…!@@@", $a, $0, $0
- db "………@@", $c, $0, $0
+ db "!@@@@", $0, $0, $0
+ db "!!@@@", $2, $0, $0
+ db "!?@@@", $4, $0, $0
+ db "?@@@@", $6, $0, $0
+ db "⋯@@@@", $8, $0, $0
+ db "⋯!@@@", $a, $0, $0
+ db "⋯⋯⋯@@", $c, $0, $0
db "ー@@@@", $e, $0, $0
db "ーーー@@", $10, $0, $0
db "あーあ@@", $14, $0, $0
@@ -3650,7 +3555,7 @@ MobileEZChatCategoryPointers: ; 11daac
db "イエス@@", $74, $0, $0
db "うう@@@", $ac, $0, $0
db "うーん@@", $ae, $0, $0
- db "うおー!@", $b0, $0, $0
+ db "うおー!@", $b0, $0, $0
db "うおりゃー", $b2, $0, $0
db "うひょー@", $bc, $0, $0
db "うふふ@@", $be, $0, $0
@@ -3687,18 +3592,18 @@ MobileEZChatCategoryPointers: ; 11daac
db "ほーほほほ", $9c, $4, $0
db "ほら@@@", $b6, $4, $0
db "まあ@@@", $c0, $4, $0
- db "むきー!!", $10, $5, $0
+ db "むきー!!", $10, $5, $0
db "むふー@@", $18, $5, $0
db "むふふ@@", $1a, $5, $0
db "むむ@@@", $1c, $5, $0
db "よーし@@", $6a, $5, $0
- db "よし!@@", $72, $5, $0
+ db "よし!@@", $72, $5, $0
db "ラララ@@", $98, $5, $0
db "わーい@@", $ac, $5, $0
- db "わーん!!", $b0, $5, $0
- db "ワォ@@@", $b2, $5, $0
- db "わっ!!@", $ce, $5, $0
- db "わははは!", $d0, $5, $0
+ db "わーん!!", $b0, $5, $0
+ db "ワオ@@@", $b2, $5, $0
+ db "わっ!!@", $ce, $5, $0
+ db "わははは!", $d0, $5, $0
.Conversation: ; 11e2d8
db "あのね@@", $50, $0, $0
@@ -3778,7 +3683,7 @@ MobileEZChatCategoryPointers: ; 11daac
db "エキサイト", $d8, $0, $0
db "えらい@@", $de, $0, $0
db "おかしい@", $ec, $0, $0
- db "ォッケー@", $8, $1, $0
+ db "オッケー@", $8, $1, $0
db "かえりたい", $48, $1, $0
db "がっくし@", $5a, $1, $0
db "かなしい@", $6c, $1, $0
@@ -3945,7 +3850,7 @@ MobileEZChatCategoryPointers: ; 11daac
db "もようがえ", $3a, $5, $0
db "ゆめ@@@", $5a, $5, $0
db "ようちえん", $66, $5, $0
- db "ラジォ@@", $92, $5, $0
+ db "ラジオ@@", $92, $5, $0
db "ワールド@", $ae, $5, $0
.Hobbies: ; 11ea58
@@ -4104,10 +4009,10 @@ MobileEZChatCategoryPointers: ; 11daac
.Farewells: ; 11eef0
db "いたします", $92, $0, $0
db "おります@", $32, $1, $0
- db "か!?@@", $3c, $1, $0
- db "かい?@@", $44, $1, $0
- db "かしら?@", $50, $1, $0
- db "かな?@@", $6a, $1, $0
+ db "か!?@@", $3c, $1, $0
+ db "かい?@@", $44, $1, $0
+ db "かしら?@", $50, $1, $0
+ db "かな?@@", $6a, $1, $0
db "かも@@@", $76, $1, $0
db "くれ@@@", $ca, $1, $0
db "ございます", $e8, $1, $0
@@ -4116,8 +4021,8 @@ MobileEZChatCategoryPointers: ; 11daac
db "じゃ@@@", $6a, $2, $0
db "じゃん@@", $6e, $2, $0
db "しよう@@", $7c, $2, $0
- db "ぜ!@@@", $ac, $2, $0
- db "ぞ!@@@", $bc, $2, $0
+ db "ぜ!@@@", $ac, $2, $0
+ db "ぞ!@@@", $bc, $2, $0
db "た@@@@", $d4, $2, $0
db "だ@@@@", $d6, $2, $0
db "だからね@", $ee, $2, $0
@@ -4125,7 +4030,7 @@ MobileEZChatCategoryPointers: ; 11daac
db "だった@@", $fa, $2, $0
db "だね@@@", $fe, $2, $0
db "だよ@@@", $10, $3, $0
- db "だよねー!", $12, $3, $0
+ db "だよねー!", $12, $3, $0
db "だわ@@@", $26, $3, $0
db "ッス@@@", $4c, $3, $0
db "ってかんじ", $52, $3, $0
@@ -4133,16 +4038,16 @@ MobileEZChatCategoryPointers: ; 11daac
db "つもり@@", $56, $3, $0
db "ていない@", $64, $3, $0
db "ている@@", $66, $3, $0
- db "でーす!@", $68, $3, $0
+ db "でーす!@", $68, $3, $0
db "でした@@", $74, $3, $0
- db "でしょ?@", $76, $3, $0
- db "でしょー!", $78, $3, $0
+ db "でしょ?@", $76, $3, $0
+ db "でしょー!", $78, $3, $0
db "です@@@", $7a, $3, $0
- db "ですか?@", $7c, $3, $0
+ db "ですか?@", $7c, $3, $0
db "ですよ@@", $80, $3, $0
db "ですわ@@", $82, $3, $0
- db "どうなの?", $a4, $3, $0
- db "どうよ?@", $a8, $3, $0
+ db "どうなの?", $a4, $3, $0
+ db "どうよ?@", $a8, $3, $0
db "とかいって", $aa, $3, $0
db "なの@@@", $e0, $3, $0
db "なのか@@", $e2, $3, $0
@@ -4154,20 +4059,20 @@ MobileEZChatCategoryPointers: ; 11daac
db "ね@@@@", $12, $4, $0
db "ねー@@@", $14, $4, $0
db "の@@@@", $1c, $4, $0
- db "の?@@@", $1e, $4, $0
+ db "の?@@@", $1e, $4, $0
db "ばっかり@", $44, $4, $0
- db "まーす!@", $c2, $4, $0
+ db "まーす!@", $c2, $4, $0
db "ます@@@", $d8, $4, $0
db "ますわ@@", $da, $4, $0
db "ません@@", $dc, $4, $0
db "みたいな@", $fa, $4, $0
- db "よ!@@@", $60, $5, $0
+ db "よ!@@@", $60, $5, $0
db "よー@@@", $68, $5, $0
db "よーん@@", $6c, $5, $0
db "よね@@@", $78, $5, $0
db "るよ@@@", $a2, $5, $0
db "わけ@@@", $bc, $5, $0
- db "わよ!@@", $d2, $5, $0
+ db "わよ!@@", $d2, $5, $0
.ThisAndThat: ; 11f100
db "ああ@@@", $12, $0, $0
@@ -4182,7 +4087,7 @@ MobileEZChatCategoryPointers: ; 11daac
db "この@@@", $f2, $1, $0
db "こりゃ@@", $fe, $1, $0
db "これ@@@", $0, $2, $0
- db "これだ!@", $2, $2, $0
+ db "これだ!@", $2, $2, $0
db "これは@@", $4, $2, $0
db "こんな@@", $e, $2, $0
db "そう@@@", $be, $2, $0
@@ -4190,7 +4095,7 @@ MobileEZChatCategoryPointers: ; 11daac
db "その@@@", $c2, $2, $0
db "そりゃ@@", $c6, $2, $0
db "それ@@@", $c8, $2, $0
- db "それだ!@", $cc, $2, $0
+ db "それだ!@", $cc, $2, $0
db "それは@@", $d0, $2, $0
db "そんな@@", $d2, $2, $0
db "どう@@@", $98, $3, $0
diff --git a/mobile/mobile_12.asm b/mobile/mobile_12.asm
index 14b787645..934afb457 100755
--- a/mobile/mobile_12.asm
+++ b/mobile/mobile_12.asm
@@ -563,15 +563,14 @@ MobileDesc_ZipCode: db "Your zip code?@"
; 484f1
MenuDataHeader_0x484f1: ; 0x484f1
- db $40 ; flags
- db 02, 11 ; start coords
- db 07, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 11, 2, SCREEN_WIDTH - 1, 7
dw MenuData2_0x484f9
db 1 ; default option
; 0x484f9
MenuData2_0x484f9: ; 0x484f9
- db $a0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_WRAP ; flags
db 2 ; items
Strings_484fb:
String_484fb: db "Boy@"
@@ -579,30 +578,26 @@ String_484ff: db "Girl@"
; 0x48504
MenuDataHeader_0x48504: ; 0x48504
- db $40 ; flags
- db 00, 10 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 10, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
MenuDataHeader_0x48509: ; 0x48509
- db $40 ; flags
- db 05, 10 ; start coords
- db 07, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 10, 5, SCREEN_WIDTH - 1, 7
MenuDataHeader_0x4850e: ; 0x4850e
- db $40 ; flags
- db 09, 10 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 10, 9, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
MenuDataHeader_0x48513: ; 0x48513
- db $40 ; flags
- db 01, 11 ; start coords
- db 12, 18 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 11, 1, 18, 12
dw MenuData2_0x4851b
db 1 ; default option
; 0x4851b
MenuData2_0x4851b: ; 0x4851b
- db $1d ; flags
+ db SCROLLINGMENU_DISPLAY_ARROWS | SCROLLINGMENU_ENABLE_RIGHT | SCROLLINGMENU_ENABLE_LEFT | SCROLLINGMENU_CALL_FUNCTION1_CANCEL ; flags
db 6 ; items
Unknown_4851d: ; 4851d
@@ -728,7 +723,7 @@ Function486bf: ; 486bf (12:46bf)
.got_num_rows_2
ld a, 1
ld [hli], a ; num cols
- ld [hl], $0 ; flags 1
+ ld [hl], 0 ; flags 1
set 5, [hl]
inc hl
xor a
@@ -794,7 +789,7 @@ Function4873c: ; 4873c (12:473c)
ld [hli], a ; num rows
ld a, 1
ld [hli], a ; num cols
- ld [hl], $0 ; flags 1
+ ld [hl], 0 ; flags 1
set 5, [hl]
inc hl
xor a
@@ -1277,9 +1272,8 @@ Function48a9a: ; 48a9a (12:4a9a)
; 48a9c (12:4a9c)
MenuDataHeader_0x48a9c: ; 0x48a9c
- db $40 ; flags
- db 08, 10 ; start coords
- db 13, 19 ; end coord
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 10, 8, SCREEN_WIDTH - 1, 13
String_48aa1: ; 48aa1
db "Tell Now"
@@ -1621,9 +1615,8 @@ Function48c63: ; 48c63
ret
; 48c8e
-Function48c8e: ; 48c8e
-; unreferenced
- ld hl, $d02a
+Unreferenced_Function48c8e: ; 48c8e
+ ld hl, wd019 + $11
ld d, h
ld e, l
farcall Function48c63
diff --git a/mobile/mobile_12_2.asm b/mobile/mobile_12_2.asm
index ba663cf86..5553d66fb 100755
--- a/mobile/mobile_12_2.asm
+++ b/mobile/mobile_12_2.asm
@@ -159,7 +159,7 @@ MobileCheckOwnMonAnywhere: ; 4a843
ret
; 4a927
-FindItemInPCOrBag: ; 4a927
+UnusedSpecial_FindItemInPCOrBag: ; 4a927
ld a, [ScriptVar]
ld [CurItem], a
ld hl, PCItems
@@ -715,9 +715,8 @@ Function4ac58: ; 4ac58
; 4aca2
MenuDataHeader_0x4aca2: ; 0x4aca2
- db $40 ; flags
- db 09, 11 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 11, 9, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw NULL
db 1 ; default option
; 0x4acaa
diff --git a/mobile/mobile_22.asm b/mobile/mobile_22.asm
index 9180c29e0..618c8a312 100644
--- a/mobile/mobile_22.asm
+++ b/mobile/mobile_22.asm
@@ -2,17 +2,17 @@ String_89116:
db "-----@"
String_8911c: ; 8911c
- db "でんわばんごうが ただしく" ; Phone number is not
- next "はいって いません!@" ; entered correctly!
+ db "でんわばんごうが ただしく" ; Phone number is not
+ next "はいって いません!@" ; entered correctly!
; 89135
String_89135: ; 89135
- db "データが かわって いますが" ; The data has changed.
- next "かきかえないで やめますか?@" ; Quit anyway?
+ db "データが かわって いますが" ; The data has changed.
+ next "かきかえないで やめますか?@" ; Quit anyway?
; 89153
String_89153: ; 89153
- db "メッセージは ありません@" ; No message
+ db "メッセージは ありません@" ; No message
; 89160
OpenSRAMBank4: ; 89160
@@ -277,15 +277,14 @@ Function89261: ; 89261
; 892a3
MenuDataHeader_0x892a3: ; 0x892a3
- db $40 ; flags
- db 05, 10 ; start coords
- db 09, 15 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 10, 5, 15, 9
dw MenuData2_0x892ab
db 1 ; default option
; 0x892ab
MenuData2_0x892ab: ; 0x892ab
- db $c0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 2 ; items
db "はい@"
db "いいえ@"
@@ -557,13 +556,13 @@ INCBIN "gfx/unknown/08940b.2bpp"
Function8942b: ; 8942b (22:542b)
ld de, vTiles0 tile $02
- ld hl, MobileAdapterGFX + $7d0
- ld bc, $80
+ ld hl, MobileAdapterGFX + $7d tiles
+ ld bc, 8 tiles
ld a, BANK(MobileAdapterGFX)
call FarCopyBytes
ld de, vTiles0 tile $0a
- ld hl, MobileAdapterGFX + $c60
- ld bc, $40
+ ld hl, MobileAdapterGFX + $c6 tiles
+ ld bc, 4 tiles
ld a, BANK(MobileAdapterGFX)
call FarCopyBytes
ret
@@ -572,7 +571,7 @@ Function89448: ; 89448 (22:5448)
; Clears the Sprites array
push af
ld hl, Sprites
- ld d, $10 * 6
+ ld d, 24 * SPRITEOAMSTRUCT_LENGTH
xor a
.loop
ld [hli], a
@@ -582,9 +581,9 @@ Function89448: ; 89448 (22:5448)
ret
Function89455: ; 89455 (22:5455)
- ld hl, MobileAdapterGFX + $7d0
+ ld hl, MobileAdapterGFX + $7d tiles
ld de, vTiles2 tile $0c
- ld bc, $490
+ ld bc, $49 tiles
ld a, BANK(MobileAdapterGFX)
call FarCopyBytes
ret
@@ -592,12 +591,12 @@ Function89455: ; 89455 (22:5455)
Function89464: ; 89464
ld hl, MobileAdapterGFX
ld de, vTiles2
- ld bc, $200
+ ld bc, $20 tiles
ld a, BANK(MobileAdapterGFX)
call FarCopyBytes
- ld hl, MobileAdapterGFX + $660
+ ld hl, MobileAdapterGFX + $66 tiles
ld de, vTiles2 tile $20
- ld bc, $170
+ ld bc, $17 tiles
ld a, BANK(MobileAdapterGFX)
call FarCopyBytes
ret
@@ -1268,15 +1267,15 @@ Function897d5: ; 897d5
Function89807: ; 89807 (22:5807)
- ld hl, MobileAdapterGFX + $200
+ ld hl, MobileAdapterGFX + $20 tiles
ld a, [wPlayerGender]
bit 0, a
jr z, .asm_89814
- ld hl, MobileAdapterGFX + $200 + $230
+ ld hl, MobileAdapterGFX + $43 tiles
.asm_89814
call DisableLCD
ld de, vTiles2 tile $37
- ld bc, $230
+ ld bc, $23 tiles
ld a, BANK(MobileAdapterGFX)
call FarCopyBytes
call EnableLCD
@@ -1556,7 +1555,7 @@ Function8999c: ; 8999c (22:599c)
; 899ac (22:59ac)
String_899ac: ; 899ac
- db "の めいし@"
+ db "の めいし@"
; 899b2
Function899b2: ; 899b2 (22:59b2)
@@ -1924,7 +1923,7 @@ Function89b97: ; 89b97 (22:5b97)
ld a, [hli]
ld h, [hl]
ld l, a
- ld de, Sprites
+ ld de, Sprite01
.asm_89bb4
ld a, [hli]
cp $ff
@@ -1934,19 +1933,19 @@ Function89b97: ; 89b97 (22:5b97)
.asm_89bbb
push hl
ld a, [hli]
- ld [de], a
+ ld [de], a ; y
inc de
ld a, [hli]
add b
- ld [de], a
+ ld [de], a ; x
inc de
- ld a, $8
+ ld a, $08
add b
ld b, a
- ld a, [hli]
+ ld a, [hli] ; tile id
ld [de], a
inc de
- ld a, [hli]
+ ld a, [hli] ; attributes
ld [de], a
inc de
pop hl
@@ -1966,32 +1965,32 @@ Unknown_89bd8: ; 89bd8
; 89be0
Unknown_89be0: ; 89be0
- db $01, $12, $4e, $01, $00
- db $01, $19, $4e, $01, $40
- db $01, $12, $72, $01, $20
- db $01, $19, $72, $01, $60
- db $ff
+ db $01, $12, $4e, $01, 0
+ db $01, $19, $4e, $01, 0 | Y_FLIP
+ db $01, $12, $72, $01, 0 | X_FLIP
+ db $01, $19, $72, $01, 0 | X_FLIP | Y_FLIP
+ db -1 ; end
Unknown_89bf5: ; 89bf5
- db $01, $60, $16, $01, $00
- db $01, $62, $16, $01, $40
- db $01, $60, $92, $01, $20
- db $01, $62, $92, $01, $60
- db $ff
+ db $01, $60, $16, $01, 0
+ db $01, $62, $16, $01, 0 | Y_FLIP
+ db $01, $60, $92, $01, 0 | X_FLIP
+ db $01, $62, $92, $01, 0 | X_FLIP | Y_FLIP
+ db -1 ; end
Unknown_89c0a: ; 89c0a
- db $01, $78, $66, $01, $00
- db $01, $78, $66, $01, $40
- db $01, $78, $92, $01, $20
- db $01, $78, $92, $01, $60
- db $ff
+ db $01, $78, $66, $01, 0
+ db $01, $78, $66, $01, 0 | Y_FLIP
+ db $01, $78, $92, $01, 0 | X_FLIP
+ db $01, $78, $92, $01, 0 | X_FLIP | Y_FLIP
+ db -1 ; end
Unknown_89c1f: ; 89c1f
- db $01, $80, $66, $01, $00
- db $01, $80, $66, $01, $40
- db $01, $80, $92, $01, $20
- db $01, $80, $92, $01, $60
- db $ff
+ db $01, $80, $66, $01, 0
+ db $01, $80, $66, $01, 0 | Y_FLIP
+ db $01, $80, $92, $01, 0 | X_FLIP
+ db $01, $80, $92, $01, 0 | X_FLIP | Y_FLIP
+ db -1 ; end
; 89c34
Function89c34: ; 89c34 (22:5c34)
@@ -2014,10 +2013,10 @@ Function89c44: ; 89c44 (22:5c44)
pop de
ret
.asm_89c4f
- ld hl, Sprites
+ ld hl, Sprite01
push de
ld a, b
- ld [hli], a
+ ld [hli], a ; y
ld d, $8
ld a, e
and a
@@ -2029,11 +2028,11 @@ Function89c44: ; 89c44 (22:5c44)
jr nz, .asm_89c5c
.asm_89c60
pop de
- ld [hli], a
+ ld [hli], a ; x
ld a, d
- ld [hli], a
+ ld [hli], a ; tile id
xor a
- ld [hli], a
+ ld [hli], a ; attributes
ret
Function89c67: ; 89c67 (22:5c67)
@@ -2124,20 +2123,20 @@ Function89cdf: ; 89cdf (22:5cdf)
ld c, a
ld e, $2
ld a, $2
- ld hl, Sprites
+ ld hl, Sprite01
.asm_89cee
push af
push bc
ld d, $4
.asm_89cf2
ld a, b
- ld [hli], a
+ ld [hli], a ; y
ld a, c
- ld [hli], a
+ ld [hli], a ; x
ld a, e
- ld [hli], a
+ ld [hli], a ; tile id
ld a, $1
- ld [hli], a
+ ld [hli], a ; attributes
ld a, $8
add c
ld c, a
@@ -2832,9 +2831,8 @@ Function8a116: ; 8a116 (22:6116)
; 8a176 (22:6176)
MenuDataHeader_0x8a176: ; 0x8a176
- db $40 ; flags
- db 00, 14 ; start coords
- db 06, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 14, 0, SCREEN_WIDTH - 1, 6
; 8a17b
Function8a17b: ; 8a17b (22:617b)
@@ -2855,15 +2853,14 @@ Function8a17b: ; 8a17b (22:617b)
; 8a19a (22:619a)
MenuDataHeader_0x8a19a: ; 0x8a19a
- db $40 ; flags
- db 00, 14 ; start coords
- db 06, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 14, 0, SCREEN_WIDTH - 1, 6
dw MenuData2_0x8a1a2
db 1 ; default option
; 0x8a1a2
MenuData2_0x8a1a2: ; 0x8a1a2
- db $e0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING | STATICMENU_WRAP ; flags
db 3 ; items
db "ひらく@"
db "すてる@"
@@ -2886,15 +2883,15 @@ Function8a1b0: ; 8a1b0
; 8a1cc
Strings_8a1cc: ; 8a1cc
- db "めいし", $25, "せいりと へんしゅうを"
+ db "めいし<NO>せいりと へんしゅうを"
next "おこないます"
db "@"
- db "めいしフ,ルダー", $25, "めいしと"
- next "あんしょうばんごう", $1f, "けします"
+ db "めいしフォルダー<NO>めいしと"
+ next "あんしょうばんごう<WO>けします"
db "@"
- db "まえ", $25, "がめん", $1d, "もどります"
+ db "まえ<NO>がめん<NI>もどります"
db "@"
; 8a20d
@@ -3015,9 +3012,8 @@ Function8a2aa: ; 8a2aa (22:62aa)
; 8a2ef (22:62ef)
MenuDataHeader_0x8a2ef: ; 0x8a2ef
- db $40 ; flags
- db 12, 00 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
; 8a2f4
UnknownText_0x8a2f4: ; 0x8a2f4
@@ -3177,35 +3173,33 @@ Unknown_8a408: db 1, 2, -1
Unknown_8a40b: db 1, 2, 3, -1
MenuDataHeader_0x8a40f: ; 0x8a40f
- db $40 ; flags
- db 02, 00 ; start coords
- db 11, 10 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 2, 10, TEXTBOX_Y - 1
dw MenuData2_0x8a417
db 1 ; default option
; 0x8a417
MenuData2_0x8a417: ; 0x8a417
- db $a0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_WRAP ; flags
db 4 ; items
db "めいしりスト@"
- db "じぶんの めいし@"
+ db "じぶんの めいし@"
db "めいしこうかん@"
db "やめる@"
; 0x8a435
MenuDataHeader_0x8a435: ; 0x8a435
- db $40 ; flags
- db 02, 00 ; start coords
- db 09, 10 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 2, 10, 9
dw MenuData2_0x8a43d
db 1 ; default option
; 0x8a43d
MenuData2_0x8a43d: ; 0x8a43d
- db $a0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_WRAP ; flags
db 3 ; items
db "めいしりスト@"
- db "じぶんの めいし@"
+ db "じぶんの めいし@"
db "やめる@"
; 0x8a453
@@ -3229,18 +3223,18 @@ Function8a453: ; 8a453 (22:6453)
; 8a476 (22:6476)
String_8a476: ; 8a476
- db "まえ", $25, "がめん", $1d, "もどります@"
+ db "まえ<NO>がめん<NI>もどります@"
; 8a483
Strings_8a483: ; 8a483
- db "おともだち", $25, "めいしは"
- next "ここ", $1d, "いれておきます@"
+ db "おともだち<NO>めいしは"
+ next "ここ<NI>いれておきます@"
- db "でんわばんごう", $1f, "いれると"
- next "めいしこうかん", $4a, "できます@"
+ db "でんわばんごう<WO>いれると"
+ next "めいしこうかん<GA>できます@"
- db "ともだちと じぶん", $25, "めいしを"
- next "せきがいせんで こうかん します@"
+ db "ともだちと じぶん<NO>めいしを"
+ next "せきがいせんで こうかん します@"
; 8a4d3
Function8a4d3: ; 8a4d3 (22:64d3)
@@ -3301,7 +3295,7 @@ asm_8a529: ; 8a529 (22:6529)
ld [hli], a
ld hl, Sprites
xor a
- ld bc, $20
+ ld bc, 8 * SPRITEOAMSTRUCT_LENGTH
call ByteFill
ret
@@ -3752,7 +3746,7 @@ Function8a818: ; 8a818 (22:6818)
; 8a868 (22:6868)
.string_8a868
- db "めいし", $1f, "かきかえ まし", $22, "@"
+ db "めいし<WO>かきかえ まし<TA!>@"
.asm_8a875
ld de, String_8a88b
@@ -3769,8 +3763,8 @@ Function8a818: ; 8a818 (22:6818)
; 8a88b (22:688b)
String_8a88b: ; 8a88b
- db "おともだち", $25, "なまえが"
- next "かかれて いません!@"
+ db "おともだち<NO>なまえが"
+ next "かかれて いません!@"
; 8a8a1
Function8a8a1: ; 8a8a1 (22:68a1)
@@ -3827,11 +3821,11 @@ Function8a8c3: ; 8a8c3 (22:68c3)
; 8a919 (22:6919)
String_8a919: ; 8a919
- db "このデータ", $1f, "けしますか?@"
+ db "このデータ<WO>けしますか?@"
; 8a926
String_8a926: ; 8a926
- db "データ", $1f, "けしまし", $22, "@"
+ db "データ<WO>けしまし<TA!>@"
; 8a930
Function8a930: ; 8a930 (22:6930)
@@ -3920,9 +3914,8 @@ Jumptable_8a9c5: ; 8a9c5 (22:69c5)
; 8a9c9 (22:69c9)
MenuDataHeader_0x8a9c9: ; 0x8a9c9
- db $40 ; flags
- db 04, 11 ; start coords
- db 11, 18 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 11, 4, 18, TEXTBOX_Y - 1
; 8a9ce
Function8a9ce: ; 8a9ce (22:69ce)
@@ -3950,15 +3943,14 @@ Function8a9ce: ; 8a9ce (22:69ce)
; 8a9f2 (22:69f2)
MenuDataHeader_0x8a9f2: ; 0x8a9f2
- db $40 ; flags
- db 04, 11 ; start coords
- db 11, 18 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 11, 4, 18, TEXTBOX_Y - 1
dw MenuData2_0x8a9fa
db 1 ; default option
; 0x8a9fa
MenuData2_0x8a9fa: ; 0x8a9fa
- db $a0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_WRAP ; flags
db 3 ; items
db "へんしゅう@"
db "みる@"
@@ -4078,7 +4070,7 @@ Function8aab6: ; 8aab6 (22:6ab6)
; 8aaf0 (22:6af0)
String_8aaf0: ; 8aaf0
- db "あたらしい めいし<PKMN>できまし<LNBRK>@"
+ db "あたらしい めいし<PKMN>できまし<LNBRK>@"
; 8ab00
Function8ab00: ; 8ab00
@@ -4234,8 +4226,8 @@ Function8aba9: ; 8aba9
; 8ac3b
String_8ac3b: ; 8ac3b
- db "こ", $25, "ともだち", $1d, "でんわを"
- next "かけますか?@"
+ db "こ<NO>ともだち<NI>でんわを"
+ next "かけますか?@"
; 8ac4e
Function8ac4e: ; 8ac4e
@@ -4412,13 +4404,13 @@ Function8ad0b: ; 8ad0b
; 8ad89
String_8ad89: ; 8ad89
- db "こ", $25, "めいし", $1f, "けして"
- next "いれかえますか?@"
+ db "こ<NO>めいし<WO>けして"
+ next "いれかえますか?@"
; 8ad9c
String_8ad9c: ; 8ad9c
- db "おともだち", $25, "なまえを"
- next "のこして おきますか?@"
+ db "おともだち<NO>なまえを"
+ next "のこして おきますか?@"
; 8adb3
Function8adb3: ; 8adb3
diff --git a/mobile/mobile_22_2.asm b/mobile/mobile_22_2.asm
index 37b3d60b8..6354da146 100644
--- a/mobile/mobile_22_2.asm
+++ b/mobile/mobile_22_2.asm
@@ -1,8 +1,8 @@
Function8b342:: ; 8b342
-; Loads the secondary map header pointer, then runs through a
-; dw with three dummy functions. Spends a lot of energy
+; Loads the map data pointer, then runs through a
+; dw with three dummy functions. Spends a lot of energy
; doing pretty much nothing.
- call GetSecondaryMapHeaderPointer
+ call GetMapDataPointer
ld d, h
ld e, l
@@ -26,15 +26,15 @@ Function8b342:: ; 8b342
; 8b35a
.zero ; 8b35a
- mobile
+ ret
; 8b35b
.one ; 8b35b
- mobile
+ ret
; 8b35c
.two ; 8b35c
- mobile
+ ret
; 8b35d
Function8b35d: ; 8b35d
@@ -910,9 +910,8 @@ Function8b855: ; 8b855
; 8b867
MenuDataHeader_0x8b867: ; 0x8b867
- db $40 ; flags
- db 03, 01 ; start coords
- db 13, 18 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 1, 3, 18, 13
dw MenuData2_0x8b870
db 1 ; default option
; 0x8b86f
@@ -920,7 +919,7 @@ MenuDataHeader_0x8b867: ; 0x8b867
db 0
MenuData2_0x8b870: ; 0x8b870
- db $3c ; flags
+ db SCROLLINGMENU_ENABLE_FUNCTION3 | SCROLLINGMENU_DISPLAY_ARROWS | SCROLLINGMENU_ENABLE_RIGHT | SCROLLINGMENU_ENABLE_LEFT ; flags
db 5 ; items
db 3, 1
dbw 0, wd002
@@ -1016,10 +1015,10 @@ Unknown_8b903: ; 8b903
dw String_8b92a
dw String_8b938
-String_8b90b: db "めいしを えらんでください@" ; Please select a noun.
-String_8b919: db "どの めいしと いれかえますか?@" ; OK to swap with any noun?
-String_8b92a: db "あいてを えらんでください@" ; Please select an opponent.
-String_8b938: db "いれる ところを えらんでください@" ; Please select a location.
+String_8b90b: db "めいしを えらんでください@" ; Please select a noun.
+String_8b919: db "どの めいしと いれかえますか?@" ; OK to swap with any noun?
+String_8b92a: db "あいてを えらんでください@" ; Please select an opponent.
+String_8b938: db "いれる ところを えらんでください@" ; Please select a location.
; 8b94a
Function8b94a: ; 8b94a
@@ -1083,20 +1082,18 @@ Function8b9ab: ; 8b9ab
; 8b9ac
MenuDataHeader_0x8b9ac: ; 0x8b9ac
- db $40 ; flags
- db 00, 11 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 11, 0, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
MenuDataHeader_0x8b9b1: ; 0x8b9b1
- db $40 ; flags
- db 00, 11 ; start coords
- db 07, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 11, 0, SCREEN_WIDTH - 1, 7
dw MenuData2_0x8b9b9
db 1 ; default option
; 0x8b9b9
MenuData2_0x8b9b9: ; 0x8b9b9
- db $a0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_WRAP ; flags
db 3 ; items
db "へんしゅう@" ; EDIT
db "いれかえ@" ; REPLACE
@@ -1104,15 +1101,14 @@ MenuData2_0x8b9b9: ; 0x8b9b9
; 0x8b9ca
MenuDataHeader_0x8b9ca: ; 0x8b9ca
- db $40 ; flags
- db 00, 11 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 11, 0, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw MenuData2_0x8b9d2
db 1 ; default option
; 0x8b9d2
MenuData2_0x8b9d2: ; 0x8b9d2
- db $a0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_WRAP ; flags
db 5 ; items
db "みる@" ; VIEW
db "へんしゅう@" ; EDIT
diff --git a/mobile/mobile_40.asm b/mobile/mobile_40.asm
index 84be87ce4..48751e4fa 100644
--- a/mobile/mobile_40.asm
+++ b/mobile/mobile_40.asm
@@ -40,7 +40,7 @@ Function100022: ; 100022
ld a, b
ld [wcd24], a
farcall Function10127e
- farcall MobileFunc_106462
+ farcall Stubbed_Function106462
farcall Function106464 ; load broken gfx
farcall Function11615a ; init RAM
ld hl, VramState
@@ -318,7 +318,7 @@ Function10016f: ; 10016f
Function10020b: ; 10020b
xor a
ld [wc303], a
- farcall FadeOutPalettes
+ farcall Special_FadeOutPalettes
farcall Function106464
call HideSprites
call DelayFrame
@@ -349,11 +349,11 @@ Function100232: ; 100232
; 10024d
String10024d: ; 10024d
- db "つうしんを キャンセル しました@"
+ db "つうしんを キャンセル しました@"
; 10025e
String10025e: ; 10025e
- db "おともだちと えらんだ へやが"
+ db "おともだちと えらんだ へやが"
next "ちがうようです@"
; 100276
@@ -924,14 +924,14 @@ Function100597: ; 100597
; 1005b2
MenuDataHeader_1005b2: ; 1005b2
- db $40 ; flags
+ db MENU_BACKUP_TILES ; flags
db 6, 14
db 10, 19
dw MenuData2_1005ba
db 1 ; default option
MenuData2_1005ba:
- db $c0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 2
db "はい@"
db "いいえ@"
@@ -975,14 +975,14 @@ Function1005e1: ; 1005e1
; 1005fc
MenuDataHeader_1005fc: ; 1005fc
- db $40 ; flags
+ db MENU_BACKUP_TILES ; flags
db 6, 14
db 10, 19
dw MenuData2_100604
db 1 ; default option
MenuData2_100604: ; 100604
- db $c0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 2
db "かける@"
db "まつ@"
@@ -1000,7 +1000,7 @@ Mobile_CommunicationStandby: ; 10060d
; 100621
.String: ; 100621
- db "つうしんたいきちゅう!@"
+ db "つうしんたいきちゅう!@"
; 10062d
AdvanceMobileInactivityTimerAndCheckExpired: ; 10062d
@@ -1119,11 +1119,11 @@ Function100697: ; 100697
; 1006c2
String1006c2: ; 1006c2
- db "ふん @"
+ db "ふん @"
String1006c6: ; 1006c6
db "びょう@"
String1006ca: ; 1006ca
- db "1じかんいじょう@"
+ db "1じかんいじょう@"
; 1006d3
Function1006d3: ; 1006d3
@@ -1412,12 +1412,12 @@ Function100846: ; 100846
; 10088e
String_10088e: ; 10088e
- db "モバイルたいせん できる"
+ db "モバイルたいせん できる"
next "じかん@"
; 10089f
String_10089f: ; 10089f
- db " むせいげん@"
+ db " むせいげん@"
; 1008a6
Function1008a6: ; 1008a6
@@ -1518,9 +1518,9 @@ Function100902: ; 100902
; 10095a
.string_10095a ; 10095a
- db "たいせん しゅうりょう@"
+ db "たいせん しゅうりょう@"
.string_100966 ; 100966
- db "のこり ふん", $e7, "@"
+ db "のこり   ふん!@"
; 100970
@@ -2120,13 +2120,12 @@ Function100d67: ; 100d67
.MenuDataHeader: ; 100d88
db 0 ; flags
- db 11, 11 ; start coords
- db 17, 19 ; end coords
+ menu_coords 11, 11, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw .MenuData2
db 1 ; default option
.MenuData2: ; 100d90
- db $c0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 3
db "いれかえる@" ; TRADE
db "つよさをみる@" ; STATS
@@ -2530,7 +2529,7 @@ Unknown_100fc0: ; 100fc0
dbwww $80, PlayerID, 2, OTPlayerID
dbwww $80, PartyMons, PARTYMON_STRUCT_LENGTH * PARTY_LENGTH, OTPartyMons
dbwww $80, PartyMonOT, NAME_LENGTH * PARTY_LENGTH, OTPartyMonOT
- dbwww $80, PartyMonNicknames, PKMN_NAME_LENGTH * PARTY_LENGTH, OTPartyMonNicknames
+ dbwww $80, PartyMonNicknames, MON_NAME_LENGTH * PARTY_LENGTH, OTPartyMonNicknames
db -1
Unknown_100feb: ; 100feb
@@ -2551,7 +2550,7 @@ Unknown_100ff3: ; 100ff3
Unknown_10102c: ; 10102c
dbwww $80, OTPlayerName, NAME_LENGTH, NULL
dbwww $80, OTPlayerID, 2, NULL
- dbwww $80, OTPartyMonNicknames, PKMN_NAME_LENGTH * PARTY_LENGTH, NULL
+ dbwww $80, OTPartyMonNicknames, MON_NAME_LENGTH * PARTY_LENGTH, NULL
dbwww $80, OTPartyMonOT, NAME_LENGTH * PARTY_LENGTH, NULL
dbwww $80, OTPartyMons, PARTYMON_STRUCT_LENGTH * PARTY_LENGTH, NULL
db -1
@@ -2804,7 +2803,7 @@ LoadSelectedPartiesForColosseum: ; 1010f2
ret
; 1011f1
-Function1011f1: ; 1011f1
+Special_Function1011f1: ; 1011f1
ld a, $04
call GetSRAMBank
ld a, [$a60c]
@@ -2828,20 +2827,20 @@ Function1011f1: ; 1011f1
ret
; 101220
-Function101220: ; 101220
+Special_Function101220: ; 101220
xor a
ld [wLinkMode], a
ret
; 101225
-Function101225: ; 101225
+Special_Function101225: ; 101225
ld d, 1
ld e, BANK(Jumptable_101297)
ld bc, Jumptable_101297
call Function100000
jr Function10123d
-Function101231: ; 101231
+Special_Function101231: ; 101231
ld d, 2
ld e, BANK(Jumptable_101297)
ld bc, Jumptable_101297
@@ -2872,7 +2871,7 @@ Function101251: ; 101251
call Function1021e0
call Function1020ea
ret c
- call Function102142
+ call Special_Function102142
ret
; 101265
@@ -3077,7 +3076,7 @@ Function1013aa: ; 1013aa
Function1013c0: ; 1013c0
farcall BlankScreen
- farcall MobileFunc_106462
+ farcall Stubbed_Function106462
farcall Function106464
call FinishExitMenu
ret
@@ -3093,7 +3092,7 @@ Function1013dd: ; 1013dd
ret
; 1013e1
-Function1013e1: ; 1013e1 ; unreferenced
+Unreferenced_Function1013e1: ; 1013e1
push de
inc de
ld b, a
@@ -3130,7 +3129,7 @@ Function1013f5: ; 1013f5
ret
; 101400
-Function101400: ; 101400 ; unreferenced
+Unreferenced_Function101400: ; 101400
ld a, [de]
inc de
cp [hl]
@@ -3318,7 +3317,7 @@ Function101507: ; 101507
ret
; 10151d
-Function10151d: ; 10151d ; unreferenced
+Unreferenced_Function10151d: ; 10151d
ld a, $34
call Function3e32
ld a, [wMobileCommsJumptableIndex]
@@ -3513,7 +3512,7 @@ Function101663: ; 101663
ret
; 101674
-Function101674: ; 101674 ; unreferenced
+Unreferenced_Function101674: ; 101674
ld a, $05
ld hl, w5_dc00
call Function101635
@@ -4053,11 +4052,11 @@ _StartMobileBattle: ; 1019ab
call CopyBytes
ld a, [wcd2f]
and a
- ld a, 2
+ ld a, USING_INTERNAL_CLOCK
jr z, .got_link_player_number
- ld a, 1
+ ld a, USING_EXTERNAL_CLOCK
.got_link_player_number
- ld [hLinkPlayerNumber], a
+ ld [hSerialConnectionStatus], a
ret
; 101a21
@@ -4076,8 +4075,8 @@ StartMobileBattle: ; 101a21
farcall ShowLinkBattleParticipantsAfterEnd
xor a
ld [wDisableTextAcceleration], a
- ld a, $ff
- ld [hLinkPlayerNumber], a
+ ld a, CONNECTION_NOT_ESTABLISHED
+ ld [hSerialConnectionStatus], a
pop af
ld [Options], a
ret
@@ -4402,7 +4401,7 @@ Function101cbc: ; 101cbc
ret
; 101cc2
-Function101cc2: ; 101cc2 ; unreferenced
+Unreferenced_Function101cc2: ; 101cc2
ld a, $02
ld [wcd2b], a
ret
@@ -4683,7 +4682,7 @@ Function101e64: ; 101e64
ret
; 101e82
-Function101e82: ; 101e82 ; unreferenced
+Unreferenced_Function101e82: ; 101e82
call Function101ecc
ld a, [wMobileCommsJumptableIndex]
inc a
@@ -4691,7 +4690,7 @@ Function101e82: ; 101e82 ; unreferenced
ret
; 101e8d
-Function101e8d: ; 101e8d ; unreferenced
+Unreferenced_Function101e8d: ; 101e8d
call Function101ed3
ld a, [wMobileCommsJumptableIndex]
inc a
@@ -4783,55 +4782,55 @@ String_101f13: ; 101f13
db "@"
String_101f14: ; 101f14
- db "モバイルアダプタを つかって"
- next "おともだちと つうしんします@"
+ db "モバイルアダプタを つかって"
+ next "おともだちと つうしんします@"
String_101f32: ; 101f32
- db "でんわを かけるひとには"
- next "つうわりょうきんが かかります@"
+ db "でんわを かけるひとには"
+ next "つうわりょうきんが かかります@"
String_101f4f: ; 101f4f
- db "モバイルアダプタの じゅんびは"
- next "できて いますか?@"
+ db "モバイルアダプタの じゅんびは"
+ next "できて いますか?@"
String_101f69: ; 101f69
- db "あなたが おともだちに"
- next "でんわを かけますか?@"
+ db "あなたが おともだちに"
+ next "でんわを かけますか?@"
String_101f81: ; 101f81
- db "めいしフ,ルダーを"
- next "つかいますか?@"
+ db "めいしフォルダーを"
+ next "つかいますか?@"
String_101f93: ; 101f93
- db "でんわばんごうを にゅうりょく"
+ db "でんわばんごうを にゅうりょく"
next "してください@"
String_101faa: ; 101faa
- db "それでは おともだちからの"
- next "でんわを おまちします…@"
+ db "それでは おともだちからの"
+ next "でんわを おまちします⋯@"
String_101fc5: ; 101fc5
- next "に でんわを かけます@"
+ next "に でんわを かけます@"
String_101fd2: ; 101fd2
- next "に でんわを かけています@"
+ next "に でんわを かけています@"
String_101fe1: ; 101fe1
- db "でんわが つながりました!@"
+ db "でんわが つながりました!@"
String_101fef: ; 101fef
db "つうわを"
- next "しゅうりょう します…@"
+ next "しゅうりょう します⋯@"
String_102000: ; 102000
- db "つうしん しゅうりょう@"
+ db "つうしん しゅうりょう@"
String_10200c: ; 10200c
- db "つうわ じかん@"
+ db "つうわ じかん@"
String_102014: ; 102014
- db "それでは つうしんの"
- next "せっていを してください@"
+ db "それでは つうしんの"
+ next "せっていを してください@"
; 10202c
Function10202c: ; 10202c
@@ -5025,7 +5024,7 @@ Function102112: ; 102112
ret
; 102142
-Function102142: ; 102142
+Special_Function102142: ; 102142
call Function10218d
call Function102180
ld hl, UnknownText_0x1021d1
@@ -5454,7 +5453,7 @@ Function102423: ; 102423
call Function102921
ret nc
farcall SaveAfterLinkTrade
- farcall TrainerRankings_Trades
+ farcall StubbedTrainerRankings_Trades
farcall BackupMobileEventIndex
ld hl, wcd4b
set 1, [hl]
@@ -6287,9 +6286,8 @@ Function1029af: ; 1029af
; 1029bb
MenuDataHeader_1029bb: ; 1029bb
- db $40 ; flags
- db 10, 3 ; start coords
- db 12, 15 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 3, 10, 15, 12
dw NULL
db 1 ; default option
; 1029c3
@@ -6506,7 +6504,7 @@ Function102b4e: ; 102b4e
ret
; 102b68
-Function102b68: ; 102b68 ; unreferenced
+Unreferenced_Function102b68: ; 102b68
xor a
ld hl, wWindowStackPointer
ld bc, $10
@@ -7008,7 +7006,7 @@ Function102f15: ; 102f15
; 102f22
.TooBadTheTradeWasCanceled: ; 102f22
- db "こうかんを キャンセルしました@"
+ db "こうかんを キャンセルしました@"
; 102f32
Function102f32: ; 102f32
@@ -7032,7 +7030,7 @@ Function102f50: ; 102f50
; 102f5d
.PleaseWait: ; 102f5d
- db "しょうしょう おまち ください@"
+ db "しょうしょう おまち ください@"
; 102f6d
Function102f6d: ; 102f6d
@@ -7044,7 +7042,7 @@ Function102f6d: ; 102f6d
; 102f7a
.Finished: ; 102f7a
- db "しゅうりょう します@"
+ db "しゅうりょう します@"
; 102f85
Function102f85: ; 102f85
@@ -7069,8 +7067,8 @@ Function102f85: ; 102f85
; 102fb2
String_102fb2: ; 102fb2
- db "あいてがわ<PKMN>えらんだ "
- next "いじょう<PKMN>あるようです!!"
+ db "あいてがわ<PKMN>えらんだ "
+ next "いじょう<PKMN>あるようです!!"
db "@"
; 102fcc
@@ -7087,8 +7085,8 @@ Function102fce: ; 102fce
; 102fdb
String_102fdb: ; 102fdb
- db "あいてがわ%せんたくに"
- next "いじょう<PKMN>あるようです!!"
+ db "あいてがわ<NO>せんたくに"
+ next "いじょう<PKMN>あるようです!!"
done
; 102ff5
@@ -7101,8 +7099,8 @@ Function102ff5: ; 102ff5
; 103002
String_103002: ; 103002
- db "その#を こうかんすると"
- next "せんとう できなく なっちゃうよ!"
+ db "その#を こうかんすると"
+ next "せんとう できなく なっちゃうよ!"
db "@"
; 103021
@@ -7115,8 +7113,8 @@ Function103021: ; 103021
; 10302e
String_10302e: ; 10302e
- db "あいてが ちゅうしを えらんだので"
- next "こうかんを ちゅうし します"
+ db "あいてが ちゅうしを えらんだので"
+ next "こうかんを ちゅうし します"
db "@"
; 10304f
@@ -7691,16 +7689,16 @@ Unknown_103522: ; 103522
dw String_103545
String_103545: db "@"
-String_103546: db "せんとう アニメ@"
+String_103546: db "せんとう アニメ@"
String_10354f: db "でんわばんごう@"
String_103557: db "めいしこうかん@"
-String_10355f: db "でんわを かけるひとが きめられる@"
-String_103571: db "でんわばんごうの にゅうりょくのしかた@"
-String_103585: db "あたらしいめいしが あれば こうかん@"
-String_103598: db "とばして みる@"
-String_1035a0: db "じっくり みる@"
+String_10355f: db "でんわを かけるひとが きめられる@"
+String_103571: db "でんわばんごうの にゅうりょくのしかた@"
+String_103585: db "あたらしいめいしが あれば こうかん@"
+String_103598: db "とばして みる@"
+String_1035a0: db "じっくり みる@"
String_1035a8: db "めいしからえらぶ@"
-String_1035b1: db "すうじで いれる@"
+String_1035b1: db "すうじで いれる@"
String_1035ba: db "する@"
String_1035bd: db "しない@"
String_1035c1: db "けってい@"
@@ -7724,9 +7722,9 @@ Unknown_1035d7: ; 1035d7
dw Unknown_103608
dw Unknown_103608
dw Unknown_1035fe
- dw AskMobileOrCable
- dw AskMobileOrCable
- dw AskMobileOrCable
+ dw Special_AskMobileOrCable
+ dw Special_AskMobileOrCable
+ dw Special_AskMobileOrCable
Unknown_1035e7: ; 1035e7
dwcoord 0, 6
@@ -7757,7 +7755,7 @@ Unknown_103608: ; 103608
db 2, 2, 3
; 103612
-AskMobileOrCable: ; 103612
+Special_AskMobileOrCable: ; 103612
ld hl, MenuDataHeader_103640
call LoadMenuDataHeader
ld a, [wMobileOrCable_LastSelection]
@@ -7785,14 +7783,13 @@ AskMobileOrCable: ; 103612
; 103640
MenuDataHeader_103640: ; 103640
- db $40 ; flags
- db 6, 13 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 13, 6, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw MenuData2_103648
db 1 ; default option
MenuData2_103648: ; 103648
- db $80 ; flags
+ db STATICMENU_CURSOR ; flags
db 2
db "モバイル@"
db "ケーブル@"
@@ -7814,7 +7811,7 @@ Function103654: ; 103654
ret
; 10366e
-Mobile_SelectThreeMons: ; 10366e
+Special_Mobile_SelectThreeMons: ; 10366e
farcall Mobile_AlwaysReturnNotCarry
bit 7, c
jr z, .asm_10369b
@@ -7940,14 +7937,13 @@ Function103700: ; 103700
; 103747
MenuDataHeader_103747: ; 103747
- db $40 ; flags
- db 5, 13 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 13, 5, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw MenuData2_10374f
db 1 ; default option
MenuData2_10374f: ; 10374f
- db $c0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
db 3
db "はい@"
db "やめる@"
@@ -7983,7 +7979,7 @@ UnknownText_0x10377b: ; 0x10377b
db "@"
; 0x103780
-Function103780: ; 103780
+Special_Function103780: ; 103780
ld a, [wd265]
push af
call Function10378c
@@ -8025,7 +8021,7 @@ Function10378c: ; 10378c
ret
; 1037c2
-Function1037c2: ; 1037c2
+Special_Function1037c2: ; 1037c2
call Function103823
jr c, .nope
ld a, [wdc5f]
@@ -8051,7 +8047,7 @@ UnknownText_0x1037e6: ; 0x1037e6
db "@"
; 0x1037eb
-Function1037eb: ; 1037eb
+Special_Function1037eb: ; 1037eb
call Function103823
jr nc, .asm_103807
ld hl, UnknownText_0x103819
@@ -8106,7 +8102,7 @@ Function103823: ; 103823
ret
; 10383c
-Function10383c: ; 10383c
+Special_Function10383c: ; 10383c
ld a, $01
ld [wdc60], a
xor a
@@ -8139,7 +8135,7 @@ UnknownText_0x103876: ; 0x103876
db "@"
; 0x10387b
-Function10387b: ; 10387b
+Special_Function10387b: ; 10387b
farcall Mobile_AlwaysReturnNotCarry
bit 7, c
ret nz
diff --git a/mobile/mobile_41.asm b/mobile/mobile_41.asm
index b92af19fe..e51ab3eea 100755
--- a/mobile/mobile_41.asm
+++ b/mobile/mobile_41.asm
@@ -2,7 +2,8 @@
; which were used for Trainer Rankings in Pokémon News.
; Copies certain values at the time the player enters the Hall of Fame.
-TrainerRankings_HallOfFame2:: mobile ; 0x105ef6
+StubbedTrainerRankings_HallOfFame2:: ; 0x105ef6
+ ret
ld a, BANK(sTrainerRankingGameTimeHOF)
call GetSRAMBank
@@ -33,7 +34,8 @@ TrainerRankings_HallOfFame2:: mobile ; 0x105ef6
ret
; 105f33
-TrainerRankings_MagikarpLength: mobile ; 105f33
+StubbedTrainerRankings_MagikarpLength: ; 105f33
+ ret
ld a, BANK(sTrainerRankingLongestMagikarp)
call GetSRAMBank
ld de, Buffer1
@@ -101,7 +103,8 @@ TrainerRankings_MagikarpLength: mobile ; 105f33
ret
; 105f79
-TrainerRankings_BugContestScore: mobile ; 105f79
+StubbedTrainerRankings_BugContestScore: ; 105f79
+ ret
ld a, BANK(sTrainerRankingBugContestScore)
call GetSRAMBank
ld a, [hProduct]
@@ -130,7 +133,8 @@ TrainerRankings_BugContestScore: mobile ; 105f79
ret
; 105f9f
-TrainerRankings_AddToSlotsWinStreak: mobile ; 105f9f
+StubbedTrainerRankings_AddToSlotsWinStreak: ; 105f9f
+ ret
ld a, BANK(sTrainerRankingCurrentSlotsStreak)
call GetSRAMBank
@@ -170,7 +174,8 @@ TrainerRankings_AddToSlotsWinStreak: mobile ; 105f9f
ret
; 105fd0
-TrainerRankings_EndSlotsWinStreak: mobile ; 105fd0
+StubbedTrainerRankings_EndSlotsWinStreak: ; 105fd0
+ ret
ld a, BANK(sTrainerRankingCurrentSlotsStreak)
call GetSRAMBank
ld hl, sTrainerRankingCurrentSlotsStreak
@@ -182,7 +187,8 @@ TrainerRankings_EndSlotsWinStreak: mobile ; 105fd0
ret
; 105fe3
-TrainerRankings_AddToSlotsPayouts: mobile ; 105fe3
+StubbedTrainerRankings_AddToSlotsPayouts: ; 105fe3
+ ret
ld a, BANK(sTrainerRankingTotalSlotsPayouts)
call GetSRAMBank
ld hl, sTrainerRankingTotalSlotsPayouts + 3
@@ -210,7 +216,8 @@ TrainerRankings_AddToSlotsPayouts: mobile ; 105fe3
ret
; 106008
-TrainerRankings_AddToBattlePayouts: mobile ; 106008
+StubbedTrainerRankings_AddToBattlePayouts: ; 106008
+ ret
ld a, BANK(sTrainerRankingTotalBattlePayouts)
call GetSRAMBank
ld hl, sTrainerRankingTotalBattlePayouts + 3
@@ -240,12 +247,13 @@ TrainerRankings_AddToBattlePayouts: mobile ; 106008
ret
; 10602e
-TrainerRankings_StepCount: mobile ; 10602e (41:602e)
+StubbedTrainerRankings_StepCount: ; 10602e (41:602e)
+ ret
ld hl, sTrainerRankingStepCount
- jp TrainerRankings_Increment4Byte
+ jp StubbedTrainerRankings_Increment4Byte
-; Unreferenced in English version.
-TrainerRankings_BattleTowerWins: mobile ; 106035
+Unreferenced_StubbedTrainerRankings_BattleTowerWins: ; 106035
+ ret
ld a, $5
call GetSRAMBank
ld a, [$aa8d]
@@ -253,167 +261,196 @@ TrainerRankings_BattleTowerWins: mobile ; 106035
call CloseSRAM
ret nz
ld hl, sTrainerRankingBattleTowerWins
- jp TrainerRankings_Increment2Byte
+ jp StubbedTrainerRankings_Increment2Byte
-TrainerRankings_TMsHMsTaught: mobile ; 106049
+StubbedTrainerRankings_TMsHMsTaught: ; 106049
+ ret
ld hl, sTrainerRankingTMsHMsTaught
- jp TrainerRankings_Increment3Byte
+ jp StubbedTrainerRankings_Increment3Byte
-TrainerRankings_Battles: mobile ; 106050
+StubbedTrainerRankings_Battles: ; 106050
+ ret
ld a, [BattleType]
cp BATTLETYPE_TUTORIAL ; Exclude the Dude’s tutorial battle
ret z
ld hl, sTrainerRankingBattles
- jp TrainerRankings_Increment3Byte
+ jp StubbedTrainerRankings_Increment3Byte
-TrainerRankings_WildBattles: mobile ; 10605d
+StubbedTrainerRankings_WildBattles: ; 10605d
+ ret
ld a, [BattleType]
cp BATTLETYPE_TUTORIAL ; Exclude the Dude’s tutorial battle
ret z
ld hl, sTrainerRankingWildBattles
- jp TrainerRankings_Increment3Byte
+ jp StubbedTrainerRankings_Increment3Byte
-TrainerRankings_TrainerBattles: mobile ; 10606a
+StubbedTrainerRankings_TrainerBattles: ; 10606a
+ ret
ld hl, sTrainerRankingTrainerBattles
- jp TrainerRankings_Increment3Byte
+ jp StubbedTrainerRankings_Increment3Byte
-TrainerRankings_Unused1: mobile ; 106071
+StubbedTrainerRankings_Unused1: ; 106071
+ ret
ld hl, sTrainerRankingUnused1
- jp TrainerRankings_Increment3Byte
+ jp StubbedTrainerRankings_Increment3Byte
-TrainerRankings_HallOfFame:: mobile ; 0x106078
+StubbedTrainerRankings_HallOfFame:: ; 0x106078
+ ret
ld hl, sTrainerRankingHOFEntries
- jp TrainerRankings_Increment3Byte
+ jp StubbedTrainerRankings_Increment3Byte
-TrainerRankings_WildMonsCaught: mobile ; 10607f (41:607f)
+StubbedTrainerRankings_WildMonsCaught: ; 10607f (41:607f)
+ ret
ld hl, sTrainerRankingWildMonsCaught
- jp TrainerRankings_Increment3Byte
+ jp StubbedTrainerRankings_Increment3Byte
-TrainerRankings_HookedEncounters: mobile ; 106086
+StubbedTrainerRankings_HookedEncounters: ; 106086
+ ret
ld hl, sTrainerRankingHookedEncounters
- jp TrainerRankings_Increment3Byte
+ jp StubbedTrainerRankings_Increment3Byte
-TrainerRankings_EggsHatched: mobile ; 10608d (41:608d)
+StubbedTrainerRankings_EggsHatched: ; 10608d (41:608d)
+ ret
ld hl, sTrainerRankingEggsHatched
- jp TrainerRankings_Increment3Byte
+ jp StubbedTrainerRankings_Increment3Byte
-TrainerRankings_MonsEvolved: mobile ; 106094
+StubbedTrainerRankings_MonsEvolved: ; 106094
+ ret
ld hl, sTrainerRankingMonsEvolved
- jp TrainerRankings_Increment3Byte
+ jp StubbedTrainerRankings_Increment3Byte
-TrainerRankings_FruitPicked: mobile ; 10609b
+StubbedTrainerRankings_FruitPicked: ; 10609b
+ ret
ld hl, sTrainerRankingFruitPicked
- jp TrainerRankings_Increment3Byte
+ jp StubbedTrainerRankings_Increment3Byte
-TrainerRankings_Healings: mobile ; 1060a2
+Special_StubbedTrainerRankings_Healings: ; 1060a2
+ ret
ld hl, sTrainerRankingHealings
- jp TrainerRankings_Increment3Byte
+ jp StubbedTrainerRankings_Increment3Byte
-TrainerRankings_MysteryGift: mobile ; 1060a9 (41:60a9)
+StubbedTrainerRankings_MysteryGift: ; 1060a9 (41:60a9)
+ ret
ld hl, sTrainerRankingMysteryGift
- jr TrainerRankings_Increment3Byte
+ jr StubbedTrainerRankings_Increment3Byte
-TrainerRankings_Trades: mobile ; 1060af
+StubbedTrainerRankings_Trades: ; 1060af
+ ret
ld hl, sTrainerRankingTrades
- jr TrainerRankings_Increment3Byte
+ jr StubbedTrainerRankings_Increment3Byte
-TrainerRankings_Fly: mobile ; 1060b5
+StubbedTrainerRankings_Fly: ; 1060b5
+ ret
ld hl, sTrainerRankingFly
- jr TrainerRankings_Increment3Byte
+ jr StubbedTrainerRankings_Increment3Byte
-TrainerRankings_Surf: mobile ; 1060bb
+StubbedTrainerRankings_Surf: ; 1060bb
+ ret
ld hl, sTrainerRankingSurf
- jr TrainerRankings_Increment3Byte
+ jr StubbedTrainerRankings_Increment3Byte
-TrainerRankings_Waterfall: mobile ; 1060c1
+StubbedTrainerRankings_Waterfall: ; 1060c1
+ ret
ld hl, sTrainerRankingWaterfall
- jr TrainerRankings_Increment3Byte
+ jr StubbedTrainerRankings_Increment3Byte
-TrainerRankings_WhiteOuts: mobile ; 1060c7
+StubbedTrainerRankings_WhiteOuts: ; 1060c7
+ ret
ld hl, sTrainerRankingWhiteOuts
- jr TrainerRankings_Increment3Byte
+ jr StubbedTrainerRankings_Increment3Byte
-TrainerRankings_LuckyNumberShow: mobile ; 1060cd
+StubbedTrainerRankings_LuckyNumberShow: ; 1060cd
+ ret
ld hl, sTrainerRankingLuckyNumberShow
- jr TrainerRankings_Increment2Byte
+ jr StubbedTrainerRankings_Increment2Byte
-TrainerRankings_PhoneCalls: mobile ; 1060d3
+StubbedTrainerRankings_PhoneCalls: ; 1060d3
+ ret
ld hl, sTrainerRankingPhoneCalls
- jr TrainerRankings_Increment3Byte
+ jr StubbedTrainerRankings_Increment3Byte
-TrainerRankings_Unused2: mobile ; 1060df
+StubbedTrainerRankings_Unused2: ; 1060df
+ ret
ld hl, sTrainerRankingUnused2
- jr TrainerRankings_Increment3Byte
+ jr StubbedTrainerRankings_Increment3Byte
-TrainerRankings_LinkBattles: mobile ; 1060df
+StubbedTrainerRankings_LinkBattles: ; 1060df
+ ret
ld hl, sTrainerRankingLinkBattles
- jr TrainerRankings_Increment3Byte
+ jr StubbedTrainerRankings_Increment3Byte
-TrainerRankings_Splash: mobile ; 1060e5
+StubbedTrainerRankings_Splash: ; 1060e5
+ ret
; Only counts if it’s the player’s turn
ld a, [hBattleTurn]
and a
ret nz
ld hl, sTrainerRankingSplash
- jr TrainerRankings_Increment3Byte
+ jr StubbedTrainerRankings_Increment3Byte
-TrainerRankings_TreeEncounters: mobile ; 1060ef
+StubbedTrainerRankings_TreeEncounters: ; 1060ef
+ ret
ld hl, sTrainerRankingTreeEncounters
- jr TrainerRankings_Increment3Byte
+ jr StubbedTrainerRankings_Increment3Byte
-TrainerRankings_Unused3: mobile ; 1060f5
+StubbedTrainerRankings_Unused3: ; 1060f5
+ ret
ld hl, sTrainerRankingUnused3
- jr TrainerRankings_Increment3Byte
+ jr StubbedTrainerRankings_Increment3Byte
-TrainerRankings_ColosseumWins: mobile ; win
+StubbedTrainerRankings_ColosseumWins: ; win
+ ret
ld hl, sTrainerRankingColosseumWins
- jr TrainerRankings_Increment3Byte
+ jr StubbedTrainerRankings_Increment3Byte
-TrainerRankings_ColosseumLosses: mobile ; lose
+StubbedTrainerRankings_ColosseumLosses: ; lose
+ ret
ld hl, sTrainerRankingColosseumLosses
- jr TrainerRankings_Increment3Byte
+ jr StubbedTrainerRankings_Increment3Byte
; 106107
-TrainerRankings_ColosseumDraws: mobile ; draw
+StubbedTrainerRankings_ColosseumDraws: ; draw
+ ret
ld hl, sTrainerRankingColosseumDraws
- jr TrainerRankings_Increment3Byte
+ jr StubbedTrainerRankings_Increment3Byte
; 10610d
; Counts uses of both Selfdestruct and Explosion.
-TrainerRankings_Selfdestruct: mobile ; 10610d
+StubbedTrainerRankings_Selfdestruct: ; 10610d
+ ret
; Only counts if it’s the player’s turn
ld a, [hBattleTurn]
and a
ret nz
ld hl, sTrainerRankingSelfdestruct
- jr TrainerRankings_Increment3Byte
+ jr StubbedTrainerRankings_Increment3Byte
; 106117
-TrainerRankings_Increment4Byte: ; 106117
+StubbedTrainerRankings_Increment4Byte: ; 106117
push bc
ld bc, 3
- jr TrainerRankings_Increment
+ jr StubbedTrainerRankings_Increment
; 10611d
-TrainerRankings_Increment3Byte: ; 10611d
+StubbedTrainerRankings_Increment3Byte: ; 10611d
push bc
ld bc, 2
- jr TrainerRankings_Increment
+ jr StubbedTrainerRankings_Increment
; 106123
-TrainerRankings_Increment2Byte: ; 106123
+StubbedTrainerRankings_Increment2Byte: ; 106123
push bc
ld bc, 1
- jr TrainerRankings_Increment
+ jr StubbedTrainerRankings_Increment
; 106129
; unused
-TrainerRankings_Increment1Byte: ; 106129
+StubbedTrainerRankings_Increment1Byte: ; 106129
push bc
ld bc, 0
; Increments a big-endian value of bc + 1 bytes at hl
-TrainerRankings_Increment: ; 10612d
+StubbedTrainerRankings_Increment: ; 10612d
ld a, BANK(sTrainerRankings)
call GetSRAMBank
push hl
@@ -450,7 +487,8 @@ TrainerRankings_Increment: ; 10612d
; 106155
; Used when SRAM bank 5 isn’t already loaded — what’s the point of this?
-UpdateTrainerRankingsChecksum2: mobile ; 106155
+UpdateTrainerRankingsChecksum2: ; 106155
+ ret
ld a, BANK(sTrainerRankings)
call GetSRAMBank
call UpdateTrainerRankingsChecksum
@@ -520,8 +558,7 @@ RestoreMobileEventIndex: ; 10619d (41:619d)
ret
; 1061b3 (41:61b3)
-; Unreferenced in English version.
-VerifyTrainerRankingsChecksum: ; 1061b3
+Unreferenced_VerifyTrainerRankingsChecksum: ; 1061b3
call CalculateTrainerRankingsChecksum
ld hl, sTrainerRankingsChecksum
ld a, d
@@ -773,15 +810,16 @@ endr
ret
; 10630f
-; functions related to the cable club and various NPC scripts referencing mobile communications
+; functions related to the cable club and various NPC scripts referencing communications
-Mobile_DummyReturnFalse: ; 10630f
+Special_Mobile_DummyReturnFalse: ; 10630f
xor a
ld [ScriptVar], a
ret
; 106314
-MobileFn_106314: mobile ; 106314
+Stubbed_Function106314: ; 106314
+ ret
ld a, $4
call GetSRAMBank
ld a, c
@@ -800,7 +838,7 @@ Mobile_AlwaysReturnNotCarry: ; 10632f
or a
ret
-Function106331: ; 106331 - called by Mobile_DummyReturnFalse in Crystal-J
+Function106331: ; 106331 - called by Special_Mobile_DummyReturnFalse in Crystal-J
; check ~[4:b000] == [7:a800]
ld a, $4
call GetSRAMBank
@@ -960,7 +998,7 @@ Function106403: ; 106403
or c
inc a
ld c, a
- call MobileFn_106314
+ call Stubbed_Function106314
ld a, [wMobileCommsJumptableIndex]
inc a
ld [wMobileCommsJumptableIndex], a
@@ -978,7 +1016,7 @@ Function106403: ; 106403
.asm_106435
ld c, $0
- call MobileFn_106314
+ call Stubbed_Function106314
ld a, [wMobileCommsJumptableIndex]
inc a
ld [wMobileCommsJumptableIndex], a
@@ -1005,21 +1043,22 @@ Function106453: ; 106453
ret
; 106462
-MobileFunc_106462: mobile
+Stubbed_Function106462:
+ ret
ret
; 106464
Function106464:: ; 106464
- ld de, MobilePhoneTilesGFX
- ld hl, vTiles2 tile $60
- lb bc, BANK(MobilePhoneTilesGFX), 1
+ ld de, FontsExtra_SolidBlackGFX
+ ld hl, vTiles2 tile "■" ; $60
+ lb bc, BANK(FontsExtra_SolidBlackGFX), 1
call Get2bpp
ld de, FontsExtra2_UpArrowGFX
- ld hl, vTiles2 tile $61
+ ld hl, vTiles2 tile "▲" ; $61
lb bc, BANK(FontsExtra2_UpArrowGFX), 1
call Get2bpp
ld de, GFX_106514
- ld hl, vTiles2 tile $62
+ ld hl, vTiles2 tile "☎" ; $62
ld c, 9
ld b, BANK(GFX_106514)
call Get2bpp
@@ -1033,17 +1072,17 @@ Function106464:: ; 106464
Function10649b: ; 10649b
ld a, [TextBoxFrame]
- and $7
- ld bc, 3 tiles
+ maskbits NUM_FRAMES
+ ld bc, 6 * LEN_1BPP_TILE
ld hl, Frames
call AddNTimes
ld d, h
ld e, l
- ld hl, vTiles2 tile $79
- ld c, 6
+ ld hl, vTiles2 tile "┌" ; $79
+ ld c, 6 ; "┌" to "┘"
ld b, BANK(Frames)
call Function1064c3
- ld hl, vTiles2 tile $7f
+ ld hl, vTiles2 tile " " ; $7f
ld de, TextBoxSpaceGFX
ld c, 1
ld b, BANK(TextBoxSpaceGFX)
@@ -1103,8 +1142,8 @@ asm_1064ed
; 10650a
Function10650a: ; 10650a
- ld de, MobilePhoneTilesGFX + $20
- lb bc, BANK(MobilePhoneTilesGFX), $11
+ ld de, MobilePhoneTilesGFX
+ lb bc, BANK(MobilePhoneTilesGFX), 17
call Get2bpp
ret
; 106514
diff --git a/mobile/mobile_42.asm b/mobile/mobile_42.asm
index 4e956229c..ff815df3e 100644
--- a/mobile/mobile_42.asm
+++ b/mobile/mobile_42.asm
@@ -181,12 +181,12 @@ Function1080b7: ; 1080b7
ld de, TradeBallGFX
ld hl, vTiles0
- lb bc, BANK(TradeBallGFX), $06
+ lb bc, BANK(TradeBallGFX), 6
call Request2bpp
ld de, TradePoofGFX
ld hl, vTiles0 tile $06
- lb bc, BANK(TradePoofGFX), $0c
+ lb bc, BANK(TradePoofGFX), 12
call Request2bpp
xor a
@@ -309,7 +309,7 @@ Function108201: ; 108201
ld [CurSpecies], a
call GetBaseData
pop de
- predef GetAnimatedFrontpicPredef
+ predef GetAnimatedFrontpic
ret
; 108219
@@ -337,7 +337,7 @@ MobileTradeAnim_InitSpeciesName: ; 108239
call GetPokemonName
ld hl, StringBuffer1
pop de
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
ret
; 10824b
@@ -361,7 +361,7 @@ MobileTradeAnim_JumptableLoop: ; 10824b
ld [hWY], a
call LoadStandardFont
call LoadFontsBattleExtra
- farcall MobileFunc_106462
+ farcall Stubbed_Function106462
farcall Function106464
scf
ret
@@ -518,7 +518,7 @@ MobileTradeAnim_ShowPlayerMonToBeSent: ; 10830e
jr c, .skip_cry
ld e, c
ld d, b
- call PlayCryHeader
+ call PlayCry
.skip_cry
ld c, 80
@@ -616,11 +616,11 @@ MobileTradeAnim_ShowPlayerMonForGTS: ; 10842c
call DelayFrame
ld de, TradeBallGFX
ld hl, vTiles0
- lb bc, BANK(TradeBallGFX), $06
+ lb bc, BANK(TradeBallGFX), 6
call Request2bpp
ld de, TradePoofGFX
ld hl, vTiles0 tile $06
- lb bc, BANK(TradePoofGFX), $0c
+ lb bc, BANK(TradePoofGFX), 12
call Request2bpp
ld a, [wPlayerTrademonDVs]
ld [TempMonDVs], a
@@ -653,7 +653,7 @@ MobileTradeAnim_ShowPlayerMonForGTS: ; 10842c
jr c, .skip_cry
ld e, c
ld d, b
- call PlayCryHeader
+ call PlayCry
.skip_cry
ld c, 80
@@ -690,11 +690,11 @@ MobileTradeAnim_ShowOTMonFromGTS: ; 1084d7
call DelayFrame
ld de, TradeBallGFX
ld hl, vTiles0
- lb bc, BANK(TradeBallGFX), $06
+ lb bc, BANK(TradeBallGFX), 6
call Request2bpp
ld de, TradePoofGFX
ld hl, vTiles0 tile $06
- lb bc, BANK(TradePoofGFX), $0c
+ lb bc, BANK(TradePoofGFX), 12
call Request2bpp
xor a
ld [hSCX], a
@@ -759,11 +759,11 @@ MobileTradeAnim_GetOddEgg: ; 108589
call DelayFrame
ld de, TradeBallGFX
ld hl, vTiles0
- lb bc, BANK(TradeBallGFX), $06
+ lb bc, BANK(TradeBallGFX), 6
call Request2bpp
ld de, TradePoofGFX
ld hl, vTiles0 tile $06
- lb bc, BANK(TradePoofGFX), $0c
+ lb bc, BANK(TradePoofGFX), 12
call Request2bpp
xor a
ld [hSCX], a
@@ -959,7 +959,7 @@ MobileTradeAnim_GiveTrademon1: ; 108763
cp $f8
jr nz, .next
depixel 10, 11, 4, 0
- ld a, SPRITE_ANIM_INDEX_MOBILE_22
+ ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE
call _InitSpriteAnimStruct
.next
@@ -984,7 +984,7 @@ MobileTradeAnim_GiveTrademon1: ; 108763
.init
depixel 10, 11, 4, 0
- ld a, SPRITE_ANIM_INDEX_MOBILE_22
+ ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE
call _InitSpriteAnimStruct
xor a
call Function108ad4
@@ -1015,7 +1015,7 @@ MobileTradeAnim_GiveTrademon2: ; 1087cf
call Function108af4
call Function108b5a
depixel 9, 10, 2, 0
- ld a, SPRITE_ANIM_INDEX_MOBILE_25
+ ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_PING
call _InitSpriteAnimStruct
ld de, SFX_FORESIGHT
call PlaySFX
@@ -1024,7 +1024,7 @@ MobileTradeAnim_GiveTrademon2: ; 1087cf
xor a
ld [wcf64], a
depixel 9, 10, 2, 0
- ld a, SPRITE_ANIM_INDEX_MOBILE_23
+ ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_PULSE
call _InitSpriteAnimStruct
.loop
ld a, [hSCY]
@@ -1051,7 +1051,7 @@ MobileTradeAnim_05: ; 108811
ld c, 60
call WaitMobileTradeSpriteAnims
depixel 30, 10, 2, 0
- ld a, SPRITE_ANIM_INDEX_MOBILE_24
+ ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_PULSE
call _InitSpriteAnimStruct
call GetMobileTradeAnimByte
ld de, SFX_THROW_BALL
@@ -1074,7 +1074,7 @@ MobileTradeAnim_07: ; 10884c
ld c, 80
call DelayFrames
depixel 30, 10, 2, 0
- ld a, SPRITE_ANIM_INDEX_MOBILE_24
+ ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_PULSE
call _InitSpriteAnimStruct
call GetMobileTradeAnimByte
ld de, SFX_THROW_BALL
@@ -1098,7 +1098,7 @@ MobileTradeAnim_GetTrademon1: ; 108863
.done
farcall DeinitializeAllSprites
depixel 9, 10, 2, 0
- ld a, SPRITE_ANIM_INDEX_MOBILE_25
+ ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_PING
call _InitSpriteAnimStruct
ld de, SFX_GLASS_TING_2
call PlaySFX
@@ -1134,13 +1134,13 @@ MobileTradeAnim_GetTrademon2: ; 108894
.asm_1088c5
depixel 10, 11, 4, 0
- ld a, SPRITE_ANIM_INDEX_MOBILE_22
+ ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE
call _InitSpriteAnimStruct
jr .asm_1088e7
.asm_1088cf
depixel 10, 11, 4, 0
- ld a, SPRITE_ANIM_INDEX_MOBILE_22
+ ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE
call _InitSpriteAnimStruct
xor a
call Function108ad4
@@ -1311,8 +1311,8 @@ MobileTradeAnim_DisplayEggData
.EggTemplate: ; 108a1d
db "タマゴ"
- next "おや/?????"
- next "<ID>№<DOT>?????"
+ next "おや/?????"
+ next "<ID>№<DOT>?????"
db "@"
; 108a33
@@ -1352,9 +1352,9 @@ MobileTradeAnim_LoadMonTemplate: ; 108a5b
; 108a79
.MonTemplate: ; 108a79
- db "─ №<DOT>"
+ db "─ №<DOT>"
next ""
- next "おや/"
+ next "おや/"
next "<ID>№<DOT>"
db "@"
; 108a87
@@ -1484,7 +1484,7 @@ Function108b45: ; 108b45
push af
ld a, $5
ld [rSVBK], a
- ld de, palred 31 + palgreen 31 + palblue 31
+ ld de, PALRGB_WHITE
ld hl, wBGPals1
ld a, e
ld [hli], a
@@ -1525,7 +1525,7 @@ Function108b78: ; 108b78
ld a, c
and $2
jr z, .Orange
- ld de, palred 31 + palgreen 31 + palblue 31
+ ld de, PALRGB_WHITE
jr .load_pal
.Orange:
@@ -1825,141 +1825,141 @@ LZ_1090a7:
INCBIN "gfx/unknown/1090a7.tilemap.lz"
Palette_1090f7:
-; unreferenced
+; unused
RGB 31, 31, 31
- RGB 0, 0, 0
+ RGB 00, 00, 00
- RGB 31, 0, 25
- RGB 0, 0, 0
+ RGB 31, 00, 25
+ RGB 00, 00, 00
RGB 31, 31, 31
- RGB 0, 0, 0
+ RGB 00, 00, 00
- RGB 9, 19, 31
- RGB 0, 0, 0
+ RGB 09, 19, 31
+ RGB 00, 00, 00
Palette_109107:
RGB 18, 31, 15
RGB 20, 20, 20
RGB 11, 11, 11
- RGB 0, 0, 0
+ RGB 00, 00, 00
RGB 31, 15, 1
RGB 14, 14, 31
- RGB 12, 9, 31
- RGB 0, 0, 0
+ RGB 12, 09, 31
+ RGB 00, 00, 00
RGB 18, 31, 15
RGB 14, 14, 31
- RGB 12, 9, 31
- RGB 0, 0, 0
+ RGB 12, 09, 31
+ RGB 00, 00, 00
RGB 18, 31, 15
RGB 20, 20, 20
RGB 11, 11, 11
- RGB 0, 0, 0
+ RGB 00, 00, 00
RGB 18, 31, 15
- RGB 31, 7, 9
- RGB 18, 0, 1
- RGB 0, 0, 0
+ RGB 31, 07, 09
+ RGB 18, 00, 01
+ RGB 00, 00, 00
RGB 18, 31, 15
RGB 20, 20, 20
RGB 11, 11, 11
- RGB 0, 0, 0
+ RGB 00, 00, 00
RGB 31, 15, 1
- RGB 18, 0, 30
- RGB 9, 0, 17
- RGB 0, 0, 0
+ RGB 18, 00, 30
+ RGB 09, 00, 17
+ RGB 00, 00, 00
RGB 18, 31, 15
- RGB 18, 0, 30
- RGB 9, 0, 17
- RGB 0, 0, 0
+ RGB 18, 00, 30
+ RGB 09, 00, 17
+ RGB 00, 00, 00
Palette_109147:
RGB 31, 31, 31
RGB 31, 31, 12
RGB 31, 13, 12
- RGB 0, 0, 0
+ RGB 00, 00, 00
RGB 31, 31, 31
RGB 31, 23, 15
- RGB 31, 18, 7
- RGB 31, 15, 0
+ RGB 31, 18, 07
+ RGB 31, 15, 00
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
- RGB 0, 0, 0
+ RGB 00, 00, 00
RGB 31, 31, 31
- RGB 31, 0, 25
- RGB 31, 0, 25
- RGB 0, 0, 0
+ RGB 31, 00, 25
+ RGB 31, 00, 25
+ RGB 00, 00, 00
RGB 31, 31, 31
- RGB 9, 19, 31
- RGB 9, 19, 31
- RGB 0, 0, 0
+ RGB 09, 19, 31
+ RGB 09, 19, 31
+ RGB 00, 00, 00
RGB 31, 31, 31
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
+ RGB 00, 00, 00
+ RGB 00, 00, 00
+ RGB 00, 00, 00
RGB 31, 31, 31
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
+ RGB 00, 00, 00
+ RGB 00, 00, 00
+ RGB 00, 00, 00
RGB 31, 31, 31
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
+ RGB 00, 00, 00
+ RGB 00, 00, 00
+ RGB 00, 00, 00
Palette_109187:
RGB 31, 31, 31
RGB 31, 31, 12
RGB 31, 13, 12
- RGB 0, 0, 0
+ RGB 00, 00, 00
RGB 31, 31, 31
RGB 31, 23, 15
- RGB 31, 18, 7
- RGB 31, 15, 0
+ RGB 31, 18, 07
+ RGB 31, 15, 00
RGB 31, 31, 31
RGB 20, 20, 20
RGB 11, 11, 11
- RGB 0, 0, 0
+ RGB 00, 00, 00
RGB 31, 31, 31
- RGB 9, 19, 31
- RGB 9, 19, 31
- RGB 0, 0, 0
+ RGB 09, 19, 31
+ RGB 09, 19, 31
+ RGB 00, 00, 00
RGB 31, 31, 31
- RGB 31, 0, 25
- RGB 31, 0, 25
- RGB 0, 0, 0
+ RGB 31, 00, 25
+ RGB 31, 00, 25
+ RGB 00, 00, 00
RGB 31, 31, 31
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
+ RGB 00, 00, 00
+ RGB 00, 00, 00
+ RGB 00, 00, 00
RGB 31, 31, 31
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
+ RGB 00, 00, 00
+ RGB 00, 00, 00
+ RGB 00, 00, 00
RGB 31, 31, 31
- RGB 0, 0, 0
- RGB 0, 0, 0
- RGB 0, 0, 0
+ RGB 00, 00, 00
+ RGB 00, 00, 00
+ RGB 00, 00, 00
GFX_1091c7:
INCBIN "gfx/unknown/1091c7.2bpp"
@@ -1968,41 +1968,41 @@ INCBIN "gfx/unknown/1092c7.2bpp"
Palette_1093c7:
RGB 18, 31, 15
- RGB 4, 13, 31
- RGB 0, 0, 31
- RGB 0, 0, 0
+ RGB 04, 13, 31
+ RGB 00, 00, 31
+ RGB 00, 00, 00
RGB 18, 31, 15
- RGB 31, 31, 0
- RGB 31, 15, 0
- RGB 0, 0, 0
+ RGB 31, 31, 00
+ RGB 31, 15, 00
+ RGB 00, 00, 00
RGB 18, 31, 15
- RGB 9, 24, 0
- RGB 2, 16, 0
- RGB 0, 0, 0
+ RGB 09, 24, 00
+ RGB 02, 16, 00
+ RGB 00, 00, 00
RGB 18, 31, 15
- RGB 31, 7, 9
- RGB 18, 0, 1
- RGB 0, 0, 0
+ RGB 31, 07, 09
+ RGB 18, 00, 01
+ RGB 00, 00, 00
RGB 18, 31, 15
- RGB 28, 5, 31
- RGB 17, 0, 17
- RGB 0, 0, 0
+ RGB 28, 05, 31
+ RGB 17, 00, 17
+ RGB 00, 00, 00
RGB 18, 31, 15
- RGB 9, 9, 9
- RGB 4, 4, 4
- RGB 0, 0, 0
+ RGB 09, 09, 09
+ RGB 04, 04, 04
+ RGB 00, 00, 00
RGB 18, 31, 15
RGB 31, 13, 21
- RGB 27, 7, 12
- RGB 0, 0, 0
+ RGB 27, 07, 12
+ RGB 00, 00, 00
RGB 18, 31, 15
RGB 21, 20, 20
RGB 14, 14, 31
- RGB 0, 0, 0
+ RGB 00, 00, 00
diff --git a/mobile/mobile_45.asm b/mobile/mobile_45.asm
index 5fc5eaa7e..af9bdb633 100644
--- a/mobile/mobile_45.asm
+++ b/mobile/mobile_45.asm
@@ -61,7 +61,7 @@ String_114163: ; 114163
; 114165
Jumptable_114165: ; 114165
- dw Function114268
+ dw Stubbed_Function114268
dw Function114269
dw Function11433c
dw Function1143b7
@@ -159,7 +159,8 @@ Function11425c: ; 11425c
; 114268
-Function114268: mobile
+Stubbed_Function114268:
+ ret
; 114269
@@ -4328,7 +4329,7 @@ Function11581e: ; 11581e
push hl
ld a, [wCurrMapCallbackCount]
ld l, a
- ld a, [wCurrMapCallbackHeaderPointer]
+ ld a, [wCurrMapCallbacksPointer]
ld h, a
cp b
jr c, .asm_1158bb
@@ -4350,7 +4351,7 @@ Function11581e: ; 11581e
ld a, l
ld [wCurrMapCallbackCount], a
ld a, h
- ld [wCurrMapCallbackHeaderPointer], a
+ ld [wCurrMapCallbacksPointer], a
pop bc
pop hl
ld hl, wCurrMapSceneScriptCount
@@ -4895,7 +4896,7 @@ Function115b00: ; 115b00
push hl
ld a, [wCurrMapCallbackCount]
ld l, a
- ld a, [wCurrMapCallbackHeaderPointer]
+ ld a, [wCurrMapCallbacksPointer]
ld h, a
cp b
jr c, .asm_115b36
@@ -4917,7 +4918,7 @@ Function115b00: ; 115b00
ld a, l
ld [wCurrMapCallbackCount], a
ld a, h
- ld [wCurrMapCallbackHeaderPointer], a
+ ld [wCurrMapCallbacksPointer], a
pop bc
pop hl
ld hl, wCurrMapSceneScriptCount
@@ -5844,7 +5845,7 @@ Unknown_116815: ; 116815
db $c, $5
db $9, $8
db $8, $4
- db $ff
+ db -1 ; end
Unknown_11683e: ; 11683e
db $fd, $20
@@ -5867,7 +5868,7 @@ Unknown_11683e: ; 11683e
db $12, $5
db $f, $8
db $e, $4
- db $ff
+ db -1 ; end
Unknown_116867: ; 116867
db $14, $8
@@ -5910,7 +5911,7 @@ Unknown_116881: ; 116881
db $fd, $2
db $23, $2
db $fd, $40
- db $ff
+ db -1 ; end
Unknown_1168ae: ; 1168ae
db $24, $4
@@ -7297,17 +7298,15 @@ Function1179a7: ; 1179a7 (45:79a7)
; 1179b5 (45:79b5)
MenuDataHeader_1179b5: ; 1179b5
- db $40 ; flags
- db 12, 0 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw NULL
db 0 ; default option
; 1179bd
MenuDataHeader_1179bd: ; 1179bd
- db $40 ; flags
- db 7, 14 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw NULL
db 0 ; default option
; 1179c5
@@ -7319,13 +7318,13 @@ YessNoString_1179c5: ; 1179c5
; 1179cc
AskSavePasswordString: ; 1179cc
- db "こ%パスワード¯ほぞんして"
- line "おきますか?@"
+ db "こ<NO>パスワード¯ほぞんして"
+ line "おきますか?@"
; 1179e1
NotAPokemonPasswordString: ; 1179e1
db "パスワード<PKMN>にゅうりょく"
- line "されていません!@"
+ line "されていません!@"
; 1179f7
SavedPasswordString: ; 1179f7
@@ -7350,7 +7349,7 @@ INCBIN "data/mobile/ascii-sym.txt"
; everything from here to the end of the bank is related to the
; Mobile Stadium option from the continue/newgame menu.
-; XXX better function names
+; Needs better function names
MobileStudium: ; 0x117a7f
ld a, [hInMenu]
push af
@@ -7612,9 +7611,9 @@ Function117c4a:
ld c, 8
.loop
push hl
- ld a, LOW(palred 31 + palgreen 31 + palblue 31)
+ ld a, LOW(PALRGB_WHITE)
ld [hli], a
- ld a, HIGH(palred 31 + palgreen 31 + palblue 31)
+ ld a, HIGH(PALRGB_WHITE)
ld [hl], a
pop hl
add hl, de
@@ -7658,18 +7657,16 @@ Function117c89:
ret
MenuDataHeader_117cbc: ; 0x117cbc
- db $40 ; flags
- db 12, 0 ; start coords
- db 17, 19 ; end coords
- dw NULL ; menu data 2
- db 0 ; default option
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
+ dw NULL
+ db 0 ; default option
MenuDataHeader_117cc4: ; 0x117cc4
- db $40 ; flags
- db 7, 14 ; start coords
- db 11, 19 ; end coords
- dw NULL ; menu data 2
- db 0 ; default item
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
+ dw NULL
+ db 0 ; default item
YesNo117ccc: ; 0x117ccc
db "はい"
diff --git a/mobile/mobile_45_sprite_engine.asm b/mobile/mobile_45_sprite_engine.asm
index b114e5166..8f66da8cd 100755
--- a/mobile/mobile_45_sprite_engine.asm
+++ b/mobile/mobile_45_sprite_engine.asm
@@ -1,7 +1,7 @@
Function115d99: ; 115d99
ld de, GFX_11601a
ld hl, vTiles0 tile $60
- lb bc, BANK(GFX_11601a), $14
+ lb bc, BANK(GFX_11601a), 20
call Get2bpp
xor a
ld [wc305], a
@@ -22,8 +22,8 @@ Function115dc3: ; 115dc3
xor a
ld [wc305], a
ld a, $a0
- ld hl, Sprites + 31 * 4
- ld bc, 8 * 4
+ ld hl, Sprite32
+ ld bc, 8 * SPRITEOAMSTRUCT_LENGTH
call ByteFill
ret
@@ -34,8 +34,8 @@ Function115dd3: ; 115dd3
and a
ret z
ld a, $a0
- ld hl, Sprites + 31 * 4
- ld bc, 8 * 4
+ ld hl, Sprite32
+ ld bc, 8 * SPRITEOAMSTRUCT_LENGTH
call ByteFill
call Function115e22
ld a, [wc309]
@@ -50,7 +50,7 @@ Function115dd3: ; 115dd3
ld d, a
push de
pop hl
- ld de, Sprites + 31 * 4
+ ld de, Sprite32
ld a, [wc307]
ld c, a
ld a, [wc308]
@@ -60,17 +60,17 @@ Function115dd3: ; 115dd3
push af
ld a, [hli]
add b
- ld [de], a
+ ld [de], a ; y
inc de
ld a, [hli]
add c
- ld [de], a
+ ld [de], a ; x
inc de
ld a, [hli]
- ld [de], a
+ ld [de], a ; tile id
inc de
ld a, [hli]
- ld [de], a
+ ld [de], a ; attributes
inc de
pop af
dec a
@@ -361,7 +361,7 @@ Function11619d: ; 11619d
jr c, .asm_1161b4
ld a, $a0
ld hl, Sprites
- ld bc, $0064
+ ld bc, 25 * SPRITEOAMSTRUCT_LENGTH
call ByteFill
.asm_1161b4
@@ -507,9 +507,8 @@ Function1161d5: ; 1161d5
; 11628c
MenuDataHeader_11628c: ; 11628c
- db $40 ; flags
- db 6, 0 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 6, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw NULL
db 0 ; default option
; 116294
@@ -586,22 +585,22 @@ Function1162f2: ; 1162f2
ld e, a
ld a, [hli]
sub e
- ld de, Sprites + $24
+ ld de, Sprite10
.asm_116321
push af
ld a, [hli]
add b
- ld [de], a
+ ld [de], a ; y
inc de
ld a, [hli]
add c
- ld [de], a
+ ld [de], a ; x
inc de
ld a, [hli]
- ld [de], a
+ ld [de], a ; tile id
inc de
ld a, [hli]
- ld [de], a
+ ld [de], a ; attributes
inc de
pop af
dec a
@@ -627,22 +626,22 @@ Function1162f2: ; 1162f2
ld e, a
ld a, [hli]
sub e
- ld de, Sprites
+ ld de, Sprite01
.asm_11635a
push af
ld a, [hli]
add b
- ld [de], a
+ ld [de], a ; y
inc de
ld a, [hli]
add c
- ld [de], a
+ ld [de], a ; x
inc de
ld a, [hli]
- ld [de], a
+ ld [de], a ; tile id
inc de
ld a, [hli]
- ld [de], a
+ ld [de], a ; attributes
inc de
pop af
dec a
@@ -669,7 +668,7 @@ Function11636e: ; 11636e
ld [rSVBK], a
ld a, $a0
ld hl, Sprites
- ld bc, 16 * 4
+ ld bc, 16 * SPRITEOAMSTRUCT_LENGTH
call ByteFill
ld a, $90
ld [hWY], a
@@ -697,7 +696,7 @@ Function1163c0: ; 1163c0
ld [rSVBK], a
ld a, $a0
ld hl, Sprites
- ld bc, 16 * 4
+ ld bc, 16 * SPRITEOAMSTRUCT_LENGTH
call ByteFill
call DelayFrame
farcall Function14146
diff --git a/mobile/mobile_46.asm b/mobile/mobile_46.asm
index 10a97e426..8090c3a9b 100755
--- a/mobile/mobile_46.asm
+++ b/mobile/mobile_46.asm
@@ -487,7 +487,7 @@ BattleTowerRoomMenu_InitRAM: ; 1183cb
ld [hMobileReceive], a
ld [hMobile], a
ei
- farcall MobileFunc_106462
+ farcall Stubbed_Function106462
farcall Function106464
farcall Function115d99
farcall Function11615a
@@ -969,7 +969,7 @@ Function11878d: ; 11878d (46:478d)
set 0, [hl]
ld a, $6
ld [rSVBK], a
- ld de, w3_d000
+ ld de, $d000
ld bc, $1000
ld a, [hl]
sla a
@@ -1559,8 +1559,7 @@ IndexDownloadURL: ; 0x118ce5
db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/tamago/index.txt", 0
-Function118d35: ; 118d35
-; unreferenced
+Unreferenced_Function118d35: ; 118d35
ld hl, $d200
ld a, [wcd38]
and a
@@ -1673,7 +1672,7 @@ Function118ded: ; 118ded
push af
ld a, $1
ld [rSVBK], a
- farcall Function11b93b
+ farcall Special_Function11b93b
pop af
ld [rSVBK], a
@@ -2530,9 +2529,9 @@ Function1193a0:
ld [wcd3c], a
call BattleTowerRoomMenu2
ld hl, $c346
- ld a, LOW(wd000)
+ ld a, LOW($d000)
ld [hli], a
- ld a, HIGH(wd000)
+ ld a, HIGH($d000)
ld [hli], a
ld a, [wcd3b]
ld [hli], a
@@ -2602,7 +2601,7 @@ Function119413: ; 119413
jr z, .asm_119447
ld a, $6
ld [rSVBK], a
- ld a, [wd000]
+ ld a, [w3_d000]
ld c, a
ld a, [w3_d000 + 1]
ld b, a
@@ -3468,10 +3467,10 @@ Function119987: ; 119987
; 1199b4
Function1199b4: ; 1199b4
- ld a, [wd000 + 130]
+ ld a, [w3_d081+1]
and a
jr nz, .asm_1199c7
- ld a, [wd000 + 129]
+ ld a, [w3_d081]
cp $7
jr nc, .asm_1199c7
call BattleTowerRoomMenu_IncrementJumptable
@@ -3539,11 +3538,11 @@ Function1199e2: ; 1199e2
ld [w3_d8a1], a
ld [w3_d8a2], a
ld [w3_d8a3], a
- ld hl, $d8a0
+ ld hl, w3_d8a0
ld bc, $d889
call Function119e98
call Function119e98
- ld hl, $d8a0
+ ld hl, w3_d8a0
ld a, [wcd2d]
cp [hl]
jr nz, Function119ac9
@@ -3564,12 +3563,12 @@ Function1199e2: ; 1199e2
ld [w3_d8a1], a
ld [w3_d8a2], a
ld [w3_d8a3], a
- ld hl, $d8a0
+ ld hl, w3_d8a0
ld bc, $d88e
call Function119e98
ld bc, $d893
call Function119e98
- ld hl, $d8a0
+ ld hl, w3_d8a0
ld a, [wcd2f]
cp [hl]
jr nz, .asm_119aa7
@@ -3955,17 +3954,15 @@ BattleTowerRoomMenu_UpdateYesNoMenu:
; 119cf7
MenuDataHeader_119cf7: ; 119cf7
- db $40 ; flags
- db 7, 12 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 12, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw NULL
db 0 ; default option
; 119cff
MenuData_119cff: ; 119cff
- db $40 ; flags
- db 7, 15 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 15, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw NULL
db 0 ; default option
; 119d07
@@ -4087,7 +4084,7 @@ BattleTower_UbersCheck: ; 119dd1 (46:5dd1)
call GetPokemonName
ld hl, StringBuffer1
ld de, wcd49
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
call CopyBytes
ld a, $a
ld [wcf66], a
@@ -4462,7 +4459,7 @@ Function11a00e: ; 11a00e
call PushWindow
farcall Function11765d
farcall Function117ab4
- farcall MobileFunc_106462
+ farcall Stubbed_Function106462
farcall Function106464
call ExitMenu
farcall ReloadMapPart
@@ -4485,7 +4482,7 @@ Function11a0ca: ; 11a0ca
call PushWindow
farcall Function11765d
farcall Function17d3f6
- farcall MobileFunc_106462
+ farcall Stubbed_Function106462
farcall Function106464
call ExitMenu
farcall ReloadMapPart
@@ -4757,17 +4754,15 @@ String_11a2d3: ; 11a2d3
; 11a2d6
MenuDataHeader_11a2d6: ; 11a2d6
- db $40 ; flags
- db 6, 14 ; start coords
- db 10, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 14, 6, SCREEN_WIDTH - 1, 10
dw NULL
db 0 ; default option
; 11a2de
MenuDataHeader_11a2de: ; 11a2de
- db $40 ; flags
- db 7, 14 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw NULL
db 0 ; default option
; 11a2e6
@@ -5230,108 +5225,107 @@ Function11a63c: ; 11a63c
; 11a661
String_11a661: ; 11a661
- db "これから モバイルセンターに"
- next "でんわ", $1f, "かけます@"
+ db "これから モバイルセンターに"
+ next "でんわ<WO>かけます@"
; 11a679
String_11a679: ; 11a679
- db "モバイルアダプタ", $25, "じゅんびは"
- next "できて いますか?@"
+ db "モバイルアダプタ<NO>じゅんびは"
+ next "できて いますか?@"
; 11a692
String_11a692: ; 11a692
- db "でんわ", $1f, "かけています"
- next "しばらく おまちください@"
+ db "でんわ<WO>かけています"
+ next "しばらく おまちください@"
; 11a6aa
String_11a6aa: ; 11a6aa
- db "でんわをかけると つうわりょう"
- next "せつぞくりょう", $4a, "かかります@"
+ db "でんわをかけると つうわりょう"
+ next "せつぞくりょう<GA>かかります@"
; 11a6c8
String_11a6c8: ; 11a6c8
- db "せつぞく しました@"
+ db "せつぞく しました@"
; 11a6d2
String_11a6d2: ; 11a6d2
- db "つうしん ちゅう@"
+ db "つうしん ちゅう@"
; 11a6db
String_11a6db: ; 11a6db
- db "つうしん ちゅう"
- next "セレクト エーでちゅうし@"
+ db "つうしん ちゅう"
+ next "セレクト エーでちゅうし@"
; 11a6f1
String_11a6f1: ; 11a6f1
- db "この サービスには"
- next "つうわりょう", $25, "ほかに@"
+ db "この サービスには"
+ next "つうわりょう<NO>ほかに@"
; 11a706
String_11a706: ; 11a706
- db "おかね", $4a, "@"
+ db "おかね<GA>@"
; 11a70b
String_11a70b: ; 11a70b
db "えん"
- next "かかります よろしい ですか?@"
+ next "かかります よろしい ですか?@"
; 11a71e
String_11a71e: ; 11a71e
- db "つうしん しゅうりょう@"
+ db "つうしん しゅうりょう@"
; 11a72a
String_11a72a: ; 11a72a
- db "つないだ じかん"
- next " やく ふん びょう@"
+ db "つないだ じかん"
+ next "  やく   ふん   びょう@"
; 11a743
String_11a743: ; 11a743
- db "もっていない データが"
- next "あります!@"
+ db "もっていない データが"
+ next "あります!@"
; 11a755
String_11a755: ; 11a755
- db "データ", $1f, "よみこみますか?@"
+ db "データ<WO>よみこみますか?@"
; 11a762
String_11a762: ; 11a762
- db "おなじ データ", $1f, "よみこんだ"
- next "こと", $4a, "ありますが@"
+ db "おなじ データ<WO>よみこんだ"
+ next "こと<GA>ありますが@"
; 11a779
String_11a779: ; 11a779
- db "そのデータ", $24, "なくなっているか"
- next "こわれて います@"
+ db "そのデータ<WA>なくなっているか"
+ next "こわれて います@"
; 11a791
String_11a791: ; 11a791
- db "もっている データと"
- next "おなじデータしか ありません!@"
+ db "もっている データと"
+ next "おなじデータしか ありません!@"
; 11a7ac
String_11a7ac: ; 11a7ac
- db "データ", $25, "よみこみを"
- next "ちゅうし しますか?@"
+ db "データ<NO>よみこみを"
+ next "ちゅうし しますか?@"
; 11a7c1
String_11a7c1: ; 11a7c1 ; new news?
- db "あたらしい ニュースは"
- next "ありません でした@"
+ db "あたらしい ニュースは"
+ next "ありません でした@"
; 11a7d7
String_11a7d7: ; 11a7d7
- db "あたらしいニュース", $4a, "あります"
- next "ニュース", $1f, "よみこみますか?@"
+ db "あたらしいニュース<GA>あります"
+ next "ニュース<WO>よみこみますか?@"
; 11a7f4
String_11a7f4: ; 11a7f4
- db " @"
+ db "               @"
; 11a804
MenuDataHeader_11a804: ; 11a804
- db $40 ; flags
- db 0, 0 ; start coords
- db 5, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, SCREEN_WIDTH - 1, 5
dw NULL
db 0 ; default option
; 11a80c
@@ -5578,7 +5572,7 @@ Function11a9ce: ; 11a9ce
call ClearBGPalettes
call ReloadTilesetAndPalettes
call Call_ExitMenu
- farcall MobileFunc_106462
+ farcall Stubbed_Function106462
farcall Function106464
call ret_d90
farcall FinishExitMenu
@@ -5730,7 +5724,7 @@ Text_ThisBattleRoomPleaseWait: ; 0x11ac1f
done
; 0x11ac3e
-Function11ac3e: ; 11ac3e
+Special_Function11ac3e: ; 11ac3e
call SpeechTextBox
call FadeToMenu
callfar ClearSpriteAnims2
@@ -6001,16 +5995,15 @@ Function11adc4:
; 11ae38
MenuDataHeader_11ae38: ; 11ae38
- db $40 ; flags
- db 10, 10 ; start coords
- db 17, 17 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 10, 10, 17, SCREEN_HEIGHT - 1
dw NULL
db 0 ; default option
; 11ae40
String_11ae40: ; 11ae40
db "どちらでも"
- next "♂ォス"
+ next "♂オス"
next "♀メス"
db "@"
; 11ae4e
@@ -6248,27 +6241,25 @@ Function11afd6: ; 11afd6
; 11afe8
MenuDataHeader_11afe8: ; 11afe8
- db $40 ; flags
- db 12, 9 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 9, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw NULL
db 0 ; default option
; 11aff0
String_11aff0: ; 11aff0
- db "この じょうけんで"
+ db "この じょうけんで"
next "よろしいですか?@"
; 11b003
String_11b003: ; 11b003
db "こうかんを"
- next "ちゅうししますか?@"
+ next "ちゅうししますか?@"
; 11b013
MenuDataHeader_11b013: ; 11b013
- db $40 ; flags
- db 7, 14 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw NULL
db 1 ; default option
; 11b01b
@@ -6347,8 +6338,8 @@ Function11b03d: ; 11b03d
ret
; 11b07a
-.MaleString: db "ォスの "
-.FemaleString: db "メスの "
+.MaleString: db "オスの "
+.FemaleString: db "メスの "
Function11b082: ; 11b082
call Function11b242
@@ -6818,7 +6809,7 @@ String_11b303: ; 11b303
; 11b308
String_11b308: ; 11b308
- db " @"
+ db "     @"
; 11b30e
String_11b30e: ; 11b30e
@@ -6930,7 +6921,7 @@ Function11b31b: ; 11b31b
db $39 ; 13
Function11b397: ; 11b397
- ld de, Sprites
+ ld de, Sprite01
.loop
ld a, [hl]
cp $ff
@@ -6939,26 +6930,25 @@ Function11b397: ; 11b397
and $7
swap a
add [hl]
- inc hl ; 1
- ld [de], a
+ inc hl
+ ld [de], a ; y
inc de
- ld a, [hli] ; 2
- ld [de], a
+ ld a, [hli]
+ ld [de], a ; x
inc de
ld a, [bc]
inc bc
- ld [de], a
+ ld [de], a ; tile id
inc de
- ld a, $5 ; OBPal 5
- ld [de], a
+ ld a, $5
+ ld [de], a ; attributes
inc de
jr .loop
; 11b3b6
-Function11b3b6: ; 11b3b6
-; unreferenced
+Unreferenced_Function11b3b6: ; 11b3b6
.loop
ld a, [hl]
cp -1
@@ -6989,7 +6979,7 @@ Function11b3b6: ; 11b3b6
; 11b3d9
Function11b3d9: ; 11b3d9
- ld de, Sprites + 28 * 4
+ ld de, Sprite29
push de
ld a, [wc7d2]
dec a
@@ -7062,7 +7052,7 @@ Function11b3d9: ; 11b3d9
ret
; 11b444
-Function11b444: ; 11b444
+Special_Function11b444: ; 11b444
; special
call Mobile46_InitJumptable
call Mobile46_RunJumptable
@@ -7223,7 +7213,7 @@ Function11b483: ; 11b483
jr .loop8
.okay4
- ld a, $0 ; BANK(sPartyMail)
+ ld a, BANK(sPartyMail)
call GetSRAMBank
ld a, MAIL_STRUCT_LENGTH
.loop9
@@ -7351,7 +7341,7 @@ Function11b5e7: ; 11b5e7
ret
; 11b5e8
-Function11b5e8: ; 11b5e8
+Special_Function11b5e8: ; 11b5e8
ld a, $0
call GetSRAMBank
ld hl, wRTC
@@ -7587,7 +7577,7 @@ Function11b6b4: ; 11b6b4
ret
; 11b7e5
-Function11b7e5: ; 11b7e5
+Special_Function11b7e5: ; 11b7e5
ld a, [$c60d] ; species
ld [wOTTrademonSpecies], a
ld [CurPartySpecies], a
@@ -7646,7 +7636,7 @@ Function11b7e5: ; 11b7e5
ret
; 11b879
-Function11b879: ; 11b879
+Special_Function11b879: ; 11b879
farcall BattleTower_CheckSaveFileExistsAndIsYours
ld a, [ScriptVar]
and a
@@ -7739,7 +7729,7 @@ Function11b879: ; 11b879
ret
; 11b920
-Function11b920: ; 11b920
+Special_Function11b920: ; 11b920
call Mobile46_InitJumptable
ld a, $5
call GetSRAMBank
@@ -7752,7 +7742,7 @@ Function11b920: ; 11b920
ret
; 11b93b
-Function11b93b: ; 11b93b
+Special_Function11b93b: ; 11b93b
ld a, $5
call GetSRAMBank
xor a
@@ -7849,13 +7839,13 @@ AddMobileMonToParty: ; 11b98f
ld l, a
ld a, [wMobileMonOTNamePointerBuffer + 1]
ld h, a
- ld bc, PKMN_NAME_LENGTH - 1
+ ld bc, MON_NAME_LENGTH - 1
call CopyBytes
ld a, "@"
ld [de], a
ld hl, PartyMonNicknames
- ld bc, PKMN_NAME_LENGTH
+ ld bc, MON_NAME_LENGTH
ld a, [wMobileMonSpeciesBuffer]
.loop4
add hl, bc
@@ -7868,7 +7858,7 @@ AddMobileMonToParty: ; 11b98f
ld l, a
ld a, [wMobileMonNicknamePointerBuffer + 1]
ld h, a
- ld bc, PKMN_NAME_LENGTH - 1
+ ld bc, MON_NAME_LENGTH - 1
call CopyBytes
ld a, "@"
ld [de], a
@@ -7896,7 +7886,7 @@ AddMobileMonToParty: ; 11b98f
ret
; 11ba38
-Function11ba38: ; 11ba38
+Special_Function11ba38: ; 11ba38
farcall CheckCurPartyMonFainted
ret c
xor a
diff --git a/mobile/mobile_5b.asm b/mobile/mobile_5b.asm
index f16391871..bb005b564 100755
--- a/mobile/mobile_5b.asm
+++ b/mobile/mobile_5b.asm
@@ -1,11 +1,10 @@
-Function16c000: ; 16c000
-; unreferenced
+Unreferenced_Function16c000: ; 16c000
; Only for CGB
ld a, [hCGB]
and a
ret z
; Only do this once per boot cycle
- ld a, [hFFEA]
+ ld a, [hSystemBooted]
and a
ret z
; Set some flag, preserving the old state
@@ -20,9 +19,9 @@ Function16c000: ; 16c000
call .RunJumptable
farcall DisableMobile
; Prevent this routine from running again
- ; until the next time the syatem is turned on
+ ; until the next time the system is turned on
xor a
- ld [hFFEA], a
+ ld [hSystemBooted], a
; Restore the flag state
pop af
ld [wcfbe], a
@@ -172,7 +171,7 @@ MobileSystemSplashScreen_InitGFX: ; 16c108
call DisableLCD
ld hl, vTiles2
ld de, .Tiles
- lb bc, BANK(.Tiles), $68
+ lb bc, BANK(.Tiles), 104
call Get2bpp
call .LoadPals
call .LoadTileMap
@@ -710,7 +709,7 @@ Function16cc02: ; 16cc02
Function16cc18: ; 16cc18
ld hl, vTiles1
ld de, GFX_16cca3
- lb bc, BANK(GFX_16cca3), $2e
+ lb bc, BANK(GFX_16cca3), 46
call Get2bpp
ret
; 16cc25
diff --git a/mobile/mobile_5c.asm b/mobile/mobile_5c.asm
index 0e2f7d024..f973c2378 100755
--- a/mobile/mobile_5c.asm
+++ b/mobile/mobile_5c.asm
@@ -75,7 +75,7 @@ Function17005a: ; 17005a
; 1700b0
-INCLUDE "mobile/battle_tower_5c.asm"
+INCLUDE "engine/events/battle_tower/battle_tower.asm"
Function170be4: ; 170be4
ld a, $5
@@ -219,7 +219,7 @@ Function170c8b: ; 170c8b
; 170c98
CheckBTMonMovesForErrors: ; 170c98
- ld c, BATTLETOWER_NROFPKMNS
+ ld c, BATTLETOWER_PARTY_LENGTH
ld hl, wBT_OTTempPkmn1Moves
.loop
push hl
@@ -254,7 +254,7 @@ CheckBTMonMovesForErrors: ; 170c98
.done
pop hl
- ld de, PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH
+ ld de, PARTYMON_STRUCT_LENGTH + MON_NAME_LENGTH
add hl, de
dec c
jr nz, .loop
@@ -265,25 +265,25 @@ CheckBTMonMovesForErrors: ; 170c98
Function170cc6: ; 170cc6
ld a, [rSVBK]
push af
- ld a, $6
+ ld a, BANK(wDecompressScratch)
ld [rSVBK], a
- ld hl, LZ_170d16
+ ld hl, PichuAnimatedMobileGFX
ld de, wDecompressScratch
call Decompress
- ld a, $1
+ ld a, 1
ld [rVBK], a
- ld de, wd000
+ ld de, wDecompressScratch
ld hl, vTiles0
- lb bc, $6, $c1
+ lb bc, BANK(wDecompressScratch), 193
call Get2bpp
xor a
ld [rVBK], a
- ld hl, LZ_1715a4
- ld de, wd000
+ ld hl, ElectroBallMobileGFX
+ ld de, wDecompressScratch
call Decompress
ld de, wBGPals1
ld hl, vTiles0
- lb bc, $6, $53
+ lb bc, BANK(wDecompressScratch), 83
call Get2bpp
pop af
ld [rSVBK], a
@@ -296,7 +296,7 @@ Function170d02: ; 170d02
ld [rVBK], a
ld de, GFX_171848
ld hl, vTiles1 tile $41
- lb bc, BANK(GFX_171848), $18
+ lb bc, BANK(GFX_171848), 24
call Get2bpp
xor a
ld [rVBK], a
@@ -304,10 +304,10 @@ Function170d02: ; 170d02
; 170d16
-LZ_170d16:
+PichuAnimatedMobileGFX:
INCBIN "gfx/mobile/pichu_animated.2bpp.lz"
-LZ_1715a4:
+ElectroBallMobileGFX:
INCBIN "gfx/mobile/electro_ball.2bpp.lz"
GFX_171848:
@@ -430,8 +430,8 @@ Function171a95: ; 171a95 (5c:5a95)
String_171aa7: ; 171aa7
db "モバイルアダプタに"
- next "せつぞく しています"
- next "しばらく おまちください"
+ next "せつぞく しています"
+ next "しばらく おまちください"
db "@"
; 171ac9
@@ -514,7 +514,7 @@ Function171b42: ; 171b42 (5c:5b42)
Function171b4b: ; 171b4b (5c:5b4b)
depixel 8, 2
- ld a, SPRITE_ANIM_INDEX_1D
+ ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
@@ -522,7 +522,7 @@ Function171b4b: ; 171b4b (5c:5b4b)
ld [hl], a
depixel 8, 19
- ld a, SPRITE_ANIM_INDEX_1D
+ ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
@@ -530,7 +530,7 @@ Function171b4b: ; 171b4b (5c:5b4b)
ld [hl], a
depixel 17, 14, 2, 0
- ld a, SPRITE_ANIM_INDEX_1D
+ ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_0C
add hl, bc
@@ -654,7 +654,7 @@ Function171c41: ; 171c41 (5c:5c41)
dec [hl]
ret nz
call ClearBGPalettes
- farcall MobileFunc_106462
+ farcall Stubbed_Function106462
farcall Function106464
ld a, $2
ld [wc303], a
@@ -672,15 +672,14 @@ Function171c66: ; 171c66 (5c:5c66)
; 171c6b (5c:5c6b)
MenuDataHeader_171c6b: ; 171c6b
- db $40 ; flags
- db 12, 0 ; start coords
- db 17, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
dw NULL
db 0 ; default option
; 171c73
String_171c73: ; 171c73
- db "モバイルセンターを けってい"
+ db "モバイルセンターを けってい"
next "しました@"
; 171c87
@@ -838,16 +837,16 @@ LZ_172abd:
INCBIN "gfx/pokedex/slowpoke.2bpp.lz"
String_172e31: ; 172e31
- db "パスワード", $1f, "いれてください@"
+ db "パスワード<WO>いれてください@"
String_172e3f: ; 172e3f
- db "きりかえ やめる けってい@"
+ db "きりかえ やめる  けってい@"
String_172e4e: ; 172e4e
- db "きりかえ やめる "
+ db "きりかえ やめる  "
String_172e58:
db "けってい@"
String_172e5d: ; 172e5d
- db "せつぞくする モバイルセンターを"
- next "えらんで ください@"
+ db "せつぞくする モバイルセンターを"
+ next "えらんで ください@"
; 172e78
@@ -936,7 +935,7 @@ GameBoyN64GFX:
INCBIN "gfx/trade/game_boy_n64.2bpp"
Tilemap_1733af:
-if DEF(CRYSTAL11)
+if DEF(_CRYSTAL11)
INCBIN "gfx/unknown/1733af_corrupt.tilemap"
else
INCBIN "gfx/unknown/1733af.tilemap"
diff --git a/mobile/mobile_5e.asm b/mobile/mobile_5e.asm
index daef4318f..a736182cf 100644
--- a/mobile/mobile_5e.asm
+++ b/mobile/mobile_5e.asm
@@ -511,8 +511,8 @@ Function17a99e: ; 17a99e (5e:699e)
; 17a9b2 (5e:69b2)
String_17a9b2: ; 17a9b2
- db "でんわばんごうが ただしく"
- next "はいって いません!"
+ db "でんわばんごうが ただしく"
+ next "はいって いません!"
db "@"
; 17a9cb
diff --git a/mobile/mobile_5f.asm b/mobile/mobile_5f.asm
index 5731f01fc..6eeffa34a 100644
--- a/mobile/mobile_5f.asm
+++ b/mobile/mobile_5f.asm
@@ -44,7 +44,7 @@ Function17c000: ; 17c000
ld a, [rSVBK]
push af
- ld a, 5 ; BANK(wBGPals1)
+ ld a, BANK(wBGPals1)
ld [rSVBK], a
ld hl, HaveWantPals
@@ -236,17 +236,17 @@ CheckStringForErrors_IgnoreTerminator: ; 17d0b3
cp "@"
jr z, .next
- cp $5
+ cp "ガ"
jr c, .end
cp "<PLAY_G>"
jr c, .next
- cp $19
+ cp "<JP_18>" + 1
jr c, .end
- cp $1d
+ cp "<NI>"
jr c, .next
- cp "%" + 1
+ cp "<NO>" + 1
jr c, .end
- cp $35
+ cp "<ROUTE>"
jr c, .next
cp "<GREEN>" + 1
jr c, .end
@@ -348,7 +348,7 @@ Mobile_CopyDefaultNickname: ; 17d199
; 17d1a6
.DefaultNickname:
- db "?????"
+ db "?????"
Mobile_CopyDefaultMail: ; 17d1ab
ld a, "@"
@@ -429,10 +429,10 @@ Function17d1f1: ; 17d1f1
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; Parameter: [ScriptVar] = 0..1
;
-; if [ScriptVar] == 0
+; if [ScriptVar] == FALSE
; Show japanese menu options
; - News - News - ??? - Cancel
-; if [ScriptVar] == 1
+; if [ScriptVar] == TRUE
; Show BattleTower-Menu with 3 options in english language
; - Challenge - Explanation - Cancel
Special_Menu_ChallengeExplanationCancel: ; 17d224
@@ -483,14 +483,13 @@ Function17d246: ; 17d246
; 17d26a
MenuDataHeader_17d26a: ; 17d26a
- db $40 ; flags
- db 0, 0 ; start coords
- db 9, 14 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, 14, 9
dw MenuData2_17d272
db 1 ; default option
MenuData2_17d272: ; 17d272
- db $a0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_WRAP ; flags
db 4
db "ニュース¯よみこむ@"
db "ニュース¯みる@"
@@ -499,21 +498,20 @@ MenuData2_17d272: ; 17d272
; 17d28f
MenuDataHeader_ChallengeExplanationCancel: ; 17d28f
- db $40 ; flags
- db 0, 0 ; start coords
- db 7, 14 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 0, 0, 14, 7
dw MenuData2_ChallengeExplanationCancel
db 1 ; default option
MenuData2_ChallengeExplanationCancel: ; 17d297
- db $a0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_WRAP ; flags
db 3
db "Challenge@"
db "Explanation@"
db "Cancel@"
; 17d2b6
-Function17d2b6: ; 17d2b6
+Special_Function17d2b6: ; 17d2b6
call Function17d2c0
farcall Function1181da
ret
@@ -528,7 +526,7 @@ Function17d2c0: ; 17d2c0
ret
; 17d2ce
-Function17d2ce: ; 17d2ce
+Special_Function17d2ce: ; 17d2ce
ld a, $5
call GetSRAMBank
ld a, [$aa72]
@@ -620,8 +618,8 @@ Function17d314: ; 17d314
Function17d370: ; 17d370
xor a
ld [wcd77], a
- ld [wcd78], a
- ld [wcd79], a
+ ld [wMobileCrashCheckPointer], a
+ ld [wMobileCrashCheckPointer + 1], a
dec a
ld [wcd6c], a
call ClearBGPalettes
@@ -958,9 +956,9 @@ Function17d5c4:
ld h, a
add hl, bc
ld a, l
- ld [wcd78], a
+ ld [wMobileCrashCheckPointer], a
ld a, h
- ld [wcd79], a
+ ld [wMobileCrashCheckPointer + 1], a
ld a, $3
ld [wcd77], a
ret
@@ -1122,9 +1120,9 @@ Function17d6fd: ; 17d6fd
ld a, [wcd77]
bit 7, a
jr nz, asm_17d721
- ld a, [wcd78]
+ ld a, [wMobileCrashCheckPointer]
ld l, a
- ld a, [wcd79]
+ ld a, [wMobileCrashCheckPointer + 1]
ld h, a
ld a, [hl]
cp $ff
@@ -1193,11 +1191,11 @@ Jumptable17d72a: ; 17d72a
dw Function17e27f
dw Function17e293
dw Function17e2a7
- dw Function17e367
- dw Function17e37e
- dw Function17e395
- dw Function17e3ac
- dw Function17e3c3
+ dw IncCrashCheckPointer_SaveGameData
+ dw IncCrashCheckPointer_SaveAfterLinkTrade
+ dw IncCrashCheckPointer_SaveBox
+ dw IncCrashCheckPointer_SaveChecksum
+ dw IncCrashCheckPointer_SaveTrainerRankingsChecksum
dw Function17e3e0
dw Function17e3f0
dw Function17e409
@@ -1208,12 +1206,12 @@ Function17d78c: ; 17d78c
; 17d78d
Function17d78d: ; 17d78d
- call Function17e415
+ call IncCrashCheckPointer
ld a, [hli]
ld c, a
ld a, [hli]
ld b, a
- call Function17e41e
+ call HlToCrashCheckPointer
ld a, $6
call GetSRAMBank
ld hl, $a006
@@ -1229,40 +1227,40 @@ Function17d78d: ; 17d78d
; 17d7b4
Function17d7b4: ; 17d7b4
- call Function17e415
+ call IncCrashCheckPointer
ld a, [hli]
ld e, a
ld d, $0
call PlayMusic2
- call Function17e41e
+ call HlToCrashCheckPointer
ret
; 17d7c2
Function17d7c2: ; 17d7c2
- call Function17e415
+ call IncCrashCheckPointer
ld a, [hli]
ld e, a
ld d, $0
call PlaySFX
call WaitSFX
- call Function17e41e
+ call HlToCrashCheckPointer
ret
; 17d7d3
Function17d7d3: ; 17d7d3
- call Function17e415
+ call IncCrashCheckPointer
ld a, [hli]
dec a
ld e, a
ld d, $0
- call PlayCryHeader
+ call PlayCry
call WaitSFX
- call Function17e41e
+ call HlToCrashCheckPointer
ret
; 17d7e5
Function17d7e5: ; 17d7e5
- call Function17e415
+ call IncCrashCheckPointer
ld a, [hli]
ld [wcd4f], a
ld a, [hli]
@@ -1283,12 +1281,12 @@ Function17d7e5: ; 17d7e5
ld [wcd53], a
ld de, wcd4f
call Function17e691
- call Function17e41e
+ call HlToCrashCheckPointer
ret
; 17d818
Function17d818: ; 17d818
- call Function17e415
+ call IncCrashCheckPointer
ld a, [hli]
ld c, a
ld a, [hli]
@@ -1297,7 +1295,7 @@ Function17d818: ; 17d818
ld e, a
ld a, [hli]
ld d, a
- call Function17e41e
+ call HlToCrashCheckPointer
call Function17e447
ld e, l
ld d, h
@@ -1308,7 +1306,7 @@ Function17d818: ; 17d818
; 17d833
Function17d833: ; 17d833
- call Function17e415
+ call IncCrashCheckPointer
ld a, [hli]
ld e, a
ld a, [hli]
@@ -1317,7 +1315,7 @@ Function17d833: ; 17d833
ld c, a
ld a, [hli]
ld b, a
- call Function17e41e
+ call HlToCrashCheckPointer
push de
push bc
call Function17e32b
@@ -1336,7 +1334,7 @@ Function17d833: ; 17d833
; 17d85d
Function17d85d: ; 17d85d
- call Function17e415
+ call IncCrashCheckPointer
ld a, [hli]
ld e, a
ld a, [hli]
@@ -1406,7 +1404,7 @@ Function17d85d: ; 17d85d
jr .asm_17d878
.asm_17d8c7
- call Function17e41e
+ call HlToCrashCheckPointer
push bc
ld a, $3
ld [rSVBK], a
@@ -1437,13 +1435,13 @@ Function17d85d: ; 17d85d
; 17d902
Function17d902: ; 17d902
- call Function17e415
+ call IncCrashCheckPointer
ld a, [hli]
ld e, a
ld a, [hli]
ld d, a
push de
- call Function17e41e
+ call HlToCrashCheckPointer
call Function17e32b
pop de
ld hl, wBGPals1
@@ -1472,11 +1470,11 @@ Function17d902: ; 17d902
; 17d93a
Function17d93a: ; 17d93a
- call Function17e415
+ call IncCrashCheckPointer
ld de, $c708
ld bc, $5
call CopyBytes
- call Function17e41e
+ call HlToCrashCheckPointer
call Function17e32b
ld a, [rSVBK]
push af
@@ -1508,11 +1506,11 @@ Function17d93a: ; 17d93a
; 17d98b
Function17d98b: ; 17d98b
- call Function17e415
+ call IncCrashCheckPointer
ld de, $c708
ld bc, $4
call CopyBytes
- call Function17e41e
+ call HlToCrashCheckPointer
call Function17e32b
ld a, [rSVBK]
push af
@@ -1545,11 +1543,11 @@ Function17d98b: ; 17d98b
; 17d9e3
Function17d9e3: ; 17d9e3
- call Function17e415
+ call IncCrashCheckPointer
ld de, $c708
ld bc, $7
call CopyBytes
- call Function17e41e
+ call HlToCrashCheckPointer
ld a, [$c70b]
push af
cp $c0
@@ -1591,11 +1589,11 @@ Function17d9e3: ; 17d9e3
; 17da31
Function17da31: ; 17da31
- call Function17e415
+ call IncCrashCheckPointer
ld de, $c708
ld bc, $4
call CopyBytes
- call Function17e41e
+ call HlToCrashCheckPointer
ld a, [$c709]
push af
cp $c0
@@ -1681,7 +1679,7 @@ Function17da9c: ; 17da9c
call Function17e55b
call Function17e5af
.asm_17daba
- jp Function17e415
+ jp IncCrashCheckPointer
.asm_17dabd
ld a, [wcd2f]
@@ -1723,7 +1721,7 @@ Function17dadc: ; 17dadc
call Function17e5af
.asm_17db0e
- jp Function17e415
+ jp IncCrashCheckPointer
.asm_17db11
ld hl, wcd24
@@ -1758,7 +1756,7 @@ Function17db2d: ; 17db2d
call Function17e5af
.asm_17db53
- jp Function17e415
+ jp IncCrashCheckPointer
; 17db56
Function17db56: ; 17db56
@@ -1776,7 +1774,7 @@ Function17db56: ; 17db56
call Function17e5af
.asm_17db74
- jp Function17e415
+ jp IncCrashCheckPointer
; 17db77
Function17db77: ; 17db77
@@ -1808,7 +1806,7 @@ Function17db77: ; 17db77
call Function17e5af
.asm_17dbae
- jp Function17e415
+ jp IncCrashCheckPointer
; 17dbb1
Function17dbb1: ; 17dbb1
@@ -1878,11 +1876,11 @@ Function17dbe9: ; 17dbe9
call Function17e451
call Function17e55b
call Function17e5af
- jp Function17e415
+ jp IncCrashCheckPointer
; 17dc1f
Function17dc1f: ; 17dc1f
- call Function17e415
+ call IncCrashCheckPointer
ld de, $c688
ld bc, $6
call CopyBytes
@@ -1943,22 +1941,22 @@ Function17dc1f: ; 17dc1f
; 17dc96
MenuData2_17dc96:
- db $e0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING | STATICMENU_WRAP ; flags
db 2
db "はい@"
db "いいえ@"
; 17dc9f
Function17dc9f: ; 17dc9f
- call Function17e415
- call Function17e41e
+ call IncCrashCheckPointer
+ call HlToCrashCheckPointer
call RotateFourPalettesLeft
ret
; 17dca9
Function17dca9: ; 17dca9
- call Function17e415
- call Function17e41e
+ call IncCrashCheckPointer
+ call HlToCrashCheckPointer
Function17dcaf:
ld a, $5
@@ -1983,7 +1981,7 @@ Function17dcaf:
; 17dccf
Function17dccf: ; 17dccf
- call Function17e415
+ call IncCrashCheckPointer
push hl
ld a, [wcd4b]
ld l, a
@@ -1999,11 +1997,11 @@ Function17dccf: ; 17dccf
ld a, [hl]
ld b, a
call Function17e43d
- call Function17e41e
+ call HlToCrashCheckPointer
.asm_17dced
- ld a, [wcd78]
+ ld a, [wMobileCrashCheckPointer]
ld l, a
- ld a, [wcd79]
+ ld a, [wMobileCrashCheckPointer + 1]
ld h, a
ld a, [hl]
cp $ff
@@ -2021,7 +2019,7 @@ Function17dccf: ; 17dccf
.asm_17dd0d
pop hl
- jp Function17e41e
+ jp HlToCrashCheckPointer
.asm_17dd11
pop hl
@@ -2029,7 +2027,7 @@ Function17dccf: ; 17dccf
; 17dd13
Function17dd13: ; 17dd13
- call Function17e415
+ call IncCrashCheckPointer
ld a, [hli]
ld c, a
ld a, [hli]
@@ -2038,7 +2036,7 @@ Function17dd13: ; 17dd13
ld e, a
ld a, [hli]
ld d, a
- call Function17e41e
+ call HlToCrashCheckPointer
call Function17e447
push hl
hlcoord 0, 0
@@ -2051,7 +2049,7 @@ Function17dd13: ; 17dd13
; 17dd30
Function17dd30: ; 17dd30
- call Function17e415
+ call IncCrashCheckPointer
ld a, [hli]
ld e, a
ld a, [hli]
@@ -2061,7 +2059,7 @@ Function17dd30: ; 17dd30
ld b, $0
ld a, [hli]
push af
- call Function17e41e
+ call HlToCrashCheckPointer
pop af
hlcoord 0, 0
add hl, de
@@ -2070,7 +2068,7 @@ Function17dd30: ; 17dd30
; 17dd49
Function17dd49: ; 17dd49
- call Function17e415
+ call IncCrashCheckPointer
ld de, $c708
ld bc, $a
call CopyBytes
@@ -2151,7 +2149,7 @@ Function17dd49: ; 17dd49
; 17ddcd
Function17ddcd: ; 17ddcd
- call Function17e415
+ call IncCrashCheckPointer
ld de, $c708
ld bc, $8
call CopyBytes
@@ -2213,7 +2211,7 @@ Function17ddcd: ; 17ddcd
; 17de32
Function17de32: ; 17de32
- call Function17e415
+ call IncCrashCheckPointer
ld de, $c708
ld bc, $9
call CopyBytes
@@ -2272,7 +2270,7 @@ Function17de32: ; 17de32
; 17de91
Function17de91: ; 17de91
- call Function17e415
+ call IncCrashCheckPointer
ld de, $c708
ld bc, $7
call CopyBytes
@@ -2315,7 +2313,7 @@ Function17de91: ; 17de91
; 17ded9
Function17ded9: ; 17ded9
- call Function17e415
+ call IncCrashCheckPointer
ld de, $c708
ld bc, $1f
call CopyBytes
@@ -2533,7 +2531,7 @@ Function17e026: ; 17e026
push bc
push hl
farcall LoadEnemyMon
- farcall SentPkmnIntoBox
+ farcall SendPkmnIntoBox
farcall SetBoxMonCaughtData
pop hl
pop bc
@@ -2656,7 +2654,7 @@ asm_17e0ee
; 17e0fd
Function17e0fd: ; 17e0fd
- call Function17e415
+ call IncCrashCheckPointer
ld de, $c708
ld bc, $6
call CopyBytes
@@ -2690,7 +2688,7 @@ Function17e0fd: ; 17e0fd
; 17e133
Function17e133: ; 17e133
- call Function17e415
+ call IncCrashCheckPointer
ld de, $c708
ld bc, $5
call CopyBytes
@@ -2721,7 +2719,7 @@ Function17e133: ; 17e133
; 17e165
Function17e165: ; 17e165
- call Function17e415
+ call IncCrashCheckPointer
ld de, $c708
ld bc, $5
call CopyBytes
@@ -2758,7 +2756,7 @@ Function17e165: ; 17e165
; 17e1a1
Function17e1a1: ; 17e1a1
- call Function17e415
+ call IncCrashCheckPointer
ld de, $c708
ld bc, $d
call CopyBytes
@@ -2867,19 +2865,19 @@ Function17e1a1: ; 17e1a1
; 17e254
Function17e254: ; 17e254
- call Function17e415
+ call IncCrashCheckPointer
ld a, [hli]
ld e, a
ld a, [hli]
ld d, a
ld a, [hli]
ld [de], a
- call Function17e41e
+ call HlToCrashCheckPointer
ret
; 17e261
Function17e261: ; 17e261
- call Function17e415
+ call IncCrashCheckPointer
ld a, [hli]
ld e, a
ld a, [hli]
@@ -2888,12 +2886,12 @@ Function17e261: ; 17e261
add [hl]
ld [de], a
inc hl
- call Function17e41e
+ call HlToCrashCheckPointer
ret
; 17e270
Function17e270: ; 17e270
- call Function17e415
+ call IncCrashCheckPointer
ld a, [hli]
ld e, a
ld a, [hli]
@@ -2902,12 +2900,12 @@ Function17e270: ; 17e270
sub [hl]
ld [de], a
inc hl
- call Function17e41e
+ call HlToCrashCheckPointer
ret
; 17e27f
Function17e27f: ; 17e27f
- call Function17e415
+ call IncCrashCheckPointer
ld a, [hli]
ld e, a
ld a, [hli]
@@ -2916,7 +2914,7 @@ Function17e27f: ; 17e27f
ld c, a
ld a, [hli]
ld b, a
- call Function17e41e
+ call HlToCrashCheckPointer
ld l, c
ld h, b
ld a, [de]
@@ -2926,7 +2924,7 @@ Function17e27f: ; 17e27f
; 17e293
Function17e293: ; 17e293
- call Function17e415
+ call IncCrashCheckPointer
ld a, [hli]
ld e, a
ld a, [hli]
@@ -2935,7 +2933,7 @@ Function17e293: ; 17e293
ld c, a
ld a, [hli]
ld b, a
- call Function17e41e
+ call HlToCrashCheckPointer
ld l, c
ld h, b
ld a, [de]
@@ -2945,8 +2943,8 @@ Function17e293: ; 17e293
; 17e2a7
Function17e2a7: ; 17e2a7
- call Function17e415
- call Function17e41e
+ call IncCrashCheckPointer
+ call HlToCrashCheckPointer
call Function17e32b
xor a
ld [wcf66], a
@@ -3035,77 +3033,46 @@ Function17e349: ; 17e349
ret
; 17e367
-Function17e367: ; 17e367
- call Function17e415
- call Function17e41e
+inc_crash_check_pointer_farcall: MACRO
+ call IncCrashCheckPointer
+ call HlToCrashCheckPointer ; redundant
ld a, [rSVBK]
push af
ld a, $1
ld [rSVBK], a
- farcall SaveGameData_
+rept _NARG
+ farcall \1
+ shift
+endr
pop af
ld [rSVBK], a
ret
+ENDM
+
+IncCrashCheckPointer_SaveGameData: ; 17e367
+ inc_crash_check_pointer_farcall SaveGameData_
; 17e37e
-Function17e37e: ; 17e37e
- call Function17e415
- call Function17e41e
- ld a, [rSVBK]
- push af
- ld a, $1
- ld [rSVBK], a
- farcall SaveAfterLinkTrade
- pop af
- ld [rSVBK], a
- ret
-; 17e395
+IncCrashCheckPointer_SaveAfterLinkTrade: ; 17e37e
+ inc_crash_check_pointer_farcall SaveAfterLinkTrade
-Function17e395: ; 17e395
- call Function17e415
- call Function17e41e
- ld a, [rSVBK]
- push af
- ld a, $1
- ld [rSVBK], a
- farcall SaveBox
- pop af
- ld [rSVBK], a
- ret
+IncCrashCheckPointer_SaveBox: ; 17e395
+ inc_crash_check_pointer_farcall SaveBox
; 17e3ac
-Function17e3ac: ; 17e3ac
- call Function17e415
- call Function17e41e
- ld a, [rSVBK]
- push af
- ld a, $1
- ld [rSVBK], a
- farcall SaveChecksum
- pop af
- ld [rSVBK], a
- ret
+IncCrashCheckPointer_SaveChecksum: ; 17e3ac
+ inc_crash_check_pointer_farcall SaveChecksum
; 17e3c3
-Function17e3c3: ; 17e3c3
- call Function17e415
- call Function17e41e
- ld a, [rSVBK]
- push af
- ld a, $1
- ld [rSVBK], a
- farcall UpdateTrainerRankingsChecksum2
- farcall BackupMobileEventIndex
- pop af
- ld [rSVBK], a
- ret
+IncCrashCheckPointer_SaveTrainerRankingsChecksum: ; 17e3c3
+ inc_crash_check_pointer_farcall UpdateTrainerRankingsChecksum2, BackupMobileEventIndex
; 17e3e0
Function17e3e0: ; 17e3e0
- call Function17e415
+ call IncCrashCheckPointer
ld a, [hli]
ld c, a
- call Function17e41e
+ call HlToCrashCheckPointer
ld a, $1
ld [hBGMapMode], a
call DelayFrames
@@ -3113,8 +3080,8 @@ Function17e3e0: ; 17e3e0
; 17e3f0
Function17e3f0: ; 17e3f0
- call Function17e415
- call Function17e41e
+ call IncCrashCheckPointer
+ call HlToCrashCheckPointer
.asm_17e3f6
call JoyTextDelay
ld hl, hJoyPressed
@@ -3137,20 +3104,20 @@ Function17e409: ; 17e409
Function17e40f: ; 17e40f
ld de, wBGPals1
add hl, de
- jr Function17e41e
+ jr HlToCrashCheckPointer
-Function17e415:
- ld a, [wcd78]
+IncCrashCheckPointer:
+ ld a, [wMobileCrashCheckPointer]
ld l, a
- ld a, [wcd79]
+ ld a, [wMobileCrashCheckPointer + 1]
ld h, a
inc hl
-Function17e41e:
+HlToCrashCheckPointer:
ld a, l
- ld [wcd78], a
+ ld [wMobileCrashCheckPointer], a
ld a, h
- ld [wcd79], a
+ ld [wMobileCrashCheckPointer + 1], a
ret
; 17e427
@@ -4619,7 +4586,7 @@ Function17f524: ; 17f524
jr .asm_17f536
; 17f53d
-BattleTowerMobileError: ; 17f53d
+Special_BattleTowerMobileError: ; 17f53d
call FadeToMenu
xor a
ld [wc303], a
@@ -4880,13 +4847,13 @@ Function17f6b7: ; 17f6b7
; 17f6dc
String_17f6dc: ; 17f6dc
- db "つうしんエラー ー@"
+ db "つうしんエラー   ー@"
; 17f6e8
String_17f6e8: ; 17f6e8
- db "みていぎ", $25, "エラーです"
- next "プログラム", $1f
- next "かくにん してください"
+ db "みていぎ<NO>エラーです"
+ next "プログラム<WO>"
+ next "かくにん してください"
db "@"
; 17f706
@@ -5043,223 +5010,223 @@ Unknown_17f844: db 19
dbbw $ff, $ff, String_17fa49
String_17f891: ; 17f891
- db "モバイルアダプタが ただしく"
+ db "モバイルアダプタが ただしく"
next "さしこまれていません"
next "とりあつかいせつめいしょを"
- next "ごらんのうえ しっかりと"
- next "さしこんで ください"
+ next "ごらんのうえ しっかりと"
+ next "さしこんで ください"
db "@"
String_17f8d1: ; 17f8d1
- db "でんわが うまく かけられないか"
- next "でんわかいせんが こんでいるので"
- next "つうしん できません"
- next "しばらく まって"
- next "かけなおして ください"
+ db "でんわが うまく かけられないか"
+ next "でんわかいせんが こんでいるので"
+ next "つうしん できません"
+ next "しばらく まって"
+ next "かけなおして ください"
db "@"
String_17f913: ; 17f913
- db "でんわかいせんが こんでいるため"
- next "でんわが かけられません"
- next "しばらく まって"
- next "かけなおして ください"
+ db "でんわかいせんが こんでいるため"
+ next "でんわが かけられません"
+ next "しばらく まって"
+ next "かけなおして ください"
db "@"
String_17f946: ; 17f946
- db "モバイルアダプタの エラーです"
- next "しばらく まって"
- next "かけなおして ください"
- next "なおらない ときは"
+ db "モバイルアダプタの エラーです"
+ next "しばらく まって"
+ next "かけなおして ください"
+ next "なおらない ときは"
next "モバイルサポートセンターへ"
next "おといあわせください"
db "@"
String_17f98e: ; 17f98e
db "つうしんエラーです"
- next "しばらく まって"
- next "かけなおして ください"
- next "なおらない ときは"
+ next "しばらく まって"
+ next "かけなおして ください"
+ next "なおらない ときは"
next "モバイルサポートセンターへ"
next "おといあわせください"
db "@"
String_17f9d0: ; 17f9d0
db "ログインパスワードか"
- next "ログイン アイディーに"
+ next "ログイン アイディーに"
next "まちがいがあります"
- next "パスワードを かくにんして"
- next "しばらく まって"
- next "かけなおして ください"
+ next "パスワードを かくにんして"
+ next "しばらく まって"
+ next "かけなおして ください"
db "@"
String_17fa14: ; 17fa14
- db "でんわが きれました"
+ db "でんわが きれました"
next "とりあつかいせつめいしょを"
next "ごらんのうえ"
- next "しばらく まって"
- next "かけなおして ください"
+ next "しばらく まって"
+ next "かけなおして ください"
db "@"
String_17fa49: ; 17fa49
db "モバイルセンターの"
next "つうしんエラーです"
next "しばらくまって"
- next "かけなおして ください"
+ next "かけなおして ください"
db "@"
String_17fa71: ; 17fa71
db "モバイルアダプタに"
- next "とうろくされた じょうほうが"
- next "ただしく ありません"
+ next "とうろくされた じょうほうが"
+ next "ただしく ありません"
next "モバイルトレーナーで"
- next "しょきとうろくを してください"
+ next "しょきとうろくを してください"
db "@"
String_17fab0: ; 17fab0
db "モバイルセンターが"
- next "こんでいて つながりません"
+ next "こんでいて つながりません"
next "しばらくまって"
- next "かけなおして ください"
- next "くわしくは とりあつかい"
- next "せつめいしょを ごらんください"
+ next "かけなおして ください"
+ next "くわしくは とりあつかい"
+ next "せつめいしょを ごらんください"
db "@"
String_17faf9: ; 17faf9
- db "あてさき メールアドレスに"
+ db "あてさき メールアドレスに"
next "まちがいがあります"
- next "ただしい メールアドレスを"
+ next "ただしい メールアドレスを"
next "いれなおしてください"
db "@"
String_17fb2a: ; 17fb2a
db "メールアドレスに"
- next "まちがいが あります"
+ next "まちがいが あります"
next "とりあつかいせつめいしょを"
next "ごらんのうえ"
next "モバイルトレーナーで"
- next "しょきとうろくを してください"
+ next "しょきとうろくを してください"
db "@"
String_17fb6e: ; 17fb6e
db "ログインパスワードに"
- next "まちがいが あるか"
- next "モバイルセンターの エラーです"
- next "パスワードを かくにんして"
- next "しばらく まって"
- next "かけなおして ください"
+ next "まちがいが あるか"
+ next "モバイルセンターの エラーです"
+ next "パスワードを かくにんして"
+ next "しばらく まって"
+ next "かけなおして ください"
db "@"
String_17fbb6: ; 17fbb6
- db "データの よみこみが できません"
+ db "データの よみこみが できません"
next "しばらくまって"
- next "かけなおして ください"
- next "なおらない ときは"
+ next "かけなおして ください"
+ next "なおらない ときは"
next "モバイルサポートセンターへ"
next "おといあわせください"
db "@"
String_17fbfe: ; 17fbfe
db "じかんぎれです"
- next "でんわが きれました"
- next "でんわを かけなおしてください"
- next "くわしくは とりあつかい"
- next "せつめいしょを ごらんください"
+ next "でんわが きれました"
+ next "でんわを かけなおしてください"
+ next "くわしくは とりあつかい"
+ next "せつめいしょを ごらんください"
db "@"
String_17fc3e: ; 17fc3e
- db "ごりよう りょうきんの "
- next "おしはらいが おくれたばあいには"
- next "ごりようが できなくなります"
- next "くわしくは とりあつかい"
- next "せつめいしょを ごらんください"
+ db "ごりよう りょうきんの "
+ next "おしはらいが おくれたばあいには"
+ next "ごりようが できなくなります"
+ next "くわしくは とりあつかい"
+ next "せつめいしょを ごらんください"
db "@"
String_17fc88: ; 17fc88
- db "おきゃくさまの ごつごうにより"
+ db "おきゃくさまの ごつごうにより"
next "ごりようできません"
- next "くわしくは とりあつかい"
- next "せつめいしょを ごらんください"
+ next "くわしくは とりあつかい"
+ next "せつめいしょを ごらんください"
db "@"
String_17fcbf: ; 17fcbf
- db "でんわかいせんが こんでいるか"
- next "モバイルセンターの エラーで"
- next "つうしんが できません"
- next "しばらく まって"
- next "かけなおして ください"
+ db "でんわかいせんが こんでいるか"
+ next "モバイルセンターの エラーで"
+ next "つうしんが できません"
+ next "しばらく まって"
+ next "かけなおして ください"
db "@"
String_17fcff: ; 17fcff
- db "ごりよう りょうきんが"
- next "じょうげんを こえているため"
- next "こんげつは ごりようできません"
- next "くわしくは とりあつかい"
- next "せつめいしょを ごらんください"
+ db "ごりよう りょうきんが"
+ next "じょうげんを こえているため"
+ next "こんげつは ごりようできません"
+ next "くわしくは とりあつかい"
+ next "せつめいしょを ごらんください"
db "@"
String_17fd47: ; 17fd47
- db "げんざい モバイルセンターの"
- next "てんけんを しているので"
- next "つうしんが できません"
- next "しばらく まって"
- next "かけなおして ください"
+ db "げんざい モバイルセンターの"
+ next "てんけんを しているので"
+ next "つうしんが できません"
+ next "しばらく まって"
+ next "かけなおして ください"
db "@"
String_17fd84: ; 17fd84
- db "データの よみこみが できません"
- next "くわしくは とりあつかい"
- next "せつめいしょを ごらんください"
+ db "データの よみこみが できません"
+ next "くわしくは とりあつかい"
+ next "せつめいしょを ごらんください"
db "@"
String_17fdb2: ; 17fdb2
- db "3ぷん いじょう なにも"
- next "にゅうりょく しなかったので"
- next "でんわが きれました"
+ db "3ぷん いじょう なにも"
+ next "にゅうりょく しなかったので"
+ next "でんわが きれました"
db "@"
String_17fdd9: ; 17fdd9
- db "つうしんが うまく"
+ db "つうしんが うまく"
next "できませんでした"
- next "もういちど はじめから"
+ next "もういちど はじめから"
next "やりなおしてください"
db "@"
String_17fe03: ; 17fe03
- db "データの よみこみが できません"
+ db "データの よみこみが できません"
next "しばらくまって"
- next "かけなおして ください"
- next "なおらない ときは"
+ next "かけなおして ください"
+ next "なおらない ときは"
next "モバイルサポートセンターへ"
next "おといあわせください"
db "@"
String_17fe4b: ; 17fe4b
- db "まちじかんが ながいので"
- next "でんわが きれました"
+ db "まちじかんが ながいので"
+ next "でんわが きれました"
db "@"
String_17fe63: ; 17fe63
- db "あいての モバイルアダプタと"
- next "タイプが ちがいます"
- next "くわしくは とりあつかい"
- next "せつめいしょを ごらんください"
+ db "あいての モバイルアダプタと"
+ next "タイプが ちがいます"
+ next "くわしくは とりあつかい"
+ next "せつめいしょを ごらんください"
db "@"
-String_17fe9a: ; 17fe9a ; unreferenced
+String_17fe9a: ; 17fe9a ; unused
db "ポケモンニュースが"
next "あたらしくなっているので"
- next "レポートを おくれません"
- next "あたらしい ポケモンニュースの"
- next "よみこみを さきに してください"
+ next "レポートを おくれません"
+ next "あたらしい ポケモンニュースの"
+ next "よみこみを さきに してください"
db "@"
String_17fedf: ; 17fedf
- db "つうしんの じょうきょうが"
- next "よくないか かけるあいてが"
+ db "つうしんの じょうきょうが"
+ next "よくないか かけるあいてが"
next "まちがっています"
- next "もういちど かくにんをして"
- next "でんわを かけなおして ください"
+ next "もういちど かくにんをして"
+ next "でんわを かけなおして ください"
db "@"
; 17ff23
@@ -5302,5 +5269,5 @@ Function17ff3c: ; 17ff3c
; 17ff68
String_17ff68: ; 17ff68
- db "101@"
+ db "101@"
; 17ff6c
diff --git a/mobile/mobile_menu.asm b/mobile/mobile_menu.asm
index e36e779ae..8c5786eb0 100755
--- a/mobile/mobile_menu.asm
+++ b/mobile/mobile_menu.asm
@@ -102,10 +102,10 @@ Function49f16: ; 49f16
MobileString1: ; 49fcc
- db "めいしフ,ルダー"
+ db "めいしフォルダー"
next "あいさつ"
next "プロフィール"
- next "せ", $1e, "い"
+ next "せ<TTE>い"
next "もどる"
db "@"
; 49fe9
@@ -115,26 +115,26 @@ MobileStrings2:
String_0x49fe9: ; 49fe9
db "めいし¯つくったり"
- next "ほぞんしておける フ,ルダーです@"
+ next "ほぞんしておける フォルダーです@"
; 4a004
String_0x4a004: ; 4a004
- db "モバイルたいせんや じぶんのめいしで"
- next "つかう あいさつ¯つくります@"
+ db "モバイルたいせんや じぶんのめいしで"
+ next "つかう あいさつ¯つくります@"
; 4a026
String_0x4a026: ; 4a026
- db "あなた%じゅうしょや ねんれいの"
- next "せ", $1e, "い¯かえられます@"
+ db "あなた<NO>じゅうしょや ねんれいの"
+ next "せ<TTE>い¯かえられます@"
; 4a042
String_0x4a042: ; 4a042
- db "モバイルセンター", $1d, "せつぞくするとき"
- next "ひつような こと¯きめます@"
+ db "モバイルセンター<NI>せつぞくするとき"
+ next "ひつような こと¯きめます@"
; 4a062
String_0x4a062: ; 4a062
- db "まえ%がめん ", $1d, "もどります"
+ db "まえ<NO>がめん <NI>もどります"
next "@"
; 4a071
@@ -371,13 +371,13 @@ Function4a239: ; 4a239 (12:6239)
; 4a23d (12:623d)
Strings_4a23d: ; 4a23d
- db "いつも せつぞく¯する"
+ db "いつも せつぞく¯する"
next "モバイルセンター¯えらびます@"
- db "モバイルセンター", $1d, "せつぞくするとき"
+ db "モバイルセンター<NI>せつぞくするとき"
next "つかうパスワード¯ほぞんできます@"
- db "まえ%がめん ", $1d, "もどります@"
+ db "まえ<NO>がめん <NI>もどります@"
db "@"
; 4a28a
@@ -461,9 +461,8 @@ Function4a28a: ; 4a28a (12:628a)
; 4a346 (12:6346)
MenuDataHeader_0x4a346: ; 0x4a346
- db $40 ; flags
- db 00, 12 ; start coords
- db 06, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 12, 0, SCREEN_WIDTH - 1, 6
String_4a34b: ; 4a34b
db "いれなおす"
@@ -484,15 +483,14 @@ UnknownText_0x4a35d: ; 0x4a35d
; 0x4a362
DeletePassword_YesNo_MenuDataHeader: ; 0x4a362
- db $40 ; flags
- db 07, 14 ; start coords
- db 11, 19 ; end coords
+ db MENU_BACKUP_TILES ; flags
+ menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
dw MenuData2_0x4a36a
db 2 ; default option
; 0x4a36a
MenuData2_0x4a36a: ; 0x4a36a
- db $e0 ; flags
+ db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING | STATICMENU_WRAP ; flags
db 2 ; items
db "はい@"
db "いいえ@"
@@ -788,25 +786,25 @@ Function4a5b0: ; 4a5b0 (12:65b0)
String_4a5c5: ; 4a5c5
db "じこしょうかい@"
String_4a5cd: ; 4a5cd
- db "たいせん ", $4a, "はじまるとき@"
+ db "たいせん <GA>はじまるとき@"
String_4a5da: ; 4a5da
- db "たいせん ", $1d, "かったとき@"
+ db "たいせん <NI>かったとき@"
String_4a5e6: ; 4a5e6
- db "たいせん ", $1d, "まけたとき@"
+ db "たいせん <NI>まけたとき@"
String_4a5f2: ; 4a5f2
db "もどる@"
; 4a5f6
Strings_4a5f6: ; 4a5f6
- db "めいし や ニュース ", $1d, "のせる@"
- db "あなた%あいさつです@"
- db "モバイル たいせん", $4a, "はじまるとき@"
- db "あいて", $1d, "みえる あいさつです@"
- db "モバイル たいせんで かったとき@"
- db "あいて", $1d, "みえる あいさつです@"
- db "モバイル たいせんで まけたとき@"
- db "あいて", $1d, "みえる あいさつです@"
- db "まえ%がめん ", $1d, "もどります@"
+ db "めいし や ニュース <NI>のせる@"
+ db "あなた<NO>あいさつです@"
+ db "モバイル たいせん<GA>はじまるとき@"
+ db "あいて<NI>みえる あいさつです@"
+ db "モバイル たいせんで かったとき@"
+ db "あいて<NI>みえる あいさつです@"
+ db "モバイル たいせんで まけたとき@"
+ db "あいて<NI>みえる あいさつです@"
+ db "まえ<NO>がめん <NI>もどります@"
db "@"
; 4a680
@@ -847,7 +845,7 @@ Function4a6ab: ; 4a6ab (12:66ab)
call ClearBGPalettes
ld b, SCGB_DIPLOMA
call GetSGBLayout
- farcall Function11c1ab
+ farcall Special_Function11c1ab
pop bc
call LoadFontsExtra
jp Function4a4c4
diff --git a/mobile/news/news.asm b/mobile/news/news.asm
index b95df06aa..d9dcc3ce8 100644
--- a/mobile/news/news.asm
+++ b/mobile/news/news.asm
@@ -1,9 +1,8 @@
; http://forums.glitchcity.info/index.php?topic=7509.msg206449#msg206449
- db $cc, $6b, $1e ; XXX
+ db $cc, $6b, $1e ; unused
-Function1f4003: ; 1f4003
-; XXX
+Unreferenced_Function1f4003: ; 1f4003
ld a, $6
call GetSRAMBank
ld hl, .news_data
@@ -16,8 +15,7 @@ Function1f4003: ; 1f4003
.news_data
INCBIN "mobile/news/news_1.bin"
-Function1f4dbe: ; 1f4dbe
-; XXX
+Unreferenced_Function1f4dbe: ; 1f4dbe
ld a, $6
call GetSRAMBank
ld hl, .news_data
diff --git a/mobile/print_opp_message.asm b/mobile/print_opp_message.asm
index 612a1b78d..987ad4b9a 100644
--- a/mobile/print_opp_message.asm
+++ b/mobile/print_opp_message.asm
@@ -10,7 +10,7 @@ Mobile_PrintOpponentBattleMessage: ; 4ea0a
call AddNTimes
ld de, wMobileOpponentBattleMessage
ld bc, $c
- ld a, $5 ; BANK(w5_MobileOpponentBattleMessages)
+ ld a, BANK(w5_MobileOpponentBattleMessages)
call FarCopyWRAM
ld a, [rSVBK]
diff --git a/pokecrystal.link b/pokecrystal.link
index f27883ed9..0cfb54a8b 100644
--- a/pokecrystal.link
+++ b/pokecrystal.link
@@ -106,7 +106,7 @@ ROMX $23
ROMX $24
"bank24"
ROMX $25
- "Map Headers"
+ "Maps"
"Events"
ROMX $26
"Map Scripts 11"
@@ -117,11 +117,11 @@ ROMX $28
ROMX $29
"Phone Text"
ROMX $2a
- "Map Blockdata 1"
+ "Map Blocks 1"
ROMX $2b
- "Map Blockdata 2"
+ "Map Blocks 2"
ROMX $2c
- "Map Blockdata 3"
+ "Map Blocks 3"
ROMX $2d
"Tileset Data 5"
ROMX $2e
diff --git a/sram.asm b/sram.asm
index 0b44c9304..ddfc6faf6 100644
--- a/sram.asm
+++ b/sram.asm
@@ -83,7 +83,7 @@ sBackupCheckValue1:: db ; loaded with SAVE_CHECK_VALUE_1, used to check save cor
sBackupGameData:: ; b209
sBackupPlayerData:: ds wPlayerDataEnd - wPlayerData
-sBackupMapData:: ds wMapDataEnd - wMapData
+sBackupCurrMapData:: ds wCurrMapDataEnd - wCurrMapData
sBackupPokemonData:: ds wPokemonDataEnd - wPokemonData
sBackupGameDataEnd::
@@ -106,7 +106,7 @@ sCheckValue1:: db ; loaded with SAVE_CHECK_VALUE_1, used to check save corruptio
sGameData:: ; a009
sPlayerData:: ds wPlayerDataEnd - wPlayerData
-sMapData:: ds wMapDataEnd - wMapData
+sCurrMapData:: ds wCurrMapDataEnd - wCurrMapData
sPokemonData:: ds wPokemonDataEnd - wPokemonData
sGameDataEnd::
@@ -187,7 +187,8 @@ SECTION "SRAM Crystal Data", SRAM
sMobileEventIndex:: db ; be3c
sCrystalData:: ds wCrystalDataEnd - wCrystalData
-sMobileEventIndexBackup:: db
+
+sMobileEventIndexBackup:: db ; be44
SECTION "SRAM Battle Tower", SRAM
@@ -202,7 +203,7 @@ sBattleTower:: ; be46
sNrOfBeatenBattleTowerTrainers:: db
sBTChoiceOfLevelGroup:: db
; Battle Tower trainers are saved here, so nobody appears more than once
-sBTTrainers:: ds BATTLETOWER_NROFTRAINERS ; sbe48
+sBTTrainers:: ds BATTLETOWER_STREAK_LENGTH ; sbe48
sBattleTowerSaveFileFlags:: db
sBattleTowerReward:: db
@@ -241,6 +242,7 @@ SECTION "Boxes 8-14", SRAM
SECTION "SRAM Mobile", SRAM, BANK [5]
ds 1 ; former location for sMobileEventIndex, moved to 1:BE3C in English
+
sTrainerRankings:: ; a001
sTrainerRankingGameTimeHOF:: ds 4
sTrainerRankingStepCountHOF:: ds 4
@@ -287,10 +289,11 @@ sTrainerRankingBugContestScore:: ds 2
sTrainerRankingsChecksum:: ds 2
sTrainerRankingsEnd:: ; a083
-ds 1 ; Former location for sMobileEventIndexBackup, moved to 1:BE44 in English
+ ds 1 ; Former location for sMobileEventIndexBackup, moved to 1:BE44 in English
+
sTrainerRankingsBackup:: ds sTrainerRankingsEnd - sTrainerRankings
-ds $945
+ ds $945
; aa4b
sMobileLoginPassword:: ds MOBILE_LOGIN_PASSWORD_LENGTH
diff --git a/text/common_2.asm b/text/common_2.asm
deleted file mode 100644
index 060070dea..000000000
--- a/text/common_2.asm
+++ /dev/null
@@ -1,309 +0,0 @@
-UnknownText_0x1c0000::
- text "Oh, no picture?"
- line "Come again, OK?"
- done
-
-UnknownText_0x1c0021::
- text "An EGG? My talent"
- line "is worth more…"
- done
-
-UnknownText_0x1c0043::
- text "Hello, hello! I'm"
- line "the NAME RATER."
-
- para "I rate the names"
- line "of #MON."
-
- para "Would you like me"
- line "to rate names?"
- done
-
-UnknownText_0x1c00a0::
- text "Which #MON's"
- line "nickname should I"
- cont "rate for you?"
- prompt
-
-UnknownText_0x1c00cd::
- text "Hm… @"
- text_from_ram StringBuffer1
- text "…"
- line "That's a fairly"
- cont "decent name."
-
- para "But, how about a"
- line "slightly better"
- cont "nickname?"
-
- para "Want me to give it"
- line "a better name?"
- done
-
-UnknownText_0x1c0142::
- text "All right. What"
- line "name should we"
- cont "give it, then?"
- prompt
-
-UnknownText_0x1c0171::
- text "That's a better"
- line "name than before!"
-
- para "Well done!"
- done
-
-UnknownText_0x1c019e::
- text "OK, then. Come"
- line "again sometime."
- done
-
-UnknownText_0x1c01be::
- text "Hm… @"
- text_from_ram StringBuffer1
- text "?"
- line "What a great name!"
- cont "It's perfect."
-
- para "Treat @"
- text_from_ram StringBuffer1
- text ""
- line "with loving care."
- done
-
-UnknownText_0x1c0208::
- text "Whoa… That's just"
- line "an EGG."
- done
-
-UnknownText_0x1c0222::
- text "It might look the"
- line "same as before,"
-
- para "but this new name"
- line "is much better!"
-
- para "Well done!"
- done
-
-UnknownText_0x1c0272::
- text "All right. This"
- line "#MON is now"
- cont "named @"
- text_from_ram StringBuffer1
- text "."
- prompt
-
-Text_Gained::
- text_from_ram StringBuffer1
- text " gained@@"
-
-Text_ABoostedStringBuffer2ExpPoints::
- text ""
- line "a boosted"
- cont "@"
- deciram StringBuffer2, 2, 4
- text " EXP. Points!"
- prompt
-
-Text_StringBuffer2ExpPoints::
- text ""
- line "@"
- deciram StringBuffer2, 2, 4
- text " EXP. Points!"
- prompt
-
-Text_GoPkmn::
- text "Go! @@"
-
-Text_DoItPkmn::
- text "Do it! @@"
-
-Text_GoForItPkmn::
- text "Go for it,"
- line "@@"
-
-Text_YourFoesWeakGetmPkmn::
- text "Your foe's weak!"
- line "Get'm, @@"
-
-Text_BattleMonNick01::
- text_from_ram BattleMonNick
- text "!"
- done
-
-Text_BattleMonNickComma::
- text_from_ram BattleMonNick
- text ",@@"
-
-Text_ThatsEnoughComeBack::
- text " that's"
- line "enough! Come back!@@"
-
-Text_OKComeBack::
- text " OK!"
- line "Come back!@@"
-
-Text_GoodComeBack::
- text " good!"
- line "Come back!@@"
-
-Text_ComeBack::
- text " come"
- line "back!"
- done
-
-UnknownText_0x1c0373::
- text "Booted up a TM."
- prompt
-
-UnknownText_0x1c0384::
- text "Booted up an HM."
- prompt
-
-UnknownText_0x1c0396::
- text "It contained"
- line "@"
- text_from_ram StringBuffer2
- text "."
-
- para "Teach @"
- text_from_ram StringBuffer2
- text ""
- line "to a #MON?"
- done
-
-UnknownText_0x1c03c2::
- text_from_ram StringBuffer2
- text " is"
- line "not compatible"
- cont "with @"
- text_from_ram StringBuffer1
- text "."
-
- para "It can't learn"
- line "@"
- text_from_ram StringBuffer2
- text "."
- prompt
-
-UnknownText_0x1c03fa::
- text "You have no room"
- line "for any more"
- cont "@"
- text_from_ram StringBuffer1
- text "S."
- prompt
-
-UnknownText_0x1c0421::
- text "You received"
- line "@"
- text_from_ram StringBuffer1
- text "!"
- prompt
-
-UnknownText_0x1c0436::
- text "The link has been"
- line "cancelled."
- prompt
-
-UnknownText_0x1c0454::
- text "Communication"
- line "error."
- prompt
-
-UnknownText_0x1c046a::
- text "Must retrieve GIFT"
- line "at #MON CENTER."
- prompt
-
-UnknownText_0x1c048e::
- text "Your friend isn't"
- line "ready."
- prompt
-
-UnknownText_0x1c04a7::
- text "Sorry--only five"
- line "GIFTS a day."
- prompt
-
-UnknownText_0x1c04c6::
- text "Sorry. One GIFT"
- line "a day per person."
- prompt
-
-UnknownText_0x1c04e9::
- text_from_ram wMysteryGiftPartnerName
- text " sent"
- line "@"
- text_from_ram StringBuffer1
- text "."
- prompt
-
-UnknownText_0x1c04fa::
- text_from_ram wMysteryGiftPartnerName
- text " sent"
- line "@"
- text_from_ram StringBuffer1
- text ""
- cont "to @"
- text_from_ram wMysteryGiftPlayerName
- text "'s home."
- prompt
-
-UnknownText_0x1c051a::
- text "Received"
- line "@"
- text_from_ram wc850
- text "'s CARD."
- prompt
-
-UnknownText_0x1c0531::
- text_from_ram wc850
- text "'s CARD was"
- line "listed as no.@"
- deciram wd265, 1, 2
- text "."
- prompt
-
-UnknownText_0x1c0555::
- text "The CARD was not"
- line "registered."
- prompt
-
-UnknownText_0x1c0573::
- text "The link has been"
- line "cancelled."
- prompt
-
-UnknownText_0x1c0591::
- text "Communication"
- line "error."
- prompt
-
-_BadgeRequiredText::
- text "Sorry! A new BADGE"
- line "is required."
- prompt
-
-UnknownText_0x1c05c8::
- text "Can't use that"
- line "here."
- prompt
-
-UnknownText_0x1c05dd::
- text_from_ram StringBuffer2
- text " used"
- line "CUT!"
- prompt
-
-UnknownText_0x1c05ec::
- text "There's nothing to"
- line "CUT here."
- prompt
-
-UnknownText_0x1c0609::
- text "A blinding FLASH"
- line "lights the area!@"
- text_waitbutton
- db "@@"
diff --git a/text/common_4.asm b/text/common_4.asm
deleted file mode 100644
index f5d14b7cd..000000000
--- a/text/common_4.asm
+++ /dev/null
@@ -1,683 +0,0 @@
-_OakText6::
- text "Now, what did you"
- line "say your name was?"
- prompt
-
-_OakText7::
- text "<PLAYER>, are you"
- line "ready?"
-
- para "Your very own"
- line "#MON story is"
- cont "about to unfold."
-
- para "You'll face fun"
- line "times and tough"
- cont "challenges."
-
- para "A world of dreams"
- line "and adventures"
-
- para "with #MON"
- line "awaits! Let's go!"
-
- para "I'll be seeing you"
- line "later!"
- done
-
-UnknownText_0x1c40e6::
- text "The clock's time"
- line "may be wrong."
-
- para "Please reset the"
- line "time."
- prompt
-
-UnknownText_0x1c411c::
- text "Set with the"
- line "Control Pad."
-
- para "Confirm: A Button"
- line "Cancel: B Button"
- done
-
-UnknownText_0x1c415b::
- text "Is this OK?"
- done
-
-UnknownText_0x1c4168::
- text "The clock has been"
- line "reset."
- done
-
-UnknownText_0x1c4183::
- text "Too much time has"
- line "elapsed. Please"
- cont "try again."
- prompt
-
-UnknownText_0x1c41b1::
- text "If you trade that"
- line "#MON, you won't"
- cont "be able to battle."
- prompt
-
-UnknownText_0x1c41e6::
- text "Your friend's"
- line "@"
- text_from_ram StringBuffer1
- text " appears"
- cont "to be abnormal!"
- prompt
-
-UnknownText_0x1c4212::
- text "Trade @"
- text_from_ram wd004
- text ""
- line "for @"
- text_from_ram StringBuffer1
- text "?"
- done
-
-UnknownText_0x1c422a::
- text "To enter a mobile"
- line "battle, you must"
-
- para "pick a team of"
- line "three #MON."
-
- para "Is that OK?"
- done
-
-UnknownText_0x1c4275::
- text "Need more info on"
- line "mobile battles?"
- done
-
-UnknownText_0x1c4298::
- text "For a mobile"
- line "battle, choose"
- cont "three #MON."
-
- para "The maximum daily"
- line "play time is ten"
-
- para "minutes for each"
- line "linked player."
-
- para "If a battle isn't"
- line "finished within"
-
- para "the time limit,"
- line "the player with"
-
- para "the fewest fainted"
- line "#MON wins."
-
- para "If tied, the team"
- line "that lost the"
-
- para "least amount of HP"
- line "wins."
- done
-
-UnknownText_0x1c439c::
- text "Today's remaining"
- line "time is @"
- deciram StringBuffer2, 1, 2
- text " min."
-
- para "Would you like to"
- line "battle?"
- done
-
-UnknownText_0x1c43dc::
- text "There are only @"
- deciram StringBuffer2, 1, 2
- text ""
- line "min. left today."
-
- para "Want a quick"
- line "battle?"
- done
-
-UnknownText_0x1c4419::
- text "There is only"
- line "1 min. left today!"
-
- para "Want to rush"
- line "through a battle?"
- done
-
-UnknownText_0x1c445a::
- text "There is less than"
- line "1 min. left today!"
-
- para "Please try again"
- line "tomorrow."
- done
-
-UnknownText_0x1c449c::
- text "Try again using"
- line "the same settings?"
- done
-
-UnknownText_0x1c44c0::
- text "There is less than"
- line "1 min. left today!"
- done
-
-UnknownText_0x1c44e7::
- text "No time left for"
- line "linking today."
- done
-
-UnknownText_0x1c4508::
- text "Pick three #MON"
- line "for battle."
- done
-
-UnknownText_0x1c4525::
- text "Today's remaining"
- line "time is @"
- deciram StringBuffer2, 1, 2
- text " min."
- done
-
-UnknownText_0x1c454b::
- text "Would you like to"
- line "save the game?"
- done
-
-UnknownText_0x1c456d::
- text "SAVING… DON'T TURN"
- line "OFF THE POWER."
- done
-
-UnknownText_0x1c4590::
- text "<PLAYER> saved"
- line "the game."
- done
-
-UnknownText_0x1c45a3::
- text "There is already a"
- line "save file. Is it"
- cont "OK to overwrite?"
- done
-
-UnknownText_0x1c45d9::
- text "There is another"
- line "save file. Is it"
- cont "OK to overwrite?"
- done
-
-UnknownText_0x1c460d::
- text "The save file is"
- line "corrupted!"
- prompt
-
-UnknownText_0x1c462a::
- text "When you change a"
- line "#MON BOX, data"
- cont "will be saved. OK?"
- done
-
-UnknownText_0x1c465f::
- text "Each time you move"
- line "a #MON, data"
- cont "will be saved. OK?"
- done
-
-UnknownText_0x1c4693::
- text "The window save"
- line "area was exceeded."
- done
-
-UnknownText_0x1c46b7::
- text "No windows avail-"
- line "able for popping."
- done
-
-UnknownText_0x1c46dc::
- text "Corrupted event!"
- prompt
-
-_ObjectEventText::
- text "Object event"
- done
-
-UnknownText_0x1c46fc::
- text "BG event"
- done
-
-UnknownText_0x1c4706::
- text "Coordinates event"
- done
-
-UnknownText_0x1c4719::
- text "<PLAYER> received"
- line "@"
- text_from_ram StringBuffer4
- text "."
- done
-
-UnknownText_0x1c472c::
- text "<PLAYER> put the"
- line "@"
- text_from_ram StringBuffer1
- text " in"
- cont "the @"
- text_from_ram StringBuffer3
- text "."
- prompt
-
-UnknownText_0x1c474b::
- text "The @"
- text_from_ram StringBuffer3
- text ""
- line "is full…"
- prompt
-
-UnknownText_0x1c475f::
- text "I see all."
- line "I know all…"
-
- para "Certainly, I know"
- line "of your #MON!"
- done
-
-UnknownText_0x1c4797::
- text "Whaaaat? I can't"
- line "tell a thing!"
-
- para "How could I not"
- line "know of this?"
- done
-
-UnknownText_0x1c47d4::
- text "Hm… I see you met"
- line "@"
- text_from_ram wSeerNickname
- text " here:"
- cont "@"
- text_from_ram wSeerCaughtLocation
- text "!"
- prompt
-
-UnknownText_0x1c47fa::
- text "The time was"
- line "@"
- text_from_ram wSeerTimeOfDay
- text "!"
-
- para "Its level was @"
- text_from_ram wSeerCaughtLevelString
- text "!"
-
- para "Am I good or what?"
- prompt
-
-UnknownText_0x1c4837::
- text "Hm… @"
- text_from_ram wSeerNickname
- text ""
- line "came from @"
- text_from_ram wSeerOTName
- text ""
- cont "in a trade?"
-
- para "@"
- text_from_ram wSeerCaughtLocation
- text ""
- line "was where @"
- text_from_ram wSeerOTName
- text ""
- cont "met @"
- text_from_ram wSeerNickname
- text "!"
- prompt
-
-UnknownText_0x1c487f::
- text "What!? Incredible!"
-
- para "I don't understand"
- line "how, but it is"
-
- para "incredible!"
- line "You are special."
-
- para "I can't tell where"
- line "you met it, but it"
- cont "was at level @"
- text_from_ram wSeerCaughtLevelString
- text "."
-
- para "Am I good or what?"
- prompt
-
-UnknownText_0x1c491d::
- text "Hey!"
-
- para "That's an EGG!"
-
- para "You can't say that"
- line "you've met it yet…"
- done
-
-UnknownText_0x1c4955::
- text "Fufufu! I saw that"
- line "you'd do nothing!"
- done
-
-UnknownText_0x1c497a::
- text "Incidentally…"
-
- para "It would be wise"
- line "to raise your"
-
- para "#MON with a"
- line "little more care."
- done
-
-UnknownText_0x1c49c6::
- text "Incidentally…"
-
- para "It seems to have"
- line "grown a little."
-
- para "@"
- text_from_ram wSeerNickname
- text " seems"
- line "to be becoming"
- cont "more confident."
- done
-
-UnknownText_0x1c4a21::
- text "Incidentally…"
-
- para "@"
- text_from_ram wSeerNickname
- text " has"
- line "grown. It's gained"
- cont "much strength."
- done
-
-UnknownText_0x1c4a5b::
- text "Incidentally…"
-
- para "It certainly has"
- line "grown mighty!"
-
- para "This @"
- text_from_ram wSeerNickname
- text ""
- line "must have come"
-
- para "through numerous"
- line "#MON battles."
-
- para "It looks brimming"
- line "with confidence."
- done
-
-UnknownText_0x1c4ae5::
- text "Incidentally…"
-
- para "I'm impressed by"
- line "your dedication."
-
- para "It's been a long"
- line "time since I've"
-
- para "seen a #MON as"
- line "mighty as this"
- cont "@"
- text_from_ram wSeerNickname
- text "."
-
- para "I'm sure that"
- line "seeing @"
- text_from_ram wSeerNickname
- text ""
- para "in battle would"
- line "excite anyone."
- done
-
-UnknownText_0x1c4b92::
- text "Congratulations!"
- line "Your @"
- text_from_ram StringBuffer2
- db "@@"
-
-UnknownText_0x1c4baf::
- text ""
- para "evolved into"
- line "@"
- text_from_ram StringBuffer1
- text "!"
- done
-
-UnknownText_0x1c4bc5::
- text "Huh? @"
- text_from_ram StringBuffer2
- text ""
- line "stopped evolving!"
- prompt
-
-UnknownText_0x1c4be3::
- text "What? @"
- text_from_ram StringBuffer2
- text ""
- line "is evolving!"
- done
-
-UnknownText_0x1c4bfd::
- text "How many?"
- done
-
-UnknownText_0x1c4c08::
- deciram wItemQuantityChangeBuffer, 1, 2
- text " @"
- text_from_ram StringBuffer2
- text "(S)"
- line "will be ¥@"
- deciram hMoneyTemp, 3, 6
- text "."
- done
-
-UnknownText_0x1c4c28::
- text "Hello, dear."
-
- para "I sell inexpensive"
- line "herbal medicine."
-
- para "They're good, but"
- line "a trifle bitter."
-
- para "Your #MON may"
- line "not like them."
-
- para "Hehehehe…"
- done
-
-UnknownText_0x1c4ca3::
- text "How many?"
- done
-
-UnknownText_0x1c4cae::
- deciram wItemQuantityChangeBuffer, 1, 2
- text " @"
- text_from_ram StringBuffer2
- text "(S)"
- line "will be ¥@"
- deciram hMoneyTemp, 3, 6
- text "."
- done
-
-UnknownText_0x1c4cce::
- text "Thank you, dear."
- line "Hehehehe…"
- done
-
-UnknownText_0x1c4cea::
- text "Oh? Your PACK is"
- line "full, dear."
- done
-
-UnknownText_0x1c4d08::
- text "Hehehe… You don't"
- line "have the money."
- done
-
-UnknownText_0x1c4d2a::
- text "Come again, dear."
- line "Hehehehe…"
- done
-
-UnknownText_0x1c4d47::
- text "Hiya! Care to see"
- line "some bargains?"
-
- para "I sell rare items"
- line "that nobody else"
-
- para "carries--but only"
- line "one of each item."
- done
-
-UnknownText_0x1c4db0::
- text_from_ram StringBuffer2
- text " costs"
- line "¥@"
- deciram hMoneyTemp, 3, 6
- text ". Want it?"
- done
-
-UnknownText_0x1c4dcd::
- text "Thanks."
- done
-
-UnknownText_0x1c4dd6::
- text "Uh-oh, your PACK"
- line "is chock-full."
- done
-
-UnknownText_0x1c4df7::
- text "You bought that"
- line "already. I'm all"
- cont "sold out of it."
- done
-
-UnknownText_0x1c4e28::
- text "Uh-oh, you're"
- line "short on funds."
- done
-
-UnknownText_0x1c4e46::
- text "Come by again"
- line "sometime."
- done
-
-UnknownText_0x1c4e5f::
- text "What's up? Need"
- line "some medicine?"
- done
-
-UnknownText_0x1c4e7e::
- text "How many?"
- done
-
-UnknownText_0x1c4e89::
- deciram wItemQuantityChangeBuffer, 1, 2
- text " @"
- text_from_ram StringBuffer2
- text "(S)"
- line "will cost ¥@"
- deciram hMoneyTemp, 3, 6
- text "."
- done
-
-UnknownText_0x1c4eab::
- text "Thanks much!"
- done
-
-UnknownText_0x1c4eb9::
- text "You don't have any"
- line "more space."
- done
-
-UnknownText_0x1c4ed8::
- text "Huh? That's not"
- line "enough money."
- done
-
-UnknownText_0x1c4ef6::
- text "All right."
- line "See you around."
- done
-
-UnknownText_0x1c4f12::
- text "You don't have"
- line "anything to sell."
- prompt
-
-UnknownText_0x1c4f33::
- text "How many?"
- done
-
-UnknownText_0x1c4f3e::
- text "I can pay you"
- line "¥@"
- deciram hMoneyTemp, 3, 6
- text "."
-
- para "Is that OK?"
- done
-
-UnknownText_0x1c4f62::
- text "Welcome! How may I"
- line "help you?"
- done
-
-UnknownText_0x1c4f80::
- text "Here you are."
- line "Thank you!"
- done
-
-UnknownText_0x1c4f9a::
- text "You don't have"
- line "enough money."
- done
-
-UnknownText_0x1c4fb7::
- text "You can't carry"
- line "any more items."
- done
-
-UnknownText_0x1c4fd7::
- text "Sorry, I can't buy"
- line "that from you."
- prompt
-
-UnknownText_0x1c4ff9::
- text "Please come again!"
- done
-
-UnknownText_0x1c500d::
- text "Can I do anything"
- line "else for you?"
- done
-
-UnknownText_0x1c502e::
- text "Got ¥@"
- deciram hMoneyTemp, 3, 6
- text " for"
- line "@"
- text_from_ram StringBuffer2
- text "(S)."
- done
-
-UnknownText_0x1c5049::
- text "Bet how many"
- line "coins?"
- done
diff --git a/text/common_text.asm b/text/common_text.asm
deleted file mode 100644
index d21685480..000000000
--- a/text/common_text.asm
+++ /dev/null
@@ -1,18 +0,0 @@
-INCLUDE "includes.asm"
-
-
-SECTION "Text 1", ROMX
-
-INCLUDE "text/common_1.asm"
-
-
-SECTION "Text 2", ROMX
-
-INCLUDE "text/common_2.asm"
-INCLUDE "text/common_3.asm"
-
-
-SECTION "Text 3", ROMX
-
-INCLUDE "text/common_4.asm"
-INCLUDE "text/common_5.asm"
diff --git a/tilesets/data.asm b/tilesets/data.asm
deleted file mode 100644
index c26b7d3d1..000000000
--- a/tilesets/data.asm
+++ /dev/null
@@ -1,429 +0,0 @@
-SECTION "Tileset Data 1", ROMX
-
-TilesetKantoGFX: ; 0x18000
-INCBIN "gfx/tilesets/kanto.2bpp.lz"
-; 0x18606
-
-TilesetKantoMeta: ; 0x18606
-INCBIN "tilesets/kanto_metatiles.bin"
-; 0x18e06
-
-TilesetKantoColl: ; 0x18e06
-INCLUDE "tilesets/kanto_collision.asm"
-; 0x19006
-
-Tileset0GFX: ; 0x19006
-TilesetJohto1GFX: ; 0x19006
-INCBIN "gfx/tilesets/johto_1.2bpp.lz"
-; 0x19c0e
-
-Tileset0Meta: ; 0x19c0e
-TilesetJohto1Meta: ; 0x19c0e
-INCBIN "tilesets/johto_1_metatiles.bin"
-; 0x1a40e
-
-Tileset0Coll: ; 0x1a40e
-TilesetJohto1Coll: ; 0x1a40e
-INCLUDE "tilesets/johto_1_collision.asm"
-; 0x1a60e
-
-TilesetIcePathGFX: ; 0x1a60e
-INCBIN "gfx/tilesets/ice_path.2bpp.lz"
-; 0x1af3e
-
-TilesetIcePathMeta: ; 0x1af3e
-INCBIN "tilesets/ice_path_metatiles.bin"
-; 0x1b33e
-
-TilesetIcePathColl: ; 0x1b33e
-INCLUDE "tilesets/ice_path_collision.asm"
-; 0x1b43e
-
-TilesetPlayersHouse2FGFX: ; 0x1b43e
-INCBIN "gfx/tilesets/players_house_2f.2bpp.lz"
-; 0x1b8fe
-
-TilesetPlayersHouse2FMeta: ; 0x1b8fe
-INCBIN "tilesets/players_house_2f_metatiles.bin"
-; 0x1bcfe
-
-TilesetPlayersHouse2FColl: ; 0x1bcfe
-INCLUDE "tilesets/players_house_2f_collision.asm"
-; 0x1bdfe
-
-
-SECTION "Tileset Data 2", ROMX
-
-TilesetPokecenterGFX: ; 0x1c30c
-INCBIN "gfx/tilesets/pokecenter.2bpp.lz"
-; 0x1c73c
-
-TilesetPokecenterMeta: ; 0x1c73c
-INCBIN "tilesets/pokecenter_metatiles.bin"
-; 0x1cb3c
-
-TilesetPokecenterColl: ; 0x1cb3c
-INCLUDE "tilesets/pokecenter_collision.asm"
-; 0x1cc3c
-
-TilesetPortGFX: ; 0x1cc3c
-INCBIN "gfx/tilesets/port.2bpp.lz"
-; 0x1d04c
-
-TilesetPortMeta: ; 0x1d04c
-INCBIN "tilesets/port_metatiles.bin"
-; 0x1d44c
-
-TilesetPortColl: ; 0x1d44c
-INCLUDE "tilesets/port_collision.asm"
-; 0x1d54c
-
-TilesetPlayersHouseGFX: ; 0x1d54c
-INCBIN "gfx/tilesets/players_house.2bpp.lz"
-; 0x1d92c
-
-TilesetPlayersHouseMeta: ; 0x1d92c
-INCBIN "tilesets/players_house_metatiles.bin"
-; 0x1dd2c
-
-TilesetPlayersHouseColl: ; 0x1dd2c
-INCLUDE "tilesets/players_house_collision.asm"
-; 0x1de2c
-
-TilesetCeladonMansionGFX: ; 0x1de2c
-INCBIN "gfx/tilesets/celadon_mansion.2bpp.lz"
-; 0x1e58c
-
-TilesetCeladonMansionMeta: ; 0x1e58c
-INCBIN "tilesets/celadon_mansion_metatiles.bin"
-; 0x1e98c
-
-TilesetCeladonMansionColl: ; 0x1e98c
-INCLUDE "tilesets/celadon_mansion_collision.asm"
-; 0x1ea8c
-
-TilesetCaveGFX: ; 0x1ea8c
-INCBIN "gfx/tilesets/cave.2bpp.lz"
-; 0x1ee1c
-
-TilesetCaveMeta: ; 0x1ee1c
-TilesetWhirlIslandsMeta: ; 0x1ee1c
-INCBIN "tilesets/cave_metatiles.bin"
-; 0x1f21c
-
-TilesetCaveColl: ; 0x1f21c
-TilesetWhirlIslandsColl: ; 0x1f21c
-INCLUDE "tilesets/cave_collision.asm"
-; 0x1f31c
-
-
-SECTION "Tileset Data 3", ROMX
-
-TilesetSproutTowerGFX: ; 0x20181
-INCBIN "gfx/tilesets/sprout_tower.2bpp.lz"
-; 0x206e1
-
-TilesetSproutTowerMeta: ; 0x206e1
-INCBIN "tilesets/sprout_tower_metatiles.bin"
-; 0x20ae1
-
-TilesetSproutTowerColl: ; 0x20ae1
-INCLUDE "tilesets/sprout_tower_collision.asm"
-; 0x20be1
-
-TilesetLabGFX: ; 0x20be1
-INCBIN "gfx/tilesets/lab.2bpp.lz"
-; 0x213e1
-
-TilesetLabMeta: ; 0x213e1
-INCBIN "tilesets/lab_metatiles.bin"
-; 0x217e1
-
-TilesetLabColl: ; 0x217e1
-INCLUDE "tilesets/lab_collision.asm"
-; 0x218e1
-
-TilesetMartGFX: ; 0x218e1
-INCBIN "gfx/tilesets/mart.2bpp.lz"
-; 0x22031
-
-TilesetMartMeta: ; 0x22031
-INCBIN "tilesets/mart_metatiles.bin"
-; 0x22431
-
-TilesetMartColl: ; 0x22431
-INCLUDE "tilesets/mart_collision.asm"
-; 0x22531
-
-TilesetGameCornerGFX: ; 0x22531
-INCBIN "gfx/tilesets/game_corner.2bpp.lz"
-; 0x22af1
-
-TilesetGameCornerMeta: ; 0x22af1
-INCBIN "tilesets/game_corner_metatiles.bin"
-; 0x22ef1
-
-TilesetGameCornerColl: ; 0x22ef1
-INCLUDE "tilesets/game_corner_collision.asm"
-; 0x22ff1
-
-TilesetTrainStationGFX: ; 0x22ff1
-INCBIN "gfx/tilesets/train_station.2bpp.lz"
-; 0x23391
-
-TilesetTrainStationMeta: ; 0x23391
-INCBIN "tilesets/train_station_metatiles.bin"
-; 0x23791
-
-TilesetTrainStationColl: ; 0x23791
-INCLUDE "tilesets/train_station_collision.asm"
-; 0x23891
-
-TilesetIlexForestMeta: ; 0x23891
-INCBIN "tilesets/ilex_forest_metatiles.bin"
-; 0x23b11
-
-
-SECTION "Tileset Data 4", ROMX
-
-TilesetGym1GFX: ; 0x30000
-INCBIN "gfx/tilesets/gym_1.2bpp.lz"
-; 0x304e0
-
-TilesetGym1Meta: ; 0x304e0
-INCBIN "tilesets/gym_1_metatiles.bin"
-; 0x308e0
-
-TilesetGym1Coll: ; 0x308e0
-INCLUDE "tilesets/gym_1_collision.asm"
-; 0x309e0
-
-TilesetParkGFX: ; 0x309e0
-INCBIN "gfx/tilesets/park.2bpp.lz"
-; 0x30e80
-
-TilesetParkMeta: ; 0x30e80
-INCBIN "tilesets/park_metatiles.bin"
-; 0x31280
-
-TilesetParkColl: ; 0x31280
-INCLUDE "tilesets/park_collision.asm"
-; 0x31380
-
-TilesetRadioTowerGFX: ; 0x31380
-INCBIN "gfx/tilesets/radio_tower.2bpp.lz"
-; 0x318e0
-
-TilesetRadioTowerMeta: ; 0x318e0
-INCBIN "tilesets/radio_tower_metatiles.bin"
-; 0x31ce0
-
-TilesetRadioTowerColl: ; 0x31ce0
-INCLUDE "tilesets/radio_tower_collision.asm"
-; 0x31de0
-
-TilesetUndergroundGFX: ; 0x31de0
-INCBIN "gfx/tilesets/underground.2bpp.lz"
-; 0x321b0
-
-TilesetUndergroundMeta: ; 0x321b0
-INCBIN "tilesets/underground_metatiles.bin"
-; 0x325b0
-
-TilesetUndergroundColl: ; 0x325b0
-INCLUDE "tilesets/underground_collision.asm"
-; 0x326b0
-
-TilesetWhirlIslandsGFX: ; 0x326b0
-INCBIN "gfx/tilesets/whirl_islands.2bpp.lz"
-; 0x329f0
-
-UnusedTilesetWhirlIslandsMeta: ; 0x329f0
-INCBIN "tilesets/unused_whirl_islands_metatiles.bin"
-; 0x331f0
-
-UnusedTilesetWhirlIslandsColl: ; 0x331f0
-INCLUDE "tilesets/unused_whirl_islands_collision.asm"
-; 0x333f0
-
-
-SECTION "Tileset Data 5", ROMX
-
-TilesetPokeComCenterGFX: ; 0xb4000
-INCBIN "gfx/tilesets/pokecom_center.2bpp.lz"
-; 0xb48a0
-
-TilesetPokeComCenterMeta: ; 0xb48a0
-INCBIN "tilesets/pokecom_center_metatiles.bin"
-; 0xb4ca0
-
-TilesetPokeComCenterColl: ; 0xb4ca0
-INCLUDE "tilesets/pokecom_center_collision.asm"
-; 0xb4da0
-
-TilesetBattleTowerGFX: ; 0xb4da0
-INCBIN "gfx/tilesets/battle_tower.2bpp.lz"
-; 0xb50e0
-
-TilesetBattleTowerMeta: ; 0xb50e0
-INCBIN "tilesets/battle_tower_metatiles.bin"
-; 0xb54e0
-
-TilesetBattleTowerColl: ; 0xb54e0
-INCLUDE "tilesets/battle_tower_collision.asm"
-; 0xb55e0
-
-TilesetGateGFX: ; 0xb55e0
-INCBIN "gfx/tilesets/gate.2bpp.lz"
-; 0xb59e0
-
-TilesetGateMeta: ; 0xb59e0
-INCBIN "tilesets/gate_metatiles.bin"
-; 0xb5de0
-
-TilesetGateColl: ; 0xb5de0
-INCLUDE "tilesets/gate_collision.asm"
-; 0xb5ee0
-
-TilesetJohto2GFX: ; 0xb5ee0
-TilesetBattleTowerOutsideGFX: ; 0xb5ee0
-INCBIN "gfx/tilesets/johto_2.2bpp.lz"
-; 0xb6ae8
-
-TilesetJohto2Meta: ; 0xb6ae8
-INCBIN "tilesets/johto_2_metatiles.bin"
-; 0xb72e8
-
-TilesetJohto2Coll: ; 0xb72e8
-INCLUDE "tilesets/johto_2_collision.asm"
-; 0xb74e8
-
-TilesetKurtsHouseGFX: ; 0xb74e8
-INCBIN "gfx/tilesets/kurts_house.2bpp.lz"
-; 0xb79a8
-
-TilesetKurtsHouseMeta: ; 0xb79a8
-INCBIN "tilesets/kurts_house_metatiles.bin"
-; 0xb7da8
-
-TilesetKurtsHouseColl: ; 0xb7da8
-INCLUDE "tilesets/kurts_house_collision.asm"
-; 0xb7ea8
-
-
-SECTION "Tileset Data 6", ROMX
-
-TilesetIlexForestGFX: ; 0xdc000
-INCBIN "gfx/tilesets/ilex_forest.2bpp.lz"
-; 0xdc3d0
-
-TilesetOlivineGymGFX: ; 0xdc3d0
-INCBIN "gfx/tilesets/olivine_gym.2bpp.lz"
-; 0xdcc50
-
-TilesetOlivineGymMeta: ; 0xdcc50
-INCBIN "tilesets/olivine_gym_metatiles.bin"
-; 0xdd050
-
-TilesetOlivineGymColl: ; 0xdd050
-INCLUDE "tilesets/olivine_gym_collision.asm"
-; 0xdd150
-
-TilesetHouse1GFX: ; 0xdd150
-INCBIN "gfx/tilesets/house_1.2bpp.lz"
-; 0xdd600
-
-TilesetHouse1Meta: ; 0xdd600
-INCBIN "tilesets/house_1_metatiles.bin"
-; 0xdda00
-
-TilesetHouse1Coll: ; 0xdda00
-INCLUDE "tilesets/house_1_collision.asm"
-; 0xddb00
-
-TilesetLighthouseGFX: ; 0xddb00
-INCBIN "gfx/tilesets/lighthouse.2bpp.lz"
-; 0xddf70
-
-TilesetLighthouseMeta: ; 0xddf70
-INCBIN "tilesets/lighthouse_metatiles.bin"
-; 0xde370
-
-TilesetLighthouseColl: ; 0xde370
-INCLUDE "tilesets/lighthouse_collision.asm"
-; 0xde470
-
-TilesetIlexForestColl: ; 0xde470
-INCLUDE "tilesets/ilex_forest_collision.asm"
-; 0xde570
-
-TilesetPowerPlantGFX: ; 0xde570
-INCBIN "gfx/tilesets/power_plant.2bpp.lz"
-; 0xde990
-
-TilesetPowerPlantMeta: ; 0xde990
-INCBIN "tilesets/power_plant_metatiles.bin"
-; 0xded90
-
-TilesetPowerPlantColl: ; 0xded90
-INCLUDE "tilesets/power_plant_collision.asm"
-; 0xdee90
-
-TilesetBattleTowerOutsideMeta: ; 0xdee90
-INCBIN "tilesets/battle_tower_outside_metatiles.bin"
-; 0xdf690
-
-TilesetBattleTowerOutsideColl: ; 0xdf690
-INCLUDE "tilesets/battle_tower_outside_collision.asm"
-; 0xdf890
-
-TilesetBetaWordRoomMeta: ; 0xdf890
-INCBIN "tilesets/beta_word_room_metatiles.bin"
-; 0xdfc90
-
-TilesetBetaWordRoomColl: ; 0xdfc90
-TilesetHoOhWordRoomColl: ; 0xdfc90
-TilesetKabutoWordRoomColl: ; 0xdfc90
-TilesetOmanyteWordRoomColl: ; 0xdfc90
-TilesetAerodactylWordRoomColl: ; 0xdfc90
-INCLUDE "tilesets/beta_word_room_collision.asm"
-; 0xdfd90
-
-
-SECTION "Tileset Data 7", ROMX
-
-TilesetRuinsOfAlphGFX: ; 0x1dc5a1
-TilesetBetaWordRoomGFX: ; 0x1dc5a1
-TilesetHoOhWordRoomGFX: ; 0x1dc5a1
-TilesetKabutoWordRoomGFX: ; 0x1dc5a1
-TilesetOmanyteWordRoomGFX: ; 0x1dc5a1
-TilesetAerodactylWordRoomGFX: ; 0x1dc5a1
-INCBIN "gfx/tilesets/ruins_of_alph.2bpp.lz"
-; 0x1dd1a9
-
-TilesetRuinsOfAlphMeta: ; 0x1dd1a9
-INCBIN "tilesets/ruins_of_alph_metatiles.bin"
-; 0x1dd5a9
-
-TilesetRuinsOfAlphColl: ; 0x1dd5a9
-INCLUDE "tilesets/ruins_of_alph_collision.asm"
-; 0x1dd6a9
-
-
-SECTION "Tileset Data 8", ROMX
-
-TilesetHoOhWordRoomMeta: ; 0x1e0000
-INCBIN "tilesets/ho_oh_word_room_metatiles.bin"
-; 0x1e0400
-
-TilesetKabutoWordRoomMeta: ; 0x1e0400
-INCBIN "tilesets/kabuto_word_room_metatiles.bin"
-; 0x1e0800
-
-TilesetOmanyteWordRoomMeta: ; 0x1e0800
-INCBIN "tilesets/omanyte_word_room_metatiles.bin"
-; 0x1e0c00
-
-TilesetAerodactylWordRoomMeta: ; 0x1e0c00
-INCBIN "tilesets/aerodactyl_word_room_metatiles.bin"
-; 0x1e1000
diff --git a/tilesets/palette_maps.asm b/tilesets/palette_maps.asm
deleted file mode 100644
index 55391aeac..000000000
--- a/tilesets/palette_maps.asm
+++ /dev/null
@@ -1,130 +0,0 @@
-TilesetKantoPalMap: ; 0x4c075
-INCLUDE "tilesets/kanto_palette_map.asm"
-; 0x4c0e5
-
-Tileset0PalMap: ; 0x4c0e5
-TilesetJohto1PalMap: ; 0x4c0e5
-INCLUDE "tilesets/johto_1_palette_map.asm"
-; 0x4c155
-
-TilesetJohto2PalMap: ; 0x4c155
-INCLUDE "tilesets/johto_2_palette_map.asm"
-; 0x4c1c5
-
-TilesetHouse1PalMap: ; 0x4c1c5
-INCLUDE "tilesets/house_1_palette_map.asm"
-; 0x4c235
-
-TilesetPlayersHousePalMap: ; 0x4c235
-INCLUDE "tilesets/players_house_palette_map.asm"
-; 0x4c2a5
-
-TilesetPokecenterPalMap: ; 0x4c2a5
-INCLUDE "tilesets/pokecenter_palette_map.asm"
-; 0x4c315
-
-TilesetGatePalMap: ; 0x4c315
-INCLUDE "tilesets/gate_palette_map.asm"
-; 0x4c385
-
-TilesetPortPalMap: ; 0x4c385
-INCLUDE "tilesets/port_palette_map.asm"
-; 0x4c3f5
-
-TilesetLabPalMap: ; 0x4c3f5
-INCLUDE "tilesets/lab_palette_map.asm"
-; 0x4c465
-
-TilesetPowerPlantPalMap: ; 0x4c465
-INCLUDE "tilesets/power_plant_palette_map.asm"
-; 0x4c4d5
-
-TilesetMartPalMap: ; 0x4c4d5
-INCLUDE "tilesets/mart_palette_map.asm"
-; 0x4c545
-
-TilesetCeladonMansionPalMap: ; 0x4c545
-INCLUDE "tilesets/celadon_mansion_palette_map.asm"
-; 0x4c5b5
-
-TilesetGameCornerPalMap: ; 0x4c5b5
-INCLUDE "tilesets/game_corner_palette_map.asm"
-; 0x4c625
-
-TilesetGym1PalMap: ; 0x4c625
-INCLUDE "tilesets/gym_1_palette_map.asm"
-; 0x4c695
-
-TilesetKurtsHousePalMap: ; 0x4c695
-INCLUDE "tilesets/kurts_house_palette_map.asm"
-; 0x4c705
-
-TilesetSproutTowerPalMap: ; 0x4c705
-INCLUDE "tilesets/sprout_tower_palette_map.asm"
-; 0x4c775
-
-TilesetCavePalMap: ; 0x4c775
-TilesetWhirlIslandsPalMap: ; 0x4c775
-INCLUDE "tilesets/cave_palette_map.asm"
-; 0x4c7e5
-
-TilesetParkPalMap: ; 0x4c7e5
-INCLUDE "tilesets/park_palette_map.asm"
-; 0x4c855
-
-TilesetRuinsOfAlphPalMap: ; 0x4c855
-TilesetBetaWordRoomPalMap: ; 0x4c855
-TilesetHoOhWordRoomPalMap: ; 0x4c855
-TilesetKabutoWordRoomPalMap: ; 0x4c855
-TilesetOmanyteWordRoomPalMap: ; 0x4c855
-TilesetAerodactylWordRoomPalMap: ; 0x4c855
-INCLUDE "tilesets/ruins_of_alph_palette_map.asm"
-; 0x4c8c5
-
-TilesetRadioTowerPalMap: ; 0x4c8c5
-INCLUDE "tilesets/radio_tower_palette_map.asm"
-; 0x4c935
-
-TilesetTrainStationPalMap: ; 0x4c935
-INCLUDE "tilesets/train_station_palette_map.asm"
-; 0x4c9a5
-
-TilesetUndergroundPalMap: ; 0x4c9a5
-INCLUDE "tilesets/underground_palette_map.asm"
-; 0x4ca15
-
-TilesetOlivineGymPalMap: ; 0x4ca15
-INCLUDE "tilesets/olivine_gym_palette_map.asm"
-; 0x4ca85
-
-TilesetLighthousePalMap: ; 0x4ca85
-INCLUDE "tilesets/lighthouse_palette_map.asm"
-; 0x4caf5
-
-TilesetPlayersHouse2FPalMap: ; 0x4caf5
-INCLUDE "tilesets/players_house_2f_palette_map.asm"
-; 0x4cb65
-
-UnusedMuseumPalMap: ; 0x4cb65
-INCLUDE "tilesets/unused_museum_palette_map.asm"
-; 4cbd5
-
-TilesetIcePathPalMap: ; 0x4cbd5
-INCLUDE "tilesets/ice_path_palette_map.asm"
-; 0x4cc45
-
-TilesetIlexForestPalMap: ; 0x4cc45
-INCLUDE "tilesets/ilex_forest_palette_map.asm"
-; 0x4ccb5
-
-TilesetPokeComCenterPalMap: ; 0x4ccb5
-INCLUDE "tilesets/pokecom_center_palette_map.asm"
-; 0x4cd25
-
-TilesetBattleTowerPalMap: ; 0x4cd25
-INCLUDE "tilesets/battle_tower_palette_map.asm"
-; 0x4cd95
-
-TilesetBattleTowerOutsidePalMap: ; 0x4cd95
-INCLUDE "tilesets/battle_tower_outside_palette_map.asm"
-; 0x4ce05
diff --git a/tools/sort_symfile.sh b/tools/sort_symfile.sh
new file mode 100755
index 000000000..d53150faa
--- /dev/null
+++ b/tools/sort_symfile.sh
@@ -0,0 +1,10 @@
+#!/bin/sh
+sed $1 \
+ -e "s/^..:[0-3]/0_ROM0@&/g" \
+ -e "s/^..:[4-7]/1_ROMX@&/g" \
+ -e "s/^..:[8-9]/2_VRAM@&/g" \
+ -e "s/^..:[A-B]/3_SRAM@&/g" \
+ -e "s/^00:[C-D]/4_WRAM0@&/g" \
+ -e "s/^..:[D-D]/5_WRAMX@&/g" \
+| sort -o $1
+sed -i $1 -e "s/^\w*@//g"
diff --git a/version.asm b/version.asm
deleted file mode 100644
index b42aceaee..000000000
--- a/version.asm
+++ /dev/null
@@ -1,2 +0,0 @@
-_CRYSTAL EQU 1
-VERSION EQU 0
diff --git a/wram.asm b/wram.asm
index 5b445e5ba..05b91389c 100644
--- a/wram.asm
+++ b/wram.asm
@@ -1,4 +1,4 @@
-INCLUDE "includes.asm"
+INCLUDE "constants.asm"
INCLUDE "macros/wram.asm"
@@ -152,7 +152,7 @@ wMapTimeOfDay:: db
wPrinterConnectionOpen:: db
wPrinterOpcode:: db
-wLastDexEntry:: db
+wPrevDexEntry:: db
wDisableTextAcceleration:: db
wPreviousLandmark:: db
wCurrentLandmark:: db
@@ -303,20 +303,46 @@ wc3fc:: ds 1
SECTION "Sprites", WRAM0
Sprites:: ; c400
-; 4 bytes per sprite
-; 40 sprites
-; struct:
-; y (px)
-; x (px)
-; tile id
-; attributes:
-; bit 7: priority
-; bit 6: y flip
-; bit 5: x flip
-; bit 4: pal # (non-cgb)
-; bit 3: vram bank (cgb only)
-; bit 2-0: pal # (cgb only)
- ds 4 * 40
+Sprite01:: sprite_oam_struct Sprite01
+Sprite02:: sprite_oam_struct Sprite02
+Sprite03:: sprite_oam_struct Sprite03
+Sprite04:: sprite_oam_struct Sprite04
+Sprite05:: sprite_oam_struct Sprite05
+Sprite06:: sprite_oam_struct Sprite06
+Sprite07:: sprite_oam_struct Sprite07
+Sprite08:: sprite_oam_struct Sprite08
+Sprite09:: sprite_oam_struct Sprite09
+Sprite10:: sprite_oam_struct Sprite10
+Sprite11:: sprite_oam_struct Sprite11
+Sprite12:: sprite_oam_struct Sprite12
+Sprite13:: sprite_oam_struct Sprite13
+Sprite14:: sprite_oam_struct Sprite14
+Sprite15:: sprite_oam_struct Sprite15
+Sprite16:: sprite_oam_struct Sprite16
+Sprite17:: sprite_oam_struct Sprite17
+Sprite18:: sprite_oam_struct Sprite18
+Sprite19:: sprite_oam_struct Sprite19
+Sprite20:: sprite_oam_struct Sprite20
+Sprite21:: sprite_oam_struct Sprite21
+Sprite22:: sprite_oam_struct Sprite22
+Sprite23:: sprite_oam_struct Sprite23
+Sprite24:: sprite_oam_struct Sprite24
+Sprite25:: sprite_oam_struct Sprite25
+Sprite26:: sprite_oam_struct Sprite26
+Sprite27:: sprite_oam_struct Sprite27
+Sprite28:: sprite_oam_struct Sprite28
+Sprite29:: sprite_oam_struct Sprite29
+Sprite30:: sprite_oam_struct Sprite30
+Sprite31:: sprite_oam_struct Sprite31
+Sprite32:: sprite_oam_struct Sprite32
+Sprite33:: sprite_oam_struct Sprite33
+Sprite34:: sprite_oam_struct Sprite34
+Sprite35:: sprite_oam_struct Sprite35
+Sprite36:: sprite_oam_struct Sprite36
+Sprite37:: sprite_oam_struct Sprite37
+Sprite38:: sprite_oam_struct Sprite38
+Sprite39:: sprite_oam_struct Sprite39
+Sprite40:: sprite_oam_struct Sprite40
SpritesEnd::
@@ -342,8 +368,8 @@ wMiscEnd::
NEXTU ; c608
; odd egg
wOddEgg:: party_struct OddEgg
-wOddEggName:: ds PKMN_NAME_LENGTH
-wOddEggOTName:: ds PKMN_NAME_LENGTH
+wOddEggName:: ds MON_NAME_LENGTH
+wOddEggOTName:: ds MON_NAME_LENGTH
NEXTU ; c608
; battle tower temp struct
@@ -372,8 +398,8 @@ wBattle::
wEnemyMoveStruct:: move_struct wEnemyMoveStruct ; c608
wPlayerMoveStruct:: move_struct wPlayerMoveStruct ; c60f
-EnemyMonNick:: ds PKMN_NAME_LENGTH ; c616
-BattleMonNick:: ds PKMN_NAME_LENGTH ; c621
+EnemyMonNick:: ds MON_NAME_LENGTH ; c616
+BattleMonNick:: ds MON_NAME_LENGTH ; c621
BattleMon:: battle_struct BattleMon ; c62c
@@ -827,7 +853,7 @@ wDexListingCursorBackup:: db
wBackupDexListingCursor:: db
wBackupDexListingPage:: db
wDexCurrentLocation:: db
-if DEF(CRYSTAL11)
+if DEF(_CRYSTAL11)
wPokedexStatus:: db
wPokedexDataEnd::
else
@@ -851,7 +877,8 @@ wc7d4:: ds 1
ENDU ; c7e8
ENDU ; c7e8
-wc7e8:: ds 24 ; ????
+wc7e8:: ds 24
+wc7e8_End::
SECTION "Overworld Map", WRAM0
@@ -873,7 +900,7 @@ wGameboyPrinter2bppSourceEnd::
wca80:: db
wPrinterRowIndex:: db
-; Printer data header
+; Printer data
wPrinterData:: ds 4
wPrinterChecksum:: dw ; ca86
wPrinterHandshake:: db
@@ -927,7 +954,7 @@ wTimeCapsulePartyMon4:: red_party_struct wTimeCapsulePartyMon4
wTimeCapsulePartyMon5:: red_party_struct wTimeCapsulePartyMon5
wTimeCapsulePartyMon6:: red_party_struct wTimeCapsulePartyMon6
wTimeCapsulePartyMonOTNames:: ds PARTY_LENGTH * NAME_LENGTH
-wTimeCapsulePartyMonNicks:: ds PARTY_LENGTH * PKMN_NAME_LENGTH
+wTimeCapsulePartyMonNicks:: ds PARTY_LENGTH * MON_NAME_LENGTH
wTimeCapsulePlayerDataEnd::
NEXTU ; c813
@@ -940,7 +967,7 @@ wLinkPlayerPartyMon4:: party_struct wLinkPlayerPartyMon4
wLinkPlayerPartyMon5:: party_struct wLinkPlayerPartyMon5
wLinkPlayerPartyMon6:: party_struct wLinkPlayerPartyMon6
wLinkPlayerPartyMonOTNames:: ds PARTY_LENGTH * NAME_LENGTH
-wLinkPlayerPartyMonNicks:: ds PARTY_LENGTH * PKMN_NAME_LENGTH
+wLinkPlayerPartyMonNicks:: ds PARTY_LENGTH * MON_NAME_LENGTH
wLinkPlayerDataEnd::
ENDU ; c9b7
@@ -1202,8 +1229,7 @@ wcd74:: ds 1
wOTMonSelection:: ds 2 ; ds 3
wcd77:: ds 1
-wcd78:: ds 1
-wcd79:: ds 1
+wMobileCrashCheckPointer:: dw
wcd7a:: ds 2
wcd7c:: ds 3
wcd7f:: ds 1
@@ -1276,8 +1302,8 @@ wNamedObjectTypeBuffer:: db
ds 1
-wBattleTowerBattleEnded::
wJumptableIndex::
+wBattleTowerBattleEnded::
db
UNION ; cf64
@@ -1289,7 +1315,11 @@ wcf66:: db
NEXTU ; cf64
; intro and title data
wIntroSceneFrameCounter:: db
+UNION ; cf65
+wIntroSceneTimer:: db
+NEXTU ; cf65
wTitleScreenTimer:: dw
+ENDU
NEXTU ; cf64
; credits data
@@ -1298,10 +1328,31 @@ wCreditsBorderMon:: db
wCreditsLYOverride:: db
NEXTU ; cf64
-; unown puzzle data
-wHoldingUnownPuzzlePiece:: db
-wUnownPuzzleCursorPosition:: db
-wUnownPuzzleHeldPiece:: db
+; pokedex
+wPrevDexEntryJumptableIndex:: db
+if DEF(_CRYSTAL11)
+wPrevDexEntryBackup:: db
+else
+wPrevDexEntryBackup::
+wPokedexStatus:: db
+endc
+
+NEXTU ; cf64
+; pokegear
+wPokegearCard:: db
+wPokegearMapRegion:: db
+
+NEXTU ; cf64
+; pack
+wPackJumptableIndex:: db
+wCurrPocket:: db
+wPackUsedItem:: db
+
+NEXTU ; cf64
+; trainer card badges
+wTrainerCardBadgeFrameCounter:: db
+wTrainerCardBadgeTileID:: db
+wTrainerCardBadgeAttributes:: db
NEXTU ; cf64
; card flip data
@@ -1310,19 +1361,26 @@ wCardFlipCursorX:: db
wCardFlipWhichCard:: db
NEXTU ; cf64
-; pokedex
-wDexEntryPrevJumptableIndex:: db
-if !DEF(CRYSTAL11)
-wPokedexStatus:: db
-endc
+; magnet train
+wMagnetTrainOffset:: db
+wMagnetTrainPosition:: db
+wMagnetTrainWaitCounter:: db
+
+NEXTU ; cf64
+; unown puzzle data
+wHoldingUnownPuzzlePiece:: db
+wUnownPuzzleCursorPosition:: db
+wUnownPuzzleHeldPiece:: db
NEXTU ; cf64
; miscellaneous
+wFrameCounter::
wNrOfBeatenBattleTowerTrainers::
wMomBankDigitCursorPosition::
+wNamingScreenLetterCase::
+wHallOfFameMonCounter::
wSlotsDelay::
db
-wCurrPocket::
wPrinterQueueLength::
db
ENDU ; cf67
@@ -1361,37 +1419,28 @@ wMenuDataBank:: db
wMenuDataHeaderEnd::
wMenuData2::
-UNION ; cf91
; MenuData2
-wMenuData2Flags:: ; cf91
-; bit 7: When set, start printing text one tile to the right of the border
-; In scrolling menus, SELECT is functional
-; bit 6: When set, start printing text one tile below the border
-; In scrolling menus, START is functional
-; bit 5: ????
-; bit 4: ????
-; bit 3: ????
-; bit 2: ????
-; bit 1: Enable Select button
-; bit 0: Disable B button
- db
+
+wMenuData2Flags:: db ; cf91
+
+UNION ; cf92
+; Vertical Menu/DoNthMenu/SetUpMenu
wMenuData2Items:: db ; cf92
wMenuData2IndicesPointer:: dw ; cf94
wMenuData2DisplayFunctionPointer:: dw ; cf96
wMenuData2PointerTableAddr:: dw ; cf97
-NEXTU ; cf91
-; 2D menu
- ds 2 ; cf91
-wMenuData2Spacing:: db ; cf93
+NEXTU ; cf92
+; 2D Menu
+wMenuData2_2DMenuDimensions:: db ; cf92
+wMenuData2_2DMenuSpacing:: db ; cf93
wMenuData2_2DMenuItemStringsBank:: db ; cf94
wMenuData2_2DMenuItemStringsAddr:: dw ; cf96
wMenuData2_2DMenuFunctionBank:: db ; cf97
wMenuData2_2DMenuFunctionAddr:: dw ; cf98
-NEXTU ; cf91
-; scrolling menu
- ds 1 ; cf91
+NEXTU ; cf92
+; Scrolling Menu
wMenuData2_ScrollingMenuHeight:: db ; cf92
wMenuData2_ScrollingMenuWidth:: db ; cf93
wMenuData2_ScrollingMenuSpacing:: db ; cf94
@@ -1408,7 +1457,16 @@ w2DMenuCursorInitY:: db ; cfa1
w2DMenuCursorInitX:: db ; cfa2
w2DMenuNumRows:: db ; cfa3
w2DMenuNumCols:: db ; cfa4
-w2DMenuFlags1:: db ; cfa5
+w2DMenuFlags1:: ; cfa5
+; bit 7: Disable checking of wMenuJoypadFilter
+; bit 6: Enable sprite animations
+; bit 5: Wrap around vertically
+; bit 4: Wrap around horizontally
+; bit 3: Set bit 7 in w2DMenuFlags2 and exit the loop if bit 5 is disabled and we tried to go too far down
+; bit 2: Set bit 7 in w2DMenuFlags2 and exit the loop if bit 5 is disabled and we tried to go too far up
+; bit 1: Set bit 7 in w2DMenuFlags2 and exit the loop if bit 4 is disabled and we tried to go too far left
+; bit 0: Set bit 7 in w2DMenuFlags2 and exit the loop if bit 4 is disabled and we tried to go too far right
+ db
w2DMenuFlags2:: db ; cfa6
w2DMenuCursorOffsets:: db ; cfa7
wMenuJoypadFilter:: db ; cfa8
@@ -1508,7 +1566,7 @@ wDaysSince:: db
SECTION "WRAM 1", WRAMX
-wd000:: ds 1
+wGBCOnlyDecompressBuffer:: ds 1 ; also uses the next $53f bytes for $540 total
DefaultSpawnpoint:: db
@@ -1519,7 +1577,7 @@ wTempMail:: mailmsg wTempMail
NEXTU ; d002
; poke seer
wSeerAction:: db
-wSeerNickname:: ds PKMN_NAME_LENGTH
+wSeerNickname:: ds MON_NAME_LENGTH
wSeerCaughtLocation:: ds 17
wSeerTimeOfDay:: ds NAME_LENGTH
wSeerOTName:: ds NAME_LENGTH
@@ -1531,7 +1589,7 @@ wSeerCaughtGender:: db
NEXTU ; d002
; mon buffer
-wBufferMonNick:: ds PKMN_NAME_LENGTH ; d002
+wBufferMonNick:: ds MON_NAME_LENGTH ; d002
wBufferMonOT:: ds NAME_LENGTH ; d00d
wBufferMon:: party_struct wBufferMon ; d018
ds 8
@@ -1724,7 +1782,7 @@ wBargainShopFlags:: db
NEXTU ; d03e
; trainer data
ds 3
-wTempTrainerHeader::
+wTempTrainer::
wTempTrainerEventFlag:: dw
wTempTrainerClass:: db
wTempTrainerID:: db
@@ -1733,7 +1791,7 @@ wWinTextPointer:: dw
wLossTextPointer:: dw
wScriptAfterPointer:: dw
wRunningTrainerBattleScript:: db
-wTempTrainerHeaderEnd::
+wTempTrainerEnd::
NEXTU ; d03e
; player movement data
@@ -1935,23 +1993,26 @@ wOverworldMapAnchor:: dw ; d194
wMetatileStandingY:: db ; d196
wMetatileStandingX:: db ; d197
-wSecondMapHeaderBank:: db ; d198
+wPartialMapDef::
+wMapDataBank:: db ; d198
wTileset:: db ; d199
wEnvironment:: db ; d19a
-wSecondMapHeaderAddr:: dw ; d19b
+wMapDataPointer:: dw ; d19b
+wPartialMapDefEnd::
-; width/height are in blocks (2x2 walkable tiles, 4x4 graphics tiles)
-MapHeader:: ; d19d
+wMapData:: ; d19d
MapBorderBlock:: db ; d19d
+; width/height are in blocks (2x2 walkable tiles, 4x4 graphics tiles)
MapHeight:: db ; d19e
MapWidth:: db ; d19f
-MapBlockDataBank:: db; d1a0
-MapBlockDataPointer:: dw ; d1a1
-MapScriptHeaderBank:: db ; d1a3
-MapScriptHeaderPointer:: dw ; d1a4
-MapEventHeaderPointer:: dw ; d1a6
+MapBlocksBank:: db; d1a0
+MapBlocksPointer:: dw ; d1a1
+MapScriptsBank:: db ; d1a3
+MapScriptsPointer:: dw ; d1a4
+MapEventsPointer:: dw ; d1a6
; bit set
MapConnections:: db ; d1a8
+wMapDataEnd::
NorthMapConnection:: map_connection_struct North ; d1a9
SouthMapConnection:: map_connection_struct South ; d1b5
@@ -2156,7 +2217,7 @@ OTPartyMon6:: party_struct OTPartyMon6 ; d378
OTPartyMonsEnd::
OTPartyMonOT:: ds NAME_LENGTH * PARTY_LENGTH ; d3a8
-OTPartyMonNicknames:: ds PKMN_NAME_LENGTH * PARTY_LENGTH ; d3ea
+OTPartyMonNicknames:: ds MON_NAME_LENGTH * PARTY_LENGTH ; d3ea
OTPartyDataEnd::
ds 4
@@ -2279,6 +2340,7 @@ StartSecond:: db ; d4b9
wRTC:: ds 8 ; d4ba
wDST:: db ; d4c2
+GameTime::
GameTimeCap:: db ; d4c3
GameTimeHours:: dw ; d4c4
GameTimeMinutes:: db ; d4c6
@@ -2420,7 +2482,7 @@ RegisteredItem:: db ; d95c
PlayerState:: db ; d95d
wHallOfFameCount:: dw
-wTradeFlags:: flag_array 6 ; d960
+wTradeFlags:: flag_array PARTY_LENGTH ; d960
ds 1
MooMooBerries:: db ; d962
UndergroundSwitchPositions:: db ; d963
@@ -2438,9 +2500,9 @@ wCeruleanGymSceneID:: db ; d977
wRoute25SceneID:: db ; d978
wTrainerHouseB1FSceneID:: db ; d979
wVictoryRoadGateSceneID:: db ; d97a
-wSaffronTrainStationSceneID:: db ; d97b
+wSaffronMagnetTrainStationSceneID:: db ; d97b
wRoute16GateSceneID:: db ; d97c
-wRoute1718GateSceneID:: db ; d97d
+wRoute17Route18GateSceneID:: db ; d97d
wIndigoPlateauPokecenter1FSceneID:: db ; d97e
wWillsRoomSceneID:: db ; d97f
wKogasRoomSceneID:: db ; d980
@@ -2572,17 +2634,17 @@ wCurrMapSceneScriptPointer:: dw ; dbf7
wCurrentCaller:: dw ; dbf9
wCurrMapWarpCount:: db ; dbfb
-wCurrMapWarpHeaderPointer:: dw ; dbfc
+wCurrMapWarpsPointer:: dw ; dbfc
wCurrMapCoordEventCount:: db ; dbfe
-wCurrMapCoordEventHeaderPointer:: dw ; dbff
+wCurrMapCoordEventsPointer:: dw ; dbff
wCurrMapBGEventCount:: db ; dc01
-wCurrMapBGEventHeaderPointer:: dw ; dc02
+wCurrMapBGEventsPointer:: dw ; dc02
wCurrMapObjectEventCount:: db ; dc04
-wCurrMapObjectEventHeaderPointer:: dw ; dc05
+wCurrMapObjectEventsPointer:: dw ; dc05
wCurrMapSceneScriptCount:: db ; dc07
-wCurrMapSceneScriptHeaderPointer:: dw ; dc08
+wCurrMapSceneScriptsPointer:: dw ; dc08
wCurrMapCallbackCount:: db ; dc0a
-wCurrMapCallbackHeaderPointer:: dw ; dc0b
+wCurrMapCallbacksPointer:: dw ; dc0b
ds 2
@@ -2661,7 +2723,7 @@ wKurtApricornQuantity:: db
wPlayerDataEnd::
-wMapData::
+wCurrMapData::
wVisitedSpawns:: flag_array NUM_SPAWNS ; dca5
@@ -2687,7 +2749,7 @@ YCoord:: db ; dcb7 ; current y coordinate relative to top-left corner of current
XCoord:: db ; dcb8 ; current x coordinate relative to top-left corner of current map
wScreenSave:: ds 6 * 5
-wMapDataEnd::
+wCurrMapDataEnd::
SECTION "Party", WRAMX
@@ -2708,7 +2770,7 @@ PartyMon6:: party_struct PartyMon6 ; ddcf
PartyMonOT:: ds NAME_LENGTH * PARTY_LENGTH ; ddff
-PartyMonNicknames:: ds PKMN_NAME_LENGTH * PARTY_LENGTH ; de41
+PartyMonNicknames:: ds MON_NAME_LENGTH * PARTY_LENGTH ; de41
PartyMonNicknamesEnd::
ds 22
@@ -2731,7 +2793,7 @@ wDayCareMan:: ; def5
db
wBreedMon1::
-wBreedMon1Nick:: ds PKMN_NAME_LENGTH ; def6
+wBreedMon1Nick:: ds MON_NAME_LENGTH ; def6
wBreedMon1OT:: ds NAME_LENGTH ; df01
wBreedMon1Stats:: box_struct wBreedMon1 ; df0c
@@ -2748,11 +2810,11 @@ wBreedMotherOrNonDitto:: ; df2e
db
wBreedMon2::
-wBreedMon2Nick:: ds PKMN_NAME_LENGTH ; df2f
+wBreedMon2Nick:: ds MON_NAME_LENGTH ; df2f
wBreedMon2OT:: ds NAME_LENGTH ; df3a
wBreedMon2Stats:: box_struct wBreedMon2 ; df45
-wEggNick:: ds PKMN_NAME_LENGTH ; df65
+wEggNick:: ds MON_NAME_LENGTH ; df65
wEggOT:: ds NAME_LENGTH ; df70
wEggMon:: box_struct wEggMon ; df7b
@@ -2787,7 +2849,7 @@ TempTileMap::
; 20x18 grid of 8x8 tiles
ds SCREEN_WIDTH * SCREEN_HEIGHT ; $168 = 360
-; PokeAnim Header
+; PokeAnim data
wPokeAnimSceneIndex:: db
wPokeAnimPointer:: dw
wPokeAnimSpecies:: db
@@ -2826,7 +2888,8 @@ SECTION "Battle Tower RAM", WRAMX
w3_d000:: ds 1 ; d000
w3_d001:: ds 1
w3_d002:: ds $7e
-w3_d080:: ds $10
+w3_d080:: ds 1
+w3_d081:: ds $f
w3_d090:: ds $70
w3_d100::
@@ -2880,6 +2943,7 @@ w3_dffc:: ds 4
SECTION "GBC Video", WRAMX
; eight 4-color palettes each
+wPals::
wBGPals1:: ds 8 palettes ; d000
wOBPals1:: ds 8 palettes ; d040
wBGPals2:: ds 8 palettes ; d080
@@ -2890,6 +2954,7 @@ LYOverridesEnd:: ; d190
ds 1
+wMagnetTrain::
wMagnetTrainDirection:: db
wMagnetTrainInitPosition:: db
wMagnetTrainHoldPosition:: db