shithub: pokecrystal

Download patch

ref: e7be25948dfeef257697a7aa30706339f6ba014b
parent: 99d16d616d5f70754dd6aa567e478e587a733d8c
parent: 94ebdab6d350fd6ebfd43c5a84710ed14dade8ca
author: dannye <[email protected]>
date: Mon Jan 6 17:07:33 EST 2020

Merge branch 'master' into audio-macros

--- a/.gitignore
+++ b/.gitignore
@@ -36,6 +36,8 @@
 .*.swp
 # swap files for gedit
 *~
+# osx files
+.DS_STORE
 
 *.dimensions
 *.gbcpal
--- a/FAQ.md
+++ b/FAQ.md
@@ -38,11 +38,11 @@
 
 ### "ERROR: `UNION` already defined"
 
-Download [**rgbds 0.3.8**][rgbds]. Older versions will not work.
+Download [**rgbds 0.3.9**][rgbds] or newer. Older versions will not work.
 
 ### "Expression must be 8-bit"
 
-Download [**rgbds 0.3.8**][rgbds]. Older versions will not work.
+Download [**rgbds 0.3.9**][rgbds] or newer. Older versions will not work.
 
 ### "Segmentation fault" from `rgbgfx`
 
--- a/INSTALL.md
+++ b/INSTALL.md
@@ -38,7 +38,7 @@
 
 Then download [**rgbds**](https://github.com/rednex/rgbds/releases/): the latest **win64.zip** or **win32.zip** release. Extract it and put all the `exe` and `dll` files individually in **C:\cygwin64\usr\local\bin**.
 
-**Note: If you already have an older rgbds, you will need to update to 0.3.8.** Ignore this if you have never installed rgbds before. If a version newer than 0.3.8 does not work, try downloading 0.3.8.
+**Note: If you already have an older rgbds, you will need to update to 0.3.9.** Ignore this if you have never installed rgbds before. If a version newer than 0.3.9 does not work, try downloading 0.3.9.
 
 Now open the **Cygwin terminal** and enter the following commands.
 
--- a/Makefile
+++ b/Makefile
@@ -14,6 +14,7 @@
 engine/overworld/events.o \
 gfx/pics.o \
 gfx/sprites.o \
+gfx/tilesets.o \
 lib/mobile/main.o
 
 crystal11_obj := $(crystal_obj:.o=11.o)
@@ -166,6 +167,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/README.md
+++ b/README.md
@@ -40,7 +40,7 @@
 [docs]: https://pret.github.io/pokecrystal/
 [wiki]: https://github.com/pret/pokecrystal/wiki
 [tutorials]: https://github.com/pret/pokecrystal/wiki/Tutorials
-[discord]: https://discord.gg/6EuWgX9
+[discord]: https://discord.gg/d5dubZ3
 [irc]: https://kiwiirc.com/client/irc.freenode.net/?#pret
 [travis]: https://travis-ci.org/pret/pokecrystal
 [travis-badge]: https://travis-ci.org/pret/pokecrystal.svg?branch=master
--- a/audio/engine.asm
+++ b/audio/engine.asm
@@ -6,7 +6,7 @@
 ; 	FadeMusic
 ; 	PlayStereoSFX
 
-_MapSetup_Sound_Off::
+_InitSound::
 ; restart sound operation
 ; clear all relevant hardware registers & wram
 	push hl
@@ -62,7 +62,7 @@
 	push af
 	ld a, [wMusicFadeID]
 	push af
-	call _MapSetup_Sound_Off
+	call _InitSound
 	pop af
 	ld [wMusicFadeID], a
 	pop af
@@ -1364,7 +1364,7 @@
 	jp hl
 
 MusicCommands:
-; entries correspond to macros/sound.asm enumeration
+; entries correspond to macros/scripts/audio.asm enumeration
 	dw Music_Octave8 ; octave 8
 	dw Music_Octave7 ; octave 7
 	dw Music_Octave6 ; octave 6
@@ -2798,7 +2798,7 @@
 
 ClearChannels::
 ; runs ClearChannel for all 4 channels
-; doesn't seem to be used, but functionally identical to MapSetup_Sound_Off
+; doesn't seem to be used, but functionally identical to InitSound
 	ld hl, rNR50
 	xor a
 	ld [hli], a
--- a/audio/sfx.asm
+++ b/audio/sfx.asm
@@ -1174,16 +1174,14 @@
 
 	toggle_sfx
 
-Sfx_GetEggFromDayCareMan:
-Sfx_GetEggFromDayCareLady:
+Sfx_GetEgg:
 	channel_count 4
-	channel 5, Sfx_GetEggFromDayCareLady_Ch5
-	channel 6, Sfx_GetEggFromDayCareLady_Ch6
-	channel 7, Sfx_GetEggFromDayCareLady_Ch7
-	channel 8, Sfx_GetEggFromDayCareLady_Ch8
+	channel 5, Sfx_GetEgg_Ch5
+	channel 6, Sfx_GetEgg_Ch6
+	channel 7, Sfx_GetEgg_Ch7
+	channel 8, Sfx_GetEgg_Ch8
 
-Sfx_GetEggFromDayCareMan_Ch5:
-Sfx_GetEggFromDayCareLady_Ch5:
+Sfx_GetEgg_Ch5:
 	toggle_sfx
 	tempo 120
 	volume 7, 7
@@ -1215,8 +1213,7 @@
 
 	toggle_sfx
 
-Sfx_GetEggFromDayCareMan_Ch6:
-Sfx_GetEggFromDayCareLady_Ch6:
+Sfx_GetEgg_Ch6:
 	toggle_sfx
 	vibrato 18, 3, 4
 	duty_cycle 3
@@ -1245,8 +1242,7 @@
 
 	toggle_sfx
 
-Sfx_GetEggFromDayCareMan_Ch7:
-Sfx_GetEggFromDayCareLady_Ch7:
+Sfx_GetEgg_Ch7:
 	toggle_sfx
 	note_type 8, 2, 5
 	rest 2
@@ -1265,8 +1261,7 @@
 
 	toggle_sfx
 
-Sfx_GetEggFromDayCareMan_Ch8:
-Sfx_GetEggFromDayCareLady_Ch8:
+Sfx_GetEgg_Ch8:
 	toggle_sfx
 	sfx_toggle_noise 4
 	drum_speed 8
--- a/audio/sfx_pointers.asm
+++ b/audio/sfx_pointers.asm
@@ -149,8 +149,8 @@
 	dba Sfx_Fanfare2
 	dba Sfx_RegisterPhoneNumber
 	dba Sfx_3rdPlace
-	dba Sfx_GetEggFromDayCareMan
-	dba Sfx_GetEggFromDayCareLady
+	dba Sfx_GetEgg
+	dba Sfx_GetEgg
 	dba Sfx_MoveDeleted
 	dba Sfx_2ndPlace
 	dba Sfx_1stPlace
--- a/charmap.asm
+++ b/charmap.asm
@@ -416,3 +416,8 @@
 	charmap "7", $fd
 	charmap "8", $fe
 	charmap "9", $ff
+
+; ASCII charmap, for mobile functions
+pushc
+newcharmap ascii
+popc
--- a/constants/engine_flags.asm
+++ b/constants/engine_flags.asm
@@ -1,4 +1,4 @@
-; EngineFlags indexes (see engine/engine_flags.asm)
+; EngineFlags indexes (see data/engine_flags.asm)
 	const_def
 ; wPokegearFlags
 	const ENGINE_RADIO_CARD
@@ -64,7 +64,7 @@
 	const ENGINE_UNLOCKED_UNOWNS_UNUSED_7
 ; wVisitedSpawns
 	const ENGINE_FLYPOINT_PLAYERS_HOUSE
-	const ENGINE_FLYPOINT_VIRIDIAN_POKECENTER
+	const ENGINE_FLYPOINT_DEBUG
 	const ENGINE_FLYPOINT_PALLET
 	const ENGINE_FLYPOINT_VIRIDIAN
 	const ENGINE_FLYPOINT_PEWTER
--- 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/map_setup_constants.asm
+++ b/constants/map_setup_constants.asm
@@ -15,55 +15,53 @@
 	const MAPSETUP_FLY        ; fc
 
 ; MapSetupCommands indexes (see engine/overworld/map_setup.asm)
-; Names taken from Condensation water's scripting compendium
-; https://hax.iimarck.us/files/scriptingcodes_eng.htm
 	const_def
-	const map_lcd_on              ; 00
-	const map_lcd_off             ; 01
-	const map_sound_off           ; 02
-	const map_music               ; 03
-	const map_start_music         ; 04
-	const map_fade_music          ; 05
-	const map_fade                ; 06
-	const map_bike_music          ; 07
-	const map_music_force         ; 08
-	const map_max_volume          ; 09
-	const map_load_blocks         ; 0a
-	const map_connection_blocks   ; 0b
-	const map_save_screen         ; 0c
-	const map_buffer_screen       ; 0d
-	const map_load_graphics       ; 0e
-	const map_load_tileset        ; 0f
-	const map_time_of_day         ; 10
-	const map_palettes            ; 11
-	const map_wildmons            ; 12
-	const map_sprites             ; 13
-	const map_change_callback     ; 14
-	const map_start_callback      ; 15
-	const map_load_objects        ; 16
-	const map_load_spawn          ; 17
-	const map_load_connection     ; 18
-	const map_load_warp           ; 19
-	const map_load_attributes     ; 1a
-	const map_load_attributes_2   ; 1b
-	const map_clear_bg_palettes   ; 1c
-	const map_fade_out_palettes   ; 1d
-	const map_fade_in_palettes    ; 1e
-	const map_anchor_screen       ; 1f
-	const map_warp_face           ; 20
-	const map_face_down           ; 21
-	const map_spawn_coord         ; 22
-	const map_player_coord        ; 23
-	const map_prolong_sprites     ; 24
-	const map_delay_sprites       ; 25
-	const map_update_roam         ; 26
-	const map_keep_roam           ; 27
-	const map_fade_out_music      ; 28
-	const map_animations_on       ; 29
-	const map_animations_off      ; 2a
-	const map_keep_palettes       ; 2b
-	const map_text_scroll_off     ; 2c
-	const map_stop_script         ; 2d
+	const map_enable_lcd                 ; 00
+	const map_disable_lcd                ; 01
+	const map_init_sound                 ; 02
+	const map_play_music                 ; 03
+	const map_restart_music              ; 04
+	const map_fade_to_music              ; 05
+	const map_fade_music_and_palettes    ; 06
+	const map_play_music_bike            ; 07
+	const map_force_music                ; 08
+	const map_fade_in_music              ; 09
+	const map_load_block_data            ; 0a
+	const map_load_connection_block_data ; 0b
+	const map_save_screen                ; 0c
+	const map_buffer_screen              ; 0d
+	const map_load_graphics              ; 0e
+	const map_load_tileset               ; 0f
+	const map_load_time_of_day           ; 10
+	const map_load_palettes              ; 11
+	const map_load_wild_mon_data         ; 12
+	const map_refresh_sprites            ; 13
+	const map_handle_new                 ; 14
+	const map_handle_continue            ; 15
+	const map_load_objects               ; 16
+	const map_enter_spawn_point          ; 17
+	const map_enter_connection           ; 18
+	const map_enter_warp                 ; 19
+	const map_load_attributes            ; 1a
+	const map_load_attributes_no_objects ; 1b
+	const map_clear_bg_palettes          ; 1c
+	const map_fade_out_palettes          ; 1d
+	const map_fade_in_palettes           ; 1e
+	const map_get_screen_coords          ; 1f
+	const map_get_warp_dest_coords       ; 20
+	const map_spawn_in_facing_down       ; 21
+	const map_spawn_player               ; 22
+	const map_refresh_player_coords      ; 23
+	const map_reset_player_object_action ; 24
+	const map_skip_update_sprites        ; 25
+	const map_update_roam_mons           ; 26
+	const map_jump_roam_mons             ; 27
+	const map_fade_out_music             ; 28
+	const map_activate_anims             ; 29
+	const map_suspend_anims              ; 2a
+	const map_apply_palettes             ; 2b
+	const map_enable_text_acceleration   ; 2c
+	const map_init_name_sign             ; 2d
 map_end EQU -1
 
 ; callback types
--- a/constants/mobile_constants.asm
+++ b/constants/mobile_constants.asm
@@ -19,3 +19,8 @@
 NUM_KANA EQU 45 ; length of SortedPokemon table (see mobile/fixed_words.asm)
 
 MOBILE_LOGIN_PASSWORD_LENGTH EQU 17
+MOBILE_PHONE_NUMBER_LENGTH EQU 20
+
+; Maximum amount of time allowed for mobile battles each day
+MOBILE_BATTLE_ALLOWED_SECONDS EQU 0
+MOBILE_BATTLE_ALLOWED_MINUTES EQU 10
--- 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/serial_constants.asm
+++ b/constants/serial_constants.asm
@@ -1,4 +1,4 @@
-; link types
+; wLinkMode
 	const_def
 	const LINK_NULL        ; 0
 	const LINK_TIMECAPSULE ; 1
--- a/constants/sfx_constants.asm
+++ b/constants/sfx_constants.asm
@@ -150,8 +150,8 @@
 	const SFX_FANFARE_2                   ; 92
 	const SFX_REGISTER_PHONE_NUMBER       ; 93
 	const SFX_3RD_PLACE                   ; 94
-	const SFX_GET_EGG_FROM_DAY_CARE_MAN   ; 95
-	const SFX_GET_EGG_FROM_DAY_CARE_LADY  ; 96
+	const SFX_GET_EGG_UNUSED              ; 95
+	const SFX_GET_EGG                     ; 96
 	const SFX_MOVE_DELETED                ; 97
 	const SFX_2ND_PLACE                   ; 98
 	const SFX_1ST_PLACE                   ; 99
--- 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/battle_tower/trainer_text.asm
+++ b/data/battle_tower/trainer_text.asm
@@ -1,4 +1,4 @@
-BattleTowerText_0x1ec000:
+_BTGreetingM1Text:
 	text "Hello, glad to"
 	line "meet you!"
 
@@ -6,122 +6,122 @@
 	line "a good battle."
 	done
 
-BattleTowerText_0x1ec03b:
+_BTLossM1Text:
 	text "Thank you! A most"
 	line "enjoyable battle!"
 	done
 
-UnknownText_0x1ec060:
+_BTWinM1Text:
 	text "Thank you. You are"
 	line "formidable."
 	done
 
-BattleTowerText_0x1ec080:
+_BTGreetingM2Text:
 	text "Work, work, work…"
 	line "I'm always busy!"
 	done
 
-UnknownText_0x1ec0a3:
+_BTLossM2Text:
 	text "But, I work hard"
 	line "in battle too!"
 	done
 
-UnknownText_0x1ec0c4:
+_BTWinM2Text:
 	text "I'm too busy to be"
 	line "battling!"
 	done
 
-UnknownText_0x1ec0e1:
+_BTGreetingM3Text:
 	text "Brace yourself for"
 	line "my all-out attack!"
 	done
 
-UnknownText_0x1ec108:
+_BTLossM3Text:
 	text "What a cakewalk!"
 	line "You're too easy!"
 	done
 
-UnknownText_0x1ec12a:
+_BTWinM3Text:
 	text "I won't lose next"
 	line "time, all right?"
 	done
 
-UnknownText_0x1ec14d:
+_BTGreetingM4Text:
 	text "Heh, your #MON"
 	line "look pretty cool."
 	done
 
-UnknownText_0x1ec16f:
+_BTLossM4Text:
 	text "Hey, hey, no way!"
 	line "You won't win!"
 	done
 
-UnknownText_0x1ec190:
+_BTWinM4Text:
 	text "You serious?"
 	line "This is brutal!"
 	done
 
-UnknownText_0x1ec1ae:
+_BTGreetingM5Text:
 	text "#MON every day!"
 	line "I love battling!"
 	done
 
-UnknownText_0x1ec1d0:
+_BTLossM5Text:
 	text "I'm on top of my"
 	line "game, but not you!"
 	done
 
-UnknownText_0x1ec1f4:
+_BTWinM5Text:
 	text "I don't care that"
 	line "I lost, really!"
 	done
 
-UnknownText_0x1ec216:
+_BTGreetingM6Text:
 	text "Hi, there! Let's"
 	line "keep this clean!"
 	done
 
-UnknownText_0x1ec238:
+_BTLossM6Text:
 	text "Whoops, sorry for"
 	line "that wipeout!"
 	done
 
-UnknownText_0x1ec259:
+_BTWinM6Text:
 	text "Whoops! Come on,"
 	line "let me win one!"
 	done
 
-UnknownText_0x1ec27b:
+_BTGreetingM7Text:
 	text "Do you want to see"
 	line "my battle level?"
 	done
 
-UnknownText_0x1ec2a0:
+_BTLossM7Text:
 	text "Hehehe, I know"
 	line "your level now!"
 	done
 
-UnknownText_0x1ec2c0:
+_BTWinM7Text:
 	text "Ouch… I'm just too"
 	line "weak…"
 	done
 
-UnknownText_0x1ec2d9:
+_BTGreetingM8Text:
 	text "Hey, let's battle."
 	line "I'm your opponent."
 	done
 
-UnknownText_0x1ec2fe:
+_BTLossM8Text:
 	text "Wow, you're not"
 	line "serious about it!"
 	done
 
-UnknownText_0x1ec320:
+_BTWinM8Text:
 	text "…Urgh… Nothing"
 	line "positive here…"
 	done
 
-UnknownText_0x1ec33f:
+_BTGreetingM9Text:
 	text "I'm your"
 	line "opponent."
 
@@ -129,47 +129,47 @@
 	line "hammered."
 	done
 
-UnknownText_0x1ec36c:
+_BTLossM9Text:
 	text "Hahah! That was a"
 	line "pushover!"
 	done
 
-UnknownText_0x1ec389:
+_BTWinM9Text:
 	text "No way! There has"
 	line "to be a mistake!"
 	done
 
-UnknownText_0x1ec3ad:
+_BTGreetingM10Text:
 	text "Hah!"
 	line "Let's get rolling!"
 	done
 
-UnknownText_0x1ec3c5:
+_BTLossM10Text:
 	text "Wahahaha! Didn't"
 	line "break a sweat!"
 	done
 
-UnknownText_0x1ec3e5:
+_BTWinM10Text:
 	text "Tough! I'm no"
 	line "match for you!"
 	done
 
-UnknownText_0x1ec402:
+_BTGreetingM11Text:
 	text "<……><……><……>"
 	line "<……><……>Battle?"
 	done
 
-UnknownText_0x1ec411:
+_BTLossM11Text:
 	text "<……><……><……>"
 	line "<……><……>I won?"
 	done
 
-UnknownText_0x1ec41f:
+_BTWinM11Text:
 	text "<……><……><……>"
 	line "<……><……>I lost?"
 	done
 
-UnknownText_0x1ec42e:
+_BTGreetingM12Text:
 	text "You want to be a"
 	line "leader?"
 
@@ -177,7 +177,7 @@
 	line "then!"
 	done
 
-UnknownText_0x1ec461:
+_BTLossM12Text:
 	text "You need another"
 	line "ten years of"
 
@@ -185,7 +185,7 @@
 	line "better, I'd say."
 	done
 
-UnknownText_0x1ec4a0:
+_BTWinM12Text:
 	text "You're incredibly"
 	line "talented."
 
@@ -193,72 +193,72 @@
 	line "you now!"
 	done
 
-UnknownText_0x1ec4d6:
+_BTGreetingM13Text:
 	text "Today, I'm going"
 	line "to whomp you."
 	done
 
-UnknownText_0x1ec4f5:
+_BTLossM13Text:
 	text "I knew I'd win."
 	line "I'm so great!"
 	done
 
-UnknownText_0x1ec512:
+_BTWinM13Text:
 	text "Uh? My plans are"
 	line "out of whack…"
 	done
 
-UnknownText_0x1ec532:
+_BTGreetingM14Text:
 	text "I bet you can't"
 	line "beat me!"
 	done
 
-UnknownText_0x1ec54b:
+_BTLossM14Text:
 	text "Those #MON"
 	line "aren't enough!"
 	done
 
-UnknownText_0x1ec565:
+_BTWinM14Text:
 	text "I want your"
 	line "#MON. Please?"
 	done
 
-UnknownText_0x1ec580:
+_BTGreetingM15Text:
 	text "I'll show you a"
 	line "real battle!"
 	done
 
-UnknownText_0x1ec59d:
+_BTLossM15Text:
 	text "This battle…"
 	line "I'm bored!"
 	done
 
-UnknownText_0x1ec5b5:
+_BTWinM15Text:
 	text "…I won't turn tail"
 	line "in battle!"
 	done
 
-UnknownText_0x1ec5d3:
+_BTGreetingM16Text:
 	text "Let's go!"
 	line "No holds barred!"
 	done
 
-UnknownText_0x1ec5ee:
+_BTLossM16Text:
 	text "Sorry! I wanted"
 	line "the win more!"
 	done
 
-UnknownText_0x1ec60d:
+_BTWinM16Text:
 	text "Wahah! Congrats!"
 	line "I can't do better!"
 	done
 
-UnknownText_0x1ec631:
+_BTGreetingM17Text:
 	text "My #MON skills"
 	line "are phenomenal!"
 	done
 
-UnknownText_0x1ec651:
+_BTLossM17Text:
 	text "You've got a long"
 	line "way to go."
 
@@ -266,17 +266,17 @@
 	line "Best of luck!"
 	done
 
-UnknownText_0x1ec68f:
+_BTWinM17Text:
 	text "Aww… Don't lose"
 	line "after beating me."
 	done
 
-UnknownText_0x1ec6b1:
+_BTGreetingM18Text:
 	text "Who are you?"
 	line "I don't know you…"
 	done
 
-UnknownText_0x1ec6d0:
+_BTLossM18Text:
 	text "I must've imagined"
 	line "that."
 
@@ -284,42 +284,42 @@
 	line "no one here…"
 	done
 
-UnknownText_0x1ec708:
+_BTWinM18Text:
 	text "Who am I?"
 	line "I don't know…"
 	done
 
-UnknownText_0x1ec720:
+_BTGreetingM19Text:
 	text "Um… Are you that…"
 	line "um…person?"
 	done
 
-UnknownText_0x1ec73e:
+_BTLossM19Text:
 	text "It doesn't appear"
 	line "to be you…"
 	done
 
-UnknownText_0x1ec75b:
+_BTWinM19Text:
 	text "Then you really"
 	line "are the legendary…"
 	done
 
-UnknownText_0x1ec77f:
+_BTGreetingM20Text:
 	text "I heard that"
 	line "you're hot!"
 	done
 
-UnknownText_0x1ec798:
+_BTLossM20Text:
 	text "Not bad. I was"
 	line "just a bit better."
 	done
 
-UnknownText_0x1ec7bb:
+_BTWinM20Text:
 	text "Eh, you're not"
 	line "that special."
 	done
 
-UnknownText_0x1ec7d8:
+_BTGreetingM21Text:
 	text "I'm scared about"
 	line "what might happen."
 
@@ -327,297 +327,297 @@
 	line "too strong."
 	done
 
-UnknownText_0x1ec818:
+_BTLossM21Text:
 	text "See? My #MON"
 	line "were too strong."
 	done
 
-UnknownText_0x1ec837:
+_BTWinM21Text:
 	text "Graa! My #MON"
 	line "were total wimps!"
 	done
 
-UnknownText_0x1ec858:
+_BTGreetingM22Text:
 	text "Hey, there!"
 	line "I'll take you on!"
 	done
 
-UnknownText_0x1ec876:
+_BTLossM22Text:
 	text "Don't you have a"
 	line "better strategy?"
 	done
 
-UnknownText_0x1ec898:
+_BTWinM22Text:
 	text "You've got decent"
 	line "style!"
 	done
 
-UnknownText_0x1ec8b1:
+_BTGreetingM23Text:
 	text "I wonder if I can"
 	line "battle properly…"
 	done
 
-UnknownText_0x1ec8d5:
+_BTLossM23Text:
 	text "Um… Sorry…"
 	line "I think I won."
 	done
 
-UnknownText_0x1ec8f0:
+_BTWinM23Text:
 	text "I guess I'm not"
 	line "good enough yet…"
 	done
 
-UnknownText_0x1ec911:
+_BTGreetingM24Text:
 	text "Wrrooar!"
 	line "I won't lose!"
 	done
 
-UnknownText_0x1ec928:
+_BTLossM24Text:
 	text "Wrrooar! I knew"
 	line "I was a genius!"
 	done
 
-UnknownText_0x1ec949:
+_BTWinM24Text:
 	text "Arrooh! I hate it"
 	line "when I lose!"
 	done
 
-UnknownText_0x1ec969:
+_BTGreetingM25Text:
 	text "Sorry, but I'm"
 	line "going to win."
 	done
 
-UnknownText_0x1ec986:
+_BTLossM25Text:
 	text "Yeah! My #MON"
 	line "rule!"
 	done
 
-UnknownText_0x1ec99b:
+_BTWinM25Text:
 	text "Oh, close! I lost"
 	line "by just a bit!"
 	done
 
-UnknownText_0x1ec9bd:
+_BTGreetingF1Text:
 	text "OK, I'm not"
 	line "fooling around!"
 	done
 
-UnknownText_0x1ec9d9:
+_BTLossF1Text:
 	text "Yay! Too easy!"
 	line "Like, no way!"
 	done
 
-UnknownText_0x1ec9f7:
+_BTWinF1Text:
 	text "No!"
 	line "Like, no way!"
 	done
 
-UnknownText_0x1eca0a:
+_BTGreetingF2Text:
 	text "Look! My #MON"
 	line "are really cute!"
 	done
 
-UnknownText_0x1eca2a:
+_BTLossF2Text:
 	text "Aren't they really"
 	line "adorable?"
 	done
 
-UnknownText_0x1eca47:
+_BTWinF2Text:
 	text "I'm sorry, it's"
 	line "all my fault!"
 	done
 
-UnknownText_0x1eca64:
+_BTGreetingF3Text:
 	text "Let's get our"
 	line "battle started!"
 	done
 
-UnknownText_0x1eca82:
+_BTLossF3Text:
 	text "Was I too strong"
 	line "for you?"
 	done
 
-UnknownText_0x1eca9d:
+_BTWinF3Text:
 	text "Ooh, you're in a"
 	line "different class."
 	done
 
-UnknownText_0x1ecabf:
+_BTGreetingF4Text:
 	text "Are we going to"
 	line "battle? Let's!"
 	done
 
-UnknownText_0x1ecade:
+_BTLossF4Text:
 	text "Oh, you're too"
 	line "weak. Shame."
 	done
 
-UnknownText_0x1ecafa:
+_BTWinF4Text:
 	text "Wow! Are you quite"
 	line "satisfied?"
 	done
 
-UnknownText_0x1ecb19:
+_BTGreetingF5Text:
 	text "Oh, you have some"
 	line "rare #MON."
 	done
 
-UnknownText_0x1ecb37:
+_BTLossF5Text:
 	text "May I have one of"
 	line "your #MON?"
 	done
 
-UnknownText_0x1ecb55:
+_BTWinF5Text:
 	text "…I want one of"
 	line "your #MON."
 	done
 
-UnknownText_0x1ecb70:
+_BTGreetingF6Text:
 	text "Want to hear about"
 	line "my cute #MON?"
 	done
 
-UnknownText_0x1ecb92:
+_BTLossF6Text:
 	text "What do you think"
 	line "about my cuties?"
 	done
 
-UnknownText_0x1ecbb6:
+_BTWinF6Text:
 	text "Oh! My! You're a"
 	line "dreadful trainer!"
 	done
 
-UnknownText_0x1ecbd9:
+_BTGreetingF7Text:
 	text "Battle? Sure!"
 	line "Right now!"
 	done
 
-UnknownText_0x1ecbf3:
+_BTLossF7Text:
 	text "Oh, I love it!"
 	line "Battling is wild!"
 	done
 
-UnknownText_0x1ecc15:
+_BTWinF7Text:
 	text "Oh, how rude! Wait"
 	line "till next time!"
 	done
 
-UnknownText_0x1ecc39:
+_BTGreetingF8Text:
 	text "Please let me win!"
 	line "Please?"
 	done
 
-UnknownText_0x1ecc55:
+_BTLossF8Text:
 	text "Wow, thank you!"
 	line "You're so nice!"
 	done
 
-UnknownText_0x1ecc75:
+_BTWinF8Text:
 	text "You're mean!"
 	line "I hate meanies!"
 	done
 
-UnknownText_0x1ecc92:
+_BTGreetingF9Text:
 	text "Well, can we"
 	line "begin?"
 	done
 
-UnknownText_0x1ecca7:
+_BTLossF9Text:
 	text "Well, I beg your"
 	line "pardon…"
 	done
 
-UnknownText_0x1eccc1:
+_BTWinF9Text:
 	text "Sob… That's not"
 	line "fair!"
 	done
 
-UnknownText_0x1eccd7:
+_BTGreetingF10Text:
 	text "I'm good!"
 	line "You can't win."
 	done
 
-UnknownText_0x1eccef:
+_BTLossF10Text:
 	text "Giving up? You're"
 	line "pretty weak!"
 	done
 
-UnknownText_0x1ecd0e:
+_BTWinF10Text:
 	text "I won't accept"
 	line "this… No way!"
 	done
 
-UnknownText_0x1ecd2b:
+_BTGreetingF11Text:
 	text "Are you treating"
 	line "this seriously?"
 	done
 
-UnknownText_0x1ecd4d:
+_BTLossF11Text:
 	text "Oh, sorry! Looks"
 	line "like I won!"
 	done
 
-UnknownText_0x1ecd6b:
+_BTWinF11Text:
 	text "Oh, how nasty!"
 	line "You were serious!"
 	done
 
-UnknownText_0x1ecd8d:
+_BTGreetingF12Text:
 	text "Ahahah! I'll take"
 	line "it easy on you!"
 	done
 
-UnknownText_0x1ecdaf:
+_BTLossF12Text:
 	text "Oops, sorry! But"
 	line "I'm happy too!"
 	done
 
-UnknownText_0x1ecdcf:
+_BTWinF12Text:
 	text "Oh, oh, I lost!"
 	line "Thanks. Bye!"
 	done
 
-UnknownText_0x1ecded:
+_BTGreetingF13Text:
 	text "BATTLE TOWER is a"
 	line "tough place!"
 	done
 
-UnknownText_0x1ece0d:
+_BTLossF13Text:
 	text "You might have a"
 	line "hard time."
 	done
 
-UnknownText_0x1ece2a:
+_BTWinF13Text:
 	text "Ooh, you might"
 	line "make a run here!"
 	done
 
-UnknownText_0x1ece4b:
+_BTGreetingF14Text:
 	text "I want to see your"
 	line "style in action!"
 	done
 
-UnknownText_0x1ece70:
+_BTLossF14Text:
 	text "Every battle is a"
 	line "drama!"
 	done
 
-UnknownText_0x1ece8a:
+_BTWinF14Text:
 	text "Oh… Want to trade"
 	line "something?"
 	done
 
-UnknownText_0x1ecea8:
+_BTGreetingF15Text:
 	text "OK, here goes!"
 	line "I have momentum!"
 	done
 
-UnknownText_0x1ecec9:
+_BTLossF15Text:
 	text "See, I rolled"
 	line "right over you!"
 	done
 
-UnknownText_0x1ecee8:
+_BTWinF15Text:
 	text "No! This did not"
 	line "happen!"
 	done
--- a/data/maps/map_data.asm
+++ b/data/maps/map_data.asm
@@ -6,6 +6,8 @@
 INCLUDE "data/maps/maps.asm"
 INCLUDE "data/maps/attributes.asm"
 
+
 INCLUDE "data/maps/blocks.asm"
+
 
 INCLUDE "data/maps/scripts.asm"
--- 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/maps/setup_scripts.asm
+++ b/data/maps/setup_scripts.asm
@@ -14,163 +14,163 @@
 	dw MapSetupScript_Fly
 
 MapSetupScript_Teleport:
-	db map_prolong_sprites
+	db map_reset_player_object_action
 MapSetupScript_Fly:
 	db map_fade_out_palettes
-	db map_keep_roam
+	db map_jump_roam_mons
 MapSetupScript_Warp:
-	db map_lcd_off
-	db map_sound_off
-	db map_load_spawn
+	db map_disable_lcd
+	db map_init_sound
+	db map_enter_spawn_point
 	db map_load_attributes
-	db map_change_callback
-	db map_spawn_coord
-	db map_player_coord
-	db map_anchor_screen
-	db map_load_blocks
+	db map_handle_new
+	db map_spawn_player
+	db map_refresh_player_coords
+	db map_get_screen_coords
+	db map_load_block_data
 	db map_buffer_screen
 	db map_load_graphics
-	db map_time_of_day
+	db map_load_time_of_day
 	db map_load_objects
-	db map_lcd_on
-	db map_palettes
-	db map_face_down
-	db map_sprites
-	db map_bike_music
-	db map_max_volume
+	db map_enable_lcd
+	db map_load_palettes
+	db map_spawn_in_facing_down
+	db map_refresh_sprites
+	db map_play_music_bike
+	db map_fade_in_music
 	db map_fade_in_palettes
-	db map_animations_on
-	db map_wildmons
+	db map_activate_anims
+	db map_load_wild_mon_data
 	db map_end
 
 MapSetupScript_BadWarp:
-	db map_load_spawn
+	db map_enter_spawn_point
 	db map_load_attributes
-	db map_change_callback
-	db map_spawn_coord
-	db map_player_coord
-	db map_anchor_screen
-	db map_load_blocks
+	db map_handle_new
+	db map_spawn_player
+	db map_refresh_player_coords
+	db map_get_screen_coords
+	db map_load_block_data
 	db map_buffer_screen
-	db map_lcd_off
+	db map_disable_lcd
 	db map_load_graphics
-	db map_time_of_day
+	db map_load_time_of_day
 	db map_fade_out_music
-	db map_lcd_on
+	db map_enable_lcd
 	db map_load_objects
-	db map_palettes
-	db map_face_down
-	db map_sprites
-	db map_fade_music
+	db map_load_palettes
+	db map_spawn_in_facing_down
+	db map_refresh_sprites
+	db map_fade_to_music
 	db map_fade_in_palettes
-	db map_animations_on
-	db map_wildmons
+	db map_activate_anims
+	db map_load_wild_mon_data
 	db map_end
 
 MapSetupScript_Connection:
-	db map_animations_off
-	db map_load_connection
+	db map_suspend_anims
+	db map_enter_connection
 	db map_load_attributes
-	db map_change_callback
-	db map_player_coord
-	db map_load_blocks
+	db map_handle_new
+	db map_refresh_player_coords
+	db map_load_block_data
 	db map_load_tileset
 	db map_save_screen
 	db map_load_objects
-	db map_fade_music
-	db map_palettes
-	db map_stop_script
-	db map_keep_palettes
-	db map_wildmons
-	db map_update_roam
-	db map_animations_on
+	db map_fade_to_music
+	db map_load_palettes
+	db map_init_name_sign
+	db map_apply_palettes
+	db map_load_wild_mon_data
+	db map_update_roam_mons
+	db map_activate_anims
 	db map_end
 
 MapSetupScript_Fall:
-	db map_prolong_sprites
+	db map_reset_player_object_action
 MapSetupScript_Door:
 	db map_fade_out_palettes
 MapSetupScript_Train:
-	db map_load_warp
+	db map_enter_warp
 	db map_load_attributes
-	db map_warp_face
-	db map_change_callback
-	db map_player_coord
-	db map_load_blocks
+	db map_get_warp_dest_coords
+	db map_handle_new
+	db map_refresh_player_coords
+	db map_load_block_data
 	db map_buffer_screen
-	db map_lcd_off
+	db map_disable_lcd
 	db map_load_graphics
-	db map_time_of_day
+	db map_load_time_of_day
 	db map_fade_out_music
-	db map_lcd_on
+	db map_enable_lcd
 	db map_load_objects
-	db map_palettes
-	db map_sprites
-	db map_fade_music
+	db map_load_palettes
+	db map_refresh_sprites
+	db map_fade_to_music
 	db map_fade_in_palettes
-	db map_animations_on
-	db map_wildmons
-	db map_update_roam
+	db map_activate_anims
+	db map_load_wild_mon_data
+	db map_update_roam_mons
 	db map_end
 
 MapSetupScript_ReloadMap:
-	db map_fade
+	db map_fade_music_and_palettes
 	db map_clear_bg_palettes
-	db map_lcd_off
-	db map_sound_off
-	db map_load_blocks
-	db map_connection_blocks
+	db map_disable_lcd
+	db map_init_sound
+	db map_load_block_data
+	db map_load_connection_block_data
 	db map_load_graphics
-	db map_time_of_day
-	db map_lcd_on
-	db map_palettes
-	db map_sprites
-	db map_music_force
+	db map_load_time_of_day
+	db map_enable_lcd
+	db map_load_palettes
+	db map_refresh_sprites
+	db map_force_music
 	db map_fade_in_palettes
-	db map_animations_on
-	db map_wildmons
+	db map_activate_anims
+	db map_load_wild_mon_data
 	db map_end
 
 MapSetupScript_LinkReturn:
-	db map_fade
-	db map_lcd_off
-	db map_sound_off
-	db map_change_callback
-	db map_load_blocks
+	db map_fade_music_and_palettes
+	db map_disable_lcd
+	db map_init_sound
+	db map_handle_new
+	db map_load_block_data
 	db map_buffer_screen
 	db map_load_graphics
-	db map_time_of_day
-	db map_lcd_on
-	db map_palettes
-	db map_sprites
-	db map_bike_music
+	db map_load_time_of_day
+	db map_enable_lcd
+	db map_load_palettes
+	db map_refresh_sprites
+	db map_play_music_bike
 	db map_fade_in_palettes
-	db map_animations_on
-	db map_wildmons
-	db map_text_scroll_off
+	db map_activate_anims
+	db map_load_wild_mon_data
+	db map_enable_text_acceleration
 	db map_end
 
 MapSetupScript_Continue:
-	db map_lcd_off
-	db map_sound_off
-	db map_load_attributes_2
-	db map_anchor_screen
-	db map_start_callback
-	db map_load_blocks
-	db map_connection_blocks
+	db map_disable_lcd
+	db map_init_sound
+	db map_load_attributes_no_objects
+	db map_get_screen_coords
+	db map_handle_continue
+	db map_load_block_data
+	db map_load_connection_block_data
 	db map_buffer_screen
 	db map_load_graphics
-	db map_time_of_day
-	db map_lcd_on
-	db map_palettes
-	db map_sprites
-	db map_bike_music
+	db map_load_time_of_day
+	db map_enable_lcd
+	db map_load_palettes
+	db map_refresh_sprites
+	db map_play_music_bike
 	db map_fade_in_palettes
-	db map_animations_on
-	db map_wildmons
+	db map_activate_anims
+	db map_load_wild_mon_data
 	db map_end
 
 MapSetupScript_Submenu:
-	db map_load_blocks
-	db map_connection_blocks
+	db map_load_block_data
+	db map_load_connection_block_data
 	db map_end
--- a/data/phone/text/alan_callee.asm
+++ b/data/phone/text/alan_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b659d:
+AlanAnswerPhoneText:
 	text "Yup, it's @"
 	text_ram wStringBuffer3
 	text "!"
@@ -7,7 +7,7 @@
 	line "Good morning!"
 	done
 
-UnknownText_0x1b65c7:
+AlanAnswerPhoneDayText:
 	text "Yup, it's @"
 	text_ram wStringBuffer3
 	text "!"
@@ -15,7 +15,7 @@
 	para "Is that <PLAY_G>?"
 	done
 
-UnknownText_0x1b65e3:
+AlanAnswerPhoneNiteText:
 	text "Yup, it's @"
 	text_ram wStringBuffer3
 	text "!"
@@ -24,7 +24,7 @@
 	line "Good evening!"
 	done
 
-UnknownText_0x1b660d:
+AlanGreetText:
 	text "Hello! It's me,"
 	line "@"
 	text_ram wStringBuffer3
@@ -31,7 +31,7 @@
 	text "!"
 	done
 
-UnknownText_0x1b6624:
+AlanGreetDayText:
 	text "Hello! It's me,"
 	line "@"
 	text_ram wStringBuffer3
@@ -38,7 +38,7 @@
 	text "!"
 	done
 
-UnknownText_0x1b663b:
+AlanGreetNiteText:
 	text "Hello! It's me,"
 	line "@"
 	text_ram wStringBuffer3
@@ -45,7 +45,7 @@
 	text "!"
 	done
 
-UnknownText_0x1b6652:
+AlanGenericText:
 	text "<PLAY_G>, are you"
 	line "raising your"
 	cont "#MON properly?"
--- a/data/phone/text/alan_caller.asm
+++ b/data/phone/text/alan_caller.asm
@@ -8,7 +8,7 @@
 	line "calculated!"
 	done
 
-UnknownText_0x64cf3:
+AlanDefeatedMonText:
 	text "By the way, we"
 	line "knocked out a wild"
 
@@ -21,7 +21,7 @@
 	line "advance worked!"
 	done
 
-UnknownText_0x64d4f:
+AlanLostAMonText:
 	text "By the way, a wild"
 	line "@"
 	text_ram wStringBuffer4
@@ -32,7 +32,7 @@
 	line "error on my part…"
 	done
 
-UnknownText_0x64da4:
+AlanBattleRematchText:
 	text "I've studied quite"
 	line "a bit since then,"
 
@@ -48,11 +48,11 @@
 	line "for a battle?"
 	done
 
-UnknownText_0x64e1f:
+AlanHangUpText:
 	text "See you later!"
 	done
 
-UnknownText_0x64e2f:
+AlanFoundItemText:
 	text "Hehehe, I picked"
 	line "up something nice!"
 
@@ -65,7 +65,7 @@
 	line "and pick it up?"
 	done
 
-UnknownText_0x64e90:
+AlanHaventPickedUpAnythingText:
 	text "I haven't picked"
 	line "up anything yet."
 
@@ -73,7 +73,7 @@
 	line "find something."
 	done
 
-UnknownText_0x64ed4:
+AlanReminderText:
 	text "If we don't battle"
 	line "soon, I'll forget"
 	cont "my strategy!"
@@ -84,7 +84,7 @@
 	text "!"
 	done
 
-UnknownText_0x64f1a:
+AlanComePickUpGiftText:
 	text "I have to do my"
 	line "homework, so can"
 
--- a/data/phone/text/anthony_callee.asm
+++ b/data/phone/text/anthony_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b5f7a:
+AnthonyAnswerPhoneText:
 	text "Yeah, @"
 	text_ram wStringBuffer3
 	text " the"
@@ -7,7 +7,7 @@
 	para "Ah, <PLAYER>!"
 	done
 
-UnknownText_0x1b5f9e:
+AnthonyAnswerPhoneDayText:
 	text "Yeah, @"
 	text_ram wStringBuffer3
 	text " the"
@@ -17,7 +17,7 @@
 	line "right?"
 	done
 
-UnknownText_0x1b5fc9:
+AnthonyAnswerPhoneNiteText:
 	text "Yeah, @"
 	text_ram wStringBuffer3
 	text " the"
@@ -27,7 +27,7 @@
 	line "it?"
 	done
 
-UnknownText_0x1b5ff6:
+AnthonyGreetText:
 	text "Yo, <PLAYER>?"
 
 	para "This is @"
@@ -36,7 +36,7 @@
 	line "the HIKER!"
 	done
 
-UnknownText_0x1b6017:
+AnthonyGreetDayText:
 	text "Hey, is this"
 	line "<PLAYER>?"
 
@@ -46,7 +46,7 @@
 	line "the HIKER!"
 	done
 
-UnknownText_0x1b6041:
+AnthonyGreetNiteText:
 	text "<PLAYER>, you still"
 	line "awake?"
 
@@ -56,7 +56,7 @@
 	line "the HIKER!"
 	done
 
-UnknownText_0x1b606f:
+AnthonyGenericText:
 	text "Are your #MON"
 	line "as feisty as ever?"
 
--- a/data/phone/text/anthony_caller.asm
+++ b/data/phone/text/anthony_caller.asm
@@ -1,4 +1,4 @@
-AnthonyAteBerriesText:
+AnthonyMonAteSomeBerriesText:
 	text "The other day, I"
 	line "was watching my"
 
@@ -20,7 +20,7 @@
 	line "was delicious!"
 	done
 
-UnknownText_0x176aef:
+AnthonyDefeatedMonText:
 	text "Lately, I've been"
 	line "running across"
 
@@ -33,7 +33,7 @@
 	line "taken care of."
 	done
 
-UnknownText_0x176b45:
+AnthonyLostAMonText:
 	text "Oh yeah, I was"
 	line "battling this"
 
@@ -53,7 +53,7 @@
 	line "the job at hand!"
 	done
 
-UnknownText_0x176bee:
+AnthonyBattleRematchText:
 	text "Come on--let's"
 	line "battle right now!"
 
@@ -66,12 +66,12 @@
 	line "you feel up to it!"
 	done
 
-UnknownText_0x176c47:
+AnthonyHangUpText:
 	text "All right then!"
 	line "Be good!"
 	done
 
-UnknownText_0x176c61:
+AnthonySwarmText:
 	text "<PLAYER>! It's"
 	line "mind-blowing!"
 
@@ -99,7 +99,7 @@
 	line "strong #MON."
 	done
 
-UnknownText_0x176d32:
+AnthonyWasntPayingAttentionText:
 	text "Rare #MON?"
 
 	para "Hey, sorry! I was"
@@ -109,7 +109,7 @@
 	line "paying attention."
 	done
 
-UnknownText_0x176d85:
+AnthonyReminderText:
 	text "Hello! You haven't"
 	line "forgotten about"
 
@@ -122,7 +122,7 @@
 	line "I'm waiting!"
 	done
 
-UnknownText_0x176dd1:
+AnthonyHurryText:
 	text "Hello? What? Where"
 	line "is DUNSPARCE?"
 
--- a/data/phone/text/arnie_callee.asm
+++ b/data/phone/text/arnie_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b6454:
+ArnieAnswerPhoneText:
 	text "Yeah, hello."
 	line "This is @"
 	text_ram wStringBuffer3
@@ -7,7 +7,7 @@
 	para "…Huh, <PLAY_G>? Yo!"
 	done
 
-UnknownText_0x1b647e:
+ArnieAnswerPhoneDayText:
 	text "Yeah, hello, you"
 	line "got @"
 	text_ram wStringBuffer3
@@ -16,7 +16,7 @@
 	para "…Huh, <PLAY_G>? Yo!"
 	done
 
-UnknownText_0x1b64a8:
+ArnieAnswerPhoneNiteText:
 	text "Yeah, hello, you"
 	line "got @"
 	text_ram wStringBuffer3
@@ -25,7 +25,7 @@
 	para "…Huh, <PLAY_G>? Yo!"
 	done
 
-UnknownText_0x1b64d2:
+ArnieGreetText:
 	text "Yeah, hello?"
 	line "@"
 	text_ram wStringBuffer3
@@ -35,7 +35,7 @@
 	line "to, <PLAY_G>?"
 	done
 
-UnknownText_0x1b6506:
+ArnieGreetDayText:
 	text "Yeah, hello?"
 	line "@"
 	text_ram wStringBuffer3
@@ -45,7 +45,7 @@
 	line "<PLAY_G>?"
 	done
 
-UnknownText_0x1b6539:
+ArnieGreetNiteText:
 	text "Yeah, hello?"
 	line "@"
 	text_ram wStringBuffer3
@@ -55,7 +55,7 @@
 	line "<PLAY_G>?"
 	done
 
-UnknownText_0x1b656c:
+ArnieGenericText:
 	text "I bet your #MON"
 	line "are a lot stronger"
 	cont "than before."
--- a/data/phone/text/arnie_caller.asm
+++ b/data/phone/text/arnie_caller.asm
@@ -1,4 +1,4 @@
-ArnieLovesTheCuteText:
+ArnieMonIsSoCuteText:
 	text "I'm always with my"
 	line "@"
 	text_ram wStringBuffer4
@@ -8,7 +8,7 @@
 	line "I just love it!"
 	done
 
-UnknownText_0x64a13:
+ArnieDefeatedMonText:
 	text "Changing the topic"
 	line "here, I saw this"
 
@@ -21,7 +21,7 @@
 	line "beat, actually."
 	done
 
-UnknownText_0x64a71:
+ArnieLostAMonText:
 	text "I was wondering,"
 	line "do you happen to"
 	cont "have @"
@@ -35,7 +35,7 @@
 	line "wonder."
 	done
 
-UnknownText_0x64ada:
+ArnieBattleRematchText:
 	text "Hey, let's battle"
 	line "our #MON!"
 
@@ -51,12 +51,12 @@
 	text "!"
 	done
 
-UnknownText_0x64b48:
+ArnieHangUpText:
 	text "Let's talk again,"
 	line "huh?"
 	done
 
-UnknownText_0x64b5f:
+ArnieSwarmText:
 	text "Boy, am I glad I"
 	line "caught you!"
 
@@ -74,7 +74,7 @@
 	line "this!"
 	done
 
-UnknownText_0x64bc6:
+ArnieHaventSeenRareMonText:
 	text "I haven't had any"
 	line "luck seeing rare"
 	cont "#MON lately…"
@@ -83,7 +83,7 @@
 	line "out there!"
 	done
 
-UnknownText_0x64c13:
+ArnieReminderText:
 	text "Hey, where are you"
 	line "now?"
 
@@ -94,7 +94,7 @@
 	text "!"
 	done
 
-UnknownText_0x64c5a:
+ArnieHurryText:
 	text "Hello? Are you"
 	line "coming or what?"
 
--- a/data/phone/text/beth_callee.asm
+++ b/data/phone/text/beth_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b53f7:
+BethAnswerPhoneText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -10,7 +10,7 @@
 	para ""
 	done
 
-UnknownText_0x1b5424:
+BethAnswerPhoneDayText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -19,7 +19,7 @@
 	para "Oh. Hi, <PLAY_G>."
 	done
 
-UnknownText_0x1b5446:
+BethAnswerPhoneNiteText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -29,7 +29,7 @@
 	line "Good evening."
 	done
 
-UnknownText_0x1b5472:
+BethGreetText:
 	text "Good morning,"
 	line "<PLAY_G>!"
 
@@ -39,7 +39,7 @@
 	line "Were you sleeping?"
 	done
 
-UnknownText_0x1b54a6:
+BethGreetDayText:
 	text "<PLAY_G>, hi!"
 	line "This is @"
 	text_ram wStringBuffer3
@@ -49,7 +49,7 @@
 	line "time?"
 	done
 
-UnknownText_0x1b54d4:
+BethGreetNiteText:
 	text "Hi, <PLAY_G>."
 	line "Good evening."
 
@@ -61,7 +61,7 @@
 	line "awake."
 	done
 
-UnknownText_0x1b5510:
+BethGenericText:
 	text "Are you the kind"
 	line "of person who goes"
 
--- a/data/phone/text/beth_caller.asm
+++ b/data/phone/text/beth_caller.asm
@@ -1,4 +1,4 @@
-UnknownText_0x174c7f:
+BethExhilaratingRideText:
 	text "Do you remember my"
 	line "sweet @"
 	text_ram wStringBuffer4
@@ -16,7 +16,7 @@
 	line "really gets going."
 	done
 
-UnknownText_0x174cf6:
+BethDefeatedMonText:
 	text "Oh, have you ever"
 	line "seen a @"
 	text_ram wStringBuffer4
@@ -36,7 +36,7 @@
 	line "course."
 	done
 
-UnknownText_0x174d86:
+BethLostAMonText:
 	text "Oh, I just saw a"
 	line "wild @"
 	text_ram wStringBuffer4
@@ -59,7 +59,7 @@
 	line "from my mistake."
 	done
 
-UnknownText_0x174e4e:
+BethBattleRematchText:
 	text "Do you want to"
 	line "battle? I'm going"
 	cont "to win this time!"
@@ -73,16 +73,16 @@
 	line "Look for me, OK?"
 	done
 
-UnknownText_0x174eb7:
+BethHangUpText:
 	text "OK, bye-bye!"
 	done
 
-UnknownText_0x174ec5:
+BethLetsBattleAgainSometimeText:
 	text "Let's battle again"
 	line "sometime!"
 	done
 
-BethForgetDealText:
+BethReminderText:
 	text "Um… <PLAY_G>?"
 	line "What's wrong?"
 
--- a/data/phone/text/beverly_callee.asm
+++ b/data/phone/text/beverly_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b4f21:
+BeverlyAnswerPhoneText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -8,7 +8,7 @@
 	line "<PLAYER>."
 	done
 
-UnknownText_0x1b4f4d:
+BeverlyAnswerPhoneDayText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -18,7 +18,7 @@
 	line "<PLAYER>."
 	done
 
-UnknownText_0x1b4f75:
+BeverlyAnswerPhoneNiteText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -28,7 +28,7 @@
 	line "<PLAYER>."
 	done
 
-UnknownText_0x1b4fa1:
+BeverlyGreetText:
 	text "Hello, <PLAYER>."
 	line "Good morning."
 
@@ -38,7 +38,7 @@
 	line "Were you asleep?"
 	done
 
-UnknownText_0x1b4fda:
+BeverlyGreetDayText:
 	text "Hi, <PLAYER>."
 	line "This is @"
 	text_ram wStringBuffer3
@@ -47,7 +47,7 @@
 	para "How are you doing?"
 	done
 
-UnknownText_0x1b5004:
+BeverlyGreetNiteText:
 	text "Hi, <PLAYER>."
 	line "This is @"
 	text_ram wStringBuffer3
@@ -56,7 +56,7 @@
 	para "Were you awake?"
 	done
 
-UnknownText_0x1b502b:
+BeverlyGenericText:
 	text "Keeping your"
 	line "#MON happy?"
 
--- a/data/phone/text/beverly_caller.asm
+++ b/data/phone/text/beverly_caller.asm
@@ -1,4 +1,4 @@
-UnknownText_0x174688:
+BeverlyMadeMonEvenCuterText:
 	text "I fancied up my"
 	line "@"
 	text_ram wStringBuffer4
@@ -8,7 +8,7 @@
 	line "than before!"
 	done
 
-UnknownText_0x1746c3:
+BeverlyDefeatedMonText:
 	text "I happened to come"
 	line "across a wild"
 	cont "SNUBBULL recently."
@@ -20,7 +20,7 @@
 	line "wild one."
 	done
 
-UnknownText_0x174734:
+BeverlyLostAMonText:
 	text "I happened to see"
 	line "a wild MARILL the"
 
@@ -36,12 +36,12 @@
 	line "quite miffed."
 	done
 
-UnknownText_0x1747ac:
+BeverlyHangUpText:
 	text "You can expect a"
 	line "call from me."
 	done
 
-BeverlyFoundNuggetText:
+BeverlyFoundItemText:
 	text "My husband got"
 	line "some NUGGETS."
 
@@ -60,7 +60,7 @@
 	line "when you can."
 	done
 
-UnknownText_0x17485b:
+BeverlyLetsChatAboutMonAgainText:
 	text "Are your #MON"
 	line "in prime form?"
 
@@ -68,7 +68,7 @@
 	line "#MON again."
 	done
 
-UnknownText_0x174895:
+BeverlyComePickUpText:
 	text "Pardon?"
 	line "Oh, the NUGGET?"
 
--- a/data/phone/text/bike_shop.asm
+++ b/data/phone/text/bike_shop.asm
@@ -1,4 +1,4 @@
-UnknownText_0x174000:
+BikeShopPhoneCallerText:
 	text "Hi, <PLAY_G>!"
 	line "Our BICYCLE sales"
 
--- a/data/phone/text/brent_callee.asm
+++ b/data/phone/text/brent_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b6c96:
+BrentAnswerPhoneText:
 	text "Yes? @"
 	text_ram wStringBuffer3
 	text " here…"
@@ -7,7 +7,7 @@
 	line "can I do for you?"
 	done
 
-UnknownText_0x1b6cc6:
+BrentAnswerPhoneDayText:
 	text "Yes? @"
 	text_ram wStringBuffer3
 	text " here…"
@@ -16,7 +16,7 @@
 	line "can I do for you?"
 	done
 
-UnknownText_0x1b6cf6:
+BrentAnswerPhoneNiteText:
 	text "Yes? @"
 	text_ram wStringBuffer3
 	text " here…"
@@ -25,7 +25,7 @@
 	line "can I do for you?"
 	done
 
-UnknownText_0x1b6d26:
+BrentGreetText:
 	text "Hiya, <PLAYER>. How"
 	line "are you doing?"
 
@@ -35,7 +35,7 @@
 	text "."
 	done
 
-UnknownText_0x1b6d57:
+BrentGreetDayText:
 	text "Hiya, <PLAYER>, how"
 	line "are you doing?"
 
@@ -45,7 +45,7 @@
 	text "."
 	done
 
-UnknownText_0x1b6d88:
+BrentGreetNiteText:
 	text "Hiya, <PLAYER>, how"
 	line "are you doing?"
 
@@ -55,7 +55,7 @@
 	text "."
 	done
 
-UnknownText_0x1b6db9:
+BrentGenericText:
 	text "Oh yeah, I saw you"
 	line "coming out of a"
 
--- a/data/phone/text/brent_caller.asm
+++ b/data/phone/text/brent_caller.asm
@@ -12,7 +12,7 @@
 	line "it a secret!"
 	done
 
-UnknownText_0x6613c:
+BrentDefeatedMonText:
 	text "Oh yeah, I took"
 	line "down this wild"
 
@@ -25,7 +25,7 @@
 	line "catching."
 	done
 
-UnknownText_0x6618c:
+BrentLostAMonText:
 	text "Oh yeah, I saw a"
 	line "rare #MON about"
 	cont "an hour ago."
@@ -40,7 +40,7 @@
 	line "at my mistakes?"
 	done
 
-UnknownText_0x66214:
+BrentBattleRematchText:
 	text "You've got time"
 	line "like usual, right?"
 
@@ -59,11 +59,11 @@
 	text "."
 	done
 
-UnknownText_0x662a9:
+BrentHangUpText:
 	text "So that's it then."
 	done
 
-UnknownText_0x662bc:
+BrentFatherGossipText:
 	text "Did you know…?"
 	line "BILL's father is"
 
@@ -71,7 +71,7 @@
 	line "great #MANIAC."
 	done
 
-UnknownText_0x662fc:
+BrentGrandpaGossipText:
 	text "Did you know…?"
 	line "Apparently BILL's"
 
@@ -79,13 +79,13 @@
 	line "#MANIAC."
 	done
 
-UnknownText_0x66335:
+BrentGoldenrodGossipText:
 	text "Did you know…?"
 	line "BILL's originally"
 	cont "from GOLDENROD."
 	done
 
-UnknownText_0x66366:
+BrentRoute25GossipText:
 	text "Did you know…?"
 	line "BILL evidently"
 
@@ -93,7 +93,7 @@
 	line "in KANTO."
 	done
 
-UnknownText_0x663a1:
+BrentAbraGossipText:
 	text "Did you know…?"
 	line "ABRA was the first"
 
@@ -101,7 +101,7 @@
 	line "ostensibly caught."
 	done
 
-UnknownText_0x663e6:
+BrentSisterGossipText:
 	text "Did you know…?"
 	line "BILL's younger"
 
@@ -109,7 +109,7 @@
 	line "can't wink."
 	done
 
-UnknownText_0x66421:
+BrentMilkGossipText:
 	text "Did you know…?"
 	line "BILL supposedly"
 
@@ -117,7 +117,7 @@
 	line "can't drink it."
 	done
 
-UnknownText_0x6645f:
+BrentBattlingGossipText:
 	text "Did you know…?"
 	line "Evidently, BILL"
 
@@ -125,7 +125,7 @@
 	line "battling."
 	done
 
-UnknownText_0x6649b:
+BrentFlowerShopGossipText:
 	text "Did you know…?"
 	line "BILL appears to"
 
@@ -133,7 +133,7 @@
 	line "the FLOWER SHOP."
 	done
 
-UnknownText_0x664dd:
+BrentKimonoGirlGossipText:
 	text "Did you know…?"
 	line "BILL's mother is"
 
@@ -141,7 +141,7 @@
 	line "a KIMONO GIRL."
 	done
 
-UnknownText_0x6651e:
+BrentSorryImTooBusyText:
 	text "You wanted to hear"
 	line "about BILL?"
 
@@ -152,7 +152,7 @@
 	line "have time."
 	done
 
-UnknownText_0x66579:
+BrentReminderText:
 	text "You want to see my"
 	line "rare #MON."
 
--- a/data/phone/text/buena.asm
+++ b/data/phone/text/buena.asm
@@ -1,4 +1,4 @@
-UnknownText_0xa0c28:
+BuenaPhoneMorningAnswerText:
 	text "Hi, this is BUENA…"
 
 	para "Oh! Good morning,"
@@ -8,7 +8,7 @@
 	line "in the morning…"
 	done
 
-UnknownText_0xa0c72:
+BuenaPhoneDayAnswerText:
 	text "Hi, this is BUENA…"
 	line "Oh! Hi, <PLAY_G>!"
 
@@ -16,7 +16,7 @@
 	line "BUENA's show?"
 	done
 
-UnknownText_0xa0caf:
+BuenaPhoneMidnightAnswerText:
 	text "This is BUENA."
 	line "I can't come to"
 
@@ -33,7 +33,7 @@
 	line "after midnight!"
 	done
 
-UnknownText_0xa0d42:
+BuenaPhoneNiteAnswerText:
 	text "Hi, this is BUENA…"
 	line "Oh! Hi, <PLAY_G>!"
 
@@ -44,7 +44,7 @@
 	line "I'm exhausted!"
 	done
 
-UnknownText_0xa0d96:
+BuenaPhoneMorningText:
 	text "<PLAY_G>!"
 	line "Hi, it's BUENA!"
 
@@ -52,7 +52,7 @@
 	line "I decided to call!"
 	done
 
-UnknownText_0xa0dcf:
+BuenaPhoneDayText:
 	text "<PLAY_G>!"
 	line "Hi, it's BUENA!"
 
@@ -60,7 +60,7 @@
 	line "to chat with!"
 	done
 
-UnknownText_0xa0e01:
+BuenaPhoneMidnightText:
 	text "<PLAY_G>!"
 	line "Hi, it's BUENA!"
 
@@ -68,7 +68,7 @@
 	line "break."
 	done
 
-UnknownText_0xa0e29:
+BuenaPhoneNiteText:
 	text "<PLAY_G>!"
 	line "Hi, it's BUENA!"
 
@@ -76,7 +76,7 @@
 	line "so I called you."
 	done
 
-UnknownText_0xa0e5e:
+BuenaPhoneRocketText:
 	text "Oh. Hi, <PLAY_G>!"
 
 	para "You are how?"
@@ -94,7 +94,7 @@
 	line "better be careful!"
 	done
 
-UnknownText_0xa0efb:
+BuenaPhoneWentOutWithBenText:
 	text "The other day, I"
 	line "went out to eat"
 
@@ -117,7 +117,7 @@
 	line "you later!"
 	done
 
-UnknownText_0xa0fcf:
+BuenaPhoneReceptionistText:
 	text "You know the"
 	line "receptionist at"
 	cont "the RADIO TOWER?"
@@ -140,7 +140,7 @@
 	para "Catch you later!"
 	done
 
-UnknownText_0xa109d:
+BuenaPhoneLuckyNumberShowText:
 	text "Tell me, <PLAY_G>."
 	line "Have you ever won"
 
@@ -157,7 +157,7 @@
 	para "Let's chat again!"
 	done
 
-UnknownText_0xa1143:
+BuenaPhoneStressedFromWorkText:
 	text "You know, last"
 	line "night…"
 
@@ -187,7 +187,7 @@
 	line "wrong number!"
 	done
 
-UnknownText_0xa1244:
+BuenaPhoneProfessorOakText:
 	text "Yesterday, PROF."
 	line "OAK was in the"
 
@@ -209,7 +209,7 @@
 	para "Catch you later!"
 	done
 
-UnknownText_0xa1318:
+BuenaPhoneGotAColdText:
 	text "…Cough, cough!"
 
 	para "Uhm sorry uh got"
@@ -229,7 +229,7 @@
 	cont "been BUENA!"
 	done
 
-UnknownText_0xa13d8:
+BuenaPhoneRadioCardQuestionsText:
 	text "Hey, <PLAY_G>."
 	line "You won that RADIO"
 
@@ -249,7 +249,7 @@
 	line "again!"
 	done
 
-UnknownText_0xa1488:
+BuenaPhonePikachuFanClubText:
 	text "I'm elated that"
 	line "more people are"
 
@@ -283,7 +283,7 @@
 	para "Let's chat again!"
 	done
 
-UnknownText_0xa15de:
+BuenaPhoneRadioTowerDirectorText:
 	text "Guess what?"
 	line "The RADIO TOWER's"
 
@@ -315,7 +315,7 @@
 	line "my show!"
 	done
 
-UnknownText_0xa1717:
+BuenaPhoneWhenDoYouRelaxText:
 	text "<PLAY_G>, tell me."
 
 	para "When do you relax"
@@ -347,7 +347,7 @@
 	line "happened! Later!"
 	done
 
-UnknownText_0xa183d:
+BuenaPhoneStarterPokemonText:
 	text "<PLAY_G>, what was"
 	line "the first #MON"
 	cont "you ever caught?"
@@ -387,7 +387,7 @@
 	para "Bye-bye!"
 	done
 
-UnknownText_0xa19b1:
+BuenaPhoneCompanyVacationText:
 	text "Guess what? All of"
 	line "us from the RADIO"
 
@@ -415,7 +415,7 @@
 	para "Bye-bye!"
 	done
 
-UnknownText_0xa1ac0:
+BuenaPhoneBenAndFernText:
 	text "Did you know…?"
 
 	para "BEN and FERN talk"
@@ -445,7 +445,7 @@
 	para "Let's chat again!"
 	done
 
-UnknownText_0xa1bed:
+BuenaPhoneGoingShoppingText:
 	text "I'm going shopping"
 	line "with MARY and LILY"
 	cont "soon."
@@ -462,7 +462,7 @@
 	para "Catch you later!"
 	done
 
-UnknownText_0xa1c88:
+BuenaPhoneFavoriteSlotMachineAnswerText:
 	text "I'm thinking of"
 	line "going to the GAME"
 
@@ -489,7 +489,7 @@
 	para "Catch you later!"
 	done
 
-UnknownText_0xa1d5f:
+BuenaPhonePokegearAnswerText:
 	text "Hey, <PLAY_G>. You"
 	line "use your #GEAR"
 
@@ -512,7 +512,7 @@
 	line "calling! Later!"
 	done
 
-UnknownText_0xa1e2f:
+BuenaPhoneCoopedUpInRadioTowerAnswerText:
 	text "Is it sunny"
 	line "outside today?"
 
--- a/data/phone/text/chad_callee.asm
+++ b/data/phone/text/chad_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b67e2:
+ChadAnswerPhoneText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -8,7 +8,7 @@
 	line "Good morning!"
 	done
 
-UnknownText_0x1b680e:
+ChadAnswerPhoneDayText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -18,7 +18,7 @@
 	line "day!"
 	done
 
-UnknownText_0x1b6836:
+ChadAnswerPhoneNiteText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -28,7 +28,7 @@
 	line "evening!"
 	done
 
-UnknownText_0x1b6862:
+ChadGreetText:
 	text "Hi, <PLAY_G>, good"
 	line "morning!"
 
@@ -38,7 +38,7 @@
 	line "How are you?"
 	done
 
-UnknownText_0x1b6890:
+ChadGreetDayText:
 	text "Hi, <PLAY_G>, good"
 	line "day!"
 
@@ -48,7 +48,7 @@
 	line "How are you?"
 	done
 
-UnknownText_0x1b68ba:
+ChadGreetNiteText:
 	text "Hi, <PLAY_G>, good"
 	line "evening!"
 
@@ -58,7 +58,7 @@
 	line "How are you?"
 	done
 
-UnknownText_0x1b68e8:
+ChadGenericText:
 	text "How are your"
 	line "#MON doing?"
 
--- a/data/phone/text/chad_caller.asm
+++ b/data/phone/text/chad_caller.asm
@@ -18,7 +18,7 @@
 	line "PROF.OAK soon."
 	done
 
-UnknownText_0x65318:
+ChadDefeatedMonText:
 	text "Oh yes, I managed"
 	line "to knock out a"
 
@@ -34,7 +34,7 @@
 	line "was inevitable."
 	done
 
-UnknownText_0x65399:
+ChadLostAMonText:
 	text "Oh yes, I came"
 	line "close to catching"
 
@@ -52,7 +52,7 @@
 	text ". Rats…"
 	done
 
-UnknownText_0x65419:
+ChadBattleRematchText:
 	text "Want to battle?"
 	line "I have to battle"
 
@@ -65,7 +65,7 @@
 	text "!"
 	done
 
-UnknownText_0x65471:
+ChadHangUpText:
 	text "See you later!"
 	done
 
@@ -106,7 +106,7 @@
 	line "I envy him!"
 	done
 
-ChadDreamGossipText:
+ChadProfOaksDreamGossipText:
 	text "PROF.OAK's dream"
 	line "is to compile a"
 
@@ -148,7 +148,7 @@
 	line "great man."
 	done
 
-ChadRadioShowGossipText:
+ChadPokemonTalkGossipText:
 	text "PROF.OAK'S #MON"
 	line "TALK is a popular"
 	cont "radio show, right?"
@@ -167,7 +167,7 @@
 	line "thank for it!"
 	done
 
-ChadBattlingGossipText:
+ChadProfOakTrainerGossipText:
 	text "PROF.OAK used to"
 	line "be a trainer a"
 	cont "long time ago."
@@ -203,7 +203,7 @@
 	line "PROF.OAK."
 	done
 
-ChadTravelGossipText:
+ChadProfOakTravelingGossipText:
 	text "Did you know?"
 	line "PROF.OAK traveled"
 
@@ -223,7 +223,7 @@
 	line "things too…"
 	done
 
-UnknownText_0x65a23:
+ChadGoingToStudyHardText:
 	text "I'm going to study"
 	line "hard so PROF.OAK"
 
@@ -231,7 +231,7 @@
 	line "assistant!"
 	done
 
-UnknownText_0x65a63:
+ChadReminderText:
 	text "Do you remember"
 	line "about our battle?"
 
--- a/data/phone/text/dana_callee.asm
+++ b/data/phone/text/dana_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b66c8:
+DanaAnswerPhoneText:
 	text "Hi, @"
 	text_ram wStringBuffer3
 	text " on the"
@@ -7,7 +7,7 @@
 	para "Hey! It's <PLAY_G>!"
 	done
 
-UnknownText_0x1b66ec:
+DanaAnswerPhoneDayText:
 	text "Hi, @"
 	text_ram wStringBuffer3
 	text " on the"
@@ -17,7 +17,7 @@
 	line "It's <PLAY_G>!"
 	done
 
-UnknownText_0x1b6713:
+DanaAnswerPhoneNiteText:
 	text "Hi, @"
 	text_ram wStringBuffer3
 	text " on the"
@@ -27,7 +27,7 @@
 	line "What's up?"
 	done
 
-UnknownText_0x1b6738:
+DanaGreetText:
 	text "Uh, <PLAY_G>?"
 
 	para "It's me!"
@@ -36,7 +36,7 @@
 	text "!"
 	done
 
-UnknownText_0x1b6757:
+DanaGreetDayText:
 	text "Uh, <PLAY_G>?"
 
 	para "It's me!"
@@ -45,7 +45,7 @@
 	text "!"
 	done
 
-UnknownText_0x1b6776:
+DanaGreetNiteText:
 	text "Uh, <PLAY_G>?"
 
 	para "It's me!"
@@ -54,7 +54,7 @@
 	text "!"
 	done
 
-UnknownText_0x1b6795:
+DanaGenericText:
 	text "My @"
 	text_ram wStringBuffer4
 	text " is"
--- a/data/phone/text/dana_caller.asm
+++ b/data/phone/text/dana_caller.asm
@@ -1,4 +1,4 @@
-UnknownText_0x64f74:
+DanaTakingPhotosText:
 	text "My @"
 	text_ram wStringBuffer4
 	text " is"
@@ -8,7 +8,7 @@
 	line "photos galore!"
 	done
 
-UnknownText_0x64fb2:
+DanaDefeatedMonText:
 	text "It took only an"
 	line "instant to KO a"
 	cont "wild @"
@@ -22,7 +22,7 @@
 	line "time."
 	done
 
-UnknownText_0x6501c:
+DanaLostAMonText:
 	text "You know what?"
 	line "A wild @"
 	text_ram wStringBuffer4
@@ -37,7 +37,7 @@
 	line "and I would've…"
 	done
 
-UnknownText_0x65091:
+DanaBattleRematchText:
 	text "Right now, I'm on"
 	line "@"
 	text_ram wStringBuffer5
@@ -50,11 +50,11 @@
 	line "for you!"
 	done
 
-UnknownText_0x650e2:
+DanaHangUpText:
 	text "See you!"
 	done
 
-UnknownText_0x650ec:
+DanaFoundItemText:
 	text "You know what?"
 	line "I got a good gift!"
 
@@ -70,7 +70,7 @@
 	text "!"
 	done
 
-UnknownText_0x65161:
+DanaCanYouWaitABitLongerText:
 	text "Oh! You wanted a"
 	line "gift, right?"
 
@@ -81,7 +81,7 @@
 	line "longer?"
 	done
 
-UnknownText_0x651bf:
+DanaReminderText:
 	text "Hi! You haven't"
 	line "forgotten about"
 
@@ -94,7 +94,7 @@
 	text "!"
 	done
 
-UnknownText_0x6520f:
+DanaComePickUpText:
 	text "Hello?"
 
 	para "If you don't come"
--- a/data/phone/text/derek_callee.asm
+++ b/data/phone/text/derek_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b69a8:
+DerekAnswerPhoneText:
 	text "Hi, <PLAY_G>?"
 
 	para "Good morning pika."
@@ -5,7 +5,7 @@
 	line "What's up pika?"
 	done
 
-UnknownText_0x1b69d2:
+DerekAnswerPhoneDayText:
 	text "Hi, <PLAY_G>?"
 
 	para "Good day pika,"
@@ -12,7 +12,7 @@
 	line "what's up pika?"
 	done
 
-UnknownText_0x1b69f8:
+DerekAnswerPhoneNiteText:
 	text "Hi, <PLAY_G>?"
 
 	para "Good evening pika,"
@@ -19,7 +19,7 @@
 	line "what's up pika?"
 	done
 
-UnknownText_0x1b6a22:
+DerekGreetText:
 	text "<PLAY_G> pika, good"
 	line "morning!"
 
@@ -29,7 +29,7 @@
 	line "pika are you?"
 	done
 
-UnknownText_0x1b6a56:
+DerekGreetDayText:
 	text "<PLAY_G> pika, good"
 	line "pika day!"
 
@@ -39,7 +39,7 @@
 	line "pika are you?"
 	done
 
-UnknownText_0x1b6a8b:
+DerekGreetNiteText:
 	text "<PLAY_G> pika, good"
 	line "evening!"
 
@@ -49,7 +49,7 @@
 	line "you pika awake?"
 	done
 
-UnknownText_0x1b6ac2:
+DerekGenericText:
 	text "You have to hear"
 	line "this! My lovable"
 
--- a/data/phone/text/derek_caller.asm
+++ b/data/phone/text/derek_caller.asm
@@ -1,4 +1,4 @@
-DerekCheekPincherText:
+DerekCheekPinchingText:
 	text "Listen to this."
 	line "My @"
 	text_ram wStringBuffer4
@@ -12,7 +12,7 @@
 	para "I must be special."
 	done
 
-UnknownText_0x65b29:
+DerekDefeatedMonText:
 	text "Oh, and recently,"
 	line "my PIKACHU beat a"
 	cont "wild @"
@@ -34,7 +34,7 @@
 	line "greatest!"
 	done
 
-UnknownText_0x65bc8:
+DerekLostAMonText:
 	text "Oh, and I saw a"
 	line "wild @"
 	text_ram wStringBuffer4
@@ -51,7 +51,7 @@
 	line "good otherwise."
 	done
 
-UnknownText_0x65c4e:
+DerekHangUpText:
 	text "Well, let's talk"
 	line "again!"
 	done
@@ -71,7 +71,7 @@
 	line "off its cuteness."
 	done
 
-UnknownText_0x65cf9:
+DerekFoundItemText:
 	text "I'd like you to"
 	line "have a NUGGET."
 
@@ -83,7 +83,7 @@
 	cont "it too!"
 	done
 
-UnknownText_0x65d5c:
+DerekLetsGetTogetherText:
 	text "How is your"
 	line "PIKACHU doing?"
 
@@ -92,7 +92,7 @@
 	cont "PIKACHU!"
 	done
 
-UnknownText_0x65da6:
+DerekComePickUpText:
 	text "What's wrong?"
 
 	para "I'm waiting on"
--- a/data/phone/text/elm.asm
+++ b/data/phone/text/elm.asm
@@ -1,4 +1,4 @@
-ElmPhoneStartText:
+ElmPhoneHealYourMonText:
 	text "Hello, <PLAY_G>?"
 
 	para "Try not to overdo"
@@ -28,7 +28,7 @@
 	line "do that?"
 	done
 
-ElmPhoneCheckingEggText:
+ElmPhoneCheckingTheEggText:
 	text "Hello, <PLAY_G>?"
 
 	para "We're checking the"
@@ -48,7 +48,7 @@
 	line "in VIOLET CITY."
 	done
 
-ElmPhoneEggUnhatchedText:
+ElmPhoneHowIsTheEggText:
 	text "Hello, <PLAY_G>?"
 
 	para "How's the EGG? Has"
@@ -70,7 +70,7 @@
 	line "me now!"
 	done
 
-ElmPhoneDiscovery1Text:
+ElmPhoneDiscoveredHatchTimeText:
 	text "Hello, <PLAY_G>?"
 
 	para "I just made a new"
@@ -83,7 +83,7 @@
 	line "the #MON."
 	done
 
-ElmPhoneDiscovery2Text:
+ElmPhoneInvestigatingEggMovesText:
 	text "Hello, <PLAY_G>?"
 
 	para "It's still a"
@@ -96,7 +96,7 @@
 	line "ing that now."
 	done
 
-ElmPhonePokerusText:
+ElmPhoneDiscoveredPokerusText:
 	text "Hello, <PLAY_G>?"
 
 	para "I discovered an"
@@ -158,7 +158,7 @@
 	cont "him?"
 	done
 
-ElmPhoneRocketText:
+ElmPhoneRadioTowerRocketTakeoverText:
 	text "<PLAY_G>, how are"
 	line "things going?"
 
@@ -197,7 +197,8 @@
 	para "See you later!"
 	done
 
-ElmPhoneUnusedText:
+; unused
+ElmPhoneGotAholdOfSomethingNeatText:
 	text "Hello, <PLAY_G>?"
 	line "How's it going?"
 
--- a/data/phone/text/erin_callee.asm
+++ b/data/phone/text/erin_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b751a:
+ErinAnswerPhoneText:
 	text "Yes, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -8,7 +8,7 @@
 	line "Good morning!"
 	done
 
-UnknownText_0x1b7548:
+ErinAnswerPhoneDayText:
 	text "Yes, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -18,7 +18,7 @@
 	line "Yahoo!"
 	done
 
-UnknownText_0x1b756f:
+ErinAnswerPhoneNiteText:
 	text "Yes, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -27,7 +27,7 @@
 	para "Oh, hi, <PLAY_G>!"
 	done
 
-UnknownText_0x1b758f:
+ErinGreetText:
 	text "<PLAY_G>!"
 
 	para "It's @"
@@ -36,7 +36,7 @@
 	line "Good morning!"
 	done
 
-UnknownText_0x1b75ac:
+ErinGreetDayText:
 	text "<PLAY_G>!"
 
 	para "It's @"
@@ -45,7 +45,7 @@
 	line "Working hard?"
 	done
 
-UnknownText_0x1b75c9:
+ErinGreetNiteText:
 	text "<PLAY_G>!"
 
 	para "It's @"
@@ -54,7 +54,7 @@
 	line "Were you up?"
 	done
 
-UnknownText_0x1b75e5:
+ErinGenericText:
 	text "Are you raising"
 	line "your #MON?"
 
--- a/data/phone/text/erin_caller.asm
+++ b/data/phone/text/erin_caller.asm
@@ -1,4 +1,4 @@
-UnknownText_0x6717a:
+ErinMonIsMuchStrongerText:
 	text_ram wStringBuffer3
 	text "'s @"
 	text_ram wStringBuffer4
@@ -7,7 +7,7 @@
 	cont "than before!"
 	done
 
-UnknownText_0x671a4:
+ErinDefeatedMonText:
 	text "And, and…"
 	line "I just battled and"
 	cont "beat @"
@@ -18,7 +18,7 @@
 	line "#MON properly!"
 	done
 
-UnknownText_0x671eb:
+ErinLostAMonText:
 	text "But, but…"
 
 	para "A wild @"
@@ -30,7 +30,7 @@
 	line "not fair!"
 	done
 
-UnknownText_0x6722e:
+ErinBattleRematchText:
 	text "I'm ERIN. Want to"
 	line "battle me again?"
 
@@ -43,7 +43,7 @@
 	text "!"
 	done
 
-UnknownText_0x67281:
+ErinHangUpText:
 	text "See you. Bye-bye!"
 	done
 
--- a/data/phone/text/gaven_callee.asm
+++ b/data/phone/text/gaven_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b5270:
+GavenAnswerPhoneText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -8,7 +8,7 @@
 	line "Good morning!"
 	done
 
-UnknownText_0x1b52a5:
+GavenAnswerPhoneDayText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -17,7 +17,7 @@
 	para "Hi, <PLAY_G>!"
 	done
 
-UnknownText_0x1b52cc:
+GavenAnswerPhoneNiteText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -27,7 +27,7 @@
 	line "Good evening!"
 	done
 
-UnknownText_0x1b5301:
+GavenGreetText:
 	text "<PLAY_G>, good"
 	line "morning!"
 
@@ -37,7 +37,7 @@
 	line "How are you doing?"
 	done
 
-UnknownText_0x1b5335:
+GavenGreetDayText:
 	text "Hi, <PLAY_G>!"
 
 	para "It's me, @"
@@ -46,7 +46,7 @@
 	line "How are you doing?"
 	done
 
-UnknownText_0x1b535f:
+GavenGreetNiteText:
 	text "<PLAY_G>, good"
 	line "evening!"
 
@@ -56,7 +56,7 @@
 	line "How are you doing?"
 	done
 
-UnknownText_0x1b5393:
+GavenGenericText:
 	text "How are your"
 	line "#MON doing?"
 
--- a/data/phone/text/gaven_caller.asm
+++ b/data/phone/text/gaven_caller.asm
@@ -1,4 +1,4 @@
-GavenGreaterText:
+GavenMonGreaterThanImaginedText:
 	text "My @"
 	text_ram wStringBuffer4
 	text_start
@@ -12,7 +12,7 @@
 	cont "better than mine."
 	done
 
-UnknownText_0x174a80:
+GavenDefeatedMonText:
 	text "Oh, and I managed"
 	line "to barely defeat"
 
@@ -35,7 +35,7 @@
 	cont "used to seeing."
 	done
 
-UnknownText_0x174b2d:
+GavenLostAMonText:
 	text "And a while back,"
 	line "I tried to catch a"
 	cont "wild @"
@@ -52,7 +52,7 @@
 	line "to be careful too."
 	done
 
-UnknownText_0x174bc5:
+GavenBattleRematchText:
 	text "Let's battle!"
 
 	para "I'll be waiting on"
@@ -64,17 +64,17 @@
 	line "when you're close."
 	done
 
-UnknownText_0x174c0e:
+GavenHangUpText:
 	text "OK, I'll talk to"
 	line "you soon!"
 	done
 
-UnknownText_0x174c29:
+GavenHangUpNotThursdayText:
 	text "I obsess over how"
 	line "to beat you."
 	done
 
-UnknownText_0x174c49:
+GavenReminderText:
 	text "<PLAY_G>, why"
 	line "aren't you here?"
 
--- a/data/phone/text/gina_callee.asm
+++ b/data/phone/text/gina_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b626a:
+GinaAnswerPhoneText:
 	text "Hello? This is"
 	line "@"
 	text_ram wStringBuffer3
@@ -8,7 +8,7 @@
 	line "Good morning!"
 	done
 
-UnknownText_0x1b6296:
+GinaAnswerPhoneDayText:
 	text "Hello? This is"
 	line "@"
 	text_ram wStringBuffer3
@@ -18,7 +18,7 @@
 	line "Hi, how are you?"
 	done
 
-UnknownText_0x1b62c5:
+GinaAnswerPhoneNiteText:
 	text "Hello? This is"
 	line "@"
 	text_ram wStringBuffer3
@@ -28,7 +28,7 @@
 	line "Good evening!"
 	done
 
-UnknownText_0x1b62f1:
+GinaGreetText:
 	text "<PLAY_G>?"
 
 	para "It's @"
@@ -37,7 +37,7 @@
 	line "Good morning!"
 	done
 
-UnknownText_0x1b630e:
+GinaGreetDayText:
 	text "<PLAY_G>?"
 
 	para "It's @"
@@ -46,7 +46,7 @@
 	line "this a bad time?"
 	done
 
-UnknownText_0x1b6331:
+GinaGreetNiteText:
 	text "<PLAY_G>?"
 
 	para "It's @"
@@ -55,7 +55,7 @@
 	line "Got time to chat?"
 	done
 
-UnknownText_0x1b6352:
+GinaGenericText:
 	text "Are your #MON"
 	line "still tough?"
 
--- a/data/phone/text/gina_caller.asm
+++ b/data/phone/text/gina_caller.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1771fd:
+GinaGettingInSyncWithMonText:
 	text "My @"
 	text_ram wStringBuffer4
 	text " and"
@@ -8,7 +8,7 @@
 	line "other."
 	done
 
-UnknownText_0x177237:
+GinaDefeatedMonText:
 	text "We battled a wild"
 	line "@"
 	text_ram wStringBuffer4
@@ -21,7 +21,7 @@
 	line "the groove!"
 	done
 
-UnknownText_0x177297:
+GinaLostAMonText:
 	text "But, you know?"
 
 	para "I still haven't"
@@ -33,7 +33,7 @@
 	line "frustrating…"
 	done
 
-UnknownText_0x1772e2:
+GinaBattleRematchText:
 	text "Would you be my"
 	line "practice partner"
 	cont "again sometime?"
@@ -48,12 +48,12 @@
 	cont "me next time?"
 	done
 
-UnknownText_0x177361:
+GinaHangUpText:
 	text "Bye! Let's chat"
 	line "again!"
 	done
 
-UnknownText_0x177378:
+GinaRocketTakeoverRumorText:
 	text "Have you heard"
 	line "about TEAM ROCKET?"
 
@@ -65,7 +65,7 @@
 	line "inside safe?"
 	done
 
-UnknownText_0x1773e7:
+GinaFoundItemText:
 	text "I picked up some-"
 	line "thing nice today."
 
@@ -81,7 +81,7 @@
 	line "where I am."
 	done
 
-UnknownText_0x177465:
+GinaHaventFoundAnythingYetText:
 	text "Sorry, I haven't"
 	line "found anything"
 
@@ -92,7 +92,7 @@
 	line "can have it!"
 	done
 
-UnknownText_0x1774c1:
+GinaReminderText:
 	text "Oh, <PLAY_G>!"
 	line "How soon can I"
 
@@ -105,7 +105,7 @@
 	text "!"
 	done
 
-UnknownText_0x17750e:
+GinaComePickUpText:
 	text "I'm getting really"
 	line "impatient, waiting"
 
--- a/data/phone/text/huey_callee.asm
+++ b/data/phone/text/huey_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b5073:
+HueyAnswerPhoneText:
 	text "Yeah, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -8,7 +8,7 @@
 	line "<PLAYER>?"
 	done
 
-UnknownText_0x1b509b:
+HueyAnswerPhoneDayText:
 	text "Yeah, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -18,7 +18,7 @@
 	line "<PLAYER>?"
 	done
 
-UnknownText_0x1b50c2:
+HueyAnswerPhoneNiteText:
 	text "Yeah, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -28,7 +28,7 @@
 	line "<PLAYER>?"
 	done
 
-UnknownText_0x1b50e9:
+HueyGreetText:
 	text "Yo, <PLAYER>!"
 	line "You awake?"
 
@@ -38,7 +38,7 @@
 	line "How's it going?"
 	done
 
-UnknownText_0x1b511a:
+HueyGreetDayText:
 	text "Yo, <PLAYER>! You"
 	line "free right now?"
 
@@ -48,7 +48,7 @@
 	line "How's it going?"
 	done
 
-UnknownText_0x1b5154:
+HueyGreetNiteText:
 	text "Yo, <PLAYER>!"
 	line "Were you asleep?"
 
--- a/data/phone/text/huey_caller.asm
+++ b/data/phone/text/huey_caller.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1748ea:
+HueyBattleRematchText:
 	text "Hey, I challenge"
 	line "you to a battle!"
 
@@ -14,11 +14,11 @@
 	line "over here pronto!"
 	done
 
-UnknownText_0x174962:
+HueyHangUpText:
 	text "See ya!"
 	done
 
-UnknownText_0x17496b:
+HueyWeHaveToBattleAgainSometimeText:
 	text "We have to battle"
 	line "again sometime."
 
@@ -29,7 +29,7 @@
 	line "till I win."
 	done
 
-UnknownText_0x1749c7:
+HueyReminderText:
 	text "Hey, you'd better"
 	line "not have forgotten"
 	cont "about our battle!"
--- a/data/phone/text/irwin_callee.asm
+++ b/data/phone/text/irwin_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b638c:
+IrwinAnswerPhoneText:
 	text "Hello? @"
 	text_ram wStringBuffer3
 	text_start
@@ -7,7 +7,7 @@
 	para "Hey, <PLAY_G>!"
 	done
 
-UnknownText_0x1b63a8:
+IrwinAnswerPhoneDayText:
 	text "Hello? @"
 	text_ram wStringBuffer3
 	text_start
@@ -16,7 +16,7 @@
 	para "Wow, <PLAY_G>!"
 	done
 
-UnknownText_0x1b63c4:
+IrwinAnswerPhoneNiteText:
 	text "Hello? @"
 	text_ram wStringBuffer3
 	text_start
@@ -25,7 +25,7 @@
 	para "Yippee, <PLAY_G>!"
 	done
 
-UnknownText_0x1b63e3:
+IrwinGreetText:
 	text "Uh, hello."
 	line "<PLAY_G>?"
 
@@ -35,7 +35,7 @@
 	text "!"
 	done
 
-UnknownText_0x1b6407:
+IrwinGreetDayText:
 	text "Uh, hello,"
 	line "<PLAY_G>?"
 
@@ -45,7 +45,7 @@
 	text "!"
 	done
 
-UnknownText_0x1b642c:
+IrwinGreetNiteText:
 	text "Uh, hello,"
 	line "<PLAY_G>?"
 
--- a/data/phone/text/irwin_caller.asm
+++ b/data/phone/text/irwin_caller.asm
@@ -1,4 +1,4 @@
-UnknownText_0x64000:
+IrwinHangUpText:
 	text "I hate having to"
 	line "hang up on you!"
 
@@ -5,7 +5,7 @@
 	para "Call you later!"
 	done
 
-UnknownText_0x64032:
+IrwinRocketTakeoverRumorText:
 	text "<PLAY_G>, have you"
 	line "heard?"
 
@@ -19,7 +19,7 @@
 	line "ROCKET?"
 	done
 
-UnknownText_0x64099:
+IrwinPlainBadgeGossipText:
 	text "<PLAY_G>, I heard!"
 
 	para "You defeated that"
@@ -29,7 +29,7 @@
 	line "to be your friend!"
 	done
 
-UnknownText_0x640e6:
+IrwinJasmineReturnedGossipText:
 	text "Hey, I heard about"
 	line "you!"
 
@@ -46,7 +46,7 @@
 	line "bed with a cold!"
 	done
 
-UnknownText_0x6416d:
+IrwinRocketHideoutGossipText:
 	text "I heard, I heard,"
 	line "I heard!"
 
@@ -60,7 +60,7 @@
 	line "TEAM ROCKET?"
 	done
 
-UnknownText_0x641e8:
+IrwinRadioTowerGossipText:
 	text "I heard, I heard,"
 	line "I heard!"
 
@@ -71,7 +71,7 @@
 	line "rock so hard!"
 	done
 
-UnknownText_0x64247:
+IrwinRisingBadgeGossipText:
 	text "I saw, I saw!"
 
 	para "I saw you go into"
@@ -84,7 +84,7 @@
 	line "You can't fail!"
 	done
 
-UnknownText_0x642bb:
+IrwinEliteFourGossipText:
 	text "Yesterday, I went"
 	line "out to NEW BARK"
 
@@ -113,7 +113,7 @@
 	line "mom, believe me!"
 	done
 
-UnknownText_0x643d4:
+IrwinVermilionCityGossipText:
 	text "I saw, I saw,"
 	line "I saw!"
 
@@ -127,7 +127,7 @@
 	line "your backdrop!"
 	done
 
-UnknownText_0x64448:
+IrwinTrainPassGossipText:
 	text "I heard, I heard!"
 
 	para "You got a MAGNET"
@@ -155,7 +155,7 @@
 	line "by FLY?"
 	done
 
-UnknownText_0x6455b:
+IrwinSnorlaxGossipText:
 	text "I saw, I saw!"
 
 	para "You waking up"
@@ -174,7 +174,7 @@
 	line "magic!"
 	done
 
-UnknownText_0x645ff:
+IrwinMtSilverGossipText:
 	text "I hear rumors"
 	line "about you all over"
 	cont "the place."
@@ -200,7 +200,7 @@
 	line "good friends!"
 	done
 
-UnknownText_0x646df:
+IrwinFogBadgeGossipText:
 	text "I saw, I heard!"
 
 	para "You beat MORTY of"
@@ -225,7 +225,7 @@
 	line "took off for home…"
 	done
 
-UnknownText_0x647d8:
+IrwinMarshBadgeGossipText:
 	text "<PLAY_G>, I heard!"
 
 	para "You're kicking up"
@@ -240,7 +240,7 @@
 	para "You so rock!"
 	done
 
-UnknownText_0x64846:
+IrwinYourEscapadesRockText:
 	text "Hearing about your"
 	line "escapades rocks my"
 
@@ -248,7 +248,7 @@
 	line "It sure does!"
 	done
 
-UnknownText_0x64881:
+IrwinGoodMatchText:
 	text "I'm so glad you"
 	line "called!"
 
@@ -259,7 +259,7 @@
 	line "a good match!"
 	done
 
-UnknownText_0x648dc:
+IrwinSoMuchToChatAboutText:
 	text "How are you?"
 
 	para "What are you"
--- a/data/phone/text/jack_callee.asm
+++ b/data/phone/text/jack_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b4dc5:
+JackAnswerPhoneText:
 	text "Hello. This is"
 	line "@"
 	text_ram wStringBuffer3
@@ -8,7 +8,7 @@
 	line "<PLAY_G>!"
 	done
 
-UnknownText_0x1b4ded:
+JackAnswerPhoneDayText:
 	text "Hello. This is"
 	line "@"
 	text_ram wStringBuffer3
@@ -18,7 +18,7 @@
 	line "<PLAY_G>?"
 	done
 
-UnknownText_0x1b4e16:
+JackAnswerPhoneNiteText:
 	text "Hello. This is"
 	line "@"
 	text_ram wStringBuffer3
@@ -28,7 +28,7 @@
 	line "<PLAY_G>!"
 	done
 
-UnknownText_0x1b4e3e:
+JackGreetText:
 	text "<PLAY_G>, good"
 	line "morning!"
 
@@ -38,7 +38,7 @@
 	line "How are you doing?"
 	done
 
-UnknownText_0x1b4e72:
+JackGreetDayText:
 	text "<PLAY_G>, howdy!"
 
 	para "It's me, @"
@@ -47,7 +47,7 @@
 	line "Isn't it nice out?"
 	done
 
-UnknownText_0x1b4e9e:
+JackGreetNiteText:
 	text "<PLAY_G>, good"
 	line "evening!"
 
@@ -57,7 +57,7 @@
 	line "Got a minute?"
 	done
 
-UnknownText_0x1b4ecd:
+JackGenericText:
 	text "How are your"
 	line "#MON doing?"
 
--- a/data/phone/text/jack_caller.asm
+++ b/data/phone/text/jack_caller.asm
@@ -1,4 +1,4 @@
-JackIntelligenceText:
+JackIntelligenceKeepsRisingText:
 	text "My @"
 	text_ram wStringBuffer4
 	text "'s"
@@ -21,7 +21,7 @@
 	cont "starting to help."
 	done
 
-UnknownText_0x174165:
+JackLostAMonText:
 	text "Oh, and listen."
 	line "I missed catching"
 
@@ -37,7 +37,7 @@
 	line "caught it…"
 	done
 
-UnknownText_0x1741e1:
+JackBattleRematchText:
 	text "Do you want to"
 	line "battle? I'll show"
 
@@ -53,7 +53,7 @@
 	line "you're nearby."
 	done
 
-UnknownText_0x174251:
+JackHangUpText:
 	text "See you later!"
 	done
 
@@ -165,7 +165,7 @@
 	line "than usual."
 	done
 
-UnknownText_0x1745c2:
+JackHeardSomeGreatTipsText:
 	text "My friend heard"
 	line "some great tips."
 
@@ -177,7 +177,7 @@
 	cont "away and tell you."
 	done
 
-UnknownText_0x174638:
+JackReminderText:
 	text "Hey, <PLAY_G>!"
 
 	para "Do you remember"
--- a/data/phone/text/joey_callee.asm
+++ b/data/phone/text/joey_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b589a:
+JoeyAnswerPhoneText:
 	text "Hi, @"
 	text_ram wStringBuffer3
 	text " here!"
@@ -7,7 +7,7 @@
 	line "doing well?"
 	done
 
-UnknownText_0x1b58c2:
+JoeyAnswerPhoneDayText:
 	text "Hi, @"
 	text_ram wStringBuffer3
 	text " here!"
@@ -16,7 +16,7 @@
 	line "doing well?"
 	done
 
-UnknownText_0x1b58ea:
+JoeyAnswerPhoneNiteText:
 	text "Hi, @"
 	text_ram wStringBuffer3
 	text " here!"
@@ -25,7 +25,7 @@
 	line "doing well?"
 	done
 
-UnknownText_0x1b5912:
+JoeyGreetText:
 	text "Yo, <PLAYER>!"
 	line "How're you doing?"
 
@@ -35,7 +35,7 @@
 	line "got a minute?"
 	done
 
-UnknownText_0x1b5948:
+JoeyGreetDayText:
 	text "Yo, <PLAYER>! How's"
 	line "it going?"
 
@@ -45,7 +45,7 @@
 	line "Got a minute?"
 	done
 
-UnknownText_0x1b597c:
+JoeyGreetNiteText:
 	text "Yo, <PLAYER>!"
 	line "How're you doing?"
 
@@ -55,7 +55,7 @@
 	line "got a minute?"
 	done
 
-UnknownText_0x1b59b2:
+JoeyGenericText:
 	text "How are your"
 	line "#MON doing?"
 
--- a/data/phone/text/joey_caller.asm
+++ b/data/phone/text/joey_caller.asm
@@ -1,4 +1,4 @@
-JoeySharperText:
+JoeyMonLookingSharperText:
 	text "My @"
 	text_ram wStringBuffer4
 	text "'s"
@@ -12,7 +12,7 @@
 	line "party!"
 	done
 
-UnknownText_0x175591:
+JoeyDefeatedMonText:
 	text "Oh yeah, I took"
 	line "down a @"
 	text_ram wStringBuffer4
@@ -27,7 +27,7 @@
 	line "us being so tough."
 	done
 
-UnknownText_0x175611:
+JoeyLostAMonText:
 	text "Oh yeah, I saw a"
 	line "wild @"
 	text_ram wStringBuffer4
@@ -43,7 +43,7 @@
 	line "extreme end."
 	done
 
-UnknownText_0x175693:
+JoeyBattleRematchText:
 	text "Let's get together"
 	line "and battle!"
 
@@ -59,11 +59,11 @@
 	line "when you come."
 	done
 
-UnknownText_0x17570a:
+JoeyHangUpText:
 	text "All right. Later!"
 	done
 
-UnknownText_0x17571d:
+JoeyDevisingStrategiesText:
 	text "I'm checking out"
 	line "@"
 	text_ram wStringBuffer4
@@ -77,7 +77,7 @@
 	cont "let's battle!"
 	done
 
-UnknownText_0x175786:
+JoeyReminderText:
 	text "What's keeping"
 	line "you, <PLAYER>!"
 
--- a/data/phone/text/jose_callee.asm
+++ b/data/phone/text/jose_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b55ae:
+JoseAnswerPhoneText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -8,7 +8,7 @@
 	line "Good morning!"
 	done
 
-UnknownText_0x1b55da:
+JoseAnswerPhoneDayText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -17,7 +17,7 @@
 	para "Oh, <PLAY_G>? Hi!"
 	done
 
-UnknownText_0x1b55fc:
+JoseAnswerPhoneNiteText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -27,7 +27,7 @@
 	line "Good evening!"
 	done
 
-UnknownText_0x1b5628:
+JoseGreetText:
 	text "Oh, <PLAY_G>?"
 
 	para "Tweet! Yeah, it's"
@@ -36,7 +36,7 @@
 	text "."
 	done
 
-UnknownText_0x1b564c:
+JoseGreetDayText:
 	text "Oh, <PLAY_G>?"
 
 	para "Tweet! Yeah, it's"
@@ -45,7 +45,7 @@
 	text "."
 	done
 
-UnknownText_0x1b5670:
+JoseGreetNiteText:
 	text "Oh, <PLAY_G>?"
 
 	para "Tweet! Yeah, it's"
@@ -54,7 +54,7 @@
 	text "."
 	done
 
-UnknownText_0x1b5694:
+JoseGenericText:
 	text "Are your #MON"
 	line "still cooking?"
 
--- a/data/phone/text/jose_caller.asm
+++ b/data/phone/text/jose_caller.asm
@@ -1,4 +1,4 @@
-JoseAromaText:
+JoseMonsStickHasADeliciousAromaText:
 	text "Hey listen, my"
 	line "@"
 	text_ram wStringBuffer4
@@ -11,7 +11,7 @@
 	line "appetite going!"
 	done
 
-UnknownText_0x174f90:
+JoseDefeatedMonText:
 	text "A while ago, my"
 	line "FARFETCH'D KO'd"
 	cont "this @"
@@ -25,7 +25,7 @@
 	line "Amazing stuff!"
 	done
 
-UnknownText_0x174ffd:
+JoseLostAMonText:
 	text "I ran into a wild"
 	line "@"
 	text_ram wStringBuffer4
@@ -41,7 +41,7 @@
 	line "bit disappointing."
 	done
 
-UnknownText_0x17507d:
+JoseBattleRematchText:
 	text "Want to battle"
 	line "again?"
 
@@ -60,11 +60,11 @@
 	line "for me, OK?"
 	done
 
-UnknownText_0x175106:
+JoseHangUpText:
 	text "Be seeing you!"
 	done
 
-JoseFoundSomethingText:
+JoseFoundItemText:
 	text "My FARFETCH'D had"
 	line "something pretty"
 	cont "in its beak."
@@ -81,7 +81,7 @@
 	line "have it."
 	done
 
-UnknownText_0x17519b:
+JoseHaventGottenItemYetText:
 	text "I haven't gotten"
 	line "what I promised"
 	cont "you yet."
@@ -93,7 +93,7 @@
 	line "a little longer?"
 	done
 
-UnknownText_0x17520a:
+JoseReminderText:
 	text "<PLAY_G>, could you"
 	line "hurry over?"
 
@@ -114,7 +114,7 @@
 	line "soon as you can!"
 	done
 
-UnknownText_0x17529c:
+JoseComePickUpText:
 	text "What's wrong?"
 
 	para "Don't you want"
--- a/data/phone/text/kenji_callee.asm
+++ b/data/phone/text/kenji_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b730b:
+KenjiAnswerPhoneText:
 	text_ram wStringBuffer3
 	text " here…"
 
@@ -6,7 +6,7 @@
 	line "morning, hey?"
 	done
 
-UnknownText_0x1b7331:
+KenjiAnswerPhoneDayText:
 	text_ram wStringBuffer3
 	text " here…"
 
@@ -14,7 +14,7 @@
 	line "weather, hey?"
 	done
 
-UnknownText_0x1b7357:
+KenjiAnswerPhoneNiteText:
 	text_ram wStringBuffer3
 	text " here…"
 
@@ -22,7 +22,7 @@
 	line "moonlight, hey?"
 	done
 
-UnknownText_0x1b737f:
+KenjiGreetText:
 	text "Hey, <PLAYER>!"
 	line "This is @"
 	text_ram wStringBuffer3
@@ -29,7 +29,7 @@
 	text "!"
 	done
 
-UnknownText_0x1b7397:
+KenjiGreetDayText:
 	text "Hey, <PLAYER>!"
 	line "This is @"
 	text_ram wStringBuffer3
@@ -36,7 +36,7 @@
 	text "!"
 	done
 
-UnknownText_0x1b73af:
+KenjiGreetNiteText:
 	text "Hey, <PLAYER>!"
 	line "This is @"
 	text_ram wStringBuffer3
--- a/data/phone/text/kenji_caller.asm
+++ b/data/phone/text/kenji_caller.asm
@@ -1,9 +1,9 @@
-UnknownText_0x66dab:
+KenjiHangUpText:
 	text "Anyway, we'll chat"
 	line "again!"
 	done
 
-UnknownText_0x66dc5:
+KenjiRemainDedicatedText:
 	text "Are you still on"
 	line "your journey?"
 
@@ -13,7 +13,7 @@
 	para "Oooooaaarrrgh!"
 	done
 
-UnknownText_0x66e17:
+KenjiCallMeBackAnotherTimeText:
 	text "I'm in training"
 	line "now. I apologize,"
 
@@ -23,7 +23,7 @@
 	para "Oooooaaarrrgh!"
 	done
 
-UnknownText_0x66e67:
+KenjiIllHaveTimeToChatTomorrowText:
 	text "I apologize, but I"
 	line "don't have time to"
 
@@ -36,7 +36,7 @@
 	para "Yiiihah!"
 	done
 
-UnknownText_0x66ed3:
+KenjiHangUpMorningText:
 	text "I plan to take a"
 	line "lunch break, so"
 
@@ -44,7 +44,7 @@
 	line "Ayiiiyah!"
 	done
 
-KenjiBreakText:
+KenjiTakingABreakText:
 	text "I'm taking a break"
 	line "on ROUTE 45!"
 
@@ -52,7 +52,7 @@
 	line "you are free?"
 	done
 
-UnknownText_0x66f52:
+KenjiHangUpNightText:
 	text "I rested up over"
 	line "my lunch break."
 
--- a/data/phone/text/liz_callee.asm
+++ b/data/phone/text/liz_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b5d9f:
+LizAnswerPhoneText:
 	text "Hello, @"
 	text_ram wStringBuffer3
 	text_start
@@ -8,7 +8,7 @@
 	line "Good morning."
 	done
 
-UnknownText_0x1b5dcc:
+LizAnswerPhoneDayText:
 	text "Hello, @"
 	text_ram wStringBuffer3
 	text_start
@@ -18,7 +18,7 @@
 	line "How are you?"
 	done
 
-UnknownText_0x1b5df8:
+LizAnswerPhoneNiteText:
 	text "Hello, @"
 	text_ram wStringBuffer3
 	text_start
@@ -28,7 +28,7 @@
 	line "Good evening."
 	done
 
-UnknownText_0x1b5e25:
+LizGreetText:
 	text "Good morning,"
 	line "<PLAY_G>."
 
@@ -38,7 +38,7 @@
 	line "Were you sleeping?"
 	done
 
-UnknownText_0x1b5e59:
+LizGreetDayText:
 	text "Hi, <PLAY_G>."
 	line "This is @"
 	text_ram wStringBuffer3
@@ -48,7 +48,7 @@
 	line "going for you?"
 	done
 
-UnknownText_0x1b5e8e:
+LizGreetNiteText:
 	text "Good evening,"
 	line "<PLAY_G>."
 
@@ -58,7 +58,7 @@
 	line "Are you awake?"
 	done
 
-UnknownText_0x1b5ebe:
+LizGenericText:
 	text "I had some time,"
 	line "so I called you."
 
--- a/data/phone/text/liz_caller.asm
+++ b/data/phone/text/liz_caller.asm
@@ -1,4 +1,4 @@
-UnknownText_0x175fda:
+LizMonAlwaysWantsToNuzzleText:
 	text "Oh, you have to"
 	line "hear this."
 
@@ -11,7 +11,7 @@
 	line "nuzzle me!"
 	done
 
-UnknownText_0x17602d:
+LizDefeatedMonText:
 	text "And, and! Um…"
 
 	para "We beat a wild"
@@ -26,7 +26,7 @@
 	line "it, though."
 	done
 
-UnknownText_0x176095:
+LizLostAMonText:
 	text "And, and! Uh…"
 
 	para "We just saw a"
@@ -42,7 +42,7 @@
 	line "really angry!"
 	done
 
-UnknownText_0x17610a:
+LizBattleRematchText:
 	text "Hi! Do you have"
 	line "some free time?"
 
@@ -61,7 +61,7 @@
 	line "you get here!"
 	done
 
-LizHiTaniaText:
+LizWrongNumberText:
 	text "Hi, TANIA. How are"
 	line "you? This is LIZ."
 
@@ -72,12 +72,12 @@
 	line "Oops! Sorry!"
 	done
 
-UnknownText_0x17620a:
+LizHangUpText:
 	text "OK, I'll call you"
 	line "later!"
 	done
 
-UnknownText_0x176223:
+LizRuinsOfAlphGossipText:
 	text "Listen, listen!"
 
 	para "I was listening to"
@@ -93,7 +93,7 @@
 	line "was. So strange!"
 	done
 
-UnknownText_0x1762c3:
+LizFalknerGossipText:
 	text "Listen, listen!"
 
 	para "Don't you think"
@@ -115,7 +115,7 @@
 	line "meet him!"
 	done
 
-UnknownText_0x17638a:
+LizEarlGossipText:
 	text "Listen, listen!"
 
 	para "Do you know EARL,"
@@ -131,7 +131,7 @@
 	line "was wildly funny!"
 	done
 
-UnknownText_0x176424:
+LizSurfPikachuGossipText:
 	text "Listen, listen!"
 
 	para "I collect #MON"
@@ -151,7 +151,7 @@
 	cont "you had one."
 	done
 
-UnknownText_0x1764eb:
+LizMooMooMilkGossipText:
 	text "Listen, listen!"
 
 	para "Do you know about"
@@ -170,7 +170,7 @@
 	line "it's delicious!"
 	done
 
-UnknownText_0x176599:
+LizSalonGossipText:
 	text "Listen, listen!"
 
 	para "There's a #MON"
@@ -198,7 +198,7 @@
 	line "whom I should use…"
 	done
 
-UnknownText_0x1766ac:
+LizWhitneyGossipText:
 	text "Listen, listen!"
 
 	para "GOLDENROD GYM's"
@@ -215,7 +215,7 @@
 	line "totally talented."
 	done
 
-UnknownText_0x17674f:
+LizBugCatchingContestGossipText:
 	text "Listen, listen!"
 
 	para "Have you ever"
@@ -236,7 +236,7 @@
 	cont "that great?"
 	done
 
-UnknownText_0x176816:
+LizBeautifulMonGossipText:
 	text "Listen, listen!"
 
 	para "I saw a beautiful"
@@ -251,7 +251,7 @@
 	text " too."
 	done
 
-UnknownText_0x17686d:
+LizForgotGossipText:
 	text "Listen, listen!"
 
 	para "Uh… Um… Whoops!"
@@ -260,7 +260,7 @@
 	line "was going to say!"
 	done
 
-UnknownText_0x1768b0:
+LizFawningOverMonText:
 	text "Listen, listen!"
 
 	para "My @"
@@ -294,7 +294,7 @@
 	line "I love chatting!"
 	done
 
-UnknownText_0x1769da:
+LizReminderText:
 	text "I've got too much"
 	line "time on my hands!"
 
--- a/data/phone/text/parry_callee.asm
+++ b/data/phone/text/parry_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b73c7:
+ParryAnswerPhoneText:
 	text "Yup, yup!"
 	line "It's @"
 	text_ram wStringBuffer3
@@ -8,7 +8,7 @@
 	line "<PLAY_G>!"
 	done
 
-UnknownText_0x1b73ef:
+ParryAnswerPhoneDayText:
 	text "Yup, yup!"
 	line "It's @"
 	text_ram wStringBuffer3
@@ -18,7 +18,7 @@
 	line "<PLAY_G>!"
 	done
 
-UnknownText_0x1b7417:
+ParryAnswerPhoneNiteText:
 	text "Yup, yup!"
 	line "It's @"
 	text_ram wStringBuffer3
@@ -28,7 +28,7 @@
 	line "<PLAY_G>!"
 	done
 
-UnknownText_0x1b743f:
+ParryGreetText:
 	text "<PLAY_G>, it's"
 	line "@"
 	text_ram wStringBuffer3
@@ -38,7 +38,7 @@
 	line "proper breakfast?"
 	done
 
-UnknownText_0x1b746f:
+ParryGreetDayText:
 	text "<PLAY_G>, it's"
 	line "@"
 	text_ram wStringBuffer3
@@ -48,7 +48,7 @@
 	line "proper lunch?"
 	done
 
-UnknownText_0x1b749b:
+ParryGreetNiteText:
 	text "<PLAY_G>, it's"
 	line "@"
 	text_ram wStringBuffer3
@@ -58,7 +58,7 @@
 	line "proper dinner?"
 	done
 
-UnknownText_0x1b74c8:
+ParryGenericText:
 	text "Are your #MON"
 	line "looking good?"
 
--- a/data/phone/text/parry_caller.asm
+++ b/data/phone/text/parry_caller.asm
@@ -1,4 +1,4 @@
-ParryNoMatchText:
+ParryNothingCanMatchText:
 	text "Nothing can match"
 	line "my @"
 	text_ram wStringBuffer4
@@ -5,7 +5,7 @@
 	text " now."
 	done
 
-UnknownText_0x66fc0:
+ParryDefeatedMonText:
 	text "Yeah, we KO'd a"
 	line "wild @"
 	text_ram wStringBuffer4
@@ -15,7 +15,7 @@
 	line "wanted to get it…"
 	done
 
-UnknownText_0x67001:
+ParryLostAMonText:
 	text "And yesterday, we"
 	line "spotted a wild"
 
@@ -34,7 +34,7 @@
 	line "How about that!"
 	done
 
-UnknownText_0x67096:
+ParryBattleRematchText:
 	text "You're thinking"
 	line "you'd like to"
 
@@ -47,7 +47,7 @@
 	text "!"
 	done
 
-UnknownText_0x670eb:
+ParryHangUpText:
 	text "OK, give me a call"
 	line "again!"
 	done
--- a/data/phone/text/ralph_callee.asm
+++ b/data/phone/text/ralph_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b5c10:
+RalphAnswerPhoneText:
 	text "Yes? Ah, <PLAY_G>."
 
 	para "You're courteous"
@@ -8,7 +8,7 @@
 	line "call on the phone."
 	done
 
-UnknownText_0x1b5c63:
+RalphAnswerPhoneDayText:
 	text "Yes? Ah, <PLAY_G>."
 
 	para "You're courteous"
@@ -18,7 +18,7 @@
 	line "call on the phone."
 	done
 
-UnknownText_0x1b5cb6:
+RalphAnswerPhoneNiteText:
 	text "Yes? Ah, <PLAY_G>."
 
 	para "You're courteous"
@@ -28,7 +28,7 @@
 	line "call on the phone."
 	done
 
-UnknownText_0x1b5d09:
+RalphGreetText:
 	text "Hiya, it's Uncle"
 	line "@"
 	text_ram wStringBuffer3
@@ -35,7 +35,7 @@
 	text "."
 	done
 
-UnknownText_0x1b5d21:
+RalphGreetDayText:
 	text "Hiya, it's Uncle"
 	line "@"
 	text_ram wStringBuffer3
@@ -42,7 +42,7 @@
 	text "."
 	done
 
-UnknownText_0x1b5d39:
+RalphGreetNiteText:
 	text "Hiya, it's Uncle"
 	line "@"
 	text_ram wStringBuffer3
@@ -49,7 +49,7 @@
 	text "."
 	done
 
-UnknownText_0x1b5d51:
+RalphGenericText:
 	text "Are you taking"
 	line "good care of your"
 
--- a/data/phone/text/ralph_caller.asm
+++ b/data/phone/text/ralph_caller.asm
@@ -11,7 +11,7 @@
 	line "actually."
 	done
 
-UnknownText_0x175c24:
+RalphDefeatedMonText:
 	text "I just beat a wild"
 	line "@"
 	text_ram wStringBuffer4
@@ -27,7 +27,7 @@
 	line "cocky…"
 	done
 
-UnknownText_0x175c9f:
+RalphLostAMonText:
 	text "Yesterday a wild"
 	line "@"
 	text_ram wStringBuffer4
@@ -46,7 +46,7 @@
 	line "made my day!"
 	done
 
-UnknownText_0x175d40:
+RalphBattleRematchText:
 	text "What do you say to"
 	line "a battle with me?"
 
@@ -62,12 +62,12 @@
 	line "the spot!"
 	done
 
-UnknownText_0x175db7:
+RalphHangUpText:
 	text "You call your mom"
 	line "sometimes too!"
 	done
 
-UnknownText_0x175dd9:
+RalphItemText:
 	text "Listen, I… Yowch!"
 
 	para "Uh, sorry! See,"
@@ -96,7 +96,7 @@
 	line "to fish!"
 	done
 
-UnknownText_0x175eaf:
+RalphNoItemText:
 	text "Yeah, I know."
 
 	para "You're looking for"
@@ -107,7 +107,7 @@
 	cont "MAGIKARP, though…"
 	done
 
-UnknownText_0x175f11:
+RalphReminderText:
 	text "So where are you?"
 	line "I'm waiting for"
 
@@ -120,7 +120,7 @@
 	line "your elders wait!"
 	done
 
-UnknownText_0x175f70:
+RalphHurryText:
 	text "Hey, what's the"
 	line "matter with you?"
 
--- a/data/phone/text/reena_callee.asm
+++ b/data/phone/text/reena_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b5702:
+ReenaAnswerPhoneText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -8,7 +8,7 @@
 	line "What's up?"
 	done
 
-UnknownText_0x1b572e:
+ReenaAnswerPhoneDayText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -18,7 +18,7 @@
 	line "what's up?"
 	done
 
-UnknownText_0x1b575a:
+ReenaAnswerPhoneNiteText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -28,7 +28,7 @@
 	line "what's up?"
 	done
 
-UnknownText_0x1b5786:
+ReenaGreetText:
 	text "You're slow! Hurry"
 	line "up and answer!"
 
@@ -37,7 +37,7 @@
 	text "!"
 	done
 
-UnknownText_0x1b57b7:
+ReenaGreetDayText:
 	text "You're slow! Hurry"
 	line "up and answer!"
 
@@ -46,7 +46,7 @@
 	text "!"
 	done
 
-UnknownText_0x1b57e8:
+ReenaGreetNiteText:
 	text "You're slow! Hurry"
 	line "up and answer!"
 
@@ -55,7 +55,7 @@
 	text "!"
 	done
 
-UnknownText_0x1b5819:
+ReenaGenericText:
 	text "Hey, how are your"
 	line "#MON doing?"
 
--- a/data/phone/text/reena_caller.asm
+++ b/data/phone/text/reena_caller.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1752f5:
+ReenaMonsIsAPerfectMatchText:
 	text "Listen, dear…"
 
 	para "Do you recall my"
@@ -16,7 +16,7 @@
 	cont "match for me?"
 	done
 
-UnknownText_0x17536b:
+ReenaDefeatedMonText:
 	text "Have I ever faced"
 	line "a wild @"
 	text_ram wStringBuffer4
@@ -31,7 +31,7 @@
 	cont "occasions!"
 	done
 
-UnknownText_0x1753c5:
+ReenaLostAMonText:
 	text "Have I ever failed"
 	line "to catch a wild"
 	cont "#MON?"
@@ -47,7 +47,7 @@
 	line "Oh! Never mind!"
 	done
 
-UnknownText_0x17543a:
+ReenaBattleRematchText:
 	text "We are going to"
 	line "battle!"
 
@@ -60,11 +60,11 @@
 	line "wait! Got it?"
 	done
 
-UnknownText_0x175488:
+ReenaHangUpText:
 	text "Fine, you may go."
 	done
 
-UnknownText_0x17549b:
+ReenaForwardText:
 	text "Don't be too proud"
 	line "just because you"
 
@@ -74,7 +74,7 @@
 	para "It was a fluke!"
 	done
 
-UnknownText_0x1754e5:
+ReenaHurryText:
 	text "What are you"
 	line "doing?"
 
--- a/data/phone/text/tiffany_callee.asm
+++ b/data/phone/text/tiffany_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b6e7c:
+TiffanyAnswerPhoneText:
 	text "Yes? This is"
 	line "@"
 	text_ram wStringBuffer3
@@ -8,7 +8,7 @@
 	line "Good morning."
 	done
 
-UnknownText_0x1b6ea6:
+TiffanyAnswerPhoneDayText:
 	text "Yes? This is"
 	line "@"
 	text_ram wStringBuffer3
@@ -18,7 +18,7 @@
 	line "Hello."
 	done
 
-UnknownText_0x1b6ec9:
+TiffanyAnswerPhoneNiteText:
 	text "Yes? This is"
 	line "@"
 	text_ram wStringBuffer3
@@ -28,7 +28,7 @@
 	line "evening."
 	done
 
-UnknownText_0x1b6ef3:
+TiffanyGreetText:
 	text "Is this <PLAY_G>?"
 
 	para "Good morning. This"
@@ -37,7 +37,7 @@
 	text "."
 	done
 
-UnknownText_0x1b6f1c:
+TiffanyGreetDayText:
 	text "Is this <PLAY_G>?"
 
 	para "Hi, it's @"
@@ -45,7 +45,7 @@
 	text "."
 	done
 
-UnknownText_0x1b6f37:
+TiffanyGreetNiteText:
 	text "Is this <PLAY_G>?"
 
 	para "Good evening. This"
@@ -54,7 +54,7 @@
 	text "."
 	done
 
-UnknownText_0x1b6f60:
+TiffanyGenericText:
 	text "Are your #MON"
 	line "doing well?"
 
--- a/data/phone/text/tiffany_caller.asm
+++ b/data/phone/text/tiffany_caller.asm
@@ -1,4 +1,4 @@
-UnknownText_0x665ad:
+TiffanyMonIsAdorableText:
 	text "My @"
 	text_ram wStringBuffer4
 	text "'s"
@@ -11,7 +11,7 @@
 	line "fluffy and warm!"
 	done
 
-UnknownText_0x66605:
+TiffanyDefeatedMonText:
 	text "Oh, and we had to"
 	line "battle a wild"
 
@@ -31,7 +31,7 @@
 	text "!"
 	done
 
-UnknownText_0x66688:
+TiffanyLostAMonText:
 	text "Oh, and we had to"
 	line "battle a wild"
 
@@ -51,7 +51,7 @@
 	cont "of my CLEFAIRY."
 	done
 
-UnknownText_0x66730:
+TiffanyBattleRematchText:
 	text "I know this might"
 	line "surprise you, but"
 
@@ -81,11 +81,11 @@
 	line "Bye-bye!"
 	done
 
-UnknownText_0x667f7:
+TiffanyHangUpText:
 	text "Bye-bye!"
 	done
 
-UnknownText_0x66801:
+TiffanyFoundItemText:
 	text "I bought some PINK"
 	line "BOWS at GOLDENROD"
 
@@ -101,12 +101,12 @@
 	text "."
 	done
 
-UnknownText_0x66882:
+TiffanyNoItemText:
 	text "I love dressing up"
 	line "my CLEFAIRY!"
 	done
 
-UnknownText_0x668a3:
+TiffanyAsleepText:
 	text "What's wrong?"
 	line "Can't you visit?"
 
@@ -122,7 +122,7 @@
 	text "!"
 	done
 
-UnknownText_0x6691d:
+TiffanyHurryText:
 	text "What's wrong?"
 	line "Can't you visit?"
 
--- a/data/phone/text/todd_callee.asm
+++ b/data/phone/text/todd_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b60f5:
+ToddAnswerPhoneText:
 	text "Yes? This is"
 	line "@"
 	text_ram wStringBuffer3
@@ -7,7 +7,7 @@
 	para "Hey, <PLAY_G>!"
 	done
 
-UnknownText_0x1b611b:
+ToddAnswerPhoneDayText:
 	text "Yes? This is"
 	line "@"
 	text_ram wStringBuffer3
@@ -17,7 +17,7 @@
 	line "<PLAY_G>."
 	done
 
-UnknownText_0x1b6149:
+ToddAnswerPhoneNiteText:
 	text "Yes? This is"
 	line "@"
 	text_ram wStringBuffer3
@@ -26,7 +26,7 @@
 	para "Ah, <PLAY_G>!"
 	done
 
-UnknownText_0x1b616e:
+ToddGreetText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -35,7 +35,7 @@
 	para "<PLAY_G>, right?"
 	done
 
-UnknownText_0x1b618f:
+ToddGreetDayText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -45,7 +45,7 @@
 	line "you doing?"
 	done
 
-UnknownText_0x1b61bd:
+ToddGreetNiteText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -55,7 +55,7 @@
 	line "call you so late."
 	done
 
-UnknownText_0x1b61f2:
+ToddGenericText:
 	text "How do you raise"
 	line "your #MON?"
 
--- a/data/phone/text/todd_caller.asm
+++ b/data/phone/text/todd_caller.asm
@@ -8,7 +8,7 @@
 	line "getting cuter!"
 	done
 
-UnknownText_0x176e9c:
+ToddDefeatedMonText:
 	text "And, you know?"
 
 	para "Now we can KO"
@@ -20,7 +20,7 @@
 	line "the GOLDENROD GYM."
 	done
 
-UnknownText_0x176eee:
+ToddLostAMonText:
 	text "And, you know?"
 	line "We just failed to"
 
@@ -36,7 +36,7 @@
 	line "yet…"
 	done
 
-UnknownText_0x176f60:
+ToddBattleRematchText:
 	text "You must be a lot"
 	line "better now, huh?"
 
@@ -52,11 +52,11 @@
 	text "."
 	done
 
-UnknownText_0x176fdb:
+ToddHangUpText:
 	text "See you later!"
 	done
 
-UnknownText_0x176feb:
+ToddDepartmentStoreBargainSaleText:
 	text "This is it--the"
 	line "one we've all been"
 	cont "waiting for!"
@@ -82,7 +82,7 @@
 	cont "soon as you can!"
 	done
 
-UnknownText_0x1770fb:
+ToddSavingUpForBargainSaleText:
 	text "I'm saving up for"
 	line "the next bargain"
 
@@ -90,7 +90,7 @@
 	line "next one?"
 	done
 
-UnknownText_0x177138:
+ToddLookingForwardToBattleText:
 	text "Where are you?"
 
 	para "Let's have our"
@@ -102,7 +102,7 @@
 	text "."
 	done
 
-UnknownText_0x17717c:
+ToddHaveYouGoneToDepartmentStoreText:
 	text "Haven't you gone"
 	line "to GOLDENROD DEPT."
 
--- a/data/phone/text/tully_callee.asm
+++ b/data/phone/text/tully_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b6b39:
+TullyAnswerPhoneText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -8,7 +8,7 @@
 	line "<PLAY_G>."
 	done
 
-UnknownText_0x1b6b65:
+TullyAnswerPhoneDayText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -18,7 +18,7 @@
 	line "<PLAY_G>, right?"
 	done
 
-UnknownText_0x1b6b92:
+TullyAnswerPhoneNiteText:
 	text "Hello, this is"
 	line "@"
 	text_ram wStringBuffer3
@@ -28,7 +28,7 @@
 	line "<PLAY_G>!"
 	done
 
-UnknownText_0x1b6bb9:
+TullyGreetText:
 	text "Hello!"
 	line "@"
 	text_ram wStringBuffer3
@@ -38,7 +38,7 @@
 	line "weather's great!"
 	done
 
-UnknownText_0x1b6bef:
+TullyGreetDayText:
 	text "Hello!"
 	line "@"
 	text_ram wStringBuffer3
@@ -48,7 +48,7 @@
 	line "for fishing!"
 	done
 
-UnknownText_0x1b6c23:
+TullyGreetNiteText:
 	text "Hello!"
 	line "@"
 	text_ram wStringBuffer3
@@ -58,7 +58,7 @@
 	line "for fishing!"
 	done
 
-UnknownText_0x1b6c56:
+TullyGenericText:
 	text "How's your trip"
 	line "coming along?"
 
--- a/data/phone/text/tully_caller.asm
+++ b/data/phone/text/tully_caller.asm
@@ -1,4 +1,4 @@
-TullyGrownText:
+TullyMonHasGrownText:
 	text "My @"
 	text_ram wStringBuffer4
 	text " has"
@@ -11,7 +11,7 @@
 	line "it's way bigger."
 	done
 
-UnknownText_0x65e42:
+TullyDefeatedMonText:
 	text "Oh yeah, I KO'd a"
 	line "wild @"
 	text_ram wStringBuffer4
@@ -25,7 +25,7 @@
 	cont "the phone…"
 	done
 
-UnknownText_0x65eac:
+TullyLostAMonText:
 	text "Oh yeah, I lost a"
 	line "wild @"
 	text_ram wStringBuffer4
@@ -39,7 +39,7 @@
 	cont "the phone…"
 	done
 
-UnknownText_0x65f17:
+TullyBattleRematchText:
 	text "We should get a"
 	line "battle going!"
 
@@ -52,12 +52,12 @@
 	line "have the time."
 	done
 
-UnknownText_0x65f6e:
+TullyHangUpText:
 	text "Well, I'll be"
 	line "seeing you."
 	done
 
-UnknownText_0x65f88:
+TullyFoundItemText:
 	text "I picked up a good"
 	line "little thing at"
 	cont "the water's edge."
@@ -71,7 +71,7 @@
 	text "."
 	done
 
-UnknownText_0x65ff2:
+TullyNoItemText:
 	text "Have I found"
 	line "anything good?"
 
@@ -81,7 +81,7 @@
 	line "you need patience."
 	done
 
-UnknownText_0x66043:
+TullyForwardText:
 	text "Yup, TULLY here…"
 
 	para "<PLAY_G>? What?"
@@ -93,7 +93,7 @@
 	text "."
 	done
 
-UnknownText_0x66087:
+TullyHurryText:
 	text "I've got something"
 	line "good for you."
 
--- a/data/phone/text/unknown_callee.asm
+++ b/data/phone/text/unknown_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b518b:
+UnknownGenericText:
 	text "How are your"
 	line "#MON doing?"
 
@@ -18,7 +18,7 @@
 	line "bit much for me!"
 	done
 
-UnknownText_0x1b522b:
+UnknownTougherThanEverText:
 	text "My @"
 	text_ram wStringBuffer4
 	text "'s"
--- a/data/phone/text/vance_callee.asm
+++ b/data/phone/text/vance_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b7019:
+VanceAnswerPhoneText:
 	text "Yes, hello?"
 	line "@"
 	text_ram wStringBuffer3
@@ -10,7 +10,7 @@
 	line "#MON?"
 	done
 
-UnknownText_0x1b7057:
+VanceAnswerPhoneDayText:
 	text "Yes, hello?"
 	line "@"
 	text_ram wStringBuffer3
@@ -22,7 +22,7 @@
 	line "#MON flying?"
 	done
 
-UnknownText_0x1b7092:
+VanceAnswerPhoneNiteText:
 	text "Yes, hello?"
 	line "@"
 	text_ram wStringBuffer3
@@ -35,7 +35,7 @@
 	line "see some action?"
 	done
 
-UnknownText_0x1b70e7:
+VanceGreetText:
 	text "Good morning,"
 	line "<PLAY_G>!"
 
@@ -45,7 +45,7 @@
 	line "Good morning!"
 	done
 
-UnknownText_0x1b7112:
+VanceGreetDayText:
 	text "Hi, <PLAY_G>!"
 
 	para "It's @"
@@ -54,7 +54,7 @@
 	line "Remember me?"
 	done
 
-UnknownText_0x1b7132:
+VanceGreetNiteText:
 	text "Good evening,"
 	line "<PLAY_G>!"
 
@@ -64,7 +64,7 @@
 	line "Are you free now?"
 	done
 
-UnknownText_0x1b7161:
+VanceGenericText:
 	text "Are you and your"
 	line "#MON fine?"
 
--- a/data/phone/text/vance_caller.asm
+++ b/data/phone/text/vance_caller.asm
@@ -1,4 +1,4 @@
-VanceLiftoffText:
+VanceMonHasBecomeTougherText:
 	text "My @"
 	text_ram wStringBuffer4
 	text "'s"
@@ -8,7 +8,7 @@
 	line "liftoff!"
 	done
 
-UnknownText_0x669b2:
+VanceDefeatedMonText:
 	text "We can easily beat"
 	line "@"
 	text_ram wStringBuffer4
@@ -18,7 +18,7 @@
 	line "Isn't that great?"
 	done
 
-UnknownText_0x669ed:
+VanceLostAMonText:
 	text "But get this, a"
 	line "wild @"
 	text_ram wStringBuffer4
@@ -30,7 +30,7 @@
 	line "after it…"
 	done
 
-UnknownText_0x66a3a:
+VanceBattleRematchText:
 	text "Right now, I'm on"
 	line "@"
 	text_ram wStringBuffer5
@@ -43,7 +43,7 @@
 	line "I'll wait here."
 	done
 
-UnknownText_0x66a93:
+VanceHangUpText:
 	text "OK, bye for now!"
 	done
 
--- a/data/phone/text/wade_callee.asm
+++ b/data/phone/text/wade_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b5a3b:
+WadeAnswerPhoneText:
 	text "Hello? This is"
 	line "@"
 	text_ram wStringBuffer3
@@ -8,7 +8,7 @@
 	line "Good morning!"
 	done
 
-UnknownText_0x1b5a74:
+WadeAnswerPhoneDayText:
 	text "Hello? This is"
 	line "@"
 	text_ram wStringBuffer3
@@ -17,7 +17,7 @@
 	para "Oh, hi, <PLAY_G>!"
 	done
 
-UnknownText_0x1b5a9f:
+WadeAnswerPhoneNiteText:
 	text "Hello? This is"
 	line "@"
 	text_ram wStringBuffer3
@@ -27,7 +27,7 @@
 	line "Good evening!"
 	done
 
-UnknownText_0x1b5ad8:
+WadeGreetText:
 	text "<PLAY_G>, good"
 	line "morning!"
 
@@ -37,7 +37,7 @@
 	line "Isn't it nice out?"
 	done
 
-UnknownText_0x1b5b0b:
+WadeGreetDayText:
 	text "<PLAY_G>, howdy!"
 
 	para "It's me, @"
@@ -46,7 +46,7 @@
 	line "Isn't it nice out?"
 	done
 
-UnknownText_0x1b5b37:
+WadeGreetNiteText:
 	text "Good evening,"
 	line "<PLAY_G>!"
 
@@ -56,7 +56,7 @@
 	line "Were you awake?"
 	done
 
-UnknownText_0x1b5b68:
+WadeGenericText:
 	text "How are your"
 	line "#MON doing?"
 
--- a/data/phone/text/wade_caller.asm
+++ b/data/phone/text/wade_caller.asm
@@ -1,4 +1,4 @@
-WadeAreYouGrowingText:
+WadeAreYourMonGrowingText:
 	text "Are your #MON"
 	line "growing?"
 
@@ -17,7 +17,7 @@
 	line "it'll get tough."
 	done
 
-UnknownText_0x175869:
+WadeDefeatedMonText:
 	text "Oh yeah, we KO'd a"
 	line "wild @"
 	text_ram wStringBuffer4
@@ -32,7 +32,7 @@
 	line "the poor thing."
 	done
 
-UnknownText_0x1758e4:
+WadeLostAMonText:
 	text "Oh yeah, a wild"
 	line "@"
 	text_ram wStringBuffer4
@@ -51,7 +51,7 @@
 	line "had it."
 	done
 
-UnknownText_0x175976:
+WadeBattleRematchText:
 	text "Do you feel like a"
 	line "#MON battle?"
 
@@ -67,7 +67,7 @@
 	line "you get there."
 	done
 
-UnknownText_0x1759e7:
+WadeHangUpText:
 	text "See you later!"
 	done
 
@@ -85,7 +85,7 @@
 	line "up my mind."
 	done
 
-WadeFoundBerryText:
+WadeFoundItemText:
 	text "I found all kinds"
 	line "of BERRIES. If you"
 
@@ -98,7 +98,7 @@
 	text "."
 	done
 
-UnknownText_0x175abe:
+WadeNoBerriesText:
 	text "Huh? BERRIES?"
 
 	para "Sorry, I haven't"
@@ -109,7 +109,7 @@
 	cont "please wait?"
 	done
 
-UnknownText_0x175b1e:
+WadeQuickBattleText:
 	text "Let's battle"
 	line "already!"
 
@@ -122,7 +122,7 @@
 	line "soon as you can!"
 	done
 
-UnknownText_0x175b6d:
+WadeComeQuickText:
 	text "How come you're"
 	line "not here yet?"
 
--- a/data/phone/text/wilton_callee.asm
+++ b/data/phone/text/wilton_callee.asm
@@ -1,4 +1,4 @@
-UnknownText_0x1b71d5:
+WiltonAnswerPhoneText:
 	text "Hello, you have"
 	line "reached @"
 	text_ram wStringBuffer3
@@ -7,7 +7,7 @@
 	para "Ah, <PLAY_G>."
 	done
 
-UnknownText_0x1b71fc:
+WiltonAnswerPhoneDayText:
 	text "Hello, you have"
 	line "reached @"
 	text_ram wStringBuffer3
@@ -17,7 +17,7 @@
 	line "it?"
 	done
 
-UnknownText_0x1b722a:
+WiltonAnswerPhoneNiteText:
 	text "Hello, you have"
 	line "reached @"
 	text_ram wStringBuffer3
@@ -27,7 +27,7 @@
 	line "<PLAY_G>."
 	done
 
-UnknownText_0x1b725c:
+WiltonGreetText:
 	text "Ah, it's @"
 	text_ram wStringBuffer3
 	text "…"
@@ -36,7 +36,7 @@
 	line "moment?"
 	done
 
-UnknownText_0x1b7283:
+WiltonGreetDayText:
 	text "Ah, it's @"
 	text_ram wStringBuffer3
 	text "…"
@@ -44,7 +44,7 @@
 	para "Can you talk now?"
 	done
 
-UnknownText_0x1b72a5:
+WiltonGreetNiteText:
 	text "Ah, it's @"
 	text_ram wStringBuffer3
 	text "…"
@@ -53,7 +53,7 @@
 	line "so late."
 	done
 
-UnknownText_0x1b72d0:
+WiltonGenericText:
 	text "Have your #MON"
 	line "grown any?"
 
--- a/data/phone/text/wilton_caller.asm
+++ b/data/phone/text/wilton_caller.asm
@@ -1,4 +1,4 @@
-WiltonGrownText:
+WiltonMonHasGrownText:
 	text "My @"
 	text_ram wStringBuffer4
 	text "'s"
@@ -8,7 +8,7 @@
 	line "have improved too!"
 	done
 
-UnknownText_0x66b3e:
+WiltonDefeatedMonText:
 	text "We beat a wild"
 	line "@"
 	text_ram wStringBuffer4
@@ -21,7 +21,7 @@
 	line "#MON."
 	done
 
-UnknownText_0x66b8f:
+WiltonLostAMonText:
 	text "But a while back,"
 	line "we came this close"
 
@@ -34,7 +34,7 @@
 	line "huge. Believe me."
 	done
 
-UnknownText_0x66bf3:
+WiltonBattleRematchText:
 	text "I'm fishing on"
 	line "@"
 	text_ram wStringBuffer5
@@ -48,11 +48,11 @@
 	cont "over for a battle."
 	done
 
-UnknownText_0x66c58:
+WiltonHangUpText:
 	text "All right, later."
 	done
 
-UnknownText_0x66c6b:
+WiltonFoundItemText:
 	text "I snagged an item"
 	line "while fishing."
 
--- 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/battle.asm
+++ b/data/text/battle.asm
@@ -819,7 +819,7 @@
 	line "SUBSTITUTE faded!"
 	prompt
 
-LearnedMoveText:
+MimicLearnedMoveText:
 	text "<USER>"
 	line "learned"
 	cont "@"
--- 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
@@ -153,7 +153,7 @@
 	text "CARD FOLDER open.@"
 	text_end
 
-_OakTimeText1::
+_OakTimeWokeUpText::
 	text "<……><……><……><……><……><……>"
 	line "<……><……><……><……><……><……>"
 
@@ -164,55 +164,57 @@
 	line "clock for me?"
 	prompt
 
-_OakTimeText2::
+_OakTimeWhatTimeIsItText::
 	text "What time is it?"
 	done
 
-_OakTimeText3::
+_OakTimeWhatHoursText::
 	text "What?@"
 	text_end
 
-_OakTimeText4::
+_OakTimeHoursQuestionMarkText::
 	text "?"
 	done
 
-_OakTimeText5::
+_OakTimeHowManyMinutesText::
 	text "How many minutes?"
 	done
 
-_OakTimeText6::
+_OakTimeWhoaMinutesText::
 	text "Whoa!@"
 	text_end
 
-_OakTimeText7::
+_OakTimeMinutesQuestionMarkText::
 	text "?"
 	done
 
-_OakTimeText8::
+_OakTimeOversleptText::
 	text "!"
 	line "I overslept!"
 	done
 
-_OakTimeText11::
+_OakTimeYikesText::
 	text "!"
 	line "Yikes! I over-"
 	cont "slept!"
 	done
 
-_OakTimeText12::
+_OakTimeSoDarkText::
 	text "!"
 	line "No wonder it's so"
 	cont "dark!"
 	done
 
-_OakTimeText13::
+_OakTimeWhatDayIsItText::
 	text "What day is it?"
 	done
 
-_OakTimeText14::
+_OakTimeIsItText::
 	text ", is it?"
 	done
 
+; Mobile Adapter
+
 UnknownText_0x1bc384::
 	text "There is nothing"
 	line "connected."
@@ -258,6 +260,8 @@
 	line "ID no."
 	done
 
+; Mobile Adapter End
+
 UnknownText_0x1bc45e::
 	text "Enter the"
 	line "amount."
@@ -345,38 +349,38 @@
 	line "fluffy and cuddly."
 	done
 
-_MomShoppingText1::
+_MomHiHowAreYouText::
 	text "Hi, <PLAYER>!"
 	line "How are you?"
 	prompt
 
-_MomShoppingText2::
+_MomFoundAnItemText::
 	text "I found a useful"
 	line "item shopping, so"
 	prompt
 
-_MomShoppingText3::
+_MomBoughtWithYourMoneyText::
 	text "I bought it with"
 	line "your money. Sorry!"
 	prompt
 
-_MomShoppingText4::
+_MomItsInPCText::
 	text "It's in your PC."
 	line "You'll like it!"
 	done
 
-_MomShoppingText5::
+_MomFoundADollText::
 	text "While shopping"
 	line "today, I saw this"
 	cont "adorable doll, so"
 	prompt
 
-_MomShoppingText6::
+_MomItsInYourRoomText::
 	text "It's in your room."
 	line "You'll love it!"
 	done
 
-_TradingText1::
+_MonWasSentToText::
 	text_ram wPlayerTrademonSpeciesName
 	text " was"
 	line "sent to @"
@@ -384,22 +388,22 @@
 	text "."
 	done
 
-_TradingText2::
+_MonNameSentToText::
 	text_start
 	done
 
-_TradingText3::
+_BidsFarewellToMonText::
 	text_ram wOTTrademonSenderName
 	text " bids"
 	line "farewell to"
 	done
 
-_TradingText4::
+_MonNameBidsFarewellText::
 	text_ram wOTTrademonSpeciesName
 	text "."
 	done
 
-_TradingText5::
+_TakeGoodCareOfMonText::
 	text "Take good care of"
 	line "@"
 	text_ram wOTTrademonSpeciesName
@@ -406,7 +410,7 @@
 	text "."
 	done
 
-_TradingText6::
+_ForYourMonSendsText::
 	text "For @"
 	text_ram wPlayerTrademonSenderName
 	text "'s"
@@ -415,7 +419,7 @@
 	text ","
 	done
 
-_TradingText7::
+_OTSendsText::
 	text_ram wOTTrademonSenderName
 	text " sends"
 	line "@"
@@ -423,7 +427,7 @@
 	text "."
 	done
 
-_TradingText8::
+_WillTradeText::
 	text_ram wOTTrademonSenderName
 	text " will"
 	line "trade @"
@@ -432,7 +436,7 @@
 
 	text_end ; unused
 
-_TradingText9::
+_ForYourMonWillTradeText::
 	text "for @"
 	text_ram wPlayerTrademonSenderName
 	text "'s"
@@ -441,7 +445,7 @@
 	text "."
 	done
 
-_TradingText10::
+_MobilePlayerWillTradeMonText::
 	text_ram wPlayerTrademonSenderName
 	text " will"
 	line "trade @"
@@ -450,7 +454,7 @@
 
 	text_end ; unused
 
-_TradingText11::
+_MobileForPartnersMonText::
 	text "for @"
 	text_ram wOTTrademonSenderName
 	text "'s"
@@ -459,7 +463,8 @@
 	text "."
 	done
 
-_TradingText12::
+; unused
+_MobilePlayersMonTradeText::
 	text_ram wPlayerTrademonSenderName
 	text "'s"
 	line "@"
@@ -467,7 +472,7 @@
 	text " trade…"
 	done
 
-_TradingText13::
+_MobileTakeGoodCareOfMonText::
 	text "Take good care of"
 	line "@"
 	text_ram wOTTrademonSpeciesName
@@ -474,7 +479,7 @@
 	text "."
 	done
 
-_TradingText14::
+_MobilePlayersMonTrade2Text::
 	text_ram wPlayerTrademonSenderName
 	text "'s"
 	line "@"
@@ -482,7 +487,7 @@
 	text " trade…"
 	done
 
-_TradingText15::
+_MobileTakeGoodCareOfText::
 	text "Take good care of"
 	line "@"
 	text_ram wOTTrademonSpeciesName
@@ -489,7 +494,7 @@
 	text "."
 	done
 
-_TradingText16::
+_MobileTradeCameBackText::
 	text_ram wOTTrademonSpeciesName
 	text " came"
 	line "back!"
@@ -539,162 +544,162 @@
 	text "'s"
 	done
 
-OPT_SweetAdorably::
+_OPT_SweetAdorablyText::
 	text_start
 	line "sweet and adorably"
 	done
 
-OPT_WigglySlickly::
+_OPT_WigglySlicklyText::
 	text_start
 	line "wiggly and slickly"
 	done
 
-OPT_AptlyNamed::
+_OPT_AptlyNamedText::
 	text_start
 	line "aptly named and"
 	done
 
-OPT_UndeniablyKindOf::
+_OPT_UndeniablyKindOfText::
 	text_start
 	line "undeniably kind of"
 	done
 
-OPT_Unbearably::
+_OPT_UnbearablyText::
 	text_start
 	line "so, so unbearably"
 	done
 
-OPT_WowImpressively::
+_OPT_WowImpressivelyText::
 	text_start
 	line "wow, impressively"
 	done
 
-OPT_AlmostPoisonously::
+_OPT_AlmostPoisonouslyText::
 	text_start
 	line "almost poisonously"
 	done
 
-OPT_Sensually::
+_OPT_SensuallyText::
 	text_start
 	line "ooh, so sensually"
 	done
 
-OPT_Mischievously::
+_OPT_MischievouslyText::
 	text_start
 	line "so mischievously"
 	done
 
-OPT_Topically::
+_OPT_TopicallyText::
 	text_start
 	line "so very topically"
 	done
 
-OPT_Addictively::
+_OPT_AddictivelyText::
 	text_start
 	line "sure addictively"
 	done
 
-OPT_LooksInWater::
+_OPT_LooksInWaterText::
 	text_start
 	line "looks in water is"
 	done
 
-OPT_EvolutionMustBe::
+_OPT_EvolutionMustBeText::
 	text_start
 	line "evolution must be"
 	done
 
-OPT_Provocatively::
+_OPT_ProvocativelyText::
 	text_start
 	line "provocatively"
 	done
 
-OPT_FlippedOut::
+_OPT_FlippedOutText::
 	text_start
 	line "so flipped out and"
 	done
 
-OPT_HeartMeltingly::
+_OPT_HeartMeltinglyText::
 	text_start
 	line "heart-meltingly"
 	done
 
-OPT_Cute::
+_OPT_CuteText::
 	text_start
 	line "cute."
 	done
 
-OPT_Weird::
+_OPT_WeirdText::
 	text_start
 	line "weird."
 	done
 
-OPT_Pleasant::
+_OPT_PleasantText::
 	text_start
 	line "pleasant."
 	done
 
-OPT_BoldSortOf::
+_OPT_BoldSortOfText::
 	text_start
 	line "bold, sort of."
 	done
 
-OPT_Frightening::
+_OPT_FrighteningText::
 	text_start
 	line "frightening."
 	done
 
-OPT_SuaveDebonair::
+_OPT_SuaveDebonairText::
 	text_start
 	line "suave & debonair!"
 	done
 
-OPT_Powerful::
+_OPT_PowerfulText::
 	text_start
 	line "powerful."
 	done
 
-OPT_Exciting::
+_OPT_ExcitingText::
 	text_start
 	line "exciting."
 	done
 
-OPT_Groovy::
+_OPT_GroovyText::
 	text_start
 	line "groovy!"
 	done
 
-OPT_Inspiring::
+_OPT_InspiringText::
 	text_start
 	line "inspiring."
 	done
 
-OPT_Friendly::
+_OPT_FriendlyText::
 	text_start
 	line "friendly."
 	done
 
-OPT_HotHotHot::
+_OPT_HotHotHotText::
 	text_start
 	line "hot, hot, hot!"
 	done
 
-OPT_Stimulating::
+_OPT_StimulatingText::
 	text_start
 	line "stimulating."
 	done
 
-OPT_Guarded::
+_OPT_GuardedText::
 	text_start
 	line "guarded."
 	done
 
-OPT_Lovely::
+_OPT_LovelyText::
 	text_start
 	line "lovely."
 	done
 
-OPT_Speedy::
+_OPT_SpeedyText::
 	text_start
 	line "speedy."
 	done
@@ -862,82 +867,82 @@
 
 	text_end ; unused
 
-_PnP_cute::
+_PnP_CuteText::
 	text_start
 	line "is cute."
 	done
 
-_PnP_lazy::
+_PnP_LazyText::
 	text_start
 	line "is sort of lazy."
 	done
 
-_PnP_happy::
+_PnP_HappyText::
 	text_start
 	line "is always happy."
 	done
 
-_PnP_noisy::
+_PnP_NoisyText::
 	text_start
 	line "is quite noisy."
 	done
 
-_PnP_precocious::
+_PnP_PrecociousText::
 	text_start
 	line "is precocious."
 	done
 
-_PnP_bold::
+_PnP_BoldText::
 	text_start
 	line "is somewhat bold."
 	done
 
-_PnP_picky::
+_PnP_PickyText::
 	text_start
 	line "is too picky!"
 	done
 
-_PnP_sortofok::
+_PnP_SortOfOKText::
 	text_start
 	line "is sort of OK."
 	done
 
-_PnP_soso::
+_PnP_SoSoText::
 	text_start
 	line "is just so-so."
 	done
 
-_PnP_great::
+_PnP_GreatText::
 	text_start
 	line "is actually great."
 	done
 
-_PnP_mytype::
+_PnP_MyTypeText::
 	text_start
 	line "is just my type."
 	done
 
-_PnP_cool::
+_PnP_CoolText::
 	text_start
 	line "is so cool, no?"
 	done
 
-_PnP_inspiring::
+_PnP_InspiringText::
 	text_start
 	line "is inspiring!"
 	done
 
-_PnP_weird::
+_PnP_WeirdText::
 	text_start
 	line "is kind of weird."
 	done
 
-_PnP_rightforme::
+_PnP_RightForMeText::
 	text_start
 	line "is right for me?"
 	done
 
-_PnP_odd::
+_PnP_OddText::
 	text_start
 	line "is definitely odd!"
 	done
@@ -1098,7 +1103,7 @@
 	line ""
 	done
 
-Text_EnemyWithdrew::
+_EnemyWithdrewText::
 	text "<ENEMY>"
 	line "withdrew"
 	cont "@"
@@ -1106,7 +1111,7 @@
 	text "!"
 	prompt
 
-Text_EnemyUsedOn::
+_EnemyUsedOnText::
 	text "<ENEMY>"
 	line "used @"
 	text_ram wMonOrItemNameBuffer
@@ -1280,17 +1285,17 @@
 	line "VOLTORBBADGE!"
 	done
 
-UnknownText_0x1bd2bc::
+_AskFloorElevatorText::
 	text "Which floor?"
 	done
 
-UnknownText_0x1bd2ca::
+_BugCatchingContestTimeUpText::
 	text "ANNOUNCER: BEEEP!"
 
 	para "Time's up!"
 	done
 
-UnknownText_0x1bd2e7::
+_BugCatchingContestIsOverText::
 	text "ANNOUNCER: The"
 	line "Contest is over!"
 	done
@@ -1338,7 +1343,7 @@
 	text_ram wStringBuffer1
 	text "!@"
 	sound_item
-	text_waitbutton
+	text_promptbutton
 	text_end
 
 	text_end ; unused
@@ -1352,12 +1357,12 @@
 	line "COIN CASE."
 	prompt
 
-UnknownText_0x1bd407::
+_NPCTradeCableText::
 	text "OK, connect the"
 	line "Game Link Cable."
 	prompt
 
-UnknownText_0x1bd429::
+Text_NPCTraded::
 	text "<PLAYER> traded"
 	line "@"
 	text_ram wMonOrItemNameBuffer
@@ -1367,7 +1372,7 @@
 	text ".@"
 	text_end
 
-UnknownText_0x1bd445::
+_NPCTradeFanfareText::
 	sound_dex_fanfare_80_109
 	text_pause
 	text_end
@@ -1408,7 +1413,7 @@
 	cont "Thanks!"
 	done
 
-_NPCTradeAFterText1::
+_NPCTradeAfterText1::
 	text "Hi, how's my old"
 	line "@"
 	text_ram wStringBuffer2
@@ -1571,7 +1576,7 @@
 	para "Now, go on!"
 	done
 
-_MomVisitingText1::
+_MomIsThisAboutYourMoneyText::
 	text "Hi! Welcome home!"
 	line "You're trying very"
 	cont "hard, I see."
@@ -1583,47 +1588,47 @@
 	line "your money?"
 	done
 
-_MomVisitingText2::
+_MomBankWhatDoYouWantToDoText::
 	text "What do you want"
 	line "to do?"
 	done
 
-_MomVisitingText3::
+_MomStoreMoneyText::
 	text "How much do you"
 	line "want to save?"
 	done
 
-_MomVisitingText4::
+_MomTakeMoneyText::
 	text "How much do you"
 	line "want to take?"
 	done
 
-_MomVisitingText5::
+_MomSaveMoneyText::
 	text "Do you want to"
 	line "save some money?"
 	done
 
-_MomVisitingText6::
+_MomHaventSavedThatMuchText::
 	text "You haven't saved"
 	line "that much."
 	prompt
 
-_MomVisitingText7::
+_MomNotEnoughRoomInWalletText::
 	text "You can't take"
 	line "that much."
 	prompt
 
-_MomVisitingText8::
+_MomInsufficientFundsInWalletText::
 	text "You don't have"
 	line "that much."
 	prompt
 
-_MomVisitingText9::
+_MomNotEnoughRoomInBankText::
 	text "You can't save"
 	line "that much."
 	prompt
 
-_MomVisitingText10::
+_MomStartSavingMoneyText::
 	text "OK, I'll save your"
 	line "money. Trust me!"
 
@@ -1631,17 +1636,17 @@
 	line "with it!"
 	done
 
-_MomVisitingText11::
+_MomStoredMoneyText::
 	text "Your money's safe"
 	line "here! Get going!"
 	done
 
-_MomVisitingText12::
+_MomTakenMoneyText::
 	text "<PLAYER>, don't"
 	line "give up!"
 	done
 
-_MomVisitingText13::
+_MomJustDoWhatYouCanText::
 	text "Just do what"
 	line "you can."
 	done
@@ -1712,7 +1717,7 @@
 	line "just one #MON."
 	prompt
 
-_CantRaiseEggText::
+_CantAcceptEggText::
 	text "Sorry, but I can't"
 	line "accept an EGG."
 	prompt
@@ -1796,7 +1801,7 @@
 	line "for it."
 	prompt
 
-_DCNotEnoughMoneyText::
+_NotEnoughMoneyText::
 	text "You don't have"
 	line "enough money."
 	prompt
@@ -1842,7 +1847,7 @@
 	line "it."
 	done
 
-_RefuseEggText::
+_IllKeepItThanksText::
 	text "Well then, I'll"
 	line "keep it. Thanks!"
 	done
@@ -1859,7 +1864,7 @@
 	cont "graph?"
 	prompt
 
-_HoldOnText::
+_HoldStillText::
 	text "All righty. Hold"
 	line "still for a bit."
 	prompt
--- a/data/text/common_2.asm
+++ b/data/text/common_2.asm
@@ -1,14 +1,14 @@
-UnknownText_0x1c0000::
+_NoPhotoText::
 	text "Oh, no picture?"
 	line "Come again, OK?"
 	done
 
-UnknownText_0x1c0021::
+_EggPhotoText::
 	text "An EGG? My talent"
 	line "is worth more…"
 	done
 
-UnknownText_0x1c0043::
+_NameRaterHelloText::
 	text "Hello, hello! I'm"
 	line "the NAME RATER."
 
@@ -19,13 +19,13 @@
 	line "to rate names?"
 	done
 
-UnknownText_0x1c00a0::
+_NameRaterWhichMonText::
 	text "Which #MON's"
 	line "nickname should I"
 	cont "rate for you?"
 	prompt
 
-UnknownText_0x1c00cd::
+_NameRaterBetterNameText::
 	text "Hm… @"
 	text_ram wStringBuffer1
 	text "…"
@@ -40,13 +40,13 @@
 	line "a better name?"
 	done
 
-UnknownText_0x1c0142::
+_NameRaterWhatNameText::
 	text "All right. What"
 	line "name should we"
 	cont "give it, then?"
 	prompt
 
-UnknownText_0x1c0171::
+_NameRaterFinishedText::
 	text "That's a better"
 	line "name than before!"
 
@@ -53,12 +53,12 @@
 	para "Well done!"
 	done
 
-UnknownText_0x1c019e::
+_NameRaterComeAgainText::
 	text "OK, then. Come"
 	line "again sometime."
 	done
 
-UnknownText_0x1c01be::
+_NameRaterPerfectNameText::
 	text "Hm… @"
 	text_ram wStringBuffer1
 	text "?"
@@ -71,12 +71,12 @@
 	line "with loving care."
 	done
 
-UnknownText_0x1c0208::
+_NameRaterEggText::
 	text "Whoa… That's just"
 	line "an EGG."
 	done
 
-UnknownText_0x1c0222::
+_NameRaterSameNameText::
 	text "It might look the"
 	line "same as before,"
 
@@ -86,7 +86,7 @@
 	para "Well done!"
 	done
 
-UnknownText_0x1c0272::
+_NameRaterNamedText::
 	text "All right. This"
 	line "#MON is now"
 	cont "named @"
@@ -99,7 +99,7 @@
 	text " gained@"
 	text_end
 
-Text_ABoostedStringBuffer2ExpPoints::
+_BoostedExpPointsText::
 	text_start
 	line "a boosted"
 	cont "@"
@@ -107,7 +107,7 @@
 	text " EXP. Points!"
 	prompt
 
-Text_StringBuffer2ExpPoints::
+_ExpPointsText::
 	text_start
 	line "@"
 	text_decimal wStringBuffer2, 2, 4
@@ -132,7 +132,7 @@
 	line "Get'm, @"
 	text_end
 
-Text_BattleMonNick01::
+_BattleMonNicknameText::
 	text_ram wBattleMonNick
 	text "!"
 	done
@@ -142,35 +142,35 @@
 	text ",@"
 	text_end
 
-Text_ThatsEnoughComeBack::
+_ThatsEnoughComeBackText::
 	text " that's"
 	line "enough! Come back!@"
 	text_end
 
-Text_OKComeBack::
+_OKComeBackText::
 	text " OK!"
 	line "Come back!@"
 	text_end
 
-Text_GoodComeBack::
+_GoodComeBackText::
 	text " good!"
 	line "Come back!@"
 	text_end
 
-Text_ComeBack::
+_ComeBackText::
 	text " come"
 	line "back!"
 	done
 
-UnknownText_0x1c0373::
+_BootedTMText::
 	text "Booted up a TM."
 	prompt
 
-UnknownText_0x1c0384::
+_BootedHMText::
 	text "Booted up an HM."
 	prompt
 
-UnknownText_0x1c0396::
+_ContainedMoveText::
 	text "It contained"
 	line "@"
 	text_ram wStringBuffer2
@@ -182,7 +182,7 @@
 	line "to a #MON?"
 	done
 
-UnknownText_0x1c03c2::
+_TMHMNotCompatibleText::
 	text_ram wStringBuffer2
 	text " is"
 	line "not compatible"
@@ -196,7 +196,7 @@
 	text "."
 	prompt
 
-UnknownText_0x1c03fa::
+_NoRoomTMHMText::
 	text "You have no room"
 	line "for any more"
 	cont "@"
@@ -204,7 +204,7 @@
 	text "S."
 	prompt
 
-UnknownText_0x1c0421::
+_ReceivedTMHMText::
 	text "You received"
 	line "@"
 	text_ram wStringBuffer1
@@ -211,37 +211,37 @@
 	text "!"
 	prompt
 
-UnknownText_0x1c0436::
+_MysteryGiftCanceledText::
 	text "The link has been"
 	line "cancelled."
 	prompt
 
-UnknownText_0x1c0454::
+_MysteryGiftCommErrorText::
 	text "Communication"
 	line "error."
 	prompt
 
-UnknownText_0x1c046a::
+_RetrieveMysteryGiftText::
 	text "Must retrieve GIFT"
 	line "at #MON CENTER."
 	prompt
 
-UnknownText_0x1c048e::
+_YourFriendIsNotReadyText::
 	text "Your friend isn't"
 	line "ready."
 	prompt
 
-UnknownText_0x1c04a7::
+_MysteryGiftFiveADayText::
 	text "Sorry--only five"
 	line "GIFTS a day."
 	prompt
 
-UnknownText_0x1c04c6::
+_MysteryGiftOneADayText::
 	text "Sorry. One GIFT"
 	line "a day per person."
 	prompt
 
-UnknownText_0x1c04e9::
+_MysteryGiftSentText::
 	text_ram wMysteryGiftPartnerName
 	text " sent"
 	line "@"
@@ -249,7 +249,7 @@
 	text "."
 	prompt
 
-UnknownText_0x1c04fa::
+_MysteryGiftSentHomeText::
 	text_ram wMysteryGiftPartnerName
 	text " sent"
 	line "@"
@@ -260,7 +260,7 @@
 	text "'s home."
 	prompt
 
-UnknownText_0x1c051a::
+_MysteryGiftReceivedCardText::
 	text "Received"
 	line "@"
 	text_ram wc850
@@ -267,7 +267,7 @@
 	text "'s CARD."
 	prompt
 
-UnknownText_0x1c0531::
+_MysteryGiftListedCardText::
 	text_ram wc850
 	text "'s CARD was"
 	line "listed as no.@"
@@ -275,17 +275,17 @@
 	text "."
 	prompt
 
-UnknownText_0x1c0555::
+_MysteryGiftNotRegisteredCardText::
 	text "The CARD was not"
 	line "registered."
 	prompt
 
-UnknownText_0x1c0573::
+_MysteryGiftLinkCancelledText::
 	text "The link has been"
 	line "cancelled."
 	prompt
 
-UnknownText_0x1c0591::
+_MysteryGiftLinkCommErrorText::
 	text "Communication"
 	line "error."
 	prompt
@@ -295,26 +295,26 @@
 	line "is required."
 	prompt
 
-UnknownText_0x1c05c8::
+_CantUseItemText::
 	text "Can't use that"
 	line "here."
 	prompt
 
-UnknownText_0x1c05dd::
+_UseCutText::
 	text_ram wStringBuffer2
 	text " used"
 	line "CUT!"
 	prompt
 
-UnknownText_0x1c05ec::
+_CutNothingText::
 	text "There's nothing to"
 	line "CUT here."
 	prompt
 
-UnknownText_0x1c0609::
+_BlindingFlashText::
 	text "A blinding FLASH"
 	line "lights the area!@"
-	text_waitbutton
+	text_promptbutton
 	text_end
 
 	text_end ; unused
@@ -340,44 +340,44 @@
 	line "Want to SURF?"
 	done
 
-UnknownText_0x1c068e::
+_UseWaterfallText::
 	text_ram wStringBuffer2
 	text " used"
 	line "WATERFALL!"
 	done
 
-UnknownText_0x1c06a3::
+_HugeWaterfallText::
 	text "Wow, it's a huge"
 	line "waterfall."
 	done
 
-UnknownText_0x1c06bf::
+_AskWaterfallText::
 	text "Do you want to use"
 	line "WATERFALL?"
 	done
 
-UnknownText_0x1c06de::
+_UseDigText::
 	text_ram wStringBuffer2
 	text " used"
 	line "DIG!"
 	done
 
-UnknownText_0x1c06ed::
+_UseEscapeRopeText::
 	text "<PLAYER> used an"
 	line "ESCAPE ROPE."
 	done
 
-UnknownText_0x1c0705::
+_CantUseDigText::
 	text "Can't use that"
 	line "here."
 	done
 
-UnknownText_0x1c071a::
+_TeleportReturnText::
 	text "Return to the last"
 	line "#MON CENTER."
 	done
 
-UnknownText_0x1c073b::
+_CantUseTeleportText::
 	text "Can't use that"
 	line "here."
 
@@ -384,24 +384,24 @@
 	para ""
 	done
 
-UnknownText_0x1c0751::
+_AlreadyUsingStrengthText::
 	text "A #MON is using"
 	line "STRENGTH already."
 	prompt
 
-UnknownText_0x1c0774::
+_UseStrengthText::
 	text_ram wStringBuffer2
 	text " used"
 	line "STRENGTH!"
 	done
 
-UnknownText_0x1c0788::
+_MoveBoulderText::
 	text_ram wStringBuffer1
 	text " can"
 	line "move boulders."
 	prompt
 
-UnknownText_0x1c07a0::
+_AskStrengthText::
 	text "A #MON may be"
 	line "able to move this."
 
@@ -409,23 +409,23 @@
 	line "STRENGTH?"
 	done
 
-UnknownText_0x1c07d8::
+_BouldersMoveText::
 	text "Boulders may now"
 	line "be moved!"
 	done
 
-UnknownText_0x1c07f4::
+_BouldersMayMoveText::
 	text "A #MON may be"
 	line "able to move this."
 	done
 
-UnknownText_0x1c0816::
+_UseWhirlpoolText::
 	text_ram wStringBuffer2
 	text " used"
 	line "WHIRLPOOL!"
 	prompt
 
-UnknownText_0x1c082b::
+_MayPassWhirlpoolText::
 	text "It's a vicious"
 	line "whirlpool!"
 
@@ -433,7 +433,7 @@
 	line "able to pass it."
 	done
 
-UnknownText_0x1c0864::
+_AskWhirlpoolText::
 	text "A whirlpool is in"
 	line "the way."
 
@@ -441,17 +441,17 @@
 	line "WHIRLPOOL?"
 	done
 
-UnknownText_0x1c0897::
+_UseHeadbuttText::
 	text_ram wStringBuffer2
 	text " did a"
 	line "HEADBUTT!"
 	prompt
 
-UnknownText_0x1c08ac::
+_HeadbuttNothingText::
 	text "Nope. Nothing…"
 	done
 
-UnknownText_0x1c08bc::
+_AskHeadbuttText::
 	text "A #MON could be"
 	line "in this tree."
 
@@ -459,18 +459,18 @@
 	line "it?"
 	done
 
-UnknownText_0x1c08f0::
+_UseRockSmashText::
 	text_ram wStringBuffer2
 	text " used"
 	line "ROCK SMASH!"
 	prompt
 
-UnknownText_0x1c0906::
+_MaySmashText::
 	text "Maybe a #MON"
 	line "can break this."
 	done
 
-UnknownText_0x1c0924::
+_AskRockSmashText::
 	text "This rock looks"
 	line "breakable."
 
@@ -478,26 +478,27 @@
 	line "SMASH?"
 	done
 
-UnknownText_0x1c0958::
+_RodBiteText::
 	text "Oh!"
 	line "A bite!"
 	prompt
 
-UnknownText_0x1c0965::
+_RodNothingText::
 	text "Not even a nibble!"
 	prompt
 
-UnknownText_0x1c0979::
+; unused
+_UnusedNothingHereText::
 	text "Looks like there's"
 	line "nothing here."
 	prompt
 
-UnknownText_0x1c099a::
+_CantGetOffBikeText::
 	text "You can't get off"
 	line "here!"
 	done
 
-UnknownText_0x1c09b2::
+_GotOnBikeText::
 	text "<PLAYER> got on the"
 	line "@"
 	text_ram wStringBuffer2
@@ -504,7 +505,7 @@
 	text "."
 	done
 
-UnknownText_0x1c09c7::
+_GotOffBikeText::
 	text "<PLAYER> got off"
 	line "the @"
 	text_ram wStringBuffer2
@@ -511,7 +512,7 @@
 	text "."
 	done
 
-UnknownText_0x1c09dd::
+_AskCutText::
 	text "This tree can be"
 	line "CUT!"
 
@@ -518,12 +519,12 @@
 	para "Want to use CUT?"
 	done
 
-UnknownText_0x1c0a05::
+_CanCutText::
 	text "This tree can be"
 	line "CUT!"
 	done
 
-UnknownText_0x1c0a1c::
+_FoundItemText::
 	text "<PLAYER> found"
 	line "@"
 	text_ram wStringBuffer3
@@ -530,13 +531,13 @@
 	text "!"
 	done
 
-UnknownText_0x1c0a2c::
+_CantCarryItemText::
 	text "But <PLAYER> can't"
 	line "carry any more"
 	cont "items."
 	done
 
-UnknownText_0x1c0a4e::
+_WhitedOutText::
 	text "<PLAYER> is out of"
 	line "useable #MON!"
 
@@ -544,24 +545,24 @@
 	line "out!"
 	done
 
-UnknownText_0x1c0a77::
+_ItemfinderItemNearbyText::
 	text "Yes! ITEMFINDER"
 	line "indicates there's"
 	cont "an item nearby."
 	prompt
 
-UnknownText_0x1c0aa9::
+_ItemfinderNopeText::
 	text "Nope! ITEMFINDER"
 	line "isn't responding."
 	prompt
 
-UnknownText_0x1c0acc::
+_PoisonFaintText::
 	text_ram wStringBuffer3
 	text_start
 	line "fainted!"
 	prompt
 
-UnknownText_0x1c0ada::
+_PoisonWhiteoutText::
 	text "<PLAYER> is out of"
 	line "useable #MON!"
 
@@ -569,18 +570,18 @@
 	line "out!"
 	prompt
 
-UnknownText_0x1c0b03::
+_UseSweetScentText::
 	text_ram wStringBuffer3
 	text " used"
 	line "SWEET SCENT!"
 	done
 
-UnknownText_0x1c0b1a::
+_SweetScentNothingText::
 	text "Looks like there's"
 	line "nothing here…"
 	done
 
-UnknownText_0x1c0b3b::
+_SquirtbottleNothingText::
 	text "<PLAYER> sprinkled"
 	line "water."
 
@@ -588,26 +589,26 @@
 	line "happened…"
 	done
 
-UnknownText_0x1c0b65::
+_UseSacredAshText::
 	text "<PLAYER>'s #MON"
 	line "were all healed!"
 	done
 
-Text_AnEGGCantHoldAnItem::
+_AnEggCantHoldAnItemText::
 	text "An EGG can't hold"
 	line "an item."
 	prompt
 
-UnknownText_0x1c0b9a::
+_PackNoItemText::
 	text "No items."
 	done
 
-UnknownText_0x1c0ba5::
+_AskThrowAwayText::
 	text "Throw away how"
 	line "many?"
 	done
 
-UnknownText_0x1c0bbb::
+_AskQuantityThrowAwayText::
 	text "Throw away @"
 	text_decimal wItemQuantityChangeBuffer, 1, 2
 	text_start
@@ -616,7 +617,7 @@
 	text "(S)?"
 	done
 
-UnknownText_0x1c0bd8::
+_ThrewAwayText::
 	text "Threw away"
 	line "@"
 	text_ram wStringBuffer2
@@ -623,18 +624,18 @@
 	text "(S)."
 	prompt
 
-UnknownText_0x1c0bee::
+_OakThisIsntTheTimeText::
 	text "OAK: <PLAYER>!"
 	line "This isn't the"
 	cont "time to use that!"
 	prompt
 
-Text_YouDontHaveAMon::
+_YouDontHaveAMonText::
 	text "You don't have a"
 	line "#MON!"
 	prompt
 
-UnknownText_0x1c0c2e::
+_RegisteredItemText::
 	text "Registered the"
 	line "@"
 	text_ram wStringBuffer2
@@ -641,31 +642,31 @@
 	text "."
 	prompt
 
-UnknownText_0x1c0c45::
+_CantRegisterText::
 	text "You can't register"
 	line "that item."
 	prompt
 
-UnknownText_0x1c0c63::
+_AskItemMoveText::
 	text "Where should this"
 	line "be moved to?"
 	done
 
-UnknownText_0x1c0c83::
+_PackEmptyText::
 	text_start
 	done
 
-Text_YouCantUseItInABattle::
+_YouCantUseItInABattleText::
 	text "You can't use it"
 	line "in a battle."
 	prompt
 
-Text_AreYouABoyOrAreYouAGirl::
+_AreYouABoyOrAreYouAGirlText::
 	text "Are you a boy?"
 	line "Or are you a girl?"
 	done
 
-UnknownText_0x1c0cc6::
+Text_BattleEffectActivate::
 	text "<USER>'s"
 	line "@"
 	text_ram wStringBuffer2
@@ -673,16 +674,16 @@
 
 	text_end ; unused
 
-UnknownText_0x1c0cd0::
+_BattleStatWentWayUpText::
 	text_pause
 	text "<SCROLL>went way up!"
 	prompt
 
-UnknownText_0x1c0ce0::
+_BattleStatWentUpText::
 	text " went up!"
 	prompt
 
-UnknownText_0x1c0ceb::
+Text_BattleFoeEffectActivate::
 	text "<TARGET>'s"
 	line "@"
 	text_ram wStringBuffer2
@@ -690,45 +691,45 @@
 
 	text_end ; unused
 
-UnknownText_0x1c0cf5::
+_BattleStatSharplyFellText::
 	text_pause
 	text "<SCROLL>sharply fell!"
 	prompt
 
-UnknownText_0x1c0d06::
+_BattleStatFellText::
 	text " fell!"
 	prompt
 
-UnknownText_0x1c0d0e::
+Text_BattleUser::
 	text "<USER>@"
 	text_end
 
-UnknownText_0x1c0d12::
+_BattleMadeWhirlwindText::
 	text_start
 	line "made a whirlwind!"
 	prompt
 
-UnknownText_0x1c0d26::
+_BattleTookSunlightText::
 	text_start
 	line "took in sunlight!"
 	prompt
 
-UnknownText_0x1c0d3a::
+_BattleLoweredHeadText::
 	text_start
 	line "lowered its head!"
 	prompt
 
-UnknownText_0x1c0d4e::
+_BattleGlowingText::
 	text_start
 	line "is glowing!"
 	prompt
 
-UnknownText_0x1c0d5c::
+_BattleFlewText::
 	text_start
 	line "flew up high!"
 	prompt
 
-UnknownText_0x1c0d6c::
+_BattleDugText::
 	text_start
 	line "dug a hole!"
 	prompt
@@ -778,27 +779,27 @@
 	text "!"
 	done
 
-UnknownText_0x1c0db0::
+Text_BreedHuh::
 	text "Huh?"
 
 	para "@"
 	text_end
 
-UnknownText_0x1c0db8::
+_BreedClearboxText::
 	text_start
 	done
 
-UnknownText_0x1c0dba::
+_BreedEggHatchText::
 	text_ram wStringBuffer1
 	text " came"
 	line "out of its EGG!@"
 	sound_caught_mon
-	text_waitbutton
+	text_promptbutton
 	text_end
 
 	text_end ; unused
 
-UnknownText_0x1c0dd8::
+_BreedAskNicknameText::
 	text "Give a nickname to"
 	line "@"
 	text_ram wStringBuffer1
@@ -805,7 +806,7 @@
 	text "?"
 	done
 
-UnknownText_0x1c0df3::
+_LeftWithDayCareLadyText::
 	text "It's @"
 	text_ram wBreedMon2Nick
 	text_start
@@ -813,7 +814,7 @@
 	cont "the DAY-CARE LADY."
 	done
 
-UnknownText_0x1c0e24::
+_LeftWithDayCareManText::
 	text "It's @"
 	text_ram wBreedMon1Nick
 	text_start
@@ -821,12 +822,12 @@
 	cont "the DAY-CARE MAN."
 	done
 
-UnknownText_0x1c0e54::
+_BreedBrimmingWithEnergyText::
 	text "It's brimming with"
 	line "energy."
 	prompt
 
-UnknownText_0x1c0e6f::
+_BreedNoInterestText::
 	text "It has no interest"
 	line "in @"
 	text_ram wStringBuffer1
@@ -833,7 +834,7 @@
 	text "."
 	prompt
 
-UnknownText_0x1c0e8d::
+_BreedAppearsToCareForText::
 	text "It appears to care"
 	line "for @"
 	text_ram wStringBuffer1
@@ -840,7 +841,7 @@
 	text "."
 	prompt
 
-UnknownText_0x1c0eac::
+_BreedFriendlyText::
 	text "It's friendly with"
 	line "@"
 	text_ram wStringBuffer1
@@ -847,7 +848,7 @@
 	text "."
 	prompt
 
-UnknownText_0x1c0ec6::
+_BreedShowsInterestText::
 	text "It shows interest"
 	line "in @"
 	text_ram wStringBuffer1
@@ -859,44 +860,47 @@
 	line "here."
 	prompt
 
-ClearedMailPutAwayText::
+_MailClearedPutAwayText::
 	text "The cleared MAIL"
 	line "was put away."
 	prompt
 
-MailPackFullText::
+_MailPackFullText::
 	text "The PACK is full."
 	prompt
 
-MailMessageLostText::
+_MailMessageLostText::
 	text "The MAIL's message"
 	line "will be lost. OK?"
 	done
 
-MailAlreadyHoldingItemText::
+_MailAlreadyHoldingItemText::
 	text "It's already hold-"
 	line "ing an item."
 	prompt
 
-MailEggText::
+_MailEggText::
 	text "An EGG can't hold"
 	line "any MAIL."
 	prompt
 
-MailMovedFromBoxText::
+_MailMovedFromBoxText::
 	text "The MAIL was moved"
 	line "from the MAILBOX."
 	prompt
 
-UnknownText_0x1c0fb3::
+; unused
+_YesPromptText::
 	text "Yes"
 	prompt
 
-UnknownText_0x1c0fb8::
+; unused
+_NoPromptText::
 	text "No"
 	prompt
 
-UnknownText_0x1c0fbc::
+; unused
+_AnimationTypeText::
 	text_decimal wcf64, 1, 3
 	text " @"
 	text_ram wStringBuffer1
@@ -907,26 +911,27 @@
 
 	text_end ; unused
 
-UnknownText_0x1c0fdd::
+; unused
+_MonNumberText::
 	text "#MON number?"
 	done
 
-Text_WasSentToBillsPC::
+_WasSentToBillsPCText::
 	text_ram wStringBuffer1
 	text " was"
 	line "sent to BILL's PC."
 	prompt
 
-UnknownText_0x1c1006::
+_PCGottaHavePokemonText::
 	text "You gotta have"
 	line "#MON to call!"
 	prompt
 
-UnknownText_0x1c1024::
+_PCWhatText::
 	text "What?"
 	done
 
-UnknownText_0x1c102b::
+_PCMonHoldingMailText::
 	text "There is a #MON"
 	line "holding MAIL."
 
@@ -934,32 +939,32 @@
 	line "MAIL."
 	prompt
 
-UnknownText_0x1c1062::
+_PCNoSingleMonText::
 	text "You don't have a"
 	line "single #MON!"
 	prompt
 
-UnknownText_0x1c1080::
+_PCCantDepositLastMonText::
 	text "You can't deposit"
 	line "your last #MON!"
 	prompt
 
-UnknownText_0x1c10a2::
+_PCCantTakeText::
 	text "You can't take any"
 	line "more #MON."
 	prompt
 
-UnknownText_0x1c10c0::
+_ContestCaughtMonText::
 	text "Caught @"
 	text_ram wStringBuffer1
 	text "!"
 	prompt
 
-UnknownText_0x1c10cf::
+_ContestAskSwitchText::
 	text "Switch #MON?"
 	done
 
-UnknownText_0x1c10dd::
+_ContestAlreadyCaughtText::
 	text "You already caught"
 	line "a @"
 	text_ram wStringBuffer1
@@ -966,7 +971,7 @@
 	text "."
 	prompt
 
-ContestJudging_FirstPlaceText::
+_ContestJudging_FirstPlaceText::
 	text "This Bug-Catching"
 	line "Contest winner is@"
 	text_pause
@@ -981,7 +986,7 @@
 	text "!@"
 	text_end
 
-ContestJudging_FirstPlaceScoreText::
+_ContestJudging_FirstPlaceScoreText::
 	text_start
 
 	para "The winning score"
@@ -990,7 +995,7 @@
 	text " points!"
 	prompt
 
-ContestJudging_SecondPlaceText::
+_ContestJudging_SecondPlaceText::
 	text "Placing second was"
 	line "@"
 	text_ram wBugContestWinnerName
@@ -1002,7 +1007,7 @@
 	text "!@"
 	text_end
 
-ContestJudging_SecondPlaceScoreText::
+_ContestJudging_SecondPlaceScoreText::
 	text_start
 
 	para "The score was"
@@ -1011,7 +1016,7 @@
 	text " points!"
 	prompt
 
-ContestJudging_ThirdPlaceText::
+_ContestJudging_ThirdPlaceText::
 	text "Placing third was"
 	line "@"
 	text_ram wBugContestWinnerName
@@ -1023,7 +1028,7 @@
 	text "!@"
 	text_end
 
-ContestJudging_ThirdPlaceScoreText::
+_ContestJudging_ThirdPlaceScoreText::
 	text_start
 
 	para "The score was"
@@ -1032,7 +1037,7 @@
 	text " points!"
 	prompt
 
-UnknownText_0x1c1203::
+_MagikarpGuruMeasureText::
 	text "Let me measure"
 	line "that MAGIKARP."
 
@@ -1042,7 +1047,7 @@
 	text "."
 	prompt
 
-UnknownText_0x1c123a::
+_KarpGuruRecordText::
 	text "CURRENT RECORD"
 
 	para "@"
@@ -1050,12 +1055,12 @@
 	text " caught by"
 	line "@"
 	text_ram wMagikarpRecordHoldersName
-	text_waitbutton
+	text_promptbutton
 	text_end
 
 	text_end ; unused
 
-UnknownText_0x1c1261::
+_LuckyNumberMatchPartyText::
 	text "Congratulations!"
 
 	para "We have a match"
@@ -1067,7 +1072,7 @@
 	line "your party."
 	prompt
 
-UnknownText_0x1c12ae::
+_LuckyNumberMatchPCText::
 	text "Congratulations!"
 
 	para "We have a match"
@@ -1079,7 +1084,7 @@
 	line "your PC BOX."
 	prompt
 
-UnknownText_0x1c12fc::
+_CaughtAskNicknameText::
 	text "Give a nickname to"
 	line "the @"
 	text_ram wStringBuffer1
@@ -1087,18 +1092,18 @@
 	cont "received?"
 	done
 
-UnknownText_0x1c1328::
+_PokecenterPCCantUseText::
 	text "Bzzzzt! You must"
 	line "have a #MON to"
 	cont "use this!"
 	prompt
 
-UnknownText_0x1c1353::
+_PlayersPCTurnOnText::
 	text "<PLAYER> turned on"
 	line "the PC."
 	prompt
 
-UnknownText_0x1c1368::
+_PlayersPCAskWhatDoText::
 	text "What do you want"
 	line "to do?"
 	done
@@ -1122,7 +1127,7 @@
 	line "for more items."
 	prompt
 
-UnknownText_0x1c13df::
+_PlayersPCNoItemsText::
 	text "No items here!"
 	prompt
 
@@ -1145,16 +1150,16 @@
 	line "store items."
 	prompt
 
-UnknownText_0x1c144d::
+_PokecenterPCTurnOnText::
 	text "<PLAYER> turned on"
 	line "the PC."
 	prompt
 
-UnknownText_0x1c1462::
+_PokecenterPCWhoseText::
 	text "Access whose PC?"
 	done
 
-UnknownText_0x1c1474::
+_PokecenterBillsPCText::
 	text "BILL's PC"
 	line "accessed."
 
@@ -1162,7 +1167,7 @@
 	line "System opened."
 	prompt
 
-UnknownText_0x1c14a4::
+_PokecenterPlayersPCText::
 	text "Accessed own PC."
 
 	para "Item Storage"
@@ -1169,7 +1174,7 @@
 	line "System opened."
 	prompt
 
-UnknownText_0x1c14d2::
+_PokecenterOaksPCText::
 	text "PROF.OAK's PC"
 	line "accessed."
 
@@ -1177,7 +1182,7 @@
 	line "System opened."
 	prompt
 
-UnknownText_0x1c1505::
+_PokecenterPCOaksClosedText::
 	text "…"
 	line "Link closed…"
 	done
@@ -1347,7 +1352,8 @@
 	line "OAK's PC closed."
 	done
 
-UnknownText_0x1c19cd::
+; unused
+_TrainerRankingExplanationText::
 	text "Triple-theme"
 	line "trainer ranking!"
 
@@ -1358,7 +1364,8 @@
 	para ""
 	done
 
-UnknownText_0x1c1a22::
+; unused
+_TrainerRankingNoDataText::
 	text "There is no"
 	line "ranking data."
 
@@ -1368,20 +1375,20 @@
 	para ""
 	done
 
-UnknownText_0x1c1a5b::
+_DummyGameYeahText::
 	text " , yeah!"
 	done
 
-UnknownText_0x1c1a65::
+_DummyGameDarnText::
 	text "Darn…"
 	done
 
-UnknownText_0x1c1a6c::
+_StartMenuContestEndText::
 	text "Would you like to"
 	line "end the Contest?"
 	done
 
-UnknownText_0x1c1a90::
+_ItemsTossOutHowManyText::
 	text "Toss out how many"
 	line "@"
 	text_ram wStringBuffer2
@@ -1388,7 +1395,7 @@
 	text "(S)?"
 	done
 
-UnknownText_0x1c1aad::
+_ItemsThrowAwayText::
 	text "Throw away @"
 	text_decimal wItemQuantityChangeBuffer, 1, 2
 	text_start
@@ -1397,7 +1404,7 @@
 	text "(S)?"
 	done
 
-UnknownText_0x1c1aca::
+_ItemsDiscardedText::
 	text "Discarded"
 	line "@"
 	text_ram wStringBuffer1
@@ -1404,18 +1411,18 @@
 	text "(S)."
 	prompt
 
-UnknownText_0x1c1adf::
+_ItemsTooImportantText::
 	text "That's too impor-"
 	line "tant to toss out!"
 	prompt
 
-UnknownText_0x1c1b03::
+_ItemsOakWarningText::
 	text "OAK: <PLAYER>!"
 	line "This isn't the"
 	cont "time to use that!"
 	done
 
-UnknownText_0x1c1b2c::
+_PokemonSwapItemText::
 	text "Took @"
 	text_ram wMonOrItemNameBuffer
 	text "'s"
@@ -1429,7 +1436,7 @@
 	text "."
 	prompt
 
-UnknownText_0x1c1b57::
+_PokemonHoldItemText::
 	text "Made @"
 	text_ram wMonOrItemNameBuffer
 	text_start
@@ -1438,23 +1445,23 @@
 	text "."
 	prompt
 
-UnknownText_0x1c1b6f::
+_PokemonRemoveMailText::
 	text "Please remove the"
 	line "MAIL first."
 	prompt
 
-UnknownText_0x1c1b8e::
+_PokemonNotHoldingText::
 	text_ram wMonOrItemNameBuffer
 	text " isn't"
 	line "holding anything."
 	prompt
 
-UnknownText_0x1c1baa::
+_ItemStorageFullText::
 	text "Item storage space"
 	line "full."
 	prompt
 
-UnknownText_0x1c1bc4::
+_PokemonTookItemText::
 	text "Took @"
 	text_ram wStringBuffer1
 	text_start
@@ -1463,7 +1470,7 @@
 	text "."
 	prompt
 
-UnknownText_0x1c1bdc::
+_PokemonAskSwapItemText::
 	text_ram wMonOrItemNameBuffer
 	text " is"
 	line "already holding"
@@ -1474,17 +1481,17 @@
 	line "Switch items?"
 	done
 
-UnknownText_0x1c1c09::
+_ItemCantHeldText::
 	text "This item can't be"
 	line "held."
 	prompt
 
-UnknownText_0x1c1c22::
+_MailLoseMessageText::
 	text "The MAIL will lose"
 	line "its message. OK?"
 	done
 
-UnknownText_0x1c1c47::
+_MailDetachedText::
 	text "MAIL detached from"
 	line "@"
 	text_ram wStringBuffer1
@@ -1491,31 +1498,31 @@
 	text "."
 	prompt
 
-UnknownText_0x1c1c62::
+_MailNoSpaceText::
 	text "There's no space"
 	line "for removing MAIL."
 	prompt
 
-UnknownText_0x1c1c86::
+_MailAskSendToPCText::
 	text "Send the removed"
 	line "MAIL to your PC?"
 	done
 
-UnknownText_0x1c1ca9::
+_MailboxFullText::
 	text "Your PC's MAILBOX"
 	line "is full."
 	prompt
 
-UnknownText_0x1c1cc4::
+_MailSentToPCText::
 	text "The MAIL was sent"
 	line "to your PC."
 	prompt
 
-UnknownText_0x1c1ce3::
+_PokemonNotEnoughHPText::
 	text "Not enough HP!"
 	prompt
 
-UnknownText_0x1c1cf3::
+_MayRegisterItemText::
 	text "An item in your"
 	line "PACK may be"
 
@@ -1544,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
@@ -25,7 +25,7 @@
 	line "later!"
 	done
 
-UnknownText_0x1c40e6::
+_ClockTimeMayBeWrongText::
 	text "The clock's time"
 	line "may be wrong."
 
@@ -33,7 +33,7 @@
 	line "time."
 	prompt
 
-UnknownText_0x1c411c::
+_ClockSetWithControlPadText::
 	text "Set with the"
 	line "Control Pad."
 
@@ -41,28 +41,28 @@
 	line "Cancel:  B Button"
 	done
 
-UnknownText_0x1c415b::
+_ClockIsThisOKText::
 	text "Is this OK?"
 	done
 
-UnknownText_0x1c4168::
+_ClockHasResetText::
 	text "The clock has been"
 	line "reset."
 	done
 
-UnknownText_0x1c4183::
+_LinkTimeoutText::
 	text "Too much time has"
 	line "elapsed. Please"
 	cont "try again."
 	prompt
 
-UnknownText_0x1c41b1::
+_LinkTradeCantBattleText::
 	text "If you trade that"
 	line "#MON, you won't"
 	cont "be able to battle."
 	prompt
 
-UnknownText_0x1c41e6::
+_LinkAbnormalMonText::
 	text "Your friend's"
 	line "@"
 	text_ram wStringBuffer1
@@ -70,7 +70,7 @@
 	cont "to be abnormal!"
 	prompt
 
-UnknownText_0x1c4212::
+_LinkAskTradeForText::
 	text "Trade @"
 	text_ram wd004
 	text_start
@@ -162,12 +162,12 @@
 	line "the same settings?"
 	done
 
-UnknownText_0x1c44c0::
+_MobileBattleLessThanOneMinuteLeftText::
 	text "There is less than"
 	line "1 min. left today!"
 	done
 
-UnknownText_0x1c44e7::
+_MobileBattleNoTimeLeftForLinkingText::
 	text "No time left for"
 	line "linking today."
 	done
@@ -184,61 +184,63 @@
 	text " min."
 	done
 
-UnknownText_0x1c454b::
+_WouldYouLikeToSaveTheGameText::
 	text "Would you like to"
 	line "save the game?"
 	done
 
-UnknownText_0x1c456d::
+_SavingDontTurnOffThePowerText::
 	text "SAVING… DON'T TURN"
 	line "OFF THE POWER."
 	done
 
-UnknownText_0x1c4590::
+_SavedTheGameText::
 	text "<PLAYER> saved"
 	line "the game."
 	done
 
-UnknownText_0x1c45a3::
+_AlreadyASaveFileText::
 	text "There is already a"
 	line "save file. Is it"
 	cont "OK to overwrite?"
 	done
 
-UnknownText_0x1c45d9::
+_AnotherSaveFileText::
 	text "There is another"
 	line "save file. Is it"
 	cont "OK to overwrite?"
 	done
 
-UnknownText_0x1c460d::
+_SaveFileCorruptedText::
 	text "The save file is"
 	line "corrupted!"
 	prompt
 
-UnknownText_0x1c462a::
+_ChangeBoxSaveText::
 	text "When you change a"
 	line "#MON BOX, data"
 	cont "will be saved. OK?"
 	done
 
-UnknownText_0x1c465f::
+_MoveMonWOMailSaveText::
 	text "Each time you move"
 	line "a #MON, data"
 	cont "will be saved. OK?"
 	done
 
-UnknownText_0x1c4693::
+; unused
+_WindowAreaExceededErrorText::
 	text "The window save"
 	line "area was exceeded."
 	done
 
-UnknownText_0x1c46b7::
+_WindowPoppingErrorText::
 	text "No windows avail-"
 	line "able for popping."
 	done
 
-UnknownText_0x1c46dc::
+; unused
+_CorruptedEventErrorText::
 	text "Corrupted event!"
 	prompt
 
@@ -246,15 +248,15 @@
 	text "Object event"
 	done
 
-UnknownText_0x1c46fc::
+_BGEventText::
 	text "BG event"
 	done
 
-UnknownText_0x1c4706::
+_CoordinatesEventText::
 	text "Coordinates event"
 	done
 
-UnknownText_0x1c4719::
+_ReceivedItemText::
 	text "<PLAYER> received"
 	line "@"
 	text_ram wStringBuffer4
@@ -261,7 +263,7 @@
 	text "."
 	done
 
-UnknownText_0x1c472c::
+_PutItemInPocketText::
 	text "<PLAYER> put the"
 	line "@"
 	text_ram wStringBuffer1
@@ -271,7 +273,7 @@
 	text "."
 	prompt
 
-UnknownText_0x1c474b::
+_PocketIsFullText::
 	text "The @"
 	text_ram wStringBuffer3
 	text_start
@@ -278,7 +280,7 @@
 	line "is full…"
 	prompt
 
-UnknownText_0x1c475f::
+_SeerSeeAllText::
 	text "I see all."
 	line "I know all…"
 
@@ -286,7 +288,7 @@
 	line "of your #MON!"
 	done
 
-UnknownText_0x1c4797::
+_SeerCantTellAThingText::
 	text "Whaaaat? I can't"
 	line "tell a thing!"
 
@@ -294,7 +296,7 @@
 	line "know of this?"
 	done
 
-UnknownText_0x1c47d4::
+_SeerNameLocationText::
 	text "Hm… I see you met"
 	line "@"
 	text_ram wSeerNickname
@@ -304,7 +306,7 @@
 	text "!"
 	prompt
 
-UnknownText_0x1c47fa::
+_SeerTimeLevelText::
 	text "The time was"
 	line "@"
 	text_ram wSeerTimeOfDay
@@ -317,7 +319,7 @@
 	para "Am I good or what?"
 	prompt
 
-UnknownText_0x1c4837::
+_SeerTradeText::
 	text "Hm… @"
 	text_ram wSeerNickname
 	text_start
@@ -337,7 +339,7 @@
 	text "!"
 	prompt
 
-UnknownText_0x1c487f::
+_SeerNoLocationText::
 	text "What!? Incredible!"
 
 	para "I don't understand"
@@ -355,7 +357,7 @@
 	para "Am I good or what?"
 	prompt
 
-UnknownText_0x1c491d::
+_SeerEggText::
 	text "Hey!"
 
 	para "That's an EGG!"
@@ -364,12 +366,12 @@
 	line "you've met it yet…"
 	done
 
-UnknownText_0x1c4955::
+_SeerDoNothingText::
 	text "Fufufu! I saw that"
 	line "you'd do nothing!"
 	done
 
-UnknownText_0x1c497a::
+_SeerMoreCareText::
 	text "Incidentally…"
 
 	para "It would be wise"
@@ -379,7 +381,7 @@
 	line "little more care."
 	done
 
-UnknownText_0x1c49c6::
+_SeerMoreConfidentText::
 	text "Incidentally…"
 
 	para "It seems to have"
@@ -392,7 +394,7 @@
 	cont "more confident."
 	done
 
-UnknownText_0x1c4a21::
+_SeerMuchStrengthText::
 	text "Incidentally…"
 
 	para "@"
@@ -402,7 +404,7 @@
 	cont "much strength."
 	done
 
-UnknownText_0x1c4a5b::
+_SeerMightyText::
 	text "Incidentally…"
 
 	para "It certainly has"
@@ -420,7 +422,7 @@
 	line "with confidence."
 	done
 
-UnknownText_0x1c4ae5::
+_SeerImpressedText::
 	text "Incidentally…"
 
 	para "I'm impressed by"
@@ -444,7 +446,7 @@
 	line "excite anyone."
 	done
 
-UnknownText_0x1c4b92::
+_CongratulationsYourPokemonText::
 	text "Congratulations!"
 	line "Your @"
 	text_ram wStringBuffer2
@@ -452,7 +454,7 @@
 
 	text_end ; unused
 
-UnknownText_0x1c4baf::
+_EvolvedIntoText::
 	text_start
 
 	para "evolved into"
@@ -461,7 +463,7 @@
 	text "!"
 	done
 
-UnknownText_0x1c4bc5::
+_StoppedEvolvingText::
 	text "Huh? @"
 	text_ram wStringBuffer2
 	text_start
@@ -468,7 +470,7 @@
 	line "stopped evolving!"
 	prompt
 
-UnknownText_0x1c4be3::
+_EvolvingText::
 	text "What? @"
 	text_ram wStringBuffer2
 	text_start
@@ -475,11 +477,11 @@
 	line "is evolving!"
 	done
 
-UnknownText_0x1c4bfd::
+_MartHowManyText::
 	text "How many?"
 	done
 
-UnknownText_0x1c4c08::
+_MartFinalPriceText::
 	text_decimal wItemQuantityChangeBuffer, 1, 2
 	text " @"
 	text_ram wStringBuffer2
@@ -489,7 +491,7 @@
 	text "."
 	done
 
-UnknownText_0x1c4c28::
+_HerbShopLadyIntroText::
 	text "Hello, dear."
 
 	para "I sell inexpensive"
@@ -504,11 +506,11 @@
 	para "Hehehehe…"
 	done
 
-UnknownText_0x1c4ca3::
+_HerbalLadyHowManyText::
 	text "How many?"
 	done
 
-UnknownText_0x1c4cae::
+_HerbalLadyFinalPriceText::
 	text_decimal wItemQuantityChangeBuffer, 1, 2
 	text " @"
 	text_ram wStringBuffer2
@@ -518,27 +520,27 @@
 	text "."
 	done
 
-UnknownText_0x1c4cce::
+_HerbalLadyThanksText::
 	text "Thank you, dear."
 	line "Hehehehe…"
 	done
 
-UnknownText_0x1c4cea::
+_HerbalLadyPackFullText::
 	text "Oh? Your PACK is"
 	line "full, dear."
 	done
 
-UnknownText_0x1c4d08::
+_HerbalLadyNoMoneyText::
 	text "Hehehe… You don't"
 	line "have the money."
 	done
 
-UnknownText_0x1c4d2a::
+_HerbalLadyComeAgainText::
 	text "Come again, dear."
 	line "Hehehehe…"
 	done
 
-UnknownText_0x1c4d47::
+_BargainShopIntroText::
 	text "Hiya! Care to see"
 	line "some bargains?"
 
@@ -549,7 +551,7 @@
 	line "one of each item."
 	done
 
-UnknownText_0x1c4db0::
+_BargainShopFinalPriceText::
 	text_ram wStringBuffer2
 	text " costs"
 	line "¥@"
@@ -557,41 +559,41 @@
 	text ". Want it?"
 	done
 
-UnknownText_0x1c4dcd::
+_BargainShopThanksText::
 	text "Thanks."
 	done
 
-UnknownText_0x1c4dd6::
+_BargainShopPackFullText::
 	text "Uh-oh, your PACK"
 	line "is chock-full."
 	done
 
-UnknownText_0x1c4df7::
+_BargainShopSoldOutText::
 	text "You bought that"
 	line "already. I'm all"
 	cont "sold out of it."
 	done
 
-UnknownText_0x1c4e28::
+_BargainShopNoFundsText::
 	text "Uh-oh, you're"
 	line "short on funds."
 	done
 
-UnknownText_0x1c4e46::
+_BargainShopComeAgainText::
 	text "Come by again"
 	line "sometime."
 	done
 
-UnknownText_0x1c4e5f::
+_PharmacyIntroText::
 	text "What's up? Need"
 	line "some medicine?"
 	done
 
-UnknownText_0x1c4e7e::
+_PharmacyHowManyText::
 	text "How many?"
 	done
 
-UnknownText_0x1c4e89::
+_PharmacyFinalPriceText::
 	text_decimal wItemQuantityChangeBuffer, 1, 2
 	text " @"
 	text_ram wStringBuffer2
@@ -601,35 +603,36 @@
 	text "."
 	done
 
-UnknownText_0x1c4eab::
+_PharmacyThanksText::
 	text "Thanks much!"
 	done
 
-UnknownText_0x1c4eb9::
+_PharmacyPackFullText::
 	text "You don't have any"
 	line "more space."
 	done
 
-UnknownText_0x1c4ed8::
+_PharmacyNoMoneyText::
 	text "Huh? That's not"
 	line "enough money."
 	done
 
-UnknownText_0x1c4ef6::
+_PharmacyComeAgainText::
 	text "All right."
 	line "See you around."
 	done
 
-UnknownText_0x1c4f12::
+; unused
+_NothingToSellText::
 	text "You don't have"
 	line "anything to sell."
 	prompt
 
-UnknownText_0x1c4f33::
+_MartSellHowManyText::
 	text "How many?"
 	done
 
-UnknownText_0x1c4f3e::
+_MartSellPriceText::
 	text "I can pay you"
 	line "¥@"
 	text_decimal hMoneyTemp, 3, 6
@@ -638,41 +641,41 @@
 	para "Is that OK?"
 	done
 
-UnknownText_0x1c4f62::
+_MartWelcomeText::
 	text "Welcome! How may I"
 	line "help you?"
 	done
 
-UnknownText_0x1c4f80::
+_MartThanksText::
 	text "Here you are."
 	line "Thank you!"
 	done
 
-UnknownText_0x1c4f9a::
+_MartNoMoneyText::
 	text "You don't have"
 	line "enough money."
 	done
 
-UnknownText_0x1c4fb7::
+_MartPackFullText::
 	text "You can't carry"
 	line "any more items."
 	done
 
-UnknownText_0x1c4fd7::
+_MartCantBuyText::
 	text "Sorry, I can't buy"
 	line "that from you."
 	prompt
 
-UnknownText_0x1c4ff9::
+_MartComeAgainText::
 	text "Please come again!"
 	done
 
-UnknownText_0x1c500d::
+_MartAskMoreText::
 	text "Can I do anything"
 	line "else for you?"
 	done
 
-UnknownText_0x1c502e::
+_MartBoughtText::
 	text "Got ¥@"
 	text_decimal hMoneyTemp, 3, 6
 	text " for"
@@ -681,30 +684,30 @@
 	text "(S)."
 	done
 
-UnknownText_0x1c5049::
+_SlotsBetHowManyCoinsText::
 	text "Bet how many"
 	line "coins?"
 	done
 
-UnknownText_0x1c505e::
+_SlotsStartText::
 	text "Start!"
 	done
 
-UnknownText_0x1c5066::
+_SlotsNotEnoughCoinsText::
 	text "Not enough"
 	line "coins."
 	prompt
 
-UnknownText_0x1c5079::
+_SlotsRanOutOfCoinsText::
 	text "Darn… Ran out of"
 	line "coins…"
 	done
 
-UnknownText_0x1c5092::
+_SlotsPlayAgainText::
 	text "Play again?"
 	done
 
-UnknownText_0x1c509f::
+_SlotsLinedUpText::
 	text "lined up!"
 	line "Won @"
 	text_ram wStringBuffer2
@@ -711,7 +714,7 @@
 	text " coins!"
 	done
 
-UnknownText_0x1c50bb::
+_SlotsDarnText::
 	text "Darn!"
 	done
 
@@ -739,26 +742,30 @@
 	para ""
 	done
 
-UnknownText_0x1c5182::
+_MainMenuTimeUnknownText::
 	text "Clock time unknown"
 	done
 
-UnknownText_0x1c5196::
+; unused mobile
+_DeleteSavedLoginPasswordText::
 	text "Delete the saved"
 	line "LOG-IN PASSWORD?"
 	done
 
-UnknownText_0x1c51b9::
+; unused mobile
+_DeletedTheLoginPasswordText::
 	text "Deleted the LOG-IN"
 	line "PASSWORD."
 	done
 
-UnknownText_0x1c51d7::
+; unused mobile
+_MobilePickThreeMonForBattle::
 	text "Pick three #MON"
 	line "for battle."
 	prompt
 
-UnknownText_0x1c51f4::
+; unused mobile
+_MobileUseTheseThreeMonText::
 	text_ram wMobileParticipant1Nickname
 	text ","
 	line "@"
@@ -771,12 +778,14 @@
 	para "Use these three?"
 	done
 
-UnknownText_0x1c521c::
+; unused mobile
+_MobileOnlyThreeMonMayEnterText::
 	text "Only three #MON"
 	line "may enter."
 	prompt
 
-UnknownText_0x1c5238::
+; unused mobile
+_MobileCardFolderIntro1Text::
 	text "The CARD FOLDER"
 	line "stores your and"
 
@@ -793,7 +802,8 @@
 	para ""
 	done
 
-UnknownText_0x1c52bc::
+; unused mobile
+_MobileCardFolderIntro2Text::
 	text "This is your CARD."
 
 	para "Once you've"
@@ -806,7 +816,8 @@
 	para ""
 	done
 
-UnknownText_0x1c531e::
+; unused mobile
+_MobileCardFolderIntro3Text::
 	text "If you have your"
 	line "friend's CARD, you"
 
@@ -820,7 +831,8 @@
 	para ""
 	done
 
-UnknownText_0x1c5394::
+; unused mobile
+_MobileCardFolderIntro4Text::
 	text "To safely store"
 	line "your collection of"
 
@@ -831,7 +843,8 @@
 	para ""
 	done
 
-UnknownText_0x1c53ee::
+; unused mobile
+_MobileCardFolderAskDeleteText::
 	text "If the CARD FOLDER"
 	line "is deleted, all"
 
@@ -847,12 +860,14 @@
 	line "your CARD FOLDER?"
 	done
 
-UnknownText_0x1c5494::
+; unused mobile
+_MobileCardFolderDeleteAreYouSureText::
 	text "Are you sure you"
 	line "want to delete it?"
 	done
 
-UnknownText_0x1c54b9::
+; unused mobile
+_MobileCardFolderDeletedText::
 	text "The CARD FOLDER"
 	line "has been deleted."
 
@@ -859,7 +874,8 @@
 	para ""
 	done
 
-UnknownText_0x1c54dd::
+; unused mobile
+_MobileCardFolderAskOpenOldText::
 	text "There is an older"
 	line "CARD FOLDER from a"
 	cont "previous journey."
@@ -868,72 +884,75 @@
 	line "open it?"
 	done
 
-UnknownText_0x1c552d::
+; unused mobile
+_MobileCardFolderAskDeleteOldText::
 	text "Delete the old"
 	line "CARD FOLDER?"
 	done
 
-UnknownText_0x1c554a::
+; unused mobile
+_MobileCardFolderFinishRegisteringCardsText::
 	text "Finish registering"
 	line "CARDS?"
 	done
 
-UnknownText_0x1c5565::
+_PhoneWrongNumberText::
 	text "Huh? Sorry, wrong"
 	line "number!"
 	done
 
-UnknownText_0x1c5580::
+_PhoneClickText::
 	text "Click!"
 	done
 
-UnknownText_0x1c5588::
+_PhoneEllipseText::
 	text "<……>"
 	done
 
-UnknownText_0x1c558b::
+_PhoneOutOfAreaText::
 	text "That number is out"
 	line "of the area."
 	done
 
-UnknownText_0x1c55ac::
+_PhoneJustTalkToThemText::
 	text "Just go talk to"
 	line "that person!"
 	done
 
-UnknownText_0x1c55ca::
+_PhoneThankYouText::
 	text "Thank you!"
 	done
 
+; unused
 UnknownText_0x1c55d6::
 	text "  :"
 	done
 
-UnknownText_0x1c55db::
+_PasswordAskResetText::
 	text "Password OK."
 	line "Select CONTINUE &"
 	cont "reset settings."
 	prompt
 
-UnknownText_0x1c560b::
+_PasswordWrongText::
 	text "Wrong password!"
 	prompt
 
-UnknownText_0x1c561c::
+_PasswordAskResetClockText::
 	text "Reset the clock?"
 	done
 
-UnknownText_0x1c562e::
+_PasswordAskEnterText::
 	text "Please enter the"
 	line "password."
 	done
 
-UnknownText_0x1c564a::
+_ClearAllSaveDataText::
 	text "Clear all save"
 	line "data?"
 	done
 
-UnknownText_0x1c5660::
+_LearnedMoveText::
 	text_ram wMonOrItemNameBuffer
 	text " learned"
 	line "@"
@@ -940,17 +959,17 @@
 	text_ram wStringBuffer2
 	text "!@"
 	sound_dex_fanfare_50_79
-	text_waitbutton
+	text_promptbutton
 	text_end
 
 	text_end ; unused
 
-UnknownText_0x1c5678::
+_MoveAskForgetText::
 	text "Which move should"
 	next "be forgotten?"
 	done
 
-UnknownText_0x1c5699::
+_StopLearningMoveText::
 	text "Stop learning"
 	line "@"
 	text_ram wStringBuffer2
@@ -957,7 +976,7 @@
 	text "?"
 	done
 
-UnknownText_0x1c56af::
+_DidNotLearnMoveText::
 	text_ram wMonOrItemNameBuffer
 	text_start
 	line "did not learn"
@@ -966,7 +985,7 @@
 	text "."
 	prompt
 
-UnknownText_0x1c56c9::
+_AskForgetMoveText::
 	text_ram wMonOrItemNameBuffer
 	text " is"
 	line "trying to learn"
@@ -987,7 +1006,7 @@
 	text "?"
 	done
 
-UnknownText_0x1c5740::
+Text_MoveForgetCount::
 	text "1, 2 and…@"
 	text_pause
 	text_end
@@ -994,7 +1013,7 @@
 
 	text_end ; unused
 
-UnknownText_0x1c574e::
+_MoveForgotText::
 	text " Poof!@"
 	text_pause
 	text_start
@@ -1009,94 +1028,94 @@
 	para "And…"
 	prompt
 
-UnknownText_0x1c5772::
+_MoveCantForgetHMText::
 	text "HM moves can't be"
 	line "forgotten now."
 	prompt
 
-UnknownText_0x1c5793::
+_CardFlipPlayWithThreeCoinsText::
 	text "Play with three"
 	line "coins?"
 	done
 
-UnknownText_0x1c57ab::
+_CardFlipNotEnoughCoinsText::
 	text "Not enough coins…"
 	prompt
 
-UnknownText_0x1c57be::
+_CardFlipChooseACardText::
 	text "Choose a card."
 	done
 
-UnknownText_0x1c57ce::
+_CardFlipPlaceYourBetText::
 	text "Place your bet."
 	done
 
-UnknownText_0x1c57df::
+_CardFlipPlayAgainText::
 	text "Want to play"
 	line "again?"
 	done
 
-UnknownText_0x1c57f4::
+_CardFlipShuffledText::
 	text "The cards have"
 	line "been shuffled."
 	prompt
 
-UnknownText_0x1c5813::
+_CardFlipYeahText::
 	text "Yeah!"
 	done
 
-UnknownText_0x1c581a::
+_CardFlipDarnText::
 	text "Darn…"
 	done
 
-UnknownText_0x1c5821::
+_GearTodayText::
 	text_today
 	text_end
 
 	text_end ; unused
 
-UnknownText_0x1c5824::
+_GearEllipseText::
 	text "<……>"
 	done
 
-UnknownText_0x1c5827::
+_GearOutOfServiceText::
 	text "You're out of the"
 	line "service area."
 	prompt
 
-UnknownText_0x1c5847::
+_PokegearAskWhoCallText::
 	text "Whom do you want"
 	line "to call?"
 	done
 
-UnknownText_0x1c5862::
+_PokegearPressButtonText::
 	text "Press any button"
 	line "to exit."
 	done
 
-UnknownText_0x1c587d::
+_PokegearAskDeleteText::
 	text "Delete this stored"
 	line "phone number?"
 	done
 
-UnknownText_0x1c589f::
+_BuenaAskWhichPrizeText::
 	text "Which prize would"
 	line "you like?"
 	done
 
-UnknownText_0x1c58bc::
+_BuenaIsThatRightText::
 	text_ram wStringBuffer1
 	text "?"
 	line "Is that right?"
 	done
 
-UnknownText_0x1c58d1::
+_BuenaHereYouGoText::
 	text "Here you go!"
 
 	para ""
 	done
 
-UnknownText_0x1c58e0::
+_BuenaNotEnoughPointsText::
 	text "You don't have"
 	line "enough points."
 
@@ -1103,7 +1122,7 @@
 	para ""
 	done
 
-UnknownText_0x1c58ff::
+_BuenaNoRoomText::
 	text "You have no room"
 	line "for it."
 
@@ -1110,18 +1129,18 @@
 	para ""
 	done
 
-UnknownText_0x1c591a::
+_BuenaComeAgainText::
 	text "Oh. Please come"
 	line "back again!"
 	done
 
-UnknownText_0x1c5937::
+_BTExcuseMeText::
 	text "Excuse me!"
 
 	para ""
 	done
 
-Text_ExcuseMeYoureNotReady::
+_ExcuseMeYoureNotReadyText::
 	text "Excuse me."
 	line "You're not ready."
 
@@ -1128,7 +1147,7 @@
 	para ""
 	done
 
-UnknownText_0x1c5962::
+_BattleTowerReturnWhenReadyText::
 	text "Please return when"
 	line "you're ready."
 	done
@@ -1181,7 +1200,7 @@
 	para ""
 	done
 
-UnknownText_0x1c5a5a::
+_BallDodgedText::
 	text "It dodged the"
 	line "thrown BALL!"
 
@@ -1189,32 +1208,32 @@
 	line "can't be caught!"
 	prompt
 
-UnknownText_0x1c5a90::
+_BallMissedText::
 	text "You missed the"
 	line "#MON!"
 	prompt
 
-UnknownText_0x1c5aa6::
+_BallBrokeFreeText::
 	text "Oh no! The #MON"
 	line "broke free!"
 	prompt
 
-UnknownText_0x1c5ac3::
+_BallAppearedCaughtText::
 	text "Aww! It appeared"
 	line "to be caught!"
 	prompt
 
-UnknownText_0x1c5ae3::
+_BallAlmostHadItText::
 	text "Aargh!"
 	line "Almost had it!"
 	prompt
 
-UnknownText_0x1c5afa::
+_BallSoCloseText::
 	text "Shoot! It was so"
 	line "close too!"
 	prompt
 
-UnknownText_0x1c5b17::
+Text_BallCaught::
 	text "Gotcha! @"
 	text_ram wEnemyMonNick
 	text_start
@@ -1224,30 +1243,30 @@
 
 	text_end ; unused
 
-Text_Waitbutton_2::
-	text_waitbutton
+_WaitButtonText::
+	text_promptbutton
 	text_end
 
 	text_end ; unused
 
-UnknownText_0x1c5b38::
+_BallSentToPCText::
 	text_ram wMonOrItemNameBuffer
 	text " was"
 	line "sent to BILL's PC."
 	prompt
 
-UnknownText_0x1c5b53::
+_NewDexDataText::
 	text_ram wEnemyMonNick
 	text "'s data"
 	line "was newly added to"
 	cont "the #DEX.@"
 	sound_slot_machine_start
-	text_waitbutton
+	text_promptbutton
 	text_end
 
 	text_end ; unused
 
-UnknownText_0x1c5b7f::
+_AskGiveNicknameText::
 	text "Give a nickname to"
 	line "@"
 	text_ram wStringBuffer1
@@ -1254,7 +1273,7 @@
 	text "?"
 	done
 
-UnknownText_0x1c5b9a::
+_ItemStatRoseText::
 	text_ram wStringBuffer1
 	text "'s"
 	line "@"
@@ -1262,18 +1281,18 @@
 	text " rose."
 	prompt
 
-UnknownText_0x1c5bac::
+_ItemCantUseOnMonText::
 	text "That can't be used"
 	line "on this #MON."
 	prompt
 
-Text_RepelUsedEarlierIsStillInEffect::
+_RepelUsedEarlierIsStillInEffectText::
 	text "The REPEL used"
 	line "earlier is still"
 	cont "in effect."
 	prompt
 
-UnknownText_0x1c5bf9::
+_PlayedFluteText::
 	text "Played the #"
 	line "FLUTE."
 
@@ -1281,20 +1300,20 @@
 	line "catchy tune!"
 	prompt
 
-UnknownText_0x1c5c28::
+_FluteWakeUpText::
 	text "All sleeping"
 	line "#MON woke up."
 	prompt
 
-UnknownText_0x1c5c44::
+Text_PlayedPokeFlute::
 	text "<PLAYER> played the"
 	line "# FLUTE.@"
-	text_waitbutton
+	text_promptbutton
 	text_end
 
 	text_end ; unused
 
-UnknownText_0x1c5c5e::
+_BlueCardBalanceText::
 	text "You now have"
 	line "@"
 	text_decimal wBlueCardBalance, 1, 2
@@ -1301,7 +1320,7 @@
 	text " points."
 	done
 
-UnknownText_0x1c5c7b::
+_CoinCaseCountText::
 	text "Coins:"
 	line "@"
 	text_decimal wCoins, 2, 4
@@ -1309,33 +1328,33 @@
 
 	text_end ; unused
 
-Text_RaiseThePPOfWhichMove::
+_RaiseThePPOfWhichMoveText::
 	text "Raise the PP of"
 	line "which move?"
 	done
 
-Text_RestoreThePPOfWhichMove::
+_RestoreThePPOfWhichMoveText::
 	text "Restore the PP of"
 	line "which move?"
 	done
 
-Text_PPIsMaxedOut::
+_PPIsMaxedOutText::
 	text_ram wStringBuffer2
 	text "'s PP"
 	line "is maxed out."
 	prompt
 
-Text_PPsIncreased::
+_PPsIncreasedText::
 	text_ram wStringBuffer2
 	text "'s PP"
 	line "increased."
 	prompt
 
-UnknownText_0x1c5cf1::
+_PPRestoredText::
 	text "PP was restored."
 	prompt
 
-UnknownText_0x1c5d03::
+_SentTrophyHomeText::
 	text "There was a trophy"
 	line "inside!@"
 	sound_dex_fanfare_50_79
@@ -1347,46 +1366,46 @@
 	line "trophy home."
 	prompt
 
-UnknownText_0x1c5d3e::
+_ItemLooksBitterText::
 	text "It looks bitter…"
 	prompt
 
-UnknownText_0x1c5d50::
+_ItemCantUseOnEggText::
 	text "That can't be used"
 	line "on an EGG."
 	prompt
 
-UnknownText_0x1c5d6e::
+_ItemOakWarningText::
 	text "OAK: <PLAYER>!"
 	line "This isn't the"
 	cont "time to use that!"
 	prompt
 
-UnknownText_0x1c5d97::
+_ItemBelongsToSomeoneElseText::
 	text "That belongs to"
 	line "someone else!"
 	prompt
 
-UnknownText_0x1c5db6::
+_ItemWontHaveEffectText::
 	text "It won't have any"
 	line "effect."
 	prompt
 
-UnknownText_0x1c5dd0::
+_BallBlockedText::
 	text "The trainer"
 	line "blocked the BALL!"
 	prompt
 
-UnknownText_0x1c5def::
+_BallDontBeAThiefText::
 	text "Don't be a thief!"
 	prompt
 
-UnknownText_0x1c5e01::
+_NoCyclingText::
 	text "Cycling isn't"
 	line "allowed here."
 	prompt
 
-UnknownText_0x1c5e1d::
+_ItemCantGetOnText::
 	text "Can't get on your"
 	line "@"
 	text_ram wStringBuffer1
@@ -1393,13 +1412,13 @@
 	text " now."
 	prompt
 
-UnknownText_0x1c5e3a::
+_BallBoxFullText::
 	text "The #MON BOX"
 	line "is full. That"
 	cont "can't be used now."
 	prompt
 
-UnknownText_0x1c5e68::
+_ItemUsedText::
 	text "<PLAYER> used the@"
 	text_low
 	text_ram wStringBuffer2
@@ -1406,7 +1425,7 @@
 	text "."
 	done
 
-UnknownText_0x1c5e7b::
+_ItemGotOnText::
 	text "<PLAYER> got on the@"
 	text_low
 	text_ram wStringBuffer2
@@ -1413,7 +1432,7 @@
 	text "."
 	prompt
 
-UnknownText_0x1c5e90::
+_ItemGotOffText::
 	text "<PLAYER> got off@"
 	text_low
 	text "the @"
@@ -1421,7 +1440,7 @@
 	text "."
 	prompt
 
-UnknownText_0x1c5ea8::
+_KnowsMoveText::
 	text_ram wStringBuffer1
 	text " knows"
 	line "@"
@@ -1429,12 +1448,12 @@
 	text "."
 	prompt
 
-UnknownText_0x1c5eba::
+_MoveKnowsOneText::
 	text "That #MON knows"
 	line "only one move."
 	done
 
-UnknownText_0x1c5eda::
+_AskDeleteMoveText::
 	text "Oh, make it forget"
 	line "@"
 	text_ram wStringBuffer1
@@ -1441,27 +1460,27 @@
 	text "?"
 	done
 
-UnknownText_0x1c5ef5::
+_DeleterForgotMoveText::
 	text "Done! Your #MON"
 	line "forgot the move."
 	done
 
-UnknownText_0x1c5f17::
+_DeleterEggText::
 	text "An EGG doesn't"
 	line "know any moves!"
 	done
 
-UnknownText_0x1c5f36::
+_DeleterNoComeAgainText::
 	text "No? Come visit me"
 	line "again."
 	done
 
-UnknownText_0x1c5f50::
+_DeleterAskWhichMoveText::
 	text "Which move should"
 	line "it forget, then?"
 	prompt
 
-UnknownText_0x1c5f74::
+_DeleterIntroText::
 	text "Um… Oh, yes, I'm"
 	line "the MOVE DELETER."
 
@@ -1472,43 +1491,43 @@
 	line "#MON forget?"
 	done
 
-UnknownText_0x1c5fd1::
+_DeleterAskWhichMonText::
 	text "Which #MON?"
 	prompt
 
-Text_DSTIsThatOK::
+_DSTIsThatOKText::
 	text " DST,"
 	line "is that OK?"
 	done
 
-UnknownText_0x1c5ff1::
+_TimeAskOkayText::
 	text ","
 	line "is that OK?"
 	done
 
-UnknownText_0x1c6000::
+_TimesetAskDSTText::
 	text "Do you want to"
 	line "switch to Daylight"
 	cont "Saving Time?"
 	done
 
-UnknownText_0x1c6030::
+_TimesetDSTText::
 	text "I set the clock"
 	line "forward by one"
 	cont "hour."
 	prompt
 
-UnknownText_0x1c6056::
+_TimesetAskNotDSTText::
 	text "Is Daylight Saving"
 	line "Time over?"
 	done
 
-UnknownText_0x1c6075::
+_TimesetNotDSTText::
 	text "I put the clock"
 	line "back one hour."
 	prompt
 
-UnknownText_0x1c6095::
+_TimesetAskAdjustDSTText::
 	text "Do you want to"
 	line "adjust your clock"
 
@@ -1516,7 +1535,7 @@
 	line "Saving Time?"
 	done
 
-UnknownText_0x1c60d1::
+_MomLostGearBookletText::
 	text "I lost the in-"
 	line "struction booklet"
 	cont "for the #GEAR."
--- a/data/text/std_text.asm
+++ b/data/text/std_text.asm
@@ -159,7 +159,7 @@
 	line "merchandise!"
 	done
 
-TownMapText:
+LookTownMapText:
 	text "It's the TOWN MAP."
 	done
 
--- 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/bugs_and_glitches.md
+++ b/docs/bugs_and_glitches.md
@@ -15,12 +15,16 @@
 
 ## Contents
 
+- [Perish Song and Spikes can leave a Pokémon with 0 HP and not faint](#perish-song-and-spikes-can-leave-a-pokémon-with-0-hp-and-not-faint)
 - [Thick Club and Light Ball can make (Special) Attack wrap around above 1024](#thick-club-and-light-ball-can-make-special-attack-wrap-around-above-1024)
 - [Metal Powder can increase damage taken with boosted (Special) Defense](#metal-powder-can-increase-damage-taken-with-boosted-special-defense)
 - [Reflect and Light Screen can make (Special) Defense wrap around above 1024](#reflect-and-light-screen-can-make-special-defense-wrap-around-above-1024)
+- [Glacier Badge may not boost Special Defense depending on the value of Special Attack](#glacier-badge-may-not-boost-special-defense-depending-on-the-value-of-special-attack)
 - [Moves with a 100% secondary effect chance will not trigger it in 1/256 uses](#moves-with-a-100-secondary-effect-chance-will-not-trigger-it-in-1256-uses)
 - [Belly Drum sharply boosts Attack even with under 50% HP](#belly-drum-sharply-boosts-attack-even-with-under-50-hp)
+- [Berserk Gene's confusion lasts for 256 turns or the previous Pokémon's confusion count](#berserk-genes-confusion-lasts-for-256-turns-or-the-previous-Pokémons-confusion-count)
 - [Confusion damage is affected by type-boosting items and Explosion/Self-Destruct doubling](#confusion-damage-is-affected-by-type-boosting-items-and-explosionself-destruct-doubling)
+- [Saves corrupted by mid-save shutoff are not handled](#saves-corrupted-by-mid-save-shutoff-are-not-handled)
 - [Moves that lower Defense can do so after breaking a Substitute](#moves-that-lower-defense-can-do-so-after-breaking-a-substitute)
 - [Counter and Mirror Coat still work if the opponent uses an item](#counter-and-mirror-coat-still-work-if-the-opponent-uses-an-item)
 - [A Disabled but PP Up–enhanced move may not trigger Struggle](#a-disabled-but-pp-upenhanced-move-may-not-trigger-struggle)
@@ -31,9 +35,11 @@
 - [Beat Up may fail to raise Substitute](#beat-up-may-fail-to-raise-substitute)
 - [Beat Up may trigger King's Rock even if it failed](#beat-up-may-trigger-kings-rock-even-if-it-failed)
 - [Present damage is incorrect in link battles](#present-damage-is-incorrect-in-link-battles)
+- [A Transformed Pokémon can use Sketch and learn otherwise unobtainable moves](#a-transformed-pokémon-can-use-sketch-and-learn-otherwise-unobtainable-moves)
 - ["Smart" AI encourages Mean Look if its own Pokémon is badly poisoned](#smart-ai-encourages-mean-look-if-its-own-pokémon-is-badly-poisoned)
 - [AI makes a false assumption about `CheckTypeMatchup`](#ai-makes-a-false-assumption-about-checktypematchup)
 - [NPC use of Full Heal or Full Restore does not cure Nightmare status](#npc-use-of-full-heal-or-full-restore-does-not-cure-nightmare-status)
+- [NPC use of Full Heal does not cure confusion status](#npc-use-of-full-heal-does-not-cure-confusion-status)
 - [HP bar animation is slow for high HP](#hp-bar-animation-is-slow-for-high-hp)
 - [HP bar animation off-by-one error for low HP](#hp-bar-animation-off-by-one-error-for-low-hp)
 - [Experience underflow for level 1 Pokémon with Medium-Slow growth rate](#experience-underflow-for-level-1-pokémon-with-medium-slow-growth-rate)
@@ -74,6 +80,54 @@
 - [`BattleAnimCmd_ClearObjs` only clears the first 6⅔ objects](#battleanimcmd_clearobjs-only-clears-the-first-6-objects)
 
 
+## Perish Song and Spikes can leave a Pokémon with 0 HP and not faint
+
+*Fixing this bug will break compatibility with standard Pokémon Crystal for link battles.*
+
+([Video](https://www.youtube.com/watch?v=1IiPWw5fMf8&t=85))
+
+**Fix:** Edit `CheckFaint_PlayerThenEnemy` and `CheckFaint_EnemyThenPlayer` in [engine/battle/core.asm](https://github.com/pret/pokecrystal/blob/master/engine/battle/core.asm):
+
+```diff
+ 	jp HandleEncore
+
++HasAnyoneFainted:
++	call HasPlayerFainted
++	call nz, HasEnemyFainted
++	ret
++
+ CheckFaint_PlayerThenEnemy:
++.faint_loop
++	call .Function
++	ret c
++	call HasAnyoneFainted
++	ret nz
++	jr .faint_loop
++
++.Function:
+ 	call HasPlayerFainted
+ 	jr nz, .PlayerNotFainted
+ 	call HandlePlayerMonFaint
+ 	...
+```
+
+```diff
+ CheckFaint_EnemyThenPlayer:
++.faint_loop
++	call .Function
++	ret c
++	call HasAnyoneFainted
++	ret nz
++	jr .faint_loop
++
++.Function:
+ 	call HasEnemyFainted
+ 	jr nz, .EnemyNotFainted
+ 	call HandleEnemyMonFaint
+ 	...
+```
+
+
 ## Thick Club and Light Ball can make (Special) Attack wrap around above 1024
 
 *Fixing this bug will break compatibility with standard Pokémon Crystal for link battles.*
@@ -167,6 +221,34 @@
 (This fix also affects Thick Club, Light Ball, and Metal Powder, as described above, but their specific fixes in the above bugs allow more accurate damage calculations.)
 
 
+## Glacier Badge may not boost Special Defense depending on the value of Special Attack
+
+As Pryce's dialog ("That BADGE will raise the SPECIAL stats of POKéMON.") implies, Glacier Badge is intended to boost both Special Attack and Special Defense. However, due to BoostStat overwriting `a` when boosting Special Attack, the Special Defense boost will not happen if the unboosted Special Attack stat is either 0-205 or 433-660.
+
+**Fix:** Edit `BadgeStatBoosts.CheckBadge` in [engine/battle/core.asm](https://github.com/pret/pokecrystal/blob/master/engine/battle/core.asm):
+
+```diff
+ .CheckBadge:
+ 	ld a, b
+ 	srl b
++	push af
+ 	call c, BoostStat
++	pop af
+ 	inc hl
+ 	inc hl
+ ; Check every other badge.
+ 	srl b
+ 	dec c
+ 	jr nz, .CheckBadge
+ ; Check GlacierBadge again for Special Defense.
+-; This check is buggy because it assumes that a is set by the "ld a, b" in the above loop,
+-; but it can actually be overwritten by the call to BoostStat.
+ 	srl a
+ 	call c, BoostStat
+ 	ret
+```
+
+
 ## Moves with a 100% secondary effect chance will not trigger it in 1/256 uses
 
 *Fixing this bug **may** break compatibility with standard Pokémon Crystal for link battles.*
@@ -242,6 +324,39 @@
 ```
 
 
+## Berserk Gene's confusion lasts for 256 turns or the previous Pokémon's confusion count
+
+*Fixing this bug will break compatibility with standard Pokémon Crystal for link battles.*
+
+([Video](https://youtube.com/watch?v=Pru3mohq20A))
+
+**Fix:** Edit `HandleBerserkGene` in [engine/battle/core.asm](https://github.com/pret/pokecrystal/blob/master/engine/battle/core.asm):
+
+```diff
+ HandleBerserkGene:
+ 	...
+ 	ld a, BATTLE_VARS_SUBSTATUS3
+ 	call GetBattleVarAddr
+ 	push af
+ 	set SUBSTATUS_CONFUSED, [hl]
++	ld a, [hBattleTurn]
++	and a
++	ld hl, wEnemyConfuseCount
++	jr z, .set_confuse_count
++	ld hl, wPlayerConfuseCount
++.set_confuse_count
++	call BattleRandom
++	and %11
++	add a, 2
++	ld [hl], a
+ 	ld a, BATTLE_VARS_MOVE_ANIM
+ 	call GetBattleVarAddr
+ 	...
+```
+
+This makes the Berserk Gene use the regular confusion duration (2-5 turns).
+
+
 ## Confusion damage is affected by type-boosting items and Explosion/Self-Destruct doubling
 
 *Fixing this bug will break compatibility with standard Pokémon Crystal for link battles.*
@@ -250,11 +365,15 @@
 
 **Fix:**
 
-First, edit [hram.asm](https://github.com/pret/pokecrystal/blob/master/hram.asm):
+First, edit [wram.asm](https://github.com/pret/pokecrystal/blob/master/wram.asm):
 
 ```diff
- hClockResetTrigger:: db ; ffeb
-+hIsConfusionDamage:: db ; ffec
+ wTurnEnded:: db ; c6b4
+
+-	ds 1
++wIsConfusionDamage:: db ; c6b5
+
+ wPlayerStats:: ; c6b6
 ```
 
 Then edit four routines in [engine/battle/effect_commands.asm](https://github.com/pret/pokecrystal/blob/master/engine/battle/effect_commands.asm):
@@ -267,7 +386,7 @@
  	pop af
  	ld e, a
 +	ld a, TRUE
-+	ldh [hIsConfusionDamage], a
++	ld [wIsConfusionDamage], a
  	ret
 ```
 
@@ -277,7 +396,7 @@
  	...
  .skip_zero_damage_check
 +	xor a ; Not confusion damage
-+	ldh [hIsConfusionDamage], a
++	ld [wIsConfusionDamage], a
 +	; fallthrough
 +
 +ConfusionDamageCalc:
@@ -293,7 +412,7 @@
  ; Item boosts
 +
 +; Item boosts don't apply to confusion damage
-+	ldh a, [hIsConfusionDamage]
++	ld a, [wIsConfusionDamage]
 +	and a
 +	jr nz, .DoneItem
 +
@@ -332,6 +451,109 @@
 ```
 
 
+## Saves corrupted by mid-save shutoff are not handled
+
+([Video 1](https://www.youtube.com/watch?v=ukqtK0l6bu0), [Video 2](https://www.youtube.com/watch?v=c2zHd1BPtvc))
+
+**Fix:** Edit `MoveMonWOMail_InsertMon_SaveGame` and `_SaveGameData` in [engine/menus/save.asm](https://github.com/pret/pokecrystal/blob/master/engine/menus/save.asm):
+
+```diff
+ MoveMonWOMail_InsertMon_SaveGame:
+ 	...
+ 	ld a, TRUE
+ 	ld [wSaveFileExists], a
+ 	farcall StageRTCTimeForSave
+ 	farcall BackupMysteryGift
+-	call ValidateSave
++	call InvalidateSave
+ 	call SaveOptions
+ 	call SavePlayerData
+ 	call SavePokemonData
+ 	call SaveChecksum
+-	call ValidateBackupSave
++	call ValidateSave
++	call InvalidateBackupSave
+ 	call SaveBackupOptions
+ 	call SaveBackupPlayerData
+ 	call SaveBackupPokemonData
+ 	call SaveBackupChecksum
++	call ValidateBackupSave
+ 	farcall BackupPartyMonMail
+ 	farcall BackupMobileEventIndex
+ 	farcall SaveRTC
+ 	...
+```
+
+```diff
+ _SaveGameData:
+ 	...
+ 	ld a, TRUE
+ 	ld [wSaveFileExists], a
+ 	farcall StageRTCTimeForSave
+ 	farcall BackupMysteryGift
+-	call ValidateSave
++	call InvalidateSave
+ 	call SaveOptions
+ 	call SavePlayerData
+ 	call SavePokemonData
+ 	call SaveBox
+ 	call SaveChecksum
+-	call ValidateBackupSave
++	call ValidateSave
++	call InvalidateBackupSave
+ 	call SaveBackupOptions
+ 	call SaveBackupPlayerData
+ 	call SaveBackupPokemonData
+ 	call SaveBackupChecksum
++	call ValidateBackupSave
+ 	call UpdateStackTop
+ 	farcall BackupPartyMonMail
+ 	farcall BackupMobileEventIndex
+ 	farcall SaveRTC
+ 	...
+```
+
+Then create two new routines, `InvalidateSave` and `InvalidateBackupSave`:
+
+```diff
+ ValidateSave:
+ 	ld a, BANK(sCheckValue1) ; aka BANK(sCheckValue2)
+ 	call GetSRAMBank
+ 	ld a, SAVE_CHECK_VALUE_1
+ 	ld [sCheckValue1], a
+ 	ld a, SAVE_CHECK_VALUE_2
+ 	ld [sCheckValue2], a
+ 	jp CloseSRAM
+
++InvalidateSave:
++	ld a, BANK(sCheckValue1) ; aka BANK(sCheckValue2)
++	call GetSRAMBank
++	xor a
++	ld [sCheckValue1], a
++	ld [sCheckValue2], a
++	jp CloseSRAM
+```
+
+```diff
+ ValidateBackupSave:
+ 	ld a, BANK(sBackupCheckValue1) ; aka BANK(sBackupCheckValue2)
+ 	call GetSRAMBank
+ 	ld a, SAVE_CHECK_VALUE_1
+ 	ld [sBackupCheckValue1], a
+ 	ld a, SAVE_CHECK_VALUE_2
+ 	ld [sBackupCheckValue2], a
+ 	jp CloseSRAM
+
++InvalidateBackupSave:
++	ld a, BANK(sBackupCheckValue1) ; aka BANK(sBackupCheckValue2)
++	call GetSRAMBank
++	xor a
++	ld [sBackupCheckValue1], a
++	ld [sBackupCheckValue2], a
++	jp CloseSRAM
+```
+
+
 ## Moves that lower Defense can do so after breaking a Substitute
 
 *Fixing this bug will break compatibility with standard Pokémon Crystal for link battles.*
@@ -615,6 +837,23 @@
 ```
 
 
+## A Transformed Pokémon can use Sketch and learn otherwise unobtainable moves
+
+([Video](https://www.youtube.com/watch?v=AFiBxAOkCGI))
+
+**Fix:** Edit `BattleCommand_Sketch` in [engine/battle/move_effects/sketch.asm](https://github.com/pret/pokecrystal/blob/master/engine/battle/move_effects/sketch.asm):
+
+```diff
+-; If the opponent is transformed, fail.
++; If the user is transformed, fail.
+-	ld a, BATTLE_VARS_SUBSTATUS5_OPP
++	ld a, BATTLE_VARS_SUBSTATUS5
+ 	call GetBattleVarAddr
+ 	bit SUBSTATUS_TRANSFORMED, [hl]
+ 	jp nz, .fail
+```
+
+
 ## "Smart" AI encourages Mean Look if its own Pokémon is badly poisoned
 
 ([Video](https://www.youtube.com/watch?v=cygMO-zHTls))
@@ -641,10 +880,8 @@
  	ld hl, wEnemyMonType1
  	ldh a, [hBattleTurn]
  	and a
- 	jr z, CheckTypeMatchup
+	jr z, CheckTypeMatchup
  	ld hl, wBattleMonType1
-+	ld a, BATTLE_VARS_MOVE_TYPE
-+	call GetBattleVar ; preserves hl, de, and bc
  CheckTypeMatchup:
 -; There is an incorrect assumption about this function made in the AI related code: when
 -; the AI calls CheckTypeMatchup (not BattleCheckTypeMatchup), it assumes that placing the
@@ -652,6 +889,8 @@
 -; this assumption is incorrect. A simple fix would be to load the move type for the
 -; current move into a in BattleCheckTypeMatchup, before falling through, which is
 -; consistent with how the rest of the code assumes this code works like.
++	ld a, BATTLE_VARS_MOVE_TYPE
++	call GetBattleVar ; preserves hl, de, and bc
  	push hl
  	push de
  	push bc
@@ -677,12 +916,16 @@
  	xor a
  	ld [hl], a
  	ld [wEnemyMonStatus], a
--	; Bug: this should reset SUBSTATUS_NIGHTMARE too
--	; Uncomment the lines below to fix
+-	; Bug: this should reset SUBSTATUS_NIGHTMARE
+-	; Uncomment the 2 lines below to fix
 -	; ld hl, wEnemySubStatus1
 -	; res SUBSTATUS_NIGHTMARE, [hl]
 +	ld hl, wEnemySubStatus1
 +	res SUBSTATUS_NIGHTMARE, [hl]
+	; Bug: this should reset SUBSTATUS_CONFUSED
+	; Uncomment the 2 lines below to fix
+	; ld hl, wEnemySubStatus3
+	; res SUBSTATUS_CONFUSED, [hl]
  	ld hl, wEnemySubStatus5
  	res SUBSTATUS_TOXIC, [hl]
  	ret
@@ -689,6 +932,57 @@
 ```
 
 
+## NPC use of Full Heal does not cure confusion status
+
+**Fix:** Edit `EnemyUsedFullRestore`, `EnemyUsedFullHeal`, and `AI_HealStatus` in [engine/battle/ai/items.asm](https://github.com/pret/pokecrystal/blob/master/engine/battle/ai/items.asm):
+
+```diff
+ EnemyUsedFullRestore:
+ 	call AI_HealStatus
+ 	ld a, FULL_RESTORE
+ 	ld [wCurEnemyItem], a
+-	ld hl, wEnemySubStatus3
+-	res SUBSTATUS_CONFUSED, [hl]
+ 	xor a
+ 	ld [wEnemyConfuseCount], a
+```
+
+```diff
+ EnemyUsedFullHeal:
+ 	call AIUsedItemSound
+ 	call AI_HealStatus
+ 	ld a, FULL_HEAL
++	ld [wCurEnemyItem], a
++	xor a
++	ld [wEnemyConfuseCount], a
+ 	jp PrintText_UsedItemOn_AND_AIUpdateHUD
+```
+
+```diff
+ AI_HealStatus:
+ 	ld a, [wCurOTMon]
+ 	ld hl, wOTPartyMon1Status
+ 	ld bc, PARTYMON_STRUCT_LENGTH
+ 	call AddNTimes
+ 	xor a
+ 	ld [hl], a
+ 	ld [wEnemyMonStatus], a
+	; Bug: this should reset SUBSTATUS_NIGHTMARE
+	; Uncomment the 2 lines below to fix
+	; ld hl, wEnemySubStatus1
+	; res SUBSTATUS_NIGHTMARE, [hl]
+-	; Bug: this should reset SUBSTATUS_CONFUSED
+-	; Uncomment the 2 lines below to fix
+-	; ld hl, wEnemySubStatus3
+-	; res SUBSTATUS_CONFUSED, [hl]
++	ld hl, wEnemySubStatus3
++	res SUBSTATUS_CONFUSED, [hl]
+ 	ld hl, wEnemySubStatus5
+ 	res SUBSTATUS_TOXIC, [hl]
+ 	ret
+```
+
+
 ## HP bar animation is slow for high HP
 
 ([Video](https://www.youtube.com/watch?v=SE-BfsFgZVM))
@@ -780,10 +1074,10 @@
 
 ([Video](https://www.youtube.com/watch?v=o54VjpAEoO8))
 
-**Fix:** Edit `Text_ABoostedStringBuffer2ExpPoints` and `Text_StringBuffer2ExpPoints` in [data/text/common_2.asm](https://github.com/pret/pokecrystal/blob/master/data/text/common_2.asm):
+**Fix:** Edit `_BoostedExpPointsText` and `_ExpPointsText` in [data/text/common_2.asm](https://github.com/pret/pokecrystal/blob/master/data/text/common_2.asm):
 
 ```diff
- Text_ABoostedStringBuffer2ExpPoints::
+ _BoostedExpPointsText::
  	text_start
  	line "a boosted"
  	cont "@"
@@ -792,7 +1086,7 @@
  	text " EXP. Points!"
  	prompt
 
- Text_StringBuffer2ExpPoints::
+ _ExpPointsText::
  	text_start
  	line "@"
 -	text_decimal wStringBuffer2, 2, 4
@@ -1036,7 +1330,7 @@
  	jr nc, .GenerateDVs
 ```
 
-**Better fix:** Rewrite the whole system to use millimeters instead of feet and inches, since they have better precision (1 in = 25.4 mm); and only convert from metric to imperial units for display purposes (or don't, of course). 
+**Better fix:** Rewrite the whole system to use millimeters instead of feet and inches, since they have better precision (1 in = 25.4 mm); and only convert from metric to imperial units for display purposes (or don't, of course).
 
 
 ## Magikarp lengths can be miscalculated
@@ -1233,7 +1527,7 @@
 
 ([Video](https://www.youtube.com/watch?v=ojq3xqfRF6I))
 
-**Fix:** Edit `Slots_PayoutAnim` in [engine/games/slot_machine.asm](https://github.com/pret/pokecrystal/blob/master/engine/games/slot_machine.asm):
+**Fix:** Edit `SlotsAction_PayoutAnim` in [engine/games/slot_machine.asm](https://github.com/pret/pokecrystal/blob/master/engine/games/slot_machine.asm):
 
 ```diff
  .okay
@@ -1383,7 +1677,7 @@
  	...
 
  	jp .loop
- 
+
  .quit
 +	pop af
 +	ldh [hInMenu], a
@@ -1442,12 +1736,12 @@
  	writetext UsedSurfText ; "used SURF!"
  	waitbutton
  	closetext
- 
+
  	callasm .empty_fn ; empty function
- 
+
  	readmem wBuffer2
  	writevar VAR_MOVEMENT
- 
+
  	special ReplaceKrisSprite
  	special PlayMapMusic
 -; step into the water (slow_step DIR, step_end)
@@ -1784,8 +2078,9 @@
  	ld de, 3
  	ld hl, .pointers
  	call IsInArray
- 	jr nc, .nope
+- 	jr nc, .nope
  	pop bc
++	jr nc, .nope
 
  	inc hl
  	ld a, [hli]
@@ -1795,7 +2090,6 @@
 
  .nope
 -	; pop bc
-+	pop bc
  	xor a
  	ret
 ```
--- 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/battle/ai/items.asm
+++ b/engine/battle/ai/items.asm
@@ -687,7 +687,7 @@
 	pop af
 
 	jr c, .skiptext
-	ld hl, TextJump_EnemyWithdrew
+	ld hl, EnemyWithdrewText
 	call PrintText
 
 .skiptext
@@ -707,8 +707,8 @@
 	scf
 	ret
 
-TextJump_EnemyWithdrew:
-	text_far Text_EnemyWithdrew
+EnemyWithdrewText:
+	text_far _EnemyWithdrewText
 	text_end
 
 Function384d5: ; This appears to be unused
@@ -725,10 +725,14 @@
 	xor a
 	ld [hl], a
 	ld [wEnemyMonStatus], a
-	; Bug: this should reset SUBSTATUS_NIGHTMARE too
-	; Uncomment the lines below to fix
+	; Bug: this should reset SUBSTATUS_NIGHTMARE
+	; Uncomment the 2 lines below to fix
 	; ld hl, wEnemySubStatus1
 	; res SUBSTATUS_NIGHTMARE, [hl]
+	; Bug: this should reset SUBSTATUS_CONFUSED
+	; Uncomment the 2 lines below to fix
+	; ld hl, wEnemySubStatus3
+	; res SUBSTATUS_CONFUSED, [hl]
 	ld hl, wEnemySubStatus5
 	res SUBSTATUS_TOXIC, [hl]
 	ret
@@ -824,9 +828,9 @@
 	ld de, wMonOrItemNameBuffer
 	ld bc, ITEM_NAME_LENGTH
 	call CopyBytes
-	ld hl, TextJump_EnemyUsedOn
+	ld hl, EnemyUsedOnText
 	jp PrintText
 
-TextJump_EnemyUsedOn:
-	text_far Text_EnemyUsedOn
+EnemyUsedOnText:
+	text_far _EnemyUsedOnText
 	text_end
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -6758,12 +6758,12 @@
 ; depending on which badges have been obtained.
 
 ; Every other badge boosts a stat, starting from the first.
+; GlacierBadge also boosts Special Defense, although the relevant code is buggy (see below).
 
 ; 	ZephyrBadge:  Attack
 ; 	PlainBadge:   Speed
 ; 	MineralBadge: Defense
-; 	GlacierBadge: Special Attack
-; 	RisingBadge:  Special Defense
+; 	GlacierBadge: Special Attack and Special Defense
 
 ; The boosted stats are in order, except PlainBadge and MineralBadge's boosts are swapped.
 
@@ -6806,7 +6806,9 @@
 	srl b
 	dec c
 	jr nz, .CheckBadge
-; And the last one (RisingBadge) too.
+; Check GlacierBadge again for Special Defense.
+; This check is buggy because it assumes that a is set by the "ld a, b" in the above loop,
+; but it can actually be overwritten by the call to BoostStat.
 	srl a
 	call c, BoostStat
 	ret
@@ -7405,20 +7407,20 @@
 Text_MonGainedExpPoint:
 	text_far Text_Gained
 	text_asm
-	ld hl, TextJump_StringBuffer2ExpPoints
+	ld hl, ExpPointsText
 	ld a, [wStringBuffer2 + 2] ; IsTradedMon
 	and a
 	ret z
 
-	ld hl, TextJump_ABoostedStringBuffer2ExpPoints
+	ld hl, BoostedExpPointsText
 	ret
 
-TextJump_ABoostedStringBuffer2ExpPoints:
-	text_far Text_ABoostedStringBuffer2ExpPoints
+BoostedExpPointsText:
+	text_far _BoostedExpPointsText
 	text_end
 
-TextJump_StringBuffer2ExpPoints:
-	text_far Text_StringBuffer2ExpPoints
+ExpPointsText:
+	text_far _ExpPointsText
 	text_end
 
 AnimateExpBar:
@@ -7687,11 +7689,11 @@
 	text_far Text_YourFoesWeakGetmMon
 	text_asm
 Function_TextJump_BattleMonNick01:
-	ld hl, TextJump_BattleMonNick01
+	ld hl, BattleMonNicknameText
 	ret
 
-TextJump_BattleMonNick01:
-	text_far Text_BattleMonNick01
+BattleMonNicknameText:
+	text_far _BattleMonNicknameText
 	text_end
 
 WithdrawMonText:
@@ -7734,40 +7736,40 @@
 	pop bc
 	pop de
 	ldh a, [hQuotient + 3]
-	ld hl, TextJump_ThatsEnoughComeBack
+	ld hl, ThatsEnoughComeBackText
 	and a
 	ret z
 
-	ld hl, TextJump_ComeBack
+	ld hl, ComeBackText
 	cp 30
 	ret c
 
-	ld hl, TextJump_OKComeBack
+	ld hl, OKComeBackText
 	cp 70
 	ret c
 
-	ld hl, TextJump_GoodComeBack
+	ld hl, GoodComeBackText
 	ret
 
-TextJump_ThatsEnoughComeBack:
-	text_far Text_ThatsEnoughComeBack
+ThatsEnoughComeBackText:
+	text_far _ThatsEnoughComeBackText
 	text_end
 
-TextJump_OKComeBack:
-	text_far Text_OKComeBack
+OKComeBackText:
+	text_far _OKComeBackText
 	text_end
 
-TextJump_GoodComeBack:
-	text_far Text_GoodComeBack
+GoodComeBackText:
+	text_far _GoodComeBackText
 	text_end
 
 Unreferenced_TextJump_ComeBack:
 ; this function doesn't seem to be used
-	ld hl, TextJump_ComeBack
+	ld hl, ComeBackText
 	ret
 
-TextJump_ComeBack:
-	text_far Text_ComeBack
+ComeBackText:
+	text_far _ComeBackText
 	text_end
 
 Unreferenced_HandleSafariAngerEatingStatus:
--- a/engine/battle/effect_commands.asm
+++ b/engine/battle/effect_commands.asm
@@ -4546,21 +4546,21 @@
 	jp BattleTextbox
 
 .stat
-	text_far UnknownText_0x1c0cc6
+	text_far Text_BattleEffectActivate
 	text_asm
-	ld hl, .up
+	ld hl, .BattleStatWentUpText
 	ld a, [wLoweredStat]
 	and $f0
 	ret z
-	ld hl, .wayup
+	ld hl, .BattleStatWentWayUpText
 	ret
 
-.wayup
-	text_far UnknownText_0x1c0cd0
+.BattleStatWentWayUpText:
+	text_far _BattleStatWentWayUpText
 	text_end
 
-.up
-	text_far UnknownText_0x1c0ce0
+.BattleStatWentUpText:
+	text_far _BattleStatWentUpText
 	text_end
 
 BattleCommand_StatDownMessage:
@@ -4576,21 +4576,21 @@
 	jp BattleTextbox
 
 .stat
-	text_far UnknownText_0x1c0ceb
+	text_far Text_BattleFoeEffectActivate
 	text_asm
-	ld hl, .fell
+	ld hl, .BattleStatFellText
 	ld a, [wLoweredStat]
 	and $f0
 	ret z
-	ld hl, .sharplyfell
+	ld hl, .BattleStatSharplyFellText
 	ret
 
-.sharplyfell
-	text_far UnknownText_0x1c0cf5
+.BattleStatSharplyFellText:
+	text_far _BattleStatSharplyFellText
 	text_end
 
-.fell
-	text_far UnknownText_0x1c0d06
+.BattleStatFellText:
+	text_far _BattleStatFellText
 	text_end
 
 TryLowerStat:
@@ -5641,64 +5641,58 @@
 	jp EndMoveEffect
 
 .UsedText:
-	text_far UnknownText_0x1c0d0e ; "<USER>"
+	text_far Text_BattleUser ; "<USER>"
 	text_asm
 	ld a, BATTLE_VARS_MOVE_ANIM
 	call GetBattleVar
 	cp RAZOR_WIND
-	ld hl, .RazorWind
+	ld hl, .BattleMadeWhirlwindText
 	jr z, .done
 
 	cp SOLARBEAM
-	ld hl, .Solarbeam
+	ld hl, .BattleTookSunlightText
 	jr z, .done
 
 	cp SKULL_BASH
-	ld hl, .SkullBash
+	ld hl, .BattleLoweredHeadText
 	jr z, .done
 
 	cp SKY_ATTACK
-	ld hl, .SkyAttack
+	ld hl, .BattleGlowingText
 	jr z, .done
 
 	cp FLY
-	ld hl, .Fly
+	ld hl, .BattleFlewText
 	jr z, .done
 
 	cp DIG
-	ld hl, .Dig
+	ld hl, .BattleDugText
 
 .done
 	ret
 
-.RazorWind:
-; 'made a whirlwind!'
-	text_far UnknownText_0x1c0d12
+.BattleMadeWhirlwindText:
+	text_far _BattleMadeWhirlwindText
 	text_end
 
-.Solarbeam:
-; 'took in sunlight!'
-	text_far UnknownText_0x1c0d26
+.BattleTookSunlightText:
+	text_far _BattleTookSunlightText
 	text_end
 
-.SkullBash:
-; 'lowered its head!'
-	text_far UnknownText_0x1c0d3a
+.BattleLoweredHeadText:
+	text_far _BattleLoweredHeadText
 	text_end
 
-.SkyAttack:
-; 'is glowing!'
-	text_far UnknownText_0x1c0d4e
+.BattleGlowingText:
+	text_far _BattleGlowingText
 	text_end
 
-.Fly:
-; 'flew up high!'
-	text_far UnknownText_0x1c0d5c
+.BattleFlewText:
+	text_far _BattleFlewText
 	text_end
 
-.Dig:
-; 'dug a hole!'
-	text_far UnknownText_0x1c0d6c
+.BattleDugText:
+	text_far _BattleDugText
 	text_end
 
 BattleCommand3c:
--- a/engine/battle/move_effects/mimic.asm
+++ b/engine/battle/move_effects/mimic.asm
@@ -43,7 +43,7 @@
 	ld [hl], 5
 	call GetMoveName
 	call AnimateCurrentMove
-	ld hl, LearnedMoveText
+	ld hl, MimicLearnedMoveText
 	jp StdBattleTextbox
 
 .fail
--- a/engine/events/battle_tower/get_trainer_class.asm
+++ b/engine/events/battle_tower/get_trainer_class.asm
@@ -21,7 +21,7 @@
 
 .skip_male_trainers
 	ld a, [de]
-	cp $1
+	cp FEMALE
 	ld hl, MaleTrainers
 	jr nz, .finished
 
--- a/engine/events/battle_tower/rules.asm
+++ b/engine/events/battle_tower/rules.asm
@@ -16,13 +16,12 @@
 	dw BattleTower_CheckPartyHasThreeMonsThatAreNotEggs
 
 .TextPointers:
-	dw .ExcuseMeText
+	dw .BTExcuseMeText
 	dw NeedAtLeastThreeMonText
 	dw EggDoesNotQualifyText
 
-.ExcuseMeText:
-	; Excuse me!
-	text_far UnknownText_0x1c5937
+.BTExcuseMeText:
+	text_far _BTExcuseMeText
 	text_end
 
 _CheckForBattleTowerRules:
@@ -49,54 +48,46 @@
 	dw Function_HasPartyAnEgg
 
 .TextPointers:
-	dw JumpText_ExcuseMeYoureNotReady
+	dw ExcuseMeYoureNotReadyText
 	dw OnlyThreeMonMayBeEnteredText
 	dw TheMonMustAllBeDifferentKindsText
 	dw TheMonMustNotHoldTheSameItemsText
 	dw YouCantTakeAnEggText
 
-JumpText_ExcuseMeYoureNotReady:
-	; Excuse me. You're not ready.
-	text_far Text_ExcuseMeYoureNotReady
+ExcuseMeYoureNotReadyText:
+	text_far _ExcuseMeYoureNotReadyText
 	text_end
 
 BattleTower_PleaseReturnWhenReady:
-	ld hl, .PleaseReturnWhenReady
+	ld hl, .BattleTowerReturnWhenReadyText
 	call PrintText
 	ret
 
-.PleaseReturnWhenReady:
-	; Please return when you're ready.
-	text_far UnknownText_0x1c5962
+.BattleTowerReturnWhenReadyText:
+	text_far _BattleTowerReturnWhenReadyText
 	text_end
 
 NeedAtLeastThreeMonText:
-	; You need at least three #MON.
 	text_far _NeedAtLeastThreeMonText
 	text_end
 
 EggDoesNotQualifyText:
-	; Sorry, an EGG doesn't qualify.
 	text_far _EggDoesNotQualifyText
 	text_end
 
 OnlyThreeMonMayBeEnteredText:
-	; Only three #MON may be entered.
 	text_far _OnlyThreeMonMayBeEnteredText
 	text_end
 
 TheMonMustAllBeDifferentKindsText:
-	; The @  #MON must all be different kinds.
 	text_far _TheMonMustAllBeDifferentKindsText
 	text_end
 
 TheMonMustNotHoldTheSameItemsText:
-	; The @  #MON must not hold the same items.
 	text_far _TheMonMustNotHoldTheSameItemsText
 	text_end
 
 YouCantTakeAnEggText:
-	; You can't take an EGG!
 	text_far _YouCantTakeAnEggText
 	text_end
 
--- a/engine/events/battle_tower/trainer_text.asm
+++ b/engine/events/battle_tower/trainer_text.asm
@@ -94,85 +94,85 @@
 	dw .PlayerWon
 
 .Greetings:
-	dw BTGreetingM1
-	dw BTGreetingM2
-	dw BTGreetingM3
-	dw BTGreetingM4
-	dw BTGreetingM5
-	dw BTGreetingM6
-	dw BTGreetingM7
-	dw BTGreetingM8
-	dw BTGreetingM9
-	dw BTGreetingM10
-	dw BTGreetingM11
-	dw BTGreetingM12
-	dw BTGreetingM13
-	dw BTGreetingM14
-	dw BTGreetingM15
-	dw BTGreetingM16
-	dw BTGreetingM17
-	dw BTGreetingM18
-	dw BTGreetingM19
-	dw BTGreetingM20
-	dw BTGreetingM21
-	dw BTGreetingM22
-	dw BTGreetingM23
-	dw BTGreetingM24
-	dw BTGreetingM25
+	dw BTGreetingM1Text
+	dw BTGreetingM2Text
+	dw BTGreetingM3Text
+	dw BTGreetingM4Text
+	dw BTGreetingM5Text
+	dw BTGreetingM6Text
+	dw BTGreetingM7Text
+	dw BTGreetingM8Text
+	dw BTGreetingM9Text
+	dw BTGreetingM10Text
+	dw BTGreetingM11Text
+	dw BTGreetingM12Text
+	dw BTGreetingM13Text
+	dw BTGreetingM14Text
+	dw BTGreetingM15Text
+	dw BTGreetingM16Text
+	dw BTGreetingM17Text
+	dw BTGreetingM18Text
+	dw BTGreetingM19Text
+	dw BTGreetingM20Text
+	dw BTGreetingM21Text
+	dw BTGreetingM22Text
+	dw BTGreetingM23Text
+	dw BTGreetingM24Text
+	dw BTGreetingM25Text
 
 .PlayerLost:
-	dw BTLossM1
-	dw BTLossM2
-	dw BTLossM3
-	dw BTLossM4
-	dw BTLossM5
-	dw BTLossM6
-	dw BTLossM7
-	dw BTLossM8
-	dw BTLossM9
-	dw BTLossM10
-	dw BTLossM11
-	dw BTLossM12
-	dw BTLossM13
-	dw BTLossM14
-	dw BTLossM15
-	dw BTLossM16
-	dw BTLossM17
-	dw BTLossM18
-	dw BTLossM19
-	dw BTLossM20
-	dw BTLossM21
-	dw BTLossM22
-	dw BTLossM23
-	dw BTLossM24
-	dw BTLossM25
+	dw BTLossM1Text
+	dw BTLossM2Text
+	dw BTLossM3Text
+	dw BTLossM4Text
+	dw BTLossM5Text
+	dw BTLossM6Text
+	dw BTLossM7Text
+	dw BTLossM8Text
+	dw BTLossM9Text
+	dw BTLossM10Text
+	dw BTLossM11Text
+	dw BTLossM12Text
+	dw BTLossM13Text
+	dw BTLossM14Text
+	dw BTLossM15Text
+	dw BTLossM16Text
+	dw BTLossM17Text
+	dw BTLossM18Text
+	dw BTLossM19Text
+	dw BTLossM20Text
+	dw BTLossM21Text
+	dw BTLossM22Text
+	dw BTLossM23Text
+	dw BTLossM24Text
+	dw BTLossM25Text
 
 .PlayerWon:
-	dw BTWinM1
-	dw BTWinM2
-	dw BTWinM3
-	dw BTWinM4
-	dw BTWinM5
-	dw BTWinM6
-	dw BTWinM7
-	dw BTWinM8
-	dw BTWinM9
-	dw BTWinM10
-	dw BTWinM11
-	dw BTWinM12
-	dw BTWinM13
-	dw BTWinM14
-	dw BTWinM15
-	dw BTWinM16
-	dw BTWinM17
-	dw BTWinM18
-	dw BTWinM19
-	dw BTWinM20
-	dw BTWinM21
-	dw BTWinM22
-	dw BTWinM23
-	dw BTWinM24
-	dw BTWinM25
+	dw BTWinM1Text
+	dw BTWinM2Text
+	dw BTWinM3Text
+	dw BTWinM4Text
+	dw BTWinM5Text
+	dw BTWinM6Text
+	dw BTWinM7Text
+	dw BTWinM8Text
+	dw BTWinM9Text
+	dw BTWinM10Text
+	dw BTWinM11Text
+	dw BTWinM12Text
+	dw BTWinM13Text
+	dw BTWinM14Text
+	dw BTWinM15Text
+	dw BTWinM16Text
+	dw BTWinM17Text
+	dw BTWinM18Text
+	dw BTWinM19Text
+	dw BTWinM20Text
+	dw BTWinM21Text
+	dw BTWinM22Text
+	dw BTWinM23Text
+	dw BTWinM24Text
+	dw BTWinM25Text
 
 BTFemaleTrainerTexts:
 	dw .Greetings
@@ -180,532 +180,532 @@
 	dw .PlayerWon
 
 .Greetings:
-	dw BTGreetingF1
-	dw BTGreetingF2
-	dw BTGreetingF3
-	dw BTGreetingF4
-	dw BTGreetingF5
-	dw BTGreetingF6
-	dw BTGreetingF7
-	dw BTGreetingF8
-	dw BTGreetingF9
-	dw BTGreetingF10
-	dw BTGreetingF11
-	dw BTGreetingF12
-	dw BTGreetingF13
-	dw BTGreetingF14
-	dw BTGreetingF15
+	dw BTGreetingF1Text
+	dw BTGreetingF2Text
+	dw BTGreetingF3Text
+	dw BTGreetingF4Text
+	dw BTGreetingF5Text
+	dw BTGreetingF6Text
+	dw BTGreetingF7Text
+	dw BTGreetingF8Text
+	dw BTGreetingF9Text
+	dw BTGreetingF10Text
+	dw BTGreetingF11Text
+	dw BTGreetingF12Text
+	dw BTGreetingF13Text
+	dw BTGreetingF14Text
+	dw BTGreetingF15Text
 
 .PlayerLost:
-	dw BTLossF1
-	dw BTLossF2
-	dw BTLossF3
-	dw BTLossF4
-	dw BTLossF5
-	dw BTLossF6
-	dw BTLossF7
-	dw BTLossF8
-	dw BTLossF9
-	dw BTLossF10
-	dw BTLossF11
-	dw BTLossF12
-	dw BTLossF13
-	dw BTLossF14
-	dw BTLossF15
+	dw BTLossF1Text
+	dw BTLossF2Text
+	dw BTLossF3Text
+	dw BTLossF4Text
+	dw BTLossF5Text
+	dw BTLossF6Text
+	dw BTLossF7Text
+	dw BTLossF8Text
+	dw BTLossF9Text
+	dw BTLossF10Text
+	dw BTLossF11Text
+	dw BTLossF12Text
+	dw BTLossF13Text
+	dw BTLossF14Text
+	dw BTLossF15Text
 
 .PlayerWon:
-	dw BTWinF1
-	dw BTWinF2
-	dw BTWinF3
-	dw BTWinF4
-	dw BTWinF5
-	dw BTWinF6
-	dw BTWinF7
-	dw BTWinF8
-	dw BTWinF9
-	dw BTWinF10
-	dw BTWinF11
-	dw BTWinF12
-	dw BTWinF13
-	dw BTWinF14
-	dw BTWinF15
+	dw BTWinF1Text
+	dw BTWinF2Text
+	dw BTWinF3Text
+	dw BTWinF4Text
+	dw BTWinF5Text
+	dw BTWinF6Text
+	dw BTWinF7Text
+	dw BTWinF8Text
+	dw BTWinF9Text
+	dw BTWinF10Text
+	dw BTWinF11Text
+	dw BTWinF12Text
+	dw BTWinF13Text
+	dw BTWinF14Text
+	dw BTWinF15Text
 
-BTGreetingM1:
-	text_far BattleTowerText_0x1ec000
+BTGreetingM1Text:
+	text_far _BTGreetingM1Text
 	text_end
 
-BTLossM1:
-	text_far BattleTowerText_0x1ec03b
+BTLossM1Text:
+	text_far _BTLossM1Text
 	text_end
 
-BTWinM1:
-	text_far UnknownText_0x1ec060
+BTWinM1Text:
+	text_far _BTWinM1Text
 	text_end
 
-BTGreetingM2:
-	text_far BattleTowerText_0x1ec080
+BTGreetingM2Text:
+	text_far _BTGreetingM2Text
 	text_end
 
-BTLossM2:
-	text_far UnknownText_0x1ec0a3
+BTLossM2Text:
+	text_far _BTLossM2Text
 	text_end
 
-BTWinM2:
-	text_far UnknownText_0x1ec0c4
+BTWinM2Text:
+	text_far _BTWinM2Text
 	text_end
 
-BTGreetingM3:
-	text_far UnknownText_0x1ec0e1
+BTGreetingM3Text:
+	text_far _BTGreetingM3Text
 	text_end
 
-BTLossM3:
-	text_far UnknownText_0x1ec108
+BTLossM3Text:
+	text_far _BTLossM3Text
 	text_end
 
-BTWinM3:
-	text_far UnknownText_0x1ec12a
+BTWinM3Text:
+	text_far _BTWinM3Text
 	text_end
 
-BTGreetingM4:
-	text_far UnknownText_0x1ec14d
+BTGreetingM4Text:
+	text_far _BTGreetingM4Text
 	text_end
 
-BTLossM4:
-	text_far UnknownText_0x1ec16f
+BTLossM4Text:
+	text_far _BTLossM4Text
 	text_end
 
-BTWinM4:
-	text_far UnknownText_0x1ec190
+BTWinM4Text:
+	text_far _BTWinM4Text
 	text_end
 
-BTGreetingM5:
-	text_far UnknownText_0x1ec1ae
+BTGreetingM5Text:
+	text_far _BTGreetingM5Text
 	text_end
 
-BTLossM5:
-	text_far UnknownText_0x1ec1d0
+BTLossM5Text:
+	text_far _BTLossM5Text
 	text_end
 
-BTWinM5:
-	text_far UnknownText_0x1ec1f4
+BTWinM5Text:
+	text_far _BTWinM5Text
 	text_end
 
-BTGreetingM6:
-	text_far UnknownText_0x1ec216
+BTGreetingM6Text:
+	text_far _BTGreetingM6Text
 	text_end
 
-BTLossM6:
-	text_far UnknownText_0x1ec238
+BTLossM6Text:
+	text_far _BTLossM6Text
 	text_end
 
-BTWinM6:
-	text_far UnknownText_0x1ec259
+BTWinM6Text:
+	text_far _BTWinM6Text
 	text_end
 
-BTGreetingM7:
-	text_far UnknownText_0x1ec27b
+BTGreetingM7Text:
+	text_far _BTGreetingM7Text
 	text_end
 
-BTLossM7:
-	text_far UnknownText_0x1ec2a0
+BTLossM7Text:
+	text_far _BTLossM7Text
 	text_end
 
-BTWinM7:
-	text_far UnknownText_0x1ec2c0
+BTWinM7Text:
+	text_far _BTWinM7Text
 	text_end
 
-BTGreetingM8:
-	text_far UnknownText_0x1ec2d9
+BTGreetingM8Text:
+	text_far _BTGreetingM8Text
 	text_end
 
-BTLossM8:
-	text_far UnknownText_0x1ec2fe
+BTLossM8Text:
+	text_far _BTLossM8Text
 	text_end
 
-BTWinM8:
-	text_far UnknownText_0x1ec320
+BTWinM8Text:
+	text_far _BTWinM8Text
 	text_end
 
-BTGreetingM9:
-	text_far UnknownText_0x1ec33f
+BTGreetingM9Text:
+	text_far _BTGreetingM9Text
 	text_end
 
-BTLossM9:
-	text_far UnknownText_0x1ec36c
+BTLossM9Text:
+	text_far _BTLossM9Text
 	text_end
 
-BTWinM9:
-	text_far UnknownText_0x1ec389
+BTWinM9Text:
+	text_far _BTWinM9Text
 	text_end
 
-BTGreetingM10:
-	text_far UnknownText_0x1ec3ad
+BTGreetingM10Text:
+	text_far _BTGreetingM10Text
 	text_end
 
-BTLossM10:
-	text_far UnknownText_0x1ec3c5
+BTLossM10Text:
+	text_far _BTLossM10Text
 	text_end
 
-BTWinM10:
-	text_far UnknownText_0x1ec3e5
+BTWinM10Text:
+	text_far _BTWinM10Text
 	text_end
 
-BTGreetingM11:
-	text_far UnknownText_0x1ec402
+BTGreetingM11Text:
+	text_far _BTGreetingM11Text
 	text_end
 
-BTLossM11:
-	text_far UnknownText_0x1ec411
+BTLossM11Text:
+	text_far _BTLossM11Text
 	text_end
 
-BTWinM11:
-	text_far UnknownText_0x1ec41f
+BTWinM11Text:
+	text_far _BTWinM11Text
 	text_end
 
-BTGreetingM12:
-	text_far UnknownText_0x1ec42e
+BTGreetingM12Text:
+	text_far _BTGreetingM12Text
 	text_end
 
-BTLossM12:
-	text_far UnknownText_0x1ec461
+BTLossM12Text:
+	text_far _BTLossM12Text
 	text_end
 
-BTWinM12:
-	text_far UnknownText_0x1ec4a0
+BTWinM12Text:
+	text_far _BTWinM12Text
 	text_end
 
-BTGreetingM13:
-	text_far UnknownText_0x1ec4d6
+BTGreetingM13Text:
+	text_far _BTGreetingM13Text
 	text_end
 
-BTLossM13:
-	text_far UnknownText_0x1ec4f5
+BTLossM13Text:
+	text_far _BTLossM13Text
 	text_end
 
-BTWinM13:
-	text_far UnknownText_0x1ec512
+BTWinM13Text:
+	text_far _BTWinM13Text
 	text_end
 
-BTGreetingM14:
-	text_far UnknownText_0x1ec532
+BTGreetingM14Text:
+	text_far _BTGreetingM14Text
 	text_end
 
-BTLossM14:
-	text_far UnknownText_0x1ec54b
+BTLossM14Text:
+	text_far _BTLossM14Text
 	text_end
 
-BTWinM14:
-	text_far UnknownText_0x1ec565
+BTWinM14Text:
+	text_far _BTWinM14Text
 	text_end
 
-BTGreetingM15:
-	text_far UnknownText_0x1ec580
+BTGreetingM15Text:
+	text_far _BTGreetingM15Text
 	text_end
 
-BTLossM15:
-	text_far UnknownText_0x1ec59d
+BTLossM15Text:
+	text_far _BTLossM15Text
 	text_end
 
-BTWinM15:
-	text_far UnknownText_0x1ec5b5
+BTWinM15Text:
+	text_far _BTWinM15Text
 	text_end
 
-BTGreetingM16:
-	text_far UnknownText_0x1ec5d3
+BTGreetingM16Text:
+	text_far _BTGreetingM16Text
 	text_end
 
-BTLossM16:
-	text_far UnknownText_0x1ec5ee
+BTLossM16Text:
+	text_far _BTLossM16Text
 	text_end
 
-BTWinM16:
-	text_far UnknownText_0x1ec60d
+BTWinM16Text:
+	text_far _BTWinM16Text
 	text_end
 
-BTGreetingM17:
-	text_far UnknownText_0x1ec631
+BTGreetingM17Text:
+	text_far _BTGreetingM17Text
 	text_end
 
-BTLossM17:
-	text_far UnknownText_0x1ec651
+BTLossM17Text:
+	text_far _BTLossM17Text
 	text_end
 
-BTWinM17:
-	text_far UnknownText_0x1ec68f
+BTWinM17Text:
+	text_far _BTWinM17Text
 	text_end
 
-BTGreetingM18:
-	text_far UnknownText_0x1ec6b1
+BTGreetingM18Text:
+	text_far _BTGreetingM18Text
 	text_end
 
-BTLossM18:
-	text_far UnknownText_0x1ec6d0
+BTLossM18Text:
+	text_far _BTLossM18Text
 	text_end
 
-BTWinM18:
-	text_far UnknownText_0x1ec708
+BTWinM18Text:
+	text_far _BTWinM18Text
 	text_end
 
-BTGreetingM19:
-	text_far UnknownText_0x1ec720
+BTGreetingM19Text:
+	text_far _BTGreetingM19Text
 	text_end
 
-BTLossM19:
-	text_far UnknownText_0x1ec73e
+BTLossM19Text:
+	text_far _BTLossM19Text
 	text_end
 
-BTWinM19:
-	text_far UnknownText_0x1ec75b
+BTWinM19Text:
+	text_far _BTWinM19Text
 	text_end
 
-BTGreetingM20:
-	text_far UnknownText_0x1ec77f
+BTGreetingM20Text:
+	text_far _BTGreetingM20Text
 	text_end
 
-BTLossM20:
-	text_far UnknownText_0x1ec798
+BTLossM20Text:
+	text_far _BTLossM20Text
 	text_end
 
-BTWinM20:
-	text_far UnknownText_0x1ec7bb
+BTWinM20Text:
+	text_far _BTWinM20Text
 	text_end
 
-BTGreetingM21:
-	text_far UnknownText_0x1ec7d8
+BTGreetingM21Text:
+	text_far _BTGreetingM21Text
 	text_end
 
-BTLossM21:
-	text_far UnknownText_0x1ec818
+BTLossM21Text:
+	text_far _BTLossM21Text
 	text_end
 
-BTWinM21:
-	text_far UnknownText_0x1ec837
+BTWinM21Text:
+	text_far _BTWinM21Text
 	text_end
 
-BTGreetingM22:
-	text_far UnknownText_0x1ec858
+BTGreetingM22Text:
+	text_far _BTGreetingM22Text
 	text_end
 
-BTLossM22:
-	text_far UnknownText_0x1ec876
+BTLossM22Text:
+	text_far _BTLossM22Text
 	text_end
 
-BTWinM22:
-	text_far UnknownText_0x1ec898
+BTWinM22Text:
+	text_far _BTWinM22Text
 	text_end
 
-BTGreetingM23:
-	text_far UnknownText_0x1ec8b1
+BTGreetingM23Text:
+	text_far _BTGreetingM23Text
 	text_end
 
-BTLossM23:
-	text_far UnknownText_0x1ec8d5
+BTLossM23Text:
+	text_far _BTLossM23Text
 	text_end
 
-BTWinM23:
-	text_far UnknownText_0x1ec8f0
+BTWinM23Text:
+	text_far _BTWinM23Text
 	text_end
 
-BTGreetingM24:
-	text_far UnknownText_0x1ec911
+BTGreetingM24Text:
+	text_far _BTGreetingM24Text
 	text_end
 
-BTLossM24:
-	text_far UnknownText_0x1ec928
+BTLossM24Text:
+	text_far _BTLossM24Text
 	text_end
 
-BTWinM24:
-	text_far UnknownText_0x1ec949
+BTWinM24Text:
+	text_far _BTWinM24Text
 	text_end
 
-BTGreetingM25:
-	text_far UnknownText_0x1ec969
+BTGreetingM25Text:
+	text_far _BTGreetingM25Text
 	text_end
 
-BTLossM25:
-	text_far UnknownText_0x1ec986
+BTLossM25Text:
+	text_far _BTLossM25Text
 	text_end
 
-BTWinM25:
-	text_far UnknownText_0x1ec99b
+BTWinM25Text:
+	text_far _BTWinM25Text
 	text_end
 
-BTGreetingF1:
-	text_far UnknownText_0x1ec9bd
+BTGreetingF1Text:
+	text_far _BTGreetingF1Text
 	text_end
 
-BTLossF1:
-	text_far UnknownText_0x1ec9d9
+BTLossF1Text:
+	text_far _BTLossF1Text
 	text_end
 
-BTWinF1:
-	text_far UnknownText_0x1ec9f7
+BTWinF1Text:
+	text_far _BTWinF1Text
 	text_end
 
-BTGreetingF2:
-	text_far UnknownText_0x1eca0a
+BTGreetingF2Text:
+	text_far _BTGreetingF2Text
 	text_end
 
-BTLossF2:
-	text_far UnknownText_0x1eca2a
+BTLossF2Text:
+	text_far _BTLossF2Text
 	text_end
 
-BTWinF2:
-	text_far UnknownText_0x1eca47
+BTWinF2Text:
+	text_far _BTWinF2Text
 	text_end
 
-BTGreetingF3:
-	text_far UnknownText_0x1eca64
+BTGreetingF3Text:
+	text_far _BTGreetingF3Text
 	text_end
 
-BTLossF3:
-	text_far UnknownText_0x1eca82
+BTLossF3Text:
+	text_far _BTLossF3Text
 	text_end
 
-BTWinF3:
-	text_far UnknownText_0x1eca9d
+BTWinF3Text:
+	text_far _BTWinF3Text
 	text_end
 
-BTGreetingF4:
-	text_far UnknownText_0x1ecabf
+BTGreetingF4Text:
+	text_far _BTGreetingF4Text
 	text_end
 
-BTLossF4:
-	text_far UnknownText_0x1ecade
+BTLossF4Text:
+	text_far _BTLossF4Text
 	text_end
 
-BTWinF4:
-	text_far UnknownText_0x1ecafa
+BTWinF4Text:
+	text_far _BTWinF4Text
 	text_end
 
-BTGreetingF5:
-	text_far UnknownText_0x1ecb19
+BTGreetingF5Text:
+	text_far _BTGreetingF5Text
 	text_end
 
-BTLossF5:
-	text_far UnknownText_0x1ecb37
+BTLossF5Text:
+	text_far _BTLossF5Text
 	text_end
 
-BTWinF5:
-	text_far UnknownText_0x1ecb55
+BTWinF5Text:
+	text_far _BTWinF5Text
 	text_end
 
-BTGreetingF6:
-	text_far UnknownText_0x1ecb70
+BTGreetingF6Text:
+	text_far _BTGreetingF6Text
 	text_end
 
-BTLossF6:
-	text_far UnknownText_0x1ecb92
+BTLossF6Text:
+	text_far _BTLossF6Text
 	text_end
 
-BTWinF6:
-	text_far UnknownText_0x1ecbb6
+BTWinF6Text:
+	text_far _BTWinF6Text
 	text_end
 
-BTGreetingF7:
-	text_far UnknownText_0x1ecbd9
+BTGreetingF7Text:
+	text_far _BTGreetingF7Text
 	text_end
 
-BTLossF7:
-	text_far UnknownText_0x1ecbf3
+BTLossF7Text:
+	text_far _BTLossF7Text
 	text_end
 
-BTWinF7:
-	text_far UnknownText_0x1ecc15
+BTWinF7Text:
+	text_far _BTWinF7Text
 	text_end
 
-BTGreetingF8:
-	text_far UnknownText_0x1ecc39
+BTGreetingF8Text:
+	text_far _BTGreetingF8Text
 	text_end
 
-BTLossF8:
-	text_far UnknownText_0x1ecc55
+BTLossF8Text:
+	text_far _BTLossF8Text
 	text_end
 
-BTWinF8:
-	text_far UnknownText_0x1ecc75
+BTWinF8Text:
+	text_far _BTWinF8Text
 	text_end
 
-BTGreetingF9:
-	text_far UnknownText_0x1ecc92
+BTGreetingF9Text:
+	text_far _BTGreetingF9Text
 	text_end
 
-BTLossF9:
-	text_far UnknownText_0x1ecca7
+BTLossF9Text:
+	text_far _BTLossF9Text
 	text_end
 
-BTWinF9:
-	text_far UnknownText_0x1eccc1
+BTWinF9Text:
+	text_far _BTWinF9Text
 	text_end
 
-BTGreetingF10:
-	text_far UnknownText_0x1eccd7
+BTGreetingF10Text:
+	text_far _BTGreetingF10Text
 	text_end
 
-BTLossF10:
-	text_far UnknownText_0x1eccef
+BTLossF10Text:
+	text_far _BTLossF10Text
 	text_end
 
-BTWinF10:
-	text_far UnknownText_0x1ecd0e
+BTWinF10Text:
+	text_far _BTWinF10Text
 	text_end
 
-BTGreetingF11:
-	text_far UnknownText_0x1ecd2b
+BTGreetingF11Text:
+	text_far _BTGreetingF11Text
 	text_end
 
-BTLossF11:
-	text_far UnknownText_0x1ecd4d
+BTLossF11Text:
+	text_far _BTLossF11Text
 	text_end
 
-BTWinF11:
-	text_far UnknownText_0x1ecd6b
+BTWinF11Text:
+	text_far _BTWinF11Text
 	text_end
 
-BTGreetingF12:
-	text_far UnknownText_0x1ecd8d
+BTGreetingF12Text:
+	text_far _BTGreetingF12Text
 	text_end
 
-BTLossF12:
-	text_far UnknownText_0x1ecdaf
+BTLossF12Text:
+	text_far _BTLossF12Text
 	text_end
 
-BTWinF12:
-	text_far UnknownText_0x1ecdcf
+BTWinF12Text:
+	text_far _BTWinF12Text
 	text_end
 
-BTGreetingF13:
-	text_far UnknownText_0x1ecded
+BTGreetingF13Text:
+	text_far _BTGreetingF13Text
 	text_end
 
-BTLossF13:
-	text_far UnknownText_0x1ece0d
+BTLossF13Text:
+	text_far _BTLossF13Text
 	text_end
 
-BTWinF13:
-	text_far UnknownText_0x1ece2a
+BTWinF13Text:
+	text_far _BTWinF13Text
 	text_end
 
-BTGreetingF14:
-	text_far UnknownText_0x1ece4b
+BTGreetingF14Text:
+	text_far _BTGreetingF14Text
 	text_end
 
-BTLossF14:
-	text_far UnknownText_0x1ece70
+BTLossF14Text:
+	text_far _BTLossF14Text
 	text_end
 
-BTWinF14:
-	text_far UnknownText_0x1ece8a
+BTWinF14Text:
+	text_far _BTWinF14Text
 	text_end
 
-BTGreetingF15:
-	text_far UnknownText_0x1ecea8
+BTGreetingF15Text:
+	text_far _BTGreetingF15Text
 	text_end
 
-BTLossF15:
-	text_far UnknownText_0x1ecec9
+BTLossF15Text:
+	text_far _BTLossF15Text
 	text_end
 
-BTWinF15:
-	text_far UnknownText_0x1ecee8
+BTWinF15Text:
+	text_far _BTWinF15Text
 	text_end
--- a/engine/events/buena.asm
+++ b/engine/events/buena.asm
@@ -70,12 +70,12 @@
 	ld [wMenuSelection], a
 	call Buena_PlacePrizeMenuBox
 	call Buena_DisplayBlueCardBalance
-	ld hl, .Text_AskWhichPrize
+	ld hl, .BuenaAskWhichPrizeText
 	call PrintText
 	jr .okay
 
 .loop
-	ld hl, .Text_AskWhichPrize
+	ld hl, .BuenaAskWhichPrizeText
 	call BuenaPrintText
 
 .okay
@@ -89,7 +89,7 @@
 	ld a, [hl]
 	ld [wNamedObjectIndexBuffer], a
 	call GetItemName
-	ld hl, .Text_IsThatRight
+	ld hl, .BuenaIsThatRightText
 	call BuenaPrintText
 	call YesNoBox
 	jr c, .loop
@@ -121,17 +121,17 @@
 	jr .Purchase
 
 .InsufficientBalance:
-	ld hl, .Text_NotEnoughPoints
+	ld hl, .BuenaNotEnoughPointsText
 	jr .print
 
 .BagFull:
-	ld hl, .Text_NoRoom
+	ld hl, .BuenaNoRoomText
 	jr .print
 
 .Purchase:
 	ld de, SFX_TRANSACTION
 	call PlaySFX
-	ld hl, .Text_HereYouGo
+	ld hl, .BuenaHereYouGoText
 
 .print
 	call BuenaPrintText
@@ -140,40 +140,34 @@
 .done
 	call CloseWindow
 	call CloseWindow
-	ld hl, .Text_PleaseComeBackAgain
+	ld hl, .BuenaComeAgainText
 	call PrintText
 	call JoyWaitAorB
 	call PlayClickSFX
 	ret
 
-.Text_AskWhichPrize:
-	; Which prize would you like?
-	text_far UnknownText_0x1c589f
+.BuenaAskWhichPrizeText:
+	text_far _BuenaAskWhichPrizeText
 	text_end
 
-.Text_IsThatRight:
-	; ? Is that right?
-	text_far UnknownText_0x1c58bc
+.BuenaIsThatRightText:
+	text_far _BuenaIsThatRightText
 	text_end
 
-.Text_HereYouGo:
-	; Here you go!
-	text_far UnknownText_0x1c58d1
+.BuenaHereYouGoText:
+	text_far _BuenaHereYouGoText
 	text_end
 
-.Text_NotEnoughPoints:
-	; You don't have enough points.
-	text_far UnknownText_0x1c58e0
+.BuenaNotEnoughPointsText:
+	text_far _BuenaNotEnoughPointsText
 	text_end
 
-.Text_NoRoom:
-	; You have no room for it.
-	text_far UnknownText_0x1c58ff
+.BuenaNoRoomText:
+	text_far _BuenaNoRoomText
 	text_end
 
-.Text_PleaseComeBackAgain:
-	; Oh. Please come back again!
-	text_far UnknownText_0x1c591a
+.BuenaComeAgainText:
+	text_far _BuenaComeAgainText
 	text_end
 
 Buena_DisplayBlueCardBalance:
--- a/engine/events/bug_contest/caught_mon.asm
+++ b/engine/events/bug_contest/caught_mon.asm
@@ -14,7 +14,7 @@
 	ld a, [wTempEnemyMonSpecies]
 	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
-	ld hl, .caughttext
+	ld hl, .ContestCaughtMonText
 	call PrintText
 	ret
 
@@ -32,7 +32,6 @@
 	ld hl, wContestMon
 	jp GeneratePartyMonStats
 
-.caughttext
-	; Caught @ !
-	text_far UnknownText_0x1c10c0
+.ContestCaughtMonText:
+	text_far _ContestCaughtMonText
 	text_end
--- a/engine/events/bug_contest/contest.asm
+++ b/engine/events/bug_contest/contest.asm
@@ -18,7 +18,7 @@
 BugCatchingContestOverScript::
 	playsound SFX_ELEVATOR_END
 	opentext
-	writetext BugCatchingContestText_BeeepTimesUp
+	writetext BugCatchingContestTimeUpText
 	waitbutton
 	sjump BugCatchingContestReturnToGateScript
 
@@ -25,7 +25,7 @@
 BugCatchingContestOutOfBallsScript:
 	playsound SFX_ELEVATOR_END
 	opentext
-	writetext BugCatchingContestText_ContestIsOver
+	writetext BugCatchingContestIsOverText
 	waitbutton
 
 BugCatchingContestReturnToGateScript:
@@ -32,12 +32,10 @@
 	closetext
 	jumpstd bugcontestresultswarp
 
-BugCatchingContestText_BeeepTimesUp:
-	; ANNOUNCER: BEEEP! Time's up!
-	text_far UnknownText_0x1bd2ca
+BugCatchingContestTimeUpText:
+	text_far _BugCatchingContestTimeUpText
 	text_end
 
-BugCatchingContestText_ContestIsOver:
-	; ANNOUNCER: The Contest is over!
-	text_far UnknownText_0x1bd2e7
+BugCatchingContestIsOverText:
+	text_far _BugCatchingContestIsOverText
 	text_end
--- a/engine/events/bug_contest/display_stats.asm
+++ b/engine/events/bug_contest/display_stats.asm
@@ -67,7 +67,7 @@
 	ld de, wEnemyMonMaxHP
 	call PrintNum
 
-	ld hl, SwitchMonText
+	ld hl, ContestAskSwitchText
 	call PrintText
 
 	pop af
@@ -86,19 +86,17 @@
 .This:
 	db " THIS <PKMN>  @"
 
-SwitchMonText:
-	; Switch #MON?
-	text_far UnknownText_0x1c10cf
+ContestAskSwitchText:
+	text_far _ContestAskSwitchText
 	text_end
 
 DisplayAlreadyCaughtText:
 	call GetPokemonName
-	ld hl, .AlreadyCaughtText
+	ld hl, .ContestAlreadyCaughtText
 	jp PrintText
 
-.AlreadyCaughtText:
-	; You already caught a @ .
-	text_far UnknownText_0x1c10dd
+.ContestAlreadyCaughtText:
+	text_far _ContestAlreadyCaughtText
 	text_end
 
 DummyPredef2F:
--- a/engine/events/bug_contest/judging.asm
+++ b/engine/events/bug_contest/judging.asm
@@ -7,7 +7,7 @@
 	ld a, [wBugContestThirdPlaceMon]
 	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
-	ld hl, BugContest_ThirdPlaceText
+	ld hl, ContestJudging_ThirdPlaceText
 	call PrintText
 	ld a, [wBugContestSecondPlaceWinnerID]
 	call LoadContestantName
@@ -14,7 +14,7 @@
 	ld a, [wBugContestSecondPlaceMon]
 	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
-	ld hl, BugContest_SecondPlaceText
+	ld hl, ContestJudging_SecondPlaceText
 	call PrintText
 	ld a, [wBugContestFirstPlaceWinnerID]
 	call LoadContestantName
@@ -21,52 +21,49 @@
 	ld a, [wBugContestFirstPlaceMon]
 	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
-	ld hl, BugContest_FirstPlaceText
+	ld hl, ContestJudging_FirstPlaceText
 	call PrintText
 	jp BugContest_GetPlayersResult
 
-BugContest_FirstPlaceText:
-	text_far ContestJudging_FirstPlaceText
+ContestJudging_FirstPlaceText:
+	text_far _ContestJudging_FirstPlaceText
 	text_asm
 	ld de, SFX_1ST_PLACE
 	call PlaySFX
 	call WaitSFX
-	ld hl, BugContest_FirstPlaceScoreText
+	ld hl, ContestJudging_FirstPlaceScoreText
 	ret
 
-BugContest_FirstPlaceScoreText:
-	; The winning score was @  points!
-	text_far ContestJudging_FirstPlaceScoreText
+ContestJudging_FirstPlaceScoreText:
+	text_far _ContestJudging_FirstPlaceScoreText
 	text_end
 
-BugContest_SecondPlaceText:
+ContestJudging_SecondPlaceText:
 	; Placing second was @ , who caught a @ !@ @
-	text_far ContestJudging_SecondPlaceText
+	text_far _ContestJudging_SecondPlaceText
 	text_asm
 	ld de, SFX_2ND_PLACE
 	call PlaySFX
 	call WaitSFX
-	ld hl, BugContest_SecondPlaceScoreText
+	ld hl, ContestJudging_SecondPlaceScoreText
 	ret
 
-BugContest_SecondPlaceScoreText:
-	; The score was @  points!
-	text_far ContestJudging_SecondPlaceScoreText
+ContestJudging_SecondPlaceScoreText:
+	text_far _ContestJudging_SecondPlaceScoreText
 	text_end
 
-BugContest_ThirdPlaceText:
+ContestJudging_ThirdPlaceText:
 	; Placing third was @ , who caught a @ !@ @
-	text_far ContestJudging_ThirdPlaceText
+	text_far _ContestJudging_ThirdPlaceText
 	text_asm
 	ld de, SFX_3RD_PLACE
 	call PlaySFX
 	call WaitSFX
-	ld hl, BugContest_ThirdPlaceScoreText
+	ld hl, ContestJudging_ThirdPlaceScoreText
 	ret
 
-BugContest_ThirdPlaceScoreText:
-	; The score was @  points!
-	text_far ContestJudging_ThirdPlaceScoreText
+ContestJudging_ThirdPlaceScoreText:
+	text_far _ContestJudging_ThirdPlaceScoreText
 	text_end
 
 LoadContestantName:
--- a/engine/events/daycare.asm
+++ b/engine/events/daycare.asm
@@ -166,8 +166,7 @@
 	scf
 	ret
 
-.DummyText:
-	;
+.DaycareDummyText:
 	text_far _DaycareDummyText
 	text_end
 
@@ -207,7 +206,7 @@
 	jr c, .not_enough_money
 	ld a, [wPartyCount]
 	cp PARTY_LENGTH
-	jr nc, .PartyFull
+	jr nc, .party_full
 	and a
 	ret
 
@@ -221,7 +220,7 @@
 	scf
 	ret
 
-.PartyFull:
+.party_full
 	ld a, DAYCARETEXT_PARTY_FULL
 	scf
 	ret
@@ -274,124 +273,104 @@
 
 .TextTable:
 ; entries correspond to DAYCARETEXT_* constants
-	dw .DayCareManIntro ; 00
-	dw .DayCareManOddEgg ; 01
-	dw .DayCareLadyIntro ; 02
-	dw .DayCareLadyOddEgg ; 03
-	dw .WhichOne ; 04
-	dw .OkayIllRaiseYourMon ; 05
-	dw .CantAcceptEgg ; 06
-	dw .JustOneMon ; 07
-	dw .LastHealthyMon ; 08
-	dw .ComeBackForItLater ; 09
-	dw .RemoveMail ; 0a
-	dw .AreWeGeniusesOrWhat ; 0b
-	dw .AskRetrieveMon ; 0c
-	dw .PerfectHeresYourMon ; 0d
-	dw .GotBackMon ; 0e
-	dw .ImmediatelyWithdrawMon ; 0f
-	dw .PartyFull ; 10
-	dw .NotEnoughMoney ; 11
-	dw .OhFineThen ; 12
-	dw .ComeAgain ; 13
+	dw .DayCareManIntroText ; 00
+	dw .DayCareManOddEggText ; 01
+	dw .DayCareLadyIntroText ; 02
+	dw .DayCareLadyOddEggText ; 03
+	dw .WhatShouldIRaiseText ; 04
+	dw .IllRaiseYourMonText ; 05
+	dw .CantAcceptEggText ; 06
+	dw .OnlyOneMonText ; 07
+	dw .LastHealthyMonText ; 08
+	dw .ComeBackLaterText ; 09
+	dw .RemoveMailText ; 0a
+	dw .AreWeGeniusesText ; 0b
+	dw .YourMonHasGrownText ; 0c
+	dw .PerfectHeresYourMonText ; 0d
+	dw .GotBackMonText ; 0e
+	dw .BackAlreadyText ; 0f
+	dw .HaveNoRoomText ; 10
+	dw .NotEnoughMoneyText ; 11
+	dw .OhFineThenText ; 12
+	dw .ComeAgainText ; 13
 
-.DayCareManIntro:
-	; I'm the DAY-CARE MAN. Want me to raise a #MON?
+.DayCareManIntroText:
 	text_far _DayCareManIntroText
 	text_end
 
-.DayCareManOddEgg:
-	; I'm the DAY-CARE MAN. Do you know about EGGS? I was raising #MON with my wife, you see. We were shocked to find an EGG! How incredible is that? So, want me to raise a #MON?
+.DayCareManOddEggText:
 	text_far _DayCareManOddEggText
 	text_end
 
-.DayCareLadyIntro:
-	; I'm the DAY-CARE LADY. Should I raise a #MON for you?
+.DayCareLadyIntroText:
 	text_far _DayCareLadyIntroText
 	text_end
 
-.DayCareLadyOddEgg:
-	; I'm the DAY-CARE LADY. Do you know about EGGS? My husband and I were raising some #MON, you see. We were shocked to find an EGG! How incredible could that be? Should I raise a #MON for you?
+.DayCareLadyOddEggText:
 	text_far _DayCareLadyOddEggText
 	text_end
 
-.WhichOne:
-	; What should I raise for you?
+.WhatShouldIRaiseText:
 	text_far _WhatShouldIRaiseText
 	text_end
 
-.JustOneMon:
-	; Oh? But you have just one #MON.
+.OnlyOneMonText:
 	text_far _OnlyOneMonText
 	text_end
 
-.CantAcceptEgg:
-	; Sorry, but I can't accept an EGG.
-	text_far _CantRaiseEggText
+.CantAcceptEggText:
+	text_far _CantAcceptEggText
 	text_end
 
-.RemoveMail:
-	; Remove MAIL before you come see me.
+.RemoveMailText:
 	text_far _RemoveMailText
 	text_end
 
-.LastHealthyMon:
-	; If you give me that, what will you battle with?
+.LastHealthyMonText:
 	text_far _LastHealthyMonText
 	text_end
 
-.OkayIllRaiseYourMon:
-	; OK. I'll raise your @ .
+.IllRaiseYourMonText:
 	text_far _IllRaiseYourMonText
 	text_end
 
-.ComeBackForItLater:
-	; Come back for it later.
+.ComeBackLaterText:
 	text_far _ComeBackLaterText
 	text_end
 
-.AreWeGeniusesOrWhat:
-	; Are we geniuses or what? Want to see your @ ?
+.AreWeGeniusesText:
 	text_far _AreWeGeniusesText
 	text_end
 
-.AskRetrieveMon:
-	; Your @ has grown a lot. By level, it's grown by @ . If you want your #MON back, it will cost ¥@ .
+.YourMonHasGrownText:
 	text_far _YourMonHasGrownText
 	text_end
 
-.PerfectHeresYourMon:
-	; Perfect! Here's your #MON.
+.PerfectHeresYourMonText:
 	text_far _PerfectHeresYourMonText
 	text_end
 
-.GotBackMon:
-	; got back @ .
+.GotBackMonText:
 	text_far _GotBackMonText
 	text_end
 
-.ImmediatelyWithdrawMon:
-	; Huh? Back already? Your @ needs a little more time with us. If you want your #MON back, it will cost ¥100.
+.BackAlreadyText:
 	text_far _BackAlreadyText
 	text_end
 
-.PartyFull:
-	; You have no room for it.
+.HaveNoRoomText:
 	text_far _HaveNoRoomText
 	text_end
 
-.NotEnoughMoney:
-	; You don't have enough money.
-	text_far _DCNotEnoughMoneyText
+.NotEnoughMoneyText:
+	text_far _NotEnoughMoneyText
 	text_end
 
-.OhFineThen:
-	; Oh, fine then.
+.OhFineThenText:
 	text_far _OhFineThenText
 	text_end
 
-.ComeAgain:
-	; Come again.
+.ComeAgainText:
 	text_far _ComeAgainText
 	text_end
 
@@ -399,17 +378,16 @@
 	ld hl, wDayCareMan
 	bit DAYCAREMAN_HAS_EGG_F, [hl]
 	jr nz, .AskGiveEgg
-	ld hl, .NotYet
+	ld hl, .NotYetText
 	call PrintText
 	ret
 
-.NotYet:
-	; Not yet…
+.NotYetText:
 	text_far _NotYetText
 	text_end
 
 .AskGiveEgg:
-	ld hl, .IntroText
+	ld hl, .FoundAnEggText
 	call PrintText
 	call YesNoBox
 	jr c, .Declined
@@ -420,13 +398,13 @@
 	ld hl, wDayCareMan
 	res DAYCAREMAN_HAS_EGG_F, [hl]
 	call DayCare_InitBreeding
-	ld hl, .GotEggText
+	ld hl, .ReceivedEggText
 	call PrintText
-	ld de, SFX_GET_EGG_FROM_DAY_CARE_LADY
+	ld de, SFX_GET_EGG
 	call PlaySFX
 	ld c, 120
 	call DelayFrames
-	ld hl, .TakeGoodCareOfItText
+	ld hl, .TakeGoodCareOfEggText
 	jr .Load0
 
 .Declined:
@@ -439,34 +417,29 @@
 	ret
 
 .PartyFull:
-	ld hl, .PartyFullText
+	ld hl, .NoRoomForEggText
 	call PrintText
 	ld a, TRUE
 	ld [wScriptVar], a
 	ret
 
-.IntroText:
-	; Ah, it's you! We were raising your #MON, and my goodness, were we surprised! Your #MON had an EGG! We don't know how it got there, but your #MON had it. You want it?
+.FoundAnEggText:
 	text_far _FoundAnEggText
 	text_end
 
-.GotEggText:
-	; received the EGG!
+.ReceivedEggText:
 	text_far _ReceivedEggText
 	text_end
 
-.TakeGoodCareOfItText:
-	; Take good care of it.
+.TakeGoodCareOfEggText:
 	text_far _TakeGoodCareOfEggText
 	text_end
 
 .IllKeepItThanksText:
-	; Well then, I'll keep it. Thanks!
-	text_far _RefuseEggText
+	text_far _IllKeepItThanksText
 	text_end
 
-.PartyFullText:
-	; You have no room in your party. Come back later.
+.NoRoomForEggText:
 	text_far _NoRoomForEggText
 	text_end
 
--- 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/elevator.asm
+++ b/engine/events/elevator.asm
@@ -115,7 +115,7 @@
 
 Elevator_AskWhichFloor:
 	call LoadStandardMenuHeader
-	ld hl, Elevator_WhichFloorText
+	ld hl, AskFloorElevatorText
 	call PrintText
 	call Elevator_GetCurrentFloorText
 	ld hl, Elevator_MenuHeader
@@ -137,9 +137,8 @@
 	scf
 	ret
 
-Elevator_WhichFloorText:
-	; Which floor?
-	text_far UnknownText_0x1bd2bc
+AskFloorElevatorText:
+	text_far _AskFloorElevatorText
 	text_end
 
 Elevator_GetCurrentFloorText:
--- 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/halloffame.asm
+++ b/engine/events/halloffame.asm
@@ -449,7 +449,7 @@
 	ld bc, MON_NAME_LENGTH - 1
 	call CopyBytes
 	ld a, "@"
-	ld [wStringBuffer2 + 10], a
+	ld [wStringBuffer2 + MON_NAME_LENGTH - 1], a
 	hlcoord 0, 0
 	ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
 	ld a, " "
--- a/engine/events/itemfinder.asm
+++ b/engine/events/itemfinder.asm
@@ -30,7 +30,7 @@
 	reloadmappart
 	special UpdateTimePals
 	callasm .ItemfinderSound
-	writetext .Text_FoundSomething
+	writetext .ItemfinderItemNearbyText
 	closetext
 	end
 
@@ -37,16 +37,14 @@
 .Script_FoundNothing:
 	reloadmappart
 	special UpdateTimePals
-	writetext .Text_FoundNothing
+	writetext .ItemfinderNopeText
 	closetext
 	end
 
-.Text_FoundSomething:
-	; Yes! ITEMFINDER indicates there's an item nearby.
-	text_far UnknownText_0x1c0a77
+.ItemfinderItemNearbyText:
+	text_far _ItemfinderItemNearbyText
 	text_end
 
-.Text_FoundNothing:
-	; Nope! ITEMFINDER isn't responding.
-	text_far UnknownText_0x1c0aa9
+.ItemfinderNopeText:
+	text_far _ItemfinderNopeText
 	text_end
--- a/engine/events/kurt.asm
+++ b/engine/events/kurt.asm
@@ -1,20 +1,18 @@
 Kurt_PrintTextWhichApricorn:
-	ld hl, .Text
+	ld hl, .WhichApricornText
 	call PrintText
 	ret
 
-.Text:
-	; Which APRICORN should I use?
+.WhichApricornText:
 	text_far _WhichApricornText
 	text_end
 
 Kurt_PrintTextHowMany:
-	ld hl, .Text
+	ld hl, .HowManyShouldIMakeText
 	call PrintText
 	ret
 
-.Text:
-	; How many should I make?
+.HowManyShouldIMakeText:
 	text_far _HowManyShouldIMakeText
 	text_end
 
--- a/engine/events/lucky_number.asm
+++ b/engine/events/lucky_number.asm
@@ -110,10 +110,10 @@
 	ld a, [wCurPartySpecies]
 	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
-	ld hl, .FoundPartymonText
+	ld hl, .LuckyNumberMatchPartyText
 	pop af
 	jr z, .print
-	ld hl, .FoundBoxmonText
+	ld hl, .LuckyNumberMatchPCText
 
 .print
 	jp PrintText
@@ -148,7 +148,7 @@
 .done
 	pop hl
 	push hl
-	ld de, -6
+	ld de, MON_SPECIES - MON_ID
 	add hl, de
 	ld a, [hl]
 	pop hl
@@ -206,14 +206,12 @@
 	dba sBox13
 	dba sBox14
 
-.FoundPartymonText:
-	; Congratulations! We have a match with the ID number of @  in your party.
-	text_far UnknownText_0x1c1261
+.LuckyNumberMatchPartyText:
+	text_far _LuckyNumberMatchPartyText
 	text_end
 
-.FoundBoxmonText:
-	; Congratulations! We have a match with the ID number of @  in your PC BOX.
-	text_far UnknownText_0x1c12ae
+.LuckyNumberMatchPCText:
+	text_far _LuckyNumberMatchPCText
 	text_end
 
 PrintTodaysLuckyNumber:
--- a/engine/events/magikarp.asm
+++ b/engine/events/magikarp.asm
@@ -29,7 +29,7 @@
 	call CalcMagikarpLength
 	call PrintMagikarpLength
 	farcall StubbedTrainerRankings_MagikarpLength
-	ld hl, .MeasureItText
+	ld hl, .MagikarpGuruMeasureText
 	call PrintText
 
 	; Did we beat the record?
@@ -71,9 +71,8 @@
 	ld [wScriptVar], a
 	ret
 
-.MeasureItText:
-	; Let me measure that MAGIKARP. …Hm, it measures @ .
-	text_far UnknownText_0x1c1203
+.MagikarpGuruMeasureText:
+	text_far _MagikarpGuruMeasureText
 	text_end
 
 Magikarp_LoadFeetInchesChars:
@@ -90,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
@@ -307,11 +306,10 @@
 	ld a, [wBestMagikarpLengthInches]
 	ld [wMagikarpLength + 1], a
 	call PrintMagikarpLength
-	ld hl, .CurrentRecordtext
+	ld hl, .KarpGuruRecordText
 	call PrintText
 	ret
 
-.CurrentRecordtext:
-	; "CURRENT RECORD"
-	text_far UnknownText_0x1c123a
+.KarpGuruRecordText:
+	text_far _KarpGuruRecordText
 	text_end
--- a/engine/events/map_name_sign.asm
+++ b/engine/events/map_name_sign.asm
@@ -1,6 +1,6 @@
 MAP_NAME_SIGN_START EQU $60
 
-ReturnFromMapSetupScript::
+InitMapNameSign::
 	xor a
 	ldh [hBGMapMode], a
 	farcall .inefficient_farcall ; this is a waste of 6 ROM bytes and 6 stack bytes
@@ -15,13 +15,13 @@
 	call GetWorldMapLocation
 	ld [wCurLandmark], a
 	call .CheckNationalParkGate
-	jr z, .nationalparkgate
+	jr z, .gate
 
 	call GetMapEnvironment
 	cp GATE
 	jr nz, .not_gate
 
-.nationalparkgate
+.gate
 	ld a, -1
 	ld [wCurLandmark], a
 
@@ -70,7 +70,7 @@
 ; These landmarks do not get pop-up signs.
 	cp -1
 	ret z
-	cp SPECIAL_MAP
+	cp SPECIAL_MAP ; redundant check
 	ret z
 	cp RADIO_TOWER
 	ret z
@@ -105,11 +105,11 @@
 	cp 60
 	ret z
 	cp 59
-	jr nz, .skip2
+	jr nz, .already_initialized
 	call InitMapNameFrame
 	call PlaceMapNameCenterAlign
 	farcall HDMATransfer_OnlyTopFourRows
-.skip2
+.already_initialized
 	ld a, $80
 	ld a, $70
 	ldh [rWY], a
--- a/engine/events/misc_scripts.asm
+++ b/engine/events/misc_scripts.asm
@@ -11,7 +11,7 @@
 	iffalse .no_room
 	disappear LAST_TALKED
 	opentext
-	writetext .text_found
+	writetext .FoundItemText
 	playsound SFX_ITEM
 	pause 60
 	itemnotify
@@ -20,21 +20,19 @@
 
 .no_room
 	opentext
-	writetext .text_found
+	writetext .FoundItemText
 	waitbutton
-	writetext .text_bag_full
+	writetext .CantCarryItemText
 	waitbutton
 	closetext
 	end
 
-.text_found
-	; found @ !
-	text_far UnknownText_0x1c0a1c
+.FoundItemText:
+	text_far _FoundItemText
 	text_end
 
-.text_bag_full
-	; But   can't carry any more items.
-	text_far UnknownText_0x1c0a2c
+.CantCarryItemText:
+	text_far _CantCarryItemText
 	text_end
 
 .TryReceiveItem:
--- a/engine/events/misc_scripts_2.asm
+++ b/engine/events/misc_scripts_2.asm
@@ -1,12 +1,11 @@
 RepelWoreOffScript::
 	opentext
-	writetext .text
+	writetext .RepelWoreOffText
 	waitbutton
 	closetext
 	end
 
-.text
-	; REPEL's effect wore off.
+.RepelWoreOffText:
 	text_far _RepelWoreOffText
 	text_end
 
@@ -14,7 +13,7 @@
 	opentext
 	readmem wHiddenItemID
 	getitemname STRING_BUFFER_3, USE_SCRIPT_VAR
-	writetext .found_text
+	writetext .PlayerFoundItemText
 	giveitem ITEM_FROM_MEM
 	iffalse .bag_full
 	callasm SetMemEvent
@@ -23,8 +22,8 @@
 	sjump .finish
 
 .bag_full
-	buttonsound
-	writetext .no_room_text
+	promptbutton
+	writetext .ButNoSpaceText
 	waitbutton
 
 .finish
@@ -31,13 +30,11 @@
 	closetext
 	end
 
-.found_text
-	; found @ !
+.PlayerFoundItemText:
 	text_far _PlayerFoundItemText
 	text_end
 
-.no_room_text
-	; But   has no space left…
+.ButNoSpaceText:
 	text_far _ButNoSpaceText
 	text_end
 
--- a/engine/events/mom.asm
+++ b/engine/events/mom.asm
@@ -38,8 +38,8 @@
 	dw .StoreMoney
 	dw .TakeMoney
 	dw .StopOrStartSavingMoney
-	dw .AskDST
 	dw .JustDoWhatYouCan
+	dw .AskDST
 
 .CheckIfBankInitialized:
 	ld a, [wMomSavingMoney]
@@ -58,11 +58,11 @@
 	ret
 
 .InitializeBank:
-	ld hl, UnknownText_0x16649
+	ld hl, MomLeavingText1
 	call PrintText
 	call YesNoBox
 	jr c, .DontSaveMoney
-	ld hl, UnknownText_0x1664e
+	ld hl, MomLeavingText2
 	call PrintText
 	ld a, (1 << MOM_ACTIVE_F) | (1 << MOM_SAVING_SOME_MONEY_F)
 	jr .done_1
@@ -72,7 +72,7 @@
 
 .done_1
 	ld [wMomSavingMoney], a
-	ld hl, UnknownText_0x16653
+	ld hl, MomLeavingText3
 	call PrintText
 	ld a, $8
 	ld [wJumptableIndex], a
@@ -79,7 +79,7 @@
 	ret
 
 .IsThisAboutYourMoney:
-	ld hl, UnknownText_0x16658
+	ld hl, MomIsThisAboutYourMoneyText
 	call PrintText
 	call YesNoBox
 	jr c, .nope
@@ -95,7 +95,7 @@
 	ret
 
 .AccessBankOfMom:
-	ld hl, UnknownText_0x1665d
+	ld hl, MomBankWhatDoYouWantToDoText
 	call PrintText
 	call LoadStandardMenuHeader
 	ld hl, MenuHeader_0x166b5
@@ -131,7 +131,7 @@
 	ret
 
 .StoreMoney:
-	ld hl, UnknownText_0x16662
+	ld hl, MomStoreMoneyText
 	call PrintText
 	xor a
 	ld hl, wStringBuffer2
@@ -155,7 +155,7 @@
 	ld de, wMoney
 	ld bc, wStringBuffer2
 	farcall CompareMoney
-	jr c, .DontHaveThatMuchToDeposit
+	jr c, .InsufficientFundsInWallet
 	ld hl, wStringBuffer2
 	ld de, wStringBuffer2 + 3
 	ld bc, 3
@@ -163,7 +163,7 @@
 	ld bc, wMomsMoney
 	ld de, wStringBuffer2
 	farcall GiveMoney
-	jr c, .CantDepositThatMuch
+	jr c, .NotEnoughRoomInBank
 	ld bc, wStringBuffer2 + 3
 	ld de, wMoney
 	farcall TakeMoney
@@ -174,18 +174,18 @@
 	ld de, SFX_TRANSACTION
 	call PlaySFX
 	call WaitSFX
-	ld hl, UnknownText_0x1668a
+	ld hl, MomStoredMoneyText
 	call PrintText
 	ld a, $8
 	jr .done_4
 
-.DontHaveThatMuchToDeposit:
-	ld hl, UnknownText_0x1667b
+.InsufficientFundsInWallet:
+	ld hl, MomInsufficientFundsInWalletText
 	call PrintText
 	ret
 
-.CantDepositThatMuch:
-	ld hl, UnknownText_0x16680
+.NotEnoughRoomInBank:
+	ld hl, MomNotEnoughRoomInBankText
 	call PrintText
 	ret
 
@@ -197,7 +197,7 @@
 	ret
 
 .TakeMoney:
-	ld hl, UnknownText_0x16667
+	ld hl, MomTakeMoneyText
 	call PrintText
 	xor a
 	ld hl, wStringBuffer2
@@ -240,18 +240,18 @@
 	ld de, SFX_TRANSACTION
 	call PlaySFX
 	call WaitSFX
-	ld hl, UnknownText_0x1668f
+	ld hl, MomTakenMoneyText
 	call PrintText
 	ld a, $8
 	jr .done_5
 
 .InsufficientFundsInBank:
-	ld hl, UnknownText_0x16671
+	ld hl, MomHaventSavedThatMuchText
 	call PrintText
 	ret
 
 .NotEnoughRoomInWallet:
-	ld hl, UnknownText_0x16676
+	ld hl, MomNotEnoughRoomInWalletText
 	call PrintText
 	ret
 
@@ -263,13 +263,13 @@
 	ret
 
 .StopOrStartSavingMoney:
-	ld hl, UnknownText_0x1666c
+	ld hl, MomSaveMoneyText
 	call PrintText
 	call YesNoBox
 	jr c, .StopSavingMoney
 	ld a, (1 << MOM_ACTIVE_F) | (1 << MOM_SAVING_SOME_MONEY_F)
 	ld [wMomSavingMoney], a
-	ld hl, UnknownText_0x16685
+	ld hl, MomStartSavingMoneyText
 	call PrintText
 	ld a, $8
 	ld [wJumptableIndex], a
@@ -282,11 +282,11 @@
 	ld [wJumptableIndex], a
 	ret
 
-.AskDST:
-	ld hl, UnknownText_0x16694
+.JustDoWhatYouCan:
+	ld hl, MomJustDoWhatYouCanText
 	call PrintText
 
-.JustDoWhatYouCan:
+.AskDST:
 	ld hl, wJumptableIndex
 	set 7, [hl]
 	ret
@@ -309,13 +309,13 @@
 .LostBooklet:
 	call .ClearBox
 	bccoord 1, 14
-	ld hl, .Text_AdjustClock
+	ld hl, .TimesetAskAdjustDSTText
 	call PlaceHLTextAtBC
 	call YesNoBox
 	ret c
 	call .ClearBox
 	bccoord 1, 14
-	ld hl, .Text_LostInstructionBooklet
+	ld hl, .MomLostGearBookletText
 	call PlaceHLTextAtBC
 	ret
 
@@ -325,7 +325,7 @@
 	ld a, [wDST]
 	bit 7, a
 	jr z, .SetDST
-	ld hl, .Text_IsDSTOver
+	ld hl, .TimesetAskNotDSTText
 	call PlaceHLTextAtBC
 	call YesNoBox
 	ret c
@@ -335,12 +335,12 @@
 	call .SetClockBack
 	call .ClearBox
 	bccoord 1, 14
-	ld hl, .Text_SetClockBack
+	ld hl, .TimesetNotDSTText
 	call PlaceHLTextAtBC
 	ret
 
 .SetDST:
-	ld hl, .Text_SwitchToDST
+	ld hl, .TimesetAskDSTText
 	call PlaceHLTextAtBC
 	call YesNoBox
 	ret c
@@ -350,7 +350,7 @@
 	call .SetClockForward
 	call .ClearBox
 	bccoord 1, 14
-	ld hl, .Text_SetClockForward
+	ld hl, .TimesetDSTText
 	call PlaceHLTextAtBC
 	ret
 
@@ -389,35 +389,28 @@
 	call ClearBox
 	ret
 
-.Text_AdjustClock:
-	; Do you want to adjust your clock for Daylight Saving Time?
-	text_far UnknownText_0x1c6095
+.TimesetAskAdjustDSTText:
+	text_far _TimesetAskAdjustDSTText
 	text_end
 
-.Text_LostInstructionBooklet:
-	; I lost the instruction booklet for the POKéGEAR.
-	; Come back again in a while.
-	text_far UnknownText_0x1c60d1
+.MomLostGearBookletText:
+	text_far _MomLostGearBookletText
 	text_end
 
-.Text_SwitchToDST:
-	; Do you want to switch to Daylight Saving Time?
-	text_far UnknownText_0x1c6000
+.TimesetAskDSTText:
+	text_far _TimesetAskDSTText
 	text_end
 
-.Text_SetClockForward:
-	; I set the clock forward by one hour.
-	text_far UnknownText_0x1c6030
+.TimesetDSTText:
+	text_far _TimesetDSTText
 	text_end
 
-.Text_IsDSTOver:
-	; Is Daylight Saving Time over?
-	text_far UnknownText_0x1c6056
+.TimesetAskNotDSTText:
+	text_far _TimesetAskNotDSTText
 	text_end
 
-.Text_SetClockBack:
-	; I put the clock back one hour.
-	text_far UnknownText_0x1c6075
+.TimesetNotDSTText:
+	text_far _TimesetNotDSTText
 	text_end
 
 Mom_SetUpWithdrawMenu:
@@ -590,84 +583,68 @@
 	dt 90
 	dt 9
 
-UnknownText_0x16649:
-	; Wow, that's a cute #MON. Where did you get it? … So, you're leaving on an adventure… OK! I'll help too. But what can I do for you? I know! I'll save money for you. On a long journey, money's important. Do you want me to save your money?
+MomLeavingText1:
 	text_far _MomLeavingText1
 	text_end
 
-UnknownText_0x1664e:
-	; OK, I'll take care of your money.
+MomLeavingText2:
 	text_far _MomLeavingText2
 	text_end
 
-UnknownText_0x16653:
-	; Be careful. #MON are your friends. You need to work as a team. Now, go on!
+MomLeavingText3:
 	text_far _MomLeavingText3
 	text_end
 
-UnknownText_0x16658:
-	; Hi! Welcome home! You're trying very hard, I see. I've kept your room tidy. Or is this about your money?
-	text_far _MomVisitingText1
+MomIsThisAboutYourMoneyText:
+	text_far _MomIsThisAboutYourMoneyText
 	text_end
 
-UnknownText_0x1665d:
-	; What do you want to do?
-	text_far _MomVisitingText2
+MomBankWhatDoYouWantToDoText:
+	text_far _MomBankWhatDoYouWantToDoText
 	text_end
 
-UnknownText_0x16662:
-	; How much do you want to save?
-	text_far _MomVisitingText3
+MomStoreMoneyText:
+	text_far _MomStoreMoneyText
 	text_end
 
-UnknownText_0x16667:
-	; How much do you want to take?
-	text_far _MomVisitingText4
+MomTakeMoneyText:
+	text_far _MomTakeMoneyText
 	text_end
 
-UnknownText_0x1666c:
-	; Do you want to save some money?
-	text_far _MomVisitingText5
+MomSaveMoneyText:
+	text_far _MomSaveMoneyText
 	text_end
 
-UnknownText_0x16671:
-	; You haven't saved that much.
-	text_far _MomVisitingText6
+MomHaventSavedThatMuchText:
+	text_far _MomHaventSavedThatMuchText
 	text_end
 
-UnknownText_0x16676:
-	; You can't take that much.
-	text_far _MomVisitingText7
+MomNotEnoughRoomInWalletText:
+	text_far _MomNotEnoughRoomInWalletText
 	text_end
 
-UnknownText_0x1667b:
-	; You don't have that much.
-	text_far _MomVisitingText8
+MomInsufficientFundsInWalletText:
+	text_far _MomInsufficientFundsInWalletText
 	text_end
 
-UnknownText_0x16680:
-	; You can't save that much.
-	text_far _MomVisitingText9
+MomNotEnoughRoomInBankText:
+	text_far _MomNotEnoughRoomInBankText
 	text_end
 
-UnknownText_0x16685:
-	; OK, I'll save your money. Trust me! , stick with it!
-	text_far _MomVisitingText10
+MomStartSavingMoneyText:
+	text_far _MomStartSavingMoneyText
 	text_end
 
-UnknownText_0x1668a:
-	; Your money's safe here! Get going!
-	text_far _MomVisitingText11
+MomStoredMoneyText:
+	text_far _MomStoredMoneyText
 	text_end
 
-UnknownText_0x1668f:
-	; , don't give up!
-	text_far _MomVisitingText12
+MomTakenMoneyText:
+	text_far _MomTakenMoneyText
 	text_end
 
-UnknownText_0x16694:
-	; Just do what you can.
-	text_far _MomVisitingText13
+MomJustDoWhatYouCanText:
+	text_far _MomJustDoWhatYouCanText
 	text_end
 
 Mom_SavedString:
--- a/engine/events/mom_phone.asm
+++ b/engine/events/mom_phone.asm
@@ -163,17 +163,17 @@
 	ret
 
 .ItemScript:
-	writetext _MomText_HiHowAreYou
-	writetext _MomText_FoundAnItem
-	writetext _MomText_BoughtWithYourMoney
-	writetext _MomText_ItsInPC
+	writetext MomHiHowAreYouText
+	writetext MomFoundAnItemText
+	writetext MomBoughtWithYourMoneyText
+	writetext MomItsInPCText
 	end
 
 .DollScript:
-	writetext _MomText_HiHowAreYou
-	writetext _MomText_FoundADoll
-	writetext _MomText_BoughtWithYourMoney
-	writetext _MomText_ItsInRoom
+	writetext MomHiHowAreYouText
+	writetext MomFoundADollText
+	writetext MomBoughtWithYourMoneyText
+	writetext MomItsInYourRoomText
 	end
 
 GetItemFromMom:
@@ -206,34 +206,28 @@
 
 	db 0, 0, 0 ; unused
 
-_MomText_HiHowAreYou:
-	; Hi,  ! How are you?
-	text_far _MomShoppingText1
+MomHiHowAreYouText:
+	text_far _MomHiHowAreYouText
 	text_end
 
-_MomText_FoundAnItem:
-	; I found a useful item shopping, so
-	text_far _MomShoppingText2
+MomFoundAnItemText:
+	text_far _MomFoundAnItemText
 	text_end
 
-_MomText_BoughtWithYourMoney:
-	; I bought it with your money. Sorry!
-	text_far _MomShoppingText3
+MomBoughtWithYourMoneyText:
+	text_far _MomBoughtWithYourMoneyText
 	text_end
 
-_MomText_ItsInPC:
-	; It's in your PC. You'll like it!
-	text_far _MomShoppingText4
+MomItsInPCText:
+	text_far _MomItsInPCText
 	text_end
 
-_MomText_FoundADoll:
-	; While shopping today, I saw this adorable doll, so
-	text_far _MomShoppingText5
+MomFoundADollText:
+	text_far _MomFoundADollText
 	text_end
 
-_MomText_ItsInRoom:
-	; It's in your room. You'll love it!
-	text_far _MomShoppingText6
+MomItsInYourRoomText:
+	text_far _MomItsInYourRoomText
 	text_end
 
 	db 0 ; unused
--- a/engine/events/move_deleter.asm
+++ b/engine/events/move_deleter.asm
@@ -1,9 +1,9 @@
 MoveDeletion:
-	ld hl, .IntroText
+	ld hl, .DeleterIntroText
 	call PrintText
 	call YesNoBox
 	jr c, .declined
-	ld hl, .AskWhichMonText
+	ld hl, .DeleterAskWhichMonText
 	call PrintText
 	farcall SelectMonFromParty
 	jr c, .declined
@@ -17,7 +17,7 @@
 	ld a, [hl]
 	and a
 	jr z, .onlyonemove
-	ld hl, .AskWhichMoveText
+	ld hl, .DeleterAskWhichMoveText
 	call PrintText
 	call LoadStandardMenuHeader
 	farcall ChooseMoveToDelete
@@ -30,7 +30,7 @@
 	ld a, [wCurSpecies]
 	ld [wNamedObjectIndexBuffer], a
 	call GetMoveName
-	ld hl, .ConfirmDeleteText
+	ld hl, .AskDeleteMoveText
 	call PrintText
 	call YesNoBox
 	pop bc
@@ -40,63 +40,55 @@
 	ld de, SFX_MOVE_DELETED
 	call PlaySFX
 	call WaitSFX
-	ld hl, .MoveDeletedText
+	ld hl, .DeleterForgotMoveText
 	call PrintText
 	ret
 
 .egg
-	ld hl, .EggText
+	ld hl, .MailEggText
 	call PrintText
 	ret
 
 .declined
-	ld hl, .DeclinedDeletionText
+	ld hl, .DeleterNoComeAgainText
 	call PrintText
 	ret
 
 .onlyonemove
-	ld hl, .OnlyOneMoveText
+	ld hl, .MoveKnowsOneText
 	call PrintText
 	ret
 
-.OnlyOneMoveText:
-	; That #MON knows only one move.
-	text_far UnknownText_0x1c5eba
+.MoveKnowsOneText:
+	text_far _MoveKnowsOneText
 	text_end
 
-.ConfirmDeleteText:
-	; Oh, make it forget @ ?
-	text_far UnknownText_0x1c5eda
+.AskDeleteMoveText:
+	text_far _AskDeleteMoveText
 	text_end
 
-.MoveDeletedText:
-	; Done! Your #MON forgot the move.
-	text_far UnknownText_0x1c5ef5
+.DeleterForgotMoveText:
+	text_far _DeleterForgotMoveText
 	text_end
 
-.EggText:
-	; An EGG doesn't know any moves!
-	text_far UnknownText_0x1c5f17
+.MailEggText:
+	text_far _DeleterEggText
 	text_end
 
-.DeclinedDeletionText:
-	; No? Come visit me again.
-	text_far UnknownText_0x1c5f36
+.DeleterNoComeAgainText:
+	text_far _DeleterNoComeAgainText
 	text_end
 
-.AskWhichMoveText:
-	; Which move should it forget, then?
-	text_far UnknownText_0x1c5f50
+.DeleterAskWhichMoveText:
+	text_far _DeleterAskWhichMoveText
 	text_end
 
-.IntroText:
-	; Um… Oh, yes, I'm the MOVE DELETER. I can make #MON forget moves. Shall I make a #MON forget?
-	text_far UnknownText_0x1c5f74
+.DeleterIntroText:
+	text_far _DeleterIntroText
 	text_end
 
-.AskWhichMonText:
-	; Which #MON?
-	text_far UnknownText_0x1c5fd1
+.DeleterAskWhichMonText:
+	text_far _DeleterAskWhichMonText
 	text_end
 
 .DeleteMove:
--- a/engine/events/move_tutor.asm
+++ b/engine/events/move_tutor.asm
@@ -70,8 +70,8 @@
 	ld de, SFX_WRONG
 	call PlaySFX
 	pop de
-	ld a, BANK(Text_TMHMNotCompatible)
-	ld hl, Text_TMHMNotCompatible
+	ld a, BANK(TMHMNotCompatibleText)
+	ld hl, TMHMNotCompatibleText
 	call FarPrintText
 	jr .didnt_learn
 
--- a/engine/events/name_rater.asm
+++ b/engine/events/name_rater.asm
@@ -1,6 +1,6 @@
 _NameRater:
 ; Introduce himself
-	ld hl, NameRaterIntroText
+	ld hl, NameRaterHelloText
 	call PrintText
 	call YesNoBox
 	jp c, .cancel
@@ -18,12 +18,12 @@
 	call CheckIfMonIsYourOT
 	jr c, .traded
 ; This name is good, but we can do better.  How about it?
-	ld hl, NameRaterIsGoodText
+	ld hl, NameRaterBetterNameText
 	call PrintText
 	call YesNoBox
 	jr c, .cancel
 ; What name shall I give it then?
-	ld hl, NameRaterWhichNameText
+	ld hl, NameRaterWhatNameText
 	call PrintText
 ; Load the new nickname into wStringBuffer2
 	xor a ; PARTYMON
@@ -37,11 +37,11 @@
 	farcall _NamingScreen
 ; If the new name is empty, treat it as unchanged.
 	call IsNewNameEmpty
-	ld hl, NameRaterSameAsBeforeText
+	ld hl, NameRaterSameNameText
 	jr c, .samename
 ; If the new name is the same as the old name, treat it as unchanged.
 	call CompareNewToOld
-	ld hl, NameRaterSameAsBeforeText
+	ld hl, NameRaterSameNameText
 	jr c, .samename
 ; Copy the new name from wStringBuffer2
 	ld hl, wPartyMonNicknames
@@ -53,22 +53,22 @@
 	ld hl, wStringBuffer2
 	ld bc, MON_NAME_LENGTH
 	call CopyBytes
-	ld hl, NameRaterEvenBetterText
+	ld hl, NameRaterFinishedText
 
 .samename
 	push hl
 	call GetCurNick
-	ld hl, NameRaterDoneText
+	ld hl, NameRaterNamedText
 	call PrintText
 	pop hl
 	jr .done
 
 .traded
-	ld hl, NameRaterTradedText
+	ld hl, NameRaterPerfectNameText
 	jr .done
 
 .cancel
-	ld hl, NameRaterCancelText
+	ld hl, NameRaterComeAgainText
 	jr .done
 
 .egg
@@ -178,58 +178,42 @@
 	jr nz, .loop
 	ret
 
-NameRaterIntroText:
-	; Hello, hello! I'm the NAME RATER.
-	; I rate the names of #MON.
-	; Would you like me to rate names?
-	text_far UnknownText_0x1c0043
+NameRaterHelloText:
+	text_far _NameRaterHelloText
 	text_end
 
 NameRaterWhichMonText:
-	; Which #MON's nickname should I rate for you?
-	text_far UnknownText_0x1c00a0
+	text_far _NameRaterWhichMonText
 	text_end
 
-NameRaterIsGoodText:
-	; Hm… @ … That's a fairly decent name.
-	; But, how about a slightly better nickname?
-	; Want me to give it a better name?
-	text_far UnknownText_0x1c00cd
+NameRaterBetterNameText:
+	text_far _NameRaterBetterNameText
 	text_end
 
-NameRaterWhichNameText:
-	; All right. What name should we give it, then?
-	text_far UnknownText_0x1c0142
+NameRaterWhatNameText:
+	text_far _NameRaterWhatNameText
 	text_end
 
-NameRaterEvenBetterText:
-	; That's a better name than before! Well done!
-	text_far UnknownText_0x1c0171
+NameRaterFinishedText:
+	text_far _NameRaterFinishedText
 	text_end
 
-NameRaterCancelText:
-	; OK, then. Come again sometime.
-	text_far UnknownText_0x1c019e
+NameRaterComeAgainText:
+	text_far _NameRaterComeAgainText
 	text_end
 
-NameRaterTradedText:
-	; Hm… @ ? What a great name! It's perfect.
-	; Treat @ with loving care.
-	text_far UnknownText_0x1c01be
+NameRaterPerfectNameText:
+	text_far _NameRaterPerfectNameText
 	text_end
 
 NameRaterEggText:
-	; Whoa… That's just an EGG.
-	text_far UnknownText_0x1c0208
+	text_far _NameRaterEggText
 	text_end
 
-NameRaterSameAsBeforeText:
-	; It might look the different as before,
-	; but this new name is much better! Well done!
-	text_far UnknownText_0x1c0222
+NameRaterSameNameText:
+	text_far _NameRaterSameNameText
 	text_end
 
-NameRaterDoneText:
-	; All right. This #MON is now named @ .
-	text_far UnknownText_0x1c0272
+NameRaterNamedText:
+	text_far _NameRaterNamedText
 	text_end
--- a/engine/events/npc_trade.asm
+++ b/engine/events/npc_trade.asm
@@ -34,7 +34,7 @@
 	ld b, SET_FLAG
 	call TradeFlagAction
 
-	ld hl, ConnectLinkCableText
+	ld hl, NPCTradeCableText
 	call PrintText
 
 	call DoNPCTrade
@@ -405,39 +405,38 @@
 TradeTexts:
 ; entries correspond to TRADE_DIALOG_* × TRADE_DIALOGSET_* constants
 ; TRADE_DIALOG_INTRO
-	dw TradeIntroText1
-	dw TradeIntroText2
-	dw TradeIntroText3
-	dw TradeIntroText4
+	dw NPCTradeIntroText1
+	dw NPCTradeIntroText2
+	dw NPCTradeIntroText2
+	dw NPCTradeIntroText3
 ; TRADE_DIALOG_CANCEL
-	dw TradeCancelText1
-	dw TradeCancelText2
-	dw TradeCancelText3
-	dw TradeCancelText4
+	dw NPCTradeCancelText1
+	dw NPCTradeCancelText2
+	dw NPCTradeCancelText2
+	dw NPCTradeCancelText3
 ; TRADE_DIALOG_WRONG
-	dw TradeWrongText1
-	dw TradeWrongText2
-	dw TradeWrongText3
-	dw TradeWrongText4
+	dw NPCTradeWrongText1
+	dw NPCTradeWrongText2
+	dw NPCTradeWrongText2
+	dw NPCTradeWrongText3
 ; TRADE_DIALOG_COMPLETE
-	dw TradeCompleteText1
-	dw TradeCompleteText2
-	dw TradeCompleteText3
-	dw TradeCompleteText4
+	dw NPCTradeCompleteText1
+	dw NPCTradeCompleteText2
+	dw NPCTradeCompleteText4
+	dw NPCTradeCompleteText3
 ; TRADE_DIALOG_AFTER
-	dw TradeAfterText1
-	dw TradeAfterText2
-	dw TradeAfterText3
-	dw TradeAfterText4
+	dw NPCTradeAfterText1
+	dw NPCTradeAfterText2
+	dw NPCTradeAfterText4
+	dw NPCTradeAfterText3
 
-ConnectLinkCableText:
-	; OK, connect the Game Link Cable.
-	text_far UnknownText_0x1bd407
+NPCTradeCableText:
+	text_far _NPCTradeCableText
 	text_end
 
 TradedForText:
 	; traded givemon for getmon
-	text_far UnknownText_0x1bd429
+	text_far Text_NPCTraded
 	text_asm
 	ld de, MUSIC_NONE
 	call PlayMusic
@@ -446,95 +445,73 @@
 	ret
 
 .done
-	; sound_dex_fanfare_80_109
-	; text_pause
-	text_far UnknownText_0x1bd445
+	text_far _NPCTradeFanfareText
 	text_end
 
-TradeIntroText1:
-	; I collect #MON. Do you have @ ? Want to trade it for my @ ?
+NPCTradeIntroText1:
 	text_far _NPCTradeIntroText1
 	text_end
 
-TradeCancelText1:
-	; You don't want to trade? Aww…
+NPCTradeCancelText1:
 	text_far _NPCTradeCancelText1
 	text_end
 
-TradeWrongText1:
-	; Huh? That's not @ .  What a letdown…
+NPCTradeWrongText1:
 	text_far _NPCTradeWrongText1
 	text_end
 
-TradeCompleteText1:
-	; Yay! I got myself @ ! Thanks!
+NPCTradeCompleteText1:
 	text_far _NPCTradeCompleteText1
 	text_end
 
-TradeAfterText1:
-	; Hi, how's my old @  doing?
-	text_far _NPCTradeAFterText1
+NPCTradeAfterText1:
+	text_far _NPCTradeAfterText1
 	text_end
 
-TradeIntroText2:
-TradeIntroText3:
-	; Hi, I'm looking for this #MON. If you have @ , would you trade it for my @ ?
+NPCTradeIntroText2:
 	text_far _NPCTradeIntroText2
 	text_end
 
-TradeCancelText2:
-TradeCancelText3:
-	; You don't have one either? Gee, that's really disappointing…
+NPCTradeCancelText2:
 	text_far _NPCTradeCancelText2
 	text_end
 
-TradeWrongText2:
-TradeWrongText3:
-	; You don't have @ ? That's too bad, then.
+NPCTradeWrongText2:
 	text_far _NPCTradeWrongText2
 	text_end
 
-TradeCompleteText2:
-	; Great! Thank you! I finally got @ .
+NPCTradeCompleteText2:
 	text_far _NPCTradeCompleteText2
 	text_end
 
-TradeAfterText2:
-	; Hi! The @ you traded me is doing great!
+NPCTradeAfterText2:
 	text_far _NPCTradeAfterText2
 	text_end
 
-TradeIntroText4:
-	; 's cute, but I don't have it. Do you have @ ? Want to trade it for my @ ?
+NPCTradeIntroText3:
 	text_far _NPCTradeIntroText3
 	text_end
 
-TradeCancelText4:
-	; You don't want to trade? Oh, darn…
+NPCTradeCancelText3:
 	text_far _NPCTradeCancelText3
 	text_end
 
-TradeWrongText4:
-	; That's not @ . Please trade with me if you get one.
+NPCTradeWrongText3:
 	text_far _NPCTradeWrongText3
 	text_end
 
-TradeCompleteText4:
-	; Wow! Thank you! I always wanted @ !
+NPCTradeCompleteText3:
 	text_far _NPCTradeCompleteText3
 	text_end
 
-TradeAfterText4:
-	; How is that @  I traded you doing? Your @ 's so cute!
+NPCTradeAfterText3:
 	text_far _NPCTradeAfterText3
 	text_end
 
-TradeCompleteText3:
-	; Uh? What happened?
+NPCTradeCompleteText4:
 	text_far _NPCTradeCompleteText4
 	text_end
 
-TradeAfterText3:
-	; Trading is so odd… I still have a lot to learn about it.
+NPCTradeAfterText4:
 	text_far _NPCTradeAfterText4
 	text_end
--- a/engine/events/overworld.asm
+++ b/engine/events/overworld.asm
@@ -58,8 +58,6 @@
 	ret
 
 .BadgeRequiredText:
-	; Sorry! A new BADGE
-	; is required.
 	text_far _BadgeRequiredText
 	text_end
 
@@ -108,13 +106,12 @@
 	ret
 
 FieldMoveFailed:
-	ld hl, .CantUseHere
+	ld hl, .CantUseItemText
 	call MenuTextboxBackup
 	ret
 
-.CantUseHere:
-	; Can't use that here.
-	text_far UnknownText_0x1c05c8
+.CantUseItemText:
+	text_far _CantUseItemText
 	text_end
 
 CutFunction:
@@ -156,19 +153,17 @@
 	ret
 
 .FailCut:
-	ld hl, Text_NothingToCut
+	ld hl, CutNothingText
 	call MenuTextboxBackup
 	ld a, $80
 	ret
 
-Text_UsedCut:
-	; used CUT!
-	text_far UnknownText_0x1c05dd
+UseCutText:
+	text_far _UseCutText
 	text_end
 
-Text_NothingToCut:
-	; There's nothing to CUT here.
-	text_far UnknownText_0x1c05ec
+CutNothingText:
+	text_far _CutNothingText
 	text_end
 
 CheckMapForSomethingToCut:
@@ -212,7 +207,7 @@
 
 Script_Cut:
 	callasm GetPartyNick
-	writetext Text_UsedCut
+	writetext UseCutText
 	reloadmappart
 	callasm CutDownTreeOrGrass
 	closetext
@@ -317,13 +312,13 @@
 Script_UseFlash:
 	reloadmappart
 	special UpdateTimePals
-	writetext UnknownText_0xc8f3
+	writetext UseFlashTextScript
 	callasm BlindingFlash
 	closetext
 	end
 
-UnknownText_0xc8f3:
-	text_far UnknownText_0x1c0609
+UseFlashTextScript:
+	text_far _BlindingFlashText
 	text_asm
 	call WaitSFX
 	ld de, SFX_FLASH
@@ -545,7 +540,6 @@
 	end
 
 AskSurfText:
-	; The water is calm. Want to SURF?
 	text_far _AskSurfText
 	text_end
 
@@ -623,7 +617,7 @@
 	callasm FlyFromAnim
 	farscall Script_AbortBugContest
 	special WarpToSpawnPoint
-	callasm DelayLoadingNewSprites
+	callasm SkipUpdateMapSprites
 	loadvar VAR_MOVEMENT, PLAYER_NORMAL
 	newloadmap MAPSETUP_FLY
 	callasm FlyToAnim
@@ -683,7 +677,7 @@
 
 Script_UsedWaterfall:
 	callasm GetPartyNick
-	writetext .Text_UsedWaterfall
+	writetext .UseWaterfallText
 	waitbutton
 	closetext
 	playsound SFX_BUBBLEBEAM
@@ -708,9 +702,8 @@
 	turn_waterfall UP
 	step_end
 
-.Text_UsedWaterfall:
-	; used WATERFALL!
-	text_far UnknownText_0x1c068e
+.UseWaterfallText:
+	text_far _UseWaterfallText
 	text_end
 
 TryWaterfallOW::
@@ -736,24 +729,22 @@
 	ret
 
 Script_CantDoWaterfall:
-	jumptext .Text_CantDoWaterfall
+	jumptext .HugeWaterfallText
 
-.Text_CantDoWaterfall:
-	; Wow, it's a huge waterfall.
-	text_far UnknownText_0x1c06a3
+.HugeWaterfallText:
+	text_far _HugeWaterfallText
 	text_end
 
 Script_AskWaterfall:
 	opentext
-	writetext .AskUseWaterfall
+	writetext .AskWaterfallText
 	yesorno
 	iftrue Script_UsedWaterfall
 	closetext
 	end
 
-.AskUseWaterfall:
-	; Do you want to use WATERFALL?
-	text_far UnknownText_0x1c06bf
+.AskWaterfallText:
+	text_far _AskWaterfallText
 	text_end
 
 EscapeRopeFunction:
@@ -829,7 +820,7 @@
 	ld a, [wBuffer2]
 	cp $2
 	jr nz, .failescaperope
-	ld hl, .Text_CantUseHere
+	ld hl, .CantUseDigText
 	call MenuTextbox
 	call WaitPressAorB_BlinkCursor
 	call CloseWindow
@@ -838,31 +829,28 @@
 	ld a, $80
 	ret
 
-.Text_UsedDig:
-	; used DIG!
-	text_far UnknownText_0x1c06de
+.UseDigText:
+	text_far _UseDigText
 	text_end
 
-.Text_UsedEscapeRope:
-	; used an ESCAPE ROPE.
-	text_far UnknownText_0x1c06ed
+.UseEscapeRopeText:
+	text_far _UseEscapeRopeText
 	text_end
 
-.Text_CantUseHere:
-	; Can't use that here.
-	text_far UnknownText_0x1c0705
+.CantUseDigText:
+	text_far _CantUseDigText
 	text_end
 
 .UsedEscapeRopeScript:
 	reloadmappart
 	special UpdateTimePals
-	writetext .Text_UsedEscapeRope
+	writetext .UseEscapeRopeText
 	sjump .UsedDigOrEscapeRopeScript
 
 .UsedDigScript:
 	reloadmappart
 	special UpdateTimePals
-	writetext .Text_UsedDig
+	writetext .UseDigText
 
 .UsedDigOrEscapeRopeScript:
 	waitbutton
@@ -932,25 +920,23 @@
 	ret
 
 .FailTeleport:
-	ld hl, .Text_CantUseHere
+	ld hl, .CantUseTeleportText
 	call MenuTextboxBackup
 	ld a, $80
 	ret
 
-.Text_ReturnToLastMonCenter:
-	; Return to the last #MON CENTER.
-	text_far UnknownText_0x1c071a
+.TeleportReturnText:
+	text_far _TeleportReturnText
 	text_end
 
-.Text_CantUseHere:
-	; Can't use that here.
-	text_far UnknownText_0x1c073b
+.CantUseTeleportText:
+	text_far _CantUseTeleportText
 	text_end
 
 .TeleportScript:
 	reloadmappart
 	special UpdateTimePals
-	writetext .Text_ReturnToLastMonCenter
+	writetext .TeleportReturnText
 	pause 60
 	reloadmappart
 	closetext
@@ -986,13 +972,13 @@
 	jr .UseStrength
 
 .Unreferenced_AlreadyUsing:
-	ld hl, .JumpText
+	ld hl, .AlreadyUsingStrengthText
 	call MenuTextboxBackup
 	ld a, $80
 	ret
 
-.JumpText:
-	text_far UnknownText_0x1c0751
+.AlreadyUsingStrengthText:
+	text_far _AlreadyUsingStrengthText
 	text_end
 
 .Failed:
@@ -1024,20 +1010,20 @@
 
 Script_UsedStrength:
 	callasm SetStrengthFlag
-	writetext .UsedStrength
+	writetext .UseStrengthText
 	readmem wBuffer6
 	cry 0
 	pause 3
-	writetext .StrengthAllowedItToMoveBoulders
+	writetext .MoveBoulderText
 	closetext
 	end
 
-.UsedStrength:
-	text_far UnknownText_0x1c0774
+.UseStrengthText:
+	text_far _UseStrengthText
 	text_end
 
-.StrengthAllowedItToMoveBoulders:
-	text_far UnknownText_0x1c0788
+.MoveBoulderText:
+	text_far _MoveBoulderText
 	text_end
 
 AskStrengthScript:
@@ -1047,32 +1033,29 @@
 	sjump .AlreadyUsedStrength
 
 .DontMeetRequirements:
-	jumptext UnknownText_0xcd73
+	jumptext BouldersMayMoveText
 
 .AlreadyUsedStrength:
-	jumptext UnknownText_0xcd6e
+	jumptext BouldersMoveText
 
 .AskStrength:
 	opentext
-	writetext UnknownText_0xcd69
+	writetext AskStrengthText
 	yesorno
 	iftrue Script_UsedStrength
 	closetext
 	end
 
-UnknownText_0xcd69:
-	; A #MON may be able to move this. Want to use STRENGTH?
-	text_far UnknownText_0x1c07a0
+AskStrengthText:
+	text_far _AskStrengthText
 	text_end
 
-UnknownText_0xcd6e:
-	; Boulders may now be moved!
-	text_far UnknownText_0x1c07d8
+BouldersMoveText:
+	text_far _BouldersMoveText
 	text_end
 
-UnknownText_0xcd73:
-	; A #MON may be able to move this.
-	text_far UnknownText_0x1c07f4
+BouldersMayMoveText:
+	text_far _BouldersMayMoveText
 	text_end
 
 TryStrengthOW:
@@ -1146,9 +1129,8 @@
 	ld a, $80
 	ret
 
-Text_UsedWhirlpool:
-	; used WHIRLPOOL!
-	text_far UnknownText_0x1c0816
+UseWhirlpoolText:
+	text_far _UseWhirlpoolText
 	text_end
 
 TryWhirlpoolMenu:
@@ -1186,7 +1168,7 @@
 
 Script_UsedWhirlpool:
 	callasm GetPartyNick
-	writetext Text_UsedWhirlpool
+	writetext UseWhirlpoolText
 	reloadmappart
 	callasm DisappearWhirlpool
 	closetext
@@ -1232,22 +1214,22 @@
 	ret
 
 Script_MightyWhirlpool:
-	jumptext .MightyWhirlpoolText
+	jumptext .MayPassWhirlpoolText
 
-.MightyWhirlpoolText:
-	text_far UnknownText_0x1c082b
+.MayPassWhirlpoolText:
+	text_far _MayPassWhirlpoolText
 	text_end
 
 Script_AskWhirlpoolOW:
 	opentext
-	writetext UnknownText_0xce78
+	writetext AskWhirlpoolText
 	yesorno
 	iftrue Script_UsedWhirlpool
 	closetext
 	end
 
-UnknownText_0xce78:
-	text_far UnknownText_0x1c0864
+AskWhirlpoolText:
+	text_far _AskWhirlpoolText
 	text_end
 
 HeadbuttFunction:
@@ -1271,14 +1253,12 @@
 	ld a, $80
 	ret
 
-UnknownText_0xce9d:
-	; did a HEADBUTT!
-	text_far UnknownText_0x1c0897
+UseHeadbuttText:
+	text_far _UseHeadbuttText
 	text_end
 
-UnknownText_0xcea2:
-	; Nope. Nothing…
-	text_far UnknownText_0x1c08ac
+HeadbuttNothingText:
+	text_far _HeadbuttNothingText
 	text_end
 
 HeadbuttFromMenuScript:
@@ -1287,7 +1267,7 @@
 
 HeadbuttScript:
 	callasm GetPartyNick
-	writetext UnknownText_0xce9d
+	writetext UseHeadbuttText
 
 	reloadmappart
 	callasm ShakeHeadbuttTree
@@ -1301,7 +1281,7 @@
 	end
 
 .no_battle
-	writetext UnknownText_0xcea2
+	writetext HeadbuttNothingText
 	waitbutton
 	closetext
 	end
@@ -1323,15 +1303,14 @@
 
 AskHeadbuttScript:
 	opentext
-	writetext UnknownText_0xcee6
+	writetext AskHeadbuttText
 	yesorno
 	iftrue HeadbuttScript
 	closetext
 	end
 
-UnknownText_0xcee6:
-	; A #MON could be in this tree. Want to HEADBUTT it?
-	text_far UnknownText_0x1c08bc
+AskHeadbuttText:
+	text_far _AskHeadbuttText
 	text_end
 
 RockSmashFunction:
@@ -1385,7 +1364,7 @@
 
 RockSmashScript:
 	callasm GetPartyNick
-	writetext UnknownText_0xcf58
+	writetext UseRockSmashText
 	closetext
 	special WaitSFX
 	playsound SFX_STRENGTH
@@ -1406,8 +1385,8 @@
 	rock_smash 10
 	step_end
 
-UnknownText_0xcf58:
-	text_far UnknownText_0x1c08f0
+UseRockSmashText:
+	text_far _UseRockSmashText
 	text_end
 
 AskRockSmashScript:
@@ -1415,22 +1394,20 @@
 	ifequal 1, .no
 
 	opentext
-	writetext UnknownText_0xcf77
+	writetext AskRockSmashText
 	yesorno
 	iftrue RockSmashScript
 	closetext
 	end
 .no
-	jumptext UnknownText_0xcf72
+	jumptext MaySmashText
 
-UnknownText_0xcf72:
-	; Maybe a #MON can break this.
-	text_far UnknownText_0x1c0906
+MaySmashText:
+	text_far _MaySmashText
 	text_end
 
-UnknownText_0xcf77:
-	; This rock looks breakable. Want to use ROCK SMASH?
-	text_far UnknownText_0x1c0924
+AskRockSmashText:
+	text_far _AskRockSmashText
 	text_end
 
 HasRockSmash:
@@ -1539,12 +1516,12 @@
 
 Script_NotEvenANibble:
 	scall Script_FishCastRod
-	writetext UnknownText_0xd0a9
+	writetext RodNothingText
 	sjump Script_NotEvenANibble_FallThrough
 
 Script_NotEvenANibble2:
 	scall Script_FishCastRod
-	writetext UnknownText_0xd0a9
+	writetext RodNothingText
 
 Script_NotEvenANibble_FallThrough:
 	loademote EMOTE_SHADOW
@@ -1565,7 +1542,7 @@
 .FightTheHookedPokemon:
 	pause 40
 	applymovement PLAYER, .Movement_RestoreRod
-	writetext UnknownText_0xd0a4
+	writetext RodBiteText
 	callasm PutTheRodAway
 	closetext
 	randomwildmon
@@ -1631,19 +1608,16 @@
 	call ReplaceKrisSprite
 	ret
 
-UnknownText_0xd0a4:
-	; Oh! A bite!
-	text_far UnknownText_0x1c0958
+RodBiteText:
+	text_far _RodBiteText
 	text_end
 
-UnknownText_0xd0a9:
-	; Not even a nibble!
-	text_far UnknownText_0x1c0965
+RodNothingText:
+	text_far _RodNothingText
 	text_end
 
-UnknownText_0xd0ae: ; unused
-	; Looks like there's nothing here.
-	text_far UnknownText_0x1c0979
+UnusedNothingHereText: ; unused
+	text_far _UnusedNothingHereText
 	text_end
 
 BikeFunction:
@@ -1736,7 +1710,7 @@
 	reloadmappart
 	special UpdateTimePals
 	loadvar VAR_MOVEMENT, PLAYER_BIKE
-	writetext GotOnTheBikeText
+	writetext GotOnBikeText
 	waitbutton
 	closetext
 	special ReplaceKrisSprite
@@ -1756,7 +1730,7 @@
 	reloadmappart
 	special UpdateTimePals
 	loadvar VAR_MOVEMENT, PLAYER_NORMAL
-	writetext GotOffTheBikeText
+	writetext GotOffBikeText
 	waitbutton
 
 FinishGettingOffBike:
@@ -1776,18 +1750,15 @@
 	end
 
 .CantGetOffBikeText:
-	; You can't get off here!
-	text_far UnknownText_0x1c099a
+	text_far _CantGetOffBikeText
 	text_end
 
-GotOnTheBikeText:
-	; got on the @ .
-	text_far UnknownText_0x1c09b2
+GotOnBikeText:
+	text_far _GotOnBikeText
 	text_end
 
-GotOffTheBikeText:
-	; got off the @ .
-	text_far UnknownText_0x1c09c7
+GotOffBikeText:
+	text_far _GotOffBikeText
 	text_end
 
 TryCutOW::
@@ -1814,7 +1785,7 @@
 
 AskCutScript:
 	opentext
-	writetext UnknownText_0xd1c8
+	writetext AskCutText
 	yesorno
 	iffalse .script_d1b8
 	callasm .CheckMap
@@ -1832,13 +1803,13 @@
 	ld [wScriptVar], a
 	ret
 
-UnknownText_0xd1c8:
-	text_far UnknownText_0x1c09dd
+AskCutText:
+	text_far _AskCutText
 	text_end
 
 CantCutScript:
-	jumptext UnknownText_0xd1d0
+	jumptext CanCutText
 
-UnknownText_0xd1d0:
-	text_far UnknownText_0x1c0a05
+CanCutText:
+	text_far _CanCutText
 	text_end
--- a/engine/events/poisonstep.asm
+++ b/engine/events/poisonstep.asm
@@ -146,9 +146,9 @@
 	ret
 
 .PoisonFaintText:
-	text_far UnknownText_0x1c0acc
+	text_far _PoisonFaintText
 	text_end
 
-.PoisonWhiteOutText:
-	text_far UnknownText_0x1c0ada
+.PoisonWhiteoutText:
+	text_far _PoisonWhiteoutText
 	text_end
--- 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
 
@@ -287,53 +287,45 @@
 	ret
 
 SeerTexts:
-	dw SeerIntroText
-	dw SeerCantTellText
-	dw SeerMetAtText
+	dw SeerSeeAllText
+	dw SeerCantTellAThingText
+	dw SeerNameLocationText
 	dw SeerTimeLevelText
-	dw SeerTradedText
-	dw SeerCancelText
+	dw SeerTradeText
+	dw SeerDoNothingText
 	dw SeerEggText
-	dw SeerLevelOnlyText
+	dw SeerNoLocationText
 
-SeerIntroText:
-	; I see all. I know all… Certainly, I know of your #MON!
-	text_far UnknownText_0x1c475f
+SeerSeeAllText:
+	text_far _SeerSeeAllText
 	text_end
 
-SeerCantTellText:
-	; Whaaaat? I can't tell a thing! How could I not know of this?
-	text_far UnknownText_0x1c4797
+SeerCantTellAThingText:
+	text_far _SeerCantTellAThingText
 	text_end
 
-SeerMetAtText:
-	; Hm… I see you met @  here: @ !
-	text_far UnknownText_0x1c47d4
+SeerNameLocationText:
+	text_far _SeerNameLocationText
 	text_end
 
 SeerTimeLevelText:
-	; The time was @ ! Its level was @ ! Am I good or what?
-	text_far UnknownText_0x1c47fa
+	text_far _SeerTimeLevelText
 	text_end
 
-SeerTradedText:
-	; Hm… @ came from @ in a trade? @ was where @ met @ !
-	text_far UnknownText_0x1c4837
+SeerTradeText:
+	text_far _SeerTradeText
 	text_end
 
-SeerLevelOnlyText:
-	; What!? Incredible! I don't understand how, but it is incredible! You are special. I can't tell where you met it, but it was at level @ . Am I good or what?
-	text_far UnknownText_0x1c487f
+SeerNoLocationText:
+	text_far _SeerNoLocationText
 	text_end
 
 SeerEggText:
-	; Hey! That's an EGG! You can't say that you've met it yet…
-	text_far UnknownText_0x1c491d
+	text_far _SeerEggText
 	text_end
 
-SeerCancelText:
-	; Fufufu! I saw that you'd do nothing!
-	text_far UnknownText_0x1c4955
+SeerDoNothingText:
+	text_far _SeerDoNothingText
 	text_end
 
 SeerAdvice:
@@ -364,36 +356,31 @@
 
 SeerAdviceTexts:
 ; level, text
-	dbw 9,   SeerAdvice1
-	dbw 29,  SeerAdvice2
-	dbw 59,  SeerAdvice3
-	dbw 89,  SeerAdvice4
-	dbw 100, SeerAdvice5
-	dbw 255, SeerAdvice1
+	dbw 9,   SeerMoreCareText
+	dbw 29,  SeerMoreConfidentText
+	dbw 59,  SeerMuchStrengthText
+	dbw 89,  SeerMightyText
+	dbw 100, SeerImpressedText
+	dbw 255, SeerMoreCareText
 
-SeerAdvice1:
-	; Incidentally… It would be wise to raise your #MON with a little more care.
-	text_far UnknownText_0x1c497a
+SeerMoreCareText:
+	text_far _SeerMoreCareText
 	text_end
 
-SeerAdvice2:
-	; Incidentally… It seems to have grown a little. @  seems to be becoming more confident.
-	text_far UnknownText_0x1c49c6
+SeerMoreConfidentText:
+	text_far _SeerMoreConfidentText
 	text_end
 
-SeerAdvice3:
-	; Incidentally… @  has grown. It's gained much strength.
-	text_far UnknownText_0x1c4a21
+SeerMuchStrengthText:
+	text_far _SeerMuchStrengthText
 	text_end
 
-SeerAdvice4:
-	; Incidentally… It certainly has grown mighty! This @ must have come through numerous #MON battles. It looks brimming with confidence.
-	text_far UnknownText_0x1c4a5b
+SeerMightyText:
+	text_far _SeerMightyText
 	text_end
 
-SeerAdvice5:
-	; Incidentally… I'm impressed by your dedication. It's been a long time since I've seen a #MON as mighty as this @ . I'm sure that seeing @ in battle would excite anyone.
-	text_far UnknownText_0x1c4ae5
+SeerImpressedText:
+	text_far _SeerImpressedText
 	text_end
 
 GetCaughtGender:
--- a/engine/events/pokecenter_pc.asm
+++ b/engine/events/pokecenter_pc.asm
@@ -2,9 +2,9 @@
 	call PC_CheckPartyForPokemon
 	ret c
 	call PC_PlayBootSound
-	ld hl, PokecenterPCText_BootedUpPC
+	ld hl, PokecenterPCTurnOnText
 	call PC_DisplayText
-	ld hl, PokecenterPCText_AccessWhosePC
+	ld hl, PokecenterPCWhoseText
 	call PC_DisplayTextWaitMenu
 	ld hl, .TopMenu
 	call LoadMenuHeader
@@ -104,19 +104,18 @@
 	ret nz
 	ld de, SFX_CHOOSE_PC_OPTION
 	call PlaySFX
-	ld hl, .MustHavePokemonToUse
+	ld hl, .PokecenterPCCantUseText
 	call PC_DisplayText
 	scf
 	ret
 
-.MustHavePokemonToUse:
-	; Bzzzzt! You must have a #MON to use this!
-	text_far UnknownText_0x1c1328
+.PokecenterPCCantUseText:
+	text_far _PokecenterPCCantUseText
 	text_end
 
 BillsPC:
 	call PC_PlayChoosePCSound
-	ld hl, PokecenterPCText_AccessedBillsPC
+	ld hl, PokecenterBillsPCText
 	call PC_DisplayText
 	farcall _BillsPC
 	and a
@@ -124,7 +123,7 @@
 
 PlayersPC:
 	call PC_PlayChoosePCSound
-	ld hl, PokecenterPCText_AccessedOwnPC
+	ld hl, PokecenterPlayersPCText
 	call PC_DisplayText
 	ld b, $0
 	call _PlayersPC
@@ -133,7 +132,7 @@
 
 OaksPC:
 	call PC_PlayChoosePCSound
-	ld hl, PokecenterPCText_AccessedOaksPC
+	ld hl, PokecenterOaksPCText
 	call PC_DisplayText
 	farcall ProfOaksPC
 	and a
@@ -148,7 +147,7 @@
 	ret
 
 TurnOffPC:
-	ld hl, PokecenterPCText_LinkClosed
+	ld hl, PokecenterPCOaksClosedText
 	call PrintText
 	scf
 	ret
@@ -181,7 +180,7 @@
 
 _PlayersHousePC:
 	call PC_PlayBootSound
-	ld hl, UnknownText_0x156ff
+	ld hl, PlayersPCTurnOnText
 	call PC_DisplayText
 	ld b, $1
 	call _PlayersPC
@@ -199,15 +198,14 @@
 	ld c, $1
 	ret
 
-UnknownText_0x156ff:
-	; turned on the PC.
-	text_far UnknownText_0x1c1353
+PlayersPCTurnOnText:
+	text_far _PlayersPCTurnOnText
 	text_end
 
 _PlayersPC:
 	ld a, b
 	ld [wWhichIndexSet], a
-	ld hl, UnknownText_0x157cc
+	ld hl, PlayersPCAskWhatDoText
 	call PC_DisplayTextWaitMenu
 	call Function15715
 	call ExitMenu
@@ -302,9 +300,8 @@
 	ld [wOptions], a
 	ret
 
-UnknownText_0x157cc:
-	; What do you want to do?
-	text_far UnknownText_0x1c1368
+PlayersPCAskWhatDoText:
+	text_far _PlayersPCAskWhatDoText
 	text_end
 
 PlayerWithdrawItemMenu:
@@ -334,7 +331,7 @@
 	jr .withdraw
 
 .askquantity
-	ld hl, .HowManyText
+	ld hl, .PlayersPCHowManyWithdrawText
 	call MenuTextbox
 	farcall SelectQuantityToToss
 	call ExitMenu
@@ -356,7 +353,7 @@
 	ld hl, wNumPCItems
 	call TossItem
 	predef PartyMonItemName
-	ld hl, .WithdrewText
+	ld hl, .PlayersPCWithdrewItemsText
 	call MenuTextbox
 	xor a
 	ldh [hBGMapMode], a
@@ -364,7 +361,7 @@
 	ret
 
 .PackFull:
-	ld hl, .NoRoomText
+	ld hl, .PlayersPCNoRoomWithdrawText
 	call MenuTextboxBackup
 	ret
 
@@ -371,15 +368,15 @@
 .done
 	ret
 
-.HowManyText:
+.PlayersPCHowManyWithdrawText:
 	text_far _PlayersPCHowManyWithdrawText
 	text_end
 
-.WithdrewText:
+.PlayersPCWithdrewItemsText:
 	text_far _PlayersPCWithdrewItemsText
 	text_end
 
-.NoRoomText:
+.PlayersPCNoRoomWithdrawText:
 	text_far _PlayersPCNoRoomWithdrawText
 	text_end
 
@@ -436,14 +433,13 @@
 .CheckItemsInBag:
 	farcall HasNoItems
 	ret nc
-	ld hl, .NoItemsInBag
+	ld hl, .PlayersPCNoItemsText
 	call MenuTextboxBackup
 	scf
 	ret
 
-.NoItemsInBag:
-	; No items here!
-	text_far UnknownText_0x1c13df
+.PlayersPCNoItemsText:
+	text_far _PlayersPCNoItemsText
 	text_end
 
 .TryDepositItem:
@@ -494,7 +490,7 @@
 	jr .ContinueDeposit
 
 .AskQuantity:
-	ld hl, .HowManyText
+	ld hl, .PlayersPCHowManyDepositText
 	call MenuTextbox
 	farcall SelectQuantityToToss
 	push af
@@ -518,12 +514,12 @@
 	ld hl, wNumItems
 	call TossItem
 	predef PartyMonItemName
-	ld hl, .DepositText
+	ld hl, .PlayersPCDepositItemsText
 	call PrintText
 	ret
 
 .NoRoomInPC:
-	ld hl, .NoRoomText
+	ld hl, .PlayersPCNoRoomDepositText
 	call PrintText
 	ret
 
@@ -531,15 +527,15 @@
 	and a
 	ret
 
-.HowManyText:
+.PlayersPCHowManyDepositText:
 	text_far _PlayersPCHowManyDepositText
 	text_end
 
-.DepositText:
+.PlayersPCDepositItemsText:
 	text_far _PlayersPCDepositItemsText
 	text_end
 
-.NoRoomText:
+.PlayersPCNoRoomDepositText:
 	text_far _PlayersPCNoRoomDepositText
 	text_end
 
@@ -637,32 +633,26 @@
 	call ExitMenu
 	ret
 
-PokecenterPCText_BootedUpPC:
-	; turned on the PC.
-	text_far UnknownText_0x1c144d
+PokecenterPCTurnOnText:
+	text_far _PokecenterPCTurnOnText
 	text_end
 
-PokecenterPCText_AccessWhosePC:
-	; Access whose PC?
-	text_far UnknownText_0x1c1462
+PokecenterPCWhoseText:
+	text_far _PokecenterPCWhoseText
 	text_end
 
-PokecenterPCText_AccessedBillsPC:
-	; BILL's PC accessed. #MON Storage System opened.
-	text_far UnknownText_0x1c1474
+PokecenterBillsPCText:
+	text_far _PokecenterBillsPCText
 	text_end
 
-PokecenterPCText_AccessedOwnPC:
-	; Accessed own PC. Item Storage System opened.
-	text_far UnknownText_0x1c14a4
+PokecenterPlayersPCText:
+	text_far _PokecenterPlayersPCText
 	text_end
 
-PokecenterPCText_AccessedOaksPC:
-	; PROF.OAK's PC accessed. #DEX Rating System opened.
-	text_far UnknownText_0x1c14d2
+PokecenterOaksPCText:
+	text_far _PokecenterOaksPCText
 	text_end
 
-PokecenterPCText_LinkClosed:
-	; … Link closed…
-	text_far UnknownText_0x1c1505
+PokecenterPCOaksClosedText:
+	text_far _PokecenterPCOaksClosedText
 	text_end
--- a/engine/events/print_photo.asm
+++ b/engine/events/print_photo.asm
@@ -1,5 +1,5 @@
 PhotoStudio:
-	ld hl, .Text_AskWhichMon
+	ld hl, .WhichMonPhotoText
 	call PrintText
 	farcall SelectMonFromParty
 	jr c, .cancel
@@ -7,7 +7,7 @@
 	cp EGG
 	jr z, .egg
 
-	ld hl, .Text_HoldStill
+	ld hl, .HoldStillText
 	call PrintText
 	call DisableSpriteUpdates
 	farcall PrintPartymon
@@ -15,41 +15,36 @@
 	ldh a, [hPrinter]
 	and a
 	jr nz, .cancel
-	ld hl, .Text_Presto
+	ld hl, .PrestoAllDoneText
 	jr .print_text
 
 .cancel
-	ld hl, .Text_NoPicture
+	ld hl, .NoPhotoText
 	jr .print_text
 
 .egg
-	ld hl, .Text_Egg
+	ld hl, .EggPhotoText
 
 .print_text
 	call PrintText
 	ret
 
-.Text_AskWhichMon:
-	; Which #MON should I photo- graph?
+.WhichMonPhotoText:
 	text_far _WhichMonPhotoText
 	text_end
 
-.Text_HoldStill:
-	; All righty. Hold still for a bit.
-	text_far _HoldOnText
+.HoldStillText:
+	text_far _HoldStillText
 	text_end
 
-.Text_Presto:
-	; Presto! All done. Come again, OK?
+.PrestoAllDoneText:
 	text_far _PrestoAllDoneText
 	text_end
 
-.Text_NoPicture:
-	; Oh, no picture? Come again, OK?
-	text_far UnknownText_0x1c0000
+.NoPhotoText:
+	text_far _NoPhotoText
 	text_end
 
-.Text_Egg:
-	; An EGG? My talent is worth more…
-	text_far UnknownText_0x1c0021
+.EggPhotoText:
+	text_far _EggPhotoText
 	text_end
--- 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/sacred_ash.asm
+++ b/engine/events/sacred_ash.asm
@@ -1,4 +1,3 @@
-
 _SacredAsh:
 	ld a, $0
 	ld [wItemEffectSucceeded], a
@@ -57,7 +56,7 @@
 	special FadeOutPalettes
 	special FadeInPalettes
 	waitsfx
-	writetext UnknownText_0x50845
+	writetext .UseSacredAshText
 	playsound SFX_CAUGHT_MON
 	waitsfx
 	waitbutton
@@ -64,7 +63,6 @@
 	closetext
 	end
 
-UnknownText_0x50845:
-	; 's #MON were all healed!
-	text_far UnknownText_0x1c0b65
+.UseSacredAshText:
+	text_far _UseSacredAshText
 	text_end
--- a/engine/events/shuckle.asm
+++ b/engine/events/shuckle.asm
@@ -2,7 +2,7 @@
 
 GiveShuckle:
 ; Adding to the party.
-	xor a
+	xor a ; PARTYMON
 	ld [wMonType], a
 
 ; Level 15 Shuckle.
--- a/engine/events/specials.asm
+++ b/engine/events/specials.asm
@@ -168,7 +168,6 @@
 	ret
 
 .ReceiveItemText:
-	; received item
 	text_far _ReceiveItemText
 	text_end
 
@@ -256,12 +255,10 @@
 	ret
 
 .NoCoinsText:
-	; You have no coins.
 	text_far _NoCoinsText
 	text_end
 
 .NoCoinCaseText:
-	; You don't have a COIN CASE.
 	text_far _NoCoinCaseText
 	text_end
 
--- a/engine/events/squirtbottle.asm
+++ b/engine/events/squirtbottle.asm
@@ -9,15 +9,14 @@
 	reloadmappart
 	special UpdateTimePals
 	callasm .CheckCanUseSquirtbottle
-	iffalse .NothingHappenedScript
+	iffalse .SquirtbottleNothingScript
 	farsjump WateredWeirdTreeScript
 
-.NothingHappenedScript:
-	jumptext .NothingHappenedText
+.SquirtbottleNothingScript:
+	jumptext .SquirtbottleNothingText
 
-.NothingHappenedText:
-	; sprinkled water. But nothing happened…
-	text_far UnknownText_0x1c0b3b
+.SquirtbottleNothingText:
+	text_far _SquirtbottleNothingText
 	text_end
 
 .CheckCanUseSquirtbottle:
--- 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
@@ -182,7 +182,7 @@
 
 TownMapScript:
 	opentext
-	farwritetext TownMapText
+	farwritetext LookTownMapText
 	waitbutton
 	special OverworldTownMap
 	closetext
@@ -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
@@ -1778,7 +1778,7 @@
 ReceiveTogepiEggScript:
 	waitsfx
 	farwritetext ReceivedItemText
-	playsound SFX_GET_EGG_FROM_DAY_CARE_LADY
+	playsound SFX_GET_EGG
 	waitsfx
 	end
 
@@ -1786,7 +1786,7 @@
 	faceplayer
 	opentext
 	farwritetext CoinVendor_WelcomeText
-	buttonsound
+	promptbutton
 	checkitem COIN_CASE
 	iftrue CoinVendor_IntroScript
 	farwritetext CoinVendor_NoCoinCaseText
--- a/engine/events/sweet_scent.asm
+++ b/engine/events/sweet_scent.asm
@@ -9,7 +9,7 @@
 	reloadmappart
 	special UpdateTimePals
 	callasm GetPartyNick
-	writetext UnknownText_0x50726
+	writetext UseSweetScentText
 	waitbutton
 	callasm SweetScentEncounter
 	iffalse SweetScentNothing
@@ -24,7 +24,7 @@
 	farsjump BugCatchingContestBattleScript
 
 SweetScentNothing:
-	writetext UnknownText_0x5072b
+	writetext SweetScentNothingText
 	waitbutton
 	closetext
 	end
@@ -57,12 +57,10 @@
 	ld [wBattleType], a
 	ret
 
-UnknownText_0x50726:
-	; used SWEET SCENT!
-	text_far UnknownText_0x1c0b03
+UseSweetScentText:
+	text_far _UseSweetScentText
 	text_end
 
-UnknownText_0x5072b:
-	; Looks like there's nothing here…
-	text_far UnknownText_0x1c0b1a
+SweetScentNothingText:
+	text_far _SweetScentNothingText
 	text_end
--- a/engine/events/whiteout.asm
+++ b/engine/events/whiteout.asm
@@ -25,8 +25,7 @@
 	jumpstd bugcontestresultswarp
 
 .WhitedOutText:
-	; is out of useable #MON!  whited out!
-	text_far UnknownText_0x1c0a4e
+	text_far _WhitedOutText
 	text_end
 
 OverworldBGMap:
--- a/engine/games/card_flip.asm
+++ b/engine/games/card_flip.asm
@@ -102,7 +102,7 @@
 	ret
 
 .AskPlayWithThree:
-	ld hl, .PlayWithThreeCoinsText
+	ld hl, .CardFlipPlayWithThreeCoinsText
 	call CardFlip_UpdateCoinBalanceDisplay
 	call YesNoBox
 	jr c, .SaidNo
@@ -115,9 +115,8 @@
 	ld [wJumptableIndex], a
 	ret
 
-.PlayWithThreeCoinsText:
-	; Play with three coins?
-	text_far UnknownText_0x1c5793
+.CardFlipPlayWithThreeCoinsText:
+	text_far _CardFlipPlayWithThreeCoinsText
 	text_end
 
 .DeductCoins:
@@ -131,7 +130,7 @@
 	ld a, l
 	cp 3
 	jr nc, .deduct ; You have at least 3 coins.
-	ld hl, .NotEnoughCoinsText
+	ld hl, .CardFlipNotEnoughCoinsText
 	call CardFlip_UpdateCoinBalanceDisplay
 	ld a, 7
 	ld [wJumptableIndex], a
@@ -155,9 +154,8 @@
 	call .Increment
 	ret
 
-.NotEnoughCoinsText:
-	; Not enough coins…
-	text_far UnknownText_0x1c57ab
+.CardFlipNotEnoughCoinsText:
+	text_far _CardFlipNotEnoughCoinsText
 	text_end
 
 .ChooseACard:
@@ -184,7 +182,7 @@
 	hlcoord 2, 6
 	call PlaceCardFaceDown
 	call WaitBGMap
-	ld hl, .ChooseACardText
+	ld hl, .CardFlipChooseACardText
 	call CardFlip_UpdateCoinBalanceDisplay
 	xor a
 	ld [wCardFlipWhichCard], a
@@ -232,13 +230,12 @@
 	call .Increment
 	ret
 
-.ChooseACardText:
-	; Choose a card.
-	text_far UnknownText_0x1c57be
+.CardFlipChooseACardText:
+	text_far _CardFlipChooseACardText
 	text_end
 
 .PlaceYourBet:
-	ld hl, .PlaceYourBetText
+	ld hl, .CardFlipPlaceYourBetText
 	call CardFlip_UpdateCoinBalanceDisplay
 .betloop
 	call JoyTextDelay
@@ -254,9 +251,8 @@
 	call .Increment
 	ret
 
-.PlaceYourBetText:
-	; Place your bet.
-	text_far UnknownText_0x1c57ce
+.CardFlipPlaceYourBetText:
+	text_far _CardFlipPlaceYourBetText
 	text_end
 
 .CheckTheCard:
@@ -296,7 +292,7 @@
 
 .PlayAgain:
 	call ClearSprites
-	ld hl, .PlayAgainText
+	ld hl, .CardFlipPlayAgainText
 	call CardFlip_UpdateCoinBalanceDisplay
 	call YesNoBox
 	jr nc, .Continue
@@ -313,7 +309,7 @@
 	ld a, $1
 	ldh [hBGMapMode], a
 	call CardFlip_ShuffleDeck
-	ld hl, .CardsShuffledText
+	ld hl, .CardFlipShuffledText
 	call PrintText
 	jr .LoopAround
 
@@ -325,14 +321,12 @@
 	ld [wJumptableIndex], a
 	ret
 
-.PlayAgainText:
-	; Want to play again?
-	text_far UnknownText_0x1c57df
+.CardFlipPlayAgainText:
+	text_far _CardFlipPlayAgainText
 	text_end
 
-.CardsShuffledText:
-	; The cards have been shuffled.
-	text_far UnknownText_0x1c57f4
+.CardFlipShuffledText:
+	text_far _CardFlipShuffledText
 	text_end
 
 .Quit:
@@ -1085,7 +1079,7 @@
 .Lose:
 	ld de, SFX_WRONG
 	call PlaySFX
-	ld hl, .Text_Darn
+	ld hl, .CardFlipDarnText
 	call CardFlip_UpdateCoinBalanceDisplay
 	call WaitSFX
 	ret
@@ -1093,7 +1087,7 @@
 .Payout:
 	push bc
 	push de
-	ld hl, .Text_Yeah
+	ld hl, .CardFlipYeahText
 	call CardFlip_UpdateCoinBalanceDisplay
 	pop de
 	call PlaySFX
@@ -1114,14 +1108,12 @@
 	jr nz, .loop
 	ret
 
-.Text_Yeah:
-	; Yeah!
-	text_far UnknownText_0x1c5813
+.CardFlipYeahText:
+	text_far _CardFlipYeahText
 	text_end
 
-.Text_Darn:
-	; Darn…
-	text_far UnknownText_0x1c581a
+.CardFlipDarnText:
+	text_far _CardFlipDarnText
 	text_end
 
 .AddCoinPlaySFX:
--- a/engine/games/dummy_game.asm
+++ b/engine/games/dummy_game.asm
@@ -304,7 +304,7 @@
 	call DummyGame_Card2Coord
 	call DummyGame_PlaceCard
 
-	ld hl, DummyGameText_Darn
+	ld hl, DummyGameDarnText
 	call PrintText
 	ret
 
@@ -313,7 +313,7 @@
 	push bc
 	hlcoord 2, 13
 	call DummyGame_PlaceCard
-	ld hl, DummyGameText_Yeah
+	ld hl, DummyGameYeahText
 	pop bc
 	inc bc
 	inc bc
@@ -320,14 +320,12 @@
 	inc bc
 	ret
 
-DummyGameText_Yeah:
-	; , yeah!
-	text_far UnknownText_0x1c1a5b
+DummyGameYeahText:
+	text_far _DummyGameYeahText
 	text_end
 
-DummyGameText_Darn:
-	; Darn…
-	text_far UnknownText_0x1c1a65
+DummyGameDarnText:
+	text_far _DummyGameDarnText
 	text_end
 
 DummyGame_InitBoard:
--- a/engine/games/slot_machine.asm
+++ b/engine/games/slot_machine.asm
@@ -1707,7 +1707,7 @@
 
 Slots_AskBet:
 .loop
-	ld hl, .Text_BetHowManyCoins
+	ld hl, .SlotsBetHowManyCoinsText
 	call PrintText
 	ld hl, .MenuHeader
 	call LoadMenuHeader
@@ -1727,7 +1727,7 @@
 	ld a, [hl]
 	cp c
 	jr nc, .Start
-	ld hl, .Text_NotEnoughCoins
+	ld hl, .SlotsNotEnoughCoinsText
 	call PrintText
 	jr .loop
 
@@ -1742,24 +1742,21 @@
 	call WaitSFX
 	ld de, SFX_PAY_DAY
 	call PlaySFX
-	ld hl, .Text_Start
+	ld hl, .SlotsStartText
 	call PrintText
 	and a
 	ret
 
-.Text_BetHowManyCoins:
-	; Bet how many coins?
-	text_far UnknownText_0x1c5049
+.SlotsBetHowManyCoinsText:
+	text_far _SlotsBetHowManyCoinsText
 	text_end
 
-.Text_Start:
-	; Start!
-	text_far UnknownText_0x1c505e
+.SlotsStartText:
+	text_far _SlotsStartText
 	text_end
 
-.Text_NotEnoughCoins:
-	; Not enough coins.
-	text_far UnknownText_0x1c5066
+.SlotsNotEnoughCoinsText:
+	text_far _SlotsNotEnoughCoinsText
 	text_end
 
 .MenuHeader:
@@ -1780,7 +1777,7 @@
 	ld a, [hli]
 	or [hl]
 	jr nz, .you_have_coins
-	ld hl, .Text_OutOfCoins
+	ld hl, .SlotsRanOutOfCoinsText
 	call PrintText
 	ld c, 60
 	call DelayFrames
@@ -1787,7 +1784,7 @@
 	jr .exit_slots
 
 .you_have_coins
-	ld hl, .Text_PlayAgain
+	ld hl, .SlotsPlayAgainText
 	call PrintText
 	call LoadMenuTextbox
 	lb bc, 14, 12
@@ -1804,12 +1801,12 @@
 	scf
 	ret
 
-.Text_OutOfCoins:
-	text_far UnknownText_0x1c5079
+.SlotsRanOutOfCoinsText:
+	text_far _SlotsRanOutOfCoinsText
 	text_end
 
-.Text_PlayAgain:
-	text_far UnknownText_0x1c5092
+.SlotsPlayAgainText:
+	text_far _SlotsPlayAgainText
 	text_end
 
 Slots_GetPayout:
@@ -1849,7 +1846,7 @@
 	ld a, [wSlotMatched]
 	cp SLOTS_NO_MATCH
 	jr nz, .MatchedSomething
-	ld hl, .Text_Darn
+	ld hl, .SlotsDarnText
 	call PrintText
 	farcall StubbedTrainerRankings_EndSlotsWinStreak
 	ret
@@ -1899,20 +1896,18 @@
 	ldcoord_a 3, 14
 	hlcoord 18, 17
 	ld [hl], "▼"
-	ld hl, .Text_LinedUpWonCoins
+	ld hl, .SlotsLinedUpText
 rept 4
 	inc bc
 endr
 	ret
 
-.Text_LinedUpWonCoins:
-	; lined up! Won @  coins!
-	text_far UnknownText_0x1c509f
+.SlotsLinedUpText:
+	text_far _SlotsLinedUpText
 	text_end
 
-.Text_Darn:
-	; Darn!
-	text_far UnknownText_0x1c50bb
+.SlotsDarnText:
+	text_far _SlotsDarnText
 	text_end
 
 .LinedUpSevens:
--- 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/item_effects.asm
+++ b/engine/items/item_effects.asm
@@ -218,7 +218,7 @@
 
 	ld hl, wOptions
 	res NO_TEXT_SCROLL, [hl]
-	ld hl, UsedItemText
+	ld hl, ItemUsedText
 	call PrintText
 
 	ld a, [wEnemyMonCatchRate]
@@ -399,16 +399,16 @@
 	jr nz, .caught
 	ld a, [wBuffer2]
 	cp $1
-	ld hl, Text_NoShake
+	ld hl, BallBrokeFreeText
 	jp z, .shake_and_break_free
 	cp $2
-	ld hl, Text_OneShake
+	ld hl, BallAppearedCaughtText
 	jp z, .shake_and_break_free
 	cp $3
-	ld hl, Text_TwoShakes
+	ld hl, BallAlmostHadItText
 	jp z, .shake_and_break_free
 	cp $4
-	ld hl, Text_ThreeShakes
+	ld hl, BallSoCloseText
 	jp z, .shake_and_break_free
 .caught
 
@@ -517,7 +517,7 @@
 	call CheckReceivedDex
 	jr z, .skip_pokedex
 
-	ld hl, Text_AddedToPokedex
+	ld hl, NewDexDataText
 	call PrintText
 
 	call ClearSprites
@@ -562,7 +562,7 @@
 	ld [hl], a
 
 .SkipPartyMonFriendBall:
-	ld hl, Text_AskNicknameNewlyCaughtMon
+	ld hl, AskGiveNicknameText
 	call PrintText
 
 	ld a, [wCurPartySpecies]
@@ -622,7 +622,7 @@
 .SkipBoxMonFriendBall:
 	call CloseSRAM
 
-	ld hl, Text_AskNicknameNewlyCaughtMon
+	ld hl, AskGiveNicknameText
 	call PrintText
 
 	ld a, [wCurPartySpecies]
@@ -665,7 +665,7 @@
 
 	call CloseSRAM
 
-	ld hl, Text_SentToBillsPC
+	ld hl, BallSentToPCText
 	call PrintText
 
 	call RotateThreePalettesRight
@@ -1061,39 +1061,33 @@
 ; These two texts were carried over from gen 1.
 ; They are not used in gen 2, and are dummied out.
 
-Text_RBY_CatchMarowak:
-	; It dodged the thrown BALL! This #MON can't be caught!
-	text_far UnknownText_0x1c5a5a
+BallDodgedText:
+	text_far _BallDodgedText
 	text_end
 
-Text_RBY_NoShake:
-	; You missed the #MON!
-	text_far UnknownText_0x1c5a90
+BallMissedText:
+	text_far _BallMissedText
 	text_end
 
-Text_NoShake:
-	; Oh no! The #MON broke free!
-	text_far UnknownText_0x1c5aa6
+BallBrokeFreeText:
+	text_far _BallBrokeFreeText
 	text_end
 
-Text_OneShake:
-	; Aww! It appeared to be caught!
-	text_far UnknownText_0x1c5ac3
+BallAppearedCaughtText:
+	text_far _BallAppearedCaughtText
 	text_end
 
-Text_TwoShakes:
-	; Aargh! Almost had it!
-	text_far UnknownText_0x1c5ae3
+BallAlmostHadItText:
+	text_far _BallAlmostHadItText
 	text_end
 
-Text_ThreeShakes:
-	; Shoot! It was so close too!
-	text_far UnknownText_0x1c5afa
+BallSoCloseText:
+	text_far _BallSoCloseText
 	text_end
 
 Text_GotchaMonWasCaught:
 	; Gotcha! @ was caught!@ @
-	text_far UnknownText_0x1c5b17
+	text_far Text_BallCaught
 	text_asm
 	call WaitSFX
 	push bc
@@ -1103,27 +1097,23 @@
 	ld de, MUSIC_CAPTURE
 	call PlayMusic
 	pop bc
-	ld hl, TextJump_Waitbutton
+	ld hl, WaitButtonText
 	ret
 
-TextJump_Waitbutton:
-	; @
-	text_far Text_Waitbutton_2
+WaitButtonText:
+	text_far _WaitButtonText
 	text_end
 
-Text_SentToBillsPC:
-	; was sent to BILL's PC.
-	text_far UnknownText_0x1c5b38
+BallSentToPCText:
+	text_far _BallSentToPCText
 	text_end
 
-Text_AddedToPokedex:
-	; 's data was newly added to the #DEX.@ @
-	text_far UnknownText_0x1c5b53
+NewDexDataText:
+	text_far _NewDexDataText
 	text_end
 
-Text_AskNicknameNewlyCaughtMon:
-	; Give a nickname to @ ?
-	text_far UnknownText_0x1c5b7f
+AskGiveNicknameText:
+	text_far _AskGiveNicknameText
 	text_end
 
 ReturnToBattle_UseBall:
@@ -1204,7 +1194,7 @@
 
 	call Play_SFX_FULL_HEAL
 
-	ld hl, Text_StatRose
+	ld hl, ItemStatRoseText
 	call PrintText
 
 	ld c, HAPPINESS_USEDITEM
@@ -1213,7 +1203,7 @@
 	jp UseDisposableItem
 
 NoEffectMessage:
-	ld hl, WontHaveAnyEffectText
+	ld hl, ItemWontHaveEffectText
 	call PrintText
 	jp ClearPalettes
 
@@ -1232,9 +1222,8 @@
 	ld [wItemEffectSucceeded], a
 	jp ClearPalettes
 
-Text_StatRose:
-	; 's @  rose.
-	text_far UnknownText_0x1c5b9a
+ItemStatRoseText:
+	text_far _ItemStatRoseText
 	text_end
 
 StatStrings:
@@ -2055,14 +2044,13 @@
 
 .cant_use
 	push bc
-	ld hl, .Text_CantBeUsed
+	ld hl, .ItemCantUseOnMonText
 	call MenuTextboxBackup
 	pop bc
 	jr .loop
 
-.Text_CantBeUsed:
-	; That can't be used on this #MON.
-	text_far UnknownText_0x1c5bac
+.ItemCantUseOnMonText:
+	text_far _ItemCantUseOnMonText
 	text_end
 
 EscapeRopeEffect:
@@ -2089,7 +2077,7 @@
 UseRepel:
 	ld a, [wRepelEffect]
 	and a
-	ld hl, TextJump_RepelUsedEarlierIsStillInEffect
+	ld hl, RepelUsedEarlierIsStillInEffectText
 	jp nz, PrintText
 
 	ld a, b
@@ -2096,9 +2084,8 @@
 	ld [wRepelEffect], a
 	jp UseItemText
 
-TextJump_RepelUsedEarlierIsStillInEffect:
-	; The REPEL used earlier is still in effect.
-	text_far Text_RepelUsedEarlierIsStillInEffect
+RepelUsedEarlierIsStillInEffectText:
+	text_far _RepelUsedEarlierIsStillInEffectText
 	text_end
 
 XAccuracyEffect:
@@ -2205,7 +2192,7 @@
 
 	ld a, [wd002]
 	and a
-	ld hl, .CatchyTune
+	ld hl, .PlayedFluteText
 	jp z, PrintText
 	ld hl, .PlayedTheFlute
 	call PrintText
@@ -2214,7 +2201,7 @@
 	and 1 << DANGER_ON_F
 	jr nz, .dummy2
 .dummy2
-	ld hl, .AllSleepingMonWokeUp
+	ld hl, .FluteWakeUpText
 	jp PrintText
 
 .CureSleep:
@@ -2237,19 +2224,17 @@
 	jr nz, .loop
 	ret
 
-.CatchyTune:
-	; Played the # FLUTE. Now, that's a catchy tune!
-	text_far UnknownText_0x1c5bf9
+.PlayedFluteText:
+	text_far _PlayedFluteText
 	text_end
 
-.AllSleepingMonWokeUp:
-	; All sleeping #MON woke up.
-	text_far UnknownText_0x1c5c28
+.FluteWakeUpText:
+	text_far _FluteWakeUpText
 	text_end
 
 .PlayedTheFlute:
 	; played the # FLUTE.@ @
-	text_far UnknownText_0x1c5c44
+	text_far Text_PlayedPokeFlute
 	text_asm
 	ld a, [wBattleMode]
 	and a
@@ -2265,19 +2250,19 @@
 	jp PokeFluteTerminatorCharacter
 
 BlueCardEffect:
-	ld hl, .bluecardtext
+	ld hl, .BlueCardBalanceText
 	jp MenuTextboxWaitButton
 
-.bluecardtext
-	text_far UnknownText_0x1c5c5e
+.BlueCardBalanceText:
+	text_far _BlueCardBalanceText
 	text_end
 
 CoinCaseEffect:
-	ld hl, .coincasetext
+	ld hl, .CoinCaseCountText
 	jp MenuTextboxWaitButton
 
-.coincasetext
-	text_far UnknownText_0x1c5c7b
+.CoinCaseCountText:
+	text_far _CoinCaseCountText
 	text_end
 
 OldRodEffect:
@@ -2317,11 +2302,11 @@
 	cp ELIXER
 	jp z, Elixer_RestorePPofAllMoves
 
-	ld hl, TextJump_RaiseThePPOfWhichMove
+	ld hl, RaiseThePPOfWhichMoveText
 	ld a, [wd002]
 	cp PP_UP
 	jr z, .ppup
-	ld hl, TextJump_RestoreThePPOfWhichMove
+	ld hl, RestoreThePPOfWhichMoveText
 
 .ppup
 	call PrintText
@@ -2365,7 +2350,7 @@
 
 .CantUsePPUpOnSketch:
 .pp_is_maxed_out
-	ld hl, TextJump_PPIsMaxedOut
+	ld hl, PPIsMaxedOutText
 	call PrintText
 	jr .loop2
 
@@ -2378,7 +2363,7 @@
 	call ApplyPPUp
 	call Play_SFX_FULL_HEAL
 
-	ld hl, TextJump_PPsIncreased
+	ld hl, PPsIncreasedText
 	call PrintText
 
 FinishPPRestore:
@@ -2401,7 +2386,7 @@
 
 .not_in_battle
 	call Play_SFX_FULL_HEAL
-	ld hl, UnknownText_0xf739
+	ld hl, PPRestoredText
 	call PrintText
 	jr FinishPPRestore
 
@@ -2530,29 +2515,24 @@
 	xor a
 	ret
 
-TextJump_RaiseThePPOfWhichMove:
-	; Raise the PP of which move?
-	text_far Text_RaiseThePPOfWhichMove
+RaiseThePPOfWhichMoveText:
+	text_far _RaiseThePPOfWhichMoveText
 	text_end
 
-TextJump_RestoreThePPOfWhichMove:
-	; Restore the PP of which move?
-	text_far Text_RestoreThePPOfWhichMove
+RestoreThePPOfWhichMoveText:
+	text_far _RestoreThePPOfWhichMoveText
 	text_end
 
-TextJump_PPIsMaxedOut:
-	; 's PP is maxed out.
-	text_far Text_PPIsMaxedOut
+PPIsMaxedOutText:
+	text_far _PPIsMaxedOutText
 	text_end
 
-TextJump_PPsIncreased:
-	; 's PP increased.
-	text_far Text_PPsIncreased
+PPsIncreasedText:
+	text_far _PPsIncreasedText
 	text_end
 
-UnknownText_0xf739:
-	; PP was restored.
-	text_far UnknownText_0x1c5cf1
+PPRestoredText:
+	text_far _PPRestoredText
 	text_end
 
 SquirtbottleEffect:
@@ -2584,14 +2564,13 @@
 OpenBox:
 	farcall SetSpecificDecorationFlag
 
-	ld hl, .text
+	ld hl, .SentTrophyHomeText
 	call PrintText
 
 	jp UseDisposableItem
 
-.text
-	; There was a trophy inside!
-	text_far UnknownText_0x1c5d03
+.SentTrophyHomeText:
+	text_far _SentTrophyHomeText
 	text_end
 
 NoEffect:
@@ -2605,7 +2584,7 @@
 	ret
 
 UseItemText:
-	ld hl, UsedItemText
+	ld hl, ItemUsedText
 	call PrintText
 	call Play_SFX_FULL_HEAL
 	call WaitPressAorB_BlinkCursor
@@ -2627,14 +2606,14 @@
 	ldh [hBattleTurn], a
 	ld [wNumHits], a
 	predef PlayBattleAnim
-	ld hl, BlockedTheBallText
+	ld hl, BallBlockedText
 	call PrintText
-	ld hl, DontBeAThiefText
+	ld hl, BallDontBeAThiefText
 	call PrintText
 	jr UseDisposableItem
 
 WontHaveAnyEffect_NotUsedMessage:
-	ld hl, WontHaveAnyEffectText
+	ld hl, ItemWontHaveEffectText
 	call PrintText
 
 	; Item wasn't used.
@@ -2643,11 +2622,11 @@
 	ret
 
 LooksBitterMessage:
-	ld hl, LooksBitterText
+	ld hl, ItemLooksBitterText
 	jp PrintText
 
 Ball_BoxIsFullMessage:
-	ld hl, Ball_BoxIsFullText
+	ld hl, BallBoxFullText
 	call PrintText
 
 	; Item wasn't used.
@@ -2656,27 +2635,27 @@
 	ret
 
 CantUseOnEggMessage:
-	ld hl, CantUseOnEggText
+	ld hl, ItemCantUseOnEggText
 	jr CantUseItemMessage
 
 IsntTheTimeMessage:
-	ld hl, IsntTheTimeText
+	ld hl, ItemOakWarningText
 	jr CantUseItemMessage
 
 WontHaveAnyEffectMessage:
-	ld hl, WontHaveAnyEffectText
+	ld hl, ItemWontHaveEffectText
 	jr CantUseItemMessage
 
 BelongsToSomeoneElseMessage:
-	ld hl, BelongsToSomeoneElseText
+	ld hl, ItemBelongsToSomeoneElseText
 	jr CantUseItemMessage
 
 CyclingIsntAllowedMessage:
-	ld hl, CyclingIsntAllowedText
+	ld hl, NoCyclingText
 	jr CantUseItemMessage
 
 CantGetOnYourBikeMessage:
-	ld hl, CantGetOnYourBikeText
+	ld hl, ItemCantGetOnText
 
 CantUseItemMessage:
 ; Item couldn't be used.
@@ -2684,69 +2663,56 @@
 	ld [wItemEffectSucceeded], a
 	jp PrintText
 
-LooksBitterText:
-	; It looks bitter…
-	text_far UnknownText_0x1c5d3e
+ItemLooksBitterText:
+	text_far _ItemLooksBitterText
 	text_end
 
-CantUseOnEggText:
-	; That can't be used on an EGG.
-	text_far UnknownText_0x1c5d50
+ItemCantUseOnEggText:
+	text_far _ItemCantUseOnEggText
 	text_end
 
-IsntTheTimeText:
-	; OAK:  ! This isn't the time to use that!
-	text_far UnknownText_0x1c5d6e
+ItemOakWarningText:
+	text_far _ItemOakWarningText
 	text_end
 
-BelongsToSomeoneElseText:
-	; That belongs to someone else!
-	text_far UnknownText_0x1c5d97
+ItemBelongsToSomeoneElseText:
+	text_far _ItemBelongsToSomeoneElseText
 	text_end
 
-WontHaveAnyEffectText:
-	; It won't have any effect.
-	text_far UnknownText_0x1c5db6
+ItemWontHaveEffectText:
+	text_far _ItemWontHaveEffectText
 	text_end
 
-BlockedTheBallText:
-	; The trainer blocked the BALL!
-	text_far UnknownText_0x1c5dd0
+BallBlockedText:
+	text_far _BallBlockedText
 	text_end
 
-DontBeAThiefText:
-	; Don't be a thief!
-	text_far UnknownText_0x1c5def
+BallDontBeAThiefText:
+	text_far _BallDontBeAThiefText
 	text_end
 
-CyclingIsntAllowedText:
-	; Cycling isn't allowed here.
-	text_far UnknownText_0x1c5e01
+NoCyclingText:
+	text_far _NoCyclingText
 	text_end
 
-CantGetOnYourBikeText:
-	; Can't get on your @  now.
-	text_far UnknownText_0x1c5e1d
+ItemCantGetOnText:
+	text_far _ItemCantGetOnText
 	text_end
 
-Ball_BoxIsFullText:
-	; The #MON BOX is full. That can't be used now.
-	text_far UnknownText_0x1c5e3a
+BallBoxFullText:
+	text_far _BallBoxFullText
 	text_end
 
-UsedItemText:
-	; used the@ .
-	text_far UnknownText_0x1c5e68
+ItemUsedText:
+	text_far _ItemUsedText
 	text_end
 
-GotOnTheItemText:
-	; got on the@ .
-	text_far UnknownText_0x1c5e7b
+ItemGotOnText:
+	text_far _ItemGotOnText
 	text_end
 
-GotOffTheItemText:
-	; got off@ the @ .
-	text_far UnknownText_0x1c5e90
+ItemGotOffText:
+	text_far _ItemGotOffText
 	text_end
 
 ApplyPPUp:
--- a/engine/items/mart.asm
+++ b/engine/items/mart.asm
@@ -34,10 +34,10 @@
 HerbShop:
 	call FarReadMart
 	call LoadStandardMenuHeader
-	ld hl, Text_HerbShop_Intro
+	ld hl, HerbShopLadyIntroText
 	call MartTextbox
 	call BuyMenu
-	ld hl, Text_HerbShop_ComeAgain
+	ld hl, HerbalLadyComeAgainText
 	call MartTextbox
 	ret
 
@@ -47,7 +47,7 @@
 	call LoadMartPointer
 	call ReadMart
 	call LoadStandardMenuHeader
-	ld hl, Text_BargainShop_Intro
+	ld hl, BargainShopIntroText
 	call MartTextbox
 	call BuyMenu
 	ld hl, wBargainShopFlags
@@ -58,7 +58,7 @@
 	set DAILYFLAGS1_GOLDENROD_UNDERGROUND_BARGAIN_F, [hl]
 
 .skip_set
-	ld hl, Text_BargainShop_ComeAgain
+	ld hl, BargainShopComeAgainText
 	call MartTextbox
 	ret
 
@@ -65,10 +65,10 @@
 Pharmacist:
 	call FarReadMart
 	call LoadStandardMenuHeader
-	ld hl, Text_Pharmacist_Intro
+	ld hl, PharmacyIntroText
 	call MartTextbox
 	call BuyMenu
-	ld hl, Text_Pharmacist_ComeAgain
+	ld hl, PharmacyComeAgainText
 	call MartTextbox
 	ret
 
@@ -85,10 +85,10 @@
 	call LoadMartPointer
 	call ReadMart
 	call LoadStandardMenuHeader
-	ld hl, Text_Mart_HowMayIHelpYou
+	ld hl, MartWelcomeText
 	call MartTextbox
 	call BuyMenu
-	ld hl, Text_Mart_ComeAgain
+	ld hl, MartComeAgainText
 	call MartTextbox
 	ret
 
@@ -161,7 +161,7 @@
 
 .HowMayIHelpYou:
 	call LoadStandardMenuHeader
-	ld hl, Text_Mart_HowMayIHelpYou
+	ld hl, MartWelcomeText
 	call PrintText
 	ld a, STANDARDMART_TOPMENU
 	ret
@@ -202,7 +202,7 @@
 
 .Quit:
 	call ExitMenu
-	ld hl, Text_Mart_ComeAgain
+	ld hl, MartComeAgainText
 	call MartTextbox
 	ld a, STANDARDMART_EXIT
 	ret
@@ -209,7 +209,7 @@
 
 .AnythingElse:
 	call LoadStandardMenuHeader
-	ld hl, Text_Mart_AnythingElse
+	ld hl, MartAskMoreText
 	call PrintText
 	ld a, STANDARDMART_TOPMENU
 	ret
@@ -395,35 +395,35 @@
 	dwb .StandardMartPointers, 2
 
 .StandardMartPointers:
-	dw Text_Mart_HowMany
-	dw Text_Mart_CostsThisMuch
-	dw Text_Mart_InsufficientFunds
-	dw Text_Mart_BagFull
-	dw Text_Mart_HereYouGo
+	dw MartHowManyText
+	dw MartFinalPriceText
+	dw MartNoMoneyText
+	dw MartPackFullText
+	dw MartThanksText
 	dw BuyMenuLoop
 
 .HerbShopPointers:
-	dw Text_HerbShop_HowMany
-	dw Text_HerbShop_CostsThisMuch
-	dw Text_HerbShop_InsufficientFunds
-	dw Text_HerbShop_BagFull
-	dw Text_HerbShop_HereYouGo
+	dw HerbalLadyHowManyText
+	dw HerbalLadyFinalPriceText
+	dw HerbalLadyNoMoneyText
+	dw HerbalLadyPackFullText
+	dw HerbalLadyThanksText
 	dw BuyMenuLoop
 
 .BargainShopPointers:
 	dw BuyMenuLoop
-	dw Text_BargainShop_CostsThisMuch
-	dw Text_BargainShop_InsufficientFunds
-	dw Text_BargainShop_BagFull
-	dw Text_BargainShop_HereYouGo
-	dw Text_BargainShop_SoldOut
+	dw BargainShopFinalPriceText
+	dw BargainShopNoFundsText
+	dw BargainShopPackFullText
+	dw BargainShopThanksText
+	dw BargainShopSoldOutText
 
 .PharmacyPointers:
-	dw Text_Pharmacy_HowMany
-	dw Text_Pharmacy_CostsThisMuch
-	dw Text_Pharmacy_InsufficientFunds
-	dw Text_Pharmacy_BagFull
-	dw Text_Pharmacy_HereYouGo
+	dw PharmacyHowManyText
+	dw PharmacyFinalPriceText
+	dw PharmacyNoMoneyText
+	dw PharmacyPackFullText
+	dw PharmacyThanksText
 	dw BuyMenuLoop
 
 BuyMenuLoop:
@@ -581,14 +581,12 @@
 	ld d, [hl]
 	ret
 
-Text_Mart_HowMany:
-	; How many?
-	text_far UnknownText_0x1c4bfd
+MartHowManyText:
+	text_far _MartHowManyText
 	text_end
 
-Text_Mart_CostsThisMuch:
-	; @ (S) will be ¥@ .
-	text_far UnknownText_0x1c4c08
+MartFinalPriceText:
+	text_far _MartFinalPriceText
 	text_end
 
 MenuHeader_Buy:
@@ -624,109 +622,88 @@
 	call PrintBCDNumber
 	ret
 
-Text_HerbShop_Intro:
-	; Hello, dear. I sell inexpensive herbal medicine. They're good, but a trifle bitter. Your #MON may not like them. Hehehehe…
-	text_far UnknownText_0x1c4c28
+HerbShopLadyIntroText:
+	text_far _HerbShopLadyIntroText
 	text_end
 
-Text_HerbShop_HowMany:
-	; How many?
-	text_far UnknownText_0x1c4ca3
+HerbalLadyHowManyText:
+	text_far _HerbalLadyHowManyText
 	text_end
 
-Text_HerbShop_CostsThisMuch:
-	; @ (S) will be ¥@ .
-	text_far UnknownText_0x1c4cae
+HerbalLadyFinalPriceText:
+	text_far _HerbalLadyFinalPriceText
 	text_end
 
-Text_HerbShop_HereYouGo:
-	; Thank you, dear. Hehehehe…
-	text_far UnknownText_0x1c4cce
+HerbalLadyThanksText:
+	text_far _HerbalLadyThanksText
 	text_end
 
-Text_HerbShop_BagFull:
-	; Oh? Your PACK is full, dear.
-	text_far UnknownText_0x1c4cea
+HerbalLadyPackFullText:
+	text_far _HerbalLadyPackFullText
 	text_end
 
-Text_HerbShop_InsufficientFunds:
-	; Hehehe… You don't have the money.
-	text_far UnknownText_0x1c4d08
+HerbalLadyNoMoneyText:
+	text_far _HerbalLadyNoMoneyText
 	text_end
 
-Text_HerbShop_ComeAgain:
-	; Come again, dear. Hehehehe…
-	text_far UnknownText_0x1c4d2a
+HerbalLadyComeAgainText:
+	text_far _HerbalLadyComeAgainText
 	text_end
 
-Text_BargainShop_Intro:
-	; Hiya! Care to see some bargains? I sell rare items that nobody else carries--but only one of each item.
-	text_far UnknownText_0x1c4d47
+BargainShopIntroText:
+	text_far _BargainShopIntroText
 	text_end
 
-Text_BargainShop_CostsThisMuch:
-	; costs ¥@ . Want it?
-	text_far UnknownText_0x1c4db0
+BargainShopFinalPriceText:
+	text_far _BargainShopFinalPriceText
 	text_end
 
-Text_BargainShop_HereYouGo:
-	; Thanks.
-	text_far UnknownText_0x1c4dcd
+BargainShopThanksText:
+	text_far _BargainShopThanksText
 	text_end
 
-Text_BargainShop_BagFull:
-	; Uh-oh, your PACK is chock-full.
-	text_far UnknownText_0x1c4dd6
+BargainShopPackFullText:
+	text_far _BargainShopPackFullText
 	text_end
 
-Text_BargainShop_SoldOut:
-	; You bought that already. I'm all sold out of it.
-	text_far UnknownText_0x1c4df7
+BargainShopSoldOutText:
+	text_far _BargainShopSoldOutText
 	text_end
 
-Text_BargainShop_InsufficientFunds:
-	; Uh-oh, you're short on funds.
-	text_far UnknownText_0x1c4e28
+BargainShopNoFundsText:
+	text_far _BargainShopNoFundsText
 	text_end
 
-Text_BargainShop_ComeAgain:
-	; Come by again sometime.
-	text_far UnknownText_0x1c4e46
+BargainShopComeAgainText:
+	text_far _BargainShopComeAgainText
 	text_end
 
-Text_Pharmacist_Intro:
-	; What's up? Need some medicine?
-	text_far UnknownText_0x1c4e5f
+PharmacyIntroText:
+	text_far _PharmacyIntroText
 	text_end
 
-Text_Pharmacy_HowMany:
-	; How many?
-	text_far UnknownText_0x1c4e7e
+PharmacyHowManyText:
+	text_far _PharmacyHowManyText
 	text_end
 
-Text_Pharmacy_CostsThisMuch:
-	; @ (S) will cost ¥@ .
-	text_far UnknownText_0x1c4e89
+PharmacyFinalPriceText:
+	text_far _PharmacyFinalPriceText
 	text_end
 
-Text_Pharmacy_HereYouGo:
-	; Thanks much!
-	text_far UnknownText_0x1c4eab
+PharmacyThanksText:
+	text_far _PharmacyThanksText
 	text_end
 
-Text_Pharmacy_BagFull:
-	; You don't have any more space.
-	text_far UnknownText_0x1c4eb9
+PharmacyPackFullText:
+	text_far _PharmacyPackFullText
 	text_end
 
-Text_Pharmacy_InsufficientFunds:
-	; Huh? That's not enough money.
-	text_far UnknownText_0x1c4ed8
+PharmacyNoMoneyText:
+	text_far _PharmacyNoMoneyText
 	text_end
 
-Text_Pharmacist_ComeAgain:
-	; All right. See you around.
-	text_far UnknownText_0x1c4ef6
+PharmacyComeAgainText:
+	text_far _PharmacyComeAgainText
 	text_end
 
 SellMenu:
@@ -752,8 +729,7 @@
 	ret
 
 .NothingToSellText:
-	; You don't have anything to sell.
-	text_far UnknownText_0x1c4f12
+	text_far _NothingToSellText
 	text_end
 
 .TryToSellItem:
@@ -780,13 +756,13 @@
 	ld a, [wItemAttributeParamBuffer]
 	and a
 	jr z, .okay_to_sell
-	ld hl, TextMart_CantBuyFromYou
+	ld hl, MartCantBuyText
 	call PrintText
 	and a
 	ret
 
 .okay_to_sell
-	ld hl, Text_Mart_SellHowMany
+	ld hl, MartSellHowManyText
 	call PrintText
 	farcall PlaceMoneyAtTopLeftOfTextbox
 	farcall SelectQuantityToSell
@@ -795,7 +771,7 @@
 	hlcoord 1, 14
 	lb bc, 3, 18
 	call ClearBox
-	ld hl, Text_Mart_ICanPayThisMuch
+	ld hl, MartSellPriceText
 	call PrintTextboxText
 	call YesNoBox
 	jr c, .declined
@@ -809,7 +785,7 @@
 	hlcoord 1, 14
 	lb bc, 3, 18
 	call ClearBox
-	ld hl, Text_Mart_SoldForAmount
+	ld hl, MartBoughtText
 	call PrintTextboxText
 	call PlayTransactionSound
 	farcall PlaceMoneyBottomLeft
@@ -820,22 +796,19 @@
 	and a
 	ret
 
-Text_Mart_SellHowMany:
-	; How many?
-	text_far UnknownText_0x1c4f33
+MartSellHowManyText:
+	text_far _MartSellHowManyText
 	text_end
 
-Text_Mart_ICanPayThisMuch:
-	; I can pay you ¥@ . Is that OK?
-	text_far UnknownText_0x1c4f3e
+MartSellPriceText:
+	text_far _MartSellPriceText
 	text_end
 
 .UnusedString15f7d:
 	db "!ダミー!@"
 
-Text_Mart_HowMayIHelpYou:
-	; Welcome! How may I help you?
-	text_far UnknownText_0x1c4f62
+MartWelcomeText:
+	text_far _MartWelcomeText
 	text_end
 
 MenuHeader_BuySell:
@@ -851,37 +824,32 @@
 	db "SELL@"
 	db "QUIT@"
 
-Text_Mart_HereYouGo:
-	; Here you are. Thank you!
-	text_far UnknownText_0x1c4f80
+MartThanksText:
+	text_far _MartThanksText
 	text_end
 
-Text_Mart_InsufficientFunds:
-	; You don't have enough money.
-	text_far UnknownText_0x1c4f9a
+MartNoMoneyText:
+	text_far _MartNoMoneyText
 	text_end
 
-Text_Mart_BagFull:
-	; You can't carry any more items.
-	text_far UnknownText_0x1c4fb7
+MartPackFullText:
+	text_far _MartPackFullText
 	text_end
 
-TextMart_CantBuyFromYou:
-	; Sorry, I can't buy that from you.
-	text_far UnknownText_0x1c4fd7
+MartCantBuyText:
+	text_far _MartCantBuyText
 	text_end
 
-Text_Mart_ComeAgain:
-	; Please come again!
-	text_far UnknownText_0x1c4ff9
+MartComeAgainText:
+	text_far _MartComeAgainText
 	text_end
 
-Text_Mart_AnythingElse:
-	text_far UnknownText_0x1c500d
+MartAskMoreText:
+	text_far _MartAskMoreText
 	text_end
 
-Text_Mart_SoldForAmount:
-	text_far UnknownText_0x1c502e
+MartBoughtText:
+	text_far _MartBoughtText
 	text_end
 
 PlayTransactionSound:
--- a/engine/items/pack.asm
+++ b/engine/items/pack.asm
@@ -440,7 +440,7 @@
 	dw .Field   ; ITEMMENU_CLOSE
 
 .Oak:
-	ld hl, Text_ThisIsntTheTime
+	ld hl, OakThisIsntTheTimeText
 	call Pack_PrintTextNoScroll
 	ret
 
@@ -461,7 +461,7 @@
 	ret
 
 .NoPokemon:
-	ld hl, TextJump_YouDontHaveAMon
+	ld hl, YouDontHaveAMonText
 	call Pack_PrintTextNoScroll
 	ret
 
@@ -475,7 +475,7 @@
 	ret
 
 TossMenu:
-	ld hl, Text_ThrowAwayHowMany
+	ld hl, AskThrowAwayText
 	call Pack_PrintTextNoScroll
 	farcall SelectQuantityToToss
 	push af
@@ -483,7 +483,7 @@
 	pop af
 	jr c, .finish
 	call Pack_GetItemName
-	ld hl, Text_ConfirmThrowAway
+	ld hl, AskQuantityThrowAwayText
 	call MenuTextbox
 	call YesNoBox
 	push af
@@ -494,7 +494,7 @@
 	ld a, [wCurItemQuantity]
 	call TossItem
 	call Pack_GetItemName
-	ld hl, Text_ThrewAway
+	ld hl, ThrewAwayText
 	call Pack_PrintTextNoScroll
 .finish
 	ret
@@ -547,12 +547,12 @@
 	call Pack_GetItemName
 	ld de, SFX_FULL_HEAL
 	call WaitPlaySFX
-	ld hl, Text_RegisteredItem
+	ld hl, RegisteredItemText
 	call Pack_PrintTextNoScroll
 	ret
 
 .cant_register
-	ld hl, Text_CantRegister
+	ld hl, CantRegisterText
 	call Pack_PrintTextNoScroll
 	ret
 
@@ -581,7 +581,7 @@
 	ld a, [wCurPartySpecies]
 	cp EGG
 	jr nz, .give
-	ld hl, .Egg
+	ld hl, .AnEggCantHoldAnItemText
 	call PrintText
 	jr .loop
 
@@ -611,12 +611,11 @@
 	ret
 
 .NoPokemon:
-	ld hl, TextJump_YouDontHaveAMon
+	ld hl, YouDontHaveAMonText
 	call Pack_PrintTextNoScroll
 	ret
-.Egg:
-	; An EGG can't hold an item.
-	text_far Text_AnEGGCantHoldAnItem
+.AnEggCantHoldAnItemText:
+	text_far _AnEggCantHoldAnItemText
 	text_end
 
 QuitItemSubmenu:
@@ -735,7 +734,7 @@
 	xor a
 	ldh [hBGMapMode], a
 	call WaitBGMap_DrawPackGFX
-	ld hl, Text_PackEmptyString
+	ld hl, PackEmptyText
 	call Pack_PrintTextNoScroll
 	call Pack_JumptableNext
 	ret
@@ -851,7 +850,7 @@
 	dw .BattleOnly  ; ITEMMENU_CLOSE
 
 .Oak:
-	ld hl, Text_ThisIsntTheTime
+	ld hl, OakThisIsntTheTimeText
 	call Pack_PrintTextNoScroll
 	ret
 
@@ -1298,7 +1297,7 @@
 
 .select
 	farcall SwitchItemsInBag
-	ld hl, Text_MoveItemWhere
+	ld hl, AskItemMoveText
 	call Pack_PrintTextNoScroll
 	scf
 	ret
@@ -1546,60 +1545,48 @@
 	dba PlaceMenuItemQuantity
 	dba UpdateItemDescription
 
-Text_PackNoItems:
-	; No items.
-	text_far UnknownText_0x1c0b9a
+PackNoItemText:
+	text_far _PackNoItemText
 	text_end
 
-Text_ThrowAwayHowMany:
-	; Throw away how many?
-	text_far UnknownText_0x1c0ba5
+AskThrowAwayText:
+	text_far _AskThrowAwayText
 	text_end
 
-Text_ConfirmThrowAway:
-	; Throw away @ @ (S)?
-	text_far UnknownText_0x1c0bbb
+AskQuantityThrowAwayText:
+	text_far _AskQuantityThrowAwayText
 	text_end
 
-Text_ThrewAway:
-	; Threw away @ (S).
-	text_far UnknownText_0x1c0bd8
+ThrewAwayText:
+	text_far _ThrewAwayText
 	text_end
 
-Text_ThisIsntTheTime:
-	; OAK:  ! This isn't the time to use that!
-	text_far UnknownText_0x1c0bee
+OakThisIsntTheTimeText:
+	text_far _OakThisIsntTheTimeText
 	text_end
 
-TextJump_YouDontHaveAMon:
-	; You don't have a #MON!
-	text_far Text_YouDontHaveAMon
+YouDontHaveAMonText:
+	text_far _YouDontHaveAMonText
 	text_end
 
-Text_RegisteredItem:
-	; Registered the @ .
-	text_far UnknownText_0x1c0c2e
+RegisteredItemText:
+	text_far _RegisteredItemText
 	text_end
 
-Text_CantRegister:
-	; You can't register that item.
-	text_far UnknownText_0x1c0c45
+CantRegisterText:
+	text_far _CantRegisterText
 	text_end
 
-Text_MoveItemWhere:
-	; Where should this be moved to?
-	text_far UnknownText_0x1c0c63
+AskItemMoveText:
+	text_far _AskItemMoveText
 	text_end
 
-Text_PackEmptyString:
-	;
-	text_far UnknownText_0x1c0c83
+PackEmptyText:
+	text_far _PackEmptyText
 	text_end
 
-TextJump_YouCantUseItInABattle:
-	; Doesn't seem to be used anywhere
-	; "You can't use it in a battle."
-	text_far Text_YouCantUseItInABattle
+YouCantUseItInABattleText:
+	text_far _YouCantUseItInABattleText
 	text_end
 
 PackMenuGFX:
--- a/engine/items/tmhm.asm
+++ b/engine/items/tmhm.asm
@@ -54,14 +54,14 @@
 	ld [wPutativeTMHMMove], a
 	call GetMoveName
 	call CopyName1
-	ld hl, Text_BootedTM ; Booted up a TM
+	ld hl, BootedTMText ; Booted up a TM
 	ld a, [wCurItem]
 	cp HM01
 	jr c, .TM
-	ld hl, Text_BootedHM ; Booted up an HM
+	ld hl, BootedHMText ; Booted up an HM
 .TM:
 	call PrintText
-	ld hl, Text_ItContained
+	ld hl, ContainedMoveText
 	call PrintText
 	call YesNoBox
 .NotTMHM:
@@ -132,7 +132,7 @@
 	ld de, SFX_WRONG
 	call PlaySFX
 	pop de
-	ld hl, Text_TMHMNotCompatible
+	ld hl, TMHMNotCompatibleText
 	call PrintText
 	jr .nope
 
@@ -166,24 +166,20 @@
 	scf
 	ret
 
-Text_BootedTM:
-	; Booted up a TM.
-	text_far UnknownText_0x1c0373
+BootedTMText:
+	text_far _BootedTMText
 	text_end
 
-Text_BootedHM:
-	; Booted up an HM.
-	text_far UnknownText_0x1c0384
+BootedHMText:
+	text_far _BootedHMText
 	text_end
 
-Text_ItContained:
-	; It contained @ . Teach @ to a #MON?
-	text_far UnknownText_0x1c0396
+ContainedMoveText:
+	text_far _ContainedMoveText
 	text_end
 
-Text_TMHMNotCompatible:
-	; is not compatible with @ . It can't learn @ .
-	text_far UnknownText_0x1c03c2
+TMHMNotCompatibleText:
+	text_far _TMHMNotCompatibleText
 	text_end
 
 TMHM_PocketLoop:
@@ -375,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
@@ -491,20 +487,18 @@
 Unreferenced_Function2cadf:
 	call ConvertCurItemIntoCurTMHM
 	call .CheckHaveRoomForTMHM
-	ld hl, .NoRoomText
+	ld hl, .NoRoomTMHMText
 	jr nc, .print
-	ld hl, .ReceivedText
+	ld hl, .ReceivedTMHMText
 .print
 	jp PrintText
 
-.NoRoomText:
-	; You have no room for any more @ S.
-	text_far UnknownText_0x1c03fa
+.NoRoomTMHMText:
+	text_far _NoRoomTMHMText
 	text_end
 
-.ReceivedText:
-	; You received @ !
-	text_far UnknownText_0x1c0421
+.ReceivedTMHMText:
+	text_far _ReceivedTMHMText
 	text_end
 
 .CheckHaveRoomForTMHM:
--- 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
@@ -475,7 +475,7 @@
 	jp InitTradeMenuDisplay
 
 LinkTimeout:
-	ld de, .TooMuchTimeHasElapsed
+	ld de, .LinkTimeoutText
 	ld b, 10
 .loop
 	call DelayFrame
@@ -505,9 +505,8 @@
 	call WaitBGMap2
 	ret
 
-.TooMuchTimeHasElapsed:
-	; Too much time has elapsed. Please try again.
-	text_far UnknownText_0x1c4183
+.LinkTimeoutText:
+	text_far _LinkTimeoutText
 	text_end
 
 ExchangeBytes:
@@ -876,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
@@ -1446,7 +1445,7 @@
 	ld c, 18
 	call LinkTextboxAtHL
 	farcall Link_WaitBGMap
-	ld hl, .Text_CantTradeLastMon
+	ld hl, .LinkTradeCantBattleText
 	bccoord 1, 14
 	call PlaceHLTextAtBC
 	jr .cancel_trade
@@ -1468,7 +1467,7 @@
 	ld c, 18
 	call LinkTextboxAtHL
 	farcall Link_WaitBGMap
-	ld hl, .Text_Abnormal
+	ld hl, .LinkAbnormalMonText
 	bccoord 1, 14
 	call PlaceHLTextAtBC
 
@@ -1487,17 +1486,15 @@
 	call DelayFrames
 	jp InitTradeMenuDisplay
 
-.Text_CantTradeLastMon:
-	; If you trade that #MON, you won't be able to battle.
-	text_far UnknownText_0x1c41b1
+.LinkTradeCantBattleText:
+	text_far _LinkTradeCantBattleText
 	text_end
 
 .String_Stats_Trade:
 	db "STATS     TRADE@"
 
-.Text_Abnormal:
-	; Your friend's @  appears to be abnormal!
-	text_far UnknownText_0x1c41e6
+.LinkAbnormalMonText:
+	text_far _LinkAbnormalMonText
 	text_end
 
 Function28ac9:
@@ -1633,7 +1630,7 @@
 	ld a, [hl]
 	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
-	ld hl, UnknownText_0x28eb8
+	ld hl, LinkAskTradeForText
 	bccoord 1, 14
 	call PlaceHLTextAtBC
 	call LoadStandardMenuHeader
@@ -1948,9 +1945,8 @@
 	db   "TRADE"
 	next "CANCEL@"
 
-UnknownText_0x28eb8:
-	; Trade @ for @ ?
-	text_far UnknownText_0x1c4212
+LinkAskTradeForText:
+	text_far _LinkAskTradeForText
 	text_end
 
 String28ebd:
@@ -2092,7 +2088,7 @@
 	call DelayFrames
 	xor a
 	ldh [hVBlank], a
-	inc a
+	inc a ; LINK_TIMECAPSULE
 	ld [wLinkMode], a
 	ret
 
--- a/engine/link/mystery_gift.asm
+++ b/engine/link/mystery_gift.asm
@@ -33,7 +33,7 @@
 	pop de
 	hlcoord 2, 8
 	ld a, d
-	ld de, .Text_LinkCanceled ; Link has been canceled
+	ld de, .MysteryGiftCanceledText ; Link has been canceled
 	cp $10
 	jp z, .LinkCanceled
 	cp $6c
@@ -42,10 +42,10 @@
 	cp 3
 	jr z, .skip_checks
 	call .CheckAlreadyGotFiveGiftsToday
-	ld hl, .Text_MaxFiveGifts ; Only 5 gifts a day
+	ld hl, .MysteryGiftFiveADayText ; Only 5 gifts a day
 	jp nc, .PrintTextAndExit
 	call .CheckAlreadyGotAGiftFromThatPerson
-	ld hl, .Text_MaxOneGiftPerPerson ; Only one gift a day per person
+	ld hl, .MysteryGiftOneADayText ; Only one gift a day per person
 	jp c, .PrintTextAndExit
 .skip_checks
 	ld a, [wMysteryGiftPlayerBackupItem]
@@ -82,7 +82,7 @@
 	ld de, wStringBuffer1
 	ld bc, ITEM_NAME_LENGTH
 	call CopyBytes
-	ld hl, .Text_SentToHome ; sent decoration to home
+	ld hl, .MysteryGiftSentHomeText ; sent decoration to home
 	jr .PrintTextAndExit
 
 .item
@@ -95,24 +95,24 @@
 	ld [wNamedObjectIndexBuffer], a
 	call CloseSRAM
 	call GetItemName
-	ld hl, .Text_Sent ; sent item
+	ld hl, .MysteryGiftSentText ; sent item
 	jr .PrintTextAndExit
 
 .LinkCanceled:
-	ld hl, .Text_LinkCanceled ; Link has been canceled
+	ld hl, .MysteryGiftCanceledText ; Link has been canceled
 	jr .PrintTextAndExit
 
 .CommunicationError:
-	ld hl, .Text_CommunicationError ; Communication error
+	ld hl, .MysteryGiftCommErrorText ; Communication error
 	call PrintText
 	jp DoMysteryGift
 
 .GiftWaiting:
-	ld hl, .Text_ReceiveGiftAtCounter ; receive gift at counter
+	ld hl, .RetrieveMysteryGiftText ; receive gift at counter
 	jr .PrintTextAndExit
 
 .FriendNotReady:
-	ld hl, .Text_FriendNotReady ; friend not ready
+	ld hl, .YourFriendIsNotReadyText ; friend not ready
 
 .PrintTextAndExit:
 	call PrintText
@@ -127,36 +127,36 @@
 	next "cancel it."
 	db   "@"
 
-.Text_LinkCanceled:
-	text_far UnknownText_0x1c0436
+.MysteryGiftCanceledText:
+	text_far _MysteryGiftCanceledText
 	text_end
 
-.Text_CommunicationError:
-	text_far UnknownText_0x1c0454
+.MysteryGiftCommErrorText:
+	text_far _MysteryGiftCommErrorText
 	text_end
 
-.Text_ReceiveGiftAtCounter:
-	text_far UnknownText_0x1c046a
+.RetrieveMysteryGiftText:
+	text_far _RetrieveMysteryGiftText
 	text_end
 
-.Text_FriendNotReady:
-	text_far UnknownText_0x1c048e
+.YourFriendIsNotReadyText:
+	text_far _YourFriendIsNotReadyText
 	text_end
 
-.Text_MaxFiveGifts:
-	text_far UnknownText_0x1c04a7
+.MysteryGiftFiveADayText:
+	text_far _MysteryGiftFiveADayText
 	text_end
 
-.Text_MaxOneGiftPerPerson:
-	text_far UnknownText_0x1c04c6
+.MysteryGiftOneADayText:
+	text_far _MysteryGiftOneADayText
 	text_end
 
-.Text_Sent:
-	text_far UnknownText_0x1c04e9
+.MysteryGiftSentText:
+	text_far _MysteryGiftSentText
 	text_end
 
-.Text_SentToHome:
-	text_far UnknownText_0x1c04fa
+.MysteryGiftSentHomeText:
+	text_far _MysteryGiftSentHomeText
 	text_end
 
 .CheckAlreadyGotFiveGiftsToday:
@@ -1425,15 +1425,15 @@
 	ld c, 60
 	call DelayFrames
 	call Function105777
-	ld hl, Text_ReceivedCard
+	ld hl, MysteryGiftReceivedCardText
 	call PrintText
 	ld de, wMysteryGiftTrainerData
 	farcall Function8ac70
 	ld a, c
 	ld [wDeciramBuffer], a
-	ld hl, Text_CardNotRegistered
+	ld hl, MysteryGiftNotRegisteredCardText
 	jr c, PrintTextAndExit_JP
-	ld hl, Text_ListedCardAsNumber
+	ld hl, MysteryGiftListedCardText
 	jr PrintTextAndExit_JP
 
 Function1056eb:
@@ -1467,12 +1467,12 @@
 
 Function105712:
 	call Function105777
-	ld hl, Text_MGLinkCanceled
+	ld hl, MysteryGiftLinkCancelledText
 	jr PrintTextAndExit_JP
 
 Function10571a:
 	call Function105777
-	ld hl, Text_MGCommError
+	ld hl, MysteryGiftLinkCommErrorText
 	call PrintText
 	jp Function105688
 
@@ -1489,24 +1489,24 @@
 	next "つうしん<WO>ちゅうし します"
 	db   "@"
 
-Text_ReceivedCard:
-	text_far UnknownText_0x1c051a
+MysteryGiftReceivedCardText:
+	text_far _MysteryGiftReceivedCardText
 	text_end
 
-Text_ListedCardAsNumber:
-	text_far UnknownText_0x1c0531
+MysteryGiftListedCardText:
+	text_far _MysteryGiftListedCardText
 	text_end
 
-Text_CardNotRegistered:
-	text_far UnknownText_0x1c0555
+MysteryGiftNotRegisteredCardText:
+	text_far _MysteryGiftNotRegisteredCardText
 	text_end
 
-Text_MGLinkCanceled:
-	text_far UnknownText_0x1c0573
+MysteryGiftLinkCancelledText:
+	text_far _MysteryGiftLinkCancelledText
 	text_end
 
-Text_MGCommError:
-	text_far UnknownText_0x1c0591
+MysteryGiftLinkCommErrorText:
+	text_far _MysteryGiftLinkCommErrorText
 	text_end
 
 Function105777:
--- 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/delete_save.asm
+++ b/engine/menus/delete_save.asm
@@ -6,7 +6,7 @@
 	call LoadFontsExtra
 	ld de, MUSIC_MAIN_MENU
 	call PlayMusic
-	ld hl, .Text_ClearAllSaveData
+	ld hl, .ClearAllSaveDataText
 	call PrintText
 	ld hl, .NoYesMenuHeader
 	call CopyMenuHeader
@@ -18,9 +18,8 @@
 	farcall EmptyAllSRAMBanks
 	ret
 
-.Text_ClearAllSaveData:
-	; Clear all save data?
-	text_far UnknownText_0x1c564a
+.ClearAllSaveDataText:
+	text_far _ClearAllSaveDataText
 	text_end
 
 .NoYesMenuHeader:
--- a/engine/menus/init_gender.asm
+++ b/engine/menus/init_gender.asm
@@ -27,7 +27,7 @@
 	call LoadGenderScreenLightBlueTile
 	call WaitBGMap2
 	call SetPalettes
-	ld hl, TextJump_AreYouABoyOrAreYouAGirl
+	ld hl, AreYouABoyOrAreYouAGirlText
 	call PrintText
 	ld hl, .MenuHeader
 	call LoadMenuHeader
@@ -53,9 +53,8 @@
 	db "Boy@"
 	db "Girl@"
 
-TextJump_AreYouABoyOrAreYouAGirl:
-	; Are you a boy? Or are you a girl?
-	text_far Text_AreYouABoyOrAreYouAGirl
+AreYouABoyOrAreYouAGirlText:
+	text_far _AreYouABoyOrAreYouAGirlText
 	text_end
 
 InitGenderScreen:
--- a/engine/menus/intro_menu.asm
+++ b/engine/menus/intro_menu.asm
@@ -957,6 +957,8 @@
 	jr c, StartTitleScreen
 	farcall CrystalIntro
 
+	; fallthrough
+
 StartTitleScreen:
 	ldh a, [rSVBK]
 	push af
--- a/engine/menus/main_menu.asm
+++ b/engine/menus/main_menu.asm
@@ -280,9 +280,8 @@
 .TimeNotSet:
 	db "TIME NOT SET@"
 
-.UnusedText:
-	; Clock time unknown
-	text_far UnknownText_0x1c5182
+.MainMenuTimeUnknownText:
+	text_far _MainMenuTimeUnknownText
 	text_end
 
 .PlaceCurrentDay:
--- a/engine/menus/menu.asm
+++ b/engine/menus/menu.asm
@@ -725,14 +725,14 @@
 	ret
 
 Error_Cant_ExitMenu:
-	ld hl, .Text_NoWindowsAvailableForPopping
+	ld hl, .WindowPoppingErrorText
 	call PrintText
 	call WaitBGMap
-.InfiniteLoop:
-	jr .InfiniteLoop
+.infinite_loop
+	jr .infinite_loop
 
-.Text_NoWindowsAvailableForPopping:
-	text_far UnknownText_0x1c46b7
+.WindowPoppingErrorText:
+	text_far _WindowPoppingErrorText
 	text_end
 
 _InitVerticalMenuCursor::
--- 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/menus/save.asm
+++ b/engine/menus/save.asm
@@ -4,7 +4,7 @@
 	call SpeechTextbox
 	call UpdateSprites
 	farcall SaveMenu_CopyTilemapAtOnce
-	ld hl, Text_WouldYouLikeToSaveTheGame
+	ld hl, WouldYouLikeToSaveTheGameText
 	call SaveTheGame_yesorno
 	jr nz, .refused
 	call AskOverwriteSaveFile
@@ -38,7 +38,7 @@
 
 ChangeBoxSaveGame:
 	push de
-	ld hl, Text_SaveOnBoxSwitch
+	ld hl, ChangeBoxSaveText
 	call MenuTextbox
 	call YesNoBox
 	call ExitMenu
@@ -115,7 +115,7 @@
 	ret
 
 StartMoveMonWOMail_SaveGame:
-	ld hl, Text_SaveOnMoveMonWOMail
+	ld hl, MoveMonWOMailSaveText
 	call MenuTextbox
 	call YesNoBox
 	call ExitMenu
@@ -173,13 +173,13 @@
 	jr z, .erase
 	call CompareLoadedAndSavedPlayerID
 	jr z, .yoursavefile
-	ld hl, Text_AnotherSaveFile
+	ld hl, AnotherSaveFileText
 	call SaveTheGame_yesorno
 	jr nz, .refused
 	jr .erase
 
 .yoursavefile
-	ld hl, Text_AlreadyASaveFile
+	ld hl, AlreadyASaveFileText
 	call SaveTheGame_yesorno
 	jr nz, .refused
 	jr .ok
@@ -196,7 +196,7 @@
 	ret
 
 SaveTheGame_yesorno:
-	ld b, BANK(Text_WouldYouLikeToSaveTheGame)
+	ld b, BANK(WouldYouLikeToSaveTheGameText)
 	call MapTextbox
 	call LoadMenuTextbox
 	lb bc, 0, 7
@@ -239,7 +239,7 @@
 	ld a, TEXT_DELAY_MED
 	ld [wOptions], a
 	; <PLAYER> saved the game!
-	ld hl, Text_PlayerSavedTheGame
+	ld hl, SavedTheGameText
 	call PrintText
 	; restore the original text speed setting
 	pop af
@@ -336,7 +336,7 @@
 	ld a, TEXT_DELAY_MED
 	ld [wOptions], a
 	; SAVING... DON'T TURN OFF THE POWER.
-	ld hl, Text_SavingDontTurnOffThePower
+	ld hl, SavingDontTurnOffThePowerText
 	call PrintText
 	; Restore the text speed setting
 	pop af
@@ -391,11 +391,10 @@
 	jp CloseSRAM
 
 Unreferenced_Function14d18:
-; copy .Data to SRA4:a007
-	ld a, 4 ; MBC30 bank used by JP Crystal; inaccessible by MBC3
+	ld a, BANK(s4_a007)
 	call GetSRAMBank
 	ld hl, .Data
-	ld de, $a007 ; address of MBC30 bank
+	ld de, s4_a007
 	ld bc, .DataEnd - .Data
 	call CopyBytes
 	jp CloseSRAM
@@ -619,7 +618,7 @@
 	push af
 	set NO_TEXT_SCROLL, a
 	ld [wOptions], a
-	ld hl, Text_SaveFileCorrupted
+	ld hl, SaveFileCorruptedText
 	call PrintText
 	pop af
 	ld [wOptions], a
@@ -833,9 +832,9 @@
 
 	ld hl, wd479
 	ld a, [hli]
-	ld [$a60e + 0], a
+	ld [s4_a60e + 0], a
 	ld a, [hli]
-	ld [$a60e + 1], a
+	ld [s4_a60e + 1], a
 
 	jp CloseSRAM
 
@@ -851,9 +850,9 @@
 	; (harmlessly) writes the aforementioned wEventFlags to the unused wd479.
 
 	ld hl, wd479
-	ld a, [$a60e + 0]
+	ld a, [s4_a60e + 0]
 	ld [hli], a
-	ld a, [$a60e + 1]
+	ld a, [s4_a60e + 1]
 	ld [hli], a
 
 	jp CloseSRAM
@@ -1095,42 +1094,34 @@
 	jr nz, .loop
 	ret
 
-Text_WouldYouLikeToSaveTheGame:
-	; Would you like to save the game?
-	text_far UnknownText_0x1c454b
+WouldYouLikeToSaveTheGameText:
+	text_far _WouldYouLikeToSaveTheGameText
 	text_end
 
-Text_SavingDontTurnOffThePower:
-	; SAVING… DON'T TURN OFF THE POWER.
-	text_far UnknownText_0x1c456d
+SavingDontTurnOffThePowerText:
+	text_far _SavingDontTurnOffThePowerText
 	text_end
 
-Text_PlayerSavedTheGame:
-	; saved the game.
-	text_far UnknownText_0x1c4590
+SavedTheGameText:
+	text_far _SavedTheGameText
 	text_end
 
-Text_AlreadyASaveFile:
-	; There is already a save file. Is it OK to overwrite?
-	text_far UnknownText_0x1c45a3
+AlreadyASaveFileText:
+	text_far _AlreadyASaveFileText
 	text_end
 
-Text_AnotherSaveFile:
-	; There is another save file. Is it OK to overwrite?
-	text_far UnknownText_0x1c45d9
+AnotherSaveFileText:
+	text_far _AnotherSaveFileText
 	text_end
 
-Text_SaveFileCorrupted:
-	; The save file is corrupted!
-	text_far UnknownText_0x1c460d
+SaveFileCorruptedText:
+	text_far _SaveFileCorruptedText
 	text_end
 
-Text_SaveOnBoxSwitch:
-	; When you change a #MON BOX, data will be saved. OK?
-	text_far UnknownText_0x1c462a
+ChangeBoxSaveText:
+	text_far _ChangeBoxSaveText
 	text_end
 
-Text_SaveOnMoveMonWOMail:
-	; Each time you move a #MON, data will be saved. OK?
-	text_far UnknownText_0x1c465f
+MoveMonWOMailSaveText:
+	text_far _MoveMonWOMailSaveText
 	text_end
--- a/engine/menus/start_menu.asm
+++ b/engine/menus/start_menu.asm
@@ -411,7 +411,7 @@
 StartMenu_Quit:
 ; Retire from the bug catching contest.
 
-	ld hl, .EndTheContestText
+	ld hl, .StartMenuContestEndText
 	call StartMenuYesNo
 	jr c, .DontEndContest
 	ld a, BANK(BugCatchingContestReturnToGateScript)
@@ -424,8 +424,8 @@
 	ld a, 0
 	ret
 
-.EndTheContestText:
-	text_far UnknownText_0x1c1a6c
+.StartMenuContestEndText:
+	text_far _StartMenuContestEndText
 	text_end
 
 StartMenu_Save:
--- 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/movie/init_hof_credits.asm
+++ b/engine/movie/init_hof_credits.asm
@@ -17,14 +17,13 @@
 	ldh [hSCY], a
 	ldh [hSCX], a
 	call EnableLCD
-	ld hl, .SavingRecordDontTurnOff
+	ld hl, .SavingRecordText
 	call PrintText
 	call WaitBGMap2
 	call SetPalettes
 	ret
 
-.SavingRecordDontTurnOff:
-	; SAVING RECORD… DON'T TURN OFF!
+.SavingRecordText:
 	text_far _SavingRecordText
 	text_end
 
--- a/engine/movie/trade_animation.asm
+++ b/engine/movie/trade_animation.asm
@@ -1170,11 +1170,11 @@
 	ld a, [wLinkMode]
 	cp LINK_TIMECAPSULE
 	jr z, .time_capsule
-	ld hl, .Text_MonName
+	ld hl, .MonNameSentToText
 	call PrintText
 	ld c, 189
 	call DelayFrames
-	ld hl, .Text_WasSentTo
+	ld hl, .MonWasSentToText
 	call PrintText
 	call TradeAnim_Wait80Frames
 	ld c, 128
@@ -1183,40 +1183,36 @@
 	ret
 
 .time_capsule
-	ld hl, .Text_WasSentTo
+	ld hl, .MonWasSentToText
 	call PrintText
 	call TradeAnim_Wait80Frames
 	call TradeAnim_AdvanceScriptPointer
 	ret
 
-.Text_WasSentTo:
-	; was sent to @ .
-	text_far _TradingText1
+.MonWasSentToText:
+	text_far _MonWasSentToText
 	text_end
 
-.Text_MonName:
-	;
-	text_far _TradingText2
+.MonNameSentToText:
+	text_far _MonNameSentToText
 	text_end
 
 TradeAnim_OTBidsFarewell:
-	ld hl, .Text_BidsFarewellToMon
+	ld hl, .BidsFarewellToMonText
 	call PrintText
 	call TradeAnim_Wait80Frames
-	ld hl, .Text_MonName
+	ld hl, .MonNameBidsFarewellText
 	call PrintText
 	call TradeAnim_Wait80Frames
 	call TradeAnim_AdvanceScriptPointer
 	ret
 
-.Text_BidsFarewellToMon:
-	; bids farewell to
-	text_far _TradingText3
+.BidsFarewellToMonText:
+	text_far _BidsFarewellToMonText
 	text_end
 
-.Text_MonName:
-	; .
-	text_far _TradingText4
+.MonNameBidsFarewellText:
+	text_far _MonNameBidsFarewellText
 	text_end
 
 TradeAnim_TakeCareOfText:
@@ -1226,22 +1222,21 @@
 	ld a, " "
 	call ByteFill
 	call WaitBGMap
-	ld hl, .Text_TakeGoodCareOfMon
+	ld hl, .TakeGoodCareOfMonText
 	call PrintText
 	call TradeAnim_Wait80Frames
 	call TradeAnim_AdvanceScriptPointer
 	ret
 
-.Text_TakeGoodCareOfMon:
-	; Take good care of @ .
-	text_far _TradingText5
+.TakeGoodCareOfMonText:
+	text_far _TakeGoodCareOfMonText
 	text_end
 
 TradeAnim_OTSendsText1:
-	ld hl, .Text_ForYourMon
+	ld hl, .ForYourMonSendsText
 	call PrintText
 	call TradeAnim_Wait80Frames
-	ld hl, .Text_OTSends
+	ld hl, .OTSendsText
 	call PrintText
 	call TradeAnim_Wait80Frames
 	ld c, 14
@@ -1249,21 +1244,19 @@
 	call TradeAnim_AdvanceScriptPointer
 	ret
 
-.Text_ForYourMon:
-	; For @ 's @ ,
-	text_far _TradingText6
+.ForYourMonSendsText:
+	text_far _ForYourMonSendsText
 	text_end
 
-.Text_OTSends:
-	; sends @ .
-	text_far _TradingText7
+.OTSendsText:
+	text_far _OTSendsText
 	text_end
 
 TradeAnim_OTSendsText2:
-	ld hl, .Text_WillTrade
+	ld hl, .WillTradeText
 	call PrintText
 	call TradeAnim_Wait80Frames
-	ld hl, .Text_ForYourMon
+	ld hl, .ForYourMonWillTradeText
 	call PrintText
 	call TradeAnim_Wait80Frames
 	ld c, 14
@@ -1271,14 +1264,12 @@
 	call TradeAnim_AdvanceScriptPointer
 	ret
 
-.Text_WillTrade:
-	; will trade @ @
-	text_far _TradingText8
+.WillTradeText:
+	text_far _WillTradeText
 	text_end
 
-.Text_ForYourMon:
-	; for @ 's @ .
-	text_far _TradingText9
+.ForYourMonWillTradeText:
+	text_far _ForYourMonWillTradeText
 	text_end
 
 TradeAnim_Wait80Frames:
--- a/engine/overworld/decorations.asm
+++ b/engine/overworld/decorations.asm
@@ -378,12 +378,11 @@
 	ret
 
 .empty
-	ld hl, .Text_nothing_to_choose
+	ld hl, .NothingToChooseText
 	call MenuTextboxBackup
 	ret
 
-.Text_nothing_to_choose:
-	; There's nothing to choose.
+.NothingToChooseText:
 	text_far _NothingToChooseText
 	text_end
 
@@ -674,7 +673,7 @@
 	ld a, [wBuffer1]
 	ld hl, wStringBuffer3
 	call GetDecorationName
-	ld hl, DecoText_PutAwayAndSetUp
+	ld hl, PutAwayAndSetUpText
 	call MenuTextboxBackup
 	xor a
 	ret
@@ -683,13 +682,13 @@
 	ld a, [wMenuSelection]
 	ld hl, wStringBuffer3
 	call GetDecorationName
-	ld hl, DecoText_SetUpTheDeco
+	ld hl, SetUpTheDecoText
 	call MenuTextboxBackup
 	xor a
 	ret
 
 .alreadythere
-	ld hl, DecoText_AlreadySetUp
+	ld hl, AlreadySetUpText
 	call MenuTextboxBackup
 	scf
 	ret
@@ -710,19 +709,19 @@
 	ld [wMenuSelection], a
 	ld hl, wStringBuffer3
 	call GetDecorationName
-	ld hl, DecoText_PutAwayTheDeco
+	ld hl, PutAwayTheDecoText
 	call MenuTextboxBackup
 	xor a
 	ret
 
 .nothingthere
-	ld hl, DecoText_NothingToPutAway
+	ld hl, NothingToPutAwayText
 	call MenuTextboxBackup
 	xor a
 	ret
 
 DecoAction_setupornament:
-	ld hl, UnknownText_0x26e41
+	ld hl, WhichSidePutOnText
 	call DecoAction_AskWhichSide
 	jr c, .cancel
 	call DecoAction_SetItUp_Ornament
@@ -736,7 +735,7 @@
 	ret
 
 DecoAction_putawayornament:
-	ld hl, DecoText_WhichSide
+	ld hl, WhichSidePutAwayText
 	call DecoAction_AskWhichSide
 	jr nc, .incave
 	xor a
@@ -771,7 +770,7 @@
 	ld a, [wMenuSelection]
 	ld [wSelectedDecoration], a
 	call .getwhichside
-	ld hl, DecoText_PutAwayAndSetUp
+	ld hl, PutAwayAndSetUpText
 	call MenuTextboxBackup
 	xor a
 	ret
@@ -783,13 +782,13 @@
 	ld a, [wMenuSelection]
 	ld hl, wStringBuffer3
 	call GetDecorationName
-	ld hl, DecoText_SetUpTheDeco
+	ld hl, SetUpTheDecoText
 	call MenuTextboxBackup
 	xor a
 	ret
 
 .failed
-	ld hl, DecoText_AlreadySetUp
+	ld hl, AlreadySetUpText
 	call MenuTextboxBackup
 	scf
 	ret
@@ -804,8 +803,7 @@
 	ld [wOtherDecoration], a
 	ret
 
-UnknownText_0x26e41:
-	; Which side do you want to put it on?
+WhichSidePutOnText:
 	text_far _WhichSidePutOnText
 	text_end
 
@@ -819,19 +817,18 @@
 	ld [wBuffer5], a
 	xor a
 	ld [wSelectedDecoration], a
-	ld hl, DecoText_PutAwayTheDeco
+	ld hl, PutAwayTheDecoText
 	call MenuTextboxBackup
 	xor a
 	ret
 
 .nothingthere
-	ld hl, DecoText_NothingToPutAway
+	ld hl, NothingToPutAwayText
 	call MenuTextboxBackup
 	xor a
 	ret
 
-DecoText_WhichSide:
-	; Which side do you want to put away?
+WhichSidePutAwayText:
 	text_far _WhichSidePutAwayText
 	text_end
 
@@ -883,28 +880,23 @@
 	db "LEFT SIDE@"
 	db "CANCEL@"
 
-DecoText_PutAwayTheDeco:
-	; Put away the @ .
+PutAwayTheDecoText:
 	text_far _PutAwayTheDecoText
 	text_end
 
-DecoText_NothingToPutAway:
-	; There's nothing to put away.
+NothingToPutAwayText:
 	text_far _NothingToPutAwayText
 	text_end
 
-DecoText_SetUpTheDeco:
-	; Set up the @ .
+SetUpTheDecoText:
 	text_far _SetUpTheDecoText
 	text_end
 
-DecoText_PutAwayAndSetUp:
-	; Put away the @ and set up the @ .
+PutAwayAndSetUpText:
 	text_far _PutAwayAndSetUpText
 	text_end
 
-DecoText_AlreadySetUp:
-	; That's already set up.
+AlreadySetUpText:
 	text_far _AlreadySetUpText
 	text_end
 
@@ -1005,38 +997,34 @@
 
 DecorationDesc_TownMapPoster:
 	opentext
-	writetext .TownMapText
+	writetext .LookTownMapText
 	waitbutton
 	special OverworldTownMap
 	closetext
 	end
 
-.TownMapText:
-	; It's the TOWN MAP.
+.LookTownMapText:
 	text_far _LookTownMapText
 	text_end
 
 DecorationDesc_PikachuPoster:
-	jumptext .PikaPosterText
+	jumptext .LookPikachuPosterText
 
-.PikaPosterText:
-	; It's a poster of a cute PIKACHU.
+.LookPikachuPosterText:
 	text_far _LookPikachuPosterText
 	text_end
 
 DecorationDesc_ClefairyPoster:
-	jumptext .ClefairyPosterText
+	jumptext .LookClefairyPosterText
 
-.ClefairyPosterText:
-	; It's a poster of a cute CLEFAIRY.
+.LookClefairyPosterText:
 	text_far _LookClefairyPosterText
 	text_end
 
 DecorationDesc_JigglypuffPoster:
-	jumptext .JigglypuffPosterText
+	jumptext .LookJigglypuffPosterText
 
-.JigglypuffPosterText:
-	; It's a poster of a cute JIGGLYPUFF.
+.LookJigglypuffPosterText:
 	text_far _LookJigglypuffPosterText
 	text_end
 
@@ -1064,10 +1052,9 @@
 	ret
 
 .OrnamentConsoleScript:
-	jumptext .OrnamentConsoleText
+	jumptext .LookAdorableDecoText
 
-.OrnamentConsoleText:
-	; It's an adorable @ .
+.LookAdorableDecoText:
 	text_far _LookAdorableDecoText
 	text_end
 
@@ -1077,10 +1064,9 @@
 	ret
 
 .BigDollScript:
-	jumptext .BigDollText
+	jumptext .LookGiantDecoText
 
-.BigDollText:
-	; A giant doll! It's fluffy and cuddly.
+.LookGiantDecoText:
 	text_far _LookGiantDecoText
 	text_end
 
--- 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
@@ -430,7 +430,7 @@
 	ret
 
 .ok
-	ld a, SPRITEMOVEFN_STANDING
+	ld a, SPRITEMOVEDATA_STANDING_DOWN
 	ret
 
 ClearObjectMovementByteIndex:
@@ -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
@@ -2466,7 +2466,7 @@
 	jr ContinueSpawnFacing
 
 SpawnInFacingDown:
-	ld a, 0
+	ld a, DOWN
 ContinueSpawnFacing:
 	ld bc, wPlayerStruct
 	call SetSpriteDirection
@@ -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/map_setup.asm
+++ b/engine/overworld/map_setup.asm
@@ -18,7 +18,7 @@
 ReadMapSetupScript:
 .loop
 	ld a, [hli]
-	cp -1
+	cp map_end
 	ret z
 
 	push hl
@@ -62,52 +62,52 @@
 ; entries correspond to command indexes in constants/map_setup_constants.asm
 	dba EnableLCD ; 00
 	dba DisableLCD ; 01
-	dba MapSetup_Sound_Off ; 02
+	dba InitSound ; 02
 	dba PlayMapMusic ; 03
 	dba RestartMapMusic ; 04
 	dba FadeToMapMusic ; 05
-	dba RotatePalettesRightMapAndMusic ; 06
-	dba EnterMapMusic ; 07
+	dba FadeMapMusicAndPalettes ; 06
+	dba PlayMapMusicBike ; 07
 	dba ForceMapMusic ; 08
 	dba FadeInMusic ; 09
 	dba LoadBlockData ; 0a (callback 1)
-	dba LoadNeighboringBlockData ; 0b
+	dba LoadConnectionBlockData ; 0b
 	dba SaveScreen ; 0c
 	dba BufferScreen ; 0d
-	dba LoadGraphics ; 0e
-	dba LoadTileset ; 0f
+	dba LoadMapGraphics ; 0e
+	dba LoadMapTileset ; 0f
 	dba LoadMapTimeOfDay ; 10
 	dba LoadMapPalettes ; 11
 	dba LoadWildMonData ; 12
 	dba RefreshMapSprites ; 13
 	dba HandleNewMap ; 14
-	dba InitCommandQueue ; 15
-	dba LoadObjectsRunCallback_02 ; 16
-	dba LoadSpawnPoint ; 17
+	dba HandleContinueMap ; 15
+	dba LoadMapObjects ; 16
+	dba EnterMapSpawnPoint ; 17
 	dba EnterMapConnection ; 18
-	dba LoadWarpData ; 19
+	dba EnterMapWarp ; 19
 	dba LoadMapAttributes ; 1a
-	dba LoadMapAttributes_SkipPeople ; 1b
+	dba LoadMapAttributes_SkipObjects ; 1b
 	dba ClearBGPalettes ; 1c
 	dba FadeOutPalettes ; 1d
 	dba FadeInPalettes ; 1e
-	dba GetCoordOfUpperLeftCorner ; 1f
-	dba RestoreFacingAfterWarp ; 20
+	dba GetMapScreenCoords ; 1f
+	dba GetWarpDestCoords ; 20
 	dba SpawnInFacingDown ; 21
 	dba SpawnPlayer ; 22
 	dba RefreshPlayerCoords ; 23
-	dba DelayClearingOldSprites ; 24
-	dba DelayLoadingNewSprites ; 25
+	dba ResetPlayerObjectAction ; 24
+	dba SkipUpdateMapSprites ; 25
 	dba UpdateRoamMons ; 26
 	dba JumpRoamMons ; 27
-	dba FadeOldMapMusic ; 28
+	dba FadeOutMapMusic ; 28
 	dba ActivateMapAnims ; 29
 	dba SuspendMapAnims ; 2a
-	dba RetainOldPalettes ; 2b
-	dba DontScrollText ; 2c
-	dba ReturnFromMapSetupScript ; 2d
+	dba ApplyMapPalettes ; 2b
+	dba EnableTextAcceleration ; 2c
+	dba InitMapNameSign ; 2d
 
-DontScrollText:
+EnableTextAcceleration:
 	xor a
 	ld [wDisableTextAcceleration], a
 	ret
@@ -122,7 +122,7 @@
 	ldh [hMapAnims], a
 	ret
 
-LoadObjectsRunCallback_02:
+LoadMapObjects:
 	ld a, MAPCALLBACK_OBJECTS
 	call RunMapCallback
 	farcall LoadObjectMasks
@@ -132,12 +132,12 @@
 ; unused
 	ret
 
-DelayClearingOldSprites:
+ResetPlayerObjectAction:
 	ld hl, wPlayerSpriteSetupFlags
 	set PLAYERSPRITESETUP_RESET_ACTION_F, [hl]
 	ret
 
-DelayLoadingNewSprites:
+SkipUpdateMapSprites:
 	ld hl, wPlayerSpriteSetupFlags
 	set PLAYERSPRITESETUP_SKIP_RELOAD_GFX_F, [hl]
 	ret
@@ -178,13 +178,13 @@
 	jr z, .surfing
 	call GetMapEnvironment
 	cp INDOOR
-	jr z, .checkbiking
+	jr z, .no_biking
 	cp ENVIRONMENT_5
-	jr z, .checkbiking
+	jr z, .no_biking
 	cp DUNGEON
-	jr z, .checkbiking
+	jr z, .no_biking
 	jr .nope
-.checkbiking
+.no_biking
 	ld a, [wPlayerState]
 	cp PLAYER_BIKE
 	jr nz, .nope
@@ -200,31 +200,32 @@
 
 .CheckSurfing:
 	call CheckOnWater
-	jr nz, .ret_nc
+	jr nz, .nope2
 	ld a, [wPlayerState]
 	cp PLAYER_SURF
-	jr z, ._surfing
+	jr z, .is_surfing
 	cp PLAYER_SURF_PIKA
-	jr z, ._surfing
+	jr z, .is_surfing
 	ld a, PLAYER_SURF
 	ld [wPlayerState], a
-._surfing
+.is_surfing
 	scf
 	ret
-.ret_nc
+
+.nope2
 	and a
 	ret
 
-FadeOldMapMusic:
+FadeOutMapMusic:
 	ld a, 6
 	call SkipMusic
 	ret
 
-RetainOldPalettes:
+ApplyMapPalettes:
 	farcall _UpdateTimePals
 	ret
 
-RotatePalettesRightMapAndMusic:
+FadeMapMusicAndPalettes:
 	ld e, 0
 	ld a, [wMusicFadeID]
 	ld d, 0
--- 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,12 +525,12 @@
 	end
 
 .Full:
-	buttonsound
+	promptbutton
 	pocketisfull
 	end
 
 ReceivedItemText:
-	text_far UnknownText_0x1c4719
+	text_far _ReceivedItemText
 	text_end
 
 Script_verbosegiveitemvar:
@@ -622,11 +622,11 @@
 	ret
 
 PutItemInPocketText:
-	text_far UnknownText_0x1c472c
+	text_far _PutItemInPocketText
 	text_end
 
 PocketIsFullText:
-	text_far UnknownText_0x1c474b
+	text_far _PocketIsFullText
 	text_end
 
 Script_pokemart:
@@ -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/overworld/select_menu.asm
+++ b/engine/overworld/select_menu.asm
@@ -5,14 +5,14 @@
 
 .NotRegistered:
 	call OpenText
-	ld b, BANK(ItemMayBeRegisteredText)
-	ld hl, ItemMayBeRegisteredText
+	ld b, BANK(MayRegisterItemText)
+	ld hl, MayRegisterItemText
 	call MapTextbox
 	call WaitButton
 	jp CloseText
 
-ItemMayBeRegisteredText:
-	text_far UnknownText_0x1c1cf3
+MayRegisterItemText:
+	text_far _MayRegisterItemText
 	text_end
 
 CheckRegisteredItem:
--- a/engine/overworld/spawn_points.asm
+++ b/engine/overworld/spawn_points.asm
@@ -1,6 +1,6 @@
 INCLUDE "data/maps/spawn_points.asm"
 
-LoadSpawnPoint:
+EnterMapSpawnPoint:
 	; loads the spawn point in wDefaultSpawnpoint
 	push hl
 	push de
--- a/engine/overworld/warp_connection.asm
+++ b/engine/overworld/warp_connection.asm
@@ -1,4 +1,3 @@
-
 HandleNewMap:
 	call ClearUnusedMapBuffer
 	call ResetMapBufferEventFlags
@@ -7,7 +6,7 @@
 	call ResetBikeFlags
 	ld a, MAPCALLBACK_NEWMAP
 	call RunMapCallback
-InitCommandQueue:
+HandleContinueMap:
 	farcall ClearCmdQueue
 	ld a, MAPCALLBACK_CMDQUEUE
 	call RunMapCallback
@@ -150,7 +149,7 @@
 	scf
 	ret
 
-LoadWarpData:
+EnterMapWarp:
 	call .SaveDigWarp
 	call .SetSpawn
 	ld a, [wNextWarp]
@@ -296,8 +295,8 @@
 	ldh [rVBK], a
 	ret
 
-LoadGraphics:
-	call LoadTileset
+LoadMapGraphics:
+	call LoadMapTileset
 	call LoadTilesetGFX
 	xor a
 	ldh [hMapAnims], a
@@ -314,7 +313,7 @@
 
 RefreshMapSprites:
 	call ClearSprites
-	farcall ReturnFromMapSetupScript
+	farcall InitMapNameSign
 	call GetMovementPermissions
 	farcall RefreshPlayerSprite
 	farcall CheckReplaceKrisSprite
@@ -326,7 +325,7 @@
 	call SafeUpdateSprites
 .skip
 	ld a, [wPlayerSpriteSetupFlags]
-	and %00011100
+	and (1 << PLAYERSPRITESETUP_FEMALE_TO_MALE_F) | (1 << 3) | (1 << 4)
 	ld [wPlayerSpriteSetupFlags], a
 	ret
 
@@ -387,7 +386,7 @@
 	scf
 	ret
 
-GetCoordOfUpperLeftCorner::
+GetMapScreenCoords::
 	ld hl, wOverworldMapBlocks
 	ld a, [wXCoord]
 	bit 0, a
--- a/engine/overworld/wildmons.asm
+++ b/engine/overworld/wildmons.asm
@@ -821,7 +821,7 @@
 	ld a, c
 	ld [wNamedObjectIndexBuffer], a
 	call GetPokemonName
-	ld hl, .SawRareMonText
+	ld hl, .JustSawSomeRareMonText
 	call PrintText
 	xor a
 	ld [wScriptVar], a
@@ -832,8 +832,7 @@
 	ld [wScriptVar], a
 	ret
 
-.SawRareMonText:
-	; I just saw some rare @  in @ . I'll call you if I see another rare #MON, OK?
+.JustSawSomeRareMonText:
 	text_far _JustSawSomeRareMonText
 	text_end
 
--- a/engine/phone/phone.asm
+++ b/engine/phone/phone.asm
@@ -361,8 +361,8 @@
 	jr .DoPhoneCall
 
 .OutOfArea:
-	ld b, BANK(UnknownScript_0x90209)
-	ld de, UnknownScript_0x90209
+	ld b, BANK(LoadOutOfAreaScript)
+	ld de, LoadOutOfAreaScript
 	call ExecuteCallbackScript
 	ret
 
@@ -373,17 +373,17 @@
 	ld [wPhoneCaller], a
 	ld a, h
 	ld [wPhoneCaller + 1], a
-	ld b, BANK(UnknownScript_0x90205)
-	ld de, UnknownScript_0x90205
+	ld b, BANK(LoadPhoneScriptBank)
+	ld de, LoadPhoneScriptBank
 	call ExecuteCallbackScript
 	ret
 
-UnknownScript_0x90205:
+LoadPhoneScriptBank:
 	memcall wPhoneScriptBank
 	return
 
-UnknownScript_0x90209:
-	scall UnknownScript_0x90657
+LoadOutOfAreaScript:
+	scall PhoneOutOfAreaScript
 	return
 
 LoadCallerScript:
@@ -413,11 +413,10 @@
 	db TRAINER_NONE, PHONE_00
 	dba .script
 .script
-	writetext .text
+	writetext .PhoneWrongNumberText
 	end
-.text
-	; Huh? Sorry, wrong number!
-	text_far UnknownText_0x1c5565
+.PhoneWrongNumberText:
+	text_far _PhoneWrongNumberText
 	text_end
 
 Script_ReceivePhoneCall:
@@ -438,7 +437,7 @@
 	ld e, PHONE_BILL
 	jp LoadCallerScript
 
-UnknownScript_0x90261:
+LoadElmCallScript:
 	callasm .LoadElmScript
 	pause 30
 	sjump Script_ReceivePhoneCall
@@ -535,23 +534,23 @@
 	ret
 
 HangUp_Beep:
-	ld hl, UnknownText_0x9032a
+	ld hl, PhoneClickText
 	call PrintText
 	ld de, SFX_HANG_UP
 	call PlaySFX
 	ret
 
-UnknownText_0x9032a:
-	text_far UnknownText_0x1c5580
+PhoneClickText:
+	text_far _PhoneClickText
 	text_end
 
 HangUp_BoopOn:
-	ld hl, UnknownText_0x90336
+	ld hl, PhoneEllipseText
 	call PrintText
 	ret
 
-UnknownText_0x90336:
-	text_far UnknownText_0x1c5588
+PhoneEllipseText:
+	text_far _PhoneEllipseText
 	text_end
 
 HangUp_BoopOff:
@@ -705,29 +704,26 @@
 
 INCLUDE "data/phone/special_calls.asm"
 
-UnknownScript_0x90657:
-	writetext UnknownText_0x9065b
+PhoneOutOfAreaScript:
+	writetext PhoneOutOfAreaText
 	end
 
-UnknownText_0x9065b:
-	; That number is out of the area.
-	text_far UnknownText_0x1c558b
+PhoneOutOfAreaText:
+	text_far _PhoneOutOfAreaText
 	text_end
 
 PhoneScript_JustTalkToThem:
-	writetext UnknownText_0x90664
+	writetext PhoneJustTalkToThemText
 	end
 
-UnknownText_0x90664:
-	; Just go talk to that person!
-	text_far UnknownText_0x1c55ac
+PhoneJustTalkToThemText:
+	text_far _PhoneJustTalkToThemText
 	text_end
 
-UnknownScript_0x90669:
-	writetext UnknownText_0x9066d
+PhoneThankYouTextScript:
+	writetext PhoneThankYouText
 	end
 
-UnknownText_0x9066d:
-	; Thank you!
-	text_far UnknownText_0x1c55ca
+PhoneThankYouText:
+	text_far _PhoneThankYouText
 	text_end
--- a/engine/phone/scripts/alan.asm
+++ b/engine/phone/scripts/alan.asm
@@ -13,15 +13,15 @@
 	iftrue AlanWednesdayDay
 
 .NotWednesday:
-	farsjump UnknownScript_0xa0970
+	farsjump AlanHangUpScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, ROUTE_36
-	farsjump UnknownScript_0xa0a73
+	farsjump AlanReminderScript
 
 .FireStone:
 	getlandmarkname STRING_BUFFER_5, ROUTE_36
-	farsjump UnknownScript_0xa0ac5
+	farsjump AlanComePickUpScript
 
 AlanPhoneCallerScript:
 	gettrainername STRING_BUFFER_3, SCHOOLBOY, ALAN1
--- a/engine/phone/scripts/anthony.asm
+++ b/engine/phone/scripts/anthony.asm
@@ -13,15 +13,15 @@
 .NotFriday:
 	checkflag ENGINE_DUNSPARCE_SWARM
 	iftrue .AlreadySwarming
-	farsjump UnknownScript_0xa0950
+	farsjump AnthonyHangUpScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, ROUTE_33
-	farsjump UnknownScript_0xa0a5f
+	farsjump AnthonyReminderScript
 
 .AlreadySwarming:
 	getlandmarkname STRING_BUFFER_5, ROUTE_33
-	farsjump UnknownScript_0xa0afa
+	farsjump AnthonyHurryScript
 
 AnthonyPhoneCallerScript:
 	gettrainername STRING_BUFFER_3, HIKER, ANTHONY2
@@ -55,7 +55,7 @@
 	getmonname STRING_BUFFER_4, DUNSPARCE
 	swarm SWARM_DUNSPARCE, DARK_CAVE_VIOLET_ENTRANCE
 	getlandmarkname STRING_BUFFER_5, DARK_CAVE
-	farsjump UnknownScript_0xa05de
+	farsjump AnthonySwarmScript
 
 .Generic:
 	farsjump Phone_GenericCall_Male
--- a/engine/phone/scripts/arnie.asm
+++ b/engine/phone/scripts/arnie.asm
@@ -13,15 +13,15 @@
 .NotTuesday:
 	checkflag ENGINE_YANMA_SWARM
 	iftrue .AlreadySwarming
-	farsjump UnknownScript_0xa0968
+	farsjump ArnieHangUpScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, ROUTE_35
-	farsjump UnknownScript_0xa0a6e
+	farsjump ArnieReminderScript
 
 .AlreadySwarming:
 	getlandmarkname STRING_BUFFER_5, ROUTE_35
-	farsjump UnknownScript_0xa0aff
+	farsjump ArnieHurryScript
 
 ArniePhoneCallerScript:
 	gettrainername STRING_BUFFER_3, BUG_CATCHER, ARNIE1
@@ -55,7 +55,7 @@
 	getmonname STRING_BUFFER_4, YANMA
 	swarm SWARM_YANMA, ROUTE_35
 	getlandmarkname STRING_BUFFER_5, ROUTE_35
-	farsjump UnknownScript_0xa05ce
+	farsjump ArnieSwarmScript
 
 ArnieFoundRare:
 	farsjump Phone_CheckIfUnseenRare_Male
--- a/engine/phone/scripts/beth.asm
+++ b/engine/phone/scripts/beth.asm
@@ -11,7 +11,7 @@
 	iftrue BethFridayAfternoon
 
 .NotFriday:
-	farsjump UnknownScript_0xa0918
+	farsjump BethHangUpScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, ROUTE_26
--- a/engine/phone/scripts/beverly.asm
+++ b/engine/phone/scripts/beverly.asm
@@ -3,11 +3,11 @@
 	farscall PhoneScript_AnswerPhone_Female
 	checkflag ENGINE_BEVERLY_HAS_NUGGET
 	iftrue .HasNugget
-	farsjump UnknownScript_0xa0900
+	farsjump BeverlyHangUpScript
 
 .HasNugget:
 	getlandmarkname STRING_BUFFER_5, NATIONAL_PARK
-	farsjump UnknownScript_0xa0aa5
+	farsjump BeverlyComePickUpScript
 
 BeverlyPhoneCallerScript:
 	gettrainername STRING_BUFFER_3, POKEFANF, BEVERLY1
--- a/engine/phone/scripts/bike_shop.asm
+++ b/engine/phone/scripts/bike_shop.asm
@@ -1,5 +1,5 @@
 BikeShopPhoneCallerScript:
-	farwritetext UnknownText_0x174000
+	farwritetext BikeShopPhoneCallerText
 	clearflag ENGINE_BIKE_SHOP_CALL_ENABLED
 	specialphonecall SPECIALCALL_NONE
 	end
--- 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.asm
+++ b/engine/phone/scripts/brent.asm
@@ -11,11 +11,11 @@
 	iftrue BrentMondayMorning
 
 .NotMonday:
-	farsjump UnknownScript_0xa0998
+	farsjump BrentHangUpScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, ROUTE_43
-	farsjump UnknownScript_0xa0a87
+	farsjump BrentReminderScript
 
 BrentPhoneCallerScript:
 	gettrainername STRING_BUFFER_3, POKEMANIAC, BRENT1
--- a/engine/phone/scripts/brent_gossip.asm
+++ b/engine/phone/scripts/brent_gossip.asm
@@ -12,51 +12,51 @@
 	ifequal 9, .KimonoGirl
 
 .Father:
-	farwritetext UnknownText_0x662bc
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext BrentFatherGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Grandpa:
-	farwritetext UnknownText_0x662fc
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext BrentGrandpaGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Goldenrod:
-	farwritetext UnknownText_0x66335
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext BrentGoldenrodGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Route25:
-	farwritetext UnknownText_0x66366
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext BrentRoute25GossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Abra:
-	farwritetext UnknownText_0x663a1
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext BrentAbraGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Sister:
-	farwritetext UnknownText_0x663e6
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext BrentSisterGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Milk:
-	farwritetext UnknownText_0x66421
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext BrentMilkGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Battling:
-	farwritetext UnknownText_0x6645f
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext BrentBattlingGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .FlowerShop:
-	farwritetext UnknownText_0x6649b
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext BrentFlowerShopGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .KimonoGirl:
-	farwritetext UnknownText_0x664dd
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext BrentKimonoGirlGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
--- a/engine/phone/scripts/buena.asm
+++ b/engine/phone/scripts/buena.asm
@@ -2,70 +2,70 @@
 	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
 	iftrue BuenaPhoneScript_Rocket
 	readvar VAR_HOUR
-	ifgreater 17, BuenaPhoneScript_AfterMidnight1
-	scall BuenaPhoneScript_CheckTimeOfDay1
-	sjump BuenaPhoneScript_Random1
+	ifgreater 17, BuenaPhoneScript_AfterMidnightCallee
+	scall BuenaPhoneScript_CheckTimeOfDayCallee
+	sjump BuenaPhoneScript_RandomCallee
 
 BuenaPhoneCallerScript:
 	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
 	iftrue BuenaPhoneScript_Rocket
-	scall BuenaPhoneScript_CheckTimeOfDay2
-	sjump BuenaPhoneScript_Random2
+	scall BuenaPhoneScript_CheckTimeOfDayCaller
+	sjump BuenaPhoneScript_RandomCaller
 
-BuenaPhoneScript_CheckTimeOfDay1:
+BuenaPhoneScript_CheckTimeOfDayCallee:
 	checktime MORN
 	iftrue .morn
 	checktime DAY
 	iftrue .day
-	writetext UnknownText_0xa0d42
-	buttonsound
+	writetext BuenaPhoneNiteAnswerText
+	promptbutton
 	end
 
 .morn
-	writetext UnknownText_0xa0c28
-	buttonsound
+	writetext BuenaPhoneMorningAnswerText
+	promptbutton
 	end
 
 .day
-	writetext UnknownText_0xa0c72
-	buttonsound
+	writetext BuenaPhoneDayAnswerText
+	promptbutton
 	end
 
-BuenaPhoneScript_AfterMidnight1:
-	writetext UnknownText_0xa0caf
+BuenaPhoneScript_AfterMidnightCallee:
+	writetext BuenaPhoneMidnightAnswerText
 	end
 
-BuenaPhoneScript_CheckTimeOfDay2:
+BuenaPhoneScript_CheckTimeOfDayCaller:
 	readvar VAR_HOUR
-	ifgreater 17, BuenaPhoneScript_AfterMidnight2
+	ifgreater 17, BuenaPhoneScript_AfterMidnightCaller
 	checktime MORN
 	iftrue .morn
 	checktime DAY
 	iftrue .day
-	writetext UnknownText_0xa0e29
-	buttonsound
+	writetext BuenaPhoneNiteText
+	promptbutton
 	end
 
 .morn
-	writetext UnknownText_0xa0d96
-	buttonsound
+	writetext BuenaPhoneMorningText
+	promptbutton
 	end
 
 .day
-	writetext UnknownText_0xa0dcf
-	buttonsound
+	writetext BuenaPhoneDayText
+	promptbutton
 	end
 
-BuenaPhoneScript_AfterMidnight2:
-	writetext UnknownText_0xa0e01
-	buttonsound
+BuenaPhoneScript_AfterMidnightCaller:
+	writetext BuenaPhoneMidnightText
+	promptbutton
 	end
 
 BuenaPhoneScript_Rocket:
-	writetext UnknownText_0xa0e5e
+	writetext BuenaPhoneRocketText
 	end
 
-BuenaPhoneScript_Random2:
+BuenaPhoneScript_RandomCaller:
 	checkevent EVENT_BEAT_ELITE_FOUR
 	iftrue .PostE4
 	random 11
@@ -91,64 +91,64 @@
 	ifequal 13, .thirteen
 
 .zero
-	writetext UnknownText_0xa0efb
+	writetext BuenaPhoneWentOutWithBenText
 	sjump .finish
 
 .one
-	writetext UnknownText_0xa0fcf
+	writetext BuenaPhoneReceptionistText
 	sjump .finish
 
 .two
-	writetext UnknownText_0xa109d
+	writetext BuenaPhoneLuckyNumberShowText
 	sjump .finish
 
 .three
-	writetext UnknownText_0xa1143
+	writetext BuenaPhoneStressedFromWorkText
 	sjump .finish
 
 .four
-	writetext UnknownText_0xa1244
+	writetext BuenaPhoneProfessorOakText
 	sjump .finish
 
 .five
-	writetext UnknownText_0xa1318
+	writetext BuenaPhoneGotAColdText
 	sjump .finish
 
 .six
-	writetext UnknownText_0xa13d8
+	writetext BuenaPhoneRadioCardQuestionsText
 	sjump .finish
 
 .seven
-	writetext UnknownText_0xa1488
+	writetext BuenaPhonePikachuFanClubText
 	sjump .finish
 
 .eight
-	writetext UnknownText_0xa15de
+	writetext BuenaPhoneRadioTowerDirectorText
 	sjump .finish
 
 .nine
-	writetext UnknownText_0xa1717
+	writetext BuenaPhoneWhenDoYouRelaxText
 	sjump .finish
 
 .ten
-	writetext UnknownText_0xa183d
+	writetext BuenaPhoneStarterPokemonText
 	sjump .finish
 
 .eleven
-	writetext UnknownText_0xa19b1
+	writetext BuenaPhoneCompanyVacationText
 	sjump .finish
 
 .twelve
-	writetext UnknownText_0xa1ac0
+	writetext BuenaPhoneBenAndFernText
 	sjump .finish
 
 .thirteen
-	writetext UnknownText_0xa1bed
+	writetext BuenaPhoneGoingShoppingText
 
 .finish
 	end
 
-BuenaPhoneScript_Random1:
+BuenaPhoneScript_RandomCallee:
 	random 3
 	ifequal 0, .zero
 	ifequal 1, .one
@@ -155,15 +155,15 @@
 	ifequal 2, .two
 
 .zero
-	writetext UnknownText_0xa1c88
+	writetext BuenaPhoneFavoriteSlotMachineAnswerText
 	end
 
 .one
-	writetext UnknownText_0xa1d5f
+	writetext BuenaPhonePokegearAnswerText
 	end
 
 .two
-	writetext UnknownText_0xa1e2f
+	writetext BuenaPhoneCoopedUpInRadioTowerAnswerText
 	end
 
 INCLUDE "data/phone/text/buena.asm"
--- a/engine/phone/scripts/chad.asm
+++ b/engine/phone/scripts/chad.asm
@@ -11,11 +11,11 @@
 	iftrue ChadFridayMorning
 
 .NotFriday:
-	farsjump UnknownScript_0xa0980
+	farsjump ChadHangUpScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, ROUTE_38
-	farsjump UnknownScript_0xa0a7d
+	farsjump ChadReminderScript
 
 ChadPhoneCallerScript:
 	gettrainername STRING_BUFFER_3, SCHOOLBOY, CHAD1
--- a/engine/phone/scripts/chad_gossip.asm
+++ b/engine/phone/scripts/chad_gossip.asm
@@ -13,50 +13,50 @@
 
 .Blue:
 	farwritetext ChadBlueGossipText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Daisy:
 	farwritetext ChadDaisyGossipText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .ProfElm:
 	farwritetext ChadProfElmGossipText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Dream:
-	farwritetext ChadDreamGossipText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext ChadProfOaksDreamGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Kurt:
 	farwritetext ChadKurtGossipText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .League:
 	farwritetext ChadLeagueGossipText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .RadioShow:
-	farwritetext ChadRadioShowGossipText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext ChadPokemonTalkGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Battling:
-	farwritetext ChadBattlingGossipText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext ChadProfOakTrainerGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .DaisyTea:
 	farwritetext ChadDaisyTeaGossipText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Traveled:
-	farwritetext ChadTravelGossipText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext ChadProfOakTravelingGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
--- a/engine/phone/scripts/dana.asm
+++ b/engine/phone/scripts/dana.asm
@@ -13,15 +13,15 @@
 	iftrue DanaThursdayNight
 
 .NotThursday:
-	farsjump UnknownScript_0xa0978
+	farsjump DanaHangUpScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, ROUTE_38
-	farsjump UnknownScript_0xa0a78
+	farsjump DanaReminderScript
 
 .HasThunderstone:
 	getlandmarkname STRING_BUFFER_5, ROUTE_38
-	farsjump UnknownScript_0xa0acd
+	farsjump DanaComePickUpScript
 
 DanaPhoneCallerScript:
 	gettrainername STRING_BUFFER_3, LASS, DANA1
--- a/engine/phone/scripts/derek.asm
+++ b/engine/phone/scripts/derek.asm
@@ -13,7 +13,7 @@
 	ifequal SATURDAY, .ContestToday
 
 .NoContest:
-	farsjump UnknownScript_0xa0988
+	farsjump DerekHangUpScript
 
 .ContestToday:
 	farsjump PhoneScript_BugCatchingContest
@@ -20,7 +20,7 @@
 
 .Nugget:
 	getlandmarkname STRING_BUFFER_5, ROUTE_39
-	farsjump UnknownScript_0xa0ad5
+	farsjump DerekComePickUpScript
 
 DerekPhoneCallerScript:
 	gettrainername STRING_BUFFER_3, POKEFANM, DEREK1
--- a/engine/phone/scripts/elm.asm
+++ b/engine/phone/scripts/elm.asm
@@ -18,7 +18,7 @@
 	iftrue .stolen
 	checkevent EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
 	iftrue .sawmrpokemon
-	farwritetext ElmPhoneStartText
+	farwritetext ElmPhoneHealYourMonText
 	end
 
 .sawmrpokemon
@@ -30,7 +30,7 @@
 	end
 
 .checkingegg
-	farwritetext ElmPhoneCheckingEggText
+	farwritetext ElmPhoneCheckingTheEggText
 	end
 
 .assistant
@@ -38,7 +38,7 @@
 	end
 
 .eggunhatched
-	farwritetext ElmPhoneEggUnhatchedText
+	farwritetext ElmPhoneHowIsTheEggText
 	end
 
 .egghatched
@@ -49,15 +49,15 @@
 .discovery
 	random 2
 	ifequal 0, .nextdiscovery
-	farwritetext ElmPhoneDiscovery1Text
+	farwritetext ElmPhoneDiscoveredHatchTimeText
 	end
 
 .nextdiscovery
-	farwritetext ElmPhoneDiscovery2Text
+	farwritetext ElmPhoneInvestigatingEggMovesText
 	end
 
 .pokerus
-	farwritetext ElmPhonePokerusText
+	farwritetext ElmPhoneDiscoveredPokerusText
 	specialphonecall SPECIALCALL_NONE
 	end
 
@@ -68,7 +68,7 @@
 	ifequal SPECIALCALL_WEIRDBROADCAST, .rocket
 	ifequal SPECIALCALL_SSTICKET, .gift
 	ifequal SPECIALCALL_MASTERBALL, .gift
-	farwritetext ElmPhonePokerusText
+	farwritetext ElmPhoneDiscoveredPokerusText
 	specialphonecall SPECIALCALL_NONE
 	end
 
@@ -86,7 +86,7 @@
 	end
 
 .rocket
-	farwritetext ElmPhoneRocketText
+	farwritetext ElmPhoneRadioTowerRocketTakeoverText
 	specialphonecall SPECIALCALL_NONE
 	end
 
@@ -96,6 +96,6 @@
 	end
 
 .unused
-	farwritetext ElmPhoneUnusedText
+	farwritetext ElmPhoneGotAholdOfSomethingNeatText
 	specialphonecall SPECIALCALL_NONE
 	end
--- a/engine/phone/scripts/gaven.asm
+++ b/engine/phone/scripts/gaven.asm
@@ -8,14 +8,14 @@
 	readvar VAR_WEEKDAY
 	ifnotequal THURSDAY, .NotThursday
 	checktime MORN
-	iftrue GavenThursdayMorning
+	iftrue GavenThursdayMorningScript
 
 .NotThursday:
-	farsjump UnknownScript_0xa0910
+	farsjump GavenHangUpNotThursdayScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, ROUTE_26
-	farsjump UnknownScript_0xa0a37
+	farsjump GavenReminderScript
 
 GavenPhoneCallerScript:
 	gettrainername STRING_BUFFER_3, COOLTRAINERM, GAVEN3
@@ -32,7 +32,7 @@
 	ifequal 0, GavenFoundRare
 	farsjump Phone_GenericCall_Male
 
-GavenThursdayMorning:
+GavenThursdayMorningScript:
 	setflag ENGINE_GAVEN_THURSDAY_MORNING
 
 GavenWantsRematch:
--- a/engine/phone/scripts/generic_callee.asm
+++ b/engine/phone/scripts/generic_callee.asm
@@ -46,103 +46,103 @@
 	ifequal PHONE_HIKER_PARRY, .Parry
 
 .Jack:
-	farwritetext UnknownText_0x1b4dc5
-	buttonsound
+	farwritetext JackAnswerPhoneText
+	promptbutton
 	end
 
 .Huey:
-	farwritetext UnknownText_0x1b5073
-	buttonsound
+	farwritetext HueyAnswerPhoneText
+	promptbutton
 	end
 
 .Gaven:
-	farwritetext UnknownText_0x1b5270
-	buttonsound
+	farwritetext GavenAnswerPhoneText
+	promptbutton
 	end
 
 .Jose:
-	farwritetext UnknownText_0x1b55ae
-	buttonsound
+	farwritetext JoseAnswerPhoneText
+	promptbutton
 	end
 
 .Joey:
-	farwritetext UnknownText_0x1b589a
-	buttonsound
+	farwritetext JoeyAnswerPhoneText
+	promptbutton
 	end
 
 .Wade:
-	farwritetext UnknownText_0x1b5a3b
-	buttonsound
+	farwritetext WadeAnswerPhoneText
+	promptbutton
 	end
 
 .Ralph:
-	farwritetext UnknownText_0x1b5c10
-	buttonsound
+	farwritetext RalphAnswerPhoneText
+	promptbutton
 	end
 
 .Anthony:
-	farwritetext UnknownText_0x1b5f7a
-	buttonsound
+	farwritetext AnthonyAnswerPhoneText
+	promptbutton
 	end
 
 .Todd:
-	farwritetext UnknownText_0x1b60f5
-	buttonsound
+	farwritetext ToddAnswerPhoneText
+	promptbutton
 	end
 
 .Irwin:
-	farwritetext UnknownText_0x1b638c
-	buttonsound
+	farwritetext IrwinAnswerPhoneText
+	promptbutton
 	end
 
 .Arnie:
-	farwritetext UnknownText_0x1b6454
-	buttonsound
+	farwritetext ArnieAnswerPhoneText
+	promptbutton
 	end
 
 .Alan:
-	farwritetext UnknownText_0x1b659d
-	buttonsound
+	farwritetext AlanAnswerPhoneText
+	promptbutton
 	end
 
 .Chad:
-	farwritetext UnknownText_0x1b67e2
-	buttonsound
+	farwritetext ChadAnswerPhoneText
+	promptbutton
 	end
 
 .Derek:
-	farwritetext UnknownText_0x1b69a8
-	buttonsound
+	farwritetext DerekAnswerPhoneText
+	promptbutton
 	end
 
 .Tully:
-	farwritetext UnknownText_0x1b6b39
-	buttonsound
+	farwritetext TullyAnswerPhoneText
+	promptbutton
 	end
 
 .Brent:
-	farwritetext UnknownText_0x1b6c96
-	buttonsound
+	farwritetext BrentAnswerPhoneText
+	promptbutton
 	end
 
 .Vance:
-	farwritetext UnknownText_0x1b7019
-	buttonsound
+	farwritetext VanceAnswerPhoneText
+	promptbutton
 	end
 
 .Wilton:
-	farwritetext UnknownText_0x1b71d5
-	buttonsound
+	farwritetext WiltonAnswerPhoneText
+	promptbutton
 	end
 
 .Kenji:
-	farwritetext UnknownText_0x1b730b
-	buttonsound
+	farwritetext KenjiAnswerPhoneText
+	promptbutton
 	end
 
 .Parry:
-	farwritetext UnknownText_0x1b73c7
-	buttonsound
+	farwritetext ParryAnswerPhoneText
+	promptbutton
 	end
 
 PhoneScript_AnswerPhone_Male_Day:
@@ -169,103 +169,103 @@
 	ifequal PHONE_HIKER_PARRY, .Parry
 
 .Jack:
-	farwritetext UnknownText_0x1b4ded
-	buttonsound
+	farwritetext JackAnswerPhoneDayText
+	promptbutton
 	end
 
 .Huey:
-	farwritetext UnknownText_0x1b509b
-	buttonsound
+	farwritetext HueyAnswerPhoneDayText
+	promptbutton
 	end
 
 .Gaven:
-	farwritetext UnknownText_0x1b52a5
-	buttonsound
+	farwritetext GavenAnswerPhoneDayText
+	promptbutton
 	end
 
 .Jose:
-	farwritetext UnknownText_0x1b55da
-	buttonsound
+	farwritetext JoseAnswerPhoneDayText
+	promptbutton
 	end
 
 .Joey:
-	farwritetext UnknownText_0x1b58c2
-	buttonsound
+	farwritetext JoeyAnswerPhoneDayText
+	promptbutton
 	end
 
 .Wade:
-	farwritetext UnknownText_0x1b5a74
-	buttonsound
+	farwritetext WadeAnswerPhoneDayText
+	promptbutton
 	end
 
 .Ralph:
-	farwritetext UnknownText_0x1b5c63
-	buttonsound
+	farwritetext RalphAnswerPhoneDayText
+	promptbutton
 	end
 
 .Anthony:
-	farwritetext UnknownText_0x1b5f9e
-	buttonsound
+	farwritetext AnthonyAnswerPhoneDayText
+	promptbutton
 	end
 
 .Todd:
-	farwritetext UnknownText_0x1b611b
-	buttonsound
+	farwritetext ToddAnswerPhoneDayText
+	promptbutton
 	end
 
 .Irwin:
-	farwritetext UnknownText_0x1b63a8
-	buttonsound
+	farwritetext IrwinAnswerPhoneDayText
+	promptbutton
 	end
 
 .Arnie:
-	farwritetext UnknownText_0x1b647e
-	buttonsound
+	farwritetext ArnieAnswerPhoneDayText
+	promptbutton
 	end
 
 .Alan:
-	farwritetext UnknownText_0x1b65c7
-	buttonsound
+	farwritetext AlanAnswerPhoneDayText
+	promptbutton
 	end
 
 .Chad:
-	farwritetext UnknownText_0x1b680e
-	buttonsound
+	farwritetext ChadAnswerPhoneDayText
+	promptbutton
 	end
 
 .Derek:
-	farwritetext UnknownText_0x1b69d2
-	buttonsound
+	farwritetext DerekAnswerPhoneDayText
+	promptbutton
 	end
 
 .Tully:
-	farwritetext UnknownText_0x1b6b65
-	buttonsound
+	farwritetext TullyAnswerPhoneDayText
+	promptbutton
 	end
 
 .Brent:
-	farwritetext UnknownText_0x1b6cc6
-	buttonsound
+	farwritetext BrentAnswerPhoneDayText
+	promptbutton
 	end
 
 .Vance:
-	farwritetext UnknownText_0x1b7057
-	buttonsound
+	farwritetext VanceAnswerPhoneDayText
+	promptbutton
 	end
 
 .Wilton:
-	farwritetext UnknownText_0x1b71fc
-	buttonsound
+	farwritetext WiltonAnswerPhoneDayText
+	promptbutton
 	end
 
 .Kenji:
-	farwritetext UnknownText_0x1b7331
-	buttonsound
+	farwritetext KenjiAnswerPhoneDayText
+	promptbutton
 	end
 
 .Parry:
-	farwritetext UnknownText_0x1b73ef
-	buttonsound
+	farwritetext ParryAnswerPhoneDayText
+	promptbutton
 	end
 
 PhoneScript_AnswerPhone_Male_Nite:
@@ -292,103 +292,103 @@
 	ifequal PHONE_HIKER_PARRY, .Parry
 
 .Jack:
-	farwritetext UnknownText_0x1b4e16
-	buttonsound
+	farwritetext JackAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Huey:
-	farwritetext UnknownText_0x1b50c2
-	buttonsound
+	farwritetext HueyAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Gaven:
-	farwritetext UnknownText_0x1b52cc
-	buttonsound
+	farwritetext GavenAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Jose:
-	farwritetext UnknownText_0x1b55fc
-	buttonsound
+	farwritetext JoseAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Joey:
-	farwritetext UnknownText_0x1b58ea
-	buttonsound
+	farwritetext JoeyAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Wade:
-	farwritetext UnknownText_0x1b5a9f
-	buttonsound
+	farwritetext WadeAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Ralph:
-	farwritetext UnknownText_0x1b5cb6
-	buttonsound
+	farwritetext RalphAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Anthony:
-	farwritetext UnknownText_0x1b5fc9
-	buttonsound
+	farwritetext AnthonyAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Todd:
-	farwritetext UnknownText_0x1b6149
-	buttonsound
+	farwritetext ToddAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Irwin:
-	farwritetext UnknownText_0x1b63c4
-	buttonsound
+	farwritetext IrwinAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Arnie:
-	farwritetext UnknownText_0x1b64a8
-	buttonsound
+	farwritetext ArnieAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Alan:
-	farwritetext UnknownText_0x1b65e3
-	buttonsound
+	farwritetext AlanAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Chad:
-	farwritetext UnknownText_0x1b6836
-	buttonsound
+	farwritetext ChadAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Derek:
-	farwritetext UnknownText_0x1b69f8
-	buttonsound
+	farwritetext DerekAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Tully:
-	farwritetext UnknownText_0x1b6b92
-	buttonsound
+	farwritetext TullyAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Brent:
-	farwritetext UnknownText_0x1b6cf6
-	buttonsound
+	farwritetext BrentAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Vance:
-	farwritetext UnknownText_0x1b7092
-	buttonsound
+	farwritetext VanceAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Wilton:
-	farwritetext UnknownText_0x1b722a
-	buttonsound
+	farwritetext WiltonAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Kenji:
-	farwritetext UnknownText_0x1b7357
-	buttonsound
+	farwritetext KenjiAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Parry:
-	farwritetext UnknownText_0x1b7417
-	buttonsound
+	farwritetext ParryAnswerPhoneNiteText
+	promptbutton
 	end
 
 PhoneScript_AnswerPhone_Female:
@@ -407,43 +407,43 @@
 	ifequal PHONE_PICNICKER_ERIN, .Erin
 
 .Beverly:
-	farwritetext UnknownText_0x1b4f21
-	buttonsound
+	farwritetext BeverlyAnswerPhoneText
+	promptbutton
 	end
 
 .Beth:
-	farwritetext UnknownText_0x1b53f7
-	buttonsound
+	farwritetext BethAnswerPhoneText
+	promptbutton
 	end
 
 .Reena:
-	farwritetext UnknownText_0x1b5702
-	buttonsound
+	farwritetext ReenaAnswerPhoneText
+	promptbutton
 	end
 
 .Liz:
-	farwritetext UnknownText_0x1b5d9f
-	buttonsound
+	farwritetext LizAnswerPhoneText
+	promptbutton
 	end
 
 .Gina:
-	farwritetext UnknownText_0x1b626a
-	buttonsound
+	farwritetext GinaAnswerPhoneText
+	promptbutton
 	end
 
 .Dana:
-	farwritetext UnknownText_0x1b66c8
-	buttonsound
+	farwritetext DanaAnswerPhoneText
+	promptbutton
 	end
 
 .Tiffany:
-	farwritetext UnknownText_0x1b6e7c
-	buttonsound
+	farwritetext TiffanyAnswerPhoneText
+	promptbutton
 	end
 
 .Erin:
-	farwritetext UnknownText_0x1b751a
-	buttonsound
+	farwritetext ErinAnswerPhoneText
+	promptbutton
 	end
 
 PhoneScript_AnswerPhone_Female_Day:
@@ -458,43 +458,43 @@
 	ifequal PHONE_PICNICKER_ERIN, .Erin
 
 .Beverly:
-	farwritetext UnknownText_0x1b4f4d
-	buttonsound
+	farwritetext BeverlyAnswerPhoneDayText
+	promptbutton
 	end
 
 .Beth:
-	farwritetext UnknownText_0x1b5424
-	buttonsound
+	farwritetext BethAnswerPhoneDayText
+	promptbutton
 	end
 
 .Reena:
-	farwritetext UnknownText_0x1b572e
-	buttonsound
+	farwritetext ReenaAnswerPhoneDayText
+	promptbutton
 	end
 
 .Liz:
-	farwritetext UnknownText_0x1b5dcc
-	buttonsound
+	farwritetext LizAnswerPhoneDayText
+	promptbutton
 	end
 
 .Gina:
-	farwritetext UnknownText_0x1b6296
-	buttonsound
+	farwritetext GinaAnswerPhoneDayText
+	promptbutton
 	end
 
 .Dana:
-	farwritetext UnknownText_0x1b66ec
-	buttonsound
+	farwritetext DanaAnswerPhoneDayText
+	promptbutton
 	end
 
 .Tiffany:
-	farwritetext UnknownText_0x1b6ea6
-	buttonsound
+	farwritetext TiffanyAnswerPhoneDayText
+	promptbutton
 	end
 
 .Erin:
-	farwritetext UnknownText_0x1b7548
-	buttonsound
+	farwritetext ErinAnswerPhoneDayText
+	promptbutton
 	end
 
 PhoneScript_AnswerPhone_Female_Nite:
@@ -509,43 +509,43 @@
 	ifequal PHONE_PICNICKER_ERIN, .Erin
 
 .Beverly:
-	farwritetext UnknownText_0x1b4f75
-	buttonsound
+	farwritetext BeverlyAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Beth:
-	farwritetext UnknownText_0x1b5446
-	buttonsound
+	farwritetext BethAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Reena:
-	farwritetext UnknownText_0x1b575a
-	buttonsound
+	farwritetext ReenaAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Liz:
-	farwritetext UnknownText_0x1b5df8
-	buttonsound
+	farwritetext LizAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Gina:
-	farwritetext UnknownText_0x1b62c5
-	buttonsound
+	farwritetext GinaAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Dana:
-	farwritetext UnknownText_0x1b6713
-	buttonsound
+	farwritetext DanaAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Tiffany:
-	farwritetext UnknownText_0x1b6ec9
-	buttonsound
+	farwritetext TiffanyAnswerPhoneNiteText
+	promptbutton
 	end
 
 .Erin:
-	farwritetext UnknownText_0x1b756f
-	buttonsound
+	farwritetext ErinAnswerPhoneNiteText
+	promptbutton
 	end
 
 PhoneScript_GreetPhone_Male:
@@ -576,103 +576,103 @@
 	ifequal PHONE_HIKER_PARRY, .Parry
 
 .Jack:
-	farwritetext UnknownText_0x1b4e3e
-	buttonsound
+	farwritetext JackGreetText
+	promptbutton
 	end
 
 .Huey:
-	farwritetext UnknownText_0x1b50e9
-	buttonsound
+	farwritetext HueyGreetText
+	promptbutton
 	end
 
 .Gaven:
-	farwritetext UnknownText_0x1b5301
-	buttonsound
+	farwritetext GavenGreetText
+	promptbutton
 	end
 
 .Jose:
-	farwritetext UnknownText_0x1b5628
-	buttonsound
+	farwritetext JoseGreetText
+	promptbutton
 	end
 
 .Joey:
-	farwritetext UnknownText_0x1b5912
-	buttonsound
+	farwritetext JoeyGreetText
+	promptbutton
 	end
 
 .Wade:
-	farwritetext UnknownText_0x1b5ad8
-	buttonsound
+	farwritetext WadeGreetText
+	promptbutton
 	end
 
 .Ralph:
-	farwritetext UnknownText_0x1b5d09
-	buttonsound
+	farwritetext RalphGreetText
+	promptbutton
 	end
 
 .Anthony:
-	farwritetext UnknownText_0x1b5ff6
-	buttonsound
+	farwritetext AnthonyGreetText
+	promptbutton
 	end
 
 .Todd:
-	farwritetext UnknownText_0x1b616e
-	buttonsound
+	farwritetext ToddGreetText
+	promptbutton
 	end
 
 .Irwin:
-	farwritetext UnknownText_0x1b63e3
-	buttonsound
+	farwritetext IrwinGreetText
+	promptbutton
 	end
 
 .Arnie:
-	farwritetext UnknownText_0x1b64d2
-	buttonsound
+	farwritetext ArnieGreetText
+	promptbutton
 	end
 
 .Alan:
-	farwritetext UnknownText_0x1b660d
-	buttonsound
+	farwritetext AlanGreetText
+	promptbutton
 	end
 
 .Chad:
-	farwritetext UnknownText_0x1b6862
-	buttonsound
+	farwritetext ChadGreetText
+	promptbutton
 	end
 
 .Derek:
-	farwritetext UnknownText_0x1b6a22
-	buttonsound
+	farwritetext DerekGreetText
+	promptbutton
 	end
 
 .Tully:
-	farwritetext UnknownText_0x1b6bb9
-	buttonsound
+	farwritetext TullyGreetText
+	promptbutton
 	end
 
 .Brent:
-	farwritetext UnknownText_0x1b6d26
-	buttonsound
+	farwritetext BrentGreetText
+	promptbutton
 	end
 
 .Vance:
-	farwritetext UnknownText_0x1b70e7
-	buttonsound
+	farwritetext VanceGreetText
+	promptbutton
 	end
 
 .Wilton:
-	farwritetext UnknownText_0x1b725c
-	buttonsound
+	farwritetext WiltonGreetText
+	promptbutton
 	end
 
 .Kenji:
-	farwritetext UnknownText_0x1b737f
-	buttonsound
+	farwritetext KenjiGreetText
+	promptbutton
 	end
 
 .Parry:
-	farwritetext UnknownText_0x1b743f
-	buttonsound
+	farwritetext ParryGreetText
+	promptbutton
 	end
 
 PhoneScript_GreetPhone_Male_Day:
@@ -699,103 +699,103 @@
 	ifequal PHONE_HIKER_PARRY, .Parry
 
 .Jack:
-	farwritetext UnknownText_0x1b4e72
-	buttonsound
+	farwritetext JackGreetDayText
+	promptbutton
 	end
 
 .Huey:
-	farwritetext UnknownText_0x1b511a
-	buttonsound
+	farwritetext HueyGreetDayText
+	promptbutton
 	end
 
 .Gaven:
-	farwritetext UnknownText_0x1b5335
-	buttonsound
+	farwritetext GavenGreetDayText
+	promptbutton
 	end
 
 .Jose:
-	farwritetext UnknownText_0x1b564c
-	buttonsound
+	farwritetext JoseGreetDayText
+	promptbutton
 	end
 
 .Joey:
-	farwritetext UnknownText_0x1b5948
-	buttonsound
+	farwritetext JoeyGreetDayText
+	promptbutton
 	end
 
 .Wade:
-	farwritetext UnknownText_0x1b5b0b
-	buttonsound
+	farwritetext WadeGreetDayText
+	promptbutton
 	end
 
 .Ralph:
-	farwritetext UnknownText_0x1b5d21
-	buttonsound
+	farwritetext RalphGreetDayText
+	promptbutton
 	end
 
 .Anthony:
-	farwritetext UnknownText_0x1b6017
-	buttonsound
+	farwritetext AnthonyGreetDayText
+	promptbutton
 	end
 
 .Todd:
-	farwritetext UnknownText_0x1b618f
-	buttonsound
+	farwritetext ToddGreetDayText
+	promptbutton
 	end
 
 .Irwin:
-	farwritetext UnknownText_0x1b6407
-	buttonsound
+	farwritetext IrwinGreetDayText
+	promptbutton
 	end
 
 .Arnie:
-	farwritetext UnknownText_0x1b6506
-	buttonsound
+	farwritetext ArnieGreetDayText
+	promptbutton
 	end
 
 .Alan:
-	farwritetext UnknownText_0x1b6624
-	buttonsound
+	farwritetext AlanGreetDayText
+	promptbutton
 	end
 
 .Chad:
-	farwritetext UnknownText_0x1b6890
-	buttonsound
+	farwritetext ChadGreetDayText
+	promptbutton
 	end
 
 .Derek:
-	farwritetext UnknownText_0x1b6a56
-	buttonsound
+	farwritetext DerekGreetDayText
+	promptbutton
 	end
 
 .Tully:
-	farwritetext UnknownText_0x1b6bef
-	buttonsound
+	farwritetext TullyGreetDayText
+	promptbutton
 	end
 
 .Brent:
-	farwritetext UnknownText_0x1b6d57
-	buttonsound
+	farwritetext BrentGreetDayText
+	promptbutton
 	end
 
 .Vance:
-	farwritetext UnknownText_0x1b7112
-	buttonsound
+	farwritetext VanceGreetDayText
+	promptbutton
 	end
 
 .Wilton:
-	farwritetext UnknownText_0x1b7283
-	buttonsound
+	farwritetext WiltonGreetDayText
+	promptbutton
 	end
 
 .Kenji:
-	farwritetext UnknownText_0x1b7397
-	buttonsound
+	farwritetext KenjiGreetDayText
+	promptbutton
 	end
 
 .Parry:
-	farwritetext UnknownText_0x1b746f
-	buttonsound
+	farwritetext ParryGreetDayText
+	promptbutton
 	end
 
 PhoneScript_GreetPhone_Male_Nite:
@@ -822,103 +822,103 @@
 	ifequal PHONE_HIKER_PARRY, .Parry
 
 .Jack:
-	farwritetext UnknownText_0x1b4e9e
-	buttonsound
+	farwritetext JackGreetNiteText
+	promptbutton
 	end
 
 .Huey:
-	farwritetext UnknownText_0x1b5154
-	buttonsound
+	farwritetext HueyGreetNiteText
+	promptbutton
 	end
 
 .Gaven:
-	farwritetext UnknownText_0x1b535f
-	buttonsound
+	farwritetext GavenGreetNiteText
+	promptbutton
 	end
 
 .Jose:
-	farwritetext UnknownText_0x1b5670
-	buttonsound
+	farwritetext JoseGreetNiteText
+	promptbutton
 	end
 
 .Joey:
-	farwritetext UnknownText_0x1b597c
-	buttonsound
+	farwritetext JoeyGreetNiteText
+	promptbutton
 	end
 
 .Wade:
-	farwritetext UnknownText_0x1b5b37
-	buttonsound
+	farwritetext WadeGreetNiteText
+	promptbutton
 	end
 
 .Ralph:
-	farwritetext UnknownText_0x1b5d39
-	buttonsound
+	farwritetext RalphGreetNiteText
+	promptbutton
 	end
 
 .Anthony:
-	farwritetext UnknownText_0x1b6041
-	buttonsound
+	farwritetext AnthonyGreetNiteText
+	promptbutton
 	end
 
 .Todd:
-	farwritetext UnknownText_0x1b61bd
-	buttonsound
+	farwritetext ToddGreetNiteText
+	promptbutton
 	end
 
 .Irwin:
-	farwritetext UnknownText_0x1b642c
-	buttonsound
+	farwritetext IrwinGreetNiteText
+	promptbutton
 	end
 
 .Arnie:
-	farwritetext UnknownText_0x1b6539
-	buttonsound
+	farwritetext ArnieGreetNiteText
+	promptbutton
 	end
 
 .Alan:
-	farwritetext UnknownText_0x1b663b
-	buttonsound
+	farwritetext AlanGreetNiteText
+	promptbutton
 	end
 
 .Chad:
-	farwritetext UnknownText_0x1b68ba
-	buttonsound
+	farwritetext ChadGreetNiteText
+	promptbutton
 	end
 
 .Derek:
-	farwritetext UnknownText_0x1b6a8b
-	buttonsound
+	farwritetext DerekGreetNiteText
+	promptbutton
 	end
 
 .Tully:
-	farwritetext UnknownText_0x1b6c23
-	buttonsound
+	farwritetext TullyGreetNiteText
+	promptbutton
 	end
 
 .Brent:
-	farwritetext UnknownText_0x1b6d88
-	buttonsound
+	farwritetext BrentGreetNiteText
+	promptbutton
 	end
 
 .Vance:
-	farwritetext UnknownText_0x1b7132
-	buttonsound
+	farwritetext VanceGreetNiteText
+	promptbutton
 	end
 
 .Wilton:
-	farwritetext UnknownText_0x1b72a5
-	buttonsound
+	farwritetext WiltonGreetNiteText
+	promptbutton
 	end
 
 .Kenji:
-	farwritetext UnknownText_0x1b73af
-	buttonsound
+	farwritetext KenjiGreetNiteText
+	promptbutton
 	end
 
 .Parry:
-	farwritetext UnknownText_0x1b749b
-	buttonsound
+	farwritetext ParryGreetNiteText
+	promptbutton
 	end
 
 PhoneScript_GreetPhone_Female:
@@ -937,43 +937,43 @@
 	ifequal PHONE_PICNICKER_ERIN, .Erin
 
 .Beverly:
-	farwritetext UnknownText_0x1b4fa1
-	buttonsound
+	farwritetext BeverlyGreetText
+	promptbutton
 	end
 
 .Beth:
-	farwritetext UnknownText_0x1b5472
-	buttonsound
+	farwritetext BethGreetText
+	promptbutton
 	end
 
 .Reena:
-	farwritetext UnknownText_0x1b5786
-	buttonsound
+	farwritetext ReenaGreetText
+	promptbutton
 	end
 
 .Liz:
-	farwritetext UnknownText_0x1b5e25
-	buttonsound
+	farwritetext LizGreetText
+	promptbutton
 	end
 
 .Gina:
-	farwritetext UnknownText_0x1b62f1
-	buttonsound
+	farwritetext GinaGreetText
+	promptbutton
 	end
 
 .Dana:
-	farwritetext UnknownText_0x1b6738
-	buttonsound
+	farwritetext DanaGreetText
+	promptbutton
 	end
 
 .Tiffany:
-	farwritetext UnknownText_0x1b6ef3
-	buttonsound
+	farwritetext TiffanyGreetText
+	promptbutton
 	end
 
 .Erin:
-	farwritetext UnknownText_0x1b758f
-	buttonsound
+	farwritetext ErinGreetText
+	promptbutton
 	end
 
 PhoneScript_GreetPhone_Female_Day:
@@ -988,43 +988,43 @@
 	ifequal PHONE_PICNICKER_ERIN, .Erin
 
 .Beverly:
-	farwritetext UnknownText_0x1b4fda
-	buttonsound
+	farwritetext BeverlyGreetDayText
+	promptbutton
 	end
 
 .Beth:
-	farwritetext UnknownText_0x1b54a6
-	buttonsound
+	farwritetext BethGreetDayText
+	promptbutton
 	end
 
 .Reena:
-	farwritetext UnknownText_0x1b57b7
-	buttonsound
+	farwritetext ReenaGreetDayText
+	promptbutton
 	end
 
 .Liz:
-	farwritetext UnknownText_0x1b5e59
-	buttonsound
+	farwritetext LizGreetDayText
+	promptbutton
 	end
 
 .Gina:
-	farwritetext UnknownText_0x1b630e
-	buttonsound
+	farwritetext GinaGreetDayText
+	promptbutton
 	end
 
 .Dana:
-	farwritetext UnknownText_0x1b6757
-	buttonsound
+	farwritetext DanaGreetDayText
+	promptbutton
 	end
 
 .Tiffany:
-	farwritetext UnknownText_0x1b6f1c
-	buttonsound
+	farwritetext TiffanyGreetDayText
+	promptbutton
 	end
 
 .Erin:
-	farwritetext UnknownText_0x1b75ac
-	buttonsound
+	farwritetext ErinGreetDayText
+	promptbutton
 	end
 
 PhoneScript_GreetPhone_Female_Nite:
@@ -1039,43 +1039,43 @@
 	ifequal PHONE_PICNICKER_ERIN, .Erin
 
 .Beverly:
-	farwritetext UnknownText_0x1b5004
-	buttonsound
+	farwritetext BeverlyGreetNiteText
+	promptbutton
 	end
 
 .Beth:
-	farwritetext UnknownText_0x1b54d4
-	buttonsound
+	farwritetext BethGreetNiteText
+	promptbutton
 	end
 
 .Reena:
-	farwritetext UnknownText_0x1b57e8
-	buttonsound
+	farwritetext ReenaGreetNiteText
+	promptbutton
 	end
 
 .Liz:
-	farwritetext UnknownText_0x1b5e8e
-	buttonsound
+	farwritetext LizGreetNiteText
+	promptbutton
 	end
 
 .Gina:
-	farwritetext UnknownText_0x1b6331
-	buttonsound
+	farwritetext GinaGreetNiteText
+	promptbutton
 	end
 
 .Dana:
-	farwritetext UnknownText_0x1b6776
-	buttonsound
+	farwritetext DanaGreetNiteText
+	promptbutton
 	end
 
 .Tiffany:
-	farwritetext UnknownText_0x1b6f37
-	buttonsound
+	farwritetext TiffanyGreetNiteText
+	promptbutton
 	end
 
 .Erin:
-	farwritetext UnknownText_0x1b75c9
-	buttonsound
+	farwritetext ErinGreetNiteText
+	promptbutton
 	end
 
 PhoneScript_Generic_Male:
@@ -1099,93 +1099,93 @@
 	ifequal PHONE_HIKER_PARRY, .Parry
 
 .Jack:
-	farwritetext UnknownText_0x1b4ecd
-	buttonsound
+	farwritetext JackGenericText
+	promptbutton
 	end
 
 .Unknown:
-	farwritetext UnknownText_0x1b518b
-	buttonsound
+	farwritetext UnknownGenericText
+	promptbutton
 	end
 
 .Gaven:
-	farwritetext UnknownText_0x1b5393
-	buttonsound
+	farwritetext GavenGenericText
+	promptbutton
 	end
 
 .Jose:
-	farwritetext UnknownText_0x1b5694
-	buttonsound
+	farwritetext JoseGenericText
+	promptbutton
 	end
 
 .Joey:
-	farwritetext UnknownText_0x1b59b2
-	buttonsound
+	farwritetext JoeyGenericText
+	promptbutton
 	end
 
 .Wade:
-	farwritetext UnknownText_0x1b5b68
-	buttonsound
+	farwritetext WadeGenericText
+	promptbutton
 	end
 
 .Ralph:
-	farwritetext UnknownText_0x1b5d51
-	buttonsound
+	farwritetext RalphGenericText
+	promptbutton
 	end
 
 .Anthony:
-	farwritetext UnknownText_0x1b606f
-	buttonsound
+	farwritetext AnthonyGenericText
+	promptbutton
 	end
 
 .Todd:
-	farwritetext UnknownText_0x1b61f2
-	buttonsound
+	farwritetext ToddGenericText
+	promptbutton
 	end
 
 .Arnie:
-	farwritetext UnknownText_0x1b656c
-	buttonsound
+	farwritetext ArnieGenericText
+	promptbutton
 	end
 
 .Alan:
-	farwritetext UnknownText_0x1b6652
-	buttonsound
+	farwritetext AlanGenericText
+	promptbutton
 	end
 
 .Chad:
-	farwritetext UnknownText_0x1b68e8
-	buttonsound
+	farwritetext ChadGenericText
+	promptbutton
 	end
 
 .Derek:
-	farwritetext UnknownText_0x1b6ac2
-	buttonsound
+	farwritetext DerekGenericText
+	promptbutton
 	end
 
 .Tully:
-	farwritetext UnknownText_0x1b6c56
-	buttonsound
+	farwritetext TullyGenericText
+	promptbutton
 	end
 
 .Brent:
-	farwritetext UnknownText_0x1b6db9
-	buttonsound
+	farwritetext BrentGenericText
+	promptbutton
 	end
 
 .Vance:
-	farwritetext UnknownText_0x1b7161
-	buttonsound
+	farwritetext VanceGenericText
+	promptbutton
 	end
 
 .Wilton:
-	farwritetext UnknownText_0x1b72d0
-	buttonsound
+	farwritetext WiltonGenericText
+	promptbutton
 	end
 
 .Parry:
-	farwritetext UnknownText_0x1b74c8
-	buttonsound
+	farwritetext ParryGenericText
+	promptbutton
 	end
 
 PhoneScript_Generic_Female:
@@ -1200,43 +1200,43 @@
 	ifequal PHONE_PICNICKER_ERIN, .Erin
 
 .Beverly:
-	farwritetext UnknownText_0x1b502b
-	buttonsound
+	farwritetext BeverlyGenericText
+	promptbutton
 	end
 
 .Beth:
-	farwritetext UnknownText_0x1b5510
-	buttonsound
+	farwritetext BethGenericText
+	promptbutton
 	end
 
 .Reena:
-	farwritetext UnknownText_0x1b5819
-	buttonsound
+	farwritetext ReenaGenericText
+	promptbutton
 	end
 
 .Liz:
-	farwritetext UnknownText_0x1b5ebe
-	buttonsound
+	farwritetext LizGenericText
+	promptbutton
 	end
 
 .Gina:
-	farwritetext UnknownText_0x1b6352
-	buttonsound
+	farwritetext GinaGenericText
+	promptbutton
 	end
 
 .Dana:
-	farwritetext UnknownText_0x1b6795
-	buttonsound
+	farwritetext DanaGenericText
+	promptbutton
 	end
 
 .Tiffany:
-	farwritetext UnknownText_0x1b6f60
-	buttonsound
+	farwritetext TiffanyGenericText
+	promptbutton
 	end
 
 .Erin:
-	farwritetext UnknownText_0x1b75e5
-	buttonsound
+	farwritetext ErinGenericText
+	promptbutton
 	end
 
 PhoneScript_MonFlavorText:
@@ -1243,17 +1243,17 @@
 	special RandomPhoneMon
 	farscall PhoneScript_Random2
 	ifequal $0, .TooEnergetic
-	farwritetext UnknownText_0x1b518b
-	buttonsound
-	farsjump PhoneScript_HangupText_Male
+	farwritetext UnknownGenericText
+	promptbutton
+	farsjump PhoneScript_HangUpText_Male
 
 .TooEnergetic:
 	farsjump .unnecessary
 
 .unnecessary
-	farwritetext UnknownText_0x1b522b
-	buttonsound
-	farsjump PhoneScript_HangupText_Male
+	farwritetext UnknownTougherThanEverText
+	promptbutton
+	farsjump PhoneScript_HangUpText_Male
 
 GrandmaString: db "Grandma@"
 GrandpaString: db "Grandpa@"
--- a/engine/phone/scripts/generic_caller.asm
+++ b/engine/phone/scripts/generic_caller.asm
@@ -31,7 +31,7 @@
 	farscall PhoneScript_Random2
 	ifequal 0, .GotAway
 	farscall Phone_WhoDefeatedMon_Male
-	farsjump PhoneScript_HangupText_Male
+	farsjump PhoneScript_HangUpText_Male
 
 .GotAway:
 	farsjump Phone_GotAwayCall_Male
@@ -41,7 +41,7 @@
 	farscall PhoneScript_Random2
 	ifequal 0, .GotAway
 	farscall Phone_WhoDefeatedMon_Female
-	farsjump PhoneScript_HangupText_Female
+	farsjump PhoneScript_HangUpText_Female
 
 .GotAway:
 	farsjump Phone_GotAwayCall_Female
@@ -48,11 +48,11 @@
 
 Phone_GotAwayCall_Male:
 	farscall Phone_WhoLostAMon_Male
-	farsjump PhoneScript_HangupText_Male
+	farsjump PhoneScript_HangUpText_Male
 
 Phone_GotAwayCall_Female:
 	farscall Phone_WhoLostAMon_Female
-	farsjump PhoneScript_HangupText_Female
+	farsjump PhoneScript_HangUpText_Female
 
 Phone_WhosBragging_Male:
 	readvar VAR_CALLERID
@@ -75,88 +75,88 @@
 	ifequal PHONE_HIKER_PARRY, .Parry
 
 .Jack:
-	farwritetext JackIntelligenceText
-	buttonsound
+	farwritetext JackIntelligenceKeepsRisingText
+	promptbutton
 	end
 
 .Gaven:
-	farwritetext GavenGreaterText
-	buttonsound
+	farwritetext GavenMonGreaterThanImaginedText
+	promptbutton
 	end
 
 .Jose:
-	farwritetext JoseAromaText
-	buttonsound
+	farwritetext JoseMonsStickHasADeliciousAromaText
+	promptbutton
 	end
 
 .Joey:
-	farwritetext JoeySharperText
-	buttonsound
+	farwritetext JoeyMonLookingSharperText
+	promptbutton
 	end
 
 .Wade:
-	farwritetext WadeAreYouGrowingText
-	buttonsound
+	farwritetext WadeAreYourMonGrowingText
+	promptbutton
 	end
 
 .Ralph:
 	farwritetext RalphNeglectingKidsText
-	buttonsound
+	promptbutton
 	end
 
 .Anthony:
-	farwritetext AnthonyAteBerriesText
-	buttonsound
+	farwritetext AnthonyMonAteSomeBerriesText
+	promptbutton
 	end
 
 .Todd:
 	farwritetext ToddLooksCuteLikeMeText
-	buttonsound
+	promptbutton
 	end
 
 .Arnie:
-	farwritetext ArnieLovesTheCuteText
-	buttonsound
+	farwritetext ArnieMonIsSoCuteText
+	promptbutton
 	end
 
 .Alan:
 	farwritetext AlanGettingStrongerText
-	buttonsound
+	promptbutton
 	end
 
 .Chad:
 	farwritetext ChadObservingWildText
-	buttonsound
+	promptbutton
 	end
 
 .Derek:
-	farwritetext DerekCheekPincherText
-	buttonsound
+	farwritetext DerekCheekPinchingText
+	promptbutton
 	end
 
 .Tully:
-	farwritetext TullyGrownText
-	buttonsound
+	farwritetext TullyMonHasGrownText
+	promptbutton
 	end
 
 .Brent:
 	farwritetext BrentRareTradeText
-	buttonsound
+	promptbutton
 	end
 
 .Vance:
-	farwritetext VanceLiftoffText
-	buttonsound
+	farwritetext VanceMonHasBecomeTougherText
+	promptbutton
 	end
 
 .Wilton:
-	farwritetext WiltonGrownText
-	buttonsound
+	farwritetext WiltonMonHasGrownText
+	promptbutton
 	end
 
 .Parry:
-	farwritetext ParryNoMatchText
-	buttonsound
+	farwritetext ParryNothingCanMatchText
+	promptbutton
 	end
 
 Phone_WhosBragging_Female:
@@ -171,43 +171,43 @@
 	ifequal PHONE_PICNICKER_ERIN, .Erin
 
 .Beverly:
-	farwritetext UnknownText_0x174688
-	buttonsound
+	farwritetext BeverlyMadeMonEvenCuterText
+	promptbutton
 	end
 
 .Beth:
-	farwritetext UnknownText_0x174c7f
-	buttonsound
+	farwritetext BethExhilaratingRideText
+	promptbutton
 	end
 
 .Reena:
-	farwritetext UnknownText_0x1752f5
-	buttonsound
+	farwritetext ReenaMonsIsAPerfectMatchText
+	promptbutton
 	end
 
 .Liz:
-	farwritetext UnknownText_0x175fda
-	buttonsound
+	farwritetext LizMonAlwaysWantsToNuzzleText
+	promptbutton
 	end
 
 .Gina:
-	farwritetext UnknownText_0x1771fd
-	buttonsound
+	farwritetext GinaGettingInSyncWithMonText
+	promptbutton
 	end
 
 .Dana:
-	farwritetext UnknownText_0x64f74
-	buttonsound
+	farwritetext DanaTakingPhotosText
+	promptbutton
 	end
 
 .Tiffany:
-	farwritetext UnknownText_0x665ad
-	buttonsound
+	farwritetext TiffanyMonIsAdorableText
+	promptbutton
 	end
 
 .Erin:
-	farwritetext UnknownText_0x6717a
-	buttonsound
+	farwritetext ErinMonIsMuchStrongerText
+	promptbutton
 	end
 
 Phone_WhoDefeatedMon_Male:
@@ -232,87 +232,87 @@
 
 .Jack:
 	farwritetext JackDefeatedMonText
-	buttonsound
+	promptbutton
 	end
 
 .Gaven:
-	farwritetext UnknownText_0x174a80
-	buttonsound
+	farwritetext GavenDefeatedMonText
+	promptbutton
 	end
 
 .Jose:
-	farwritetext UnknownText_0x174f90
-	buttonsound
+	farwritetext JoseDefeatedMonText
+	promptbutton
 	end
 
 .Joey:
-	farwritetext UnknownText_0x175591
-	buttonsound
+	farwritetext JoeyDefeatedMonText
+	promptbutton
 	end
 
 .Wade:
-	farwritetext UnknownText_0x175869
-	buttonsound
+	farwritetext WadeDefeatedMonText
+	promptbutton
 	end
 
 .Ralph:
-	farwritetext UnknownText_0x175c24
-	buttonsound
+	farwritetext RalphDefeatedMonText
+	promptbutton
 	end
 
 .Anthony:
-	farwritetext UnknownText_0x176aef
-	buttonsound
+	farwritetext AnthonyDefeatedMonText
+	promptbutton
 	end
 
 .Todd:
-	farwritetext UnknownText_0x176e9c
-	buttonsound
+	farwritetext ToddDefeatedMonText
+	promptbutton
 	end
 
 .Arnie:
-	farwritetext UnknownText_0x64a13
-	buttonsound
+	farwritetext ArnieDefeatedMonText
+	promptbutton
 	end
 
 .Alan:
-	farwritetext UnknownText_0x64cf3
-	buttonsound
+	farwritetext AlanDefeatedMonText
+	promptbutton
 	end
 
 .Chad:
-	farwritetext UnknownText_0x65318
-	buttonsound
+	farwritetext ChadDefeatedMonText
+	promptbutton
 	end
 
 .Derek:
-	farwritetext UnknownText_0x65b29
-	buttonsound
+	farwritetext DerekDefeatedMonText
+	promptbutton
 	end
 
 .Tully:
-	farwritetext UnknownText_0x65e42
-	buttonsound
+	farwritetext TullyDefeatedMonText
+	promptbutton
 	end
 
 .Brent:
-	farwritetext UnknownText_0x6613c
-	buttonsound
+	farwritetext BrentDefeatedMonText
+	promptbutton
 	end
 
 .Vance:
-	farwritetext UnknownText_0x669b2
-	buttonsound
+	farwritetext VanceDefeatedMonText
+	promptbutton
 	end
 
 .Wilton:
-	farwritetext UnknownText_0x66b3e
-	buttonsound
+	farwritetext WiltonDefeatedMonText
+	promptbutton
 	end
 
 .Parry:
-	farwritetext UnknownText_0x66fc0
-	buttonsound
+	farwritetext ParryDefeatedMonText
+	promptbutton
 	end
 
 Phone_WhoDefeatedMon_Female:
@@ -327,43 +327,43 @@
 	ifequal PHONE_PICNICKER_ERIN, .Erin
 
 .Beverly:
-	farwritetext UnknownText_0x1746c3
-	buttonsound
+	farwritetext BeverlyDefeatedMonText
+	promptbutton
 	end
 
 .Beth:
-	farwritetext UnknownText_0x174cf6
-	buttonsound
+	farwritetext BethDefeatedMonText
+	promptbutton
 	end
 
 .Reena:
-	farwritetext UnknownText_0x17536b
-	buttonsound
+	farwritetext ReenaDefeatedMonText
+	promptbutton
 	end
 
 .Liz:
-	farwritetext UnknownText_0x17602d
-	buttonsound
+	farwritetext LizDefeatedMonText
+	promptbutton
 	end
 
 .Gina:
-	farwritetext UnknownText_0x177237
-	buttonsound
+	farwritetext GinaDefeatedMonText
+	promptbutton
 	end
 
 .Dana:
-	farwritetext UnknownText_0x64fb2
-	buttonsound
+	farwritetext DanaDefeatedMonText
+	promptbutton
 	end
 
 .Tiffany:
-	farwritetext UnknownText_0x66605
-	buttonsound
+	farwritetext TiffanyDefeatedMonText
+	promptbutton
 	end
 
 .Erin:
-	farwritetext UnknownText_0x671a4
-	buttonsound
+	farwritetext ErinDefeatedMonText
+	promptbutton
 	end
 
 Phone_WhoLostAMon_Male:
@@ -387,88 +387,88 @@
 	ifequal PHONE_HIKER_PARRY, .Parry
 
 .Jack:
-	farwritetext UnknownText_0x174165
-	buttonsound
+	farwritetext JackLostAMonText
+	promptbutton
 	end
 
 .Gaven:
-	farwritetext UnknownText_0x174b2d
-	buttonsound
+	farwritetext GavenLostAMonText
+	promptbutton
 	end
 
 .Jose:
-	farwritetext UnknownText_0x174ffd
-	buttonsound
+	farwritetext JoseLostAMonText
+	promptbutton
 	end
 
 .Joey:
-	farwritetext UnknownText_0x175611
-	buttonsound
+	farwritetext JoeyLostAMonText
+	promptbutton
 	end
 
 .Wade:
-	farwritetext UnknownText_0x1758e4
-	buttonsound
+	farwritetext WadeLostAMonText
+	promptbutton
 	end
 
 .Ralph:
-	farwritetext UnknownText_0x175c9f
-	buttonsound
+	farwritetext RalphLostAMonText
+	promptbutton
 	end
 
 .Anthony:
-	farwritetext UnknownText_0x176b45
-	buttonsound
+	farwritetext AnthonyLostAMonText
+	promptbutton
 	end
 
 .Todd:
-	farwritetext UnknownText_0x176eee
-	buttonsound
+	farwritetext ToddLostAMonText
+	promptbutton
 	end
 
 .Arnie:
-	farwritetext UnknownText_0x64a71
-	buttonsound
+	farwritetext ArnieLostAMonText
+	promptbutton
 	end
 
 .Alan:
-	farwritetext UnknownText_0x64d4f
-	buttonsound
+	farwritetext AlanLostAMonText
+	promptbutton
 	end
 
 .Chad:
-	farwritetext UnknownText_0x65399
-	buttonsound
+	farwritetext ChadLostAMonText
+	promptbutton
 	end
 
 .Derek:
-	farwritetext UnknownText_0x65bc8
-	buttonsound
+	farwritetext DerekLostAMonText
+	promptbutton
 	end
 
 .Tully:
-	farwritetext UnknownText_0x65eac
-	buttonsound
+	farwritetext TullyLostAMonText
+	promptbutton
 	end
 
 .Brent:
-	farwritetext UnknownText_0x6618c
-	buttonsound
+	farwritetext BrentLostAMonText
+	promptbutton
 	end
 
 .Vance:
-	farwritetext UnknownText_0x669ed
-	buttonsound
+	farwritetext VanceLostAMonText
+	promptbutton
 	end
 
 .Wilton:
-	farwritetext UnknownText_0x66b8f
-	buttonsound
+	farwritetext WiltonLostAMonText
+	promptbutton
 	end
 
 .Parry:
-	farwritetext UnknownText_0x67001
-	buttonsound
+	farwritetext ParryLostAMonText
+	promptbutton
 	end
 
 Phone_WhoLostAMon_Female:
@@ -483,52 +483,52 @@
 	ifequal PHONE_PICNICKER_ERIN, .Erin
 
 .Beverly:
-	farwritetext UnknownText_0x174734
-	buttonsound
+	farwritetext BeverlyLostAMonText
+	promptbutton
 	end
 
 .Beth:
-	farwritetext UnknownText_0x174d86
-	buttonsound
+	farwritetext BethLostAMonText
+	promptbutton
 	end
 
 .Reena:
-	farwritetext UnknownText_0x1753c5
-	buttonsound
+	farwritetext ReenaLostAMonText
+	promptbutton
 	end
 
 .Liz:
-	farwritetext UnknownText_0x176095
-	buttonsound
+	farwritetext LizLostAMonText
+	promptbutton
 	end
 
 .Gina:
-	farwritetext UnknownText_0x177297
-	buttonsound
+	farwritetext GinaLostAMonText
+	promptbutton
 	end
 
 .Dana:
-	farwritetext UnknownText_0x6501c
-	buttonsound
+	farwritetext DanaLostAMonText
+	promptbutton
 	end
 
 .Tiffany:
-	farwritetext UnknownText_0x66688
-	buttonsound
+	farwritetext TiffanyLostAMonText
+	promptbutton
 	end
 
 .Erin:
-	farwritetext UnknownText_0x671eb
-	buttonsound
+	farwritetext ErinLostAMonText
+	promptbutton
 	end
 
 PhoneScript_WantsToBattle_Male:
 	farscall PhoneScript_RematchText_Male
-	farsjump PhoneScript_HangupText_Male
+	farsjump PhoneScript_HangUpText_Male
 
 PhoneScript_WantsToBattle_Female:
 	farscall PhoneScript_RematchText_Female
-	farsjump PhoneScript_HangupText_Female
+	farsjump PhoneScript_HangUpText_Female
 
 PhoneScript_RematchText_Male:
 	readvar VAR_CALLERID
@@ -551,88 +551,88 @@
 	ifequal PHONE_HIKER_PARRY, .Parry
 
 .Jack:
-	farwritetext UnknownText_0x1741e1
-	buttonsound
+	farwritetext JackBattleRematchText
+	promptbutton
 	end
 
 .Huey:
-	farwritetext UnknownText_0x1748ea
-	buttonsound
+	farwritetext HueyBattleRematchText
+	promptbutton
 	end
 
 .Gaven:
-	farwritetext UnknownText_0x174bc5
-	buttonsound
+	farwritetext GavenBattleRematchText
+	promptbutton
 	end
 
 .Jose:
-	farwritetext UnknownText_0x17507d
-	buttonsound
+	farwritetext JoseBattleRematchText
+	promptbutton
 	end
 
 .Joey:
-	farwritetext UnknownText_0x175693
-	buttonsound
+	farwritetext JoeyBattleRematchText
+	promptbutton
 	end
 
 .Wade:
-	farwritetext UnknownText_0x175976
-	buttonsound
+	farwritetext WadeBattleRematchText
+	promptbutton
 	end
 
 .Ralph:
-	farwritetext UnknownText_0x175d40
-	buttonsound
+	farwritetext RalphBattleRematchText
+	promptbutton
 	end
 
 .Anthony:
-	farwritetext UnknownText_0x176bee
-	buttonsound
+	farwritetext AnthonyBattleRematchText
+	promptbutton
 	end
 
 .Todd:
-	farwritetext UnknownText_0x176f60
-	buttonsound
+	farwritetext ToddBattleRematchText
+	promptbutton
 	end
 
 .Arnie:
-	farwritetext UnknownText_0x64ada
-	buttonsound
+	farwritetext ArnieBattleRematchText
+	promptbutton
 	end
 
 .Alan:
-	farwritetext UnknownText_0x64da4
-	buttonsound
+	farwritetext AlanBattleRematchText
+	promptbutton
 	end
 
 .Chad:
-	farwritetext UnknownText_0x65419
-	buttonsound
+	farwritetext ChadBattleRematchText
+	promptbutton
 	end
 
 .Tully:
-	farwritetext UnknownText_0x65f17
-	buttonsound
+	farwritetext TullyBattleRematchText
+	promptbutton
 	end
 
 .Brent:
-	farwritetext UnknownText_0x66214
-	buttonsound
+	farwritetext BrentBattleRematchText
+	promptbutton
 	end
 
 .Vance:
-	farwritetext UnknownText_0x66a3a
-	buttonsound
+	farwritetext VanceBattleRematchText
+	promptbutton
 	end
 
 .Wilton:
-	farwritetext UnknownText_0x66bf3
-	buttonsound
+	farwritetext WiltonBattleRematchText
+	promptbutton
 	end
 
 .Parry:
-	farwritetext UnknownText_0x67096
-	buttonsound
+	farwritetext ParryBattleRematchText
+	promptbutton
 	end
 
 PhoneScript_RematchText_Female:
@@ -646,42 +646,42 @@
 	ifequal PHONE_PICNICKER_ERIN, .Erin
 
 .Beth:
-	farwritetext UnknownText_0x174e4e
-	buttonsound
+	farwritetext BethBattleRematchText
+	promptbutton
 	end
 
 .Reena:
-	farwritetext UnknownText_0x17543a
-	buttonsound
+	farwritetext ReenaBattleRematchText
+	promptbutton
 	end
 
 .Liz:
-	farwritetext UnknownText_0x17610a
-	buttonsound
+	farwritetext LizBattleRematchText
+	promptbutton
 	end
 
 .Gina:
-	farwritetext UnknownText_0x1772e2
-	buttonsound
+	farwritetext GinaBattleRematchText
+	promptbutton
 	end
 
 .Dana:
-	farwritetext UnknownText_0x65091
-	buttonsound
+	farwritetext DanaBattleRematchText
+	promptbutton
 	end
 
 .Tiffany:
-	farwritetext UnknownText_0x66730
-	buttonsound
+	farwritetext TiffanyBattleRematchText
+	promptbutton
 	end
 
 .Erin:
-	farwritetext UnknownText_0x6722e
-	buttonsound
+	farwritetext ErinBattleRematchText
+	promptbutton
 	end
 
 LizWrongNumberScript:
-	farwritetext LizHiTaniaText
+	farwritetext LizWrongNumberText
 	end
 
 TiffanyItsAwful:
@@ -688,7 +688,7 @@
 	farwritetext TiffanyItsAwfulText
 	end
 
-PhoneScript_HangupText_Male:
+PhoneScript_HangUpText_Male:
 	readvar VAR_CALLERID
 	ifequal PHONE_SCHOOLBOY_JACK, .Jack
 	ifequal PHONE_SAILOR_HUEY, .Huey
@@ -712,86 +712,86 @@
 	ifequal PHONE_HIKER_PARRY, .Parry
 
 .Jack:
-	farwritetext UnknownText_0x174251
+	farwritetext JackHangUpText
 	end
 
 .Huey:
-	farwritetext UnknownText_0x174962
+	farwritetext HueyHangUpText
 	end
 
 .Gaven:
-	farwritetext UnknownText_0x174c0e
+	farwritetext GavenHangUpText
 	end
 
 .Jose:
-	farwritetext UnknownText_0x175106
+	farwritetext JoseHangUpText
 	end
 
 .Joey:
-	farwritetext UnknownText_0x17570a
+	farwritetext JoeyHangUpText
 	end
 
 .Wade:
-	farwritetext UnknownText_0x1759e7
+	farwritetext WadeHangUpText
 	end
 
 .Ralph:
-	farwritetext UnknownText_0x175db7
+	farwritetext RalphHangUpText
 	end
 
 .Anthony:
-	farwritetext UnknownText_0x176c47
+	farwritetext AnthonyHangUpText
 	end
 
 .Todd:
-	farwritetext UnknownText_0x176fdb
+	farwritetext ToddHangUpText
 	end
 
 .Irwin:
-	farwritetext UnknownText_0x64000
+	farwritetext IrwinHangUpText
 	end
 
 .Arnie:
-	farwritetext UnknownText_0x64b48
+	farwritetext ArnieHangUpText
 	end
 
 .Alan:
-	farwritetext UnknownText_0x64e1f
+	farwritetext AlanHangUpText
 	end
 
 .Chad:
-	farwritetext UnknownText_0x65471
+	farwritetext ChadHangUpText
 	end
 
 .Derek:
-	farwritetext UnknownText_0x65c4e
+	farwritetext DerekHangUpText
 	end
 
 .Tully:
-	farwritetext UnknownText_0x65f6e
+	farwritetext TullyHangUpText
 	end
 
 .Brent:
-	farwritetext UnknownText_0x662a9
+	farwritetext BrentHangUpText
 	end
 
 .Vance:
-	farwritetext UnknownText_0x66a93
+	farwritetext VanceHangUpText
 	end
 
 .Wilton:
-	farwritetext UnknownText_0x66c58
+	farwritetext WiltonHangUpText
 	end
 
 .Kenji:
-	farwritetext UnknownText_0x66dab
+	farwritetext KenjiHangUpText
 	end
 
 .Parry:
-	farwritetext UnknownText_0x670eb
+	farwritetext ParryHangUpText
 	end
 
-PhoneScript_HangupText_Female:
+PhoneScript_HangUpText_Female:
 	readvar VAR_CALLERID
 	ifequal PHONE_POKEFAN_BEVERLY, .Beverly
 	ifequal PHONE_COOLTRAINERF_BETH, .Beth
@@ -803,35 +803,35 @@
 	ifequal PHONE_PICNICKER_ERIN, .Erin
 
 .Beverly:
-	farwritetext UnknownText_0x1747ac
+	farwritetext BeverlyHangUpText
 	end
 
 .Beth:
-	farwritetext UnknownText_0x174eb7
+	farwritetext BethHangUpText
 	end
 
 .Reena:
-	farwritetext UnknownText_0x175488
+	farwritetext ReenaHangUpText
 	end
 
 .Liz:
-	farwritetext UnknownText_0x17620a
+	farwritetext LizHangUpText
 	end
 
 .Gina:
-	farwritetext UnknownText_0x177361
+	farwritetext GinaHangUpText
 	end
 
 .Dana:
-	farwritetext UnknownText_0x650e2
+	farwritetext DanaHangUpText
 	end
 
 .Tiffany:
-	farwritetext UnknownText_0x667f7
+	farwritetext TiffanyHangUpText
 	end
 
 .Erin:
-	farwritetext UnknownText_0x67281
+	farwritetext ErinHangUpText
 	end
 
 Phone_CheckIfUnseenRare_Male:
@@ -840,7 +840,7 @@
 	farsjump Phone_GenericCall_Male
 
 .HangUp:
-	farsjump PhoneScript_HangupText_Male
+	farsjump PhoneScript_HangUpText_Male
 
 Phone_CheckIfUnseenRare_Female:
 	scall PhoneScriptRareWildMon
@@ -848,7 +848,7 @@
 	farsjump Phone_GenericCall_Female
 
 .HangUp:
-	farsjump PhoneScript_HangupText_Female
+	farsjump PhoneScript_HangUpText_Female
 
 PhoneScriptRareWildMon:
 	special RandomUnseenWildMon
@@ -861,38 +861,38 @@
 
 .Wade:
 	farwritetext WadeBugCatchingContestText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Derek:
 	farwritetext DerekBugCatchingContestText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-IrwinRocketRumor:
-	farwritetext UnknownText_0x64032
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+IrwinRocketRumorScript:
+	farwritetext IrwinRocketTakeoverRumorText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa05c6:
-	farwritetext UnknownText_0x177378
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+GinaRocketRumorScript:
+	farwritetext GinaRocketTakeoverRumorText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
-UnknownScript_0xa05ce:
-	farwritetext UnknownText_0x64b5f
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+ArnieSwarmScript:
+	farwritetext ArnieSwarmText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa05d6:
-	farwritetext UnknownText_0x175dd9
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+RalphItemScript:
+	farwritetext RalphItemText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa05de:
-	farwritetext UnknownText_0x176c61
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+AnthonySwarmScript:
+	farwritetext AnthonySwarmText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 PhoneScript_FoundItem_Male:
 	readvar VAR_CALLERID
@@ -904,27 +904,27 @@
 	ifequal PHONE_FISHER_WILTON, .Wilton
 
 .Jose:
-	farwritetext JoseFoundSomethingText
+	farwritetext JoseFoundItemText
 	end
 
 .Wade:
-	farwritetext WadeFoundBerryText
+	farwritetext WadeFoundItemText
 	end
 
 .Alan:
-	farwritetext UnknownText_0x64e2f
+	farwritetext AlanFoundItemText
 	end
 
 .Derek:
-	farwritetext UnknownText_0x65cf9
+	farwritetext DerekFoundItemText
 	end
 
 .Tully:
-	farwritetext UnknownText_0x65f88
+	farwritetext TullyFoundItemText
 	end
 
 .Wilton:
-	farwritetext UnknownText_0x66c6b
+	farwritetext WiltonFoundItemText
 	end
 
 PhoneScript_FoundItem_Female:
@@ -935,27 +935,27 @@
 	ifequal PHONE_PICNICKER_TIFFANY, .Tiffany
 
 .Beverly:
-	farwritetext BeverlyFoundNuggetText
+	farwritetext BeverlyFoundItemText
 	end
 
 .Gina:
-	farwritetext UnknownText_0x1773e7
+	farwritetext GinaFoundItemText
 	end
 
 .Dana:
-	farwritetext UnknownText_0x650ec
+	farwritetext DanaFoundItemText
 	end
 
 .Tiffany:
-	farwritetext UnknownText_0x66801
+	farwritetext TiffanyFoundItemText
 	end
 
-UnknownScript_0xa0644:
-	farwritetext UnknownText_0x176feb
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+ToddItemScript:
+	farwritetext ToddDepartmentStoreBargainSaleText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 KenjiCallingPhoneScript:
-	farwritetext UnknownText_0x66dc5
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext KenjiRemainDedicatedText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
--- a/engine/phone/scripts/gina.asm
+++ b/engine/phone/scripts/gina.asm
@@ -15,18 +15,18 @@
 .NotSunday:
 	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
 	iftrue .Rockets
-	farsjump UnknownScript_0xa0960
+	farsjump GinaHangUpScript
 
 .Rockets:
-	farsjump UnknownScript_0xa05c6
+	farsjump GinaRocketRumorScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, ROUTE_34
-	farsjump UnknownScript_0xa0a69
+	farsjump GinaReminderScript
 
 .HasLeafStone:
 	getlandmarkname STRING_BUFFER_5, ROUTE_34
-	farsjump UnknownScript_0xa0abd
+	farsjump GinaComePickUpScript
 
 GinaPhoneCallerScript:
 	gettrainername STRING_BUFFER_3, PICNICKER, GINA1
@@ -64,7 +64,7 @@
 	farsjump PhoneScript_WantsToBattle_Female
 
 GinaRockets:
-	farsjump UnknownScript_0xa05c6
+	farsjump GinaRocketRumorScript
 
 GinaHasLeafStone:
 	setflag ENGINE_GINA_HAS_LEAF_STONE
--- a/engine/phone/scripts/hangups.asm
+++ b/engine/phone/scripts/hangups.asm
@@ -1,166 +1,166 @@
-JackPhoneTips:
-	farwritetext UnknownText_0x1745c2
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+JackPhoneTipsScript:
+	farwritetext JackHeardSomeGreatTipsText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa0900:
-	farwritetext UnknownText_0x17485b
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+BeverlyHangUpScript:
+	farwritetext BeverlyLetsChatAboutMonAgainText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
-UnknownScript_0xa0908:
-	farwritetext UnknownText_0x17496b
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+HueyHangUpScript:
+	farwritetext HueyWeHaveToBattleAgainSometimeText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa0910:
-	farwritetext UnknownText_0x174c29
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+GavenHangUpNotThursdayScript:
+	farwritetext GavenHangUpNotThursdayText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa0918:
-	farwritetext UnknownText_0x174ec5
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+BethHangUpScript:
+	farwritetext BethLetsBattleAgainSometimeText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
-UnknownScript_0xa0920:
-	farwritetext UnknownText_0x17519b
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+JoseHangUpScript:
+	farwritetext JoseHaventGottenItemYetText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa0928:
-	farwritetext UnknownText_0x17549b
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+ReenaForwardScript:
+	farwritetext ReenaForwardText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
-UnknownScript_0xa0930:
-	farwritetext UnknownText_0x17571d
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+JoeyHangUpScript:
+	farwritetext JoeyDevisingStrategiesText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa0938:
-	farwritetext UnknownText_0x175abe
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+WadeNoBerriesScript:
+	farwritetext WadeNoBerriesText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa0940:
-	farwritetext UnknownText_0x175eaf
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+RalphNoItemScript:
+	farwritetext RalphNoItemText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa0948:
-	farwritetext UnknownText_0x1768b0
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+LizHangUpScript:
+	farwritetext LizFawningOverMonText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
-UnknownScript_0xa0950:
-	farwritetext UnknownText_0x176d32
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+AnthonyHangUpScript:
+	farwritetext AnthonyWasntPayingAttentionText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa0958:
-	farwritetext UnknownText_0x1770fb
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+ToddNoItemScript:
+	farwritetext ToddSavingUpForBargainSaleText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa0960:
-	farwritetext UnknownText_0x177465
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+GinaHangUpScript:
+	farwritetext GinaHaventFoundAnythingYetText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
-UnknownScript_0xa0968:
-	farwritetext UnknownText_0x64bc6
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+ArnieHangUpScript:
+	farwritetext ArnieHaventSeenRareMonText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa0970:
-	farwritetext UnknownText_0x64e90
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+AlanHangUpScript:
+	farwritetext AlanHaventPickedUpAnythingText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa0978:
-	farwritetext UnknownText_0x65161
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+DanaHangUpScript:
+	farwritetext DanaCanYouWaitABitLongerText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
-UnknownScript_0xa0980:
-	farwritetext UnknownText_0x65a23
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+ChadHangUpScript:
+	farwritetext ChadGoingToStudyHardText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa0988:
-	farwritetext UnknownText_0x65d5c
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+DerekHangUpScript:
+	farwritetext DerekLetsGetTogetherText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa0990:
-	farwritetext UnknownText_0x65ff2
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+TullyNoItemScript:
+	farwritetext TullyNoItemText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa0998:
-	farwritetext UnknownText_0x6651e
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+BrentHangUpScript:
+	farwritetext BrentSorryImTooBusyText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa09a0:
-	farwritetext UnknownText_0x66882
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+TiffanyNoItemScript:
+	farwritetext TiffanyNoItemText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
-VanceLookingForward:
+VanceLookingForwardScript:
 	farwritetext VanceLookingForwardText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-WiltonHaventFoundAnything:
+WiltonHaventFoundAnythingScript:
 	farwritetext WiltonHaventFoundAnythingText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-ParryBattleWithMe:
+ParryBattleWithMeScript:
 	farwritetext ParryBattleWithMeText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 ErinWorkingHardScript:
 	farwritetext ErinWorkingHardText
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
-UnknownScript_0xa09c8:
+IrwinRandomTextScript:
 	random 3
-	ifequal 0, UnknownScript_0xa09d6
-	ifequal 1, UnknownScript_0xa09de
-	ifequal 2, UnknownScript_0xa09e6
+	ifequal 0, IrwinEscapadeScript
+	ifequal 1, IrwinGoodMatchScript
+	ifequal 2, IrwinSoMuchToChatAboutScript
 
-UnknownScript_0xa09d6:
-	farwritetext UnknownText_0x64846
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+IrwinEscapadeScript:
+	farwritetext IrwinYourEscapadesRockText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa09de:
-	farwritetext UnknownText_0x64881
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+IrwinGoodMatchScript:
+	farwritetext IrwinGoodMatchText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa09e6:
-	farwritetext UnknownText_0x648dc
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+IrwinSoMuchToChatAboutScript:
+	farwritetext IrwinSoMuchToChatAboutText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 KenjiAnswerPhoneScript:
 	readvar VAR_KENJI_BREAK
 	ifequal 2, .Training
 	ifequal 1, .OnBreak
-	farwritetext UnknownText_0x66e17
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext KenjiCallMeBackAnotherTimeText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Training:
-	farwritetext UnknownText_0x66e67
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext KenjiIllHaveTimeToChatTomorrowText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .OnBreak:
 	checktime MORN
@@ -168,16 +168,16 @@
 	checktime NITE
 	iftrue .Night
 	setevent EVENT_KENJI_ON_BREAK
-	farwritetext KenjiBreakText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext KenjiTakingABreakText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Morning:
-	farwritetext UnknownText_0x66ed3
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext KenjiHangUpMorningText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Night:
-	farwritetext UnknownText_0x66f52
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext KenjiHangUpNightText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
--- a/engine/phone/scripts/hangups_2.asm
+++ b/engine/phone/scripts/hangups_2.asm
@@ -1,49 +1,49 @@
-UnknownScript_0xa0aa5:
-	farwritetext UnknownText_0x174895
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+BeverlyComePickUpScript:
+	farwritetext BeverlyComePickUpText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
-UnknownScript_0xa0aad:
-	farwritetext UnknownText_0x17529c
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+JoseComePickUpScript:
+	farwritetext JoseComePickUpText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa0ab5:
-	farwritetext UnknownText_0x175b6d
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+WadeComeQuickScript:
+	farwritetext WadeComeQuickText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa0abd:
-	farwritetext UnknownText_0x17750e
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+GinaComePickUpScript:
+	farwritetext GinaComePickUpText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
-UnknownScript_0xa0ac5:
-	farwritetext UnknownText_0x64f1a
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+AlanComePickUpScript:
+	farwritetext AlanComePickUpGiftText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa0acd:
-	farwritetext UnknownText_0x6520f
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+DanaComePickUpScript:
+	farwritetext DanaComePickUpText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
-UnknownScript_0xa0ad5:
-	farwritetext UnknownText_0x65da6
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+DerekComePickUpScript:
+	farwritetext DerekComePickUpText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa0add:
-	farwritetext UnknownText_0x66087
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+TullyHurryScript:
+	farwritetext TullyHurryText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
-UnknownScript_0xa0ae5:
-	farwritetext UnknownText_0x6691d
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+TiffanyHurryScript:
+	farwritetext TiffanyHurryText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
-WiltonWantThis:
+WiltonWantThisScript:
 	farwritetext WiltonWantThisText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
--- a/engine/phone/scripts/huey.asm
+++ b/engine/phone/scripts/huey.asm
@@ -12,7 +12,7 @@
 
 .NotWednesday:
 	special RandomPhoneMon
-	farsjump UnknownScript_0xa0908
+	farsjump HueyHangUpScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, LIGHTHOUSE
--- a/engine/phone/scripts/irwin.asm
+++ b/engine/phone/scripts/irwin.asm
@@ -3,10 +3,10 @@
 	farscall PhoneScript_AnswerPhone_Male
 	checkflag ENGINE_ROCKETS_IN_RADIO_TOWER
 	iftrue .Rockets
-	farsjump UnknownScript_0xa09c8
+	farsjump IrwinRandomTextScript
 
 .Rockets:
-	farsjump IrwinRocketRumor
+	farsjump IrwinRocketRumorScript
 
 IrwinPhoneCallerScript:
 	gettrainername STRING_BUFFER_3, JUGGLER, IRWIN1
@@ -16,4 +16,4 @@
 	farsjump IrwinRumorScript
 
 .Rockets:
-	farsjump IrwinRocketRumor
+	farsjump IrwinRocketRumorScript
--- 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
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .PlainBadge:
-	farwritetext UnknownText_0x64099
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext IrwinPlainBadgeGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .JasmineReturned:
-	farwritetext UnknownText_0x640e6
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext IrwinJasmineReturnedGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .RocketHideout:
-	farwritetext UnknownText_0x6416d
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext IrwinRocketHideoutGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .RadioTower:
-	farwritetext UnknownText_0x641e8
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext IrwinRadioTowerGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .RisingBadge:
-	farwritetext UnknownText_0x64247
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext IrwinRisingBadgeGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .EliteFour:
-	farwritetext UnknownText_0x642bb
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext IrwinEliteFourGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .VermilionCity:
-	farwritetext UnknownText_0x643d4
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext IrwinVermilionCityGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .TrainPass:
-	farwritetext UnknownText_0x64448
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext IrwinTrainPassGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Snorlax:
-	farwritetext UnknownText_0x6455b
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext IrwinSnorlaxGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .MtSilver:
-	farwritetext UnknownText_0x645ff
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext IrwinMtSilverGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .FogBadge:
-	farwritetext UnknownText_0x646df
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext IrwinFogBadgeGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .MarshBadge:
-	farwritetext UnknownText_0x647d8
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	farwritetext IrwinMarshBadgeGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
--- a/engine/phone/scripts/jack.asm
+++ b/engine/phone/scripts/jack.asm
@@ -11,7 +11,7 @@
 	iftrue JackMondayMorning
 
 .NotMonday:
-	farsjump JackPhoneTips
+	farsjump JackPhoneTipsScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, NATIONAL_PARK
--- a/engine/phone/scripts/jack_gossip.asm
+++ b/engine/phone/scripts/jack_gossip.asm
@@ -14,55 +14,55 @@
 
 .Thunder:
 	farwritetext JackThunderTriviaText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Rollout:
 	farwritetext JackRolloutTriviaText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Solarbeam:
 	farwritetext JackSolarbeamTriviaText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Stomp:
 	farwritetext JackStompTriviaText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Gust:
 	farwritetext JackGustTriviaText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Twister:
 	farwritetext JackTwisterTriviaText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Earthquake:
 	farwritetext JackEarthquakeTriviaText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Magnitude:
 	farwritetext JackMagnitudeTriviaText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .Sandstorm:
 	farwritetext JackSandstormTriviaText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .SunnyDay:
 	farwritetext JackSunnyDayTriviaText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
 
 .RainDance:
 	farwritetext JackRainDanceTriviaText
-	buttonsound
-	sjump PhoneScript_HangupText_Male
+	promptbutton
+	sjump PhoneScript_HangUpText_Male
--- a/engine/phone/scripts/joey.asm
+++ b/engine/phone/scripts/joey.asm
@@ -12,11 +12,11 @@
 
 .NotMonday:
 	special RandomPhoneMon
-	farsjump UnknownScript_0xa0930
+	farsjump JoeyHangUpScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, ROUTE_30
-	farsjump UnknownScript_0xa0a4b
+	farsjump JoeyReminderScript
 
 JoeyPhoneCallerScript:
 	gettrainername STRING_BUFFER_3, YOUNGSTER, JOEY1
--- a/engine/phone/scripts/jose.asm
+++ b/engine/phone/scripts/jose.asm
@@ -13,15 +13,15 @@
 	iftrue JoseSaturdayNight
 
 .NotSaturday:
-	farsjump UnknownScript_0xa0920
+	farsjump JoseHangUpScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, ROUTE_27
-	farsjump UnknownScript_0xa0a41
+	farsjump JoseReminderScript
 
 .HasItem:
 	getlandmarkname STRING_BUFFER_5, ROUTE_27
-	farsjump UnknownScript_0xa0a41
+	farsjump JoseReminderScript
 
 JosePhoneCallerScript:
 	gettrainername STRING_BUFFER_3, BIRD_KEEPER, JOSE2
--- a/engine/phone/scripts/liz.asm
+++ b/engine/phone/scripts/liz.asm
@@ -12,11 +12,11 @@
 
 .NotThursday:
 	special RandomPhoneMon
-	farsjump UnknownScript_0xa0948
+	farsjump LizHangUpScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, ROUTE_32
-	farsjump UnknownScript_0xa0a5a
+	farsjump LizReminderScript
 
 LizPhoneCallerScript:
 	gettrainername STRING_BUFFER_3, PICNICKER, LIZ1
@@ -99,4 +99,4 @@
 	sjump LizGossipScript
 
 LizGossipScript:
-	farsjump UnknownScript_0xa06da
+	farsjump LizGossipRandomScript
--- a/engine/phone/scripts/liz_gossip.asm
+++ b/engine/phone/scripts/liz_gossip.asm
@@ -1,4 +1,4 @@
-UnknownScript_0xa06da:
+LizGossipRandomScript:
 	random 10
 	ifequal 0, .RuinsOfAlph
 	ifequal 1, .Falkner
@@ -12,51 +12,51 @@
 	ifequal 9, .Forgot
 
 .RuinsOfAlph:
-	farwritetext UnknownText_0x176223
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+	farwritetext LizRuinsOfAlphGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
 .Falkner:
-	farwritetext UnknownText_0x1762c3
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+	farwritetext LizFalknerGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
 .Earl:
-	farwritetext UnknownText_0x17638a
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+	farwritetext LizEarlGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
 .SurfPikachu:
-	farwritetext UnknownText_0x176424
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+	farwritetext LizSurfPikachuGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
 .MooMooMilk:
-	farwritetext UnknownText_0x1764eb
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+	farwritetext LizMooMooMilkGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
 .Salon:
-	farwritetext UnknownText_0x176599
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+	farwritetext LizSalonGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
 .Whitney:
-	farwritetext UnknownText_0x1766ac
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+	farwritetext LizWhitneyGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
 .BugCatchingContest:
-	farwritetext UnknownText_0x17674f
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+	farwritetext LizBugCatchingContestGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
 .BeautifulMon:
-	farwritetext UnknownText_0x176816
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+	farwritetext LizBeautifulMonGossipText
+	promptbutton
+	sjump PhoneScript_HangUpText_Female
 
 .Forgot:
-	farwritetext UnknownText_0x17686d
-	buttonsound
-	sjump PhoneScript_HangupText_Female
+	farwritetext LizForgotGossipText
+	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/phone/scripts/parry.asm
+++ b/engine/phone/scripts/parry.asm
@@ -11,11 +11,11 @@
 	iftrue ParryFridayDay
 
 .WantsRematch:
-	farsjump ParryBattleWithMe
+	farsjump ParryBattleWithMeScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, ROUTE_45
-	farsjump ParryHaventYouGottenTo
+	farsjump ParryHaventYouGottenToScript
 
 ParryPhoneCallerScript:
 	gettrainername STRING_BUFFER_3, HIKER, PARRY1
--- a/engine/phone/scripts/ralph.asm
+++ b/engine/phone/scripts/ralph.asm
@@ -12,15 +12,15 @@
 .CheckSwarm:
 	checkflag ENGINE_FISH_SWARM
 	iftrue .ReportSwarm
-	farsjump UnknownScript_0xa0940
+	farsjump RalphNoItemScript
 
 .Rematch:
 	getlandmarkname STRING_BUFFER_5, ROUTE_32
-	farsjump UnknownScript_0xa0a55
+	farsjump RalphReminderScript
 
 .ReportSwarm:
 	getlandmarkname STRING_BUFFER_5, ROUTE_32
-	farsjump UnknownScript_0xa0af5
+	farsjump RalphHurryScript
 
 RalphPhoneCallerScript:
 	gettrainername STRING_BUFFER_3, FISHER, RALPH1
@@ -53,7 +53,7 @@
 	getlandmarkname STRING_BUFFER_5, ROUTE_32
 	setval FISHSWARM_QWILFISH
 	special ActivateFishingSwarm
-	farsjump UnknownScript_0xa05d6
+	farsjump RalphItemScript
 
 .Generic:
 	farsjump Phone_GenericCall_Male
--- a/engine/phone/scripts/reena.asm
+++ b/engine/phone/scripts/reena.asm
@@ -11,11 +11,11 @@
 	iftrue ReenaSundayMorning
 
 .NotSunday:
-	farsjump UnknownScript_0xa0928
+	farsjump ReenaForwardScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, ROUTE_27
-	farsjump UnknownScript_0xa0a46
+	farsjump ReenaHurryScript
 
 ReenaPhoneCallerScript:
 	gettrainername STRING_BUFFER_3, COOLTRAINERF, REENA1
--- a/engine/phone/scripts/reminders.asm
+++ b/engine/phone/scripts/reminders.asm
@@ -1,92 +1,92 @@
 JackWantsBattleScript:
-	farwritetext UnknownText_0x174638
+	farwritetext JackReminderText
 	end
 
 HueyWantsBattleScript:
-	farwritetext UnknownText_0x1749c7
+	farwritetext HueyReminderText
 	end
 
-UnknownScript_0xa0a37:
-	farwritetext UnknownText_0x174c49
+GavenReminderScript:
+	farwritetext GavenReminderText
 	end
 
 BethBattleReminderScript:
-	farwritetext BethForgetDealText
+	farwritetext BethReminderText
 	end
 
-UnknownScript_0xa0a41:
-	farwritetext UnknownText_0x17520a
+JoseReminderScript:
+	farwritetext JoseReminderText
 	end
 
-UnknownScript_0xa0a46:
-	farwritetext UnknownText_0x1754e5
+ReenaHurryScript:
+	farwritetext ReenaHurryText
 	end
 
-UnknownScript_0xa0a4b:
-	farwritetext UnknownText_0x175786
+JoeyReminderScript:
+	farwritetext JoeyReminderText
 	end
 
-UnknownScript_0xa0a50:
-	farwritetext UnknownText_0x175b1e
+WadeQuickBattleScript:
+	farwritetext WadeQuickBattleText
 	end
 
-UnknownScript_0xa0a55:
-	farwritetext UnknownText_0x175f11
+RalphReminderScript:
+	farwritetext RalphReminderText
 	end
 
-UnknownScript_0xa0a5a:
-	farwritetext UnknownText_0x1769da
+LizReminderScript:
+	farwritetext LizReminderText
 	end
 
-UnknownScript_0xa0a5f:
-	farwritetext UnknownText_0x176d85
+AnthonyReminderScript:
+	farwritetext AnthonyReminderText
 	end
 
-UnknownScript_0xa0a64:
-	farwritetext UnknownText_0x177138
+ToddForwardScript:
+	farwritetext ToddLookingForwardToBattleText
 	end
 
-UnknownScript_0xa0a69:
-	farwritetext UnknownText_0x1774c1
+GinaReminderScript:
+	farwritetext GinaReminderText
 	end
 
-UnknownScript_0xa0a6e:
-	farwritetext UnknownText_0x64c13
+ArnieReminderScript:
+	farwritetext ArnieReminderText
 	end
 
-UnknownScript_0xa0a73:
-	farwritetext UnknownText_0x64ed4
+AlanReminderScript:
+	farwritetext AlanReminderText
 	end
 
-UnknownScript_0xa0a78:
-	farwritetext UnknownText_0x651bf
+DanaReminderScript:
+	farwritetext DanaReminderText
 	end
 
-UnknownScript_0xa0a7d:
-	farwritetext UnknownText_0x65a63
+ChadReminderScript:
+	farwritetext ChadReminderText
 	end
 
-UnknownScript_0xa0a82:
-	farwritetext UnknownText_0x66043
+TullyForwardScript:
+	farwritetext TullyForwardText
 	end
 
-UnknownScript_0xa0a87:
-	farwritetext UnknownText_0x66579
+BrentReminderScript:
+	farwritetext BrentReminderText
 	end
 
-UnknownScript_0xa0a8c:
-	farwritetext UnknownText_0x668a3
+TiffanyAsleepScript:
+	farwritetext TiffanyAsleepText
 	end
 
-VanceHurryHurry:
+VanceHurryHurryScript:
 	farwritetext VanceHurryHurryText
 	end
 
-WiltonNotBiting:
+WiltonNotBitingScript:
 	farwritetext WiltonNotBitingText
 	end
 
-ParryHaventYouGottenTo:
+ParryHaventYouGottenToScript:
 	farwritetext ParryHaventYouGottenToText
 	end
 
--- a/engine/phone/scripts/reminders_2.asm
+++ b/engine/phone/scripts/reminders_2.asm
@@ -1,15 +1,15 @@
-UnknownScript_0xa0af5:
-	farwritetext UnknownText_0x175f70
+RalphHurryScript:
+	farwritetext RalphHurryText
 	end
 
-UnknownScript_0xa0afa:
-	farwritetext UnknownText_0x176dd1
+AnthonyHurryScript:
+	farwritetext AnthonyHurryText
 	end
 
-UnknownScript_0xa0aff:
-	farwritetext UnknownText_0x64c5a
+ArnieHurryScript:
+	farwritetext ArnieHurryText
 	end
 
-UnknownScript_0xa0b04:
-	farwritetext UnknownText_0x17717c
+ToddHurryScript:
+	farwritetext ToddHaveYouGoneToDepartmentStoreText
 	end
--- a/engine/phone/scripts/tiffany.asm
+++ b/engine/phone/scripts/tiffany.asm
@@ -13,15 +13,15 @@
 	iftrue TiffanyTuesdayAfternoon
 
 .NotTuesday:
-	farsjump UnknownScript_0xa09a0
+	farsjump TiffanyNoItemScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, ROUTE_43
-	farsjump UnknownScript_0xa0a8c
+	farsjump TiffanyAsleepScript
 
 .HasItem:
 	getlandmarkname STRING_BUFFER_5, ROUTE_43
-	farsjump UnknownScript_0xa0ae5
+	farsjump TiffanyHurryScript
 
 TiffanyPhoneCallerScript:
 	gettrainername STRING_BUFFER_3, PICNICKER, TIFFANY3
--- a/engine/phone/scripts/todd.asm
+++ b/engine/phone/scripts/todd.asm
@@ -13,14 +13,14 @@
 .NotSaturday:
 	checkflag ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON
 	iftrue .SaleOn
-	farsjump UnknownScript_0xa0958
+	farsjump ToddNoItemScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, ROUTE_34
-	farsjump UnknownScript_0xa0a64
+	farsjump ToddForwardScript
 
 .SaleOn:
-	farsjump UnknownScript_0xa0b04
+	farsjump ToddHurryScript
 
 ToddPhoneCallerScript:
 	gettrainername STRING_BUFFER_3, CAMPER, TODD1
@@ -56,4 +56,4 @@
 
 ToddDeptStoreSale:
 	setflag ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON
-	farsjump UnknownScript_0xa0644
+	farsjump ToddItemScript
--- a/engine/phone/scripts/tully.asm
+++ b/engine/phone/scripts/tully.asm
@@ -13,15 +13,15 @@
 	iftrue TullySundayNight
 
 .NotSunday:
-	farsjump UnknownScript_0xa0990
+	farsjump TullyNoItemScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, ROUTE_42
-	farsjump UnknownScript_0xa0a82
+	farsjump TullyForwardScript
 
 .WaterStone:
 	getlandmarkname STRING_BUFFER_5, ROUTE_42
-	farsjump UnknownScript_0xa0add
+	farsjump TullyHurryScript
 
 TullyPhoneCallerScript:
 	gettrainername STRING_BUFFER_3, FISHER, TULLY1
--- a/engine/phone/scripts/vance.asm
+++ b/engine/phone/scripts/vance.asm
@@ -11,11 +11,11 @@
 	iftrue VanceWednesdayNight
 
 .NotWednesday:
-	farsjump VanceLookingForward
+	farsjump VanceLookingForwardScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, ROUTE_44
-	farsjump VanceHurryHurry
+	farsjump VanceHurryHurryScript
 
 VancePhoneCallerScript:
 	gettrainername STRING_BUFFER_3, BIRD_KEEPER, VANCE1
--- a/engine/phone/scripts/wade.asm
+++ b/engine/phone/scripts/wade.asm
@@ -23,7 +23,7 @@
 	ifequal SATURDAY, .ContestToday
 
 .NoContest:
-	farsjump UnknownScript_0xa0938
+	farsjump WadeNoBerriesScript
 
 .ContestToday:
 	farsjump PhoneScript_BugCatchingContest
@@ -30,11 +30,11 @@
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, ROUTE_31
-	farsjump UnknownScript_0xa0a50
+	farsjump WadeQuickBattleScript
 
 .HasItem:
 	getlandmarkname STRING_BUFFER_5, ROUTE_31
-	farsjump UnknownScript_0xa0ab5
+	farsjump WadeComeQuickScript
 
 WadePhoneCallerScript:
 	gettrainername STRING_BUFFER_3, BUG_CATCHER, WADE1
--- a/engine/phone/scripts/wilton.asm
+++ b/engine/phone/scripts/wilton.asm
@@ -13,15 +13,15 @@
 	iftrue WiltonThursdayMorning
 
 .NotThursday:
-	farsjump WiltonHaventFoundAnything
+	farsjump WiltonHaventFoundAnythingScript
 
 .WantsBattle:
 	getlandmarkname STRING_BUFFER_5, ROUTE_44
-	farsjump WiltonNotBiting
+	farsjump WiltonNotBitingScript
 
 .HasItem:
 	getlandmarkname STRING_BUFFER_5, ROUTE_44
-	farsjump WiltonWantThis
+	farsjump WiltonWantThisScript
 
 WiltonPhoneCallerScript:
 	gettrainername STRING_BUFFER_3, FISHER, WILTON1
--- a/engine/pokegear/pokegear.asm
+++ b/engine/pokegear/pokegear.asm
@@ -459,7 +459,7 @@
 
 PokegearClock_Init:
 	call InitPokegearTilemap
-	ld hl, PokegearText_PressAnyButtonToExit
+	ld hl, PokegearPressButtonText
 	call PrintText
 	ld hl, wJumptableIndex
 	inc [hl]
@@ -523,7 +523,7 @@
 	ld c, a
 	decoord 6, 8
 	farcall PrintHoursMins
-	ld hl, .DayText
+	ld hl, .GearTodayText
 	bccoord 6, 6
 	call PlaceHLTextAtBC
 	ret
@@ -531,8 +531,8 @@
 	db "ごぜん@"
 	db "ごご@"
 
-.DayText:
-	text_far UnknownText_0x1c5821
+.GearTodayText:
+	text_far _GearTodayText
 	text_end
 
 PokegearMap_CheckRegion:
@@ -812,7 +812,7 @@
 	ld [wPokegearPhoneSelectedPerson], a
 	call InitPokegearTilemap
 	call ExitPokegearRadio_HandleMusic
-	ld hl, PokegearText_WhomToCall
+	ld hl, PokegearAskWhoCallText
 	call PrintText
 	ret
 
@@ -902,12 +902,12 @@
 	ldh [hInMenu], a
 	ld de, SFX_CALL
 	call PlaySFX
-	ld hl, .dotdotdot
+	ld hl, .GearEllipseText
 	call PrintText
 	call WaitSFX
 	ld de, SFX_CALL
 	call PlaySFX
-	ld hl, .dotdotdot
+	ld hl, .GearEllipseText
 	call PrintText
 	call WaitSFX
 	ld a, [wPokegearPhoneSelectedPerson]
@@ -926,22 +926,20 @@
 
 .no_service
 	farcall Phone_NoSignal
-	ld hl, .OutOfServiceArea
+	ld hl, .GearOutOfServiceText
 	call PrintText
 	ld a, POKEGEARSTATE_PHONEJOYPAD
 	ld [wJumptableIndex], a
-	ld hl, PokegearText_WhomToCall
+	ld hl, PokegearAskWhoCallText
 	call PrintText
 	ret
 
-.dotdotdot
-	;
-	text_far UnknownText_0x1c5824
+.GearEllipseText:
+	text_far _GearEllipseText
 	text_end
 
-.OutOfServiceArea:
-	; You're out of the service area.
-	text_far UnknownText_0x1c5827
+.GearOutOfServiceText:
+	text_far _GearOutOfServiceText
 	text_end
 
 PokegearPhone_FinishPhoneCall:
@@ -951,7 +949,7 @@
 	farcall HangUp
 	ld a, POKEGEARSTATE_PHONEJOYPAD
 	ld [wJumptableIndex], a
-	ld hl, PokegearText_WhomToCall
+	ld hl, PokegearAskWhoCallText
 	call PrintText
 	ret
 
@@ -1206,13 +1204,13 @@
 	jp hl
 
 .Cancel:
-	ld hl, PokegearText_WhomToCall
+	ld hl, PokegearAskWhoCallText
 	call PrintText
 	scf
 	ret
 
 .Delete:
-	ld hl, PokegearText_DeleteStoredNumber
+	ld hl, PokegearAskDeleteText
 	call MenuTextbox
 	call YesNoBox
 	call ExitMenu
@@ -1221,7 +1219,7 @@
 	xor a
 	ldh [hBGMapMode], a
 	call PokegearPhone_UpdateDisplayList
-	ld hl, PokegearText_WhomToCall
+	ld hl, PokegearAskWhoCallText
 	call PrintText
 	call WaitBGMap
 .CancelDelete:
@@ -1311,7 +1309,7 @@
 	cp RESTART_MAP_MUSIC
 	jr z, .restart_map_music
 	cp ENTER_MAP_MUSIC
-	call z, EnterMapMusic
+	call z, PlayMapMusicBike
 	xor a
 	ld [wPokegearRadioMusicPlaying], a
 	ret
@@ -1351,19 +1349,16 @@
 	jr nz, .load
 	jr .loop
 
-PokegearText_WhomToCall:
-	; Whom do you want to call?
-	text_far UnknownText_0x1c5847
+PokegearAskWhoCallText:
+	text_far _PokegearAskWhoCallText
 	text_end
 
-PokegearText_PressAnyButtonToExit:
-	; Press any button to exit.
-	text_far UnknownText_0x1c5862
+PokegearPressButtonText:
+	text_far _PokegearPressButtonText
 	text_end
 
-PokegearText_DeleteStoredNumber:
-	; Delete this stored phone number?
-	text_far UnknownText_0x1c587d
+PokegearAskDeleteText:
+	text_far _PokegearAskDeleteText
 	text_end
 
 PokegearSpritesGFX:
--- a/engine/pokegear/radio.asm
+++ b/engine/pokegear/radio.asm
@@ -304,32 +304,26 @@
 	jp NextRadioLine
 
 OPT_IntroText1:
-	; MARY: PROF.OAK'S
 	text_far _OPT_IntroText1
 	text_end
 
 OPT_IntroText2:
-	; #MON TALK!
 	text_far _OPT_IntroText2
 	text_end
 
 OPT_IntroText3:
-	; With me, MARY!
 	text_far _OPT_IntroText3
 	text_end
 
 OPT_OakText1:
-	; OAK: @ @
 	text_far _OPT_OakText1
 	text_end
 
 OPT_OakText2:
-	; may be seen around
 	text_far _OPT_OakText2
 	text_end
 
 OPT_OakText3:
-	; @ .
 	text_far _OPT_OakText3
 	text_end
 
@@ -342,7 +336,6 @@
 	jp NextRadioLine
 
 OPT_MaryText1:
-	; MARY: @ 's
 	text_far _OPT_MaryText1
 	text_end
 
@@ -364,101 +357,85 @@
 
 .Adverbs:
 ; there are NUM_OAKS_POKEMON_TALK_ADVERBS entries
-	dw .sweetadorably
-	dw .wigglyslickly
-	dw .aptlynamed
-	dw .undeniablykindof
-	dw .unbearably
-	dw .wowimpressively
-	dw .almostpoisonously
-	dw .sensually
-	dw .mischievously
-	dw .topically
-	dw .addictively
-	dw .looksinwater
-	dw .evolutionmustbe
-	dw .provocatively
-	dw .flippedout
-	dw .heartmeltingly
+	dw .OPT_SweetAdorablyText
+	dw .OPT_WigglySlicklyText
+	dw .OPT_AptlyNamedText
+	dw .OPT_UndeniablyKindOfText
+	dw .OPT_UnbearablyText
+	dw .OPT_WowImpressivelyText
+	dw .OPT_AlmostPoisonouslyText
+	dw .OPT_SensuallyText
+	dw .OPT_MischievouslyText
+	dw .OPT_TopicallyText
+	dw .OPT_AddictivelyText
+	dw .OPT_LooksInWaterText
+	dw .OPT_EvolutionMustBeText
+	dw .OPT_ProvocativelyText
+	dw .OPT_FlippedOutText
+	dw .OPT_HeartMeltinglyText
 
-.sweetadorably
-	; sweet and adorably
-	text_far OPT_SweetAdorably
+.OPT_SweetAdorablyText:
+	text_far _OPT_SweetAdorablyText
 	text_end
 
-.wigglyslickly
-	; wiggly and slickly
-	text_far OPT_WigglySlickly
+.OPT_WigglySlicklyText:
+	text_far _OPT_WigglySlicklyText
 	text_end
 
-.aptlynamed
-	; aptly named and
-	text_far OPT_AptlyNamed
+.OPT_AptlyNamedText:
+	text_far _OPT_AptlyNamedText
 	text_end
 
-.undeniablykindof
-	; undeniably kind of
-	text_far OPT_UndeniablyKindOf
+.OPT_UndeniablyKindOfText:
+	text_far _OPT_UndeniablyKindOfText
 	text_end
 
-.unbearably
-	; so, so unbearably
-	text_far OPT_Unbearably
+.OPT_UnbearablyText:
+	text_far _OPT_UnbearablyText
 	text_end
 
-.wowimpressively
-	; wow, impressively
-	text_far OPT_WowImpressively
+.OPT_WowImpressivelyText:
+	text_far _OPT_WowImpressivelyText
 	text_end
 
-.almostpoisonously
-	; almost poisonously
-	text_far OPT_AlmostPoisonously
+.OPT_AlmostPoisonouslyText:
+	text_far _OPT_AlmostPoisonouslyText
 	text_end
 
-.sensually
-	; ooh, so sensually
-	text_far OPT_Sensually
+.OPT_SensuallyText:
+	text_far _OPT_SensuallyText
 	text_end
 
-.mischievously
-	; so mischievously
-	text_far OPT_Mischievously
+.OPT_MischievouslyText:
+	text_far _OPT_MischievouslyText
 	text_end
 
-.topically
-	; so very topically
-	text_far OPT_Topically
+.OPT_TopicallyText:
+	text_far _OPT_TopicallyText
 	text_end
 
-.addictively
-	; sure addictively
-	text_far OPT_Addictively
+.OPT_AddictivelyText:
+	text_far _OPT_AddictivelyText
 	text_end
 
-.looksinwater
-	; looks in water is
-	text_far OPT_LooksInWater
+.OPT_LooksInWaterText:
+	text_far _OPT_LooksInWaterText
 	text_end
 
-.evolutionmustbe
-	; evolution must be
-	text_far OPT_EvolutionMustBe
+.OPT_EvolutionMustBeText:
+	text_far _OPT_EvolutionMustBeText
 	text_end
 
-.provocatively
-	; provocatively
-	text_far OPT_Provocatively
+.OPT_ProvocativelyText:
+	text_far _OPT_ProvocativelyText
 	text_end
 
-.flippedout
-	; so flipped out and
-	text_far OPT_FlippedOut
+.OPT_FlippedOutText:
+	text_far _OPT_FlippedOutText
 	text_end
 
-.heartmeltingly
-	; heart-meltingly
-	text_far OPT_HeartMeltingly
+.OPT_HeartMeltinglyText:
+	text_far _OPT_HeartMeltinglyText
 	text_end
 
 OaksPKMNTalk9:
@@ -487,101 +464,85 @@
 
 .Adjectives:
 ; there are NUM_OAKS_POKEMON_TALK_ADJECTIVES entries
-	dw .cute
-	dw .weird
-	dw .pleasant
-	dw .boldsortof
-	dw .frightening
-	dw .suavedebonair
-	dw .powerful
-	dw .exciting
-	dw .groovy
-	dw .inspiring
-	dw .friendly
-	dw .hothothot
-	dw .stimulating
-	dw .guarded
-	dw .lovely
-	dw .speedy
+	dw .OPT_CuteText
+	dw .OPT_WeirdText
+	dw .OPT_PleasantText
+	dw .OPT_BoldSortOfText
+	dw .OPT_FrighteningText
+	dw .OPT_SuaveDebonairText
+	dw .OPT_PowerfulText
+	dw .OPT_ExcitingText
+	dw .OPT_GroovyText
+	dw .OPT_InspiringText
+	dw .OPT_FriendlyText
+	dw .OPT_HotHotHotText
+	dw .OPT_StimulatingText
+	dw .OPT_GuardedText
+	dw .OPT_LovelyText
+	dw .OPT_SpeedyText
 
-.cute
-	; cute.
-	text_far OPT_Cute
+.OPT_CuteText:
+	text_far _OPT_CuteText
 	text_end
 
-.weird
-	; weird.
-	text_far OPT_Weird
+.OPT_WeirdText:
+	text_far _OPT_WeirdText
 	text_end
 
-.pleasant
-	; pleasant.
-	text_far OPT_Pleasant
+.OPT_PleasantText:
+	text_far _OPT_PleasantText
 	text_end
 
-.boldsortof
-	; bold, sort of.
-	text_far OPT_BoldSortOf
+.OPT_BoldSortOfText:
+	text_far _OPT_BoldSortOfText
 	text_end
 
-.frightening
-	; frightening.
-	text_far OPT_Frightening
+.OPT_FrighteningText:
+	text_far _OPT_FrighteningText
 	text_end
 
-.suavedebonair
-	; suave & debonair!
-	text_far OPT_SuaveDebonair
+.OPT_SuaveDebonairText:
+	text_far _OPT_SuaveDebonairText
 	text_end
 
-.powerful
-	; powerful.
-	text_far OPT_Powerful
+.OPT_PowerfulText:
+	text_far _OPT_PowerfulText
 	text_end
 
-.exciting
-	; exciting.
-	text_far OPT_Exciting
+.OPT_ExcitingText:
+	text_far _OPT_ExcitingText
 	text_end
 
-.groovy
-	; groovy!
-	text_far OPT_Groovy
+.OPT_GroovyText:
+	text_far _OPT_GroovyText
 	text_end
 
-.inspiring
-	; inspiring.
-	text_far OPT_Inspiring
+.OPT_InspiringText:
+	text_far _OPT_InspiringText
 	text_end
 
-.friendly
-	; friendly.
-	text_far OPT_Friendly
+.OPT_FriendlyText:
+	text_far _OPT_FriendlyText
 	text_end
 
-.hothothot
-	; hot, hot, hot!
-	text_far OPT_HotHotHot
+.OPT_HotHotHotText:
+	text_far _OPT_HotHotHotText
 	text_end
 
-.stimulating
-	; stimulating.
-	text_far OPT_Stimulating
+.OPT_StimulatingText:
+	text_far _OPT_StimulatingText
 	text_end
 
-.guarded
-	; guarded.
-	text_far OPT_Guarded
+.OPT_GuardedText:
+	text_far _OPT_GuardedText
 	text_end
 
-.lovely
-	; lovely.
-	text_far OPT_Lovely
+.OPT_LovelyText:
+	text_far _OPT_LovelyText
 	text_end
 
-.speedy
-	; speedy.
-	text_far OPT_Speedy
+.OPT_SpeedyText:
+	text_far _OPT_SpeedyText
 	text_end
 
 OaksPKMNTalk10:
@@ -598,7 +559,6 @@
 	ret
 
 OPT_PokemonChannelText:
-	; #MON
 	text_far _OPT_PokemonChannelText
 	text_end
 
@@ -848,7 +808,6 @@
 	ret
 
 PokedexShowText:
-	; @ @
 	text_far _PokedexShowText
 	text_end
 
@@ -875,7 +834,7 @@
 	jp NextRadioLine
 
 FernMonMusic2:
-	ld hl, FernIntroMusic2
+	ld hl, FernIntroText2
 	ld a, POKEMON_MUSIC_4
 	jp NextRadioLine
 
@@ -920,52 +879,42 @@
 	ret
 
 BenIntroText1:
-	; BEN: #MON MUSIC
 	text_far _BenIntroText1
 	text_end
 
 BenIntroText2:
-	; CHANNEL!
 	text_far _BenIntroText2
 	text_end
 
 BenIntroText3:
-	; It's me, DJ BEN!
 	text_far _BenIntroText3
 	text_end
 
 FernIntroText1:
-	; FERN: #MUSIC!
 	text_far _FernIntroText1
 	text_end
 
-FernIntroMusic2:
-	; With DJ FERN!
+FernIntroText2:
 	text_far _FernIntroText2
 	text_end
 
 BenFernText1:
-	; Today's @ ,
 	text_far _BenFernText1
 	text_end
 
 BenFernText2A:
-	; so let us jam to
 	text_far _BenFernText2A
 	text_end
 
 BenFernText2B:
-	; so chill out to
 	text_far _BenFernText2B
 	text_end
 
 BenFernText3A:
-	; #MON March!
 	text_far _BenFernText3A
 	text_end
 
 BenFernText3B:
-	; #MON Lullaby!
 	text_far _BenFernText3B
 	text_end
 
@@ -1061,67 +1010,54 @@
 	jp NextRadioLine
 
 LC_Text1:
-	; REED: Yeehaw! How
 	text_far _LC_Text1
 	text_end
 
 LC_Text2:
-	; y'all doin' now?
 	text_far _LC_Text2
 	text_end
 
 LC_Text3:
-	; Whether you're up
 	text_far _LC_Text3
 	text_end
 
 LC_Text4:
-	; or way down low,
 	text_far _LC_Text4
 	text_end
 
 LC_Text5:
-	; don't you miss the
 	text_far _LC_Text5
 	text_end
 
 LC_Text6:
-	; LUCKY NUMBER SHOW!
 	text_far _LC_Text6
 	text_end
 
 LC_Text7:
-	; This week's Lucky
 	text_far _LC_Text7
 	text_end
 
 LC_Text8:
-	; Number is @ !
 	text_far _LC_Text8
 	text_end
 
 LC_Text9:
-	; I'll repeat that!
 	text_far _LC_Text9
 	text_end
 
 LC_Text10:
-	; Match it and go to
 	text_far _LC_Text10
 	text_end
 
 LC_Text11:
-	; the RADIO TOWER!
 	text_far _LC_Text11
 	text_end
 
 LC_DragText1:
-	; …Repeating myself
 	text_far _LC_DragText1
 	text_end
 
 LC_DragText2:
-	; gets to be a drag…
 	text_far _LC_DragText2
 	text_end
 
@@ -1147,17 +1083,14 @@
 	jp NextRadioLine
 
 PnP_Text1:
-	; PLACES AND PEOPLE!
 	text_far _PnP_Text1
 	text_end
 
 PnP_Text2:
-	; Brought to you by
 	text_far _PnP_Text2
 	text_end
 
 PnP_Text3:
-	; me, DJ LILY!
 	text_far _PnP_Text3
 	text_end
 
@@ -1199,7 +1132,6 @@
 INCLUDE "data/radio/pnp_hidden_people.asm"
 
 PnP_Text4:
-	; @  @ @
 	text_far _PnP_Text4
 	text_end
 
@@ -1230,101 +1162,85 @@
 
 .Adjectives:
 ; there are NUM_PNP_PEOPLE_ADJECTIVES entries
-	dw PnP_cute
-	dw PnP_lazy
-	dw PnP_happy
-	dw PnP_noisy
-	dw PnP_precocious
-	dw PnP_bold
-	dw PnP_picky
-	dw PnP_sortofok
-	dw PnP_soso
-	dw PnP_great
-	dw PnP_mytype
-	dw PnP_cool
-	dw PnP_inspiring
-	dw PnP_weird
-	dw PnP_rightforme
-	dw PnP_odd
+	dw PnP_CuteText
+	dw PnP_LazyText
+	dw PnP_HappyText
+	dw PnP_NoisyText
+	dw PnP_PrecociousText
+	dw PnP_BoldText
+	dw PnP_PickyText
+	dw PnP_SortOfOKText
+	dw PnP_SoSoText
+	dw PnP_GreatText
+	dw PnP_MyTypeText
+	dw PnP_CoolText
+	dw PnP_InspiringText
+	dw PnP_WeirdText
+	dw PnP_RightForMeText
+	dw PnP_OddText
 
-PnP_cute:
-	; is cute.
-	text_far _PnP_cute
+PnP_CuteText:
+	text_far _PnP_CuteText
 	text_end
 
-PnP_lazy:
-	; is sort of lazy.
-	text_far _PnP_lazy
+PnP_LazyText:
+	text_far _PnP_LazyText
 	text_end
 
-PnP_happy:
-	; is always happy.
-	text_far _PnP_happy
+PnP_HappyText:
+	text_far _PnP_HappyText
 	text_end
 
-PnP_noisy:
-	; is quite noisy.
-	text_far _PnP_noisy
+PnP_NoisyText:
+	text_far _PnP_NoisyText
 	text_end
 
-PnP_precocious:
-	; is precocious.
-	text_far _PnP_precocious
+PnP_PrecociousText:
+	text_far _PnP_PrecociousText
 	text_end
 
-PnP_bold:
-	; is somewhat bold.
-	text_far _PnP_bold
+PnP_BoldText:
+	text_far _PnP_BoldText
 	text_end
 
-PnP_picky:
-	; is too picky!
-	text_far _PnP_picky
+PnP_PickyText:
+	text_far _PnP_PickyText
 	text_end
 
-PnP_sortofok:
-	; is sort of OK.
-	text_far _PnP_sortofok
+PnP_SortOfOKText:
+	text_far _PnP_SortOfOKText
 	text_end
 
-PnP_soso:
-	; is just so-so.
-	text_far _PnP_soso
+PnP_SoSoText:
+	text_far _PnP_SoSoText
 	text_end
 
-PnP_great:
-	; is actually great.
-	text_far _PnP_great
+PnP_GreatText:
+	text_far _PnP_GreatText
 	text_end
 
-PnP_mytype:
-	; is just my type.
-	text_far _PnP_mytype
+PnP_MyTypeText:
+	text_far _PnP_MyTypeText
 	text_end
 
-PnP_cool:
-	; is so cool, no?
-	text_far _PnP_cool
+PnP_CoolText:
+	text_far _PnP_CoolText
 	text_end
 
-PnP_inspiring:
-	; is inspiring!
-	text_far _PnP_inspiring
+PnP_InspiringText:
+	text_far _PnP_InspiringText
 	text_end
 
-PnP_weird:
-	; is kind of weird.
-	text_far _PnP_weird
+PnP_WeirdText:
+	text_far _PnP_WeirdText
 	text_end
 
-PnP_rightforme:
-	; is right for me?
-	text_far _PnP_rightforme
+PnP_RightForMeText:
+	text_far _PnP_RightForMeText
 	text_end
 
-PnP_odd:
-	; is definitely odd!
-	text_far _PnP_odd
+PnP_OddText:
+	text_far _PnP_OddText
 	text_end
 
 PeoplePlaces6: ; Places
@@ -1349,7 +1265,6 @@
 INCLUDE "data/radio/pnp_hidden_places.asm"
 
 PnP_Text5:
-	; @ @
 	text_far _PnP_Text5
 	text_end
 
@@ -1381,22 +1296,22 @@
 
 .Adjectives:
 ; there are NUM_PNP_PLACES_ADJECTIVES entries
-	dw PnP_cute
-	dw PnP_lazy
-	dw PnP_happy
-	dw PnP_noisy
-	dw PnP_precocious
-	dw PnP_bold
-	dw PnP_picky
-	dw PnP_sortofok
-	dw PnP_soso
-	dw PnP_great
-	dw PnP_mytype
-	dw PnP_cool
-	dw PnP_inspiring
-	dw PnP_weird
-	dw PnP_rightforme
-	dw PnP_odd
+	dw PnP_CuteText
+	dw PnP_LazyText
+	dw PnP_HappyText
+	dw PnP_NoisyText
+	dw PnP_PrecociousText
+	dw PnP_BoldText
+	dw PnP_PickyText
+	dw PnP_SortOfOKText
+	dw PnP_SoSoText
+	dw PnP_GreatText
+	dw PnP_MyTypeText
+	dw PnP_CoolText
+	dw PnP_InspiringText
+	dw PnP_WeirdText
+	dw PnP_RightForMeText
+	dw PnP_OddText
 
 RocketRadio1:
 	call StartRadioStation
@@ -1450,52 +1365,42 @@
 	jp NextRadioLine
 
 RocketRadioText1:
-	; … …Ahem, we are
 	text_far _RocketRadioText1
 	text_end
 
 RocketRadioText2:
-	; TEAM ROCKET!
 	text_far _RocketRadioText2
 	text_end
 
 RocketRadioText3:
-	; After three years
 	text_far _RocketRadioText3
 	text_end
 
 RocketRadioText4:
-	; of preparation, we
 	text_far _RocketRadioText4
 	text_end
 
 RocketRadioText5:
-	; have risen again
 	text_far _RocketRadioText5
 	text_end
 
 RocketRadioText6:
-	; from the ashes!
 	text_far _RocketRadioText6
 	text_end
 
 RocketRadioText7:
-	; GIOVANNI! @ Can you
 	text_far _RocketRadioText7
 	text_end
 
 RocketRadioText8:
-	; hear?@  We did it!
 	text_far _RocketRadioText8
 	text_end
 
 RocketRadioText9:
-	; @ Where is our boss?
 	text_far _RocketRadioText9
 	text_end
 
 RocketRadioText10:
-	; @ Is he listening?
 	text_far _RocketRadioText10
 	text_end
 
@@ -1807,92 +1712,74 @@
 	db "BUENA'S PASSWORD@"
 
 BuenaRadioText1:
-	; BUENA: BUENA here!
 	text_far _BuenaRadioText1
 	text_end
 
 BuenaRadioText2:
-	; Today's password!
 	text_far _BuenaRadioText2
 	text_end
 
 BuenaRadioText3:
-	; Let me think… It's
 	text_far _BuenaRadioText3
 	text_end
 
 BuenaRadioText4:
-	; @ !
 	text_far _BuenaRadioText4
 	text_end
 
 BuenaRadioText5:
-	; Don't forget it!
 	text_far _BuenaRadioText5
 	text_end
 
 BuenaRadioText6:
-	; I'm in GOLDENROD's
 	text_far _BuenaRadioText6
 	text_end
 
 BuenaRadioText7:
-	; RADIO TOWER!
 	text_far _BuenaRadioText7
 	text_end
 
 BuenaRadioMidnightText1:
-	; BUENA: Oh my…
 	text_far _BuenaRadioMidnightText1
 	text_end
 
 BuenaRadioMidnightText2:
-	; It's midnight! I
 	text_far _BuenaRadioMidnightText2
 	text_end
 
 BuenaRadioMidnightText3:
-	; have to shut down!
 	text_far _BuenaRadioMidnightText3
 	text_end
 
 BuenaRadioMidnightText4:
-	; Thanks for tuning
 	text_far _BuenaRadioMidnightText4
 	text_end
 
 BuenaRadioMidnightText5:
-	; in to the end! But
 	text_far _BuenaRadioMidnightText5
 	text_end
 
 BuenaRadioMidnightText6:
-	; don't stay up too
 	text_far _BuenaRadioMidnightText6
 	text_end
 
 BuenaRadioMidnightText7:
-	; late! Presented to
 	text_far _BuenaRadioMidnightText7
 	text_end
 
 BuenaRadioMidnightText8:
-	; you by DJ BUENA!
 	text_far _BuenaRadioMidnightText8
 	text_end
 
 BuenaRadioMidnightText9:
-	; I'm outta here!
 	text_far _BuenaRadioMidnightText9
 	text_end
 
 BuenaRadioMidnightText10:
-	; …
 	text_far _BuenaRadioMidnightText10
 	text_end
 
 BuenaOffTheAirText:
-	;
 	text_far _BuenaOffTheAirText
 	text_end
 
--- a/engine/pokemon/bills_pc_top.asm
+++ b/engine/pokemon/bills_pc_top.asm
@@ -9,14 +9,13 @@
 	ld a, [wPartyCount]
 	and a
 	ret nz
-	ld hl, .Text_GottaHavePokemon
+	ld hl, .PCGottaHavePokemonText
 	call MenuTextboxBackup
 	scf
 	ret
 
-.Text_GottaHavePokemon:
-	; You gotta have #MON to call!
-	text_far UnknownText_0x1c1006
+.PCGottaHavePokemonText:
+	text_far _PCGottaHavePokemonText
 	text_end
 
 .LogIn:
@@ -28,7 +27,7 @@
 	ld a, [hl]
 	push af
 	set NO_TEXT_SCROLL, [hl]
-	ld hl, .Text_What
+	ld hl, .PCWhatText
 	call PrintText
 	pop af
 	ld [wOptions], a
@@ -35,9 +34,8 @@
 	call LoadFontsBattleExtra
 	ret
 
-.Text_What:
-	; What?
-	text_far UnknownText_0x1c1024
+.PCWhatText:
+	text_far _PCWhatText
 	text_end
 
 .LogOut:
@@ -112,7 +110,7 @@
 	call LoadStandardMenuHeader
 	farcall IsAnyMonHoldingMail
 	jr nc, .no_mail
-	ld hl, .Text_MonHoldingMail
+	ld hl, .PCMonHoldingMailText
 	call PrintText
 	jr .quit
 
@@ -128,9 +126,8 @@
 	and a
 	ret
 
-.Text_MonHoldingMail:
-	; There is a #MON holding MAIL. Please remove the MAIL.
-	text_far UnknownText_0x1c102b
+.PCMonHoldingMailText:
+	text_far _PCMonHoldingMailText
 	text_end
 
 BillsPC_DepositMenu:
@@ -152,25 +149,23 @@
 	ret
 
 .no_mon
-	ld hl, .Text_NoMon
+	ld hl, .PCNoSingleMonText
 	call MenuTextboxBackup
 	scf
 	ret
 
 .only_one_mon
-	ld hl, .Text_ItsYourLastMon
+	ld hl, .PCCantDepositLastMonText
 	call MenuTextboxBackup
 	scf
 	ret
 
-.Text_NoMon:
-	; You don't have a single #MON!
-	text_far UnknownText_0x1c1062
+.PCNoSingleMonText:
+	text_far _PCNoSingleMonText
 	text_end
 
-.Text_ItsYourLastMon:
-	; You can't deposit your last #MON!
-	text_far UnknownText_0x1c1080
+.PCCantDepositLastMonText:
+	text_far _PCCantDepositLastMonText
 	text_end
 
 CheckCurPartyMonFainted:
@@ -219,14 +214,13 @@
 	ret
 
 .asm_e576
-	ld hl, UnknownText_0xe57e
+	ld hl, PCCantTakeText
 	call MenuTextboxBackup
 	scf
 	ret
 
-UnknownText_0xe57e:
-	; You can't take any more #MON.
-	text_far UnknownText_0x1c10a2
+PCCantTakeText:
+	text_far _PCCantTakeText
 	text_end
 
 BillsPC_ChangeBoxMenu:
@@ -267,7 +261,7 @@
 	call CloseSRAM
 	ret
 
-Unreferenced_Functione5d9:
+Unreferenced_LoadBoxMonListing:
 	ld a, [wCurBox]
 	cp b
 	jr z, .same_box
@@ -290,11 +284,11 @@
 .okay
 	call GetSRAMBank
 	ld a, [hl]
-	ld bc, 1 + MONS_PER_BOX + 1
+	ld bc, sBoxMons - sBox
 	add hl, bc
 	ld b, a
 	ld c, $0
-	ld de, wc608
+	ld de, wBoxPartialData
 	ld a, b
 	and a
 	jr z, .empty_box
@@ -302,7 +296,7 @@
 	push hl
 	push bc
 	ld a, c
-	ld bc, 0
+	ld bc, sBoxMon1Species - sBoxMons
 	add hl, bc
 	ld bc, BOXMON_STRUCT_LENGTH
 	call AddNTimes
@@ -317,7 +311,7 @@
 	push hl
 	push bc
 	ld a, c
-	ld bc, MONS_PER_BOX * (BOXMON_STRUCT_LENGTH + NAME_LENGTH)
+	ld bc, sBoxMonNicknames - sBoxMons
 	add hl, bc
 	call SkipNames
 	call CopyBytes
--- a/engine/pokemon/breeding.asm
+++ b/engine/pokemon/breeding.asm
@@ -319,7 +319,7 @@
 	ld d, h
 	ld e, l
 	push de
-	ld hl, .Text_NicknameHatchling
+	ld hl, .BreedAskNicknameText
 	call PrintText
 	call YesNoBox
 	pop de
@@ -356,7 +356,7 @@
 
 .Text_HatchEgg:
 	; Huh? @ @
-	text_far UnknownText_0x1c0db0
+	text_far Text_BreedHuh
 	text_asm
 	ld hl, wVramState
 	res 0, [hl]
@@ -366,7 +366,7 @@
 	ld a, [wCurPartySpecies]
 	push af
 	call EggHatch_AnimationSequence
-	ld hl, .ClearTextbox
+	ld hl, .BreedClearboxText
 	call PrintText
 	pop af
 	ld [wCurPartySpecies], a
@@ -373,22 +373,19 @@
 	pop bc
 	pop de
 	pop hl
-	ld hl, .CameOutOfItsEgg
+	ld hl, .BreedEggHatchText
 	ret
 
-.ClearTextbox:
-	;
-	text_far UnknownText_0x1c0db8
+.BreedClearboxText:
+	text_far _BreedClearboxText
 	text_end
 
-.CameOutOfItsEgg:
-	; came out of its EGG!@ @
-	text_far UnknownText_0x1c0dba
+.BreedEggHatchText:
+	text_far _BreedEggHatchText
 	text_end
 
-.Text_NicknameHatchling:
-	; Give a nickname to @ ?
-	text_far UnknownText_0x1c0dd8
+.BreedAskNicknameText:
+	text_far _BreedAskNicknameText
 	text_end
 
 InitEggMoves:
@@ -865,7 +862,7 @@
 	ret
 
 DayCareMon1:
-	ld hl, DayCareMon1Text
+	ld hl, LeftWithDayCareManText
 	call PrintText
 	ld a, [wBreedMon1Species]
 	call PlayMonCry
@@ -872,13 +869,13 @@
 	ld a, [wDayCareLady]
 	bit DAYCARELADY_HAS_MON_F, a
 	jr z, DayCareMonCursor
-	call ButtonSound
+	call PromptButton
 	ld hl, wBreedMon2Nick
 	call DayCareMonCompatibilityText
 	jp PrintText
 
 DayCareMon2:
-	ld hl, DayCareMon2Text
+	ld hl, LeftWithDayCareLadyText
 	call PrintText
 	ld a, [wBreedMon2Species]
 	call PlayMonCry
@@ -885,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
@@ -893,14 +890,12 @@
 DayCareMonCursor:
 	jp WaitPressAorB_BlinkCursor
 
-DayCareMon2Text:
-	; It's @ that was left with the DAY-CARE LADY.
-	text_far UnknownText_0x1c0df3
+LeftWithDayCareLadyText:
+	text_far _LeftWithDayCareLadyText
 	text_end
 
-DayCareMon1Text:
-	; It's @ that was left with the DAY-CARE MAN.
-	text_far UnknownText_0x1c0e24
+LeftWithDayCareManText:
+	text_far _LeftWithDayCareManText
 	text_end
 
 DayCareMonCompatibilityText:
@@ -911,46 +906,41 @@
 	call CheckBreedmonCompatibility
 	pop bc
 	ld a, [wBreedingCompatibility]
-	ld hl, .AllAlone
+	ld hl, .BreedBrimmingWithEnergyText
 	cp -1
 	jr z, .done
-	ld hl, .Incompatible
+	ld hl, .BreedNoInterestText
 	and a
 	jr z, .done
-	ld hl, .HighCompatibility
+	ld hl, .BreedAppearsToCareForText
 	cp 230
 	jr nc, .done
 	cp 70
-	ld hl, .ModerateCompatibility
+	ld hl, .BreedFriendlyText
 	jr nc, .done
-	ld hl, .SlightCompatibility
+	ld hl, .BreedShowsInterestText
 
 .done
 	ret
 
-.AllAlone:
-	; It's brimming with energy.
-	text_far UnknownText_0x1c0e54
+.BreedBrimmingWithEnergyText:
+	text_far _BreedBrimmingWithEnergyText
 	text_end
 
-.Incompatible:
-	; It has no interest in @ .
-	text_far UnknownText_0x1c0e6f
+.BreedNoInterestText:
+	text_far _BreedNoInterestText
 	text_end
 
-.HighCompatibility:
-	; It appears to care for @ .
-	text_far UnknownText_0x1c0e8d
+.BreedAppearsToCareForText:
+	text_far _BreedAppearsToCareForText
 	text_end
 
-.ModerateCompatibility:
-	; It's friendly with @ .
-	text_far UnknownText_0x1c0eac
+.BreedFriendlyText:
+	text_far _BreedFriendlyText
 	text_end
 
-.SlightCompatibility:
-	; It shows interest in @ .
-	text_far UnknownText_0x1c0ec6
+.BreedShowsInterestText:
+	text_far _BreedShowsInterestText
 	text_end
 
 Unreferenced_DayCareMonPrintEmptyString:
--- a/engine/pokemon/caught_data.asm
+++ b/engine/pokemon/caught_data.asm
@@ -152,13 +152,12 @@
 	ret
 
 GiveANickname_YesNo:
-	ld hl, TextJump_GiveANickname
+	ld hl, CaughtAskNicknameText
 	call PrintText
 	jp YesNoBox
 
-TextJump_GiveANickname:
-	; Give a nickname to the @  you received?
-	text_far UnknownText_0x1c12fc
+CaughtAskNicknameText:
+	text_far _CaughtAskNicknameText
 	text_end
 
 SetCaughtData:
--- 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/evolve.asm
+++ b/engine/pokemon/evolve.asm
@@ -204,7 +204,7 @@
 	ld hl, wPartyMonNicknames
 	call GetNick
 	call CopyName1
-	ld hl, Text_WhatEvolving
+	ld hl, EvolvingText
 	call PrintText
 
 	ld c, 50
@@ -227,7 +227,7 @@
 	pop af
 	jp c, CancelEvolution
 
-	ld hl, Text_CongratulationsYourPokemon
+	ld hl, CongratulationsYourPokemonText
 	call PrintText
 
 	pop hl
@@ -240,7 +240,7 @@
 	call GetPokemonName
 
 	push hl
-	ld hl, Text_EvolvedIntoPKMN
+	ld hl, EvolvedIntoText
 	call PrintTextboxText
 	farcall StubbedTrainerRankings_MonsEvolved
 
@@ -377,7 +377,7 @@
 	jp CopyBytes
 
 CancelEvolution:
-	ld hl, Text_StoppedEvolving
+	ld hl, StoppedEvolvingText
 	call PrintText
 	call ClearTileMap
 	pop hl
@@ -394,24 +394,20 @@
 	pop hl
 	ret
 
-Text_CongratulationsYourPokemon:
-	; Congratulations! Your @ @
-	text_far UnknownText_0x1c4b92
+CongratulationsYourPokemonText:
+	text_far _CongratulationsYourPokemonText
 	text_end
 
-Text_EvolvedIntoPKMN:
-	; evolved into @ !
-	text_far UnknownText_0x1c4baf
+EvolvedIntoText:
+	text_far _EvolvedIntoText
 	text_end
 
-Text_StoppedEvolving:
-	; Huh? @ stopped evolving!
-	text_far UnknownText_0x1c4bc5
+StoppedEvolvingText:
+	text_far _StoppedEvolvingText
 	text_end
 
-Text_WhatEvolving:
-	; What? @ is evolving!
-	text_far UnknownText_0x1c4be3
+EvolvingText:
+	text_far _EvolvingText
 	text_end
 
 LearnLevelMoves:
--- a/engine/pokemon/knows_move.asm
+++ b/engine/pokemon/knows_move.asm
@@ -14,12 +14,11 @@
 	ret
 
 .knows_move
-	ld hl, .Text_knows
+	ld hl, .KnowsMoveText
 	call PrintText
 	scf
 	ret
 
-.Text_knows:
-	; knows @ .
-	text_far UnknownText_0x1c5ea8
+.KnowsMoveText:
+	text_far _KnowsMoveText
 	text_end
--- a/engine/pokemon/learn.asm
+++ b/engine/pokemon/learn.asm
@@ -102,18 +102,18 @@
 	jp .learned
 
 .cancel
-	ld hl, Text_StopLearning ; Stop learning <MOVE>?
+	ld hl, StopLearningMoveText
 	call PrintText
 	call YesNoBox
 	jp c, .loop
 
-	ld hl, Text_DidNotLearn ; <MON> did not learn <MOVE>.
+	ld hl, DidNotLearnMoveText
 	call PrintText
 	ld b, 0
 	ret
 
 .learned
-	ld hl, Text_LearnedMove ; <MON> learned <MOVE>!
+	ld hl, LearnedMoveText
 	call PrintText
 	ld b, 1
 	ret
@@ -120,7 +120,7 @@
 
 ForgetMove:
 	push hl
-	ld hl, Text_TryingToLearn
+	ld hl, AskForgetMoveText
 	call PrintText
 	call YesNoBox
 	pop hl
@@ -134,7 +134,7 @@
 	pop hl
 .loop
 	push hl
-	ld hl, Text_ForgetWhich
+	ld hl, MoveAskForgetText
 	call PrintText
 	hlcoord 5, 2
 	ld b, NUM_MOVES * 2
@@ -191,7 +191,7 @@
 	ret
 
 .hmmove
-	ld hl, Text_CantForgetHM
+	ld hl, MoveCantForgetHMText
 	call PrintText
 	pop hl
 	jr .loop
@@ -200,48 +200,40 @@
 	scf
 	ret
 
-Text_LearnedMove:
-; <MON> learned <MOVE>!
-	text_far UnknownText_0x1c5660
+LearnedMoveText:
+	text_far _LearnedMoveText
 	text_end
 
-Text_ForgetWhich:
-; Which move should be forgotten?
-	text_far UnknownText_0x1c5678
+MoveAskForgetText:
+	text_far _MoveAskForgetText
 	text_end
 
-Text_StopLearning:
-; Stop learning <MOVE>?
-	text_far UnknownText_0x1c5699
+StopLearningMoveText:
+	text_far _StopLearningMoveText
 	text_end
 
-Text_DidNotLearn:
-; <MON> did not learn <MOVE>.
-	text_far UnknownText_0x1c56af
+DidNotLearnMoveText:
+	text_far _DidNotLearnMoveText
 	text_end
 
-Text_TryingToLearn:
-; <MON> is trying to learn <MOVE>. But <MON> can't learn more than
-; four moves. Delete an older move to make room for <MOVE>?
-	text_far UnknownText_0x1c56c9
+AskForgetMoveText:
+	text_far _AskForgetMoveText
 	text_end
 
 Text_1_2_and_Poof:
-	text_far UnknownText_0x1c5740 ; 1, 2 and…
+	text_far Text_MoveForgetCount ; 1, 2 and…
 	text_asm
 	push de
 	ld de, SFX_SWITCH_POKEMON
 	call PlaySFX
 	pop de
-	ld hl, .PoofForgot
+	ld hl, .MoveForgotText
 	ret
 
-.PoofForgot:
-; Poof! <MON> forgot <MOVE>. And…
-	text_far UnknownText_0x1c574e
+.MoveForgotText:
+	text_far _MoveForgotText
 	text_end
 
-Text_CantForgetHM:
-; HM moves can't be forgotten now.
-	text_far UnknownText_0x1c5772
+MoveCantForgetHMText:
+	text_far _MoveCantForgetHMText
 	text_end
--- a/engine/pokemon/mail.asm
+++ b/engine/pokemon/mail.asm
@@ -428,7 +428,7 @@
 	jp CloseSubmenu
 
 .PutInPack:
-	ld hl, .MessageLostText
+	ld hl, .MailMessageLostText
 	call MenuTextbox
 	call YesNoBox
 	call ExitMenu
@@ -441,7 +441,7 @@
 	ld hl, wNumItems
 	call ReceiveItem
 	jr c, .put_in_bag
-	ld hl, .PackFullText
+	ld hl, .MailPackFullText
 	jp MenuTextboxBackup
 
 .put_in_bag
@@ -449,19 +449,19 @@
 	dec a
 	ld b, a
 	call DeleteMailFromPC
-	ld hl, .PutAwayText
+	ld hl, .MailClearedPutAwayText
 	jp MenuTextboxBackup
 
-.PutAwayText:
-	text_far ClearedMailPutAwayText
+.MailClearedPutAwayText:
+	text_far _MailClearedPutAwayText
 	text_end
 
-.PackFullText:
-	text_far MailPackFullText
+.MailPackFullText:
+	text_far _MailPackFullText
 	text_end
 
-.MessageLostText:
-	text_far MailMessageLostText
+.MailMessageLostText:
+	text_far _MailMessageLostText
 	text_end
 
 .GetMailType:
@@ -500,12 +500,12 @@
 	ld a, [hl]
 	and a
 	jr z, .attach_mail
-	ld hl, .HoldingMailText
+	ld hl, .MailAlreadyHoldingItemText
 	call PrintText
 	jr .try_again
 
 .egg
-	ld hl, .EggText
+	ld hl, .MailEggText
 	call PrintText
 	jr .try_again
 
@@ -514,22 +514,22 @@
 	dec a
 	ld b, a
 	call MoveMailFromPCToParty
-	ld hl, .MailMovedText
+	ld hl, .MailMovedFromBoxText
 	call PrintText
 
 .exit2
 	jp CloseSubmenu
 
-.HoldingMailText:
-	text_far MailAlreadyHoldingItemText
+.MailAlreadyHoldingItemText:
+	text_far _MailAlreadyHoldingItemText
 	text_end
 
-.EggText:
-	text_far MailEggText
+.MailEggText:
+	text_far _MailEggText
 	text_end
 
-.MailMovedText:
-	text_far MailMovedFromBoxText
+.MailMovedFromBoxText:
+	text_far _MailMovedFromBoxText
 	text_end
 
 .Cancel:
--- a/engine/pokemon/mon_menu.asm
+++ b/engine/pokemon/mon_menu.asm
@@ -29,7 +29,7 @@
 	ld a, [wItemAttributeParamBuffer]
 	and a
 	jr nz, .key_item
-	ld hl, .TossHowMany
+	ld hl, .ItemsTossOutHowManyText
 	call MenuTextbox
 	farcall SelectQuantityToToss
 	push af
@@ -37,7 +37,7 @@
 	call ExitMenu
 	pop af
 	jr c, .quit
-	ld hl, .ConfirmToss
+	ld hl, .ItemsThrowAwayText
 	call MenuTextbox
 	call YesNoBox
 	push af
@@ -48,7 +48,7 @@
 	ld a, [wCurItemQuantity]
 	call TossItem
 	call PartyMonItemName
-	ld hl, .TossedThisMany
+	ld hl, .ItemsDiscardedText
 	call MenuTextbox
 	call ExitMenu
 	and a
@@ -61,38 +61,34 @@
 	scf
 	ret
 
-.TossHowMany:
-	; Toss out how many @ (S)?
-	text_far UnknownText_0x1c1a90
+.ItemsTossOutHowManyText:
+	text_far _ItemsTossOutHowManyText
 	text_end
 
-.ConfirmToss:
-	; Throw away @ @ (S)?
-	text_far UnknownText_0x1c1aad
+.ItemsThrowAwayText:
+	text_far _ItemsThrowAwayText
 	text_end
 
-.TossedThisMany:
-	; Discarded @ (S).
-	text_far UnknownText_0x1c1aca
+.ItemsDiscardedText:
+	text_far _ItemsDiscardedText
 	text_end
 
 .CantToss:
-	ld hl, .TooImportantToToss
+	ld hl, .ItemsTooImportantText
 	call MenuTextboxBackup
 	ret
 
-.TooImportantToToss:
-	; That's too impor- tant to toss out!
-	text_far UnknownText_0x1c1adf
+.ItemsTooImportantText:
+	text_far _ItemsTooImportantText
 	text_end
 
 CantUseItem:
-	ld hl, CantUseItemText
+	ld hl, ItemsOakWarningText
 	call MenuTextboxWaitButton
 	ret
 
-CantUseItemText:
-	text_far UnknownText_0x1c1b03
+ItemsOakWarningText:
+	text_far _ItemsOakWarningText
 	text_end
 
 PartyMonItemName:
@@ -264,7 +260,7 @@
 	jr .quit
 
 .next
-	ld hl, CantBeHeldText
+	ld hl, ItemCantHeldText
 	call MenuTextboxBackup
 	jr .loop
 
@@ -289,13 +285,13 @@
 
 .give_item_to_mon
 	call GiveItemToPokemon
-	ld hl, MadeHoldText
+	ld hl, PokemonHoldItemText
 	call MenuTextboxBackup
 	call GivePartyItem
 	ret
 
 .please_remove_mail
-	ld hl, PleaseRemoveMailText
+	ld hl, PokemonRemoveMailText
 	call MenuTextboxBackup
 	ret
 
@@ -302,7 +298,7 @@
 .already_holding_item
 	ld [wNamedObjectIndexBuffer], a
 	call GetItemName
-	ld hl, SwitchAlreadyHoldingText
+	ld hl, PokemonAskSwapItemText
 	call StartMenuYesNo
 	jr c, .abort
 
@@ -316,7 +312,7 @@
 	call ReceiveItemFromPokemon
 	jr nc, .bag_full
 
-	ld hl, TookAndMadeHoldText
+	ld hl, PokemonSwapItemText
 	call MenuTextboxBackup
 	ld a, [wNamedObjectIndexBuffer]
 	ld [wCurItem], a
@@ -327,7 +323,7 @@
 	ld a, [wNamedObjectIndexBuffer]
 	ld [wCurItem], a
 	call ReceiveItemFromPokemon
-	ld hl, ItemStorageIsFullText
+	ld hl, ItemStorageFullText
 	call MenuTextboxBackup
 
 .abort
@@ -362,17 +358,17 @@
 	ld [wNamedObjectIndexBuffer], a
 	ld [hl], NO_ITEM
 	call GetItemName
-	ld hl, TookFromText
+	ld hl, PokemonTookItemText
 	call MenuTextboxBackup
 	jr .asm_12c9a
 
 .asm_12c8c
-	ld hl, IsntHoldingAnythingText
+	ld hl, PokemonNotHoldingText
 	call MenuTextboxBackup
 	jr .asm_12c9a
 
 .asm_12c94
-	ld hl, ItemStorageIsFullText
+	ld hl, ItemStorageFullText
 	call MenuTextboxBackup
 
 .asm_12c9a
@@ -390,36 +386,36 @@
 	db "GIVE@"
 	db "TAKE@"
 
-TookAndMadeHoldText:
-	text_far UnknownText_0x1c1b2c
+PokemonSwapItemText:
+	text_far _PokemonSwapItemText
 	text_end
 
-MadeHoldText:
-	text_far UnknownText_0x1c1b57
+PokemonHoldItemText:
+	text_far _PokemonHoldItemText
 	text_end
 
-PleaseRemoveMailText:
-	text_far UnknownText_0x1c1b6f
+PokemonRemoveMailText:
+	text_far _PokemonRemoveMailText
 	text_end
 
-IsntHoldingAnythingText:
-	text_far UnknownText_0x1c1b8e
+PokemonNotHoldingText:
+	text_far _PokemonNotHoldingText
 	text_end
 
-ItemStorageIsFullText:
-	text_far UnknownText_0x1c1baa
+ItemStorageFullText:
+	text_far _ItemStorageFullText
 	text_end
 
-TookFromText:
-	text_far UnknownText_0x1c1bc4
+PokemonTookItemText:
+	text_far _PokemonTookItemText
 	text_end
 
-SwitchAlreadyHoldingText:
-	text_far UnknownText_0x1c1bdc
+PokemonAskSwapItemText:
+	text_far _PokemonAskSwapItemText
 	text_end
 
-CantBeHeldText:
-	text_far UnknownText_0x1c1c09
+ItemCantHeldText:
+	text_far _ItemCantHeldText
 	text_end
 
 GetPartyItemLocation:
@@ -506,7 +502,7 @@
 	ret
 
 .take
-	ld hl, .sendmailtopctext
+	ld hl, .MailAskSendToPCText
 	call StartMenuYesNo
 	jr c, .RemoveMailToBag
 	ld a, [wCurPartyMon]
@@ -513,17 +509,17 @@
 	ld b, a
 	farcall SendMailToPC
 	jr c, .MailboxFull
-	ld hl, .sentmailtopctext
+	ld hl, .MailSentToPCText
 	call MenuTextboxBackup
 	jr .done
 
 .MailboxFull:
-	ld hl, .mailboxfulltext
+	ld hl, .MailboxFullText
 	call MenuTextboxBackup
 	jr .done
 
 .RemoveMailToBag:
-	ld hl, .mailwilllosemessagetext
+	ld hl, .MailLoseMessageText
 	call StartMenuYesNo
 	jr c, .done
 	call GetPartyItemLocation
@@ -534,12 +530,12 @@
 	call GetPartyItemLocation
 	ld [hl], $0
 	call GetCurNick
-	ld hl, .tookmailfrommontext
+	ld hl, .MailDetachedText
 	call MenuTextboxBackup
 	jr .done
 
 .BagIsFull:
-	ld hl, .bagfulltext
+	ld hl, .MailNoSpaceText
 	call MenuTextboxBackup
 	jr .done
 
@@ -560,34 +556,28 @@
 	db "TAKE@"
 	db "QUIT@"
 
-.mailwilllosemessagetext
-; The MAIL will lose its message. OK?
-	text_far UnknownText_0x1c1c22
+.MailLoseMessageText:
+	text_far _MailLoseMessageText
 	text_end
 
-.tookmailfrommontext
-; MAIL detached from <POKEMON>.
-	text_far UnknownText_0x1c1c47
+.MailDetachedText:
+	text_far _MailDetachedText
 	text_end
 
-.bagfulltext
-; There's no space for removing MAIL.
-	text_far UnknownText_0x1c1c62
+.MailNoSpaceText:
+	text_far _MailNoSpaceText
 	text_end
 
-.sendmailtopctext
-; Send the removed MAIL to your PC?
-	text_far UnknownText_0x1c1c86
+.MailAskSendToPCText:
+	text_far _MailAskSendToPCText
 	text_end
 
-.mailboxfulltext
-; Your PC's MAILBOX is full.
-	text_far UnknownText_0x1c1ca9
+.MailboxFullText:
+	text_far _MailboxFullText
 	text_end
 
-.sentmailtopctext
-; The MAIL was sent to your PC.
-	text_far UnknownText_0x1c1cc4
+.MailSentToPCText:
+	text_far _MailSentToPCText
 	text_end
 
 OpenPartyStats:
@@ -738,7 +728,7 @@
 	jr .finish
 
 .NotEnoughHP:
-	ld hl, .Text_NotEnoughHP
+	ld hl, .PokemonNotEnoughHPText
 	call PrintText
 
 .finish
@@ -747,9 +737,8 @@
 	ld a, $3
 	ret
 
-.Text_NotEnoughHP:
-	; Not enough HP!
-	text_far UnknownText_0x1c1ce3
+.PokemonNotEnoughHPText:
+	text_far _PokemonNotEnoughHPText
 	text_end
 
 .CheckMonHasEnoughHP:
@@ -888,7 +877,7 @@
 	inc a
 	ld [wPartyMenuCursor], a
 	call SetUpMoveScreenBG
-	call Function132d3
+	call PlaceMoveScreenArrows
 	ld de, MoveScreenAttributes
 	call SetMenuAttributes
 .loop
@@ -1239,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
@@ -1273,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
@@ -1782,7 +1782,7 @@
 	ld a, b
 	and a
 	ret z
-	ld hl, TextJump_WasSentToBillsPC
+	ld hl, WasSentToBillsPCText
 	call PrintText
 	ld a, BANK(sBoxMonNicknames)
 	call GetSRAMBank
@@ -1800,9 +1800,8 @@
 	ld b, $2
 	ret
 
-TextJump_WasSentToBillsPC:
-	; was sent to BILL's PC.
-	text_far Text_WasSentToBillsPC
+WasSentToBillsPCText:
+	text_far _WasSentToBillsPCText
 	text_end
 
 InitNickname:
--- 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
 
@@ -792,64 +792,54 @@
 
 .MenuActionTexts:
 ; entries correspond to PARTYMENUTEXT_* constants
-	dw .Text_CuredOfPoison
-	dw .Text_BurnWasHealed
-	dw .Text_Defrosted
-	dw .Text_WokeUp
-	dw .Text_RidOfParalysis
-	dw .Text_RecoveredSomeHP
-	dw .Text_HealthReturned
-	dw .Text_Revitalized
-	dw .Text_GrewToLevel
-	dw .Text_CameToItsSenses
+	dw .CuredOfPoisonText
+	dw .BurnWasHealedText
+	dw .WasDefrostedText
+	dw .WokeUpText
+	dw .RidOfParalysisText
+	dw .RecoveredSomeHPText
+	dw .HealthReturnedText
+	dw .RevitalizedText
+	dw .GrewToLevelText
+	dw .CameToItsSensesText
 
-.Text_RecoveredSomeHP:
-	; recovered @ HP!
+.RecoveredSomeHPText:
 	text_far _RecoveredSomeHPText
 	text_end
 
-.Text_CuredOfPoison:
-	; 's cured of poison.
+.CuredOfPoisonText:
 	text_far _CuredOfPoisonText
 	text_end
 
-.Text_RidOfParalysis:
-	; 's rid of paralysis.
+.RidOfParalysisText:
 	text_far _RidOfParalysisText
 	text_end
 
-.Text_BurnWasHealed:
-	; 's burn was healed.
+.BurnWasHealedText:
 	text_far _BurnWasHealedText
 	text_end
 
-.Text_Defrosted:
-	; was defrosted.
+.WasDefrostedText:
 	text_far _WasDefrostedText
 	text_end
 
-.Text_WokeUp:
-	; woke up.
+.WokeUpText:
 	text_far _WokeUpText
 	text_end
 
-.Text_HealthReturned:
-	; 's health returned.
+.HealthReturnedText:
 	text_far _HealthReturnedText
 	text_end
 
-.Text_Revitalized:
-	; is revitalized.
+.RevitalizedText:
 	text_far _RevitalizedText
 	text_end
 
-.Text_GrewToLevel:
-	; grew to level @ !@ @
+.GrewToLevelText:
 	text_far _GrewToLevelText
 	text_end
 
-.Text_CameToItsSenses:
-	; came to its senses.
+.CameToItsSensesText:
 	text_far _CameToItsSensesText
 	text_end
 
--- a/engine/pokemon/search.asm
+++ b/engine/pokemon/search.asm
@@ -113,7 +113,7 @@
 	jr z, .loopbox
 
 	; Load the box.
-	ld hl, BoxAddressTable1
+	ld hl, BoxAddressTable
 	ld b, 0
 	add hl, bc
 	add hl, bc
@@ -244,7 +244,7 @@
 	scf
 	ret
 
-BoxAddressTable1:
+BoxAddressTable:
 	dba sBox1
 	dba sBox2
 	dba sBox3
--- a/engine/pokemon/search2.asm
+++ b/engine/pokemon/search2.asm
@@ -117,7 +117,7 @@
 	ret
 
 RetroactivelyIgnoreEggs:
-	ld e, -2
+	ld e, %11111110
 	ld hl, wPartySpecies
 .loop
 	ld a, [hli]
--- a/engine/rtc/reset_password.asm
+++ b/engine/rtc/reset_password.asm
@@ -6,7 +6,7 @@
 	call LoadFontsExtra
 	ld de, MUSIC_MAIN_MENU
 	call PlayMusic
-	ld hl, .text_askreset
+	ld hl, .PasswordAskResetClockText
 	call PrintText
 	ld hl, .NoYes_MenuHeader
 	call CopyMenuHeader
@@ -22,28 +22,25 @@
 	ld a, $80
 	ld [sRTCStatusFlags], a
 	call CloseSRAM
-	ld hl, .text_okay
+	ld hl, .PasswordAskResetText
 	call PrintText
 	ret
 
 .wrongpassword
-	ld hl, .text_wrong
+	ld hl, .PasswordWrongText
 	call PrintText
 	ret
 
-.text_okay
-	; Password OK. Select CONTINUE & reset settings.
-	text_far UnknownText_0x1c55db
+.PasswordAskResetText:
+	text_far _PasswordAskResetText
 	text_end
 
-.text_wrong
-	; Wrong password!
-	text_far UnknownText_0x1c560b
+.PasswordWrongText:
+	text_far _PasswordWrongText
 	text_end
 
-.text_askreset
-	; Reset the clock?
-	text_far UnknownText_0x1c561c
+.PasswordAskResetClockText:
+	text_far _PasswordAskResetClockText
 	text_end
 
 .NoYes_MenuHeader:
@@ -67,7 +64,7 @@
 	call ByteFill
 	ld a, $4
 	ld [wStringBuffer2 + 5], a
-	ld hl, .pleaseenterpasswordtext
+	ld hl, .PasswordAskEnterText
 	call PrintText
 .loop
 	call .updateIDdisplay
@@ -101,9 +98,8 @@
 	scf
 	ret
 
-.pleaseenterpasswordtext
-	; Please enter the password.
-	text_far UnknownText_0x1c562e
+.PasswordAskEnterText:
+	text_far _PasswordAskEnterText
 	text_end
 
 .updateIDdisplay
--- a/engine/rtc/restart_clock.asm
+++ b/engine/rtc/restart_clock.asm
@@ -29,7 +29,7 @@
 
 RestartClock:
 ; If we're here, we had an RTC overflow.
-	ld hl, .Text_ClockTimeMayBeWrong
+	ld hl, .ClockTimeMayBeWrongText
 	call PrintText
 	ld hl, wOptions
 	ld a, [hl]
@@ -37,7 +37,7 @@
 	set NO_TEXT_SCROLL, [hl]
 	call LoadStandardMenuHeader
 	call ClearTileMap
-	ld hl, .Text_SetWithControlPad
+	ld hl, .ClockSetWithControlPadText
 	call PrintText
 	call .SetClock
 	call ExitMenu
@@ -47,14 +47,12 @@
 	ld c, a
 	ret
 
-.Text_ClockTimeMayBeWrong:
-	; The clock's time may be wrong. Please reset the time.
-	text_far UnknownText_0x1c40e6
+.ClockTimeMayBeWrongText:
+	text_far _ClockTimeMayBeWrongText
 	text_end
 
-.Text_SetWithControlPad:
-	; Set with the Control Pad. Confirm: A Button Cancel:  B Button
-	text_far UnknownText_0x1c411c
+.ClockSetWithControlPadText:
+	text_far _ClockSetWithControlPadText
 	text_end
 
 .SetClock:
@@ -77,7 +75,7 @@
 	and a
 	ret nz
 	call .PrintTime
-	ld hl, .Text_IsThisOK
+	ld hl, .ClockIsThisOKText
 	call PrintText
 	call YesNoBox
 	jr c, .cancel
@@ -91,7 +89,7 @@
 	ld [wStringBuffer2 + 3], a
 	call InitTime
 	call .PrintTime
-	ld hl, .Text_ClockReset
+	ld hl, .ClockHasResetText
 	call PrintText
 	call WaitPressAorB_BlinkCursor
 	xor a
@@ -101,14 +99,12 @@
 	ld a, $1
 	ret
 
-.Text_IsThisOK:
-	; Is this OK?
-	text_far UnknownText_0x1c415b
+.ClockIsThisOKText:
+	text_far _ClockIsThisOKText
 	text_end
 
-.Text_ClockReset:
-	; The clock has been reset.
-	text_far UnknownText_0x1c4168
+.ClockHasResetText:
+	text_far _ClockHasResetText
 	text_end
 
 .joy_loop
--- a/engine/rtc/timeset.asm
+++ b/engine/rtc/timeset.asm
@@ -41,7 +41,7 @@
 	call .ClearScreen
 	call WaitBGMap
 	call RotateFourPalettesRight
-	ld hl, Text_WokeUpOak
+	ld hl, OakTimeWokeUpText
 	call PrintText
 	ld hl, wTimeSetBuffer
 	ld bc, wTimeSetBufferEnd - wTimeSetBuffer
@@ -51,7 +51,7 @@
 	ld [wInitHourBuffer], a
 
 .loop
-	ld hl, Text_WhatTimeIsIt
+	ld hl, OakTimeWhatTimeIsItText
 	call PrintText
 	hlcoord 3, 7
 	ld b, 2
@@ -74,7 +74,7 @@
 	ld a, [wInitHourBuffer]
 	ld [wStringBuffer2 + 1], a
 	call .ClearScreen
-	ld hl, Text_WhatHrs
+	ld hl, OakTimeWhatHoursText
 	call PrintText
 	call YesNoBox
 	jr nc, .HourIsSet
@@ -82,7 +82,7 @@
 	jr .loop
 
 .HourIsSet:
-	ld hl, Text_HowManyMinutes
+	ld hl, OakTimeHowManyMinutesText
 	call PrintText
 	hlcoord 11, 7
 	lb bc, 2, 7
@@ -104,7 +104,7 @@
 	ld a, [wInitMinuteBuffer]
 	ld [wStringBuffer2 + 2], a
 	call .ClearScreen
-	ld hl, Text_WhoaMins
+	ld hl, OakTimeWhoaMinutesText
 	call PrintText
 	call YesNoBox
 	jr nc, .MinutesAreSet
@@ -273,69 +273,64 @@
 
 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
 
-Text_WokeUpOak:
-	; Zzz… Hm? Wha…? You woke me up! Will you check the clock for me?
-	text_far _OakTimeText1
+OakTimeWokeUpText:
+	text_far _OakTimeWokeUpText
 	text_end
 
-Text_WhatTimeIsIt:
-	; What time is it?
-	text_far _OakTimeText2
+OakTimeWhatTimeIsItText:
+	text_far _OakTimeWhatTimeIsItText
 	text_end
 
 String_oclock:
 	db "o'clock@"
 
-Text_WhatHrs:
+OakTimeWhatHoursText:
 	; What?@ @
-	text_far _OakTimeText3
+	text_far _OakTimeWhatHoursText
 	text_asm
 	hlcoord 1, 16
 	call DisplayHourOClock
-	ld hl, .QuestionMark
+	ld hl, .OakTimeHoursQuestionMarkText
 	ret
 
-.QuestionMark:
-	; ?
-	text_far _OakTimeText4
+.OakTimeHoursQuestionMarkText:
+	text_far _OakTimeHoursQuestionMarkText
 	text_end
 
-Text_HowManyMinutes:
-	; How many minutes?
-	text_far _OakTimeText5
+OakTimeHowManyMinutesText:
+	text_far _OakTimeHowManyMinutesText
 	text_end
 
 String_min:
 	db "min.@"
 
-Text_WhoaMins:
+OakTimeWhoaMinutesText:
 	; Whoa!@ @
-	text_far _OakTimeText6
+	text_far _OakTimeWhoaMinutesText
 	text_asm
 	hlcoord 7, 14
 	call DisplayMinutesWithMinString
-	ld hl, .QuestionMark
+	ld hl, .OakTimeMinutesQuestionMarkText
 	ret
 
-.QuestionMark:
-	; ?
-	text_far _OakTimeText7
+.OakTimeMinutesQuestionMarkText:
+	text_far _OakTimeMinutesQuestionMarkText
 	text_end
 
 OakText_ResponseToSetTime:
@@ -358,29 +353,26 @@
 	jr c, .morn
 	cp NITE_HOUR
 	jr c, .day
-.nite:
-	ld hl, .sodark
+.nite
+	ld hl, .OakTimeSoDarkText
 	ret
-.morn:
-	ld hl, .overslept
+.morn
+	ld hl, .OakTimeOversleptText
 	ret
-.day:
-	ld hl, .yikes
+.day
+	ld hl, .OakTimeYikesText
 	ret
 
-.overslept
-	; ! I overslept!
-	text_far _OakTimeText8
+.OakTimeOversleptText:
+	text_far _OakTimeOversleptText
 	text_end
 
-.yikes
-	; ! Yikes! I over- slept!
-	text_far _OakTimeText11
+.OakTimeYikesText:
+	text_far _OakTimeYikesText
 	text_end
 
-.sodark
-	; ! No wonder it's so dark!
-	text_far _OakTimeText12
+.OakTimeSoDarkText:
+	text_far _OakTimeSoDarkText
 	text_end
 
 TimeSetBackgroundGFX:
@@ -410,7 +402,7 @@
 	lb bc, 4, 18
 	call Textbox
 	call LoadStandardMenuHeader
-	ld hl, .WhatDayIsItText
+	ld hl, .OakTimeWhatDayIsItText
 	call PrintText
 	hlcoord 9, 3
 	ld b, 2
@@ -532,9 +524,8 @@
 .Friday:    db " FRIDAY@"
 .Saturday:  db "SATURDAY@"
 
-.WhatDayIsItText:
-	; What day is it?
-	text_far _OakTimeText13
+.OakTimeWhatDayIsItText:
+	text_far _OakTimeWhatDayIsItText
 	text_end
 
 .ConfirmWeekdayText:
@@ -541,12 +532,11 @@
 	text_asm
 	hlcoord 1, 14
 	call .PlaceWeekdayString
-	ld hl, .IsIt
+	ld hl, .OakTimeIsItText
 	ret
 
-.IsIt:
-	; , is it?
-	text_far _OakTimeText14
+.OakTimeIsItText:
+	text_far _OakTimeIsItText
 	text_end
 
 InitialSetDSTFlag:
@@ -569,12 +559,11 @@
 	ld c, a
 	decoord 1, 14
 	farcall PrintHoursMins
-	ld hl, .DSTIsThatOK
+	ld hl, .DSTIsThatOKText
 	ret
 
-.DSTIsThatOK:
-	; DST, is that OK?
-	text_far Text_DSTIsThatOK
+.DSTIsThatOKText:
+	text_far _DSTIsThatOKText
 	text_end
 
 InitialClearDSTFlag:
@@ -597,12 +586,11 @@
 	ld c, a
 	decoord 1, 14
 	farcall PrintHoursMins
-	ld hl, .IsThatOK
+	ld hl, .TimeAskOkayText
 	ret
 
-.IsThatOK:
-	; , is that OK?
-	text_far UnknownText_0x1c5ff1
+.TimeAskOkayText:
+	text_far _TimeAskOkayText
 	text_end
 
 DebugDisplayTime:
@@ -696,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
@@ -1,3 +1,5 @@
+INCLUDE "constants.asm"
+
 tilecoll: MACRO
 ; used in data/tilesets/*_collision.asm
 	db COLL_\1, COLL_\2, COLL_\3, COLL_\4
@@ -6,332 +8,332 @@
 
 SECTION "Tileset Data 1", ROMX
 
-TilesetKantoGFX:
+TilesetKantoGFX::
 INCBIN "gfx/tilesets/kanto.2bpp.lz"
 
-TilesetKantoMeta:
+TilesetKantoMeta::
 INCBIN "data/tilesets/kanto_metatiles.bin"
 
-TilesetKantoColl:
+TilesetKantoColl::
 INCLUDE "data/tilesets/kanto_collision.asm"
 
-Tileset0GFX:
-TilesetJohtoGFX:
+Tileset0GFX::
+TilesetJohtoGFX::
 INCBIN "gfx/tilesets/johto.2bpp.lz"
 
-Tileset0Meta:
-TilesetJohtoMeta:
+Tileset0Meta::
+TilesetJohtoMeta::
 INCBIN "data/tilesets/johto_metatiles.bin"
 
-Tileset0Coll:
-TilesetJohtoColl:
+Tileset0Coll::
+TilesetJohtoColl::
 INCLUDE "data/tilesets/johto_collision.asm"
 
-TilesetIcePathGFX:
+TilesetIcePathGFX::
 INCBIN "gfx/tilesets/ice_path.2bpp.lz"
 
-TilesetIcePathMeta:
+TilesetIcePathMeta::
 INCBIN "data/tilesets/ice_path_metatiles.bin"
 
-TilesetIcePathColl:
+TilesetIcePathColl::
 INCLUDE "data/tilesets/ice_path_collision.asm"
 
-TilesetPlayersRoomGFX:
+TilesetPlayersRoomGFX::
 INCBIN "gfx/tilesets/players_room.2bpp.lz"
 
-TilesetPlayersRoomMeta:
+TilesetPlayersRoomMeta::
 INCBIN "data/tilesets/players_room_metatiles.bin"
 
-TilesetPlayersRoomColl:
+TilesetPlayersRoomColl::
 INCLUDE "data/tilesets/players_room_collision.asm"
 
 
 SECTION "Tileset Data 2", ROMX
 
-TilesetPokecenterGFX:
+TilesetPokecenterGFX::
 INCBIN "gfx/tilesets/pokecenter.2bpp.lz"
 
-TilesetPokecenterMeta:
+TilesetPokecenterMeta::
 INCBIN "data/tilesets/pokecenter_metatiles.bin"
 
-TilesetPokecenterColl:
+TilesetPokecenterColl::
 INCLUDE "data/tilesets/pokecenter_collision.asm"
 
-TilesetPortGFX:
+TilesetPortGFX::
 INCBIN "gfx/tilesets/port.2bpp.lz"
 
-TilesetPortMeta:
+TilesetPortMeta::
 INCBIN "data/tilesets/port_metatiles.bin"
 
-TilesetPortColl:
+TilesetPortColl::
 INCLUDE "data/tilesets/port_collision.asm"
 
-TilesetPlayersHouseGFX:
+TilesetPlayersHouseGFX::
 INCBIN "gfx/tilesets/players_house.2bpp.lz"
 
-TilesetPlayersHouseMeta:
+TilesetPlayersHouseMeta::
 INCBIN "data/tilesets/players_house_metatiles.bin"
 
-TilesetPlayersHouseColl:
+TilesetPlayersHouseColl::
 INCLUDE "data/tilesets/players_house_collision.asm"
 
-TilesetMansionGFX:
+TilesetMansionGFX::
 INCBIN "gfx/tilesets/mansion.2bpp.lz"
 
-TilesetMansionMeta:
+TilesetMansionMeta::
 INCBIN "data/tilesets/mansion_metatiles.bin"
 
-TilesetMansionColl:
+TilesetMansionColl::
 INCLUDE "data/tilesets/mansion_collision.asm"
 
-TilesetCaveGFX:
+TilesetCaveGFX::
 INCBIN "gfx/tilesets/cave.2bpp.lz"
 
-TilesetCaveMeta:
-TilesetDarkCaveMeta:
+TilesetCaveMeta::
+TilesetDarkCaveMeta::
 INCBIN "data/tilesets/cave_metatiles.bin"
 
-TilesetCaveColl:
-TilesetDarkCaveColl:
+TilesetCaveColl::
+TilesetDarkCaveColl::
 INCLUDE "data/tilesets/cave_collision.asm"
 
 
 SECTION "Tileset Data 3", ROMX
 
-TilesetTowerGFX:
+TilesetTowerGFX::
 INCBIN "gfx/tilesets/tower.2bpp.lz"
 
-TilesetTowerMeta:
+TilesetTowerMeta::
 INCBIN "data/tilesets/tower_metatiles.bin"
 
-TilesetTowerColl:
+TilesetTowerColl::
 INCLUDE "data/tilesets/tower_collision.asm"
 
-TilesetLabGFX:
+TilesetLabGFX::
 INCBIN "gfx/tilesets/lab.2bpp.lz"
 
-TilesetLabMeta:
+TilesetLabMeta::
 INCBIN "data/tilesets/lab_metatiles.bin"
 
-TilesetLabColl:
+TilesetLabColl::
 INCLUDE "data/tilesets/lab_collision.asm"
 
-TilesetMartGFX:
+TilesetMartGFX::
 INCBIN "gfx/tilesets/mart.2bpp.lz"
 
-TilesetMartMeta:
+TilesetMartMeta::
 INCBIN "data/tilesets/mart_metatiles.bin"
 
-TilesetMartColl:
+TilesetMartColl::
 INCLUDE "data/tilesets/mart_collision.asm"
 
-TilesetGameCornerGFX:
+TilesetGameCornerGFX::
 INCBIN "gfx/tilesets/game_corner.2bpp.lz"
 
-TilesetGameCornerMeta:
+TilesetGameCornerMeta::
 INCBIN "data/tilesets/game_corner_metatiles.bin"
 
-TilesetGameCornerColl:
+TilesetGameCornerColl::
 INCLUDE "data/tilesets/game_corner_collision.asm"
 
-TilesetTrainStationGFX:
+TilesetTrainStationGFX::
 INCBIN "gfx/tilesets/train_station.2bpp.lz"
 
-TilesetTrainStationMeta:
+TilesetTrainStationMeta::
 INCBIN "data/tilesets/train_station_metatiles.bin"
 
-TilesetTrainStationColl:
+TilesetTrainStationColl::
 INCLUDE "data/tilesets/train_station_collision.asm"
 
-TilesetForestMeta:
+TilesetForestMeta::
 INCBIN "data/tilesets/forest_metatiles.bin"
 
 
 SECTION "Tileset Data 4", ROMX
 
-TilesetEliteFourRoomGFX:
+TilesetEliteFourRoomGFX::
 INCBIN "gfx/tilesets/elite_four_room.2bpp.lz"
 
-TilesetEliteFourRoomMeta:
+TilesetEliteFourRoomMeta::
 INCBIN "data/tilesets/elite_four_room_metatiles.bin"
 
-TilesetEliteFourRoomColl:
+TilesetEliteFourRoomColl::
 INCLUDE "data/tilesets/elite_four_room_collision.asm"
 
-TilesetParkGFX:
+TilesetParkGFX::
 INCBIN "gfx/tilesets/park.2bpp.lz"
 
-TilesetParkMeta:
+TilesetParkMeta::
 INCBIN "data/tilesets/park_metatiles.bin"
 
-TilesetParkColl:
+TilesetParkColl::
 INCLUDE "data/tilesets/park_collision.asm"
 
-TilesetRadioTowerGFX:
+TilesetRadioTowerGFX::
 INCBIN "gfx/tilesets/radio_tower.2bpp.lz"
 
-TilesetRadioTowerMeta:
+TilesetRadioTowerMeta::
 INCBIN "data/tilesets/radio_tower_metatiles.bin"
 
-TilesetRadioTowerColl:
+TilesetRadioTowerColl::
 INCLUDE "data/tilesets/radio_tower_collision.asm"
 
-TilesetUndergroundGFX:
+TilesetUndergroundGFX::
 INCBIN "gfx/tilesets/underground.2bpp.lz"
 
-TilesetUndergroundMeta:
+TilesetUndergroundMeta::
 INCBIN "data/tilesets/underground_metatiles.bin"
 
-TilesetUndergroundColl:
+TilesetUndergroundColl::
 INCLUDE "data/tilesets/underground_collision.asm"
 
-TilesetDarkCaveGFX:
+TilesetDarkCaveGFX::
 INCBIN "gfx/tilesets/dark_cave.2bpp.lz"
 
-UnusedTilesetDarkCaveMeta:
+UnusedTilesetDarkCaveMeta::
 INCBIN "data/tilesets/unused_dark_cave_metatiles.bin"
 
-UnusedTilesetDarkCaveColl:
+UnusedTilesetDarkCaveColl::
 INCLUDE "data/tilesets/unused_dark_cave_collision.asm"
 
 
 SECTION "Tileset Data 5", ROMX
 
-TilesetPokeComCenterGFX:
+TilesetPokeComCenterGFX::
 INCBIN "gfx/tilesets/pokecom_center.2bpp.lz"
 
-TilesetPokeComCenterMeta:
+TilesetPokeComCenterMeta::
 INCBIN "data/tilesets/pokecom_center_metatiles.bin"
 
-TilesetPokeComCenterColl:
+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:
+TilesetGateGFX::
 INCBIN "gfx/tilesets/gate.2bpp.lz"
 
-TilesetGateMeta:
+TilesetGateMeta::
 INCBIN "data/tilesets/gate_metatiles.bin"
 
-TilesetGateColl:
+TilesetGateColl::
 INCLUDE "data/tilesets/gate_collision.asm"
 
-TilesetJohtoModernGFX:
-TilesetBattleTowerOutsideGFX:
+TilesetJohtoModernGFX::
+TilesetBattleTowerOutsideGFX::
 INCBIN "gfx/tilesets/johto_modern.2bpp.lz"
 
-TilesetJohtoModernMeta:
+TilesetJohtoModernMeta::
 INCBIN "data/tilesets/johto_modern_metatiles.bin"
 
-TilesetJohtoModernColl:
+TilesetJohtoModernColl::
 INCLUDE "data/tilesets/johto_modern_collision.asm"
 
-TilesetTraditionalHouseGFX:
+TilesetTraditionalHouseGFX::
 INCBIN "gfx/tilesets/traditional_house.2bpp.lz"
 
-TilesetTraditionalHouseMeta:
+TilesetTraditionalHouseMeta::
 INCBIN "data/tilesets/traditional_house_metatiles.bin"
 
-TilesetTraditionalHouseColl:
+TilesetTraditionalHouseColl::
 INCLUDE "data/tilesets/traditional_house_collision.asm"
 
 
 SECTION "Tileset Data 6", ROMX
 
-TilesetForestGFX:
+TilesetForestGFX::
 INCBIN "gfx/tilesets/forest.2bpp.lz"
 
-TilesetChampionsRoomGFX:
+TilesetChampionsRoomGFX::
 INCBIN "gfx/tilesets/champions_room.2bpp.lz"
 
-TilesetChampionsRoomMeta:
+TilesetChampionsRoomMeta::
 INCBIN "data/tilesets/champions_room_metatiles.bin"
 
-TilesetChampionsRoomColl:
+TilesetChampionsRoomColl::
 INCLUDE "data/tilesets/champions_room_collision.asm"
 
-TilesetHouseGFX:
+TilesetHouseGFX::
 INCBIN "gfx/tilesets/house.2bpp.lz"
 
-TilesetHouseMeta:
+TilesetHouseMeta::
 INCBIN "data/tilesets/house_metatiles.bin"
 
-TilesetHouseColl:
+TilesetHouseColl::
 INCLUDE "data/tilesets/house_collision.asm"
 
-TilesetLighthouseGFX:
+TilesetLighthouseGFX::
 INCBIN "gfx/tilesets/lighthouse.2bpp.lz"
 
-TilesetLighthouseMeta:
+TilesetLighthouseMeta::
 INCBIN "data/tilesets/lighthouse_metatiles.bin"
 
-TilesetLighthouseColl:
+TilesetLighthouseColl::
 INCLUDE "data/tilesets/lighthouse_collision.asm"
 
-TilesetForestColl:
+TilesetForestColl::
 INCLUDE "data/tilesets/forest_collision.asm"
 
-TilesetFacilityGFX:
+TilesetFacilityGFX::
 INCBIN "gfx/tilesets/facility.2bpp.lz"
 
-TilesetFacilityMeta:
+TilesetFacilityMeta::
 INCBIN "data/tilesets/facility_metatiles.bin"
 
-TilesetFacilityColl:
+TilesetFacilityColl::
 INCLUDE "data/tilesets/facility_collision.asm"
 
-TilesetBattleTowerOutsideMeta:
+TilesetBattleTowerOutsideMeta::
 INCBIN "data/tilesets/battle_tower_outside_metatiles.bin"
 
-TilesetBattleTowerOutsideColl:
+TilesetBattleTowerOutsideColl::
 INCLUDE "data/tilesets/battle_tower_outside_collision.asm"
 
-TilesetBetaWordRoomMeta:
+TilesetBetaWordRoomMeta::
 INCBIN "data/tilesets/beta_word_room_metatiles.bin"
 
-TilesetBetaWordRoomColl:
-TilesetHoOhWordRoomColl:
-TilesetKabutoWordRoomColl:
-TilesetOmanyteWordRoomColl:
-TilesetAerodactylWordRoomColl:
+TilesetBetaWordRoomColl::
+TilesetHoOhWordRoomColl::
+TilesetKabutoWordRoomColl::
+TilesetOmanyteWordRoomColl::
+TilesetAerodactylWordRoomColl::
 INCLUDE "data/tilesets/beta_word_room_collision.asm"
 
 
 SECTION "Tileset Data 7", ROMX
 
-TilesetRuinsOfAlphGFX:
-TilesetBetaWordRoomGFX:
-TilesetHoOhWordRoomGFX:
-TilesetKabutoWordRoomGFX:
-TilesetOmanyteWordRoomGFX:
-TilesetAerodactylWordRoomGFX:
+TilesetRuinsOfAlphGFX::
+TilesetBetaWordRoomGFX::
+TilesetHoOhWordRoomGFX::
+TilesetKabutoWordRoomGFX::
+TilesetOmanyteWordRoomGFX::
+TilesetAerodactylWordRoomGFX::
 INCBIN "gfx/tilesets/ruins_of_alph.2bpp.lz"
 
-TilesetRuinsOfAlphMeta:
+TilesetRuinsOfAlphMeta::
 INCBIN "data/tilesets/ruins_of_alph_metatiles.bin"
 
-TilesetRuinsOfAlphColl:
+TilesetRuinsOfAlphColl::
 INCLUDE "data/tilesets/ruins_of_alph_collision.asm"
 
 
 SECTION "Tileset Data 8", ROMX
 
-TilesetHoOhWordRoomMeta:
+TilesetHoOhWordRoomMeta::
 INCBIN "data/tilesets/ho_oh_word_room_metatiles.bin"
 
-TilesetKabutoWordRoomMeta:
+TilesetKabutoWordRoomMeta::
 INCBIN "data/tilesets/kabuto_word_room_metatiles.bin"
 
-TilesetOmanyteWordRoomMeta:
+TilesetOmanyteWordRoomMeta::
 INCBIN "data/tilesets/omanyte_word_room_metatiles.bin"
 
-TilesetAerodactylWordRoomMeta:
+TilesetAerodactylWordRoomMeta::
 INCBIN "data/tilesets/aerodactyl_word_room_metatiles.bin"
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
@@ -5,8 +5,10 @@
 
 NULL::
 
+
 INCLUDE "home/rst.asm"
 
+
 INCLUDE "home/interrupts.asm"
 
 
@@ -36,8 +38,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/audio.asm
+++ b/home/audio.asm
@@ -1,6 +1,6 @@
 ; Audio interfaces.
 
-MapSetup_Sound_Off::
+InitSound::
 	push hl
 	push de
 	push bc
@@ -8,11 +8,11 @@
 
 	ldh a, [hROMBank]
 	push af
-	ld a, BANK(_MapSetup_Sound_Off)
+	ld a, BANK(_InitSound)
 	ldh [hROMBank], a
 	ld [MBC3RomBank], a
 
-	call _MapSetup_Sound_Off
+	call _InitSound
 
 	pop af
 	ldh [hROMBank], a
@@ -71,7 +71,7 @@
 
 	ldh a, [hROMBank]
 	push af
-	ld a, BANK(_PlayMusic) ; aka BANK(_MapSetup_Sound_Off)
+	ld a, BANK(_PlayMusic) ; aka BANK(_InitSound)
 	ldh [hROMBank], a
 	ld [MBC3RomBank], a
 
@@ -83,7 +83,7 @@
 	jr .end
 
 .nomusic
-	call _MapSetup_Sound_Off
+	call _InitSound
 
 .end
 	pop af
@@ -359,7 +359,8 @@
 	pop hl
 	ret
 
-EnterMapMusic::
+PlayMapMusicBike::
+; If the player's on a bike, play the bike music instead of the map music
 	push hl
 	push de
 	push bc
--- a/home/copy.asm
+++ b/home/copy.asm
@@ -272,9 +272,9 @@
 
 	ldh a, [hTilesPerCycle]
 	push af
-
 	ld a, $8
 	ldh [hTilesPerCycle], a
+
 	ld a, [wLinkMode]
 	cp LINK_MOBILE
 	jr nz, .NotMobile
--- a/home/farcall.asm
+++ b/home/farcall.asm
@@ -23,7 +23,7 @@
 	push af
 	ldh a, [hBuffer]
 	rst Bankswitch
-	call FarJump_hl
+	call FarCall_JumpToHL
 
 ReturnFarCall::
 ; We want to retain the contents of f.
@@ -45,5 +45,5 @@
 	ld c, a
 	ret
 
-FarJump_hl::
+FarCall_JumpToHL::
 	jp hl
--- a/home/init.asm
+++ b/home/init.asm
@@ -1,6 +1,6 @@
 Reset::
 	di
-	call MapSetup_Sound_Off
+	call InitSound
 	xor a
 	ldh [hMapAnims], a
 	call ClearPalettes
@@ -162,7 +162,7 @@
 
 	predef InitSGBBorder ; SGB init
 
-	call MapSetup_Sound_Off
+	call InitSound
 	xor a
 	ld [wMapMusic], a
 	jp GameInit
--- a/home/joypad.asm
+++ b/home/joypad.asm
@@ -338,6 +338,12 @@
 	ret
 
 WaitPressAorB_BlinkCursor::
+; Show a blinking cursor in the lower right-hand
+; corner of a textbox and wait until A or B is
+; pressed.
+;
+; NOTE: The cursor has to be shown before calling
+; this function or no cursor will be shown at all.
 	ldh a, [hMapObjectIndexBuffer]
 	push af
 	ldh a, [hObjectStructIndexBuffer]
@@ -372,7 +378,10 @@
 	jr z, .loop
 	ret
 
-ButtonSound::
+PromptButton::
+; Show a blinking cursor in the lower right-hand
+; corner of a textbox and wait until A or B is
+; pressed, afterwards, play a sound.
 	ld a, [wLinkMode]
 	and a
 	jr nz, .link
--- a/home/map.asm
+++ b/home/map.asm
@@ -330,7 +330,7 @@
 	ld bc, 2 ; warp number
 	add hl, bc
 	ld a, [hli]
-	cp $ff
+	cp -1
 	jr nz, .skip
 	ld hl, wBackupWarpNumber
 	ld a, [hli]
@@ -369,6 +369,7 @@
 	ret
 
 ; unused
+UnreferencedCheckEnvironment::
 	cp INDOOR
 	ret z
 	cp GATE
@@ -380,11 +381,11 @@
 	call CopyMapPartialAndAttributes
 	call SwitchToMapScriptsBank
 	call ReadMapScripts
-	xor a ; do not skip object_events
+	xor a ; do not skip object events
 	call ReadMapEvents
 	ret
 
-LoadMapAttributes_SkipPeople::
+LoadMapAttributes_SkipObjects::
 	call CopyMapPartialAndAttributes
 	call SwitchToMapScriptsBank
 	call ReadMapScripts
@@ -597,7 +598,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 +632,7 @@
 	jr nz, .loop2
 
 	pop hl
-	ld bc, OBJECT_LENGTH
+	ld bc, MAPOBJECT_LENGTH
 	add hl, bc
 	pop bc
 	dec c
@@ -640,13 +641,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
@@ -656,7 +657,7 @@
 	jr nz, .loop
 	ret
 
-RestoreFacingAfterWarp::
+GetWarpDestCoords::
 	call GetMapScriptsBank
 	rst Bankswitch
 
@@ -679,12 +680,12 @@
 	ld [wXCoord], a
 	; destination warp number
 	ld a, [hli]
-	cp $ff
+	cp -1
 	jr nz, .skip
 	call .backup
 
 .skip
-	farcall GetCoordOfUpperLeftCorner
+	farcall GetMapScreenCoords
 	ret
 
 .backup
@@ -1114,7 +1115,7 @@
 	jumptext BGEventText
 
 BGEventText::
-	text_far UnknownText_0x1c46fc
+	text_far _BGEventText
 	text_end
 
 CoordinatesEvent::
@@ -1121,7 +1122,7 @@
 	jumptext CoordinatesEventText
 
 CoordinatesEventText::
-	text_far UnknownText_0x1c4706
+	text_far _CoordinatesEventText
 	text_end
 
 CheckObjectMask::
@@ -1437,7 +1438,7 @@
 .vertical
 	ld b, SCREEN_META_WIDTH
 	ld c, SCREEN_META_HEIGHT - 1
-	jr SaveScreen_LoadNeighbor
+	jr SaveScreen_LoadConnection
 
 .left
 	ld de, wScreenSave + 1
@@ -1449,9 +1450,9 @@
 .horizontal
 	ld b, SCREEN_META_WIDTH - 1
 	ld c, SCREEN_META_HEIGHT
-	jr SaveScreen_LoadNeighbor
+	jr SaveScreen_LoadConnection
 
-LoadNeighboringBlockData::
+LoadConnectionBlockData::
 	ld hl, wOverworldMapAnchor
 	ld a, [hli]
 	ld h, [hl]
@@ -1463,7 +1464,7 @@
 	ld b, SCREEN_META_WIDTH
 	ld c, SCREEN_META_HEIGHT
 
-SaveScreen_LoadNeighbor::
+SaveScreen_LoadConnection::
 .row
 	push bc
 	push hl
@@ -1480,7 +1481,6 @@
 	ld e, a
 	jr nc, .okay
 	inc d
-
 .okay
 	pop hl
 	ldh a, [hConnectionStripLength]
@@ -2259,7 +2259,7 @@
 	pop de
 	ret
 
-LoadTileset::
+LoadMapTileset::
 	push hl
 	push bc
 
--- 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/rst.asm
+++ b/home/rst.asm
@@ -26,12 +26,10 @@
 	add hl, de
 	ld a, [hli]
 	ld h, [hl]
+; SECTION "rst30", ROM0
 	ld l, a
 	pop de
 	jp hl
-
-; SECTION "rst30", ROM0
-; rst30 is midst rst28
 
 SECTION "rst38", ROM0
 	rst $38
--- 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/home/window.asm
+++ b/home/window.asm
@@ -39,7 +39,7 @@
 	ld a, $90
 	ldh [hWY], a
 	call ReplaceKrisSprite
-	farcall ReturnFromMapSetupScript
+	farcall InitMapNameSign
 	farcall LoadOverworldFont
 	ret
 
--- a/hram.asm
+++ b/hram.asm
@@ -4,7 +4,7 @@
 
 hROMBankBackup:: db ; ff8a
 hBuffer:: db ; ff8b
-hFF8C:: db ; ff8c
+hSRAMBank:: db ; ff8c
 
 hRTCDayHi::   db ; ff8d
 hRTCDayLo::   db ; ff8e
--- a/lib/mobile/main.asm
+++ b/lib/mobile/main.asm
@@ -1,13 +1,33 @@
 ; A library included as part of the Mobile Adapter GB SDK.
 
+INCLUDE "macros/enum.asm"
+INCLUDE "constants/hardware_constants.asm"
+INCLUDE "constants/mobile_constants.asm"
+
 charmap "<CR>", $d
 
-INCLUDE "constants/hardware_constants.asm"
+; Mobile Adapter protocol commands
+MOBILE_COMMAND_BEGIN_SESSION            EQU $10
+MOBILE_COMMAND_END_SESSION              EQU $11
+MOBILE_COMMAND_DIAL_TELEPHONE           EQU $12
+MOBILE_COMMAND_HANG_UP_TELEPHONE        EQU $13
+MOBILE_COMMAND_WAIT_FOR_TELEPHONE_CALL  EQU $14
+MOBILE_COMMAND_TRANSFER_DATA            EQU $15
+MOBILE_COMMAND_TELEPHONE_STATUS         EQU $17
+MOBILE_COMMAND_READ_CONFIGURATION_DATA  EQU $19
+MOBILE_COMMAND_WRITE_CONFIGURATION_DATA EQU $1a
+MOBILE_COMMAND_TRANSFER_DATA_END        EQU $1f
+MOBILE_COMMAND_ISP_LOGIN                EQU $21
+MOBILE_COMMAND_ISP_LOGOUT               EQU $22
+MOBILE_COMMAND_OPEN_TCP_CONNECTION      EQU $23
+MOBILE_COMMAND_CLOSE_TCP_CONNECTION     EQU $24
+MOBILE_COMMAND_DNS_QUERY                EQU $28
+MOBILE_COMMAND_ERROR                    EQU $6e
 
 
 SECTION "Mobile Adapter SDK", ROMX
 
-Function110000:
+MobileSDK_CopyBytes:
 ; Copy b bytes from hl to de
 .loop
 	ld a, [hli]
@@ -17,7 +37,7 @@
 	jr nz, .loop
 	ret
 
-Function110007:
+MobileSDK_CopyString:
 ; Copy bytes from hl to de until a 0 is encountered.
 ; Include the 0 in the copy, and count the number of
 ; nonzero bytes copied.  Keep the de pointer at the
@@ -31,7 +51,7 @@
 	inc bc
 	jr .loop
 
-Function11000f:
+MobileSDK_CopyStringLen:
 ; Copy bytes from hl to de until a 0 is encountered,
 ; or a bytes have been copied, whichever comes first.
 ; Add the byte count to the count previously stored
@@ -62,10 +82,10 @@
 	ld b, a
 	ret
 
-Function110029:
-; Clear two bytes at $ca3a.
+ResetReceivePacketBuffer:
+; Clear two bytes at wMobileSDK_ReceivedBytes
 	xor a
-	ld hl, $ca3a
+	ld hl, wMobileSDK_ReceivedBytes
 	ld [hli], a
 	ld [hl], a
 	ret
@@ -77,11 +97,11 @@
 ; clear [$c835].
 	push de
 	ld a, [$c988]
-	cp 2 * 6
+	cp $0c
 	jr z, .noreset
-	cp 2 * 7
+	cp $0e
 	jr z, .noreset
-	cp 2 * 8
+	cp $10
 	jr z, .noreset
 	xor a
 	ld [$c835], a
@@ -283,7 +303,7 @@
 	ld hl, $c822
 	res 0, [hl]
 	res 5, [hl]
-	ld hl, $cb47
+	ld hl, wMobileSDK_PacketBuffer
 	xor a
 	ld [hli], a
 	inc a
@@ -353,7 +373,7 @@
 	jp .asm_11015b
 
 .asm_1101f8
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	cp $a4
 	jr z, .asm_1101a4
 	ld a, $3
@@ -404,7 +424,7 @@
 	ldh a, [rIF]
 	and $1b
 	ldh [rIF], a
-	call Function110029
+	call ResetReceivePacketBuffer
 	ld bc, $0452
 	ld hl, $c800
 .asm_11024e
@@ -493,10 +513,10 @@
 	ld [hli], a
 	ld a, $c8
 	ld [hl], a
-	ld de, $cb47
-	ld b, $5
-	ld hl, Unknown_11205e
-	call Function110000
+	ld de, wMobileSDK_PacketBuffer
+	ld b, MobilePacket_WriteConfigurationData.End - MobilePacket_WriteConfigurationData
+	ld hl, MobilePacket_WriteConfigurationData
+	call MobileSDK_CopyBytes
 	ld a, [$c882]
 	ld c, a
 	or a
@@ -528,7 +548,7 @@
 	ld h, [hl]
 	ld l, a
 	ld c, b
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, l
 	ld [$c880], a
 	ld a, h
@@ -573,10 +593,10 @@
 	ld a, [$c870]
 	ld c, a
 	call Function1100dc
-	ld de, $cb47
-	ld b, $6
-	ld hl, Unknown_112046
-	call Function110000
+	ld de, wMobileSDK_PacketBuffer
+	ld b, 6 ; header size
+	ld hl, MobilePacket_ReadConfigurationDataPart1
+	call MobileSDK_CopyBytes
 	ld a, [$c883]
 	ld [de], a
 	inc de
@@ -668,15 +688,15 @@
 	push hl
 	ld b, a
 	call Function111f63
-	ld b, $5
-	ld hl, Unknown_112037
+	ld b, MobilePacket_ISPLogin.End - MobilePacket_ISPLogin
+	ld hl, MobilePacket_ISPLogin
 	ld de, $cb74
-	call Function110000
+	call MobileSDK_CopyBytes
 	inc de
 	inc de
 	pop hl
 	ld bc, 0
-	call Function110007
+	call MobileSDK_CopyString
 	ld a, c
 	ld [$cb7a], a
 	ld [$c86b], a
@@ -684,7 +704,7 @@
 	inc de
 	ld bc, 0
 	ld a, $20
-	call Function11000f
+	call MobileSDK_CopyStringLen
 	ld l, e
 	ld h, d
 	pop de
@@ -745,14 +765,14 @@
 	jr Function110432
 
 Function110485:
-	ld de, $cb47
-	ld hl, Unknown_11201d
-	ld b, $6
-	call Function110000
+	ld de, wMobileSDK_PacketBuffer
+	ld hl, MobilePacket_DialTelephone
+	ld b, MobilePacket_DialTelephone.End - MobilePacket_DialTelephone
+	call MobileSDK_CopyBytes
 	pop bc
 	pop hl
 	push bc
-	ld a, [$c818]
+	ld a, [wMobileSDK_AdapterType]
 	cp $8c
 	jr c, .asm_11049e
 	ld a, $3
@@ -765,22 +785,22 @@
 	ld [de], a
 	inc de
 	ld bc, $0001
-	ld a, $14
-	call Function11000f
+	ld a, MOBILE_PHONE_NUMBER_LENGTH
+	call MobileSDK_CopyStringLen
 	ld a, c
-	ld [$cb4c], a
+	ld [wMobileSDK_PacketBuffer + 5], a
 	ret
 
 Function1104b0:
 	xor a
-	ld [$c81e], a
+	ld [wMobileSDK_SendCommandID], a
 	call Function110393
 	xor a
 	ld [$c86b], a
-	ld de, $0001
-	ld hl, Unknown_112000
-	ld b, $1
-	jp Function111f07
+	ld de, MobilePacket_Idle.End - MobilePacket_Idle
+	ld hl, MobilePacket_Idle
+	ld b, 1
+	jp PacketSendBytes
 
 Function1104c6:
 	ld a, [$c821]
@@ -798,12 +818,12 @@
 	jr nz, .asm_110507
 	ld a, $2
 	ld [$c86b], a
-	ld a, $a2
-	ld [$c81e], a
-	ld de, $000a
-	ld hl, Unknown_11203c
+	ld a, MOBILE_COMMAND_ISP_LOGOUT | $80
+	ld [wMobileSDK_SendCommandID], a
+	ld de, MobilePacket_ISPLogout.End - MobilePacket_ISPLogout
+	ld hl, MobilePacket_ISPLogout
 	ld b, $5
-	call Function111f07
+	call PacketSendBytes
 .asm_1104fa
 	ld a, $e
 	ld [$c86a], a
@@ -836,18 +856,18 @@
 	xor a
 	ld [$c86b], a
 	ld de, $cb67
-	ld hl, Unknown_112072
+	ld hl, MobilePacket_TransferData
 	ld b, $6
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, [$c86c]
 	ld [de], a
 	inc de
 	ld b, $1
 	call Function111f63
-	ld de, $cb47
-	ld hl, Unknown_112072
+	ld de, wMobileSDK_PacketBuffer
+	ld hl, MobilePacket_TransferData
 	ld b, $5
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, $7
 	ld [de], a
 	inc de
@@ -856,14 +876,14 @@
 	inc de
 	ld bc, $0001
 	ld hl, Unknown_1120c1
-	call Function110007
+	call MobileSDK_CopyString
 	ld b, c
 	call Function111f63
-	ld a, $95
-	ld [$c81e], a
-	ld hl, $cb47
+	ld a, MOBILE_COMMAND_TRANSFER_DATA | $80
+	ld [wMobileSDK_SendCommandID], a
+	ld hl, wMobileSDK_PacketBuffer
 	ld b, $5
-	call Function111f07
+	call PacketSendBytes
 	ld a, $e
 	ld [$c86a], a
 	jp Function110432
@@ -990,13 +1010,13 @@
 	ld [$c86b], a
 	ld [$c9af], a
 	ld de, $cb97
-	ld hl, Unknown_11207d
-	ld b, $6
-	call Function110000
-	ld de, $cb47
-	ld hl, Unknown_112063
-	ld b, $5
-	call Function110000
+	ld hl, MobilePacket_OpenTCPConnection
+	ld b, MobilePacket_OpenTCPConnection.End - MobilePacket_OpenTCPConnection
+	call MobileSDK_CopyBytes
+	ld de, wMobileSDK_PacketBuffer
+	ld hl, MobilePacket_DNSQuery
+	ld b, MobilePacket_DNSQuery.End - MobilePacket_DNSQuery
+	call MobileSDK_CopyBytes
 	pop bc
 	pop hl
 	push de
@@ -1003,7 +1023,7 @@
 	inc de
 	ld a, b
 	ld bc, 0
-	call Function11000f
+	call MobileSDK_CopyStringLen
 	ld a, c
 	pop hl
 	ld [hl], a
@@ -1038,11 +1058,11 @@
 	jp Function110432
 
 .asm_1106ac
-	ld hl, $cb47
-	ld a, $a8
-	ld [$c81e], a
+	ld hl, wMobileSDK_PacketBuffer
+	ld a, MOBILE_COMMAND_DNS_QUERY | $80
+	ld [wMobileSDK_SendCommandID], a
 	ld b, $5
-	call Function111f07
+	call PacketSendBytes
 	ld a, $f
 	ld [$c86a], a
 	jp Function110432
@@ -1099,18 +1119,18 @@
 	xor a
 	ld [$c86b], a
 	ld de, $cba7
-	ld hl, Unknown_112072
+	ld hl, MobilePacket_TransferData
 	ld b, $6
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld de, $cbb7
-	ld hl, Unknown_112072
+	ld hl, MobilePacket_TransferData
 	ld b, $5
-	call Function110000
+	call MobileSDK_CopyBytes
 	inc de
 	inc de
 	ld bc, $0001
 	ld hl, Unknown_11209e
-	call Function110007
+	call MobileSDK_CopyString
 	pop hl
 	push hl
 	ld b, $ff
@@ -1128,7 +1148,7 @@
 	add $2
 	ld [$cbbc], a
 	pop hl
-	call Function110000
+	call MobileSDK_CopyBytes
 	call Function11295e
 	ld a, $0
 	jp Function110615
@@ -1166,10 +1186,10 @@
 	call Function112724
 	xor a
 	ld [$c86b], a
-	ld de, $cb47
-	ld hl, Unknown_112072
+	ld de, wMobileSDK_PacketBuffer
+	ld hl, MobilePacket_TransferData
 	ld b, $6
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, [$c86c]
 	ld [de], a
 	inc de
@@ -1176,9 +1196,9 @@
 	ld b, $1
 	call Function111f63
 	ld de, $cb53
-	ld hl, Unknown_112072
+	ld hl, MobilePacket_TransferData
 	ld b, $5
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld de, $cb59
 	ld a, [$c86c]
 	ld [de], a
@@ -1186,9 +1206,9 @@
 	ld bc, $0001
 	ld de, $cb5a
 	ld hl, Unknown_1120a4
-	call Function110007
+	call MobileSDK_CopyString
 	pop hl
-	call Function110007
+	call MobileSDK_CopyString
 	ld a, $3e
 	ld [de], a
 	inc de
@@ -1202,13 +1222,13 @@
 	ld [$cb58], a
 	ld b, c
 	call Function111f63
-	ld a, $95
-	ld [$c81e], a
+	ld a, MOBILE_COMMAND_TRANSFER_DATA | $80
+	ld [wMobileSDK_SendCommandID], a
 	ld hl, $cb53
 	ld d, $0
 	ld e, c
 	ld b, $5
-	call Function111f07
+	call PacketSendBytes
 	ld a, $15
 	ld [$c86a], a
 	jp Function110432
@@ -1248,10 +1268,10 @@
 	xor $1
 	ld [$c86b], a
 	inc [hl]
-	ld de, $cb47
-	ld hl, Unknown_112072
+	ld de, wMobileSDK_PacketBuffer
+	ld hl, MobilePacket_TransferData
 	ld b, $6
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld de, $cb4d
 	ld a, [$c86c]
 	ld [de], a
@@ -1259,9 +1279,9 @@
 	ld b, $1
 	call Function111f63
 	ld de, $cbdd
-	ld hl, Unknown_112072
+	ld hl, MobilePacket_TransferData
 	ld b, $5
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld de, $cbe3
 	ld a, [$c86c]
 	ld [de], a
@@ -1271,17 +1291,17 @@
 	ld bc, $0001
 	ld de, $cbe4
 	ld hl, Unknown_1120ba
-	call Function110007
+	call MobileSDK_CopyString
 	ld a, c
 	ld [$cbe2], a
 	ld b, c
 	call Function111f63
-	ld a, $95
-	ld [$c81e], a
+	ld a, MOBILE_COMMAND_TRANSFER_DATA | $80
+	ld [wMobileSDK_SendCommandID], a
 	ld de, $0011
 	ld hl, $cbdd
 	ld b, $5
-	call Function111f07
+	call PacketSendBytes
 
 .asm_110891
 	ld a, $16
@@ -1307,18 +1327,18 @@
 	xor a
 	ld [$c86b], a
 	ld de, $cb67
-	ld hl, Unknown_112072
+	ld hl, MobilePacket_TransferData
 	ld b, $6
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, [$c86c]
 	ld [de], a
 	inc de
 	ld b, $1
 	call Function111f63
-	ld de, $cb47
-	ld hl, Unknown_112072
+	ld de, wMobileSDK_PacketBuffer
+	ld hl, MobilePacket_TransferData
 	ld b, $5
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, $7
 	ld [de], a
 	inc de
@@ -1327,14 +1347,14 @@
 	inc de
 	ld bc, $0001
 	ld hl, Unknown_1120c1
-	call Function110007
+	call MobileSDK_CopyString
 	ld b, c
 	call Function111f63
-	ld a, $95
-	ld [$c81e], a
-	ld hl, $cb47
+	ld a, MOBILE_COMMAND_TRANSFER_DATA | $80
+	ld [wMobileSDK_SendCommandID], a
+	ld hl, wMobileSDK_PacketBuffer
 	ld b, $5
-	call Function111f07
+	call PacketSendBytes
 	ld a, $17
 	ld [$c86a], a
 	jp Function110432
@@ -1365,13 +1385,13 @@
 
 .asm_110933
 	ld de, $cba7
-	ld hl, Unknown_112072
+	ld hl, MobilePacket_TransferData
 	ld b, $5
-	call Function110000
+	call MobileSDK_CopyBytes
 	inc de
 	inc de
 	ld hl, Unknown_1120c8
-	call Function110007
+	call MobileSDK_CopyString
 	pop hl
 	push hl
 	ld b, $ff
@@ -1390,7 +1410,7 @@
 	ld [$cbac], a
 	pop hl
 	ld de, $cbb3
-	call Function110000
+	call MobileSDK_CopyBytes
 .asm_110961
 	ld a, [hli]
 	or a
@@ -1401,22 +1421,22 @@
 	ld bc, $0006
 	ld de, $cbf3
 	ld a, $20
-	call Function11000f
+	call MobileSDK_CopyStringLen
 	call Function11295e
 	ld a, c
 	ld [$cbec], a
 	ld de, $cbe7
-	ld hl, Unknown_112072
+	ld hl, MobilePacket_TransferData
 	ld b, $5
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld de, $cbee
 	ld hl, Unknown_1120ce
 	ld b, $5
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld de, $cbc7
-	ld hl, Unknown_112072
+	ld hl, MobilePacket_TransferData
 	ld b, $6
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, $1
 	jp Function110615
 
@@ -1434,10 +1454,10 @@
 	xor a
 	ld [$c86b], a
 	call Function112729
-	ld de, $cb47
-	ld hl, Unknown_112072
+	ld de, wMobileSDK_PacketBuffer
+	ld hl, MobilePacket_TransferData
 	ld b, $5
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, $7
 	ld [de], a
 	inc de
@@ -1446,14 +1466,14 @@
 	inc de
 	ld bc, $0001
 	ld hl, Unknown_1120d4
-	call Function110007
+	call MobileSDK_CopyString
 	ld b, c
 	call Function111f63
-	ld a, $95
-	ld [$c81e], a
-	ld hl, $cb47
+	ld a, MOBILE_COMMAND_TRANSFER_DATA | $80
+	ld [wMobileSDK_SendCommandID], a
+	ld hl, wMobileSDK_PacketBuffer
 	ld b, $5
-	call Function111f07
+	call PacketSendBytes
 	ld a, $18
 	ld [$c86a], a
 	jp Function110432
@@ -1476,10 +1496,10 @@
 	jp z, Function110231
 	push hl
 	call Function112729
-	ld de, $cb47
-	ld hl, Unknown_112072
+	ld de, wMobileSDK_PacketBuffer
+	ld hl, MobilePacket_TransferData
 	ld b, $5
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, $d
 	ld [de], a
 	inc de
@@ -1488,17 +1508,17 @@
 	inc de
 	ld bc, $0001
 	ld hl, Unknown_1120db
-	call Function110007
+	call MobileSDK_CopyString
 	ld de, $cb53
 	pop hl
 	call Function110d37
 	ld b, c
 	call Function111f63
-	ld a, $95
-	ld [$c81e], a
-	ld hl, $cb47
+	ld a, MOBILE_COMMAND_TRANSFER_DATA | $80
+	ld [wMobileSDK_SendCommandID], a
+	ld hl, wMobileSDK_PacketBuffer
 	ld b, $5
-	call Function111f07
+	call PacketSendBytes
 	ld a, $1d
 	ld [$c86a], a
 	jp Function110432
@@ -1557,10 +1577,10 @@
 	ld [hli], a
 	xor a
 	ld [$c86b], a
-	ld de, $cb47
-	ld hl, Unknown_112072
+	ld de, wMobileSDK_PacketBuffer
+	ld hl, MobilePacket_TransferData
 	ld b, $5
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, $d
 	ld [de], a
 	inc de
@@ -1569,7 +1589,7 @@
 	inc de
 	ld bc, $0001
 	ld hl, Unknown_1120e8
-	call Function110007
+	call MobileSDK_CopyString
 	ld de, $cb53
 	ld hl, $c86e
 	ld a, [hli]
@@ -1578,11 +1598,11 @@
 	call Function110d37
 	ld b, c
 	call Function111f63
-	ld a, $95
-	ld [$c81e], a
-	ld hl, $cb47
+	ld a, MOBILE_COMMAND_TRANSFER_DATA | $80
+	ld [wMobileSDK_SendCommandID], a
+	ld hl, wMobileSDK_PacketBuffer
 	ld b, $5
-	call Function111f07
+	call PacketSendBytes
 	ld a, $1a
 	ld [$c86a], a
 	jp Function110432
@@ -1648,7 +1668,7 @@
 	ld e, a
 	ld a, [$c82a]
 	ld d, a
-	call Function110000
+	call MobileSDK_CopyBytes
 	pop bc
 	ld hl, $c827
 	ld a, [hli]
@@ -1694,7 +1714,7 @@
 	ld e, a
 	ld a, [$c82a]
 	ld d, a
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $c829
 	ld a, e
 	ld [hli], a
@@ -1710,11 +1730,11 @@
 	ld a, $1
 	ld [$c86b], a
 	ld de, $000b
-	ld a, $95
-	ld [$c81e], a
+	ld a, MOBILE_COMMAND_TRANSFER_DATA | $80
+	ld [wMobileSDK_SendCommandID], a
 	ld hl, $cbc7
 	ld b, $5
-	jp Function111f07
+	jp PacketSendBytes
 
 .asm_110bbb
 	ld a, $4
@@ -1728,7 +1748,7 @@
 	ld d, [hl]
 	ld hl, $c82d
 	ld b, $2
-	jp Function110000
+	jp MobileSDK_CopyBytes
 
 .asm_110bd5
 	ld e, a
@@ -1753,7 +1773,7 @@
 	ld e, a
 	ld a, [$c82a]
 	ld d, a
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $c827
 	ld a, [hli]
 	ld h, [hl]
@@ -1779,7 +1799,7 @@
 	ld e, a
 	ld a, [$c82a]
 	ld d, a
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, e
 	ld [$c829], a
 	ld a, d
@@ -1813,10 +1833,10 @@
 	ld a, h
 	ld [$c86f], a
 	call Function112729
-	ld de, $cb47
-	ld hl, Unknown_112072
+	ld de, wMobileSDK_PacketBuffer
+	ld hl, MobilePacket_TransferData
 	ld b, $5
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, $d
 	ld [de], a
 	inc de
@@ -1825,7 +1845,7 @@
 	inc de
 	ld bc, $0001
 	ld hl, Unknown_1120f5
-	call Function110007
+	call MobileSDK_CopyString
 	ld de, $cb53
 	ld hl, $c86e
 	ld a, [hli]
@@ -1834,11 +1854,11 @@
 	call Function110d37
 	ld b, c
 	call Function111f63
-	ld a, $95
-	ld [$c81e], a
-	ld hl, $cb47
+	ld a, MOBILE_COMMAND_TRANSFER_DATA | $80
+	ld [wMobileSDK_SendCommandID], a
+	ld hl, wMobileSDK_PacketBuffer
 	ld b, $5
-	call Function111f07
+	call PacketSendBytes
 	ld a, $1b
 	ld [$c86a], a
 	jp Function110432
@@ -1897,10 +1917,10 @@
 	ld [hli], a
 	xor a
 	ld [$c86b], a
-	ld de, $cb47
-	ld hl, Unknown_112072
+	ld de, wMobileSDK_PacketBuffer
+	ld hl, MobilePacket_TransferData
 	ld b, $5
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, $e
 	ld [de], a
 	inc de
@@ -1909,7 +1929,7 @@
 	inc de
 	ld bc, $0001
 	ld hl, Unknown_112102
-	call Function110007
+	call MobileSDK_CopyString
 	ld de, $cb52
 	ld hl, $c86e
 	ld a, [hli]
@@ -1918,11 +1938,11 @@
 	call Function110d37
 	ld b, c
 	call Function111f63
-	ld a, $95
-	ld [$c81e], a
-	ld hl, $cb47
+	ld a, MOBILE_COMMAND_TRANSFER_DATA | $80
+	ld [wMobileSDK_SendCommandID], a
+	ld hl, wMobileSDK_PacketBuffer
 	ld b, $5
-	call Function111f07
+	call PacketSendBytes
 	ld a, $1c
 	ld [$c86a], a
 	jp Function110432
@@ -2050,7 +2070,7 @@
 	cp $d
 	jr nz, .penultimate_loop
 	pop hl
-	call Function110000
+	call MobileSDK_CopyBytes
 	pop hl
 	ret
 
@@ -2296,13 +2316,13 @@
 	ld [$cb52], a
 	ld a, $1
 	ld [$c86b], a
-	ld de, $cb47
-	ld hl, Unknown_11207d
+	ld de, wMobileSDK_PacketBuffer
+	ld hl, MobilePacket_OpenTCPConnection
 	ld b, $6
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $c866
 	ld b, $4
-	call Function110000
+	call MobileSDK_CopyBytes
 	inc de
 	inc de
 	ld b, $6
@@ -2333,18 +2353,18 @@
 	jp Function110432
 
 .asm_110f8a
-	ld hl, $cb47
+	ld hl, wMobileSDK_PacketBuffer
 	ld de, $c995
 	ld b, $10
-	call Function110000
+	call MobileSDK_CopyBytes
 
 .asm_110f95
 	ld de, $0010
-	ld hl, $cb47
-	ld a, $a3
-	ld [$c81e], a
+	ld hl, wMobileSDK_PacketBuffer
+	ld a, MOBILE_COMMAND_OPEN_TCP_CONNECTION | $80
+	ld [wMobileSDK_SendCommandID], a
 	ld b, $5
-	call Function111f07
+	call PacketSendBytes
 	ld a, $f
 	ld [$c86a], a
 	jp Function110432
@@ -2422,7 +2442,7 @@
 	ld e, a
 	ld a, [$c82a]
 	ld d, a
-	call Function110000
+	call MobileSDK_CopyBytes
 	pop bc
 	ld a, [$c991]
 	ld l, a
@@ -2476,7 +2496,7 @@
 	ld e, a
 	ld a, [$c82a]
 	ld d, a
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $c829
 	ld a, e
 	ld [hli], a
@@ -2489,15 +2509,15 @@
 	ld [$c989], a
 	ld hl, $c821
 	res 2, [hl]
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	cp $9f
 	jr z, .asm_111144
 	ld de, $000b
-	ld a, $95
-	ld [$c81e], a
-	ld hl, $cb47
+	ld a, MOBILE_COMMAND_TRANSFER_DATA | $80
+	ld [wMobileSDK_SendCommandID], a
+	ld hl, wMobileSDK_PacketBuffer
 	ld b, $5
-	call Function111f07
+	call PacketSendBytes
 	ld a, $1
 	ld [$c86b], a
 	ret
@@ -2566,7 +2586,7 @@
 	ld e, a
 	ld a, [$c82a]
 	ld d, a
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $c829
 	ld a, e
 	ld [hli], a
@@ -2606,7 +2626,7 @@
 	ld a, [$c82a]
 	ld d, a
 	ld b, c
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $c827
 	ld a, [hli]
 	ld h, [hl]
@@ -3038,10 +3058,10 @@
 	ld [hli], a
 	ld [hli], a
 	ld [hl], a
-	ld de, $cb47
-	ld hl, Unknown_112072
+	ld de, wMobileSDK_PacketBuffer
+	ld hl, MobilePacket_TransferData
 	ld b, $5
-	call Function110000
+	call MobileSDK_CopyBytes
 	pop hl
 	ld a, [hli]
 	or a
@@ -3060,7 +3080,7 @@
 	ld [de], a
 	inc de
 	ld b, c
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld b, c
 	inc b
 	inc b
@@ -3130,7 +3150,7 @@
 	ld a, b
 	ld [de], a
 	inc de
-	call Function110000
+	call MobileSDK_CopyBytes
 .asm_1114d2
 	xor a
 	or c
@@ -3160,7 +3180,7 @@
 	ld [$c992], a
 	ld b, a
 	ld de, $c880
-	call Function110000
+	call MobileSDK_CopyBytes
 .asm_1114fa
 	ld hl, $c821
 	res 3, [hl]
@@ -3188,12 +3208,12 @@
 	ld a, b
 	or a
 	jr z, .asm_111521
-	call Function110000
+	call MobileSDK_CopyBytes
 
 .asm_111521
 	ld hl, $ca41
 	ld b, c
-	call Function110000
+	call MobileSDK_CopyBytes
 	push hl
 	ld a, c
 	inc a
@@ -3230,9 +3250,9 @@
 	jr c, .asm_111582
 	xor a
 	ld [$c86b], a
-	ld a, $97
-	ld hl, Unknown_11202d
-	call Function111eff
+	ld a, MOBILE_COMMAND_TELEPHONE_STATUS | $80
+	ld hl, MobilePacket_TelephoneStatus
+	call PacketSendEmptyBody
 .asm_11156f
 	ld a, [$c988]
 	cp $40
@@ -3272,7 +3292,7 @@
 	jr Function1115e4
 
 .asm_1115af
-	ld a, [$c81e]
+	ld a, [wMobileSDK_SendCommandID]
 	cp $92
 	jr nz, .asm_1115dd
 	ld a, $2a
@@ -3288,7 +3308,7 @@
 	ld [$c800], a
 	ld a, $8
 	ld [$c807], a
-	call Function110029
+	call ResetReceivePacketBuffer
 	call Function11164f
 	ld hl, $c821
 	set 0, [hl]
@@ -3311,7 +3331,7 @@
 	ld [$c86b], a
 	ld a, [$c86d]
 	or a
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	jr z, .asm_111609
 	cp $9f
 	jr z, .asm_11160d
@@ -3357,11 +3377,11 @@
 	cp $1
 	jp nz, Function110226
 	xor a
-	ld hl, $cb47
+	ld hl, wMobileSDK_PacketBuffer
 	ld [hli], a
 	ld [hl], a
 	call Function111686
-	call Function110029
+	call ResetReceivePacketBuffer
 	ld bc, $0452
 	ld hl, $c800
 .asm_111647
@@ -3379,7 +3399,7 @@
 	ld [hli], a
 	ld a, [$c81f]
 	ld b, a
-	ld a, [$c818]
+	ld a, [wMobileSDK_AdapterType]
 	ld a, b
 	srl a
 	srl a
@@ -3389,24 +3409,24 @@
 	ret
 
 Function111664:
-	ld hl, $ca3a
+	ld hl, wMobileSDK_ReceivedBytes
 	ld a, [hli]
 	ld e, a
 	ld a, [hli]
 	ld d, a
-	ld a, [$c81e]
+	ld a, [wMobileSDK_SendCommandID]
 	cp $ff
 	jr z, .asm_111679
-	ld a, [$c822]
+	ld a, [wc822]
 	bit 0, a
 	jr z, .asm_11167c
 .asm_111679
-	ld hl, $ca2f
+	ld hl, wMobileSDK_ReceivePacketBufferAlt
 .asm_11167c
 	add hl, de
 	ld [hl], c
 	inc de
-	ld hl, $ca3a
+	ld hl, wMobileSDK_ReceivedBytes
 	ld a, e
 	ld [hli], a
 	ld [hl], d
@@ -3419,9 +3439,9 @@
 	ldh a, [c]
 	and $f3
 	ldh [c], a
-	ld a, [$cb48]
+	ld a, [wMobileSDK_PacketBuffer + 1]
 	ld [$c86a], a
-	ld a, [$cb47]
+	ld a, [wMobileSDK_PacketBuffer]
 	ld c, a
 	ld hl, $c821
 	ld a, [hl]
@@ -3452,7 +3472,7 @@
 	ld [hl], a
 	ld a, $2
 	and b
-	ld [$cb47], a
+	ld [wMobileSDK_PacketBuffer], a
 	ret
 
 _MobileReceive::
@@ -3482,7 +3502,7 @@
 	ld a, $8
 	cp l
 	jp nz, Function1118bc
-	ld a, [$c81e]
+	ld a, [wMobileSDK_SendCommandID]
 	cp $ff
 	jr z, .asm_111716
 	ld a, $f2
@@ -3501,18 +3521,18 @@
 	or a
 	jr z, .asm_111778
 .asm_111716
-	ld a, [$c81e]
-	cp $ff
+	ld a, [wMobileSDK_SendCommandID]
+	cp -1
 	jr z, .asm_111730
-	cp $ee
+	cp MOBILE_COMMAND_ERROR | $80
 	jr z, .asm_111727
-	cp $9f
+	cp MOBILE_COMMAND_TRANSFER_DATA_END | $80
 	jr nz, .asm_111727
-	ld a, $95
+	ld a, MOBILE_COMMAND_TRANSFER_DATA | $80
 .asm_111727
 	cp [hl]
 	jr nz, asm_11179a
-	ld a, [$c818]
+	ld a, [wMobileSDK_AdapterType]
 	or a
 	jr z, .asm_111730
 .asm_111730
@@ -3539,14 +3559,14 @@
 	ld a, $b
 	jr .asm_111774
 .asm_111757
-	ld a, [$c81e]
-	cp $ff
+	ld a, [wMobileSDK_SendCommandID]
+	cp -1
 	jr z, .asm_11176e
-	cp $92
+	cp MOBILE_COMMAND_DIAL_TELEPHONE | $80
 	jr z, .asm_111772
-	cp $a3
+	cp MOBILE_COMMAND_OPEN_TCP_CONNECTION | $80
 	jr z, .asm_111772
-	cp $a8
+	cp MOBILE_COMMAND_DNS_QUERY | $80
 	jr z, .asm_111772
 	ld a, $20
 	jr .asm_111774
@@ -3687,7 +3707,7 @@
 	xor a
 	ld [hli], a
 	inc [hl]
-	ld hl, $c812
+	ld hl, wMobileSDK_PacketChecksum
 	ld b, $3
 .asm_11184e
 	ld [hli], a
@@ -3768,15 +3788,15 @@
 	ldh a, [rSB]
 	ld c, a
 	ld b, $0
-	ld hl, $c812
+	ld hl, wMobileSDK_PacketChecksum
 	ld a, [hli]
 	ld l, [hl]
 	ld h, a
 	add hl, bc
 	ld a, h
-	ld [$c812], a
+	ld [wMobileSDK_PacketChecksum], a
 	ld a, l
-	ld [$c813], a
+	ld [wMobileSDK_PacketChecksum + 1], a
 	call Function111664
 	ld hl, $c80a
 	inc [hl]
@@ -3889,8 +3909,8 @@
 	ld a, [$c821]
 	bit 3, a
 	jr nz, .asm_111977
-	ld de, $b
-	ld hl, Unknown_112072
+	ld de, MobilePacket_TransferData.End - MobilePacket_TransferData
+	ld hl, MobilePacket_TransferData
 	ld a, $95
 	call Function111f02
 	jp Function111b3b
@@ -3902,11 +3922,11 @@
 	add $a
 	ld e, a
 	ld d, $0
-	ld a, $95
-	ld [$c81e], a
-	ld hl, $cb47
+	ld a, MOBILE_COMMAND_TRANSFER_DATA | $80
+	ld [wMobileSDK_SendCommandID], a
+	ld hl, wMobileSDK_PacketBuffer
 	ld b, $5
-	call Function111f07
+	call PacketSendBytes
 	jp Function111b3b
 .asm_1119dd
 	ld hl, $c821
@@ -3919,13 +3939,13 @@
 	jr .asm_1119a9
 
 Function1119f0:
-	ld a, $90
-	ld [$c81e], a
+	ld a, MOBILE_COMMAND_BEGIN_SESSION | $80
+	ld [wMobileSDK_SendCommandID], a
 	ld [$c808], a
 	ld b, $5
-	ld de, $12
-	ld hl, Unknown_112001
-	call Function111f07
+	ld de, MobilePacket_BeginSession.End - MobilePacket_BeginSession
+	ld hl, MobilePacket_BeginSession
+	call PacketSendBytes
 	ld a, $1
 	ld [$c806], a
 	jp Function111b3b
@@ -3946,7 +3966,7 @@
 	ld h, [hl]
 	ld l, a
 	ld b, $5
-	call Function111f07
+	call PacketSendBytes
 	jp Function111b3b
 
 Function111a2a:
@@ -3967,6 +3987,7 @@
 Function111a42:
 	ldh [rSB], a
 	jp Function111b2e
+
 asm_111a47:
 	ld hl, $c815
 	dec [hl]
@@ -4019,7 +4040,7 @@
 	ld a, $8
 	ld [$c807], a
 .asm_111aa8
-	call Function110029
+	call ResetReceivePacketBuffer
 	call Function11164f
 	ld hl, $c822
 	res 5, [hl]
@@ -4035,7 +4056,7 @@
 	ld a, [$c814]
 	or a
 	jr nz, .asm_111acb
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	xor $80
 	jp Function111a42
 .asm_111acb
@@ -4044,7 +4065,7 @@
 	ld a, $3
 	cp [hl]
 	jr z, .asm_111afe
-	call Function110029
+	call ResetReceivePacketBuffer
 	ld a, $3
 	ld [$c800], a
 	xor a
@@ -4121,48 +4142,50 @@
 	res 5, [hl]
 	bit 0, [hl]
 	jr z, .asm_111b59
-	ld a, [$ca2f]
+	ld a, [wMobileSDK_ReceivePacketBufferAlt]
 	jr .asm_111b5c
 .asm_111b59
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 .asm_111b5c
-	cp $9f
+
+	cp MOBILE_COMMAND_TRANSFER_DATA_END | $80
 	jr nz, .asm_111b62
-	ld a, $95
+	ld a, MOBILE_COMMAND_TRANSFER_DATA | $80
 .asm_111b62
 	ld b, a
+
 	ld hl, Function111e28
 	push hl
-	cp $ee
-	jp z, Function111e2b
-	ld a, [$c81e]
-	cp $ff
+	cp MOBILE_COMMAND_ERROR | $80
+	jp z, GetErrorCode
+	ld a, [wMobileSDK_SendCommandID]
+	cp -1
 	jp z, Function111ef8
-	cp $95
+	cp MOBILE_COMMAND_TRANSFER_DATA | $80
 	jp z, Function111c17
-	cp $a8
+	cp MOBILE_COMMAND_DNS_QUERY | $80
 	jp z, Function111d23
-	cp $a3
+	cp MOBILE_COMMAND_OPEN_TCP_CONNECTION | $80
 	jr z, .asm_111bbe
-	cp $a4
+	cp MOBILE_COMMAND_CLOSE_TCP_CONNECTION | $80
 	jr z, .asm_111bbe
-	cp $93
+	cp MOBILE_COMMAND_HANG_UP_TELEPHONE | $80
 	jr z, .asm_111be0
-	cp $99
+	cp MOBILE_COMMAND_READ_CONFIGURATION_DATA | $80
 	jr z, .asm_111bf0
-	cp $9a
+	cp MOBILE_COMMAND_WRITE_CONFIGURATION_DATA | $80
 	jp z, Function111c06
-	cp $97
+	cp MOBILE_COMMAND_TELEPHONE_STATUS | $80
 	jp z, Function111d70
-	cp $a1
+	cp MOBILE_COMMAND_ISP_LOGIN | $80
 	jr z, .asm_111bd0
-	cp $a2
+	cp MOBILE_COMMAND_ISP_LOGOUT | $80
 	jr z, .asm_111bca
-	cp $90
-	jp z, Function111d39
-	cp $94
+	cp MOBILE_COMMAND_BEGIN_SESSION | $80
+	jp z, ParseResponse_BeginSession
+	cp MOBILE_COMMAND_WAIT_FOR_TELEPHONE_CALL | $80
 	jp z, Function111d65
-	cp $92
+	cp MOBILE_COMMAND_DIAL_TELEPHONE | $80
 	jp z, Function111d65
 	ld hl, $c822
 	res 0, [hl]
@@ -4171,6 +4194,7 @@
 	xor a
 	ld [$c800], a
 	ret
+
 .asm_111bbe
 	ld a, [$ca40]
 	ld [$c86c], a
@@ -4177,10 +4201,12 @@
 	ld a, $4
 	ld [$c807], a
 	ret
+
 .asm_111bca
 	ld a, $3
 	ld [$c807], a
 	ret
+
 .asm_111bd0
 	ld a, $4
 	ld [$c807], a
@@ -4187,7 +4213,8 @@
 	ld de, $c823
 	ld hl, $ca40
 	ld b, $4
-	jp Function110000
+	jp MobileSDK_CopyBytes
+
 .asm_111be0
 	ld a, $2
 	ld [$c807], a
@@ -4196,17 +4223,18 @@
 	ld hl, $c821
 	res 4, [hl]
 	ret
+
 .asm_111bf0
 	ld hl, $c829
 	ld a, [hli]
 	ld d, [hl]
 	ld e, a
-	ld hl, $ca3f
+	ld hl, wMobileSDK_ReceivePacketBuffer + 3 ; packet size
 	ld a, [hli]
 	dec a
 	ld b, a
 	inc hl
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, $2
 	ld [$c807], a
 	ret
@@ -4215,14 +4243,14 @@
 	ld de, $c872
 	ld hl, $ca40
 	ld b, $2
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, $2
 	ld [$c807], a
 	ret
 
 Function111c17:
-	ld a, [$ca3c]
-	cp $9f
+	ld a, [wMobileSDK_ReceivePacketBuffer]
+	cp MOBILE_COMMAND_TRANSFER_DATA_END | $80
 	jp z, Function111d07
 	ld a, [$c86f]
 	ld b, a
@@ -4276,7 +4304,7 @@
 	ld b, a
 	ld hl, $ca42
 	ld de, $c880
-	call Function110000
+	call MobileSDK_CopyBytes
 	jp Function111d07
 .asm_111c83
 	ld a, $ff
@@ -4316,7 +4344,7 @@
 	ld e, l
 	ld d, h
 	ld hl, $ca41
-	call Function110000
+	call MobileSDK_CopyBytes
 	jr Function111d07
 
 Function111cc2:
@@ -4355,7 +4383,7 @@
 	or a
 	jr z, Function111d07
 	ld b, a
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $c829
 	ld a, e
 	ld [hli], a
@@ -4390,40 +4418,41 @@
 	ld d, a
 	ld hl, $ca40
 	ld b, $4
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, $4
 	ld [$c807], a
 	ret
 
-Function111d39:
-	ld de, $ca3f
-	ld hl, Unknown_112006
-	ld b, $9
-.asm_111d41
+ParseResponse_BeginSession:
+	ld de, wMobileSDK_ReceivePacketBuffer + 3
+	ld hl, MobilePacket_BeginSession + 5
+	ld b, 1 + STRLEN("NINTENDO")
+.check_loop
 	ld a, [de]
 	inc de
 	cp [hl]
-	jr nz, .asm_111d4a
+	jr nz, .check_done
 	inc hl
 	dec b
-	jr nz, .asm_111d41
-.asm_111d4a
+	jr nz, .check_loop
+.check_done
 	ld a, b
 	or a
-	jr nz, .asm_111d59
-	ld a, [$ca4a]
+	jr nz, .done
+
+	ld a, [wMobileSDK_ReceivePacketBuffer + 14] ; device type
 	cp $80
-	jr c, .asm_111d62
+	jr c, .fail
 	cp $90
-	jr nc, .asm_111d62
-.asm_111d59
-	ld [$c818], a
+	jr nc, .fail
+.done
+	ld [wMobileSDK_AdapterType], a
 	ld a, $2
 	ld [$c807], a
 	ret
-.asm_111d62
+.fail
 	xor a
-	jr .asm_111d59
+	jr .done
 
 Function111d65:
 	ld a, $3
@@ -4544,11 +4573,12 @@
 	ret
 
 Function111e28:
-	jp Function110029
+	jp ResetReceivePacketBuffer
 
-Function111e2b:
-	ld a, [$c81e]
-	cp $ff
+GetErrorCode:
+; Converts an error packet into a BCD error code
+	ld a, [wMobileSDK_SendCommandID]
+	cp -1
 	jp z, Function111ef8
 	ld a, [$c86a]
 	cp $d
@@ -4570,34 +4600,37 @@
 .asm_111e57
 	ld a, [hli]
 	ld [$c80e], a
-	cp $10
-	jr z, .asm_111e88
-	cp $12
-	jr z, .asm_111e8c
-	cp $13
-	jr z, .asm_111ea1
-	cp $15
-	jr z, .asm_111eae
-	cp $19
-	jr z, .asm_111edc
-	cp $21
-	jr z, .asm_111ee0
-	cp $22
-	jr z, .asm_111ea1
-	cp $23
-	jr z, .asm_111ee4
-	cp $24
-	jr z, .asm_111eed
-	cp $28
-	jr z, .asm_111ee9
+	cp MOBILE_COMMAND_BEGIN_SESSION
+	jr z, .adapter_not_plugged_in
+	cp MOBILE_COMMAND_DIAL_TELEPHONE
+	jr z, .dial_telephone
+	cp MOBILE_COMMAND_HANG_UP_TELEPHONE
+	jr z, .hang_up_logout
+	cp MOBILE_COMMAND_TRANSFER_DATA
+	jr z, .transfer_data
+	cp MOBILE_COMMAND_READ_CONFIGURATION_DATA
+	jr z, .read_configuration_data
+	cp MOBILE_COMMAND_ISP_LOGIN
+	jr z, .isp_login
+	cp MOBILE_COMMAND_ISP_LOGOUT
+	jr z, .hang_up_logout
+	cp MOBILE_COMMAND_OPEN_TCP_CONNECTION
+	jr z, .open_tcp_connection
+	cp MOBILE_COMMAND_CLOSE_TCP_CONNECTION
+	jr z, .close_tcp_connection
+	cp MOBILE_COMMAND_DNS_QUERY
+	jr z, .dns_query
 	ld a, [hl]
-.asm_111e84
+
+.store_error_code
 	ld [$c80f], a
 	ret
-.asm_111e88
+
+.adapter_not_plugged_in
 	ld a, $10
-	jr .asm_111e84
-.asm_111e8c
+	jr .store_error_code
+
+.dial_telephone
 	ld a, [hl]
 	or $0
 	jr z, .asm_111e9d
@@ -4604,14 +4637,15 @@
 	cp $2
 	jr z, .asm_111e99
 	ld a, $13
-	jr .asm_111e84
+	jr .store_error_code
 .asm_111e99
 	ld a, $17
-	jr .asm_111e84
+	jr .store_error_code
 .asm_111e9d
 	ld a, $12
-	jr .asm_111e84
-.asm_111ea1
+	jr .store_error_code
+
+.hang_up_logout
 	ld hl, $c821
 	res 1, [hl]
 	res 4, [hl]
@@ -4618,7 +4652,8 @@
 	ld a, $2
 	ld [$c807], a
 	ret
-.asm_111eae
+
+.transfer_data
 	ld a, [hl]
 	cp $1
 	jr nz, .asm_111ed3
@@ -4641,20 +4676,25 @@
 	ld hl, $c822
 	res 5, [hl]
 	ld a, $24
-	jr .asm_111e84
-.asm_111edc
+	jr .store_error_code
+
+.read_configuration_data
 	ld a, $14
-	jr .asm_111e84
-.asm_111ee0
+	jr .store_error_code
+
+.isp_login
 	ld a, $22
-	jr .asm_111e84
-.asm_111ee4
+	jr .store_error_code
+
+.open_tcp_connection
 	ld hl, $c821
 	res 1, [hl]
-.asm_111ee9
+
+.dns_query
 	ld a, $24
-	jr .asm_111e84
-.asm_111eed
+	jr .store_error_code
+
+.close_tcp_connection
 	ld hl, $c821
 	res 1, [hl]
 	ld a, $3
@@ -4666,14 +4706,17 @@
 	ld [$c807], a
 	ret
 
-Function111eff:
-	ld de, $000a
+PacketSendEmptyBody:
+	ld de, 10
 
 Function111f02:
-	ld [$c81e], a
+	ld [wMobileSDK_SendCommandID], a
 	ld b, $5
 
-Function111f07:
+PacketSendBytes:
+; hl = bytes
+; de = size
+; b = ?
 	call Function1100b4
 	ret c
 	ld a, [$c800]
@@ -4687,7 +4730,7 @@
 	and 1 << rSC_ON
 	jr nz, .asm_111f17
 	di
-	ld a, [$c81e]
+	ld a, [wMobileSDK_SendCommandID]
 	cp $ff
 	jr z, .asm_111f35
 	ld a, l
@@ -4801,76 +4844,89 @@
 	ret
 .asm_111fcd
 	ld b, $5
-	ld hl, $c81e
+	ld hl, wMobileSDK_SendCommandID
 	ld a, [hl]
-	cp $ff
+	cp -1
 	jr z, .asm_111fe9
-	ld a, $97
+	ld a, MOBILE_COMMAND_TELEPHONE_STATUS | $80
 	ld [hl], a
-	ld hl, Unknown_11202d
-	ld de, $a
-	call Function111f07
+	ld hl, MobilePacket_TelephoneStatus
+	ld de, MobilePacket_TelephoneStatus.End - MobilePacket_TelephoneStatus
+	call PacketSendBytes
 	ld hl, $c822
 	set 0, [hl]
 	ret
 .asm_111fe9
-	ld hl, Unknown_112001
-	ld de, $12
-	jp Function111f07
+	ld hl, MobilePacket_BeginSession
+	ld de, MobilePacket_BeginSession.End - MobilePacket_BeginSession
+	jp PacketSendBytes
 
 	ds 14
 
-Unknown_112000:
+MobilePacket_Idle:
 	db $4b
+.End
 
-Unknown_112001:
-	db $99, $66, $10, $00, $00
+MobilePacket_BeginSession:
+	db $99, $66, MOBILE_COMMAND_BEGIN_SESSION, $00, $00, $08, "NINTENDO", $02, $77, $80, $00
+.End
 
-Unknown_112006:
-	db $08, "NINTENDO", $02, $77, $80, $00
+MobilePacket_EndSession:
+	db $99, $66, MOBILE_COMMAND_END_SESSION, $00, $00, $00, $00, $11, $80, $00
+.End
 
-Unknown_112013:
-	db $99, $66, $11, $00, $00, $00, $00, $11, $80, $00
+MobilePacket_DialTelephone:
+	db $99, $66, MOBILE_COMMAND_DIAL_TELEPHONE, $00, $00, $00
+.End
 
-Unknown_11201d:
-	db $99, $66, $12, $00, $00, $00
+MobilePacket_HangUpTelephone:
+	db $99, $66, MOBILE_COMMAND_HANG_UP_TELEPHONE, $00, $00, $00, $00, $13, $80, $00
+.End
 
-Unknown_112023:
-	db $99, $66, $13, $00, $00, $00, $00, $13, $80, $00
+MobilePacket_TelephoneStatus:
+	db $99, $66, MOBILE_COMMAND_TELEPHONE_STATUS, $00, $00, $00, $00, $17, $80, $00
+.End
 
-Unknown_11202d:
-	db $99, $66, $17, $00, $00, $00, $00, $17, $80, $00
+MobilePacket_ISPLogin:
+	db $99, $66, MOBILE_COMMAND_ISP_LOGIN, $00, $00
+.End
 
-Unknown_112037:
-	db $99, $66, $21, $00, $00
+MobilePacket_ISPLogout:
+	db $99, $66, MOBILE_COMMAND_ISP_LOGOUT, $00, $00, $00, $00, $22, $80, $00
+.End
 
-Unknown_11203c:
-	db $99, $66, $22, $00, $00, $00, $00, $22, $80, $00
+MobilePacket_ReadConfigurationDataPart1:
+	db $99, $66, MOBILE_COMMAND_READ_CONFIGURATION_DATA, $00, $00, $02, $00, $60, $00, $7b, $80, $00
+.End
 
-Unknown_112046:
-	db $99, $66, $19, $00, $00, $02, $00, $60, $00, $7b, $80, $00
+MobilePacket_ReadConfigurationDataPart2:
+	db $99, $66, MOBILE_COMMAND_READ_CONFIGURATION_DATA, $00, $00, $02, $60, $60, $00, $db, $80, $00
+.End
 
-Unknown_112052:
-	db $99, $66, $19, $00, $00, $02, $60, $60, $00, $db, $80, $00
+MobilePacket_WriteConfigurationData:
+	db $99, $66, MOBILE_COMMAND_WRITE_CONFIGURATION_DATA, $00, $00
+.End
 
-Unknown_11205e:
-	db $99, $66, $1a, $00, $00
+MobilePacket_DNSQuery:
+	db $99, $66, MOBILE_COMMAND_DNS_QUERY, $00, $00
+.End
 
-Unknown_112063:
-	db $99, $66, $28, $00, $00
+MobilePacket_WaitForTelephoneCall:
+	db $99, $66, MOBILE_COMMAND_WAIT_FOR_TELEPHONE_CALL, $00, $00, $00, $00, $14, $80, $00
+.End
 
-Unknown_112068:
-	db $99, $66, $14, $00, $00, $00, $00, $14, $80, $00
+MobilePacket_TransferData:
+	db $99, $66, MOBILE_COMMAND_TRANSFER_DATA, $00, $00, $01, $ff, $01, $15, $80, $00
+.End
 
-Unknown_112072:
-	db $99, $66, $15, $00, $00, $01, $ff, $01, $15, $80, $00
+MobilePacket_OpenTCPConnection:
+	db $99, $66, MOBILE_COMMAND_OPEN_TCP_CONNECTION, $00, $00, $06
+.End
 
-Unknown_11207d:
-	db $99, $66, $23, $00, $00, $06
+MobilePacket_CloseTCPConnection:
+	db $99, $66, MOBILE_COMMAND_CLOSE_TCP_CONNECTION, $00, $00, $01
+.End
 
-Unknown_112083:
-	db $99, $66, $24, $00, $00, $01
-
 Unknown_112089:
 	db $ec, $14, $c9
 	db $e4, $0f, $0e
@@ -5020,7 +5076,7 @@
 	ret
 
 .asm_1121fe
-	ld a, [$c818]
+	ld a, [wMobileSDK_AdapterType]
 	or a
 	jr z, .asm_112206
 	jr Function112269
@@ -5037,21 +5093,24 @@
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
-	ld a, [$c818]
+	ld a, [wMobileSDK_AdapterType]
 	cp $88
 	jr c, .asm_112249
 	sub $88
 	ld [hl], a
+
+	; There aren't more than four adapters
 	cp $4
 	jr c, .asm_112226
 	ld a, $3
-
 .asm_112226
+
+	; The green adapter was scrapped, so the red adapter is the third
 	cp $3
 	jr nz, .asm_11222b
 	dec a
-
 .asm_11222b
+
 	ld b, a
 	ld a, $4
 	sub b
@@ -5095,9 +5154,9 @@
 	ret
 
 Function112269:
-	ld a, $91
-	ld hl, Unknown_112013
-	jp Function111eff
+	ld a, MOBILE_COMMAND_END_SESSION | $80
+	ld hl, MobilePacket_EndSession
+	jp PacketSendEmptyBody
 
 Function112271:
 	dec a
@@ -5118,7 +5177,7 @@
 	ret
 
 .asm_11228c
-	ld hl, Unknown_112046
+	ld hl, MobilePacket_ReadConfigurationDataPart1
 	jp Function11236b
 
 .asm_112292
@@ -5127,7 +5186,7 @@
 	ld [hli], a
 	ld a, $c8
 	ld [hli], a
-	ld hl, Unknown_112052
+	ld hl, MobilePacket_ReadConfigurationDataPart2
 	jp Function11236b
 
 .asm_1122a1
@@ -5158,10 +5217,10 @@
 	ld hl, $c884
 	ld de, $c836
 	ld b, $8
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $c8ca
 	ld b, $2c
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, [$cb79]
 	ld c, a
 	sub $8
@@ -5173,7 +5232,7 @@
 	ld d, h
 	ld hl, $c836
 	ld b, $8
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld b, c
 	call Function111f63
 	jr Function11235a
@@ -5238,7 +5297,7 @@
 	add $a
 	ld e, a
 	ld d, $0
-	ld hl, $cb47
+	ld hl, wMobileSDK_PacketBuffer
 	ld a, b
 	jp Function111f02
 
@@ -5248,9 +5307,9 @@
 	ld [hli], a
 	ld a, $c8
 	ld [hl], a
-	ld a, $97
-	ld hl, Unknown_11202d
-	jp Function111eff
+	ld a, MOBILE_COMMAND_TELEPHONE_STATUS | $80
+	ld hl, MobilePacket_TelephoneStatus
+	jp PacketSendEmptyBody
 
 Function11236b:
 	ld a, $99
@@ -5313,12 +5372,12 @@
 	dec [hl]
 
 .asm_1123be
-	ld a, $94
-	ld hl, Unknown_112068
-	jp Function111eff
+	ld a, MOBILE_COMMAND_WAIT_FOR_TELEPHONE_CALL | $80
+	ld hl, MobilePacket_WaitForTelephoneCall
+	jp PacketSendEmptyBody
 
 .asm_1123c6
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	cp $ee
 	jr z, .asm_1123bd
 	ld hl, $c822
@@ -5346,7 +5405,7 @@
 	ret
 
 .asm_1123f2
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	cp $9f
 	jr z, .asm_112408
 	call Function1127e1
@@ -5362,14 +5421,14 @@
 .asm_11240a
 	xor a
 	ld [$c86d], a
-	ld a, $a2
-	ld hl, Unknown_11203c
-	jp Function111eff
+	ld a, MOBILE_COMMAND_ISP_LOGOUT | $80
+	ld hl, MobilePacket_ISPLogout
+	jp PacketSendEmptyBody
 
 .asm_112416
-	ld a, $93
-	ld hl, Unknown_112023
-	jp Function111eff
+	ld a, MOBILE_COMMAND_HANG_UP_TELEPHONE | $80
+	ld hl, MobilePacket_HangUpTelephone
+	jp PacketSendEmptyBody
 
 .asm_11241e
 	jp Function112269
@@ -5386,10 +5445,10 @@
 Function112430:
 	ld a, $3
 	ld [$c807], a
-	ld de, $cb47
-	ld hl, Unknown_112083
-	ld b, $6
-	call Function110000
+	ld de, wMobileSDK_PacketBuffer
+	ld hl, MobilePacket_CloseTCPConnection
+	ld b, MobilePacket_CloseTCPConnection.End - MobilePacket_CloseTCPConnection
+	call MobileSDK_CopyBytes
 	ld a, [$c86c]
 	ld [de], a
 	inc de
@@ -5396,7 +5455,7 @@
 	inc b
 	call Function111f63
 	ld a, $a4
-	ld hl, $cb47
+	ld hl, wMobileSDK_PacketBuffer
 	jp Function111f02
 
 Function112451:
@@ -5432,7 +5491,7 @@
 	ld hl, $cb97
 	ld de, $c995
 	ld b, $10
-	call Function110000
+	call MobileSDK_CopyBytes
 
 .asm_11248b
 	ld a, $a3
@@ -5441,7 +5500,7 @@
 	jp Function111f02
 
 .asm_112496
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	cp $a3
 	jr z, .asm_1124ce
 	ld a, [$c822]
@@ -5644,10 +5703,10 @@
 	xor a
 	ld [hli], a
 	ld [hli], a
-	ld de, $cb47
-	ld hl, Unknown_112072
+	ld de, wMobileSDK_PacketBuffer
+	ld hl, MobilePacket_TransferData
 	ld b, $6
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, [$c86c]
 	ld [de], a
 	inc de
@@ -5654,9 +5713,9 @@
 	ld b, $1
 	call Function111f63
 	ld de, $cb53
-	ld hl, Unknown_112072
+	ld hl, MobilePacket_TransferData
 	ld b, $5
-	call Function110000
+	call MobileSDK_CopyBytes
 	inc de
 	ld a, [$c86c]
 	ld [de], a
@@ -5735,7 +5794,7 @@
 	ld a, [$c994]
 	or a
 	call nz, Function1126ac
-	call Function110007
+	call MobileSDK_CopyString
 	ret
 
 Function1126ac:
@@ -5744,14 +5803,14 @@
 
 Function1126b0:
 	ld hl, Unknown_112115
-	jp Function110007
+	jp MobileSDK_CopyString
 
 Function1126b6:
 	ld hl, Unknown_112121
-	call Function110007
+	call MobileSDK_CopyString
 	ld hl, $013f
 	ld b, $4
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, $2d
 	ld [de], a
 	inc de
@@ -5770,13 +5829,13 @@
 	add c
 	ld c, a
 	ld hl, Unknown_112132
-	jp Function110007
+	jp MobileSDK_CopyString
 
 Function1126e6:
 	xor a
 	ld [$c86b], a
 	ld hl, Unknown_11213d
-	call Function110007
+	call MobileSDK_CopyString
 	ld hl, $c9a5
 	ld b, $5
 .asm_1126f5
@@ -5791,7 +5850,7 @@
 
 .asm_112701
 	push bc
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, $d
 	ld [de], a
 	inc de
@@ -5872,7 +5931,7 @@
 	jp Function111f02
 
 .asm_11277a
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	cp $9f
 	jr z, Function1127cd
 	ld hl, $c86b
@@ -5978,11 +6037,11 @@
 	ld hl, $c82f
 	add hl, de
 	ld de, $c82f
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $ca41
 	ld b, c
 .asm_11282a
-	call Function110000
+	call MobileSDK_CopyBytes
 
 .asm_11282d
 	pop de
@@ -6028,10 +6087,10 @@
 	ld bc, $0001
 	ld de, $cb5a
 	ld hl, Unknown_1120b0
-	call Function110007
+	call MobileSDK_CopyString
 	pop hl
 	ld a, $80
-	call Function11000f
+	call MobileSDK_CopyStringLen
 	ld a, $3e
 	ld [de], a
 	inc de
@@ -6060,12 +6119,12 @@
 	ret
 
 .asm_1128ab
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	cp $9f
 	jp z, Function1127cd
 	ld hl, $c86b
 	dec [hl]
-	ld hl, $cb47
+	ld hl, wMobileSDK_PacketBuffer
 	jp Function1127c5
 
 Function1128bd:
@@ -6097,7 +6156,7 @@
 	ret
 
 .asm_1128e5
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	cp $9f
 	jp z, Function1127cd
 	call Function113482
@@ -6124,7 +6183,7 @@
 .asm_112913
 	call Function1127e1
 	jr nz, .asm_11293d
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	cp $9f
 	jp z, Function1127cd
 	ld hl, $c880
@@ -6147,7 +6206,7 @@
 	dec [hl]
 
 .asm_112941
-	ld hl, $cb47
+	ld hl, wMobileSDK_PacketBuffer
 	jp Function1127c5
 
 .asm_112947
@@ -6184,7 +6243,7 @@
 	ret
 
 .asm_112970
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	cp $9f
 	jr z, .asm_112986
 	call Function1127e1
@@ -6262,7 +6321,7 @@
 	ret
 
 .asm_1129fe
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	cp $9f
 	jr z, Function112a42
 	ld hl, $c86b
@@ -6358,7 +6417,7 @@
 	jp Function1128d3
 
 .asm_112a95
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	cp $9f
 	jr z, Function112a42
 	ld hl, $c86b
@@ -6540,7 +6599,7 @@
 	jp Function1128d3
 
 .asm_112ba3
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	cp $9f
 	jp z, Function112a42
 	ld hl, $c86b
@@ -6569,7 +6628,7 @@
 	jp Function1128d3
 
 .asm_112bd4
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	cp $9f
 	jp z, Function112a42
 	ld hl, $c86b
@@ -6653,7 +6712,7 @@
 	ld [hl], a
 	pop hl
 	ld b, c
-	jp Function110000
+	jp MobileSDK_CopyBytes
 
 .asm_112c56
 	ld [$c993], a
@@ -6678,7 +6737,7 @@
 	ld c, l
 	pop hl
 	push af
-	call Function110000
+	call MobileSDK_CopyBytes
 	pop af
 	push de
 	ld hl, $ca40
@@ -6687,7 +6746,7 @@
 	add hl, de
 	pop de
 	ld b, c
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, [$ca3d]
 	sub c
 	ld [$c994], a
@@ -6709,7 +6768,7 @@
 	ld [$c82c], a
 	pop hl
 	pop hl
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, [$ca3f]
 	sub c
 	push de
@@ -6719,7 +6778,7 @@
 	add hl, de
 	pop de
 	ld b, c
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, [$c82d]
 	add c
 	ld [$c82d], a
@@ -6747,7 +6806,7 @@
 	jr z, .asm_112d01
 
 .asm_112cef
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	cp $9f
 	jp z, Function112a42
 	ld hl, $c86b
@@ -6772,7 +6831,7 @@
 	ld d, [hl]
 	ld hl, $c82d
 	ld b, $2
-	jp Function110000
+	jp MobileSDK_CopyBytes
 
 Function112d20:
 	ld a, [$c86a]
@@ -6845,10 +6904,10 @@
 
 .asm_112d87
 	call Function113482
-	ld de, $cb47
-	ld hl, Unknown_112072
+	ld de, wMobileSDK_PacketBuffer
+	ld hl, MobilePacket_TransferData
 	ld b, $6
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, [$c86c]
 	ld [de], a
 	inc de
@@ -6864,15 +6923,15 @@
 	jr .asm_112dc1
 
 .asm_112dab
-	ld a, [$ca3c]
-	cp $9f
+	ld a, [wMobileSDK_ReceivePacketBuffer]
+	cp MOBILE_COMMAND_TRANSFER_DATA_END | $80
 	jr z, .asm_112dc1
 	ld hl, $c86b
 	dec [hl]
 	ld de, $000b
-	ld hl, $cb47
+	ld hl, wMobileSDK_PacketBuffer
 	ld b, $5
-	jp Function111f07
+	jp PacketSendBytes
 
 .asm_112dc1
 	ld a, [$c989]
@@ -6945,7 +7004,7 @@
 	ld d, [hl]
 	ld hl, $c82d
 	ld b, $2
-	jp Function110000
+	jp MobileSDK_CopyBytes
 
 .asm_112e38
 	ld hl, $c821
@@ -7214,7 +7273,7 @@
 	ld d, a
 	or e
 	jr z, .asm_112ffe
-	call Function110000
+	call MobileSDK_CopyBytes
 	xor a
 	ld [de], a
 
@@ -7270,11 +7329,11 @@
 	pop hl
 	ld c, b
 	ld de, $cb59
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $cb59
 	ld de, $c9b5
 	ld b, c
-	call Function110000
+	call MobileSDK_CopyBytes
 	xor a
 	ld [de], a
 	pop hl
@@ -7306,7 +7365,7 @@
 Function113072:
 	call Function113268
 	jp nc, Function113089
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	cp $9f
 	jp nz, Function1131a9
 	push hl
@@ -7360,7 +7419,7 @@
 .asm_1130c8
 	ld a, $6
 	ld [$c86b], a
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	cp $9f
 	ret z
 	jp Function112430
@@ -7399,10 +7458,10 @@
 	ld d, a
 	inc de
 	inc de
-	call Function110000
+	call MobileSDK_CopyBytes
 
 .asm_11310d
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	cp $9f
 	jr z, .asm_113150
 	ld a, [$ca3f]
@@ -7439,7 +7498,7 @@
 	ld [hl], a
 	ld c, b
 	pop hl
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $c82b
 	ld a, [hl]
 	sub c
@@ -7512,7 +7571,7 @@
 	inc de
 	dec b
 	dec b
-	call Function110000
+	call MobileSDK_CopyBytes
 	xor a
 	ld [de], a
 	pop hl
@@ -7536,7 +7595,7 @@
 	inc hl
 	dec b
 	ld c, b
-	call Function110000
+	call MobileSDK_CopyBytes
 
 .asm_1131c4
 	ld a, [$c82b]
@@ -7551,7 +7610,7 @@
 	ld hl, $ca40
 	add hl, bc
 	pop bc
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, c
 	ld [$c82d], a
 	ld a, $fa
@@ -7602,12 +7661,12 @@
 	ld d, a
 	inc de
 	inc de
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, [$c991]
 	ld [$c993], a
 	ld b, a
 	ld de, $c880
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $c82d
 	ld a, c
 	ld [hli], a
@@ -7627,7 +7686,7 @@
 	ld b, e
 	ld c, e
 	pop de
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $c82d
 	ld a, c
 	add [hl]
@@ -7729,7 +7788,7 @@
 	ld hl, Unknown_1132dd
 	ld a, [$c9a5]
 	or a
-	call nz, Function110007
+	call nz, MobileSDK_CopyString
 	ld a, [$c86a]
 	cp $22
 	jr nz, .asm_113344
@@ -7750,7 +7809,7 @@
 
 .asm_113351
 	ld hl, $c9b5
-	call Function110007
+	call MobileSDK_CopyString
 	call Function1126b6
 	ld a, c
 	ld [$cb58], a
@@ -7762,7 +7821,7 @@
 
 .asm_11336a
 	ld hl, Unknown_113372
-	call Function110007
+	call MobileSDK_CopyString
 	jr .asm_113351
 
 Unknown_113372:
@@ -7772,10 +7831,10 @@
 	call Function113482
 	ld a, $1
 	ld [$c86b], a
-	ld de, $cb47
-	ld hl, Unknown_112072
+	ld de, wMobileSDK_PacketBuffer
+	ld hl, MobilePacket_TransferData
 	ld b, $6
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, [$c86c]
 	ld [de], a
 	inc de
@@ -7782,9 +7841,9 @@
 	ld b, $1
 	call Function111f63
 	ld de, $cb53
-	ld hl, Unknown_112072
+	ld hl, MobilePacket_TransferData
 	ld b, $6
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, [$c86d]
 	cp $3
 	jp nz, Function113317
@@ -7847,7 +7906,7 @@
 	ld de, $c880
 	ld a, [hli]
 	ld b, a
-	call Function110000
+	call MobileSDK_CopyBytes
 	xor a
 	ld [de], a
 	ret
@@ -7866,7 +7925,7 @@
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
-	call Function110007
+	call MobileSDK_CopyString
 	ld l, e
 	ld h, d
 .asm_11344c
@@ -7881,7 +7940,7 @@
 	ld hl, $cb57
 	ld a, [hli]
 	ld b, a
-	call Function110000
+	call MobileSDK_CopyBytes
 	xor a
 	ld [de], a
 	ret
@@ -7901,7 +7960,7 @@
 	cp $2f
 	jr z, .asm_113478
 	ld b, $7
-	call Function110000
+	call MobileSDK_CopyBytes
 
 .asm_113478
 	ld a, [hli]
@@ -7949,7 +8008,7 @@
 	ld [$cb4c], a
 	ld de, $cb4e
 	ld b, c
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld a, l
 	ld [$c87c], a
 	ld a, h
@@ -7959,7 +8018,7 @@
 	call Function111f63
 	ld hl, $c86b
 	dec [hl]
-	ld hl, $cb47
+	ld hl, wMobileSDK_PacketBuffer
 	ld a, $95
 	jp Function111f02
 
@@ -7993,9 +8052,9 @@
 	jr .asm_1134fc
 
 .asm_1134f4
-	ld a, $97
-	ld hl, Unknown_11202d
-	jp Function111eff
+	ld a, MOBILE_COMMAND_TELEPHONE_STATUS | $80
+	ld hl, MobilePacket_TelephoneStatus
+	jp PacketSendEmptyBody
 
 .asm_1134fc
 	ld hl, $c86e
@@ -8029,7 +8088,7 @@
 	ret
 
 .asm_113527
-	ld hl, Unknown_112046
+	ld hl, MobilePacket_ReadConfigurationDataPart1
 	jp Function11236b
 
 .asm_11352d
@@ -8038,7 +8097,7 @@
 	ld [hli], a
 	ld a, $c8
 	ld [hli], a
-	ld hl, Unknown_112052
+	ld hl, MobilePacket_ReadConfigurationDataPart2
 	jp Function11236b
 
 .asm_11353c
@@ -8105,7 +8164,7 @@
 	xor a
 	ld [hl], a
 	inc de
-	call Function110000
+	call MobileSDK_CopyBytes
 	pop de
 	ret
 
@@ -8114,7 +8173,7 @@
 	call Function113592
 	ld a, $21
 	ld hl, $c88c
-	call Function11000f
+	call MobileSDK_CopyStringLen
 	xor a
 	ld [de], a
 	ret
@@ -8124,7 +8183,7 @@
 	call Function113592
 	ld a, $1f
 	ld hl, $c8ac
-	jp Function11000f
+	jp MobileSDK_CopyStringLen
 
 Function1135ba:
 	ld b, $65
@@ -8133,19 +8192,19 @@
 	call Function1135eb
 	ld a, $11
 	ld hl, $c8fe
-	call Function11000f
+	call MobileSDK_CopyStringLen
 	inc de
 	ld hl, $c90e
 	call Function1135eb
 	ld a, $11
 	ld hl, $c916
-	call Function11000f
+	call MobileSDK_CopyStringLen
 	inc de
 	ld hl, $c926
 	call Function1135eb
 	ld a, $11
 	ld hl, $c92e
-	jp Function11000f
+	jp MobileSDK_CopyStringLen
 
 Function1135eb:
 	ld b, $8
@@ -8227,7 +8286,7 @@
 	ld h, [hl]
 	ld l, a
 	ld b, c
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld b, c
 	inc b
 	call Function111f63
@@ -8236,7 +8295,7 @@
 	ld e, a
 	ld d, $0
 	ld a, $9a
-	ld hl, $cb47
+	ld hl, wMobileSDK_PacketBuffer
 	jp Function111f02
 
 .asm_11366c
@@ -8258,7 +8317,7 @@
 	ret
 
 .asm_113680
-	ld hl, $cb47
+	ld hl, wMobileSDK_PacketBuffer
 	jp Function11236b
 
 .asm_113686
@@ -8290,7 +8349,7 @@
 	ld hl, $c829
 	ld [hli], a
 	ld [hl], e
-	ld hl, $cb47
+	ld hl, wMobileSDK_PacketBuffer
 	jp Function11236b
 
 .asm_1136bb
@@ -8320,7 +8379,7 @@
 	ld de, $cb67
 	ld b, $30
 	ld c, b
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $c97f
 	ld a, [hli]
 	ld h, [hl]
@@ -8329,7 +8388,7 @@
 	ld a, [hli]
 	or a
 	jr nz, .asm_1136eb
-	call Function110007
+	call MobileSDK_CopyString
 	ld a, $37
 	cp c
 	inc a
@@ -8377,7 +8436,7 @@
 	ld de, $cbe7
 	ld hl, Unknown_113b7e
 	ld b, $10
-	call Function110000
+	call MobileSDK_CopyBytes
 
 .asm_113734
 	ld hl, $cc0c
@@ -8393,7 +8452,7 @@
 	ld hl, $cbe7
 	ld de, $cc18
 	ld b, $10
-	call Function110000
+	call MobileSDK_CopyBytes
 
 .asm_113751
 	ld hl, $cc0e
@@ -8458,7 +8517,7 @@
 	ld e, a
 	ld hl, $cbff
 	ld b, $4
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $cc0c
 	ld a, [hli]
 	ld h, [hl]
@@ -8497,7 +8556,7 @@
 	ld d, [hl]
 	ld e, a
 	ld hl, Unknown_113a55
-	call Function110007
+	call MobileSDK_CopyString
 	ld hl, $cb97
 	ld bc, $0020
 	call Function113c8e
@@ -8608,13 +8667,13 @@
 	ld b, $10
 	ld de, $cb97
 	ld hl, $cbe7
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld bc, $0010
 	ld hl, $c97f
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
-	call Function110007
+	call MobileSDK_CopyString
 	ld a, $24
 	sub c
 	ld b, a
@@ -8693,7 +8752,7 @@
 	add hl, de
 	ld de, $cbf7
 	ld b, $8
-	jp Function110000
+	jp MobileSDK_CopyBytes
 
 Function11392f:
 	ld hl, $cbf9
@@ -8702,7 +8761,7 @@
 	ld l, a
 	ld de, $cbff
 	ld b, $4
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $cbfb
 	ld a, [hli]
 	ld d, [hl]
@@ -8715,7 +8774,7 @@
 	ld l, a
 	ld de, $cc03
 	ld b, $4
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $cc03
 	call Function113a1f
 	ld hl, $cbfd
@@ -8736,7 +8795,7 @@
 	ld l, a
 	ld de, $cbff
 	ld b, $4
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $cbfd
 	ld a, [hli]
 	ld d, [hl]
@@ -8749,7 +8808,7 @@
 	ld l, a
 	ld de, $cc03
 	ld b, $4
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $cc03
 	call Function113a1f
 	ld hl, $cbfb
@@ -8770,7 +8829,7 @@
 	ld l, a
 	ld de, $cbff
 	ld b, $4
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $cbfb
 	ld a, [hli]
 	ld d, [hl]
@@ -8792,7 +8851,7 @@
 	ld l, a
 	ld de, $cbff
 	ld b, $4
-	call Function110000
+	call MobileSDK_CopyBytes
 	ld hl, $cbff
 	call Function113a1f
 	ld hl, $cbf9
@@ -9307,7 +9366,7 @@
 .asm_113e6d
 	ld a, [$c86d]
 	or a
-	ld a, [$ca3c]
+	ld a, [wMobileSDK_ReceivePacketBuffer]
 	jr z, .asm_113e81
 	cp $9f
 	jr z, .asm_113e85
@@ -9323,7 +9382,7 @@
 .asm_113e85
 	xor a
 	ld [$c86d], a
-	ld [$c81e], a
+	ld [wMobileSDK_SendCommandID], a
 	ld a, $2
 	ld [$c86a], a
 	ld a, $3
@@ -9351,7 +9410,7 @@
 
 Function113eb8:
 	ld a, $ff
-	ld [$c81e], a
+	ld [wMobileSDK_SendCommandID], a
 	ld hl, $c822
 	res 5, [hl]
 	res 0, [hl]
@@ -9376,9 +9435,9 @@
 	ld a, [hld]
 	dec hl
 	xor $80
-	ld [$c81e], a
+	ld [wMobileSDK_SendCommandID], a
 	ld b, $5
-	call Function111f07
+	call PacketSendBytes
 	pop af
 	bit 0, a
 	ret z
@@ -9423,7 +9482,7 @@
 	ld [hl], a
 	xor a
 	ld [$c800], a
-	ld hl, $cb47
+	ld hl, wMobileSDK_PacketBuffer
 	ld a, $2
 	ld [hli], a
 	dec a
@@ -9447,9 +9506,9 @@
 
 .asm_113f3e
 	xor a
-	ld [$ca3c], a
-	ld [$ca2f], a
-	ld a, [$c81e]
+	ld [wMobileSDK_ReceivePacketBuffer], a
+	ld [wMobileSDK_ReceivePacketBufferAlt], a
+	ld a, [wMobileSDK_SendCommandID]
 	cp $91
 	jr z, .asm_113f4f
 	jp Function113eb8
@@ -9465,7 +9524,7 @@
 	xor a
 	ld [$c80b], a
 	xor a
-	ld [$cb47], a
+	ld [wMobileSDK_PacketBuffer], a
 	ld hl, $c820
 	ld a, [hld]
 	ld h, [hl]
@@ -9483,7 +9542,7 @@
 	ld [hl], a
 	xor a
 	ld [$c800], a
-	ld hl, $cb47
+	ld hl, wMobileSDK_PacketBuffer
 	xor a
 	ld [hli], a
 	inc a
--- a/macros/legacy.asm
+++ b/macros/legacy.asm
@@ -176,6 +176,7 @@
 writebackup       EQUS "closewindow"
 interpretmenu     EQUS "_2dmenu"
 interpretmenu2    EQUS "verticalmenu"
+buttonsound       EQUS "promptbutton"
 battlecheck       EQUS "randomwildmon"
 loadtrainerdata   EQUS "loadtemptrainer"
 loadpokedata      EQUS "loadwildmon"
@@ -311,7 +312,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/main.asm
+++ b/main.asm
@@ -87,7 +87,6 @@
 INCLUDE "engine/events/print_unown.asm"
 INCLUDE "engine/events/print_photo.asm"
 INCLUDE "engine/pokemon/breeding.asm"
-INCLUDE "gfx/tilesets.asm"
 
 
 SECTION "Roofs", ROMX
@@ -518,6 +517,8 @@
 INCLUDE "engine/events/mom_phone.asm"
 
 
+SECTION "mobile40", ROMX
+
 INCLUDE "mobile/mobile_40.asm"
 
 
@@ -532,7 +533,7 @@
 INCLUDE "engine/gfx/load_overworld_font.asm"
 
 
-SECTION "Mobile 42", ROMX
+SECTION "mobile42", ROMX
 
 INCLUDE "mobile/mobile_42.asm"
 
@@ -549,9 +550,16 @@
 INCLUDE "engine/movie/title.asm"
 
 
+SECTION "mobile45", ROMX
+
 INCLUDE "mobile/mobile_45.asm"
+INCLUDE "mobile/mobile_45_sprite_engine.asm"
+INCLUDE "mobile/mobile_45_2.asm"
+INCLUDE "mobile/mobile_45_stadium.asm"
 
 
+SECTION "mobile46", ROMX
+
 INCLUDE "mobile/mobile_46.asm"
 
 
@@ -566,7 +574,7 @@
 INCLUDE "engine/link/link_trade.asm"
 
 
-SECTION "Mobile 5C", ROMX
+SECTION "mobile5C", ROMX
 
 INCLUDE "mobile/mobile_5c.asm"
 
@@ -595,12 +603,12 @@
 INCLUDE "engine/battle/update_battle_huds.asm"
 
 
-SECTION "Mobile 5E", ROMX
+SECTION "mobile5E", ROMX
 
 INCLUDE "mobile/mobile_5e.asm"
 
 
-SECTION "Mobile 5F", ROMX
+SECTION "mobile5F", ROMX
 
 INCLUDE "mobile/mobile_5f.asm"
 
--- 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
@@ -73,7 +73,7 @@
 
 .Flamethrower:
 	setval MOVETUTOR_FLAMETHROWER
-	writetext UnknownText_0x1991cf
+	writetext GoldenrodCityMoveTutorMoveText
 	special MoveTutor
 	ifequal FALSE, .TeachMove
 	sjump .Incompatible
@@ -80,7 +80,7 @@
 
 .Thunderbolt:
 	setval MOVETUTOR_THUNDERBOLT
-	writetext UnknownText_0x1991cf
+	writetext GoldenrodCityMoveTutorMoveText
 	special MoveTutor
 	ifequal FALSE, .TeachMove
 	sjump .Incompatible
@@ -87,7 +87,7 @@
 
 .IceBeam:
 	setval MOVETUTOR_ICE_BEAM
-	writetext UnknownText_0x1991cf
+	writetext GoldenrodCityMoveTutorMoveText
 	special MoveTutor
 	ifequal FALSE, .TeachMove
 	sjump .Incompatible
@@ -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
@@ -545,7 +545,7 @@
 	line "enough coins here…"
 	done
 
-UnknownText_0x1991cf:
+GoldenrodCityMoveTutorMoveText:
 	text_start
 	done
 
--- 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
@@ -45,18 +45,18 @@
 	checkevent EVENT_REFUSED_TO_HELP_LANCE_AT_LAKE_OF_RAGE
 	iftrue .AskAgainForHelp
 	opentext
-	writetext UnknownText_0x70157
-	buttonsound
+	writetext LakeOfRageLanceForcedToEvolveText
+	promptbutton
 	faceplayer
-	writetext UnknownText_0x701b4
+	writetext LakeOfRageLanceIntroText
 	yesorno
 	iffalse .RefusedToHelp
 .AgreedToHelp:
-	writetext UnknownText_0x702c6
+	writetext LakeOfRageLanceRadioSignalText
 	waitbutton
 	closetext
 	playsound SFX_WARP_TO
-	applymovement LAKEOFRAGE_LANCE, MovementData_0x70155
+	applymovement LAKEOFRAGE_LANCE, LakeOfRageLanceTeleportIntoSkyMovement
 	disappear LAKEOFRAGE_LANCE
 	clearevent EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE
 	setevent EVENT_DECIDED_TO_HELP_LANCE
@@ -64,7 +64,7 @@
 	end
 
 .RefusedToHelp:
-	writetext UnknownText_0x70371
+	writetext LakeOfRageLanceRefusedText
 	waitbutton
 	closetext
 	setevent EVENT_REFUSED_TO_HELP_LANCE_AT_LAKE_OF_RAGE
@@ -73,7 +73,7 @@
 .AskAgainForHelp:
 	faceplayer
 	opentext
-	writetext UnknownText_0x703a5
+	writetext LakeOfRageLanceAskHelpText
 	yesorno
 	iffalse .RefusedToHelp
 	sjump .AgreedToHelp
@@ -80,7 +80,7 @@
 
 RedGyarados:
 	opentext
-	writetext UnknownText_0x703cb
+	writetext LakeOfRageGyaradosCryText
 	pause 15
 	cry GYARADOS
 	closetext
@@ -94,7 +94,7 @@
 	opentext
 	giveitem RED_SCALE
 	waitsfx
-	writetext UnknownText_0x703df
+	writetext LakeOfRageGotRedScaleText
 	playsound SFX_ITEM
 	waitsfx
 	itemnotify
@@ -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
@@ -238,11 +238,11 @@
 LakeOfRageHiddenMaxPotion:
 	hiddenitem MAX_POTION, EVENT_LAKE_OF_RAGE_HIDDEN_MAX_POTION
 
-MovementData_0x70155:
+LakeOfRageLanceTeleportIntoSkyMovement:
 	teleport_from
 	step_end
 
-UnknownText_0x70157:
+LakeOfRageLanceForcedToEvolveText:
 	text "This lake is full"
 	line "of GYARADOS but"
 	cont "nothing else…"
@@ -252,7 +252,7 @@
 	cont "to evolve…"
 	done
 
-UnknownText_0x701b4:
+LakeOfRageLanceIntroText:
 	text "Did you come here"
 	line "because of the"
 	cont "rumors?"
@@ -280,7 +280,7 @@
 	cont "investigate?"
 	done
 
-UnknownText_0x702c6:
+LakeOfRageLanceRadioSignalText:
 	text "LANCE: Excellent!"
 
 	para "It seems that the"
@@ -299,22 +299,22 @@
 	line "for you, <PLAY_G>."
 	done
 
-UnknownText_0x70371:
+LakeOfRageLanceRefusedText:
 	text "Oh… Well, if you"
 	line "change your mind,"
 	cont "please help me."
 	done
 
-UnknownText_0x703a5:
+LakeOfRageLanceAskHelpText:
 	text "LANCE: Hm? Are you"
 	line "going to help me?"
 	done
 
-UnknownText_0x703cb:
+LakeOfRageGyaradosCryText:
 	text "GYARADOS: Gyashaa!"
 	done
 
-UnknownText_0x703df:
+LakeOfRageGotRedScaleText:
 	text "<PLAYER> obtained a"
 	line "RED SCALE."
 	done
--- 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/LancesRoom.asm
+++ b/maps/LancesRoom.asm
@@ -80,7 +80,7 @@
 	appear LANCESROOM_MARY
 	applymovement LANCESROOM_MARY, LancesRoomMovementData_MaryRushesIn
 	opentext
-	writetext UnknownText_0x1811dd
+	writetext LancesRoomMaryOhNoOakText
 	waitbutton
 	closetext
 	appear LANCESROOM_OAK
@@ -91,19 +91,19 @@
 	turnobject LANCESROOM_OAK, UP
 	turnobject LANCESROOM_LANCE, LEFT
 	opentext
-	writetext UnknownText_0x18121b
+	writetext LancesRoomOakCongratulationsText
 	waitbutton
 	closetext
 	applymovement LANCESROOM_MARY, LancesRoomMovementData_MaryInterviewChampion
 	turnobject PLAYER, LEFT
 	opentext
-	writetext UnknownText_0x18134b
+	writetext LancesRoomMaryInterviewText
 	waitbutton
 	closetext
 	applymovement LANCESROOM_LANCE, LancesRoomMovementData_LancePositionsSelfToGuidePlayerAway
 	turnobject PLAYER, UP
 	opentext
-	writetext UnknownText_0x18137b
+	writetext LancesRoomNoisyText
 	waitbutton
 	closetext
 	follow LANCESROOM_LANCE, PLAYER
@@ -119,7 +119,7 @@
 	applymovement LANCESROOM_MARY, LancesRoomMovementData_MaryTriesToFollow
 	showemote EMOTE_SHOCK, LANCESROOM_MARY, 15
 	opentext
-	writetext UnknownText_0x1813c5
+	writetext LancesRoomMaryNoInterviewText
 	pause 30
 	closetext
 	applymovement LANCESROOM_MARY, LancesRoomMovementData_MaryRunsBackAndForth
@@ -273,7 +273,7 @@
 	line "your #MON."
 	done
 
-UnknownText_0x1811dd:
+LancesRoomMaryOhNoOakText:
 	text "MARY: Oh, no!"
 	line "It's all over!"
 
@@ -281,7 +281,7 @@
 	line "weren't so slow…"
 	done
 
-UnknownText_0x18121b:
+LancesRoomOakCongratulationsText:
 	text "PROF.OAK: Ah,"
 	line "<PLAY_G>!"
 
@@ -314,13 +314,13 @@
 	line "<PLAY_G>!"
 	done
 
-UnknownText_0x18134b:
+LancesRoomMaryInterviewText:
 	text "MARY: Let's inter-"
 	line "view the brand new"
 	cont "CHAMPION!"
 	done
 
-UnknownText_0x18137b:
+LancesRoomNoisyText:
 	text "LANCE: This is"
 	line "getting to be a"
 	cont "bit too noisy…"
@@ -329,7 +329,7 @@
 	line "come with me?"
 	done
 
-UnknownText_0x1813c5:
+LancesRoomMaryNoInterviewText:
 	text "MARY: Oh, wait!"
 	line "We haven't done"
 	cont "the interview!"
--- 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/MahoganyMart1F.asm
+++ b/maps/MahoganyMart1F.asm
@@ -2,7 +2,7 @@
 	const MAHOGANYMART1F_PHARMACIST
 	const MAHOGANYMART1F_BLACK_BELT
 	const MAHOGANYMART1F_LANCE
-	const MAHOGANYMART1F_DRAGON
+	const MAHOGANYMART1F_DRAGONITE
 	const MAHOGANYMART1F_GRANNY
 
 MahoganyMart1F_MapScripts:
@@ -29,7 +29,7 @@
 	changeblock 6, 2, $1e ; stairs
 	return
 
-MahogayMart1FPharmacistScript:
+MahoganyMart1FPharmacistScript:
 	faceplayer
 	opentext
 	checkevent EVENT_DECIDED_TO_HELP_LANCE
@@ -39,23 +39,23 @@
 	end
 
 .LanceEntered:
-	writetext MahogayMart1FPharmacistText_LanceEntered
+	writetext MahoganyMart1FPharmacistText_LanceEntered
 	waitbutton
 	closetext
 	end
 
-MahogayMart1FBlackBeltScript:
+MahoganyMart1FBlackBeltScript:
 	faceplayer
 	opentext
 	checkevent EVENT_DECIDED_TO_HELP_LANCE
 	iftrue .LanceEntered
-	writetext MahogayMart1FBlackBeltText
+	writetext MahoganyMart1FBlackBeltText
 	waitbutton
 	closetext
 	end
 
 .LanceEntered:
-	writetext MahogayMart1FBlackBeltText_LanceEntered
+	writetext MahoganyMart1FBlackBeltText_LanceEntered
 	waitbutton
 	closetext
 	end
@@ -63,27 +63,27 @@
 MahoganyMart1FLanceUncoversStaircaseScript:
 	pause 15
 	opentext
-	writetext UnknownText_0x6c52a
+	writetext MahoganyMart1FLanceDragoniteHyperBeamText
 	pause 15
 	closetext
 	playsound SFX_TACKLE
-	applymovement MAHOGANYMART1F_DRAGON, MovementData_0x6c3f6
-	applymovement MAHOGANYMART1F_BLACK_BELT, MovementData_0x6c3fb
+	applymovement MAHOGANYMART1F_DRAGONITE, MahoganyMart1FDragoniteTackleMovement
+	applymovement MAHOGANYMART1F_BLACK_BELT, MahoganyMart1FBlackBeltKnockedBackMovement
 	pause 15
-	disappear MAHOGANYMART1F_DRAGON
+	disappear MAHOGANYMART1F_DRAGONITE
 	pause 15
-	applymovement MAHOGANYMART1F_LANCE, MovementData_0x6c407
+	applymovement MAHOGANYMART1F_LANCE, MahoganyMart1FLanceApproachPlayerMovement
 	opentext
-	writetext UnknownText_0x6c549
+	writetext MahoganyMart1FLanceRadioText
 	waitbutton
 	closetext
 	follow MAHOGANYMART1F_LANCE, PLAYER
-	applymovement MAHOGANYMART1F_LANCE, MovementData_0x6c40a
-	applymovement MAHOGANYMART1F_PHARMACIST, MovementData_0x6c403
-	applymovement MAHOGANYMART1F_LANCE, MovementData_0x6c40e
+	applymovement MAHOGANYMART1F_LANCE, MahoganyMart1FLanceApproachPharmacistMovement
+	applymovement MAHOGANYMART1F_PHARMACIST, MahoganyMart1FPharmacistShovedAsideMovement
+	applymovement MAHOGANYMART1F_LANCE, MahoganyMart1FLanceApproachHiddenStairsMovement
 	stopfollow
 	opentext
-	writetext UnknownText_0x6c59e
+	writetext MahoganyMart1FLanceStairsText
 	waitbutton
 	showemote EMOTE_SHOCK, MAHOGANYMART1F_PHARMACIST, 10
 	playsound SFX_FAINT
@@ -93,10 +93,10 @@
 	setevent EVENT_UNCOVERED_STAIRCASE_IN_MAHOGANY_MART
 	turnobject MAHOGANYMART1F_LANCE, LEFT
 	opentext
-	writetext UnknownText_0x6c5ba
+	writetext MahoganyMart1FLanceSplitUpText
 	waitbutton
 	closetext
-	applymovement MAHOGANYMART1F_LANCE, MovementData_0x6c412
+	applymovement MAHOGANYMART1F_LANCE, MahoganyMart1FLanceGoDownStairsMovement
 	playsound SFX_EXIT_BUILDING
 	disappear MAHOGANYMART1F_LANCE
 	setscene SCENE_MAHOGANYMART1F_NOTHING
@@ -103,7 +103,7 @@
 	waitsfx
 	end
 
-MahogayMart1FGrannyScript:
+MahoganyMart1FGrannyScript:
 	faceplayer
 	opentext
 	pokemart MARTTYPE_STANDARD, MART_MAHOGANY_2
@@ -110,7 +110,7 @@
 	closetext
 	end
 
-MovementData_0x6c3f6:
+MahoganyMart1FDragoniteTackleMovement:
 	fix_facing
 	big_step LEFT
 	big_step RIGHT
@@ -117,7 +117,7 @@
 	remove_fixed_facing
 	step_end
 
-MovementData_0x6c3fb:
+MahoganyMart1FBlackBeltKnockedBackMovement:
 	fix_facing
 	big_step LEFT
 	remove_fixed_facing
@@ -127,30 +127,30 @@
 	turn_head RIGHT
 	step_end
 
-MovementData_0x6c403:
+MahoganyMart1FPharmacistShovedAsideMovement:
 	fix_facing
 	big_step LEFT
 	remove_fixed_facing
 	step_end
 
-MovementData_0x6c407:
+MahoganyMart1FLanceApproachPlayerMovement:
 	slow_step LEFT
 	turn_head DOWN
 	step_end
 
-MovementData_0x6c40a:
+MahoganyMart1FLanceApproachPharmacistMovement:
 	slow_step RIGHT
 	slow_step UP
 	slow_step UP
 	step_end
 
-MovementData_0x6c40e:
+MahoganyMart1FLanceApproachHiddenStairsMovement:
 	slow_step UP
 	slow_step RIGHT
 	slow_step RIGHT
 	step_end
 
-MovementData_0x6c412:
+MahoganyMart1FLanceGoDownStairsMovement:
 	slow_step RIGHT
 	step_end
 
@@ -164,13 +164,13 @@
 	line "eat in MAHOGANY!"
 	done
 
-MahogayMart1FPharmacistText_LanceEntered:
+MahoganyMart1FPharmacistText_LanceEntered:
 	text "Arrgh… You found"
 	line "the secret stair-"
 	cont "way…"
 	done
 
-MahogayMart1FBlackBeltText:
+MahoganyMart1FBlackBeltText:
 	text "Heheh! The experi-"
 	line "ment worked like a"
 	cont "charm."
@@ -182,7 +182,7 @@
 	line "moneymakers."
 	done
 
-MahogayMart1FBlackBeltText_LanceEntered:
+MahoganyMart1FBlackBeltText_LanceEntered:
 	text "Urrgh…"
 
 	para "That guy's dragon"
@@ -189,12 +189,12 @@
 	line "#MON are tough…"
 	done
 
-UnknownText_0x6c52a:
+MahoganyMart1FLanceDragoniteHyperBeamText:
 	text "LANCE: DRAGONITE,"
 	line "HYPER BEAM."
 	done
 
-UnknownText_0x6c549:
+MahoganyMart1FLanceRadioText:
 	text "What took you,"
 	line "<PLAY_G>?"
 
@@ -205,12 +205,12 @@
 	line "from here."
 	done
 
-UnknownText_0x6c59e:
+MahoganyMart1FLanceStairsText:
 	text "The stairs are"
 	line "right here."
 	done
 
-UnknownText_0x6c5ba:
+MahoganyMart1FLanceSplitUpText:
 	text "LANCE: <PLAY_G>, we"
 	line "should split up to"
 
@@ -231,8 +231,8 @@
 	db 0 ; bg events
 
 	db 5 ; object events
-	object_event  4,  3, SPRITE_PHARMACIST, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, MahogayMart1FPharmacistScript, EVENT_TEAM_ROCKET_BASE_POPULATION
-	object_event  1,  6, SPRITE_BLACK_BELT, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, MahogayMart1FBlackBeltScript, EVENT_TEAM_ROCKET_BASE_POPULATION
+	object_event  4,  3, SPRITE_PHARMACIST, SPRITEMOVEDATA_STANDING_DOWN, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, MahoganyMart1FPharmacistScript, EVENT_TEAM_ROCKET_BASE_POPULATION
+	object_event  1,  6, SPRITE_BLACK_BELT, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, MahoganyMart1FBlackBeltScript, EVENT_TEAM_ROCKET_BASE_POPULATION
 	object_event  4,  6, SPRITE_LANCE, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE
 	object_event  3,  6, SPRITE_DRAGON, SPRITEMOVEDATA_STANDING_LEFT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, ObjectEvent, EVENT_MAHOGANY_MART_LANCE_AND_DRAGONITE
-	object_event  1,  3, SPRITE_GRANNY, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, MahogayMart1FGrannyScript, EVENT_MAHOGANY_MART_OWNERS
+	object_event  1,  3, SPRITE_GRANNY, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, MahoganyMart1FGrannyScript, EVENT_MAHOGANY_MART_OWNERS
--- 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
@@ -2,7 +2,7 @@
 	const MOUNTMORTARB1F_POKE_BALL1
 	const MOUNTMORTARB1F_POKE_BALL2
 	const MOUNTMORTARB1F_BOULDER
-	const MOUNTMORTARB1F_BLACK_BELT
+	const MOUNTMORTARB1F_KIYO
 	const MOUNTMORTARB1F_POKE_BALL3
 	const MOUNTMORTARB1F_POKE_BALL4
 	const MOUNTMORTARB1F_POKE_BALL5
@@ -19,10 +19,10 @@
 	iftrue .GotTyrogue
 	checkevent EVENT_BEAT_BLACKBELT_KIYO
 	iftrue .BeatKiyo
-	writetext UnknownText_0x7e24d
+	writetext MountMortarB1FKiyoIntroText
 	waitbutton
 	closetext
-	winlosstext UnknownText_0x7e2a9, 0
+	winlosstext MountMortarB1FKiyoWinText, 0
 	loadtrainer BLACKBELT_T, KIYO
 	startbattle
 	reloadmapafterbattle
@@ -29,24 +29,24 @@
 	setevent EVENT_BEAT_BLACKBELT_KIYO
 	opentext
 .BeatKiyo:
-	writetext UnknownText_0x7e2c0
-	buttonsound
+	writetext MountMortarB1FTyrogueRewardText
+	promptbutton
 	waitsfx
 	readvar VAR_PARTYCOUNT
 	ifequal PARTY_LENGTH, .NoRoom
-	writetext UnknownText_0x7e355
+	writetext MountMortarB1FReceiveMonText
 	playsound SFX_CAUGHT_MON
 	waitsfx
 	givepoke TYROGUE, 10
 	setevent EVENT_GOT_TYROGUE_FROM_KIYO
 .GotTyrogue:
-	writetext UnknownText_0x7e36a
+	writetext MountMortarB1FKiyoGotTyrogueText
 	waitbutton
 	closetext
 	end
 
 .NoRoom:
-	writetext UnknownText_0x7e3df
+	writetext MountMortarB1FKiyoFullPartyText
 	waitbutton
 	closetext
 	end
@@ -72,7 +72,7 @@
 MountMortarB1FHiddenMaxRevive:
 	hiddenitem MAX_REVIVE, EVENT_MOUNT_MORTAR_B1F_HIDDEN_MAX_REVIVE
 
-UnknownText_0x7e24d:
+MountMortarB1FKiyoIntroText:
 	text "Hey!"
 
 	para "I am the KARATE"
@@ -87,12 +87,12 @@
 	para "Hwaaarggh!"
 	done
 
-UnknownText_0x7e2a9:
+MountMortarB1FKiyoWinText:
 	text "Waaaarggh!"
 	line "I'm beaten!"
 	done
 
-UnknownText_0x7e2c0:
+MountMortarB1FTyrogueRewardText:
 	text "I… I'm crushed…"
 
 	para "My training is"
@@ -108,12 +108,12 @@
 	line "fighting #MON."
 	done
 
-UnknownText_0x7e355:
+MountMortarB1FReceiveMonText:
 	text "<PLAYER> received"
 	line "TYROGUE."
 	done
 
-UnknownText_0x7e36a:
+MountMortarB1FKiyoGotTyrogueText:
 	text "TYROGUE is a"
 	line "fighting-type."
 
@@ -127,7 +127,7 @@
 	para "Farewell!"
 	done
 
-UnknownText_0x7e3df:
+MountMortarB1FKiyoFullPartyText:
 	text "You have no room"
 	line "in your party!"
 	done
--- 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
@@ -82,8 +82,8 @@
 	iftrue .NumberAccepted
 	checkevent EVENT_JACK_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskAgain
-	writetext UnknownText_0x5c4f3
-	buttonsound
+	writetext SchoolboyJackTradeMonText
+	promptbutton
 	setevent EVENT_JACK_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1
 	sjump .RequestNumber
@@ -212,8 +212,8 @@
 	iffalse .NoMarill
 	checkevent EVENT_BEVERLY_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskAgain
-	writetext UnknownText_0x5c5bd
-	buttonsound
+	writetext PokefanBeverlyCuteMonText
+	promptbutton
 	setevent EVENT_BEVERLY_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1
 	sjump .RequestNumber
@@ -239,7 +239,7 @@
 	sjump .PackFull
 
 .NoMarill:
-	writetext UnknownText_0x5c68a
+	writetext PokefanFBeverlyMarillFriendText
 	waitbutton
 	closetext
 	end
@@ -405,7 +405,7 @@
 	text "Wha-wha-what?"
 	done
 
-UnknownText_0x5c4f3:
+SchoolboyJackTradeMonText:
 	text "There is a lot"
 	line "to learn."
 
@@ -432,7 +432,7 @@
 	line "pride, but…"
 	done
 
-UnknownText_0x5c5bd:
+PokefanBeverlyCuteMonText:
 	text "I must say, your"
 	line "#MON are quite"
 	cont "cute, too."
@@ -459,7 +459,7 @@
 	line "being most lovely."
 	done
 
-UnknownText_0x5c68a:
+PokefanFBeverlyMarillFriendText:
 	text "My friend keeps a"
 	line "MARILL!"
 
--- 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
@@ -34,7 +34,7 @@
 	opentext
 	checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1
 	iftrue OlivinePortAlreadyRodeScript
-	writetext UnknownText_0x74a55
+	writetext OlivinePortSailorGetOnBoardText
 	waitbutton
 	closetext
 	turnobject OLIVINEPORT_SAILOR1, DOWN
@@ -67,7 +67,7 @@
 	end
 
 OlivinePortAlreadyRodeScript:
-	writetext UnknownText_0x74a80
+	writetext OlivinePortCantBoardText
 	waitbutton
 	closetext
 	end
@@ -89,14 +89,14 @@
 	ifequal WEDNESDAY, .NextShipFriday
 	ifequal THURSDAY, .NextShipFriday
 .FirstTime:
-	writetext UnknownText_0x74a9c
+	writetext OlivinePortAskBoardText
 	yesorno
 	iffalse OlivinePortNotRidingMoveAwayScript
-	writetext UnknownText_0x74ada
-	buttonsound
+	writetext OlivinePortAskTicketText
+	promptbutton
 	checkitem S_S_TICKET
 	iffalse .NoTicket
-	writetext UnknownText_0x74b11
+	writetext OlivinePortFlashTicketText
 	waitbutton
 	closetext
 	setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2
@@ -104,7 +104,7 @@
 	sjump OlivinePortSailorAtGangwayScript
 
 .NoTicket:
-	writetext UnknownText_0x74b41
+	writetext OlivinePortNoTicketText
 	waitbutton
 	closetext
 	applymovement PLAYER, MovementData_0x74a34
@@ -111,7 +111,7 @@
 	end
 
 .NextShipMonday:
-	writetext UnknownText_0x74ba8
+	writetext OlivinePortMondayShipText
 	waitbutton
 	closetext
 	applymovement PLAYER, MovementData_0x74a34
@@ -118,7 +118,7 @@
 	end
 
 .NextShipFriday:
-	writetext UnknownText_0x74bce
+	writetext OlivinePortFridayShipText
 	waitbutton
 	closetext
 	applymovement PLAYER, MovementData_0x74a34
@@ -128,13 +128,13 @@
 	end
 
 OlivinePortNotRidingScript:
-	writetext UnknownText_0x74af6
+	writetext OlivinePortComeAgainText
 	waitbutton
 	closetext
 	end
 
 OlivinePortNotRidingMoveAwayScript:
-	writetext UnknownText_0x74af6
+	writetext OlivinePortComeAgainText
 	waitbutton
 	closetext
 	applymovement PLAYER, MovementData_0x74a34
@@ -154,14 +154,14 @@
 	ifequal WEDNESDAY, .NextShipFriday
 	ifequal THURSDAY, .NextShipFriday
 .FirstTime:
-	writetext UnknownText_0x74a9c
+	writetext OlivinePortAskBoardText
 	yesorno
 	iffalse OlivinePortNotRidingScript
-	writetext UnknownText_0x74ada
-	buttonsound
+	writetext OlivinePortAskTicketText
+	promptbutton
 	checkitem S_S_TICKET
 	iffalse .NoTicket
-	writetext UnknownText_0x74b11
+	writetext OlivinePortFlashTicketText
 	waitbutton
 	closetext
 	setevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2
@@ -175,19 +175,19 @@
 	sjump OlivinePortSailorAtGangwayScript
 
 .NoTicket:
-	writetext UnknownText_0x74b41
+	writetext OlivinePortNoTicketText
 	waitbutton
 	closetext
 	end
 
 .NextShipMonday:
-	writetext UnknownText_0x74ba8
+	writetext OlivinePortMondayShipText
 	waitbutton
 	closetext
 	end
 
 .NextShipFriday:
-	writetext UnknownText_0x74bce
+	writetext OlivinePortFridayShipText
 	waitbutton
 	closetext
 	end
@@ -283,18 +283,18 @@
 	step DOWN
 	step_end
 
-UnknownText_0x74a55:
+OlivinePortSailorGetOnBoardText:
 	text "We're departing"
 	line "soon. Please get"
 	cont "on board."
 	done
 
-UnknownText_0x74a80:
+OlivinePortCantBoardText:
 	text "Sorry. You can't"
 	line "board now."
 	done
 
-UnknownText_0x74a9c:
+OlivinePortAskBoardText:
 	text "Welcome to FAST"
 	line "SHIP S.S.AQUA."
 
@@ -302,17 +302,17 @@
 	line "ing today?"
 	done
 
-UnknownText_0x74ada:
+OlivinePortAskTicketText:
 	text "May I see your"
 	line "S.S.TICKET?"
 	done
 
-UnknownText_0x74af6:
+OlivinePortComeAgainText:
 	text "We hope to see you"
 	line "again!"
 	done
 
-UnknownText_0x74b11:
+OlivinePortFlashTicketText:
 	text "<PLAYER> flashed"
 	line "the S.S.TICKET."
 
@@ -320,7 +320,7 @@
 	line "Thank you!"
 	done
 
-UnknownText_0x74b41:
+OlivinePortNoTicketText:
 	text "<PLAYER> tried to"
 	line "show the S.S."
 	cont "TICKET…"
@@ -334,12 +334,12 @@
 	line "S.S.TICKET."
 	done
 
-UnknownText_0x74ba8:
+OlivinePortMondayShipText:
 	text "The FAST SHIP will"
 	line "sail next Monday."
 	done
 
-UnknownText_0x74bce:
+OlivinePortFridayShipText:
 	text "The FAST SHIP will"
 	line "sail next Friday."
 	done
--- 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,8 +35,8 @@
 MeetMomScript:
 	opentext
 	writetext ElmsLookingForYouText
-	buttonsound
-	getstring STRING_BUFFER_4, GearName
+	promptbutton
+	getstring STRING_BUFFER_4, PokegearName
 	scall PlayersHouse1FReceiveItemStd
 	setflag ENGINE_POKEGEAR
 	setflag ENGINE_PHONE_CARD
@@ -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:
@@ -103,7 +103,7 @@
 	playmusic MUSIC_MOM
 	sjump MeetMomScript
 
-GearName:
+PokegearName:
 	db "#GEAR@"
 
 PlayersHouse1FReceiveItemStd:
@@ -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/PlayersHouse2F.asm
+++ b/maps/PlayersHouse2F.asm
@@ -44,7 +44,7 @@
 GameConsoleScript:
 	describedecoration DECODESC_CONSOLE
 
-PlayersHousePosterScript:
+PosterScript:
 	conditional_event EVENT_PLAYERS_ROOM_POSTER, .Script
 
 .Script:
@@ -125,7 +125,7 @@
 	bg_event  2,  1, BGEVENT_UP, PlayersHousePCScript
 	bg_event  3,  1, BGEVENT_READ, PlayersHouseRadioScript
 	bg_event  5,  1, BGEVENT_READ, PlayersHouseBookshelfScript
-	bg_event  6,  0, BGEVENT_IFSET, PlayersHousePosterScript
+	bg_event  6,  0, BGEVENT_IFSET, PosterScript
 
 	db 4 ; object events
 	object_event  4,  2, SPRITE_CONSOLE, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GameConsoleScript, EVENT_PLAYERS_HOUSE_2F_CONSOLE
--- a/maps/Pokecenter2F.asm
+++ b/maps/Pokecenter2F.asm
@@ -106,7 +106,7 @@
 
 .FriendNotReady:
 	special WaitForOtherPlayerToExit
-	writetext Text_FriendNotReady
+	writetext YourFriendIsNotReadyText
 	closetext
 	end
 
@@ -208,7 +208,7 @@
 
 .FriendNotReady:
 	special WaitForOtherPlayerToExit
-	writetext Text_FriendNotReady
+	writetext YourFriendIsNotReadyText
 	closetext
 	end
 
@@ -341,7 +341,7 @@
 
 .FriendNotReady:
 	special WaitForOtherPlayerToExit
-	writetext Text_FriendNotReady
+	writetext YourFriendIsNotReadyText
 	closetext
 	end
 
@@ -596,7 +596,7 @@
 	yesorno
 	iffalse .RefusedGift
 	writetext Text_MysteryGiftDeliveryGuy_HereYouGo
-	buttonsound
+	promptbutton
 	waitsfx
 	special GetMysteryGiftItem
 	iffalse .BagIsFull
@@ -853,7 +853,7 @@
 	line "trade across time?"
 	done
 
-Text_FriendNotReady:
+YourFriendIsNotReadyText:
 	text "Your friend is not"
 	line "ready."
 	prompt
--- 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
@@ -179,8 +179,8 @@
 	iftrue .NumberAccepted
 	checkevent EVENT_ALAN_ASKED_FOR_PHONE_NUMBER
 	iftrue .AskAgainForPhoneNumber
-	writetext UnknownText_0x1947aa
-	buttonsound
+	writetext SchoolboyAlanBooksText
+	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
@@ -489,7 +489,7 @@
 	cont "have this."
 	done
 
-UnknownText_0x19451a:
+UnusedReceivedTM08Text:
 	text "<PLAYER> received"
 	line "TM08."
 	done
@@ -509,7 +509,7 @@
 	cont "smash 'em up!"
 	done
 
-UnknownText_0x1945b8:
+UnusedOddTreeText:
 	text "An odd tree is"
 	line "blocking the way"
 	cont "to GOLDENROD CITY."
@@ -570,7 +570,7 @@
 	line "error?"
 	done
 
-UnknownText_0x1947aa:
+SchoolboyAlanBooksText:
 	text "Darn. I study five"
 	line "hours a day too."
 
--- 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
@@ -49,8 +49,8 @@
 	iftrue .NumberAccepted
 	checkevent EVENT_DANA_ASKED_FOR_PHONE_NUMBER
 	iftrue .SecondTimeAsking
-	writetext UnknownText_0x1a20ec
-	buttonsound
+	writetext LassDanaMoomooMilkText
+	promptbutton
 	setevent EVENT_DANA_ASKED_FOR_PHONE_NUMBER
 	scall .AskNumber1F
 	sjump .AskForPhoneNumber
@@ -185,8 +185,8 @@
 	iftrue .HaveChadsNumber
 	checkevent EVENT_CHAD_ASKED_FOR_PHONE_NUMBER
 	iftrue .SecondTimeAsking
-	writetext UnknownText_0x1a200e
-	buttonsound
+	writetext SchoolboyChadSoManyTestsText
+	promptbutton
 	setevent EVENT_CHAD_ASKED_FOR_PHONE_NUMBER
 	scall .AskPhoneNumber1
 	sjump .AskToRegisterNumber
@@ -350,7 +350,7 @@
 	line "enough, I guess."
 	done
 
-UnknownText_0x1a200e:
+SchoolboyChadSoManyTestsText:
 	text "I have to take so"
 	line "many tests, I"
 
@@ -376,7 +376,7 @@
 	line "battle that way."
 	done
 
-UnknownText_0x1a20ec:
+LassDanaMoomooMilkText:
 	text "I know something"
 	line "good!"
 
--- 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
@@ -89,10 +89,10 @@
 	iftrue .WallOpen
 	checkevent EVENT_SOLVED_KABUTO_PUZZLE
 	iffalse .PuzzleIncomplete
-	writetext UnknownText_0x589b8
-	buttonsound
+	writetext RuinsOfAlphKabutoChamberScientistTremorText
+	promptbutton
 .PuzzleIncomplete:
-	writetext UnknownText_0x588f5
+	writetext RuinsOfAlphKabutoChamberScientistCrypticText
 	waitbutton
 	closetext
 	turnobject RUINSOFALPHKABUTOCHAMBER_SCIENTIST, UP
@@ -99,7 +99,7 @@
 	end
 
 .WallOpen:
-	writetext UnknownText_0x5897c
+	writetext RuinsOfAlphKabutoChamberScientistHoleText
 	waitbutton
 	closetext
 	end
@@ -170,7 +170,7 @@
 	line "patterns."
 	done
 
-UnknownText_0x588f5:
+RuinsOfAlphKabutoChamberScientistCrypticText:
 	text "Recently, strange,"
 	line "cryptic patterns"
 	cont "have appeared."
@@ -183,7 +183,7 @@
 	line "look at the walls."
 	done
 
-UnknownText_0x5897c:
+RuinsOfAlphKabutoChamberScientistHoleText:
 	text "Ah! Here's another"
 	line "huge hole!"
 
@@ -191,7 +191,7 @@
 	line "go through!"
 	done
 
-UnknownText_0x589b8:
+RuinsOfAlphKabutoChamberScientistTremorText:
 	text "That tremor was"
 	line "pretty scary!"
 
--- 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/SilverCaveRoom3.asm
+++ b/maps/SilverCaveRoom3.asm
@@ -10,10 +10,10 @@
 	special FadeOutMusic
 	faceplayer
 	opentext
-	writetext .Text1
+	writetext RedSeenText
 	waitbutton
 	closetext
-	winlosstext .Text2, .Text2
+	winlosstext RedWinLossText, RedWinLossText
 	loadtrainer RED, RED1
 	startbattle
 	dontrestartmapmusic
@@ -20,7 +20,7 @@
 	reloadmapafterbattle
 	special FadeOutMusic
 	opentext
-	writetext .Text3
+	writetext RedLeavesText
 	waitbutton
 	closetext
 	special FadeBlackQuickly
@@ -34,16 +34,16 @@
 	credits
 	end
 
-.Text1:
+RedSeenText:
 	text "<……>"
 	line "<……>"
 	done
 
-.Text2:
+RedWinLossText:
 	text "…"
 	done
 
-.Text3:
+RedLeavesText:
 	text "<……>"
 	line "<……>"
 	done
--- 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
@@ -58,7 +58,7 @@
 	appear TEAMROCKETBASEB2F_ROCKET_GIRL
 	appear TEAMROCKETBASEB2F_ROCKET1
 	opentext
-	writetext UnknownText_0x6d2ad
+	writetext RocketBaseExecutiveFHoldItText
 	waitbutton
 	closetext
 	turnobject PLAYER, DOWN
@@ -69,7 +69,7 @@
 	turnobject PLAYER, UP
 	applymovement TEAMROCKETBASEB2F_ROCKET1, MovementData_0x6d22f
 	opentext
-	writetext UnknownText_0x6d2c3
+	writetext RocketBaseBossFThrashText
 	waitbutton
 	closetext
 	cry DRAGONITE
@@ -82,18 +82,18 @@
 	appear TEAMROCKETBASEB2F_LANCE
 	applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d244
 	opentext
-	writetext UnknownText_0x6d38c
+	writetext RocketBaseLanceShareFunText
 	waitbutton
 	closetext
 	turnobject PLAYER, RIGHT
 	applymovement TEAMROCKETBASEB2F_ROCKET_GIRL, MovementData_0x6d241
 	opentext
-	writetext UnknownText_0x6d3bd
+	writetext RocketBaseBossDontMeddleText
 	waitbutton
 	closetext
 	applymovement TEAMROCKETBASEB2F_ROCKET1, MovementData_0x6d24a
 	applymovement TEAMROCKETBASEB2F_ROCKET_GIRL, MovementData_0x6d248
-	winlosstext UnknownText_0x6d45c, 0
+	winlosstext RocketBaseBossWinText, 0
 	setlasttalked TEAMROCKETBASEB2F_ROCKET_GIRL
 	loadtrainer EXECUTIVEF, EXECUTIVEF_2
 	startbattle
@@ -104,7 +104,7 @@
 	reloadmapafterbattle
 	setevent EVENT_BEAT_ROCKET_EXECUTIVEF_2
 	opentext
-	writetext UnknownText_0x6d4c6
+	writetext RocketBaseBossRetreatText
 	waitbutton
 	closetext
 	special FadeBlackQuickly
@@ -120,13 +120,13 @@
 	clearevent EVENT_TEAM_ROCKET_BASE_B2F_LANCE
 	turnobject TEAMROCKETBASEB2F_LANCE, DOWN
 	opentext
-	writetext UnknownText_0x6d5d8
+	writetext RocketBaseLancePostBattleText
 	waitbutton
 	closetext
 	applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d250
 	turnobject PLAYER, UP
 	opentext
-	writetext UnknownText_0x6d64e
+	writetext RocketBaseLancePowerOffText
 	waitbutton
 	closetext
 	follow TEAMROCKETBASEB2F_LANCE, PLAYER
@@ -134,7 +134,7 @@
 	stopfollow
 	applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d258
 	opentext
-	writetext UnknownText_0x6d6cf
+	writetext RockerBaseLanceElectrodeFaintText
 	waitbutton
 	closetext
 	applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d267
@@ -146,7 +146,7 @@
 
 RocketBaseLancesSideScript:
 	opentext
-	writetext UnknownText_0x6d7ea
+	writetext RocketBaseLancesSideText
 	waitbutton
 	closetext
 	applymovement PLAYER, MovementData_0x6d278
@@ -283,16 +283,16 @@
 	applymovement TEAMROCKETBASEB2F_LANCE, MovementData_0x6d27a
 	turnobject PLAYER, RIGHT
 	opentext
-	writetext UnknownText_0x6d809
-	buttonsound
+	writetext RocketBaseLanceElectrodeDoneText
+	promptbutton
 	verbosegiveitem HM_WHIRLPOOL
 	setevent EVENT_GOT_HM06_WHIRLPOOL
-	writetext UnknownText_0x6d8f8
+	writetext RocketBaseLanceWhirlpoolText
 	waitbutton
 	closetext
 	turnobject TEAMROCKETBASEB2F_LANCE, DOWN
 	opentext
-	writetext UnknownText_0x6d994
+	writetext RocketBaseLanceMonMasterText
 	waitbutton
 	closetext
 	turnobject PLAYER, DOWN
@@ -319,13 +319,13 @@
 	opentext
 	checkevent EVENT_LEARNED_HAIL_GIOVANNI
 	iftrue .KnowsPassword
-	writetext UnknownText_0x6dd39
+	writetext RocketBaseDoorNoPasswordText
 	waitbutton
 	closetext
 	end
 
 .KnowsPassword:
-	writetext UnknownText_0x6dd6b
+	writetext RocketBaseDoorKnowPasswordText
 	waitbutton
 	playsound SFX_ENTER_DOOR
 	changeblock 14, 12, $07 ; floor
@@ -339,13 +339,13 @@
 	opentext
 	checkevent EVENT_CLEARED_ROCKET_HIDEOUT
 	iftrue .Deactivated
-	writetext UnknownText_0x6dda7
+	writetext RocketBaseB2FTransmitterText
 	waitbutton
 	closetext
 	end
 
 .Deactivated:
-	writetext UnknownText_0x6de03
+	writetext RocketBaseB2FDeactivateTransmitterText
 	waitbutton
 	closetext
 	end
@@ -557,12 +557,12 @@
 	step RIGHT
 	step_end
 
-UnknownText_0x6d2ad:
+RocketBaseExecutiveFHoldItText:
 	text "Hold it right"
 	line "there!"
 	done
 
-UnknownText_0x6d2c3:
+RocketBaseBossFThrashText:
 	text "We can't have a"
 	line "brat like you on"
 	cont "the loose."
@@ -582,13 +582,13 @@
 	cont "thrashed."
 	done
 
-UnknownText_0x6d38c:
+RocketBaseLanceShareFunText:
 	text "Hey! Don't be so"
 	line "selfish. Spread"
 	cont "the fun around."
 	done
 
-UnknownText_0x6d3bd:
+RocketBaseBossDontMeddleText:
 	text "What? You had an"
 	line "accomplice?"
 
@@ -605,7 +605,7 @@
 	line "with TEAM ROCKET!"
 	done
 
-UnknownText_0x6d45c:
+RocketBaseBossWinText:
 	text "Tch, you really"
 	line "are strong."
 
@@ -618,7 +618,7 @@
 	line "an EXECUTIVE."
 	done
 
-UnknownText_0x6d4c6:
+RocketBaseBossRetreatText:
 	text "…This hideout is"
 	line "done for…"
 
@@ -646,7 +646,7 @@
 	para "Fufufufu…"
 	done
 
-UnknownText_0x6d5d8:
+RocketBaseLancePostBattleText:
 	text "LANCE: That did"
 	line "it. We defeated"
 
@@ -660,7 +660,7 @@
 	line "the process…"
 	done
 
-UnknownText_0x6d64e:
+RocketBaseLancePowerOffText:
 	text "Sorry, <PLAY_G>."
 	line "I saw how well you"
 
@@ -674,7 +674,7 @@
 	line "radio signal."
 	done
 
-UnknownText_0x6d6cf:
+RockerBaseLanceElectrodeFaintText:
 	text "It's this machine"
 	line "that's causing all"
 	cont "the problems."
@@ -704,12 +704,12 @@
 	line "split the job."
 	done
 
-UnknownText_0x6d7ea:
+RocketBaseLancesSideText:
 	text "LANCE: Leave this"
 	line "side to me."
 	done
 
-UnknownText_0x6d809:
+RocketBaseLanceElectrodeDoneText:
 	text "LANCE: That odd"
 	line "signal has finally"
 	cont "stopped."
@@ -731,12 +731,13 @@
 	cont "any need for it."
 	done
 
+; unused
 UnknownText_0x6d8e6:
 	text "<PLAYER> received"
 	line "HM06."
 	done
 
-UnknownText_0x6d8f8:
+RocketBaseLanceWhirlpoolText:
 	text "That's WHIRLPOOL."
 	line "Teach it to a"
 
@@ -753,7 +754,7 @@
 	line "from MAHOGANY GYM."
 	done
 
-UnknownText_0x6d994:
+RocketBaseLanceMonMasterText:
 	text "<PLAY_G>…"
 
 	para "The journey to be-"
@@ -871,7 +872,7 @@
 	cont "for yourself."
 	done
 
-UnknownText_0x6dd39:
+RocketBaseDoorNoPasswordText:
 	text "The door's closed…"
 
 	para "It needs a pass-"
@@ -878,7 +879,7 @@
 	line "word to open."
 	done
 
-UnknownText_0x6dd6b:
+RocketBaseDoorKnowPasswordText:
 	text "The door's closed…"
 
 	para "<PLAYER> entered"
@@ -887,7 +888,7 @@
 	para "The door opened!"
 	done
 
-UnknownText_0x6dda7:
+RocketBaseB2FTransmitterText:
 	text "It's the radio"
 	line "transmitter that's"
 
@@ -898,7 +899,7 @@
 	line "full capacity."
 	done
 
-UnknownText_0x6de03:
+RocketBaseB2FDeactivateTransmitterText:
 	text "The radio trans-"
 	line "mitter has finally"
 
--- 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
@@ -42,13 +42,13 @@
 	opentext
 	special SnorlaxAwake
 	iftrue .Awake
-	writetext UnknownText_0x1aab64
+	writetext VermilionCitySnorlaxSleepingText
 	waitbutton
 	closetext
 	end
 
 .Awake:
-	writetext UnknownText_0x1aab84
+	writetext VermilionCityRadioNearSnorlaxText
 	pause 15
 	cry SNORLAX
 	closetext
@@ -69,31 +69,31 @@
 	ifequal NUM_BADGES, .AllBadges
 	ifgreater 13, .MostBadges
 	ifgreater 9, .SomeBadges
-	writetext UnknownText_0x1aabc8
+	writetext VermilionCityBadgeGuyTrainerText
 	waitbutton
 	closetext
 	end
 
 .SomeBadges:
-	writetext UnknownText_0x1aac2b
+	writetext VermilionCityBadgeGuySomeBadgesText
 	waitbutton
 	closetext
 	end
 
 .MostBadges:
-	writetext UnknownText_0x1aac88
+	writetext VermilionCityBadgeGuyMostBadgesText
 	waitbutton
 	closetext
 	end
 
 .AllBadges:
-	writetext UnknownText_0x1aacf3
-	buttonsound
+	writetext VermilionCityBadgeGuyAllBadgesText
+	promptbutton
 	verbosegiveitem HP_UP
 	iffalse .Done
 	setevent EVENT_GOT_HP_UP_FROM_VERMILION_GUY
 .AlreadyGotItem:
-	writetext UnknownText_0x1aad4a
+	writetext VermilionCityBadgeGuyBattleEdgeText
 	waitbutton
 .Done:
 	closetext
@@ -163,12 +163,12 @@
 	cont "#MON GYM."
 	done
 
-UnknownText_0x1aab64:
+VermilionCitySnorlaxSleepingText:
 	text "SNORLAX is snoring"
 	line "peacefully…"
 	done
 
-UnknownText_0x1aab84:
+VermilionCityRadioNearSnorlaxText:
 	text "The #GEAR was"
 	line "placed near the"
 	cont "sleeping SNORLAX…"
@@ -178,7 +178,7 @@
 	para "SNORLAX woke up!"
 	done
 
-UnknownText_0x1aabc8:
+VermilionCityBadgeGuyTrainerText:
 	text "Skilled trainers"
 	line "gather in KANTO."
 
@@ -189,7 +189,7 @@
 	line "to defeat."
 	done
 
-UnknownText_0x1aac2b:
+VermilionCityBadgeGuySomeBadgesText:
 	text "You've started to"
 	line "collect KANTO GYM"
 	cont "BADGES?"
@@ -199,7 +199,7 @@
 	cont "here are tough?"
 	done
 
-UnknownText_0x1aac88:
+VermilionCityBadgeGuyMostBadgesText:
 	text "I guess you'll be"
 	line "finished with your"
 
@@ -211,7 +211,7 @@
 	cont "BADGES."
 	done
 
-UnknownText_0x1aacf3:
+VermilionCityBadgeGuyAllBadgesText:
 	text "Congratulations!"
 
 	para "You got all the"
@@ -221,7 +221,7 @@
 	line "for your efforts."
 	done
 
-UnknownText_0x1aad4a:
+VermilionCityBadgeGuyBattleEdgeText:
 	text "Having a variety"
 	line "of #MON types"
 
--- a/maps/VermilionPort.asm
+++ b/maps/VermilionPort.asm
@@ -40,7 +40,7 @@
 	opentext
 	checkevent EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1
 	iftrue VermilionPortAlreadyRodeScript
-	writetext UnknownText_0x74f06
+	writetext VermilionPortDepartingText
 	waitbutton
 	closetext
 	turnobject VERMILIONPORT_SAILOR1, DOWN
@@ -71,7 +71,7 @@
 	end
 
 VermilionPortAlreadyRodeScript:
-	writetext UnknownText_0x74f31
+	writetext VermilionPortCantBoardText
 	waitbutton
 	closetext
 	end
@@ -90,11 +90,11 @@
 	ifequal THURSDAY, .NextShipSunday
 	ifequal FRIDAY, .NextShipSunday
 	ifequal SATURDAY, .NextShipSunday
-	writetext UnknownText_0x74f4d
+	writetext VermilionPortAskBoardingText
 	yesorno
 	iffalse VermilionPortNotRidingMoveAwayScript
-	writetext UnknownText_0x74f8b
-	buttonsound
+	writetext VermilionPortAskTicketText
+	promptbutton
 	checkitem S_S_TICKET
 	iffalse .NoTicket
 	writetext VermilionPortSSTicketText
@@ -105,7 +105,7 @@
 	sjump VermilionPortSailorAtGangwayScript
 
 .NoTicket:
-	writetext UnknownText_0x74ff2
+	writetext VermilionPortNoTicketText
 	waitbutton
 	closetext
 	applymovement PLAYER, MovementData_0x74ef5
@@ -112,7 +112,7 @@
 	end
 
 .NextShipWednesday:
-	writetext UnknownText_0x75059
+	writetext VermilionPortSailMondayText
 	waitbutton
 	closetext
 	applymovement PLAYER, MovementData_0x74ef5
@@ -119,7 +119,7 @@
 	end
 
 .NextShipSunday:
-	writetext UnknownText_0x75080
+	writetext VermilionPortSailSundayText
 	waitbutton
 	closetext
 	applymovement PLAYER, MovementData_0x74ef5
@@ -129,13 +129,13 @@
 	end
 
 VermilionPortNotRidingScript:
-	writetext UnknownText_0x74fa7
+	writetext VermilionPortComeAgainText
 	waitbutton
 	closetext
 	end
 
 VermilionPortNotRidingMoveAwayScript:
-	writetext UnknownText_0x74fa7
+	writetext VermilionPortComeAgainText
 	waitbutton
 	closetext
 	applymovement PLAYER, MovementData_0x74ef5
@@ -152,11 +152,11 @@
 	ifequal THURSDAY, .NextShipSunday
 	ifequal FRIDAY, .NextShipSunday
 	ifequal SATURDAY, .NextShipSunday
-	writetext UnknownText_0x74f4d
+	writetext VermilionPortAskBoardingText
 	yesorno
 	iffalse VermilionPortNotRidingScript
-	writetext UnknownText_0x74f8b
-	buttonsound
+	writetext VermilionPortAskTicketText
+	promptbutton
 	checkitem S_S_TICKET
 	iffalse .NoTicket
 	writetext VermilionPortSSTicketText
@@ -167,19 +167,19 @@
 	sjump VermilionPortSailorAtGangwayScript
 
 .NoTicket:
-	writetext UnknownText_0x74ff2
+	writetext VermilionPortNoTicketText
 	waitbutton
 	closetext
 	end
 
 .NextShipWednesday:
-	writetext UnknownText_0x75059
+	writetext VermilionPortSailMondayText
 	waitbutton
 	closetext
 	end
 
 .NextShipSunday:
-	writetext UnknownText_0x75080
+	writetext VermilionPortSailSundayText
 	waitbutton
 	closetext
 	end
@@ -187,7 +187,7 @@
 VermilionPortSuperNerdScript:
 	faceplayer
 	opentext
-	writetext UnknownText_0x750a6
+	writetext VermilionPortSuperNerdText
 	waitbutton
 	closetext
 	end
@@ -226,18 +226,18 @@
 	step DOWN
 	step_end
 
-UnknownText_0x74f06:
+VermilionPortDepartingText:
 	text "We're departing"
 	line "soon. Please get"
 	cont "on board."
 	done
 
-UnknownText_0x74f31:
+VermilionPortCantBoardText:
 	text "Sorry. You can't"
 	line "board now."
 	done
 
-UnknownText_0x74f4d:
+VermilionPortAskBoardingText:
 	text "Welcome to FAST"
 	line "SHIP S.S.AQUA."
 
@@ -245,12 +245,12 @@
 	line "ing today?"
 	done
 
-UnknownText_0x74f8b:
+VermilionPortAskTicketText:
 	text "May I see your"
 	line "S.S.TICKET?"
 	done
 
-UnknownText_0x74fa7:
+VermilionPortComeAgainText:
 	text "We hope to see you"
 	line "again!"
 	done
@@ -263,7 +263,7 @@
 	line "Thank you!"
 	done
 
-UnknownText_0x74ff2:
+VermilionPortNoTicketText:
 	text "<PLAYER> tried to"
 	line "show the S.S."
 	cont "TICKET…"
@@ -277,17 +277,17 @@
 	line "S.S.TICKET."
 	done
 
-UnknownText_0x75059:
+VermilionPortSailMondayText:
 	text "The FAST SHIP will"
 	line "sail on Wednesday."
 	done
 
-UnknownText_0x75080:
+VermilionPortSailSundayText:
 	text "The FAST SHIP will"
 	line "sail next Sunday."
 	done
 
-UnknownText_0x750a6:
+VermilionPortSuperNerdText:
 	text "You came from"
 	line "JOHTO?"
 
--- 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/VioletPokecenter1F.asm
+++ b/maps/VioletPokecenter1F.asm
@@ -3,7 +3,7 @@
 	const VIOLETPOKECENTER1F_GAMEBOY_KID
 	const VIOLETPOKECENTER1F_GENTLEMAN
 	const VIOLETPOKECENTER1F_YOUNGSTER
-	const VIOLETPOKECENTER1F_SCIENTIST
+	const VIOLETPOKECENTER1F_ELMS_AIDE
 
 VioletPokecenter1F_MapScripts:
 	db 0 ; scene scripts
@@ -18,7 +18,7 @@
 	opentext
 	checkevent EVENT_REFUSED_TO_TAKE_EGG_FROM_ELMS_AIDE
 	iftrue .SecondTimeAsking
-	writetext UnknownText_0x69555
+	writetext VioletPokecenterElmsAideFavorText
 .AskTakeEgg:
 	yesorno
 	iffalse .RefusedEgg
@@ -31,24 +31,24 @@
 	clearevent EVENT_ELMS_AIDE_IN_LAB
 	clearevent EVENT_TOGEPI_HATCHED
 	setmapscene ROUTE_32, SCENE_ROUTE32_OFFER_SLOWPOKETAIL
-	writetext UnknownText_0x695c5
+	writetext VioletPokecenterElmsAideGiveEggText
 	waitbutton
 	closetext
 	readvar VAR_FACING
 	ifequal UP, .AideWalksAroundPlayer
 	turnobject PLAYER, DOWN
-	applymovement VIOLETPOKECENTER1F_SCIENTIST, MovementData_AideWalksStraightOutOfPokecenter
+	applymovement VIOLETPOKECENTER1F_ELMS_AIDE, MovementData_AideWalksStraightOutOfPokecenter
 	playsound SFX_EXIT_BUILDING
-	disappear VIOLETPOKECENTER1F_SCIENTIST
+	disappear VIOLETPOKECENTER1F_ELMS_AIDE
 	waitsfx
 	end
 
 .AideWalksAroundPlayer:
-	applymovement VIOLETPOKECENTER1F_SCIENTIST, MovementData_AideWalksLeftToExitPokecenter
+	applymovement VIOLETPOKECENTER1F_ELMS_AIDE, MovementData_AideWalksLeftToExitPokecenter
 	turnobject PLAYER, DOWN
-	applymovement VIOLETPOKECENTER1F_SCIENTIST, MovementData_AideFinishesLeavingPokecenter
+	applymovement VIOLETPOKECENTER1F_ELMS_AIDE, MovementData_AideFinishesLeavingPokecenter
 	playsound SFX_EXIT_BUILDING
-	disappear VIOLETPOKECENTER1F_SCIENTIST
+	disappear VIOLETPOKECENTER1F_ELMS_AIDE
 	waitsfx
 	end
 
@@ -60,13 +60,13 @@
 	end
 
 .PartyFull:
-	writetext UnknownText_0x69693
+	writetext VioletCityElmsAideFullPartyText
 	waitbutton
 	closetext
 	end
 
 .RefusedEgg:
-	writetext UnknownText_0x696f2
+	writetext VioletPokecenterElmsAideRefuseText
 	waitbutton
 	closetext
 	setevent EVENT_REFUSED_TO_TAKE_EGG_FROM_ELMS_AIDE
@@ -73,7 +73,7 @@
 	end
 
 .SecondTimeAsking:
-	writetext UnknownText_0x69712
+	writetext VioletPokecenterElmsAideAskEggText
 	sjump .AskTakeEgg
 
 VioletPokecenter1FGameboyKidScript:
@@ -103,7 +103,7 @@
 	step DOWN
 	step_end
 
-UnknownText_0x69555:
+VioletPokecenterElmsAideFavorText:
 	text "<PLAY_G>, long"
 	line "time, no see."
 
@@ -117,7 +117,7 @@
 	line "#MON EGG?"
 	done
 
-UnknownText_0x695c5:
+VioletPokecenterElmsAideGiveEggText:
 	text "We discovered that"
 	line "a #MON will not"
 
@@ -137,7 +137,7 @@
 	cont "hatches!"
 	done
 
-UnknownText_0x69693:
+VioletCityElmsAideFullPartyText:
 	text "Oh, no. You can't"
 	line "carry any more"
 	cont "#MON with you."
@@ -147,17 +147,18 @@
 	cont "room for the EGG."
 	done
 
-UnknownText_0x696f2:
+VioletPokecenterElmsAideRefuseText:
 	text "B-but… PROF.ELM"
 	line "asked for you…"
 	done
 
-UnknownText_0x69712:
+VioletPokecenterElmsAideAskEggText:
 	text "<PLAY_G>, will you"
 	line "take the EGG?"
 	done
 
-UnknownText_0x6972d:
+; unused
+VioletPokecenterFarawayLinkText:
 	text "I've been thinking"
 	line "it'd be great to"
 
@@ -168,7 +169,8 @@
 	line "far away."
 	done
 
-UnknownText_0x69791:
+; unused
+VioletPokecenterMobileAdapterText:
 	text "I just battled a"
 	line "friend in CIANWOOD"
 	cont "over a link."
--- 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_12_2.asm
+++ b/mobile/mobile_12_2.asm
@@ -17,7 +17,7 @@
 	ld bc, PARTYMON_STRUCT_LENGTH
 	add hl, bc
 	pop bc
-	call .CopyName
+	call .AdvanceOTName
 	dec d
 	jr nz, .asm_4a851
 	ld a, BANK(sBoxCount)
@@ -39,7 +39,7 @@
 	ld bc, BOXMON_STRUCT_LENGTH
 	add hl, bc
 	pop bc
-	call .CopyName
+	call .AdvanceOTName
 	dec d
 	jr nz, .asm_4a873
 
@@ -90,7 +90,7 @@
 	ld bc, BOXMON_STRUCT_LENGTH
 	add hl, bc
 	pop bc
-	call .CopyName
+	call .AdvanceOTName
 	dec d
 	jr nz, .asm_4a8ba
 	pop bc
@@ -146,7 +146,7 @@
 	dba sBox13
 	dba sBox14
 
-.CopyName:
+.AdvanceOTName:
 	push hl
 	ld hl, NAME_LENGTH
 	add hl, bc
@@ -235,13 +235,12 @@
 .asm_4a9b0
 	ld de, SFX_WRONG
 	call PlaySFX
-	ld hl, UnknownText_0x4a9be
+	ld hl, MobilePickThreeMonForBattle
 	call PrintText
 	jr .asm_4a974
 
-UnknownText_0x4a9be:
-	; Pick three #MON for battle.
-	text_far UnknownText_0x1c51d7
+MobilePickThreeMonForBattle:
+	text_far _MobilePickThreeMonForBattle
 	text_end
 
 Function4a9c3:
@@ -287,14 +286,13 @@
 	ld de, wd012
 	ld bc, 6
 	call CopyBytes
-	ld hl, UnknownText_0x4aa1d
+	ld hl, MobileUseTheseThreeMonText
 	call PrintText
 	call YesNoBox
 	ret
 
-UnknownText_0x4aa1d:
-	; , @  and @ . Use these three?
-	text_far UnknownText_0x1c51f4
+MobileUseTheseThreeMonText:
+	text_far _MobileUseTheseThreeMonText
 	text_end
 
 Function4aa22:
@@ -772,7 +770,7 @@
 	jr z, .asm_4ad39
 	ld de, SFX_WRONG
 	call WaitPlaySFX
-	ld hl, UnknownText_0x4ad51
+	ld hl, MobileOnlyThreeMonMayEnterText
 	call PrintText
 	ret
 
@@ -792,9 +790,8 @@
 	call Function4adc2
 	ret
 
-UnknownText_0x4ad51:
-	; Only three #MON may enter.
-	text_far UnknownText_0x1c521c
+MobileOnlyThreeMonMayEnterText:
+	text_far _MobileOnlyThreeMonMayEnterText
 	text_end
 
 Function4ad56:
--- 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
@@ -2482,7 +2482,7 @@
 	jp Function89e36
 
 Function89fed:
-	ld hl, UnknownText_0x8a102
+	ld hl, MobileCardFolderIntro1Text
 	call PrintText
 	jp Function89e36
 
@@ -2509,11 +2509,11 @@
 	call Function89a0c
 	call CloseSRAM
 	call Function891ab
-	call Mobile22_ButtonSound
+	call Mobile22_PromptButton
 	jp Function89e36
 
 Function8a03d:
-	ld hl, UnknownText_0x8a107
+	ld hl, MobileCardFolderIntro2Text
 	call Function89209
 	call PrintText
 	call Function8920f
@@ -2520,7 +2520,7 @@
 	jp Function89e36
 
 Function8a04c:
-	ld hl, UnknownText_0x8a10c
+	ld hl, MobileCardFolderIntro3Text
 	call PrintText
 	jp Function89e36
 
@@ -2621,7 +2621,7 @@
 	jp Function89e36
 
 Function8a0ec:
-	ld hl, UnknownText_0x8a111
+	ld hl, MobileCardFolderIntro4Text
 	call PrintText
 	jp Function89e36
 
@@ -2634,24 +2634,20 @@
 Function8a0ff:
 	jp Function89e36
 
-UnknownText_0x8a102:
-	; The CARD FOLDER stores your and your friends' CARDS. A CARD contains information like the person's name, phone number and profile.
-	text_far UnknownText_0x1c5238
+MobileCardFolderIntro1Text:
+	text_far _MobileCardFolderIntro1Text
 	text_end
 
-UnknownText_0x8a107:
-	; This is your CARD. Once you've entered your phone number, you can trade CARDS with your friends.
-	text_far UnknownText_0x1c52bc
+MobileCardFolderIntro2Text:
+	text_far _MobileCardFolderIntro2Text
 	text_end
 
-UnknownText_0x8a10c:
-	; If you have your friend's CARD, you can use it to make a call from a mobile phone on the 2nd floor of a #MON CENTER.
-	text_far UnknownText_0x1c531e
+MobileCardFolderIntro3Text:
+	text_far _MobileCardFolderIntro3Text
 	text_end
 
-UnknownText_0x8a111:
-	; To safely store your collection of CARDS, you must set a PASSCODE for your CARD FOLDER.
-	text_far UnknownText_0x1c5394
+MobileCardFolderIntro4Text:
+	text_far _MobileCardFolderIntro4Text
 	text_end
 
 Function8a116:
@@ -2760,12 +2756,12 @@
 	db   "@"
 
 Function8a20d:
-	ld hl, UnknownText_0x8a232
+	ld hl, MobileCardFolderAskDeleteText
 	call PrintText
 	ld a, $2
 	call Function89259
 	ret c
-	ld hl, UnknownText_0x8a237
+	ld hl, MobileCardFolderDeleteAreYouSureText
 	call PrintText
 	ld a, $2
 	call Function89259
@@ -2772,25 +2768,22 @@
 	ret c
 	xor a
 	call Function8a2fe
-	ld hl, UnknownText_0x8a23c
+	ld hl, MobileCardFolderDeletedText
 	call PrintText
 	xor a
 	and a
 	ret
 
-UnknownText_0x8a232:
-	; If the CARD FOLDER is deleted, all its CARDS and the PASSCODE will also be deleted. Beware--a deleted CARD FOLDER can't be restored. Want to delete your CARD FOLDER?
-	text_far UnknownText_0x1c53ee
+MobileCardFolderAskDeleteText:
+	text_far _MobileCardFolderAskDeleteText
 	text_end
 
-UnknownText_0x8a237:
-	; Are you sure you want to delete it?
-	text_far UnknownText_0x1c5494
+MobileCardFolderDeleteAreYouSureText:
+	text_far _MobileCardFolderDeleteAreYouSureText
 	text_end
 
-UnknownText_0x8a23c:
-	; The CARD FOLDER has been deleted.
-	text_far UnknownText_0x1c54b9
+MobileCardFolderDeletedText:
+	text_far _MobileCardFolderDeletedText
 	text_end
 
 Function8a241:
@@ -2839,12 +2832,12 @@
 Function8a2aa:
 	ld hl, MenuHeader_0x8a2ef
 	call LoadMenuHeader
-	ld hl, UnknownText_0x8a2f4
+	ld hl, MobileCardFolderAskOpenOldText
 	call PrintText
 	ld a, $1
 	call Function89259
 	jr nc, .asm_8a2cf
-	ld hl, UnknownText_0x8a2f9
+	ld hl, MobileCardFolderAskDeleteOldText
 	call PrintText
 	ld a, $2
 	call Function89259
@@ -2873,14 +2866,12 @@
 	db MENU_BACKUP_TILES ; flags
 	menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
 
-UnknownText_0x8a2f4:
-	; There is an older CARD FOLDER from a previous journey. Do you want to open it?
-	text_far UnknownText_0x1c54dd
+MobileCardFolderAskOpenOldText:
+	text_far _MobileCardFolderAskOpenOldText
 	text_end
 
-UnknownText_0x8a2f9:
-	; Delete the old CARD FOLDER?
-	text_far UnknownText_0x1c552d
+MobileCardFolderAskDeleteOldText:
+	text_far _MobileCardFolderAskDeleteOldText
 	text_end
 
 Function8a2fe:
@@ -3901,7 +3892,7 @@
 	hlcoord 1, 13
 	call PlaceString
 	call WaitBGMap
-	call Mobile22_ButtonSound
+	call Mobile22_PromptButton
 	and a
 	ret
 
@@ -4140,7 +4131,7 @@
 	ret
 
 .asm_8acf0
-	ld hl, UnknownText_0x8ad06
+	ld hl, MobileCardFolderFinishRegisteringCardsText
 	call PrintText
 	ld a, $2
 	call Function89259
@@ -4151,9 +4142,8 @@
 	scf
 	ret
 
-UnknownText_0x8ad06:
-	; Finish registering CARDS?
-	text_far UnknownText_0x1c554a
+MobileCardFolderFinishRegisteringCardsText:
+	text_far _MobileCardFolderFinishRegisteringCardsText
 	text_end
 
 Function8ad0b:
--- a/mobile/mobile_22_2.asm
+++ b/mobile/mobile_22_2.asm
@@ -406,7 +406,7 @@
 
 Function8b555:
 .loop
-	ld hl, UnknownText_0x8b5ce
+	ld hl, EnterNewPasscodeText
 	call PrintText
 	ld bc, wd017
 	call Function8b45c
@@ -417,12 +417,12 @@
 	ld bc, wd017
 	call Function8b664
 	jr nz, .asm_8b57c
-	ld hl, UnknownText_0x8b5e2
+	ld hl, FourZerosInvalidText
 	call PrintText
 	jr .loop
 
 .asm_8b57c
-	ld hl, UnknownText_0x8b5d3
+	ld hl, ConfirmPasscodeText
 	call PrintText
 	ld bc, wd013
 	call Function8b45c
@@ -434,7 +434,7 @@
 	call Function89448
 	ld bc, wd013
 	call Function8b493
-	ld hl, UnknownText_0x8b5d8
+	ld hl, PasscodesNotSameText
 	call PrintText
 	jr .asm_8b57c
 
@@ -448,7 +448,7 @@
 	call Function89448
 	ld bc, wd013
 	call Function8b493
-	ld hl, UnknownText_0x8b5dd
+	ld hl, PasscodeSetText
 	call PrintText
 	and a
 .asm_8b5c8
@@ -457,28 +457,23 @@
 	pop af
 	ret
 
-UnknownText_0x8b5ce:
-	; Please enter any four-digit number.
+EnterNewPasscodeText:
 	text_far _EnterNewPasscodeText
 	text_end
 
-UnknownText_0x8b5d3:
-	; Enter the same number to confirm.
+ConfirmPasscodeText:
 	text_far _ConfirmPasscodeText
 	text_end
 
-UnknownText_0x8b5d8:
-	; That's not the same number.
+PasscodesNotSameText:
 	text_far _PasscodesNotSameText
 	text_end
 
-UnknownText_0x8b5dd:
-	; Your PASSCODE has been set. Enter this number next time to open the CARD FOLDER.
+PasscodeSetText:
 	text_far _PasscodeSetText
 	text_end
 
-UnknownText_0x8b5e2:
-	; 0000 is invalid!
+FourZerosInvalidText:
 	text_far _FourZerosInvalidText
 	text_end
 
@@ -494,7 +489,7 @@
 	ld e, $0
 	call Function89c44
 .asm_8b602
-	ld hl, UnknownText_0x8b642
+	ld hl, EnterPasscodeText
 	call PrintText
 	ld bc, wd013
 	call Function8b45c
@@ -507,7 +502,7 @@
 	call Function8b3a4
 	call CloseSRAM
 	jr z, .asm_8b635
-	ld hl, UnknownText_0x8b647
+	ld hl, IncorrectPasscodeText
 	call PrintText
 	ld bc, wd013
 	call Function8b36c
@@ -522,13 +517,11 @@
 	pop af
 	ret
 
-UnknownText_0x8b642:
-	; Enter the CARD FOLDER PASSCODE.
+EnterPasscodeText:
 	text_far _EnterPasscodeText
 	text_end
 
-UnknownText_0x8b647:
-	; Incorrect PASSCODE!
+IncorrectPasscodeText:
 	text_far _IncorrectPasscodeText
 	text_end
 
--- a/mobile/mobile_40.asm
+++ b/mobile/mobile_40.asm
@@ -1,5 +1,3 @@
-SECTION "mobile_40", ROMX
-
 Function100000:
 ; d: 1 or 2
 ; e: bank
@@ -59,8 +57,8 @@
 	ld bc, $65
 	call ByteFill
 	xor a
-	ld hl, wc300
-	ld bc, $100
+	ld hl, wMobileWRAM
+	ld bc, wMobileWRAMEnd - wMobileWRAM
 	call ByteFill
 	ldh a, [rIE]
 	ld [wBGMapBuffer], a
@@ -272,11 +270,11 @@
 	ld de, 0
 
 .asm_1001d7
-	ld [wc300], a
+	ld [wMobileErrorCodeBuffer], a
 	ld a, d
-	ld [wc302], a
+	ld [wMobileErrorCodeBuffer + 2], a
 	ld a, e
-	ld [wc301], a
+	ld [wMobileErrorCodeBuffer + 1], a
 	call Function10020b
 	ret
 
@@ -295,11 +293,11 @@
 
 .asm_1001f5
 	ld a, [wcd2c]
-	ld [wc300], a
+	ld [wMobileErrorCodeBuffer], a
 	ld a, [wcd2d]
-	ld [wc302], a
+	ld [wMobileErrorCodeBuffer + 2], a
 	ld a, [wcd2d]
-	ld [wc301], a
+	ld [wMobileErrorCodeBuffer + 1], a
 	call Function10020b
 	ret
 
@@ -1091,9 +1089,9 @@
 	ld [de], a
 	ret
 
-Function1006fd:
-	ld a, $04
-	ld hl, $a800
+MobileBattleResetTimer:
+	ld a, BANK(sMobileBattleTimer)
+	ld hl, sMobileBattleTimer
 	call GetSRAMBank
 	xor a
 	ld [hli], a
@@ -1102,13 +1100,13 @@
 	call CloseSRAM
 	ret
 
-Function10070d:
-	ld a, $04
-	ld hl, $a800
+MobileBattleFixTimer:
+	ld a, BANK(sMobileBattleTimer)
+	ld hl, sMobileBattleTimer
 	call GetSRAMBank
-	xor a
+	xor a ; MOBILE_BATTLE_ALLOWED_SECONDS
 	ld [hli], a
-	ld a, $0a
+	ld a, MOBILE_BATTLE_ALLOWED_MINUTES
 	ld [hli], a
 	xor a
 	ld [hli], a
@@ -1125,8 +1123,8 @@
 	ld [wcd73], a
 	ldh a, [hSeconds]
 	ld [wcd74], a
-	ld a, $04
-	ld hl, $a800
+	ld a, BANK(sMobileBattleTimer)
+	ld hl, sMobileBattleTimer
 	call GetSRAMBank
 	ld a, [hli]
 	ld [wcd6c], a
@@ -1274,7 +1272,7 @@
 .asm_100830
 	ld [hld], a
 	ccf
-	ld a, [wBGMapBufferPtrs]
+	ld a, [wcd70]
 	adc [hl]
 	sub $3c
 	jr nc, .asm_10083c
@@ -1335,9 +1333,11 @@
 String_10089f:
 	db " むせいげん@"
 
-Function1008a6:
-	ld a, $04
-	ld hl, $a800
+MobileBattleGetRemainingTime:
+; Calculates the difference between 10 minutes and sMobileBattleTimer
+; Returns minutes in c and seconds in b
+	ld a, BANK(sMobileBattleTimer)
+	ld hl, sMobileBattleTimer
 	call GetSRAMBank
 	ld a, [hli]
 	ld [wStringBuffer2], a
@@ -1348,26 +1348,25 @@
 	call CloseSRAM
 	ld a, [wStringBuffer2 + 2]
 	ld b, a
-	ld a, 0
+	ld a, MOBILE_BATTLE_ALLOWED_SECONDS
 	sub b
-	jr nc, .asm_1008c8
-	add $3c
-
-.asm_1008c8
+	jr nc, .no_carry_seconds
+	add 60
+.no_carry_seconds
 	ld b, a
 	ld a, [wStringBuffer2 + 1]
 	ld c, a
-	ld a, $0a
+	ld a, MOBILE_BATTLE_ALLOWED_MINUTES
 	sbc c
 	ld c, a
-	jr c, .asm_1008da
+	jr c, .fail
 	ld a, [wStringBuffer2]
 	and a
-	jr nz, .asm_1008da
+	jr nz, .fail
 	ret
 
-.asm_1008da
-	call Function10070d
+.fail
+	call MobileBattleFixTimer
 	ld c, 0
 	ret
 
@@ -1682,17 +1681,14 @@
 	ld [wcd2b], a
 	ret
 
+pushc
+setcharmap ascii
 
-SECTION "tetsuji", ROMX
-
-	charmap " ", $20 ; revert to ascii
-
 Unknown_100b0a:
 	db "tetsuji", 0
 
+popc
 
-SECTION "bank40_2", ROMX
-
 Function100b12:
 	call Function100dd8
 	ret c
@@ -2657,9 +2653,9 @@
 	ret
 
 Function1011f1:
-	ld a, $04
+	ld a, BANK(s4_a60c)
 	call GetSRAMBank
-	ld a, [$a60c]
+	ld a, [s4_a60c]
 	ld [wdc41], a
 	call CloseSRAM
 	ld hl, wdc41
@@ -3280,46 +3276,46 @@
 	ld [wMobileCommsJumptableIndex], a
 	ret
 
-Function101635:
-	ld de, wc608
+MobileCopyTransferData:
+	ld de, wMobileTransferData
 	ld bc, $1e0
 	call FarCopyWRAM
 	ret
 
-Function10163f:
-	ld hl, wc608
+MobileCopyTransferData2:
+	ld hl, wMobileTransferData
 	ld bc, $1e0
 	call FarCopyWRAM
 	ret
 
 Function101649:
-	ld a, $05
+	ld a, BANK(w5_d800)
 	ld hl, w5_d800
-	call Function101635
-	ld a, $05
+	call MobileCopyTransferData
+	ld a, BANK(w5_da00)
 	ld de, w5_da00
-	call Function10163f
+	call MobileCopyTransferData2
 	ret
 
 Function10165a:
-	ld a, $05
+	ld a, BANK(w5_da00)
 	ld hl, w5_da00
-	call Function101635
+	call MobileCopyTransferData
 	ret
 
 Function101663:
-	ld a, $05
+	ld a, BANK(w5_dc00)
 	ld hl, w5_d800
-	call Function101635
-	ld a, $05
+	call MobileCopyTransferData
+	ld a, BANK(w5_dc00)
 	ld de, w5_dc00
-	call Function10163f
+	call MobileCopyTransferData2
 	ret
 
 Unreferenced_Function101674:
-	ld a, $05
+	ld a, BANK(w5_dc00)
 	ld hl, w5_dc00
-	call Function101635
+	call MobileCopyTransferData
 	ret
 
 Function10167d:
@@ -3456,7 +3452,7 @@
 	ld a, e
 	ld [wcd3b], a
 	ld a, d
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	ld a, c
 	ld [wcd40], a
 	ld a, b
@@ -3616,11 +3612,9 @@
 	ld [wcd2b], a
 	ret
 
+pushc
+setcharmap ascii
 
-SECTION "ascii 10186f", ROMX
-
-	charmap " ", $20 ; revert to ascii
-
 Unknown_10186f:
 	db .end - @
 	db $19, $73, $09, $13, "trade_crystal"
@@ -3636,9 +3630,8 @@
 	db $19, $67, $10, $01, "limit_crystal"
 .end	db 0
 
+popc
 
-SECTION "bank40_3", ROMX
-
 Function1018a8:
 	ld hl, wccb5
 	ld de, wcc61
@@ -6933,10 +6926,10 @@
 	ld bc, 10
 	xor a
 	call ByteFill
-	ld a, $04
+	ld a, BANK(s4_a60c)
 	call GetSRAMBank
 	ld a, [wdc41]
-	ld [$a60c], a
+	ld [s4_a60c], a
 	ld [wBuffer1], a
 	call CloseSRAM
 	call Function1035c6
@@ -6985,10 +6978,10 @@
 	ld hl, wBuffer2
 	bit 6, [hl]
 	jr z, .asm_103398
-	ld a, $04
+	ld a, BANK(s4_a60c)
 	call GetSRAMBank
 	ld a, [wBuffer1]
-	ld [$a60c], a
+	ld [s4_a60c], a
 	ld [wdc41], a
 	call CloseSRAM
 	xor a
@@ -7443,7 +7436,7 @@
 	ld hl, wSwarmFlags
 	bit SWARMFLAGS_MOBILE_4_F, [hl]
 	jr z, .asm_10370f
-	farcall Function1008a6
+	farcall MobileBattleGetRemainingTime
 
 .asm_10370f
 	ld a, c
@@ -7550,7 +7543,7 @@
 	ld a, c
 	and a
 	ret z
-	farcall Function1006fd
+	farcall MobileBattleResetTimer
 	ret
 
 .failed_to_save
@@ -7564,7 +7557,7 @@
 	ret
 
 Function1037c2:
-	call Function103823
+	call MobileCheckRemainingBattleTime
 	jr c, .nope
 	ld a, [wdc5f]
 	and a
@@ -7588,12 +7581,12 @@
 	text_end
 
 Function1037eb:
-	call Function103823
+	call MobileCheckRemainingBattleTime
 	jr nc, .asm_103807
-	ld hl, UnknownText_0x103819
+	ld hl, MobileBattleLessThanOneMinuteLeftText
 	call PrintText
 	call JoyWaitAorB
-	ld hl, UnknownText_0x10381e
+	ld hl, MobileBattleNoTimeLeftForLinkingText
 	call PrintText
 	call JoyWaitAorB
 	xor a
@@ -7613,28 +7606,29 @@
 	ld [wScriptVar], a
 	ret
 
-UnknownText_0x103819:
-	text_far UnknownText_0x1c44c0
+MobileBattleLessThanOneMinuteLeftText:
+	text_far _MobileBattleLessThanOneMinuteLeftText
 	text_end
 
-UnknownText_0x10381e:
-	text_far UnknownText_0x1c44e7
+MobileBattleNoTimeLeftForLinkingText:
+	text_far _MobileBattleNoTimeLeftForLinkingText
 	text_end
 
-Function103823:
+MobileCheckRemainingBattleTime:
+; Returns carry if less than one minute remains
 	farcall Mobile_AlwaysReturnNotCarry
 	bit 7, c
-	jr nz, .asm_103838
-	farcall Function1008a6
+	jr nz, .ok
+	farcall MobileBattleGetRemainingTime
 	ld a, c
-	cp $01
-	jr c, .asm_10383a
+	cp 1
+	jr c, .fail
 
-.asm_103838
+.ok
 	xor a
 	ret
 
-.asm_10383a
+.fail
 	scf
 	ret
 
@@ -7673,7 +7667,7 @@
 	farcall Mobile_AlwaysReturnNotCarry
 	bit 7, c
 	ret nz
-	farcall Function1008a6
+	farcall MobileBattleGetRemainingTime
 	ld a, c
 	ld [wStringBuffer2], a
 	ld hl, UnknownText_0x103898
--- a/mobile/mobile_42.asm
+++ b/mobile/mobile_42.asm
@@ -810,7 +810,7 @@
 	call CopyBytes
 	pop af
 	ldh [rSVBK], a
-	call Function108d07
+	call LoadMobileAdapterPalette
 	call Function108af4
 	call GetMobileTradeAnimByte
 	ret
@@ -855,7 +855,7 @@
 	call CopyBytes
 	pop af
 	ldh [rSVBK], a
-	call Function108d07
+	call LoadMobileAdapterPalette
 	call Function108af4
 	call GetMobileTradeAnimByte
 	ret
@@ -898,7 +898,7 @@
 	call CopyBytes
 	pop af
 	ldh [rSVBK], a
-	call Function108d07
+	call LoadMobileAdapterPalette
 	call Function108af4
 	call Function108b5a
 	ld a, $e0
@@ -1539,52 +1539,52 @@
 Function108bec:
 	ld a, $90
 	ldh [hWY], a
-	ld hl, .PlayerWillTradeMon
+	ld hl, .MobilePlayerWillTradeMonText
 	call PrintText
 	ld c, 80
 	call DelayFrames
-	ld hl, .ForPartnersMon
+	ld hl, .MobileForPartnersMonText
 	call PrintText
 	ld c, 80
 	call DelayFrames
 	ret
 
-.PlayerWillTradeMon:
-	text_far _TradingText10
+.MobilePlayerWillTradeMonText:
+	text_far _MobilePlayerWillTradeMonText
 	text_end
 
-.ForPartnersMon:
-	text_far _TradingText11
+.MobileForPartnersMonText:
+	text_far _MobileForPartnersMonText
 	text_end
 
-.UnusedTextPlayersMonTrade:
-	text_far _TradingText12
+.MobilePlayersMonTradeText:
+	text_far _MobilePlayersMonTradeText
 	text_end
 
 Function108c16:
 	ld a, $90
 	ldh [hWY], a
-	ld hl, .TakeGoodCareOfMon
+	ld hl, .MobileTakeGoodCareOfMonText
 	call PrintText
 	ld c, 80
 	call DelayFrames
 	ret
 
-.TakeGoodCareOfMon:
-	text_far _TradingText13
+.MobileTakeGoodCareOfMonText:
+	text_far _MobileTakeGoodCareOfMonText
 	text_end
 
 Function108c2b:
 	ld a, $90
 	ldh [hWY], a
-	ld hl, .PlayersMonTrade
+	ld hl, .MobilePlayersMonTrade2Text
 	call PrintText
 	ld c, 80
 	call DelayFrames
 	ret
 
-.PlayersMonTrade:
-	text_far _TradingText14
+.MobilePlayersMonTrade2Text:
+	text_far _MobilePlayersMonTrade2Text
 	text_end
 
 Function108c40:
@@ -1593,7 +1593,7 @@
 	ld a, [wcf65]
 	and %10000000
 	jr z, .Getmon
-	ld hl, .CameBack
+	ld hl, .MobileTradeCameBackText
 	call PrintText
 	ld c, 80
 	call DelayFrames
@@ -1600,18 +1600,18 @@
 	ret
 
 .Getmon:
-	ld hl, .TakeGoodCareOf
+	ld hl, .MobileTakeGoodCareOfText
 	call PrintText
 	ld c, 80
 	call DelayFrames
 	ret
 
-.TakeGoodCareOf:
-	text_far _TradingText15
+.MobileTakeGoodCareOfText:
+	text_far _MobileTakeGoodCareOfText
 	text_end
 
-.CameBack:
-	text_far _TradingText16
+.MobileTradeCameBackText:
+	text_far _MobileTradeCameBackText
 	text_end
 
 Function108c6d:
@@ -1712,18 +1712,18 @@
 	dw $0456
 	db "マツミヤ@@"
 
-Function108d07:
+LoadMobileAdapterPalette:
 	ld a, [wc74e]
 	and $7f
-	cp $8
+	cp $8 ; CONST: Amount of mobile adapters
 	jr c, .asm_108d12
 	ld a, $7
 
 .asm_108d12
 	ld bc, 1 palettes
-	ld hl, Palette_1093c7
+	ld hl, MobileAdapterPalettes
 	call AddNTimes
-	ld a, $5
+	ld a, BANK(wBGPals1)
 	ld de, wBGPals1 + 4 palettes
 	ld bc, 1 palettes
 	call FarCopyWRAM
@@ -1883,7 +1883,7 @@
 GFX_1092c7:
 INCBIN "gfx/unknown/1092c7.2bpp"
 
-Palette_1093c7:
+MobileAdapterPalettes:
 	RGB 18, 31, 15
 	RGB 04, 13, 31
 	RGB 00, 00, 31
--- a/mobile/mobile_45.asm
+++ b/mobile/mobile_45.asm
@@ -1,7 +1,6 @@
-SECTION "Mobile 45", ROMX
+pushc
+setcharmap ascii
 
-	charmap " ", $20 ; revert to ascii
-
 String_114000:
 	db "---", 0
 String_114004:
@@ -125,10 +124,12 @@
 String_114232:
 	db "=?ISO-2022-JP?B?", 0
 
+popc
+
 Function114243::
 	ld a, SRAM_ENABLE
 	ld [MBC3SRamEnable], a
-	ldh a, [hFF8C]
+	ldh a, [hSRAMBank]
 	push af ; if [$dc02] == 0, this is popped to pc.
 	push de
 	ld a, [$dc02]
@@ -146,8 +147,8 @@
 Function11425c:
 	ld [$dc02], a
 	pop af
-	ldh [hFF8C], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ret
 
@@ -162,7 +163,7 @@
 	ld [$dc03], a
 	ld a, [hli]
 	ld [$dc00], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld e, [hl]
 	inc hl
@@ -359,7 +360,7 @@
 	pop bc
 	ld a, [$dc03]
 	ld [$dc00], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	call Function114c0b
 	ld hl, String_114004
@@ -417,7 +418,7 @@
 	push af
 	ld a, [hli]
 	ld [wCurMapBGEventCount], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld a, [hli]
 	ld h, [hl]
@@ -472,7 +473,7 @@
 Function114412:
 	ld a, c
 	ld [$dc00], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld hl, Unknown_11417f
 	ld a, b
@@ -659,7 +660,7 @@
 	pop hl
 	ld a, [hli]
 	ld [wCurMapBGEventCount], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld e, [hl]
 	inc hl
@@ -676,7 +677,7 @@
 	ld hl, $dc06
 	ld a, [hl]
 	ld [wCurMapBGEventCount], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld hl, $dc09
 	ld e, [hl]
@@ -734,7 +735,7 @@
 	jr nz, .asm_1145b4
 	ld a, h
 	ld [$dc00], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	push hl
 	push de
@@ -752,7 +753,7 @@
 	jr nz, .asm_1145ba
 	ld a, h
 	ld [$dc00], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld hl, String_114218
 	call Function114acf
@@ -924,7 +925,7 @@
 	pop de
 	pop af
 	ld [$dc00], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	xor a
 	ld [wDecoCarpet], a
@@ -945,7 +946,7 @@
 	ld hl, $dc03
 	ld a, [hli]
 	ld [$dc00], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld e, [hl]
 	inc hl
@@ -959,7 +960,7 @@
 	ld hl, $dc03
 	ld a, [hli]
 	ld [$dc00], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld e, [hl]
 	inc hl
@@ -1002,7 +1003,7 @@
 	ld hl, $dc03
 	ld a, [hli]
 	ld [$dc00], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld e, [hl]
 	inc hl
@@ -1016,7 +1017,7 @@
 	ld a, $1
 	ld [$dc0e], a
 	ld a, [$dc00]
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld a, $1
 	ld [wDecoRightOrnament], a
@@ -1043,7 +1044,7 @@
 	ld hl, $dc03
 	ld a, [hli]
 	ld [$dc00], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld e, [hl]
 	inc hl
@@ -1097,7 +1098,7 @@
 	ld hl, $dc03
 	ld a, [hli]
 	ld [$dc00], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	call Function114a7a
 	and a
@@ -1207,7 +1208,7 @@
 	ld a, [$dc00]
 	push af
 	push de
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	call Function114a18
 	and a
@@ -1230,7 +1231,7 @@
 	ld hl, $dc06
 	ld a, [hli]
 	ld [wCurMapBGEventCount], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld e, [hl]
 	inc hl
@@ -1295,7 +1296,7 @@
 	ld hl, $dc06
 	ld a, [hli]
 	ld [wCurMapBGEventCount], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld e, [hl]
 	inc hl
@@ -1393,7 +1394,7 @@
 	ld hl, $dc06
 	ld a, [hli]
 	ld [wCurMapBGEventCount], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld e, [hl]
 	inc hl
@@ -1483,7 +1484,7 @@
 	ld hl, $dc06
 	ld a, [hl]
 	ld [wCurMapBGEventCount], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	push de
 	ld hl, $dc09
@@ -1830,7 +1831,7 @@
 	ld hl, $dc06
 	ld a, [hli]
 	ld [wCurMapBGEventCount], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld e, [hl]
 	inc hl
@@ -1868,7 +1869,7 @@
 	jr nz, .asm_114bff
 	ld a, h
 	ld [$dc00], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	call Function114c0b
 	ld hl, $dc24
@@ -1879,7 +1880,7 @@
 	pop hl
 	ld a, [hli]
 	ld [wCurMapBGEventCount], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld a, [hli]
 	ld e, a
@@ -2085,7 +2086,7 @@
 	ld [$dc04], a
 	ld a, h
 	ld [$dc00], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld hl, $dc24
 	call Function114d39
@@ -2104,7 +2105,7 @@
 	pop hl
 	ld a, [hli]
 	ld [wCurMapBGEventCount], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld a, [hli]
 	ld e, a
@@ -2402,7 +2403,7 @@
 	ld hl, $dc06
 	ld a, [hli]
 	ld [wCurMapBGEventCount], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld a, [hli]
 	ld e, a
@@ -2602,7 +2603,7 @@
 	inc hl
 	ld a, [hli]
 	ld [$dc00], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld e, [hl]
 	inc hl
@@ -2680,7 +2681,7 @@
 	ld hl, $dc06
 	ld a, [hli]
 	ld [wCurMapBGEventCount], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld a, [hli]
 	ld e, a
@@ -2737,7 +2738,7 @@
 	ld c, a
 	ld a, [hli]
 	ld [$dc00], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld e, [hl]
 	inc hl
@@ -2888,7 +2889,7 @@
 	ld hl, $dc06
 	ld a, [hli]
 	ld [wCurMapBGEventCount], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld a, [hli]
 	ld e, a
@@ -2941,7 +2942,7 @@
 	ld hl, $dc06
 	ld a, [hli]
 	ld [wCurMapBGEventCount], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld a, [hli]
 	ld e, a
@@ -3059,7 +3060,7 @@
 	ld hl, $dc06
 	ld a, [hli]
 	ld [wCurMapBGEventCount], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld a, [hli]
 	ld e, a
@@ -3152,7 +3153,7 @@
 	inc hl
 	ld a, [hli]
 	ld [$dc00], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld a, [hli]
 	ld e, a
@@ -3401,7 +3402,7 @@
 .asm_1153f5
 	ld a, [hli]
 	ld [$dc00], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld e, [hl]
 	inc hl
@@ -3535,7 +3536,7 @@
 	ld hl, wDecoRightOrnament
 	ld a, [hli]
 	ld [wCurMapBGEventCount], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld e, [hl]
 	inc hl
@@ -3768,7 +3769,7 @@
 	ld [wCurMapBGEventCount], a
 	ld a, [$dc17]
 	ld [$dc00], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld hl, $dc1a
 	ld c, [hl]
@@ -3841,7 +3842,7 @@
 	ld [hl], d
 	pop bc
 	ld a, [wCurMapBGEventCount]
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld hl, wCurMapSceneScriptCount
 	ld e, [hl]
@@ -4147,7 +4148,7 @@
 	ld hl, $dc02
 	ld a, [hli]
 	ld [$dc00], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld e, [hl]
 	inc hl
@@ -4201,7 +4202,7 @@
 	ld hl, wCurMapSceneScriptCount
 	ld a, [hli]
 	ld [wCurMapBGEventCount], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld e, [hl]
 	inc hl
@@ -4668,7 +4669,7 @@
 	ld hl, $dc02
 	ld a, [hli]
 	ld [$dc00], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld e, [hl]
 	inc hl
@@ -4756,7 +4757,7 @@
 	ld hl, wCurMapSceneScriptCount
 	ld a, [hli]
 	ld [wCurMapBGEventCount], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld e, [hl]
 	inc hl
@@ -5149,2242 +5150,9 @@
 	ld a, [bc]
 	inc a
 	ld [bc], a
-	ldh [hFF8C], a
+	ldh [hSRAMBank], a
 	ld [MBC3SRamBank], a
 	ld a, e
 	ld d, $a0
 	ld e, $0
-	ret
-
-INCLUDE "mobile/mobile_45_sprite_engine.asm"
-
-Function116567:
-	ld hl, wc3f7
-	dec [hl]
-	ret nz
-	ld hl, wc3f6
-	inc [hl]
-.asm_116570
-	ld a, $7
-	sla a
-	ld c, a
-	ld b, 0
-	ld hl, Unknown_1167eb
-	add hl, bc
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	push de
-	pop hl
-	ld a, [wc3f6]
-	sla a
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld a, [hli]
-	cp $fe
-	jr nz, .asm_116595
-	xor a
-	ld [wc3f6], a
-	jr .asm_116570
-
-.asm_116595
-	ld [wc3f5], a
-	ld a, [hl]
-	ld [wc3f7], a
-	ret
-
-Function11659d:
-	ld a, [wc314]
-	cp $12
-	ret nc
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_1165af
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp hl
-
-Jumptable_1165af:
-	dw Function11677e
-	dw Function1165d5
-	dw Function1165d8
-	dw Function1165e3
-	dw Function1165f5
-	dw Function116600
-	dw Function116615
-	dw Function116618
-	dw Function116623
-	dw Function116635
-	dw Function116640
-	dw Function116655
-	dw Function11665c
-	dw Function11668d
-	dw Function11669f
-	dw Function1166a2
-	dw Function1166c4
-	dw Function1166d6
-	dw Function1166d6
-
-Function1165d5:
-	call Function11678e
-
-Function1165d8:
-	ld a, $0
-	ld c, a
-	ld a, $ff
-	ld b, a
-	ld a, $a8
-	call Function1166f4
-
-Function1165e3:
-	call Function116747
-	ld a, [wc30e]
-	cp $e8
-	ret nz
-	ld a, $1
-	call Function116780
-	ret c
-	jp Function116797
-
-Function1165f5:
-	ld a, $1
-	ld c, a
-	ld a, $1
-	ld b, a
-	ld a, $e8
-	call Function1166f4
-
-Function116600:
-	call Function116747
-	ld a, [wc30e]
-	cp $a8
-	ret nz
-	ld a, $1
-	call Function116780
-	ret c
-	ld a, $2
-	ld [wc314], a
-	ret
-
-Function116615:
-	call Function11678e
-
-Function116618:
-	ld a, $3
-	ld c, a
-	ld a, $1
-	ld b, a
-	ld a, $28
-	call Function11671f
-
-Function116623:
-	call Function116747
-	ld a, [wc30f]
-	cp $a0
-	ret nz
-	ld a, $6
-	call Function116780
-	ret c
-	jp Function116797
-
-Function116635:
-	ld a, $2
-	ld c, a
-	ld a, $ff
-	ld b, a
-	ld a, $a0
-	call Function11671f
-
-Function116640:
-	call Function116747
-	ld a, [wc30f]
-	cp $28
-	ret nz
-	ld a, $6
-	call Function116780
-	ret c
-	ld a, $7
-	ld [wc314], a
-	ret
-
-Function116655:
-	xor a
-	ld [wc314 + 3], a
-	call Function11678e
-
-Function11665c:
-	ld hl, wc314 + 3
-	ld a, $1
-	xor [hl]
-	ld [hl], a
-	add $4
-	ld c, a
-	call Function11679c
-	ld a, [wc314 + 3]
-	and a
-	jr nz, .asm_116673
-	ld a, $48
-	jr .asm_116675
-
-.asm_116673
-	ld a, $78
-
-.asm_116675
-	ld [wc30f], a
-	call Random
-	ldh a, [hRandomAdd]
-	and $7
-	sla a
-	sla a
-	sla a
-	add $30
-	ld [wc30e], a
-	call Function116797
-
-Function11668d:
-	ld a, [wc311]
-	cp $ff
-	ret nz
-	ld a, $b
-	call Function116780
-	ret c
-	ld a, $c
-	ld [wc314], a
-	ret
-
-Function11669f:
-	call Function11678e
-
-Function1166a2:
-	ld a, $a8
-	ld [wc30e], a
-	ld [wc3f1], a
-	ld a, $60
-	ld [wc30f], a
-	ld [wc3f3], a
-	ld a, $ff
-	ld [wc314 + 2], a
-	xor a
-	ld [wc314 + 3], a
-	ld a, $0
-	ld c, a
-	call Function11679c
-	call Function116797
-
-Function1166c4:
-	call Function116747
-	ld a, [wc30e]
-	cp $58
-	ret nz
-	ld a, $6
-	ld c, a
-	call Function11679c
-	call Function116797
-
-Function1166d6:
-	call Function116747
-	ld a, [wc30e]
-	cp $48
-	jr nz, .asm_1166e4
-	xor a
-	ld [wc314 + 2], a
-
-.asm_1166e4
-	ld a, [wc311]
-	cp $ff
-	ret nz
-	ld a, $4
-	ld [$c319], a
-	xor a
-	ld [wc314], a
-	ret
-
-Function1166f4:
-	ld [wc30e], a
-	ld a, b
-	ld [wc314 + 2], a
-	xor a
-	ld [wc314 + 3], a
-	ld hl, wc30f
-.asm_116702
-	call Random
-	ldh a, [hRandomAdd]
-	and $7
-	jr z, .asm_11670c
-	dec a
-
-.asm_11670c
-	sla a
-	sla a
-	sla a
-	add $48
-	cp [hl]
-	jr z, .asm_116702
-	ld [hl], a
-	call Function11679c
-	call Function116797
-	ret
-
-Function11671f:
-	ld [wc30f], a
-	ld a, b
-	ld [wc314 + 3], a
-	xor a
-	ld [wc314 + 2], a
-	ld hl, wc30e
-.asm_11672d
-	call Random
-	ldh a, [hRandomAdd]
-	and $7
-	sla a
-	sla a
-	sla a
-	add $30
-	cp [hl]
-	jr z, .asm_11672d
-	ld [hl], a
-	call Function11679c
-	call Function116797
-	ret
-
-Function116747:
-	ld hl, wc30e
-	ld a, [wc314 + 2]
-	add [hl]
-	ld [hl], a
-	ld hl, wc30f
-	ld a, [wc314 + 3]
-	add [hl]
-	ld [hl], a
-	ret
-
-Function116758:
-	ld a, [wc30f]
-	cp $30
-	jr c, .asm_116770
-	jr z, .asm_116770
-	cp $38
-	jr c, .asm_116774
-	jr z, .asm_116774
-	cp $40
-	jr c, .asm_116778
-	jr z, .asm_116778
-	xor a
-	jr .asm_11677a
-
-.asm_116770
-	ld a, $c
-	jr .asm_11677a
-
-.asm_116774
-	ld a, $8
-	jr .asm_11677a
-
-.asm_116778
-	ld a, $4
-
-.asm_11677a
-	ld [wc314 + 4], a
-	ret
-
-Function11677e:
-	ld a, $0
-
-Function116780:
-	ld hl, wc314 + 1
-	cp [hl]
-	jr z, .asm_11678c
-	ld a, [hl]
-	ld [wc314], a
-	scf
-	ret
-
-.asm_11678c
-	and a
-	ret
-
-Function11678e:
-	ld hl, wc314
-	ld a, [hl]
-	ld [wc314 + 1], a
-	inc [hl]
-	ret
-
-Function116797:
-	ld hl, wc314
-	inc [hl]
-	ret
-
-Function11679c:
-	ld a, c
-	ld [wc311], a
-	xor a
-	ld [wc312], a
-	jr asm_1167af
-
-Function1167a6:
-	ld hl, wc313
-	dec [hl]
-	ret nz
-	ld hl, wc312
-	inc [hl]
-
-asm_1167af:
-	ld a, [wc311]
-	cp $ff
-	ret z
-	sla a
-	ld c, a
-	ld b, 0
-	ld hl, Unknown_1167eb
-	add hl, bc
-	ld a, [hli]
-	ld e, a
-	ld a, [hli]
-	ld d, a
-	push de
-	pop hl
-	ld a, [wc312]
-	sla a
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld a, [hli]
-	cp $ff
-	jr z, .asm_1167dc
-	cp $fe
-	jr nz, .asm_1167e3
-	xor a
-	ld [wc312], a
-	jr asm_1167af
-
-.asm_1167dc
-	ld a, $ff
-	ld [wc311], a
-	ld a, $fd
-
-.asm_1167e3
-	ld [wc310], a
-	ld a, [hl]
-	ld [wc313], a
-	ret
-
-Unknown_1167eb:
-	dw Unknown_1167fb
-	dw Unknown_116808
-	dw Unknown_116867
-	dw Unknown_116870
-	dw Unknown_116815
-	dw Unknown_11683e
-	dw Unknown_116881
-	dw Unknown_1168ae
-
-Unknown_1167fb:
-	db $0, $6
-	db $1, $4
-	db $2, $4
-	db $3, $6
-	db $2, $4
-	db $1, $4
-	db $fe
-
-Unknown_116808:
-	db $4, $6
-	db $5, $4
-	db $6, $4
-	db $7, $6
-	db $6, $4
-	db $5, $4
-	db $fe
-
-Unknown_116815:
-	db $fd, $20
-	db $8, $c
-	db $9, $24
-	db $a, $4
-	db $b, $8
-	db $a, $4
-	db $9, $6
-	db $c, $4
-	db $d, $8
-	db $c, $5
-	db $9, $24
-	db $a, $4
-	db $b, $8
-	db $a, $4
-	db $9, $6
-	db $c, $4
-	db $d, $8
-	db $c, $5
-	db $9, $8
-	db $8, $4
-	db -1 ; end
-
-Unknown_11683e:
-	db $fd, $20
-	db $e, $c
-	db $f, $24
-	db $10, $4
-	db $11, $8
-	db $10, $4
-	db $f, $6
-	db $12, $4
-	db $13, $8
-	db $12, $5
-	db $f, $24
-	db $10, $4
-	db $11, $8
-	db $10, $4
-	db $f, $6
-	db $12, $4
-	db $13, $8
-	db $12, $5
-	db $f, $8
-	db $e, $4
-	db -1 ; end
-
-Unknown_116867:
-	db $14, $8
-	db $15, $8
-	db $16, $8
-	db $15, $8
-	db $fe
-
-Unknown_116870:
-	db $17, $5
-	db $18, $5
-	db $19, $5
-	db $1a, $5
-	db $1b, $5
-	db $1a, $5
-	db $19, $5
-	db $18, $5
-	db $fe
-
-Unknown_116881:
-	db $1c, $7
-	db $1d, $7
-	db $1e, $a
-	db $1f, $a
-	db $20, $5
-	db $21, $5
-	db $20, $5
-	db $21, $5
-	db $20, $18
-	db $22, $4
-	db $23, $2
-	db $22, $2
-	db $23, $2
-	db $22, $1
-	db $23, $1
-	db $22, $1
-	db $23, $4
-	db $fd, $1
-	db $23, $1
-	db $fd, $2
-	db $23, $2
-	db $fd, $40
-	db -1 ; end
-
-Unknown_1168ae:
-	db $24, $4
-	db $25, $4
-	db $26, $4
-	db $27, $4
-	db $28, $4
-	db $29, $4
-	db $2a, $4
-	db $2b, $4
-	db $2c, $4
-	db $2d, $4
-	db $2e, $4
-	db $fe
-
-Unknown_1168c5:
-	dw Unknown_116923
-	dw Unknown_116960
-	dw Unknown_1169a1
-	dw Unknown_1169de
-	dw Unknown_116a1b
-	dw Unknown_116a58
-	dw Unknown_116a99
-	dw Unknown_116ad6
-	dw Unknown_116d1b
-	dw Unknown_116d4c
-	dw Unknown_116d85
-	dw Unknown_116dbe
-	dw Unknown_116df7
-	dw Unknown_116e30
-	dw Unknown_116e69
-	dw Unknown_116e9a
-	dw Unknown_116ed3
-	dw Unknown_116f0c
-	dw Unknown_116f45
-	dw Unknown_116f7e
-	dw Unknown_116b13
-	dw Unknown_116b54
-	dw Unknown_116b95
-	dw Unknown_116bd6
-	dw Unknown_116c17
-	dw Unknown_116c58
-	dw Unknown_116c99
-	dw Unknown_116cda
-	dw Unknown_116fb7
-	dw Unknown_116fec
-	dw Unknown_117025
-	dw Unknown_117056
-	dw Unknown_117083
-	dw Unknown_1170c0
-	dw Unknown_1170fd
-	dw Unknown_11713a
-	dw Unknown_117177
-	dw Unknown_11719c
-	dw Unknown_1171c1
-	dw Unknown_1171e6
-	dw Unknown_11720b
-	dw Unknown_117230
-	dw Unknown_117255
-	dw Unknown_11727a
-	dw Unknown_11729f
-	dw Unknown_1172c4
-	dw Unknown_1172e9
-
-Unknown_116923:
-	db $f
-	db $0, $0, $1, $a
-	db $0, $8, $2, $d
-	db $0, $10, $3, $d
-	db $0, $18, $4, $d
-	db $8, $0, $11, $a
-	db $8, $8, $12, $a
-	db $8, $10, $13, $a
-	db $8, $18, $14, $d
-	db $10, $0, $21, $a
-	db $10, $8, $22, $a
-	db $10, $10, $23, $a
-	db $10, $18, $24, $a
-	db $18, $0, $31, $a
-	db $18, $8, $32, $a
-	db $18, $10, $33, $a
-
-Unknown_116960:
-	db $10
-	db $1, $0, $1, $a
-	db $1, $8, $2, $d
-	db $1, $10, $3, $d
-	db $1, $18, $4, $d
-	db $9, $0, $11, $a
-	db $9, $8, $12, $a
-	db $9, $10, $13, $a
-	db $9, $18, $14, $d
-	db $11, $0, $5, $a
-	db $11, $8, $6, $a
-	db $11, $10, $7, $a
-	db $11, $18, $34, $a
-	db $19, $0, $15, $a
-	db $19, $8, $16, $a
-	db $19, $10, $17, $a
-	db $19, $18, $35, $a
-
-Unknown_1169a1:
-	db $f
-	db $1, $0, $1, $a
-	db $1, $8, $2, $d
-	db $1, $10, $3, $d
-	db $1, $18, $4, $d
-	db $9, $0, $11, $a
-	db $9, $8, $12, $a
-	db $9, $10, $13, $a
-	db $9, $18, $14, $d
-	db $11, $0, $25, $a
-	db $11, $8, $26, $a
-	db $11, $10, $27, $a
-	db $11, $18, $34, $a
-	db $19, $8, $36, $a
-	db $19, $10, $37, $a
-	db $19, $18, $35, $a
-
-Unknown_1169de:
-	db $f
-	db $0, $0, $1, $a
-	db $0, $8, $2, $d
-	db $0, $10, $3, $d
-	db $0, $18, $4, $d
-	db $8, $0, $11, $a
-	db $8, $8, $12, $a
-	db $8, $10, $13, $a
-	db $8, $18, $14, $d
-	db $10, $0, $10, $a
-	db $10, $8, $20, $a
-	db $10, $10, $30, $a
-	db $10, $18, $24, $a
-	db $18, $0, $31, $a
-	db $18, $8, $32, $a
-	db $18, $10, $33, $a
-
-Unknown_116a1b:
-	db $f
-	db $0, $0, $4, $2d
-	db $0, $8, $3, $2d
-	db $0, $10, $2, $2d
-	db $0, $18, $1, $2a
-	db $8, $0, $14, $2d
-	db $8, $8, $13, $2a
-	db $8, $10, $12, $2a
-	db $8, $18, $11, $2a
-	db $10, $0, $24, $2a
-	db $10, $8, $23, $2a
-	db $10, $10, $22, $2a
-	db $10, $18, $21, $2a
-	db $18, $8, $33, $2a
-	db $18, $10, $32, $2a
-	db $18, $18, $31, $2a
-
-Unknown_116a58:
-	db $10
-	db $1, $0, $4, $2d
-	db $1, $8, $3, $2d
-	db $1, $10, $2, $2d
-	db $1, $18, $1, $2a
-	db $9, $0, $14, $2d
-	db $9, $8, $13, $2a
-	db $9, $10, $12, $2a
-	db $9, $18, $11, $2a
-	db $11, $0, $34, $2a
-	db $11, $8, $7, $2a
-	db $11, $10, $6, $2a
-	db $11, $18, $5, $2a
-	db $19, $0, $35, $2a
-	db $19, $8, $17, $2a
-	db $19, $10, $16, $2a
-	db $19, $18, $15, $2a
-
-Unknown_116a99:
-	db $f
-	db $1, $0, $4, $2d
-	db $1, $8, $3, $2d
-	db $1, $10, $2, $2d
-	db $1, $18, $1, $2a
-	db $9, $0, $14, $2d
-	db $9, $8, $13, $2a
-	db $9, $10, $12, $2a
-	db $9, $18, $11, $2a
-	db $11, $0, $34, $2a
-	db $11, $8, $27, $2a
-	db $11, $10, $26, $2a
-	db $11, $18, $25, $2a
-	db $19, $0, $35, $2a
-	db $19, $8, $37, $2a
-	db $19, $10, $36, $2a
-
-Unknown_116ad6:
-	db $f
-	db $0, $0, $4, $2d
-	db $0, $8, $3, $2d
-	db $0, $10, $2, $2d
-	db $0, $18, $1, $2a
-	db $8, $0, $14, $2d
-	db $8, $8, $13, $2a
-	db $8, $10, $12, $2a
-	db $8, $18, $11, $2a
-	db $10, $0, $24, $2a
-	db $10, $8, $30, $2a
-	db $10, $10, $20, $2a
-	db $10, $18, $10, $2a
-	db $18, $8, $33, $2a
-	db $18, $10, $32, $2a
-	db $18, $18, $31, $2a
-
-Unknown_116b13:
-	db $10
-	db $18, $0, $0, $b
-	db $18, $8, $8, $b
-	db $18, $10, $5c, $b
-	db $18, $18, $0, $b
-	db $10, $0, $0, $b
-	db $10, $8, $5d, $b
-	db $10, $10, $5e, $b
-	db $10, $18, $0, $b
-	db $8, $0, $50, $b
-	db $8, $8, $51, $b
-	db $8, $10, $52, $b
-	db $8, $18, $50, $2b
-	db $0, $0, $43, $b
-	db $0, $8, $44, $b
-	db $0, $10, $44, $2b
-	db $0, $18, $43, $2b
-
-Unknown_116b54:
-	db $10
-	db $19, $0, $0, $b
-	db $19, $8, $18, $b
-	db $19, $10, $c, $b
-	db $19, $18, $0, $b
-	db $11, $0, $42, $b
-	db $11, $8, $3a, $b
-	db $11, $10, $3a, $2b
-	db $11, $18, $42, $2b
-	db $9, $0, $58, $b
-	db $9, $8, $45, $b
-	db $9, $10, $45, $2b
-	db $9, $18, $58, $2b
-	db $1, $0, $d, $b
-	db $1, $8, $44, $b
-	db $1, $10, $44, $2b
-	db $1, $18, $d, $2b
-
-Unknown_116b95:
-	db $10
-	db $18, $0, $0, $b
-	db $18, $8, $5c, $2b
-	db $18, $10, $8, $2b
-	db $18, $18, $0, $b
-	db $10, $0, $0, $b
-	db $10, $8, $5e, $2b
-	db $10, $10, $5d, $2b
-	db $10, $18, $0, $b
-	db $8, $0, $50, $b
-	db $8, $8, $52, $2b
-	db $8, $10, $51, $2b
-	db $8, $18, $50, $2b
-	db $0, $0, $43, $b
-	db $0, $8, $44, $b
-	db $0, $10, $44, $2b
-	db $0, $18, $43, $2b
-
-Unknown_116bd6:
-	db $10
-	db $18, $0, $0, $a
-	db $18, $8, $56, $a
-	db $18, $10, $57, $a
-	db $18, $18, $0, $a
-	db $10, $0, $64, $a
-	db $10, $8, $4a, $a
-	db $10, $10, $4b, $a
-	db $10, $18, $71, $a
-	db $8, $0, $54, $a
-	db $8, $8, $55, $a
-	db $8, $10, $55, $2a
-	db $8, $18, $54, $2a
-	db $0, $0, $48, $a
-	db $0, $8, $49, $a
-	db $0, $10, $49, $2a
-	db $0, $18, $48, $2a
-
-Unknown_116c17:
-	db $10
-	db $19, $0, $0, $a
-	db $19, $8, $76, $a
-	db $19, $10, $77, $a
-	db $19, $18, $0, $a
-	db $11, $0, $64, $a
-	db $11, $8, $69, $a
-	db $11, $10, $6a, $a
-	db $11, $18, $6b, $a
-	db $9, $0, $6f, $a
-	db $9, $8, $70, $a
-	db $9, $10, $70, $2a
-	db $9, $18, $6f, $2a
-	db $1, $0, $63, $a
-	db $1, $8, $19, $a
-	db $1, $10, $19, $2a
-	db $1, $18, $63, $2a
-
-Unknown_116c58:
-	db $10
-	db $1a, $0, $6c, $a
-	db $1a, $8, $6d, $a
-	db $1a, $10, $6e, $a
-	db $1a, $18, $0, $a
-	db $12, $0, $5f, $a
-	db $12, $8, $60, $a
-	db $12, $10, $61, $a
-	db $12, $18, $62, $a
-	db $a, $0, $53, $a
-	db $a, $8, $55, $a
-	db $a, $10, $55, $2a
-	db $a, $18, $53, $2a
-	db $2, $0, $46, $a
-	db $2, $8, $47, $a
-	db $2, $10, $47, $2a
-	db $2, $18, $46, $2a
-
-Unknown_116c99:
-	db $10
-	db $19, $0, $0, $2a
-	db $19, $8, $77, $2a
-	db $19, $10, $76, $2a
-	db $19, $18, $0, $2a
-	db $11, $0, $6b, $2a
-	db $11, $8, $6a, $2a
-	db $11, $10, $69, $2a
-	db $11, $18, $64, $2a
-	db $9, $0, $6f, $a
-	db $9, $8, $70, $a
-	db $9, $10, $70, $2a
-	db $9, $18, $6f, $2a
-	db $1, $0, $63, $a
-	db $1, $8, $19, $a
-	db $1, $10, $19, $2a
-	db $1, $18, $63, $2a
-
-Unknown_116cda:
-	db $10
-	db $18, $0, $0, $a
-	db $18, $8, $57, $2a
-	db $18, $10, $56, $2a
-	db $18, $18, $0, $a
-	db $10, $0, $71, $2a
-	db $10, $8, $4b, $2a
-	db $10, $10, $4a, $2a
-	db $10, $18, $64, $2a
-	db $8, $0, $54, $a
-	db $8, $8, $55, $a
-	db $8, $10, $55, $2a
-	db $8, $18, $54, $2a
-	db $0, $0, $48, $a
-	db $0, $8, $49, $a
-	db $0, $10, $49, $2a
-	db $0, $18, $48, $2a
-
-Unknown_116d1b:
-	db $c
-	db $0, $0, $38, $4a
-	db $0, $8, $39, $4a
-	db $0, $10, $39, $6a
-	db $0, $18, $38, $6a
-	db $8, $0, $28, $4a
-	db $8, $8, $29, $4a
-	db $8, $10, $29, $6a
-	db $8, $18, $28, $6a
-	db $10, $0, $9, $4d
-	db $10, $8, $19, $4a
-	db $10, $10, $19, $6a
-	db $10, $18, $9, $6d
-
-Unknown_116d4c:
-	db $e
-	db $0, $8, $3b, $4a
-	db $0, $10, $3b, $6a
-	db $8, $0, $2a, $4a
-	db $8, $8, $2b, $4a
-	db $8, $10, $2b, $6a
-	db $8, $18, $2a, $6a
-	db $10, $0, $1a, $4a
-	db $10, $8, $1b, $4a
-	db $10, $10, $1b, $6a
-	db $10, $18, $1a, $6a
-	db $18, $0, $a, $4a
-	db $18, $8, $b, $4a
-	db $18, $10, $b, $6a
-	db $18, $18, $a, $6a
-
-Unknown_116d85:
-	db $e
-	db $0, $0, $35, $2a
-	db $0, $8, $3c, $4a
-	db $0, $10, $3d, $4a
-	db $0, $18, $3e, $4a
-	db $8, $0, $2c, $4a
-	db $8, $8, $2d, $4a
-	db $8, $10, $2e, $4a
-	db $8, $18, $2f, $4a
-	db $10, $0, $1c, $4a
-	db $10, $8, $1d, $4a
-	db $10, $10, $1e, $4d
-	db $10, $18, $1f, $4d
-	db $18, $10, $e, $4d
-	db $18, $18, $f, $4a
-
-Unknown_116dbe:
-	db $e
-	db $0, $0, $65, $4a
-	db $0, $8, $66, $4a
-	db $0, $10, $67, $4a
-	db $0, $18, $68, $4a
-	db $8, $8, $59, $4a
-	db $8, $10, $5a, $4a
-	db $8, $18, $5b, $4a
-	db $10, $0, $4c, $4a
-	db $10, $8, $4d, $4d
-	db $10, $10, $4e, $4d
-	db $10, $18, $4f, $4a
-	db $18, $0, $3f, $4d
-	db $18, $8, $40, $4d
-	db $18, $10, $41, $4d
-
-Unknown_116df7:
-	db $e
-	db $0, $0, $3e, $6a
-	db $0, $8, $3d, $6a
-	db $0, $10, $3c, $6a
-	db $0, $18, $35, $a
-	db $8, $0, $2f, $6a
-	db $8, $8, $2e, $6a
-	db $8, $10, $2d, $6a
-	db $8, $18, $2c, $6a
-	db $10, $0, $1f, $6d
-	db $10, $8, $1e, $6d
-	db $10, $10, $1d, $6a
-	db $10, $18, $1c, $6a
-	db $18, $0, $f, $6a
-	db $18, $8, $e, $6d
-
-Unknown_116e30:
-	db $e
-	db $0, $0, $68, $6a
-	db $0, $8, $67, $6a
-	db $0, $10, $66, $6a
-	db $0, $18, $65, $6a
-	db $8, $0, $5b, $6a
-	db $8, $8, $5a, $6a
-	db $8, $10, $59, $6a
-	db $10, $0, $4f, $6a
-	db $10, $8, $4e, $6d
-	db $10, $10, $4d, $6d
-	db $10, $18, $4c, $6a
-	db $18, $8, $41, $6d
-	db $18, $10, $40, $6d
-	db $18, $18, $3f, $6d
-
-Unknown_116e69:
-	db $c
-	db $8, $0, $9, $d
-	db $8, $8, $19, $a
-	db $8, $10, $19, $2a
-	db $8, $18, $9, $2d
-	db $10, $0, $28, $a
-	db $10, $8, $29, $a
-	db $10, $10, $29, $2a
-	db $10, $18, $28, $2a
-	db $18, $0, $38, $a
-	db $18, $8, $39, $a
-	db $18, $10, $39, $2a
-	db $18, $18, $38, $2a
-
-Unknown_116e9a:
-	db $e
-	db $0, $0, $a, $a
-	db $0, $8, $b, $a
-	db $0, $10, $b, $2a
-	db $0, $18, $a, $2a
-	db $8, $0, $1a, $a
-	db $8, $8, $1b, $a
-	db $8, $10, $1b, $2a
-	db $8, $18, $1a, $2a
-	db $10, $0, $2a, $a
-	db $10, $8, $2b, $a
-	db $10, $10, $2b, $2a
-	db $10, $18, $2a, $2a
-	db $18, $8, $3b, $a
-	db $18, $10, $3b, $2a
-
-Unknown_116ed3:
-	db $e
-	db $0, $10, $e, $d
-	db $0, $18, $f, $a
-	db $8, $0, $1c, $a
-	db $8, $8, $1d, $a
-	db $8, $10, $1e, $d
-	db $8, $18, $1f, $d
-	db $10, $0, $2c, $a
-	db $10, $8, $2d, $a
-	db $10, $10, $2e, $a
-	db $10, $18, $2f, $a
-	db $18, $0, $35, $6a
-	db $18, $8, $3c, $a
-	db $18, $10, $3d, $a
-	db $18, $18, $3e, $a
-
-Unknown_116f0c:
-	db $e
-	db $0, $0, $3f, $d
-	db $0, $8, $40, $d
-	db $0, $10, $41, $d
-	db $8, $0, $4c, $a
-	db $8, $8, $4d, $d
-	db $8, $10, $4e, $d
-	db $8, $18, $4f, $a
-	db $10, $8, $59, $a
-	db $10, $10, $5a, $a
-	db $10, $18, $5b, $a
-	db $18, $0, $65, $a
-	db $18, $8, $66, $a
-	db $18, $10, $67, $a
-	db $18, $18, $68, $a
-
-Unknown_116f45:
-	db $e
-	db $0, $0, $f, $2a
-	db $0, $8, $e, $2d
-	db $8, $0, $1f, $2d
-	db $8, $8, $1e, $2d
-	db $8, $10, $1d, $2a
-	db $8, $18, $1c, $2a
-	db $10, $0, $2f, $2a
-	db $10, $8, $2e, $2a
-	db $10, $10, $2d, $2a
-	db $10, $18, $2c, $2a
-	db $18, $0, $3e, $2a
-	db $18, $8, $3d, $2a
-	db $18, $10, $3c, $2a
-	db $18, $18, $35, $4a
-
-Unknown_116f7e:
-	db $e
-	db $0, $8, $41, $2d
-	db $0, $10, $40, $2d
-	db $0, $18, $3f, $2d
-	db $8, $0, $4f, $2a
-	db $8, $8, $4e, $2d
-	db $8, $10, $4d, $2d
-	db $8, $18, $4c, $2a
-	db $10, $0, $5b, $2a
-	db $10, $8, $5a, $2a
-	db $10, $10, $59, $2a
-	db $18, $0, $68, $2a
-	db $18, $8, $67, $2a
-	db $18, $10, $66, $2a
-	db $18, $18, $65, $2a
-
-Unknown_116fb7:
-	db $d
-	db $fa, $0, $72, $a
-	db $fa, $8, $73, $d
-	db $fa, $10, $74, $d
-	db $fa, $18, $75, $d
-	db $2, $0, $81, $a
-	db $2, $8, $82, $a
-	db $2, $10, $83, $a
-	db $2, $18, $84, $a
-	db $a, $0, $91, $a
-	db $a, $8, $92, $a
-	db $a, $10, $93, $a
-	db $a, $18, $94, $a
-	db $12, $10, $a3, $a
-
-Unknown_116fec:
-	db $e
-	db $fd, $0, $85, $d
-	db $fd, $8, $86, $d
-	db $5, $0, $95, $d
-	db $5, $8, $96, $a
-	db $5, $10, $97, $a
-	db $5, $18, $98, $a
-	db $d, $0, $a5, $a
-	db $d, $8, $a6, $a
-	db $d, $10, $a7, $a
-	db $d, $18, $a8, $a
-	db $15, $0, $b3, $a
-	db $15, $8, $b4, $a
-	db $15, $10, $b5, $a
-	db $15, $18, $b6, $a
-
-Unknown_117025:
-	db $c
-	db $8, $0, $79, $d
-	db $8, $8, $7a, $d
-	db $8, $10, $7b, $a
-	db $8, $18, $7c, $a
-	db $10, $0, $89, $d
-	db $10, $8, $8a, $a
-	db $10, $10, $8b, $a
-	db $10, $18, $8c, $a
-	db $18, $0, $99, $a
-	db $18, $8, $9a, $a
-	db $18, $10, $9b, $a
-	db $18, $18, $9c, $a
-
-Unknown_117056:
-	db $b
-	db $8, $0, $7d, $a
-	db $8, $8, $7e, $d
-	db $8, $10, $7f, $d
-	db $8, $18, $80, $a
-	db $10, $0, $8d, $a
-	db $10, $8, $8e, $a
-	db $10, $10, $8f, $a
-	db $10, $18, $90, $a
-	db $18, $8, $9e, $a
-	db $18, $10, $9f, $a
-	db $18, $18, $a0, $a
-
-Unknown_117083:
-	db $f
-	db $0, $0, $a1, $a
-	db $0, $8, $a2, $a
-	db $0, $10, $a2, $2a
-	db $0, $18, $a1, $2a
-	db $8, $0, $b1, $a
-	db $8, $8, $b2, $d
-	db $8, $10, $b2, $2d
-	db $8, $18, $b1, $2a
-	db $10, $0, $ab, $a
-	db $10, $8, $ac, $a
-	db $10, $10, $ac, $2a
-	db $10, $18, $ab, $2a
-	db $18, $8, $a4, $a
-	db $18, $10, $87, $a
-	db $18, $18, $88, $a
-
-Unknown_1170c0:
-	db $f
-	db $0, $0, $a1, $a
-	db $0, $8, $a2, $d
-	db $0, $10, $a2, $2a
-	db $0, $18, $a1, $2a
-	db $8, $0, $b1, $a
-	db $8, $8, $78, $d
-	db $8, $10, $78, $2d
-	db $8, $18, $b1, $2a
-	db $10, $0, $ab, $a
-	db $10, $8, $ac, $a
-	db $10, $10, $ac, $2a
-	db $10, $18, $ab, $2a
-	db $18, $8, $a4, $a
-	db $18, $10, $87, $a
-	db $18, $18, $88, $a
-
-Unknown_1170fd:
-	db $f
-	db $0, $0, $a9, $a
-	db $0, $8, $aa, $a
-	db $0, $10, $aa, $2a
-	db $0, $18, $a9, $2a
-	db $8, $0, $b7, $a
-	db $8, $8, $b8, $a
-	db $8, $10, $b8, $2a
-	db $8, $18, $b7, $2a
-	db $10, $0, $ab, $a
-	db $10, $8, $ac, $a
-	db $10, $10, $ac, $2a
-	db $10, $18, $ad, $a
-	db $18, $8, $a4, $a
-	db $18, $10, $ba, $a
-	db $18, $18, $bb, $a
-
-Unknown_11713a:
-	db $f
-	db $0, $0, $ae, $c
-	db $0, $8, $af, $c
-	db $0, $10, $af, $2c
-	db $0, $18, $ae, $2c
-	db $8, $0, $bc, $c
-	db $8, $8, $bd, $c
-	db $8, $10, $bd, $2c
-	db $8, $18, $bc, $2c
-	db $10, $0, $bf, $c
-	db $10, $8, $9d, $c
-	db $10, $10, $9d, $2c
-	db $10, $18, $b0, $c
-	db $18, $8, $b9, $c
-	db $18, $10, $c0, $c
-	db $18, $18, $be, $c
-
-Unknown_117177:
-	db $9
-	db $14, $0, $1f, $6
-	db $14, $8, $20, $6
-	db $14, $10, $21, $6
-	db $c, $0, $10, $6
-	db $c, $8, $11, $6
-	db $c, $10, $12, $6
-	db $4, $0, $1, $6
-	db $4, $8, $2, $6
-	db $4, $10, $3, $6
-
-Unknown_11719c:
-	db $9
-	db $14, $0, $22, $6
-	db $14, $8, $23, $6
-	db $14, $10, $24, $6
-	db $c, $0, $13, $6
-	db $c, $8, $14, $6
-	db $c, $10, $15, $6
-	db $4, $0, $4, $6
-	db $4, $8, $5, $6
-	db $4, $10, $6, $6
-
-Unknown_1171c1:
-	db $9
-	db $14, $0, $25, $6
-	db $14, $8, $26, $6
-	db $14, $10, $27, $6
-	db $c, $0, $16, $6
-	db $c, $8, $17, $6
-	db $c, $10, $18, $6
-	db $4, $0, $7, $6
-	db $4, $8, $8, $6
-	db $4, $10, $9, $6
-
-Unknown_1171e6:
-	db $9
-	db $14, $0, $28, $6
-	db $14, $8, $29, $6
-	db $14, $10, $2a, $6
-	db $c, $0, $19, $6
-	db $c, $8, $1a, $6
-	db $c, $10, $1b, $6
-	db $4, $0, $a, $6
-	db $4, $8, $b, $6
-	db $4, $10, $c, $6
-
-Unknown_11720b:
-	db $9
-	db $14, $0, $2b, $6
-	db $14, $8, $2c, $6
-	db $14, $10, $2d, $6
-	db $c, $0, $1c, $6
-	db $c, $8, $1d, $6
-	db $c, $10, $1e, $6
-	db $4, $0, $d, $6
-	db $4, $8, $e, $6
-	db $4, $10, $f, $6
-
-Unknown_117230:
-	db $9
-	db $14, $0, $47, $6
-	db $14, $8, $48, $6
-	db $14, $10, $49, $6
-	db $c, $0, $3b, $6
-	db $c, $8, $3c, $6
-	db $c, $10, $3b, $26
-	db $4, $0, $2e, $6
-	db $4, $8, $2f, $6
-	db $4, $10, $30, $6
-
-Unknown_117255:
-	db $9
-	db $14, $0, $35, $6
-	db $14, $8, $4a, $6
-	db $14, $10, $35, $6
-	db $c, $0, $3d, $6
-	db $c, $8, $35, $6
-	db $c, $10, $3d, $26
-	db $4, $0, $31, $6
-	db $4, $8, $32, $6
-	db $4, $10, $31, $26
-
-Unknown_11727a:
-	db $9
-	db $14, $0, $4b, $6
-	db $14, $8, $4c, $6
-	db $14, $10, $4d, $6
-	db $c, $0, $3e, $6
-	db $c, $8, $3f, $6
-	db $c, $10, $40, $6
-	db $4, $0, $33, $6
-	db $4, $8, $34, $6
-	db $4, $10, $35, $6
-
-Unknown_11729f:
-	db $9
-	db $14, $0, $4e, $6
-	db $14, $8, $4f, $6
-	db $14, $10, $50, $6
-	db $c, $0, $41, $6
-	db $c, $8, $42, $6
-	db $c, $10, $43, $6
-	db $4, $0, $35, $6
-	db $4, $8, $36, $6
-	db $4, $10, $37, $6
-
-Unknown_1172c4:
-	db $9
-	db $14, $0, $51, $6
-	db $14, $8, $52, $6
-	db $14, $10, $35, $6
-	db $c, $0, $44, $6
-	db $c, $8, $45, $6
-	db $c, $10, $46, $6
-	db $4, $0, $38, $6
-	db $4, $8, $39, $6
-	db $4, $10, $3a, $6
-
-Unknown_1172e9:
-	db $9
-	db $10, $0, $0, $2
-	db $10, $8, $0, $2
-	db $10, $10, $0, $2
-	db $8, $0, $0, $2
-	db $8, $8, $0, $2
-	db $c, $10, $1f, $6
-	db $0, $0, $0, $2
-	db $0, $8, $0, $2
-	db $4, $10, $10, $6
-
-Palette_11730e:
-	RGB 31, 31, 31
-	RGB  7,  5,  4
-	RGB 31, 28,  4
-	RGB 31,  5,  5
-	RGB 31, 31, 31
-	RGB  7,  5,  4
-	RGB 31, 23,  0
-	RGB 31, 28,  4
-	RGB 31, 31, 31
-	RGB 16, 19, 31
-	RGB 17, 31, 31
-	RGB 31, 31, 31
-	RGB  5,  5,  5
-	RGB  7,  5,  4
-	RGB 31, 28,  4
-	RGB 19, 11,  6
-	RGB 31, 31, 31
-	RGB  3, 15, 31
-	RGB  4, 25, 25
-	RGB  0,  7, 12
-	RGB 31, 31, 31
-	RGB  0, 16,  0
-	RGB  0, 16,  0
-	RGB  0, 16,  0
-	RGB  4, 11, 22
-	RGB  0, 16,  0
-	RGB  0, 16,  0
-	RGB  0, 16,  0
-	RGB 22, 11,  8
-	RGB  0, 16,  0
-	RGB  0, 16,  0
-	RGB  0, 16,  0
-
-Palette_11734e:
-	RGB 31, 30, 30
-	RGB  2,  0,  0
-	RGB 10,  9,  9
-	RGB 15, 14, 14
-
-Unknown_117356:
-INCBIN "gfx/unknown/117356.tilemap"
-INCBIN "gfx/unknown/1174d6.attrmap"
-
-
-SECTION "Mobile Stadium", ROMX
-
-GiveOddEgg:
-	farcall _GiveOddEgg
-	ret
-
-Function11765d:
-	ldh a, [hInMenu]
-	push af
-	ld a, $1
-	ldh [hInMenu], a
-	call Function11766b
-	pop af
-	ldh [hInMenu], a
-	ret
-
-Function11766b:
-	call Function117699
-	ldh a, [rSVBK]
-	push af
-	ld a, $5
-	ldh [rSVBK], a
-	call Function1176ee
-	ld a, $5
-	call GetSRAMBank
-	ld hl, $b1f3
-	ld de, wcd49
-	ld bc, $8
-	call CopyBytes
-	ld de, $c708
-	ld bc, $11
-	call CopyBytes
-	call CloseSRAM
-	pop af
-	ldh [rSVBK], a
-	ret
-
-Function117699:
-	ld a, $5
-	call GetSRAMBank
-	ld hl, wcd49
-	ld de, $b1f3
-	ld bc, $8
-	call CopyBytes
-	ld hl, $c708
-	ld bc, $11
-	call CopyBytes
-	call CloseSRAM
-	xor a
-	ld [wcd49], a
-	ld [wcd4a], a
-	ld [wcd4b], a
-	ld [wcd4c], a
-	ld [wcd4d], a
-	ld [wcd4e], a
-	ld [wcd4f], a
-	ld hl, $c708
-	ld bc, $11
-	call ByteFill
-	call ClearBGPalettes
-	call ClearSprites
-	farcall Function171c87
-	farcall ReloadMapPart
-	farcall ClearSpriteAnims
-	ret
-
-Function1176ee:
-.loop
-	call JoyTextDelay
-	ld a, [wcd49]
-	bit 7, a
-	jr nz, .quit
-	call Function117719
-	farcall PlaySpriteAnimations
-	farcall ReloadMapPart
-	jr .loop
-
-.quit
-	farcall ClearSpriteAnims
-	call ClearBGPalettes
-	call ClearScreen
-	call ClearSprites
-	ret
-
-Function117719:
-	ld a, [wcd49]
-	ld e, a
-	ld d, 0
-	ld hl, Jumptable_117728
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp hl
-
-Jumptable_117728:
-	dw Function117738
-	dw Function117764
-	dw Function1178aa
-	dw Function1178e8
-	dw Function117942
-	dw Function117976
-	dw Function117984
-	dw Function1179a7
-
-Function117738:
-	farcall Function171ccd
-	depixel 6, 3
-	ld a, $1d
-	call _InitSpriteAnimStruct
-	ld hl, $c
-	add hl, bc
-	ld a, $6
-	ld [hl], a
-	depixel 9, 4
-	ld a, $1d
-	call _InitSpriteAnimStruct
-	ld hl, $c
-	add hl, bc
-	ld a, $7
-	ld [hl], a
-	ld a, $3
-	ld [wcd23], a
-	jp MobilePassword_IncrementJumptable
-
-Function117764:
-	ld a, [wcd4a]
-	cp $10
-	jr nz, .asm_11776f
-	ld a, $1
-	jr .asm_117770
-
-.asm_11776f
-	xor a
-.asm_117770
-	ld [wcd24], a
-	ld hl, hJoyPressed
-	ld a, [hl]
-	and SELECT
-	jr nz, Function117764_select
-	ld a, [hl]
-	and START
-	jr nz, Function117764_start
-	ld a, [hl]
-	and A_BUTTON
-	jp nz, Function117764_a_button
-	ld a, [hl]
-	and B_BUTTON
-	jr nz, Function117764_b_button
-	ld hl, hJoyLast
-	ld a, [hl]
-	and D_UP
-	jr nz, Function117764_d_up
-	ld a, [hl]
-	and D_DOWN
-	jr nz, Function117764_d_down
-	ld a, [hl]
-	and D_LEFT
-	jp nz, Function117764_d_left
-	ld a, [hl]
-	and D_RIGHT
-	jp nz, Function117764_d_right
-	ret
-
-Function117764_select:
-	farcall Function171cf0
-	ret
-
-Function117764_start:
-	ld a, $2
-	ld [wcd4c], a
-	ld a, $4
-	ld [wcd4d], a
-	ret
-
-Function1177b7:
-	ld a, $3
-	ld [wcd24], a
-	ld a, [wcd4a]
-	and a
-	jr z, .asm_1177c5
-	jp MobilePassword_IncrementJumptable
-
-.asm_1177c5
-	ld a, $6
-	ld [wcd49], a
-	ret
-
-Function1177cb:
-	ld a, $80
-	ld [wcd49], a
-	ld [wScriptVar], a
-	jp MobilePassword_IncrementJumptable
-
-Function117764_b_button:
-	call PlayClickSFX
-	ld a, [wcd4a]
-	and a
-	ret z
-	dec a
-	ld [wcd4a], a
-	ld e, a
-	ld d, $0
-	ld hl, $c708
-	add hl, de
-	xor a
-	ld [hl], a
-	hlcoord 2, 4
-	add hl, de
-	ld [hl], a
-	ret
-
-Function117764_d_up:
-	ld a, [wcd4d]
-	and a
-	ret z
-	dec a
-	ld [wcd4d], a
-	cp $3
-	ret nz
-	ld a, [wcd4c]
-	ld e, a
-	sla a
-	sla a
-	add e
-Function117764_d_vertical_load:
-	ld [wcd4c], a
-	ret
-
-Function117764_d_down:
-	ld a, [wcd4d]
-	cp $4
-	ret z
-	inc a
-	ld [wcd4d], a
-	cp $4
-	ret nz
-	ld a, [wcd4c]
-	cp $a
-	jr nc, .asm_117825
-	cp $5
-	jr nc, .asm_117829
-	xor a
-	jr Function117764_d_vertical_load
-
-.asm_117825
-	ld a, $2
-	jr Function117764_d_vertical_load
-
-.asm_117829
-	ld a, $1
-	jr Function117764_d_vertical_load
-
-Function117764_d_left:
-	ld a, [wcd4c]
-	and a
-	ret z
-	dec a
-	ld [wcd4c], a
-	ret
-
-Function117764_d_right:
-	ld e, $d
-	ld a, [wcd4d]
-	cp $4
-	jr nz, .wrap
-	ld e, $2
-.wrap
-	ld a, [wcd4c]
-	cp e
-	ret z
-	inc a
-	ld [wcd4c], a
-	ret
-
-Function117764_a_button:
-	call PlayClickSFX
-	ld a, [wcd4d]
-	cp $4
-	jr nz, .not_4
-	ld a, [wcd4c]
-	cp $2
-	jp z, Function1177b7
-	cp $1
-	jp z, Function1177cb
-	jp Function117764_select
-
-.not_4
-	ld a, [wcd4a]
-	ld e, a
-	cp $10
-	jp z, Function117764_start
-	inc a
-	ld [wcd4a], a
-	ld d, $0
-	ld a, [wcd4b]
-	and a
-	jr nz, .ascii_symbols
-	ld hl, Unknown_117a0f
-	jr .got_ascii
-
-.ascii_symbols
-	ld hl, Unknown_117a47
-.got_ascii
-	push de
-	ld a, [wcd4c]
-	ld b, a
-	ld a, [wcd4d]
-	ld c, $e
-	call SimpleMultiply
-	add b
-	ld c, a
-	ld b, $0
-	add hl, bc
-	ld a, [hl]
-	ld hl, $c708
-	add hl, de
-	ld [hl], a
-	pop de
-	hlcoord 2, 4
-	add hl, de
-	sub $20
-	ld [hl], a
-	ld a, e
-	cp $f
-	ret nz
-	jp Function117764_start
-
-Function1178aa:
-	ld hl, MenuHeader_1179b5
-	call LoadMenuHeader
-	call MenuBox
-	call MenuBoxCoord2Tile
-	ld hl, MenuHeader_1179bd
-	call LoadMenuHeader
-	call MenuBox
-	call MenuBoxCoord2Tile
-	farcall ReloadMapPart
-	hlcoord 16, 8
-	ld de, YessNoString_1179c5
-	call PlaceString
-	hlcoord 15, 10
-	ld a, "▶"
-	ld [hl], a
-	hlcoord 1, 14
-	ld de, AskSavePasswordString
-	call PlaceString
-	ld a, $1
-	ld [wcd4e], a
-	jp MobilePassword_IncrementJumptable
-
-Function1178e8:
-	ldh a, [hJoyPressed]
-	cp B_BUTTON
-	jr z, .b_button
-	cp A_BUTTON
-	jr z, .a_button
-	cp D_DOWN
-	jr z, .d_down
-	cp D_UP
-	ret nz
-	ld a, [wcd4e]
-	and a
-	ret z
-	dec a
-	ld [wcd4e], a
-	hlcoord 15, 8
-	ld a, "▶"
-	ld [hl], a
-	hlcoord 15, 10
-	ld a, " "
-	ld [hl], a
-	ret
-
-.d_down
-	ld a, [wcd4e]
-	and a
-	ret nz
-	inc a
-	ld [wcd4e], a
-	hlcoord 15, 8
-	ld a, " "
-	ld [hl], a
-	hlcoord 15, 10
-	ld a, "▶"
-	ld [hl], a
-	ret
-
-.a_button
-	call PlayClickSFX
-	ld a, [wcd4e]
-	and a
-	jr nz, .b_button
-	call ExitMenu
-	ld a, $1
-	ld [wcd4f], a
-	jp MobilePassword_IncrementJumptable
-
-.b_button
-	call ExitMenu
-	call ExitMenu
-	jp MobilePassword_IncrementJumptable
-
-Function117942:
-	call SpeechTextbox
-	hlcoord 1, 14
-	ld de, SavedPasswordString
-	call PlaceString
-	ld a, $1e
-	ld [wcd4e], a
-	ld a, BANK(sMobileLoginPassword)
-	call GetSRAMBank
-	ld a, [wcd4f]
-	ld [sMobileLoginPassword], a
-	ld hl, $c708
-	ld de, sMobileLoginPassword + 1
-	ld bc, MOBILE_LOGIN_PASSWORD_LENGTH
-	call CopyBytes
-	call CloseSRAM
-	ld a, [wcd4f]
-	and a
-	jr z, asm_11797e
-	call MobilePassword_IncrementJumptable
-
-Function117976:
-	ld hl, wcd4e
-	dec [hl]
-	ret nz
-	call ExitMenu
-asm_11797e:
-	ld a, $80
-	ld [wcd49], a
-	ret
-
-Function117984:
-	ld hl, MenuHeader_1179b5
-	call LoadMenuHeader
-	call MenuBox
-	call MenuBoxCoord2Tile
-	farcall ReloadMapPart
-	hlcoord 1, 14
-	ld de, NotAPokemonPasswordString
-	call PlaceString
-	ld a, $1e
-	ld [wcd4e], a
-	call MobilePassword_IncrementJumptable
-
-Function1179a7:
-	ld hl, wcd4e
-	dec [hl]
-	ret nz
-	call ExitMenu
-	ld a, $1
-	ld [wcd49], a
-	ret
-
-MenuHeader_1179b5:
-	db MENU_BACKUP_TILES ; flags
-	menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
-	dw NULL
-	db 0 ; default option
-
-MenuHeader_1179bd:
-	db MENU_BACKUP_TILES ; flags
-	menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
-	dw NULL
-	db 0 ; default option
-
-YessNoString_1179c5:
-	db   "はい"
-	next "いいえ@"
-
-AskSavePasswordString:
-	db   "こ<NO>パスワード¯ほぞんして"
-	line "おきますか?@"
-
-NotAPokemonPasswordString:
-	db   "パスワード<PKMN>にゅうりょく"
-	line "されていません!@"
-
-SavedPasswordString:
-	db   "ログインパスワード¯ほぞん"
-	line "しました@"
-
-MobilePassword_IncrementJumptable:
-	ld hl, wcd49
-	inc [hl]
-	ret
-
-Unknown_117a0f:
-INCBIN "data/mobile/ascii-alpha.txt"
-
-Unknown_117a47:
-INCBIN "data/mobile/ascii-sym.txt"
-
-; everything from here to the end of the bank is related to the
-; Mobile Stadium option from the continue/newgame menu.
-; Needs better function names
-MobileStudium:
-	ldh a, [hInMenu]
-	push af
-	ld a, $1
-	ldh [hInMenu], a
-	call Function117a8d
-	pop af
-	ldh [hInMenu], a
-	ret
-
-Function117a8d:
-	call Function117a94
-	call Function117acd
-	ret
-
-Function117a94:
-	xor a
-	ld [wJumptableIndex], a
-	ld [wcf64], a
-	ld [wcf65], a
-	ld [wcf66], a
-	call ClearBGPalettes
-	call ClearSprites
-	farcall Function172e78
-	farcall HDMATransferAttrMapAndTileMapToWRAMBank3
-	ret
-
-Function117ab4:
-	call ClearBGPalettes
-	call ClearSprites
-	farcall Function172e78
-	farcall Function172eb9
-	farcall ReloadMapPart
-	ret
-
-Function117acd:
-	call JoyTextDelay
-	ld a, [wJumptableIndex]
-	bit 7, a
-	jr nz, .asm_117ae2
-	call Function117ae9
-	farcall HDMATransferAttrMapAndTileMapToWRAMBank3
-	jr Function117acd
-
-.asm_117ae2
-	call ClearBGPalettes
-	call ClearSprites
-	ret
-
-Function117ae9:
-	ld a, [wJumptableIndex]
-	ld e, a
-	ld d, $0
-	ld hl, .Jumptable
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp hl
-
-.Jumptable:
-	dw Function117b06
-	dw Function117b14
-	dw Function117b28
-	dw Function117b31
-	dw Function117b4f
-	dw Function117bb6
-	dw Function117c4a
-
-Function117b06:
-	farcall Function172eb9
-	ld a, $10
-	ld [wcf64], a
-	jp MobileStudium_JumptableIncrement
-
-Function117b14:
-	ld hl, wcf64
-	dec [hl]
-	ret nz
-	ld hl, MenuHeader_117cbc
-	call LoadMenuHeader
-	call MenuBox
-	call MenuBoxCoord2Tile
-	jp MobileStudium_JumptableIncrement
-
-Function117b28:
-	ld hl, MobileStadiumEntryText
-	call PrintText
-	jp MobileStudium_JumptableIncrement
-
-Function117b31:
-	ld hl, MenuHeader_117cc4
-	call LoadMenuHeader
-	call MenuBox
-	call MenuBoxCoord2Tile
-	hlcoord 16, 8
-	ld de, YesNo117ccc
-	call PlaceString
-	hlcoord 15, 8
-	ld a, "▶"
-	ld [hl], a
-	jp MobileStudium_JumptableIncrement
-
-Function117b4f:
-	ldh a, [hJoyPressed]
-	cp B_BUTTON
-	jr z, .b_button
-	cp A_BUTTON
-	jr z, .a_button
-	cp D_DOWN
-	jr z, .d_down
-	cp D_UP
-	ret nz
-	ld a, [wcf64]
-	and a
-	ret z
-	dec a
-	ld [wcf64], a
-	hlcoord 15, 8
-	ld a, "▶"
-	ld [hl], a
-	hlcoord 15, 10
-	ld a, " "
-	ld [hl], a
-	ret
-
-.d_down
-	ld a, [wcf64]
-	and a
-	ret nz
-	inc a
-	ld [wcf64], a
-	hlcoord 15, 8
-	ld a, " "
-	ld [hl], a
-	hlcoord 15, 10
-	ld a, "▶"
-	ld [hl], a
-	ret
-
-.a_button
-	call PlayClickSFX
-	ld a, [wcf64]
-	and a
-	jr nz, .b_button
-	call ExitMenu
-	call ExitMenu
-	farcall ReloadMapPart
-	jp MobileStudium_JumptableIncrement
-
-.b_button
-	call ExitMenu
-	call ExitMenu
-	farcall ReloadMapPart
-	ld a, $80
-	ld [wJumptableIndex], a
-	ret
-
-Function117bb6:
-	call Function117c89
-	ld a, $1
-	ldh [hBGMapMode], a
-	farcall Function118284
-	call ClearSprites
-	ld a, [wc300]
-	and a
-	jr z, .asm_117be7
-	cp $a
-	jr z, .asm_117be1
-.asm_117bd0
-	ld a, $2
-	ld [wc303], a
-	farcall DisplayMobileError
-	ld a, $80
-	ld [wJumptableIndex], a
-	ret
-
-.asm_117be1
-	ld a, $80
-	ld [wJumptableIndex], a
-	ret
-
-.asm_117be7
-	ldh a, [rSVBK]
-	push af
-	ld a, $3
-	ldh [rSVBK], a
-	ld a, [wcd89]
-	and $1
-	jr nz, .asm_117c16
-	ld a, [w3_d000]
-	cp $fe
-	jr nz, .asm_117c16
-	ld a, [w3_d001]
-	cp $f
-	jr nz, .asm_117c16
-	ld hl, w3_dfec
-	ld de, wcd69
-	ld c, $10
-.asm_117c0b
-	ld a, [de]
-	inc de
-	cp [hl]
-	jr nz, .asm_117c16
-	inc hl
-	dec c
-	jr nz, .asm_117c0b
-	jr .asm_117c20
-
-.asm_117c16
-	pop af
-	ldh [rSVBK], a
-	ld a, $d3
-	ld [wc300], a
-	jr .asm_117bd0
-
-.asm_117c20
-	pop af
-	ldh [rSVBK], a
-	farcall Function172eb9
-	ldh a, [rSVBK]
-	push af
-	ld a, $3
-	ldh [rSVBK], a
-	ld a, $7
-	call GetSRAMBank
-	ld hl, w3_d002
-	ld de, $b000
-	ld bc, $1000
-	call CopyBytes
-	call CloseSRAM
-	pop af
-	ldh [rSVBK], a
-	jp MobileStudium_JumptableIncrement
-
-Function117c4a:
-	ld hl, MenuHeader_117cbc
-	call LoadMenuHeader
-	call MenuBox
-	call MenuBoxCoord2Tile
-	farcall ReloadMapPart
-	ld hl, MobileStadiumSuccessText
-	call PrintText
-	ldh a, [rSVBK]
-	push af
-	ld a, $5
-	ldh [rSVBK], a
-	ld hl, wBGPals1
-	ld de, 1 palettes
-	ld c, 8
-.loop
-	push hl
-	ld a, LOW(PALRGB_WHITE)
-	ld [hli], a
-	ld a, HIGH(PALRGB_WHITE)
-	ld [hl], a
-	pop hl
-	add hl, de
-	dec c
-	jr nz, .loop
-	call RotateThreePalettesRight
-	pop af
-	ldh [rSVBK], a
-	ld a, $80
-	ld [wJumptableIndex], a
-	ret
-
-Function117c89:
-	ld a, $7
-	call GetSRAMBank
-	ld l, $0
-	ld h, l
-	ld de, $b000
-	ld bc, $0ffc
-.asm_117c97
-	push bc
-	ld a, [de]
-	inc de
-	ld c, a
-	ld b, $0
-	add hl, bc
-	pop bc
-	dec bc
-	ld a, b
-	or c
-	jr nz, .asm_117c97
-	ld a, l
-	ld [wcd83], a
-	ld a, h
-	ld [wcd84], a
-	ld hl, $bfea
-	ld de, wcd69
-	ld bc, $10
-	call CopyBytes
-	call CloseSRAM
-	ret
-
-MenuHeader_117cbc:
-	db MENU_BACKUP_TILES ; flags
-	menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
-	dw NULL
-	db 0 ; default option
-
-MenuHeader_117cc4:
-	db MENU_BACKUP_TILES ; flags
-	menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
-	dw NULL
-	db 0 ; default item
-
-YesNo117ccc:
-	db   "はい"
-	next "いいえ@"
-
-MobileStadiumEntryText:
-	text_far _MobileStadiumEntryText
-	text_end
-
-MobileStadiumSuccessText:
-	text_far _MobileStadiumSuccessText
-	text_end
-
-MobileStudium_JumptableIncrement:
-	ld hl, wJumptableIndex
-	inc [hl]
 	ret
--- /dev/null
+++ b/mobile/mobile_45_2.asm
@@ -1,0 +1,1403 @@
+Function116567:
+	ld hl, wc3f7
+	dec [hl]
+	ret nz
+	ld hl, wc3f6
+	inc [hl]
+.asm_116570
+	ld a, $7
+	sla a
+	ld c, a
+	ld b, 0
+	ld hl, Unknown_1167eb
+	add hl, bc
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	push de
+	pop hl
+	ld a, [wc3f6]
+	sla a
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld a, [hli]
+	cp $fe
+	jr nz, .asm_116595
+	xor a
+	ld [wc3f6], a
+	jr .asm_116570
+
+.asm_116595
+	ld [wc3f5], a
+	ld a, [hl]
+	ld [wc3f7], a
+	ret
+
+Function11659d:
+	ld a, [wc314]
+	cp $12
+	ret nc
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_1165af
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp hl
+
+Jumptable_1165af:
+	dw Function11677e
+	dw Function1165d5
+	dw Function1165d8
+	dw Function1165e3
+	dw Function1165f5
+	dw Function116600
+	dw Function116615
+	dw Function116618
+	dw Function116623
+	dw Function116635
+	dw Function116640
+	dw Function116655
+	dw Function11665c
+	dw Function11668d
+	dw Function11669f
+	dw Function1166a2
+	dw Function1166c4
+	dw Function1166d6
+	dw Function1166d6
+
+Function1165d5:
+	call Function11678e
+
+Function1165d8:
+	ld a, $0
+	ld c, a
+	ld a, $ff
+	ld b, a
+	ld a, $a8
+	call Function1166f4
+
+Function1165e3:
+	call Function116747
+	ld a, [wc30e]
+	cp $e8
+	ret nz
+	ld a, $1
+	call Function116780
+	ret c
+	jp Function116797
+
+Function1165f5:
+	ld a, $1
+	ld c, a
+	ld a, $1
+	ld b, a
+	ld a, $e8
+	call Function1166f4
+
+Function116600:
+	call Function116747
+	ld a, [wc30e]
+	cp $a8
+	ret nz
+	ld a, $1
+	call Function116780
+	ret c
+	ld a, $2
+	ld [wc314], a
+	ret
+
+Function116615:
+	call Function11678e
+
+Function116618:
+	ld a, $3
+	ld c, a
+	ld a, $1
+	ld b, a
+	ld a, $28
+	call Function11671f
+
+Function116623:
+	call Function116747
+	ld a, [wc30f]
+	cp $a0
+	ret nz
+	ld a, $6
+	call Function116780
+	ret c
+	jp Function116797
+
+Function116635:
+	ld a, $2
+	ld c, a
+	ld a, $ff
+	ld b, a
+	ld a, $a0
+	call Function11671f
+
+Function116640:
+	call Function116747
+	ld a, [wc30f]
+	cp $28
+	ret nz
+	ld a, $6
+	call Function116780
+	ret c
+	ld a, $7
+	ld [wc314], a
+	ret
+
+Function116655:
+	xor a
+	ld [wc314 + 3], a
+	call Function11678e
+
+Function11665c:
+	ld hl, wc314 + 3
+	ld a, $1
+	xor [hl]
+	ld [hl], a
+	add $4
+	ld c, a
+	call Function11679c
+	ld a, [wc314 + 3]
+	and a
+	jr nz, .asm_116673
+	ld a, $48
+	jr .asm_116675
+
+.asm_116673
+	ld a, $78
+
+.asm_116675
+	ld [wc30f], a
+	call Random
+	ldh a, [hRandomAdd]
+	and $7
+	sla a
+	sla a
+	sla a
+	add $30
+	ld [wc30e], a
+	call Function116797
+
+Function11668d:
+	ld a, [wc311]
+	cp $ff
+	ret nz
+	ld a, $b
+	call Function116780
+	ret c
+	ld a, $c
+	ld [wc314], a
+	ret
+
+Function11669f:
+	call Function11678e
+
+Function1166a2:
+	ld a, $a8
+	ld [wc30e], a
+	ld [wc3f1], a
+	ld a, $60
+	ld [wc30f], a
+	ld [wc3f3], a
+	ld a, $ff
+	ld [wc314 + 2], a
+	xor a
+	ld [wc314 + 3], a
+	ld a, $0
+	ld c, a
+	call Function11679c
+	call Function116797
+
+Function1166c4:
+	call Function116747
+	ld a, [wc30e]
+	cp $58
+	ret nz
+	ld a, $6
+	ld c, a
+	call Function11679c
+	call Function116797
+
+Function1166d6:
+	call Function116747
+	ld a, [wc30e]
+	cp $48
+	jr nz, .asm_1166e4
+	xor a
+	ld [wc314 + 2], a
+
+.asm_1166e4
+	ld a, [wc311]
+	cp $ff
+	ret nz
+	ld a, $4
+	ld [$c319], a
+	xor a
+	ld [wc314], a
+	ret
+
+Function1166f4:
+	ld [wc30e], a
+	ld a, b
+	ld [wc314 + 2], a
+	xor a
+	ld [wc314 + 3], a
+	ld hl, wc30f
+.asm_116702
+	call Random
+	ldh a, [hRandomAdd]
+	and $7
+	jr z, .asm_11670c
+	dec a
+
+.asm_11670c
+	sla a
+	sla a
+	sla a
+	add $48
+	cp [hl]
+	jr z, .asm_116702
+	ld [hl], a
+	call Function11679c
+	call Function116797
+	ret
+
+Function11671f:
+	ld [wc30f], a
+	ld a, b
+	ld [wc314 + 3], a
+	xor a
+	ld [wc314 + 2], a
+	ld hl, wc30e
+.asm_11672d
+	call Random
+	ldh a, [hRandomAdd]
+	and $7
+	sla a
+	sla a
+	sla a
+	add $30
+	cp [hl]
+	jr z, .asm_11672d
+	ld [hl], a
+	call Function11679c
+	call Function116797
+	ret
+
+Function116747:
+	ld hl, wc30e
+	ld a, [wc314 + 2]
+	add [hl]
+	ld [hl], a
+	ld hl, wc30f
+	ld a, [wc314 + 3]
+	add [hl]
+	ld [hl], a
+	ret
+
+Function116758:
+	ld a, [wc30f]
+	cp $30
+	jr c, .asm_116770
+	jr z, .asm_116770
+	cp $38
+	jr c, .asm_116774
+	jr z, .asm_116774
+	cp $40
+	jr c, .asm_116778
+	jr z, .asm_116778
+	xor a
+	jr .asm_11677a
+
+.asm_116770
+	ld a, $c
+	jr .asm_11677a
+
+.asm_116774
+	ld a, $8
+	jr .asm_11677a
+
+.asm_116778
+	ld a, $4
+
+.asm_11677a
+	ld [wc314 + 4], a
+	ret
+
+Function11677e:
+	ld a, $0
+
+Function116780:
+	ld hl, wc314 + 1
+	cp [hl]
+	jr z, .asm_11678c
+	ld a, [hl]
+	ld [wc314], a
+	scf
+	ret
+
+.asm_11678c
+	and a
+	ret
+
+Function11678e:
+	ld hl, wc314
+	ld a, [hl]
+	ld [wc314 + 1], a
+	inc [hl]
+	ret
+
+Function116797:
+	ld hl, wc314
+	inc [hl]
+	ret
+
+Function11679c:
+	ld a, c
+	ld [wc311], a
+	xor a
+	ld [wc312], a
+	jr asm_1167af
+
+Function1167a6:
+	ld hl, wc313
+	dec [hl]
+	ret nz
+	ld hl, wc312
+	inc [hl]
+
+asm_1167af:
+	ld a, [wc311]
+	cp $ff
+	ret z
+	sla a
+	ld c, a
+	ld b, 0
+	ld hl, Unknown_1167eb
+	add hl, bc
+	ld a, [hli]
+	ld e, a
+	ld a, [hli]
+	ld d, a
+	push de
+	pop hl
+	ld a, [wc312]
+	sla a
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld a, [hli]
+	cp $ff
+	jr z, .asm_1167dc
+	cp $fe
+	jr nz, .asm_1167e3
+	xor a
+	ld [wc312], a
+	jr asm_1167af
+
+.asm_1167dc
+	ld a, $ff
+	ld [wc311], a
+	ld a, $fd
+
+.asm_1167e3
+	ld [wc310], a
+	ld a, [hl]
+	ld [wc313], a
+	ret
+
+Unknown_1167eb:
+	dw Unknown_1167fb
+	dw Unknown_116808
+	dw Unknown_116867
+	dw Unknown_116870
+	dw Unknown_116815
+	dw Unknown_11683e
+	dw Unknown_116881
+	dw Unknown_1168ae
+
+Unknown_1167fb:
+	db $0, $6
+	db $1, $4
+	db $2, $4
+	db $3, $6
+	db $2, $4
+	db $1, $4
+	db $fe
+
+Unknown_116808:
+	db $4, $6
+	db $5, $4
+	db $6, $4
+	db $7, $6
+	db $6, $4
+	db $5, $4
+	db $fe
+
+Unknown_116815:
+	db $fd, $20
+	db $8, $c
+	db $9, $24
+	db $a, $4
+	db $b, $8
+	db $a, $4
+	db $9, $6
+	db $c, $4
+	db $d, $8
+	db $c, $5
+	db $9, $24
+	db $a, $4
+	db $b, $8
+	db $a, $4
+	db $9, $6
+	db $c, $4
+	db $d, $8
+	db $c, $5
+	db $9, $8
+	db $8, $4
+	db -1 ; end
+
+Unknown_11683e:
+	db $fd, $20
+	db $e, $c
+	db $f, $24
+	db $10, $4
+	db $11, $8
+	db $10, $4
+	db $f, $6
+	db $12, $4
+	db $13, $8
+	db $12, $5
+	db $f, $24
+	db $10, $4
+	db $11, $8
+	db $10, $4
+	db $f, $6
+	db $12, $4
+	db $13, $8
+	db $12, $5
+	db $f, $8
+	db $e, $4
+	db -1 ; end
+
+Unknown_116867:
+	db $14, $8
+	db $15, $8
+	db $16, $8
+	db $15, $8
+	db $fe
+
+Unknown_116870:
+	db $17, $5
+	db $18, $5
+	db $19, $5
+	db $1a, $5
+	db $1b, $5
+	db $1a, $5
+	db $19, $5
+	db $18, $5
+	db $fe
+
+Unknown_116881:
+	db $1c, $7
+	db $1d, $7
+	db $1e, $a
+	db $1f, $a
+	db $20, $5
+	db $21, $5
+	db $20, $5
+	db $21, $5
+	db $20, $18
+	db $22, $4
+	db $23, $2
+	db $22, $2
+	db $23, $2
+	db $22, $1
+	db $23, $1
+	db $22, $1
+	db $23, $4
+	db $fd, $1
+	db $23, $1
+	db $fd, $2
+	db $23, $2
+	db $fd, $40
+	db -1 ; end
+
+Unknown_1168ae:
+	db $24, $4
+	db $25, $4
+	db $26, $4
+	db $27, $4
+	db $28, $4
+	db $29, $4
+	db $2a, $4
+	db $2b, $4
+	db $2c, $4
+	db $2d, $4
+	db $2e, $4
+	db $fe
+
+Unknown_1168c5:
+	dw Unknown_116923
+	dw Unknown_116960
+	dw Unknown_1169a1
+	dw Unknown_1169de
+	dw Unknown_116a1b
+	dw Unknown_116a58
+	dw Unknown_116a99
+	dw Unknown_116ad6
+	dw Unknown_116d1b
+	dw Unknown_116d4c
+	dw Unknown_116d85
+	dw Unknown_116dbe
+	dw Unknown_116df7
+	dw Unknown_116e30
+	dw Unknown_116e69
+	dw Unknown_116e9a
+	dw Unknown_116ed3
+	dw Unknown_116f0c
+	dw Unknown_116f45
+	dw Unknown_116f7e
+	dw Unknown_116b13
+	dw Unknown_116b54
+	dw Unknown_116b95
+	dw Unknown_116bd6
+	dw Unknown_116c17
+	dw Unknown_116c58
+	dw Unknown_116c99
+	dw Unknown_116cda
+	dw Unknown_116fb7
+	dw Unknown_116fec
+	dw Unknown_117025
+	dw Unknown_117056
+	dw Unknown_117083
+	dw Unknown_1170c0
+	dw Unknown_1170fd
+	dw Unknown_11713a
+	dw Unknown_117177
+	dw Unknown_11719c
+	dw Unknown_1171c1
+	dw Unknown_1171e6
+	dw Unknown_11720b
+	dw Unknown_117230
+	dw Unknown_117255
+	dw Unknown_11727a
+	dw Unknown_11729f
+	dw Unknown_1172c4
+	dw Unknown_1172e9
+
+Unknown_116923:
+	db $f
+	db $0, $0, $1, $a
+	db $0, $8, $2, $d
+	db $0, $10, $3, $d
+	db $0, $18, $4, $d
+	db $8, $0, $11, $a
+	db $8, $8, $12, $a
+	db $8, $10, $13, $a
+	db $8, $18, $14, $d
+	db $10, $0, $21, $a
+	db $10, $8, $22, $a
+	db $10, $10, $23, $a
+	db $10, $18, $24, $a
+	db $18, $0, $31, $a
+	db $18, $8, $32, $a
+	db $18, $10, $33, $a
+
+Unknown_116960:
+	db $10
+	db $1, $0, $1, $a
+	db $1, $8, $2, $d
+	db $1, $10, $3, $d
+	db $1, $18, $4, $d
+	db $9, $0, $11, $a
+	db $9, $8, $12, $a
+	db $9, $10, $13, $a
+	db $9, $18, $14, $d
+	db $11, $0, $5, $a
+	db $11, $8, $6, $a
+	db $11, $10, $7, $a
+	db $11, $18, $34, $a
+	db $19, $0, $15, $a
+	db $19, $8, $16, $a
+	db $19, $10, $17, $a
+	db $19, $18, $35, $a
+
+Unknown_1169a1:
+	db $f
+	db $1, $0, $1, $a
+	db $1, $8, $2, $d
+	db $1, $10, $3, $d
+	db $1, $18, $4, $d
+	db $9, $0, $11, $a
+	db $9, $8, $12, $a
+	db $9, $10, $13, $a
+	db $9, $18, $14, $d
+	db $11, $0, $25, $a
+	db $11, $8, $26, $a
+	db $11, $10, $27, $a
+	db $11, $18, $34, $a
+	db $19, $8, $36, $a
+	db $19, $10, $37, $a
+	db $19, $18, $35, $a
+
+Unknown_1169de:
+	db $f
+	db $0, $0, $1, $a
+	db $0, $8, $2, $d
+	db $0, $10, $3, $d
+	db $0, $18, $4, $d
+	db $8, $0, $11, $a
+	db $8, $8, $12, $a
+	db $8, $10, $13, $a
+	db $8, $18, $14, $d
+	db $10, $0, $10, $a
+	db $10, $8, $20, $a
+	db $10, $10, $30, $a
+	db $10, $18, $24, $a
+	db $18, $0, $31, $a
+	db $18, $8, $32, $a
+	db $18, $10, $33, $a
+
+Unknown_116a1b:
+	db $f
+	db $0, $0, $4, $2d
+	db $0, $8, $3, $2d
+	db $0, $10, $2, $2d
+	db $0, $18, $1, $2a
+	db $8, $0, $14, $2d
+	db $8, $8, $13, $2a
+	db $8, $10, $12, $2a
+	db $8, $18, $11, $2a
+	db $10, $0, $24, $2a
+	db $10, $8, $23, $2a
+	db $10, $10, $22, $2a
+	db $10, $18, $21, $2a
+	db $18, $8, $33, $2a
+	db $18, $10, $32, $2a
+	db $18, $18, $31, $2a
+
+Unknown_116a58:
+	db $10
+	db $1, $0, $4, $2d
+	db $1, $8, $3, $2d
+	db $1, $10, $2, $2d
+	db $1, $18, $1, $2a
+	db $9, $0, $14, $2d
+	db $9, $8, $13, $2a
+	db $9, $10, $12, $2a
+	db $9, $18, $11, $2a
+	db $11, $0, $34, $2a
+	db $11, $8, $7, $2a
+	db $11, $10, $6, $2a
+	db $11, $18, $5, $2a
+	db $19, $0, $35, $2a
+	db $19, $8, $17, $2a
+	db $19, $10, $16, $2a
+	db $19, $18, $15, $2a
+
+Unknown_116a99:
+	db $f
+	db $1, $0, $4, $2d
+	db $1, $8, $3, $2d
+	db $1, $10, $2, $2d
+	db $1, $18, $1, $2a
+	db $9, $0, $14, $2d
+	db $9, $8, $13, $2a
+	db $9, $10, $12, $2a
+	db $9, $18, $11, $2a
+	db $11, $0, $34, $2a
+	db $11, $8, $27, $2a
+	db $11, $10, $26, $2a
+	db $11, $18, $25, $2a
+	db $19, $0, $35, $2a
+	db $19, $8, $37, $2a
+	db $19, $10, $36, $2a
+
+Unknown_116ad6:
+	db $f
+	db $0, $0, $4, $2d
+	db $0, $8, $3, $2d
+	db $0, $10, $2, $2d
+	db $0, $18, $1, $2a
+	db $8, $0, $14, $2d
+	db $8, $8, $13, $2a
+	db $8, $10, $12, $2a
+	db $8, $18, $11, $2a
+	db $10, $0, $24, $2a
+	db $10, $8, $30, $2a
+	db $10, $10, $20, $2a
+	db $10, $18, $10, $2a
+	db $18, $8, $33, $2a
+	db $18, $10, $32, $2a
+	db $18, $18, $31, $2a
+
+Unknown_116b13:
+	db $10
+	db $18, $0, $0, $b
+	db $18, $8, $8, $b
+	db $18, $10, $5c, $b
+	db $18, $18, $0, $b
+	db $10, $0, $0, $b
+	db $10, $8, $5d, $b
+	db $10, $10, $5e, $b
+	db $10, $18, $0, $b
+	db $8, $0, $50, $b
+	db $8, $8, $51, $b
+	db $8, $10, $52, $b
+	db $8, $18, $50, $2b
+	db $0, $0, $43, $b
+	db $0, $8, $44, $b
+	db $0, $10, $44, $2b
+	db $0, $18, $43, $2b
+
+Unknown_116b54:
+	db $10
+	db $19, $0, $0, $b
+	db $19, $8, $18, $b
+	db $19, $10, $c, $b
+	db $19, $18, $0, $b
+	db $11, $0, $42, $b
+	db $11, $8, $3a, $b
+	db $11, $10, $3a, $2b
+	db $11, $18, $42, $2b
+	db $9, $0, $58, $b
+	db $9, $8, $45, $b
+	db $9, $10, $45, $2b
+	db $9, $18, $58, $2b
+	db $1, $0, $d, $b
+	db $1, $8, $44, $b
+	db $1, $10, $44, $2b
+	db $1, $18, $d, $2b
+
+Unknown_116b95:
+	db $10
+	db $18, $0, $0, $b
+	db $18, $8, $5c, $2b
+	db $18, $10, $8, $2b
+	db $18, $18, $0, $b
+	db $10, $0, $0, $b
+	db $10, $8, $5e, $2b
+	db $10, $10, $5d, $2b
+	db $10, $18, $0, $b
+	db $8, $0, $50, $b
+	db $8, $8, $52, $2b
+	db $8, $10, $51, $2b
+	db $8, $18, $50, $2b
+	db $0, $0, $43, $b
+	db $0, $8, $44, $b
+	db $0, $10, $44, $2b
+	db $0, $18, $43, $2b
+
+Unknown_116bd6:
+	db $10
+	db $18, $0, $0, $a
+	db $18, $8, $56, $a
+	db $18, $10, $57, $a
+	db $18, $18, $0, $a
+	db $10, $0, $64, $a
+	db $10, $8, $4a, $a
+	db $10, $10, $4b, $a
+	db $10, $18, $71, $a
+	db $8, $0, $54, $a
+	db $8, $8, $55, $a
+	db $8, $10, $55, $2a
+	db $8, $18, $54, $2a
+	db $0, $0, $48, $a
+	db $0, $8, $49, $a
+	db $0, $10, $49, $2a
+	db $0, $18, $48, $2a
+
+Unknown_116c17:
+	db $10
+	db $19, $0, $0, $a
+	db $19, $8, $76, $a
+	db $19, $10, $77, $a
+	db $19, $18, $0, $a
+	db $11, $0, $64, $a
+	db $11, $8, $69, $a
+	db $11, $10, $6a, $a
+	db $11, $18, $6b, $a
+	db $9, $0, $6f, $a
+	db $9, $8, $70, $a
+	db $9, $10, $70, $2a
+	db $9, $18, $6f, $2a
+	db $1, $0, $63, $a
+	db $1, $8, $19, $a
+	db $1, $10, $19, $2a
+	db $1, $18, $63, $2a
+
+Unknown_116c58:
+	db $10
+	db $1a, $0, $6c, $a
+	db $1a, $8, $6d, $a
+	db $1a, $10, $6e, $a
+	db $1a, $18, $0, $a
+	db $12, $0, $5f, $a
+	db $12, $8, $60, $a
+	db $12, $10, $61, $a
+	db $12, $18, $62, $a
+	db $a, $0, $53, $a
+	db $a, $8, $55, $a
+	db $a, $10, $55, $2a
+	db $a, $18, $53, $2a
+	db $2, $0, $46, $a
+	db $2, $8, $47, $a
+	db $2, $10, $47, $2a
+	db $2, $18, $46, $2a
+
+Unknown_116c99:
+	db $10
+	db $19, $0, $0, $2a
+	db $19, $8, $77, $2a
+	db $19, $10, $76, $2a
+	db $19, $18, $0, $2a
+	db $11, $0, $6b, $2a
+	db $11, $8, $6a, $2a
+	db $11, $10, $69, $2a
+	db $11, $18, $64, $2a
+	db $9, $0, $6f, $a
+	db $9, $8, $70, $a
+	db $9, $10, $70, $2a
+	db $9, $18, $6f, $2a
+	db $1, $0, $63, $a
+	db $1, $8, $19, $a
+	db $1, $10, $19, $2a
+	db $1, $18, $63, $2a
+
+Unknown_116cda:
+	db $10
+	db $18, $0, $0, $a
+	db $18, $8, $57, $2a
+	db $18, $10, $56, $2a
+	db $18, $18, $0, $a
+	db $10, $0, $71, $2a
+	db $10, $8, $4b, $2a
+	db $10, $10, $4a, $2a
+	db $10, $18, $64, $2a
+	db $8, $0, $54, $a
+	db $8, $8, $55, $a
+	db $8, $10, $55, $2a
+	db $8, $18, $54, $2a
+	db $0, $0, $48, $a
+	db $0, $8, $49, $a
+	db $0, $10, $49, $2a
+	db $0, $18, $48, $2a
+
+Unknown_116d1b:
+	db $c
+	db $0, $0, $38, $4a
+	db $0, $8, $39, $4a
+	db $0, $10, $39, $6a
+	db $0, $18, $38, $6a
+	db $8, $0, $28, $4a
+	db $8, $8, $29, $4a
+	db $8, $10, $29, $6a
+	db $8, $18, $28, $6a
+	db $10, $0, $9, $4d
+	db $10, $8, $19, $4a
+	db $10, $10, $19, $6a
+	db $10, $18, $9, $6d
+
+Unknown_116d4c:
+	db $e
+	db $0, $8, $3b, $4a
+	db $0, $10, $3b, $6a
+	db $8, $0, $2a, $4a
+	db $8, $8, $2b, $4a
+	db $8, $10, $2b, $6a
+	db $8, $18, $2a, $6a
+	db $10, $0, $1a, $4a
+	db $10, $8, $1b, $4a
+	db $10, $10, $1b, $6a
+	db $10, $18, $1a, $6a
+	db $18, $0, $a, $4a
+	db $18, $8, $b, $4a
+	db $18, $10, $b, $6a
+	db $18, $18, $a, $6a
+
+Unknown_116d85:
+	db $e
+	db $0, $0, $35, $2a
+	db $0, $8, $3c, $4a
+	db $0, $10, $3d, $4a
+	db $0, $18, $3e, $4a
+	db $8, $0, $2c, $4a
+	db $8, $8, $2d, $4a
+	db $8, $10, $2e, $4a
+	db $8, $18, $2f, $4a
+	db $10, $0, $1c, $4a
+	db $10, $8, $1d, $4a
+	db $10, $10, $1e, $4d
+	db $10, $18, $1f, $4d
+	db $18, $10, $e, $4d
+	db $18, $18, $f, $4a
+
+Unknown_116dbe:
+	db $e
+	db $0, $0, $65, $4a
+	db $0, $8, $66, $4a
+	db $0, $10, $67, $4a
+	db $0, $18, $68, $4a
+	db $8, $8, $59, $4a
+	db $8, $10, $5a, $4a
+	db $8, $18, $5b, $4a
+	db $10, $0, $4c, $4a
+	db $10, $8, $4d, $4d
+	db $10, $10, $4e, $4d
+	db $10, $18, $4f, $4a
+	db $18, $0, $3f, $4d
+	db $18, $8, $40, $4d
+	db $18, $10, $41, $4d
+
+Unknown_116df7:
+	db $e
+	db $0, $0, $3e, $6a
+	db $0, $8, $3d, $6a
+	db $0, $10, $3c, $6a
+	db $0, $18, $35, $a
+	db $8, $0, $2f, $6a
+	db $8, $8, $2e, $6a
+	db $8, $10, $2d, $6a
+	db $8, $18, $2c, $6a
+	db $10, $0, $1f, $6d
+	db $10, $8, $1e, $6d
+	db $10, $10, $1d, $6a
+	db $10, $18, $1c, $6a
+	db $18, $0, $f, $6a
+	db $18, $8, $e, $6d
+
+Unknown_116e30:
+	db $e
+	db $0, $0, $68, $6a
+	db $0, $8, $67, $6a
+	db $0, $10, $66, $6a
+	db $0, $18, $65, $6a
+	db $8, $0, $5b, $6a
+	db $8, $8, $5a, $6a
+	db $8, $10, $59, $6a
+	db $10, $0, $4f, $6a
+	db $10, $8, $4e, $6d
+	db $10, $10, $4d, $6d
+	db $10, $18, $4c, $6a
+	db $18, $8, $41, $6d
+	db $18, $10, $40, $6d
+	db $18, $18, $3f, $6d
+
+Unknown_116e69:
+	db $c
+	db $8, $0, $9, $d
+	db $8, $8, $19, $a
+	db $8, $10, $19, $2a
+	db $8, $18, $9, $2d
+	db $10, $0, $28, $a
+	db $10, $8, $29, $a
+	db $10, $10, $29, $2a
+	db $10, $18, $28, $2a
+	db $18, $0, $38, $a
+	db $18, $8, $39, $a
+	db $18, $10, $39, $2a
+	db $18, $18, $38, $2a
+
+Unknown_116e9a:
+	db $e
+	db $0, $0, $a, $a
+	db $0, $8, $b, $a
+	db $0, $10, $b, $2a
+	db $0, $18, $a, $2a
+	db $8, $0, $1a, $a
+	db $8, $8, $1b, $a
+	db $8, $10, $1b, $2a
+	db $8, $18, $1a, $2a
+	db $10, $0, $2a, $a
+	db $10, $8, $2b, $a
+	db $10, $10, $2b, $2a
+	db $10, $18, $2a, $2a
+	db $18, $8, $3b, $a
+	db $18, $10, $3b, $2a
+
+Unknown_116ed3:
+	db $e
+	db $0, $10, $e, $d
+	db $0, $18, $f, $a
+	db $8, $0, $1c, $a
+	db $8, $8, $1d, $a
+	db $8, $10, $1e, $d
+	db $8, $18, $1f, $d
+	db $10, $0, $2c, $a
+	db $10, $8, $2d, $a
+	db $10, $10, $2e, $a
+	db $10, $18, $2f, $a
+	db $18, $0, $35, $6a
+	db $18, $8, $3c, $a
+	db $18, $10, $3d, $a
+	db $18, $18, $3e, $a
+
+Unknown_116f0c:
+	db $e
+	db $0, $0, $3f, $d
+	db $0, $8, $40, $d
+	db $0, $10, $41, $d
+	db $8, $0, $4c, $a
+	db $8, $8, $4d, $d
+	db $8, $10, $4e, $d
+	db $8, $18, $4f, $a
+	db $10, $8, $59, $a
+	db $10, $10, $5a, $a
+	db $10, $18, $5b, $a
+	db $18, $0, $65, $a
+	db $18, $8, $66, $a
+	db $18, $10, $67, $a
+	db $18, $18, $68, $a
+
+Unknown_116f45:
+	db $e
+	db $0, $0, $f, $2a
+	db $0, $8, $e, $2d
+	db $8, $0, $1f, $2d
+	db $8, $8, $1e, $2d
+	db $8, $10, $1d, $2a
+	db $8, $18, $1c, $2a
+	db $10, $0, $2f, $2a
+	db $10, $8, $2e, $2a
+	db $10, $10, $2d, $2a
+	db $10, $18, $2c, $2a
+	db $18, $0, $3e, $2a
+	db $18, $8, $3d, $2a
+	db $18, $10, $3c, $2a
+	db $18, $18, $35, $4a
+
+Unknown_116f7e:
+	db $e
+	db $0, $8, $41, $2d
+	db $0, $10, $40, $2d
+	db $0, $18, $3f, $2d
+	db $8, $0, $4f, $2a
+	db $8, $8, $4e, $2d
+	db $8, $10, $4d, $2d
+	db $8, $18, $4c, $2a
+	db $10, $0, $5b, $2a
+	db $10, $8, $5a, $2a
+	db $10, $10, $59, $2a
+	db $18, $0, $68, $2a
+	db $18, $8, $67, $2a
+	db $18, $10, $66, $2a
+	db $18, $18, $65, $2a
+
+Unknown_116fb7:
+	db $d
+	db $fa, $0, $72, $a
+	db $fa, $8, $73, $d
+	db $fa, $10, $74, $d
+	db $fa, $18, $75, $d
+	db $2, $0, $81, $a
+	db $2, $8, $82, $a
+	db $2, $10, $83, $a
+	db $2, $18, $84, $a
+	db $a, $0, $91, $a
+	db $a, $8, $92, $a
+	db $a, $10, $93, $a
+	db $a, $18, $94, $a
+	db $12, $10, $a3, $a
+
+Unknown_116fec:
+	db $e
+	db $fd, $0, $85, $d
+	db $fd, $8, $86, $d
+	db $5, $0, $95, $d
+	db $5, $8, $96, $a
+	db $5, $10, $97, $a
+	db $5, $18, $98, $a
+	db $d, $0, $a5, $a
+	db $d, $8, $a6, $a
+	db $d, $10, $a7, $a
+	db $d, $18, $a8, $a
+	db $15, $0, $b3, $a
+	db $15, $8, $b4, $a
+	db $15, $10, $b5, $a
+	db $15, $18, $b6, $a
+
+Unknown_117025:
+	db $c
+	db $8, $0, $79, $d
+	db $8, $8, $7a, $d
+	db $8, $10, $7b, $a
+	db $8, $18, $7c, $a
+	db $10, $0, $89, $d
+	db $10, $8, $8a, $a
+	db $10, $10, $8b, $a
+	db $10, $18, $8c, $a
+	db $18, $0, $99, $a
+	db $18, $8, $9a, $a
+	db $18, $10, $9b, $a
+	db $18, $18, $9c, $a
+
+Unknown_117056:
+	db $b
+	db $8, $0, $7d, $a
+	db $8, $8, $7e, $d
+	db $8, $10, $7f, $d
+	db $8, $18, $80, $a
+	db $10, $0, $8d, $a
+	db $10, $8, $8e, $a
+	db $10, $10, $8f, $a
+	db $10, $18, $90, $a
+	db $18, $8, $9e, $a
+	db $18, $10, $9f, $a
+	db $18, $18, $a0, $a
+
+Unknown_117083:
+	db $f
+	db $0, $0, $a1, $a
+	db $0, $8, $a2, $a
+	db $0, $10, $a2, $2a
+	db $0, $18, $a1, $2a
+	db $8, $0, $b1, $a
+	db $8, $8, $b2, $d
+	db $8, $10, $b2, $2d
+	db $8, $18, $b1, $2a
+	db $10, $0, $ab, $a
+	db $10, $8, $ac, $a
+	db $10, $10, $ac, $2a
+	db $10, $18, $ab, $2a
+	db $18, $8, $a4, $a
+	db $18, $10, $87, $a
+	db $18, $18, $88, $a
+
+Unknown_1170c0:
+	db $f
+	db $0, $0, $a1, $a
+	db $0, $8, $a2, $d
+	db $0, $10, $a2, $2a
+	db $0, $18, $a1, $2a
+	db $8, $0, $b1, $a
+	db $8, $8, $78, $d
+	db $8, $10, $78, $2d
+	db $8, $18, $b1, $2a
+	db $10, $0, $ab, $a
+	db $10, $8, $ac, $a
+	db $10, $10, $ac, $2a
+	db $10, $18, $ab, $2a
+	db $18, $8, $a4, $a
+	db $18, $10, $87, $a
+	db $18, $18, $88, $a
+
+Unknown_1170fd:
+	db $f
+	db $0, $0, $a9, $a
+	db $0, $8, $aa, $a
+	db $0, $10, $aa, $2a
+	db $0, $18, $a9, $2a
+	db $8, $0, $b7, $a
+	db $8, $8, $b8, $a
+	db $8, $10, $b8, $2a
+	db $8, $18, $b7, $2a
+	db $10, $0, $ab, $a
+	db $10, $8, $ac, $a
+	db $10, $10, $ac, $2a
+	db $10, $18, $ad, $a
+	db $18, $8, $a4, $a
+	db $18, $10, $ba, $a
+	db $18, $18, $bb, $a
+
+Unknown_11713a:
+	db $f
+	db $0, $0, $ae, $c
+	db $0, $8, $af, $c
+	db $0, $10, $af, $2c
+	db $0, $18, $ae, $2c
+	db $8, $0, $bc, $c
+	db $8, $8, $bd, $c
+	db $8, $10, $bd, $2c
+	db $8, $18, $bc, $2c
+	db $10, $0, $bf, $c
+	db $10, $8, $9d, $c
+	db $10, $10, $9d, $2c
+	db $10, $18, $b0, $c
+	db $18, $8, $b9, $c
+	db $18, $10, $c0, $c
+	db $18, $18, $be, $c
+
+Unknown_117177:
+	db $9
+	db $14, $0, $1f, $6
+	db $14, $8, $20, $6
+	db $14, $10, $21, $6
+	db $c, $0, $10, $6
+	db $c, $8, $11, $6
+	db $c, $10, $12, $6
+	db $4, $0, $1, $6
+	db $4, $8, $2, $6
+	db $4, $10, $3, $6
+
+Unknown_11719c:
+	db $9
+	db $14, $0, $22, $6
+	db $14, $8, $23, $6
+	db $14, $10, $24, $6
+	db $c, $0, $13, $6
+	db $c, $8, $14, $6
+	db $c, $10, $15, $6
+	db $4, $0, $4, $6
+	db $4, $8, $5, $6
+	db $4, $10, $6, $6
+
+Unknown_1171c1:
+	db $9
+	db $14, $0, $25, $6
+	db $14, $8, $26, $6
+	db $14, $10, $27, $6
+	db $c, $0, $16, $6
+	db $c, $8, $17, $6
+	db $c, $10, $18, $6
+	db $4, $0, $7, $6
+	db $4, $8, $8, $6
+	db $4, $10, $9, $6
+
+Unknown_1171e6:
+	db $9
+	db $14, $0, $28, $6
+	db $14, $8, $29, $6
+	db $14, $10, $2a, $6
+	db $c, $0, $19, $6
+	db $c, $8, $1a, $6
+	db $c, $10, $1b, $6
+	db $4, $0, $a, $6
+	db $4, $8, $b, $6
+	db $4, $10, $c, $6
+
+Unknown_11720b:
+	db $9
+	db $14, $0, $2b, $6
+	db $14, $8, $2c, $6
+	db $14, $10, $2d, $6
+	db $c, $0, $1c, $6
+	db $c, $8, $1d, $6
+	db $c, $10, $1e, $6
+	db $4, $0, $d, $6
+	db $4, $8, $e, $6
+	db $4, $10, $f, $6
+
+Unknown_117230:
+	db $9
+	db $14, $0, $47, $6
+	db $14, $8, $48, $6
+	db $14, $10, $49, $6
+	db $c, $0, $3b, $6
+	db $c, $8, $3c, $6
+	db $c, $10, $3b, $26
+	db $4, $0, $2e, $6
+	db $4, $8, $2f, $6
+	db $4, $10, $30, $6
+
+Unknown_117255:
+	db $9
+	db $14, $0, $35, $6
+	db $14, $8, $4a, $6
+	db $14, $10, $35, $6
+	db $c, $0, $3d, $6
+	db $c, $8, $35, $6
+	db $c, $10, $3d, $26
+	db $4, $0, $31, $6
+	db $4, $8, $32, $6
+	db $4, $10, $31, $26
+
+Unknown_11727a:
+	db $9
+	db $14, $0, $4b, $6
+	db $14, $8, $4c, $6
+	db $14, $10, $4d, $6
+	db $c, $0, $3e, $6
+	db $c, $8, $3f, $6
+	db $c, $10, $40, $6
+	db $4, $0, $33, $6
+	db $4, $8, $34, $6
+	db $4, $10, $35, $6
+
+Unknown_11729f:
+	db $9
+	db $14, $0, $4e, $6
+	db $14, $8, $4f, $6
+	db $14, $10, $50, $6
+	db $c, $0, $41, $6
+	db $c, $8, $42, $6
+	db $c, $10, $43, $6
+	db $4, $0, $35, $6
+	db $4, $8, $36, $6
+	db $4, $10, $37, $6
+
+Unknown_1172c4:
+	db $9
+	db $14, $0, $51, $6
+	db $14, $8, $52, $6
+	db $14, $10, $35, $6
+	db $c, $0, $44, $6
+	db $c, $8, $45, $6
+	db $c, $10, $46, $6
+	db $4, $0, $38, $6
+	db $4, $8, $39, $6
+	db $4, $10, $3a, $6
+
+Unknown_1172e9:
+	db $9
+	db $10, $0, $0, $2
+	db $10, $8, $0, $2
+	db $10, $10, $0, $2
+	db $8, $0, $0, $2
+	db $8, $8, $0, $2
+	db $c, $10, $1f, $6
+	db $0, $0, $0, $2
+	db $0, $8, $0, $2
+	db $4, $10, $10, $6
+
+Palette_11730e:
+	RGB 31, 31, 31
+	RGB  7,  5,  4
+	RGB 31, 28,  4
+	RGB 31,  5,  5
+	RGB 31, 31, 31
+	RGB  7,  5,  4
+	RGB 31, 23,  0
+	RGB 31, 28,  4
+	RGB 31, 31, 31
+	RGB 16, 19, 31
+	RGB 17, 31, 31
+	RGB 31, 31, 31
+	RGB  5,  5,  5
+	RGB  7,  5,  4
+	RGB 31, 28,  4
+	RGB 19, 11,  6
+	RGB 31, 31, 31
+	RGB  3, 15, 31
+	RGB  4, 25, 25
+	RGB  0,  7, 12
+	RGB 31, 31, 31
+	RGB  0, 16,  0
+	RGB  0, 16,  0
+	RGB  0, 16,  0
+	RGB  4, 11, 22
+	RGB  0, 16,  0
+	RGB  0, 16,  0
+	RGB  0, 16,  0
+	RGB 22, 11,  8
+	RGB  0, 16,  0
+	RGB  0, 16,  0
+	RGB  0, 16,  0
+
+Palette_11734e:
+	RGB 31, 30, 30
+	RGB  2,  0,  0
+	RGB 10,  9,  9
+	RGB 15, 14, 14
+
+Unknown_117356:
+INCBIN "gfx/unknown/117356.tilemap"
+INCBIN "gfx/unknown/1174d6.attrmap"
--- a/mobile/mobile_45_sprite_engine.asm
+++ b/mobile/mobile_45_sprite_engine.asm
@@ -691,7 +691,7 @@
 	ldh [rSVBK], a
 	farcall ReloadMapPart
 	ld a, [wLinkMode]
-	cp $4
+	cp LINK_MOBILE
 	jr z, .asm_11642a
 	ld a, $8
 	ld [wMusicFade], a
--- /dev/null
+++ b/mobile/mobile_45_stadium.asm
@@ -1,0 +1,823 @@
+GiveOddEgg:
+	farcall _GiveOddEgg
+	ret
+
+Function11765d:
+	ldh a, [hInMenu]
+	push af
+	ld a, $1
+	ldh [hInMenu], a
+	call Function11766b
+	pop af
+	ldh [hInMenu], a
+	ret
+
+Function11766b:
+	call Function117699
+	ldh a, [rSVBK]
+	push af
+	ld a, $5
+	ldh [rSVBK], a
+	call Function1176ee
+	ld a, $5
+	call GetSRAMBank
+	ld hl, $b1f3
+	ld de, wcd49
+	ld bc, $8
+	call CopyBytes
+	ld de, $c708
+	ld bc, $11
+	call CopyBytes
+	call CloseSRAM
+	pop af
+	ldh [rSVBK], a
+	ret
+
+Function117699:
+	ld a, $5
+	call GetSRAMBank
+	ld hl, wcd49
+	ld de, $b1f3
+	ld bc, $8
+	call CopyBytes
+	ld hl, $c708
+	ld bc, $11
+	call CopyBytes
+	call CloseSRAM
+	xor a
+	ld [wcd49], a
+	ld [wcd4a], a
+	ld [wcd4b], a
+	ld [wcd4c], a
+	ld [wcd4d], a
+	ld [wcd4e], a
+	ld [wcd4f], a
+	ld hl, $c708
+	ld bc, $11
+	call ByteFill
+	call ClearBGPalettes
+	call ClearSprites
+	farcall Function171c87
+	farcall ReloadMapPart
+	farcall ClearSpriteAnims
+	ret
+
+Function1176ee:
+.loop
+	call JoyTextDelay
+	ld a, [wcd49]
+	bit 7, a
+	jr nz, .quit
+	call Function117719
+	farcall PlaySpriteAnimations
+	farcall ReloadMapPart
+	jr .loop
+
+.quit
+	farcall ClearSpriteAnims
+	call ClearBGPalettes
+	call ClearScreen
+	call ClearSprites
+	ret
+
+Function117719:
+	ld a, [wcd49]
+	ld e, a
+	ld d, 0
+	ld hl, Jumptable_117728
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp hl
+
+Jumptable_117728:
+	dw Function117738
+	dw Function117764
+	dw Function1178aa
+	dw Function1178e8
+	dw Function117942
+	dw Function117976
+	dw Function117984
+	dw Function1179a7
+
+Function117738:
+	farcall Function171ccd
+	depixel 6, 3
+	ld a, $1d
+	call _InitSpriteAnimStruct
+	ld hl, $c
+	add hl, bc
+	ld a, $6
+	ld [hl], a
+	depixel 9, 4
+	ld a, $1d
+	call _InitSpriteAnimStruct
+	ld hl, $c
+	add hl, bc
+	ld a, $7
+	ld [hl], a
+	ld a, $3
+	ld [wcd23], a
+	jp MobilePassword_IncrementJumptable
+
+Function117764:
+	ld a, [wcd4a]
+	cp $10
+	jr nz, .asm_11776f
+	ld a, $1
+	jr .asm_117770
+
+.asm_11776f
+	xor a
+.asm_117770
+	ld [wcd24], a
+	ld hl, hJoyPressed
+	ld a, [hl]
+	and SELECT
+	jr nz, Function117764_select
+	ld a, [hl]
+	and START
+	jr nz, Function117764_start
+	ld a, [hl]
+	and A_BUTTON
+	jp nz, Function117764_a_button
+	ld a, [hl]
+	and B_BUTTON
+	jr nz, Function117764_b_button
+	ld hl, hJoyLast
+	ld a, [hl]
+	and D_UP
+	jr nz, Function117764_d_up
+	ld a, [hl]
+	and D_DOWN
+	jr nz, Function117764_d_down
+	ld a, [hl]
+	and D_LEFT
+	jp nz, Function117764_d_left
+	ld a, [hl]
+	and D_RIGHT
+	jp nz, Function117764_d_right
+	ret
+
+Function117764_select:
+	farcall Function171cf0
+	ret
+
+Function117764_start:
+	ld a, $2
+	ld [wcd4c], a
+	ld a, $4
+	ld [wcd4d], a
+	ret
+
+Function1177b7:
+	ld a, $3
+	ld [wcd24], a
+	ld a, [wcd4a]
+	and a
+	jr z, .asm_1177c5
+	jp MobilePassword_IncrementJumptable
+
+.asm_1177c5
+	ld a, $6
+	ld [wcd49], a
+	ret
+
+Function1177cb:
+	ld a, $80
+	ld [wcd49], a
+	ld [wScriptVar], a
+	jp MobilePassword_IncrementJumptable
+
+Function117764_b_button:
+	call PlayClickSFX
+	ld a, [wcd4a]
+	and a
+	ret z
+	dec a
+	ld [wcd4a], a
+	ld e, a
+	ld d, $0
+	ld hl, $c708
+	add hl, de
+	xor a
+	ld [hl], a
+	hlcoord 2, 4
+	add hl, de
+	ld [hl], a
+	ret
+
+Function117764_d_up:
+	ld a, [wcd4d]
+	and a
+	ret z
+	dec a
+	ld [wcd4d], a
+	cp $3
+	ret nz
+	ld a, [wcd4c]
+	ld e, a
+	sla a
+	sla a
+	add e
+Function117764_d_vertical_load:
+	ld [wcd4c], a
+	ret
+
+Function117764_d_down:
+	ld a, [wcd4d]
+	cp $4
+	ret z
+	inc a
+	ld [wcd4d], a
+	cp $4
+	ret nz
+	ld a, [wcd4c]
+	cp $a
+	jr nc, .asm_117825
+	cp $5
+	jr nc, .asm_117829
+	xor a
+	jr Function117764_d_vertical_load
+
+.asm_117825
+	ld a, $2
+	jr Function117764_d_vertical_load
+
+.asm_117829
+	ld a, $1
+	jr Function117764_d_vertical_load
+
+Function117764_d_left:
+	ld a, [wcd4c]
+	and a
+	ret z
+	dec a
+	ld [wcd4c], a
+	ret
+
+Function117764_d_right:
+	ld e, $d
+	ld a, [wcd4d]
+	cp $4
+	jr nz, .wrap
+	ld e, $2
+.wrap
+	ld a, [wcd4c]
+	cp e
+	ret z
+	inc a
+	ld [wcd4c], a
+	ret
+
+Function117764_a_button:
+	call PlayClickSFX
+	ld a, [wcd4d]
+	cp $4
+	jr nz, .not_4
+	ld a, [wcd4c]
+	cp $2
+	jp z, Function1177b7
+	cp $1
+	jp z, Function1177cb
+	jp Function117764_select
+
+.not_4
+	ld a, [wcd4a]
+	ld e, a
+	cp $10
+	jp z, Function117764_start
+	inc a
+	ld [wcd4a], a
+	ld d, $0
+	ld a, [wcd4b]
+	and a
+	jr nz, .ascii_symbols
+	ld hl, Unknown_117a0f
+	jr .got_ascii
+
+.ascii_symbols
+	ld hl, Unknown_117a47
+.got_ascii
+	push de
+	ld a, [wcd4c]
+	ld b, a
+	ld a, [wcd4d]
+	ld c, $e
+	call SimpleMultiply
+	add b
+	ld c, a
+	ld b, $0
+	add hl, bc
+	ld a, [hl]
+	ld hl, $c708
+	add hl, de
+	ld [hl], a
+	pop de
+	hlcoord 2, 4
+	add hl, de
+	sub $20
+	ld [hl], a
+	ld a, e
+	cp $f
+	ret nz
+	jp Function117764_start
+
+Function1178aa:
+	ld hl, MenuHeader_1179b5
+	call LoadMenuHeader
+	call MenuBox
+	call MenuBoxCoord2Tile
+	ld hl, MenuHeader_1179bd
+	call LoadMenuHeader
+	call MenuBox
+	call MenuBoxCoord2Tile
+	farcall ReloadMapPart
+	hlcoord 16, 8
+	ld de, YessNoString_1179c5
+	call PlaceString
+	hlcoord 15, 10
+	ld a, "▶"
+	ld [hl], a
+	hlcoord 1, 14
+	ld de, AskSavePasswordString
+	call PlaceString
+	ld a, $1
+	ld [wcd4e], a
+	jp MobilePassword_IncrementJumptable
+
+Function1178e8:
+	ldh a, [hJoyPressed]
+	cp B_BUTTON
+	jr z, .b_button
+	cp A_BUTTON
+	jr z, .a_button
+	cp D_DOWN
+	jr z, .d_down
+	cp D_UP
+	ret nz
+	ld a, [wcd4e]
+	and a
+	ret z
+	dec a
+	ld [wcd4e], a
+	hlcoord 15, 8
+	ld a, "▶"
+	ld [hl], a
+	hlcoord 15, 10
+	ld a, " "
+	ld [hl], a
+	ret
+
+.d_down
+	ld a, [wcd4e]
+	and a
+	ret nz
+	inc a
+	ld [wcd4e], a
+	hlcoord 15, 8
+	ld a, " "
+	ld [hl], a
+	hlcoord 15, 10
+	ld a, "▶"
+	ld [hl], a
+	ret
+
+.a_button
+	call PlayClickSFX
+	ld a, [wcd4e]
+	and a
+	jr nz, .b_button
+	call ExitMenu
+	ld a, $1
+	ld [wcd4f], a
+	jp MobilePassword_IncrementJumptable
+
+.b_button
+	call ExitMenu
+	call ExitMenu
+	jp MobilePassword_IncrementJumptable
+
+Function117942:
+	call SpeechTextbox
+	hlcoord 1, 14
+	ld de, SavedPasswordString
+	call PlaceString
+	ld a, $1e
+	ld [wcd4e], a
+	ld a, BANK(sMobileLoginPassword)
+	call GetSRAMBank
+	ld a, [wcd4f]
+	ld [sMobileLoginPassword], a
+	ld hl, $c708
+	ld de, sMobileLoginPassword + 1
+	ld bc, MOBILE_LOGIN_PASSWORD_LENGTH
+	call CopyBytes
+	call CloseSRAM
+	ld a, [wcd4f]
+	and a
+	jr z, asm_11797e
+	call MobilePassword_IncrementJumptable
+
+Function117976:
+	ld hl, wcd4e
+	dec [hl]
+	ret nz
+	call ExitMenu
+asm_11797e:
+	ld a, $80
+	ld [wcd49], a
+	ret
+
+Function117984:
+	ld hl, MenuHeader_1179b5
+	call LoadMenuHeader
+	call MenuBox
+	call MenuBoxCoord2Tile
+	farcall ReloadMapPart
+	hlcoord 1, 14
+	ld de, NotAPokemonPasswordString
+	call PlaceString
+	ld a, $1e
+	ld [wcd4e], a
+	call MobilePassword_IncrementJumptable
+
+Function1179a7:
+	ld hl, wcd4e
+	dec [hl]
+	ret nz
+	call ExitMenu
+	ld a, $1
+	ld [wcd49], a
+	ret
+
+MenuHeader_1179b5:
+	db MENU_BACKUP_TILES ; flags
+	menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
+	dw NULL
+	db 0 ; default option
+
+MenuHeader_1179bd:
+	db MENU_BACKUP_TILES ; flags
+	menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
+	dw NULL
+	db 0 ; default option
+
+YessNoString_1179c5:
+	db   "はい"
+	next "いいえ@"
+
+AskSavePasswordString:
+	db   "こ<NO>パスワード¯ほぞんして"
+	line "おきますか?@"
+
+NotAPokemonPasswordString:
+	db   "パスワード<PKMN>にゅうりょく"
+	line "されていません!@"
+
+SavedPasswordString:
+	db   "ログインパスワード¯ほぞん"
+	line "しました@"
+
+MobilePassword_IncrementJumptable:
+	ld hl, wcd49
+	inc [hl]
+	ret
+
+Unknown_117a0f:
+INCBIN "data/mobile/ascii-alpha.txt"
+
+Unknown_117a47:
+INCBIN "data/mobile/ascii-sym.txt"
+
+; everything from here to the end of the bank is related to the
+; Mobile Stadium option from the continue/newgame menu.
+; Needs better function names
+MobileStudium:
+	ldh a, [hInMenu]
+	push af
+	ld a, $1
+	ldh [hInMenu], a
+	call Function117a8d
+	pop af
+	ldh [hInMenu], a
+	ret
+
+Function117a8d:
+	call Function117a94
+	call Function117acd
+	ret
+
+Function117a94:
+	xor a
+	ld [wJumptableIndex], a
+	ld [wcf64], a
+	ld [wcf65], a
+	ld [wcf66], a
+	call ClearBGPalettes
+	call ClearSprites
+	farcall Function172e78
+	farcall HDMATransferAttrMapAndTileMapToWRAMBank3
+	ret
+
+Function117ab4:
+	call ClearBGPalettes
+	call ClearSprites
+	farcall Function172e78
+	farcall Function172eb9
+	farcall ReloadMapPart
+	ret
+
+Function117acd:
+	call JoyTextDelay
+	ld a, [wJumptableIndex]
+	bit 7, a
+	jr nz, .asm_117ae2
+	call Function117ae9
+	farcall HDMATransferAttrMapAndTileMapToWRAMBank3
+	jr Function117acd
+
+.asm_117ae2
+	call ClearBGPalettes
+	call ClearSprites
+	ret
+
+Function117ae9:
+	ld a, [wJumptableIndex]
+	ld e, a
+	ld d, $0
+	ld hl, .Jumptable
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp hl
+
+.Jumptable:
+	dw Function117b06
+	dw Function117b14
+	dw Function117b28
+	dw Function117b31
+	dw Function117b4f
+	dw Function117bb6
+	dw Function117c4a
+
+Function117b06:
+	farcall Function172eb9
+	ld a, $10
+	ld [wcf64], a
+	jp MobileStudium_JumptableIncrement
+
+Function117b14:
+	ld hl, wcf64
+	dec [hl]
+	ret nz
+	ld hl, MenuHeader_117cbc
+	call LoadMenuHeader
+	call MenuBox
+	call MenuBoxCoord2Tile
+	jp MobileStudium_JumptableIncrement
+
+Function117b28:
+	ld hl, MobileStadiumEntryText
+	call PrintText
+	jp MobileStudium_JumptableIncrement
+
+Function117b31:
+	ld hl, MenuHeader_117cc4
+	call LoadMenuHeader
+	call MenuBox
+	call MenuBoxCoord2Tile
+	hlcoord 16, 8
+	ld de, YesNo117ccc
+	call PlaceString
+	hlcoord 15, 8
+	ld a, "▶"
+	ld [hl], a
+	jp MobileStudium_JumptableIncrement
+
+Function117b4f:
+	ldh a, [hJoyPressed]
+	cp B_BUTTON
+	jr z, .b_button
+	cp A_BUTTON
+	jr z, .a_button
+	cp D_DOWN
+	jr z, .d_down
+	cp D_UP
+	ret nz
+	ld a, [wcf64]
+	and a
+	ret z
+	dec a
+	ld [wcf64], a
+	hlcoord 15, 8
+	ld a, "▶"
+	ld [hl], a
+	hlcoord 15, 10
+	ld a, " "
+	ld [hl], a
+	ret
+
+.d_down
+	ld a, [wcf64]
+	and a
+	ret nz
+	inc a
+	ld [wcf64], a
+	hlcoord 15, 8
+	ld a, " "
+	ld [hl], a
+	hlcoord 15, 10
+	ld a, "▶"
+	ld [hl], a
+	ret
+
+.a_button
+	call PlayClickSFX
+	ld a, [wcf64]
+	and a
+	jr nz, .b_button
+	call ExitMenu
+	call ExitMenu
+	farcall ReloadMapPart
+	jp MobileStudium_JumptableIncrement
+
+.b_button
+	call ExitMenu
+	call ExitMenu
+	farcall ReloadMapPart
+	ld a, $80
+	ld [wJumptableIndex], a
+	ret
+
+Function117bb6:
+	call Function117c89
+	ld a, $1
+	ldh [hBGMapMode], a
+	farcall Function118284
+	call ClearSprites
+	ld a, [wMobileErrorCodeBuffer]
+	and a
+	jr z, .asm_117be7
+	cp $a
+	jr z, .asm_117be1
+.asm_117bd0
+	ld a, $2
+	ld [wc303], a
+	farcall DisplayMobileError
+	ld a, $80
+	ld [wJumptableIndex], a
+	ret
+
+.asm_117be1
+	ld a, $80
+	ld [wJumptableIndex], a
+	ret
+
+.asm_117be7
+	ldh a, [rSVBK]
+	push af
+	ld a, $3
+	ldh [rSVBK], a
+	ld a, [wcd89]
+	and $1
+	jr nz, .asm_117c16
+	ld a, [w3_d000]
+	cp $fe
+	jr nz, .asm_117c16
+	ld a, [w3_d001]
+	cp $f
+	jr nz, .asm_117c16
+	ld hl, w3_dfec
+	ld de, wcd69
+	ld c, $10
+.asm_117c0b
+	ld a, [de]
+	inc de
+	cp [hl]
+	jr nz, .asm_117c16
+	inc hl
+	dec c
+	jr nz, .asm_117c0b
+	jr .asm_117c20
+
+.asm_117c16
+	pop af
+	ldh [rSVBK], a
+	ld a, $d3
+	ld [wMobileErrorCodeBuffer], a
+	jr .asm_117bd0
+
+.asm_117c20
+	pop af
+	ldh [rSVBK], a
+	farcall Function172eb9
+	ldh a, [rSVBK]
+	push af
+	ld a, $3
+	ldh [rSVBK], a
+	ld a, $7
+	call GetSRAMBank
+	ld hl, w3_d002
+	ld de, $b000
+	ld bc, $1000
+	call CopyBytes
+	call CloseSRAM
+	pop af
+	ldh [rSVBK], a
+	jp MobileStudium_JumptableIncrement
+
+Function117c4a:
+	ld hl, MenuHeader_117cbc
+	call LoadMenuHeader
+	call MenuBox
+	call MenuBoxCoord2Tile
+	farcall ReloadMapPart
+	ld hl, MobileStadiumSuccessText
+	call PrintText
+	ldh a, [rSVBK]
+	push af
+	ld a, $5
+	ldh [rSVBK], a
+	ld hl, wBGPals1
+	ld de, 1 palettes
+	ld c, 8
+.loop
+	push hl
+	ld a, LOW(PALRGB_WHITE)
+	ld [hli], a
+	ld a, HIGH(PALRGB_WHITE)
+	ld [hl], a
+	pop hl
+	add hl, de
+	dec c
+	jr nz, .loop
+	call RotateThreePalettesRight
+	pop af
+	ldh [rSVBK], a
+	ld a, $80
+	ld [wJumptableIndex], a
+	ret
+
+Function117c89:
+	ld a, $7
+	call GetSRAMBank
+	ld l, $0
+	ld h, l
+	ld de, $b000
+	ld bc, $0ffc
+.asm_117c97
+	push bc
+	ld a, [de]
+	inc de
+	ld c, a
+	ld b, $0
+	add hl, bc
+	pop bc
+	dec bc
+	ld a, b
+	or c
+	jr nz, .asm_117c97
+	ld a, l
+	ld [wcd83], a
+	ld a, h
+	ld [wcd84], a
+	ld hl, $bfea
+	ld de, wcd69
+	ld bc, $10
+	call CopyBytes
+	call CloseSRAM
+	ret
+
+MenuHeader_117cbc:
+	db MENU_BACKUP_TILES ; flags
+	menu_coords 0, 12, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1
+	dw NULL
+	db 0 ; default option
+
+MenuHeader_117cc4:
+	db MENU_BACKUP_TILES ; flags
+	menu_coords 14, 7, SCREEN_WIDTH - 1, TEXTBOX_Y - 1
+	dw NULL
+	db 0 ; default item
+
+YesNo117ccc:
+	db   "はい"
+	next "いいえ@"
+
+MobileStadiumEntryText:
+	text_far _MobileStadiumEntryText
+	text_end
+
+MobileStadiumSuccessText:
+	text_far _MobileStadiumSuccessText
+	text_end
+
+MobileStudium_JumptableIncrement:
+	ld hl, wJumptableIndex
+	inc [hl]
+	ret
--- a/mobile/mobile_46.asm
+++ b/mobile/mobile_46.asm
@@ -1,5 +1,3 @@
-SECTION "Mobile 46", ROMX
-
 Function118000:
 	ld a, $1
 	ld [wcd38], a
@@ -24,11 +22,11 @@
 .loop
 	call JoyTextDelay
 	call Function118473
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	cp $1b
 	jr c, .skip
 	ld a, [wcd34]
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 
 .skip
 	call Function1184a5
@@ -36,7 +34,7 @@
 	farcall Function115dd3
 	farcall Function11619d
 	call DelayFrame
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	ld hl, wcd33
 	cp [hl]
 	jr nz, .loop
@@ -64,11 +62,11 @@
 .asm_11807d
 	call JoyTextDelay
 	call Function118473
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	cp $1b
 	jr c, .asm_118090
 	ld a, [wcd34]
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 
 .asm_118090
 	call Function11857c
@@ -76,7 +74,7 @@
 	farcall Function115dd3
 	farcall Function11619d
 	call DelayFrame
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	ld hl, wcd33
 	cp [hl]
 	jr nz, .asm_11807d
@@ -101,14 +99,14 @@
 .asm_1180d1
 	call JoyTextDelay
 	call Function118473
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	cp $28
 	jr c, .asm_1180e4
 	ld a, [wcd34]
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 
 .asm_1180e4
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	cp $10
 	jr c, .asm_1180f2
 	cp $16
@@ -121,7 +119,7 @@
 	farcall Function115dd3
 	farcall Function11619d
 	call DelayFrame
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	ld hl, wcd33
 	cp [hl]
 	jr nz, .asm_1180d1
@@ -154,11 +152,11 @@
 .loop
 	call JoyTextDelay
 	call Function118473
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	cp $f
 	jr c, .skip
 	ld a, [wcd34]
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 .skip
 	call BattleTowerRoomMenu_Jumptable
 	call BattleTowerRoomMenu_WriteMessage
@@ -165,7 +163,7 @@
 	farcall Function115dd3
 	farcall Function11619d
 	call DelayFrame
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	ld hl, wcd33
 	cp [hl]
 	jr nz, .loop
@@ -185,16 +183,16 @@
 	ld a, [wcd38]
 	and a
 	ret z
-	ld a, $5
+	ld a, BANK(s5_a89c) ; and BANK(s5_a8b2)
 	call GetSRAMBank
 	ld hl, wcd69
-	ld de, $a89c
-	ld bc, $0016
+	ld de, s5_a89c
+	ld bc, 22
 	call CopyBytes
 
 	ldh a, [rSVBK]
 	push af
-	ld a, $3
+	ld a, BANK(w3_d202)
 	ldh [rSVBK], a
 
 	ld de, w3_d202
@@ -208,8 +206,8 @@
 	jr c, .return_d3
 
 	ld hl, w3_d202
-	ld de, $a8b2
-	ld bc, $0096
+	ld de, s5_a8b2
+	ld bc, 150
 	call CopyBytes
 .reset_banks
 	pop af
@@ -219,7 +217,7 @@
 
 .return_d3
 	ld a, $d3
-	ld [wc300], a
+	ld [wMobileErrorCodeBuffer], a
 	ld [wScriptVar], a
 	jr .reset_banks
 
@@ -240,11 +238,11 @@
 .asm_1181f8
 	call JoyTextDelay
 	call Function118473
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	cp $28
 	jr c, .asm_11820b
 	ld a, [wcd34]
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 
 .asm_11820b
 	call Function1185c3
@@ -252,7 +250,7 @@
 	farcall Function115dd3
 	farcall Function11619d
 	call DelayFrame
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	ld hl, wcd33
 	cp [hl]
 	jr nz, .asm_1181f8
@@ -277,11 +275,11 @@
 .asm_11824c
 	call JoyTextDelay
 	call Function118473
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	cp $1e
 	jr c, .asm_11825f
 	ld a, [wcd34]
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 
 .asm_11825f
 	call Function118624
@@ -289,7 +287,7 @@
 	farcall Function115dd3
 	farcall Function11619d
 	call DelayFrame
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	ld hl, wcd33
 	cp [hl]
 	jr nz, .asm_11824c
@@ -313,11 +311,11 @@
 .asm_11829d
 	call JoyTextDelay
 	call Function118473
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	cp $20
 	jr c, .asm_1182b0
 	ld a, [wcd34]
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 .asm_1182b0
 	call Function1186f5
 	call BattleTowerRoomMenu_WriteMessage
@@ -324,7 +322,7 @@
 	farcall Function115dd3
 	farcall Function11619d
 	call DelayFrame
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	ld hl, wcd33
 	cp [hl]
 	jr nz, .asm_11829d
@@ -348,11 +346,11 @@
 .asm_1182ee
 	call JoyTextDelay
 	call Function118473
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	cp $1b
 	jr c, .asm_118301
 	ld a, [wcd34]
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 
 .asm_118301
 	call Function118746
@@ -360,7 +358,7 @@
 	farcall Function115dd3
 	farcall Function11619d
 	call DelayFrame
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	ld hl, wcd33
 	cp [hl]
 	jr nz, .asm_1182ee
@@ -385,11 +383,11 @@
 .asm_118342
 	call JoyTextDelay
 	call Function118473
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	cp $18
 	jr c, .asm_118355
 	ld a, [wcd34]
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 
 .asm_118355
 	call Function118671
@@ -397,7 +395,7 @@
 	farcall Function115dd3
 	farcall Function11619d
 	call DelayFrame
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	ld hl, wcd33
 	cp [hl]
 	jr nz, .asm_118342
@@ -421,11 +419,11 @@
 .asm_118393
 	call JoyTextDelay
 	call Function118473
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	cp $19
 	jr c, .asm_1183a6
 	ld a, [wcd34]
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 
 .asm_1183a6
 	call Function1186b2
@@ -433,7 +431,7 @@
 	farcall Function115dd3
 	farcall Function11619d
 	call DelayFrame
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	ld hl, wcd33
 	cp [hl]
 	jr nz, .asm_118393
@@ -449,15 +447,15 @@
 	call DoubleSpeed
 	xor a
 	ldh [rIF], a
-	ld [wc300], a
-	ld [wc301], a
-	ld [wc302], a
+	ld [wMobileErrorCodeBuffer], a
+	ld [wMobileErrorCodeBuffer + 1], a
+	ld [wMobileErrorCodeBuffer + 2], a
 	ld [wcd80], a
 	ld [wcd65], a
 	ld [wcd66], a
 	ld [wcd67], a
 	ld [wcd68], a
-	ld [$c31a], a
+	ld [wc31a], a
 	ld [wcd89], a
 	ld [wcd8a], a
 	ld [wcd8b], a
@@ -479,20 +477,20 @@
 	farcall Function106464
 	farcall Function115d99
 	farcall Function11615a
-	ld a, $5
+	ld a, BANK(s5_bfff)
 	call GetSRAMBank
 	xor a
-	ld [$bfff], a
+	ld [s5_bfff], a
 	call CloseSRAM
 	ret
 
 Function118440:
 	push af
-	ld a, $5
+	ld a, BANK(s5_bfff)
 	call GetSRAMBank
-	ld a, [$bfff]
+	ld a, [s5_bfff]
 	inc a
-	ld [$bfff], a
+	ld [s5_bfff], a
 	call CloseSRAM
 	pop af
 	ret
@@ -511,7 +509,7 @@
 	ei
 	ld a, [wcd7f]
 	ld [wVramState], a
-	ld a, [wc300]
+	ld a, [wMobileErrorCodeBuffer]
 	ld [wScriptVar], a
 	ret
 
@@ -546,7 +544,7 @@
 	ret
 
 Function1184a5:
-	jumptable .Jumptable, wcf66
+	jumptable .Jumptable, wBattleTowerRoomMenuJumptableIndex
 
 .Jumptable:
 	dw Function11886e
@@ -579,7 +577,7 @@
 	dw Function118e76
 
 Function1184ec:
-	jumptable .Jumptable, wcf66
+	jumptable .Jumptable, wBattleTowerRoomMenuJumptableIndex
 
 .Jumptable:
 	dw Function11886e
@@ -625,7 +623,7 @@
 	dw Function118e76
 
 BattleTowerRoomMenu_Jumptable:
-	jumptable .Jumptable, wcf66
+	jumptable .Jumptable, wBattleTowerRoomMenuJumptableIndex
 
 .Jumptable:
 	dw BattleTowerRoomMenu_PickLevelMessage
@@ -646,7 +644,7 @@
 	dw Function118e76 ; mobile
 
 Function11857c:
-	jumptable .Jumptable, wcf66
+	jumptable .Jumptable, wBattleTowerRoomMenuJumptableIndex
 
 .Jumptable:
 	dw Function11886e
@@ -679,7 +677,7 @@
 	dw Function118e76
 
 Function1185c3:
-	jumptable .Jumptable, wcf66
+	jumptable .Jumptable, wBattleTowerRoomMenuJumptableIndex
 
 .Jumptable:
 	dw Function11886e
@@ -725,7 +723,7 @@
 	dw Function118e76
 
 Function118624:
-	jumptable .Jumptable, wcf66
+	jumptable .Jumptable, wBattleTowerRoomMenuJumptableIndex
 
 .Jumptable:
 	dw Function118866
@@ -761,7 +759,7 @@
 	dw Function118e76
 
 Function118671:
-	jumptable .Jumptable, wcf66
+	jumptable .Jumptable, wBattleTowerRoomMenuJumptableIndex
 
 .Jumptable:
 	dw Function118866
@@ -791,7 +789,7 @@
 	dw Function118e76
 
 Function1186b2:
-	jumptable .Jumptable, wcf66
+	jumptable .Jumptable, wBattleTowerRoomMenuJumptableIndex
 
 .Jumptable:
 	dw Function118866
@@ -822,7 +820,7 @@
 	dw Function118e76
 
 Function1186f5:
-	jumptable .Jumptable, wcf66
+	jumptable .Jumptable, wBattleTowerRoomMenuJumptableIndex
 
 .Jumptable:
 	dw Function11886a
@@ -860,7 +858,7 @@
 	dw Function118e76
 
 Function118746:
-	jumptable .Jumptable, wcf66
+	jumptable .Jumptable, wBattleTowerRoomMenuJumptableIndex
 
 .Jumptable:
 	dw Function11886e
@@ -914,17 +912,17 @@
 .asm_1187af
 	ld a, $0
 	call Function3e32
-	ld [wc300], a
+	ld [wMobileErrorCodeBuffer], a
 	ld a, l
-	ld [wc301], a
+	ld [wMobileErrorCodeBuffer + 1], a
 	ld a, h
-	ld [wc302], a
+	ld [wMobileErrorCodeBuffer + 2], a
 	ld a, $a
 	call Function3e32
 	ld a, [wc3f0]
-	ld [$c319], a
+	ld [wc319], a
 	ld a, [wcd34]
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	ret
 .asm_1187d1
 	ld hl, wcd89
@@ -931,9 +929,9 @@
 	bit 0, [hl]
 	jr nz, .asm_118803
 	set 0, [hl]
-	ld a, $6
+	ld a, BANK(w6_d000)
 	ldh [rSVBK], a
-	ld de, $d000
+	ld de, w6_d000
 	ld bc, $1000
 	ld a, [hl]
 	sla a
@@ -959,20 +957,20 @@
 	ld a, $d3
 
 Function118805:
-	ld [wc300], a
+	ld [wMobileErrorCodeBuffer], a
 	xor a
-	ld [wc301], a
-	ld [wc302], a
+	ld [wMobileErrorCodeBuffer + 1], a
+	ld [wMobileErrorCodeBuffer + 2], a
 	ld a, $a
 	call Function3e32
 	ld a, [wc3f0]
-	ld [$c319], a
+	ld [wc319], a
 	ld a, [wcd34]
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	ret
 
 Function118821:
-	ld a, [$c319]
+	ld a, [wc319]
 	cp $3
 	jr c, .asm_11884a
 	cp $4
@@ -983,11 +981,11 @@
 	ld a, $a
 	call Function3e32
 	ld a, $a
-	ld [wc300], a
+	ld [wMobileErrorCodeBuffer], a
 	ld a, [wc3f0]
-	ld [$c319], a
+	ld [wc319], a
 	ld a, [wcd34]
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	scf
 	ret
 .asm_11884a
@@ -1001,9 +999,9 @@
 	ld a, $a
 	call Function3e32
 	ld a, $a
-	ld [wc300], a
+	ld [wMobileErrorCodeBuffer], a
 	ld a, [wcd34]
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	scf
 	ret
 
@@ -1025,7 +1023,7 @@
 asm_11886f:
 	ld [wBGMapPalBuffer], a
 	ld a, $0
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	call BattleTowerRoomMenu_IncrementJumptable
 	ld a, [wcd33]
 	ld [wMobileInactivityTimerSeconds], a
@@ -1059,7 +1057,7 @@
 	jp BattleTowerRoomMenu_IncrementJumptable
 
 Function1188b0:
-	ld de, $c346
+	ld de, wc346
 	ld a, $c
 	jp Function119e2b
 
@@ -1077,7 +1075,7 @@
 	ld a, $1
 	ld [wcd65], a
 	call Function1188e7
-	ld hl, $c708
+	ld hl, wc708
 .asm_1188d3
 	ld a, [de]
 	inc de
@@ -1086,15 +1084,15 @@
 	jr nz, .asm_1188d3
 	call Function119eb4
 	call Function119ec2
-	ld hl, $c708
+	ld hl, wc708
 	ld a, $6
 	jp Function119e2b
 
 Function1188e7:
-	ld de, $c346
-	ld a, $5
+	ld de, wc346
+	ld a, BANK(s5_aa4a)
 	call GetSRAMBank
-	ld a, [$aa4a]
+	ld a, [s5_aa4a]
 	call CloseSRAM
 	and a
 	ret z
@@ -1111,11 +1109,11 @@
 
 Function118903:
 	ld a, [wc3f0]
-	ld [$c319], a
+	ld [wc319], a
 	ld c, $1
 	farcall Function115e18
 	ld a, $8
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	call BattleTowerRoomMenu2
 	jp BattleTowerRoomMenu_IncrementJumptable
 
@@ -1138,7 +1136,7 @@
 	call BattleTowerRoomMenu_IncrementJumptable
 
 BattleTowerRoomMenu_PlacePickLevelMenu:
-	ld a, [$c31a]
+	ld a, [wc31a]
 	and a
 	ret nz
 	ld hl, MenuHeader_119cf7
@@ -1299,7 +1297,7 @@
 	pop af
 	ldh [rSVBK], a
 	ld a, $7
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	ld a, $0
 	ld [wMobileInactivityTimerFrames], a
 	ret
@@ -1374,7 +1372,7 @@
 	push de
 	push hl
 	ld a, $8
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	call BattleTowerRoomMenu2
 	pop hl
 	ld c, $0
@@ -1403,7 +1401,7 @@
 	push de
 	push bc
 	ld a, $8
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	call BattleTowerRoomMenu2
 	call Function118b24
 	pop bc
@@ -1412,7 +1410,7 @@
 	jp Function119e2b
 
 Function118b24:
-	ld hl, $c346
+	ld hl, wc346
 	ld a, $8
 	ld [hli], a
 	ld a, $c7
@@ -1425,7 +1423,7 @@
 	call Function119ec2
 	ld a, $80
 	ld [wcd89], a
-	ld hl, $c346
+	ld hl, wc346
 	ret
 
 Function118b42:
@@ -1484,7 +1482,8 @@
 	and a
 	ret
 
-	charmap " ", $20 ; revert to ascii
+pushc
+setcharmap ascii
 
 ExchangeDownloadURL:
 	db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/exchange/index.txt", 0
@@ -1501,6 +1500,8 @@
 IndexDownloadURL:
 	db "http://gameboy.datacenter.ne.jp/cgb/download?name=/01/CGB-BXTJ/tamago/index.txt", 0
 
+popc
+
 Unreferenced_Function118d35:
 	ld hl, $d200
 	ld a, [wcd38]
@@ -1519,10 +1520,10 @@
 	sla a
 	add b
 	ld b, a
-	ld a, $5
+	ld a, BANK(s5_b2fb)
 	call GetSRAMBank
 	ld a, b
-	ld [$b2fb], a
+	ld [s5_b2fb], a
 	call CloseSRAM
 	farcall Function170be4
 	farcall Function1700c4
@@ -1553,7 +1554,7 @@
 
 .asm_118d8e
 	ld a, $9
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	ld a, $12
 	ld [wMobileInactivityTimerSeconds], a
 	call BattleTowerRoomMenu_IncrementJumptable
@@ -1563,7 +1564,7 @@
 	ret c
 
 asm_118d9f:
-	ld hl, $c608
+	ld hl, wc608
 	call Function119940
 	ld a, [wcd38]
 	and a
@@ -1599,8 +1600,8 @@
 	ld a, $40
 	ld [wcd89], a
 	ld hl, w3_d800
-	ld de, $de00
-	ld bc, $0200
+	ld de, w3_de00
+	ld bc, $200
 	ld a, $2c
 	jp Function119e2b
 
@@ -1702,7 +1703,7 @@
 Function118e76:
 	; Call $c in BattleTowerRoomMenu2
 	ld a, $c
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	jp BattleTowerRoomMenu_IncrementJumptable
 
 Function118e7e:
@@ -1715,7 +1716,7 @@
 	call BattleTowerRoomMenu2
 	ret c
 	ld a, [wcd33]
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	ret
 
 Function118e92:
@@ -1734,7 +1735,7 @@
 
 Function118eb0:
 	call Function118440
-	ld hl, $d802
+	ld hl, w3_d802
 	ld de, wBGMapBuffer
 	ld bc, $000c
 	call CopyBytes
@@ -1745,25 +1746,25 @@
 Function118ec6:
 	call Function118440
 	call SpeechTextbox
-	ld hl, $d80e
-	ld de, $c320
+	ld hl, w3_d80e
+	ld de, wc320
 	ld bc, $0026
 	call CopyBytes
 	xor a
-	ld [$c31f], a
+	ld [wc31f], a
 	ld a, $20
-	ld [$c31b], a
+	ld [wc31b], a
 	ld a, $c3
-	ld [$c31c], a
+	ld [wc31c], a
 	hlcoord 1, 14
 	ld a, l
-	ld [$c31d], a
+	ld [wc31d], a
 	ld a, h
-	ld [$c31e], a
+	ld [wc31e], a
 	ld a, $2
-	ld [$c31a], a
+	ld [wc31a], a
 	ld a, $1d
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	ld a, $24
 	ld [wMobileInactivityTimerSeconds], a
 	ld a, $11
@@ -1803,7 +1804,7 @@
 	ld hl, wcc60
 	call Function118e39
 	ld a, $9
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	ld a, $24
 	ld [wMobileInactivityTimerSeconds], a
 	ld a, $13
@@ -1832,7 +1833,7 @@
 	ld a, [wcc60]
 	and a
 	jr z, .asm_118fba
-	ld hl, $c346
+	ld hl, wc346
 	ld a, LOW($c608)
 	ld [hli], a
 	ld a, HIGH($c608)
@@ -1853,9 +1854,9 @@
 	call Function119ec2
 	ld a, $40
 	ld [wcd89], a
-	ld hl, $c346
-	ld de, $de00
-	ld bc, $0200
+	ld hl, wc346
+	ld de, w3_de00
+	ld bc, $200
 	ld a, $2c
 	jp Function119e2b
 
@@ -1912,7 +1913,7 @@
 	ld de, wcc60
 	call Function1191ad
 	ret c
-	ld hl, $c346
+	ld hl, wc346
 	ld a, $8
 	ld [hli], a
 	ld a, $c6
@@ -1933,7 +1934,7 @@
 	call Function119ec2
 	ld a, $40
 	ld [wcd89], a
-	ld hl, $c346
+	ld hl, wc346
 	ld de, w3_d000
 	ld bc, $1000
 	ld a, $2c
@@ -1968,27 +1969,27 @@
 
 .asm_11908a
 	call CloseSRAM
-	ld a, $3
+	ld a, $3 ; ???
 	ldh [rSVBK], a
-	ld a, $5
+	ld a, BANK(s5_b1b3) ; aka BANK(s5_b1b4) and BANK(s5_aa7f) and BANK(s5_b2f3) and BANK(s5_b2f4)
 	call GetSRAMBank
 	ld a, [wcd4f]
-	ld [$b1b3], a
+	ld [s5_b1b3], a
 	ld a, [wcd50]
-	ld [$b1b4], a
-	ld hl, wBGMapBuffer
-	ld de, $aa7f
-	ld bc, $000c
+	ld [s5_b1b4], a
+	ld hl, wcd20
+	ld de, s5_aa7f
+	ld bc, 12
 	call CopyBytes
 	ldh a, [rSVBK]
 	push af
-	ld a, $1
+	ld a, BANK(wd474) ; aka BANK(wd475)
 	ldh [rSVBK], a
 	ld a, [wd474]
-	ld [$b2f3], a
+	ld [s5_b2f3], a
 	ld hl, wd475
-	ld de, $b2f4
-	ld bc, $0004
+	ld de, s5_b2f4
+	ld bc, 4
 	call CopyBytes
 	pop af
 	ldh [rSVBK], a
@@ -1996,7 +1997,7 @@
 	jp BattleTowerRoomMenu_IncrementJumptable
 
 Function1190d0:
-	ld a, $3
+	ld a, BANK(w3_d000)
 	ldh [rSVBK], a
 	ld a, [wcd57]
 	ld l, a
@@ -2010,19 +2011,19 @@
 	jp Function118b10
 
 Function1190ec:
-	ld a, $5
+	ld a, BANK(s5_aa73)
 	call GetSRAMBank
 	ld hl, wBGMapBuffer
-	ld de, $aa73
-	ld bc, $000c
+	ld de, s5_aa73
+	ld bc, 12
 	call CopyBytes
 	call CloseSRAM
-	ld a, $5
+	ld a, BANK(s5_aa72)
 	call GetSRAMBank
 	ld a, $1
-	ld [$aa72], a
+	ld [s5_aa72], a
 	call CloseSRAM
-	ld a, $6
+	ld a, BANK(s6_a000)
 	call GetSRAMBank
 	ld a, [w3_d000]
 	ld c, a
@@ -2029,24 +2030,24 @@
 	ld a, [w3_d000 + 1]
 	ld b, a
 	ld hl, wd002
-	ld de, $a000
+	ld de, s6_a000
 	call Function119192
 	ret c
 	ld a, [wcd89]
 	and $1
 	jr z, .asm_11913e
-	ld a, $6
+	ld a, BANK(w6_d000)
 	ldh [rSVBK], a
-	ld a, [w3_d000]
+	ld a, [w6_d000]
 	ld c, a
-	ld a, [w3_d000 + 1]
+	ld a, [w6_d000 + 1]
 	ld b, a
-	ld hl, wd002
+	ld hl, w6_d000 + 2
 	call Function119192
 	ret c
 
 .asm_11913e
-	ld a, $3
+	ld a, BANK("Battle Tower RAM")
 	ldh [rSVBK], a
 	call CloseSRAM
 	ld hl, Text_ReceivedNews
@@ -2057,21 +2058,21 @@
 	call BattleTowerRoomMenu2
 	ret c
 	ld a, $1c
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	ld a, $a
-	ld [wc300], a
+	ld [wMobileErrorCodeBuffer], a
 	ret
 
 Function11915d:
-	ld hl, $d802
-	ld de, wBGMapBuffer
-	ld bc, $000c
+	ld hl, w3_d802
+	ld de, wcd20
+	ld bc, 12
 	call CopyBytes
-	ld a, $5
+	ld a, BANK(s5_aa7f)
 	call GetSRAMBank
 	ld hl, wBGMapBuffer
-	ld de, $aa7f
-	ld c, $c
+	ld de, s5_aa7f
+	ld c, 12
 .asm_119176
 	ld a, [de]
 	inc de
@@ -2085,9 +2086,9 @@
 
 .asm_119184
 	ld a, $16
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	ld a, $b
-	ld [wc300], a
+	ld [wMobileErrorCodeBuffer], a
 
 .asm_11918e
 	call CloseSRAM
@@ -2137,7 +2138,7 @@
 	jr c, .asm_1191b4
 	ld a, $da
 	call Function118805
-	ld a, $3
+	ld a, BANK("Battle Tower RAM")
 	ldh [rSVBK], a
 	pop bc
 	scf
@@ -2144,7 +2145,7 @@
 	ret
 
 .asm_1191cc
-	ld a, $3
+	ld a, BANK("Battle Tower RAM")
 	ldh [rSVBK], a
 	pop bc
 	and a
@@ -2199,16 +2200,16 @@
 	xor a
 	ld [wcd4b], a
 	ld [wcd4c], a
-	ld a, $5
+	ld a, BANK(s5_b092) ; aka BANK(s5_b1b1) and BANK(s5_b1b2) and BANK(s5_b1d3)
 	call GetSRAMBank
 	ld hl, wc3cd
-	ld de, $b092
-	ld bc, $001f
+	ld de, s5_b092
+	ld bc, 31
 	call CopyBytes
 	dec de
 	xor a
 	ld [de], a
-	ld hl, $d810
+	ld hl, w3_d810
 .asm_119241
 	ld a, [hli]
 	cp $50
@@ -2218,17 +2219,17 @@
 	ld a, [hli]
 	ld [wcd50], a
 	ld a, [hli]
-	ld [$b1b1], a
+	ld [s5_b1b1], a
 	ld c, a
 	ld a, [hli]
-	ld [$b1b2], a
+	ld [s5_b1b2], a
 	ld b, a
-	ld de, $b1d3
+	ld de, s5_b1d3
 	call CopyBytes
 	call CloseSRAM
 	ld e, l
 	ld d, h
-	ld hl, $c608
+	ld hl, wc608
 .asm_119266
 	ld a, [de]
 	inc de
@@ -2306,15 +2307,15 @@
 	ret
 
 Function1192cc:
-	ld a, $5
+	ld a, BANK(s5_aa73)
 	call GetSRAMBank
-	ld hl, $aa73
-	ld de, $c608
-	ld bc, $000c
+	ld hl, s5_aa73
+	ld de, wc608
+	ld bc, 12
 	call CopyBytes
 	call CloseSRAM
-	ld hl, $c608
-	ld de, wBGMapBuffer
+	ld hl, wc608
+	ld de, wcd20
 	ld c, $c
 .asm_1192e8
 	ld a, [de]
@@ -2326,9 +2327,9 @@
 	dec c
 	jr nz, .asm_1192e8
 	ld a, $1f
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	ld a, $27
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	scf
 	ret
 
@@ -2344,7 +2345,7 @@
 	ld e, a
 	ld a, [wcd4e]
 	ld d, a
-	ld hl, $c608
+	ld hl, wc608
 	ld a, [wcd4b]
 	ld c, a
 	ld a, [wcd4c]
@@ -2434,7 +2435,7 @@
 	ld hl, wcc60
 	call Function118e39
 	ld a, $9
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	ld a, $10
 	ld [wMobileInactivityTimerSeconds], a
 	call BattleTowerRoomMenu_IncrementJumptable
@@ -2444,20 +2445,20 @@
 	ret c
 	call DelayFrame
 	ld a, $8
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	call BattleTowerRoomMenu2
-	ld hl, $c346
-	ld a, LOW($d000)
+	ld hl, wc346
+	ld a, LOW(w3_d000)
 	ld [hli], a
-	ld a, HIGH($d000)
+	ld a, HIGH(w3_d000)
 	ld [hli], a
 	ld a, [wcd3b]
 	ld [hli], a
 	xor a
 	ld [hli], a
-	ld a, LOW($c708)
+	ld a, LOW(wc708)
 	ld [hli], a
-	ld a, HIGH($c708)
+	ld a, HIGH(wc708)
 	ld [hli], a
 	ld a, $60
 	ld [hli], a
@@ -2467,9 +2468,9 @@
 	call Function119ec2
 	ld a, $40
 	ld [wcd89], a
-	ld hl, $c346
-	ld de, $de00
-	ld bc, $0200
+	ld hl, wc346
+	ld de, w3_de00
+	ld bc, $200
 	ld a, $2c
 	jp Function119e2b
 
@@ -2480,7 +2481,7 @@
 	ld hl, wcc60
 	call Function118e39
 	ld a, $9
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	ld a, $11
 	ld [wMobileInactivityTimerSeconds], a
 	call BattleTowerRoomMenu_IncrementJumptable
@@ -2490,7 +2491,7 @@
 	ret c
 	call DelayFrame
 	ld a, $8
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	call BattleTowerRoomMenu2
 	ld de, w3_d000
 	ld bc, $1000
@@ -2497,7 +2498,7 @@
 	jp Function118b10
 
 Function119413:
-	ld a, $6
+	ld a, $6 ; ???
 	call GetSRAMBank
 	ld a, [w3_d000]
 	ld c, a
@@ -2515,18 +2516,18 @@
 	ld a, [wcd89]
 	and $1
 	jr z, .asm_119447
-	ld a, $6
+	ld a, BANK(w6_d000)
 	ldh [rSVBK], a
-	ld a, [w3_d000]
+	ld a, [w6_d000]
 	ld c, a
-	ld a, [w3_d000 + 1]
+	ld a, [w6_d000 + 1]
 	ld b, a
-	ld hl, wd002
+	ld hl, w6_d000 + 2
 	call Function119192
 	ret c
 
 .asm_119447
-	ld a, $3
+	ld a, BANK("Battle Tower RAM")
 	ldh [rSVBK], a
 	call CloseSRAM
 	jp BattleTowerRoomMenu_IncrementJumptable
@@ -2550,25 +2551,25 @@
 Function119471:
 	push af
 	ld a, [hli]
-	ld [$c608], a
+	ld [wc608], a
 	ld a, [hli]
-	ld [$c608 + 3], a
+	ld [wc608 + 3], a
 	ld a, [hli]
-	ld [$c608 + 1], a
+	ld [wc608 + 1], a
 	ld a, [hli]
-	ld [$c608 + 2], a
+	ld [wc608 + 2], a
 	ld a, [hli]
-	ld [$c608 + 4], a
+	ld [wc608 + 4], a
 	ld a, [hli]
-	ld [$c608 + 5], a ; $c608 + 5
+	ld [wc608 + 5], a
 	push hl
-	ld a, [$c608]
+	ld a, [wc608]
 	cp $ff
 	jr z, .asm_1194a7
-	ld a, [$c608 + 2]
+	ld a, [wc608 + 2]
 	cp $ff
 	jr z, .asm_1194a7
-	ld a, [$c608 + 1]
+	ld a, [wc608 + 1]
 	cp $ff
 	jr nz, .asm_1194a7
 	call Function119584
@@ -2575,8 +2576,8 @@
 	jr c, .asm_11950c
 	jr .asm_1194f0
 .asm_1194a7
-	ld hl, $c608
-	ld de, $c608 + 3
+	ld hl, wc608
+	ld de, wc608 + 3
 	ld c, $3
 .asm_1194af
 	ld a, [de]
@@ -2592,7 +2593,7 @@
 .asm_1194bc
 	ld c, $3
 	ld hl, wcd49
-	ld de, $c608
+	ld de, wc608
 .asm_1194c4
 	ld a, [de]
 	inc de
@@ -2609,7 +2610,7 @@
 .asm_1194d5
 	ld c, $3
 	ld hl, wcd49
-	ld de, $c608 + 3
+	ld de, wc608 + 3
 .asm_1194dd
 	ld a, [de]
 	inc de
@@ -2630,7 +2631,7 @@
 .asm_1194f3
 	ld c, $3
 	ld hl, wcd49
-	ld de, $c608
+	ld de, wc608
 .asm_1194fb
 	ld a, [de]
 	inc de
@@ -2649,9 +2650,9 @@
 	ld a, $1
 	ld [wcd50], a
 	ld a, l
-	ld [$c608], a
+	ld [wc608], a
 	ld a, h
-	ld [$c608 + 1], a
+	ld [wc608 + 1], a
 	ld de, wcd69
 	ld c, $10
 	ld b, $0
@@ -2712,7 +2713,7 @@
 	and a
 	jr z, .asm_119571
 	ld a, $1a
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	ret
 .asm_119571
 	ld a, $d8
@@ -2723,15 +2724,15 @@
 .asm_11957a
 	ld a, $f
 .asm_11957c
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	pop af
 	call Function1195c4
 	ret
 
 Function119584:
-	ld a, [$c608]
+	ld a, [wc608]
 	ld b, a
-	ld a, [$c608 + 3]
+	ld a, [wc608 + 3]
 	ld c, a
 	cp b
 	jr c, .asm_11959c
@@ -2748,9 +2749,9 @@
 	cp b
 	jr c, .asm_119595
 .asm_1195a2
-	ld a, [$c608 + 2]
+	ld a, [wc608 + 2]
 	ld b, a
-	ld a, [$c608 + 5] ; $c608 + 5
+	ld a, [wc608 + 5]
 	ld c, a
 	cp b
 	jr c, .asm_1195ba
@@ -2794,9 +2795,9 @@
 	call CopyBytes
 	xor a
 	ld [de], a
-	ld a, [$c608]
+	ld a, [wc608]
 	ld l, a
-	ld a, [$c608 + 1]
+	ld a, [wc608 + 1]
 	ld h, a
 	ld de, wcd69
 	ld bc, $10
@@ -2808,7 +2809,7 @@
 
 Function1195f8:
 	ld a, $11
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	ld a, $1c
 	ld [wMobileInactivityTimerSeconds], a
 	ld a, $f
@@ -2820,7 +2821,7 @@
 
 Function119612:
 	ld a, $14
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	ld a, $1c
 	ld [wMobileInactivityTimerSeconds], a
 	ld a, $10
@@ -2838,7 +2839,7 @@
 	ld h, a
 	call Function118e39
 	ld a, $9
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	ld a, $1c
 	ld [wMobileInactivityTimerSeconds], a
 	ld a, $14
@@ -2850,7 +2851,7 @@
 	ret c
 	call DelayFrame
 	ld a, $8
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	call BattleTowerRoomMenu2
 	call Function118b24
 	ld de, w3_d000
@@ -2860,7 +2861,7 @@
 
 Function119665:
 	ld a, $1a
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	call BattleTowerRoomMenu_IncrementJumptable
 
 Function11966d:
@@ -2867,14 +2868,14 @@
 	call BattleTowerRoomMenu2
 	ret c
 	ld a, [wcd47]
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	ld a, $a
-	ld [wc300], a
+	ld [wMobileErrorCodeBuffer], a
 	ret
 
 Function11967d:
 	ld a, $18
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	call BattleTowerRoomMenu_IncrementJumptable
 
 Function119685:
@@ -2881,9 +2882,9 @@
 	call BattleTowerRoomMenu2
 	ret c
 	ld a, $14
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	ld a, $a
-	ld [wc300], a
+	ld [wMobileErrorCodeBuffer], a
 	ret
 
 Function119694:
@@ -2890,7 +2891,7 @@
 	ld b, 0
 	ld hl, Unknown_1196b8
 .asm_119699
-	ld de, $c708
+	ld de, wc708
 	ld a, [de]
 	inc de
 	cp [hl]
@@ -2918,6 +2919,9 @@
 	jr nz, .asm_119699
 	ret
 
+pushc
+setcharmap ascii
+
 Unknown_1196b8:
 	db "Mon"
 	db "Tue"
@@ -2927,12 +2931,10 @@
 	db "Sat"
 	db "Sun"
 
+popc
 
-SECTION "Mobile 46 ASCII", ROMX
-; A hack to use ascii above.
-
 Function1196cd:
-	ld de, $c719
+	ld de, wc719
 	call Function1196de
 	ld [wcd4a], a
 	inc de
@@ -3126,7 +3128,7 @@
 	ld hl, wd002
 	call Function118e39
 	ld a, $9
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	ld a, $12
 	ld [wMobileInactivityTimerSeconds], a
 	call BattleTowerRoomMenu_IncrementJumptable
@@ -3150,7 +3152,7 @@
 
 Function119800:
 	ld a, $fd
-	ld [$c6d0], a
+	ld [wc6d0], a
 	ld [wOTTrademonSpecies], a
 	ld a, [wcd81]
 	ld [wc74e], a
@@ -3160,7 +3162,7 @@
 	push af
 	ld a, [wcf65]
 	push af
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	push af
 	ld a, $1
 	ldh [rSVBK], a
@@ -3168,10 +3170,10 @@
 	farcall Function10803d
 	call Function11a9ce
 	call RestartMapMusic
-	ld a, $3
+	ld a, BANK("Battle Tower RAM")
 	ldh [rSVBK], a
 	pop af
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	pop af
 	ld [wcf65], a
 	pop af
@@ -3195,7 +3197,7 @@
 	push af
 	ld a, [wcf65]
 	push af
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	push af
 	ld a, $1
 	ldh [rSVBK], a
@@ -3203,10 +3205,10 @@
 	farcall MobileTradeAnimation_SendGivemonToGTS
 	call Function11a9ce
 	call RestartMapMusic
-	ld a, $3
+	ld a, BANK("Battle Tower RAM")
 	ldh [rSVBK], a
 	pop af
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	pop af
 	ld [wcf65], a
 	pop af
@@ -3218,7 +3220,7 @@
 
 .asm_1198a0
 	ld a, $a
-	ld [wc300], a
+	ld [wMobileErrorCodeBuffer], a
 	jp BattleTowerRoomMenu_IncrementJumptable
 
 .asm_1198a8
@@ -3229,7 +3231,7 @@
 	push af
 	ld a, [wcf65]
 	push af
-	ld a, [wcf66]
+	ld a, [wBattleTowerRoomMenuJumptableIndex]
 	push af
 	ld a, $1
 	ldh [rSVBK], a
@@ -3237,10 +3239,10 @@
 	farcall MobileTradeAnimation_RetrieveGivemonFromGTS
 	call Function11a9ce
 	call RestartMapMusic
-	ld a, $3
+	ld a, BANK("Battle Tower RAM")
 	ldh [rSVBK], a
 	pop af
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	pop af
 	ld [wcf65], a
 	pop af
@@ -3256,23 +3258,23 @@
 	call BattleTowerRoomMenu_IncrementJumptable
 
 Function1198f7:
-	ld a, [$c31a]
+	ld a, [wc31a]
 	and a
 	ret nz
-	ld hl, $c608 + 2
+	ld hl, wc608 + 2
 	call Function119940
 	ld hl, w3_d800
-	ld a, LOW($c608)
+	ld a, LOW(wc608)
 	ld [hli], a
-	ld a, HIGH($c608)
+	ld a, HIGH(wc608)
 	ld [hli], a
 	ld a, $f6
 	ld [hli], a
 	xor a
 	ld [hli], a
-	ld a, LOW($c708)
+	ld a, LOW(wc708)
 	ld [hli], a
-	ld a, HIGH($c708)
+	ld a, HIGH(wc708)
 	ld [hli], a
 	ld a, [wcd51]
 	ld [hli], a
@@ -3283,8 +3285,8 @@
 	ld a, $40
 	ld [wcd89], a
 	ld hl, w3_d800
-	ld de, $de00
-	ld bc, $0200
+	ld de, w3_de00
+	ld bc, $200
 	ld a, $2c
 	jp Function119e2b
 
@@ -3314,9 +3316,9 @@
 
 Function119954:
 	ld a, $1c
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	call BattleTowerRoomMenu2
-	ld hl, $c608
+	ld hl, wc608
 	ld de, wc3cd
 .asm_119962
 	ld a, [de]
@@ -3325,7 +3327,7 @@
 	and a
 	jr nz, .asm_119962
 	call Function119ec2
-	ld hl, $c608
+	ld hl, wc608
 	ld a, $1e
 	jp Function119e2b
 
@@ -3357,12 +3359,12 @@
 	and a
 	jr z, .asm_1199ae
 	ld a, $16
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	jp Function119b0d
 
 .asm_1199ae
 	ld a, $1b
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	ret
 
 Function1199b4:
@@ -3436,7 +3438,7 @@
 	ld [w3_d8a2], a
 	ld [w3_d8a3], a
 	ld hl, w3_d8a0
-	ld bc, $d889
+	ld bc, w3_d889
 	call Function119e98
 	call Function119e98
 	ld hl, w3_d8a0
@@ -3461,9 +3463,9 @@
 	ld [w3_d8a2], a
 	ld [w3_d8a3], a
 	ld hl, w3_d8a0
-	ld bc, $d88e
+	ld bc, w3_d88e
 	call Function119e98
-	ld bc, $d893
+	ld bc, w3_d893
 	call Function119e98
 	ld hl, w3_d8a0
 	ld a, [wcd2f]
@@ -3484,7 +3486,7 @@
 
 .asm_119aa7
 	ld a, $25
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	jp Function119b45
 
 .asm_119aaf
@@ -3519,7 +3521,7 @@
 	ld a, h
 	ld [wcf65], a
 	ld a, $10
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	ret
 
 XGameCode:
@@ -3529,13 +3531,13 @@
 
 Function119b0d:
 	ld a, $8
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	call BattleTowerRoomMenu2
 	ld a, [w3_d090]
 	cp $1
 	jr z, .asm_119b23
 	ld a, $19
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	jr Function119b3b
 
 .asm_119b23
@@ -3571,10 +3573,10 @@
 	ld a, [w3_d090]
 	cp $1
 	jr nz, .asm_119b66
-	ld a, $5
+	ld a, BANK(s5_a800)
 	call GetSRAMBank
 	ld a, $4
-	ld [$a800], a
+	ld [s5_a800], a
 	call CloseSRAM
 
 .asm_119b66
@@ -3670,11 +3672,11 @@
 
 .asm_119be3
 	ld a, $19
-	ld [wcf66], a
-	ld a, $5
+	ld [wBattleTowerRoomMenuJumptableIndex], a
+	ld a, BANK(s5_a800)
 	call GetSRAMBank
 	ld a, $1
-	ld [$a800], a
+	ld [s5_a800], a
 	call CloseSRAM
 	xor a
 	ld [w3_d090], a
@@ -3691,22 +3693,22 @@
 	ld a, h
 	cp HIGH(w3_d869)
 	jr nz, .asm_119be3
-	ld a, $5
+	ld a, BANK(s5_b090) ; aka BANK(s5_b091) and BANK(s5_b023)
 	call GetSRAMBank
 	ld a, [wcf64]
-	ld [$b090], a
+	ld [s5_b090], a
 	ld a, [wcf65]
-	ld [$b091], a
+	ld [s5_b091], a
 	ld hl, w3_d800
-	ld de, $b023
-	ld bc, $0069
+	ld de, s5_b023
+	ld bc, 105
 	call CopyBytes
 	ld a, $3
-	ld [$a800], a
+	ld [s5_a800], a
 	call CloseSRAM
 	ld hl, w3_d800
-	ld de, $c608
-	ld bc, $0069
+	ld de, wc608
+	ld bc, 105
 	call CopyBytes
 	jp BattleTowerRoomMenu_IncrementJumptable
 
@@ -3735,11 +3737,11 @@
 
 .asm_119c68
 	ld a, $19
-	ld [wcf66], a
-	ld a, $5
+	ld [wBattleTowerRoomMenuJumptableIndex], a
+	ld a, BANK(s5_a800)
 	call GetSRAMBank
 	ld a, $1
-	ld [$a800], a
+	ld [s5_a800], a
 	call CloseSRAM
 	xor a
 	ld [w3_d090], a
@@ -3788,7 +3790,7 @@
 	call BattleTowerRoomMenu_IncrementJumptable
 
 BattleTowerRoomMenu_WaitForMessage:
-	ld a, [$c31a]
+	ld a, [wc31a]
 	and a
 	ret nz
 	ld a, $80
@@ -3803,7 +3805,7 @@
 	dec [hl]
 	ret nz
 	ld a, $0
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	ret
 
 BattleTowerRoomMenu_QuitMessage:
@@ -3827,19 +3829,19 @@
 	call BattleTowerRoomMenu_IncrementJumptable
 
 BattleTowerRoomMenu_PlaceYesNoMenu:
-	ld a, [$c31a]
+	ld a, [wc31a]
 	and a
 	ret nz
 	ld a, $f
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	call BattleTowerRoomMenu_IncrementJumptable
 
 BattleTowerRoomMenu_UpdateYesNoMenu:
-	; Only ever called when [wcd3c] is $10
+	; Only ever called when [wBattleTowerRoomMenu2JumptableIndex] is $10
 	call BattleTowerRoomMenu2
 	ret c
 	ld a, [wMobileInactivityTimerFrames]
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	ret
 
 MenuHeader_119cf7:
@@ -3883,7 +3885,7 @@
 BattleTower_LevelCheck:
 	ldh a, [rSVBK]
 	push af
-	ld a, $1
+	ld a, BANK(wPartyMons)
 	ldh [rSVBK], a
 	ld a, [wcd4f]
 	ld c, 10
@@ -3918,7 +3920,7 @@
 .exceeds
 	pop af
 	ld a, $4
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	pop af
 	ldh [rSVBK], a
 	scf
@@ -3930,7 +3932,7 @@
 	ld a, [wcd4f]
 	cp 70 / 10
 	jr nc, .level_70_or_more
-	ld a, $1
+	ld a, BANK(wPartyMons)
 	ldh [rSVBK], a
 	ld hl, wPartyMon1Level
 	ld bc, PARTYMON_STRUCT_LENGTH
@@ -3973,7 +3975,7 @@
 	ld bc, MON_NAME_LENGTH
 	call CopyBytes
 	ld a, $a
-	ld [wcf66], a
+	ld [wBattleTowerRoomMenuJumptableIndex], a
 	pop af
 	ldh [rSVBK], a
 	scf
@@ -3983,7 +3985,7 @@
 	call Function3e32
 
 BattleTowerRoomMenu_IncrementJumptable:
-	ld hl, wcf66
+	ld hl, wBattleTowerRoomMenuJumptableIndex
 	inc [hl]
 	ret
 
@@ -4133,7 +4135,7 @@
 	ret
 
 .RunJumptable:
-	jumptable .Jumptable, wcd3c
+	jumptable .Jumptable, wBattleTowerRoomMenu2JumptableIndex
 
 .Jumptable:
 	dw Function119f3f
@@ -4240,7 +4242,7 @@
 	ld a, [wcd33]
 	ld [wcf66], a
 	ld a, $a
-	ld [wc300], a
+	ld [wMobileErrorCodeBuffer], a
 	scf
 	ret
 
@@ -4264,7 +4266,7 @@
 	ld [wcf66], a
 	farcall Function115dc3
 	ld a, $a
-	ld [wc300], a
+	ld [wMobileErrorCodeBuffer], a
 	scf
 	ret
 
@@ -4293,11 +4295,11 @@
 	jp Function11a0ca
 
 .asm_11a039
-	ld a, $3
+	ld a, BANK(w3_d800)
 	ldh [rSVBK], a
-	ld hl, $c608
+	ld hl, wc608
 	ld de, w3_d800
-	ld bc, $00f6
+	ld bc, 246
 	call CopyBytes
 	ld a, $1
 	ldh [rSVBK], a
@@ -4304,11 +4306,11 @@
 	call FadeToMenu
 	farcall Function11765d
 	call Function11a9ce
-	ld a, $3
+	ld a, BANK(w3_d800)
 	ldh [rSVBK], a
 	ld hl, w3_d800
-	ld de, $c608
-	ld bc, $00f6
+	ld de, wc608
+	ld bc, 246
 	call CopyBytes
 	ld a, $1
 	ldh [rSVBK], a
@@ -4382,9 +4384,9 @@
 	ld hl, wMobileInactivityTimerMinutes
 	dec [hl]
 	ret nz
-	ld a, [wcd3c]
+	ld a, [wBattleTowerRoomMenu2JumptableIndex]
 	inc a
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 
 Function11a13d:
 	call Function11a63c
@@ -4426,7 +4428,7 @@
 	call Function11a63c
 	call Function11a1e6
 	hlcoord 4, 2
-	ld de, $c346
+	ld de, wc346
 	call PlaceString
 	call Function11a5f5
 	xor a
@@ -4477,7 +4479,7 @@
 
 Function11a1e6:
 	ld hl, String_11a706
-	ld de, $c346
+	ld de, wc346
 	call Function11a1ff
 	ld hl, wcd85
 	call Function11a1ff
@@ -4590,7 +4592,7 @@
 .exit_carry
 	ld [wcf66], a
 	ld a, $a
-	ld [wc300], a
+	ld [wMobileErrorCodeBuffer], a
 	scf
 	ret
 
@@ -4923,7 +4925,7 @@
 	and $80
 	jr nz, .asm_11a583
 .asm_11a54d
-	ld a, [wcd3c]
+	ld a, [wBattleTowerRoomMenu2JumptableIndex]
 	cp $4
 	jr z, .asm_11a562
 	call Function11a9f0
@@ -4981,9 +4983,9 @@
 	ret
 
 BattleTowerRoomMenu2_IncrementJumptable:
-	ld a, [wcd3c]
+	ld a, [wBattleTowerRoomMenu2JumptableIndex]
 	inc a
-	ld [wcd3c], a
+	ld [wBattleTowerRoomMenu2JumptableIndex], a
 	scf
 	ret
 
@@ -5243,7 +5245,7 @@
 endr
 
 BattleTowerRoomMenu_WriteMessage:
-	jumptable .Jumptable, $c31a
+	jumptable .Jumptable, wc31a
 
 .Jumptable:
 	dw BattleTowerRoomMenu_WriteMessage_DoNothing
@@ -5255,14 +5257,14 @@
 	ldh [rSVBK], a
 	call SpeechTextbox
 	ld a, $50
-	ld hl, $c320
+	ld hl, wc320
 	ld bc, $008c
 	call ByteFill
-	ld a, [$c31b]
+	ld a, [wc31b]
 	ld l, a
-	ld a, [$c31c]
+	ld a, [wc31c]
 	ld h, a
-	ld de, $c320
+	ld de, wc320
 .asm_11a92c
 	ld a, [hli]
 	cp $57
@@ -5293,17 +5295,17 @@
 
 .asm_11a94f
 	xor a
-	ld [$c31f], a
-	ld a, LOW($c320)
-	ld [$c31b], a
-	ld a, HIGH($c320)
-	ld [$c31c], a
+	ld [wc31f], a
+	ld a, LOW(wc320)
+	ld [wc31b], a
+	ld a, HIGH(wc320)
+	ld [wc31c], a
 	hlcoord 1, 14
 	ld a, l
-	ld [$c31d], a
+	ld [wc31d], a
 	ld a, h
-	ld [$c31e], a
-	ld hl, $c31a
+	ld [wc31e], a
+	ld hl, wc31a
 	inc [hl]
 	ld a, $3
 	ldh [rSVBK], a
@@ -5312,7 +5314,7 @@
 	ret
 
 Function11a971:
-	ld hl, $c31f
+	ld hl, wc31f
 	ldh a, [hJoyDown]
 	and a
 	jr nz, .asm_11a97f
@@ -5327,34 +5329,34 @@
 	and $7
 	ld [hl], a
 	ld hl, wcd8d
-	ld a, [$c31b]
+	ld a, [wc31b]
 	ld e, a
-	ld a, [$c31c]
+	ld a, [wc31c]
 	ld d, a
 	ld a, [de]
 	inc de
 	ld [hli], a
 	ld a, e
-	ld [$c31b], a
+	ld [wc31b], a
 	ld a, d
-	ld [$c31c], a
+	ld [wc31c], a
 	ld a, $50
 	ld [hl], a
-	ld a, [$c31d]
+	ld a, [wc31d]
 	ld l, a
-	ld a, [$c31e]
+	ld a, [wc31e]
 	ld h, a
 	ld de, wcd8d
 	call PlaceString
 	ld a, c
-	ld [$c31d], a
+	ld [wc31d], a
 	ld a, b
-	ld [$c31e], a
+	ld [wc31e], a
 	ld a, [wcd8d]
 	cp $50
 	jr nz, .asm_11a9bf
 	xor a
-	ld [$c31a], a
+	ld [wc31a], a
 
 .asm_11a9bf
 	ret
@@ -5361,11 +5363,11 @@
 
 BattleTowerRoomMenu_SetMessage:
 	ld a, l
-	ld [$c31b], a
+	ld [wc31b], a
 	ld a, h
-	ld [$c31c], a
+	ld [wc31c], a
 	ld a, $1
-	ld [$c31a], a
+	ld [wc31a], a
 	ret
 
 Function11a9ce:
@@ -7014,10 +7016,10 @@
 
 	ld a, $1
 	ldh [rSVBK], a
-	ld a, $5
+	ld a, BANK(s5_a800)
 	call GetSRAMBank
 
-	ld de, $a800
+	ld de, s5_a800
 	ld a, $1
 	ld [de], a
 	inc de
@@ -7322,7 +7324,7 @@
 	farcall Function17d1f1
 	ld a, $1
 	ld [wForceEvolution], a
-	ld a, $2
+	ld a, LINK_TRADECENTER
 	ld [wLinkMode], a
 	farcall EvolvePokemon
 	xor a
--- a/mobile/mobile_5c.asm
+++ b/mobile/mobile_5c.asm
@@ -382,11 +382,11 @@
 .asm_171a6a
 	ld a, $0
 	call Function3e32
-	ld [wc300], a
+	ld [wMobileErrorCodeBuffer], a
 	ld a, l
-	ld [wc301], a
+	ld [wMobileErrorCodeBuffer + 1], a
 	ld a, h
-	ld [wc302], a
+	ld [wMobileErrorCodeBuffer + 2], a
 	ld a, $a
 	call Function3e32
 	ldh a, [rSVBK]
--- a/mobile/mobile_5f.asm
+++ b/mobile/mobile_5f.asm
@@ -295,7 +295,7 @@
 	farcall Function17d1f1
 	ld a, $1
 	ld [wForceEvolution], a
-	ld a, $2
+	ld a, LINK_TRADECENTER
 	ld [wLinkMode], a
 	farcall EvolvePokemon
 	xor a
@@ -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
@@ -1378,7 +1378,7 @@
 	xor a
 	ld [wcf66], a
 	farcall Function118329
-	ld a, [wc300]
+	ld a, [wMobileErrorCodeBuffer]
 	and a
 	jr z, .asm_17d8fe
 	cp $a
@@ -1412,7 +1412,7 @@
 	xor a
 	ld [wcf66], a
 	farcall Function11837a
-	ld a, [wc300]
+	ld a, [wMobileErrorCodeBuffer]
 	and a
 	jr z, .asm_17d936
 	cp $a
@@ -2874,7 +2874,7 @@
 	ld hl, vTiles2 tile $60
 	lb bc, BANK(GFX_17eb7e), 1
 	call Get2bpp
-	ld a, [wc300]
+	ld a, [wMobileErrorCodeBuffer]
 	and a
 	jr z, .asm_17e2d8
 	cp $a
@@ -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
@@ -3615,8 +3615,8 @@
 	dw Function17f220 ; 5
 	dw Function17f27b ; 6
 	dw Function17f2cb ; 7
-	dw Function17f2ff ; 8
-	dw Function17f334 ; 9
+	dw MobileScript_PlayerName ; 8
+	dw MobileScript_Prefecture ; 9
 	dw Function17f382 ; a
 	dw Function17f3c9 ; b
 	dw Function17f3f0 ; c
@@ -4068,7 +4068,7 @@
 	and a
 	ret
 
-Function17f2ff:
+MobileScript_PlayerName:
 	pop hl
 	push bc
 	ld a, [hli]
@@ -4080,7 +4080,7 @@
 	ldh [rSVBK], a
 	ld hl, wPlayerName
 	ld de, wc608
-	ld bc, $6
+	ld bc, NAME_LENGTH_JAPANESE
 	call CopyBytes
 	ld a, $4
 	ldh [rSVBK], a
@@ -4097,7 +4097,7 @@
 	and a
 	ret
 
-Function17f334:
+MobileScript_Prefecture:
 	pop hl
 	push bc
 	ld a, [hli]
@@ -4118,9 +4118,9 @@
 	jr .asm_17f35d
 
 .asm_17f355
-	ld a, $5
+	ld a, BANK(s5_b2f3)
 	call GetSRAMBank
-	ld a, [$b2f3]
+	ld a, [s5_b2f3]
 
 .asm_17f35d
 	ld c, a
@@ -4161,9 +4161,9 @@
 	jr .asm_17f3ab
 
 .asm_17f3a3
-	ld a, $5
+	ld a, BANK(s5_b2f4)
 	call GetSRAMBank
-	ld de, $b2f4
+	ld de, s5_b2f4
 
 .asm_17f3ab
 	ld a, PRINTNUM_LEADINGZEROS | 2
@@ -4195,7 +4195,7 @@
 	push hl
 	ld hl, wc708
 	ld de, wcd36
-	ld bc, $c
+	ld bc, 12
 	call CopyBytes
 	pop bc
 	pop de
@@ -4488,7 +4488,7 @@
 	ret
 
 .deinit
-	ld a, [wc300]
+	ld a, [wMobileErrorCodeBuffer]
 	cp $22
 	jr z, .asm_17f597
 	cp $31
@@ -4495,28 +4495,28 @@
 	jr z, .asm_17f58a
 	cp $33
 	ret nz
-	ld a, [wc301]
+	ld a, [wMobileErrorCodeBuffer + 1]
 	cp $1
 	ret nz
-	ld a, [wc302]
+	ld a, [wMobileErrorCodeBuffer + 2]
 	cp $2
 	ret nz
 	jr .asm_17f5a1
 
 .asm_17f58a
-	ld a, [wc301]
+	ld a, [wMobileErrorCodeBuffer + 1]
 	cp $3
 	ret nz
-	ld a, [wc302]
+	ld a, [wMobileErrorCodeBuffer + 2]
 	and a
 	ret nz
 	jr .asm_17f5a1
 
 .asm_17f597
-	ld a, [wc301]
+	ld a, [wMobileErrorCodeBuffer + 1]
 	and a
 	ret nz
-	ld a, [wc302]
+	ld a, [wMobileErrorCodeBuffer + 2]
 	and a
 	ret nz
 
@@ -4576,7 +4576,7 @@
 	ld c, $10
 	call Function3eea
 	hlcoord 3, 2
-	ld de, String_17f6dc
+	ld de, MobileCommunicationErrorText
 	call PlaceString
 	call Function17ff3c
 	jr nc, .asm_17f632
@@ -4584,7 +4584,7 @@
 	call Function17f6b7
 
 .asm_17f632
-	ld a, [wc300]
+	ld a, [wMobileErrorCodeBuffer]
 	cp $d0
 	jr nc, .asm_17f684
 	cp $10
@@ -4594,12 +4594,12 @@
 	jr nc, .asm_17f679
 	ld e, a
 	ld d, $0
-	ld hl, Table_17f706
+	ld hl, MobileErrorCodeTable
 	add hl, de
 	add hl, de
-	ld a, [wc301]
+	ld a, [wMobileErrorCodeBuffer + 1]
 	ld e, a
-	ld a, [wc302]
+	ld a, [wMobileErrorCodeBuffer + 2]
 	ld d, a
 	ld a, [hli]
 	ld c, a
@@ -4664,17 +4664,17 @@
 	ret
 
 Table_17f699:
-	dw String_17fedf
-	dw String_17fdd9
-	dw String_17fdd9
-	dw String_17fe03
-	dw String_17fd84
-	dw String_17fe63
-	dw String_17fdb2
-	dw String_17fe4b
-	dw String_17fe03
-	dw String_17fe03
-	dw String_17fe03
+	dw MobileErrorCode_101_000_Text
+	dw MobileErrorCode_101_001_Text
+	dw MobileErrorCode_101_002_Text
+	dw MobileErrorCode_101_003_Text
+	dw MobileErrorCode_101_004_Text
+	dw MobileErrorCode_101_005_Text
+	dw MobileErrorCode_101_006_Text
+	dw MobileErrorCode_101_007_Text
+	dw MobileErrorCode_101_008_Text
+	dw MobileErrorCode_101_009_Text
+	dw MobileErrorCode_101_009_Text
 
 Palette_17f6af:
 	RGB  5,  5, 16
@@ -4683,13 +4683,13 @@
 	RGB 31, 31, 31
 
 Function17f6b7:
-	ld a, [wc300]
+	ld a, [wMobileErrorCodeBuffer]
 	call .bcd_two_digits
 	inc hl
-	ld a, [wc302]
+	ld a, [wMobileErrorCodeBuffer + 2]
 	and $f
 	call .bcd_digit
-	ld a, [wc301]
+	ld a, [wMobileErrorCodeBuffer + 1]
 	call .bcd_two_digits
 	ret
 
@@ -4706,7 +4706,7 @@
 	ld [hli], a
 	ret
 
-String_17f6dc:
+MobileCommunicationErrorText:
 	db "つうしんエラー   ー@"
 
 String_17f6e8:
@@ -4715,159 +4715,161 @@
 	next "かくにん してください"
 	db   "@"
 
-Table_17f706:
-	dw Unknown_17f74e
-	dw Unknown_17f753
-	dw Unknown_17f758
-	dw Unknown_17f75d
-	dw Unknown_17f762
-	dw Unknown_17f767
-	dw Unknown_17f778
-	dw Unknown_17f77d
-	dw Unknown_17f782
-	dw Unknown_17f782
-	dw Unknown_17f782
-	dw Unknown_17f782
-	dw Unknown_17f782
-	dw Unknown_17f782
-	dw Unknown_17f782
-	dw Unknown_17f782
-	dw Unknown_17f782
-	dw Unknown_17f787
-	dw Unknown_17f78c
-	dw Unknown_17f791
-	dw Unknown_17f796
-	dw Unknown_17f79b
-	dw Unknown_17f7a0
-	dw Unknown_17f7a5
-	dw Unknown_17f7a5
-	dw Unknown_17f7a5
-	dw Unknown_17f7a5
-	dw Unknown_17f7a5
-	dw Unknown_17f7a5
-	dw Unknown_17f7a5
-	dw Unknown_17f7a5
-	dw Unknown_17f7a5
-	dw Unknown_17f7a5
-	dw Unknown_17f7ea
-	dw Unknown_17f7ff
-	dw Unknown_17f844
+MobileErrorCodeTable:
+	dw MobileErrorCodes_10
+	dw MobileErrorCodes_11
+	dw MobileErrorCodes_12
+	dw MobileErrorCodes_13
+	dw MobileErrorCodes_14
+	dw MobileErrorCodes_15
+	dw MobileErrorCodes_16
+	dw MobileErrorCodes_17
+	dw MobileErrorCodes_20
+	dw MobileErrorCodes_20
+	dw MobileErrorCodes_20
+	dw MobileErrorCodes_20
+	dw MobileErrorCodes_20
+	dw MobileErrorCodes_20
+	dw MobileErrorCodes_20
+	dw MobileErrorCodes_20
+	dw MobileErrorCodes_20
+	dw MobileErrorCodes_21
+	dw MobileErrorCodes_22
+	dw MobileErrorCodes_23
+	dw MobileErrorCodes_24
+	dw MobileErrorCodes_25
+	dw MobileErrorCodes_26
+	dw MobileErrorCodes_30
+	dw MobileErrorCodes_30
+	dw MobileErrorCodes_30
+	dw MobileErrorCodes_30
+	dw MobileErrorCodes_30
+	dw MobileErrorCodes_30
+	dw MobileErrorCodes_30
+	dw MobileErrorCodes_30
+	dw MobileErrorCodes_30
+	dw MobileErrorCodes_30
+	dw MobileErrorCodes_31
+	dw MobileErrorCodes_32
+	dw MobileErrorCodes_33
 
-Unknown_17f74e: db 1
-	dbbw $0, $0, String_17f891
+MobileErrorCodes_10: db 1
+	dw $000, MobileErrorCode_10_000_Text
 
-Unknown_17f753: db 1
-	dbbw $0, $0, String_17f8d1
+MobileErrorCodes_11: db 1
+	dw $000, MobileErrorCode_11_000_Text
 
-Unknown_17f758: db 1
-	dbbw $0, $0, String_17f913
+MobileErrorCodes_12: db 1
+	dw $000, MobileErrorCode_12_000_Text
 
-Unknown_17f75d: db 1
-	dbbw $0, $0, String_17f8d1
+MobileErrorCodes_13: db 1
+	dw $000, MobileErrorCode_13_000_Text
 
-Unknown_17f762: db 1
-	dbbw $0, $0, String_17fa71
+MobileErrorCodes_14: db 1
+	dw $000, MobileErrorCode_14_000_Text
 
-Unknown_17f767: db 4
-	dbbw $0, $0, String_17f946
-	dbbw $1, $0, String_17f946
-	dbbw $2, $0, String_17f946
-	dbbw $3, $0, String_17f946
+MobileErrorCodes_15: db 4
+	dw $000, MobileErrorCode_15_000_Text
+	dw $001, MobileErrorCode_15_001_Text
+	dw $002, MobileErrorCode_15_002_Text
+	dw $003, MobileErrorCode_15_003_Text
 
-Unknown_17f778: db 1
-	dbbw $0, $0, String_17f98e
+MobileErrorCodes_16: db 1
+	dw $000, MobileErrorCode_CommuncationErrorText
 
-Unknown_17f77d: db 1
-	dbbw $0, $0, String_17f98e
+MobileErrorCodes_17: db 1
+	dw $000, MobileErrorCode_CommuncationErrorText
 
-Unknown_17f782: db 1
-	dbbw $0, $0, String_17f98e
+MobileErrorCodes_20: db 1
+	dw $000, MobileErrorCode_CommuncationErrorText
 
-Unknown_17f787: db 1
-	dbbw $0, $0, String_17f98e
+MobileErrorCodes_21: db 1
+	dw $000, MobileErrorCode_CommuncationErrorText
 
-Unknown_17f78c: db 1
-	dbbw $0, $0, String_17f9d0
+MobileErrorCodes_22: db 1
+	dw $000, MobileErrorCode_22_000_Text
 
-Unknown_17f791: db 1
-	dbbw $0, $0, String_17fa14
+MobileErrorCodes_23: db 1
+	dw $000, MobileErrorCode_23_000_Text
 
-Unknown_17f796: db 1
-	dbbw $0, $0, String_17fcbf
+MobileErrorCodes_24: db 1
+	dw $000, MobileErrorCode_ServerConnectionFailedText
 
-Unknown_17f79b: db 1
-	dbbw $0, $0, String_17fa71
+MobileErrorCodes_25: db 1
+	dw $000, MobileErrorCode_25_000_Text
 
-Unknown_17f7a0: db 1
-	dbbw $0, $0, String_17fbfe
+MobileErrorCodes_26: db 1
+	dw $000, MobileErrorCode_26_000_Text
 
-Unknown_17f7a5: db 17
-	dbbw $0, $0, String_17f98e
-	dbbw $21, $2, String_17fcbf
-	dbbw $21, $4, String_17fcbf
-	dbbw $50, $4, String_17faf9
-	dbbw $51, $4, String_17fcbf
-	dbbw $52, $4, String_17fcbf
-	dbbw $0, $5, String_17f98e
-	dbbw $1, $5, String_17f98e
-	dbbw $2, $5, String_17f98e
-	dbbw $3, $5, String_17f98e
-	dbbw $4, $5, String_17f98e
-	dbbw $50, $5, String_17faf9
-	dbbw $51, $5, String_17faf9
-	dbbw $52, $5, String_17fcbf
-	dbbw $53, $5, String_17faf9
-	dbbw $54, $5, String_17fcbf
-	dbbw $ff, $ff, String_17fcbf
+MobileErrorCodes_30: db 17
+	dw $000, MobileErrorCode_CommuncationErrorText
+	dw $221, MobileErrorCode_ServerConnectionFailedText
+	dw $421, MobileErrorCode_ServerConnectionFailedText
+	dw $450, MobileErrorCode_30_450_Text
+	dw $451, MobileErrorCode_ServerConnectionFailedText
+	dw $452, MobileErrorCode_ServerConnectionFailedText
+	dw $500, MobileErrorCode_CommuncationErrorText
+	dw $501, MobileErrorCode_CommuncationErrorText
+	dw $502, MobileErrorCode_CommuncationErrorText
+	dw $503, MobileErrorCode_CommuncationErrorText
+	dw $504, MobileErrorCode_CommuncationErrorText
+	dw $550, MobileErrorCode_30_550_Text
+	dw $551, MobileErrorCode_30_551_Text
+	dw $552, MobileErrorCode_ServerConnectionFailedText
+	dw $553, MobileErrorCode_30_553_Text
+	dw $554, MobileErrorCode_ServerConnectionFailedText
+	dw -1, MobileErrorCode_ServerConnectionFailedText
 
-Unknown_17f7ea: db 5
-	dbbw $0, $0, String_17f98e
-	dbbw $2, $0, String_17fb2a
-	dbbw $3, $0, String_17fb6e
-	dbbw $4, $0, String_17f98e
-	dbbw $ff, $ff, String_17fcbf
+MobileErrorCodes_31: db 5
+	dw $000, MobileErrorCode_CommuncationErrorText
+	dw $002, MobileErrorCode_31_002_Text
+	dw $003, MobileErrorCode_31_003_Text
+	dw $004, MobileErrorCode_CommuncationErrorText
+	dw -1, MobileErrorCode_ServerConnectionFailedText
 
-Unknown_17f7ff: db 17
-	dbbw $0, $0, String_17f98e
-	dbbw $1, $3, String_17f98e
-	dbbw $2, $3, String_17f98e
-	dbbw $0, $4, String_17f98e
-	dbbw $1, $4, String_17f98e
-	dbbw $3, $4, String_17fbb6
-	dbbw $4, $4, String_17fbb6
-	dbbw $5, $4, String_17f98e
-	dbbw $6, $4, String_17f98e
-	dbbw $7, $4, String_17f98e
-	dbbw $8, $4, String_17fbfe
-	dbbw $0, $5, String_17fa49
-	dbbw $1, $5, String_17f98e
-	dbbw $2, $5, String_17fa49
-	dbbw $3, $5, String_17fab0
-	dbbw $4, $5, String_17fa49
-	dbbw $ff, $ff, String_17fa49
+MobileErrorCodes_32: db 17
+	dw $000, MobileErrorCode_CommuncationErrorText
+	dw $301, MobileErrorCode_CommuncationErrorText
+	dw $302, MobileErrorCode_CommuncationErrorText
+	dw $400, MobileErrorCode_CommuncationErrorText
+	dw $401, MobileErrorCode_CommuncationErrorText
+	dw $403, MobileErrorCode_32_403_Text
+	dw $404, MobileErrorCode_32_404_Text
+	dw $405, MobileErrorCode_CommuncationErrorText
+	dw $406, MobileErrorCode_CommuncationErrorText
+	dw $407, MobileErrorCode_CommuncationErrorText
+	dw $408, MobileErrorCode_32_408_Text
+	dw $500, MobileErrorCode_ServerErrorText
+	dw $501, MobileErrorCode_CommuncationErrorText
+	dw $502, MobileErrorCode_ServerErrorText
+	dw $503, MobileErrorCode_32_503_Text
+	dw $504, MobileErrorCode_ServerErrorText
+	dw -1, MobileErrorCode_ServerErrorText
 
-Unknown_17f844: db 19
-	dbbw $1, $1, String_17fc3e
-	dbbw $2, $1, String_17fc88
-	dbbw $3, $1, String_17fcff
-	dbbw $4, $1, String_17fd84
-	dbbw $5, $1, String_17fd84
-	dbbw $6, $1, String_17fd47
-	dbbw $1, $2, String_17fb6e
-	dbbw $2, $2, String_17f98e
-	dbbw $3, $2, String_17fd84
-	dbbw $4, $2, String_17f98e
-	dbbw $5, $2, String_17fa49
-	dbbw $6, $2, String_17fd84
-	dbbw $99, $2, String_17fc88
-	dbbw $1, $3, String_17fa49
-	dbbw $1, $4, String_17fa49
-	dbbw $2, $4, String_17fa49
-	dbbw $3, $4, String_17fa49
-	dbbw $4, $4, String_17fa49
-	dbbw $ff, $ff, String_17fa49
+MobileErrorCodes_33: db 19
+	dw $101, MobileErrorCode_33_101_Text
+	dw $102, MobileErrorCode_33_102_Text
+	dw $103, MobileErrorCode_33_103_Text
+	dw $104, MobileErrorCode_33_104_Text
+	dw $105, MobileErrorCode_33_105_Text
+	dw $106, MobileErrorCode_33_106_Text
+	dw $201, MobileErrorCode_33_201_Text
+	dw $202, MobileErrorCode_CommuncationErrorText
+	dw $203, MobileErrorCode_33_203_Text
+	dw $204, MobileErrorCode_CommuncationErrorText
+	dw $205, MobileErrorCode_ServerErrorText
+	dw $206, MobileErrorCode_33_206_Text
+	dw $299, MobileErrorCode_33_299_Text
+	dw $301, MobileErrorCode_ServerErrorText
+	dw $401, MobileErrorCode_ServerErrorText
+	dw $402, MobileErrorCode_ServerErrorText
+	dw $403, MobileErrorCode_ServerErrorText
+	dw $404, MobileErrorCode_ServerErrorText
+	dw -1, MobileErrorCode_ServerErrorText
 
-String_17f891:
+MobileErrorCode_10_000_Text:
+; The Mobile Adapter is not properly plugged in.
+; Ensure you have taken a good look at and properly followed the instructions.
 	db   "モバイルアダプタが ただしく"
 	next "さしこまれていません"
 	next "とりあつかいせつめいしょを"
@@ -4875,7 +4877,10 @@
 	next "さしこんで ください"
 	db   "@"
 
-String_17f8d1:
+MobileErrorCode_11_000_Text:
+MobileErrorCode_13_000_Text:
+; Could not connect because either the phone cannot make the call, or the telephone line is busy.
+; Please wait for a while and call again.
 	db   "でんわが うまく かけられないか"
 	next "でんわかいせんが こんでいるので"
 	next "つうしん できません"
@@ -4883,7 +4888,9 @@
 	next "かけなおして ください"
 	db   "@"
 
-String_17f913:
+MobileErrorCode_12_000_Text:
+; As the telephone line is busy, the phone was not able to gather enough information (?)
+; Please wait for a while and call again.
 	db   "でんわかいせんが こんでいるため"
 	next "でんわが かけられません"
 	next "しばらく まって"
@@ -4890,7 +4897,13 @@
 	next "かけなおして ください"
 	db   "@"
 
-String_17f946:
+MobileErrorCode_15_000_Text:
+MobileErrorCode_15_001_Text:
+MobileErrorCode_15_002_Text:
+MobileErrorCode_15_003_Text:
+; There is an error with the Mobile Adapter.
+; Please wait for a little while before calling again.
+; If the problem persists, please contact the Mobile Support Center.
 	db   "モバイルアダプタの エラーです"
 	next "しばらく まって"
 	next "かけなおして ください"
@@ -4899,7 +4912,10 @@
 	next "おといあわせください"
 	db   "@"
 
-String_17f98e:
+MobileErrorCode_CommuncationErrorText:
+; Communication error.
+; Please wait a moment, and then try again.
+; If the issue persists, please contact the Mobile Support Center.
 	db   "つうしんエラーです"
 	next "しばらく まって"
 	next "かけなおして ください"
@@ -4908,7 +4924,9 @@
 	next "おといあわせください"
 	db   "@"
 
-String_17f9d0:
+MobileErrorCode_22_000_Text:
+; There is a mistake either with the login password, or the login ID.
+; Please confirm the password, wait for a while, and try again.
 	db   "ログインパスワードか"
 	next "ログイン アイディーに"
 	next "まちがいがあります"
@@ -4917,7 +4935,9 @@
 	next "かけなおして ください"
 	db   "@"
 
-String_17fa14:
+MobileErrorCode_23_000_Text:
+; The call was ended.
+; Please see the instruction manual, wait a moment, and try again.
 	db   "でんわが きれました"
 	next "とりあつかいせつめいしょを"
 	next "ごらんのうえ"
@@ -4925,7 +4945,9 @@
 	next "かけなおして ください"
 	db   "@"
 
-String_17fa49:
+MobileErrorCode_ServerErrorText:
+; There was a communication error with the mobile center.
+; Please wait a moment and then try again.
 	db   "モバイルセンターの"
 	next "つうしんエラーです"
 	next "しばらくまって"
@@ -4932,7 +4954,10 @@
 	next "かけなおして ください"
 	db   "@"
 
-String_17fa71:
+MobileErrorCode_14_000_Text:
+MobileErrorCode_25_000_Text:
+; The Mobile Adapter's details have expired and the information is not correct.
+; Please use the Mobile Trainer to repeat the initial registration (process).
 	db   "モバイルアダプタに"
 	next "とうろくされた じょうほうが"
 	next "ただしく ありません"
@@ -4940,7 +4965,10 @@
 	next "しょきとうろくを してください"
 	db   "@"
 
-String_17fab0:
+MobileErrorCode_32_503_Text:
+; Could not connect because the Mobile Center is busy.
+; Please wait a moment and try again.
+; For details, please see the instruction manual.
 	db   "モバイルセンターが"
 	next "こんでいて つながりません"
 	next "しばらくまって"
@@ -4949,7 +4977,12 @@
 	next "せつめいしょを ごらんください"
 	db   "@"
 
-String_17faf9:
+MobileErrorCode_30_450_Text:
+MobileErrorCode_30_550_Text:
+MobileErrorCode_30_551_Text:
+MobileErrorCode_30_553_Text:
+; There is a mistake with the email address of the addressee.
+; Please replace with a / the correct email address.
 	db   "あてさき メールアドレスに"
 	next "まちがいがあります"
 	next "ただしい メールアドレスを"
@@ -4956,7 +4989,9 @@
 	next "いれなおしてください"
 	db   "@"
 
-String_17fb2a:
+MobileErrorCode_31_002_Text:
+; There is a mistake with the email address.
+; Please see the instruction manual, and use the Mobile Trainer to repeat the initial registration (process).
 	db   "メールアドレスに"
 	next "まちがいが あります"
 	next "とりあつかいせつめいしょを"
@@ -4965,7 +5000,10 @@
 	next "しょきとうろくを してください"
 	db   "@"
 
-String_17fb6e:
+MobileErrorCode_31_003_Text:
+MobileErrorCode_33_201_Text:
+; There is either an error with the login password, or an error with the Mobile Center.
+; Please confirm the password, wait a moment, and then try again.
 	db   "ログインパスワードに"
 	next "まちがいが あるか"
 	next "モバイルセンターの エラーです"
@@ -4974,7 +5012,11 @@
 	next "かけなおして ください"
 	db   "@"
 
-String_17fbb6:
+MobileErrorCode_32_403_Text:
+MobileErrorCode_32_404_Text:
+; Cannot read data.
+; Please wait a moment, and then try again.
+; If the issue persists, please contact the Mobile Support Center.
 	db   "データの よみこみが できません"
 	next "しばらくまって"
 	next "かけなおして ください"
@@ -4983,7 +5025,12 @@
 	next "おといあわせください"
 	db   "@"
 
-String_17fbfe:
+MobileErrorCode_26_000_Text:
+MobileErrorCode_32_408_Text:
+; Out of time.
+; The call was ended.
+; Please try again.
+; For details, please see the instruction manual.
 	db   "じかんぎれです"
 	next "でんわが きれました"
 	next "でんわを かけなおしてください"
@@ -4991,7 +5038,9 @@
 	next "せつめいしょを ごらんください"
 	db   "@"
 
-String_17fc3e:
+MobileErrorCode_33_101_Text:
+; The service cannot be used if payments for usage fees are late.
+; For details, please see the instruction manual.
 	db   "ごりよう りょうきんの "
 	next "おしはらいが おくれたばあいには"
 	next "ごりようが できなくなります"
@@ -4999,7 +5048,10 @@
 	next "せつめいしょを ごらんください"
 	db   "@"
 
-String_17fc88:
+MobileErrorCode_33_102_Text:
+MobileErrorCode_33_299_Text:
+; Your access to this service has been restricted. Service cannot be used.
+; For details, please see the instruction manual.
 	db   "おきゃくさまの ごつごうにより"
 	next "ごりようできません"
 	next "くわしくは とりあつかい"
@@ -5006,7 +5058,9 @@
 	next "せつめいしょを ごらんください"
 	db   "@"
 
-String_17fcbf:
+MobileErrorCode_ServerConnectionFailedText:
+; The telephone line is busy. Due to this error, the Mobile Center cannot communicate.
+; Please wait for a little while and call again.
 	db   "でんわかいせんが こんでいるか"
 	next "モバイルセンターの エラーで"
 	next "つうしんが できません"
@@ -5014,7 +5068,9 @@
 	next "かけなおして ください"
 	db   "@"
 
-String_17fcff:
+MobileErrorCode_33_103_Text:
+; Service cannot be used this month because usage fees have exceeded conditions.
+; For details, please see the instruction manual.
 	db   "ごりよう りょうきんが"
 	next "じょうげんを こえているため"
 	next "こんげつは ごりようできません"
@@ -5022,7 +5078,9 @@
 	next "せつめいしょを ごらんください"
 	db   "@"
 
-String_17fd47:
+MobileErrorCode_33_106_Text:
+; Cannot communicate because the Mobile Center is currently undergoing maintenance.
+; Please wait a moment, then try again.
 	db   "げんざい モバイルセンターの"
 	next "てんけんを しているので"
 	next "つうしんが できません"
@@ -5030,19 +5088,29 @@
 	next "かけなおして ください"
 	db   "@"
 
-String_17fd84:
+MobileErrorCode_33_104_Text:
+MobileErrorCode_33_105_Text:
+MobileErrorCode_33_203_Text:
+MobileErrorCode_33_206_Text:
+MobileErrorCode_101_004_Text:
+; Cannot read data.
+; For details, please see the instruction manual.
 	db   "データの よみこみが できません"
 	next "くわしくは とりあつかい"
 	next "せつめいしょを ごらんください"
 	db   "@"
 
-String_17fdb2:
+MobileErrorCode_101_006_Text:
+; Call ended because more than 3 minutes elapsed with no input.
 	db   "3ぷん いじょう なにも"
 	next "にゅうりょく しなかったので"
 	next "でんわが きれました"
 	db   "@"
 
-String_17fdd9:
+MobileErrorCode_101_001_Text:
+MobileErrorCode_101_002_Text:
+; Could not connect properly.
+; Please try again from the beginning (of the process).
 	db   "つうしんが うまく"
 	next "できませんでした"
 	next "もういちど はじめから"
@@ -5049,7 +5117,12 @@
 	next "やりなおしてください"
 	db   "@"
 
-String_17fe03:
+MobileErrorCode_101_003_Text:
+MobileErrorCode_101_008_Text:
+MobileErrorCode_101_009_Text:
+; Cannot read data.
+; Please wait a moment, then try again.
+; If the issue persists, please contact the Mobile Support Center.
 	db   "データの よみこみが できません"
 	next "しばらくまって"
 	next "かけなおして ください"
@@ -5058,12 +5131,15 @@
 	next "おといあわせください"
 	db   "@"
 
-String_17fe4b:
+MobileErrorCode_101_007_Text:
+; Call ended due to long waiting time.
 	db   "まちじかんが ながいので"
 	next "でんわが きれました"
 	db   "@"
 
-String_17fe63:
+MobileErrorCode_101_005_Text:
+; (Your adapter's) type differs from the other user’s Mobile Adapter.
+; For details, please see the instruction manual.
 	db   "あいての モバイルアダプタと"
 	next "タイプが ちがいます"
 	next "くわしくは とりあつかい"
@@ -5071,6 +5147,8 @@
 	db   "@"
 
 String_17fe9a: ; unused
+; Cannot send your save data because Pokémon News is being updated.
+; Please send your save data after loading new Pokémon News.
 	db   "ポケモンニュースが"
 	next "あたらしくなっているので"
 	next "レポートを おくれません"
@@ -5078,7 +5156,9 @@
 	next "よみこみを さきに してください"
 	db   "@"
 
-String_17fedf:
+MobileErrorCode_101_000_Text:
+; Either bad communication status, or the other user called was the incorrect user.
+; Please confirm and try again.
 	db   "つうしんの じょうきょうが"
 	next "よくないか かけるあいてが"
 	next "まちがっています"
@@ -5102,23 +5182,23 @@
 
 Function17ff3c:
 	nop
-	ld a, [wc300]
+	ld a, [wMobileErrorCodeBuffer]
 	cp $d0
 	ret c
 	hlcoord 10, 2
 	ld de, String_17ff68
 	call PlaceString
-	ld a, [wc300]
+	ld a, [wMobileErrorCodeBuffer]
 	push af
 	sub $d0
 	inc a
-	ld [wc300], a
+	ld [wMobileErrorCodeBuffer], a
 	hlcoord 14, 2
-	ld de, wc300
+	ld de, wMobileErrorCodeBuffer
 	lb bc, PRINTNUM_LEADINGZEROS | 1, 3
 	call PrintNum
 	pop af
-	ld [wc300], a
+	ld [wMobileErrorCodeBuffer], a
 	and a
 	ret
 
--- a/mobile/mobile_menu.asm
+++ b/mobile/mobile_menu.asm
@@ -413,7 +413,7 @@
 
 .DeleteLoginPassword:
 	call PlaceHollowCursor
-	ld hl, UnknownText_0x4a358
+	ld hl, DeleteSavedLoginPasswordText
 	call PrintText
 	hlcoord 14, 7
 	ld b, 3
@@ -435,7 +435,7 @@
 	ld bc, MOBILE_LOGIN_PASSWORD_LENGTH
 	call ByteFill
 	call CloseSRAM
-	ld hl, UnknownText_0x4a35d
+	ld hl, DeletedTheLoginPasswordText
 	call PrintText
 	call JoyWaitAorB
 .dont_delete_password
@@ -455,14 +455,12 @@
 	next "けす"
 	next "もどる@"
 
-UnknownText_0x4a358:
-	; Delete the saved LOG-IN PASSWORD?
-	text_far UnknownText_0x1c5196
+DeleteSavedLoginPasswordText:
+	text_far _DeleteSavedLoginPasswordText
 	text_end
 
-UnknownText_0x4a35d:
-	; Deleted the LOG-IN PASSWORD.
-	text_far UnknownText_0x1c51b9
+DeletedTheLoginPasswordText:
+	text_far _DeletedTheLoginPasswordText
 	text_end
 
 DeletePassword_YesNo_MenuHeader:
--- a/pokecrystal.link
+++ b/pokecrystal.link
@@ -166,15 +166,11 @@
 ROMX $3f
 	"bank3F"
 ROMX $40
-	"mobile_40"
-	"tetsuji"
-	"bank40_2"
-	"ascii 10186f"
-	"bank40_3"
+	"mobile40"
 ROMX $41
 	"bank41"
 ROMX $42
-	"Mobile 42"
+	"mobile42"
 	"Intro Logo"
 	"Credits"
 ROMX $43
@@ -182,11 +178,9 @@
 ROMX $44
 	"Mobile Adapter SDK"
 ROMX $45
-	"Mobile 45"
-	"Mobile Stadium"
+	"mobile45"
 ROMX $46
-	"Mobile 46"
-	"Mobile 46 ASCII"
+	"mobile46"
 ROMX $47
 	"Battle Tower"
 ROMX $48
@@ -236,7 +230,7 @@
 	"bank5B"
 	"Pics 20"
 ROMX $5c
-	"Mobile 5C"
+	"mobile5C"
 	"Pics 21"
 ROMX $5d
 	"Crystal Phone Text 2"
@@ -245,10 +239,10 @@
 	"UpdateBattleHUDs"
 	"Songs 5"
 	"Crystal Sound Effects"
-	"Mobile 5E"
+	"mobile5E"
 	"Pics 23"
 ROMX $5f
-	"Mobile 5F"
+	"mobile5F"
 	"Pics 24"
 ROMX $60
 	"Map Scripts 13"
@@ -331,6 +325,7 @@
 WRAMX 3
 	"Battle Tower RAM"
 WRAMX 5
+	align 8
 	"GBC Video"
 	org $d300
 	"Battle Animations"
@@ -365,5 +360,7 @@
 	"SRAM Mobile 1"
 SRAM $05
 	"SRAM Mobile 2"
+SRAM $06
+	"SRAM Mobile 3"
 HRAM
 	"HRAM"
--- a/sram.asm
+++ b/sram.asm
@@ -218,7 +218,7 @@
 sBTMonPrevPrevTrainer3:: db
 
 
-SECTION "Boxes 1-7",  SRAM, BANK [2]
+SECTION "Boxes 1-7", SRAM
 
 sBox1::  box sBox1
 sBox2::  box sBox2
@@ -239,12 +239,30 @@
 sBox13:: box sBox13
 sBox14:: box sBox14
 
+
 SECTION "SRAM Mobile 1", SRAM
 
-	ds $13
+	ds $7
 
+s4_a007:: ; struct size $30 ; a007
+
+	ds $c
+
 s4_a013:: ds 36 ; a013
 
+	ds $5d5
+
+s4_a60c:: db ; a60c
+
+	ds $1
+
+s4_a60e:: dw ; a60e
+
+	ds $1f0
+
+sMobileBattleTimer:: ds 3 ; a800
+
+
 SECTION "SRAM Mobile 2", SRAM
 
 	ds 1 ; former location for sMobileEventIndex, moved to 1:BE3C in English
@@ -328,8 +346,10 @@
 s5_aa47:: db ; aa47
 s5_aa48:: db ; aa48
 
-	ds $2
+	ds $1
 
+s5_aa4a:: db ; aa4a
+
 sMobileLoginPassword:: ds MOBILE_LOGIN_PASSWORD_LENGTH ; aa4b
 
 	ds $1
@@ -336,8 +356,12 @@
 
 s5_aa5d:: ds MOBILE_LOGIN_PASSWORD_LENGTH ; aa5d
 
-	ds $1d
+	ds $4
 
+s5_aa72:: db ; aa72
+s5_aa73:: ds 12 ; aa73
+s5_aa7f:: ds 12 ; aa7f
+
 s5_aa8b:: db ; aa8b
 s5_aa8c:: db ; aa8c
 s5_aa8d:: db ; aa8d
@@ -347,9 +371,28 @@
 
 s5_b023:: ds 105 ; b023
 s5_b08c:: ds 4 ; b08c
+s5_b090:: db ; b090
+s5_b091:: db ; b091
+s5_b092:: ds 31 ; b092
 
-	ds $269
+	ds $100
 
+s5_b1b1:: db ; b1b1
+s5_b1b2:: db ; b1b2
+s5_b1b3:: db ; b1b3
+s5_b1b4:: db ; b1b4
+
+	ds $1e
+
+s5_b1d3:: ; b1d3
+
+	ds $120
+
+s5_b2f3:: db ; b2f3
+s5_b2f4:: ds 4 ; b2f4
+
+	ds $1
+
 s5_b2f9:: db ; b2f9
 s5_b2fa:: db ; b2fa
 s5_b2fb:: db ; b2fb
@@ -358,3 +401,12 @@
 
 s5_be45:: db ; be45
 s5_be46:: db ; be46
+
+	ds $1b8
+
+s5_bfff:: db ; bfff
+
+
+SECTION "SRAM Mobile 3", SRAM
+
+s6_a000:: ; a000
--- a/wram.asm
+++ b/wram.asm
@@ -231,10 +231,13 @@
 wSpriteAnimationStructsEnd::
 
 NEXTU ; c300
+; dummy game
+wc300::
+
+NEXTU ; c300
 ; mobile data
-wc300:: ds 1
-wc301:: ds 1
-wc302:: ds 1
+wMobileWRAM::
+wMobileErrorCodeBuffer:: ds 3 ; c300
 wc303:: ds 2
 wc305:: ds 1
 wc306:: ds 1
@@ -251,7 +254,16 @@
 wc311:: ds 1
 wc312:: ds 1
 wc313:: ds 1
-wc314:: ds 152
+wc314:: ds 5
+wc319:: db
+wc31a:: db
+wc31b:: db
+wc31c:: db
+wc31d:: db
+wc31e:: db
+wc31f:: db
+wc320:: ds 38
+wc346:: ds 102
 wc3ac:: ds 8
 ENDU ; c3b4
 
@@ -296,8 +308,8 @@
 wc3fa:: ds 1
 wc3fb:: ds 1
 wc3fc:: ds 1
-
 	ds 3
+wMobileWRAMEnd::
 
 
 SECTION "Sprites", WRAM0
@@ -718,7 +730,10 @@
 wUnownPuzzleEnd::
 
 NEXTU ; c608
+wMobileTransferData:: ds $1e0
 
+NEXTU ; c608
+
 ; This union spans 200 bytes from c608 to c6d0.
 UNION ; c608
 ; timeset temp storage
@@ -746,7 +761,6 @@
 wOddEggOTName:: ds NAME_LENGTH
 
 NEXTU ; c608
-; mobile data
 wc608:: ds 53
 wc63d:: ds 5
 wc642:: ds 5
@@ -894,7 +908,8 @@
 wc70f:: db
 wc710:: db
 wc711:: db
-wc712:: ds 60
+wc712:: ds 7
+wc719:: ds 53
 wc74e:: ds 107
 wc7b9:: ds 1
 wc7ba:: ds 1
@@ -1038,12 +1053,15 @@
 wc80f:: ds 1
 wc810:: ds 1
 wc811:: ds 1
-wc812:: ds 1
-wc813:: ds 1
+wMobileSDK_PacketChecksum:: dw ; c812
 wc814:: ds 4
-wc818:: ds 8
+wMobileSDK_AdapterType:: db ; c818
+	ds 5
+wMobileSDK_SendCommandID:: db ; c81e
+	ds 1
 wc820:: ds 1
-wc821:: ds 47
+wc821:: ds 1
+wc822:: ds 46
 
 UNION ; c850
 wMysteryGiftTrainerData:: ds (1 + 1 + NUM_MOVES) * PARTY_LENGTH + 2
@@ -1110,12 +1128,20 @@
 ; link data
 	ds 191
 wcabf:: ds 1
+
+NEXTU ; ca00
+	ds $2f
+wMobileSDK_ReceivePacketBufferAlt:: ds 11 ; ca2f
+wMobileSDK_ReceivedBytes:: dw ; ca3a
+wMobileSDK_ReceivePacketBuffer:: ; ca3c
+
 ENDU ; cb00
 
 	ds 14
 wcb0e:: ds 5
 wcb13:: ds 50
-wcb45:: ds 20
+wcb45:: ds 2
+wMobileSDK_PacketBuffer:: ds 18 ; cb47
 wcb59:: ds 20
 wcb6d:: ds 1
 wcb6e:: ds 22
@@ -1199,7 +1225,7 @@
 wcd39:: ds 1
 wcd3a:: ds 1
 wcd3b:: ds 1
-wcd3c:: ds 1
+wBattleTowerRoomMenu2JumptableIndex:: ds 1
 wcd3d:: ds 1
 wcd3e:: ds 1
 wcd3f:: ds 1
@@ -1261,7 +1287,8 @@
 wcd6c:: ds 1
 wcd6d:: ds 1
 wcd6e:: ds 1
-wcd6f:: ds 2
+wcd6f:: ds 1
+wcd70:: ds 1
 wcd71:: ds 1
 wcd72:: ds 1
 wcd73:: ds 1
@@ -1412,6 +1439,11 @@
 wUnownPuzzleHeldPiece:: db
 
 NEXTU ; cf64
+; battle tower
+	ds $2
+wBattleTowerRoomMenuJumptableIndex:: db
+
+NEXTU ; cf64
 ; miscellaneous
 wFrameCounter::
 wNrOfBeatenBattleTowerTrainers::
@@ -3006,24 +3038,33 @@
 
 NEXTU ; d742
 	ds $be
-wBTChoiceOfLvlGroup:: db
-	ds $68
-w3_d869:: ds $17
-w3_d880:: ds 1
-w3_d881:: ds 9
-w3_d88a:: ds 5
-w3_d88f:: ds 5
-w3_d894:: ds 1
-w3_d895:: ds 11
-w3_d8a0:: ds 1
-w3_d8a1:: ds 1
-w3_d8a2:: ds 1
-w3_d8a3:: ds 1
+wBTChoiceOfLvlGroup:: db ; d800
+	ds $1
+w3_d802:: ds 12 ; d802
+w3_d80e:: db ; d80e
+	ds $1
+w3_d810:: ; d810
+	ds $59
+w3_d869:: ds $17 ; d869
+w3_d880:: ds 1 ; d880
+w3_d881:: ds 8 ; d881
+w3_d889:: ds 1 ; d889
+w3_d88a:: ds 4 ; d88a
+w3_d88e:: ds 1 ; d88e
+w3_d88f:: ds 4 ; d88f
+w3_d893:: ds 1 ; d893
+w3_d894:: ds 1 ; d894
+w3_d895:: ds 11 ; d895
+w3_d8a0:: ds 1 ; d8a0
+w3_d8a1:: ds 1 ; d8a1
+w3_d8a2:: ds 1 ; d8a2
+w3_d8a3:: ds 1 ; d8a3
 ENDU ; d8a4
 
 	ds $1c0
 
 w3_dc00:: ds SCREEN_WIDTH * SCREEN_HEIGHT
+UNION ; dd68
 w3_dd68:: ds SCREEN_WIDTH * SCREEN_HEIGHT
 
 	ds $11c
@@ -3030,9 +3071,14 @@
 
 w3_dfec:: ds $10
 w3_dffc:: ds 4
+NEXTU ; dd68
+	ds $98
+w3_de00:: ds $200
+ENDU ; e000
 
 
-SECTION "GBC Video", WRAMX
+SECTION "GBC Video", WRAMX, ALIGN[8]
+; LCD expects wLYOverrides to have an alignment of $100
 
 ; eight 4-color palettes each
 wGBCPalettes:: ; used only for BANK(wGBCPalettes)
@@ -3152,6 +3198,10 @@
 NEXTU ; d000
 wDecompressScratch:: ds $80 tiles
 wDecompressEnemyFrontpic:: ds $80 tiles
+
+NEXTU ; d000
+; unidentified uses
+w6_d000:: ds $1000
 ENDU ; e000