shithub: pokered

Download patch

ref: ea9cc86949cecc3508aeac06b807372b6b0134d8
parent: 340230e997b32fd44f1d99aecbab083ffb89a921
author: dannye <corrnondacqb@yahoo.com>
date: Sat Jul 18 23:46:12 EDT 2015

Name sound effects

--- a/audio.asm
+++ b/audio.asm
@@ -538,7 +538,7 @@
 
 
 Music_PokeFluteInBattle:: ; 22306 (8:6306)
-	ld a, (SFX_08_46 - SFX_Headers_08) / 3 ; PokeFlute outside of battle
+	ld a, SFX_BATTLE_06 ; PokeFlute outside of battle
 	call PlaySoundWaitForCurrent
 	ld hl, wc00e
 	ld de, SFX_08_PokeFlute_Ch1
@@ -583,13 +583,13 @@
 	jp PlayDefaultMusic
 
 PokedexRatingSfxPointers: ; 7d162 (1f:5162)
-	db (SFX_1f_51 - SFX_Headers_1f) / 3, BANK(SFX_1f_51)
-	db (SFX_02_41 - SFX_Headers_02) / 3, BANK(SFX_02_41)
-	db (SFX_02_3a - SFX_Headers_02) / 3, BANK(SFX_02_3a)
-	db (SFX_08_46 - SFX_Headers_08) / 3, BANK(SFX_08_46)
-	db (SFX_08_3a - SFX_Headers_08) / 3, BANK(SFX_08_3a)
-	db (SFX_02_42 - SFX_Headers_02) / 3, BANK(SFX_02_42)
-	db (SFX_02_3b - SFX_Headers_02) / 3, BANK(SFX_02_3b)
+	db SFX_DENIED,         BANK(SFX_1f_51)
+	db SFX_POKEDEX_RATING, BANK(SFX_02_41)
+	db SFX_GET_ITEM_1,     BANK(SFX_02_3a)
+	db SFX_BATTLE_06,      BANK(SFX_08_46)
+	db SFX_LEVEL_UP,       BANK(SFX_08_3a)
+	db SFX_GET_KEY_ITEM,   BANK(SFX_02_42)
+	db SFX_GET_ITEM_2,     BANK(SFX_02_3b)
 
 OwnedMonValues: ; 7d170 (1f:5170)
 	db 10, 40, 60, 90, 120, 150, $ff
--- a/constants/music_constants.asm
+++ b/constants/music_constants.asm
@@ -4,6 +4,7 @@
 \1 EQUS "((\2 - SFX_Headers_02) / 3)"
 ENDM
 
+	; AUDIO_1
 	music_const MUSIC_PALLET_TOWN,         Music_PalletTown
 	music_const MUSIC_POKECENTER,          Music_Pokecenter
 	music_const MUSIC_GYM,                 Music_Gym
@@ -25,6 +26,7 @@
 	music_const MUSIC_ROUTES4,             Music_Routes4
 	music_const MUSIC_INDIGO_PLATEAU,      Music_IndigoPlateau
 
+	; AUDIO_2
 	music_const MUSIC_GYM_LEADER_BATTLE,   Music_GymLeaderBattle
 	music_const MUSIC_TRAINER_BATTLE,      Music_TrainerBattle
 	music_const MUSIC_WILD_BATTLE,         Music_WildBattle
@@ -33,6 +35,7 @@
 	music_const MUSIC_DEFEATED_WILD_MON,   Music_DefeatedWildMon
 	music_const MUSIC_DEFEATED_GYM_LEADER, Music_DefeatedGymLeader
 
+	; AUDIO_3
 	music_const MUSIC_TITLE_SCREEN,        Music_TitleScreen
 	music_const MUSIC_CREDITS,             Music_Credits
 	music_const MUSIC_HALL_OF_FAME,        Music_HallOfFame
@@ -52,3 +55,176 @@
 	music_const MUSIC_MEET_FEMALE_TRAINER, Music_MeetFemaleTrainer
 	music_const MUSIC_MEET_MALE_TRAINER,   Music_MeetMaleTrainer
 
+	; AUDIO_1 AUDIO_2 AUDIO_3
+	music_const SFX_SNARE_1,          SFX_02_01
+	music_const SFX_SNARE_2,          SFX_02_02
+	music_const SFX_SNARE_3,          SFX_02_03
+	music_const SFX_SNARE_4,          SFX_02_04
+	music_const SFX_SNARE_5,          SFX_02_05
+	music_const SFX_TRIANGLE_1,       SFX_02_06
+	music_const SFX_TRIANGLE_2,       SFX_02_07
+	music_const SFX_SNARE_6,          SFX_02_08
+	music_const SFX_SNARE_7,          SFX_02_09
+	music_const SFX_SNARE_8,          SFX_02_0a
+	music_const SFX_SNARE_9,          SFX_02_0b
+	music_const SFX_CYMBAL_1,         SFX_02_0c
+	music_const SFX_CYMBAL_2,         SFX_02_0d
+	music_const SFX_CYMBAL_3,         SFX_02_0e
+	music_const SFX_MUTED_SNARE_1,    SFX_02_0f
+	music_const SFX_TRIANGLE_3,       SFX_02_10
+	music_const SFX_MUTED_SNARE_2,    SFX_02_11
+	music_const SFX_MUTED_SNARE_3,    SFX_02_12
+	music_const SFX_MUTED_SNARE_4,    SFX_02_13
+	music_const SFX_CRY_00,           SFX_02_14
+	music_const SFX_CRY_01,           SFX_02_15
+	music_const SFX_CRY_02,           SFX_02_16
+	music_const SFX_CRY_03,           SFX_02_17
+	music_const SFX_CRY_04,           SFX_02_18
+	music_const SFX_CRY_05,           SFX_02_19
+	music_const SFX_CRY_06,           SFX_02_1a
+	music_const SFX_CRY_07,           SFX_02_1b
+	music_const SFX_CRY_08,           SFX_02_1c
+	music_const SFX_CRY_09,           SFX_02_1d
+	music_const SFX_CRY_0A,           SFX_02_1e
+	music_const SFX_CRY_0B,           SFX_02_1f
+	music_const SFX_CRY_0C,           SFX_02_20
+	music_const SFX_CRY_0D,           SFX_02_21
+	music_const SFX_CRY_0E,           SFX_02_22
+	music_const SFX_CRY_0F,           SFX_02_23
+	music_const SFX_CRY_10,           SFX_02_24
+	music_const SFX_CRY_11,           SFX_02_25
+	music_const SFX_CRY_12,           SFX_02_26
+	music_const SFX_CRY_13,           SFX_02_27
+	music_const SFX_CRY_14,           SFX_02_28
+	music_const SFX_CRY_15,           SFX_02_29
+	music_const SFX_CRY_16,           SFX_02_2a
+	music_const SFX_CRY_17,           SFX_02_2b
+	music_const SFX_CRY_18,           SFX_02_2c
+	music_const SFX_CRY_19,           SFX_02_2d
+	music_const SFX_CRY_1A,           SFX_02_2e
+	music_const SFX_CRY_1B,           SFX_02_2f
+	music_const SFX_CRY_1C,           SFX_02_30
+	music_const SFX_CRY_1D,           SFX_02_31
+	music_const SFX_CRY_1E,           SFX_02_32
+	music_const SFX_CRY_1F,           SFX_02_33
+	music_const SFX_CRY_20,           SFX_02_34
+	music_const SFX_CRY_21,           SFX_02_35
+	music_const SFX_CRY_22,           SFX_02_36
+	music_const SFX_CRY_23,           SFX_02_37
+	music_const SFX_CRY_24,           SFX_02_38
+	music_const SFX_CRY_25,           SFX_02_39
+
+	music_const SFX_GET_ITEM_2,       SFX_02_3b
+	music_const SFX_TINK,             SFX_02_3c
+	music_const SFX_HEAL_HP,          SFX_02_3d
+	music_const SFX_HEAL_AILMENT,     SFX_02_3e
+	music_const SFX_START_MENU,       SFX_02_3f
+	music_const SFX_PRESS_AB,         SFX_02_40
+
+	; AUDIO_1 AUDIO_3
+	music_const SFX_GET_ITEM_1,       SFX_02_3a
+
+	music_const SFX_POKEDEX_RATING,   SFX_02_41
+	music_const SFX_GET_KEY_ITEM,     SFX_02_42
+	music_const SFX_POISONED,         SFX_02_43
+	music_const SFX_TRADE_MACHINE,    SFX_02_44
+	music_const SFX_TURN_ON_PC,       SFX_02_45
+	music_const SFX_TURN_OFF_PC,      SFX_02_46
+	music_const SFX_ENTER_PC,         SFX_02_47
+	music_const SFX_SHRINK,           SFX_02_48
+	music_const SFX_SWITCH,           SFX_02_49
+	music_const SFX_HEALING_MACHINE,  SFX_02_4a
+	music_const SFX_TELEPORT_1,       SFX_02_4b
+	music_const SFX_TELEPORT_2,       SFX_02_4c
+	music_const SFX_TELEPORT_3,       SFX_02_4d
+	music_const SFX_LEDGE,            SFX_02_4e
+	music_const SFX_FLY_1,            SFX_02_4f
+	music_const SFX_FLY_2,            SFX_02_50
+	music_const SFX_DENIED,           SFX_02_51
+	music_const SFX_ARROW_TILES,      SFX_02_52
+	music_const SFX_PUSH_BOULDER,     SFX_02_53
+	music_const SFX_SS_ANNE_HORN,     SFX_02_54
+	music_const SFX_WITHDRAW_DEPOSIT, SFX_02_55
+	music_const SFX_CUT,              SFX_02_56
+	music_const SFX_GO_INSIDE,        SFX_02_57
+	music_const SFX_SWAP,             SFX_02_58
+	music_const SFX_59,               SFX_02_59 ; unused, sounds similar to SFX_SLOTS_STOP_WHEEL
+	music_const SFX_PURCHASE,         SFX_02_5a
+	music_const SFX_COLLISION,        SFX_02_5b
+	music_const SFX_GO_OUTSIDE,       SFX_02_5c
+	music_const SFX_SAVE,             SFX_02_5d
+
+	; AUDIO_1
+	music_const SFX_POKEFLUE,         SFX_02_5e
+	music_const SFX_SAFARI_ZONE_PA,   SFX_02_5f
+
+	; AUDIO_2
+	music_const SFX_LEVEL_UP,         SFX_08_3a
+	
+	music_const SFX_BATTLE_01,        SFX_08_41
+	music_const SFX_BATTLE_02,        SFX_08_42
+	music_const SFX_BATTLE_03,        SFX_08_43
+	music_const SFX_BATTLE_04,        SFX_08_44
+	music_const SFX_BATTLE_05,        SFX_08_45
+	music_const SFX_BATTLE_06,        SFX_08_46
+	music_const SFX_BATTLE_07,        SFX_08_47
+	music_const SFX_BATTLE_08,        SFX_08_48
+	music_const SFX_BATTLE_09,        SFX_08_49
+	music_const SFX_BATTLE_0A,        SFX_08_4a
+	music_const SFX_BATTLE_0B,        SFX_08_4b
+	music_const SFX_BATTLE_0C,        SFX_08_4c
+	music_const SFX_BATTLE_0D,        SFX_08_4d
+	music_const SFX_BATTLE_0E,        SFX_08_4e
+	music_const SFX_BATTLE_0F,        SFX_08_4f
+	music_const SFX_BATTLE_10,        SFX_08_50
+	music_const SFX_BATTLE_11,        SFX_08_51
+	music_const SFX_BATTLE_12,        SFX_08_52
+	music_const SFX_BATTLE_13,        SFX_08_53
+	music_const SFX_BATTLE_14,        SFX_08_54
+	music_const SFX_BATTLE_15,        SFX_08_55
+	music_const SFX_BATTLE_16,        SFX_08_56 ; unused?
+	music_const SFX_BATTLE_17,        SFX_08_57
+	music_const SFX_BATTLE_18,        SFX_08_58
+	music_const SFX_BATTLE_19,        SFX_08_59
+	music_const SFX_BATTLE_1A,        SFX_08_5a
+	music_const SFX_BATTLE_1B,        SFX_08_5b
+	music_const SFX_BATTLE_1C,        SFX_08_5c
+	music_const SFX_BATTLE_1D,        SFX_08_5d
+	music_const SFX_BATTLE_1E,        SFX_08_5e
+	music_const SFX_BATTLE_1F,        SFX_08_5f
+	music_const SFX_BATTLE_20,        SFX_08_60
+	music_const SFX_BATTLE_21,        SFX_08_61
+	music_const SFX_BATTLE_22,        SFX_08_62
+	music_const SFX_BATTLE_23,        SFX_08_63
+	music_const SFX_BATTLE_24,        SFX_08_64
+	music_const SFX_BATTLE_25,        SFX_08_65
+	music_const SFX_BATTLE_26,        SFX_08_66
+	music_const SFX_BATTLE_27,        SFX_08_67
+	music_const SFX_BATTLE_28,        SFX_08_68
+	music_const SFX_BATTLE_29,        SFX_08_69
+	music_const SFX_BATTLE_2A,        SFX_08_6a
+	music_const SFX_BATTLE_2B,        SFX_08_6b
+	music_const SFX_BATTLE_2C,        SFX_08_6c
+	music_const SFX_BATTLE_2D,        SFX_08_6d
+	music_const SFX_BATTLE_2E,        SFX_08_6e
+	music_const SFX_BATTLE_2F,        SFX_08_6f
+	music_const SFX_BATTLE_30,        SFX_08_70
+	music_const SFX_BATTLE_31,        SFX_08_71
+	music_const SFX_BATTLE_32,        SFX_08_72
+	music_const SFX_BATTLE_33,        SFX_08_73
+	music_const SFX_BATTLE_34,        SFX_08_74
+	music_const SFX_BATTLE_35,        SFX_08_75
+	music_const SFX_BATTLE_36,        SFX_08_76
+	music_const SFX_BATTLE_37,        SFX_08_77
+
+	; AUDIO_3
+	music_const SFX_INTRO_LUNGE,      SFX_1f_5e
+	music_const SFX_INTRO_HIP,        SFX_1f_5f
+	music_const SFX_INTRO_HOP,        SFX_1f_60
+	music_const SFX_INTRO_RAISE,      SFX_1f_61
+	music_const SFX_INTRO_CRASH,      SFX_1f_62
+	music_const SFX_INTRO_WHOOSH,     SFX_1f_63
+	music_const SFX_SLOTS_STOP_WHEEL, SFX_1f_64
+	music_const SFX_SLOTS_REWARD,     SFX_1f_65
+	music_const SFX_SLOTS_NEW_SPIN,   SFX_1f_66
+	music_const SFX_SHOOTING_STAR,    SFX_1f_67
--- a/engine/battle/animations.asm
+++ b/engine/battle/animations.asm
@@ -741,7 +741,7 @@
 	cp a,11 ; is it the beginning of the subanimation?
 	jr nz,.skipPlayingSound
 ; if it is the beginning of the subanimation, play a sound
-	ld a,(SFX_08_41 - SFX_Headers_08) / 3
+	ld a,SFX_BATTLE_01
 	call PlaySound
 .skipPlayingSound
 	ld a,[W_ISINBATTLE]
@@ -787,7 +787,7 @@
 	cp a,4 ; is it the beginning of a shake?
 	jr nz,.skipPlayingSound
 ; if it is the beginning of a shake, play a sound and wait 2/3 of a second
-	ld a,(SFX_08_3c - SFX_Headers_08) / 3
+	ld a,SFX_TINK
 	call PlaySound
 	ld c,40
 	call DelayFrames
@@ -820,7 +820,7 @@
 	ld a,[W_SUBANIMCOUNTER]
 	cp a,5
 	ret nz
-	ld a,(SFX_08_42 - SFX_Headers_08) / 3
+	ld a,SFX_BATTLE_02
 	jp PlaySound
 
 DoRockSlideSpecialEffects: ; 78fd9 (1e:4fd9)
@@ -921,7 +921,7 @@
 	jr .loop
 .done
 	call AnimationCleanOAM
-	ld a,(SFX_02_44 - SFX_Headers_02) / 3
+	ld a,SFX_TRADE_MACHINE
 	jp PlaySound
 
 BallMoveDistances1: ; 79078 (1e:5078)
@@ -952,7 +952,7 @@
 	cp a,$ff
 	jr nz,.skipPlayingSound
 .playSound ; play sound if next move distance is 12 or this is the last one
-	ld a,(SFX_08_58 - SFX_Headers_08) / 3
+	ld a,SFX_BATTLE_18
 	call PlaySound
 .skipPlayingSound
 	push bc
@@ -2329,172 +2329,172 @@
 	ret
 
 MoveSoundTable: ; 798bc (1e:58bc)
-	db (SFX_08_4a - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_4c - SFX_Headers_08) / 3,$10,$80
-	db (SFX_08_5d - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_4b - SFX_Headers_08) / 3,$01,$80
-	db (SFX_08_4d - SFX_Headers_08) / 3,$00,$40
-	db (SFX_08_77 - SFX_Headers_08) / 3,$00,$ff
-	db (SFX_08_4d - SFX_Headers_08) / 3,$10,$60
-	db (SFX_08_4d - SFX_Headers_08) / 3,$20,$80
-	db (SFX_08_4d - SFX_Headers_08) / 3,$00,$a0
-	db (SFX_08_50 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_4f - SFX_Headers_08) / 3,$20,$40
-	db (SFX_08_4f - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_4e - SFX_Headers_08) / 3,$00,$a0
-	db (SFX_08_51 - SFX_Headers_08) / 3,$10,$c0
-	db (SFX_08_51 - SFX_Headers_08) / 3,$00,$a0
-	db (SFX_08_52 - SFX_Headers_08) / 3,$00,$c0
-	db (SFX_08_52 - SFX_Headers_08) / 3,$10,$a0
-	db (SFX_08_53 - SFX_Headers_08) / 3,$00,$e0
-	db (SFX_08_51 - SFX_Headers_08) / 3,$20,$c0
-	db (SFX_08_54 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_62 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_55 - SFX_Headers_08) / 3,$01,$80
-	db (SFX_08_60 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_57 - SFX_Headers_08) / 3,$f0,$40
-	db (SFX_08_5a - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_57 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_61 - SFX_Headers_08) / 3,$10,$80
-	db (SFX_08_5b - SFX_Headers_08) / 3,$01,$a0
-	db (SFX_08_58 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_5e - SFX_Headers_08) / 3,$00,$60
-	db (SFX_08_5e - SFX_Headers_08) / 3,$01,$40
-	db (SFX_08_5f - SFX_Headers_08) / 3,$00,$a0
-	db (SFX_08_5a - SFX_Headers_08) / 3,$10,$a0
-	db (SFX_08_60 - SFX_Headers_08) / 3,$00,$c0
-	db (SFX_08_54 - SFX_Headers_08) / 3,$10,$60
-	db (SFX_08_5a - SFX_Headers_08) / 3,$00,$a0
-	db (SFX_08_62 - SFX_Headers_08) / 3,$11,$c0
-	db (SFX_08_5a - SFX_Headers_08) / 3,$20,$c0
-	db (SFX_08_61 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_5b - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_5b - SFX_Headers_08) / 3,$20,$c0
-	db (SFX_08_59 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_71 - SFX_Headers_08) / 3,$ff,$40
-	db (SFX_08_5e - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_4b - SFX_Headers_08) / 3,$00,$c0
-	db (SFX_08_4b - SFX_Headers_08) / 3,$00,$40
-	db (SFX_08_75 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_67 - SFX_Headers_08) / 3,$40,$60
-	db (SFX_08_67 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_67 - SFX_Headers_08) / 3,$ff,$40
-	db (SFX_08_6a - SFX_Headers_08) / 3,$80,$c0
-	db (SFX_08_59 - SFX_Headers_08) / 3,$10,$a0
-	db (SFX_08_59 - SFX_Headers_08) / 3,$21,$e0
-	db (SFX_08_69 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_64 - SFX_Headers_08) / 3,$20,$60
-	db (SFX_08_6a - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_6c - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_68 - SFX_Headers_08) / 3,$40,$80
-	db (SFX_08_69 - SFX_Headers_08) / 3,$f0,$e0
-	db (SFX_08_6d - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_6a - SFX_Headers_08) / 3,$f0,$60
-	db (SFX_08_68 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_76 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_47 - SFX_Headers_08) / 3,$01,$a0
-	db (SFX_08_53 - SFX_Headers_08) / 3,$f0,$20
-	db (SFX_08_63 - SFX_Headers_08) / 3,$01,$c0
-	db (SFX_08_63 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_5a - SFX_Headers_08) / 3,$00,$e0
-	db (SFX_08_66 - SFX_Headers_08) / 3,$01,$60
-	db (SFX_08_66 - SFX_Headers_08) / 3,$20,$40
-	db (SFX_08_64 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_64 - SFX_Headers_08) / 3,$40,$c0
-	db (SFX_08_5b - SFX_Headers_08) / 3,$03,$60
-	db (SFX_08_65 - SFX_Headers_08) / 3,$11,$e0
-	db (SFX_08_52 - SFX_Headers_08) / 3,$20,$e0
-	db (SFX_08_6e - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_5c - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_5c - SFX_Headers_08) / 3,$11,$a0
-	db (SFX_08_5c - SFX_Headers_08) / 3,$01,$c0
-	db (SFX_08_53 - SFX_Headers_08) / 3,$14,$c0
-	db (SFX_08_5b - SFX_Headers_08) / 3,$02,$a0
-	db (SFX_08_69 - SFX_Headers_08) / 3,$f0,$80
-	db (SFX_08_69 - SFX_Headers_08) / 3,$20,$c0
-	db (SFX_08_6f - SFX_Headers_08) / 3,$00,$20
-	db (SFX_08_6f - SFX_Headers_08) / 3,$20,$80
-	db (SFX_08_6e - SFX_Headers_08) / 3,$12,$60
-	db (SFX_08_66 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_54 - SFX_Headers_08) / 3,$01,$e0
-	db (SFX_08_69 - SFX_Headers_08) / 3,$0f,$e0
-	db (SFX_08_69 - SFX_Headers_08) / 3,$11,$20
-	db (SFX_08_50 - SFX_Headers_08) / 3,$10,$40
-	db (SFX_08_4f - SFX_Headers_08) / 3,$10,$c0
-	db (SFX_08_54 - SFX_Headers_08) / 3,$00,$20
-	db (SFX_08_70 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_75 - SFX_Headers_08) / 3,$11,$18
-	db (SFX_08_49 - SFX_Headers_08) / 3,$20,$c0
-	db (SFX_08_48 - SFX_Headers_08) / 3,$20,$c0
-	db (SFX_08_65 - SFX_Headers_08) / 3,$00,$10
-	db (SFX_08_66 - SFX_Headers_08) / 3,$f0,$20
-	db (SFX_08_73 - SFX_Headers_08) / 3,$f0,$c0
-	db (SFX_08_51 - SFX_Headers_08) / 3,$f0,$e0
-	db (SFX_08_49 - SFX_Headers_08) / 3,$f0,$40
-	db (SFX_08_71 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_73 - SFX_Headers_08) / 3,$80,$40
-	db (SFX_08_73 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_54 - SFX_Headers_08) / 3,$11,$20
-	db (SFX_08_54 - SFX_Headers_08) / 3,$22,$10
-	db (SFX_08_5b - SFX_Headers_08) / 3,$f1,$ff
-	db (SFX_08_53 - SFX_Headers_08) / 3,$f1,$ff
-	db (SFX_08_54 - SFX_Headers_08) / 3,$33,$30
-	db (SFX_08_72 - SFX_Headers_08) / 3,$40,$c0
-	db (SFX_08_4e - SFX_Headers_08) / 3,$20,$20
-	db (SFX_08_4e - SFX_Headers_08) / 3,$f0,$10
-	db (SFX_08_4f - SFX_Headers_08) / 3,$f8,$10
-	db (SFX_08_51 - SFX_Headers_08) / 3,$f0,$10
-	db (SFX_08_65 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_58 - SFX_Headers_08) / 3,$00,$c0
-	db (SFX_08_72 - SFX_Headers_08) / 3,$c0,$ff
-	db (SFX_08_49 - SFX_Headers_08) / 3,$f2,$20
-	db (SFX_08_74 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_74 - SFX_Headers_08) / 3,$00,$40
-	db (SFX_08_49 - SFX_Headers_08) / 3,$00,$40
-	db (SFX_08_51 - SFX_Headers_08) / 3,$10,$ff
-	db (SFX_08_6a - SFX_Headers_08) / 3,$20,$20
-	db (SFX_08_72 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_69 - SFX_Headers_08) / 3,$1f,$20
-	db (SFX_08_65 - SFX_Headers_08) / 3,$2f,$80
-	db (SFX_08_4f - SFX_Headers_08) / 3,$1f,$ff
-	db (SFX_08_6b - SFX_Headers_08) / 3,$1f,$60
-	db (SFX_08_66 - SFX_Headers_08) / 3,$1e,$20
-	db (SFX_08_66 - SFX_Headers_08) / 3,$1f,$18
-	db (SFX_08_54 - SFX_Headers_08) / 3,$0f,$80
-	db (SFX_08_49 - SFX_Headers_08) / 3,$f8,$10
-	db (SFX_08_48 - SFX_Headers_08) / 3,$18,$20
-	db (SFX_08_72 - SFX_Headers_08) / 3,$08,$40
-	db (SFX_08_57 - SFX_Headers_08) / 3,$01,$e0
-	db (SFX_08_51 - SFX_Headers_08) / 3,$09,$ff
-	db (SFX_08_75 - SFX_Headers_08) / 3,$42,$01
-	db (SFX_08_5c - SFX_Headers_08) / 3,$00,$ff
-	db (SFX_08_72 - SFX_Headers_08) / 3,$08,$e0
-	db (SFX_08_64 - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_49 - SFX_Headers_08) / 3,$88,$10
-	db (SFX_08_65 - SFX_Headers_08) / 3,$48,$ff
-	db (SFX_08_48 - SFX_Headers_08) / 3,$ff,$ff
-	db (SFX_08_64 - SFX_Headers_08) / 3,$ff,$10
-	db (SFX_08_48 - SFX_Headers_08) / 3,$ff,$04
-	db (SFX_08_5c - SFX_Headers_08) / 3,$01,$ff
-	db (SFX_08_53 - SFX_Headers_08) / 3,$f8,$ff
-	db (SFX_08_4c - SFX_Headers_08) / 3,$f0,$f0
-	db (SFX_08_4f - SFX_Headers_08) / 3,$08,$10
-	db (SFX_08_4d - SFX_Headers_08) / 3,$f0,$ff
-	db (SFX_08_5a - SFX_Headers_08) / 3,$f0,$ff
-	db (SFX_08_74 - SFX_Headers_08) / 3,$10,$ff
-	db (SFX_08_4e - SFX_Headers_08) / 3,$f0,$20
-	db (SFX_08_6b - SFX_Headers_08) / 3,$f0,$60
-	db (SFX_08_61 - SFX_Headers_08) / 3,$12,$10
-	db (SFX_08_76 - SFX_Headers_08) / 3,$f0,$20
-	db (SFX_08_5e - SFX_Headers_08) / 3,$12,$ff
-	db (SFX_08_71 - SFX_Headers_08) / 3,$80,$04
-	db (SFX_08_73 - SFX_Headers_08) / 3,$f0,$10
-	db (SFX_08_69 - SFX_Headers_08) / 3,$f8,$ff
-	db (SFX_08_66 - SFX_Headers_08) / 3,$f0,$ff
-	db (SFX_08_51 - SFX_Headers_08) / 3,$01,$ff
-	db (SFX_08_6c - SFX_Headers_08) / 3,$d8,$04
-	db (SFX_08_4b - SFX_Headers_08) / 3,$00,$80
-	db (SFX_08_4b - SFX_Headers_08) / 3,$00,$80
+	db SFX_BATTLE_0A,$00,$80
+	db SFX_BATTLE_0C,$10,$80
+	db SFX_BATTLE_1D,$00,$80
+	db SFX_BATTLE_0B,$01,$80
+	db SFX_BATTLE_0D,$00,$40
+	db SFX_BATTLE_37,$00,$ff
+	db SFX_BATTLE_0D,$10,$60
+	db SFX_BATTLE_0D,$20,$80
+	db SFX_BATTLE_0D,$00,$a0
+	db SFX_BATTLE_10,$00,$80
+	db SFX_BATTLE_0F,$20,$40
+	db SFX_BATTLE_0F,$00,$80
+	db SFX_BATTLE_0E,$00,$a0
+	db SFX_BATTLE_11,$10,$c0
+	db SFX_BATTLE_11,$00,$a0
+	db SFX_BATTLE_12,$00,$c0
+	db SFX_BATTLE_12,$10,$a0
+	db SFX_BATTLE_13,$00,$e0
+	db SFX_BATTLE_11,$20,$c0
+	db SFX_BATTLE_14,$00,$80
+	db SFX_BATTLE_22,$00,$80
+	db SFX_BATTLE_15,$01,$80
+	db SFX_BATTLE_20,$00,$80
+	db SFX_BATTLE_17,$f0,$40
+	db SFX_BATTLE_1A,$00,$80
+	db SFX_BATTLE_17,$00,$80
+	db SFX_BATTLE_21,$10,$80
+	db SFX_BATTLE_1B,$01,$a0
+	db SFX_BATTLE_18,$00,$80
+	db SFX_BATTLE_1E,$00,$60
+	db SFX_BATTLE_1E,$01,$40
+	db SFX_BATTLE_1F,$00,$a0
+	db SFX_BATTLE_1A,$10,$a0
+	db SFX_BATTLE_20,$00,$c0
+	db SFX_BATTLE_14,$10,$60
+	db SFX_BATTLE_1A,$00,$a0
+	db SFX_BATTLE_22,$11,$c0
+	db SFX_BATTLE_1A,$20,$c0
+	db SFX_BATTLE_21,$00,$80
+	db SFX_BATTLE_1B,$00,$80
+	db SFX_BATTLE_1B,$20,$c0
+	db SFX_BATTLE_19,$00,$80
+	db SFX_BATTLE_31,$ff,$40
+	db SFX_BATTLE_1E,$00,$80
+	db SFX_BATTLE_0B,$00,$c0
+	db SFX_BATTLE_0B,$00,$40
+	db SFX_BATTLE_35,$00,$80
+	db SFX_BATTLE_27,$40,$60
+	db SFX_BATTLE_27,$00,$80
+	db SFX_BATTLE_27,$ff,$40
+	db SFX_BATTLE_2A,$80,$c0
+	db SFX_BATTLE_19,$10,$a0
+	db SFX_BATTLE_19,$21,$e0
+	db SFX_BATTLE_29,$00,$80
+	db SFX_BATTLE_24,$20,$60
+	db SFX_BATTLE_2A,$00,$80
+	db SFX_BATTLE_2C,$00,$80
+	db SFX_BATTLE_28,$40,$80
+	db SFX_BATTLE_29,$f0,$e0
+	db SFX_BATTLE_2D,$00,$80
+	db SFX_BATTLE_2A,$f0,$60
+	db SFX_BATTLE_28,$00,$80
+	db SFX_BATTLE_36,$00,$80
+	db SFX_BATTLE_07,$01,$a0
+	db SFX_BATTLE_13,$f0,$20
+	db SFX_BATTLE_23,$01,$c0
+	db SFX_BATTLE_23,$00,$80
+	db SFX_BATTLE_1A,$00,$e0
+	db SFX_BATTLE_26,$01,$60
+	db SFX_BATTLE_26,$20,$40
+	db SFX_BATTLE_24,$00,$80
+	db SFX_BATTLE_24,$40,$c0
+	db SFX_BATTLE_1B,$03,$60
+	db SFX_BATTLE_25,$11,$e0
+	db SFX_BATTLE_12,$20,$e0
+	db SFX_BATTLE_2E,$00,$80
+	db SFX_BATTLE_1C,$00,$80
+	db SFX_BATTLE_1C,$11,$a0
+	db SFX_BATTLE_1C,$01,$c0
+	db SFX_BATTLE_13,$14,$c0
+	db SFX_BATTLE_1B,$02,$a0
+	db SFX_BATTLE_29,$f0,$80
+	db SFX_BATTLE_29,$20,$c0
+	db SFX_BATTLE_2F,$00,$20
+	db SFX_BATTLE_2F,$20,$80
+	db SFX_BATTLE_2E,$12,$60
+	db SFX_BATTLE_26,$00,$80
+	db SFX_BATTLE_14,$01,$e0
+	db SFX_BATTLE_29,$0f,$e0
+	db SFX_BATTLE_29,$11,$20
+	db SFX_BATTLE_10,$10,$40
+	db SFX_BATTLE_0F,$10,$c0
+	db SFX_BATTLE_14,$00,$20
+	db SFX_BATTLE_30,$00,$80
+	db SFX_BATTLE_35,$11,$18
+	db SFX_BATTLE_09,$20,$c0
+	db SFX_BATTLE_08,$20,$c0
+	db SFX_BATTLE_25,$00,$10
+	db SFX_BATTLE_26,$f0,$20
+	db SFX_BATTLE_33,$f0,$c0
+	db SFX_BATTLE_11,$f0,$e0
+	db SFX_BATTLE_09,$f0,$40
+	db SFX_BATTLE_31,$00,$80
+	db SFX_BATTLE_33,$80,$40
+	db SFX_BATTLE_33,$00,$80
+	db SFX_BATTLE_14,$11,$20
+	db SFX_BATTLE_14,$22,$10
+	db SFX_BATTLE_1B,$f1,$ff
+	db SFX_BATTLE_13,$f1,$ff
+	db SFX_BATTLE_14,$33,$30
+	db SFX_BATTLE_32,$40,$c0
+	db SFX_BATTLE_0E,$20,$20
+	db SFX_BATTLE_0E,$f0,$10
+	db SFX_BATTLE_0F,$f8,$10
+	db SFX_BATTLE_11,$f0,$10
+	db SFX_BATTLE_25,$00,$80
+	db SFX_BATTLE_18,$00,$c0
+	db SFX_BATTLE_32,$c0,$ff
+	db SFX_BATTLE_09,$f2,$20
+	db SFX_BATTLE_34,$00,$80
+	db SFX_BATTLE_34,$00,$40
+	db SFX_BATTLE_09,$00,$40
+	db SFX_BATTLE_11,$10,$ff
+	db SFX_BATTLE_2A,$20,$20
+	db SFX_BATTLE_32,$00,$80
+	db SFX_BATTLE_29,$1f,$20
+	db SFX_BATTLE_25,$2f,$80
+	db SFX_BATTLE_0F,$1f,$ff
+	db SFX_BATTLE_2B,$1f,$60
+	db SFX_BATTLE_26,$1e,$20
+	db SFX_BATTLE_26,$1f,$18
+	db SFX_BATTLE_14,$0f,$80
+	db SFX_BATTLE_09,$f8,$10
+	db SFX_BATTLE_08,$18,$20
+	db SFX_BATTLE_32,$08,$40
+	db SFX_BATTLE_17,$01,$e0
+	db SFX_BATTLE_11,$09,$ff
+	db SFX_BATTLE_35,$42,$01
+	db SFX_BATTLE_1C,$00,$ff
+	db SFX_BATTLE_32,$08,$e0
+	db SFX_BATTLE_24,$00,$80
+	db SFX_BATTLE_09,$88,$10
+	db SFX_BATTLE_25,$48,$ff
+	db SFX_BATTLE_08,$ff,$ff
+	db SFX_BATTLE_24,$ff,$10
+	db SFX_BATTLE_08,$ff,$04
+	db SFX_BATTLE_1C,$01,$ff
+	db SFX_BATTLE_13,$f8,$ff
+	db SFX_BATTLE_0C,$f0,$f0
+	db SFX_BATTLE_0F,$08,$10
+	db SFX_BATTLE_0D,$f0,$ff
+	db SFX_BATTLE_1A,$f0,$ff
+	db SFX_BATTLE_34,$10,$ff
+	db SFX_BATTLE_0E,$f0,$20
+	db SFX_BATTLE_2B,$f0,$60
+	db SFX_BATTLE_21,$12,$10
+	db SFX_BATTLE_36,$f0,$20
+	db SFX_BATTLE_1E,$12,$ff
+	db SFX_BATTLE_31,$80,$04
+	db SFX_BATTLE_33,$f0,$10
+	db SFX_BATTLE_29,$f8,$ff
+	db SFX_BATTLE_26,$f0,$ff
+	db SFX_BATTLE_11,$01,$ff
+	db SFX_BATTLE_2C,$d8,$04
+	db SFX_BATTLE_0B,$00,$80
+	db SFX_BATTLE_0B,$00,$80
 
 CopyPicTiles: ; 79aae (1e:5aae)
 	ld a, [H_WHOSETURN]
@@ -2929,7 +2929,7 @@
 	ld a,TOSS_ANIM
 	ld [W_ANIMATIONID],a
 	call PlayAnimation
-	ld a,(SFX_08_43 - SFX_Headers_08) / 3
+	ld a,SFX_BATTLE_03
 	call PlaySound
 	ld a,BLOCKBALL_ANIM
 	ld [W_ANIMATIONID],a
@@ -2945,15 +2945,15 @@
 	cp $a
 	ld a, $20
 	ld b, $30
-	ld c, (SFX_08_50 - SFX_Headers_08) / 3
+	ld c, SFX_BATTLE_10
 	jr z, .asm_79e8b
 	ld a, $e0
 	ld b, $ff
-	ld c, (SFX_08_5a - SFX_Headers_08) / 3
+	ld c, SFX_BATTLE_1A
 	jr nc, .asm_79e8b
 	ld a, $50
 	ld b, $1
-	ld c, (SFX_08_51 - SFX_Headers_08) / 3
+	ld c, SFX_BATTLE_11
 .asm_79e8b
 	ld [wc0f1], a
 	ld a, b
--- a/engine/battle/common_text.asm
+++ b/engine/battle/common_text.asm
@@ -64,7 +64,7 @@
 	ld [wc0f1], a
 	ld a, $80
 	ld [wc0f2], a
-	ld a, (SFX_08_77 - SFX_Headers_08) / 3
+	ld a, SFX_BATTLE_37
 	call PlaySound
 	jp WaitForSoundToFinish
 .done
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -355,7 +355,7 @@
 	ld hl, EnemyRanText
 .printText
 	call PrintText
-	ld a, (SFX_08_44 - SFX_Headers_08) / 3
+	ld a, SFX_BATTLE_04
 	call PlaySoundWaitForCurrent
 	xor a
 	ld [H_WHOSETURN], a
@@ -864,13 +864,13 @@
 	xor a
 	ld [wc0f1], a
 	ld [wc0f2], a
-	ld a, (SFX_08_48 - SFX_Headers_08) / 3 ; SFX_FALL?
+	ld a, SFX_BATTLE_08 ; SFX_FALL?
 	call PlaySoundWaitForCurrent
 .sfxwait
 	ld a, [wc02a]
-	cp (SFX_08_48 - SFX_Headers_08) / 3
+	cp SFX_BATTLE_08
 	jr z, .sfxwait
-	ld a, (SFX_08_43 - SFX_Headers_08) / 3 ; SFX_DROP
+	ld a, SFX_BATTLE_03 ; SFX_DROP
 	call PlaySound
 	call WaitForSoundToFinish
 	jr .sfxplayed
@@ -1678,7 +1678,7 @@
 	dec a
 .playSound
 	ld [wBattleResult], a
-	ld a, (SFX_08_44 - SFX_Headers_08) / 3
+	ld a, SFX_BATTLE_04
 	call PlaySoundWaitForCurrent
 	ld hl, GotAwayText
 	call PrintText
--- a/engine/battle/trainer_ai.asm
+++ b/engine/battle/trainer_ai.asm
@@ -553,7 +553,7 @@
 	ret
 
 AIPlayRestoringSFX: ; 3a69b (e:669b)
-	ld a,(SFX_08_3e - SFX_Headers_08) / 3
+	ld a,SFX_HEAL_AILMENT
 	jp PlaySoundWaitForCurrent
 
 AIUseFullRestore: ; 3a6a0 (e:66a0)
--- a/engine/evolution.asm
+++ b/engine/evolution.asm
@@ -14,7 +14,7 @@
 	call PlaySound
 	ld a, $1
 	ld [H_AUTOBGTRANSFERENABLED], a
-	ld a, (SFX_08_3c - SFX_Headers_08) / 3
+	ld a, SFX_TINK
 	call PlaySound
 	call Delay3
 	xor a
--- a/engine/evos_moves.asm
+++ b/engine/evos_moves.asm
@@ -146,7 +146,7 @@
 	push hl
 	ld hl, IntoText
 	call Func_3c59
-	ld a, (SFX_02_3b - SFX_Headers_02) / 3
+	ld a, SFX_GET_ITEM_2
 	call PlaySoundWaitForCurrent
 	call WaitForSoundToFinish
 	ld c, 40
--- a/engine/gamefreak.asm
+++ b/engine/gamefreak.asm
@@ -26,7 +26,7 @@
 
 AnimateShootingStar: ; 70044 (1c:4044)
 	call LoadShootingStarGraphics
-	ld a, (SFX_1f_67 - SFX_Headers_1f) / 3
+	ld a, SFX_SHOOTING_STAR
 	call PlaySound
 
 ; Move the big star down and left across the screen.
--- a/engine/hidden_object_functions17.asm
+++ b/engine/hidden_object_functions17.asm
@@ -423,7 +423,7 @@
 	TX_FAR _VermilionGymTrashSuccesText1
 	TX_ASM
 	call WaitForSoundToFinish
-	ld a, (SFX_02_49 - SFX_Headers_02) / 3
+	ld a, SFX_SWITCH
 	call PlaySound
 	call WaitForSoundToFinish
 	jp TextScriptEnd
@@ -437,7 +437,7 @@
 VermilionGymTrashSuccesPlaySfx: ; 5dee0 (17:5ee0)
 	TX_ASM
 	call WaitForSoundToFinish
-	ld a, (SFX_02_49 - SFX_Headers_02) / 3
+	ld a, SFX_SWITCH
 	call PlaySound
 	call WaitForSoundToFinish
 	jp TextScriptEnd
@@ -446,7 +446,7 @@
 	TX_FAR _VermilionGymTrashSuccesText3
 	TX_ASM
 	call WaitForSoundToFinish
-	ld a, (SFX_02_57 - SFX_Headers_02) / 3
+	ld a, SFX_GO_INSIDE
 	call PlaySound
 	call WaitForSoundToFinish
 	jp TextScriptEnd
@@ -455,7 +455,7 @@
 	TX_FAR _VermilionGymTrashFailText
 	TX_ASM
 	call WaitForSoundToFinish
-	ld a, (SFX_02_51 - SFX_Headers_02) / 3
+	ld a, SFX_DENIED
 	call PlaySound
 	call WaitForSoundToFinish
 	jp TextScriptEnd
--- a/engine/hidden_object_functions7.asm
+++ b/engine/hidden_object_functions7.asm
@@ -68,7 +68,7 @@
 	dec a
 	call PlaySound
 	ld c, BANK(SFX_02_5f)
-	ld a, (SFX_02_5f - SFX_Headers_02) / 3
+	ld a, SFX_SAFARI_ZONE_PA
 	call PlayMusic
 .asm_1e9c2
 	ld a, [wc02a]
@@ -214,7 +214,7 @@
 	jp CinnabarGymQuiz_1eb0a
 .asm_1eab8
 	call WaitForSoundToFinish
-	ld a, (SFX_02_51 - SFX_Headers_02) / 3
+	ld a, SFX_DENIED
 	call PlaySound
 	call WaitForSoundToFinish
 	ld hl, CinnabarGymQuizIncorrectText
@@ -247,7 +247,7 @@
 	and a
 	jp nz, TextScriptEnd
 	call WaitForSoundToFinish
-	ld a, (SFX_02_57 - SFX_Headers_02) / 3
+	ld a, SFX_GO_INSIDE
 	call PlaySound
 	call WaitForSoundToFinish
 	jp TextScriptEnd
@@ -335,22 +335,22 @@
 	tx_pre BillsHouseInitiatedText
 	ld c, 32
 	call DelayFrames
-	ld a, (SFX_02_3c - SFX_Headers_02) / 3
+	ld a, SFX_TINK
 	call PlaySound
 	call WaitForSoundToFinish
 	ld c, 80
 	call DelayFrames
-	ld a, (SFX_02_48 - SFX_Headers_02) / 3
+	ld a, SFX_SHRINK
 	call PlaySound
 	call WaitForSoundToFinish
 	ld c, 48
 	call DelayFrames
-	ld a, (SFX_02_3c - SFX_Headers_02) / 3
+	ld a, SFX_TINK
 	call PlaySound
 	call WaitForSoundToFinish
 	ld c, 32
 	call DelayFrames
-	ld a, (SFX_02_3a - SFX_Headers_02) / 3
+	ld a, SFX_GET_ITEM_1
 	call PlaySound
 	call WaitForSoundToFinish
 	call PlayDefaultMusic
@@ -376,7 +376,7 @@
 	call PlaySound
 	ld c, 16
 	call DelayFrames
-	ld a, (SFX_02_49 - SFX_Headers_02) / 3
+	ld a, SFX_SWITCH
 	call PlaySound
 	call WaitForSoundToFinish
 	ld c, 60
--- a/engine/intro.asm
+++ b/engine/intro.asm
@@ -35,7 +35,7 @@
 	ret c
 
 ; hip
-	ld a, (SFX_1f_5f - SFX_Headers_1f) / 3
+	ld a, SFX_INTRO_HIP
 	call PlaySound
 	xor a
 	ld [wd09f], a
@@ -42,7 +42,7 @@
 	ld de, IntroNidorinoAnimation1
 	call AnimateIntroNidorino
 ; hop
-	ld a, (SFX_1f_60 - SFX_Headers_1f) / 3
+	ld a, SFX_INTRO_HOP
 	call PlaySound
 	ld de, IntroNidorinoAnimation2
 	call AnimateIntroNidorino
@@ -51,12 +51,12 @@
 	ret c
 
 ; hip
-	ld a, (SFX_1f_5f - SFX_Headers_1f) / 3
+	ld a, SFX_INTRO_HIP
 	call PlaySound
 	ld de, IntroNidorinoAnimation1
 	call AnimateIntroNidorino
 ; hop
-	ld a, (SFX_1f_60 - SFX_Headers_1f) / 3
+	ld a, SFX_INTRO_HOP
 	call PlaySound
 	ld de, IntroNidorinoAnimation2
 	call AnimateIntroNidorino
@@ -67,7 +67,7 @@
 ; raise
 	ld b, $4
 	call IntroCopyTiles
-	ld a, (SFX_1f_61 - SFX_Headers_1f) / 3
+	ld a, SFX_INTRO_RAISE
 	call PlaySound
 	ld de, $401 ; move Gengar left by 8 pixels
 	call IntroMoveMon
@@ -78,12 +78,12 @@
 ; slash
 	ld b, $5
 	call IntroCopyTiles
-	ld a, (SFX_1f_62 - SFX_Headers_1f) / 3
+	ld a, SFX_INTRO_CRASH
 	call PlaySound
 	ld de, $800 ; move Gengar right by 16 pixels
 	call IntroMoveMon
 ; hip
-	ld a, (SFX_1f_5f - SFX_Headers_1f) / 3
+	ld a, SFX_INTRO_HIP
 	call PlaySound
 	ld a, $24
 	ld [wd09f], a
@@ -102,7 +102,7 @@
 	ret c
 
 ; hip
-	ld a, (SFX_1f_5f - SFX_Headers_1f) / 3
+	ld a, SFX_INTRO_HIP
 	call PlaySound
 	xor a
 	ld [wd09f], a
@@ -109,7 +109,7 @@
 	ld de, IntroNidorinoAnimation4
 	call AnimateIntroNidorino
 ; hop
-	ld a, (SFX_1f_60 - SFX_Headers_1f) / 3
+	ld a, SFX_INTRO_HOP
 	call PlaySound
 	ld de, IntroNidorinoAnimation5
 	call AnimateIntroNidorino
@@ -126,7 +126,7 @@
 	ret c
 
 ; lunge
-	ld a, (SFX_1f_5e - SFX_Headers_1f) / 3
+	ld a, SFX_INTRO_LUNGE
 	call PlaySound
 	ld a, $48
 	ld [wd09f], a
--- a/engine/items/items.asm
+++ b/engine/items/items.asm
@@ -644,7 +644,7 @@
 	ld [wcf91],a
 	ld a,$01
 	ld [wForceEvolution],a
-	ld a,(SFX_02_3e - SFX_Headers_02) / 3
+	ld a,SFX_HEAL_AILMENT
 	call PlaySoundWaitForCurrent
 	call WaitForSoundToFinish
 	callab TryEvolvingMon ; try to evolve pokemon
@@ -917,7 +917,7 @@
 	ld a,[wWhichPokemon]
 	ld bc,2 * 20
 	call AddNTimes ; calculate coordinates of HP bar of pokemon that used Softboiled
-	ld a,(SFX_02_3d - SFX_Headers_02) / 3
+	ld a,SFX_HEAL_HP
 	call PlaySoundWaitForCurrent
 	ld a,[hFlags_0xFFF6]
 	set 0,a
@@ -1067,7 +1067,7 @@
 	jr c,.playStatusAilmentCuringSound
 	cp a,FULL_HEAL
 	jr z,.playStatusAilmentCuringSound
-	ld a,(SFX_02_3d - SFX_Headers_02) / 3 ; HP healing sound
+	ld a,SFX_HEAL_HP
 	call PlaySoundWaitForCurrent
 	ld a,[hFlags_0xFFF6]
 	set 0,a
@@ -1089,7 +1089,7 @@
 	ld [wPartyMenuTypeOrMessageID],a
 	jr .showHealingItemMessage
 .playStatusAilmentCuringSound
-	ld a,(SFX_02_3e - SFX_Headers_02) / 3 ; status ailment curing sound
+	ld a,SFX_HEAL_AILMENT
 	call PlaySoundWaitForCurrent
 .showHealingItemMessage
 	xor a
@@ -1178,7 +1178,7 @@
 	ld de,wcf4b
 	ld bc,10
 	call CopyData ; copy the stat's name to wcf4b
-	ld a,(SFX_02_3e - SFX_Headers_02) / 3
+	ld a,SFX_HEAL_AILMENT
 	call PlaySound
 	ld hl,VitaminStatRoseText
 	call PrintText
@@ -1720,7 +1720,7 @@
 ; play out-of-battle pokeflute music
 	ld a,$ff
 	call PlaySound ; turn off music
-	ld a, (SFX_02_5e - SFX_Headers_02) / 3
+	ld a, SFX_POKEFLUE
 	ld c, BANK(SFX_02_5e)
 	call PlayMusic
 .musicWaitLoop ; wait for music to finish playing
@@ -1824,7 +1824,7 @@
 	call ItemUseReloadOverworldData
 	ld hl,ItemUseText00
 	call PrintText
-	ld a,(SFX_02_3e - SFX_Headers_02) / 3
+	ld a,SFX_HEAL_AILMENT
 	call PlaySound
 	ld c,80
 	call DelayFrames
@@ -1847,9 +1847,9 @@
 	jr nc,.printText ; if no hidden items
 	ld c,4
 .loop
-	ld a,(SFX_02_4a - SFX_Headers_02) / 3
+	ld a,SFX_HEALING_MACHINE
 	call PlaySoundWaitForCurrent
-	ld a,(SFX_02_5a - SFX_Headers_02) / 3
+	ld a,SFX_PURCHASE
 	call PlaySoundWaitForCurrent
 	dec c
 	jr nz,.loop
@@ -1951,7 +1951,7 @@
 	ld bc,4
 	call CopyData ; copy party data to in-battle data
 .skipUpdatingInBattleData
-	ld a,(SFX_02_3e - SFX_Headers_02) / 3
+	ld a,SFX_HEAL_AILMENT
 	call PlaySound
 	ld hl,PPRestoredText
 	call PrintText
@@ -2146,7 +2146,7 @@
 	and a ; can the pokemon learn the move?
 	jr nz,.checkIfAlreadyLearnedMove
 ; if the pokemon can't learn the move
-	ld a,(SFX_02_51 - SFX_Headers_02) / 3
+	ld a,SFX_DENIED
 	call PlaySoundWaitForCurrent
 	ld hl,MonCannotLearnMachineMoveText
 	call PrintText
@@ -2186,7 +2186,7 @@
 PrintItemUseTextAndRemoveItem: ; e563 (3:6563)
 	ld hl,ItemUseText00
 	call PrintText
-	ld a,(SFX_02_3e - SFX_Headers_02) / 3
+	ld a,SFX_HEAL_AILMENT
 	call PlaySound
 	call WaitForTextScrollButtonPress ; wait for button press
 
--- a/engine/learn_move.asm
+++ b/engine/learn_move.asm
@@ -207,7 +207,7 @@
 	TX_FAR _OneTwoAndText
 	db $a
 	TX_ASM
-	ld a, (SFX_02_58 - SFX_Headers_02) / 3
+	ld a, SFX_SWAP
 	call PlaySoundWaitForCurrent
 	ld hl, PoofText
 	ret
--- a/engine/menu/main_menu.asm
+++ b/engine/menu/main_menu.asm
@@ -481,7 +481,7 @@
 	cp a,16 ; is the cursor on Cancel?
 	jr nz,.loop
 .exitMenu
-	ld a,(SFX_02_40 - SFX_Headers_02) / 3
+	ld a,SFX_PRESS_AB
 	call PlaySound
 	ret
 .eraseOldMenuCursor
--- a/engine/menu/naming_screen.asm
+++ b/engine/menu/naming_screen.asm
@@ -262,7 +262,7 @@
 	ld a, [wHPBarNewHP]
 	ld [hli], a
 	ld [hl], $50
-	ld a, (SFX_02_40 - SFX_Headers_02) / 3
+	ld a, SFX_PRESS_AB
 	call PlaySound
 	ret
 .pressedB
--- a/engine/menu/pc.asm
+++ b/engine/menu/pc.asm
@@ -1,6 +1,6 @@
 ActivatePC: ; 17e2c (5:7e2c)
 	call SaveScreenTilesToBuffer2
-	ld a, (SFX_02_45 - SFX_Headers_02) / 3
+	ld a, SFX_TURN_ON_PC
 	call PlaySound
 	ld hl, TurnedOnPC1Text
 	call PrintText
@@ -51,7 +51,7 @@
 	ld hl, wFlags_0xcd60
 	res 5, [hl]
 	set 3, [hl]
-	ld a, (SFX_02_47 - SFX_Headers_02) / 3
+	ld a, SFX_ENTER_PC
 	call PlaySound
 	call WaitForSoundToFinish
 	ld hl, AccessedMyPCText
@@ -59,19 +59,19 @@
 	callba PlayerPC
 	jr ReloadMainMenu
 OaksPC: ; 17ec0 (5:7ec0)
-	ld a, (SFX_02_47 - SFX_Headers_02) / 3
+	ld a, SFX_ENTER_PC
 	call PlaySound
 	call WaitForSoundToFinish
 	callba OpenOaksPC
 	jr ReloadMainMenu
 PKMNLeague: ; 17ed2 (5:7ed2)
-	ld a, (SFX_02_47 - SFX_Headers_02) / 3
+	ld a, SFX_ENTER_PC
 	call PlaySound
 	call WaitForSoundToFinish
 	callba PKMNLeaguePC
 	jr ReloadMainMenu
 BillsPC: ; 17ee4 (5:7ee4)
-	ld a, (SFX_02_47 - SFX_Headers_02) / 3
+	ld a, SFX_ENTER_PC
 	call PlaySound
 	call WaitForSoundToFinish
 	ld a, [wd7f1] ;has to do with having met Bill
@@ -91,7 +91,7 @@
 	call UpdateSprites
 	jp PCMainMenu
 LogOff: ; 17f13 (5:7f13)
-	ld a, (SFX_02_46 - SFX_Headers_02) / 3
+	ld a, SFX_TURN_OFF_PC
 	call PlaySound
 	call WaitForSoundToFinish
 	ld hl, wFlags_0xcd60
--- a/engine/menu/players_pc.asm
+++ b/engine/menu/players_pc.asm
@@ -11,7 +11,7 @@
 	bit 3, a ; accessing player's PC through another PC?
 	jr nz, PlayerPCMenu
 ; accessing it directly
-	ld a, (SFX_02_45 - SFX_Headers_02) / 3
+	ld a, SFX_TURN_ON_PC
 	call PlaySound
 	ld hl, TurnedOnPC2Text
 	call PrintText
@@ -67,7 +67,7 @@
 	bit 3, a ; accessing player's PC through another PC?
 	jr nz, .next
 ; accessing it directly
-	ld a, (SFX_02_46 - SFX_Headers_02) / 3
+	ld a, SFX_TURN_OFF_PC
 	call PlaySound
 	call WaitForSoundToFinish
 .next
@@ -130,7 +130,7 @@
 	ld hl, wNumBagItems
 	call RemoveItemFromInventory
 	call WaitForSoundToFinish
-	ld a, (SFX_02_55 - SFX_Headers_02) / 3
+	ld a, SFX_WITHDRAW_DEPOSIT
 	call PlaySound
 	call WaitForSoundToFinish
 	ld hl, ItemWasStoredText
@@ -184,7 +184,7 @@
 	ld hl, wNumBoxItems
 	call RemoveItemFromInventory
 	call WaitForSoundToFinish
-	ld a, (SFX_02_55 - SFX_Headers_02) / 3
+	ld a, SFX_WITHDRAW_DEPOSIT
 	call PlaySound
 	call WaitForSoundToFinish
 	ld hl, WithdrewItemText
--- a/engine/menu/start_menu.asm
+++ b/engine/menu/start_menu.asm
@@ -4,7 +4,7 @@
 	ld [MBC1RomBank],a
 	ld a,[wWalkBikeSurfState] ; walking/biking/surfing
 	ld [wWalkBikeSurfStateCopy],a
-	ld a, (SFX_02_3f - SFX_Headers_02) / 3 ; Start menu sound
+	ld a, SFX_START_MENU
 	call PlaySound
 
 RedisplayStartMenu:: ; 2adf (0:2adf)
--- a/engine/menu/start_sub_menus.asm
+++ b/engine/menu/start_sub_menus.asm
@@ -734,7 +734,7 @@
 	dec c
 	jr nz, .clearMonOAMLoop
 	call WaitForSoundToFinish
-	ld a, (SFX_02_58 - SFX_Headers_02) / 3
+	ld a, SFX_SWAP
 	jp PlaySound
 
 SwitchPartyMon_InitVarOrSwapData: ; 13653 (4:7653)
--- a/engine/menu/vending_machine.asm
+++ b/engine/menu/vending_machine.asm
@@ -58,7 +58,7 @@
 	ld c, 2
 	call DelayFrames
 	push bc
-	ld a, (SFX_02_53 - SFX_Headers_02) / 3
+	ld a, SFX_PUSH_BOULDER
 	call PlaySound
 	pop bc
 	dec b
--- a/engine/oak_speech.asm
+++ b/engine/oak_speech.asm
@@ -106,7 +106,7 @@
 .next
 	ld a,[H_LOADEDROMBANK]
 	push af
-	ld a,(SFX_02_48 - SFX_Headers_02) / 3
+	ld a,SFX_SHRINK
 	call PlaySound
 	pop af
 	ld [H_LOADEDROMBANK],a
--- a/engine/overworld/cable_club_npc.asm
+++ b/engine/overworld/cable_club_npc.asm
@@ -57,7 +57,7 @@
 	jr nz, .choseNo
 	callab SaveSAVtoSRAM
 	call WaitForSoundToFinish
-	ld a, (SFX_02_5d - SFX_Headers_02) / 3
+	ld a, SFX_SAVE
 	call PlaySoundWaitForCurrent
 	ld hl, CableClubNPCPleaseWaitText
 	call PrintText
--- a/engine/overworld/card_key.asm
+++ b/engine/overworld/card_key.asm
@@ -51,7 +51,7 @@
 	predef ReplaceTileBlock
 	ld hl, wd126
 	set 5, [hl]
-	ld a, (SFX_1f_57 - SFX_Headers_1f) / 3
+	ld a, SFX_GO_INSIDE
 	jp PlaySound
 .noCardKey
 	tx_pre_id CardKeyFailText
--- a/engine/overworld/cut.asm
+++ b/engine/overworld/cut.asm
@@ -60,7 +60,7 @@
 	callba Func_79e96
 	ld a, $1
 	ld [wUpdateSpritesEnabled], a
-	ld a, (SFX_02_56 - SFX_Headers_02) / 3
+	ld a, SFX_CUT
 	call PlaySound
 	ld a, $90
 	ld [hWY], a
--- a/engine/overworld/elevator.asm
+++ b/engine/overworld/elevator.asm
@@ -19,7 +19,7 @@
 	ld [hSCY], a
 	push bc
 	ld c, BANK(SFX_02_5b)
-	ld a, (SFX_02_5b - SFX_Headers_02) / 3
+	ld a, SFX_COLLISION
 	call PlayMusic
 	pop bc
 	ld c, 2
@@ -31,7 +31,7 @@
 	ld a, $ff
 	call PlaySound
 	ld c, BANK(SFX_02_5f)
-	ld a, (SFX_02_5f - SFX_Headers_02) / 3
+	ld a, SFX_SAFARI_ZONE_PA
 	call PlayMusic
 .asm_7bf57
 	ld a, [wc02a]
--- a/engine/overworld/healing_machine.asm
+++ b/engine/overworld/healing_machine.asm
@@ -28,7 +28,7 @@
 	ld b, a
 .asm_7046e
 	call Func_70503
-	ld a, (SFX_02_4a - SFX_Headers_02) / 3
+	ld a, SFX_HEALING_MACHINE
 	call PlaySound
 	ld c, 30
 	call DelayFrames
--- a/engine/overworld/hidden_items.asm
+++ b/engine/overworld/hidden_items.asm
@@ -33,7 +33,7 @@
 	ld c, a
 	ld b, $1
 	predef FlagActionPredef
-	ld a, (SFX_02_3b - SFX_Headers_02) / 3
+	ld a, SFX_GET_ITEM_2
 	call PlaySoundWaitForCurrent
 	call WaitForSoundToFinish
 	jp TextScriptEnd
--- a/engine/overworld/ledges.asm
+++ b/engine/overworld/ledges.asm
@@ -50,7 +50,7 @@
 	ld a, $2
 	ld [wSimulatedJoypadStatesIndex], a
 	call LoadHoppingShadowOAM
-	ld a, (SFX_02_4e - SFX_Headers_02) / 3
+	ld a, SFX_LEDGE
 	call PlaySound
 	ret
 
--- a/engine/overworld/player_animations.asm
+++ b/engine/overworld/player_animations.asm
@@ -9,7 +9,7 @@
 	bit 7, [hl] ; used fly out of battle?
 	res 7, [hl]
 	jr nz, .flyAnimation
-	ld a, (SFX_02_4c - SFX_Headers_02) / 3
+	ld a, SFX_TELEPORT_2
 	call PlaySound
 	ld hl, wd732
 	bit 4, [hl] ; used dungeon warp?
@@ -17,7 +17,7 @@
 	pop hl
 	jr nz, .dungeonWarpAnimation
 	call PlayerSpinWhileMovingDown
-	ld a, (SFX_02_4f - SFX_Headers_02) / 3
+	ld a, SFX_FLY_1
 	call PlaySound
 	call IsPlayerStandingOnWarpPadOrHole
 	ld a, b
@@ -50,7 +50,7 @@
 	ld bc, (BANK(BirdSprite) << 8) + $0c
 	call CopyVideoData
 	call LoadBirdSpriteGraphics
-	ld a, (SFX_02_50 - SFX_Headers_02) / 3
+	ld a, SFX_FLY_2
 	call PlaySound
 	ld hl, wFlyAnimUsingCoordList
 	xor a ; is using coord list
@@ -99,7 +99,7 @@
 	dec a
 	jp nz, LeaveMapThroughHoleAnim
 .spinWhileMovingUp
-	ld a, (SFX_02_4b - SFX_Headers_02) / 3
+	ld a, SFX_TELEPORT_1
 	call PlaySound
 	ld hl, wPlayerSpinWhileMovingUpOrDownAnimDeltaY
 	ld a, -$10
@@ -133,7 +133,7 @@
 	ld [hli], a ; wPlayerSpinInPlaceAnimFrameDelayDelta
 	xor a
 	ld [hli], a ; wPlayerSpinInPlaceAnimFrameDelayEndValue
-	ld [hl], (SFX_02_4d - SFX_Headers_02) / 3 ; wPlayerSpinInPlaceAnimSoundID
+	ld [hl], SFX_TELEPORT_3 ; wPlayerSpinInPlaceAnimSoundID
 	ld hl, wFacingDirectionList
 	call PlayerSpinInPlace
 	jr .spinWhileMovingUp
@@ -146,7 +146,7 @@
 	ld [hli], a ; wFlyAnimCounter
 	ld [hl], $c ; wFlyAnimBirdSpriteImageIndex
 	call DoFlyAnimation
-	ld a, (SFX_02_50 - SFX_Headers_02) / 3
+	ld a, SFX_FLY_2
 	call PlaySound
 	ld hl, wFlyAnimUsingCoordList
 	xor a ; is using coord list
--- a/engine/overworld/pokemart.asm
+++ b/engine/overworld/pokemart.asm
@@ -190,7 +190,7 @@
 	ld a,1
 	ld [wBoughtOrSoldItemInMart],a
 .skipSettingFlag2
-	ld a,(SFX_02_5a - SFX_Headers_02) / 3
+	ld a,SFX_PURCHASE
 	call PlaySoundWaitForCurrent
 	call WaitForSoundToFinish
 	ld hl,PokemartBoughtItemText
--- a/engine/save.asm
+++ b/engine/save.asm
@@ -161,7 +161,7 @@
 	call DelayFrames
 	ld hl,GameSavedText
 	call PrintText
-	ld a, (SFX_02_5d - SFX_Headers_02) / 3 ;sound for saved game
+	ld a, SFX_SAVE
 	call PlaySoundWaitForCurrent
 	call WaitForSoundToFinish
 	ld c,30
@@ -375,7 +375,7 @@
 	call SaveSAVtoSRAM
 	ld hl, wChangeBoxSavedMapTextPointer
 	call SetMapTextPointer
-	ld a, (SFX_02_5d - SFX_Headers_02) / 3
+	ld a, SFX_SAVE
 	call PlaySoundWaitForCurrent
 	call WaitForSoundToFinish
 	ret
--- a/engine/slot_machine.asm
+++ b/engine/slot_machine.asm
@@ -116,7 +116,7 @@
 	ld [hli], a
 	ld [hl], a
 	call WaitForSoundToFinish
-	ld a, (SFX_1f_66 - SFX_Headers_1f) / 3
+	ld a, SFX_SLOTS_NEW_SPIN
 	call PlaySound
 	ld hl, StartSlotMachineText
 	call PrintText
@@ -584,7 +584,7 @@
 	ret
 
 SlotReward100Func: ; 376f3 (d:76f3)
-	ld a, (SFX_1f_42 - SFX_Headers_1f) / 3
+	ld a, SFX_GET_KEY_ITEM
 	call PlaySound
 	xor a
 	ld [wSlotMachineFlags], a
@@ -595,7 +595,7 @@
 SlotReward300Func: ; 37702 (d:7702)
 	ld hl, YeahText
 	call PrintText
-	ld a, (SFX_1f_3b - SFX_Headers_1f) / 3
+	ld a, SFX_GET_ITEM_2
 	call PlaySound
 	call Random
 	cp $80
@@ -689,7 +689,7 @@
 	predef AddBCDPredef
 	call SlotMachine_PrintCreditCoins
 	call SlotMachine_PrintPayoutCoins
-	ld a, (SFX_1f_65 - SFX_Headers_1f) / 3
+	ld a, SFX_SLOTS_REWARD
 	call PlaySound
 	ld a, [wAnimCounter]
 	dec a
@@ -837,7 +837,7 @@
 	jr z, .skip
 .loop
 	inc [hl]
-	ld a, (SFX_1f_64 - SFX_Headers_1f) / 3
+	ld a, SFX_SLOTS_STOP_WHEEL
 	jp PlaySound
 .skip
 	ld a, [de]
--- a/engine/titlescreen.asm
+++ b/engine/titlescreen.asm
@@ -157,7 +157,7 @@
 	ld d, a
 	cp -3
 	jr nz, .skipPlayingSound
-	ld a, (SFX_1f_62 - SFX_Headers_1f) / 3
+	ld a, SFX_INTRO_CRASH
 	call PlaySound
 .skipPlayingSound
 	ld a, [hli]
@@ -191,7 +191,7 @@
 	call LoadScreenTilesFromBuffer1
 	ld c, 36
 	call DelayFrames
-	ld a, (SFX_1f_63 - SFX_Headers_1f) / 3
+	ld a, SFX_INTRO_WHOOSH
 	call PlaySound
 
 ; scroll game version in from the right
--- a/engine/town_map.asm
+++ b/engine/town_map.asm
@@ -69,7 +69,7 @@
 	ld b, a
 	and A_BUTTON | B_BUTTON | D_UP | D_DOWN
 	jr z, .inputLoop
-	ld a, (SFX_02_3c - SFX_Headers_02) / 3
+	ld a, SFX_TINK
 	call PlaySound
 	bit 6, b
 	jr nz, .pressedUp
@@ -193,7 +193,7 @@
 	jr z, .inputLoop
 	bit 0, b
 	jr nz, .pressedA
-	ld a, (SFX_02_3c - SFX_Headers_02) / 3
+	ld a, SFX_TINK
 	call PlaySound
 	bit 6, b
 	jr nz, .pressedUp
@@ -201,7 +201,7 @@
 	jr nz, .pressedDown
 	jr .pressedB
 .pressedA
-	ld a, (SFX_02_3e - SFX_Headers_02) / 3
+	ld a, SFX_HEAL_AILMENT
 	call PlaySound
 	ld a, [hl]
 	ld [wDestinationMap], a
--- a/engine/trade.asm
+++ b/engine/trade.asm
@@ -287,7 +287,7 @@
 	ld b, $7 ; open end of link cable tile ID list index
 	call CopyTileIDsFromList_ZeroBaseTileID
 	call Trade_CopyTileMapToVRAM
-	ld a, (SFX_02_3d - SFX_Headers_02) / 3
+	ld a, SFX_HEAL_HP
 	call PlaySound
 	ld c, 20
 .loop
@@ -332,7 +332,7 @@
 	ld c, a
 	cp $a0
 	jr nc, .ballSpriteReachedEdgeOfScreen
-	ld a, (SFX_02_3c - SFX_Headers_02) / 3
+	ld a, SFX_TINK
 	call PlaySound
 	jr .moveBallInsideLinkCableLoop
 .ballSpriteReachedEdgeOfScreen
--- a/home.asm
+++ b/home.asm
@@ -1330,7 +1330,7 @@
 	ld a,MONEY_BOX
 	ld [wTextBoxID],a
 	call DisplayTextBoxID ; redraw money text box
-	ld a, (SFX_02_5a - SFX_Headers_02) / 3
+	ld a, SFX_PURCHASE
 	call PlaySoundWaitForCurrent
 	jp WaitForSoundToFinish
 
@@ -3490,7 +3490,7 @@
 	cp LINK_STATE_BATTLING
 	jr z, .inLinkBattle
 	call WaitForTextScrollButtonPress
-	ld a, (SFX_02_40 - SFX_Headers_02) / 3
+	ld a, SFX_PRESS_AB
 	jp PlaySound
 .inLinkBattle
 	ld c, 65
@@ -4016,7 +4016,7 @@
 	bit 5,[hl]
 	pop hl
 	jr nz,.skipPlayingSound
-	ld a,(SFX_02_40 - SFX_Headers_02) / 3
+	ld a,SFX_PRESS_AB
 	call PlaySound
 .skipPlayingSound
 	pop af
--- a/home/overworld.asm
+++ b/home/overworld.asm
@@ -674,10 +674,10 @@
 	aCoord 8, 8 ; upper left tile of the 4x4 square the player's sprite is standing on
 	cp a,$0b ; door tile in tileset 0
 	jr nz,.didNotGoThroughDoor
-	ld a,(SFX_02_57 - SFX_Headers_02) / 3
+	ld a,SFX_GO_INSIDE
 	jr .playSound
 .didNotGoThroughDoor
-	ld a,(SFX_02_5c - SFX_Headers_02) / 3
+	ld a,SFX_GO_OUTSIDE
 .playSound
 	call PlaySound
 	ld a,[wMapPalOffset]
@@ -1227,9 +1227,9 @@
 	jr nc,.noCollision
 .collision
 	ld a,[wc02a]
-	cp a,(SFX_02_5b - SFX_Headers_02) / 3 ; check if collision sound is already playing
+	cp a,SFX_COLLISION ; check if collision sound is already playing
 	jr z,.setCarry
-	ld a,(SFX_02_5b - SFX_Headers_02) / 3
+	ld a,SFX_COLLISION
 	call PlaySound ; play collision sound (if it's not already playing)
 .setCarry
 	scf
@@ -1930,9 +1930,9 @@
 	jr .loop
 .collision
 	ld a,[wc02a]
-	cp a,(SFX_02_5b - SFX_Headers_02) / 3 ; check if collision sound is already playing
+	cp a,SFX_COLLISION ; check if collision sound is already playing
 	jr z,.setCarry
-	ld a,(SFX_02_5b - SFX_Headers_02) / 3
+	ld a,SFX_COLLISION
 	call PlaySound ; play collision sound (if it's not already playing)
 .setCarry
 	scf
--- a/home/text.asm
+++ b/home/text.asm
@@ -626,13 +626,13 @@
 
 ; format: text command ID, sound ID or cry ID
 TextCommandSounds:: ; 1c64 (0:1c64)
-	db $0B,(SFX_02_3a - SFX_Headers_02) / 3
-	db $12,(SFX_08_46 - SFX_Headers_08) / 3
-	db $0E,(SFX_02_41 - SFX_Headers_02) / 3
-	db $0F,(SFX_02_3a - SFX_Headers_02) / 3
-	db $10,(SFX_02_3b - SFX_Headers_02) / 3
-	db $11,(SFX_02_42 - SFX_Headers_02) / 3
-	db $13,(SFX_08_45 - SFX_Headers_08) / 3
+	db $0B,SFX_GET_ITEM_1
+	db $12,SFX_BATTLE_06
+	db $0E,SFX_POKEDEX_RATING
+	db $0F,SFX_GET_ITEM_1
+	db $10,SFX_GET_ITEM_2
+	db $11,SFX_GET_KEY_ITEM
+	db $13,SFX_BATTLE_05
 	db $14,NIDORINA ; used in OakSpeech
 	db $15,PIDGEOT  ; used in SaffronCityText12
 	db $16,DEWGONG  ; unused?
--- a/main.asm
+++ b/main.asm
@@ -1605,7 +1605,7 @@
 	pop af
 	pop hl
 	ld [wFlags_0xcd60], a
-	ld a, (SFX_02_40 - SFX_Headers_02) / 3
+	ld a, SFX_PRESS_AB
 	call PlaySound
 	jr .pressedAButton
 .notNoYesMenu
@@ -2631,7 +2631,7 @@
 	jr z, .skipPoisonEffectAndSound
 	ld b, $2
 	predef ChangeBGPalColor0_4Frames ; change BG white to dark grey for 4 frames
-	ld a, (SFX_02_43 - SFX_Headers_02) / 3
+	ld a, SFX_POISONED
 	call PlaySound
 .skipPoisonEffectAndSound
 	predef AnyPartyAlive
@@ -3512,7 +3512,7 @@
 	ld de, PushBoulderRightMovementData
 .done
 	call MoveSprite
-	ld a, (SFX_02_53 - SFX_Headers_02) / 3
+	ld a, SFX_PUSH_BOULDER
 	call PlaySound
 	ld hl, wFlags_0xcd60
 	set 1, [hl]
@@ -3543,7 +3543,7 @@
 	ld [H_SPRITEINDEX], a
 	call GetSpriteMovementByte2Pointer
 	ld [hl], $10
-	ld a, (SFX_02_56 - SFX_Headers_02) / 3
+	ld a, SFX_CUT
 	jp PlaySound
 
 ResetBoulderPushFlags: ; f2dd (3:72dd)
--- a/scripts/celadongamecorner.asm
+++ b/scripts/celadongamecorner.asm
@@ -454,7 +454,7 @@
 	ld hl, CeladonGameCornerText_48f09
 	call PrintText
 	call WaitForSoundToFinish
-	ld a, (SFX_02_57 - SFX_Headers_02) / 3
+	ld a, SFX_GO_INSIDE
 	call PlaySound
 	call WaitForSoundToFinish
 	ld hl, wd77e
@@ -468,7 +468,7 @@
 CeladonGameCornerText_48f09: ; 48f09 (12:4f09)
 	TX_FAR _CeladonGameCornerText_48f09
 	TX_ASM
-	ld a, (SFX_02_49 - SFX_Headers_02) / 3
+	ld a, SFX_SWITCH
 	call PlaySound
 	call WaitForSoundToFinish
 	jp TextScriptEnd
--- a/scripts/cinnabargym.asm
+++ b/scripts/cinnabargym.asm
@@ -106,7 +106,7 @@
 	and a
 	jr nz, .asm_7581b
 	call WaitForSoundToFinish
-	ld a, (SFX_02_57 - SFX_Headers_02) / 3
+	ld a, SFX_GO_INSIDE
 	call PlaySound
 	call WaitForSoundToFinish
 .asm_7581b
--- a/scripts/daycarem.asm
+++ b/scripts/daycarem.asm
@@ -156,7 +156,7 @@
 	ld de, wPlayerMoney + 2
 	ld c, $3
 	predef SubBCDPredef
-	ld a, (SFX_02_5a - SFX_Headers_02) / 3
+	ld a, SFX_PURCHASE
 	call PlaySoundWaitForCurrent
 	ld a, MONEY_BOX
 	ld [wTextBoxID], a
--- a/scripts/lance.asm
+++ b/scripts/lance.asm
@@ -75,7 +75,7 @@
 	ret nz
 	ld hl, wd126
 	set 5, [hl]
-	ld a, (SFX_02_57 - SFX_Headers_02) / 3
+	ld a, SFX_GO_INSIDE
 	call PlaySound
 	jp LanceScript_5a2c4
 
--- a/scripts/mansion1.asm
+++ b/scripts/mansion1.asm
@@ -111,7 +111,7 @@
 	set 5, [hl]
 	ld hl, MansionSwitchPressedText
 	call PrintText
-	ld a, (SFX_02_57 - SFX_Headers_02) / 3
+	ld a, SFX_GO_INSIDE
 	call PlaySound
 	ld hl, wd796
 	bit 0, [hl]
--- a/scripts/mansion2.asm
+++ b/scripts/mansion2.asm
@@ -117,7 +117,7 @@
 	set 5, [hl]
 	ld hl, Mansion2Text_520c7
 	call PrintText
-	ld a, (SFX_02_57 - SFX_Headers_02) / 3
+	ld a, SFX_GO_INSIDE
 	call PlaySound
 	ld hl, wd796
 	bit 0, [hl]
--- a/scripts/museum1f.asm
+++ b/scripts/museum1f.asm
@@ -107,7 +107,7 @@
 	ld a, MONEY_BOX
 	ld [wTextBoxID], a
 	call DisplayTextBoxID
-	ld a, (SFX_02_5a - SFX_Headers_02) / 3
+	ld a, SFX_PURCHASE
 	call PlaySoundWaitForCurrent
 	call WaitForSoundToFinish
 	jr .asm_0b094
--- a/scripts/rockethideout1.asm
+++ b/scripts/rockethideout1.asm
@@ -21,7 +21,7 @@
 	ld a, $54
 	jr .asm_44c03
 .asm_44bf7
-	ld a, (SFX_02_57 - SFX_Headers_02) / 3
+	ld a, SFX_GO_INSIDE
 	call PlaySound
 	ld hl, wd815
 	bit 7, [hl]
--- a/scripts/rockethideout2.asm
+++ b/scripts/rockethideout2.asm
@@ -25,7 +25,7 @@
 	ld hl, wd736
 	set 7, [hl]
 	call StartSimulatingJoypadStates
-	ld a, (SFX_02_52 - SFX_Headers_02) / 3
+	ld a, SFX_ARROW_TILES
 	call PlaySound
 	ld a, $ff
 	ld [wJoyIgnore], a
--- a/scripts/rockethideout3.asm
+++ b/scripts/rockethideout3.asm
@@ -25,7 +25,7 @@
 	ld hl, wd736
 	set 7, [hl]
 	call StartSimulatingJoypadStates
-	ld a, (SFX_02_52 - SFX_Headers_02) / 3
+	ld a, SFX_ARROW_TILES
 	call PlaySound
 	ld a, $ff
 	ld [wJoyIgnore], a
--- a/scripts/rockethideout4.asm
+++ b/scripts/rockethideout4.asm
@@ -22,7 +22,7 @@
 	ld a, $2d
 	jr .asm_45498
 .asm_4548c
-	ld a, (SFX_02_57 - SFX_Headers_02) / 3
+	ld a, SFX_GO_INSIDE
 	call PlaySound
 	ld hl, wd81b
 	set 5, [hl]
--- a/scripts/route22gate.asm
+++ b/scripts/route22gate.asm
@@ -77,7 +77,7 @@
 Route22GateText_1e704: ; 1e704 (7:6704)
 	TX_FAR _Route22GateText_1e704
 	TX_ASM
-	ld a, (SFX_02_51 - SFX_Headers_02) / 3
+	ld a, SFX_DENIED
 	call PlaySoundWaitForCurrent
 	call WaitForSoundToFinish
 	ld hl, Route22GateText_1e715
--- a/scripts/route23.asm
+++ b/scripts/route23.asm
@@ -224,7 +224,7 @@
 VictoryRoadGuardText1: ; 5138e (14:538e)
 	TX_FAR _VictoryRoadGuardText1
 	TX_ASM
-	ld a, (SFX_02_51 - SFX_Headers_02) / 3
+	ld a, SFX_DENIED
 	call PlaySoundWaitForCurrent
 	call WaitForSoundToFinish
 	jp TextScriptEnd
--- a/scripts/vermiliondock.asm
+++ b/scripts/vermiliondock.asm
@@ -72,7 +72,7 @@
 	ld b, [hl]
 	push bc
 	push hl
-	ld a, (SFX_02_54 - SFX_Headers_02) / 3
+	ld a, SFX_SS_ANNE_HORN
 	call PlaySoundWaitForCurrent
 	ld a, $ff
 	ld [wUpdateSpritesEnabled], a
@@ -193,7 +193,7 @@
 	ld [hli], a
 	ld [hli], a
 	ld [hl], a
-	ld a, (SFX_02_54 - SFX_Headers_02) / 3
+	ld a, SFX_SS_ANNE_HORN
 	call PlaySound
 	ld c, 120
 	call DelayFrames
--- a/scripts/vermiliongym.asm
+++ b/scripts/vermiliongym.asm
@@ -34,7 +34,7 @@
 	ld a, $24
 	jr .asm_5ca7f
 .asm_5ca78
-	ld a, (SFX_02_57 - SFX_Headers_02) / 3
+	ld a, SFX_GO_INSIDE
 	call PlaySound
 	ld a, $5
 .asm_5ca7f
--- a/scripts/viridiangym.asm
+++ b/scripts/viridiangym.asm
@@ -41,7 +41,7 @@
 	call StartSimulatingJoypadStates
 	ld hl, wd736
 	set 7, [hl]
-	ld a, (SFX_02_52 - SFX_Headers_02) / 3
+	ld a, SFX_ARROW_TILES
 	call PlaySound
 	ld a, $ff
 	ld [wJoyIgnore], a