From 342791a001cecbfd8192ced7dd2478485d98fa45 Mon Sep 17 00:00:00 2001 From: yenatch Date: Mon, 1 Sep 2014 17:59:10 -0700 Subject: Use a macro for move attributes. The formatting was pretty bad, so that's fixed too. --- macros.asm | 3 +++ 1 file changed, 3 insertions(+) (limited to 'macros.asm') diff --git a/macros.asm b/macros.asm index 8244c8c9..52518d47 100644 --- a/macros.asm +++ b/macros.asm @@ -11,6 +11,9 @@ page EQUS "db $49," ; Start a new Pokedex page. dex EQUS "db $5f, $50" ; End a Pokedex entry. +percent EQUS "* $ff / 100" + + homecall: MACRO ld a, [H_LOADEDROMBANK] push af -- cgit v1.3.1-sl0p From 29aff84107a6463a94f0d7d81de8a1603e0d741f Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 17 Sep 2014 12:35:51 -0700 Subject: Enumerate move constants and add unnamed animation constants. --- constants/move_constants.asm | 390 +++++++++++++++++++++++-------------------- macros.asm | 11 ++ 2 files changed, 219 insertions(+), 182 deletions(-) (limited to 'macros.asm') diff --git a/constants/move_constants.asm b/constants/move_constants.asm index 816bd115..0899c594 100644 --- a/constants/move_constants.asm +++ b/constants/move_constants.asm @@ -1,184 +1,210 @@ -NUM_ATTACKS EQU $A4 +const_value = 1 -POUND EQU $01 -KARATE_CHOP EQU $02 -DOUBLESLAP EQU $03 -COMET_PUNCH EQU $04 -MEGA_PUNCH EQU $05 -PAY_DAY EQU $06 -FIRE_PUNCH EQU $07 -ICE_PUNCH EQU $08 -THUNDERPUNCH EQU $09 -SCRATCH EQU $0A -VICEGRIP EQU $0B -GUILLOTINE EQU $0C -RAZOR_WIND EQU $0D -SWORDS_DANCE EQU $0E -CUT EQU $0F -GUST EQU $10 -WING_ATTACK EQU $11 -WHIRLWIND EQU $12 -FLY EQU $13 -BIND EQU $14 -SLAM EQU $15 -VINE_WHIP EQU $16 -STOMP EQU $17 -DOUBLE_KICK EQU $18 -MEGA_KICK EQU $19 -JUMP_KICK EQU $1A -ROLLING_KICK EQU $1B -SAND_ATTACK EQU $1C -HEADBUTT EQU $1D -HORN_ATTACK EQU $1E -FURY_ATTACK EQU $1F -HORN_DRILL EQU $20 -TACKLE EQU $21 -BODY_SLAM EQU $22 -WRAP EQU $23 -TAKE_DOWN EQU $24 -THRASH EQU $25 -DOUBLE_EDGE EQU $26 -TAIL_WHIP EQU $27 -POISON_STING EQU $28 -TWINEEDLE EQU $29 -PIN_MISSILE EQU $2A -LEER EQU $2B -BITE EQU $2C -GROWL EQU $2D -ROAR EQU $2E -SING EQU $2F -SUPERSONIC EQU $30 -SONICBOOM EQU $31 -DISABLE EQU $32 -ACID EQU $33 -EMBER EQU $34 -FLAMETHROWER EQU $35 -MIST EQU $36 -WATER_GUN EQU $37 -HYDRO_PUMP EQU $38 -SURF EQU $39 -ICE_BEAM EQU $3A -BLIZZARD EQU $3B -PSYBEAM EQU $3C -BUBBLEBEAM EQU $3D -AURORA_BEAM EQU $3E -HYPER_BEAM EQU $3F -PECK EQU $40 -DRILL_PECK EQU $41 -SUBMISSION EQU $42 -LOW_KICK EQU $43 -COUNTER EQU $44 -SEISMIC_TOSS EQU $45 -STRENGTH EQU $46 -ABSORB EQU $47 -MEGA_DRAIN EQU $48 -LEECH_SEED EQU $49 -GROWTH EQU $4A -RAZOR_LEAF EQU $4B -SOLARBEAM EQU $4C -POISONPOWDER EQU $4D -STUN_SPORE EQU $4E -SLEEP_POWDER EQU $4F -PETAL_DANCE EQU $50 -STRING_SHOT EQU $51 -DRAGON_RAGE EQU $52 -FIRE_SPIN EQU $53 -THUNDERSHOCK EQU $54 -THUNDERBOLT EQU $55 -THUNDER_WAVE EQU $56 -THUNDER EQU $57 -ROCK_THROW EQU $58 -EARTHQUAKE EQU $59 -FISSURE EQU $5A -DIG EQU $5B -TOXIC EQU $5C -CONFUSION EQU $5D -PSYCHIC_M EQU $5E -HYPNOSIS EQU $5F -MEDITATE EQU $60 -AGILITY EQU $61 -QUICK_ATTACK EQU $62 -RAGE EQU $63 -TELEPORT EQU $64 -NIGHT_SHADE EQU $65 -MIMIC EQU $66 -SCREECH EQU $67 -DOUBLE_TEAM EQU $68 -RECOVER EQU $69 -HARDEN EQU $6A -MINIMIZE EQU $6B -SMOKESCREEN EQU $6C -CONFUSE_RAY EQU $6D -WITHDRAW EQU $6E -DEFENSE_CURL EQU $6F -BARRIER EQU $70 -LIGHT_SCREEN EQU $71 -HAZE EQU $72 -REFLECT EQU $73 -FOCUS_ENERGY EQU $74 -BIDE EQU $75 -METRONOME EQU $76 -MIRROR_MOVE EQU $77 -SELFDESTRUCT EQU $78 -EGG_BOMB EQU $79 -LICK EQU $7A -SMOG EQU $7B -SLUDGE EQU $7C -BONE_CLUB EQU $7D -FIRE_BLAST EQU $7E -WATERFALL EQU $7F -CLAMP EQU $80 -SWIFT EQU $81 -SKULL_BASH EQU $82 -SPIKE_CANNON EQU $83 -CONSTRICT EQU $84 -AMNESIA EQU $85 -KINESIS EQU $86 -SOFTBOILED EQU $87 -HI_JUMP_KICK EQU $88 -GLARE EQU $89 -DREAM_EATER EQU $8A -POISON_GAS EQU $8B -BARRAGE EQU $8C -LEECH_LIFE EQU $8D -LOVELY_KISS EQU $8E -SKY_ATTACK EQU $8F -TRANSFORM EQU $90 -BUBBLE EQU $91 -DIZZY_PUNCH EQU $92 -SPORE EQU $93 -FLASH EQU $94 -PSYWAVE EQU $95 -SPLASH EQU $96 -ACID_ARMOR EQU $97 -CRABHAMMER EQU $98 -EXPLOSION EQU $99 -FURY_SWIPES EQU $9A -BONEMERANG EQU $9B -REST EQU $9C -ROCK_SLIDE EQU $9D -HYPER_FANG EQU $9E -SHARPEN EQU $9F -CONVERSION EQU $A0 -TRI_ATTACK EQU $A1 -SUPER_FANG EQU $A2 -SLASH EQU $A3 -SUBSTITUTE EQU $A4 -STRUGGLE EQU $A5 + const POUND + const KARATE_CHOP + const DOUBLESLAP + const COMET_PUNCH + const MEGA_PUNCH + const PAY_DAY + const FIRE_PUNCH + const ICE_PUNCH + const THUNDERPUNCH + const SCRATCH + const VICEGRIP + const GUILLOTINE + const RAZOR_WIND + const SWORDS_DANCE + const CUT + const GUST + const WING_ATTACK + const WHIRLWIND + const FLY + const BIND + const SLAM + const VINE_WHIP + const STOMP + const DOUBLE_KICK + const MEGA_KICK + const JUMP_KICK + const ROLLING_KICK + const SAND_ATTACK + const HEADBUTT + const HORN_ATTACK + const FURY_ATTACK + const HORN_DRILL + const TACKLE + const BODY_SLAM + const WRAP + const TAKE_DOWN + const THRASH + const DOUBLE_EDGE + const TAIL_WHIP + const POISON_STING + const TWINEEDLE + const PIN_MISSILE + const LEER + const BITE + const GROWL + const ROAR + const SING + const SUPERSONIC + const SONICBOOM + const DISABLE + const ACID + const EMBER + const FLAMETHROWER + const MIST + const WATER_GUN + const HYDRO_PUMP + const SURF + const ICE_BEAM + const BLIZZARD + const PSYBEAM + const BUBBLEBEAM + const AURORA_BEAM + const HYPER_BEAM + const PECK + const DRILL_PECK + const SUBMISSION + const LOW_KICK + const COUNTER + const SEISMIC_TOSS + const STRENGTH + const ABSORB + const MEGA_DRAIN + const LEECH_SEED + const GROWTH + const RAZOR_LEAF + const SOLARBEAM + const POISONPOWDER + const STUN_SPORE + const SLEEP_POWDER + const PETAL_DANCE + const STRING_SHOT + const DRAGON_RAGE + const FIRE_SPIN + const THUNDERSHOCK + const THUNDERBOLT + const THUNDER_WAVE + const THUNDER + const ROCK_THROW + const EARTHQUAKE + const FISSURE + const DIG + const TOXIC + const CONFUSION + const PSYCHIC_M + const HYPNOSIS + const MEDITATE + const AGILITY + const QUICK_ATTACK + const RAGE + const TELEPORT + const NIGHT_SHADE + const MIMIC + const SCREECH + const DOUBLE_TEAM + const RECOVER + const HARDEN + const MINIMIZE + const SMOKESCREEN + const CONFUSE_RAY + const WITHDRAW + const DEFENSE_CURL + const BARRIER + const LIGHT_SCREEN + const HAZE + const REFLECT + const FOCUS_ENERGY + const BIDE + const METRONOME + const MIRROR_MOVE + const SELFDESTRUCT + const EGG_BOMB + const LICK + const SMOG + const SLUDGE + const BONE_CLUB + const FIRE_BLAST + const WATERFALL + const CLAMP + const SWIFT + const SKULL_BASH + const SPIKE_CANNON + const CONSTRICT + const AMNESIA + const KINESIS + const SOFTBOILED + const HI_JUMP_KICK + const GLARE + const DREAM_EATER + const POISON_GAS + const BARRAGE + const LEECH_LIFE + const LOVELY_KISS + const SKY_ATTACK + const TRANSFORM + const BUBBLE + const DIZZY_PUNCH + const SPORE + const FLASH + const PSYWAVE + const SPLASH + const ACID_ARMOR + const CRABHAMMER + const EXPLOSION + const FURY_SWIPES + const BONEMERANG + const REST + const ROCK_SLIDE + const HYPER_FANG + const SHARPEN + const CONVERSION + const TRI_ATTACK + const SUPER_FANG + const SLASH + const SUBSTITUTE -; these do double duty as animation identifiers -SHOWPIC_ANIM EQU $A6 ; redraw monster pic -STATUS_AFFECTED_ANIM EQU $A7 ; effect when monster receives a status aliment -XSTATITEM_ANIM EQU $AE ; use X Attack/Defense/Speed/Special -BURN_PSN_ANIM EQU $BA ; Plays when a monster is burned or poisoned -SLP_ANIM EQU $BD ; sleeping monster -CONF_ANIM EQU $BF ; confused monster -TOSS_ANIM EQU $C1 ; toss Poké Ball -SHAKE_ANIM EQU $C2 ; shaking Poké Ball when catching monster -POOF_ANIM EQU $C3 ; puff of smoke -BLOCKBALL_ANIM EQU $C4 ; trainer knocks away Poké Ball -GREATTOSS_ANIM EQU $C5 ; toss Great Ball -ULTRATOSS_ANIM EQU $C6 ; toss Ultra Ball or Master Ball -HIDEPIC_ANIM EQU $C8 ; monster disappears -ROCK_ANIM EQU $C9 ; throw rock -BAIT_ANIM EQU $CA ; throw bait +NUM_ATTACKS EQU const_value + -1 + + const STRUGGLE + + ; Moves do double duty as animation identifiers. + + const SHOWPIC_ANIM + const STATUS_AFFECTED_ANIM + const ANIM_A8 + const ANIM_A9 + const ANIM_AA + const ANIM_AB + const ANIM_AC + const ANIM_AD + const XSTATITEM_ANIM ; use X Attack/Defense/Speed/Special + const ANIM_AF + const ANIM_B0 + const ANIM_B1 + const ANIM_B2 + const ANIM_B3 + const ANIM_B4 + const ANIM_B5 + const ANIM_B6 + const ANIM_B7 + const ANIM_B8 + const ANIM_B9 + const BURN_PSN_ANIM ; Plays when a monster is burned or poisoned + const ANIM_BB + const ANIM_BC + const SLP_ANIM ; sleeping monster + const ANIM_BE + const CONF_ANIM ; confused monster + const ANIM_C0 + const TOSS_ANIM ; toss Poké Ball + const SHAKE_ANIM ; shaking Poké Ball when catching monster + const POOF_ANIM ; puff of smoke + const BLOCKBALL_ANIM ; trainer knocks away Poké Ball + const GREATTOSS_ANIM ; toss Great Ball + const ULTRATOSS_ANIM ; toss Ultra Ball or Master Ball + const ANIM_C7 + const HIDEPIC_ANIM ; monster disappears + const ROCK_ANIM ; throw rock + const BAIT_ANIM ; throw bait diff --git a/macros.asm b/macros.asm index 52518d47..ca2dc82d 100644 --- a/macros.asm +++ b/macros.asm @@ -14,6 +14,17 @@ dex EQUS "db $5f, $50" ; End a Pokedex entry. percent EQUS "* $ff / 100" +; Constant enumeration is useful for monsters, items, moves, etc. +const_def: MACRO +const_value = 0 +ENDM + +const: MACRO +\1 EQU const_value +const_value = const_value + 1 +ENDM + + homecall: MACRO ld a, [H_LOADEDROMBANK] push af -- cgit v1.3.1-sl0p From d59dfadf66926ea0c7b5f8bbeaa9b83ee7bb3cb5 Mon Sep 17 00:00:00 2001 From: yenatch Date: Wed, 17 Sep 2014 21:15:11 -0700 Subject: Add macros for text predefs. --- home.asm | 132 ++++++++++++++++++++++++++++++------------------------------- macros.asm | 18 +++++++++ 2 files changed, 84 insertions(+), 66 deletions(-) (limited to 'macros.asm') diff --git a/home.asm b/home.asm index 7b5c8c6b..26ce6341 100644 --- a/home.asm +++ b/home.asm @@ -4656,69 +4656,69 @@ Func_3f0f:: ; 3f0f (0:3f0f) ret TextPredefs:: - dw CardKeySuccessText ; 01 - dw CardKeyFailText ; 02 - dw RedBedroomPC ; 03 - dw RedBedroomSNESText ; 04 - dw PushStartText ; 05 - dw SaveOptionText ; 06 - dw StrengthsAndWeaknessesText ; 07 - dw OakLabEmailText ; 08 - dw AerodactylFossilText ; 09 - dw Route15UpstairsBinocularsText ; 0A - dw KabutopsFossilText ; 0B - dw GymStatueText1 ; 0C - dw GymStatueText2 ; 0D - dw BookcaseText ; 0E - dw ViridianCityPokecenterBenchGuyText ; 0F - dw PewterCityPokecenterBenchGuyText ; 10 - dw CeruleanCityPokecenterBenchGuyText ; 11 - dw LavenderCityPokecenterBenchGuyText ; 12 - dw VermilionCityPokecenterBenchGuyText ; 13 - dw CeladonCityPokecenterBenchGuyText ; 14 - dw CeladonCityHotelText ; 15 - dw FuchsiaCityPokecenterBenchGuyText ; 16 - dw CinnabarIslandPokecenterBenchGuyText ; 17 - dw SaffronCityPokecenterBenchGuyText ; 18 - dw MtMoonPokecenterBenchGuyText ; 19 - dw RockTunnelPokecenterBenchGuyText ; 1A - dw UnusedBenchGuyText1 ; 1B - dw UnusedBenchGuyText2 ; 1C - dw UnusedBenchGuyText3 ; 1D - dw TerminatorText_62508 ; 1E - dw PredefText1f ; 1F - dw ViridianSchoolNotebook ; 20 - dw ViridianSchoolBlackboard ; 21 - dw JustAMomentText ; 22 - dw PredefText23 ; 23 - dw FoundHiddenItemText ; 24 - dw HiddenItemBagFullText ; 25 - dw VermilionGymTrashText ; 26 - dw IndigoPlateauHQText ; 27 - dw GameCornerOutOfOrderText ; 28 - dw GameCornerOutToLunchText ; 29 - dw GameCornerSomeonesKeysText ; 2A - dw FoundHiddenCoinsText ; 2B - dw DroppedHiddenCoinsText ; 2C - dw BillsHouseMonitorText ; 2D - dw BillsHouseInitiatedText ; 2E - dw BillsHousePokemonList ; 2F - dw MagazinesText ; 30 - dw CinnabarGymQuiz ; 31 - dw GameCornerNoCoinsText ; 32 - dw GameCornerCoinCaseText ; 33 - dw LinkCableHelp ; 34 - dw TMNotebook ; 35 - dw FightingDojoText ; 36 - dw FightingDojoText_52a10 ; 37 - dw FightingDojoText_52a1d ; 38 - dw NewBicycleText ; 39 - dw IndigoPlateauStatues ; 3A - dw VermilionGymTrashSuccesText1 ; 3B - dw VermilionGymTrashSuccesText2 ; 3C - dw VermilionGymTrashSuccesText3 ; 3D - dw VermilionGymTrashFailText ; 3E - dw TownMapText ; 3F - dw BookOrSculptureText ; 40 - dw ElevatorText ; 41 - dw PokemonStuffText ; 42 + add_tx_pre CardKeySuccessText ; 01 + add_tx_pre CardKeyFailText ; 02 + add_tx_pre RedBedroomPC ; 03 + add_tx_pre RedBedroomSNESText ; 04 + add_tx_pre PushStartText ; 05 + add_tx_pre SaveOptionText ; 06 + add_tx_pre StrengthsAndWeaknessesText ; 07 + add_tx_pre OakLabEmailText ; 08 + add_tx_pre AerodactylFossilText ; 09 + add_tx_pre Route15UpstairsBinocularsText ; 0A + add_tx_pre KabutopsFossilText ; 0B + add_tx_pre GymStatueText1 ; 0C + add_tx_pre GymStatueText2 ; 0D + add_tx_pre BookcaseText ; 0E + add_tx_pre ViridianCityPokecenterBenchGuyText ; 0F + add_tx_pre PewterCityPokecenterBenchGuyText ; 10 + add_tx_pre CeruleanCityPokecenterBenchGuyText ; 11 + add_tx_pre LavenderCityPokecenterBenchGuyText ; 12 + add_tx_pre VermilionCityPokecenterBenchGuyText ; 13 + add_tx_pre CeladonCityPokecenterBenchGuyText ; 14 + add_tx_pre CeladonCityHotelText ; 15 + add_tx_pre FuchsiaCityPokecenterBenchGuyText ; 16 + add_tx_pre CinnabarIslandPokecenterBenchGuyText ; 17 + add_tx_pre SaffronCityPokecenterBenchGuyText ; 18 + add_tx_pre MtMoonPokecenterBenchGuyText ; 19 + add_tx_pre RockTunnelPokecenterBenchGuyText ; 1A + add_tx_pre UnusedBenchGuyText1 ; 1B + add_tx_pre UnusedBenchGuyText2 ; 1C + add_tx_pre UnusedBenchGuyText3 ; 1D + add_tx_pre TerminatorText_62508 ; 1E + add_tx_pre PredefText1f ; 1F + add_tx_pre ViridianSchoolNotebook ; 20 + add_tx_pre ViridianSchoolBlackboard ; 21 + add_tx_pre JustAMomentText ; 22 + add_tx_pre PredefText23 ; 23 + add_tx_pre FoundHiddenItemText ; 24 + add_tx_pre HiddenItemBagFullText ; 25 + add_tx_pre VermilionGymTrashText ; 26 + add_tx_pre IndigoPlateauHQText ; 27 + add_tx_pre GameCornerOutOfOrderText ; 28 + add_tx_pre GameCornerOutToLunchText ; 29 + add_tx_pre GameCornerSomeonesKeysText ; 2A + add_tx_pre FoundHiddenCoinsText ; 2B + add_tx_pre DroppedHiddenCoinsText ; 2C + add_tx_pre BillsHouseMonitorText ; 2D + add_tx_pre BillsHouseInitiatedText ; 2E + add_tx_pre BillsHousePokemonList ; 2F + add_tx_pre MagazinesText ; 30 + add_tx_pre CinnabarGymQuiz ; 31 + add_tx_pre GameCornerNoCoinsText ; 32 + add_tx_pre GameCornerCoinCaseText ; 33 + add_tx_pre LinkCableHelp ; 34 + add_tx_pre TMNotebook ; 35 + add_tx_pre FightingDojoText ; 36 + add_tx_pre FightingDojoText_52a10 ; 37 + add_tx_pre FightingDojoText_52a1d ; 38 + add_tx_pre NewBicycleText ; 39 + add_tx_pre IndigoPlateauStatues ; 3A + add_tx_pre VermilionGymTrashSuccesText1 ; 3B + add_tx_pre VermilionGymTrashSuccesText2 ; 3C + add_tx_pre VermilionGymTrashSuccesText3 ; 3D + add_tx_pre VermilionGymTrashFailText ; 3E + add_tx_pre TownMapText ; 3F + add_tx_pre BookOrSculptureText ; 40 + add_tx_pre ElevatorText ; 41 + add_tx_pre PokemonStuffText ; 42 diff --git a/macros.asm b/macros.asm index ca2dc82d..f219d25c 100644 --- a/macros.asm +++ b/macros.asm @@ -203,6 +203,24 @@ predef_jump: MACRO ENDM +add_tx_pre: MACRO +\1_id:: dw \1 +ENDM + +tx_pre_id: MACRO + ld a, (\1_id - TextPredefs) / 2 +ENDM + +tx_pre: MACRO + tx_pre_id \1 + call PrintPredefTextID +ENDM + +tx_pre_jump: MACRO + tx_pre_id \1 + jp PrintPredefTextID +ENDM + ;1_channel EQU $00 ;2_channels EQU $40 -- cgit v1.3.1-sl0p