diff options
Diffstat (limited to 'constants')
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 |