shithub: pokecrystal

Download patch

ref: 9ebe549347aa16ae3f10d3261242bb1e7bbb6ca6
parent: c9563d5c5e8e3612ac40d70d6f6f5e03ba231f16
parent: d076159745e688bd58f1e512c4e0fcdd942161e9
author: Rangi <35663410+Rangi42@users.noreply.github.com>
date: Mon Nov 4 14:40:58 EST 2019

Merge pull request #654 from Rangi42/master

Miscellaneous cleanup issues

--- a/Makefile
+++ b/Makefile
@@ -166,6 +166,7 @@
 gfx/mail/litebluemail_border.1bpp: tools/gfx += --remove-whitespace
 
 gfx/pokedex/pokedex.2bpp: tools/gfx += --trim-whitespace
+gfx/pokedex/question_mark.2bpp: rgbgfx += -h
 gfx/pokedex/sgb.2bpp: tools/gfx += --trim-whitespace
 gfx/pokedex/slowpoke.2bpp: tools/gfx += --trim-whitespace
 
--- a/constants/map_object_constants.asm
+++ b/constants/map_object_constants.asm
@@ -34,7 +34,7 @@
 	const OBJECT_1F                  ; 1f
 	const OBJECT_RANGE               ; 20
 	; 21-27 are not used
-OBJECT_STRUCT_LENGTH EQU 40
+OBJECT_LENGTH EQU 40
 NUM_OBJECT_STRUCTS EQU 13 ; see wObjectStructs
 
 ; object_struct OBJECT_FACING values
@@ -114,7 +114,7 @@
 	const MAPOBJECT_FLAG_HI ; d
 	const MAPOBJECT_E ; unused
 	const MAPOBJECT_F ; unused
-OBJECT_LENGTH EQU const_value
+MAPOBJECT_LENGTH EQU const_value
 
 ; SpriteMovementData struct members (see data/sprites/map_objects.asm)
 	const_def
--- a/constants/script_constants.asm
+++ b/constants/script_constants.asm
@@ -92,6 +92,17 @@
 	const PLAYEREVENT_JOYCHANGEFACING
 NUM_PLAYER_EVENTS EQU const_value
 
+; PlayerMovement.pointers indexes (see engine/overworld/events.asm)
+	const_def
+	const PLAYERMOVEMENT_NORMAL
+	const PLAYERMOVEMENT_WARP
+	const PLAYERMOVEMENT_TURN
+	const PLAYERMOVEMENT_FORCE_TURN
+	const PLAYERMOVEMENT_FINISH
+	const PLAYERMOVEMENT_CONTINUE
+	const PLAYERMOVEMENT_EXIT_WATER
+	const PLAYERMOVEMENT_JUMP
+
 ; script data sizes (see macros/scripts/maps.asm)
 SCENE_SCRIPT_SIZE EQU 4 ; scene_script
 CALLBACK_SIZE     EQU 3 ; callback
--- a/constants/text_constants.asm
+++ b/constants/text_constants.asm
@@ -33,12 +33,12 @@
 ; PrintNum bit flags
 	const_def 5
 	const PRINTNUM_MONEY_F        ; 5
-	const PRINTNUM_RIGHTALIGN_F   ; 6
+	const PRINTNUM_LEFTALIGN_F    ; 6
 	const PRINTNUM_LEADINGZEROS_F ; 7
 
 ; PrintNum arguments (see engine/math/print_num.asm)
 PRINTNUM_MONEY          EQU 1 << PRINTNUM_MONEY_F
-PRINTNUM_RIGHTALIGN     EQU 1 << PRINTNUM_RIGHTALIGN_F
+PRINTNUM_LEFTALIGN      EQU 1 << PRINTNUM_LEFTALIGN_F
 PRINTNUM_LEADINGZEROS   EQU 1 << PRINTNUM_LEADINGZEROS_F
 
 ; character sets (see charmap.asm)
--- a/constants/tileset_constants.asm
+++ b/constants/tileset_constants.asm
@@ -21,7 +21,7 @@
 	const TILESET_LIGHTHOUSE           ; 13
 	const TILESET_PLAYERS_ROOM         ; 14
 	const TILESET_POKECOM_CENTER       ; 15
-	const TILESET_BATTLE_TOWER         ; 16
+	const TILESET_BATTLE_TOWER_INSIDE  ; 16
 	const TILESET_TOWER                ; 17
 	const TILESET_CAVE                 ; 18
 	const TILESET_PARK                 ; 19
--- a/data/maps/maps.asm
+++ b/data/maps/maps.asm
@@ -416,10 +416,10 @@
 	map CianwoodPhotoStudio, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
 	map CianwoodLugiaSpeechHouse, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
 	map PokeSeersHouse, TILESET_HOUSE, INDOOR, CIANWOOD_CITY, MUSIC_ECRUTEAK_CITY, FALSE, PALETTE_DAY, FISHGROUP_SHORE
-	map BattleTower1F, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_LOBBY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map BattleTowerBattleRoom, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map BattleTowerElevator, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_NONE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
-	map BattleTowerHallway, TILESET_BATTLE_TOWER, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map BattleTower1F, TILESET_BATTLE_TOWER_INSIDE, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_LOBBY, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map BattleTowerBattleRoom, TILESET_BATTLE_TOWER_INSIDE, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map BattleTowerElevator, TILESET_BATTLE_TOWER_INSIDE, INDOOR, BATTLE_TOWER, MUSIC_NONE, TRUE, PALETTE_DAY, FISHGROUP_SHORE
+	map BattleTowerHallway, TILESET_BATTLE_TOWER_INSIDE, INDOOR, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, TRUE, PALETTE_DAY, FISHGROUP_SHORE
 	map Route40BattleTowerGate, TILESET_GATE, GATE, BATTLE_TOWER, MUSIC_ROUTE_36, FALSE, PALETTE_DAY, FISHGROUP_SHORE
 	map BattleTowerOutside, TILESET_BATTLE_TOWER_OUTSIDE, ROUTE, BATTLE_TOWER, MUSIC_BATTLE_TOWER_THEME, FALSE, PALETTE_AUTO, FISHGROUP_SHORE
 
--- a/data/pokemon/cries.asm
+++ b/data/pokemon/cries.asm
@@ -5,258 +5,258 @@
 
 PokemonCries::
 ; entries correspond to constants/pokemon_constants.asm
-	mon_cry CRY_BULBASAUR,   $080,  $081 ; BULBASAUR
-	mon_cry CRY_BULBASAUR,   $020,  $100 ; IVYSAUR
-	mon_cry CRY_BULBASAUR,   $000,  $140 ; VENUSAUR
-	mon_cry CRY_CHARMANDER,  $060,  $0c0 ; CHARMANDER
-	mon_cry CRY_CHARMANDER,  $020,  $0c0 ; CHARMELEON
-	mon_cry CRY_CHARMANDER,  $000,  $100 ; CHARIZARD
-	mon_cry CRY_SQUIRTLE,    $060,  $0c0 ; SQUIRTLE
-	mon_cry CRY_SQUIRTLE,    $020,  $0c0 ; WARTORTLE
-	mon_cry CRY_BLASTOISE,   $000,  $100 ; BLASTOISE
-	mon_cry CRY_CATERPIE,    $080,  $0a0 ; CATERPIE
-	mon_cry CRY_METAPOD,     $0cc,  $081 ; METAPOD
-	mon_cry CRY_CATERPIE,    $077,  $0c0 ; BUTTERFREE
-	mon_cry CRY_WEEDLE,      $0ee,  $081 ; WEEDLE
-	mon_cry CRY_BLASTOISE,   $0ff,  $081 ; KAKUNA
-	mon_cry CRY_BLASTOISE,   $060,  $100 ; BEEDRILL
-	mon_cry CRY_PIDGEY,      $0df,  $084 ; PIDGEY
-	mon_cry CRY_PIDGEOTTO,   $028,  $140 ; PIDGEOTTO
-	mon_cry CRY_PIDGEOTTO,   $011,  $17f ; PIDGEOT
-	mon_cry CRY_RATTATA,     $000,  $100 ; RATTATA
-	mon_cry CRY_RATTATA,     $020,  $17f ; RATICATE
-	mon_cry CRY_SPEAROW,     $000,  $100 ; SPEAROW
-	mon_cry CRY_FEAROW,      $040,  $120 ; FEAROW
-	mon_cry CRY_EKANS,       $012,  $0c0 ; EKANS
-	mon_cry CRY_EKANS,       $0e0,  $090 ; ARBOK
-	mon_cry CRY_BULBASAUR,   $0ee,  $081 ; PIKACHU
-	mon_cry CRY_RAICHU,      $0ee,  $088 ; RAICHU
-	mon_cry CRY_NIDORAN_M,   $020,  $0c0 ; SANDSHREW
-	mon_cry CRY_NIDORAN_M,   $0ff,  $17f ; SANDSLASH
-	mon_cry CRY_NIDORAN_F,   $000,  $100 ; NIDORAN_F
-	mon_cry CRY_NIDORAN_F,   $02c,  $160 ; NIDORINA
-	mon_cry CRY_NIDOQUEEN,   $000,  $100 ; NIDOQUEEN
-	mon_cry CRY_NIDORAN_M,   $000,  $100 ; NIDORAN_M
-	mon_cry CRY_NIDORAN_M,   $02c,  $140 ; NIDORINO
-	mon_cry CRY_RAICHU,      $000,  $100 ; NIDOKING
-	mon_cry CRY_CLEFAIRY,    $0cc,  $081 ; CLEFAIRY
-	mon_cry CRY_CLEFAIRY,    $0aa,  $0a0 ; CLEFABLE
-	mon_cry CRY_VULPIX,      $04f,  $090 ; VULPIX
-	mon_cry CRY_VULPIX,      $088,  $0e0 ; NINETALES
-	mon_cry CRY_PIDGEY,      $0ff,  $0b5 ; JIGGLYPUFF
-	mon_cry CRY_PIDGEY,      $068,  $0e0 ; WIGGLYTUFF
-	mon_cry CRY_SQUIRTLE,    $0e0,  $100 ; ZUBAT
-	mon_cry CRY_SQUIRTLE,    $0fa,  $100 ; GOLBAT
-	mon_cry CRY_ODDISH,      $0dd,  $081 ; ODDISH
-	mon_cry CRY_ODDISH,      $0aa,  $0c0 ; GLOOM
-	mon_cry CRY_VILEPLUME,   $022,  $17f ; VILEPLUME
-	mon_cry CRY_PARAS,       $020,  $160 ; PARAS
-	mon_cry CRY_PARAS,       $042,  $17f ; PARASECT
-	mon_cry CRY_VENONAT,     $044,  $0c0 ; VENONAT
-	mon_cry CRY_VENONAT,     $029,  $100 ; VENOMOTH
-	mon_cry CRY_DIGLETT,     $0aa,  $081 ; DIGLETT
-	mon_cry CRY_DIGLETT,     $02a,  $090 ; DUGTRIO
-	mon_cry CRY_CLEFAIRY,    $077,  $090 ; MEOWTH
-	mon_cry CRY_CLEFAIRY,    $099,  $17f ; PERSIAN
-	mon_cry CRY_PSYDUCK,     $020,  $0e0 ; PSYDUCK
-	mon_cry CRY_PSYDUCK,     $0ff,  $0c0 ; GOLDUCK
-	mon_cry CRY_NIDOQUEEN,   $0dd,  $0e0 ; MANKEY
-	mon_cry CRY_NIDOQUEEN,   $0af,  $0c0 ; PRIMEAPE
-	mon_cry CRY_GROWLITHE,   $020,  $0c0 ; GROWLITHE
-	mon_cry CRY_WEEDLE,      $000,  $100 ; ARCANINE
-	mon_cry CRY_PIDGEY,      $0ff,  $17f ; POLIWAG
-	mon_cry CRY_PIDGEY,      $077,  $0e0 ; POLIWHIRL
-	mon_cry CRY_PIDGEY,      $000,  $17f ; POLIWRATH
-	mon_cry CRY_METAPOD,     $0c0,  $081 ; ABRA
-	mon_cry CRY_METAPOD,     $0a8,  $140 ; KADABRA
-	mon_cry CRY_METAPOD,     $098,  $17f ; ALAKAZAM
-	mon_cry CRY_GROWLITHE,   $0ee,  $081 ; MACHOP
-	mon_cry CRY_GROWLITHE,   $048,  $0e0 ; MACHOKE
-	mon_cry CRY_GROWLITHE,   $008,  $140 ; MACHAMP
-	mon_cry CRY_PSYDUCK,     $055,  $081 ; BELLSPROUT
-	mon_cry CRY_WEEPINBELL,  $044,  $0a0 ; WEEPINBELL
-	mon_cry CRY_WEEPINBELL,  $066,  $14c ; VICTREEBEL
-	mon_cry CRY_VENONAT,     $000,  $100 ; TENTACOOL
-	mon_cry CRY_VENONAT,     $0ee,  $17f ; TENTACRUEL
-	mon_cry CRY_VULPIX,      $0f0,  $090 ; GEODUDE
-	mon_cry CRY_VULPIX,      $000,  $100 ; GRAVELER
-	mon_cry CRY_GOLEM,       $0e0,  $0c0 ; GOLEM
-	mon_cry CRY_WEEPINBELL,  $000,  $100 ; PONYTA
-	mon_cry CRY_WEEPINBELL,  $020,  $140 ; RAPIDASH
-	mon_cry CRY_SLOWPOKE,    $000,  $100 ; SLOWPOKE
-	mon_cry CRY_GROWLITHE,   $000,  $100 ; SLOWBRO
-	mon_cry CRY_METAPOD,     $080,  $0e0 ; MAGNEMITE
-	mon_cry CRY_METAPOD,     $020,  $140 ; MAGNETON
-	mon_cry CRY_SPEAROW,     $0dd,  $081 ; FARFETCH_D
-	mon_cry CRY_DIGLETT,     $0bb,  $081 ; DODUO
-	mon_cry CRY_DIGLETT,     $099,  $0a0 ; DODRIO
-	mon_cry CRY_SEEL,        $088,  $140 ; SEEL
-	mon_cry CRY_SEEL,        $023,  $17f ; DEWGONG
-	mon_cry CRY_GRIMER,      $000,  $100 ; GRIMER
-	mon_cry CRY_MUK,         $0ef,  $17f ; MUK
-	mon_cry CRY_FEAROW,      $000,  $100 ; SHELLDER
-	mon_cry CRY_FEAROW,      $06f,  $160 ; CLOYSTER
-	mon_cry CRY_METAPOD,     $000,  $100 ; GASTLY
-	mon_cry CRY_METAPOD,     $030,  $0c0 ; HAUNTER
-	mon_cry CRY_MUK,         $000,  $17f ; GENGAR
-	mon_cry CRY_EKANS,       $0ff,  $140 ; ONIX
-	mon_cry CRY_DROWZEE,     $088,  $0a0 ; DROWZEE
-	mon_cry CRY_DROWZEE,     $0ee,  $0c0 ; HYPNO
-	mon_cry CRY_KRABBY,      $020,  $160 ; KRABBY
-	mon_cry CRY_KRABBY,      $0ee,  $160 ; KINGLER
-	mon_cry CRY_VOLTORB,     $0ed,  $100 ; VOLTORB
-	mon_cry CRY_VOLTORB,     $0a8,  $110 ; ELECTRODE
-	mon_cry CRY_DIGLETT,     $000,  $100 ; EXEGGCUTE
-	mon_cry CRY_DROWZEE,     $000,  $100 ; EXEGGUTOR
-	mon_cry CRY_CLEFAIRY,    $000,  $100 ; CUBONE
-	mon_cry CRY_ODDISH,      $04f,  $0e0 ; MAROWAK
-	mon_cry CRY_GOLEM,       $080,  $140 ; HITMONLEE
-	mon_cry CRY_SEEL,        $0ee,  $140 ; HITMONCHAN
-	mon_cry CRY_SEEL,        $000,  $100 ; LICKITUNG
-	mon_cry CRY_GOLEM,       $0e6,  $15d ; KOFFING
-	mon_cry CRY_GOLEM,       $0ff,  $17f ; WEEZING
-	mon_cry CRY_CHARMANDER,  $000,  $100 ; RHYHORN
-	mon_cry CRY_RHYDON,      $000,  $100 ; RHYDON
-	mon_cry CRY_PIDGEOTTO,   $00a,  $140 ; CHANSEY
-	mon_cry CRY_GOLEM,       $000,  $100 ; TANGELA
-	mon_cry CRY_KANGASKHAN,  $000,  $100 ; KANGASKHAN
-	mon_cry CRY_CLEFAIRY,    $099,  $090 ; HORSEA
-	mon_cry CRY_CLEFAIRY,    $03c,  $081 ; SEADRA
-	mon_cry CRY_CATERPIE,    $080,  $0c0 ; GOLDEEN
-	mon_cry CRY_CATERPIE,    $010,  $17f ; SEAKING
-	mon_cry CRY_PARAS,       $002,  $0a0 ; STARYU
-	mon_cry CRY_PARAS,       $000,  $100 ; STARMIE
-	mon_cry CRY_KRABBY,      $008,  $0c0 ; MR__MIME
-	mon_cry CRY_CATERPIE,    $000,  $100 ; SCYTHER
-	mon_cry CRY_DROWZEE,     $0ff,  $17f ; JYNX
-	mon_cry CRY_VOLTORB,     $08f,  $17f ; ELECTABUZZ
-	mon_cry CRY_CHARMANDER,  $0ff,  $0b0 ; MAGMAR
-	mon_cry CRY_PIDGEOTTO,   $000,  $100 ; PINSIR
-	mon_cry CRY_SQUIRTLE,    $011,  $0c0 ; TAUROS
-	mon_cry CRY_EKANS,       $080,  $080 ; MAGIKARP
-	mon_cry CRY_EKANS,       $000,  $100 ; GYARADOS
-	mon_cry CRY_LAPRAS,      $000,  $100 ; LAPRAS
-	mon_cry CRY_PIDGEY,      $0ff,  $17f ; DITTO
-	mon_cry CRY_VENONAT,     $088,  $0e0 ; EEVEE
-	mon_cry CRY_VENONAT,     $0aa,  $17f ; VAPOREON
-	mon_cry CRY_VENONAT,     $03d,  $100 ; JOLTEON
-	mon_cry CRY_VENONAT,     $010,  $0a0 ; FLAREON
-	mon_cry CRY_WEEPINBELL,  $0aa,  $17f ; PORYGON
-	mon_cry CRY_GROWLITHE,   $0f0,  $081 ; OMANYTE
-	mon_cry CRY_GROWLITHE,   $0ff,  $0c0 ; OMASTAR
-	mon_cry CRY_CATERPIE,    $0bb,  $0c0 ; KABUTO
-	mon_cry CRY_FEAROW,      $0ee,  $081 ; KABUTOPS
-	mon_cry CRY_VILEPLUME,   $020,  $170 ; AERODACTYL
-	mon_cry CRY_GRIMER,      $055,  $081 ; SNORLAX
-	mon_cry CRY_RAICHU,      $080,  $0c0 ; ARTICUNO
-	mon_cry CRY_FEAROW,      $0ff,  $100 ; ZAPDOS
-	mon_cry CRY_RAICHU,      $0f8,  $0c0 ; MOLTRES
-	mon_cry CRY_BULBASAUR,   $060,  $0c0 ; DRATINI
-	mon_cry CRY_BULBASAUR,   $040,  $100 ; DRAGONAIR
-	mon_cry CRY_BULBASAUR,   $03c,  $140 ; DRAGONITE
-	mon_cry CRY_PARAS,       $099,  $17f ; MEWTWO
-	mon_cry CRY_PARAS,       $0ee,  $17f ; MEW
-	mon_cry CRY_CHIKORITA,  -$010,  $0b0 ; CHIKORITA
-	mon_cry CRY_CHIKORITA,  -$022,  $120 ; BAYLEEF
-	mon_cry CRY_CHIKORITA,  -$0b7,  $200 ; MEGANIUM
-	mon_cry CRY_CYNDAQUIL,   $347,  $080 ; CYNDAQUIL
-	mon_cry CRY_CYNDAQUIL,   $321,  $120 ; QUILAVA
-	mon_cry CRY_TYPHLOSION,  $f00,  $0d4 ; TYPHLOSION
-	mon_cry CRY_TOTODILE,    $46c,  $0e8 ; TOTODILE
-	mon_cry CRY_TOTODILE,    $440,  $110 ; CROCONAW
-	mon_cry CRY_TOTODILE,    $3fc,  $180 ; FERALIGATR
-	mon_cry CRY_SENTRET,     $08a,  $0b8 ; SENTRET
-	mon_cry CRY_SENTRET,     $06b,  $102 ; FURRET
-	mon_cry CRY_HOOTHOOT,    $091,  $0d8 ; HOOTHOOT
-	mon_cry CRY_HOOTHOOT,    $000,  $1a0 ; NOCTOWL
-	mon_cry CRY_LEDYBA,      $000,  $0de ; LEDYBA
-	mon_cry CRY_LEDYBA,     -$096,  $138 ; LEDIAN
-	mon_cry CRY_SPINARAK,    $011,  $200 ; SPINARAK
-	mon_cry CRY_SPINARAK,   -$0ae,  $1e2 ; ARIADOS
-	mon_cry CRY_SQUIRTLE,   -$010,  $140 ; CROBAT
-	mon_cry CRY_CYNDAQUIL,   $3c9,  $140 ; CHINCHOU
-	mon_cry CRY_CYNDAQUIL,   $2d0,  $110 ; LANTURN
-	mon_cry CRY_PICHU,       $000,  $140 ; PICHU
-	mon_cry CRY_CLEFFA,      $061,  $091 ; CLEFFA
-	mon_cry CRY_CHIKORITA,   $0e8,  $0e8 ; IGGLYBUFF
-	mon_cry CRY_TOGEPI,      $010,  $100 ; TOGEPI
-	mon_cry CRY_TOGETIC,     $03b,  $038 ; TOGETIC
-	mon_cry CRY_NATU,       -$067,  $100 ; NATU
-	mon_cry CRY_NATU,       -$0a7,  $168 ; XATU
-	mon_cry CRY_MAREEP,      $022,  $0d8 ; MAREEP
-	mon_cry CRY_MAREEP,     -$007,  $180 ; FLAAFFY
-	mon_cry CRY_AMPHAROS,   -$07c,  $0e8 ; AMPHAROS
-	mon_cry CRY_CLEFFA,      $084,  $150 ; BELLOSSOM
-	mon_cry CRY_MARILL,      $11b,  $120 ; MARILL
-	mon_cry CRY_MARILL,      $0b6,  $180 ; AZUMARILL
-	mon_cry CRY_CLEFFA,      $f40,  $180 ; SUDOWOODO
-	mon_cry CRY_CLEFFA,     -$2a3,  $1c8 ; POLITOED
-	mon_cry CRY_CLEFFA,      $03b,  $0c8 ; HOPPIP
-	mon_cry CRY_CLEFFA,      $027,  $138 ; SKIPLOOM
-	mon_cry CRY_CLEFFA,      $000,  $180 ; JUMPLUFF
-	mon_cry CRY_AIPOM,      -$051,  $0e8 ; AIPOM
-	mon_cry CRY_MARILL,      $12b,  $0b8 ; SUNKERN
-	mon_cry CRY_SUNFLORA,   -$020,  $180 ; SUNFLORA
-	mon_cry CRY_TOTODILE,    $031,  $0c8 ; YANMA
-	mon_cry CRY_WOOPER,      $093,  $0af ; WOOPER
-	mon_cry CRY_WOOPER,     -$0c6,  $140 ; QUAGSIRE
-	mon_cry CRY_AIPOM,       $0a2,  $140 ; ESPEON
-	mon_cry CRY_VENONAT,    -$0e9,  $0f0 ; UMBREON
-	mon_cry CRY_MARILL,     -$01f,  $180 ; MURKROW
-	mon_cry CRY_SLOWKING,    $104,  $200 ; SLOWKING
-	mon_cry CRY_HOOTHOOT,    $130,  $0e8 ; MISDREAVUS
-	mon_cry CRY_HOOTHOOT,    $162,  $100 ; UNOWN
-	mon_cry CRY_AMPHAROS,    $27b,  $144 ; WOBBUFFET
-	mon_cry CRY_GIRAFARIG,   $041,  $200 ; GIRAFARIG
-	mon_cry CRY_SLOWKING,    $080,  $100 ; PINECO
-	mon_cry CRY_SLOWKING,    $000,  $180 ; FORRETRESS
-	mon_cry CRY_DUNSPARCE,   $1c4,  $100 ; DUNSPARCE
-	mon_cry CRY_GLIGAR,     -$102,  $100 ; GLIGAR
-	mon_cry CRY_TYPHLOSION,  $0ef,  $0f7 ; STEELIX
-	mon_cry CRY_DUNSPARCE,   $112,  $0e8 ; SNUBBULL
-	mon_cry CRY_DUNSPARCE,   $000,  $180 ; GRANBULL
-	mon_cry CRY_SLOWKING,    $160,  $0e0 ; QWILFISH
-	mon_cry CRY_AMPHAROS,    $000,  $160 ; SCIZOR
-	mon_cry CRY_DUNSPARCE,   $290,  $0a8 ; SHUCKLE
-	mon_cry CRY_AMPHAROS,    $035,  $0e0 ; HERACROSS
-	mon_cry CRY_WOOPER,      $053,  $0af ; SNEASEL
-	mon_cry CRY_TEDDIURSA,   $7a2,  $06e ; TEDDIURSA
-	mon_cry CRY_TEDDIURSA,   $640,  $0d8 ; URSARING
-	mon_cry CRY_SLUGMA,     -$1d8,  $140 ; SLUGMA
-	mon_cry CRY_MAGCARGO,   -$20d,  $1c0 ; MAGCARGO
-	mon_cry CRY_CYNDAQUIL,   $1fe,  $140 ; SWINUB
-	mon_cry CRY_MAGCARGO,   -$109,  $100 ; PILOSWINE
-	mon_cry CRY_MAGCARGO,    $0a1,  $0e8 ; CORSOLA
-	mon_cry CRY_SUNFLORA,    $00d,  $100 ; REMORAID
-	mon_cry CRY_TOTODILE,    $000,  $180 ; OCTILLERY
-	mon_cry CRY_TEDDIURSA,   $002,  $06a ; DELIBIRD
-	mon_cry CRY_MANTINE,    -$0be,  $0f0 ; MANTINE
-	mon_cry CRY_AMPHAROS,    $8a9,  $180 ; SKARMORY
-	mon_cry CRY_CYNDAQUIL,   $039,  $140 ; HOUNDOUR
-	mon_cry CRY_TOTODILE,   -$10a,  $100 ; HOUNDOOM
-	mon_cry CRY_SLUGMA,      $2fb,  $100 ; KINGDRA
-	mon_cry CRY_SENTRET,     $048,  $230 ; PHANPY
-	mon_cry CRY_DONPHAN,     $000,  $1a0 ; DONPHAN
-	mon_cry CRY_GIRAFARIG,   $073,  $240 ; PORYGON2
-	mon_cry CRY_AIPOM,      -$160,  $180 ; STANTLER
-	mon_cry CRY_PICHU,      -$21a,  $1f0 ; SMEARGLE
-	mon_cry CRY_AIPOM,       $02c,  $108 ; TYROGUE
-	mon_cry CRY_SLUGMA,      $000,  $100 ; HITMONTOP
-	mon_cry CRY_MARILL,      $068,  $100 ; SMOOCHUM
-	mon_cry CRY_SUNFLORA,   -$2d8,  $0b4 ; ELEKID
-	mon_cry CRY_TEDDIURSA,   $176,  $03a ; MAGBY
-	mon_cry CRY_GLIGAR,     -$1cd,  $1a0 ; MILTANK
-	mon_cry CRY_SLOWKING,    $293,  $140 ; BLISSEY
-	mon_cry CRY_RAIKOU,      $22e,  $120 ; RAIKOU
-	mon_cry CRY_ENTEI,       $000,  $1a0 ; ENTEI
-	mon_cry CRY_MAGCARGO,    $000,  $180 ; SUICUNE
-	mon_cry CRY_RAIKOU,      $05f,  $0d0 ; LARVITAR
-	mon_cry CRY_SPINARAK,   -$1db,  $150 ; PUPITAR
-	mon_cry CRY_RAIKOU,     -$100,  $180 ; TYRANITAR
-	mon_cry CRY_TYPHLOSION,  $000,  $100 ; LUGIA
-	mon_cry CRY_AIPOM,       $000,  $180 ; HO_OH
-	mon_cry CRY_ENTEI,       $14a,  $111 ; CELEBI
-	mon_cry CRY_NIDORAN_M,      0,     0 ; 252
-	mon_cry CRY_NIDORAN_M,      0,     0 ; 253
-	mon_cry CRY_NIDORAN_M,      0,     0 ; 254
-	mon_cry CRY_NIDORAN_M,      0,     0 ; 255
+	mon_cry CRY_BULBASAUR,   128,  129 ; BULBASAUR
+	mon_cry CRY_BULBASAUR,    32,  256 ; IVYSAUR
+	mon_cry CRY_BULBASAUR,     0,  320 ; VENUSAUR
+	mon_cry CRY_CHARMANDER,   96,  192 ; CHARMANDER
+	mon_cry CRY_CHARMANDER,   32,  192 ; CHARMELEON
+	mon_cry CRY_CHARMANDER,    0,  256 ; CHARIZARD
+	mon_cry CRY_SQUIRTLE,     96,  192 ; SQUIRTLE
+	mon_cry CRY_SQUIRTLE,     32,  192 ; WARTORTLE
+	mon_cry CRY_BLASTOISE,     0,  256 ; BLASTOISE
+	mon_cry CRY_CATERPIE,    128,  160 ; CATERPIE
+	mon_cry CRY_METAPOD,     204,  129 ; METAPOD
+	mon_cry CRY_CATERPIE,    119,  192 ; BUTTERFREE
+	mon_cry CRY_WEEDLE,      238,  129 ; WEEDLE
+	mon_cry CRY_BLASTOISE,   255,  129 ; KAKUNA
+	mon_cry CRY_BLASTOISE,    96,  256 ; BEEDRILL
+	mon_cry CRY_PIDGEY,      223,  132 ; PIDGEY
+	mon_cry CRY_PIDGEOTTO,    40,  320 ; PIDGEOTTO
+	mon_cry CRY_PIDGEOTTO,    17,  383 ; PIDGEOT
+	mon_cry CRY_RATTATA,       0,  256 ; RATTATA
+	mon_cry CRY_RATTATA,      32,  383 ; RATICATE
+	mon_cry CRY_SPEAROW,       0,  256 ; SPEAROW
+	mon_cry CRY_FEAROW,       64,  288 ; FEAROW
+	mon_cry CRY_EKANS,        18,  192 ; EKANS
+	mon_cry CRY_EKANS,       224,  144 ; ARBOK
+	mon_cry CRY_BULBASAUR,   238,  129 ; PIKACHU
+	mon_cry CRY_RAICHU,      238,  136 ; RAICHU
+	mon_cry CRY_NIDORAN_M,    32,  192 ; SANDSHREW
+	mon_cry CRY_NIDORAN_M,   255,  383 ; SANDSLASH
+	mon_cry CRY_NIDORAN_F,     0,  256 ; NIDORAN_F
+	mon_cry CRY_NIDORAN_F,    44,  352 ; NIDORINA
+	mon_cry CRY_NIDOQUEEN,     0,  256 ; NIDOQUEEN
+	mon_cry CRY_NIDORAN_M,     0,  256 ; NIDORAN_M
+	mon_cry CRY_NIDORAN_M,    44,  320 ; NIDORINO
+	mon_cry CRY_RAICHU,        0,  256 ; NIDOKING
+	mon_cry CRY_CLEFAIRY,    204,  129 ; CLEFAIRY
+	mon_cry CRY_CLEFAIRY,    170,  160 ; CLEFABLE
+	mon_cry CRY_VULPIX,       79,  144 ; VULPIX
+	mon_cry CRY_VULPIX,      136,  224 ; NINETALES
+	mon_cry CRY_PIDGEY,      255,  181 ; JIGGLYPUFF
+	mon_cry CRY_PIDGEY,      104,  224 ; WIGGLYTUFF
+	mon_cry CRY_SQUIRTLE,    224,  256 ; ZUBAT
+	mon_cry CRY_SQUIRTLE,    250,  256 ; GOLBAT
+	mon_cry CRY_ODDISH,      221,  129 ; ODDISH
+	mon_cry CRY_ODDISH,      170,  192 ; GLOOM
+	mon_cry CRY_VILEPLUME,    34,  383 ; VILEPLUME
+	mon_cry CRY_PARAS,        32,  352 ; PARAS
+	mon_cry CRY_PARAS,        66,  383 ; PARASECT
+	mon_cry CRY_VENONAT,      68,  192 ; VENONAT
+	mon_cry CRY_VENONAT,      41,  256 ; VENOMOTH
+	mon_cry CRY_DIGLETT,     170,  129 ; DIGLETT
+	mon_cry CRY_DIGLETT,      42,  144 ; DUGTRIO
+	mon_cry CRY_CLEFAIRY,    119,  144 ; MEOWTH
+	mon_cry CRY_CLEFAIRY,    153,  383 ; PERSIAN
+	mon_cry CRY_PSYDUCK,      32,  224 ; PSYDUCK
+	mon_cry CRY_PSYDUCK,     255,  192 ; GOLDUCK
+	mon_cry CRY_NIDOQUEEN,   221,  224 ; MANKEY
+	mon_cry CRY_NIDOQUEEN,   175,  192 ; PRIMEAPE
+	mon_cry CRY_GROWLITHE,    32,  192 ; GROWLITHE
+	mon_cry CRY_WEEDLE,        0,  256 ; ARCANINE
+	mon_cry CRY_PIDGEY,      255,  383 ; POLIWAG
+	mon_cry CRY_PIDGEY,      119,  224 ; POLIWHIRL
+	mon_cry CRY_PIDGEY,        0,  383 ; POLIWRATH
+	mon_cry CRY_METAPOD,     192,  129 ; ABRA
+	mon_cry CRY_METAPOD,     168,  320 ; KADABRA
+	mon_cry CRY_METAPOD,     152,  383 ; ALAKAZAM
+	mon_cry CRY_GROWLITHE,   238,  129 ; MACHOP
+	mon_cry CRY_GROWLITHE,    72,  224 ; MACHOKE
+	mon_cry CRY_GROWLITHE,     8,  320 ; MACHAMP
+	mon_cry CRY_PSYDUCK,      85,  129 ; BELLSPROUT
+	mon_cry CRY_WEEPINBELL,   68,  160 ; WEEPINBELL
+	mon_cry CRY_WEEPINBELL,  102,  332 ; VICTREEBEL
+	mon_cry CRY_VENONAT,       0,  256 ; TENTACOOL
+	mon_cry CRY_VENONAT,     238,  383 ; TENTACRUEL
+	mon_cry CRY_VULPIX,      240,  144 ; GEODUDE
+	mon_cry CRY_VULPIX,        0,  256 ; GRAVELER
+	mon_cry CRY_GOLEM,       224,  192 ; GOLEM
+	mon_cry CRY_WEEPINBELL,    0,  256 ; PONYTA
+	mon_cry CRY_WEEPINBELL,   32,  320 ; RAPIDASH
+	mon_cry CRY_SLOWPOKE,      0,  256 ; SLOWPOKE
+	mon_cry CRY_GROWLITHE,     0,  256 ; SLOWBRO
+	mon_cry CRY_METAPOD,     128,  224 ; MAGNEMITE
+	mon_cry CRY_METAPOD,      32,  320 ; MAGNETON
+	mon_cry CRY_SPEAROW,     221,  129 ; FARFETCH_D
+	mon_cry CRY_DIGLETT,     187,  129 ; DODUO
+	mon_cry CRY_DIGLETT,     153,  160 ; DODRIO
+	mon_cry CRY_SEEL,        136,  320 ; SEEL
+	mon_cry CRY_SEEL,         35,  383 ; DEWGONG
+	mon_cry CRY_GRIMER,        0,  256 ; GRIMER
+	mon_cry CRY_MUK,         239,  383 ; MUK
+	mon_cry CRY_FEAROW,        0,  256 ; SHELLDER
+	mon_cry CRY_FEAROW,      111,  352 ; CLOYSTER
+	mon_cry CRY_METAPOD,       0,  256 ; GASTLY
+	mon_cry CRY_METAPOD,      48,  192 ; HAUNTER
+	mon_cry CRY_MUK,           0,  383 ; GENGAR
+	mon_cry CRY_EKANS,       255,  320 ; ONIX
+	mon_cry CRY_DROWZEE,     136,  160 ; DROWZEE
+	mon_cry CRY_DROWZEE,     238,  192 ; HYPNO
+	mon_cry CRY_KRABBY,       32,  352 ; KRABBY
+	mon_cry CRY_KRABBY,      238,  352 ; KINGLER
+	mon_cry CRY_VOLTORB,     237,  256 ; VOLTORB
+	mon_cry CRY_VOLTORB,     168,  272 ; ELECTRODE
+	mon_cry CRY_DIGLETT,       0,  256 ; EXEGGCUTE
+	mon_cry CRY_DROWZEE,       0,  256 ; EXEGGUTOR
+	mon_cry CRY_CLEFAIRY,      0,  256 ; CUBONE
+	mon_cry CRY_ODDISH,       79,  224 ; MAROWAK
+	mon_cry CRY_GOLEM,       128,  320 ; HITMONLEE
+	mon_cry CRY_SEEL,        238,  320 ; HITMONCHAN
+	mon_cry CRY_SEEL,          0,  256 ; LICKITUNG
+	mon_cry CRY_GOLEM,       230,  349 ; KOFFING
+	mon_cry CRY_GOLEM,       255,  383 ; WEEZING
+	mon_cry CRY_CHARMANDER,    0,  256 ; RHYHORN
+	mon_cry CRY_RHYDON,        0,  256 ; RHYDON
+	mon_cry CRY_PIDGEOTTO,    10,  320 ; CHANSEY
+	mon_cry CRY_GOLEM,         0,  256 ; TANGELA
+	mon_cry CRY_KANGASKHAN,    0,  256 ; KANGASKHAN
+	mon_cry CRY_CLEFAIRY,    153,  144 ; HORSEA
+	mon_cry CRY_CLEFAIRY,     60,  129 ; SEADRA
+	mon_cry CRY_CATERPIE,    128,  192 ; GOLDEEN
+	mon_cry CRY_CATERPIE,     16,  383 ; SEAKING
+	mon_cry CRY_PARAS,         2,  160 ; STARYU
+	mon_cry CRY_PARAS,         0,  256 ; STARMIE
+	mon_cry CRY_KRABBY,        8,  192 ; MR__MIME
+	mon_cry CRY_CATERPIE,      0,  256 ; SCYTHER
+	mon_cry CRY_DROWZEE,     255,  383 ; JYNX
+	mon_cry CRY_VOLTORB,     143,  383 ; ELECTABUZZ
+	mon_cry CRY_CHARMANDER,  255,  176 ; MAGMAR
+	mon_cry CRY_PIDGEOTTO,     0,  256 ; PINSIR
+	mon_cry CRY_SQUIRTLE,     17,  192 ; TAUROS
+	mon_cry CRY_EKANS,       128,  128 ; MAGIKARP
+	mon_cry CRY_EKANS,         0,  256 ; GYARADOS
+	mon_cry CRY_LAPRAS,        0,  256 ; LAPRAS
+	mon_cry CRY_PIDGEY,      255,  383 ; DITTO
+	mon_cry CRY_VENONAT,     136,  224 ; EEVEE
+	mon_cry CRY_VENONAT,     170,  383 ; VAPOREON
+	mon_cry CRY_VENONAT,      61,  256 ; JOLTEON
+	mon_cry CRY_VENONAT,      16,  160 ; FLAREON
+	mon_cry CRY_WEEPINBELL,  170,  383 ; PORYGON
+	mon_cry CRY_GROWLITHE,   240,  129 ; OMANYTE
+	mon_cry CRY_GROWLITHE,   255,  192 ; OMASTAR
+	mon_cry CRY_CATERPIE,    187,  192 ; KABUTO
+	mon_cry CRY_FEAROW,      238,  129 ; KABUTOPS
+	mon_cry CRY_VILEPLUME,    32,  368 ; AERODACTYL
+	mon_cry CRY_GRIMER,       85,  129 ; SNORLAX
+	mon_cry CRY_RAICHU,      128,  192 ; ARTICUNO
+	mon_cry CRY_FEAROW,      255,  256 ; ZAPDOS
+	mon_cry CRY_RAICHU,      248,  192 ; MOLTRES
+	mon_cry CRY_BULBASAUR,    96,  192 ; DRATINI
+	mon_cry CRY_BULBASAUR,    64,  256 ; DRAGONAIR
+	mon_cry CRY_BULBASAUR,    60,  320 ; DRAGONITE
+	mon_cry CRY_PARAS,       153,  383 ; MEWTWO
+	mon_cry CRY_PARAS,       238,  383 ; MEW
+	mon_cry CRY_CHIKORITA,   -16,  176 ; CHIKORITA
+	mon_cry CRY_CHIKORITA,   -34,  288 ; BAYLEEF
+	mon_cry CRY_CHIKORITA,  -183,  512 ; MEGANIUM
+	mon_cry CRY_CYNDAQUIL,   839,  128 ; CYNDAQUIL
+	mon_cry CRY_CYNDAQUIL,   801,  288 ; QUILAVA
+	mon_cry CRY_TYPHLOSION, 3840,  212 ; TYPHLOSION
+	mon_cry CRY_TOTODILE,   1132,  232 ; TOTODILE
+	mon_cry CRY_TOTODILE,   1088,  272 ; CROCONAW
+	mon_cry CRY_TOTODILE,   1020,  384 ; FERALIGATR
+	mon_cry CRY_SENTRET,     138,  184 ; SENTRET
+	mon_cry CRY_SENTRET,     107,  258 ; FURRET
+	mon_cry CRY_HOOTHOOT,    145,  216 ; HOOTHOOT
+	mon_cry CRY_HOOTHOOT,      0,  416 ; NOCTOWL
+	mon_cry CRY_LEDYBA,        0,  222 ; LEDYBA
+	mon_cry CRY_LEDYBA,     -150,  312 ; LEDIAN
+	mon_cry CRY_SPINARAK,     17,  512 ; SPINARAK
+	mon_cry CRY_SPINARAK,   -174,  482 ; ARIADOS
+	mon_cry CRY_SQUIRTLE,    -16,  320 ; CROBAT
+	mon_cry CRY_CYNDAQUIL,   969,  320 ; CHINCHOU
+	mon_cry CRY_CYNDAQUIL,   720,  272 ; LANTURN
+	mon_cry CRY_PICHU,         0,  320 ; PICHU
+	mon_cry CRY_CLEFFA,       97,  145 ; CLEFFA
+	mon_cry CRY_CHIKORITA,   232,  232 ; IGGLYBUFF
+	mon_cry CRY_TOGEPI,       16,  256 ; TOGEPI
+	mon_cry CRY_TOGETIC,      59,   56 ; TOGETIC
+	mon_cry CRY_NATU,       -103,  256 ; NATU
+	mon_cry CRY_NATU,       -167,  360 ; XATU
+	mon_cry CRY_MAREEP,       34,  216 ; MAREEP
+	mon_cry CRY_MAREEP,       -7,  384 ; FLAAFFY
+	mon_cry CRY_AMPHAROS,   -124,  232 ; AMPHAROS
+	mon_cry CRY_CLEFFA,      132,  336 ; BELLOSSOM
+	mon_cry CRY_MARILL,      283,  288 ; MARILL
+	mon_cry CRY_MARILL,      182,  384 ; AZUMARILL
+	mon_cry CRY_CLEFFA,     3904,  384 ; SUDOWOODO
+	mon_cry CRY_CLEFFA,     -675,  456 ; POLITOED
+	mon_cry CRY_CLEFFA,       59,  200 ; HOPPIP
+	mon_cry CRY_CLEFFA,       39,  312 ; SKIPLOOM
+	mon_cry CRY_CLEFFA,        0,  384 ; JUMPLUFF
+	mon_cry CRY_AIPOM,       -81,  232 ; AIPOM
+	mon_cry CRY_MARILL,      299,  184 ; SUNKERN
+	mon_cry CRY_SUNFLORA,    -32,  384 ; SUNFLORA
+	mon_cry CRY_TOTODILE,     49,  200 ; YANMA
+	mon_cry CRY_WOOPER,      147,  175 ; WOOPER
+	mon_cry CRY_WOOPER,     -198,  320 ; QUAGSIRE
+	mon_cry CRY_AIPOM,       162,  320 ; ESPEON
+	mon_cry CRY_VENONAT,    -233,  240 ; UMBREON
+	mon_cry CRY_MARILL,      -31,  384 ; MURKROW
+	mon_cry CRY_SLOWKING,    260,  512 ; SLOWKING
+	mon_cry CRY_HOOTHOOT,    304,  232 ; MISDREAVUS
+	mon_cry CRY_HOOTHOOT,    354,  256 ; UNOWN
+	mon_cry CRY_AMPHAROS,    635,  324 ; WOBBUFFET
+	mon_cry CRY_GIRAFARIG,    65,  512 ; GIRAFARIG
+	mon_cry CRY_SLOWKING,    128,  256 ; PINECO
+	mon_cry CRY_SLOWKING,      0,  384 ; FORRETRESS
+	mon_cry CRY_DUNSPARCE,   452,  256 ; DUNSPARCE
+	mon_cry CRY_GLIGAR,     -258,  256 ; GLIGAR
+	mon_cry CRY_TYPHLOSION,  239,  247 ; STEELIX
+	mon_cry CRY_DUNSPARCE,   274,  232 ; SNUBBULL
+	mon_cry CRY_DUNSPARCE,     0,  384 ; GRANBULL
+	mon_cry CRY_SLOWKING,    352,  224 ; QWILFISH
+	mon_cry CRY_AMPHAROS,      0,  352 ; SCIZOR
+	mon_cry CRY_DUNSPARCE,   656,  168 ; SHUCKLE
+	mon_cry CRY_AMPHAROS,     53,  224 ; HERACROSS
+	mon_cry CRY_WOOPER,       83,  175 ; SNEASEL
+	mon_cry CRY_TEDDIURSA,  1954,  110 ; TEDDIURSA
+	mon_cry CRY_TEDDIURSA,  1600,  216 ; URSARING
+	mon_cry CRY_SLUGMA,     -472,  320 ; SLUGMA
+	mon_cry CRY_MAGCARGO,   -525,  448 ; MAGCARGO
+	mon_cry CRY_CYNDAQUIL,   510,  320 ; SWINUB
+	mon_cry CRY_MAGCARGO,   -265,  256 ; PILOSWINE
+	mon_cry CRY_MAGCARGO,    161,  232 ; CORSOLA
+	mon_cry CRY_SUNFLORA,     13,  256 ; REMORAID
+	mon_cry CRY_TOTODILE,      0,  384 ; OCTILLERY
+	mon_cry CRY_TEDDIURSA,     2,  106 ; DELIBIRD
+	mon_cry CRY_MANTINE,    -190,  240 ; MANTINE
+	mon_cry CRY_AMPHAROS,   2217,  384 ; SKARMORY
+	mon_cry CRY_CYNDAQUIL,    57,  320 ; HOUNDOUR
+	mon_cry CRY_TOTODILE,   -266,  256 ; HOUNDOOM
+	mon_cry CRY_SLUGMA,      763,  256 ; KINGDRA
+	mon_cry CRY_SENTRET,      72,  560 ; PHANPY
+	mon_cry CRY_DONPHAN,       0,  416 ; DONPHAN
+	mon_cry CRY_GIRAFARIG,   115,  576 ; PORYGON2
+	mon_cry CRY_AIPOM,      -352,  384 ; STANTLER
+	mon_cry CRY_PICHU,      -538,  496 ; SMEARGLE
+	mon_cry CRY_AIPOM,        44,  264 ; TYROGUE
+	mon_cry CRY_SLUGMA,        0,  256 ; HITMONTOP
+	mon_cry CRY_MARILL,      104,  256 ; SMOOCHUM
+	mon_cry CRY_SUNFLORA,   -728,  180 ; ELEKID
+	mon_cry CRY_TEDDIURSA,   374,   58 ; MAGBY
+	mon_cry CRY_GLIGAR,     -461,  416 ; MILTANK
+	mon_cry CRY_SLOWKING,    659,  320 ; BLISSEY
+	mon_cry CRY_RAIKOU,      558,  288 ; RAIKOU
+	mon_cry CRY_ENTEI,         0,  416 ; ENTEI
+	mon_cry CRY_MAGCARGO,      0,  384 ; SUICUNE
+	mon_cry CRY_RAIKOU,       95,  208 ; LARVITAR
+	mon_cry CRY_SPINARAK,   -475,  336 ; PUPITAR
+	mon_cry CRY_RAIKOU,     -256,  384 ; TYRANITAR
+	mon_cry CRY_TYPHLOSION,    0,  256 ; LUGIA
+	mon_cry CRY_AIPOM,         0,  384 ; HO_OH
+	mon_cry CRY_ENTEI,       330,  273 ; CELEBI
+	mon_cry CRY_NIDORAN_M,     0,    0 ; 252
+	mon_cry CRY_NIDORAN_M,     0,    0 ; 253
+	mon_cry CRY_NIDORAN_M,     0,    0 ; 254
+	mon_cry CRY_NIDORAN_M,     0,    0 ; 255
--- a/data/text/common_1.asm
+++ b/data/text/common_1.asm
@@ -94,7 +94,7 @@
 	text_decimal wCurPartyLevel, 1, 3
 	text "!@"
 	sound_dex_fanfare_50_79 ; plays SFX_DEX_FANFARE_50_79, identical to SFX_LEVEL_UP
-	text_waitbutton
+	text_promptbutton
 	text_end
 
 	text_end ; unused
@@ -1343,7 +1343,7 @@
 	text_ram wStringBuffer1
 	text "!@"
 	sound_item
-	text_waitbutton
+	text_promptbutton
 	text_end
 
 	text_end ; unused
--- a/data/text/common_2.asm
+++ b/data/text/common_2.asm
@@ -314,7 +314,7 @@
 _BlindingFlashText::
 	text "A blinding FLASH"
 	line "lights the area!@"
-	text_waitbutton
+	text_promptbutton
 	text_end
 
 	text_end ; unused
@@ -794,7 +794,7 @@
 	text " came"
 	line "out of its EGG!@"
 	sound_caught_mon
-	text_waitbutton
+	text_promptbutton
 	text_end
 
 	text_end ; unused
@@ -1055,7 +1055,7 @@
 	text " caught by"
 	line "@"
 	text_ram wMagikarpRecordHoldersName
-	text_waitbutton
+	text_promptbutton
 	text_end
 
 	text_end ; unused
@@ -1551,7 +1551,7 @@
 	text_end
 
 _OakText3::
-	text_waitbutton
+	text_promptbutton
 	text_end
 
 	text_end ; unused
--- a/data/text/common_3.asm
+++ b/data/text/common_3.asm
@@ -959,7 +959,7 @@
 	text_ram wStringBuffer2
 	text "!@"
 	sound_dex_fanfare_50_79
-	text_waitbutton
+	text_promptbutton
 	text_end
 
 	text_end ; unused
@@ -1244,7 +1244,7 @@
 	text_end ; unused
 
 _WaitButtonText::
-	text_waitbutton
+	text_promptbutton
 	text_end
 
 	text_end ; unused
@@ -1261,7 +1261,7 @@
 	line "was newly added to"
 	cont "the #DEX.@"
 	sound_slot_machine_start
-	text_waitbutton
+	text_promptbutton
 	text_end
 
 	text_end ; unused
@@ -1308,7 +1308,7 @@
 Text_PlayedPokeFlute::
 	text "<PLAYER> played the"
 	line "# FLUTE.@"
-	text_waitbutton
+	text_promptbutton
 	text_end
 
 	text_end ; unused
--- a/data/tilesets.asm
+++ b/data/tilesets.asm
@@ -34,7 +34,7 @@
 	tileset TilesetLighthouse
 	tileset TilesetPlayersRoom
 	tileset TilesetPokeComCenter
-	tileset TilesetBattleTower
+	tileset TilesetBattleTowerInside
 	tileset TilesetTower
 	tileset TilesetCave
 	tileset TilesetPark
--- a/data/tilesets/battle_tower_collision.asm
+++ /dev/null
@@ -1,64 +1,0 @@
-	tilecoll WALL, WALL, WALL, WALL ; 00
-	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
-	tilecoll WALL, WALL, FLOOR, FLOOR ; 02
-	tilecoll WALL, WALL, FLOOR, FLOOR ; 03
-	tilecoll WALL, DOOR, FLOOR, FLOOR ; 04
-	tilecoll WALL, FLOOR, FLOOR, FLOOR ; 05
-	tilecoll FLOOR, FLOOR, WALL, FLOOR ; 06
-	tilecoll WALL, WALL, FLOOR, FLOOR ; 07
-	tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 08
-	tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 09
-	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
-	tilecoll WALL, WALL, FLOOR, FLOOR ; 0b
-	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
-	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
-	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
-	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0f
-	tilecoll DOOR, WALL, FLOOR, FLOOR ; 10
-	tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 11
-	tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 12
-	tilecoll WALL, WALL, WALL, WALL ; 13
-	tilecoll WALL, FLOOR, WALL, FLOOR ; 14
-	tilecoll FLOOR, WALL, FLOOR, WALL ; 15
-	tilecoll FLOOR, WALL, FLOOR, WALL ; 16
-	tilecoll FLOOR, FLOOR, FLOOR, WALL ; 17
-	tilecoll WALL, FLOOR, WALL, FLOOR ; 18
-	tilecoll FLOOR, WALL, FLOOR, WALL ; 19
-	tilecoll FLOOR, FLOOR, WALL, FLOOR ; 1a
-	tilecoll WALL, WALL, FLOOR, FLOOR ; 1b
-	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1c
-	tilecoll WALL, WALL, FLOOR, FLOOR ; 1d
-	tilecoll WALL, WALL, FLOOR, FLOOR ; 1e
-	tilecoll WALL, WALL, FLOOR, WALL ; 1f
-	tilecoll WALL, WALL, WALL, FLOOR ; 20
-	tilecoll FLOOR, FLOOR, FLOOR, WALL ; 21
-	tilecoll FLOOR, FLOOR, WALL, FLOOR ; 22
-	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23
-	tilecoll FLOOR, FLOOR, WALL, WALL ; 24
-	tilecoll WALL, FLOOR, FLOOR, DOOR ; 25
-	tilecoll WALL, WALL, FLOOR, FLOOR ; 26
-	tilecoll WALL, WALL, FLOOR, FLOOR ; 27
-	tilecoll WALL, PC, FLOOR, FLOOR ; 28
-	tilecoll WALL, WALL, FLOOR, FLOOR ; 29
-	tilecoll WALL, WALL, WALL, FLOOR ; 2a
-	tilecoll WALL, WALL, FLOOR, WALL ; 2b
-	tilecoll FLOOR, FLOOR, FLOOR, DOOR ; 2c
-	tilecoll FLOOR, FLOOR, DOOR, FLOOR ; 2d
-	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2e
-	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f
-	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30
-	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
-	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
-	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
-	tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 34
-	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
-	tilecoll WALL, WALL, FLOOR, WALL ; 36
-	tilecoll WALL, WALL, WALL, FLOOR ; 37
-	tilecoll WALL, WALL, FLOOR, WALL ; 38
-	tilecoll WALL, WALL, WALL, WALL ; 39
-	tilecoll WALL, WALL, WALL, FLOOR ; 3a
-	tilecoll WALL, WALL, WALL, WALL ; 3b
-	tilecoll WALL, WALL, FLOOR, WALL ; 3c
-	tilecoll WALL, WALL, FLOOR, WALL ; 3d
-	tilecoll WALL, WALL, WALL, FLOOR ; 3e
-	tilecoll WALL, WALL, FLOOR, WALL ; 3f
--- /dev/null
+++ b/data/tilesets/battle_tower_inside_collision.asm
@@ -1,0 +1,64 @@
+	tilecoll WALL, WALL, WALL, WALL ; 00
+	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 01
+	tilecoll WALL, WALL, FLOOR, FLOOR ; 02
+	tilecoll WALL, WALL, FLOOR, FLOOR ; 03
+	tilecoll WALL, DOOR, FLOOR, FLOOR ; 04
+	tilecoll WALL, FLOOR, FLOOR, FLOOR ; 05
+	tilecoll FLOOR, FLOOR, WALL, FLOOR ; 06
+	tilecoll WALL, WALL, FLOOR, FLOOR ; 07
+	tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 08
+	tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 09
+	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0a
+	tilecoll WALL, WALL, FLOOR, FLOOR ; 0b
+	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0c
+	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0d
+	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0e
+	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 0f
+	tilecoll DOOR, WALL, FLOOR, FLOOR ; 10
+	tilecoll FLOOR, FLOOR, FLOOR, WARP_CARPET_DOWN ; 11
+	tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, FLOOR ; 12
+	tilecoll WALL, WALL, WALL, WALL ; 13
+	tilecoll WALL, FLOOR, WALL, FLOOR ; 14
+	tilecoll FLOOR, WALL, FLOOR, WALL ; 15
+	tilecoll FLOOR, WALL, FLOOR, WALL ; 16
+	tilecoll FLOOR, FLOOR, FLOOR, WALL ; 17
+	tilecoll WALL, FLOOR, WALL, FLOOR ; 18
+	tilecoll FLOOR, WALL, FLOOR, WALL ; 19
+	tilecoll FLOOR, FLOOR, WALL, FLOOR ; 1a
+	tilecoll WALL, WALL, FLOOR, FLOOR ; 1b
+	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 1c
+	tilecoll WALL, WALL, FLOOR, FLOOR ; 1d
+	tilecoll WALL, WALL, FLOOR, FLOOR ; 1e
+	tilecoll WALL, WALL, FLOOR, WALL ; 1f
+	tilecoll WALL, WALL, WALL, FLOOR ; 20
+	tilecoll FLOOR, FLOOR, FLOOR, WALL ; 21
+	tilecoll FLOOR, FLOOR, WALL, FLOOR ; 22
+	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 23
+	tilecoll FLOOR, FLOOR, WALL, WALL ; 24
+	tilecoll WALL, FLOOR, FLOOR, DOOR ; 25
+	tilecoll WALL, WALL, FLOOR, FLOOR ; 26
+	tilecoll WALL, WALL, FLOOR, FLOOR ; 27
+	tilecoll WALL, PC, FLOOR, FLOOR ; 28
+	tilecoll WALL, WALL, FLOOR, FLOOR ; 29
+	tilecoll WALL, WALL, WALL, FLOOR ; 2a
+	tilecoll WALL, WALL, FLOOR, WALL ; 2b
+	tilecoll FLOOR, FLOOR, FLOOR, DOOR ; 2c
+	tilecoll FLOOR, FLOOR, DOOR, FLOOR ; 2d
+	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2e
+	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 2f
+	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 30
+	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 31
+	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 32
+	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 33
+	tilecoll FLOOR, FLOOR, WARP_CARPET_DOWN, WARP_CARPET_DOWN ; 34
+	tilecoll FLOOR, FLOOR, FLOOR, FLOOR ; 35
+	tilecoll WALL, WALL, FLOOR, WALL ; 36
+	tilecoll WALL, WALL, WALL, FLOOR ; 37
+	tilecoll WALL, WALL, FLOOR, WALL ; 38
+	tilecoll WALL, WALL, WALL, WALL ; 39
+	tilecoll WALL, WALL, WALL, FLOOR ; 3a
+	tilecoll WALL, WALL, WALL, WALL ; 3b
+	tilecoll WALL, WALL, FLOOR, WALL ; 3c
+	tilecoll WALL, WALL, FLOOR, WALL ; 3d
+	tilecoll WALL, WALL, WALL, FLOOR ; 3e
+	tilecoll WALL, WALL, FLOOR, WALL ; 3f
binary files /dev/null b/data/tilesets/battle_tower_inside_metatiles.bin differ
binary files a/data/tilesets/battle_tower_metatiles.bin /dev/null differ
--- a/docs/design_flaws.md
+++ b/docs/design_flaws.md
@@ -216,6 +216,17 @@
 Edit `Pokedex_LoadAnyFootprint`:
 
 ```diff
+ 	ld a, [wTempSpecies]
+ 	dec a
+ 	and %111
+ 	swap a ; * $10
++	add a, a
+ 	ld l, a
+ 	ld h, 0
+ 	add hl, de
+ 	ld de, Footprints
+ 	add hl, de
+
 -	push hl
  	ld e, l
  	ld d, h
--- a/docs/event_commands.md
+++ b/docs/event_commands.md
@@ -298,7 +298,7 @@
 ## `$54`: `waitbutton`
 
 
-## `$55`: `buttonsound`
+## `$55`: `promptbutton`
 
 
 ## `$56`: <code>pokepic <i>mon_id</i></code>
--- a/docs/text_commands.md
+++ b/docs/text_commands.md
@@ -35,7 +35,7 @@
 Write text at (1, 16).
 
 
-## `$06`: `text_waitbutton`
+## `$06`: `text_promptbutton`
 
 Wait for button press; show arrow.
 
@@ -71,7 +71,7 @@
 Print *n* `"…"`s, pausing for 10 frames after each; interrupt if A or B is pressed.
 
 
-## `$0D`: `text_linkwaitbutton`
+## `$0D`: `text_linkpromptbutton`
 
 Wait for button press; show arrow.
 
--- a/engine/events/diploma.asm
+++ b/engine/events/diploma.asm
@@ -86,3 +86,5 @@
 
 DiplomaPage2Tilemap:
 INCBIN "gfx/diploma/page2.tilemap"
+
+	ret ; unused
--- a/engine/events/fish.asm
+++ b/engine/events/fish.asm
@@ -1,7 +1,7 @@
 Fish:
 ; Using a fishing rod.
 ; Fish for monsters with rod e in encounter group d.
-; Return monster e at level d.
+; Return monster d at level e.
 
 	push af
 	push bc
@@ -23,7 +23,7 @@
 
 .Fish:
 ; Fish for monsters with rod b from encounter data in FishGroup at hl.
-; Return monster e at level d.
+; Return monster d at level e.
 
 	call Random
 	cp [hl]
--- a/engine/events/fruit_trees.asm
+++ b/engine/events/fruit_trees.asm
@@ -4,7 +4,7 @@
 	readmem wCurFruit
 	getitemname STRING_BUFFER_3, USE_SCRIPT_VAR
 	writetext FruitBearingTreeText
-	buttonsound
+	promptbutton
 	callasm TryResetFruitTrees
 	callasm CheckFruitTree
 	iffalse .fruit
@@ -17,7 +17,7 @@
 	readmem wCurFruit
 	giveitem ITEM_FROM_MEM
 	iffalse .packisfull
-	buttonsound
+	promptbutton
 	writetext ObtainedFruitText
 	callasm PickedFruitTree
 	specialsound
@@ -25,7 +25,7 @@
 	sjump .end
 
 .packisfull
-	buttonsound
+	promptbutton
 	writetext FruitPackIsFullText
 	waitbutton
 
--- a/engine/events/magikarp.asm
+++ b/engine/events/magikarp.asm
@@ -89,12 +89,12 @@
 	call Magikarp_LoadFeetInchesChars
 	ld hl, wStringBuffer1
 	ld de, wMagikarpLength
-	lb bc, PRINTNUM_RIGHTALIGN | 1, 2
+	lb bc, PRINTNUM_LEFTALIGN | 1, 2
 	call PrintNum
 	ld [hl], "′"
 	inc hl
 	ld de, wMagikarpLength + 1
-	lb bc, PRINTNUM_RIGHTALIGN | 1, 2
+	lb bc, PRINTNUM_LEFTALIGN | 1, 2
 	call PrintNum
 	ld [hl], "″"
 	inc hl
--- a/engine/events/misc_scripts_2.asm
+++ b/engine/events/misc_scripts_2.asm
@@ -22,7 +22,7 @@
 	sjump .finish
 
 .bag_full
-	buttonsound
+	promptbutton
 	writetext .ButNoSpaceText
 	waitbutton
 
--- a/engine/events/poke_seer.asm
+++ b/engine/events/poke_seer.asm
@@ -164,7 +164,7 @@
 	ld [wSeerCaughtLevel], a
 	ld hl, wSeerCaughtLevelString
 	ld de, wSeerCaughtLevel
-	lb bc, PRINTNUM_RIGHTALIGN | 1, 3
+	lb bc, PRINTNUM_LEFTALIGN | 1, 3
 	call PrintNum
 	ret
 
--- a/engine/events/prof_oaks_pc.asm
+++ b/engine/events/prof_oaks_pc.asm
@@ -70,7 +70,7 @@
 	ld bc, ITEM_NAME_LENGTH
 	call ByteFill
 	pop hl
-	lb bc, PRINTNUM_RIGHTALIGN | 1, 3
+	lb bc, PRINTNUM_LEFTALIGN | 1, 3
 	call PrintNum
 	ret
 
--- a/engine/events/std_scripts.asm
+++ b/engine/events/std_scripts.asm
@@ -69,11 +69,11 @@
 	checkevent EVENT_WELCOMED_TO_POKECOM_CENTER
 	iftrue .morn_comcenter
 	farwritetext NurseMornText
-	buttonsound
+	promptbutton
 	sjump .ok
 .morn_comcenter
 	farwritetext PokeComNurseMornText
-	buttonsound
+	promptbutton
 	sjump .ok
 
 .day
@@ -80,11 +80,11 @@
 	checkevent EVENT_WELCOMED_TO_POKECOM_CENTER
 	iftrue .day_comcenter
 	farwritetext NurseDayText
-	buttonsound
+	promptbutton
 	sjump .ok
 .day_comcenter
 	farwritetext PokeComNurseDayText
-	buttonsound
+	promptbutton
 	sjump .ok
 
 .nite
@@ -91,11 +91,11 @@
 	checkevent EVENT_WELCOMED_TO_POKECOM_CENTER
 	iftrue .nite_comcenter
 	farwritetext NurseNiteText
-	buttonsound
+	promptbutton
 	sjump .ok
 .nite_comcenter
 	farwritetext PokeComNurseNiteText
-	buttonsound
+	promptbutton
 	sjump .ok
 
 .ok
@@ -326,7 +326,7 @@
 	ifequal 2, BugContestResults_SecondPlace
 	ifequal 3, BugContestResults_ThirdPlace
 	farwritetext ContestResults_ConsolationPrizeText
-	buttonsound
+	promptbutton
 	waitsfx
 	verbosegiveitem BERRY
 	iffalse BugContestResults_NoRoomForBerry
@@ -333,12 +333,12 @@
 
 BugContestResults_DidNotWin:
 	farwritetext ContestResults_DidNotWinText
-	buttonsound
+	promptbutton
 	sjump BugContestResults_FinishUp
 
 BugContestResults_ReturnAfterWinnersPrize:
 	farwritetext ContestResults_JoinUsNextTimeText
-	buttonsound
+	promptbutton
 
 BugContestResults_FinishUp:
 	checkevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER
@@ -408,25 +408,25 @@
 
 BugContestResults_NoRoomForSunStone:
 	farwritetext BugContestPrizeNoRoomText
-	buttonsound
+	promptbutton
 	setevent EVENT_CONTEST_OFFICER_HAS_SUN_STONE
 	sjump BugContestResults_ReturnAfterWinnersPrize
 
 BugContestResults_NoRoomForEverstone:
 	farwritetext BugContestPrizeNoRoomText
-	buttonsound
+	promptbutton
 	setevent EVENT_CONTEST_OFFICER_HAS_EVERSTONE
 	sjump BugContestResults_ReturnAfterWinnersPrize
 
 BugContestResults_NoRoomForGoldBerry:
 	farwritetext BugContestPrizeNoRoomText
-	buttonsound
+	promptbutton
 	setevent EVENT_CONTEST_OFFICER_HAS_GOLD_BERRY
 	sjump BugContestResults_ReturnAfterWinnersPrize
 
 BugContestResults_NoRoomForBerry:
 	farwritetext BugContestPrizeNoRoomText
-	buttonsound
+	promptbutton
 	setevent EVENT_CONTEST_OFFICER_HAS_BERRY
 	sjump BugContestResults_DidNotWin
 
@@ -786,7 +786,7 @@
 	farwritetext RegisteredNumber1Text
 	playsound SFX_REGISTER_PHONE_NUMBER
 	waitsfx
-	buttonsound
+	promptbutton
 	end
 
 NumberAcceptedMScript:
@@ -1279,31 +1279,31 @@
 
 .Jose:
 	farwritetext JoseGiftText
-	buttonsound
+	promptbutton
 	end
 .Wade:
 	farwritetext WadeGiftText
-	buttonsound
+	promptbutton
 	end
 .Alan:
 	farwritetext AlanGiftText
-	buttonsound
+	promptbutton
 	end
 .Derek:
 	farwritetext DerekGiftText
-	buttonsound
+	promptbutton
 	end
 .Tully:
 	farwritetext TullyGiftText
-	buttonsound
+	promptbutton
 	end
 .Wilton:
 	farwritetext WiltonGiftText
-	buttonsound
+	promptbutton
 	end
 .Kenji:
 	farwritetext KenjiGiftText
-	buttonsound
+	promptbutton
 	end
 
 PackFullMScript:
@@ -1386,19 +1386,19 @@
 
 .Huey:
 	farwritetext HueyRematchGiftText
-	buttonsound
+	promptbutton
 	end
 .Joey:
 	farwritetext JoeyRematchGiftText
-	buttonsound
+	promptbutton
 	end
 .Vance:
 	farwritetext VanceRematchGiftText
-	buttonsound
+	promptbutton
 	end
 .Parry:
 	farwritetext ParryRematchGiftText
-	buttonsound
+	promptbutton
 	end
 
 AskNumber1FScript:
@@ -1477,7 +1477,7 @@
 	farwritetext RegisteredNumber2Text
 	playsound SFX_REGISTER_PHONE_NUMBER
 	waitsfx
-	buttonsound
+	promptbutton
 	end
 
 NumberAcceptedFScript:
@@ -1691,19 +1691,19 @@
 
 .Beverly:
 	farwritetext BeverlyGiftText
-	buttonsound
+	promptbutton
 	end
 .Gina:
 	farwritetext GinaGiftText
-	buttonsound
+	promptbutton
 	end
 .Dana:
 	farwritetext DanaGiftText
-	buttonsound
+	promptbutton
 	end
 .Tiffany:
 	farwritetext TiffanyGiftText
-	buttonsound
+	promptbutton
 	end
 
 PackFullFScript:
@@ -1747,7 +1747,7 @@
 .Erin:
 	opentext
 	farwritetext ErinRematchGiftText
-	buttonsound
+	promptbutton
 	end
 
 GymStatue1Script:
@@ -1762,7 +1762,7 @@
 	getcurlandmarkname STRING_BUFFER_3
 	opentext
 	farwritetext GymStatue_CityGymText
-	buttonsound
+	promptbutton
 	farwritetext GymStatue_WinningTrainersText
 	waitbutton
 	closetext
@@ -1786,7 +1786,7 @@
 	faceplayer
 	opentext
 	farwritetext CoinVendor_WelcomeText
-	buttonsound
+	promptbutton
 	checkitem COIN_CASE
 	iftrue CoinVendor_IntroScript
 	farwritetext CoinVendor_NoCoinCaseText
--- a/engine/gfx/color.asm
+++ b/engine/gfx/color.asm
@@ -1075,21 +1075,21 @@
 	ld a, $e4
 	ldh [rBGP], a
 	ld de, vTiles1
-	ld bc, 20 tiles
+	ld bc, (6 + SCREEN_WIDTH + 6) * 5 * 2
 	call CopyData
-	ld b, 18
+	ld b, SCREEN_HEIGHT
 .loop
 	push bc
-	ld bc, $c
+	ld bc, 6 * 2
 	call CopyData
-	ld bc, $28
+	ld bc, SCREEN_WIDTH * 2
 	call ClearBytes
-	ld bc, $c
+	ld bc, 6 * 2
 	call CopyData
 	pop bc
 	dec b
 	jr nz, .loop
-	ld bc, $140
+	ld bc, (6 + SCREEN_WIDTH + 6) * 5 * 2
 	call CopyData
 	ld bc, $100
 	call ClearBytes
@@ -1195,6 +1195,7 @@
 INCBIN "gfx/sgb/sgb_border.bin"
 
 SGBBorderPalettes:
+; assumed to come after SGBBorderMap
 INCLUDE "gfx/sgb/sgb_border.pal"
 
 SGBBorder:
--- a/engine/items/tmhm.asm
+++ b/engine/items/tmhm.asm
@@ -371,7 +371,7 @@
 	ld [hl], "H"
 	inc hl
 	ld de, wTempTMHM
-	lb bc, PRINTNUM_RIGHTALIGN | 1, 2
+	lb bc, PRINTNUM_LEFTALIGN | 1, 2
 	call PrintNum
 	pop af
 	ld [wTempTMHM], a
--- a/engine/link/link.asm
+++ b/engine/link/link.asm
@@ -371,13 +371,13 @@
 	jr z, .next
 	sub $3
 	jr nc, .skip
-	farcall DeutenEnglischenPost
+	farcall ConvertEnglishMailToFrenchGerman
 	jr .next
 
 .skip
 	cp $2
 	jr nc, .next
-	farcall HandleSpanishItalianMail
+	farcall ConvertEnglishMailToSpanishItalian
 
 .next
 	pop de
@@ -875,13 +875,13 @@
 	jr z, .next
 	sub $3
 	jr nc, .italian_spanish
-	farcall HandleFrenchGermanMail
+	farcall ConvertFrenchGermanMailToEnglish
 	jr .next
 
 .italian_spanish
 	cp $2
 	jr nc, .next
-	farcall HandleSpanishItalianMail
+	farcall ConvertSpanishItalianMailToEnglish
 
 .next
 	pop de
--- a/engine/math/print_num.asm
+++ b/engine/math/print_num.asm
@@ -6,7 +6,7 @@
 ; digits will be in front of the decimal point.
 ; Some extra flags can be given in bits 5-7 of b.
 ; Bit 5: money if set (unless left-aligned without leading zeros)
-; Bit 6: right-aligned if set
+; Bit 6: left-aligned if set
 ; Bit 7: print leading zeros if set
 
 	push bc
--- a/engine/menus/menu_2.asm
+++ b/engine/menus/menu_2.asm
@@ -161,7 +161,7 @@
 	call PlaceString
 	hlcoord 8, 5
 	ld de, wParkBallsRemaining
-	lb bc, PRINTNUM_RIGHTALIGN | 1, 2
+	lb bc, PRINTNUM_LEFTALIGN | 1, 2
 	call PrintNum
 	hlcoord 1, 1
 	ld de, .CAUGHT
@@ -187,7 +187,7 @@
 	ld l, c
 	inc hl
 	ld c, 3
-	call Print8BitNumRightAlign
+	call Print8BitNumLeftAlign
 
 .skip_level
 	pop af
--- a/engine/movie/crystal_intro.asm
+++ b/engine/movie/crystal_intro.asm
@@ -445,7 +445,7 @@
 	ldh [hBGMapMode], a
 	ld a, $1
 	ldh [rVBK], a
-	ld hl, IntroTilemap001
+	ld hl, IntroUnownAAttrmap
 	debgcoord 0, 0
 	call Intro_DecompressRequest2bpp_64Tiles
 	ld a, $0
@@ -456,7 +456,7 @@
 	ld hl, IntroPulseGFX
 	ld de, vTiles0 tile $00
 	call Intro_DecompressRequest2bpp_128Tiles
-	ld hl, IntroTilemap002
+	ld hl, IntroUnownATilemap
 	debgcoord 0, 0
 	call Intro_DecompressRequest2bpp_64Tiles
 	ldh a, [rSVBK]
@@ -463,11 +463,11 @@
 	push af
 	ld a, BANK(wBGPals1)
 	ldh [rSVBK], a
-	ld hl, IntroPalette2
+	ld hl, IntroUnownsPalette
 	ld de, wBGPals1
 	ld bc, 16 palettes
 	call CopyBytes
-	ld hl, IntroPalette2
+	ld hl, IntroUnownsPalette
 	ld de, wBGPals2
 	ld bc, 16 palettes
 	call CopyBytes
@@ -521,7 +521,7 @@
 	ldh [hBGMapMode], a
 	ld a, $1
 	ldh [rVBK], a
-	ld hl, IntroTilemap003
+	ld hl, IntroBackgroundAttrmap
 	debgcoord 0, 0
 	call Intro_DecompressRequest2bpp_64Tiles
 	ld a, $0
@@ -529,7 +529,7 @@
 	ld hl, IntroBackgroundGFX
 	ld de, vTiles2 tile $00
 	call Intro_DecompressRequest2bpp_128Tiles
-	ld hl, IntroTilemap004
+	ld hl, IntroBackgroundTilemap
 	debgcoord 0, 0
 	call Intro_DecompressRequest2bpp_64Tiles
 	ldh a, [rSVBK]
@@ -536,11 +536,11 @@
 	push af
 	ld a, BANK(wBGPals1)
 	ldh [rSVBK], a
-	ld hl, IntroPalette1
+	ld hl, IntroBackgroundPalette
 	ld de, wBGPals1
 	ld bc, 16 palettes
 	call CopyBytes
-	ld hl, IntroPalette1
+	ld hl, IntroBackgroundPalette
 	ld de, wBGPals2
 	ld bc, 16 palettes
 	call CopyBytes
@@ -584,7 +584,7 @@
 	ldh [hLCDCPointer], a
 	ld a, $1
 	ldh [rVBK], a
-	ld hl, IntroTilemap005
+	ld hl, IntroUnownHIAttrmap
 	debgcoord 0, 0
 	call Intro_DecompressRequest2bpp_64Tiles
 	ld a, $0
@@ -595,7 +595,7 @@
 	ld hl, IntroPulseGFX
 	ld de, vTiles0 tile $00
 	call Intro_DecompressRequest2bpp_128Tiles
-	ld hl, IntroTilemap006
+	ld hl, IntroUnownHITilemap
 	debgcoord 0, 0
 	call Intro_DecompressRequest2bpp_64Tiles
 	ldh a, [rSVBK]
@@ -602,11 +602,11 @@
 	push af
 	ld a, BANK(wBGPals1)
 	ldh [rSVBK], a
-	ld hl, IntroPalette2
+	ld hl, IntroUnownsPalette
 	ld de, wBGPals1
 	ld bc, 16 palettes
 	call CopyBytes
-	ld hl, IntroPalette2
+	ld hl, IntroUnownsPalette
 	ld de, wBGPals2
 	ld bc, 16 palettes
 	call CopyBytes
@@ -682,7 +682,7 @@
 
 	ld a, $1
 	ldh [rVBK], a
-	ld hl, IntroTilemap003
+	ld hl, IntroBackgroundAttrmap
 	debgcoord 0, 0
 	call Intro_DecompressRequest2bpp_64Tiles
 
@@ -700,7 +700,7 @@
 	ld de, vTiles2 tile $00
 	call Intro_DecompressRequest2bpp_128Tiles
 
-	ld hl, IntroTilemap004
+	ld hl, IntroBackgroundTilemap
 	debgcoord 0, 0
 	call Intro_DecompressRequest2bpp_64Tiles
 
@@ -709,12 +709,12 @@
 	ld a, BANK(wBGPals1)
 	ldh [rSVBK], a
 
-	ld hl, IntroPalette1
+	ld hl, IntroBackgroundPalette
 	ld de, wBGPals1
 	ld bc, 16 palettes
 	call CopyBytes
 
-	ld hl, IntroPalette1
+	ld hl, IntroBackgroundPalette
 	ld de, wBGPals2
 	ld bc, 16 palettes
 	call CopyBytes
@@ -852,7 +852,7 @@
 	ldh [hLCDCPointer], a
 	ld a, $1
 	ldh [rVBK], a
-	ld hl, IntroTilemap007
+	ld hl, IntroUnownsAttrmap
 	debgcoord 0, 0
 	call Intro_DecompressRequest2bpp_64Tiles
 	ld a, $0
@@ -860,7 +860,7 @@
 	ld hl, IntroUnownsGFX
 	ld de, vTiles2 tile $00
 	call Intro_DecompressRequest2bpp_128Tiles
-	ld hl, IntroTilemap008
+	ld hl, IntroUnownsTilemap
 	debgcoord 0, 0
 	call Intro_DecompressRequest2bpp_64Tiles
 	ldh a, [rSVBK]
@@ -867,11 +867,11 @@
 	push af
 	ld a, BANK(wBGPals1)
 	ldh [rSVBK], a
-	ld hl, IntroPalette2
+	ld hl, IntroUnownsPalette
 	ld de, wBGPals1
 	ld bc, 16 palettes
 	call CopyBytes
-	ld hl, IntroPalette2
+	ld hl, IntroUnownsPalette
 	ld de, wBGPals2
 	ld bc, 16 palettes
 	call CopyBytes
@@ -975,7 +975,7 @@
 	ldh [hBGMapMode], a
 	ld a, $1
 	ldh [rVBK], a
-	ld hl, IntroTilemap003
+	ld hl, IntroBackgroundAttrmap
 	debgcoord 0, 0
 	call Intro_DecompressRequest2bpp_64Tiles
 	ld a, $0
@@ -986,7 +986,7 @@
 	ld hl, IntroBackgroundGFX
 	ld de, vTiles2 tile $00
 	call Intro_DecompressRequest2bpp_128Tiles
-	ld hl, IntroTilemap004
+	ld hl, IntroBackgroundTilemap
 	debgcoord 0, 0
 	call Intro_DecompressRequest2bpp_64Tiles
 	ldh a, [rSVBK]
@@ -993,11 +993,11 @@
 	push af
 	ld a, BANK(wBGPals1)
 	ldh [rSVBK], a
-	ld hl, IntroPalette1
+	ld hl, IntroBackgroundPalette
 	ld de, wBGPals1
 	ld bc, 16 palettes
 	call CopyBytes
-	ld hl, IntroPalette1
+	ld hl, IntroBackgroundPalette
 	ld de, wBGPals2
 	ld bc, 16 palettes
 	call CopyBytes
@@ -1079,7 +1079,7 @@
 	ldh [hBGMapMode], a
 	ld a, $1
 	ldh [rVBK], a
-	ld hl, IntroTilemap009
+	ld hl, IntroSuicuneJumpAttrmap
 	debgcoord 0, 0
 	call Intro_DecompressRequest2bpp_64Tiles
 	ld a, $0
@@ -1094,7 +1094,7 @@
 	ld hl, vTiles1 tile $00
 	lb bc, BANK(IntroGrass4GFX), 1
 	call Request2bpp
-	ld hl, IntroTilemap010
+	ld hl, IntroSuicuneJumpTilemap
 	debgcoord 0, 0
 	call Intro_DecompressRequest2bpp_64Tiles
 	call Intro_LoadTilemap
@@ -1102,11 +1102,11 @@
 	push af
 	ld a, BANK(wBGPals1)
 	ldh [rSVBK], a
-	ld hl, IntroPalette5
+	ld hl, IntroSuicunePalette
 	ld de, wBGPals1
 	ld bc, 16 palettes
 	call CopyBytes
-	ld hl, IntroPalette5
+	ld hl, IntroSuicunePalette
 	ld de, wBGPals2
 	ld bc, 16 palettes
 	call CopyBytes
@@ -1161,7 +1161,7 @@
 	ldh [hBGMapMode], a
 	ld a, $1
 	ldh [rVBK], a
-	ld hl, IntroTilemap011
+	ld hl, IntroSuicuneCloseAttrmap
 	debgcoord 0, 0
 	call Intro_DecompressRequest2bpp_64Tiles
 	ld a, $0
@@ -1169,7 +1169,7 @@
 	ld hl, IntroSuicuneCloseGFX
 	ld de, vTiles1 tile $00
 	call Intro_DecompressRequest2bpp_255Tiles
-	ld hl, IntroTilemap012
+	ld hl, IntroSuicuneCloseTilemap
 	debgcoord 0, 0
 	call Intro_DecompressRequest2bpp_64Tiles
 	ldh a, [rSVBK]
@@ -1176,11 +1176,11 @@
 	push af
 	ld a, BANK(wBGPals1)
 	ldh [rSVBK], a
-	ld hl, IntroPalette4
+	ld hl, IntroSuicuneClosePalette
 	ld de, wBGPals1
 	ld bc, 16 palettes
 	call CopyBytes
-	ld hl, IntroPalette4
+	ld hl, IntroSuicuneClosePalette
 	ld de, wBGPals2
 	ld bc, 16 palettes
 	call CopyBytes
@@ -1227,7 +1227,7 @@
 	ldh [hBGMapMode], a
 	ld a, $1
 	ldh [rVBK], a
-	ld hl, IntroTilemap013
+	ld hl, IntroSuicuneBackAttrmap
 	debgcoord 0, 0
 	call Intro_DecompressRequest2bpp_64Tiles
 	ld a, $0
@@ -1242,7 +1242,7 @@
 	ld hl, vTiles1 tile $7f
 	lb bc, BANK(IntroGrass4GFX), 1
 	call Request2bpp
-	ld hl, IntroTilemap014
+	ld hl, IntroSuicuneBackTilemap
 	debgcoord 0, 0
 	call Intro_DecompressRequest2bpp_64Tiles
 	call Intro_LoadTilemap
@@ -1250,11 +1250,11 @@
 	push af
 	ld a, BANK(wBGPals1)
 	ldh [rSVBK], a
-	ld hl, IntroPalette5
+	ld hl, IntroSuicunePalette
 	ld de, wBGPals1
 	ld bc, 16 palettes
 	call CopyBytes
-	ld hl, IntroPalette5
+	ld hl, IntroSuicunePalette
 	ld de, wBGPals2
 	ld bc, 16 palettes
 	call CopyBytes
@@ -1404,7 +1404,7 @@
 	ldh [hBGMapMode], a
 	ld a, $1
 	ldh [rVBK], a
-	ld hl, IntroTilemap015
+	ld hl, IntroCrystalUnownsAttrmap
 	debgcoord 0, 0
 	call Intro_DecompressRequest2bpp_64Tiles
 	ld a, $0
@@ -1412,7 +1412,7 @@
 	ld hl, IntroCrystalUnownsGFX
 	ld de, vTiles2 tile $00
 	call Intro_DecompressRequest2bpp_128Tiles
-	ld hl, IntroTilemap017
+	ld hl, IntroCrystalUnownsTilemap
 	debgcoord 0, 0
 	call Intro_DecompressRequest2bpp_64Tiles
 	ldh a, [rSVBK]
@@ -1419,11 +1419,11 @@
 	push af
 	ld a, BANK(wBGPals1)
 	ldh [rSVBK], a
-	ld hl, IntroPalette3
+	ld hl, IntroCrystalUnownsPalette
 	ld de, wBGPals1
 	ld bc, 16 palettes
 	call CopyBytes
-	ld hl, IntroPalette3
+	ld hl, IntroCrystalUnownsPalette
 	ld de, wBGPals2
 	ld bc, 16 palettes
 	call CopyBytes
@@ -2038,14 +2038,14 @@
 IntroBackgroundGFX:
 INCBIN "gfx/intro/background.2bpp.lz"
 
-IntroTilemap004:
-INCBIN "gfx/intro/004.tilemap.lz"
+IntroBackgroundTilemap:
+INCBIN "gfx/intro/background.tilemap.lz"
 
-IntroTilemap003:
-INCBIN "gfx/intro/003.tilemap.lz"
+IntroBackgroundAttrmap:
+INCBIN "gfx/intro/background.attrmap.lz"
 
-IntroPalette1:
-INCLUDE "gfx/intro/intro_1.pal"
+IntroBackgroundPalette:
+INCLUDE "gfx/intro/background.pal"
 
 IntroUnownsGFX:
 INCBIN "gfx/intro/unowns.2bpp.lz"
@@ -2053,50 +2053,50 @@
 IntroPulseGFX:
 INCBIN "gfx/intro/pulse.2bpp.lz"
 
-IntroTilemap002:
-INCBIN "gfx/intro/002.tilemap.lz"
+IntroUnownATilemap:
+INCBIN "gfx/intro/unown_a.tilemap.lz"
 
-IntroTilemap001:
-INCBIN "gfx/intro/001.tilemap.lz"
+IntroUnownAAttrmap:
+INCBIN "gfx/intro/unown_a.attrmap.lz"
 
-IntroTilemap006:
-INCBIN "gfx/intro/006.tilemap.lz"
+IntroUnownHITilemap:
+INCBIN "gfx/intro/unown_hi.tilemap.lz"
 
-IntroTilemap005:
-INCBIN "gfx/intro/005.tilemap.lz"
+IntroUnownHIAttrmap:
+INCBIN "gfx/intro/unown_hi.attrmap.lz"
 
-IntroTilemap008:
-INCBIN "gfx/intro/008.tilemap.lz"
+IntroUnownsTilemap:
+INCBIN "gfx/intro/unowns.tilemap.lz"
 
-IntroTilemap007:
-INCBIN "gfx/intro/007.tilemap.lz"
+IntroUnownsAttrmap:
+INCBIN "gfx/intro/unowns.attrmap.lz"
 
-IntroPalette2:
-INCLUDE "gfx/intro/intro_2.pal"
+IntroUnownsPalette:
+INCLUDE "gfx/intro/unowns.pal"
 
 IntroCrystalUnownsGFX:
 INCBIN "gfx/intro/crystal_unowns.2bpp.lz"
 
-IntroTilemap017:
-INCBIN "gfx/intro/017.tilemap.lz"
+IntroCrystalUnownsTilemap:
+INCBIN "gfx/intro/crystal_unowns.tilemap.lz"
 
-IntroTilemap015:
-INCBIN "gfx/intro/015.tilemap.lz"
+IntroCrystalUnownsAttrmap:
+INCBIN "gfx/intro/crystal_unowns.attrmap.lz"
 
-IntroPalette3:
-INCLUDE "gfx/intro/intro_3.pal"
+IntroCrystalUnownsPalette:
+INCLUDE "gfx/intro/crystal_unowns.pal"
 
 IntroSuicuneCloseGFX:
 INCBIN "gfx/intro/suicune_close.2bpp.lz"
 
-IntroTilemap012:
-INCBIN "gfx/intro/012.tilemap.lz"
+IntroSuicuneCloseTilemap:
+INCBIN "gfx/intro/suicune_close.tilemap.lz"
 
-IntroTilemap011:
-INCBIN "gfx/intro/011.tilemap.lz"
+IntroSuicuneCloseAttrmap:
+INCBIN "gfx/intro/suicune_close.attrmap.lz"
 
-IntroPalette4:
-INCLUDE "gfx/intro/intro_4.pal"
+IntroSuicuneClosePalette:
+INCLUDE "gfx/intro/suicune_close.pal"
 
 IntroSuicuneJumpGFX:
 INCBIN "gfx/intro/suicune_jump.2bpp.lz"
@@ -2104,20 +2104,20 @@
 IntroSuicuneBackGFX:
 INCBIN "gfx/intro/suicune_back.2bpp.lz"
 
-IntroTilemap010:
-INCBIN "gfx/intro/010.tilemap.lz"
+IntroSuicuneJumpTilemap:
+INCBIN "gfx/intro/suicune_jump.tilemap.lz"
 
-IntroTilemap009:
-INCBIN "gfx/intro/009.tilemap.lz"
+IntroSuicuneJumpAttrmap:
+INCBIN "gfx/intro/suicune_jump.attrmap.lz"
 
-IntroTilemap014:
-INCBIN "gfx/intro/014.tilemap.lz"
+IntroSuicuneBackTilemap:
+INCBIN "gfx/intro/suicune_back.tilemap.lz"
 
-IntroTilemap013:
-INCBIN "gfx/intro/013.tilemap.lz"
+IntroSuicuneBackAttrmap:
+INCBIN "gfx/intro/suicune_back.attrmap.lz"
 
-IntroPalette5:
-INCLUDE "gfx/intro/intro_5.pal"
+IntroSuicunePalette:
+INCLUDE "gfx/intro/suicune.pal"
 
 IntroUnownBackGFX:
 INCBIN "gfx/intro/unown_back.2bpp.lz"
--- a/engine/overworld/events.asm
+++ b/engine/overworld/events.asm
@@ -759,40 +759,41 @@
 	ret
 
 .pointers
-	dw .zero
-	dw .one
-	dw .two
-	dw .three
-	dw .four
-	dw .five
-	dw .six
-	dw .seven
+; entries correspond to PLAYERMOVEMENT_* constants
+	dw .normal
+	dw .warp
+	dw .turn
+	dw .force_turn
+	dw .finish
+	dw .continue
+	dw .exit_water
+	dw .jump
 
-.zero
-.four
+.normal:
+.finish:
 	xor a
 	ld c, a
 	ret
 
-.seven
+.jump:
 	call ret_968d7 ; mobile
 	xor a
 	ld c, a
 	ret
 
-.one
-	ld a, 5
+.warp:
+	ld a, PLAYEREVENT_WARP
 	ld c, a
 	scf
 	ret
 
-.two
-	ld a, 9
+.turn:
+	ld a, PLAYEREVENT_JOYCHANGEFACING
 	ld c, a
 	scf
 	ret
 
-.three
+.force_turn:
 ; force the player to move in some direction
 	ld a, BANK(Script_ForcedMovement)
 	ld hl, Script_ForcedMovement
@@ -802,8 +803,8 @@
 	scf
 	ret
 
-.five
-.six
+.continue:
+.exit_water:
 	ld a, -1
 	ld c, a
 	and a
@@ -923,13 +924,13 @@
 	ret
 
 .hatch
-	ld a, 8
+	ld a, PLAYEREVENT_HATCH
 	scf
 	ret
 
 ; unused
 .unreferenced
-	ld a, 7
+	ld a, PLAYEREVENT_WHITEOUT
 	scf
 	ret
 
@@ -1626,7 +1627,7 @@
 	jr c, .fall_down_hole
 
 .next
-	ld hl, OBJECT_STRUCT_LENGTH
+	ld hl, OBJECT_LENGTH
 	add hl, de
 	ld d, h
 	ld e, l
--- a/engine/overworld/map_objects.asm
+++ b/engine/overworld/map_objects.asm
@@ -10,7 +10,7 @@
 	push af
 	ld h, b
 	ld l, c
-	ld bc, OBJECT_STRUCT_LENGTH
+	ld bc, OBJECT_LENGTH
 	xor a
 	call ByteFill
 	pop af
@@ -2082,11 +2082,11 @@
 	jr z, .next
 	push bc
 	xor a
-	ld bc, OBJECT_STRUCT_LENGTH
+	ld bc, OBJECT_LENGTH
 	call ByteFill
 	pop bc
 .next
-	ld hl, OBJECT_STRUCT_LENGTH
+	ld hl, OBJECT_LENGTH
 	add hl, de
 	ld d, h
 	ld e, l
@@ -2149,7 +2149,7 @@
 	jr z, .ok
 	call Function565c
 .ok
-	ld hl, OBJECT_STRUCT_LENGTH
+	ld hl, OBJECT_LENGTH
 	add hl, bc
 	ld b, h
 	ld c, l
@@ -2205,7 +2205,7 @@
 .loop
 	ldh [hMapObjectIndexBuffer], a
 	call SetFacing_Standing
-	ld hl, OBJECT_STRUCT_LENGTH
+	ld hl, OBJECT_LENGTH
 	add hl, bc
 	ld b, h
 	ld c, l
@@ -2421,7 +2421,7 @@
 	jr z, .next
 	call Function437b
 .next
-	ld hl, OBJECT_STRUCT_LENGTH
+	ld hl, OBJECT_LENGTH
 	add hl, bc
 	ld b, h
 	ld c, l
@@ -2582,7 +2582,7 @@
 	add hl, bc
 	set OBJ_FLAGS2_5, [hl]
 .next
-	ld hl, OBJECT_STRUCT_LENGTH
+	ld hl, OBJECT_LENGTH
 	add hl, bc
 	ld b, h
 	ld c, l
@@ -2625,7 +2625,7 @@
 	add hl, bc
 	res OBJ_FLAGS2_5, [hl]
 .next
-	ld hl, OBJECT_STRUCT_LENGTH
+	ld hl, OBJECT_LENGTH
 	add hl, bc
 	ld b, h
 	ld c, l
@@ -2750,7 +2750,7 @@
 	add e
 	ld [hl], a
 .skip
-	ld hl, OBJECT_STRUCT_LENGTH
+	ld hl, OBJECT_LENGTH
 	add hl, bc
 	ld b, h
 	ld c, l
@@ -2809,7 +2809,7 @@
 	jr .add
 
 .skip
-	ld hl, OBJECT_STRUCT_LENGTH
+	ld hl, OBJECT_LENGTH
 	add hl, bc
 	ld b, h
 	ld c, l
@@ -2817,7 +2817,7 @@
 	jr .next
 
 .add
-	ld hl, OBJECT_STRUCT_LENGTH
+	ld hl, OBJECT_LENGTH
 	add hl, bc
 	ld b, h
 	ld c, l
--- a/engine/overworld/map_objects_2.asm
+++ b/engine/overworld/map_objects_2.asm
@@ -19,7 +19,7 @@
 	ld [de], a
 	inc de
 	pop bc
-	ld hl, OBJECT_LENGTH
+	ld hl, MAPOBJECT_LENGTH
 	add hl, bc
 	ld b, h
 	ld c, l
--- a/engine/overworld/npc_movement.asm
+++ b/engine/overworld/npc_movement.asm
@@ -369,7 +369,7 @@
 	jr nz, .setcarry
 
 .next
-	ld hl, OBJECT_STRUCT_LENGTH
+	ld hl, OBJECT_LENGTH
 	add hl, bc
 	ld b, h
 	ld c, l
@@ -523,7 +523,7 @@
 	jr .yes
 
 .next
-	ld hl, OBJECT_STRUCT_LENGTH
+	ld hl, OBJECT_LENGTH
 	add hl, bc
 	ld b, h
 	ld c, l
--- a/engine/overworld/overworld.asm
+++ b/engine/overworld/overworld.asm
@@ -109,7 +109,7 @@
 	push af
 	ld a, [hl]
 	call AddSpriteGFX
-	ld de, OBJECT_LENGTH
+	ld de, MAPOBJECT_LENGTH
 	add hl, de
 	pop af
 	inc a
--- a/engine/overworld/player_movement.asm
+++ b/engine/overworld/player_movement.asm
@@ -120,7 +120,7 @@
 	ld c, a
 	call CheckWhirlpoolTile
 	jr c, .not_whirlpool
-	ld a, 3
+	ld a, PLAYERMOVEMENT_FORCE_TURN
 	scf
 	ret
 
@@ -222,7 +222,7 @@
 .continue_walk
 	ld a, STEP_WALK
 	call .DoStep
-	ld a, 5
+	ld a, PLAYERMOVEMENT_CONTINUE
 	scf
 	ret
 
@@ -247,7 +247,7 @@
 
 	ld a, STEP_TURN
 	call .DoStep
-	ld a, 2
+	ld a, PLAYERMOVEMENT_TURN
 	scf
 	ret
 
@@ -345,7 +345,7 @@
 	call PlayMapMusic
 	ld a, STEP_WALK
 	call .DoStep
-	ld a, 6
+	ld a, PLAYERMOVEMENT_EXIT_WATER
 	scf
 	ret
 
@@ -374,7 +374,7 @@
 	call PlaySFX
 	ld a, STEP_LEDGE
 	call .DoStep
-	ld a, 7
+	ld a, PLAYERMOVEMENT_JUMP
 	scf
 	ret
 
@@ -428,11 +428,11 @@
 
 	call .StandInPlace
 	scf
-	ld a, 1
+	ld a, PLAYERMOVEMENT_WARP
 	ret
 
 .not_warp
-	xor a
+	xor a ; PLAYERMOVEMENT_NORMAL
 	ret
 
 .EdgeWarps:
@@ -465,7 +465,7 @@
 	ld a, [hl]
 	ld [wPlayerTurningDirection], a
 
-	ld a, 4
+	ld a, PLAYERMOVEMENT_FINISH
 	ret
 
 .Steps:
--- a/engine/overworld/player_object.asm
+++ b/engine/overworld/player_object.asm
@@ -132,9 +132,9 @@
 	and a
 	ret nz ; masked
 
-	ld hl, wObjectStructs + OBJECT_STRUCT_LENGTH * 1
+	ld hl, wObjectStructs + OBJECT_LENGTH * 1
 	ld a, 1
-	ld de, OBJECT_STRUCT_LENGTH
+	ld de, OBJECT_LENGTH
 .loop
 	ldh [hObjectStructIndexBuffer], a
 	ld a, [hl]
@@ -224,7 +224,7 @@
 	ret
 
 InitializeVisibleSprites:
-	ld bc, wMapObjects + OBJECT_LENGTH
+	ld bc, wMapObjects + MAPOBJECT_LENGTH
 	ld a, 1
 .loop
 	ldh [hMapObjectIndexBuffer], a
@@ -271,7 +271,7 @@
 	jp c, .ret
 
 .next
-	ld hl, OBJECT_LENGTH
+	ld hl, MAPOBJECT_LENGTH
 	add hl, bc
 	ld b, h
 	ld c, l
@@ -311,7 +311,7 @@
 	ld d, a
 	ld a, [wXCoord]
 	ld e, a
-	ld bc, wMapObjects + OBJECT_LENGTH
+	ld bc, wMapObjects + MAPOBJECT_LENGTH
 	ld a, 1
 .loop_v
 	ldh [hMapObjectIndexBuffer], a
@@ -345,7 +345,7 @@
 	pop de
 
 .next_v
-	ld hl, OBJECT_LENGTH
+	ld hl, MAPOBJECT_LENGTH
 	add hl, bc
 	ld b, h
 	ld c, l
@@ -367,7 +367,7 @@
 	ld e, a
 	ld a, [wYCoord]
 	ld d, a
-	ld bc, wMapObjects + OBJECT_LENGTH
+	ld bc, wMapObjects + MAPOBJECT_LENGTH
 	ld a, 1
 .loop_h
 	ldh [hMapObjectIndexBuffer], a
@@ -401,7 +401,7 @@
 	pop de
 
 .next_h
-	ld hl, OBJECT_LENGTH
+	ld hl, MAPOBJECT_LENGTH
 	add hl, bc
 	ld b, h
 	ld c, l
--- a/engine/overworld/scripting.asm
+++ b/engine/overworld/scripting.asm
@@ -148,7 +148,7 @@
 	dw Script_farjumptext                ; 52
 	dw Script_jumptext                   ; 53
 	dw Script_waitbutton                 ; 54
-	dw Script_buttonsound                ; 55
+	dw Script_promptbutton               ; 55
 	dw Script_pokepic                    ; 56
 	dw Script_closepokepic               ; 57
 	dw Script__2dmenu                    ; 58
@@ -398,7 +398,7 @@
 
 	jp WaitButton
 
-Script_buttonsound:
+Script_promptbutton:
 ; script command 0x55
 
 	ldh a, [hOAMUpdate]
@@ -406,7 +406,7 @@
 	ld a, $1
 	ldh [hOAMUpdate], a
 	call WaitBGMap
-	call ButtonSound
+	call PromptButton
 	pop af
 	ldh [hOAMUpdate], a
 	ret
@@ -525,7 +525,7 @@
 	end
 
 .Full:
-	buttonsound
+	promptbutton
 	pocketisfull
 	end
 
@@ -1952,7 +1952,7 @@
 	call ResetStringBuffer1
 	call GetMoneyAccount
 	ld hl, wStringBuffer1
-	lb bc, PRINTNUM_RIGHTALIGN | 3, 6
+	lb bc, PRINTNUM_LEFTALIGN | 3, 6
 	call PrintNum
 	ld de, wStringBuffer1
 	jp GetStringBuffer
@@ -1964,7 +1964,7 @@
 	call ResetStringBuffer1
 	ld hl, wStringBuffer1
 	ld de, wCoins
-	lb bc, PRINTNUM_RIGHTALIGN | 2, 6
+	lb bc, PRINTNUM_LEFTALIGN | 2, 6
 	call PrintNum
 	ld de, wStringBuffer1
 	jp GetStringBuffer
@@ -1976,7 +1976,7 @@
 	call ResetStringBuffer1
 	ld de, wScriptVar
 	ld hl, wStringBuffer1
-	lb bc, PRINTNUM_RIGHTALIGN | 1, 3
+	lb bc, PRINTNUM_LEFTALIGN | 1, 3
 	call PrintNum
 	ld de, wStringBuffer1
 	jp GetStringBuffer
--- a/engine/phone/scripts/bill.asm
+++ b/engine/phone/scripts/bill.asm
@@ -4,22 +4,22 @@
 	checktime NITE
 	iftrue .nitegreet
 	farwritetext BillPhoneMornGreetingText
-	buttonsound
+	promptbutton
 	sjump .main
 
 .daygreet
 	farwritetext BillPhoneDayGreetingText
-	buttonsound
+	promptbutton
 	sjump .main
 
 .nitegreet
 	farwritetext BillPhoneNiteGreetingText
-	buttonsound
+	promptbutton
 	sjump .main
 
 .main
 	farwritetext BillPhoneGenericText
-	buttonsound
+	promptbutton
 	readvar VAR_BOXSPACE
 	getnum STRING_BUFFER_3
 	ifequal 0, .full
--- a/engine/phone/scripts/brent_gossip.asm
+++ b/engine/phone/scripts/brent_gossip.asm
@@ -13,50 +13,50 @@
 
 .Father:
 	farwritetext BrentFatherGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Grandpa:
 	farwritetext BrentGrandpaGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Goldenrod:
 	farwritetext BrentGoldenrodGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Route25:
 	farwritetext BrentRoute25GossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Abra:
 	farwritetext BrentAbraGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Sister:
 	farwritetext BrentSisterGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Milk:
 	farwritetext BrentMilkGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Battling:
 	farwritetext BrentBattlingGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .FlowerShop:
 	farwritetext BrentFlowerShopGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .KimonoGirl:
 	farwritetext BrentKimonoGirlGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
--- a/engine/phone/scripts/buena.asm
+++ b/engine/phone/scripts/buena.asm
@@ -18,17 +18,17 @@
 	checktime DAY
 	iftrue .day
 	writetext BuenaPhoneNiteAnswerText
-	buttonsound
+	promptbutton
 	end
 
 .morn
 	writetext BuenaPhoneMorningAnswerText
-	buttonsound
+	promptbutton
 	end
 
 .day
 	writetext BuenaPhoneDayAnswerText
-	buttonsound
+	promptbutton
 	end
 
 BuenaPhoneScript_AfterMidnightCallee:
@@ -43,22 +43,22 @@
 	checktime DAY
 	iftrue .day
 	writetext BuenaPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .morn
 	writetext BuenaPhoneMorningText
-	buttonsound
+	promptbutton
 	end
 
 .day
 	writetext BuenaPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 BuenaPhoneScript_AfterMidnightCaller:
 	writetext BuenaPhoneMidnightText
-	buttonsound
+	promptbutton
 	end
 
 BuenaPhoneScript_Rocket:
--- a/engine/phone/scripts/chad_gossip.asm
+++ b/engine/phone/scripts/chad_gossip.asm
@@ -13,50 +13,50 @@
 
 .Blue:
 	farwritetext ChadBlueGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Daisy:
 	farwritetext ChadDaisyGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .ProfElm:
 	farwritetext ChadProfElmGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Dream:
 	farwritetext ChadProfOaksDreamGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Kurt:
 	farwritetext ChadKurtGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .League:
 	farwritetext ChadLeagueGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .RadioShow:
 	farwritetext ChadPokemonTalkGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Battling:
 	farwritetext ChadProfOakTrainerGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .DaisyTea:
 	farwritetext ChadDaisyTeaGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Traveled:
 	farwritetext ChadProfOakTravelingGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
--- a/engine/phone/scripts/generic_callee.asm
+++ b/engine/phone/scripts/generic_callee.asm
@@ -47,102 +47,102 @@
 
 .Jack:
 	farwritetext JackAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Huey:
 	farwritetext HueyAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Gaven:
 	farwritetext GavenAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Jose:
 	farwritetext JoseAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Joey:
 	farwritetext JoeyAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Wade:
 	farwritetext WadeAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Ralph:
 	farwritetext RalphAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Anthony:
 	farwritetext AnthonyAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Todd:
 	farwritetext ToddAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Irwin:
 	farwritetext IrwinAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Arnie:
 	farwritetext ArnieAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Alan:
 	farwritetext AlanAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Chad:
 	farwritetext ChadAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Derek:
 	farwritetext DerekAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Tully:
 	farwritetext TullyAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Brent:
 	farwritetext BrentAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Vance:
 	farwritetext VanceAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Wilton:
 	farwritetext WiltonAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Kenji:
 	farwritetext KenjiAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Parry:
 	farwritetext ParryAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 PhoneScript_AnswerPhone_Male_Day:
@@ -170,102 +170,102 @@
 
 .Jack:
 	farwritetext JackAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Huey:
 	farwritetext HueyAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Gaven:
 	farwritetext GavenAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Jose:
 	farwritetext JoseAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Joey:
 	farwritetext JoeyAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Wade:
 	farwritetext WadeAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Ralph:
 	farwritetext RalphAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Anthony:
 	farwritetext AnthonyAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Todd:
 	farwritetext ToddAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Irwin:
 	farwritetext IrwinAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Arnie:
 	farwritetext ArnieAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Alan:
 	farwritetext AlanAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Chad:
 	farwritetext ChadAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Derek:
 	farwritetext DerekAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Tully:
 	farwritetext TullyAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Brent:
 	farwritetext BrentAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Vance:
 	farwritetext VanceAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Wilton:
 	farwritetext WiltonAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Kenji:
 	farwritetext KenjiAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Parry:
 	farwritetext ParryAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 PhoneScript_AnswerPhone_Male_Nite:
@@ -293,102 +293,102 @@
 
 .Jack:
 	farwritetext JackAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Huey:
 	farwritetext HueyAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Gaven:
 	farwritetext GavenAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Jose:
 	farwritetext JoseAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Joey:
 	farwritetext JoeyAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Wade:
 	farwritetext WadeAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Ralph:
 	farwritetext RalphAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Anthony:
 	farwritetext AnthonyAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Todd:
 	farwritetext ToddAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Irwin:
 	farwritetext IrwinAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Arnie:
 	farwritetext ArnieAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Alan:
 	farwritetext AlanAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Chad:
 	farwritetext ChadAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Derek:
 	farwritetext DerekAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Tully:
 	farwritetext TullyAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Brent:
 	farwritetext BrentAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Vance:
 	farwritetext VanceAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Wilton:
 	farwritetext WiltonAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Kenji:
 	farwritetext KenjiAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Parry:
 	farwritetext ParryAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 PhoneScript_AnswerPhone_Female:
@@ -408,42 +408,42 @@
 
 .Beverly:
 	farwritetext BeverlyAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Beth:
 	farwritetext BethAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Reena:
 	farwritetext ReenaAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Liz:
 	farwritetext LizAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Gina:
 	farwritetext GinaAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Dana:
 	farwritetext DanaAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Tiffany:
 	farwritetext TiffanyAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 .Erin:
 	farwritetext ErinAnswerPhoneText
-	buttonsound
+	promptbutton
 	end
 
 PhoneScript_AnswerPhone_Female_Day:
@@ -459,42 +459,42 @@
 
 .Beverly:
 	farwritetext BeverlyAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Beth:
 	farwritetext BethAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Reena:
 	farwritetext ReenaAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Liz:
 	farwritetext LizAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Gina:
 	farwritetext GinaAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Dana:
 	farwritetext DanaAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Tiffany:
 	farwritetext TiffanyAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 .Erin:
 	farwritetext ErinAnswerPhoneDayText
-	buttonsound
+	promptbutton
 	end
 
 PhoneScript_AnswerPhone_Female_Nite:
@@ -510,42 +510,42 @@
 
 .Beverly:
 	farwritetext BeverlyAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Beth:
 	farwritetext BethAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Reena:
 	farwritetext ReenaAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Liz:
 	farwritetext LizAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Gina:
 	farwritetext GinaAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Dana:
 	farwritetext DanaAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Tiffany:
 	farwritetext TiffanyAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Erin:
 	farwritetext ErinAnswerPhoneNiteText
-	buttonsound
+	promptbutton
 	end
 
 PhoneScript_GreetPhone_Male:
@@ -577,102 +577,102 @@
 
 .Jack:
 	farwritetext JackGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Huey:
 	farwritetext HueyGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Gaven:
 	farwritetext GavenGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Jose:
 	farwritetext JoseGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Joey:
 	farwritetext JoeyGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Wade:
 	farwritetext WadeGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Ralph:
 	farwritetext RalphGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Anthony:
 	farwritetext AnthonyGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Todd:
 	farwritetext ToddGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Irwin:
 	farwritetext IrwinGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Arnie:
 	farwritetext ArnieGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Alan:
 	farwritetext AlanGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Chad:
 	farwritetext ChadGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Derek:
 	farwritetext DerekGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Tully:
 	farwritetext TullyGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Brent:
 	farwritetext BrentGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Vance:
 	farwritetext VanceGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Wilton:
 	farwritetext WiltonGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Kenji:
 	farwritetext KenjiGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Parry:
 	farwritetext ParryGreetText
-	buttonsound
+	promptbutton
 	end
 
 PhoneScript_GreetPhone_Male_Day:
@@ -700,102 +700,102 @@
 
 .Jack:
 	farwritetext JackGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Huey:
 	farwritetext HueyGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Gaven:
 	farwritetext GavenGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Jose:
 	farwritetext JoseGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Joey:
 	farwritetext JoeyGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Wade:
 	farwritetext WadeGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Ralph:
 	farwritetext RalphGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Anthony:
 	farwritetext AnthonyGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Todd:
 	farwritetext ToddGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Irwin:
 	farwritetext IrwinGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Arnie:
 	farwritetext ArnieGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Alan:
 	farwritetext AlanGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Chad:
 	farwritetext ChadGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Derek:
 	farwritetext DerekGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Tully:
 	farwritetext TullyGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Brent:
 	farwritetext BrentGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Vance:
 	farwritetext VanceGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Wilton:
 	farwritetext WiltonGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Kenji:
 	farwritetext KenjiGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Parry:
 	farwritetext ParryGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 PhoneScript_GreetPhone_Male_Nite:
@@ -823,102 +823,102 @@
 
 .Jack:
 	farwritetext JackGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Huey:
 	farwritetext HueyGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Gaven:
 	farwritetext GavenGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Jose:
 	farwritetext JoseGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Joey:
 	farwritetext JoeyGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Wade:
 	farwritetext WadeGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Ralph:
 	farwritetext RalphGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Anthony:
 	farwritetext AnthonyGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Todd:
 	farwritetext ToddGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Irwin:
 	farwritetext IrwinGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Arnie:
 	farwritetext ArnieGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Alan:
 	farwritetext AlanGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Chad:
 	farwritetext ChadGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Derek:
 	farwritetext DerekGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Tully:
 	farwritetext TullyGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Brent:
 	farwritetext BrentGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Vance:
 	farwritetext VanceGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Wilton:
 	farwritetext WiltonGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Kenji:
 	farwritetext KenjiGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Parry:
 	farwritetext ParryGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 PhoneScript_GreetPhone_Female:
@@ -938,42 +938,42 @@
 
 .Beverly:
 	farwritetext BeverlyGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Beth:
 	farwritetext BethGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Reena:
 	farwritetext ReenaGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Liz:
 	farwritetext LizGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Gina:
 	farwritetext GinaGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Dana:
 	farwritetext DanaGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Tiffany:
 	farwritetext TiffanyGreetText
-	buttonsound
+	promptbutton
 	end
 
 .Erin:
 	farwritetext ErinGreetText
-	buttonsound
+	promptbutton
 	end
 
 PhoneScript_GreetPhone_Female_Day:
@@ -989,42 +989,42 @@
 
 .Beverly:
 	farwritetext BeverlyGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Beth:
 	farwritetext BethGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Reena:
 	farwritetext ReenaGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Liz:
 	farwritetext LizGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Gina:
 	farwritetext GinaGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Dana:
 	farwritetext DanaGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Tiffany:
 	farwritetext TiffanyGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 .Erin:
 	farwritetext ErinGreetDayText
-	buttonsound
+	promptbutton
 	end
 
 PhoneScript_GreetPhone_Female_Nite:
@@ -1040,42 +1040,42 @@
 
 .Beverly:
 	farwritetext BeverlyGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Beth:
 	farwritetext BethGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Reena:
 	farwritetext ReenaGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Liz:
 	farwritetext LizGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Gina:
 	farwritetext GinaGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Dana:
 	farwritetext DanaGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Tiffany:
 	farwritetext TiffanyGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 .Erin:
 	farwritetext ErinGreetNiteText
-	buttonsound
+	promptbutton
 	end
 
 PhoneScript_Generic_Male:
@@ -1100,92 +1100,92 @@
 
 .Jack:
 	farwritetext JackGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Unknown:
 	farwritetext UnknownGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Gaven:
 	farwritetext GavenGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Jose:
 	farwritetext JoseGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Joey:
 	farwritetext JoeyGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Wade:
 	farwritetext WadeGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Ralph:
 	farwritetext RalphGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Anthony:
 	farwritetext AnthonyGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Todd:
 	farwritetext ToddGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Arnie:
 	farwritetext ArnieGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Alan:
 	farwritetext AlanGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Chad:
 	farwritetext ChadGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Derek:
 	farwritetext DerekGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Tully:
 	farwritetext TullyGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Brent:
 	farwritetext BrentGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Vance:
 	farwritetext VanceGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Wilton:
 	farwritetext WiltonGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Parry:
 	farwritetext ParryGenericText
-	buttonsound
+	promptbutton
 	end
 
 PhoneScript_Generic_Female:
@@ -1201,42 +1201,42 @@
 
 .Beverly:
 	farwritetext BeverlyGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Beth:
 	farwritetext BethGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Reena:
 	farwritetext ReenaGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Liz:
 	farwritetext LizGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Gina:
 	farwritetext GinaGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Dana:
 	farwritetext DanaGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Tiffany:
 	farwritetext TiffanyGenericText
-	buttonsound
+	promptbutton
 	end
 
 .Erin:
 	farwritetext ErinGenericText
-	buttonsound
+	promptbutton
 	end
 
 PhoneScript_MonFlavorText:
@@ -1244,7 +1244,7 @@
 	farscall PhoneScript_Random2
 	ifequal $0, .TooEnergetic
 	farwritetext UnknownGenericText
-	buttonsound
+	promptbutton
 	farsjump PhoneScript_HangUpText_Male
 
 .TooEnergetic:
@@ -1252,7 +1252,7 @@
 
 .unnecessary
 	farwritetext UnknownTougherThanEverText
-	buttonsound
+	promptbutton
 	farsjump PhoneScript_HangUpText_Male
 
 GrandmaString: db "Grandma@"
--- a/engine/phone/scripts/generic_caller.asm
+++ b/engine/phone/scripts/generic_caller.asm
@@ -76,87 +76,87 @@
 
 .Jack:
 	farwritetext JackIntelligenceKeepsRisingText
-	buttonsound
+	promptbutton
 	end
 
 .Gaven:
 	farwritetext GavenMonGreaterThanImaginedText
-	buttonsound
+	promptbutton
 	end
 
 .Jose:
 	farwritetext JoseMonsStickHasADeliciousAromaText
-	buttonsound
+	promptbutton
 	end
 
 .Joey:
 	farwritetext JoeyMonLookingSharperText
-	buttonsound
+	promptbutton
 	end
 
 .Wade:
 	farwritetext WadeAreYourMonGrowingText
-	buttonsound
+	promptbutton
 	end
 
 .Ralph:
 	farwritetext RalphNeglectingKidsText
-	buttonsound
+	promptbutton
 	end
 
 .Anthony:
 	farwritetext AnthonyMonAteSomeBerriesText
-	buttonsound
+	promptbutton
 	end
 
 .Todd:
 	farwritetext ToddLooksCuteLikeMeText
-	buttonsound
+	promptbutton
 	end
 
 .Arnie:
 	farwritetext ArnieMonIsSoCuteText
-	buttonsound
+	promptbutton
 	end
 
 .Alan:
 	farwritetext AlanGettingStrongerText
-	buttonsound
+	promptbutton
 	end
 
 .Chad:
 	farwritetext ChadObservingWildText
-	buttonsound
+	promptbutton
 	end
 
 .Derek:
 	farwritetext DerekCheekPinchingText
-	buttonsound
+	promptbutton
 	end
 
 .Tully:
 	farwritetext TullyMonHasGrownText
-	buttonsound
+	promptbutton
 	end
 
 .Brent:
 	farwritetext BrentRareTradeText
-	buttonsound
+	promptbutton
 	end
 
 .Vance:
 	farwritetext VanceMonHasBecomeTougherText
-	buttonsound
+	promptbutton
 	end
 
 .Wilton:
 	farwritetext WiltonMonHasGrownText
-	buttonsound
+	promptbutton
 	end
 
 .Parry:
 	farwritetext ParryNothingCanMatchText
-	buttonsound
+	promptbutton
 	end
 
 Phone_WhosBragging_Female:
@@ -172,42 +172,42 @@
 
 .Beverly:
 	farwritetext BeverlyMadeMonEvenCuterText
-	buttonsound
+	promptbutton
 	end
 
 .Beth:
 	farwritetext BethExhilaratingRideText
-	buttonsound
+	promptbutton
 	end
 
 .Reena:
 	farwritetext ReenaMonsIsAPerfectMatchText
-	buttonsound
+	promptbutton
 	end
 
 .Liz:
 	farwritetext LizMonAlwaysWantsToNuzzleText
-	buttonsound
+	promptbutton
 	end
 
 .Gina:
 	farwritetext GinaGettingInSyncWithMonText
-	buttonsound
+	promptbutton
 	end
 
 .Dana:
 	farwritetext DanaTakingPhotosText
-	buttonsound
+	promptbutton
 	end
 
 .Tiffany:
 	farwritetext TiffanyMonIsAdorableText
-	buttonsound
+	promptbutton
 	end
 
 .Erin:
 	farwritetext ErinMonIsMuchStrongerText
-	buttonsound
+	promptbutton
 	end
 
 Phone_WhoDefeatedMon_Male:
@@ -232,87 +232,87 @@
 
 .Jack:
 	farwritetext JackDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Gaven:
 	farwritetext GavenDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Jose:
 	farwritetext JoseDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Joey:
 	farwritetext JoeyDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Wade:
 	farwritetext WadeDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Ralph:
 	farwritetext RalphDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Anthony:
 	farwritetext AnthonyDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Todd:
 	farwritetext ToddDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Arnie:
 	farwritetext ArnieDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Alan:
 	farwritetext AlanDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Chad:
 	farwritetext ChadDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Derek:
 	farwritetext DerekDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Tully:
 	farwritetext TullyDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Brent:
 	farwritetext BrentDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Vance:
 	farwritetext VanceDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Wilton:
 	farwritetext WiltonDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Parry:
 	farwritetext ParryDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 Phone_WhoDefeatedMon_Female:
@@ -328,42 +328,42 @@
 
 .Beverly:
 	farwritetext BeverlyDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Beth:
 	farwritetext BethDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Reena:
 	farwritetext ReenaDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Liz:
 	farwritetext LizDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Gina:
 	farwritetext GinaDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Dana:
 	farwritetext DanaDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Tiffany:
 	farwritetext TiffanyDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Erin:
 	farwritetext ErinDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 Phone_WhoLostAMon_Male:
@@ -388,87 +388,87 @@
 
 .Jack:
 	farwritetext JackLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Gaven:
 	farwritetext GavenLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Jose:
 	farwritetext JoseLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Joey:
 	farwritetext JoeyLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Wade:
 	farwritetext WadeLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Ralph:
 	farwritetext RalphLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Anthony:
 	farwritetext AnthonyLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Todd:
 	farwritetext ToddLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Arnie:
 	farwritetext ArnieLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Alan:
 	farwritetext AlanLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Chad:
 	farwritetext ChadLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Derek:
 	farwritetext DerekLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Tully:
 	farwritetext TullyLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Brent:
 	farwritetext BrentLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Vance:
 	farwritetext VanceLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Wilton:
 	farwritetext WiltonLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Parry:
 	farwritetext ParryLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 Phone_WhoLostAMon_Female:
@@ -484,42 +484,42 @@
 
 .Beverly:
 	farwritetext BeverlyLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Beth:
 	farwritetext BethLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Reena:
 	farwritetext ReenaLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Liz:
 	farwritetext LizLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Gina:
 	farwritetext GinaLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Dana:
 	farwritetext DanaLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Tiffany:
 	farwritetext TiffanyLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 .Erin:
 	farwritetext ErinLostAMonText
-	buttonsound
+	promptbutton
 	end
 
 PhoneScript_WantsToBattle_Male:
@@ -552,87 +552,87 @@
 
 .Jack:
 	farwritetext JackBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Huey:
 	farwritetext HueyBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Gaven:
 	farwritetext GavenBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Jose:
 	farwritetext JoseBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Joey:
 	farwritetext JoeyBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Wade:
 	farwritetext WadeBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Ralph:
 	farwritetext RalphBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Anthony:
 	farwritetext AnthonyBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Todd:
 	farwritetext ToddBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Arnie:
 	farwritetext ArnieBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Alan:
 	farwritetext AlanBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Chad:
 	farwritetext ChadBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Tully:
 	farwritetext TullyBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Brent:
 	farwritetext BrentBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Vance:
 	farwritetext VanceBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Wilton:
 	farwritetext WiltonBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Parry:
 	farwritetext ParryBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 PhoneScript_RematchText_Female:
@@ -647,37 +647,37 @@
 
 .Beth:
 	farwritetext BethBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Reena:
 	farwritetext ReenaBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Liz:
 	farwritetext LizBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Gina:
 	farwritetext GinaBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Dana:
 	farwritetext DanaBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Tiffany:
 	farwritetext TiffanyBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 .Erin:
 	farwritetext ErinBattleRematchText
-	buttonsound
+	promptbutton
 	end
 
 LizWrongNumberScript:
@@ -861,37 +861,37 @@
 
 .Wade:
 	farwritetext WadeBugCatchingContestText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Derek:
 	farwritetext DerekBugCatchingContestText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 IrwinRocketRumorScript:
 	farwritetext IrwinRocketTakeoverRumorText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 GinaRocketRumorScript:
 	farwritetext GinaRocketTakeoverRumorText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 ArnieSwarmScript:
 	farwritetext ArnieSwarmText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 RalphItemScript:
 	farwritetext RalphItemText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 AnthonySwarmScript:
 	farwritetext AnthonySwarmText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 PhoneScript_FoundItem_Male:
@@ -952,10 +952,10 @@
 
 ToddItemScript:
 	farwritetext ToddDepartmentStoreBargainSaleText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 KenjiCallingPhoneScript:
 	farwritetext KenjiRemainDedicatedText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
--- a/engine/phone/scripts/hangups.asm
+++ b/engine/phone/scripts/hangups.asm
@@ -1,131 +1,131 @@
 JackPhoneTipsScript:
 	farwritetext JackHeardSomeGreatTipsText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 BeverlyHangUpScript:
 	farwritetext BeverlyLetsChatAboutMonAgainText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 HueyHangUpScript:
 	farwritetext HueyWeHaveToBattleAgainSometimeText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 GavenHangUpNotThursdayScript:
 	farwritetext GavenHangUpNotThursdayText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 BethHangUpScript:
 	farwritetext BethLetsBattleAgainSometimeText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 JoseHangUpScript:
 	farwritetext JoseHaventGottenItemYetText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 ReenaForwardScript:
 	farwritetext ReenaForwardText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 JoeyHangUpScript:
 	farwritetext JoeyDevisingStrategiesText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 WadeNoBerriesScript:
 	farwritetext WadeNoBerriesText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 RalphNoItemScript:
 	farwritetext RalphNoItemText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 LizHangUpScript:
 	farwritetext LizFawningOverMonText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 AnthonyHangUpScript:
 	farwritetext AnthonyWasntPayingAttentionText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 ToddNoItemScript:
 	farwritetext ToddSavingUpForBargainSaleText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 GinaHangUpScript:
 	farwritetext GinaHaventFoundAnythingYetText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 ArnieHangUpScript:
 	farwritetext ArnieHaventSeenRareMonText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 AlanHangUpScript:
 	farwritetext AlanHaventPickedUpAnythingText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 DanaHangUpScript:
 	farwritetext DanaCanYouWaitABitLongerText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 ChadHangUpScript:
 	farwritetext ChadGoingToStudyHardText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 DerekHangUpScript:
 	farwritetext DerekLetsGetTogetherText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 TullyNoItemScript:
 	farwritetext TullyNoItemText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 BrentHangUpScript:
 	farwritetext BrentSorryImTooBusyText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 TiffanyNoItemScript:
 	farwritetext TiffanyNoItemText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 VanceLookingForwardScript:
 	farwritetext VanceLookingForwardText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 WiltonHaventFoundAnythingScript:
 	farwritetext WiltonHaventFoundAnythingText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 ParryBattleWithMeScript:
 	farwritetext ParryBattleWithMeText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 ErinWorkingHardScript:
 	farwritetext ErinWorkingHardText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 IrwinRandomTextScript:
@@ -136,17 +136,17 @@
 
 IrwinEscapadeScript:
 	farwritetext IrwinYourEscapadesRockText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 IrwinGoodMatchScript:
 	farwritetext IrwinGoodMatchText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 IrwinSoMuchToChatAboutScript:
 	farwritetext IrwinSoMuchToChatAboutText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 KenjiAnswerPhoneScript:
@@ -154,12 +154,12 @@
 	ifequal 2, .Training
 	ifequal 1, .OnBreak
 	farwritetext KenjiCallMeBackAnotherTimeText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Training:
 	farwritetext KenjiIllHaveTimeToChatTomorrowText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .OnBreak:
@@ -169,15 +169,15 @@
 	iftrue .Night
 	setevent EVENT_KENJI_ON_BREAK
 	farwritetext KenjiTakingABreakText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Morning:
 	farwritetext KenjiHangUpMorningText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Night:
 	farwritetext KenjiHangUpNightText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
--- a/engine/phone/scripts/hangups_2.asm
+++ b/engine/phone/scripts/hangups_2.asm
@@ -1,49 +1,49 @@
 BeverlyComePickUpScript:
 	farwritetext BeverlyComePickUpText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 JoseComePickUpScript:
 	farwritetext JoseComePickUpText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 WadeComeQuickScript:
 	farwritetext WadeComeQuickText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 GinaComePickUpScript:
 	farwritetext GinaComePickUpText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 AlanComePickUpScript:
 	farwritetext AlanComePickUpGiftText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 DanaComePickUpScript:
 	farwritetext DanaComePickUpText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 DerekComePickUpScript:
 	farwritetext DerekComePickUpText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 TullyHurryScript:
 	farwritetext TullyHurryText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 TiffanyHurryScript:
 	farwritetext TiffanyHurryText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 WiltonWantThisScript:
 	farwritetext WiltonWantThisText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
--- a/engine/phone/scripts/irwin_gossip.asm
+++ b/engine/phone/scripts/irwin_gossip.asm
@@ -24,65 +24,65 @@
 	checkflag ENGINE_PLAINBADGE
 	iftrue .PlainBadge
 	farwritetext IrwinCalledRightAwayText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .PlainBadge:
 	farwritetext IrwinPlainBadgeGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .JasmineReturned:
 	farwritetext IrwinJasmineReturnedGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .RocketHideout:
 	farwritetext IrwinRocketHideoutGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .RadioTower:
 	farwritetext IrwinRadioTowerGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .RisingBadge:
 	farwritetext IrwinRisingBadgeGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .EliteFour:
 	farwritetext IrwinEliteFourGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .VermilionCity:
 	farwritetext IrwinVermilionCityGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .TrainPass:
 	farwritetext IrwinTrainPassGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Snorlax:
 	farwritetext IrwinSnorlaxGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .MtSilver:
 	farwritetext IrwinMtSilverGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .FogBadge:
 	farwritetext IrwinFogBadgeGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .MarshBadge:
 	farwritetext IrwinMarshBadgeGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
--- a/engine/phone/scripts/jack_gossip.asm
+++ b/engine/phone/scripts/jack_gossip.asm
@@ -14,55 +14,55 @@
 
 .Thunder:
 	farwritetext JackThunderTriviaText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Rollout:
 	farwritetext JackRolloutTriviaText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Solarbeam:
 	farwritetext JackSolarbeamTriviaText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Stomp:
 	farwritetext JackStompTriviaText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Gust:
 	farwritetext JackGustTriviaText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Twister:
 	farwritetext JackTwisterTriviaText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Earthquake:
 	farwritetext JackEarthquakeTriviaText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Magnitude:
 	farwritetext JackMagnitudeTriviaText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .Sandstorm:
 	farwritetext JackSandstormTriviaText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .SunnyDay:
 	farwritetext JackSunnyDayTriviaText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
 
 .RainDance:
 	farwritetext JackRainDanceTriviaText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Male
--- a/engine/phone/scripts/liz_gossip.asm
+++ b/engine/phone/scripts/liz_gossip.asm
@@ -13,50 +13,50 @@
 
 .RuinsOfAlph:
 	farwritetext LizRuinsOfAlphGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 .Falkner:
 	farwritetext LizFalknerGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 .Earl:
 	farwritetext LizEarlGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 .SurfPikachu:
 	farwritetext LizSurfPikachuGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 .MooMooMilk:
 	farwritetext LizMooMooMilkGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 .Salon:
 	farwritetext LizSalonGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 .Whitney:
 	farwritetext LizWhitneyGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 .BugCatchingContest:
 	farwritetext LizBugCatchingContestGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 .BeautifulMon:
 	farwritetext LizBeautifulMonGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
 
 .Forgot:
 	farwritetext LizForgotGossipText
-	buttonsound
+	promptbutton
 	sjump PhoneScript_HangUpText_Female
--- a/engine/phone/scripts/mom.asm
+++ b/engine/phone/scripts/mom.asm
@@ -13,7 +13,7 @@
 	checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_8
 	iftrue MomPhoneHangUpScript
 	farwritetext MomPhoneGreetingText
-	buttonsound
+	promptbutton
 	getcurlandmarkname STRING_BUFFER_3
 	readvar VAR_ROOFPALETTE
 	ifequal 1, MomPhonePalette1
@@ -22,7 +22,7 @@
 
 MomPhoneLandmark:
 	farwritetext MomPhoneLandmarkText
-	buttonsound
+	promptbutton
 	sjump MomSavingMoney
 
 MomPhonePalette1:
@@ -33,17 +33,17 @@
 	ifequal GROUP_AZALEA_TOWN, .azalea
 	ifequal GROUP_GOLDENROD_CITY, .goldenrod
 	farwritetext MomPhoneGenericAreaText
-	buttonsound
+	promptbutton
 	sjump MomSavingMoney
 
 .newbark
 	farwritetext MomPhoneNewBarkText
-	buttonsound
+	promptbutton
 	sjump MomSavingMoney
 
 .cherrygrove
 	farwritetext MomPhoneCherrygroveText
-	buttonsound
+	promptbutton
 	sjump MomSavingMoney
 
 .violet
@@ -58,12 +58,12 @@
 
 MomPhonePalette2:
 	farwritetext MomOtherAreaText
-	buttonsound
+	promptbutton
 	sjump MomSavingMoney
 
 MomPhoneOther:
 	farwritetext MomDeterminedText
-	buttonsound
+	promptbutton
 	sjump MomSavingMoney
 
 MomSavingMoney:
@@ -107,13 +107,13 @@
 MomPhoneSaveMoneyScript:
 	setflag ENGINE_MOM_SAVING_MONEY
 	farwritetext MomOKIllSaveText
-	buttonsound
+	promptbutton
 	sjump MomPhoneHangUpScript
 
 MomPhoneWontSaveMoneyScript:
 	clearflag ENGINE_MOM_SAVING_MONEY
 	farwritetext MomPhoneWontSaveMoneyText
-	buttonsound
+	promptbutton
 	sjump MomPhoneHangUpScript
 
 MomPhoneHangUpScript:
--- a/engine/pokemon/breeding.asm
+++ b/engine/pokemon/breeding.asm
@@ -869,7 +869,7 @@
 	ld a, [wDayCareLady]
 	bit DAYCARELADY_HAS_MON_F, a
 	jr z, DayCareMonCursor
-	call ButtonSound
+	call PromptButton
 	ld hl, wBreedMon2Nick
 	call DayCareMonCompatibilityText
 	jp PrintText
@@ -882,7 +882,7 @@
 	ld a, [wDayCareMan]
 	bit DAYCAREMAN_HAS_MON_F, a
 	jr z, DayCareMonCursor
-	call ButtonSound
+	call PromptButton
 	ld hl, wBreedMon1Nick
 	call DayCareMonCompatibilityText
 	jp PrintText
--- a/engine/pokemon/european_mail.asm
+++ b/engine/pokemon/european_mail.asm
@@ -38,15 +38,15 @@
 SpanishItalianFont:
 INCBIN "gfx/font/spanish_italian.1bpp"
 
-HandleFrenchGermanMail:
-; called if mail is french or german
-; fix 's 't 'v
+ConvertFrenchGermanMailToEnglish:
+; Called if mail is French or German
+; Converts 's 't 'v from French/German character set to English
 	ld b, sPartyMon1MailAuthor - sPartyMon1Mail
 	ld h, d
 	ld l, e
 .loop
 	ld a, [hl]
-	cp $dc ; 's in french/german font
+	cp $dc ; 's in French/German font
 	jr nz, .check_intermediate_chars
 	ld a, "'s"
 	jr .replace
@@ -67,12 +67,9 @@
 	jr nz, .loop
 	ret
 
-LireLeCourrierAnglais:
-DeutenEnglischenPost:
-; Cette fonction convertit certains des caractères anglais pour
-; leur équivalent dans le jeu de caractères français.
-; Diese Funktion wandelt bestimmte englische Zeichen, um ihre
-; Entsprechung in der Deutschen-Zeichensatz.
+ConvertEnglishMailToFrenchGerman:
+; Called if mail is English and game is French or German
+; Converts 's 't 'v from English character set to French/German
 	ld b, sPartyMon1MailAuthor - sPartyMon1Mail
 	ld h, d
 	ld l, e
@@ -80,7 +77,7 @@
 	ld a, [hl]
 	cp "'s"
 	jr nz, .check_intermediate_chars
-	ld a, $dc
+	ld a, $dc ; 's in French/German font
 	jr .replace
 
 .check_intermediate_chars
@@ -99,15 +96,12 @@
 	jr nz, .loop
 	ret
 
-HandleSpanishItalianMail:
-LeerCorreosIngleses:
-LeggiPostaInglese:
-; This function converts certain characters between
-; the English and Spanish/Italian character sets.
-; Esta función convierte ciertos caracteres entre
-; el juego de caracteres Inglés y Español.
-; Questa funzione converte alcuni caratteri tra
-; l'inglese e il set di caratteri italiani.
+ConvertSpanishItalianMailToEnglish:
+; Called if mail is Spanish or Italian
+; Converts 'd 'l 'm 'r 's 't 'v from Spanish/Italian character set to English
+ConvertEnglishMailToSpanishItalian:
+; Called if mail is English and game is Spanish or Italian
+; Converts 'd 'l 'm 'r 's 't 'v from English character set to Spanish/Italian
 	ld b, sPartyMon1MailAuthor - sPartyMon1Mail
 	ld h, d
 	ld l, e
--- a/engine/pokemon/mon_menu.asm
+++ b/engine/pokemon/mon_menu.asm
@@ -877,7 +877,7 @@
 	inc a
 	ld [wPartyMenuCursor], a
 	call SetUpMoveScreenBG
-	call Function132d3
+	call PlaceMoveScreenArrows
 	ld de, MoveScreenAttributes
 	call SetMenuAttributes
 .loop
@@ -1228,12 +1228,12 @@
 String_MoveNoPower:
 	db "---@"
 
-Function132d3:
-	call Function132da
-	call Function132fe
+PlaceMoveScreenArrows:
+	call PlaceMoveScreenLeftArrow
+	call PlaceMoveScreenRightArrow
 	ret
 
-Function132da:
+PlaceMoveScreenLeftArrow:
 	ld a, [wCurPartyMon]
 	and a
 	ret z
@@ -1262,7 +1262,7 @@
 	ld [hl], "◀"
 	ret
 
-Function132fe:
+PlaceMoveScreenRightArrow:
 	ld a, [wCurPartyMon]
 	inc a
 	ld c, a
--- a/engine/pokemon/move_mon.asm
+++ b/engine/pokemon/move_mon.asm
@@ -132,7 +132,7 @@
 	ld [hli], a
 endr
 	ld [hl], a
-	ld [wBuffer1], a
+	ld [wEvolutionOldSpecies], a
 	predef FillMoves
 
 .next
--- a/engine/pokemon/party_menu.asm
+++ b/engine/pokemon/party_menu.asm
@@ -246,10 +246,10 @@
 	jr nc, .ThreeDigits
 	ld a, "<LV>"
 	ld [hli], a
-	lb bc, PRINTNUM_RIGHTALIGN | 1, 2
+	lb bc, PRINTNUM_LEFTALIGN | 1, 2
 	; jr .okay
 .ThreeDigits:
-	lb bc, PRINTNUM_RIGHTALIGN | 1, 3
+	lb bc, PRINTNUM_LEFTALIGN | 1, 3
 ; .okay
 	call PrintNum
 
--- a/engine/rtc/timeset.asm
+++ b/engine/rtc/timeset.asm
@@ -273,19 +273,19 @@
 
 DisplayMinutesWithMinString:
 	ld de, wInitMinuteBuffer
-	call PrintTwoDigitNumberRightAlign
+	call PrintTwoDigitNumberLeftAlign
 	inc hl
 	ld de, String_min
 	call PlaceString
 	ret
 
-PrintTwoDigitNumberRightAlign:
+PrintTwoDigitNumberLeftAlign:
 	push hl
 	ld a, " "
 	ld [hli], a
 	ld [hl], a
 	pop hl
-	lb bc, PRINTNUM_RIGHTALIGN | 1, 2
+	lb bc, PRINTNUM_LEFTALIGN | 1, 2
 	call PrintNum
 	ret
 
@@ -684,7 +684,7 @@
 	call AdjustHourForAMorPM
 	ld [wDeciramBuffer], a
 	ld de, wDeciramBuffer
-	call PrintTwoDigitNumberRightAlign
+	call PrintTwoDigitNumberLeftAlign
 	ret
 
 GetTimeOfDayString:
--- a/engine/tilesets/tileset_anims.asm
+++ b/engine/tilesets/tileset_anims.asm
@@ -259,7 +259,7 @@
 TilesetLighthouseAnim:
 TilesetPlayersRoomAnim:
 TilesetPokeComCenterAnim:
-TilesetBattleTowerAnim:
+TilesetBattleTowerInsideAnim:
 TilesetRuinsOfAlphAnim:
 TilesetRadioTowerAnim:
 TilesetUndergroundAnim:
--- a/engine/tilesets/tileset_palettes.asm
+++ b/engine/tilesets/tileset_palettes.asm
@@ -2,8 +2,8 @@
 	ld a, [wMapTileset]
 	cp TILESET_POKECOM_CENTER
 	jr z, .pokecom_2f
-	cp TILESET_BATTLE_TOWER
-	jr z, .battle_tower
+	cp TILESET_BATTLE_TOWER_INSIDE
+	jr z, .battle_tower_inside
 	cp TILESET_ICE_PATH
 	jr z, .ice_path
 	cp TILESET_HOUSE
@@ -19,8 +19,8 @@
 	scf
 	ret
 
-.battle_tower
-	call LoadBattleTowerPalette
+.battle_tower_inside
+	call LoadBattleTowerInsidePalette
 	scf
 	ret
 
@@ -63,16 +63,16 @@
 PokeComPalette:
 INCLUDE "gfx/tilesets/pokecom_center.pal"
 
-LoadBattleTowerPalette:
+LoadBattleTowerInsidePalette:
 	ld a, BANK(wBGPals1)
 	ld de, wBGPals1
-	ld hl, BattleTowerPalette
+	ld hl, BattleTowerInsidePalette
 	ld bc, 8 palettes
 	call FarCopyWRAM
 	ret
 
-BattleTowerPalette:
-INCLUDE "gfx/tilesets/battle_tower.pal"
+BattleTowerInsidePalette:
+INCLUDE "gfx/tilesets/battle_tower_inside.pal"
 
 LoadIcePathPalette:
 	ld a, BANK(wBGPals1)
binary files a/gfx/diploma/page2.tilemap b/gfx/diploma/page2.tilemap differ
binary files a/gfx/intro/001.tilemap /dev/null differ
--- a/gfx/intro/001.tilemap.lz.c2341875
+++ /dev/null
@@ -1,1 +1,0 @@
-s%�ŀ����
\ No newline at end of file
binary files a/gfx/intro/002.tilemap /dev/null differ
binary files a/gfx/intro/002.tilemap.lz.54d5b74b /dev/null differ
binary files a/gfx/intro/003.tilemap /dev/null differ
--- a/gfx/intro/003.tilemap.lz.9f90366a
+++ /dev/null
@@ -1,1 +1,0 @@
-��_��_���
\ No newline at end of file
binary files a/gfx/intro/004.tilemap /dev/null differ
binary files a/gfx/intro/004.tilemap.lz.4c7562ee /dev/null differ
binary files a/gfx/intro/005.tilemap /dev/null differ
binary files a/gfx/intro/005.tilemap.lz.bed1ff6d /dev/null differ
binary files a/gfx/intro/006.tilemap /dev/null differ
binary files a/gfx/intro/006.tilemap.lz.c8756972 /dev/null differ
binary files a/gfx/intro/007.tilemap /dev/null differ
binary files a/gfx/intro/007.tilemap.lz.a9cbcbca /dev/null differ
binary files a/gfx/intro/008.tilemap /dev/null differ
binary files a/gfx/intro/008.tilemap.lz.f12ed6d9 /dev/null differ
binary files a/gfx/intro/009.tilemap /dev/null differ
--- a/gfx/intro/009.tilemap.lz.911a1ace
+++ /dev/null
@@ -1,1 +1,0 @@
-��#πˀ�ߟ�U
\ No newline at end of file
binary files a/gfx/intro/010.tilemap /dev/null differ
binary files a/gfx/intro/010.tilemap.lz.2717d106 /dev/null differ
binary files a/gfx/intro/011.tilemap /dev/null differ
binary files a/gfx/intro/011.tilemap.lz.bb066632 /dev/null differ
binary files a/gfx/intro/012.tilemap /dev/null differ
binary files a/gfx/intro/012.tilemap.lz.bc182264 /dev/null differ
binary files a/gfx/intro/013.tilemap /dev/null differ
binary files a/gfx/intro/013.tilemap.lz.18e3115f /dev/null differ
binary files a/gfx/intro/014.tilemap /dev/null differ
binary files a/gfx/intro/014.tilemap.lz.7b59259d /dev/null differ
binary files a/gfx/intro/015.tilemap /dev/null differ
binary files a/gfx/intro/015.tilemap.lz.1bfc5a89 /dev/null differ
binary files a/gfx/intro/017.tilemap /dev/null differ
binary files a/gfx/intro/017.tilemap.lz.e4772015 /dev/null differ
binary files /dev/null b/gfx/intro/background.attrmap differ
--- /dev/null
+++ b/gfx/intro/background.attrmap.lz.9f90366a
@@ -1,0 +1,1 @@
+��_��_���
\ No newline at end of file
--- /dev/null
+++ b/gfx/intro/background.pal
@@ -1,0 +1,79 @@
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB  0,  4,  5
+	RGB  1,  8,  5
+	RGB  4, 12,  9
+	RGB 24, 12,  9
+
+	RGB  0,  4,  5
+	RGB  9,  6,  8
+	RGB  8, 16,  5
+	RGB  5, 10,  4
+
+	RGB 31, 31, 31
+	RGB  9,  6,  8
+	RGB 18,  9,  9
+	RGB 13,  8,  9
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB  2,  5, 22
+	RGB  1,  5, 12
+
+	RGB 31, 31, 31
+	RGB 31, 10, 25
+	RGB 31, 21,  0
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 21, 31
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
binary files a/gfx/intro/background.png b/gfx/intro/background.png differ
binary files /dev/null b/gfx/intro/background.tilemap differ
binary files /dev/null b/gfx/intro/background.tilemap.lz.4c7562ee differ
binary files /dev/null b/gfx/intro/crystal_unowns.attrmap differ
binary files /dev/null b/gfx/intro/crystal_unowns.attrmap.lz.1bfc5a89 differ
--- /dev/null
+++ b/gfx/intro/crystal_unowns.pal
@@ -1,0 +1,79 @@
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
binary files /dev/null b/gfx/intro/crystal_unowns.tilemap differ
binary files /dev/null b/gfx/intro/crystal_unowns.tilemap.lz.e4772015 differ
--- a/gfx/intro/intro_1.pal
+++ /dev/null
@@ -1,79 +1,0 @@
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB  0,  4,  5
-	RGB  1,  8,  5
-	RGB  4, 12,  9
-	RGB 24, 12,  9
-
-	RGB  0,  4,  5
-	RGB  9,  6,  8
-	RGB  8, 16,  5
-	RGB  5, 10,  4
-
-	RGB 31, 31, 31
-	RGB  9,  6,  8
-	RGB 18,  9,  9
-	RGB 13,  8,  9
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB  2,  5, 22
-	RGB  1,  5, 12
-
-	RGB 31, 31, 31
-	RGB 31, 10, 25
-	RGB 31, 21,  0
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 21, 31
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
--- a/gfx/intro/intro_2.pal
+++ /dev/null
@@ -1,79 +1,0 @@
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 10,  0, 10
-	RGB 19,  0, 19
-	RGB 31,  0, 31
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
--- a/gfx/intro/intro_3.pal
+++ /dev/null
@@ -1,79 +1,0 @@
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
--- a/gfx/intro/intro_4.pal
+++ /dev/null
@@ -1,79 +1,0 @@
-	RGB 24, 12,  9
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 24, 12,  9
-	RGB 31, 31, 31
-	RGB  8,  9, 31
-	RGB  0,  0,  0
-
-	RGB 24, 12,  9
-	RGB 12, 20, 31
-	RGB 19,  8, 31
-	RGB  0,  0,  0
-
-	RGB 12, 20, 31
-	RGB  8,  9, 31
-	RGB 19,  8, 31
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 12, 20, 31
-	RGB  8,  9, 31
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
--- a/gfx/intro/intro_5.pal
+++ /dev/null
@@ -1,79 +1,0 @@
-	RGB 24, 12,  9
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 24, 12,  9
-	RGB 31, 31, 31
-	RGB  8,  9, 31
-	RGB  0,  0,  0
-
-	RGB 24, 12,  9
-	RGB 24, 12,  9
-	RGB 24, 12,  9
-	RGB 24, 12,  9
-
-	RGB 24, 12,  9
-	RGB 24, 12,  9
-	RGB 24, 12,  9
-	RGB 24, 12,  9
-
-	RGB 24, 12,  9
-	RGB 24, 12,  9
-	RGB 24, 12,  9
-	RGB 24, 12,  9
-
-	RGB 24, 12,  9
-	RGB 24, 12,  9
-	RGB 24, 12,  9
-	RGB 24, 12,  9
-
-	RGB 24, 12,  9
-	RGB 24, 12,  9
-	RGB 24, 12,  9
-	RGB 24, 12,  9
-
-	RGB 24, 12,  9
-	RGB 24, 12,  9
-	RGB 24, 12,  9
-	RGB 24, 12,  9
-
-	RGB 31, 31, 31
-	RGB 31, 31, 31
-	RGB 12,  0, 31
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 21,  9,  0
-	RGB 21,  9,  0
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
-
-	RGB 31, 31, 31
-	RGB 20, 20, 20
-	RGB 11, 11, 11
-	RGB  0,  0,  0
--- /dev/null
+++ b/gfx/intro/suicune.pal
@@ -1,0 +1,79 @@
+	RGB 24, 12,  9
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 24, 12,  9
+	RGB 31, 31, 31
+	RGB  8,  9, 31
+	RGB  0,  0,  0
+
+	RGB 24, 12,  9
+	RGB 24, 12,  9
+	RGB 24, 12,  9
+	RGB 24, 12,  9
+
+	RGB 24, 12,  9
+	RGB 24, 12,  9
+	RGB 24, 12,  9
+	RGB 24, 12,  9
+
+	RGB 24, 12,  9
+	RGB 24, 12,  9
+	RGB 24, 12,  9
+	RGB 24, 12,  9
+
+	RGB 24, 12,  9
+	RGB 24, 12,  9
+	RGB 24, 12,  9
+	RGB 24, 12,  9
+
+	RGB 24, 12,  9
+	RGB 24, 12,  9
+	RGB 24, 12,  9
+	RGB 24, 12,  9
+
+	RGB 24, 12,  9
+	RGB 24, 12,  9
+	RGB 24, 12,  9
+	RGB 24, 12,  9
+
+	RGB 31, 31, 31
+	RGB 31, 31, 31
+	RGB 12,  0, 31
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 21,  9,  0
+	RGB 21,  9,  0
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
binary files /dev/null b/gfx/intro/suicune_back.attrmap differ
binary files /dev/null b/gfx/intro/suicune_back.attrmap.lz.18e3115f differ
binary files /dev/null b/gfx/intro/suicune_back.tilemap differ
binary files /dev/null b/gfx/intro/suicune_back.tilemap.lz.7b59259d differ
binary files /dev/null b/gfx/intro/suicune_close.attrmap differ
binary files /dev/null b/gfx/intro/suicune_close.attrmap.lz.bb066632 differ
--- /dev/null
+++ b/gfx/intro/suicune_close.pal
@@ -1,0 +1,79 @@
+	RGB 24, 12,  9
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 24, 12,  9
+	RGB 31, 31, 31
+	RGB  8,  9, 31
+	RGB  0,  0,  0
+
+	RGB 24, 12,  9
+	RGB 12, 20, 31
+	RGB 19,  8, 31
+	RGB  0,  0,  0
+
+	RGB 12, 20, 31
+	RGB  8,  9, 31
+	RGB 19,  8, 31
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 12, 20, 31
+	RGB  8,  9, 31
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
binary files /dev/null b/gfx/intro/suicune_close.tilemap differ
binary files /dev/null b/gfx/intro/suicune_close.tilemap.lz.bc182264 differ
binary files /dev/null b/gfx/intro/suicune_jump.attrmap differ
--- /dev/null
+++ b/gfx/intro/suicune_jump.attrmap.lz.911a1ace
@@ -1,0 +1,1 @@
+��#πˀ�ߟ�U
\ No newline at end of file
binary files /dev/null b/gfx/intro/suicune_jump.tilemap differ
binary files /dev/null b/gfx/intro/suicune_jump.tilemap.lz.2717d106 differ
binary files /dev/null b/gfx/intro/unown_a.attrmap differ
--- /dev/null
+++ b/gfx/intro/unown_a.attrmap.lz.c2341875
@@ -1,0 +1,1 @@
+s%�ŀ����
\ No newline at end of file
binary files /dev/null b/gfx/intro/unown_a.tilemap differ
binary files /dev/null b/gfx/intro/unown_a.tilemap.lz.54d5b74b differ
binary files /dev/null b/gfx/intro/unown_hi.attrmap differ
binary files /dev/null b/gfx/intro/unown_hi.attrmap.lz.bed1ff6d differ
binary files /dev/null b/gfx/intro/unown_hi.tilemap differ
binary files /dev/null b/gfx/intro/unown_hi.tilemap.lz.c8756972 differ
binary files /dev/null b/gfx/intro/unowns.attrmap differ
binary files /dev/null b/gfx/intro/unowns.attrmap.lz.a9cbcbca differ
--- /dev/null
+++ b/gfx/intro/unowns.pal
@@ -1,0 +1,79 @@
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 10,  0, 10
+	RGB 19,  0, 19
+	RGB 31,  0, 31
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
+
+	RGB 31, 31, 31
+	RGB 20, 20, 20
+	RGB 11, 11, 11
+	RGB  0,  0,  0
binary files /dev/null b/gfx/intro/unowns.tilemap differ
binary files /dev/null b/gfx/intro/unowns.tilemap.lz.f12ed6d9 differ
binary files /dev/null b/gfx/mobile/pokemon_news.bin differ
binary files a/gfx/pokedex/question_mark.2bpp.lz.14c284f5 /dev/null differ
binary files /dev/null b/gfx/pokedex/question_mark.2bpp.lz.6e639380 differ
binary files /dev/null b/gfx/sgb/sgb_border_nonmatching.bin differ
--- a/gfx/tileset_palette_maps.asm
+++ b/gfx/tileset_palette_maps.asm
@@ -103,8 +103,8 @@
 TilesetPokeComCenterPalMap:
 INCLUDE "gfx/tilesets/pokecom_center_palette_map.asm"
 
-TilesetBattleTowerPalMap:
-INCLUDE "gfx/tilesets/battle_tower_palette_map.asm"
+TilesetBattleTowerInsidePalMap:
+INCLUDE "gfx/tilesets/battle_tower_inside_palette_map.asm"
 
 TilesetBattleTowerOutsidePalMap:
 INCLUDE "gfx/tilesets/battle_tower_outside_palette_map.asm"
--- a/gfx/tilesets.asm
+++ b/gfx/tilesets.asm
@@ -206,14 +206,14 @@
 TilesetPokeComCenterColl:
 INCLUDE "data/tilesets/pokecom_center_collision.asm"
 
-TilesetBattleTowerGFX:
-INCBIN "gfx/tilesets/battle_tower.2bpp.lz"
+TilesetBattleTowerInsideGFX:
+INCBIN "gfx/tilesets/battle_tower_inside.2bpp.lz"
 
-TilesetBattleTowerMeta:
-INCBIN "data/tilesets/battle_tower_metatiles.bin"
+TilesetBattleTowerInsideMeta:
+INCBIN "data/tilesets/battle_tower_inside_metatiles.bin"
 
-TilesetBattleTowerColl:
-INCLUDE "data/tilesets/battle_tower_collision.asm"
+TilesetBattleTowerInsideColl:
+INCLUDE "data/tilesets/battle_tower_inside_collision.asm"
 
 TilesetGateGFX:
 INCBIN "gfx/tilesets/gate.2bpp.lz"
binary files a/gfx/tilesets/battle_tower.2bpp.lz.467b6a2d /dev/null differ
--- a/gfx/tilesets/battle_tower.pal
+++ /dev/null
@@ -1,40 +1,0 @@
-; gray
-	RGB 30, 28, 26
-	RGB 19, 19, 19
-	RGB 13, 13, 13
-	RGB 07, 07, 07
-; red
-	RGB 30, 28, 26
-	RGB 31, 19, 24
-	RGB 30, 10, 06
-	RGB 07, 07, 07
-; green
-	RGB 18, 24, 09
-	RGB 15, 20, 01
-	RGB 09, 13, 00
-	RGB 07, 07, 07
-; water (blue)
-	RGB 30, 28, 26
-	RGB 15, 16, 31
-	RGB 09, 09, 31
-	RGB 07, 07, 07
-; yellow
-	RGB 30, 28, 26
-	RGB 31, 31, 07
-	RGB 31, 16, 01
-	RGB 07, 07, 07
-; brown
-	RGB 26, 24, 17
-	RGB 21, 17, 07
-	RGB 16, 13, 03
-	RGB 07, 07, 07
-; roof
-	RGB 05, 05, 16
-	RGB 08, 19, 28
-	RGB 00, 00, 00
-	RGB 31, 31, 31
-; text
-	RGB 31, 31, 16
-	RGB 31, 31, 16
-	RGB 14, 09, 00
-	RGB 00, 00, 00
binary files a/gfx/tilesets/battle_tower.png /dev/null differ
binary files /dev/null b/gfx/tilesets/battle_tower_inside.2bpp.lz.467b6a2d differ
--- /dev/null
+++ b/gfx/tilesets/battle_tower_inside.pal
@@ -1,0 +1,40 @@
+; gray
+	RGB 30, 28, 26
+	RGB 19, 19, 19
+	RGB 13, 13, 13
+	RGB 07, 07, 07
+; red
+	RGB 30, 28, 26
+	RGB 31, 19, 24
+	RGB 30, 10, 06
+	RGB 07, 07, 07
+; green
+	RGB 18, 24, 09
+	RGB 15, 20, 01
+	RGB 09, 13, 00
+	RGB 07, 07, 07
+; water (blue)
+	RGB 30, 28, 26
+	RGB 15, 16, 31
+	RGB 09, 09, 31
+	RGB 07, 07, 07
+; yellow
+	RGB 30, 28, 26
+	RGB 31, 31, 07
+	RGB 31, 16, 01
+	RGB 07, 07, 07
+; brown
+	RGB 26, 24, 17
+	RGB 21, 17, 07
+	RGB 16, 13, 03
+	RGB 07, 07, 07
+; roof
+	RGB 05, 05, 16
+	RGB 08, 19, 28
+	RGB 00, 00, 00
+	RGB 31, 31, 31
+; text
+	RGB 31, 31, 16
+	RGB 31, 31, 16
+	RGB 14, 09, 00
+	RGB 00, 00, 00
binary files /dev/null b/gfx/tilesets/battle_tower_inside.png differ
--- /dev/null
+++ b/gfx/tilesets/battle_tower_inside_palette_map.asm
@@ -1,0 +1,29 @@
+	tilepal 0, GRAY, RED, WATER, WATER, GRAY, GRAY, WATER, WATER
+	tilepal 0, WATER, WATER, WATER, WATER, WATER, WATER, BROWN, BROWN
+	tilepal 0, WATER, RED, WATER, WATER, GRAY, GRAY, WATER, WATER
+	tilepal 0, WATER, WATER, WATER, WATER, WATER, WATER, BROWN, BROWN
+	tilepal 0, WATER, RED, RED, RED, RED, WATER, GRAY, GRAY
+	tilepal 0, WATER, WATER, GRAY, GRAY, BROWN, BROWN, BROWN, BROWN
+	tilepal 0, WATER, RED, RED, RED, RED, WATER, GRAY, WATER
+	tilepal 0, GRAY, GRAY, BROWN, RED, BROWN, BROWN, BROWN, BROWN
+	tilepal 0, RED, BROWN, RED, BROWN, BROWN, BROWN, RED, RED
+	tilepal 0, WATER, WATER, WATER, RED, RED, RED, RED, WATER
+	tilepal 0, BROWN, YELLOW, RED, BROWN, BROWN, BROWN, RED, RED
+	tilepal 0, WATER, RED, RED, RED, RED, GRAY, RED, WATER
+
+rept 16
+	db $ff
+endr
+
+	tilepal 1, GRAY, WATER, GRAY, WATER, WATER, WATER, ROOF, ROOF
+	tilepal 1, YELLOW, YELLOW, GRAY, GRAY, WATER, WATER, RED, RED
+	tilepal 1, GRAY, RED, RED, WATER, WATER, WATER, WATER, WATER
+	tilepal 1, RED, GRAY, GRAY, GRAY, GREEN, YELLOW, RED, RED
+	tilepal 1, GRAY, GRAY, RED, RED, WATER, WATER, GRAY, GRAY
+	tilepal 1, YELLOW, YELLOW, BROWN, YELLOW, WATER, WATER, YELLOW, RED
+	tilepal 1, GRAY, GRAY, RED, RED, GRAY, WATER, WATER, WATER
+	tilepal 1, GRAY, GRAY, BROWN, YELLOW, RED, RED, YELLOW, RED
+	tilepal 1, GRAY, GRAY, RED, RED, RED, RED, WATER, WATER
+	tilepal 1, GRAY, GRAY, YELLOW, BROWN, WATER, WATER, GRAY, BROWN
+	tilepal 1, RED, RED, RED, RED, RED, RED, GRAY, GRAY
+	tilepal 1, YELLOW, YELLOW, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY
--- a/gfx/tilesets/battle_tower_palette_map.asm
+++ /dev/null
@@ -1,29 +1,0 @@
-	tilepal 0, GRAY, RED, WATER, WATER, GRAY, GRAY, WATER, WATER
-	tilepal 0, WATER, WATER, WATER, WATER, WATER, WATER, BROWN, BROWN
-	tilepal 0, WATER, RED, WATER, WATER, GRAY, GRAY, WATER, WATER
-	tilepal 0, WATER, WATER, WATER, WATER, WATER, WATER, BROWN, BROWN
-	tilepal 0, WATER, RED, RED, RED, RED, WATER, GRAY, GRAY
-	tilepal 0, WATER, WATER, GRAY, GRAY, BROWN, BROWN, BROWN, BROWN
-	tilepal 0, WATER, RED, RED, RED, RED, WATER, GRAY, WATER
-	tilepal 0, GRAY, GRAY, BROWN, RED, BROWN, BROWN, BROWN, BROWN
-	tilepal 0, RED, BROWN, RED, BROWN, BROWN, BROWN, RED, RED
-	tilepal 0, WATER, WATER, WATER, RED, RED, RED, RED, WATER
-	tilepal 0, BROWN, YELLOW, RED, BROWN, BROWN, BROWN, RED, RED
-	tilepal 0, WATER, RED, RED, RED, RED, GRAY, RED, WATER
-
-rept 16
-	db $ff
-endr
-
-	tilepal 1, GRAY, WATER, GRAY, WATER, WATER, WATER, ROOF, ROOF
-	tilepal 1, YELLOW, YELLOW, GRAY, GRAY, WATER, WATER, RED, RED
-	tilepal 1, GRAY, RED, RED, WATER, WATER, WATER, WATER, WATER
-	tilepal 1, RED, GRAY, GRAY, GRAY, GREEN, YELLOW, RED, RED
-	tilepal 1, GRAY, GRAY, RED, RED, WATER, WATER, GRAY, GRAY
-	tilepal 1, YELLOW, YELLOW, BROWN, YELLOW, WATER, WATER, YELLOW, RED
-	tilepal 1, GRAY, GRAY, RED, RED, GRAY, WATER, WATER, WATER
-	tilepal 1, GRAY, GRAY, BROWN, YELLOW, RED, RED, YELLOW, RED
-	tilepal 1, GRAY, GRAY, RED, RED, RED, RED, WATER, WATER
-	tilepal 1, GRAY, GRAY, YELLOW, BROWN, WATER, WATER, GRAY, BROWN
-	tilepal 1, RED, RED, RED, RED, RED, RED, GRAY, GRAY
-	tilepal 1, YELLOW, YELLOW, GRAY, GRAY, GRAY, GRAY, GRAY, GRAY
binary files a/gfx/unknown/17eb8e.attrmap /dev/null differ
--- a/home.asm
+++ b/home.asm
@@ -36,8 +36,9 @@
 INCLUDE "home/map_objects.asm"
 INCLUDE "home/sine.asm"
 INCLUDE "home/movement.asm"
-INCLUDE "home/menu_window.asm"
 INCLUDE "home/menu.asm"
+INCLUDE "home/menu_window.asm"
+INCLUDE "home/menu2.asm"
 INCLUDE "home/handshake.asm"
 INCLUDE "home/game_time.asm"
 INCLUDE "home/map.asm"
--- a/home/joypad.asm
+++ b/home/joypad.asm
@@ -372,7 +372,7 @@
 	jr z, .loop
 	ret
 
-ButtonSound::
+PromptButton::
 	ld a, [wLinkMode]
 	and a
 	jr nz, .link
--- a/home/map.asm
+++ b/home/map.asm
@@ -597,7 +597,7 @@
 ; Fill the remaining sprite IDs and y coords with 0 and -1, respectively.
 ; Bleeds into wObjectMasks due to a bug.  Uncomment the above subtraction
 ; to fix.
-	ld bc, OBJECT_LENGTH
+	ld bc, MAPOBJECT_LENGTH
 .loop
 	ld [hl],  0
 	inc hl
@@ -631,7 +631,7 @@
 	jr nz, .loop2
 
 	pop hl
-	ld bc, OBJECT_LENGTH
+	ld bc, MAPOBJECT_LENGTH
 	add hl, bc
 	pop bc
 	dec c
@@ -640,13 +640,13 @@
 
 ClearObjectStructs::
 	ld hl, wObject1Struct
-	ld bc, OBJECT_STRUCT_LENGTH * (NUM_OBJECT_STRUCTS - 1)
+	ld bc, OBJECT_LENGTH * (NUM_OBJECT_STRUCTS - 1)
 	xor a
 	call ByteFill
 
 ; Just to make sure (this is rather pointless)
 	ld hl, wObject1Struct
-	ld de, OBJECT_STRUCT_LENGTH
+	ld de, OBJECT_LENGTH
 	ld c, NUM_OBJECT_STRUCTS - 1
 	xor a
 .loop
--- a/home/map_objects.asm
+++ b/home/map_objects.asm
@@ -202,7 +202,7 @@
 GetMapObject::
 ; Return the location of map object a in bc.
 	ld hl, wMapObjects
-	ld bc, OBJECT_LENGTH
+	ld bc, MAPOBJECT_LENGTH
 	call AddNTimes
 	ld b, h
 	ld c, l
@@ -358,7 +358,7 @@
 	ld [de], a
 	inc de
 	pop hl
-	ld bc, OBJECT_LENGTH - 1
+	ld bc, MAPOBJECT_LENGTH - 1
 	call CopyBytes
 	ret
 
@@ -370,7 +370,7 @@
 	push af
 	ld [hl], -1
 	inc hl
-	ld bc, OBJECT_LENGTH - 1
+	ld bc, MAPOBJECT_LENGTH - 1
 	xor a
 	call ByteFill
 	pop af
@@ -424,7 +424,7 @@
 	push bc
 	push de
 	ld hl, wObjectStructs
-	ld de, OBJECT_STRUCT_LENGTH
+	ld de, OBJECT_LENGTH
 	ld c, NUM_OBJECT_STRUCTS
 .loop
 	ld a, [hl]
@@ -594,7 +594,7 @@
 	ret
 
 GetObjectStruct::
-	ld bc, OBJECT_STRUCT_LENGTH
+	ld bc, OBJECT_LENGTH
 	ld hl, wObjectStructs
 	call AddNTimes
 	ld b, h
--- a/home/menu.asm
+++ b/home/menu.asm
@@ -1,539 +1,62 @@
-; Functions used in displaying and handling menus.
-
-LoadMenuHeader::
-	call CopyMenuHeader
-	call PushWindow
-	ret
-
-CopyMenuHeader::
-	ld de, wMenuHeader
-	ld bc, wMenuHeaderEnd - wMenuHeader
-	call CopyBytes
-	ldh a, [hROMBank]
-	ld [wMenuDataBank], a
-	ret
-
-StoreTo_wMenuCursorBuffer::
-	ld [wMenuCursorBuffer], a
-	ret
-
-MenuTextbox::
+SetMenuAttributes::
 	push hl
-	call LoadMenuTextbox
-	pop hl
-	jp PrintText
-
-; unused
-	ret
-
-LoadMenuTextbox::
-	ld hl, .MenuHeader
-	call LoadMenuHeader
-	ret
-
-.MenuHeader:
-	db MENU_BACKUP_TILES ; flags
-	menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
-	dw vTiles0
-	db 0 ; default option
-
-MenuTextboxBackup::
-	call MenuTextbox
-	call CloseWindow
-	ret
-
-LoadStandardMenuHeader::
-	ld hl, .MenuHeader
-	call LoadMenuHeader
-	ret
-
-.MenuHeader:
-	db MENU_BACKUP_TILES ; flags
-	menu_coords 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
-	dw 0
-	db 1 ; default option
-
-Call_ExitMenu::
-	call ExitMenu
-	ret
-
-VerticalMenu::
-	xor a
-	ldh [hBGMapMode], a
-	call MenuBox
-	call UpdateSprites
-	call PlaceVerticalMenuItems
-	call ApplyTilemap
-	call CopyMenuData
-	ld a, [wMenuDataFlags]
-	bit 7, a
-	jr z, .cancel
-	call InitVerticalMenuCursor
-	call StaticMenuJoypad
-	call MenuClickSound
-	bit 1, a
-	jr z, .okay
-.cancel
-	scf
-	ret
-
-.okay
-	and a
-	ret
-
-GetMenu2::
-	call LoadMenuHeader
-	call VerticalMenu
-	call CloseWindow
-	ld a, [wMenuCursorY]
-	ret
-
-CopyNameFromMenu::
-	push hl
 	push bc
-	push af
-	ld hl, wMenuDataPointer
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	inc hl
-	inc hl
-	pop af
-	call GetNthString
-	ld d, h
-	ld e, l
-	call CopyName1
+	ld hl, w2DMenuCursorInitY
+	ld b, $8
+.loop
+	ld a, [de]
+	inc de
+	ld [hli], a
+	dec b
+	jr nz, .loop
+	ld a, $1
+	ld [hli], a
+	ld [hli], a
+	xor a
+	ld [hli], a
+	ld [hli], a
+	ld [hli], a
 	pop bc
 	pop hl
 	ret
 
-YesNoBox::
-	lb bc, SCREEN_WIDTH - 6, 7
-
-PlaceYesNoBox::
-	jr _YesNoBox
-
-PlaceGenericTwoOptionBox::
-	call LoadMenuHeader
-	jr InterpretTwoOptionMenu
-
-_YesNoBox::
-; Return nc (yes) or c (no).
-	push bc
-	ld hl, YesNoMenuHeader
-	call CopyMenuHeader
-	pop bc
-; This seems to be an overflow prevention, but
-; it was coded wrong.
-	ld a, b
-	cp SCREEN_WIDTH - 6
-	jr nz, .okay ; should this be "jr nc"?
-	ld a, SCREEN_WIDTH - 6
-	ld b, a
-
-.okay
-	ld a, b
-	ld [wMenuBorderLeftCoord], a
-	add 5
-	ld [wMenuBorderRightCoord], a
-	ld a, c
-	ld [wMenuBorderTopCoord], a
-	add 4
-	ld [wMenuBorderBottomCoord], a
-	call PushWindow
-
-InterpretTwoOptionMenu::
-	call VerticalMenu
-	push af
-	ld c, $f
-	call DelayFrames
-	call CloseWindow
-	pop af
-	jr c, .no
-	ld a, [wMenuCursorY]
-	cp 2 ; no
-	jr z, .no
-	and a
+StaticMenuJoypad::
+	callfar _StaticMenuJoypad
+	call GetMenuJoypad
 	ret
 
-.no
-	ld a, 2
-	ld [wMenuCursorY], a
-	scf
-	ret
-
-YesNoMenuHeader::
-	db MENU_BACKUP_TILES ; flags
-	menu_coords 10, 5, 15, 9
-	dw .MenuData
-	db 1 ; default option
-
-.MenuData:
-	db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
-	db 2
-	db "YES@"
-	db "NO@"
-
-OffsetMenuHeader::
-	call _OffsetMenuHeader
-	call PushWindow
-	ret
-
-_OffsetMenuHeader::
-	push de
-	call CopyMenuHeader
-	pop de
-	ld a, [wMenuBorderLeftCoord]
-	ld h, a
-	ld a, [wMenuBorderRightCoord]
-	sub h
-	ld h, a
-	ld a, d
-	ld [wMenuBorderLeftCoord], a
-	add h
-	ld [wMenuBorderRightCoord], a
-	ld a, [wMenuBorderTopCoord]
-	ld l, a
-	ld a, [wMenuBorderBottomCoord]
-	sub l
-	ld l, a
-	ld a, e
-	ld [wMenuBorderTopCoord], a
-	add l
-	ld [wMenuBorderBottomCoord], a
-	ret
-
-DoNthMenu::
-	call DrawVariableLengthMenuBox
-	call MenuWriteText
-	call InitMenuCursorAndButtonPermissions
-	call GetStaticMenuJoypad
+ScrollingMenuJoypad::
+	callfar _ScrollingMenuJoypad
 	call GetMenuJoypad
-	call MenuClickSound
 	ret
 
-SetUpMenu::
-	call DrawVariableLengthMenuBox ; ???
-	call MenuWriteText
-	call InitMenuCursorAndButtonPermissions ; set up selection pointer
-	ld hl, w2DMenuFlags1
-	set 7, [hl]
-	ret
-
-DrawVariableLengthMenuBox::
-	call CopyMenuData
-	call GetMenuIndexSet
-	call AutomaticGetMenuBottomCoord
-	call MenuBox
-	ret
-
-MenuWriteText::
-	xor a
-	ldh [hBGMapMode], a
-	call GetMenuIndexSet ; sort out the text
-	call RunMenuItemPrintingFunction ; actually write it
-	call SafeUpdateSprites
-	ldh a, [hOAMUpdate]
+GetMenuJoypad::
+	push bc
 	push af
-	ld a, $1
-	ldh [hOAMUpdate], a
-	call ApplyTilemap
-	pop af
-	ldh [hOAMUpdate], a
-	ret
-
-AutomaticGetMenuBottomCoord::
-	ld a, [wMenuBorderLeftCoord]
-	ld c, a
-	ld a, [wMenuBorderRightCoord]
-	sub c
-	ld c, a
-	ld a, [wMenuDataItems]
-	add a
-	inc a
+	ldh a, [hJoyLast]
+	and D_PAD
 	ld b, a
-	ld a, [wMenuBorderTopCoord]
-	add b
-	ld [wMenuBorderBottomCoord], a
-	ret
-
-GetMenuIndexSet::
-	ld hl, wMenuDataIndicesPointer
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld a, [wWhichIndexSet]
-	and a
-	jr z, .skip
+	ldh a, [hJoyPressed]
+	and BUTTONS
+	or b
 	ld b, a
-	ld c, -1
-.loop
-	ld a, [hli]
-	cp c
-	jr nz, .loop
-	dec b
-	jr nz, .loop
-
-.skip
-	ld d, h
-	ld e, l
-	ld a, [hl]
-	ld [wMenuDataItems], a
+	pop af
+	ld a, b
+	pop bc
 	ret
 
-RunMenuItemPrintingFunction::
-	call MenuBoxCoord2Tile
-	ld bc, 2 * SCREEN_WIDTH + 2
-	add hl, bc
-.loop
-	inc de
-	ld a, [de]
-	cp -1
-	ret z
-	ld [wMenuSelection], a
-	push de
-	push hl
-	ld d, h
-	ld e, l
-	ld hl, wMenuDataDisplayFunctionPointer
-	call ._hl_
-	pop hl
-	ld de, 2 * SCREEN_WIDTH
-	add hl, de
-	pop de
-	jr .loop
-
-._hl_
+PlaceHollowCursor::
+	ld hl, wCursorCurrentTile
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
-	jp hl
-
-InitMenuCursorAndButtonPermissions::
-	call InitVerticalMenuCursor
-	ld hl, wMenuJoypadFilter
-	ld a, [wMenuDataFlags]
-	bit 3, a
-	jr z, .disallow_select
-	set START_F, [hl]
-
-.disallow_select
-	ld a, [wMenuDataFlags]
-	bit 2, a
-	jr z, .disallow_left_right
-	set D_LEFT_F, [hl]
-	set D_RIGHT_F, [hl]
-
-.disallow_left_right
+	ld [hl], "▷"
 	ret
 
-GetScrollingMenuJoypad::
-	call ScrollingMenuJoypad
-	ld hl, wMenuJoypadFilter
-	and [hl]
-	jr ContinueGettingMenuJoypad
-
-GetStaticMenuJoypad::
-	xor a
-	ld [wMenuJoypad], a
-	call StaticMenuJoypad
-
-ContinueGettingMenuJoypad:
-	bit A_BUTTON_F, a
-	jr nz, .a_button
-	bit B_BUTTON_F, a
-	jr nz, .b_start
-	bit START_F, a
-	jr nz, .b_start
-	bit D_RIGHT_F, a
-	jr nz, .d_right
-	bit D_LEFT_F, a
-	jr nz, .d_left
-	xor a
-	ld [wMenuJoypad], a
-	jr .done
-
-.d_right
-	ld a, D_RIGHT
-	ld [wMenuJoypad], a
-	jr .done
-
-.d_left
-	ld a, D_LEFT
-	ld [wMenuJoypad], a
-	jr .done
-
-.a_button
-	ld a, A_BUTTON
-	ld [wMenuJoypad], a
-
-.done
-	call GetMenuIndexSet
-	ld a, [wMenuCursorY]
-	ld l, a
-	ld h, $0
-	add hl, de
-	ld a, [hl]
-	ld [wMenuSelection], a
-	ld a, [wMenuCursorY]
-	ld [wMenuCursorBuffer], a
-	and a
-	ret
-
-.b_start
-	ld a, B_BUTTON
-	ld [wMenuJoypad], a
-	ld a, -1
-	ld [wMenuSelection], a
-	scf
-	ret
-
-PlaceMenuStrings::
-	push de
-	ld hl, wMenuDataPointerTableAddr
+HideCursor::
+	ld hl, wCursorCurrentTile
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
-	ld a, [wMenuSelection]
-	call GetNthString
-	ld d, h
-	ld e, l
-	pop hl
-	call PlaceString
-	ret
-
-PlaceNthMenuStrings::
-	push de
-	ld a, [wMenuSelection]
-	call GetMenuDataPointerTableEntry
-	inc hl
-	inc hl
-	ld a, [hli]
-	ld d, [hl]
-	ld e, a
-	pop hl
-	call PlaceString
-	ret
-
-Unreferenced_Function1f9e::
-	call GetMenuDataPointerTableEntry
-	inc hl
-	inc hl
-	ld a, [hli]
-	ld d, [hl]
-	ld e, a
-	ret
-
-MenuJumptable::
-	ld a, [wMenuSelection]
-	call GetMenuDataPointerTableEntry
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp hl
-
-GetMenuDataPointerTableEntry::
-	ld e, a
-	ld d, $0
-	ld hl, wMenuDataPointerTableAddr
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	add hl, de
-	add hl, de
-	add hl, de
-	add hl, de
-	ret
-
-ClearWindowData::
-	ld hl, wWindowStackPointer
-	call .bytefill
-	ld hl, wMenuHeader
-	call .bytefill
-	ld hl, wMenuDataFlags
-	call .bytefill
-	ld hl, w2DMenuCursorInitY
-	call .bytefill
-
-	ldh a, [rSVBK]
-	push af
-	ld a, BANK(wWindowStack)
-	ldh [rSVBK], a
-
-	xor a
-	ld hl, wWindowStackBottom
-	ld [hld], a
-	ld [hld], a
-	ld a, l
-	ld [wWindowStackPointer], a
-	ld a, h
-	ld [wWindowStackPointer + 1], a
-
-	pop af
-	ldh [rSVBK], a
-	ret
-
-.bytefill
-	ld bc, $10
-	xor a
-	call ByteFill
-	ret
-
-MenuClickSound::
-	push af
-	and A_BUTTON | B_BUTTON
-	jr z, .nosound
-	ld hl, wMenuFlags
-	bit 3, [hl]
-	jr nz, .nosound
-	call PlayClickSFX
-.nosound
-	pop af
-	ret
-
-PlayClickSFX::
-	push de
-	ld de, SFX_READ_TEXT_2
-	call PlaySFX
-	pop de
-	ret
-
-MenuTextboxWaitButton::
-	call MenuTextbox
-	call WaitButton
-	call ExitMenu
-	ret
-
-Place2DMenuItemName::
-	ldh [hBuffer], a
-	ldh a, [hROMBank]
-	push af
-	ldh a, [hBuffer]
-	rst Bankswitch
-
-	call PlaceString
-	pop af
-	rst Bankswitch
-
-	ret
-
-_2DMenu::
-	ldh a, [hROMBank]
-	ld [wMenuData_2DMenuItemStringsBank], a
-	farcall _2DMenu_
-	ld a, [wMenuCursorBuffer]
-	ret
-
-InterpretBattleMenu::
-	ldh a, [hROMBank]
-	ld [wMenuData_2DMenuItemStringsBank], a
-	farcall _InterpretBattleMenu
-	ld a, [wMenuCursorBuffer]
-	ret
-
-InterpretMobileMenu::
-	ldh a, [hROMBank]
-	ld [wMenuData_2DMenuItemStringsBank], a
-	farcall _InterpretMobileMenu
-	ld a, [wMenuCursorBuffer]
+	ld [hl], " "
 	ret
--- /dev/null
+++ b/home/menu2.asm
@@ -1,0 +1,539 @@
+; Functions used in displaying and handling menus.
+
+LoadMenuHeader::
+	call CopyMenuHeader
+	call PushWindow
+	ret
+
+CopyMenuHeader::
+	ld de, wMenuHeader
+	ld bc, wMenuHeaderEnd - wMenuHeader
+	call CopyBytes
+	ldh a, [hROMBank]
+	ld [wMenuDataBank], a
+	ret
+
+StoreTo_wMenuCursorBuffer::
+	ld [wMenuCursorBuffer], a
+	ret
+
+MenuTextbox::
+	push hl
+	call LoadMenuTextbox
+	pop hl
+	jp PrintText
+
+; unused
+	ret
+
+LoadMenuTextbox::
+	ld hl, .MenuHeader
+	call LoadMenuHeader
+	ret
+
+.MenuHeader:
+	db MENU_BACKUP_TILES ; flags
+	menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
+	dw vTiles0
+	db 0 ; default option
+
+MenuTextboxBackup::
+	call MenuTextbox
+	call CloseWindow
+	ret
+
+LoadStandardMenuHeader::
+	ld hl, .MenuHeader
+	call LoadMenuHeader
+	ret
+
+.MenuHeader:
+	db MENU_BACKUP_TILES ; flags
+	menu_coords 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
+	dw 0
+	db 1 ; default option
+
+Call_ExitMenu::
+	call ExitMenu
+	ret
+
+VerticalMenu::
+	xor a
+	ldh [hBGMapMode], a
+	call MenuBox
+	call UpdateSprites
+	call PlaceVerticalMenuItems
+	call ApplyTilemap
+	call CopyMenuData
+	ld a, [wMenuDataFlags]
+	bit 7, a
+	jr z, .cancel
+	call InitVerticalMenuCursor
+	call StaticMenuJoypad
+	call MenuClickSound
+	bit 1, a
+	jr z, .okay
+.cancel
+	scf
+	ret
+
+.okay
+	and a
+	ret
+
+GetMenu2::
+	call LoadMenuHeader
+	call VerticalMenu
+	call CloseWindow
+	ld a, [wMenuCursorY]
+	ret
+
+CopyNameFromMenu::
+	push hl
+	push bc
+	push af
+	ld hl, wMenuDataPointer
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	inc hl
+	inc hl
+	pop af
+	call GetNthString
+	ld d, h
+	ld e, l
+	call CopyName1
+	pop bc
+	pop hl
+	ret
+
+YesNoBox::
+	lb bc, SCREEN_WIDTH - 6, 7
+
+PlaceYesNoBox::
+	jr _YesNoBox
+
+PlaceGenericTwoOptionBox::
+	call LoadMenuHeader
+	jr InterpretTwoOptionMenu
+
+_YesNoBox::
+; Return nc (yes) or c (no).
+	push bc
+	ld hl, YesNoMenuHeader
+	call CopyMenuHeader
+	pop bc
+; This seems to be an overflow prevention, but
+; it was coded wrong.
+	ld a, b
+	cp SCREEN_WIDTH - 6
+	jr nz, .okay ; should this be "jr nc"?
+	ld a, SCREEN_WIDTH - 6
+	ld b, a
+
+.okay
+	ld a, b
+	ld [wMenuBorderLeftCoord], a
+	add 5
+	ld [wMenuBorderRightCoord], a
+	ld a, c
+	ld [wMenuBorderTopCoord], a
+	add 4
+	ld [wMenuBorderBottomCoord], a
+	call PushWindow
+
+InterpretTwoOptionMenu::
+	call VerticalMenu
+	push af
+	ld c, $f
+	call DelayFrames
+	call CloseWindow
+	pop af
+	jr c, .no
+	ld a, [wMenuCursorY]
+	cp 2 ; no
+	jr z, .no
+	and a
+	ret
+
+.no
+	ld a, 2
+	ld [wMenuCursorY], a
+	scf
+	ret
+
+YesNoMenuHeader::
+	db MENU_BACKUP_TILES ; flags
+	menu_coords 10, 5, 15, 9
+	dw .MenuData
+	db 1 ; default option
+
+.MenuData:
+	db STATICMENU_CURSOR | STATICMENU_NO_TOP_SPACING ; flags
+	db 2
+	db "YES@"
+	db "NO@"
+
+OffsetMenuHeader::
+	call _OffsetMenuHeader
+	call PushWindow
+	ret
+
+_OffsetMenuHeader::
+	push de
+	call CopyMenuHeader
+	pop de
+	ld a, [wMenuBorderLeftCoord]
+	ld h, a
+	ld a, [wMenuBorderRightCoord]
+	sub h
+	ld h, a
+	ld a, d
+	ld [wMenuBorderLeftCoord], a
+	add h
+	ld [wMenuBorderRightCoord], a
+	ld a, [wMenuBorderTopCoord]
+	ld l, a
+	ld a, [wMenuBorderBottomCoord]
+	sub l
+	ld l, a
+	ld a, e
+	ld [wMenuBorderTopCoord], a
+	add l
+	ld [wMenuBorderBottomCoord], a
+	ret
+
+DoNthMenu::
+	call DrawVariableLengthMenuBox
+	call MenuWriteText
+	call InitMenuCursorAndButtonPermissions
+	call GetStaticMenuJoypad
+	call GetMenuJoypad
+	call MenuClickSound
+	ret
+
+SetUpMenu::
+	call DrawVariableLengthMenuBox ; ???
+	call MenuWriteText
+	call InitMenuCursorAndButtonPermissions ; set up selection pointer
+	ld hl, w2DMenuFlags1
+	set 7, [hl]
+	ret
+
+DrawVariableLengthMenuBox::
+	call CopyMenuData
+	call GetMenuIndexSet
+	call AutomaticGetMenuBottomCoord
+	call MenuBox
+	ret
+
+MenuWriteText::
+	xor a
+	ldh [hBGMapMode], a
+	call GetMenuIndexSet ; sort out the text
+	call RunMenuItemPrintingFunction ; actually write it
+	call SafeUpdateSprites
+	ldh a, [hOAMUpdate]
+	push af
+	ld a, $1
+	ldh [hOAMUpdate], a
+	call ApplyTilemap
+	pop af
+	ldh [hOAMUpdate], a
+	ret
+
+AutomaticGetMenuBottomCoord::
+	ld a, [wMenuBorderLeftCoord]
+	ld c, a
+	ld a, [wMenuBorderRightCoord]
+	sub c
+	ld c, a
+	ld a, [wMenuDataItems]
+	add a
+	inc a
+	ld b, a
+	ld a, [wMenuBorderTopCoord]
+	add b
+	ld [wMenuBorderBottomCoord], a
+	ret
+
+GetMenuIndexSet::
+	ld hl, wMenuDataIndicesPointer
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld a, [wWhichIndexSet]
+	and a
+	jr z, .skip
+	ld b, a
+	ld c, -1
+.loop
+	ld a, [hli]
+	cp c
+	jr nz, .loop
+	dec b
+	jr nz, .loop
+
+.skip
+	ld d, h
+	ld e, l
+	ld a, [hl]
+	ld [wMenuDataItems], a
+	ret
+
+RunMenuItemPrintingFunction::
+	call MenuBoxCoord2Tile
+	ld bc, 2 * SCREEN_WIDTH + 2
+	add hl, bc
+.loop
+	inc de
+	ld a, [de]
+	cp -1
+	ret z
+	ld [wMenuSelection], a
+	push de
+	push hl
+	ld d, h
+	ld e, l
+	ld hl, wMenuDataDisplayFunctionPointer
+	call ._hl_
+	pop hl
+	ld de, 2 * SCREEN_WIDTH
+	add hl, de
+	pop de
+	jr .loop
+
+._hl_
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp hl
+
+InitMenuCursorAndButtonPermissions::
+	call InitVerticalMenuCursor
+	ld hl, wMenuJoypadFilter
+	ld a, [wMenuDataFlags]
+	bit 3, a
+	jr z, .disallow_select
+	set START_F, [hl]
+
+.disallow_select
+	ld a, [wMenuDataFlags]
+	bit 2, a
+	jr z, .disallow_left_right
+	set D_LEFT_F, [hl]
+	set D_RIGHT_F, [hl]
+
+.disallow_left_right
+	ret
+
+GetScrollingMenuJoypad::
+	call ScrollingMenuJoypad
+	ld hl, wMenuJoypadFilter
+	and [hl]
+	jr ContinueGettingMenuJoypad
+
+GetStaticMenuJoypad::
+	xor a
+	ld [wMenuJoypad], a
+	call StaticMenuJoypad
+
+ContinueGettingMenuJoypad:
+	bit A_BUTTON_F, a
+	jr nz, .a_button
+	bit B_BUTTON_F, a
+	jr nz, .b_start
+	bit START_F, a
+	jr nz, .b_start
+	bit D_RIGHT_F, a
+	jr nz, .d_right
+	bit D_LEFT_F, a
+	jr nz, .d_left
+	xor a
+	ld [wMenuJoypad], a
+	jr .done
+
+.d_right
+	ld a, D_RIGHT
+	ld [wMenuJoypad], a
+	jr .done
+
+.d_left
+	ld a, D_LEFT
+	ld [wMenuJoypad], a
+	jr .done
+
+.a_button
+	ld a, A_BUTTON
+	ld [wMenuJoypad], a
+
+.done
+	call GetMenuIndexSet
+	ld a, [wMenuCursorY]
+	ld l, a
+	ld h, $0
+	add hl, de
+	ld a, [hl]
+	ld [wMenuSelection], a
+	ld a, [wMenuCursorY]
+	ld [wMenuCursorBuffer], a
+	and a
+	ret
+
+.b_start
+	ld a, B_BUTTON
+	ld [wMenuJoypad], a
+	ld a, -1
+	ld [wMenuSelection], a
+	scf
+	ret
+
+PlaceMenuStrings::
+	push de
+	ld hl, wMenuDataPointerTableAddr
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	ld a, [wMenuSelection]
+	call GetNthString
+	ld d, h
+	ld e, l
+	pop hl
+	call PlaceString
+	ret
+
+PlaceNthMenuStrings::
+	push de
+	ld a, [wMenuSelection]
+	call GetMenuDataPointerTableEntry
+	inc hl
+	inc hl
+	ld a, [hli]
+	ld d, [hl]
+	ld e, a
+	pop hl
+	call PlaceString
+	ret
+
+Unreferenced_Function1f9e::
+	call GetMenuDataPointerTableEntry
+	inc hl
+	inc hl
+	ld a, [hli]
+	ld d, [hl]
+	ld e, a
+	ret
+
+MenuJumptable::
+	ld a, [wMenuSelection]
+	call GetMenuDataPointerTableEntry
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp hl
+
+GetMenuDataPointerTableEntry::
+	ld e, a
+	ld d, $0
+	ld hl, wMenuDataPointerTableAddr
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	add hl, de
+	add hl, de
+	add hl, de
+	add hl, de
+	ret
+
+ClearWindowData::
+	ld hl, wWindowStackPointer
+	call .bytefill
+	ld hl, wMenuHeader
+	call .bytefill
+	ld hl, wMenuDataFlags
+	call .bytefill
+	ld hl, w2DMenuCursorInitY
+	call .bytefill
+
+	ldh a, [rSVBK]
+	push af
+	ld a, BANK(wWindowStack)
+	ldh [rSVBK], a
+
+	xor a
+	ld hl, wWindowStackBottom
+	ld [hld], a
+	ld [hld], a
+	ld a, l
+	ld [wWindowStackPointer], a
+	ld a, h
+	ld [wWindowStackPointer + 1], a
+
+	pop af
+	ldh [rSVBK], a
+	ret
+
+.bytefill
+	ld bc, $10
+	xor a
+	call ByteFill
+	ret
+
+MenuClickSound::
+	push af
+	and A_BUTTON | B_BUTTON
+	jr z, .nosound
+	ld hl, wMenuFlags
+	bit 3, [hl]
+	jr nz, .nosound
+	call PlayClickSFX
+.nosound
+	pop af
+	ret
+
+PlayClickSFX::
+	push de
+	ld de, SFX_READ_TEXT_2
+	call PlaySFX
+	pop de
+	ret
+
+MenuTextboxWaitButton::
+	call MenuTextbox
+	call WaitButton
+	call ExitMenu
+	ret
+
+Place2DMenuItemName::
+	ldh [hBuffer], a
+	ldh a, [hROMBank]
+	push af
+	ldh a, [hBuffer]
+	rst Bankswitch
+
+	call PlaceString
+	pop af
+	rst Bankswitch
+
+	ret
+
+_2DMenu::
+	ldh a, [hROMBank]
+	ld [wMenuData_2DMenuItemStringsBank], a
+	farcall _2DMenu_
+	ld a, [wMenuCursorBuffer]
+	ret
+
+InterpretBattleMenu::
+	ldh a, [hROMBank]
+	ld [wMenuData_2DMenuItemStringsBank], a
+	farcall _InterpretBattleMenu
+	ld a, [wMenuCursorBuffer]
+	ret
+
+InterpretMobileMenu::
+	ldh a, [hROMBank]
+	ld [wMenuData_2DMenuItemStringsBank], a
+	farcall _InterpretMobileMenu
+	ld a, [wMenuCursorBuffer]
+	ret
--- a/home/movement.asm
+++ b/home/movement.asm
@@ -127,66 +127,3 @@
 	big_step UP
 	big_step LEFT
 	big_step RIGHT
-
-SetMenuAttributes::
-	push hl
-	push bc
-	ld hl, w2DMenuCursorInitY
-	ld b, $8
-.loop
-	ld a, [de]
-	inc de
-	ld [hli], a
-	dec b
-	jr nz, .loop
-	ld a, $1
-	ld [hli], a
-	ld [hli], a
-	xor a
-	ld [hli], a
-	ld [hli], a
-	ld [hli], a
-	pop bc
-	pop hl
-	ret
-
-StaticMenuJoypad::
-	callfar _StaticMenuJoypad
-	call GetMenuJoypad
-	ret
-
-ScrollingMenuJoypad::
-	callfar _ScrollingMenuJoypad
-	call GetMenuJoypad
-	ret
-
-GetMenuJoypad::
-	push bc
-	push af
-	ldh a, [hJoyLast]
-	and D_PAD
-	ld b, a
-	ldh a, [hJoyPressed]
-	and BUTTONS
-	or b
-	ld b, a
-	pop af
-	ld a, b
-	pop bc
-	ret
-
-PlaceHollowCursor::
-	ld hl, wCursorCurrentTile
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld [hl], "▷"
-	ret
-
-HideCursor::
-	ld hl, wCursorCurrentTile
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	ld [hl], " "
-	ret
--- a/home/print_bcd.asm
+++ b/home/print_bcd.asm
@@ -13,12 +13,12 @@
 ; Note that bits 5 and 7 are modified during execution. The above reflects
 ; their meaning at the beginning of the functions's execution.
 	ld b, c ; save flags in b
-	res 7, c
-	res 6, c
-	res 5, c ; c now holds the length
-	bit 5, b
+	res PRINTNUM_LEADINGZEROS_F, c
+	res PRINTNUM_LEFTALIGN_F, c
+	res PRINTNUM_MONEY_F, c ; c now holds the length
+	bit PRINTNUM_MONEY_F, b
 	jr z, .loop
-	bit 7, b
+	bit PRINTNUM_LEADINGZEROS_F, b
 	jr nz, .loop ; skip currency symbol
 	ld [hl], "¥"
 	inc hl
@@ -31,14 +31,14 @@
 	inc de
 	dec c
 	jr nz, .loop
-	bit 7, b ; were any non-zero digits printed?
+	bit PRINTNUM_LEADINGZEROS_F, b
 	jr z, .done ; if so, we are done
 .numberEqualsZero ; if every digit of the BCD number is zero
-	bit 6, b ; left or right alignment?
-	jr nz, .skipRightAlignmentAdjustment
-	dec hl ; if the string is right-aligned, it needs to be moved back one space
-.skipRightAlignmentAdjustment
-	bit 5, b
+	bit PRINTNUM_LEFTALIGN_F, b
+	jr nz, .skipLeftAlignmentAdjustment
+	dec hl ; if the string is left-aligned, it needs to be moved back one space
+.skipLeftAlignmentAdjustment
+	bit PRINTNUM_MONEY_F, b
 	jr z, .skipCurrencySymbol
 	ld [hl], "¥" ; currency symbol
 	inc hl
@@ -54,16 +54,16 @@
 	and a
 	jr z, .zeroDigit
 .nonzeroDigit
-	bit 7, b ; have any non-space characters been printed?
+	bit PRINTNUM_LEADINGZEROS_F, b ; have any non-space characters been printed?
 	jr z, .outputDigit
 ; if bit 7 is set, then no numbers have been printed yet
-	bit 5, b ; print the currency symbol?
+	bit PRINTNUM_MONEY_F, b
 	jr z, .skipCurrencySymbol
 	ld [hl], "¥"
 	inc hl
-	res 5, b
+	res PRINTNUM_MONEY_F, b
 .skipCurrencySymbol
-	res 7, b ; unset 7 to indicate that a nonzero digit has been reached
+	res PRINTNUM_LEADINGZEROS_F, b ; unset 7 to indicate that a nonzero digit has been reached
 .outputDigit
 	add "0"
 	ld [hli], a
@@ -70,9 +70,9 @@
 	jp PrintLetterDelay
 
 .zeroDigit
-	bit 7, b ; either printing leading zeroes or already reached a nonzero digit?
+	bit PRINTNUM_LEADINGZEROS_F, b ; either printing leading zeroes or already reached a nonzero digit?
 	jr z, .outputDigit ; if so, print a zero digit
-	bit 6, b ; left or right alignment?
+	bit PRINTNUM_LEFTALIGN_F, b
 	ret nz
 	ld a, " "
 	ld [hli], a ; if right-aligned, "print" a space by advancing the pointer
--- a/home/print_level.asm
+++ b/home/print_level.asm
@@ -8,12 +8,12 @@
 ; How many digits?
 	ld c, 2
 	cp 100 ; This is distinct from MAX_LEVEL.
-	jr c, Print8BitNumRightAlign
+	jr c, Print8BitNumLeftAlign
 
 ; 3-digit numbers overwrite the :L.
 	dec hl
 	inc c
-	jr Print8BitNumRightAlign
+	jr Print8BitNumLeftAlign
 
 PrintLevel_Force3Digits::
 ; Print :L and all 3 digits
@@ -21,8 +21,8 @@
 	inc hl
 	ld c, 3
 
-Print8BitNumRightAlign::
+Print8BitNumLeftAlign::
 	ld [wDeciramBuffer], a
 	ld de, wDeciramBuffer
-	ld b, PRINTNUM_RIGHTALIGN | 1
+	ld b, PRINTNUM_LEFTALIGN | 1
 	jp PrintNum
--- a/home/text.asm
+++ b/home/text.asm
@@ -478,7 +478,7 @@
 
 .linkbattle
 	call Text_WaitBGMap
-	call ButtonSound
+	call PromptButton
 	hlcoord TEXTBOX_INNERX, TEXTBOX_INNERY
 	lb bc, TEXTBOX_INNERH - 1, TEXTBOX_INNERW
 	call ClearBox
@@ -499,7 +499,7 @@
 	call Text_WaitBGMap
 
 	push de
-	call ButtonSound
+	call PromptButton
 	pop de
 
 	ld a, [wLinkMode]
@@ -545,7 +545,7 @@
 
 .ok
 	call Text_WaitBGMap
-	call ButtonSound
+	call PromptButton
 	ld a, [wLinkMode]
 	cp LINK_COLOSSEUM
 	jr z, DoneText
@@ -686,29 +686,29 @@
 
 TextCommands::
 ; entries correspond to TX_* constants (see macros/scripts/text.asm)
-	dw TextCommand_START            ; TX_START
-	dw TextCommand_RAM              ; TX_RAM
-	dw TextCommand_BCD              ; TX_BCD
-	dw TextCommand_MOVE             ; TX_MOVE
-	dw TextCommand_BOX              ; TX_BOX
-	dw TextCommand_LOW              ; TX_LOW
-	dw TextCommand_WAIT_BUTTON      ; TX_WAIT_BUTTON
-	dw TextCommand_SCROLL           ; TX_SCROLL
-	dw TextCommand_START_ASM        ; TX_START_ASM
-	dw TextCommand_NUM              ; TX_NUM
-	dw TextCommand_PAUSE            ; TX_PAUSE
-	dw TextCommand_SOUND            ; TX_SOUND_DEX_FANFARE_50_79
-	dw TextCommand_DOTS             ; TX_DOTS
-	dw TextCommand_LINK_WAIT_BUTTON ; TX_LINK_WAIT_BUTTON
-	dw TextCommand_SOUND            ; TX_SOUND_DEX_FANFARE_20_49
-	dw TextCommand_SOUND            ; TX_SOUND_ITEM
-	dw TextCommand_SOUND            ; TX_SOUND_CAUGHT_MON
-	dw TextCommand_SOUND            ; TX_SOUND_DEX_FANFARE_80_109
-	dw TextCommand_SOUND            ; TX_SOUND_FANFARE
-	dw TextCommand_SOUND            ; TX_SOUND_SLOT_MACHINE_START
-	dw TextCommand_STRINGBUFFER     ; TX_STRINGBUFFER
-	dw TextCommand_DAY              ; TX_DAY
-	dw TextCommand_FAR              ; TX_FAR
+	dw TextCommand_START              ; TX_START
+	dw TextCommand_RAM                ; TX_RAM
+	dw TextCommand_BCD                ; TX_BCD
+	dw TextCommand_MOVE               ; TX_MOVE
+	dw TextCommand_BOX                ; TX_BOX
+	dw TextCommand_LOW                ; TX_LOW
+	dw TextCommand_PROMPT_BUTTON      ; TX_PROMPT_BUTTON
+	dw TextCommand_SCROLL             ; TX_SCROLL
+	dw TextCommand_START_ASM          ; TX_START_ASM
+	dw TextCommand_NUM                ; TX_NUM
+	dw TextCommand_PAUSE              ; TX_PAUSE
+	dw TextCommand_SOUND              ; TX_SOUND_DEX_FANFARE_50_79
+	dw TextCommand_DOTS               ; TX_DOTS
+	dw TextCommand_LINK_PROMPT_BUTTON ; TX_LINK_PROMPT_BUTTON
+	dw TextCommand_SOUND              ; TX_SOUND_DEX_FANFARE_20_49
+	dw TextCommand_SOUND              ; TX_SOUND_ITEM
+	dw TextCommand_SOUND              ; TX_SOUND_CAUGHT_MON
+	dw TextCommand_SOUND              ; TX_SOUND_DEX_FANFARE_80_109
+	dw TextCommand_SOUND              ; TX_SOUND_FANFARE
+	dw TextCommand_SOUND              ; TX_SOUND_SLOT_MACHINE_START
+	dw TextCommand_STRINGBUFFER       ; TX_STRINGBUFFER
+	dw TextCommand_DAY                ; TX_DAY
+	dw TextCommand_FAR                ; TX_FAR
 
 TextCommand_START::
 ; text_start
@@ -834,8 +834,8 @@
 	bccoord TEXTBOX_INNERX, TEXTBOX_INNERY + 2
 	ret
 
-TextCommand_WAIT_BUTTON::
-; text_waitbutton
+TextCommand_PROMPT_BUTTON::
+; text_promptbutton
 ; wait for button press
 ; show arrow
 ; [06]
@@ -842,14 +842,14 @@
 
 	ld a, [wLinkMode]
 	cp LINK_COLOSSEUM
-	jp z, TextCommand_LINK_WAIT_BUTTON
+	jp z, TextCommand_LINK_PROMPT_BUTTON
 	cp LINK_MOBILE
-	jp z, TextCommand_LINK_WAIT_BUTTON
+	jp z, TextCommand_LINK_PROMPT_BUTTON
 
 	push hl
 	call LoadBlinkingCursor
 	push bc
-	call ButtonSound
+	call PromptButton
 	pop bc
 	call UnloadBlinkingCursor
 	pop hl
@@ -896,7 +896,7 @@
 	ld a, b
 	and $f0
 	swap a
-	set PRINTNUM_RIGHTALIGN_F, a
+	set PRINTNUM_LEFTALIGN_F, a
 	ld b, a
 	call PrintNum
 	ld b, h
@@ -1005,13 +1005,13 @@
 	pop hl
 	ret
 
-TextCommand_LINK_WAIT_BUTTON::
-; text_linkwaitbutton
+TextCommand_LINK_PROMPT_BUTTON::
+; text_linkpromptbutton
 ; wait for key down
 ; display arrow
 	push hl
 	push bc
-	call ButtonSound
+	call PromptButton
 	pop bc
 	pop hl
 	ret
--- a/home/trainers.asm
+++ b/home/trainers.asm
@@ -15,7 +15,7 @@
 
 ; Skip the player object.
 	ld a, 1
-	ld de, wMapObjects + OBJECT_LENGTH
+	ld de, wMapObjects + MAPOBJECT_LENGTH
 
 .loop
 
@@ -78,7 +78,7 @@
 
 .next
 	pop de
-	ld hl, OBJECT_LENGTH
+	ld hl, MAPOBJECT_LENGTH
 	add hl, de
 	ld d, h
 	ld e, l
--- a/macros/legacy.asm
+++ b/macros/legacy.asm
@@ -96,6 +96,7 @@
 writebackup       EQUS "closewindow"
 interpretmenu     EQUS "_2dmenu"
 interpretmenu2    EQUS "verticalmenu"
+buttonsound       EQUS "promptbutton"
 battlecheck       EQUS "randomwildmon"
 loadtrainerdata   EQUS "loadtemptrainer"
 loadpokedata      EQUS "loadwildmon"
@@ -231,7 +232,9 @@
 deciram                EQUS "text_decimal"
 interpret_data         EQUS "text_pause"
 limited_interpret_data EQUS "text_dots"
-link_wait_button       EQUS "text_linkwaitbutton"
+text_waitbutton        EQUS "text_promptbutton"
+link_wait_button       EQUS "text_linkpromptbutton"
+text_linkwaitbutton    EQUS "text_linkpromptbutton"
 current_day            EQUS "text_today"
 text_jump              EQUS "text_far"
 
--- a/macros/scripts/events.asm
+++ b/macros/scripts/events.asm
@@ -553,9 +553,9 @@
 	db waitbutton_command
 ENDM
 
-	enum buttonsound_command ; $55
-buttonsound: MACRO
-	db buttonsound_command
+	enum promptbutton_command ; $55
+promptbutton: MACRO
+	db promptbutton_command
 ENDM
 
 	enum pokepic_command ; $56
--- a/macros/scripts/text.asm
+++ b/macros/scripts/text.asm
@@ -46,9 +46,9 @@
 	db TX_LOW
 ENDM
 
-	enum TX_WAIT_BUTTON ; $06
-text_waitbutton: MACRO
-	db TX_WAIT_BUTTON
+	enum TX_PROMPT_BUTTON ; $06
+text_promptbutton: MACRO
+	db TX_PROMPT_BUTTON
 ENDM
 
 	enum TX_SCROLL ; $07
@@ -84,9 +84,9 @@
 	db \1
 ENDM
 
-	enum TX_LINK_WAIT_BUTTON ; $0d
-text_linkwaitbutton: MACRO
-	db TX_LINK_WAIT_BUTTON
+	enum TX_LINK_PROMPT_BUTTON ; $0d
+text_linkpromptbutton: MACRO
+	db TX_LINK_PROMPT_BUTTON
 ENDM
 
 	enum TX_SOUND_DEX_FANFARE_20_49 ; $0e
--- a/maps/AzaleaGym.asm
+++ b/maps/AzaleaGym.asm
@@ -40,7 +40,7 @@
 	setevent EVENT_BEAT_BUG_CATCHER_AL
 	setevent EVENT_BEAT_BUG_CATCHER_JOSH
 	writetext BugsyText_HiveBadgeSpeech
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_FURY_CUTTER
 	iffalse .NoRoomForFuryCutter
 	setevent EVENT_GOT_TM49_FURY_CUTTER
--- a/maps/AzaleaTown.asm
+++ b/maps/AzaleaTown.asm
@@ -157,10 +157,10 @@
 	applymovement PLAYER, AzaleaTownPlayerLeavesKurtsHouseMovement
 	opentext
 	writetext AzaleaTownKurtText1
-	buttonsound
+	promptbutton
 	turnobject AZALEATOWN_KURT_OUTSIDE, RIGHT
 	writetext AzaleaTownKurtText2
-	buttonsound
+	promptbutton
 	writetext AzaleaTownKurtText3
 	waitbutton
 	verbosegiveitem GS_BALL
--- a/maps/BattleTower1F.asm
+++ b/maps/BattleTower1F.asm
@@ -57,7 +57,7 @@
 	ifequal $3, Script_BeatenAllTrainers2 ; maps/BattleTowerBattleRoom.asm
 	opentext
 	writetext Text_BattleTowerWelcomesYou
-	buttonsound
+	promptbutton
 	setval BATTLETOWERACTION_CHECK_EXPLANATION_READ ; if new save file: bit 1, [sBattleTowerSaveFileFlags]
 	special BattleTowerAction
 	ifnotequal $0, Script_Menu_ChallengeExplanationCancel
@@ -528,7 +528,7 @@
 	text_ram wStringBuffer4
 	text "!@"
 	sound_item
-	text_waitbutton
+	text_promptbutton
 	text_end
 
 Text_YourPackIsStuffedFull:
--- a/maps/BattleTowerBattleRoom.asm
+++ b/maps/BattleTowerBattleRoom.asm
@@ -28,7 +28,7 @@
 	applymovement BATTLETOWERBATTLEROOM_YOUNGSTER, MovementData_BattleTowerBattleRoomOpponentWalksIn
 	opentext
 	battletowertext BATTLETOWERTEXT_INTRO
-	buttonsound
+	promptbutton
 	closetext
 	special BattleTowerBattle ; calls predef startbattle
 	special FadeOutPalettes
--- a/maps/BillsFamilysHouse.asm
+++ b/maps/BillsFamilysHouse.asm
@@ -17,7 +17,7 @@
 	yesorno
 	iffalse .Refused
 	writetext BillImCountingOnYouText
-	buttonsound
+	promptbutton
 	waitsfx
 	readvar VAR_PARTYCOUNT
 	ifequal PARTY_LENGTH, .NoRoom
@@ -54,13 +54,13 @@
 	opentext
 	checkevent EVENT_MET_BILL
 	iffalse .HaventMetBill
-	writetext BillsPopText
+	writetext BillsMomText_BeforeEcruteak
 	waitbutton
 	closetext
 	end
 
 .HaventMetBill:
-	writetext BillsMomText
+	writetext BillsMomText_AfterEcruteak
 	waitbutton
 	closetext
 	end
@@ -79,7 +79,7 @@
 	writetext RecordedBillsNumberText
 	playsound SFX_REGISTER_PHONE_NUMBER
 	waitsfx
-	buttonsound
+	promptbutton
 .GotBillsNumber:
 	writetext BillsSisterStorageSystemText
 	waitbutton
@@ -94,7 +94,7 @@
 
 .NoRoom:
 	writetext BillsSisterPhoneFullText
-	buttonsound
+	promptbutton
 	sjump .Refused
 
 BillsHouseBookshelf1:
@@ -175,7 +175,7 @@
 	line "a real headache…"
 	done
 
-BillsPopText:
+BillsMomText_BeforeEcruteak:
 	text "Oh, you collect"
 	line "#MON? My son"
 	cont "BILL is an expert."
@@ -193,7 +193,7 @@
 	line "being called…"
 	done
 
-BillsMomText:
+BillsMomText_AfterEcruteak:
 	text "My husband was"
 	line "once known as a"
 
--- a/maps/BillsHouse.asm
+++ b/maps/BillsHouse.asm
@@ -16,7 +16,7 @@
 	checkevent EVENT_MET_BILLS_GRANDPA
 	iftrue .MetGrandpa
 	writetext BillsGrandpaIntroText
-	buttonsound
+	promptbutton
 	setevent EVENT_MET_BILLS_GRANDPA
 .MetGrandpa:
 	checkevent EVENT_SHOWED_PICHU_TO_BILLS_GRANDPA
@@ -30,7 +30,7 @@
 	checkevent EVENT_SHOWED_LICKITUNG_TO_BILLS_GRANDPA
 	iftrue .ShowedLickitung
 	writetext BillsGrandpaLickitungText
-	buttonsound
+	promptbutton
 	writetext BillsGrandpaAskToSeeMonText
 	yesorno
 	iffalse .SaidNo
@@ -44,7 +44,7 @@
 
 .GotEverstone:
 	writetext BillsGrandpaOddishText
-	buttonsound
+	promptbutton
 	writetext BillsGrandpaAskToSeeMonText
 	yesorno
 	iffalse .SaidNo
@@ -58,7 +58,7 @@
 
 .GotLeafStone:
 	writetext BillsGrandpaStaryuText
-	buttonsound
+	promptbutton
 	writetext BillsGrandpaAskToSeeMonText
 	yesorno
 	iffalse .SaidNo
@@ -74,7 +74,7 @@
 	checkver
 	iftrue .AskVulpix
 	writetext BillsGrandpaGrowlitheText
-	buttonsound
+	promptbutton
 	writetext BillsGrandpaAskToSeeMonText
 	yesorno
 	iffalse .SaidNo
@@ -88,7 +88,7 @@
 
 .AskVulpix:
 	writetext BillsGrandpaVulpixText
-	buttonsound
+	promptbutton
 	writetext BillsGrandpaAskToSeeMonText
 	yesorno
 	iffalse .SaidNo
@@ -102,7 +102,7 @@
 
 .GotFireStone:
 	writetext BillsGrandpaPichuText
-	buttonsound
+	promptbutton
 	writetext BillsGrandpaAskToSeeMonText
 	yesorno
 	iffalse .SaidNo
@@ -168,7 +168,7 @@
 
 .ExcitedToSee:
 	writetext BillsGrandpaExcitedToSeeText
-	buttonsound
+	promptbutton
 	end
 
 .SaidNo:
@@ -179,12 +179,12 @@
 
 .CorrectPokemon:
 	writetext BillsGrandpaShownPokemonText
-	buttonsound
+	promptbutton
 	end
 
 .ReceiveItem:
 	writetext BillsGrandpaTokenOfAppreciationText
-	buttonsound
+	promptbutton
 	end
 
 .JustShowedSomething:
--- a/maps/BlackthornCity.asm
+++ b/maps/BlackthornCity.asm
@@ -95,11 +95,11 @@
 	checkevent EVENT_MET_SANTOS_OF_SATURDAY
 	iftrue .MetSantos
 	writetext MeetSantosText
-	buttonsound
+	promptbutton
 	setevent EVENT_MET_SANTOS_OF_SATURDAY
 .MetSantos:
 	writetext SantosGivesGiftText
-	buttonsound
+	promptbutton
 	verbosegiveitem SPELL_TAG
 	iffalse .Done
 	setevent EVENT_GOT_SPELL_TAG_FROM_SANTOS
--- a/maps/BlackthornGym1F.asm
+++ b/maps/BlackthornGym1F.asm
@@ -65,7 +65,7 @@
 	checkevent EVENT_GOT_TM24_DRAGONBREATH
 	iftrue .GotTM24
 	writetext BlackthornGymClairText_YouKeptMeWaiting
-	buttonsound
+	promptbutton
 	giveitem TM_DRAGONBREATH
 	iffalse .BagFull
 	getitemname STRING_BUFFER_3, TM_DRAGONBREATH
@@ -75,7 +75,7 @@
 	itemnotify
 	setevent EVENT_GOT_TM24_DRAGONBREATH
 	writetext BlackthornGymClairText_DescribeTM24
-	buttonsound
+	promptbutton
 	sjump .GotTM24
 
 .BagFull:
--- a/maps/BluesHouse.asm
+++ b/maps/BluesHouse.asm
@@ -39,7 +39,7 @@
 	opentext
 	writetext GroomedMonLooksContentText
 	special PlayCurMonCry
-	buttonsound
+	promptbutton
 	writetext DaisyAllDoneText
 	waitbutton
 	closetext
--- a/maps/CeladonCafe.asm
+++ b/maps/CeladonCafe.asm
@@ -107,7 +107,7 @@
 	opentext
 	getitemname STRING_BUFFER_3, LEFTOVERS
 	writetext FoundLeftoversText
-	buttonsound
+	promptbutton
 	writetext NoRoomForLeftoversText
 	waitbutton
 	closetext
--- a/maps/CeladonDeptStore6F.asm
+++ b/maps/CeladonDeptStore6F.asm
@@ -67,7 +67,7 @@
 	pause 10
 	playsound SFX_ENTER_DOOR
 	writetext CeladonClangText
-	buttonsound
+	promptbutton
 	itemnotify
 	sjump .Start
 
--- a/maps/CeladonGameCorner.asm
+++ b/maps/CeladonGameCorner.asm
@@ -53,7 +53,7 @@
 	checkevent EVENT_GOT_COINS_FROM_GAMBLER_AT_CELADON
 	iftrue .GotCoins
 	writetext CeladonGameCornerFisherText1
-	buttonsound
+	promptbutton
 	checkitem COIN_CASE
 	iffalse .NoCoinCase
 	checkcoins MAX_COINS - 1
--- a/maps/CeladonGym.asm
+++ b/maps/CeladonGym.asm
@@ -37,7 +37,7 @@
 	checkevent EVENT_GOT_TM19_GIGA_DRAIN
 	iftrue .GotGigaDrain
 	writetext ErikaExplainTMText
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_GIGA_DRAIN
 	iffalse .GotGigaDrain
 	setevent EVENT_GOT_TM19_GIGA_DRAIN
--- a/maps/CeladonMansion3F.asm
+++ b/maps/CeladonMansion3F.asm
@@ -20,12 +20,12 @@
 	end
 
 .CompletedPokedex:
-	buttonsound
+	promptbutton
 	writetext GameFreakGameDesignerCompletedPokedexText
 	playsound SFX_DEX_FANFARE_230_PLUS
 	waitsfx
 	writetext GameFreakGameDesignerPauseForDiplomaText
-	buttonsound
+	promptbutton
 	special Diploma
 	writetext GameFreakGameDesignerAfterDiplomaText
 	waitbutton
--- a/maps/CeladonMansionRoofHouse.asm
+++ b/maps/CeladonMansionRoofHouse.asm
@@ -12,7 +12,7 @@
 	checkevent EVENT_GOT_TM03_CURSE
 	iftrue .GotCurse
 	writetext CeladonMansionRoofHousePharmacistIntroText
-	buttonsound
+	promptbutton
 	checktime NITE
 	iftrue .Night
 	writetext CeladonMansionRoofHousePharmacistNotNightText
@@ -22,7 +22,7 @@
 
 .Night:
 	writetext CeladonMansionRoofHousePharmacistStoryText
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_CURSE
 	iffalse .NoRoom
 	setevent EVENT_GOT_TM03_CURSE
--- a/maps/CeladonPokecenter1F.asm
+++ b/maps/CeladonPokecenter1F.asm
@@ -26,7 +26,7 @@
 	faceplayer
 	opentext
 	writetext CeladonEusineText1
-	buttonsound
+	promptbutton
 	setval SUICUNE
 	special MonCheck
 	iffalse .NoSuicune
--- a/maps/CharcoalKiln.asm
+++ b/maps/CharcoalKiln.asm
@@ -46,7 +46,7 @@
 
 .Thanks:
 	writetext CharcoalKilnApprenticeText2
-	buttonsound
+	promptbutton
 	verbosegiveitem CHARCOAL
 	iffalse .Done
 	setevent EVENT_GOT_CHARCOAL_IN_CHARCOAL_KILN
--- a/maps/CherrygroveCity.asm
+++ b/maps/CherrygroveCity.asm
@@ -66,12 +66,12 @@
 	turnobject PLAYER, RIGHT
 	opentext
 	writetext GuideGentGiftText
-	buttonsound
+	promptbutton
 	getstring STRING_BUFFER_4, .mapcardname
 	scall .JumpstdReceiveItem
 	setflag ENGINE_MAP_CARD
 	writetext GotMapCardText
-	buttonsound
+	promptbutton
 	writetext GuideGentPokegearText
 	waitbutton
 	closetext
@@ -212,7 +212,7 @@
 	checkevent EVENT_GOT_MYSTIC_WATER_IN_CHERRYGROVE
 	iftrue .After
 	writetext MysticWaterGuyTextBefore
-	buttonsound
+	promptbutton
 	verbosegiveitem MYSTIC_WATER
 	iffalse .Exit
 	setevent EVENT_GOT_MYSTIC_WATER_IN_CHERRYGROVE
--- a/maps/CianwoodCity.asm
+++ b/maps/CianwoodCity.asm
@@ -86,7 +86,7 @@
 	checkevent EVENT_GOT_HM02_FLY
 	iftrue .GotFly
 	writetext ChucksWifeEasierToFlyText
-	buttonsound
+	promptbutton
 	checkevent EVENT_BEAT_CHUCK
 	iftrue .BeatChuck
 	writetext ChucksWifeBeatChuckText
@@ -96,12 +96,12 @@
 
 .BeatChuck:
 	writetext ChucksWifeGiveHMText
-	buttonsound
+	promptbutton
 	verbosegiveitem HM_FLY
 	iffalse .Done
 	setevent EVENT_GOT_HM02_FLY
 	writetext ChucksWifeFlySpeechText
-	buttonsound
+	promptbutton
 .GotFly:
 	writetext ChucksWifeChubbyText
 	waitbutton
--- a/maps/CianwoodGym.asm
+++ b/maps/CianwoodGym.asm
@@ -57,7 +57,7 @@
 	setevent EVENT_BEAT_BLACKBELT_NOB
 	setevent EVENT_BEAT_BLACKBELT_LUNG
 	writetext ChuckExplainBadgeText
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_DYNAMICPUNCH
 	iffalse .BagFull
 	setevent EVENT_GOT_TM01_DYNAMICPUNCH
--- a/maps/CianwoodPharmacy.asm
+++ b/maps/CianwoodPharmacy.asm
@@ -18,7 +18,7 @@
 	checkevent EVENT_JASMINE_EXPLAINED_AMPHYS_SICKNESS
 	iffalse .Mart
 	writetext PharmacistGiveSecretpotionText
-	buttonsound
+	promptbutton
 	giveitem SECRETPOTION
 	writetext ReceivedSecretpotionText
 	playsound SFX_KEY_ITEM
--- a/maps/CopycatsHouse2F.asm
+++ b/maps/CopycatsHouse2F.asm
@@ -108,7 +108,7 @@
 .ReturnLostItem:
 	opentext
 	writetext CopycatText_GiveDoll
-	buttonsound
+	promptbutton
 	takeitem LOST_ITEM
 	setevent EVENT_RETURNED_LOST_ITEM_TO_COPYCAT
 	clearevent EVENT_COPYCATS_HOUSE_2F_DOLL
@@ -118,7 +118,7 @@
 	opentext
 .GivePass:
 	writetext CopycatText_GivePass
-	buttonsound
+	promptbutton
 	verbosegiveitem PASS
 	iffalse .Cancel
 	setevent EVENT_GOT_PASS_FROM_COPYCAT
@@ -174,7 +174,7 @@
 	opentext
 	writetext CopycatsDodrioText1
 	cry DODRIO
-	buttonsound
+	promptbutton
 	writetext CopycatsDodrioText2
 	waitbutton
 	closetext
--- a/maps/DanceTheatre.asm
+++ b/maps/DanceTheatre.asm
@@ -73,7 +73,7 @@
 	faceplayer
 	opentext
 	writetext SurfGuyNeverLeftAScratchText
-	buttonsound
+	promptbutton
 	checkevent EVENT_GOT_HM03_SURF
 	iftrue SurfGuyAlreadyGaveSurf
 	checkevent EVENT_BEAT_KIMONO_GIRL_NAOKO
@@ -104,7 +104,7 @@
 
 .GetSurf:
 	writetext SurfGuyLikeADanceText
-	buttonsound
+	promptbutton
 	verbosegiveitem HM_SURF
 	setevent EVENT_GOT_HM03_SURF
 	writetext SurfGuySurfExplanationText
--- a/maps/DarkCaveBlackthornEntrance.asm
+++ b/maps/DarkCaveBlackthornEntrance.asm
@@ -14,7 +14,7 @@
 	checkevent EVENT_GOT_BLACKGLASSES_IN_DARK_CAVE
 	iftrue .GotBlackglasses
 	writetext DarkCaveBlackthornEntrancePharmacistText1
-	buttonsound
+	promptbutton
 	verbosegiveitem BLACKGLASSES
 	iffalse .PackFull
 	setevent EVENT_GOT_BLACKGLASSES_IN_DARK_CAVE
--- a/maps/DayCare.asm
+++ b/maps/DayCare.asm
@@ -26,7 +26,7 @@
 	checkevent EVENT_GOT_ODD_EGG
 	iftrue .AlreadyHaveOddEgg
 	writetext DayCareManText_GiveOddEgg
-	buttonsound
+	promptbutton
 	closetext
 	readvar VAR_PARTYCOUNT
 	ifequal PARTY_LENGTH, .PartyFull
--- a/maps/DragonShrine.asm
+++ b/maps/DragonShrine.asm
@@ -23,11 +23,11 @@
 	applymovement DRAGONSHRINE_ELDER1, DragonShrineElderStepDownMovement
 	opentext
 	writetext DragonShrineElderGreetingText
-	buttonsound
+	promptbutton
 .Question1:
 	setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2
 	writetext DragonShrineQuestion1Text
-	buttonsound
+	promptbutton
 	loadmenu DragonShrineQuestion1_MenuHeader
 	verticalmenu
 	closewindow
@@ -39,7 +39,7 @@
 .Question2:
 	setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_3
 	writetext DragonShrineQuestion2Text
-	buttonsound
+	promptbutton
 	loadmenu DragonShrineQuestion2_MenuHeader
 	verticalmenu
 	closewindow
@@ -49,7 +49,7 @@
 .Question3:
 	setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_4
 	writetext DragonShrineQuestion3Text
-	buttonsound
+	promptbutton
 	loadmenu DragonShrineQuestion3_MenuHeader
 	verticalmenu
 	closewindow
@@ -59,7 +59,7 @@
 .Question4:
 	setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_5
 	writetext DragonShrineQuestion4Text
-	buttonsound
+	promptbutton
 	loadmenu DragonShrineQuestion4_MenuHeader
 	verticalmenu
 	closewindow
@@ -69,7 +69,7 @@
 .Question5:
 	setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_6
 	writetext DragonShrineQuestion5Text
-	buttonsound
+	promptbutton
 	loadmenu DragonShrineQuestion5_MenuHeader
 	verticalmenu
 	closewindow
@@ -80,7 +80,7 @@
 	checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_6
 	iftrue .PassedTheTest
 	writetext DragonShrineRightAnswerText
-	buttonsound
+	promptbutton
 	checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_5
 	iftrue .Question5
 	checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_4
@@ -166,7 +166,7 @@
 	setscene SCENE_FINISHED
 	setmapscene DRAGONS_DEN_B1F, SCENE_DRAGONSDENB1F_CLAIR_GIVES_TM
 	writetext DragonShrinePlayerReceivedRisingBadgeText
-	buttonsound
+	promptbutton
 	writetext DragonShrineRisingBadgeExplanationText
 	waitbutton
 	closetext
--- a/maps/DragonsDenB1F.asm
+++ b/maps/DragonsDenB1F.asm
@@ -52,7 +52,7 @@
 	applymovement DRAGONSDENB1F_CLAIR, MovementDragonsDen_ClairWalksToYou
 	opentext
 	writetext ClairText_GiveDragonbreathDragonDen
-	buttonsound
+	promptbutton
 	giveitem TM_DRAGONBREATH
 	iffalse .BagFull
 	getitemname STRING_BUFFER_3, TM_DRAGONBREATH
@@ -62,7 +62,7 @@
 	itemnotify
 	setevent EVENT_GOT_TM24_DRAGONBREATH
 	writetext ClairText_DescribeDragonbreathDragonDen
-	buttonsound
+	promptbutton
 	writetext ClairText_WhatsTheMatterDragonDen
 	waitbutton
 	closetext
@@ -144,7 +144,7 @@
 	opentext
 	getitemname STRING_BUFFER_3, DRAGON_FANG
 	writetext Text_FoundDragonFang
-	buttonsound
+	promptbutton
 	writetext Text_NoRoomForDragonFang
 	waitbutton
 	closetext
--- a/maps/EcruteakGym.asm
+++ b/maps/EcruteakGym.asm
@@ -52,7 +52,7 @@
 	setevent EVENT_BEAT_MEDIUM_MARTHA
 	setevent EVENT_BEAT_MEDIUM_GRACE
 	writetext MortyText_FogBadgeSpeech
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_SHADOW_BALL
 	iffalse .NoRoomForShadowBall
 	setevent EVENT_GOT_TM30_SHADOW_BALL
--- a/maps/EcruteakItemfinderHouse.asm
+++ b/maps/EcruteakItemfinderHouse.asm
@@ -16,7 +16,7 @@
 	yesorno
 	iffalse .no
 	writetext EcruteakItemfinderTrueSpiritText
-	buttonsound
+	promptbutton
 	verbosegiveitem ITEMFINDER
 	setevent EVENT_GOT_ITEMFINDER
 .itemfinder:
--- a/maps/EcruteakPokecenter1F.asm
+++ b/maps/EcruteakPokecenter1F.asm
@@ -38,7 +38,7 @@
 	pause 10
 	opentext
 	writetext EcruteakPokecenter1F_BillText1
-	buttonsound
+	promptbutton
 	sjump .PointlessJump
 
 .PointlessJump:
--- a/maps/ElmsLab.asm
+++ b/maps/ElmsLab.asm
@@ -58,7 +58,7 @@
 
 .ElmGetsEmail:
 	writetext ElmText_Accepted
-	buttonsound
+	promptbutton
 	writetext ElmText_ResearchAmbitions
 	waitbutton
 	closetext
@@ -171,13 +171,13 @@
 	disappear ELMSLAB_POKE_BALL1
 	setevent EVENT_GOT_CYNDAQUIL_FROM_ELM
 	writetext ChoseStarterText
-	buttonsound
+	promptbutton
 	waitsfx
 	getmonname STRING_BUFFER_3, CYNDAQUIL
 	writetext ReceivedStarterText
 	playsound SFX_CAUGHT_MON
 	waitsfx
-	buttonsound
+	promptbutton
 	givepoke CYNDAQUIL, 5, BERRY
 	closetext
 	readvar VAR_FACING
@@ -201,13 +201,13 @@
 	disappear ELMSLAB_POKE_BALL2
 	setevent EVENT_GOT_TOTODILE_FROM_ELM
 	writetext ChoseStarterText
-	buttonsound
+	promptbutton
 	waitsfx
 	getmonname STRING_BUFFER_3, TOTODILE
 	writetext ReceivedStarterText
 	playsound SFX_CAUGHT_MON
 	waitsfx
-	buttonsound
+	promptbutton
 	givepoke TOTODILE, 5, BERRY
 	closetext
 	applymovement PLAYER, AfterTotodileMovement
@@ -229,13 +229,13 @@
 	disappear ELMSLAB_POKE_BALL3
 	setevent EVENT_GOT_CHIKORITA_FROM_ELM
 	writetext ChoseStarterText
-	buttonsound
+	promptbutton
 	waitsfx
 	getmonname STRING_BUFFER_3, CHIKORITA
 	writetext ReceivedStarterText
 	playsound SFX_CAUGHT_MON
 	waitsfx
-	buttonsound
+	promptbutton
 	givepoke CHIKORITA, 5, BERRY
 	closetext
 	applymovement PLAYER, AfterChikoritaMovement
@@ -325,7 +325,7 @@
 	writetext ElmAfterTheftText1
 	checkitem MYSTERY_EGG
 	iffalse ElmAfterTheftDoneScript
-	buttonsound
+	promptbutton
 	writetext ElmAfterTheftText2
 	waitbutton
 	takeitem MYSTERY_EGG
@@ -334,9 +334,9 @@
 	waitbutton
 	scall ElmJumpBackScript2
 	writetext ElmAfterTheftText4
-	buttonsound
+	promptbutton
 	writetext ElmAfterTheftText5
-	buttonsound
+	promptbutton
 	setevent EVENT_GAVE_MYSTERY_EGG_TO_ELM
 	setflag ENGINE_MAIN_MENU_MOBILE_CHOICES
 	setmapscene ROUTE_29, SCENE_ROUTE29_CATCH_TUTORIAL
@@ -374,12 +374,12 @@
 	setevent EVENT_SHOWED_TOGEPI_TO_ELM
 	opentext
 	writetext ShowElmTogepiText2
-	buttonsound
+	promptbutton
 	writetext ShowElmTogepiText3
-	buttonsound
+	promptbutton
 ElmGiveEverstoneScript:
 	writetext ElmGiveEverstoneText1
-	buttonsound
+	promptbutton
 	verbosegiveitem EVERSTONE
 	iffalse ElmScript_NoRoomForEverstone
 	writetext ElmGiveEverstoneText2
@@ -397,7 +397,7 @@
 
 ElmGiveMasterBallScript:
 	writetext ElmGiveMasterBallText1
-	buttonsound
+	promptbutton
 	verbosegiveitem MASTER_BALL
 	iffalse .notdone
 	setevent EVENT_GOT_MASTER_BALL_FROM_ELM
@@ -409,7 +409,7 @@
 
 ElmGiveTicketScript:
 	writetext ElmGiveTicketText1
-	buttonsound
+	promptbutton
 	verbosegiveitem S_S_TICKET
 	setevent EVENT_GOT_SS_TICKET_FROM_ELM
 	writetext ElmGiveTicketText2
@@ -472,7 +472,7 @@
 AideScript_GivePotion:
 	opentext
 	writetext AideText_GiveYouPotion
-	buttonsound
+	promptbutton
 	verbosegiveitem POTION
 	writetext AideText_AlwaysBusy
 	waitbutton
@@ -497,12 +497,12 @@
 AideScript_GiveYouBalls:
 	opentext
 	writetext AideText_GiveYouBalls
-	buttonsound
+	promptbutton
 	getitemname STRING_BUFFER_4, POKE_BALL
 	scall AideScript_ReceiveTheBalls
 	giveitem POKE_BALL, 5
 	writetext AideText_ExplainBalls
-	buttonsound
+	promptbutton
 	itemnotify
 	closetext
 	setscene SCENE_ELMSLAB_NOTHING
@@ -553,7 +553,7 @@
 	turnobject ELMSLAB_OFFICER, LEFT
 	opentext
 	writetext ElmsLabOfficerText1
-	buttonsound
+	promptbutton
 	special NameRival
 	writetext ElmsLabOfficerText2
 	waitbutton
--- a/maps/FastShipB1F.asm
+++ b/maps/FastShipB1F.asm
@@ -79,7 +79,7 @@
 	end
 
 .NotFoundGirl:
-	buttonsound
+	promptbutton
 	writetext FastShipB1FOnDutySailorSawLittleGirlText
 	waitbutton
 	closetext
--- a/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
+++ b/maps/FastShipCabins_SE_SSE_CaptainsCabin.asm
@@ -77,7 +77,7 @@
 	applymovement FASTSHIPCABINS_SE_SSE_CAPTAINSCABIN_GENTLEMAN, MovementData_0x76010
 	opentext
 	writetext SSAquaEntertainedGranddaughterText
-	buttonsound
+	promptbutton
 	setevent EVENT_VERMILION_PORT_SAILOR_AT_GANGWAY
 	setmapscene FAST_SHIP_1F, SCENE_DEFAULT
 	sjump SSAquaMetalCoatAndDocking
@@ -97,7 +97,7 @@
 
 SSAquaMetalCoatAndDocking:
 	writetext SSAquaGrandpaHaveThisText
-	buttonsound
+	promptbutton
 	verbosegiveitem METAL_COAT
 	iffalse .NoRoom
 	setevent EVENT_GOT_METAL_COAT_FROM_GRANDPA_ON_SS_AQUA
@@ -116,7 +116,7 @@
 
 SSAquaFoundGranddaughter:
 	writetext SSAquaGrandpaHaveThisText
-	buttonsound
+	promptbutton
 	verbosegiveitem METAL_COAT
 	iffalse .NoRoom
 	setevent EVENT_GOT_METAL_COAT_FROM_GRANDPA_ON_SS_AQUA
--- a/maps/FuchsiaGym.asm
+++ b/maps/FuchsiaGym.asm
@@ -47,7 +47,7 @@
 	checkevent EVENT_GOT_TM06_TOXIC
 	iftrue .AfterTM
 	writetext JanineText_ToxicSpeech
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_TOXIC
 	iffalse .AfterTM
 	setevent EVENT_GOT_TM06_TOXIC
--- a/maps/GoldenrodBikeShop.asm
+++ b/maps/GoldenrodBikeShop.asm
@@ -18,7 +18,7 @@
 	yesorno
 	iffalse .Refused
 	writetext GoldenrodBikeShopClerkAgreedText
-	buttonsound
+	promptbutton
 	waitsfx
 	giveitem BICYCLE
 	writetext BorrowedABicycleText
--- a/maps/GoldenrodCity.asm
+++ b/maps/GoldenrodCity.asm
@@ -120,7 +120,7 @@
 
 .TeachMove:
 	writetext GoldenrodCityMoveTutorIfYouUnderstandYouveMadeItText
-	buttonsound
+	promptbutton
 	takecoins 4000
 	waitsfx
 	playsound SFX_TRANSACTION
@@ -205,7 +205,7 @@
 GoldenrodCityRocketScoutScript:
 	opentext
 	writetext GoldenrodCityRocketScoutText1
-	buttonsound
+	promptbutton
 	faceplayer
 	writetext GoldenrodCityRocketScoutText2
 	waitbutton
--- a/maps/GoldenrodDeptStore5F.asm
+++ b/maps/GoldenrodDeptStore5F.asm
@@ -65,7 +65,7 @@
 	iftrue .EventIsOver
 	special GetFirstPokemonHappiness
 	writetext GoldenrodDeptStore5FReceptionistOhYourMonDotDotDotText
-	buttonsound
+	promptbutton
 	ifgreater 150 - 1, .VeryHappy
 	ifgreater 50 - 1, .SomewhatHappy
 	sjump .NotVeryHappy
@@ -72,7 +72,7 @@
 
 .VeryHappy:
 	writetext GoldenrodDeptStore5FReceptionistThisMoveShouldBePerfectText
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_RETURN
 	iffalse .Done
 	setflag ENGINE_GOLDENROD_DEPT_STORE_TM27_RETURN
@@ -87,7 +87,7 @@
 
 .NotVeryHappy:
 	writetext GoldenrodDeptStore5FReceptionistItLooksEvilHowAboutThisTMText
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_FRUSTRATION
 	iffalse .Done
 	setflag ENGINE_GOLDENROD_DEPT_STORE_TM27_RETURN
--- a/maps/GoldenrodDeptStore6F.asm
+++ b/maps/GoldenrodDeptStore6F.asm
@@ -56,7 +56,7 @@
 	pause 10
 	playsound SFX_ENTER_DOOR
 	writetext GoldenrodClangText
-	buttonsound
+	promptbutton
 	itemnotify
 	sjump .Start
 
--- a/maps/GoldenrodFlowerShop.asm
+++ b/maps/GoldenrodFlowerShop.asm
@@ -21,7 +21,7 @@
 	faceplayer
 	opentext
 	writetext GoldenrodFlowerShopTeacherHeresTheSquirtbottleText
-	buttonsound
+	promptbutton
 	verbosegiveitem SQUIRTBOTTLE
 	setevent EVENT_GOT_SQUIRTBOTTLE
 	closetext
--- a/maps/GoldenrodGym.asm
+++ b/maps/GoldenrodGym.asm
@@ -53,7 +53,7 @@
 	checkflag ENGINE_PLAINBADGE
 	iftrue .GotPlainBadge
 	writetext WhitneyWhatDoYouWantText
-	buttonsound
+	promptbutton
 	waitsfx
 	writetext PlayerReceivedPlainBadgeText
 	playsound SFX_GET_BADGE
@@ -63,7 +63,7 @@
 	scall GoldenrodGymActivateRockets
 .GotPlainBadge:
 	writetext WhitneyPlainBadgeText
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_ATTRACT
 	iffalse .NoRoomForAttract
 	setevent EVENT_GOT_TM45_ATTRACT
--- a/maps/GoldenrodHappinessRater.asm
+++ b/maps/GoldenrodHappinessRater.asm
@@ -13,7 +13,7 @@
 	opentext
 	special GetFirstPokemonHappiness
 	writetext GoldenrodHappinessRaterTeacherText
-	buttonsound
+	promptbutton
 	ifgreater 250 - 1, .LovesYouALot
 	ifgreater 200 - 1, .ReallyTrustsYou
 	ifgreater 150 - 1, .SortOfHappy
--- a/maps/GoldenrodUnderground.asm
+++ b/maps/GoldenrodUnderground.asm
@@ -200,7 +200,7 @@
 	checkmoney YOUR_MONEY, GOLDENRODUNDERGROUND_OLDER_HAIRCUT_PRICE
 	ifequal HAVE_LESS, .NotEnoughMoney
 	writetext GoldenrodUndergroundOlderHaircutBrotherAskWhichMonText
-	buttonsound
+	promptbutton
 	special OlderHaircutBrother
 	ifequal $0, .Refused
 	ifequal $1, .Refused
@@ -283,7 +283,7 @@
 	checkmoney YOUR_MONEY, GOLDENRODUNDERGROUND_YOUNGER_HAIRCUT_PRICE
 	ifequal HAVE_LESS, .NotEnoughMoney
 	writetext GoldenrodUndergroundYoungerHaircutBrotherAskWhichMonText
-	buttonsound
+	promptbutton
 	special YoungerHaircutBrother
 	ifequal $0, .Refused
 	ifequal $1, .Refused
--- a/maps/GoldenrodUndergroundSwitchRoomEntrances.asm
+++ b/maps/GoldenrodUndergroundSwitchRoomEntrances.asm
@@ -273,7 +273,7 @@
 Switch1Script:
 	opentext
 	writetext SwitchRoomText_Switch1
-	buttonsound
+	promptbutton
 	checkevent EVENT_SWITCH_1
 	iftrue .On
 	writetext SwitchRoomText_OffTurnOn
@@ -298,7 +298,7 @@
 Switch2Script:
 	opentext
 	writetext SwitchRoomText_Switch2
-	buttonsound
+	promptbutton
 	checkevent EVENT_SWITCH_2
 	iftrue .On
 	writetext SwitchRoomText_OffTurnOn
@@ -323,7 +323,7 @@
 Switch3Script:
 	opentext
 	writetext SwitchRoomText_Switch3
-	buttonsound
+	promptbutton
 	checkevent EVENT_SWITCH_3
 	iftrue .On
 	writetext SwitchRoomText_OffTurnOn
@@ -348,7 +348,7 @@
 EmergencySwitchScript:
 	opentext
 	writetext SwitchRoomText_Emergency
-	buttonsound
+	promptbutton
 	checkevent EVENT_EMERGENCY_SWITCH
 	iftrue .On
 	writetext SwitchRoomText_OffTurnOn
--- a/maps/GoldenrodUndergroundWarehouse.asm
+++ b/maps/GoldenrodUndergroundWarehouse.asm
@@ -72,7 +72,7 @@
 	checkevent EVENT_RECEIVED_CARD_KEY
 	iftrue .GotCardKey
 	writetext DirectorIntroText
-	buttonsound
+	promptbutton
 	verbosegiveitem CARD_KEY
 	setevent EVENT_RECEIVED_CARD_KEY
 	setevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_1
@@ -79,7 +79,7 @@
 	clearevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_2
 	clearevent EVENT_GOLDENROD_DEPT_STORE_B1F_LAYOUT_3
 	writetext DirectorCardKeyText
-	buttonsound
+	promptbutton
 .GotCardKey:
 	writetext DirectorAfterText
 	waitbutton
--- a/maps/IlexForest.asm
+++ b/maps/IlexForest.asm
@@ -117,7 +117,7 @@
 	faceplayer
 	opentext
 	writetext Text_ItsTheMissingPokemon
-	buttonsound
+	promptbutton
 	writetext Text_Kwaaaa
 	cry FARFETCH_D
 	waitbutton
@@ -348,7 +348,7 @@
 	checkevent EVENT_GOT_HM01_CUT
 	iftrue .AlreadyGotCut
 	writetext Text_CharcoalMasterIntro
-	buttonsound
+	promptbutton
 	verbosegiveitem HM_CUT
 	setevent EVENT_GOT_HM01_CUT
 	writetext Text_CharcoalMasterOutro
@@ -374,7 +374,7 @@
 	checkevent EVENT_GOT_TM02_HEADBUTT
 	iftrue .AlreadyGotHeadbutt
 	writetext Text_HeadbuttIntro
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_HEADBUTT
 	iffalse .BagFull
 	setevent EVENT_GOT_TM02_HEADBUTT
--- a/maps/KurtsHouse.asm
+++ b/maps/KurtsHouse.asm
@@ -67,7 +67,7 @@
 
 .ClearedSlowpokeWell:
 	writetext KurtsHouseKurtHonoredToMakeBallsText
-	buttonsound
+	promptbutton
 	verbosegiveitem LURE_BALL
 	iffalse .NoRoomForBall
 	setevent EVENT_KURT_GAVE_YOU_LURE_BALL
@@ -127,7 +127,7 @@
 
 .AskApricorn:
 	writetext KurtsHouseKurtAskYouHaveAnApricornText
-	buttonsound
+	promptbutton
 	setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_3
 	special SelectApricornForKurt
 	ifequal FALSE, .Cancel
@@ -193,7 +193,7 @@
 	checkflag ENGINE_KURT_MAKING_BALLS
 	iftrue KurtMakingBallsScript
 	writetext KurtsHouseKurtJustFinishedYourBallText
-	buttonsound
+	promptbutton
 	verbosegiveitemvar LEVEL_BALL, VAR_KURT_APRICORNS
 	iffalse .NoRoomForBall
 	clearevent EVENT_GAVE_KURT_RED_APRICORN
@@ -203,7 +203,7 @@
 	checkflag ENGINE_KURT_MAKING_BALLS
 	iftrue KurtMakingBallsScript
 	writetext KurtsHouseKurtJustFinishedYourBallText
-	buttonsound
+	promptbutton
 	verbosegiveitemvar LURE_BALL, VAR_KURT_APRICORNS
 	iffalse .NoRoomForBall
 	clearevent EVENT_GAVE_KURT_BLU_APRICORN
@@ -213,7 +213,7 @@
 	checkflag ENGINE_KURT_MAKING_BALLS
 	iftrue KurtMakingBallsScript
 	writetext KurtsHouseKurtJustFinishedYourBallText
-	buttonsound
+	promptbutton
 	verbosegiveitemvar MOON_BALL, VAR_KURT_APRICORNS
 	iffalse .NoRoomForBall
 	clearevent EVENT_GAVE_KURT_YLW_APRICORN
@@ -223,7 +223,7 @@
 	checkflag ENGINE_KURT_MAKING_BALLS
 	iftrue KurtMakingBallsScript
 	writetext KurtsHouseKurtJustFinishedYourBallText
-	buttonsound
+	promptbutton
 	verbosegiveitemvar FRIEND_BALL, VAR_KURT_APRICORNS
 	iffalse .NoRoomForBall
 	clearevent EVENT_GAVE_KURT_GRN_APRICORN
@@ -233,7 +233,7 @@
 	checkflag ENGINE_KURT_MAKING_BALLS
 	iftrue KurtMakingBallsScript
 	writetext KurtsHouseKurtJustFinishedYourBallText
-	buttonsound
+	promptbutton
 	verbosegiveitemvar FAST_BALL, VAR_KURT_APRICORNS
 	iffalse .NoRoomForBall
 	clearevent EVENT_GAVE_KURT_WHT_APRICORN
@@ -243,7 +243,7 @@
 	checkflag ENGINE_KURT_MAKING_BALLS
 	iftrue KurtMakingBallsScript
 	writetext KurtsHouseKurtJustFinishedYourBallText
-	buttonsound
+	promptbutton
 	verbosegiveitemvar HEAVY_BALL, VAR_KURT_APRICORNS
 	iffalse .NoRoomForBall
 	clearevent EVENT_GAVE_KURT_BLK_APRICORN
@@ -253,7 +253,7 @@
 	checkflag ENGINE_KURT_MAKING_BALLS
 	iftrue KurtMakingBallsScript
 	writetext KurtsHouseKurtJustFinishedYourBallText
-	buttonsound
+	promptbutton
 	verbosegiveitemvar LOVE_BALL, VAR_KURT_APRICORNS
 	iffalse .NoRoomForBall
 	clearevent EVENT_GAVE_KURT_PNK_APRICORN
--- a/maps/LakeOfRage.asm
+++ b/maps/LakeOfRage.asm
@@ -46,7 +46,7 @@
 	iftrue .AskAgainForHelp
 	opentext
 	writetext LakeOfRageLanceForcedToEvolveText
-	buttonsound
+	promptbutton
 	faceplayer
 	writetext LakeOfRageLanceIntroText
 	yesorno
@@ -138,7 +138,7 @@
 	end
 
 .MagikarpLengthRecord:
-	buttonsound
+	promptbutton
 	special MagikarpHouseSign
 	closetext
 	end
@@ -197,11 +197,11 @@
 	checkevent EVENT_MET_WESLEY_OF_WEDNESDAY
 	iftrue .MetWesley
 	writetext MeetWesleyText
-	buttonsound
+	promptbutton
 	setevent EVENT_MET_WESLEY_OF_WEDNESDAY
 .MetWesley:
 	writetext WesleyGivesGiftText
-	buttonsound
+	promptbutton
 	verbosegiveitem BLACKBELT
 	iffalse WesleyDoneScript
 	setevent EVENT_GOT_BLACKBELT_FROM_WESLEY
--- a/maps/LakeOfRageHiddenPowerHouse.asm
+++ b/maps/LakeOfRageHiddenPowerHouse.asm
@@ -12,7 +12,7 @@
 	checkevent EVENT_GOT_TM10_HIDDEN_POWER
 	iftrue .AlreadyGotItem
 	writetext HiddenPowerGuyText1
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_HIDDEN_POWER
 	iffalse .Done
 	setevent EVENT_GOT_TM10_HIDDEN_POWER
--- a/maps/LakeOfRageMagikarpHouse.asm
+++ b/maps/LakeOfRageMagikarpHouse.asm
@@ -51,7 +51,7 @@
 
 .GetReward:
 	writetext MagikarpLengthRaterText_Memento
-	buttonsound
+	promptbutton
 	verbosegiveitem ELIXER
 	iffalse .NoRoom
 	writetext MagikarpLengthRaterText_Bonus
--- a/maps/LavRadioTower1F.asm
+++ b/maps/LavRadioTower1F.asm
@@ -33,7 +33,7 @@
 
 .ReturnedMachinePart:
 	writetext LavRadioTower1FGentlemanText_ReturnedMachinePart
-	buttonsound
+	promptbutton
 	getstring STRING_BUFFER_4, .expncardname
 	scall .receiveitem
 	setflag ENGINE_EXPN_CARD
--- a/maps/MahoganyGym.asm
+++ b/maps/MahoganyGym.asm
@@ -41,7 +41,7 @@
 	setevent EVENT_BEAT_BOARDER_BRAD
 	setevent EVENT_BEAT_BOARDER_DOUGLAS
 	writetext PryceText_GlacierBadgeSpeech
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_ICY_WIND
 	iffalse MahoganyGym_NoRoomForIcyWind
 	setevent EVENT_GOT_TM16_ICY_WIND
--- a/maps/ManiasHouse.asm
+++ b/maps/ManiasHouse.asm
@@ -19,7 +19,7 @@
 	special GiveShuckle
 	iffalse .partyfull
 	writetext ManiaText_TakeCareOfShuckle
-	buttonsound
+	promptbutton
 	waitsfx
 	writetext ManiaText_GotShuckle
 	playsound SFX_KEY_ITEM
--- a/maps/MountMortarB1F.asm
+++ b/maps/MountMortarB1F.asm
@@ -30,7 +30,7 @@
 	opentext
 .BeatKiyo:
 	writetext MountMortarB1FTyrogueRewardText
-	buttonsound
+	promptbutton
 	waitsfx
 	readvar VAR_PARTYCOUNT
 	ifequal PARTY_LENGTH, .NoRoom
--- a/maps/MrPokemonsHouse.asm
+++ b/maps/MrPokemonsHouse.asm
@@ -26,7 +26,7 @@
 	applymovement PLAYER, MrPokemonsHouse_PlayerWalksToMrPokemon
 	opentext
 	writetext MrPokemonIntroText2
-	buttonsound
+	promptbutton
 	waitsfx
 	giveitem MYSTERY_EGG
 	writetext MrPokemonsHouse_GotEggText
@@ -36,10 +36,10 @@
 	setevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
 	blackoutmod CHERRYGROVE_CITY
 	writetext MrPokemonIntroText3
-	buttonsound
+	promptbutton
 	turnobject MRPOKEMONSHOUSE_GENTLEMAN, RIGHT
 	writetext MrPokemonIntroText4
-	buttonsound
+	promptbutton
 	turnobject MRPOKEMONSHOUSE_GENTLEMAN, DOWN
 	turnobject MRPOKEMONSHOUSE_OAK, LEFT
 	writetext MrPokemonIntroText5
@@ -87,7 +87,7 @@
 	turnobject PLAYER, RIGHT
 	opentext
 	writetext MrPokemonsHouse_OakText1
-	buttonsound
+	promptbutton
 	waitsfx
 	writetext MrPokemonsHouse_GetDexText
 	playsound SFX_ITEM
--- a/maps/MrPsychicsHouse.asm
+++ b/maps/MrPsychicsHouse.asm
@@ -12,7 +12,7 @@
 	checkevent EVENT_GOT_TM29_PSYCHIC
 	iftrue .AlreadyGotItem
 	writetext MrPsychicText1
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_PSYCHIC_M
 	iffalse .Done
 	setevent EVENT_GOT_TM29_PSYCHIC
--- a/maps/NationalPark.asm
+++ b/maps/NationalPark.asm
@@ -31,7 +31,7 @@
 	checkevent EVENT_GOT_QUICK_CLAW
 	iftrue .GotQuickClaw
 	writetext NationalParkTeacher1Text
-	buttonsound
+	promptbutton
 	verbosegiveitem QUICK_CLAW
 	iffalse .NoRoom
 	setevent EVENT_GOT_QUICK_CLAW
@@ -83,7 +83,7 @@
 	checkevent EVENT_JACK_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskAgain
 	writetext SchoolboyJackTradeMonText
-	buttonsound
+	promptbutton
 	setevent EVENT_JACK_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1
 	sjump .RequestNumber
@@ -213,7 +213,7 @@
 	checkevent EVENT_BEVERLY_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskAgain
 	writetext PokefanBeverlyCuteMonText
-	buttonsound
+	promptbutton
 	setevent EVENT_BEVERLY_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1
 	sjump .RequestNumber
--- a/maps/OaksLab.asm
+++ b/maps/OaksLab.asm
@@ -20,7 +20,7 @@
 	checkevent EVENT_TALKED_TO_OAK_IN_KANTO
 	iftrue .CheckBadges
 	writetext OakWelcomeKantoText
-	buttonsound
+	promptbutton
 	setevent EVENT_TALKED_TO_OAK_IN_KANTO
 .CheckBadges:
 	readvar VAR_BADGES
@@ -39,18 +39,18 @@
 
 .OpenMtSilver:
 	writetext OakOpenMtSilverText
-	buttonsound
+	promptbutton
 	setevent EVENT_OPENED_MT_SILVER
 	sjump .CheckPokedex
 
 .Complain:
 	writetext OakNoKantoBadgesText
-	buttonsound
+	promptbutton
 	sjump .CheckPokedex
 
 .AhGood:
 	writetext OakYesKantoBadgesText
-	buttonsound
+	promptbutton
 	sjump .CheckPokedex
 
 OaksAssistant1Script:
--- a/maps/OlivineCafe.asm
+++ b/maps/OlivineCafe.asm
@@ -14,7 +14,7 @@
 	checkevent EVENT_GOT_HM04_STRENGTH
 	iftrue .GotStrength
 	writetext OlivineCafeStrengthSailorText
-	buttonsound
+	promptbutton
 	verbosegiveitem HM_STRENGTH
 	setevent EVENT_GOT_HM04_STRENGTH
 .GotStrength:
--- a/maps/OlivineGoodRodHouse.asm
+++ b/maps/OlivineGoodRodHouse.asm
@@ -15,7 +15,7 @@
 	yesorno
 	iffalse .DontWantIt
 	writetext GiveGoodRodText
-	buttonsound
+	promptbutton
 	verbosegiveitem GOOD_ROD
 	writetext GaveGoodRodText
 	waitbutton
--- a/maps/OlivineGym.asm
+++ b/maps/OlivineGym.asm
@@ -31,7 +31,7 @@
 	checkevent EVENT_GOT_TM23_IRON_TAIL
 	iftrue .GotIronTail
 	writetext Jasmine_BadgeSpeech
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_IRON_TAIL
 	iffalse .NoRoomForIronTail
 	setevent EVENT_GOT_TM23_IRON_TAIL
--- a/maps/OlivineLighthouse6F.asm
+++ b/maps/OlivineLighthouse6F.asm
@@ -16,7 +16,7 @@
 	checkevent EVENT_JASMINE_EXPLAINED_AMPHYS_SICKNESS
 	iftrue .ExplainedSickness
 	writetext JasmineCianwoodPharmacyText
-	buttonsound
+	promptbutton
 	setevent EVENT_JASMINE_EXPLAINED_AMPHYS_SICKNESS
 .ExplainedSickness:
 	writetext JasmineGetSomeMedicineText
@@ -29,7 +29,7 @@
 	yesorno
 	iffalse .no
 	writetext PlayerHandedSecretpotionText
-	buttonsound
+	promptbutton
 	takeitem SECRETPOTION
 	writetext JasmineDontBeOffendedText
 	waitbutton
@@ -41,7 +41,7 @@
 	playmusic MUSIC_HEAL
 	writetext JasmineAmphyHowAreYouFeelingText
 	pause 60
-	buttonsound
+	promptbutton
 	closetext
 	special RestartMapMusic
 	cry AMPHAROS
@@ -109,7 +109,7 @@
 	writetext AmphyPalPalooText
 	setval AMPHAROS
 	special PlaySlowCry
-	buttonsound
+	promptbutton
 	writetext AmphyBreathingLaboredText
 	waitbutton
 	closetext
--- a/maps/OlivinePort.asm
+++ b/maps/OlivinePort.asm
@@ -93,7 +93,7 @@
 	yesorno
 	iffalse OlivinePortNotRidingMoveAwayScript
 	writetext OlivinePortAskTicketText
-	buttonsound
+	promptbutton
 	checkitem S_S_TICKET
 	iffalse .NoTicket
 	writetext OlivinePortFlashTicketText
@@ -158,7 +158,7 @@
 	yesorno
 	iffalse OlivinePortNotRidingScript
 	writetext OlivinePortAskTicketText
-	buttonsound
+	promptbutton
 	checkitem S_S_TICKET
 	iffalse .NoTicket
 	writetext OlivinePortFlashTicketText
--- a/maps/PewterCity.asm
+++ b/maps/PewterCity.asm
@@ -27,7 +27,7 @@
 	checkevent EVENT_GOT_SILVER_WING
 	iftrue .GotSilverWing
 	writetext PewterCityGrampsText
-	buttonsound
+	promptbutton
 	verbosegiveitem SILVER_WING
 	setevent EVENT_GOT_SILVER_WING
 	closetext
--- a/maps/PlayersHouse1F.asm
+++ b/maps/PlayersHouse1F.asm
@@ -35,7 +35,7 @@
 MeetMomScript:
 	opentext
 	writetext ElmsLookingForYouText
-	buttonsound
+	promptbutton
 	getstring STRING_BUFFER_4, PokegearName
 	scall PlayersHouse1FReceiveItemStd
 	setflag ENGINE_POKEGEAR
@@ -45,7 +45,7 @@
 	setevent EVENT_PLAYERS_HOUSE_MOM_1
 	clearevent EVENT_PLAYERS_HOUSE_MOM_2
 	writetext MomGivesPokegearText
-	buttonsound
+	promptbutton
 	special SetDayOfWeek
 .SetDayOfWeek:
 	writetext IsItDSTText
@@ -68,12 +68,12 @@
 
 .KnowPhone:
 	writetext KnowTheInstructionsText
-	buttonsound
+	promptbutton
 	sjump .FinishPhone
 
 .ExplainPhone:
 	writetext DontKnowTheInstructionsText
-	buttonsound
+	promptbutton
 	sjump .FinishPhone
 
 .FinishPhone:
@@ -162,17 +162,17 @@
 
 .MornScript:
 	writetext NeighborMornIntroText
-	buttonsound
+	promptbutton
 	sjump .Main
 
 .DayScript:
 	writetext NeighborDayIntroText
-	buttonsound
+	promptbutton
 	sjump .Main
 
 .NiteScript:
 	writetext NeighborNiteIntroText
-	buttonsound
+	promptbutton
 	sjump .Main
 
 .Main:
--- a/maps/Pokecenter2F.asm
+++ b/maps/Pokecenter2F.asm
@@ -596,7 +596,7 @@
 	yesorno
 	iffalse .RefusedGift
 	writetext Text_MysteryGiftDeliveryGuy_HereYouGo
-	buttonsound
+	promptbutton
 	waitsfx
 	special GetMysteryGiftItem
 	iffalse .BagIsFull
--- a/maps/PokemonFanClub.asm
+++ b/maps/PokemonFanClub.asm
@@ -22,10 +22,10 @@
 	yesorno
 	iffalse .NotListening
 	writetext PokemonFanClubChairmanRapidashText
-	buttonsound
+	promptbutton
 .HeardSpeechButBagFull:
 	writetext PokemonFanClubChairmanIWantYouToHaveThisText
-	buttonsound
+	promptbutton
 	verbosegiveitem RARE_CANDY
 	iffalse .BagFull
 	setevent EVENT_LISTENED_TO_FAN_CLUB_PRESIDENT
@@ -71,9 +71,9 @@
 	end
 
 .MetCopycat:
-	buttonsound
+	promptbutton
 	writetext PokemonFanClubClefairyGuyTakeThisDollBackToGirlText
-	buttonsound
+	promptbutton
 	waitsfx
 	giveitem LOST_ITEM
 	iffalse .NoRoom
--- a/maps/PowerPlant.asm
+++ b/maps/PowerPlant.asm
@@ -158,7 +158,7 @@
 
 .FoundMachinePart:
 	writetext PowerPlantManagerThatsThePartText
-	buttonsound
+	promptbutton
 	takeitem MACHINE_PART
 	setevent EVENT_RETURNED_MACHINE_PART
 	clearevent EVENT_SAFFRON_TRAIN_STATION_POPULATION
@@ -170,7 +170,7 @@
 	checkevent EVENT_GOT_TM07_ZAP_CANNON
 	iftrue .GotZapCannon
 	writetext PowerPlantManagerTakeThisTMText
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_ZAP_CANNON
 	iffalse .NoRoom
 	setevent EVENT_GOT_TM07_ZAP_CANNON
--- a/maps/RadioTower1F.asm
+++ b/maps/RadioTower1F.asm
@@ -31,7 +31,7 @@
 	faceplayer
 	opentext
 	writetext RadioTower1FLuckyNumberManAskToPlayText
-	buttonsound
+	promptbutton
 	special CheckLuckyNumberShowFlag
 	iffalse .skip
 	special ResetLuckyNumberShowFlag
@@ -40,17 +40,17 @@
 	checkflag ENGINE_LUCKY_NUMBER_SHOW
 	iftrue .GameOver
 	writetext RadioTower1FLuckyNumberManThisWeeksIdIsText
-	buttonsound
+	promptbutton
 	closetext
 	applymovement RADIOTOWER1F_LUCKYNUMBERMAN, RadioTower1FLuckyNumberManGoToPCMovement
 	opentext
 	writetext RadioTower1FLuckyNumberManCheckIfMatchText
-	buttonsound
+	promptbutton
 	waitsfx
 	writetext RadioTower1FLuckyNumberManDotDotDotText
 	playsound SFX_DEX_FANFARE_20_49
 	waitsfx
-	buttonsound
+	promptbutton
 	special CheckForLuckyNumberWinners
 	closetext
 	applymovement RADIOTOWER1F_LUCKYNUMBERMAN, RadioTower1FLuckyNumberManReturnToPlayerMovement
@@ -70,7 +70,7 @@
 	writetext RadioTower1FLuckyNumberManPerfectMatchText
 	playsound SFX_1ST_PLACE
 	waitsfx
-	buttonsound
+	promptbutton
 	giveitem MASTER_BALL
 	iffalse .BagFull
 	itemnotify
@@ -81,7 +81,7 @@
 	writetext RadioTower1FLuckyNumberManOkayMatchText
 	playsound SFX_2ND_PLACE
 	waitsfx
-	buttonsound
+	promptbutton
 	giveitem EXP_SHARE
 	iffalse .BagFull
 	itemnotify
@@ -92,7 +92,7 @@
 	writetext RadioTower1FLuckyNumberManWeakMatchText
 	playsound SFX_3RD_PLACE
 	waitsfx
-	buttonsound
+	promptbutton
 	giveitem PP_UP
 	iffalse .BagFull
 	itemnotify
@@ -145,11 +145,11 @@
 	playsound SFX_ELEVATOR_END
 	waitsfx
 	writetext RadioTower1FRadioCardWomanYouWinText
-	buttonsound
+	promptbutton
 	getstring STRING_BUFFER_4, .RadioCardText
 	scall .ReceiveItem
 	writetext RadioTower1FPokegearIsARadioText
-	buttonsound
+	promptbutton
 	setflag ENGINE_RADIO_CARD
 .GotCard:
 	writetext RadioTower1FRadioCardWomanTuneInText
--- a/maps/RadioTower2F.asm
+++ b/maps/RadioTower2F.asm
@@ -161,7 +161,7 @@
 
 .Introduction:
 	writetext RadioTower2FBuenaShowIntroductionText
-	buttonsound
+	promptbutton
 	setevent EVENT_MET_BUENA
 	verbosegiveitem BLUE_CARD
 .TuneIn:
@@ -285,7 +285,7 @@
 	writetext RadioTower2FRegisteredBuenasNumberText
 	playsound SFX_REGISTER_PHONE_NUMBER
 	waitsfx
-	buttonsound
+	promptbutton
 	writetext RadioTower2FBuenaCallMeText
 	waitbutton
 	closetext
@@ -314,7 +314,7 @@
 	checkitem BLUE_CARD
 	iffalse .NoCard
 	writetext RadioTower2FBuenaReceptionistPointsForPrizesText
-	buttonsound
+	promptbutton
 	special BuenaPrize
 	closetext
 	end
@@ -321,7 +321,7 @@
 
 .NoCard:
 	writetext RadioTower2FBuenaReceptionistNoCardText
-	buttonsound
+	promptbutton
 	closetext
 	end
 
--- a/maps/RadioTower3F.asm
+++ b/maps/RadioTower3F.asm
@@ -64,7 +64,7 @@
 
 .NoRockets:
 	writetext RadioTower3FCooltrainerFYoureMyHeroText
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_SUNNY_DAY
 	iffalse .NoRoom
 	writetext RadioTower3FCooltrainerFItsSunnyDayText
--- a/maps/RadioTower4F.asm
+++ b/maps/RadioTower4F.asm
@@ -29,7 +29,7 @@
 
 .ClearedRockets:
 	writetext RadioTower4FDJMaryText_ClearedRockets
-	buttonsound
+	promptbutton
 	verbosegiveitem PINK_BOW
 	iffalse .NoRoom
 	writetext RadioTower4FDJMaryText_GivePinkBow
--- a/maps/RadioTower5F.asm
+++ b/maps/RadioTower5F.asm
@@ -42,7 +42,7 @@
 	reloadmapafterbattle
 	opentext
 	writetext FakeDirectorTextAfter
-	buttonsound
+	promptbutton
 	verbosegiveitem BASEMENT_KEY
 	closetext
 	setscene SCENE_RADIOTOWER5F_ROCKET_BOSS
@@ -119,7 +119,7 @@
 	turnobject PLAYER, RIGHT
 	opentext
 	writetext RadioTower5FDirectorThankYouText
-	buttonsound
+	promptbutton
 	verbosegiveitem CLEAR_BELL
 	writetext RadioTower5FDirectorDescribeClearBellText
 	waitbutton
--- a/maps/Route12SuperRodHouse.asm
+++ b/maps/Route12SuperRodHouse.asm
@@ -15,7 +15,7 @@
 	yesorno
 	iffalse .Refused
 	writetext GiveSuperRodText
-	buttonsound
+	promptbutton
 	verbosegiveitem SUPER_ROD
 	iffalse .NoRoom
 	setevent EVENT_GOT_SUPER_ROD
--- a/maps/Route24.asm
+++ b/maps/Route24.asm
@@ -21,7 +21,7 @@
 	playmusic MUSIC_ROCKET_ENCOUNTER
 	opentext
 	writetext Route24RocketAfterBattleText
-	buttonsound
+	promptbutton
 	special FadeOutMusic
 	writetext Route24RocketDisappearsText
 	waitbutton
--- a/maps/Route25.asm
+++ b/maps/Route25.asm
@@ -161,7 +161,7 @@
 	checkevent EVENT_CLEARED_NUGGET_BRIDGE
 	iftrue .AfterNuggetBridge
 	writetext CooltrainermKevinNuggetText
-	buttonsound
+	promptbutton
 	verbosegiveitem NUGGET
 	iffalse .NoRoomForNugget
 	setevent EVENT_CLEARED_NUGGET_BRIDGE
--- a/maps/Route26.asm
+++ b/maps/Route26.asm
@@ -38,7 +38,7 @@
 	checkevent EVENT_GAVEN_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskedAlready
 	writetext CooltrainermGavenAfterText
-	buttonsound
+	promptbutton
 	setevent EVENT_GAVEN_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1
 	sjump .AskForNumber
@@ -142,7 +142,7 @@
 	checkevent EVENT_BETH_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskedAlready
 	writetext CooltrainerfBethAfterText
-	buttonsound
+	promptbutton
 	setevent EVENT_BETH_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1
 	sjump .AskForNumber
--- a/maps/Route27.asm
+++ b/maps/Route27.asm
@@ -36,7 +36,7 @@
 	turnobject PLAYER, RIGHT
 	opentext
 	writetext Route27FisherHeyText
-	buttonsound
+	promptbutton
 	writetext Route27FisherText
 	waitbutton
 	closetext
@@ -73,7 +73,7 @@
 	checkevent EVENT_JOSE_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskedAlready
 	writetext BirdKeeperJose2AfterBattleText
-	buttonsound
+	promptbutton
 	setevent EVENT_JOSE_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1
 	sjump .AskForNumber
@@ -206,7 +206,7 @@
 	checkevent EVENT_REENA_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskedAlready
 	writetext CooltrainerfReenaAfterBattleText
-	buttonsound
+	promptbutton
 	setevent EVENT_REENA_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1
 	sjump .AskForNumber
--- a/maps/Route27SandstormHouse.asm
+++ b/maps/Route27SandstormHouse.asm
@@ -13,13 +13,13 @@
 	iftrue .AlreadyGotItem
 	special GetFirstPokemonHappiness
 	writetext SandstormHouseWomanText1
-	buttonsound
+	promptbutton
 	ifgreater 150 - 1, .Loyal
 	sjump .Disloyal
 
 .Loyal:
 	writetext SandstormHouseWomanLoyalText
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_SANDSTORM
 	iffalse .Done
 	setevent EVENT_GOT_TM37_SANDSTORM
--- a/maps/Route28SteelWingHouse.asm
+++ b/maps/Route28SteelWingHouse.asm
@@ -17,7 +17,7 @@
 	checkevent EVENT_GOT_TM47_STEEL_WING
 	iftrue .AlreadyGotItem
 	writetext CelebrityText1
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_STEEL_WING
 	iffalse .Done
 	setevent EVENT_GOT_TM47_STEEL_WING
--- a/maps/Route29.asm
+++ b/maps/Route29.asm
@@ -174,11 +174,11 @@
 	checkevent EVENT_MET_TUSCANY_OF_TUESDAY
 	iftrue .MetTuscany
 	writetext MeetTuscanyText
-	buttonsound
+	promptbutton
 	setevent EVENT_MET_TUSCANY_OF_TUESDAY
 .MetTuscany:
 	writetext TuscanyGivesGiftText
-	buttonsound
+	promptbutton
 	verbosegiveitem PINK_BOW
 	iffalse TuscanyDoneScript
 	setevent EVENT_GOT_PINK_BOW_FROM_TUSCANY
--- a/maps/Route2NuggetHouse.asm
+++ b/maps/Route2NuggetHouse.asm
@@ -12,7 +12,7 @@
 	checkevent EVENT_GOT_NUGGET_FROM_GUY
 	iftrue .GotNugget
 	writetext Route2NuggetHouseFisherText
-	buttonsound
+	promptbutton
 	verbosegiveitem NUGGET
 	iffalse .NoRoom
 	setevent EVENT_GOT_NUGGET_FROM_GUY
--- a/maps/Route30.asm
+++ b/maps/Route30.asm
@@ -50,7 +50,7 @@
 	checkevent EVENT_JOEY_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskAgain
 	writetext YoungsterJoey1AfterText
-	buttonsound
+	promptbutton
 	setevent EVENT_JOEY_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1
 	sjump .RequestNumber
--- a/maps/Route30BerryHouse.asm
+++ b/maps/Route30BerryHouse.asm
@@ -12,7 +12,7 @@
 	checkevent EVENT_GOT_BERRY_FROM_ROUTE_30_HOUSE
 	iftrue .GotBerry
 	writetext Route30BerrySpeechHouseMonEatBerriesText
-	buttonsound
+	promptbutton
 	verbosegiveitem BERRY
 	iffalse .NoRoom
 	setevent EVENT_GOT_BERRY_FROM_ROUTE_30_HOUSE
--- a/maps/Route31.asm
+++ b/maps/Route31.asm
@@ -194,7 +194,7 @@
 
 .TryGiveKenya:
 	writetext Text_Route31SleepyManGotMail
-	buttonsound
+	promptbutton
 	checkpokemail ReceivedSpearowMailText
 	ifequal POKEMAIL_WRONG_MAIL, .WrongMail
 	ifequal POKEMAIL_REFUSED, .Refused
@@ -202,9 +202,9 @@
 	ifequal POKEMAIL_LAST_MON, .LastMon
 	; POKEMAIL_CORRECT
 	writetext Text_Route31HandOverMailMon
-	buttonsound
+	promptbutton
 	writetext Text_Route31ReadingMail
-	buttonsound
+	promptbutton
 	setevent EVENT_GAVE_KENYA
 	verbosegiveitem TM_NIGHTMARE
 	iffalse .NoRoomForItems
--- a/maps/Route32.asm
+++ b/maps/Route32.asm
@@ -65,7 +65,7 @@
 
 .GiveMiracleSeed:
 	writetext Route32CooltrainerMText_HaveThisSeed
-	buttonsound
+	promptbutton
 	verbosegiveitem MIRACLE_SEED
 	iffalse .BagFull
 	setevent EVENT_GOT_MIRACLE_SEED_IN_ROUTE_32
@@ -106,7 +106,7 @@
 	checkevent EVENT_GOT_TM05_ROAR
 	iftrue .AlreadyHaveRoar
 	writetext Text_RoarIntro
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_ROAR
 	iffalse .Finish
 	setevent EVENT_GOT_TM05_ROAR
@@ -179,7 +179,7 @@
 	checkevent EVENT_RALPH_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskAgain
 	writetext FisherRalphAfterText
-	buttonsound
+	promptbutton
 	setevent EVENT_RALPH_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1
 	sjump .AskForNumber
@@ -313,7 +313,7 @@
 	checkevent EVENT_LIZ_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskAgain
 	writetext PicnickerLiz1AfterText
-	buttonsound
+	promptbutton
 	setevent EVENT_LIZ_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1
 	sjump .AskForNumber
@@ -459,11 +459,11 @@
 	checkevent EVENT_MET_FRIEDA_OF_FRIDAY
 	iftrue .MetFrieda
 	writetext MeetFriedaText
-	buttonsound
+	promptbutton
 	setevent EVENT_MET_FRIEDA_OF_FRIDAY
 .MetFrieda:
 	writetext FriedaGivesGiftText
-	buttonsound
+	promptbutton
 	verbosegiveitem POISON_BARB
 	iffalse .Done
 	setevent EVENT_GOT_POISON_BARB_FROM_FRIEDA
--- a/maps/Route32Pokecenter1F.asm
+++ b/maps/Route32Pokecenter1F.asm
@@ -20,7 +20,7 @@
 	yesorno
 	iffalse .Refused
 	writetext Route32Pokecenter1FFishingGuruText_Yes
-	buttonsound
+	promptbutton
 	verbosegiveitem OLD_ROD
 	writetext Route32Pokecenter1FFishingGuruText_GiveOldRod
 	waitbutton
--- a/maps/Route33.asm
+++ b/maps/Route33.asm
@@ -27,7 +27,7 @@
 	checkevent EVENT_ANTHONY_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskAgain
 	writetext HikerAnthony2AfterText
-	buttonsound
+	promptbutton
 	setevent EVENT_ANTHONY_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1
 	sjump .AskForPhoneNumber
--- a/maps/Route34.asm
+++ b/maps/Route34.asm
@@ -101,7 +101,7 @@
 	checkevent EVENT_TODD_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskAgain
 	writetext CamperTodd1AfterText
-	buttonsound
+	promptbutton
 	setevent EVENT_TODD_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber
 	sjump .FinishAsk
@@ -226,7 +226,7 @@
 	checkevent EVENT_GINA_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskAgain
 	writetext PicnickerGina1AfterText
-	buttonsound
+	promptbutton
 	setevent EVENT_GINA_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1
 	sjump .FinishAsk
@@ -459,7 +459,7 @@
 	checkevent EVENT_GOT_SOFT_SAND_FROM_KATE
 	iftrue .GotSoftSand
 	writetext CooltrainerfKateOfferSoftSandText
-	buttonsound
+	promptbutton
 	verbosegiveitem SOFT_SAND
 	iffalse .BagFull
 	setevent EVENT_GOT_SOFT_SAND_FROM_KATE
--- a/maps/Route34IlexForestGate.asm
+++ b/maps/Route34IlexForestGate.asm
@@ -48,7 +48,7 @@
 	checkevent EVENT_GOT_TM12_SWEET_SCENT
 	iftrue .GotSweetScent
 	writetext Route34IlexForestGateTeacherText
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_SWEET_SCENT
 	iffalse .NoRoom
 	setevent EVENT_GOT_TM12_SWEET_SCENT
@@ -61,7 +61,7 @@
 
 .ForestIsRestless:
 	writetext Route34IlexForestGateTeacher_ForestIsRestless
-	buttonsound
+	promptbutton
 	closetext
 	end
 
--- a/maps/Route35.asm
+++ b/maps/Route35.asm
@@ -39,7 +39,7 @@
 	checkevent EVENT_IRWIN_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskedAlready
 	writetext JugglerIrwinAfterBattleText
-	buttonsound
+	promptbutton
 	setevent EVENT_IRWIN_ASKED_FOR_PHONE_NUMBER
 	scall Route35AskNumber1M
 	sjump .AskForNumber
@@ -142,7 +142,7 @@
 	checkevent EVENT_ARNIE_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskedAlready
 	writetext BugCatcherArnieAfterBattleText
-	buttonsound
+	promptbutton
 	setevent EVENT_ARNIE_ASKED_FOR_PHONE_NUMBER
 	scall Route35AskNumber1M
 	sjump .AskForNumber
--- a/maps/Route35GoldenrodGate.asm
+++ b/maps/Route35GoldenrodGate.asm
@@ -21,7 +21,7 @@
 	yesorno
 	iffalse .refused
 	writetext Route35GoldenrodGateRandyThanksKidText
-	buttonsound
+	promptbutton
 	waitsfx
 	readvar VAR_PARTYCOUNT
 	ifequal PARTY_LENGTH, .partyfull
@@ -51,7 +51,7 @@
 
 .questcomplete
 	writetext Route35GoldenrodGateRandySomethingForYourTroubleText
-	buttonsound
+	promptbutton
 	verbosegiveitem HP_UP
 	iffalse .bagfull
 	setevent EVENT_GOT_HP_UP_FROM_RANDY
--- a/maps/Route35NationalParkGate.asm
+++ b/maps/Route35NationalParkGate.asm
@@ -99,7 +99,7 @@
 	setflag ENGINE_BUG_CONTEST_TIMER
 	special PlayMapMusic
 	writetext Route35NationalParkGateOfficer1GiveParkBallsText
-	buttonsound
+	promptbutton
 	writetext Route35NationalParkGatePlayerReceivedParkBallsText
 	playsound SFX_ITEM
 	waitsfx
@@ -141,11 +141,11 @@
 	iftrue Route35NationalParkGate_FirstMonIsFainted
 	setevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER
 	writetext Route35NationalParkGateOfficer1WellHoldYourMonText
-	buttonsound
+	promptbutton
 	writetext Route35NationalParkGatePlayersMonLeftWithHelperText
 	playsound SFX_GOT_SAFARI_BALLS
 	waitsfx
-	buttonsound
+	promptbutton
 	sjump Route35NationalParkGate_OkayToProceed
 
 Route35NationalParkGate_DeclinedToParticipate:
--- a/maps/Route36.asm
+++ b/maps/Route36.asm
@@ -137,7 +137,7 @@
 
 .ClearedSudowoodo:
 	writetext RockSmashGuyText2
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_ROCK_SMASH
 	iffalse .NoRoomForTM
 	setevent EVENT_GOT_TM08_ROCK_SMASH
@@ -180,7 +180,7 @@
 	checkevent EVENT_ALAN_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskAgainForPhoneNumber
 	writetext SchoolboyAlanBooksText
-	buttonsound
+	promptbutton
 	setevent EVENT_ALAN_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1
 	sjump .ContinueAskForPhoneNumber
@@ -323,11 +323,11 @@
 	checkevent EVENT_MET_ARTHUR_OF_THURSDAY
 	iftrue .MetArthur
 	writetext MeetArthurText
-	buttonsound
+	promptbutton
 	setevent EVENT_MET_ARTHUR_OF_THURSDAY
 .MetArthur:
 	writetext ArthurGivesGiftText
-	buttonsound
+	promptbutton
 	verbosegiveitem HARD_STONE
 	iffalse .BagFull
 	setevent EVENT_GOT_HARD_STONE_FROM_ARTHUR
--- a/maps/Route36NationalParkGate.asm
+++ b/maps/Route36NationalParkGate.asm
@@ -160,7 +160,7 @@
 	setflag ENGINE_BUG_CONTEST_TIMER
 	special PlayMapMusic
 	writetext Route36NationalParkGateOfficer1GiveParkBallsText
-	buttonsound
+	promptbutton
 	waitsfx
 	writetext Route36NationalParkGatePlayerReceivedParkBallsText
 	playsound SFX_ITEM
@@ -193,11 +193,11 @@
 	iftrue .FirstMonIsFainted
 	setevent EVENT_LEFT_MONS_WITH_CONTEST_OFFICER
 	writetext Route36NationalParkGateOfficer1WellHoldYourMonText
-	buttonsound
+	promptbutton
 	writetext Route36NationalParkGatePlayersMonLeftWithHelperText
 	playsound SFX_GOT_SAFARI_BALLS
 	waitsfx
-	buttonsound
+	promptbutton
 	sjump .ResumeStartingContest
 
 .DecidedNotToJoinContest:
@@ -246,7 +246,7 @@
 
 .Sunstone:
 	writetext Route36NationalParkGateOfficer1HeresThePrizeText
-	buttonsound
+	promptbutton
 	verbosegiveitem SUN_STONE
 	iffalse .BagFull
 	clearevent EVENT_CONTEST_OFFICER_HAS_SUN_STONE
@@ -255,7 +255,7 @@
 
 .Everstone:
 	writetext Route36NationalParkGateOfficer1HeresThePrizeText
-	buttonsound
+	promptbutton
 	verbosegiveitem EVERSTONE
 	iffalse .BagFull
 	clearevent EVENT_CONTEST_OFFICER_HAS_EVERSTONE
@@ -264,7 +264,7 @@
 
 .GoldBerry:
 	writetext Route36NationalParkGateOfficer1HeresThePrizeText
-	buttonsound
+	promptbutton
 	verbosegiveitem GOLD_BERRY
 	iffalse .BagFull
 	clearevent EVENT_CONTEST_OFFICER_HAS_GOLD_BERRY
@@ -273,7 +273,7 @@
 
 .Berry:
 	writetext Route36NationalParkGateOfficer1HeresThePrizeText
-	buttonsound
+	promptbutton
 	verbosegiveitem BERRY
 	iffalse .BagFull
 	clearevent EVENT_CONTEST_OFFICER_HAS_BERRY
--- a/maps/Route37.asm
+++ b/maps/Route37.asm
@@ -66,17 +66,17 @@
 	checkevent EVENT_MET_SUNNY_OF_SUNDAY
 	iftrue .MetSunny
 	writetext MeetSunnyText
-	buttonsound
+	promptbutton
 	setevent EVENT_MET_SUNNY_OF_SUNDAY
 .MetSunny:
 	checkflag ENGINE_PLAYER_IS_FEMALE
 	iftrue .Kris
 	writetext SunnyGivesGiftText1
-	buttonsound
+	promptbutton
 	sjump .next
 .Kris:
 	writetext SunnyGivesGiftText2
-	buttonsound
+	promptbutton
 .next
 	verbosegiveitem MAGNET
 	iffalse SunnyDoneScript
--- a/maps/Route38.asm
+++ b/maps/Route38.asm
@@ -50,7 +50,7 @@
 	checkevent EVENT_DANA_ASKED_FOR_PHONE_NUMBER
 	iftrue .SecondTimeAsking
 	writetext LassDanaMoomooMilkText
-	buttonsound
+	promptbutton
 	setevent EVENT_DANA_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1F
 	sjump .AskForPhoneNumber
@@ -186,7 +186,7 @@
 	checkevent EVENT_CHAD_ASKED_FOR_PHONE_NUMBER
 	iftrue .SecondTimeAsking
 	writetext SchoolboyChadSoManyTestsText
-	buttonsound
+	promptbutton
 	setevent EVENT_CHAD_ASKED_FOR_PHONE_NUMBER
 	scall .AskPhoneNumber1
 	sjump .AskToRegisterNumber
--- a/maps/Route39.asm
+++ b/maps/Route39.asm
@@ -39,7 +39,7 @@
 	checkevent EVENT_DEREK_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskedAlready
 	writetext PokefanMDerekText_NotBragging
-	buttonsound
+	promptbutton
 	setevent EVENT_DEREK_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1
 	sjump .AskForNumber
--- a/maps/Route39Barn.asm
+++ b/maps/Route39Barn.asm
@@ -51,7 +51,7 @@
 	writetext MoomooWeakMooText
 	setval MILTANK
 	special PlaySlowCry
-	buttonsound
+	promptbutton
 	writetext Route39BarnItsCryIsWeakText
 	checkevent EVENT_TALKED_TO_FARMER_ABOUT_MOOMOO
 	iftrue .GiveBerry
@@ -60,7 +60,7 @@
 	end
 
 .GiveBerry:
-	buttonsound
+	promptbutton
 	writetext Route39BarnAskGiveBerryText
 	yesorno
 	iffalse .Refused
@@ -80,7 +80,7 @@
 
 .ThreeBerries:
 	writetext Route39BarnGaveBerryText
-	buttonsound
+	promptbutton
 	writetext Route39BarnLittleHealthierText
 	waitbutton
 	closetext
@@ -88,7 +88,7 @@
 
 .FiveBerries:
 	writetext Route39BarnGaveBerryText
-	buttonsound
+	promptbutton
 	writetext Route39BarnQuiteHealthyText
 	waitbutton
 	closetext
@@ -98,7 +98,7 @@
 	playmusic MUSIC_HEAL
 	writetext Route39BarnGaveBerryText
 	pause 60
-	buttonsound
+	promptbutton
 	special RestartMapMusic
 	writetext Route39BarnTotallyHealthyText
 	waitbutton
--- a/maps/Route39Farmhouse.asm
+++ b/maps/Route39Farmhouse.asm
@@ -36,7 +36,7 @@
 	waitsfx
 	playsound SFX_TRANSACTION
 	writetext FarmerMText_GotMilk
-	buttonsound
+	promptbutton
 	itemnotify
 	closetext
 	end
@@ -79,7 +79,7 @@
 
 FarmerFScript_GiveSnore:
 	writetext FarmerFText_HealedMiltank
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_SNORE
 	iffalse FarmerFScript_NoRoomForSnore
 	setevent EVENT_GOT_TM13_SNORE_FROM_MOOMOO_FARM
--- a/maps/Route40.asm
+++ b/maps/Route40.asm
@@ -100,11 +100,11 @@
 	checkevent EVENT_MET_MONICA_OF_MONDAY
 	iftrue .MetMonica
 	writetext MeetMonicaText
-	buttonsound
+	promptbutton
 	setevent EVENT_MET_MONICA_OF_MONDAY
 .MetMonica:
 	writetext MonicaGivesGiftText
-	buttonsound
+	promptbutton
 	verbosegiveitem SHARP_BEAK
 	iffalse .done
 	setevent EVENT_GOT_SHARP_BEAK_FROM_MONICA
--- a/maps/Route42.asm
+++ b/maps/Route42.asm
@@ -50,7 +50,7 @@
 	checkevent EVENT_TULLY_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskedAlready
 	writetext FisherTullyAfterBattleText
-	buttonsound
+	promptbutton
 	setevent EVENT_TULLY_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1
 	sjump .AskForNumber
--- a/maps/Route43.asm
+++ b/maps/Route43.asm
@@ -60,7 +60,7 @@
 	checkevent EVENT_BRENT_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskedAlready
 	writetext PokemaniacBrentAfterBattleText
-	buttonsound
+	promptbutton
 	setevent EVENT_BRENT_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1
 	sjump .AskForNumber
@@ -191,7 +191,7 @@
 	checkevent EVENT_TIFFANY_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskedAlready
 	writetext PicnickerTiffanyWantsPicnicText
-	buttonsound
+	promptbutton
 	setevent EVENT_TIFFANY_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1
 	sjump .AskForNumber
--- a/maps/Route43Gate.asm
+++ b/maps/Route43Gate.asm
@@ -47,7 +47,7 @@
 	applymovement ROUTE43GATE_ROCKET1, Rocket1Script_BlocksYouSouth
 	opentext
 	writetext RocketText_TollFee
-	buttonsound
+	promptbutton
 	checkmoney YOUR_MONEY, ROUTE43GATE_TOLL - 1
 	ifequal HAVE_MORE, RocketScript_TollSouth
 	sjump RocketScript_YoureBrokeSouth
@@ -63,7 +63,7 @@
 	sjump RocketScript_ShakeDownSouth
 
 RocketScript_ShakeDownSouth:
-	buttonsound
+	promptbutton
 	closetext
 	applymovement ROUTE43GATE_ROCKET1, Rocket1Script_LetsYouPassSouth
 	applymovement ROUTE43GATE_ROCKET2, Rocket2Script_LetsYouPassSouth
@@ -79,7 +79,7 @@
 	applymovement ROUTE43GATE_ROCKET2, Rocket2Script_BlocksYouNorth
 	opentext
 	writetext RocketText_TollFee
-	buttonsound
+	promptbutton
 	checkmoney YOUR_MONEY, ROUTE43GATE_TOLL - 1
 	ifequal HAVE_MORE, RocketScript_TollNorth
 	sjump RocketScript_YoureBrokeNorth
@@ -95,7 +95,7 @@
 	sjump RocketScript_ShakeDownNorth
 
 RocketScript_ShakeDownNorth:
-	buttonsound
+	promptbutton
 	closetext
 	applymovement ROUTE43GATE_ROCKET2, Rocket2Script_LetsYouPassNorth
 	applymovement ROUTE43GATE_ROCKET1, Rocket1Script_LetsYouPassNorth
@@ -112,7 +112,7 @@
 	checkevent EVENT_GOT_TM36_SLUDGE_BOMB
 	iftrue .GotSludgeBomb
 	writetext OfficerText_FoundTM
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_SLUDGE_BOMB
 	iffalse .NoRoomForSludgeBomb
 	setevent EVENT_GOT_TM36_SLUDGE_BOMB
--- a/maps/Route44.asm
+++ b/maps/Route44.asm
@@ -30,7 +30,7 @@
 	checkevent EVENT_VANCE_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskedAlready
 	writetext BirdKeeperVanceLegendaryBirdsText
-	buttonsound
+	promptbutton
 	setevent EVENT_VANCE_ASKED_FOR_PHONE_NUMBER
 	scall Route44AskNumber1M
 	sjump .AskForNumber
@@ -174,7 +174,7 @@
 	checkevent EVENT_WILTON_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskedAlready
 	writetext FisherWiltonHugePoliwagText
-	buttonsound
+	promptbutton
 	setevent EVENT_WILTON_ASKED_FOR_PHONE_NUMBER
 	scall Route44AskNumber1M
 	sjump .AskForNumber
--- a/maps/Route45.asm
+++ b/maps/Route45.asm
@@ -158,7 +158,7 @@
 	checkevent EVENT_PARRY_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskedAlready
 	writetext HikerParryAfterBattleText
-	buttonsound
+	promptbutton
 	setevent EVENT_PARRY_ASKED_FOR_PHONE_NUMBER
 	scall Route45AskNumber1M
 	sjump .AskForNumber
--- a/maps/Route46.asm
+++ b/maps/Route46.asm
@@ -36,7 +36,7 @@
 	checkevent EVENT_ERIN_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskedAlready
 	writetext PicnickerErinAfterBattleText
-	buttonsound
+	promptbutton
 	setevent EVENT_ERIN_ASKED_FOR_PHONE_NUMBER
 	scall Route46AskNumber1F
 	sjump .AskForNumber
--- a/maps/Route5CleanseTagHouse.asm
+++ b/maps/Route5CleanseTagHouse.asm
@@ -13,7 +13,7 @@
 	checkevent EVENT_GOT_CLEANSE_TAG
 	iftrue .GotCleanseTag
 	writetext Route5CleanseTagHouseGrannyText1
-	buttonsound
+	promptbutton
 	verbosegiveitem CLEANSE_TAG
 	iffalse .NoRoom
 	setevent EVENT_GOT_CLEANSE_TAG
--- a/maps/RuinsOfAlphKabutoChamber.asm
+++ b/maps/RuinsOfAlphKabutoChamber.asm
@@ -90,7 +90,7 @@
 	checkevent EVENT_SOLVED_KABUTO_PUZZLE
 	iffalse .PuzzleIncomplete
 	writetext RuinsOfAlphKabutoChamberScientistTremorText
-	buttonsound
+	promptbutton
 .PuzzleIncomplete:
 	writetext RuinsOfAlphKabutoChamberScientistCrypticText
 	waitbutton
--- a/maps/RuinsOfAlphOutside.asm
+++ b/maps/RuinsOfAlphOutside.asm
@@ -75,7 +75,7 @@
 	iftrue .Next
 	setevent EVENT_TALKED_TO_RUINS_COWARD
 	writetext RuinsOfAlphOutsideFisherText1
-	buttonsound
+	promptbutton
 .Next:
 	writetext RuinsOfAlphOutsideFisherText2
 	waitbutton
--- a/maps/SilphCo1F.asm
+++ b/maps/SilphCo1F.asm
@@ -16,7 +16,7 @@
 	checkevent EVENT_GOT_UP_GRADE
 	iftrue .GotUpGrade
 	writetext SilphCoOfficerText
-	buttonsound
+	promptbutton
 	verbosegiveitem UP_GRADE
 	iffalse .NoRoom
 	setevent EVENT_GOT_UP_GRADE
--- a/maps/SlowpokeWellB2F.asm
+++ b/maps/SlowpokeWellB2F.asm
@@ -13,7 +13,7 @@
 	checkevent EVENT_GOT_KINGS_ROCK_IN_SLOWPOKE_WELL
 	iftrue .GotKingsRock
 	writetext SlowpokeWellB2FGymGuyText
-	buttonsound
+	promptbutton
 	verbosegiveitem KINGS_ROCK
 	iffalse .NoRoom
 	setevent EVENT_GOT_KINGS_ROCK_IN_SLOWPOKE_WELL
--- a/maps/SproutTower3F.asm
+++ b/maps/SproutTower3F.asm
@@ -75,7 +75,7 @@
 	reloadmapafterbattle
 	opentext
 	writetext SageLiTakeThisFlashText
-	buttonsound
+	promptbutton
 	verbosegiveitem HM_FLASH
 	setevent EVENT_GOT_HM05_FLASH
 	setevent EVENT_BEAT_SAGE_LI
--- a/maps/TeamRocketBaseB2F.asm
+++ b/maps/TeamRocketBaseB2F.asm
@@ -284,7 +284,7 @@
 	turnobject PLAYER, RIGHT
 	opentext
 	writetext RocketBaseLanceElectrodeDoneText
-	buttonsound
+	promptbutton
 	verbosegiveitem HM_WHIRLPOOL
 	setevent EVENT_GOT_HM06_WHIRLPOOL
 	writetext RocketBaseLanceWhirlpoolText
--- a/maps/TinTower1F.asm
+++ b/maps/TinTower1F.asm
@@ -192,7 +192,7 @@
 	checkevent EVENT_GOT_RAINBOW_WING
 	iftrue .GotRainbowWing
 	writetext TinTower1FSage5Text1
-	buttonsound
+	promptbutton
 	verbosegiveitem RAINBOW_WING
 	closetext
 	refreshscreen
--- a/maps/TrainerHouseB1F.asm
+++ b/maps/TrainerHouseB1F.asm
@@ -17,7 +17,7 @@
 	checkflag ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY
 	iftrue .FoughtTooManyTimes
 	writetext TrainerHouseB1FIntroText
-	buttonsound
+	promptbutton
 	special TrainerHouse
 	iffalse .GetCal3Name
 	gettrainername STRING_BUFFER_3, CAL, CAL2
@@ -27,7 +27,7 @@
 	gettrainername STRING_BUFFER_3, CAL, CAL3
 .GotName:
 	writetext TrainerHouseB1FYourOpponentIsText
-	buttonsound
+	promptbutton
 	writetext TrainerHouseB1FAskWantToBattleText
 	yesorno
 	iffalse .Declined
--- a/maps/VermilionCity.asm
+++ b/maps/VermilionCity.asm
@@ -88,7 +88,7 @@
 
 .AllBadges:
 	writetext VermilionCityBadgeGuyAllBadgesText
-	buttonsound
+	promptbutton
 	verbosegiveitem HP_UP
 	iffalse .Done
 	setevent EVENT_GOT_HP_UP_FROM_VERMILION_GUY
--- a/maps/VermilionPort.asm
+++ b/maps/VermilionPort.asm
@@ -94,7 +94,7 @@
 	yesorno
 	iffalse VermilionPortNotRidingMoveAwayScript
 	writetext VermilionPortAskTicketText
-	buttonsound
+	promptbutton
 	checkitem S_S_TICKET
 	iffalse .NoTicket
 	writetext VermilionPortSSTicketText
@@ -156,7 +156,7 @@
 	yesorno
 	iffalse VermilionPortNotRidingScript
 	writetext VermilionPortAskTicketText
-	buttonsound
+	promptbutton
 	checkitem S_S_TICKET
 	iffalse .NoTicket
 	writetext VermilionPortSSTicketText
--- a/maps/VictoryRoadGate.asm
+++ b/maps/VictoryRoadGate.asm
@@ -25,7 +25,7 @@
 VictoryRoadGateBadgeCheckScript:
 	opentext
 	writetext VictoryRoadGateOfficerText
-	buttonsound
+	promptbutton
 	readvar VAR_BADGES
 	ifgreater NUM_JOHTO_BADGES - 1, .AllEightBadges
 	writetext VictoryRoadGateNotEnoughBadgesText
--- a/maps/VioletGym.asm
+++ b/maps/VioletGym.asm
@@ -37,7 +37,7 @@
 	setmapscene ELMS_LAB, SCENE_ELMSLAB_NOTHING
 	specialphonecall SPECIALCALL_ASSISTANT
 	writetext FalknerZephyrBadgeText
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_MUD_SLAP
 	iffalse .NoRoomForMudSlap
 	setevent EVENT_GOT_TM31_MUD_SLAP
--- a/maps/ViridianCity.asm
+++ b/maps/ViridianCity.asm
@@ -53,7 +53,7 @@
 	checkevent EVENT_GOT_TM42_DREAM_EATER
 	iftrue .GotDreamEater
 	writetext ViridianCityDreamEaterFisherText
-	buttonsound
+	promptbutton
 	verbosegiveitem TM_DREAM_EATER
 	iffalse .NoRoomForDreamEater
 	setevent EVENT_GOT_TM42_DREAM_EATER
--- a/maps/WiseTriosRoom.asm
+++ b/maps/WiseTriosRoom.asm
@@ -96,7 +96,7 @@
 	showemote EMOTE_SHOCK, WISETRIOSROOM_SAGE6, 20
 	opentext
 	writetext SageKojiAfterBattleQuestionText
-	buttonsound
+	promptbutton
 	writetext SageKojiAfterBattleSpeechText
 	waitbutton
 	closetext
--- a/mobile/mobile_22.asm
+++ b/mobile/mobile_22.asm
@@ -183,7 +183,7 @@
 	pop de
 	ret
 
-Mobile22_ButtonSound:
+Mobile22_PromptButton:
 	call JoyWaitAorB
 	call PlayClickSFX
 	ret
@@ -2509,7 +2509,7 @@
 	call Function89a0c
 	call CloseSRAM
 	call Function891ab
-	call Mobile22_ButtonSound
+	call Mobile22_PromptButton
 	jp Function89e36
 
 Function8a03d:
@@ -3892,7 +3892,7 @@
 	hlcoord 1, 13
 	call PlaceString
 	call WaitBGMap
-	call Mobile22_ButtonSound
+	call Mobile22_PromptButton
 	and a
 	ret
 
--- a/mobile/mobile_5f.asm
+++ b/mobile/mobile_5f.asm
@@ -716,7 +716,7 @@
 	ld de, wc608
 	ld bc, $40
 	call CopyBytes
-	ld hl, TileAttrmap_17eb8e
+	ld hl, PokemonNewsTileAttrmap
 	decoord 0, 0
 	bccoord 0, 0, wAttrMap
 	ld a, $12
@@ -3533,8 +3533,8 @@
 GFX_17eb7e:
 INCBIN "gfx/unknown/17eb7e.2bpp"
 
-TileAttrmap_17eb8e:
-INCBIN "gfx/unknown/17eb8e.attrmap"
+PokemonNewsTileAttrmap:
+INCBIN "gfx/mobile/pokemon_news.bin"
 
 Palette_17eff6:
 	RGB 24,  9,  8