summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorentrpntr <entrpntr@gmail.com>2020-05-14 19:17:51 -0400
committerentrpntr <entrpntr@gmail.com>2020-05-14 19:44:36 -0400
commit3185d4b3601f89e550a895a93c7a411e4c846889 (patch)
treed7fa5c913db937143ba6347b594b4eae9a66513c
parent6c4c421f18fa5ed8f42c260d17edb8ea52ba8112 (diff)
Clean up battle anims, constants, and wram.
-rw-r--r--constants/battle_anim_constants.asm6
-rw-r--r--constants/event_flags.asm97
-rw-r--r--constants/scgb_constants.asm2
-rw-r--r--constants/script_constants.asm9
-rw-r--r--constants/sprite_anim_constants.asm1
-rw-r--r--constants/wram_constants.asm37
-rw-r--r--data/moves/animations.asm217
-rw-r--r--engine/battle/core.asm2
-rw-r--r--engine/menus/intro_menu.asm2
-rw-r--r--home/battle.asm2
-rwxr-xr-xmacros/scripts/trade_anims.asm276
-rw-r--r--main.asm6
-rw-r--r--maps/GoldenrodUndergroundWarehouse.asm4
-rw-r--r--wram.asm62
14 files changed, 371 insertions, 352 deletions
diff --git a/constants/battle_anim_constants.asm b/constants/battle_anim_constants.asm
index bd5036d6..1b57b240 100644
--- a/constants/battle_anim_constants.asm
+++ b/constants/battle_anim_constants.asm
@@ -25,6 +25,10 @@
const BATTLEANIMSTRUCT_16
const BATTLEANIMSTRUCT_17
BATTLEANIMSTRUCT_LENGTH EQU const_value
+NUM_ANIM_OBJECTS EQU 10 ; see wActiveAnimObjects
+
+; Start tile for battle animation graphics
+BATTLEANIM_BASE_TILE EQU 7 * 7 ; Maximum size of a pokemon picture
; BattleAnimObjects indexes (see data/battle_anims/objects.asm)
const_def
@@ -810,6 +814,8 @@ BATTLEANIMSTRUCT_LENGTH EQU const_value
const BG_EFFECT_STRUCT_JT_INDEX
const BG_EFFECT_STRUCT_BATTLE_TURN
const BG_EFFECT_STRUCT_03
+BG_EFFECT_STRUCT_LENGTH EQU const_value
+NUM_BG_EFFECTS EQU 5 ; see wActiveBGEffects
; battle palettes
const_def
diff --git a/constants/event_flags.asm b/constants/event_flags.asm
index a73f1e9b..2aa6bf22 100644
--- a/constants/event_flags.asm
+++ b/constants/event_flags.asm
@@ -1,8 +1,7 @@
-
+; wEventFlags bit flags
const_def
-
-; These first eight flags are reset upon reloading the map.
- const EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1 ; 000
+; The first eight flags are reset upon reloading the map
+ const EVENT_TEMPORARY_UNTIL_MAP_RELOAD_1
const EVENT_TEMPORARY_UNTIL_MAP_RELOAD_2
const EVENT_TEMPORARY_UNTIL_MAP_RELOAD_3
const EVENT_TEMPORARY_UNTIL_MAP_RELOAD_4
@@ -10,7 +9,7 @@
const EVENT_TEMPORARY_UNTIL_MAP_RELOAD_6
const EVENT_TEMPORARY_UNTIL_MAP_RELOAD_7
const EVENT_TEMPORARY_UNTIL_MAP_RELOAD_8
-; Johto story events
+; Johto Gym Leader TM gifts
const EVENT_GOT_TM31_MUD_SLAP
const EVENT_GOT_TM49_FURY_CUTTER
const EVENT_GOT_TM01_DYNAMICPUNCH
@@ -19,23 +18,26 @@
const EVENT_GOT_TM23_IRON_TAIL
const EVENT_GOT_TM16_ICY_WIND
const EVENT_GOT_TM24_DRAGONBREATH
- const EVENT_GOT_HM01_CUT
+; HMs (EVENT_GOT_HM07_WATERFALL is with the Johto itemballs)
+ const EVENT_GOT_HM01_CUT ; 010
const EVENT_GOT_HM02_FLY
const EVENT_GOT_HM03_SURF
const EVENT_GOT_HM04_STRENGTH
const EVENT_GOT_HM05_FLASH
const EVENT_GOT_HM06_WHIRLPOOL
- const EVENT_016
+ const EVENT_016 ; unused
+; Rods
const EVENT_GOT_OLD_ROD
const EVENT_GOT_GOOD_ROD
const EVENT_GOT_SUPER_ROD
+; Johto story events
const EVENT_GOT_A_POKEMON_FROM_ELM
const EVENT_GOT_CYNDAQUIL_FROM_ELM
const EVENT_GOT_TOTODILE_FROM_ELM
const EVENT_GOT_CHIKORITA_FROM_ELM
const EVENT_GOT_MYSTERY_EGG_FROM_MR_POKEMON
const EVENT_GAVE_MYSTERY_EGG_TO_ELM
- const EVENT_JASMINE_RETURNED_TO_GYM
+ const EVENT_JASMINE_RETURNED_TO_GYM ; 020
const EVENT_CLEARED_RADIO_TOWER
const EVENT_CLEARED_ROCKET_HIDEOUT
const EVENT_GOT_SECRETPOTION_FROM_PHARMACY
@@ -51,7 +53,7 @@
const EVENT_GOT_TOGEPI_EGG_FROM_ELMS_AIDE
const EVENT_MADE_UNOWN_APPEAR_IN_RUINS
const EVENT_FAST_SHIP_DESTINATION_OLIVINE
- const EVENT_FAST_SHIP_FIRST_TIME
+ const EVENT_FAST_SHIP_FIRST_TIME ; 030
const EVENT_FAST_SHIP_HAS_ARRIVED
const EVENT_FAST_SHIP_FOUND_GIRL
const EVENT_FAST_SHIP_LAZY_SAILOR
@@ -62,8 +64,8 @@
const EVENT_LAKE_OF_RAGE_EXPLAINED_WEIRD_MAGIKARP
const EVENT_LAKE_OF_RAGE_ASKED_FOR_MAGIKARP
const EVENT_LAKE_OF_RAGE_ELIXIR_ON_STANDBY
- const EVENT_03B
- const EVENT_03C
+ const EVENT_03B ; unused
+ const EVENT_03C ; unused
const EVENT_HEALED_MOOMOO
const EVENT_GOT_TM13_SNORE_FROM_MOOMOO_FARM
const EVENT_TALKED_TO_FARMER_ABOUT_MOOMOO
@@ -114,8 +116,8 @@
const EVENT_MET_SANTOS_OF_SATURDAY
const EVENT_GOT_SPELL_TAG_FROM_SANTOS
const EVENT_MET_MONICA_OF_MONDAY
- const EVENT_GOT_SHARP_BEAK_FROM_MONICA ; 070
- const EVENT_GOT_SOFT_SAND_FROM_KATE
+ const EVENT_GOT_SHARP_BEAK_FROM_MONICA
+ const EVENT_GOT_SOFT_SAND_FROM_KATE ; 070
const EVENT_GOT_METAL_COAT_FROM_GRANDPA_ON_SS_AQUA
const EVENT_GOT_BLACKGLASSES_IN_DARK_CAVE
const EVENT_GOT_KINGS_ROCK_IN_SLOWPOKE_WELL
@@ -128,7 +130,7 @@
const EVENT_GOT_TM12_SWEET_SCENT
const EVENT_RELEASED_THE_BEASTS
const EVENT_GOT_MASTER_BALL_FROM_ELM
-; Johto Signpost Items
+; Johto hidden items
const EVENT_TIN_TOWER_4F_HIDDEN_MAX_POTION
const EVENT_TIN_TOWER_5F_HIDDEN_FULL_RESTORE
const EVENT_TIN_TOWER_5F_HIDDEN_CARBOS
@@ -148,7 +150,7 @@
const EVENT_GOLDENROD_UNDERGROUND_HIDDEN_ANTIDOTE
const EVENT_GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES_HIDDEN_MAX_POTION
const EVENT_GOLDENROD_UNDERGROUND_SWITCH_ROOM_ENTRANCES_HIDDEN_REVIVE
- const EVENT_MOUNT_MORTAR_1F_OUTSIDE_HIDDEN_HYPER_POTION
+ const EVENT_MOUNT_MORTAR_1F_OUTSIDE_HIDDEN_HYPER_POTION ; 090
const EVENT_MOUNT_MORTAR_1F_INSIDE_HIDDEN_MAX_REPEL
const EVENT_MOUNT_MORTAR_2F_INSIDE_HIDDEN_FULL_RESTORE
const EVENT_MOUNT_MORTAR_B1F_HIDDEN_MAX_REVIVE
@@ -164,7 +166,7 @@
const EVENT_DARK_CAVE_VIOLET_ENTRANCE_HIDDEN_ELIXER
const EVENT_VICTORY_ROAD_HIDDEN_MAX_POTION
const EVENT_VICTORY_ROAD_HIDDEN_FULL_HEAL
- const EVENT_DRAGONS_DEN_B1F_HIDDEN_REVIVE
+ const EVENT_DRAGONS_DEN_B1F_HIDDEN_REVIVE ; 0a0
const EVENT_DRAGONS_DEN_B1F_HIDDEN_MAX_POTION
const EVENT_DRAGONS_DEN_B1F_HIDDEN_MAX_ELIXER
const EVENT_ROUTE_28_HIDDEN_RARE_CANDY
@@ -180,7 +182,7 @@
const EVENT_ROUTE_42_HIDDEN_MAX_POTION
const EVENT_ROUTE_44_HIDDEN_ELIXER
const EVENT_ROUTE_45_HIDDEN_PP_UP
- const EVENT_VIOLET_CITY_HIDDEN_HYPER_POTION
+ const EVENT_VIOLET_CITY_HIDDEN_HYPER_POTION ; 0b0
const EVENT_AZALEA_TOWN_HIDDEN_FULL_HEAL
const EVENT_CIANWOOD_CITY_HIDDEN_REVIVE
const EVENT_CIANWOOD_CITY_HIDDEN_MAX_ETHER
@@ -197,8 +199,9 @@
const EVENT_GOT_DRATINI
const EVENT_CAN_GIVE_GS_BALL_TO_KURT
const EVENT_GAVE_GS_BALL_TO_KURT
- const EVENT_FOREST_IS_RESTLESS
+ const EVENT_FOREST_IS_RESTLESS ; 0c0
const EVENT_ANSWERED_DRAGON_MASTER_QUIZ_WRONG
+; Unused
const EVENT_0C2
const EVENT_0C3
const EVENT_0C4
@@ -214,7 +217,7 @@
const EVENT_RESTORED_POWER_TO_KANTO
const EVENT_GOT_COINS_FROM_GAMBLER_AT_CELADON
const EVENT_MET_COPYCAT_FOUND_OUT_ABOUT_LOST_ITEM
- const EVENT_RETURNED_LOST_ITEM_TO_COPYCAT
+ const EVENT_RETURNED_LOST_ITEM_TO_COPYCAT ; 0d0
const EVENT_GOT_PASS_FROM_COPYCAT
const EVENT_GOT_LOST_ITEM_FROM_FAN_CLUB
const EVENT_LISTENED_TO_FAN_CLUB_PRESIDENT_BUT_BAG_WAS_FULL
@@ -230,11 +233,11 @@
const EVENT_GOT_TM06_TOXIC
const EVENT_GOT_UP_GRADE
const EVENT_GOT_TM07_ZAP_CANNON
- const EVENT_GOT_TM42_DREAM_EATER
+ const EVENT_GOT_TM42_DREAM_EATER ; 0e0
const EVENT_TALKED_TO_OAK_IN_KANTO
const EVENT_GOT_HP_UP_FROM_VERMILION_GUY
const EVENT_GOT_TM29_PSYCHIC
-; Kanto Signpost Items
+; Kanto hidden items
const EVENT_DIGLETTS_CAVE_HIDDEN_MAX_REVIVE
const EVENT_UNDERGROUND_PATH_HIDDEN_FULL_RESTORE
const EVENT_UNDERGROUND_PATH_HIDDEN_X_SPECIAL
@@ -247,7 +250,7 @@
const EVENT_ROUTE_2_HIDDEN_MAX_ETHER
const EVENT_ROUTE_2_HIDDEN_FULL_HEAL
const EVENT_ROUTE_2_HIDDEN_FULL_RESTORE
- const EVENT_ROUTE_2_HIDDEN_REVIVE
+ const EVENT_ROUTE_2_HIDDEN_REVIVE ; 0f0
const EVENT_ROUTE_4_HIDDEN_ULTRA_BALL
const EVENT_ROUTE_9_HIDDEN_ETHER
const EVENT_ROUTE_12_HIDDEN_ELIXER
@@ -263,12 +266,12 @@
const EVENT_CELADON_CITY_HIDDEN_PP_UP
const EVENT_CINNABAR_ISLAND_HIDDEN_RARE_CANDY
const EVENT_BURNED_TOWER_1F_HIDDEN_ULTRA_BALL
- const EVENT_GINA_GAVE_LEAF_STONE
+ const EVENT_GINA_GAVE_LEAF_STONE ; 100
const EVENT_ALAN_GAVE_FIRE_STONE
const EVENT_DANA_GAVE_THUNDERSTONE
const EVENT_TULLY_GAVE_WATER_STONE
const EVENT_TIFFANY_GAVE_PINK_BOW
-; ???
+; Unused
const EVENT_105
const EVENT_106
const EVENT_107
@@ -608,7 +611,7 @@
const EVENT_255
const EVENT_256
const EVENT_257
-; Kurt events
+; Kurt Apricorn events
const EVENT_GAVE_KURT_RED_APRICORN
const EVENT_GAVE_KURT_BLU_APRICORN
const EVENT_GAVE_KURT_YLW_APRICORN
@@ -618,7 +621,7 @@
const EVENT_GAVE_KURT_PNK_APRICORN
; Phone events
const EVENT_JACK_ASKED_FOR_PHONE_NUMBER
- const EVENT_JACK_READY_FOR_REMATCH
+ const EVENT_JACK_READY_FOR_REMATCH ; 0260
const EVENT_BEVERLY_ASKED_FOR_PHONE_NUMBER
const EVENT_BEVERLY_READY_FOR_REMATCH
const EVENT_HUEY_ASKED_FOR_PHONE_NUMBER
@@ -634,7 +637,7 @@
const EVENT_BETH_ASKED_FOR_PHONE_NUMBER
const EVENT_BETH_READY_FOR_REMATCH
const EVENT_JOSE_ASKED_FOR_PHONE_NUMBER
- const EVENT_JOSE_READY_FOR_REMATCH
+ const EVENT_JOSE_READY_FOR_REMATCH ; 0270
const EVENT_REENA_ASKED_FOR_PHONE_NUMBER
const EVENT_REENA_READY_FOR_REMATCH
const EVENT_JOEY_ASKED_FOR_PHONE_NUMBER
@@ -657,8 +660,8 @@
const EVENT_ARNIE_READY_FOR_REMATCH
const EVENT_ALAN_ASKED_FOR_PHONE_NUMBER
const EVENT_ALAN_READY_FOR_REMATCH
- const EVENT_287
- const EVENT_288
+ const EVENT_287 ; unused
+ const EVENT_288 ; unused
const EVENT_DANA_ASKED_FOR_PHONE_NUMBER
const EVENT_DANA_READY_FOR_REMATCH
const EVENT_CHAD_ASKED_FOR_PHONE_NUMBER
@@ -681,8 +684,8 @@
const EVENT_PARRY_READY_FOR_REMATCH
const EVENT_ERIN_ASKED_FOR_PHONE_NUMBER
const EVENT_ERIN_READY_FOR_REMATCH
- const EVENT_29F
-; Ruins Of Alph puzzles
+ const EVENT_29F ; unused
+; Ruins of Alph puzzles
const EVENT_SOLVED_HO_OH_PUZZLE ; 2a0
const EVENT_SOLVED_KABUTO_PUZZLE
const EVENT_SOLVED_OMANYTE_PUZZLE
@@ -734,7 +737,7 @@
const EVENT_DECO_BIG_SNORLAX_DOLL
const EVENT_DECO_BIG_ONIX_DOLL ; 2d0
const EVENT_DECO_BIG_LAPRAS_DOLL
-; More Johto events
+; More Johto story events
const EVENT_WARPED_FROM_ROUTE_35_NATIONAL_PARK_GATE
const EVENT_SWITCH_1
const EVENT_SWITCH_2
@@ -819,7 +822,7 @@
const EVENT_GOT_FIRE_STONE_FROM_BILLS_GRANDPA
const EVENT_GOT_THUNDERSTONE_FROM_BILLS_GRANDPA
const EVENT_LISTENED_TO_INITIAL_RADIO
-; More Crystal-specific events
+; More Crystal-exclusive events in Johto (change to unused?)
const EVENT_WALL_OPENED_IN_HO_OH_CHAMBER
const EVENT_WALL_OPENED_IN_KABUTO_CHAMBER
const EVENT_WALL_OPENED_IN_OMANYTE_CHAMBER
@@ -845,9 +848,9 @@
const EVENT_BUENA_OFFERED_HER_PHONE_NUMBER
const EVENT_MET_BUENA
const EVENT_GOT_ODD_EGG
- const EVENT_33F
+ const EVENT_33F ; unused
const EVENT_GOT_GS_BALL_FROM_POKECOM_CENTER
-; ???
+; Unused
const EVENT_341
const EVENT_342
const EVENT_343
@@ -1015,7 +1018,7 @@
const EVENT_3E5
const EVENT_3E6
const EVENT_3E7
-; Trainer Flags
+; Trainer flags
; Swimmer F
const EVENT_BEAT_SWIMMERF_ELAINE
const EVENT_BEAT_SWIMMERF_PAULA
@@ -1094,8 +1097,7 @@
const EVENT_BEAT_BURGLAR_DUNCAN
const EVENT_BEAT_BURGLAR_EDDIE
const EVENT_BEAT_BURGLAR_COREY
-; Unknown
- const EVENT_430
+ const EVENT_430 ; unused
; Biker
const EVENT_BEAT_BIKER_BENNY
const EVENT_BEAT_BIKER_KAZU
@@ -1286,9 +1288,8 @@
const EVENT_BEAT_POKEFANF_BEVERLY2
const EVENT_BEAT_POKEFANF_BEVERLY3
const EVENT_BEAT_POKEFANF_GEORGIA
-; Unknown
- const EVENT_4DE
; Kimono Girl
+ const EVENT_4DE ; unused
const EVENT_BEAT_KIMONO_GIRL_NAOKO
const EVENT_BEAT_KIMONO_GIRL_SAYO
const EVENT_BEAT_KIMONO_GIRL_ZUKI
@@ -1530,7 +1531,7 @@
const EVENT_BEAT_ELITE_4_BRUNO
const EVENT_BEAT_ELITE_4_KAREN
const EVENT_BEAT_CHAMPION_LANCE
-; New to Crystal
+; Crystal-exclusive trainer flags (change to unused?)
const EVENT_BEAT_COOLTRAINERM_DARIN
const EVENT_BEAT_COOLTRAINERF_CARA
const EVENT_BEAT_TWINS_LEA_AND_PIA
@@ -1546,7 +1547,7 @@
const EVENT_BEAT_SAGE_GAKU
const EVENT_BEAT_SAGE_MASA
const EVENT_BEAT_SAGE_KOJI
-; ???
+; Unused
const EVENT_5CC
const EVENT_5CD
const EVENT_5CE
@@ -1663,10 +1664,11 @@
const EVENT_63D
const EVENT_63E
const EVENT_63F
-; Sprite visibility: When these events are cleared, the sprite becomes visible; when set, the sprite is hidden.
+; Sprite visibility flags
+; When these events are cleared, the sprite becomes visible; when set, the sprite is hidden.
; The map script command macros `disappear` and `appear` set/clear these flags and immediately apply the effect on visibility.
; The map script command macros `setevent` and `clearevent` set/clear these flags, and their effects will be seen when the map is reloaded.
-; Johto items: 0x640
+; Johto itemballs
const EVENT_CYNDAQUIL_POKEBALL_IN_ELMS_LAB
const EVENT_TOTODILE_POKEBALL_IN_ELMS_LAB
const EVENT_CHIKORITA_POKEBALL_IN_ELMS_LAB
@@ -1724,8 +1726,8 @@
const EVENT_GOLDENROD_DEPT_STORE_B1F_AMULET_COIN
const EVENT_GOLDENROD_DEPT_STORE_B1F_BURN_HEAL
const EVENT_GOLDENROD_DEPT_STORE_B1F_ULTRA_BALL
- const EVENT_UNDERGROUND_WAREHOUSE_MAX_ETHER
- const EVENT_UNDERGROUND_WAREHOUSE_TM_SLEEP_TALK
+ const EVENT_GOLDENROD_UNDERGROUND_WAREHOUSE_MAX_ETHER
+ const EVENT_GOLDENROD_UNDERGROUND_WAREHOUSE_TM_SLEEP_TALK
const EVENT_MOUNT_MORTAR_1F_OUTSIDE_ETHER
const EVENT_MOUNT_MORTAR_1F_OUTSIDE_REVIVE
const EVENT_MOUNT_MORTAR_1F_INSIDE_ESCAPE_ROPE
@@ -1986,6 +1988,7 @@
const EVENT_MT_MOON_RIVAL
const EVENT_INDIGO_PLATEAU_POKECENTER_RIVAL
const EVENT_TELEPORT_GUY
+; Kanto itemballs
const EVENT_PICKED_UP_FOCUS_BAND
const EVENT_ROCK_TUNNEL_1F_ELIXER
const EVENT_ROCK_TUNNEL_1F_TM_STEEL_WING
@@ -2001,7 +2004,7 @@
const EVENT_ROUTE_12_NUGGET
const EVENT_ROUTE_15_PP_UP
const EVENT_ROUTE_25_PROTEIN
-; New to Crystal
+; New to Crystal (change to unused?)
const EVENT_KURTS_HOUSE_GRANDDAUGHTER_1
const EVENT_KURTS_HOUSE_GRANDDAUGHTER_2
const EVENT_RUINS_OF_ALPH_OUTSIDE_TOURIST_FISHER
diff --git a/constants/scgb_constants.asm b/constants/scgb_constants.asm
index 4f9e8488..2b52f7a3 100644
--- a/constants/scgb_constants.asm
+++ b/constants/scgb_constants.asm
@@ -31,7 +31,7 @@
const SCGB_TRAINER_OR_MON_FRONTPIC_PALS
const SCGB_MYSTERY_GIFT
const SCGB_1E
- const SCGB_1F
+ const SCGB_POKEDEX_5_5
SCGB_PARTY_MENU_HP_PALS EQU -4
SCGB_RAM EQU -1
diff --git a/constants/script_constants.asm b/constants/script_constants.asm
index e850d4fe..56e2a12b 100644
--- a/constants/script_constants.asm
+++ b/constants/script_constants.asm
@@ -229,6 +229,15 @@ NUM_FRUIT_TREES EQU const_value - 1
const DECODESC_BIG_DOLL ; 3
const DECODESC_CONSOLE ; 4
+; swarm arguments
+; StoreSwarmMapIndices arguments
+; tentative/placeholder, this is just the order from swarm_grass.asm
+ const_def
+ const SWARM_YANMA ; 0
+ const SWARM_SNUBBULL ; 1
+ const SWARM_DUNSPARCE ; 2
+ const SWARM_MARILL ; 3
+
; ActivateFishingSwarm setval arguments
const_def
const FISHSWARM_NONE ; 0
diff --git a/constants/sprite_anim_constants.asm b/constants/sprite_anim_constants.asm
index 70b10f7f..04c01743 100644
--- a/constants/sprite_anim_constants.asm
+++ b/constants/sprite_anim_constants.asm
@@ -197,4 +197,3 @@ SPRITE_ANIM_SEQ_NULL EQU $00
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
-
diff --git a/constants/wram_constants.asm b/constants/wram_constants.asm
index da50cd5d..0c4e6662 100644
--- a/constants/wram_constants.asm
+++ b/constants/wram_constants.asm
@@ -6,7 +6,7 @@ AUTO_INPUT EQU $ff
const DEBUG_BATTLE_F
const DEBUG_FIELD_F
-; wCurDexMode::
+; wCurDexMode:: ; c6d4
const_def
const DEXMODE_NEW
const DEXMODE_OLD
@@ -93,7 +93,7 @@ REMOVE_BOX EQU 1
DAY_CARE_WITHDRAW EQU 2
DAY_CARE_DEPOSIT EQU 3
-; wPlayerStepFlags::
+; wPlayerStepFlags:: ; ce85
const_def 4
const PLAYERSTEP_MIDAIR_F ; 4
const PLAYERSTEP_CONTINUE_F ; 5
@@ -122,36 +122,43 @@ DARKNESS EQU 1 << DARKNESS_F
ANYTIME EQU MORN | DAY | NITE
-; wPlayerSpriteSetupFlags::
+; wBattleAnimFlags:: ; ca0f
+ const_def
+ const BATTLEANIM_STOP_F ; 0
+ const BATTLEANIM_IN_SUBROUTINE_F ; 1
+ const BATTLEANIM_IN_LOOP_F ; 2
+ const BATTLEANIM_KEEPSPRITES_F ; 3
+
+; wPlayerSpriteSetupFlags:: ; d182
PLAYERSPRITESETUP_FACING_MASK EQU %11
PLAYERSPRITESETUP_FEMALE_TO_MALE_F EQU 2
PLAYERSPRITESETUP_CUSTOM_FACING_F EQU 5
PLAYERSPRITESETUP_SKIP_RELOAD_GFX_F EQU 6
PLAYERSPRITESETUP_RESET_ACTION_F EQU 7
-; wMapStatus::
+; wMapStatus:: ; d159
const_def
const MAPSTATUS_START ; 0
const MAPSTATUS_ENTER ; 1
const MAPSTATUS_HANDLE ; 2
const MAPSTATUS_DONE ; 3
-; wMapEventStatus::
+; wMapEventStatus:: ; d15a
const_def
const MAPEVENTS_ON ; 0
const MAPEVENTS_OFF ; 1
-; wScriptFlags::
+; wScriptFlags:: ; d15b
SCRIPT_RUNNING EQU 2
-; wScriptMode::
+; wScriptMode:: ; d15e
const_def
const SCRIPT_OFF
const SCRIPT_READ
const SCRIPT_WAIT_MOVEMENT
const SCRIPT_WAIT
-; wSpawnAfterChampion::
+; wSpawnAfterChampion:: ; d1db
SPAWN_LANCE EQU 1
SPAWN_RED EQU 2
@@ -190,7 +197,7 @@ NUM_OBJECTS EQU 16
const STATUSFLAGS2_REACHED_GOLDENROD_F ; 6
const STATUSFLAGS2_ROCKETS_IN_MAHOGANY_F ; 7
-; wMomSavingMoney::
+; wMomSavingMoney:: ; d579
MOM_SAVING_SOME_MONEY_F EQU 0
MOM_SAVING_HALF_MONEY_F EQU 1
MOM_SAVING_ALL_MONEY_F EQU 2
@@ -210,7 +217,7 @@ MOM_SAVING_MONEY_MASK EQU (1 << MOM_SAVING_SOME_MONEY_F) | (1 << MOM_SAVING_HALF
const RISINGBADGE
NUM_JOHTO_BADGES EQU const_value
-; wKantoBadges:: ds 1 ; d57d
+; wKantoBadges:: ; d57d
const_def
const BOULDERBADGE
const CASCADEBADGE
@@ -223,7 +230,7 @@ NUM_JOHTO_BADGES EQU const_value
NUM_KANTO_BADGES EQU const_value
NUM_BADGES EQU NUM_JOHTO_BADGES + NUM_KANTO_BADGES
-; wPokegearFlags::
+; wPokegearFlags:: ; d67c
const_def
const POKEGEAR_MAP_CARD_F ; 0
const POKEGEAR_RADIO_CARD_F ; 1
@@ -243,13 +250,13 @@ PLAYER_SKATE EQU 2
PLAYER_SURF EQU 4
PLAYER_SURF_PIKA EQU 8
-; wBikeFlags::
+; wBikeFlags:: ; d93f
const_def
const BIKEFLAGS_STRENGTH_ACTIVE_F ; 0
const BIKEFLAGS_ALWAYS_ON_BIKE_F ; 1
const BIKEFLAGS_DOWNHILL_F ; 2
-; wDailyFlags1::
+; wDailyFlags1:: ; d968
const_def
const DAILYFLAGS1_KURT_MAKING_BALLS_F ; 0
const DAILYFLAGS1_BUG_CONTEST_F ; 1
@@ -260,7 +267,7 @@ PLAYER_SURF_PIKA EQU 8
const DAILYFLAGS1_GOLDENROD_UNDERGROUND_BARGAIN_F ; 6
const DAILYFLAGS1_TRAINER_HOUSE_F ; 7
-; wDailyFlags2::
+; wDailyFlags2:: ; d969
const_def
const DAILYFLAGS2_MT_MOON_SQUARE_CLEFAIRY_F ; 0
const DAILYFLAGS2_UNION_CAVE_LAPRAS_F ; 1
@@ -269,7 +276,7 @@ PLAYER_SURF_PIKA EQU 8
const DAILYFLAGS2_DAISYS_GROOMING_F ; 4
const DAILYFLAGS2_INDIGO_PLATEAU_RIVAL_FIGHT_F ; 5
-; wLuckyNumberShowFlag::
+; wLuckyNumberShowFlag:: ; d9e7
LUCKYNUMBERSHOW_GAME_OVER_F EQU 0
; wDayCareMan:: ; dc40
diff --git a/data/moves/animations.asm b/data/moves/animations.asm
index 8de1ffcc..0e1033a6 100644
--- a/data/moves/animations.asm
+++ b/data/moves/animations.asm
@@ -481,7 +481,7 @@ BattleAnim_SendOutMon:
BattleAnim_ReturnMon:
anim_sound 0, 0, SFX_BALL_POOF
-BattleAnim_BatonPass_branch_c9486:
+.anim:
anim_bgeffect ANIM_BG_RETURN_MON, $0, $1, $0
anim_wait 32
anim_ret
@@ -679,7 +679,7 @@ BattleAnim_KarateChop:
BattleAnim_Doubleslap:
anim_1gfx ANIM_GFX_HIT
- anim_if_param_equal $1, BattleAnim_Doubleslap_branch_c961b
+ anim_if_param_equal $1, .alternate
anim_sound 0, 1, SFX_DOUBLESLAP
anim_obj ANIM_OBJ_08, 144, 48, $0
anim_wait 6
@@ -687,7 +687,7 @@ BattleAnim_Doubleslap:
anim_wait 8
anim_ret
-BattleAnim_Doubleslap_branch_c961b:
+.alternate:
anim_sound 0, 1, SFX_DOUBLESLAP
anim_obj ANIM_OBJ_08, 120, 48, $0
anim_wait 6
@@ -697,7 +697,7 @@ BattleAnim_Doubleslap_branch_c961b:
BattleAnim_CometPunch:
anim_1gfx ANIM_GFX_HIT
- anim_if_param_equal $1, BattleAnim_CometPunch_branch_c9641
+ anim_if_param_equal $1, .alternate
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_06, 144, 48, $0
anim_wait 6
@@ -705,7 +705,7 @@ BattleAnim_CometPunch:
anim_wait 8
anim_ret
-BattleAnim_CometPunch_branch_c9641:
+.alternate:
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_06, 120, 64, $0
anim_wait 6
@@ -713,7 +713,6 @@ BattleAnim_CometPunch_branch_c9641:
anim_wait 8
anim_ret
-BattleAnim_Bide_branch_c9651:
BattleAnim_MegaPunch:
anim_1gfx ANIM_GFX_HIT
anim_bgeffect ANIM_BG_1F, $40, $2, $0
@@ -750,7 +749,7 @@ BattleAnim_Stomp:
BattleAnim_DoubleKick:
anim_1gfx ANIM_GFX_HIT
- anim_if_param_equal $1, BattleAnim_DoubleKick_branch_c96bd
+ anim_if_param_equal $1, .alternate
anim_sound 0, 1, SFX_DOUBLE_KICK
anim_obj ANIM_OBJ_07, 144, 48, $0
anim_wait 6
@@ -758,7 +757,7 @@ BattleAnim_DoubleKick:
anim_wait 8
anim_ret
-BattleAnim_DoubleKick_branch_c96bd:
+.alternate:
anim_sound 0, 1, SFX_DOUBLE_KICK
anim_obj ANIM_OBJ_07, 120, 64, $0
anim_wait 6
@@ -768,7 +767,7 @@ BattleAnim_DoubleKick_branch_c96bd:
BattleAnim_JumpKick:
anim_1gfx ANIM_GFX_HIT
- anim_if_param_equal $1, BattleAnim_JumpKick_branch_c96f1
+ anim_if_param_equal $1, .alternate
anim_sound 0, 1, SFX_JUMP_KICK
anim_obj ANIM_OBJ_07, 112, 72, $0
anim_obj ANIM_OBJ_07, 100, 60, $0
@@ -780,7 +779,7 @@ BattleAnim_JumpKick:
anim_wait 16
anim_ret
-BattleAnim_JumpKick_branch_c96f1:
+.alternate:
anim_wait 8
anim_sound 0, 0, SFX_DOUBLE_KICK
anim_obj ANIM_OBJ_04, 44, 88, $0
@@ -790,7 +789,7 @@ BattleAnim_JumpKick_branch_c96f1:
BattleAnim_HiJumpKick:
anim_1gfx ANIM_GFX_HIT
anim_bgeffect ANIM_BG_1F, $40, $2, $0
- anim_if_param_equal $1, BattleAnim_HiJumpKick_branch_c971e
+ anim_if_param_equal $1, .alternate
anim_wait 32
anim_sound 0, 1, SFX_JUMP_KICK
anim_obj ANIM_OBJ_07, 112, 72, $0
@@ -801,7 +800,7 @@ BattleAnim_HiJumpKick:
anim_wait 16
anim_ret
-BattleAnim_HiJumpKick_branch_c971e:
+.alternate:
anim_wait 16
anim_sound 0, 0, SFX_DOUBLE_KICK
anim_obj ANIM_OBJ_04, 44, 88, $0
@@ -882,7 +881,7 @@ BattleAnim_Ember:
BattleAnim_FirePunch:
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_FIRE
anim_obj ANIM_OBJ_0A, 136, 56, $43
- anim_call BattleAnim_FirePunch_branch_cbbcc
+ anim_call BattleAnimSub_Fire
anim_wait 16
anim_ret
@@ -978,7 +977,7 @@ BattleAnim_FireBlast:
BattleAnim_IcePunch:
anim_2gfx ANIM_GFX_HIT, ANIM_GFX_ICE
anim_obj ANIM_OBJ_0A, 136, 56, $43
- anim_call BattleAnim_IcePunch_branch_cbbdf
+ anim_call BattleAnimSub_Ice
anim_wait 32
anim_ret
@@ -1231,7 +1230,7 @@ BattleAnim_Solarbeam:
.FireSolarBeam
anim_1gfx ANIM_GFX_BEAM
anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_call BattleAnim_Solarbeam_branch_cbb39
+ anim_call BattleAnimSub_Beam
anim_wait 48
anim_ret
@@ -1291,7 +1290,7 @@ BattleAnim_Thunder:
anim_ret
BattleAnim_RazorWind:
- anim_if_param_equal $1, BattleAnim_RazorWind_branch_c9fb5
+ anim_if_param_equal $1, BattleAnim_FocusEnergy
anim_1gfx ANIM_GFX_WHIP
anim_bgeffect ANIM_BG_06, $0, $1, $0
.loop
@@ -1357,12 +1356,12 @@ BattleAnim_Selfdestruct:
anim_1gfx ANIM_GFX_EXPLOSION
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $24
anim_if_param_equal $1, .loop
- anim_call BattleAnim_Selfdestruct_branch_cbb8f
+ anim_call BattleAnimSub_Explosion2
anim_wait 16
anim_ret
.loop
- anim_call BattleAnim_Selfdestruct_branch_cbb62
+ anim_call BattleAnimSub_Explosion1
anim_wait 5
anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
anim_loop 2, .loop
@@ -1374,12 +1373,12 @@ BattleAnim_Explosion:
anim_bgeffect ANIM_BG_1F, $60, $4, $10
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $24
anim_if_param_equal $1, .loop
- anim_call BattleAnim_Explosion_branch_cbb8f
+ anim_call BattleAnimSub_Explosion2
anim_wait 16
anim_ret
.loop
- anim_call BattleAnim_Explosion_branch_cbb62
+ anim_call BattleAnimSub_Explosion1
anim_wait 5
anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
anim_loop 2, .loop
@@ -1388,7 +1387,7 @@ BattleAnim_Explosion:
BattleAnim_Acid:
anim_1gfx ANIM_GFX_POISON
- anim_call BattleAnim_Acid_branch_cbc35
+ anim_call BattleAnimSub_Acid
anim_wait 64
anim_ret
@@ -1483,7 +1482,7 @@ BattleAnim_HyperBeam:
anim_bgeffect ANIM_BG_1F, $30, $4, $10
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $40
anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_call BattleAnim_HyperBeam_branch_cbb39
+ anim_call BattleAnimSub_Beam
anim_wait 48
anim_ret
@@ -1492,7 +1491,7 @@ BattleAnim_AuroraBeam:
anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
anim_wait 64
- anim_call BattleAnim_AuroraBeam_branch_cbb39
+ anim_call BattleAnimSub_Beam
anim_wait 48
anim_incobj 5
anim_wait 64
@@ -1517,7 +1516,7 @@ BattleAnim_Scratch:
BattleAnim_FurySwipes:
anim_1gfx ANIM_GFX_CUT
- anim_if_param_equal $1, BattleAnim_FurySwipes_branch_c9dd9
+ anim_if_param_equal $1, .alternate
anim_sound 0, 1, SFX_SCRATCH
anim_obj ANIM_OBJ_37, 144, 48, $0
anim_obj ANIM_OBJ_37, 140, 44, $0
@@ -1526,7 +1525,7 @@ BattleAnim_FurySwipes:
anim_wait 32
anim_ret
-BattleAnim_FurySwipes_branch_c9dd9:
+.alternate:
anim_sound 0, 1, SFX_SCRATCH
anim_obj ANIM_OBJ_38, 120, 48, $0
anim_obj ANIM_OBJ_38, 124, 44, $0
@@ -1586,27 +1585,27 @@ BattleAnim_Teleport:
anim_incbgeffect ANIM_BG_TELEPORT
anim_call BattleAnim_ShowMon_0
anim_bgeffect ANIM_BG_06, $0, $1, $0
- anim_call BattleAnim_Teleport_branch_cbb12
+ anim_call BattleAnimSub_WarpAway
anim_wait 64
anim_ret
BattleAnim_Fly:
- anim_if_param_equal $1, BattleAnim_Fly_branch_c9e89
- anim_if_param_equal $2, BattleAnim_Fly_branch_c9e82
+ anim_if_param_equal $1, .turn1
+ anim_if_param_equal $2, .miss
anim_1gfx ANIM_GFX_HIT
anim_sound 0, 1, SFX_WING_ATTACK
anim_obj ANIM_OBJ_01, 136, 56, $0
anim_wait 32
-BattleAnim_Fly_branch_c9e82:
+.miss:
anim_bgeffect ANIM_BG_SHOW_MON, $0, $1, $0
anim_wait 32
anim_ret
-BattleAnim_Fly_branch_c9e89:
+.turn1:
anim_1gfx ANIM_GFX_SPEED
anim_bgeffect ANIM_BG_06, $0, $1, $0
anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
- anim_call BattleAnim_Fly_branch_cbb12
+ anim_call BattleAnimSub_WarpAway
anim_wait 64
anim_ret
@@ -1726,9 +1725,6 @@ BattleAnim_Softboiled:
anim_ret
BattleAnim_FocusEnergy:
-BattleAnim_RazorWind_branch_c9fb5:
-BattleAnim_SkullBash_branch_c9fb5:
-BattleAnim_SkyAttack_branch_c9fb5:
anim_1gfx ANIM_GFX_SPEED
anim_call BattleAnim_TargetObj_1Row
anim_bgeffect ANIM_BG_16, $0, $1, $40
@@ -1756,7 +1752,7 @@ BattleAnim_SkyAttack_branch_c9fb5:
anim_ret
BattleAnim_Bide:
- anim_if_param_equal $0, BattleAnim_Bide_branch_c9651
+ anim_if_param_equal $0, BattleAnim_MegaPunch
anim_1gfx ANIM_GFX_HIT
anim_call BattleAnim_TargetObj_1Row
anim_sound 0, 0, SFX_ESCAPE_ROPE
@@ -1844,7 +1840,7 @@ BattleAnim_Growl:
anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_cry $0
.loop
- anim_call BattleAnim_Growl_branch_cbbbc
+ anim_call BattleAnimSub_Sound
anim_wait 16
anim_loop 3, .loop
anim_wait 9
@@ -1865,7 +1861,7 @@ BattleAnim_Roar:
anim_bgeffect ANIM_BG_06, $0, $2, $0
anim_cry $1
.loop
- anim_call BattleAnim_Roar_branch_cbbbc
+ anim_call BattleAnimSub_Sound
anim_wait 16
anim_loop 3, .loop
anim_wait 16
@@ -1919,7 +1915,7 @@ BattleAnim_ConfuseRay:
BattleAnim_Leer:
anim_1gfx ANIM_GFX_BEAM
anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_call BattleAnim_Leer_branch_cbadc
+ anim_call BattleAnimSub_ShakeEnemy
anim_wait 16
anim_ret
@@ -2045,7 +2041,7 @@ BattleAnim_Dig:
BattleAnim_SandAttack:
anim_1gfx ANIM_GFX_SAND
- anim_call BattleAnim_SandAttack_branch_cbc5b
+ anim_call BattleAnimSub_SandOrMud
anim_ret
BattleAnim_StringShot:
@@ -2451,7 +2447,7 @@ BattleAnim_Crabhammer:
anim_ret
BattleAnim_SkullBash:
- anim_if_param_equal $1, BattleAnim_SkullBash_branch_c9fb5
+ anim_if_param_equal $1, BattleAnim_FocusEnergy
anim_1gfx ANIM_GFX_HIT
anim_bgeffect ANIM_BG_1F, $14, $2, $0
anim_wait 32
@@ -2551,9 +2547,9 @@ BattleAnim_Flash:
BattleAnim_Substitute:
anim_sound 0, 0, SFX_SURF
- anim_if_param_equal $3, BattleAnim_Substitute_branch_ca77c
- anim_if_param_equal $2, BattleAnim_Substitute_branch_ca76e
- anim_if_param_equal $1, BattleAnim_Substitute_branch_ca760
+ anim_if_param_equal $3, .dropsub2
+ anim_if_param_equal $2, .raisesub
+ anim_if_param_equal $1, .dropsub
anim_1gfx ANIM_GFX_SMOKE
anim_bgeffect ANIM_BG_26, $0, $1, $0
anim_wait 48
@@ -2563,7 +2559,7 @@ BattleAnim_Substitute:
anim_wait 32
anim_ret
-BattleAnim_Substitute_branch_ca760:
+.dropsub:
anim_bgeffect ANIM_BG_26, $0, $1, $0
anim_wait 48
anim_dropsub
@@ -2571,7 +2567,7 @@ BattleAnim_Substitute_branch_ca760:
anim_wait 32
anim_ret
-BattleAnim_Substitute_branch_ca76e:
+.raisesub:
anim_bgeffect ANIM_BG_26, $0, $1, $0
anim_wait 48
anim_raisesub
@@ -2579,7 +2575,7 @@ BattleAnim_Substitute_branch_ca76e:
anim_wait 32
anim_ret
-BattleAnim_Substitute_branch_ca77c:
+.dropsub2:
anim_bgeffect ANIM_BG_HIDE_MON, $0, $1, $0
anim_wait 48
anim_dropsub
@@ -2600,7 +2596,7 @@ BattleAnim_Minimize:
anim_ret
BattleAnim_SkyAttack:
- anim_if_param_equal $1, BattleAnim_SkyAttack_branch_c9fb5
+ anim_if_param_equal $1, BattleAnim_FocusEnergy
anim_1gfx ANIM_GFX_SKY_ATTACK
anim_bgeffect ANIM_BG_26, $0, $1, $0
anim_wait 32
@@ -2640,9 +2636,9 @@ BattleAnim_Lick:
BattleAnim_TriAttack:
anim_3gfx ANIM_GFX_FIRE, ANIM_GFX_ICE, ANIM_GFX_LIGHTNING
- anim_call BattleAnim_TriAttack_branch_cbbcc
+ anim_call BattleAnimSub_Fire
anim_wait 16
- anim_call BattleAnim_TriAttack_branch_cbbdf
+ anim_call BattleAnimSub_Ice
anim_wait 16
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $4, $4
anim_sound 0, 1, SFX_THUNDER
@@ -2681,7 +2677,7 @@ BattleAnim_DreamEater:
anim_bgp $1b
anim_obp0 $27
anim_sound 6, 3, SFX_WATER_GUN
- anim_call BattleAnim_DreamEater_branch_cbab3
+ anim_call BattleAnimSub_Drain
anim_wait 128
anim_wait 48
anim_ret
@@ -2689,7 +2685,7 @@ BattleAnim_DreamEater:
BattleAnim_LeechLife:
anim_1gfx ANIM_GFX_BUBBLE
anim_sound 6, 3, SFX_WATER_GUN
- anim_call BattleAnim_LeechLife_branch_cbab3
+ anim_call BattleAnimSub_Drain
anim_wait 128
anim_wait 48
anim_ret
@@ -2698,7 +2694,7 @@ BattleAnim_Harden:
anim_1gfx ANIM_GFX_REFLECT
anim_obp0 $0
anim_call BattleAnim_TargetObj_1Row
- anim_call BattleAnim_Harden_branch_cbc43
+ anim_call BattleAnimSub_Metallic
anim_call BattleAnim_ShowMon_0
anim_ret
@@ -2725,7 +2721,7 @@ BattleAnim_Glare:
anim_1gfx ANIM_GFX_BEAM
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $20
anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_call BattleAnim_Glare_branch_cbadc
+ anim_call BattleAnimSub_ShakeEnemy
anim_wait 16
anim_ret
@@ -2985,16 +2981,16 @@ BattleAnim_PsychicM:
BattleAnim_Sludge:
anim_1gfx ANIM_GFX_POISON
- anim_call BattleAnim_Sludge_branch_cbc15
+ anim_call BattleAnimSub_Sludge
anim_wait 56
anim_ret
BattleAnim_Toxic:
anim_1gfx ANIM_GFX_POISON
anim_bgeffect ANIM_BG_BLACK_HUES, $0, $8, $0
- anim_call BattleAnim_Toxic_branch_cbc35
+ anim_call BattleAnimSub_Acid
anim_wait 32
- anim_call BattleAnim_Toxic_branch_cbc15
+ anim_call BattleAnimSub_Sludge
anim_wait 64
anim_ret
@@ -3116,8 +3112,8 @@ BattleAnim_Sketch:
BattleAnim_TripleKick:
anim_1gfx ANIM_GFX_HIT
- anim_if_param_equal $1, BattleAnim_TripleKick_branch_cac95
- anim_if_param_equal $2, BattleAnim_TripleKick_branch_caca5
+ anim_if_param_equal $1, .alternate1
+ anim_if_param_equal $2, .alternate2
anim_sound 0, 1, SFX_MEGA_KICK
anim_obj ANIM_OBJ_07, 144, 48, $0
anim_wait 6
@@ -3125,7 +3121,7 @@ BattleAnim_TripleKick:
anim_wait 8
anim_ret
-BattleAnim_TripleKick_branch_cac95:
+.alternate1:
anim_sound 0, 1, SFX_DOUBLE_KICK
anim_obj ANIM_OBJ_07, 120, 64, $0
anim_wait 6
@@ -3133,7 +3129,7 @@ BattleAnim_TripleKick_branch_cac95:
anim_wait 8
anim_ret
-BattleAnim_TripleKick_branch_caca5:
+.alternate2:
anim_sound 0, 1, SFX_DOUBLE_KICK
anim_obj ANIM_OBJ_07, 132, 32, $0
anim_wait 6
@@ -3223,7 +3219,7 @@ BattleAnim_Snore:
anim_bgeffect ANIM_BG_1F, $60, $2, $0
anim_sound 0, 0, SFX_SNORE
.loop
- anim_call BattleAnim_Snore_branch_cbbbc
+ anim_call BattleAnimSub_Sound
anim_wait 16
anim_loop 2, .loop
anim_wait 8
@@ -3380,7 +3376,7 @@ BattleAnim_PowderSnow:
anim_loop 2, .loop
anim_bgeffect ANIM_BG_WHITE_HUES, $0, $8, $0
anim_wait 40
- anim_call BattleAnim_PowderSnow_branch_cbbdf
+ anim_call BattleAnimSub_Ice
anim_wait 32
anim_ret
@@ -3420,7 +3416,7 @@ BattleAnim_ScaryFace:
anim_1gfx ANIM_GFX_BEAM
anim_bgeffect ANIM_BG_ALTERNATE_HUES, $0, $2, $0
anim_bgeffect ANIM_BG_06, $0, $2, $0
- anim_call BattleAnim_ScaryFace_branch_cbadc
+ anim_call BattleAnimSub_ShakeEnemy
anim_wait 64
anim_ret
@@ -3501,14 +3497,14 @@ BattleAnim_SludgeBomb:
anim_sound 6, 2, SFX_SLUDGE_BOMB
anim_obj ANIM_OBJ_SLUDGE_BOMB, 64, 92, $10
anim_wait 36
- anim_call BattleAnim_SludgeBomb_branch_cbc15
+ anim_call BattleAnimSub_Sludge
anim_wait 64
anim_ret
BattleAnim_MudSlap:
anim_1gfx ANIM_GFX_SAND
anim_obp0 $fc
- anim_call BattleAnim_MudSlap_branch_cbc5b
+ anim_call BattleAnimSub_SandOrMud
anim_ret
BattleAnim_Octazooka:
@@ -3572,13 +3568,13 @@ BattleAnim_DestinyBond:
anim_1gfx ANIM_GFX_ANGELS
anim_bgp $1b
anim_obp0 $0
- anim_if_param_equal $1, BattleAnim_DestinyBond_branch_cb104
+ anim_if_param_equal $1, .fainted
anim_sound 6, 2, SFX_WHIRLWIND
anim_obj ANIM_OBJ_DESTINY_BOND, 44, 120, $2
anim_wait 128
anim_ret
-BattleAnim_DestinyBond_branch_cb104:
+.fainted:
anim_obj ANIM_OBJ_DESTINY_BOND, 132, 76, $0
anim_sound 0, 1, SFX_KINESIS
anim_bgeffect ANIM_BG_RETURN_MON, $0, $0, $0
@@ -3701,7 +3697,7 @@ BattleAnim_GigaDrain:
anim_call BattleAnim_TargetObj_1Row
anim_bgeffect ANIM_BG_1C, $0, $0, $10
anim_sound 6, 3, SFX_GIGA_DRAIN
- anim_call BattleAnim_GigaDrain_branch_cbab3
+ anim_call BattleAnimSub_Drain
anim_wait 48
anim_wait 128
anim_incbgeffect ANIM_BG_1C
@@ -3858,7 +3854,7 @@ BattleAnim_SteelWing:
anim_obp0 $0
anim_sound 0, 0, SFX_RAGE
anim_call BattleAnim_TargetObj_1Row
- anim_call BattleAnim_SteelWing_branch_cbc43
+ anim_call BattleAnimSub_Metallic
anim_call BattleAnim_ShowMon_0
anim_1gfx ANIM_GFX_HIT
anim_resetobp0
@@ -3967,7 +3963,7 @@ BattleAnim_Present:
anim_1gfx ANIM_GFX_EXPLOSION
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $12
.loop
- anim_call BattleAnim_Present_branch_cbb8f
+ anim_call BattleAnimSub_Explosion2
anim_wait 16
anim_jumpuntil .loop
anim_ret
@@ -4078,7 +4074,7 @@ BattleAnim_Dynamicpunch:
anim_obj ANIM_OBJ_0A, 136, 56, $43
anim_wait 16
anim_bgeffect ANIM_BG_FLASH_INVERTED, $0, $8, $12
- anim_call BattleAnim_Dynamicpunch_branch_cbb8f
+ anim_call BattleAnimSub_Explosion2
anim_wait 16
anim_ret
@@ -4108,7 +4104,7 @@ BattleAnim_BatonPass:
anim_1gfx ANIM_GFX_MISC
anim_obj ANIM_OBJ_BATON_PASS, 44, 104, $20
anim_sound 0, 0, SFX_BATON_PASS
- anim_call BattleAnim_BatonPass_branch_c9486
+ anim_call BattleAnim_ReturnMon.anim
anim_wait 64
anim_ret
@@ -4126,13 +4122,13 @@ BattleAnim_Encore:
BattleAnim_Pursuit:
anim_1gfx ANIM_GFX_HIT
- anim_if_param_equal $1, BattleAnim_Pursuit_branch_cb62b
+ anim_if_param_equal $1, .pursued
anim_sound 0, 1, SFX_COMET_PUNCH
anim_obj ANIM_OBJ_01, 136, 56, $0
anim_wait 16
anim_ret
-BattleAnim_Pursuit_branch_cb62b:
+.pursued:
anim_bgeffect ANIM_BG_HIDE_MON, $0, $0, $0
anim_wait 4
anim_call BattleAnim_UserObj_1Row
@@ -4194,7 +4190,7 @@ BattleAnim_IronTail:
anim_obp0 $0
anim_sound 0, 0, SFX_RAGE
anim_call BattleAnim_TargetObj_1Row
- anim_call BattleAnim_IronTail_branch_cbc43
+ anim_call BattleAnimSub_Metallic
anim_wait 4
anim_1gfx ANIM_GFX_HIT
anim_resetobp0
@@ -4212,7 +4208,7 @@ BattleAnim_MetalClaw:
anim_obp0 $0
anim_sound 0, 0, SFX_RAGE
anim_call BattleAnim_TargetObj_1Row
- anim_call BattleAnim_MetalClaw_branch_cbc43
+ anim_call BattleAnimSub_Metallic
anim_call BattleAnim_ShowMon_0
anim_1gfx ANIM_GFX_CUT
anim_resetobp0
@@ -4255,11 +4251,11 @@ BattleAnim_MorningSun:
anim_loop 5, .loop
anim_wait 32
anim_if_param_equal 0, .zero
- anim_call BattleAnim_MorningSun_branch_cbc6a
+ anim_call BattleAnimSub_Glimmer
anim_ret
.zero
- anim_call BattleAnim_MorningSun_branch_cbc80
+ anim_call BattleAnimSub_Glimmer2
anim_ret
BattleAnim_Synthesis:
@@ -4272,11 +4268,11 @@ BattleAnim_Synthesis:
anim_incbgeffect ANIM_BG_18
anim_call BattleAnim_ShowMon_0
anim_if_param_equal $1, .one
- anim_call BattleAnim_Synthesis_branch_cbc6a
+ anim_call BattleAnimSub_Glimmer
anim_ret
.one
- anim_call BattleAnim_Synthesis_branch_cbc80
+ anim_call BattleAnimSub_Glimmer2
anim_ret
BattleAnim_Crunch:
@@ -4308,11 +4304,11 @@ BattleAnim_Moonlight:
anim_sound 0, 0, SFX_MOONLIGHT
anim_wait 63
anim_if_param_equal $3, .three
- anim_call BattleAnim_Moonlight_branch_cbc6a
+ anim_call BattleAnimSub_Glimmer
anim_ret
.three
- anim_call BattleAnim_Moonlight_branch_cbc80
+ anim_call BattleAnimSub_Glimmer2
anim_ret
BattleAnim_HiddenPower:
@@ -4596,9 +4592,7 @@ BattleAnim_BeatUp:
anim_call BattleAnim_ShowMon_0
anim_ret
-BattleAnim_DreamEater_branch_cbab3:
-BattleAnim_GigaDrain_branch_cbab3:
-BattleAnim_LeechLife_branch_cbab3:
+BattleAnimSub_Drain:
anim_obj ANIM_OBJ_71, 132, 44, $0
anim_obj ANIM_OBJ_71, 132, 44, $8
anim_obj ANIM_OBJ_71, 132, 44, $10
@@ -4609,9 +4603,7 @@ BattleAnim_LeechLife_branch_cbab3:
anim_obj ANIM_OBJ_71, 132, 44, $38
anim_ret
-BattleAnim_Glare_branch_cbadc:
-BattleAnim_Leer_branch_cbadc:
-BattleAnim_ScaryFace_branch_cbadc:
+BattleAnimSub_ShakeEnemy:
anim_sound 6, 2, SFX_LEER
anim_obj ANIM_OBJ_4E, 72, 84, $0
anim_obj ANIM_OBJ_4E, 64, 80, $0
@@ -4625,8 +4617,7 @@ BattleAnim_ScaryFace_branch_cbadc:
anim_obj ANIM_OBJ_4F, 122, 50, $0
anim_ret
-BattleAnim_Fly_branch_cbb12:
-BattleAnim_Teleport_branch_cbb12:
+BattleAnimSub_WarpAway:
anim_sound 0, 0, SFX_WARP_TO
anim_obj ANIM_OBJ_44, 44, 108, $0
anim_obj ANIM_OBJ_44, 44, 100, $0
@@ -4637,9 +4628,7 @@ BattleAnim_Teleport_branch_cbb12:
anim_obj ANIM_OBJ_44, 44, 60, $0
anim_ret
-BattleAnim_AuroraBeam_branch_cbb39:
-BattleAnim_HyperBeam_branch_cbb39:
-BattleAnim_Solarbeam_branch_cbb39:
+BattleAnimSub_Beam:
anim_sound 0, 0, SFX_HYPER_BEAM
anim_obj ANIM_OBJ_27, 64, 92, $0
anim_wait 4
@@ -4654,8 +4643,7 @@ BattleAnim_Solarbeam_branch_cbb39:
anim_obj ANIM_OBJ_28, 126, 62, $0
anim_ret
-BattleAnim_Explosion_branch_cbb62:
-BattleAnim_Selfdestruct_branch_cbb62:
+BattleAnimSub_Explosion1:
anim_sound 0, 0, SFX_EGG_BOMB
anim_obj ANIM_OBJ_17, 24, 64, $0
anim_wait 5
@@ -4672,10 +4660,7 @@ BattleAnim_Selfdestruct_branch_cbb62:
anim_obj ANIM_OBJ_17, 40, 84, $0
anim_ret
-BattleAnim_Dynamicpunch_branch_cbb8f:
-BattleAnim_Explosion_branch_cbb8f:
-BattleAnim_Present_branch_cbb8f:
-BattleAnim_Selfdestruct_branch_cbb8f:
+BattleAnimSub_Explosion2:
anim_sound 0, 1, SFX_EGG_BOMB
anim_obj ANIM_OBJ_17, 148, 32, $0
anim_wait 5
@@ -4692,16 +4677,13 @@ BattleAnim_Selfdestruct_branch_cbb8f:
anim_obj ANIM_OBJ_17, 132, 52, $0
anim_ret
-BattleAnim_Growl_branch_cbbbc:
-BattleAnim_Roar_branch_cbbbc:
-BattleAnim_Snore_branch_cbbbc:
+BattleAnimSub_Sound:
anim_obj ANIM_OBJ_4B, 64, 76, $0
anim_obj ANIM_OBJ_4B, 64, 88, $1
anim_obj ANIM_OBJ_4B, 64, 100, $2
anim_ret
-BattleAnim_FirePunch_branch_cbbcc:
-BattleAnim_TriAttack_branch_cbbcc:
+BattleAnimSub_Fire:
anim_sound 0, 1, SFX_EMBER
.loop
anim_obj ANIM_OBJ_BURNED, 136, 56, $10
@@ -4710,9 +4692,7 @@ BattleAnim_TriAttack_branch_cbbcc:
anim_loop 4, .loop
anim_ret
-BattleAnim_IcePunch_branch_cbbdf:
-BattleAnim_PowderSnow_branch_cbbdf:
-BattleAnim_TriAttack_branch_cbbdf:
+BattleAnimSub_Ice:
anim_sound 0, 1, SFX_SHINE
anim_obj ANIM_OBJ_12, 128, 42, $0
anim_wait 6
@@ -4732,9 +4712,7 @@ BattleAnim_TriAttack_branch_cbbdf:
anim_obj ANIM_OBJ_12, 128, 70, $0
anim_ret
-BattleAnim_SludgeBomb_branch_cbc15:
-BattleAnim_Sludge_branch_cbc15:
-BattleAnim_Toxic_branch_cbc15:
+BattleAnimSub_Sludge:
.loop
anim_sound 0, 1, SFX_TOXIC
anim_obj ANIM_OBJ_1A, 132, 72, $0
@@ -4748,8 +4726,7 @@ BattleAnim_Toxic_branch_cbc15:
anim_loop 5, .loop
anim_ret
-BattleAnim_Acid_branch_cbc35:
-BattleAnim_Toxic_branch_cbc35:
+BattleAnimSub_Acid:
.loop
anim_sound 6, 2, SFX_BUBBLEBEAM
anim_obj ANIM_OBJ_19, 64, 92, $10
@@ -4757,10 +4734,7 @@ BattleAnim_Toxic_branch_cbc35:
anim_loop 8, .loop
anim_ret
-BattleAnim_Harden_branch_cbc43:
-BattleAnim_IronTail_branch_cbc43:
-BattleAnim_MetalClaw_branch_cbc43:
-BattleAnim_SteelWing_branch_cbc43:
+BattleAnimSub_Metallic:
anim_sound 0, 0, SFX_SHINE
anim_bgeffect ANIM_BG_17, $0, $1, $40
anim_wait 8
@@ -4771,8 +4745,7 @@ BattleAnim_SteelWing_branch_cbc43:
anim_incbgeffect ANIM_BG_17
anim_ret
-BattleAnim_MudSlap_branch_cbc5b:
-BattleAnim_SandAttack_branch_cbc5b:
+BattleAnimSub_SandOrMud:
.loop
anim_sound 6, 2, SFX_MENU
anim_obj ANIM_OBJ_58, 64, 92, $4
@@ -4781,9 +4754,7 @@ BattleAnim_SandAttack_branch_cbc5b:
anim_wait 32
anim_ret
-BattleAnim_Moonlight_branch_cbc6a:
-BattleAnim_MorningSun_branch_cbc6a:
-BattleAnim_Synthesis_branch_cbc6a:
+BattleAnimSub_Glimmer:
anim_sound 0, 0, SFX_METRONOME
anim_obj ANIM_OBJ_GLIMMER, 44, 64, $0
anim_wait 5
@@ -4793,9 +4764,7 @@ BattleAnim_Synthesis_branch_cbc6a:
anim_wait 21
anim_ret
-BattleAnim_Moonlight_branch_cbc80:
-BattleAnim_MorningSun_branch_cbc80:
-BattleAnim_Synthesis_branch_cbc80:
+BattleAnimSub_Glimmer2:
anim_sound 0, 0, SFX_METRONOME
.loop
anim_obj ANIM_OBJ_GLIMMER, 24, 64, $0
diff --git a/engine/battle/core.asm b/engine/battle/core.asm
index 07d486b3..512c2598 100644
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -7674,7 +7674,7 @@ GetBattleMonBackpic_DoAnim:
push af
xor a
ldh [hBattleTurn], a
- ld a, BANK("Move Animations")
+ ld a, BANK(BattleAnimCommands)
rst FarCall
pop af
ldh [hBattleTurn], a
diff --git a/engine/menus/intro_menu.asm b/engine/menus/intro_menu.asm
index 3df93306..c85b56f6 100644
--- a/engine/menus/intro_menu.asm
+++ b/engine/menus/intro_menu.asm
@@ -1084,7 +1084,7 @@ IF DEF(_GOLD)
ld e, a
ld d, [hl]
ELIF DEF(_SILVER)
- ld de, $7c58
+ depixel 15, 11, 4, 0
ENDC
ld a, SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
call InitSpriteAnimStruct
diff --git a/home/battle.asm b/home/battle.asm
index b30190bd..c2c3aeff 100644
--- a/home/battle.asm
+++ b/home/battle.asm
@@ -224,7 +224,7 @@ GetBattleAnimByte::
ld [wBattleAnimByte], a
inc de
- ld a, BANK("Move Animations")
+ ld a, BANK(BattleAnimCommands)
rst Bankswitch
ld [hl], d
diff --git a/macros/scripts/trade_anims.asm b/macros/scripts/trade_anims.asm
index ede20118..6fe55945 100755
--- a/macros/scripts/trade_anims.asm
+++ b/macros/scripts/trade_anims.asm
@@ -1,138 +1,140 @@
+; DoTradeAnimation.JumpTable indexes (see engine/trade/animation.asm)
enum_start
- enum tradeanim_next_command
-tradeanim_next: macro
- db tradeanim_next_command ; 00
-endm
-
- enum tradeanim_show_givemon_data_command
-tradeanim_show_givemon_data: macro
- db tradeanim_show_givemon_data_command ; 01
-endm
-
- enum tradeanim_show_getmon_data_command
-tradeanim_show_getmon_data: macro
- db tradeanim_show_getmon_data_command ; 02
-endm
-
- enum tradeanim_enter_link_tube_command
-tradeanim_enter_link_tube: macro
- db tradeanim_enter_link_tube_command ; 03
-endm
-
-__enum__ set $5
-
- enum tradeanim_exit_link_tube_command
-tradeanim_exit_link_tube: macro
- db tradeanim_exit_link_tube_command ; 05
-endm
-
- enum tradeanim_tube_to_ot_command
-tradeanim_tube_to_ot: macro
- db tradeanim_tube_to_ot_command ; 06
-endm
-
-__enum__ set $e
-
- enum tradeanim_tube_to_player_command
-tradeanim_tube_to_player: macro
- db tradeanim_tube_to_player_command ; 0e
-endm
-
-__enum__ set $16
-
- enum tradeanim_sent_to_ot_text_command
-tradeanim_sent_to_ot_text: macro
- db tradeanim_sent_to_ot_text_command ; 16
-endm
-
- enum tradeanim_ot_bids_farewell_command
-tradeanim_ot_bids_farewell: macro
- db tradeanim_ot_bids_farewell_command ; 17
-endm
-
- enum tradeanim_take_care_of_text_command
-tradeanim_take_care_of_text: macro
- db tradeanim_take_care_of_text_command ; 18
-endm
-
- enum tradeanim_ot_sends_text_1_command
-tradeanim_ot_sends_text_1: macro
- db tradeanim_ot_sends_text_1_command ; 19
-endm
-
- enum tradeanim_ot_sends_text_2_command
-tradeanim_ot_sends_text_2: macro
- db tradeanim_ot_sends_text_2_command ; 1a
-endm
-
- enum tradeanim_setup_givemon_scroll_command
-tradeanim_setup_givemon_scroll: macro
- db tradeanim_setup_givemon_scroll_command ; 1b
-endm
-
- enum tradeanim_do_givemon_scroll_command
-tradeanim_do_givemon_scroll: macro
- db tradeanim_do_givemon_scroll_command ; 1c
-endm
-
- enum tradeanim_frontpic_scroll_command
-tradeanim_frontpic_scroll: macro
- db tradeanim_frontpic_scroll_command ; 1d
-endm
-
- enum tradeanim_textbox_scroll_command
-tradeanim_textbox_scroll: macro
- db tradeanim_textbox_scroll_command ; 1e
-endm
-
- enum tradeanim_scroll_out_right_command
-tradeanim_scroll_out_right: macro
- db tradeanim_scroll_out_right_command ; 1f
-endm
-
-__enum__ set $21
-
- enum tradeanim_wait_80_command
-tradeanim_wait_80: macro
- db tradeanim_wait_80_command ; 21
-endm
-
- enum tradeanim_rocking_ball_command
-tradeanim_rocking_ball: macro
- db tradeanim_rocking_ball_command ; 22
-endm
-
- enum tradeanim_drop_ball_command
-tradeanim_drop_ball: macro
- db tradeanim_drop_ball_command ; 23
-endm
-
- enum tradeanim_wait_anim_command
-tradeanim_wait_anim: macro
- db tradeanim_wait_anim_command ; 24
-endm
-
- enum tradeanim_poof_command
-tradeanim_poof: macro
- db tradeanim_poof_command ; 25
-endm
-
- enum tradeanim_bulge_through_tube_command
-tradeanim_bulge_through_tube: macro
- db tradeanim_bulge_through_tube_command ; 26
-endm
-
- enum tradeanim_give_trademon_sfx_command
-tradeanim_give_trademon_sfx: macro
- db tradeanim_give_trademon_sfx_command ; 27
-endm
-
- enum tradeanim_get_trademon_sfx_command
-tradeanim_get_trademon_sfx: macro
- db tradeanim_get_trademon_sfx_command ; 28
-endm
-
- enum tradeanim_end_command
-tradeanim_end: macro
- db tradeanim_end_command ; 29
-endm
+
+ enum tradeanim_next_command ; $00
+tradeanim_next: MACRO
+ db tradeanim_next_command
+ENDM
+
+ enum tradeanim_show_givemon_data_command ; $01
+tradeanim_show_givemon_data: MACRO
+ db tradeanim_show_givemon_data_command
+ENDM
+
+ enum tradeanim_show_getmon_data_command ; $02
+tradeanim_show_getmon_data: MACRO
+ db tradeanim_show_getmon_data_command
+ENDM
+
+ enum tradeanim_enter_link_tube_command ; $03
+tradeanim_enter_link_tube: MACRO
+ db tradeanim_enter_link_tube_command
+ENDM
+
+ enum_start $05
+
+ enum tradeanim_exit_link_tube_command ; $05
+tradeanim_exit_link_tube: MACRO
+ db tradeanim_exit_link_tube_command
+ENDM
+
+ enum tradeanim_tube_to_ot_command ; $06
+tradeanim_tube_to_ot: MACRO
+ db tradeanim_tube_to_ot_command
+ENDM
+
+ enum_start $0e
+
+ enum tradeanim_tube_to_player_command ; $0e
+tradeanim_tube_to_player: MACRO
+ db tradeanim_tube_to_player_command
+ENDM
+
+ enum_start $16
+
+ enum tradeanim_sent_to_ot_text_command ; $16
+tradeanim_sent_to_ot_text: MACRO
+ db tradeanim_sent_to_ot_text_command
+ENDM
+
+ enum tradeanim_ot_bids_farewell_command ; $17
+tradeanim_ot_bids_farewell: MACRO
+ db tradeanim_ot_bids_farewell_command
+ENDM
+
+ enum tradeanim_take_care_of_text_command ; $18
+tradeanim_take_care_of_text: MACRO
+ db tradeanim_take_care_of_text_command
+ENDM
+
+ enum tradeanim_ot_sends_text_1_command ; $19
+tradeanim_ot_sends_text_1: MACRO
+ db tradeanim_ot_sends_text_1_command
+ENDM
+
+ enum tradeanim_ot_sends_text_2_command ; $1a
+tradeanim_ot_sends_text_2: MACRO
+ db tradeanim_ot_sends_text_2_command
+ENDM
+
+ enum tradeanim_setup_givemon_scroll_command ; $1b
+tradeanim_setup_givemon_scroll: MACRO
+ db tradeanim_setup_givemon_scroll_command
+ENDM
+
+ enum tradeanim_do_givemon_scroll_command ; $1c
+tradeanim_do_givemon_scroll: MACRO
+ db tradeanim_do_givemon_scroll_command
+ENDM
+
+ enum tradeanim_frontpic_scroll_command ; $1d
+tradeanim_frontpic_scroll: MACRO
+ db tradeanim_frontpic_scroll_command
+ENDM
+
+ enum tradeanim_textbox_scroll_command ; $1e
+tradeanim_textbox_scroll: MACRO
+ db tradeanim_textbox_scroll_command
+ENDM
+
+ enum tradeanim_scroll_out_right_command ; $1f
+tradeanim_scroll_out_right: MACRO
+ db tradeanim_scroll_out_right_command
+ENDM
+
+ enum_start $21
+
+ enum tradeanim_wait_80_command ; $21
+tradeanim_wait_80: MACRO
+ db tradeanim_wait_80_command
+ENDM
+
+ enum tradeanim_rocking_ball_command ; $22
+tradeanim_rocking_ball: MACRO
+ db tradeanim_rocking_ball_command
+ENDM
+
+ enum tradeanim_drop_ball_command ; $23
+tradeanim_drop_ball: MACRO
+ db tradeanim_drop_ball_command
+ENDM
+
+ enum tradeanim_wait_anim_command ; $24
+tradeanim_wait_anim: MACRO
+ db tradeanim_wait_anim_command
+ENDM
+
+ enum tradeanim_poof_command ; $25
+tradeanim_poof: MACRO
+ db tradeanim_poof_command
+ENDM
+
+ enum tradeanim_bulge_through_tube_command ; $26
+tradeanim_bulge_through_tube: MACRO
+ db tradeanim_bulge_through_tube_command
+ENDM
+
+ enum tradeanim_give_trademon_sfx_command ; $27
+tradeanim_give_trademon_sfx: MACRO
+ db tradeanim_give_trademon_sfx_command
+ENDM
+
+ enum tradeanim_get_trademon_sfx_command ; $28
+tradeanim_get_trademon_sfx: MACRO
+ db tradeanim_get_trademon_sfx_command
+ENDM
+
+ enum tradeanim_end_command ; $29
+tradeanim_end: MACRO
+ db tradeanim_end_command
+ENDM
diff --git a/main.asm b/main.asm
index 931153d6..98dd9eba 100644
--- a/main.asm
+++ b/main.asm
@@ -670,12 +670,14 @@ DummyPredef39::
ret
PlayBattleAnim::
dr $cc0d7, $cc283
-ClearBattleAnims::
+BattleAnimCommands::
dr $cc283, $cc5f7
BattleAnimCmd_RaiseSub::
dr $cc5f7, $cc67c
BattleAnimCmd_MinimizeOpp::
- dr $cc67c, $ce6aa
+ dr $cc67c, $cc836
+ClearBattleAnims::
+ dr $cc836, $ce6aa
BattleAnim_Sine_e::
dr $ce6aa, $cfce3
diff --git a/maps/GoldenrodUndergroundWarehouse.asm b/maps/GoldenrodUndergroundWarehouse.asm
index ad21f5f1..2f878cc5 100644
--- a/maps/GoldenrodUndergroundWarehouse.asm
+++ b/maps/GoldenrodUndergroundWarehouse.asm
@@ -222,5 +222,5 @@ GoldenrodUndergroundWarehouse_MapEvents:
object_event 8, 15, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_UP, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 3, TrainerGruntM14, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
object_event 14, 3, SPRITE_ROCKET, SPRITEMOVEDATA_STANDING_RIGHT, 0, 0, -1, -1, 0, OBJECTTYPE_TRAINER, 4, TrainerGruntM15, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
object_event 12, 8, SPRITE_GENTLEMAN, SPRITEMOVEDATA_SPINRANDOM_SLOW, 0, 0, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, GoldenrodUndergroundWarehouseDirectorScript, EVENT_RADIO_TOWER_ROCKET_TAKEOVER
- object_event 18, 15, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, GoldenrodUndergroundWarehouseMaxEther, EVENT_UNDERGROUND_WAREHOUSE_MAX_ETHER
- object_event 13, 9, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, GoldenrodUndergroundWarehouseTMSleepTalk, EVENT_UNDERGROUND_WAREHOUSE_TM_SLEEP_TALK
+ object_event 18, 15, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, GoldenrodUndergroundWarehouseMaxEther, EVENT_GOLDENROD_UNDERGROUND_WAREHOUSE_MAX_ETHER
+ object_event 13, 9, SPRITE_POKE_BALL, SPRITEMOVEDATA_STILL, 0, 0, -1, -1, 0, OBJECTTYPE_ITEMBALL, 0, GoldenrodUndergroundWarehouseTMSleepTalk, EVENT_GOLDENROD_UNDERGROUND_WAREHOUSE_TM_SLEEP_TALK
diff --git a/wram.asm b/wram.asm
index 80326ce2..549f037a 100644
--- a/wram.asm
+++ b/wram.asm
@@ -417,7 +417,7 @@ wc6d0:: ds 1 ; c6d0
wc6d1:: ds 1 ; c6d1
wc6d2:: ds 1 ; c6d2
wc6d3:: ds 1 ; c6d3
-wc6d4:: ds 1 ; c6d4
+wCurDexMode:: db ; c6d4
wc6d5:: ds 1 ; c6d5
wc6d6:: ds 1 ; c6d6
wc6d7:: ds 1 ; c6d7
@@ -529,7 +529,7 @@ wLinkPlayerPartyMonNicks:: ds PARTY_LENGTH * MON_NAME_LENGTH
wLinkPlayerDataEnd::
ENDU
-NEXTU ; c800
+NEXTU ; c700
; mystery gift data
wMysteryGiftPartyTemp:: ; ds PARTY_LENGTH * (1 + 1 + NUM_MOVES)
wMysteryGiftStaging::
@@ -572,10 +572,6 @@ wMysteryGiftPlayerDataEnd::
wc8f4:: ds 5
wc8f9:: ds 7
-wc900:: db
-wc901:: db
-wc902:: db
-
NEXTU ; c700
; LCD expects wLYOverrides to have an alignment of $100
wLYOverrides:: ds SCREEN_HEIGHT_PX
@@ -583,29 +579,54 @@ wLYOverridesEnd:: ds 112
wLYOverridesBackup:: ds SCREEN_HEIGHT_PX
wLYOverridesBackupEnd:: ds 112
- ds 191
-UNION ; c9bf
+UNION ; c900
+; mystery gift data
+wc900:: db
+wc901:: db
+wc902:: db
+
+NEXTU ; c900
; link
+ ds 191
wc9bf:: ds 79
wca0e:: ds 5
-wca13:: ds 50
-wca45:: ds 20
-wca59:: ds 20
-wca6d:: ds 1
-wca6e:: ds 22
+wca13:: ds 113
wca84:: ds 100
wcae8:: dw
-wLinkOTPartyMonTypes:: ds 2 * PARTY_LENGTH
+wLinkOTPartyMonTypes:: ds 2 * PARTY_LENGTH ; caea
ds 84
-wcb4a:: ds 71
-
-wcb91:: ds 13
+wcb4a:: ds 84
wcb9e:: ds 130
-NEXTU ; c9bf
+NEXTU ; c900
; battle
- ds 81
+wBattleAnimTileDict:: ds 10
+
+wActiveAnimObjects:: ; c90a
+wAnimObject01:: battle_anim_struct wAnimObject01
+wAnimObject02:: battle_anim_struct wAnimObject02
+wAnimObject03:: battle_anim_struct wAnimObject03
+wAnimObject04:: battle_anim_struct wAnimObject04
+wAnimObject05:: battle_anim_struct wAnimObject05
+wAnimObject06:: battle_anim_struct wAnimObject06
+wAnimObject07:: battle_anim_struct wAnimObject07
+wAnimObject08:: battle_anim_struct wAnimObject08
+wAnimObject09:: battle_anim_struct wAnimObject09
+wAnimObject10:: battle_anim_struct wAnimObject10
+wActiveAnimObjectsEnd::
+
+wActiveBGEffects:: ; c9fa
+wBGEffect1:: battle_bg_effect wBGEffect1
+wBGEffect2:: battle_bg_effect wBGEffect2
+wBGEffect3:: battle_bg_effect wBGEffect3
+wBGEffect4:: battle_bg_effect wBGEffect4
+wBGEffect5:: battle_bg_effect wBGEffect5
+wActiveBGEffectsEnd::
+
+wLastAnimObjectIndex:: db ; ca0e
+
+wBattleAnimFlags:: db ; ca0f
wBattleAnimAddress:: dw ; ca10
wBattleAnimDelay:: db ; ca12
wBattleAnimParent:: dw ; ca13
@@ -616,7 +637,7 @@ wBattleAnimOAMPointerLo:: db ; ca18
ds 207
-wBattle:
+wBattle: ; cae8
wEnemyMoveStruct:: move_struct wEnemyMoveStruct
wPlayerMoveStruct:: move_struct wPlayerMoveStruct
@@ -948,6 +969,7 @@ wSomeoneIsRampaging:: db ; cc1c
wPlayerJustGotFrozen:: db ; cc1d
wEnemyJustGotFrozen:: db ; cc1e
wBattleEnd::
+
ds 1
ENDU