shithub: pokecrystal

Download patch

ref: 5b13a7a13b9ebbb26a75b9ef19221e8e140c221b
parent: c5675927feefc60a286de1725515d1475a30ca2c
author: Remy Oukaour <remy.oukaour@gmail.com>
date: Tue Dec 12 08:22:19 EST 2017

Identify more sprite-related constants
Start more documentation

--- a/audio/engine.asm
+++ b/audio/engine.asm
@@ -1394,8 +1394,7 @@
 ; e8720
 
 MusicCommands: ; e8720
-; pointer to each command in order
-	; octaves
+; entries correspond to macros/sound.asm enumeration
 	dw Music_Octave8 ; octave 8
 	dw Music_Octave7 ; octave 7
 	dw Music_Octave6 ; octave 6
--- a/battle/anim_commands.asm
+++ b/battle/anim_commands.asm
@@ -352,6 +352,7 @@
 
 
 BattleAnimCommands:: ; cc2a4 (33:42a4)
+; entries correspond to macros/move_anim.asm enumeration
 	dw BattleAnimCmd_Obj
 	dw BattleAnimCmd_1GFX
 	dw BattleAnimCmd_2GFX
--- a/constants/sprite_data_constants.asm
+++ b/constants/sprite_data_constants.asm
@@ -248,10 +248,10 @@
 	const SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE       ; 1f
 	const SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL  ; 20
 	const SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL    ; 21
-	const SPRITE_ANIM_INDEX_22                      ; 22
-	const SPRITE_ANIM_INDEX_23                      ; 23
-	const SPRITE_ANIM_INDEX_24                      ; 24
-	const SPRITE_ANIM_INDEX_25                      ; 25
+	const SPRITE_ANIM_INDEX_MOBILE_22               ; 22
+	const SPRITE_ANIM_INDEX_MOBILE_23               ; 23
+	const SPRITE_ANIM_INDEX_MOBILE_24               ; 24
+	const SPRITE_ANIM_INDEX_MOBILE_25               ; 25
 	const SPRITE_ANIM_INDEX_INTRO_SUICUNE           ; 26
 	const SPRITE_ANIM_INDEX_INTRO_PICHU             ; 27
 	const SPRITE_ANIM_INDEX_INTRO_WOOPER            ; 28
@@ -262,110 +262,110 @@
 
 ; DoAnimFrame.Jumptable indexes (see engine/sprite_anims.asm)
 	const_def
-	const SPRITE_ANIM_SEQ_NULL
-	const SPRITE_ANIM_SEQ_PARTY_MON
-	const SPRITE_ANIM_SEQ_PARTY_MON_SWITCH
-	const SPRITE_ANIM_SEQ_PARTY_MON_SELECTED
-	const SPRITE_ANIM_SEQ_GS_TITLE_TRAIL
-	const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR
-	const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO
-	const SPRITE_ANIM_SEQ_GS_INTRO_STAR
-	const SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE
-	const SPRITE_ANIM_SEQ_SLOTS_GOLEM
-	const SPRITE_ANIM_SEQ_SLOTS_CHANSEY
-	const SPRITE_ANIM_SEQ_SLOTS_EGG
-	const SPRITE_ANIM_SEQ_MAIL_CURSOR
-	const SPRITE_ANIM_SEQ_FOR_UNUSED_CURSOR
-	const SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR
-	const SPRITE_ANIM_SEQ_POKEGEAR_ARROW
-	const SPRITE_ANIM_SEQ_TRADE_POKE_BALL
-	const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE
-	const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE
-	const SPRITE_ANIM_SEQ_REVEAL_NEW_MON
-	const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB
-	const SPRITE_ANIM_SEQ_CUT_LEAVES
-	const SPRITE_ANIM_SEQ_FLY_FROM
-	const SPRITE_ANIM_SEQ_FLY_LEAF
-	const SPRITE_ANIM_SEQ_FLY_TO
-	const SPRITE_ANIM_SEQ_19
-	const SPRITE_ANIM_SEQ_1A
-	const SPRITE_ANIM_SEQ_1B
-	const SPRITE_ANIM_SEQ_1C
-	const SPRITE_ANIM_SEQ_INTRO_SUICUNE
-	const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER
-	const SPRITE_ANIM_SEQ_CELEBI
-	const SPRITE_ANIM_SEQ_INTRO_UNOWN
-	const SPRITE_ANIM_SEQ_INTRO_UNOWN_F
-	const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY
+	const SPRITE_ANIM_SEQ_NULL                 ; 00
+	const SPRITE_ANIM_SEQ_PARTY_MON            ; 01
+	const SPRITE_ANIM_SEQ_PARTY_MON_SWITCH     ; 02
+	const SPRITE_ANIM_SEQ_PARTY_MON_SELECTED   ; 03
+	const SPRITE_ANIM_SEQ_GS_TITLE_TRAIL       ; 04
+	const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR ; 05
+	const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO       ; 06
+	const SPRITE_ANIM_SEQ_GS_INTRO_STAR        ; 07
+	const SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE     ; 08
+	const SPRITE_ANIM_SEQ_SLOTS_GOLEM          ; 09
+	const SPRITE_ANIM_SEQ_SLOTS_CHANSEY        ; 0a
+	const SPRITE_ANIM_SEQ_SLOTS_EGG            ; 0b
+	const SPRITE_ANIM_SEQ_MAIL_CURSOR          ; 0c
+	const SPRITE_ANIM_SEQ_FOR_UNUSED_CURSOR    ; 0d
+	const SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR    ; 0e
+	const SPRITE_ANIM_SEQ_POKEGEAR_ARROW       ; 0f
+	const SPRITE_ANIM_SEQ_TRADE_POKE_BALL      ; 10
+	const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE     ; 11
+	const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE     ; 12
+	const SPRITE_ANIM_SEQ_REVEAL_NEW_MON       ; 13
+	const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB    ; 14
+	const SPRITE_ANIM_SEQ_CUT_LEAVES           ; 15
+	const SPRITE_ANIM_SEQ_FLY_FROM             ; 16
+	const SPRITE_ANIM_SEQ_FLY_LEAF             ; 17
+	const SPRITE_ANIM_SEQ_FLY_TO               ; 18
+	const SPRITE_ANIM_SEQ_19                   ; 19
+	const SPRITE_ANIM_SEQ_1A                   ; 1a
+	const SPRITE_ANIM_SEQ_FOR_MOBILE_23        ; 1b
+	const SPRITE_ANIM_SEQ_FOR_MOBILE_24        ; 1c
+	const SPRITE_ANIM_SEQ_INTRO_SUICUNE        ; 1d
+	const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER   ; 1e
+	const SPRITE_ANIM_SEQ_CELEBI               ; 1f
+	const SPRITE_ANIM_SEQ_INTRO_UNOWN          ; 20
+	const SPRITE_ANIM_SEQ_INTRO_UNOWN_F        ; 21
+	const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY   ; 22
 
 ; SpriteAnimFrameData indexes (see data/sprite_anim_frames.asm)
 	const_def
 	const SPRITE_ANIM_FRAMESET_00
-	const SPRITE_ANIM_FRAMESET_PARTY_MON
-	const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL
-	const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM
-	const SPRITE_ANIM_FRAMESET_PARTY_MON_FAST
-	const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL_FAST
-	const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM_FAST
-	const SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL
-	const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR
+	const SPRITE_ANIM_FRAMESET_PARTY_MON ; 01
+	const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL ; 02
+	const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM ; 03
+	const SPRITE_ANIM_FRAMESET_PARTY_MON_FAST ; 04
+	const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL_FAST ; 05
+	const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM_FAST ; 06
+	const SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL ; 07
+	const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR ; 08
 	const SPRITE_ANIM_FRAMESET_09
-	const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO
-	const SPRITE_ANIM_FRAMESET_GS_INTRO_STAR
-	const SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE
-	const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM
-	const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY
-	const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2
-	const SPRITE_ANIM_FRAMESET_SLOTS_EGG
-	const SPRITE_ANIM_FRAMESET_RED_WALK
-	const SPRITE_ANIM_FRAMESET_STILL_CURSOR
-	const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL
-	const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0
-	const SPRITE_ANIM_FRAMESET_TRADE_POOF
-	const SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE
-	const SPRITE_ANIM_FRAMESET_TRADEMON_ICON
-	const SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE
-	const SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT
-	const SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB
-	const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED
-	const SPRITE_ANIM_FRAMESET_1C ; unused?
-	const SPRITE_ANIM_FRAMESET_LEAF
-	const SPRITE_ANIM_FRAMESET_CUT_TREE
-	const SPRITE_ANIM_FRAMESET_EGG_CRACK
-	const SPRITE_ANIM_FRAMESET_EGG_HATCH
-	const SPRITE_ANIM_FRAMESET_21 ; unused?
-	const SPRITE_ANIM_FRAMESET_22 ; unused?
-	const SPRITE_ANIM_FRAMESET_23 ; unused?
+	const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO ; 0a
+	const SPRITE_ANIM_FRAMESET_GS_INTRO_STAR ; 0b
+	const SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE ; 0c
+	const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM ; 0d
+	const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY ; 0e
+	const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2 ; 0f
+	const SPRITE_ANIM_FRAMESET_SLOTS_EGG ; 10
+	const SPRITE_ANIM_FRAMESET_RED_WALK ; 11
+	const SPRITE_ANIM_FRAMESET_STILL_CURSOR ; 12
+	const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL ; 13
+	const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0 ; 14
+	const SPRITE_ANIM_FRAMESET_TRADE_POOF ; 15
+	const SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE ; 16
+	const SPRITE_ANIM_FRAMESET_TRADEMON_ICON ; 17
+	const SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE ; 18
+	const SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT ; 19
+	const SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB ; 1a
+	const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED ; 1b
+	const SPRITE_ANIM_FRAMESET_1C
+	const SPRITE_ANIM_FRAMESET_LEAF ; 1d
+	const SPRITE_ANIM_FRAMESET_CUT_TREE ; 1e
+	const SPRITE_ANIM_FRAMESET_EGG_CRACK ; 1f
+	const SPRITE_ANIM_FRAMESET_EGG_HATCH ; 20
+	const SPRITE_ANIM_FRAMESET_21
+	const SPRITE_ANIM_FRAMESET_22
+	const SPRITE_ANIM_FRAMESET_23
 	const SPRITE_ANIM_FRAMESET_24
-	const SPRITE_ANIM_FRAMESET_HEADBUTT
+	const SPRITE_ANIM_FRAMESET_HEADBUTT ; 25
 	const SPRITE_ANIM_FRAMESET_26
-	const SPRITE_ANIM_FRAMESET_27 ; unused?
-	const SPRITE_ANIM_FRAMESET_28 ; unused?
-	const SPRITE_ANIM_FRAMESET_29 ; unused?
-	const SPRITE_ANIM_FRAMESET_2A ; unused?
-	const SPRITE_ANIM_FRAMESET_2B ; unused?
-	const SPRITE_ANIM_FRAMESET_2C ; unused?
-	const SPRITE_ANIM_FRAMESET_BLUE_WALK
-	const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE
-	const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL
-	const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL
-	const SPRITE_ANIM_FRAMESET_31
-	const SPRITE_ANIM_FRAMESET_32
-	const SPRITE_ANIM_FRAMESET_33
-	const SPRITE_ANIM_FRAMESET_34
-	const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE
-	const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_2
-	const SPRITE_ANIM_FRAMESET_INTRO_PICHU
-	const SPRITE_ANIM_FRAMESET_INTRO_WOOPER
-	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1
-	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_2
-	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_3
-	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_4
-	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F_2
-	const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY
-	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F
-	const SPRITE_ANIM_FRAMESET_CELEBI_LEFT
-	const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT
+	const SPRITE_ANIM_FRAMESET_27
+	const SPRITE_ANIM_FRAMESET_28
+	const SPRITE_ANIM_FRAMESET_29
+	const SPRITE_ANIM_FRAMESET_2A
+	const SPRITE_ANIM_FRAMESET_2B
+	const SPRITE_ANIM_FRAMESET_2C
+	const SPRITE_ANIM_FRAMESET_BLUE_WALK ; 2d
+	const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE ; 2e
+	const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL ; 2f
+	const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL ; 30
+	const SPRITE_ANIM_FRAMESET_FOR_MOBILE_22 ; 31
+	const SPRITE_ANIM_FRAMESET_FOR_MOBILE_23 ; 32
+	const SPRITE_ANIM_FRAMESET_FOR_MOBILE_24 ; 33
+	const SPRITE_ANIM_FRAMESET_FOR_MOBILE_25 ; 34
+	const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE ; 35
+	const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_2 ; 36
+	const SPRITE_ANIM_FRAMESET_INTRO_PICHU ; 37
+	const SPRITE_ANIM_FRAMESET_INTRO_WOOPER ; 38
+	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1 ; 39
+	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_2 ; 3a
+	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_3 ; 3b
+	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_4 ; 3c
+	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F_2 ; 3d
+	const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY ; 3e
+	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F ; 3f
+	const SPRITE_ANIM_FRAMESET_CELEBI_LEFT ; 40
+	const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT ; 41
 
 ; SpriteAnimOAMData indexes (see data/sprite_anim_oam.asm)
 	const_def
@@ -419,23 +419,23 @@
 	const SPRITE_ANIM_FRAME_IDX_STILL_CURSOR ; 2f
 	const SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1 ; 30
 	const SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2 ; 31
-	const SPRITE_ANIM_FRAME_IDX_32
-	const SPRITE_ANIM_FRAME_IDX_33
-	const SPRITE_ANIM_FRAME_IDX_34
+	const SPRITE_ANIM_FRAME_IDX_TRADE_POOF_1 ; 32
+	const SPRITE_ANIM_FRAME_IDX_TRADE_POOF_2 ; 33
+	const SPRITE_ANIM_FRAME_IDX_TRADE_POOF_3 ; 34
 	const SPRITE_ANIM_FRAME_IDX_35
 	const SPRITE_ANIM_FRAME_IDX_36
 	const SPRITE_ANIM_FRAME_IDX_TRADEMON_ICON_1 ; 37
 	const SPRITE_ANIM_FRAME_IDX_TRADEMON_ICON_2 ; 38
-	const SPRITE_ANIM_FRAME_IDX_39
-	const SPRITE_ANIM_FRAME_IDX_3A
-	const SPRITE_ANIM_FRAME_IDX_3B
+	const SPRITE_ANIM_FRAME_IDX_TRADEMON_BUBBLE ; 39
+	const SPRITE_ANIM_FRAME_IDX_EVOLUTION_BALL_OF_LIGHT_1 ; 3a
+	const SPRITE_ANIM_FRAME_IDX_EVOLUTION_BALL_OF_LIGHT_2 ; 3b
 	const SPRITE_ANIM_FRAME_IDX_RADIO_TUNING_KNOB ; 3c
 	const SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_1 ; 3d
 	const SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_2 ; 3e
 	const SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_1 ; 3f
 	const SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_2 ; 40
-	const SPRITE_ANIM_FRAME_IDX_41
-	const SPRITE_ANIM_FRAME_IDX_42
+	const SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_1 ; 41
+	const SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_2 ; 42
 	const SPRITE_ANIM_FRAME_IDX_43
 	const SPRITE_ANIM_FRAME_IDX_44
 	const SPRITE_ANIM_FRAME_IDX_45
@@ -472,29 +472,29 @@
 	const SPRITE_ANIM_FRAME_IDX_BLUE_WALK_2 ; 64
 	const SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_BLUE_1 ; 65
 	const SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_BLUE_2 ; 66
-	const SPRITE_ANIM_FRAME_IDX_67
-	const SPRITE_ANIM_FRAME_IDX_68
-	const SPRITE_ANIM_FRAME_IDX_69
-	const SPRITE_ANIM_FRAME_IDX_6A
-	const SPRITE_ANIM_FRAME_IDX_6B
-	const SPRITE_ANIM_FRAME_IDX_6C
-	const SPRITE_ANIM_FRAME_IDX_6D
-	const SPRITE_ANIM_FRAME_IDX_6E
-	const SPRITE_ANIM_FRAME_IDX_6F
-	const SPRITE_ANIM_FRAME_IDX_70
-	const SPRITE_ANIM_FRAME_IDX_71
-	const SPRITE_ANIM_FRAME_IDX_72
-	const SPRITE_ANIM_FRAME_IDX_73
-	const SPRITE_ANIM_FRAME_IDX_74
-	const SPRITE_ANIM_FRAME_IDX_75
-	const SPRITE_ANIM_FRAME_IDX_76
-	const SPRITE_ANIM_FRAME_IDX_77
-	const SPRITE_ANIM_FRAME_IDX_78
-	const SPRITE_ANIM_FRAME_IDX_79
-	const SPRITE_ANIM_FRAME_IDX_7A
-	const SPRITE_ANIM_FRAME_IDX_7B
-	const SPRITE_ANIM_FRAME_IDX_7C
-	const SPRITE_ANIM_FRAME_IDX_7D
+	const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_22_1 ; 67
+	const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_22_2 ; 68
+	const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_1 ; 69
+	const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_2 ; 6a
+	const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_3 ; 6b
+	const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_23 ; 6c
+	const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_24 ; 6d
+	const SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_1 ; 6e
+	const SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_2 ; 6f
+	const SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_3 ; 70
+	const SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_4 ; 71
+	const SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_1 ; 72
+	const SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_2 ; 73
+	const SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_3 ; 74
+	const SPRITE_ANIM_FRAME_IDX_INTRO_WOOPER ; 75
+	const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_1 ; 76
+	const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_2 ; 77
+	const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_3 ; 78
+	const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_1 ; 79
+	const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_2 ; 7a
+	const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_3 ; 7b
+	const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_4 ; 7c
+	const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_5 ; 7d
 	const SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_AWAY ; 7e
 	const SPRITE_ANIM_FRAME_IDX_CELEBI_1 ; 7f
 	const SPRITE_ANIM_FRAME_IDX_CELEBI_2 ; 80
--- a/data/sprite_anim_frames.asm
+++ b/data/sprite_anim_frames.asm
@@ -49,10 +49,10 @@
 	dw .Frameset_MagnetTrainBlue
 	dw .Frameset_MobileTradeSentBall
 	dw .Frameset_MobileTradeOTBall
-	dw .Frameset_31
-	dw .Frameset_32
-	dw .Frameset_33
-	dw .Frameset_34
+	dw .Frameset_ForMobile22
+	dw .Frameset_ForMobile23
+	dw .Frameset_ForMobile24
+	dw .Frameset_ForMobile25
 	dw .Frameset_IntroSuicune
 	dw .Frameset_IntroSuicune2
 	dw .Frameset_IntroPichu
@@ -210,9 +210,9 @@
 	dorestart
 
 .Frameset_TradePoof:
-	frame SPRITE_ANIM_FRAME_IDX_32,  4
-	frame SPRITE_ANIM_FRAME_IDX_33,  4
-	frame SPRITE_ANIM_FRAME_IDX_34,  4
+	frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_1,  4
+	frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_2,  4
+	frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_3,  4
 	delanim
 
 .Frameset_TradeTubeBulge:
@@ -226,13 +226,13 @@
 	dorestart
 
 .Frameset_TrademonBubble:
-	frame SPRITE_ANIM_FRAME_IDX_39, 32
+	frame SPRITE_ANIM_FRAME_IDX_TRADEMON_BUBBLE, 32
 	endanim
 
 .Frameset_EvolutionBallOfLight:
-	frame SPRITE_ANIM_FRAME_IDX_3B,  2
-	frame SPRITE_ANIM_FRAME_IDX_3A,  2
-	frame SPRITE_ANIM_FRAME_IDX_3B,  2
+	frame SPRITE_ANIM_FRAME_IDX_EVOLUTION_BALL_OF_LIGHT_2,  2
+	frame SPRITE_ANIM_FRAME_IDX_EVOLUTION_BALL_OF_LIGHT_1,  2
+	frame SPRITE_ANIM_FRAME_IDX_EVOLUTION_BALL_OF_LIGHT_2,  2
 	endanim
 
 .Frameset_RadioTuningKnob:
@@ -240,10 +240,10 @@
 	endanim
 
 .Frameset_MagnetTrainRed:
-	frame SPRITE_ANIM_FRAME_IDX_41,  8
-	frame SPRITE_ANIM_FRAME_IDX_42,  8
-	frame SPRITE_ANIM_FRAME_IDX_41,  8
-	frame SPRITE_ANIM_FRAME_IDX_42,  8, OAM_X_FLIP
+	frame SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_1,  8
+	frame SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_2,  8
+	frame SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_1,  8
+	frame SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_2,  8, OAM_X_FLIP
 	dorestart
 
 ; XXX
@@ -371,9 +371,9 @@
 	endanim
 
 .Frameset_MobileTradeSentBall:
-	frame SPRITE_ANIM_FRAME_IDX_32,  3
-	frame SPRITE_ANIM_FRAME_IDX_33,  3
-	frame SPRITE_ANIM_FRAME_IDX_34,  3
+	frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_1,  3
+	frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_2,  3
+	frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_3,  3
 	frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1,  3
 	frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2,  3
 	frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1,  3
@@ -401,82 +401,82 @@
 	frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2,  3
 	frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1,  3
 	frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2,  3, OAM_X_FLIP
-	frame SPRITE_ANIM_FRAME_IDX_32,  3
-	frame SPRITE_ANIM_FRAME_IDX_33,  3
-	frame SPRITE_ANIM_FRAME_IDX_34,  3
+	frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_1,  3
+	frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_2,  3
+	frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_3,  3
 	delanim
 
-.Frameset_31:
-	frame SPRITE_ANIM_FRAME_IDX_67,  3
-	frame SPRITE_ANIM_FRAME_IDX_68,  3
+.Frameset_ForMobile22:
+	frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_22_1,  3
+	frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_22_2,  3
 	dorestart
 
-.Frameset_32:
-	frame SPRITE_ANIM_FRAME_IDX_6C,  3
+.Frameset_ForMobile23:
+	frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_23,  3
 	endanim
 
-.Frameset_33:
-	frame SPRITE_ANIM_FRAME_IDX_6D,  3
+.Frameset_ForMobile24:
+	frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_24,  3
 	endanim
 
-.Frameset_34:
-	frame SPRITE_ANIM_FRAME_IDX_69,  2
-	frame SPRITE_ANIM_FRAME_IDX_6A,  2
-	frame SPRITE_ANIM_FRAME_IDX_6B,  2
+.Frameset_ForMobile25:
+	frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_1,  2
+	frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_2,  2
+	frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_3,  2
 	delanim
 
 .Frameset_IntroSuicune:
-	frame SPRITE_ANIM_FRAME_IDX_6E,  3
-	frame SPRITE_ANIM_FRAME_IDX_6F,  3
-	frame SPRITE_ANIM_FRAME_IDX_70,  3
-	frame SPRITE_ANIM_FRAME_IDX_71,  3
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_1,  3
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_2,  3
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_3,  3
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_4,  3
 	dorestart
 
 .Frameset_IntroSuicune2:
-	frame SPRITE_ANIM_FRAME_IDX_71,  3
-	frame SPRITE_ANIM_FRAME_IDX_6E,  7
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_4,  3
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_1,  7
 	endanim
 
 .Frameset_IntroPichu:
-	frame SPRITE_ANIM_FRAME_IDX_72, 32
-	frame SPRITE_ANIM_FRAME_IDX_73,  7
-	frame SPRITE_ANIM_FRAME_IDX_74,  7
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_1, 32
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_2,  7
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_3,  7
 	endanim
 
 .Frameset_IntroWooper:
-	frame SPRITE_ANIM_FRAME_IDX_75,  3
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_WOOPER,  3
 	endanim
 
 .Frameset_IntroUnown1:
-	frame SPRITE_ANIM_FRAME_IDX_76,  3
-	frame SPRITE_ANIM_FRAME_IDX_77,  3
-	frame SPRITE_ANIM_FRAME_IDX_78,  7
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_1,  3
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_2,  3
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_3,  7
 	delanim
 
 .Frameset_IntroUnown2:
-	frame SPRITE_ANIM_FRAME_IDX_76,  3, OAM_X_FLIP
-	frame SPRITE_ANIM_FRAME_IDX_77,  3, OAM_X_FLIP
-	frame SPRITE_ANIM_FRAME_IDX_78,  7, OAM_X_FLIP
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_1,  3, OAM_X_FLIP
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_2,  3, OAM_X_FLIP
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_3,  7, OAM_X_FLIP
 	delanim
 
 .Frameset_IntroUnown3:
-	frame SPRITE_ANIM_FRAME_IDX_76,  3, OAM_Y_FLIP
-	frame SPRITE_ANIM_FRAME_IDX_77,  3, OAM_Y_FLIP
-	frame SPRITE_ANIM_FRAME_IDX_78,  7, OAM_Y_FLIP
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_1,  3, OAM_Y_FLIP
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_2,  3, OAM_Y_FLIP
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_3,  7, OAM_Y_FLIP
 	delanim
 
 .Frameset_IntroUnown4:
-	frame SPRITE_ANIM_FRAME_IDX_76,  3, OAM_X_FLIP, OAM_Y_FLIP
-	frame SPRITE_ANIM_FRAME_IDX_77,  3, OAM_X_FLIP, OAM_Y_FLIP
-	frame SPRITE_ANIM_FRAME_IDX_78,  7, OAM_X_FLIP, OAM_Y_FLIP
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_1,  3, OAM_X_FLIP, OAM_Y_FLIP
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_2,  3, OAM_X_FLIP, OAM_Y_FLIP
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_3,  7, OAM_X_FLIP, OAM_Y_FLIP
 	delanim
 
 .Frameset_IntroUnownF2:
-	frame SPRITE_ANIM_FRAME_IDX_79,  3
-	frame SPRITE_ANIM_FRAME_IDX_7A,  3
-	frame SPRITE_ANIM_FRAME_IDX_7B,  3
-	frame SPRITE_ANIM_FRAME_IDX_7C,  7
-	frame SPRITE_ANIM_FRAME_IDX_7D,  7
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_1,  3
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_2,  3
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_3,  3
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_4,  7
+	frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_5,  7
 	endanim
 
 .Frameset_IntroSuicuneAway:
--- a/data/sprite_anim_oam.asm
+++ b/data/sprite_anim_oam.asm
@@ -3,8 +3,8 @@
 	; vtile offset, pointer
 	dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_FRAME_IDX_RED_WALK_1
 	dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_FRAME_IDX_RED_WALK_2
-	dbw $4c, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_02
-	dbw $5c, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_03
+	dbw $4c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_02
+	dbw $5c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_03
 	dbw $6c, .OAMData_04 ; SPRITE_ANIM_FRAME_IDX_04
 	dbw $6e, .OAMData_04 ; SPRITE_ANIM_FRAME_IDX_05
 	dbw $2d, .OAMData_06 ; SPRITE_ANIM_FRAME_IDX_06
@@ -14,7 +14,7 @@
 	dbw $00, .OAMData_08 ; SPRITE_ANIM_FRAME_IDX_0A
 	dbw $06, .OAMData_08 ; SPRITE_ANIM_FRAME_IDX_0B
 	dbw $0c, .OAMData_0c ; SPRITE_ANIM_FRAME_IDX_0C
-	dbw $0d, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_0D
+	dbw $0d, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_0D
 	dbw $00, .OAMData_0e ; SPRITE_ANIM_FRAME_IDX_0E
 	dbw $04, .OAMData_0e ; SPRITE_ANIM_FRAME_IDX_0F
 	dbw $08, .OAMData_0e ; SPRITE_ANIM_FRAME_IDX_10
@@ -26,7 +26,7 @@
 	dbw $85, .OAMData_15 ; SPRITE_ANIM_FRAME_IDX_16
 	dbw $8a, .OAMData_15 ; SPRITE_ANIM_FRAME_IDX_17
 	dbw $00, .OAMData_18 ; SPRITE_ANIM_FRAME_IDX_18
-	dbw $01, .OAMData_19 ; SPRITE_ANIM_FRAME_IDX_19
+	dbw $01, .OAMData_TradePoofBubble ; SPRITE_ANIM_FRAME_IDX_19
 	dbw $09, .OAMData_1a ; SPRITE_ANIM_FRAME_IDX_1A
 	dbw $10, .OAMData_1b ; SPRITE_ANIM_FRAME_IDX_1B
 	dbw $29, .OAMData_1b ; SPRITE_ANIM_FRAME_IDX_1C
@@ -37,9 +37,9 @@
 	dbw $00, .OAMData_ForFrameset09 ; SPRITE_ANIM_FRAME_IDX_FOR_FRAMESET_09
 	dbw $00, .OAMData_22 ; SPRITE_ANIM_FRAME_IDX_22
 	dbw $0f, .OAMData_GSIntroStar ; SPRITE_ANIM_FRAME_IDX_GS_INTRO_STAR
-	dbw $11, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_1
-	dbw $12, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_2
-	dbw $13, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_3
+	dbw $11, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_1
+	dbw $12, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_2
+	dbw $13, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_3
 	dbw $00, .OAMData_SlotsGolem ; SPRITE_ANIM_FRAME_IDX_SLOTS_GOLEM_1
 	dbw $08, .OAMData_SlotsGolem ; SPRITE_ANIM_FRAME_IDX_SLOTS_GOLEM_2
 	dbw $10, .OAMData_SlotsChansey1 ; SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_1
@@ -47,27 +47,27 @@
 	dbw $10, .OAMData_SlotsChansey3 ; SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_3
 	dbw $10, .OAMData_SlotsChansey4 ; SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_4
 	dbw $10, .OAMData_SlotsChansey5 ; SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_5
-	dbw $3a, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_SLOTS_EGG
+	dbw $3a, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_SLOTS_EGG
 	dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_FRAME_IDX_STILL_CURSOR
 	dbw $00, .OAMData_TradePokeBall1 ; SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1
-	dbw $02, .OAMData_31 ; SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2
-	dbw $06, .OAMData_19 ; SPRITE_ANIM_FRAME_IDX_32
-	dbw $0a, .OAMData_19 ; SPRITE_ANIM_FRAME_IDX_33
-	dbw $0e, .OAMData_19 ; SPRITE_ANIM_FRAME_IDX_34
+	dbw $02, .OAMData_MagnetTrainRed ; SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2
+	dbw $06, .OAMData_TradePoofBubble ; SPRITE_ANIM_FRAME_IDX_TRADE_POOF_1
+	dbw $0a, .OAMData_TradePoofBubble ; SPRITE_ANIM_FRAME_IDX_TRADE_POOF_2
+	dbw $0e, .OAMData_TradePoofBubble ; SPRITE_ANIM_FRAME_IDX_TRADE_POOF_3
 	dbw $12, .OAMData_35 ; SPRITE_ANIM_FRAME_IDX_35
 	dbw $13, .OAMData_35 ; SPRITE_ANIM_FRAME_IDX_36
 	dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_FRAME_IDX_TRADEMON_ICON_1
 	dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_FRAME_IDX_TRADEMON_ICON_2
-	dbw $10, .OAMData_19 ; SPRITE_ANIM_FRAME_IDX_39
-	dbw $00, .OAMData_31 ; SPRITE_ANIM_FRAME_IDX_3A
-	dbw $04, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_3B
+	dbw $10, .OAMData_TradePoofBubble ; SPRITE_ANIM_FRAME_IDX_TRADEMON_BUBBLE
+	dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_FRAME_IDX_EVOLUTION_BALL_OF_LIGHT_1
+	dbw $04, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_EVOLUTION_BALL_OF_LIGHT_2
 	dbw $00, .OAMData_RadioTuningKnob ; SPRITE_ANIM_FRAME_IDX_RADIO_TUNING_KNOB
 	dbw $00, .OAMData_PartyMonWithMail1 ; SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_1
 	dbw $00, .OAMData_PartyMonWithMail2 ; SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_2
 	dbw $00, .OAMData_PartyMonWithItem1 ; SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_1
 	dbw $00, .OAMData_PartyMonWithItem2 ; SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_2
-	dbw $00, .OAMData_31 ; SPRITE_ANIM_FRAME_IDX_41
-	dbw $04, .OAMData_31 ; SPRITE_ANIM_FRAME_IDX_42
+	dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_1
+	dbw $04, .OAMData_MagnetTrainRed ; SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_2
 	dbw $00, .OAMData_43 ; SPRITE_ANIM_FRAME_IDX_43
 	dbw $30, .OAMData_43 ; SPRITE_ANIM_FRAME_IDX_44
 	dbw $03, .OAMData_43 ; SPRITE_ANIM_FRAME_IDX_45
@@ -78,15 +78,15 @@
 	dbw $39, .OAMData_43 ; SPRITE_ANIM_FRAME_IDX_4A
 	dbw $0c, .OAMData_4b ; SPRITE_ANIM_FRAME_IDX_4B
 	dbw $0c, .OAMData_4c ; SPRITE_ANIM_FRAME_IDX_4C
-	dbw $3c, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_4D
-	dbw $3e, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_4E
+	dbw $3c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_4D
+	dbw $3e, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_4E
 	dbw $00, .OAMData_Leaf ; SPRITE_ANIM_FRAME_IDX_LEAF
 	dbw $00, .OAMData_Tree ; SPRITE_ANIM_FRAME_IDX_TREE_1
 	dbw $00, .OAMData_CutTree2 ; SPRITE_ANIM_FRAME_IDX_CUT_TREE_2
 	dbw $00, .OAMData_CutTree3 ; SPRITE_ANIM_FRAME_IDX_CUT_TREE_3
 	dbw $00, .OAMData_CutTree4 ; SPRITE_ANIM_FRAME_IDX_CUT_TREE_4
-	dbw $00, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_EGG_CRACK
-	dbw $01, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_55
+	dbw $00, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_EGG_CRACK
+	dbw $01, .OAMData_1x1_Palette0 ; SPRITE_ANIM_FRAME_IDX_55
 	dbw $00, .OAMData_56 ; SPRITE_ANIM_FRAME_IDX_56
 	dbw $00, .OAMData_57 ; SPRITE_ANIM_FRAME_IDX_57
 	dbw $00, .OAMData_58 ; SPRITE_ANIM_FRAME_IDX_58
@@ -104,29 +104,29 @@
 	dbw $04, .OAMData_BlueWalk ; SPRITE_ANIM_FRAME_IDX_BLUE_WALK_2
 	dbw $00, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_BLUE_1
 	dbw $04, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_BLUE_2
-	dbw $20, .OAMData_67 ; SPRITE_ANIM_FRAME_IDX_67
-	dbw $21, .OAMData_67 ; SPRITE_ANIM_FRAME_IDX_68
-	dbw $22, .OAMData_69 ; SPRITE_ANIM_FRAME_IDX_69
-	dbw $23, .OAMData_6a ; SPRITE_ANIM_FRAME_IDX_6A
-	dbw $27, .OAMData_6b ; SPRITE_ANIM_FRAME_IDX_6B
-	dbw $2a, .OAMData_6c ; SPRITE_ANIM_FRAME_IDX_6C
-	dbw $2a, .OAMData_6d ; SPRITE_ANIM_FRAME_IDX_6D
-	dbw $00, .OAMData_6e ; SPRITE_ANIM_FRAME_IDX_6E
-	dbw $08, .OAMData_6f ; SPRITE_ANIM_FRAME_IDX_6F
-	dbw $60, .OAMData_70 ; SPRITE_ANIM_FRAME_IDX_70
-	dbw $68, .OAMData_71 ; SPRITE_ANIM_FRAME_IDX_71
-	dbw $00, .OAMData_72 ; SPRITE_ANIM_FRAME_IDX_72
-	dbw $05, .OAMData_72 ; SPRITE_ANIM_FRAME_IDX_73
-	dbw $0a, .OAMData_72 ; SPRITE_ANIM_FRAME_IDX_74
-	dbw $50, .OAMData_75 ; SPRITE_ANIM_FRAME_IDX_75
-	dbw $00, .OAMData_76 ; SPRITE_ANIM_FRAME_IDX_76
-	dbw $01, .OAMData_77 ; SPRITE_ANIM_FRAME_IDX_77
-	dbw $04, .OAMData_78 ; SPRITE_ANIM_FRAME_IDX_78
-	dbw $00, .OAMData_18 ; SPRITE_ANIM_FRAME_IDX_79
-	dbw $01, .OAMData_7a ; SPRITE_ANIM_FRAME_IDX_7A
-	dbw $03, .OAMData_7b ; SPRITE_ANIM_FRAME_IDX_7B
-	dbw $08, .OAMData_7c ; SPRITE_ANIM_FRAME_IDX_7C
-	dbw $1c, .OAMData_7c ; SPRITE_ANIM_FRAME_IDX_7D
+	dbw $20, .OAMData_ForMobile22 ; SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_22_1
+	dbw $21, .OAMData_ForMobile22 ; SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_22_2
+	dbw $22, .OAMData_ForMobile25_1 ; SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_1
+	dbw $23, .OAMData_ForMobile25_2 ; SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_2
+	dbw $27, .OAMData_ForMobile25_3 ; SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_3
+	dbw $2a, .OAMData_ForMobile23 ; SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_23
+	dbw $2a, .OAMData_ForMobile24 ; SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_24
+	dbw $00, .OAMData_IntroSuicune1 ; SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_1
+	dbw $08, .OAMData_IntroSuicune2 ; SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_2
+	dbw $60, .OAMData_IntroSuicune3 ; SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_3
+	dbw $68, .OAMData_IntroSuicune4 ; SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_4
+	dbw $00, .OAMData_IntroPichu ; SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_1
+	dbw $05, .OAMData_IntroPichu ; SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_2
+	dbw $0a, .OAMData_IntroPichu ; SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_3
+	dbw $50, .OAMData_IntroWooper ; SPRITE_ANIM_FRAME_IDX_INTRO_WOOPER
+	dbw $00, .OAMData_IntroUnown1 ; SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_1
+	dbw $01, .OAMData_IntroUnown2 ; SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_2
+	dbw $04, .OAMData_IntroUnown3 ; SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_3
+	dbw $00, .OAMData_18 ; SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_1
+	dbw $01, .OAMData_IntroUnownF2_2 ; SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_2
+	dbw $03, .OAMData_IntroUnownF2_3 ; SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_3
+	dbw $08, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_4
+	dbw $1c, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_5
 	dbw $80, .OAMData_IntroSuicuneAway ; SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_AWAY
 	dbw $00, .OAMData_Celebi ; SPRITE_ANIM_FRAME_IDX_CELEBI_1
 	dbw $04, .OAMData_Celebi ; SPRITE_ANIM_FRAME_IDX_CELEBI_2
@@ -142,7 +142,7 @@
 	dbw $04, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_10
 	dbw $00, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_11
 
-.OAMData_02:
+.OAMData_1x1_Palette0:
 	db 1
 	dsprite -1,  4, -1,  4, $00, $00
 
@@ -189,24 +189,24 @@
 	dsprite  0,  0, -1,  0, $00, $c0
 	dsprite  0,  0,  0,  0, $00, $e0
 
-.OAMData_19:
+.OAMData_TradePoofBubble:
 	db 16
-	dsprite -2,  0, -2,  0, $00, $00
-	dsprite -2,  0, -1,  0, $01, $00
-	dsprite -1,  0, -2,  0, $02, $00
-	dsprite -1,  0, -1,  0, $03, $00
-	dsprite -2,  0,  0,  0, $01, $20
-	dsprite -2,  0,  1,  0, $00, $20
-	dsprite -1,  0,  0,  0, $03, $20
-	dsprite -1,  0,  1,  0, $02, $20
-	dsprite  0,  0, -2,  0, $02, $40
-	dsprite  0,  0, -1,  0, $03, $40
-	dsprite  1,  0, -2,  0, $00, $40
-	dsprite  1,  0, -1,  0, $01, $40
-	dsprite  0,  0,  0,  0, $03, $60
-	dsprite  0,  0,  1,  0, $02, $60
-	dsprite  1,  0,  0,  0, $01, $60
-	dsprite  1,  0,  1,  0, $00, $60
+	dsprite -2,  0, -2,  0, $00, 0
+	dsprite -2,  0, -1,  0, $01, 0
+	dsprite -1,  0, -2,  0, $02, 0
+	dsprite -1,  0, -1,  0, $03, 0
+	dsprite -2,  0,  0,  0, $01, 0 | X_FLIP
+	dsprite -2,  0,  1,  0, $00, 0 | X_FLIP
+	dsprite -1,  0,  0,  0, $03, 0 | X_FLIP
+	dsprite -1,  0,  1,  0, $02, 0 | X_FLIP
+	dsprite  0,  0, -2,  0, $02, 0 | Y_FLIP
+	dsprite  0,  0, -1,  0, $03, 0 | Y_FLIP
+	dsprite  1,  0, -2,  0, $00, 0 | Y_FLIP
+	dsprite  1,  0, -1,  0, $01, 0 | Y_FLIP
+	dsprite  0,  0,  0,  0, $03, 0 | X_FLIP | Y_FLIP
+	dsprite  0,  0,  1,  0, $02, 0 | X_FLIP | Y_FLIP
+	dsprite  1,  0,  0,  0, $01, 0 | X_FLIP | Y_FLIP
+	dsprite  1,  0,  1,  0, $00, 0 | X_FLIP | Y_FLIP
 
 .OAMData_1a:
 	db 36
@@ -353,12 +353,12 @@
 	dsprite  0,  0, -1,  0, $02, PAL_OW_RED
 	dsprite  0,  0,  0,  0, $03, PAL_OW_RED
 
-.OAMData_31:
+.OAMData_MagnetTrainRed:
 	db 4
-	dsprite -1,  0, -1,  0, $00, $80
-	dsprite -1,  0,  0,  0, $01, $80
-	dsprite  0,  0, -1,  0, $02, $80
-	dsprite  0,  0,  0,  0, $03, $80
+	dsprite -1,  0, -1,  0, $00, PAL_OW_RED | BEHIND_BG
+	dsprite -1,  0,  0,  0, $01, PAL_OW_RED | BEHIND_BG
+	dsprite  0,  0, -1,  0, $02, PAL_OW_RED | BEHIND_BG
+	dsprite  0,  0,  0,  0, $03, PAL_OW_RED | BEHIND_BG
 
 .OAMData_PartyMonWithMail1:
 	db 4
@@ -756,252 +756,252 @@
 	dsprite  0,  0, -1,  0, $02, PAL_OW_BLUE | BEHIND_BG
 	dsprite  0,  0,  0,  0, $03, PAL_OW_BLUE | BEHIND_BG
 
-.OAMData_67:
+.OAMData_ForMobile22:
 	db 1
-	dsprite -1,  4, -1,  4, $00, $02
+	dsprite -1,  4, -1,  4, $00, 2
 
-.OAMData_6c:
+.OAMData_ForMobile23:
 	db 4
-	dsprite -2,  0, -1,  4, $00, $03
-	dsprite -1,  0, -1,  4, $01, $03
-	dsprite  0,  0, -1,  4, $02, $03
-	dsprite  1,  0, -1,  4, $03, $03
+	dsprite -2,  0, -1,  4, $00, 3
+	dsprite -1,  0, -1,  4, $01, 3
+	dsprite  0,  0, -1,  4, $02, 3
+	dsprite  1,  0, -1,  4, $03, 3
 
-.OAMData_6d:
+.OAMData_ForMobile24:
 	db 4
-	dsprite -2,  0, -1,  4, $03, $44
-	dsprite -1,  0, -1,  4, $02, $44
-	dsprite  0,  0, -1,  4, $01, $44
-	dsprite  1,  0, -1,  4, $00, $44
+	dsprite -2,  0, -1,  4, $03, 4 | Y_FLIP
+	dsprite -1,  0, -1,  4, $02, 4 | Y_FLIP
+	dsprite  0,  0, -1,  4, $01, 4 | Y_FLIP
+	dsprite  1,  0, -1,  4, $00, 4 | Y_FLIP
 
-.OAMData_69:
+.OAMData_ForMobile25_1:
 	db 4
-	dsprite -1,  0, -1,  0, $00, $01
-	dsprite -1,  0,  0,  0, $00, $21
-	dsprite  0,  0, -1,  0, $00, $41
-	dsprite  0,  0,  0,  0, $00, $61
+	dsprite -1,  0, -1,  0, $00, 1
+	dsprite -1,  0,  0,  0, $00, 1 | X_FLIP
+	dsprite  0,  0, -1,  0, $00, 1 | Y_FLIP
+	dsprite  0,  0,  0,  0, $00, 1 | X_FLIP | Y_FLIP
 
-.OAMData_6a:
+.OAMData_ForMobile25_2:
 	db 8
-	dsprite -2,  4, -2,  4, $00, $01
-	dsprite -2,  4, -1,  4, $01, $01
-	dsprite -2,  4,  0,  4, $00, $21
-	dsprite -1,  4, -2,  4, $02, $01
-	dsprite -1,  4,  0,  4, $02, $21
-	dsprite  0,  4, -2,  4, $00, $41
-	dsprite  0,  4, -1,  4, $01, $41
-	dsprite  0,  4,  0,  4, $00, $61
+	dsprite -2,  4, -2,  4, $00, 1
+	dsprite -2,  4, -1,  4, $01, 1
+	dsprite -2,  4,  0,  4, $00, 1 | X_FLIP
+	dsprite -1,  4, -2,  4, $02, 1
+	dsprite -1,  4,  0,  4, $02, 1 | X_FLIP
+	dsprite  0,  4, -2,  4, $00, 1 | Y_FLIP
+	dsprite  0,  4, -1,  4, $01, 1 | Y_FLIP
+	dsprite  0,  4,  0,  4, $00, 1 | X_FLIP | Y_FLIP
 
-.OAMData_6b:
+.OAMData_ForMobile25_3:
 	db 12
-	dsprite -2,  0, -2,  0, $00, $01
-	dsprite -2,  0, -1,  0, $01, $01
-	dsprite -1,  0, -2,  0, $02, $01
-	dsprite -2,  0,  0,  0, $01, $21
-	dsprite -2,  0,  1,  0, $00, $21
-	dsprite -1,  0,  1,  0, $02, $21
-	dsprite  0,  0, -2,  0, $02, $41
-	dsprite  1,  0, -2,  0, $00, $41
-	dsprite  1,  0, -1,  0, $01, $41
-	dsprite  0,  0,  1,  0, $02, $61
-	dsprite  1,  0,  0,  0, $01, $61
-	dsprite  1,  0,  1,  0, $00, $61
+	dsprite -2,  0, -2,  0, $00, 1
+	dsprite -2,  0, -1,  0, $01, 1
+	dsprite -1,  0, -2,  0, $02, 1
+	dsprite -2,  0,  0,  0, $01, 1 | X_FLIP
+	dsprite -2,  0,  1,  0, $00, 1 | X_FLIP
+	dsprite -1,  0,  1,  0, $02, 1 | X_FLIP
+	dsprite  0,  0, -2,  0, $02, 1 | Y_FLIP
+	dsprite  1,  0, -2,  0, $00, 1 | Y_FLIP
+	dsprite  1,  0, -1,  0, $01, 1 | Y_FLIP
+	dsprite  0,  0,  1,  0, $02, 1 | X_FLIP | Y_FLIP
+	dsprite  1,  0,  0,  0, $01, 1 | X_FLIP | Y_FLIP
+	dsprite  1,  0,  1,  0, $00, 1 | X_FLIP | Y_FLIP
 
-.OAMData_6e:
+.OAMData_IntroSuicune1:
 	db 36
-	dsprite -3,  0,  1,  0, $05, $00
-	dsprite -3,  0,  2,  0, $06, $00
-	dsprite -3,  0,  3,  0, $07, $00
-	dsprite -2,  0, -3,  0, $11, $00
-	dsprite -2,  0, -2,  0, $12, $00
-	dsprite -2,  0, -1,  0, $13, $00
-	dsprite -2,  0,  0,  0, $14, $00
-	dsprite -2,  0,  1,  0, $15, $00
-	dsprite -2,  0,  2,  0, $16, $00
-	dsprite -2,  0,  3,  0, $17, $00
-	dsprite -1,  0, -4,  0, $20, $00
-	dsprite -1,  0, -3,  0, $21, $00
-	dsprite -1,  0, -2,  0, $22, $00
-	dsprite -1,  0, -1,  0, $23, $00
-	dsprite -1,  0,  0,  0, $24, $00
-	dsprite -1,  0,  1,  0, $25, $00
-	dsprite -1,  0,  2,  0, $26, $00
-	dsprite -1,  0,  3,  0, $27, $00
-	dsprite  0,  0, -4,  0, $30, $00
-	dsprite  0,  0, -3,  0, $31, $00
-	dsprite  0,  0, -2,  0, $32, $00
-	dsprite  0,  0, -1,  0, $33, $00
-	dsprite  0,  0,  0,  0, $34, $00
-	dsprite  0,  0,  1,  0, $35, $00
-	dsprite  0,  0,  2,  0, $36, $00
-	dsprite  1,  0, -4,  0, $40, $00
-	dsprite  1,  0, -3,  0, $41, $00
-	dsprite  1,  0, -2,  0, $42, $00
-	dsprite  1,  0, -1,  0, $43, $00
-	dsprite  1,  0,  0,  0, $44, $00
-	dsprite  1,  0,  1,  0, $45, $00
-	dsprite  1,  0,  2,  0, $46, $00
-	dsprite  1,  0,  3,  0, $47, $00
-	dsprite  2,  0, -4,  0, $50, $00
-	dsprite  2,  0, -3,  0, $51, $00
-	dsprite  2,  0,  3,  0, $57, $00
+	dsprite -3,  0,  1,  0, $05, 0
+	dsprite -3,  0,  2,  0, $06, 0
+	dsprite -3,  0,  3,  0, $07, 0
+	dsprite -2,  0, -3,  0, $11, 0
+	dsprite -2,  0, -2,  0, $12, 0
+	dsprite -2,  0, -1,  0, $13, 0
+	dsprite -2,  0,  0,  0, $14, 0
+	dsprite -2,  0,  1,  0, $15, 0
+	dsprite -2,  0,  2,  0, $16, 0
+	dsprite -2,  0,  3,  0, $17, 0
+	dsprite -1,  0, -4,  0, $20, 0
+	dsprite -1,  0, -3,  0, $21, 0
+	dsprite -1,  0, -2,  0, $22, 0
+	dsprite -1,  0, -1,  0, $23, 0
+	dsprite -1,  0,  0,  0, $24, 0
+	dsprite -1,  0,  1,  0, $25, 0
+	dsprite -1,  0,  2,  0, $26, 0
+	dsprite -1,  0,  3,  0, $27, 0
+	dsprite  0,  0, -4,  0, $30, 0
+	dsprite  0,  0, -3,  0, $31, 0
+	dsprite  0,  0, -2,  0, $32, 0
+	dsprite  0,  0, -1,  0, $33, 0
+	dsprite  0,  0,  0,  0, $34, 0
+	dsprite  0,  0,  1,  0, $35, 0
+	dsprite  0,  0,  2,  0, $36, 0
+	dsprite  1,  0, -4,  0, $40, 0
+	dsprite  1,  0, -3,  0, $41, 0
+	dsprite  1,  0, -2,  0, $42, 0
+	dsprite  1,  0, -1,  0, $43, 0
+	dsprite  1,  0,  0,  0, $44, 0
+	dsprite  1,  0,  1,  0, $45, 0
+	dsprite  1,  0,  2,  0, $46, 0
+	dsprite  1,  0,  3,  0, $47, 0
+	dsprite  2,  0, -4,  0, $50, 0
+	dsprite  2,  0, -3,  0, $51, 0
+	dsprite  2,  0,  3,  0, $57, 0
 
-.OAMData_6f:
+.OAMData_IntroSuicune2:
 	db 28
-	dsprite -3,  0,  0,  0, $04, $00
-	dsprite -3,  0,  1,  0, $05, $00
-	dsprite -3,  0,  2,  0, $06, $00
-	dsprite -2,  0, -3,  0, $11, $00
-	dsprite -2,  0, -2,  0, $12, $00
-	dsprite -2,  0, -1,  0, $13, $00
-	dsprite -2,  0,  0,  0, $14, $00
-	dsprite -2,  0,  1,  0, $15, $00
-	dsprite -2,  0,  2,  0, $16, $00
-	dsprite -1,  0, -3,  0, $21, $00
-	dsprite -1,  0, -2,  0, $22, $00
-	dsprite -1,  0, -1,  0, $23, $00
-	dsprite -1,  0,  0,  0, $24, $00
-	dsprite -1,  0,  1,  0, $25, $00
-	dsprite -1,  0,  2,  0, $26, $00
-	dsprite  0,  0, -4,  0, $30, $00
-	dsprite  0,  0, -3,  0, $31, $00
-	dsprite  0,  0, -2,  0, $32, $00
-	dsprite  0,  0, -1,  0, $33, $00
-	dsprite  0,  0,  0,  0, $34, $00
-	dsprite  0,  0,  1,  0, $35, $00
-	dsprite  1,  0, -2,  0, $42, $00
-	dsprite  1,  0, -1,  0, $43, $00
-	dsprite  1,  0,  0,  0, $44, $00
-	dsprite  1,  0,  1,  0, $45, $00
-	dsprite  2,  0, -1,  0, $53, $00
-	dsprite  2,  0,  0,  0, $54, $00
-	dsprite  2,  0,  1,  0, $55, $00
+	dsprite -3,  0,  0,  0, $04, 0
+	dsprite -3,  0,  1,  0, $05, 0
+	dsprite -3,  0,  2,  0, $06, 0
+	dsprite -2,  0, -3,  0, $11, 0
+	dsprite -2,  0, -2,  0, $12, 0
+	dsprite -2,  0, -1,  0, $13, 0
+	dsprite -2,  0,  0,  0, $14, 0
+	dsprite -2,  0,  1,  0, $15, 0
+	dsprite -2,  0,  2,  0, $16, 0
+	dsprite -1,  0, -3,  0, $21, 0
+	dsprite -1,  0, -2,  0, $22, 0
+	dsprite -1,  0, -1,  0, $23, 0
+	dsprite -1,  0,  0,  0, $24, 0
+	dsprite -1,  0,  1,  0, $25, 0
+	dsprite -1,  0,  2,  0, $26, 0
+	dsprite  0,  0, -4,  0, $30, 0
+	dsprite  0,  0, -3,  0, $31, 0
+	dsprite  0,  0, -2,  0, $32, 0
+	dsprite  0,  0, -1,  0, $33, 0
+	dsprite  0,  0,  0,  0, $34, 0
+	dsprite  0,  0,  1,  0, $35, 0
+	dsprite  1,  0, -2,  0, $42, 0
+	dsprite  1,  0, -1,  0, $43, 0
+	dsprite  1,  0,  0,  0, $44, 0
+	dsprite  1,  0,  1,  0, $45, 0
+	dsprite  2,  0, -1,  0, $53, 0
+	dsprite  2,  0,  0,  0, $54, 0
+	dsprite  2,  0,  1,  0, $55, 0
 
-.OAMData_70:
+.OAMData_IntroSuicune3:
 	db 30
-	dsprite -3,  0,  0,  0, $04, $00
-	dsprite -3,  0,  1,  0, $05, $00
-	dsprite -2,  0, -3,  0, $11, $00
-	dsprite -2,  0, -2,  0, $12, $00
-	dsprite -2,  0, -1,  0, $13, $00
-	dsprite -2,  0,  0,  0, $14, $00
-	dsprite -2,  0,  1,  0, $15, $00
-	dsprite -2,  0,  2,  0, $16, $00
-	dsprite -2,  0,  3,  0, $17, $00
-	dsprite -1,  0, -4,  0, $20, $00
-	dsprite -1,  0, -3,  0, $21, $00
-	dsprite -1,  0, -2,  0, $22, $00
-	dsprite -1,  0, -1,  0, $23, $00
-	dsprite -1,  0,  0,  0, $24, $00
-	dsprite -1,  0,  1,  0, $25, $00
-	dsprite -1,  0,  2,  0, $26, $00
-	dsprite  0,  0, -4,  0, $30, $00
-	dsprite  0,  0, -3,  0, $31, $00
-	dsprite  0,  0, -2,  0, $32, $00
-	dsprite  0,  0, -1,  0, $33, $00
-	dsprite  0,  0,  0,  0, $34, $00
-	dsprite  0,  0,  1,  0, $35, $00
-	dsprite  1,  0, -2,  0, $42, $00
-	dsprite  1,  0, -1,  0, $43, $00
-	dsprite  1,  0,  0,  0, $44, $00
-	dsprite  1,  0,  1,  0, $45, $00
-	dsprite  2,  0, -2,  0, $52, $00
-	dsprite  2,  0, -1,  0, $53, $00
-	dsprite  2,  0,  0,  0, $54, $00
-	dsprite  2,  0,  1,  0, $55, $00
+	dsprite -3,  0,  0,  0, $04, 0
+	dsprite -3,  0,  1,  0, $05, 0
+	dsprite -2,  0, -3,  0, $11, 0
+	dsprite -2,  0, -2,  0, $12, 0
+	dsprite -2,  0, -1,  0, $13, 0
+	dsprite -2,  0,  0,  0, $14, 0
+	dsprite -2,  0,  1,  0, $15, 0
+	dsprite -2,  0,  2,  0, $16, 0
+	dsprite -2,  0,  3,  0, $17, 0
+	dsprite -1,  0, -4,  0, $20, 0
+	dsprite -1,  0, -3,  0, $21, 0
+	dsprite -1,  0, -2,  0, $22, 0
+	dsprite -1,  0, -1,  0, $23, 0
+	dsprite -1,  0,  0,  0, $24, 0
+	dsprite -1,  0,  1,  0, $25, 0
+	dsprite -1,  0,  2,  0, $26, 0
+	dsprite  0,  0, -4,  0, $30, 0
+	dsprite  0,  0, -3,  0, $31, 0
+	dsprite  0,  0, -2,  0, $32, 0
+	dsprite  0,  0, -1,  0, $33, 0
+	dsprite  0,  0,  0,  0, $34, 0
+	dsprite  0,  0,  1,  0, $35, 0
+	dsprite  1,  0, -2,  0, $42, 0
+	dsprite  1,  0, -1,  0, $43, 0
+	dsprite  1,  0,  0,  0, $44, 0
+	dsprite  1,  0,  1,  0, $45, 0
+	dsprite  2,  0, -2,  0, $52, 0
+	dsprite  2,  0, -1,  0, $53, 0
+	dsprite  2,  0,  0,  0, $54, 0
+	dsprite  2,  0,  1,  0, $55, 0
 
-.OAMData_71:
+.OAMData_IntroSuicune4:
 	db 31
-	dsprite -2,  0, -3,  0, $11, $00
-	dsprite -2,  0, -2,  0, $12, $00
-	dsprite -2,  0, -1,  0, $13, $00
-	dsprite -2,  0,  0,  0, $14, $00
-	dsprite -2,  0,  1,  0, $15, $00
-	dsprite -2,  0,  2,  0, $16, $00
-	dsprite -2,  0,  3,  0, $17, $00
-	dsprite -1,  0, -4,  0, $20, $00
-	dsprite -1,  0, -3,  0, $21, $00
-	dsprite -1,  0, -2,  0, $22, $00
-	dsprite -1,  0, -1,  0, $23, $00
-	dsprite -1,  0,  0,  0, $24, $00
-	dsprite -1,  0,  1,  0, $25, $00
-	dsprite -1,  0,  2,  0, $26, $00
-	dsprite -1,  0,  3,  0, $27, $00
-	dsprite  0,  0, -4,  0, $30, $00
-	dsprite  0,  0, -3,  0, $31, $00
-	dsprite  0,  0, -2,  0, $32, $00
-	dsprite  0,  0, -1,  0, $33, $00
-	dsprite  0,  0,  0,  0, $34, $00
-	dsprite  0,  0,  1,  0, $35, $00
-	dsprite  0,  0,  2,  0, $36, $00
-	dsprite  1,  0, -3,  0, $41, $00
-	dsprite  1,  0, -2,  0, $42, $00
-	dsprite  1,  0, -1,  0, $43, $00
-	dsprite  1,  0,  0,  0, $44, $00
-	dsprite  1,  0,  1,  0, $45, $00
-	dsprite  2,  0, -3,  0, $51, $00
-	dsprite  2,  0, -2,  0, $52, $00
-	dsprite  2,  0,  0,  0, $54, $00
-	dsprite  2,  0,  1,  0, $55, $00
+	dsprite -2,  0, -3,  0, $11, 0
+	dsprite -2,  0, -2,  0, $12, 0
+	dsprite -2,  0, -1,  0, $13, 0
+	dsprite -2,  0,  0,  0, $14, 0
+	dsprite -2,  0,  1,  0, $15, 0
+	dsprite -2,  0,  2,  0, $16, 0
+	dsprite -2,  0,  3,  0, $17, 0
+	dsprite -1,  0, -4,  0, $20, 0
+	dsprite -1,  0, -3,  0, $21, 0
+	dsprite -1,  0, -2,  0, $22, 0
+	dsprite -1,  0, -1,  0, $23, 0
+	dsprite -1,  0,  0,  0, $24, 0
+	dsprite -1,  0,  1,  0, $25, 0
+	dsprite -1,  0,  2,  0, $26, 0
+	dsprite -1,  0,  3,  0, $27, 0
+	dsprite  0,  0, -4,  0, $30, 0
+	dsprite  0,  0, -3,  0, $31, 0
+	dsprite  0,  0, -2,  0, $32, 0
+	dsprite  0,  0, -1,  0, $33, 0
+	dsprite  0,  0,  0,  0, $34, 0
+	dsprite  0,  0,  1,  0, $35, 0
+	dsprite  0,  0,  2,  0, $36, 0
+	dsprite  1,  0, -3,  0, $41, 0
+	dsprite  1,  0, -2,  0, $42, 0
+	dsprite  1,  0, -1,  0, $43, 0
+	dsprite  1,  0,  0,  0, $44, 0
+	dsprite  1,  0,  1,  0, $45, 0
+	dsprite  2,  0, -3,  0, $51, 0
+	dsprite  2,  0, -2,  0, $52, 0
+	dsprite  2,  0,  0,  0, $54, 0
+	dsprite  2,  0,  1,  0, $55, 0
 
-.OAMData_72:
+.OAMData_IntroPichu:
 	db 25
-	dsprite -3,  4, -3,  4, $00, $09
-	dsprite -3,  4, -2,  4, $01, $09
-	dsprite -3,  4, -1,  4, $02, $09
-	dsprite -3,  4,  0,  4, $03, $09
-	dsprite -3,  4,  1,  4, $04, $09
-	dsprite -2,  4, -3,  4, $10, $09
-	dsprite -2,  4, -2,  4, $11, $09
-	dsprite -2,  4, -1,  4, $12, $09
-	dsprite -2,  4,  0,  4, $13, $09
-	dsprite -2,  4,  1,  4, $14, $09
-	dsprite -1,  4, -3,  4, $20, $09
-	dsprite -1,  4, -2,  4, $21, $09
-	dsprite -1,  4, -1,  4, $22, $09
-	dsprite -1,  4,  0,  4, $23, $09
-	dsprite -1,  4,  1,  4, $24, $09
-	dsprite  0,  4, -3,  4, $30, $09
-	dsprite  0,  4, -2,  4, $31, $09
-	dsprite  0,  4, -1,  4, $32, $09
-	dsprite  0,  4,  0,  4, $33, $09
-	dsprite  0,  4,  1,  4, $34, $09
-	dsprite  1,  4, -3,  4, $40, $09
-	dsprite  1,  4, -2,  4, $41, $09
-	dsprite  1,  4, -1,  4, $42, $09
-	dsprite  1,  4,  0,  4, $43, $09
-	dsprite  1,  4,  1,  4, $44, $09
+	dsprite -3,  4, -3,  4, $00, 1 | VRAM_BANK_1
+	dsprite -3,  4, -2,  4, $01, 1 | VRAM_BANK_1
+	dsprite -3,  4, -1,  4, $02, 1 | VRAM_BANK_1
+	dsprite -3,  4,  0,  4, $03, 1 | VRAM_BANK_1
+	dsprite -3,  4,  1,  4, $04, 1 | VRAM_BANK_1
+	dsprite -2,  4, -3,  4, $10, 1 | VRAM_BANK_1
+	dsprite -2,  4, -2,  4, $11, 1 | VRAM_BANK_1
+	dsprite -2,  4, -1,  4, $12, 1 | VRAM_BANK_1
+	dsprite -2,  4,  0,  4, $13, 1 | VRAM_BANK_1
+	dsprite -2,  4,  1,  4, $14, 1 | VRAM_BANK_1
+	dsprite -1,  4, -3,  4, $20, 1 | VRAM_BANK_1
+	dsprite -1,  4, -2,  4, $21, 1 | VRAM_BANK_1
+	dsprite -1,  4, -1,  4, $22, 1 | VRAM_BANK_1
+	dsprite -1,  4,  0,  4, $23, 1 | VRAM_BANK_1
+	dsprite -1,  4,  1,  4, $24, 1 | VRAM_BANK_1
+	dsprite  0,  4, -3,  4, $30, 1 | VRAM_BANK_1
+	dsprite  0,  4, -2,  4, $31, 1 | VRAM_BANK_1
+	dsprite  0,  4, -1,  4, $32, 1 | VRAM_BANK_1
+	dsprite  0,  4,  0,  4, $33, 1 | VRAM_BANK_1
+	dsprite  0,  4,  1,  4, $34, 1 | VRAM_BANK_1
+	dsprite  1,  4, -3,  4, $40, 1 | VRAM_BANK_1
+	dsprite  1,  4, -2,  4, $41, 1 | VRAM_BANK_1
+	dsprite  1,  4, -1,  4, $42, 1 | VRAM_BANK_1
+	dsprite  1,  4,  0,  4, $43, 1 | VRAM_BANK_1
+	dsprite  1,  4,  1,  4, $44, 1 | VRAM_BANK_1
 
-.OAMData_75:
+.OAMData_IntroWooper:
 	db 16
-	dsprite -2,  0, -3,  4, $00, $0a
-	dsprite -2,  0, -2,  4, $01, $0a
-	dsprite -2,  0, -1,  4, $02, $0a
-	dsprite -2,  0,  0,  4, $03, $0a
-	dsprite -1,  0, -3,  4, $04, $0a
-	dsprite -1,  0, -2,  4, $05, $0a
-	dsprite -1,  0, -1,  4, $06, $0a
-	dsprite -1,  0,  0,  4, $07, $0a
-	dsprite  0,  0, -3,  4, $08, $0a
-	dsprite  0,  0, -2,  4, $09, $0a
-	dsprite  0,  0, -1,  4, $0a, $0a
-	dsprite  0,  0,  0,  4, $0b, $0a
-	dsprite  1,  0, -3,  4, $0c, $0a
-	dsprite  1,  0, -2,  4, $0d, $0a
-	dsprite  1,  0, -1,  4, $0e, $0a
-	dsprite  1,  0,  0,  4, $0f, $0a
+	dsprite -2,  0, -3,  4, $00, 2 | VRAM_BANK_1
+	dsprite -2,  0, -2,  4, $01, 2 | VRAM_BANK_1
+	dsprite -2,  0, -1,  4, $02, 2 | VRAM_BANK_1
+	dsprite -2,  0,  0,  4, $03, 2 | VRAM_BANK_1
+	dsprite -1,  0, -3,  4, $04, 2 | VRAM_BANK_1
+	dsprite -1,  0, -2,  4, $05, 2 | VRAM_BANK_1
+	dsprite -1,  0, -1,  4, $06, 2 | VRAM_BANK_1
+	dsprite -1,  0,  0,  4, $07, 2 | VRAM_BANK_1
+	dsprite  0,  0, -3,  4, $08, 2 | VRAM_BANK_1
+	dsprite  0,  0, -2,  4, $09, 2 | VRAM_BANK_1
+	dsprite  0,  0, -1,  4, $0a, 2 | VRAM_BANK_1
+	dsprite  0,  0,  0,  4, $0b, 2 | VRAM_BANK_1
+	dsprite  1,  0, -3,  4, $0c, 2 | VRAM_BANK_1
+	dsprite  1,  0, -2,  4, $0d, 2 | VRAM_BANK_1
+	dsprite  1,  0, -1,  4, $0e, 2 | VRAM_BANK_1
+	dsprite  1,  0,  0,  4, $0f, 2 | VRAM_BANK_1
 
-.OAMData_76:
+.OAMData_IntroUnown1:
 	db 1
 	dsprite -1,  4, -1,  4, $00, $00
 
-.OAMData_77:
+.OAMData_IntroUnown2:
 	db 3
 	dsprite  0,  0, -1,  0, $00, $00
 	dsprite -1,  0, -1,  0, $01, $00
 	dsprite -1,  0,  0,  0, $02, $00
 
-.OAMData_78:
+.OAMData_IntroUnown3:
 	db 7
 	dsprite  1,  0, -2,  0, $00, $00
 	dsprite  0,  0, -2,  0, $01, $00
@@ -1011,7 +1011,7 @@
 	dsprite -2,  0,  0,  0, $05, $00
 	dsprite -2,  0,  1,  0, $06, $00
 
-.OAMData_7a:
+.OAMData_IntroUnownF2_2:
 	db 8
 	dsprite -1,  0, -2,  0, $00, 0
 	dsprite -1,  0, -1,  0, $01, 0
@@ -1022,7 +1022,7 @@
 	dsprite  0,  0,  0,  0, $01, 0 | X_FLIP | Y_FLIP
 	dsprite  0,  0,  1,  0, $00, 0 | X_FLIP | Y_FLIP
 
-.OAMData_7b:
+.OAMData_IntroUnownF2_3:
 	db 12
 	dsprite -3,  0, -1,  0, $00, 0
 	dsprite -2,  0, -1,  0, $01, 0
@@ -1037,28 +1037,28 @@
 	dsprite  1,  0,  0,  0, $01, 0 | X_FLIP | Y_FLIP
 	dsprite  2,  0,  0,  0, $00, 0 | X_FLIP | Y_FLIP
 
-.OAMData_7c:
+.OAMData_IntroUnownF2_4_5:
 	db 20
-	dsprite -3,  4, -2,  0, $00, $00
-	dsprite -3,  4, -1,  0, $01, $00
-	dsprite -3,  4,  0,  0, $02, $00
-	dsprite -3,  4,  1,  0, $03, $00
-	dsprite -2,  4, -2,  0, $04, $00
-	dsprite -2,  4, -1,  0, $05, $00
-	dsprite -2,  4,  0,  0, $06, $00
-	dsprite -2,  4,  1,  0, $07, $00
-	dsprite -1,  4, -2,  0, $08, $00
-	dsprite -1,  4, -1,  0, $09, $00
-	dsprite -1,  4,  0,  0, $0a, $00
-	dsprite -1,  4,  1,  0, $0b, $00
-	dsprite  0,  4, -2,  0, $0c, $00
-	dsprite  0,  4, -1,  0, $0d, $00
-	dsprite  0,  4,  0,  0, $0e, $00
-	dsprite  0,  4,  1,  0, $0f, $00
-	dsprite  1,  4, -2,  0, $10, $00
-	dsprite  1,  4, -1,  0, $11, $00
-	dsprite  1,  4,  0,  0, $12, $00
-	dsprite  1,  4,  1,  0, $13, $00
+	dsprite -3,  4, -2,  0, $00, 0
+	dsprite -3,  4, -1,  0, $01, 0
+	dsprite -3,  4,  0,  0, $02, 0
+	dsprite -3,  4,  1,  0, $03, 0
+	dsprite -2,  4, -2,  0, $04, 0
+	dsprite -2,  4, -1,  0, $05, 0
+	dsprite -2,  4,  0,  0, $06, 0
+	dsprite -2,  4,  1,  0, $07, 0
+	dsprite -1,  4, -2,  0, $08, 0
+	dsprite -1,  4, -1,  0, $09, 0
+	dsprite -1,  4,  0,  0, $0a, 0
+	dsprite -1,  4,  1,  0, $0b, 0
+	dsprite  0,  4, -2,  0, $0c, 0
+	dsprite  0,  4, -1,  0, $0d, 0
+	dsprite  0,  4,  0,  0, $0e, 0
+	dsprite  0,  4,  1,  0, $0f, 0
+	dsprite  1,  4, -2,  0, $10, 0
+	dsprite  1,  4, -1,  0, $11, 0
+	dsprite  1,  4,  0,  0, $12, 0
+	dsprite  1,  4,  1,  0, $13, 0
 
 .OAMData_IntroSuicuneAway:
 	db 20
--- a/data/sprite_anim_seqs.asm
+++ b/data/sprite_anim_seqs.asm
@@ -69,14 +69,14 @@
 	db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL, SPRITE_ANIM_SEQ_NULL, $00
 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL
 	db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL, SPRITE_ANIM_SEQ_NULL, $00
-; SPRITE_ANIM_INDEX_22
-	db SPRITE_ANIM_FRAMESET_31, SPRITE_ANIM_SEQ_NULL, $00
-; SPRITE_ANIM_INDEX_23
-	db SPRITE_ANIM_FRAMESET_32, SPRITE_ANIM_SEQ_1B, $00
-; SPRITE_ANIM_INDEX_24
-	db SPRITE_ANIM_FRAMESET_33, SPRITE_ANIM_SEQ_1C, $00
-; SPRITE_ANIM_INDEX_25
-	db SPRITE_ANIM_FRAMESET_34, SPRITE_ANIM_SEQ_NULL, $00
+; SPRITE_ANIM_INDEX_MOBILE_22
+	db SPRITE_ANIM_FRAMESET_FOR_MOBILE_22, SPRITE_ANIM_SEQ_NULL, $00
+; SPRITE_ANIM_INDEX_MOBILE_23
+	db SPRITE_ANIM_FRAMESET_FOR_MOBILE_23, SPRITE_ANIM_SEQ_FOR_MOBILE_23, $00
+; SPRITE_ANIM_INDEX_MOBILE_24
+	db SPRITE_ANIM_FRAMESET_FOR_MOBILE_24, SPRITE_ANIM_SEQ_FOR_MOBILE_24, $00
+; SPRITE_ANIM_INDEX_MOBILE_25
+	db SPRITE_ANIM_FRAMESET_FOR_MOBILE_25, SPRITE_ANIM_SEQ_NULL, $00
 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE
 	db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_INTRO_SUICUNE, $00
 ; SPRITE_ANIM_INDEX_INTRO_PICHU
--- /dev/null
+++ b/docs/move_anim_commands.md
@@ -1,0 +1,99 @@
+# Move Animation Commands
+
+## `$00`−`$EF`: `anim_wait` *length*
+
+## `$D0`: `anim_obj` *object*, *x*, *y*, *param*
+
+## `$D1`: `anim_1gfx` *gfx*
+
+## `$D2`: `anim_2gfx` *gfx1*, *gfx2*
+
+## `$D3`: `anim_3gfx` *gfx1*, *gfx2*, *gfx3*
+
+## `$D4`: `anim_4gfx` *gfx1*, *gfx2*, *gfx3*, *gfx4*
+
+## `$D5`: `anim_5gfx` *gfx1*, *gfx2*, *gfx3*, *gfx4*, *gfx5*
+
+## `$D6`: `anim_incobj` *id*
+
+## `$D7`: `anim_setobj` *id*, *object*
+
+## `$D8`: `anim_incbgeffect` *effect*
+
+## `$D9`: `anim_enemyfeetobj`
+
+## `$DA`: `anim_playerheadobj`
+
+## `$DB`: `anim_checkpokeball`
+
+## `$DC`: `anim_transform`
+
+## `$DD`: `anim_raisesub`
+
+## `$DE`: `anim_dropsub`
+
+## `$DF`: `anim_resetobp0`
+
+## `$E0`: `anim_sound` *duration*, *tracks*, *id*
+
+## `$E1`: `anim_cry` *pitch*
+
+## `$E2`: `anim_minimizeopp`
+
+## `$E3`: `anim_oamon`
+
+## `$E4`: `anim_oamoff`
+
+## `$E5`: `anim_clearobjs`
+
+## `$E6`: `anim_beatup`
+
+## `$E7`: `anim_0xe7`
+
+## `$E8`: `anim_updateactorpic`
+
+## `$E9`: `anim_minimize`
+
+## `$EA`: `anim_0xea`
+
+## `$EB`: `anim_0xeb`
+
+## `$EC`: `anim_0xec`
+
+## `$ED`: `anim_0xed`
+
+## `$EE`: `anim_if_param_and` *value*, *address*
+
+## `$EF`: `anim_jumpuntil` *address*
+
+## `$F0`: `anim_bgeffect` *effect*, *unknown1*, *unknown2*, *unknown3*
+
+## `$F1`: `anim_bgp` *colors*
+
+## `$F2`: `anim_obp0` *colors*
+
+## `$F3`: `anim_obp1` *colors*
+
+## `$F4`: `anim_clearsprites`
+
+## `$F5`: `anim_0xf5`
+
+## `$F6`: `anim_0xf6`
+
+## `$F7`: `anim_0xf7`
+
+## `$F8`: `anim_if_param_equal` *value*, *address*
+
+## `$F9`: `anim_setvar` *value*
+
+## `$FA`: `anim_incvar`
+
+## `$FB`: `anim_if_var_equal` *value*, *address*
+
+## `$FC`: `anim_jump` *address*
+
+## `$FD`: `anim_loop` *count*, *address*
+
+## `$FE`: `anim_call` *address*
+
+## `$FF`: `anim_ret`
--- /dev/null
+++ b/docs/movement_commands.md
@@ -1,0 +1,81 @@
+# Movement Commands
+
+## `$00`−`$03`: `turn_head` *direction*
+
+## `$04`−`$07`: `turn_step` *direction*
+
+## `$08`−`$0B`: `slow_step` *direction*
+
+## `$0C`−`$0F`: `step` *direction*
+
+## `$10`−`$13`: `big_step` *direction*
+
+## `$14`−`$17`: `slow_slide_step` *direction*
+
+## `$18`−`$1B`: `slide_step` *direction*
+
+## `$1C`−`$1F`: `fast_slide_step` *direction*
+
+## `$20`−`$23`: `turn_away` *direction*
+
+## `$24`−`$27`: `turn_in` *direction*
+
+## `$28`−`$2B`: `turn_waterfall` *direction*
+
+## `$2C`−`$2F`: `slow_jump_step` *direction*
+
+## `$30`−`$33`: `jump_step` *direction*
+
+## `$34`−`$37`: `fast_jump_step` *direction*
+
+## `$38`: `remove_sliding`
+
+## `$39`: `set_sliding`
+
+## `$3A`: `remove_fixed_facing`
+
+## `$3B`: `fix_facing`
+
+## `$3C`: `show_person`
+
+## `$3D`: `hide_person`
+
+## `$3E`−`$46`: `step_sleep` *length*
+
+## `$47`: `step_end`
+
+## `$48`: `step_48` *param*
+
+## `$49`: `remove_person`
+
+## `$4A`: `step_loop`
+
+## `$4B`: `step_4b`
+
+## `$4C`: `teleport_from`
+
+## `$4D`: `teleport_to`
+
+## `$4E`: `skyfall`
+
+## `$4F`: `step_dig` *length*
+
+## `$50`: `step_bump`
+
+## `$51`: `fish_got_bite`
+
+## `$52`: `fish_cast_rod`
+
+## `$53`: `hide_emote`
+
+## `$54`: `show_emote`
+
+## `$55`: `step_shake` *displacement*
+
+## `$56`: `tree_shake`
+
+## `$57`: `rock_smash` *length*
+
+## `$58`: `return_dig` *length*
+
+## `$59`: `skyfall_top`
--- a/engine/movement.asm
+++ b/engine/movement.asm
@@ -1,4 +1,5 @@
 MovementPointers: ; 5075
+; entries correspond to macros/movement.asm enumeration
 	dw Movement_turn_head_down        ; 00
 	dw Movement_turn_head_up          ; 01
 	dw Movement_turn_head_left        ; 02
--- a/engine/scripting.asm
+++ b/engine/scripting.asm
@@ -64,6 +64,7 @@
 
 
 ScriptCommandTable:
+; entries correspond to macros/event.asm enumeration
 	dw Script_scall                      ; 00
 	dw Script_farscall                   ; 01
 	dw Script_ptcall                     ; 02
--- a/engine/trade/animation.asm
+++ b/engine/trade/animation.asm
@@ -236,6 +236,7 @@
 ; 290af
 
 .JumpTable: ; 290af
+; entries correspond to macros/trade_anim.asm enumeration
 	dw TradeAnim_AdvanceScriptPointer ; 00
 	dw TradeAnim_ShowGivemonData      ; 01
 	dw TradeAnim_ShowGetmonData       ; 02
--- a/gbhw.asm
+++ b/gbhw.asm
@@ -36,11 +36,11 @@
 OAM_PRIORITY  EQU 7 ; 0: OBJ above BG, 1: OBJ behind BG (colors 1-3)
 
 PALETTE_MASK EQU %111
-VRAM_BANK_1  EQU 1 << OAM_TILE_BANK
-OBP_NUM      EQU 1 << OAM_OBP_NUM
-X_FLIP       EQU 1 << OAM_X_FLIP
-Y_FLIP       EQU 1 << OAM_Y_FLIP
-BEHIND_BG    EQU 1 << OAM_PRIORITY
+VRAM_BANK_1  EQU 1 << OAM_TILE_BANK ; $08
+OBP_NUM      EQU 1 << OAM_OBP_NUM   ; $10
+X_FLIP       EQU 1 << OAM_X_FLIP    ; $20
+Y_FLIP       EQU 1 << OAM_Y_FLIP    ; $40
+BEHIND_BG    EQU 1 << OAM_PRIORITY  ; $80
 
 ; Hardware registers
 rJOYP       EQU $ff00 ; Joypad (R/W)
--- a/home/text.asm
+++ b/home/text.asm
@@ -748,6 +748,7 @@
 ; 1410
 
 TextCommands:: ; 1410
+; entries correspond to macros/text.asm enumeration
 	dw Text_TX
 	dw Text_TX_RAM
 	dw Text_TX_BCD
--- a/macros/event.asm
+++ b/macros/event.asm
@@ -1,3 +1,4 @@
+; ScriptCommandTable indexes (see engine/scripting.asm)
 	enum_start
 
 	enum scall_command
--- a/macros/move_anim.asm
+++ b/macros/move_anim.asm
@@ -5,6 +5,7 @@
 	db \1
 	endm
 
+; BattleAnimCommands indexes (see battle/anim_commands.asm)
 	enum_start $d0
 
 	enum anim_obj_command ; d0
--- a/macros/movement.asm
+++ b/macros/movement.asm
@@ -1,3 +1,4 @@
+; MovementPointers indexes (see engine/movement.asm)
 	enum_start
 
 ; Directional movements
--- a/macros/sound.asm
+++ b/macros/sound.asm
@@ -23,7 +23,9 @@
 	dw \1, \2, \3
 	endm
 
+; MusicCommands indexes (see audio/engine.asm)
 	enum_start $d8
+
 	enum notetype_cmd
 octave: macro
 	db notetype_cmd - (\1)
--- a/macros/text.asm
+++ b/macros/text.asm
@@ -7,9 +7,9 @@
 done   EQUS "db $57"  ; End a text box.
 prompt EQUS "db $58"  ; Prompt the player to end a text box (initiating some other event).
 
-; TX_RAM EQU $01
-; TX_FAR EQU $16
-	enum_start 1
+; TextCommands indexes (see home/text.asm)
+	enum_start $01
+
 	enum TX_RAM
 text_from_ram: MACRO
 	db TX_RAM
--- a/macros/trade_anim.asm
+++ b/macros/trade_anim.asm
@@ -1,4 +1,6 @@
+; DoTradeAnimation.JumpTable indexes (see engine/trade/animation.asm)
 	enum_start
+
 	enum tradeanim_next_command
 tradeanim_next: macro
 	db tradeanim_next_command ; 00
--- a/misc/mobile_42.asm
+++ b/misc/mobile_42.asm
@@ -960,7 +960,7 @@
 	cp $f8
 	jr nz, .next
 	depixel 10, 11, 4, 0
-	ld a, SPRITE_ANIM_INDEX_22
+	ld a, SPRITE_ANIM_INDEX_MOBILE_22
 	call _InitSpriteAnimStruct
 
 .next
@@ -985,7 +985,7 @@
 
 .init
 	depixel 10, 11, 4, 0
-	ld a, SPRITE_ANIM_INDEX_22
+	ld a, SPRITE_ANIM_INDEX_MOBILE_22
 	call _InitSpriteAnimStruct
 	xor a
 	call Function108ad4
@@ -1016,7 +1016,7 @@
 	call Function108af4
 	call Function108b5a
 	depixel 9, 10, 2, 0
-	ld a, SPRITE_ANIM_INDEX_25
+	ld a, SPRITE_ANIM_INDEX_MOBILE_25
 	call _InitSpriteAnimStruct
 	ld de, SFX_FORESIGHT
 	call PlaySFX
@@ -1025,7 +1025,7 @@
 	xor a
 	ld [wcf64], a
 	depixel 9, 10, 2, 0
-	ld a, SPRITE_ANIM_INDEX_23
+	ld a, SPRITE_ANIM_INDEX_MOBILE_23
 	call _InitSpriteAnimStruct
 .loop
 	ld a, [hSCY]
@@ -1052,7 +1052,7 @@
 	ld c, 60
 	call WaitMobileTradeSpriteAnims
 	depixel 30, 10, 2, 0
-	ld a, SPRITE_ANIM_INDEX_24
+	ld a, SPRITE_ANIM_INDEX_MOBILE_24
 	call _InitSpriteAnimStruct
 	call GetMobileTradeAnimByte
 	ld de, SFX_THROW_BALL
@@ -1075,7 +1075,7 @@
 	ld c, 80
 	call DelayFrames
 	depixel 30, 10, 2, 0
-	ld a, SPRITE_ANIM_INDEX_24
+	ld a, SPRITE_ANIM_INDEX_MOBILE_24
 	call _InitSpriteAnimStruct
 	call GetMobileTradeAnimByte
 	ld de, SFX_THROW_BALL
@@ -1099,7 +1099,7 @@
 .done
 	callba DeinitializeAllSprites
 	depixel 9, 10, 2, 0
-	ld a, SPRITE_ANIM_INDEX_25
+	ld a, SPRITE_ANIM_INDEX_MOBILE_25
 	call _InitSpriteAnimStruct
 	ld de, SFX_GLASS_TING_2
 	call PlaySFX
@@ -1135,13 +1135,13 @@
 
 .asm_1088c5
 	depixel 10, 11, 4, 0
-	ld a, SPRITE_ANIM_INDEX_22
+	ld a, SPRITE_ANIM_INDEX_MOBILE_22
 	call _InitSpriteAnimStruct
 	jr .asm_1088e7
 
 .asm_1088cf
 	depixel 10, 11, 4, 0
-	ld a, SPRITE_ANIM_INDEX_22
+	ld a, SPRITE_ANIM_INDEX_MOBILE_22
 	call _InitSpriteAnimStruct
 	xor a
 	call Function108ad4