diff options
author | yenatch <yenatch@gmail.com> | 2017-12-28 01:30:36 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-12-28 01:30:36 -0500 |
commit | da28d1a84b0499bead314e17ae2ff0d13eb03196 (patch) | |
tree | c212adfc53d1996c06f2e4be1d6e480e687a2ad8 /constants | |
parent | bad9e33530af8cdc29ce5629df682fc7915bfff0 (diff) | |
parent | 2c4777f3363cd64d05fb00084fd83dff8ac31674 (diff) |
Merge pull request #437 from roukaour/master
Reorganize battle/; rename most "header" misnomers; gfx/pics → gfx/pokemon
Diffstat (limited to 'constants')
26 files changed, 1691 insertions, 1669 deletions
diff --git a/constants/animation_constants.asm b/constants/battle_anim_constants.asm index e7c844c12..0170d5700 100644 --- a/constants/animation_constants.asm +++ b/constants/battle_anim_constants.asm @@ -26,7 +26,7 @@ const BATTLEANIMSTRUCT_17 BATTLEANIMSTRUCT_LENGTH EQU const_value -; BattleAnimObjects indexes (see battle/objects/data.asm) +; BattleAnimObjects indexes (see data/battle_anims/objects.asm) const_def const ANIM_OBJ_00 const ANIM_OBJ_01 @@ -217,7 +217,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value const ANIM_OBJ_BA const ANIM_OBJ_BB -; DoBattleAnimFrame arguments (see battle/objects/functions.asm) +; DoBattleAnimFrame arguments (see engine/battle_anims/functions.asm) const_def const BATTLEANIMFUNC_00 const BATTLEANIMFUNC_01 @@ -300,7 +300,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value const BATTLEANIMFUNC_4E const BATTLEANIMFUNC_4F -; BattleAnimFrameData indexes (see battle/objects/framesets.asm) +; BattleAnimFrameData indexes (see data/battle_anims/framesets.asm) const_def const BATTLEANIMFRAMESET_00 const BATTLEANIMFRAMESET_01 @@ -488,7 +488,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value const BATTLEANIMFRAMESET_B7 const BATTLEANIMFRAMESET_B8 -; BattleAnimOAMData indexes (see battle/objects/oam.asm) +; BattleAnimOAMData indexes (see data/battle_anims/oam.asm) const_def const BATTLEANIMOAMSET_00 const BATTLEANIMOAMSET_01 @@ -707,7 +707,7 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value const BATTLEANIMOAMSET_D6 const BATTLEANIMOAMSET_D7 -; BattleBGEffects indexes (see battle/bg_effects.asm) +; BattleBGEffects indexes (see engine/battle_anims/bg_effects.asm) const_value SET 1 const ANIM_BG_FLASH_INVERTED const ANIM_BG_FLASH_WHITE @@ -763,19 +763,7 @@ 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 - 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) +; AnimObjGFX indexes (see data/battle_anims/object_gfx.asm) const_value SET 1 const ANIM_GFX_HIT const ANIM_GFX_CUT diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm index e9d393fcc..2b1fec155 100644 --- a/constants/battle_constants.asm +++ b/constants/battle_constants.asm @@ -30,16 +30,16 @@ TREEMON_SLEEP_TURNS EQU 7 const ABILITY ; used for BattleCommand_Curse NUM_LEVEL_STATS EQU const_value -; move struct members (see battle/moves/moves.asm) +; move struct members (see data/moves/moves.asm) const_def - const MOVE_ANIM - const MOVE_EFFECT - const MOVE_POWER - const MOVE_TYPE - const MOVE_ACC - const MOVE_PP - const MOVE_CHANCE - const MOVE_LENGTH + const MOVE_ANIM ; 0 + const MOVE_EFFECT ; 1 + const MOVE_POWER ; 2 + const MOVE_TYPE ; 3 + const MOVE_ACC ; 4 + const MOVE_PP ; 5 + const MOVE_CHANCE ; 6 +MOVE_LENGTH EQU const_value ; stat constants ; indexes for: @@ -213,166 +213,6 @@ SUBSTATUS_CURLED EQU 0 const WEATHER_SUN_END const WEATHER_SANDSTORM_END -; MoveEffectsPointers indexes (see battle/moves/move_effects_pointers.asm) - const_def - const EFFECT_NORMAL_HIT - const EFFECT_SLEEP - const EFFECT_POISON_HIT - const EFFECT_LEECH_HIT - const EFFECT_BURN_HIT - const EFFECT_FREEZE_HIT - const EFFECT_PARALYZE_HIT - const EFFECT_SELFDESTRUCT - const EFFECT_DREAM_EATER - const EFFECT_MIRROR_MOVE - const EFFECT_ATTACK_UP - const EFFECT_DEFENSE_UP - const EFFECT_SPEED_UP - const EFFECT_SP_ATK_UP - const EFFECT_SP_DEF_UP - const EFFECT_ACCURACY_UP - const EFFECT_EVASION_UP - const EFFECT_ALWAYS_HIT - const EFFECT_ATTACK_DOWN - const EFFECT_DEFENSE_DOWN - const EFFECT_SPEED_DOWN - const EFFECT_SP_ATK_DOWN - const EFFECT_SP_DEF_DOWN - const EFFECT_ACCURACY_DOWN - const EFFECT_EVASION_DOWN - const EFFECT_RESET_STATS - const EFFECT_BIDE - const EFFECT_RAMPAGE - const EFFECT_FORCE_SWITCH - const EFFECT_MULTI_HIT - const EFFECT_CONVERSION - const EFFECT_FLINCH_HIT - const EFFECT_HEAL - const EFFECT_TOXIC - const EFFECT_PAY_DAY - const EFFECT_LIGHT_SCREEN - const EFFECT_TRI_ATTACK - const EFFECT_UNUSED_25 - const EFFECT_OHKO - const EFFECT_RAZOR_WIND - const EFFECT_SUPER_FANG - const EFFECT_STATIC_DAMAGE - const EFFECT_TRAP_TARGET - const EFFECT_UNUSED_2B - const EFFECT_DOUBLE_HIT - const EFFECT_JUMP_KICK - const EFFECT_MIST - const EFFECT_FOCUS_ENERGY - const EFFECT_RECOIL_HIT - const EFFECT_CONFUSE - const EFFECT_ATTACK_UP_2 - const EFFECT_DEFENSE_UP_2 - const EFFECT_SPEED_UP_2 - const EFFECT_SP_ATK_UP_2 - const EFFECT_SP_DEF_UP_2 - const EFFECT_ACCURACY_UP_2 - const EFFECT_EVASION_UP_2 - const EFFECT_TRANSFORM - const EFFECT_ATTACK_DOWN_2 - const EFFECT_DEFENSE_DOWN_2 - const EFFECT_SPEED_DOWN_2 - const EFFECT_SP_ATK_DOWN_2 - const EFFECT_SP_DEF_DOWN_2 - const EFFECT_ACCURACY_DOWN_2 - const EFFECT_EVASION_DOWN_2 - const EFFECT_REFLECT - const EFFECT_POISON - const EFFECT_PARALYZE - const EFFECT_ATTACK_DOWN_HIT - const EFFECT_DEFENSE_DOWN_HIT - const EFFECT_SPEED_DOWN_HIT - const EFFECT_SP_ATK_DOWN_HIT - const EFFECT_SP_DEF_DOWN_HIT - const EFFECT_ACCURACY_DOWN_HIT - const EFFECT_EVASION_DOWN_HIT - const EFFECT_SKY_ATTACK - const EFFECT_CONFUSE_HIT - const EFFECT_POISON_MULTI_HIT - const EFFECT_UNUSED_4E - const EFFECT_SUBSTITUTE - const EFFECT_HYPER_BEAM - const EFFECT_RAGE - const EFFECT_MIMIC - const EFFECT_METRONOME - const EFFECT_LEECH_SEED - const EFFECT_SPLASH - const EFFECT_DISABLE - const EFFECT_LEVEL_DAMAGE - const EFFECT_PSYWAVE - const EFFECT_COUNTER - const EFFECT_ENCORE - const EFFECT_PAIN_SPLIT - const EFFECT_SNORE - const EFFECT_CONVERSION2 - const EFFECT_LOCK_ON - const EFFECT_SKETCH - const EFFECT_DEFROST_OPPONENT - const EFFECT_SLEEP_TALK - const EFFECT_DESTINY_BOND - const EFFECT_REVERSAL - const EFFECT_SPITE - const EFFECT_FALSE_SWIPE - const EFFECT_HEAL_BELL - const EFFECT_PRIORITY_HIT - const EFFECT_TRIPLE_KICK - const EFFECT_THIEF - const EFFECT_MEAN_LOOK - const EFFECT_NIGHTMARE - const EFFECT_FLAME_WHEEL - const EFFECT_CURSE - const EFFECT_UNUSED_6E - const EFFECT_PROTECT - const EFFECT_SPIKES - const EFFECT_FORESIGHT - const EFFECT_PERISH_SONG - const EFFECT_SANDSTORM - const EFFECT_ENDURE - const EFFECT_ROLLOUT - const EFFECT_SWAGGER - const EFFECT_FURY_CUTTER - const EFFECT_ATTRACT - const EFFECT_RETURN - const EFFECT_PRESENT - const EFFECT_FRUSTRATION - const EFFECT_SAFEGUARD - const EFFECT_SACRED_FIRE - const EFFECT_MAGNITUDE - const EFFECT_BATON_PASS - const EFFECT_PURSUIT - const EFFECT_RAPID_SPIN - const EFFECT_UNUSED_82 - const EFFECT_UNUSED_83 - const EFFECT_MORNING_SUN - const EFFECT_SYNTHESIS - const EFFECT_MOONLIGHT - const EFFECT_HIDDEN_POWER - const EFFECT_RAIN_DANCE - const EFFECT_SUNNY_DAY - const EFFECT_DEFENSE_UP_HIT - const EFFECT_ATTACK_UP_HIT - const EFFECT_ALL_UP_HIT - const EFFECT_FAKE_OUT - const EFFECT_BELLY_DRUM - const EFFECT_PSYCH_UP - const EFFECT_MIRROR_COAT - const EFFECT_SKULL_BASH - const EFFECT_TWISTER - const EFFECT_EARTHQUAKE - const EFFECT_FUTURE_SIGHT - const EFFECT_GUST - const EFFECT_STOMP - const EFFECT_SOLARBEAM - const EFFECT_THUNDER - const EFFECT_TELEPORT - const EFFECT_BEAT_UP - const EFFECT_FLY - const EFFECT_DEFENSE_CURL - ; wBattleAction const_def const BATTLEACTION_MOVE1 diff --git a/constants/deco_constants.asm b/constants/deco_constants.asm index 433b11e25..7546d9e1f 100644 --- a/constants/deco_constants.asm +++ b/constants/deco_constants.asm @@ -7,7 +7,7 @@ const_value = 1 const DECO_DOLL const DECO_BIGDOLL -; DecorationNames indexes (see engine/decorations.asm) +; DecorationNames indexes (see data/decorations/names.asm) const_value = 1 const PUT_IT_AWAY const MAGNAPLANT @@ -35,7 +35,7 @@ const_value = 1 const YELLOW_CARPET const GREEN_CARPET -; DoDecorationAction2 arguments (see engine/decorations.asm) +; DoDecorationAction2.DecoActions indexes (see engine/decorations.asm) const_value = 1 const SET_UP_BED const PUT_AWAY_BED @@ -59,43 +59,46 @@ deco: MACRO enum DECOFLAG_\1 endm -; decorations (see data/decoration_attribute.asm) +; decorations: +; - DecorationAttributes (see data/decorations/attributes.asm) +; - DecorationIDs (see data/decorations/decorations.asm) const_value = 1 __enum__ = 0 +; FindOwnedBeds.beds values (see engine/decorations.asm) const BEDS deco FEATHERY_BED deco PINK_BED deco POLKADOT_BED deco PIKACHU_BED - +; FindOwnedCarpets.carpets values (see engine/decorations.asm) const CARPETS deco RED_CARPET deco BLUE_CARPET deco YELLOW_CARPET deco GREEN_CARPET - +; FindOwnedPlants.plants values (see engine/decorations.asm) const PLANTS deco MAGNAPLANT deco TROPICPLANT deco JUMBOPLANT - +; FindOwnedPosters.posters values (see engine/decorations.asm) const POSTERS deco TOWN_MAP deco PIKACHU_POSTER deco CLEFAIRY_POSTER deco JIGGLYPUFF_POSTER - +; FindOwnedConsoles.consoles values (see engine/decorations.asm) const CONSOLES deco FAMICOM deco SNES deco N64 deco VIRTUAL_BOY - +; FindOwnedBigDolls.big_dolls values (see engine/decorations.asm) const BIG_DOLLS deco BIG_SNORLAX_DOLL deco BIG_ONIX_DOLL deco BIG_LAPRAS_DOLL - +; FindOwnedOrnaments.ornaments values (see engine/decorations.asm) const DOLLS deco PIKACHU_DOLL deco SURF_PIKACHU_DOLL diff --git a/constants/gfx_constants.asm b/constants/gfx_constants.asm index 4c3b23fc9..ca468f477 100644 --- a/constants/gfx_constants.asm +++ b/constants/gfx_constants.asm @@ -20,5 +20,4 @@ HP_BAR_LENGTH_PX EQU HP_BAR_LENGTH * TILE_WIDTH ; pixels EXP_BAR_LENGTH EQU 8 ; tiles EXP_BAR_LENGTH_PX EQU EXP_BAR_LENGTH * TILE_WIDTH ; pixels - PALPACKET_LENGTH EQU $10 diff --git a/constants/hardware_constants.asm b/constants/hardware_constants.asm index ae2e97a6b..9cb278622 100644 --- a/constants/hardware_constants.asm +++ b/constants/hardware_constants.asm @@ -1,4 +1,19 @@ -; Graciously aped from http://nocash.emubase.de/pandocs.htm . +; Graciously aped from: +; http://nocash.emubase.de/pandocs.htm +; http://gameboy.mongenel.com/dmg/asmmemmap.html + +; memory map +VRAM_Begin EQU $8000 +VRAM_End EQU $a000 +SRAM_Begin EQU $a000 +SRAM_End EQU $c000 +WRAM0_Begin EQU $c000 +WRAM0_End EQU $d000 +WRAM1_Begin EQU $d000 +WRAM1_End EQU $e000 +; hardware registers $ff00-$ff80 (see below) +HRAM_Begin EQU $ff80 +HRAM_End EQU $ffff ; MBC3 MBC3SRamEnable EQU $0000 diff --git a/constants/icon_constants.asm b/constants/icon_constants.asm new file mode 100644 index 000000000..2b0456c1d --- /dev/null +++ b/constants/icon_constants.asm @@ -0,0 +1,41 @@ +; IconPointers indexes (see data/icon_pointers.asm) + const_def + const ICON_NULL + const ICON_POLIWAG + const ICON_JIGGLYPUFF + const ICON_DIGLETT + const ICON_PIKACHU + const ICON_STARYU + const ICON_FISH + const ICON_BIRD + const ICON_MONSTER + const ICON_CLEFAIRY + const ICON_ODDISH + const ICON_BUG + const ICON_GHOST + const ICON_LAPRAS + const ICON_HUMANSHAPE + const ICON_FOX + const ICON_EQUINE + const ICON_SHELL + const ICON_BLOB + const ICON_SERPENT + const ICON_VOLTORB + const ICON_SQUIRTLE + const ICON_BULBASAUR + const ICON_CHARMANDER + const ICON_CATERPILLAR + const ICON_UNOWN + const ICON_GEODUDE + const ICON_FIGHTER + const ICON_EGG + const ICON_JELLYFISH + const ICON_MOTH + const ICON_BAT + const ICON_SNORLAX + const ICON_HO_OH + const ICON_LUGIA + const ICON_GYARADOS + const ICON_SLOWPOKE + const ICON_SUDOWOODO + const ICON_BIGMON diff --git a/constants/item_constants.asm b/constants/item_constants.asm index 5dc506604..c1079e82d 100644 --- a/constants/item_constants.asm +++ b/constants/item_constants.asm @@ -1,9 +1,9 @@ ; item ids ; indexes for: -; - ItemAttributes (see data/items/item_attributes.asm) -; - ItemDescriptions (see data/items/item_descriptions.asm) +; - ItemNames (see data/items/names.asm) +; - ItemDescriptions (see data/items/descriptions.asm) +; - ItemAttributes (see data/items/attributes.asm) ; - ItemEffects (see engine/item_effects.asm) -; - ItemNames (see data/items/item_names.asm) const_def const NO_ITEM ; $00 const MASTER_BALL ; $01 @@ -197,7 +197,7 @@ const MIRAGE_MAIL ; $BD const ITEM_BE ; $BE -; see data/tmhm_moves.asm for moves +; see data/moves/tmhm_moves.asm for moves add_tm DYNAMICPUNCH ; $BF add_tm HEADBUTT ; $C0 add_tm CURSE ; $C1 @@ -273,189 +273,3 @@ ITEM_FROM_MEM EQU $FF 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 - -; 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 - - -; held item effects - const_def - const HELD_NONE - const HELD_BERRY - const HELD_2 - const HELD_LEFTOVERS - const HELD_4 - const HELD_5 - const HELD_RESTORE_PP - const HELD_7 - const HELD_CLEANSE_TAG - -const_value SET 10 - const HELD_HEAL_POISON - const HELD_HEAL_FREEZE - const HELD_HEAL_BURN - const HELD_HEAL_SLEEP - const HELD_HEAL_PARALYZE - const HELD_HEAL_STATUS - const HELD_HEAL_CONFUSION - -const_value SET 20 - const HELD_PREVENT_POISON - const HELD_PREVENT_BURN - const HELD_PREVENT_FREEZE - const HELD_PREVENT_SLEEP - const HELD_PREVENT_PARALYZE - const HELD_PREVENT_CONFUSE - -const_value SET 30 - const HELD_30 - const HELD_ATTACK_UP - const HELD_DEFENSE_UP - const HELD_SPEED_UP - const HELD_SP_ATTACK_UP - const HELD_SP_DEFENSE_UP - const HELD_ACCURACY_UP - const HELD_EVASION_UP - const HELD_38 - -const_value SET 40 - const HELD_40 - const HELD_41 - const HELD_METAL_POWDER - -const_value SET 50 - const HELD_NORMAL_BOOST - const HELD_FIGHTING_BOOST - const HELD_FLYING_BOOST - const HELD_POISON_BOOST - const HELD_GROUND_BOOST - const HELD_ROCK_BOOST - const HELD_BUG_BOOST - const HELD_GHOST_BOOST - const HELD_FIRE_BOOST - const HELD_WATER_BOOST - const HELD_GRASS_BOOST - const HELD_ELECTRIC_BOOST - const HELD_PSYCHIC_BOOST - const HELD_ICE_BOOST - const HELD_DRAGON_BOOST - const HELD_DARK_BOOST - const HELD_STEEL_BOOST - -const_value SET 70 - const HELD_CATCH_CHANCE - const HELD_71 - const HELD_ESCAPE - const HELD_CRITICAL_UP - const HELD_QUICK_CLAW - const HELD_FLINCH - const HELD_AMULET_COIN - const HELD_BRIGHTPOWDER - const HELD_78 - const HELD_FOCUS_BAND - -; item_attribute struct members (see data/items/item_attributes.asm) - const_def - const ITEMATTR_PRICE - const ITEMATTR_PRICE_HI - const ITEMATTR_EFFECT - const ITEMATTR_PARAM - const ITEMATTR_PERMISSIONS - const ITEMATTR_POCKET - const ITEMATTR_HELP -ITEMATTR_STRUCT_LENGTH EQU const_value - -; 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 - const MARTTYPE_BARGAIN - const MARTTYPE_PHARMACY - const MARTTYPE_ROOFTOP - -; Marts indexes (see data/items/marts.asm) - const_def - const MART_CHERRYGROVE - const MART_CHERRYGROVE_DEX - const MART_VIOLET - const MART_AZALEA - const MART_CIANWOOD - const MART_GOLDENROD_2F_1 - const MART_GOLDENROD_2F_2 - const MART_GOLDENROD_3F - const MART_GOLDENROD_4F - const MART_GOLDENROD_5F_1 - const MART_GOLDENROD_5F_2 - const MART_GOLDENROD_5F_3 - const MART_GOLDENROD_5F_4 - const MART_OLIVINE - const MART_ECRUTEAK - const MART_MAHOGANY_1 - const MART_MAHOGANY_2 - const MART_BLACKTHORN - const MART_VIRIDIAN - const MART_PEWTER - const MART_CERULEAN - const MART_LAVENDER - const MART_VERMILION - const MART_CELADON_2F_1 - const MART_CELADON_2F_2 - const MART_CELADON_3F - const MART_CELADON_4F - const MART_CELADON_5F_1 - const MART_CELADON_5F_2 - const MART_FUCHSIA - const MART_SAFFRON - const MART_MT_MOON - const MART_INDIGO_PLATEAU - const MART_UNDERGROUND - -; PartyMenuActionText values -; GetPartyMenuTilemapPointers arguments (see engine/party_menu.asm) - const_def - const PARTYMENUACTION_CHOOSE_POKEMON - const PARTYMENUACTION_HEALING_ITEM - const PARTYMENUACTION_SWITCH - const PARTYMENUACTION_TEACH_TMHM - const PARTYMENUACTION_MOVE - const PARTYMENUACTION_EVO_STONE - const PARTYMENUACTION_GIVE_MON - 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 - const PARTYMENUTEXT_HEAL_FRZ - const PARTYMENUTEXT_HEAL_SLP - const PARTYMENUTEXT_HEAL_PAR - const PARTYMENUTEXT_HEAL_HP - const PARTYMENUTEXT_HEAL_ALL - const PARTYMENUTEXT_REVIVE - const PARTYMENUTEXT_LEVEL_UP - const PARTYMENUTEXT_HEAL_CONFUSION diff --git a/constants/item_data_constants.asm b/constants/item_data_constants.asm new file mode 100644 index 000000000..4ef221840 --- /dev/null +++ b/constants/item_data_constants.asm @@ -0,0 +1,190 @@ +; item_attributes struct members (see data/items/attributes.asm) + const_def + const ITEMATTR_PRICE + const ITEMATTR_PRICE_HI + const ITEMATTR_EFFECT + const ITEMATTR_PARAM + const ITEMATTR_PERMISSIONS + const ITEMATTR_POCKET + const ITEMATTR_HELP +ITEMATTR_STRUCT_LENGTH EQU const_value + + +; pack pockets +ITEM EQU 1 +KEY_ITEM EQU 2 +BALL EQU 3 +TM_HM EQU 4 + +; pack pocket sizes +MAX_ITEMS EQU 20 +MAX_KEY_ITEMS EQU 25 +MAX_BALLS EQU 12 +MAX_PC_ITEMS EQU 50 + + +; item menu types +ITEMMENU_NOUSE EQU 0 +ITEMMENU_CURRENT EQU 4 +ITEMMENU_PARTY EQU 5 +ITEMMENU_CLOSE EQU 6 + +; item actions +CANT_SELECT EQU 1 << 6 +CANT_TOSS EQU 1 << 7 + + +; mail +MAIL_MSG_LENGTH EQU $20 +MAILBOX_CAPACITY EQU 10 +MAIL_STRUCT_LENGTH EQU $2f ; mailmsg struct + + +; held item effects + const_def + const HELD_NONE + const HELD_BERRY + const HELD_2 + const HELD_LEFTOVERS + const HELD_4 + const HELD_5 + const HELD_RESTORE_PP + const HELD_7 + const HELD_CLEANSE_TAG + +const_value SET 10 + const HELD_HEAL_POISON + const HELD_HEAL_FREEZE + const HELD_HEAL_BURN + const HELD_HEAL_SLEEP + const HELD_HEAL_PARALYZE + const HELD_HEAL_STATUS + const HELD_HEAL_CONFUSION + +const_value SET 20 + const HELD_PREVENT_POISON + const HELD_PREVENT_BURN + const HELD_PREVENT_FREEZE + const HELD_PREVENT_SLEEP + const HELD_PREVENT_PARALYZE + const HELD_PREVENT_CONFUSE + +const_value SET 30 + const HELD_30 + const HELD_ATTACK_UP + const HELD_DEFENSE_UP + const HELD_SPEED_UP + const HELD_SP_ATTACK_UP + const HELD_SP_DEFENSE_UP + const HELD_ACCURACY_UP + const HELD_EVASION_UP + const HELD_38 + +const_value SET 40 + const HELD_40 + const HELD_41 + const HELD_METAL_POWDER + +const_value SET 50 + const HELD_NORMAL_BOOST + const HELD_FIGHTING_BOOST + const HELD_FLYING_BOOST + const HELD_POISON_BOOST + const HELD_GROUND_BOOST + const HELD_ROCK_BOOST + const HELD_BUG_BOOST + const HELD_GHOST_BOOST + const HELD_FIRE_BOOST + const HELD_WATER_BOOST + const HELD_GRASS_BOOST + const HELD_ELECTRIC_BOOST + const HELD_PSYCHIC_BOOST + const HELD_ICE_BOOST + const HELD_DRAGON_BOOST + const HELD_DARK_BOOST + const HELD_STEEL_BOOST + +const_value SET 70 + const HELD_CATCH_CHANCE + const HELD_71 + const HELD_ESCAPE + const HELD_CRITICAL_UP + const HELD_QUICK_CLAW + const HELD_FLINCH + const HELD_AMULET_COIN + const HELD_BRIGHTPOWDER + const HELD_78 + const HELD_FOCUS_BAND + + +; mart types (see engine/mart.asm) + const_def + const MARTTYPE_STANDARD + const MARTTYPE_BITTER + const MARTTYPE_BARGAIN + const MARTTYPE_PHARMACY + const MARTTYPE_ROOFTOP + +; Marts indexes (see data/items/marts.asm) + const_def + const MART_CHERRYGROVE + const MART_CHERRYGROVE_DEX + const MART_VIOLET + const MART_AZALEA + const MART_CIANWOOD + const MART_GOLDENROD_2F_1 + const MART_GOLDENROD_2F_2 + const MART_GOLDENROD_3F + const MART_GOLDENROD_4F + const MART_GOLDENROD_5F_1 + const MART_GOLDENROD_5F_2 + const MART_GOLDENROD_5F_3 + const MART_GOLDENROD_5F_4 + const MART_OLIVINE + const MART_ECRUTEAK + const MART_MAHOGANY_1 + const MART_MAHOGANY_2 + const MART_BLACKTHORN + const MART_VIRIDIAN + const MART_PEWTER + const MART_CERULEAN + const MART_LAVENDER + const MART_VERMILION + const MART_CELADON_2F_1 + const MART_CELADON_2F_2 + const MART_CELADON_3F + const MART_CELADON_4F + const MART_CELADON_5F_1 + const MART_CELADON_5F_2 + const MART_FUCHSIA + const MART_SAFFRON + const MART_MT_MOON + const MART_INDIGO_PLATEAU + const MART_UNDERGROUND + + +; PartyMenuActionText values +; GetPartyMenuTilemapPointers arguments (see engine/party_menu.asm) + const_def + const PARTYMENUACTION_CHOOSE_POKEMON + const PARTYMENUACTION_HEALING_ITEM + const PARTYMENUACTION_SWITCH + const PARTYMENUACTION_TEACH_TMHM + const PARTYMENUACTION_MOVE + const PARTYMENUACTION_EVO_STONE + const PARTYMENUACTION_GIVE_MON + 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 + const PARTYMENUTEXT_HEAL_FRZ + const PARTYMENUTEXT_HEAL_SLP + const PARTYMENUTEXT_HEAL_PAR + const PARTYMENUTEXT_HEAL_HP + const PARTYMENUTEXT_HEAL_ALL + const PARTYMENUTEXT_REVIVE + const PARTYMENUTEXT_LEVEL_UP + const PARTYMENUTEXT_HEAL_CONFUSION diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 1af4215a1..7e3a628b1 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -1,287 +1,488 @@ -GROUP_N_A EQU -1 -MAP_N_A EQU -1 -GROUP_NONE EQU 0 -MAP_NONE EQU 0 +newgroup: macro +const_value = const_value + 1 + enum_start 1 +endm -; map header fields (see maps/map_headers.asm) - const_def - const MAPHEADER_MAPHEADER2_BANK ; 0 - const MAPHEADER_TILESET ; 1 - const MAPHEADER_ENVIRONMENT ; 2 - const MAPHEADER_MAPHEADER2 ; 3 - const MAPHEADER_MAPHEADER2_HI ; 4 - const MAPHEADER_LOCATION ; 5 - const MAPHEADER_MUSIC ; 6 - const MAPHEADER_PALETTE ; 7 - const MAPHEADER_FISHGROUP ; 8 -NUM_MAPHEADER_ATTRIBUTES EQU const_value - -; map environments (wEnvironment) -const_value SET 1 - const TOWN - const ROUTE - const INDOOR - const CAVE - const ENVIRONMENT_5 - const GATE - const DUNGEON - -; map palettes (wEnvironment) - const_def - const PALETTE_AUTO - const PALETTE_DAY - const PALETTE_NITE - const PALETTE_MORN - const PALETTE_DARK +mapgroup: macro +;\1: map id +;\2: height: in blocks +;\3: width: in blocks +GROUP_\1 EQU const_value + enum MAP_\1 +\1_HEIGHT EQU \2 +\1_WIDTH EQU \3 +endm -; fish groups +; map group ids +; `newgroup` indexes are for: +; - MapGroupPointers (see maps/map_headers.asm) +; - MapGroupRoofs (see data/maps/roofs.asm) +; - OutdoorSprites (see data/maps/outdoor_sprites.asm) +; `mapgroup` indexes are for the sub-tables of MapGroupPointers (see maps/map_headers.asm) 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 - const EAST_F - const WEST_F - const SOUTH_F - const NORTH_F -; MapConnections - const_def - shift_const EAST - shift_const WEST - shift_const SOUTH - shift_const NORTH + newgroup ; 1 + mapgroup OLIVINE_POKECENTER_1F, 4, 5 ; 1 + mapgroup OLIVINE_GYM, 8, 5 ; 2 + mapgroup OLIVINE_TIMS_HOUSE, 4, 4 ; 3 + mapgroup OLIVINE_HOUSE_BETA, 4, 4 ; 4 + mapgroup OLIVINE_PUNISHMENT_SPEECH_HOUSE, 4, 4 ; 5 + mapgroup OLIVINE_GOOD_ROD_HOUSE, 4, 4 ; 6 + mapgroup OLIVINE_CAFE, 4, 4 ; 7 + mapgroup OLIVINE_MART, 4, 6 ; 8 + mapgroup ROUTE_38_ECRUTEAK_GATE, 4, 5 ; 9 + mapgroup ROUTE_39_BARN, 4, 4 ; 10 + mapgroup ROUTE_39_FARMHOUSE, 4, 4 ; 11 + mapgroup ROUTE_38, 9, 20 ; 12 + mapgroup ROUTE_39, 18, 10 ; 13 + mapgroup OLIVINE_CITY, 18, 20 ; 14 -; object_struct members (see macros/wram.asm) - const_def - const OBJECT_SPRITE ; 00 - const OBJECT_MAP_OBJECT_INDEX ; 01 - const OBJECT_SPRITE_TILE ; 02 - const OBJECT_MOVEMENTTYPE ; 03 - const OBJECT_FLAGS1 ; 04 - const OBJECT_FLAGS2 ; 05 - const OBJECT_PALETTE ; 06 - const OBJECT_DIRECTION_WALKING ; 07 - const OBJECT_FACING ; 08 - const OBJECT_STEP_TYPE ; 09 - const OBJECT_STEP_DURATION ; 0a - const OBJECT_ACTION ; 0b - const OBJECT_STEP_FRAME ; 0c - const OBJECT_FACING_STEP ; 0d - const OBJECT_NEXT_TILE ; 0e - const OBJECT_STANDING_TILE ; 0f - const OBJECT_NEXT_MAP_X ; 10 - const OBJECT_NEXT_MAP_Y ; 11 - const OBJECT_MAP_X ; 12 - const OBJECT_MAP_Y ; 13 - const OBJECT_INIT_X ; 14 - const OBJECT_INIT_Y ; 15 - const OBJECT_RADIUS ; 16 - const OBJECT_SPRITE_X ; 17 - const OBJECT_SPRITE_Y ; 18 - const OBJECT_SPRITE_X_OFFSET ; 19 - const OBJECT_SPRITE_Y_OFFSET ; 1a - const OBJECT_MOVEMENT_BYTE_INDEX ; 1b - const OBJECT_28 ; 1c - const OBJECT_29 ; 1d - const OBJECT_30 ; 1e - const OBJECT_31 ; 1f - const OBJECT_RANGE ; 20 -; 33-39 are not used - -; map_object struct members (see macros/wram.asm) - const_def - const MAPOBJECT_OBJECT_STRUCT_ID ; 0 - const MAPOBJECT_SPRITE ; 1 - const MAPOBJECT_Y_COORD ; 2 - const MAPOBJECT_X_COORD ; 3 - const MAPOBJECT_MOVEMENT ; 4 - const MAPOBJECT_RADIUS ; 5 - const MAPOBJECT_HOUR ; 6 - const MAPOBJECT_TIMEOFDAY ; 7 - const MAPOBJECT_COLOR ; 8 - const MAPOBJECT_RANGE ; 9 - const MAPOBJECT_SCRIPT_POINTER ; a - const MAPOBJECT_POINTER_HI ; b - const MAPOBJECT_EVENT_FLAG ; c - const MAPOBJECT_FLAG_HI ; d - const MAPOBJECT_E ; unused - const MAPOBJECT_F ; unused -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 - -; object_struct OBJECT_FLAGS1 bit flags -INVISIBLE EQU 0 -FIXED_FACING EQU 2 -SLIDING EQU 3 -EMOTE_OBJECT EQU 7 - - -; SpawnPoints indexes (see data/maps/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 - const SPAWN_CERULEAN - const SPAWN_ROCK_TUNNEL - const SPAWN_VERMILION - const SPAWN_LAVENDER - const SPAWN_SAFFRON - const SPAWN_CELADON - const SPAWN_FUCHSIA - const SPAWN_CINNABAR - const SPAWN_INDIGO -; johto - const SPAWN_NEW_BARK - const SPAWN_CHERRYGROVE - const SPAWN_VIOLET - const SPAWN_UNION_CAVE - const SPAWN_AZALEA - const SPAWN_CIANWOOD - const SPAWN_GOLDENROD - const SPAWN_OLIVINE - const SPAWN_ECRUTEAK - const SPAWN_MAHOGANY - const SPAWN_LAKE - const SPAWN_BLACKTHORN - const SPAWN_MT_SILVER - const SPAWN_FAST_SHIP -NUM_SPAWNS EQU const_value - - -; TryBGEvent arguments (see engine/events.asm) - const_def - const BGEVENT_READ - const BGEVENT_UP - const BGEVENT_DOWN - const BGEVENT_RIGHT - const BGEVENT_LEFT - const BGEVENT_IFSET - const BGEVENT_IFNOTSET - const BGEVENT_ITEM - const BGEVENT_COPY - -; object_event types -; TryObjectEvent arguments (see engine/events.asm) - const_def - const OBJECTTYPE_SCRIPT - const OBJECTTYPE_ITEMBALL - const OBJECTTYPE_TRAINER - const OBJECTTYPE_3 - const OBJECTTYPE_4 - const OBJECTTYPE_5 - const OBJECTTYPE_6 + newgroup ; 2 + mapgroup MAHOGANY_RED_GYARADOS_SPEECH_HOUSE, 4, 4 ; 1 + mapgroup MAHOGANY_GYM, 9, 5 ; 2 + mapgroup MAHOGANY_POKECENTER_1F, 4, 5 ; 3 + mapgroup ROUTE_42_ECRUTEAK_GATE, 4, 5 ; 4 + mapgroup ROUTE_42, 9, 30 ; 5 + mapgroup ROUTE_44, 9, 30 ; 6 + mapgroup MAHOGANY_TOWN, 9, 10 ; 7 -; 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 data/items/fruit_trees.asm) -const_value SET 1 - const FRUITTREE_ROUTE_29 ; 01 - const FRUITTREE_ROUTE_30_1 ; 02 - const FRUITTREE_ROUTE_38 ; 03 - const FRUITTREE_ROUTE_46_1 ; 04 - const FRUITTREE_ROUTE_30_2 ; 05 - const FRUITTREE_ROUTE_33 ; 06 - const FRUITTREE_ROUTE_31 ; 07 - const FRUITTREE_ROUTE_43 ; 08 - const FRUITTREE_VIOLET_CITY ; 09 - const FRUITTREE_ROUTE_46_2 ; 0a - const FRUITTREE_ROUTE_35 ; 0b - const FRUITTREE_ROUTE_45 ; 0c - const FRUITTREE_ROUTE_36 ; 0d - const FRUITTREE_ROUTE_26 ; 0e - const FRUITTREE_ROUTE_39 ; 0f - const FRUITTREE_ROUTE_44 ; 10 - const FRUITTREE_ROUTE_37_1 ; 11 - const FRUITTREE_ROUTE_37_2 ; 12 - const FRUITTREE_ROUTE_37_3 ; 13 - const FRUITTREE_AZALEA_TOWN ; 14 - const FRUITTREE_ROUTE_42_1 ; 15 - const FRUITTREE_ROUTE_42_2 ; 16 - const FRUITTREE_ROUTE_42_3 ; 17 - const FRUITTREE_ROUTE_11 ; 18 - const FRUITTREE_ROUTE_2 ; 19 - const FRUITTREE_ROUTE_1 ; 1a - const FRUITTREE_ROUTE_8 ; 1b - const FRUITTREE_PEWTER_CITY_1 ; 1c - const FRUITTREE_PEWTER_CITY_2 ; 1d - const FRUITTREE_FUCHSIA_CITY ; 1e -NUM_FRUIT_TREES EQU const_value +- 1 - -; elevator floors -; used by `elevfloor` - const_def - const FLOOR_B4F - const FLOOR_B3F - const FLOOR_B2F - const FLOOR_B1F - const FLOOR_1F - const FLOOR_2F - const FLOOR_3F - const FLOOR_4F - const FLOOR_5F - const FLOOR_6F - const FLOOR_7F - const FLOOR_8F - const FLOOR_9F - const FLOOR_10F - const FLOOR_11F - const FLOOR_ROOF - -; command queue members -CMDQUEUE_TYPE EQU 0 -CMDQUEUE_ADDR EQU 1 -CMDQUEUE_03 EQU 3 -CMDQUEUE_04 EQU 4 -CMDQUEUE_05 EQU 5 -CMDQUEUE_ENTRY_SIZE EQU 6 -CMDQUEUE_CAPACITY EQU 4 - -; command queue types -CMDQUEUE_STONETABLE EQU 2 - -; see engine/overworld.asm -MAX_OUTDOOR_SPRITES EQU 23 -SPRITE_GFX_LIST_CAPACITY EQU $20 + newgroup ; 3 + + mapgroup SPROUT_TOWER_1F, 8, 10 ; 1 + mapgroup SPROUT_TOWER_2F, 8, 10 ; 2 + mapgroup SPROUT_TOWER_3F, 8, 10 ; 3 + mapgroup TIN_TOWER_1F, 9, 10 ; 4 + mapgroup TIN_TOWER_2F, 9, 10 ; 5 + mapgroup TIN_TOWER_3F, 9, 10 ; 6 + mapgroup TIN_TOWER_4F, 9, 10 ; 7 + mapgroup TIN_TOWER_5F, 9, 10 ; 8 + mapgroup TIN_TOWER_6F, 9, 10 ; 9 + mapgroup TIN_TOWER_7F, 9, 10 ; 10 + mapgroup TIN_TOWER_8F, 9, 10 ; 11 + mapgroup TIN_TOWER_9F, 9, 10 ; 12 + mapgroup BURNED_TOWER_1F, 9, 10 ; 13 + mapgroup BURNED_TOWER_B1F, 9, 10 ; 14 + mapgroup NATIONAL_PARK, 27, 20 ; 15 + mapgroup NATIONAL_PARK_BUG_CONTEST, 27, 20 ; 16 + mapgroup RADIO_TOWER_1F, 4, 9 ; 17 + mapgroup RADIO_TOWER_2F, 4, 9 ; 18 + mapgroup RADIO_TOWER_3F, 4, 9 ; 19 + mapgroup RADIO_TOWER_4F, 4, 9 ; 20 + mapgroup RADIO_TOWER_5F, 4, 9 ; 21 + mapgroup RUINS_OF_ALPH_OUTSIDE, 18, 10 ; 22 + mapgroup RUINS_OF_ALPH_HO_OH_CHAMBER, 5, 4 ; 23 + mapgroup RUINS_OF_ALPH_KABUTO_CHAMBER, 5, 4 ; 24 + mapgroup RUINS_OF_ALPH_OMANYTE_CHAMBER, 5, 4 ; 25 + mapgroup RUINS_OF_ALPH_AERODACTYL_CHAMBER, 5, 4 ; 26 + mapgroup RUINS_OF_ALPH_INNER_CHAMBER, 14, 10 ; 27 + mapgroup RUINS_OF_ALPH_RESEARCH_CENTER, 4, 4 ; 28 + mapgroup RUINS_OF_ALPH_HO_OH_ITEM_ROOM, 5, 4 ; 29 + mapgroup RUINS_OF_ALPH_KABUTO_ITEM_ROOM, 5, 4 ; 30 + mapgroup RUINS_OF_ALPH_OMANYTE_ITEM_ROOM, 5, 4 ; 31 + mapgroup RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM, 5, 4 ; 32 + mapgroup RUINS_OF_ALPH_HO_OH_WORD_ROOM, 12, 10 ; 33 + mapgroup RUINS_OF_ALPH_KABUTO_WORD_ROOM, 7, 10 ; 34 + mapgroup RUINS_OF_ALPH_OMANYTE_WORD_ROOM, 8, 10 ; 35 + mapgroup RUINS_OF_ALPH_AERODACTYL_WORD_ROOM, 7, 10 ; 36 + mapgroup UNION_CAVE_1F, 18, 10 ; 37 + mapgroup UNION_CAVE_B1F, 18, 10 ; 38 + mapgroup UNION_CAVE_B2F, 18, 10 ; 39 + mapgroup SLOWPOKE_WELL_B1F, 9, 10 ; 40 + mapgroup SLOWPOKE_WELL_B2F, 9, 10 ; 41 + mapgroup OLIVINE_LIGHTHOUSE_1F, 9, 10 ; 42 + mapgroup OLIVINE_LIGHTHOUSE_2F, 9, 10 ; 43 + mapgroup OLIVINE_LIGHTHOUSE_3F, 9, 10 ; 44 + mapgroup OLIVINE_LIGHTHOUSE_4F, 9, 10 ; 45 + mapgroup OLIVINE_LIGHTHOUSE_5F, 9, 10 ; 46 + mapgroup OLIVINE_LIGHTHOUSE_6F, 9, 10 ; 47 + mapgroup MAHOGANY_MART_1F, 4, 4 ; 48 + mapgroup TEAM_ROCKET_BASE_B1F, 9, 15 ; 49 + mapgroup TEAM_ROCKET_BASE_B2F, 9, 15 ; 50 + mapgroup TEAM_ROCKET_BASE_B3F, 9, 15 ; 51 + mapgroup ILEX_FOREST, 27, 15 ; 52 + mapgroup GOLDENROD_UNDERGROUND, 18, 15 ; 53 + mapgroup GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, 18, 15 ; 54 + mapgroup GOLDENROD_DEPT_STORE_B1F, 9, 10 ; 55 + mapgroup GOLDENROD_UNDERGROUND_WAREHOUSE, 9, 10 ; 56 + mapgroup MOUNT_MORTAR_1F_OUTSIDE, 18, 20 ; 57 + mapgroup MOUNT_MORTAR_1F_INSIDE, 27, 20 ; 58 + mapgroup MOUNT_MORTAR_2F_INSIDE, 18, 20 ; 59 + mapgroup MOUNT_MORTAR_B1F, 18, 20 ; 60 + mapgroup ICE_PATH_1F, 18, 20 ; 61 + mapgroup ICE_PATH_B1F, 18, 10 ; 62 + mapgroup ICE_PATH_B2F_MAHOGANY_SIDE, 9, 10 ; 63 + mapgroup ICE_PATH_B2F_BLACKTHORN_SIDE, 9, 5 ; 64 + mapgroup ICE_PATH_B3F, 9, 10 ; 65 + mapgroup WHIRL_ISLAND_NW, 9, 5 ; 66 + mapgroup WHIRL_ISLAND_NE, 9, 10 ; 67 + mapgroup WHIRL_ISLAND_SW, 9, 10 ; 68 + mapgroup WHIRL_ISLAND_CAVE, 9, 5 ; 69 + mapgroup WHIRL_ISLAND_SE, 9, 5 ; 70 + mapgroup WHIRL_ISLAND_B1F, 18, 20 ; 71 + mapgroup WHIRL_ISLAND_B2F, 18, 10 ; 72 + mapgroup WHIRL_ISLAND_LUGIA_CHAMBER, 9, 10 ; 73 + mapgroup SILVER_CAVE_ROOM_1, 18, 10 ; 74 + mapgroup SILVER_CAVE_ROOM_2, 18, 15 ; 75 + mapgroup SILVER_CAVE_ROOM_3, 18, 10 ; 76 + mapgroup SILVER_CAVE_ITEM_ROOMS, 9, 10 ; 77 + mapgroup DARK_CAVE_VIOLET_ENTRANCE, 18, 20 ; 78 + mapgroup DARK_CAVE_BLACKTHORN_ENTRANCE, 18, 15 ; 79 + mapgroup DRAGONS_DEN_1F, 9, 5 ; 80 + mapgroup DRAGONS_DEN_B1F, 18, 20 ; 81 + mapgroup DRAGON_SHRINE, 5, 5 ; 82 + mapgroup TOHJO_FALLS, 9, 15 ; 83 + mapgroup DIGLETTS_CAVE, 18, 10 ; 84 + mapgroup MOUNT_MOON, 9, 15 ; 85 + mapgroup UNDERGROUND_PATH, 14, 3 ; 86 + mapgroup ROCK_TUNNEL_1F, 18, 15 ; 87 + mapgroup ROCK_TUNNEL_B1F, 18, 15 ; 88 + mapgroup SAFARI_ZONE_FUCHSIA_GATE_BETA, 4, 5 ; 89 + mapgroup SAFARI_ZONE_BETA, 18, 10 ; 90 + mapgroup VICTORY_ROAD, 36, 10 ; 91 + + newgroup ; 4 + + mapgroup ECRUTEAK_HOUSE, 9, 10 ; 1 + mapgroup WISE_TRIOS_ROOM, 4, 4 ; 2 + mapgroup ECRUTEAK_POKECENTER_1F, 4, 5 ; 3 + mapgroup ECRUTEAK_LUGIA_SPEECH_HOUSE, 4, 4 ; 4 + mapgroup DANCE_THEATRE, 7, 6 ; 5 + mapgroup ECRUTEAK_MART, 4, 6 ; 6 + mapgroup ECRUTEAK_GYM, 9, 5 ; 7 + mapgroup ECRUTEAK_ITEMFINDER_HOUSE, 4, 4 ; 8 + mapgroup ECRUTEAK_CITY, 18, 20 ; 9 + + newgroup ; 5 + + mapgroup BLACKTHORN_GYM_1F, 9, 5 ; 1 + mapgroup BLACKTHORN_GYM_2F, 9, 5 ; 2 + mapgroup BLACKTHORN_DRAGON_SPEECH_HOUSE, 4, 4 ; 3 + mapgroup BLACKTHORN_EMYS_HOUSE, 4, 4 ; 4 + mapgroup BLACKTHORN_MART, 4, 6 ; 5 + mapgroup BLACKTHORN_POKECENTER_1F, 4, 5 ; 6 + mapgroup MOVE_DELETERS_HOUSE, 4, 4 ; 7 + mapgroup ROUTE_45, 45, 10 ; 8 + mapgroup ROUTE_46, 18, 10 ; 9 + mapgroup BLACKTHORN_CITY, 18, 20 ; 10 + + newgroup ; 6 + + mapgroup CINNABAR_POKECENTER_1F, 4, 5 ; 1 + mapgroup CINNABAR_POKECENTER_2F_BETA, 4, 8 ; 2 + mapgroup ROUTE_19___FUCHSIA_GATE, 4, 5 ; 3 + mapgroup SEAFOAM_GYM, 4, 5 ; 4 + mapgroup ROUTE_19, 18, 10 ; 5 + mapgroup ROUTE_20, 9, 30 ; 6 + mapgroup ROUTE_21, 18, 10 ; 7 + mapgroup CINNABAR_ISLAND, 9, 10 ; 8 + + newgroup ; 7 + + mapgroup CERULEAN_GYM_BADGE_SPEECH_HOUSE, 4, 4 ; 1 + mapgroup CERULEAN_POLICE_STATION, 4, 4 ; 2 + mapgroup CERULEAN_TRADE_SPEECH_HOUSE, 4, 4 ; 3 + mapgroup CERULEAN_POKECENTER_1F, 4, 5 ; 4 + mapgroup CERULEAN_POKECENTER_2F_BETA, 4, 8 ; 5 + mapgroup CERULEAN_GYM, 8, 5 ; 6 + mapgroup CERULEAN_MART, 4, 6 ; 7 + mapgroup ROUTE_10_POKECENTER_1F, 4, 5 ; 8 + mapgroup ROUTE_10_POKECENTER_2F_BETA, 4, 8 ; 9 + mapgroup POWER_PLANT, 9, 10 ; 10 + mapgroup BILLS_HOUSE, 4, 4 ; 11 + mapgroup ROUTE_4, 9, 20 ; 12 + mapgroup ROUTE_9, 9, 30 ; 13 + mapgroup ROUTE_10_NORTH, 9, 10 ; 14 + mapgroup ROUTE_24, 9, 10 ; 15 + mapgroup ROUTE_25, 9, 30 ; 16 + mapgroup CERULEAN_CITY, 18, 20 ; 17 + + newgroup ; 8 + + mapgroup AZALEA_POKECENTER_1F, 4, 5 ; 1 + mapgroup CHARCOAL_KILN, 4, 4 ; 2 + mapgroup AZALEA_MART, 4, 6 ; 3 + mapgroup KURTS_HOUSE, 4, 8 ; 4 + mapgroup AZALEA_GYM, 8, 5 ; 5 + mapgroup ROUTE_33, 9, 10 ; 6 + mapgroup AZALEA_TOWN, 9, 20 ; 7 + + newgroup ; 9 + + mapgroup LAKE_OF_RAGE_HIDDEN_POWER_HOUSE, 4, 4 ; 1 + mapgroup LAKE_OF_RAGE_MAGIKARP_HOUSE, 4, 4 ; 2 + mapgroup ROUTE_43_MAHOGANY_GATE, 4, 5 ; 3 + mapgroup ROUTE_43_GATE, 4, 5 ; 4 + mapgroup ROUTE_43, 27, 10 ; 5 + mapgroup LAKE_OF_RAGE, 18, 20 ; 6 + + newgroup ; 10 + + mapgroup ROUTE_32, 45, 10 ; 1 + mapgroup ROUTE_35, 18, 10 ; 2 + mapgroup ROUTE_36, 9, 30 ; 3 + mapgroup ROUTE_37, 9, 10 ; 4 + mapgroup VIOLET_CITY, 18, 20 ; 5 + mapgroup VIOLET_MART, 4, 6 ; 6 + mapgroup VIOLET_GYM, 8, 5 ; 7 + mapgroup EARLS_POKEMON_ACADEMY, 8, 4 ; 8 + mapgroup VIOLET_NICKNAME_SPEECH_HOUSE, 4, 4 ; 9 + mapgroup VIOLET_POKECENTER_1F, 4, 5 ; 10 + mapgroup VIOLET_KYLES_HOUSE, 4, 4 ; 11 + mapgroup ROUTE_32_RUINS_OF_ALPH_GATE, 4, 5 ; 12 + mapgroup ROUTE_32_POKECENTER_1F, 4, 5 ; 13 + mapgroup ROUTE_35_GOLDENROD_GATE, 4, 5 ; 14 + mapgroup ROUTE_35_NATIONAL_PARK_GATE, 4, 4 ; 15 + mapgroup ROUTE_36_RUINS_OF_ALPH_GATE, 4, 5 ; 16 + mapgroup ROUTE_36_NATIONAL_PARK_GATE, 4, 5 ; 17 + + newgroup ; 11 + + mapgroup ROUTE_34, 27, 10 ; 1 + mapgroup GOLDENROD_CITY, 18, 20 ; 2 + mapgroup GOLDENROD_GYM, 9, 10 ; 3 + mapgroup GOLDENROD_BIKE_SHOP, 4, 4 ; 4 + mapgroup GOLDENROD_HAPPINESS_RATER, 4, 4 ; 5 + mapgroup GOLDENROD_BILLS_HOUSE, 4, 4 ; 6 + mapgroup GOLDENROD_MAGNET_TRAIN_STATION, 9, 10 ; 7 + mapgroup GOLDENROD_FLOWER_SHOP, 4, 4 ; 8 + mapgroup GOLDENROD_PP_SPEECH_HOUSE, 4, 4 ; 9 + mapgroup GOLDENROD_NAME_RATER, 4, 4 ; 10 + mapgroup GOLDENROD_DEPT_STORE_1F, 4, 8 ; 11 + mapgroup GOLDENROD_DEPT_STORE_2F, 4, 8 ; 12 + mapgroup GOLDENROD_DEPT_STORE_3F, 4, 8 ; 13 + mapgroup GOLDENROD_DEPT_STORE_4F, 4, 8 ; 14 + mapgroup GOLDENROD_DEPT_STORE_5F, 4, 8 ; 15 + mapgroup GOLDENROD_DEPT_STORE_6F, 4, 8 ; 16 + mapgroup GOLDENROD_DEPT_STORE_ELEVATOR, 2, 2 ; 17 + mapgroup GOLDENROD_DEPT_STORE_ROOF, 4, 8 ; 18 + mapgroup GOLDENROD_GAME_CORNER, 7, 10 ; 19 + mapgroup GOLDENROD_POKECENTER_1F, 4, 5 ; 20 + mapgroup GOLDENROD_POKECOM_CENTER_2F_MOBILE, 16, 16 ; 21 + mapgroup ILEX_FOREST_AZALEA_GATE, 4, 5 ; 22 + mapgroup ROUTE_34_ILEX_FOREST_GATE, 4, 5 ; 23 + mapgroup DAY_CARE, 4, 5 ; 24 + + newgroup ; 12 + + mapgroup ROUTE_6, 9, 10 ; 1 + mapgroup ROUTE_11, 9, 20 ; 2 + mapgroup VERMILION_CITY, 18, 20 ; 3 + mapgroup VERMILION_HOUSE_FISHING_SPEECH_HOUSE, 4, 4 ; 4 + mapgroup VERMILION_POKECENTER_1F, 4, 5 ; 5 + mapgroup VERMILION_POKECENTER_2F_BETA, 4, 8 ; 6 + mapgroup POKEMON_FAN_CLUB, 4, 5 ; 7 + mapgroup VERMILION_MAGNET_TRAIN_SPEECH_HOUSE, 4, 4 ; 8 + mapgroup VERMILION_MART, 4, 6 ; 9 + mapgroup VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE, 4, 4 ; 10 + mapgroup VERMILION_GYM, 9, 5 ; 11 + mapgroup ROUTE_6_SAFFRON_GATE, 4, 5 ; 12 + mapgroup ROUTE_6_UNDERGROUND_PATH_ENTRANCE, 4, 4 ; 13 + + newgroup ; 13 + + mapgroup ROUTE_1, 18, 10 ; 1 + mapgroup PALLET_TOWN, 9, 10 ; 2 + mapgroup REDS_HOUSE_1F, 4, 4 ; 3 + mapgroup REDS_HOUSE_2F, 4, 4 ; 4 + mapgroup BLUES_HOUSE, 4, 4 ; 5 + mapgroup OAKS_LAB, 6, 5 ; 6 + + newgroup ; 14 + + mapgroup ROUTE_3, 9, 30 ; 1 + mapgroup PEWTER_CITY, 18, 20 ; 2 + mapgroup PEWTER_NIDORAN_SPEECH_HOUSE, 4, 4 ; 3 + mapgroup PEWTER_GYM, 7, 5 ; 4 + mapgroup PEWTER_MART, 4, 6 ; 5 + mapgroup PEWTER_POKECENTER_1F, 4, 5 ; 6 + mapgroup PEWTER_POKECENTER_2F_BETA, 4, 8 ; 7 + mapgroup PEWTER_SNOOZE_SPEECH_HOUSE, 4, 4 ; 8 + + newgroup ; 15 + + mapgroup OLIVINE_PORT, 18, 10 ; 1 + mapgroup VERMILION_PORT, 18, 10 ; 2 + mapgroup FAST_SHIP_1F, 9, 16 ; 3 + mapgroup FAST_SHIP_CABINS_NNW_NNE_NE, 16, 4 ; 4 + mapgroup FAST_SHIP_CABINS_SW_SSW_NW, 16, 4 ; 5 + mapgroup FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN, 17, 5 ; 6 + mapgroup FAST_SHIP_B1F, 8, 16 ; 7 + mapgroup OLIVINE_PORT_PASSAGE, 9, 10 ; 8 + mapgroup VERMILION_PORT_PASSAGE, 9, 10 ; 9 + mapgroup MOUNT_MOON_SQUARE, 9, 15 ; 10 + mapgroup MOUNT_MOON_GIFT_SHOP, 4, 4 ; 11 + mapgroup TIN_TOWER_ROOF, 9, 10 ; 12 + + newgroup ; 16 + + mapgroup ROUTE_23, 9, 10 ; 1 + mapgroup INDIGO_PLATEAU_POKECENTER_1F, 7, 9 ; 2 + mapgroup WILLS_ROOM, 9, 5 ; 3 + mapgroup KOGAS_ROOM, 9, 5 ; 4 + mapgroup BRUNOS_ROOM, 9, 5 ; 5 + mapgroup KARENS_ROOM, 9, 5 ; 6 + mapgroup LANCES_ROOM, 12, 5 ; 7 + mapgroup HALL_OF_FAME, 7, 5 ; 8 + + newgroup ; 17 + + mapgroup ROUTE_13, 9, 30 ; 1 + mapgroup ROUTE_14, 18, 10 ; 2 + mapgroup ROUTE_15, 9, 20 ; 3 + mapgroup ROUTE_18, 9, 10 ; 4 + mapgroup FUCHSIA_CITY, 18, 20 ; 5 + mapgroup FUCHSIA_MART, 4, 6 ; 6 + mapgroup SAFARI_ZONE_MAIN_OFFICE, 4, 4 ; 7 + mapgroup FUCHSIA_GYM, 9, 5 ; 8 + mapgroup FUCHSIA_BILL_SPEECH_HOUSE, 4, 4 ; 9 + mapgroup FUCHSIA_POKECENTER_1F, 4, 5 ; 10 + mapgroup FUCHSIA_POKECENTER_2F_BETA, 4, 8 ; 11 + mapgroup SAFARI_ZONE_WARDENS_HOME, 4, 5 ; 12 + mapgroup ROUTE_15_FUCHSIA_GATE, 4, 5 ; 13 + + newgroup ; 18 + + mapgroup ROUTE_8, 9, 20 ; 1 + mapgroup ROUTE_12, 27, 10 ; 2 + mapgroup ROUTE_10_SOUTH, 9, 10 ; 3 + mapgroup LAVENDER_TOWN, 9, 10 ; 4 + mapgroup LAVENDER_POKECENTER_1F, 4, 5 ; 5 + mapgroup LAVENDER_POKECENTER_2F_BETA, 4, 8 ; 6 + mapgroup MR_FUJIS_HOUSE, 4, 5 ; 7 + mapgroup LAVENDER_TOWN_SPEECH_HOUSE, 4, 4 ; 8 + mapgroup LAVENDER_NAME_RATER, 4, 4 ; 9 + mapgroup LAVENDER_MART, 4, 6 ; 10 + mapgroup SOUL_HOUSE, 4, 5 ; 11 + mapgroup LAV_RADIO_TOWER_1F, 4, 10 ; 12 + mapgroup ROUTE_8_SAFFRON_GATE, 4, 5 ; 13 + mapgroup ROUTE_12_SUPER_ROD_HOUSE, 4, 4 ; 14 + + newgroup ; 19 + + mapgroup ROUTE_28, 9, 20 ; 1 + mapgroup SILVER_CAVE_OUTSIDE, 18, 20 ; 2 + mapgroup SILVER_CAVE_POKECENTER_1F, 4, 5 ; 3 + mapgroup ROUTE_28_FAMOUS_SPEECH_HOUSE, 4, 4 ; 4 + + newgroup ; 20 + + mapgroup POKECENTER_2F, 4, 8 ; 1 + mapgroup TRADE_CENTER, 4, 5 ; 2 + mapgroup COLOSSEUM, 4, 5 ; 3 + mapgroup TIME_CAPSULE, 4, 5 ; 4 + mapgroup MOBILE_TRADE_ROOM_MOBILE, 4, 5 ; 5 + mapgroup MOBILE_BATTLE_ROOM, 4, 5 ; 6 + + newgroup ; 21 + + mapgroup ROUTE_7, 9, 10 ; 1 + mapgroup ROUTE_16, 9, 10 ; 2 + mapgroup ROUTE_17, 45, 10 ; 3 + mapgroup CELADON_CITY, 18, 20 ; 4 + mapgroup CELADON_DEPT_STORE_1F, 4, 8 ; 5 + mapgroup CELADON_DEPT_STORE_2F, 4, 8 ; 6 + mapgroup CELADON_DEPT_STORE_3F, 4, 8 ; 7 + mapgroup CELADON_DEPT_STORE_4F, 4, 8 ; 8 + mapgroup CELADON_DEPT_STORE_5F, 4, 8 ; 9 + mapgroup CELADON_DEPT_STORE_6F, 4, 8 ; 10 + mapgroup CELADON_DEPT_STORE_ELEVATOR, 2, 2 ; 11 + mapgroup CELADON_MANSION_1F, 5, 4 ; 12 + mapgroup CELADON_MANSION_2F, 5, 4 ; 13 + mapgroup CELADON_MANSION_3F, 5, 4 ; 14 + mapgroup CELADON_MANSION_ROOF, 5, 4 ; 15 + mapgroup CELADON_MANSION_ROOF_HOUSE, 4, 4 ; 16 + mapgroup CELADON_POKECENTER_1F, 4, 5 ; 17 + mapgroup CELADON_POKECENTER_2F_BETA, 4, 8 ; 18 + mapgroup CELADON_GAME_CORNER, 7, 10 ; 19 + mapgroup CELADON_GAME_CORNER_PRIZE_ROOM, 3, 3 ; 20 + mapgroup CELADON_GYM, 9, 5 ; 21 + mapgroup CELADON_CAFE, 4, 6 ; 22 + mapgroup ROUTE_16_FUCHSIA_SPEECH_HOUSE, 4, 4 ; 23 + mapgroup ROUTE_16_GATE, 4, 5 ; 24 + mapgroup ROUTE_7_SAFFRON_GATE, 4, 5 ; 25 + mapgroup ROUTE_17_18_GATE, 4, 5 ; 26 + + newgroup ; 22 + + mapgroup ROUTE_40, 18, 10 ; 1 + mapgroup ROUTE_41, 27, 25 ; 2 + mapgroup CIANWOOD_CITY, 27, 15 ; 3 + mapgroup MANIAS_HOUSE, 4, 4 ; 4 + mapgroup CIANWOOD_GYM, 9, 5 ; 5 + mapgroup CIANWOOD_POKECENTER_1F, 4, 5 ; 6 + mapgroup CIANWOOD_PHARMACY, 4, 4 ; 7 + mapgroup CIANWOOD_CITY_PHOTO_STUDIO, 4, 4 ; 8 + mapgroup CIANWOOD_LUGIA_SPEECH_HOUSE, 4, 4 ; 9 + mapgroup POKE_SEERS_HOUSE, 4, 4 ; 10 + mapgroup BATTLE_TOWER_1F, 5, 8 ; 11 + mapgroup BATTLE_TOWER_BATTLE_ROOM, 4, 4 ; 12 + mapgroup BATTLE_TOWER_ELEVATOR, 2, 2 ; 13 + mapgroup BATTLE_TOWER_HALLWAY, 2, 11 ; 14 + mapgroup ROUTE_40_BATTLE_TOWER_GATE, 4, 5 ; 15 + mapgroup BATTLE_TOWER_OUTSIDE, 14, 10 ; 16 + + newgroup ; 23 + + mapgroup ROUTE_2, 27, 10 ; 1 + mapgroup ROUTE_22, 9, 20 ; 2 + mapgroup VIRIDIAN_CITY, 18, 20 ; 3 + mapgroup VIRIDIAN_GYM, 9, 5 ; 4 + mapgroup VIRIDIAN_NICKNAME_SPEECH_HOUSE, 4, 4 ; 5 + mapgroup TRAINER_HOUSE_1F, 7, 5 ; 6 + mapgroup TRAINER_HOUSE_B1F, 8, 5 ; 7 + mapgroup VIRIDIAN_MART, 4, 6 ; 8 + mapgroup VIRIDIAN_POKECENTER_1F, 4, 5 ; 9 + mapgroup VIRIDIAN_POKECENTER_2F_BETA, 4, 8 ; 10 + mapgroup ROUTE_2_NUGGET_SPEECH_HOUSE, 4, 4 ; 11 + mapgroup ROUTE_2_GATE, 4, 5 ; 12 + mapgroup VICTORY_ROAD_GATE, 9, 10 ; 13 + + newgroup ; 24 + + mapgroup ROUTE_26, 54, 10 ; 1 + mapgroup ROUTE_27, 9, 40 ; 2 + mapgroup ROUTE_29, 9, 30 ; 3 + mapgroup NEW_BARK_TOWN, 9, 10 ; 4 + mapgroup ELMS_LAB, 6, 5 ; 5 + mapgroup KRISS_HOUSE_1F, 4, 5 ; 6 + mapgroup KRISS_HOUSE_2F, 3, 4 ; 7 + mapgroup KRISS_NEIGHBORS_HOUSE, 4, 4 ; 8 + mapgroup ELMS_HOUSE, 4, 4 ; 9 + mapgroup ROUTE_26_HEAL_SPEECH_HOUSE, 4, 4 ; 10 + mapgroup ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE, 4, 4 ; 11 + mapgroup ROUTE_27_SANDSTORM_HOUSE, 4, 4 ; 12 + mapgroup ROUTE_29_46_GATE, 4, 5 ; 13 + + newgroup ; 25 + + mapgroup ROUTE_5, 9, 10 ; 1 + mapgroup SAFFRON_CITY, 18, 20 ; 2 + mapgroup FIGHTING_DOJO, 6, 5 ; 3 + mapgroup SAFFRON_GYM, 9, 10 ; 4 + mapgroup SAFFRON_MART, 4, 6 ; 5 + mapgroup SAFFRON_POKECENTER_1F, 4, 5 ; 6 + mapgroup SAFFRON_POKECENTER_2F_BETA, 4, 8 ; 7 + mapgroup MR_PSYCHICS_HOUSE, 4, 4 ; 8 + mapgroup SAFFRON_TRAIN_STATION, 9, 10 ; 9 + mapgroup SILPH_CO_1F, 4, 8 ; 10 + mapgroup COPYCATS_HOUSE_1F, 4, 4 ; 11 + mapgroup COPYCATS_HOUSE_2F, 3, 5 ; 12 + mapgroup ROUTE_5_UNDERGROUND_PATH_ENTRANCE, 4, 4 ; 13 + mapgroup ROUTE_5_SAFFRON_CITY_GATE, 4, 5 ; 14 + mapgroup ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE, 4, 4 ; 15 + + newgroup ; 26 + + mapgroup ROUTE_30, 27, 10 ; 1 + mapgroup ROUTE_31, 9, 20 ; 2 + mapgroup CHERRYGROVE_CITY, 9, 20 ; 3 + mapgroup CHERRYGROVE_MART, 4, 6 ; 4 + mapgroup CHERRYGROVE_POKECENTER_1F, 4, 5 ; 5 + mapgroup CHERRYGROVE_GYM_SPEECH_HOUSE, 4, 4 ; 6 + mapgroup GUIDE_GENTS_HOUSE, 4, 4 ; 7 + mapgroup CHERRYGROVE_EVOLUTION_SPEECH_HOUSE, 4, 4 ; 8 + mapgroup ROUTE_30_BERRY_SPEECH_HOUSE, 4, 4 ; 9 + mapgroup MR_POKEMONS_HOUSE, 4, 4 ; 10 + mapgroup ROUTE_31_VIOLET_GATE, 4, 5 ; 11 diff --git a/constants/map_data_constants.asm b/constants/map_data_constants.asm new file mode 100644 index 000000000..5d3f23c08 --- /dev/null +++ b/constants/map_data_constants.asm @@ -0,0 +1,288 @@ +GROUP_N_A EQU -1 +MAP_N_A EQU -1 +GROUP_NONE EQU 0 +MAP_NONE EQU 0 + +; map header struct members (see maps/map_headers.asm) + const_def + const MAPHEADER_MAPHEADER2_BANK ; 0 + const MAPHEADER_TILESET ; 1 + const MAPHEADER_ENVIRONMENT ; 2 + const MAPHEADER_MAPHEADER2 ; 3 + const MAPHEADER_MAPHEADER2_HI ; 4 + const MAPHEADER_LOCATION ; 5 + const MAPHEADER_MUSIC ; 6 + const MAPHEADER_PALETTE ; 7 + const MAPHEADER_FISHGROUP ; 8 +NUM_MAPHEADER_ATTRIBUTES EQU const_value + +; map environments (wEnvironment) +const_value SET 1 + const TOWN + const ROUTE + const INDOOR + const CAVE + const ENVIRONMENT_5 + const GATE + const DUNGEON + +; map palettes (wEnvironment) + const_def + 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 + const EAST_F + const WEST_F + const SOUTH_F + const NORTH_F + +; MapConnections + const_def + shift_const EAST + shift_const WEST + shift_const SOUTH + shift_const NORTH + + +; object_struct members (see macros/wram.asm) + const_def + const OBJECT_SPRITE ; 00 + const OBJECT_MAP_OBJECT_INDEX ; 01 + const OBJECT_SPRITE_TILE ; 02 + const OBJECT_MOVEMENTTYPE ; 03 + const OBJECT_FLAGS1 ; 04 + const OBJECT_FLAGS2 ; 05 + const OBJECT_PALETTE ; 06 + const OBJECT_DIRECTION_WALKING ; 07 + const OBJECT_FACING ; 08 + const OBJECT_STEP_TYPE ; 09 + const OBJECT_STEP_DURATION ; 0a + const OBJECT_ACTION ; 0b + const OBJECT_STEP_FRAME ; 0c + const OBJECT_FACING_STEP ; 0d + const OBJECT_NEXT_TILE ; 0e + const OBJECT_STANDING_TILE ; 0f + const OBJECT_NEXT_MAP_X ; 10 + const OBJECT_NEXT_MAP_Y ; 11 + const OBJECT_MAP_X ; 12 + const OBJECT_MAP_Y ; 13 + const OBJECT_INIT_X ; 14 + const OBJECT_INIT_Y ; 15 + const OBJECT_RADIUS ; 16 + const OBJECT_SPRITE_X ; 17 + const OBJECT_SPRITE_Y ; 18 + const OBJECT_SPRITE_X_OFFSET ; 19 + const OBJECT_SPRITE_Y_OFFSET ; 1a + const OBJECT_MOVEMENT_BYTE_INDEX ; 1b + const OBJECT_28 ; 1c + const OBJECT_29 ; 1d + const OBJECT_30 ; 1e + const OBJECT_31 ; 1f + const OBJECT_RANGE ; 20 +; 33-39 are not used + +; map_object struct members (see macros/wram.asm) + const_def + const MAPOBJECT_OBJECT_STRUCT_ID ; 0 + const MAPOBJECT_SPRITE ; 1 + const MAPOBJECT_Y_COORD ; 2 + const MAPOBJECT_X_COORD ; 3 + const MAPOBJECT_MOVEMENT ; 4 + const MAPOBJECT_RADIUS ; 5 + const MAPOBJECT_HOUR ; 6 + const MAPOBJECT_TIMEOFDAY ; 7 + const MAPOBJECT_COLOR ; 8 + const MAPOBJECT_RANGE ; 9 + const MAPOBJECT_SCRIPT_POINTER ; a + const MAPOBJECT_POINTER_HI ; b + const MAPOBJECT_EVENT_FLAG ; c + const MAPOBJECT_FLAG_HI ; d + const MAPOBJECT_E ; unused + const MAPOBJECT_F ; unused +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 + +; object_struct OBJECT_FLAGS1 bit flags +INVISIBLE EQU 0 +FIXED_FACING EQU 2 +SLIDING EQU 3 +EMOTE_OBJECT EQU 7 + + +; SpawnPoints indexes (see data/maps/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 + const SPAWN_CERULEAN + const SPAWN_ROCK_TUNNEL + const SPAWN_VERMILION + const SPAWN_LAVENDER + const SPAWN_SAFFRON + const SPAWN_CELADON + const SPAWN_FUCHSIA + const SPAWN_CINNABAR + const SPAWN_INDIGO +; johto + const SPAWN_NEW_BARK + const SPAWN_CHERRYGROVE + const SPAWN_VIOLET + const SPAWN_UNION_CAVE + const SPAWN_AZALEA + const SPAWN_CIANWOOD + const SPAWN_GOLDENROD + const SPAWN_OLIVINE + const SPAWN_ECRUTEAK + const SPAWN_MAHOGANY + const SPAWN_LAKE + const SPAWN_BLACKTHORN + const SPAWN_MT_SILVER + const SPAWN_FAST_SHIP +NUM_SPAWNS EQU const_value + + +; TryBGEvent arguments (see engine/events.asm) + const_def + const BGEVENT_READ + const BGEVENT_UP + const BGEVENT_DOWN + const BGEVENT_RIGHT + const BGEVENT_LEFT + const BGEVENT_IFSET + const BGEVENT_IFNOTSET + const BGEVENT_ITEM + const BGEVENT_COPY + +; object_event types +; TryObjectEvent arguments (see engine/events.asm) + const_def + const OBJECTTYPE_SCRIPT + const OBJECTTYPE_ITEMBALL + const OBJECTTYPE_TRAINER + const OBJECTTYPE_3 + const OBJECTTYPE_4 + const OBJECTTYPE_5 + const OBJECTTYPE_6 + + +; Emotes indexes (see data/emotes.asm) + const_def + const EMOTE_SHOCK ; 0 + const EMOTE_QUESTION ; 1 + const EMOTE_HAPPY ; 2 + const EMOTE_SAD ; 3 + const EMOTE_HEART ; 4 + const EMOTE_BOLT ; 5 + const EMOTE_SLEEP ; 6 + const EMOTE_FISH ; 7 + const EMOTE_SHADOW ; 8 + const EMOTE_ROD ; 9 + const EMOTE_BOULDER_DUST ; 10 + const EMOTE_GRASS_RUSTLE ; 11 +EMOTE_MEM EQU -1 + +; FruitTreeItems indexes (see data/items/fruit_trees.asm) +const_value SET 1 + const FRUITTREE_ROUTE_29 ; 01 + const FRUITTREE_ROUTE_30_1 ; 02 + const FRUITTREE_ROUTE_38 ; 03 + const FRUITTREE_ROUTE_46_1 ; 04 + const FRUITTREE_ROUTE_30_2 ; 05 + const FRUITTREE_ROUTE_33 ; 06 + const FRUITTREE_ROUTE_31 ; 07 + const FRUITTREE_ROUTE_43 ; 08 + const FRUITTREE_VIOLET_CITY ; 09 + const FRUITTREE_ROUTE_46_2 ; 0a + const FRUITTREE_ROUTE_35 ; 0b + const FRUITTREE_ROUTE_45 ; 0c + const FRUITTREE_ROUTE_36 ; 0d + const FRUITTREE_ROUTE_26 ; 0e + const FRUITTREE_ROUTE_39 ; 0f + const FRUITTREE_ROUTE_44 ; 10 + const FRUITTREE_ROUTE_37_1 ; 11 + const FRUITTREE_ROUTE_37_2 ; 12 + const FRUITTREE_ROUTE_37_3 ; 13 + const FRUITTREE_AZALEA_TOWN ; 14 + const FRUITTREE_ROUTE_42_1 ; 15 + const FRUITTREE_ROUTE_42_2 ; 16 + const FRUITTREE_ROUTE_42_3 ; 17 + const FRUITTREE_ROUTE_11 ; 18 + const FRUITTREE_ROUTE_2 ; 19 + const FRUITTREE_ROUTE_1 ; 1a + const FRUITTREE_ROUTE_8 ; 1b + const FRUITTREE_PEWTER_CITY_1 ; 1c + const FRUITTREE_PEWTER_CITY_2 ; 1d + const FRUITTREE_FUCHSIA_CITY ; 1e +NUM_FRUIT_TREES EQU const_value +- 1 + + +; elevator floors +; used by `elevfloor` + const_def + const FLOOR_B4F + const FLOOR_B3F + const FLOOR_B2F + const FLOOR_B1F + const FLOOR_1F + const FLOOR_2F + const FLOOR_3F + const FLOOR_4F + const FLOOR_5F + const FLOOR_6F + const FLOOR_7F + const FLOOR_8F + const FLOOR_9F + const FLOOR_10F + const FLOOR_11F + const FLOOR_ROOF + +; command queue members +CMDQUEUE_TYPE EQU 0 +CMDQUEUE_ADDR EQU 1 +CMDQUEUE_03 EQU 3 +CMDQUEUE_04 EQU 4 +CMDQUEUE_05 EQU 5 +CMDQUEUE_ENTRY_SIZE EQU 6 +CMDQUEUE_CAPACITY EQU 4 + +; command queue types +CMDQUEUE_STONETABLE EQU 2 + +; see engine/overworld.asm +MAX_OUTDOOR_SPRITES EQU 23 +SPRITE_GFX_LIST_CAPACITY EQU $20 diff --git a/constants/map_dimension_constants.asm b/constants/map_dimension_constants.asm deleted file mode 100644 index be12cca02..000000000 --- a/constants/map_dimension_constants.asm +++ /dev/null @@ -1,488 +0,0 @@ -newgroup: macro -const_value = const_value + 1 - enum_start 1 -endm - -mapgroup: macro -;\1: map id -;\2: height: in blocks -;\3: width: in blocks -GROUP_\1 EQU const_value - enum MAP_\1 -\1_HEIGHT EQU \2 -\1_WIDTH EQU \3 -endm - -; map group ids -; `newgroup` indexes are for: -; - MapGroupPointers (see maps/map_headers.asm) -; - OutdoorSprites (see data/maps/outdoor_sprites.asm) -; - MapGroupRoofs (see data/maps/mapgroup_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 - mapgroup OLIVINE_GYM, 8, 5 ; 2 - mapgroup OLIVINE_TIMS_HOUSE, 4, 4 ; 3 - mapgroup OLIVINE_HOUSE_BETA, 4, 4 ; 4 - mapgroup OLIVINE_PUNISHMENT_SPEECH_HOUSE, 4, 4 ; 5 - mapgroup OLIVINE_GOOD_ROD_HOUSE, 4, 4 ; 6 - mapgroup OLIVINE_CAFE, 4, 4 ; 7 - mapgroup OLIVINE_MART, 4, 6 ; 8 - mapgroup ROUTE_38_ECRUTEAK_GATE, 4, 5 ; 9 - mapgroup ROUTE_39_BARN, 4, 4 ; 10 - mapgroup ROUTE_39_FARMHOUSE, 4, 4 ; 11 - mapgroup ROUTE_38, 9, 20 ; 12 - mapgroup ROUTE_39, 18, 10 ; 13 - mapgroup OLIVINE_CITY, 18, 20 ; 14 - - newgroup ; 2 - - mapgroup MAHOGANY_RED_GYARADOS_SPEECH_HOUSE, 4, 4 ; 1 - mapgroup MAHOGANY_GYM, 9, 5 ; 2 - mapgroup MAHOGANY_POKECENTER_1F, 4, 5 ; 3 - mapgroup ROUTE_42_ECRUTEAK_GATE, 4, 5 ; 4 - mapgroup ROUTE_42, 9, 30 ; 5 - mapgroup ROUTE_44, 9, 30 ; 6 - mapgroup MAHOGANY_TOWN, 9, 10 ; 7 - - newgroup ; 3 - - mapgroup SPROUT_TOWER_1F, 8, 10 ; 1 - mapgroup SPROUT_TOWER_2F, 8, 10 ; 2 - mapgroup SPROUT_TOWER_3F, 8, 10 ; 3 - mapgroup TIN_TOWER_1F, 9, 10 ; 4 - mapgroup TIN_TOWER_2F, 9, 10 ; 5 - mapgroup TIN_TOWER_3F, 9, 10 ; 6 - mapgroup TIN_TOWER_4F, 9, 10 ; 7 - mapgroup TIN_TOWER_5F, 9, 10 ; 8 - mapgroup TIN_TOWER_6F, 9, 10 ; 9 - mapgroup TIN_TOWER_7F, 9, 10 ; 10 - mapgroup TIN_TOWER_8F, 9, 10 ; 11 - mapgroup TIN_TOWER_9F, 9, 10 ; 12 - mapgroup BURNED_TOWER_1F, 9, 10 ; 13 - mapgroup BURNED_TOWER_B1F, 9, 10 ; 14 - mapgroup NATIONAL_PARK, 27, 20 ; 15 - mapgroup NATIONAL_PARK_BUG_CONTEST, 27, 20 ; 16 - mapgroup RADIO_TOWER_1F, 4, 9 ; 17 - mapgroup RADIO_TOWER_2F, 4, 9 ; 18 - mapgroup RADIO_TOWER_3F, 4, 9 ; 19 - mapgroup RADIO_TOWER_4F, 4, 9 ; 20 - mapgroup RADIO_TOWER_5F, 4, 9 ; 21 - mapgroup RUINS_OF_ALPH_OUTSIDE, 18, 10 ; 22 - mapgroup RUINS_OF_ALPH_HO_OH_CHAMBER, 5, 4 ; 23 - mapgroup RUINS_OF_ALPH_KABUTO_CHAMBER, 5, 4 ; 24 - mapgroup RUINS_OF_ALPH_OMANYTE_CHAMBER, 5, 4 ; 25 - mapgroup RUINS_OF_ALPH_AERODACTYL_CHAMBER, 5, 4 ; 26 - mapgroup RUINS_OF_ALPH_INNER_CHAMBER, 14, 10 ; 27 - mapgroup RUINS_OF_ALPH_RESEARCH_CENTER, 4, 4 ; 28 - mapgroup RUINS_OF_ALPH_HO_OH_ITEM_ROOM, 5, 4 ; 29 - mapgroup RUINS_OF_ALPH_KABUTO_ITEM_ROOM, 5, 4 ; 30 - mapgroup RUINS_OF_ALPH_OMANYTE_ITEM_ROOM, 5, 4 ; 31 - mapgroup RUINS_OF_ALPH_AERODACTYL_ITEM_ROOM, 5, 4 ; 32 - mapgroup RUINS_OF_ALPH_HO_OH_WORD_ROOM, 12, 10 ; 33 - mapgroup RUINS_OF_ALPH_KABUTO_WORD_ROOM, 7, 10 ; 34 - mapgroup RUINS_OF_ALPH_OMANYTE_WORD_ROOM, 8, 10 ; 35 - mapgroup RUINS_OF_ALPH_AERODACTYL_WORD_ROOM, 7, 10 ; 36 - mapgroup UNION_CAVE_1F, 18, 10 ; 37 - mapgroup UNION_CAVE_B1F, 18, 10 ; 38 - mapgroup UNION_CAVE_B2F, 18, 10 ; 39 - mapgroup SLOWPOKE_WELL_B1F, 9, 10 ; 40 - mapgroup SLOWPOKE_WELL_B2F, 9, 10 ; 41 - mapgroup OLIVINE_LIGHTHOUSE_1F, 9, 10 ; 42 - mapgroup OLIVINE_LIGHTHOUSE_2F, 9, 10 ; 43 - mapgroup OLIVINE_LIGHTHOUSE_3F, 9, 10 ; 44 - mapgroup OLIVINE_LIGHTHOUSE_4F, 9, 10 ; 45 - mapgroup OLIVINE_LIGHTHOUSE_5F, 9, 10 ; 46 - mapgroup OLIVINE_LIGHTHOUSE_6F, 9, 10 ; 47 - mapgroup MAHOGANY_MART_1F, 4, 4 ; 48 - mapgroup TEAM_ROCKET_BASE_B1F, 9, 15 ; 49 - mapgroup TEAM_ROCKET_BASE_B2F, 9, 15 ; 50 - mapgroup TEAM_ROCKET_BASE_B3F, 9, 15 ; 51 - mapgroup ILEX_FOREST, 27, 15 ; 52 - mapgroup GOLDENROD_UNDERGROUND, 18, 15 ; 53 - mapgroup GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES, 18, 15 ; 54 - mapgroup GOLDENROD_DEPT_STORE_B1F, 9, 10 ; 55 - mapgroup GOLDENROD_UNDERGROUND_WAREHOUSE, 9, 10 ; 56 - mapgroup MOUNT_MORTAR_1F_OUTSIDE, 18, 20 ; 57 - mapgroup MOUNT_MORTAR_1F_INSIDE, 27, 20 ; 58 - mapgroup MOUNT_MORTAR_2F_INSIDE, 18, 20 ; 59 - mapgroup MOUNT_MORTAR_B1F, 18, 20 ; 60 - mapgroup ICE_PATH_1F, 18, 20 ; 61 - mapgroup ICE_PATH_B1F, 18, 10 ; 62 - mapgroup ICE_PATH_B2F_MAHOGANY_SIDE, 9, 10 ; 63 - mapgroup ICE_PATH_B2F_BLACKTHORN_SIDE, 9, 5 ; 64 - mapgroup ICE_PATH_B3F, 9, 10 ; 65 - mapgroup WHIRL_ISLAND_NW, 9, 5 ; 66 - mapgroup WHIRL_ISLAND_NE, 9, 10 ; 67 - mapgroup WHIRL_ISLAND_SW, 9, 10 ; 68 - mapgroup WHIRL_ISLAND_CAVE, 9, 5 ; 69 - mapgroup WHIRL_ISLAND_SE, 9, 5 ; 70 - mapgroup WHIRL_ISLAND_B1F, 18, 20 ; 71 - mapgroup WHIRL_ISLAND_B2F, 18, 10 ; 72 - mapgroup WHIRL_ISLAND_LUGIA_CHAMBER, 9, 10 ; 73 - mapgroup SILVER_CAVE_ROOM_1, 18, 10 ; 74 - mapgroup SILVER_CAVE_ROOM_2, 18, 15 ; 75 - mapgroup SILVER_CAVE_ROOM_3, 18, 10 ; 76 - mapgroup SILVER_CAVE_ITEM_ROOMS, 9, 10 ; 77 - mapgroup DARK_CAVE_VIOLET_ENTRANCE, 18, 20 ; 78 - mapgroup DARK_CAVE_BLACKTHORN_ENTRANCE, 18, 15 ; 79 - mapgroup DRAGONS_DEN_1F, 9, 5 ; 80 - mapgroup DRAGONS_DEN_B1F, 18, 20 ; 81 - mapgroup DRAGON_SHRINE, 5, 5 ; 82 - mapgroup TOHJO_FALLS, 9, 15 ; 83 - mapgroup DIGLETTS_CAVE, 18, 10 ; 84 - mapgroup MOUNT_MOON, 9, 15 ; 85 - mapgroup UNDERGROUND_PATH, 14, 3 ; 86 - mapgroup ROCK_TUNNEL_1F, 18, 15 ; 87 - mapgroup ROCK_TUNNEL_B1F, 18, 15 ; 88 - mapgroup SAFARI_ZONE_FUCHSIA_GATE_BETA, 4, 5 ; 89 - mapgroup SAFARI_ZONE_BETA, 18, 10 ; 90 - mapgroup VICTORY_ROAD, 36, 10 ; 91 - - newgroup ; 4 - - mapgroup ECRUTEAK_HOUSE, 9, 10 ; 1 - mapgroup WISE_TRIOS_ROOM, 4, 4 ; 2 - mapgroup ECRUTEAK_POKECENTER_1F, 4, 5 ; 3 - mapgroup ECRUTEAK_LUGIA_SPEECH_HOUSE, 4, 4 ; 4 - mapgroup DANCE_THEATRE, 7, 6 ; 5 - mapgroup ECRUTEAK_MART, 4, 6 ; 6 - mapgroup ECRUTEAK_GYM, 9, 5 ; 7 - mapgroup ECRUTEAK_ITEMFINDER_HOUSE, 4, 4 ; 8 - mapgroup ECRUTEAK_CITY, 18, 20 ; 9 - - newgroup ; 5 - - mapgroup BLACKTHORN_GYM_1F, 9, 5 ; 1 - mapgroup BLACKTHORN_GYM_2F, 9, 5 ; 2 - mapgroup BLACKTHORN_DRAGON_SPEECH_HOUSE, 4, 4 ; 3 - mapgroup BLACKTHORN_EMYS_HOUSE, 4, 4 ; 4 - mapgroup BLACKTHORN_MART, 4, 6 ; 5 - mapgroup BLACKTHORN_POKECENTER_1F, 4, 5 ; 6 - mapgroup MOVE_DELETERS_HOUSE, 4, 4 ; 7 - mapgroup ROUTE_45, 45, 10 ; 8 - mapgroup ROUTE_46, 18, 10 ; 9 - mapgroup BLACKTHORN_CITY, 18, 20 ; 10 - - newgroup ; 6 - - mapgroup CINNABAR_POKECENTER_1F, 4, 5 ; 1 - mapgroup CINNABAR_POKECENTER_2F_BETA, 4, 8 ; 2 - mapgroup ROUTE_19___FUCHSIA_GATE, 4, 5 ; 3 - mapgroup SEAFOAM_GYM, 4, 5 ; 4 - mapgroup ROUTE_19, 18, 10 ; 5 - mapgroup ROUTE_20, 9, 30 ; 6 - mapgroup ROUTE_21, 18, 10 ; 7 - mapgroup CINNABAR_ISLAND, 9, 10 ; 8 - - newgroup ; 7 - - mapgroup CERULEAN_GYM_BADGE_SPEECH_HOUSE, 4, 4 ; 1 - mapgroup CERULEAN_POLICE_STATION, 4, 4 ; 2 - mapgroup CERULEAN_TRADE_SPEECH_HOUSE, 4, 4 ; 3 - mapgroup CERULEAN_POKECENTER_1F, 4, 5 ; 4 - mapgroup CERULEAN_POKECENTER_2F_BETA, 4, 8 ; 5 - mapgroup CERULEAN_GYM, 8, 5 ; 6 - mapgroup CERULEAN_MART, 4, 6 ; 7 - mapgroup ROUTE_10_POKECENTER_1F, 4, 5 ; 8 - mapgroup ROUTE_10_POKECENTER_2F_BETA, 4, 8 ; 9 - mapgroup POWER_PLANT, 9, 10 ; 10 - mapgroup BILLS_HOUSE, 4, 4 ; 11 - mapgroup ROUTE_4, 9, 20 ; 12 - mapgroup ROUTE_9, 9, 30 ; 13 - mapgroup ROUTE_10_NORTH, 9, 10 ; 14 - mapgroup ROUTE_24, 9, 10 ; 15 - mapgroup ROUTE_25, 9, 30 ; 16 - mapgroup CERULEAN_CITY, 18, 20 ; 17 - - newgroup ; 8 - - mapgroup AZALEA_POKECENTER_1F, 4, 5 ; 1 - mapgroup CHARCOAL_KILN, 4, 4 ; 2 - mapgroup AZALEA_MART, 4, 6 ; 3 - mapgroup KURTS_HOUSE, 4, 8 ; 4 - mapgroup AZALEA_GYM, 8, 5 ; 5 - mapgroup ROUTE_33, 9, 10 ; 6 - mapgroup AZALEA_TOWN, 9, 20 ; 7 - - newgroup ; 9 - - mapgroup LAKE_OF_RAGE_HIDDEN_POWER_HOUSE, 4, 4 ; 1 - mapgroup LAKE_OF_RAGE_MAGIKARP_HOUSE, 4, 4 ; 2 - mapgroup ROUTE_43_MAHOGANY_GATE, 4, 5 ; 3 - mapgroup ROUTE_43_GATE, 4, 5 ; 4 - mapgroup ROUTE_43, 27, 10 ; 5 - mapgroup LAKE_OF_RAGE, 18, 20 ; 6 - - newgroup ; 10 - - mapgroup ROUTE_32, 45, 10 ; 1 - mapgroup ROUTE_35, 18, 10 ; 2 - mapgroup ROUTE_36, 9, 30 ; 3 - mapgroup ROUTE_37, 9, 10 ; 4 - mapgroup VIOLET_CITY, 18, 20 ; 5 - mapgroup VIOLET_MART, 4, 6 ; 6 - mapgroup VIOLET_GYM, 8, 5 ; 7 - mapgroup EARLS_POKEMON_ACADEMY, 8, 4 ; 8 - mapgroup VIOLET_NICKNAME_SPEECH_HOUSE, 4, 4 ; 9 - mapgroup VIOLET_POKECENTER_1F, 4, 5 ; 10 - mapgroup VIOLET_KYLES_HOUSE, 4, 4 ; 11 - mapgroup ROUTE_32_RUINS_OF_ALPH_GATE, 4, 5 ; 12 - mapgroup ROUTE_32_POKECENTER_1F, 4, 5 ; 13 - mapgroup ROUTE_35_GOLDENROD_GATE, 4, 5 ; 14 - mapgroup ROUTE_35_NATIONAL_PARK_GATE, 4, 4 ; 15 - mapgroup ROUTE_36_RUINS_OF_ALPH_GATE, 4, 5 ; 16 - mapgroup ROUTE_36_NATIONAL_PARK_GATE, 4, 5 ; 17 - - newgroup ; 11 - - mapgroup ROUTE_34, 27, 10 ; 1 - mapgroup GOLDENROD_CITY, 18, 20 ; 2 - mapgroup GOLDENROD_GYM, 9, 10 ; 3 - mapgroup GOLDENROD_BIKE_SHOP, 4, 4 ; 4 - mapgroup GOLDENROD_HAPPINESS_RATER, 4, 4 ; 5 - mapgroup GOLDENROD_BILLS_HOUSE, 4, 4 ; 6 - mapgroup GOLDENROD_MAGNET_TRAIN_STATION, 9, 10 ; 7 - mapgroup GOLDENROD_FLOWER_SHOP, 4, 4 ; 8 - mapgroup GOLDENROD_PP_SPEECH_HOUSE, 4, 4 ; 9 - mapgroup GOLDENROD_NAME_RATER, 4, 4 ; 10 - mapgroup GOLDENROD_DEPT_STORE_1F, 4, 8 ; 11 - mapgroup GOLDENROD_DEPT_STORE_2F, 4, 8 ; 12 - mapgroup GOLDENROD_DEPT_STORE_3F, 4, 8 ; 13 - mapgroup GOLDENROD_DEPT_STORE_4F, 4, 8 ; 14 - mapgroup GOLDENROD_DEPT_STORE_5F, 4, 8 ; 15 - mapgroup GOLDENROD_DEPT_STORE_6F, 4, 8 ; 16 - mapgroup GOLDENROD_DEPT_STORE_ELEVATOR, 2, 2 ; 17 - mapgroup GOLDENROD_DEPT_STORE_ROOF, 4, 8 ; 18 - mapgroup GOLDENROD_GAME_CORNER, 7, 10 ; 19 - mapgroup GOLDENROD_POKECENTER_1F, 4, 5 ; 20 - mapgroup GOLDENROD_POKECOM_CENTER_2F_MOBILE, 16, 16 ; 21 - mapgroup ILEX_FOREST_AZALEA_GATE, 4, 5 ; 22 - mapgroup ROUTE_34_ILEX_FOREST_GATE, 4, 5 ; 23 - mapgroup DAY_CARE, 4, 5 ; 24 - - newgroup ; 12 - - mapgroup ROUTE_6, 9, 10 ; 1 - mapgroup ROUTE_11, 9, 20 ; 2 - mapgroup VERMILION_CITY, 18, 20 ; 3 - mapgroup VERMILION_HOUSE_FISHING_SPEECH_HOUSE, 4, 4 ; 4 - mapgroup VERMILION_POKECENTER_1F, 4, 5 ; 5 - mapgroup VERMILION_POKECENTER_2F_BETA, 4, 8 ; 6 - mapgroup POKEMON_FAN_CLUB, 4, 5 ; 7 - mapgroup VERMILION_MAGNET_TRAIN_SPEECH_HOUSE, 4, 4 ; 8 - mapgroup VERMILION_MART, 4, 6 ; 9 - mapgroup VERMILION_HOUSE_DIGLETTS_CAVE_SPEECH_HOUSE, 4, 4 ; 10 - mapgroup VERMILION_GYM, 9, 5 ; 11 - mapgroup ROUTE_6_SAFFRON_GATE, 4, 5 ; 12 - mapgroup ROUTE_6_UNDERGROUND_PATH_ENTRANCE, 4, 4 ; 13 - - newgroup ; 13 - - mapgroup ROUTE_1, 18, 10 ; 1 - mapgroup PALLET_TOWN, 9, 10 ; 2 - mapgroup REDS_HOUSE_1F, 4, 4 ; 3 - mapgroup REDS_HOUSE_2F, 4, 4 ; 4 - mapgroup BLUES_HOUSE, 4, 4 ; 5 - mapgroup OAKS_LAB, 6, 5 ; 6 - - newgroup ; 14 - - mapgroup ROUTE_3, 9, 30 ; 1 - mapgroup PEWTER_CITY, 18, 20 ; 2 - mapgroup PEWTER_NIDORAN_SPEECH_HOUSE, 4, 4 ; 3 - mapgroup PEWTER_GYM, 7, 5 ; 4 - mapgroup PEWTER_MART, 4, 6 ; 5 - mapgroup PEWTER_POKECENTER_1F, 4, 5 ; 6 - mapgroup PEWTER_POKECENTER_2F_BETA, 4, 8 ; 7 - mapgroup PEWTER_SNOOZE_SPEECH_HOUSE, 4, 4 ; 8 - - newgroup ; 15 - - mapgroup OLIVINE_PORT, 18, 10 ; 1 - mapgroup VERMILION_PORT, 18, 10 ; 2 - mapgroup FAST_SHIP_1F, 9, 16 ; 3 - mapgroup FAST_SHIP_CABINS_NNW_NNE_NE, 16, 4 ; 4 - mapgroup FAST_SHIP_CABINS_SW_SSW_NW, 16, 4 ; 5 - mapgroup FAST_SHIP_CABINS_SE_SSE_CAPTAINS_CABIN, 17, 5 ; 6 - mapgroup FAST_SHIP_B1F, 8, 16 ; 7 - mapgroup OLIVINE_PORT_PASSAGE, 9, 10 ; 8 - mapgroup VERMILION_PORT_PASSAGE, 9, 10 ; 9 - mapgroup MOUNT_MOON_SQUARE, 9, 15 ; 10 - mapgroup MOUNT_MOON_GIFT_SHOP, 4, 4 ; 11 - mapgroup TIN_TOWER_ROOF, 9, 10 ; 12 - - newgroup ; 16 - - mapgroup ROUTE_23, 9, 10 ; 1 - mapgroup INDIGO_PLATEAU_POKECENTER_1F, 7, 9 ; 2 - mapgroup WILLS_ROOM, 9, 5 ; 3 - mapgroup KOGAS_ROOM, 9, 5 ; 4 - mapgroup BRUNOS_ROOM, 9, 5 ; 5 - mapgroup KARENS_ROOM, 9, 5 ; 6 - mapgroup LANCES_ROOM, 12, 5 ; 7 - mapgroup HALL_OF_FAME, 7, 5 ; 8 - - newgroup ; 17 - - mapgroup ROUTE_13, 9, 30 ; 1 - mapgroup ROUTE_14, 18, 10 ; 2 - mapgroup ROUTE_15, 9, 20 ; 3 - mapgroup ROUTE_18, 9, 10 ; 4 - mapgroup FUCHSIA_CITY, 18, 20 ; 5 - mapgroup FUCHSIA_MART, 4, 6 ; 6 - mapgroup SAFARI_ZONE_MAIN_OFFICE, 4, 4 ; 7 - mapgroup FUCHSIA_GYM, 9, 5 ; 8 - mapgroup FUCHSIA_BILL_SPEECH_HOUSE, 4, 4 ; 9 - mapgroup FUCHSIA_POKECENTER_1F, 4, 5 ; 10 - mapgroup FUCHSIA_POKECENTER_2F_BETA, 4, 8 ; 11 - mapgroup SAFARI_ZONE_WARDENS_HOME, 4, 5 ; 12 - mapgroup ROUTE_15_FUCHSIA_GATE, 4, 5 ; 13 - - newgroup ; 18 - - mapgroup ROUTE_8, 9, 20 ; 1 - mapgroup ROUTE_12, 27, 10 ; 2 - mapgroup ROUTE_10_SOUTH, 9, 10 ; 3 - mapgroup LAVENDER_TOWN, 9, 10 ; 4 - mapgroup LAVENDER_POKECENTER_1F, 4, 5 ; 5 - mapgroup LAVENDER_POKECENTER_2F_BETA, 4, 8 ; 6 - mapgroup MR_FUJIS_HOUSE, 4, 5 ; 7 - mapgroup LAVENDER_TOWN_SPEECH_HOUSE, 4, 4 ; 8 - mapgroup LAVENDER_NAME_RATER, 4, 4 ; 9 - mapgroup LAVENDER_MART, 4, 6 ; 10 - mapgroup SOUL_HOUSE, 4, 5 ; 11 - mapgroup LAV_RADIO_TOWER_1F, 4, 10 ; 12 - mapgroup ROUTE_8_SAFFRON_GATE, 4, 5 ; 13 - mapgroup ROUTE_12_SUPER_ROD_HOUSE, 4, 4 ; 14 - - newgroup ; 19 - - mapgroup ROUTE_28, 9, 20 ; 1 - mapgroup SILVER_CAVE_OUTSIDE, 18, 20 ; 2 - mapgroup SILVER_CAVE_POKECENTER_1F, 4, 5 ; 3 - mapgroup ROUTE_28_FAMOUS_SPEECH_HOUSE, 4, 4 ; 4 - - newgroup ; 20 - - mapgroup POKECENTER_2F, 4, 8 ; 1 - mapgroup TRADE_CENTER, 4, 5 ; 2 - mapgroup COLOSSEUM, 4, 5 ; 3 - mapgroup TIME_CAPSULE, 4, 5 ; 4 - mapgroup MOBILE_TRADE_ROOM_MOBILE, 4, 5 ; 5 - mapgroup MOBILE_BATTLE_ROOM, 4, 5 ; 6 - - newgroup ; 21 - - mapgroup ROUTE_7, 9, 10 ; 1 - mapgroup ROUTE_16, 9, 10 ; 2 - mapgroup ROUTE_17, 45, 10 ; 3 - mapgroup CELADON_CITY, 18, 20 ; 4 - mapgroup CELADON_DEPT_STORE_1F, 4, 8 ; 5 - mapgroup CELADON_DEPT_STORE_2F, 4, 8 ; 6 - mapgroup CELADON_DEPT_STORE_3F, 4, 8 ; 7 - mapgroup CELADON_DEPT_STORE_4F, 4, 8 ; 8 - mapgroup CELADON_DEPT_STORE_5F, 4, 8 ; 9 - mapgroup CELADON_DEPT_STORE_6F, 4, 8 ; 10 - mapgroup CELADON_DEPT_STORE_ELEVATOR, 2, 2 ; 11 - mapgroup CELADON_MANSION_1F, 5, 4 ; 12 - mapgroup CELADON_MANSION_2F, 5, 4 ; 13 - mapgroup CELADON_MANSION_3F, 5, 4 ; 14 - mapgroup CELADON_MANSION_ROOF, 5, 4 ; 15 - mapgroup CELADON_MANSION_ROOF_HOUSE, 4, 4 ; 16 - mapgroup CELADON_POKECENTER_1F, 4, 5 ; 17 - mapgroup CELADON_POKECENTER_2F_BETA, 4, 8 ; 18 - mapgroup CELADON_GAME_CORNER, 7, 10 ; 19 - mapgroup CELADON_GAME_CORNER_PRIZE_ROOM, 3, 3 ; 20 - mapgroup CELADON_GYM, 9, 5 ; 21 - mapgroup CELADON_CAFE, 4, 6 ; 22 - mapgroup ROUTE_16_FUCHSIA_SPEECH_HOUSE, 4, 4 ; 23 - mapgroup ROUTE_16_GATE, 4, 5 ; 24 - mapgroup ROUTE_7_SAFFRON_GATE, 4, 5 ; 25 - mapgroup ROUTE_17_18_GATE, 4, 5 ; 26 - - newgroup ; 22 - - mapgroup ROUTE_40, 18, 10 ; 1 - mapgroup ROUTE_41, 27, 25 ; 2 - mapgroup CIANWOOD_CITY, 27, 15 ; 3 - mapgroup MANIAS_HOUSE, 4, 4 ; 4 - mapgroup CIANWOOD_GYM, 9, 5 ; 5 - mapgroup CIANWOOD_POKECENTER_1F, 4, 5 ; 6 - mapgroup CIANWOOD_PHARMACY, 4, 4 ; 7 - mapgroup CIANWOOD_CITY_PHOTO_STUDIO, 4, 4 ; 8 - mapgroup CIANWOOD_LUGIA_SPEECH_HOUSE, 4, 4 ; 9 - mapgroup POKE_SEERS_HOUSE, 4, 4 ; 10 - mapgroup BATTLE_TOWER_1F, 5, 8 ; 11 - mapgroup BATTLE_TOWER_BATTLE_ROOM, 4, 4 ; 12 - mapgroup BATTLE_TOWER_ELEVATOR, 2, 2 ; 13 - mapgroup BATTLE_TOWER_HALLWAY, 2, 11 ; 14 - mapgroup ROUTE_40_BATTLE_TOWER_GATE, 4, 5 ; 15 - mapgroup BATTLE_TOWER_OUTSIDE, 14, 10 ; 16 - - newgroup ; 23 - - mapgroup ROUTE_2, 27, 10 ; 1 - mapgroup ROUTE_22, 9, 20 ; 2 - mapgroup VIRIDIAN_CITY, 18, 20 ; 3 - mapgroup VIRIDIAN_GYM, 9, 5 ; 4 - mapgroup VIRIDIAN_NICKNAME_SPEECH_HOUSE, 4, 4 ; 5 - mapgroup TRAINER_HOUSE_1F, 7, 5 ; 6 - mapgroup TRAINER_HOUSE_B1F, 8, 5 ; 7 - mapgroup VIRIDIAN_MART, 4, 6 ; 8 - mapgroup VIRIDIAN_POKECENTER_1F, 4, 5 ; 9 - mapgroup VIRIDIAN_POKECENTER_2F_BETA, 4, 8 ; 10 - mapgroup ROUTE_2_NUGGET_SPEECH_HOUSE, 4, 4 ; 11 - mapgroup ROUTE_2_GATE, 4, 5 ; 12 - mapgroup VICTORY_ROAD_GATE, 9, 10 ; 13 - - newgroup ; 24 - - mapgroup ROUTE_26, 54, 10 ; 1 - mapgroup ROUTE_27, 9, 40 ; 2 - mapgroup ROUTE_29, 9, 30 ; 3 - mapgroup NEW_BARK_TOWN, 9, 10 ; 4 - mapgroup ELMS_LAB, 6, 5 ; 5 - mapgroup KRISS_HOUSE_1F, 4, 5 ; 6 - mapgroup KRISS_HOUSE_2F, 3, 4 ; 7 - mapgroup KRISS_NEIGHBORS_HOUSE, 4, 4 ; 8 - mapgroup ELMS_HOUSE, 4, 4 ; 9 - mapgroup ROUTE_26_HEAL_SPEECH_HOUSE, 4, 4 ; 10 - mapgroup ROUTE_26_DAY_OF_WEEK_SIBLINGS_HOUSE, 4, 4 ; 11 - mapgroup ROUTE_27_SANDSTORM_HOUSE, 4, 4 ; 12 - mapgroup ROUTE_29_46_GATE, 4, 5 ; 13 - - newgroup ; 25 - - mapgroup ROUTE_5, 9, 10 ; 1 - mapgroup SAFFRON_CITY, 18, 20 ; 2 - mapgroup FIGHTING_DOJO, 6, 5 ; 3 - mapgroup SAFFRON_GYM, 9, 10 ; 4 - mapgroup SAFFRON_MART, 4, 6 ; 5 - mapgroup SAFFRON_POKECENTER_1F, 4, 5 ; 6 - mapgroup SAFFRON_POKECENTER_2F_BETA, 4, 8 ; 7 - mapgroup MR_PSYCHICS_HOUSE, 4, 4 ; 8 - mapgroup SAFFRON_TRAIN_STATION, 9, 10 ; 9 - mapgroup SILPH_CO_1F, 4, 8 ; 10 - mapgroup COPYCATS_HOUSE_1F, 4, 4 ; 11 - mapgroup COPYCATS_HOUSE_2F, 3, 5 ; 12 - mapgroup ROUTE_5_UNDERGROUND_PATH_ENTRANCE, 4, 4 ; 13 - mapgroup ROUTE_5_SAFFRON_CITY_GATE, 4, 5 ; 14 - mapgroup ROUTE_5_CLEANSE_TAG_SPEECH_HOUSE, 4, 4 ; 15 - - newgroup ; 26 - - mapgroup ROUTE_30, 27, 10 ; 1 - mapgroup ROUTE_31, 9, 20 ; 2 - mapgroup CHERRYGROVE_CITY, 9, 20 ; 3 - mapgroup CHERRYGROVE_MART, 4, 6 ; 4 - mapgroup CHERRYGROVE_POKECENTER_1F, 4, 5 ; 5 - mapgroup CHERRYGROVE_GYM_SPEECH_HOUSE, 4, 4 ; 6 - mapgroup GUIDE_GENTS_HOUSE, 4, 4 ; 7 - mapgroup CHERRYGROVE_EVOLUTION_SPEECH_HOUSE, 4, 4 ; 8 - mapgroup ROUTE_30_BERRY_SPEECH_HOUSE, 4, 4 ; 9 - mapgroup MR_POKEMONS_HOUSE, 4, 4 ; 10 - mapgroup ROUTE_31_VIOLET_GATE, 4, 5 ; 11 diff --git a/constants/map_setup_constants.asm b/constants/map_setup_constants.asm index 0dcc2b941..20448f2fb 100644 --- a/constants/map_setup_constants.asm +++ b/constants/map_setup_constants.asm @@ -1,26 +1,18 @@ ; hMapEntryMethod values -; MapSetupScripts indexes (see engine/map_setup.asm) +; MapSetupScripts indexes (see data/maps/setup_scripts.asm) const_value SET $f1 - const MAPSETUP_WARP - const MAPSETUP_CONTINUE - const MAPSETUP_RELOADMAP - const MAPSETUP_TELEPORT - const MAPSETUP_DOOR - const MAPSETUP_FALL - const MAPSETUP_CONNECTION - const MAPSETUP_LINKRETURN - const MAPSETUP_TRAIN - const MAPSETUP_SUBMENU - const MAPSETUP_BADWARP - const MAPSETUP_FLY - -; callback types -const_value SET 1 - const MAPCALLBACK_TILES - const MAPCALLBACK_OBJECTS - const MAPCALLBACK_CMDQUEUE - const MAPCALLBACK_SPRITES - const MAPCALLBACK_NEWMAP + const MAPSETUP_WARP ; f1 + const MAPSETUP_CONTINUE ; f2 + const MAPSETUP_RELOADMAP ; f3 + const MAPSETUP_TELEPORT ; f4 + const MAPSETUP_DOOR ; f5 + const MAPSETUP_FALL ; f6 + const MAPSETUP_CONNECTION ; f7 + const MAPSETUP_LINKRETURN ; f8 + const MAPSETUP_TRAIN ; f9 + const MAPSETUP_SUBMENU ; fa + const MAPSETUP_BADWARP ; fb + const MAPSETUP_FLY ; fc ; MapSetupCommands indexes (see engine/map_setup.asm) ; Names taken from Condensation water's scripting compendium @@ -41,7 +33,7 @@ const_value SET 1 const map_save_screen ; 0c const map_buffer_screen ; 0d const map_load_graphics ; 0e - const map_load_tileset_header ; 0f + const map_load_tileset ; 0f const map_time_of_day ; 10 const map_palettes ; 11 const map_wildmons ; 12 @@ -73,3 +65,11 @@ const_value SET 1 const map_text_scroll_off ; 2c const map_stop_script ; 2d map_end EQU -1 + +; callback types +const_value SET 1 + const MAPCALLBACK_TILES + const MAPCALLBACK_OBJECTS + const MAPCALLBACK_CMDQUEUE + const MAPCALLBACK_SPRITES + const MAPCALLBACK_NEWMAP diff --git a/constants/misc_constants.asm b/constants/misc_constants.asm index 88ae90c89..6289b610c 100644 --- a/constants/misc_constants.asm +++ b/constants/misc_constants.asm @@ -16,39 +16,13 @@ HP_GREEN EQU 0 HP_YELLOW EQU 1 HP_RED EQU 2 +; save file corruption check values +SAVE_CHECK_VALUE_1 EQU 99 +SAVE_CHECK_VALUE_2 EQU 127 -; 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 -TRAINER_CLASS_NAME_LENGTH EQU 13 -NAME_LENGTH_JAPANESE EQU 6 - -; GetName types (see home/names.asm) -PKMN_NAME EQU 1 -MOVE_NAME EQU 2 -; dummied out EQU 3 -ITEM_NAME EQU 4 -PARTY_OT_NAME EQU 5 -ENEMY_OT_NAME EQU 6 -TRAINER_NAME EQU 7 -; broken ptr EQU 8 - - -; printing text -const_value set 5 - const PRINTNUM_MONEY_F ; 5 - const PRINTNUM_RIGHTALIGN_F ; 6 - const PRINTNUM_LEADINGZEROS_F ; 7 - -; PrintNum arguments (see engine/printnum.asm) -PRINTNUM_MONEY EQU 1 << PRINTNUM_MONEY_F -PRINTNUM_RIGHTALIGN EQU 1 << PRINTNUM_RIGHTALIGN_F -PRINTNUM_LEADINGZEROS EQU 1 << PRINTNUM_LEADINGZEROS_F - +; hMenuReturn +HMENURETURN_SCRIPT EQU %10000000 +HMENURETURN_ASM EQU %11111111 ; DoPlayerMovement.DoStep arguments (see engine/player_movement.asm) const_def @@ -61,17 +35,6 @@ PRINTNUM_LEADINGZEROS EQU 1 << PRINTNUM_LEADINGZEROS_F const STEP_BACK_LEDGE ; 6 const STEP_WALK_IN_PLACE ; 7 - -; hMenuReturn -HMENURETURN_SCRIPT EQU %10000000 -HMENURETURN_ASM EQU %11111111 - - -; save file corruption check values -SAVE_CHECK_VALUE_1 EQU 99 -SAVE_CHECK_VALUE_2 EQU 127 - - ; time of day boundaries MORN_HOUR EQU 4 ; 4 AM DAY_HOUR EQU 10 ; 10 AM @@ -79,7 +42,6 @@ NITE_HOUR EQU 18 ; 6 PM NOON_HOUR EQU 12 ; 12 PM MAX_HOUR EQU 24 ; 12 AM - ; boxes MONS_PER_BOX EQU 20 NUM_BOXES EQU 14 @@ -91,14 +53,12 @@ NUM_HOF_TEAMS = 30 MAX_LINK_RECORD EQU 9999 - ; significant money values START_MONEY EQU 3000 MOM_MONEY EQU 2300 MAX_MONEY EQU 999999 MAX_COINS EQU 9999 - ; ChangeHappiness arguments (see data/happiness_changes.asm) const_value = 1 const HAPPINESS_GAINLEVEL ; 01 @@ -121,4 +81,5 @@ const_value = 1 const HAPPINESS_MASSAGE ; 12 const HAPPINESS_GAINLEVELATHOME ; 13 +; day-care MAX_DAY_CARE_EXP EQU $500000 diff --git a/constants/move_constants.asm b/constants/move_constants.asm index a4b1a0ba8..472ff2d0b 100644 --- a/constants/move_constants.asm +++ b/constants/move_constants.asm @@ -1,9 +1,9 @@ ; 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) +; - Moves (see data/moves/moves.asm) +; - MoveNames (see data/moves/names.asm) +; - MoveDescriptions (see data/moves/descriptions.asm) +; - BattleAnimations (see data/moves/animations.asm) const_def const NO_MOVE ; 00 const POUND ; 01 diff --git a/constants/move_effect_constants.asm b/constants/move_effect_constants.asm new file mode 100644 index 000000000..0ca97f380 --- /dev/null +++ b/constants/move_effect_constants.asm @@ -0,0 +1,159 @@ +; MoveEffectsPointers indexes (see data/moves/effects_pointers.asm) + const_def + const EFFECT_NORMAL_HIT + const EFFECT_SLEEP + const EFFECT_POISON_HIT + const EFFECT_LEECH_HIT + const EFFECT_BURN_HIT + const EFFECT_FREEZE_HIT + const EFFECT_PARALYZE_HIT + const EFFECT_SELFDESTRUCT + const EFFECT_DREAM_EATER + const EFFECT_MIRROR_MOVE + const EFFECT_ATTACK_UP + const EFFECT_DEFENSE_UP + const EFFECT_SPEED_UP + const EFFECT_SP_ATK_UP + const EFFECT_SP_DEF_UP + const EFFECT_ACCURACY_UP + const EFFECT_EVASION_UP + const EFFECT_ALWAYS_HIT + const EFFECT_ATTACK_DOWN + const EFFECT_DEFENSE_DOWN + const EFFECT_SPEED_DOWN + const EFFECT_SP_ATK_DOWN + const EFFECT_SP_DEF_DOWN + const EFFECT_ACCURACY_DOWN + const EFFECT_EVASION_DOWN + const EFFECT_RESET_STATS + const EFFECT_BIDE + const EFFECT_RAMPAGE + const EFFECT_FORCE_SWITCH + const EFFECT_MULTI_HIT + const EFFECT_CONVERSION + const EFFECT_FLINCH_HIT + const EFFECT_HEAL + const EFFECT_TOXIC + const EFFECT_PAY_DAY + const EFFECT_LIGHT_SCREEN + const EFFECT_TRI_ATTACK + const EFFECT_UNUSED_25 + const EFFECT_OHKO + const EFFECT_RAZOR_WIND + const EFFECT_SUPER_FANG + const EFFECT_STATIC_DAMAGE + const EFFECT_TRAP_TARGET + const EFFECT_UNUSED_2B + const EFFECT_DOUBLE_HIT + const EFFECT_JUMP_KICK + const EFFECT_MIST + const EFFECT_FOCUS_ENERGY + const EFFECT_RECOIL_HIT + const EFFECT_CONFUSE + const EFFECT_ATTACK_UP_2 + const EFFECT_DEFENSE_UP_2 + const EFFECT_SPEED_UP_2 + const EFFECT_SP_ATK_UP_2 + const EFFECT_SP_DEF_UP_2 + const EFFECT_ACCURACY_UP_2 + const EFFECT_EVASION_UP_2 + const EFFECT_TRANSFORM + const EFFECT_ATTACK_DOWN_2 + const EFFECT_DEFENSE_DOWN_2 + const EFFECT_SPEED_DOWN_2 + const EFFECT_SP_ATK_DOWN_2 + const EFFECT_SP_DEF_DOWN_2 + const EFFECT_ACCURACY_DOWN_2 + const EFFECT_EVASION_DOWN_2 + const EFFECT_REFLECT + const EFFECT_POISON + const EFFECT_PARALYZE + const EFFECT_ATTACK_DOWN_HIT + const EFFECT_DEFENSE_DOWN_HIT + const EFFECT_SPEED_DOWN_HIT + const EFFECT_SP_ATK_DOWN_HIT + const EFFECT_SP_DEF_DOWN_HIT + const EFFECT_ACCURACY_DOWN_HIT + const EFFECT_EVASION_DOWN_HIT + const EFFECT_SKY_ATTACK + const EFFECT_CONFUSE_HIT + const EFFECT_POISON_MULTI_HIT + const EFFECT_UNUSED_4E + const EFFECT_SUBSTITUTE + const EFFECT_HYPER_BEAM + const EFFECT_RAGE + const EFFECT_MIMIC + const EFFECT_METRONOME + const EFFECT_LEECH_SEED + const EFFECT_SPLASH + const EFFECT_DISABLE + const EFFECT_LEVEL_DAMAGE + const EFFECT_PSYWAVE + const EFFECT_COUNTER + const EFFECT_ENCORE + const EFFECT_PAIN_SPLIT + const EFFECT_SNORE + const EFFECT_CONVERSION2 + const EFFECT_LOCK_ON + const EFFECT_SKETCH + const EFFECT_DEFROST_OPPONENT + const EFFECT_SLEEP_TALK + const EFFECT_DESTINY_BOND + const EFFECT_REVERSAL + const EFFECT_SPITE + const EFFECT_FALSE_SWIPE + const EFFECT_HEAL_BELL + const EFFECT_PRIORITY_HIT + const EFFECT_TRIPLE_KICK + const EFFECT_THIEF + const EFFECT_MEAN_LOOK + const EFFECT_NIGHTMARE + const EFFECT_FLAME_WHEEL + const EFFECT_CURSE + const EFFECT_UNUSED_6E + const EFFECT_PROTECT + const EFFECT_SPIKES + const EFFECT_FORESIGHT + const EFFECT_PERISH_SONG + const EFFECT_SANDSTORM + const EFFECT_ENDURE + const EFFECT_ROLLOUT + const EFFECT_SWAGGER + const EFFECT_FURY_CUTTER + const EFFECT_ATTRACT + const EFFECT_RETURN + const EFFECT_PRESENT + const EFFECT_FRUSTRATION + const EFFECT_SAFEGUARD + const EFFECT_SACRED_FIRE + const EFFECT_MAGNITUDE + const EFFECT_BATON_PASS + const EFFECT_PURSUIT + const EFFECT_RAPID_SPIN + const EFFECT_UNUSED_82 + const EFFECT_UNUSED_83 + const EFFECT_MORNING_SUN + const EFFECT_SYNTHESIS + const EFFECT_MOONLIGHT + const EFFECT_HIDDEN_POWER + const EFFECT_RAIN_DANCE + const EFFECT_SUNNY_DAY + const EFFECT_DEFENSE_UP_HIT + const EFFECT_ATTACK_UP_HIT + const EFFECT_ALL_UP_HIT + const EFFECT_FAKE_OUT + const EFFECT_BELLY_DRUM + const EFFECT_PSYCH_UP + const EFFECT_MIRROR_COAT + const EFFECT_SKULL_BASH + const EFFECT_TWISTER + const EFFECT_EARTHQUAKE + const EFFECT_FUTURE_SIGHT + const EFFECT_GUST + const EFFECT_STOMP + const EFFECT_SOLARBEAM + const EFFECT_THUNDER + const EFFECT_TELEPORT + const EFFECT_BEAT_UP + const EFFECT_FLY + const EFFECT_DEFENSE_CURL diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index 13cb577bb..91ff79f2b 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -1,21 +1,22 @@ ; pokemon ids ; indexes for: -; - CryHeaders (see data/pokemon/cry_headers.asm) +; - PokemonNames (see data/pokemon/names.asm) ; - BaseData (see data/pokemon/base_stats.asm) -; - EggMovePointers (see data/pokemon/egg_move_pointers.asm) ; - EvosAttacksPointers (see data/pokemon/evos_attacks_pointers.asm) -; - PokemonNames (see data/pokemon/pokemon_names.asm) +; - EggMovePointers (see data/pokemon/egg_move_pointers.asm) +; - PokemonCries (see data/pokemon/cries.asm) +; - MonMenuIcons (see data/pokemon/menu_icons.asm) +; - PokemonPicPointers (see data/pokemon/pic_pointers.asm) +; - PokemonPalettes (see data/pokemon/palettes.asm) ; - PokedexDataPointerTable (see data/pokemon/dex_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/pokemon/dex_order_alpha.asm) ; - NewPokedexOrder (see data/pokemon/dex_order_new.asm) -; - MonMenuIcons (see data/pokemon/menu_icons.asm) ; - Pokered_MonIndices (see data/time_capsule/mon_order.asm) +; - AnimationPointers (see gfx/pokemon/anim_pointers.asm) +; - AnimationExtraPointers (see gfx/pokemon/extra_pointers.asm) +; - BitmasksPointers (see gfx/pokemon/bitmask_pointers.asm) +; - FramesPointers (see gfx/pokemon/frame_pointers.asm) +; - Footprints (see gfx/footprints.asm) ; - SortedPokemon (see mobile/fixed_words.asm) const_value set 1 const BULBASAUR ; 01 diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index 4093adfa9..c9eb84041 100644 --- a/constants/pokemon_data_constants.asm +++ b/constants/pokemon_data_constants.asm @@ -102,49 +102,6 @@ REDMON_STRUCT_LENGTH EQU 44 PARTY_LENGTH EQU 6 -; IconPointers indexes (see gfx/icon_pointers.asm) - const_def - const ICON_NULL - const ICON_POLIWAG - const ICON_JIGGLYPUFF - const ICON_DIGLETT - const ICON_PIKACHU - const ICON_STARYU - const ICON_FISH - const ICON_BIRD - const ICON_MONSTER - const ICON_CLEFAIRY - const ICON_ODDISH - const ICON_BUG - const ICON_GHOST - const ICON_LAPRAS - const ICON_HUMANSHAPE - const ICON_FOX - const ICON_EQUINE - const ICON_SHELL - const ICON_BLOB - const ICON_SERPENT - const ICON_VOLTORB - const ICON_SQUIRTLE - const ICON_BULBASAUR - const ICON_CHARMANDER - const ICON_CATERPILLAR - const ICON_UNOWN - const ICON_GEODUDE - const ICON_FIGHTER - const ICON_EGG - const ICON_JELLYFISH - const ICON_MOTH - const ICON_BAT - const ICON_SNORLAX - const ICON_HO_OH - const ICON_LUGIA - const ICON_GYARADOS - const ICON_SLOWPOKE - const ICON_SUDOWOODO - const ICON_BIGMON - - ; evolution types (used in data/pokemon/evos_attacks.asm) const_value SET 1 const EVOLVE_LEVEL @@ -192,6 +149,18 @@ FISHSWARM_QWILFISH EQU 1 FISHSWARM_REMORAID EQU 2 +; PokeAnims indexes (see engine/pic_animation.asm) + const_def + 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 + ; MonMenuOptions indexes (see engine/mon_menu.asm) const_value SET 1 ; moves diff --git a/constants/sprite_anim_constants.asm b/constants/sprite_anim_constants.asm new file mode 100644 index 000000000..8bb2aed35 --- /dev/null +++ b/constants/sprite_anim_constants.asm @@ -0,0 +1,316 @@ +; sprite_anim_struct members (see macros/wram.asm) + const_def + const SPRITEANIMSTRUCT_INDEX ; 0 + const SPRITEANIMSTRUCT_FRAMESET_ID ; 1 + const SPRITEANIMSTRUCT_ANIM_SEQ_ID ; 2 + const SPRITEANIMSTRUCT_TILE_ID ; 3 + const SPRITEANIMSTRUCT_XCOORD ; 4 + const SPRITEANIMSTRUCT_YCOORD ; 5 + const SPRITEANIMSTRUCT_XOFFSET ; 6 + const SPRITEANIMSTRUCT_YOFFSET ; 7 + const SPRITEANIMSTRUCT_DURATION ; 8 + const SPRITEANIMSTRUCT_DURATIONOFFSET ; 9 + const SPRITEANIMSTRUCT_FRAME ; a + const SPRITEANIMSTRUCT_JUMPTABLE_INDEX ; b + const SPRITEANIMSTRUCT_0C ; c + const SPRITEANIMSTRUCT_0D ; d + const SPRITEANIMSTRUCT_0E ; e + const SPRITEANIMSTRUCT_0F ; f + +; SpriteAnimSeqData indexes (see data/sprite_anims/sequences.asm) + const_def + const SPRITE_ANIM_INDEX_PARTY_MON ; 00 + const SPRITE_ANIM_INDEX_GS_TITLE_TRAIL ; 01 + const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR ; 02 + const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO ; 03 + const SPRITE_ANIM_INDEX_GS_INTRO_STAR ; 04 + const SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE ; 05 + const SPRITE_ANIM_INDEX_SLOTS_GOLEM ; 06 + const SPRITE_ANIM_INDEX_SLOTS_CHANSEY ; 07 + const SPRITE_ANIM_INDEX_SLOTS_EGG ; 08 + const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR ; 09 + const SPRITE_ANIM_INDEX_RED_WALK ; 0a + const SPRITE_ANIM_INDEX_UNUSED_CURSOR ; 0b + const SPRITE_ANIM_INDEX_DUMMY_GAME ; 0c + const SPRITE_ANIM_INDEX_POKEGEAR_ARROW ; 0d + const SPRITE_ANIM_INDEX_TRADE_POKE_BALL ; 0e + const SPRITE_ANIM_INDEX_TRADE_POOF ; 0f + const SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE ; 10 + const SPRITE_ANIM_INDEX_TRADEMON_ICON ; 11 + const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE ; 12 + const SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT ; 13 + const SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB ; 14 + const SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED ; 15 + const SPRITE_ANIM_INDEX_LEAF ; 16 + const SPRITE_ANIM_INDEX_CUT_TREE ; 17 + const SPRITE_ANIM_INDEX_FLY_LEAF ; 18 + const SPRITE_ANIM_INDEX_EGG_CRACK ; 19 + const SPRITE_ANIM_INDEX_1A ; 1a + const SPRITE_ANIM_INDEX_HEADBUTT ; 1b + const SPRITE_ANIM_INDEX_EGG_HATCH ; 1c + const SPRITE_ANIM_INDEX_1D ; 1d + const SPRITE_ANIM_INDEX_BLUE_WALK ; 1e + const SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE ; 1f + const SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL ; 20 + const SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL ; 21 + const SPRITE_ANIM_INDEX_MOBILE_22 ; 22 + const SPRITE_ANIM_INDEX_MOBILE_23 ; 23 + const SPRITE_ANIM_INDEX_MOBILE_24 ; 24 + const SPRITE_ANIM_INDEX_MOBILE_25 ; 25 + const SPRITE_ANIM_INDEX_INTRO_SUICUNE ; 26 + const SPRITE_ANIM_INDEX_INTRO_PICHU ; 27 + const SPRITE_ANIM_INDEX_INTRO_WOOPER ; 28 + const SPRITE_ANIM_INDEX_INTRO_UNOWN ; 29 + const SPRITE_ANIM_INDEX_INTRO_UNOWN_F ; 2a + const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY ; 2b + const SPRITE_ANIM_INDEX_CELEBI ; 2c + +; DoAnimFrame.Jumptable indexes (see engine/sprite_anims.asm) + const_def + const SPRITE_ANIM_SEQ_NULL ; 00 + const SPRITE_ANIM_SEQ_PARTY_MON ; 01 + const SPRITE_ANIM_SEQ_PARTY_MON_SWITCH ; 02 + const SPRITE_ANIM_SEQ_PARTY_MON_SELECTED ; 03 + const SPRITE_ANIM_SEQ_GS_TITLE_TRAIL ; 04 + const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR ; 05 + const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO ; 06 + const SPRITE_ANIM_SEQ_GS_INTRO_STAR ; 07 + const SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE ; 08 + const SPRITE_ANIM_SEQ_SLOTS_GOLEM ; 09 + const SPRITE_ANIM_SEQ_SLOTS_CHANSEY ; 0a + const SPRITE_ANIM_SEQ_SLOTS_EGG ; 0b + const SPRITE_ANIM_SEQ_MAIL_CURSOR ; 0c + const SPRITE_ANIM_SEQ_FOR_UNUSED_CURSOR ; 0d + const SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR ; 0e + const SPRITE_ANIM_SEQ_POKEGEAR_ARROW ; 0f + const SPRITE_ANIM_SEQ_TRADE_POKE_BALL ; 10 + const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE ; 11 + const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE ; 12 + const SPRITE_ANIM_SEQ_REVEAL_NEW_MON ; 13 + const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB ; 14 + const SPRITE_ANIM_SEQ_CUT_LEAVES ; 15 + const SPRITE_ANIM_SEQ_FLY_FROM ; 16 + const SPRITE_ANIM_SEQ_FLY_LEAF ; 17 + const SPRITE_ANIM_SEQ_FLY_TO ; 18 + const SPRITE_ANIM_SEQ_19 ; 19 + const SPRITE_ANIM_SEQ_1A ; 1a + const SPRITE_ANIM_SEQ_FOR_MOBILE_23 ; 1b + const SPRITE_ANIM_SEQ_FOR_MOBILE_24 ; 1c + const SPRITE_ANIM_SEQ_INTRO_SUICUNE ; 1d + const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER ; 1e + const SPRITE_ANIM_SEQ_CELEBI ; 1f + const SPRITE_ANIM_SEQ_INTRO_UNOWN ; 20 + const SPRITE_ANIM_SEQ_INTRO_UNOWN_F ; 21 + const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY ; 22 + +; SpriteAnimFrameData indexes (see data/sprite_anims/framesets.asm) + const_def + const SPRITE_ANIM_FRAMESET_00 + const SPRITE_ANIM_FRAMESET_PARTY_MON ; 01 + const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL ; 02 + const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM ; 03 + const SPRITE_ANIM_FRAMESET_PARTY_MON_FAST ; 04 + const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL_FAST ; 05 + const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM_FAST ; 06 + const SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL ; 07 + const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR ; 08 + const SPRITE_ANIM_FRAMESET_09 + const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO ; 0a + const SPRITE_ANIM_FRAMESET_GS_INTRO_STAR ; 0b + const SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE ; 0c + const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM ; 0d + const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY ; 0e + const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2 ; 0f + const SPRITE_ANIM_FRAMESET_SLOTS_EGG ; 10 + const SPRITE_ANIM_FRAMESET_RED_WALK ; 11 + const SPRITE_ANIM_FRAMESET_STILL_CURSOR ; 12 + const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL ; 13 + const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0 ; 14 + const SPRITE_ANIM_FRAMESET_TRADE_POOF ; 15 + const SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE ; 16 + const SPRITE_ANIM_FRAMESET_TRADEMON_ICON ; 17 + const SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE ; 18 + const SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT ; 19 + const SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB ; 1a + const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED ; 1b + const SPRITE_ANIM_FRAMESET_1C + const SPRITE_ANIM_FRAMESET_LEAF ; 1d + const SPRITE_ANIM_FRAMESET_CUT_TREE ; 1e + const SPRITE_ANIM_FRAMESET_EGG_CRACK ; 1f + const SPRITE_ANIM_FRAMESET_EGG_HATCH ; 20 + const SPRITE_ANIM_FRAMESET_21 + const SPRITE_ANIM_FRAMESET_22 + const SPRITE_ANIM_FRAMESET_23 + const SPRITE_ANIM_FRAMESET_24 + const SPRITE_ANIM_FRAMESET_HEADBUTT ; 25 + const SPRITE_ANIM_FRAMESET_26 + const SPRITE_ANIM_FRAMESET_27 + const SPRITE_ANIM_FRAMESET_28 + const SPRITE_ANIM_FRAMESET_29 + const SPRITE_ANIM_FRAMESET_2A + const SPRITE_ANIM_FRAMESET_2B + const SPRITE_ANIM_FRAMESET_2C + const SPRITE_ANIM_FRAMESET_BLUE_WALK ; 2d + const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE ; 2e + const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL ; 2f + const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL ; 30 + const SPRITE_ANIM_FRAMESET_FOR_MOBILE_22 ; 31 + const SPRITE_ANIM_FRAMESET_FOR_MOBILE_23 ; 32 + const SPRITE_ANIM_FRAMESET_FOR_MOBILE_24 ; 33 + const SPRITE_ANIM_FRAMESET_FOR_MOBILE_25 ; 34 + const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE ; 35 + const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_2 ; 36 + const SPRITE_ANIM_FRAMESET_INTRO_PICHU ; 37 + const SPRITE_ANIM_FRAMESET_INTRO_WOOPER ; 38 + const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1 ; 39 + const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_2 ; 3a + const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_3 ; 3b + const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_4 ; 3c + const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F_2 ; 3d + const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY ; 3e + const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F ; 3f + const SPRITE_ANIM_FRAMESET_CELEBI_LEFT ; 40 + const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT ; 41 + +; SpriteAnimOAMData indexes (see data/sprite_anims/oam.asm) + const_def + const SPRITE_ANIM_OAMSET_RED_WALK_1 ; 00 + const SPRITE_ANIM_OAMSET_RED_WALK_2 ; 01 + const SPRITE_ANIM_OAMSET_02 + const SPRITE_ANIM_OAMSET_03 + const SPRITE_ANIM_OAMSET_04 + const SPRITE_ANIM_OAMSET_05 + const SPRITE_ANIM_OAMSET_06 + const SPRITE_ANIM_OAMSET_07 + const SPRITE_ANIM_OAMSET_08 + const SPRITE_ANIM_OAMSET_09 + const SPRITE_ANIM_OAMSET_0A + const SPRITE_ANIM_OAMSET_0B + const SPRITE_ANIM_OAMSET_0C + const SPRITE_ANIM_OAMSET_0D + const SPRITE_ANIM_OAMSET_0E + const SPRITE_ANIM_OAMSET_0F + const SPRITE_ANIM_OAMSET_10 + const SPRITE_ANIM_OAMSET_11 + const SPRITE_ANIM_OAMSET_12 + const SPRITE_ANIM_OAMSET_13 + const SPRITE_ANIM_OAMSET_14 + const SPRITE_ANIM_OAMSET_15 + const SPRITE_ANIM_OAMSET_16 + const SPRITE_ANIM_OAMSET_17 + const SPRITE_ANIM_OAMSET_18 + const SPRITE_ANIM_OAMSET_19 + const SPRITE_ANIM_OAMSET_1A + const SPRITE_ANIM_OAMSET_1B + const SPRITE_ANIM_OAMSET_1C + const SPRITE_ANIM_OAMSET_1D + const SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1 ; 1e + const SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2 ; 1f + const SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR ; 20 + const SPRITE_ANIM_OAMSET_FOR_FRAMESET_09 ; 21 + const SPRITE_ANIM_OAMSET_22 + const SPRITE_ANIM_OAMSET_GS_INTRO_STAR ; 23 + const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1 ; 24 + const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2 ; 25 + const SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3 ; 26 + const SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1 ; 27 + const SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2 ; 28 + const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1 ; 29 + const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2 ; 2a + const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3 ; 2b + const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4 ; 2c + const SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5 ; 2d + const SPRITE_ANIM_OAMSET_SLOTS_EGG ; 2e + const SPRITE_ANIM_OAMSET_STILL_CURSOR ; 2f + const SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1 ; 30 + const SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2 ; 31 + const SPRITE_ANIM_OAMSET_TRADE_POOF_1 ; 32 + const SPRITE_ANIM_OAMSET_TRADE_POOF_2 ; 33 + const SPRITE_ANIM_OAMSET_TRADE_POOF_3 ; 34 + const SPRITE_ANIM_OAMSET_35 + const SPRITE_ANIM_OAMSET_36 + const SPRITE_ANIM_OAMSET_TRADEMON_ICON_1 ; 37 + const SPRITE_ANIM_OAMSET_TRADEMON_ICON_2 ; 38 + const SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE ; 39 + const SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1 ; 3a + const SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2 ; 3b + const SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB ; 3c + const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1 ; 3d + const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2 ; 3e + const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1 ; 3f + const SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2 ; 40 + const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1 ; 41 + const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2 ; 42 + const SPRITE_ANIM_OAMSET_43 + const SPRITE_ANIM_OAMSET_44 + const SPRITE_ANIM_OAMSET_45 + const SPRITE_ANIM_OAMSET_46 + const SPRITE_ANIM_OAMSET_47 + const SPRITE_ANIM_OAMSET_48 + const SPRITE_ANIM_OAMSET_49 + const SPRITE_ANIM_OAMSET_4A + const SPRITE_ANIM_OAMSET_4B + const SPRITE_ANIM_OAMSET_4C + const SPRITE_ANIM_OAMSET_4D + const SPRITE_ANIM_OAMSET_4E + const SPRITE_ANIM_OAMSET_LEAF ; 4f + const SPRITE_ANIM_OAMSET_TREE_1 ; 50 + const SPRITE_ANIM_OAMSET_CUT_TREE_2 ; 51 + const SPRITE_ANIM_OAMSET_CUT_TREE_3 ; 52 + const SPRITE_ANIM_OAMSET_CUT_TREE_4 ; 53 + const SPRITE_ANIM_OAMSET_EGG_CRACK ; 54 + const SPRITE_ANIM_OAMSET_55 + const SPRITE_ANIM_OAMSET_56 + const SPRITE_ANIM_OAMSET_57 + const SPRITE_ANIM_OAMSET_58 + const SPRITE_ANIM_OAMSET_59 + const SPRITE_ANIM_OAMSET_5A + const SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2 ; 5b + const SPRITE_ANIM_OAMSET_5C + const SPRITE_ANIM_OAMSET_5D + const SPRITE_ANIM_OAMSET_5E + const SPRITE_ANIM_OAMSET_5F + const SPRITE_ANIM_OAMSET_60 + const SPRITE_ANIM_OAMSET_61 + const SPRITE_ANIM_OAMSET_62 + const SPRITE_ANIM_OAMSET_BLUE_WALK_1 ; 63 + const SPRITE_ANIM_OAMSET_BLUE_WALK_2 ; 64 + const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1 ; 65 + const SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2 ; 66 + const SPRITE_ANIM_OAMSET_FOR_MOBILE_22_1 ; 67 + const SPRITE_ANIM_OAMSET_FOR_MOBILE_22_2 ; 68 + const SPRITE_ANIM_OAMSET_FOR_MOBILE_25_1 ; 69 + const SPRITE_ANIM_OAMSET_FOR_MOBILE_25_2 ; 6a + const SPRITE_ANIM_OAMSET_FOR_MOBILE_25_3 ; 6b + const SPRITE_ANIM_OAMSET_FOR_MOBILE_23 ; 6c + const SPRITE_ANIM_OAMSET_FOR_MOBILE_24 ; 6d + const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1 ; 6e + const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2 ; 6f + const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3 ; 70 + const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4 ; 71 + const SPRITE_ANIM_OAMSET_INTRO_PICHU_1 ; 72 + const SPRITE_ANIM_OAMSET_INTRO_PICHU_2 ; 73 + const SPRITE_ANIM_OAMSET_INTRO_PICHU_3 ; 74 + const SPRITE_ANIM_OAMSET_INTRO_WOOPER ; 75 + const SPRITE_ANIM_OAMSET_INTRO_UNOWN_1 ; 76 + const SPRITE_ANIM_OAMSET_INTRO_UNOWN_2 ; 77 + const SPRITE_ANIM_OAMSET_INTRO_UNOWN_3 ; 78 + const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1 ; 79 + const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2 ; 7a + const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3 ; 7b + const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4 ; 7c + const SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5 ; 7d + const SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY ; 7e + const SPRITE_ANIM_OAMSET_CELEBI_1 ; 7f + const SPRITE_ANIM_OAMSET_CELEBI_2 ; 80 + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1 ; 81 + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2 ; 82 + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3 ; 83 + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4 ; 84 + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5 ; 85 + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6 ; 86 + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7 ; 87 + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8 ; 88 + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9 ; 89 + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10 ; 8A + const SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11 ; 8B diff --git a/constants/sprite_constants.asm b/constants/sprite_constants.asm index b008ac6c2..9e4b57c27 100644 --- a/constants/sprite_constants.asm +++ b/constants/sprite_constants.asm @@ -1,5 +1,5 @@ ; sprite ids -; SpriteHeaders indexes (see gfx/sprite_headers.asm) +; OverworldSprites indexes (see gfx/sprite_data.asm) const_def const SPRITE_NONE ; 00 const SPRITE_CHRIS ; 01 diff --git a/constants/sprite_data_constants.asm b/constants/sprite_data_constants.asm index 77d9e3975..43a3843fc 100644 --- a/constants/sprite_data_constants.asm +++ b/constants/sprite_data_constants.asm @@ -1,12 +1,12 @@ -; sprite_header struct members (see gfx/sprite_headers.asm) +; overworld_sprite struct members (see gfx/sprite_data.asm) const_def - const SPRITEHEADER_ADDR_LO ; 0 - const SPRITEHEADER_ADDR_HI ; 1 - const SPRITEHEADER_SIZE ; 2 - const SPRITEHEADER_BANK ; 3 - const SPRITEHEADER_TYPE ; 4 - const SPRITEHEADER_PALETTE ; 5 -NUM_SPRITEHEADER_FIELDS EQU const_value + const SPRITEDATA_ADDR ; 0 + const SPRITEDATA_ADDR_HI ; 1 + const SPRITEDATA_SIZE ; 2 + const SPRITEDATA_BANK ; 3 + const SPRITEDATA_TYPE ; 4 + const SPRITEDATA_PALETTE ; 5 +NUM_SPRITEDATA_FIELDS EQU const_value ; sprite types const_value SET 1 @@ -192,320 +192,3 @@ SPRITEMOVEDATA_FIELDS EQU 6 const FACING_BOULDER_DUST_2 ; 1d const FACING_GRASS_1 ; 1e const FACING_GRASS_2 ; 1f - -; sprite_anim_struct members (see macros/wram.asm) - const_def - const SPRITEANIMSTRUCT_INDEX ; 0 - const SPRITEANIMSTRUCT_FRAMESET_ID ; 1 - const SPRITEANIMSTRUCT_ANIM_SEQ_ID ; 2 - const SPRITEANIMSTRUCT_TILE_ID ; 3 - const SPRITEANIMSTRUCT_XCOORD ; 4 - const SPRITEANIMSTRUCT_YCOORD ; 5 - const SPRITEANIMSTRUCT_XOFFSET ; 6 - const SPRITEANIMSTRUCT_YOFFSET ; 7 - const SPRITEANIMSTRUCT_DURATION ; 8 - const SPRITEANIMSTRUCT_DURATIONOFFSET ; 9 - const SPRITEANIMSTRUCT_FRAME ; a - const SPRITEANIMSTRUCT_JUMPTABLE_INDEX ; b - const SPRITEANIMSTRUCT_0C ; c - const SPRITEANIMSTRUCT_0D ; d - const SPRITEANIMSTRUCT_0E ; e - const SPRITEANIMSTRUCT_0F ; f - -; SpriteAnimSeqData indexes (see data/sprite_anim_seqs.asm) - const_def - const SPRITE_ANIM_INDEX_PARTY_MON ; 00 - const SPRITE_ANIM_INDEX_GS_TITLE_TRAIL ; 01 - const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR ; 02 - const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO ; 03 - const SPRITE_ANIM_INDEX_GS_INTRO_STAR ; 04 - const SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE ; 05 - const SPRITE_ANIM_INDEX_SLOTS_GOLEM ; 06 - const SPRITE_ANIM_INDEX_SLOTS_CHANSEY ; 07 - const SPRITE_ANIM_INDEX_SLOTS_EGG ; 08 - const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR ; 09 - const SPRITE_ANIM_INDEX_RED_WALK ; 0a - const SPRITE_ANIM_INDEX_UNUSED_CURSOR ; 0b - const SPRITE_ANIM_INDEX_DUMMY_GAME ; 0c - const SPRITE_ANIM_INDEX_POKEGEAR_ARROW ; 0d - const SPRITE_ANIM_INDEX_TRADE_POKE_BALL ; 0e - const SPRITE_ANIM_INDEX_TRADE_POOF ; 0f - const SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE ; 10 - const SPRITE_ANIM_INDEX_TRADEMON_ICON ; 11 - const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE ; 12 - const SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT ; 13 - const SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB ; 14 - const SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED ; 15 - const SPRITE_ANIM_INDEX_LEAF ; 16 - const SPRITE_ANIM_INDEX_CUT_TREE ; 17 - const SPRITE_ANIM_INDEX_FLY_LEAF ; 18 - const SPRITE_ANIM_INDEX_EGG_CRACK ; 19 - const SPRITE_ANIM_INDEX_1A ; 1a - const SPRITE_ANIM_INDEX_HEADBUTT ; 1b - const SPRITE_ANIM_INDEX_EGG_HATCH ; 1c - const SPRITE_ANIM_INDEX_1D ; 1d - const SPRITE_ANIM_INDEX_BLUE_WALK ; 1e - const SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE ; 1f - const SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL ; 20 - const SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL ; 21 - const SPRITE_ANIM_INDEX_MOBILE_22 ; 22 - const SPRITE_ANIM_INDEX_MOBILE_23 ; 23 - const SPRITE_ANIM_INDEX_MOBILE_24 ; 24 - const SPRITE_ANIM_INDEX_MOBILE_25 ; 25 - const SPRITE_ANIM_INDEX_INTRO_SUICUNE ; 26 - const SPRITE_ANIM_INDEX_INTRO_PICHU ; 27 - const SPRITE_ANIM_INDEX_INTRO_WOOPER ; 28 - const SPRITE_ANIM_INDEX_INTRO_UNOWN ; 29 - const SPRITE_ANIM_INDEX_INTRO_UNOWN_F ; 2a - const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY ; 2b - const SPRITE_ANIM_INDEX_CELEBI ; 2c - -; DoAnimFrame.Jumptable indexes (see engine/sprite_anims.asm) - const_def - const SPRITE_ANIM_SEQ_NULL ; 00 - const SPRITE_ANIM_SEQ_PARTY_MON ; 01 - const SPRITE_ANIM_SEQ_PARTY_MON_SWITCH ; 02 - const SPRITE_ANIM_SEQ_PARTY_MON_SELECTED ; 03 - const SPRITE_ANIM_SEQ_GS_TITLE_TRAIL ; 04 - const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR ; 05 - const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO ; 06 - const SPRITE_ANIM_SEQ_GS_INTRO_STAR ; 07 - const SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE ; 08 - const SPRITE_ANIM_SEQ_SLOTS_GOLEM ; 09 - const SPRITE_ANIM_SEQ_SLOTS_CHANSEY ; 0a - const SPRITE_ANIM_SEQ_SLOTS_EGG ; 0b - const SPRITE_ANIM_SEQ_MAIL_CURSOR ; 0c - const SPRITE_ANIM_SEQ_FOR_UNUSED_CURSOR ; 0d - const SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR ; 0e - const SPRITE_ANIM_SEQ_POKEGEAR_ARROW ; 0f - const SPRITE_ANIM_SEQ_TRADE_POKE_BALL ; 10 - const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE ; 11 - const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE ; 12 - const SPRITE_ANIM_SEQ_REVEAL_NEW_MON ; 13 - const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB ; 14 - const SPRITE_ANIM_SEQ_CUT_LEAVES ; 15 - const SPRITE_ANIM_SEQ_FLY_FROM ; 16 - const SPRITE_ANIM_SEQ_FLY_LEAF ; 17 - const SPRITE_ANIM_SEQ_FLY_TO ; 18 - const SPRITE_ANIM_SEQ_19 ; 19 - const SPRITE_ANIM_SEQ_1A ; 1a - const SPRITE_ANIM_SEQ_FOR_MOBILE_23 ; 1b - const SPRITE_ANIM_SEQ_FOR_MOBILE_24 ; 1c - const SPRITE_ANIM_SEQ_INTRO_SUICUNE ; 1d - const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER ; 1e - const SPRITE_ANIM_SEQ_CELEBI ; 1f - const SPRITE_ANIM_SEQ_INTRO_UNOWN ; 20 - const SPRITE_ANIM_SEQ_INTRO_UNOWN_F ; 21 - const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY ; 22 - -; SpriteAnimFrameData indexes (see data/sprite_anim_frames.asm) - const_def - const SPRITE_ANIM_FRAMESET_00 - const SPRITE_ANIM_FRAMESET_PARTY_MON ; 01 - const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL ; 02 - const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM ; 03 - const SPRITE_ANIM_FRAMESET_PARTY_MON_FAST ; 04 - const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL_FAST ; 05 - const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM_FAST ; 06 - const SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL ; 07 - const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR ; 08 - const SPRITE_ANIM_FRAMESET_09 - const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO ; 0a - const SPRITE_ANIM_FRAMESET_GS_INTRO_STAR ; 0b - const SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE ; 0c - const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM ; 0d - const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY ; 0e - const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2 ; 0f - const SPRITE_ANIM_FRAMESET_SLOTS_EGG ; 10 - const SPRITE_ANIM_FRAMESET_RED_WALK ; 11 - const SPRITE_ANIM_FRAMESET_STILL_CURSOR ; 12 - const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL ; 13 - const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0 ; 14 - const SPRITE_ANIM_FRAMESET_TRADE_POOF ; 15 - const SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE ; 16 - const SPRITE_ANIM_FRAMESET_TRADEMON_ICON ; 17 - const SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE ; 18 - const SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT ; 19 - const SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB ; 1a - const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED ; 1b - const SPRITE_ANIM_FRAMESET_1C - const SPRITE_ANIM_FRAMESET_LEAF ; 1d - const SPRITE_ANIM_FRAMESET_CUT_TREE ; 1e - const SPRITE_ANIM_FRAMESET_EGG_CRACK ; 1f - const SPRITE_ANIM_FRAMESET_EGG_HATCH ; 20 - const SPRITE_ANIM_FRAMESET_21 - const SPRITE_ANIM_FRAMESET_22 - const SPRITE_ANIM_FRAMESET_23 - const SPRITE_ANIM_FRAMESET_24 - const SPRITE_ANIM_FRAMESET_HEADBUTT ; 25 - const SPRITE_ANIM_FRAMESET_26 - const SPRITE_ANIM_FRAMESET_27 - const SPRITE_ANIM_FRAMESET_28 - const SPRITE_ANIM_FRAMESET_29 - const SPRITE_ANIM_FRAMESET_2A - const SPRITE_ANIM_FRAMESET_2B - const SPRITE_ANIM_FRAMESET_2C - const SPRITE_ANIM_FRAMESET_BLUE_WALK ; 2d - const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE ; 2e - const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL ; 2f - const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL ; 30 - const SPRITE_ANIM_FRAMESET_FOR_MOBILE_22 ; 31 - const SPRITE_ANIM_FRAMESET_FOR_MOBILE_23 ; 32 - const SPRITE_ANIM_FRAMESET_FOR_MOBILE_24 ; 33 - const SPRITE_ANIM_FRAMESET_FOR_MOBILE_25 ; 34 - const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE ; 35 - const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_2 ; 36 - const SPRITE_ANIM_FRAMESET_INTRO_PICHU ; 37 - const SPRITE_ANIM_FRAMESET_INTRO_WOOPER ; 38 - const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1 ; 39 - const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_2 ; 3a - const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_3 ; 3b - const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_4 ; 3c - const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F_2 ; 3d - const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY ; 3e - const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F ; 3f - const SPRITE_ANIM_FRAMESET_CELEBI_LEFT ; 40 - const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT ; 41 - -; SpriteAnimOAMData indexes (see data/sprite_anim_oam.asm) - const_def - const SPRITE_ANIM_FRAME_IDX_RED_WALK_1 ; 00 - const SPRITE_ANIM_FRAME_IDX_RED_WALK_2 ; 01 - const SPRITE_ANIM_FRAME_IDX_02 - const SPRITE_ANIM_FRAME_IDX_03 - const SPRITE_ANIM_FRAME_IDX_04 - const SPRITE_ANIM_FRAME_IDX_05 - const SPRITE_ANIM_FRAME_IDX_06 - const SPRITE_ANIM_FRAME_IDX_07 - const SPRITE_ANIM_FRAME_IDX_08 - const SPRITE_ANIM_FRAME_IDX_09 - const SPRITE_ANIM_FRAME_IDX_0A - const SPRITE_ANIM_FRAME_IDX_0B - const SPRITE_ANIM_FRAME_IDX_0C - const SPRITE_ANIM_FRAME_IDX_0D - const SPRITE_ANIM_FRAME_IDX_0E - const SPRITE_ANIM_FRAME_IDX_0F - const SPRITE_ANIM_FRAME_IDX_10 - const SPRITE_ANIM_FRAME_IDX_11 - const SPRITE_ANIM_FRAME_IDX_12 - const SPRITE_ANIM_FRAME_IDX_13 - const SPRITE_ANIM_FRAME_IDX_14 - const SPRITE_ANIM_FRAME_IDX_15 - const SPRITE_ANIM_FRAME_IDX_16 - const SPRITE_ANIM_FRAME_IDX_17 - const SPRITE_ANIM_FRAME_IDX_18 - const SPRITE_ANIM_FRAME_IDX_19 - const SPRITE_ANIM_FRAME_IDX_1A - const SPRITE_ANIM_FRAME_IDX_1B - const SPRITE_ANIM_FRAME_IDX_1C - const SPRITE_ANIM_FRAME_IDX_1D - const SPRITE_ANIM_FRAME_IDX_GS_TITLE_TRAIL_1 ; 1e - const SPRITE_ANIM_FRAME_IDX_GS_TITLE_TRAIL_2 ; 1f - const SPRITE_ANIM_FRAME_IDX_TEXT_ENTRY_CURSOR ; 20 - const SPRITE_ANIM_FRAME_IDX_FOR_FRAMESET_09 ; 21 - const SPRITE_ANIM_FRAME_IDX_22 - const SPRITE_ANIM_FRAME_IDX_GS_INTRO_STAR ; 23 - const SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_1 ; 24 - const SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_2 ; 25 - const SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_3 ; 26 - const SPRITE_ANIM_FRAME_IDX_SLOTS_GOLEM_1 ; 27 - const SPRITE_ANIM_FRAME_IDX_SLOTS_GOLEM_2 ; 28 - const SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_1 ; 29 - const SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_2 ; 2a - const SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_3 ; 2b - const SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_4 ; 2c - const SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_5 ; 2d - const SPRITE_ANIM_FRAME_IDX_SLOTS_EGG ; 2e - const SPRITE_ANIM_FRAME_IDX_STILL_CURSOR ; 2f - const SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1 ; 30 - const SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2 ; 31 - const SPRITE_ANIM_FRAME_IDX_TRADE_POOF_1 ; 32 - const SPRITE_ANIM_FRAME_IDX_TRADE_POOF_2 ; 33 - const SPRITE_ANIM_FRAME_IDX_TRADE_POOF_3 ; 34 - const SPRITE_ANIM_FRAME_IDX_35 - const SPRITE_ANIM_FRAME_IDX_36 - const SPRITE_ANIM_FRAME_IDX_TRADEMON_ICON_1 ; 37 - const SPRITE_ANIM_FRAME_IDX_TRADEMON_ICON_2 ; 38 - const SPRITE_ANIM_FRAME_IDX_TRADEMON_BUBBLE ; 39 - const SPRITE_ANIM_FRAME_IDX_EVOLUTION_BALL_OF_LIGHT_1 ; 3a - const SPRITE_ANIM_FRAME_IDX_EVOLUTION_BALL_OF_LIGHT_2 ; 3b - const SPRITE_ANIM_FRAME_IDX_RADIO_TUNING_KNOB ; 3c - const SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_1 ; 3d - const SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_2 ; 3e - const SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_1 ; 3f - const SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_2 ; 40 - const SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_1 ; 41 - const SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_2 ; 42 - const SPRITE_ANIM_FRAME_IDX_43 - const SPRITE_ANIM_FRAME_IDX_44 - const SPRITE_ANIM_FRAME_IDX_45 - const SPRITE_ANIM_FRAME_IDX_46 - const SPRITE_ANIM_FRAME_IDX_47 - const SPRITE_ANIM_FRAME_IDX_48 - const SPRITE_ANIM_FRAME_IDX_49 - const SPRITE_ANIM_FRAME_IDX_4A - const SPRITE_ANIM_FRAME_IDX_4B - const SPRITE_ANIM_FRAME_IDX_4C - const SPRITE_ANIM_FRAME_IDX_4D - const SPRITE_ANIM_FRAME_IDX_4E - const SPRITE_ANIM_FRAME_IDX_LEAF ; 4f - const SPRITE_ANIM_FRAME_IDX_TREE_1 ; 50 - const SPRITE_ANIM_FRAME_IDX_CUT_TREE_2 ; 51 - const SPRITE_ANIM_FRAME_IDX_CUT_TREE_3 ; 52 - const SPRITE_ANIM_FRAME_IDX_CUT_TREE_4 ; 53 - const SPRITE_ANIM_FRAME_IDX_EGG_CRACK ; 54 - const SPRITE_ANIM_FRAME_IDX_55 - const SPRITE_ANIM_FRAME_IDX_56 - const SPRITE_ANIM_FRAME_IDX_57 - const SPRITE_ANIM_FRAME_IDX_58 - const SPRITE_ANIM_FRAME_IDX_59 - const SPRITE_ANIM_FRAME_IDX_5A - const SPRITE_ANIM_FRAME_IDX_HEADBUTT_TREE_2 ; 5b - const SPRITE_ANIM_FRAME_IDX_5C - const SPRITE_ANIM_FRAME_IDX_5D - const SPRITE_ANIM_FRAME_IDX_5E - const SPRITE_ANIM_FRAME_IDX_5F - const SPRITE_ANIM_FRAME_IDX_60 - const SPRITE_ANIM_FRAME_IDX_61 - const SPRITE_ANIM_FRAME_IDX_62 - const SPRITE_ANIM_FRAME_IDX_BLUE_WALK_1 ; 63 - const SPRITE_ANIM_FRAME_IDX_BLUE_WALK_2 ; 64 - const SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_BLUE_1 ; 65 - const SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_BLUE_2 ; 66 - const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_22_1 ; 67 - const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_22_2 ; 68 - const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_1 ; 69 - const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_2 ; 6a - const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_3 ; 6b - const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_23 ; 6c - const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_24 ; 6d - const SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_1 ; 6e - const SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_2 ; 6f - const SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_3 ; 70 - const SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_4 ; 71 - const SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_1 ; 72 - const SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_2 ; 73 - const SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_3 ; 74 - const SPRITE_ANIM_FRAME_IDX_INTRO_WOOPER ; 75 - const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_1 ; 76 - const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_2 ; 77 - const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_3 ; 78 - const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_1 ; 79 - const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_2 ; 7a - const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_3 ; 7b - const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_4 ; 7c - const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_5 ; 7d - const SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_AWAY ; 7e - const SPRITE_ANIM_FRAME_IDX_CELEBI_1 ; 7f - const SPRITE_ANIM_FRAME_IDX_CELEBI_2 ; 80 - const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_1 ; 81 - const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_2 ; 82 - const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_3 ; 83 - const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_4 ; 84 - const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_5 ; 85 - const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_6 ; 86 - const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_7 ; 87 - const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_8 ; 88 - const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_9 ; 89 - const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_10 ; 8A - const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_11 ; 8B diff --git a/constants/std_constants.asm b/constants/std_constants.asm index 21fb6791f..06b0b4f2d 100644 --- a/constants/std_constants.asm +++ b/constants/std_constants.asm @@ -1,4 +1,4 @@ -; StdScripts indexes (see engine/std_scripts.asm) +; StdScripts indexes (see engine/events/std_scripts.asm) ; also used in TileCollisionStdScripts (see data/collision_stdscripts.asm) enum_start enum pokecenternurse diff --git a/constants/text_constants.asm b/constants/text_constants.asm new file mode 100644 index 000000000..d867c77f7 --- /dev/null +++ b/constants/text_constants.asm @@ -0,0 +1,41 @@ +; 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 +TRAINER_CLASS_NAME_LENGTH EQU 13 +NAME_LENGTH_JAPANESE EQU 6 + +; GetName types (see home/names.asm) +PKMN_NAME EQU 1 +MOVE_NAME EQU 2 +; dummied out EQU 3 +ITEM_NAME EQU 4 +PARTY_OT_NAME EQU 5 +ENEMY_OT_NAME EQU 6 +TRAINER_NAME EQU 7 +; broken ptr EQU 8 + +; see home/text.asm +BORDER_WIDTH EQU 2 +TEXTBOX_WIDTH EQU SCREEN_WIDTH +TEXTBOX_INNERW EQU TEXTBOX_WIDTH - BORDER_WIDTH +TEXTBOX_HEIGHT EQU 6 +TEXTBOX_INNERH EQU TEXTBOX_HEIGHT - BORDER_WIDTH +TEXTBOX_X EQU 0 +TEXTBOX_INNERX EQU TEXTBOX_X + 1 +TEXTBOX_Y EQU SCREEN_HEIGHT - TEXTBOX_HEIGHT +TEXTBOX_INNERY EQU TEXTBOX_Y + 2 + +; PrintNum bit flags +const_value set 5 + const PRINTNUM_MONEY_F ; 5 + const PRINTNUM_RIGHTALIGN_F ; 6 + const PRINTNUM_LEADINGZEROS_F ; 7 + +; PrintNum arguments (see engine/printnum.asm) +PRINTNUM_MONEY EQU 1 << PRINTNUM_MONEY_F +PRINTNUM_RIGHTALIGN EQU 1 << PRINTNUM_RIGHTALIGN_F +PRINTNUM_LEADINGZEROS EQU 1 << PRINTNUM_LEADINGZEROS_F diff --git a/constants/tileset_constants.asm b/constants/tileset_constants.asm index 6a73f61d9..722de0c2b 100644 --- a/constants/tileset_constants.asm +++ b/constants/tileset_constants.asm @@ -1,4 +1,4 @@ -; Tilesets indexes (see tilesets/tileset_headers.asm) +; Tilesets indexes (see tilesets/tilesets.asm) const_value SET 1 const TILESET_JOHTO_1 ; 01 const TILESET_JOHTO_2 ; 02 diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index c41a6ed58..2590ed34e 100644 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -5,12 +5,14 @@ ENDM ; trainer class ids ; `trainerclass` indexes are for: -; - TrainerClassAttributes (see data/trainers/trainer_attributes.asm) -; - TrainerClassDVs (see data/trainers/trainer_dvs.asm) -; - TrainerClassNames (see data/trainers/trainer_class_names.asm) -; - TrainerEncounterMusic (see data/trainers/encounter_music.asm) +; - TrainerClassNames (see data/trainers/class_names.asm) +; - TrainerClassAttributes (see data/trainers/attributes.asm) +; - TrainerClassDVs (see data/trainers/dvs.asm) ; - TrainerGroups (see data/trainers/party_pointers.asm) -; - BTTrainerClassGenders (see data/trainers/gendered_trainers.asm) +; - TrainerEncounterMusic (see data/trainers/encounter_music.asm) +; - TrainerPicPointers (see data/trainers/pic_pointers.asm) +; - TrainerPalettes (see data/trainers/palettes.asm) +; - BTTrainerClassGenders (see data/trainers/genders.asm) ; trainer constants are Trainers indexes, for the sub-tables of TrainerGroups (see data/trainers/parties.asm) enum_start CHRIS EQU __enum__ @@ -677,57 +679,3 @@ KRIS EQU __enum__ const EUSINE NUM_TRAINER_CLASSES EQU __enum__ - -; TrainerClassAttributes fields (see data/trainers/trainer_attributes.asm) - const_def - const TRNATTR_ITEM1 ; 0 - const TRNATTR_ITEM2 ; 1 - const TRNATTR_BASEMONEY ; 2 - const TRNATTR_AI_MOVE_WEIGHTS ; 3 - const TRNATTR_AI2 ; 4 - const TRNATTR_AI_ITEM_SWITCH ; 5 - const TRNATTR_AI4 ; 6 -NUM_TRAINER_ATTRIBUTES EQU const_value - -; TRNATTR_AI_MOVE_WEIGHTS bit flags (wEnemyTrainerAIFlags) - const_def - const NO_AI -const_value = 0 - shift_const AI_BASIC - shift_const AI_SETUP - shift_const AI_TYPES - shift_const AI_OFFENSIVE - shift_const AI_SMART - shift_const AI_OPPORTUNIST - shift_const AI_AGGRESSIVE - shift_const AI_CAUTIOUS - shift_const AI_STATUS - shift_const AI_RISKY - shift_const AI_10 - shift_const AI_11 - shift_const AI_12 - shift_const AI_13 - 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 TRAINERTYPE_NORMAL - const TRAINERTYPE_MOVES - const TRAINERTYPE_ITEM - const TRAINERTYPE_ITEM_MOVES diff --git a/constants/trainer_data_constants.asm b/constants/trainer_data_constants.asm new file mode 100644 index 000000000..2d87d8764 --- /dev/null +++ b/constants/trainer_data_constants.asm @@ -0,0 +1,53 @@ +; TrainerClassAttributes struct members (see data/trainers/attributes.asm) + const_def + const TRNATTR_ITEM1 ; 0 + const TRNATTR_ITEM2 ; 1 + const TRNATTR_BASEMONEY ; 2 + const TRNATTR_AI_MOVE_WEIGHTS ; 3 + const TRNATTR_AI2 ; 4 + const TRNATTR_AI_ITEM_SWITCH ; 5 + const TRNATTR_AI4 ; 6 +NUM_TRAINER_ATTRIBUTES EQU const_value + +; TRNATTR_AI_MOVE_WEIGHTS bit flags (wEnemyTrainerAIFlags) + const_def + const NO_AI +const_value = 0 + shift_const AI_BASIC + shift_const AI_SETUP + shift_const AI_TYPES + shift_const AI_OFFENSIVE + shift_const AI_SMART + shift_const AI_OPPORTUNIST + shift_const AI_AGGRESSIVE + shift_const AI_CAUTIOUS + shift_const AI_STATUS + shift_const AI_RISKY + shift_const AI_10 + shift_const AI_11 + shift_const AI_12 + shift_const AI_13 + 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 engine/battle/read_trainer_party.asm) + const_def + 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 6f389617b..c2cf2d709 100644 --- a/constants/type_constants.asm +++ b/constants/type_constants.asm @@ -1,6 +1,6 @@ -; TypeNames indexes (see text/types.asm) +; TypeNames indexes (see data/type_names.asm) ; also used in: -; - TypeMatchup (see battle.type_matchup.asm) +; - TypeMatchups (see data/type_matchups.asm) ; - Pokedex_SearchForMons.TypeConversionTable and Pokedex_PlaceSearchScreenTypeStrings.TypeStrings (see engine/pokedex.asm) const_def |