summaryrefslogtreecommitdiff
path: root/constants
diff options
context:
space:
mode:
Diffstat (limited to 'constants')
-rw-r--r--constants/animation_constants.asm38
-rwxr-xr-xconstants/audio_constants.asm100
-rw-r--r--constants/battle_constants.asm105
-rwxr-xr-xconstants/battle_tower_constants.asm22
-rwxr-xr-xconstants/cgb_constants.asm1
-rwxr-xr-xconstants/cry_constants.asm1
-rw-r--r--constants/deco_constants.asm98
-rw-r--r--constants/engine_flags.asm27
-rw-r--r--constants/event_flags.asm32
-rw-r--r--constants/gfx_constants.asm1
-rw-r--r--constants/item_constants.asm51
-rw-r--r--constants/landmark_constants.asm4
-rw-r--r--constants/map_constants.asm177
-rw-r--r--constants/map_setup_constants.asm8
-rw-r--r--constants/misc_constants.asm198
-rw-r--r--constants/mobile_constants.asm21
-rw-r--r--constants/move_constants.asm572
-rw-r--r--constants/music_constants.asm9
-rw-r--r--constants/phone_constants.asm6
-rw-r--r--constants/pokemon_constants.asm548
-rw-r--r--constants/pokemon_data_constants.asm39
-rwxr-xr-xconstants/printer_constants.asm2
-rw-r--r--constants/radio_constants.asm16
-rw-r--r--constants/script_constants.asm3
-rw-r--r--constants/sfx_constants.asm2
-rw-r--r--constants/sprite_constants.asm145
-rw-r--r--constants/std_constants.asm2
-rw-r--r--constants/tilemap_constants.asm26
-rw-r--r--constants/trainer_constants.asm92
-rw-r--r--constants/type_constants.asm4
-rw-r--r--constants/wram_constants.asm96
31 files changed, 1335 insertions, 1111 deletions
diff --git a/constants/animation_constants.asm b/constants/animation_constants.asm
index ea052aabb..8802cd579 100644
--- a/constants/animation_constants.asm
+++ b/constants/animation_constants.asm
@@ -1,3 +1,4 @@
+; battle_anim_struct members (see macros/wram.asm)
const_def
const BATTLEANIMSTRUCT_INDEX
const BATTLEANIMSTRUCT_01
@@ -25,6 +26,7 @@
const BATTLEANIMSTRUCT_17
BATTLEANIMSTRUCT_LENGTH EQU const_value
+; BattleAnimObjects indexes (see battle/objects/data.asm)
const_def
const ANIM_OBJ_00
const ANIM_OBJ_01
@@ -215,6 +217,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value
const ANIM_OBJ_BA
const ANIM_OBJ_BB
+; DoBattleAnimFrame arguments (see battle/objects/functions.asm)
const_def
const BATTLEANIMFUNC_00
const BATTLEANIMFUNC_01
@@ -297,6 +300,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value
const BATTLEANIMFUNC_4E
const BATTLEANIMFUNC_4F
+; BattleAnimFrameData indexes (see battle/objects/framesets.asm)
const_def
const BATTLEANIMFRAMESET_00
const BATTLEANIMFRAMESET_01
@@ -484,6 +488,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value
const BATTLEANIMFRAMESET_B7
const BATTLEANIMFRAMESET_B8
+; BattleAnimOAMData indexes (see battle/objects/oam.asm)
const_def
const BATTLEANIMOAMSET_00
const BATTLEANIMOAMSET_01
@@ -702,6 +707,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value
const BATTLEANIMOAMSET_D6
const BATTLEANIMOAMSET_D7
+; BattleBGEffects indexes (see battle/bg_effects.asm)
const_value SET 1
const ANIM_BG_FLASH_INVERTED
const ANIM_BG_FLASH_WHITE
@@ -757,17 +763,19 @@ const_value SET 1
const ANIM_BG_WOBBLE_MON
const ANIM_BG_35
+; PokeAnims indexes (see gfx/pics/animation.asm)
const_def
- const ANIM_MON_SLOW ; 0
- const ANIM_MON_NORMAL ; 1
- const ANIM_MON_MENU ; 2
- const ANIM_MON_TRADE ; 3
- const ANIM_MON_EVOLVE ; 4
- const ANIM_MON_HATCH ; 5
- const ANIM_MON_UNUSED ; 6
- const ANIM_MON_EGG1 ; 7
- const ANIM_MON_EGG2 ; 8
+ const ANIM_MON_SLOW
+ const ANIM_MON_NORMAL
+ const ANIM_MON_MENU
+ const ANIM_MON_TRADE
+ const ANIM_MON_EVOLVE
+ const ANIM_MON_HATCH
+ const ANIM_MON_UNUSED
+ const ANIM_MON_EGG1
+ const ANIM_MON_EGG2
+; AnimObjGFX indexes (see battle/objects/gfx_headers.asm)
const_value SET 1
const ANIM_GFX_HIT
const ANIM_GFX_CUT
@@ -809,8 +817,20 @@ const_value SET 1
const ANIM_GFX_WAVE
const ANIM_GFX_AEROBLAST
+; battle_bg_effect struct members (see macros/wram.asm)
const_def
const BG_EFFECT_STRUCT_FUNCTION
const BG_EFFECT_STRUCT_JT_INDEX
const BG_EFFECT_STRUCT_BATTLE_TURN
const BG_EFFECT_STRUCT_03
+
+; animation object palettes
+ const_def
+ const PAL_BATTLE_ENEMY ; 0
+ const PAL_BATTLE_PLAYER ; 1
+ const PAL_BATTLE_GRAY ; 2
+ const PAL_BATTLE_YELLOW ; 3
+ const PAL_BATTLE_RED ; 4
+ const PAL_BATTLE_GREEN ; 5
+ const PAL_BATTLE_BLUE ; 6
+ const PAL_BATTLE_BROWN ; 7
diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm
index bc50e3db2..a0c2f05ae 100755
--- a/constants/audio_constants.asm
+++ b/constants/audio_constants.asm
@@ -1,63 +1,69 @@
-
-
; pitch
const_def
- const __
- const C_
- const C#
- const D_
- const D#
- const E_
- const F_
- const F#
- const G_
- const G#
- const A_
- const A#
- const B_
- const CC ; used for pitchoffset
+ const __ ; 0
+ const C_ ; 1
+ const C# ; 2
+ const D_ ; 3
+ const D# ; 4
+ const E_ ; 5
+ const F_ ; 6
+ const F# ; 7
+ const G_ ; 8
+ const G# ; 9
+ const A_ ; a
+ const A# ; b
+ const B_ ; c
+ const CC ; d (used for pitchoffset)
; channel
+; ChannelPointers indexes (see engine/audio.asm)
const_def
- const CHAN1
- const CHAN2
- const CHAN3
- const CHAN4
+ const CHAN1 ; 0
+ const CHAN2 ; 1
+ const CHAN3 ; 2
+ const CHAN4 ; 3
NUM_MUSIC_CHANS EQU const_value
NUM_NOISE_CHANS EQU const_value
- const CHAN5
- const CHAN6
- const CHAN7
- const CHAN8
+ const CHAN5 ; 4
+ const CHAN6 ; 5
+ const CHAN7 ; 6
+ const CHAN8 ; 7
NUM_CHANNELS EQU const_value
; Flags1
-SOUND_CHANNEL_ON EQU 0
-SOUND_SUBROUTINE EQU 1
-SOUND_LOOPING EQU 2
-SOUND_SFX EQU 3
-SOUND_NOISE EQU 4
-SOUND_REST EQU 5
+ const_def
+ const SOUND_CHANNEL_ON ; 0
+ const SOUND_SUBROUTINE ; 1
+ const SOUND_LOOPING ; 2
+ const SOUND_SFX ; 3
+ const SOUND_NOISE ; 4
+ const SOUND_REST ; 5
; Flags2
-
-SOUND_VIBRATO EQU 0
-SOUND_PITCH_WHEEL EQU 1
-SOUND_DUTY EQU 2
-SOUND_UNKN_0B EQU 3
-SOUND_CRY_PITCH EQU 4
-SOUND_UNKN_0D EQU 5
-SOUND_UNKN_0E EQU 6
-SOUND_UNKN_0F EQU 7
+ const_def
+ const SOUND_VIBRATO ; 0
+ const SOUND_PITCH_WHEEL ; 1
+ const SOUND_DUTY ; 2
+ const SOUND_UNKN_0B ; 3
+ const SOUND_CRY_PITCH ; 4
+ const SOUND_UNKN_0D ; 5
+ const SOUND_UNKN_0E ; 6
+ const SOUND_UNKN_0F ; 7
; Flags3
-SOUND_VIBRATO_DIR EQU 0
-SOUND_PITCH_WHEEL_DIR EQU 1
+ const_def
+ const SOUND_VIBRATO_DIR ; 0
+ const SOUND_PITCH_WHEEL_DIR ; 1
; NoteFlags
-NOTE_DUTY_OVERRIDE EQU 0
-NOTE_FREQ_OVERRIDE EQU 1
-NOTE_UNKN_3 EQU 3
-NOTE_NOISE_SAMPLING EQU 4
-NOTE_REST EQU 5
-NOTE_VIBRATO_OVERRIDE EQU 6
+ const_def
+ const NOTE_DUTY_OVERRIDE ; 0
+ const NOTE_FREQ_OVERRIDE ; 1
+ const NOTE_UNUSED ; 2
+ const NOTE_UNKN_3 ; 3
+ const NOTE_NOISE_SAMPLING ; 4
+ const NOTE_REST ; 5
+ const NOTE_VIBRATO_OVERRIDE ; 6
+
+; Volume:
+MAX_VOLUME EQU $77
diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm
index 523713574..64e3ec4f8 100644
--- a/constants/battle_constants.asm
+++ b/constants/battle_constants.asm
@@ -1,12 +1,20 @@
+; significant level values
MAX_LEVEL EQU 100
MIN_LEVEL EQU 2
EGG_LEVEL EQU 5
+
+; maximum moves known per mon
NUM_MOVES EQU 4
-REST_TURNS EQU 2
-MAX_STAT_LEVEL EQU 13
+; significant stat values
BASE_STAT_LEVEL EQU 7
+MAX_STAT_LEVEL EQU 13
+; turns that Rest sleep lasts
+REST_TURNS EQU 2
+
+; PlayerStatLevels and EnemyStatLevels indexes
+; used for GetStatName
const_def
const ATTACK
const DEFENSE
@@ -15,10 +23,10 @@ BASE_STAT_LEVEL EQU 7
const SP_DEFENSE
const ACCURACY
const EVASION
- const ABILITY
+ const ABILITY ; used for BattleCommand_Curse
NUM_LEVEL_STATS EQU const_value
-; move struct
+; move struct members (see battle/moves/moves.asm)
const_def
const MOVE_ANIM
const MOVE_EFFECT
@@ -30,6 +38,9 @@ NUM_LEVEL_STATS EQU const_value
const MOVE_LENGTH
; stat constants
+; indexes for:
+; - PlayerStats and EnemyStats (see wram.asm)
+; - party_struct and battle_struct members (see macros/wram.asm)
const_value SET 1
const STAT_HP
const STAT_ATK
@@ -38,6 +49,8 @@ const_value SET 1
const STAT_SATK
const STAT_SDEF
NUM_STATS EQU const_value
+
+; stat formula constants
STAT_MIN_NORMAL EQU 5
STAT_MIN_HP EQU 10
@@ -45,12 +58,12 @@ STAT_MIN_HP EQU 10
ATKDEFDV_SHINY EQU $EA
SPDSPCDV_SHINY EQU $AA
-; battle classes
+; battle classes (wBattleMode values)
const_value SET 1
const WILD_BATTLE
const TRAINER_BATTLE
-; battle types
+; battle types (BattleType values)
const_def
const BATTLETYPE_NORMAL
const BATTLETYPE_CANLOSE
@@ -66,7 +79,7 @@ const_value SET 1
const BATTLETYPE_CELEBI
const BATTLETYPE_SUICUNE
-; battle variables
+; GetBattleVar and GetBattleVarAddr arguments (see home/battle.asm)
const_def
const BATTLE_VARS_SUBSTATUS1
const BATTLE_VARS_SUBSTATUS2
@@ -90,8 +103,37 @@ const_value SET 1
const BATTLE_VARS_LAST_MOVE
const BATTLE_VARS_LAST_MOVE_OPP
-; status
-SLP EQU 7 ; 0-7 turns
+; GetBattleVar and GetBattleVarAddr internal indexes (see home/battle.asm)
+ const_def
+ const PLAYER_SUBSTATUS_1
+ const ENEMY_SUBSTATUS_1
+ const PLAYER_SUBSTATUS_2
+ const ENEMY_SUBSTATUS_2
+ const PLAYER_SUBSTATUS_3
+ const ENEMY_SUBSTATUS_3
+ const PLAYER_SUBSTATUS_4
+ const ENEMY_SUBSTATUS_4
+ const PLAYER_SUBSTATUS_5
+ const ENEMY_SUBSTATUS_5
+ const PLAYER_STATUS
+ const ENEMY_STATUS
+ const PLAYER_MOVE_ANIMATION
+ const ENEMY_MOVE_ANIMATION
+ const PLAYER_MOVE_EFFECT
+ const ENEMY_MOVE_EFFECT
+ const PLAYER_MOVE_POWER
+ const ENEMY_MOVE_POWER
+ const PLAYER_MOVE_TYPE
+ const ENEMY_MOVE_TYPE
+ const PLAYER_CUR_MOVE
+ const ENEMY_CUR_MOVE
+ const PLAYER_COUNTER_MOVE
+ const ENEMY_COUNTER_MOVE
+ const PLAYER_LAST_MOVE
+ const ENEMY_LAST_MOVE
+
+; status condition bit flags
+SLP EQU %111 ; 0-7 turns
const_value SET 3
const PSN
const BRN
@@ -100,7 +142,7 @@ const_value SET 3
ALL_STATUS EQU (1 << PSN) + (1 << BRN) + (1 << FRZ) + (1 << PAR) + SLP
-; substatus
+; PlayerSubStatus1 or EnemySubStatus1 bit flags
enum_start 7, -1
enum SUBSTATUS_IN_LOVE
enum SUBSTATUS_ROLLOUT
@@ -111,8 +153,10 @@ ALL_STATUS EQU (1 << PSN) + (1 << BRN) + (1 << FRZ) + (1 << PAR) + SLP
enum SUBSTATUS_CURSE
enum SUBSTATUS_NIGHTMARE
-SUBSTATUS_CURLED EQU 0
+; PlayerSubStatus2 or EnemySubStatus2 bit flags
+SUBSTATUS_CURLED EQU 0
+; PlayerSubStatus3 or EnemySubStatus3 bit flags
enum_start 7, -1
enum SUBSTATUS_CONFUSED
enum SUBSTATUS_FLYING
@@ -123,6 +167,7 @@ SUBSTATUS_CURLED EQU 0
enum SUBSTATUS_RAMPAGE
enum SUBSTATUS_BIDE
+; PlayerSubStatus4 or EnemySubStatus4 bit flags
enum_start 7, -1
enum SUBSTATUS_LEECH_SEED
enum SUBSTATUS_RAGE
@@ -133,6 +178,7 @@ SUBSTATUS_CURLED EQU 0
enum SUBSTATUS_MIST
enum SUBSTATUS_X_ACCURACY
+; PlayerSubStatus5 or EnemySubStatus5 bit flags
enum_start 7, -1
enum SUBSTATUS_CANT_RUN
enum SUBSTATUS_DESTINY_BOND
@@ -143,7 +189,7 @@ SUBSTATUS_CURLED EQU 0
enum SUBSTATUS_UNKNOWN_3
enum SUBSTATUS_TOXIC
-; environmental
+; PlayerScreens or EnemyScreens bit flags
enum_start 4, -1
enum SCREENS_REFLECT
enum SCREENS_LIGHT_SCREEN
@@ -151,7 +197,7 @@ SUBSTATUS_CURLED EQU 0
enum SCREENS_UNUSED
enum SCREENS_SPIKES
-; weather
+; Weather values
const_def
const WEATHER_NONE
const WEATHER_RAIN
@@ -161,8 +207,7 @@ SUBSTATUS_CURLED EQU 0
const WEATHER_SUN_END
const WEATHER_SANDSTORM_END
-
-; move effects
+; MoveEffectsPointers indexes (see battle/moves/move_effects_pointers.asm)
const_def
const EFFECT_NORMAL_HIT
const EFFECT_SLEEP
@@ -322,35 +367,6 @@ SUBSTATUS_CURLED EQU 0
const EFFECT_FLY
const EFFECT_DEFENSE_CURL
-; Battle vars used in home/battle.asm
- const_def
- const PLAYER_SUBSTATUS_1
- const ENEMY_SUBSTATUS_1
- const PLAYER_SUBSTATUS_2
- const ENEMY_SUBSTATUS_2
- const PLAYER_SUBSTATUS_3
- const ENEMY_SUBSTATUS_3
- const PLAYER_SUBSTATUS_4
- const ENEMY_SUBSTATUS_4
- const PLAYER_SUBSTATUS_5
- const ENEMY_SUBSTATUS_5
- const PLAYER_STATUS
- const ENEMY_STATUS
- const PLAYER_MOVE_ANIMATION
- const ENEMY_MOVE_ANIMATION
- const PLAYER_MOVE_EFFECT
- const ENEMY_MOVE_EFFECT
- const PLAYER_MOVE_POWER
- const ENEMY_MOVE_POWER
- const PLAYER_MOVE_TYPE
- const ENEMY_MOVE_TYPE
- const PLAYER_CUR_MOVE
- const ENEMY_CUR_MOVE
- const PLAYER_COUNTER_MOVE
- const ENEMY_COUNTER_MOVE
- const PLAYER_LAST_MOVE
- const ENEMY_LAST_MOVE
-
; wBattleAction
const_def
const BATTLEACTION_MOVE1
@@ -370,6 +386,7 @@ SUBSTATUS_CURLED EQU 0
const BATTLEACTION_E
const BATTLEACTION_FORFEIT
+; wBattleResult
const_def
const WIN
const LOSE
diff --git a/constants/battle_tower_constants.asm b/constants/battle_tower_constants.asm
index 481c1f19b..5ab69d752 100755
--- a/constants/battle_tower_constants.asm
+++ b/constants/battle_tower_constants.asm
@@ -1,3 +1,4 @@
+; BattleTowerAction arguments (see misc/battle_tower_5c.asm)
const_def
const BATTLETOWERACTION_CHECK_EXPLANATION_READ
const BATTLETOWERACTION_SET_EXPLANATION_READ
@@ -32,8 +33,19 @@
const BATTLETOWERACTION_CHOOSEREWARD ; save options
const BATTLETOWERACTION_SAVEOPTIONS
-BATTLETOWER_NO_CHALLENGE EQU 0
-BATTLETOWER_SAVED_AND_LEFT EQU 1
-BATTLETOWER_CHALLENGE_IN_PROGESS EQU 2
-BATTLETOWER_WON_CHALLENGE EQU 3
-BATTLETOWER_RECEIVED_REWARD EQU 4
+; sBattleTowerChallengeState
+ 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/cgb_constants.asm b/constants/cgb_constants.asm
index 36cf369c2..c5aef7750 100755
--- a/constants/cgb_constants.asm
+++ b/constants/cgb_constants.asm
@@ -1,3 +1,4 @@
+; GetSGBLayout arguments (see predef/cgb.asm and predef/sgb.asm)
const_def
const SCGB_BATTLE_GRAYSCALE
const SCGB_BATTLE_COLORS
diff --git a/constants/cry_constants.asm b/constants/cry_constants.asm
index da40877cc..654aac523 100755
--- a/constants/cry_constants.asm
+++ b/constants/cry_constants.asm
@@ -1,3 +1,4 @@
+; Cries indexes (see audio/cry_pointers.asm)
const_def
; gen 1
diff --git a/constants/deco_constants.asm b/constants/deco_constants.asm
index 22cf1e670..540920e5c 100644
--- a/constants/deco_constants.asm
+++ b/constants/deco_constants.asm
@@ -1,3 +1,4 @@
+; decoration types
const_value = 1
const DECO_PLANT
const DECO_BED
@@ -6,6 +7,7 @@ const_value = 1
const DECO_DOLL
const DECO_BIGDOLL
+; DecorationNames indexes (see engine/decorations.asm)
const_value = 1
const PUT_IT_AWAY
const MAGNAPLANT
@@ -33,6 +35,7 @@ const_value = 1
const YELLOW_CARPET
const GREEN_CARPET
+; DoDecorationAction2 arguments (see engine/decorations.asm)
const_value = 1
const SET_UP_BED
const PUT_AWAY_BED
@@ -56,66 +59,67 @@ deco: MACRO
enum DECOFLAG_\1
endm
+; decorations
const_value = 1
__enum__ = 0
const BEDS
- deco FEATHERY_BED ; 2 (0)
- deco PINK_BED ; 3 (1)
- deco POLKADOT_BED ; 4 (2)
- deco PIKACHU_BED ; 5 (3)
+ deco FEATHERY_BED
+ deco PINK_BED
+ deco POLKADOT_BED
+ deco PIKACHU_BED
const CARPETS
- deco RED_CARPET ; 7 (4)
- deco BLUE_CARPET ; 8 (5)
- deco YELLOW_CARPET ; 9 (6)
- deco GREEN_CARPET ; a (7)
+ deco RED_CARPET
+ deco BLUE_CARPET
+ deco YELLOW_CARPET
+ deco GREEN_CARPET
const PLANTS
- deco MAGNAPLANT ; c (8)
- deco TROPICPLANT ; d (9)
- deco JUMBOPLANT ; e (a)
+ deco MAGNAPLANT
+ deco TROPICPLANT
+ deco JUMBOPLANT
const POSTERS
- deco TOWN_MAP ; 10 (b)
- deco PIKACHU_POSTER ; 11 (c)
- deco CLEFAIRY_POSTER ; 12 (d)
- deco JIGGLYPUFF_POSTER ; 13(e)
+ deco TOWN_MAP
+ deco PIKACHU_POSTER
+ deco CLEFAIRY_POSTER
+ deco JIGGLYPUFF_POSTER
const CONSOLES
- deco FAMICOM ; 15 (f)
- deco SNES ; 16 (10)
- deco N64 ; 17 (11)
- deco VIRTUAL_BOY ; 18 (12)
+ deco FAMICOM
+ deco SNES
+ deco N64
+ deco VIRTUAL_BOY
const BIG_DOLLS
- deco BIG_SNORLAX_DOLL ; 1a (13)
- deco BIG_ONIX_DOLL ; 1b (14)
- deco BIG_LAPRAS_DOLL ; 1c (15)
+ deco BIG_SNORLAX_DOLL
+ deco BIG_ONIX_DOLL
+ deco BIG_LAPRAS_DOLL
const DOLLS
- deco PIKACHU_DOLL ; 1e (16)
- deco SURF_PIKACHU_DOLL ; 1f (17)
- deco CLEFAIRY_DOLL ; 20 (18)
- deco JIGGLYPUFF_DOLL ; 21 (19)
- deco BULBASAUR_DOLL ; 22 (1a)
- deco CHARMANDER_DOLL ; 23 (1b)
- deco SQUIRTLE_DOLL ; 24 (1c)
- deco POLIWAG_DOLL ; 25 (1d)
- deco DIGLETT_DOLL ; 26 (1e)
- deco STARMIE_DOLL ; 27 (1f)
- deco MAGIKARP_DOLL ; 28 (20)
- deco ODDISH_DOLL ; 29 (21)
- deco GENGAR_DOLL ; 2a (22)
- deco SHELLDER_DOLL ; 2b (23)
- deco GRIMER_DOLL ; 2c (24)
- deco VOLTORB_DOLL ; 2d (25)
- deco WEEDLE_DOLL ; 2e (26)
- deco UNOWN_DOLL ; 2f (27)
- deco GEODUDE_DOLL ; 30 (28)
- deco MACHOP_DOLL ; 31 (29)
- deco TENTACOOL_DOLL ; 32 (2a)
- deco GOLD_TROPHY_DOLL ; 33 (2b)
- deco SILVER_TROPHY_DOLL ; 34 (2c)
+ deco PIKACHU_DOLL
+ deco SURF_PIKACHU_DOLL
+ deco CLEFAIRY_DOLL
+ deco JIGGLYPUFF_DOLL
+ deco BULBASAUR_DOLL
+ deco CHARMANDER_DOLL
+ deco SQUIRTLE_DOLL
+ deco POLIWAG_DOLL
+ deco DIGLETT_DOLL
+ deco STARMIE_DOLL
+ deco MAGIKARP_DOLL
+ deco ODDISH_DOLL
+ deco GENGAR_DOLL
+ deco SHELLDER_DOLL
+ deco GRIMER_DOLL
+ deco VOLTORB_DOLL
+ deco WEEDLE_DOLL
+ deco UNOWN_DOLL
+ deco GEODUDE_DOLL
+ deco MACHOP_DOLL
+ deco TENTACOOL_DOLL
+ deco GOLD_TROPHY_DOLL
+ deco SILVER_TROPHY_DOLL
-NUM_NON_TROPHY_DECOS EQU $2b
-NUM_DECOS EQU $2d
+NUM_DECOS = __enum__
+NUM_NON_TROPHY_DECOS = NUM_DECOS +- 2
diff --git a/constants/engine_flags.asm b/constants/engine_flags.asm
index 31a038196..080939f2c 100644
--- a/constants/engine_flags.asm
+++ b/constants/engine_flags.asm
@@ -1,22 +1,29 @@
+; EngineFlags indexes (see engine/engine_flasg.asm)
const_def
-
+; wPokegearFlags
const ENGINE_RADIO_CARD
const ENGINE_MAP_CARD
const ENGINE_PHONE_CARD
const ENGINE_EXPN_CARD
const ENGINE_POKEGEAR
+; wDaycareMan
const ENGINE_DAYCARE_MAN_HAS_EGG
const ENGINE_DAYCARE_MAN_HAS_MON
+; wDaycareLady
const ENGINE_DAYCARE_LADY_HAS_MON
+; wMomSavingMoney
const ENGINE_MOM_SAVING_MONEY
const ENGINE_DST
+; wUnusedTwoDayTimerOn
const ENGINE_0A
+; StatusFlags
const ENGINE_POKEDEX
const ENGINE_UNOWN_DEX
const ENGINE_POKERUS
const ENGINE_ROCKET_SIGNAL_ON_CH20
const ENGINE_CREDITS_SKIP
const ENGINE_BUG_CONTEST_ON ; 10
+; StatusFlags2
const ENGINE_BUG_CONTEST_TIMER
const ENGINE_SAFARI_ZONE
const ENGINE_ROCKETS_IN_RADIO_TOWER
@@ -24,9 +31,11 @@
const ENGINE_GIVE_POKERUS
const ENGINE_FLORIA
const ENGINE_ROCKETS_IN_MAHOGANY
+; BikeFlags
const ENGINE_STRENGTH_ACTIVE
const ENGINE_ALWAYS_ON_BIKE
const ENGINE_DOWNHILL
+; JohtoBadges
const ENGINE_ZEPHYRBADGE
const ENGINE_HIVEBADGE
const ENGINE_PLAINBADGE
@@ -35,6 +44,7 @@
const ENGINE_STORMBADGE ; 20
const ENGINE_GLACIERBADGE
const ENGINE_RISINGBADGE
+; KantoBadges
const ENGINE_BOULDERBADGE
const ENGINE_CASCADEBADGE
const ENGINE_THUNDERBADGE
@@ -43,6 +53,7 @@
const ENGINE_MARSHBADGE
const ENGINE_VOLCANOBADGE
const ENGINE_EARTHBADGE
+; UnlockedUnowns
const ENGINE_UNLOCKED_UNOWNS_1
const ENGINE_UNLOCKED_UNOWNS_2
const ENGINE_UNLOCKED_UNOWNS_3
@@ -51,6 +62,7 @@
const ENGINE_UNLOCKED_UNOWNS_6 ; 30
const ENGINE_UNLOCKED_UNOWNS_7
const ENGINE_UNLOCKED_UNOWNS_8
+; VisitedSpawns
const ENGINE_FLYPOINT_KRISS_HOUSE
const ENGINE_FLYPOINT_VIRIDIAN_POKECENTER
const ENGINE_FLYPOINT_PALLET
@@ -78,8 +90,11 @@
const ENGINE_FLYPOINT_BLACKTHORN
const ENGINE_FLYPOINT_SILVER_CAVE
const ENGINE_FLYPOINT_UNUSED
+; wLuckyNumberShowFlag
const ENGINE_LUCKY_NUMBER_SHOW
+; StatusFlags2
const ENGINE_4F
+; DailyFlags
const ENGINE_KURT_MAKING_BALLS ; 50
const ENGINE_DAILY_BUG_CONTEST
const ENGINE_SPECIAL_WILDDATA
@@ -88,6 +103,7 @@
const ENGINE_SHUCKLE_GIVEN
const ENGINE_GOLDENROD_UNDERGROUND_MERCHANT_CLOSED
const ENGINE_FOUGHT_IN_TRAINER_HALL_TODAY
+; WeeklyFlags
const ENGINE_MT_MOON_SQUARE_CLEFAIRY
const ENGINE_UNION_CAVE_LAPRAS
const ENGINE_GOLDENROD_UNDERGROUND_GOT_HAIRCUT
@@ -96,11 +112,16 @@
const ENGINE_INDIGO_PLATEAU_RIVAL_FIGHT
const ENGINE_DAILY_MOVE_TUTOR
const ENGINE_BUENAS_PASSWORD
+; SwarmFlags
const ENGINE_BUENAS_PASSWORD_2 ; 60
const ENGINE_GOLDENROD_DEPT_STORE_SALE_IS_ON
+; GameTimerPause
const ENGINE_62
+; PlayerGender
const ENGINE_PLAYER_IS_FEMALE
+; wCelebiEvent
const ENGINE_HAVE_EXAMINED_GS_BALL
+; wDailyRematchFlags
const ENGINE_JACK
const ENGINE_HUEY
const ENGINE_GAVEN
@@ -125,6 +146,7 @@
const ENGINE_WILTON
const ENGINE_PARRY
const ENGINE_ERIN
+; wDailyPhoneItemFlags
const ENGINE_BEVERLY_HAS_NUGGET
const ENGINE_JOSE_HAS_STAR_PIECE
const ENGINE_WADE_HAS_ITEM
@@ -135,6 +157,7 @@
const ENGINE_TULLY_HAS_WATER_STONE
const ENGINE_TIFFANY_HAS_PINK_BOW
const ENGINE_WILTON_HAS_ITEM
+; wDailyPhoneTimeOfDayFlags
const ENGINE_JACK_MONDAY_MORNING
const ENGINE_HUEY_WEDNESDAY_NIGHT
const ENGINE_GAVEN_THURSDAY_MORNING
@@ -159,7 +182,9 @@
const ENGINE_WILTON_THRUSDAY_MORNING
const ENGINE_PARRY_FRIDAY_AFTERNOON
const ENGINE_ERIN_SATURDAY_NIGHT
+; wPlayerSpriteSetupFlags
const ENGINE_KRIS_IN_CABLE_CLUB
+; SwarmFlags
const ENGINE_DUNSPARCE_SWARM ; a0
const ENGINE_YANMA_SWARM
NUM_ENGINE_FLAGS EQU const_value
diff --git a/constants/event_flags.asm b/constants/event_flags.asm
index 636d0226c..8ec4f46d5 100644
--- a/constants/event_flags.asm
+++ b/constants/event_flags.asm
@@ -1,7 +1,6 @@
-
+; EventFlags bit flags
const_def
-
-; These first eight flags are reset upon reloading the map.
+; The first eight flags are reset upon reloading the map
const EVENT_GAVE_KURT_APRICORNS ; 000
const EVENT_RECEIVED_BALLS_FROM_KURT
const EVENT_DRAGON_SHRINE_QUESTION_2
@@ -10,7 +9,7 @@
const EVENT_DRAGON_SHRINE_QUESTION_5
const EVENT_JUST_RECEIVED_DRATINI
const EVENT_IN_YOUR_ROOM
-; Johto story events
+; Johto Gym Leader TM gifts
const EVENT_GOT_TM31_MUD_SLAP
const EVENT_GOT_TM49_FURY_CUTTER
const EVENT_GOT_TM01_DYNAMICPUNCH
@@ -19,6 +18,7 @@
const EVENT_GOT_TM23_IRON_TAIL
const EVENT_GOT_TM16_ICY_WIND
const EVENT_GOT_TM24_DRAGONBREATH
+; HMs (EVENT_GOT_HM07_WATERFALL is with the Johto itemballs)
const EVENT_GOT_HM01_CUT
const EVENT_GOT_HM02_FLY
const EVENT_GOT_HM03_SURF
@@ -26,9 +26,11 @@
const EVENT_GOT_HM05_FLASH
const EVENT_GOT_HM06_WHIRLPOOL
const EVENT_016
+; Rods
const EVENT_GOT_OLD_ROD
const EVENT_GOT_GOOD_ROD
const EVENT_GOT_SUPER_ROD
+; Johto story events
const EVENT_GOT_A_POKEMON_FROM_ELM
const EVENT_GOT_CYNDAQUIL_FROM_ELM
const EVENT_GOT_TOTODILE_FROM_ELM
@@ -128,7 +130,7 @@
const EVENT_GOT_TM12_SWEET_SCENT
const EVENT_RELEASED_THE_BEASTS
const EVENT_GOT_MASTER_BALL_FROM_ELM
-; Johto Signpost Items
+; Johto signpost items
const EVENT_TIN_TOWER_4F_HIDDEN_MAX_POTION
const EVENT_TIN_TOWER_5F_HIDDEN_FULL_RESTORE
const EVENT_TIN_TOWER_5F_HIDDEN_CARBOS
@@ -234,7 +236,7 @@
const EVENT_TALKED_TO_OAK_IN_KANTO
const EVENT_GOT_HP_UP_FROM_VERMILION_GUY
const EVENT_GOT_TM29_PSYCHIC
-; Kanto Signpost Items
+; Kanto signpost items
const EVENT_DIGLETTS_CAVE_HIDDEN_MAX_REVIVE
const EVENT_UNDERGROUND_HIDDEN_FULL_RESTORE
const EVENT_UNDERGROUND_HIDDEN_X_SPECIAL
@@ -608,7 +610,7 @@
const EVENT_255
const EVENT_256
const EVENT_257
-; Kurt events
+; Kurt Apricorn events
const EVENT_GAVE_KURT_RED_APRICORN
const EVENT_GAVE_KURT_BLU_APRICORN
const EVENT_GAVE_KURT_YLW_APRICORN
@@ -682,7 +684,7 @@
const EVENT_ERIN_ASKED_FOR_PHONE_NUMBER
const EVENT_BUENA_OFFERED_HER_PHONE_NUMBER_NO_BLUE_CARD
const EVENT_29F
-; Ruins Of Alph puzzles
+; Ruins of Alph puzzles
const EVENT_SOLVED_HO_OH_PUZZLE ; 2a0
const EVENT_SOLVED_KABUTO_PUZZLE
const EVENT_SOLVED_OMANYTE_PUZZLE
@@ -734,7 +736,7 @@
const EVENT_DECO_BIG_SNORLAX_DOLL
const EVENT_DECO_BIG_ONIX_DOLL ; 2d0
const EVENT_DECO_BIG_LAPRAS_DOLL
-; More Johto events
+; More Johto story events
const EVENT_WARPED_FROM_ROUTE_35_NATIONAL_PARK_GATE
const EVENT_SWITCH_1
const EVENT_SWITCH_2
@@ -818,7 +820,7 @@
const EVENT_GOT_WATER_STONE_FROM_BILLS_GRANDPA
const EVENT_GOT_FIRE_STONE_FROM_BILLS_GRANDPA
const EVENT_GOT_THUNDERSTONE_FROM_BILLS_GRANDPA
-; More Crystal-specific events
+; More Crystal-exclusive events in Johto
const EVENT_LISTENED_TO_INITIAL_RADIO
const EVENT_WALL_OPENED_IN_HO_OH_CHAMBER
const EVENT_WALL_OPENED_IN_KABUTO_CHAMBER
@@ -1015,7 +1017,7 @@
const EVENT_3E5
const EVENT_3E6
const EVENT_3E7
-; Trainer Flags
+; Trainer flags
; Swimmer F
const EVENT_BEAT_SWIMMERF_ELAINE
const EVENT_BEAT_SWIMMERF_PAULA
@@ -1530,7 +1532,7 @@
const EVENT_BEAT_ELITE_4_BRUNO
const EVENT_BEAT_ELITE_4_KAREN
const EVENT_BEAT_CHAMPION_LANCE
-; New to Crystal
+; Crystal-exclusive trainer flags
const EVENT_BEAT_COOLTRAINERM_DARIN
const EVENT_BEAT_COOLTRAINERF_CARA
const EVENT_BEAT_TWINS_LEA_AND_PIA
@@ -1663,10 +1665,11 @@
const EVENT_63D
const EVENT_63E
const EVENT_63F
-; Sprite visibility: When these events are cleared, the sprite becomes visible; when set, the sprite is hidden.
+; Sprite visibility flags
+; When these events are cleared, the sprite becomes visible; when set, the sprite is hidden.
; The map script command macros `disappear` and `appear` set/clear these flags and immediately apply the effect on visibility.
; The map script command macros `setevent` and `clearevent` set/clear these flags, and their effects will be seen when the map is reloaded.
-; Johto items: 0x640
+; Johto itemballs
const EVENT_CYNDAQUIL_POKEBALL_IN_ELMS_LAB
const EVENT_TOTODILE_POKEBALL_IN_ELMS_LAB
const EVENT_CHIKORITA_POKEBALL_IN_ELMS_LAB
@@ -1986,6 +1989,7 @@
const EVENT_MT_MOON_RIVAL
const EVENT_INDIGO_PLATEAU_POKECENTER_RIVAL
const EVENT_TELEPORT_GUY
+; Kanto itemballs
const EVENT_PICKED_UP_FOCUS_BAND
const EVENT_ROCK_TUNNEL_1F_ELIXER
const EVENT_ROCK_TUNNEL_1F_TM_STEEL_WING
diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm
index 9478cd123..6b8cc33c9 100644
--- a/constants/gfx_constants.asm
+++ b/constants/gfx_constants.asm
@@ -1,4 +1,3 @@
LEN_2BPP_TILE EQU 16
LEN_1BPP_TILE EQU 8
TILES_PER_FRAME EQU 6
-TILESIZE EQU $10
diff --git a/constants/item_constants.asm b/constants/item_constants.asm
index 76eaba5ca..443176f1f 100644
--- a/constants/item_constants.asm
+++ b/constants/item_constants.asm
@@ -1,3 +1,9 @@
+; item ids
+; indexes for:
+; - ItemAttributes (see items/item_attributes.asm)
+; - ItemDescriptions (see items/item_descriptions.asm)
+; - ItemEffects (see items/item_effects.asm)
+; - ItemNames (see items/item_names.asm)
const_def
const NO_ITEM ; $00
const MASTER_BALL ; $01
@@ -243,7 +249,7 @@
add_tm FIRE_PUNCH ; $F0
add_tm FURY_CUTTER ; $F1
add_tm NIGHTMARE ; $F2
-NUM_TMS = const_value - TM01 - 2
+NUM_TMS = const_value - TM01 - 2 ; discount ITEM_C3 and ITEM_DC
add_hm CUT ; $F3
add_hm FLY ; $F4
@@ -253,27 +259,37 @@ NUM_TMS = const_value - TM01 - 2
add_hm WHIRLPOOL ; $F8
add_hm WATERFALL ; $F9
NUM_HMS = const_value - HM01
- const HM_08 ; $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
-
+ITEM_FROM_MEM EQU $FF
; leftovers from red
-SAFARI_BALL EQU 8 ; MOON_STONE
-MOON_STONE_RED EQU 10 ; BURN_HEAL
-FULL_HEAL_RED EQU 52 ; X_SPEED
-MAIL_MAX_LENGTH EQU $20
+SAFARI_BALL EQU $08 ; MOON_STONE
+MOON_STONE_RED EQU $0A ; BURN_HEAL
+FULL_HEAL_RED EQU $34 ; X_SPEED
+
+; mail
+MAIL_MSG_LENGTH EQU $20
+MAILBOX_CAPACITY EQU 10
+MAIL_STRUCT_LENGTH EQU $2f ; mailmsg struct
-; pockets
+; 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 actions
CANT_SELECT EQU 1 << 6
CANT_TOSS EQU 1 << 7
@@ -356,6 +372,7 @@ const_value SET 70
const HELD_78
const HELD_FOCUS_BAND
+; item_attribute struct members (see items/item_attributes.asm)
const_def
const ITEMATTR_PRICE
const ITEMATTR_PRICE_HI
@@ -366,11 +383,13 @@ const_value SET 70
const ITEMATTR_HELP
NUM_ITEMATTRS EQU const_value
-ITEMMENU_NOUSE EQU 0
-ITEMMENU_CURRENT EQU 4
-ITEMMENU_PARTY EQU 5
-ITEMMENU_CLOSE EQU 6
+; item menu types
+ITEMMENU_NOUSE EQU 0
+ITEMMENU_CURRENT EQU 4
+ITEMMENU_PARTY EQU 5
+ITEMMENU_CLOSE EQU 6
+; mart types (see engine/mart.asm)
const_def
const MARTTYPE_STANDARD
const MARTTYPE_BITTER
@@ -378,6 +397,7 @@ ITEMMENU_CLOSE EQU 6
const MARTTYPE_PHARMACY
const MARTTYPE_ROOFTOP
+; Marts indexes (see items/marts.asm)
const_def
const MART_CHERRYGROVE
const MART_CHERRYGROVE_DEX
@@ -414,7 +434,8 @@ ITEMMENU_CLOSE EQU 6
const MART_INDIGO_PLATEAU
const MART_UNDERGROUND
-; PartyMenuActionText
+; PartyMenuActionText values
+; GetPartyMenuTilemapPointers arguments (see engine/party_menu.asm)
const_def
const PARTYMENUACTION_CHOOSE_POKEMON
const PARTYMENUACTION_HEALING_ITEM
@@ -426,7 +447,7 @@ ITEMMENU_CLOSE EQU 6
const PARTYMENUACTION_GIVE_MON_FEMALE ; unused
const PARTYMENUACTION_GIVE_ITEM
const PARTYMENUACTION_MOBILE ; mobile
-
+; PrintPartyMenuActionText arguments (see engine/party_menu.asm)
const_value set $f0
const PARTYMENUTEXT_HEAL_PSN
const PARTYMENUTEXT_HEAL_BRN
diff --git a/constants/landmark_constants.asm b/constants/landmark_constants.asm
index 5aa14f972..f9c840595 100644
--- a/constants/landmark_constants.asm
+++ b/constants/landmark_constants.asm
@@ -1,6 +1,7 @@
-
+; Landmarks indexes (see engine/landmarks.asm)
const_def
+; Johto landmarks
const SPECIAL_MAP ; 00
const NEW_BARK_TOWN ; 01
const ROUTE_29 ; 02
@@ -50,7 +51,6 @@
const SILVER_CAVE ; 2e
KANTO_LANDMARK EQU const_value
-
const PALLET_TOWN ; 2f
const ROUTE_1 ; 30
const VIRIDIAN_CITY ; 31
diff --git a/constants/map_constants.asm b/constants/map_constants.asm
index 1ed12662f..b1b78551c 100644
--- a/constants/map_constants.asm
+++ b/constants/map_constants.asm
@@ -5,7 +5,13 @@ GROUP_NONE EQU 0
MAP_NONE EQU 0
; map group ids
+; `newgroup` indexes are for:
+; - MapGroupPointers (see maps/map_headers.asm)
+; - OutdoorSprites (see engine/overworld.asm)
+; - MapGroupRoofs (see tilesets/roofs.asm)
+; `mapgroup` indexes are for the sub-tables of MapGroupPointers (see maps/map_headers.asm)
const_def
+
newgroup ; 1
mapgroup OLIVINE_POKECENTER_1F, 4, 5 ; 1
@@ -473,25 +479,41 @@ MAP_NONE EQU 0
mapgroup ROUTE_31_VIOLET_GATE, 4, 5 ; 11
-; elevator floors
+; map permissions (wPermission)
+const_value SET 1
+ const TOWN
+ const ROUTE
+ const INDOOR
+ const CAVE
+ const PERM_5
+ const GATE
+ const DUNGEON
+; map palettes (wPermission)
const_def
- const _B4F
- const _B3F
- const _B2F
- const _B1F
- const _1F
- const _2F
- const _3F
- const _4F
- const _5F
- const _6F
- const _7F
- const _8F
- const _9F
- const _10F
- const _11F
- const _ROOF
+ const PALETTE_AUTO
+ const PALETTE_DAY
+ const PALETTE_NITE
+ const PALETTE_MORN
+ const PALETTE_DARK
+
+; fish groups
+ const_def
+ const FISHGROUP_NONE
+ const FISHGROUP_SHORE
+ const FISHGROUP_OCEAN
+ const FISHGROUP_LAKE
+ const FISHGROUP_POND
+ const FISHGROUP_DRATINI
+ const FISHGROUP_QWILFISH_SWARM
+ const FISHGROUP_REMORAID_SWARM
+ const FISHGROUP_GYARADOS
+ const FISHGROUP_DRATINI_2
+ const FISHGROUP_WHIRL_ISLANDS
+ const FISHGROUP_QWILFISH
+ const FISHGROUP_REMORAID
+ const FISHGROUP_QWILFISH_NO_SWARM
+
; connection directions
const_def
@@ -500,23 +522,15 @@ MAP_NONE EQU 0
const SOUTH_F
const NORTH_F
+; MapConnections
const_def
shift_const EAST
shift_const WEST
shift_const SOUTH
shift_const NORTH
-; permissions
-const_value SET 1
- const TOWN
- const ROUTE
- const INDOOR
- const CAVE
- const PERM_5
- const GATE
- const DUNGEON
-; object struct
+; object_struct members (see macros/wram.asm)
const_def
const OBJECT_SPRITE ; 00
const OBJECT_MAP_OBJECT_INDEX ; 01
@@ -553,7 +567,7 @@ const_value SET 1
const OBJECT_RANGE ; 20
; 33-39 are not used
-; map object struct
+; map_object struct members (see macros/wram.asm)
const_def
const MAPOBJECT_OBJECT_STRUCT_ID ; 0
const MAPOBJECT_SPRITE ; 1
@@ -576,46 +590,25 @@ OBJECT_LENGTH EQU const_value
MAPOBJECT_SCREEN_HEIGHT EQU 11
MAPOBJECT_SCREEN_WIDTH EQU 12
+; object_struct OBJECT_FACING values
OW_DOWN EQU DOWN << 2
OW_UP EQU UP << 2
OW_LEFT EQU LEFT << 2
OW_RIGHT EQU RIGHT << 2
- 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_0B ; 11
-EMOTE_MEM EQU -1
-
- const_def
- const SIGNPOST_READ
- const SIGNPOST_UP
- const SIGNPOST_DOWN
- const SIGNPOST_RIGHT
- const SIGNPOST_LEFT
- const SIGNPOST_IFSET
- const SIGNPOST_IFNOTSET
- const SIGNPOST_ITEM
- const SIGNPOST_COPY
-
-; I'm relocating spawn constants here, so that they can be used anywhere in the disassembly.
+; object_struct OBJECT_FLAGS1 bit flags
+INVISIBLE EQU 0
+FIXED_FACING EQU 2
+SLIDING EQU 3
+EMOTE_OBJECT EQU 7
+; SpawnPoints indexes (see engine/spawn_points.asm)
const_value = -1
const SPAWN_N_A
-
const SPAWN_HOME
const SPAWN_DEBUG
-
+; kanto
const SPAWN_PALLET
const SPAWN_VIRIDIAN
const SPAWN_PEWTER
@@ -628,7 +621,7 @@ const_value = -1
const SPAWN_FUCHSIA
const SPAWN_CINNABAR
const SPAWN_INDIGO
-
+; johto
const SPAWN_NEW_BARK
const SPAWN_CHERRYGROVE
const SPAWN_VIOLET
@@ -645,18 +638,21 @@ const_value = -1
const SPAWN_FAST_SHIP
NUM_SPAWNS EQU const_value
- const_def
- const PALETTE_AUTO
- const PALETTE_DAY
- const PALETTE_NITE
- const PALETTE_MORN
- const PALETTE_DARK
-INVISIBLE EQU 0
-FIXED_FACING EQU 2
-SLIDING EQU 3
-EMOTE_OBJECT EQU 7
+; TryReadSign arguments (see engine/events.asm)
+ const_def
+ const SIGNPOST_READ
+ const SIGNPOST_UP
+ const SIGNPOST_DOWN
+ const SIGNPOST_RIGHT
+ const SIGNPOST_LEFT
+ const SIGNPOST_IFSET
+ const SIGNPOST_IFNOTSET
+ const SIGNPOST_ITEM
+ const SIGNPOST_COPY
+; person_event types
+; TryObjectEvent arguments (see engine/events.asm)
const_def
const PERSONTYPE_SCRIPT
const PERSONTYPE_ITEMBALL
@@ -666,7 +662,24 @@ EMOTE_OBJECT EQU 7
const PERSONTYPE_5
const PERSONTYPE_6
-; fruit trees
+
+; EmotesPointers indexes (see engine/overworld.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 engine/fruit_trees.asm)
const_value SET 1
const FRUITTREE_ROUTE_29 ; 01
const FRUITTREE_ROUTE_30_1 ; 02
@@ -700,6 +713,27 @@ const_value SET 1
const FRUITTREE_FUCHSIA_CITY ; 1e
NUM_FRUIT_TREES EQU const_value +- 1
+; elevator floors
+; used by `elevfloor`
+ const_def
+ const _B4F
+ const _B3F
+ const _B2F
+ const _B1F
+ const _1F
+ const _2F
+ const _3F
+ const _4F
+ const _5F
+ const _6F
+ const _7F
+ const _8F
+ const _9F
+ const _10F
+ const _11F
+ const _ROOF
+
+; command queue members
CMDQUEUE_TYPE EQU 0
CMDQUEUE_ADDR EQU 1
CMDQUEUE_03 EQU 3
@@ -708,4 +742,9 @@ 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/map_setup_constants.asm b/constants/map_setup_constants.asm
index 1a3f60e7b..0dcc2b941 100644
--- a/constants/map_setup_constants.asm
+++ b/constants/map_setup_constants.asm
@@ -1,3 +1,5 @@
+; hMapEntryMethod values
+; MapSetupScripts indexes (see engine/map_setup.asm)
const_value SET $f1
const MAPSETUP_WARP
const MAPSETUP_CONTINUE
@@ -12,6 +14,7 @@ const_value SET $f1
const MAPSETUP_BADWARP
const MAPSETUP_FLY
+; callback types
const_value SET 1
const MAPCALLBACK_TILES
const MAPCALLBACK_OBJECTS
@@ -19,9 +22,10 @@ const_value SET 1
const MAPCALLBACK_SPRITES
const MAPCALLBACK_NEWMAP
-; Command descriptions from Condensation water's scripting compendium.
+; MapSetupCommands indexes (see engine/map_setup.asm)
+; Names taken from Condensation water's scripting compendium
+; https://hax.iimarck.us/files/scriptingcodes_eng.htm
const_def
-
const map_lcd_on ; 00
const map_lcd_off ; 01
const map_sound_off ; 02
diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm
index 77b65a38a..6ae41e989 100644
--- a/constants/misc_constants.asm
+++ b/constants/misc_constants.asm
@@ -1,21 +1,32 @@
-PARTY_LENGTH EQU 6
+; Boolean checks
+FALSE EQU 0
+TRUE EQU 1
+
+; genders
+MALE EQU 0
+FEMALE EQU 1
+
+; FlagAction arguments (see home/flag.asm)
+RESET_FLAG EQU 0
+SET_FLAG EQU 1
+CHECK_FLAG EQU 2
+
+; GetHPPal return values (see home.asm)
+HP_GREEN EQU 0
+HP_YELLOW EQU 1
+HP_RED EQU 2
-MAX_ITEMS EQU 20
-MAX_BALLS EQU 12
-MAX_KEY_ITEMS EQU 25
-MAX_PC_ITEMS EQU 50
-; strings
+; name lengths
+NAME_LENGTH EQU 11
PLAYER_NAME_LENGTH EQU 8
-BOX_NAME_LENGTH EQU 9
-PKMN_NAME_LENGTH EQU 11
-MOVE_NAME_LENGTH EQU 13
-ITEM_NAME_LENGTH EQU 13
+BOX_NAME_LENGTH EQU 9
+PKMN_NAME_LENGTH EQU 11
+MOVE_NAME_LENGTH EQU 13
+ITEM_NAME_LENGTH EQU 13
TRAINER_CLASS_NAME_LENGTH EQU 13
-NAME_LENGTH EQU 11
-LV_CHAR EQU $6e
-; GetName types
+; GetName types (see home.asm)
PKMN_NAME EQU 1
MOVE_NAME EQU 2
; dummied out EQU 3
@@ -25,35 +36,17 @@ ENEMY_OT_NAME EQU 6
TRAINER_NAME EQU 7
; broken ptr EQU 8
-; hp
-HP_GREEN EQU 0
-HP_YELLOW EQU 1
-HP_RED EQU 2
; boxes
MONS_PER_BOX EQU 20
NUM_BOXES EQU 14
-; mail
-MAIL_STRUCT_LENGTH EQU $2f
-MAILBOX_CAPACITY EQU 10
-MAIL_MSG_LENGTH EQU $20
-
; hall of fame
HOF_MON_LENGTH = 1 + 2 + 2 + 1 + (PKMN_NAME_LENGTH +- 1) ; species, id, dvs, level, nick
HOF_LENGTH = 1 + HOF_MON_LENGTH * PARTY_LENGTH + 1 ; win count, party, terminator
NUM_HOF_TEAMS = 30
-; flag manipulation
-RESET_FLAG EQU 0
-SET_FLAG EQU 1
-CHECK_FLAG EQU 2
-
-; Boolean checks
-FALSE EQU 0
-TRUE EQU 1
-
; joypad
const_def
@@ -82,7 +75,9 @@ D_PAD EQU D_RIGHT | D_LEFT | D_UP | D_DOWN
R_DPAD EQU %00100000
R_BUTTONS EQU %00010000
+
; screen
+
HP_BAR_LENGTH EQU 6
HP_BAR_LENGTH_PX EQU HP_BAR_LENGTH * 8
EXP_BAR_LENGTH EQU 8
@@ -101,51 +96,7 @@ WMISC_HEIGHT EQU 5 * 4
TILE_WIDTH EQU 8
-; movement
-STEP_SLOW EQU 0
-STEP_WALK EQU 1
-STEP_BIKE EQU 2
-STEP_LEDGE EQU 3
-STEP_ICE EQU 4
-STEP_TURN EQU 5
-STEP_BACK_LEDGE EQU 6
-STEP_WALK_IN_PLACE EQU 7
-
-
-; ai
-CONTEXT_USE_F EQU 6
-UNKNOWN_USE_F EQU 5
-ALWAYS_USE_F EQU 4
-SWITCH_SOMETIMES_F EQU 2
-SWITCH_RARELY_F EQU 1
-SWITCH_OFTEN_F EQU 0
-
-CONTEXT_USE EQU 1 << CONTEXT_USE_F
-UNKNOWN_USE EQU 1 << UNKNOWN_USE_F
-ALWAYS_USE EQU 1 << ALWAYS_USE_F
-SWITCH_SOMETIMES EQU 1 << SWITCH_SOMETIMES_F
-SWITCH_RARELY EQU 1 << SWITCH_RARELY_F
-SWITCH_OFTEN EQU 1 << SWITCH_OFTEN_F
-SPRITE_GFX_LIST_CAPACITY EQU $20
-
-const_value = 1
- const MOM_ITEM
- const MOM_DOLL
-
-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
-
-NUM_WILDMONS_PER_AREA_TIME_OF_DAY EQU 7
-WILDMON_GRASS_STRUCTURE_LENGTH EQU 2 + 3 * (1 + 2 * NUM_WILDMONS_PER_AREA_TIME_OF_DAY)
-
-MOBILE_EVENT_OBJECT_GS_BALL EQU $b
-MOBILE_LOGIN_PASSWORD_LENGTH EQU 17
-
-MALE EQU 0
-FEMALE EQU 1
+; printing text
PRINTNUM_MONEY_F EQU 5
PRINTNUM_RIGHTALIGN_F EQU 6
@@ -155,6 +106,20 @@ PRINTNUM_MONEY EQU 1 << PRINTNUM_MONEY_F
PRINTNUM_RIGHTALIGN EQU 1 << PRINTNUM_RIGHTALIGN_F
PRINTNUM_LEADINGZEROS EQU 1 << PRINTNUM_LEADINGZEROS_F
+
+; movement
+ const_def
+ const STEP_SLOW ; 0
+ const STEP_WALK ; 1
+ const STEP_BIKE ; 2
+ const STEP_LEDGE ; 3
+ const STEP_ICE ; 4
+ const STEP_TURN ; 5
+ const STEP_BACK_LEDGE ; 6
+ const STEP_WALK_IN_PLACE ; 7
+
+
+; ChangeHappiness arguments (see event/happiness_egg.asm)
const_value = 1
const HAPPINESS_GAINLEVEL ; 01
const HAPPINESS_USEDITEM ; 02
@@ -178,85 +143,16 @@ const_value = 1
const_def
- const LINK_NULL
- const LINK_TIMECAPSULE
- const LINK_TRADECENTER
- const LINK_COLOSSEUM
- const LINK_MOBILE
+ const LINK_NULL ; 0
+ const LINK_TIMECAPSULE ; 1
+ const LINK_TRADECENTER ; 2
+ const LINK_COLOSSEUM ; 3
+ const LINK_MOBILE ; 4
SERIAL_TIMECAPSULE EQU $60
SERIAL_TRADECENTER EQU $70
SERIAL_BATTLE EQU $80
+
HMENURETURN_SCRIPT EQU %10000000
HMENURETURN_ASM EQU %11111111
-
-NUM_MON_SUBMENU_ITEMS EQU 8
-
- const_def
- const ZEPHYRBADGE
- const HIVEBADGE
- const PLAINBADGE
- const FOGBADGE
- const MINERALBADGE
- const STORMBADGE
- const GLACIERBADGE
- const RISINGBADGE
-NUM_JOHTO_BADGES EQU const_value
- const_def
- const BOULDERBADGE
- const CASCADEBADGE
- const THUNDERBADGE
- const RAINBOWBADGE
- const SOULBADGE
- const MARSHBADGE
- const VOLCANOBADGE
- const EARTHBADGE
-NUM_KANTO_BADGES EQU const_value
-NUM_BADGES EQU NUM_JOHTO_BADGES + NUM_KANTO_BADGES
-NUM_KANA EQU $2d
-
- const_def
- const EZCHAT_POKEMON
- const EZCHAT_TYPES
- const EZCHAT_GREETINGS
- const EZCHAT_PEOPLE
- const EZCHAT_BATTLE
- const EZCHAT_EXCLAMATIONS
- const EZCHAT_CONVERSATION
- const EZCHAT_FEELINGS
- const EZCHAT_CONDITIONS
- const EZCHAT_LIFE
- const EZCHAT_HOBBIES
- const EZCHAT_ACTIONS
- const EZCHAT_TIME
- const EZCHAT_FAREWELLS
- const EZCHAT_THISANDTHAT
-
-SWARM_DUNSPARCE EQU 0
-SWARM_YANMA EQU 1
-
-FISHSWARM_QWILFISH EQU 1
-FISHSWARM_REMORAID EQU 2
-
- const_def
- const FISHGROUP_NONE
- const FISHGROUP_SHORE
- const FISHGROUP_OCEAN
- const FISHGROUP_LAKE
- const FISHGROUP_POND
- const FISHGROUP_DRATINI
- const FISHGROUP_QWILFISH_SWARM
- const FISHGROUP_REMORAID_SWARM
- const FISHGROUP_GYARADOS
- const FISHGROUP_DRATINI_2
- const FISHGROUP_WHIRL_ISLANDS
- const FISHGROUP_QWILFISH
- const FISHGROUP_REMORAID
- const FISHGROUP_QWILFISH_NO_SWARM
-
-INIT_ENEMYOT_LIST EQU 1
-INIT_BAG_ITEM_LIST EQU 2
-INIT_OTHER_ITEM_LIST EQU 3
-INIT_PLAYEROT_LIST EQU 4
-INIT_MON_LIST EQU 5
diff --git a/constants/mobile_constants.asm b/constants/mobile_constants.asm
new file mode 100644
index 000000000..0ac28c94b
--- /dev/null
+++ b/constants/mobile_constants.asm
@@ -0,0 +1,21 @@
+; MobileEZChatCategoryPointers indexes (see misc/fixed_words.asm)
+ const_def
+ const EZCHAT_POKEMON
+ const EZCHAT_TYPES
+ const EZCHAT_GREETINGS
+ const EZCHAT_PEOPLE
+ const EZCHAT_BATTLE
+ const EZCHAT_EXCLAMATIONS
+ const EZCHAT_CONVERSATION
+ const EZCHAT_FEELINGS
+ const EZCHAT_CONDITIONS
+ const EZCHAT_LIFE
+ const EZCHAT_HOBBIES
+ const EZCHAT_ACTIONS
+ const EZCHAT_TIME
+ const EZCHAT_FAREWELLS
+ const EZCHAT_THISANDTHAT
+
+NUM_KANA EQU 45 ; length of SortedPokemon table (see misc/fixed_words.asm)
+
+MOBILE_LOGIN_PASSWORD_LENGTH EQU 17
diff --git a/constants/move_constants.asm b/constants/move_constants.asm
index 8492c2415..a4b1a0ba8 100644
--- a/constants/move_constants.asm
+++ b/constants/move_constants.asm
@@ -1,291 +1,293 @@
-
+; move ids
+; indexes for:
+; - MoveDescriptions (see battle/moves/move_descriptions.asm)
+; - Moves (see battle/moves/moves.asm)
+; - MoveNames (see battle/move_names.asm)
+; - BattleAnimations (see battle/anims.asm)
const_def
- const NO_MOVE ; $00
- const POUND ; $01
- const KARATE_CHOP ; $02
- const DOUBLESLAP ; $03
- const COMET_PUNCH ; $04
- const MEGA_PUNCH ; $05
- const PAY_DAY ; $06
- const FIRE_PUNCH ; $07
- const ICE_PUNCH ; $08
- const THUNDERPUNCH ; $09
- const SCRATCH ; $0a
- const VICEGRIP ; $0b
- const GUILLOTINE ; $0c
- const RAZOR_WIND ; $0d
- const SWORDS_DANCE ; $0e
- const CUT ; $0f
- const GUST ; $10
- const WING_ATTACK ; $11
- const WHIRLWIND ; $12
- const FLY ; $13
- const BIND ; $14
- const SLAM ; $15
- const VINE_WHIP ; $16
- const STOMP ; $17
- const DOUBLE_KICK ; $18
- const MEGA_KICK ; $19
- const JUMP_KICK ; $1a
- const ROLLING_KICK ; $1b
- const SAND_ATTACK ; $1c
- const HEADBUTT ; $1d
- const HORN_ATTACK ; $1e
- const FURY_ATTACK ; $1f
- const HORN_DRILL ; $20
- const TACKLE ; $21
- const BODY_SLAM ; $22
- const WRAP ; $23
- const TAKE_DOWN ; $24
- const THRASH ; $25
- const DOUBLE_EDGE ; $26
- const TAIL_WHIP ; $27
- const POISON_STING ; $28
- const TWINEEDLE ; $29
- const PIN_MISSILE ; $2a
- const LEER ; $2b
- const BITE ; $2c
- const GROWL ; $2d
- const ROAR ; $2e
- const SING ; $2f
- const SUPERSONIC ; $30
- const SONICBOOM ; $31
- const DISABLE ; $32
- const ACID ; $33
- const EMBER ; $34
- const FLAMETHROWER ; $35
- const MIST ; $36
- const WATER_GUN ; $37
- const HYDRO_PUMP ; $38
- const SURF ; $39
- const ICE_BEAM ; $3a
- const BLIZZARD ; $3b
- const PSYBEAM ; $3c
- const BUBBLEBEAM ; $3d
- const AURORA_BEAM ; $3e
- const HYPER_BEAM ; $3f
- const PECK ; $40
- const DRILL_PECK ; $41
- const SUBMISSION ; $42
- const LOW_KICK ; $43
- const COUNTER ; $44
- const SEISMIC_TOSS ; $45
- const STRENGTH ; $46
- const ABSORB ; $47
- const MEGA_DRAIN ; $48
- const LEECH_SEED ; $49
- const GROWTH ; $4a
- const RAZOR_LEAF ; $4b
- const SOLARBEAM ; $4c
- const POISONPOWDER ; $4d
- const STUN_SPORE ; $4e
- const SLEEP_POWDER ; $4f
- const PETAL_DANCE ; $50
- const STRING_SHOT ; $51
- const DRAGON_RAGE ; $52
- const FIRE_SPIN ; $53
- const THUNDERSHOCK ; $54
- const THUNDERBOLT ; $55
- const THUNDER_WAVE ; $56
- const THUNDER ; $57
- const ROCK_THROW ; $58
- const EARTHQUAKE ; $59
- const FISSURE ; $5a
- const DIG ; $5b
- const TOXIC ; $5c
- const CONFUSION ; $5d
- const PSYCHIC_M ; $5e
- const HYPNOSIS ; $5f
- const MEDITATE ; $60
- const AGILITY ; $61
- const QUICK_ATTACK ; $62
- const RAGE ; $63
- const TELEPORT ; $64
- const NIGHT_SHADE ; $65
- const MIMIC ; $66
- const SCREECH ; $67
- const DOUBLE_TEAM ; $68
- const RECOVER ; $69
- const HARDEN ; $6a
- const MINIMIZE ; $6b
- const SMOKESCREEN ; $6c
- const CONFUSE_RAY ; $6d
- const WITHDRAW ; $6e
- const DEFENSE_CURL ; $6f
- const BARRIER ; $70
- const LIGHT_SCREEN ; $71
- const HAZE ; $72
- const REFLECT ; $73
- const FOCUS_ENERGY ; $74
- const BIDE ; $75
- const METRONOME ; $76
- const MIRROR_MOVE ; $77
- const SELFDESTRUCT ; $78
- const EGG_BOMB ; $79
- const LICK ; $7a
- const SMOG ; $7b
- const SLUDGE ; $7c
- const BONE_CLUB ; $7d
- const FIRE_BLAST ; $7e
- const WATERFALL ; $7f
- const CLAMP ; $80
- const SWIFT ; $81
- const SKULL_BASH ; $82
- const SPIKE_CANNON ; $83
- const CONSTRICT ; $84
- const AMNESIA ; $85
- const KINESIS ; $86
- const SOFTBOILED ; $87
- const HI_JUMP_KICK ; $88
- const GLARE ; $89
- const DREAM_EATER ; $8a
- const POISON_GAS ; $8b
- const BARRAGE ; $8c
- const LEECH_LIFE ; $8d
- const LOVELY_KISS ; $8e
- const SKY_ATTACK ; $8f
- const TRANSFORM ; $90
- const BUBBLE ; $91
- const DIZZY_PUNCH ; $92
- const SPORE ; $93
- const FLASH ; $94
- const PSYWAVE ; $95
- const SPLASH ; $96
- const ACID_ARMOR ; $97
- const CRABHAMMER ; $98
- const EXPLOSION ; $99
- const FURY_SWIPES ; $9a
- const BONEMERANG ; $9b
- const REST ; $9c
- const ROCK_SLIDE ; $9d
- const HYPER_FANG ; $9e
- const SHARPEN ; $9f
- const CONVERSION ; $a0
- const TRI_ATTACK ; $a1
- const SUPER_FANG ; $a2
- const SLASH ; $a3
- const SUBSTITUTE ; $a4
- const STRUGGLE ; $a5
- const SKETCH ; $a6
- const TRIPLE_KICK ; $a7
- const THIEF ; $a8
- const SPIDER_WEB ; $a9
- const MIND_READER ; $aa
- const NIGHTMARE ; $ab
- const FLAME_WHEEL ; $ac
- const SNORE ; $ad
- const CURSE ; $ae
- const FLAIL ; $af
- const CONVERSION2 ; $b0
- const AEROBLAST ; $b1
- const COTTON_SPORE ; $b2
- const REVERSAL ; $b3
- const SPITE ; $b4
- const POWDER_SNOW ; $b5
- const PROTECT ; $b6
- const MACH_PUNCH ; $b7
- const SCARY_FACE ; $b8
- const FAINT_ATTACK ; $b9
- const SWEET_KISS ; $ba
- const BELLY_DRUM ; $bb
- const SLUDGE_BOMB ; $bc
- const MUD_SLAP ; $bd
- const OCTAZOOKA ; $be
- const SPIKES ; $bf
- const ZAP_CANNON ; $c0
- const FORESIGHT ; $c1
- const DESTINY_BOND ; $c2
- const PERISH_SONG ; $c3
- const ICY_WIND ; $c4
- const DETECT ; $c5
- const BONE_RUSH ; $c6
- const LOCK_ON ; $c7
- const OUTRAGE ; $c8
- const SANDSTORM ; $c9
- const GIGA_DRAIN ; $ca
- const ENDURE ; $cb
- const CHARM ; $cc
- const ROLLOUT ; $cd
- const FALSE_SWIPE ; $ce
- const SWAGGER ; $cf
- const MILK_DRINK ; $d0
- const SPARK ; $d1
- const FURY_CUTTER ; $d2
- const STEEL_WING ; $d3
- const MEAN_LOOK ; $d4
- const ATTRACT ; $d5
- const SLEEP_TALK ; $d6
- const HEAL_BELL ; $d7
- const RETURN ; $d8
- const PRESENT ; $d9
- const FRUSTRATION ; $da
- const SAFEGUARD ; $db
- const PAIN_SPLIT ; $dc
- const SACRED_FIRE ; $dd
- const MAGNITUDE ; $de
- const DYNAMICPUNCH ; $df
- const MEGAHORN ; $e0
- const DRAGONBREATH ; $e1
- const BATON_PASS ; $e2
- const ENCORE ; $e3
- const PURSUIT ; $e4
- const RAPID_SPIN ; $e5
- const SWEET_SCENT ; $e6
- const IRON_TAIL ; $e7
- const METAL_CLAW ; $e8
- const VITAL_THROW ; $e9
- const MORNING_SUN ; $ea
- const SYNTHESIS ; $eb
- const MOONLIGHT ; $ec
- const HIDDEN_POWER ; $ed
- const CROSS_CHOP ; $ee
- const TWISTER ; $ef
- const RAIN_DANCE ; $f0
- const SUNNY_DAY ; $f1
- const CRUNCH ; $f2
- const MIRROR_COAT ; $f3
- const PSYCH_UP ; $f4
- const EXTREMESPEED ; $f5
- const ANCIENTPOWER ; $f6
- const SHADOW_BALL ; $f7
- const FUTURE_SIGHT ; $f8
- const ROCK_SMASH ; $f9
- const WHIRLPOOL ; $fa
- const BEAT_UP ; $fb
-
-const_value SET const_value + -1
+ const NO_MOVE ; 00
+ const POUND ; 01
+ const KARATE_CHOP ; 02
+ const DOUBLESLAP ; 03
+ const COMET_PUNCH ; 04
+ const MEGA_PUNCH ; 05
+ const PAY_DAY ; 06
+ const FIRE_PUNCH ; 07
+ const ICE_PUNCH ; 08
+ const THUNDERPUNCH ; 09
+ const SCRATCH ; 0a
+ const VICEGRIP ; 0b
+ const GUILLOTINE ; 0c
+ const RAZOR_WIND ; 0d
+ const SWORDS_DANCE ; 0e
+ const CUT ; 0f
+ const GUST ; 10
+ const WING_ATTACK ; 11
+ const WHIRLWIND ; 12
+ const FLY ; 13
+ const BIND ; 14
+ const SLAM ; 15
+ const VINE_WHIP ; 16
+ const STOMP ; 17
+ const DOUBLE_KICK ; 18
+ const MEGA_KICK ; 19
+ const JUMP_KICK ; 1a
+ const ROLLING_KICK ; 1b
+ const SAND_ATTACK ; 1c
+ const HEADBUTT ; 1d
+ const HORN_ATTACK ; 1e
+ const FURY_ATTACK ; 1f
+ const HORN_DRILL ; 20
+ const TACKLE ; 21
+ const BODY_SLAM ; 22
+ const WRAP ; 23
+ const TAKE_DOWN ; 24
+ const THRASH ; 25
+ const DOUBLE_EDGE ; 26
+ const TAIL_WHIP ; 27
+ const POISON_STING ; 28
+ const TWINEEDLE ; 29
+ const PIN_MISSILE ; 2a
+ const LEER ; 2b
+ const BITE ; 2c
+ const GROWL ; 2d
+ const ROAR ; 2e
+ const SING ; 2f
+ const SUPERSONIC ; 30
+ const SONICBOOM ; 31
+ const DISABLE ; 32
+ const ACID ; 33
+ const EMBER ; 34
+ const FLAMETHROWER ; 35
+ const MIST ; 36
+ const WATER_GUN ; 37
+ const HYDRO_PUMP ; 38
+ const SURF ; 39
+ const ICE_BEAM ; 3a
+ const BLIZZARD ; 3b
+ const PSYBEAM ; 3c
+ const BUBBLEBEAM ; 3d
+ const AURORA_BEAM ; 3e
+ const HYPER_BEAM ; 3f
+ const PECK ; 40
+ const DRILL_PECK ; 41
+ const SUBMISSION ; 42
+ const LOW_KICK ; 43
+ const COUNTER ; 44
+ const SEISMIC_TOSS ; 45
+ const STRENGTH ; 46
+ const ABSORB ; 47
+ const MEGA_DRAIN ; 48
+ const LEECH_SEED ; 49
+ const GROWTH ; 4a
+ const RAZOR_LEAF ; 4b
+ const SOLARBEAM ; 4c
+ const POISONPOWDER ; 4d
+ const STUN_SPORE ; 4e
+ const SLEEP_POWDER ; 4f
+ const PETAL_DANCE ; 50
+ const STRING_SHOT ; 51
+ const DRAGON_RAGE ; 52
+ const FIRE_SPIN ; 53
+ const THUNDERSHOCK ; 54
+ const THUNDERBOLT ; 55
+ const THUNDER_WAVE ; 56
+ const THUNDER ; 57
+ const ROCK_THROW ; 58
+ const EARTHQUAKE ; 59
+ const FISSURE ; 5a
+ const DIG ; 5b
+ const TOXIC ; 5c
+ const CONFUSION ; 5d
+ const PSYCHIC_M ; 5e
+ const HYPNOSIS ; 5f
+ const MEDITATE ; 60
+ const AGILITY ; 61
+ const QUICK_ATTACK ; 62
+ const RAGE ; 63
+ const TELEPORT ; 64
+ const NIGHT_SHADE ; 65
+ const MIMIC ; 66
+ const SCREECH ; 67
+ const DOUBLE_TEAM ; 68
+ const RECOVER ; 69
+ const HARDEN ; 6a
+ const MINIMIZE ; 6b
+ const SMOKESCREEN ; 6c
+ const CONFUSE_RAY ; 6d
+ const WITHDRAW ; 6e
+ const DEFENSE_CURL ; 6f
+ const BARRIER ; 70
+ const LIGHT_SCREEN ; 71
+ const HAZE ; 72
+ const REFLECT ; 73
+ const FOCUS_ENERGY ; 74
+ const BIDE ; 75
+ const METRONOME ; 76
+ const MIRROR_MOVE ; 77
+ const SELFDESTRUCT ; 78
+ const EGG_BOMB ; 79
+ const LICK ; 7a
+ const SMOG ; 7b
+ const SLUDGE ; 7c
+ const BONE_CLUB ; 7d
+ const FIRE_BLAST ; 7e
+ const WATERFALL ; 7f
+ const CLAMP ; 80
+ const SWIFT ; 81
+ const SKULL_BASH ; 82
+ const SPIKE_CANNON ; 83
+ const CONSTRICT ; 84
+ const AMNESIA ; 85
+ const KINESIS ; 86
+ const SOFTBOILED ; 87
+ const HI_JUMP_KICK ; 88
+ const GLARE ; 89
+ const DREAM_EATER ; 8a
+ const POISON_GAS ; 8b
+ const BARRAGE ; 8c
+ const LEECH_LIFE ; 8d
+ const LOVELY_KISS ; 8e
+ const SKY_ATTACK ; 8f
+ const TRANSFORM ; 90
+ const BUBBLE ; 91
+ const DIZZY_PUNCH ; 92
+ const SPORE ; 93
+ const FLASH ; 94
+ const PSYWAVE ; 95
+ const SPLASH ; 96
+ const ACID_ARMOR ; 97
+ const CRABHAMMER ; 98
+ const EXPLOSION ; 99
+ const FURY_SWIPES ; 9a
+ const BONEMERANG ; 9b
+ const REST ; 9c
+ const ROCK_SLIDE ; 9d
+ const HYPER_FANG ; 9e
+ const SHARPEN ; 9f
+ const CONVERSION ; a0
+ const TRI_ATTACK ; a1
+ const SUPER_FANG ; a2
+ const SLASH ; a3
+ const SUBSTITUTE ; a4
+ const STRUGGLE ; a5
+ const SKETCH ; a6
+ const TRIPLE_KICK ; a7
+ const THIEF ; a8
+ const SPIDER_WEB ; a9
+ const MIND_READER ; aa
+ const NIGHTMARE ; ab
+ const FLAME_WHEEL ; ac
+ const SNORE ; ad
+ const CURSE ; ae
+ const FLAIL ; af
+ const CONVERSION2 ; b0
+ const AEROBLAST ; b1
+ const COTTON_SPORE ; b2
+ const REVERSAL ; b3
+ const SPITE ; b4
+ const POWDER_SNOW ; b5
+ const PROTECT ; b6
+ const MACH_PUNCH ; b7
+ const SCARY_FACE ; b8
+ const FAINT_ATTACK ; b9
+ const SWEET_KISS ; ba
+ const BELLY_DRUM ; bb
+ const SLUDGE_BOMB ; bc
+ const MUD_SLAP ; bd
+ const OCTAZOOKA ; be
+ const SPIKES ; bf
+ const ZAP_CANNON ; c0
+ const FORESIGHT ; c1
+ const DESTINY_BOND ; c2
+ const PERISH_SONG ; c3
+ const ICY_WIND ; c4
+ const DETECT ; c5
+ const BONE_RUSH ; c6
+ const LOCK_ON ; c7
+ const OUTRAGE ; c8
+ const SANDSTORM ; c9
+ const GIGA_DRAIN ; ca
+ const ENDURE ; cb
+ const CHARM ; cc
+ const ROLLOUT ; cd
+ const FALSE_SWIPE ; ce
+ const SWAGGER ; cf
+ const MILK_DRINK ; d0
+ const SPARK ; d1
+ const FURY_CUTTER ; d2
+ const STEEL_WING ; d3
+ const MEAN_LOOK ; d4
+ const ATTRACT ; d5
+ const SLEEP_TALK ; d6
+ const HEAL_BELL ; d7
+ const RETURN ; d8
+ const PRESENT ; d9
+ const FRUSTRATION ; da
+ const SAFEGUARD ; db
+ const PAIN_SPLIT ; dc
+ const SACRED_FIRE ; dd
+ const MAGNITUDE ; de
+ const DYNAMICPUNCH ; df
+ const MEGAHORN ; e0
+ const DRAGONBREATH ; e1
+ const BATON_PASS ; e2
+ const ENCORE ; e3
+ const PURSUIT ; e4
+ const RAPID_SPIN ; e5
+ const SWEET_SCENT ; e6
+ const IRON_TAIL ; e7
+ const METAL_CLAW ; e8
+ const VITAL_THROW ; e9
+ const MORNING_SUN ; ea
+ const SYNTHESIS ; eb
+ const MOONLIGHT ; ec
+ const HIDDEN_POWER ; ed
+ const CROSS_CHOP ; ee
+ const TWISTER ; ef
+ const RAIN_DANCE ; f0
+ const SUNNY_DAY ; f1
+ const CRUNCH ; f2
+ const MIRROR_COAT ; f3
+ const PSYCH_UP ; f4
+ const EXTREMESPEED ; f5
+ const ANCIENTPOWER ; f6
+ const SHADOW_BALL ; f7
+ const FUTURE_SIGHT ; f8
+ const ROCK_SMASH ; f9
+ const WHIRLPOOL ; fa
+ const BEAT_UP ; fb
+NUM_ATTACKS EQU const_value + -1
- const NUM_ATTACKS ; $fb
+ const MOVE_OR_ANIM_FC ; fc
+ const MOVE_OR_ANIM_FD ; fd
+ const MOVE_OR_ANIM_FE ; fe
-; Battle animations use the same constants
-; as the moves up to this point.
- const ANIM_FC ; $fc
- const ANIM_FD ; $fd
- const ANIM_FE ; $fe
- const ANIM_SWEET_SCENT_2 ; $ff
- const ANIM_THROW_POKE_BALL ; $100
- const ANIM_SEND_OUT_MON ; $101
- const ANIM_RETURN_MON ; $102
- const ANIM_CONFUSED ; $103
- const ANIM_SLP ; $104
- const ANIM_BRN ; $105
- const ANIM_PSN ; $106
- const ANIM_SAP ; $107
- const ANIM_FRZ ; $108
- const ANIM_PAR ; $109
- const ANIM_IN_LOVE ; $10a
- const ANIM_IN_SANDSTORM ; $10b
- const ANIM_IN_NIGHTMARE ; $10c
- const ANIM_IN_WHIRLPOOL ; $10d
+; Battle animations use the same constants as the moves up to this point
+ const ANIM_SWEET_SCENT_2 ; ff
+ const ANIM_THROW_POKE_BALL ; 100
+ const ANIM_SEND_OUT_MON ; 101
+ const ANIM_RETURN_MON ; 102
+ const ANIM_CONFUSED ; 103
+ const ANIM_SLP ; 104
+ const ANIM_BRN ; 105
+ const ANIM_PSN ; 106
+ const ANIM_SAP ; 107
+ const ANIM_FRZ ; 108
+ const ANIM_PAR ; 109
+ const ANIM_IN_LOVE ; 10a
+ const ANIM_IN_SANDSTORM ; 10b
+ const ANIM_IN_NIGHTMARE ; 10c
+ const ANIM_IN_WHIRLPOOL ; 10d
; battle anims
- const ANIM_MISS ; $10e
- const ANIM_ENEMY_DAMAGE ; $10f
- const ANIM_ENEMY_STAT_DOWN ; $110
- const ANIM_PLAYER_STAT_DOWN ; $111
- const ANIM_PLAYER_DAMAGE ; $112
- const ANIM_WOBBLE ; $113
- const ANIM_SHAKE ; $114
- const ANIM_HIT_CONFUSION ; $115
+ const ANIM_MISS ; 10e
+ const ANIM_ENEMY_DAMAGE ; 10f
+ const ANIM_ENEMY_STAT_DOWN ; 110
+ const ANIM_PLAYER_STAT_DOWN ; 111
+ const ANIM_PLAYER_DAMAGE ; 112
+ const ANIM_WOBBLE ; 113
+ const ANIM_SHAKE ; 114
+ const ANIM_HIT_CONFUSION ; 115
; wNumHits uses offsets from ANIM_MISS
const_def
@@ -296,4 +298,4 @@ const_value SET const_value + -1
const BATTLEANIM_PLAYER_DAMAGE
const BATTLEANIM_WOBBLE
const BATTLEANIM_SHAKE
- const BATTLEANIM_HIT_CONFUSION \ No newline at end of file
+ const BATTLEANIM_HIT_CONFUSION
diff --git a/constants/music_constants.asm b/constants/music_constants.asm
index 5c54c3dc0..9536ae837 100644
--- a/constants/music_constants.asm
+++ b/constants/music_constants.asm
@@ -1,3 +1,5 @@
+; song ids
+; Music indexes (see audio/music_pointers.asm)
const_def
const MUSIC_NONE ; 00
@@ -93,6 +95,8 @@
const MUSIC_LAKE_OF_RAGE_ROCKET_RADIO ; 5a
const MUSIC_PRINTER ; 5b
const MUSIC_POST_CREDITS ; 5c
+
+; new to Crystal
const MUSIC_CLAIR ; 5d
const MUSIC_MOBILE_ADAPTER_MENU ; 5e
const MUSIC_MOBILE_ADAPTER ; 5f
@@ -104,4 +108,7 @@
const MUSIC_BATTLE_TOWER_LOBBY ; 65
const MUSIC_MOBILE_CENTER ; 66
-MUSIC_MAHOGANY_MART EQU $64 ; leftover from gold
+; GetMapHeaderMusic picks music for this value (see home/map.asm)
+MUSIC_MAHOGANY_MART EQU $64
+; GetMapHeaderMusic picks music for this bit flag
+RADIO_TOWER_MUSIC EQU 7
diff --git a/constants/phone_constants.asm b/constants/phone_constants.asm
index 1eb2b2d23..fe602a413 100644
--- a/constants/phone_constants.asm
+++ b/constants/phone_constants.asm
@@ -1,4 +1,4 @@
-
+; PhoneContacts indexes (see engine/phone.asm)
const_def
const PHONE_00
const PHONE_MOM
@@ -39,6 +39,7 @@
const PHONE_PICNICKER_ERIN
const PHONE_BUENA
+; SpecialPhoneCallList indexes (see engine/phone.asm)
const_def
const SPECIALCALL_NONE
const SPECIALCALL_POKERUS
@@ -50,6 +51,7 @@
const SPECIALCALL_WORRIED
const SPECIALCALL_MASTERBALL
+; phone struct members
const_def
const PHONE_CONTACT_TRAINER_CLASS
const PHONE_CONTACT_TRAINER_NUMBER
@@ -64,4 +66,6 @@
const PHONE_CONTACT_SCRIPT2_ADDR_LO
const PHONE_CONTACT_SCRIPT2_ADDR_HI
PHONE_TABLE_WIDTH EQU const_value
+
+; maximum number of pokegear contacts
CONTACT_LIST_SIZE EQU 10
diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm
index 5041f7064..fb713507f 100644
--- a/constants/pokemon_constants.asm
+++ b/constants/pokemon_constants.asm
@@ -1,265 +1,280 @@
-
-; pokemon
+; pokemon ids
+; indexes for:
+; - CryHeaders (see audio/cry_headers.asm)
+; - BaseData (see data/base_stats.asm)
+; - EggMovePointers (see data/egg_move_pointers.asm)
+; - EvosAttacksPointers (see data/evos_attacks_pointers.asm)
+; - PokemonNames (see data/pokemon_names.asm)
+; - PokedexDataPointerTable (see data/pokedex/entry_pointers.asm)
+; - AnimationPointers (see gfx/pics/anim_pointers.asm)
+; - BitmasksPointers (see gfx/pics/bitmask_pointers.asm)
+; - AnimationExtraPointers (see gfx/pics/extra_pointers.asm)
+; - FramesPointers (see gfx/pics/frame_pointers.asm)
+; - PokemonPalettes (see gfx/pics/palette_pointers.asm)
+; - PicPointers (see gfx/pics/pic_pointers.asm)
+; - AlphabeticalPokedexOrder (see data/pokedex/order_alpha.asm)
+; - NewPokedexOrder (see data/pokedex/order_new.asm)
+; - MonMenuIcons (see menu/mon_icons.asm)
+; - Pokered_MonIndices (see engine/time_capsule/conversion.asm)
+; - SortedPokemon (see misc/fixed_words.asm)
const_value set 1
- const BULBASAUR
- const IVYSAUR
- const VENUSAUR
- const CHARMANDER
- const CHARMELEON
- const CHARIZARD
- const SQUIRTLE
- const WARTORTLE
- const BLASTOISE
- const CATERPIE
- const METAPOD
- const BUTTERFREE
- const WEEDLE
- const KAKUNA
- const BEEDRILL
- const PIDGEY
- const PIDGEOTTO
- const PIDGEOT
- const RATTATA
- const RATICATE
- const SPEAROW
- const FEAROW
- const EKANS
- const ARBOK
- const PIKACHU
- const RAICHU
- const SANDSHREW
- const SANDSLASH
- const NIDORAN_F
- const NIDORINA
- const NIDOQUEEN
- const NIDORAN_M
- const NIDORINO
- const NIDOKING
- const CLEFAIRY
- const CLEFABLE
- const VULPIX
- const NINETALES
- const JIGGLYPUFF
- const WIGGLYTUFF
- const ZUBAT
- const GOLBAT
- const ODDISH
- const GLOOM
- const VILEPLUME
- const PARAS
- const PARASECT
- const VENONAT
- const VENOMOTH
- const DIGLETT
- const DUGTRIO
- const MEOWTH
- const PERSIAN
- const PSYDUCK
- const GOLDUCK
- const MANKEY
- const PRIMEAPE
- const GROWLITHE
- const ARCANINE
- const POLIWAG
- const POLIWHIRL
- const POLIWRATH
- const ABRA
- const KADABRA
- const ALAKAZAM
- const MACHOP
- const MACHOKE
- const MACHAMP
- const BELLSPROUT
- const WEEPINBELL
- const VICTREEBEL
- const TENTACOOL
- const TENTACRUEL
- const GEODUDE
- const GRAVELER
- const GOLEM
- const PONYTA
- const RAPIDASH
- const SLOWPOKE
- const SLOWBRO
- const MAGNEMITE
- const MAGNETON
- const FARFETCH_D
- const DODUO
- const DODRIO
- const SEEL
- const DEWGONG
- const GRIMER
- const MUK
- const SHELLDER
- const CLOYSTER
- const GASTLY
- const HAUNTER
- const GENGAR
- const ONIX
- const DROWZEE
- const HYPNO
- const KRABBY
- const KINGLER
- const VOLTORB
- const ELECTRODE
- const EXEGGCUTE
- const EXEGGUTOR
- const CUBONE
- const MAROWAK
- const HITMONLEE
- const HITMONCHAN
- const LICKITUNG
- const KOFFING
- const WEEZING
- const RHYHORN
- const RHYDON
- const CHANSEY
- const TANGELA
- const KANGASKHAN
- const HORSEA
- const SEADRA
- const GOLDEEN
- const SEAKING
- const STARYU
- const STARMIE
- const MR__MIME
- const SCYTHER
- const JYNX
- const ELECTABUZZ
- const MAGMAR
- const PINSIR
- const TAUROS
- const MAGIKARP
- const GYARADOS
- const LAPRAS
- const DITTO
- const EEVEE
- const VAPOREON
- const JOLTEON
- const FLAREON
- const PORYGON
- const OMANYTE
- const OMASTAR
- const KABUTO
- const KABUTOPS
- const AERODACTYL
- const SNORLAX
- const ARTICUNO
- const ZAPDOS
- const MOLTRES
- const DRATINI
- const DRAGONAIR
- const DRAGONITE
- const MEWTWO
- const MEW
- const CHIKORITA
- const BAYLEEF
- const MEGANIUM
- const CYNDAQUIL
- const QUILAVA
- const TYPHLOSION
- const TOTODILE
- const CROCONAW
- const FERALIGATR
- const SENTRET
- const FURRET
- const HOOTHOOT
- const NOCTOWL
- const LEDYBA
- const LEDIAN
- const SPINARAK
- const ARIADOS
- const CROBAT
- const CHINCHOU
- const LANTURN
- const PICHU
- const CLEFFA
- const IGGLYBUFF
- const TOGEPI
- const TOGETIC
- const NATU
- const XATU
- const MAREEP
- const FLAAFFY
- const AMPHAROS
- const BELLOSSOM
- const MARILL
- const AZUMARILL
- const SUDOWOODO
- const POLITOED
- const HOPPIP
- const SKIPLOOM
- const JUMPLUFF
- const AIPOM
- const SUNKERN
- const SUNFLORA
- const YANMA
- const WOOPER
- const QUAGSIRE
- const ESPEON
- const UMBREON
- const MURKROW
- const SLOWKING
- const MISDREAVUS
- const UNOWN
- const WOBBUFFET
- const GIRAFARIG
- const PINECO
- const FORRETRESS
- const DUNSPARCE
- const GLIGAR
- const STEELIX
- const SNUBBULL
- const GRANBULL
- const QWILFISH
- const SCIZOR
- const SHUCKLE
- const HERACROSS
- const SNEASEL
- const TEDDIURSA
- const URSARING
- const SLUGMA
- const MAGCARGO
- const SWINUB
- const PILOSWINE
- const CORSOLA
- const REMORAID
- const OCTILLERY
- const DELIBIRD
- const MANTINE
- const SKARMORY
- const HOUNDOUR
- const HOUNDOOM
- const KINGDRA
- const PHANPY
- const DONPHAN
- const PORYGON2
- const STANTLER
- const SMEARGLE
- const TYROGUE
- const HITMONTOP
- const SMOOCHUM
- const ELEKID
- const MAGBY
- const MILTANK
- const BLISSEY
- const RAIKOU
- const ENTEI
- const SUICUNE
- const LARVITAR
- const PUPITAR
- const TYRANITAR
- const LUGIA
- const HO_OH
- const CELEBI
-
-const_value SET const_value + -1
-
-NUM_POKEMON EQU const_value
-
-EGG EQU 253
+ const BULBASAUR ; 01
+ const IVYSAUR ; 02
+ const VENUSAUR ; 03
+ const CHARMANDER ; 04
+ const CHARMELEON ; 05
+ const CHARIZARD ; 06
+ const SQUIRTLE ; 07
+ const WARTORTLE ; 08
+ const BLASTOISE ; 09
+ const CATERPIE ; 0a
+ const METAPOD ; 0b
+ const BUTTERFREE ; 0c
+ const WEEDLE ; 0d
+ const KAKUNA ; 0e
+ const BEEDRILL ; 0f
+ const PIDGEY ; 10
+ const PIDGEOTTO ; 11
+ const PIDGEOT ; 12
+ const RATTATA ; 13
+ const RATICATE ; 14
+ const SPEAROW ; 15
+ const FEAROW ; 16
+ const EKANS ; 17
+ const ARBOK ; 18
+ const PIKACHU ; 19
+ const RAICHU ; 1a
+ const SANDSHREW ; 1b
+ const SANDSLASH ; 1c
+ const NIDORAN_F ; 1d
+ const NIDORINA ; 1e
+ const NIDOQUEEN ; 1f
+ const NIDORAN_M ; 20
+ const NIDORINO ; 21
+ const NIDOKING ; 22
+ const CLEFAIRY ; 23
+ const CLEFABLE ; 24
+ const VULPIX ; 25
+ const NINETALES ; 26
+ const JIGGLYPUFF ; 27
+ const WIGGLYTUFF ; 28
+ const ZUBAT ; 29
+ const GOLBAT ; 2a
+ const ODDISH ; 2b
+ const GLOOM ; 2c
+ const VILEPLUME ; 2d
+ const PARAS ; 2e
+ const PARASECT ; 2f
+ const VENONAT ; 30
+ const VENOMOTH ; 31
+ const DIGLETT ; 32
+ const DUGTRIO ; 33
+ const MEOWTH ; 34
+ const PERSIAN ; 35
+ const PSYDUCK ; 36
+ const GOLDUCK ; 37
+ const MANKEY ; 38
+ const PRIMEAPE ; 39
+ const GROWLITHE ; 3a
+ const ARCANINE ; 3b
+ const POLIWAG ; 3c
+ const POLIWHIRL ; 3d
+ const POLIWRATH ; 3e
+ const ABRA ; 3f
+ const KADABRA ; 40
+ const ALAKAZAM ; 41
+ const MACHOP ; 42
+ const MACHOKE ; 43
+ const MACHAMP ; 44
+ const BELLSPROUT ; 45
+ const WEEPINBELL ; 46
+ const VICTREEBEL ; 47
+ const TENTACOOL ; 48
+ const TENTACRUEL ; 49
+ const GEODUDE ; 4a
+ const GRAVELER ; 4b
+ const GOLEM ; 4c
+ const PONYTA ; 4d
+ const RAPIDASH ; 4e
+ const SLOWPOKE ; 4f
+ const SLOWBRO ; 50
+ const MAGNEMITE ; 51
+ const MAGNETON ; 52
+ const FARFETCH_D ; 53
+ const DODUO ; 54
+ const DODRIO ; 55
+ const SEEL ; 56
+ const DEWGONG ; 57
+ const GRIMER ; 58
+ const MUK ; 59
+ const SHELLDER ; 5a
+ const CLOYSTER ; 5b
+ const GASTLY ; 5c
+ const HAUNTER ; 5d
+ const GENGAR ; 5e
+ const ONIX ; 5f
+ const DROWZEE ; 60
+ const HYPNO ; 61
+ const KRABBY ; 62
+ const KINGLER ; 63
+ const VOLTORB ; 64
+ const ELECTRODE ; 65
+ const EXEGGCUTE ; 66
+ const EXEGGUTOR ; 67
+ const CUBONE ; 68
+ const MAROWAK ; 69
+ const HITMONLEE ; 6a
+ const HITMONCHAN ; 6b
+ const LICKITUNG ; 6c
+ const KOFFING ; 6d
+ const WEEZING ; 6e
+ const RHYHORN ; 6f
+ const RHYDON ; 70
+ const CHANSEY ; 71
+ const TANGELA ; 72
+ const KANGASKHAN ; 73
+ const HORSEA ; 74
+ const SEADRA ; 75
+ const GOLDEEN ; 76
+ const SEAKING ; 77
+ const STARYU ; 78
+ const STARMIE ; 79
+ const MR__MIME ; 7a
+ const SCYTHER ; 7b
+ const JYNX ; 7c
+ const ELECTABUZZ ; 7d
+ const MAGMAR ; 7e
+ const PINSIR ; 7f
+ const TAUROS ; 80
+ const MAGIKARP ; 81
+ const GYARADOS ; 82
+ const LAPRAS ; 83
+ const DITTO ; 84
+ const EEVEE ; 85
+ const VAPOREON ; 86
+ const JOLTEON ; 87
+ const FLAREON ; 88
+ const PORYGON ; 89
+ const OMANYTE ; 8a
+ const OMASTAR ; 8b
+ const KABUTO ; 8c
+ const KABUTOPS ; 8d
+ const AERODACTYL ; 8e
+ const SNORLAX ; 8f
+ const ARTICUNO ; 90
+ const ZAPDOS ; 91
+ const MOLTRES ; 92
+ const DRATINI ; 93
+ const DRAGONAIR ; 94
+ const DRAGONITE ; 95
+ const MEWTWO ; 96
+ const MEW ; 97
+ const CHIKORITA ; 98
+ const BAYLEEF ; 99
+ const MEGANIUM ; 9a
+ const CYNDAQUIL ; 9b
+ const QUILAVA ; 9c
+ const TYPHLOSION ; 9d
+ const TOTODILE ; 9e
+ const CROCONAW ; 9f
+ const FERALIGATR ; a0
+ const SENTRET ; a1
+ const FURRET ; a2
+ const HOOTHOOT ; a3
+ const NOCTOWL ; a4
+ const LEDYBA ; a5
+ const LEDIAN ; a6
+ const SPINARAK ; a7
+ const ARIADOS ; a8
+ const CROBAT ; a9
+ const CHINCHOU ; aa
+ const LANTURN ; ab
+ const PICHU ; ac
+ const CLEFFA ; ad
+ const IGGLYBUFF ; ae
+ const TOGEPI ; af
+ const TOGETIC ; b0
+ const NATU ; b1
+ const XATU ; b2
+ const MAREEP ; b3
+ const FLAAFFY ; b4
+ const AMPHAROS ; b5
+ const BELLOSSOM ; b6
+ const MARILL ; b7
+ const AZUMARILL ; b8
+ const SUDOWOODO ; b9
+ const POLITOED ; ba
+ const HOPPIP ; bb
+ const SKIPLOOM ; bc
+ const JUMPLUFF ; bd
+ const AIPOM ; be
+ const SUNKERN ; bf
+ const SUNFLORA ; c0
+ const YANMA ; c1
+ const WOOPER ; c2
+ const QUAGSIRE ; c3
+ const ESPEON ; c4
+ const UMBREON ; c5
+ const MURKROW ; c6
+ const SLOWKING ; c7
+ const MISDREAVUS ; c8
+ const UNOWN ; c9
+ const WOBBUFFET ; ca
+ const GIRAFARIG ; cb
+ const PINECO ; cc
+ const FORRETRESS ; cd
+ const DUNSPARCE ; ce
+ const GLIGAR ; cf
+ const STEELIX ; d0
+ const SNUBBULL ; d1
+ const GRANBULL ; d2
+ const QWILFISH ; d3
+ const SCIZOR ; d4
+ const SHUCKLE ; d5
+ const HERACROSS ; d6
+ const SNEASEL ; d7
+ const TEDDIURSA ; d8
+ const URSARING ; d9
+ const SLUGMA ; da
+ const MAGCARGO ; db
+ const SWINUB ; dc
+ const PILOSWINE ; dd
+ const CORSOLA ; de
+ const REMORAID ; df
+ const OCTILLERY ; e0
+ const DELIBIRD ; e1
+ const MANTINE ; e2
+ const SKARMORY ; e3
+ const HOUNDOUR ; e4
+ const HOUNDOOM ; e5
+ const KINGDRA ; e6
+ const PHANPY ; e7
+ const DONPHAN ; e8
+ const PORYGON2 ; e9
+ const STANTLER ; ea
+ const SMEARGLE ; eb
+ const TYROGUE ; ec
+ const HITMONTOP ; ed
+ const SMOOCHUM ; ee
+ const ELEKID ; ef
+ const MAGBY ; f0
+ const MILTANK ; f1
+ const BLISSEY ; f2
+ const RAIKOU ; f3
+ const ENTEI ; f4
+ const SUICUNE ; f5
+ const LARVITAR ; f6
+ const PUPITAR ; f7
+ const TYRANITAR ; f8
+ const LUGIA ; f9
+ const HO_OH ; fa
+ const CELEBI ; fb
+NUM_POKEMON EQU const_value +- 1
+ const MON_FC ; fc
+ const EGG ; fd
+ const MON_FE ; fe
-; pokemon structure in RAM
+; party_struct members (see macros/wram.asm)
MON_SPECIES EQUS "(PartyMon1Species - PartyMon1)"
MON_ITEM EQUS "(PartyMon1Item - PartyMon1)"
MON_MOVES EQUS "(PartyMon1Moves - PartyMon1)"
@@ -293,7 +308,9 @@ BOXMON_STRUCT_LENGTH EQUS "(PartyMon1End - PartyMon1)"
PARTYMON_STRUCT_LENGTH EQUS "(PartyMon1StatsEnd - PartyMon1)"
REDMON_STRUCT_LENGTH EQU 44
+; MonMenuOptions indexes (see engine/mon_menu.asm)
const_value SET 1
+; moves
const MONMENU_CUT ; 1
const MONMENU_FLY ; 2
const MONMENU_SURF ; 3
@@ -308,7 +325,7 @@ const_value SET 1
const MONMENU_ROCKSMASH ; 12
const MONMENU_MILKDRINK ; 13
const MONMENU_SWEETSCENT ; 14
-
+; options
const MONMENU_STATS ; 15
const MONMENU_SWITCH ; 16
const MONMENU_ITEM ; 17
@@ -317,5 +334,14 @@ const_value SET 1
const MONMENU_MAIL ; 20
const MONMENU_ERROR ; 21
+; MonMenuOptions types
MONMENU_FIELD_MOVE EQU 0
MONMENU_MENUOPTION EQU 1
+
+NUM_MONMENU_ITEMS EQU 8
+
+; maximum number of party pokemon
+PARTY_LENGTH EQU 6
+
+; number of Unown forms
+NUM_UNOWN EQU 26
diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm
index 9a34e2ae5..c7cf9dccb 100644
--- a/constants/pokemon_data_constants.asm
+++ b/constants/pokemon_data_constants.asm
@@ -1,4 +1,5 @@
-; growth rate
+; BaseGrowthRate values
+; GrowthRates indexes (see main.asm)
const_def
const MEDIUM_FAST
const SLIGHTLY_FAST
@@ -7,7 +8,7 @@
const FAST
const SLOW
-; egg group constants
+; BaseEggGroups values
const_value SET 1
const MONSTER ; 1
const AMPHIBIAN ; 2
@@ -26,7 +27,7 @@ const_value SET 1
const NO_EGGS ; f
-; menu sprites
+; IconPointers indexes (see menu/mon_icons.asm)
const_value SET 1
const ICON_POLIWAG
const ICON_JIGGLYPUFF
@@ -68,7 +69,7 @@ const_value SET 1
const ICON_BIGMON
-; evolution types
+; evolution types (used in data/evos_attacks.asm)
const_value SET 1
const EVOLVE_LEVEL
const EVOLVE_ITEM
@@ -76,26 +77,36 @@ const_value SET 1
const EVOLVE_HAPPINESS
const EVOLVE_STAT
-
-BASE_HAPPINESS EQU 70
-FRIEND_BALL_HAPPINESS EQU 200
-
-; happiness evolution triggers
-HAPPINESS_TO_EVOLVE EQU 220
+; EVOLVE_HAPPINESS triggers
const_value SET 1
const TR_ANYTIME
const TR_MORNDAY
const TR_NITE
-
-; stat evolution triggers
+; EVOLVE_STAT triggers
const_value SET 1
const ATK_GT_DEF
const ATK_LT_DEF
const ATK_EQ_DEF
-NUM_GRASSMON EQU 7
-NUM_WATERMON EQU 3
+
+; significant happiness values
+BASE_HAPPINESS EQU 70
+FRIEND_BALL_HAPPINESS EQU 200
+HAPPINESS_TO_EVOLVE EQU 220
+
+
+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
diff --git a/constants/printer_constants.asm b/constants/printer_constants.asm
index 5cd8fcd77..3cbaa049a 100755
--- a/constants/printer_constants.asm
+++ b/constants/printer_constants.asm
@@ -1,5 +1,5 @@
+; wPrinterStatus
const_value SET 1
-
const PRINTER_STATUS_CHECKING
const PRINTER_STATUS_TRANSMITTING
const PRINTER_STATUS_PRINTING
diff --git a/constants/radio_constants.asm b/constants/radio_constants.asm
index 14bc75a41..86817081e 100644
--- a/constants/radio_constants.asm
+++ b/constants/radio_constants.asm
@@ -1,3 +1,4 @@
+; PlayRadioShow arguments, RadioJumptable indexes (see engine/radio.asm)
const_def
const OAKS_POKEMON_TALK ; $00
const POKEDEX_SHOW ; $01
@@ -88,6 +89,7 @@
const POKEDEX_SHOW_7 ; $56
const POKEDEX_SHOW_8 ; $57
+; PlayRadio arguments (see engine/pokegear.asm)
const_def
const MAPRADIO_POKEMON_CHANNEL
const MAPRADIO_OAKS_MON_TALK
@@ -99,12 +101,7 @@
const MAPRADIO_LETS_ALL_SING
const MAPRADIO_ROCKET
- const_def
- const BUENA_MON
- const BUENA_ITEM
- const BUENA_MOVE
- const BUENA_STRING
-
+; PasswordTable indexes (see engine/radio.asm)
const_def
const BUENA_STARTERS
const BUENA_DRINKS
@@ -119,3 +116,10 @@
const BUENA_STATIONS
NUM_PASSWORD_CATEGORIES EQU const_value
NUM_PASSWORDS_PER_CATEGORY EQU 3
+
+; PasswordTable string types (see engine/radio.asm)
+ const_def
+ const BUENA_MON
+ const BUENA_ITEM
+ const BUENA_MOVE
+ const BUENA_STRING
diff --git a/constants/script_constants.asm b/constants/script_constants.asm
index b695c4ee9..9dd4987f8 100644
--- a/constants/script_constants.asm
+++ b/constants/script_constants.asm
@@ -2,6 +2,7 @@
PLAYER EQU 0
LAST_TALKED EQU -2
+; GetVarAction arguments (see engine/variables.asm)
const_def
const VAR_STRINGBUFFER2 ; 00
const VAR_PARTYCOUNT ; 01
@@ -32,10 +33,12 @@ LAST_TALKED EQU -2
const VAR_KENJI_BREAK ; 1a
NUM_VARS EQU const_value ; 1b
+; variable action types
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
const PLAYEREVENT_NONE
diff --git a/constants/sfx_constants.asm b/constants/sfx_constants.asm
index 65abfc3ca..f54235049 100644
--- a/constants/sfx_constants.asm
+++ b/constants/sfx_constants.asm
@@ -1,3 +1,4 @@
+; SFX indexes (see audio/sfx_pointers.asm)
const_def
const SFX_DEX_FANFARE_50_79 ; 00
@@ -191,6 +192,7 @@
const SFX_GLASS_TING ; bc
const SFX_GLASS_TING_2 ; bd
+; new to Crystal
const SFX_INTRO_UNOWN_1 ; be
const SFX_INTRO_UNOWN_2 ; bf
const SFX_INTRO_UNOWN_3 ; c0
diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm
index f9cc7ec77..8dc63402a 100644
--- a/constants/sprite_constants.asm
+++ b/constants/sprite_constants.asm
@@ -1,5 +1,5 @@
-
-; sprites
+; sprite ids
+; SpriteHeaders indexes (see gfx/overworld/sprite_headers.asm)
const_def
const SPRITE_NONE ; 00
const SPRITE_CHRIS ; 01
@@ -105,8 +105,8 @@
const SPRITE_RAIKOU ; 65
const SPRITE_STANDING_YOUNGSTER ; 66
+; SpriteMons indexes (see engine/overworld.asm)
const_value SET $80
-
SPRITE_POKEMON EQU const_value
const SPRITE_UNOWN ; 80
const SPRITE_GEODUDE ; 81
@@ -144,10 +144,12 @@ SPRITE_POKEMON EQU const_value
const SPRITE_LUGIA ; a1
const SPRITE_HO_OH ; a2
+; special GetMonSprite values (see engine/overworld.asm)
const_value SET $e0
const SPRITE_DAYCARE_MON_1 ; e0
const SPRITE_DAYCARE_MON_2 ; e1
+; VariableSprites indexes (see wram.asm)
const_value SET $f0
SPRITE_VARS EQU const_value
const SPRITE_CONSOLE ; f0
@@ -164,13 +166,7 @@ SPRITE_VARS EQU const_value
const SPRITE_COPYCAT ; fb
const SPRITE_JANINE_IMPERSONATOR ; fc
-; sprite types
-const_value SET 1
- const WALKING_SPRITE
- const STANDING_SPRITE
- const STILL_SPRITE
-
-; sprite header fields
+; sprite_header struct members (see gfx/overworld/sprite_headers.asm)
const_def
const SPRITEHEADER_ADDR_LO
const SPRITEHEADER_ADDR_HI
@@ -180,18 +176,24 @@ const_value SET 1
const SPRITEHEADER_PALETTE
NUM_SPRITEHEADER_FIELDS EQU const_value
+; sprite types
+const_value SET 1
+ const WALKING_SPRITE
+ const STANDING_SPRITE
+ const STILL_SPRITE
+
; sprite palettes
const_def
- const PAL_OW_RED
- const PAL_OW_BLUE
- const PAL_OW_GREEN
- const PAL_OW_BROWN
- const PAL_OW_PINK
- const PAL_OW_SILVER
- const PAL_OW_TREE
- const PAL_OW_ROCK
+ const PAL_OW_RED ; 0
+ const PAL_OW_BLUE ; 1
+ const PAL_OW_GREEN ; 2
+ const PAL_OW_BROWN ; 3
+ const PAL_OW_PINK ; 4
+ const PAL_OW_SILVER ; 5
+ const PAL_OW_TREE ; 6
+ const PAL_OW_ROCK ; 7
-; sprite movement data table indices
+; SpriteMovementData indexes (see data/map_objects.asm)
const_def
const SPRITEMOVEDATA_00 ; 00
const SPRITEMOVEDATA_ITEM_TREE ; 01
@@ -233,7 +235,7 @@ NUM_SPRITEHEADER_FIELDS EQU const_value
NUM_SPRITEMOVEDATA EQU const_value
SPRITEMOVEDATA_FIELDS EQU 6
-; sprite movement functions
+; MapObjectMovementPattern.Pointers indexes (see engine/map_objects.asm)
const_def
const SPRITEMOVEFN_00
const SPRITEMOVEFN_RANDOM_WALK_Y
@@ -264,8 +266,7 @@ SPRITEMOVEDATA_FIELDS EQU 6
const SPRITEMOVEFN_BOULDERDUST
const SPRITEMOVEFN_GRASS
-MAX_OUTDOOR_SPRITES EQU 23
-
+; StepTypesJumptable indexes (see engine/map_objects.asm)
const_def
const STEP_TYPE_00
const STEP_TYPE_SLEEP
@@ -294,6 +295,7 @@ MAX_OUTDOOR_SPRITES EQU 23
const STEP_TYPE_18
const STEP_TYPE_SKYFALL_TOP
+; PersonActionPairPointers indexes (see engine/map_object_action.asm)
const_def
const PERSON_ACTION_00
const PERSON_ACTION_STAND
@@ -313,6 +315,7 @@ MAX_OUTDOOR_SPRITES EQU 23
const PERSON_ACTION_GRASS_SHAKE
const PERSON_ACTION_SKYFALL
+; Facings indexes (see engine/facings.asm)
const_def
const FACING_STEP_DOWN_0
const FACING_STEP_DOWN_1
@@ -347,6 +350,7 @@ MAX_OUTDOOR_SPRITES EQU 23
const FACING_GRASS_1
const FACING_GRASS_2
+; sprite_anim_struct members (see macros/wram.asm)
const_def
const SPRITEANIMSTRUCT_INDEX ; 0
const SPRITEANIMSTRUCT_FRAMESET_ID ; 1
@@ -365,6 +369,7 @@ MAX_OUTDOOR_SPRITES EQU 23
const SPRITEANIMSTRUCT_0E ; e
const SPRITEANIMSTRUCT_0F ; f
+; SpriteAnimFrameData indexes (see data/sprite_engine.asm)
const_def
const SPRITE_ANIM_FRAMESET_00
const SPRITE_ANIM_FRAMESET_PARTY_MON
@@ -377,13 +382,13 @@ MAX_OUTDOOR_SPRITES EQU 23
const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR
const SPRITE_ANIM_FRAMESET_09 ; unused?
const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO
- const SPRITE_ANIM_FRAMESET_0B
- const SPRITE_ANIM_FRAMESET_0C
+ const SPRITE_ANIM_FRAMESET_GS_INTRO_STAR
+ const SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE
const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM
const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY
const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2
const SPRITE_ANIM_FRAMESET_SLOTS_EGG
- const SPRITE_ANIM_FRAMESET_WALK_CYCLE
+ const SPRITE_ANIM_FRAMESET_RED_WALK
const SPRITE_ANIM_FRAMESET_STILL_CURSOR
const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL
const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0
@@ -433,29 +438,30 @@ MAX_OUTDOOR_SPRITES EQU 23
const SPRITE_ANIM_FRAMESET_CELEBI_LEFT
const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT
+; DoAnimFrame.Jumptable indexes (see engine/sprite_anims.asm)
const_def
const SPRITE_ANIM_SEQ_NULL
- const SPRITE_ANIM_SEQ_01
- const SPRITE_ANIM_SEQ_02
- const SPRITE_ANIM_SEQ_03
+ const SPRITE_ANIM_SEQ_PARTY_MON
+ const SPRITE_ANIM_SEQ_PARTY_MON_SWITCH
+ const SPRITE_ANIM_SEQ_PARTY_MON_SELECTED
const SPRITE_ANIM_SEQ_04
- const SPRITE_ANIM_SEQ_05
+ const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR
const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO
- const SPRITE_ANIM_SEQ_07
- const SPRITE_ANIM_SEQ_08
- const SPRITE_ANIM_SEQ_SLOT_GOLEM
+ const SPRITE_ANIM_SEQ_GS_INTRO_STAR
+ const SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE
+ const SPRITE_ANIM_SEQ_SLOTS_GOLEM
const SPRITE_ANIM_SEQ_SLOTS_CHANSEY
const SPRITE_ANIM_SEQ_SLOTS_EGG
- const SPRITE_ANIM_SEQ_0C
+ const SPRITE_ANIM_SEQ_MAIL_CURSOR
const SPRITE_ANIM_SEQ_0D
const SPRITE_ANIM_SEQ_0E
const SPRITE_ANIM_SEQ_0F
- const SPRITE_ANIM_SEQ_10
- const SPRITE_ANIM_SEQ_11
+ const SPRITE_ANIM_SEQ_TRADE_POKE_BALL
+ const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE
const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE
- const SPRITE_ANIM_SEQ_13
- const SPRITE_ANIM_SEQ_14
- const SPRITE_ANIM_SEQ_15
+ const SPRITE_ANIM_SEQ_REVEAL_NEW_MON
+ const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB
+ const SPRITE_ANIM_SEQ_CUT_LEAVES
const SPRITE_ANIM_SEQ_FLY_FROM
const SPRITE_ANIM_SEQ_FLY_LEAF
const SPRITE_ANIM_SEQ_FLY_TO
@@ -463,62 +469,63 @@ MAX_OUTDOOR_SPRITES EQU 23
const SPRITE_ANIM_SEQ_1A
const SPRITE_ANIM_SEQ_1B
const SPRITE_ANIM_SEQ_1C
- const SPRITE_ANIM_SEQ_1D
- const SPRITE_ANIM_SEQ_1E
- const SPRITE_ANIM_SEQ_1F
- const SPRITE_ANIM_SEQ_20
- const SPRITE_ANIM_SEQ_21
- const SPRITE_ANIM_SEQ_22
+ const SPRITE_ANIM_SEQ_INTRO_SUICUNE
+ const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER
+ const SPRITE_ANIM_SEQ_CELEBI
+ const SPRITE_ANIM_SEQ_INTRO_UNOWN
+ const SPRITE_ANIM_SEQ_INTRO_UNOWN_F
+ const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY
+; SpriteAnimSeqData indexes (see engine/sprites.asm)
const_def
- const SPRITE_ANIM_INDEX_00
+ const SPRITE_ANIM_INDEX_PARTY_MON
const SPRITE_ANIM_INDEX_01
- const SPRITE_ANIM_INDEX_02
- const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
- const SPRITE_ANIM_INDEX_04
const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
- const SPRITE_ANIM_INDEX_SLOT_GOLEM
+ const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
+ const SPRITE_ANIM_INDEX_GS_INTRO_STAR
+ const SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE
+ const SPRITE_ANIM_INDEX_SLOTS_GOLEM
const SPRITE_ANIM_INDEX_SLOTS_CHANSEY
const SPRITE_ANIM_INDEX_SLOTS_EGG
- const SPRITE_ANIM_INDEX_09
+ const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
const SPRITE_ANIM_INDEX_RED_WALK
const SPRITE_ANIM_INDEX_0B
- const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
+ const SPRITE_ANIM_INDEX_DUMMY_GAME
const SPRITE_ANIM_INDEX_0D
- const SPRITE_ANIM_INDEX_0E
- const SPRITE_ANIM_INDEX_0F
- const SPRITE_ANIM_INDEX_10
+ const SPRITE_ANIM_INDEX_TRADE_POKE_BALL
+ const SPRITE_ANIM_INDEX_TRADE_POOF
+ const SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
const SPRITE_ANIM_INDEX_TRADEMON_ICON
const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
- const SPRITE_ANIM_INDEX_13
- const SPRITE_ANIM_INDEX_14
- const SPRITE_ANIM_INDEX_15
+ const SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
+ const SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
+ const SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
const SPRITE_ANIM_INDEX_LEAF
const SPRITE_ANIM_INDEX_CUT_TREE
const SPRITE_ANIM_INDEX_FLY_LEAF
- const SPRITE_ANIM_INDEX_19
+ const SPRITE_ANIM_INDEX_EGG_CRACK
const SPRITE_ANIM_INDEX_1A
- const SPRITE_ANIM_INDEX_1B
- const SPRITE_ANIM_INDEX_1C
+ const SPRITE_ANIM_INDEX_HEADBUTT
+ const SPRITE_ANIM_INDEX_EGG_HATCH
const SPRITE_ANIM_INDEX_1D
const SPRITE_ANIM_INDEX_BLUE_WALK
- const SPRITE_ANIM_INDEX_1F
+ const SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
const SPRITE_ANIM_INDEX_20
const SPRITE_ANIM_INDEX_21
const SPRITE_ANIM_INDEX_22
const SPRITE_ANIM_INDEX_23
const SPRITE_ANIM_INDEX_24
const SPRITE_ANIM_INDEX_25
- const SPRITE_ANIM_INDEX_26
- const SPRITE_ANIM_INDEX_27
- const SPRITE_ANIM_INDEX_28
- const SPRITE_ANIM_INDEX_29
- const SPRITE_ANIM_INDEX_2A
- const SPRITE_ANIM_INDEX_2B
- const SPRITE_ANIM_INDEX_2C
+ const SPRITE_ANIM_INDEX_INTRO_SUICUNE
+ const SPRITE_ANIM_INDEX_INTRO_PICHU
+ const SPRITE_ANIM_INDEX_INTRO_WOOPER
+ const SPRITE_ANIM_INDEX_INTRO_UNOWN
+ const SPRITE_ANIM_INDEX_INTRO_UNOWN_F
+ const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
+ const SPRITE_ANIM_INDEX_CELEBI
+; SpriteAnimOAMData indexes (see data/sprite_engine.asm)
const_def
-
const SPRITE_ANIM_FRAME_IDX_00
const SPRITE_ANIM_FRAME_IDX_01
const SPRITE_ANIM_FRAME_IDX_02
diff --git a/constants/std_constants.asm b/constants/std_constants.asm
index 039b27073..0667f020f 100644
--- a/constants/std_constants.asm
+++ b/constants/std_constants.asm
@@ -1,3 +1,5 @@
+; StdScripts indexes (see engine/std_scripts.asm)
+; also used in CheckFacingTileForStd (see main.asm)
enum_start
enum pokecenternurse
enum difficultbookshelf
diff --git a/constants/tilemap_constants.asm b/constants/tilemap_constants.asm
index 04f9bcaaa..702dc92bf 100644
--- a/constants/tilemap_constants.asm
+++ b/constants/tilemap_constants.asm
@@ -1,9 +1,10 @@
-LANDTILE EQU 0
+; collision values (see tilesets/collision.asm)
+LANDTILE EQU $0
+WATERTILE EQU $1
WALLTILE EQU $f
-WATERTILE EQU 1
-
-TALK EQU 1 << 4
+TALK EQU $10
+; Tilesets indexes (see tilesets/tileset_headers.asm)
const_value SET 1
const TILESET_JOHTO_1 ; 01
const TILESET_JOHTO_2 ; 02
@@ -42,12 +43,13 @@ const_value SET 1
const TILESET_OMANYTE_WORD_ROOM ; 23
const TILESET_AERODACTYL_WORD_ROOM ; 24
+; bg palette values (see tilesets/*_palette_map.asm)
const_def
- const PAL_BG_GRAY
- const PAL_BG_RED
- const PAL_BG_GREEN
- const PAL_BG_WATER
- const PAL_BG_YELLOW
- const PAL_BG_BROWN
- const PAL_BG_ROOF
- const PAL_BG_TEXT
+ const PAL_BG_GRAY ; 0
+ const PAL_BG_RED ; 1
+ const PAL_BG_GREEN ; 2
+ const PAL_BG_WATER ; 3
+ const PAL_BG_YELLOW ; 4
+ const PAL_BG_BROWN ; 5
+ const PAL_BG_ROOF ; 6
+ const PAL_BG_TEXT ; 7
diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm
index 70692c822..42b499abb 100644
--- a/constants/trainer_constants.asm
+++ b/constants/trainer_constants.asm
@@ -1,4 +1,11 @@
-; trainer groups
+; trainer class ids
+; `trainerclass` indexes are for:
+; - TrainerClassAttributes (see trainers/attributes.asm)
+; - TrainerClassDVs (see trainers/dvs.asm)
+; - TrainerGroups (see trainers/trainer_pointers.asm)
+; - TrainerEncounterMusic (see audio/trainer_encounters.asm)
+; - BTTrainerClassGenders (see misc/battle_tower_47.asm)
+; trainer constants are Trainers indexes, for the sub-tables of TrainerGroups (see trainers/trainers.asm)
enum_start
CHRIS EQU __enum__
trainerclass TRAINER_NONE ; 0
@@ -26,21 +33,21 @@ KRIS EQU __enum__
trainerclass CLAIR ; 8
trainerclass RIVAL1 ; 9
- const RIVAL1_1
- const RIVAL1_2
- const RIVAL1_3
- const RIVAL1_4
- const RIVAL1_5
- const RIVAL1_6
- const RIVAL1_7
- const RIVAL1_8
- const RIVAL1_9
- const RIVAL1_10
- const RIVAL1_11
- const RIVAL1_12
- const RIVAL1_13
- const RIVAL1_14
- const RIVAL1_15
+ const RIVAL1_1_CHIKORITA
+ const RIVAL1_1_CYNDAQUIL
+ const RIVAL1_1_TOTODILE
+ const RIVAL1_2_CHIKORITA
+ const RIVAL1_2_CYNDAQUIL
+ const RIVAL1_2_TOTODILE
+ const RIVAL1_3_CHIKORITA
+ const RIVAL1_3_CYNDAQUIL
+ const RIVAL1_3_TOTODILE
+ const RIVAL1_4_CHIKORITA
+ const RIVAL1_4_CYNDAQUIL
+ const RIVAL1_4_TOTODILE
+ const RIVAL1_5_CHIKORITA
+ const RIVAL1_5_CYNDAQUIL
+ const RIVAL1_5_TOTODILE
trainerclass POKEMON_PROF ; a
@@ -415,6 +422,12 @@ KRIS EQU __enum__
const MARKUS
trainerclass RIVAL2 ; 2a
+ const RIVAL2_1_CHIKORITA
+ const RIVAL2_1_CYNDAQUIL
+ const RIVAL2_1_TOTODILE
+ const RIVAL2_2_CHIKORITA
+ const RIVAL2_2_CYNDAQUIL
+ const RIVAL2_2_TOTODILE
trainerclass GUITARIST ; 2b
const CLYDE
@@ -492,6 +505,10 @@ KRIS EQU __enum__
const WAI
trainerclass EXECUTIVEM ; 33
+ const EXECUTIVEM_1
+ const EXECUTIVEM_2
+ const EXECUTIVEM_3
+ const EXECUTIVEM_4
trainerclass PSYCHIC_T ; 34
const NATHAN
@@ -560,6 +577,8 @@ KRIS EQU __enum__
const QUENTIN
trainerclass EXECUTIVEF ; 37
+ const EXECUTIVEF_1
+ const EXECUTIVEF_2
trainerclass SAGE ; 38
const CHOW
@@ -648,12 +667,23 @@ KRIS EQU __enum__
const GRUNTF_4
const GRUNTF_5
-
trainerclass MYSTICALMAN ; 43
const EUSINE
NUM_TRAINER_CLASSES EQU __enum__
+; TrainerClassAttributes fields (see trainers/attributes.asm)
+ const_def
+ const TRNATTR_ITEM1
+ const TRNATTR_ITEM2
+ const TRNATTR_BASEMONEY
+ const TRNATTR_AI_MOVE_WEIGHTS
+ const TRNATTR_AI2
+ const TRNATTR_AI_ITEM_SWITCH
+ const TRNATTR_AI4
+NUM_TRAINER_ATTRIBUTES EQU const_value
+
+; TRNATTR_AI_MOVE_WEIGHTS bit flags (wEnemyTrainerAIFlags)
const_def
const NO_AI
const_value = 0
@@ -674,12 +704,24 @@ const_value = 0
shift_const AI_14
shift_const AI_15
+; TRNATTR_AI_ITEM_SWITCH bit flags
+CONTEXT_USE_F EQU 6
+UNKNOWN_USE_F EQU 5
+ALWAYS_USE_F EQU 4
+SWITCH_SOMETIMES_F EQU 2
+SWITCH_RARELY_F EQU 1
+SWITCH_OFTEN_F EQU 0
+
+CONTEXT_USE EQU 1 << CONTEXT_USE_F
+UNKNOWN_USE EQU 1 << UNKNOWN_USE_F
+ALWAYS_USE EQU 1 << ALWAYS_USE_F
+SWITCH_SOMETIMES EQU 1 << SWITCH_SOMETIMES_F
+SWITCH_RARELY EQU 1 << SWITCH_RARELY_F
+SWITCH_OFTEN EQU 1 << SWITCH_OFTEN_F
+
+; TrainerTypes indexes (see trainers/read_party.asm)
const_def
- const TRNATTR_ITEM1
- const TRNATTR_ITEM2
- const TRNATTR_BASEMONEY
- const TRNATTR_AI_MOVE_WEIGHTS
- const TRNATTR_AI2
- const TRNATTR_AI_ITEM_SWITCH
- const TRNATTR_AI4
-NUM_TRAINER_ATTRIBUTES EQU const_value
+ const TRAINERTYPE_NORMAL
+ const TRAINERTYPE_MOVES
+ const TRAINERTYPE_ITEM
+ const TRAINERTYPE_ITEM_MOVES
diff --git a/constants/type_constants.asm b/constants/type_constants.asm
index b7b350e33..6f389617b 100644
--- a/constants/type_constants.asm
+++ b/constants/type_constants.asm
@@ -1,3 +1,7 @@
+; TypeNames indexes (see text/types.asm)
+; also used in:
+; - TypeMatchup (see battle.type_matchup.asm)
+; - Pokedex_SearchForMons.TypeConversionTable and Pokedex_PlaceSearchScreenTypeStrings.TypeStrings (see engine/pokedex.asm)
const_def
PHYSICAL EQU const_value
diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm
index 09d457f5e..5bb1013ac 100644
--- a/constants/wram_constants.asm
+++ b/constants/wram_constants.asm
@@ -1,23 +1,26 @@
-
; MonType: ; cf5f
-PARTYMON EQU 0
-OTPARTYMON EQU 1
-BOXMON EQU 2
-TEMPMON EQU 3
-WILDMON EQU 4
-
-; Options: ; cfcc
+ const_def
+ const PARTYMON ; 0
+ const OTPARTYMON ; 1
+ const BOXMON ; 2
+ const TEMPMON ; 3
+ const WILDMON ; 4
+
+; Options: (bits) ; cfcc
+const_value SET 5
+ const STEREO ; 5
+ const BATTLE_SHIFT ; 6
+ const BATTLE_SCENE ; 7
+
+; Options: (bits 0-2 values) ; cfcc
FAST_TEXT EQU 0
MED_TEXT EQU 1
SLOW_TEXT EQU 2
NO_TEXT_SCROLL EQU 4
-; bits
-STEREO EQU 5
-BATTLE_SHIFT EQU 6
-BATTLE_SCENE EQU 7
; Options2:
-MENU_ACCOUNT EQU 0
+ const_def
+ const MENU_ACCOUNT ; 0
; GBPrinter:
PRINT_LIGHTEST EQU $00
@@ -27,11 +30,12 @@ PRINT_DARKER EQU $60
PRINT_DARKEST EQU $7f
; WalkingDirection: ; d043
-STANDING EQU -1
-DOWN EQU 0
-UP EQU 1
-LEFT EQU 2
-RIGHT EQU 3
+const_value SET -1
+ const STANDING ; -1
+ const DOWN ; 0
+ const UP ; 1
+ const LEFT ; 2
+ const RIGHT ; 3
; FacingDirection: ; d044
FACE_CURRENT EQU 0
@@ -41,10 +45,11 @@ FACE_LEFT EQU 2
FACE_RIGHT EQU 1
; TimeOfDay: ; d269
-MORN EQU 0
-DAY EQU 1
-NITE EQU 2
-DARKNESS EQU 3
+ const_def
+ const MORN ; 0
+ const DAY ; 1
+ const NITE ; 2
+ const DARKNESS ; 3
; ScriptFlags: ; d434
SCRIPT_RUNNING EQU 2
@@ -56,13 +61,14 @@ SCRIPT_WAIT_MOVEMENT EQU 2
SCRIPT_WAIT EQU 3
; CurDay: ; d4cb
-SUNDAY EQU 0
-MONDAY EQU 1
-TUESDAY EQU 2
-WEDNESDAY EQU 3
-THURSDAY EQU 4
-FRIDAY EQU 5
-SATURDAY EQU 6
+ const_def
+ const SUNDAY ; 0
+ const MONDAY ; 1
+ const TUESDAY ; 2
+ const WEDNESDAY ; 3
+ const THURSDAY ; 4
+ const FRIDAY ; 5
+ const SATURDAY ; 6
; MapObjects: ; d71e
@@ -103,3 +109,35 @@ DAYCARE_DEPOSIT EQU 3
const DEXMODE_OLD
const DEXMODE_ABC
const DEXMODE_UNOWN
+
+; JohtoBadges:
+ const_def
+ const ZEPHYRBADGE
+ const HIVEBADGE
+ const PLAINBADGE
+ const FOGBADGE
+ const MINERALBADGE
+ const STORMBADGE
+ const GLACIERBADGE
+ const RISINGBADGE
+NUM_JOHTO_BADGES EQU const_value
+
+; KantoBadges:
+ const_def
+ const BOULDERBADGE
+ const CASCADEBADGE
+ const THUNDERBADGE
+ const RAINBOWBADGE
+ const SOULBADGE
+ const MARSHBADGE
+ const VOLCANOBADGE
+ const EARTHBADGE
+NUM_KANTO_BADGES EQU const_value
+NUM_BADGES EQU NUM_JOHTO_BADGES + NUM_KANTO_BADGES
+
+; wInitListType:
+INIT_ENEMYOT_LIST EQU 1
+INIT_BAG_ITEM_LIST EQU 2
+INIT_OTHER_ITEM_LIST EQU 3
+INIT_PLAYEROT_LIST EQU 4
+INIT_MON_LIST EQU 5