shithub: pokecrystal

Download patch

ref: a147c35540f4010b495cc1ba990320eeb4af1b35
parent: c5a3429314e26c4a26a1a5ddd5fe4d2d59294b71
parent: 3b43f79dc67b0e2d65bacf222d5ef044c0376fde
author: Rangi <35663410+Rangi42@users.noreply.github.com>
date: Thu Aug 27 08:13:44 EDT 2020

Merge pull request #762 from mid-kid/master

Better document splash screen

--- a/constants/battle_anim_constants.asm
+++ b/constants/battle_anim_constants.asm
@@ -1,7 +1,7 @@
 ; battle_anim_struct members (see macros/wram.asm)
 	const_def
 	const BATTLEANIMSTRUCT_INDEX
-	const BATTLEANIMSTRUCT_01
+	const BATTLEANIMSTRUCT_OAMFLAGS
 	const BATTLEANIMSTRUCT_02
 	const BATTLEANIMSTRUCT_FRAMESET_ID
 	const BATTLEANIMSTRUCT_FUNCTION
@@ -14,9 +14,9 @@
 	const BATTLEANIMSTRUCT_PARAM
 	const BATTLEANIMSTRUCT_DURATION
 	const BATTLEANIMSTRUCT_FRAME
-	const BATTLEANIMSTRUCT_ANON_JT_INDEX
-	const BATTLEANIMSTRUCT_0F
-	const BATTLEANIMSTRUCT_10
+	const BATTLEANIMSTRUCT_JUMPTABLE_INDEX
+	const BATTLEANIMSTRUCT_VAR1
+	const BATTLEANIMSTRUCT_VAR2
 	const_skip 7
 BATTLEANIMSTRUCT_LENGTH EQU const_value
 NUM_ANIM_OBJECTS EQU 10 ; see wActiveAnimObjects
--- a/constants/sprite_anim_constants.asm
+++ b/constants/sprite_anim_constants.asm
@@ -12,307 +12,307 @@
 	const SPRITEANIMSTRUCT_DURATIONOFFSET  ; 9
 	const SPRITEANIMSTRUCT_FRAME           ; a
 	const SPRITEANIMSTRUCT_JUMPTABLE_INDEX ; b
-	const SPRITEANIMSTRUCT_0C              ; c
-	const SPRITEANIMSTRUCT_0D              ; d
-	const SPRITEANIMSTRUCT_0E              ; e
-	const SPRITEANIMSTRUCT_0F              ; f
+	const SPRITEANIMSTRUCT_VAR1            ; c
+	const SPRITEANIMSTRUCT_VAR2            ; d
+	const SPRITEANIMSTRUCT_VAR3            ; e
+	const SPRITEANIMSTRUCT_VAR4            ; f
 SPRITEANIMSTRUCT_LENGTH EQU const_value
 NUM_SPRITE_ANIM_STRUCTS EQU 10 ; see wSpriteAnimationStructs
 
 ; SpriteAnimSeqData indexes (see data/sprite_anims/sequences.asm)
 	const_def
-	const SPRITE_ANIM_INDEX_PARTY_MON                ; 00
-	const SPRITE_ANIM_INDEX_GS_TITLE_TRAIL           ; 01
-	const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR     ; 02
-	const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO           ; 03
-	const SPRITE_ANIM_INDEX_GS_INTRO_STAR            ; 04
-	const SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE         ; 05
-	const SPRITE_ANIM_INDEX_SLOTS_GOLEM              ; 06
-	const SPRITE_ANIM_INDEX_SLOTS_CHANSEY            ; 07
-	const SPRITE_ANIM_INDEX_SLOTS_EGG                ; 08
-	const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR      ; 09
-	const SPRITE_ANIM_INDEX_RED_WALK                 ; 0a
-	const SPRITE_ANIM_INDEX_UNUSED_CURSOR            ; 0b
-	const SPRITE_ANIM_INDEX_DUMMY_GAME               ; 0c
-	const SPRITE_ANIM_INDEX_POKEGEAR_ARROW           ; 0d
-	const SPRITE_ANIM_INDEX_TRADE_POKE_BALL          ; 0e
-	const SPRITE_ANIM_INDEX_TRADE_POOF               ; 0f
-	const SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE         ; 10
-	const SPRITE_ANIM_INDEX_TRADEMON_ICON            ; 11
-	const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE          ; 12
-	const SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT  ; 13
-	const SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB        ; 14
-	const SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED         ; 15
-	const SPRITE_ANIM_INDEX_LEAF                     ; 16
-	const SPRITE_ANIM_INDEX_CUT_TREE                 ; 17
-	const SPRITE_ANIM_INDEX_FLY_LEAF                 ; 18
-	const SPRITE_ANIM_INDEX_EGG_CRACK                ; 19
-	const SPRITE_ANIM_INDEX_GS_INTRO_HO_OH_LUGIA     ; 1a
-	const SPRITE_ANIM_INDEX_HEADBUTT                 ; 1b
-	const SPRITE_ANIM_INDEX_EGG_HATCH                ; 1c
-	const SPRITE_ANIM_INDEX_EZCHAT_CURSOR            ; 1d
-	const SPRITE_ANIM_INDEX_BLUE_WALK                ; 1e
-	const SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE        ; 1f
-	const SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL   ; 20
-	const SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL     ; 21
-	const SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE ; 22
-	const SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_PULSE  ; 23
-	const SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_PULSE    ; 24
-	const SPRITE_ANIM_INDEX_MOBILE_TRADE_PING        ; 25
-	const SPRITE_ANIM_INDEX_INTRO_SUICUNE            ; 26
-	const SPRITE_ANIM_INDEX_INTRO_PICHU              ; 27
-	const SPRITE_ANIM_INDEX_INTRO_WOOPER             ; 28
-	const SPRITE_ANIM_INDEX_INTRO_UNOWN              ; 29
-	const SPRITE_ANIM_INDEX_INTRO_UNOWN_F            ; 2a
-	const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY       ; 2b
-	const SPRITE_ANIM_INDEX_CELEBI                   ; 2c
+	const SPRITE_ANIM_INDEX_PARTY_MON                 ; 00
+	const SPRITE_ANIM_INDEX_GS_TITLE_TRAIL            ; 01
+	const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR      ; 02
+	const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO            ; 03
+	const SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_STAR    ; 04
+	const SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_SPARKLE ; 05
+	const SPRITE_ANIM_INDEX_SLOTS_GOLEM               ; 06
+	const SPRITE_ANIM_INDEX_SLOTS_CHANSEY             ; 07
+	const SPRITE_ANIM_INDEX_SLOTS_EGG                 ; 08
+	const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR       ; 09
+	const SPRITE_ANIM_INDEX_RED_WALK                  ; 0a
+	const SPRITE_ANIM_INDEX_UNUSED_CURSOR             ; 0b
+	const SPRITE_ANIM_INDEX_DUMMY_GAME                ; 0c
+	const SPRITE_ANIM_INDEX_POKEGEAR_ARROW            ; 0d
+	const SPRITE_ANIM_INDEX_TRADE_POKE_BALL           ; 0e
+	const SPRITE_ANIM_INDEX_TRADE_POOF                ; 0f
+	const SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE          ; 10
+	const SPRITE_ANIM_INDEX_TRADEMON_ICON             ; 11
+	const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE           ; 12
+	const SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT   ; 13
+	const SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB         ; 14
+	const SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED          ; 15
+	const SPRITE_ANIM_INDEX_LEAF                      ; 16
+	const SPRITE_ANIM_INDEX_CUT_TREE                  ; 17
+	const SPRITE_ANIM_INDEX_FLY_LEAF                  ; 18
+	const SPRITE_ANIM_INDEX_EGG_CRACK                 ; 19
+	const SPRITE_ANIM_INDEX_GS_INTRO_HO_OH_LUGIA      ; 1a
+	const SPRITE_ANIM_INDEX_HEADBUTT                  ; 1b
+	const SPRITE_ANIM_INDEX_EGG_HATCH                 ; 1c
+	const SPRITE_ANIM_INDEX_EZCHAT_CURSOR             ; 1d
+	const SPRITE_ANIM_INDEX_BLUE_WALK                 ; 1e
+	const SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE         ; 1f
+	const SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL    ; 20
+	const SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL      ; 21
+	const SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE  ; 22
+	const SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_PULSE   ; 23
+	const SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_PULSE     ; 24
+	const SPRITE_ANIM_INDEX_MOBILE_TRADE_PING         ; 25
+	const SPRITE_ANIM_INDEX_INTRO_SUICUNE             ; 26
+	const SPRITE_ANIM_INDEX_INTRO_PICHU               ; 27
+	const SPRITE_ANIM_INDEX_INTRO_WOOPER              ; 28
+	const SPRITE_ANIM_INDEX_INTRO_UNOWN               ; 29
+	const SPRITE_ANIM_INDEX_INTRO_UNOWN_F             ; 2a
+	const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY        ; 2b
+	const SPRITE_ANIM_INDEX_CELEBI                    ; 2c
 
 ; DoAnimFrame.Jumptable indexes (see engine/gfx/sprite_anims.asm)
 	const_def
-	const SPRITE_ANIM_SEQ_NULL                    ; 00
-	const SPRITE_ANIM_SEQ_PARTY_MON               ; 01
-	const SPRITE_ANIM_SEQ_PARTY_MON_SWITCH        ; 02
-	const SPRITE_ANIM_SEQ_PARTY_MON_SELECTED      ; 03
-	const SPRITE_ANIM_SEQ_GS_TITLE_TRAIL          ; 04
-	const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR    ; 05
-	const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO          ; 06
-	const SPRITE_ANIM_SEQ_GS_INTRO_STAR           ; 07
-	const SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE        ; 08
-	const SPRITE_ANIM_SEQ_SLOTS_GOLEM             ; 09
-	const SPRITE_ANIM_SEQ_SLOTS_CHANSEY           ; 0a
-	const SPRITE_ANIM_SEQ_SLOTS_EGG               ; 0b
-	const SPRITE_ANIM_SEQ_MAIL_CURSOR             ; 0c
-	const SPRITE_ANIM_SEQ_UNUSED_CURSOR           ; 0d
-	const SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR       ; 0e
-	const SPRITE_ANIM_SEQ_POKEGEAR_ARROW          ; 0f
-	const SPRITE_ANIM_SEQ_TRADE_POKE_BALL         ; 10
-	const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE        ; 11
-	const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE        ; 12
-	const SPRITE_ANIM_SEQ_REVEAL_NEW_MON          ; 13
-	const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB       ; 14
-	const SPRITE_ANIM_SEQ_CUT_LEAVES              ; 15
-	const SPRITE_ANIM_SEQ_FLY_FROM                ; 16
-	const SPRITE_ANIM_SEQ_FLY_LEAF                ; 17
-	const SPRITE_ANIM_SEQ_FLY_TO                  ; 18
-	const SPRITE_ANIM_SEQ_GS_INTRO_HO_OH_LUGIA    ; 19
-	const SPRITE_ANIM_SEQ_EZCHAT_CURSOR           ; 1a
-	const SPRITE_ANIM_SEQ_MOBILE_TRADE_SENT_PULSE ; 1b
-	const SPRITE_ANIM_SEQ_MOBILE_TRADE_OT_PULSE   ; 1c
-	const SPRITE_ANIM_SEQ_INTRO_SUICUNE           ; 1d
-	const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER      ; 1e
-	const SPRITE_ANIM_SEQ_CELEBI                  ; 1f
-	const SPRITE_ANIM_SEQ_INTRO_UNOWN             ; 20
-	const SPRITE_ANIM_SEQ_INTRO_UNOWN_F           ; 21
-	const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY      ; 22
+	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_GAMEFREAK_LOGO_STAR    ; 07
+	const SPRITE_ANIM_SEQ_GS_GAMEFREAK_LOGO_SPARKLE ; 08
+	const SPRITE_ANIM_SEQ_SLOTS_GOLEM               ; 09
+	const SPRITE_ANIM_SEQ_SLOTS_CHANSEY             ; 0a
+	const SPRITE_ANIM_SEQ_SLOTS_EGG                 ; 0b
+	const SPRITE_ANIM_SEQ_MAIL_CURSOR               ; 0c
+	const SPRITE_ANIM_SEQ_UNUSED_CURSOR             ; 0d
+	const SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR         ; 0e
+	const SPRITE_ANIM_SEQ_POKEGEAR_ARROW            ; 0f
+	const SPRITE_ANIM_SEQ_TRADE_POKE_BALL           ; 10
+	const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE          ; 11
+	const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE          ; 12
+	const SPRITE_ANIM_SEQ_REVEAL_NEW_MON            ; 13
+	const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB         ; 14
+	const SPRITE_ANIM_SEQ_CUT_LEAVES                ; 15
+	const SPRITE_ANIM_SEQ_FLY_FROM                  ; 16
+	const SPRITE_ANIM_SEQ_FLY_LEAF                  ; 17
+	const SPRITE_ANIM_SEQ_FLY_TO                    ; 18
+	const SPRITE_ANIM_SEQ_GS_INTRO_HO_OH_LUGIA      ; 19
+	const SPRITE_ANIM_SEQ_EZCHAT_CURSOR             ; 1a
+	const SPRITE_ANIM_SEQ_MOBILE_TRADE_SENT_PULSE   ; 1b
+	const SPRITE_ANIM_SEQ_MOBILE_TRADE_OT_PULSE     ; 1c
+	const SPRITE_ANIM_SEQ_INTRO_SUICUNE             ; 1d
+	const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER        ; 1e
+	const SPRITE_ANIM_SEQ_CELEBI                    ; 1f
+	const SPRITE_ANIM_SEQ_INTRO_UNOWN               ; 20
+	const SPRITE_ANIM_SEQ_INTRO_UNOWN_F             ; 21
+	const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY        ; 22
 
 ; SpriteAnimFrameData indexes (see data/sprite_anims/framesets.asm)
 	const_def
-	const SPRITE_ANIM_FRAMESET_00                       ; 00
-	const SPRITE_ANIM_FRAMESET_PARTY_MON                ; 01
-	const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL      ; 02
-	const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM      ; 03
-	const SPRITE_ANIM_FRAMESET_PARTY_MON_FAST           ; 04
-	const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL_FAST ; 05
-	const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM_FAST ; 06
-	const SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL           ; 07
-	const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR        ; 08
-	const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR_BIG    ; 09
-	const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO           ; 0a
-	const SPRITE_ANIM_FRAMESET_GS_INTRO_STAR            ; 0b
-	const SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE         ; 0c
-	const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM              ; 0d
-	const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY            ; 0e
-	const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2          ; 0f
-	const SPRITE_ANIM_FRAMESET_SLOTS_EGG                ; 10
-	const SPRITE_ANIM_FRAMESET_RED_WALK                 ; 11
-	const SPRITE_ANIM_FRAMESET_STILL_CURSOR             ; 12
-	const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL          ; 13
-	const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_WOBBLE   ; 14
-	const SPRITE_ANIM_FRAMESET_TRADE_POOF               ; 15
-	const SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE         ; 16
-	const SPRITE_ANIM_FRAMESET_TRADEMON_ICON            ; 17
-	const SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE          ; 18
-	const SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT  ; 19
-	const SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB        ; 1a
-	const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED         ; 1b
-	const SPRITE_ANIM_FRAMESET_UNUSED_1C                ; 1c
-	const SPRITE_ANIM_FRAMESET_LEAF                     ; 1d
-	const SPRITE_ANIM_FRAMESET_CUT_TREE                 ; 1e
-	const SPRITE_ANIM_FRAMESET_EGG_CRACK                ; 1f
-	const SPRITE_ANIM_FRAMESET_EGG_HATCH_1              ; 20
-	const SPRITE_ANIM_FRAMESET_EGG_HATCH_2              ; 21
-	const SPRITE_ANIM_FRAMESET_EGG_HATCH_3              ; 22
-	const SPRITE_ANIM_FRAMESET_EGG_HATCH_4              ; 23
-	const SPRITE_ANIM_FRAMESET_GS_INTRO_HO_OH_LUGIA     ; 24
-	const SPRITE_ANIM_FRAMESET_HEADBUTT                 ; 25
-	const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1          ; 26
-	const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_2          ; 27
-	const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3          ; 28
-	const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_4          ; 29
-	const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_5          ; 2a
-	const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_6          ; 2b
-	const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_7          ; 2c
-	const SPRITE_ANIM_FRAMESET_BLUE_WALK                ; 2d
-	const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE        ; 2e
-	const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL   ; 2f
-	const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL     ; 30
-	const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_CABLE_BULGE ; 31
-	const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_PULSE  ; 32
-	const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_PULSE    ; 33
-	const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_PING        ; 34
-	const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE            ; 35
-	const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_2          ; 36
-	const SPRITE_ANIM_FRAMESET_INTRO_PICHU              ; 37
-	const SPRITE_ANIM_FRAMESET_INTRO_WOOPER             ; 38
-	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1            ; 39
-	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_2            ; 3a
-	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_3            ; 3b
-	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_4            ; 3c
-	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F_2          ; 3d
-	const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY       ; 3e
-	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F            ; 3f
-	const SPRITE_ANIM_FRAMESET_CELEBI_LEFT              ; 40
-	const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT             ; 41
+	const SPRITE_ANIM_FRAMESET_00                        ; 00
+	const SPRITE_ANIM_FRAMESET_PARTY_MON                 ; 01
+	const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL       ; 02
+	const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM       ; 03
+	const SPRITE_ANIM_FRAMESET_PARTY_MON_FAST            ; 04
+	const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL_FAST  ; 05
+	const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM_FAST  ; 06
+	const SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL            ; 07
+	const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR         ; 08
+	const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR_BIG     ; 09
+	const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO            ; 0a
+	const SPRITE_ANIM_FRAMESET_GS_GAMEFREAK_LOGO_STAR    ; 0b
+	const SPRITE_ANIM_FRAMESET_GS_GAMEFREAK_LOGO_SPARKLE ; 0c
+	const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM               ; 0d
+	const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY             ; 0e
+	const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2           ; 0f
+	const SPRITE_ANIM_FRAMESET_SLOTS_EGG                 ; 10
+	const SPRITE_ANIM_FRAMESET_RED_WALK                  ; 11
+	const SPRITE_ANIM_FRAMESET_STILL_CURSOR              ; 12
+	const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL           ; 13
+	const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_WOBBLE    ; 14
+	const SPRITE_ANIM_FRAMESET_TRADE_POOF                ; 15
+	const SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE          ; 16
+	const SPRITE_ANIM_FRAMESET_TRADEMON_ICON             ; 17
+	const SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE           ; 18
+	const SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT   ; 19
+	const SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB         ; 1a
+	const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED          ; 1b
+	const SPRITE_ANIM_FRAMESET_UNUSED_1C                 ; 1c
+	const SPRITE_ANIM_FRAMESET_LEAF                      ; 1d
+	const SPRITE_ANIM_FRAMESET_CUT_TREE                  ; 1e
+	const SPRITE_ANIM_FRAMESET_EGG_CRACK                 ; 1f
+	const SPRITE_ANIM_FRAMESET_EGG_HATCH_1               ; 20
+	const SPRITE_ANIM_FRAMESET_EGG_HATCH_2               ; 21
+	const SPRITE_ANIM_FRAMESET_EGG_HATCH_3               ; 22
+	const SPRITE_ANIM_FRAMESET_EGG_HATCH_4               ; 23
+	const SPRITE_ANIM_FRAMESET_GS_INTRO_HO_OH_LUGIA      ; 24
+	const SPRITE_ANIM_FRAMESET_HEADBUTT                  ; 25
+	const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1           ; 26
+	const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_2           ; 27
+	const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3           ; 28
+	const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_4           ; 29
+	const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_5           ; 2a
+	const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_6           ; 2b
+	const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_7           ; 2c
+	const SPRITE_ANIM_FRAMESET_BLUE_WALK                 ; 2d
+	const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE         ; 2e
+	const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL    ; 2f
+	const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL      ; 30
+	const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_CABLE_BULGE  ; 31
+	const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_PULSE   ; 32
+	const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_PULSE     ; 33
+	const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_PING         ; 34
+	const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE             ; 35
+	const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_2           ; 36
+	const SPRITE_ANIM_FRAMESET_INTRO_PICHU               ; 37
+	const SPRITE_ANIM_FRAMESET_INTRO_WOOPER              ; 38
+	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1             ; 39
+	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_2             ; 3a
+	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_3             ; 3b
+	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_4             ; 3c
+	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F_2           ; 3d
+	const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY        ; 3e
+	const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F             ; 3f
+	const SPRITE_ANIM_FRAMESET_CELEBI_LEFT               ; 40
+	const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT              ; 41
 
 ; SpriteAnimOAMData indexes (see data/sprite_anims/oam.asm)
 	const_def
-	const SPRITE_ANIM_OAMSET_RED_WALK_1                 ; 00
-	const SPRITE_ANIM_OAMSET_RED_WALK_2                 ; 01
-	const SPRITE_ANIM_OAMSET_GS_INTRO_BUBBLE_1          ; 02
-	const SPRITE_ANIM_OAMSET_GS_INTRO_BUBBLE_2          ; 03
-	const SPRITE_ANIM_OAMSET_GS_INTRO_SHELLDER_1        ; 04
-	const SPRITE_ANIM_OAMSET_GS_INTRO_SHELLDER_2        ; 05
-	const SPRITE_ANIM_OAMSET_GS_INTRO_MAGIKARP_1        ; 06
-	const SPRITE_ANIM_OAMSET_GS_INTRO_MAGIKARP_2        ; 07
-	const SPRITE_ANIM_OAMSET_GS_INTRO_UNUSED_LAPRAS     ; 08
-	const SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_1          ; 09
-	const SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_2          ; 0a
-	const SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_3          ; 0b
-	const SPRITE_ANIM_OAMSET_GS_INTRO_NOTE              ; 0c
-	const SPRITE_ANIM_OAMSET_GS_INTRO_INVISIBLE_NOTE    ; 0d
-	const SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_1      ; 0e
-	const SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_2      ; 0f
-	const SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_3      ; 10
-	const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_1         ; 11
-	const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_2         ; 12
-	const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_3         ; 13
-	const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_4         ; 14
-	const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_1    ; 15
-	const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_2    ; 16
-	const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_3    ; 17
-	const SPRITE_ANIM_OAMSET_GS_INTRO_SMALL_FIREBALL    ; 18
-	const SPRITE_ANIM_OAMSET_GS_INTRO_MED_FIREBALL      ; 19
-	const SPRITE_ANIM_OAMSET_GS_INTRO_BIG_FIREBALL      ; 1a
-	const SPRITE_ANIM_OAMSET_GS_INTRO_CHIKORITA         ; 1b
-	const SPRITE_ANIM_OAMSET_GS_INTRO_CYNDAQUIL         ; 1c
-	const SPRITE_ANIM_OAMSET_GS_INTRO_TOTODILE          ; 1d
-	const SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1           ; 1e
-	const SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2           ; 1f
-	const SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR          ; 20
-	const SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR_BIG      ; 21
-	const SPRITE_ANIM_OAMSET_GS_INTRO_GAMEFREAK_LOGO    ; 22
-	const SPRITE_ANIM_OAMSET_GS_INTRO_STAR              ; 23
-	const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1         ; 24
-	const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2         ; 25
-	const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3         ; 26
-	const SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1              ; 27
-	const SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2              ; 28
-	const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1            ; 29
-	const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2            ; 2a
-	const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3            ; 2b
-	const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4            ; 2c
-	const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5            ; 2d
-	const SPRITE_ANIM_OAMSET_SLOTS_EGG                  ; 2e
-	const SPRITE_ANIM_OAMSET_STILL_CURSOR               ; 2f
-	const SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1          ; 30
-	const SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2          ; 31
-	const SPRITE_ANIM_OAMSET_TRADE_POOF_1               ; 32
-	const SPRITE_ANIM_OAMSET_TRADE_POOF_2               ; 33
-	const SPRITE_ANIM_OAMSET_TRADE_POOF_3               ; 34
-	const SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_1         ; 35
-	const SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_2         ; 36
-	const SPRITE_ANIM_OAMSET_TRADEMON_ICON_1            ; 37
-	const SPRITE_ANIM_OAMSET_TRADEMON_ICON_2            ; 38
-	const SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE            ; 39
-	const SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1  ; 3a
-	const SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2  ; 3b
-	const SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB          ; 3c
-	const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1      ; 3d
-	const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2      ; 3e
-	const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1      ; 3f
-	const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2      ; 40
-	const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1         ; 41
-	const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2         ; 42
-	const SPRITE_ANIM_OAMSET_UNUSED_43                  ; 43
-	const SPRITE_ANIM_OAMSET_UNUSED_44                  ; 44
-	const SPRITE_ANIM_OAMSET_UNUSED_45                  ; 45
-	const SPRITE_ANIM_OAMSET_UNUSED_46                  ; 46
-	const SPRITE_ANIM_OAMSET_UNUSED_47                  ; 47
-	const SPRITE_ANIM_OAMSET_UNUSED_48                  ; 48
-	const SPRITE_ANIM_OAMSET_UNUSED_49                  ; 49
-	const SPRITE_ANIM_OAMSET_UNUSED_4A                  ; 4a
-	const SPRITE_ANIM_OAMSET_UNUSED_4B                  ; 4b
-	const SPRITE_ANIM_OAMSET_UNUSED_4C                  ; 4c
-	const SPRITE_ANIM_OAMSET_UNUSED_4D                  ; 4d
-	const SPRITE_ANIM_OAMSET_UNUSED_4E                  ; 4e
-	const SPRITE_ANIM_OAMSET_LEAF                       ; 4f
-	const SPRITE_ANIM_OAMSET_TREE_1                     ; 50
-	const SPRITE_ANIM_OAMSET_CUT_TREE_2                 ; 51
-	const SPRITE_ANIM_OAMSET_CUT_TREE_3                 ; 52
-	const SPRITE_ANIM_OAMSET_CUT_TREE_4                 ; 53
-	const SPRITE_ANIM_OAMSET_EGG_CRACK                  ; 54
-	const SPRITE_ANIM_OAMSET_EGG_HATCH                  ; 55
-	const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_1     ; 56
-	const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_2     ; 57
-	const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_3     ; 58
-	const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_4     ; 59
-	const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_5     ; 5a
-	const SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2            ; 5b
-	const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_1            ; 5c
-	const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_2            ; 5d
-	const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_3            ; 5e
-	const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_4            ; 5f
-	const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_5            ; 60
-	const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_6            ; 61
-	const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_7            ; 62
-	const SPRITE_ANIM_OAMSET_BLUE_WALK_1                ; 63
-	const SPRITE_ANIM_OAMSET_BLUE_WALK_2                ; 64
-	const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1        ; 65
-	const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2        ; 66
-	const SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_1 ; 67
-	const SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_2 ; 68
-	const SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_1        ; 69
-	const SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_2        ; 6a
-	const SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_3        ; 6b
-	const SPRITE_ANIM_OAMSET_MOBILE_TRADE_SENT_PULSE    ; 6c
-	const SPRITE_ANIM_OAMSET_MOBILE_TRADE_OT_PULSE      ; 6d
-	const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1            ; 6e
-	const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2            ; 6f
-	const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3            ; 70
-	const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4            ; 71
-	const SPRITE_ANIM_OAMSET_INTRO_PICHU_1              ; 72
-	const SPRITE_ANIM_OAMSET_INTRO_PICHU_2              ; 73
-	const SPRITE_ANIM_OAMSET_INTRO_PICHU_3              ; 74
-	const SPRITE_ANIM_OAMSET_INTRO_WOOPER               ; 75
-	const SPRITE_ANIM_OAMSET_INTRO_UNOWN_1              ; 76
-	const SPRITE_ANIM_OAMSET_INTRO_UNOWN_2              ; 77
-	const SPRITE_ANIM_OAMSET_INTRO_UNOWN_3              ; 78
-	const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1          ; 79
-	const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2          ; 7a
-	const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3          ; 7b
-	const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4          ; 7c
-	const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5          ; 7d
-	const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY         ; 7e
-	const SPRITE_ANIM_OAMSET_CELEBI_1                   ; 7f
-	const SPRITE_ANIM_OAMSET_CELEBI_2                   ; 80
-	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1           ; 81
-	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2           ; 82
-	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3           ; 83
-	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4           ; 84
-	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5           ; 85
-	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6           ; 86
-	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7           ; 87
-	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8           ; 88
-	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9           ; 89
-	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10          ; 8a
-	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11          ; 8b
+	const SPRITE_ANIM_OAMSET_RED_WALK_1                  ; 00
+	const SPRITE_ANIM_OAMSET_RED_WALK_2                  ; 01
+	const SPRITE_ANIM_OAMSET_GS_INTRO_BUBBLE_1           ; 02
+	const SPRITE_ANIM_OAMSET_GS_INTRO_BUBBLE_2           ; 03
+	const SPRITE_ANIM_OAMSET_GS_INTRO_SHELLDER_1         ; 04
+	const SPRITE_ANIM_OAMSET_GS_INTRO_SHELLDER_2         ; 05
+	const SPRITE_ANIM_OAMSET_GS_INTRO_MAGIKARP_1         ; 06
+	const SPRITE_ANIM_OAMSET_GS_INTRO_MAGIKARP_2         ; 07
+	const SPRITE_ANIM_OAMSET_GS_INTRO_UNUSED_LAPRAS      ; 08
+	const SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_1           ; 09
+	const SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_2           ; 0a
+	const SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_3           ; 0b
+	const SPRITE_ANIM_OAMSET_GS_INTRO_NOTE               ; 0c
+	const SPRITE_ANIM_OAMSET_GS_INTRO_INVISIBLE_NOTE     ; 0d
+	const SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_1       ; 0e
+	const SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_2       ; 0f
+	const SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_3       ; 10
+	const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_1          ; 11
+	const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_2          ; 12
+	const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_3          ; 13
+	const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_4          ; 14
+	const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_1     ; 15
+	const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_2     ; 16
+	const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_3     ; 17
+	const SPRITE_ANIM_OAMSET_GS_INTRO_SMALL_FIREBALL     ; 18
+	const SPRITE_ANIM_OAMSET_GS_INTRO_MED_FIREBALL       ; 19
+	const SPRITE_ANIM_OAMSET_GS_INTRO_BIG_FIREBALL       ; 1a
+	const SPRITE_ANIM_OAMSET_GS_INTRO_CHIKORITA          ; 1b
+	const SPRITE_ANIM_OAMSET_GS_INTRO_CYNDAQUIL          ; 1c
+	const SPRITE_ANIM_OAMSET_GS_INTRO_TOTODILE           ; 1d
+	const SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1            ; 1e
+	const SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2            ; 1f
+	const SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR           ; 20
+	const SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR_BIG       ; 21
+	const SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO           ; 22
+	const SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_STAR      ; 23
+	const SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_1 ; 24
+	const SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_2 ; 25
+	const SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_3 ; 26
+	const SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1               ; 27
+	const SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2               ; 28
+	const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1             ; 29
+	const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2             ; 2a
+	const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3             ; 2b
+	const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4             ; 2c
+	const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5             ; 2d
+	const SPRITE_ANIM_OAMSET_SLOTS_EGG                   ; 2e
+	const SPRITE_ANIM_OAMSET_STILL_CURSOR                ; 2f
+	const SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1           ; 30
+	const SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2           ; 31
+	const SPRITE_ANIM_OAMSET_TRADE_POOF_1                ; 32
+	const SPRITE_ANIM_OAMSET_TRADE_POOF_2                ; 33
+	const SPRITE_ANIM_OAMSET_TRADE_POOF_3                ; 34
+	const SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_1          ; 35
+	const SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_2          ; 36
+	const SPRITE_ANIM_OAMSET_TRADEMON_ICON_1             ; 37
+	const SPRITE_ANIM_OAMSET_TRADEMON_ICON_2             ; 38
+	const SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE             ; 39
+	const SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1   ; 3a
+	const SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2   ; 3b
+	const SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB           ; 3c
+	const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1       ; 3d
+	const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2       ; 3e
+	const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1       ; 3f
+	const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2       ; 40
+	const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1          ; 41
+	const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2          ; 42
+	const SPRITE_ANIM_OAMSET_UNUSED_43                   ; 43
+	const SPRITE_ANIM_OAMSET_UNUSED_44                   ; 44
+	const SPRITE_ANIM_OAMSET_UNUSED_45                   ; 45
+	const SPRITE_ANIM_OAMSET_UNUSED_46                   ; 46
+	const SPRITE_ANIM_OAMSET_UNUSED_47                   ; 47
+	const SPRITE_ANIM_OAMSET_UNUSED_48                   ; 48
+	const SPRITE_ANIM_OAMSET_UNUSED_49                   ; 49
+	const SPRITE_ANIM_OAMSET_UNUSED_4A                   ; 4a
+	const SPRITE_ANIM_OAMSET_UNUSED_4B                   ; 4b
+	const SPRITE_ANIM_OAMSET_UNUSED_4C                   ; 4c
+	const SPRITE_ANIM_OAMSET_UNUSED_4D                   ; 4d
+	const SPRITE_ANIM_OAMSET_UNUSED_4E                   ; 4e
+	const SPRITE_ANIM_OAMSET_LEAF                        ; 4f
+	const SPRITE_ANIM_OAMSET_TREE_1                      ; 50
+	const SPRITE_ANIM_OAMSET_CUT_TREE_2                  ; 51
+	const SPRITE_ANIM_OAMSET_CUT_TREE_3                  ; 52
+	const SPRITE_ANIM_OAMSET_CUT_TREE_4                  ; 53
+	const SPRITE_ANIM_OAMSET_EGG_CRACK                   ; 54
+	const SPRITE_ANIM_OAMSET_EGG_HATCH                   ; 55
+	const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_1      ; 56
+	const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_2      ; 57
+	const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_3      ; 58
+	const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_4      ; 59
+	const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_LUGIA_5      ; 5a
+	const SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2             ; 5b
+	const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_1             ; 5c
+	const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_2             ; 5d
+	const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_3             ; 5e
+	const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_4             ; 5f
+	const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_5             ; 60
+	const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_6             ; 61
+	const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_7             ; 62
+	const SPRITE_ANIM_OAMSET_BLUE_WALK_1                 ; 63
+	const SPRITE_ANIM_OAMSET_BLUE_WALK_2                 ; 64
+	const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1         ; 65
+	const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2         ; 66
+	const SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_1  ; 67
+	const SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_2  ; 68
+	const SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_1         ; 69
+	const SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_2         ; 6a
+	const SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_3         ; 6b
+	const SPRITE_ANIM_OAMSET_MOBILE_TRADE_SENT_PULSE     ; 6c
+	const SPRITE_ANIM_OAMSET_MOBILE_TRADE_OT_PULSE       ; 6d
+	const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1             ; 6e
+	const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2             ; 6f
+	const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3             ; 70
+	const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4             ; 71
+	const SPRITE_ANIM_OAMSET_INTRO_PICHU_1               ; 72
+	const SPRITE_ANIM_OAMSET_INTRO_PICHU_2               ; 73
+	const SPRITE_ANIM_OAMSET_INTRO_PICHU_3               ; 74
+	const SPRITE_ANIM_OAMSET_INTRO_WOOPER                ; 75
+	const SPRITE_ANIM_OAMSET_INTRO_UNOWN_1               ; 76
+	const SPRITE_ANIM_OAMSET_INTRO_UNOWN_2               ; 77
+	const SPRITE_ANIM_OAMSET_INTRO_UNOWN_3               ; 78
+	const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1           ; 79
+	const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2           ; 7a
+	const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3           ; 7b
+	const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4           ; 7c
+	const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5           ; 7d
+	const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY          ; 7e
+	const SPRITE_ANIM_OAMSET_CELEBI_1                    ; 7f
+	const SPRITE_ANIM_OAMSET_CELEBI_2                    ; 80
+	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1            ; 81
+	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2            ; 82
+	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3            ; 83
+	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4            ; 84
+	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5            ; 85
+	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6            ; 86
+	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7            ; 87
+	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8            ; 88
+	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9            ; 89
+	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10           ; 8a
+	const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11           ; 8b
--- a/data/sprite_anims/framesets.asm
+++ b/data/sprite_anims/framesets.asm
@@ -11,8 +11,8 @@
 	dw .Frameset_TextEntryCursor
 	dw .Frameset_TextEntryCursorBig
 	dw .Frameset_GameFreakLogo
-	dw .Frameset_GSIntroStar
-	dw .Frameset_GSIntroSparkle
+	dw .Frameset_GSGameFreakLogoStar
+	dw .Frameset_GSGameFreakLogoSparkle
 	dw .Frameset_SlotsGolem
 	dw .Frameset_SlotsChansey
 	dw .Frameset_SlotsChansey2
@@ -155,16 +155,16 @@
 	frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11,  7
 	endanim
 
-.Frameset_GSIntroStar:
-	frame SPRITE_ANIM_OAMSET_GS_INTRO_STAR,  3
-	frame SPRITE_ANIM_OAMSET_GS_INTRO_STAR,  3, OAM_Y_FLIP
+.Frameset_GSGameFreakLogoStar:
+	frame SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_STAR,  3
+	frame SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_STAR,  3, OAM_Y_FLIP
 	dorestart
 
-.Frameset_GSIntroSparkle:
-	frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1,  2
-	frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2,  2
-	frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3,  2
-	frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2,  2
+.Frameset_GSGameFreakLogoSparkle:
+	frame SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_1,  2
+	frame SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_2,  2
+	frame SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_3,  2
+	frame SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_2,  2
 	dorestart
 
 .Frameset_SlotsGolem:
--- a/data/sprite_anims/oam.asm
+++ b/data/sprite_anims/oam.asm
@@ -35,11 +35,11 @@
 	dbw $fa, .OAMData_GSTitleTrail             ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2
 	dbw $00, .OAMData_TextEntryCursor          ; SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR
 	dbw $00, .OAMData_TextEntryCursorBig       ; SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR_BIG
-	dbw $00, .OAMData_GSIntroGameFreakLogo     ; SPRITE_ANIM_OAMSET_GS_INTRO_GAMEFREAK_LOGO
-	dbw $0f, .OAMData_GSIntroStar              ; SPRITE_ANIM_OAMSET_GS_INTRO_STAR
-	dbw $11, .OAMData_1x1_Palette0             ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1
-	dbw $12, .OAMData_1x1_Palette0             ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2
-	dbw $13, .OAMData_1x1_Palette0             ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3
+	dbw $00, .OAMData_GSGameFreakLogo          ; SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO
+	dbw $0f, .OAMData_GSGameFreakLogoStar      ; SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_STAR
+	dbw $11, .OAMData_1x1_Palette0             ; SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_1
+	dbw $12, .OAMData_1x1_Palette0             ; SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_2
+	dbw $13, .OAMData_1x1_Palette0             ; SPRITE_ANIM_OAMSET_GS_GAMEFREAK_LOGO_SPARKLE_3
 	dbw $00, .OAMData_SlotsGolem               ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1
 	dbw $08, .OAMData_SlotsGolem               ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2
 	dbw $10, .OAMData_SlotsChansey1            ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1
@@ -153,7 +153,7 @@
 	dbsprite -1,  0,  0,  0, $10, 0
 	dbsprite  0,  0,  0,  0, $11, 0
 
-.OAMData_GSIntroStar:
+.OAMData_GSGameFreakLogoStar:
 	db 4
 	dbsprite -1, -1,  0,  0, $00, 0
 	dbsprite  0, -1,  0,  0, $00, 0 | X_FLIP
@@ -471,7 +471,7 @@
 	dbsprite  3,  0,  0,  0, $01, 0 | Y_FLIP
 	dbsprite  4,  0,  0,  0, $00, 0 | X_FLIP | Y_FLIP
 
-.OAMData_GSIntroGameFreakLogo:
+.OAMData_GSGameFreakLogo:
 	db 15
 	dbsprite -2, -3,  4,  4, $00, 1 | OBP_NUM
 	dbsprite -1, -3,  4,  4, $01, 1 | OBP_NUM
--- a/data/sprite_anims/sequences.asm
+++ b/data/sprite_anims/sequences.asm
@@ -1,48 +1,48 @@
 SpriteAnimSeqData:
 ; entries correspond to SPRITE_ANIM_INDEX_* constants
 	; frameset, sequence, tile
-	db SPRITE_ANIM_FRAMESET_PARTY_MON,                SPRITE_ANIM_SEQ_PARTY_MON,               $00 ; SPRITE_ANIM_INDEX_PARTY_MON
-	db SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL,           SPRITE_ANIM_SEQ_GS_TITLE_TRAIL,          $00 ; SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
-	db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR,        SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR,    $05 ; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
-	db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO,           SPRITE_ANIM_SEQ_GAMEFREAK_LOGO,          $00 ; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
-	db SPRITE_ANIM_FRAMESET_GS_INTRO_STAR,            SPRITE_ANIM_SEQ_GS_INTRO_STAR,           $06 ; SPRITE_ANIM_INDEX_GS_INTRO_STAR
-	db SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE,         SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE,        $06 ; SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE
-	db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM,              SPRITE_ANIM_SEQ_SLOTS_GOLEM,             $07 ; SPRITE_ANIM_INDEX_SLOTS_GOLEM
-	db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY,            SPRITE_ANIM_SEQ_SLOTS_CHANSEY,           $07 ; SPRITE_ANIM_INDEX_SLOTS_CHANSEY
-	db SPRITE_ANIM_FRAMESET_SLOTS_EGG,                SPRITE_ANIM_SEQ_SLOTS_EGG,               $07 ; SPRITE_ANIM_INDEX_SLOTS_EGG
-	db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR,        SPRITE_ANIM_SEQ_MAIL_CURSOR,             $05 ; SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
-	db SPRITE_ANIM_FRAMESET_RED_WALK,                 SPRITE_ANIM_SEQ_NULL,                    $00 ; SPRITE_ANIM_INDEX_RED_WALK
-	db SPRITE_ANIM_FRAMESET_STILL_CURSOR,             SPRITE_ANIM_SEQ_UNUSED_CURSOR,           $08 ; SPRITE_ANIM_INDEX_UNUSED_CURSOR
-	db SPRITE_ANIM_FRAMESET_STILL_CURSOR,             SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR,       $08 ; SPRITE_ANIM_INDEX_DUMMY_GAME
-	db SPRITE_ANIM_FRAMESET_STILL_CURSOR,             SPRITE_ANIM_SEQ_POKEGEAR_ARROW,          $08 ; SPRITE_ANIM_INDEX_POKEGEAR_ARROW
-	db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL,          SPRITE_ANIM_SEQ_TRADE_POKE_BALL,         $00 ; SPRITE_ANIM_INDEX_TRADE_POKE_BALL
-	db SPRITE_ANIM_FRAMESET_TRADE_POOF,               SPRITE_ANIM_SEQ_NULL,                    $00 ; SPRITE_ANIM_INDEX_TRADE_POOF
-	db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE,         SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE,        $00 ; SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
-	db SPRITE_ANIM_FRAMESET_TRADEMON_ICON,            SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE,        $00 ; SPRITE_ANIM_INDEX_TRADEMON_ICON
-	db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE,          SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE,        $00 ; SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
-	db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT,  SPRITE_ANIM_SEQ_REVEAL_NEW_MON,          $00 ; SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
-	db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB,        SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB,       $00 ; SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
-	db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED,         SPRITE_ANIM_SEQ_NULL,                    $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
-	db SPRITE_ANIM_FRAMESET_LEAF,                     SPRITE_ANIM_SEQ_CUT_LEAVES,              $00 ; SPRITE_ANIM_INDEX_LEAF
-	db SPRITE_ANIM_FRAMESET_CUT_TREE,                 SPRITE_ANIM_SEQ_NULL,                    $00 ; SPRITE_ANIM_INDEX_CUT_TREE
-	db SPRITE_ANIM_FRAMESET_LEAF,                     SPRITE_ANIM_SEQ_FLY_LEAF,                $00 ; SPRITE_ANIM_INDEX_FLY_LEAF
-	db SPRITE_ANIM_FRAMESET_EGG_CRACK,                SPRITE_ANIM_SEQ_NULL,                    $00 ; SPRITE_ANIM_INDEX_EGG_CRACK
-	db SPRITE_ANIM_FRAMESET_GS_INTRO_HO_OH_LUGIA,     SPRITE_ANIM_SEQ_GS_INTRO_HO_OH_LUGIA,    $00 ; SPRITE_ANIM_INDEX_GS_INTRO_HO_OH_LUGIA
-	db SPRITE_ANIM_FRAMESET_HEADBUTT,                 SPRITE_ANIM_SEQ_NULL,                    $00 ; SPRITE_ANIM_INDEX_HEADBUTT
-	db SPRITE_ANIM_FRAMESET_EGG_HATCH_1,              SPRITE_ANIM_SEQ_REVEAL_NEW_MON,          $00 ; SPRITE_ANIM_INDEX_EGG_HATCH
-	db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1,          SPRITE_ANIM_SEQ_EZCHAT_CURSOR,           $00 ; SPRITE_ANIM_INDEX_EZCHAT_CURSOR
-	db SPRITE_ANIM_FRAMESET_BLUE_WALK,                SPRITE_ANIM_SEQ_NULL,                    $00 ; SPRITE_ANIM_INDEX_BLUE_WALK
-	db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE,        SPRITE_ANIM_SEQ_NULL,                    $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
-	db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL,   SPRITE_ANIM_SEQ_NULL,                    $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL
-	db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL,     SPRITE_ANIM_SEQ_NULL,                    $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL
-	db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_CABLE_BULGE, SPRITE_ANIM_SEQ_NULL,                    $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE
-	db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_PULSE,  SPRITE_ANIM_SEQ_MOBILE_TRADE_SENT_PULSE, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_PULSE
-	db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_PULSE,    SPRITE_ANIM_SEQ_MOBILE_TRADE_OT_PULSE,   $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_PULSE
-	db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_PING,        SPRITE_ANIM_SEQ_NULL,                    $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_PING
-	db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE,            SPRITE_ANIM_SEQ_INTRO_SUICUNE,           $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE
-	db SPRITE_ANIM_FRAMESET_INTRO_PICHU,              SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER,      $00 ; SPRITE_ANIM_INDEX_INTRO_PICHU
-	db SPRITE_ANIM_FRAMESET_INTRO_WOOPER,             SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER,      $00 ; SPRITE_ANIM_INDEX_INTRO_WOOPER
-	db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1,            SPRITE_ANIM_SEQ_INTRO_UNOWN,             $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN
-	db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F,            SPRITE_ANIM_SEQ_INTRO_UNOWN_F,           $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN_F
-	db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY,       SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY,      $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
-	db SPRITE_ANIM_FRAMESET_CELEBI_LEFT,              SPRITE_ANIM_SEQ_NULL,                    $00 ; SPRITE_ANIM_INDEX_CELEBI
+	db SPRITE_ANIM_FRAMESET_PARTY_MON,                 SPRITE_ANIM_SEQ_PARTY_MON,                 $00 ; SPRITE_ANIM_INDEX_PARTY_MON
+	db SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL,            SPRITE_ANIM_SEQ_GS_TITLE_TRAIL,            $00 ; SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
+	db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR,         SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR,      $05 ; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
+	db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO,            SPRITE_ANIM_SEQ_GAMEFREAK_LOGO,            $00 ; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
+	db SPRITE_ANIM_FRAMESET_GS_GAMEFREAK_LOGO_STAR,    SPRITE_ANIM_SEQ_GS_GAMEFREAK_LOGO_STAR,    $06 ; SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_STAR
+	db SPRITE_ANIM_FRAMESET_GS_GAMEFREAK_LOGO_SPARKLE, SPRITE_ANIM_SEQ_GS_GAMEFREAK_LOGO_SPARKLE, $06 ; SPRITE_ANIM_INDEX_GS_GAMEFREAK_LOGO_SPARKLE
+	db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM,               SPRITE_ANIM_SEQ_SLOTS_GOLEM,               $07 ; SPRITE_ANIM_INDEX_SLOTS_GOLEM
+	db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY,             SPRITE_ANIM_SEQ_SLOTS_CHANSEY,             $07 ; SPRITE_ANIM_INDEX_SLOTS_CHANSEY
+	db SPRITE_ANIM_FRAMESET_SLOTS_EGG,                 SPRITE_ANIM_SEQ_SLOTS_EGG,                 $07 ; SPRITE_ANIM_INDEX_SLOTS_EGG
+	db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR,         SPRITE_ANIM_SEQ_MAIL_CURSOR,               $05 ; SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
+	db SPRITE_ANIM_FRAMESET_RED_WALK,                  SPRITE_ANIM_SEQ_NULL,                      $00 ; SPRITE_ANIM_INDEX_RED_WALK
+	db SPRITE_ANIM_FRAMESET_STILL_CURSOR,              SPRITE_ANIM_SEQ_UNUSED_CURSOR,             $08 ; SPRITE_ANIM_INDEX_UNUSED_CURSOR
+	db SPRITE_ANIM_FRAMESET_STILL_CURSOR,              SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR,         $08 ; SPRITE_ANIM_INDEX_DUMMY_GAME
+	db SPRITE_ANIM_FRAMESET_STILL_CURSOR,              SPRITE_ANIM_SEQ_POKEGEAR_ARROW,            $08 ; SPRITE_ANIM_INDEX_POKEGEAR_ARROW
+	db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL,           SPRITE_ANIM_SEQ_TRADE_POKE_BALL,           $00 ; SPRITE_ANIM_INDEX_TRADE_POKE_BALL
+	db SPRITE_ANIM_FRAMESET_TRADE_POOF,                SPRITE_ANIM_SEQ_NULL,                      $00 ; SPRITE_ANIM_INDEX_TRADE_POOF
+	db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE,          SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE,          $00 ; SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
+	db SPRITE_ANIM_FRAMESET_TRADEMON_ICON,             SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE,          $00 ; SPRITE_ANIM_INDEX_TRADEMON_ICON
+	db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE,           SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE,          $00 ; SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
+	db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT,   SPRITE_ANIM_SEQ_REVEAL_NEW_MON,            $00 ; SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
+	db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB,         SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB,         $00 ; SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
+	db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED,          SPRITE_ANIM_SEQ_NULL,                      $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
+	db SPRITE_ANIM_FRAMESET_LEAF,                      SPRITE_ANIM_SEQ_CUT_LEAVES,                $00 ; SPRITE_ANIM_INDEX_LEAF
+	db SPRITE_ANIM_FRAMESET_CUT_TREE,                  SPRITE_ANIM_SEQ_NULL,                      $00 ; SPRITE_ANIM_INDEX_CUT_TREE
+	db SPRITE_ANIM_FRAMESET_LEAF,                      SPRITE_ANIM_SEQ_FLY_LEAF,                  $00 ; SPRITE_ANIM_INDEX_FLY_LEAF
+	db SPRITE_ANIM_FRAMESET_EGG_CRACK,                 SPRITE_ANIM_SEQ_NULL,                      $00 ; SPRITE_ANIM_INDEX_EGG_CRACK
+	db SPRITE_ANIM_FRAMESET_GS_INTRO_HO_OH_LUGIA,      SPRITE_ANIM_SEQ_GS_INTRO_HO_OH_LUGIA,      $00 ; SPRITE_ANIM_INDEX_GS_INTRO_HO_OH_LUGIA
+	db SPRITE_ANIM_FRAMESET_HEADBUTT,                  SPRITE_ANIM_SEQ_NULL,                      $00 ; SPRITE_ANIM_INDEX_HEADBUTT
+	db SPRITE_ANIM_FRAMESET_EGG_HATCH_1,               SPRITE_ANIM_SEQ_REVEAL_NEW_MON,            $00 ; SPRITE_ANIM_INDEX_EGG_HATCH
+	db SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1,           SPRITE_ANIM_SEQ_EZCHAT_CURSOR,             $00 ; SPRITE_ANIM_INDEX_EZCHAT_CURSOR
+	db SPRITE_ANIM_FRAMESET_BLUE_WALK,                 SPRITE_ANIM_SEQ_NULL,                      $00 ; SPRITE_ANIM_INDEX_BLUE_WALK
+	db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE,         SPRITE_ANIM_SEQ_NULL,                      $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
+	db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL,    SPRITE_ANIM_SEQ_NULL,                      $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL
+	db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL,      SPRITE_ANIM_SEQ_NULL,                      $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL
+	db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_CABLE_BULGE,  SPRITE_ANIM_SEQ_NULL,                      $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE
+	db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_PULSE,   SPRITE_ANIM_SEQ_MOBILE_TRADE_SENT_PULSE,   $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_PULSE
+	db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_PULSE,     SPRITE_ANIM_SEQ_MOBILE_TRADE_OT_PULSE,     $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_PULSE
+	db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_PING,         SPRITE_ANIM_SEQ_NULL,                      $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_PING
+	db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE,             SPRITE_ANIM_SEQ_INTRO_SUICUNE,             $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE
+	db SPRITE_ANIM_FRAMESET_INTRO_PICHU,               SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER,        $00 ; SPRITE_ANIM_INDEX_INTRO_PICHU
+	db SPRITE_ANIM_FRAMESET_INTRO_WOOPER,              SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER,        $00 ; SPRITE_ANIM_INDEX_INTRO_WOOPER
+	db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1,             SPRITE_ANIM_SEQ_INTRO_UNOWN,               $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN
+	db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F,             SPRITE_ANIM_SEQ_INTRO_UNOWN_F,             $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN_F
+	db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY,        SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY,        $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
+	db SPRITE_ANIM_FRAMESET_CELEBI_LEFT,               SPRITE_ANIM_SEQ_NULL,                      $00 ; SPRITE_ANIM_INDEX_CELEBI
--- a/engine/battle_anims/anim_commands.asm
+++ b/engine/battle_anims/anim_commands.asm
@@ -319,7 +319,6 @@
 	ld hl, BattleAnimCommands
 	add hl, de
 	add hl, de
-
 	ld a, [hli]
 	ld h, [hl]
 	ld l, a
@@ -714,7 +713,7 @@
 	ret
 
 .found
-	ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+	ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
 	add hl, bc
 	inc [hl]
 	ret
@@ -765,7 +764,7 @@
 
 .found
 	call GetBattleAnimByte
-	ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+	ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
 	add hl, bc
 	ld [hl], a
 	ret
--- a/engine/battle_anims/core.asm
+++ b/engine/battle_anims/core.asm
@@ -39,42 +39,42 @@
 	ld hl, BATTLEANIMSTRUCT_INDEX
 	add hl, bc
 	ld a, [wLastAnimObjectIndex]
-	ld [hli], a ; Index
+	ld [hli], a ; BATTLEANIMSTRUCT_INDEX
 	ld a, [de]
 	inc de
-	ld [hli], a ; 01
+	ld [hli], a ; BATTLEANIMSTRUCT_OAMFLAGS
 	ld a, [de]
 	inc de
-	ld [hli], a ; 02
+	ld [hli], a ; BATTLEANIMSTRUCT_02
 	ld a, [de]
 	inc de
-	ld [hli], a ; Frameset ID
+	ld [hli], a ; BATTLEANIMSTRUCT_FRAMESET_ID
 	ld a, [de]
 	inc de
-	ld [hli], a ; Function
+	ld [hli], a ; BATTLEANIMSTRUCT_FUNCTION
 	ld a, [de]
 	inc de
-	ld [hli], a ; 05
+	ld [hli], a ; BATTLEANIMSTRUCT_PALETTE
 	ld a, [de]
 	call GetBattleAnimTileOffset
-	ld [hli], a ; Tile ID
+	ld [hli], a ; BATTLEANIMSTRUCT_TILEID
 	ld a, [wBattleObjectTempXCoord]
-	ld [hli], a ; X Coord
+	ld [hli], a ; BATTLEANIMSTRUCT_XCOORD
 	ld a, [wBattleObjectTempYCoord]
-	ld [hli], a ; Y Coord
+	ld [hli], a ; BATTLEANIMSTRUCT_YCOORD
 	xor a
-	ld [hli], a ; X Offset
-	ld [hli], a ; Y Offset
+	ld [hli], a ; BATTLEANIMSTRUCT_XOFFSET
+	ld [hli], a ; BATTLEANIMSTRUCT_YOFFSET
 	ld a, [wBattleObjectTempParam]
-	ld [hli], a ; Param
+	ld [hli], a ; BATTLEANIMSTRUCT_PARAM
 	xor a
-	ld [hli], a ; 0c
+	ld [hli], a ; BATTLEANIMSTRUCT_DURATION
 	dec a
-	ld [hli], a ; 0d
+	ld [hli], a ; BATTLEANIMSTRUCT_FRAME
 	xor a
-	ld [hli], a ; 0e
-	ld [hli], a ; 0f
-	ld [hl], a  ; 10
+	ld [hli], a ; BATTLEANIMSTRUCT_JUMPTABLE_INDEX
+	ld [hli], a ; BATTLEANIMSTRUCT_VAR1
+	ld [hl], a  ; BATTLEANIMSTRUCT_VAR2
 	ret
 
 BattleAnimOAMUpdate:
@@ -199,7 +199,7 @@
 	ret
 
 InitBattleAnimBuffer:
-	ld hl, BATTLEANIMSTRUCT_01
+	ld hl, BATTLEANIMSTRUCT_OAMFLAGS
 	add hl, bc
 	ld a, [hl]
 
@@ -232,7 +232,7 @@
 	and a
 	ret z
 
-	ld hl, BATTLEANIMSTRUCT_01
+	ld hl, BATTLEANIMSTRUCT_OAMFLAGS
 	add hl, bc
 	ld a, [hl]
 	ld [wBattleAnimTempOAMFlags], a
--- a/engine/battle_anims/functions.asm
+++ b/engine/battle_anims/functions.asm
@@ -125,7 +125,7 @@
 	add hl, bc
 	dec [hl]
 	; Decrease ??? and hold onto its previous value (argument of the sine function)
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	dec [hl]
@@ -157,7 +157,7 @@
 	ld hl, BATTLEANIMSTRUCT_YCOORD
 	add hl, bc
 	dec [hl]
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	inc [hl]
@@ -197,7 +197,7 @@
 	jr z, .asm_cd0f9
 	ld a, $20
 .asm_cd0f9
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], a
 	ld hl, BATTLEANIMSTRUCT_PARAM
@@ -206,7 +206,7 @@
 	and $7f
 	ld [hl], a
 .one
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	ld hl, BATTLEANIMSTRUCT_PARAM
@@ -224,7 +224,7 @@
 	ld hl, BATTLEANIMSTRUCT_XOFFSET
 	add hl, bc
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	inc [hl]
 	ret
@@ -305,13 +305,13 @@
 	call BattleAnim_IncAnonJumptableIndex
 	ld a, BATTLEANIMFRAMESET_09
 	call ReinitBattleAnimFrameset
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $0
 	inc hl
 	ld [hl], $10
 .four
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hli]
 	ld d, [hl]
@@ -319,7 +319,7 @@
 	ld hl, BATTLEANIMSTRUCT_YOFFSET
 	add hl, bc
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	dec a
@@ -327,7 +327,7 @@
 	and $1f
 	ret nz
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	sub $4
@@ -341,7 +341,7 @@
 .six
 	ld a, BATTLEANIMFRAMESET_0D
 	call ReinitBattleAnimFrameset
-	ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+	ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
 	add hl, bc
 	dec [hl]
 .two
@@ -354,12 +354,12 @@
 	ld a, BATTLEANIMFRAMESET_0A
 	call ReinitBattleAnimFrameset
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], $20
 .eight
 .ten
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hli]
 	ld d, [hl]
@@ -367,7 +367,7 @@
 	ld hl, BATTLEANIMSTRUCT_YOFFSET
 	add hl, bc
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	dec a
@@ -465,7 +465,7 @@
 	ld a, [hl]
 	swap a
 	and $f
-	ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+	ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
 	add hl, bc
 	ld [hl], a
 	ret
@@ -500,13 +500,13 @@
 	dw .one
 .zero
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $30
 	inc hl
 	ld [hl], $48
 .one
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hli]
 	ld d, [hl]
@@ -514,16 +514,16 @@
 	ld hl, BATTLEANIMSTRUCT_YOFFSET
 	add hl, bc
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	inc [hl]
 	ld a, [hl]
 	and $3f
 	ret nz
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $20
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	ld hl, BATTLEANIMSTRUCT_PARAM
@@ -531,7 +531,7 @@
 	sub [hl]
 	jr z, .done
 	jr c, .done
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], a
 	ret
@@ -560,16 +560,16 @@
 	call BattleAnim_IncAnonJumptableIndex
 .one
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $0
 .two
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	cp $40
 	jr nc, .loop_back
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	ld d, $18
@@ -579,7 +579,7 @@
 	ld hl, BATTLEANIMSTRUCT_YOFFSET
 	add hl, bc
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	ld d, $18
@@ -591,7 +591,7 @@
 	add hl, bc
 	ld a, [hl]
 	and $f
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	add [hl]
 	ld [hl], a
@@ -609,7 +609,7 @@
 	and $f
 	or d
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+	ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
 	add hl, bc
 	dec [hl]
 	ret
@@ -660,7 +660,7 @@
 	dw .two
 .zero
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $0
 	ld hl, BATTLEANIMSTRUCT_PARAM
@@ -671,7 +671,7 @@
 	add hl, bc
 	ld [hl], a
 .one
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	and a
@@ -685,7 +685,7 @@
 	ld a, [hl]
 	swap a
 	and $f
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], a
 	ld hl, BATTLEANIMSTRUCT_XOFFSET
@@ -717,7 +717,7 @@
 	ld hl, BATTLEANIMSTRUCT_PARAM
 	add hl, bc
 	ld a, [hl]
-	ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+	ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
 	add hl, bc
 	ld [hl], a
 	cp $7
@@ -744,7 +744,7 @@
 	ld a, BATTLEANIMFRAMESET_10
 	call ReinitBattleAnimFrameset
 .eight
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	ld d, $10
@@ -760,7 +760,7 @@
 	ld hl, BATTLEANIMSTRUCT_XOFFSET
 	add hl, bc
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	inc [hl]
 	ret
@@ -810,11 +810,11 @@
 	dw .eight
 .zero
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $40
 .one
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	cp $30
@@ -821,7 +821,7 @@
 	jr nc, .sine_cosine
 	call BattleAnim_IncAnonJumptableIndex
 	xor a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hli], a
 	ld [hl], a
@@ -842,7 +842,7 @@
 	ld a, [hl]
 	and $3f
 	ld d, a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	dec [hl]
@@ -851,7 +851,7 @@
 	add hl, bc
 	ld [hl], a
 	call Functioncd557
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	ld hl, BATTLEANIMSTRUCT_XCOORD
@@ -864,7 +864,7 @@
 	ld hl, BATTLEANIMSTRUCT_XCOORD
 	add hl, bc
 	ld [hl], d
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], e
 	ret
@@ -879,7 +879,7 @@
 	ret
 
 .sine_cosine_2
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	ld d, $10
@@ -891,18 +891,18 @@
 	add hl, bc
 	bit 6, [hl]
 	jr nz, .decrease
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	inc [hl]
 	jr .finish
 
 .decrease
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	dec [hl]
 .finish
 	ld de, $80
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	ld hl, BATTLEANIMSTRUCT_YOFFSET
@@ -915,7 +915,7 @@
 	ld hl, BATTLEANIMSTRUCT_YOFFSET
 	add hl, bc
 	ld [hl], d
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], e
 	ret
@@ -923,7 +923,7 @@
 .three
 	ld a, BATTLEANIMFRAMESET_16
 	call ReinitBattleAnimFrameset
-	ld hl, BATTLEANIMSTRUCT_01
+	ld hl, BATTLEANIMSTRUCT_OAMFLAGS
 	add hl, bc
 	res 5, [hl]
 .four
@@ -998,11 +998,11 @@
 	add hl, bc
 	ld [hl], a
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $40
 .one
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	cp $30
@@ -1016,7 +1016,7 @@
 	ld a, [hl]
 	and $3f
 	ld d, a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	dec [hl]
@@ -1025,7 +1025,7 @@
 	add hl, bc
 	ld [hl], a
 	call Functioncd557
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	ld hl, BATTLEANIMSTRUCT_XCOORD
@@ -1038,7 +1038,7 @@
 	ld hl, BATTLEANIMSTRUCT_XCOORD
 	add hl, bc
 	ld [hl], d
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], e
 	ret
@@ -1051,11 +1051,11 @@
 	dw .two
 .zero
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $c
 .one
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	and a
@@ -1069,7 +1069,7 @@
 
 .next
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $0
 	ld a, BATTLEANIMFRAMESET_22
@@ -1080,7 +1080,7 @@
 	ld a, [hl]
 	cp $98
 	jr nc, .okay
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	ld hl, BATTLEANIMSTRUCT_XCOORD
@@ -1091,7 +1091,7 @@
 	add hl, de
 	ld e, l
 	ld d, h
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], e
 	ld hl, BATTLEANIMSTRUCT_XCOORD
@@ -1109,7 +1109,7 @@
 	and $f0
 	ld e, a
 	ld d, $ff
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	ld hl, BATTLEANIMSTRUCT_YCOORD
@@ -1119,7 +1119,7 @@
 	add hl, de
 	ld e, l
 	ld d, h
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], e
 	ld hl, BATTLEANIMSTRUCT_YCOORD
@@ -1162,7 +1162,7 @@
 .asm_cd69b
 	dec a
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	ld d, $10
@@ -1182,7 +1182,7 @@
 	inc a
 	and $7
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	inc [hl]
 	inc [hl]
@@ -1238,7 +1238,7 @@
 .asm_cd704
 	ld a, $2
 	call Functionce70a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	dec [hl]
@@ -1267,7 +1267,7 @@
 	jr c, .asm_cd747
 	ld a, $2
 	call Functionce70a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	dec [hl]
@@ -1288,7 +1288,7 @@
 	ld hl, BATTLEANIMSTRUCT_YCOORD
 	add hl, bc
 	ld [hl], $30
-	ld hl, BATTLEANIMSTRUCT_01
+	ld hl, BATTLEANIMSTRUCT_OAMFLAGS
 	add hl, bc
 	ld a, [hl]
 	and $1
@@ -1320,7 +1320,7 @@
 
 .asm_cd784
 	ld a, [hl]
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld l, [hl]
 	ld h, a
@@ -1328,7 +1328,7 @@
 	add hl, de
 	ld e, l
 	ld d, h
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], e
 	ld hl, BATTLEANIMSTRUCT_YOFFSET
@@ -1353,7 +1353,7 @@
 	add hl, bc
 	ld a, [hl]
 	and $f0
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], a
 	ld hl, BATTLEANIMSTRUCT_PARAM
@@ -1363,7 +1363,7 @@
 	sla a
 	sla a
 	sla a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], a
 	ld hl, BATTLEANIMSTRUCT_PARAM
@@ -1370,7 +1370,7 @@
 	add hl, bc
 	ld [hl], $1
 Functioncd7d2:
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	and a
@@ -1379,11 +1379,11 @@
 	ret
 
 .asm_cd7de
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	inc [hl]
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld d, [hl]
 	push af
@@ -1404,7 +1404,7 @@
 	xor $1
 	ld [hl], a
 	ret z
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	dec [hl]
 	ret
@@ -1444,7 +1444,7 @@
 	ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
 	add hl, bc
 	ld a, [hl]
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], a
 	ld hl, BATTLEANIMSTRUCT_PARAM
@@ -1451,13 +1451,13 @@
 	add hl, bc
 	bit 7, [hl]
 	jr nz, .asm_cd852
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $10
 	jr .asm_cd858
 
 .asm_cd852
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $30
 .asm_cd858
@@ -1467,7 +1467,7 @@
 	and $7f
 	ld [hl], a
 Functioncd860:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	ld hl, BATTLEANIMSTRUCT_PARAM
@@ -1479,7 +1479,7 @@
 	ld [hl], a
 	bit 7, a
 	jr nz, .load_no_inc
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	inc a ; BATTLEANIMFRAMESET_3B
@@ -1487,13 +1487,13 @@
 	jr .reinit
 
 .load_no_inc
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl] ; BATTLEANIMFRAMESET_3A
 	           ; BATTLEANIMFRAMESET_A0
 .reinit
 	call ReinitBattleAnimFrameset
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	inc [hl]
 	ld a, [hl]
@@ -1504,7 +1504,7 @@
 	ret
 
 Functioncd893:
-	ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+	ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
 	add hl, bc
 	ld [hl], $1
 	ret
@@ -1526,13 +1526,13 @@
 	add hl, bc
 	bit 7, [hl]
 	jr nz, .asm_cd8be
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $10
 	jr .asm_cd8c4
 
 .asm_cd8be
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $30
 .asm_cd8c4
@@ -1543,7 +1543,7 @@
 	ld [hl], a
 
 Functioncd8cc:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	ld hl, BATTLEANIMSTRUCT_PARAM
@@ -1562,7 +1562,7 @@
 	ld a, BATTLEANIMFRAMESET_3C
 .asm_cd8e8
 	call ReinitBattleAnimFrameset
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	inc [hl]
 	inc [hl]
@@ -1575,7 +1575,7 @@
 	ret
 
 Functioncd8f9:
-	ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+	ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
 	add hl, bc
 	ld [hl], $1
 	ret
@@ -1588,7 +1588,7 @@
 
 Functioncd907:
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $28
 	inc hl
@@ -1597,7 +1597,7 @@
 	ld hl, BATTLEANIMSTRUCT_PARAM
 	add hl, bc
 	ld a, [hl]
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld d, [hl]
 	push af
@@ -1612,13 +1612,13 @@
 	ld hl, BATTLEANIMSTRUCT_XOFFSET
 	add hl, bc
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	and a
 	jr z, .asm_cd950
 	ld d, a
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld e, [hl]
 	ld hl, -$80
@@ -1625,10 +1625,10 @@
 	add hl, de
 	ld e, l
 	ld d, h
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], e
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], d
 	ret
@@ -1688,7 +1688,7 @@
 
 Functioncd99a:
 	call Functioncd9f4
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	push af
@@ -1710,7 +1710,7 @@
 	ld hl, BATTLEANIMSTRUCT_XOFFSET
 	add hl, bc
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	sub $8
@@ -1727,7 +1727,7 @@
 	ld [hl], a
 	and $7
 	ret nz
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	inc [hl]
 	ret
@@ -1734,7 +1734,7 @@
 
 .asm_cd9e2
 	xor a
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], a
 	ld hl, BATTLEANIMSTRUCT_PARAM
@@ -1747,7 +1747,7 @@
 	ret
 
 Functioncd9f4:
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld e, [hl]
 	ld d, 0
@@ -1803,7 +1803,7 @@
 	      ; BATTLEANIMFRAMESET_55
 	call ReinitBattleAnimFrameset
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $8
 Functioncda4c:
@@ -1818,13 +1818,13 @@
 	dw .three
 .zero:
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], $40
 	ret
 
 .one:
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	cp $20
@@ -1840,7 +1840,7 @@
 	ret
 
 .two:
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	and a
@@ -1867,7 +1867,7 @@
 	ld a, [hl]
 	add $2
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld e, [hl]
 	ld hl, BATTLEANIMSTRUCT_XCOORD
@@ -1887,13 +1887,13 @@
 	add hl, de
 	ld e, l
 	ld d, h
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], e
 	ld hl, BATTLEANIMSTRUCT_XCOORD
 	add hl, bc
 	ld [hl], d
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	and $1
@@ -1912,13 +1912,13 @@
 
 Functioncdadf:
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], $40
 	ret
 
 Functioncdae9:
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	cp $20
@@ -1933,7 +1933,7 @@
 
 BattleAnimFunction_1A:
 	call BattleAnimFunction_03
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	add $f
@@ -1958,7 +1958,7 @@
 	ld a, [hl]
 	cp $30
 	jr c, .asm_cdb24
-	ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+	ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
 	add hl, bc
 	ld [hl], $0
 	ret
@@ -1976,7 +1976,7 @@
 	ret nc
 	inc [hl]
 	inc [hl]
-	ld hl, BATTLEANIMSTRUCT_01
+	ld hl, BATTLEANIMSTRUCT_OAMFLAGS
 	add hl, bc
 	set 0, [hl]
 	ld hl, BATTLEANIMSTRUCT_02
@@ -1995,7 +1995,7 @@
 
 Functioncdb50:
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $2c
 	ld hl, BATTLEANIMSTRUCT_FRAME
@@ -2012,7 +2012,7 @@
 	ret nc
 	inc [hl]
 	inc [hl]
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	inc [hl]
@@ -2042,7 +2042,7 @@
 	dw Functioncdc74
 
 Functioncdb9f:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $28
 	inc hl
@@ -2050,7 +2050,7 @@
 	ld hl, BATTLEANIMSTRUCT_PARAM
 	add hl, bc
 	ld a, [hl]
-	ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+	ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
 	add hl, bc
 	ld [hl], a
 	ret
@@ -2085,7 +2085,7 @@
 	jr nc, .asm_cdbe6
 	and $f
 	jr nz, asm_cdbfa
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], $10
 	call BattleAnim_IncAnonJumptableIndex
@@ -2097,7 +2097,7 @@
 	ret
 
 Functioncdbeb:
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	and a
@@ -2106,7 +2106,7 @@
 	ret
 
 .asm_cdbf5
-	ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+	ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
 	add hl, bc
 	dec [hl]
 asm_cdbfa:
@@ -2116,7 +2116,7 @@
 	ld hl, BATTLEANIMSTRUCT_YCOORD
 	add hl, bc
 	ld d, [hl]
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld e, [hl]
 	ld hl, -$80
@@ -2126,7 +2126,7 @@
 	ld hl, BATTLEANIMSTRUCT_YCOORD
 	add hl, bc
 	ld [hl], d
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], e
 	ret
@@ -2142,7 +2142,7 @@
 	ret
 
 Functioncdc27:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	inc [hl]
@@ -2167,13 +2167,13 @@
 	ld a, BATTLEANIMFRAMESET_4F
 	call ReinitBattleAnimFrameset
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $40
 	ret
 
 Functioncdc57:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	ld d, $20
@@ -2181,7 +2181,7 @@
 	ld hl, BATTLEANIMSTRUCT_YOFFSET
 	add hl, bc
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	cp $30
@@ -2195,7 +2195,7 @@
 	ret
 
 Functioncdc75:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hli]
 	ld d, [hl]
@@ -2203,16 +2203,16 @@
 	ld hl, BATTLEANIMSTRUCT_YOFFSET
 	add hl, bc
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	inc [hl]
 	ld a, [hl]
 	and $3f
 	ret nz
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $20
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	sub $8
@@ -2219,7 +2219,7 @@
 	ld [hl], a
 	ret nz
 	xor a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hli], a
 	ld [hl], a
@@ -2266,7 +2266,7 @@
 	ld [hl], a
 .asm_cdcd9
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $8
 	ld hl, BATTLEANIMSTRUCT_PARAM
@@ -2277,7 +2277,7 @@
 	ret
 
 Functioncdced:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	and a
@@ -2291,7 +2291,7 @@
 	ret
 
 Functioncdcfe:
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	inc [hl]
@@ -2335,7 +2335,7 @@
 	add hl, bc
 	ld a, [hl]
 	and $3f
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], a
 	ld hl, BATTLEANIMSTRUCT_PARAM
@@ -2354,7 +2354,7 @@
 	ld a, [hl]
 	swap a
 	ld d, a
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	inc [hl]
@@ -2375,7 +2375,7 @@
 	ld a, [hl]
 	cp $80
 	ret nc
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	and $3
@@ -2402,7 +2402,7 @@
 	ld hl, BATTLEANIMSTRUCT_FRAMESET_ID
 	add hl, bc
 	ld a, [hl]
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], a
 	ld hl, BATTLEANIMSTRUCT_PARAM
@@ -2410,7 +2410,7 @@
 	ld a, [hl]
 	and $80
 	rlca
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	add [hl] ; BATTLEANIMFRAMESET_61 BATTLEANIMFRAMESET_62
 	         ; BATTLEANIMFRAMESET_9C BATTLEANIMFRAMESET_9D
@@ -2447,7 +2447,7 @@
 	jr z, .asm_cddf0
 	and $1f
 	ret nz
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	inc a ; BATTLEANIMFRAMESET_62
@@ -2455,7 +2455,7 @@
 	jr .asm_cddf5
 
 .asm_cddf0
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl] ; BATTLEANIMFRAMESET_61
 	           ; BATTLEANIMFRAMESET_9C
@@ -2498,7 +2498,7 @@
 	db $ec, $f8, $00
 
 BattleAnimFunction_25:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	inc [hl]
@@ -2511,7 +2511,7 @@
 	ld hl, BATTLEANIMSTRUCT_YOFFSET
 	add hl, bc
 	ld d, [hl]
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld e, [hl]
 	lb hl, -1, $a0
@@ -2521,13 +2521,13 @@
 	ld hl, BATTLEANIMSTRUCT_YOFFSET
 	add hl, bc
 	ld [hl], d
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], e
 	ret
 
 BattleAnimFunction_26:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	dec [hl]
@@ -2555,7 +2555,7 @@
 	ld a, [hl]
 	and a
 	jr nz, .asm_cde83
-	ld hl, BATTLEANIMSTRUCT_01
+	ld hl, BATTLEANIMSTRUCT_OAMFLAGS
 	add hl, bc
 	set 6, [hl]
 .asm_cde83
@@ -2572,7 +2572,7 @@
 
 Functioncde90:
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $0
 	ld hl, BATTLEANIMSTRUCT_PARAM
@@ -2603,7 +2603,7 @@
 	ret
 
 Functioncdebf:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	and a
@@ -2615,7 +2615,7 @@
 	ld hl, BATTLEANIMSTRUCT_PARAM
 	add hl, bc
 	ld a, [hl]
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], a
 	ld hl, BATTLEANIMSTRUCT_XOFFSET
@@ -2627,7 +2627,7 @@
 	ret
 
 BattleAnimFunction_SpiralDescent:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	ld d, $18
@@ -2637,7 +2637,7 @@
 	sra a
 	sra a
 	sra a
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	add [hl]
 	ld hl, BATTLEANIMSTRUCT_YOFFSET
@@ -2649,13 +2649,13 @@
 	ld hl, BATTLEANIMSTRUCT_XOFFSET
 	add hl, bc
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	inc [hl]
 	ld a, [hl]
 	and $7
 	ret nz
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	cp $28
@@ -2668,7 +2668,7 @@
 	ret
 
 BattleAnimFunction_2D:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	ld d, $18
@@ -2678,7 +2678,7 @@
 	sra a
 	sra a
 	sra a
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	add [hl]
 	ld hl, BATTLEANIMSTRUCT_YOFFSET
@@ -2690,13 +2690,13 @@
 	ld hl, BATTLEANIMSTRUCT_XOFFSET
 	add hl, bc
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	inc [hl]
 	ld a, [hl]
 	and $3
 	ret nz
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	cp $28
@@ -2721,7 +2721,7 @@
 	cp $84
 	jr nc, .next
 	inc [hl]
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	inc [hl]
@@ -2755,7 +2755,7 @@
 	sra a
 	sra a
 	sra a
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	add [hl]
 	ld hl, BATTLEANIMSTRUCT_YOFFSET
@@ -2774,7 +2774,7 @@
 	ld a, [hl]
 	and $7
 	ret nz
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	cp $e8
@@ -2797,7 +2797,7 @@
 	sra a
 	sra a
 	sra a
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	add [hl]
 	ld hl, BATTLEANIMSTRUCT_YOFFSET
@@ -2816,7 +2816,7 @@
 	ld a, [hl]
 	and $3
 	ret nz
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	cp $d0
@@ -2838,10 +2838,10 @@
 
 Functionce014:
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $34
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], $10
 Functionce023:
@@ -2855,10 +2855,10 @@
 .asm_ce02d
 	ld a, $2
 	call Functionce70a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld d, [hl]
 	call BattleAnim_Sine
@@ -2870,7 +2870,7 @@
 	ld hl, BATTLEANIMSTRUCT_YOFFSET
 	add hl, bc
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	sub $4
@@ -2878,7 +2878,7 @@
 	and $1f
 	cp $20
 	ret nz
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	srl [hl]
 	ret
@@ -2898,13 +2898,13 @@
 	ld hl, BATTLEANIMSTRUCT_PARAM
 	add hl, bc
 	ld a, [hl]
-	ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+	ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
 	add hl, bc
 	ld [hl], a
 	ld hl, BATTLEANIMSTRUCT_YCOORD
 	add hl, bc
 	ld a, [hl]
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], a
 	ret
@@ -2920,7 +2920,7 @@
 	ret
 
 .two:
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	cp $20
@@ -2929,7 +2929,7 @@
 	ret
 
 Functionce09e:
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	ld d, $8
@@ -2940,13 +2940,13 @@
 	sra a
 	xor $ff
 	inc a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	add [hl]
 	ld hl, BATTLEANIMSTRUCT_YCOORD
 	add hl, bc
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	add $8
@@ -2966,13 +2966,13 @@
 	ld a, [hl]
 	and $f0
 	swap a
-	ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+	ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
 	add hl, bc
 	ld [hl], a
 	ret
 
 Functionce0dd:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	ld d, $10
@@ -2983,7 +2983,7 @@
 	jr z, .asm_ce0f0
 	ld [hl], a
 .asm_ce0f0
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	sub $4
@@ -3012,7 +3012,7 @@
 
 Functionce115:
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $28
 	ld hl, BATTLEANIMSTRUCT_YCOORD
@@ -3019,11 +3019,11 @@
 	add hl, bc
 	ld a, [hl]
 	sub $28
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], a
 Functionce12a:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hli]
 	ld d, [hl]
@@ -3031,7 +3031,7 @@
 	ld hl, BATTLEANIMSTRUCT_YOFFSET
 	add hl, bc
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	ld hl, BATTLEANIMSTRUCT_PARAM
@@ -3042,13 +3042,13 @@
 	add hl, bc
 	dec [hl]
 .asm_ce149
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	inc [hl]
 	ld a, [hl]
 	and $3f
 	ret nz
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $20
 	inc hl
@@ -3059,7 +3059,7 @@
 	ld hl, BATTLEANIMSTRUCT_PARAM
 	add hl, bc
 	ld a, [hl]
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld d, [hl]
 	push af
@@ -3096,7 +3096,7 @@
 	ld hl, BATTLEANIMSTRUCT_XCOORD
 	add hl, bc
 	ld a, [hl]
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	cp $5a
 	jr nc, .asm_ce1aa
@@ -3119,7 +3119,7 @@
 	add hl, bc
 	ld a, [hl]
 	inc [hl]
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld d, [hl]
 	push af
@@ -3134,11 +3134,11 @@
 	ld hl, BATTLEANIMSTRUCT_XOFFSET
 	add hl, bc
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	inc [hl]
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	cp $40
 	jr nc, .asm_ce1df
@@ -3164,7 +3164,7 @@
 	ld hl, BATTLEANIMSTRUCT_YCOORD
 	add hl, bc
 	ld a, [hl]
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], a
 Functionce1fb:
@@ -3173,7 +3173,7 @@
 	ld a, [hl]
 	ld d, $30
 	call BattleAnim_Sine
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	add [hl]
 	ld hl, BATTLEANIMSTRUCT_YCOORD
@@ -3217,7 +3217,7 @@
 	ld hl, BATTLEANIMSTRUCT_XOFFSET
 	add hl, bc
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], $f
 Functionce254:
@@ -3242,7 +3242,7 @@
 .asm_ce26c
 	ld a, $cc
 .asm_ce26e
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], a
 	ret
@@ -3278,7 +3278,7 @@
 	ret
 
 Functionce29f:
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	and $7
@@ -3297,7 +3297,7 @@
 .asm_ce2b9
 	add hl, de
 	ld a, [hl]
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	and [hl]
 	ld [wOBP0], a
@@ -3317,7 +3317,7 @@
 	sra a
 	sra a
 	sra a
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	add [hl]
 	ld hl, BATTLEANIMSTRUCT_YOFFSET
@@ -3332,7 +3332,7 @@
 	ld hl, BATTLEANIMSTRUCT_XOFFSET
 	add hl, bc
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	dec [hl]
 	dec [hl]
@@ -3352,7 +3352,7 @@
 	cp $e0
 	jr nz, .asm_ce319
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $2
 	ret
@@ -3359,7 +3359,7 @@
 
 .asm_ce319
 	ld d, a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld e, [hl]
 	ld hl, -$80
@@ -3369,13 +3369,13 @@
 	ld hl, BATTLEANIMSTRUCT_YOFFSET
 	add hl, bc
 	ld [hl], d
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], e
 	ret
 
 Functionce330:
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	and a
@@ -3385,7 +3385,7 @@
 
 .asm_ce33a
 	ld [hl], $4
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	xor $ff
@@ -3450,13 +3450,13 @@
 
 Functionce392:
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $c
 	ret
 
 Functionce39c:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	and a
@@ -3475,7 +3475,7 @@
 	ret
 
 BattleAnimFunction_39:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	inc [hl]
@@ -3577,7 +3577,7 @@
 
 Functionce443:
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $28
 	ld hl, BATTLEANIMSTRUCT_PARAM
@@ -3596,7 +3596,7 @@
 	or $8
 	ld [hl], a
 Functionce465:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	and a
@@ -3625,7 +3625,7 @@
 	ld [hl], $10
 	call BattleAnim_IncAnonJumptableIndex
 Functionce490:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	dec [hl]
@@ -3654,7 +3654,7 @@
 	cp $38
 	jr nc, .asm_ce4d8
 	inc [hl]
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	inc [hl]
@@ -3684,7 +3684,7 @@
 	and a
 	ret z
 	ld d, a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	inc [hl]
@@ -3697,7 +3697,7 @@
 	ld hl, BATTLEANIMSTRUCT_YOFFSET
 	add hl, bc
 	ld [hl], a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	and $1f
@@ -3708,7 +3708,7 @@
 	ret
 
 BattleAnimFunction_43:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	cp $10
@@ -3741,7 +3741,7 @@
 	ld hl, BATTLEANIMSTRUCT_PARAM
 	add hl, bc
 	ld e, [hl]
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld d, [hl]
 	ld a, e
@@ -3783,11 +3783,11 @@
 
 Functionce56e:
 	call BattleAnim_IncAnonJumptableIndex
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $18
 Functionce577:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	cp $80
@@ -3847,7 +3847,7 @@
 	call BattleAnim_Sine
 	sra a
 	sra a
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	add [hl]
 	inc [hl]
@@ -3939,7 +3939,7 @@
 	ld hl, BATTLEANIMSTRUCT_PARAM
 	add hl, bc
 	ld a, [hl]
-	ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+	ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
 	add hl, bc
 	ld [hl], a
 	call BattleAnim_IncAnonJumptableIndex
@@ -3999,7 +3999,7 @@
 	ld hl, BATTLEANIMSTRUCT_XCOORD
 	add hl, bc
 	ld d, [hl]
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld e, [hl]
 	ld hl, BATTLEANIMSTRUCT_PARAM
@@ -4021,7 +4021,7 @@
 	ld hl, BATTLEANIMSTRUCT_XCOORD
 	add hl, bc
 	ld [hl], d
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], e
 	ret
@@ -4037,7 +4037,7 @@
 
 BattleAnimFunction_4F:
 	ld d, $18
-	ld hl, BATTLEANIMSTRUCT_10
+	ld hl, BATTLEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	inc [hl]
@@ -4049,7 +4049,7 @@
 	ret
 
 BattleAnimFunction_4D:
-	ld hl, BATTLEANIMSTRUCT_0F
+	ld hl, BATTLEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	cp $20
@@ -4105,7 +4105,7 @@
 
 BattleAnim_AnonJumptable:
 	pop de
-	ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+	ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
 	add hl, bc
 	ld l, [hl]
 	ld h, $0
@@ -4117,7 +4117,7 @@
 	jp hl
 
 BattleAnim_IncAnonJumptableIndex:
-	ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX
+	ld hl, BATTLEANIMSTRUCT_JUMPTABLE_INDEX
 	add hl, bc
 	inc [hl]
 	ret
--- a/engine/events/celebi.asm
+++ b/engine/events/celebi.asm
@@ -22,7 +22,7 @@
 	ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
 	add hl, bc
 	ld [hl], SPRITE_ANIM_SEQ_CELEBI
-	ld hl, SPRITEANIMSTRUCT_0F
+	ld hl, SPRITEANIMSTRUCT_VAR4
 	add hl, bc
 	ld a, $80
 	ld [hl], a
@@ -138,7 +138,7 @@
 	ld hl, SPRITEANIMSTRUCT_YCOORD
 	add hl, bc
 	inc [hl]
-	ld hl, SPRITEANIMSTRUCT_0F
+	ld hl, SPRITEANIMSTRUCT_VAR4
 	add hl, bc
 	ld a, [hl]
 	ld d, a
@@ -148,7 +148,7 @@
 	sub $3
 	ld [hl], a
 .skip
-	ld hl, SPRITEANIMSTRUCT_0E
+	ld hl, SPRITEANIMSTRUCT_VAR3
 	add hl, bc
 	ld a, [hl]
 	inc [hl]
--- a/engine/events/field_moves.asm
+++ b/engine/events/field_moves.asm
@@ -222,11 +222,11 @@
 	ld hl, SPRITEANIMSTRUCT_TILE_ID
 	add hl, bc
 	ld [hl], FIELDMOVE_GRASS
-	ld hl, SPRITEANIMSTRUCT_0E
+	ld hl, SPRITEANIMSTRUCT_VAR3
 	add hl, bc
 	ld [hl], $4
 	pop af
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], a
 	pop de
@@ -346,7 +346,7 @@
 	ld hl, SPRITEANIMSTRUCT_ANIM_SEQ_ID
 	add hl, bc
 	ld [hl], SPRITE_ANIM_SEQ_FLY_TO
-	ld hl, SPRITEANIMSTRUCT_0F
+	ld hl, SPRITEANIMSTRUCT_VAR4
 	add hl, bc
 	ld [hl], 11 * 8
 	ld a, 64
--- a/engine/games/dummy_game.asm
+++ b/engine/games/dummy_game.asm
@@ -523,7 +523,7 @@
 	ret
 
 .pressed_a
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	inc a
@@ -538,7 +538,7 @@
 	ret z
 	sub 1 tiles
 	ld [hl], a
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	dec [hl]
 	ret
@@ -551,7 +551,7 @@
 	ret z
 	add 1 tiles
 	ld [hl], a
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	inc [hl]
 	ret
@@ -564,7 +564,7 @@
 	ret z
 	sub 1 tiles
 	ld [hl], a
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	sub 9
@@ -579,7 +579,7 @@
 	ret z
 	add 1 tiles
 	ld [hl], a
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	add 9
--- a/engine/games/slot_machine.asm
+++ b/engine/games/slot_machine.asm
@@ -1140,7 +1140,7 @@
 	depixel 12, 13
 	ld a, SPRITE_ANIM_INDEX_SLOTS_GOLEM
 	call InitSpriteAnimStruct
-	ld hl, SPRITEANIMSTRUCT_0E
+	ld hl, SPRITEANIMSTRUCT_VAR3
 	add hl, bc
 	pop af
 	ld [hl], a
@@ -1968,7 +1968,7 @@
 	dw .roll
 
 .init
-	ld hl, SPRITEANIMSTRUCT_0E
+	ld hl, SPRITEANIMSTRUCT_VAR3
 	add hl, bc
 	ld a, [hl]
 	and a
@@ -1985,7 +1985,7 @@
 	ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
 	add hl, bc
 	inc [hl]
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $30
 	ld hl, SPRITEANIMSTRUCT_XOFFSET
@@ -1993,7 +1993,7 @@
 	ld [hl], $0
 
 .fall
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	cp $20
@@ -2012,7 +2012,7 @@
 	ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
 	add hl, bc
 	inc [hl]
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], $2
 	ld a, 1
@@ -2031,7 +2031,7 @@
 	jr nc, .restart
 	and $3
 	ret nz
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	xor $ff
@@ -2101,11 +2101,11 @@
 	ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
 	add hl, bc
 	inc [hl]
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $8
 .two
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	and a
--- a/engine/gfx/cgb_layouts.asm
+++ b/engine/gfx/cgb_layouts.asm
@@ -886,10 +886,10 @@
 	ld a, PREDEFPAL_GAMEFREAK_LOGO_BG
 	call GetPredefPal
 	call LoadHLPaletteIntoDE
-	ld hl, .GamefreakLogoOBPalette
+	ld hl, .GamefreakDittoPalette
 	ld de, wOBPals1
 	call LoadHLPaletteIntoDE
-	ld hl, .GamefreakLogoOBPalette
+	ld hl, .GamefreakDittoPalette
 	ld de, wOBPals1 palette 1
 	call LoadHLPaletteIntoDE
 	call WipeAttrmap
@@ -897,8 +897,8 @@
 	call ApplyPals
 	ret
 
-.GamefreakLogoOBPalette:
-INCLUDE "gfx/splash/logo.pal"
+.GamefreakDittoPalette:
+INCLUDE "gfx/splash/ditto.pal"
 
 _CGB_PlayerOrMonFrontpicPals:
 	ld de, wBGPals1
--- a/engine/gfx/mon_icons.asm
+++ b/engine/gfx/mon_icons.asm
@@ -194,7 +194,7 @@
 	ld [hl], a
 	rlca
 	rlca
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], a
 	ret
--- a/engine/gfx/sprite_anims.asm
+++ b/engine/gfx/sprite_anims.asm
@@ -20,8 +20,8 @@
 	dw .GSTitleTrail
 	dw .NamingScreenCursor
 	dw .GameFreakLogo
-	dw .GSIntroStar
-	dw .GSIntroSparkle
+	dw .GSGameFreakLogoStar
+	dw .GSGameFreakLogoSparkle
 	dw .SlotsGolem
 	dw .SlotsChansey
 	dw .SlotsChanseyEgg
@@ -74,7 +74,7 @@
 	add hl, bc
 	ld [hl], 8 * 3
 
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	ld d, a
@@ -82,7 +82,7 @@
 	and $f
 	ret nz
 
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld e, [hl]
 
@@ -145,7 +145,7 @@
 	add hl, bc
 	ld a, [hl]
 
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	and $3
 	ld [hl], a
@@ -152,7 +152,7 @@
 	inc [hl]
 	swap a
 
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], a
 
@@ -163,7 +163,7 @@
 	cp $a4
 	jr nc, .asm_8d356
 
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	add $4
 
@@ -175,7 +175,7 @@
 	add hl, bc
 	inc [hl]
 
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	sla a
@@ -182,7 +182,7 @@
 	sla a
 
 	ld d, 2
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	add 3
@@ -199,7 +199,7 @@
 	ret
 
 .GSIntroHoOhLugia
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	inc a
@@ -220,12 +220,12 @@
 	callfar ComposeMail_AnimateCursor
 	ret
 
-.GameFreakLogo:
-	callfar PlaceGameFreakLogo
+.GameFreakLogo
+	callfar GameFreakLogoSpriteAnim
 	ret
 
-.GSIntroStar
-	ld hl, SPRITEANIMSTRUCT_0C
+.GSGameFreakLogoStar
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	and a
@@ -236,7 +236,7 @@
 	and $1f
 	jr nz, .asm_8d395
 
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	dec [hl]
 .asm_8d395
@@ -258,7 +258,7 @@
 	add hl, bc
 	ld [hl], a
 
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 
@@ -274,14 +274,14 @@
 	call DeinitializeSprite
 	ret
 
-.GSIntroSparkle
-	ld hl, SPRITEANIMSTRUCT_0C
+.GSGameFreakLogoSparkle
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hli]
 	or [hl]
 	jr z, .asm_8d41e
 
-	ld hl, SPRITEANIMSTRUCT_0F
+	ld hl, SPRITEANIMSTRUCT_VAR4
 	add hl, bc
 	ld d, [hl]
 
@@ -303,13 +303,13 @@
 	add hl, bc
 	ld [hl], a
 
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld e, [hl]
 	inc hl
 	ld d, [hl]
 
-	ld hl, SPRITEANIMSTRUCT_0E
+	ld hl, SPRITEANIMSTRUCT_VAR3
 	add hl, bc
 	ld a, [hli]
 	ld h, [hl]
@@ -318,13 +318,13 @@
 	ld e, l
 	ld d, h
 
-	ld hl, SPRITEANIMSTRUCT_0E
+	ld hl, SPRITEANIMSTRUCT_VAR3
 	add hl, bc
 	ld [hl], e
 	inc hl
 	ld [hl], d
 
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hli]
 	ld h, [hl]
@@ -334,7 +334,7 @@
 	ld e, l
 	ld d, h
 
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], e
 	inc hl
@@ -431,13 +431,13 @@
 	add hl, bc
 	ld [hl], $2
 
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $20
 	ret
 
 .TradePokeBall_two
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	and a
@@ -448,12 +448,12 @@
 .asm_8d4af
 	call .IncrementJumptableIndex
 
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $40
 
 .TradePokeBall_three
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	cp 48
@@ -477,17 +477,17 @@
 	add hl, bc
 	ld [hl], $4
 
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $30
 
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], $24
 	ret
 
 .TradePokeBall_four
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	and a
@@ -494,7 +494,7 @@
 	jr z, .asm_8d51c
 
 	ld d, a
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	call Sprites_Sine
@@ -503,7 +503,7 @@
 	add hl, bc
 	ld [hl], a
 
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	inc [hl]
 	ld a, [hl]
@@ -510,11 +510,11 @@
 	and $3f
 	ret nz
 
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $20
 
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	sub $c
@@ -559,7 +559,7 @@
 	ret
 
 .RevealNewMon:
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	cp $80
@@ -600,7 +600,7 @@
 	ret
 
 .CutLeaves
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld e, [hl]
 	inc hl
@@ -610,13 +610,13 @@
 	ld e, l
 	ld d, h
 
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], e
 	inc hl
 	ld [hl], d
 
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	inc [hl]
@@ -645,7 +645,7 @@
 	and a
 	ret z
 
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	inc [hl]
@@ -657,7 +657,7 @@
 	dec [hl]
 	dec [hl]
 
-	ld hl, SPRITEANIMSTRUCT_0F
+	ld hl, SPRITEANIMSTRUCT_VAR4
 	add hl, bc
 	ld a, [hl]
 	ld d, a
@@ -666,7 +666,7 @@
 	add $8
 	ld [hl], a
 .skip
-	ld hl, SPRITEANIMSTRUCT_0E
+	ld hl, SPRITEANIMSTRUCT_VAR3
 	add hl, bc
 	ld a, [hl]
 	inc [hl]
@@ -691,7 +691,7 @@
 	dec [hl]
 
 	ld d, $40
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	inc [hl]
@@ -718,7 +718,7 @@
 	inc [hl]
 	inc [hl]
 
-	ld hl, SPRITEANIMSTRUCT_0F
+	ld hl, SPRITEANIMSTRUCT_VAR4
 	add hl, bc
 	ld a, [hl]
 	ld d, a
@@ -727,7 +727,7 @@
 	sub $2
 	ld [hl], a
 .asm_8d621
-	ld hl, SPRITEANIMSTRUCT_0E
+	ld hl, SPRITEANIMSTRUCT_VAR3
 	add hl, bc
 	ld a, [hl]
 	inc [hl]
@@ -756,7 +756,7 @@
 	add hl, bc
 	ld [hl], $0
 
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	add 2
@@ -774,7 +774,7 @@
 	ret
 
 .IntroPichuWooper
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	cp 20
@@ -799,7 +799,7 @@
 	inc [hl]
 	inc [hl]
 	inc [hl]
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	push af
--- a/engine/gfx/sprites.asm
+++ b/engine/gfx/sprites.asm
@@ -160,19 +160,19 @@
 	add hl, bc
 ; Load the index.
 	ld a, [wSpriteAnimCount]
-	ld [hli], a
+	ld [hli], a ; SPRITEANIMSTRUCT_INDEX
 ; Copy the table entry to the next two fields.
 	ld a, [de]
-	ld [hli], a
+	ld [hli], a ; SPRITEANIMSTRUCT_FRAMESET_ID
 	inc de
 	ld a, [de]
-	ld [hli], a
+	ld [hli], a ; SPRITEANIMSTRUCT_ANIM_SEQ_ID
 	inc de
 ; Look up the third field from the table in the wSpriteAnimDict array (10x2).
 ; Take the value and load it in
 	ld a, [de]
 	call GetSpriteAnimVTile
-	ld [hli], a
+	ld [hli], a ; SPRITEANIMSTRUCT_TILE_ID
 	pop de
 ; Set hl to field 4 (X coordinate).  Kinda pointless, because we're presumably already here.
 	ld hl, SPRITEANIMSTRUCT_XCOORD
@@ -179,25 +179,26 @@
 	add hl, bc
 ; Load the original value of de into here.
 	ld a, e
-	ld [hli], a
+	ld [hli], a ; SPRITEANIMSTRUCT_XCOORD
 	ld a, d
-	ld [hli], a
+	ld [hli], a ; SPRITEANIMSTRUCT_YCOORD
 ; load 0 into the next four fields
 	xor a
-	ld [hli], a
-	ld [hli], a
+	ld [hli], a ; SPRITEANIMSTRUCT_XOFFSET
+	ld [hli], a ; SPRITEANIMSTRUCT_YOFFSET
 	xor a
-	ld [hli], a
-	ld [hli], a
+	ld [hli], a ; SPRITEANIMSTRUCT_DURATION
+	ld [hli], a ; SPRITEANIMSTRUCT_DURATIONOFFSET
 ; load -1 into the next field
 	dec a
-	ld [hli], a
+	ld [hli], a ; SPRITEANIMSTRUCT_FRAME
 ; load 0 into the last five fields
 	xor a
-rept 4
-	ld [hli], a
-endr
-	ld [hl], a
+	ld [hli], a ; SPRITEANIMSTRUCT_JUMPTABLE_INDEX
+	ld [hli], a ; SPRITEANIMSTRUCT_VAR1
+	ld [hli], a ; SPRITEANIMSTRUCT_VAR2
+	ld [hli], a ; SPRITEANIMSTRUCT_VAR3
+	ld [hl], a  ; SPRITEANIMSTRUCT_VAR4
 ; back up the address of the first field to wSpriteAnimAddrBackup
 	ld a, c
 	ld [wSpriteAnimAddrBackup], a
--- a/engine/menus/intro_menu.asm
+++ b/engine/menus/intro_menu.asm
@@ -969,7 +969,7 @@
 NUM_TITLESCREENOPTIONS EQU const_value
 
 IntroSequence:
-	callfar Copyright_GameFreakPresents
+	callfar SplashScreen
 	jr c, StartTitleScreen
 	farcall CrystalIntro
 
--- a/engine/menus/naming_screen.asm
+++ b/engine/menus/naming_screen.asm
@@ -385,7 +385,7 @@
 	ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
 	add hl, bc
 	ld a, [hl]
-	ld hl, SPRITEANIMSTRUCT_0E
+	ld hl, SPRITEANIMSTRUCT_VAR3
 	add hl, bc
 	ld [hl], a
 	ld hl, wJumptableIndex
@@ -425,10 +425,10 @@
 	ld c, [hl]
 	inc hl
 	ld b, [hl]
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $8
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], $4
 	call NamingScreen_IsTargetBox
@@ -468,7 +468,7 @@
 	ld b, [hl]
 
 NamingScreen_GetCursorPosition:
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	push bc
@@ -480,7 +480,7 @@
 	cp b
 	pop bc
 	jr nz, .not_bottom_row
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	cp $3
@@ -504,7 +504,7 @@
 
 NamingScreen_AnimateCursor:
 	call .GetDPad
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	ld e, a
@@ -524,13 +524,13 @@
 	ld de, .CaseDelEnd
 	ld a, SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR_BIG - SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR ; 1
 .ok2
-	ld hl, SPRITEANIMSTRUCT_0E
+	ld hl, SPRITEANIMSTRUCT_VAR3
 	add hl, bc
 	add [hl] ; default SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR
 	ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
 	add hl, bc
 	ld [hl], a
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld l, [hl]
 	ld h, $0
@@ -567,7 +567,7 @@
 	call NamingScreen_GetCursorPosition
 	and a
 	jr nz, .asm_11ab7
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	cp $8
@@ -587,7 +587,7 @@
 	ld e, a
 	add a
 	add e
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], a
 	ret
@@ -596,7 +596,7 @@
 	call NamingScreen_GetCursorPosition
 	and a
 	jr nz, .asm_11ad8
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	and a
@@ -618,13 +618,13 @@
 	ld e, a
 	add a
 	add e
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], a
 	ret
 
 .down
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	call NamingScreen_IsTargetBox
@@ -645,7 +645,7 @@
 	ret
 
 .up
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	and a
@@ -1059,7 +1059,7 @@
 	ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
 	add hl, bc
 	ld a, [hl]
-	ld hl, SPRITEANIMSTRUCT_0E
+	ld hl, SPRITEANIMSTRUCT_VAR3
 	add hl, bc
 	ld [hl], a
 	ld hl, wJumptableIndex
@@ -1109,10 +1109,10 @@
 	ld c, [hl]
 	inc hl
 	ld b, [hl]
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $9
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld [hl], $5
 	ret
@@ -1155,7 +1155,7 @@
 
 ComposeMail_AnimateCursor:
 	call .GetDPad
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	ld e, a
@@ -1170,13 +1170,13 @@
 	ld de, .CaseDelEnd
 	ld a, 1
 .got_pointer
-	ld hl, SPRITEANIMSTRUCT_0E
+	ld hl, SPRITEANIMSTRUCT_VAR3
 	add hl, bc
 	add [hl]
 	ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
 	add hl, bc
 	ld [hl], a
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld l, [hl]
 	ld h, 0
@@ -1213,7 +1213,7 @@
 	call ComposeMail_GetCursorPosition
 	and a
 	jr nz, .case_del_done_right
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	cp $9
@@ -1233,7 +1233,7 @@
 	ld e, a
 	add a
 	add e
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], a
 	ret
@@ -1242,7 +1242,7 @@
 	call ComposeMail_GetCursorPosition
 	and a
 	jr nz, .caps_del_done_left
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	and a
@@ -1264,13 +1264,13 @@
 	ld e, a
 	add a
 	add e
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], a
 	ret
 
 .down
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	cp $5
@@ -1283,7 +1283,7 @@
 	ret
 
 .up
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	and a
@@ -1302,12 +1302,12 @@
 	ld b, [hl]
 
 ComposeMail_GetCursorPosition:
-	ld hl, SPRITEANIMSTRUCT_0D
+	ld hl, SPRITEANIMSTRUCT_VAR2
 	add hl, bc
 	ld a, [hl]
 	cp $5
 	jr nz, .letter
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	cp $3
--- a/engine/movie/evolution_animation.asm
+++ b/engine/movie/evolution_animation.asm
@@ -324,7 +324,7 @@
 	ld hl, SPRITEANIMSTRUCT_TILE_ID
 	add hl, bc
 	ld [hl], $0
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $10
 	ret
--- a/engine/movie/intro.asm
+++ b/engine/movie/intro.asm
@@ -1,332 +1,3 @@
-Copyright_GameFreakPresents:
-; Play the copyright screen and GameFreak Presents sequence.
-; Return carry if user cancels animation by pressing a button.
-
-	ld de, MUSIC_NONE
-	call PlayMusic
-	call ClearBGPalettes
-	call ClearTilemap
-	ld a, HIGH(vBGMap0)
-	ldh [hBGMapAddress + 1], a
-	xor a ; LOW(vBGMap0)
-	ldh [hBGMapAddress], a
-	ldh [hJoyDown], a
-	ldh [hSCX], a
-	ldh [hSCY], a
-	ld a, SCREEN_HEIGHT_PX
-	ldh [hWY], a
-	call WaitBGMap
-	ld b, SCGB_GAMEFREAK_LOGO
-	call GetSGBLayout
-	call SetPalettes
-	ld c, 10
-	call DelayFrames
-	callfar Copyright
-	call WaitBGMap
-	ld c, 100
-	call DelayFrames
-	call ClearTilemap
-	farcall GBCOnlyScreen
-	call .GetGFLogoGFX
-.joy_loop
-	call JoyTextDelay
-	ldh a, [hJoyLast]
-	and BUTTONS
-	jr nz, .pressed_button
-	ld a, [wJumptableIndex]
-	bit 7, a
-	jr nz, .finish
-	call PlaceGameFreakPresents
-	farcall PlaySpriteAnimations
-	call DelayFrame
-	jr .joy_loop
-
-.pressed_button
-	call .StopGamefreakAnim
-	scf
-	ret
-
-.finish
-	call .StopGamefreakAnim
-	and a
-	ret
-
-.GetGFLogoGFX:
-	ld de, GameFreakLogo
-	ld hl, vTiles2
-	lb bc, BANK(GameFreakLogo), 28
-	call Get1bpp
-
-	ldh a, [rSVBK]
-	push af
-	ld a, BANK(wDecompressScratch)
-	ldh [rSVBK], a
-
-	ld hl, IntroLogoGFX
-	ld de, wDecompressScratch
-	ld a, BANK(IntroLogoGFX)
-	call FarDecompress
-
-	ld hl, vTiles0
-	ld de, wDecompressScratch
-	lb bc, 1, 8 tiles
-	call Request2bpp
-
-	ld hl, vTiles1
-	ld de, wDecompressScratch + $80 tiles
-	lb bc, 1, 8 tiles
-	call Request2bpp
-
-	pop af
-	ldh [rSVBK], a
-
-	farcall ClearSpriteAnims
-	depixel 10, 11, 4, 0
-	ld a, SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
-	call InitSpriteAnimStruct
-	ld hl, SPRITEANIMSTRUCT_YOFFSET
-	add hl, bc
-	ld [hl], $a0
-	ld hl, SPRITEANIMSTRUCT_0C
-	add hl, bc
-	ld [hl], $60
-	ld hl, SPRITEANIMSTRUCT_0D
-	add hl, bc
-	ld [hl], $30
-	xor a
-	ld [wJumptableIndex], a
-	ld [wIntroSceneFrameCounter], a
-	ld [wIntroSceneTimer], a
-	ldh [hSCX], a
-	ldh [hSCY], a
-	ld a, $1
-	ldh [hBGMapMode], a
-	ld a, $90
-	ldh [hWY], a
-	lb de, %11100100, %11100100
-	call DmgToCgbObjPals
-	ret
-
-.StopGamefreakAnim:
-	farcall ClearSpriteAnims
-	call ClearTilemap
-	call ClearSprites
-	ld c, 16
-	call DelayFrames
-	ret
-
-PlaceGameFreakPresents:
-	jumptable .scenes, wJumptableIndex
-
-.scenes
-	dw GameFreakPresentsScene0
-	dw GameFreakPresentsScene1
-	dw GameFreakPresentsScene2
-	dw GameFreakPresentsScene3
-
-PlaceGameFreakPresents_NextScene:
-	ld hl, wJumptableIndex
-	inc [hl]
-	ret
-
-GameFreakPresentsScene0:
-	ret
-
-GameFreakPresentsScene1:
-	ld hl, wIntroSceneTimer
-	ld a, [hl]
-	cp $20
-	jr nc, .PlaceGameFreak
-	inc [hl]
-	ret
-
-.PlaceGameFreak:
-	ld [hl], 0
-	ld hl, .GAME_FREAK
-	decoord 5, 10
-	ld bc, .end - .GAME_FREAK
-	call CopyBytes
-	call PlaceGameFreakPresents_NextScene
-	ld de, SFX_GAME_FREAK_PRESENTS
-	call PlaySFX
-	ret
-
-.GAME_FREAK:
-	;  G  A  M  E   _  F  R  E  A  K
-	db 0, 1, 2, 3, 13, 4, 5, 3, 1, 6
-.end
-	db "@"
-
-GameFreakPresentsScene2:
-	ld hl, wIntroSceneTimer
-	ld a, [hl]
-	cp $40
-	jr nc, .place_presents
-	inc [hl]
-	ret
-
-.place_presents
-	ld [hl], 0
-	ld hl, .presents
-	decoord 7, 11
-	ld bc, .end - .presents
-	call CopyBytes
-	call PlaceGameFreakPresents_NextScene
-	ret
-
-.presents
-	db 7, 8, 9, 10, 11, 12
-.end
-	db "@"
-
-GameFreakPresentsScene3:
-	ld hl, wIntroSceneTimer
-	ld a, [hl]
-	cp $80
-	jr nc, .finish
-	inc [hl]
-	ret
-
-.finish
-	ld hl, wJumptableIndex
-	set 7, [hl]
-	ret
-
-PlaceGameFreakLogo:
-	ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
-	add hl, bc
-	ld e, [hl]
-	ld d, 0
-	ld hl, .scenes
-	add hl, de
-	add hl, de
-	ld a, [hli]
-	ld h, [hl]
-	ld l, a
-	jp hl
-
-.scenes:
-	dw GameFreakLogoScene1
-	dw GameFreakLogoScene2
-	dw GameFreakLogoScene3
-	dw GameFreakLogoScene4
-	dw GameFreakLogoScene5
-
-GameFreakLogoScene1:
-	ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
-	add hl, bc
-	inc [hl]
-	ret
-
-GameFreakLogoScene2:
-	ld hl, SPRITEANIMSTRUCT_0C
-	add hl, bc
-	ld a, [hl]
-	and a
-	jr z, .asm_e4747
-	ld d, a
-	ld hl, SPRITEANIMSTRUCT_0D
-	add hl, bc
-	ld a, [hl]
-	and %111111
-	cp %100000
-	jr nc, .asm_e4723
-	add %100000
-.asm_e4723
-	ld e, a
-	farcall BattleAnim_Sine_e
-	ld hl, SPRITEANIMSTRUCT_YOFFSET
-	add hl, bc
-	ld [hl], e
-	ld hl, SPRITEANIMSTRUCT_0D
-	add hl, bc
-	ld a, [hl]
-	dec [hl]
-	and $1f
-	ret nz
-	ld hl, SPRITEANIMSTRUCT_0C
-	add hl, bc
-	ld a, [hl]
-	sub $30
-	ld [hl], a
-	ld de, SFX_DITTO_BOUNCE
-	call PlaySFX
-	ret
-
-.asm_e4747
-	ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
-	add hl, bc
-	inc [hl]
-	ld hl, SPRITEANIMSTRUCT_0D
-	add hl, bc
-	ld [hl], $0
-	ld de, SFX_DITTO_POP_UP
-	call PlaySFX
-	ret
-
-GameFreakLogoScene3:
-	ld hl, SPRITEANIMSTRUCT_0D
-	add hl, bc
-	ld a, [hl]
-	cp $20
-	jr nc, .asm_e4764
-	inc [hl]
-	ret
-
-.asm_e4764
-	ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
-	add hl, bc
-	inc [hl]
-	ld hl, SPRITEANIMSTRUCT_0D
-	add hl, bc
-	ld [hl], $0
-	ld de, SFX_DITTO_TRANSFORM
-	call PlaySFX
-	ret
-
-GameFreakLogoScene4:
-	ld hl, SPRITEANIMSTRUCT_0D
-	add hl, bc
-	ld a, [hl]
-	cp $40
-	jr z, .asm_e47a3
-	inc [hl]
-	srl a
-	srl a
-	ld e, a
-	ld d, $0
-	ld hl, GameFreakLogoPalettes
-	add hl, de
-	add hl, de
-	ldh a, [rSVBK]
-	push af
-	ld a, BANK(wOBPals2)
-	ldh [rSVBK], a
-	ld a, [hli]
-	ld [wOBPals2 + 12], a
-	ld a, [hli]
-	ld [wOBPals2 + 13], a
-	pop af
-	ldh [rSVBK], a
-	ld a, TRUE
-	ldh [hCGBPalUpdate], a
-	ret
-
-.asm_e47a3
-	ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
-	add hl, bc
-	inc [hl]
-	call PlaceGameFreakPresents_NextScene
-GameFreakLogoScene5:
-	ret
-
-GameFreakLogoPalettes:
-INCLUDE "gfx/intro/gamefreak_logo.pal"
-
-GameFreakLogo:
-INCBIN "gfx/splash/logo1.1bpp"
-INCBIN "gfx/splash/logo2.1bpp"
-
 CrystalIntro:
 	ldh a, [rSVBK]
 	push af
@@ -1519,7 +1190,7 @@
 	push de
 	ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN
 	call InitSpriteAnimStruct
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $8
 	ld a, SPRITE_ANIM_FRAMESET_INTRO_UNOWN_4
@@ -1529,7 +1200,7 @@
 	push de
 	ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN
 	call InitSpriteAnimStruct
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $18
 	ld a, SPRITE_ANIM_FRAMESET_INTRO_UNOWN_3
@@ -1539,7 +1210,7 @@
 	push de
 	ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN
 	call InitSpriteAnimStruct
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $28
 	ld a, SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1
@@ -1548,7 +1219,7 @@
 
 	ld a, SPRITE_ANIM_INDEX_INTRO_UNOWN
 	call InitSpriteAnimStruct
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $38
 	ld a, SPRITE_ANIM_FRAMESET_INTRO_UNOWN_2
--- /dev/null
+++ b/engine/movie/splash.asm
@@ -1,0 +1,349 @@
+SplashScreen:
+; Play the copyright screen and GameFreak Presents sequence.
+; Return carry if user cancels animation by pressing a button.
+
+; Reinitialize everything
+	ld de, MUSIC_NONE
+	call PlayMusic
+	call ClearBGPalettes
+	call ClearTilemap
+	ld a, HIGH(vBGMap0)
+	ldh [hBGMapAddress + 1], a
+	xor a ; LOW(vBGMap0)
+	ldh [hBGMapAddress], a
+	ldh [hJoyDown], a
+	ldh [hSCX], a
+	ldh [hSCY], a
+	ld a, SCREEN_HEIGHT_PX
+	ldh [hWY], a
+	call WaitBGMap
+	ld b, SCGB_GAMEFREAK_LOGO
+	call GetSGBLayout
+	call SetPalettes
+	ld c, 10
+	call DelayFrames
+
+; Draw copyright screen
+	callfar Copyright
+	call WaitBGMap
+	ld c, 100
+	call DelayFrames
+	call ClearTilemap
+
+; Stop here if not in GBC mode
+	farcall GBCOnlyScreen
+
+; Play GameFreak logo animation
+	call GameFreakPresentsInit
+.joy_loop
+	call JoyTextDelay
+	ldh a, [hJoyLast]
+	and BUTTONS
+	jr nz, .pressed_button
+	ld a, [wJumptableIndex]
+	bit 7, a
+	jr nz, .finish
+	call GameFreakPresentsScene
+	farcall PlaySpriteAnimations
+	call DelayFrame
+	jr .joy_loop
+
+.pressed_button
+	call GameFreakPresentsEnd
+	scf
+	ret
+
+.finish
+	call GameFreakPresentsEnd
+	and a
+	ret
+
+GameFreakPresentsInit:
+	ld de, GameFreakLogoGFX
+	ld hl, vTiles2
+	lb bc, BANK(GameFreakLogoGFX), 28
+	call Get1bpp
+
+	ldh a, [rSVBK]
+	push af
+	ld a, BANK(wDecompressScratch)
+	ldh [rSVBK], a
+
+	ld hl, GameFreakDittoGFX
+	ld de, wDecompressScratch
+	ld a, BANK(GameFreakDittoGFX)
+	call FarDecompress
+
+	ld hl, vTiles0
+	ld de, wDecompressScratch
+	lb bc, 1, 8 tiles
+	call Request2bpp
+
+	ld hl, vTiles1
+	ld de, wDecompressScratch + $80 tiles
+	lb bc, 1, 8 tiles
+	call Request2bpp
+
+	pop af
+	ldh [rSVBK], a
+
+	farcall ClearSpriteAnims
+	depixel 10, 11, 4, 0
+	ld a, SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
+	call InitSpriteAnimStruct
+	ld hl, SPRITEANIMSTRUCT_YOFFSET
+	add hl, bc
+	ld [hl], 160
+	ld hl, SPRITEANIMSTRUCT_VAR1
+	add hl, bc
+	ld [hl], 96
+	ld hl, SPRITEANIMSTRUCT_VAR2
+	add hl, bc
+	ld [hl], 48
+	xor a
+	ld [wJumptableIndex], a
+	ld [wIntroSceneFrameCounter], a
+	ld [wIntroSceneTimer], a
+	ldh [hSCX], a
+	ldh [hSCY], a
+	ld a, 1
+	ldh [hBGMapMode], a
+	ld a, 144
+	ldh [hWY], a
+	lb de, %11100100, %11100100
+	call DmgToCgbObjPals
+	ret
+
+GameFreakPresentsEnd:
+	farcall ClearSpriteAnims
+	call ClearTilemap
+	call ClearSprites
+	ld c, 16
+	call DelayFrames
+	ret
+
+GameFreakPresentsScene:
+	jumptable .scenes, wJumptableIndex
+
+.scenes
+	dw GameFreakPresents_WaitSpriteAnim
+	dw GameFreakPresents_PlaceGameFreak
+	dw GameFreakPresents_PlacePresents
+	dw GameFreakPresents_WaitForTimer
+
+GameFreakPresents_NextScene:
+	ld hl, wJumptableIndex
+	inc [hl]
+	ret
+
+GameFreakPresents_WaitSpriteAnim:
+	ret
+
+GameFreakPresents_PlaceGameFreak:
+	ld hl, wIntroSceneTimer
+	ld a, [hl]
+	cp 32
+	jr nc, .PlaceGameFreak
+	inc [hl]
+	ret
+
+.PlaceGameFreak:
+	ld [hl], 0
+	ld hl, .game_freak
+	decoord 5, 10
+	ld bc, .end - .game_freak
+	call CopyBytes
+	call GameFreakPresents_NextScene
+	ld de, SFX_GAME_FREAK_PRESENTS
+	call PlaySFX
+	ret
+
+.game_freak
+	db $00, $01, $02, $03, $0d, $04, $05, $03, $01, $06
+.end
+	db "@"
+
+GameFreakPresents_PlacePresents:
+	ld hl, wIntroSceneTimer
+	ld a, [hl]
+	cp 64
+	jr nc, .place_presents
+	inc [hl]
+	ret
+
+.place_presents
+	ld [hl], 0
+	ld hl, .presents
+	decoord 7, 11
+	ld bc, .end - .presents
+	call CopyBytes
+	call GameFreakPresents_NextScene
+	ret
+
+.presents
+	db $07, $08, $09, $0a, $0b, $0c
+.end
+	db "@"
+
+GameFreakPresents_WaitForTimer:
+	ld hl, wIntroSceneTimer
+	ld a, [hl]
+	cp 128
+	jr nc, .finish
+	inc [hl]
+	ret
+
+.finish
+	ld hl, wJumptableIndex
+	set 7, [hl]
+	ret
+
+GameFreakLogoSpriteAnim:
+	ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
+	add hl, bc
+	ld e, [hl]
+	ld d, 0
+	ld hl, .scenes
+	add hl, de
+	add hl, de
+	ld a, [hli]
+	ld h, [hl]
+	ld l, a
+	jp hl
+
+.scenes:
+	dw GameFreakLogo_Init
+	dw GameFreakLogo_Bounce
+	dw GameFreakLogo_Ditto
+	dw GameFreakLogo_Transform
+	dw GameFreakLogo_Done
+
+GameFreakLogo_Init:
+	ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
+	add hl, bc
+	inc [hl]
+	ret
+
+GameFreakLogo_Bounce:
+; Bounce with a height of 0C, 0C / 48 times.
+; By default, this is twice, with a height of 96 pixels and 48 pixels.
+; Sine offset starts at 48 (32+32/2, or pi+pi/2), so it starts at the maximum
+; value of the sine wave (i.e. the top of the screen).
+
+	ld hl, SPRITEANIMSTRUCT_VAR1 ; jump height
+	add hl, bc
+	ld a, [hl]
+	and a
+	jr z, .done
+
+; Load the sine offset, make sure it doesn't reach the negative part of the wave
+	ld d, a
+	ld hl, SPRITEANIMSTRUCT_VAR2 ; sine offset
+	add hl, bc
+	ld a, [hl]
+	and $3f ; full circle = 2*pi = 2*32
+	cp 32
+	jr nc, .no_negative
+	add 32
+.no_negative
+
+	ld e, a
+	farcall BattleAnim_Sine_e ; e = d * sin(e * pi/32)
+	ld hl, SPRITEANIMSTRUCT_YOFFSET
+	add hl, bc
+	ld [hl], e
+
+; Decrement the sine offset
+	ld hl, SPRITEANIMSTRUCT_VAR2 ; sine offset
+	add hl, bc
+	ld a, [hl]
+	dec [hl]
+	and $1f ; a%32 == 0
+	ret nz
+
+; If the ditto's reached the ground, decrement the jump height and play the sfx
+	ld hl, SPRITEANIMSTRUCT_VAR1 ; jump height
+	add hl, bc
+	ld a, [hl]
+	sub 48
+	ld [hl], a
+	ld de, SFX_DITTO_BOUNCE
+	call PlaySFX
+	ret
+
+.done
+	ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
+	add hl, bc
+	inc [hl]
+	ld hl, SPRITEANIMSTRUCT_VAR2
+	add hl, bc
+	ld [hl], 0
+	ld de, SFX_DITTO_POP_UP
+	call PlaySFX
+	ret
+
+GameFreakLogo_Ditto:
+; Wait a little, then start transforming
+	ld hl, SPRITEANIMSTRUCT_VAR2 ; frame count
+	add hl, bc
+	ld a, [hl]
+	cp 32
+	jr nc, .start_transform
+	inc [hl]
+	ret
+
+.start_transform
+	ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
+	add hl, bc
+	inc [hl]
+	ld hl, SPRITEANIMSTRUCT_VAR2
+	add hl, bc
+	ld [hl], 0
+	ld de, SFX_DITTO_TRANSFORM
+	call PlaySFX
+	ret
+
+GameFreakLogo_Transform:
+	ld hl, SPRITEANIMSTRUCT_VAR2 ; frame count
+	add hl, bc
+	ld a, [hl]
+	cp 64
+	jr z, .done
+	inc [hl]
+
+; Fade ditto's palettes while it's transforming
+	srl a
+	srl a
+	ld e, a
+	ld d, 0
+	ld hl, GameFreakDittoPaletteFade
+	add hl, de
+	add hl, de
+	ldh a, [rSVBK]
+	push af
+	ld a, BANK(wOBPals2)
+	ldh [rSVBK], a
+	ld a, [hli]
+	ld [wOBPals2 + 12], a
+	ld a, [hli]
+	ld [wOBPals2 + 13], a
+	pop af
+	ldh [rSVBK], a
+	ld a, TRUE
+	ldh [hCGBPalUpdate], a
+	ret
+
+.done
+	ld hl, SPRITEANIMSTRUCT_JUMPTABLE_INDEX
+	add hl, bc
+	inc [hl]
+	call GameFreakPresents_NextScene
+GameFreakLogo_Done:
+	ret
+
+GameFreakDittoPaletteFade:
+INCLUDE "gfx/splash/ditto_fade.pal"
+
+GameFreakLogoGFX:
+INCBIN "gfx/splash/gamefreak_presents.1bpp"
+INCBIN "gfx/splash/gamefreak_logo.1bpp"
--- a/engine/movie/trade_animation.asm
+++ b/engine/movie/trade_animation.asm
@@ -1084,13 +1084,13 @@
 
 .InitTimer:
 	call .JumptableNext
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $80
 	ret
 
 .WaitTimer1:
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	dec [hl]
@@ -1148,13 +1148,13 @@
 
 .done_move_left
 	call .JumptableNext
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld [hl], $80
 	ret
 
 .WaitTimer2:
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, [hl]
 	dec [hl]
--- a/gfx/intro/gamefreak_logo.pal
+++ /dev/null
@@ -1,23 +1,0 @@
-; Ditto's color as it turns into the Game Freak logo.
-; Fade from pink to orange.
-; One color per step.
-
-	RGB 23, 12, 28
-	RGB 23, 12, 27
-	RGB 23, 13, 26
-	RGB 23, 13, 24
-
-	RGB 24, 14, 22
-	RGB 24, 14, 20
-	RGB 24, 15, 18
-	RGB 24, 15, 16
-
-	RGB 25, 16, 14
-	RGB 25, 16, 12
-	RGB 25, 17, 10
-	RGB 25, 17, 08
-
-	RGB 26, 18, 06
-	RGB 26, 18, 04
-	RGB 26, 19, 02
-	RGB 26, 19, 00
binary files a/gfx/intro/logo.png /dev/null differ
--- a/gfx/lz.mk
+++ b/gfx/lz.mk
@@ -11,7 +11,6 @@
 gfx/dummy_game/dummy_game.2bpp.lz: LZFLAGS += --method 2 --align 4
 
 gfx/intro/%.lz: LZFLAGS += --align 4
-gfx/intro/logo.2bpp.lz: LZFLAGS += --method 2 --align 4
 gfx/intro/suicune_close.2bpp.lz: LZFLAGS += --method 2 --align 4
 gfx/intro/unown_back.2bpp.lz: LZFLAGS += --method 2 --align 4
 
@@ -47,6 +46,8 @@
 gfx/slots/slots_1.2bpp.lz: LZFLAGS += --method 2 --align 4
 gfx/slots/slots_2.2bpp.lz: LZFLAGS += --align 4
 gfx/slots/slots_3.2bpp.lz: LZFLAGS += --align 4
+
+gfx/splash/ditto.2bpp.lz: LZFLAGS += --method 2 --align 4
 
 gfx/tilesets/%.lz: LZFLAGS += --align 4
 gfx/tilesets/aerodactyl_word_room.2bpp.lz: LZFLAGS = --compressor null --method 1 --align 1
--- /dev/null
+++ b/gfx/splash/ditto.pal
@@ -1,0 +1,4 @@
+	RGB 31, 31, 31
+	RGB 13, 11, 00
+	RGB 23, 12, 28
+	RGB 00, 00, 00
binary files /dev/null b/gfx/splash/ditto.png differ
--- /dev/null
+++ b/gfx/splash/ditto_fade.pal
@@ -1,0 +1,20 @@
+; Ditto's color as it turns into the Game Freak logo.
+; Fade from pink to orange.
+; One color per step.
+
+	RGB 23, 12, 28
+	RGB 23, 12, 27
+	RGB 23, 13, 26
+	RGB 23, 13, 24
+	RGB 24, 14, 22
+	RGB 24, 14, 20
+	RGB 24, 15, 18
+	RGB 24, 15, 16
+	RGB 25, 16, 14
+	RGB 25, 16, 12
+	RGB 25, 17, 10
+	RGB 25, 17, 08
+	RGB 26, 18, 06
+	RGB 26, 18, 04
+	RGB 26, 19, 02
+	RGB 26, 19, 00
binary files /dev/null b/gfx/splash/gamefreak_logo.png differ
binary files /dev/null b/gfx/splash/gamefreak_presents.png differ
--- a/gfx/splash/logo.pal
+++ /dev/null
@@ -1,4 +1,0 @@
-	RGB 31, 31, 31
-	RGB 13, 11, 00
-	RGB 23, 12, 28
-	RGB 00, 00, 00
binary files a/gfx/splash/logo1.png /dev/null differ
binary files a/gfx/splash/logo2.png /dev/null differ
--- a/macros/wram.asm
+++ b/macros/wram.asm
@@ -356,16 +356,16 @@
 \1DurationOffset:: db
 \1FrameIndex::     db
 \1JumptableIndex:: db
-\1Field0c::        ds 1
-\1Field0d::        ds 1
-\1Field0e::        ds 1
-\1Field0f::        ds 1
+\1Var1::           ds 1
+\1Var2::           ds 1
+\1Var3::           ds 1
+\1Var4::           ds 1
 ENDM
 
 battle_anim_struct: MACRO
 ; Placeholder until we can figure out what it all means
 \1Index::              db
-\1Field01::            ds 1
+\1OAMFlags::           db
 \1Field02::            ds 1
 \1FramesetID::         db
 \1Function::           db
@@ -375,19 +375,13 @@
 \1YCoord::             db
 \1XOffset::            db
 \1YOffset::            db
-\1Field0b::            ds 1
+\1Param::              db
 \1Duration::           db
 \1Frame::              db
-\1AnonJumptableIndex:: db
-\1Field0f::            ds 1
-\1Field10::            ds 1
-\1Field11::            ds 1
-\1Field12::            ds 1
-\1Field13::            ds 1
-\1Field14::            ds 1
-\1Field15::            ds 1
-\1Field16::            ds 1
-\1Field17::            ds 1
+\1JumptableIndex::     db
+\1Var1::               db
+\1Var2::               db
+	ds 7
 ENDM
 
 battle_bg_effect: MACRO
--- a/main.asm
+++ b/main.asm
@@ -493,6 +493,7 @@
 INCBIN "gfx/splash/copyright.2bpp"
 
 INCLUDE "engine/menus/options_menu.asm"
+INCLUDE "engine/movie/splash.asm"
 INCLUDE "engine/movie/intro.asm"
 
 
@@ -540,8 +541,8 @@
 
 SECTION "Intro Logo", ROMX
 
-IntroLogoGFX:
-INCBIN "gfx/intro/logo.2bpp.lz"
+GameFreakDittoGFX:
+INCBIN "gfx/splash/ditto.2bpp.lz"
 
 
 SECTION "Title", ROMX
--- a/mobile/fixed_words.asm
+++ b/mobile/fixed_words.asm
@@ -418,7 +418,7 @@
 
 	ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
 	call InitSpriteAnimStruct
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, $1
 	ld [hl], a
@@ -426,7 +426,7 @@
 	depixel 9, 2, 2, 0
 	ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
 	call InitSpriteAnimStruct
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, $3
 	ld [hl], a
@@ -434,7 +434,7 @@
 	depixel 10, 16
 	ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
 	call InitSpriteAnimStruct
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, $4
 	ld [hl], a
@@ -442,7 +442,7 @@
 	depixel 10, 4
 	ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
 	call InitSpriteAnimStruct
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, $5
 	ld [hl], a
@@ -450,7 +450,7 @@
 	depixel 10, 2
 	ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
 	call InitSpriteAnimStruct
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, $2
 	ld [hl], a
@@ -2453,7 +2453,7 @@
 	ret
 
 AnimateEZChatCursor:
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	jumptable .Jumptable, hl
 
@@ -2820,7 +2820,7 @@
 	ld hl, wcd23
 	and [hl]
 	jr z, .reset_y_offset
-	ld hl, SPRITEANIMSTRUCT_0E
+	ld hl, SPRITEANIMSTRUCT_VAR3
 	add hl, bc
 	ld a, [hl]
 	and a
--- a/mobile/mobile_5c.asm
+++ b/mobile/mobile_5c.asm
@@ -485,7 +485,7 @@
 	depixel 8, 2
 	ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
 	call InitSpriteAnimStruct
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, $8
 	ld [hl], a
@@ -493,7 +493,7 @@
 	depixel 8, 19
 	ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
 	call InitSpriteAnimStruct
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, $9
 	ld [hl], a
@@ -501,7 +501,7 @@
 	depixel 17, 14, 2, 0
 	ld a, SPRITE_ANIM_INDEX_EZCHAT_CURSOR
 	call InitSpriteAnimStruct
-	ld hl, SPRITEANIMSTRUCT_0C
+	ld hl, SPRITEANIMSTRUCT_VAR1
 	add hl, bc
 	ld a, $a
 	ld [hl], a