summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--constants.asm1
-rw-r--r--constants/sprite_constants.asm512
-rw-r--r--constants/sprite_data_constants.asm511
-rw-r--r--data/outdoor_sprites.asm104
-rwxr-xr-xdata/sprite_anim_frames.asm110
-rw-r--r--data/sprite_anim_oam.asm517
-rw-r--r--data/sprite_anim_seqs.asm10
-rwxr-xr-xengine/intro_menu.asm6
-rwxr-xr-xengine/mon_icons.asm9
-rwxr-xr-xengine/player_object.asm2
-rwxr-xr-xengine/pokegear.asm4
-rwxr-xr-xengine/sprite_anims.asm16
-rw-r--r--gbhw.asm19
-rw-r--r--gfx/icons.asm1
14 files changed, 908 insertions, 914 deletions
diff --git a/constants.asm b/constants.asm
index 5d47dd065..faab5c320 100644
--- a/constants.asm
+++ b/constants.asm
@@ -33,6 +33,7 @@ INCLUDE "constants/deco_constants.asm"
INCLUDE "constants/radio_constants.asm"
INCLUDE "constants/npctrade_constants.asm"
INCLUDE "constants/sprite_constants.asm"
+INCLUDE "constants/sprite_data_constants.asm"
INCLUDE "constants/tileset_constants.asm"
INCLUDE "constants/cgb_constants.asm"
INCLUDE "constants/battle_tower_constants.asm"
diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm
index cf8d50a91..b008ac6c2 100644
--- a/constants/sprite_constants.asm
+++ b/constants/sprite_constants.asm
@@ -165,515 +165,3 @@ SPRITE_VARS EQU const_value
const SPRITE_FUCHSIA_GYM_4 ; fa
const SPRITE_COPYCAT ; fb
const SPRITE_JANINE_IMPERSONATOR ; fc
-
-; sprite_header struct members (see gfx/sprite_headers.asm)
- const_def
- const SPRITEHEADER_ADDR_LO
- const SPRITEHEADER_ADDR_HI
- const SPRITEHEADER_SIZE
- const SPRITEHEADER_BANK
- const SPRITEHEADER_TYPE
- const SPRITEHEADER_PALETTE
-NUM_SPRITEHEADER_FIELDS EQU const_value
-
-; sprite types
-const_value SET 1
- const WALKING_SPRITE
- const STANDING_SPRITE
- const STILL_SPRITE
-
-; sprite palettes
- const_def
- const PAL_OW_RED ; 0
- const PAL_OW_BLUE ; 1
- const PAL_OW_GREEN ; 2
- const PAL_OW_BROWN ; 3
- const PAL_OW_PINK ; 4
- const PAL_OW_SILVER ; 5
- const PAL_OW_TREE ; 6
- const PAL_OW_ROCK ; 7
-
-; person_events set bit 3 so as not to use the sprite's default palette
-const_value set (1 << 3)
- const PAL_NPC_RED ; 8
- const PAL_NPC_BLUE ; 9
- const PAL_NPC_GREEN ; a
- const PAL_NPC_BROWN ; b
- const PAL_NPC_PINK ; c
- const PAL_NPC_SILVER ; d
- const PAL_NPC_TREE ; e
- const PAL_NPC_ROCK ; f
-
-; SpriteMovementData indexes (see data/map_objects.asm)
- const_def
- const SPRITEMOVEDATA_00 ; 00
- const SPRITEMOVEDATA_ITEM_TREE ; 01
- const SPRITEMOVEDATA_WANDER ; 02
- const SPRITEMOVEDATA_SPINRANDOM_SLOW ; 03
- const SPRITEMOVEDATA_WALK_UP_DOWN ; 04
- const SPRITEMOVEDATA_WALK_LEFT_RIGHT ; 05
- const SPRITEMOVEDATA_STANDING_DOWN ; 06
- const SPRITEMOVEDATA_STANDING_UP ; 07
- const SPRITEMOVEDATA_STANDING_LEFT ; 08
- const SPRITEMOVEDATA_STANDING_RIGHT ; 09
- const SPRITEMOVEDATA_SPINRANDOM_FAST ; 0a
- const SPRITEMOVEDATA_PLAYER ; 0b
- const SPRITEMOVEDATA_0C ; 0c
- const SPRITEMOVEDATA_0D ; 0d
- const SPRITEMOVEDATA_0E ; 0e
- const SPRITEMOVEDATA_0F ; 0f
- const SPRITEMOVEDATA_10 ; 10
- const SPRITEMOVEDATA_11 ; 11
- const SPRITEMOVEDATA_12 ; 12
- const SPRITEMOVEDATA_FOLLOWING ; 13
- const SPRITEMOVEDATA_SCRIPTED ; 14
- const SPRITEMOVEDATA_SNORLAX ; 15
- const SPRITEMOVEDATA_POKEMON ; 16
- const SPRITEMOVEDATA_SUDOWOODO ; 17
- const SPRITEMOVEDATA_SMASHABLE_ROCK ; 18
- const SPRITEMOVEDATA_STRENGTH_BOULDER ; 19
- const SPRITEMOVEDATA_FOLLOWNOTEXACT ; 1a
- const SPRITEMOVEDATA_SHADOW ; 1b
- const SPRITEMOVEDATA_EMOTE ; 1c
- const SPRITEMOVEDATA_SCREENSHAKE ; 1d
- const SPRITEMOVEDATA_SPINCOUNTERCLOCKWISE ; 1e
- const SPRITEMOVEDATA_SPINCLOCKWISE ; 1f
- const SPRITEMOVEDATA_20 ; 20
- const SPRITEMOVEDATA_BIGDOLL ; 21
- const SPRITEMOVEDATA_BOULDERDUST ; 22
- const SPRITEMOVEDATA_GRASS ; 23
- const SPRITEMOVEDATA_LAPRAS ; 24
-NUM_SPRITEMOVEDATA EQU const_value
-SPRITEMOVEDATA_FIELDS EQU 6
-
-; MapObjectMovementPattern.Pointers indexes (see engine/map_objects.asm)
- const_def
- const SPRITEMOVEFN_00
- const SPRITEMOVEFN_RANDOM_WALK_Y
- const SPRITEMOVEFN_RANDOM_WALK_X
- const SPRITEMOVEFN_RANDOM_WALK_XY
- const SPRITEMOVEFN_SLOW_RANDOM_SPIN
- const SPRITEMOVEFN_FAST_RANDOM_SPIN
- const SPRITEMOVEFN_STANDING
- const SPRITEMOVEFN_OBEY_DPAD
- const SPRITEMOVEFN_08
- const SPRITEMOVEFN_09
- const SPRITEMOVEFN_0A
- const SPRITEMOVEFN_0B
- const SPRITEMOVEFN_0C
- const SPRITEMOVEFN_0D
- const SPRITEMOVEFN_0E
- const SPRITEMOVEFN_FOLLOW
- const SPRITEMOVEFN_SCRIPTED
- const SPRITEMOVEFN_STRENGTH
- const SPRITEMOVEFN_FOLLOWNOTEXACT
- const SPRITEMOVEFN_SHADOW
- const SPRITEMOVEFN_EMOTE
- const SPRITEMOVEFN_BIG_SNORLAX
- const SPRITEMOVEFN_BOUNCE
- const SPRITEMOVEFN_SCREENSHAKE
- const SPRITEMOVEFN_SPIN_CLOCKWISE
- const SPRITEMOVEFN_SPIN_COUNTERCLOCKWISE
- const SPRITEMOVEFN_BOULDERDUST
- const SPRITEMOVEFN_GRASS
-
-; StepTypesJumptable indexes (see engine/map_objects.asm)
- const_def
- const STEP_TYPE_00
- const STEP_TYPE_SLEEP
- const STEP_TYPE_NPC_WALK
- const STEP_TYPE_03
- const STEP_TYPE_04
- const STEP_TYPE_05
- const STEP_TYPE_PLAYER_WALK
- const STEP_TYPE_07
- const STEP_TYPE_NPC_JUMP
- const STEP_TYPE_PLAYER_JUMP
- const STEP_TYPE_HALF_STEP
- const STEP_TYPE_BUMP
- const STEP_TYPE_TELEPORT_FROM
- const STEP_TYPE_TELEPORT_TO
- const STEP_TYPE_SKYFALL
- const STEP_TYPE_0F
- const STEP_TYPE_GOT_BITE
- const STEP_TYPE_ROCK_SMASH
- const STEP_TYPE_RETURN_DIG
- const STEP_TYPE_TRACKING_OBJECT
- const STEP_TYPE_14
- const STEP_TYPE_15
- const STEP_TYPE_16
- const STEP_TYPE_17
- const STEP_TYPE_18
- const STEP_TYPE_SKYFALL_TOP
-
-; PersonActionPairPointers indexes (see engine/map_object_action.asm)
- const_def
- const PERSON_ACTION_00
- const PERSON_ACTION_STAND
- const PERSON_ACTION_STEP
- const PERSON_ACTION_BUMP
- const PERSON_ACTION_SPIN
- const PERSON_ACTION_SPIN_FLICKER
- const PERSON_ACTION_FISHING
- const PERSON_ACTION_SHADOW
- const PERSON_ACTION_EMOTE
- const PERSON_ACTION_BIG_SNORLAX
- const PERSON_ACTION_BOUNCE
- const PERSON_ACTION_WEIRD_TREE
- const PERSON_ACTION_BIG_LAPRAS
- const PERSON_ACTION_BIG_DOLL
- const PERSON_ACTION_BOULDER_DUST
- const PERSON_ACTION_GRASS_SHAKE
- const PERSON_ACTION_SKYFALL
-
-; Facings indexes (see data/facings.asm)
- const_def
- const FACING_STEP_DOWN_0
- const FACING_STEP_DOWN_1
- const FACING_STEP_DOWN_2
- const FACING_STEP_DOWN_3
- const FACING_STEP_UP_0
- const FACING_STEP_UP_1
- const FACING_STEP_UP_2
- const FACING_STEP_UP_3
- const FACING_STEP_LEFT_0
- const FACING_STEP_LEFT_1
- const FACING_STEP_LEFT_2
- const FACING_STEP_LEFT_3
- const FACING_STEP_RIGHT_0
- const FACING_STEP_RIGHT_1
- const FACING_STEP_RIGHT_2
- const FACING_STEP_RIGHT_3
- const FACING_FISH_DOWN
- const FACING_FISH_UP
- const FACING_FISH_LEFT
- const FACING_FISH_RIGHT
- const FACING_EMOTE
- const FACING_SHADOW
- const FACING_BIG_DOLL_ASYM
- const FACING_BIG_DOLL_SYM
- const FACING_WEIRD_TREE_0
- const FACING_WEIRD_TREE_1
- const FACING_WEIRD_TREE_2
- const FACING_WEIRD_TREE_3
- const FACING_BOULDER_DUST_1
- const FACING_BOULDER_DUST_2
- const FACING_GRASS_1
- const FACING_GRASS_2
-
-; sprite_anim_struct members (see macros/wram.asm)
- const_def
- const SPRITEANIMSTRUCT_INDEX ; 0
- const SPRITEANIMSTRUCT_FRAMESET_ID ; 1
- const SPRITEANIMSTRUCT_ANIM_SEQ_ID ; 2
- const SPRITEANIMSTRUCT_TILE_ID ; 3
- const SPRITEANIMSTRUCT_XCOORD ; 4
- const SPRITEANIMSTRUCT_YCOORD ; 5
- const SPRITEANIMSTRUCT_XOFFSET ; 6
- const SPRITEANIMSTRUCT_YOFFSET ; 7
- const SPRITEANIMSTRUCT_DURATION ; 8
- 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
-
-; SpriteAnimFrameData indexes (see data/sprite_anim_frames.asm)
- const_def
- const SPRITE_ANIM_FRAMESET_00
- const SPRITE_ANIM_FRAMESET_PARTY_MON
- const SPRITE_ANIM_FRAMESET_02 ; unused?
- const SPRITE_ANIM_FRAMESET_03 ; unused?
- const SPRITE_ANIM_FRAMESET_04 ; unused?
- const SPRITE_ANIM_FRAMESET_05 ; unused?
- const SPRITE_ANIM_FRAMESET_06 ; unused?
- const SPRITE_ANIM_FRAMESET_07
- const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR
- const SPRITE_ANIM_FRAMESET_09 ; unused?
- const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO
- const SPRITE_ANIM_FRAMESET_GS_INTRO_STAR
- const SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE
- const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM
- const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY
- const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2
- const SPRITE_ANIM_FRAMESET_SLOTS_EGG
- const SPRITE_ANIM_FRAMESET_RED_WALK
- const SPRITE_ANIM_FRAMESET_STILL_CURSOR
- const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL
- const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0
- const SPRITE_ANIM_FRAMESET_TRADE_POOF
- const SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE
- const SPRITE_ANIM_FRAMESET_TRADEMON_ICON
- const SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE
- const SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT
- const SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB
- const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED
- const SPRITE_ANIM_FRAMESET_1C ; unused?
- const SPRITE_ANIM_FRAMESET_LEAF
- const SPRITE_ANIM_FRAMESET_CUT_TREE
- const SPRITE_ANIM_FRAMESET_EGG_CRACK
- const SPRITE_ANIM_FRAMESET_EGG_HATCH
- const SPRITE_ANIM_FRAMESET_21 ; unused?
- const SPRITE_ANIM_FRAMESET_22 ; unused?
- const SPRITE_ANIM_FRAMESET_23 ; unused?
- const SPRITE_ANIM_FRAMESET_24
- const SPRITE_ANIM_FRAMESET_HEADBUTT
- const SPRITE_ANIM_FRAMESET_26
- const SPRITE_ANIM_FRAMESET_27 ; unused?
- const SPRITE_ANIM_FRAMESET_28 ; unused?
- const SPRITE_ANIM_FRAMESET_29 ; unused?
- const SPRITE_ANIM_FRAMESET_2A ; unused?
- const SPRITE_ANIM_FRAMESET_2B ; unused?
- const SPRITE_ANIM_FRAMESET_2C ; unused?
- const SPRITE_ANIM_FRAMESET_BLUE_WALK
- const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE
- const SPRITE_ANIM_FRAMESET_2F
- const SPRITE_ANIM_FRAMESET_30
- const SPRITE_ANIM_FRAMESET_31
- const SPRITE_ANIM_FRAMESET_32
- const SPRITE_ANIM_FRAMESET_33
- const SPRITE_ANIM_FRAMESET_34
- const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE
- const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_2
- const SPRITE_ANIM_FRAMESET_INTRO_PICHU
- const SPRITE_ANIM_FRAMESET_INTRO_WOOPER
- const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1
- const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_2
- const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_3
- const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_4
- const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F_2
- const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY
- const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F
- const SPRITE_ANIM_FRAMESET_CELEBI_LEFT
- const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT
-
-; DoAnimFrame.Jumptable indexes (see engine/sprite_anims.asm)
- const_def
- const SPRITE_ANIM_SEQ_NULL
- const SPRITE_ANIM_SEQ_PARTY_MON
- const SPRITE_ANIM_SEQ_PARTY_MON_SWITCH
- const SPRITE_ANIM_SEQ_PARTY_MON_SELECTED
- const SPRITE_ANIM_SEQ_04
- const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR
- const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO
- const SPRITE_ANIM_SEQ_GS_INTRO_STAR
- const SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE
- const SPRITE_ANIM_SEQ_SLOTS_GOLEM
- const SPRITE_ANIM_SEQ_SLOTS_CHANSEY
- const SPRITE_ANIM_SEQ_SLOTS_EGG
- const SPRITE_ANIM_SEQ_MAIL_CURSOR
- const SPRITE_ANIM_SEQ_0D
- const SPRITE_ANIM_SEQ_0E
- const SPRITE_ANIM_SEQ_0F
- const SPRITE_ANIM_SEQ_TRADE_POKE_BALL
- const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE
- const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE
- const SPRITE_ANIM_SEQ_REVEAL_NEW_MON
- const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB
- const SPRITE_ANIM_SEQ_CUT_LEAVES
- const SPRITE_ANIM_SEQ_FLY_FROM
- const SPRITE_ANIM_SEQ_FLY_LEAF
- const SPRITE_ANIM_SEQ_FLY_TO
- const SPRITE_ANIM_SEQ_19
- const SPRITE_ANIM_SEQ_1A
- const SPRITE_ANIM_SEQ_1B
- const SPRITE_ANIM_SEQ_1C
- const SPRITE_ANIM_SEQ_INTRO_SUICUNE
- const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER
- const SPRITE_ANIM_SEQ_CELEBI
- const SPRITE_ANIM_SEQ_INTRO_UNOWN
- const SPRITE_ANIM_SEQ_INTRO_UNOWN_F
- const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY
-
-; SpriteAnimSeqData indexes (see data/sprite_anim_seqs.asm)
- const_def
- const SPRITE_ANIM_INDEX_PARTY_MON
- const SPRITE_ANIM_INDEX_01
- const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
- const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
- const SPRITE_ANIM_INDEX_GS_INTRO_STAR
- const SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE
- const SPRITE_ANIM_INDEX_SLOTS_GOLEM
- const SPRITE_ANIM_INDEX_SLOTS_CHANSEY
- const SPRITE_ANIM_INDEX_SLOTS_EGG
- const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
- const SPRITE_ANIM_INDEX_RED_WALK
- const SPRITE_ANIM_INDEX_0B
- const SPRITE_ANIM_INDEX_DUMMY_GAME
- const SPRITE_ANIM_INDEX_0D
- const SPRITE_ANIM_INDEX_TRADE_POKE_BALL
- const SPRITE_ANIM_INDEX_TRADE_POOF
- const SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
- const SPRITE_ANIM_INDEX_TRADEMON_ICON
- const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
- const SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
- const SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
- const SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
- const SPRITE_ANIM_INDEX_LEAF
- const SPRITE_ANIM_INDEX_CUT_TREE
- const SPRITE_ANIM_INDEX_FLY_LEAF
- const SPRITE_ANIM_INDEX_EGG_CRACK
- const SPRITE_ANIM_INDEX_1A
- const SPRITE_ANIM_INDEX_HEADBUTT
- const SPRITE_ANIM_INDEX_EGG_HATCH
- const SPRITE_ANIM_INDEX_1D
- const SPRITE_ANIM_INDEX_BLUE_WALK
- const SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
- const SPRITE_ANIM_INDEX_20
- const SPRITE_ANIM_INDEX_21
- const SPRITE_ANIM_INDEX_22
- const SPRITE_ANIM_INDEX_23
- const SPRITE_ANIM_INDEX_24
- const SPRITE_ANIM_INDEX_25
- const SPRITE_ANIM_INDEX_INTRO_SUICUNE
- const SPRITE_ANIM_INDEX_INTRO_PICHU
- const SPRITE_ANIM_INDEX_INTRO_WOOPER
- const SPRITE_ANIM_INDEX_INTRO_UNOWN
- const SPRITE_ANIM_INDEX_INTRO_UNOWN_F
- const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
- const SPRITE_ANIM_INDEX_CELEBI
-
-; SpriteAnimOAMData indexes (see data/sprite_anim_oam.asm)
- const_def
- const SPRITE_ANIM_FRAME_IDX_00
- const SPRITE_ANIM_FRAME_IDX_01
- const SPRITE_ANIM_FRAME_IDX_02
- const SPRITE_ANIM_FRAME_IDX_03
- const SPRITE_ANIM_FRAME_IDX_04
- const SPRITE_ANIM_FRAME_IDX_05
- const SPRITE_ANIM_FRAME_IDX_06
- const SPRITE_ANIM_FRAME_IDX_07
- const SPRITE_ANIM_FRAME_IDX_08
- const SPRITE_ANIM_FRAME_IDX_09
- const SPRITE_ANIM_FRAME_IDX_0A
- const SPRITE_ANIM_FRAME_IDX_0B
- const SPRITE_ANIM_FRAME_IDX_0C
- const SPRITE_ANIM_FRAME_IDX_0D
- const SPRITE_ANIM_FRAME_IDX_0E
- const SPRITE_ANIM_FRAME_IDX_0F
- const SPRITE_ANIM_FRAME_IDX_10
- const SPRITE_ANIM_FRAME_IDX_11
- const SPRITE_ANIM_FRAME_IDX_12
- const SPRITE_ANIM_FRAME_IDX_13
- const SPRITE_ANIM_FRAME_IDX_14
- const SPRITE_ANIM_FRAME_IDX_15
- const SPRITE_ANIM_FRAME_IDX_16
- const SPRITE_ANIM_FRAME_IDX_17
- const SPRITE_ANIM_FRAME_IDX_18
- const SPRITE_ANIM_FRAME_IDX_19
- const SPRITE_ANIM_FRAME_IDX_1A
- const SPRITE_ANIM_FRAME_IDX_1B
- const SPRITE_ANIM_FRAME_IDX_1C
- const SPRITE_ANIM_FRAME_IDX_1D
- const SPRITE_ANIM_FRAME_IDX_1E
- const SPRITE_ANIM_FRAME_IDX_1F
- const SPRITE_ANIM_FRAME_IDX_20
- const SPRITE_ANIM_FRAME_IDX_21
- const SPRITE_ANIM_FRAME_IDX_22
- const SPRITE_ANIM_FRAME_IDX_23
- const SPRITE_ANIM_FRAME_IDX_24
- const SPRITE_ANIM_FRAME_IDX_25
- const SPRITE_ANIM_FRAME_IDX_26
- const SPRITE_ANIM_FRAME_IDX_27
- const SPRITE_ANIM_FRAME_IDX_28
- const SPRITE_ANIM_FRAME_IDX_29
- const SPRITE_ANIM_FRAME_IDX_2A
- const SPRITE_ANIM_FRAME_IDX_2B
- const SPRITE_ANIM_FRAME_IDX_2C
- const SPRITE_ANIM_FRAME_IDX_2D
- const SPRITE_ANIM_FRAME_IDX_2E
- const SPRITE_ANIM_FRAME_IDX_2F
- const SPRITE_ANIM_FRAME_IDX_30
- const SPRITE_ANIM_FRAME_IDX_31
- const SPRITE_ANIM_FRAME_IDX_32
- const SPRITE_ANIM_FRAME_IDX_33
- const SPRITE_ANIM_FRAME_IDX_34
- const SPRITE_ANIM_FRAME_IDX_35
- const SPRITE_ANIM_FRAME_IDX_36
- const SPRITE_ANIM_FRAME_IDX_37
- const SPRITE_ANIM_FRAME_IDX_38
- const SPRITE_ANIM_FRAME_IDX_39
- const SPRITE_ANIM_FRAME_IDX_3A
- const SPRITE_ANIM_FRAME_IDX_3B
- const SPRITE_ANIM_FRAME_IDX_3C
- const SPRITE_ANIM_FRAME_IDX_3D
- const SPRITE_ANIM_FRAME_IDX_3E
- const SPRITE_ANIM_FRAME_IDX_3F
- const SPRITE_ANIM_FRAME_IDX_40
- const SPRITE_ANIM_FRAME_IDX_41
- const SPRITE_ANIM_FRAME_IDX_42
- const SPRITE_ANIM_FRAME_IDX_43
- const SPRITE_ANIM_FRAME_IDX_44
- const SPRITE_ANIM_FRAME_IDX_45
- const SPRITE_ANIM_FRAME_IDX_46
- const SPRITE_ANIM_FRAME_IDX_47
- const SPRITE_ANIM_FRAME_IDX_48
- const SPRITE_ANIM_FRAME_IDX_49
- const SPRITE_ANIM_FRAME_IDX_4A
- const SPRITE_ANIM_FRAME_IDX_4B
- const SPRITE_ANIM_FRAME_IDX_4C
- const SPRITE_ANIM_FRAME_IDX_4D
- const SPRITE_ANIM_FRAME_IDX_4E
- const SPRITE_ANIM_FRAME_IDX_4F
- const SPRITE_ANIM_FRAME_IDX_50
- const SPRITE_ANIM_FRAME_IDX_51
- const SPRITE_ANIM_FRAME_IDX_52
- const SPRITE_ANIM_FRAME_IDX_53
- const SPRITE_ANIM_FRAME_IDX_54
- const SPRITE_ANIM_FRAME_IDX_55
- const SPRITE_ANIM_FRAME_IDX_56
- const SPRITE_ANIM_FRAME_IDX_57
- const SPRITE_ANIM_FRAME_IDX_58
- const SPRITE_ANIM_FRAME_IDX_59
- const SPRITE_ANIM_FRAME_IDX_5A
- const SPRITE_ANIM_FRAME_IDX_5B
- const SPRITE_ANIM_FRAME_IDX_5C
- const SPRITE_ANIM_FRAME_IDX_5D
- const SPRITE_ANIM_FRAME_IDX_5E
- const SPRITE_ANIM_FRAME_IDX_5F
- const SPRITE_ANIM_FRAME_IDX_60
- const SPRITE_ANIM_FRAME_IDX_61
- const SPRITE_ANIM_FRAME_IDX_62
- const SPRITE_ANIM_FRAME_IDX_63
- const SPRITE_ANIM_FRAME_IDX_64
- const SPRITE_ANIM_FRAME_IDX_65
- const SPRITE_ANIM_FRAME_IDX_66
- const SPRITE_ANIM_FRAME_IDX_67
- const SPRITE_ANIM_FRAME_IDX_68
- const SPRITE_ANIM_FRAME_IDX_69
- const SPRITE_ANIM_FRAME_IDX_6A
- const SPRITE_ANIM_FRAME_IDX_6B
- const SPRITE_ANIM_FRAME_IDX_6C
- const SPRITE_ANIM_FRAME_IDX_6D
- const SPRITE_ANIM_FRAME_IDX_6E
- const SPRITE_ANIM_FRAME_IDX_6F
- const SPRITE_ANIM_FRAME_IDX_70
- const SPRITE_ANIM_FRAME_IDX_71
- const SPRITE_ANIM_FRAME_IDX_72
- const SPRITE_ANIM_FRAME_IDX_73
- const SPRITE_ANIM_FRAME_IDX_74
- const SPRITE_ANIM_FRAME_IDX_75
- const SPRITE_ANIM_FRAME_IDX_76
- const SPRITE_ANIM_FRAME_IDX_77
- const SPRITE_ANIM_FRAME_IDX_78
- const SPRITE_ANIM_FRAME_IDX_79
- const SPRITE_ANIM_FRAME_IDX_7A
- const SPRITE_ANIM_FRAME_IDX_7B
- const SPRITE_ANIM_FRAME_IDX_7C
- const SPRITE_ANIM_FRAME_IDX_7D
- const SPRITE_ANIM_FRAME_IDX_7E
- const SPRITE_ANIM_FRAME_IDX_7F
- const SPRITE_ANIM_FRAME_IDX_80
- const SPRITE_ANIM_FRAME_IDX_81
- const SPRITE_ANIM_FRAME_IDX_82
- const SPRITE_ANIM_FRAME_IDX_83
- const SPRITE_ANIM_FRAME_IDX_84
- const SPRITE_ANIM_FRAME_IDX_85
- const SPRITE_ANIM_FRAME_IDX_86
- const SPRITE_ANIM_FRAME_IDX_87
- const SPRITE_ANIM_FRAME_IDX_88
- const SPRITE_ANIM_FRAME_IDX_89
- const SPRITE_ANIM_FRAME_IDX_8A
- const SPRITE_ANIM_FRAME_IDX_8B
diff --git a/constants/sprite_data_constants.asm b/constants/sprite_data_constants.asm
new file mode 100644
index 000000000..1b2f9fa46
--- /dev/null
+++ b/constants/sprite_data_constants.asm
@@ -0,0 +1,511 @@
+; sprite_header struct members (see gfx/sprite_headers.asm)
+ const_def
+ const SPRITEHEADER_ADDR_LO
+ const SPRITEHEADER_ADDR_HI
+ const SPRITEHEADER_SIZE
+ const SPRITEHEADER_BANK
+ const SPRITEHEADER_TYPE
+ const SPRITEHEADER_PALETTE
+NUM_SPRITEHEADER_FIELDS EQU const_value
+
+; sprite types
+const_value SET 1
+ const WALKING_SPRITE
+ const STANDING_SPRITE
+ const STILL_SPRITE
+
+; sprite palettes
+ const_def
+ const PAL_OW_RED ; 0
+ const PAL_OW_BLUE ; 1
+ const PAL_OW_GREEN ; 2
+ const PAL_OW_BROWN ; 3
+ const PAL_OW_PINK ; 4
+ const PAL_OW_SILVER ; 5
+ const PAL_OW_TREE ; 6
+ const PAL_OW_ROCK ; 7
+
+; person_events set bit 3 so as not to use the sprite's default palette
+const_value set (1 << 3)
+ const PAL_NPC_RED ; 8
+ const PAL_NPC_BLUE ; 9
+ const PAL_NPC_GREEN ; a
+ const PAL_NPC_BROWN ; b
+ const PAL_NPC_PINK ; c
+ const PAL_NPC_SILVER ; d
+ const PAL_NPC_TREE ; e
+ const PAL_NPC_ROCK ; f
+
+; SpriteMovementData indexes (see data/map_objects.asm)
+ const_def
+ const SPRITEMOVEDATA_00 ; 00
+ const SPRITEMOVEDATA_ITEM_TREE ; 01
+ const SPRITEMOVEDATA_WANDER ; 02
+ const SPRITEMOVEDATA_SPINRANDOM_SLOW ; 03
+ const SPRITEMOVEDATA_WALK_UP_DOWN ; 04
+ const SPRITEMOVEDATA_WALK_LEFT_RIGHT ; 05
+ const SPRITEMOVEDATA_STANDING_DOWN ; 06
+ const SPRITEMOVEDATA_STANDING_UP ; 07
+ const SPRITEMOVEDATA_STANDING_LEFT ; 08
+ const SPRITEMOVEDATA_STANDING_RIGHT ; 09
+ const SPRITEMOVEDATA_SPINRANDOM_FAST ; 0a
+ const SPRITEMOVEDATA_PLAYER ; 0b
+ const SPRITEMOVEDATA_0C ; 0c
+ const SPRITEMOVEDATA_0D ; 0d
+ const SPRITEMOVEDATA_0E ; 0e
+ const SPRITEMOVEDATA_0F ; 0f
+ const SPRITEMOVEDATA_10 ; 10
+ const SPRITEMOVEDATA_11 ; 11
+ const SPRITEMOVEDATA_12 ; 12
+ const SPRITEMOVEDATA_FOLLOWING ; 13
+ const SPRITEMOVEDATA_SCRIPTED ; 14
+ const SPRITEMOVEDATA_SNORLAX ; 15
+ const SPRITEMOVEDATA_POKEMON ; 16
+ const SPRITEMOVEDATA_SUDOWOODO ; 17
+ const SPRITEMOVEDATA_SMASHABLE_ROCK ; 18
+ const SPRITEMOVEDATA_STRENGTH_BOULDER ; 19
+ const SPRITEMOVEDATA_FOLLOWNOTEXACT ; 1a
+ const SPRITEMOVEDATA_SHADOW ; 1b
+ const SPRITEMOVEDATA_EMOTE ; 1c
+ const SPRITEMOVEDATA_SCREENSHAKE ; 1d
+ const SPRITEMOVEDATA_SPINCOUNTERCLOCKWISE ; 1e
+ const SPRITEMOVEDATA_SPINCLOCKWISE ; 1f
+ const SPRITEMOVEDATA_20 ; 20
+ const SPRITEMOVEDATA_BIGDOLL ; 21
+ const SPRITEMOVEDATA_BOULDERDUST ; 22
+ const SPRITEMOVEDATA_GRASS ; 23
+ const SPRITEMOVEDATA_LAPRAS ; 24
+NUM_SPRITEMOVEDATA EQU const_value
+SPRITEMOVEDATA_FIELDS EQU 6
+
+; MapObjectMovementPattern.Pointers indexes (see engine/map_objects.asm)
+ const_def
+ const SPRITEMOVEFN_00
+ const SPRITEMOVEFN_RANDOM_WALK_Y
+ const SPRITEMOVEFN_RANDOM_WALK_X
+ const SPRITEMOVEFN_RANDOM_WALK_XY
+ const SPRITEMOVEFN_SLOW_RANDOM_SPIN
+ const SPRITEMOVEFN_FAST_RANDOM_SPIN
+ const SPRITEMOVEFN_STANDING
+ const SPRITEMOVEFN_OBEY_DPAD
+ const SPRITEMOVEFN_08
+ const SPRITEMOVEFN_09
+ const SPRITEMOVEFN_0A
+ const SPRITEMOVEFN_0B
+ const SPRITEMOVEFN_0C
+ const SPRITEMOVEFN_0D
+ const SPRITEMOVEFN_0E
+ const SPRITEMOVEFN_FOLLOW
+ const SPRITEMOVEFN_SCRIPTED
+ const SPRITEMOVEFN_STRENGTH
+ const SPRITEMOVEFN_FOLLOWNOTEXACT
+ const SPRITEMOVEFN_SHADOW
+ const SPRITEMOVEFN_EMOTE
+ const SPRITEMOVEFN_BIG_SNORLAX
+ const SPRITEMOVEFN_BOUNCE
+ const SPRITEMOVEFN_SCREENSHAKE
+ const SPRITEMOVEFN_SPIN_CLOCKWISE
+ const SPRITEMOVEFN_SPIN_COUNTERCLOCKWISE
+ const SPRITEMOVEFN_BOULDERDUST
+ const SPRITEMOVEFN_GRASS
+
+; StepTypesJumptable indexes (see engine/map_objects.asm)
+ const_def
+ const STEP_TYPE_00
+ const STEP_TYPE_SLEEP
+ const STEP_TYPE_NPC_WALK
+ const STEP_TYPE_03
+ const STEP_TYPE_04
+ const STEP_TYPE_05
+ const STEP_TYPE_PLAYER_WALK
+ const STEP_TYPE_07
+ const STEP_TYPE_NPC_JUMP
+ const STEP_TYPE_PLAYER_JUMP
+ const STEP_TYPE_HALF_STEP
+ const STEP_TYPE_BUMP
+ const STEP_TYPE_TELEPORT_FROM
+ const STEP_TYPE_TELEPORT_TO
+ const STEP_TYPE_SKYFALL
+ const STEP_TYPE_0F
+ const STEP_TYPE_GOT_BITE
+ const STEP_TYPE_ROCK_SMASH
+ const STEP_TYPE_RETURN_DIG
+ const STEP_TYPE_TRACKING_OBJECT
+ const STEP_TYPE_14
+ const STEP_TYPE_15
+ const STEP_TYPE_16
+ const STEP_TYPE_17
+ const STEP_TYPE_18
+ const STEP_TYPE_SKYFALL_TOP
+
+; PersonActionPairPointers indexes (see engine/map_object_action.asm)
+ const_def
+ const PERSON_ACTION_00
+ const PERSON_ACTION_STAND
+ const PERSON_ACTION_STEP
+ const PERSON_ACTION_BUMP
+ const PERSON_ACTION_SPIN
+ const PERSON_ACTION_SPIN_FLICKER
+ const PERSON_ACTION_FISHING
+ const PERSON_ACTION_SHADOW
+ const PERSON_ACTION_EMOTE
+ const PERSON_ACTION_BIG_SNORLAX
+ const PERSON_ACTION_BOUNCE
+ const PERSON_ACTION_WEIRD_TREE
+ const PERSON_ACTION_BIG_LAPRAS
+ const PERSON_ACTION_BIG_DOLL
+ const PERSON_ACTION_BOULDER_DUST
+ const PERSON_ACTION_GRASS_SHAKE
+ const PERSON_ACTION_SKYFALL
+
+; Facings indexes (see data/facings.asm)
+ const_def
+ const FACING_STEP_DOWN_0
+ const FACING_STEP_DOWN_1
+ const FACING_STEP_DOWN_2
+ const FACING_STEP_DOWN_3
+ const FACING_STEP_UP_0
+ const FACING_STEP_UP_1
+ const FACING_STEP_UP_2
+ const FACING_STEP_UP_3
+ const FACING_STEP_LEFT_0
+ const FACING_STEP_LEFT_1
+ const FACING_STEP_LEFT_2
+ const FACING_STEP_LEFT_3
+ const FACING_STEP_RIGHT_0
+ const FACING_STEP_RIGHT_1
+ const FACING_STEP_RIGHT_2
+ const FACING_STEP_RIGHT_3
+ const FACING_FISH_DOWN
+ const FACING_FISH_UP
+ const FACING_FISH_LEFT
+ const FACING_FISH_RIGHT
+ const FACING_EMOTE
+ const FACING_SHADOW
+ const FACING_BIG_DOLL_ASYM
+ const FACING_BIG_DOLL_SYM
+ const FACING_WEIRD_TREE_0
+ const FACING_WEIRD_TREE_1
+ const FACING_WEIRD_TREE_2
+ const FACING_WEIRD_TREE_3
+ const FACING_BOULDER_DUST_1
+ const FACING_BOULDER_DUST_2
+ const FACING_GRASS_1
+ const FACING_GRASS_2
+
+; sprite_anim_struct members (see macros/wram.asm)
+ const_def
+ const SPRITEANIMSTRUCT_INDEX ; 0
+ const SPRITEANIMSTRUCT_FRAMESET_ID ; 1
+ const SPRITEANIMSTRUCT_ANIM_SEQ_ID ; 2
+ const SPRITEANIMSTRUCT_TILE_ID ; 3
+ const SPRITEANIMSTRUCT_XCOORD ; 4
+ const SPRITEANIMSTRUCT_YCOORD ; 5
+ const SPRITEANIMSTRUCT_XOFFSET ; 6
+ const SPRITEANIMSTRUCT_YOFFSET ; 7
+ const SPRITEANIMSTRUCT_DURATION ; 8
+ 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
+
+; SpriteAnimSeqData indexes (see data/sprite_anim_seqs.asm)
+ const_def
+ const SPRITE_ANIM_INDEX_PARTY_MON
+ const SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
+ const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
+ const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
+ const SPRITE_ANIM_INDEX_GS_INTRO_STAR
+ const SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE
+ const SPRITE_ANIM_INDEX_SLOTS_GOLEM
+ const SPRITE_ANIM_INDEX_SLOTS_CHANSEY
+ const SPRITE_ANIM_INDEX_SLOTS_EGG
+ const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
+ const SPRITE_ANIM_INDEX_RED_WALK
+ const SPRITE_ANIM_INDEX_0B
+ const SPRITE_ANIM_INDEX_DUMMY_GAME
+ const SPRITE_ANIM_INDEX_POKEGEAR_ARROW
+ const SPRITE_ANIM_INDEX_TRADE_POKE_BALL
+ const SPRITE_ANIM_INDEX_TRADE_POOF
+ const SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
+ const SPRITE_ANIM_INDEX_TRADEMON_ICON
+ const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
+ const SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
+ const SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
+ const SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
+ const SPRITE_ANIM_INDEX_LEAF
+ const SPRITE_ANIM_INDEX_CUT_TREE
+ const SPRITE_ANIM_INDEX_FLY_LEAF
+ const SPRITE_ANIM_INDEX_EGG_CRACK
+ const SPRITE_ANIM_INDEX_1A
+ const SPRITE_ANIM_INDEX_HEADBUTT
+ const SPRITE_ANIM_INDEX_EGG_HATCH
+ const SPRITE_ANIM_INDEX_1D
+ const SPRITE_ANIM_INDEX_BLUE_WALK
+ const SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
+ const SPRITE_ANIM_INDEX_20
+ const SPRITE_ANIM_INDEX_21
+ const SPRITE_ANIM_INDEX_22
+ const SPRITE_ANIM_INDEX_23
+ const SPRITE_ANIM_INDEX_24
+ const SPRITE_ANIM_INDEX_25
+ const SPRITE_ANIM_INDEX_INTRO_SUICUNE
+ const SPRITE_ANIM_INDEX_INTRO_PICHU
+ const SPRITE_ANIM_INDEX_INTRO_WOOPER
+ const SPRITE_ANIM_INDEX_INTRO_UNOWN
+ const SPRITE_ANIM_INDEX_INTRO_UNOWN_F
+ const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
+ const SPRITE_ANIM_INDEX_CELEBI
+
+; DoAnimFrame.Jumptable indexes (see engine/sprite_anims.asm)
+ const_def
+ const SPRITE_ANIM_SEQ_NULL
+ const SPRITE_ANIM_SEQ_PARTY_MON
+ const SPRITE_ANIM_SEQ_PARTY_MON_SWITCH
+ const SPRITE_ANIM_SEQ_PARTY_MON_SELECTED
+ const SPRITE_ANIM_SEQ_GS_TITLE_TRAIL
+ const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR
+ const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO
+ const SPRITE_ANIM_SEQ_GS_INTRO_STAR
+ const SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE
+ const SPRITE_ANIM_SEQ_SLOTS_GOLEM
+ const SPRITE_ANIM_SEQ_SLOTS_CHANSEY
+ const SPRITE_ANIM_SEQ_SLOTS_EGG
+ const SPRITE_ANIM_SEQ_MAIL_CURSOR
+ const SPRITE_ANIM_SEQ_0D
+ const SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR
+ const SPRITE_ANIM_SEQ_POKEGEAR_ARROW
+ const SPRITE_ANIM_SEQ_TRADE_POKE_BALL
+ const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE
+ const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE
+ const SPRITE_ANIM_SEQ_REVEAL_NEW_MON
+ const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB
+ const SPRITE_ANIM_SEQ_CUT_LEAVES
+ const SPRITE_ANIM_SEQ_FLY_FROM
+ const SPRITE_ANIM_SEQ_FLY_LEAF
+ const SPRITE_ANIM_SEQ_FLY_TO
+ const SPRITE_ANIM_SEQ_19
+ const SPRITE_ANIM_SEQ_1A
+ const SPRITE_ANIM_SEQ_1B
+ const SPRITE_ANIM_SEQ_1C
+ const SPRITE_ANIM_SEQ_INTRO_SUICUNE
+ const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER
+ const SPRITE_ANIM_SEQ_CELEBI
+ const SPRITE_ANIM_SEQ_INTRO_UNOWN
+ const SPRITE_ANIM_SEQ_INTRO_UNOWN_F
+ const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY
+
+; SpriteAnimFrameData indexes (see data/sprite_anim_frames.asm)
+ const_def
+ const SPRITE_ANIM_FRAMESET_00
+ const SPRITE_ANIM_FRAMESET_PARTY_MON
+ const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL
+ const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM
+ const SPRITE_ANIM_FRAMESET_PARTY_MON_FAST
+ const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL_FAST
+ const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM_FAST
+ const SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL
+ const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR
+ const SPRITE_ANIM_FRAMESET_09
+ const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO
+ const SPRITE_ANIM_FRAMESET_GS_INTRO_STAR
+ const SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE
+ const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM
+ const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY
+ const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2
+ const SPRITE_ANIM_FRAMESET_SLOTS_EGG
+ const SPRITE_ANIM_FRAMESET_RED_WALK
+ const SPRITE_ANIM_FRAMESET_STILL_CURSOR
+ const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL
+ const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0
+ const SPRITE_ANIM_FRAMESET_TRADE_POOF
+ const SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE
+ const SPRITE_ANIM_FRAMESET_TRADEMON_ICON
+ const SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE
+ const SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT
+ const SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB
+ const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED
+ const SPRITE_ANIM_FRAMESET_1C ; unused?
+ const SPRITE_ANIM_FRAMESET_LEAF
+ const SPRITE_ANIM_FRAMESET_CUT_TREE
+ const SPRITE_ANIM_FRAMESET_EGG_CRACK
+ const SPRITE_ANIM_FRAMESET_EGG_HATCH
+ const SPRITE_ANIM_FRAMESET_21 ; unused?
+ const SPRITE_ANIM_FRAMESET_22 ; unused?
+ const SPRITE_ANIM_FRAMESET_23 ; unused?
+ const SPRITE_ANIM_FRAMESET_24
+ const SPRITE_ANIM_FRAMESET_HEADBUTT
+ const SPRITE_ANIM_FRAMESET_26
+ const SPRITE_ANIM_FRAMESET_27 ; unused?
+ const SPRITE_ANIM_FRAMESET_28 ; unused?
+ const SPRITE_ANIM_FRAMESET_29 ; unused?
+ const SPRITE_ANIM_FRAMESET_2A ; unused?
+ const SPRITE_ANIM_FRAMESET_2B ; unused?
+ const SPRITE_ANIM_FRAMESET_2C ; unused?
+ const SPRITE_ANIM_FRAMESET_BLUE_WALK
+ const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE
+ const SPRITE_ANIM_FRAMESET_2F
+ const SPRITE_ANIM_FRAMESET_30
+ const SPRITE_ANIM_FRAMESET_31
+ const SPRITE_ANIM_FRAMESET_32
+ const SPRITE_ANIM_FRAMESET_33
+ const SPRITE_ANIM_FRAMESET_34
+ const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE
+ const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_2
+ const SPRITE_ANIM_FRAMESET_INTRO_PICHU
+ const SPRITE_ANIM_FRAMESET_INTRO_WOOPER
+ const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1
+ const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_2
+ const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_3
+ const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_4
+ const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F_2
+ const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY
+ const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F
+ const SPRITE_ANIM_FRAMESET_CELEBI_LEFT
+ const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT
+
+; SpriteAnimOAMData indexes (see data/sprite_anim_oam.asm)
+ const_def
+ const SPRITE_ANIM_FRAME_IDX_RED_WALK_1 ; 00
+ const SPRITE_ANIM_FRAME_IDX_RED_WALK_2 ; 01
+ const SPRITE_ANIM_FRAME_IDX_02
+ const SPRITE_ANIM_FRAME_IDX_03
+ const SPRITE_ANIM_FRAME_IDX_04
+ const SPRITE_ANIM_FRAME_IDX_05
+ const SPRITE_ANIM_FRAME_IDX_06
+ const SPRITE_ANIM_FRAME_IDX_07
+ const SPRITE_ANIM_FRAME_IDX_08
+ const SPRITE_ANIM_FRAME_IDX_09
+ const SPRITE_ANIM_FRAME_IDX_0A
+ const SPRITE_ANIM_FRAME_IDX_0B
+ const SPRITE_ANIM_FRAME_IDX_0C
+ const SPRITE_ANIM_FRAME_IDX_0D
+ const SPRITE_ANIM_FRAME_IDX_0E
+ const SPRITE_ANIM_FRAME_IDX_0F
+ const SPRITE_ANIM_FRAME_IDX_10
+ const SPRITE_ANIM_FRAME_IDX_11
+ const SPRITE_ANIM_FRAME_IDX_12
+ const SPRITE_ANIM_FRAME_IDX_13
+ const SPRITE_ANIM_FRAME_IDX_14
+ const SPRITE_ANIM_FRAME_IDX_15
+ const SPRITE_ANIM_FRAME_IDX_16
+ const SPRITE_ANIM_FRAME_IDX_17
+ const SPRITE_ANIM_FRAME_IDX_18
+ const SPRITE_ANIM_FRAME_IDX_19
+ const SPRITE_ANIM_FRAME_IDX_1A
+ const SPRITE_ANIM_FRAME_IDX_1B
+ const SPRITE_ANIM_FRAME_IDX_1C
+ const SPRITE_ANIM_FRAME_IDX_1D
+ const SPRITE_ANIM_FRAME_IDX_GS_TITLE_TRAIL_1 ; 1e
+ const SPRITE_ANIM_FRAME_IDX_GS_TITLE_TRAIL_2 ; 1f
+ const SPRITE_ANIM_FRAME_IDX_20
+ const SPRITE_ANIM_FRAME_IDX_FOR_FRAMESET_09 ; 21
+ const SPRITE_ANIM_FRAME_IDX_22
+ const SPRITE_ANIM_FRAME_IDX_23
+ const SPRITE_ANIM_FRAME_IDX_24
+ const SPRITE_ANIM_FRAME_IDX_25
+ const SPRITE_ANIM_FRAME_IDX_26
+ const SPRITE_ANIM_FRAME_IDX_27
+ const SPRITE_ANIM_FRAME_IDX_28
+ const SPRITE_ANIM_FRAME_IDX_29
+ const SPRITE_ANIM_FRAME_IDX_2A
+ const SPRITE_ANIM_FRAME_IDX_2B
+ const SPRITE_ANIM_FRAME_IDX_2C
+ const SPRITE_ANIM_FRAME_IDX_2D
+ const SPRITE_ANIM_FRAME_IDX_2E
+ const SPRITE_ANIM_FRAME_IDX_STILL_CURSOR ; 2f
+ const SPRITE_ANIM_FRAME_IDX_30
+ const SPRITE_ANIM_FRAME_IDX_31
+ const SPRITE_ANIM_FRAME_IDX_32
+ const SPRITE_ANIM_FRAME_IDX_33
+ const SPRITE_ANIM_FRAME_IDX_34
+ const SPRITE_ANIM_FRAME_IDX_35
+ const SPRITE_ANIM_FRAME_IDX_36
+ const SPRITE_ANIM_FRAME_IDX_TRADEMON_ICON_1 ; 37
+ const SPRITE_ANIM_FRAME_IDX_TRADEMON_ICON_2 ; 38
+ const SPRITE_ANIM_FRAME_IDX_39
+ const SPRITE_ANIM_FRAME_IDX_3A
+ const SPRITE_ANIM_FRAME_IDX_3B
+ const SPRITE_ANIM_FRAME_IDX_RADIO_TUNING_KNOB ; 3c
+ const SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_1 ; 3d
+ const SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_2 ; 3e
+ const SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_1 ; 3f
+ const SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_2 ; 40
+ const SPRITE_ANIM_FRAME_IDX_41
+ const SPRITE_ANIM_FRAME_IDX_42
+ const SPRITE_ANIM_FRAME_IDX_43
+ const SPRITE_ANIM_FRAME_IDX_44
+ const SPRITE_ANIM_FRAME_IDX_45
+ const SPRITE_ANIM_FRAME_IDX_46
+ const SPRITE_ANIM_FRAME_IDX_47
+ const SPRITE_ANIM_FRAME_IDX_48
+ const SPRITE_ANIM_FRAME_IDX_49
+ const SPRITE_ANIM_FRAME_IDX_4A
+ const SPRITE_ANIM_FRAME_IDX_4B
+ const SPRITE_ANIM_FRAME_IDX_4C
+ const SPRITE_ANIM_FRAME_IDX_4D
+ const SPRITE_ANIM_FRAME_IDX_4E
+ const SPRITE_ANIM_FRAME_IDX_LEAF ; 4f
+ const SPRITE_ANIM_FRAME_IDX_TREE_1 ; 50
+ const SPRITE_ANIM_FRAME_IDX_CUT_TREE_2 ; 51
+ const SPRITE_ANIM_FRAME_IDX_CUT_TREE_3 ; 52
+ const SPRITE_ANIM_FRAME_IDX_CUT_TREE_4 ; 53
+ const SPRITE_ANIM_FRAME_IDX_EGG_CRACK ; 54
+ const SPRITE_ANIM_FRAME_IDX_55
+ const SPRITE_ANIM_FRAME_IDX_56
+ const SPRITE_ANIM_FRAME_IDX_57
+ const SPRITE_ANIM_FRAME_IDX_58
+ const SPRITE_ANIM_FRAME_IDX_59
+ const SPRITE_ANIM_FRAME_IDX_5A
+ const SPRITE_ANIM_FRAME_IDX_HEADBUTT_TREE_2 ; 5b
+ const SPRITE_ANIM_FRAME_IDX_5C
+ const SPRITE_ANIM_FRAME_IDX_5D
+ const SPRITE_ANIM_FRAME_IDX_5E
+ const SPRITE_ANIM_FRAME_IDX_5F
+ const SPRITE_ANIM_FRAME_IDX_60
+ const SPRITE_ANIM_FRAME_IDX_61
+ const SPRITE_ANIM_FRAME_IDX_62
+ const SPRITE_ANIM_FRAME_IDX_BLUE_WALK_1 ; 63
+ const SPRITE_ANIM_FRAME_IDX_BLUE_WALK_2 ; 64
+ const SPRITE_ANIM_FRAME_IDX_65
+ const SPRITE_ANIM_FRAME_IDX_66
+ const SPRITE_ANIM_FRAME_IDX_67
+ const SPRITE_ANIM_FRAME_IDX_68
+ const SPRITE_ANIM_FRAME_IDX_69
+ const SPRITE_ANIM_FRAME_IDX_6A
+ const SPRITE_ANIM_FRAME_IDX_6B
+ const SPRITE_ANIM_FRAME_IDX_6C
+ const SPRITE_ANIM_FRAME_IDX_6D
+ const SPRITE_ANIM_FRAME_IDX_6E
+ const SPRITE_ANIM_FRAME_IDX_6F
+ const SPRITE_ANIM_FRAME_IDX_70
+ const SPRITE_ANIM_FRAME_IDX_71
+ const SPRITE_ANIM_FRAME_IDX_72
+ const SPRITE_ANIM_FRAME_IDX_73
+ const SPRITE_ANIM_FRAME_IDX_74
+ const SPRITE_ANIM_FRAME_IDX_75
+ const SPRITE_ANIM_FRAME_IDX_76
+ const SPRITE_ANIM_FRAME_IDX_77
+ const SPRITE_ANIM_FRAME_IDX_78
+ const SPRITE_ANIM_FRAME_IDX_79
+ const SPRITE_ANIM_FRAME_IDX_7A
+ const SPRITE_ANIM_FRAME_IDX_7B
+ const SPRITE_ANIM_FRAME_IDX_7C
+ const SPRITE_ANIM_FRAME_IDX_7D
+ const SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_AWAY ; 7e
+ const SPRITE_ANIM_FRAME_IDX_CELEBI_1 ; 7f
+ const SPRITE_ANIM_FRAME_IDX_CELEBI_2 ; 80
+ const SPRITE_ANIM_FRAME_IDX_81
+ const SPRITE_ANIM_FRAME_IDX_82
+ const SPRITE_ANIM_FRAME_IDX_83
+ const SPRITE_ANIM_FRAME_IDX_84
+ const SPRITE_ANIM_FRAME_IDX_85
+ const SPRITE_ANIM_FRAME_IDX_86
+ const SPRITE_ANIM_FRAME_IDX_87
+ const SPRITE_ANIM_FRAME_IDX_88
+ const SPRITE_ANIM_FRAME_IDX_89
+ const SPRITE_ANIM_FRAME_IDX_8A
+ const SPRITE_ANIM_FRAME_IDX_8B
diff --git a/data/outdoor_sprites.asm b/data/outdoor_sprites.asm
index b99efcfe7..2b0cd89fe 100644
--- a/data/outdoor_sprites.asm
+++ b/data/outdoor_sprites.asm
@@ -2,36 +2,36 @@
; Maps with permission ROUTE or TOWN can only use these sprites.
OutdoorSprites: ; 144b8
- dw Group1Sprites
- dw Group2Sprites
- dw Group3Sprites
- dw Group4Sprites
- dw Group5Sprites
- dw Group6Sprites
- dw Group7Sprites
- dw Group8Sprites
- dw Group9Sprites
- dw Group10Sprites
- dw Group11Sprites
- dw Group12Sprites
- dw Group13Sprites
- dw Group14Sprites
- dw Group15Sprites
- dw Group16Sprites
- dw Group17Sprites
- dw Group18Sprites
- dw Group19Sprites
- dw Group20Sprites
- dw Group21Sprites
- dw Group22Sprites
- dw Group23Sprites
- dw Group24Sprites
- dw Group25Sprites
- dw Group26Sprites
+ dw OlivineGroupSprites
+ dw MahoganyGroupSprites
+ dw DungeonsGroupSprites
+ dw EcruteakGroupSprites
+ dw BlackthornGroupSprites
+ dw CinnabarGroupSprites
+ dw CeruleanGroupSprites
+ dw AzaleaGroupSprites
+ dw LakeOfRageGroupSprites
+ dw VioletGroupSprites
+ dw GoldenrodGroupSprites
+ dw VermilionGroupSprites
+ dw PalletGroupSprites
+ dw PewterGroupSprites
+ dw FastShipGroupSprites
+ dw IndigoGroupSprites
+ dw FuchsiaGroupSprites
+ dw LavenderGroupSprites
+ dw SilverGroupSprites
+ dw CableClubGroupSprites
+ dw CeladonGroupSprites
+ dw CianwoodGroupSprites
+ dw ViridianGroupSprites
+ dw NewBarkGroupSprites
+ dw SaffronGroupSprites
+ dw CherrygroveGroupSprites
; 144ec
-Group13Sprites: ; 144ec
+PalletGroupSprites: ; 144ec
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -57,7 +57,7 @@ Group13Sprites: ; 144ec
db SPRITE_FRUIT_TREE
; 14503
-Group23Sprites: ; 14503
+ViridianGroupSprites: ; 14503
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -83,7 +83,7 @@ Group23Sprites: ; 14503
db SPRITE_FRUIT_TREE
; 1451a
-Group14Sprites: ; 1451a
+PewterGroupSprites: ; 1451a
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -109,7 +109,7 @@ Group14Sprites: ; 1451a
db SPRITE_FRUIT_TREE
; 14531
-Group6Sprites: ; 14531
+CinnabarGroupSprites: ; 14531
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -135,7 +135,7 @@ Group6Sprites: ; 14531
db SPRITE_FRUIT_TREE
; 14548
-Group7Sprites: ; 14548
+CeruleanGroupSprites: ; 14548
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -161,7 +161,7 @@ Group7Sprites: ; 14548
db SPRITE_SLOWPOKE
; 1455f
-Group25Sprites: ; 1455f
+SaffronGroupSprites: ; 1455f
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -187,7 +187,7 @@ Group25Sprites: ; 1455f
db SPRITE_SLOWPOKE
; 14576
-Group21Sprites: ; 14576
+CeladonGroupSprites: ; 14576
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -213,7 +213,7 @@ Group21Sprites: ; 14576
db SPRITE_FRUIT_TREE
; 1458d
-Group18Sprites: ; 1458d
+LavenderGroupSprites: ; 1458d
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -239,7 +239,7 @@ Group18Sprites: ; 1458d
db SPRITE_FRUIT_TREE
; 145a4
-Group12Sprites: ; 145a4
+VermilionGroupSprites: ; 145a4
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -265,7 +265,7 @@ Group12Sprites: ; 145a4
db SPRITE_FRUIT_TREE
; 145bb
-Group17Sprites: ; 145bb
+FuchsiaGroupSprites: ; 145bb
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -291,7 +291,7 @@ Group17Sprites: ; 145bb
db SPRITE_FRUIT_TREE
; 145d2
-Group16Sprites: ; 145d2
+IndigoGroupSprites: ; 145d2
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -317,7 +317,7 @@ Group16Sprites: ; 145d2
db SPRITE_BOULDER
; 145e9
-Group24Sprites: ; 145e9
+NewBarkGroupSprites: ; 145e9
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -343,7 +343,7 @@ Group24Sprites: ; 145e9
db SPRITE_FRUIT_TREE
; 14600
-Group26Sprites: ; 14600
+CherrygroveGroupSprites: ; 14600
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -369,7 +369,7 @@ Group26Sprites: ; 14600
db SPRITE_FRUIT_TREE
; 14617
-Group19Sprites: ; 14617
+SilverGroupSprites: ; 14617
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -395,7 +395,7 @@ Group19Sprites: ; 14617
db SPRITE_FRUIT_TREE
; 1462e
-Group10Sprites: ; 1462e
+VioletGroupSprites: ; 1462e
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -421,7 +421,7 @@ Group10Sprites: ; 1462e
db SPRITE_FRUIT_TREE
; 14645
-Group4Sprites: ; 14645
+EcruteakGroupSprites: ; 14645
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -447,7 +447,7 @@ Group4Sprites: ; 14645
db SPRITE_FRUIT_TREE
; 1465c
-Group8Sprites: ; 1465c
+AzaleaGroupSprites: ; 1465c
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -473,7 +473,7 @@ Group8Sprites: ; 1465c
db SPRITE_SLOWPOKE
; 14673
-Group11Sprites: ; 14673
+GoldenrodGroupSprites: ; 14673
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_POKE_BALL
@@ -499,7 +499,7 @@ Group11Sprites: ; 14673
db SPRITE_SLOWPOKE
; 1468a
-Group22Sprites: ; 1468a
+CianwoodGroupSprites: ; 1468a
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -525,7 +525,7 @@ Group22Sprites: ; 1468a
db SPRITE_ROCK
; 146a1
-Group1Sprites: ; 146a1
+OlivineGroupSprites: ; 146a1
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -551,7 +551,7 @@ Group1Sprites: ; 146a1
db SPRITE_ROCK
; 146b8
-Group9Sprites: ; 146b8
+LakeOfRageGroupSprites: ; 146b8
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -577,7 +577,7 @@ Group9Sprites: ; 146b8
db SPRITE_POKE_BALL
; 146cf
-Group2Sprites: ; 146cf
+MahoganyGroupSprites: ; 146cf
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -603,7 +603,7 @@ Group2Sprites: ; 146cf
db SPRITE_POKE_BALL
; 146e6
-Group5Sprites: ; 146e6
+BlackthornGroupSprites: ; 146e6
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -629,7 +629,7 @@ Group5Sprites: ; 146e6
db SPRITE_POKE_BALL
; 146fd
-Group3Sprites: ; 146fd
+DungeonsGroupSprites: ; 146fd
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -655,7 +655,7 @@ Group3Sprites: ; 146fd
db SPRITE_BOULDER
; 14714
-Group15Sprites: ; 14714
+FastShipGroupSprites: ; 14714
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@@ -681,7 +681,7 @@ Group15Sprites: ; 14714
db SPRITE_ROCK
; 1472b
-Group20Sprites: ; 1472b
+CableClubGroupSprites: ; 1472b
db SPRITE_OAK
db SPRITE_FISHER
db SPRITE_TEACHER
diff --git a/data/sprite_anim_frames.asm b/data/sprite_anim_frames.asm
index 0111a5bc2..e61c528dd 100755
--- a/data/sprite_anim_frames.asm
+++ b/data/sprite_anim_frames.asm
@@ -2,12 +2,12 @@ SpriteAnimFrameData: ; 8d6e6
; entries correspond to SPRITE_ANIM_FRAMESET_* constants
dw .Frameset_00
dw .Frameset_PartyMon
- dw .Frameset_02
- dw .Frameset_03
- dw .Frameset_04
- dw .Frameset_05
- dw .Frameset_06
- dw .Frameset_07
+ dw .Frameset_PartyMonWithMail
+ dw .Frameset_PartyMonWithItem
+ dw .Frameset_PartyMonFast
+ dw .Frameset_PartyMonWithMailFast
+ dw .Frameset_PartyMonWithItemFast
+ dw .Frameset_GSTitleTrail
dw .Frameset_TextEntryCursor
dw .Frameset_09
dw .Frameset_GameFreakLogo
@@ -69,51 +69,51 @@ SpriteAnimFrameData: ; 8d6e6
; 8d76a
.Frameset_00:
- frame SPRITE_ANIM_FRAME_IDX_00, 32
+ frame SPRITE_ANIM_FRAME_IDX_RED_WALK_1, 32
endanim
.Frameset_PartyMon:
- frame SPRITE_ANIM_FRAME_IDX_00, 8
- frame SPRITE_ANIM_FRAME_IDX_01, 8
+ frame SPRITE_ANIM_FRAME_IDX_RED_WALK_1, 8
+ frame SPRITE_ANIM_FRAME_IDX_RED_WALK_2, 8
dorestart
-.Frameset_02:
- frame SPRITE_ANIM_FRAME_IDX_3D, 8
- frame SPRITE_ANIM_FRAME_IDX_3E, 8
+.Frameset_PartyMonWithMail:
+ frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_1, 8
+ frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_2, 8
dorestart
-.Frameset_03:
- frame SPRITE_ANIM_FRAME_IDX_3F, 8
- frame SPRITE_ANIM_FRAME_IDX_40, 8
+.Frameset_PartyMonWithItem:
+ frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_1, 8
+ frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_2, 8
dorestart
-.Frameset_04:
- frame SPRITE_ANIM_FRAME_IDX_00, 4
- frame SPRITE_ANIM_FRAME_IDX_01, 4
+.Frameset_PartyMonFast:
+ frame SPRITE_ANIM_FRAME_IDX_RED_WALK_1, 4
+ frame SPRITE_ANIM_FRAME_IDX_RED_WALK_2, 4
dorestart
-.Frameset_05:
- frame SPRITE_ANIM_FRAME_IDX_3D, 4
- frame SPRITE_ANIM_FRAME_IDX_3E, 4
+.Frameset_PartyMonWithMailFast:
+ frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_1, 4
+ frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_2, 4
dorestart
-.Frameset_06:
- frame SPRITE_ANIM_FRAME_IDX_3F, 4
- frame SPRITE_ANIM_FRAME_IDX_40, 4
+.Frameset_PartyMonWithItemFast:
+ frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_1, 4
+ frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_2, 4
dorestart
.Frameset_RedWalk:
- frame SPRITE_ANIM_FRAME_IDX_00, 8
- frame SPRITE_ANIM_FRAME_IDX_01, 8
- frame SPRITE_ANIM_FRAME_IDX_00, 8
- frame SPRITE_ANIM_FRAME_IDX_01, 8, OAM_X_FLIP
+ frame SPRITE_ANIM_FRAME_IDX_RED_WALK_1, 8
+ frame SPRITE_ANIM_FRAME_IDX_RED_WALK_2, 8
+ frame SPRITE_ANIM_FRAME_IDX_RED_WALK_1, 8
+ frame SPRITE_ANIM_FRAME_IDX_RED_WALK_2, 8, OAM_X_FLIP
dorestart
.Frameset_BlueWalk:
- frame SPRITE_ANIM_FRAME_IDX_63, 8
- frame SPRITE_ANIM_FRAME_IDX_64, 8
- frame SPRITE_ANIM_FRAME_IDX_63, 8
- frame SPRITE_ANIM_FRAME_IDX_64, 8, OAM_X_FLIP
+ frame SPRITE_ANIM_FRAME_IDX_BLUE_WALK_1, 8
+ frame SPRITE_ANIM_FRAME_IDX_BLUE_WALK_2, 8
+ frame SPRITE_ANIM_FRAME_IDX_BLUE_WALK_1, 8
+ frame SPRITE_ANIM_FRAME_IDX_BLUE_WALK_2, 8, OAM_X_FLIP
dorestart
.Frameset_MagnetTrainBlue:
@@ -123,9 +123,9 @@ SpriteAnimFrameData: ; 8d6e6
frame SPRITE_ANIM_FRAME_IDX_66, 8, OAM_X_FLIP
dorestart
-.Frameset_07:
- frame SPRITE_ANIM_FRAME_IDX_1E, 1
- frame SPRITE_ANIM_FRAME_IDX_1F, 1
+.Frameset_GSTitleTrail:
+ frame SPRITE_ANIM_FRAME_IDX_GS_TITLE_TRAIL_1, 1
+ frame SPRITE_ANIM_FRAME_IDX_GS_TITLE_TRAIL_2, 1
dorestart
.Frameset_TextEntryCursor:
@@ -134,7 +134,7 @@ SpriteAnimFrameData: ; 8d6e6
dorestart
.Frameset_09:
- frame SPRITE_ANIM_FRAME_IDX_21, 1
+ frame SPRITE_ANIM_FRAME_IDX_FOR_FRAMESET_09, 1
dorepeat 1
dorestart
@@ -195,7 +195,7 @@ SpriteAnimFrameData: ; 8d6e6
endanim
.Frameset_StillCursor:
- frame SPRITE_ANIM_FRAME_IDX_2F, 32
+ frame SPRITE_ANIM_FRAME_IDX_STILL_CURSOR, 32
endanim
.Frameset_TradePokeBall:
@@ -221,8 +221,8 @@ SpriteAnimFrameData: ; 8d6e6
dorestart
.Frameset_TrademonIcon:
- frame SPRITE_ANIM_FRAME_IDX_37, 7
- frame SPRITE_ANIM_FRAME_IDX_38, 7
+ frame SPRITE_ANIM_FRAME_IDX_TRADEMON_ICON_1, 7
+ frame SPRITE_ANIM_FRAME_IDX_TRADEMON_ICON_2, 7
dorestart
.Frameset_TrademonBubble:
@@ -236,7 +236,7 @@ SpriteAnimFrameData: ; 8d6e6
endanim
.Frameset_RadioTuningKnob:
- frame SPRITE_ANIM_FRAME_IDX_3C, 32
+ frame SPRITE_ANIM_FRAME_IDX_RADIO_TUNING_KNOB, 32
endanim
.Frameset_MagnetTrainRed:
@@ -294,20 +294,20 @@ SpriteAnimFrameData: ; 8d6e6
endanim
.Frameset_Leaf:
- frame SPRITE_ANIM_FRAME_IDX_4F, 32
+ frame SPRITE_ANIM_FRAME_IDX_LEAF, 32
endanim
.Frameset_CutTree:
- frame SPRITE_ANIM_FRAME_IDX_50, 2
- frame SPRITE_ANIM_FRAME_IDX_51, 16
+ frame SPRITE_ANIM_FRAME_IDX_TREE_1, 2
+ frame SPRITE_ANIM_FRAME_IDX_CUT_TREE_2, 16
dorepeat 1
- frame SPRITE_ANIM_FRAME_IDX_52, 1
+ frame SPRITE_ANIM_FRAME_IDX_CUT_TREE_3, 1
dorepeat 1
- frame SPRITE_ANIM_FRAME_IDX_53, 1
+ frame SPRITE_ANIM_FRAME_IDX_CUT_TREE_4, 1
delanim
.Frameset_EggCrack:
- frame SPRITE_ANIM_FRAME_IDX_54, 32
+ frame SPRITE_ANIM_FRAME_IDX_EGG_CRACK, 32
endanim
.Frameset_EggHatch:
@@ -336,10 +336,10 @@ SpriteAnimFrameData: ; 8d6e6
dorestart
.Frameset_HeadbuttTree:
- frame SPRITE_ANIM_FRAME_IDX_50, 2
- frame SPRITE_ANIM_FRAME_IDX_5B, 2
- frame SPRITE_ANIM_FRAME_IDX_50, 2
- frame SPRITE_ANIM_FRAME_IDX_5B, 2, OAM_X_FLIP
+ frame SPRITE_ANIM_FRAME_IDX_TREE_1, 2
+ frame SPRITE_ANIM_FRAME_IDX_HEADBUTT_TREE_2, 2
+ frame SPRITE_ANIM_FRAME_IDX_TREE_1, 2
+ frame SPRITE_ANIM_FRAME_IDX_HEADBUTT_TREE_2, 2, OAM_X_FLIP
dorestart
.Frameset_26:
@@ -480,7 +480,7 @@ SpriteAnimFrameData: ; 8d6e6
endanim
.Frameset_IntroSuicuneAway:
- frame SPRITE_ANIM_FRAME_IDX_7E, 3
+ frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_AWAY, 3
endanim
.Frameset_IntroUnownF:
@@ -488,12 +488,12 @@ SpriteAnimFrameData: ; 8d6e6
endanim
.Frameset_CelebiLeft:
- frame SPRITE_ANIM_FRAME_IDX_7F, 8
- frame SPRITE_ANIM_FRAME_IDX_80, 8
+ frame SPRITE_ANIM_FRAME_IDX_CELEBI_1, 8
+ frame SPRITE_ANIM_FRAME_IDX_CELEBI_2, 8
endanim
.Frameset_CelebiRight:
- frame SPRITE_ANIM_FRAME_IDX_7F, 8, OAM_X_FLIP
- frame SPRITE_ANIM_FRAME_IDX_80, 8, OAM_X_FLIP
+ frame SPRITE_ANIM_FRAME_IDX_CELEBI_1, 8, OAM_X_FLIP
+ frame SPRITE_ANIM_FRAME_IDX_CELEBI_2, 8, OAM_X_FLIP
endanim
; 8d94d
diff --git a/data/sprite_anim_oam.asm b/data/sprite_anim_oam.asm
index 304151e8c..d59c9d6ca 100644
--- a/data/sprite_anim_oam.asm
+++ b/data/sprite_anim_oam.asm
@@ -1,146 +1,146 @@
SpriteAnimOAMData: ; 8d94d
; entries correspond to SPRITE_ANIM_FRAME_IDX_* constants
; vtile offset, pointer
- dbw $00, .OAMData_00 ; 00
- dbw $04, .OAMData_00 ; 01
- dbw $4c, .OAMData_02 ; 02
- dbw $5c, .OAMData_02 ; 03
- dbw $6c, .OAMData_04 ; 04
- dbw $6e, .OAMData_04 ; 05
- dbw $2d, .OAMData_06 ; 06
- dbw $4d, .OAMData_06 ; 07
- dbw $60, .OAMData_08 ; 08
- dbw $00, .OAMData_08 ; 09
- dbw $00, .OAMData_08 ; 0a
- dbw $06, .OAMData_08 ; 0b
- dbw $0c, .OAMData_0c ; 0c
- dbw $0d, .OAMData_02 ; 0d
- dbw $00, .OAMData_0e ; 0e
- dbw $04, .OAMData_0e ; 0f
- dbw $08, .OAMData_0e ; 10
- dbw $40, .OAMData_0e ; 11
- dbw $44, .OAMData_0e ; 12
- dbw $48, .OAMData_0e ; 13
- dbw $4c, .OAMData_0e ; 14
- dbw $80, .OAMData_15 ; 15
- dbw $85, .OAMData_15 ; 16
- dbw $8a, .OAMData_15 ; 17
- dbw $00, .OAMData_18 ; 18
- dbw $01, .OAMData_19 ; 19
- dbw $09, .OAMData_1a ; 1a
- dbw $10, .OAMData_1b ; 1b
- dbw $29, .OAMData_1b ; 1c
- dbw $42, .OAMData_1b ; 1d
- dbw $f8, .OAMData_1e ; 1e
- dbw $fa, .OAMData_1e ; 1f
- dbw $00, .OAMData_20 ; 20
- dbw $00, .OAMData_21 ; 21
- dbw $00, .OAMData_22 ; 22
- dbw $0f, .OAMData_23 ; 23
- dbw $11, .OAMData_02 ; 24
- dbw $12, .OAMData_02 ; 25
- dbw $13, .OAMData_02 ; 26
- dbw $00, .OAMData_27 ; 27
- dbw $08, .OAMData_27 ; 28
- dbw $10, .OAMData_29 ; 29
- dbw $10, .OAMData_2a ; 2a
- dbw $10, .OAMData_2b ; 2b
- dbw $10, .OAMData_2c ; 2c
- dbw $10, .OAMData_2d ; 2d
- dbw $3a, .OAMData_02 ; 2e
- dbw $00, .OAMData_00 ; 2f
- dbw $00, .OAMData_30 ; 30
- dbw $02, .OAMData_31 ; 31
- dbw $06, .OAMData_19 ; 32
- dbw $0a, .OAMData_19 ; 33
- dbw $0e, .OAMData_19 ; 34
- dbw $12, .OAMData_35 ; 35
- dbw $13, .OAMData_35 ; 36
- dbw $00, .OAMData_00 ; 37
- dbw $04, .OAMData_00 ; 38
- dbw $10, .OAMData_19 ; 39
- dbw $00, .OAMData_31 ; 3a
- dbw $04, .OAMData_02 ; 3b
- dbw $00, .OAMData_3c ; 3c
- dbw $00, .OAMData_3d ; 3d
- dbw $00, .OAMData_3e ; 3e
- dbw $00, .OAMData_3f ; 3f
- dbw $00, .OAMData_40 ; 40
- dbw $00, .OAMData_31 ; 41
- dbw $04, .OAMData_31 ; 42
- dbw $00, .OAMData_43 ; 43
- dbw $30, .OAMData_43 ; 44
- dbw $03, .OAMData_43 ; 45
- dbw $33, .OAMData_43 ; 46
- dbw $06, .OAMData_43 ; 47
- dbw $36, .OAMData_43 ; 48
- dbw $09, .OAMData_43 ; 49
- dbw $39, .OAMData_43 ; 4a
- dbw $0c, .OAMData_4b ; 4b
- dbw $0c, .OAMData_4c ; 4c
- dbw $3c, .OAMData_02 ; 4d
- dbw $3e, .OAMData_02 ; 4e
- dbw $00, .OAMData_4f ; 4f
- dbw $00, .OAMData_50 ; 50
- dbw $00, .OAMData_51 ; 51
- dbw $00, .OAMData_52 ; 52
- dbw $00, .OAMData_53 ; 53
- dbw $00, .OAMData_02 ; 54
- dbw $01, .OAMData_02 ; 55
- dbw $00, .OAMData_56 ; 56
- dbw $00, .OAMData_57 ; 57
- dbw $00, .OAMData_58 ; 58
- dbw $00, .OAMData_59 ; 59
- dbw $00, .OAMData_5a ; 5a
- dbw $04, .OAMData_50 ; 5b
- dbw $00, .OAMData_5c ; 5c
- dbw $00, .OAMData_5d ; 5d
- dbw $00, .OAMData_5e ; 5e
- dbw $00, .OAMData_5f ; 5f
- dbw $00, .OAMData_60 ; 60
- dbw $00, .OAMData_61 ; 61
- dbw $00, .OAMData_62 ; 62
- dbw $00, .OAMData_63 ; 63
- dbw $04, .OAMData_63 ; 64
- dbw $00, .OAMData_65 ; 65
- dbw $04, .OAMData_65 ; 66
- dbw $20, .OAMData_67 ; 67
- dbw $21, .OAMData_67 ; 68
- dbw $22, .OAMData_69 ; 69
- dbw $23, .OAMData_6a ; 6a
- dbw $27, .OAMData_6b ; 6b
- dbw $2a, .OAMData_6c ; 6c
- dbw $2a, .OAMData_6d ; 6d
- dbw $00, .OAMData_6e ; 6e
- dbw $08, .OAMData_6f ; 6f
- dbw $60, .OAMData_70 ; 70
- dbw $68, .OAMData_71 ; 71
- dbw $00, .OAMData_72 ; 72
- dbw $05, .OAMData_72 ; 73
- dbw $0a, .OAMData_72 ; 74
- dbw $50, .OAMData_75 ; 75
- dbw $00, .OAMData_76 ; 76
- dbw $01, .OAMData_77 ; 77
- dbw $04, .OAMData_78 ; 78
- dbw $00, .OAMData_18 ; 79
- dbw $01, .OAMData_7a ; 7a
- dbw $03, .OAMData_7b ; 7b
- dbw $08, .OAMData_7c ; 7c
- dbw $1c, .OAMData_7c ; 7d
- dbw $80, .OAMData_7e ; 7e
- dbw $00, .OAMData_7f ; 7f
- dbw $04, .OAMData_7f ; 80
- dbw $d0, .OAMData_81 ; 81
- dbw $d3, .OAMData_81 ; 82
- dbw $d6, .OAMData_81 ; 83
- dbw $6c, .OAMData_84 ; 84
- dbw $68, .OAMData_84 ; 85
- dbw $64, .OAMData_84 ; 86
- dbw $60, .OAMData_84 ; 87
- dbw $0c, .OAMData_84 ; 88
- dbw $08, .OAMData_84 ; 89
- dbw $04, .OAMData_84 ; 8a
- dbw $00, .OAMData_84 ; 8b
+ dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_FRAME_IDX_RED_WALK_1
+ dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_FRAME_IDX_RED_WALK_2
+ dbw $4c, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_02
+ dbw $5c, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_03
+ dbw $6c, .OAMData_04 ; SPRITE_ANIM_FRAME_IDX_04
+ dbw $6e, .OAMData_04 ; SPRITE_ANIM_FRAME_IDX_05
+ dbw $2d, .OAMData_06 ; SPRITE_ANIM_FRAME_IDX_06
+ dbw $4d, .OAMData_06 ; SPRITE_ANIM_FRAME_IDX_07
+ dbw $60, .OAMData_08 ; SPRITE_ANIM_FRAME_IDX_08
+ dbw $00, .OAMData_08 ; SPRITE_ANIM_FRAME_IDX_09
+ dbw $00, .OAMData_08 ; SPRITE_ANIM_FRAME_IDX_0A
+ dbw $06, .OAMData_08 ; SPRITE_ANIM_FRAME_IDX_0B
+ dbw $0c, .OAMData_0c ; SPRITE_ANIM_FRAME_IDX_0C
+ dbw $0d, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_0D
+ dbw $00, .OAMData_0e ; SPRITE_ANIM_FRAME_IDX_0E
+ dbw $04, .OAMData_0e ; SPRITE_ANIM_FRAME_IDX_0F
+ dbw $08, .OAMData_0e ; SPRITE_ANIM_FRAME_IDX_10
+ dbw $40, .OAMData_0e ; SPRITE_ANIM_FRAME_IDX_11
+ dbw $44, .OAMData_0e ; SPRITE_ANIM_FRAME_IDX_12
+ dbw $48, .OAMData_0e ; SPRITE_ANIM_FRAME_IDX_13
+ dbw $4c, .OAMData_0e ; SPRITE_ANIM_FRAME_IDX_14
+ dbw $80, .OAMData_15 ; SPRITE_ANIM_FRAME_IDX_15
+ dbw $85, .OAMData_15 ; SPRITE_ANIM_FRAME_IDX_16
+ dbw $8a, .OAMData_15 ; SPRITE_ANIM_FRAME_IDX_17
+ dbw $00, .OAMData_18 ; SPRITE_ANIM_FRAME_IDX_18
+ dbw $01, .OAMData_19 ; SPRITE_ANIM_FRAME_IDX_19
+ dbw $09, .OAMData_1a ; SPRITE_ANIM_FRAME_IDX_1A
+ dbw $10, .OAMData_1b ; SPRITE_ANIM_FRAME_IDX_1B
+ dbw $29, .OAMData_1b ; SPRITE_ANIM_FRAME_IDX_1C
+ dbw $42, .OAMData_1b ; SPRITE_ANIM_FRAME_IDX_1D
+ dbw $f8, .OAMData_GSTitleTrail ; SPRITE_ANIM_FRAME_IDX_GS_TITLE_TRAIL_1
+ dbw $fa, .OAMData_GSTitleTrail ; SPRITE_ANIM_FRAME_IDX_GS_TITLE_TRAIL_2
+ dbw $00, .OAMData_20 ; SPRITE_ANIM_FRAME_IDX_20
+ dbw $00, .OAMData_ForFrameset09 ; SPRITE_ANIM_FRAME_IDX_FOR_FRAMESET_09
+ dbw $00, .OAMData_22 ; SPRITE_ANIM_FRAME_IDX_22
+ dbw $0f, .OAMData_23 ; SPRITE_ANIM_FRAME_IDX_23
+ dbw $11, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_24
+ dbw $12, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_25
+ dbw $13, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_26
+ dbw $00, .OAMData_27 ; SPRITE_ANIM_FRAME_IDX_27
+ dbw $08, .OAMData_27 ; SPRITE_ANIM_FRAME_IDX_28
+ dbw $10, .OAMData_29 ; SPRITE_ANIM_FRAME_IDX_29
+ dbw $10, .OAMData_2a ; SPRITE_ANIM_FRAME_IDX_2A
+ dbw $10, .OAMData_2b ; SPRITE_ANIM_FRAME_IDX_2B
+ dbw $10, .OAMData_2c ; SPRITE_ANIM_FRAME_IDX_2C
+ dbw $10, .OAMData_2d ; SPRITE_ANIM_FRAME_IDX_2D
+ dbw $3a, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_2E
+ dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_FRAME_IDX_STILL_CURSOR
+ dbw $00, .OAMData_30 ; SPRITE_ANIM_FRAME_IDX_30
+ dbw $02, .OAMData_31 ; SPRITE_ANIM_FRAME_IDX_31
+ dbw $06, .OAMData_19 ; SPRITE_ANIM_FRAME_IDX_32
+ dbw $0a, .OAMData_19 ; SPRITE_ANIM_FRAME_IDX_33
+ dbw $0e, .OAMData_19 ; SPRITE_ANIM_FRAME_IDX_34
+ dbw $12, .OAMData_35 ; SPRITE_ANIM_FRAME_IDX_35
+ dbw $13, .OAMData_35 ; SPRITE_ANIM_FRAME_IDX_36
+ dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_FRAME_IDX_TRADEMON_ICON_1
+ dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_FRAME_IDX_TRADEMON_ICON_2
+ dbw $10, .OAMData_19 ; SPRITE_ANIM_FRAME_IDX_39
+ dbw $00, .OAMData_31 ; SPRITE_ANIM_FRAME_IDX_3A
+ dbw $04, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_3B
+ dbw $00, .OAMData_RadioTuningKnob ; SPRITE_ANIM_FRAME_IDX_RADIO_TUNING_KNOB
+ dbw $00, .OAMData_PartyMonWithMail1 ; SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_1
+ dbw $00, .OAMData_PartyMonWithMail2 ; SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_2
+ dbw $00, .OAMData_PartyMonWithItem1 ; SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_1
+ dbw $00, .OAMData_PartyMonWithItem2 ; SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_2
+ dbw $00, .OAMData_31 ; SPRITE_ANIM_FRAME_IDX_41
+ dbw $04, .OAMData_31 ; SPRITE_ANIM_FRAME_IDX_42
+ dbw $00, .OAMData_43 ; SPRITE_ANIM_FRAME_IDX_43
+ dbw $30, .OAMData_43 ; SPRITE_ANIM_FRAME_IDX_44
+ dbw $03, .OAMData_43 ; SPRITE_ANIM_FRAME_IDX_45
+ dbw $33, .OAMData_43 ; SPRITE_ANIM_FRAME_IDX_46
+ dbw $06, .OAMData_43 ; SPRITE_ANIM_FRAME_IDX_47
+ dbw $36, .OAMData_43 ; SPRITE_ANIM_FRAME_IDX_48
+ dbw $09, .OAMData_43 ; SPRITE_ANIM_FRAME_IDX_49
+ dbw $39, .OAMData_43 ; SPRITE_ANIM_FRAME_IDX_4A
+ dbw $0c, .OAMData_4b ; SPRITE_ANIM_FRAME_IDX_4B
+ dbw $0c, .OAMData_4c ; SPRITE_ANIM_FRAME_IDX_4C
+ dbw $3c, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_4D
+ dbw $3e, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_4E
+ dbw $00, .OAMData_Leaf ; SPRITE_ANIM_FRAME_IDX_LEAF
+ dbw $00, .OAMData_Tree ; SPRITE_ANIM_FRAME_IDX_TREE_1
+ dbw $00, .OAMData_CutTree2 ; SPRITE_ANIM_FRAME_IDX_CUT_TREE_2
+ dbw $00, .OAMData_CutTree3 ; SPRITE_ANIM_FRAME_IDX_CUT_TREE_3
+ dbw $00, .OAMData_CutTree4 ; SPRITE_ANIM_FRAME_IDX_CUT_TREE_4
+ dbw $00, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_EGG_CRACK
+ dbw $01, .OAMData_02 ; SPRITE_ANIM_FRAME_IDX_55
+ dbw $00, .OAMData_56 ; SPRITE_ANIM_FRAME_IDX_56
+ dbw $00, .OAMData_57 ; SPRITE_ANIM_FRAME_IDX_57
+ dbw $00, .OAMData_58 ; SPRITE_ANIM_FRAME_IDX_58
+ dbw $00, .OAMData_59 ; SPRITE_ANIM_FRAME_IDX_59
+ dbw $00, .OAMData_5a ; SPRITE_ANIM_FRAME_IDX_5A
+ dbw $04, .OAMData_Tree ; SPRITE_ANIM_FRAME_IDX_HEADBUTT_TREE_2
+ dbw $00, .OAMData_5c ; SPRITE_ANIM_FRAME_IDX_5C
+ dbw $00, .OAMData_5d ; SPRITE_ANIM_FRAME_IDX_5D
+ dbw $00, .OAMData_5e ; SPRITE_ANIM_FRAME_IDX_5E
+ dbw $00, .OAMData_5f ; SPRITE_ANIM_FRAME_IDX_5F
+ dbw $00, .OAMData_60 ; SPRITE_ANIM_FRAME_IDX_60
+ dbw $00, .OAMData_61 ; SPRITE_ANIM_FRAME_IDX_61
+ dbw $00, .OAMData_62 ; SPRITE_ANIM_FRAME_IDX_62
+ dbw $00, .OAMData_BlueWalk ; SPRITE_ANIM_FRAME_IDX_BLUE_WALK_1
+ dbw $04, .OAMData_BlueWalk ; SPRITE_ANIM_FRAME_IDX_BLUE_WALK_2
+ dbw $00, .OAMData_65 ; SPRITE_ANIM_FRAME_IDX_65
+ dbw $04, .OAMData_65 ; SPRITE_ANIM_FRAME_IDX_66
+ dbw $20, .OAMData_67 ; SPRITE_ANIM_FRAME_IDX_67
+ dbw $21, .OAMData_67 ; SPRITE_ANIM_FRAME_IDX_68
+ dbw $22, .OAMData_69 ; SPRITE_ANIM_FRAME_IDX_69
+ dbw $23, .OAMData_6a ; SPRITE_ANIM_FRAME_IDX_6A
+ dbw $27, .OAMData_6b ; SPRITE_ANIM_FRAME_IDX_6B
+ dbw $2a, .OAMData_6c ; SPRITE_ANIM_FRAME_IDX_6C
+ dbw $2a, .OAMData_6d ; SPRITE_ANIM_FRAME_IDX_6D
+ dbw $00, .OAMData_6e ; SPRITE_ANIM_FRAME_IDX_6E
+ dbw $08, .OAMData_6f ; SPRITE_ANIM_FRAME_IDX_6F
+ dbw $60, .OAMData_70 ; SPRITE_ANIM_FRAME_IDX_70
+ dbw $68, .OAMData_71 ; SPRITE_ANIM_FRAME_IDX_71
+ dbw $00, .OAMData_72 ; SPRITE_ANIM_FRAME_IDX_72
+ dbw $05, .OAMData_72 ; SPRITE_ANIM_FRAME_IDX_73
+ dbw $0a, .OAMData_72 ; SPRITE_ANIM_FRAME_IDX_74
+ dbw $50, .OAMData_75 ; SPRITE_ANIM_FRAME_IDX_75
+ dbw $00, .OAMData_76 ; SPRITE_ANIM_FRAME_IDX_76
+ dbw $01, .OAMData_77 ; SPRITE_ANIM_FRAME_IDX_77
+ dbw $04, .OAMData_78 ; SPRITE_ANIM_FRAME_IDX_78
+ dbw $00, .OAMData_18 ; SPRITE_ANIM_FRAME_IDX_79
+ dbw $01, .OAMData_7a ; SPRITE_ANIM_FRAME_IDX_7A
+ dbw $03, .OAMData_7b ; SPRITE_ANIM_FRAME_IDX_7B
+ dbw $08, .OAMData_7c ; SPRITE_ANIM_FRAME_IDX_7C
+ dbw $1c, .OAMData_7c ; SPRITE_ANIM_FRAME_IDX_7D
+ dbw $80, .OAMData_IntroSuicuneAway ; SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_AWAY
+ dbw $00, .OAMData_Celebi ; SPRITE_ANIM_FRAME_IDX_CELEBI_1
+ dbw $04, .OAMData_Celebi ; SPRITE_ANIM_FRAME_IDX_CELEBI_2
+ dbw $d0, .OAMData_81 ; SPRITE_ANIM_FRAME_IDX_81
+ dbw $d3, .OAMData_81 ; SPRITE_ANIM_FRAME_IDX_82
+ dbw $d6, .OAMData_81 ; SPRITE_ANIM_FRAME_IDX_83
+ dbw $6c, .OAMData_84 ; SPRITE_ANIM_FRAME_IDX_84
+ dbw $68, .OAMData_84 ; SPRITE_ANIM_FRAME_IDX_85
+ dbw $64, .OAMData_84 ; SPRITE_ANIM_FRAME_IDX_86
+ dbw $60, .OAMData_84 ; SPRITE_ANIM_FRAME_IDX_87
+ dbw $0c, .OAMData_84 ; SPRITE_ANIM_FRAME_IDX_88
+ dbw $08, .OAMData_84 ; SPRITE_ANIM_FRAME_IDX_89
+ dbw $04, .OAMData_84 ; SPRITE_ANIM_FRAME_IDX_8A
+ dbw $00, .OAMData_84 ; SPRITE_ANIM_FRAME_IDX_8B
.OAMData_02:
db 1
@@ -346,13 +346,12 @@ SpriteAnimOAMData: ; 8d94d
dsprite 2, 0, 1, 0, $22, $00
dsprite 2, 0, 2, 0, $23, $00
-.OAMData_00:
-; party menu icons
+.OAMData_RedWalk:
db 4
- dsprite -1, 0, -1, 0, $00, $00
- dsprite -1, 0, 0, 0, $01, $00
- dsprite 0, 0, -1, 0, $02, $00
- dsprite 0, 0, 0, 0, $03, $00
+ dsprite -1, 0, -1, 0, $00, PAL_OW_RED
+ dsprite -1, 0, 0, 0, $01, PAL_OW_RED
+ dsprite 0, 0, -1, 0, $02, PAL_OW_RED
+ dsprite 0, 0, 0, 0, $03, PAL_OW_RED
.OAMData_31:
db 4
@@ -361,37 +360,33 @@ SpriteAnimOAMData: ; 8d94d
dsprite 0, 0, -1, 0, $02, $80
dsprite 0, 0, 0, 0, $03, $80
-.OAMData_3d:
-; party menu icon with mail, frame 1
+.OAMData_PartyMonWithMail1:
db 4
- dsprite -1, 0, -1, 0, $00, $00
- dsprite -1, 0, 0, 0, $01, $00
- dsprite 0, 0, -1, 0, $08, $00
- dsprite 0, 0, 0, 0, $03, $00
+ dsprite -1, 0, -1, 0, $00, PAL_OW_RED
+ dsprite -1, 0, 0, 0, $01, PAL_OW_RED
+ dsprite 0, 0, -1, 0, $08, PAL_OW_RED
+ dsprite 0, 0, 0, 0, $03, PAL_OW_RED
-.OAMData_3e:
-; party menu icon with mail, frame 2
+.OAMData_PartyMonWithMail2:
db 4
- dsprite -1, 0, -1, 0, $04, $00
- dsprite -1, 0, 0, 0, $05, $00
- dsprite 0, 0, -1, 0, $08, $00
- dsprite 0, 0, 0, 0, $07, $00
+ dsprite -1, 0, -1, 0, $04, PAL_OW_RED
+ dsprite -1, 0, 0, 0, $05, PAL_OW_RED
+ dsprite 0, 0, -1, 0, $08, PAL_OW_RED
+ dsprite 0, 0, 0, 0, $07, PAL_OW_RED
-.OAMData_3f:
-; party menu icon with item, frame 1
+.OAMData_PartyMonWithItem1:
db 4
- dsprite -1, 0, -1, 0, $00, $00
- dsprite -1, 0, 0, 0, $01, $00
- dsprite 0, 0, -1, 0, $09, $00
- dsprite 0, 0, 0, 0, $03, $00
+ dsprite -1, 0, -1, 0, $00, PAL_OW_RED
+ dsprite -1, 0, 0, 0, $01, PAL_OW_RED
+ dsprite 0, 0, -1, 0, $09, PAL_OW_RED
+ dsprite 0, 0, 0, 0, $03, PAL_OW_RED
-.OAMData_40:
-; party menu icon with item, frame 2
+.OAMData_PartyMonWithItem2:
db 4
- dsprite -1, 0, -1, 0, $04, $00
- dsprite -1, 0, 0, 0, $05, $00
- dsprite 0, 0, -1, 0, $09, $00
- dsprite 0, 0, 0, 0, $07, $00
+ dsprite -1, 0, -1, 0, $04, PAL_OW_RED
+ dsprite -1, 0, 0, 0, $05, PAL_OW_RED
+ dsprite 0, 0, -1, 0, $09, PAL_OW_RED
+ dsprite 0, 0, 0, 0, $07, PAL_OW_RED
.OAMData_06:
db 6
@@ -447,16 +442,16 @@ SpriteAnimOAMData: ; 8d94d
dsprite -1, 0, 3, 0, $03, $00
dsprite 0, 0, 2, 0, $04, $00
-.OAMData_4f:
+.OAMData_Leaf:
db 1
- dsprite -1, 4, -1, 4, $00, $06
+ dsprite -1, 4, -1, 4, $00, PAL_OW_TREE
-.OAMData_50:
+.OAMData_Tree:
db 4
- dsprite -1, 0, -1, 0, $00, $06
- dsprite -1, 0, 0, 0, $01, $06
- dsprite 0, 0, -1, 0, $02, $06
- dsprite 0, 0, 0, 0, $03, $06
+ dsprite -1, 0, -1, 0, $00, PAL_OW_TREE
+ dsprite -1, 0, 0, 0, $01, PAL_OW_TREE
+ dsprite 0, 0, -1, 0, $02, PAL_OW_TREE
+ dsprite 0, 0, 0, 0, $03, PAL_OW_TREE
.OAMData_20:
db 4
@@ -465,18 +460,18 @@ SpriteAnimOAMData: ; 8d94d
dsprite 0, 0, -1, 7, $00, $40
dsprite 0, 0, 0, 0, $00, $60
-.OAMData_21:
+.OAMData_ForFrameset09:
db 10
- dsprite -1, 7, 0, 0, $00, $00
- dsprite -1, 7, 1, 0, $01, $00
- dsprite -1, 7, 2, 0, $01, $00
- dsprite -1, 7, 3, 0, $01, $00
- dsprite -1, 7, 4, 0, $00, $20
- dsprite 0, 0, 0, 0, $00, $40
- dsprite 0, 0, 1, 0, $01, $40
- dsprite 0, 0, 2, 0, $01, $40
- dsprite 0, 0, 3, 0, $01, $40
- dsprite 0, 0, 4, 0, $00, $60
+ dsprite -1, 7, 0, 0, $00, $0
+ dsprite -1, 7, 1, 0, $01, $0
+ dsprite -1, 7, 2, 0, $01, $0
+ dsprite -1, 7, 3, 0, $01, $0
+ dsprite -1, 7, 4, 0, $00, $0 | X_FLIP
+ dsprite 0, 0, 0, 0, $00, $0 | Y_FLIP
+ dsprite 0, 0, 1, 0, $01, $0 | Y_FLIP
+ dsprite 0, 0, 2, 0, $01, $0 | Y_FLIP
+ dsprite 0, 0, 3, 0, $01, $0 | Y_FLIP
+ dsprite 0, 0, 4, 0, $00, $0 | X_FLIP | Y_FLIP
.OAMData_22:
db 15
@@ -550,11 +545,11 @@ SpriteAnimOAMData: ; 8d94d
dsprite 0, 4, -1, 4, $26, $16
dsprite 0, 4, 0, 4, $28, $16
-.OAMData_3c:
+.OAMData_RadioTuningKnob:
db 3
- dsprite -2, 4, -1, 4, $00, $10
- dsprite -1, 4, -1, 4, $00, $10
- dsprite 0, 4, -1, 4, $00, $10
+ dsprite -2, 4, -1, 4, $00, $0 | OBP_NUM
+ dsprite -1, 4, -1, 4, $00, $0 | OBP_NUM
+ dsprite 0, 4, -1, 4, $00, $0 | OBP_NUM
.OAMData_4b:
db 6
@@ -572,26 +567,26 @@ SpriteAnimOAMData: ; 8d94d
dsprite 0, 0, 2, 0, $02, $00
dsprite 0, 0, 3, 0, $03, $00
-.OAMData_51:
+.OAMData_CutTree2:
db 4
- dsprite -1, 0, -2, 6, $00, $06
- dsprite -1, 0, 0, 2, $01, $06
- dsprite 0, 0, -2, 6, $02, $06
- dsprite 0, 0, 0, 2, $03, $06
+ dsprite -1, 0, -2, 6, $00, PAL_OW_TREE
+ dsprite -1, 0, 0, 2, $01, PAL_OW_TREE
+ dsprite 0, 0, -2, 6, $02, PAL_OW_TREE
+ dsprite 0, 0, 0, 2, $03, PAL_OW_TREE
-.OAMData_52:
+.OAMData_CutTree3:
db 4
- dsprite -1, 0, -2, 4, $00, $06
- dsprite -1, 0, 0, 4, $01, $06
- dsprite 0, 0, -2, 4, $02, $06
- dsprite 0, 0, 0, 4, $03, $06
+ dsprite -1, 0, -2, 4, $00, PAL_OW_TREE
+ dsprite -1, 0, 0, 4, $01, PAL_OW_TREE
+ dsprite 0, 0, -2, 4, $02, PAL_OW_TREE
+ dsprite 0, 0, 0, 4, $03, PAL_OW_TREE
-.OAMData_53:
+.OAMData_CutTree4:
db 4
- dsprite -1, 0, -2, 0, $00, $06
- dsprite -1, 0, 1, 0, $01, $06
- dsprite 0, 0, -2, 0, $02, $06
- dsprite 0, 0, 1, 0, $03, $06
+ dsprite -1, 0, -2, 0, $00, PAL_OW_TREE
+ dsprite -1, 0, 1, 0, $01, PAL_OW_TREE
+ dsprite 0, 0, -2, 0, $02, PAL_OW_TREE
+ dsprite 0, 0, 1, 0, $03, PAL_OW_TREE
.OAMData_56:
db 19
@@ -692,9 +687,9 @@ SpriteAnimOAMData: ; 8d94d
dsprite -2, 0, 3, 0, $22, $00
dsprite 0, 0, 3, 0, $24, $00
-.OAMData_1e:
+.OAMData_GSTitleTrail:
db 1
- dsprite -1, 4, -1, 4, $00, $11
+ dsprite -1, 4, -1, 4, $00, $1 | OBP_NUM
.OAMData_5c:
db 12
@@ -747,12 +742,12 @@ SpriteAnimOAMData: ; 8d94d
dsprite 0, 0, 0, 0, $32, $00
dsprite 1, 0, 0, 0, $35, $00
-.OAMData_63:
+.OAMData_BlueWalk:
db 4
- dsprite -1, 0, -1, 0, $00, $01
- dsprite -1, 0, 0, 0, $01, $01
- dsprite 0, 0, -1, 0, $02, $01
- dsprite 0, 0, 0, 0, $03, $01
+ dsprite -1, 0, -1, 0, $00, PAL_OW_BLUE
+ dsprite -1, 0, 0, 0, $01, PAL_OW_BLUE
+ dsprite 0, 0, -1, 0, $02, PAL_OW_BLUE
+ dsprite 0, 0, 0, 0, $03, PAL_OW_BLUE
.OAMData_65:
db 4
@@ -1018,29 +1013,29 @@ SpriteAnimOAMData: ; 8d94d
.OAMData_7a:
db 8
- dsprite -1, 0, -2, 0, $00, $00
- dsprite -1, 0, -1, 0, $01, $00
- dsprite -1, 0, 0, 0, $01, $20
- dsprite -1, 0, 1, 0, $00, $20
- dsprite 0, 0, -2, 0, $00, $40
- dsprite 0, 0, -1, 0, $01, $40
- dsprite 0, 0, 0, 0, $01, $60
- dsprite 0, 0, 1, 0, $00, $60
+ dsprite -1, 0, -2, 0, $00, $0
+ dsprite -1, 0, -1, 0, $01, $0
+ dsprite -1, 0, 0, 0, $01, $0 | X_FLIP
+ dsprite -1, 0, 1, 0, $00, $0 | X_FLIP
+ dsprite 0, 0, -2, 0, $00, $0 | Y_FLIP
+ dsprite 0, 0, -1, 0, $01, $0 | Y_FLIP
+ dsprite 0, 0, 0, 0, $01, $0 | X_FLIP | Y_FLIP
+ dsprite 0, 0, 1, 0, $00, $0 | X_FLIP | Y_FLIP
.OAMData_7b:
db 12
- dsprite -3, 0, -1, 0, $00, $00
- dsprite -2, 0, -1, 0, $01, $00
- dsprite -1, 0, -1, 0, $02, $00
- dsprite -3, 0, 0, 0, $00, $20
- dsprite -2, 0, 0, 0, $01, $20
- dsprite -1, 0, 0, 0, $02, $20
- dsprite 0, 0, -1, 0, $02, $40
- dsprite 1, 0, -1, 0, $01, $40
- dsprite 2, 0, -1, 0, $00, $40
- dsprite 0, 0, 0, 0, $02, $60
- dsprite 1, 0, 0, 0, $01, $60
- dsprite 2, 0, 0, 0, $00, $60
+ dsprite -3, 0, -1, 0, $00, $0
+ dsprite -2, 0, -1, 0, $01, $0
+ dsprite -1, 0, -1, 0, $02, $0
+ dsprite -3, 0, 0, 0, $00, $0 | X_FLIP
+ dsprite -2, 0, 0, 0, $01, $0 | X_FLIP
+ dsprite -1, 0, 0, 0, $02, $0 | X_FLIP
+ dsprite 0, 0, -1, 0, $02, $0 | Y_FLIP
+ dsprite 1, 0, -1, 0, $01, $0 | Y_FLIP
+ dsprite 2, 0, -1, 0, $00, $0 | Y_FLIP
+ dsprite 0, 0, 0, 0, $02, $0 | X_FLIP | Y_FLIP
+ dsprite 1, 0, 0, 0, $01, $0 | X_FLIP | Y_FLIP
+ dsprite 2, 0, 0, 0, $00, $0 | X_FLIP | Y_FLIP
.OAMData_7c:
db 20
@@ -1065,35 +1060,35 @@ SpriteAnimOAMData: ; 8d94d
dsprite 1, 4, 0, 0, $12, $00
dsprite 1, 4, 1, 0, $13, $00
-.OAMData_7e:
+.OAMData_IntroSuicuneAway:
db 20
- dsprite 0, 0, 1, 0, $00, $81
- dsprite 1, 0, 2, 0, $00, $81
- dsprite 2, 0, 3, 0, $00, $81
- dsprite 3, 0, 4, 0, $00, $81
- dsprite 4, 0, 5, 0, $00, $81
- dsprite 3, 0, 6, 0, $00, $81
- dsprite 2, 0, 7, 0, $00, $81
- dsprite 1, 0, 8, 0, $00, $81
- dsprite 0, 0, 9, 0, $00, $81
- dsprite 1, 0, 10, 0, $00, $81
- dsprite 2, 0, 11, 0, $00, $81
- dsprite 3, 0, 12, 0, $00, $81
- dsprite 4, 0, 13, 0, $00, $81
- dsprite 3, 0, 14, 0, $00, $81
- dsprite 2, 0, 15, 0, $00, $81
- dsprite 1, 0, 16, 0, $00, $81
- dsprite 0, 0, -15, 0, $00, $81
- dsprite 1, 0, -14, 0, $00, $81
- dsprite 2, 0, -13, 0, $00, $81
- dsprite 3, 0, -12, 0, $00, $81
-
-.OAMData_7f:
+ dsprite 0, 0, 1, 0, $00, $1 | BEHIND_BG
+ dsprite 1, 0, 2, 0, $00, $1 | BEHIND_BG
+ dsprite 2, 0, 3, 0, $00, $1 | BEHIND_BG
+ dsprite 3, 0, 4, 0, $00, $1 | BEHIND_BG
+ dsprite 4, 0, 5, 0, $00, $1 | BEHIND_BG
+ dsprite 3, 0, 6, 0, $00, $1 | BEHIND_BG
+ dsprite 2, 0, 7, 0, $00, $1 | BEHIND_BG
+ dsprite 1, 0, 8, 0, $00, $1 | BEHIND_BG
+ dsprite 0, 0, 9, 0, $00, $1 | BEHIND_BG
+ dsprite 1, 0, 10, 0, $00, $1 | BEHIND_BG
+ dsprite 2, 0, 11, 0, $00, $1 | BEHIND_BG
+ dsprite 3, 0, 12, 0, $00, $1 | BEHIND_BG
+ dsprite 4, 0, 13, 0, $00, $1 | BEHIND_BG
+ dsprite 3, 0, 14, 0, $00, $1 | BEHIND_BG
+ dsprite 2, 0, 15, 0, $00, $1 | BEHIND_BG
+ dsprite 1, 0, 16, 0, $00, $1 | BEHIND_BG
+ dsprite 0, 0, -15, 0, $00, $1 | BEHIND_BG
+ dsprite 1, 0, -14, 0, $00, $1 | BEHIND_BG
+ dsprite 2, 0, -13, 0, $00, $1 | BEHIND_BG
+ dsprite 3, 0, -12, 0, $00, $1 | BEHIND_BG
+
+.OAMData_Celebi:
db 4
- dsprite -1, 0, -1, 0, $00, $02
- dsprite -1, 0, 0, 0, $01, $02
- dsprite 0, 0, -1, 0, $02, $02
- dsprite 0, 0, 0, 0, $03, $02
+ dsprite -1, 0, -1, 0, $00, PAL_OW_GREEN
+ dsprite -1, 0, 0, 0, $01, PAL_OW_GREEN
+ dsprite 0, 0, -1, 0, $02, PAL_OW_GREEN
+ dsprite 0, 0, 0, 0, $03, PAL_OW_GREEN
.OAMData_81:
db 9
diff --git a/data/sprite_anim_seqs.asm b/data/sprite_anim_seqs.asm
index 8f8d89aaf..8cd8e5b72 100644
--- a/data/sprite_anim_seqs.asm
+++ b/data/sprite_anim_seqs.asm
@@ -3,8 +3,8 @@ SpriteAnimSeqData: ; 8d1c4
; frameset sequence, tile
; SPRITE_ANIM_INDEX_PARTY_MON
db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, $00
-; SPRITE_ANIM_INDEX_01
- db SPRITE_ANIM_FRAMESET_07, SPRITE_ANIM_SEQ_04, $00
+; SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
+ db SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL, SPRITE_ANIM_SEQ_GS_TITLE_TRAIL, $00
; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, $05
; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
@@ -26,9 +26,9 @@ SpriteAnimSeqData: ; 8d1c4
; SPRITE_ANIM_INDEX_0B
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0D, $08
; SPRITE_ANIM_INDEX_DUMMY_GAME
- db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0E, $08
-; SPRITE_ANIM_INDEX_0D
- db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0F, $08
+ db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR, $08
+; SPRITE_ANIM_INDEX_POKEGEAR_ARROW
+ db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_POKEGEAR_ARROW, $08
; SPRITE_ANIM_INDEX_TRADE_POKE_BALL
db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_TRADE_POKE_BALL, $00
; SPRITE_ANIM_INDEX_TRADE_POOF
diff --git a/engine/intro_menu.asm b/engine/intro_menu.asm
index e0ecd41fe..5127a9895 100755
--- a/engine/intro_menu.asm
+++ b/engine/intro_menu.asm
@@ -1341,7 +1341,7 @@ Function639b: ; unreferenced
ld h, 0
add hl, hl
add hl, hl
- ld de, Data63ca
+ ld de, .Data63ca
add hl, de
; If bit 2 of [wTitleScreenTimer] is set, get the second dw; else, get the first dw
ld a, [wTitleScreenTimer]
@@ -1357,12 +1357,12 @@ Function639b: ; unreferenced
ret z
ld e, a
ld d, [hl]
- ld a, SPRITE_ANIM_INDEX_01
+ ld a, SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
call _InitSpriteAnimStruct
ret
; 63ca
-Data63ca: ; 63ca
+.Data63ca: ; 63ca
; frame 0 y, x; frame 1 y, x
db 11 * 8 + 4, 10 * 8, 0 * 8, 0 * 8
db 11 * 8 + 4, 13 * 8, 11 * 8 + 4, 11 * 8
diff --git a/engine/mon_icons.asm b/engine/mon_icons.asm
index 0aade6985..70c439863 100755
--- a/engine/mon_icons.asm
+++ b/engine/mon_icons.asm
@@ -144,11 +144,11 @@ PartyMenu_InitAnimatedMonIcon: ; 8e8d5 (23:68d5)
pop bc
pop hl
jr c, .mail
- ld a, SPRITE_ANIM_FRAMESET_03
+ ld a, SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM
jr .okay
.mail
- ld a, SPRITE_ANIM_FRAMESET_02
+ ld a, SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL
.okay
ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
@@ -297,7 +297,7 @@ GetMemIconGFX: ; 8e9db (23:69db)
ld a, [wCurIconTile]
GetIconGFX: ; 8e9de
call GetIcon_a
- ld de, $80 ; 8 tiles
+ ld de, 8 tiles
add hl, de
ld de, HeldItemIcons
lb bc, BANK(HeldItemIcons), 2
@@ -468,9 +468,6 @@ ReadMonMenuIcon: ; 8eab3
INCLUDE "data/mon_menu_icons.asm"
-
INCLUDE "gfx/icon_pointers.asm"
-Icons:
INCLUDE "gfx/icons.asm"
-
diff --git a/engine/player_object.asm b/engine/player_object.asm
index a4796043b..232d31bc2 100755
--- a/engine/player_object.asm
+++ b/engine/player_object.asm
@@ -193,7 +193,7 @@ CopyMapObjectToObjectStruct: ; 8116
and $f0
jr z, .skip_color_override
swap a
- and $7 ; OAM_PALETTE
+ and PALETTE_MASK
ld [wTempObjectCopyPalette], a
.skip_color_override
diff --git a/engine/pokegear.asm b/engine/pokegear.asm
index 901053c9f..561ece400 100755
--- a/engine/pokegear.asm
+++ b/engine/pokegear.asm
@@ -141,7 +141,7 @@ INCBIN "gfx/pokegear/fast_ship.2bpp"
InitPokegearModeIndicatorArrow: ; 90d32 (24:4d32)
depixel 4, 2, 4, 0
- ld a, SPRITE_ANIM_INDEX_0D
+ ld a, SPRITE_ANIM_INDEX_POKEGEAR_ARROW
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
@@ -685,7 +685,7 @@ PokegearMap_InitPlayerIcon: ; 9106a
PokegearMap_InitCursor: ; 91098
push af
depixel 0, 0
- ld a, SPRITE_ANIM_INDEX_0D
+ ld a, SPRITE_ANIM_INDEX_POKEGEAR_ARROW
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
diff --git a/engine/sprite_anims.asm b/engine/sprite_anims.asm
index e6681c8ac..8f62aa178 100755
--- a/engine/sprite_anims.asm
+++ b/engine/sprite_anims.asm
@@ -18,8 +18,8 @@ DoAnimFrame: ; 8d24b
dw .PartyMon
dw .PartyMonSwitch
dw .PartyMonSelected
- dw .sprite_anim_seq_04
- dw .namingscreencursor
+ dw .GSTitleTrail
+ dw .NamingScreenCursor
dw .GameFreakLogo
dw .GSIntroStar
dw .GSIntroSparkle
@@ -28,8 +28,8 @@ DoAnimFrame: ; 8d24b
dw .SlotsChanseyEgg
dw .MailCursor
dw .sprite_anim_seq_0D
- dw .sprite_anim_seq_0E
- dw .sprite_anim_seq_0F
+ dw .DummyGameCursor
+ dw .PokegearArrow
dw .TradePokeBall
dw .TradeTubeBulge
dw .TrademonInTube
@@ -132,7 +132,7 @@ DoAnimFrame: ; 8d24b
ld [hl], 8 * 3
ret
-.sprite_anim_seq_04 ; 8d302 (23:5302)
+.GSTitleTrail ; 8d302 (23:5302)
call .AnonymousJumptable
jp hl
; 8d306 (23:5306)
@@ -217,7 +217,7 @@ DoAnimFrame: ; 8d24b
ld [hl], a
ret
-.namingscreencursor ; 8d36c (23:536c)
+.NamingScreenCursor ; 8d36c (23:536c)
callab NamingScreen_AnimateCursor
ret
@@ -408,11 +408,11 @@ DoAnimFrame: ; 8d24b
callab ret_e00ed
ret
-.sprite_anim_seq_0F ; 8d475 (23:5475)
+.PokegearArrow ; 8d475 (23:5475)
callab AnimatePokegearModeIndicatorArrow
ret
-.sprite_anim_seq_0E ; 8d47c (23:547c)
+.DummyGameCursor ; 8d47c (23:547c)
callab DummyGame_InterpretJoypad_AnimateCursor
ret
diff --git a/gbhw.asm b/gbhw.asm
index 4f7e7747f..baf2d6da7 100644
--- a/gbhw.asm
+++ b/gbhw.asm
@@ -29,25 +29,26 @@ SERIAL EQU 3
JOYPAD EQU 4
; OAM attribute flags
-OAM_PALETTE EQU %111
OAM_TILE_BANK EQU 3
-OAM_OBP_NUM EQU 4 ; Non CGB Mode Only
+OAM_OBP_NUM EQU 4 ; non CGB Mode Only
OAM_X_FLIP EQU 5
OAM_Y_FLIP EQU 6
OAM_PRIORITY EQU 7 ; 0: OBJ above BG, 1: OBJ behind BG (colors 1-3)
-VRAM_BANK_1 EQU 1 << OAM_TILE_BANK
-X_FLIP EQU 1 << OAM_X_FLIP
-Y_FLIP EQU 1 << OAM_Y_FLIP
-BEHIND_BG EQU 1 << OAM_PRIORITY
+PALETTE_MASK EQU %111
+VRAM_BANK_1 EQU 1 << OAM_TILE_BANK
+OBP_NUM EQU 1 << OAM_OBP_NUM
+X_FLIP EQU 1 << OAM_X_FLIP
+Y_FLIP EQU 1 << OAM_Y_FLIP
+BEHIND_BG EQU 1 << OAM_PRIORITY
; Hardware registers
rJOYP EQU $ff00 ; Joypad (R/W)
rSB EQU $ff01 ; Serial transfer data (R/W)
rSC EQU $ff02 ; Serial Transfer Control (R/W)
-rSC_ON EQU 7
-rSC_CGB EQU 1
-rSC_CLOCK EQU 0
+rSC_ON EQU 7
+rSC_CGB EQU 1
+rSC_CLOCK EQU 0
rDIV EQU $ff04 ; Divider Register (R/W)
rTIMA EQU $ff05 ; Timer counter (R/W)
rTMA EQU $ff06 ; Timer Modulo (R/W)
diff --git a/gfx/icons.asm b/gfx/icons.asm
index 8d44c1fef..5b28a99cd 100644
--- a/gfx/icons.asm
+++ b/gfx/icons.asm
@@ -1,3 +1,4 @@
+Icons:
NullIcon:
PoliwagIcon: INCBIN "gfx/icon/poliwag.2bpp" ; 0x8ec0d
JigglypuffIcon: INCBIN "gfx/icon/jigglypuff.2bpp" ; 0x8ec8d