summaryrefslogtreecommitdiff
path: root/constants
diff options
context:
space:
mode:
Diffstat (limited to 'constants')
-rw-r--r--constants/battle_anim_constants.asm186
-rw-r--r--constants/battle_constants.asm15
-rwxr-xr-xconstants/battle_tower_constants.asm32
-rw-r--r--constants/collision_constants.asm36
-rw-r--r--constants/gfx_constants.asm22
-rw-r--r--constants/hardware_constants.asm2
-rw-r--r--constants/item_constants.asm530
-rw-r--r--constants/item_data_constants.asm38
-rw-r--r--constants/landmark_constants.asm11
-rw-r--r--constants/map_constants.asm13
-rw-r--r--constants/map_data_constants.asm121
-rw-r--r--constants/misc_constants.asm10
-rw-r--r--constants/music_constants.asm4
-rw-r--r--constants/npctrade_constants.asm22
-rw-r--r--constants/phone_constants.asm4
-rw-r--r--constants/pokemon_constants.asm5
-rw-r--r--constants/pokemon_data_constants.asm98
-rw-r--r--constants/radio_constants.asm210
-rw-r--r--constants/script_constants.asm219
-rw-r--r--constants/sprite_anim_constants.asm570
-rw-r--r--constants/sprite_constants.asm4
-rw-r--r--constants/sprite_data_constants.asm7
-rw-r--r--constants/tileset_constants.asm5
-rw-r--r--constants/trainer_constants.asm22
-rw-r--r--constants/type_constants.asm10
-rw-r--r--constants/wram_constants.asm6
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