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..0ec475faf --- /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 + +; 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