diff options
Diffstat (limited to 'constants')
26 files changed, 1249 insertions, 953 deletions
diff --git a/constants/battle_anim_constants.asm b/constants/battle_anim_constants.asm index d49aafec4..c55d4e9d6 100644 --- a/constants/battle_anim_constants.asm +++ b/constants/battle_anim_constants.asm @@ -37,13 +37,13 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value const ANIM_OBJ_06 const ANIM_OBJ_07 const ANIM_OBJ_08 - const ANIM_OBJ_09 + const ANIM_OBJ_FANG const ANIM_OBJ_0A - const ANIM_OBJ_0B - const ANIM_OBJ_0C - const ANIM_OBJ_0D - const ANIM_OBJ_0E - const ANIM_OBJ_0F + const ANIM_OBJ_EMBER + const ANIM_OBJ_DRAGON_RAGE + const ANIM_OBJ_FLAMETHROWER + const ANIM_OBJ_FIRE_SPIN + const ANIM_OBJ_FIRE_BLAST const ANIM_OBJ_BURNED const ANIM_OBJ_BLIZZARD const ANIM_OBJ_12 @@ -57,32 +57,32 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value const ANIM_OBJ_1A const ANIM_OBJ_1B const ANIM_OBJ_BALL_POOF - const ANIM_OBJ_1D - const ANIM_OBJ_1E - const ANIM_OBJ_1F - const ANIM_OBJ_20 + const ANIM_OBJ_BIG_ROCK + const ANIM_OBJ_SMALL_ROCK + const ANIM_OBJ_STRENGTH + const ANIM_OBJ_SEISMIC_TOSS const ANIM_OBJ_BUBBLE - const ANIM_OBJ_22 - const ANIM_OBJ_23 - const ANIM_OBJ_24 - const ANIM_OBJ_25 - const ANIM_OBJ_26 + const ANIM_OBJ_SURF + const ANIM_OBJ_SING + const ANIM_OBJ_WATER_GUN + const ANIM_OBJ_HYDRO_PUMP + const ANIM_OBJ_POWDER const ANIM_OBJ_27 const ANIM_OBJ_28 const ANIM_OBJ_ICE_BUILDUP const ANIM_OBJ_FROZEN const ANIM_OBJ_MASTER_BALL_SPARKLE - const ANIM_OBJ_2C + const ANIM_OBJ_RECOVER const ANIM_OBJ_2D const ANIM_OBJ_2E const ANIM_OBJ_2F - const ANIM_OBJ_30 + const ANIM_OBJ_THUNDER_WAVE const ANIM_OBJ_31 const ANIM_OBJ_LIGHTNING_BOLT const ANIM_OBJ_33 const ANIM_OBJ_34 - const ANIM_OBJ_35 - const ANIM_OBJ_36 + const ANIM_OBJ_CLAMP + const ANIM_OBJ_BITE const ANIM_OBJ_37 const ANIM_OBJ_38 const ANIM_OBJ_39 @@ -95,127 +95,127 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value const ANIM_OBJ_40 const ANIM_OBJ_41 const ANIM_OBJ_42 - const ANIM_OBJ_43 + const ANIM_OBJ_SONICBOOM_JP const ANIM_OBJ_44 const ANIM_OBJ_ABSORB - const ANIM_OBJ_46 + const ANIM_OBJ_EGG const ANIM_OBJ_47 const ANIM_OBJ_48 const ANIM_OBJ_49 const ANIM_OBJ_LEECH_SEED const ANIM_OBJ_4B - const ANIM_OBJ_4C - const ANIM_OBJ_4D + const ANIM_OBJ_WAVE + const ANIM_OBJ_CONFUSE_RAY const ANIM_OBJ_4E const ANIM_OBJ_4F - const ANIM_OBJ_50 - const ANIM_OBJ_51 + const ANIM_OBJ_SCREEN + const ANIM_OBJ_HARDEN const ANIM_OBJ_CHICK - const ANIM_OBJ_53 - const ANIM_OBJ_54 + const ANIM_OBJ_AMNESIA + const ANIM_OBJ_ASLEEP const ANIM_OBJ_SKULL const ANIM_OBJ_56 const ANIM_OBJ_57 const ANIM_OBJ_58 const ANIM_OBJ_PARALYZED - const ANIM_OBJ_5A + const ANIM_OBJ_STRING_SHOT const ANIM_OBJ_HAZE const ANIM_OBJ_MIST const ANIM_OBJ_SMOG const ANIM_OBJ_POISON_GAS const ANIM_OBJ_HORN const ANIM_OBJ_60 - const ANIM_OBJ_61 - const ANIM_OBJ_62 - const ANIM_OBJ_63 + const ANIM_OBJ_PETAL_DANCE + const ANIM_OBJ_SLUDGE_BOMB + const ANIM_OBJ_PAY_DAY const ANIM_OBJ_64 - const ANIM_OBJ_65 - const ANIM_OBJ_66 - const ANIM_OBJ_67 - const ANIM_OBJ_68 - const ANIM_OBJ_69 - const ANIM_OBJ_6A - const ANIM_OBJ_6B - const ANIM_OBJ_6C - const ANIM_OBJ_6D - const ANIM_OBJ_SKY_ATTACK_FEAROW + const ANIM_OBJ_MIMIC + const ANIM_OBJ_ATTRACT + const ANIM_OBJ_BONEMERANG + const ANIM_OBJ_BONE_CLUB + const ANIM_OBJ_BONE_RUSH + const ANIM_OBJ_SWIFT + const ANIM_OBJ_KINESIS + const ANIM_OBJ_FLASH + const ANIM_OBJ_SHINY + const ANIM_OBJ_SKY_ATTACK const ANIM_OBJ_LICK const ANIM_OBJ_WITHDRAW const ANIM_OBJ_71 - const ANIM_OBJ_72 - const ANIM_OBJ_73 - const ANIM_OBJ_74 - const ANIM_OBJ_75 - const ANIM_OBJ_76 - const ANIM_OBJ_77 - const ANIM_OBJ_78 - const ANIM_OBJ_79 + const ANIM_OBJ_GROWTH + const ANIM_OBJ_CONVERSION2 + const ANIM_OBJ_SMOKE + const ANIM_OBJ_SMOKESCREEN + const ANIM_OBJ_SWORDS_DANCE + const ANIM_OBJ_SPEED_LINE + const ANIM_OBJ_SHARPEN + const ANIM_OBJ_DEFENSE_CURL const ANIM_OBJ_7A const ANIM_OBJ_7B - const ANIM_OBJ_7C - const ANIM_OBJ_7D + const ANIM_OBJ_DISABLE + const ANIM_OBJ_AGILITY const ANIM_OBJ_HEART - const ANIM_OBJ_7F - const ANIM_OBJ_80 + const ANIM_OBJ_FLAME_WHEEL + const ANIM_OBJ_SACRED_FIRE const ANIM_OBJ_COTTON_SPORE - const ANIM_OBJ_82 - const ANIM_OBJ_83 + const ANIM_OBJ_MILK_DRINK + const ANIM_OBJ_ANGER const ANIM_OBJ_84 const ANIM_OBJ_85 - const ANIM_OBJ_86 - const ANIM_OBJ_87 - const ANIM_OBJ_88 - const ANIM_OBJ_89 - const ANIM_OBJ_8A - const ANIM_OBJ_8B - const ANIM_OBJ_8C - const ANIM_OBJ_8D + const ANIM_OBJ_BATON_PASS + const ANIM_OBJ_LOCK_ON + const ANIM_OBJ_MIND_READER + const ANIM_OBJ_SAFEGUARD + const ANIM_OBJ_PROTECT + const ANIM_OBJ_THIEF + const ANIM_OBJ_OCTAZOOKA + const ANIM_OBJ_PRESENT const ANIM_OBJ_SPIKES - const ANIM_OBJ_8F - const ANIM_OBJ_90 - const ANIM_OBJ_91 - const ANIM_OBJ_92 + const ANIM_OBJ_POWDER_SNOW + const ANIM_OBJ_DRAGONBREATH + const ANIM_OBJ_CONVERSION + const ANIM_OBJ_SPIDER_WEB const ANIM_OBJ_93 - const ANIM_OBJ_94 - const ANIM_OBJ_95 - const ANIM_OBJ_96 - const ANIM_OBJ_97 - const ANIM_OBJ_98 + const ANIM_OBJ_NIGHTMARE + const ANIM_OBJ_IN_NIGHTMARE + const ANIM_OBJ_LOVELY_KISS + const ANIM_OBJ_SWEET_KISS + const ANIM_OBJ_SKETCH const ANIM_OBJ_99 const ANIM_OBJ_9A - const ANIM_OBJ_9B - const ANIM_OBJ_9C - const ANIM_OBJ_9D - const ANIM_OBJ_9E - const ANIM_OBJ_9F + const ANIM_OBJ_DESTINY_BOND + const ANIM_OBJ_MORNING_SUN + const ANIM_OBJ_GLIMMER + const ANIM_OBJ_MOONLIGHT + const ANIM_OBJ_HIDDEN_POWER const ANIM_OBJ_A0 const ANIM_OBJ_A1 - const ANIM_OBJ_A2 - const ANIM_OBJ_A3 - const ANIM_OBJ_A4 - const ANIM_OBJ_A5 + const ANIM_OBJ_SANDSTORM + const ANIM_OBJ_ZAP_CANNON + const ANIM_OBJ_SPITE + const ANIM_OBJ_CURSE const ANIM_OBJ_PERISH_SONG - const ANIM_OBJ_A7 - const ANIM_OBJ_A8 - const ANIM_OBJ_A9 + const ANIM_OBJ_FORESIGHT + const ANIM_OBJ_RAPID_SPIN + const ANIM_OBJ_SWAGGER const ANIM_OBJ_AA const ANIM_OBJ_AB - const ANIM_OBJ_AC + const ANIM_OBJ_MEAN_LOOK const ANIM_OBJ_AD const ANIM_OBJ_AE - const ANIM_OBJ_AF + const ANIM_OBJ_RAIN const ANIM_OBJ_B0 - const ANIM_OBJ_B1 - const ANIM_OBJ_B2 - const ANIM_OBJ_B3 - const ANIM_OBJ_B4 - const ANIM_OBJ_B5 + const ANIM_OBJ_PSYCH_UP + const ANIM_OBJ_ANCIENTPOWER + const ANIM_OBJ_AEROBLAST + const ANIM_OBJ_SHADOW_BALL + const ANIM_OBJ_ROCK_SMASH const ANIM_OBJ_FLOWER const ANIM_OBJ_COTTON const ANIM_OBJ_PLAYERFEETFOLLOW const ANIM_OBJ_ENEMYFEETFOLLOW - const ANIM_OBJ_BA - const ANIM_OBJ_BB + const ANIM_OBJ_PLAYERHEADFOLLOW + const ANIM_OBJ_ENEMYHEADFOLLOW ; DoBattleAnimFrame arguments (see engine/battle_anims/functions.asm) const_def diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm index 9a3323509..816625e60 100644 --- a/constants/battle_constants.asm +++ b/constants/battle_constants.asm @@ -17,8 +17,18 @@ MIN_NEUTRAL_DAMAGE EQU 2 REST_SLEEP_TURNS EQU 2 TREEMON_SLEEP_TURNS EQU 7 -; PlayerStatLevels and EnemyStatLevels indexes -; used for GetStatName +; default move priority +BASE_PRIORITY EQU 1 + +; type effectiveness factors, scaled by 10 +SUPER_EFFECTIVE EQU 20 +MORE_EFFECTIVE EQU 15 +EFFECTIVE EQU 10 +NOT_VERY_EFFECTIVE EQU 05 +NO_EFFECT EQU 00 + +; PlayerStatLevels and EnemyStatLevels indexes (see wram.asm) +; GetStatName arguments (see data/battle/stat_names.asm) const_def const ATTACK const DEFENSE @@ -53,6 +63,7 @@ const_value set 1 const STAT_SATK const STAT_SDEF NUM_STATS EQU const_value +STAT_SPC EQU STAT_SATK ; stat formula constants STAT_MIN_NORMAL EQU 5 diff --git a/constants/battle_tower_constants.asm b/constants/battle_tower_constants.asm index 74df3a36a..58853da3a 100755 --- a/constants/battle_tower_constants.asm +++ b/constants/battle_tower_constants.asm @@ -1,4 +1,13 @@ -; BattleTowerAction arguments (see mobile/battle_tower_5c.asm) +BATTLETOWER_NROFPKMNS EQU 3 +BATTLETOWER_NROFTRAINERS EQU 7 + +BATTLETOWER_NUM_UNIQUE_PKMN EQU 21 +BATTLETOWER_NUM_UNIQUE_TRAINERS EQU 70 + +BATTLETOWER_TRAINERDATALENGTH EQU $24 +BATTLE_TOWER_STRUCT_LENGTH EQU $e0 ; NAME_LENGTH + BATTLETOWER_NROFPKMNS * (PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH) + BATTLETOWER_TRAINERDATALENGTH + +; BattleTowerAction writebyte arguments (see engine/events/battle_tower/battle_tower.asm) const_def const BATTLETOWERACTION_CHECK_EXPLANATION_READ const BATTLETOWERACTION_SET_EXPLANATION_READ @@ -33,19 +42,20 @@ const BATTLETOWERACTION_CHOOSEREWARD ; save options const BATTLETOWERACTION_SAVEOPTIONS -; sBattleTowerChallengeState +; BattleTowerAction return values +; - from BATTLETOWERACTION_CHECKMOBILEEVENT +MOBILE_EVENT_OBJECT_GS_BALL EQU $b + +; BattleTowerText arguments (see engine/events/battle_tower/trainer_text.asm) +const_value set 1 + const BATTLETOWERTEXT_INTRO + const BATTLETOWERTEXT_WIN_TEXT + const BATTLETOWERTEXT_LOSS_TEXT + +; sBattleTowerChallengeState values const_def const BATTLETOWER_NO_CHALLENGE const BATTLETOWER_SAVED_AND_LEFT const BATTLETOWER_CHALLENGE_IN_PROGESS const BATTLETOWER_WON_CHALLENGE const BATTLETOWER_RECEIVED_REWARD - -BATTLETOWER_NROFPKMNS EQU 3 -BATTLETOWER_TRAINERDATALENGTH EQU $24 -BATTLETOWER_NROFTRAINERS EQU 7 -BATTLETOWER_NRMONSPERLEVELBRACKET EQU BATTLETOWER_NROFPKMNS * BATTLETOWER_NROFTRAINERS -BATTLE_TOWER_STRUCT_LENGTH EQU $e0 ; NAME_LENGTH + 3 * (PARTYMON_STRUCT_LENGTH + PKMN_NAME_LENGTH) + BATTLETOWER_TRAINERDATALENGTH - -; return value from BattleTowerAction(BATTLETOWERACTION_CHECKMOBILEEVENT) -MOBILE_EVENT_OBJECT_GS_BALL EQU $b diff --git a/constants/collision_constants.asm b/constants/collision_constants.asm index 88fe9ca6e..86fdf9384 100644 --- a/constants/collision_constants.asm +++ b/constants/collision_constants.asm @@ -1,10 +1,10 @@ -; collision permissions (see tilesets/collision_permissions.asm) +; collision permissions (see data/collision_permissions.asm) LANDTILE EQU $00 WATERTILE EQU $01 WALLTILE EQU $0f TALK EQU $10 -; collision data types (see tilesets/*_collision.asm) +; collision data types (see data/tilesets/*_collision.asm) ; TileCollisionTable indexes (see data/collision_permissions.asm) COLL_FLOOR EQU $00 COLL_01 EQU $01 ; garbage @@ -28,19 +28,19 @@ COLL_CUT_28 EQU $28 ; garbage COLL_WATER EQU $29 COLL_ICE_2B EQU $2b ; unused COLL_WHIRLPOOL_2C EQU $2c ; unused -COLL_WATERFALL_RIGHT EQU $30 ; unused !!! -COLL_WATERFALL_LEFT EQU $31 ; unused !!! -COLL_WATERFALL_UP EQU $32 ; unused !!! +COLL_WATERFALL_RIGHT EQU $30 ; unused +COLL_WATERFALL_LEFT EQU $31 ; unused +COLL_WATERFALL_UP EQU $32 ; unused COLL_WATERFALL EQU $33 -COLL_CURRENT_RIGHT EQU $38 ; unused !!! -COLL_CURRENT_LEFT EQU $39 ; unused !!! -COLL_CURRENT_UP EQU $3a ; unused !!! -COLL_CURRENT_DOWN EQU $3b ; unused !!! -COLL_BRAKE EQU $40 ; unused !!! -COLL_WALK_RIGHT EQU $41 ; unused !!! -COLL_WALK_LEFT EQU $42 ; unused !!! -COLL_WALK_UP EQU $43 ; unused !!! -COLL_WALK_DOWN EQU $44 ; unused !!! +COLL_CURRENT_RIGHT EQU $38 ; unused +COLL_CURRENT_LEFT EQU $39 ; unused +COLL_CURRENT_UP EQU $3a ; unused +COLL_CURRENT_DOWN EQU $3b ; unused +COLL_BRAKE EQU $40 ; unused +COLL_WALK_RIGHT EQU $41 ; unused +COLL_WALK_LEFT EQU $42 ; unused +COLL_WALK_UP EQU $43 ; unused +COLL_WALK_DOWN EQU $44 ; unused COLL_BRAKE_45 EQU $45 ; garbage COLL_BRAKE_46 EQU $46 ; unused COLL_BRAKE_47 EQU $47 ; unused @@ -92,16 +92,16 @@ COLL_WINDOW EQU $9d COLL_INCENSE_BURNER EQU $9f COLL_HOP_RIGHT EQU $a0 COLL_HOP_LEFT EQU $a1 -COLL_HOP_UP EQU $a2 ; unused !!! +COLL_HOP_UP EQU $a2 ; unused COLL_HOP_DOWN EQU $a3 COLL_HOP_DOWN_RIGHT EQU $a4 COLL_HOP_DOWN_LEFT EQU $a5 -COLL_HOP_UP_RIGHT EQU $a6 ; unused !!! -COLL_HOP_UP_LEFT EQU $a7 ; unused !!! +COLL_HOP_UP_RIGHT EQU $a6 ; unused +COLL_HOP_UP_LEFT EQU $a7 ; unused COLL_RIGHT_WALL EQU $b0 COLL_LEFT_WALL EQU $b1 COLL_UP_WALL EQU $b2 -COLL_DOWN_WALL EQU $b3 ; unused !!! +COLL_DOWN_WALL EQU $b3 ; unused COLL_FF EQU $ff ; garbage ; collision data type nybbles diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm index ca468f477..21b379a3d 100644 --- a/constants/gfx_constants.asm +++ b/constants/gfx_constants.asm @@ -1,13 +1,12 @@ -LEN_1BPP_TILE EQU 8 ; bytes -LEN_2BPP_TILE EQU 16 ; bytes - TILE_WIDTH EQU 8 ; pixels +LEN_1BPP_TILE EQU 1 * TILE_WIDTH ; bytes +LEN_2BPP_TILE EQU 2 * TILE_WIDTH ; bytes NUM_PAL_COLORS EQU 4 -SCREEN_WIDTH EQU 20 ; tiles +SCREEN_WIDTH EQU 20 ; tiles SCREEN_HEIGHT EQU 18 ; tiles -SCREEN_WIDTH_PX EQU SCREEN_WIDTH * TILE_WIDTH ; pixels +SCREEN_WIDTH_PX EQU SCREEN_WIDTH * TILE_WIDTH ; pixels SCREEN_HEIGHT_PX EQU SCREEN_HEIGHT * TILE_WIDTH ; pixels BG_MAP_WIDTH EQU 32 ; tiles @@ -15,9 +14,18 @@ BG_MAP_HEIGHT EQU 32 ; tiles WMISC_WIDTH EQU 6 * 4 WMISC_HEIGHT EQU 5 * 4 -HP_BAR_LENGTH EQU 6 ; tiles -HP_BAR_LENGTH_PX EQU HP_BAR_LENGTH * TILE_WIDTH ; pixels +HP_BAR_LENGTH EQU 6 ; tiles EXP_BAR_LENGTH EQU 8 ; tiles +HP_BAR_LENGTH_PX EQU HP_BAR_LENGTH * TILE_WIDTH ; pixels EXP_BAR_LENGTH_PX EQU EXP_BAR_LENGTH * TILE_WIDTH ; pixels PALPACKET_LENGTH EQU $10 + +; sprite_oam_struct members (see macros/wram.asm) + const_def + const SPRITEOAMSTRUCT_YCOORD ; 0 + const SPRITEOAMSTRUCT_XCOORD ; 1 + const SPRITEOAMSTRUCT_TILE_ID ; 2 + const SPRITEOAMSTRUCT_ATTRIBUTES ; 3 +SPRITEOAMSTRUCT_LENGTH EQU const_value +NUM_SPRITE_OAM_STRUCTS EQU 40 ; see Sprites diff --git a/constants/hardware_constants.asm b/constants/hardware_constants.asm index c315d3cf5..d96672c3a 100644 --- a/constants/hardware_constants.asm +++ b/constants/hardware_constants.asm @@ -56,7 +56,7 @@ VRAM_BANK_1 EQU 1 << OAM_TILE_BANK ; $08 OBP_NUM EQU 1 << OAM_OBP_NUM ; $10 X_FLIP EQU 1 << OAM_X_FLIP ; $20 Y_FLIP EQU 1 << OAM_Y_FLIP ; $40 -BEHIND_BG EQU 1 << OAM_PRIORITY ; $80 +PRIORITY EQU 1 << OAM_PRIORITY ; $80 ; Other useful constants LCDC_DEFAULT EQU %11100011 diff --git a/constants/item_constants.asm b/constants/item_constants.asm index c1079e82d..0914e7ab6 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -5,271 +5,295 @@ ; - ItemAttributes (see data/items/attributes.asm) ; - ItemEffects (see engine/item_effects.asm) const_def - const NO_ITEM ; $00 - const MASTER_BALL ; $01 - const ULTRA_BALL ; $02 - const BRIGHTPOWDER ; $03 - const GREAT_BALL ; $04 - const POKE_BALL ; $05 - const TOWN_MAP ; $06 - const BICYCLE ; $07 - const MOON_STONE ; $08 - const ANTIDOTE ; $09 - const BURN_HEAL ; $0A - const ICE_HEAL ; $0B - const AWAKENING ; $0C - const PARLYZ_HEAL ; $0D - const FULL_RESTORE ; $0E - const MAX_POTION ; $0F - const HYPER_POTION ; $10 - const SUPER_POTION ; $11 - const POTION ; $12 - const ESCAPE_ROPE ; $13 - const REPEL ; $14 - const MAX_ELIXER ; $15 - const FIRE_STONE ; $16 - const THUNDERSTONE ; $17 - const WATER_STONE ; $18 - const ITEM_19 ; $19 - const HP_UP ; $1A - const PROTEIN ; $1B - const IRON ; $1C - const CARBOS ; $1D - const LUCKY_PUNCH ; $1E - const CALCIUM ; $1F - const RARE_CANDY ; $20 - const X_ACCURACY ; $21 - const LEAF_STONE ; $22 - const METAL_POWDER ; $23 - const NUGGET ; $24 - const POKE_DOLL ; $25 - const FULL_HEAL ; $26 - const REVIVE ; $27 - const MAX_REVIVE ; $28 - const GUARD_SPEC ; $29 - const SUPER_REPEL ; $2A - const MAX_REPEL ; $2B - const DIRE_HIT ; $2C - const ITEM_2D ; $2D - const FRESH_WATER ; $2E - const SODA_POP ; $2F - const LEMONADE ; $30 - const X_ATTACK ; $31 - const ITEM_32 ; $32 - const X_DEFEND ; $33 - const X_SPEED ; $34 - const X_SPECIAL ; $35 - const COIN_CASE ; $36 - const ITEMFINDER ; $37 - const POKE_FLUTE ; $38 - const EXP_SHARE ; $39 - const OLD_ROD ; $3A - const GOOD_ROD ; $3B - const SILVER_LEAF ; $3C - const SUPER_ROD ; $3D - const PP_UP ; $3E - const ETHER ; $3F - const MAX_ETHER ; $40 - const ELIXER ; $41 - const RED_SCALE ; $42 - const SECRETPOTION ; $43 - const S_S_TICKET ; $44 - const MYSTERY_EGG ; $45 - const CLEAR_BELL ; $46 - const SILVER_WING ; $47 - const MOOMOO_MILK ; $48 - const QUICK_CLAW ; $49 - const PSNCUREBERRY ; $4A - const GOLD_LEAF ; $4B - const SOFT_SAND ; $4C - const SHARP_BEAK ; $4D - const PRZCUREBERRY ; $4E - const BURNT_BERRY ; $4F - const ICE_BERRY ; $50 - const POISON_BARB ; $51 - const KINGS_ROCK ; $52 - const BITTER_BERRY ; $53 - const MINT_BERRY ; $54 - const RED_APRICORN ; $55 - const TINYMUSHROOM ; $56 - const BIG_MUSHROOM ; $57 - const SILVERPOWDER ; $58 - const BLU_APRICORN ; $59 - const ITEM_5A ; $5A - const AMULET_COIN ; $5B - const YLW_APRICORN ; $5C - const GRN_APRICORN ; $5D - const CLEANSE_TAG ; $5E - const MYSTIC_WATER ; $5F - const TWISTEDSPOON ; $60 - const WHT_APRICORN ; $61 - const BLACKBELT ; $62 - const BLK_APRICORN ; $63 - const ITEM_64 ; $64 - const PNK_APRICORN ; $65 - const BLACKGLASSES ; $66 - const SLOWPOKETAIL ; $67 - const PINK_BOW ; $68 - const STICK ; $69 - const SMOKE_BALL ; $6A - const NEVERMELTICE ; $6B - const MAGNET ; $6C - const MIRACLEBERRY ; $6D - const PEARL ; $6E - const BIG_PEARL ; $6F - const EVERSTONE ; $70 - const SPELL_TAG ; $71 - const RAGECANDYBAR ; $72 - const GS_BALL ; $73 - const BLUE_CARD ; $74 - const MIRACLE_SEED ; $75 - const THICK_CLUB ; $76 - const FOCUS_BAND ; $77 - const ITEM_78 ; $78 - const ENERGYPOWDER ; $79 - const ENERGY_ROOT ; $7A - const HEAL_POWDER ; $7B - const REVIVAL_HERB ; $7C - const HARD_STONE ; $7D - const LUCKY_EGG ; $7E - const CARD_KEY ; $7F - const MACHINE_PART ; $80 - const EGG_TICKET ; $81 - const LOST_ITEM ; $82 - const STARDUST ; $83 - const STAR_PIECE ; $84 - const BASEMENT_KEY ; $85 - const PASS ; $86 - const ITEM_87 ; $87 - const ITEM_88 ; $88 - const ITEM_89 ; $89 - const CHARCOAL ; $8A - const BERRY_JUICE ; $8B - const SCOPE_LENS ; $8C - const ITEM_8D ; $8D - const ITEM_8E ; $8E - const METAL_COAT ; $8F - const DRAGON_FANG ; $90 - const ITEM_91 ; $91 - const LEFTOVERS ; $92 - const ITEM_93 ; $93 - const ITEM_94 ; $94 - const ITEM_95 ; $95 - const MYSTERYBERRY ; $96 - const DRAGON_SCALE ; $97 - const BERSERK_GENE ; $98 - const ITEM_99 ; $99 - const ITEM_9A ; $9A - const ITEM_9B ; $9B - const SACRED_ASH ; $9C - const HEAVY_BALL ; $9D - const FLOWER_MAIL ; $9E - const LEVEL_BALL ; $9F - const LURE_BALL ; $A0 - const FAST_BALL ; $A1 - const ITEM_A2 ; $A2 - const LIGHT_BALL ; $A3 - const FRIEND_BALL ; $A4 - const MOON_BALL ; $A5 - const LOVE_BALL ; $A6 - const NORMAL_BOX ; $A7 - const GORGEOUS_BOX ; $A8 - const SUN_STONE ; $A9 - const POLKADOT_BOW ; $AA - const ITEM_AB ; $AB - const UP_GRADE ; $AC - const BERRY ; $AD - const GOLD_BERRY ; $AE - const SQUIRTBOTTLE ; $AF - const ITEM_B0 ; $B0 - const PARK_BALL ; $B1 - const RAINBOW_WING ; $B2 - const ITEM_B3 ; $B3 - const BRICK_PIECE ; $B4 - const SURF_MAIL ; $B5 - const LITEBLUEMAIL ; $B6 - const PORTRAITMAIL ; $B7 - const LOVELY_MAIL ; $B8 - const EON_MAIL ; $B9 - const MORPH_MAIL ; $BA - const BLUESKY_MAIL ; $BB - const MUSIC_MAIL ; $BC - const MIRAGE_MAIL ; $BD - const ITEM_BE ; $BE + const NO_ITEM ; 00 + const MASTER_BALL ; 01 + const ULTRA_BALL ; 02 + const BRIGHTPOWDER ; 03 + const GREAT_BALL ; 04 + const POKE_BALL ; 05 + const TOWN_MAP ; 06 + const BICYCLE ; 07 + const MOON_STONE ; 08 + const ANTIDOTE ; 09 + const BURN_HEAL ; 0a + const ICE_HEAL ; 0b + const AWAKENING ; 0c + const PARLYZ_HEAL ; 0d + const FULL_RESTORE ; 0e + const MAX_POTION ; 0f + const HYPER_POTION ; 10 + const SUPER_POTION ; 11 + const POTION ; 12 + const ESCAPE_ROPE ; 13 + const REPEL ; 14 + const MAX_ELIXER ; 15 + const FIRE_STONE ; 16 + const THUNDERSTONE ; 17 + const WATER_STONE ; 18 + const ITEM_19 ; 19 + const HP_UP ; 1a + const PROTEIN ; 1b + const IRON ; 1c + const CARBOS ; 1d + const LUCKY_PUNCH ; 1e + const CALCIUM ; 1f + const RARE_CANDY ; 20 + const X_ACCURACY ; 21 + const LEAF_STONE ; 22 + const METAL_POWDER ; 23 + const NUGGET ; 24 + const POKE_DOLL ; 25 + const FULL_HEAL ; 26 + const REVIVE ; 27 + const MAX_REVIVE ; 28 + const GUARD_SPEC ; 29 + const SUPER_REPEL ; 2a + const MAX_REPEL ; 2b + const DIRE_HIT ; 2c + const ITEM_2D ; 2d + const FRESH_WATER ; 2e + const SODA_POP ; 2f + const LEMONADE ; 30 + const X_ATTACK ; 31 + const ITEM_32 ; 32 + const X_DEFEND ; 33 + const X_SPEED ; 34 + const X_SPECIAL ; 35 + const COIN_CASE ; 36 + const ITEMFINDER ; 37 + const POKE_FLUTE ; 38 + const EXP_SHARE ; 39 + const OLD_ROD ; 3a + const GOOD_ROD ; 3b + const SILVER_LEAF ; 3c + const SUPER_ROD ; 3d + const PP_UP ; 3e + const ETHER ; 3f + const MAX_ETHER ; 40 + const ELIXER ; 41 + const RED_SCALE ; 42 + const SECRETPOTION ; 43 + const S_S_TICKET ; 44 + const MYSTERY_EGG ; 45 + const CLEAR_BELL ; 46 + const SILVER_WING ; 47 + const MOOMOO_MILK ; 48 + const QUICK_CLAW ; 49 + const PSNCUREBERRY ; 4a + const GOLD_LEAF ; 4b + const SOFT_SAND ; 4c + const SHARP_BEAK ; 4d + const PRZCUREBERRY ; 4e + const BURNT_BERRY ; 4f + const ICE_BERRY ; 50 + const POISON_BARB ; 51 + const KINGS_ROCK ; 52 + const BITTER_BERRY ; 53 + const MINT_BERRY ; 54 + const RED_APRICORN ; 55 + const TINYMUSHROOM ; 56 + const BIG_MUSHROOM ; 57 + const SILVERPOWDER ; 58 + const BLU_APRICORN ; 59 + const ITEM_5A ; 5a + const AMULET_COIN ; 5b + const YLW_APRICORN ; 5c + const GRN_APRICORN ; 5d + const CLEANSE_TAG ; 5e + const MYSTIC_WATER ; 5f + const TWISTEDSPOON ; 60 + const WHT_APRICORN ; 61 + const BLACKBELT ; 62 + const BLK_APRICORN ; 63 + const ITEM_64 ; 64 + const PNK_APRICORN ; 65 + const BLACKGLASSES ; 66 + const SLOWPOKETAIL ; 67 + const PINK_BOW ; 68 + const STICK ; 69 + const SMOKE_BALL ; 6a + const NEVERMELTICE ; 6b + const MAGNET ; 6c + const MIRACLEBERRY ; 6d + const PEARL ; 6e + const BIG_PEARL ; 6f + const EVERSTONE ; 70 + const SPELL_TAG ; 71 + const RAGECANDYBAR ; 72 + const GS_BALL ; 73 + const BLUE_CARD ; 74 + const MIRACLE_SEED ; 75 + const THICK_CLUB ; 76 + const FOCUS_BAND ; 77 + const ITEM_78 ; 78 + const ENERGYPOWDER ; 79 + const ENERGY_ROOT ; 7a + const HEAL_POWDER ; 7b + const REVIVAL_HERB ; 7c + const HARD_STONE ; 7d + const LUCKY_EGG ; 7e + const CARD_KEY ; 7f + const MACHINE_PART ; 80 + const EGG_TICKET ; 81 + const LOST_ITEM ; 82 + const STARDUST ; 83 + const STAR_PIECE ; 84 + const BASEMENT_KEY ; 85 + const PASS ; 86 + const ITEM_87 ; 87 + const ITEM_88 ; 88 + const ITEM_89 ; 89 + const CHARCOAL ; 8a + const BERRY_JUICE ; 8b + const SCOPE_LENS ; 8c + const ITEM_8D ; 8d + const ITEM_8E ; 8e + const METAL_COAT ; 8f + const DRAGON_FANG ; 90 + const ITEM_91 ; 91 + const LEFTOVERS ; 92 + const ITEM_93 ; 93 + const ITEM_94 ; 94 + const ITEM_95 ; 95 + const MYSTERYBERRY ; 96 + const DRAGON_SCALE ; 97 + const BERSERK_GENE ; 98 + const ITEM_99 ; 99 + const ITEM_9A ; 9a + const ITEM_9B ; 9b + const SACRED_ASH ; 9c + const HEAVY_BALL ; 9d + const FLOWER_MAIL ; 9e + const LEVEL_BALL ; 9f + const LURE_BALL ; a0 + const FAST_BALL ; a1 + const ITEM_A2 ; a2 + const LIGHT_BALL ; a3 + const FRIEND_BALL ; a4 + const MOON_BALL ; a5 + const LOVE_BALL ; a6 + const NORMAL_BOX ; a7 + const GORGEOUS_BOX ; a8 + const SUN_STONE ; a9 + const POLKADOT_BOW ; aa + const ITEM_AB ; ab + const UP_GRADE ; ac + const BERRY ; ad + const GOLD_BERRY ; ae + const SQUIRTBOTTLE ; af + const ITEM_B0 ; b0 + const PARK_BALL ; b1 + const RAINBOW_WING ; b2 + const ITEM_B3 ; b3 + const BRICK_PIECE ; b4 + const SURF_MAIL ; b5 + const LITEBLUEMAIL ; b6 + const PORTRAITMAIL ; b7 + const LOVELY_MAIL ; b8 + const EON_MAIL ; b9 + const MORPH_MAIL ; ba + const BLUESKY_MAIL ; bb + const MUSIC_MAIL ; bc + const MIRAGE_MAIL ; bd + const ITEM_BE ; be + +add_tm: MACRO +if !DEF(TM01) +TM01 = const_value + enum_start 1 +endc + define _\@_1, "TM_\1" + const _\@_1 + enum \1_TMNUM +ENDM + +add_hm: MACRO +if !DEF(HM01) +HM01 = const_value +endc + define _\@_1, "HM_\1" + const _\@_1 + enum \1_TMNUM +ENDM + +add_mt: MACRO + enum \1_TMNUM +ENDM ; see data/moves/tmhm_moves.asm for moves - add_tm DYNAMICPUNCH ; $BF - add_tm HEADBUTT ; $C0 - add_tm CURSE ; $C1 - add_tm ROLLOUT ; $C2 - const ITEM_C3 ; $C3 - add_tm ROAR ; $C4 - add_tm TOXIC ; $C5 - add_tm ZAP_CANNON ; $C6 - add_tm ROCK_SMASH ; $C7 - add_tm PSYCH_UP ; $C8 - add_tm HIDDEN_POWER ; $C9 - add_tm SUNNY_DAY ; $CA - add_tm SWEET_SCENT ; $CB - add_tm SNORE ; $CC - add_tm BLIZZARD ; $CD - add_tm HYPER_BEAM ; $CE - add_tm ICY_WIND ; $CF - add_tm PROTECT ; $D0 - add_tm RAIN_DANCE ; $D1 - add_tm GIGA_DRAIN ; $D2 - add_tm ENDURE ; $D3 - add_tm FRUSTRATION ; $D4 - add_tm SOLARBEAM ; $D5 - add_tm IRON_TAIL ; $D6 - add_tm DRAGONBREATH ; $D7 - add_tm THUNDER ; $D8 - add_tm EARTHQUAKE ; $D9 - add_tm RETURN ; $DA - add_tm DIG ; $DB - const ITEM_DC ; $DC - add_tm PSYCHIC_M ; $DD - add_tm SHADOW_BALL ; $DE - add_tm MUD_SLAP ; $DF - add_tm DOUBLE_TEAM ; $E0 - add_tm ICE_PUNCH ; $E1 - add_tm SWAGGER ; $E2 - add_tm SLEEP_TALK ; $E3 - add_tm SLUDGE_BOMB ; $E4 - add_tm SANDSTORM ; $E5 - add_tm FIRE_BLAST ; $E6 - add_tm SWIFT ; $E7 - add_tm DEFENSE_CURL ; $E8 - add_tm THUNDERPUNCH ; $E9 - add_tm DREAM_EATER ; $EA - add_tm DETECT ; $EB - add_tm REST ; $EC - add_tm ATTRACT ; $ED - add_tm THIEF ; $EE - add_tm STEEL_WING ; $EF - add_tm FIRE_PUNCH ; $F0 - add_tm FURY_CUTTER ; $F1 - add_tm NIGHTMARE ; $F2 + add_tm DYNAMICPUNCH ; bf + add_tm HEADBUTT ; c0 + add_tm CURSE ; c1 + add_tm ROLLOUT ; c2 + const ITEM_C3 ; c3 + add_tm ROAR ; c4 + add_tm TOXIC ; c5 + add_tm ZAP_CANNON ; c6 + add_tm ROCK_SMASH ; c7 + add_tm PSYCH_UP ; c8 + add_tm HIDDEN_POWER ; c9 + add_tm SUNNY_DAY ; ca + add_tm SWEET_SCENT ; cb + add_tm SNORE ; cc + add_tm BLIZZARD ; cd + add_tm HYPER_BEAM ; ce + add_tm ICY_WIND ; cf + add_tm PROTECT ; d0 + add_tm RAIN_DANCE ; d1 + add_tm GIGA_DRAIN ; d2 + add_tm ENDURE ; d3 + add_tm FRUSTRATION ; d4 + add_tm SOLARBEAM ; d5 + add_tm IRON_TAIL ; d6 + add_tm DRAGONBREATH ; d7 + add_tm THUNDER ; d8 + add_tm EARTHQUAKE ; d9 + add_tm RETURN ; da + add_tm DIG ; db + const ITEM_DC ; dc + add_tm PSYCHIC_M ; dd + add_tm SHADOW_BALL ; de + add_tm MUD_SLAP ; df + add_tm DOUBLE_TEAM ; e0 + add_tm ICE_PUNCH ; e1 + add_tm SWAGGER ; e2 + add_tm SLEEP_TALK ; e3 + add_tm SLUDGE_BOMB ; e4 + add_tm SANDSTORM ; e5 + add_tm FIRE_BLAST ; e6 + add_tm SWIFT ; e7 + add_tm DEFENSE_CURL ; e8 + add_tm THUNDERPUNCH ; e9 + add_tm DREAM_EATER ; ea + add_tm DETECT ; eb + add_tm REST ; ec + add_tm ATTRACT ; ed + add_tm THIEF ; ee + add_tm STEEL_WING ; ef + add_tm FIRE_PUNCH ; f0 + add_tm FURY_CUTTER ; f1 + add_tm NIGHTMARE ; f2 NUM_TMS = const_value - TM01 - 2 ; discount ITEM_C3 and ITEM_DC - add_hm CUT ; $F3 - add_hm FLY ; $F4 - add_hm SURF ; $F5 - add_hm STRENGTH ; $F6 - add_hm FLASH ; $F7 - add_hm WHIRLPOOL ; $F8 - add_hm WATERFALL ; $F9 + add_hm CUT ; f3 + add_hm FLY ; f4 + add_hm SURF ; f5 + add_hm STRENGTH ; f6 + add_hm FLASH ; f7 + add_hm WHIRLPOOL ; f8 + add_hm WATERFALL ; f9 NUM_HMS = const_value - HM01 - const ITEM_FA ; $FA + const ITEM_FA ; fa add_mt FLAMETHROWER add_mt THUNDERBOLT add_mt ICE_BEAM NUM_TM_HM_TUTOR = __enum__ +- 1 -ITEM_FROM_MEM EQU $FF +USE_SCRIPT_VAR EQU $00 +ITEM_FROM_MEM EQU $ff ; leftovers from red SAFARI_BALL EQU $08 ; MOON_STONE -MOON_STONE_RED EQU $0A ; BURN_HEAL +MOON_STONE_RED EQU $0a ; BURN_HEAL FULL_HEAL_RED EQU $34 ; X_SPEED diff --git a/constants/item_data_constants.asm b/constants/item_data_constants.asm index dfcff9eb0..b3a35d72b 100644 --- a/constants/item_data_constants.asm +++ b/constants/item_data_constants.asm @@ -9,21 +9,15 @@ const ITEMATTR_HELP ITEMATTR_STRUCT_LENGTH EQU const_value - -; pack pockets -ITEM EQU 1 -KEY_ITEM EQU 2 -BALL EQU 3 -TM_HM EQU 4 - -; pack pocket sizes -MAX_ITEMS EQU 20 -MAX_KEY_ITEMS EQU 25 -MAX_BALLS EQU 12 -MAX_PC_ITEMS EQU 50 - +; item types +const_value set 1 + const ITEM ; 1 + const KEY_ITEM ; 2 + const BALL ; 3 + const TM_HM ; 4 ; item menu types +; UseItem.dw indexes (see engine/pack.asm) ITEMMENU_NOUSE EQU 0 ITEMMENU_CURRENT EQU 4 ITEMMENU_PARTY EQU 5 @@ -34,7 +28,22 @@ CANT_SELECT EQU 1 << 6 CANT_TOSS EQU 1 << 7 +; pack pockets + const_def + const ITEM_POCKET ; 0 + const BALL_POCKET ; 1 + const KEY_ITEM_POCKET ; 2 + const TM_HM_POCKET ; 3 +NUM_POCKETS EQU const_value +- 1 + +MAX_ITEMS EQU 20 +MAX_BALLS EQU 12 +MAX_KEY_ITEMS EQU 25 +MAX_PC_ITEMS EQU 50 + + ; mail +MAIL_LINE_LENGTH EQU $10 MAIL_MSG_LENGTH EQU $20 MAILBOX_CAPACITY EQU 10 MAIL_STRUCT_LENGTH EQU $2f ; mailmsg struct @@ -163,8 +172,7 @@ const_value set 70 const MART_UNDERGROUND -; PartyMenuActionText values -; GetPartyMenuTilemapPointers arguments (see engine/party_menu.asm) +; PartyMenuQualityPointers indexes (see data/party_menu_qualities.asm) const_def const PARTYMENUACTION_CHOOSE_POKEMON const PARTYMENUACTION_HEALING_ITEM diff --git a/constants/landmark_constants.asm b/constants/landmark_constants.asm index 4a15928f0..5f74b3386 100644 --- a/constants/landmark_constants.asm +++ b/constants/landmark_constants.asm @@ -100,3 +100,14 @@ KANTO_LANDMARK EQU const_value const TOHJO_FALLS ; 5d const ROUTE_28 ; 5e const FAST_SHIP ; 5f + +; used in CaughtData +GIFT_LOCATION EQU $7e +EVENT_LOCATION EQU $7f + + +; Regions + const_def + const JOHTO_REGION ; 0 + const KANTO_REGION ; 1 +NUM_REGIONS EQU const_value diff --git a/constants/map_constants.asm b/constants/map_constants.asm index e7580dfb9..d2319dcec 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -18,6 +18,7 @@ ENDM ; - MapGroupPointers (see maps/map_headers.asm) ; - MapGroupRoofs (see data/maps/roofs.asm) ; - OutdoorSprites (see data/maps/outdoor_sprites.asm) +; - RoofPals (see gfx/tilesets/roofs.pal) ; `mapgroup` indexes are for the sub-tables of MapGroupPointers (see maps/map_headers.asm) const_def @@ -351,7 +352,7 @@ ENDM mapgroup LAVENDER_POKECENTER_1F, 4, 5 ; 5 mapgroup LAVENDER_POKECENTER_2F_BETA, 4, 8 ; 6 mapgroup MR_FUJIS_HOUSE, 4, 5 ; 7 - mapgroup LAVENDER_TOWN_SPEECH_HOUSE, 4, 4 ; 8 + mapgroup LAVENDER_SPEECH_HOUSE, 4, 4 ; 8 mapgroup LAVENDER_NAME_RATER, 4, 4 ; 9 mapgroup LAVENDER_MART, 4, 6 ; 10 mapgroup SOUL_HOUSE, 4, 5 ; 11 @@ -402,7 +403,7 @@ ENDM mapgroup ROUTE_16_FUCHSIA_SPEECH_HOUSE, 4, 4 ; 23 mapgroup ROUTE_16_GATE, 4, 5 ; 24 mapgroup ROUTE_7_SAFFRON_GATE, 4, 5 ; 25 - mapgroup ROUTE_17_18_GATE, 4, 5 ; 26 + mapgroup ROUTE_17_ROUTE_18_GATE, 4, 5 ; 26 newgroup ; 22 @@ -413,7 +414,7 @@ ENDM mapgroup CIANWOOD_GYM, 9, 5 ; 5 mapgroup CIANWOOD_POKECENTER_1F, 4, 5 ; 6 mapgroup CIANWOOD_PHARMACY, 4, 4 ; 7 - mapgroup CIANWOOD_CITY_PHOTO_STUDIO, 4, 4 ; 8 + mapgroup CIANWOOD_PHOTO_STUDIO, 4, 4 ; 8 mapgroup CIANWOOD_LUGIA_SPEECH_HOUSE, 4, 4 ; 9 mapgroup POKE_SEERS_HOUSE, 4, 4 ; 10 mapgroup BATTLE_TOWER_1F, 5, 8 ; 11 @@ -453,7 +454,7 @@ ENDM mapgroup ROUTE_26_HEAL_SPEECH_HOUSE, 4, 4 ; 10 mapgroup ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE, 4, 4 ; 11 mapgroup ROUTE_27_SANDSTORM_HOUSE, 4, 4 ; 12 - mapgroup ROUTE_29_46_GATE, 4, 5 ; 13 + mapgroup ROUTE_29_ROUTE_46_GATE, 4, 5 ; 13 newgroup ; 25 @@ -465,12 +466,12 @@ ENDM mapgroup SAFFRON_POKECENTER_1F, 4, 5 ; 6 mapgroup SAFFRON_POKECENTER_2F_BETA, 4, 8 ; 7 mapgroup MR_PSYCHICS_HOUSE, 4, 4 ; 8 - mapgroup SAFFRON_TRAIN_STATION, 9, 10 ; 9 + mapgroup SAFFRON_MAGNET_TRAIN_STATION, 9, 10 ; 9 mapgroup SILPH_CO_1F, 4, 8 ; 10 mapgroup COPYCATS_HOUSE_1F, 4, 4 ; 11 mapgroup COPYCATS_HOUSE_2F, 3, 5 ; 12 mapgroup ROUTE_5_UNDERGROUND_PATH_ENTRANCE, 4, 4 ; 13 - mapgroup ROUTE_5_SAFFRON_CITY_GATE, 4, 5 ; 14 + mapgroup ROUTE_5_SAFFRON_GATE, 4, 5 ; 14 mapgroup ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE, 4, 4 ; 15 newgroup ; 26 diff --git a/constants/map_data_constants.asm b/constants/map_data_constants.asm index 5a1ec6ede..223220db9 100644 --- a/constants/map_data_constants.asm +++ b/constants/map_data_constants.asm @@ -102,7 +102,9 @@ const_value set 1 const OBJECT_1E ; 1e const OBJECT_1F ; 1f const OBJECT_RANGE ; 20 -; 33-39 are not used + ; 21-27 are not used +OBJECT_STRUCT_LENGTH EQU 40 +NUM_OBJECT_STRUCTS EQU 13 ; see ObjectStructs ; map_object struct members (see macros/wram.asm) const_def @@ -140,6 +142,11 @@ SLIDING EQU 3 EMOTE_OBJECT EQU 7 +; see engine/overworld.asm +MAX_OUTDOOR_SPRITES EQU 23 +SPRITE_GFX_LIST_CAPACITY EQU $20 + + ; SpawnPoints indexes (see data/maps/spawn_points.asm) const_value = -1 const SPAWN_N_A @@ -174,115 +181,3 @@ const_value = -1 const SPAWN_MT_SILVER const SPAWN_FAST_SHIP NUM_SPAWNS EQU const_value - - -; TryBGEvent arguments (see engine/events.asm) - const_def - const BGEVENT_READ - const BGEVENT_UP - const BGEVENT_DOWN - const BGEVENT_RIGHT - const BGEVENT_LEFT - const BGEVENT_IFSET - const BGEVENT_IFNOTSET - const BGEVENT_ITEM - const BGEVENT_COPY - -; object_event types -; TryObjectEvent arguments (see engine/events.asm) - const_def - const OBJECTTYPE_SCRIPT - const OBJECTTYPE_ITEMBALL - const OBJECTTYPE_TRAINER - const OBJECTTYPE_3 - const OBJECTTYPE_4 - const OBJECTTYPE_5 - const OBJECTTYPE_6 - - -; Emotes indexes (see data/emotes.asm) - const_def - const EMOTE_SHOCK ; 0 - const EMOTE_QUESTION ; 1 - const EMOTE_HAPPY ; 2 - const EMOTE_SAD ; 3 - const EMOTE_HEART ; 4 - const EMOTE_BOLT ; 5 - const EMOTE_SLEEP ; 6 - const EMOTE_FISH ; 7 - const EMOTE_SHADOW ; 8 - const EMOTE_ROD ; 9 - const EMOTE_BOULDER_DUST ; 10 - const EMOTE_GRASS_RUSTLE ; 11 -EMOTE_MEM EQU -1 - -; FruitTreeItems indexes (see data/items/fruit_trees.asm) -const_value set 1 - const FRUITTREE_ROUTE_29 ; 01 - const FRUITTREE_ROUTE_30_1 ; 02 - const FRUITTREE_ROUTE_38 ; 03 - const FRUITTREE_ROUTE_46_1 ; 04 - const FRUITTREE_ROUTE_30_2 ; 05 - const FRUITTREE_ROUTE_33 ; 06 - const FRUITTREE_ROUTE_31 ; 07 - const FRUITTREE_ROUTE_43 ; 08 - const FRUITTREE_VIOLET_CITY ; 09 - const FRUITTREE_ROUTE_46_2 ; 0a - const FRUITTREE_ROUTE_35 ; 0b - const FRUITTREE_ROUTE_45 ; 0c - const FRUITTREE_ROUTE_36 ; 0d - const FRUITTREE_ROUTE_26 ; 0e - const FRUITTREE_ROUTE_39 ; 0f - const FRUITTREE_ROUTE_44 ; 10 - const FRUITTREE_ROUTE_37_1 ; 11 - const FRUITTREE_ROUTE_37_2 ; 12 - const FRUITTREE_ROUTE_37_3 ; 13 - const FRUITTREE_AZALEA_TOWN ; 14 - const FRUITTREE_ROUTE_42_1 ; 15 - const FRUITTREE_ROUTE_42_2 ; 16 - const FRUITTREE_ROUTE_42_3 ; 17 - const FRUITTREE_ROUTE_11 ; 18 - const FRUITTREE_ROUTE_2 ; 19 - const FRUITTREE_ROUTE_1 ; 1a - const FRUITTREE_ROUTE_8 ; 1b - const FRUITTREE_PEWTER_CITY_1 ; 1c - const FRUITTREE_PEWTER_CITY_2 ; 1d - const FRUITTREE_FUCHSIA_CITY ; 1e -NUM_FRUIT_TREES EQU const_value +- 1 - - -; elevator floors -; used by `elevfloor` - const_def - const FLOOR_B4F - const FLOOR_B3F - const FLOOR_B2F - const FLOOR_B1F - const FLOOR_1F - const FLOOR_2F - const FLOOR_3F - const FLOOR_4F - const FLOOR_5F - const FLOOR_6F - const FLOOR_7F - const FLOOR_8F - const FLOOR_9F - const FLOOR_10F - const FLOOR_11F - const FLOOR_ROOF - -; command queue members -CMDQUEUE_TYPE EQU 0 -CMDQUEUE_ADDR EQU 1 -CMDQUEUE_03 EQU 3 -CMDQUEUE_04 EQU 4 -CMDQUEUE_05 EQU 5 -CMDQUEUE_ENTRY_SIZE EQU 6 -CMDQUEUE_CAPACITY EQU 4 - -; command queue types -CMDQUEUE_STONETABLE EQU 2 - -; see engine/overworld.asm -MAX_OUTDOOR_SPRITES EQU 23 -SPRITE_GFX_LIST_CAPACITY EQU $20 diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index 6289b610c..14c6b313f 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -16,6 +16,9 @@ HP_GREEN EQU 0 HP_YELLOW EQU 1 HP_RED EQU 2 +; G/S version ID: 0 = Gold, 1 = Silver (used by checkver) +GS_VERSION EQU 0 + ; save file corruption check values SAVE_CHECK_VALUE_1 EQU 99 SAVE_CHECK_VALUE_2 EQU 127 @@ -83,3 +86,10 @@ const_value = 1 ; day-care MAX_DAY_CARE_EXP EQU $500000 + +; bug-catching contest +BUG_CONTEST_MINUTES EQU 20 +BUG_CONTEST_SECONDS EQU 0 +BUG_CONTEST_PLAYER EQU 1 +NUM_BUG_CONTESTANTS EQU 10 ; not counting the player +BUG_CONTESTANT_SIZE EQU 4 diff --git a/constants/music_constants.asm b/constants/music_constants.asm index 453bf9098..e0d3dcaa3 100644 --- a/constants/music_constants.asm +++ b/constants/music_constants.asm @@ -111,6 +111,10 @@ ; GetMapHeaderMusic picks music for this value (see home/map.asm) MUSIC_MAHOGANY_MART EQU $64 +; ExitPokegearRadio_HandleMusic uses these values +RESTART_MAP_MUSIC EQU $fe +ENTER_MAP_MUSIC EQU $ff + ; GetMapHeaderMusic picks music for this bit flag RADIO_TOWER_MUSIC_F EQU 7 RADIO_TOWER_MUSIC EQU 1 << RADIO_TOWER_MUSIC_F diff --git a/constants/npctrade_constants.asm b/constants/npctrade_constants.asm index 2da4abd64..5464e4dbb 100644 --- a/constants/npctrade_constants.asm +++ b/constants/npctrade_constants.asm @@ -19,3 +19,25 @@ TRADE_PADDING EQU 31 const NPCTRADE_CHRIS ; 4 const NPCTRADE_KIM ; 5 const NPCTRADE_FOREST ; 6 + +; trade gender limits +TRADE_EITHER_GENDER EQU 0 +TRADE_MALE_ONLY EQU 1 +TRADE_FEMALE_ONLY EQU 2 + +; TradeTexts indexes (see engine/npctrade.asm) + +; trade dialogs + const_def + const TRADE_INTRO + const TRADE_CANCEL + const TRADE_WRONG + const TRADE_COMPLETE + const TRADE_AFTER + +; trade dialog sets + const_def + const TRADE_DIALOG_COLLECTOR + const TRADE_DIALOG_HAPPY + const TRADE_DIALOG_NEWBIE + const TRADE_DIALOG_GIRL diff --git a/constants/phone_constants.asm b/constants/phone_constants.asm index b2312ab4b..058772f2d 100644 --- a/constants/phone_constants.asm +++ b/constants/phone_constants.asm @@ -1,4 +1,4 @@ -; PhoneContacts indexes (see data/phone_contacts.asm) +; PhoneContacts indexes (see data/phone/phone_contacts.asm) const_def const PHONE_00 const PHONE_MOM @@ -39,7 +39,7 @@ const PHONE_PICNICKER_ERIN const PHONE_BUENA -; SpecialPhoneCallList indexes (see data/phone_special.asm) +; SpecialPhoneCallList indexes (see data/phone/special_calls.asm) const_def const SPECIALCALL_NONE const SPECIALCALL_POKERUS diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index d52086b08..d4c49c5f5 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -10,14 +10,14 @@ ; - PokemonPalettes (see data/pokemon/palettes.asm) ; - PokedexDataPointerTable (see data/pokemon/dex_entry_pointers.asm) ; - AlphabeticalPokedexOrder (see data/pokemon/dex_order_alpha.asm) +; - EZChat_SortedPokemon (see data/pokemon/ezchat_order.asm) ; - NewPokedexOrder (see data/pokemon/dex_order_new.asm) -; - Pokered_MonIndices (see data/time_capsule/mon_order.asm) +; - Pokered_MonIndices (see data/pokemon/rby_order.asm) ; - AnimationPointers (see gfx/pokemon/anim_pointers.asm) ; - AnimationIdlePointers (see gfx/pokemon/idle_pointers.asm) ; - BitmasksPointers (see gfx/pokemon/bitmask_pointers.asm) ; - FramesPointers (see gfx/pokemon/frame_pointers.asm) ; - Footprints (see gfx/footprints.asm) -; - SortedPokemon (see mobile/fixed_words.asm) const_value set 1 const BULBASAUR ; 01 const IVYSAUR ; 02 @@ -170,6 +170,7 @@ const_value set 1 const DRAGONITE ; 95 const MEWTWO ; 96 const MEW ; 97 +JOHTO_POKEMON EQU const_value const CHIKORITA ; 98 const BAYLEEF ; 99 const MEGANIUM ; 9a diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index 6e8c2d322..65dd35fd0 100644 --- a/constants/pokemon_data_constants.asm +++ b/constants/pokemon_data_constants.asm @@ -63,6 +63,10 @@ const_value set 1 const NO_EGGS ; f +; pokedex entries (see data/pokemon/dex_entries.asm) +NUM_DEX_ENTRY_BANKS EQU 4 + + ; party_struct members (see macros/wram.asm) MON_SPECIES EQUS "(PartyMon1Species - PartyMon1)" MON_ITEM EQUS "(PartyMon1Item - PartyMon1)" @@ -98,6 +102,21 @@ PARTYMON_STRUCT_LENGTH EQUS "(PartyMon1StatsEnd - PartyMon1)" REDMON_STRUCT_LENGTH EQU 44 +; caught data + +CAUGHT_TIME_MASK EQU %11000000 +CAUGHT_LEVEL_MASK EQU %00111111 + +CAUGHT_GENDER_MASK EQU %10000000 +CAUGHT_LOCATION_MASK EQU %01111111 + +CAUGHT_BY_UNKNOWN EQU 0 +CAUGHT_BY_GIRL EQU 1 +CAUGHT_BY_BOY EQU 2 + +CAUGHT_EGG_LEVEL EQU 1 + + ; maximum number of party pokemon PARTY_LENGTH EQU 6 @@ -123,32 +142,6 @@ const_value set 1 const ATK_EQ_DEF -; significant happiness values -BASE_HAPPINESS EQU 70 -FRIEND_BALL_HAPPINESS EQU 200 -HAPPINESS_TO_EVOLVE EQU 220 -HAPPINESS_THRESHOLD_1 EQU 100 -HAPPINESS_THRESHOLD_2 EQU 200 - - -; wild data - -NUM_GRASSMON EQU 7 ; data/wild/*_grass.asm table size -NUM_WATERMON EQU 3 ; data/wild/*_water.asm table size - -GRASS_WILDDATA_LENGTH EQU (NUM_GRASSMON * 2 + 1) * 3 + 2 -WATER_WILDDATA_LENGTH EQU (NUM_WATERMON * 2 + 1) * 1 + 2 - - -; swarms - -SWARM_DUNSPARCE EQU 0 -SWARM_YANMA EQU 1 - -FISHSWARM_QWILFISH EQU 1 -FISHSWARM_REMORAID EQU 2 - - ; PokeAnims indexes (see engine/pic_animation.asm) const_def const ANIM_MON_SLOW @@ -161,6 +154,7 @@ FISHSWARM_REMORAID EQU 2 const ANIM_MON_EGG1 const ANIM_MON_EGG2 + ; MonMenuOptions indexes (see engine/mon_menu.asm) const_value set 1 ; moves @@ -192,3 +186,55 @@ MONMENU_FIELD_MOVE EQU 0 MONMENU_MENUOPTION EQU 1 NUM_MONMENU_ITEMS EQU 8 + + +; treemon sets +; TreeMons indexes (see data/wild/treemons.asm) + const_def + const TREEMON_SET_CITY + const TREEMON_SET_CANYON + const TREEMON_SET_AZALEA + const TREEMON_SET_ROUTE + const TREEMON_SET_KANTO + const TREEMON_SET_LAKE + const TREEMON_SET_FOREST + const TREEMON_SET_ROCK +NUM_TREEMON_SETS EQU const_value + +; treemon scores + const_def + const TREEMON_SCORE_BAD ; 0 + const TREEMON_SCORE_GOOD ; 1 + const TREEMON_SCORE_RARE ; 2 + + +; wild data + +NUM_GRASSMON EQU 7 ; data/wild/*_grass.asm table size +NUM_WATERMON EQU 3 ; data/wild/*_water.asm table size + +GRASS_WILDDATA_LENGTH EQU (NUM_GRASSMON * 2 + 1) * 3 + 2 +WATER_WILDDATA_LENGTH EQU (NUM_WATERMON * 2 + 1) * 1 + 2 + + +; swarms + +SWARM_DUNSPARCE EQU 0 +SWARM_YANMA EQU 1 + +FISHSWARM_QWILFISH EQU 1 +FISHSWARM_REMORAID EQU 2 + + +; significant happiness values +BASE_HAPPINESS EQU 70 +FRIEND_BALL_HAPPINESS EQU 200 +HAPPINESS_TO_EVOLVE EQU 220 +HAPPINESS_THRESHOLD_1 EQU 100 +HAPPINESS_THRESHOLD_2 EQU 200 + + +; PP +PP_UP_MASK EQU %11000000 +PP_UP_ONE EQU %01000000 +PP_MASK EQU %00111111 diff --git a/constants/radio_constants.asm b/constants/radio_constants.asm index 86817081e..03d4ede5a 100644 --- a/constants/radio_constants.asm +++ b/constants/radio_constants.asm @@ -1,93 +1,98 @@ -; PlayRadioShow arguments, RadioJumptable indexes (see engine/radio.asm) +; radio channel ids +; indexes for: +; - RadioChannelSongs (see data/radio/channel_music.asm) +; - PlayRadioShow/RadioJumptable (see engine/radio.asm) +; - RadioChannels (see engine/radio.asm) const_def - const OAKS_POKEMON_TALK ; $00 - const POKEDEX_SHOW ; $01 - const POKEMON_MUSIC ; $02 - const LUCKY_CHANNEL ; $03 - const BUENAS_PASSWORD ; $04 - const PLACES_AND_PEOPLE ; $05 - const LETS_ALL_SING ; $06 - const ROCKET_RADIO ; $07 - const POKE_FLUTE_RADIO ; $08 - const UNOWN_RADIO ; $09 - const EVOLUTION_RADIO ; $0a - const OAKS_POKEMON_TALK_2 ; $0b - const OAKS_POKEMON_TALK_3 ; $0c - const OAKS_POKEMON_TALK_4 ; $0d - const OAKS_POKEMON_TALK_5 ; $0e - const OAKS_POKEMON_TALK_6 ; $0f - const OAKS_POKEMON_TALK_7 ; $10 - const OAKS_POKEMON_TALK_8 ; $11 - const OAKS_POKEMON_TALK_9 ; $12 - const POKEDEX_SHOW_2 ; $13 - const POKEDEX_SHOW_3 ; $14 - const POKEDEX_SHOW_4 ; $15 - const POKEDEX_SHOW_5 ; $16 - const POKEMON_MUSIC_2 ; $17 - const POKEMON_MUSIC_3 ; $18 - const POKEMON_MUSIC_4 ; $19 - const POKEMON_MUSIC_5 ; $1a - const POKEMON_MUSIC_6 ; $1b - const POKEMON_MUSIC_7 ; $1c - const LETS_ALL_SING_2 ; $1d - const LUCKY_NUMBER_SHOW_2 ; $1e - const LUCKY_NUMBER_SHOW_3 ; $1f - const LUCKY_NUMBER_SHOW_4 ; $20 - const LUCKY_NUMBER_SHOW_5 ; $21 - const LUCKY_NUMBER_SHOW_6 ; $22 - const LUCKY_NUMBER_SHOW_7 ; $23 - const LUCKY_NUMBER_SHOW_8 ; $24 - const LUCKY_NUMBER_SHOW_9 ; $25 - const LUCKY_NUMBER_SHOW_10 ; $26 - const LUCKY_NUMBER_SHOW_11 ; $27 - const LUCKY_NUMBER_SHOW_12 ; $28 - const LUCKY_NUMBER_SHOW_13 ; $29 - const LUCKY_NUMBER_SHOW_14 ; $2a - const LUCKY_NUMBER_SHOW_15 ; $2b - const PLACES_AND_PEOPLE_2 ; $2c - const PLACES_AND_PEOPLE_3 ; $2d - const PLACES_AND_PEOPLE_4 ; $2e - const PLACES_AND_PEOPLE_5 ; $2f - const PLACES_AND_PEOPLE_6 ; $30 - const PLACES_AND_PEOPLE_7 ; $31 - const ROCKET_RADIO_2 ; $32 - const ROCKET_RADIO_3 ; $33 - const ROCKET_RADIO_4 ; $34 - const ROCKET_RADIO_5 ; $35 - const ROCKET_RADIO_6 ; $36 - const ROCKET_RADIO_7 ; $37 - const ROCKET_RADIO_8 ; $38 - const ROCKET_RADIO_9 ; $39 - const ROCKET_RADIO_10 ; $3a - const OAKS_POKEMON_TALK_10 ; $3b - const OAKS_POKEMON_TALK_11 ; $3c - const OAKS_POKEMON_TALK_12 ; $3d - const OAKS_POKEMON_TALK_13 ; $3e - const OAKS_POKEMON_TALK_14 ; $3f - const BUENAS_PASSWORD_2 ; $40 - const BUENAS_PASSWORD_3 ; $41 - const BUENAS_PASSWORD_4 ; $42 - const BUENAS_PASSWORD_5 ; $43 - const BUENAS_PASSWORD_6 ; $44 - const BUENAS_PASSWORD_7 ; $45 - const BUENAS_PASSWORD_8 ; $46 - const BUENAS_PASSWORD_9 ; $47 - const BUENAS_PASSWORD_10 ; $48 - const BUENAS_PASSWORD_11 ; $49 - const BUENAS_PASSWORD_12 ; $4a - const BUENAS_PASSWORD_13 ; $4b - const BUENAS_PASSWORD_14 ; $4c - const BUENAS_PASSWORD_15 ; $4d - const BUENAS_PASSWORD_16 ; $4e - const BUENAS_PASSWORD_17 ; $4f - const BUENAS_PASSWORD_18 ; $50 - const BUENAS_PASSWORD_19 ; $51 - const BUENAS_PASSWORD_20 ; $52 - const BUENAS_PASSWORD_21 ; $53 - const RADIO_SCROLL ; $54 - const POKEDEX_SHOW_6 ; $55 - const POKEDEX_SHOW_7 ; $56 - const POKEDEX_SHOW_8 ; $57 + const OAKS_POKEMON_TALK ; 00 + const POKEDEX_SHOW ; 01 + const POKEMON_MUSIC ; 02 + const LUCKY_CHANNEL ; 03 + const BUENAS_PASSWORD ; 04 + const PLACES_AND_PEOPLE ; 05 + const LETS_ALL_SING ; 06 + const ROCKET_RADIO ; 07 + const POKE_FLUTE_RADIO ; 08 + const UNOWN_RADIO ; 09 + const EVOLUTION_RADIO ; 0a +; internal indexes for channel segments + const OAKS_POKEMON_TALK_2 ; 0b + const OAKS_POKEMON_TALK_3 ; 0c + const OAKS_POKEMON_TALK_4 ; 0d + const OAKS_POKEMON_TALK_5 ; 0e + const OAKS_POKEMON_TALK_6 ; 0f + const OAKS_POKEMON_TALK_7 ; 10 + const OAKS_POKEMON_TALK_8 ; 11 + const OAKS_POKEMON_TALK_9 ; 12 + const POKEDEX_SHOW_2 ; 13 + const POKEDEX_SHOW_3 ; 14 + const POKEDEX_SHOW_4 ; 15 + const POKEDEX_SHOW_5 ; 16 + const POKEMON_MUSIC_2 ; 17 + const POKEMON_MUSIC_3 ; 18 + const POKEMON_MUSIC_4 ; 19 + const POKEMON_MUSIC_5 ; 1a + const POKEMON_MUSIC_6 ; 1b + const POKEMON_MUSIC_7 ; 1c + const LETS_ALL_SING_2 ; 1d + const LUCKY_NUMBER_SHOW_2 ; 1e + const LUCKY_NUMBER_SHOW_3 ; 1f + const LUCKY_NUMBER_SHOW_4 ; 20 + const LUCKY_NUMBER_SHOW_5 ; 21 + const LUCKY_NUMBER_SHOW_6 ; 22 + const LUCKY_NUMBER_SHOW_7 ; 23 + const LUCKY_NUMBER_SHOW_8 ; 24 + const LUCKY_NUMBER_SHOW_9 ; 25 + const LUCKY_NUMBER_SHOW_10 ; 26 + const LUCKY_NUMBER_SHOW_11 ; 27 + const LUCKY_NUMBER_SHOW_12 ; 28 + const LUCKY_NUMBER_SHOW_13 ; 29 + const LUCKY_NUMBER_SHOW_14 ; 2a + const LUCKY_NUMBER_SHOW_15 ; 2b + const PLACES_AND_PEOPLE_2 ; 2c + const PLACES_AND_PEOPLE_3 ; 2d + const PLACES_AND_PEOPLE_4 ; 2e + const PLACES_AND_PEOPLE_5 ; 2f + const PLACES_AND_PEOPLE_6 ; 30 + const PLACES_AND_PEOPLE_7 ; 31 + const ROCKET_RADIO_2 ; 32 + const ROCKET_RADIO_3 ; 33 + const ROCKET_RADIO_4 ; 34 + const ROCKET_RADIO_5 ; 35 + const ROCKET_RADIO_6 ; 36 + const ROCKET_RADIO_7 ; 37 + const ROCKET_RADIO_8 ; 38 + const ROCKET_RADIO_9 ; 39 + const ROCKET_RADIO_10 ; 3a + const OAKS_POKEMON_TALK_10 ; 3b + const OAKS_POKEMON_TALK_11 ; 3c + const OAKS_POKEMON_TALK_12 ; 3d + const OAKS_POKEMON_TALK_13 ; 3e + const OAKS_POKEMON_TALK_14 ; 3f + const BUENAS_PASSWORD_2 ; 40 + const BUENAS_PASSWORD_3 ; 41 + const BUENAS_PASSWORD_4 ; 42 + const BUENAS_PASSWORD_5 ; 43 + const BUENAS_PASSWORD_6 ; 44 + const BUENAS_PASSWORD_7 ; 45 + const BUENAS_PASSWORD_8 ; 46 + const BUENAS_PASSWORD_9 ; 47 + const BUENAS_PASSWORD_10 ; 48 + const BUENAS_PASSWORD_11 ; 49 + const BUENAS_PASSWORD_12 ; 4a + const BUENAS_PASSWORD_13 ; 4b + const BUENAS_PASSWORD_14 ; 4c + const BUENAS_PASSWORD_15 ; 4d + const BUENAS_PASSWORD_16 ; 4e + const BUENAS_PASSWORD_17 ; 4f + const BUENAS_PASSWORD_18 ; 50 + const BUENAS_PASSWORD_19 ; 51 + const BUENAS_PASSWORD_20 ; 52 + const BUENAS_PASSWORD_21 ; 53 + const RADIO_SCROLL ; 54 + const POKEDEX_SHOW_6 ; 55 + const POKEDEX_SHOW_7 ; 56 + const POKEDEX_SHOW_8 ; 57 ; PlayRadio arguments (see engine/pokegear.asm) const_def @@ -101,23 +106,18 @@ const MAPRADIO_LETS_ALL_SING const MAPRADIO_ROCKET -; PasswordTable indexes (see engine/radio.asm) - const_def - const BUENA_STARTERS - const BUENA_DRINKS - const BUENA_ITEMS - const BUENA_BALLS - const BUENA_MON1 - const BUENA_MON2 - const BUENA_TOWNS - const BUENA_TYPES - const BUENA_MOVES - const BUENA_XITEMS - const BUENA_STATIONS -NUM_PASSWORD_CATEGORIES EQU const_value -NUM_PASSWORDS_PER_CATEGORY EQU 3 +; These tables in engine/radio.asm are all sized to a power of 2 +; so there's no need for a rejection sampling loop +NUM_OAKS_MON_TALK_ADVERBS EQU 16 ; OaksPkmnTalk8.Adverbs +NUM_OAKS_MON_TALK_ADJECTIVES EQU 16 ; OaksPkmnTalk9.Adjectives +NUM_PNP_PEOPLE_ADJECTIVES EQU 16 ; PeoplePlaces5.Adjectives +NUM_PNP_PLACES_ADJECTIVES EQU 16 ; PeoplePlaces7.Adjectives + +; BuenasPasswordTable sizes (see data/radio/buenas_passwords.asm) +NUM_PASSWORD_CATEGORIES EQU 11 +NUM_PASSWORDS_PER_CATEGORY EQU 3 -; PasswordTable string types (see engine/radio.asm) +; GetBuenasPassword.StringFunctionJumpTable indexes (see engine/radio.asm) const_def const BUENA_MON const BUENA_ITEM diff --git a/constants/script_constants.asm b/constants/script_constants.asm index 9f7dae6d2..fd5affce6 100644 --- a/constants/script_constants.asm +++ b/constants/script_constants.asm @@ -2,7 +2,43 @@ PLAYER EQU 0 LAST_TALKED EQU -2 -; GetVarAction arguments (see engine/variables.asm) + +; memory constants + const_def + const MEM_BUFFER_0 ; use StringBuffer3 + const MEM_BUFFER_1 ; use StringBuffer4 + const MEM_BUFFER_2 ; use StringBuffer5 +NUM_MEM_BUFFERS EQU const_value + + +; checkmoney/takemoney accounts + const_def + const YOUR_MONEY ; 0 + const MOMS_MONEY ; 1 + +; checkmoney/checkcoins return values + const_def + const HAVE_MORE ; 0 + const HAVE_AMOUNT ; 1 + const HAVE_LESS ; 2 + +; checkpokeitem return values + const_def + const POKEMAIL_WRONG_MAIL ; 0 + const POKEMAIL_CORRECT ; 1 + const POKEMAIL_REFUSED ; 2 + const POKEMAIL_NO_MAIL ; 3 + const POKEMAIL_LAST_MON ; 4 + +; askforphonenumber return values + const_def + const PHONE_CONTACT_GOT ; 0 + const PHONE_CONTACTS_FULL ; 1 + const PHONE_CONTACT_REFUSED ; 2 + + +; writecode/checkcode arguments +; _GetVarAction.VarActionTable indexes (see engine/variables.asm) const_def const VAR_STRINGBUFFER2 ; 00 const VAR_PARTYCOUNT ; 01 @@ -38,6 +74,7 @@ RETVAR_STRBUF2 EQU (0 << 6) RETVAR_ADDR_DE EQU (1 << 6) RETVAR_EXECUTE EQU (2 << 6) + ; PlayerEventScriptPointers indexes (see engine/events.asm) const_value set -1 const PLAYEREVENT_MAPSCRIPT @@ -52,3 +89,183 @@ const_value set -1 const PLAYEREVENT_HATCH const PLAYEREVENT_JOYCHANGEFACING NUM_PLAYER_EVENTS EQU const_value + + +; TryBGEvent arguments (see engine/events.asm) + const_def + const BGEVENT_READ + const BGEVENT_UP + const BGEVENT_DOWN + const BGEVENT_RIGHT + const BGEVENT_LEFT + const BGEVENT_IFSET + const BGEVENT_IFNOTSET + const BGEVENT_ITEM + const BGEVENT_COPY + +; object_event types +; TryObjectEvent arguments (see engine/events.asm) + const_def + const OBJECTTYPE_SCRIPT + const OBJECTTYPE_ITEMBALL + const OBJECTTYPE_TRAINER + const OBJECTTYPE_3 + const OBJECTTYPE_4 + const OBJECTTYPE_5 + const OBJECTTYPE_6 + + +; showemote arguments +; Emotes indexes (see data/sprites/emotes.asm) + const_def + const EMOTE_SHOCK ; 0 + const EMOTE_QUESTION ; 1 + const EMOTE_HAPPY ; 2 + const EMOTE_SAD ; 3 + const EMOTE_HEART ; 4 + const EMOTE_BOLT ; 5 + const EMOTE_SLEEP ; 6 + const EMOTE_FISH ; 7 + const EMOTE_SHADOW ; 8 + const EMOTE_ROD ; 9 + const EMOTE_BOULDER_DUST ; 10 + const EMOTE_GRASS_RUSTLE ; 11 +EMOTE_MEM EQU -1 + + +; fruittree arguments +; FruitTreeItems indexes (see data/items/fruit_trees.asm) +const_value set 1 + const FRUITTREE_ROUTE_29 ; 01 + const FRUITTREE_ROUTE_30_1 ; 02 + const FRUITTREE_ROUTE_38 ; 03 + const FRUITTREE_ROUTE_46_1 ; 04 + const FRUITTREE_ROUTE_30_2 ; 05 + const FRUITTREE_ROUTE_33 ; 06 + const FRUITTREE_ROUTE_31 ; 07 + const FRUITTREE_ROUTE_43 ; 08 + const FRUITTREE_VIOLET_CITY ; 09 + const FRUITTREE_ROUTE_46_2 ; 0a + const FRUITTREE_ROUTE_35 ; 0b + const FRUITTREE_ROUTE_45 ; 0c + const FRUITTREE_ROUTE_36 ; 0d + const FRUITTREE_ROUTE_26 ; 0e + const FRUITTREE_ROUTE_39 ; 0f + const FRUITTREE_ROUTE_44 ; 10 + const FRUITTREE_ROUTE_37_1 ; 11 + const FRUITTREE_ROUTE_37_2 ; 12 + const FRUITTREE_ROUTE_37_3 ; 13 + const FRUITTREE_AZALEA_TOWN ; 14 + const FRUITTREE_ROUTE_42_1 ; 15 + const FRUITTREE_ROUTE_42_2 ; 16 + const FRUITTREE_ROUTE_42_3 ; 17 + const FRUITTREE_ROUTE_11 ; 18 + const FRUITTREE_ROUTE_2 ; 19 + const FRUITTREE_ROUTE_1 ; 1a + const FRUITTREE_ROUTE_8 ; 1b + const FRUITTREE_PEWTER_CITY_1 ; 1c + const FRUITTREE_PEWTER_CITY_2 ; 1d + const FRUITTREE_FUCHSIA_CITY ; 1e +NUM_FRUIT_TREES EQU const_value +- 1 + + +; describedecoration arguments +; DescribeDecoration.JumpTable indexes (see engine/decorations.asm) + const_def + const DECODESC_POSTER ; 0 + const DECODESC_LEFT_DOLL ; 1 + const DECODESC_RIGHT_DOLL ; 2 + const DECODESC_BIG_DOLL ; 3 + const DECODESC_CONSOLE ; 4 + + +; elevfloor macro values +; ElevatorFloorNames indexes (see data/elevator_floors.asm) + const_def + const FLOOR_B4F + const FLOOR_B3F + const FLOOR_B2F + const FLOOR_B1F + const FLOOR_1F + const FLOOR_2F + const FLOOR_3F + const FLOOR_4F + const FLOOR_5F + const FLOOR_6F + const FLOOR_7F + const FLOOR_8F + const FLOOR_9F + const FLOOR_10F + const FLOOR_11F + const FLOOR_ROOF + + +; command queue members +CMDQUEUE_TYPE EQU 0 +CMDQUEUE_ADDR EQU 1 +CMDQUEUE_03 EQU 3 +CMDQUEUE_04 EQU 4 +CMDQUEUE_05 EQU 5 +CMDQUEUE_ENTRY_SIZE EQU 6 +CMDQUEUE_CAPACITY EQU 4 + +; command queue types +CMDQUEUE_STONETABLE EQU 2 + + +; SpecialGameboyCheck return values + const_def + const GBCHECK_GB ; 0 + const GBCHECK_SGB ; 1 + const GBCHECK_CGB ; 2 + +; Special_CheckMagikarpLength return values + const_def + const MAGIKARPLENGTH_NOT_MAGIKARP ; 0 + const MAGIKARPLENGTH_REFUSED ; 1 + const MAGIKARPLENGTH_TOO_SHORT ; 2 + const MAGIKARPLENGTH_BEAT_RECORD ; 3 + +; SpecialReturnShuckle return values + const_def + const SHUCKIE_WRONG_MON ; 0 + const SHUCKIE_REFUSED ; 1 + const SHUCKIE_RETURNED ; 2 + const SHUCKIE_HAPPY ; 3 + const SHUCKIE_FAINTED ; 4 + +; CheckPartyFullAfterContest return values + const_def + const BUGCONTEST_CAUGHT_MON ; 0 + const BUGCONTEST_BOXED_MON ; 1 + const BUGCONTEST_NO_CATCH ; 2 + +; HealMachineAnim writebyte arguments +; HealMachineAnim.Pointers indexes (see engine/events/heal_machine_anim.asm) + const_def + const HEALMACHINE_POKECENTER ; 0 + const HEALMACHINE_ELMS_LAB ; 1 + const HEALMACHINE_HALL_OF_FAME ; 2 + +; Special_UnownPuzzle writebyte arguments +; LoadUnownPuzzlePiecesGFX.LZPointers indexes (see engine/unown_puzzle.asm) + const_def + const UNOWNPUZZLE_KABUTO ; 0 + const UNOWNPUZZLE_OMANYTE ; 1 + const UNOWNPUZZLE_AERODACTYL ; 2 + const UNOWNPUZZLE_HO_OH ; 3 +NUM_UNOWN_PUZZLES EQU const_value + +; Special_DisplayUnownWords writebyte arguments +; UnownWalls and MenuDataHeaders_UnownWalls indexes (see data/unown_walls.asm) + const_def + const UNOWNWORDS_ESCAPE ; 0 + const UNOWNWORDS_LIGHT ; 1 + const UNOWNWORDS_WATER ; 2 + const UNOWNWORDS_HO_OH ; 3 + +; Special_MoveTutor writebyte arguments +const_value set 1 + const MOVETUTOR_FLAMETHROWER ; 1 + const MOVETUTOR_THUNDERBOLT ; 2 + const MOVETUTOR_ICE_BEAM ; 3 diff --git a/constants/sprite_anim_constants.asm b/constants/sprite_anim_constants.asm index 8bb2aed35..5692c6efc 100644 --- a/constants/sprite_anim_constants.asm +++ b/constants/sprite_anim_constants.asm @@ -16,301 +16,303 @@ const SPRITEANIMSTRUCT_0D ; d const SPRITEANIMSTRUCT_0E ; e const SPRITEANIMSTRUCT_0F ; f +SPRITEANIMSTRUCT_LENGTH EQU const_value +NUM_SPRITE_ANIM_STRUCTS EQU 10 ; see wSpriteAnimationStructs ; SpriteAnimSeqData indexes (see data/sprite_anims/sequences.asm) const_def - const SPRITE_ANIM_INDEX_PARTY_MON ; 00 - const SPRITE_ANIM_INDEX_GS_TITLE_TRAIL ; 01 - const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR ; 02 - const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO ; 03 - const SPRITE_ANIM_INDEX_GS_INTRO_STAR ; 04 - const SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE ; 05 - const SPRITE_ANIM_INDEX_SLOTS_GOLEM ; 06 - const SPRITE_ANIM_INDEX_SLOTS_CHANSEY ; 07 - const SPRITE_ANIM_INDEX_SLOTS_EGG ; 08 - const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR ; 09 - const SPRITE_ANIM_INDEX_RED_WALK ; 0a - const SPRITE_ANIM_INDEX_UNUSED_CURSOR ; 0b - const SPRITE_ANIM_INDEX_DUMMY_GAME ; 0c - const SPRITE_ANIM_INDEX_POKEGEAR_ARROW ; 0d - const SPRITE_ANIM_INDEX_TRADE_POKE_BALL ; 0e - const SPRITE_ANIM_INDEX_TRADE_POOF ; 0f - const SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE ; 10 - const SPRITE_ANIM_INDEX_TRADEMON_ICON ; 11 - const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE ; 12 - const SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT ; 13 - const SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB ; 14 - const SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED ; 15 - const SPRITE_ANIM_INDEX_LEAF ; 16 - const SPRITE_ANIM_INDEX_CUT_TREE ; 17 - const SPRITE_ANIM_INDEX_FLY_LEAF ; 18 - const SPRITE_ANIM_INDEX_EGG_CRACK ; 19 - const SPRITE_ANIM_INDEX_1A ; 1a - const SPRITE_ANIM_INDEX_HEADBUTT ; 1b - const SPRITE_ANIM_INDEX_EGG_HATCH ; 1c - const SPRITE_ANIM_INDEX_1D ; 1d - const SPRITE_ANIM_INDEX_BLUE_WALK ; 1e - const SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE ; 1f - const SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL ; 20 - const SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL ; 21 - const SPRITE_ANIM_INDEX_MOBILE_22 ; 22 - const SPRITE_ANIM_INDEX_MOBILE_23 ; 23 - const SPRITE_ANIM_INDEX_MOBILE_24 ; 24 - const SPRITE_ANIM_INDEX_MOBILE_25 ; 25 - const SPRITE_ANIM_INDEX_INTRO_SUICUNE ; 26 - const SPRITE_ANIM_INDEX_INTRO_PICHU ; 27 - const SPRITE_ANIM_INDEX_INTRO_WOOPER ; 28 - const SPRITE_ANIM_INDEX_INTRO_UNOWN ; 29 - const SPRITE_ANIM_INDEX_INTRO_UNOWN_F ; 2a - const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY ; 2b - const SPRITE_ANIM_INDEX_CELEBI ; 2c + const SPRITE_ANIM_INDEX_PARTY_MON ; 00 + const SPRITE_ANIM_INDEX_GS_TITLE_TRAIL ; 01 + const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR ; 02 + const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO ; 03 + const SPRITE_ANIM_INDEX_GS_INTRO_STAR ; 04 + const SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE ; 05 + const SPRITE_ANIM_INDEX_SLOTS_GOLEM ; 06 + const SPRITE_ANIM_INDEX_SLOTS_CHANSEY ; 07 + const SPRITE_ANIM_INDEX_SLOTS_EGG ; 08 + const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR ; 09 + const SPRITE_ANIM_INDEX_RED_WALK ; 0a + const SPRITE_ANIM_INDEX_UNUSED_CURSOR ; 0b + const SPRITE_ANIM_INDEX_DUMMY_GAME ; 0c + const SPRITE_ANIM_INDEX_POKEGEAR_ARROW ; 0d + const SPRITE_ANIM_INDEX_TRADE_POKE_BALL ; 0e + const SPRITE_ANIM_INDEX_TRADE_POOF ; 0f + const SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE ; 10 + const SPRITE_ANIM_INDEX_TRADEMON_ICON ; 11 + const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE ; 12 + const SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT ; 13 + const SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB ; 14 + const SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED ; 15 + const SPRITE_ANIM_INDEX_LEAF ; 16 + const SPRITE_ANIM_INDEX_CUT_TREE ; 17 + const SPRITE_ANIM_INDEX_FLY_LEAF ; 18 + const SPRITE_ANIM_INDEX_EGG_CRACK ; 19 + const SPRITE_ANIM_INDEX_GS_INTRO_HO_OH ; 1a + const SPRITE_ANIM_INDEX_HEADBUTT ; 1b + const SPRITE_ANIM_INDEX_EGG_HATCH ; 1c + const SPRITE_ANIM_INDEX_EZCHAT_CURSOR ; 1d + const SPRITE_ANIM_INDEX_BLUE_WALK ; 1e + const SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE ; 1f + const SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL ; 20 + const SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL ; 21 + const SPRITE_ANIM_INDEX_MOBILE_TRADE_CABLE_BULGE ; 22 + const SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_PULSE ; 23 + const SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_PULSE ; 24 + const SPRITE_ANIM_INDEX_MOBILE_TRADE_PING ; 25 + const SPRITE_ANIM_INDEX_INTRO_SUICUNE ; 26 + const SPRITE_ANIM_INDEX_INTRO_PICHU ; 27 + const SPRITE_ANIM_INDEX_INTRO_WOOPER ; 28 + const SPRITE_ANIM_INDEX_INTRO_UNOWN ; 29 + const SPRITE_ANIM_INDEX_INTRO_UNOWN_F ; 2a + const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY ; 2b + const SPRITE_ANIM_INDEX_CELEBI ; 2c ; DoAnimFrame.Jumptable indexes (see engine/sprite_anims.asm) const_def - const SPRITE_ANIM_SEQ_NULL ; 00 - const SPRITE_ANIM_SEQ_PARTY_MON ; 01 - const SPRITE_ANIM_SEQ_PARTY_MON_SWITCH ; 02 - const SPRITE_ANIM_SEQ_PARTY_MON_SELECTED ; 03 - const SPRITE_ANIM_SEQ_GS_TITLE_TRAIL ; 04 - const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR ; 05 - const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO ; 06 - const SPRITE_ANIM_SEQ_GS_INTRO_STAR ; 07 - const SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE ; 08 - const SPRITE_ANIM_SEQ_SLOTS_GOLEM ; 09 - const SPRITE_ANIM_SEQ_SLOTS_CHANSEY ; 0a - const SPRITE_ANIM_SEQ_SLOTS_EGG ; 0b - const SPRITE_ANIM_SEQ_MAIL_CURSOR ; 0c - const SPRITE_ANIM_SEQ_FOR_UNUSED_CURSOR ; 0d - const SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR ; 0e - const SPRITE_ANIM_SEQ_POKEGEAR_ARROW ; 0f - const SPRITE_ANIM_SEQ_TRADE_POKE_BALL ; 10 - const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE ; 11 - const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE ; 12 - const SPRITE_ANIM_SEQ_REVEAL_NEW_MON ; 13 - const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB ; 14 - const SPRITE_ANIM_SEQ_CUT_LEAVES ; 15 - const SPRITE_ANIM_SEQ_FLY_FROM ; 16 - const SPRITE_ANIM_SEQ_FLY_LEAF ; 17 - const SPRITE_ANIM_SEQ_FLY_TO ; 18 - const SPRITE_ANIM_SEQ_19 ; 19 - const SPRITE_ANIM_SEQ_1A ; 1a - const SPRITE_ANIM_SEQ_FOR_MOBILE_23 ; 1b - const SPRITE_ANIM_SEQ_FOR_MOBILE_24 ; 1c - const SPRITE_ANIM_SEQ_INTRO_SUICUNE ; 1d - const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER ; 1e - const SPRITE_ANIM_SEQ_CELEBI ; 1f - const SPRITE_ANIM_SEQ_INTRO_UNOWN ; 20 - const SPRITE_ANIM_SEQ_INTRO_UNOWN_F ; 21 - const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY ; 22 + const SPRITE_ANIM_SEQ_NULL ; 00 + const SPRITE_ANIM_SEQ_PARTY_MON ; 01 + const SPRITE_ANIM_SEQ_PARTY_MON_SWITCH ; 02 + const SPRITE_ANIM_SEQ_PARTY_MON_SELECTED ; 03 + const SPRITE_ANIM_SEQ_GS_TITLE_TRAIL ; 04 + const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR ; 05 + const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO ; 06 + const SPRITE_ANIM_SEQ_GS_INTRO_STAR ; 07 + const SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE ; 08 + const SPRITE_ANIM_SEQ_SLOTS_GOLEM ; 09 + const SPRITE_ANIM_SEQ_SLOTS_CHANSEY ; 0a + const SPRITE_ANIM_SEQ_SLOTS_EGG ; 0b + const SPRITE_ANIM_SEQ_MAIL_CURSOR ; 0c + const SPRITE_ANIM_SEQ_UNUSED_CURSOR ; 0d + const SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR ; 0e + const SPRITE_ANIM_SEQ_POKEGEAR_ARROW ; 0f + const SPRITE_ANIM_SEQ_TRADE_POKE_BALL ; 10 + const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE ; 11 + const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE ; 12 + const SPRITE_ANIM_SEQ_REVEAL_NEW_MON ; 13 + const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB ; 14 + const SPRITE_ANIM_SEQ_CUT_LEAVES ; 15 + const SPRITE_ANIM_SEQ_FLY_FROM ; 16 + const SPRITE_ANIM_SEQ_FLY_LEAF ; 17 + const SPRITE_ANIM_SEQ_FLY_TO ; 18 + const SPRITE_ANIM_SEQ_GS_INTRO_HO_OH ; 19 + const SPRITE_ANIM_SEQ_EZCHAT_CURSOR ; 1a + const SPRITE_ANIM_SEQ_MOBILE_TRADE_SENT_PULSE ; 1b + const SPRITE_ANIM_SEQ_MOBILE_TRADE_OT_PULSE ; 1c + const SPRITE_ANIM_SEQ_INTRO_SUICUNE ; 1d + const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER ; 1e + const SPRITE_ANIM_SEQ_CELEBI ; 1f + const SPRITE_ANIM_SEQ_INTRO_UNOWN ; 20 + const SPRITE_ANIM_SEQ_INTRO_UNOWN_F ; 21 + const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY ; 22 ; SpriteAnimFrameData indexes (see data/sprite_anims/framesets.asm) const_def - const SPRITE_ANIM_FRAMESET_00 - const SPRITE_ANIM_FRAMESET_PARTY_MON ; 01 - const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL ; 02 - const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM ; 03 - const SPRITE_ANIM_FRAMESET_PARTY_MON_FAST ; 04 + const SPRITE_ANIM_FRAMESET_00 ; 00 + const SPRITE_ANIM_FRAMESET_PARTY_MON ; 01 + const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL ; 02 + const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM ; 03 + const SPRITE_ANIM_FRAMESET_PARTY_MON_FAST ; 04 const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL_FAST ; 05 const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM_FAST ; 06 - const SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL ; 07 - const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR ; 08 - const SPRITE_ANIM_FRAMESET_09 - const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO ; 0a - const SPRITE_ANIM_FRAMESET_GS_INTRO_STAR ; 0b - const SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE ; 0c - const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM ; 0d - const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY ; 0e - const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2 ; 0f - const SPRITE_ANIM_FRAMESET_SLOTS_EGG ; 10 - const SPRITE_ANIM_FRAMESET_RED_WALK ; 11 - const SPRITE_ANIM_FRAMESET_STILL_CURSOR ; 12 - const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL ; 13 - const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0 ; 14 - const SPRITE_ANIM_FRAMESET_TRADE_POOF ; 15 - const SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE ; 16 - const SPRITE_ANIM_FRAMESET_TRADEMON_ICON ; 17 - const SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE ; 18 - const SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT ; 19 - const SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB ; 1a - const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED ; 1b - const SPRITE_ANIM_FRAMESET_1C - const SPRITE_ANIM_FRAMESET_LEAF ; 1d - const SPRITE_ANIM_FRAMESET_CUT_TREE ; 1e - const SPRITE_ANIM_FRAMESET_EGG_CRACK ; 1f - const SPRITE_ANIM_FRAMESET_EGG_HATCH ; 20 - const SPRITE_ANIM_FRAMESET_21 - const SPRITE_ANIM_FRAMESET_22 - const SPRITE_ANIM_FRAMESET_23 - const SPRITE_ANIM_FRAMESET_24 - const SPRITE_ANIM_FRAMESET_HEADBUTT ; 25 - const SPRITE_ANIM_FRAMESET_26 - const SPRITE_ANIM_FRAMESET_27 - const SPRITE_ANIM_FRAMESET_28 - const SPRITE_ANIM_FRAMESET_29 - const SPRITE_ANIM_FRAMESET_2A - const SPRITE_ANIM_FRAMESET_2B - const SPRITE_ANIM_FRAMESET_2C - const SPRITE_ANIM_FRAMESET_BLUE_WALK ; 2d - const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE ; 2e - const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL ; 2f - const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL ; 30 - const SPRITE_ANIM_FRAMESET_FOR_MOBILE_22 ; 31 - const SPRITE_ANIM_FRAMESET_FOR_MOBILE_23 ; 32 - const SPRITE_ANIM_FRAMESET_FOR_MOBILE_24 ; 33 - const SPRITE_ANIM_FRAMESET_FOR_MOBILE_25 ; 34 - const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE ; 35 - const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_2 ; 36 - const SPRITE_ANIM_FRAMESET_INTRO_PICHU ; 37 - const SPRITE_ANIM_FRAMESET_INTRO_WOOPER ; 38 - const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1 ; 39 - const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_2 ; 3a - const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_3 ; 3b - const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_4 ; 3c - const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F_2 ; 3d - const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY ; 3e - const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F ; 3f - const SPRITE_ANIM_FRAMESET_CELEBI_LEFT ; 40 - const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT ; 41 + const SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL ; 07 + const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR ; 08 + const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR_BIG ; 09 + const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO ; 0a + const SPRITE_ANIM_FRAMESET_GS_INTRO_STAR ; 0b + const SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE ; 0c + const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM ; 0d + const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY ; 0e + const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2 ; 0f + const SPRITE_ANIM_FRAMESET_SLOTS_EGG ; 10 + const SPRITE_ANIM_FRAMESET_RED_WALK ; 11 + const SPRITE_ANIM_FRAMESET_STILL_CURSOR ; 12 + const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL ; 13 + const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_WIGGLE ; 14 + const SPRITE_ANIM_FRAMESET_TRADE_POOF ; 15 + const SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE ; 16 + const SPRITE_ANIM_FRAMESET_TRADEMON_ICON ; 17 + const SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE ; 18 + const SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT ; 19 + const SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB ; 1a + const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED ; 1b + const SPRITE_ANIM_FRAMESET_UNUSED_1C ; 1c + const SPRITE_ANIM_FRAMESET_LEAF ; 1d + const SPRITE_ANIM_FRAMESET_CUT_TREE ; 1e + const SPRITE_ANIM_FRAMESET_EGG_CRACK ; 1f + const SPRITE_ANIM_FRAMESET_EGG_HATCH_1 ; 20 + const SPRITE_ANIM_FRAMESET_EGG_HATCH_2 ; 21 + const SPRITE_ANIM_FRAMESET_EGG_HATCH_3 ; 22 + const SPRITE_ANIM_FRAMESET_EGG_HATCH_4 ; 23 + const SPRITE_ANIM_FRAMESET_GS_INTRO_HO_OH ; 24 + const SPRITE_ANIM_FRAMESET_HEADBUTT ; 25 + const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_1 ; 26 + const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_2 ; 27 + const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_3 ; 28 + const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_4 ; 29 + const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_5 ; 2a + const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_6 ; 2b + const SPRITE_ANIM_FRAMESET_EZCHAT_CURSOR_7 ; 2c + const SPRITE_ANIM_FRAMESET_BLUE_WALK ; 2d + const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE ; 2e + const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL ; 2f + const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL ; 30 + const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_CABLE_BULGE ; 31 + const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_PULSE ; 32 + const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_PULSE ; 33 + const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_PING ; 34 + const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE ; 35 + const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_2 ; 36 + const SPRITE_ANIM_FRAMESET_INTRO_PICHU ; 37 + const SPRITE_ANIM_FRAMESET_INTRO_WOOPER ; 38 + const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1 ; 39 + const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_2 ; 3a + const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_3 ; 3b + const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_4 ; 3c + const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F_2 ; 3d + const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY ; 3e + const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F ; 3f + const SPRITE_ANIM_FRAMESET_CELEBI_LEFT ; 40 + const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT ; 41 ; SpriteAnimOAMData indexes (see data/sprite_anims/oam.asm) const_def - const SPRITE_ANIM_OAMSET_RED_WALK_1 ; 00 - const SPRITE_ANIM_OAMSET_RED_WALK_2 ; 01 - const SPRITE_ANIM_OAMSET_02 - const SPRITE_ANIM_OAMSET_03 - const SPRITE_ANIM_OAMSET_04 - const SPRITE_ANIM_OAMSET_05 - const SPRITE_ANIM_OAMSET_06 - const SPRITE_ANIM_OAMSET_07 - const SPRITE_ANIM_OAMSET_08 - const SPRITE_ANIM_OAMSET_09 - const SPRITE_ANIM_OAMSET_0A - const SPRITE_ANIM_OAMSET_0B - const SPRITE_ANIM_OAMSET_0C - const SPRITE_ANIM_OAMSET_0D - const SPRITE_ANIM_OAMSET_0E - const SPRITE_ANIM_OAMSET_0F - const SPRITE_ANIM_OAMSET_10 - const SPRITE_ANIM_OAMSET_11 - const SPRITE_ANIM_OAMSET_12 - const SPRITE_ANIM_OAMSET_13 - const SPRITE_ANIM_OAMSET_14 - const SPRITE_ANIM_OAMSET_15 - const SPRITE_ANIM_OAMSET_16 - const SPRITE_ANIM_OAMSET_17 - const SPRITE_ANIM_OAMSET_18 - const SPRITE_ANIM_OAMSET_19 - const SPRITE_ANIM_OAMSET_1A - const SPRITE_ANIM_OAMSET_1B - const SPRITE_ANIM_OAMSET_1C - const SPRITE_ANIM_OAMSET_1D - const SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1 ; 1e - const SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2 ; 1f - const SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR ; 20 - const SPRITE_ANIM_OAMSET_FOR_FRAMESET_09 ; 21 - const SPRITE_ANIM_OAMSET_22 - const SPRITE_ANIM_OAMSET_GS_INTRO_STAR ; 23 - const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1 ; 24 - const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2 ; 25 - const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3 ; 26 - const SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1 ; 27 - const SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2 ; 28 - const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1 ; 29 - const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2 ; 2a - const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3 ; 2b - const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4 ; 2c - const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5 ; 2d - const SPRITE_ANIM_OAMSET_SLOTS_EGG ; 2e - const SPRITE_ANIM_OAMSET_STILL_CURSOR ; 2f - const SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1 ; 30 - const SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2 ; 31 - const SPRITE_ANIM_OAMSET_TRADE_POOF_1 ; 32 - const SPRITE_ANIM_OAMSET_TRADE_POOF_2 ; 33 - const SPRITE_ANIM_OAMSET_TRADE_POOF_3 ; 34 - const SPRITE_ANIM_OAMSET_35 - const SPRITE_ANIM_OAMSET_36 - const SPRITE_ANIM_OAMSET_TRADEMON_ICON_1 ; 37 - const SPRITE_ANIM_OAMSET_TRADEMON_ICON_2 ; 38 - const SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE ; 39 - const SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1 ; 3a - const SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2 ; 3b - const SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB ; 3c - const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1 ; 3d - const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2 ; 3e - const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1 ; 3f - const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2 ; 40 - const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1 ; 41 - const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2 ; 42 - const SPRITE_ANIM_OAMSET_43 - const SPRITE_ANIM_OAMSET_44 - const SPRITE_ANIM_OAMSET_45 - const SPRITE_ANIM_OAMSET_46 - const SPRITE_ANIM_OAMSET_47 - const SPRITE_ANIM_OAMSET_48 - const SPRITE_ANIM_OAMSET_49 - const SPRITE_ANIM_OAMSET_4A - const SPRITE_ANIM_OAMSET_4B - const SPRITE_ANIM_OAMSET_4C - const SPRITE_ANIM_OAMSET_4D - const SPRITE_ANIM_OAMSET_4E - const SPRITE_ANIM_OAMSET_LEAF ; 4f - const SPRITE_ANIM_OAMSET_TREE_1 ; 50 - const SPRITE_ANIM_OAMSET_CUT_TREE_2 ; 51 - const SPRITE_ANIM_OAMSET_CUT_TREE_3 ; 52 - const SPRITE_ANIM_OAMSET_CUT_TREE_4 ; 53 - const SPRITE_ANIM_OAMSET_EGG_CRACK ; 54 - const SPRITE_ANIM_OAMSET_55 - const SPRITE_ANIM_OAMSET_56 - const SPRITE_ANIM_OAMSET_57 - const SPRITE_ANIM_OAMSET_58 - const SPRITE_ANIM_OAMSET_59 - const SPRITE_ANIM_OAMSET_5A - const SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2 ; 5b - const SPRITE_ANIM_OAMSET_5C - const SPRITE_ANIM_OAMSET_5D - const SPRITE_ANIM_OAMSET_5E - const SPRITE_ANIM_OAMSET_5F - const SPRITE_ANIM_OAMSET_60 - const SPRITE_ANIM_OAMSET_61 - const SPRITE_ANIM_OAMSET_62 - const SPRITE_ANIM_OAMSET_BLUE_WALK_1 ; 63 - const SPRITE_ANIM_OAMSET_BLUE_WALK_2 ; 64 - const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1 ; 65 - const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2 ; 66 - const SPRITE_ANIM_OAMSET_FOR_MOBILE_22_1 ; 67 - const SPRITE_ANIM_OAMSET_FOR_MOBILE_22_2 ; 68 - const SPRITE_ANIM_OAMSET_FOR_MOBILE_25_1 ; 69 - const SPRITE_ANIM_OAMSET_FOR_MOBILE_25_2 ; 6a - const SPRITE_ANIM_OAMSET_FOR_MOBILE_25_3 ; 6b - const SPRITE_ANIM_OAMSET_FOR_MOBILE_23 ; 6c - const SPRITE_ANIM_OAMSET_FOR_MOBILE_24 ; 6d - const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1 ; 6e - const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2 ; 6f - const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3 ; 70 - const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4 ; 71 - const SPRITE_ANIM_OAMSET_INTRO_PICHU_1 ; 72 - const SPRITE_ANIM_OAMSET_INTRO_PICHU_2 ; 73 - const SPRITE_ANIM_OAMSET_INTRO_PICHU_3 ; 74 - const SPRITE_ANIM_OAMSET_INTRO_WOOPER ; 75 - const SPRITE_ANIM_OAMSET_INTRO_UNOWN_1 ; 76 - const SPRITE_ANIM_OAMSET_INTRO_UNOWN_2 ; 77 - const SPRITE_ANIM_OAMSET_INTRO_UNOWN_3 ; 78 - const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1 ; 79 - const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2 ; 7a - const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3 ; 7b - const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4 ; 7c - const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5 ; 7d - const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY ; 7e - const SPRITE_ANIM_OAMSET_CELEBI_1 ; 7f - const SPRITE_ANIM_OAMSET_CELEBI_2 ; 80 - const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1 ; 81 - const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2 ; 82 - const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3 ; 83 - const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4 ; 84 - const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5 ; 85 - const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6 ; 86 - const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7 ; 87 - const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8 ; 88 - const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9 ; 89 - const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10 ; 8A - const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11 ; 8B + const SPRITE_ANIM_OAMSET_RED_WALK_1 ; 00 + const SPRITE_ANIM_OAMSET_RED_WALK_2 ; 01 + const SPRITE_ANIM_OAMSET_GS_INTRO_BUBBLE_1 ; 02 + const SPRITE_ANIM_OAMSET_GS_INTRO_BUBBLE_2 ; 03 + const SPRITE_ANIM_OAMSET_GS_INTRO_SHELLDER_1 ; 04 + const SPRITE_ANIM_OAMSET_GS_INTRO_SHELLDER_2 ; 05 + const SPRITE_ANIM_OAMSET_GS_INTRO_MAGIKARP_1 ; 06 + const SPRITE_ANIM_OAMSET_GS_INTRO_MAGIKARP_2 ; 07 + const SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_1 ; 08 + const SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_2 ; 09 + const SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_3 ; 0a + const SPRITE_ANIM_OAMSET_GS_INTRO_LAPRAS_4 ; 0b + const SPRITE_ANIM_OAMSET_GS_INTRO_NOTE ; 0c + const SPRITE_ANIM_OAMSET_UNUSED_0D ; 0d + const SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_1 ; 0e + const SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_2 ; 0f + const SPRITE_ANIM_OAMSET_GS_INTRO_JIGGLYPUFF_3 ; 10 + const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_1 ; 11 + const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_2 ; 12 + const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_3 ; 13 + const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_4 ; 14 + const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_1 ; 15 + const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_2 ; 16 + const SPRITE_ANIM_OAMSET_GS_INTRO_PIKACHU_TAIL_3 ; 17 + const SPRITE_ANIM_OAMSET_GS_INTRO_SMALL_FIREBALL ; 18 + const SPRITE_ANIM_OAMSET_GS_INTRO_MED_FIREBALL ; 19 + const SPRITE_ANIM_OAMSET_GS_INTRO_BIG_FIREBALL ; 1a + const SPRITE_ANIM_OAMSET_GS_INTRO_CHIKORITA ; 1b + const SPRITE_ANIM_OAMSET_GS_INTRO_CYNDAQUIL ; 1c + const SPRITE_ANIM_OAMSET_GS_INTRO_TOTODILE ; 1d + const SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1 ; 1e + const SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2 ; 1f + const SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR ; 20 + const SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR_BIG ; 21 + const SPRITE_ANIM_OAMSET_GS_INTRO_GAMEFREAK_LOGO ; 22 + const SPRITE_ANIM_OAMSET_GS_INTRO_STAR ; 23 + const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1 ; 24 + const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2 ; 25 + const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3 ; 26 + const SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1 ; 27 + const SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2 ; 28 + const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1 ; 29 + const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2 ; 2a + const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3 ; 2b + const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4 ; 2c + const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5 ; 2d + const SPRITE_ANIM_OAMSET_SLOTS_EGG ; 2e + const SPRITE_ANIM_OAMSET_STILL_CURSOR ; 2f + const SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1 ; 30 + const SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2 ; 31 + const SPRITE_ANIM_OAMSET_TRADE_POOF_1 ; 32 + const SPRITE_ANIM_OAMSET_TRADE_POOF_2 ; 33 + const SPRITE_ANIM_OAMSET_TRADE_POOF_3 ; 34 + const SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_1 ; 35 + const SPRITE_ANIM_OAMSET_TRADE_TUBE_BULGE_2 ; 36 + const SPRITE_ANIM_OAMSET_TRADEMON_ICON_1 ; 37 + const SPRITE_ANIM_OAMSET_TRADEMON_ICON_2 ; 38 + const SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE ; 39 + const SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1 ; 3a + const SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2 ; 3b + const SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB ; 3c + const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1 ; 3d + const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2 ; 3e + const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1 ; 3f + const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2 ; 40 + const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1 ; 41 + const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2 ; 42 + const SPRITE_ANIM_OAMSET_UNUSED_43 ; 43 + const SPRITE_ANIM_OAMSET_UNUSED_44 ; 44 + const SPRITE_ANIM_OAMSET_UNUSED_45 ; 45 + const SPRITE_ANIM_OAMSET_UNUSED_46 ; 46 + const SPRITE_ANIM_OAMSET_UNUSED_47 ; 47 + const SPRITE_ANIM_OAMSET_UNUSED_48 ; 48 + const SPRITE_ANIM_OAMSET_UNUSED_49 ; 49 + const SPRITE_ANIM_OAMSET_UNUSED_4A ; 4a + const SPRITE_ANIM_OAMSET_UNUSED_4B ; 4b + const SPRITE_ANIM_OAMSET_UNUSED_4C ; 4c + const SPRITE_ANIM_OAMSET_UNUSED_4D ; 4d + const SPRITE_ANIM_OAMSET_UNUSED_4E ; 4e + const SPRITE_ANIM_OAMSET_LEAF ; 4f + const SPRITE_ANIM_OAMSET_TREE_1 ; 50 + const SPRITE_ANIM_OAMSET_CUT_TREE_2 ; 51 + const SPRITE_ANIM_OAMSET_CUT_TREE_3 ; 52 + const SPRITE_ANIM_OAMSET_CUT_TREE_4 ; 53 + const SPRITE_ANIM_OAMSET_EGG_CRACK ; 54 + const SPRITE_ANIM_OAMSET_EGG_HATCH ; 55 + const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_1 ; 56 + const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_2 ; 57 + const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_3 ; 58 + const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_4 ; 59 + const SPRITE_ANIM_OAMSET_GS_INTRO_HO_OH_5 ; 5a + const SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2 ; 5b + const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_1 ; 5c + const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_2 ; 5d + const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_3 ; 5e + const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_4 ; 5f + const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_5 ; 60 + const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_6 ; 61 + const SPRITE_ANIM_OAMSET_EZCHAT_CURSOR_7 ; 62 + const SPRITE_ANIM_OAMSET_BLUE_WALK_1 ; 63 + const SPRITE_ANIM_OAMSET_BLUE_WALK_2 ; 64 + const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1 ; 65 + const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2 ; 66 + const SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_1 ; 67 + const SPRITE_ANIM_OAMSET_MOBILE_TRADE_CABLE_BULGE_2 ; 68 + const SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_1 ; 69 + const SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_2 ; 6a + const SPRITE_ANIM_OAMSET_MOBILE_TRADE_PING_3 ; 6b + const SPRITE_ANIM_OAMSET_MOBILE_TRADE_SENT_PULSE ; 6c + const SPRITE_ANIM_OAMSET_MOBILE_TRADE_OT_PULSE ; 6d + const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1 ; 6e + const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2 ; 6f + const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3 ; 70 + const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4 ; 71 + const SPRITE_ANIM_OAMSET_INTRO_PICHU_1 ; 72 + const SPRITE_ANIM_OAMSET_INTRO_PICHU_2 ; 73 + const SPRITE_ANIM_OAMSET_INTRO_PICHU_3 ; 74 + const SPRITE_ANIM_OAMSET_INTRO_WOOPER ; 75 + const SPRITE_ANIM_OAMSET_INTRO_UNOWN_1 ; 76 + const SPRITE_ANIM_OAMSET_INTRO_UNOWN_2 ; 77 + const SPRITE_ANIM_OAMSET_INTRO_UNOWN_3 ; 78 + const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1 ; 79 + const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2 ; 7a + const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3 ; 7b + const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4 ; 7c + const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5 ; 7d + const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY ; 7e + const SPRITE_ANIM_OAMSET_CELEBI_1 ; 7f + const SPRITE_ANIM_OAMSET_CELEBI_2 ; 80 + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1 ; 81 + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2 ; 82 + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3 ; 83 + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4 ; 84 + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5 ; 85 + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6 ; 86 + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7 ; 87 + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8 ; 88 + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9 ; 89 + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10 ; 8a + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11 ; 8b diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm index e657c4027..767d7a3c6 100644 --- a/constants/sprite_constants.asm +++ b/constants/sprite_constants.asm @@ -1,5 +1,5 @@ ; sprite ids -; OverworldSprites indexes (see gfx/sprite_data.asm) +; OverworldSprites indexes (see data/sprites.asm) const_def const SPRITE_NONE ; 00 const SPRITE_CHRIS ; 01 @@ -105,7 +105,7 @@ const SPRITE_RAIKOU ; 65 const SPRITE_STANDING_YOUNGSTER ; 66 -; SpriteMons indexes (see data/sprite_mons.asm) +; SpriteMons indexes (see data/sprites/sprite_mons.asm) const_value set $80 SPRITE_POKEMON EQU const_value const SPRITE_UNOWN ; 80 diff --git a/constants/sprite_data_constants.asm b/constants/sprite_data_constants.asm index 9ec78d1fb..db53c3ca1 100644 --- a/constants/sprite_data_constants.asm +++ b/constants/sprite_data_constants.asm @@ -1,4 +1,4 @@ -; overworld_sprite struct members (see gfx/sprite_data.asm) +; overworld_sprite struct members (see data/sprites.asm) const_def const SPRITEDATA_ADDR ; 0 const SPRITEDATA_ADDR_HI ; 1 @@ -26,6 +26,7 @@ const_value set 1 const PAL_OW_ROCK ; 7 ; object_events set bit 3 so as not to use the sprite's default palette +; MapObjectPals indexes (see gfx/overworld/npc_sprites.pal) const_value set (1 << 3) const PAL_NPC_RED ; 8 const PAL_NPC_BLUE ; 9 @@ -36,7 +37,7 @@ const_value set (1 << 3) const PAL_NPC_TREE ; e const PAL_NPC_ROCK ; f -; SpriteMovementData indexes (see data/map_objects.asm) +; SpriteMovementData indexes (see data/sprites/map_objects.asm) const_def const SPRITEMOVEDATA_00 ; 00 const SPRITEMOVEDATA_ITEM_TREE ; 01 @@ -158,7 +159,7 @@ SPRITEMOVEDATA_FIELDS EQU 6 const OBJECT_ACTION_GRASS_SHAKE ; 0f const OBJECT_ACTION_SKYFALL ; 10 -; Facings indexes (see data/facings.asm) +; Facings indexes (see data/sprites/facings.asm) const_def const FACING_STEP_DOWN_0 ; 00 const FACING_STEP_DOWN_1 ; 01 diff --git a/constants/tileset_constants.asm b/constants/tileset_constants.asm index 90dd0f8d2..bb5381657 100644 --- a/constants/tileset_constants.asm +++ b/constants/tileset_constants.asm @@ -1,4 +1,4 @@ -; Tilesets indexes (see tilesets/tilesets.asm) +; Tilesets indexes (see data/tilesets.asm) const_value set 1 const TILESET_JOHTO_1 ; 01 const TILESET_JOHTO_2 ; 02 @@ -37,7 +37,8 @@ const_value set 1 const TILESET_OMANYTE_WORD_ROOM ; 23 const TILESET_AERODACTYL_WORD_ROOM ; 24 -; bg palette values (see tilesets/*_palette_map.asm) +; bg palette values (see gfx/tilesets/*_palette_map.asm) +; TilesetBGPalette indexes (see gfx/tilesets/bg_tiles.pal) const_def const PAL_BG_GRAY ; 0 const PAL_BG_RED ; 1 diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index 2590ed34e..7976fdffa 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -12,6 +12,7 @@ ENDM ; - TrainerEncounterMusic (see data/trainers/encounter_music.asm) ; - TrainerPicPointers (see data/trainers/pic_pointers.asm) ; - TrainerPalettes (see data/trainers/palettes.asm) +; - BTTrainerClassSprites (see data/trainers/sprites.asm) ; - BTTrainerClassGenders (see data/trainers/genders.asm) ; trainer constants are Trainers indexes, for the sub-tables of TrainerGroups (see data/trainers/parties.asm) enum_start @@ -25,20 +26,28 @@ CHRIS EQU __enum__ KRIS EQU __enum__ trainerclass FALKNER ; 1 + const FALKNER1 trainerclass WHITNEY ; 2 + const WHITNEY1 trainerclass BUGSY ; 3 + const BUGSY1 trainerclass MORTY ; 4 + const MORTY1 trainerclass PRYCE ; 5 + const PRYCE1 trainerclass JASMINE ; 6 + const JASMINE1 trainerclass CHUCK ; 7 + const CHUCK1 trainerclass CLAIR ; 8 + const CLAIR1 trainerclass RIVAL1 ; 9 const RIVAL1_1_CHIKORITA @@ -60,6 +69,7 @@ KRIS EQU __enum__ trainerclass POKEMON_PROF ; a trainerclass WILL ; b + const WILL1 trainerclass CAL ; c const CAL1 @@ -67,19 +77,25 @@ KRIS EQU __enum__ const CAL3 trainerclass BRUNO ; d + const BRUNO1 trainerclass KAREN ; e + const KAREN1 trainerclass KOGA ; f + const KOGA1 trainerclass CHAMPION ; 10 const LANCE trainerclass BROCK ; 11 + const BROCK1 trainerclass MISTY ; 12 + const MISTY1 trainerclass LT_SURGE ; 13 + const LT_SURGE1 trainerclass SCIENTIST ; 14 const ROSS @@ -89,6 +105,7 @@ KRIS EQU __enum__ const RICH trainerclass ERIKA ; 15 + const ERIKA1 trainerclass YOUNGSTER ; 16 const JOEY1 @@ -173,6 +190,7 @@ KRIS EQU __enum__ const DANA5 trainerclass JANINE ; 1a + const JANINE1 trainerclass COOLTRAINERM ; 1b const NICK @@ -305,6 +323,7 @@ KRIS EQU __enum__ const SHIRLEY trainerclass SABRINA ; 23 + const SABRINA1 trainerclass BUG_CATCHER ; 24 const DON @@ -477,6 +496,7 @@ KRIS EQU __enum__ const GLENN trainerclass BLAINE ; 2e + const BLAINE1 trainerclass BURGLAR ; 2f const DUNCAN @@ -661,8 +681,10 @@ KRIS EQU __enum__ const JAIME trainerclass RED ; 3f + const RED1 trainerclass BLUE ; 40 + const BLUE1 trainerclass OFFICER ; 41 const KEITH diff --git a/constants/type_constants.asm b/constants/type_constants.asm index c2cf2d709..6587c3a70 100644 --- a/constants/type_constants.asm +++ b/constants/type_constants.asm @@ -1,7 +1,8 @@ -; TypeNames indexes (see data/type_names.asm) +; TypeNames indexes (see data/types/names.asm) ; also used in: -; - TypeMatchups (see data/type_matchups.asm) -; - Pokedex_SearchForMons.TypeConversionTable and Pokedex_PlaceSearchScreenTypeStrings.TypeStrings (see engine/pokedex.asm) +; - PokedexTypeSearchConversionTable (see data/types/search_types.asm) +; - PokedexTypeSearchStrings (see data/types/search_strings.asm) +; - TypeMatchups (see data/battle/type_matchups.asm) const_def PHYSICAL EQU const_value @@ -38,5 +39,6 @@ SPECIAL EQU const_value const ICE const DRAGON const DARK - TYPES_END EQU const_value + +NUM_TYPES EQU TYPES_END + UNUSED_TYPES - UNUSED_TYPES_END diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm index 8cf06db06..617cb906c 100644 --- a/constants/wram_constants.asm +++ b/constants/wram_constants.asm @@ -28,6 +28,7 @@ TEXT_DELAY_SLOW EQU 5 const FRAME_6 ; 5 const FRAME_7 ; 6 const FRAME_8 ; 7 +NUM_FRAMES EQU const_value ; TextBoxFlags: const_def @@ -52,6 +53,7 @@ const_value set -1 const UP ; 1 const LEFT ; 2 const RIGHT ; 3 +NUM_DIRECTIONS EQU const_value DOWN_MASK EQU 1 << DOWN UP_MASK EQU 1 << UP @@ -71,6 +73,7 @@ FACE_RIGHT EQU 1 const DAY_F ; 1 const NITE_F ; 2 const DARKNESS_F ; 3 +NUM_DAYTIMES EQU const_value MORN EQU 1 << MORN_F DAY EQU 1 << DAY_F @@ -116,9 +119,6 @@ PLAYER_SKATE EQU 2 PLAYER_SURF EQU 4 PLAYER_SURF_PIKA EQU 8 -OBJECT_STRUCT_LENGTH EQU 40 -NUM_OBJECT_STRUCTS EQU 13 - ; After-Champion Spawn SPAWN_LANCE EQU 1 SPAWN_RED EQU 2 |