From 35a3a19fda87d95e829aa99bf1b6cf18a839c1a6 Mon Sep 17 00:00:00 2001 From: Remy Oukaour Date: Tue, 26 Dec 2017 18:45:04 -0500 Subject: Use "battle_anims" and "sprite_anims" for clarity, not just "anims" --- Makefile | 34 +- constants.asm | 3 +- constants/animation_constants.asm | 835 ---- constants/battle_anim_constants.asm | 835 ++++ constants/icon_constants.asm | 41 + constants/pokemon_constants.asm | 2 +- constants/pokemon_data_constants.asm | 43 - constants/sprite_anim_constants.asm | 6 +- data/anims/ball_colors.asm | 16 - data/anims/framesets.asm | 1271 ------ data/anims/oam.asm | 1086 ----- data/anims/object_gfx.asm | 51 - data/anims/objects.asm | 209 - data/battle_anims/ball_colors.asm | 16 + data/battle_anims/framesets.asm | 1270 ++++++ data/battle_anims/oam.asm | 1086 +++++ data/battle_anims/object_gfx.asm | 51 + data/battle_anims/objects.asm | 209 + data/icon_pointers.asm | 41 + data/palettes/pokemon_palettes.asm | 541 +++ data/palettes/trainer_palettes.asm | 76 + data/pokemon/pic_pointers.asm | 511 +++ data/pokemon/unown_pic_pointers.asm | 54 + data/sprite_anims/framesets.asm | 499 +++ data/sprite_anims/oam.asm | 1131 ++++++ data/sprite_anims/sequences.asm | 49 + data/sprites/framesets.asm | 499 --- data/sprites/oam.asm | 1131 ------ data/sprites/sequences.asm | 49 - data/trainers/pic_pointers.asm | 69 + docs/battle_anim_commands.md | 121 + docs/event_commands.md | 2 +- docs/move_anim_commands.md | 121 - docs/pic_animations.md | 9 +- engine/anims/anim_commands.asm | 1514 ------- engine/anims/bg_effects.asm | 2958 -------------- engine/anims/engine.asm | 314 -- engine/anims/functions.asm | 4157 -------------------- engine/anims/helpers.asm | 130 - engine/battle/battlestart_copytilemapatonce.asm | 3 + engine/battle/checkbattlescene.asm | 47 + engine/battle/consumehelditem.asm | 80 + engine/battle/returntobattle_useball.asm | 19 + engine/battle/updatebattlehuds.asm | 9 + engine/battle_anims/anim_commands.asm | 1514 +++++++ engine/battle_anims/bg_effects.asm | 2958 ++++++++++++++ engine/battle_anims/engine.asm | 314 ++ engine/battle_anims/functions.asm | 4157 ++++++++++++++++++++ engine/battle_anims/getpokeballwobble.asm | 88 + engine/battle_anims/helpers.asm | 130 + engine/color.asm | 5 +- engine/mon_icons.asm | 2 +- engine/movement.asm | 2 +- engine/routines/battlestart_copytilemapatonce.asm | 3 - engine/routines/checkbattlescene.asm | 47 - engine/routines/consumehelditem.asm | 80 - engine/routines/getpokeballwobble.asm | 88 - .../kurt_selectquantity_interpretjoypad.asm | 4 - engine/routines/returntobattle_useball.asm | 19 - engine/routines/updatebattlehuds.asm | 9 - engine/scripting.asm | 2 +- engine/sprites.asm | 6 +- engine/trade_animation.asm | 2 +- event/kurt_selectquantity_interpretjoypad.asm | 4 + gfx/anims.asm | 41 - gfx/anims/aeroblast.2bpp.lz.2f07c4ea | Bin 128 -> 0 bytes gfx/anims/aeroblast.png | Bin 187 -> 0 bytes gfx/anims/angels.2bpp.lz.b026d81e | Bin 368 -> 0 bytes gfx/anims/angels.png | Bin 363 -> 0 bytes gfx/anims/beam.2bpp.lz.80b6d613 | Bin 144 -> 0 bytes gfx/anims/beam.png | Bin 562 -> 0 bytes gfx/anims/bubble.2bpp.lz.03b8ac99 | Bin 160 -> 0 bytes gfx/anims/bubble.png | Bin 237 -> 0 bytes gfx/anims/charge.2bpp.lz.95d3ea98 | Bin 112 -> 0 bytes gfx/anims/charge.png | Bin 188 -> 0 bytes gfx/anims/cut.2bpp.lz.03d343ed | Bin 96 -> 0 bytes gfx/anims/cut.png | Bin 170 -> 0 bytes gfx/anims/egg.2bpp.lz.41dd1a53 | Bin 128 -> 0 bytes gfx/anims/egg.png | Bin 200 -> 0 bytes gfx/anims/explosion.2bpp.lz.55fc334f | Bin 96 -> 0 bytes gfx/anims/explosion.png | Bin 157 -> 0 bytes gfx/anims/fire.2bpp.lz.d7701cda | Bin 96 -> 0 bytes gfx/anims/fire.png | Bin 153 -> 0 bytes gfx/anims/flower.2bpp.lz.1bc2e9d2 | Bin 96 -> 0 bytes gfx/anims/flower.png | Bin 149 -> 0 bytes gfx/anims/globe.2bpp.lz.710dbb8e | Bin 240 -> 0 bytes gfx/anims/globe.png | Bin 292 -> 0 bytes gfx/anims/haze.2bpp.lz.91424607 | Bin 144 -> 0 bytes gfx/anims/haze.png | Bin 173 -> 0 bytes gfx/anims/hit.2bpp.lz.2b3c83f2 | Bin 240 -> 0 bytes gfx/anims/hit.png | Bin 306 -> 0 bytes gfx/anims/horn.2bpp.lz.48908aae | Bin 96 -> 0 bytes gfx/anims/horn.png | Bin 179 -> 0 bytes gfx/anims/ice.2bpp.lz.664d900f | Bin 64 -> 0 bytes gfx/anims/ice.png | Bin 137 -> 0 bytes gfx/anims/lightning.2bpp.lz.a88fc131 | Bin 320 -> 0 bytes gfx/anims/lightning.png | Bin 820 -> 0 bytes gfx/anims/misc.2bpp.lz.4b20c3d7 | Bin 416 -> 0 bytes gfx/anims/misc.png | Bin 1082 -> 0 bytes gfx/anims/noise.2bpp.lz.acb4a76e | Bin 192 -> 0 bytes gfx/anims/noise.png | Bin 526 -> 0 bytes gfx/anims/objects.2bpp.lz.83f812de | Bin 224 -> 0 bytes gfx/anims/objects.png | Bin 705 -> 0 bytes gfx/anims/plant.2bpp.lz.4a00c417 | Bin 224 -> 0 bytes gfx/anims/plant.png | Bin 293 -> 0 bytes gfx/anims/poison.2bpp.lz.fc7dc9c1 | Bin 112 -> 0 bytes gfx/anims/poison.png | Bin 166 -> 0 bytes gfx/anims/pokeball.2bpp.lz.c58f7e01 | Bin 80 -> 0 bytes gfx/anims/pokeball.png | Bin 388 -> 0 bytes gfx/anims/powder.2bpp.lz.bfd566bb | Bin 32 -> 0 bytes gfx/anims/powder.png | Bin 100 -> 0 bytes gfx/anims/psychic.2bpp.lz.d80f285c | Bin 112 -> 0 bytes gfx/anims/psychic.png | Bin 175 -> 0 bytes gfx/anims/reflect.2bpp.lz.9a9c822d | Bin 112 -> 0 bytes gfx/anims/reflect.png | Bin 211 -> 0 bytes gfx/anims/rocks.2bpp.lz.73d0153e | Bin 240 -> 0 bytes gfx/anims/rocks.png | Bin 669 -> 0 bytes gfx/anims/rope.2bpp.lz.209d63dd | Bin 192 -> 0 bytes gfx/anims/rope.png | Bin 256 -> 0 bytes gfx/anims/sand.2bpp.lz.c87c0eaa | Bin 96 -> 0 bytes gfx/anims/sand.png | Bin 384 -> 0 bytes gfx/anims/shapes.2bpp.lz.262d77f0 | Bin 160 -> 0 bytes gfx/anims/shapes.png | Bin 237 -> 0 bytes gfx/anims/shine.2bpp.lz.5fb79056 | Bin 224 -> 0 bytes gfx/anims/shine.png | Bin 273 -> 0 bytes gfx/anims/skyattack.2bpp.lz.31738ab8 | Bin 352 -> 0 bytes gfx/anims/skyattack.png | Bin 393 -> 0 bytes gfx/anims/smoke.2bpp.lz.aa05905e | Bin 144 -> 0 bytes gfx/anims/smoke.png | Bin 191 -> 0 bytes gfx/anims/speed.2bpp.lz.1732b364 | Bin 80 -> 0 bytes gfx/anims/speed.png | Bin 136 -> 0 bytes gfx/anims/status.2bpp.lz.0c0aa13e | Bin 288 -> 0 bytes gfx/anims/status.png | Bin 364 -> 0 bytes gfx/anims/water.2bpp.lz.7b52ed12 | Bin 208 -> 0 bytes gfx/anims/water.png | Bin 277 -> 0 bytes gfx/anims/wave.2bpp.lz.bee99402 | Bin 160 -> 0 bytes gfx/anims/wave.png | Bin 205 -> 0 bytes gfx/anims/web.2bpp.lz.80e3d480 | Bin 128 -> 0 bytes gfx/anims/web.png | Bin 191 -> 0 bytes gfx/anims/whip.2bpp.lz.d80d8d6e | Bin 128 -> 0 bytes gfx/anims/whip.png | Bin 210 -> 0 bytes gfx/anims/wind.2bpp.lz.5a785180 | Bin 192 -> 0 bytes gfx/anims/wind.png | Bin 286 -> 0 bytes gfx/battle_anims.asm | 41 + gfx/battle_anims/aeroblast.2bpp.lz.2f07c4ea | Bin 0 -> 128 bytes gfx/battle_anims/aeroblast.png | Bin 0 -> 187 bytes gfx/battle_anims/angels.2bpp.lz.b026d81e | Bin 0 -> 368 bytes gfx/battle_anims/angels.png | Bin 0 -> 363 bytes gfx/battle_anims/beam.2bpp.lz.80b6d613 | Bin 0 -> 144 bytes gfx/battle_anims/beam.png | Bin 0 -> 562 bytes gfx/battle_anims/bubble.2bpp.lz.03b8ac99 | Bin 0 -> 160 bytes gfx/battle_anims/bubble.png | Bin 0 -> 237 bytes gfx/battle_anims/charge.2bpp.lz.95d3ea98 | Bin 0 -> 112 bytes gfx/battle_anims/charge.png | Bin 0 -> 188 bytes gfx/battle_anims/cut.2bpp.lz.03d343ed | Bin 0 -> 96 bytes gfx/battle_anims/cut.png | Bin 0 -> 170 bytes gfx/battle_anims/egg.2bpp.lz.41dd1a53 | Bin 0 -> 128 bytes gfx/battle_anims/egg.png | Bin 0 -> 200 bytes gfx/battle_anims/explosion.2bpp.lz.55fc334f | Bin 0 -> 96 bytes gfx/battle_anims/explosion.png | Bin 0 -> 157 bytes gfx/battle_anims/fire.2bpp.lz.d7701cda | Bin 0 -> 96 bytes gfx/battle_anims/fire.png | Bin 0 -> 153 bytes gfx/battle_anims/flower.2bpp.lz.1bc2e9d2 | Bin 0 -> 96 bytes gfx/battle_anims/flower.png | Bin 0 -> 149 bytes gfx/battle_anims/globe.2bpp.lz.710dbb8e | Bin 0 -> 240 bytes gfx/battle_anims/globe.png | Bin 0 -> 292 bytes gfx/battle_anims/haze.2bpp.lz.91424607 | Bin 0 -> 144 bytes gfx/battle_anims/haze.png | Bin 0 -> 173 bytes gfx/battle_anims/hit.2bpp.lz.2b3c83f2 | Bin 0 -> 240 bytes gfx/battle_anims/hit.png | Bin 0 -> 306 bytes gfx/battle_anims/horn.2bpp.lz.48908aae | Bin 0 -> 96 bytes gfx/battle_anims/horn.png | Bin 0 -> 179 bytes gfx/battle_anims/ice.2bpp.lz.664d900f | Bin 0 -> 64 bytes gfx/battle_anims/ice.png | Bin 0 -> 137 bytes gfx/battle_anims/lightning.2bpp.lz.a88fc131 | Bin 0 -> 320 bytes gfx/battle_anims/lightning.png | Bin 0 -> 820 bytes gfx/battle_anims/misc.2bpp.lz.4b20c3d7 | Bin 0 -> 416 bytes gfx/battle_anims/misc.png | Bin 0 -> 1082 bytes gfx/battle_anims/noise.2bpp.lz.acb4a76e | Bin 0 -> 192 bytes gfx/battle_anims/noise.png | Bin 0 -> 526 bytes gfx/battle_anims/objects.2bpp.lz.83f812de | Bin 0 -> 224 bytes gfx/battle_anims/objects.png | Bin 0 -> 705 bytes gfx/battle_anims/plant.2bpp.lz.4a00c417 | Bin 0 -> 224 bytes gfx/battle_anims/plant.png | Bin 0 -> 293 bytes gfx/battle_anims/poison.2bpp.lz.fc7dc9c1 | Bin 0 -> 112 bytes gfx/battle_anims/poison.png | Bin 0 -> 166 bytes gfx/battle_anims/pokeball.2bpp.lz.c58f7e01 | Bin 0 -> 80 bytes gfx/battle_anims/pokeball.png | Bin 0 -> 388 bytes gfx/battle_anims/powder.2bpp.lz.bfd566bb | Bin 0 -> 32 bytes gfx/battle_anims/powder.png | Bin 0 -> 100 bytes gfx/battle_anims/psychic.2bpp.lz.d80f285c | Bin 0 -> 112 bytes gfx/battle_anims/psychic.png | Bin 0 -> 175 bytes gfx/battle_anims/reflect.2bpp.lz.9a9c822d | Bin 0 -> 112 bytes gfx/battle_anims/reflect.png | Bin 0 -> 211 bytes gfx/battle_anims/rocks.2bpp.lz.73d0153e | Bin 0 -> 240 bytes gfx/battle_anims/rocks.png | Bin 0 -> 669 bytes gfx/battle_anims/rope.2bpp.lz.209d63dd | Bin 0 -> 192 bytes gfx/battle_anims/rope.png | Bin 0 -> 256 bytes gfx/battle_anims/sand.2bpp.lz.c87c0eaa | Bin 0 -> 96 bytes gfx/battle_anims/sand.png | Bin 0 -> 384 bytes gfx/battle_anims/shapes.2bpp.lz.262d77f0 | Bin 0 -> 160 bytes gfx/battle_anims/shapes.png | Bin 0 -> 237 bytes gfx/battle_anims/shine.2bpp.lz.5fb79056 | Bin 0 -> 224 bytes gfx/battle_anims/shine.png | Bin 0 -> 273 bytes gfx/battle_anims/skyattack.2bpp.lz.31738ab8 | Bin 0 -> 352 bytes gfx/battle_anims/skyattack.png | Bin 0 -> 393 bytes gfx/battle_anims/smoke.2bpp.lz.aa05905e | Bin 0 -> 144 bytes gfx/battle_anims/smoke.png | Bin 0 -> 191 bytes gfx/battle_anims/speed.2bpp.lz.1732b364 | Bin 0 -> 80 bytes gfx/battle_anims/speed.png | Bin 0 -> 136 bytes gfx/battle_anims/status.2bpp.lz.0c0aa13e | Bin 0 -> 288 bytes gfx/battle_anims/status.png | Bin 0 -> 364 bytes gfx/battle_anims/water.2bpp.lz.7b52ed12 | Bin 0 -> 208 bytes gfx/battle_anims/water.png | Bin 0 -> 277 bytes gfx/battle_anims/wave.2bpp.lz.bee99402 | Bin 0 -> 160 bytes gfx/battle_anims/wave.png | Bin 0 -> 205 bytes gfx/battle_anims/web.2bpp.lz.80e3d480 | Bin 0 -> 128 bytes gfx/battle_anims/web.png | Bin 0 -> 191 bytes gfx/battle_anims/whip.2bpp.lz.d80d8d6e | Bin 0 -> 128 bytes gfx/battle_anims/whip.png | Bin 0 -> 210 bytes gfx/battle_anims/wind.2bpp.lz.5a785180 | Bin 0 -> 192 bytes gfx/battle_anims/wind.png | Bin 0 -> 286 bytes gfx/icon_pointers.asm | 41 - gfx/pics.asm | 6 +- gfx/pokemon/palette_pointers.asm | 541 --- gfx/pokemon/pic_pointers.asm | 511 --- gfx/pokemon/unown_pic_pointers.asm | 54 - gfx/trainer_palettes.asm | 76 - gfx/trainer_pic_pointers.asm | 69 - macros.asm | 8 +- macros/scripts/battle_anims.asm | 294 ++ macros/scripts/event.asm | 1069 ----- macros/scripts/events.asm | 1069 +++++ macros/scripts/gfx_anim.asm | 44 - macros/scripts/gfx_anims.asm | 44 + macros/scripts/move_anim.asm | 294 -- macros/scripts/trade_anim.asm | 255 -- macros/scripts/trade_anims.asm | 255 ++ main.asm | 34 +- maps/map_headers.asm | 2 +- 240 files changed, 17689 insertions(+), 17691 deletions(-) delete mode 100644 constants/animation_constants.asm create mode 100644 constants/battle_anim_constants.asm create mode 100644 constants/icon_constants.asm delete mode 100644 data/anims/ball_colors.asm delete mode 100755 data/anims/framesets.asm delete mode 100755 data/anims/oam.asm delete mode 100755 data/anims/object_gfx.asm delete mode 100755 data/anims/objects.asm create mode 100644 data/battle_anims/ball_colors.asm create mode 100755 data/battle_anims/framesets.asm create mode 100755 data/battle_anims/oam.asm create mode 100755 data/battle_anims/object_gfx.asm create mode 100755 data/battle_anims/objects.asm create mode 100644 data/icon_pointers.asm create mode 100644 data/palettes/pokemon_palettes.asm create mode 100644 data/palettes/trainer_palettes.asm create mode 100644 data/pokemon/pic_pointers.asm create mode 100644 data/pokemon/unown_pic_pointers.asm create mode 100755 data/sprite_anims/framesets.asm create mode 100644 data/sprite_anims/oam.asm create mode 100644 data/sprite_anims/sequences.asm delete mode 100755 data/sprites/framesets.asm delete mode 100644 data/sprites/oam.asm delete mode 100644 data/sprites/sequences.asm create mode 100644 data/trainers/pic_pointers.asm create mode 100644 docs/battle_anim_commands.md delete mode 100644 docs/move_anim_commands.md delete mode 100644 engine/anims/anim_commands.asm delete mode 100644 engine/anims/bg_effects.asm delete mode 100755 engine/anims/engine.asm delete mode 100755 engine/anims/functions.asm delete mode 100755 engine/anims/helpers.asm create mode 100644 engine/battle/battlestart_copytilemapatonce.asm create mode 100644 engine/battle/checkbattlescene.asm create mode 100644 engine/battle/consumehelditem.asm create mode 100644 engine/battle/returntobattle_useball.asm create mode 100644 engine/battle/updatebattlehuds.asm create mode 100644 engine/battle_anims/anim_commands.asm create mode 100644 engine/battle_anims/bg_effects.asm create mode 100755 engine/battle_anims/engine.asm create mode 100755 engine/battle_anims/functions.asm create mode 100755 engine/battle_anims/getpokeballwobble.asm create mode 100755 engine/battle_anims/helpers.asm delete mode 100644 engine/routines/battlestart_copytilemapatonce.asm delete mode 100644 engine/routines/checkbattlescene.asm delete mode 100644 engine/routines/consumehelditem.asm delete mode 100755 engine/routines/getpokeballwobble.asm delete mode 100644 engine/routines/kurt_selectquantity_interpretjoypad.asm delete mode 100644 engine/routines/returntobattle_useball.asm delete mode 100644 engine/routines/updatebattlehuds.asm create mode 100644 event/kurt_selectquantity_interpretjoypad.asm delete mode 100644 gfx/anims.asm delete mode 100644 gfx/anims/aeroblast.2bpp.lz.2f07c4ea delete mode 100644 gfx/anims/aeroblast.png delete mode 100644 gfx/anims/angels.2bpp.lz.b026d81e delete mode 100644 gfx/anims/angels.png delete mode 100644 gfx/anims/beam.2bpp.lz.80b6d613 delete mode 100755 gfx/anims/beam.png delete mode 100644 gfx/anims/bubble.2bpp.lz.03b8ac99 delete mode 100644 gfx/anims/bubble.png delete mode 100644 gfx/anims/charge.2bpp.lz.95d3ea98 delete mode 100644 gfx/anims/charge.png delete mode 100644 gfx/anims/cut.2bpp.lz.03d343ed delete mode 100644 gfx/anims/cut.png delete mode 100644 gfx/anims/egg.2bpp.lz.41dd1a53 delete mode 100644 gfx/anims/egg.png delete mode 100644 gfx/anims/explosion.2bpp.lz.55fc334f delete mode 100644 gfx/anims/explosion.png delete mode 100644 gfx/anims/fire.2bpp.lz.d7701cda delete mode 100644 gfx/anims/fire.png delete mode 100644 gfx/anims/flower.2bpp.lz.1bc2e9d2 delete mode 100644 gfx/anims/flower.png delete mode 100644 gfx/anims/globe.2bpp.lz.710dbb8e delete mode 100644 gfx/anims/globe.png delete mode 100644 gfx/anims/haze.2bpp.lz.91424607 delete mode 100644 gfx/anims/haze.png delete mode 100644 gfx/anims/hit.2bpp.lz.2b3c83f2 delete mode 100644 gfx/anims/hit.png delete mode 100644 gfx/anims/horn.2bpp.lz.48908aae delete mode 100644 gfx/anims/horn.png delete mode 100644 gfx/anims/ice.2bpp.lz.664d900f delete mode 100644 gfx/anims/ice.png delete mode 100644 gfx/anims/lightning.2bpp.lz.a88fc131 delete mode 100755 gfx/anims/lightning.png delete mode 100644 gfx/anims/misc.2bpp.lz.4b20c3d7 delete mode 100755 gfx/anims/misc.png delete mode 100644 gfx/anims/noise.2bpp.lz.acb4a76e delete mode 100755 gfx/anims/noise.png delete mode 100644 gfx/anims/objects.2bpp.lz.83f812de delete mode 100755 gfx/anims/objects.png delete mode 100644 gfx/anims/plant.2bpp.lz.4a00c417 delete mode 100644 gfx/anims/plant.png delete mode 100644 gfx/anims/poison.2bpp.lz.fc7dc9c1 delete mode 100755 gfx/anims/poison.png delete mode 100644 gfx/anims/pokeball.2bpp.lz.c58f7e01 delete mode 100755 gfx/anims/pokeball.png delete mode 100644 gfx/anims/powder.2bpp.lz.bfd566bb delete mode 100644 gfx/anims/powder.png delete mode 100644 gfx/anims/psychic.2bpp.lz.d80f285c delete mode 100644 gfx/anims/psychic.png delete mode 100644 gfx/anims/reflect.2bpp.lz.9a9c822d delete mode 100644 gfx/anims/reflect.png delete mode 100644 gfx/anims/rocks.2bpp.lz.73d0153e delete mode 100755 gfx/anims/rocks.png delete mode 100644 gfx/anims/rope.2bpp.lz.209d63dd delete mode 100644 gfx/anims/rope.png delete mode 100644 gfx/anims/sand.2bpp.lz.c87c0eaa delete mode 100755 gfx/anims/sand.png delete mode 100644 gfx/anims/shapes.2bpp.lz.262d77f0 delete mode 100644 gfx/anims/shapes.png delete mode 100644 gfx/anims/shine.2bpp.lz.5fb79056 delete mode 100644 gfx/anims/shine.png delete mode 100644 gfx/anims/skyattack.2bpp.lz.31738ab8 delete mode 100644 gfx/anims/skyattack.png delete mode 100644 gfx/anims/smoke.2bpp.lz.aa05905e delete mode 100644 gfx/anims/smoke.png delete mode 100644 gfx/anims/speed.2bpp.lz.1732b364 delete mode 100644 gfx/anims/speed.png delete mode 100644 gfx/anims/status.2bpp.lz.0c0aa13e delete mode 100644 gfx/anims/status.png delete mode 100644 gfx/anims/water.2bpp.lz.7b52ed12 delete mode 100644 gfx/anims/water.png delete mode 100644 gfx/anims/wave.2bpp.lz.bee99402 delete mode 100644 gfx/anims/wave.png delete mode 100644 gfx/anims/web.2bpp.lz.80e3d480 delete mode 100644 gfx/anims/web.png delete mode 100644 gfx/anims/whip.2bpp.lz.d80d8d6e delete mode 100644 gfx/anims/whip.png delete mode 100644 gfx/anims/wind.2bpp.lz.5a785180 delete mode 100644 gfx/anims/wind.png create mode 100644 gfx/battle_anims.asm create mode 100644 gfx/battle_anims/aeroblast.2bpp.lz.2f07c4ea create mode 100644 gfx/battle_anims/aeroblast.png create mode 100644 gfx/battle_anims/angels.2bpp.lz.b026d81e create mode 100644 gfx/battle_anims/angels.png create mode 100644 gfx/battle_anims/beam.2bpp.lz.80b6d613 create mode 100755 gfx/battle_anims/beam.png create mode 100644 gfx/battle_anims/bubble.2bpp.lz.03b8ac99 create mode 100644 gfx/battle_anims/bubble.png create mode 100644 gfx/battle_anims/charge.2bpp.lz.95d3ea98 create mode 100644 gfx/battle_anims/charge.png create mode 100644 gfx/battle_anims/cut.2bpp.lz.03d343ed create mode 100644 gfx/battle_anims/cut.png create mode 100644 gfx/battle_anims/egg.2bpp.lz.41dd1a53 create mode 100644 gfx/battle_anims/egg.png create mode 100644 gfx/battle_anims/explosion.2bpp.lz.55fc334f create mode 100644 gfx/battle_anims/explosion.png create mode 100644 gfx/battle_anims/fire.2bpp.lz.d7701cda create mode 100644 gfx/battle_anims/fire.png create mode 100644 gfx/battle_anims/flower.2bpp.lz.1bc2e9d2 create mode 100644 gfx/battle_anims/flower.png create mode 100644 gfx/battle_anims/globe.2bpp.lz.710dbb8e create mode 100644 gfx/battle_anims/globe.png create mode 100644 gfx/battle_anims/haze.2bpp.lz.91424607 create mode 100644 gfx/battle_anims/haze.png create mode 100644 gfx/battle_anims/hit.2bpp.lz.2b3c83f2 create mode 100644 gfx/battle_anims/hit.png create mode 100644 gfx/battle_anims/horn.2bpp.lz.48908aae create mode 100644 gfx/battle_anims/horn.png create mode 100644 gfx/battle_anims/ice.2bpp.lz.664d900f create mode 100644 gfx/battle_anims/ice.png create mode 100644 gfx/battle_anims/lightning.2bpp.lz.a88fc131 create mode 100755 gfx/battle_anims/lightning.png create mode 100644 gfx/battle_anims/misc.2bpp.lz.4b20c3d7 create mode 100755 gfx/battle_anims/misc.png create mode 100644 gfx/battle_anims/noise.2bpp.lz.acb4a76e create mode 100755 gfx/battle_anims/noise.png create mode 100644 gfx/battle_anims/objects.2bpp.lz.83f812de create mode 100755 gfx/battle_anims/objects.png create mode 100644 gfx/battle_anims/plant.2bpp.lz.4a00c417 create mode 100644 gfx/battle_anims/plant.png create mode 100644 gfx/battle_anims/poison.2bpp.lz.fc7dc9c1 create mode 100755 gfx/battle_anims/poison.png create mode 100644 gfx/battle_anims/pokeball.2bpp.lz.c58f7e01 create mode 100755 gfx/battle_anims/pokeball.png create mode 100644 gfx/battle_anims/powder.2bpp.lz.bfd566bb create mode 100644 gfx/battle_anims/powder.png create mode 100644 gfx/battle_anims/psychic.2bpp.lz.d80f285c create mode 100644 gfx/battle_anims/psychic.png create mode 100644 gfx/battle_anims/reflect.2bpp.lz.9a9c822d create mode 100644 gfx/battle_anims/reflect.png create mode 100644 gfx/battle_anims/rocks.2bpp.lz.73d0153e create mode 100755 gfx/battle_anims/rocks.png create mode 100644 gfx/battle_anims/rope.2bpp.lz.209d63dd create mode 100644 gfx/battle_anims/rope.png create mode 100644 gfx/battle_anims/sand.2bpp.lz.c87c0eaa create mode 100755 gfx/battle_anims/sand.png create mode 100644 gfx/battle_anims/shapes.2bpp.lz.262d77f0 create mode 100644 gfx/battle_anims/shapes.png create mode 100644 gfx/battle_anims/shine.2bpp.lz.5fb79056 create mode 100644 gfx/battle_anims/shine.png create mode 100644 gfx/battle_anims/skyattack.2bpp.lz.31738ab8 create mode 100644 gfx/battle_anims/skyattack.png create mode 100644 gfx/battle_anims/smoke.2bpp.lz.aa05905e create mode 100644 gfx/battle_anims/smoke.png create mode 100644 gfx/battle_anims/speed.2bpp.lz.1732b364 create mode 100644 gfx/battle_anims/speed.png create mode 100644 gfx/battle_anims/status.2bpp.lz.0c0aa13e create mode 100644 gfx/battle_anims/status.png create mode 100644 gfx/battle_anims/water.2bpp.lz.7b52ed12 create mode 100644 gfx/battle_anims/water.png create mode 100644 gfx/battle_anims/wave.2bpp.lz.bee99402 create mode 100644 gfx/battle_anims/wave.png create mode 100644 gfx/battle_anims/web.2bpp.lz.80e3d480 create mode 100644 gfx/battle_anims/web.png create mode 100644 gfx/battle_anims/whip.2bpp.lz.d80d8d6e create mode 100644 gfx/battle_anims/whip.png create mode 100644 gfx/battle_anims/wind.2bpp.lz.5a785180 create mode 100644 gfx/battle_anims/wind.png delete mode 100644 gfx/icon_pointers.asm delete mode 100644 gfx/pokemon/palette_pointers.asm delete mode 100644 gfx/pokemon/pic_pointers.asm delete mode 100644 gfx/pokemon/unown_pic_pointers.asm delete mode 100644 gfx/trainer_palettes.asm delete mode 100644 gfx/trainer_pic_pointers.asm create mode 100644 macros/scripts/battle_anims.asm delete mode 100644 macros/scripts/event.asm create mode 100644 macros/scripts/events.asm delete mode 100644 macros/scripts/gfx_anim.asm create mode 100644 macros/scripts/gfx_anims.asm delete mode 100644 macros/scripts/move_anim.asm delete mode 100644 macros/scripts/trade_anim.asm create mode 100644 macros/scripts/trade_anims.asm diff --git a/Makefile b/Makefile index f507fa362..8c9137953 100644 --- a/Makefile +++ b/Makefile @@ -169,23 +169,23 @@ gfx/slots/slots_3.2bpp: tools/gfx += --interleave --png=$< --remove-duplicates - gfx/card_flip/card_flip_2.2bpp: tools/gfx += --remove-whitespace -gfx/anims/angels.2bpp: tools/gfx += --trim-whitespace -gfx/anims/beam.2bpp: tools/gfx += --remove-xflip --remove-yflip --remove-whitespace -gfx/anims/bubble.2bpp: tools/gfx += --trim-whitespace -gfx/anims/charge.2bpp: tools/gfx += --trim-whitespace -gfx/anims/egg.2bpp: tools/gfx += --remove-whitespace -gfx/anims/explosion.2bpp: tools/gfx += --remove-whitespace -gfx/anims/hit.2bpp: tools/gfx += --remove-whitespace -gfx/anims/horn.2bpp: tools/gfx += --remove-whitespace -gfx/anims/lightning.2bpp: tools/gfx += --remove-whitespace -gfx/anims/misc.2bpp: tools/gfx += --remove-duplicates --remove-xflip -gfx/anims/noise.2bpp: tools/gfx += --remove-whitespace -gfx/anims/objects.2bpp: tools/gfx += --remove-whitespace --remove-xflip -gfx/anims/pokeball.2bpp: tools/gfx += --remove-xflip --keep-whitespace -gfx/anims/reflect.2bpp: tools/gfx += --remove-whitespace -gfx/anims/rocks.2bpp: tools/gfx += --remove-whitespace -gfx/anims/skyattack.2bpp: tools/gfx += --remove-whitespace -gfx/anims/status.2bpp: tools/gfx += --remove-whitespace +gfx/battle_anims/angels.2bpp: tools/gfx += --trim-whitespace +gfx/battle_anims/beam.2bpp: tools/gfx += --remove-xflip --remove-yflip --remove-whitespace +gfx/battle_anims/bubble.2bpp: tools/gfx += --trim-whitespace +gfx/battle_anims/charge.2bpp: tools/gfx += --trim-whitespace +gfx/battle_anims/egg.2bpp: tools/gfx += --remove-whitespace +gfx/battle_anims/explosion.2bpp: tools/gfx += --remove-whitespace +gfx/battle_anims/hit.2bpp: tools/gfx += --remove-whitespace +gfx/battle_anims/horn.2bpp: tools/gfx += --remove-whitespace +gfx/battle_anims/lightning.2bpp: tools/gfx += --remove-whitespace +gfx/battle_anims/misc.2bpp: tools/gfx += --remove-duplicates --remove-xflip +gfx/battle_anims/noise.2bpp: tools/gfx += --remove-whitespace +gfx/battle_anims/objects.2bpp: tools/gfx += --remove-whitespace --remove-xflip +gfx/battle_anims/pokeball.2bpp: tools/gfx += --remove-xflip --keep-whitespace +gfx/battle_anims/reflect.2bpp: tools/gfx += --remove-whitespace +gfx/battle_anims/rocks.2bpp: tools/gfx += --remove-whitespace +gfx/battle_anims/skyattack.2bpp: tools/gfx += --remove-whitespace +gfx/battle_anims/status.2bpp: tools/gfx += --remove-whitespace gfx/player/chris.2bpp: rgbgfx += -h gfx/player/chris_back.2bpp: rgbgfx += -h diff --git a/constants.asm b/constants.asm index 3e0f5311d..116f194a1 100644 --- a/constants.asm +++ b/constants.asm @@ -8,6 +8,7 @@ INCLUDE "constants/pokemon_constants.asm" INCLUDE "constants/type_constants.asm" INCLUDE "constants/move_constants.asm" INCLUDE "constants/battle_constants.asm" +INCLUDE "constants/battle_anim_constants.asm" INCLUDE "constants/map_constants.asm" INCLUDE "constants/map_data_constants.asm" INCLUDE "constants/map_setup_constants.asm" @@ -20,12 +21,12 @@ INCLUDE "constants/event_flags.asm" INCLUDE "constants/engine_flags.asm" INCLUDE "constants/music_constants.asm" INCLUDE "constants/sfx_constants.asm" -INCLUDE "constants/animation_constants.asm" INCLUDE "constants/phone_constants.asm" INCLUDE "constants/credits_constants.asm" INCLUDE "constants/gfx_constants.asm" INCLUDE "constants/input_constants.asm" INCLUDE "constants/pokemon_data_constants.asm" +INCLUDE "constants/icon_constants.asm" INCLUDE "constants/serial_constants.asm" INCLUDE "constants/mobile_constants.asm" INCLUDE "constants/misc_constants.asm" diff --git a/constants/animation_constants.asm b/constants/animation_constants.asm deleted file mode 100644 index c6f27f31d..000000000 --- a/constants/animation_constants.asm +++ /dev/null @@ -1,835 +0,0 @@ -; battle_anim_struct members (see macros/wram.asm) - const_def - const BATTLEANIMSTRUCT_INDEX - const BATTLEANIMSTRUCT_01 - const BATTLEANIMSTRUCT_02 - const BATTLEANIMSTRUCT_FRAMESET_ID - const BATTLEANIMSTRUCT_FUNCTION - const BATTLEANIMSTRUCT_PALETTE - const BATTLEANIMSTRUCT_TILEID - const BATTLEANIMSTRUCT_XCOORD - const BATTLEANIMSTRUCT_YCOORD - const BATTLEANIMSTRUCT_XOFFSET - const BATTLEANIMSTRUCT_YOFFSET - const BATTLEANIMSTRUCT_0B - const BATTLEANIMSTRUCT_DURATION - const BATTLEANIMSTRUCT_FRAME - const BATTLEANIMSTRUCT_ANON_JT_INDEX - const BATTLEANIMSTRUCT_0F - const BATTLEANIMSTRUCT_10 - const BATTLEANIMSTRUCT_11 - const BATTLEANIMSTRUCT_12 - const BATTLEANIMSTRUCT_13 - const BATTLEANIMSTRUCT_14 - const BATTLEANIMSTRUCT_15 - const BATTLEANIMSTRUCT_16 - const BATTLEANIMSTRUCT_17 -BATTLEANIMSTRUCT_LENGTH EQU const_value - -; BattleAnimObjects indexes (see data/anims/objects.asm) - const_def - const ANIM_OBJ_00 - const ANIM_OBJ_01 - const ANIM_OBJ_02 - const ANIM_OBJ_03 - const ANIM_OBJ_04 - const ANIM_OBJ_05 - const ANIM_OBJ_06 - const ANIM_OBJ_07 - const ANIM_OBJ_08 - const ANIM_OBJ_09 - const ANIM_OBJ_0A - const ANIM_OBJ_0B - const ANIM_OBJ_0C - const ANIM_OBJ_0D - const ANIM_OBJ_0E - const ANIM_OBJ_0F - const ANIM_OBJ_BURNED - const ANIM_OBJ_BLIZZARD - const ANIM_OBJ_12 - const ANIM_OBJ_ICE_BEAM - const ANIM_OBJ_RAZOR_LEAF - const ANIM_OBJ_POKE_BALL - const ANIM_OBJ_POKE_BALL_BLOCKED - const ANIM_OBJ_17 - const ANIM_OBJ_18 - const ANIM_OBJ_19 - const ANIM_OBJ_1A - const ANIM_OBJ_1B - const ANIM_OBJ_BALL_POOF - const ANIM_OBJ_1D - const ANIM_OBJ_1E - const ANIM_OBJ_1F - const ANIM_OBJ_20 - const ANIM_OBJ_BUBBLE - const ANIM_OBJ_22 - const ANIM_OBJ_23 - const ANIM_OBJ_24 - const ANIM_OBJ_25 - const ANIM_OBJ_26 - const ANIM_OBJ_27 - const ANIM_OBJ_28 - const ANIM_OBJ_ICE_BUILDUP - const ANIM_OBJ_FROZEN - const ANIM_OBJ_MASTER_BALL_SPARKLE - const ANIM_OBJ_2C - const ANIM_OBJ_2D - const ANIM_OBJ_2E - const ANIM_OBJ_2F - const ANIM_OBJ_30 - const ANIM_OBJ_31 - const ANIM_OBJ_LIGHTNING_BOLT - const ANIM_OBJ_33 - const ANIM_OBJ_34 - const ANIM_OBJ_35 - const ANIM_OBJ_36 - const ANIM_OBJ_37 - const ANIM_OBJ_38 - const ANIM_OBJ_39 - const ANIM_OBJ_3A - const ANIM_OBJ_3B - const ANIM_OBJ_3C - const ANIM_OBJ_3D - const ANIM_OBJ_GUST - const ANIM_OBJ_3F - const ANIM_OBJ_40 - const ANIM_OBJ_41 - const ANIM_OBJ_42 - const ANIM_OBJ_43 - const ANIM_OBJ_44 - const ANIM_OBJ_ABSORB - const ANIM_OBJ_46 - const ANIM_OBJ_47 - const ANIM_OBJ_48 - const ANIM_OBJ_49 - const ANIM_OBJ_LEECH_SEED - const ANIM_OBJ_4B - const ANIM_OBJ_4C - const ANIM_OBJ_4D - const ANIM_OBJ_4E - const ANIM_OBJ_4F - const ANIM_OBJ_50 - const ANIM_OBJ_51 - const ANIM_OBJ_CHICK - const ANIM_OBJ_53 - const ANIM_OBJ_54 - const ANIM_OBJ_SKULL - const ANIM_OBJ_56 - const ANIM_OBJ_57 - const ANIM_OBJ_58 - const ANIM_OBJ_PARALYZED - const ANIM_OBJ_5A - const ANIM_OBJ_HAZE - const ANIM_OBJ_MIST - const ANIM_OBJ_SMOG - const ANIM_OBJ_POISON_GAS - const ANIM_OBJ_HORN - const ANIM_OBJ_60 - const ANIM_OBJ_61 - const ANIM_OBJ_62 - const ANIM_OBJ_63 - const ANIM_OBJ_64 - const ANIM_OBJ_65 - const ANIM_OBJ_66 - const ANIM_OBJ_67 - const ANIM_OBJ_68 - const ANIM_OBJ_69 - const ANIM_OBJ_6A - const ANIM_OBJ_6B - const ANIM_OBJ_6C - const ANIM_OBJ_6D - const ANIM_OBJ_SKY_ATTACK_FEAROW - const ANIM_OBJ_LICK - const ANIM_OBJ_WITHDRAW - const ANIM_OBJ_71 - const ANIM_OBJ_72 - const ANIM_OBJ_73 - const ANIM_OBJ_74 - const ANIM_OBJ_75 - const ANIM_OBJ_76 - const ANIM_OBJ_77 - const ANIM_OBJ_78 - const ANIM_OBJ_79 - const ANIM_OBJ_7A - const ANIM_OBJ_7B - const ANIM_OBJ_7C - const ANIM_OBJ_7D - const ANIM_OBJ_HEART - const ANIM_OBJ_7F - const ANIM_OBJ_80 - const ANIM_OBJ_COTTON_SPORE - const ANIM_OBJ_82 - const ANIM_OBJ_83 - const ANIM_OBJ_84 - const ANIM_OBJ_85 - const ANIM_OBJ_86 - const ANIM_OBJ_87 - const ANIM_OBJ_88 - const ANIM_OBJ_89 - const ANIM_OBJ_8A - const ANIM_OBJ_8B - const ANIM_OBJ_8C - const ANIM_OBJ_8D - const ANIM_OBJ_SPIKES - const ANIM_OBJ_8F - const ANIM_OBJ_90 - const ANIM_OBJ_91 - const ANIM_OBJ_92 - const ANIM_OBJ_93 - const ANIM_OBJ_94 - const ANIM_OBJ_95 - const ANIM_OBJ_96 - const ANIM_OBJ_97 - const ANIM_OBJ_98 - const ANIM_OBJ_99 - const ANIM_OBJ_9A - const ANIM_OBJ_9B - const ANIM_OBJ_9C - const ANIM_OBJ_9D - const ANIM_OBJ_9E - const ANIM_OBJ_9F - const ANIM_OBJ_A0 - const ANIM_OBJ_A1 - const ANIM_OBJ_A2 - const ANIM_OBJ_A3 - const ANIM_OBJ_A4 - const ANIM_OBJ_A5 - const ANIM_OBJ_PERISH_SONG - const ANIM_OBJ_A7 - const ANIM_OBJ_A8 - const ANIM_OBJ_A9 - const ANIM_OBJ_AA - const ANIM_OBJ_AB - const ANIM_OBJ_AC - const ANIM_OBJ_AD - const ANIM_OBJ_AE - const ANIM_OBJ_AF - const ANIM_OBJ_B0 - const ANIM_OBJ_B1 - const ANIM_OBJ_B2 - const ANIM_OBJ_B3 - const ANIM_OBJ_B4 - const ANIM_OBJ_B5 - const ANIM_OBJ_FLOWER - const ANIM_OBJ_COTTON - const ANIM_OBJ_PLAYERFEETFOLLOW - const ANIM_OBJ_ENEMYFEETFOLLOW - const ANIM_OBJ_BA - const ANIM_OBJ_BB - -; DoBattleAnimFrame arguments (see engine/anims/functions.asm) - const_def - const BATTLEANIMFUNC_00 - const BATTLEANIMFUNC_01 - const BATTLEANIMFUNC_02 - const BATTLEANIMFUNC_03 - const BATTLEANIMFUNC_04 - const BATTLEANIMFUNC_05 - const BATTLEANIMFUNC_06 - const BATTLEANIMFUNC_07 - const BATTLEANIMFUNC_08 - const BATTLEANIMFUNC_09 - const BATTLEANIMFUNC_0A - const BATTLEANIMFUNC_RAZOR_LEAF - const BATTLEANIMFUNC_0C - const BATTLEANIMFUNC_0D - const BATTLEANIMFUNC_0E - const BATTLEANIMFUNC_0F - const BATTLEANIMFUNC_10 - const BATTLEANIMFUNC_11 - const BATTLEANIMFUNC_12 - const BATTLEANIMFUNC_13 - const BATTLEANIMFUNC_14 - const BATTLEANIMFUNC_15 - const BATTLEANIMFUNC_16 - const BATTLEANIMFUNC_17 - const BATTLEANIMFUNC_18 - const BATTLEANIMFUNC_19 - const BATTLEANIMFUNC_1A - const BATTLEANIMFUNC_1B - const BATTLEANIMFUNC_1C - const BATTLEANIMFUNC_1D - const BATTLEANIMFUNC_1E - const BATTLEANIMFUNC_1F - const BATTLEANIMFUNC_LEECH_SEED - const BATTLEANIMFUNC_21 - const BATTLEANIMFUNC_22 - const BATTLEANIMFUNC_23 - const BATTLEANIMFUNC_24 - const BATTLEANIMFUNC_25 - const BATTLEANIMFUNC_26 - const BATTLEANIMFUNC_27 - const BATTLEANIMFUNC_28 - const BATTLEANIMFUNC_SPRIAL_DESCENT - const BATTLEANIMFUNC_POISON_GAS - const BATTLEANIMFUNC_HORN - const BATTLEANIMFUNC_2C - const BATTLEANIMFUNC_2D - const BATTLEANIMFUNC_2E - const BATTLEANIMFUNC_2F - const BATTLEANIMFUNC_30 - const BATTLEANIMFUNC_31 - const BATTLEANIMFUNC_32 - const BATTLEANIMFUNC_33 - const BATTLEANIMFUNC_34 - const BATTLEANIMFUNC_35 - const BATTLEANIMFUNC_36 - const BATTLEANIMFUNC_37 - const BATTLEANIMFUNC_38 - const BATTLEANIMFUNC_39 - const BATTLEANIMFUNC_3A - const BATTLEANIMFUNC_3B - const BATTLEANIMFUNC_3C - const BATTLEANIMFUNC_3D - const BATTLEANIMFUNC_3E - const BATTLEANIMFUNC_3F - const BATTLEANIMFUNC_40 - const BATTLEANIMFUNC_41 - const BATTLEANIMFUNC_42 - const BATTLEANIMFUNC_43 - const BATTLEANIMFUNC_44 - const BATTLEANIMFUNC_45 - const BATTLEANIMFUNC_46 - const BATTLEANIMFUNC_47 - const BATTLEANIMFUNC_48 - const BATTLEANIMFUNC_49 - const BATTLEANIMFUNC_4A - const BATTLEANIMFUNC_4B - const BATTLEANIMFUNC_4C - const BATTLEANIMFUNC_4D - const BATTLEANIMFUNC_4E - const BATTLEANIMFUNC_4F - -; BattleAnimFrameData indexes (see data/anims/framesets.asm) - const_def - const BATTLEANIMFRAMESET_00 - const BATTLEANIMFRAMESET_01 - const BATTLEANIMFRAMESET_02 - const BATTLEANIMFRAMESET_03 - const BATTLEANIMFRAMESET_04 - const BATTLEANIMFRAMESET_05 - const BATTLEANIMFRAMESET_06 - const BATTLEANIMFRAMESET_07 - const BATTLEANIMFRAMESET_08 - const BATTLEANIMFRAMESET_09 - const BATTLEANIMFRAMESET_0A - const BATTLEANIMFRAMESET_0B - const BATTLEANIMFRAMESET_0C - const BATTLEANIMFRAMESET_0D - const BATTLEANIMFRAMESET_0E - const BATTLEANIMFRAMESET_0F - const BATTLEANIMFRAMESET_10 - const BATTLEANIMFRAMESET_11 - const BATTLEANIMFRAMESET_12 - const BATTLEANIMFRAMESET_13 - const BATTLEANIMFRAMESET_14 - const BATTLEANIMFRAMESET_15 - const BATTLEANIMFRAMESET_16 - const BATTLEANIMFRAMESET_17 - const BATTLEANIMFRAMESET_18 - const BATTLEANIMFRAMESET_19 - const BATTLEANIMFRAMESET_1A - const BATTLEANIMFRAMESET_1B - const BATTLEANIMFRAMESET_1C - const BATTLEANIMFRAMESET_1D - const BATTLEANIMFRAMESET_1E - const BATTLEANIMFRAMESET_1F - const BATTLEANIMFRAMESET_20 - const BATTLEANIMFRAMESET_21 - const BATTLEANIMFRAMESET_22 - const BATTLEANIMFRAMESET_23 - const BATTLEANIMFRAMESET_24 - const BATTLEANIMFRAMESET_25 - const BATTLEANIMFRAMESET_26 - const BATTLEANIMFRAMESET_27 - const BATTLEANIMFRAMESET_28 - const BATTLEANIMFRAMESET_29 - const BATTLEANIMFRAMESET_2A - const BATTLEANIMFRAMESET_2B - const BATTLEANIMFRAMESET_2C - const BATTLEANIMFRAMESET_2D - const BATTLEANIMFRAMESET_2E - const BATTLEANIMFRAMESET_2F - const BATTLEANIMFRAMESET_30 - const BATTLEANIMFRAMESET_31 - const BATTLEANIMFRAMESET_32 - const BATTLEANIMFRAMESET_33 - const BATTLEANIMFRAMESET_34 - const BATTLEANIMFRAMESET_35 - const BATTLEANIMFRAMESET_36 - const BATTLEANIMFRAMESET_37 - const BATTLEANIMFRAMESET_38 - const BATTLEANIMFRAMESET_39 - const BATTLEANIMFRAMESET_3A - const BATTLEANIMFRAMESET_3B - const BATTLEANIMFRAMESET_3C - const BATTLEANIMFRAMESET_3D - const BATTLEANIMFRAMESET_3E - const BATTLEANIMFRAMESET_3F - const BATTLEANIMFRAMESET_40 - const BATTLEANIMFRAMESET_41 - const BATTLEANIMFRAMESET_42 - const BATTLEANIMFRAMESET_43 - const BATTLEANIMFRAMESET_44 - const BATTLEANIMFRAMESET_45 - const BATTLEANIMFRAMESET_46 - const BATTLEANIMFRAMESET_47 - const BATTLEANIMFRAMESET_48 - const BATTLEANIMFRAMESET_49 - const BATTLEANIMFRAMESET_4A - const BATTLEANIMFRAMESET_4B - const BATTLEANIMFRAMESET_4C - const BATTLEANIMFRAMESET_4D - const BATTLEANIMFRAMESET_4E - const BATTLEANIMFRAMESET_4F - const BATTLEANIMFRAMESET_50 - const BATTLEANIMFRAMESET_51 - const BATTLEANIMFRAMESET_52 - const BATTLEANIMFRAMESET_53 - const BATTLEANIMFRAMESET_54 - const BATTLEANIMFRAMESET_55 - const BATTLEANIMFRAMESET_56 - const BATTLEANIMFRAMESET_57 - const BATTLEANIMFRAMESET_58 - const BATTLEANIMFRAMESET_59 - const BATTLEANIMFRAMESET_5A - const BATTLEANIMFRAMESET_5B - const BATTLEANIMFRAMESET_5C - const BATTLEANIMFRAMESET_5D - const BATTLEANIMFRAMESET_5E - const BATTLEANIMFRAMESET_5F - const BATTLEANIMFRAMESET_60 - const BATTLEANIMFRAMESET_61 - const BATTLEANIMFRAMESET_62 - const BATTLEANIMFRAMESET_63 - const BATTLEANIMFRAMESET_64 - const BATTLEANIMFRAMESET_65 - const BATTLEANIMFRAMESET_66 - const BATTLEANIMFRAMESET_67 - const BATTLEANIMFRAMESET_68 - const BATTLEANIMFRAMESET_69 - const BATTLEANIMFRAMESET_6A - const BATTLEANIMFRAMESET_6B - const BATTLEANIMFRAMESET_6C - const BATTLEANIMFRAMESET_6D - const BATTLEANIMFRAMESET_6E - const BATTLEANIMFRAMESET_6F - const BATTLEANIMFRAMESET_70 - const BATTLEANIMFRAMESET_71 - const BATTLEANIMFRAMESET_72 - const BATTLEANIMFRAMESET_73 - const BATTLEANIMFRAMESET_74 - const BATTLEANIMFRAMESET_75 - const BATTLEANIMFRAMESET_76 - const BATTLEANIMFRAMESET_77 - const BATTLEANIMFRAMESET_78 - const BATTLEANIMFRAMESET_79 - const BATTLEANIMFRAMESET_7A - const BATTLEANIMFRAMESET_7B - const BATTLEANIMFRAMESET_7C - const BATTLEANIMFRAMESET_7D - const BATTLEANIMFRAMESET_7E - const BATTLEANIMFRAMESET_7F - const BATTLEANIMFRAMESET_80 - const BATTLEANIMFRAMESET_81 - const BATTLEANIMFRAMESET_82 - const BATTLEANIMFRAMESET_83 - const BATTLEANIMFRAMESET_84 - const BATTLEANIMFRAMESET_85 - const BATTLEANIMFRAMESET_86 - const BATTLEANIMFRAMESET_87 - const BATTLEANIMFRAMESET_88 - const BATTLEANIMFRAMESET_89 - const BATTLEANIMFRAMESET_8A - const BATTLEANIMFRAMESET_8B - const BATTLEANIMFRAMESET_8C - const BATTLEANIMFRAMESET_8D - const BATTLEANIMFRAMESET_8E - const BATTLEANIMFRAMESET_8F - const BATTLEANIMFRAMESET_90 - const BATTLEANIMFRAMESET_91 - const BATTLEANIMFRAMESET_92 - const BATTLEANIMFRAMESET_93 - const BATTLEANIMFRAMESET_94 - const BATTLEANIMFRAMESET_95 - const BATTLEANIMFRAMESET_96 - const BATTLEANIMFRAMESET_97 - const BATTLEANIMFRAMESET_98 - const BATTLEANIMFRAMESET_99 - const BATTLEANIMFRAMESET_9A - const BATTLEANIMFRAMESET_9B - const BATTLEANIMFRAMESET_9C - const BATTLEANIMFRAMESET_9D - const BATTLEANIMFRAMESET_9E - const BATTLEANIMFRAMESET_9F - const BATTLEANIMFRAMESET_A0 - const BATTLEANIMFRAMESET_A1 - const BATTLEANIMFRAMESET_A2 - const BATTLEANIMFRAMESET_A3 - const BATTLEANIMFRAMESET_A4 - const BATTLEANIMFRAMESET_A5 - const BATTLEANIMFRAMESET_A6 - const BATTLEANIMFRAMESET_A7 - const BATTLEANIMFRAMESET_A8 - const BATTLEANIMFRAMESET_A9 - const BATTLEANIMFRAMESET_AA - const BATTLEANIMFRAMESET_AB - const BATTLEANIMFRAMESET_AC - const BATTLEANIMFRAMESET_AD - const BATTLEANIMFRAMESET_AE - const BATTLEANIMFRAMESET_AF - const BATTLEANIMFRAMESET_B0 - const BATTLEANIMFRAMESET_B1 - const BATTLEANIMFRAMESET_B2 - const BATTLEANIMFRAMESET_B3 - const BATTLEANIMFRAMESET_B4 - const BATTLEANIMFRAMESET_B5 - const BATTLEANIMFRAMESET_B6 - const BATTLEANIMFRAMESET_B7 - const BATTLEANIMFRAMESET_B8 - -; BattleAnimOAMData indexes (see data/anims/oam.asm) - const_def - const BATTLEANIMOAMSET_00 - const BATTLEANIMOAMSET_01 - const BATTLEANIMOAMSET_02 - const BATTLEANIMOAMSET_03 - const BATTLEANIMOAMSET_04 - const BATTLEANIMOAMSET_05 - const BATTLEANIMOAMSET_06 - const BATTLEANIMOAMSET_07 - const BATTLEANIMOAMSET_08 - const BATTLEANIMOAMSET_09 - const BATTLEANIMOAMSET_0A - const BATTLEANIMOAMSET_0B - const BATTLEANIMOAMSET_0C - const BATTLEANIMOAMSET_0D - const BATTLEANIMOAMSET_0E - const BATTLEANIMOAMSET_0F - const BATTLEANIMOAMSET_10 - const BATTLEANIMOAMSET_11 - const BATTLEANIMOAMSET_12 - const BATTLEANIMOAMSET_13 - const BATTLEANIMOAMSET_14 - const BATTLEANIMOAMSET_15 - const BATTLEANIMOAMSET_16 - const BATTLEANIMOAMSET_17 - const BATTLEANIMOAMSET_18 - const BATTLEANIMOAMSET_19 - const BATTLEANIMOAMSET_1A - const BATTLEANIMOAMSET_1B - const BATTLEANIMOAMSET_1C - const BATTLEANIMOAMSET_1D - const BATTLEANIMOAMSET_1E - const BATTLEANIMOAMSET_1F - const BATTLEANIMOAMSET_20 - const BATTLEANIMOAMSET_21 - const BATTLEANIMOAMSET_22 - const BATTLEANIMOAMSET_23 - const BATTLEANIMOAMSET_24 - const BATTLEANIMOAMSET_25 - const BATTLEANIMOAMSET_26 - const BATTLEANIMOAMSET_27 - const BATTLEANIMOAMSET_28 - const BATTLEANIMOAMSET_29 - const BATTLEANIMOAMSET_2A - const BATTLEANIMOAMSET_2B - const BATTLEANIMOAMSET_2C - const BATTLEANIMOAMSET_2D - const BATTLEANIMOAMSET_2E - const BATTLEANIMOAMSET_2F - const BATTLEANIMOAMSET_30 - const BATTLEANIMOAMSET_31 - const BATTLEANIMOAMSET_32 - const BATTLEANIMOAMSET_33 - const BATTLEANIMOAMSET_34 - const BATTLEANIMOAMSET_35 - const BATTLEANIMOAMSET_36 - const BATTLEANIMOAMSET_37 - const BATTLEANIMOAMSET_38 - const BATTLEANIMOAMSET_39 - const BATTLEANIMOAMSET_3A - const BATTLEANIMOAMSET_3B - const BATTLEANIMOAMSET_3C - const BATTLEANIMOAMSET_3D - const BATTLEANIMOAMSET_3E - const BATTLEANIMOAMSET_3F - const BATTLEANIMOAMSET_40 - const BATTLEANIMOAMSET_41 - const BATTLEANIMOAMSET_42 - const BATTLEANIMOAMSET_43 - const BATTLEANIMOAMSET_44 - const BATTLEANIMOAMSET_45 - const BATTLEANIMOAMSET_46 - const BATTLEANIMOAMSET_47 - const BATTLEANIMOAMSET_48 - const BATTLEANIMOAMSET_49 - const BATTLEANIMOAMSET_4A - const BATTLEANIMOAMSET_4B - const BATTLEANIMOAMSET_4C - const BATTLEANIMOAMSET_4D - const BATTLEANIMOAMSET_4E - const BATTLEANIMOAMSET_4F - const BATTLEANIMOAMSET_50 - const BATTLEANIMOAMSET_51 - const BATTLEANIMOAMSET_52 - const BATTLEANIMOAMSET_53 - const BATTLEANIMOAMSET_54 - const BATTLEANIMOAMSET_55 - const BATTLEANIMOAMSET_56 - const BATTLEANIMOAMSET_57 - const BATTLEANIMOAMSET_58 - const BATTLEANIMOAMSET_59 - const BATTLEANIMOAMSET_5A - const BATTLEANIMOAMSET_5B - const BATTLEANIMOAMSET_5C - const BATTLEANIMOAMSET_5D - const BATTLEANIMOAMSET_5E - const BATTLEANIMOAMSET_5F - const BATTLEANIMOAMSET_60 - const BATTLEANIMOAMSET_61 - const BATTLEANIMOAMSET_62 - const BATTLEANIMOAMSET_63 - const BATTLEANIMOAMSET_64 - const BATTLEANIMOAMSET_65 - const BATTLEANIMOAMSET_66 - const BATTLEANIMOAMSET_67 - const BATTLEANIMOAMSET_68 - const BATTLEANIMOAMSET_69 - const BATTLEANIMOAMSET_6A - const BATTLEANIMOAMSET_6B - const BATTLEANIMOAMSET_6C - const BATTLEANIMOAMSET_6D - const BATTLEANIMOAMSET_6E - const BATTLEANIMOAMSET_6F - const BATTLEANIMOAMSET_70 - const BATTLEANIMOAMSET_71 - const BATTLEANIMOAMSET_72 - const BATTLEANIMOAMSET_73 - const BATTLEANIMOAMSET_74 - const BATTLEANIMOAMSET_75 - const BATTLEANIMOAMSET_76 - const BATTLEANIMOAMSET_77 - const BATTLEANIMOAMSET_78 - const BATTLEANIMOAMSET_79 - const BATTLEANIMOAMSET_7A - const BATTLEANIMOAMSET_7B - const BATTLEANIMOAMSET_7C - const BATTLEANIMOAMSET_7D - const BATTLEANIMOAMSET_7E - const BATTLEANIMOAMSET_7F - const BATTLEANIMOAMSET_80 - const BATTLEANIMOAMSET_81 - const BATTLEANIMOAMSET_82 - const BATTLEANIMOAMSET_83 - const BATTLEANIMOAMSET_84 - const BATTLEANIMOAMSET_85 - const BATTLEANIMOAMSET_86 - const BATTLEANIMOAMSET_87 - const BATTLEANIMOAMSET_88 - const BATTLEANIMOAMSET_89 - const BATTLEANIMOAMSET_8A - const BATTLEANIMOAMSET_8B - const BATTLEANIMOAMSET_8C - const BATTLEANIMOAMSET_8D - const BATTLEANIMOAMSET_8E - const BATTLEANIMOAMSET_8F - const BATTLEANIMOAMSET_90 - const BATTLEANIMOAMSET_91 - const BATTLEANIMOAMSET_92 - const BATTLEANIMOAMSET_93 - const BATTLEANIMOAMSET_94 - const BATTLEANIMOAMSET_95 - const BATTLEANIMOAMSET_96 - const BATTLEANIMOAMSET_97 - const BATTLEANIMOAMSET_98 - const BATTLEANIMOAMSET_99 - const BATTLEANIMOAMSET_9A - const BATTLEANIMOAMSET_9B - const BATTLEANIMOAMSET_9C - const BATTLEANIMOAMSET_9D - const BATTLEANIMOAMSET_9E - const BATTLEANIMOAMSET_9F - const BATTLEANIMOAMSET_A0 - const BATTLEANIMOAMSET_A1 - const BATTLEANIMOAMSET_A2 - const BATTLEANIMOAMSET_A3 - const BATTLEANIMOAMSET_A4 - const BATTLEANIMOAMSET_A5 - const BATTLEANIMOAMSET_A6 - const BATTLEANIMOAMSET_A7 - const BATTLEANIMOAMSET_A8 - const BATTLEANIMOAMSET_A9 - const BATTLEANIMOAMSET_AA - const BATTLEANIMOAMSET_AB - const BATTLEANIMOAMSET_AC - const BATTLEANIMOAMSET_AD - const BATTLEANIMOAMSET_AE - const BATTLEANIMOAMSET_AF - const BATTLEANIMOAMSET_B0 - const BATTLEANIMOAMSET_B1 - const BATTLEANIMOAMSET_B2 - const BATTLEANIMOAMSET_B3 - const BATTLEANIMOAMSET_B4 - const BATTLEANIMOAMSET_B5 - const BATTLEANIMOAMSET_B6 - const BATTLEANIMOAMSET_B7 - const BATTLEANIMOAMSET_B8 - const BATTLEANIMOAMSET_B9 - const BATTLEANIMOAMSET_BA - const BATTLEANIMOAMSET_BB - const BATTLEANIMOAMSET_BC - const BATTLEANIMOAMSET_BD - const BATTLEANIMOAMSET_BE - const BATTLEANIMOAMSET_BF - const BATTLEANIMOAMSET_C0 - const BATTLEANIMOAMSET_C1 - const BATTLEANIMOAMSET_C2 - const BATTLEANIMOAMSET_C3 - const BATTLEANIMOAMSET_C4 - const BATTLEANIMOAMSET_C5 - const BATTLEANIMOAMSET_C6 - const BATTLEANIMOAMSET_C7 - const BATTLEANIMOAMSET_C8 - const BATTLEANIMOAMSET_C9 - const BATTLEANIMOAMSET_CA - const BATTLEANIMOAMSET_CB - const BATTLEANIMOAMSET_CC - const BATTLEANIMOAMSET_CD - const BATTLEANIMOAMSET_CE - const BATTLEANIMOAMSET_CF - const BATTLEANIMOAMSET_D0 - const BATTLEANIMOAMSET_D1 - const BATTLEANIMOAMSET_D2 - const BATTLEANIMOAMSET_D3 - const BATTLEANIMOAMSET_D4 - const BATTLEANIMOAMSET_D5 - const BATTLEANIMOAMSET_D6 - const BATTLEANIMOAMSET_D7 - -; BattleBGEffects indexes (see engine/anims/bg_effects.asm) -const_value SET 1 - const ANIM_BG_FLASH_INVERTED - const ANIM_BG_FLASH_WHITE - const ANIM_BG_WHITE_HUES - const ANIM_BG_BLACK_HUES - const ANIM_BG_ALTERNATE_HUES - const ANIM_BG_06 - const ANIM_BG_07 - const ANIM_BG_08 - const ANIM_BG_HIDE_MON - const ANIM_BG_SHOW_MON - const ANIM_BG_ENTER_MON - const ANIM_BG_RETURN_MON - const ANIM_BG_SURF - const ANIM_BG_WHIRLPOOL - const ANIM_BG_TELEPORT - const ANIM_BG_NIGHT_SHADE - const ANIM_BG_FEET_FOLLOW - const ANIM_BG_HEAD_FOLLOW - const ANIM_BG_DOUBLE_TEAM - const ANIM_BG_ACID_ARMOR - const ANIM_BG_RAPID_FLASH - const ANIM_BG_16 - const ANIM_BG_17 - const ANIM_BG_18 - const ANIM_BG_19 - const ANIM_BG_1A - const ANIM_BG_1B - const ANIM_BG_1C - const ANIM_BG_1D - const ANIM_BG_1E - const ANIM_BG_1F - const ANIM_BG_20 - const ANIM_BG_WITHDRAW - const ANIM_BG_BOUNCE_DOWN - const ANIM_BG_DIG - const ANIM_BG_TACKLE - const ANIM_BG_25 - const ANIM_BG_26 - const ANIM_BG_27 - const ANIM_BG_WAVE_DEFORM_USER - const ANIM_BG_PSYCHIC - const ANIM_BG_2A - const ANIM_BG_2B - const ANIM_BG_2C - const ANIM_BG_2D - const ANIM_BG_2E - const ANIM_BG_2F - const ANIM_BG_30 - const ANIM_BG_31 - const ANIM_BG_32 - const ANIM_BG_VIBRATE_MON - const ANIM_BG_WOBBLE_MON - const ANIM_BG_35 - -; AnimObjGFX indexes (see data/anims/object_gfx.asm) -const_value SET 1 - const ANIM_GFX_HIT - const ANIM_GFX_CUT - const ANIM_GFX_FIRE - const ANIM_GFX_WATER - const ANIM_GFX_LIGHTNING - const ANIM_GFX_PLANT - const ANIM_GFX_SMOKE - const ANIM_GFX_EXPLOSION - const ANIM_GFX_ROCKS - const ANIM_GFX_ICE - const ANIM_GFX_POKE_BALL - const ANIM_GFX_POISON - const ANIM_GFX_BUBBLE - const ANIM_GFX_NOISE - const ANIM_GFX_POWDER - const ANIM_GFX_BEAM - const ANIM_GFX_SPEED - const ANIM_GFX_CHARGE - const ANIM_GFX_WIND - const ANIM_GFX_WHIP - const ANIM_GFX_EGG - const ANIM_GFX_ROPE - const ANIM_GFX_PSYCHIC - const ANIM_GFX_REFLECT - const ANIM_GFX_STATUS - const ANIM_GFX_SAND - const ANIM_GFX_WEB - const ANIM_GFX_HAZE - const ANIM_GFX_HORN - const ANIM_GFX_FLOWER - const ANIM_GFX_MISC - const ANIM_GFX_SKY_ATTACK - const ANIM_GFX_GLOBE - const ANIM_GFX_SHAPES - const ANIM_GFX_OBJECTS - const ANIM_GFX_SHINE - const ANIM_GFX_ANGELS - const ANIM_GFX_WAVE - const ANIM_GFX_AEROBLAST - -; battle_bg_effect struct members (see macros/wram.asm) - const_def - const BG_EFFECT_STRUCT_FUNCTION - const BG_EFFECT_STRUCT_JT_INDEX - const BG_EFFECT_STRUCT_BATTLE_TURN - const BG_EFFECT_STRUCT_03 - -; battle palettes - const_def - const PAL_BATTLE_BG_PLAYER ; 0 - const PAL_BATTLE_BG_ENEMY ; 1 - const PAL_BATTLE_BG_ENEMY_HP ; 2 - const PAL_BATTLE_BG_PLAYER_HP ; 3 - const PAL_BATTLE_BG_EXP ; 4 - const PAL_BATTLE_BG_5 ; 5 - const PAL_BATTLE_BG_6 ; 6 - const PAL_BATTLE_BG_TEXT ; 7 - -; animation object palettes - const_def - const PAL_BATTLE_OB_ENEMY ; 0 - const PAL_BATTLE_OB_PLAYER ; 1 - const PAL_BATTLE_OB_GRAY ; 2 - const PAL_BATTLE_OB_YELLOW ; 3 - const PAL_BATTLE_OB_RED ; 4 - const PAL_BATTLE_OB_GREEN ; 5 - const PAL_BATTLE_OB_BLUE ; 6 - const PAL_BATTLE_OB_BROWN ; 7 diff --git a/constants/battle_anim_constants.asm b/constants/battle_anim_constants.asm new file mode 100644 index 000000000..0170d5700 --- /dev/null +++ b/constants/battle_anim_constants.asm @@ -0,0 +1,835 @@ +; battle_anim_struct members (see macros/wram.asm) + const_def + const BATTLEANIMSTRUCT_INDEX + const BATTLEANIMSTRUCT_01 + const BATTLEANIMSTRUCT_02 + const BATTLEANIMSTRUCT_FRAMESET_ID + const BATTLEANIMSTRUCT_FUNCTION + const BATTLEANIMSTRUCT_PALETTE + const BATTLEANIMSTRUCT_TILEID + const BATTLEANIMSTRUCT_XCOORD + const BATTLEANIMSTRUCT_YCOORD + const BATTLEANIMSTRUCT_XOFFSET + const BATTLEANIMSTRUCT_YOFFSET + const BATTLEANIMSTRUCT_0B + const BATTLEANIMSTRUCT_DURATION + const BATTLEANIMSTRUCT_FRAME + const BATTLEANIMSTRUCT_ANON_JT_INDEX + const BATTLEANIMSTRUCT_0F + const BATTLEANIMSTRUCT_10 + const BATTLEANIMSTRUCT_11 + const BATTLEANIMSTRUCT_12 + const BATTLEANIMSTRUCT_13 + const BATTLEANIMSTRUCT_14 + const BATTLEANIMSTRUCT_15 + const BATTLEANIMSTRUCT_16 + const BATTLEANIMSTRUCT_17 +BATTLEANIMSTRUCT_LENGTH EQU const_value + +; BattleAnimObjects indexes (see data/battle_anims/objects.asm) + const_def + const ANIM_OBJ_00 + const ANIM_OBJ_01 + const ANIM_OBJ_02 + const ANIM_OBJ_03 + const ANIM_OBJ_04 + const ANIM_OBJ_05 + const ANIM_OBJ_06 + const ANIM_OBJ_07 + const ANIM_OBJ_08 + const ANIM_OBJ_09 + const ANIM_OBJ_0A + const ANIM_OBJ_0B + const ANIM_OBJ_0C + const ANIM_OBJ_0D + const ANIM_OBJ_0E + const ANIM_OBJ_0F + const ANIM_OBJ_BURNED + const ANIM_OBJ_BLIZZARD + const ANIM_OBJ_12 + const ANIM_OBJ_ICE_BEAM + const ANIM_OBJ_RAZOR_LEAF + const ANIM_OBJ_POKE_BALL + const ANIM_OBJ_POKE_BALL_BLOCKED + const ANIM_OBJ_17 + const ANIM_OBJ_18 + const ANIM_OBJ_19 + const ANIM_OBJ_1A + const ANIM_OBJ_1B + const ANIM_OBJ_BALL_POOF + const ANIM_OBJ_1D + const ANIM_OBJ_1E + const ANIM_OBJ_1F + const ANIM_OBJ_20 + const ANIM_OBJ_BUBBLE + const ANIM_OBJ_22 + const ANIM_OBJ_23 + const ANIM_OBJ_24 + const ANIM_OBJ_25 + const ANIM_OBJ_26 + const ANIM_OBJ_27 + const ANIM_OBJ_28 + const ANIM_OBJ_ICE_BUILDUP + const ANIM_OBJ_FROZEN + const ANIM_OBJ_MASTER_BALL_SPARKLE + const ANIM_OBJ_2C + const ANIM_OBJ_2D + const ANIM_OBJ_2E + const ANIM_OBJ_2F + const ANIM_OBJ_30 + const ANIM_OBJ_31 + const ANIM_OBJ_LIGHTNING_BOLT + const ANIM_OBJ_33 + const ANIM_OBJ_34 + const ANIM_OBJ_35 + const ANIM_OBJ_36 + const ANIM_OBJ_37 + const ANIM_OBJ_38 + const ANIM_OBJ_39 + const ANIM_OBJ_3A + const ANIM_OBJ_3B + const ANIM_OBJ_3C + const ANIM_OBJ_3D + const ANIM_OBJ_GUST + const ANIM_OBJ_3F + const ANIM_OBJ_40 + const ANIM_OBJ_41 + const ANIM_OBJ_42 + const ANIM_OBJ_43 + const ANIM_OBJ_44 + const ANIM_OBJ_ABSORB + const ANIM_OBJ_46 + const ANIM_OBJ_47 + const ANIM_OBJ_48 + const ANIM_OBJ_49 + const ANIM_OBJ_LEECH_SEED + const ANIM_OBJ_4B + const ANIM_OBJ_4C + const ANIM_OBJ_4D + const ANIM_OBJ_4E + const ANIM_OBJ_4F + const ANIM_OBJ_50 + const ANIM_OBJ_51 + const ANIM_OBJ_CHICK + const ANIM_OBJ_53 + const ANIM_OBJ_54 + const ANIM_OBJ_SKULL + const ANIM_OBJ_56 + const ANIM_OBJ_57 + const ANIM_OBJ_58 + const ANIM_OBJ_PARALYZED + const ANIM_OBJ_5A + const ANIM_OBJ_HAZE + const ANIM_OBJ_MIST + const ANIM_OBJ_SMOG + const ANIM_OBJ_POISON_GAS + const ANIM_OBJ_HORN + const ANIM_OBJ_60 + const ANIM_OBJ_61 + const ANIM_OBJ_62 + const ANIM_OBJ_63 + const ANIM_OBJ_64 + const ANIM_OBJ_65 + const ANIM_OBJ_66 + const ANIM_OBJ_67 + const ANIM_OBJ_68 + const ANIM_OBJ_69 + const ANIM_OBJ_6A + const ANIM_OBJ_6B + const ANIM_OBJ_6C + const ANIM_OBJ_6D + const ANIM_OBJ_SKY_ATTACK_FEAROW + const ANIM_OBJ_LICK + const ANIM_OBJ_WITHDRAW + const ANIM_OBJ_71 + const ANIM_OBJ_72 + const ANIM_OBJ_73 + const ANIM_OBJ_74 + const ANIM_OBJ_75 + const ANIM_OBJ_76 + const ANIM_OBJ_77 + const ANIM_OBJ_78 + const ANIM_OBJ_79 + const ANIM_OBJ_7A + const ANIM_OBJ_7B + const ANIM_OBJ_7C + const ANIM_OBJ_7D + const ANIM_OBJ_HEART + const ANIM_OBJ_7F + const ANIM_OBJ_80 + const ANIM_OBJ_COTTON_SPORE + const ANIM_OBJ_82 + const ANIM_OBJ_83 + const ANIM_OBJ_84 + const ANIM_OBJ_85 + const ANIM_OBJ_86 + const ANIM_OBJ_87 + const ANIM_OBJ_88 + const ANIM_OBJ_89 + const ANIM_OBJ_8A + const ANIM_OBJ_8B + const ANIM_OBJ_8C + const ANIM_OBJ_8D + const ANIM_OBJ_SPIKES + const ANIM_OBJ_8F + const ANIM_OBJ_90 + const ANIM_OBJ_91 + const ANIM_OBJ_92 + const ANIM_OBJ_93 + const ANIM_OBJ_94 + const ANIM_OBJ_95 + const ANIM_OBJ_96 + const ANIM_OBJ_97 + const ANIM_OBJ_98 + const ANIM_OBJ_99 + const ANIM_OBJ_9A + const ANIM_OBJ_9B + const ANIM_OBJ_9C + const ANIM_OBJ_9D + const ANIM_OBJ_9E + const ANIM_OBJ_9F + const ANIM_OBJ_A0 + const ANIM_OBJ_A1 + const ANIM_OBJ_A2 + const ANIM_OBJ_A3 + const ANIM_OBJ_A4 + const ANIM_OBJ_A5 + const ANIM_OBJ_PERISH_SONG + const ANIM_OBJ_A7 + const ANIM_OBJ_A8 + const ANIM_OBJ_A9 + const ANIM_OBJ_AA + const ANIM_OBJ_AB + const ANIM_OBJ_AC + const ANIM_OBJ_AD + const ANIM_OBJ_AE + const ANIM_OBJ_AF + const ANIM_OBJ_B0 + const ANIM_OBJ_B1 + const ANIM_OBJ_B2 + const ANIM_OBJ_B3 + const ANIM_OBJ_B4 + const ANIM_OBJ_B5 + const ANIM_OBJ_FLOWER + const ANIM_OBJ_COTTON + const ANIM_OBJ_PLAYERFEETFOLLOW + const ANIM_OBJ_ENEMYFEETFOLLOW + const ANIM_OBJ_BA + const ANIM_OBJ_BB + +; DoBattleAnimFrame arguments (see engine/battle_anims/functions.asm) + const_def + const BATTLEANIMFUNC_00 + const BATTLEANIMFUNC_01 + const BATTLEANIMFUNC_02 + const BATTLEANIMFUNC_03 + const BATTLEANIMFUNC_04 + const BATTLEANIMFUNC_05 + const BATTLEANIMFUNC_06 + const BATTLEANIMFUNC_07 + const BATTLEANIMFUNC_08 + const BATTLEANIMFUNC_09 + const BATTLEANIMFUNC_0A + const BATTLEANIMFUNC_RAZOR_LEAF + const BATTLEANIMFUNC_0C + const BATTLEANIMFUNC_0D + const BATTLEANIMFUNC_0E + const BATTLEANIMFUNC_0F + const BATTLEANIMFUNC_10 + const BATTLEANIMFUNC_11 + const BATTLEANIMFUNC_12 + const BATTLEANIMFUNC_13 + const BATTLEANIMFUNC_14 + const BATTLEANIMFUNC_15 + const BATTLEANIMFUNC_16 + const BATTLEANIMFUNC_17 + const BATTLEANIMFUNC_18 + const BATTLEANIMFUNC_19 + const BATTLEANIMFUNC_1A + const BATTLEANIMFUNC_1B + const BATTLEANIMFUNC_1C + const BATTLEANIMFUNC_1D + const BATTLEANIMFUNC_1E + const BATTLEANIMFUNC_1F + const BATTLEANIMFUNC_LEECH_SEED + const BATTLEANIMFUNC_21 + const BATTLEANIMFUNC_22 + const BATTLEANIMFUNC_23 + const BATTLEANIMFUNC_24 + const BATTLEANIMFUNC_25 + const BATTLEANIMFUNC_26 + const BATTLEANIMFUNC_27 + const BATTLEANIMFUNC_28 + const BATTLEANIMFUNC_SPRIAL_DESCENT + const BATTLEANIMFUNC_POISON_GAS + const BATTLEANIMFUNC_HORN + const BATTLEANIMFUNC_2C + const BATTLEANIMFUNC_2D + const BATTLEANIMFUNC_2E + const BATTLEANIMFUNC_2F + const BATTLEANIMFUNC_30 + const BATTLEANIMFUNC_31 + const BATTLEANIMFUNC_32 + const BATTLEANIMFUNC_33 + const BATTLEANIMFUNC_34 + const BATTLEANIMFUNC_35 + const BATTLEANIMFUNC_36 + const BATTLEANIMFUNC_37 + const BATTLEANIMFUNC_38 + const BATTLEANIMFUNC_39 + const BATTLEANIMFUNC_3A + const BATTLEANIMFUNC_3B + const BATTLEANIMFUNC_3C + const BATTLEANIMFUNC_3D + const BATTLEANIMFUNC_3E + const BATTLEANIMFUNC_3F + const BATTLEANIMFUNC_40 + const BATTLEANIMFUNC_41 + const BATTLEANIMFUNC_42 + const BATTLEANIMFUNC_43 + const BATTLEANIMFUNC_44 + const BATTLEANIMFUNC_45 + const BATTLEANIMFUNC_46 + const BATTLEANIMFUNC_47 + const BATTLEANIMFUNC_48 + const BATTLEANIMFUNC_49 + const BATTLEANIMFUNC_4A + const BATTLEANIMFUNC_4B + const BATTLEANIMFUNC_4C + const BATTLEANIMFUNC_4D + const BATTLEANIMFUNC_4E + const BATTLEANIMFUNC_4F + +; BattleAnimFrameData indexes (see data/battle_anims/framesets.asm) + const_def + const BATTLEANIMFRAMESET_00 + const BATTLEANIMFRAMESET_01 + const BATTLEANIMFRAMESET_02 + const BATTLEANIMFRAMESET_03 + const BATTLEANIMFRAMESET_04 + const BATTLEANIMFRAMESET_05 + const BATTLEANIMFRAMESET_06 + const BATTLEANIMFRAMESET_07 + const BATTLEANIMFRAMESET_08 + const BATTLEANIMFRAMESET_09 + const BATTLEANIMFRAMESET_0A + const BATTLEANIMFRAMESET_0B + const BATTLEANIMFRAMESET_0C + const BATTLEANIMFRAMESET_0D + const BATTLEANIMFRAMESET_0E + const BATTLEANIMFRAMESET_0F + const BATTLEANIMFRAMESET_10 + const BATTLEANIMFRAMESET_11 + const BATTLEANIMFRAMESET_12 + const BATTLEANIMFRAMESET_13 + const BATTLEANIMFRAMESET_14 + const BATTLEANIMFRAMESET_15 + const BATTLEANIMFRAMESET_16 + const BATTLEANIMFRAMESET_17 + const BATTLEANIMFRAMESET_18 + const BATTLEANIMFRAMESET_19 + const BATTLEANIMFRAMESET_1A + const BATTLEANIMFRAMESET_1B + const BATTLEANIMFRAMESET_1C + const BATTLEANIMFRAMESET_1D + const BATTLEANIMFRAMESET_1E + const BATTLEANIMFRAMESET_1F + const BATTLEANIMFRAMESET_20 + const BATTLEANIMFRAMESET_21 + const BATTLEANIMFRAMESET_22 + const BATTLEANIMFRAMESET_23 + const BATTLEANIMFRAMESET_24 + const BATTLEANIMFRAMESET_25 + const BATTLEANIMFRAMESET_26 + const BATTLEANIMFRAMESET_27 + const BATTLEANIMFRAMESET_28 + const BATTLEANIMFRAMESET_29 + const BATTLEANIMFRAMESET_2A + const BATTLEANIMFRAMESET_2B + const BATTLEANIMFRAMESET_2C + const BATTLEANIMFRAMESET_2D + const BATTLEANIMFRAMESET_2E + const BATTLEANIMFRAMESET_2F + const BATTLEANIMFRAMESET_30 + const BATTLEANIMFRAMESET_31 + const BATTLEANIMFRAMESET_32 + const BATTLEANIMFRAMESET_33 + const BATTLEANIMFRAMESET_34 + const BATTLEANIMFRAMESET_35 + const BATTLEANIMFRAMESET_36 + const BATTLEANIMFRAMESET_37 + const BATTLEANIMFRAMESET_38 + const BATTLEANIMFRAMESET_39 + const BATTLEANIMFRAMESET_3A + const BATTLEANIMFRAMESET_3B + const BATTLEANIMFRAMESET_3C + const BATTLEANIMFRAMESET_3D + const BATTLEANIMFRAMESET_3E + const BATTLEANIMFRAMESET_3F + const BATTLEANIMFRAMESET_40 + const BATTLEANIMFRAMESET_41 + const BATTLEANIMFRAMESET_42 + const BATTLEANIMFRAMESET_43 + const BATTLEANIMFRAMESET_44 + const BATTLEANIMFRAMESET_45 + const BATTLEANIMFRAMESET_46 + const BATTLEANIMFRAMESET_47 + const BATTLEANIMFRAMESET_48 + const BATTLEANIMFRAMESET_49 + const BATTLEANIMFRAMESET_4A + const BATTLEANIMFRAMESET_4B + const BATTLEANIMFRAMESET_4C + const BATTLEANIMFRAMESET_4D + const BATTLEANIMFRAMESET_4E + const BATTLEANIMFRAMESET_4F + const BATTLEANIMFRAMESET_50 + const BATTLEANIMFRAMESET_51 + const BATTLEANIMFRAMESET_52 + const BATTLEANIMFRAMESET_53 + const BATTLEANIMFRAMESET_54 + const BATTLEANIMFRAMESET_55 + const BATTLEANIMFRAMESET_56 + const BATTLEANIMFRAMESET_57 + const BATTLEANIMFRAMESET_58 + const BATTLEANIMFRAMESET_59 + const BATTLEANIMFRAMESET_5A + const BATTLEANIMFRAMESET_5B + const BATTLEANIMFRAMESET_5C + const BATTLEANIMFRAMESET_5D + const BATTLEANIMFRAMESET_5E + const BATTLEANIMFRAMESET_5F + const BATTLEANIMFRAMESET_60 + const BATTLEANIMFRAMESET_61 + const BATTLEANIMFRAMESET_62 + const BATTLEANIMFRAMESET_63 + const BATTLEANIMFRAMESET_64 + const BATTLEANIMFRAMESET_65 + const BATTLEANIMFRAMESET_66 + const BATTLEANIMFRAMESET_67 + const BATTLEANIMFRAMESET_68 + const BATTLEANIMFRAMESET_69 + const BATTLEANIMFRAMESET_6A + const BATTLEANIMFRAMESET_6B + const BATTLEANIMFRAMESET_6C + const BATTLEANIMFRAMESET_6D + const BATTLEANIMFRAMESET_6E + const BATTLEANIMFRAMESET_6F + const BATTLEANIMFRAMESET_70 + const BATTLEANIMFRAMESET_71 + const BATTLEANIMFRAMESET_72 + const BATTLEANIMFRAMESET_73 + const BATTLEANIMFRAMESET_74 + const BATTLEANIMFRAMESET_75 + const BATTLEANIMFRAMESET_76 + const BATTLEANIMFRAMESET_77 + const BATTLEANIMFRAMESET_78 + const BATTLEANIMFRAMESET_79 + const BATTLEANIMFRAMESET_7A + const BATTLEANIMFRAMESET_7B + const BATTLEANIMFRAMESET_7C + const BATTLEANIMFRAMESET_7D + const BATTLEANIMFRAMESET_7E + const BATTLEANIMFRAMESET_7F + const BATTLEANIMFRAMESET_80 + const BATTLEANIMFRAMESET_81 + const BATTLEANIMFRAMESET_82 + const BATTLEANIMFRAMESET_83 + const BATTLEANIMFRAMESET_84 + const BATTLEANIMFRAMESET_85 + const BATTLEANIMFRAMESET_86 + const BATTLEANIMFRAMESET_87 + const BATTLEANIMFRAMESET_88 + const BATTLEANIMFRAMESET_89 + const BATTLEANIMFRAMESET_8A + const BATTLEANIMFRAMESET_8B + const BATTLEANIMFRAMESET_8C + const BATTLEANIMFRAMESET_8D + const BATTLEANIMFRAMESET_8E + const BATTLEANIMFRAMESET_8F + const BATTLEANIMFRAMESET_90 + const BATTLEANIMFRAMESET_91 + const BATTLEANIMFRAMESET_92 + const BATTLEANIMFRAMESET_93 + const BATTLEANIMFRAMESET_94 + const BATTLEANIMFRAMESET_95 + const BATTLEANIMFRAMESET_96 + const BATTLEANIMFRAMESET_97 + const BATTLEANIMFRAMESET_98 + const BATTLEANIMFRAMESET_99 + const BATTLEANIMFRAMESET_9A + const BATTLEANIMFRAMESET_9B + const BATTLEANIMFRAMESET_9C + const BATTLEANIMFRAMESET_9D + const BATTLEANIMFRAMESET_9E + const BATTLEANIMFRAMESET_9F + const BATTLEANIMFRAMESET_A0 + const BATTLEANIMFRAMESET_A1 + const BATTLEANIMFRAMESET_A2 + const BATTLEANIMFRAMESET_A3 + const BATTLEANIMFRAMESET_A4 + const BATTLEANIMFRAMESET_A5 + const BATTLEANIMFRAMESET_A6 + const BATTLEANIMFRAMESET_A7 + const BATTLEANIMFRAMESET_A8 + const BATTLEANIMFRAMESET_A9 + const BATTLEANIMFRAMESET_AA + const BATTLEANIMFRAMESET_AB + const BATTLEANIMFRAMESET_AC + const BATTLEANIMFRAMESET_AD + const BATTLEANIMFRAMESET_AE + const BATTLEANIMFRAMESET_AF + const BATTLEANIMFRAMESET_B0 + const BATTLEANIMFRAMESET_B1 + const BATTLEANIMFRAMESET_B2 + const BATTLEANIMFRAMESET_B3 + const BATTLEANIMFRAMESET_B4 + const BATTLEANIMFRAMESET_B5 + const BATTLEANIMFRAMESET_B6 + const BATTLEANIMFRAMESET_B7 + const BATTLEANIMFRAMESET_B8 + +; BattleAnimOAMData indexes (see data/battle_anims/oam.asm) + const_def + const BATTLEANIMOAMSET_00 + const BATTLEANIMOAMSET_01 + const BATTLEANIMOAMSET_02 + const BATTLEANIMOAMSET_03 + const BATTLEANIMOAMSET_04 + const BATTLEANIMOAMSET_05 + const BATTLEANIMOAMSET_06 + const BATTLEANIMOAMSET_07 + const BATTLEANIMOAMSET_08 + const BATTLEANIMOAMSET_09 + const BATTLEANIMOAMSET_0A + const BATTLEANIMOAMSET_0B + const BATTLEANIMOAMSET_0C + const BATTLEANIMOAMSET_0D + const BATTLEANIMOAMSET_0E + const BATTLEANIMOAMSET_0F + const BATTLEANIMOAMSET_10 + const BATTLEANIMOAMSET_11 + const BATTLEANIMOAMSET_12 + const BATTLEANIMOAMSET_13 + const BATTLEANIMOAMSET_14 + const BATTLEANIMOAMSET_15 + const BATTLEANIMOAMSET_16 + const BATTLEANIMOAMSET_17 + const BATTLEANIMOAMSET_18 + const BATTLEANIMOAMSET_19 + const BATTLEANIMOAMSET_1A + const BATTLEANIMOAMSET_1B + const BATTLEANIMOAMSET_1C + const BATTLEANIMOAMSET_1D + const BATTLEANIMOAMSET_1E + const BATTLEANIMOAMSET_1F + const BATTLEANIMOAMSET_20 + const BATTLEANIMOAMSET_21 + const BATTLEANIMOAMSET_22 + const BATTLEANIMOAMSET_23 + const BATTLEANIMOAMSET_24 + const BATTLEANIMOAMSET_25 + const BATTLEANIMOAMSET_26 + const BATTLEANIMOAMSET_27 + const BATTLEANIMOAMSET_28 + const BATTLEANIMOAMSET_29 + const BATTLEANIMOAMSET_2A + const BATTLEANIMOAMSET_2B + const BATTLEANIMOAMSET_2C + const BATTLEANIMOAMSET_2D + const BATTLEANIMOAMSET_2E + const BATTLEANIMOAMSET_2F + const BATTLEANIMOAMSET_30 + const BATTLEANIMOAMSET_31 + const BATTLEANIMOAMSET_32 + const BATTLEANIMOAMSET_33 + const BATTLEANIMOAMSET_34 + const BATTLEANIMOAMSET_35 + const BATTLEANIMOAMSET_36 + const BATTLEANIMOAMSET_37 + const BATTLEANIMOAMSET_38 + const BATTLEANIMOAMSET_39 + const BATTLEANIMOAMSET_3A + const BATTLEANIMOAMSET_3B + const BATTLEANIMOAMSET_3C + const BATTLEANIMOAMSET_3D + const BATTLEANIMOAMSET_3E + const BATTLEANIMOAMSET_3F + const BATTLEANIMOAMSET_40 + const BATTLEANIMOAMSET_41 + const BATTLEANIMOAMSET_42 + const BATTLEANIMOAMSET_43 + const BATTLEANIMOAMSET_44 + const BATTLEANIMOAMSET_45 + const BATTLEANIMOAMSET_46 + const BATTLEANIMOAMSET_47 + const BATTLEANIMOAMSET_48 + const BATTLEANIMOAMSET_49 + const BATTLEANIMOAMSET_4A + const BATTLEANIMOAMSET_4B + const BATTLEANIMOAMSET_4C + const BATTLEANIMOAMSET_4D + const BATTLEANIMOAMSET_4E + const BATTLEANIMOAMSET_4F + const BATTLEANIMOAMSET_50 + const BATTLEANIMOAMSET_51 + const BATTLEANIMOAMSET_52 + const BATTLEANIMOAMSET_53 + const BATTLEANIMOAMSET_54 + const BATTLEANIMOAMSET_55 + const BATTLEANIMOAMSET_56 + const BATTLEANIMOAMSET_57 + const BATTLEANIMOAMSET_58 + const BATTLEANIMOAMSET_59 + const BATTLEANIMOAMSET_5A + const BATTLEANIMOAMSET_5B + const BATTLEANIMOAMSET_5C + const BATTLEANIMOAMSET_5D + const BATTLEANIMOAMSET_5E + const BATTLEANIMOAMSET_5F + const BATTLEANIMOAMSET_60 + const BATTLEANIMOAMSET_61 + const BATTLEANIMOAMSET_62 + const BATTLEANIMOAMSET_63 + const BATTLEANIMOAMSET_64 + const BATTLEANIMOAMSET_65 + const BATTLEANIMOAMSET_66 + const BATTLEANIMOAMSET_67 + const BATTLEANIMOAMSET_68 + const BATTLEANIMOAMSET_69 + const BATTLEANIMOAMSET_6A + const BATTLEANIMOAMSET_6B + const BATTLEANIMOAMSET_6C + const BATTLEANIMOAMSET_6D + const BATTLEANIMOAMSET_6E + const BATTLEANIMOAMSET_6F + const BATTLEANIMOAMSET_70 + const BATTLEANIMOAMSET_71 + const BATTLEANIMOAMSET_72 + const BATTLEANIMOAMSET_73 + const BATTLEANIMOAMSET_74 + const BATTLEANIMOAMSET_75 + const BATTLEANIMOAMSET_76 + const BATTLEANIMOAMSET_77 + const BATTLEANIMOAMSET_78 + const BATTLEANIMOAMSET_79 + const BATTLEANIMOAMSET_7A + const BATTLEANIMOAMSET_7B + const BATTLEANIMOAMSET_7C + const BATTLEANIMOAMSET_7D + const BATTLEANIMOAMSET_7E + const BATTLEANIMOAMSET_7F + const BATTLEANIMOAMSET_80 + const BATTLEANIMOAMSET_81 + const BATTLEANIMOAMSET_82 + const BATTLEANIMOAMSET_83 + const BATTLEANIMOAMSET_84 + const BATTLEANIMOAMSET_85 + const BATTLEANIMOAMSET_86 + const BATTLEANIMOAMSET_87 + const BATTLEANIMOAMSET_88 + const BATTLEANIMOAMSET_89 + const BATTLEANIMOAMSET_8A + const BATTLEANIMOAMSET_8B + const BATTLEANIMOAMSET_8C + const BATTLEANIMOAMSET_8D + const BATTLEANIMOAMSET_8E + const BATTLEANIMOAMSET_8F + const BATTLEANIMOAMSET_90 + const BATTLEANIMOAMSET_91 + const BATTLEANIMOAMSET_92 + const BATTLEANIMOAMSET_93 + const BATTLEANIMOAMSET_94 + const BATTLEANIMOAMSET_95 + const BATTLEANIMOAMSET_96 + const BATTLEANIMOAMSET_97 + const BATTLEANIMOAMSET_98 + const BATTLEANIMOAMSET_99 + const BATTLEANIMOAMSET_9A + const BATTLEANIMOAMSET_9B + const BATTLEANIMOAMSET_9C + const BATTLEANIMOAMSET_9D + const BATTLEANIMOAMSET_9E + const BATTLEANIMOAMSET_9F + const BATTLEANIMOAMSET_A0 + const BATTLEANIMOAMSET_A1 + const BATTLEANIMOAMSET_A2 + const BATTLEANIMOAMSET_A3 + const BATTLEANIMOAMSET_A4 + const BATTLEANIMOAMSET_A5 + const BATTLEANIMOAMSET_A6 + const BATTLEANIMOAMSET_A7 + const BATTLEANIMOAMSET_A8 + const BATTLEANIMOAMSET_A9 + const BATTLEANIMOAMSET_AA + const BATTLEANIMOAMSET_AB + const BATTLEANIMOAMSET_AC + const BATTLEANIMOAMSET_AD + const BATTLEANIMOAMSET_AE + const BATTLEANIMOAMSET_AF + const BATTLEANIMOAMSET_B0 + const BATTLEANIMOAMSET_B1 + const BATTLEANIMOAMSET_B2 + const BATTLEANIMOAMSET_B3 + const BATTLEANIMOAMSET_B4 + const BATTLEANIMOAMSET_B5 + const BATTLEANIMOAMSET_B6 + const BATTLEANIMOAMSET_B7 + const BATTLEANIMOAMSET_B8 + const BATTLEANIMOAMSET_B9 + const BATTLEANIMOAMSET_BA + const BATTLEANIMOAMSET_BB + const BATTLEANIMOAMSET_BC + const BATTLEANIMOAMSET_BD + const BATTLEANIMOAMSET_BE + const BATTLEANIMOAMSET_BF + const BATTLEANIMOAMSET_C0 + const BATTLEANIMOAMSET_C1 + const BATTLEANIMOAMSET_C2 + const BATTLEANIMOAMSET_C3 + const BATTLEANIMOAMSET_C4 + const BATTLEANIMOAMSET_C5 + const BATTLEANIMOAMSET_C6 + const BATTLEANIMOAMSET_C7 + const BATTLEANIMOAMSET_C8 + const BATTLEANIMOAMSET_C9 + const BATTLEANIMOAMSET_CA + const BATTLEANIMOAMSET_CB + const BATTLEANIMOAMSET_CC + const BATTLEANIMOAMSET_CD + const BATTLEANIMOAMSET_CE + const BATTLEANIMOAMSET_CF + const BATTLEANIMOAMSET_D0 + const BATTLEANIMOAMSET_D1 + const BATTLEANIMOAMSET_D2 + const BATTLEANIMOAMSET_D3 + const BATTLEANIMOAMSET_D4 + const BATTLEANIMOAMSET_D5 + const BATTLEANIMOAMSET_D6 + const BATTLEANIMOAMSET_D7 + +; BattleBGEffects indexes (see engine/battle_anims/bg_effects.asm) +const_value SET 1 + const ANIM_BG_FLASH_INVERTED + const ANIM_BG_FLASH_WHITE + const ANIM_BG_WHITE_HUES + const ANIM_BG_BLACK_HUES + const ANIM_BG_ALTERNATE_HUES + const ANIM_BG_06 + const ANIM_BG_07 + const ANIM_BG_08 + const ANIM_BG_HIDE_MON + const ANIM_BG_SHOW_MON + const ANIM_BG_ENTER_MON + const ANIM_BG_RETURN_MON + const ANIM_BG_SURF + const ANIM_BG_WHIRLPOOL + const ANIM_BG_TELEPORT + const ANIM_BG_NIGHT_SHADE + const ANIM_BG_FEET_FOLLOW + const ANIM_BG_HEAD_FOLLOW + const ANIM_BG_DOUBLE_TEAM + const ANIM_BG_ACID_ARMOR + const ANIM_BG_RAPID_FLASH + const ANIM_BG_16 + const ANIM_BG_17 + const ANIM_BG_18 + const ANIM_BG_19 + const ANIM_BG_1A + const ANIM_BG_1B + const ANIM_BG_1C + const ANIM_BG_1D + const ANIM_BG_1E + const ANIM_BG_1F + const ANIM_BG_20 + const ANIM_BG_WITHDRAW + const ANIM_BG_BOUNCE_DOWN + const ANIM_BG_DIG + const ANIM_BG_TACKLE + const ANIM_BG_25 + const ANIM_BG_26 + const ANIM_BG_27 + const ANIM_BG_WAVE_DEFORM_USER + const ANIM_BG_PSYCHIC + const ANIM_BG_2A + const ANIM_BG_2B + const ANIM_BG_2C + const ANIM_BG_2D + const ANIM_BG_2E + const ANIM_BG_2F + const ANIM_BG_30 + const ANIM_BG_31 + const ANIM_BG_32 + const ANIM_BG_VIBRATE_MON + const ANIM_BG_WOBBLE_MON + const ANIM_BG_35 + +; AnimObjGFX indexes (see data/battle_anims/object_gfx.asm) +const_value SET 1 + const ANIM_GFX_HIT + const ANIM_GFX_CUT + const ANIM_GFX_FIRE + const ANIM_GFX_WATER + const ANIM_GFX_LIGHTNING + const ANIM_GFX_PLANT + const ANIM_GFX_SMOKE + const ANIM_GFX_EXPLOSION + const ANIM_GFX_ROCKS + const ANIM_GFX_ICE + const ANIM_GFX_POKE_BALL + const ANIM_GFX_POISON + const ANIM_GFX_BUBBLE + const ANIM_GFX_NOISE + const ANIM_GFX_POWDER + const ANIM_GFX_BEAM + const ANIM_GFX_SPEED + const ANIM_GFX_CHARGE + const ANIM_GFX_WIND + const ANIM_GFX_WHIP + const ANIM_GFX_EGG + const ANIM_GFX_ROPE + const ANIM_GFX_PSYCHIC + const ANIM_GFX_REFLECT + const ANIM_GFX_STATUS + const ANIM_GFX_SAND + const ANIM_GFX_WEB + const ANIM_GFX_HAZE + const ANIM_GFX_HORN + const ANIM_GFX_FLOWER + const ANIM_GFX_MISC + const ANIM_GFX_SKY_ATTACK + const ANIM_GFX_GLOBE + const ANIM_GFX_SHAPES + const ANIM_GFX_OBJECTS + const ANIM_GFX_SHINE + const ANIM_GFX_ANGELS + const ANIM_GFX_WAVE + const ANIM_GFX_AEROBLAST + +; battle_bg_effect struct members (see macros/wram.asm) + const_def + const BG_EFFECT_STRUCT_FUNCTION + const BG_EFFECT_STRUCT_JT_INDEX + const BG_EFFECT_STRUCT_BATTLE_TURN + const BG_EFFECT_STRUCT_03 + +; battle palettes + const_def + const PAL_BATTLE_BG_PLAYER ; 0 + const PAL_BATTLE_BG_ENEMY ; 1 + const PAL_BATTLE_BG_ENEMY_HP ; 2 + const PAL_BATTLE_BG_PLAYER_HP ; 3 + const PAL_BATTLE_BG_EXP ; 4 + const PAL_BATTLE_BG_5 ; 5 + const PAL_BATTLE_BG_6 ; 6 + const PAL_BATTLE_BG_TEXT ; 7 + +; animation object palettes + const_def + const PAL_BATTLE_OB_ENEMY ; 0 + const PAL_BATTLE_OB_PLAYER ; 1 + const PAL_BATTLE_OB_GRAY ; 2 + const PAL_BATTLE_OB_YELLOW ; 3 + const PAL_BATTLE_OB_RED ; 4 + const PAL_BATTLE_OB_GREEN ; 5 + const PAL_BATTLE_OB_BLUE ; 6 + const PAL_BATTLE_OB_BROWN ; 7 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/pokemon_constants.asm b/constants/pokemon_constants.asm index f6d85f929..559f22fda 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -10,8 +10,8 @@ ; - BitmasksPointers (see gfx/pokemon/bitmask_pointers.asm) ; - AnimationExtraPointers (see gfx/pokemon/extra_pointers.asm) ; - FramesPointers (see gfx/pokemon/frame_pointers.asm) -; - PokemonPalettes (see gfx/pokemon/palette_pointers.asm) ; - PicPointers (see gfx/pokemon/pic_pointers.asm) +; - PokemonPalettes (see data/palettes/pokemon_palettes.asm) ; - AlphabeticalPokedexOrder (see data/pokemon/dex_order_alpha.asm) ; - NewPokedexOrder (see data/pokemon/dex_order_new.asm) ; - MonMenuIcons (see data/pokemon/menu_icons.asm) diff --git a/constants/pokemon_data_constants.asm b/constants/pokemon_data_constants.asm index c1d0aee17..4fe24b512 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 diff --git a/constants/sprite_anim_constants.asm b/constants/sprite_anim_constants.asm index 548c9b8be..8bb2aed35 100644 --- a/constants/sprite_anim_constants.asm +++ b/constants/sprite_anim_constants.asm @@ -17,7 +17,7 @@ const SPRITEANIMSTRUCT_0E ; e const SPRITEANIMSTRUCT_0F ; f -; SpriteAnimSeqData indexes (see data/sprites/sequences.asm) +; 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 @@ -103,7 +103,7 @@ const SPRITE_ANIM_SEQ_INTRO_UNOWN_F ; 21 const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY ; 22 -; SpriteAnimFrameData indexes (see data/sprites/framesets.asm) +; SpriteAnimFrameData indexes (see data/sprite_anims/framesets.asm) const_def const SPRITE_ANIM_FRAMESET_00 const SPRITE_ANIM_FRAMESET_PARTY_MON ; 01 @@ -172,7 +172,7 @@ const SPRITE_ANIM_FRAMESET_CELEBI_LEFT ; 40 const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT ; 41 -; SpriteAnimOAMData indexes (see data/sprites/oam.asm) +; 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 diff --git a/data/anims/ball_colors.asm b/data/anims/ball_colors.asm deleted file mode 100644 index c3ba9d2b4..000000000 --- a/data/anims/ball_colors.asm +++ /dev/null @@ -1,16 +0,0 @@ -; colors of balls thrown in battle - -BallColors: ; cd26c (33:526c) - db MASTER_BALL, PAL_BATTLE_OB_GREEN - db ULTRA_BALL, PAL_BATTLE_OB_YELLOW - db GREAT_BALL, PAL_BATTLE_OB_BLUE - db POKE_BALL, PAL_BATTLE_OB_RED - db HEAVY_BALL, PAL_BATTLE_OB_GRAY - db LEVEL_BALL, PAL_BATTLE_OB_BROWN - db LURE_BALL, PAL_BATTLE_OB_BLUE - db FAST_BALL, PAL_BATTLE_OB_BLUE - db FRIEND_BALL, PAL_BATTLE_OB_YELLOW - db MOON_BALL, PAL_BATTLE_OB_GRAY - db LOVE_BALL, PAL_BATTLE_OB_RED - db -1, PAL_BATTLE_OB_GRAY -; cd284 diff --git a/data/anims/framesets.asm b/data/anims/framesets.asm deleted file mode 100755 index 7b4bb0a71..000000000 --- a/data/anims/framesets.asm +++ /dev/null @@ -1,1271 +0,0 @@ -BattleAnimFrameData: ; ce85e -; entries correspond to BATTLEANIMFRAMESET_* constants - dw .Frameset_00 ; BATTLEANIMFRAMESET_00 - dw .Frameset_01 ; BATTLEANIMFRAMESET_01 - dw .Frameset_02 ; BATTLEANIMFRAMESET_02 - dw .Frameset_03 ; BATTLEANIMFRAMESET_03 - dw .Frameset_04 ; BATTLEANIMFRAMESET_04 - dw .Frameset_05 ; BATTLEANIMFRAMESET_05 - dw .Frameset_06 ; BATTLEANIMFRAMESET_06 - dw .Frameset_07 ; BATTLEANIMFRAMESET_07 - dw .Frameset_08 ; BATTLEANIMFRAMESET_08 - dw .Frameset_09 ; BATTLEANIMFRAMESET_09 - dw .Frameset_0a ; BATTLEANIMFRAMESET_0A - dw .Frameset_0b ; BATTLEANIMFRAMESET_0B - dw .Frameset_0c ; BATTLEANIMFRAMESET_0C - dw .Frameset_0d ; BATTLEANIMFRAMESET_0D - dw .Frameset_0e ; BATTLEANIMFRAMESET_0E - dw .Frameset_0f ; BATTLEANIMFRAMESET_0F - dw .Frameset_10 ; BATTLEANIMFRAMESET_10 - dw .Frameset_11 ; BATTLEANIMFRAMESET_11 - dw .Frameset_12 ; BATTLEANIMFRAMESET_12 - dw .Frameset_13 ; BATTLEANIMFRAMESET_13 - dw .Frameset_14 ; BATTLEANIMFRAMESET_14 - dw .Frameset_15 ; BATTLEANIMFRAMESET_15 - dw .Frameset_16 ; BATTLEANIMFRAMESET_16 - dw .Frameset_17 ; BATTLEANIMFRAMESET_17 - dw .Frameset_18 ; BATTLEANIMFRAMESET_18 - dw .Frameset_19 ; BATTLEANIMFRAMESET_19 - dw .Frameset_1a ; BATTLEANIMFRAMESET_1A - dw .Frameset_1b ; BATTLEANIMFRAMESET_1B - dw .Frameset_1c ; BATTLEANIMFRAMESET_1C - dw .Frameset_1d ; BATTLEANIMFRAMESET_1D - dw .Frameset_1e ; BATTLEANIMFRAMESET_1E - dw .Frameset_1f ; BATTLEANIMFRAMESET_1F - dw .Frameset_20 ; BATTLEANIMFRAMESET_20 - dw .Frameset_21 ; BATTLEANIMFRAMESET_21 - dw .Frameset_22 ; BATTLEANIMFRAMESET_22 - dw .Frameset_23 ; BATTLEANIMFRAMESET_23 - dw .Frameset_24 ; BATTLEANIMFRAMESET_24 - dw .Frameset_25 ; BATTLEANIMFRAMESET_25 - dw .Frameset_26 ; BATTLEANIMFRAMESET_26 - dw .Frameset_27 ; BATTLEANIMFRAMESET_27 - dw .Frameset_28 ; BATTLEANIMFRAMESET_28 - dw .Frameset_29 ; BATTLEANIMFRAMESET_29 - dw .Frameset_2a ; BATTLEANIMFRAMESET_2A - dw .Frameset_2b ; BATTLEANIMFRAMESET_2B - dw .Frameset_2c ; BATTLEANIMFRAMESET_2C - dw .Frameset_2d ; BATTLEANIMFRAMESET_2D - dw .Frameset_2e ; BATTLEANIMFRAMESET_2E - dw .Frameset_2f ; BATTLEANIMFRAMESET_2F - dw .Frameset_30 ; BATTLEANIMFRAMESET_30 - dw .Frameset_31 ; BATTLEANIMFRAMESET_31 - dw .Frameset_32 ; BATTLEANIMFRAMESET_32 - dw .Frameset_33 ; BATTLEANIMFRAMESET_33 - dw .Frameset_34 ; BATTLEANIMFRAMESET_34 - dw .Frameset_35 ; BATTLEANIMFRAMESET_35 - dw .Frameset_36 ; BATTLEANIMFRAMESET_36 - dw .Frameset_37 ; BATTLEANIMFRAMESET_37 - dw .Frameset_38 ; BATTLEANIMFRAMESET_38 - dw .Frameset_39 ; BATTLEANIMFRAMESET_39 - dw .Frameset_3a ; BATTLEANIMFRAMESET_3A - dw .Frameset_3b ; BATTLEANIMFRAMESET_3B - dw .Frameset_3c ; BATTLEANIMFRAMESET_3C - dw .Frameset_3d ; BATTLEANIMFRAMESET_3D - dw .Frameset_3e ; BATTLEANIMFRAMESET_3E - dw .Frameset_3f ; BATTLEANIMFRAMESET_3F - dw .Frameset_40 ; BATTLEANIMFRAMESET_40 - dw .Frameset_41 ; BATTLEANIMFRAMESET_41 - dw .Frameset_42 ; BATTLEANIMFRAMESET_42 - dw .Frameset_43 ; BATTLEANIMFRAMESET_43 - dw .Frameset_44 ; BATTLEANIMFRAMESET_44 - dw .Frameset_45 ; BATTLEANIMFRAMESET_45 - dw .Frameset_46 ; BATTLEANIMFRAMESET_46 - dw .Frameset_47 ; BATTLEANIMFRAMESET_47 - dw .Frameset_48 ; BATTLEANIMFRAMESET_48 - dw .Frameset_49 ; BATTLEANIMFRAMESET_49 - dw .Frameset_4a ; BATTLEANIMFRAMESET_4A - dw .Frameset_4b ; BATTLEANIMFRAMESET_4B - dw .Frameset_4c ; BATTLEANIMFRAMESET_4C - dw .Frameset_4d ; BATTLEANIMFRAMESET_4D - dw .Frameset_4e ; BATTLEANIMFRAMESET_4E - dw .Frameset_4f ; BATTLEANIMFRAMESET_4F - dw .Frameset_50 ; BATTLEANIMFRAMESET_50 - dw .Frameset_51 ; BATTLEANIMFRAMESET_51 - dw .Frameset_52 ; BATTLEANIMFRAMESET_52 - dw .Frameset_53 ; BATTLEANIMFRAMESET_53 - dw .Frameset_54 ; BATTLEANIMFRAMESET_54 - dw .Frameset_55 ; BATTLEANIMFRAMESET_55 - dw .Frameset_56 ; BATTLEANIMFRAMESET_56 - dw .Frameset_57 ; BATTLEANIMFRAMESET_57 - dw .Frameset_58 ; BATTLEANIMFRAMESET_58 - dw .Frameset_59 ; BATTLEANIMFRAMESET_59 - dw .Frameset_5a ; BATTLEANIMFRAMESET_5A - dw .Frameset_5b ; BATTLEANIMFRAMESET_5B - dw .Frameset_5c ; BATTLEANIMFRAMESET_5C - dw .Frameset_5d ; BATTLEANIMFRAMESET_5D - dw .Frameset_5e ; BATTLEANIMFRAMESET_5E - dw .Frameset_5f ; BATTLEANIMFRAMESET_5F - dw .Frameset_60 ; BATTLEANIMFRAMESET_60 - dw .Frameset_61 ; BATTLEANIMFRAMESET_61 - dw .Frameset_62 ; BATTLEANIMFRAMESET_62 - dw .Frameset_63 ; BATTLEANIMFRAMESET_63 - dw .Frameset_64 ; BATTLEANIMFRAMESET_64 - dw .Frameset_65 ; BATTLEANIMFRAMESET_65 - dw .Frameset_66 ; BATTLEANIMFRAMESET_66 - dw .Frameset_67 ; BATTLEANIMFRAMESET_67 - dw .Frameset_68 ; BATTLEANIMFRAMESET_68 - dw .Frameset_69 ; BATTLEANIMFRAMESET_69 - dw .Frameset_6a ; BATTLEANIMFRAMESET_6A - dw .Frameset_6b ; BATTLEANIMFRAMESET_6B - dw .Frameset_6c ; BATTLEANIMFRAMESET_6C - dw .Frameset_6d ; BATTLEANIMFRAMESET_6D - dw .Frameset_6e ; BATTLEANIMFRAMESET_6E - dw .Frameset_6f ; BATTLEANIMFRAMESET_6F - dw .Frameset_70 ; BATTLEANIMFRAMESET_70 - dw .Frameset_71 ; BATTLEANIMFRAMESET_71 - dw .Frameset_72 ; BATTLEANIMFRAMESET_72 - dw .Frameset_73 ; BATTLEANIMFRAMESET_73 - dw .Frameset_74 ; BATTLEANIMFRAMESET_74 - dw .Frameset_75 ; BATTLEANIMFRAMESET_75 - dw .Frameset_76 ; BATTLEANIMFRAMESET_76 - dw .Frameset_77 ; BATTLEANIMFRAMESET_77 - dw .Frameset_78 ; BATTLEANIMFRAMESET_78 - dw .Frameset_79 ; BATTLEANIMFRAMESET_79 - dw .Frameset_7a ; BATTLEANIMFRAMESET_7A - dw .Frameset_7b ; BATTLEANIMFRAMESET_7B - dw .Frameset_7c ; BATTLEANIMFRAMESET_7C - dw .Frameset_7d ; BATTLEANIMFRAMESET_7D - dw .Frameset_7e ; BATTLEANIMFRAMESET_7E - dw .Frameset_7f ; BATTLEANIMFRAMESET_7F - dw .Frameset_80 ; BATTLEANIMFRAMESET_80 - dw .Frameset_81 ; BATTLEANIMFRAMESET_81 - dw .Frameset_82 ; BATTLEANIMFRAMESET_82 - dw .Frameset_83 ; BATTLEANIMFRAMESET_83 - dw .Frameset_84 ; BATTLEANIMFRAMESET_84 - dw .Frameset_85 ; BATTLEANIMFRAMESET_85 - dw .Frameset_86 ; BATTLEANIMFRAMESET_86 - dw .Frameset_87 ; BATTLEANIMFRAMESET_87 - dw .Frameset_88 ; BATTLEANIMFRAMESET_88 - dw .Frameset_89 ; BATTLEANIMFRAMESET_89 - dw .Frameset_8a ; BATTLEANIMFRAMESET_8A - dw .Frameset_8b ; BATTLEANIMFRAMESET_8B - dw .Frameset_8c ; BATTLEANIMFRAMESET_8C - dw .Frameset_8d ; BATTLEANIMFRAMESET_8D - dw .Frameset_8e ; BATTLEANIMFRAMESET_8E - dw .Frameset_8f ; BATTLEANIMFRAMESET_8F - dw .Frameset_90 ; BATTLEANIMFRAMESET_90 - dw .Frameset_91 ; BATTLEANIMFRAMESET_91 - dw .Frameset_92 ; BATTLEANIMFRAMESET_92 - dw .Frameset_93 ; BATTLEANIMFRAMESET_93 - dw .Frameset_94 ; BATTLEANIMFRAMESET_94 - dw .Frameset_95 ; BATTLEANIMFRAMESET_95 - dw .Frameset_96 ; BATTLEANIMFRAMESET_96 - dw .Frameset_97 ; BATTLEANIMFRAMESET_97 - dw .Frameset_98 ; BATTLEANIMFRAMESET_98 - dw .Frameset_99 ; BATTLEANIMFRAMESET_99 - dw .Frameset_9a ; BATTLEANIMFRAMESET_9A - dw .Frameset_9b ; BATTLEANIMFRAMESET_9B - dw .Frameset_9c ; BATTLEANIMFRAMESET_9C - dw .Frameset_9d ; BATTLEANIMFRAMESET_9D - dw .Frameset_9e ; BATTLEANIMFRAMESET_9E - dw .Frameset_9f ; BATTLEANIMFRAMESET_9F - dw .Frameset_a0 ; BATTLEANIMFRAMESET_A0 - dw .Frameset_a1 ; BATTLEANIMFRAMESET_A1 - dw .Frameset_a2 ; BATTLEANIMFRAMESET_A2 - dw .Frameset_a3 ; BATTLEANIMFRAMESET_A3 - dw .Frameset_a4 ; BATTLEANIMFRAMESET_A4 - dw .Frameset_a5 ; BATTLEANIMFRAMESET_A5 - dw .Frameset_a6 ; BATTLEANIMFRAMESET_A6 - dw .Frameset_a7 ; BATTLEANIMFRAMESET_A7 - dw .Frameset_a8 ; BATTLEANIMFRAMESET_A8 - dw .Frameset_a9 ; BATTLEANIMFRAMESET_A9 - dw .Frameset_aa ; BATTLEANIMFRAMESET_AA - dw .Frameset_ab ; BATTLEANIMFRAMESET_AB - dw .Frameset_ac ; BATTLEANIMFRAMESET_AC - dw .Frameset_ad ; BATTLEANIMFRAMESET_AD - dw .Frameset_ae ; BATTLEANIMFRAMESET_AE - dw .Frameset_af ; BATTLEANIMFRAMESET_AF - dw .Frameset_b0 ; BATTLEANIMFRAMESET_B0 - dw .Frameset_b1 ; BATTLEANIMFRAMESET_B1 - dw .Frameset_b2 ; BATTLEANIMFRAMESET_B2 - dw .Frameset_b3 ; BATTLEANIMFRAMESET_B3 - dw .Frameset_b4 ; BATTLEANIMFRAMESET_B4 - dw .Frameset_b5 ; BATTLEANIMFRAMESET_B5 - dw .Frameset_b6 ; BATTLEANIMFRAMESET_B6 - dw .Frameset_b7 ; BATTLEANIMFRAMESET_B7 - dw .Frameset_b8 ; BATTLEANIMFRAMESET_B8 - - ; OAM index (see data/anims/oam.asm), flip flags / duration -.Frameset_00: - db BATTLEANIMOAMSET_00, $06 - db -4 - -.Frameset_01: - db BATTLEANIMOAMSET_01, $06 - db -4 - -.Frameset_02: - db BATTLEANIMOAMSET_02, $06 - db -4 - -.Frameset_03: - db BATTLEANIMOAMSET_03, $06 - db -4 - -.Frameset_04: - db BATTLEANIMOAMSET_04, $06 - db -4 - -.Frameset_05: - db BATTLEANIMOAMSET_05, $06 - db -4 - -.Frameset_06: - db BATTLEANIMOAMSET_06, $06 - db -4 - -.Frameset_07: - db BATTLEANIMOAMSET_03, $04 - db BATTLEANIMOAMSET_01, $01 - db BATTLEANIMOAMSET_03, $04 - db BATTLEANIMOAMSET_01, $01 - db BATTLEANIMOAMSET_03, $04 - db BATTLEANIMOAMSET_01, $01 - db BATTLEANIMOAMSET_03, $04 - db BATTLEANIMOAMSET_01, $01 - db -4 - -.Frameset_3e: - db BATTLEANIMOAMSET_4B, $02 - db BATTLEANIMOAMSET_4C, $02 - db BATTLEANIMOAMSET_4D, $04 - db BATTLEANIMOAMSET_4E, $02 - db -3, $02 - db BATTLEANIMOAMSET_4E, $02 - db -3, $02 - db BATTLEANIMOAMSET_4E, $02 - db -3, $02 - db BATTLEANIMOAMSET_4E, $02 - db -4 - -.Frameset_3f: - db BATTLEANIMOAMSET_4B, $42 - db BATTLEANIMOAMSET_4C, $42 - db BATTLEANIMOAMSET_4D, $44 - db BATTLEANIMOAMSET_4E, $42 - db -3, $02 - db BATTLEANIMOAMSET_4E, $42 - db -3, $02 - db BATTLEANIMOAMSET_4E, $42 - db -3, $02 - db BATTLEANIMOAMSET_4E, $42 - db -4 - -.Frameset_40: - db BATTLEANIMOAMSET_4B, $c2 - db BATTLEANIMOAMSET_4C, $c2 - db BATTLEANIMOAMSET_4D, $c4 - db BATTLEANIMOAMSET_4E, $c2 - db -3, $02 - db BATTLEANIMOAMSET_4E, $c2 - db -3, $02 - db BATTLEANIMOAMSET_4E, $c2 - db -3, $02 - db BATTLEANIMOAMSET_4E, $c2 - db -4 - -.Frameset_41: - db BATTLEANIMOAMSET_4B, $01 - db BATTLEANIMOAMSET_4C, $01 - db BATTLEANIMOAMSET_4D, $01 - db BATTLEANIMOAMSET_4F, $01 - db BATTLEANIMOAMSET_50, $01 - db BATTLEANIMOAMSET_51, $01 - db BATTLEANIMOAMSET_52, $02 - db -3, $02 - db BATTLEANIMOAMSET_52, $02 - db -3, $02 - db BATTLEANIMOAMSET_52, $02 - db -3, $02 - db BATTLEANIMOAMSET_52, $02 - db -4 - -.Frameset_42: - db BATTLEANIMOAMSET_4B, $41 - db BATTLEANIMOAMSET_4C, $41 - db BATTLEANIMOAMSET_4D, $41 - db BATTLEANIMOAMSET_4F, $41 - db BATTLEANIMOAMSET_50, $41 - db BATTLEANIMOAMSET_51, $41 - db BATTLEANIMOAMSET_52, $42 - db -3, $02 - db BATTLEANIMOAMSET_52, $42 - db -3, $02 - db BATTLEANIMOAMSET_52, $42 - db -3, $02 - db BATTLEANIMOAMSET_52, $42 - db -4 - -.Frameset_08: - db BATTLEANIMOAMSET_00, $03 - db BATTLEANIMOAMSET_07, $03 - db BATTLEANIMOAMSET_08, $03 - db BATTLEANIMOAMSET_09, $03 - db -4 - -.Frameset_09: - db BATTLEANIMOAMSET_0A, $07 - db BATTLEANIMOAMSET_0B, $07 - db BATTLEANIMOAMSET_0A, $07 - db BATTLEANIMOAMSET_0B, $47 - db -2 - -.Frameset_0a: - db BATTLEANIMOAMSET_0C, $08 - db -1 - -.Frameset_0b: - db BATTLEANIMOAMSET_0D, $08 - db -1 - -.Frameset_0c: - db BATTLEANIMOAMSET_0A, $08 - db -1 - -.Frameset_0d: - db BATTLEANIMOAMSET_0A, $07 - db BATTLEANIMOAMSET_0B, $07 - db BATTLEANIMOAMSET_0A, $07 - db BATTLEANIMOAMSET_0B, $47 - db BATTLEANIMOAMSET_0A, $07 - db -1 - -.Frameset_0e: - db BATTLEANIMOAMSET_0A, $08 - db -1 - -.Frameset_0f: - db BATTLEANIMOAMSET_0A, $04 - db BATTLEANIMOAMSET_0E, $04 - db -2 - -.Frameset_10: - db BATTLEANIMOAMSET_0F, $04 - db BATTLEANIMOAMSET_10, $04 - db -2 - -.Frameset_11: - db BATTLEANIMOAMSET_10, $04 - db BATTLEANIMOAMSET_0F, $04 - db BATTLEANIMOAMSET_0E, $04 - db BATTLEANIMOAMSET_0A, $04 - db BATTLEANIMOAMSET_0E, $04 - db BATTLEANIMOAMSET_0A, $04 - db BATTLEANIMOAMSET_0E, $04 - db BATTLEANIMOAMSET_0A, $04 - db -4 - -.Frameset_12: - db BATTLEANIMOAMSET_10, $01 - db BATTLEANIMOAMSET_0F, $01 - db BATTLEANIMOAMSET_12, $01 - db BATTLEANIMOAMSET_11, $01 - db BATTLEANIMOAMSET_12, $01 - db BATTLEANIMOAMSET_0F, $01 - db -2 - -.Frameset_13: - db BATTLEANIMOAMSET_10, $03 - db BATTLEANIMOAMSET_0F, $03 - db BATTLEANIMOAMSET_12, $01 - db -3, $01 - db BATTLEANIMOAMSET_12, $01 - db -3, $01 - db BATTLEANIMOAMSET_12, $01 - db -3, $01 - db BATTLEANIMOAMSET_12, $01 - db -3, $01 - db BATTLEANIMOAMSET_12, $03 - db -4 - -.Frameset_14: - db BATTLEANIMOAMSET_13, $14 - db -4 - -.Frameset_15: - db BATTLEANIMOAMSET_10, $01 - db BATTLEANIMOAMSET_0F, $01 - db -2 - -.Frameset_16: - db BATTLEANIMOAMSET_14, $08 - db -1 - -.Frameset_17: - db BATTLEANIMOAMSET_17, $04 - db BATTLEANIMOAMSET_16, $08 - db BATTLEANIMOAMSET_15, $08 - db BATTLEANIMOAMSET_16, $08 - db BATTLEANIMOAMSET_17, $04 - db BATTLEANIMOAMSET_17, $04 - db BATTLEANIMOAMSET_16, $48 - db BATTLEANIMOAMSET_15, $48 - db BATTLEANIMOAMSET_16, $48 - db BATTLEANIMOAMSET_17, $04 - db -2 - -.Frameset_56: - db BATTLEANIMOAMSET_69, $08 - db -1 - -.Frameset_57: - db BATTLEANIMOAMSET_69, $20 - db BATTLEANIMOAMSET_6A, $04 - db BATTLEANIMOAMSET_6B, $04 - db BATTLEANIMOAMSET_6D, $04 - db BATTLEANIMOAMSET_6C, $04 - db -1 - -.Frameset_58: - db BATTLEANIMOAMSET_6C, $08 - db BATTLEANIMOAMSET_6D, $08 - db -2 - -.Frameset_18: - db BATTLEANIMOAMSET_18, $04 - db BATTLEANIMOAMSET_19, $04 - db BATTLEANIMOAMSET_1A, $04 - db -4 - -.Frameset_19: - db BATTLEANIMOAMSET_1B, $08 - db -1 - -.Frameset_1a: - db BATTLEANIMOAMSET_0F, $08 - db -1 - -.Frameset_1b: - db BATTLEANIMOAMSET_1C, $08 - db -1 - -.Frameset_1c: - db BATTLEANIMOAMSET_0A, $08 - db -4 - -.Frameset_1d: - db BATTLEANIMOAMSET_1D, $08 - db -1 - -.Frameset_1e: - db BATTLEANIMOAMSET_17, $08 - db -1 - -.Frameset_1f: - db BATTLEANIMOAMSET_0F, $03 - db BATTLEANIMOAMSET_10, $03 - db BATTLEANIMOAMSET_1E, $03 - db -1 - -.Frameset_20: - db BATTLEANIMOAMSET_1F, $10 - db BATTLEANIMOAMSET_20, $03 - db -4 - -.Frameset_21: - db BATTLEANIMOAMSET_20, $08 - db -1 - -.Frameset_22: - db BATTLEANIMOAMSET_20, $08 - db BATTLEANIMOAMSET_21, $08 - db BATTLEANIMOAMSET_1B, $08 - db BATTLEANIMOAMSET_21, $08 - db -2 - -.Frameset_23: - db BATTLEANIMOAMSET_22, $08 - db -1 - -.Frameset_24: - db BATTLEANIMOAMSET_1B, $08 - db -1 - -.Frameset_25: - db BATTLEANIMOAMSET_23, $08 - db -1 - -.Frameset_26: - db BATTLEANIMOAMSET_24, $08 - db -1 - -.Frameset_27: - db BATTLEANIMOAMSET_25, $08 - db -1 - -.Frameset_28: - db BATTLEANIMOAMSET_26, $08 - db BATTLEANIMOAMSET_27, $08 - db -1 - -.Frameset_29: - db BATTLEANIMOAMSET_28, $08 - db BATTLEANIMOAMSET_29, $08 - db -4 - -.Frameset_2a: - db BATTLEANIMOAMSET_2A, $01 - db BATTLEANIMOAMSET_2B, $01 - db BATTLEANIMOAMSET_2C, $01 - db BATTLEANIMOAMSET_2D, $01 - db BATTLEANIMOAMSET_2E, $01 - db BATTLEANIMOAMSET_2D, $01 - db BATTLEANIMOAMSET_2C, $01 - db BATTLEANIMOAMSET_2B, $01 - db BATTLEANIMOAMSET_2A, $01 - db -4 - -.Frameset_2b: - db BATTLEANIMOAMSET_14, $01 - db BATTLEANIMOAMSET_15, $01 - db -2 - -.Frameset_2c: - db BATTLEANIMOAMSET_2F, $04 - db BATTLEANIMOAMSET_30, $28 - db -4 - -.Frameset_2d: - db BATTLEANIMOAMSET_31, $08 - db -1 - -.Frameset_2e: - db BATTLEANIMOAMSET_32, $20 - db BATTLEANIMOAMSET_33, $20 - db BATTLEANIMOAMSET_34, $20 - db BATTLEANIMOAMSET_35, $20 ; fallthrough -.Frameset_2f: - db -3, $02 - db BATTLEANIMOAMSET_35, $04 - db -3, $02 - db BATTLEANIMOAMSET_35, $04 - db -3, $02 - db BATTLEANIMOAMSET_35, $04 - db -3, $02 - db BATTLEANIMOAMSET_35, $04 - db -4 - -.Frameset_30: - db BATTLEANIMOAMSET_14, $04 - db BATTLEANIMOAMSET_15, $04 - db -2 - -.Frameset_31: - db BATTLEANIMOAMSET_36, $02 - db BATTLEANIMOAMSET_37, $02 - db BATTLEANIMOAMSET_38, $02 - db BATTLEANIMOAMSET_39, $20 - db -4 - -.Frameset_32: - db BATTLEANIMOAMSET_3A, $02 - db BATTLEANIMOAMSET_3B, $02 - db BATTLEANIMOAMSET_3C, $02 - db BATTLEANIMOAMSET_3D, $20 - db -4 - -.Frameset_33: - db BATTLEANIMOAMSET_3A, $42 - db BATTLEANIMOAMSET_3B, $42 - db BATTLEANIMOAMSET_3C, $42 - db BATTLEANIMOAMSET_3D, $60 - db -4 - -.Frameset_34: - db BATTLEANIMOAMSET_3E, $08 - db BATTLEANIMOAMSET_3F, $08 - db BATTLEANIMOAMSET_40, $08 - db -1 - -.Frameset_35: - db BATTLEANIMOAMSET_40, $02 - db -3, $02 - db BATTLEANIMOAMSET_40, $02 - db -3, $02 - db BATTLEANIMOAMSET_41, $02 - db -3, $02 - db BATTLEANIMOAMSET_41, $02 - db -3, $02 - db -2 - -.Frameset_36: - db BATTLEANIMOAMSET_42, $02 - db BATTLEANIMOAMSET_43, $02 - db BATTLEANIMOAMSET_44, $02 - db BATTLEANIMOAMSET_45, $02 - db -2 - -.Frameset_37: - db BATTLEANIMOAMSET_19, $02 - db -3, $02 - db -2 - -.Frameset_38: - db BATTLEANIMOAMSET_46, $04 - db BATTLEANIMOAMSET_47, $04 - db -2 - -.Frameset_39: - db BATTLEANIMOAMSET_18, $02 - db -3, $02 - db -2 - -.Frameset_3a: - db BATTLEANIMOAMSET_48, $08 - db -1 - -.Frameset_3b: - db BATTLEANIMOAMSET_48, $48 - db -1 - -.Frameset_3c: - db BATTLEANIMOAMSET_49, $08 - db -1 - -.Frameset_3d: - db BATTLEANIMOAMSET_4A, $08 - db -1 - -.Frameset_43: - db BATTLEANIMOAMSET_20, $10 - db BATTLEANIMOAMSET_1F, $10 - db BATTLEANIMOAMSET_1E, $10 - db -1 - -.Frameset_4c: - db BATTLEANIMOAMSET_20, $08 - db BATTLEANIMOAMSET_1F, $08 - db BATTLEANIMOAMSET_1E, $08 - db -1 - -.Frameset_44: - db -3, $14 - db BATTLEANIMOAMSET_55, $28 - db BATTLEANIMOAMSET_54, $28 - db BATTLEANIMOAMSET_53, $14 - db -3, $04 - db BATTLEANIMOAMSET_53, $04 - db -3, $04 - db BATTLEANIMOAMSET_53, $04 - db -3, $04 - db BATTLEANIMOAMSET_53, $04 - db -4 - -.Frameset_7e: - db BATTLEANIMOAMSET_1E, $08 - db BATTLEANIMOAMSET_1F, $08 - db BATTLEANIMOAMSET_20, $08 - db -4 - -.Frameset_45: - db -3, $00 - db BATTLEANIMOAMSET_14, $00 - db BATTLEANIMOAMSET_15, $00 - db BATTLEANIMOAMSET_14, $40 - db -3, $00 - db BATTLEANIMOAMSET_16, $40 - db BATTLEANIMOAMSET_15, $00 - db BATTLEANIMOAMSET_16, $00 - db -2 - -.Frameset_46: - db BATTLEANIMOAMSET_56, $02 - db BATTLEANIMOAMSET_57, $04 - db -4 - -.Frameset_47: - db BATTLEANIMOAMSET_56, $c2 - db BATTLEANIMOAMSET_57, $c4 - db -4 - -.Frameset_48: - db BATTLEANIMOAMSET_56, $01 - db BATTLEANIMOAMSET_57, $01 - db BATTLEANIMOAMSET_58, $01 - db BATTLEANIMOAMSET_57, $c1 - db BATTLEANIMOAMSET_58, $c1 - db BATTLEANIMOAMSET_57, $02 - db -4 - -.Frameset_49: - db BATTLEANIMOAMSET_56, $c1 - db BATTLEANIMOAMSET_57, $c1 - db BATTLEANIMOAMSET_58, $c1 - db BATTLEANIMOAMSET_57, $01 - db BATTLEANIMOAMSET_58, $01 - db BATTLEANIMOAMSET_57, $c2 - db -4 - -.Frameset_4a: - db BATTLEANIMOAMSET_57, $c1 - db BATTLEANIMOAMSET_58, $c1 - db BATTLEANIMOAMSET_57, $01 - db BATTLEANIMOAMSET_58, $01 - db -2 - -.Frameset_4b: - db BATTLEANIMOAMSET_59, $01 - db BATTLEANIMOAMSET_5A, $01 - db BATTLEANIMOAMSET_5B, $01 - db BATTLEANIMOAMSET_5C, $02 - db -4 - -.Frameset_4d: - db BATTLEANIMOAMSET_0A, $0a - db BATTLEANIMOAMSET_0B, $43 - db BATTLEANIMOAMSET_5D, $43 - db BATTLEANIMOAMSET_0B, $c3 - db BATTLEANIMOAMSET_0A, $82 - db BATTLEANIMOAMSET_0B, $81 - db BATTLEANIMOAMSET_5D, $01 - db BATTLEANIMOAMSET_0B, $01 - db -2 - -.Frameset_4e: - db BATTLEANIMOAMSET_0A, $03 - db BATTLEANIMOAMSET_0B, $47 - db BATTLEANIMOAMSET_0A, $07 - db BATTLEANIMOAMSET_0B, $07 - db BATTLEANIMOAMSET_0A, $03 - db -2 - -.Frameset_4f: - db BATTLEANIMOAMSET_5E, $20 - db BATTLEANIMOAMSET_5E, $20 - db -4 - -.Frameset_50: - db BATTLEANIMOAMSET_5F, $20 - db BATTLEANIMOAMSET_5F, $20 - db -4 - -.Frameset_51: - db BATTLEANIMOAMSET_60, $08 - db -1 - -.Frameset_52: - db BATTLEANIMOAMSET_61, $01 - db BATTLEANIMOAMSET_62, $01 - db BATTLEANIMOAMSET_63, $01 - db -1 - -.Frameset_53: - db BATTLEANIMOAMSET_63, $07 - db BATTLEANIMOAMSET_64, $07 - db -2 - -.Frameset_54: - db BATTLEANIMOAMSET_65, $01 - db BATTLEANIMOAMSET_66, $01 - db BATTLEANIMOAMSET_67, $01 - db -1 - -.Frameset_55: - db BATTLEANIMOAMSET_67, $07 - db BATTLEANIMOAMSET_68, $07 - db -2 - -.Frameset_59: - db BATTLEANIMOAMSET_6E, $08 - db -1 - -.Frameset_5a: - db BATTLEANIMOAMSET_6F, $08 - db -1 - -.Frameset_5b: - db BATTLEANIMOAMSET_6E, $88 - db -1 - -.Frameset_5c: - db BATTLEANIMOAMSET_18, $04 - db BATTLEANIMOAMSET_70, $04 - db BATTLEANIMOAMSET_71, $04 - db BATTLEANIMOAMSET_72, $04 - db BATTLEANIMOAMSET_73, $04 - db -4 - -.Frameset_5d: - db BATTLEANIMOAMSET_74, $04 - db BATTLEANIMOAMSET_75, $04 - db -2 - -.Frameset_5e: - db BATTLEANIMOAMSET_14, $08 - db -1 - -.Frameset_7a: - db BATTLEANIMOAMSET_74, $03 - db BATTLEANIMOAMSET_14, $03 - db BATTLEANIMOAMSET_15, $03 - db BATTLEANIMOAMSET_14, $03 - db BATTLEANIMOAMSET_15, $03 - db -4 - -.Frameset_af: - db BATTLEANIMOAMSET_14, $00 - db BATTLEANIMOAMSET_15, $00 - db BATTLEANIMOAMSET_14, $00 - db BATTLEANIMOAMSET_15, $00 - db BATTLEANIMOAMSET_74, $0c - db -4 - -.Frameset_5f: - db BATTLEANIMOAMSET_76, $08 - db -1 - -.Frameset_60: - db BATTLEANIMOAMSET_77, $01 - db BATTLEANIMOAMSET_78, $01 - db BATTLEANIMOAMSET_79, $01 - db BATTLEANIMOAMSET_7A, $01 - db BATTLEANIMOAMSET_7B, $01 - db BATTLEANIMOAMSET_7C, $01 - db BATTLEANIMOAMSET_7D, $01 - db BATTLEANIMOAMSET_7C, $c1 - db BATTLEANIMOAMSET_7B, $c1 - db BATTLEANIMOAMSET_7A, $c1 - db BATTLEANIMOAMSET_79, $c1 - db BATTLEANIMOAMSET_78, $c1 - db BATTLEANIMOAMSET_77, $c1 - db -4 - -.Frameset_61: - db BATTLEANIMOAMSET_1B, $04 - db BATTLEANIMOAMSET_7E, $04 - db -2 - -.Frameset_62: - db BATTLEANIMOAMSET_1B, $44 - db BATTLEANIMOAMSET_7E, $44 - db -2 - -.Frameset_63: - db BATTLEANIMOAMSET_7F, $08 - db -1 - -.Frameset_64: - db BATTLEANIMOAMSET_25, $08 - db -1 - -.Frameset_65: - db BATTLEANIMOAMSET_80, $08 - db -1 - -.Frameset_66: - db BATTLEANIMOAMSET_83, $07 - db BATTLEANIMOAMSET_82, $07 - db BATTLEANIMOAMSET_81, $07 - db BATTLEANIMOAMSET_82, $07 - db BATTLEANIMOAMSET_83, $07 - db BATTLEANIMOAMSET_82, $07 - db BATTLEANIMOAMSET_81, $07 - db -4 - -.Frameset_67: - db BATTLEANIMOAMSET_1B, $10 - db -4 - -.Frameset_68: - db -3, $0f - db BATTLEANIMOAMSET_84, $0f - db BATTLEANIMOAMSET_85, $0f - db BATTLEANIMOAMSET_29, $0f - db BATTLEANIMOAMSET_28, $0f - db BATTLEANIMOAMSET_86, $20 - db -4 - -.Frameset_69: - db BATTLEANIMOAMSET_1B, $03 - db BATTLEANIMOAMSET_87, $03 - db BATTLEANIMOAMSET_88, $03 - db BATTLEANIMOAMSET_89, $03 - db -4 - -.Frameset_6a: - db BATTLEANIMOAMSET_8A, $02 - db BATTLEANIMOAMSET_8B, $02 - db BATTLEANIMOAMSET_8C, $02 - db BATTLEANIMOAMSET_8D, $02 - db -4 - -.Frameset_6b: - db BATTLEANIMOAMSET_61, $02 - db BATTLEANIMOAMSET_62, $02 - db BATTLEANIMOAMSET_63, $02 - db -1 - -.Frameset_6c: - db BATTLEANIMOAMSET_65, $02 - db BATTLEANIMOAMSET_66, $02 - db BATTLEANIMOAMSET_67, $02 - db -1 - -.Frameset_6d: - db BATTLEANIMOAMSET_8E, $08 - db -1 - -.Frameset_6e: - db BATTLEANIMOAMSET_8E, $48 - db -1 - -.Frameset_6f: - db BATTLEANIMOAMSET_8F, $10 - db BATTLEANIMOAMSET_90, $10 - db -2 - -.Frameset_70: - db BATTLEANIMOAMSET_91, $10 - db BATTLEANIMOAMSET_92, $10 - db -2 - -.Frameset_71: - db BATTLEANIMOAMSET_93, $08 - db -1 - -.Frameset_72: - db BATTLEANIMOAMSET_1E, $08 - db -1 - -.Frameset_73: - db BATTLEANIMOAMSET_1B, $07 - db BATTLEANIMOAMSET_94, $07 - db -2 - -.Frameset_74: - db BATTLEANIMOAMSET_95, $08 - db -1 - -.Frameset_75: - db BATTLEANIMOAMSET_96, $08 - db -1 - -.Frameset_76: - db BATTLEANIMOAMSET_95, $08 - db -1 - -.Frameset_77: - db BATTLEANIMOAMSET_97, $01 - db BATTLEANIMOAMSET_97, $41 - db -2 - -.Frameset_78: - db BATTLEANIMOAMSET_98, $08 - db -1 - -.Frameset_79: - db BATTLEANIMOAMSET_99, $20 - db BATTLEANIMOAMSET_99, $20 - db BATTLEANIMOAMSET_99, $20 - db BATTLEANIMOAMSET_99, $20 - db BATTLEANIMOAMSET_99, $20 - db BATTLEANIMOAMSET_9A, $08 - db -1 - -.Frameset_7b: - db BATTLEANIMOAMSET_9B, $08 - db -1 - -.Frameset_7c: - db BATTLEANIMOAMSET_9C, $02 - db BATTLEANIMOAMSET_9D, $02 - db BATTLEANIMOAMSET_9E, $08 - db -3, $02 - db BATTLEANIMOAMSET_9E, $02 - db -3, $02 - db BATTLEANIMOAMSET_9E, $02 - db -3, $02 - db BATTLEANIMOAMSET_9E, $02 - db -4 - -.Frameset_7d: - db BATTLEANIMOAMSET_9F, $08 - db -1 - -.Frameset_7f: - db BATTLEANIMOAMSET_0F, $08 - db -1 - -.Frameset_80: - db BATTLEANIMOAMSET_6B, $18 - db -4 - -.Frameset_81: - db BATTLEANIMOAMSET_A0, $01 ; fallthrough -.Frameset_82: - db BATTLEANIMOAMSET_A1, $01 ; fallthrough -.Frameset_83: - db BATTLEANIMOAMSET_A2, $01 - db -4 - -.Frameset_84: - db BATTLEANIMOAMSET_A3, $08 - db -1 - -.Frameset_85: - db BATTLEANIMOAMSET_A4, $04 - db BATTLEANIMOAMSET_A5, $04 - db BATTLEANIMOAMSET_A6, $04 - db BATTLEANIMOAMSET_A7, $04 - db BATTLEANIMOAMSET_A6, $44 - db BATTLEANIMOAMSET_A5, $44 - db -2 - -.Frameset_86: - db BATTLEANIMOAMSET_A8, $04 - db BATTLEANIMOAMSET_A9, $04 - db BATTLEANIMOAMSET_AA, $04 - db BATTLEANIMOAMSET_AB, $04 - db BATTLEANIMOAMSET_AA, $44 - db BATTLEANIMOAMSET_A9, $44 - db -2 - -.Frameset_87: - db BATTLEANIMOAMSET_1B, $08 - db -1 - -.Frameset_88: - db BATTLEANIMOAMSET_AC, $08 - db -1 - -.Frameset_89: - db BATTLEANIMOAMSET_AD, $08 - db -1 - -.Frameset_8a: - db BATTLEANIMOAMSET_AE, $08 - db -1 - -.Frameset_8b: - db BATTLEANIMOAMSET_AF, $08 - db -1 - -.Frameset_8c: - db BATTLEANIMOAMSET_B0, $20 - db -4 - -.Frameset_8d: - db BATTLEANIMOAMSET_B1, $07 - db BATTLEANIMOAMSET_B1, $47 - db -2 - -.Frameset_8e: - db BATTLEANIMOAMSET_B2, $08 - db -1 - -.Frameset_8f: - db BATTLEANIMOAMSET_B3, $08 - db -1 - -.Frameset_90: - db BATTLEANIMOAMSET_B3, $48 - db -1 - -.Frameset_91: - db BATTLEANIMOAMSET_B3, $88 - db -1 - -.Frameset_92: - db BATTLEANIMOAMSET_B3, $c8 - db -1 - -.Frameset_93: - db BATTLEANIMOAMSET_B5, $08 - db -1 - -.Frameset_94: - db BATTLEANIMOAMSET_B5, $48 - db -1 - -.Frameset_95: - db BATTLEANIMOAMSET_B5, $88 - db -1 - -.Frameset_96: - db BATTLEANIMOAMSET_B5, $c8 - db -1 - -.Frameset_97: - db BATTLEANIMOAMSET_B4, $08 - db -1 - -.Frameset_98: - db BATTLEANIMOAMSET_6B, $08 - db -1 - -.Frameset_99: - db BATTLEANIMOAMSET_B6, $08 - db -1 - -.Frameset_9a: - db BATTLEANIMOAMSET_B7, $20 - db -1 - -.Frameset_9b: - db BATTLEANIMOAMSET_1B, $20 - db -1 - -.Frameset_9c: - db BATTLEANIMOAMSET_B8, $20 - db -1 - -.Frameset_9d: - db BATTLEANIMOAMSET_B8, $60 - db -1 - -.Frameset_9e: - db BATTLEANIMOAMSET_B9, $20 - db -1 - -.Frameset_9f: - db BATTLEANIMOAMSET_BA, $20 - db -1 - -.Frameset_a0: - db BATTLEANIMOAMSET_BB, $60 - db -1 - -.Frameset_a1: - db BATTLEANIMOAMSET_BB, $20 - db -1 - -.Frameset_a2: - db BATTLEANIMOAMSET_BC, $20 - db -1 - -.Frameset_a3: - db BATTLEANIMOAMSET_BD, $0b - db BATTLEANIMOAMSET_BE, $0b - db BATTLEANIMOAMSET_1B, $0b - db -4 - -.Frameset_a4: - db BATTLEANIMOAMSET_BF, $04 - db BATTLEANIMOAMSET_C0, $04 - db BATTLEANIMOAMSET_C1, $04 - db -4 - -.Frameset_a5: - db BATTLEANIMOAMSET_C2, $20 - db BATTLEANIMOAMSET_C2, $20 - db -4 - -.Frameset_a6: - db BATTLEANIMOAMSET_4B, $02 - db BATTLEANIMOAMSET_4C, $02 - db BATTLEANIMOAMSET_4D, $20 - db BATTLEANIMOAMSET_4D, $20 - db BATTLEANIMOAMSET_4D, $20 - db BATTLEANIMOAMSET_4F, $01 - db BATTLEANIMOAMSET_50, $01 - db BATTLEANIMOAMSET_51, $01 - db BATTLEANIMOAMSET_52, $02 - db -3, $02 - db BATTLEANIMOAMSET_52, $02 - db -3, $02 - db BATTLEANIMOAMSET_52, $02 - db -3, $02 - db BATTLEANIMOAMSET_52, $02 - db -4 - -.Frameset_a7: - db BATTLEANIMOAMSET_4B, $c2 - db BATTLEANIMOAMSET_4C, $c2 - db BATTLEANIMOAMSET_4D, $e0 - db BATTLEANIMOAMSET_4D, $e0 - db BATTLEANIMOAMSET_4D, $e0 - db BATTLEANIMOAMSET_4F, $c1 - db BATTLEANIMOAMSET_50, $c1 - db BATTLEANIMOAMSET_51, $c1 - db BATTLEANIMOAMSET_52, $c2 - db -3, $02 - db BATTLEANIMOAMSET_52, $c2 - db -3, $02 - db BATTLEANIMOAMSET_52, $c2 - db -3, $02 - db BATTLEANIMOAMSET_52, $c2 - db -4 - -.Frameset_a8: - db BATTLEANIMOAMSET_C3, $01 - db BATTLEANIMOAMSET_C3, $c1 - db -2 - -.Frameset_a9: - db BATTLEANIMOAMSET_C4, $20 - db -1 - -.Frameset_aa: - db BATTLEANIMOAMSET_C5, $04 - db BATTLEANIMOAMSET_C6, $04 - db BATTLEANIMOAMSET_C7, $04 - db -4 - -.Frameset_ab: - db BATTLEANIMOAMSET_C8, $01 - db BATTLEANIMOAMSET_C8, $41 - db -2 - -.Frameset_ac: - db BATTLEANIMOAMSET_C9, $03 - db BATTLEANIMOAMSET_05, $03 - db -4 - -.Frameset_ad: - db BATTLEANIMOAMSET_CA, $20 - db BATTLEANIMOAMSET_CB, $03 - db BATTLEANIMOAMSET_CA, $03 - db BATTLEANIMOAMSET_CB, $03 - db -2 - -.Frameset_ae: - db BATTLEANIMOAMSET_03, $a0 - db -1 - -.Frameset_b0: - db BATTLEANIMOAMSET_CC, $20 - db -1 - -.Frameset_b1: - db BATTLEANIMOAMSET_7F, $02 - db BATTLEANIMOAMSET_25, $02 - db BATTLEANIMOAMSET_80, $02 - db BATTLEANIMOAMSET_25, $02 - db -2 - -.Frameset_b2: - db BATTLEANIMOAMSET_CD, $04 - db BATTLEANIMOAMSET_CE, $04 - db BATTLEANIMOAMSET_CD, $c4 - db BATTLEANIMOAMSET_CE, $c4 - db -2 - -.Frameset_b3: - db BATTLEANIMOAMSET_CF, $04 - db BATTLEANIMOAMSET_D0, $04 - db BATTLEANIMOAMSET_D1, $04 - db BATTLEANIMOAMSET_D2, $04 - db -4 - -.Frameset_b4: - db BATTLEANIMOAMSET_D3, $20 - db -1 - -.Frameset_b5: - db BATTLEANIMOAMSET_D4, $08 - db -1 - -.Frameset_b6: - db BATTLEANIMOAMSET_D5, $08 - db -1 - -.Frameset_b7: - db BATTLEANIMOAMSET_D6, $08 - db -1 - -.Frameset_b8: - db BATTLEANIMOAMSET_D7, $08 - db -1 - -; ceeae diff --git a/data/anims/oam.asm b/data/anims/oam.asm deleted file mode 100755 index 5d88977bd..000000000 --- a/data/anims/oam.asm +++ /dev/null @@ -1,1086 +0,0 @@ -BattleAnimOAMData: ; ceeae -; entries correspond to BATTLEANIMOAMSET_* constants - ; vtile offset, length, pointer - dbbw $00, 16, .OAMData_00 ; BATTLEANIMOAMSET_00 - dbbw $04, 9, .OAMData_01 ; BATTLEANIMOAMSET_01 - dbbw $08, 4, .OAMData_02 ; BATTLEANIMOAMSET_02 - dbbw $09, 4, .OAMData_03 ; BATTLEANIMOAMSET_03 - dbbw $0d, 4, .OAMData_04 ; BATTLEANIMOAMSET_04 - dbbw $0f, 4, .OAMData_03 ; BATTLEANIMOAMSET_05 - dbbw $13, 4, .OAMData_04 ; BATTLEANIMOAMSET_06 - dbbw $04, 16, .OAMData_00 ; BATTLEANIMOAMSET_07 - dbbw $08, 16, .OAMData_00 ; BATTLEANIMOAMSET_08 - dbbw $08, 16, .OAMData_09 ; BATTLEANIMOAMSET_09 - dbbw $00, 4, .OAMData_04 ; BATTLEANIMOAMSET_0A - dbbw $02, 4, .OAMData_03 ; BATTLEANIMOAMSET_0B - dbbw $06, 2, .OAMData_0c ; BATTLEANIMOAMSET_0C - dbbw $07, 2, .OAMData_0c ; BATTLEANIMOAMSET_0D - dbbw $02, 4, .OAMData_04 ; BATTLEANIMOAMSET_0E - dbbw $04, 1, .OAMData_0f ; BATTLEANIMOAMSET_0F - dbbw $05, 1, .OAMData_0f ; BATTLEANIMOAMSET_10 - dbbw $00, 2, .OAMData_11 ; BATTLEANIMOAMSET_11 - dbbw $02, 2, .OAMData_11 ; BATTLEANIMOAMSET_12 - dbbw $00, 4, .OAMData_13 ; BATTLEANIMOAMSET_13 - dbbw $00, 1, .OAMData_0f ; BATTLEANIMOAMSET_14 - dbbw $01, 1, .OAMData_0f ; BATTLEANIMOAMSET_15 - dbbw $02, 1, .OAMData_0f ; BATTLEANIMOAMSET_16 - dbbw $03, 1, .OAMData_0f ; BATTLEANIMOAMSET_17 - dbbw $00, 4, .OAMData_02 ; BATTLEANIMOAMSET_18 - dbbw $01, 16, .OAMData_00 ; BATTLEANIMOAMSET_19 - dbbw $05, 16, .OAMData_00 ; BATTLEANIMOAMSET_1A - dbbw $00, 4, .OAMData_03 ; BATTLEANIMOAMSET_1B - dbbw $05, 12, .OAMData_1c ; BATTLEANIMOAMSET_1C - dbbw $02, 4, .OAMData_02 ; BATTLEANIMOAMSET_1D - dbbw $06, 1, .OAMData_0f ; BATTLEANIMOAMSET_1E - dbbw $07, 1, .OAMData_0f ; BATTLEANIMOAMSET_1F - dbbw $08, 1, .OAMData_0f ; BATTLEANIMOAMSET_20 - dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_21 - dbbw $09, 22, .OAMData_22 ; BATTLEANIMOAMSET_22 - dbbw $04, 2, .OAMData_11 ; BATTLEANIMOAMSET_23 - dbbw $06, 2, .OAMData_11 ; BATTLEANIMOAMSET_24 - dbbw $0c, 1, .OAMData_0f ; BATTLEANIMOAMSET_25 - dbbw $0a, 1, .OAMData_0f ; BATTLEANIMOAMSET_26 - dbbw $0b, 4, .OAMData_02 ; BATTLEANIMOAMSET_27 - dbbw $08, 4, .OAMData_04 ; BATTLEANIMOAMSET_28 - dbbw $06, 4, .OAMData_04 ; BATTLEANIMOAMSET_29 - dbbw $00, 5, .OAMData_2a ; BATTLEANIMOAMSET_2A - dbbw $03, 6, .OAMData_2b ; BATTLEANIMOAMSET_2B - dbbw $00, 7, .OAMData_2c ; BATTLEANIMOAMSET_2C - dbbw $03, 8, .OAMData_2d ; BATTLEANIMOAMSET_2D - dbbw $00, 9, .OAMData_2e ; BATTLEANIMOAMSET_2E - dbbw $00, 4, .OAMData_2f ; BATTLEANIMOAMSET_2F - dbbw $02, 4, .OAMData_30 ; BATTLEANIMOAMSET_30 - dbbw $04, 6, .OAMData_31 ; BATTLEANIMOAMSET_31 - dbbw $00, 2, .OAMData_32 ; BATTLEANIMOAMSET_32 - dbbw $00, 7, .OAMData_33 ; BATTLEANIMOAMSET_33 - dbbw $00, 14, .OAMData_32 ; BATTLEANIMOAMSET_34 - dbbw $00, 21, .OAMData_33 ; BATTLEANIMOAMSET_35 - dbbw $00, 2, .OAMData_36 ; BATTLEANIMOAMSET_36 - dbbw $00, 6, .OAMData_36 ; BATTLEANIMOAMSET_37 - dbbw $00, 10, .OAMData_36 ; BATTLEANIMOAMSET_38 - dbbw $00, 14, .OAMData_36 ; BATTLEANIMOAMSET_39 - dbbw $00, 2, .OAMData_3a ; BATTLEANIMOAMSET_3A - dbbw $00, 6, .OAMData_3a ; BATTLEANIMOAMSET_3B - dbbw $00, 10, .OAMData_3a ; BATTLEANIMOAMSET_3C - dbbw $00, 14, .OAMData_3a ; BATTLEANIMOAMSET_3D - dbbw $00, 4, .OAMData_3e ; BATTLEANIMOAMSET_3E - dbbw $00, 16, .OAMData_3e ; BATTLEANIMOAMSET_3F - dbbw $00, 26, .OAMData_3e ; BATTLEANIMOAMSET_40 - dbbw $00, 26, .OAMData_41 ; BATTLEANIMOAMSET_41 - dbbw $0e, 4, .OAMData_42 ; BATTLEANIMOAMSET_42 - dbbw $0e, 8, .OAMData_42 ; BATTLEANIMOAMSET_43 - dbbw $0e, 4, .OAMData_44 ; BATTLEANIMOAMSET_44 - dbbw $0e, 8, .OAMData_44 ; BATTLEANIMOAMSET_45 - dbbw $0e, 4, .OAMData_46 ; BATTLEANIMOAMSET_46 - dbbw $0e, 4, .OAMData_47 ; BATTLEANIMOAMSET_47 - dbbw $00, 6, .OAMData_48 ; BATTLEANIMOAMSET_48 - dbbw $03, 4, .OAMData_49 ; BATTLEANIMOAMSET_49 - dbbw $03, 2, .OAMData_4a ; BATTLEANIMOAMSET_4A - dbbw $01, 5, .OAMData_0f ; BATTLEANIMOAMSET_4B - dbbw $01, 6, .OAMData_4c ; BATTLEANIMOAMSET_4C - dbbw $01, 7, .OAMData_4d ; BATTLEANIMOAMSET_4D - dbbw $01, 3, .OAMData_4d ; BATTLEANIMOAMSET_4E - dbbw $01, 8, .OAMData_4f ; BATTLEANIMOAMSET_4F - dbbw $01, 9, .OAMData_50 ; BATTLEANIMOAMSET_50 - dbbw $01, 10, .OAMData_51 ; BATTLEANIMOAMSET_51 - dbbw $01, 6, .OAMData_51 ; BATTLEANIMOAMSET_52 - dbbw $00, 9, .OAMData_01 ; BATTLEANIMOAMSET_53 - dbbw $04, 4, .OAMData_02 ; BATTLEANIMOAMSET_54 - dbbw $05, 4, .OAMData_02 ; BATTLEANIMOAMSET_55 - dbbw $00, 2, .OAMData_56 ; BATTLEANIMOAMSET_56 - dbbw $02, 2, .OAMData_56 ; BATTLEANIMOAMSET_57 - dbbw $04, 2, .OAMData_56 ; BATTLEANIMOAMSET_58 - dbbw $02, 4, .OAMData_59 ; BATTLEANIMOAMSET_59 - dbbw $02, 4, .OAMData_5a ; BATTLEANIMOAMSET_5A - dbbw $02, 2, .OAMData_0c ; BATTLEANIMOAMSET_5B - dbbw $04, 2, .OAMData_0c ; BATTLEANIMOAMSET_5C - dbbw $06, 4, .OAMData_5d ; BATTLEANIMOAMSET_5D - dbbw $08, 2, .OAMData_0c ; BATTLEANIMOAMSET_5E - dbbw $09, 2, .OAMData_0c ; BATTLEANIMOAMSET_5F - dbbw $05, 2, .OAMData_60 ; BATTLEANIMOAMSET_60 - dbbw $00, 2, .OAMData_61 ; BATTLEANIMOAMSET_61 - dbbw $00, 5, .OAMData_61 ; BATTLEANIMOAMSET_62 - dbbw $00, 9, .OAMData_61 ; BATTLEANIMOAMSET_63 - dbbw $09, 9, .OAMData_61 ; BATTLEANIMOAMSET_64 - dbbw $00, 4, .OAMData_65 ; BATTLEANIMOAMSET_65 - dbbw $00, 7, .OAMData_65 ; BATTLEANIMOAMSET_66 - dbbw $00, 9, .OAMData_65 ; BATTLEANIMOAMSET_67 - dbbw $09, 9, .OAMData_65 ; BATTLEANIMOAMSET_68 - dbbw $04, 1, .OAMData_69 ; BATTLEANIMOAMSET_69 - dbbw $05, 2, .OAMData_6a ; BATTLEANIMOAMSET_6A - dbbw $06, 4, .OAMData_03 ; BATTLEANIMOAMSET_6B - dbbw $0a, 4, .OAMData_03 ; BATTLEANIMOAMSET_6C - dbbw $0e, 4, .OAMData_03 ; BATTLEANIMOAMSET_6D - dbbw $08, 5, .OAMData_6e ; BATTLEANIMOAMSET_6E - dbbw $0d, 3, .OAMData_6f ; BATTLEANIMOAMSET_6F - dbbw $01, 8, .OAMData_70 ; BATTLEANIMOAMSET_70 - dbbw $03, 8, .OAMData_70 ; BATTLEANIMOAMSET_71 - dbbw $05, 8, .OAMData_70 ; BATTLEANIMOAMSET_72 - dbbw $07, 8, .OAMData_70 ; BATTLEANIMOAMSET_73 - dbbw $06, 4, .OAMData_02 ; BATTLEANIMOAMSET_74 - dbbw $07, 4, .OAMData_02 ; BATTLEANIMOAMSET_75 - dbbw $0a, 2, .OAMData_76 ; BATTLEANIMOAMSET_76 - dbbw $00, 1, .OAMData_77 ; BATTLEANIMOAMSET_77 - dbbw $00, 3, .OAMData_78 ; BATTLEANIMOAMSET_78 - dbbw $00, 6, .OAMData_79 ; BATTLEANIMOAMSET_79 - dbbw $00, 9, .OAMData_7a ; BATTLEANIMOAMSET_7A - dbbw $00, 12, .OAMData_7b ; BATTLEANIMOAMSET_7B - dbbw $00, 14, .OAMData_7c ; BATTLEANIMOAMSET_7C - dbbw $00, 15, .OAMData_7d ; BATTLEANIMOAMSET_7D - dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_7E - dbbw $08, 4, .OAMData_03 ; BATTLEANIMOAMSET_7F - dbbw $0d, 1, .OAMData_0f ; BATTLEANIMOAMSET_80 - dbbw $0e, 4, .OAMData_81 ; BATTLEANIMOAMSET_81 - dbbw $10, 1, .OAMData_0f ; BATTLEANIMOAMSET_82 - dbbw $11, 1, .OAMData_0f ; BATTLEANIMOAMSET_83 - dbbw $04, 2, .OAMData_6a ; BATTLEANIMOAMSET_84 - dbbw $05, 2, .OAMData_6a ; BATTLEANIMOAMSET_85 - dbbw $0a, 4, .OAMData_04 ; BATTLEANIMOAMSET_86 - dbbw $00, 8, .OAMData_87 ; BATTLEANIMOAMSET_87 - dbbw $00, 12, .OAMData_88 ; BATTLEANIMOAMSET_88 - dbbw $00, 16, .OAMData_87 ; BATTLEANIMOAMSET_89 - dbbw $09, 2, .OAMData_8a ; BATTLEANIMOAMSET_8A - dbbw $09, 4, .OAMData_8a ; BATTLEANIMOAMSET_8B - dbbw $09, 6, .OAMData_8a ; BATTLEANIMOAMSET_8C - dbbw $09, 8, .OAMData_8a ; BATTLEANIMOAMSET_8D - dbbw $12, 5, .OAMData_8e ; BATTLEANIMOAMSET_8E - dbbw $00, 4, .OAMData_8f ; BATTLEANIMOAMSET_8F - dbbw $04, 4, .OAMData_8f ; BATTLEANIMOAMSET_90 - dbbw $08, 4, .OAMData_8f ; BATTLEANIMOAMSET_91 - dbbw $0c, 4, .OAMData_8f ; BATTLEANIMOAMSET_92 - dbbw $00, 6, .OAMData_93 ; BATTLEANIMOAMSET_93 - dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_94 - dbbw $0a, 4, .OAMData_04 ; BATTLEANIMOAMSET_95 - dbbw $15, 4, .OAMData_30 ; BATTLEANIMOAMSET_96 - dbbw $04, 4, .OAMData_30 ; BATTLEANIMOAMSET_97 - dbbw $0c, 4, .OAMData_04 ; BATTLEANIMOAMSET_98 - dbbw $0a, 4, .OAMData_99 ; BATTLEANIMOAMSET_99 - dbbw $0c, 4, .OAMData_03 ; BATTLEANIMOAMSET_9A - dbbw $00, 36, .OAMData_9b ; BATTLEANIMOAMSET_9B - dbbw $0d, 2, .OAMData_9c ; BATTLEANIMOAMSET_9C - dbbw $0d, 4, .OAMData_9c ; BATTLEANIMOAMSET_9D - dbbw $0d, 6, .OAMData_9c ; BATTLEANIMOAMSET_9E - dbbw $02, 8, .OAMData_9f ; BATTLEANIMOAMSET_9F - dbbw $08, 7, .OAMData_a0 ; BATTLEANIMOAMSET_A0 - dbbw $08, 5, .OAMData_a0 ; BATTLEANIMOAMSET_A1 - dbbw $08, 3, .OAMData_a0 ; BATTLEANIMOAMSET_A2 - dbbw $00, 16, .OAMData_1c ; BATTLEANIMOAMSET_A3 - dbbw $00, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A4 - dbbw $06, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A5 - dbbw $0c, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A6 - dbbw $12, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A7 - dbbw $18, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A8 - dbbw $1e, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A9 - dbbw $24, 9, .OAMData_a4 ; BATTLEANIMOAMSET_AA - dbbw $2a, 9, .OAMData_a4 ; BATTLEANIMOAMSET_AB - dbbw $03, 4, .OAMData_ac ; BATTLEANIMOAMSET_AC - dbbw $12, 4, .OAMData_03 ; BATTLEANIMOAMSET_AD - dbbw $10, 4, .OAMData_04 ; BATTLEANIMOAMSET_AE - dbbw $16, 1, .OAMData_0f ; BATTLEANIMOAMSET_AF - dbbw $17, 4, .OAMData_02 ; BATTLEANIMOAMSET_B0 - dbbw $18, 4, .OAMData_03 ; BATTLEANIMOAMSET_B1 - dbbw $1c, 4, .OAMData_03 ; BATTLEANIMOAMSET_B2 - dbbw $20, 3, .OAMData_03 ; BATTLEANIMOAMSET_B3 - dbbw $23, 4, .OAMData_04 ; BATTLEANIMOAMSET_B4 - dbbw $25, 3, .OAMData_03 ; BATTLEANIMOAMSET_B5 - dbbw $17, 4, .OAMData_03 ; BATTLEANIMOAMSET_B6 - dbbw $0a, 16, .OAMData_00 ; BATTLEANIMOAMSET_B7 - dbbw $10, 16, .OAMData_1c ; BATTLEANIMOAMSET_B8 - dbbw $00, 16, .OAMData_1c ; BATTLEANIMOAMSET_B9 - dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_BA - dbbw $08, 2, .OAMData_11 ; BATTLEANIMOAMSET_BB - dbbw $20, 6, .OAMData_bc ; BATTLEANIMOAMSET_BC - dbbw $08, 1, .OAMData_0f ; BATTLEANIMOAMSET_BD - dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_BE - dbbw $1a, 4, .OAMData_30 ; BATTLEANIMOAMSET_BF - dbbw $16, 9, .OAMData_01 ; BATTLEANIMOAMSET_C0 - dbbw $10, 16, .OAMData_c1 ; BATTLEANIMOAMSET_C1 - dbbw $09, 6, .OAMData_c2 ; BATTLEANIMOAMSET_C2 - dbbw $11, 9, .OAMData_c3 ; BATTLEANIMOAMSET_C3 - dbbw $0e, 4, .OAMData_03 ; BATTLEANIMOAMSET_C4 - dbbw $0b, 4, .OAMData_30 ; BATTLEANIMOAMSET_C5 - dbbw $1c, 6, .OAMData_02 ; BATTLEANIMOAMSET_C6 - dbbw $20, 16, .OAMData_c1 ; BATTLEANIMOAMSET_C7 - dbbw $05, 6, .OAMData_c8 ; BATTLEANIMOAMSET_C8 - dbbw $0b, 4, .OAMData_03 ; BATTLEANIMOAMSET_C9 - dbbw $09, 4, .OAMData_ca ; BATTLEANIMOAMSET_CA - dbbw $0b, 4, .OAMData_04 ; BATTLEANIMOAMSET_CB - dbbw $11, 13, .OAMData_cc ; BATTLEANIMOAMSET_CC - dbbw $00, 9, .OAMData_c3 ; BATTLEANIMOAMSET_CD - dbbw $09, 9, .OAMData_c3 ; BATTLEANIMOAMSET_CE - dbbw $00, 12, .OAMData_cf ; BATTLEANIMOAMSET_CF - dbbw $06, 12, .OAMData_cf ; BATTLEANIMOAMSET_D0 - dbbw $0c, 12, .OAMData_cf ; BATTLEANIMOAMSET_D1 - dbbw $12, 12, .OAMData_cf ; BATTLEANIMOAMSET_D2 - dbbw $00, 13, .OAMData_cc ; BATTLEANIMOAMSET_D3 - dbbw $00, 7, .OAMData_d4 ; BATTLEANIMOAMSET_D4 - dbbw $00, 6, .OAMData_d5 ; BATTLEANIMOAMSET_D5 - dbbw $00, 14, .OAMData_d6 ; BATTLEANIMOAMSET_D6 - dbbw $00, 12, .OAMData_d7 ; BATTLEANIMOAMSET_D7 - -.OAMData_11: - dsprite -1, 0, -1, 4, $00, $00 - dsprite 0, 0, -1, 4, $01, $00 - -.OAMData_56: - dsprite -1, 4, -1, 0, $00, $00 - dsprite -1, 4, 0, 0, $01, $00 - -.OAMData_03: - dsprite -1, 0, -1, 0, $00, $00 - dsprite -1, 0, 0, 0, $01, $00 - dsprite 0, 0, -1, 0, $02, $00 - dsprite 0, 0, 0, 0, $03, $00 - -.OAMData_02: - dsprite -1, 0, -1, 0, $00, $00 - dsprite -1, 0, 0, 0, $00, $20 - dsprite 0, 0, -1, 0, $00, $40 - dsprite 0, 0, 0, 0, $00, $60 - -.OAMData_c3: - dsprite -2, 4, -2, 4, $00, $00 - dsprite -2, 4, -1, 4, $01, $00 - dsprite -2, 4, 0, 4, $02, $00 - dsprite -1, 4, -2, 4, $03, $00 - dsprite -1, 4, -1, 4, $04, $00 - dsprite -1, 4, 0, 4, $05, $00 - dsprite 0, 4, -2, 4, $06, $00 - dsprite 0, 4, -1, 4, $07, $00 - dsprite 0, 4, 0, 4, $08, $00 - -.OAMData_01: - dsprite -2, 4, -2, 4, $00, $00 - dsprite -2, 4, -1, 4, $01, $00 - dsprite -2, 4, 0, 4, $00, $20 - dsprite -1, 4, -2, 4, $02, $00 - dsprite -1, 4, -1, 4, $03, $00 - dsprite -1, 4, 0, 4, $02, $60 - dsprite 0, 4, -2, 4, $00, $40 - dsprite 0, 4, -1, 4, $01, $60 - dsprite 0, 4, 0, 4, $00, $60 - -.OAMData_cf: - dsprite -2, 0, -2, 4, $00, $00 - dsprite -2, 0, -1, 4, $01, $00 - dsprite -2, 0, 0, 4, $02, $00 - dsprite -1, 0, -2, 4, $03, $00 - dsprite -1, 0, -1, 4, $04, $00 - dsprite -1, 0, 0, 4, $05, $00 - dsprite 0, 0, -2, 4, $05, $60 - dsprite 0, 0, -1, 4, $04, $60 - dsprite 0, 0, 0, 4, $03, $60 - dsprite 1, 0, -2, 4, $02, $60 - dsprite 1, 0, -1, 4, $01, $60 - dsprite 1, 0, 0, 4, $00, $60 - -.OAMData_1c: - dsprite -2, 0, -2, 0, $00, $00 - dsprite -2, 0, -1, 0, $01, $00 - dsprite -2, 0, 0, 0, $02, $00 - dsprite -2, 0, 1, 0, $03, $00 - dsprite -1, 0, -2, 0, $04, $00 - dsprite -1, 0, -1, 0, $05, $00 - dsprite -1, 0, 0, 0, $06, $00 - dsprite -1, 0, 1, 0, $07, $00 - dsprite 0, 0, -2, 0, $08, $00 - dsprite 0, 0, -1, 0, $09, $00 - dsprite 0, 0, 0, 0, $0a, $00 - dsprite 0, 0, 1, 0, $0b, $00 - dsprite 1, 0, -2, 0, $0c, $00 - dsprite 1, 0, -1, 0, $0d, $00 - dsprite 1, 0, 0, 0, $0e, $00 - dsprite 1, 0, 1, 0, $0f, $00 - -.OAMData_00: - dsprite -2, 0, -2, 0, $00, $00 - dsprite -2, 0, -1, 0, $01, $00 - dsprite -1, 0, -2, 0, $02, $00 - dsprite -1, 0, -1, 0, $03, $00 - dsprite -2, 0, 0, 0, $01, $20 - dsprite -2, 0, 1, 0, $00, $20 - dsprite -1, 0, 0, 0, $03, $20 - dsprite -1, 0, 1, 0, $02, $20 - dsprite 0, 0, -2, 0, $02, $40 - dsprite 0, 0, -1, 0, $03, $40 - dsprite 1, 0, -2, 0, $00, $40 - dsprite 1, 0, -1, 0, $01, $40 - dsprite 0, 0, 0, 0, $03, $60 - dsprite 0, 0, 1, 0, $02, $60 - dsprite 1, 0, 0, 0, $01, $60 - dsprite 1, 0, 1, 0, $00, $60 - -.OAMData_09: - dsprite -3, 4, -3, 4, $00, $00 - dsprite -3, 4, -2, 4, $01, $00 - dsprite -2, 4, -3, 4, $02, $00 - dsprite -2, 4, -2, 4, $03, $00 - dsprite -3, 4, 0, 4, $01, $20 - dsprite -3, 4, 1, 4, $00, $20 - dsprite -2, 4, 0, 4, $03, $20 - dsprite -2, 4, 1, 4, $02, $20 - dsprite 0, 4, -3, 4, $02, $40 - dsprite 0, 4, -2, 4, $03, $40 - dsprite 1, 4, -3, 4, $00, $40 - dsprite 1, 4, -2, 4, $01, $40 - dsprite 0, 4, 0, 4, $03, $60 - dsprite 0, 4, 1, 4, $02, $60 - dsprite 1, 4, 0, 4, $01, $60 - dsprite 1, 4, 1, 4, $00, $60 - -.OAMData_0c: - dsprite -1, 4, -1, 0, $00, $00 - dsprite -1, 4, 0, 0, $00, $20 - -.OAMData_6a: - dsprite 0, 0, -1, 0, $00, $00 - dsprite 0, 0, 0, 0, $00, $20 - -.OAMData_04: - dsprite -1, 0, -1, 0, $00, $00 - dsprite -1, 0, 0, 0, $00, $20 - dsprite 0, 0, -1, 0, $01, $00 - dsprite 0, 0, 0, 0, $01, $20 - -.OAMData_5d: - dsprite -1, 0, -1, 0, $00, $00 - dsprite -1, 0, 0, 0, $01, $00 - dsprite 0, 0, -1, 0, $00, $40 - dsprite 0, 0, 0, 0, $01, $40 - -.OAMData_13: - dsprite -1, 2, -1, 0, $02, $00 - dsprite 0, 2, -1, 0, $03, $00 - dsprite -2, 6, 0, 0, $02, $00 - dsprite -1, 6, 0, 0, $03, $00 - -.OAMData_22: - dsprite 1, 0, -11, 0, $01, $00 - dsprite 0, 0, -10, 0, $02, $00 - dsprite 0, 0, -9, 0, $03, $00 - dsprite 0, 0, -8, 0, $00, $00 - dsprite 0, 0, -7, 0, $03, $00 - dsprite 0, 0, -6, 0, $00, $00 - dsprite 0, 0, -5, 0, $03, $00 - dsprite 0, 0, -4, 0, $00, $00 - dsprite 0, 0, -3, 0, $03, $00 - dsprite 0, 0, -2, 0, $00, $00 - dsprite 0, 0, -1, 0, $01, $00 - dsprite -1, 0, 0, 0, $02, $00 - dsprite -1, 0, 1, 0, $03, $00 - dsprite -1, 0, 2, 0, $00, $00 - dsprite -1, 0, 3, 0, $03, $00 - dsprite -1, 0, 4, 0, $00, $00 - dsprite -1, 0, 5, 0, $03, $00 - dsprite -1, 0, 6, 0, $00, $00 - dsprite -1, 0, 7, 0, $03, $00 - dsprite -1, 0, 8, 0, $00, $00 - dsprite -1, 0, 9, 0, $01, $00 - dsprite -2, 0, 10, 0, $02, $00 - -.OAMData_2a: - dsprite -3, 4, -1, 0, $00, $00 - dsprite -3, 4, 0, 0, $00, $20 - dsprite -2, 4, -1, 0, $01, $00 - dsprite -2, 4, 0, 0, $01, $20 - dsprite -1, 4, -1, 4, $02, $00 - -.OAMData_2b: - dsprite -4, 4, -1, 0, $00, $00 - dsprite -4, 4, 0, 0, $00, $20 - dsprite -3, 4, -1, 0, $01, $00 - dsprite -3, 4, 0, 0, $01, $20 - dsprite -2, 4, -1, 4, $02, $00 - dsprite -1, 4, -1, 4, $02, $00 - -.OAMData_2c: - dsprite -5, 4, -1, 0, $00, $00 - dsprite -5, 4, 0, 0, $00, $20 - dsprite -4, 4, -1, 0, $01, $00 - dsprite -4, 4, 0, 0, $01, $20 - dsprite -3, 4, -1, 4, $02, $00 - dsprite -2, 4, -1, 4, $02, $00 - dsprite -1, 4, -1, 4, $02, $00 - -.OAMData_2d: - dsprite -6, 4, -1, 0, $00, $00 - dsprite -6, 4, 0, 0, $00, $20 - dsprite -5, 4, -1, 0, $01, $00 - dsprite -5, 4, 0, 0, $01, $20 - dsprite -4, 4, -1, 4, $02, $00 - dsprite -3, 4, -1, 4, $02, $00 - dsprite -2, 4, -1, 4, $02, $00 - dsprite -1, 4, -1, 4, $02, $00 - -.OAMData_2e: - dsprite -7, 4, -1, 0, $00, $00 - dsprite -7, 4, 0, 0, $00, $20 - dsprite -6, 4, -1, 0, $01, $00 - dsprite -6, 4, 0, 0, $01, $20 - dsprite -5, 4, -1, 4, $02, $00 - dsprite -4, 4, -1, 4, $02, $00 - dsprite -3, 4, -1, 4, $02, $00 - dsprite -2, 4, -1, 4, $02, $00 - dsprite -1, 4, -1, 4, $02, $00 - -.OAMData_2f: - dsprite -1, 0, -1, 0, $00, $00 - dsprite -1, 0, 0, 0, $00, $20 - dsprite 0, 0, -1, 0, $01, $00 - dsprite 0, 0, 0, 0, $00, $60 - -.OAMData_30: - dsprite -1, 0, -1, 0, $00, $00 - dsprite -1, 0, 0, 0, $01, $00 - dsprite 0, 0, -1, 0, $01, $60 - dsprite 0, 0, 0, 0, $00, $60 - -.OAMData_31: - dsprite -2, 4, -1, 0, $00, $00 - dsprite -2, 4, 0, 0, $01, $00 - dsprite -1, 4, -1, 0, $02, $00 - dsprite -1, 4, 0, 0, $03, $00 - dsprite 0, 4, -1, 0, $04, $00 - dsprite 0, 4, 0, 0, $05, $00 - -.OAMData_76: - dsprite -1, 5, -1, 0, $00, $00 - dsprite -1, 1, 0, 0, $00, $00 - -.OAMData_32: - dsprite -1, 0, -2, 4, $00, $00 - dsprite -1, 0, 0, 4, $00, $00 - dsprite -3, 0, -2, 4, $00, $00 - dsprite -3, 0, 0, 4, $00, $00 - dsprite -2, 0, -3, 4, $00, $00 - dsprite -2, 0, -2, 4, $01, $00 - dsprite -2, 0, -1, 4, $00, $00 - dsprite -2, 0, 0, 4, $01, $00 - dsprite -2, 0, 1, 4, $00, $00 - dsprite -1, 0, -4, 4, $00, $00 - dsprite -1, 0, -3, 4, $01, $00 - dsprite -1, 0, -1, 4, $01, $00 - dsprite -1, 0, 1, 4, $01, $00 - dsprite -1, 0, 2, 4, $00, $00 - -.OAMData_33: - dsprite -2, 0, -2, 4, $00, $00 - dsprite -2, 0, 0, 4, $00, $00 - dsprite -1, 0, -3, 4, $00, $00 - dsprite -1, 0, -2, 4, $01, $00 - dsprite -1, 0, -1, 4, $00, $00 - dsprite -1, 0, 0, 4, $01, $00 - dsprite -1, 0, 1, 4, $00, $00 - dsprite -4, 0, -2, 4, $00, $00 - dsprite -4, 0, 0, 4, $00, $00 - dsprite -3, 0, -3, 4, $00, $00 - dsprite -3, 0, -2, 4, $01, $00 - dsprite -3, 0, -1, 4, $00, $00 - dsprite -3, 0, 0, 4, $01, $00 - dsprite -3, 0, 1, 4, $00, $00 - dsprite -2, 0, -4, 4, $00, $00 - dsprite -2, 0, -3, 4, $01, $00 - dsprite -2, 0, -1, 4, $01, $00 - dsprite -2, 0, 1, 4, $01, $00 - dsprite -2, 0, 2, 4, $00, $00 - dsprite -1, 0, -4, 4, $01, $00 - dsprite -1, 0, 2, 4, $01, $00 - -.OAMData_36: - dsprite -7, 4, -1, 0, $00, $00 - dsprite -7, 4, 0, 0, $01, $00 - dsprite -6, 4, -1, 0, $02, $00 - dsprite -6, 4, 0, 0, $03, $00 - dsprite -5, 4, -1, 0, $04, $00 - dsprite -5, 4, 0, 0, $05, $00 - dsprite -4, 4, -1, 0, $06, $00 - dsprite -4, 4, 0, 0, $07, $00 - dsprite -3, 4, -1, 0, $08, $00 - dsprite -3, 4, 0, 0, $09, $00 - dsprite -2, 4, -1, 0, $0a, $00 - dsprite -2, 4, 0, 0, $0b, $00 - dsprite -1, 4, -1, 0, $0c, $00 - dsprite -1, 4, 0, 0, $0d, $00 - -.OAMData_3a: - dsprite -7, 4, -1, 0, $0c, $00 - dsprite -7, 4, 0, 0, $0d, $00 - dsprite -6, 4, -1, 0, $08, $00 - dsprite -6, 4, 0, 0, $09, $00 - dsprite -5, 4, -1, 0, $04, $00 - dsprite -5, 4, 0, 0, $05, $00 - dsprite -4, 4, -1, 0, $00, $00 - dsprite -4, 4, 0, 0, $01, $00 - dsprite -3, 4, -1, 0, $02, $00 - dsprite -3, 4, 0, 0, $03, $00 - dsprite -2, 4, 0, 0, $02, $00 - dsprite -2, 4, 1, 0, $03, $00 - dsprite -1, 4, 0, 0, $0a, $00 - dsprite -1, 4, 1, 0, $0b, $00 - -.OAMData_3e: - dsprite 1, 4, -2, 0, $00, $40 - dsprite 1, 4, -1, 0, $02, $40 - dsprite 1, 4, 0, 0, $02, $60 - dsprite 1, 4, 1, 0, $00, $60 - dsprite -1, 4, -3, 0, $09, $20 - dsprite -1, 4, -2, 0, $08, $20 - dsprite -1, 4, -1, 0, $06, $00 - dsprite -1, 4, 0, 0, $07, $00 - dsprite -1, 4, 1, 0, $08, $00 - dsprite -1, 4, 2, 0, $09, $00 - dsprite 0, 4, -3, 0, $01, $20 - dsprite 0, 4, -2, 0, $00, $20 - dsprite 0, 4, -1, 0, $0c, $00 - dsprite 0, 4, 0, 0, $0d, $00 - dsprite 0, 4, 1, 0, $00, $00 - dsprite 0, 4, 2, 0, $01, $00 - dsprite -3, 4, -2, 0, $00, $00 - dsprite -3, 4, -1, 0, $02, $00 - dsprite -3, 4, 0, 0, $02, $20 - dsprite -3, 4, 1, 0, $00, $20 - dsprite -2, 4, -3, 0, $03, $20 - dsprite -2, 4, -2, 0, $02, $20 - dsprite -2, 4, -1, 0, $04, $00 - dsprite -2, 4, 0, 0, $05, $00 - dsprite -2, 4, 1, 0, $02, $00 - dsprite -2, 4, 2, 0, $03, $00 - -.OAMData_41: - dsprite -3, 4, -2, 0, $00, $00 - dsprite -3, 4, -1, 0, $02, $00 - dsprite -3, 4, 0, 0, $02, $20 - dsprite -3, 4, 1, 0, $00, $20 - dsprite -2, 4, -3, 4, $00, $00 - dsprite -2, 4, -2, 4, $01, $00 - dsprite -2, 4, -1, 0, $05, $20 - dsprite -2, 4, 0, 0, $04, $20 - dsprite -2, 4, 0, 4, $01, $20 - dsprite -2, 4, 1, 4, $00, $20 - dsprite -1, 4, -3, 4, $02, $00 - dsprite -1, 4, -2, 4, $03, $00 - dsprite -1, 4, -1, 0, $07, $20 - dsprite -1, 4, 0, 0, $06, $20 - dsprite -1, 4, 0, 4, $03, $20 - dsprite -1, 4, 1, 4, $02, $20 - dsprite 0, 4, -3, 4, $04, $00 - dsprite 0, 4, -2, 4, $05, $00 - dsprite 0, 4, -1, 0, $0d, $20 - dsprite 0, 4, 0, 0, $0c, $20 - dsprite 0, 4, 0, 4, $05, $20 - dsprite 0, 4, 1, 4, $04, $20 - dsprite 1, 4, -2, 0, $00, $40 - dsprite 1, 4, -1, 0, $02, $40 - dsprite 1, 4, 0, 0, $02, $60 - dsprite 1, 4, 1, 0, $00, $60 - -.OAMData_42: - dsprite -3, 0, -1, 4, $02, $00 - dsprite 2, 0, -1, 4, $02, $60 - dsprite -1, 4, -3, 0, $01, $00 - dsprite -1, 4, 2, 0, $01, $60 - dsprite -4, 0, -1, 4, $02, $00 - dsprite 3, 0, -1, 4, $02, $60 - dsprite -1, 4, -4, 0, $01, $00 - dsprite -1, 4, 3, 0, $01, $60 - -.OAMData_44: - dsprite -3, 5, -3, 5, $00, $20 - dsprite -3, 5, 1, 3, $00, $00 - dsprite 1, 3, -3, 5, $00, $60 - dsprite 1, 3, 1, 3, $00, $40 - dsprite -4, 5, -4, 5, $00, $20 - dsprite -4, 5, 2, 3, $00, $00 - dsprite 2, 3, -4, 5, $00, $60 - dsprite 2, 3, 2, 3, $00, $40 - -.OAMData_46: - dsprite -3, 4, -1, 4, $02, $00 - dsprite 1, 4, -1, 4, $02, $60 - dsprite -1, 4, -3, 4, $01, $00 - dsprite -1, 4, 1, 4, $01, $60 - -.OAMData_47: - dsprite -2, 0, -2, 0, $00, $20 - dsprite -2, 0, 1, 0, $00, $00 - dsprite 1, 0, -2, 0, $00, $60 - dsprite 1, 0, 1, 0, $00, $40 - -.OAMData_48: - dsprite -3, 0, -1, 4, $00, $00 - dsprite -2, 0, -1, 2, $00, $00 - dsprite -1, 0, -1, 0, $00, $00 - dsprite 0, 0, -1, 0, $00, $00 - dsprite 1, 0, -1, 2, $00, $00 - dsprite 2, 0, -1, 4, $00, $00 - -.OAMData_49: - dsprite -1, 4, -2, 0, $00, $20 - dsprite -1, 2, -1, 0, $00, $20 - dsprite -1, 2, 0, 0, $00, $00 - dsprite -1, 4, 1, 0, $00, $00 - -.OAMData_4a: - dsprite -1, 4, -1, 0, $00, $60 - dsprite -1, 4, 0, 0, $00, $40 - -.OAMData_0f: - dsprite -1, 4, -1, 4, $00, $00 - dsprite -1, 4, -2, 4, $01, $00 - dsprite -1, 4, -1, 4, $01, $20 - dsprite 0, 4, -2, 4, $01, $40 - dsprite 0, 4, -1, 4, $01, $60 - -.OAMData_4c: - dsprite -1, 4, -1, 4, $00, $00 - dsprite 0, 2, -2, 6, $00, $00 - dsprite 0, 2, -3, 6, $01, $00 - dsprite 0, 2, -2, 6, $01, $20 - dsprite 1, 2, -3, 6, $01, $40 - dsprite 1, 2, -2, 6, $01, $60 - -.OAMData_4d: - dsprite -1, 4, -1, 4, $00, $00 - dsprite 0, 2, -2, 6, $00, $00 - dsprite 1, 0, -2, 0, $00, $00 - dsprite 1, 0, -3, 0, $01, $00 - dsprite 1, 0, -2, 0, $01, $20 - dsprite 2, 0, -3, 0, $01, $40 - dsprite 2, 0, -2, 0, $01, $60 - -.OAMData_4f: - dsprite -1, 4, -1, 4, $00, $00 - dsprite 0, 2, -2, 6, $00, $00 - dsprite 1, 0, -2, 0, $00, $00 - dsprite 1, 6, -3, 2, $00, $00 - dsprite 1, 6, -4, 2, $01, $00 - dsprite 1, 6, -3, 2, $01, $20 - dsprite 2, 6, -4, 2, $01, $40 - dsprite 2, 6, -3, 2, $01, $60 - -.OAMData_50: - dsprite -1, 4, -1, 4, $00, $00 - dsprite 0, 2, -2, 6, $00, $00 - dsprite 1, 0, -2, 0, $00, $00 - dsprite 1, 6, -3, 2, $00, $00 - dsprite 2, 4, -4, 4, $00, $00 - dsprite 2, 4, -5, 4, $01, $00 - dsprite 2, 4, -4, 4, $01, $20 - dsprite 3, 4, -5, 4, $01, $40 - dsprite 3, 4, -4, 4, $01, $60 - -.OAMData_51: - dsprite -1, 4, -1, 4, $00, $00 - dsprite 0, 2, -2, 6, $00, $00 - dsprite 1, 0, -2, 0, $00, $00 - dsprite 1, 6, -3, 2, $00, $00 - dsprite 2, 4, -4, 4, $00, $00 - dsprite 3, 2, -5, 6, $00, $00 - dsprite 3, 2, -6, 6, $01, $00 - dsprite 3, 2, -5, 6, $01, $20 - dsprite 4, 2, -6, 6, $01, $40 - dsprite 4, 2, -5, 6, $01, $60 - -.OAMData_59: - dsprite -1, 4, -2, 0, $00, $00 - dsprite -1, 4, -1, 0, $01, $00 - dsprite -1, 4, 0, 0, $01, $20 - dsprite -1, 4, 1, 0, $00, $20 - -.OAMData_5a: - dsprite -1, 4, -2, 0, $02, $00 - dsprite -1, 4, -1, 0, $01, $00 - dsprite -1, 4, 0, 0, $01, $20 - dsprite -1, 4, 1, 0, $02, $20 - -.OAMData_60: - dsprite -1, 0, -1, 4, $00, $00 - -.OAMData_69: - dsprite 0, 0, -1, 4, $00, $00 - -.OAMData_61: - dsprite -1, 4, -4, 4, $00, $00 - dsprite -1, 4, -3, 4, $01, $00 - dsprite -1, 4, -2, 4, $02, $00 - dsprite -1, 4, -1, 4, $03, $00 - dsprite -1, 4, 0, 4, $04, $00 - dsprite -1, 4, 1, 4, $05, $00 - dsprite -1, 4, 2, 4, $06, $00 - dsprite -2, 4, 1, 4, $07, $00 - dsprite -2, 4, 2, 4, $08, $00 - -.OAMData_65: - dsprite -2, 4, -4, 4, $08, $20 - dsprite -2, 4, -3, 4, $07, $20 - dsprite -1, 4, -4, 4, $06, $20 - dsprite -1, 4, -3, 4, $05, $20 - dsprite -1, 4, -2, 4, $04, $20 - dsprite -1, 4, -1, 4, $03, $20 - dsprite -1, 4, 0, 4, $02, $20 - dsprite -1, 4, 1, 4, $01, $20 - dsprite -1, 4, 2, 4, $00, $20 - -.OAMData_d4: - dsprite 0, 0, -4, 4, $00, $10 - dsprite 0, 0, -3, 4, $01, $10 - dsprite 0, 0, -2, 4, $02, $10 - dsprite 0, 0, -1, 4, $03, $10 - dsprite 0, 0, 0, 4, $04, $10 - dsprite 0, 0, 1, 4, $05, $10 - dsprite 0, 0, 2, 4, $06, $10 - -.OAMData_d6: - dsprite -1, 0, -4, 4, $00, $10 - dsprite 0, 0, -4, 4, $01, $10 - dsprite -1, 0, -3, 4, $02, $10 - dsprite 0, 0, -3, 4, $03, $10 - dsprite -1, 0, -2, 4, $04, $10 - dsprite 0, 0, -2, 4, $05, $10 - dsprite -1, 0, -1, 4, $06, $10 - dsprite 0, 0, -1, 4, $07, $10 - dsprite -1, 0, 0, 4, $08, $10 - dsprite 0, 0, 0, 4, $09, $10 - dsprite -1, 0, 1, 4, $0a, $10 - dsprite 0, 0, 1, 4, $0b, $10 - dsprite -1, 0, 2, 4, $0c, $10 - dsprite 0, 0, 2, 4, $0d, $10 - -.OAMData_d5: - dsprite 0, 0, -3, 0, $00, $11 - dsprite 0, 0, -2, 0, $01, $11 - dsprite 0, 0, -1, 0, $02, $11 - dsprite 0, 0, 0, 0, $03, $11 - dsprite 0, 0, 1, 0, $04, $11 - dsprite 0, 0, 2, 0, $05, $11 - -.OAMData_d7: - dsprite 0, 0, -3, 0, $00, $11 - dsprite 1, 0, -3, 0, $01, $11 - dsprite 0, 0, -2, 0, $02, $11 - dsprite 1, 0, -2, 0, $03, $11 - dsprite 0, 0, -1, 0, $04, $11 - dsprite 1, 0, -1, 0, $05, $11 - dsprite 0, 0, 0, 0, $06, $11 - dsprite 1, 0, 0, 0, $07, $11 - dsprite 0, 0, 1, 0, $08, $11 - dsprite 1, 0, 1, 0, $09, $11 - dsprite 0, 0, 2, 0, $0a, $11 - dsprite 1, 0, 2, 0, $0b, $11 - -.OAMData_6e: - dsprite -2, 4, 0, 4, $00, $00 - dsprite -1, 4, -2, 4, $01, $00 - dsprite -1, 4, -1, 4, $02, $00 - dsprite -1, 4, 0, 4, $03, $00 - dsprite 0, 4, -2, 4, $04, $00 - -.OAMData_6f: - dsprite -1, 4, -2, 4, $00, $00 - dsprite -1, 4, -1, 4, $01, $00 - dsprite -1, 4, 0, 4, $02, $00 - -.OAMData_77: - dsprite -4, 4, 1, 4, $01, $60 - -.OAMData_78: - dsprite -4, 4, 1, 4, $00, $00 - dsprite -4, 4, 0, 4, $01, $60 - dsprite -3, 4, 1, 4, $01, $60 - -.OAMData_79: - dsprite -4, 4, 1, 4, $01, $00 - dsprite -4, 4, 0, 4, $00, $00 - dsprite -4, 4, -1, 4, $01, $60 - dsprite -3, 4, 1, 4, $00, $00 - dsprite -3, 4, 0, 4, $01, $60 - dsprite -2, 4, 1, 4, $01, $60 - -.OAMData_7a: - dsprite -4, 4, -2, 4, $01, $60 - dsprite -4, 4, -1, 4, $00, $00 - dsprite -4, 4, 0, 4, $01, $00 - dsprite -3, 4, -1, 4, $01, $60 - dsprite -3, 4, 0, 4, $00, $00 - dsprite -3, 4, 1, 4, $01, $00 - dsprite -2, 4, 0, 4, $01, $60 - dsprite -2, 4, 1, 4, $00, $00 - dsprite -1, 4, 1, 4, $01, $60 - -.OAMData_7b: - dsprite -4, 4, -3, 4, $01, $60 - dsprite -4, 4, -2, 4, $00, $00 - dsprite -4, 4, -1, 4, $01, $00 - dsprite -3, 4, -2, 4, $01, $60 - dsprite -3, 4, -1, 4, $00, $00 - dsprite -3, 4, 0, 4, $01, $00 - dsprite -2, 4, -1, 4, $01, $60 - dsprite -2, 4, 0, 4, $00, $00 - dsprite -2, 4, 1, 4, $01, $00 - dsprite -1, 4, 0, 4, $01, $60 - dsprite -1, 4, 1, 4, $00, $00 - dsprite 0, 4, 1, 4, $01, $60 - -.OAMData_7c: - dsprite -4, 4, -3, 4, $00, $00 - dsprite -4, 4, -2, 4, $01, $00 - dsprite -3, 4, -3, 4, $01, $60 - dsprite -3, 4, -2, 4, $00, $00 - dsprite -3, 4, -1, 4, $01, $00 - dsprite -2, 4, -2, 4, $01, $60 - dsprite -2, 4, -1, 4, $00, $00 - dsprite -2, 4, 0, 4, $01, $00 - dsprite -1, 4, -1, 4, $01, $60 - dsprite -1, 4, 0, 4, $00, $00 - dsprite -1, 4, 1, 4, $01, $00 - dsprite 0, 4, 0, 4, $01, $60 - dsprite 0, 4, 1, 4, $00, $00 - dsprite 1, 4, 1, 4, $01, $60 - -.OAMData_7d: - dsprite -4, 4, -3, 4, $01, $00 - dsprite -3, 4, -3, 4, $00, $00 - dsprite -3, 4, -2, 4, $01, $00 - dsprite -2, 4, -3, 4, $01, $60 - dsprite -2, 4, -2, 4, $00, $00 - dsprite -2, 4, -1, 4, $01, $00 - dsprite -1, 4, -2, 4, $01, $60 - dsprite -1, 4, -1, 4, $00, $00 - dsprite -1, 4, 0, 4, $01, $00 - dsprite 0, 4, -1, 4, $01, $60 - dsprite 0, 4, 0, 4, $00, $00 - dsprite 0, 4, 1, 4, $01, $00 - dsprite 1, 4, 0, 4, $01, $60 - dsprite 1, 4, 1, 4, $00, $00 - dsprite 2, 4, 1, 4, $01, $60 - -.OAMData_70: - dsprite -2, 0, -1, 0, $00, $00 - dsprite -1, 0, -1, 0, $01, $00 - dsprite -2, 0, 0, 0, $00, $20 - dsprite -1, 0, 0, 0, $01, $20 - dsprite 0, 0, -1, 0, $01, $40 - dsprite 1, 0, -1, 0, $00, $40 - dsprite 0, 0, 0, 0, $01, $60 - dsprite 1, 0, 0, 0, $00, $60 - -.OAMData_81: - dsprite -1, 0, -1, 0, $00, $00 - dsprite -1, 0, 0, 0, $01, $00 - dsprite 0, 0, -1, 0, $01, $60 - dsprite 0, 0, 0, 0, $00, $60 - -.OAMData_87: - dsprite -2, 4, -1, 0, $00, $00 - dsprite -2, 4, 0, 0, $01, $00 - dsprite -1, 4, -1, 0, $02, $00 - dsprite -1, 4, 0, 0, $03, $00 - dsprite -1, 4, -1, 0, $00, $00 - dsprite -1, 4, 0, 0, $01, $00 - dsprite 0, 4, -1, 0, $02, $00 - dsprite 0, 4, 0, 0, $03, $00 - dsprite -3, 4, -1, 0, $00, $00 - dsprite -3, 4, 0, 0, $01, $00 - dsprite -2, 4, -1, 0, $02, $00 - dsprite -2, 4, 0, 0, $03, $00 - dsprite 0, 4, -1, 0, $00, $00 - dsprite 0, 4, 0, 0, $01, $00 - dsprite 1, 4, -1, 0, $02, $00 - dsprite 1, 4, 0, 0, $03, $00 - -.OAMData_88: - dsprite -2, 0, -1, 0, $00, $00 - dsprite -2, 0, 0, 0, $01, $00 - dsprite -1, 0, -1, 0, $02, $00 - dsprite -1, 0, 0, 0, $03, $00 - dsprite -1, 0, -1, 0, $00, $00 - dsprite -1, 0, 0, 0, $01, $00 - dsprite 0, 0, -1, 0, $02, $00 - dsprite 0, 0, 0, 0, $03, $00 - dsprite 0, 0, -1, 0, $00, $00 - dsprite 0, 0, 0, 0, $01, $00 - dsprite 1, 0, -1, 0, $02, $00 - dsprite 1, 0, 0, 0, $03, $00 - -.OAMData_8a: - dsprite -1, 4, -1, 4, $00, $00 - dsprite -1, 0, 0, 4, $00, $00 - dsprite -2, 4, 1, 4, $00, $00 - dsprite -2, 0, 2, 4, $00, $00 - dsprite -3, 4, 3, 4, $00, $00 - dsprite -3, 0, 4, 4, $00, $00 - dsprite -4, 0, 5, 4, $00, $00 - dsprite -5, 4, 6, 4, $00, $00 - -.OAMData_8e: - dsprite -3, 4, -1, 4, $00, $00 - dsprite -2, 4, -1, 4, $01, $00 - dsprite -1, 4, -1, 4, $02, $00 - dsprite 0, 4, -1, 4, $01, $40 - dsprite 1, 4, -1, 4, $00, $40 - -.OAMData_8f: - dsprite -1, 4, -2, 0, $00, $00 - dsprite -1, 4, -1, 0, $01, $00 - dsprite -1, 4, 0, 0, $02, $00 - dsprite -1, 4, 1, 0, $03, $00 - -.OAMData_93: - dsprite -1, 0, -2, 4, $00, $00 - dsprite -1, 0, -1, 4, $01, $00 - dsprite -1, 0, 0, 4, $02, $00 - dsprite 0, 0, -2, 4, $03, $00 - dsprite 0, 0, -1, 4, $04, $00 - dsprite 0, 0, 0, 4, $05, $00 - -.OAMData_99: - dsprite -1, 0, -1, 0, $00, $00 - dsprite -1, 0, 0, 0, $05, $00 - dsprite 0, 0, -1, 0, $01, $00 - dsprite 0, 0, 0, 0, $05, $00 - -.OAMData_9b: - dsprite -4, 4, 1, 0, $00, $00 - dsprite -4, 4, 2, 0, $01, $00 - dsprite -3, 4, -1, 0, $02, $00 - dsprite -3, 4, 0, 0, $03, $00 - dsprite -3, 4, 1, 0, $04, $00 - dsprite -3, 4, 2, 0, $05, $00 - dsprite -3, 4, 3, 0, $06, $00 - dsprite -2, 4, -2, 0, $07, $00 - dsprite -2, 4, -1, 0, $08, $00 - dsprite -2, 4, 0, 0, $09, $00 - dsprite -2, 4, 1, 0, $0a, $00 - dsprite -2, 4, 2, 0, $0b, $00 - dsprite -2, 4, 3, 0, $0c, $00 - dsprite -2, 4, 4, 0, $0d, $00 - dsprite -1, 4, -3, 0, $0e, $00 - dsprite -1, 4, -2, 0, $0f, $00 - dsprite -1, 4, -1, 0, $10, $00 - dsprite -1, 4, 0, 0, $11, $00 - dsprite -1, 4, 1, 0, $12, $00 - dsprite -1, 4, 2, 0, $13, $00 - dsprite 0, 4, -5, 0, $14, $00 - dsprite 0, 4, -4, 0, $15, $00 - dsprite 0, 4, -3, 0, $16, $00 - dsprite 0, 4, -2, 0, $17, $00 - dsprite 0, 4, -1, 0, $18, $00 - dsprite 0, 4, 0, 0, $19, $00 - dsprite 0, 4, 1, 0, $1a, $00 - dsprite 0, 4, 2, 0, $1b, $00 - dsprite 0, 4, 3, 0, $1c, $00 - dsprite 1, 4, -5, 0, $1d, $00 - dsprite 1, 4, -4, 0, $1e, $00 - dsprite 1, 4, -2, 0, $1f, $00 - dsprite 1, 4, -1, 0, $20, $00 - dsprite 1, 4, 0, 0, $21, $00 - dsprite 1, 4, 1, 0, $22, $00 - dsprite 2, 4, 0, 0, $23, $00 - -.OAMData_9c: - dsprite 0, 4, -1, 0, $02, $00 - dsprite 0, 4, 0, 0, $03, $00 - dsprite -1, 4, -1, 0, $01, $00 - dsprite -1, 4, 0, 0, $01, $20 - dsprite -2, 4, -1, 0, $00, $00 - dsprite -2, 4, 0, 0, $00, $20 - -.OAMData_9f: - dsprite -1, 0, -2, 0, $00, $00 - dsprite -1, 0, -1, 0, $01, $00 - dsprite -1, 0, 0, 0, $02, $00 - dsprite -1, 0, 1, 0, $03, $00 - dsprite 0, 0, -2, 0, $04, $00 - dsprite 0, 0, -1, 0, $05, $00 - dsprite 0, 0, 0, 0, $06, $00 - dsprite 0, 0, 1, 0, $07, $00 - -.OAMData_a0: - dsprite -2, 4, -1, 4, $00, $00 - dsprite -1, 4, -1, 4, $00, $00 - dsprite 0, 4, -1, 4, $00, $00 - dsprite -3, 4, -1, 4, $00, $00 - dsprite 1, 4, -1, 4, $00, $00 - dsprite -4, 4, -1, 4, $00, $00 - dsprite 2, 4, -1, 4, $00, $00 - -.OAMData_a4: - dsprite -2, 4, -2, 4, $00, $00 - dsprite -2, 4, -1, 4, $01, $00 - dsprite -2, 4, 0, 4, $02, $00 - dsprite -1, 4, -2, 4, $03, $00 - dsprite -1, 4, -1, 4, $04, $00 - dsprite -1, 4, 0, 4, $05, $00 - dsprite 0, 4, -2, 4, $00, $40 - dsprite 0, 4, -1, 4, $01, $40 - dsprite 0, 4, 0, 4, $02, $40 - -.OAMData_ac: - dsprite -1, 4, -2, 0, $00, $00 - dsprite -1, 4, -1, 0, $01, $00 - dsprite -1, 4, 0, 0, $01, $20 - dsprite -1, 4, 1, 0, $00, $20 - -.OAMData_bc: - dsprite -1, 4, -3, 0, $00, $00 - dsprite -1, 4, -2, 0, $01, $00 - dsprite -1, 4, -1, 0, $02, $00 - dsprite -1, 4, 0, 0, $02, $20 - dsprite -1, 4, 1, 0, $01, $20 - dsprite -1, 4, 2, 0, $00, $20 - -.OAMData_c1: - dsprite -2, 0, -2, 0, $00, $00 - dsprite -2, 0, -1, 0, $01, $00 - dsprite -2, 0, 0, 0, $02, $00 - dsprite -2, 0, 1, 0, $00, $20 - dsprite -1, 0, -2, 0, $03, $00 - dsprite -1, 0, -1, 0, $04, $00 - dsprite -1, 0, 0, 0, $04, $20 - dsprite -1, 0, 1, 0, $05, $00 - dsprite 0, 0, -2, 0, $05, $60 - dsprite 0, 0, -1, 0, $04, $40 - dsprite 0, 0, 0, 0, $04, $60 - dsprite 0, 0, 1, 0, $03, $60 - dsprite 1, 0, -2, 0, $00, $40 - dsprite 1, 0, -1, 0, $02, $60 - dsprite 1, 0, 0, 0, $01, $60 - dsprite 1, 0, 1, 0, $00, $60 - -.OAMData_c2: - dsprite -1, 0, -2, 0, $00, $00 - dsprite -1, 0, -1, 0, $01, $00 - dsprite -1, 0, 0, 0, $00, $60 - dsprite 0, 0, -1, 0, $00, $00 - dsprite 0, 0, 0, 0, $01, $00 - dsprite 0, 0, 1, 0, $00, $60 - -.OAMData_c8: - dsprite -1, 0, 1, 4, $00, $00 - dsprite -1, 0, 2, 4, $01, $00 - dsprite 0, 0, -1, 4, $02, $00 - dsprite 0, 0, 0, 4, $03, $00 - dsprite 0, 0, 1, 4, $04, $00 - dsprite 0, 0, 2, 4, $05, $00 - -.OAMData_ca: - dsprite -1, 0, -1, 0, $00, $00 - dsprite -1, 0, 0, 0, $01, $60 - dsprite 0, 0, -1, 0, $01, $00 - dsprite 0, 0, 0, 0, $01, $20 - -.OAMData_cc: - dsprite -2, 0, -13, 4, $00, $00 - dsprite -4, 0, -11, 4, $00, $00 - dsprite -1, 0, -9, 4, $00, $00 - dsprite -5, 0, -7, 4, $00, $00 - dsprite -3, 0, -5, 4, $00, $00 - dsprite -5, 0, -3, 4, $00, $00 - dsprite -3, 0, -1, 4, $00, $00 - dsprite -3, 0, 0, 4, $00, $00 - dsprite -5, 0, 2, 4, $00, $00 - dsprite 0, 0, 4, 4, $00, $00 - dsprite -2, 0, 6, 4, $00, $00 - dsprite -4, 0, 8, 4, $00, $00 - dsprite -2, 0, 10, 4, $00, $00 -; cfcf6 diff --git a/data/anims/object_gfx.asm b/data/anims/object_gfx.asm deleted file mode 100755 index 133298d13..000000000 --- a/data/anims/object_gfx.asm +++ /dev/null @@ -1,51 +0,0 @@ -anim_obj_gfx: MACRO -; # tiles, label - db \1 - dba \2 -ENDM - -AnimObjGFX: ; cfcf6 -; entries correspond to ANIM_GFX_* constants - anim_obj_gfx 0, AnimObj00GFX - anim_obj_gfx 21, AnimObjHitGFX - anim_obj_gfx 6, AnimObjCutGFX - anim_obj_gfx 6, AnimObjFireGFX - anim_obj_gfx 20, AnimObjWaterGFX - anim_obj_gfx 26, AnimObjLightningGFX - anim_obj_gfx 18, AnimObjPlantGFX - anim_obj_gfx 12, AnimObjSmokeGFX - anim_obj_gfx 9, AnimObjExplosionGFX - anim_obj_gfx 17, AnimObjRocksGFX - anim_obj_gfx 6, AnimObjIceGFX - anim_obj_gfx 10, AnimObjPokeBallGFX - anim_obj_gfx 9, AnimObjPoisonGFX - anim_obj_gfx 13, AnimObjBubbleGFX - anim_obj_gfx 16, AnimObjNoiseGFX - anim_obj_gfx 2, AnimObjPowderGFX - anim_obj_gfx 11, AnimObjBeamGFX - anim_obj_gfx 9, AnimObjSpeedGFX - anim_obj_gfx 9, AnimObjChargeGFX - anim_obj_gfx 19, AnimObjWindGFX - anim_obj_gfx 10, AnimObjWhipGFX - anim_obj_gfx 12, AnimObjEggGFX - anim_obj_gfx 18, AnimObjRopeGFX - anim_obj_gfx 13, AnimObjPsychicGFX - anim_obj_gfx 10, AnimObjReflectGFX - anim_obj_gfx 27, AnimObjStatusGFX - anim_obj_gfx 12, AnimObjSandGFX - anim_obj_gfx 14, AnimObjWebGFX - anim_obj_gfx 16, AnimObjHazeGFX - anim_obj_gfx 7, AnimObjHornGFX - anim_obj_gfx 8, AnimObjFlowerGFX - anim_obj_gfx 40, AnimObjMiscGFX - anim_obj_gfx 36, AnimObjSkyAttackGFX - anim_obj_gfx 16, AnimObjGlobeGFX - anim_obj_gfx 48, AnimObjShapesGFX - anim_obj_gfx 18, AnimObjObjectsGFX - anim_obj_gfx 38, AnimObjShineGFX - anim_obj_gfx 35, AnimObjAngelsGFX - anim_obj_gfx 18, AnimObjWaveGFX - anim_obj_gfx 24, AnimObjAeroblastGFX - anim_obj_gfx 1, NULL - anim_obj_gfx 1, NULL -; cfd9e diff --git a/data/anims/objects.asm b/data/anims/objects.asm deleted file mode 100755 index 8117d8495..000000000 --- a/data/anims/objects.asm +++ /dev/null @@ -1,209 +0,0 @@ -ABSOLUTE_X EQU $00 -RELATIVE_X EQU $01 - -battleanimobj: MACRO - db \1 ; flags - ; bit 7: priority - ; bit 6: y flip (for enemy) - ; bit 5: x flip (for enemy) - ; bit 0: enable enemy animation coord fixing (x = $b4 - x; see below for y) - db \2 ; enemy animation y fix param - ; if $FF: y = y + 5 tiles - ; else: y = -y - (1 tile) * (is_softboiled_animation) - db \3 ; video sequence - db \4 ; callback - db \5 ; palette - db \6 ; tile offset -endm - -BattleAnimObjects: ; ccb56 -; entries correspond to ANIM_OBJ_* constants - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_00 - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_01 - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_02 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_03 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_04 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_05 - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_03, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_06 - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_04, BATTLEANIMFUNC_1B, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_07 - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_08 - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_06, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_09 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_07, BATTLEANIMFUNC_09, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_0A - battleanimobj RELATIVE_X, $aa, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_10, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0B - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0E, BATTLEANIMFUNC_04, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0C - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0D - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0E - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_0A, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0F - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_BURNED - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_12, BATTLEANIMFUNC_08, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_BLIZZARD - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_13, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_12 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_14, BATTLEANIMFUNC_01, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_ICE_BEAM - battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_16, BATTLEANIMFUNC_RAZOR_LEAF, PAL_BATTLE_OB_GREEN, $06 ; ANIM_OBJ_RAZOR_LEAF - battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_12, PAL_BATTLE_OB_RED, $0b ; ANIM_OBJ_POKE_BALL - battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_13, PAL_BATTLE_OB_RED, $0b ; ANIM_OBJ_POKE_BALL_BLOCKED - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, PAL_BATTLE_OB_RED, $08 ; ANIM_OBJ_17 - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, PAL_BATTLE_OB_RED, $08 ; ANIM_OBJ_18 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_1D, BATTLEANIMFUNC_06, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_19 - battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_1F, BATTLEANIMFUNC_38, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_1A - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $07 ; ANIM_OBJ_1B - battleanimobj RELATIVE_X, $a0, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $07 ; ANIM_OBJ_BALL_POOF - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1D - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_1A, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1E - battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_1B, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1F - battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_84, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BLUE, $21 ; ANIM_OBJ_20 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_0C, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_BUBBLE - battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_23, BATTLEANIMFUNC_0D, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_22 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_0E, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_23 - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_27, BATTLEANIMFUNC_0F, PAL_BATTLE_OB_BLUE, $04 ; ANIM_OBJ_24 - battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_2A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $04 ; ANIM_OBJ_25 - battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_2B, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GREEN, $0f ; ANIM_OBJ_26 - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_27 - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_28 - battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_ICE_BUILDUP - battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_FROZEN - battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_14, PAL_BATTLE_OB_BROWN, $11 ; ANIM_OBJ_MASTER_BALL_SPARKLE - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_14, PAL_BATTLE_OB_YELLOW, $0d ; ANIM_OBJ_2C - battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_31, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2D - battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_32, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2E - battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_33, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2F - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_15, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_30 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_31 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_03, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_LIGHTNING_BOLT - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_38, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_33 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_39, BATTLEANIMFUNC_03, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_34 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_3A, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_35 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_3C, BATTLEANIMFUNC_17, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_36 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_37 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_38 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_40, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_39 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_41, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_3A - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_42, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_3B - battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_18, PAL_BATTLE_OB_GREEN, $12 ; ANIM_OBJ_3C - battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_44, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GREEN, $12 ; ANIM_OBJ_3D - battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_45, BATTLEANIMFUNC_19, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_GUST - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_46, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_3F - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_47, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_40 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_48, BATTLEANIMFUNC_1A, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_41 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_49, BATTLEANIMFUNC_1A, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_42 - battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_43 - battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_4B, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_44 - battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_4C, BATTLEANIMFUNC_1C, PAL_BATTLE_OB_GREEN, $12 ; ANIM_OBJ_ABSORB - battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_4D, BATTLEANIMFUNC_1D, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_46 - battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_51, BATTLEANIMFUNC_1E, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_47 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_52, BATTLEANIMFUNC_1F, PAL_BATTLE_OB_GREEN, $16 ; ANIM_OBJ_48 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_54, BATTLEANIMFUNC_1F, PAL_BATTLE_OB_GREEN, $16 ; ANIM_OBJ_49 - battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_56, BATTLEANIMFUNC_LEECH_SEED, PAL_BATTLE_OB_GREEN, $06 ; ANIM_OBJ_LEECH_SEED - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_59, BATTLEANIMFUNC_21, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_4B - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_5C, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $17 ; ANIM_OBJ_4C - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_5D, BATTLEANIMFUNC_22, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_4D - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_5F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_4E - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_4F - battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $18 ; ANIM_OBJ_50 - battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $18 ; ANIM_OBJ_51 - battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_61, BATTLEANIMFUNC_23, PAL_BATTLE_OB_YELLOW, $19 ; ANIM_OBJ_CHICK - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_63, BATTLEANIMFUNC_24, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_53 - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_66, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_54 - battleanimobj RELATIVE_X, $50, BATTLEANIMFRAMESET_1C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_SKULL - battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_67, BATTLEANIMFUNC_26, PAL_BATTLE_OB_BROWN, $1a ; ANIM_OBJ_56 - battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_68, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BROWN, $1a ; ANIM_OBJ_57 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_69, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $1a ; ANIM_OBJ_58 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6D, BATTLEANIMFUNC_28, PAL_BATTLE_OB_YELLOW, $19 ; ANIM_OBJ_PARALYZED - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6A, BATTLEANIMFUNC_27, PAL_BATTLE_OB_GRAY, $1b ; ANIM_OBJ_5A - battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_HAZE - battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_MIST - battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_SMOG - battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_POISON_GAS - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_71, BATTLEANIMFUNC_HORN, PAL_BATTLE_OB_GRAY, $1d ; ANIM_OBJ_HORN - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_72, BATTLEANIMFUNC_2C, PAL_BATTLE_OB_GRAY, $1d ; ANIM_OBJ_60 - battleanimobj RELATIVE_X, $48, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_2D, PAL_BATTLE_OB_RED, $1e ; ANIM_OBJ_61 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_06, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_62 - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_BROWN, $19 ; ANIM_OBJ_63 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_64 - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $11 ; ANIM_OBJ_65 - battleanimobj RELATIVE_X, $78, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_66 - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_30, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_67 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_68 - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_69 - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_08, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_6A - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_79, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_6B - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_6C - battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_6D - battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, PAL_BATTLE_OB_GRAY, $20 ; ANIM_OBJ_SKY_ATTACK_FEAROW - battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $04 ; ANIM_OBJ_LICK - battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_7D, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $18 ; ANIM_OBJ_WITHDRAW - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_71 - battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_7E, BATTLEANIMFUNC_33, PAL_BATTLE_OB_YELLOW, $12 ; ANIM_OBJ_72 - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_73 - battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_34, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_74 - battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_35, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_75 - battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_80, BATTLEANIMFUNC_33, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_76 - battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_81, BATTLEANIMFUNC_37, PAL_BATTLE_OB_GRAY, $11 ; ANIM_OBJ_77 - battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_85, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 ; ANIM_OBJ_78 - battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_86, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 ; ANIM_OBJ_79 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_87, BATTLEANIMFUNC_39, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_7A - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_7B - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_7C - battleanimobj RELATIVE_X | X_FLIP | BEHIND_BG, $88, BATTLEANIMFRAMESET_88, BATTLEANIMFUNC_3B, PAL_BATTLE_OB_BLUE, $13 ; ANIM_OBJ_7D - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_25, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_HEART - battleanimobj RELATIVE_X, $98, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_34, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_7F - battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_3C, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_80 - battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_COTTON_SPORE - battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_8A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_82 - battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_8C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_83 - battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_8D, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $1f ; ANIM_OBJ_84 - battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_40, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_85 - battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_8E, BATTLEANIMFUNC_41, PAL_BATTLE_OB_RED, $1f ; ANIM_OBJ_86 - battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_8F, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_87 - battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_93, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_88 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_97, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_89 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_8A - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_8B - battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_8C - battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, $19 ; ANIM_OBJ_8D - battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_3F, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_SPIKES - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_15, BATTLEANIMFUNC_08, PAL_BATTLE_OB_GRAY, $0a ; ANIM_OBJ_8F - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_02, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_90 - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_42, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_91 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_9A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1b ; ANIM_OBJ_92 - battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_9B, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_93 - battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_23, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_94 - battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9D, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_95 - battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_96 - battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $25 ; ANIM_OBJ_97 - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_9F, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_GREEN, $23 ; ANIM_OBJ_98 - battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_A0, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, $23 ; ANIM_OBJ_99 - battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_43, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_9A - battleanimobj RELATIVE_X | X_FLIP, $c0, BATTLEANIMFRAMESET_A2, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_9B - battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_A3, BATTLEANIMFUNC_44, PAL_BATTLE_OB_YELLOW, $24 ; ANIM_OBJ_9C - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A4, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 ; ANIM_OBJ_9D - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $24 ; ANIM_OBJ_9E - battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_45, PAL_BATTLE_OB_RED, $12 ; ANIM_OBJ_9F - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_A0 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_A1 - battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B4, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_BROWN, $0f ; ANIM_OBJ_A2 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_A8, BATTLEANIMFUNC_02, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_A3 - battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_A4 - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, PAL_BATTLE_OB_GRAY, $23 ; ANIM_OBJ_A5 - battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_47, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_PERISH_SONG - battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_AA, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 ; ANIM_OBJ_A7 - battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_AB, BATTLEANIMFUNC_48, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_A8 - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AC, BATTLEANIMFUNC_44, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_A9 - battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_AA - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_43, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_AB - battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_AD, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $17 ; ANIM_OBJ_AC - battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_AE, BATTLEANIMFUNC_49, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_AD - battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AF, BATTLEANIMFUNC_01, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_AE - battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B0, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_GRAY, $04 ; ANIM_OBJ_AF - battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_4B, PAL_BATTLE_OB_RED, $1c ; ANIM_OBJ_B0 - battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_B1, BATTLEANIMFUNC_4C, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_B1 - battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4D, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_B2 - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_B3, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $27 ; ANIM_OBJ_B3 - battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_04, PAL_BATTLE_OB_BLUE, $15 ; ANIM_OBJ_B4 - battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4E, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_B5 - battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, $1e ; ANIM_OBJ_FLOWER - battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_4F, PAL_BATTLE_OB_RED, $1f ; ANIM_OBJ_COTTON - battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 ; ANIM_OBJ_PLAYERFEETFOLLOW - battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 ; ANIM_OBJ_ENEMYFEETFOLLOW - battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 ; ANIM_OBJ_BA - battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 ; ANIM_OBJ_BB -; ccfbe diff --git a/data/battle_anims/ball_colors.asm b/data/battle_anims/ball_colors.asm new file mode 100644 index 000000000..c3ba9d2b4 --- /dev/null +++ b/data/battle_anims/ball_colors.asm @@ -0,0 +1,16 @@ +; colors of balls thrown in battle + +BallColors: ; cd26c (33:526c) + db MASTER_BALL, PAL_BATTLE_OB_GREEN + db ULTRA_BALL, PAL_BATTLE_OB_YELLOW + db GREAT_BALL, PAL_BATTLE_OB_BLUE + db POKE_BALL, PAL_BATTLE_OB_RED + db HEAVY_BALL, PAL_BATTLE_OB_GRAY + db LEVEL_BALL, PAL_BATTLE_OB_BROWN + db LURE_BALL, PAL_BATTLE_OB_BLUE + db FAST_BALL, PAL_BATTLE_OB_BLUE + db FRIEND_BALL, PAL_BATTLE_OB_YELLOW + db MOON_BALL, PAL_BATTLE_OB_GRAY + db LOVE_BALL, PAL_BATTLE_OB_RED + db -1, PAL_BATTLE_OB_GRAY +; cd284 diff --git a/data/battle_anims/framesets.asm b/data/battle_anims/framesets.asm new file mode 100755 index 000000000..671d12f95 --- /dev/null +++ b/data/battle_anims/framesets.asm @@ -0,0 +1,1270 @@ +BattleAnimFrameData: ; ce85e +; entries correspond to BATTLEANIMFRAMESET_* constants + dw .Frameset_00 ; BATTLEANIMFRAMESET_00 + dw .Frameset_01 ; BATTLEANIMFRAMESET_01 + dw .Frameset_02 ; BATTLEANIMFRAMESET_02 + dw .Frameset_03 ; BATTLEANIMFRAMESET_03 + dw .Frameset_04 ; BATTLEANIMFRAMESET_04 + dw .Frameset_05 ; BATTLEANIMFRAMESET_05 + dw .Frameset_06 ; BATTLEANIMFRAMESET_06 + dw .Frameset_07 ; BATTLEANIMFRAMESET_07 + dw .Frameset_08 ; BATTLEANIMFRAMESET_08 + dw .Frameset_09 ; BATTLEANIMFRAMESET_09 + dw .Frameset_0a ; BATTLEANIMFRAMESET_0A + dw .Frameset_0b ; BATTLEANIMFRAMESET_0B + dw .Frameset_0c ; BATTLEANIMFRAMESET_0C + dw .Frameset_0d ; BATTLEANIMFRAMESET_0D + dw .Frameset_0e ; BATTLEANIMFRAMESET_0E + dw .Frameset_0f ; BATTLEANIMFRAMESET_0F + dw .Frameset_10 ; BATTLEANIMFRAMESET_10 + dw .Frameset_11 ; BATTLEANIMFRAMESET_11 + dw .Frameset_12 ; BATTLEANIMFRAMESET_12 + dw .Frameset_13 ; BATTLEANIMFRAMESET_13 + dw .Frameset_14 ; BATTLEANIMFRAMESET_14 + dw .Frameset_15 ; BATTLEANIMFRAMESET_15 + dw .Frameset_16 ; BATTLEANIMFRAMESET_16 + dw .Frameset_17 ; BATTLEANIMFRAMESET_17 + dw .Frameset_18 ; BATTLEANIMFRAMESET_18 + dw .Frameset_19 ; BATTLEANIMFRAMESET_19 + dw .Frameset_1a ; BATTLEANIMFRAMESET_1A + dw .Frameset_1b ; BATTLEANIMFRAMESET_1B + dw .Frameset_1c ; BATTLEANIMFRAMESET_1C + dw .Frameset_1d ; BATTLEANIMFRAMESET_1D + dw .Frameset_1e ; BATTLEANIMFRAMESET_1E + dw .Frameset_1f ; BATTLEANIMFRAMESET_1F + dw .Frameset_20 ; BATTLEANIMFRAMESET_20 + dw .Frameset_21 ; BATTLEANIMFRAMESET_21 + dw .Frameset_22 ; BATTLEANIMFRAMESET_22 + dw .Frameset_23 ; BATTLEANIMFRAMESET_23 + dw .Frameset_24 ; BATTLEANIMFRAMESET_24 + dw .Frameset_25 ; BATTLEANIMFRAMESET_25 + dw .Frameset_26 ; BATTLEANIMFRAMESET_26 + dw .Frameset_27 ; BATTLEANIMFRAMESET_27 + dw .Frameset_28 ; BATTLEANIMFRAMESET_28 + dw .Frameset_29 ; BATTLEANIMFRAMESET_29 + dw .Frameset_2a ; BATTLEANIMFRAMESET_2A + dw .Frameset_2b ; BATTLEANIMFRAMESET_2B + dw .Frameset_2c ; BATTLEANIMFRAMESET_2C + dw .Frameset_2d ; BATTLEANIMFRAMESET_2D + dw .Frameset_2e ; BATTLEANIMFRAMESET_2E + dw .Frameset_2f ; BATTLEANIMFRAMESET_2F + dw .Frameset_30 ; BATTLEANIMFRAMESET_30 + dw .Frameset_31 ; BATTLEANIMFRAMESET_31 + dw .Frameset_32 ; BATTLEANIMFRAMESET_32 + dw .Frameset_33 ; BATTLEANIMFRAMESET_33 + dw .Frameset_34 ; BATTLEANIMFRAMESET_34 + dw .Frameset_35 ; BATTLEANIMFRAMESET_35 + dw .Frameset_36 ; BATTLEANIMFRAMESET_36 + dw .Frameset_37 ; BATTLEANIMFRAMESET_37 + dw .Frameset_38 ; BATTLEANIMFRAMESET_38 + dw .Frameset_39 ; BATTLEANIMFRAMESET_39 + dw .Frameset_3a ; BATTLEANIMFRAMESET_3A + dw .Frameset_3b ; BATTLEANIMFRAMESET_3B + dw .Frameset_3c ; BATTLEANIMFRAMESET_3C + dw .Frameset_3d ; BATTLEANIMFRAMESET_3D + dw .Frameset_3e ; BATTLEANIMFRAMESET_3E + dw .Frameset_3f ; BATTLEANIMFRAMESET_3F + dw .Frameset_40 ; BATTLEANIMFRAMESET_40 + dw .Frameset_41 ; BATTLEANIMFRAMESET_41 + dw .Frameset_42 ; BATTLEANIMFRAMESET_42 + dw .Frameset_43 ; BATTLEANIMFRAMESET_43 + dw .Frameset_44 ; BATTLEANIMFRAMESET_44 + dw .Frameset_45 ; BATTLEANIMFRAMESET_45 + dw .Frameset_46 ; BATTLEANIMFRAMESET_46 + dw .Frameset_47 ; BATTLEANIMFRAMESET_47 + dw .Frameset_48 ; BATTLEANIMFRAMESET_48 + dw .Frameset_49 ; BATTLEANIMFRAMESET_49 + dw .Frameset_4a ; BATTLEANIMFRAMESET_4A + dw .Frameset_4b ; BATTLEANIMFRAMESET_4B + dw .Frameset_4c ; BATTLEANIMFRAMESET_4C + dw .Frameset_4d ; BATTLEANIMFRAMESET_4D + dw .Frameset_4e ; BATTLEANIMFRAMESET_4E + dw .Frameset_4f ; BATTLEANIMFRAMESET_4F + dw .Frameset_50 ; BATTLEANIMFRAMESET_50 + dw .Frameset_51 ; BATTLEANIMFRAMESET_51 + dw .Frameset_52 ; BATTLEANIMFRAMESET_52 + dw .Frameset_53 ; BATTLEANIMFRAMESET_53 + dw .Frameset_54 ; BATTLEANIMFRAMESET_54 + dw .Frameset_55 ; BATTLEANIMFRAMESET_55 + dw .Frameset_56 ; BATTLEANIMFRAMESET_56 + dw .Frameset_57 ; BATTLEANIMFRAMESET_57 + dw .Frameset_58 ; BATTLEANIMFRAMESET_58 + dw .Frameset_59 ; BATTLEANIMFRAMESET_59 + dw .Frameset_5a ; BATTLEANIMFRAMESET_5A + dw .Frameset_5b ; BATTLEANIMFRAMESET_5B + dw .Frameset_5c ; BATTLEANIMFRAMESET_5C + dw .Frameset_5d ; BATTLEANIMFRAMESET_5D + dw .Frameset_5e ; BATTLEANIMFRAMESET_5E + dw .Frameset_5f ; BATTLEANIMFRAMESET_5F + dw .Frameset_60 ; BATTLEANIMFRAMESET_60 + dw .Frameset_61 ; BATTLEANIMFRAMESET_61 + dw .Frameset_62 ; BATTLEANIMFRAMESET_62 + dw .Frameset_63 ; BATTLEANIMFRAMESET_63 + dw .Frameset_64 ; BATTLEANIMFRAMESET_64 + dw .Frameset_65 ; BATTLEANIMFRAMESET_65 + dw .Frameset_66 ; BATTLEANIMFRAMESET_66 + dw .Frameset_67 ; BATTLEANIMFRAMESET_67 + dw .Frameset_68 ; BATTLEANIMFRAMESET_68 + dw .Frameset_69 ; BATTLEANIMFRAMESET_69 + dw .Frameset_6a ; BATTLEANIMFRAMESET_6A + dw .Frameset_6b ; BATTLEANIMFRAMESET_6B + dw .Frameset_6c ; BATTLEANIMFRAMESET_6C + dw .Frameset_6d ; BATTLEANIMFRAMESET_6D + dw .Frameset_6e ; BATTLEANIMFRAMESET_6E + dw .Frameset_6f ; BATTLEANIMFRAMESET_6F + dw .Frameset_70 ; BATTLEANIMFRAMESET_70 + dw .Frameset_71 ; BATTLEANIMFRAMESET_71 + dw .Frameset_72 ; BATTLEANIMFRAMESET_72 + dw .Frameset_73 ; BATTLEANIMFRAMESET_73 + dw .Frameset_74 ; BATTLEANIMFRAMESET_74 + dw .Frameset_75 ; BATTLEANIMFRAMESET_75 + dw .Frameset_76 ; BATTLEANIMFRAMESET_76 + dw .Frameset_77 ; BATTLEANIMFRAMESET_77 + dw .Frameset_78 ; BATTLEANIMFRAMESET_78 + dw .Frameset_79 ; BATTLEANIMFRAMESET_79 + dw .Frameset_7a ; BATTLEANIMFRAMESET_7A + dw .Frameset_7b ; BATTLEANIMFRAMESET_7B + dw .Frameset_7c ; BATTLEANIMFRAMESET_7C + dw .Frameset_7d ; BATTLEANIMFRAMESET_7D + dw .Frameset_7e ; BATTLEANIMFRAMESET_7E + dw .Frameset_7f ; BATTLEANIMFRAMESET_7F + dw .Frameset_80 ; BATTLEANIMFRAMESET_80 + dw .Frameset_81 ; BATTLEANIMFRAMESET_81 + dw .Frameset_82 ; BATTLEANIMFRAMESET_82 + dw .Frameset_83 ; BATTLEANIMFRAMESET_83 + dw .Frameset_84 ; BATTLEANIMFRAMESET_84 + dw .Frameset_85 ; BATTLEANIMFRAMESET_85 + dw .Frameset_86 ; BATTLEANIMFRAMESET_86 + dw .Frameset_87 ; BATTLEANIMFRAMESET_87 + dw .Frameset_88 ; BATTLEANIMFRAMESET_88 + dw .Frameset_89 ; BATTLEANIMFRAMESET_89 + dw .Frameset_8a ; BATTLEANIMFRAMESET_8A + dw .Frameset_8b ; BATTLEANIMFRAMESET_8B + dw .Frameset_8c ; BATTLEANIMFRAMESET_8C + dw .Frameset_8d ; BATTLEANIMFRAMESET_8D + dw .Frameset_8e ; BATTLEANIMFRAMESET_8E + dw .Frameset_8f ; BATTLEANIMFRAMESET_8F + dw .Frameset_90 ; BATTLEANIMFRAMESET_90 + dw .Frameset_91 ; BATTLEANIMFRAMESET_91 + dw .Frameset_92 ; BATTLEANIMFRAMESET_92 + dw .Frameset_93 ; BATTLEANIMFRAMESET_93 + dw .Frameset_94 ; BATTLEANIMFRAMESET_94 + dw .Frameset_95 ; BATTLEANIMFRAMESET_95 + dw .Frameset_96 ; BATTLEANIMFRAMESET_96 + dw .Frameset_97 ; BATTLEANIMFRAMESET_97 + dw .Frameset_98 ; BATTLEANIMFRAMESET_98 + dw .Frameset_99 ; BATTLEANIMFRAMESET_99 + dw .Frameset_9a ; BATTLEANIMFRAMESET_9A + dw .Frameset_9b ; BATTLEANIMFRAMESET_9B + dw .Frameset_9c ; BATTLEANIMFRAMESET_9C + dw .Frameset_9d ; BATTLEANIMFRAMESET_9D + dw .Frameset_9e ; BATTLEANIMFRAMESET_9E + dw .Frameset_9f ; BATTLEANIMFRAMESET_9F + dw .Frameset_a0 ; BATTLEANIMFRAMESET_A0 + dw .Frameset_a1 ; BATTLEANIMFRAMESET_A1 + dw .Frameset_a2 ; BATTLEANIMFRAMESET_A2 + dw .Frameset_a3 ; BATTLEANIMFRAMESET_A3 + dw .Frameset_a4 ; BATTLEANIMFRAMESET_A4 + dw .Frameset_a5 ; BATTLEANIMFRAMESET_A5 + dw .Frameset_a6 ; BATTLEANIMFRAMESET_A6 + dw .Frameset_a7 ; BATTLEANIMFRAMESET_A7 + dw .Frameset_a8 ; BATTLEANIMFRAMESET_A8 + dw .Frameset_a9 ; BATTLEANIMFRAMESET_A9 + dw .Frameset_aa ; BATTLEANIMFRAMESET_AA + dw .Frameset_ab ; BATTLEANIMFRAMESET_AB + dw .Frameset_ac ; BATTLEANIMFRAMESET_AC + dw .Frameset_ad ; BATTLEANIMFRAMESET_AD + dw .Frameset_ae ; BATTLEANIMFRAMESET_AE + dw .Frameset_af ; BATTLEANIMFRAMESET_AF + dw .Frameset_b0 ; BATTLEANIMFRAMESET_B0 + dw .Frameset_b1 ; BATTLEANIMFRAMESET_B1 + dw .Frameset_b2 ; BATTLEANIMFRAMESET_B2 + dw .Frameset_b3 ; BATTLEANIMFRAMESET_B3 + dw .Frameset_b4 ; BATTLEANIMFRAMESET_B4 + dw .Frameset_b5 ; BATTLEANIMFRAMESET_B5 + dw .Frameset_b6 ; BATTLEANIMFRAMESET_B6 + dw .Frameset_b7 ; BATTLEANIMFRAMESET_B7 + dw .Frameset_b8 ; BATTLEANIMFRAMESET_B8 + +.Frameset_00: + frame BATTLEANIMOAMSET_00, $06 + delanim + +.Frameset_01: + frame BATTLEANIMOAMSET_01, $06 + delanim + +.Frameset_02: + frame BATTLEANIMOAMSET_02, $06 + delanim + +.Frameset_03: + frame BATTLEANIMOAMSET_03, $06 + delanim + +.Frameset_04: + frame BATTLEANIMOAMSET_04, $06 + delanim + +.Frameset_05: + frame BATTLEANIMOAMSET_05, $06 + delanim + +.Frameset_06: + frame BATTLEANIMOAMSET_06, $06 + delanim + +.Frameset_07: + frame BATTLEANIMOAMSET_03, $04 + frame BATTLEANIMOAMSET_01, $01 + frame BATTLEANIMOAMSET_03, $04 + frame BATTLEANIMOAMSET_01, $01 + frame BATTLEANIMOAMSET_03, $04 + frame BATTLEANIMOAMSET_01, $01 + frame BATTLEANIMOAMSET_03, $04 + frame BATTLEANIMOAMSET_01, $01 + delanim + +.Frameset_3e: + frame BATTLEANIMOAMSET_4B, $02 + frame BATTLEANIMOAMSET_4C, $02 + frame BATTLEANIMOAMSET_4D, $04 + frame BATTLEANIMOAMSET_4E, $02 + dorepeat 2 + frame BATTLEANIMOAMSET_4E, $02 + dorepeat 2 + frame BATTLEANIMOAMSET_4E, $02 + dorepeat 2 + frame BATTLEANIMOAMSET_4E, $02 + delanim + +.Frameset_3f: + frame BATTLEANIMOAMSET_4B, $42 + frame BATTLEANIMOAMSET_4C, $42 + frame BATTLEANIMOAMSET_4D, $44 + frame BATTLEANIMOAMSET_4E, $42 + dorepeat 2 + frame BATTLEANIMOAMSET_4E, $42 + dorepeat 2 + frame BATTLEANIMOAMSET_4E, $42 + dorepeat 2 + frame BATTLEANIMOAMSET_4E, $42 + delanim + +.Frameset_40: + frame BATTLEANIMOAMSET_4B, $c2 + frame BATTLEANIMOAMSET_4C, $c2 + frame BATTLEANIMOAMSET_4D, $c4 + frame BATTLEANIMOAMSET_4E, $c2 + dorepeat 2 + frame BATTLEANIMOAMSET_4E, $c2 + dorepeat 2 + frame BATTLEANIMOAMSET_4E, $c2 + dorepeat 2 + frame BATTLEANIMOAMSET_4E, $c2 + delanim + +.Frameset_41: + frame BATTLEANIMOAMSET_4B, $01 + frame BATTLEANIMOAMSET_4C, $01 + frame BATTLEANIMOAMSET_4D, $01 + frame BATTLEANIMOAMSET_4F, $01 + frame BATTLEANIMOAMSET_50, $01 + frame BATTLEANIMOAMSET_51, $01 + frame BATTLEANIMOAMSET_52, $02 + dorepeat 2 + frame BATTLEANIMOAMSET_52, $02 + dorepeat 2 + frame BATTLEANIMOAMSET_52, $02 + dorepeat 2 + frame BATTLEANIMOAMSET_52, $02 + delanim + +.Frameset_42: + frame BATTLEANIMOAMSET_4B, $41 + frame BATTLEANIMOAMSET_4C, $41 + frame BATTLEANIMOAMSET_4D, $41 + frame BATTLEANIMOAMSET_4F, $41 + frame BATTLEANIMOAMSET_50, $41 + frame BATTLEANIMOAMSET_51, $41 + frame BATTLEANIMOAMSET_52, $42 + dorepeat 2 + frame BATTLEANIMOAMSET_52, $42 + dorepeat 2 + frame BATTLEANIMOAMSET_52, $42 + dorepeat 2 + frame BATTLEANIMOAMSET_52, $42 + delanim + +.Frameset_08: + frame BATTLEANIMOAMSET_00, $03 + frame BATTLEANIMOAMSET_07, $03 + frame BATTLEANIMOAMSET_08, $03 + frame BATTLEANIMOAMSET_09, $03 + delanim + +.Frameset_09: + frame BATTLEANIMOAMSET_0A, $07 + frame BATTLEANIMOAMSET_0B, $07 + frame BATTLEANIMOAMSET_0A, $07 + frame BATTLEANIMOAMSET_0B, $47 + dorestart + +.Frameset_0a: + frame BATTLEANIMOAMSET_0C, $08 + endanim + +.Frameset_0b: + frame BATTLEANIMOAMSET_0D, $08 + endanim + +.Frameset_0c: + frame BATTLEANIMOAMSET_0A, $08 + endanim + +.Frameset_0d: + frame BATTLEANIMOAMSET_0A, $07 + frame BATTLEANIMOAMSET_0B, $07 + frame BATTLEANIMOAMSET_0A, $07 + frame BATTLEANIMOAMSET_0B, $47 + frame BATTLEANIMOAMSET_0A, $07 + endanim + +.Frameset_0e: + frame BATTLEANIMOAMSET_0A, $08 + endanim + +.Frameset_0f: + frame BATTLEANIMOAMSET_0A, $04 + frame BATTLEANIMOAMSET_0E, $04 + dorestart + +.Frameset_10: + frame BATTLEANIMOAMSET_0F, $04 + frame BATTLEANIMOAMSET_10, $04 + dorestart + +.Frameset_11: + frame BATTLEANIMOAMSET_10, $04 + frame BATTLEANIMOAMSET_0F, $04 + frame BATTLEANIMOAMSET_0E, $04 + frame BATTLEANIMOAMSET_0A, $04 + frame BATTLEANIMOAMSET_0E, $04 + frame BATTLEANIMOAMSET_0A, $04 + frame BATTLEANIMOAMSET_0E, $04 + frame BATTLEANIMOAMSET_0A, $04 + delanim + +.Frameset_12: + frame BATTLEANIMOAMSET_10, $01 + frame BATTLEANIMOAMSET_0F, $01 + frame BATTLEANIMOAMSET_12, $01 + frame BATTLEANIMOAMSET_11, $01 + frame BATTLEANIMOAMSET_12, $01 + frame BATTLEANIMOAMSET_0F, $01 + dorestart + +.Frameset_13: + frame BATTLEANIMOAMSET_10, $03 + frame BATTLEANIMOAMSET_0F, $03 + frame BATTLEANIMOAMSET_12, $01 + dorepeat 1 + frame BATTLEANIMOAMSET_12, $01 + dorepeat 1 + frame BATTLEANIMOAMSET_12, $01 + dorepeat 1 + frame BATTLEANIMOAMSET_12, $01 + dorepeat 1 + frame BATTLEANIMOAMSET_12, $03 + delanim + +.Frameset_14: + frame BATTLEANIMOAMSET_13, $14 + delanim + +.Frameset_15: + frame BATTLEANIMOAMSET_10, $01 + frame BATTLEANIMOAMSET_0F, $01 + dorestart + +.Frameset_16: + frame BATTLEANIMOAMSET_14, $08 + endanim + +.Frameset_17: + frame BATTLEANIMOAMSET_17, $04 + frame BATTLEANIMOAMSET_16, $08 + frame BATTLEANIMOAMSET_15, $08 + frame BATTLEANIMOAMSET_16, $08 + frame BATTLEANIMOAMSET_17, $04 + frame BATTLEANIMOAMSET_17, $04 + frame BATTLEANIMOAMSET_16, $48 + frame BATTLEANIMOAMSET_15, $48 + frame BATTLEANIMOAMSET_16, $48 + frame BATTLEANIMOAMSET_17, $04 + dorestart + +.Frameset_56: + frame BATTLEANIMOAMSET_69, $08 + endanim + +.Frameset_57: + frame BATTLEANIMOAMSET_69, $20 + frame BATTLEANIMOAMSET_6A, $04 + frame BATTLEANIMOAMSET_6B, $04 + frame BATTLEANIMOAMSET_6D, $04 + frame BATTLEANIMOAMSET_6C, $04 + endanim + +.Frameset_58: + frame BATTLEANIMOAMSET_6C, $08 + frame BATTLEANIMOAMSET_6D, $08 + dorestart + +.Frameset_18: + frame BATTLEANIMOAMSET_18, $04 + frame BATTLEANIMOAMSET_19, $04 + frame BATTLEANIMOAMSET_1A, $04 + delanim + +.Frameset_19: + frame BATTLEANIMOAMSET_1B, $08 + endanim + +.Frameset_1a: + frame BATTLEANIMOAMSET_0F, $08 + endanim + +.Frameset_1b: + frame BATTLEANIMOAMSET_1C, $08 + endanim + +.Frameset_1c: + frame BATTLEANIMOAMSET_0A, $08 + delanim + +.Frameset_1d: + frame BATTLEANIMOAMSET_1D, $08 + endanim + +.Frameset_1e: + frame BATTLEANIMOAMSET_17, $08 + endanim + +.Frameset_1f: + frame BATTLEANIMOAMSET_0F, $03 + frame BATTLEANIMOAMSET_10, $03 + frame BATTLEANIMOAMSET_1E, $03 + endanim + +.Frameset_20: + frame BATTLEANIMOAMSET_1F, $10 + frame BATTLEANIMOAMSET_20, $03 + delanim + +.Frameset_21: + frame BATTLEANIMOAMSET_20, $08 + endanim + +.Frameset_22: + frame BATTLEANIMOAMSET_20, $08 + frame BATTLEANIMOAMSET_21, $08 + frame BATTLEANIMOAMSET_1B, $08 + frame BATTLEANIMOAMSET_21, $08 + dorestart + +.Frameset_23: + frame BATTLEANIMOAMSET_22, $08 + endanim + +.Frameset_24: + frame BATTLEANIMOAMSET_1B, $08 + endanim + +.Frameset_25: + frame BATTLEANIMOAMSET_23, $08 + endanim + +.Frameset_26: + frame BATTLEANIMOAMSET_24, $08 + endanim + +.Frameset_27: + frame BATTLEANIMOAMSET_25, $08 + endanim + +.Frameset_28: + frame BATTLEANIMOAMSET_26, $08 + frame BATTLEANIMOAMSET_27, $08 + endanim + +.Frameset_29: + frame BATTLEANIMOAMSET_28, $08 + frame BATTLEANIMOAMSET_29, $08 + delanim + +.Frameset_2a: + frame BATTLEANIMOAMSET_2A, $01 + frame BATTLEANIMOAMSET_2B, $01 + frame BATTLEANIMOAMSET_2C, $01 + frame BATTLEANIMOAMSET_2D, $01 + frame BATTLEANIMOAMSET_2E, $01 + frame BATTLEANIMOAMSET_2D, $01 + frame BATTLEANIMOAMSET_2C, $01 + frame BATTLEANIMOAMSET_2B, $01 + frame BATTLEANIMOAMSET_2A, $01 + delanim + +.Frameset_2b: + frame BATTLEANIMOAMSET_14, $01 + frame BATTLEANIMOAMSET_15, $01 + dorestart + +.Frameset_2c: + frame BATTLEANIMOAMSET_2F, $04 + frame BATTLEANIMOAMSET_30, $28 + delanim + +.Frameset_2d: + frame BATTLEANIMOAMSET_31, $08 + endanim + +.Frameset_2e: + frame BATTLEANIMOAMSET_32, $20 + frame BATTLEANIMOAMSET_33, $20 + frame BATTLEANIMOAMSET_34, $20 + frame BATTLEANIMOAMSET_35, $20 ; fallthrough +.Frameset_2f: + dorepeat 2 + frame BATTLEANIMOAMSET_35, $04 + dorepeat 2 + frame BATTLEANIMOAMSET_35, $04 + dorepeat 2 + frame BATTLEANIMOAMSET_35, $04 + dorepeat 2 + frame BATTLEANIMOAMSET_35, $04 + delanim + +.Frameset_30: + frame BATTLEANIMOAMSET_14, $04 + frame BATTLEANIMOAMSET_15, $04 + dorestart + +.Frameset_31: + frame BATTLEANIMOAMSET_36, $02 + frame BATTLEANIMOAMSET_37, $02 + frame BATTLEANIMOAMSET_38, $02 + frame BATTLEANIMOAMSET_39, $20 + delanim + +.Frameset_32: + frame BATTLEANIMOAMSET_3A, $02 + frame BATTLEANIMOAMSET_3B, $02 + frame BATTLEANIMOAMSET_3C, $02 + frame BATTLEANIMOAMSET_3D, $20 + delanim + +.Frameset_33: + frame BATTLEANIMOAMSET_3A, $42 + frame BATTLEANIMOAMSET_3B, $42 + frame BATTLEANIMOAMSET_3C, $42 + frame BATTLEANIMOAMSET_3D, $60 + delanim + +.Frameset_34: + frame BATTLEANIMOAMSET_3E, $08 + frame BATTLEANIMOAMSET_3F, $08 + frame BATTLEANIMOAMSET_40, $08 + endanim + +.Frameset_35: + frame BATTLEANIMOAMSET_40, $02 + dorepeat 2 + frame BATTLEANIMOAMSET_40, $02 + dorepeat 2 + frame BATTLEANIMOAMSET_41, $02 + dorepeat 2 + frame BATTLEANIMOAMSET_41, $02 + dorepeat 2 + dorestart + +.Frameset_36: + frame BATTLEANIMOAMSET_42, $02 + frame BATTLEANIMOAMSET_43, $02 + frame BATTLEANIMOAMSET_44, $02 + frame BATTLEANIMOAMSET_45, $02 + dorestart + +.Frameset_37: + frame BATTLEANIMOAMSET_19, $02 + dorepeat 2 + dorestart + +.Frameset_38: + frame BATTLEANIMOAMSET_46, $04 + frame BATTLEANIMOAMSET_47, $04 + dorestart + +.Frameset_39: + frame BATTLEANIMOAMSET_18, $02 + dorepeat 2 + dorestart + +.Frameset_3a: + frame BATTLEANIMOAMSET_48, $08 + endanim + +.Frameset_3b: + frame BATTLEANIMOAMSET_48, $48 + endanim + +.Frameset_3c: + frame BATTLEANIMOAMSET_49, $08 + endanim + +.Frameset_3d: + frame BATTLEANIMOAMSET_4A, $08 + endanim + +.Frameset_43: + frame BATTLEANIMOAMSET_20, $10 + frame BATTLEANIMOAMSET_1F, $10 + frame BATTLEANIMOAMSET_1E, $10 + endanim + +.Frameset_4c: + frame BATTLEANIMOAMSET_20, $08 + frame BATTLEANIMOAMSET_1F, $08 + frame BATTLEANIMOAMSET_1E, $08 + endanim + +.Frameset_44: + dorepeat 20 + frame BATTLEANIMOAMSET_55, $28 + frame BATTLEANIMOAMSET_54, $28 + frame BATTLEANIMOAMSET_53, $14 + dorepeat 4 + frame BATTLEANIMOAMSET_53, $04 + dorepeat 4 + frame BATTLEANIMOAMSET_53, $04 + dorepeat 4 + frame BATTLEANIMOAMSET_53, $04 + delanim + +.Frameset_7e: + frame BATTLEANIMOAMSET_1E, $08 + frame BATTLEANIMOAMSET_1F, $08 + frame BATTLEANIMOAMSET_20, $08 + delanim + +.Frameset_45: + dorepeat 0 + frame BATTLEANIMOAMSET_14, $00 + frame BATTLEANIMOAMSET_15, $00 + frame BATTLEANIMOAMSET_14, $40 + dorepeat 0 + frame BATTLEANIMOAMSET_16, $40 + frame BATTLEANIMOAMSET_15, $00 + frame BATTLEANIMOAMSET_16, $00 + dorestart + +.Frameset_46: + frame BATTLEANIMOAMSET_56, $02 + frame BATTLEANIMOAMSET_57, $04 + delanim + +.Frameset_47: + frame BATTLEANIMOAMSET_56, $c2 + frame BATTLEANIMOAMSET_57, $c4 + delanim + +.Frameset_48: + frame BATTLEANIMOAMSET_56, $01 + frame BATTLEANIMOAMSET_57, $01 + frame BATTLEANIMOAMSET_58, $01 + frame BATTLEANIMOAMSET_57, $c1 + frame BATTLEANIMOAMSET_58, $c1 + frame BATTLEANIMOAMSET_57, $02 + delanim + +.Frameset_49: + frame BATTLEANIMOAMSET_56, $c1 + frame BATTLEANIMOAMSET_57, $c1 + frame BATTLEANIMOAMSET_58, $c1 + frame BATTLEANIMOAMSET_57, $01 + frame BATTLEANIMOAMSET_58, $01 + frame BATTLEANIMOAMSET_57, $c2 + delanim + +.Frameset_4a: + frame BATTLEANIMOAMSET_57, $c1 + frame BATTLEANIMOAMSET_58, $c1 + frame BATTLEANIMOAMSET_57, $01 + frame BATTLEANIMOAMSET_58, $01 + dorestart + +.Frameset_4b: + frame BATTLEANIMOAMSET_59, $01 + frame BATTLEANIMOAMSET_5A, $01 + frame BATTLEANIMOAMSET_5B, $01 + frame BATTLEANIMOAMSET_5C, $02 + delanim + +.Frameset_4d: + frame BATTLEANIMOAMSET_0A, $0a + frame BATTLEANIMOAMSET_0B, $43 + frame BATTLEANIMOAMSET_5D, $43 + frame BATTLEANIMOAMSET_0B, $c3 + frame BATTLEANIMOAMSET_0A, $82 + frame BATTLEANIMOAMSET_0B, $81 + frame BATTLEANIMOAMSET_5D, $01 + frame BATTLEANIMOAMSET_0B, $01 + dorestart + +.Frameset_4e: + frame BATTLEANIMOAMSET_0A, $03 + frame BATTLEANIMOAMSET_0B, $47 + frame BATTLEANIMOAMSET_0A, $07 + frame BATTLEANIMOAMSET_0B, $07 + frame BATTLEANIMOAMSET_0A, $03 + dorestart + +.Frameset_4f: + frame BATTLEANIMOAMSET_5E, $20 + frame BATTLEANIMOAMSET_5E, $20 + delanim + +.Frameset_50: + frame BATTLEANIMOAMSET_5F, $20 + frame BATTLEANIMOAMSET_5F, $20 + delanim + +.Frameset_51: + frame BATTLEANIMOAMSET_60, $08 + endanim + +.Frameset_52: + frame BATTLEANIMOAMSET_61, $01 + frame BATTLEANIMOAMSET_62, $01 + frame BATTLEANIMOAMSET_63, $01 + endanim + +.Frameset_53: + frame BATTLEANIMOAMSET_63, $07 + frame BATTLEANIMOAMSET_64, $07 + dorestart + +.Frameset_54: + frame BATTLEANIMOAMSET_65, $01 + frame BATTLEANIMOAMSET_66, $01 + frame BATTLEANIMOAMSET_67, $01 + endanim + +.Frameset_55: + frame BATTLEANIMOAMSET_67, $07 + frame BATTLEANIMOAMSET_68, $07 + dorestart + +.Frameset_59: + frame BATTLEANIMOAMSET_6E, $08 + endanim + +.Frameset_5a: + frame BATTLEANIMOAMSET_6F, $08 + endanim + +.Frameset_5b: + frame BATTLEANIMOAMSET_6E, $88 + endanim + +.Frameset_5c: + frame BATTLEANIMOAMSET_18, $04 + frame BATTLEANIMOAMSET_70, $04 + frame BATTLEANIMOAMSET_71, $04 + frame BATTLEANIMOAMSET_72, $04 + frame BATTLEANIMOAMSET_73, $04 + delanim + +.Frameset_5d: + frame BATTLEANIMOAMSET_74, $04 + frame BATTLEANIMOAMSET_75, $04 + dorestart + +.Frameset_5e: + frame BATTLEANIMOAMSET_14, $08 + endanim + +.Frameset_7a: + frame BATTLEANIMOAMSET_74, $03 + frame BATTLEANIMOAMSET_14, $03 + frame BATTLEANIMOAMSET_15, $03 + frame BATTLEANIMOAMSET_14, $03 + frame BATTLEANIMOAMSET_15, $03 + delanim + +.Frameset_af: + frame BATTLEANIMOAMSET_14, $00 + frame BATTLEANIMOAMSET_15, $00 + frame BATTLEANIMOAMSET_14, $00 + frame BATTLEANIMOAMSET_15, $00 + frame BATTLEANIMOAMSET_74, $0c + delanim + +.Frameset_5f: + frame BATTLEANIMOAMSET_76, $08 + endanim + +.Frameset_60: + frame BATTLEANIMOAMSET_77, $01 + frame BATTLEANIMOAMSET_78, $01 + frame BATTLEANIMOAMSET_79, $01 + frame BATTLEANIMOAMSET_7A, $01 + frame BATTLEANIMOAMSET_7B, $01 + frame BATTLEANIMOAMSET_7C, $01 + frame BATTLEANIMOAMSET_7D, $01 + frame BATTLEANIMOAMSET_7C, $c1 + frame BATTLEANIMOAMSET_7B, $c1 + frame BATTLEANIMOAMSET_7A, $c1 + frame BATTLEANIMOAMSET_79, $c1 + frame BATTLEANIMOAMSET_78, $c1 + frame BATTLEANIMOAMSET_77, $c1 + delanim + +.Frameset_61: + frame BATTLEANIMOAMSET_1B, $04 + frame BATTLEANIMOAMSET_7E, $04 + dorestart + +.Frameset_62: + frame BATTLEANIMOAMSET_1B, $44 + frame BATTLEANIMOAMSET_7E, $44 + dorestart + +.Frameset_63: + frame BATTLEANIMOAMSET_7F, $08 + endanim + +.Frameset_64: + frame BATTLEANIMOAMSET_25, $08 + endanim + +.Frameset_65: + frame BATTLEANIMOAMSET_80, $08 + endanim + +.Frameset_66: + frame BATTLEANIMOAMSET_83, $07 + frame BATTLEANIMOAMSET_82, $07 + frame BATTLEANIMOAMSET_81, $07 + frame BATTLEANIMOAMSET_82, $07 + frame BATTLEANIMOAMSET_83, $07 + frame BATTLEANIMOAMSET_82, $07 + frame BATTLEANIMOAMSET_81, $07 + delanim + +.Frameset_67: + frame BATTLEANIMOAMSET_1B, $10 + delanim + +.Frameset_68: + dorepeat 15 + frame BATTLEANIMOAMSET_84, $0f + frame BATTLEANIMOAMSET_85, $0f + frame BATTLEANIMOAMSET_29, $0f + frame BATTLEANIMOAMSET_28, $0f + frame BATTLEANIMOAMSET_86, $20 + delanim + +.Frameset_69: + frame BATTLEANIMOAMSET_1B, $03 + frame BATTLEANIMOAMSET_87, $03 + frame BATTLEANIMOAMSET_88, $03 + frame BATTLEANIMOAMSET_89, $03 + delanim + +.Frameset_6a: + frame BATTLEANIMOAMSET_8A, $02 + frame BATTLEANIMOAMSET_8B, $02 + frame BATTLEANIMOAMSET_8C, $02 + frame BATTLEANIMOAMSET_8D, $02 + delanim + +.Frameset_6b: + frame BATTLEANIMOAMSET_61, $02 + frame BATTLEANIMOAMSET_62, $02 + frame BATTLEANIMOAMSET_63, $02 + endanim + +.Frameset_6c: + frame BATTLEANIMOAMSET_65, $02 + frame BATTLEANIMOAMSET_66, $02 + frame BATTLEANIMOAMSET_67, $02 + endanim + +.Frameset_6d: + frame BATTLEANIMOAMSET_8E, $08 + endanim + +.Frameset_6e: + frame BATTLEANIMOAMSET_8E, $48 + endanim + +.Frameset_6f: + frame BATTLEANIMOAMSET_8F, $10 + frame BATTLEANIMOAMSET_90, $10 + dorestart + +.Frameset_70: + frame BATTLEANIMOAMSET_91, $10 + frame BATTLEANIMOAMSET_92, $10 + dorestart + +.Frameset_71: + frame BATTLEANIMOAMSET_93, $08 + endanim + +.Frameset_72: + frame BATTLEANIMOAMSET_1E, $08 + endanim + +.Frameset_73: + frame BATTLEANIMOAMSET_1B, $07 + frame BATTLEANIMOAMSET_94, $07 + dorestart + +.Frameset_74: + frame BATTLEANIMOAMSET_95, $08 + endanim + +.Frameset_75: + frame BATTLEANIMOAMSET_96, $08 + endanim + +.Frameset_76: + frame BATTLEANIMOAMSET_95, $08 + endanim + +.Frameset_77: + frame BATTLEANIMOAMSET_97, $01 + frame BATTLEANIMOAMSET_97, $41 + dorestart + +.Frameset_78: + frame BATTLEANIMOAMSET_98, $08 + endanim + +.Frameset_79: + frame BATTLEANIMOAMSET_99, $20 + frame BATTLEANIMOAMSET_99, $20 + frame BATTLEANIMOAMSET_99, $20 + frame BATTLEANIMOAMSET_99, $20 + frame BATTLEANIMOAMSET_99, $20 + frame BATTLEANIMOAMSET_9A, $08 + endanim + +.Frameset_7b: + frame BATTLEANIMOAMSET_9B, $08 + endanim + +.Frameset_7c: + frame BATTLEANIMOAMSET_9C, $02 + frame BATTLEANIMOAMSET_9D, $02 + frame BATTLEANIMOAMSET_9E, $08 + dorepeat 2 + frame BATTLEANIMOAMSET_9E, $02 + dorepeat 2 + frame BATTLEANIMOAMSET_9E, $02 + dorepeat 2 + frame BATTLEANIMOAMSET_9E, $02 + delanim + +.Frameset_7d: + frame BATTLEANIMOAMSET_9F, $08 + endanim + +.Frameset_7f: + frame BATTLEANIMOAMSET_0F, $08 + endanim + +.Frameset_80: + frame BATTLEANIMOAMSET_6B, $18 + delanim + +.Frameset_81: + frame BATTLEANIMOAMSET_A0, $01 ; fallthrough +.Frameset_82: + frame BATTLEANIMOAMSET_A1, $01 ; fallthrough +.Frameset_83: + frame BATTLEANIMOAMSET_A2, $01 + delanim + +.Frameset_84: + frame BATTLEANIMOAMSET_A3, $08 + endanim + +.Frameset_85: + frame BATTLEANIMOAMSET_A4, $04 + frame BATTLEANIMOAMSET_A5, $04 + frame BATTLEANIMOAMSET_A6, $04 + frame BATTLEANIMOAMSET_A7, $04 + frame BATTLEANIMOAMSET_A6, $44 + frame BATTLEANIMOAMSET_A5, $44 + dorestart + +.Frameset_86: + frame BATTLEANIMOAMSET_A8, $04 + frame BATTLEANIMOAMSET_A9, $04 + frame BATTLEANIMOAMSET_AA, $04 + frame BATTLEANIMOAMSET_AB, $04 + frame BATTLEANIMOAMSET_AA, $44 + frame BATTLEANIMOAMSET_A9, $44 + dorestart + +.Frameset_87: + frame BATTLEANIMOAMSET_1B, $08 + endanim + +.Frameset_88: + frame BATTLEANIMOAMSET_AC, $08 + endanim + +.Frameset_89: + frame BATTLEANIMOAMSET_AD, $08 + endanim + +.Frameset_8a: + frame BATTLEANIMOAMSET_AE, $08 + endanim + +.Frameset_8b: + frame BATTLEANIMOAMSET_AF, $08 + endanim + +.Frameset_8c: + frame BATTLEANIMOAMSET_B0, $20 + delanim + +.Frameset_8d: + frame BATTLEANIMOAMSET_B1, $07 + frame BATTLEANIMOAMSET_B1, $47 + dorestart + +.Frameset_8e: + frame BATTLEANIMOAMSET_B2, $08 + endanim + +.Frameset_8f: + frame BATTLEANIMOAMSET_B3, $08 + endanim + +.Frameset_90: + frame BATTLEANIMOAMSET_B3, $48 + endanim + +.Frameset_91: + frame BATTLEANIMOAMSET_B3, $88 + endanim + +.Frameset_92: + frame BATTLEANIMOAMSET_B3, $c8 + endanim + +.Frameset_93: + frame BATTLEANIMOAMSET_B5, $08 + endanim + +.Frameset_94: + frame BATTLEANIMOAMSET_B5, $48 + endanim + +.Frameset_95: + frame BATTLEANIMOAMSET_B5, $88 + endanim + +.Frameset_96: + frame BATTLEANIMOAMSET_B5, $c8 + endanim + +.Frameset_97: + frame BATTLEANIMOAMSET_B4, $08 + endanim + +.Frameset_98: + frame BATTLEANIMOAMSET_6B, $08 + endanim + +.Frameset_99: + frame BATTLEANIMOAMSET_B6, $08 + endanim + +.Frameset_9a: + frame BATTLEANIMOAMSET_B7, $20 + endanim + +.Frameset_9b: + frame BATTLEANIMOAMSET_1B, $20 + endanim + +.Frameset_9c: + frame BATTLEANIMOAMSET_B8, $20 + endanim + +.Frameset_9d: + frame BATTLEANIMOAMSET_B8, $60 + endanim + +.Frameset_9e: + frame BATTLEANIMOAMSET_B9, $20 + endanim + +.Frameset_9f: + frame BATTLEANIMOAMSET_BA, $20 + endanim + +.Frameset_a0: + frame BATTLEANIMOAMSET_BB, $60 + endanim + +.Frameset_a1: + frame BATTLEANIMOAMSET_BB, $20 + endanim + +.Frameset_a2: + frame BATTLEANIMOAMSET_BC, $20 + endanim + +.Frameset_a3: + frame BATTLEANIMOAMSET_BD, $0b + frame BATTLEANIMOAMSET_BE, $0b + frame BATTLEANIMOAMSET_1B, $0b + delanim + +.Frameset_a4: + frame BATTLEANIMOAMSET_BF, $04 + frame BATTLEANIMOAMSET_C0, $04 + frame BATTLEANIMOAMSET_C1, $04 + delanim + +.Frameset_a5: + frame BATTLEANIMOAMSET_C2, $20 + frame BATTLEANIMOAMSET_C2, $20 + delanim + +.Frameset_a6: + frame BATTLEANIMOAMSET_4B, $02 + frame BATTLEANIMOAMSET_4C, $02 + frame BATTLEANIMOAMSET_4D, $20 + frame BATTLEANIMOAMSET_4D, $20 + frame BATTLEANIMOAMSET_4D, $20 + frame BATTLEANIMOAMSET_4F, $01 + frame BATTLEANIMOAMSET_50, $01 + frame BATTLEANIMOAMSET_51, $01 + frame BATTLEANIMOAMSET_52, $02 + dorepeat 2 + frame BATTLEANIMOAMSET_52, $02 + dorepeat 2 + frame BATTLEANIMOAMSET_52, $02 + dorepeat 2 + frame BATTLEANIMOAMSET_52, $02 + delanim + +.Frameset_a7: + frame BATTLEANIMOAMSET_4B, $c2 + frame BATTLEANIMOAMSET_4C, $c2 + frame BATTLEANIMOAMSET_4D, $e0 + frame BATTLEANIMOAMSET_4D, $e0 + frame BATTLEANIMOAMSET_4D, $e0 + frame BATTLEANIMOAMSET_4F, $c1 + frame BATTLEANIMOAMSET_50, $c1 + frame BATTLEANIMOAMSET_51, $c1 + frame BATTLEANIMOAMSET_52, $c2 + dorepeat 2 + frame BATTLEANIMOAMSET_52, $c2 + dorepeat 2 + frame BATTLEANIMOAMSET_52, $c2 + dorepeat 2 + frame BATTLEANIMOAMSET_52, $c2 + delanim + +.Frameset_a8: + frame BATTLEANIMOAMSET_C3, $01 + frame BATTLEANIMOAMSET_C3, $c1 + dorestart + +.Frameset_a9: + frame BATTLEANIMOAMSET_C4, $20 + endanim + +.Frameset_aa: + frame BATTLEANIMOAMSET_C5, $04 + frame BATTLEANIMOAMSET_C6, $04 + frame BATTLEANIMOAMSET_C7, $04 + delanim + +.Frameset_ab: + frame BATTLEANIMOAMSET_C8, $01 + frame BATTLEANIMOAMSET_C8, $41 + dorestart + +.Frameset_ac: + frame BATTLEANIMOAMSET_C9, $03 + frame BATTLEANIMOAMSET_05, $03 + delanim + +.Frameset_ad: + frame BATTLEANIMOAMSET_CA, $20 + frame BATTLEANIMOAMSET_CB, $03 + frame BATTLEANIMOAMSET_CA, $03 + frame BATTLEANIMOAMSET_CB, $03 + dorestart + +.Frameset_ae: + frame BATTLEANIMOAMSET_03, $a0 + endanim + +.Frameset_b0: + frame BATTLEANIMOAMSET_CC, $20 + endanim + +.Frameset_b1: + frame BATTLEANIMOAMSET_7F, $02 + frame BATTLEANIMOAMSET_25, $02 + frame BATTLEANIMOAMSET_80, $02 + frame BATTLEANIMOAMSET_25, $02 + dorestart + +.Frameset_b2: + frame BATTLEANIMOAMSET_CD, $04 + frame BATTLEANIMOAMSET_CE, $04 + frame BATTLEANIMOAMSET_CD, $c4 + frame BATTLEANIMOAMSET_CE, $c4 + dorestart + +.Frameset_b3: + frame BATTLEANIMOAMSET_CF, $04 + frame BATTLEANIMOAMSET_D0, $04 + frame BATTLEANIMOAMSET_D1, $04 + frame BATTLEANIMOAMSET_D2, $04 + delanim + +.Frameset_b4: + frame BATTLEANIMOAMSET_D3, $20 + endanim + +.Frameset_b5: + frame BATTLEANIMOAMSET_D4, $08 + endanim + +.Frameset_b6: + frame BATTLEANIMOAMSET_D5, $08 + endanim + +.Frameset_b7: + frame BATTLEANIMOAMSET_D6, $08 + endanim + +.Frameset_b8: + frame BATTLEANIMOAMSET_D7, $08 + endanim + +; ceeae diff --git a/data/battle_anims/oam.asm b/data/battle_anims/oam.asm new file mode 100755 index 000000000..5d88977bd --- /dev/null +++ b/data/battle_anims/oam.asm @@ -0,0 +1,1086 @@ +BattleAnimOAMData: ; ceeae +; entries correspond to BATTLEANIMOAMSET_* constants + ; vtile offset, length, pointer + dbbw $00, 16, .OAMData_00 ; BATTLEANIMOAMSET_00 + dbbw $04, 9, .OAMData_01 ; BATTLEANIMOAMSET_01 + dbbw $08, 4, .OAMData_02 ; BATTLEANIMOAMSET_02 + dbbw $09, 4, .OAMData_03 ; BATTLEANIMOAMSET_03 + dbbw $0d, 4, .OAMData_04 ; BATTLEANIMOAMSET_04 + dbbw $0f, 4, .OAMData_03 ; BATTLEANIMOAMSET_05 + dbbw $13, 4, .OAMData_04 ; BATTLEANIMOAMSET_06 + dbbw $04, 16, .OAMData_00 ; BATTLEANIMOAMSET_07 + dbbw $08, 16, .OAMData_00 ; BATTLEANIMOAMSET_08 + dbbw $08, 16, .OAMData_09 ; BATTLEANIMOAMSET_09 + dbbw $00, 4, .OAMData_04 ; BATTLEANIMOAMSET_0A + dbbw $02, 4, .OAMData_03 ; BATTLEANIMOAMSET_0B + dbbw $06, 2, .OAMData_0c ; BATTLEANIMOAMSET_0C + dbbw $07, 2, .OAMData_0c ; BATTLEANIMOAMSET_0D + dbbw $02, 4, .OAMData_04 ; BATTLEANIMOAMSET_0E + dbbw $04, 1, .OAMData_0f ; BATTLEANIMOAMSET_0F + dbbw $05, 1, .OAMData_0f ; BATTLEANIMOAMSET_10 + dbbw $00, 2, .OAMData_11 ; BATTLEANIMOAMSET_11 + dbbw $02, 2, .OAMData_11 ; BATTLEANIMOAMSET_12 + dbbw $00, 4, .OAMData_13 ; BATTLEANIMOAMSET_13 + dbbw $00, 1, .OAMData_0f ; BATTLEANIMOAMSET_14 + dbbw $01, 1, .OAMData_0f ; BATTLEANIMOAMSET_15 + dbbw $02, 1, .OAMData_0f ; BATTLEANIMOAMSET_16 + dbbw $03, 1, .OAMData_0f ; BATTLEANIMOAMSET_17 + dbbw $00, 4, .OAMData_02 ; BATTLEANIMOAMSET_18 + dbbw $01, 16, .OAMData_00 ; BATTLEANIMOAMSET_19 + dbbw $05, 16, .OAMData_00 ; BATTLEANIMOAMSET_1A + dbbw $00, 4, .OAMData_03 ; BATTLEANIMOAMSET_1B + dbbw $05, 12, .OAMData_1c ; BATTLEANIMOAMSET_1C + dbbw $02, 4, .OAMData_02 ; BATTLEANIMOAMSET_1D + dbbw $06, 1, .OAMData_0f ; BATTLEANIMOAMSET_1E + dbbw $07, 1, .OAMData_0f ; BATTLEANIMOAMSET_1F + dbbw $08, 1, .OAMData_0f ; BATTLEANIMOAMSET_20 + dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_21 + dbbw $09, 22, .OAMData_22 ; BATTLEANIMOAMSET_22 + dbbw $04, 2, .OAMData_11 ; BATTLEANIMOAMSET_23 + dbbw $06, 2, .OAMData_11 ; BATTLEANIMOAMSET_24 + dbbw $0c, 1, .OAMData_0f ; BATTLEANIMOAMSET_25 + dbbw $0a, 1, .OAMData_0f ; BATTLEANIMOAMSET_26 + dbbw $0b, 4, .OAMData_02 ; BATTLEANIMOAMSET_27 + dbbw $08, 4, .OAMData_04 ; BATTLEANIMOAMSET_28 + dbbw $06, 4, .OAMData_04 ; BATTLEANIMOAMSET_29 + dbbw $00, 5, .OAMData_2a ; BATTLEANIMOAMSET_2A + dbbw $03, 6, .OAMData_2b ; BATTLEANIMOAMSET_2B + dbbw $00, 7, .OAMData_2c ; BATTLEANIMOAMSET_2C + dbbw $03, 8, .OAMData_2d ; BATTLEANIMOAMSET_2D + dbbw $00, 9, .OAMData_2e ; BATTLEANIMOAMSET_2E + dbbw $00, 4, .OAMData_2f ; BATTLEANIMOAMSET_2F + dbbw $02, 4, .OAMData_30 ; BATTLEANIMOAMSET_30 + dbbw $04, 6, .OAMData_31 ; BATTLEANIMOAMSET_31 + dbbw $00, 2, .OAMData_32 ; BATTLEANIMOAMSET_32 + dbbw $00, 7, .OAMData_33 ; BATTLEANIMOAMSET_33 + dbbw $00, 14, .OAMData_32 ; BATTLEANIMOAMSET_34 + dbbw $00, 21, .OAMData_33 ; BATTLEANIMOAMSET_35 + dbbw $00, 2, .OAMData_36 ; BATTLEANIMOAMSET_36 + dbbw $00, 6, .OAMData_36 ; BATTLEANIMOAMSET_37 + dbbw $00, 10, .OAMData_36 ; BATTLEANIMOAMSET_38 + dbbw $00, 14, .OAMData_36 ; BATTLEANIMOAMSET_39 + dbbw $00, 2, .OAMData_3a ; BATTLEANIMOAMSET_3A + dbbw $00, 6, .OAMData_3a ; BATTLEANIMOAMSET_3B + dbbw $00, 10, .OAMData_3a ; BATTLEANIMOAMSET_3C + dbbw $00, 14, .OAMData_3a ; BATTLEANIMOAMSET_3D + dbbw $00, 4, .OAMData_3e ; BATTLEANIMOAMSET_3E + dbbw $00, 16, .OAMData_3e ; BATTLEANIMOAMSET_3F + dbbw $00, 26, .OAMData_3e ; BATTLEANIMOAMSET_40 + dbbw $00, 26, .OAMData_41 ; BATTLEANIMOAMSET_41 + dbbw $0e, 4, .OAMData_42 ; BATTLEANIMOAMSET_42 + dbbw $0e, 8, .OAMData_42 ; BATTLEANIMOAMSET_43 + dbbw $0e, 4, .OAMData_44 ; BATTLEANIMOAMSET_44 + dbbw $0e, 8, .OAMData_44 ; BATTLEANIMOAMSET_45 + dbbw $0e, 4, .OAMData_46 ; BATTLEANIMOAMSET_46 + dbbw $0e, 4, .OAMData_47 ; BATTLEANIMOAMSET_47 + dbbw $00, 6, .OAMData_48 ; BATTLEANIMOAMSET_48 + dbbw $03, 4, .OAMData_49 ; BATTLEANIMOAMSET_49 + dbbw $03, 2, .OAMData_4a ; BATTLEANIMOAMSET_4A + dbbw $01, 5, .OAMData_0f ; BATTLEANIMOAMSET_4B + dbbw $01, 6, .OAMData_4c ; BATTLEANIMOAMSET_4C + dbbw $01, 7, .OAMData_4d ; BATTLEANIMOAMSET_4D + dbbw $01, 3, .OAMData_4d ; BATTLEANIMOAMSET_4E + dbbw $01, 8, .OAMData_4f ; BATTLEANIMOAMSET_4F + dbbw $01, 9, .OAMData_50 ; BATTLEANIMOAMSET_50 + dbbw $01, 10, .OAMData_51 ; BATTLEANIMOAMSET_51 + dbbw $01, 6, .OAMData_51 ; BATTLEANIMOAMSET_52 + dbbw $00, 9, .OAMData_01 ; BATTLEANIMOAMSET_53 + dbbw $04, 4, .OAMData_02 ; BATTLEANIMOAMSET_54 + dbbw $05, 4, .OAMData_02 ; BATTLEANIMOAMSET_55 + dbbw $00, 2, .OAMData_56 ; BATTLEANIMOAMSET_56 + dbbw $02, 2, .OAMData_56 ; BATTLEANIMOAMSET_57 + dbbw $04, 2, .OAMData_56 ; BATTLEANIMOAMSET_58 + dbbw $02, 4, .OAMData_59 ; BATTLEANIMOAMSET_59 + dbbw $02, 4, .OAMData_5a ; BATTLEANIMOAMSET_5A + dbbw $02, 2, .OAMData_0c ; BATTLEANIMOAMSET_5B + dbbw $04, 2, .OAMData_0c ; BATTLEANIMOAMSET_5C + dbbw $06, 4, .OAMData_5d ; BATTLEANIMOAMSET_5D + dbbw $08, 2, .OAMData_0c ; BATTLEANIMOAMSET_5E + dbbw $09, 2, .OAMData_0c ; BATTLEANIMOAMSET_5F + dbbw $05, 2, .OAMData_60 ; BATTLEANIMOAMSET_60 + dbbw $00, 2, .OAMData_61 ; BATTLEANIMOAMSET_61 + dbbw $00, 5, .OAMData_61 ; BATTLEANIMOAMSET_62 + dbbw $00, 9, .OAMData_61 ; BATTLEANIMOAMSET_63 + dbbw $09, 9, .OAMData_61 ; BATTLEANIMOAMSET_64 + dbbw $00, 4, .OAMData_65 ; BATTLEANIMOAMSET_65 + dbbw $00, 7, .OAMData_65 ; BATTLEANIMOAMSET_66 + dbbw $00, 9, .OAMData_65 ; BATTLEANIMOAMSET_67 + dbbw $09, 9, .OAMData_65 ; BATTLEANIMOAMSET_68 + dbbw $04, 1, .OAMData_69 ; BATTLEANIMOAMSET_69 + dbbw $05, 2, .OAMData_6a ; BATTLEANIMOAMSET_6A + dbbw $06, 4, .OAMData_03 ; BATTLEANIMOAMSET_6B + dbbw $0a, 4, .OAMData_03 ; BATTLEANIMOAMSET_6C + dbbw $0e, 4, .OAMData_03 ; BATTLEANIMOAMSET_6D + dbbw $08, 5, .OAMData_6e ; BATTLEANIMOAMSET_6E + dbbw $0d, 3, .OAMData_6f ; BATTLEANIMOAMSET_6F + dbbw $01, 8, .OAMData_70 ; BATTLEANIMOAMSET_70 + dbbw $03, 8, .OAMData_70 ; BATTLEANIMOAMSET_71 + dbbw $05, 8, .OAMData_70 ; BATTLEANIMOAMSET_72 + dbbw $07, 8, .OAMData_70 ; BATTLEANIMOAMSET_73 + dbbw $06, 4, .OAMData_02 ; BATTLEANIMOAMSET_74 + dbbw $07, 4, .OAMData_02 ; BATTLEANIMOAMSET_75 + dbbw $0a, 2, .OAMData_76 ; BATTLEANIMOAMSET_76 + dbbw $00, 1, .OAMData_77 ; BATTLEANIMOAMSET_77 + dbbw $00, 3, .OAMData_78 ; BATTLEANIMOAMSET_78 + dbbw $00, 6, .OAMData_79 ; BATTLEANIMOAMSET_79 + dbbw $00, 9, .OAMData_7a ; BATTLEANIMOAMSET_7A + dbbw $00, 12, .OAMData_7b ; BATTLEANIMOAMSET_7B + dbbw $00, 14, .OAMData_7c ; BATTLEANIMOAMSET_7C + dbbw $00, 15, .OAMData_7d ; BATTLEANIMOAMSET_7D + dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_7E + dbbw $08, 4, .OAMData_03 ; BATTLEANIMOAMSET_7F + dbbw $0d, 1, .OAMData_0f ; BATTLEANIMOAMSET_80 + dbbw $0e, 4, .OAMData_81 ; BATTLEANIMOAMSET_81 + dbbw $10, 1, .OAMData_0f ; BATTLEANIMOAMSET_82 + dbbw $11, 1, .OAMData_0f ; BATTLEANIMOAMSET_83 + dbbw $04, 2, .OAMData_6a ; BATTLEANIMOAMSET_84 + dbbw $05, 2, .OAMData_6a ; BATTLEANIMOAMSET_85 + dbbw $0a, 4, .OAMData_04 ; BATTLEANIMOAMSET_86 + dbbw $00, 8, .OAMData_87 ; BATTLEANIMOAMSET_87 + dbbw $00, 12, .OAMData_88 ; BATTLEANIMOAMSET_88 + dbbw $00, 16, .OAMData_87 ; BATTLEANIMOAMSET_89 + dbbw $09, 2, .OAMData_8a ; BATTLEANIMOAMSET_8A + dbbw $09, 4, .OAMData_8a ; BATTLEANIMOAMSET_8B + dbbw $09, 6, .OAMData_8a ; BATTLEANIMOAMSET_8C + dbbw $09, 8, .OAMData_8a ; BATTLEANIMOAMSET_8D + dbbw $12, 5, .OAMData_8e ; BATTLEANIMOAMSET_8E + dbbw $00, 4, .OAMData_8f ; BATTLEANIMOAMSET_8F + dbbw $04, 4, .OAMData_8f ; BATTLEANIMOAMSET_90 + dbbw $08, 4, .OAMData_8f ; BATTLEANIMOAMSET_91 + dbbw $0c, 4, .OAMData_8f ; BATTLEANIMOAMSET_92 + dbbw $00, 6, .OAMData_93 ; BATTLEANIMOAMSET_93 + dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_94 + dbbw $0a, 4, .OAMData_04 ; BATTLEANIMOAMSET_95 + dbbw $15, 4, .OAMData_30 ; BATTLEANIMOAMSET_96 + dbbw $04, 4, .OAMData_30 ; BATTLEANIMOAMSET_97 + dbbw $0c, 4, .OAMData_04 ; BATTLEANIMOAMSET_98 + dbbw $0a, 4, .OAMData_99 ; BATTLEANIMOAMSET_99 + dbbw $0c, 4, .OAMData_03 ; BATTLEANIMOAMSET_9A + dbbw $00, 36, .OAMData_9b ; BATTLEANIMOAMSET_9B + dbbw $0d, 2, .OAMData_9c ; BATTLEANIMOAMSET_9C + dbbw $0d, 4, .OAMData_9c ; BATTLEANIMOAMSET_9D + dbbw $0d, 6, .OAMData_9c ; BATTLEANIMOAMSET_9E + dbbw $02, 8, .OAMData_9f ; BATTLEANIMOAMSET_9F + dbbw $08, 7, .OAMData_a0 ; BATTLEANIMOAMSET_A0 + dbbw $08, 5, .OAMData_a0 ; BATTLEANIMOAMSET_A1 + dbbw $08, 3, .OAMData_a0 ; BATTLEANIMOAMSET_A2 + dbbw $00, 16, .OAMData_1c ; BATTLEANIMOAMSET_A3 + dbbw $00, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A4 + dbbw $06, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A5 + dbbw $0c, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A6 + dbbw $12, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A7 + dbbw $18, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A8 + dbbw $1e, 9, .OAMData_a4 ; BATTLEANIMOAMSET_A9 + dbbw $24, 9, .OAMData_a4 ; BATTLEANIMOAMSET_AA + dbbw $2a, 9, .OAMData_a4 ; BATTLEANIMOAMSET_AB + dbbw $03, 4, .OAMData_ac ; BATTLEANIMOAMSET_AC + dbbw $12, 4, .OAMData_03 ; BATTLEANIMOAMSET_AD + dbbw $10, 4, .OAMData_04 ; BATTLEANIMOAMSET_AE + dbbw $16, 1, .OAMData_0f ; BATTLEANIMOAMSET_AF + dbbw $17, 4, .OAMData_02 ; BATTLEANIMOAMSET_B0 + dbbw $18, 4, .OAMData_03 ; BATTLEANIMOAMSET_B1 + dbbw $1c, 4, .OAMData_03 ; BATTLEANIMOAMSET_B2 + dbbw $20, 3, .OAMData_03 ; BATTLEANIMOAMSET_B3 + dbbw $23, 4, .OAMData_04 ; BATTLEANIMOAMSET_B4 + dbbw $25, 3, .OAMData_03 ; BATTLEANIMOAMSET_B5 + dbbw $17, 4, .OAMData_03 ; BATTLEANIMOAMSET_B6 + dbbw $0a, 16, .OAMData_00 ; BATTLEANIMOAMSET_B7 + dbbw $10, 16, .OAMData_1c ; BATTLEANIMOAMSET_B8 + dbbw $00, 16, .OAMData_1c ; BATTLEANIMOAMSET_B9 + dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_BA + dbbw $08, 2, .OAMData_11 ; BATTLEANIMOAMSET_BB + dbbw $20, 6, .OAMData_bc ; BATTLEANIMOAMSET_BC + dbbw $08, 1, .OAMData_0f ; BATTLEANIMOAMSET_BD + dbbw $04, 4, .OAMData_03 ; BATTLEANIMOAMSET_BE + dbbw $1a, 4, .OAMData_30 ; BATTLEANIMOAMSET_BF + dbbw $16, 9, .OAMData_01 ; BATTLEANIMOAMSET_C0 + dbbw $10, 16, .OAMData_c1 ; BATTLEANIMOAMSET_C1 + dbbw $09, 6, .OAMData_c2 ; BATTLEANIMOAMSET_C2 + dbbw $11, 9, .OAMData_c3 ; BATTLEANIMOAMSET_C3 + dbbw $0e, 4, .OAMData_03 ; BATTLEANIMOAMSET_C4 + dbbw $0b, 4, .OAMData_30 ; BATTLEANIMOAMSET_C5 + dbbw $1c, 6, .OAMData_02 ; BATTLEANIMOAMSET_C6 + dbbw $20, 16, .OAMData_c1 ; BATTLEANIMOAMSET_C7 + dbbw $05, 6, .OAMData_c8 ; BATTLEANIMOAMSET_C8 + dbbw $0b, 4, .OAMData_03 ; BATTLEANIMOAMSET_C9 + dbbw $09, 4, .OAMData_ca ; BATTLEANIMOAMSET_CA + dbbw $0b, 4, .OAMData_04 ; BATTLEANIMOAMSET_CB + dbbw $11, 13, .OAMData_cc ; BATTLEANIMOAMSET_CC + dbbw $00, 9, .OAMData_c3 ; BATTLEANIMOAMSET_CD + dbbw $09, 9, .OAMData_c3 ; BATTLEANIMOAMSET_CE + dbbw $00, 12, .OAMData_cf ; BATTLEANIMOAMSET_CF + dbbw $06, 12, .OAMData_cf ; BATTLEANIMOAMSET_D0 + dbbw $0c, 12, .OAMData_cf ; BATTLEANIMOAMSET_D1 + dbbw $12, 12, .OAMData_cf ; BATTLEANIMOAMSET_D2 + dbbw $00, 13, .OAMData_cc ; BATTLEANIMOAMSET_D3 + dbbw $00, 7, .OAMData_d4 ; BATTLEANIMOAMSET_D4 + dbbw $00, 6, .OAMData_d5 ; BATTLEANIMOAMSET_D5 + dbbw $00, 14, .OAMData_d6 ; BATTLEANIMOAMSET_D6 + dbbw $00, 12, .OAMData_d7 ; BATTLEANIMOAMSET_D7 + +.OAMData_11: + dsprite -1, 0, -1, 4, $00, $00 + dsprite 0, 0, -1, 4, $01, $00 + +.OAMData_56: + dsprite -1, 4, -1, 0, $00, $00 + dsprite -1, 4, 0, 0, $01, $00 + +.OAMData_03: + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $01, $00 + dsprite 0, 0, -1, 0, $02, $00 + dsprite 0, 0, 0, 0, $03, $00 + +.OAMData_02: + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $00, $20 + dsprite 0, 0, -1, 0, $00, $40 + dsprite 0, 0, 0, 0, $00, $60 + +.OAMData_c3: + dsprite -2, 4, -2, 4, $00, $00 + dsprite -2, 4, -1, 4, $01, $00 + dsprite -2, 4, 0, 4, $02, $00 + dsprite -1, 4, -2, 4, $03, $00 + dsprite -1, 4, -1, 4, $04, $00 + dsprite -1, 4, 0, 4, $05, $00 + dsprite 0, 4, -2, 4, $06, $00 + dsprite 0, 4, -1, 4, $07, $00 + dsprite 0, 4, 0, 4, $08, $00 + +.OAMData_01: + dsprite -2, 4, -2, 4, $00, $00 + dsprite -2, 4, -1, 4, $01, $00 + dsprite -2, 4, 0, 4, $00, $20 + dsprite -1, 4, -2, 4, $02, $00 + dsprite -1, 4, -1, 4, $03, $00 + dsprite -1, 4, 0, 4, $02, $60 + dsprite 0, 4, -2, 4, $00, $40 + dsprite 0, 4, -1, 4, $01, $60 + dsprite 0, 4, 0, 4, $00, $60 + +.OAMData_cf: + dsprite -2, 0, -2, 4, $00, $00 + dsprite -2, 0, -1, 4, $01, $00 + dsprite -2, 0, 0, 4, $02, $00 + dsprite -1, 0, -2, 4, $03, $00 + dsprite -1, 0, -1, 4, $04, $00 + dsprite -1, 0, 0, 4, $05, $00 + dsprite 0, 0, -2, 4, $05, $60 + dsprite 0, 0, -1, 4, $04, $60 + dsprite 0, 0, 0, 4, $03, $60 + dsprite 1, 0, -2, 4, $02, $60 + dsprite 1, 0, -1, 4, $01, $60 + dsprite 1, 0, 0, 4, $00, $60 + +.OAMData_1c: + dsprite -2, 0, -2, 0, $00, $00 + dsprite -2, 0, -1, 0, $01, $00 + dsprite -2, 0, 0, 0, $02, $00 + dsprite -2, 0, 1, 0, $03, $00 + dsprite -1, 0, -2, 0, $04, $00 + dsprite -1, 0, -1, 0, $05, $00 + dsprite -1, 0, 0, 0, $06, $00 + dsprite -1, 0, 1, 0, $07, $00 + dsprite 0, 0, -2, 0, $08, $00 + dsprite 0, 0, -1, 0, $09, $00 + dsprite 0, 0, 0, 0, $0a, $00 + dsprite 0, 0, 1, 0, $0b, $00 + dsprite 1, 0, -2, 0, $0c, $00 + dsprite 1, 0, -1, 0, $0d, $00 + dsprite 1, 0, 0, 0, $0e, $00 + dsprite 1, 0, 1, 0, $0f, $00 + +.OAMData_00: + dsprite -2, 0, -2, 0, $00, $00 + dsprite -2, 0, -1, 0, $01, $00 + dsprite -1, 0, -2, 0, $02, $00 + dsprite -1, 0, -1, 0, $03, $00 + dsprite -2, 0, 0, 0, $01, $20 + dsprite -2, 0, 1, 0, $00, $20 + dsprite -1, 0, 0, 0, $03, $20 + dsprite -1, 0, 1, 0, $02, $20 + dsprite 0, 0, -2, 0, $02, $40 + dsprite 0, 0, -1, 0, $03, $40 + dsprite 1, 0, -2, 0, $00, $40 + dsprite 1, 0, -1, 0, $01, $40 + dsprite 0, 0, 0, 0, $03, $60 + dsprite 0, 0, 1, 0, $02, $60 + dsprite 1, 0, 0, 0, $01, $60 + dsprite 1, 0, 1, 0, $00, $60 + +.OAMData_09: + dsprite -3, 4, -3, 4, $00, $00 + dsprite -3, 4, -2, 4, $01, $00 + dsprite -2, 4, -3, 4, $02, $00 + dsprite -2, 4, -2, 4, $03, $00 + dsprite -3, 4, 0, 4, $01, $20 + dsprite -3, 4, 1, 4, $00, $20 + dsprite -2, 4, 0, 4, $03, $20 + dsprite -2, 4, 1, 4, $02, $20 + dsprite 0, 4, -3, 4, $02, $40 + dsprite 0, 4, -2, 4, $03, $40 + dsprite 1, 4, -3, 4, $00, $40 + dsprite 1, 4, -2, 4, $01, $40 + dsprite 0, 4, 0, 4, $03, $60 + dsprite 0, 4, 1, 4, $02, $60 + dsprite 1, 4, 0, 4, $01, $60 + dsprite 1, 4, 1, 4, $00, $60 + +.OAMData_0c: + dsprite -1, 4, -1, 0, $00, $00 + dsprite -1, 4, 0, 0, $00, $20 + +.OAMData_6a: + dsprite 0, 0, -1, 0, $00, $00 + dsprite 0, 0, 0, 0, $00, $20 + +.OAMData_04: + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $00, $20 + dsprite 0, 0, -1, 0, $01, $00 + dsprite 0, 0, 0, 0, $01, $20 + +.OAMData_5d: + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $01, $00 + dsprite 0, 0, -1, 0, $00, $40 + dsprite 0, 0, 0, 0, $01, $40 + +.OAMData_13: + dsprite -1, 2, -1, 0, $02, $00 + dsprite 0, 2, -1, 0, $03, $00 + dsprite -2, 6, 0, 0, $02, $00 + dsprite -1, 6, 0, 0, $03, $00 + +.OAMData_22: + dsprite 1, 0, -11, 0, $01, $00 + dsprite 0, 0, -10, 0, $02, $00 + dsprite 0, 0, -9, 0, $03, $00 + dsprite 0, 0, -8, 0, $00, $00 + dsprite 0, 0, -7, 0, $03, $00 + dsprite 0, 0, -6, 0, $00, $00 + dsprite 0, 0, -5, 0, $03, $00 + dsprite 0, 0, -4, 0, $00, $00 + dsprite 0, 0, -3, 0, $03, $00 + dsprite 0, 0, -2, 0, $00, $00 + dsprite 0, 0, -1, 0, $01, $00 + dsprite -1, 0, 0, 0, $02, $00 + dsprite -1, 0, 1, 0, $03, $00 + dsprite -1, 0, 2, 0, $00, $00 + dsprite -1, 0, 3, 0, $03, $00 + dsprite -1, 0, 4, 0, $00, $00 + dsprite -1, 0, 5, 0, $03, $00 + dsprite -1, 0, 6, 0, $00, $00 + dsprite -1, 0, 7, 0, $03, $00 + dsprite -1, 0, 8, 0, $00, $00 + dsprite -1, 0, 9, 0, $01, $00 + dsprite -2, 0, 10, 0, $02, $00 + +.OAMData_2a: + dsprite -3, 4, -1, 0, $00, $00 + dsprite -3, 4, 0, 0, $00, $20 + dsprite -2, 4, -1, 0, $01, $00 + dsprite -2, 4, 0, 0, $01, $20 + dsprite -1, 4, -1, 4, $02, $00 + +.OAMData_2b: + dsprite -4, 4, -1, 0, $00, $00 + dsprite -4, 4, 0, 0, $00, $20 + dsprite -3, 4, -1, 0, $01, $00 + dsprite -3, 4, 0, 0, $01, $20 + dsprite -2, 4, -1, 4, $02, $00 + dsprite -1, 4, -1, 4, $02, $00 + +.OAMData_2c: + dsprite -5, 4, -1, 0, $00, $00 + dsprite -5, 4, 0, 0, $00, $20 + dsprite -4, 4, -1, 0, $01, $00 + dsprite -4, 4, 0, 0, $01, $20 + dsprite -3, 4, -1, 4, $02, $00 + dsprite -2, 4, -1, 4, $02, $00 + dsprite -1, 4, -1, 4, $02, $00 + +.OAMData_2d: + dsprite -6, 4, -1, 0, $00, $00 + dsprite -6, 4, 0, 0, $00, $20 + dsprite -5, 4, -1, 0, $01, $00 + dsprite -5, 4, 0, 0, $01, $20 + dsprite -4, 4, -1, 4, $02, $00 + dsprite -3, 4, -1, 4, $02, $00 + dsprite -2, 4, -1, 4, $02, $00 + dsprite -1, 4, -1, 4, $02, $00 + +.OAMData_2e: + dsprite -7, 4, -1, 0, $00, $00 + dsprite -7, 4, 0, 0, $00, $20 + dsprite -6, 4, -1, 0, $01, $00 + dsprite -6, 4, 0, 0, $01, $20 + dsprite -5, 4, -1, 4, $02, $00 + dsprite -4, 4, -1, 4, $02, $00 + dsprite -3, 4, -1, 4, $02, $00 + dsprite -2, 4, -1, 4, $02, $00 + dsprite -1, 4, -1, 4, $02, $00 + +.OAMData_2f: + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $00, $20 + dsprite 0, 0, -1, 0, $01, $00 + dsprite 0, 0, 0, 0, $00, $60 + +.OAMData_30: + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $01, $00 + dsprite 0, 0, -1, 0, $01, $60 + dsprite 0, 0, 0, 0, $00, $60 + +.OAMData_31: + dsprite -2, 4, -1, 0, $00, $00 + dsprite -2, 4, 0, 0, $01, $00 + dsprite -1, 4, -1, 0, $02, $00 + dsprite -1, 4, 0, 0, $03, $00 + dsprite 0, 4, -1, 0, $04, $00 + dsprite 0, 4, 0, 0, $05, $00 + +.OAMData_76: + dsprite -1, 5, -1, 0, $00, $00 + dsprite -1, 1, 0, 0, $00, $00 + +.OAMData_32: + dsprite -1, 0, -2, 4, $00, $00 + dsprite -1, 0, 0, 4, $00, $00 + dsprite -3, 0, -2, 4, $00, $00 + dsprite -3, 0, 0, 4, $00, $00 + dsprite -2, 0, -3, 4, $00, $00 + dsprite -2, 0, -2, 4, $01, $00 + dsprite -2, 0, -1, 4, $00, $00 + dsprite -2, 0, 0, 4, $01, $00 + dsprite -2, 0, 1, 4, $00, $00 + dsprite -1, 0, -4, 4, $00, $00 + dsprite -1, 0, -3, 4, $01, $00 + dsprite -1, 0, -1, 4, $01, $00 + dsprite -1, 0, 1, 4, $01, $00 + dsprite -1, 0, 2, 4, $00, $00 + +.OAMData_33: + dsprite -2, 0, -2, 4, $00, $00 + dsprite -2, 0, 0, 4, $00, $00 + dsprite -1, 0, -3, 4, $00, $00 + dsprite -1, 0, -2, 4, $01, $00 + dsprite -1, 0, -1, 4, $00, $00 + dsprite -1, 0, 0, 4, $01, $00 + dsprite -1, 0, 1, 4, $00, $00 + dsprite -4, 0, -2, 4, $00, $00 + dsprite -4, 0, 0, 4, $00, $00 + dsprite -3, 0, -3, 4, $00, $00 + dsprite -3, 0, -2, 4, $01, $00 + dsprite -3, 0, -1, 4, $00, $00 + dsprite -3, 0, 0, 4, $01, $00 + dsprite -3, 0, 1, 4, $00, $00 + dsprite -2, 0, -4, 4, $00, $00 + dsprite -2, 0, -3, 4, $01, $00 + dsprite -2, 0, -1, 4, $01, $00 + dsprite -2, 0, 1, 4, $01, $00 + dsprite -2, 0, 2, 4, $00, $00 + dsprite -1, 0, -4, 4, $01, $00 + dsprite -1, 0, 2, 4, $01, $00 + +.OAMData_36: + dsprite -7, 4, -1, 0, $00, $00 + dsprite -7, 4, 0, 0, $01, $00 + dsprite -6, 4, -1, 0, $02, $00 + dsprite -6, 4, 0, 0, $03, $00 + dsprite -5, 4, -1, 0, $04, $00 + dsprite -5, 4, 0, 0, $05, $00 + dsprite -4, 4, -1, 0, $06, $00 + dsprite -4, 4, 0, 0, $07, $00 + dsprite -3, 4, -1, 0, $08, $00 + dsprite -3, 4, 0, 0, $09, $00 + dsprite -2, 4, -1, 0, $0a, $00 + dsprite -2, 4, 0, 0, $0b, $00 + dsprite -1, 4, -1, 0, $0c, $00 + dsprite -1, 4, 0, 0, $0d, $00 + +.OAMData_3a: + dsprite -7, 4, -1, 0, $0c, $00 + dsprite -7, 4, 0, 0, $0d, $00 + dsprite -6, 4, -1, 0, $08, $00 + dsprite -6, 4, 0, 0, $09, $00 + dsprite -5, 4, -1, 0, $04, $00 + dsprite -5, 4, 0, 0, $05, $00 + dsprite -4, 4, -1, 0, $00, $00 + dsprite -4, 4, 0, 0, $01, $00 + dsprite -3, 4, -1, 0, $02, $00 + dsprite -3, 4, 0, 0, $03, $00 + dsprite -2, 4, 0, 0, $02, $00 + dsprite -2, 4, 1, 0, $03, $00 + dsprite -1, 4, 0, 0, $0a, $00 + dsprite -1, 4, 1, 0, $0b, $00 + +.OAMData_3e: + dsprite 1, 4, -2, 0, $00, $40 + dsprite 1, 4, -1, 0, $02, $40 + dsprite 1, 4, 0, 0, $02, $60 + dsprite 1, 4, 1, 0, $00, $60 + dsprite -1, 4, -3, 0, $09, $20 + dsprite -1, 4, -2, 0, $08, $20 + dsprite -1, 4, -1, 0, $06, $00 + dsprite -1, 4, 0, 0, $07, $00 + dsprite -1, 4, 1, 0, $08, $00 + dsprite -1, 4, 2, 0, $09, $00 + dsprite 0, 4, -3, 0, $01, $20 + dsprite 0, 4, -2, 0, $00, $20 + dsprite 0, 4, -1, 0, $0c, $00 + dsprite 0, 4, 0, 0, $0d, $00 + dsprite 0, 4, 1, 0, $00, $00 + dsprite 0, 4, 2, 0, $01, $00 + dsprite -3, 4, -2, 0, $00, $00 + dsprite -3, 4, -1, 0, $02, $00 + dsprite -3, 4, 0, 0, $02, $20 + dsprite -3, 4, 1, 0, $00, $20 + dsprite -2, 4, -3, 0, $03, $20 + dsprite -2, 4, -2, 0, $02, $20 + dsprite -2, 4, -1, 0, $04, $00 + dsprite -2, 4, 0, 0, $05, $00 + dsprite -2, 4, 1, 0, $02, $00 + dsprite -2, 4, 2, 0, $03, $00 + +.OAMData_41: + dsprite -3, 4, -2, 0, $00, $00 + dsprite -3, 4, -1, 0, $02, $00 + dsprite -3, 4, 0, 0, $02, $20 + dsprite -3, 4, 1, 0, $00, $20 + dsprite -2, 4, -3, 4, $00, $00 + dsprite -2, 4, -2, 4, $01, $00 + dsprite -2, 4, -1, 0, $05, $20 + dsprite -2, 4, 0, 0, $04, $20 + dsprite -2, 4, 0, 4, $01, $20 + dsprite -2, 4, 1, 4, $00, $20 + dsprite -1, 4, -3, 4, $02, $00 + dsprite -1, 4, -2, 4, $03, $00 + dsprite -1, 4, -1, 0, $07, $20 + dsprite -1, 4, 0, 0, $06, $20 + dsprite -1, 4, 0, 4, $03, $20 + dsprite -1, 4, 1, 4, $02, $20 + dsprite 0, 4, -3, 4, $04, $00 + dsprite 0, 4, -2, 4, $05, $00 + dsprite 0, 4, -1, 0, $0d, $20 + dsprite 0, 4, 0, 0, $0c, $20 + dsprite 0, 4, 0, 4, $05, $20 + dsprite 0, 4, 1, 4, $04, $20 + dsprite 1, 4, -2, 0, $00, $40 + dsprite 1, 4, -1, 0, $02, $40 + dsprite 1, 4, 0, 0, $02, $60 + dsprite 1, 4, 1, 0, $00, $60 + +.OAMData_42: + dsprite -3, 0, -1, 4, $02, $00 + dsprite 2, 0, -1, 4, $02, $60 + dsprite -1, 4, -3, 0, $01, $00 + dsprite -1, 4, 2, 0, $01, $60 + dsprite -4, 0, -1, 4, $02, $00 + dsprite 3, 0, -1, 4, $02, $60 + dsprite -1, 4, -4, 0, $01, $00 + dsprite -1, 4, 3, 0, $01, $60 + +.OAMData_44: + dsprite -3, 5, -3, 5, $00, $20 + dsprite -3, 5, 1, 3, $00, $00 + dsprite 1, 3, -3, 5, $00, $60 + dsprite 1, 3, 1, 3, $00, $40 + dsprite -4, 5, -4, 5, $00, $20 + dsprite -4, 5, 2, 3, $00, $00 + dsprite 2, 3, -4, 5, $00, $60 + dsprite 2, 3, 2, 3, $00, $40 + +.OAMData_46: + dsprite -3, 4, -1, 4, $02, $00 + dsprite 1, 4, -1, 4, $02, $60 + dsprite -1, 4, -3, 4, $01, $00 + dsprite -1, 4, 1, 4, $01, $60 + +.OAMData_47: + dsprite -2, 0, -2, 0, $00, $20 + dsprite -2, 0, 1, 0, $00, $00 + dsprite 1, 0, -2, 0, $00, $60 + dsprite 1, 0, 1, 0, $00, $40 + +.OAMData_48: + dsprite -3, 0, -1, 4, $00, $00 + dsprite -2, 0, -1, 2, $00, $00 + dsprite -1, 0, -1, 0, $00, $00 + dsprite 0, 0, -1, 0, $00, $00 + dsprite 1, 0, -1, 2, $00, $00 + dsprite 2, 0, -1, 4, $00, $00 + +.OAMData_49: + dsprite -1, 4, -2, 0, $00, $20 + dsprite -1, 2, -1, 0, $00, $20 + dsprite -1, 2, 0, 0, $00, $00 + dsprite -1, 4, 1, 0, $00, $00 + +.OAMData_4a: + dsprite -1, 4, -1, 0, $00, $60 + dsprite -1, 4, 0, 0, $00, $40 + +.OAMData_0f: + dsprite -1, 4, -1, 4, $00, $00 + dsprite -1, 4, -2, 4, $01, $00 + dsprite -1, 4, -1, 4, $01, $20 + dsprite 0, 4, -2, 4, $01, $40 + dsprite 0, 4, -1, 4, $01, $60 + +.OAMData_4c: + dsprite -1, 4, -1, 4, $00, $00 + dsprite 0, 2, -2, 6, $00, $00 + dsprite 0, 2, -3, 6, $01, $00 + dsprite 0, 2, -2, 6, $01, $20 + dsprite 1, 2, -3, 6, $01, $40 + dsprite 1, 2, -2, 6, $01, $60 + +.OAMData_4d: + dsprite -1, 4, -1, 4, $00, $00 + dsprite 0, 2, -2, 6, $00, $00 + dsprite 1, 0, -2, 0, $00, $00 + dsprite 1, 0, -3, 0, $01, $00 + dsprite 1, 0, -2, 0, $01, $20 + dsprite 2, 0, -3, 0, $01, $40 + dsprite 2, 0, -2, 0, $01, $60 + +.OAMData_4f: + dsprite -1, 4, -1, 4, $00, $00 + dsprite 0, 2, -2, 6, $00, $00 + dsprite 1, 0, -2, 0, $00, $00 + dsprite 1, 6, -3, 2, $00, $00 + dsprite 1, 6, -4, 2, $01, $00 + dsprite 1, 6, -3, 2, $01, $20 + dsprite 2, 6, -4, 2, $01, $40 + dsprite 2, 6, -3, 2, $01, $60 + +.OAMData_50: + dsprite -1, 4, -1, 4, $00, $00 + dsprite 0, 2, -2, 6, $00, $00 + dsprite 1, 0, -2, 0, $00, $00 + dsprite 1, 6, -3, 2, $00, $00 + dsprite 2, 4, -4, 4, $00, $00 + dsprite 2, 4, -5, 4, $01, $00 + dsprite 2, 4, -4, 4, $01, $20 + dsprite 3, 4, -5, 4, $01, $40 + dsprite 3, 4, -4, 4, $01, $60 + +.OAMData_51: + dsprite -1, 4, -1, 4, $00, $00 + dsprite 0, 2, -2, 6, $00, $00 + dsprite 1, 0, -2, 0, $00, $00 + dsprite 1, 6, -3, 2, $00, $00 + dsprite 2, 4, -4, 4, $00, $00 + dsprite 3, 2, -5, 6, $00, $00 + dsprite 3, 2, -6, 6, $01, $00 + dsprite 3, 2, -5, 6, $01, $20 + dsprite 4, 2, -6, 6, $01, $40 + dsprite 4, 2, -5, 6, $01, $60 + +.OAMData_59: + dsprite -1, 4, -2, 0, $00, $00 + dsprite -1, 4, -1, 0, $01, $00 + dsprite -1, 4, 0, 0, $01, $20 + dsprite -1, 4, 1, 0, $00, $20 + +.OAMData_5a: + dsprite -1, 4, -2, 0, $02, $00 + dsprite -1, 4, -1, 0, $01, $00 + dsprite -1, 4, 0, 0, $01, $20 + dsprite -1, 4, 1, 0, $02, $20 + +.OAMData_60: + dsprite -1, 0, -1, 4, $00, $00 + +.OAMData_69: + dsprite 0, 0, -1, 4, $00, $00 + +.OAMData_61: + dsprite -1, 4, -4, 4, $00, $00 + dsprite -1, 4, -3, 4, $01, $00 + dsprite -1, 4, -2, 4, $02, $00 + dsprite -1, 4, -1, 4, $03, $00 + dsprite -1, 4, 0, 4, $04, $00 + dsprite -1, 4, 1, 4, $05, $00 + dsprite -1, 4, 2, 4, $06, $00 + dsprite -2, 4, 1, 4, $07, $00 + dsprite -2, 4, 2, 4, $08, $00 + +.OAMData_65: + dsprite -2, 4, -4, 4, $08, $20 + dsprite -2, 4, -3, 4, $07, $20 + dsprite -1, 4, -4, 4, $06, $20 + dsprite -1, 4, -3, 4, $05, $20 + dsprite -1, 4, -2, 4, $04, $20 + dsprite -1, 4, -1, 4, $03, $20 + dsprite -1, 4, 0, 4, $02, $20 + dsprite -1, 4, 1, 4, $01, $20 + dsprite -1, 4, 2, 4, $00, $20 + +.OAMData_d4: + dsprite 0, 0, -4, 4, $00, $10 + dsprite 0, 0, -3, 4, $01, $10 + dsprite 0, 0, -2, 4, $02, $10 + dsprite 0, 0, -1, 4, $03, $10 + dsprite 0, 0, 0, 4, $04, $10 + dsprite 0, 0, 1, 4, $05, $10 + dsprite 0, 0, 2, 4, $06, $10 + +.OAMData_d6: + dsprite -1, 0, -4, 4, $00, $10 + dsprite 0, 0, -4, 4, $01, $10 + dsprite -1, 0, -3, 4, $02, $10 + dsprite 0, 0, -3, 4, $03, $10 + dsprite -1, 0, -2, 4, $04, $10 + dsprite 0, 0, -2, 4, $05, $10 + dsprite -1, 0, -1, 4, $06, $10 + dsprite 0, 0, -1, 4, $07, $10 + dsprite -1, 0, 0, 4, $08, $10 + dsprite 0, 0, 0, 4, $09, $10 + dsprite -1, 0, 1, 4, $0a, $10 + dsprite 0, 0, 1, 4, $0b, $10 + dsprite -1, 0, 2, 4, $0c, $10 + dsprite 0, 0, 2, 4, $0d, $10 + +.OAMData_d5: + dsprite 0, 0, -3, 0, $00, $11 + dsprite 0, 0, -2, 0, $01, $11 + dsprite 0, 0, -1, 0, $02, $11 + dsprite 0, 0, 0, 0, $03, $11 + dsprite 0, 0, 1, 0, $04, $11 + dsprite 0, 0, 2, 0, $05, $11 + +.OAMData_d7: + dsprite 0, 0, -3, 0, $00, $11 + dsprite 1, 0, -3, 0, $01, $11 + dsprite 0, 0, -2, 0, $02, $11 + dsprite 1, 0, -2, 0, $03, $11 + dsprite 0, 0, -1, 0, $04, $11 + dsprite 1, 0, -1, 0, $05, $11 + dsprite 0, 0, 0, 0, $06, $11 + dsprite 1, 0, 0, 0, $07, $11 + dsprite 0, 0, 1, 0, $08, $11 + dsprite 1, 0, 1, 0, $09, $11 + dsprite 0, 0, 2, 0, $0a, $11 + dsprite 1, 0, 2, 0, $0b, $11 + +.OAMData_6e: + dsprite -2, 4, 0, 4, $00, $00 + dsprite -1, 4, -2, 4, $01, $00 + dsprite -1, 4, -1, 4, $02, $00 + dsprite -1, 4, 0, 4, $03, $00 + dsprite 0, 4, -2, 4, $04, $00 + +.OAMData_6f: + dsprite -1, 4, -2, 4, $00, $00 + dsprite -1, 4, -1, 4, $01, $00 + dsprite -1, 4, 0, 4, $02, $00 + +.OAMData_77: + dsprite -4, 4, 1, 4, $01, $60 + +.OAMData_78: + dsprite -4, 4, 1, 4, $00, $00 + dsprite -4, 4, 0, 4, $01, $60 + dsprite -3, 4, 1, 4, $01, $60 + +.OAMData_79: + dsprite -4, 4, 1, 4, $01, $00 + dsprite -4, 4, 0, 4, $00, $00 + dsprite -4, 4, -1, 4, $01, $60 + dsprite -3, 4, 1, 4, $00, $00 + dsprite -3, 4, 0, 4, $01, $60 + dsprite -2, 4, 1, 4, $01, $60 + +.OAMData_7a: + dsprite -4, 4, -2, 4, $01, $60 + dsprite -4, 4, -1, 4, $00, $00 + dsprite -4, 4, 0, 4, $01, $00 + dsprite -3, 4, -1, 4, $01, $60 + dsprite -3, 4, 0, 4, $00, $00 + dsprite -3, 4, 1, 4, $01, $00 + dsprite -2, 4, 0, 4, $01, $60 + dsprite -2, 4, 1, 4, $00, $00 + dsprite -1, 4, 1, 4, $01, $60 + +.OAMData_7b: + dsprite -4, 4, -3, 4, $01, $60 + dsprite -4, 4, -2, 4, $00, $00 + dsprite -4, 4, -1, 4, $01, $00 + dsprite -3, 4, -2, 4, $01, $60 + dsprite -3, 4, -1, 4, $00, $00 + dsprite -3, 4, 0, 4, $01, $00 + dsprite -2, 4, -1, 4, $01, $60 + dsprite -2, 4, 0, 4, $00, $00 + dsprite -2, 4, 1, 4, $01, $00 + dsprite -1, 4, 0, 4, $01, $60 + dsprite -1, 4, 1, 4, $00, $00 + dsprite 0, 4, 1, 4, $01, $60 + +.OAMData_7c: + dsprite -4, 4, -3, 4, $00, $00 + dsprite -4, 4, -2, 4, $01, $00 + dsprite -3, 4, -3, 4, $01, $60 + dsprite -3, 4, -2, 4, $00, $00 + dsprite -3, 4, -1, 4, $01, $00 + dsprite -2, 4, -2, 4, $01, $60 + dsprite -2, 4, -1, 4, $00, $00 + dsprite -2, 4, 0, 4, $01, $00 + dsprite -1, 4, -1, 4, $01, $60 + dsprite -1, 4, 0, 4, $00, $00 + dsprite -1, 4, 1, 4, $01, $00 + dsprite 0, 4, 0, 4, $01, $60 + dsprite 0, 4, 1, 4, $00, $00 + dsprite 1, 4, 1, 4, $01, $60 + +.OAMData_7d: + dsprite -4, 4, -3, 4, $01, $00 + dsprite -3, 4, -3, 4, $00, $00 + dsprite -3, 4, -2, 4, $01, $00 + dsprite -2, 4, -3, 4, $01, $60 + dsprite -2, 4, -2, 4, $00, $00 + dsprite -2, 4, -1, 4, $01, $00 + dsprite -1, 4, -2, 4, $01, $60 + dsprite -1, 4, -1, 4, $00, $00 + dsprite -1, 4, 0, 4, $01, $00 + dsprite 0, 4, -1, 4, $01, $60 + dsprite 0, 4, 0, 4, $00, $00 + dsprite 0, 4, 1, 4, $01, $00 + dsprite 1, 4, 0, 4, $01, $60 + dsprite 1, 4, 1, 4, $00, $00 + dsprite 2, 4, 1, 4, $01, $60 + +.OAMData_70: + dsprite -2, 0, -1, 0, $00, $00 + dsprite -1, 0, -1, 0, $01, $00 + dsprite -2, 0, 0, 0, $00, $20 + dsprite -1, 0, 0, 0, $01, $20 + dsprite 0, 0, -1, 0, $01, $40 + dsprite 1, 0, -1, 0, $00, $40 + dsprite 0, 0, 0, 0, $01, $60 + dsprite 1, 0, 0, 0, $00, $60 + +.OAMData_81: + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $01, $00 + dsprite 0, 0, -1, 0, $01, $60 + dsprite 0, 0, 0, 0, $00, $60 + +.OAMData_87: + dsprite -2, 4, -1, 0, $00, $00 + dsprite -2, 4, 0, 0, $01, $00 + dsprite -1, 4, -1, 0, $02, $00 + dsprite -1, 4, 0, 0, $03, $00 + dsprite -1, 4, -1, 0, $00, $00 + dsprite -1, 4, 0, 0, $01, $00 + dsprite 0, 4, -1, 0, $02, $00 + dsprite 0, 4, 0, 0, $03, $00 + dsprite -3, 4, -1, 0, $00, $00 + dsprite -3, 4, 0, 0, $01, $00 + dsprite -2, 4, -1, 0, $02, $00 + dsprite -2, 4, 0, 0, $03, $00 + dsprite 0, 4, -1, 0, $00, $00 + dsprite 0, 4, 0, 0, $01, $00 + dsprite 1, 4, -1, 0, $02, $00 + dsprite 1, 4, 0, 0, $03, $00 + +.OAMData_88: + dsprite -2, 0, -1, 0, $00, $00 + dsprite -2, 0, 0, 0, $01, $00 + dsprite -1, 0, -1, 0, $02, $00 + dsprite -1, 0, 0, 0, $03, $00 + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $01, $00 + dsprite 0, 0, -1, 0, $02, $00 + dsprite 0, 0, 0, 0, $03, $00 + dsprite 0, 0, -1, 0, $00, $00 + dsprite 0, 0, 0, 0, $01, $00 + dsprite 1, 0, -1, 0, $02, $00 + dsprite 1, 0, 0, 0, $03, $00 + +.OAMData_8a: + dsprite -1, 4, -1, 4, $00, $00 + dsprite -1, 0, 0, 4, $00, $00 + dsprite -2, 4, 1, 4, $00, $00 + dsprite -2, 0, 2, 4, $00, $00 + dsprite -3, 4, 3, 4, $00, $00 + dsprite -3, 0, 4, 4, $00, $00 + dsprite -4, 0, 5, 4, $00, $00 + dsprite -5, 4, 6, 4, $00, $00 + +.OAMData_8e: + dsprite -3, 4, -1, 4, $00, $00 + dsprite -2, 4, -1, 4, $01, $00 + dsprite -1, 4, -1, 4, $02, $00 + dsprite 0, 4, -1, 4, $01, $40 + dsprite 1, 4, -1, 4, $00, $40 + +.OAMData_8f: + dsprite -1, 4, -2, 0, $00, $00 + dsprite -1, 4, -1, 0, $01, $00 + dsprite -1, 4, 0, 0, $02, $00 + dsprite -1, 4, 1, 0, $03, $00 + +.OAMData_93: + dsprite -1, 0, -2, 4, $00, $00 + dsprite -1, 0, -1, 4, $01, $00 + dsprite -1, 0, 0, 4, $02, $00 + dsprite 0, 0, -2, 4, $03, $00 + dsprite 0, 0, -1, 4, $04, $00 + dsprite 0, 0, 0, 4, $05, $00 + +.OAMData_99: + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $05, $00 + dsprite 0, 0, -1, 0, $01, $00 + dsprite 0, 0, 0, 0, $05, $00 + +.OAMData_9b: + dsprite -4, 4, 1, 0, $00, $00 + dsprite -4, 4, 2, 0, $01, $00 + dsprite -3, 4, -1, 0, $02, $00 + dsprite -3, 4, 0, 0, $03, $00 + dsprite -3, 4, 1, 0, $04, $00 + dsprite -3, 4, 2, 0, $05, $00 + dsprite -3, 4, 3, 0, $06, $00 + dsprite -2, 4, -2, 0, $07, $00 + dsprite -2, 4, -1, 0, $08, $00 + dsprite -2, 4, 0, 0, $09, $00 + dsprite -2, 4, 1, 0, $0a, $00 + dsprite -2, 4, 2, 0, $0b, $00 + dsprite -2, 4, 3, 0, $0c, $00 + dsprite -2, 4, 4, 0, $0d, $00 + dsprite -1, 4, -3, 0, $0e, $00 + dsprite -1, 4, -2, 0, $0f, $00 + dsprite -1, 4, -1, 0, $10, $00 + dsprite -1, 4, 0, 0, $11, $00 + dsprite -1, 4, 1, 0, $12, $00 + dsprite -1, 4, 2, 0, $13, $00 + dsprite 0, 4, -5, 0, $14, $00 + dsprite 0, 4, -4, 0, $15, $00 + dsprite 0, 4, -3, 0, $16, $00 + dsprite 0, 4, -2, 0, $17, $00 + dsprite 0, 4, -1, 0, $18, $00 + dsprite 0, 4, 0, 0, $19, $00 + dsprite 0, 4, 1, 0, $1a, $00 + dsprite 0, 4, 2, 0, $1b, $00 + dsprite 0, 4, 3, 0, $1c, $00 + dsprite 1, 4, -5, 0, $1d, $00 + dsprite 1, 4, -4, 0, $1e, $00 + dsprite 1, 4, -2, 0, $1f, $00 + dsprite 1, 4, -1, 0, $20, $00 + dsprite 1, 4, 0, 0, $21, $00 + dsprite 1, 4, 1, 0, $22, $00 + dsprite 2, 4, 0, 0, $23, $00 + +.OAMData_9c: + dsprite 0, 4, -1, 0, $02, $00 + dsprite 0, 4, 0, 0, $03, $00 + dsprite -1, 4, -1, 0, $01, $00 + dsprite -1, 4, 0, 0, $01, $20 + dsprite -2, 4, -1, 0, $00, $00 + dsprite -2, 4, 0, 0, $00, $20 + +.OAMData_9f: + dsprite -1, 0, -2, 0, $00, $00 + dsprite -1, 0, -1, 0, $01, $00 + dsprite -1, 0, 0, 0, $02, $00 + dsprite -1, 0, 1, 0, $03, $00 + dsprite 0, 0, -2, 0, $04, $00 + dsprite 0, 0, -1, 0, $05, $00 + dsprite 0, 0, 0, 0, $06, $00 + dsprite 0, 0, 1, 0, $07, $00 + +.OAMData_a0: + dsprite -2, 4, -1, 4, $00, $00 + dsprite -1, 4, -1, 4, $00, $00 + dsprite 0, 4, -1, 4, $00, $00 + dsprite -3, 4, -1, 4, $00, $00 + dsprite 1, 4, -1, 4, $00, $00 + dsprite -4, 4, -1, 4, $00, $00 + dsprite 2, 4, -1, 4, $00, $00 + +.OAMData_a4: + dsprite -2, 4, -2, 4, $00, $00 + dsprite -2, 4, -1, 4, $01, $00 + dsprite -2, 4, 0, 4, $02, $00 + dsprite -1, 4, -2, 4, $03, $00 + dsprite -1, 4, -1, 4, $04, $00 + dsprite -1, 4, 0, 4, $05, $00 + dsprite 0, 4, -2, 4, $00, $40 + dsprite 0, 4, -1, 4, $01, $40 + dsprite 0, 4, 0, 4, $02, $40 + +.OAMData_ac: + dsprite -1, 4, -2, 0, $00, $00 + dsprite -1, 4, -1, 0, $01, $00 + dsprite -1, 4, 0, 0, $01, $20 + dsprite -1, 4, 1, 0, $00, $20 + +.OAMData_bc: + dsprite -1, 4, -3, 0, $00, $00 + dsprite -1, 4, -2, 0, $01, $00 + dsprite -1, 4, -1, 0, $02, $00 + dsprite -1, 4, 0, 0, $02, $20 + dsprite -1, 4, 1, 0, $01, $20 + dsprite -1, 4, 2, 0, $00, $20 + +.OAMData_c1: + dsprite -2, 0, -2, 0, $00, $00 + dsprite -2, 0, -1, 0, $01, $00 + dsprite -2, 0, 0, 0, $02, $00 + dsprite -2, 0, 1, 0, $00, $20 + dsprite -1, 0, -2, 0, $03, $00 + dsprite -1, 0, -1, 0, $04, $00 + dsprite -1, 0, 0, 0, $04, $20 + dsprite -1, 0, 1, 0, $05, $00 + dsprite 0, 0, -2, 0, $05, $60 + dsprite 0, 0, -1, 0, $04, $40 + dsprite 0, 0, 0, 0, $04, $60 + dsprite 0, 0, 1, 0, $03, $60 + dsprite 1, 0, -2, 0, $00, $40 + dsprite 1, 0, -1, 0, $02, $60 + dsprite 1, 0, 0, 0, $01, $60 + dsprite 1, 0, 1, 0, $00, $60 + +.OAMData_c2: + dsprite -1, 0, -2, 0, $00, $00 + dsprite -1, 0, -1, 0, $01, $00 + dsprite -1, 0, 0, 0, $00, $60 + dsprite 0, 0, -1, 0, $00, $00 + dsprite 0, 0, 0, 0, $01, $00 + dsprite 0, 0, 1, 0, $00, $60 + +.OAMData_c8: + dsprite -1, 0, 1, 4, $00, $00 + dsprite -1, 0, 2, 4, $01, $00 + dsprite 0, 0, -1, 4, $02, $00 + dsprite 0, 0, 0, 4, $03, $00 + dsprite 0, 0, 1, 4, $04, $00 + dsprite 0, 0, 2, 4, $05, $00 + +.OAMData_ca: + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $01, $60 + dsprite 0, 0, -1, 0, $01, $00 + dsprite 0, 0, 0, 0, $01, $20 + +.OAMData_cc: + dsprite -2, 0, -13, 4, $00, $00 + dsprite -4, 0, -11, 4, $00, $00 + dsprite -1, 0, -9, 4, $00, $00 + dsprite -5, 0, -7, 4, $00, $00 + dsprite -3, 0, -5, 4, $00, $00 + dsprite -5, 0, -3, 4, $00, $00 + dsprite -3, 0, -1, 4, $00, $00 + dsprite -3, 0, 0, 4, $00, $00 + dsprite -5, 0, 2, 4, $00, $00 + dsprite 0, 0, 4, 4, $00, $00 + dsprite -2, 0, 6, 4, $00, $00 + dsprite -4, 0, 8, 4, $00, $00 + dsprite -2, 0, 10, 4, $00, $00 +; cfcf6 diff --git a/data/battle_anims/object_gfx.asm b/data/battle_anims/object_gfx.asm new file mode 100755 index 000000000..133298d13 --- /dev/null +++ b/data/battle_anims/object_gfx.asm @@ -0,0 +1,51 @@ +anim_obj_gfx: MACRO +; # tiles, label + db \1 + dba \2 +ENDM + +AnimObjGFX: ; cfcf6 +; entries correspond to ANIM_GFX_* constants + anim_obj_gfx 0, AnimObj00GFX + anim_obj_gfx 21, AnimObjHitGFX + anim_obj_gfx 6, AnimObjCutGFX + anim_obj_gfx 6, AnimObjFireGFX + anim_obj_gfx 20, AnimObjWaterGFX + anim_obj_gfx 26, AnimObjLightningGFX + anim_obj_gfx 18, AnimObjPlantGFX + anim_obj_gfx 12, AnimObjSmokeGFX + anim_obj_gfx 9, AnimObjExplosionGFX + anim_obj_gfx 17, AnimObjRocksGFX + anim_obj_gfx 6, AnimObjIceGFX + anim_obj_gfx 10, AnimObjPokeBallGFX + anim_obj_gfx 9, AnimObjPoisonGFX + anim_obj_gfx 13, AnimObjBubbleGFX + anim_obj_gfx 16, AnimObjNoiseGFX + anim_obj_gfx 2, AnimObjPowderGFX + anim_obj_gfx 11, AnimObjBeamGFX + anim_obj_gfx 9, AnimObjSpeedGFX + anim_obj_gfx 9, AnimObjChargeGFX + anim_obj_gfx 19, AnimObjWindGFX + anim_obj_gfx 10, AnimObjWhipGFX + anim_obj_gfx 12, AnimObjEggGFX + anim_obj_gfx 18, AnimObjRopeGFX + anim_obj_gfx 13, AnimObjPsychicGFX + anim_obj_gfx 10, AnimObjReflectGFX + anim_obj_gfx 27, AnimObjStatusGFX + anim_obj_gfx 12, AnimObjSandGFX + anim_obj_gfx 14, AnimObjWebGFX + anim_obj_gfx 16, AnimObjHazeGFX + anim_obj_gfx 7, AnimObjHornGFX + anim_obj_gfx 8, AnimObjFlowerGFX + anim_obj_gfx 40, AnimObjMiscGFX + anim_obj_gfx 36, AnimObjSkyAttackGFX + anim_obj_gfx 16, AnimObjGlobeGFX + anim_obj_gfx 48, AnimObjShapesGFX + anim_obj_gfx 18, AnimObjObjectsGFX + anim_obj_gfx 38, AnimObjShineGFX + anim_obj_gfx 35, AnimObjAngelsGFX + anim_obj_gfx 18, AnimObjWaveGFX + anim_obj_gfx 24, AnimObjAeroblastGFX + anim_obj_gfx 1, NULL + anim_obj_gfx 1, NULL +; cfd9e diff --git a/data/battle_anims/objects.asm b/data/battle_anims/objects.asm new file mode 100755 index 000000000..8117d8495 --- /dev/null +++ b/data/battle_anims/objects.asm @@ -0,0 +1,209 @@ +ABSOLUTE_X EQU $00 +RELATIVE_X EQU $01 + +battleanimobj: MACRO + db \1 ; flags + ; bit 7: priority + ; bit 6: y flip (for enemy) + ; bit 5: x flip (for enemy) + ; bit 0: enable enemy animation coord fixing (x = $b4 - x; see below for y) + db \2 ; enemy animation y fix param + ; if $FF: y = y + 5 tiles + ; else: y = -y - (1 tile) * (is_softboiled_animation) + db \3 ; video sequence + db \4 ; callback + db \5 ; palette + db \6 ; tile offset +endm + +BattleAnimObjects: ; ccb56 +; entries correspond to ANIM_OBJ_* constants + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_00 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_01 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_02 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_00, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_03 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_01, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_04 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_02, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_05 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_03, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_06 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_04, BATTLEANIMFUNC_1B, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_07 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_08 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_06, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_09 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_07, BATTLEANIMFUNC_09, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_0A + battleanimobj RELATIVE_X, $aa, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_10, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0B + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0E, BATTLEANIMFUNC_04, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0C + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0D + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0E + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_0A, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_0F + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_03, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_BURNED + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_12, BATTLEANIMFUNC_08, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_BLIZZARD + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_13, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_12 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_14, BATTLEANIMFUNC_01, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_ICE_BEAM + battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_16, BATTLEANIMFUNC_RAZOR_LEAF, PAL_BATTLE_OB_GREEN, $06 ; ANIM_OBJ_RAZOR_LEAF + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_12, PAL_BATTLE_OB_RED, $0b ; ANIM_OBJ_POKE_BALL + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_09, BATTLEANIMFUNC_13, PAL_BATTLE_OB_RED, $0b ; ANIM_OBJ_POKE_BALL_BLOCKED + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, PAL_BATTLE_OB_RED, $08 ; ANIM_OBJ_17 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_18, BATTLEANIMFUNC_00, PAL_BATTLE_OB_RED, $08 ; ANIM_OBJ_18 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_1D, BATTLEANIMFUNC_06, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_19 + battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_1F, BATTLEANIMFUNC_38, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_1A + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $07 ; ANIM_OBJ_1B + battleanimobj RELATIVE_X, $a0, BATTLEANIMFRAMESET_08, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $07 ; ANIM_OBJ_BALL_POOF + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1D + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_1A, BATTLEANIMFUNC_07, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1E + battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_1B, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_1F + battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_84, BATTLEANIMFUNC_36, PAL_BATTLE_OB_BLUE, $21 ; ANIM_OBJ_20 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_0C, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_BUBBLE + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_23, BATTLEANIMFUNC_0D, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_22 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_0E, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_23 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_27, BATTLEANIMFUNC_0F, PAL_BATTLE_OB_BLUE, $04 ; ANIM_OBJ_24 + battleanimobj RELATIVE_X, $b4, BATTLEANIMFRAMESET_2A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $04 ; ANIM_OBJ_25 + battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_2B, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GREEN, $0f ; ANIM_OBJ_26 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_27 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_28 + battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_ICE_BUILDUP + battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_2F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $0a ; ANIM_OBJ_FROZEN + battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_14, PAL_BATTLE_OB_BROWN, $11 ; ANIM_OBJ_MASTER_BALL_SPARKLE + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_14, PAL_BATTLE_OB_YELLOW, $0d ; ANIM_OBJ_2C + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_31, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2D + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_32, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2E + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_33, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_2F + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_15, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_30 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_36, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_31 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_37, BATTLEANIMFUNC_03, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_LIGHTNING_BOLT + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_38, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_33 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_39, BATTLEANIMFUNC_03, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_34 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_3A, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_35 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_3C, BATTLEANIMFUNC_17, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_36 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_37 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_3F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_38 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_40, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_39 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_41, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_3A + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_42, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_3B + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_18, PAL_BATTLE_OB_GREEN, $12 ; ANIM_OBJ_3C + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_44, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GREEN, $12 ; ANIM_OBJ_3D + battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_45, BATTLEANIMFUNC_19, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_GUST + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_46, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_3F + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_47, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_40 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_48, BATTLEANIMFUNC_1A, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_41 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_49, BATTLEANIMFUNC_1A, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_42 + battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_43 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_4B, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_44 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_4C, BATTLEANIMFUNC_1C, PAL_BATTLE_OB_GREEN, $12 ; ANIM_OBJ_ABSORB + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_4D, BATTLEANIMFUNC_1D, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_46 + battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_51, BATTLEANIMFUNC_1E, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_47 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_52, BATTLEANIMFUNC_1F, PAL_BATTLE_OB_GREEN, $16 ; ANIM_OBJ_48 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_54, BATTLEANIMFUNC_1F, PAL_BATTLE_OB_GREEN, $16 ; ANIM_OBJ_49 + battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_56, BATTLEANIMFUNC_LEECH_SEED, PAL_BATTLE_OB_GREEN, $06 ; ANIM_OBJ_LEECH_SEED + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_59, BATTLEANIMFUNC_21, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_4B + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_5C, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $17 ; ANIM_OBJ_4C + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_5D, BATTLEANIMFUNC_22, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_4D + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_5F, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_4E + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $88, BATTLEANIMFRAMESET_2D, BATTLEANIMFUNC_09, PAL_BATTLE_OB_YELLOW, $10 ; ANIM_OBJ_4F + battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $18 ; ANIM_OBJ_50 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_60, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $18 ; ANIM_OBJ_51 + battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_61, BATTLEANIMFUNC_23, PAL_BATTLE_OB_YELLOW, $19 ; ANIM_OBJ_CHICK + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_63, BATTLEANIMFUNC_24, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_53 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_66, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_54 + battleanimobj RELATIVE_X, $50, BATTLEANIMFRAMESET_1C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $0c ; ANIM_OBJ_SKULL + battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_67, BATTLEANIMFUNC_26, PAL_BATTLE_OB_BROWN, $1a ; ANIM_OBJ_56 + battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_68, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BROWN, $1a ; ANIM_OBJ_57 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_69, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $1a ; ANIM_OBJ_58 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6D, BATTLEANIMFUNC_28, PAL_BATTLE_OB_YELLOW, $19 ; ANIM_OBJ_PARALYZED + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_6A, BATTLEANIMFUNC_27, PAL_BATTLE_OB_GRAY, $1b ; ANIM_OBJ_5A + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_HAZE + battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_MIST + battleanimobj RELATIVE_X | X_FLIP, $48, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_SMOG + battleanimobj RELATIVE_X | X_FLIP, $78, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_POISON_GAS + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_71, BATTLEANIMFUNC_HORN, PAL_BATTLE_OB_GRAY, $1d ; ANIM_OBJ_HORN + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_72, BATTLEANIMFUNC_2C, PAL_BATTLE_OB_GRAY, $1d ; ANIM_OBJ_60 + battleanimobj RELATIVE_X, $48, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_2D, PAL_BATTLE_OB_RED, $1e ; ANIM_OBJ_61 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_06, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_62 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_75, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_BROWN, $19 ; ANIM_OBJ_63 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_4A, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_64 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $11 ; ANIM_OBJ_65 + battleanimobj RELATIVE_X, $78, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_POISON_GAS, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_66 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_30, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_67 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_68 + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_77, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_69 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_08, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_6A + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_79, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_6B + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_6C + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_7A, BATTLEANIMFUNC_31, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_6D + battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_7B, BATTLEANIMFUNC_32, PAL_BATTLE_OB_GRAY, $20 ; ANIM_OBJ_SKY_ATTACK_FEAROW + battleanimobj RELATIVE_X | X_FLIP, $98, BATTLEANIMFRAMESET_7C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $04 ; ANIM_OBJ_LICK + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_7D, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $18 ; ANIM_OBJ_WITHDRAW + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_21, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_BLUE, $0d ; ANIM_OBJ_71 + battleanimobj RELATIVE_X, $b0, BATTLEANIMFRAMESET_7E, BATTLEANIMFUNC_33, PAL_BATTLE_OB_YELLOW, $12 ; ANIM_OBJ_72 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_2F, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_73 + battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_6F, BATTLEANIMFUNC_34, PAL_BATTLE_OB_GRAY, $1c ; ANIM_OBJ_74 + battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_35, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_75 + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_80, BATTLEANIMFUNC_33, PAL_BATTLE_OB_GRAY, $14 ; ANIM_OBJ_76 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_81, BATTLEANIMFUNC_37, PAL_BATTLE_OB_GRAY, $11 ; ANIM_OBJ_77 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_85, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 ; ANIM_OBJ_78 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_86, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $22 ; ANIM_OBJ_79 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_87, BATTLEANIMFUNC_39, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_7A + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_30, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_7B + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_34, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_7C + battleanimobj RELATIVE_X | X_FLIP | BEHIND_BG, $88, BATTLEANIMFRAMESET_88, BATTLEANIMFUNC_3B, PAL_BATTLE_OB_BLUE, $13 ; ANIM_OBJ_7D + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_76, BATTLEANIMFUNC_25, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_HEART + battleanimobj RELATIVE_X, $98, BATTLEANIMFRAMESET_10, BATTLEANIMFUNC_34, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_7F + battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_0F, BATTLEANIMFUNC_3C, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_80 + battleanimobj RELATIVE_X | X_FLIP, $68, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_SPRIAL_DESCENT, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_COTTON_SPORE + battleanimobj RELATIVE_X | X_FLIP, $b0, BATTLEANIMFRAMESET_8A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_82 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_8C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_83 + battleanimobj RELATIVE_X | X_FLIP, $50, BATTLEANIMFRAMESET_8D, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $1f ; ANIM_OBJ_84 + battleanimobj RELATIVE_X, $40, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_40, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_85 + battleanimobj RELATIVE_X | X_FLIP, $a8, BATTLEANIMFRAMESET_8E, BATTLEANIMFUNC_41, PAL_BATTLE_OB_RED, $1f ; ANIM_OBJ_86 + battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_8F, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_87 + battleanimobj RELATIVE_X | X_FLIP, $88, BATTLEANIMFRAMESET_93, BATTLEANIMFUNC_3E, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_88 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_97, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_89 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_3D, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_8A + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_2E, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_8B + battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_02, PAL_BATTLE_OB_GRAY, $15 ; ANIM_OBJ_8C + battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_99, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, $19 ; ANIM_OBJ_8D + battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_8B, BATTLEANIMFUNC_3F, PAL_BATTLE_OB_GRAY, $1f ; ANIM_OBJ_SPIKES + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_15, BATTLEANIMFUNC_08, PAL_BATTLE_OB_GRAY, $0a ; ANIM_OBJ_8F + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_11, BATTLEANIMFUNC_02, PAL_BATTLE_OB_RED, $03 ; ANIM_OBJ_90 + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_7F, BATTLEANIMFUNC_42, PAL_BATTLE_OB_GRAY, $08 ; ANIM_OBJ_91 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_9A, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $1b ; ANIM_OBJ_92 + battleanimobj RELATIVE_X | X_FLIP, $a0, BATTLEANIMFRAMESET_9B, BATTLEANIMFUNC_35, PAL_BATTLE_OB_RED, $23 ; ANIM_OBJ_93 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_23, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_94 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9D, BATTLEANIMFUNC_25, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_95 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_96 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_9E, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $25 ; ANIM_OBJ_97 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $80, BATTLEANIMFRAMESET_9F, BATTLEANIMFUNC_3A, PAL_BATTLE_OB_GREEN, $23 ; ANIM_OBJ_98 + battleanimobj RELATIVE_X | X_FLIP, $80, BATTLEANIMFRAMESET_A0, BATTLEANIMFUNC_16, PAL_BATTLE_OB_GRAY, $23 ; ANIM_OBJ_99 + battleanimobj RELATIVE_X | X_FLIP, $70, BATTLEANIMFRAMESET_78, BATTLEANIMFUNC_43, PAL_BATTLE_OB_YELLOW, $23 ; ANIM_OBJ_9A + battleanimobj RELATIVE_X | X_FLIP, $c0, BATTLEANIMFRAMESET_A2, BATTLEANIMFUNC_01, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_9B + battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_A3, BATTLEANIMFUNC_44, PAL_BATTLE_OB_YELLOW, $24 ; ANIM_OBJ_9C + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A4, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 ; ANIM_OBJ_9D + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_A5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $24 ; ANIM_OBJ_9E + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_43, BATTLEANIMFUNC_45, PAL_BATTLE_OB_RED, $12 ; ANIM_OBJ_9F + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_A0 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_A7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $02 ; ANIM_OBJ_A1 + battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B4, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_BROWN, $0f ; ANIM_OBJ_A2 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_A8, BATTLEANIMFUNC_02, PAL_BATTLE_OB_YELLOW, $05 ; ANIM_OBJ_A3 + battleanimobj RELATIVE_X | X_FLIP, $40, BATTLEANIMFRAMESET_9C, BATTLEANIMFUNC_11, PAL_BATTLE_OB_GRAY, $25 ; ANIM_OBJ_A4 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $90, BATTLEANIMFRAMESET_A9, BATTLEANIMFUNC_46, PAL_BATTLE_OB_GRAY, $23 ; ANIM_OBJ_A5 + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_47, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_PERISH_SONG + battleanimobj RELATIVE_X, $80, BATTLEANIMFRAMESET_AA, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $24 ; ANIM_OBJ_A7 + battleanimobj RELATIVE_X | X_FLIP, $b8, BATTLEANIMFRAMESET_AB, BATTLEANIMFUNC_48, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_A8 + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AC, BATTLEANIMFUNC_44, PAL_BATTLE_OB_GRAY, $13 ; ANIM_OBJ_A9 + battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_05, BATTLEANIMFUNC_00, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_AA + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_24, BATTLEANIMFUNC_43, PAL_BATTLE_OB_GRAY, $0e ; ANIM_OBJ_AB + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_AD, BATTLEANIMFUNC_00, PAL_BATTLE_OB_BLUE, $17 ; ANIM_OBJ_AC + battleanimobj RELATIVE_X, $a8, BATTLEANIMFRAMESET_AE, BATTLEANIMFUNC_49, PAL_BATTLE_OB_GRAY, $01 ; ANIM_OBJ_AD + battleanimobj RELATIVE_X | X_FLIP, $90, BATTLEANIMFRAMESET_AF, BATTLEANIMFUNC_01, PAL_BATTLE_OB_YELLOW, $11 ; ANIM_OBJ_AE + battleanimobj RELATIVE_X | X_FLIP, $00, BATTLEANIMFRAMESET_B0, BATTLEANIMFUNC_4A, PAL_BATTLE_OB_GRAY, $04 ; ANIM_OBJ_AF + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_70, BATTLEANIMFUNC_4B, PAL_BATTLE_OB_RED, $1c ; ANIM_OBJ_B0 + battleanimobj RELATIVE_X, $88, BATTLEANIMFRAMESET_B1, BATTLEANIMFUNC_4C, PAL_BATTLE_OB_GRAY, $19 ; ANIM_OBJ_B1 + battleanimobj RELATIVE_X, $b8, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4D, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_B2 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_B3, BATTLEANIMFUNC_00, PAL_BATTLE_OB_YELLOW, $27 ; ANIM_OBJ_B3 + battleanimobj RELATIVE_X | X_FLIP | Y_FLIP, $98, BATTLEANIMFRAMESET_74, BATTLEANIMFUNC_04, PAL_BATTLE_OB_BLUE, $15 ; ANIM_OBJ_B4 + battleanimobj RELATIVE_X | X_FLIP, $ff, BATTLEANIMFRAMESET_19, BATTLEANIMFUNC_4E, PAL_BATTLE_OB_BROWN, $09 ; ANIM_OBJ_B5 + battleanimobj RELATIVE_X, $90, BATTLEANIMFRAMESET_73, BATTLEANIMFUNC_08, PAL_BATTLE_OB_RED, $1e ; ANIM_OBJ_FLOWER + battleanimobj RELATIVE_X, $ff, BATTLEANIMFRAMESET_89, BATTLEANIMFUNC_4F, PAL_BATTLE_OB_RED, $1f ; ANIM_OBJ_COTTON + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B5, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 ; ANIM_OBJ_PLAYERFEETFOLLOW + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B6, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 ; ANIM_OBJ_ENEMYFEETFOLLOW + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B7, BATTLEANIMFUNC_00, PAL_BATTLE_OB_ENEMY, $28 ; ANIM_OBJ_BA + battleanimobj ABSOLUTE_X, $00, BATTLEANIMFRAMESET_B8, BATTLEANIMFUNC_00, PAL_BATTLE_OB_PLAYER, $29 ; ANIM_OBJ_BB +; ccfbe diff --git a/data/icon_pointers.asm b/data/icon_pointers.asm new file mode 100644 index 000000000..bfe07abb6 --- /dev/null +++ b/data/icon_pointers.asm @@ -0,0 +1,41 @@ +IconPointers: +; entries correspond to ICON_* constants + dw NullIcon + dw PoliwagIcon + dw JigglypuffIcon + dw DiglettIcon + dw PikachuIcon + dw StaryuIcon + dw FishIcon + dw BirdIcon + dw MonsterIcon + dw ClefairyIcon + dw OddishIcon + dw BugIcon + dw GhostIcon + dw LaprasIcon + dw HumanshapeIcon + dw FoxIcon + dw EquineIcon + dw ShellIcon + dw BlobIcon + dw SerpentIcon + dw VoltorbIcon + dw SquirtleIcon + dw BulbasaurIcon + dw CharmanderIcon + dw CaterpillarIcon + dw UnownIcon + dw GeodudeIcon + dw FighterIcon + dw EggIcon + dw JellyfishIcon + dw MothIcon + dw BatIcon + dw SnorlaxIcon + dw HoOhIcon + dw LugiaIcon + dw GyaradosIcon + dw SlowpokeIcon + dw SudowoodoIcon + dw BigmonIcon diff --git a/data/palettes/pokemon_palettes.asm b/data/palettes/pokemon_palettes.asm new file mode 100644 index 000000000..1c491254a --- /dev/null +++ b/data/palettes/pokemon_palettes.asm @@ -0,0 +1,541 @@ +PokemonPalettes: ; a8ce + +; 000 + RGB 30, 22, 17 + RGB 16, 14, 19 +; 000 shiny + RGB 30, 22, 17 + RGB 16, 14, 19 + +INCLUDE "gfx/pokemon/bulbasaur/normal.pal" +INCLUDE "gfx/pokemon/bulbasaur/shiny.pal" +INCLUDE "gfx/pokemon/ivysaur/normal.pal" +INCLUDE "gfx/pokemon/ivysaur/shiny.pal" +INCLUDE "gfx/pokemon/venusaur/normal.pal" +INCLUDE "gfx/pokemon/venusaur/shiny.pal" +INCLUDE "gfx/pokemon/charmander/normal.pal" +INCLUDE "gfx/pokemon/charmander/shiny.pal" +INCLUDE "gfx/pokemon/charmeleon/normal.pal" +INCLUDE "gfx/pokemon/charmeleon/shiny.pal" +INCLUDE "gfx/pokemon/charizard/normal.pal" +INCLUDE "gfx/pokemon/charizard/shiny.pal" +INCLUDE "gfx/pokemon/squirtle/normal.pal" +INCLUDE "gfx/pokemon/squirtle/shiny.pal" +INCLUDE "gfx/pokemon/wartortle/normal.pal" +INCLUDE "gfx/pokemon/wartortle/shiny.pal" +INCLUDE "gfx/pokemon/blastoise/normal.pal" +INCLUDE "gfx/pokemon/blastoise/shiny.pal" +INCLUDE "gfx/pokemon/caterpie/normal.pal" +INCLUDE "gfx/pokemon/caterpie/shiny.pal" +INCLUDE "gfx/pokemon/metapod/normal.pal" +INCLUDE "gfx/pokemon/metapod/shiny.pal" +INCLUDE "gfx/pokemon/butterfree/normal.pal" +INCLUDE "gfx/pokemon/butterfree/shiny.pal" +INCLUDE "gfx/pokemon/weedle/normal.pal" +INCLUDE "gfx/pokemon/weedle/shiny.pal" +INCLUDE "gfx/pokemon/kakuna/normal.pal" +INCLUDE "gfx/pokemon/kakuna/shiny.pal" +INCLUDE "gfx/pokemon/beedrill/normal.pal" +INCLUDE "gfx/pokemon/beedrill/shiny.pal" +INCLUDE "gfx/pokemon/pidgey/normal.pal" +INCLUDE "gfx/pokemon/pidgey/shiny.pal" +INCLUDE "gfx/pokemon/pidgeotto/normal.pal" +INCLUDE "gfx/pokemon/pidgeotto/shiny.pal" +INCLUDE "gfx/pokemon/pidgeot/normal.pal" +INCLUDE "gfx/pokemon/pidgeot/shiny.pal" +INCLUDE "gfx/pokemon/rattata/normal.pal" +INCLUDE "gfx/pokemon/rattata/shiny.pal" +INCLUDE "gfx/pokemon/raticate/normal.pal" +INCLUDE "gfx/pokemon/raticate/shiny.pal" +INCLUDE "gfx/pokemon/spearow/normal.pal" +INCLUDE "gfx/pokemon/spearow/shiny.pal" +INCLUDE "gfx/pokemon/fearow/normal.pal" +INCLUDE "gfx/pokemon/fearow/shiny.pal" +INCLUDE "gfx/pokemon/ekans/normal.pal" +INCLUDE "gfx/pokemon/ekans/shiny.pal" +INCLUDE "gfx/pokemon/arbok/normal.pal" +INCLUDE "gfx/pokemon/arbok/shiny.pal" +INCLUDE "gfx/pokemon/pikachu/normal.pal" +INCLUDE "gfx/pokemon/pikachu/shiny.pal" +INCLUDE "gfx/pokemon/raichu/normal.pal" +INCLUDE "gfx/pokemon/raichu/shiny.pal" +INCLUDE "gfx/pokemon/sandshrew/normal.pal" +INCLUDE "gfx/pokemon/sandshrew/shiny.pal" +INCLUDE "gfx/pokemon/sandslash/normal.pal" +INCLUDE "gfx/pokemon/sandslash/shiny.pal" +INCLUDE "gfx/pokemon/nidoran_f/normal.pal" +INCLUDE "gfx/pokemon/nidoran_f/shiny.pal" +INCLUDE "gfx/pokemon/nidorina/normal.pal" +INCLUDE "gfx/pokemon/nidorina/shiny.pal" +INCLUDE "gfx/pokemon/nidoqueen/normal.pal" +INCLUDE "gfx/pokemon/nidoqueen/shiny.pal" +INCLUDE "gfx/pokemon/nidoran_m/normal.pal" +INCLUDE "gfx/pokemon/nidoran_m/shiny.pal" +INCLUDE "gfx/pokemon/nidorino/normal.pal" +INCLUDE "gfx/pokemon/nidorino/shiny.pal" +INCLUDE "gfx/pokemon/nidoking/normal.pal" +INCLUDE "gfx/pokemon/nidoking/shiny.pal" +INCLUDE "gfx/pokemon/clefairy/normal.pal" +INCLUDE "gfx/pokemon/clefairy/shiny.pal" +INCLUDE "gfx/pokemon/clefable/normal.pal" +INCLUDE "gfx/pokemon/clefable/shiny.pal" +INCLUDE "gfx/pokemon/vulpix/normal.pal" +INCLUDE "gfx/pokemon/vulpix/shiny.pal" +INCLUDE "gfx/pokemon/ninetales/normal.pal" +INCLUDE "gfx/pokemon/ninetales/shiny.pal" +INCLUDE "gfx/pokemon/jigglypuff/normal.pal" +INCLUDE "gfx/pokemon/jigglypuff/shiny.pal" +INCLUDE "gfx/pokemon/wigglytuff/normal.pal" +INCLUDE "gfx/pokemon/wigglytuff/shiny.pal" +INCLUDE "gfx/pokemon/zubat/normal.pal" +INCLUDE "gfx/pokemon/zubat/shiny.pal" +INCLUDE "gfx/pokemon/golbat/normal.pal" +INCLUDE "gfx/pokemon/golbat/shiny.pal" +INCLUDE "gfx/pokemon/oddish/normal.pal" +INCLUDE "gfx/pokemon/oddish/shiny.pal" +INCLUDE "gfx/pokemon/gloom/normal.pal" +INCLUDE "gfx/pokemon/gloom/shiny.pal" +INCLUDE "gfx/pokemon/vileplume/normal.pal" +INCLUDE "gfx/pokemon/vileplume/shiny.pal" +INCLUDE "gfx/pokemon/paras/normal.pal" +INCLUDE "gfx/pokemon/paras/shiny.pal" +INCLUDE "gfx/pokemon/parasect/normal.pal" +INCLUDE "gfx/pokemon/parasect/shiny.pal" +INCLUDE "gfx/pokemon/venonat/normal.pal" +INCLUDE "gfx/pokemon/venonat/shiny.pal" +INCLUDE "gfx/pokemon/venomoth/normal.pal" +INCLUDE "gfx/pokemon/venomoth/shiny.pal" +INCLUDE "gfx/pokemon/diglett/normal.pal" +INCLUDE "gfx/pokemon/diglett/shiny.pal" +INCLUDE "gfx/pokemon/dugtrio/normal.pal" +INCLUDE "gfx/pokemon/dugtrio/shiny.pal" +INCLUDE "gfx/pokemon/meowth/normal.pal" +INCLUDE "gfx/pokemon/meowth/shiny.pal" +INCLUDE "gfx/pokemon/persian/normal.pal" +INCLUDE "gfx/pokemon/persian/shiny.pal" +INCLUDE "gfx/pokemon/psyduck/normal.pal" +INCLUDE "gfx/pokemon/psyduck/shiny.pal" +INCLUDE "gfx/pokemon/golduck/normal.pal" +INCLUDE "gfx/pokemon/golduck/shiny.pal" +INCLUDE "gfx/pokemon/mankey/normal.pal" +INCLUDE "gfx/pokemon/mankey/shiny.pal" +INCLUDE "gfx/pokemon/primeape/normal.pal" +INCLUDE "gfx/pokemon/primeape/shiny.pal" +INCLUDE "gfx/pokemon/growlithe/normal.pal" +INCLUDE "gfx/pokemon/growlithe/shiny.pal" +INCLUDE "gfx/pokemon/arcanine/normal.pal" +INCLUDE "gfx/pokemon/arcanine/shiny.pal" +INCLUDE "gfx/pokemon/poliwag/normal.pal" +INCLUDE "gfx/pokemon/poliwag/shiny.pal" +INCLUDE "gfx/pokemon/poliwhirl/normal.pal" +INCLUDE "gfx/pokemon/poliwhirl/shiny.pal" +INCLUDE "gfx/pokemon/poliwrath/normal.pal" +INCLUDE "gfx/pokemon/poliwrath/shiny.pal" +INCLUDE "gfx/pokemon/abra/normal.pal" +INCLUDE "gfx/pokemon/abra/shiny.pal" +INCLUDE "gfx/pokemon/kadabra/normal.pal" +INCLUDE "gfx/pokemon/kadabra/shiny.pal" +INCLUDE "gfx/pokemon/alakazam/normal.pal" +INCLUDE "gfx/pokemon/alakazam/shiny.pal" +INCLUDE "gfx/pokemon/machop/normal.pal" +INCLUDE "gfx/pokemon/machop/shiny.pal" +INCLUDE "gfx/pokemon/machoke/normal.pal" +INCLUDE "gfx/pokemon/machoke/shiny.pal" +INCLUDE "gfx/pokemon/machamp/normal.pal" +INCLUDE "gfx/pokemon/machamp/shiny.pal" +INCLUDE "gfx/pokemon/bellsprout/normal.pal" +INCLUDE "gfx/pokemon/bellsprout/shiny.pal" +INCLUDE "gfx/pokemon/weepinbell/normal.pal" +INCLUDE "gfx/pokemon/weepinbell/shiny.pal" +INCLUDE "gfx/pokemon/victreebel/normal.pal" +INCLUDE "gfx/pokemon/victreebel/shiny.pal" +INCLUDE "gfx/pokemon/tentacool/normal.pal" +INCLUDE "gfx/pokemon/tentacool/shiny.pal" +INCLUDE "gfx/pokemon/tentacruel/normal.pal" +INCLUDE "gfx/pokemon/tentacruel/shiny.pal" +INCLUDE "gfx/pokemon/geodude/normal.pal" +INCLUDE "gfx/pokemon/geodude/shiny.pal" +INCLUDE "gfx/pokemon/graveler/normal.pal" +INCLUDE "gfx/pokemon/graveler/shiny.pal" +INCLUDE "gfx/pokemon/golem/normal.pal" +INCLUDE "gfx/pokemon/golem/shiny.pal" +INCLUDE "gfx/pokemon/ponyta/normal.pal" +INCLUDE "gfx/pokemon/ponyta/shiny.pal" +INCLUDE "gfx/pokemon/rapidash/normal.pal" +INCLUDE "gfx/pokemon/rapidash/shiny.pal" +INCLUDE "gfx/pokemon/slowpoke/normal.pal" +INCLUDE "gfx/pokemon/slowpoke/shiny.pal" +INCLUDE "gfx/pokemon/slowbro/normal.pal" +INCLUDE "gfx/pokemon/slowbro/shiny.pal" +INCLUDE "gfx/pokemon/magnemite/normal.pal" +INCLUDE "gfx/pokemon/magnemite/shiny.pal" +INCLUDE "gfx/pokemon/magneton/normal.pal" +INCLUDE "gfx/pokemon/magneton/shiny.pal" +INCLUDE "gfx/pokemon/farfetch_d/normal.pal" +INCLUDE "gfx/pokemon/farfetch_d/shiny.pal" +INCLUDE "gfx/pokemon/doduo/normal.pal" +INCLUDE "gfx/pokemon/doduo/shiny.pal" +INCLUDE "gfx/pokemon/dodrio/normal.pal" +INCLUDE "gfx/pokemon/dodrio/shiny.pal" +INCLUDE "gfx/pokemon/seel/normal.pal" +INCLUDE "gfx/pokemon/seel/shiny.pal" +INCLUDE "gfx/pokemon/dewgong/normal.pal" +INCLUDE "gfx/pokemon/dewgong/shiny.pal" +INCLUDE "gfx/pokemon/grimer/normal.pal" +INCLUDE "gfx/pokemon/grimer/shiny.pal" +INCLUDE "gfx/pokemon/muk/normal.pal" +INCLUDE "gfx/pokemon/muk/shiny.pal" +INCLUDE "gfx/pokemon/shellder/normal.pal" +INCLUDE "gfx/pokemon/shellder/shiny.pal" +INCLUDE "gfx/pokemon/cloyster/normal.pal" +INCLUDE "gfx/pokemon/cloyster/shiny.pal" +INCLUDE "gfx/pokemon/gastly/normal.pal" +INCLUDE "gfx/pokemon/gastly/shiny.pal" +INCLUDE "gfx/pokemon/haunter/normal.pal" +INCLUDE "gfx/pokemon/haunter/shiny.pal" +INCLUDE "gfx/pokemon/gengar/normal.pal" +INCLUDE "gfx/pokemon/gengar/shiny.pal" +INCLUDE "gfx/pokemon/onix/normal.pal" +INCLUDE "gfx/pokemon/onix/shiny.pal" +INCLUDE "gfx/pokemon/drowzee/normal.pal" +INCLUDE "gfx/pokemon/drowzee/shiny.pal" +INCLUDE "gfx/pokemon/hypno/normal.pal" +INCLUDE "gfx/pokemon/hypno/shiny.pal" +INCLUDE "gfx/pokemon/krabby/normal.pal" +INCLUDE "gfx/pokemon/krabby/shiny.pal" +INCLUDE "gfx/pokemon/kingler/normal.pal" +INCLUDE "gfx/pokemon/kingler/shiny.pal" +INCLUDE "gfx/pokemon/voltorb/normal.pal" +INCLUDE "gfx/pokemon/voltorb/shiny.pal" +INCLUDE "gfx/pokemon/electrode/normal.pal" +INCLUDE "gfx/pokemon/electrode/shiny.pal" +INCLUDE "gfx/pokemon/exeggcute/normal.pal" +INCLUDE "gfx/pokemon/exeggcute/shiny.pal" +INCLUDE "gfx/pokemon/exeggutor/normal.pal" +INCLUDE "gfx/pokemon/exeggutor/shiny.pal" +INCLUDE "gfx/pokemon/cubone/normal.pal" +INCLUDE "gfx/pokemon/cubone/shiny.pal" +INCLUDE "gfx/pokemon/marowak/normal.pal" +INCLUDE "gfx/pokemon/marowak/shiny.pal" +INCLUDE "gfx/pokemon/hitmonlee/normal.pal" +INCLUDE "gfx/pokemon/hitmonlee/shiny.pal" +INCLUDE "gfx/pokemon/hitmonchan/normal.pal" +INCLUDE "gfx/pokemon/hitmonchan/shiny.pal" +INCLUDE "gfx/pokemon/lickitung/normal.pal" +INCLUDE "gfx/pokemon/lickitung/shiny.pal" +INCLUDE "gfx/pokemon/koffing/normal.pal" +INCLUDE "gfx/pokemon/koffing/shiny.pal" +INCLUDE "gfx/pokemon/weezing/normal.pal" +INCLUDE "gfx/pokemon/weezing/shiny.pal" +INCLUDE "gfx/pokemon/rhyhorn/normal.pal" +INCLUDE "gfx/pokemon/rhyhorn/shiny.pal" +INCLUDE "gfx/pokemon/rhydon/normal.pal" +INCLUDE "gfx/pokemon/rhydon/shiny.pal" +INCLUDE "gfx/pokemon/chansey/normal.pal" +INCLUDE "gfx/pokemon/chansey/shiny.pal" +INCLUDE "gfx/pokemon/tangela/normal.pal" +INCLUDE "gfx/pokemon/tangela/shiny.pal" +INCLUDE "gfx/pokemon/kangaskhan/normal.pal" +INCLUDE "gfx/pokemon/kangaskhan/shiny.pal" +INCLUDE "gfx/pokemon/horsea/normal.pal" +INCLUDE "gfx/pokemon/horsea/shiny.pal" +INCLUDE "gfx/pokemon/seadra/normal.pal" +INCLUDE "gfx/pokemon/seadra/shiny.pal" +INCLUDE "gfx/pokemon/goldeen/normal.pal" +INCLUDE "gfx/pokemon/goldeen/shiny.pal" +INCLUDE "gfx/pokemon/seaking/normal.pal" +INCLUDE "gfx/pokemon/seaking/shiny.pal" +INCLUDE "gfx/pokemon/staryu/normal.pal" +INCLUDE "gfx/pokemon/staryu/shiny.pal" +INCLUDE "gfx/pokemon/starmie/normal.pal" +INCLUDE "gfx/pokemon/starmie/shiny.pal" +INCLUDE "gfx/pokemon/mr__mime/normal.pal" +INCLUDE "gfx/pokemon/mr__mime/shiny.pal" +INCLUDE "gfx/pokemon/scyther/normal.pal" +INCLUDE "gfx/pokemon/scyther/shiny.pal" +INCLUDE "gfx/pokemon/jynx/normal.pal" +INCLUDE "gfx/pokemon/jynx/shiny.pal" +INCLUDE "gfx/pokemon/electabuzz/normal.pal" +INCLUDE "gfx/pokemon/electabuzz/shiny.pal" +INCLUDE "gfx/pokemon/magmar/normal.pal" +INCLUDE "gfx/pokemon/magmar/shiny.pal" +INCLUDE "gfx/pokemon/pinsir/normal.pal" +INCLUDE "gfx/pokemon/pinsir/shiny.pal" +INCLUDE "gfx/pokemon/tauros/normal.pal" +INCLUDE "gfx/pokemon/tauros/shiny.pal" +INCLUDE "gfx/pokemon/magikarp/normal.pal" +INCLUDE "gfx/pokemon/magikarp/shiny.pal" +INCLUDE "gfx/pokemon/gyarados/normal.pal" +INCLUDE "gfx/pokemon/gyarados/shiny.pal" +INCLUDE "gfx/pokemon/lapras/normal.pal" +INCLUDE "gfx/pokemon/lapras/shiny.pal" +INCLUDE "gfx/pokemon/ditto/normal.pal" +INCLUDE "gfx/pokemon/ditto/shiny.pal" +INCLUDE "gfx/pokemon/eevee/normal.pal" +INCLUDE "gfx/pokemon/eevee/shiny.pal" +INCLUDE "gfx/pokemon/vaporeon/normal.pal" +INCLUDE "gfx/pokemon/vaporeon/shiny.pal" +INCLUDE "gfx/pokemon/jolteon/normal.pal" +INCLUDE "gfx/pokemon/jolteon/shiny.pal" +INCLUDE "gfx/pokemon/flareon/normal.pal" +INCLUDE "gfx/pokemon/flareon/shiny.pal" +INCLUDE "gfx/pokemon/porygon/normal.pal" +INCLUDE "gfx/pokemon/porygon/shiny.pal" +INCLUDE "gfx/pokemon/omanyte/normal.pal" +INCLUDE "gfx/pokemon/omanyte/shiny.pal" +INCLUDE "gfx/pokemon/omastar/normal.pal" +INCLUDE "gfx/pokemon/omastar/shiny.pal" +INCLUDE "gfx/pokemon/kabuto/normal.pal" +INCLUDE "gfx/pokemon/kabuto/shiny.pal" +INCLUDE "gfx/pokemon/kabutops/normal.pal" +INCLUDE "gfx/pokemon/kabutops/shiny.pal" +INCLUDE "gfx/pokemon/aerodactyl/normal.pal" +INCLUDE "gfx/pokemon/aerodactyl/shiny.pal" +INCLUDE "gfx/pokemon/snorlax/normal.pal" +INCLUDE "gfx/pokemon/snorlax/shiny.pal" +INCLUDE "gfx/pokemon/articuno/normal.pal" +INCLUDE "gfx/pokemon/articuno/shiny.pal" +INCLUDE "gfx/pokemon/zapdos/normal.pal" +INCLUDE "gfx/pokemon/zapdos/shiny.pal" +INCLUDE "gfx/pokemon/moltres/normal.pal" +INCLUDE "gfx/pokemon/moltres/shiny.pal" +INCLUDE "gfx/pokemon/dratini/normal.pal" +INCLUDE "gfx/pokemon/dratini/shiny.pal" +INCLUDE "gfx/pokemon/dragonair/normal.pal" +INCLUDE "gfx/pokemon/dragonair/shiny.pal" +INCLUDE "gfx/pokemon/dragonite/normal.pal" +INCLUDE "gfx/pokemon/dragonite/shiny.pal" +INCLUDE "gfx/pokemon/mewtwo/normal.pal" +INCLUDE "gfx/pokemon/mewtwo/shiny.pal" +INCLUDE "gfx/pokemon/mew/normal.pal" +INCLUDE "gfx/pokemon/mew/shiny.pal" +INCLUDE "gfx/pokemon/chikorita/normal.pal" +INCLUDE "gfx/pokemon/chikorita/shiny.pal" +INCLUDE "gfx/pokemon/bayleef/normal.pal" +INCLUDE "gfx/pokemon/bayleef/shiny.pal" +INCLUDE "gfx/pokemon/meganium/normal.pal" +INCLUDE "gfx/pokemon/meganium/shiny.pal" +INCLUDE "gfx/pokemon/cyndaquil/normal.pal" +INCLUDE "gfx/pokemon/cyndaquil/shiny.pal" +INCLUDE "gfx/pokemon/quilava/normal.pal" +INCLUDE "gfx/pokemon/quilava/shiny.pal" +INCLUDE "gfx/pokemon/typhlosion/normal.pal" +INCLUDE "gfx/pokemon/typhlosion/shiny.pal" +INCLUDE "gfx/pokemon/totodile/normal.pal" +INCLUDE "gfx/pokemon/totodile/shiny.pal" +INCLUDE "gfx/pokemon/croconaw/normal.pal" +INCLUDE "gfx/pokemon/croconaw/shiny.pal" +INCLUDE "gfx/pokemon/feraligatr/normal.pal" +INCLUDE "gfx/pokemon/feraligatr/shiny.pal" +INCLUDE "gfx/pokemon/sentret/normal.pal" +INCLUDE "gfx/pokemon/sentret/shiny.pal" +INCLUDE "gfx/pokemon/furret/normal.pal" +INCLUDE "gfx/pokemon/furret/shiny.pal" +INCLUDE "gfx/pokemon/hoothoot/normal.pal" +INCLUDE "gfx/pokemon/hoothoot/shiny.pal" +INCLUDE "gfx/pokemon/noctowl/normal.pal" +INCLUDE "gfx/pokemon/noctowl/shiny.pal" +INCLUDE "gfx/pokemon/ledyba/normal.pal" +INCLUDE "gfx/pokemon/ledyba/shiny.pal" +INCLUDE "gfx/pokemon/ledian/normal.pal" +INCLUDE "gfx/pokemon/ledian/shiny.pal" +INCLUDE "gfx/pokemon/spinarak/normal.pal" +INCLUDE "gfx/pokemon/spinarak/shiny.pal" +INCLUDE "gfx/pokemon/ariados/normal.pal" +INCLUDE "gfx/pokemon/ariados/shiny.pal" +INCLUDE "gfx/pokemon/crobat/normal.pal" +INCLUDE "gfx/pokemon/crobat/shiny.pal" +INCLUDE "gfx/pokemon/chinchou/normal.pal" +INCLUDE "gfx/pokemon/chinchou/shiny.pal" +INCLUDE "gfx/pokemon/lanturn/normal.pal" +INCLUDE "gfx/pokemon/lanturn/shiny.pal" +INCLUDE "gfx/pokemon/pichu/normal.pal" +INCLUDE "gfx/pokemon/pichu/shiny.pal" +INCLUDE "gfx/pokemon/cleffa/normal.pal" +INCLUDE "gfx/pokemon/cleffa/shiny.pal" +INCLUDE "gfx/pokemon/igglybuff/normal.pal" +INCLUDE "gfx/pokemon/igglybuff/shiny.pal" +INCLUDE "gfx/pokemon/togepi/normal.pal" +INCLUDE "gfx/pokemon/togepi/shiny.pal" +INCLUDE "gfx/pokemon/togetic/normal.pal" +INCLUDE "gfx/pokemon/togetic/shiny.pal" +INCLUDE "gfx/pokemon/natu/normal.pal" +INCLUDE "gfx/pokemon/natu/shiny.pal" +INCLUDE "gfx/pokemon/xatu/normal.pal" +INCLUDE "gfx/pokemon/xatu/shiny.pal" +INCLUDE "gfx/pokemon/mareep/normal.pal" +INCLUDE "gfx/pokemon/mareep/shiny.pal" +INCLUDE "gfx/pokemon/flaaffy/normal.pal" +INCLUDE "gfx/pokemon/flaaffy/shiny.pal" +INCLUDE "gfx/pokemon/ampharos/normal.pal" +INCLUDE "gfx/pokemon/ampharos/shiny.pal" +INCLUDE "gfx/pokemon/bellossom/normal.pal" +INCLUDE "gfx/pokemon/bellossom/shiny.pal" +INCLUDE "gfx/pokemon/marill/normal.pal" +INCLUDE "gfx/pokemon/marill/shiny.pal" +INCLUDE "gfx/pokemon/azumarill/normal.pal" +INCLUDE "gfx/pokemon/azumarill/shiny.pal" +INCLUDE "gfx/pokemon/sudowoodo/normal.pal" +INCLUDE "gfx/pokemon/sudowoodo/shiny.pal" +INCLUDE "gfx/pokemon/politoed/normal.pal" +INCLUDE "gfx/pokemon/politoed/shiny.pal" +INCLUDE "gfx/pokemon/hoppip/normal.pal" +INCLUDE "gfx/pokemon/hoppip/shiny.pal" +INCLUDE "gfx/pokemon/skiploom/normal.pal" +INCLUDE "gfx/pokemon/skiploom/shiny.pal" +INCLUDE "gfx/pokemon/jumpluff/normal.pal" +INCLUDE "gfx/pokemon/jumpluff/shiny.pal" +INCLUDE "gfx/pokemon/aipom/normal.pal" +INCLUDE "gfx/pokemon/aipom/shiny.pal" +INCLUDE "gfx/pokemon/sunkern/normal.pal" +INCLUDE "gfx/pokemon/sunkern/shiny.pal" +INCLUDE "gfx/pokemon/sunflora/normal.pal" +INCLUDE "gfx/pokemon/sunflora/shiny.pal" +INCLUDE "gfx/pokemon/yanma/normal.pal" +INCLUDE "gfx/pokemon/yanma/shiny.pal" +INCLUDE "gfx/pokemon/wooper/normal.pal" +INCLUDE "gfx/pokemon/wooper/shiny.pal" +INCLUDE "gfx/pokemon/quagsire/normal.pal" +INCLUDE "gfx/pokemon/quagsire/shiny.pal" +INCLUDE "gfx/pokemon/espeon/normal.pal" +INCLUDE "gfx/pokemon/espeon/shiny.pal" +INCLUDE "gfx/pokemon/umbreon/normal.pal" +INCLUDE "gfx/pokemon/umbreon/shiny.pal" +INCLUDE "gfx/pokemon/murkrow/normal.pal" +INCLUDE "gfx/pokemon/murkrow/shiny.pal" +INCLUDE "gfx/pokemon/slowking/normal.pal" +INCLUDE "gfx/pokemon/slowking/shiny.pal" +INCLUDE "gfx/pokemon/misdreavus/normal.pal" +INCLUDE "gfx/pokemon/misdreavus/shiny.pal" +INCLUDE "gfx/pokemon/unown/normal.pal" +INCLUDE "gfx/pokemon/unown/shiny.pal" +INCLUDE "gfx/pokemon/wobbuffet/normal.pal" +INCLUDE "gfx/pokemon/wobbuffet/shiny.pal" +INCLUDE "gfx/pokemon/girafarig/normal.pal" +INCLUDE "gfx/pokemon/girafarig/shiny.pal" +INCLUDE "gfx/pokemon/pineco/normal.pal" +INCLUDE "gfx/pokemon/pineco/shiny.pal" +INCLUDE "gfx/pokemon/forretress/normal.pal" +INCLUDE "gfx/pokemon/forretress/shiny.pal" +INCLUDE "gfx/pokemon/dunsparce/normal.pal" +INCLUDE "gfx/pokemon/dunsparce/shiny.pal" +INCLUDE "gfx/pokemon/gligar/normal.pal" +INCLUDE "gfx/pokemon/gligar/shiny.pal" +INCLUDE "gfx/pokemon/steelix/normal.pal" +INCLUDE "gfx/pokemon/steelix/shiny.pal" +INCLUDE "gfx/pokemon/snubbull/normal.pal" +INCLUDE "gfx/pokemon/snubbull/shiny.pal" +INCLUDE "gfx/pokemon/granbull/normal.pal" +INCLUDE "gfx/pokemon/granbull/shiny.pal" +INCLUDE "gfx/pokemon/qwilfish/normal.pal" +INCLUDE "gfx/pokemon/qwilfish/shiny.pal" +INCLUDE "gfx/pokemon/scizor/normal.pal" +INCLUDE "gfx/pokemon/scizor/shiny.pal" +INCLUDE "gfx/pokemon/shuckle/normal.pal" +INCLUDE "gfx/pokemon/shuckle/shiny.pal" +INCLUDE "gfx/pokemon/heracross/normal.pal" +INCLUDE "gfx/pokemon/heracross/shiny.pal" +INCLUDE "gfx/pokemon/sneasel/normal.pal" +INCLUDE "gfx/pokemon/sneasel/shiny.pal" +INCLUDE "gfx/pokemon/teddiursa/normal.pal" +INCLUDE "gfx/pokemon/teddiursa/shiny.pal" +INCLUDE "gfx/pokemon/ursaring/normal.pal" +INCLUDE "gfx/pokemon/ursaring/shiny.pal" +INCLUDE "gfx/pokemon/slugma/normal.pal" +INCLUDE "gfx/pokemon/slugma/shiny.pal" +INCLUDE "gfx/pokemon/magcargo/normal.pal" +INCLUDE "gfx/pokemon/magcargo/shiny.pal" +INCLUDE "gfx/pokemon/swinub/normal.pal" +INCLUDE "gfx/pokemon/swinub/shiny.pal" +INCLUDE "gfx/pokemon/piloswine/normal.pal" +INCLUDE "gfx/pokemon/piloswine/shiny.pal" +INCLUDE "gfx/pokemon/corsola/normal.pal" +INCLUDE "gfx/pokemon/corsola/shiny.pal" +INCLUDE "gfx/pokemon/remoraid/normal.pal" +INCLUDE "gfx/pokemon/remoraid/shiny.pal" +INCLUDE "gfx/pokemon/octillery/normal.pal" +INCLUDE "gfx/pokemon/octillery/shiny.pal" +INCLUDE "gfx/pokemon/delibird/normal.pal" +INCLUDE "gfx/pokemon/delibird/shiny.pal" +INCLUDE "gfx/pokemon/mantine/normal.pal" +INCLUDE "gfx/pokemon/mantine/shiny.pal" +INCLUDE "gfx/pokemon/skarmory/normal.pal" +INCLUDE "gfx/pokemon/skarmory/shiny.pal" +INCLUDE "gfx/pokemon/houndour/normal.pal" +INCLUDE "gfx/pokemon/houndour/shiny.pal" +INCLUDE "gfx/pokemon/houndoom/normal.pal" +INCLUDE "gfx/pokemon/houndoom/shiny.pal" +INCLUDE "gfx/pokemon/kingdra/normal.pal" +INCLUDE "gfx/pokemon/kingdra/shiny.pal" +INCLUDE "gfx/pokemon/phanpy/normal.pal" +INCLUDE "gfx/pokemon/phanpy/shiny.pal" +INCLUDE "gfx/pokemon/donphan/normal.pal" +INCLUDE "gfx/pokemon/donphan/shiny.pal" +INCLUDE "gfx/pokemon/porygon2/normal.pal" +INCLUDE "gfx/pokemon/porygon2/shiny.pal" +INCLUDE "gfx/pokemon/stantler/normal.pal" +INCLUDE "gfx/pokemon/stantler/shiny.pal" +INCLUDE "gfx/pokemon/smeargle/normal.pal" +INCLUDE "gfx/pokemon/smeargle/shiny.pal" +INCLUDE "gfx/pokemon/tyrogue/normal.pal" +INCLUDE "gfx/pokemon/tyrogue/shiny.pal" +INCLUDE "gfx/pokemon/hitmontop/normal.pal" +INCLUDE "gfx/pokemon/hitmontop/shiny.pal" +INCLUDE "gfx/pokemon/smoochum/normal.pal" +INCLUDE "gfx/pokemon/smoochum/shiny.pal" +INCLUDE "gfx/pokemon/elekid/normal.pal" +INCLUDE "gfx/pokemon/elekid/shiny.pal" +INCLUDE "gfx/pokemon/magby/normal.pal" +INCLUDE "gfx/pokemon/magby/shiny.pal" +INCLUDE "gfx/pokemon/miltank/normal.pal" +INCLUDE "gfx/pokemon/miltank/shiny.pal" +INCLUDE "gfx/pokemon/blissey/normal.pal" +INCLUDE "gfx/pokemon/blissey/shiny.pal" +INCLUDE "gfx/pokemon/raikou/normal.pal" +INCLUDE "gfx/pokemon/raikou/shiny.pal" +INCLUDE "gfx/pokemon/entei/normal.pal" +INCLUDE "gfx/pokemon/entei/shiny.pal" +INCLUDE "gfx/pokemon/suicune/normal.pal" +INCLUDE "gfx/pokemon/suicune/shiny.pal" +INCLUDE "gfx/pokemon/larvitar/normal.pal" +INCLUDE "gfx/pokemon/larvitar/shiny.pal" +INCLUDE "gfx/pokemon/pupitar/normal.pal" +INCLUDE "gfx/pokemon/pupitar/shiny.pal" +INCLUDE "gfx/pokemon/tyranitar/normal.pal" +INCLUDE "gfx/pokemon/tyranitar/shiny.pal" +INCLUDE "gfx/pokemon/lugia/normal.pal" +INCLUDE "gfx/pokemon/lugia/shiny.pal" +INCLUDE "gfx/pokemon/ho_oh/normal.pal" +INCLUDE "gfx/pokemon/ho_oh/shiny.pal" +INCLUDE "gfx/pokemon/celebi/normal.pal" +INCLUDE "gfx/pokemon/celebi/shiny.pal" + +; 252 + RGB 30, 26, 11 + RGB 23, 16, 00 +; 252 shiny + RGB 30, 26, 11 + RGB 23, 16, 00 + +; Egg + RGB 30, 26, 11 + RGB 23, 16, 00 +; Egg shiny + RGB 30, 26, 11 + RGB 23, 16, 00 + +; 254 + RGB 30, 26, 11 + RGB 23, 16, 00 +; 254 shiny + RGB 30, 26, 11 + RGB 23, 16, 00 + +; 255 + RGB 23, 23, 23 + RGB 17, 17, 17 +; 255 shiny + RGB 23, 23, 23 + RGB 17, 17, 17 + +; b0ce diff --git a/data/palettes/trainer_palettes.asm b/data/palettes/trainer_palettes.asm new file mode 100644 index 000000000..c943e49d7 --- /dev/null +++ b/data/palettes/trainer_palettes.asm @@ -0,0 +1,76 @@ +TrainerPalettes: ; b0ce +; entries correspond to trainer classes + +PlayerPalette: ; b0ce +; Chris uses the same colors as Cal +INCLUDE "gfx/trainers/cal.pal" +KrisPalette: ; b0d0 +; Kris shares Falkner's palette +INCLUDE "gfx/trainers/falkner.pal" +INCLUDE "gfx/trainers/whitney.pal" +INCLUDE "gfx/trainers/bugsy.pal" +INCLUDE "gfx/trainers/morty.pal" +INCLUDE "gfx/trainers/pryce.pal" +INCLUDE "gfx/trainers/jasmine.pal" +INCLUDE "gfx/trainers/chuck.pal" +INCLUDE "gfx/trainers/clair.pal" +INCLUDE "gfx/trainers/rival1.pal" +INCLUDE "gfx/trainers/oak.pal" +INCLUDE "gfx/trainers/will.pal" +INCLUDE "gfx/trainers/cal.pal" +INCLUDE "gfx/trainers/bruno.pal" +INCLUDE "gfx/trainers/karen.pal" +INCLUDE "gfx/trainers/koga.pal" +INCLUDE "gfx/trainers/champion.pal" +INCLUDE "gfx/trainers/brock.pal" +INCLUDE "gfx/trainers/misty.pal" +INCLUDE "gfx/trainers/lt_surge.pal" +INCLUDE "gfx/trainers/scientist.pal" +INCLUDE "gfx/trainers/erika.pal" +INCLUDE "gfx/trainers/youngster.pal" +INCLUDE "gfx/trainers/schoolboy.pal" +INCLUDE "gfx/trainers/bird_keeper.pal" +INCLUDE "gfx/trainers/lass.pal" +INCLUDE "gfx/trainers/janine.pal" +INCLUDE "gfx/trainers/cooltrainer_m.pal" +INCLUDE "gfx/trainers/cooltrainer_f.pal" +INCLUDE "gfx/trainers/beauty.pal" +INCLUDE "gfx/trainers/pokemaniac.pal" +INCLUDE "gfx/trainers/grunt_m.pal" +INCLUDE "gfx/trainers/gentleman.pal" +INCLUDE "gfx/trainers/skier.pal" +INCLUDE "gfx/trainers/teacher.pal" +INCLUDE "gfx/trainers/sabrina.pal" +INCLUDE "gfx/trainers/bug_catcher.pal" +INCLUDE "gfx/trainers/fisher.pal" +INCLUDE "gfx/trainers/swimmer_m.pal" +INCLUDE "gfx/trainers/swimmer_f.pal" +INCLUDE "gfx/trainers/sailor.pal" +INCLUDE "gfx/trainers/super_nerd.pal" +INCLUDE "gfx/trainers/rival2.pal" +INCLUDE "gfx/trainers/guitarist.pal" +INCLUDE "gfx/trainers/hiker.pal" +INCLUDE "gfx/trainers/biker.pal" +INCLUDE "gfx/trainers/blaine.pal" +INCLUDE "gfx/trainers/burglar.pal" +INCLUDE "gfx/trainers/firebreather.pal" +INCLUDE "gfx/trainers/juggler.pal" +INCLUDE "gfx/trainers/blackbelt_t.pal" +INCLUDE "gfx/trainers/executive_m.pal" +INCLUDE "gfx/trainers/psychic_t.pal" +INCLUDE "gfx/trainers/picnicker.pal" +INCLUDE "gfx/trainers/camper.pal" +INCLUDE "gfx/trainers/executive_f.pal" +INCLUDE "gfx/trainers/sage.pal" +INCLUDE "gfx/trainers/medium.pal" +INCLUDE "gfx/trainers/boarder.pal" +INCLUDE "gfx/trainers/pokefan_m.pal" +INCLUDE "gfx/trainers/kimono_girl.pal" +INCLUDE "gfx/trainers/twins.pal" +INCLUDE "gfx/trainers/pokefan_f.pal" +INCLUDE "gfx/trainers/red.pal" +INCLUDE "gfx/trainers/blue.pal" +INCLUDE "gfx/trainers/officer.pal" +INCLUDE "gfx/trainers/grunt_f.pal" +INCLUDE "gfx/trainers/mysticalman.pal" +; b1de diff --git a/data/pokemon/pic_pointers.asm b/data/pokemon/pic_pointers.asm new file mode 100644 index 000000000..58631e09a --- /dev/null +++ b/data/pokemon/pic_pointers.asm @@ -0,0 +1,511 @@ +PicPointers:: +; entries correspond to constants/pokemon_constants.asm, two apiece + dba_pic BulbasaurFrontpic + dba_pic BulbasaurBackpic + dba_pic IvysaurFrontpic + dba_pic IvysaurBackpic + dba_pic VenusaurFrontpic + dba_pic VenusaurBackpic + dba_pic CharmanderFrontpic + dba_pic CharmanderBackpic + dba_pic CharmeleonFrontpic + dba_pic CharmeleonBackpic + dba_pic CharizardFrontpic + dba_pic CharizardBackpic + dba_pic SquirtleFrontpic + dba_pic SquirtleBackpic + dba_pic WartortleFrontpic + dba_pic WartortleBackpic + dba_pic BlastoiseFrontpic + dba_pic BlastoiseBackpic + dba_pic CaterpieFrontpic + dba_pic CaterpieBackpic + dba_pic MetapodFrontpic + dba_pic MetapodBackpic + dba_pic ButterfreeFrontpic + dba_pic ButterfreeBackpic + dba_pic WeedleFrontpic + dba_pic WeedleBackpic + dba_pic KakunaFrontpic + dba_pic KakunaBackpic + dba_pic BeedrillFrontpic + dba_pic BeedrillBackpic + dba_pic PidgeyFrontpic + dba_pic PidgeyBackpic + dba_pic PidgeottoFrontpic + dba_pic PidgeottoBackpic + dba_pic PidgeotFrontpic + dba_pic PidgeotBackpic + dba_pic RattataFrontpic + dba_pic RattataBackpic + dba_pic RaticateFrontpic + dba_pic RaticateBackpic + dba_pic SpearowFrontpic + dba_pic SpearowBackpic + dba_pic FearowFrontpic + dba_pic FearowBackpic + dba_pic EkansFrontpic + dba_pic EkansBackpic + dba_pic ArbokFrontpic + dba_pic ArbokBackpic + dba_pic PikachuFrontpic + dba_pic PikachuBackpic + dba_pic RaichuFrontpic + dba_pic RaichuBackpic + dba_pic SandshrewFrontpic + dba_pic SandshrewBackpic + dba_pic SandslashFrontpic + dba_pic SandslashBackpic + dba_pic NidoranFFrontpic + dba_pic NidoranFBackpic + dba_pic NidorinaFrontpic + dba_pic NidorinaBackpic + dba_pic NidoqueenFrontpic + dba_pic NidoqueenBackpic + dba_pic NidoranMFrontpic + dba_pic NidoranMBackpic + dba_pic NidorinoFrontpic + dba_pic NidorinoBackpic + dba_pic NidokingFrontpic + dba_pic NidokingBackpic + dba_pic ClefairyFrontpic + dba_pic ClefairyBackpic + dba_pic ClefableFrontpic + dba_pic ClefableBackpic + dba_pic VulpixFrontpic + dba_pic VulpixBackpic + dba_pic NinetalesFrontpic + dba_pic NinetalesBackpic + dba_pic JigglypuffFrontpic + dba_pic JigglypuffBackpic + dba_pic WigglytuffFrontpic + dba_pic WigglytuffBackpic + dba_pic ZubatFrontpic + dba_pic ZubatBackpic + dba_pic GolbatFrontpic + dba_pic GolbatBackpic + dba_pic OddishFrontpic + dba_pic OddishBackpic + dba_pic GloomFrontpic + dba_pic GloomBackpic + dba_pic VileplumeFrontpic + dba_pic VileplumeBackpic + dba_pic ParasFrontpic + dba_pic ParasBackpic + dba_pic ParasectFrontpic + dba_pic ParasectBackpic + dba_pic VenonatFrontpic + dba_pic VenonatBackpic + dba_pic VenomothFrontpic + dba_pic VenomothBackpic + dba_pic DiglettFrontpic + dba_pic DiglettBackpic + dba_pic DugtrioFrontpic + dba_pic DugtrioBackpic + dba_pic MeowthFrontpic + dba_pic MeowthBackpic + dba_pic PersianFrontpic + dba_pic PersianBackpic + dba_pic PsyduckFrontpic + dba_pic PsyduckBackpic + dba_pic GolduckFrontpic + dba_pic GolduckBackpic + dba_pic MankeyFrontpic + dba_pic MankeyBackpic + dba_pic PrimeapeFrontpic + dba_pic PrimeapeBackpic + dba_pic GrowlitheFrontpic + dba_pic GrowlitheBackpic + dba_pic ArcanineFrontpic + dba_pic ArcanineBackpic + dba_pic PoliwagFrontpic + dba_pic PoliwagBackpic + dba_pic PoliwhirlFrontpic + dba_pic PoliwhirlBackpic + dba_pic PoliwrathFrontpic + dba_pic PoliwrathBackpic + dba_pic AbraFrontpic + dba_pic AbraBackpic + dba_pic KadabraFrontpic + dba_pic KadabraBackpic + dba_pic AlakazamFrontpic + dba_pic AlakazamBackpic + dba_pic MachopFrontpic + dba_pic MachopBackpic + dba_pic MachokeFrontpic + dba_pic MachokeBackpic + dba_pic MachampFrontpic + dba_pic MachampBackpic + dba_pic BellsproutFrontpic + dba_pic BellsproutBackpic + dba_pic WeepinbellFrontpic + dba_pic WeepinbellBackpic + dba_pic VictreebelFrontpic + dba_pic VictreebelBackpic + dba_pic TentacoolFrontpic + dba_pic TentacoolBackpic + dba_pic TentacruelFrontpic + dba_pic TentacruelBackpic + dba_pic GeodudeFrontpic + dba_pic GeodudeBackpic + dba_pic GravelerFrontpic + dba_pic GravelerBackpic + dba_pic GolemFrontpic + dba_pic GolemBackpic + dba_pic PonytaFrontpic + dba_pic PonytaBackpic + dba_pic RapidashFrontpic + dba_pic RapidashBackpic + dba_pic SlowpokeFrontpic + dba_pic SlowpokeBackpic + dba_pic SlowbroFrontpic + dba_pic SlowbroBackpic + dba_pic MagnemiteFrontpic + dba_pic MagnemiteBackpic + dba_pic MagnetonFrontpic + dba_pic MagnetonBackpic + dba_pic FarfetchDFrontpic + dba_pic FarfetchDBackpic + dba_pic DoduoFrontpic + dba_pic DoduoBackpic + dba_pic DodrioFrontpic + dba_pic DodrioBackpic + dba_pic SeelFrontpic + dba_pic SeelBackpic + dba_pic DewgongFrontpic + dba_pic DewgongBackpic + dba_pic GrimerFrontpic + dba_pic GrimerBackpic + dba_pic MukFrontpic + dba_pic MukBackpic + dba_pic ShellderFrontpic + dba_pic ShellderBackpic + dba_pic CloysterFrontpic + dba_pic CloysterBackpic + dba_pic GastlyFrontpic + dba_pic GastlyBackpic + dba_pic HaunterFrontpic + dba_pic HaunterBackpic + dba_pic GengarFrontpic + dba_pic GengarBackpic + dba_pic OnixFrontpic + dba_pic OnixBackpic + dba_pic DrowzeeFrontpic + dba_pic DrowzeeBackpic + dba_pic HypnoFrontpic + dba_pic HypnoBackpic + dba_pic KrabbyFrontpic + dba_pic KrabbyBackpic + dba_pic KinglerFrontpic + dba_pic KinglerBackpic + dba_pic VoltorbFrontpic + dba_pic VoltorbBackpic + dba_pic ElectrodeFrontpic + dba_pic ElectrodeBackpic + dba_pic ExeggcuteFrontpic + dba_pic ExeggcuteBackpic + dba_pic ExeggutorFrontpic + dba_pic ExeggutorBackpic + dba_pic CuboneFrontpic + dba_pic CuboneBackpic + dba_pic MarowakFrontpic + dba_pic MarowakBackpic + dba_pic HitmonleeFrontpic + dba_pic HitmonleeBackpic + dba_pic HitmonchanFrontpic + dba_pic HitmonchanBackpic + dba_pic LickitungFrontpic + dba_pic LickitungBackpic + dba_pic KoffingFrontpic + dba_pic KoffingBackpic + dba_pic WeezingFrontpic + dba_pic WeezingBackpic + dba_pic RhyhornFrontpic + dba_pic RhyhornBackpic + dba_pic RhydonFrontpic + dba_pic RhydonBackpic + dba_pic ChanseyFrontpic + dba_pic ChanseyBackpic + dba_pic TangelaFrontpic + dba_pic TangelaBackpic + dba_pic KangaskhanFrontpic + dba_pic KangaskhanBackpic + dba_pic HorseaFrontpic + dba_pic HorseaBackpic + dba_pic SeadraFrontpic + dba_pic SeadraBackpic + dba_pic GoldeenFrontpic + dba_pic GoldeenBackpic + dba_pic SeakingFrontpic + dba_pic SeakingBackpic + dba_pic StaryuFrontpic + dba_pic StaryuBackpic + dba_pic StarmieFrontpic + dba_pic StarmieBackpic + dba_pic MrMimeFrontpic + dba_pic MrMimeBackpic + dba_pic ScytherFrontpic + dba_pic ScytherBackpic + dba_pic JynxFrontpic + dba_pic JynxBackpic + dba_pic ElectabuzzFrontpic + dba_pic ElectabuzzBackpic + dba_pic MagmarFrontpic + dba_pic MagmarBackpic + dba_pic PinsirFrontpic + dba_pic PinsirBackpic + dba_pic TaurosFrontpic + dba_pic TaurosBackpic + dba_pic MagikarpFrontpic + dba_pic MagikarpBackpic + dba_pic GyaradosFrontpic + dba_pic GyaradosBackpic + dba_pic LaprasFrontpic + dba_pic LaprasBackpic + dba_pic DittoFrontpic + dba_pic DittoBackpic + dba_pic EeveeFrontpic + dba_pic EeveeBackpic + dba_pic VaporeonFrontpic + dba_pic VaporeonBackpic + dba_pic JolteonFrontpic + dba_pic JolteonBackpic + dba_pic FlareonFrontpic + dba_pic FlareonBackpic + dba_pic PorygonFrontpic + dba_pic PorygonBackpic + dba_pic OmanyteFrontpic + dba_pic OmanyteBackpic + dba_pic OmastarFrontpic + dba_pic OmastarBackpic + dba_pic KabutoFrontpic + dba_pic KabutoBackpic + dba_pic KabutopsFrontpic + dba_pic KabutopsBackpic + dba_pic AerodactylFrontpic + dba_pic AerodactylBackpic + dba_pic SnorlaxFrontpic + dba_pic SnorlaxBackpic + dba_pic ArticunoFrontpic + dba_pic ArticunoBackpic + dba_pic ZapdosFrontpic + dba_pic ZapdosBackpic + dba_pic MoltresFrontpic + dba_pic MoltresBackpic + dba_pic DratiniFrontpic + dba_pic DratiniBackpic + dba_pic DragonairFrontpic + dba_pic DragonairBackpic + dba_pic DragoniteFrontpic + dba_pic DragoniteBackpic + dba_pic MewtwoFrontpic + dba_pic MewtwoBackpic + dba_pic MewFrontpic + dba_pic MewBackpic + dba_pic ChikoritaFrontpic + dba_pic ChikoritaBackpic + dba_pic BayleefFrontpic + dba_pic BayleefBackpic + dba_pic MeganiumFrontpic + dba_pic MeganiumBackpic + dba_pic CyndaquilFrontpic + dba_pic CyndaquilBackpic + dba_pic QuilavaFrontpic + dba_pic QuilavaBackpic + dba_pic TyphlosionFrontpic + dba_pic TyphlosionBackpic + dba_pic TotodileFrontpic + dba_pic TotodileBackpic + dba_pic CroconawFrontpic + dba_pic CroconawBackpic + dba_pic FeraligatrFrontpic + dba_pic FeraligatrBackpic + dba_pic SentretFrontpic + dba_pic SentretBackpic + dba_pic FurretFrontpic + dba_pic FurretBackpic + dba_pic HoothootFrontpic + dba_pic HoothootBackpic + dba_pic NoctowlFrontpic + dba_pic NoctowlBackpic + dba_pic LedybaFrontpic + dba_pic LedybaBackpic + dba_pic LedianFrontpic + dba_pic LedianBackpic + dba_pic SpinarakFrontpic + dba_pic SpinarakBackpic + dba_pic AriadosFrontpic + dba_pic AriadosBackpic + dba_pic CrobatFrontpic + dba_pic CrobatBackpic + dba_pic ChinchouFrontpic + dba_pic ChinchouBackpic + dba_pic LanturnFrontpic + dba_pic LanturnBackpic + dba_pic PichuFrontpic + dba_pic PichuBackpic + dba_pic CleffaFrontpic + dba_pic CleffaBackpic + dba_pic IgglybuffFrontpic + dba_pic IgglybuffBackpic + dba_pic TogepiFrontpic + dba_pic TogepiBackpic + dba_pic TogeticFrontpic + dba_pic TogeticBackpic + dba_pic NatuFrontpic + dba_pic NatuBackpic + dba_pic XatuFrontpic + dba_pic XatuBackpic + dba_pic MareepFrontpic + dba_pic MareepBackpic + dba_pic FlaaffyFrontpic + dba_pic FlaaffyBackpic + dba_pic AmpharosFrontpic + dba_pic AmpharosBackpic + dba_pic BellossomFrontpic + dba_pic BellossomBackpic + dba_pic MarillFrontpic + dba_pic MarillBackpic + dba_pic AzumarillFrontpic + dba_pic AzumarillBackpic + dba_pic SudowoodoFrontpic + dba_pic SudowoodoBackpic + dba_pic PolitoedFrontpic + dba_pic PolitoedBackpic + dba_pic HoppipFrontpic + dba_pic HoppipBackpic + dba_pic SkiploomFrontpic + dba_pic SkiploomBackpic + dba_pic JumpluffFrontpic + dba_pic JumpluffBackpic + dba_pic AipomFrontpic + dba_pic AipomBackpic + dba_pic SunkernFrontpic + dba_pic SunkernBackpic + dba_pic SunfloraFrontpic + dba_pic SunfloraBackpic + dba_pic YanmaFrontpic + dba_pic YanmaBackpic + dba_pic WooperFrontpic + dba_pic WooperBackpic + dba_pic QuagsireFrontpic + dba_pic QuagsireBackpic + dba_pic EspeonFrontpic + dba_pic EspeonBackpic + dba_pic UmbreonFrontpic + dba_pic UmbreonBackpic + dba_pic MurkrowFrontpic + dba_pic MurkrowBackpic + dba_pic SlowkingFrontpic + dba_pic SlowkingBackpic + dba_pic MisdreavusFrontpic + dba_pic MisdreavusBackpic + + ; Unown pics have their own table. See UnownPicPointers + dbw -1, -1 + dbw -1, -1 + + dba_pic WobbuffetFrontpic + dba_pic WobbuffetBackpic + dba_pic GirafarigFrontpic + dba_pic GirafarigBackpic + dba_pic PinecoFrontpic + dba_pic PinecoBackpic + dba_pic ForretressFrontpic + dba_pic ForretressBackpic + dba_pic DunsparceFrontpic + dba_pic DunsparceBackpic + dba_pic GligarFrontpic + dba_pic GligarBackpic + dba_pic SteelixFrontpic + dba_pic SteelixBackpic + dba_pic SnubbullFrontpic + dba_pic SnubbullBackpic + dba_pic GranbullFrontpic + dba_pic GranbullBackpic + dba_pic QwilfishFrontpic + dba_pic QwilfishBackpic + dba_pic ScizorFrontpic + dba_pic ScizorBackpic + dba_pic ShuckleFrontpic + dba_pic ShuckleBackpic + dba_pic HeracrossFrontpic + dba_pic HeracrossBackpic + dba_pic SneaselFrontpic + dba_pic SneaselBackpic + dba_pic TeddiursaFrontpic + dba_pic TeddiursaBackpic + dba_pic UrsaringFrontpic + dba_pic UrsaringBackpic + dba_pic SlugmaFrontpic + dba_pic SlugmaBackpic + dba_pic MagcargoFrontpic + dba_pic MagcargoBackpic + dba_pic SwinubFrontpic + dba_pic SwinubBackpic + dba_pic PiloswineFrontpic + dba_pic PiloswineBackpic + dba_pic CorsolaFrontpic + dba_pic CorsolaBackpic + dba_pic RemoraidFrontpic + dba_pic RemoraidBackpic + dba_pic OctilleryFrontpic + dba_pic OctilleryBackpic + dba_pic DelibirdFrontpic + dba_pic DelibirdBackpic + dba_pic MantineFrontpic + dba_pic MantineBackpic + dba_pic SkarmoryFrontpic + dba_pic SkarmoryBackpic + dba_pic HoundourFrontpic + dba_pic HoundourBackpic + dba_pic HoundoomFrontpic + dba_pic HoundoomBackpic + dba_pic KingdraFrontpic + dba_pic KingdraBackpic + dba_pic PhanpyFrontpic + dba_pic PhanpyBackpic + dba_pic DonphanFrontpic + dba_pic DonphanBackpic + dba_pic Porygon2Frontpic + dba_pic Porygon2Backpic + dba_pic StantlerFrontpic + dba_pic StantlerBackpic + dba_pic SmeargleFrontpic + dba_pic SmeargleBackpic + dba_pic TyrogueFrontpic + dba_pic TyrogueBackpic + dba_pic HitmontopFrontpic + dba_pic HitmontopBackpic + dba_pic SmoochumFrontpic + dba_pic SmoochumBackpic + dba_pic ElekidFrontpic + dba_pic ElekidBackpic + dba_pic MagbyFrontpic + dba_pic MagbyBackpic + dba_pic MiltankFrontpic + dba_pic MiltankBackpic + dba_pic BlisseyFrontpic + dba_pic BlisseyBackpic + dba_pic RaikouFrontpic + dba_pic RaikouBackpic + dba_pic EnteiFrontpic + dba_pic EnteiBackpic + dba_pic SuicuneFrontpic + dba_pic SuicuneBackpic + dba_pic LarvitarFrontpic + dba_pic LarvitarBackpic + dba_pic PupitarFrontpic + dba_pic PupitarBackpic + dba_pic TyranitarFrontpic + dba_pic TyranitarBackpic + dba_pic LugiaFrontpic + dba_pic LugiaBackpic + dba_pic HoOhFrontpic + dba_pic HoOhBackpic + dba_pic CelebiFrontpic + dba_pic CelebiBackpic + dbw -1, -1 ; unused + dbw -1, -1 ; unused + dba_pic EggPic + dbw -1, -1 ; unused diff --git a/data/pokemon/unown_pic_pointers.asm b/data/pokemon/unown_pic_pointers.asm new file mode 100644 index 000000000..1ae0da6b6 --- /dev/null +++ b/data/pokemon/unown_pic_pointers.asm @@ -0,0 +1,54 @@ +UnownPicPointers:: +; entries correspond to Unown letters, two apiece + dba_pic UnownAFrontpic + dba_pic UnownABackpic + dba_pic UnownBFrontpic + dba_pic UnownBBackpic + dba_pic UnownCFrontpic + dba_pic UnownCBackpic + dba_pic UnownDFrontpic + dba_pic UnownDBackpic + dba_pic UnownEFrontpic + dba_pic UnownEBackpic + dba_pic UnownFFrontpic + dba_pic UnownFBackpic + dba_pic UnownGFrontpic + dba_pic UnownGBackpic + dba_pic UnownHFrontpic + dba_pic UnownHBackpic + dba_pic UnownIFrontpic + dba_pic UnownIBackpic + dba_pic UnownJFrontpic + dba_pic UnownJBackpic + dba_pic UnownKFrontpic + dba_pic UnownKBackpic + dba_pic UnownLFrontpic + dba_pic UnownLBackpic + dba_pic UnownMFrontpic + dba_pic UnownMBackpic + dba_pic UnownNFrontpic + dba_pic UnownNBackpic + dba_pic UnownOFrontpic + dba_pic UnownOBackpic + dba_pic UnownPFrontpic + dba_pic UnownPBackpic + dba_pic UnownQFrontpic + dba_pic UnownQBackpic + dba_pic UnownRFrontpic + dba_pic UnownRBackpic + dba_pic UnownSFrontpic + dba_pic UnownSBackpic + dba_pic UnownTFrontpic + dba_pic UnownTBackpic + dba_pic UnownUFrontpic + dba_pic UnownUBackpic + dba_pic UnownVFrontpic + dba_pic UnownVBackpic + dba_pic UnownWFrontpic + dba_pic UnownWBackpic + dba_pic UnownXFrontpic + dba_pic UnownXBackpic + dba_pic UnownYFrontpic + dba_pic UnownYBackpic + dba_pic UnownZFrontpic + dba_pic UnownZBackpic diff --git a/data/sprite_anims/framesets.asm b/data/sprite_anims/framesets.asm new file mode 100755 index 000000000..24b058859 --- /dev/null +++ b/data/sprite_anims/framesets.asm @@ -0,0 +1,499 @@ +SpriteAnimFrameData: ; 8d6e6 +; entries correspond to SPRITE_ANIM_FRAMESET_* constants + dw .Frameset_00 + dw .Frameset_PartyMon + dw .Frameset_PartyMonWithMail + dw .Frameset_PartyMonWithItem + dw .Frameset_PartyMonFast + dw .Frameset_PartyMonWithMailFast + dw .Frameset_PartyMonWithItemFast + dw .Frameset_GSTitleTrail + dw .Frameset_TextEntryCursor + dw .Frameset_09 + dw .Frameset_GameFreakLogo + dw .Frameset_GSIntroStar + dw .Frameset_GSIntroSparkle + dw .Frameset_SlotsGolem + dw .Frameset_SlotsChansey + dw .Frameset_SlotsChansey2 + dw .Frameset_SlotsEgg + dw .Frameset_RedWalk + dw .Frameset_StillCursor + dw .Frameset_TradePokeBall + dw .Frameset_TradePokeBall0 + dw .Frameset_TradePoof + dw .Frameset_TradeTubeBulge + dw .Frameset_TrademonIcon + dw .Frameset_TrademonBubble + dw .Frameset_EvolutionBallOfLight + dw .Frameset_RadioTuningKnob + dw .Frameset_MagnetTrainRed + dw .Frameset_1c + dw .Frameset_Leaf + dw .Frameset_CutTree + dw .Frameset_EggCrack + dw .Frameset_EggHatch + dw .Frameset_21 + dw .Frameset_22 + dw .Frameset_23 + dw .Frameset_24 + dw .Frameset_HeadbuttTree + dw .Frameset_26 + dw .Frameset_27 + dw .Frameset_28 + dw .Frameset_29 + dw .Frameset_2a + dw .Frameset_2b + dw .Frameset_2c + dw .Frameset_BlueWalk + dw .Frameset_MagnetTrainBlue + dw .Frameset_MobileTradeSentBall + dw .Frameset_MobileTradeOTBall + dw .Frameset_ForMobile22 + dw .Frameset_ForMobile23 + dw .Frameset_ForMobile24 + dw .Frameset_ForMobile25 + dw .Frameset_IntroSuicune + dw .Frameset_IntroSuicune2 + dw .Frameset_IntroPichu + dw .Frameset_IntroWooper + dw .Frameset_IntroUnown1 + dw .Frameset_IntroUnown2 + dw .Frameset_IntroUnown3 + dw .Frameset_IntroUnown4 + dw .Frameset_IntroUnownF2 + dw .Frameset_IntroSuicuneAway + dw .Frameset_IntroUnownF + dw .Frameset_CelebiLeft + dw .Frameset_CelebiRight +; 8d76a + +.Frameset_00: + frame SPRITE_ANIM_OAMSET_RED_WALK_1, 32 + endanim + +.Frameset_PartyMon: + frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8 + frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8 + dorestart + +.Frameset_PartyMonWithMail: + frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1, 8 + frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2, 8 + dorestart + +.Frameset_PartyMonWithItem: + frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1, 8 + frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2, 8 + dorestart + +.Frameset_PartyMonFast: + frame SPRITE_ANIM_OAMSET_RED_WALK_1, 4 + frame SPRITE_ANIM_OAMSET_RED_WALK_2, 4 + dorestart + +.Frameset_PartyMonWithMailFast: + frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1, 4 + frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2, 4 + dorestart + +.Frameset_PartyMonWithItemFast: + frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1, 4 + frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2, 4 + dorestart + +.Frameset_RedWalk: + frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8 + frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8 + frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8 + frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8, OAM_X_FLIP + dorestart + +.Frameset_BlueWalk: + frame SPRITE_ANIM_OAMSET_BLUE_WALK_1, 8 + frame SPRITE_ANIM_OAMSET_BLUE_WALK_2, 8 + frame SPRITE_ANIM_OAMSET_BLUE_WALK_1, 8 + frame SPRITE_ANIM_OAMSET_BLUE_WALK_2, 8, OAM_X_FLIP + dorestart + +.Frameset_MagnetTrainBlue: + frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1, 8 + frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2, 8 + frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1, 8 + frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2, 8, OAM_X_FLIP + dorestart + +.Frameset_GSTitleTrail: + frame SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1, 1 + frame SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2, 1 + dorestart + +.Frameset_TextEntryCursor: + frame SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR, 1 + dorepeat 1 + dorestart + +.Frameset_09: + frame SPRITE_ANIM_OAMSET_FOR_FRAMESET_09, 1 + dorepeat 1 + dorestart + +.Frameset_GameFreakLogo: + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1, 12 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 1 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3, 1 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 4 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1, 12 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 12 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3, 4 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4, 32 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5, 3 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6, 3 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7, 4 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8, 4 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9, 4 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10, 10 + frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11, 7 + endanim + +.Frameset_GSIntroStar: + frame SPRITE_ANIM_OAMSET_GS_INTRO_STAR, 3 + frame SPRITE_ANIM_OAMSET_GS_INTRO_STAR, 3, OAM_Y_FLIP + dorestart + +.Frameset_GSIntroSparkle: + frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1, 2 + frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2, 2 + frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3, 2 + frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2, 2 + dorestart + +.Frameset_SlotsGolem: + frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1, 7, OAM_Y_FLIP + frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2, 7, OAM_X_FLIP + dorestart + +.Frameset_SlotsChansey: + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3, 7 + dorestart + +.Frameset_SlotsChansey2: + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4, 7 + frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7 + endanim + +.Frameset_SlotsEgg: + frame SPRITE_ANIM_OAMSET_SLOTS_EGG, 20 + endanim + +.Frameset_StillCursor: + frame SPRITE_ANIM_OAMSET_STILL_CURSOR, 32 + endanim + +.Frameset_TradePokeBall: + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 32 + endanim + +.Frameset_TradePokeBall0: + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP + dorestart + +.Frameset_TradePoof: + frame SPRITE_ANIM_OAMSET_TRADE_POOF_1, 4 + frame SPRITE_ANIM_OAMSET_TRADE_POOF_2, 4 + frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 4 + delanim + +.Frameset_TradeTubeBulge: + frame SPRITE_ANIM_OAMSET_35, 3 + frame SPRITE_ANIM_OAMSET_36, 3 + dorestart + +.Frameset_TrademonIcon: + frame SPRITE_ANIM_OAMSET_TRADEMON_ICON_1, 7 + frame SPRITE_ANIM_OAMSET_TRADEMON_ICON_2, 7 + dorestart + +.Frameset_TrademonBubble: + frame SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE, 32 + endanim + +.Frameset_EvolutionBallOfLight: + frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2, 2 + frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1, 2 + frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2, 2 + endanim + +.Frameset_RadioTuningKnob: + frame SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB, 32 + endanim + +.Frameset_MagnetTrainRed: + frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1, 8 + frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8 + frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1, 8 + frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8, OAM_X_FLIP + dorestart + +; XXX + frame SPRITE_ANIM_OAMSET_43, 8 + frame SPRITE_ANIM_OAMSET_44, 8 + dorestart + +; XXX + frame SPRITE_ANIM_OAMSET_45, 8 + frame SPRITE_ANIM_OAMSET_46, 8 + dorestart + +; XXX + frame SPRITE_ANIM_OAMSET_47, 8 + frame SPRITE_ANIM_OAMSET_48, 8 + dorestart + +; XXX + frame SPRITE_ANIM_OAMSET_49, 1 + frame SPRITE_ANIM_OAMSET_49, 1, OAM_X_FLIP + frame SPRITE_ANIM_OAMSET_49, 1, OAM_X_FLIP, OAM_Y_FLIP + frame SPRITE_ANIM_OAMSET_49, 1, OAM_Y_FLIP + dorestart + +; XXX + frame SPRITE_ANIM_OAMSET_4A, 32 + endanim + +; XXX + frame SPRITE_ANIM_OAMSET_4B, 32 + endanim + +; XXX + frame SPRITE_ANIM_OAMSET_4C, 32 + endanim + +; XXX + frame SPRITE_ANIM_OAMSET_4D, 32 + endanim + +; XXX + frame SPRITE_ANIM_OAMSET_4E, 3 + dorepeat 3 + dorestart + +.Frameset_1c: + dorepeat 32 + endanim + +.Frameset_Leaf: + frame SPRITE_ANIM_OAMSET_LEAF, 32 + endanim + +.Frameset_CutTree: + frame SPRITE_ANIM_OAMSET_TREE_1, 2 + frame SPRITE_ANIM_OAMSET_CUT_TREE_2, 16 + dorepeat 1 + frame SPRITE_ANIM_OAMSET_CUT_TREE_3, 1 + dorepeat 1 + frame SPRITE_ANIM_OAMSET_CUT_TREE_4, 1 + delanim + +.Frameset_EggCrack: + frame SPRITE_ANIM_OAMSET_EGG_CRACK, 32 + endanim + +.Frameset_EggHatch: + frame SPRITE_ANIM_OAMSET_55, 32 + endanim + +.Frameset_21: + frame SPRITE_ANIM_OAMSET_55, 32, OAM_X_FLIP + endanim + +.Frameset_22: + frame SPRITE_ANIM_OAMSET_55, 32, OAM_Y_FLIP + endanim + +.Frameset_23: + frame SPRITE_ANIM_OAMSET_55, 32, OAM_X_FLIP, OAM_Y_FLIP + endanim + +.Frameset_24: + frame SPRITE_ANIM_OAMSET_56, 10 + frame SPRITE_ANIM_OAMSET_57, 9 + frame SPRITE_ANIM_OAMSET_58, 10 + frame SPRITE_ANIM_OAMSET_59, 10 + frame SPRITE_ANIM_OAMSET_58, 9 + frame SPRITE_ANIM_OAMSET_5A, 10 + dorestart + +.Frameset_HeadbuttTree: + frame SPRITE_ANIM_OAMSET_TREE_1, 2 + frame SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2 + frame SPRITE_ANIM_OAMSET_TREE_1, 2 + frame SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2, OAM_X_FLIP + dorestart + +.Frameset_26: + frame SPRITE_ANIM_OAMSET_5C, 2 + endanim + +.Frameset_27: + frame SPRITE_ANIM_OAMSET_5D, 2 + endanim + +.Frameset_28: + frame SPRITE_ANIM_OAMSET_5E, 2 + endanim + +.Frameset_29: + frame SPRITE_ANIM_OAMSET_5F, 2 + endanim + +.Frameset_2a: + frame SPRITE_ANIM_OAMSET_60, 2 + endanim + +.Frameset_2b: + frame SPRITE_ANIM_OAMSET_61, 2 + endanim + +.Frameset_2c: + frame SPRITE_ANIM_OAMSET_62, 2 + endanim + +.Frameset_MobileTradeSentBall: + frame SPRITE_ANIM_OAMSET_TRADE_POOF_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POOF_2, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP + endanim + +.Frameset_MobileTradeOTBall: + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP + frame SPRITE_ANIM_OAMSET_TRADE_POOF_1, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POOF_2, 3 + frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 3 + delanim + +.Frameset_ForMobile22: + frame SPRITE_ANIM_OAMSET_FOR_MOBILE_22_1, 3 + frame SPRITE_ANIM_OAMSET_FOR_MOBILE_22_2, 3 + dorestart + +.Frameset_ForMobile23: + frame SPRITE_ANIM_OAMSET_FOR_MOBILE_23, 3 + endanim + +.Frameset_ForMobile24: + frame SPRITE_ANIM_OAMSET_FOR_MOBILE_24, 3 + endanim + +.Frameset_ForMobile25: + frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_1, 2 + frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_2, 2 + frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_3, 2 + delanim + +.Frameset_IntroSuicune: + frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1, 3 + frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2, 3 + frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3, 3 + frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4, 3 + dorestart + +.Frameset_IntroSuicune2: + frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4, 3 + frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1, 7 + endanim + +.Frameset_IntroPichu: + frame SPRITE_ANIM_OAMSET_INTRO_PICHU_1, 32 + frame SPRITE_ANIM_OAMSET_INTRO_PICHU_2, 7 + frame SPRITE_ANIM_OAMSET_INTRO_PICHU_3, 7 + endanim + +.Frameset_IntroWooper: + frame SPRITE_ANIM_OAMSET_INTRO_WOOPER, 3 + endanim + +.Frameset_IntroUnown1: + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3 + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3 + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7 + delanim + +.Frameset_IntroUnown2: + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_X_FLIP + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_X_FLIP + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_X_FLIP + delanim + +.Frameset_IntroUnown3: + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_Y_FLIP + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_Y_FLIP + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_Y_FLIP + delanim + +.Frameset_IntroUnown4: + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_X_FLIP, OAM_Y_FLIP + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_X_FLIP, OAM_Y_FLIP + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_X_FLIP, OAM_Y_FLIP + delanim + +.Frameset_IntroUnownF2: + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1, 3 + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2, 3 + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3, 3 + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4, 7 + frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5, 7 + endanim + +.Frameset_IntroSuicuneAway: + frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY, 3 + endanim + +.Frameset_IntroUnownF: + dorepeat 0 + endanim + +.Frameset_CelebiLeft: + frame SPRITE_ANIM_OAMSET_CELEBI_1, 8 + frame SPRITE_ANIM_OAMSET_CELEBI_2, 8 + endanim + +.Frameset_CelebiRight: + frame SPRITE_ANIM_OAMSET_CELEBI_1, 8, OAM_X_FLIP + frame SPRITE_ANIM_OAMSET_CELEBI_2, 8, OAM_X_FLIP + endanim +; 8d94d diff --git a/data/sprite_anims/oam.asm b/data/sprite_anims/oam.asm new file mode 100644 index 000000000..99adc9df3 --- /dev/null +++ b/data/sprite_anims/oam.asm @@ -0,0 +1,1131 @@ +SpriteAnimOAMData: ; 8d94d +; entries correspond to SPRITE_ANIM_OAMSET_* constants + ; vtile offset, pointer + dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_1 + dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_2 + dbw $4c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_02 + dbw $5c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_03 + dbw $6c, .OAMData_04 ; SPRITE_ANIM_OAMSET_04 + dbw $6e, .OAMData_04 ; SPRITE_ANIM_OAMSET_05 + dbw $2d, .OAMData_06 ; SPRITE_ANIM_OAMSET_06 + dbw $4d, .OAMData_06 ; SPRITE_ANIM_OAMSET_07 + dbw $60, .OAMData_08 ; SPRITE_ANIM_OAMSET_08 + dbw $00, .OAMData_08 ; SPRITE_ANIM_OAMSET_09 + dbw $00, .OAMData_08 ; SPRITE_ANIM_OAMSET_0A + dbw $06, .OAMData_08 ; SPRITE_ANIM_OAMSET_0B + dbw $0c, .OAMData_0c ; SPRITE_ANIM_OAMSET_0C + dbw $0d, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_0D + dbw $00, .OAMData_0e ; SPRITE_ANIM_OAMSET_0E + dbw $04, .OAMData_0e ; SPRITE_ANIM_OAMSET_0F + dbw $08, .OAMData_0e ; SPRITE_ANIM_OAMSET_10 + dbw $40, .OAMData_0e ; SPRITE_ANIM_OAMSET_11 + dbw $44, .OAMData_0e ; SPRITE_ANIM_OAMSET_12 + dbw $48, .OAMData_0e ; SPRITE_ANIM_OAMSET_13 + dbw $4c, .OAMData_0e ; SPRITE_ANIM_OAMSET_14 + dbw $80, .OAMData_15 ; SPRITE_ANIM_OAMSET_15 + dbw $85, .OAMData_15 ; SPRITE_ANIM_OAMSET_16 + dbw $8a, .OAMData_15 ; SPRITE_ANIM_OAMSET_17 + dbw $00, .OAMData_18 ; SPRITE_ANIM_OAMSET_18 + dbw $01, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_19 + dbw $09, .OAMData_1a ; SPRITE_ANIM_OAMSET_1A + dbw $10, .OAMData_1b ; SPRITE_ANIM_OAMSET_1B + dbw $29, .OAMData_1b ; SPRITE_ANIM_OAMSET_1C + dbw $42, .OAMData_1b ; SPRITE_ANIM_OAMSET_1D + dbw $f8, .OAMData_GSTitleTrail ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1 + dbw $fa, .OAMData_GSTitleTrail ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2 + dbw $00, .OAMData_TextEntryCursor ; SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR + dbw $00, .OAMData_ForFrameset09 ; SPRITE_ANIM_OAMSET_FOR_FRAMESET_09 + dbw $00, .OAMData_22 ; SPRITE_ANIM_OAMSET_22 + dbw $0f, .OAMData_GSIntroStar ; SPRITE_ANIM_OAMSET_GS_INTRO_STAR + dbw $11, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1 + dbw $12, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2 + dbw $13, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3 + dbw $00, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1 + dbw $08, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2 + dbw $10, .OAMData_SlotsChansey1 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1 + dbw $10, .OAMData_SlotsChansey2 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2 + dbw $10, .OAMData_SlotsChansey3 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3 + dbw $10, .OAMData_SlotsChansey4 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4 + dbw $10, .OAMData_SlotsChansey5 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5 + dbw $3a, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_SLOTS_EGG + dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_STILL_CURSOR + dbw $00, .OAMData_TradePokeBall1 ; SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1 + dbw $02, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2 + dbw $06, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_1 + dbw $0a, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_2 + dbw $0e, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_3 + dbw $12, .OAMData_35 ; SPRITE_ANIM_OAMSET_35 + dbw $13, .OAMData_35 ; SPRITE_ANIM_OAMSET_36 + dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_TRADEMON_ICON_1 + dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_TRADEMON_ICON_2 + dbw $10, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE + dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1 + dbw $04, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2 + dbw $00, .OAMData_RadioTuningKnob ; SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB + dbw $00, .OAMData_PartyMonWithMail1 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1 + dbw $00, .OAMData_PartyMonWithMail2 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2 + dbw $00, .OAMData_PartyMonWithItem1 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1 + dbw $00, .OAMData_PartyMonWithItem2 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2 + dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1 + dbw $04, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2 + dbw $00, .OAMData_43 ; SPRITE_ANIM_OAMSET_43 + dbw $30, .OAMData_43 ; SPRITE_ANIM_OAMSET_44 + dbw $03, .OAMData_43 ; SPRITE_ANIM_OAMSET_45 + dbw $33, .OAMData_43 ; SPRITE_ANIM_OAMSET_46 + dbw $06, .OAMData_43 ; SPRITE_ANIM_OAMSET_47 + dbw $36, .OAMData_43 ; SPRITE_ANIM_OAMSET_48 + dbw $09, .OAMData_43 ; SPRITE_ANIM_OAMSET_49 + dbw $39, .OAMData_43 ; SPRITE_ANIM_OAMSET_4A + dbw $0c, .OAMData_4b ; SPRITE_ANIM_OAMSET_4B + dbw $0c, .OAMData_4c ; SPRITE_ANIM_OAMSET_4C + dbw $3c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_4D + dbw $3e, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_4E + dbw $00, .OAMData_Leaf ; SPRITE_ANIM_OAMSET_LEAF + dbw $00, .OAMData_Tree ; SPRITE_ANIM_OAMSET_TREE_1 + dbw $00, .OAMData_CutTree2 ; SPRITE_ANIM_OAMSET_CUT_TREE_2 + dbw $00, .OAMData_CutTree3 ; SPRITE_ANIM_OAMSET_CUT_TREE_3 + dbw $00, .OAMData_CutTree4 ; SPRITE_ANIM_OAMSET_CUT_TREE_4 + dbw $00, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_EGG_CRACK + dbw $01, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_55 + dbw $00, .OAMData_56 ; SPRITE_ANIM_OAMSET_56 + dbw $00, .OAMData_57 ; SPRITE_ANIM_OAMSET_57 + dbw $00, .OAMData_58 ; SPRITE_ANIM_OAMSET_58 + dbw $00, .OAMData_59 ; SPRITE_ANIM_OAMSET_59 + dbw $00, .OAMData_5a ; SPRITE_ANIM_OAMSET_5A + dbw $04, .OAMData_Tree ; SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2 + dbw $00, .OAMData_5c ; SPRITE_ANIM_OAMSET_5C + dbw $00, .OAMData_5d ; SPRITE_ANIM_OAMSET_5D + dbw $00, .OAMData_5e ; SPRITE_ANIM_OAMSET_5E + dbw $00, .OAMData_5f ; SPRITE_ANIM_OAMSET_5F + dbw $00, .OAMData_60 ; SPRITE_ANIM_OAMSET_60 + dbw $00, .OAMData_61 ; SPRITE_ANIM_OAMSET_61 + dbw $00, .OAMData_62 ; SPRITE_ANIM_OAMSET_62 + dbw $00, .OAMData_BlueWalk ; SPRITE_ANIM_OAMSET_BLUE_WALK_1 + dbw $04, .OAMData_BlueWalk ; SPRITE_ANIM_OAMSET_BLUE_WALK_2 + dbw $00, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1 + dbw $04, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2 + dbw $20, .OAMData_ForMobile22 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_22_1 + dbw $21, .OAMData_ForMobile22 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_22_2 + dbw $22, .OAMData_ForMobile25_1 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_1 + dbw $23, .OAMData_ForMobile25_2 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_2 + dbw $27, .OAMData_ForMobile25_3 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_3 + dbw $2a, .OAMData_ForMobile23 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_23 + dbw $2a, .OAMData_ForMobile24 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_24 + dbw $00, .OAMData_IntroSuicune1 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1 + dbw $08, .OAMData_IntroSuicune2 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2 + dbw $60, .OAMData_IntroSuicune3 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3 + dbw $68, .OAMData_IntroSuicune4 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4 + dbw $00, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_1 + dbw $05, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_2 + dbw $0a, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_3 + dbw $50, .OAMData_IntroWooper ; SPRITE_ANIM_OAMSET_INTRO_WOOPER + dbw $00, .OAMData_IntroUnown1 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_1 + dbw $01, .OAMData_IntroUnown2 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_2 + dbw $04, .OAMData_IntroUnown3 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_3 + dbw $00, .OAMData_18 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1 + dbw $01, .OAMData_IntroUnownF2_2 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2 + dbw $03, .OAMData_IntroUnownF2_3 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3 + dbw $08, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4 + dbw $1c, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5 + dbw $80, .OAMData_IntroSuicuneAway ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY + dbw $00, .OAMData_Celebi ; SPRITE_ANIM_OAMSET_CELEBI_1 + dbw $04, .OAMData_Celebi ; SPRITE_ANIM_OAMSET_CELEBI_2 + dbw $d0, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1 + dbw $d3, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2 + dbw $d6, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3 + dbw $6c, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4 + dbw $68, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5 + dbw $64, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6 + dbw $60, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7 + dbw $0c, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8 + dbw $08, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9 + dbw $04, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10 + dbw $00, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11 + +.OAMData_1x1_Palette0: + db 1 + dsprite -1, 4, -1, 4, $00, $00 + +.OAMData_04: + db 4 + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $01, $00 + dsprite 0, 0, -1, 0, $10, $00 + dsprite 0, 0, 0, 0, $11, $00 + +.OAMData_GSIntroStar: + db 4 + dsprite -1, 0, -1, 0, $00, 0 + dsprite -1, 0, 0, 0, $00, 0 | X_FLIP + dsprite 0, 0, -1, 0, $01, 0 + dsprite 0, 0, 0, 0, $01, 0 | X_FLIP + +.OAMData_TradePokeBall1: + db 4 + dsprite -1, 0, -1, 0, $00, $80 + dsprite -1, 0, 0, 0, $00, $a0 + dsprite 0, 0, -1, 0, $01, $80 + dsprite 0, 0, 0, 0, $01, $a0 + +.OAMData_18: + db 4 + dsprite -1, 0, -1, 0, $00, $00 + dsprite -1, 0, 0, 0, $00, $20 + dsprite 0, 0, -1, 0, $00, $40 + dsprite 0, 0, 0, 0, $00, $60 + +.OAMData_35: + db 4 + dsprite -1, 0, -1, 0, $00, $07 + dsprite -1, 0, 0, 0, $00, $27 + dsprite 0, 0, -1, 0, $00, $47 + dsprite 0, 0, 0, 0, $00, $67 +; 8db4b + +; 8db4b + db 4 + dsprite -1, 0, -1, 0, $00, $80 + dsprite -1, 0, 0, 0, $00, $a0 + dsprite 0, 0, -1, 0, $00, $c0 + dsprite 0, 0, 0, 0, $00, $e0 + +.OAMData_TradePoofBubble: + db 16 + dsprite -2, 0, -2, 0, $00, 0 + dsprite -2, 0, -1, 0, $01, 0 + dsprite -1, 0, -2, 0, $02, 0 + dsprite -1, 0, -1, 0, $03, 0 + dsprite -2, 0, 0, 0, $01, 0 | X_FLIP + dsprite -2, 0, 1, 0, $00, 0 | X_FLIP + dsprite -1, 0, 0, 0, $03, 0 | X_FLIP + dsprite -1, 0, 1, 0, $02, 0 | X_FLIP + dsprite 0, 0, -2, 0, $02, 0 | Y_FLIP + dsprite 0, 0, -1, 0, $03, 0 | Y_FLIP + dsprite 1, 0, -2, 0, $00, 0 | Y_FLIP + dsprite 1, 0, -1, 0, $01, 0 | Y_FLIP + dsprite 0, 0, 0, 0, $03, 0 | X_FLIP | Y_FLIP + dsprite 0, 0, 1, 0, $02, 0 | X_FLIP | Y_FLIP + dsprite 1, 0, 0, 0, $01, 0 | X_FLIP | Y_FLIP + dsprite 1, 0, 1, 0, $00, 0 | X_FLIP | Y_FLIP + +.OAMData_1a: + db 36 + dsprite -3, 0, -3, 0, $00, $00 + dsprite -3, 0, -2, 0, $01, $00 + dsprite -3, 0, -1, 0, $02, $00 + dsprite -2, 0, -3, 0, $03, $00 + dsprite -2, 0, -2, 0, $04, $00 + dsprite -2, 0, -1, 0, $05, $00 + dsprite -1, 0, -3, 0, $06, $00 + dsprite -1, 0, -2, 0, $05, $00 + dsprite -1, 0, -1, 0, $05, $00 + dsprite -3, 0, 0, 0, $02, $20 + dsprite -3, 0, 1, 0, $01, $20 + dsprite -3, 0, 2, 0, $00, $20 + dsprite -2, 0, 0, 0, $05, $20 + dsprite -2, 0, 1, 0, $04, $20 + dsprite -2, 0, 2, 0, $03, $20 + dsprite -1, 0, 0, 0, $05, $20 + dsprite -1, 0, 1, 0, $05, $20 + dsprite -1, 0, 2, 0, $06, $20 + dsprite 0, 0, -3, 0, $06, $40 + dsprite 0, 0, -2, 0, $05, $40 + dsprite 0, 0, -1, 0, $05, $40 + dsprite 1, 0, -3, 0, $03, $40 + dsprite 1, 0, -2, 0, $04, $40 + dsprite 1, 0, -1, 0, $05, $40 + dsprite 2, 0, -3, 0, $00, $40 + dsprite 2, 0, -2, 0, $01, $40 + dsprite 2, 0, -1, 0, $02, $40 + dsprite 0, 0, 0, 0, $05, $60 + dsprite 0, 0, 1, 0, $05, $60 + dsprite 0, 0, 2, 0, $06, $60 + dsprite 1, 0, 0, 0, $05, $60 + dsprite 1, 0, 1, 0, $04, $60 + dsprite 1, 0, 2, 0, $03, $60 + dsprite 2, 0, 0, 0, $02, $60 + dsprite 2, 0, 1, 0, $01, $60 + dsprite 2, 0, 2, 0, $00, $60 + +.OAMData_43: + db 9 + dsprite -2, 4, -2, 4, $00, $00 + dsprite -2, 4, -1, 4, $01, $00 + dsprite -2, 4, 0, 4, $02, $00 + dsprite -1, 4, -2, 4, $10, $00 + dsprite -1, 4, -1, 4, $11, $00 + dsprite -1, 4, 0, 4, $12, $00 + dsprite 0, 4, -2, 4, $20, $00 + dsprite 0, 4, -1, 4, $21, $00 + dsprite 0, 4, 0, 4, $22, $00 + +.OAMData_0e: + db 16 + dsprite -2, 0, -2, 0, $00, $00 + dsprite -2, 0, -1, 0, $01, $00 + dsprite -2, 0, 0, 0, $02, $00 + dsprite -2, 0, 1, 0, $03, $00 + dsprite -1, 0, -2, 0, $10, $00 + dsprite -1, 0, -1, 0, $11, $00 + dsprite -1, 0, 0, 0, $12, $00 + dsprite -1, 0, 1, 0, $13, $00 + dsprite 0, 0, -2, 0, $20, $00 + dsprite 0, 0, -1, 0, $21, $00 + dsprite 0, 0, 0, 0, $22, $00 + dsprite 0, 0, 1, 0, $23, $00 + dsprite 1, 0, -2, 0, $30, $00 + dsprite 1, 0, -1, 0, $31, $00 + dsprite 1, 0, 0, 0, $32, $00 + dsprite 1, 0, 1, 0, $33, $00 + +.OAMData_1b: + db 25 + dsprite -3, 4, -3, 4, $00, $00 + dsprite -2, 4, -3, 4, $01, $00 + dsprite -1, 4, -3, 4, $02, $00 + dsprite 0, 4, -3, 4, $03, $00 + dsprite 1, 4, -3, 4, $04, $00 + dsprite -3, 4, -2, 4, $05, $00 + dsprite -2, 4, -2, 4, $06, $00 + dsprite -1, 4, -2, 4, $07, $00 + dsprite 0, 4, -2, 4, $08, $00 + dsprite 1, 4, -2, 4, $09, $00 + dsprite -3, 4, -1, 4, $0a, $00 + dsprite -2, 4, -1, 4, $0b, $00 + dsprite -1, 4, -1, 4, $0c, $00 + dsprite 0, 4, -1, 4, $0d, $00 + dsprite 1, 4, -1, 4, $0e, $00 + dsprite -3, 4, 0, 4, $0f, $00 + dsprite -2, 4, 0, 4, $10, $00 + dsprite -1, 4, 0, 4, $11, $00 + dsprite 0, 4, 0, 4, $12, $00 + dsprite 1, 4, 0, 4, $13, $00 + dsprite -3, 4, 1, 4, $14, $00 + dsprite -2, 4, 1, 4, $15, $00 + dsprite -1, 4, 1, 4, $16, $00 + dsprite 0, 4, 1, 4, $17, $00 + dsprite 1, 4, 1, 4, $18, $00 +; 8dcf9 + +; 8dcf9 + db 36 + dsprite -3, 0, -3, 0, $00, $00 + dsprite -3, 0, -2, 0, $01, $00 + dsprite -3, 0, -1, 0, $02, $00 + dsprite -3, 0, 0, 0, $03, $00 + dsprite -3, 0, 1, 0, $04, $00 + dsprite -3, 0, 2, 0, $05, $00 + dsprite -2, 0, -3, 0, $06, $00 + dsprite -2, 0, -2, 0, $07, $00 + dsprite -2, 0, -1, 0, $08, $00 + dsprite -2, 0, 0, 0, $09, $00 + dsprite -2, 0, 1, 0, $0a, $00 + dsprite -2, 0, 2, 0, $0b, $00 + dsprite -1, 0, -3, 0, $0c, $00 + dsprite -1, 0, -2, 0, $0d, $00 + dsprite -1, 0, -1, 0, $0e, $00 + dsprite -1, 0, 0, 0, $0f, $00 + dsprite -1, 0, 1, 0, $10, $00 + dsprite -1, 0, 2, 0, $11, $00 + dsprite 0, 0, -3, 0, $12, $00 + dsprite 0, 0, -2, 0, $13, $00 + dsprite 0, 0, -1, 0, $14, $00 + dsprite 0, 0, 0, 0, $15, $00 + dsprite 0, 0, 1, 0, $16, $00 + dsprite 0, 0, 2, 0, $17, $00 + dsprite 1, 0, -3, 0, $18, $00 + dsprite 1, 0, -2, 0, $19, $00 + dsprite 1, 0, -1, 0, $1a, $00 + dsprite 1, 0, 0, 0, $1b, $00 + dsprite 1, 0, 1, 0, $1c, $00 + dsprite 1, 0, 2, 0, $1d, $00 + dsprite 2, 0, -3, 0, $1e, $00 + dsprite 2, 0, -2, 0, $1f, $00 + dsprite 2, 0, -1, 0, $20, $00 + dsprite 2, 0, 0, 0, $21, $00 + dsprite 2, 0, 1, 0, $22, $00 + dsprite 2, 0, 2, 0, $23, $00 + +.OAMData_RedWalk: + db 4 + dsprite -1, 0, -1, 0, $00, PAL_OW_RED + dsprite -1, 0, 0, 0, $01, PAL_OW_RED + dsprite 0, 0, -1, 0, $02, PAL_OW_RED + dsprite 0, 0, 0, 0, $03, PAL_OW_RED + +.OAMData_MagnetTrainRed: + db 4 + dsprite -1, 0, -1, 0, $00, PAL_OW_RED | BEHIND_BG + dsprite -1, 0, 0, 0, $01, PAL_OW_RED | BEHIND_BG + dsprite 0, 0, -1, 0, $02, PAL_OW_RED | BEHIND_BG + dsprite 0, 0, 0, 0, $03, PAL_OW_RED | BEHIND_BG + +.OAMData_PartyMonWithMail1: + db 4 + dsprite -1, 0, -1, 0, $00, PAL_OW_RED + dsprite -1, 0, 0, 0, $01, PAL_OW_RED + dsprite 0, 0, -1, 0, $08, PAL_OW_RED + dsprite 0, 0, 0, 0, $03, PAL_OW_RED + +.OAMData_PartyMonWithMail2: + db 4 + dsprite -1, 0, -1, 0, $04, PAL_OW_RED + dsprite -1, 0, 0, 0, $05, PAL_OW_RED + dsprite 0, 0, -1, 0, $08, PAL_OW_RED + dsprite 0, 0, 0, 0, $07, PAL_OW_RED + +.OAMData_PartyMonWithItem1: + db 4 + dsprite -1, 0, -1, 0, $00, PAL_OW_RED + dsprite -1, 0, 0, 0, $01, PAL_OW_RED + dsprite 0, 0, -1, 0, $09, PAL_OW_RED + dsprite 0, 0, 0, 0, $03, PAL_OW_RED + +.OAMData_PartyMonWithItem2: + db 4 + dsprite -1, 0, -1, 0, $04, PAL_OW_RED + dsprite -1, 0, 0, 0, $05, PAL_OW_RED + dsprite 0, 0, -1, 0, $09, PAL_OW_RED + dsprite 0, 0, 0, 0, $07, PAL_OW_RED + +.OAMData_06: + db 6 + dsprite -1, 0, -2, 4, $00, $01 + dsprite -1, 0, -1, 4, $01, $01 + dsprite -1, 0, 0, 4, $02, $01 + dsprite 0, 0, -2, 4, $10, $01 + dsprite 0, 0, -1, 4, $11, $01 + dsprite 0, 0, 0, 4, $12, $01 + +.OAMData_08: + db 29 + dsprite -3, 0, -3, 0, $00, $00 + dsprite -3, 0, -2, 0, $01, $00 + dsprite -3, 0, -1, 0, $02, $00 + dsprite -3, 0, 0, 0, $03, $00 + dsprite -2, 0, -3, 0, $10, $00 + dsprite -2, 0, -2, 0, $11, $00 + dsprite -2, 0, -1, 0, $12, $00 + dsprite -2, 0, 0, 0, $13, $00 + dsprite -1, 0, -3, 0, $20, $00 + dsprite -1, 0, -2, 0, $21, $00 + dsprite -1, 0, -1, 0, $22, $00 + dsprite -1, 0, 0, 0, $23, $00 + dsprite -1, 0, 1, 0, $24, $00 + dsprite 0, 0, -3, 0, $30, $80 + dsprite 0, 0, -2, 0, $31, $80 + dsprite 0, 0, -1, 0, $32, $80 + dsprite 0, 0, 0, 0, $33, $80 + dsprite 0, 0, 1, 0, $34, $80 + dsprite 1, 0, -3, 0, $40, $80 + dsprite 1, 0, -2, 0, $41, $80 + dsprite 1, 0, -1, 0, $42, $80 + dsprite 1, 0, 0, 0, $43, $80 + dsprite 1, 0, 1, 0, $44, $80 + dsprite 1, 0, 2, 0, $45, $80 + dsprite 2, 0, -2, 0, $51, $80 + dsprite 2, 0, -1, 0, $52, $80 + dsprite 2, 0, 0, 0, $53, $80 + dsprite 2, 0, 1, 0, $54, $80 + dsprite 2, 0, 2, 0, $55, $80 + +.OAMData_0c: + db 2 + dsprite -1, 0, -1, 4, $00, $00 + dsprite 0, 0, -1, 4, $10, $00 + +.OAMData_15: + db 5 + dsprite -2, 0, 3, 0, $00, $00 + dsprite -2, 0, 4, 0, $01, $00 + dsprite -1, 0, 2, 0, $02, $00 + dsprite -1, 0, 3, 0, $03, $00 + dsprite 0, 0, 2, 0, $04, $00 + +.OAMData_Leaf: + db 1 + dsprite -1, 4, -1, 4, $00, PAL_OW_TREE + +.OAMData_Tree: + db 4 + dsprite -1, 0, -1, 0, $00, PAL_OW_TREE + dsprite -1, 0, 0, 0, $01, PAL_OW_TREE + dsprite 0, 0, -1, 0, $02, PAL_OW_TREE + dsprite 0, 0, 0, 0, $03, PAL_OW_TREE + +.OAMData_TextEntryCursor: + db 4 + dsprite -1, 7, -1, 7, $00, 0 + dsprite -1, 7, 0, 0, $00, 0 | X_FLIP + dsprite 0, 0, -1, 7, $00, 0 | Y_FLIP + dsprite 0, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP + +.OAMData_ForFrameset09: + db 10 + dsprite -1, 7, 0, 0, $00, 0 + dsprite -1, 7, 1, 0, $01, 0 + dsprite -1, 7, 2, 0, $01, 0 + dsprite -1, 7, 3, 0, $01, 0 + dsprite -1, 7, 4, 0, $00, 0 | X_FLIP + dsprite 0, 0, 0, 0, $00, 0 | Y_FLIP + dsprite 0, 0, 1, 0, $01, 0 | Y_FLIP + dsprite 0, 0, 2, 0, $01, 0 | Y_FLIP + dsprite 0, 0, 3, 0, $01, 0 | Y_FLIP + dsprite 0, 0, 4, 0, $00, 0 | X_FLIP | Y_FLIP + +.OAMData_22: + db 15 + dsprite -3, 4, -2, 4, $00, $11 + dsprite -3, 4, -1, 4, $01, $11 + dsprite -3, 4, 0, 4, $02, $11 + dsprite -2, 4, -2, 4, $03, $11 + dsprite -2, 4, -1, 4, $04, $11 + dsprite -2, 4, 0, 4, $05, $11 + dsprite -1, 4, -2, 4, $06, $11 + dsprite -1, 4, -1, 4, $07, $11 + dsprite -1, 4, 0, 4, $08, $11 + dsprite 0, 4, -2, 4, $09, $11 + dsprite 0, 4, -1, 4, $0a, $11 + dsprite 0, 4, 0, 4, $0b, $11 + dsprite 1, 4, -2, 4, $0c, $11 + dsprite 1, 4, -1, 4, $0d, $11 + dsprite 1, 4, 0, 4, $0e, $11 + +.OAMData_SlotsGolem: + db 6 + dsprite -2, 4, -2, 4, $00, 5 | OBP_NUM + dsprite -2, 4, -1, 4, $02, 5 | OBP_NUM + dsprite -2, 4, 0, 4, $00, 5 | OBP_NUM | X_FLIP + dsprite 0, 4, -2, 4, $04, 5 | OBP_NUM + dsprite 0, 4, -1, 4, $06, 5 | OBP_NUM + dsprite 0, 4, 0, 4, $04, 5 | OBP_NUM | X_FLIP + +.OAMData_SlotsChansey1: + db 6 + dsprite -2, 4, -2, 4, $00, 6 | OBP_NUM + dsprite -2, 4, -1, 4, $02, 6 | OBP_NUM + dsprite -2, 4, 0, 4, $04, 6 | OBP_NUM + dsprite 0, 4, -2, 4, $06, 6 | OBP_NUM + dsprite 0, 4, -1, 4, $08, 6 | OBP_NUM + dsprite 0, 4, 0, 4, $0a, 6 | OBP_NUM + +.OAMData_SlotsChansey2: + db 6 + dsprite -2, 4, -2, 4, $00, 6 | OBP_NUM + dsprite -2, 4, -1, 4, $02, 6 | OBP_NUM + dsprite -2, 4, 0, 4, $04, 6 | OBP_NUM + dsprite 0, 4, -2, 4, $0c, 6 | OBP_NUM + dsprite 0, 4, -1, 4, $0e, 6 | OBP_NUM + dsprite 0, 4, 0, 4, $10, 6 | OBP_NUM + +.OAMData_SlotsChansey3: + db 6 + dsprite -2, 4, -2, 4, $00, 6 | OBP_NUM + dsprite -2, 4, -1, 4, $02, 6 | OBP_NUM + dsprite -2, 4, 0, 4, $04, 6 | OBP_NUM + dsprite 0, 4, -2, 4, $12, 6 | OBP_NUM + dsprite 0, 4, -1, 4, $14, 6 | OBP_NUM + dsprite 0, 4, 0, 4, $16, 6 | OBP_NUM + +.OAMData_SlotsChansey4: + db 6 + dsprite -2, 4, -2, 4, $00, 6 | OBP_NUM + dsprite -2, 4, -1, 4, $02, 6 | OBP_NUM + dsprite -2, 4, 0, 4, $04, 6 | OBP_NUM + dsprite 0, 4, -2, 4, $18, 6 | OBP_NUM + dsprite 0, 4, -1, 4, $1a, 6 | OBP_NUM + dsprite 0, 4, 0, 4, $1c, 6 | OBP_NUM + +.OAMData_SlotsChansey5: + db 6 + dsprite -2, 4, -2, 4, $1e, 6 | OBP_NUM + dsprite -2, 4, -1, 4, $20, 6 | OBP_NUM + dsprite -2, 4, 0, 4, $22, 6 | OBP_NUM + dsprite 0, 4, -2, 4, $24, 6 | OBP_NUM + dsprite 0, 4, -1, 4, $26, 6 | OBP_NUM + dsprite 0, 4, 0, 4, $28, 6 | OBP_NUM + +.OAMData_RadioTuningKnob: + db 3 + dsprite -2, 4, -1, 4, $00, 0 | OBP_NUM + dsprite -1, 4, -1, 4, $00, 0 | OBP_NUM + dsprite 0, 4, -1, 4, $00, 0 | OBP_NUM + +.OAMData_4b: + db 6 + dsprite 0, 0, 0, 0, $00, $00 + dsprite 0, 0, 1, 0, $01, $00 + dsprite 0, 0, 2, 0, $01, $00 + dsprite 0, 0, 3, 0, $01, $00 + dsprite 0, 0, 4, 0, $02, $00 + dsprite 0, 0, 5, 0, $03, $00 + +.OAMData_4c: + db 4 + dsprite 0, 0, 0, 0, $00, $00 + dsprite 0, 0, 1, 0, $01, $00 + dsprite 0, 0, 2, 0, $02, $00 + dsprite 0, 0, 3, 0, $03, $00 + +.OAMData_CutTree2: + db 4 + dsprite -1, 0, -2, 6, $00, PAL_OW_TREE + dsprite -1, 0, 0, 2, $01, PAL_OW_TREE + dsprite 0, 0, -2, 6, $02, PAL_OW_TREE + dsprite 0, 0, 0, 2, $03, PAL_OW_TREE + +.OAMData_CutTree3: + db 4 + dsprite -1, 0, -2, 4, $00, PAL_OW_TREE + dsprite -1, 0, 0, 4, $01, PAL_OW_TREE + dsprite 0, 0, -2, 4, $02, PAL_OW_TREE + dsprite 0, 0, 0, 4, $03, PAL_OW_TREE + +.OAMData_CutTree4: + db 4 + dsprite -1, 0, -2, 0, $00, PAL_OW_TREE + dsprite -1, 0, 1, 0, $01, PAL_OW_TREE + dsprite 0, 0, -2, 0, $02, PAL_OW_TREE + dsprite 0, 0, 1, 0, $03, PAL_OW_TREE + +.OAMData_56: + db 19 + dsprite -1, 0, -4, 0, $00, $00 + dsprite -2, 0, -3, 0, $02, $00 + dsprite 0, 0, -3, 0, $04, $00 + dsprite -3, 0, -2, 0, $06, $00 + dsprite -1, 0, -2, 0, $08, $00 + dsprite 1, 0, -2, 0, $0a, $00 + dsprite -3, 0, -1, 0, $0c, $00 + dsprite -1, 0, -1, 0, $0e, $00 + dsprite 1, 0, -1, 0, $10, $00 + dsprite -3, 0, 0, 0, $12, $00 + dsprite -1, 0, 0, 0, $14, $00 + dsprite 1, 0, 0, 0, $16, $00 + dsprite -3, 0, 1, 0, $18, $00 + dsprite -1, 0, 1, 0, $1a, $00 + dsprite 1, 0, 1, 0, $1c, $00 + dsprite -1, 0, 2, 0, $1e, $00 + dsprite 1, 0, 2, 0, $20, $00 + dsprite -2, 0, 3, 0, $22, $00 + dsprite 0, 0, 3, 0, $24, $00 + +.OAMData_57: + db 16 + dsprite -1, 0, -4, 0, $00, $00 + dsprite -2, 0, -3, 0, $02, $00 + dsprite 0, 0, -3, 0, $04, $00 + dsprite -1, 0, -2, 0, $26, $00 + dsprite 1, 0, -2, 0, $0a, $00 + dsprite -3, 0, -1, 0, $28, $00 + dsprite -1, 0, -1, 0, $2a, $00 + dsprite 1, 0, -1, 0, $10, $00 + dsprite -1, 0, 0, 0, $2c, $00 + dsprite 1, 0, 0, 0, $16, $00 + dsprite -1, 0, 1, 0, $30, $00 + dsprite 1, 0, 1, 0, $1c, $00 + dsprite -1, 0, 2, 0, $1e, $00 + dsprite 1, 0, 2, 0, $20, $00 + dsprite -2, 0, 3, 0, $22, $00 + dsprite 0, 0, 3, 0, $24, $00 + +.OAMData_58: + db 15 + dsprite -1, 0, -4, 0, $00, $00 + dsprite -2, 0, -3, 0, $02, $00 + dsprite 0, 0, -3, 0, $32, $00 + dsprite -1, 0, -2, 0, $34, $00 + dsprite 1, 0, -2, 0, $36, $00 + dsprite -1, 0, -1, 0, $38, $00 + dsprite 1, 0, -1, 0, $3a, $00 + dsprite -1, 0, 0, 0, $3c, $00 + dsprite 1, 0, 0, 0, $3e, $00 + dsprite -1, 0, 1, 0, $30, $00 + dsprite 1, 0, 1, 0, $1c, $00 + dsprite -1, 0, 2, 0, $1e, $00 + dsprite 1, 0, 2, 0, $20, $00 + dsprite -2, 0, 3, 0, $22, $00 + dsprite 0, 0, 3, 0, $24, $00 + +.OAMData_59: + db 17 + dsprite -1, 0, -4, 0, $00, $00 + dsprite -2, 0, -3, 0, $02, $00 + dsprite 0, 0, -3, 0, $04, $00 + dsprite -1, 0, -2, 0, $40, $00 + dsprite 1, 0, -2, 0, $42, $00 + dsprite 3, 0, -2, 0, $44, $00 + dsprite -1, 0, -1, 0, $46, $00 + dsprite 1, 0, -1, 0, $48, $00 + dsprite 3, 0, -1, 0, $4a, $00 + dsprite -1, 0, 0, 0, $4c, $00 + dsprite 1, 0, 0, 0, $4e, $00 + dsprite -1, 0, 1, 0, $30, $00 + dsprite 1, 0, 1, 0, $1c, $00 + dsprite -1, 0, 2, 0, $1e, $00 + dsprite 1, 0, 2, 0, $20, $00 + dsprite -2, 0, 3, 0, $22, $00 + dsprite 0, 0, 3, 0, $24, $00 + +.OAMData_5a: + db 17 + dsprite -1, 0, -4, 0, $00, $00 + dsprite -2, 0, -3, 0, $02, $00 + dsprite 0, 0, -3, 0, $04, $00 + dsprite -1, 0, -2, 0, $50, $00 + dsprite 1, 0, -2, 0, $0a, $00 + dsprite -3, 0, -1, 0, $52, $00 + dsprite -1, 0, -1, 0, $54, $00 + dsprite 1, 0, -1, 0, $10, $00 + dsprite -3, 0, 0, 0, $56, $00 + dsprite -1, 0, 0, 0, $2e, $00 + dsprite 1, 0, 0, 0, $16, $00 + dsprite -1, 0, 1, 0, $30, $00 + dsprite 1, 0, 1, 0, $1c, $00 + dsprite -1, 0, 2, 0, $1e, $00 + dsprite 1, 0, 2, 0, $20, $00 + dsprite -2, 0, 3, 0, $22, $00 + dsprite 0, 0, 3, 0, $24, $00 + +.OAMData_GSTitleTrail: + db 1 + dsprite -1, 4, -1, 4, $00, 1 | OBP_NUM + +.OAMData_5c: + db 12 + dsprite 0, 0, 0, 0, $30, $00 + dsprite 0, 0, 1, 0, $31, $00 + dsprite 0, 0, 2, 0, $31, $00 + dsprite 0, 0, 3, 0, $31, $00 + dsprite 0, 0, 4, 0, $31, $00 + dsprite 0, 0, 5, 0, $32, $00 + dsprite 1, 0, 0, 0, $33, $00 + dsprite 1, 0, 1, 0, $34, $00 + dsprite 1, 0, 2, 0, $34, $00 + dsprite 1, 0, 3, 0, $34, $00 + dsprite 1, 0, 4, 0, $34, $00 + dsprite 1, 0, 5, 0, $35, $00 + +.OAMData_5d: + db 1 + dsprite 0, 0, 0, 0, $ed, $00 + +.OAMData_5e: + db 4 + dsprite -1, 7, -1, 7, $30, $00 + dsprite -1, 7, 0, 1, $32, $00 + dsprite 0, 1, -1, 7, $33, $00 + dsprite 0, 1, 0, 1, $35, $00 + +.OAMData_5f: + db 8 + dsprite -1, 7, -1, 7, $30, $00 + dsprite -1, 7, 0, 4, $31, $00 + dsprite -1, 7, 1, 4, $31, $00 + dsprite -1, 7, 2, 1, $32, $00 + dsprite 0, 1, -1, 7, $33, $00 + dsprite 0, 1, 0, 4, $34, $00 + dsprite 0, 1, 1, 4, $34, $00 + dsprite 0, 1, 2, 1, $35, $00 + +.OAMData_60: + db 1 + dsprite 0, 0, 0, 0, $34, $00 + +.OAMData_61: + db 2 + dsprite 0, 0, 0, 0, $30, $00 + dsprite 1, 0, 0, 0, $33, $00 + +.OAMData_62: + db 2 + dsprite 0, 0, 0, 0, $32, $00 + dsprite 1, 0, 0, 0, $35, $00 + +.OAMData_BlueWalk: + db 4 + dsprite -1, 0, -1, 0, $00, PAL_OW_BLUE + dsprite -1, 0, 0, 0, $01, PAL_OW_BLUE + dsprite 0, 0, -1, 0, $02, PAL_OW_BLUE + dsprite 0, 0, 0, 0, $03, PAL_OW_BLUE + +.OAMData_MagnetTrainBlue: + db 4 + dsprite -1, 0, -1, 0, $00, PAL_OW_BLUE | BEHIND_BG + dsprite -1, 0, 0, 0, $01, PAL_OW_BLUE | BEHIND_BG + dsprite 0, 0, -1, 0, $02, PAL_OW_BLUE | BEHIND_BG + dsprite 0, 0, 0, 0, $03, PAL_OW_BLUE | BEHIND_BG + +.OAMData_ForMobile22: + db 1 + dsprite -1, 4, -1, 4, $00, 2 + +.OAMData_ForMobile23: + db 4 + dsprite -2, 0, -1, 4, $00, 3 + dsprite -1, 0, -1, 4, $01, 3 + dsprite 0, 0, -1, 4, $02, 3 + dsprite 1, 0, -1, 4, $03, 3 + +.OAMData_ForMobile24: + db 4 + dsprite -2, 0, -1, 4, $03, 4 | Y_FLIP + dsprite -1, 0, -1, 4, $02, 4 | Y_FLIP + dsprite 0, 0, -1, 4, $01, 4 | Y_FLIP + dsprite 1, 0, -1, 4, $00, 4 | Y_FLIP + +.OAMData_ForMobile25_1: + db 4 + dsprite -1, 0, -1, 0, $00, 1 + dsprite -1, 0, 0, 0, $00, 1 | X_FLIP + dsprite 0, 0, -1, 0, $00, 1 | Y_FLIP + dsprite 0, 0, 0, 0, $00, 1 | X_FLIP | Y_FLIP + +.OAMData_ForMobile25_2: + db 8 + dsprite -2, 4, -2, 4, $00, 1 + dsprite -2, 4, -1, 4, $01, 1 + dsprite -2, 4, 0, 4, $00, 1 | X_FLIP + dsprite -1, 4, -2, 4, $02, 1 + dsprite -1, 4, 0, 4, $02, 1 | X_FLIP + dsprite 0, 4, -2, 4, $00, 1 | Y_FLIP + dsprite 0, 4, -1, 4, $01, 1 | Y_FLIP + dsprite 0, 4, 0, 4, $00, 1 | X_FLIP | Y_FLIP + +.OAMData_ForMobile25_3: + db 12 + dsprite -2, 0, -2, 0, $00, 1 + dsprite -2, 0, -1, 0, $01, 1 + dsprite -1, 0, -2, 0, $02, 1 + dsprite -2, 0, 0, 0, $01, 1 | X_FLIP + dsprite -2, 0, 1, 0, $00, 1 | X_FLIP + dsprite -1, 0, 1, 0, $02, 1 | X_FLIP + dsprite 0, 0, -2, 0, $02, 1 | Y_FLIP + dsprite 1, 0, -2, 0, $00, 1 | Y_FLIP + dsprite 1, 0, -1, 0, $01, 1 | Y_FLIP + dsprite 0, 0, 1, 0, $02, 1 | X_FLIP | Y_FLIP + dsprite 1, 0, 0, 0, $01, 1 | X_FLIP | Y_FLIP + dsprite 1, 0, 1, 0, $00, 1 | X_FLIP | Y_FLIP + +.OAMData_IntroSuicune1: + db 36 + dsprite -3, 0, 1, 0, $05, 0 + dsprite -3, 0, 2, 0, $06, 0 + dsprite -3, 0, 3, 0, $07, 0 + dsprite -2, 0, -3, 0, $11, 0 + dsprite -2, 0, -2, 0, $12, 0 + dsprite -2, 0, -1, 0, $13, 0 + dsprite -2, 0, 0, 0, $14, 0 + dsprite -2, 0, 1, 0, $15, 0 + dsprite -2, 0, 2, 0, $16, 0 + dsprite -2, 0, 3, 0, $17, 0 + dsprite -1, 0, -4, 0, $20, 0 + dsprite -1, 0, -3, 0, $21, 0 + dsprite -1, 0, -2, 0, $22, 0 + dsprite -1, 0, -1, 0, $23, 0 + dsprite -1, 0, 0, 0, $24, 0 + dsprite -1, 0, 1, 0, $25, 0 + dsprite -1, 0, 2, 0, $26, 0 + dsprite -1, 0, 3, 0, $27, 0 + dsprite 0, 0, -4, 0, $30, 0 + dsprite 0, 0, -3, 0, $31, 0 + dsprite 0, 0, -2, 0, $32, 0 + dsprite 0, 0, -1, 0, $33, 0 + dsprite 0, 0, 0, 0, $34, 0 + dsprite 0, 0, 1, 0, $35, 0 + dsprite 0, 0, 2, 0, $36, 0 + dsprite 1, 0, -4, 0, $40, 0 + dsprite 1, 0, -3, 0, $41, 0 + dsprite 1, 0, -2, 0, $42, 0 + dsprite 1, 0, -1, 0, $43, 0 + dsprite 1, 0, 0, 0, $44, 0 + dsprite 1, 0, 1, 0, $45, 0 + dsprite 1, 0, 2, 0, $46, 0 + dsprite 1, 0, 3, 0, $47, 0 + dsprite 2, 0, -4, 0, $50, 0 + dsprite 2, 0, -3, 0, $51, 0 + dsprite 2, 0, 3, 0, $57, 0 + +.OAMData_IntroSuicune2: + db 28 + dsprite -3, 0, 0, 0, $04, 0 + dsprite -3, 0, 1, 0, $05, 0 + dsprite -3, 0, 2, 0, $06, 0 + dsprite -2, 0, -3, 0, $11, 0 + dsprite -2, 0, -2, 0, $12, 0 + dsprite -2, 0, -1, 0, $13, 0 + dsprite -2, 0, 0, 0, $14, 0 + dsprite -2, 0, 1, 0, $15, 0 + dsprite -2, 0, 2, 0, $16, 0 + dsprite -1, 0, -3, 0, $21, 0 + dsprite -1, 0, -2, 0, $22, 0 + dsprite -1, 0, -1, 0, $23, 0 + dsprite -1, 0, 0, 0, $24, 0 + dsprite -1, 0, 1, 0, $25, 0 + dsprite -1, 0, 2, 0, $26, 0 + dsprite 0, 0, -4, 0, $30, 0 + dsprite 0, 0, -3, 0, $31, 0 + dsprite 0, 0, -2, 0, $32, 0 + dsprite 0, 0, -1, 0, $33, 0 + dsprite 0, 0, 0, 0, $34, 0 + dsprite 0, 0, 1, 0, $35, 0 + dsprite 1, 0, -2, 0, $42, 0 + dsprite 1, 0, -1, 0, $43, 0 + dsprite 1, 0, 0, 0, $44, 0 + dsprite 1, 0, 1, 0, $45, 0 + dsprite 2, 0, -1, 0, $53, 0 + dsprite 2, 0, 0, 0, $54, 0 + dsprite 2, 0, 1, 0, $55, 0 + +.OAMData_IntroSuicune3: + db 30 + dsprite -3, 0, 0, 0, $04, 0 + dsprite -3, 0, 1, 0, $05, 0 + dsprite -2, 0, -3, 0, $11, 0 + dsprite -2, 0, -2, 0, $12, 0 + dsprite -2, 0, -1, 0, $13, 0 + dsprite -2, 0, 0, 0, $14, 0 + dsprite -2, 0, 1, 0, $15, 0 + dsprite -2, 0, 2, 0, $16, 0 + dsprite -2, 0, 3, 0, $17, 0 + dsprite -1, 0, -4, 0, $20, 0 + dsprite -1, 0, -3, 0, $21, 0 + dsprite -1, 0, -2, 0, $22, 0 + dsprite -1, 0, -1, 0, $23, 0 + dsprite -1, 0, 0, 0, $24, 0 + dsprite -1, 0, 1, 0, $25, 0 + dsprite -1, 0, 2, 0, $26, 0 + dsprite 0, 0, -4, 0, $30, 0 + dsprite 0, 0, -3, 0, $31, 0 + dsprite 0, 0, -2, 0, $32, 0 + dsprite 0, 0, -1, 0, $33, 0 + dsprite 0, 0, 0, 0, $34, 0 + dsprite 0, 0, 1, 0, $35, 0 + dsprite 1, 0, -2, 0, $42, 0 + dsprite 1, 0, -1, 0, $43, 0 + dsprite 1, 0, 0, 0, $44, 0 + dsprite 1, 0, 1, 0, $45, 0 + dsprite 2, 0, -2, 0, $52, 0 + dsprite 2, 0, -1, 0, $53, 0 + dsprite 2, 0, 0, 0, $54, 0 + dsprite 2, 0, 1, 0, $55, 0 + +.OAMData_IntroSuicune4: + db 31 + dsprite -2, 0, -3, 0, $11, 0 + dsprite -2, 0, -2, 0, $12, 0 + dsprite -2, 0, -1, 0, $13, 0 + dsprite -2, 0, 0, 0, $14, 0 + dsprite -2, 0, 1, 0, $15, 0 + dsprite -2, 0, 2, 0, $16, 0 + dsprite -2, 0, 3, 0, $17, 0 + dsprite -1, 0, -4, 0, $20, 0 + dsprite -1, 0, -3, 0, $21, 0 + dsprite -1, 0, -2, 0, $22, 0 + dsprite -1, 0, -1, 0, $23, 0 + dsprite -1, 0, 0, 0, $24, 0 + dsprite -1, 0, 1, 0, $25, 0 + dsprite -1, 0, 2, 0, $26, 0 + dsprite -1, 0, 3, 0, $27, 0 + dsprite 0, 0, -4, 0, $30, 0 + dsprite 0, 0, -3, 0, $31, 0 + dsprite 0, 0, -2, 0, $32, 0 + dsprite 0, 0, -1, 0, $33, 0 + dsprite 0, 0, 0, 0, $34, 0 + dsprite 0, 0, 1, 0, $35, 0 + dsprite 0, 0, 2, 0, $36, 0 + dsprite 1, 0, -3, 0, $41, 0 + dsprite 1, 0, -2, 0, $42, 0 + dsprite 1, 0, -1, 0, $43, 0 + dsprite 1, 0, 0, 0, $44, 0 + dsprite 1, 0, 1, 0, $45, 0 + dsprite 2, 0, -3, 0, $51, 0 + dsprite 2, 0, -2, 0, $52, 0 + dsprite 2, 0, 0, 0, $54, 0 + dsprite 2, 0, 1, 0, $55, 0 + +.OAMData_IntroPichu: + db 25 + dsprite -3, 4, -3, 4, $00, 1 | VRAM_BANK_1 + dsprite -3, 4, -2, 4, $01, 1 | VRAM_BANK_1 + dsprite -3, 4, -1, 4, $02, 1 | VRAM_BANK_1 + dsprite -3, 4, 0, 4, $03, 1 | VRAM_BANK_1 + dsprite -3, 4, 1, 4, $04, 1 | VRAM_BANK_1 + dsprite -2, 4, -3, 4, $10, 1 | VRAM_BANK_1 + dsprite -2, 4, -2, 4, $11, 1 | VRAM_BANK_1 + dsprite -2, 4, -1, 4, $12, 1 | VRAM_BANK_1 + dsprite -2, 4, 0, 4, $13, 1 | VRAM_BANK_1 + dsprite -2, 4, 1, 4, $14, 1 | VRAM_BANK_1 + dsprite -1, 4, -3, 4, $20, 1 | VRAM_BANK_1 + dsprite -1, 4, -2, 4, $21, 1 | VRAM_BANK_1 + dsprite -1, 4, -1, 4, $22, 1 | VRAM_BANK_1 + dsprite -1, 4, 0, 4, $23, 1 | VRAM_BANK_1 + dsprite -1, 4, 1, 4, $24, 1 | VRAM_BANK_1 + dsprite 0, 4, -3, 4, $30, 1 | VRAM_BANK_1 + dsprite 0, 4, -2, 4, $31, 1 | VRAM_BANK_1 + dsprite 0, 4, -1, 4, $32, 1 | VRAM_BANK_1 + dsprite 0, 4, 0, 4, $33, 1 | VRAM_BANK_1 + dsprite 0, 4, 1, 4, $34, 1 | VRAM_BANK_1 + dsprite 1, 4, -3, 4, $40, 1 | VRAM_BANK_1 + dsprite 1, 4, -2, 4, $41, 1 | VRAM_BANK_1 + dsprite 1, 4, -1, 4, $42, 1 | VRAM_BANK_1 + dsprite 1, 4, 0, 4, $43, 1 | VRAM_BANK_1 + dsprite 1, 4, 1, 4, $44, 1 | VRAM_BANK_1 + +.OAMData_IntroWooper: + db 16 + dsprite -2, 0, -3, 4, $00, 2 | VRAM_BANK_1 + dsprite -2, 0, -2, 4, $01, 2 | VRAM_BANK_1 + dsprite -2, 0, -1, 4, $02, 2 | VRAM_BANK_1 + dsprite -2, 0, 0, 4, $03, 2 | VRAM_BANK_1 + dsprite -1, 0, -3, 4, $04, 2 | VRAM_BANK_1 + dsprite -1, 0, -2, 4, $05, 2 | VRAM_BANK_1 + dsprite -1, 0, -1, 4, $06, 2 | VRAM_BANK_1 + dsprite -1, 0, 0, 4, $07, 2 | VRAM_BANK_1 + dsprite 0, 0, -3, 4, $08, 2 | VRAM_BANK_1 + dsprite 0, 0, -2, 4, $09, 2 | VRAM_BANK_1 + dsprite 0, 0, -1, 4, $0a, 2 | VRAM_BANK_1 + dsprite 0, 0, 0, 4, $0b, 2 | VRAM_BANK_1 + dsprite 1, 0, -3, 4, $0c, 2 | VRAM_BANK_1 + dsprite 1, 0, -2, 4, $0d, 2 | VRAM_BANK_1 + dsprite 1, 0, -1, 4, $0e, 2 | VRAM_BANK_1 + dsprite 1, 0, 0, 4, $0f, 2 | VRAM_BANK_1 + +.OAMData_IntroUnown1: + db 1 + dsprite -1, 4, -1, 4, $00, $00 + +.OAMData_IntroUnown2: + db 3 + dsprite 0, 0, -1, 0, $00, $00 + dsprite -1, 0, -1, 0, $01, $00 + dsprite -1, 0, 0, 0, $02, $00 + +.OAMData_IntroUnown3: + db 7 + dsprite 1, 0, -2, 0, $00, $00 + dsprite 0, 0, -2, 0, $01, $00 + dsprite -1, 0, -2, 0, $02, $00 + dsprite -1, 0, -1, 0, $03, $00 + dsprite -2, 0, -1, 0, $04, $00 + dsprite -2, 0, 0, 0, $05, $00 + dsprite -2, 0, 1, 0, $06, $00 + +.OAMData_IntroUnownF2_2: + db 8 + dsprite -1, 0, -2, 0, $00, 0 + dsprite -1, 0, -1, 0, $01, 0 + dsprite -1, 0, 0, 0, $01, 0 | X_FLIP + dsprite -1, 0, 1, 0, $00, 0 | X_FLIP + dsprite 0, 0, -2, 0, $00, 0 | Y_FLIP + dsprite 0, 0, -1, 0, $01, 0 | Y_FLIP + dsprite 0, 0, 0, 0, $01, 0 | X_FLIP | Y_FLIP + dsprite 0, 0, 1, 0, $00, 0 | X_FLIP | Y_FLIP + +.OAMData_IntroUnownF2_3: + db 12 + dsprite -3, 0, -1, 0, $00, 0 + dsprite -2, 0, -1, 0, $01, 0 + dsprite -1, 0, -1, 0, $02, 0 + dsprite -3, 0, 0, 0, $00, 0 | X_FLIP + dsprite -2, 0, 0, 0, $01, 0 | X_FLIP + dsprite -1, 0, 0, 0, $02, 0 | X_FLIP + dsprite 0, 0, -1, 0, $02, 0 | Y_FLIP + dsprite 1, 0, -1, 0, $01, 0 | Y_FLIP + dsprite 2, 0, -1, 0, $00, 0 | Y_FLIP + dsprite 0, 0, 0, 0, $02, 0 | X_FLIP | Y_FLIP + dsprite 1, 0, 0, 0, $01, 0 | X_FLIP | Y_FLIP + dsprite 2, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP + +.OAMData_IntroUnownF2_4_5: + db 20 + dsprite -3, 4, -2, 0, $00, 0 + dsprite -3, 4, -1, 0, $01, 0 + dsprite -3, 4, 0, 0, $02, 0 + dsprite -3, 4, 1, 0, $03, 0 + dsprite -2, 4, -2, 0, $04, 0 + dsprite -2, 4, -1, 0, $05, 0 + dsprite -2, 4, 0, 0, $06, 0 + dsprite -2, 4, 1, 0, $07, 0 + dsprite -1, 4, -2, 0, $08, 0 + dsprite -1, 4, -1, 0, $09, 0 + dsprite -1, 4, 0, 0, $0a, 0 + dsprite -1, 4, 1, 0, $0b, 0 + dsprite 0, 4, -2, 0, $0c, 0 + dsprite 0, 4, -1, 0, $0d, 0 + dsprite 0, 4, 0, 0, $0e, 0 + dsprite 0, 4, 1, 0, $0f, 0 + dsprite 1, 4, -2, 0, $10, 0 + dsprite 1, 4, -1, 0, $11, 0 + dsprite 1, 4, 0, 0, $12, 0 + dsprite 1, 4, 1, 0, $13, 0 + +.OAMData_IntroSuicuneAway: + db 20 + dsprite 0, 0, 1, 0, $00, 1 | BEHIND_BG + dsprite 1, 0, 2, 0, $00, 1 | BEHIND_BG + dsprite 2, 0, 3, 0, $00, 1 | BEHIND_BG + dsprite 3, 0, 4, 0, $00, 1 | BEHIND_BG + dsprite 4, 0, 5, 0, $00, 1 | BEHIND_BG + dsprite 3, 0, 6, 0, $00, 1 | BEHIND_BG + dsprite 2, 0, 7, 0, $00, 1 | BEHIND_BG + dsprite 1, 0, 8, 0, $00, 1 | BEHIND_BG + dsprite 0, 0, 9, 0, $00, 1 | BEHIND_BG + dsprite 1, 0, 10, 0, $00, 1 | BEHIND_BG + dsprite 2, 0, 11, 0, $00, 1 | BEHIND_BG + dsprite 3, 0, 12, 0, $00, 1 | BEHIND_BG + dsprite 4, 0, 13, 0, $00, 1 | BEHIND_BG + dsprite 3, 0, 14, 0, $00, 1 | BEHIND_BG + dsprite 2, 0, 15, 0, $00, 1 | BEHIND_BG + dsprite 1, 0, 16, 0, $00, 1 | BEHIND_BG + dsprite 0, 0, -15, 0, $00, 1 | BEHIND_BG + dsprite 1, 0, -14, 0, $00, 1 | BEHIND_BG + dsprite 2, 0, -13, 0, $00, 1 | BEHIND_BG + dsprite 3, 0, -12, 0, $00, 1 | BEHIND_BG + +.OAMData_Celebi: + db 4 + dsprite -1, 0, -1, 0, $00, PAL_OW_GREEN + dsprite -1, 0, 0, 0, $01, PAL_OW_GREEN + dsprite 0, 0, -1, 0, $02, PAL_OW_GREEN + dsprite 0, 0, 0, 0, $03, PAL_OW_GREEN + +.OAMData_GameFreakLogo1_3: + db 9 + dsprite -2, 0, -2, 4, $00, 1 + dsprite -2, 0, -1, 4, $01, 1 + dsprite -2, 0, 0, 4, $02, 1 + dsprite -1, 0, -2, 4, $10, 1 + dsprite -1, 0, -1, 4, $11, 1 + dsprite -1, 0, 0, 4, $12, 1 + dsprite 0, 0, -2, 4, $20, 1 + dsprite 0, 0, -1, 4, $21, 1 + dsprite 0, 0, 0, 4, $22, 1 + +.OAMData_GameFreakLogo4_11: + db 24 + dsprite -5, 0, -2, 4, $00, 1 + dsprite -5, 0, -1, 4, $01, 1 + dsprite -5, 0, 0, 4, $02, 1 + dsprite -5, 0, 1, 4, $03, 1 + dsprite -4, 0, -2, 4, $10, 1 + dsprite -4, 0, -1, 4, $11, 1 + dsprite -4, 0, 0, 4, $12, 1 + dsprite -4, 0, 1, 4, $13, 1 + dsprite -3, 0, -2, 4, $20, 1 + dsprite -3, 0, -1, 4, $21, 1 + dsprite -3, 0, 0, 4, $22, 1 + dsprite -3, 0, 1, 4, $23, 1 + dsprite -2, 0, -2, 4, $30, 1 + dsprite -2, 0, -1, 4, $31, 1 + dsprite -2, 0, 0, 4, $32, 1 + dsprite -2, 0, 1, 4, $33, 1 + dsprite -1, 0, -2, 4, $40, 1 + dsprite -1, 0, -1, 4, $41, 1 + dsprite -1, 0, 0, 4, $42, 1 + dsprite -1, 0, 1, 4, $43, 1 + dsprite 0, 0, -2, 4, $50, 1 + dsprite 0, 0, -1, 4, $51, 1 + dsprite 0, 0, 0, 4, $52, 1 + dsprite 0, 0, 1, 4, $53, 1 +; 8e706 diff --git a/data/sprite_anims/sequences.asm b/data/sprite_anims/sequences.asm new file mode 100644 index 000000000..70544a60a --- /dev/null +++ b/data/sprite_anims/sequences.asm @@ -0,0 +1,49 @@ +SpriteAnimSeqData: ; 8d1c4 +; entries correspond to SPRITE_ANIM_INDEX_* constants + ; frameset sequence, tile + db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, $00 ; SPRITE_ANIM_INDEX_PARTY_MON + db SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL, SPRITE_ANIM_SEQ_GS_TITLE_TRAIL, $00 ; SPRITE_ANIM_INDEX_GS_TITLE_TRAIL + db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, $05 ; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR + db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00 ; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO + db SPRITE_ANIM_FRAMESET_GS_INTRO_STAR, SPRITE_ANIM_SEQ_GS_INTRO_STAR, $06 ; SPRITE_ANIM_INDEX_GS_INTRO_STAR + db SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE, SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE, $06 ; SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE + db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOTS_GOLEM, $07 ; SPRITE_ANIM_INDEX_SLOTS_GOLEM + db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07 ; SPRITE_ANIM_INDEX_SLOTS_CHANSEY + db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07 ; SPRITE_ANIM_INDEX_SLOTS_EGG + db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_MAIL_CURSOR, $05 ; SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR + db SPRITE_ANIM_FRAMESET_RED_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_RED_WALK + db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_FOR_UNUSED_CURSOR, $08 ; SPRITE_ANIM_INDEX_UNUSED_CURSOR + db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR, $08 ; SPRITE_ANIM_INDEX_DUMMY_GAME + db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_POKEGEAR_ARROW, $08 ; SPRITE_ANIM_INDEX_POKEGEAR_ARROW + db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_TRADE_POKE_BALL, $00 ; SPRITE_ANIM_INDEX_TRADE_POKE_BALL + db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_TRADE_POOF + db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE, $00 ; SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE + db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; SPRITE_ANIM_INDEX_TRADEMON_ICON + db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; SPRITE_ANIM_INDEX_TRADEMON_BUBBLE + db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 ; SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT + db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB, $00 ; SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB + db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED + db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_CUT_LEAVES, $00 ; SPRITE_ANIM_INDEX_LEAF + db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_CUT_TREE + db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00 ; SPRITE_ANIM_INDEX_FLY_LEAF + db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_EGG_CRACK + db SPRITE_ANIM_FRAMESET_24, SPRITE_ANIM_SEQ_19, $00 ; SPRITE_ANIM_INDEX_1A + db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_HEADBUTT + db SPRITE_ANIM_FRAMESET_EGG_HATCH, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 ; SPRITE_ANIM_INDEX_EGG_HATCH + db SPRITE_ANIM_FRAMESET_26, SPRITE_ANIM_SEQ_1A, $00 ; SPRITE_ANIM_INDEX_1D + db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_BLUE_WALK + db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE + db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL + db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL + db SPRITE_ANIM_FRAMESET_FOR_MOBILE_22, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_22 + db SPRITE_ANIM_FRAMESET_FOR_MOBILE_23, SPRITE_ANIM_SEQ_FOR_MOBILE_23, $00 ; SPRITE_ANIM_INDEX_MOBILE_23 + db SPRITE_ANIM_FRAMESET_FOR_MOBILE_24, SPRITE_ANIM_SEQ_FOR_MOBILE_24, $00 ; SPRITE_ANIM_INDEX_MOBILE_24 + db SPRITE_ANIM_FRAMESET_FOR_MOBILE_25, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_25 + db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_INTRO_SUICUNE, $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE + db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 ; SPRITE_ANIM_INDEX_INTRO_PICHU + db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 ; SPRITE_ANIM_INDEX_INTRO_WOOPER + db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_INTRO_UNOWN, $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN + db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_INTRO_UNOWN_F, $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN_F + db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY + db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_CELEBI +; 8d24b diff --git a/data/sprites/framesets.asm b/data/sprites/framesets.asm deleted file mode 100755 index 24b058859..000000000 --- a/data/sprites/framesets.asm +++ /dev/null @@ -1,499 +0,0 @@ -SpriteAnimFrameData: ; 8d6e6 -; entries correspond to SPRITE_ANIM_FRAMESET_* constants - dw .Frameset_00 - dw .Frameset_PartyMon - dw .Frameset_PartyMonWithMail - dw .Frameset_PartyMonWithItem - dw .Frameset_PartyMonFast - dw .Frameset_PartyMonWithMailFast - dw .Frameset_PartyMonWithItemFast - dw .Frameset_GSTitleTrail - dw .Frameset_TextEntryCursor - dw .Frameset_09 - dw .Frameset_GameFreakLogo - dw .Frameset_GSIntroStar - dw .Frameset_GSIntroSparkle - dw .Frameset_SlotsGolem - dw .Frameset_SlotsChansey - dw .Frameset_SlotsChansey2 - dw .Frameset_SlotsEgg - dw .Frameset_RedWalk - dw .Frameset_StillCursor - dw .Frameset_TradePokeBall - dw .Frameset_TradePokeBall0 - dw .Frameset_TradePoof - dw .Frameset_TradeTubeBulge - dw .Frameset_TrademonIcon - dw .Frameset_TrademonBubble - dw .Frameset_EvolutionBallOfLight - dw .Frameset_RadioTuningKnob - dw .Frameset_MagnetTrainRed - dw .Frameset_1c - dw .Frameset_Leaf - dw .Frameset_CutTree - dw .Frameset_EggCrack - dw .Frameset_EggHatch - dw .Frameset_21 - dw .Frameset_22 - dw .Frameset_23 - dw .Frameset_24 - dw .Frameset_HeadbuttTree - dw .Frameset_26 - dw .Frameset_27 - dw .Frameset_28 - dw .Frameset_29 - dw .Frameset_2a - dw .Frameset_2b - dw .Frameset_2c - dw .Frameset_BlueWalk - dw .Frameset_MagnetTrainBlue - dw .Frameset_MobileTradeSentBall - dw .Frameset_MobileTradeOTBall - dw .Frameset_ForMobile22 - dw .Frameset_ForMobile23 - dw .Frameset_ForMobile24 - dw .Frameset_ForMobile25 - dw .Frameset_IntroSuicune - dw .Frameset_IntroSuicune2 - dw .Frameset_IntroPichu - dw .Frameset_IntroWooper - dw .Frameset_IntroUnown1 - dw .Frameset_IntroUnown2 - dw .Frameset_IntroUnown3 - dw .Frameset_IntroUnown4 - dw .Frameset_IntroUnownF2 - dw .Frameset_IntroSuicuneAway - dw .Frameset_IntroUnownF - dw .Frameset_CelebiLeft - dw .Frameset_CelebiRight -; 8d76a - -.Frameset_00: - frame SPRITE_ANIM_OAMSET_RED_WALK_1, 32 - endanim - -.Frameset_PartyMon: - frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8 - frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8 - dorestart - -.Frameset_PartyMonWithMail: - frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1, 8 - frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2, 8 - dorestart - -.Frameset_PartyMonWithItem: - frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1, 8 - frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2, 8 - dorestart - -.Frameset_PartyMonFast: - frame SPRITE_ANIM_OAMSET_RED_WALK_1, 4 - frame SPRITE_ANIM_OAMSET_RED_WALK_2, 4 - dorestart - -.Frameset_PartyMonWithMailFast: - frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1, 4 - frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2, 4 - dorestart - -.Frameset_PartyMonWithItemFast: - frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1, 4 - frame SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2, 4 - dorestart - -.Frameset_RedWalk: - frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8 - frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8 - frame SPRITE_ANIM_OAMSET_RED_WALK_1, 8 - frame SPRITE_ANIM_OAMSET_RED_WALK_2, 8, OAM_X_FLIP - dorestart - -.Frameset_BlueWalk: - frame SPRITE_ANIM_OAMSET_BLUE_WALK_1, 8 - frame SPRITE_ANIM_OAMSET_BLUE_WALK_2, 8 - frame SPRITE_ANIM_OAMSET_BLUE_WALK_1, 8 - frame SPRITE_ANIM_OAMSET_BLUE_WALK_2, 8, OAM_X_FLIP - dorestart - -.Frameset_MagnetTrainBlue: - frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1, 8 - frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2, 8 - frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1, 8 - frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2, 8, OAM_X_FLIP - dorestart - -.Frameset_GSTitleTrail: - frame SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1, 1 - frame SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2, 1 - dorestart - -.Frameset_TextEntryCursor: - frame SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR, 1 - dorepeat 1 - dorestart - -.Frameset_09: - frame SPRITE_ANIM_OAMSET_FOR_FRAMESET_09, 1 - dorepeat 1 - dorestart - -.Frameset_GameFreakLogo: - frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1, 12 - frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 1 - frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3, 1 - frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 4 - frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1, 12 - frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2, 12 - frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3, 4 - frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4, 32 - frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5, 3 - frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6, 3 - frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7, 4 - frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8, 4 - frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9, 4 - frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10, 10 - frame SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11, 7 - endanim - -.Frameset_GSIntroStar: - frame SPRITE_ANIM_OAMSET_GS_INTRO_STAR, 3 - frame SPRITE_ANIM_OAMSET_GS_INTRO_STAR, 3, OAM_Y_FLIP - dorestart - -.Frameset_GSIntroSparkle: - frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1, 2 - frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2, 2 - frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3, 2 - frame SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2, 2 - dorestart - -.Frameset_SlotsGolem: - frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1, 7 - frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2, 7 - frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1, 7, OAM_Y_FLIP - frame SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2, 7, OAM_X_FLIP - dorestart - -.Frameset_SlotsChansey: - frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7 - frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2, 7 - frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7 - frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3, 7 - dorestart - -.Frameset_SlotsChansey2: - frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7 - frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4, 7 - frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5, 7 - frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4, 7 - frame SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1, 7 - endanim - -.Frameset_SlotsEgg: - frame SPRITE_ANIM_OAMSET_SLOTS_EGG, 20 - endanim - -.Frameset_StillCursor: - frame SPRITE_ANIM_OAMSET_STILL_CURSOR, 32 - endanim - -.Frameset_TradePokeBall: - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 32 - endanim - -.Frameset_TradePokeBall0: - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP - dorestart - -.Frameset_TradePoof: - frame SPRITE_ANIM_OAMSET_TRADE_POOF_1, 4 - frame SPRITE_ANIM_OAMSET_TRADE_POOF_2, 4 - frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 4 - delanim - -.Frameset_TradeTubeBulge: - frame SPRITE_ANIM_OAMSET_35, 3 - frame SPRITE_ANIM_OAMSET_36, 3 - dorestart - -.Frameset_TrademonIcon: - frame SPRITE_ANIM_OAMSET_TRADEMON_ICON_1, 7 - frame SPRITE_ANIM_OAMSET_TRADEMON_ICON_2, 7 - dorestart - -.Frameset_TrademonBubble: - frame SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE, 32 - endanim - -.Frameset_EvolutionBallOfLight: - frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2, 2 - frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1, 2 - frame SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2, 2 - endanim - -.Frameset_RadioTuningKnob: - frame SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB, 32 - endanim - -.Frameset_MagnetTrainRed: - frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1, 8 - frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8 - frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1, 8 - frame SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2, 8, OAM_X_FLIP - dorestart - -; XXX - frame SPRITE_ANIM_OAMSET_43, 8 - frame SPRITE_ANIM_OAMSET_44, 8 - dorestart - -; XXX - frame SPRITE_ANIM_OAMSET_45, 8 - frame SPRITE_ANIM_OAMSET_46, 8 - dorestart - -; XXX - frame SPRITE_ANIM_OAMSET_47, 8 - frame SPRITE_ANIM_OAMSET_48, 8 - dorestart - -; XXX - frame SPRITE_ANIM_OAMSET_49, 1 - frame SPRITE_ANIM_OAMSET_49, 1, OAM_X_FLIP - frame SPRITE_ANIM_OAMSET_49, 1, OAM_X_FLIP, OAM_Y_FLIP - frame SPRITE_ANIM_OAMSET_49, 1, OAM_Y_FLIP - dorestart - -; XXX - frame SPRITE_ANIM_OAMSET_4A, 32 - endanim - -; XXX - frame SPRITE_ANIM_OAMSET_4B, 32 - endanim - -; XXX - frame SPRITE_ANIM_OAMSET_4C, 32 - endanim - -; XXX - frame SPRITE_ANIM_OAMSET_4D, 32 - endanim - -; XXX - frame SPRITE_ANIM_OAMSET_4E, 3 - dorepeat 3 - dorestart - -.Frameset_1c: - dorepeat 32 - endanim - -.Frameset_Leaf: - frame SPRITE_ANIM_OAMSET_LEAF, 32 - endanim - -.Frameset_CutTree: - frame SPRITE_ANIM_OAMSET_TREE_1, 2 - frame SPRITE_ANIM_OAMSET_CUT_TREE_2, 16 - dorepeat 1 - frame SPRITE_ANIM_OAMSET_CUT_TREE_3, 1 - dorepeat 1 - frame SPRITE_ANIM_OAMSET_CUT_TREE_4, 1 - delanim - -.Frameset_EggCrack: - frame SPRITE_ANIM_OAMSET_EGG_CRACK, 32 - endanim - -.Frameset_EggHatch: - frame SPRITE_ANIM_OAMSET_55, 32 - endanim - -.Frameset_21: - frame SPRITE_ANIM_OAMSET_55, 32, OAM_X_FLIP - endanim - -.Frameset_22: - frame SPRITE_ANIM_OAMSET_55, 32, OAM_Y_FLIP - endanim - -.Frameset_23: - frame SPRITE_ANIM_OAMSET_55, 32, OAM_X_FLIP, OAM_Y_FLIP - endanim - -.Frameset_24: - frame SPRITE_ANIM_OAMSET_56, 10 - frame SPRITE_ANIM_OAMSET_57, 9 - frame SPRITE_ANIM_OAMSET_58, 10 - frame SPRITE_ANIM_OAMSET_59, 10 - frame SPRITE_ANIM_OAMSET_58, 9 - frame SPRITE_ANIM_OAMSET_5A, 10 - dorestart - -.Frameset_HeadbuttTree: - frame SPRITE_ANIM_OAMSET_TREE_1, 2 - frame SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2 - frame SPRITE_ANIM_OAMSET_TREE_1, 2 - frame SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2, 2, OAM_X_FLIP - dorestart - -.Frameset_26: - frame SPRITE_ANIM_OAMSET_5C, 2 - endanim - -.Frameset_27: - frame SPRITE_ANIM_OAMSET_5D, 2 - endanim - -.Frameset_28: - frame SPRITE_ANIM_OAMSET_5E, 2 - endanim - -.Frameset_29: - frame SPRITE_ANIM_OAMSET_5F, 2 - endanim - -.Frameset_2a: - frame SPRITE_ANIM_OAMSET_60, 2 - endanim - -.Frameset_2b: - frame SPRITE_ANIM_OAMSET_61, 2 - endanim - -.Frameset_2c: - frame SPRITE_ANIM_OAMSET_62, 2 - endanim - -.Frameset_MobileTradeSentBall: - frame SPRITE_ANIM_OAMSET_TRADE_POOF_1, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POOF_2, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP - endanim - -.Frameset_MobileTradeOTBall: - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2, 3, OAM_X_FLIP - frame SPRITE_ANIM_OAMSET_TRADE_POOF_1, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POOF_2, 3 - frame SPRITE_ANIM_OAMSET_TRADE_POOF_3, 3 - delanim - -.Frameset_ForMobile22: - frame SPRITE_ANIM_OAMSET_FOR_MOBILE_22_1, 3 - frame SPRITE_ANIM_OAMSET_FOR_MOBILE_22_2, 3 - dorestart - -.Frameset_ForMobile23: - frame SPRITE_ANIM_OAMSET_FOR_MOBILE_23, 3 - endanim - -.Frameset_ForMobile24: - frame SPRITE_ANIM_OAMSET_FOR_MOBILE_24, 3 - endanim - -.Frameset_ForMobile25: - frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_1, 2 - frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_2, 2 - frame SPRITE_ANIM_OAMSET_FOR_MOBILE_25_3, 2 - delanim - -.Frameset_IntroSuicune: - frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1, 3 - frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2, 3 - frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3, 3 - frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4, 3 - dorestart - -.Frameset_IntroSuicune2: - frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4, 3 - frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1, 7 - endanim - -.Frameset_IntroPichu: - frame SPRITE_ANIM_OAMSET_INTRO_PICHU_1, 32 - frame SPRITE_ANIM_OAMSET_INTRO_PICHU_2, 7 - frame SPRITE_ANIM_OAMSET_INTRO_PICHU_3, 7 - endanim - -.Frameset_IntroWooper: - frame SPRITE_ANIM_OAMSET_INTRO_WOOPER, 3 - endanim - -.Frameset_IntroUnown1: - frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3 - frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3 - frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7 - delanim - -.Frameset_IntroUnown2: - frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_X_FLIP - frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_X_FLIP - frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_X_FLIP - delanim - -.Frameset_IntroUnown3: - frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_Y_FLIP - frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_Y_FLIP - frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_Y_FLIP - delanim - -.Frameset_IntroUnown4: - frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_1, 3, OAM_X_FLIP, OAM_Y_FLIP - frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_2, 3, OAM_X_FLIP, OAM_Y_FLIP - frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_3, 7, OAM_X_FLIP, OAM_Y_FLIP - delanim - -.Frameset_IntroUnownF2: - frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1, 3 - frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2, 3 - frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3, 3 - frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4, 7 - frame SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5, 7 - endanim - -.Frameset_IntroSuicuneAway: - frame SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY, 3 - endanim - -.Frameset_IntroUnownF: - dorepeat 0 - endanim - -.Frameset_CelebiLeft: - frame SPRITE_ANIM_OAMSET_CELEBI_1, 8 - frame SPRITE_ANIM_OAMSET_CELEBI_2, 8 - endanim - -.Frameset_CelebiRight: - frame SPRITE_ANIM_OAMSET_CELEBI_1, 8, OAM_X_FLIP - frame SPRITE_ANIM_OAMSET_CELEBI_2, 8, OAM_X_FLIP - endanim -; 8d94d diff --git a/data/sprites/oam.asm b/data/sprites/oam.asm deleted file mode 100644 index 99adc9df3..000000000 --- a/data/sprites/oam.asm +++ /dev/null @@ -1,1131 +0,0 @@ -SpriteAnimOAMData: ; 8d94d -; entries correspond to SPRITE_ANIM_OAMSET_* constants - ; vtile offset, pointer - dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_1 - dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_RED_WALK_2 - dbw $4c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_02 - dbw $5c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_03 - dbw $6c, .OAMData_04 ; SPRITE_ANIM_OAMSET_04 - dbw $6e, .OAMData_04 ; SPRITE_ANIM_OAMSET_05 - dbw $2d, .OAMData_06 ; SPRITE_ANIM_OAMSET_06 - dbw $4d, .OAMData_06 ; SPRITE_ANIM_OAMSET_07 - dbw $60, .OAMData_08 ; SPRITE_ANIM_OAMSET_08 - dbw $00, .OAMData_08 ; SPRITE_ANIM_OAMSET_09 - dbw $00, .OAMData_08 ; SPRITE_ANIM_OAMSET_0A - dbw $06, .OAMData_08 ; SPRITE_ANIM_OAMSET_0B - dbw $0c, .OAMData_0c ; SPRITE_ANIM_OAMSET_0C - dbw $0d, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_0D - dbw $00, .OAMData_0e ; SPRITE_ANIM_OAMSET_0E - dbw $04, .OAMData_0e ; SPRITE_ANIM_OAMSET_0F - dbw $08, .OAMData_0e ; SPRITE_ANIM_OAMSET_10 - dbw $40, .OAMData_0e ; SPRITE_ANIM_OAMSET_11 - dbw $44, .OAMData_0e ; SPRITE_ANIM_OAMSET_12 - dbw $48, .OAMData_0e ; SPRITE_ANIM_OAMSET_13 - dbw $4c, .OAMData_0e ; SPRITE_ANIM_OAMSET_14 - dbw $80, .OAMData_15 ; SPRITE_ANIM_OAMSET_15 - dbw $85, .OAMData_15 ; SPRITE_ANIM_OAMSET_16 - dbw $8a, .OAMData_15 ; SPRITE_ANIM_OAMSET_17 - dbw $00, .OAMData_18 ; SPRITE_ANIM_OAMSET_18 - dbw $01, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_19 - dbw $09, .OAMData_1a ; SPRITE_ANIM_OAMSET_1A - dbw $10, .OAMData_1b ; SPRITE_ANIM_OAMSET_1B - dbw $29, .OAMData_1b ; SPRITE_ANIM_OAMSET_1C - dbw $42, .OAMData_1b ; SPRITE_ANIM_OAMSET_1D - dbw $f8, .OAMData_GSTitleTrail ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_1 - dbw $fa, .OAMData_GSTitleTrail ; SPRITE_ANIM_OAMSET_GS_TITLE_TRAIL_2 - dbw $00, .OAMData_TextEntryCursor ; SPRITE_ANIM_OAMSET_TEXT_ENTRY_CURSOR - dbw $00, .OAMData_ForFrameset09 ; SPRITE_ANIM_OAMSET_FOR_FRAMESET_09 - dbw $00, .OAMData_22 ; SPRITE_ANIM_OAMSET_22 - dbw $0f, .OAMData_GSIntroStar ; SPRITE_ANIM_OAMSET_GS_INTRO_STAR - dbw $11, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_1 - dbw $12, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_2 - dbw $13, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_GS_INTRO_SPARKLE_3 - dbw $00, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_1 - dbw $08, .OAMData_SlotsGolem ; SPRITE_ANIM_OAMSET_SLOTS_GOLEM_2 - dbw $10, .OAMData_SlotsChansey1 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_1 - dbw $10, .OAMData_SlotsChansey2 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_2 - dbw $10, .OAMData_SlotsChansey3 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_3 - dbw $10, .OAMData_SlotsChansey4 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_4 - dbw $10, .OAMData_SlotsChansey5 ; SPRITE_ANIM_OAMSET_SLOTS_CHANSEY_5 - dbw $3a, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_SLOTS_EGG - dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_STILL_CURSOR - dbw $00, .OAMData_TradePokeBall1 ; SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_1 - dbw $02, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_TRADE_POKE_BALL_2 - dbw $06, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_1 - dbw $0a, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_2 - dbw $0e, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADE_POOF_3 - dbw $12, .OAMData_35 ; SPRITE_ANIM_OAMSET_35 - dbw $13, .OAMData_35 ; SPRITE_ANIM_OAMSET_36 - dbw $00, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_TRADEMON_ICON_1 - dbw $04, .OAMData_RedWalk ; SPRITE_ANIM_OAMSET_TRADEMON_ICON_2 - dbw $10, .OAMData_TradePoofBubble ; SPRITE_ANIM_OAMSET_TRADEMON_BUBBLE - dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_1 - dbw $04, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_EVOLUTION_BALL_OF_LIGHT_2 - dbw $00, .OAMData_RadioTuningKnob ; SPRITE_ANIM_OAMSET_RADIO_TUNING_KNOB - dbw $00, .OAMData_PartyMonWithMail1 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_1 - dbw $00, .OAMData_PartyMonWithMail2 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_MAIL_2 - dbw $00, .OAMData_PartyMonWithItem1 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_1 - dbw $00, .OAMData_PartyMonWithItem2 ; SPRITE_ANIM_OAMSET_PARTY_MON_WITH_ITEM_2 - dbw $00, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_1 - dbw $04, .OAMData_MagnetTrainRed ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_RED_2 - dbw $00, .OAMData_43 ; SPRITE_ANIM_OAMSET_43 - dbw $30, .OAMData_43 ; SPRITE_ANIM_OAMSET_44 - dbw $03, .OAMData_43 ; SPRITE_ANIM_OAMSET_45 - dbw $33, .OAMData_43 ; SPRITE_ANIM_OAMSET_46 - dbw $06, .OAMData_43 ; SPRITE_ANIM_OAMSET_47 - dbw $36, .OAMData_43 ; SPRITE_ANIM_OAMSET_48 - dbw $09, .OAMData_43 ; SPRITE_ANIM_OAMSET_49 - dbw $39, .OAMData_43 ; SPRITE_ANIM_OAMSET_4A - dbw $0c, .OAMData_4b ; SPRITE_ANIM_OAMSET_4B - dbw $0c, .OAMData_4c ; SPRITE_ANIM_OAMSET_4C - dbw $3c, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_4D - dbw $3e, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_4E - dbw $00, .OAMData_Leaf ; SPRITE_ANIM_OAMSET_LEAF - dbw $00, .OAMData_Tree ; SPRITE_ANIM_OAMSET_TREE_1 - dbw $00, .OAMData_CutTree2 ; SPRITE_ANIM_OAMSET_CUT_TREE_2 - dbw $00, .OAMData_CutTree3 ; SPRITE_ANIM_OAMSET_CUT_TREE_3 - dbw $00, .OAMData_CutTree4 ; SPRITE_ANIM_OAMSET_CUT_TREE_4 - dbw $00, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_EGG_CRACK - dbw $01, .OAMData_1x1_Palette0 ; SPRITE_ANIM_OAMSET_55 - dbw $00, .OAMData_56 ; SPRITE_ANIM_OAMSET_56 - dbw $00, .OAMData_57 ; SPRITE_ANIM_OAMSET_57 - dbw $00, .OAMData_58 ; SPRITE_ANIM_OAMSET_58 - dbw $00, .OAMData_59 ; SPRITE_ANIM_OAMSET_59 - dbw $00, .OAMData_5a ; SPRITE_ANIM_OAMSET_5A - dbw $04, .OAMData_Tree ; SPRITE_ANIM_OAMSET_HEADBUTT_TREE_2 - dbw $00, .OAMData_5c ; SPRITE_ANIM_OAMSET_5C - dbw $00, .OAMData_5d ; SPRITE_ANIM_OAMSET_5D - dbw $00, .OAMData_5e ; SPRITE_ANIM_OAMSET_5E - dbw $00, .OAMData_5f ; SPRITE_ANIM_OAMSET_5F - dbw $00, .OAMData_60 ; SPRITE_ANIM_OAMSET_60 - dbw $00, .OAMData_61 ; SPRITE_ANIM_OAMSET_61 - dbw $00, .OAMData_62 ; SPRITE_ANIM_OAMSET_62 - dbw $00, .OAMData_BlueWalk ; SPRITE_ANIM_OAMSET_BLUE_WALK_1 - dbw $04, .OAMData_BlueWalk ; SPRITE_ANIM_OAMSET_BLUE_WALK_2 - dbw $00, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_1 - dbw $04, .OAMData_MagnetTrainBlue ; SPRITE_ANIM_OAMSET_MAGNET_TRAIN_BLUE_2 - dbw $20, .OAMData_ForMobile22 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_22_1 - dbw $21, .OAMData_ForMobile22 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_22_2 - dbw $22, .OAMData_ForMobile25_1 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_1 - dbw $23, .OAMData_ForMobile25_2 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_2 - dbw $27, .OAMData_ForMobile25_3 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_25_3 - dbw $2a, .OAMData_ForMobile23 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_23 - dbw $2a, .OAMData_ForMobile24 ; SPRITE_ANIM_OAMSET_FOR_MOBILE_24 - dbw $00, .OAMData_IntroSuicune1 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_1 - dbw $08, .OAMData_IntroSuicune2 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_2 - dbw $60, .OAMData_IntroSuicune3 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_3 - dbw $68, .OAMData_IntroSuicune4 ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_4 - dbw $00, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_1 - dbw $05, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_2 - dbw $0a, .OAMData_IntroPichu ; SPRITE_ANIM_OAMSET_INTRO_PICHU_3 - dbw $50, .OAMData_IntroWooper ; SPRITE_ANIM_OAMSET_INTRO_WOOPER - dbw $00, .OAMData_IntroUnown1 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_1 - dbw $01, .OAMData_IntroUnown2 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_2 - dbw $04, .OAMData_IntroUnown3 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_3 - dbw $00, .OAMData_18 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_1 - dbw $01, .OAMData_IntroUnownF2_2 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_2 - dbw $03, .OAMData_IntroUnownF2_3 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_3 - dbw $08, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_4 - dbw $1c, .OAMData_IntroUnownF2_4_5 ; SPRITE_ANIM_OAMSET_INTRO_UNOWN_F_2_5 - dbw $80, .OAMData_IntroSuicuneAway ; SPRITE_ANIM_OAMSET_INTRO_SUICUNE_AWAY - dbw $00, .OAMData_Celebi ; SPRITE_ANIM_OAMSET_CELEBI_1 - dbw $04, .OAMData_Celebi ; SPRITE_ANIM_OAMSET_CELEBI_2 - dbw $d0, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_1 - dbw $d3, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_2 - dbw $d6, .OAMData_GameFreakLogo1_3 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_3 - dbw $6c, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_4 - dbw $68, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_5 - dbw $64, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_6 - dbw $60, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_7 - dbw $0c, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_8 - dbw $08, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_9 - dbw $04, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_10 - dbw $00, .OAMData_GameFreakLogo4_11 ; SPRITE_ANIM_OAMSET_GAMEFREAK_LOGO_11 - -.OAMData_1x1_Palette0: - db 1 - dsprite -1, 4, -1, 4, $00, $00 - -.OAMData_04: - db 4 - dsprite -1, 0, -1, 0, $00, $00 - dsprite -1, 0, 0, 0, $01, $00 - dsprite 0, 0, -1, 0, $10, $00 - dsprite 0, 0, 0, 0, $11, $00 - -.OAMData_GSIntroStar: - db 4 - dsprite -1, 0, -1, 0, $00, 0 - dsprite -1, 0, 0, 0, $00, 0 | X_FLIP - dsprite 0, 0, -1, 0, $01, 0 - dsprite 0, 0, 0, 0, $01, 0 | X_FLIP - -.OAMData_TradePokeBall1: - db 4 - dsprite -1, 0, -1, 0, $00, $80 - dsprite -1, 0, 0, 0, $00, $a0 - dsprite 0, 0, -1, 0, $01, $80 - dsprite 0, 0, 0, 0, $01, $a0 - -.OAMData_18: - db 4 - dsprite -1, 0, -1, 0, $00, $00 - dsprite -1, 0, 0, 0, $00, $20 - dsprite 0, 0, -1, 0, $00, $40 - dsprite 0, 0, 0, 0, $00, $60 - -.OAMData_35: - db 4 - dsprite -1, 0, -1, 0, $00, $07 - dsprite -1, 0, 0, 0, $00, $27 - dsprite 0, 0, -1, 0, $00, $47 - dsprite 0, 0, 0, 0, $00, $67 -; 8db4b - -; 8db4b - db 4 - dsprite -1, 0, -1, 0, $00, $80 - dsprite -1, 0, 0, 0, $00, $a0 - dsprite 0, 0, -1, 0, $00, $c0 - dsprite 0, 0, 0, 0, $00, $e0 - -.OAMData_TradePoofBubble: - db 16 - dsprite -2, 0, -2, 0, $00, 0 - dsprite -2, 0, -1, 0, $01, 0 - dsprite -1, 0, -2, 0, $02, 0 - dsprite -1, 0, -1, 0, $03, 0 - dsprite -2, 0, 0, 0, $01, 0 | X_FLIP - dsprite -2, 0, 1, 0, $00, 0 | X_FLIP - dsprite -1, 0, 0, 0, $03, 0 | X_FLIP - dsprite -1, 0, 1, 0, $02, 0 | X_FLIP - dsprite 0, 0, -2, 0, $02, 0 | Y_FLIP - dsprite 0, 0, -1, 0, $03, 0 | Y_FLIP - dsprite 1, 0, -2, 0, $00, 0 | Y_FLIP - dsprite 1, 0, -1, 0, $01, 0 | Y_FLIP - dsprite 0, 0, 0, 0, $03, 0 | X_FLIP | Y_FLIP - dsprite 0, 0, 1, 0, $02, 0 | X_FLIP | Y_FLIP - dsprite 1, 0, 0, 0, $01, 0 | X_FLIP | Y_FLIP - dsprite 1, 0, 1, 0, $00, 0 | X_FLIP | Y_FLIP - -.OAMData_1a: - db 36 - dsprite -3, 0, -3, 0, $00, $00 - dsprite -3, 0, -2, 0, $01, $00 - dsprite -3, 0, -1, 0, $02, $00 - dsprite -2, 0, -3, 0, $03, $00 - dsprite -2, 0, -2, 0, $04, $00 - dsprite -2, 0, -1, 0, $05, $00 - dsprite -1, 0, -3, 0, $06, $00 - dsprite -1, 0, -2, 0, $05, $00 - dsprite -1, 0, -1, 0, $05, $00 - dsprite -3, 0, 0, 0, $02, $20 - dsprite -3, 0, 1, 0, $01, $20 - dsprite -3, 0, 2, 0, $00, $20 - dsprite -2, 0, 0, 0, $05, $20 - dsprite -2, 0, 1, 0, $04, $20 - dsprite -2, 0, 2, 0, $03, $20 - dsprite -1, 0, 0, 0, $05, $20 - dsprite -1, 0, 1, 0, $05, $20 - dsprite -1, 0, 2, 0, $06, $20 - dsprite 0, 0, -3, 0, $06, $40 - dsprite 0, 0, -2, 0, $05, $40 - dsprite 0, 0, -1, 0, $05, $40 - dsprite 1, 0, -3, 0, $03, $40 - dsprite 1, 0, -2, 0, $04, $40 - dsprite 1, 0, -1, 0, $05, $40 - dsprite 2, 0, -3, 0, $00, $40 - dsprite 2, 0, -2, 0, $01, $40 - dsprite 2, 0, -1, 0, $02, $40 - dsprite 0, 0, 0, 0, $05, $60 - dsprite 0, 0, 1, 0, $05, $60 - dsprite 0, 0, 2, 0, $06, $60 - dsprite 1, 0, 0, 0, $05, $60 - dsprite 1, 0, 1, 0, $04, $60 - dsprite 1, 0, 2, 0, $03, $60 - dsprite 2, 0, 0, 0, $02, $60 - dsprite 2, 0, 1, 0, $01, $60 - dsprite 2, 0, 2, 0, $00, $60 - -.OAMData_43: - db 9 - dsprite -2, 4, -2, 4, $00, $00 - dsprite -2, 4, -1, 4, $01, $00 - dsprite -2, 4, 0, 4, $02, $00 - dsprite -1, 4, -2, 4, $10, $00 - dsprite -1, 4, -1, 4, $11, $00 - dsprite -1, 4, 0, 4, $12, $00 - dsprite 0, 4, -2, 4, $20, $00 - dsprite 0, 4, -1, 4, $21, $00 - dsprite 0, 4, 0, 4, $22, $00 - -.OAMData_0e: - db 16 - dsprite -2, 0, -2, 0, $00, $00 - dsprite -2, 0, -1, 0, $01, $00 - dsprite -2, 0, 0, 0, $02, $00 - dsprite -2, 0, 1, 0, $03, $00 - dsprite -1, 0, -2, 0, $10, $00 - dsprite -1, 0, -1, 0, $11, $00 - dsprite -1, 0, 0, 0, $12, $00 - dsprite -1, 0, 1, 0, $13, $00 - dsprite 0, 0, -2, 0, $20, $00 - dsprite 0, 0, -1, 0, $21, $00 - dsprite 0, 0, 0, 0, $22, $00 - dsprite 0, 0, 1, 0, $23, $00 - dsprite 1, 0, -2, 0, $30, $00 - dsprite 1, 0, -1, 0, $31, $00 - dsprite 1, 0, 0, 0, $32, $00 - dsprite 1, 0, 1, 0, $33, $00 - -.OAMData_1b: - db 25 - dsprite -3, 4, -3, 4, $00, $00 - dsprite -2, 4, -3, 4, $01, $00 - dsprite -1, 4, -3, 4, $02, $00 - dsprite 0, 4, -3, 4, $03, $00 - dsprite 1, 4, -3, 4, $04, $00 - dsprite -3, 4, -2, 4, $05, $00 - dsprite -2, 4, -2, 4, $06, $00 - dsprite -1, 4, -2, 4, $07, $00 - dsprite 0, 4, -2, 4, $08, $00 - dsprite 1, 4, -2, 4, $09, $00 - dsprite -3, 4, -1, 4, $0a, $00 - dsprite -2, 4, -1, 4, $0b, $00 - dsprite -1, 4, -1, 4, $0c, $00 - dsprite 0, 4, -1, 4, $0d, $00 - dsprite 1, 4, -1, 4, $0e, $00 - dsprite -3, 4, 0, 4, $0f, $00 - dsprite -2, 4, 0, 4, $10, $00 - dsprite -1, 4, 0, 4, $11, $00 - dsprite 0, 4, 0, 4, $12, $00 - dsprite 1, 4, 0, 4, $13, $00 - dsprite -3, 4, 1, 4, $14, $00 - dsprite -2, 4, 1, 4, $15, $00 - dsprite -1, 4, 1, 4, $16, $00 - dsprite 0, 4, 1, 4, $17, $00 - dsprite 1, 4, 1, 4, $18, $00 -; 8dcf9 - -; 8dcf9 - db 36 - dsprite -3, 0, -3, 0, $00, $00 - dsprite -3, 0, -2, 0, $01, $00 - dsprite -3, 0, -1, 0, $02, $00 - dsprite -3, 0, 0, 0, $03, $00 - dsprite -3, 0, 1, 0, $04, $00 - dsprite -3, 0, 2, 0, $05, $00 - dsprite -2, 0, -3, 0, $06, $00 - dsprite -2, 0, -2, 0, $07, $00 - dsprite -2, 0, -1, 0, $08, $00 - dsprite -2, 0, 0, 0, $09, $00 - dsprite -2, 0, 1, 0, $0a, $00 - dsprite -2, 0, 2, 0, $0b, $00 - dsprite -1, 0, -3, 0, $0c, $00 - dsprite -1, 0, -2, 0, $0d, $00 - dsprite -1, 0, -1, 0, $0e, $00 - dsprite -1, 0, 0, 0, $0f, $00 - dsprite -1, 0, 1, 0, $10, $00 - dsprite -1, 0, 2, 0, $11, $00 - dsprite 0, 0, -3, 0, $12, $00 - dsprite 0, 0, -2, 0, $13, $00 - dsprite 0, 0, -1, 0, $14, $00 - dsprite 0, 0, 0, 0, $15, $00 - dsprite 0, 0, 1, 0, $16, $00 - dsprite 0, 0, 2, 0, $17, $00 - dsprite 1, 0, -3, 0, $18, $00 - dsprite 1, 0, -2, 0, $19, $00 - dsprite 1, 0, -1, 0, $1a, $00 - dsprite 1, 0, 0, 0, $1b, $00 - dsprite 1, 0, 1, 0, $1c, $00 - dsprite 1, 0, 2, 0, $1d, $00 - dsprite 2, 0, -3, 0, $1e, $00 - dsprite 2, 0, -2, 0, $1f, $00 - dsprite 2, 0, -1, 0, $20, $00 - dsprite 2, 0, 0, 0, $21, $00 - dsprite 2, 0, 1, 0, $22, $00 - dsprite 2, 0, 2, 0, $23, $00 - -.OAMData_RedWalk: - db 4 - dsprite -1, 0, -1, 0, $00, PAL_OW_RED - dsprite -1, 0, 0, 0, $01, PAL_OW_RED - dsprite 0, 0, -1, 0, $02, PAL_OW_RED - dsprite 0, 0, 0, 0, $03, PAL_OW_RED - -.OAMData_MagnetTrainRed: - db 4 - dsprite -1, 0, -1, 0, $00, PAL_OW_RED | BEHIND_BG - dsprite -1, 0, 0, 0, $01, PAL_OW_RED | BEHIND_BG - dsprite 0, 0, -1, 0, $02, PAL_OW_RED | BEHIND_BG - dsprite 0, 0, 0, 0, $03, PAL_OW_RED | BEHIND_BG - -.OAMData_PartyMonWithMail1: - db 4 - dsprite -1, 0, -1, 0, $00, PAL_OW_RED - dsprite -1, 0, 0, 0, $01, PAL_OW_RED - dsprite 0, 0, -1, 0, $08, PAL_OW_RED - dsprite 0, 0, 0, 0, $03, PAL_OW_RED - -.OAMData_PartyMonWithMail2: - db 4 - dsprite -1, 0, -1, 0, $04, PAL_OW_RED - dsprite -1, 0, 0, 0, $05, PAL_OW_RED - dsprite 0, 0, -1, 0, $08, PAL_OW_RED - dsprite 0, 0, 0, 0, $07, PAL_OW_RED - -.OAMData_PartyMonWithItem1: - db 4 - dsprite -1, 0, -1, 0, $00, PAL_OW_RED - dsprite -1, 0, 0, 0, $01, PAL_OW_RED - dsprite 0, 0, -1, 0, $09, PAL_OW_RED - dsprite 0, 0, 0, 0, $03, PAL_OW_RED - -.OAMData_PartyMonWithItem2: - db 4 - dsprite -1, 0, -1, 0, $04, PAL_OW_RED - dsprite -1, 0, 0, 0, $05, PAL_OW_RED - dsprite 0, 0, -1, 0, $09, PAL_OW_RED - dsprite 0, 0, 0, 0, $07, PAL_OW_RED - -.OAMData_06: - db 6 - dsprite -1, 0, -2, 4, $00, $01 - dsprite -1, 0, -1, 4, $01, $01 - dsprite -1, 0, 0, 4, $02, $01 - dsprite 0, 0, -2, 4, $10, $01 - dsprite 0, 0, -1, 4, $11, $01 - dsprite 0, 0, 0, 4, $12, $01 - -.OAMData_08: - db 29 - dsprite -3, 0, -3, 0, $00, $00 - dsprite -3, 0, -2, 0, $01, $00 - dsprite -3, 0, -1, 0, $02, $00 - dsprite -3, 0, 0, 0, $03, $00 - dsprite -2, 0, -3, 0, $10, $00 - dsprite -2, 0, -2, 0, $11, $00 - dsprite -2, 0, -1, 0, $12, $00 - dsprite -2, 0, 0, 0, $13, $00 - dsprite -1, 0, -3, 0, $20, $00 - dsprite -1, 0, -2, 0, $21, $00 - dsprite -1, 0, -1, 0, $22, $00 - dsprite -1, 0, 0, 0, $23, $00 - dsprite -1, 0, 1, 0, $24, $00 - dsprite 0, 0, -3, 0, $30, $80 - dsprite 0, 0, -2, 0, $31, $80 - dsprite 0, 0, -1, 0, $32, $80 - dsprite 0, 0, 0, 0, $33, $80 - dsprite 0, 0, 1, 0, $34, $80 - dsprite 1, 0, -3, 0, $40, $80 - dsprite 1, 0, -2, 0, $41, $80 - dsprite 1, 0, -1, 0, $42, $80 - dsprite 1, 0, 0, 0, $43, $80 - dsprite 1, 0, 1, 0, $44, $80 - dsprite 1, 0, 2, 0, $45, $80 - dsprite 2, 0, -2, 0, $51, $80 - dsprite 2, 0, -1, 0, $52, $80 - dsprite 2, 0, 0, 0, $53, $80 - dsprite 2, 0, 1, 0, $54, $80 - dsprite 2, 0, 2, 0, $55, $80 - -.OAMData_0c: - db 2 - dsprite -1, 0, -1, 4, $00, $00 - dsprite 0, 0, -1, 4, $10, $00 - -.OAMData_15: - db 5 - dsprite -2, 0, 3, 0, $00, $00 - dsprite -2, 0, 4, 0, $01, $00 - dsprite -1, 0, 2, 0, $02, $00 - dsprite -1, 0, 3, 0, $03, $00 - dsprite 0, 0, 2, 0, $04, $00 - -.OAMData_Leaf: - db 1 - dsprite -1, 4, -1, 4, $00, PAL_OW_TREE - -.OAMData_Tree: - db 4 - dsprite -1, 0, -1, 0, $00, PAL_OW_TREE - dsprite -1, 0, 0, 0, $01, PAL_OW_TREE - dsprite 0, 0, -1, 0, $02, PAL_OW_TREE - dsprite 0, 0, 0, 0, $03, PAL_OW_TREE - -.OAMData_TextEntryCursor: - db 4 - dsprite -1, 7, -1, 7, $00, 0 - dsprite -1, 7, 0, 0, $00, 0 | X_FLIP - dsprite 0, 0, -1, 7, $00, 0 | Y_FLIP - dsprite 0, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP - -.OAMData_ForFrameset09: - db 10 - dsprite -1, 7, 0, 0, $00, 0 - dsprite -1, 7, 1, 0, $01, 0 - dsprite -1, 7, 2, 0, $01, 0 - dsprite -1, 7, 3, 0, $01, 0 - dsprite -1, 7, 4, 0, $00, 0 | X_FLIP - dsprite 0, 0, 0, 0, $00, 0 | Y_FLIP - dsprite 0, 0, 1, 0, $01, 0 | Y_FLIP - dsprite 0, 0, 2, 0, $01, 0 | Y_FLIP - dsprite 0, 0, 3, 0, $01, 0 | Y_FLIP - dsprite 0, 0, 4, 0, $00, 0 | X_FLIP | Y_FLIP - -.OAMData_22: - db 15 - dsprite -3, 4, -2, 4, $00, $11 - dsprite -3, 4, -1, 4, $01, $11 - dsprite -3, 4, 0, 4, $02, $11 - dsprite -2, 4, -2, 4, $03, $11 - dsprite -2, 4, -1, 4, $04, $11 - dsprite -2, 4, 0, 4, $05, $11 - dsprite -1, 4, -2, 4, $06, $11 - dsprite -1, 4, -1, 4, $07, $11 - dsprite -1, 4, 0, 4, $08, $11 - dsprite 0, 4, -2, 4, $09, $11 - dsprite 0, 4, -1, 4, $0a, $11 - dsprite 0, 4, 0, 4, $0b, $11 - dsprite 1, 4, -2, 4, $0c, $11 - dsprite 1, 4, -1, 4, $0d, $11 - dsprite 1, 4, 0, 4, $0e, $11 - -.OAMData_SlotsGolem: - db 6 - dsprite -2, 4, -2, 4, $00, 5 | OBP_NUM - dsprite -2, 4, -1, 4, $02, 5 | OBP_NUM - dsprite -2, 4, 0, 4, $00, 5 | OBP_NUM | X_FLIP - dsprite 0, 4, -2, 4, $04, 5 | OBP_NUM - dsprite 0, 4, -1, 4, $06, 5 | OBP_NUM - dsprite 0, 4, 0, 4, $04, 5 | OBP_NUM | X_FLIP - -.OAMData_SlotsChansey1: - db 6 - dsprite -2, 4, -2, 4, $00, 6 | OBP_NUM - dsprite -2, 4, -1, 4, $02, 6 | OBP_NUM - dsprite -2, 4, 0, 4, $04, 6 | OBP_NUM - dsprite 0, 4, -2, 4, $06, 6 | OBP_NUM - dsprite 0, 4, -1, 4, $08, 6 | OBP_NUM - dsprite 0, 4, 0, 4, $0a, 6 | OBP_NUM - -.OAMData_SlotsChansey2: - db 6 - dsprite -2, 4, -2, 4, $00, 6 | OBP_NUM - dsprite -2, 4, -1, 4, $02, 6 | OBP_NUM - dsprite -2, 4, 0, 4, $04, 6 | OBP_NUM - dsprite 0, 4, -2, 4, $0c, 6 | OBP_NUM - dsprite 0, 4, -1, 4, $0e, 6 | OBP_NUM - dsprite 0, 4, 0, 4, $10, 6 | OBP_NUM - -.OAMData_SlotsChansey3: - db 6 - dsprite -2, 4, -2, 4, $00, 6 | OBP_NUM - dsprite -2, 4, -1, 4, $02, 6 | OBP_NUM - dsprite -2, 4, 0, 4, $04, 6 | OBP_NUM - dsprite 0, 4, -2, 4, $12, 6 | OBP_NUM - dsprite 0, 4, -1, 4, $14, 6 | OBP_NUM - dsprite 0, 4, 0, 4, $16, 6 | OBP_NUM - -.OAMData_SlotsChansey4: - db 6 - dsprite -2, 4, -2, 4, $00, 6 | OBP_NUM - dsprite -2, 4, -1, 4, $02, 6 | OBP_NUM - dsprite -2, 4, 0, 4, $04, 6 | OBP_NUM - dsprite 0, 4, -2, 4, $18, 6 | OBP_NUM - dsprite 0, 4, -1, 4, $1a, 6 | OBP_NUM - dsprite 0, 4, 0, 4, $1c, 6 | OBP_NUM - -.OAMData_SlotsChansey5: - db 6 - dsprite -2, 4, -2, 4, $1e, 6 | OBP_NUM - dsprite -2, 4, -1, 4, $20, 6 | OBP_NUM - dsprite -2, 4, 0, 4, $22, 6 | OBP_NUM - dsprite 0, 4, -2, 4, $24, 6 | OBP_NUM - dsprite 0, 4, -1, 4, $26, 6 | OBP_NUM - dsprite 0, 4, 0, 4, $28, 6 | OBP_NUM - -.OAMData_RadioTuningKnob: - db 3 - dsprite -2, 4, -1, 4, $00, 0 | OBP_NUM - dsprite -1, 4, -1, 4, $00, 0 | OBP_NUM - dsprite 0, 4, -1, 4, $00, 0 | OBP_NUM - -.OAMData_4b: - db 6 - dsprite 0, 0, 0, 0, $00, $00 - dsprite 0, 0, 1, 0, $01, $00 - dsprite 0, 0, 2, 0, $01, $00 - dsprite 0, 0, 3, 0, $01, $00 - dsprite 0, 0, 4, 0, $02, $00 - dsprite 0, 0, 5, 0, $03, $00 - -.OAMData_4c: - db 4 - dsprite 0, 0, 0, 0, $00, $00 - dsprite 0, 0, 1, 0, $01, $00 - dsprite 0, 0, 2, 0, $02, $00 - dsprite 0, 0, 3, 0, $03, $00 - -.OAMData_CutTree2: - db 4 - dsprite -1, 0, -2, 6, $00, PAL_OW_TREE - dsprite -1, 0, 0, 2, $01, PAL_OW_TREE - dsprite 0, 0, -2, 6, $02, PAL_OW_TREE - dsprite 0, 0, 0, 2, $03, PAL_OW_TREE - -.OAMData_CutTree3: - db 4 - dsprite -1, 0, -2, 4, $00, PAL_OW_TREE - dsprite -1, 0, 0, 4, $01, PAL_OW_TREE - dsprite 0, 0, -2, 4, $02, PAL_OW_TREE - dsprite 0, 0, 0, 4, $03, PAL_OW_TREE - -.OAMData_CutTree4: - db 4 - dsprite -1, 0, -2, 0, $00, PAL_OW_TREE - dsprite -1, 0, 1, 0, $01, PAL_OW_TREE - dsprite 0, 0, -2, 0, $02, PAL_OW_TREE - dsprite 0, 0, 1, 0, $03, PAL_OW_TREE - -.OAMData_56: - db 19 - dsprite -1, 0, -4, 0, $00, $00 - dsprite -2, 0, -3, 0, $02, $00 - dsprite 0, 0, -3, 0, $04, $00 - dsprite -3, 0, -2, 0, $06, $00 - dsprite -1, 0, -2, 0, $08, $00 - dsprite 1, 0, -2, 0, $0a, $00 - dsprite -3, 0, -1, 0, $0c, $00 - dsprite -1, 0, -1, 0, $0e, $00 - dsprite 1, 0, -1, 0, $10, $00 - dsprite -3, 0, 0, 0, $12, $00 - dsprite -1, 0, 0, 0, $14, $00 - dsprite 1, 0, 0, 0, $16, $00 - dsprite -3, 0, 1, 0, $18, $00 - dsprite -1, 0, 1, 0, $1a, $00 - dsprite 1, 0, 1, 0, $1c, $00 - dsprite -1, 0, 2, 0, $1e, $00 - dsprite 1, 0, 2, 0, $20, $00 - dsprite -2, 0, 3, 0, $22, $00 - dsprite 0, 0, 3, 0, $24, $00 - -.OAMData_57: - db 16 - dsprite -1, 0, -4, 0, $00, $00 - dsprite -2, 0, -3, 0, $02, $00 - dsprite 0, 0, -3, 0, $04, $00 - dsprite -1, 0, -2, 0, $26, $00 - dsprite 1, 0, -2, 0, $0a, $00 - dsprite -3, 0, -1, 0, $28, $00 - dsprite -1, 0, -1, 0, $2a, $00 - dsprite 1, 0, -1, 0, $10, $00 - dsprite -1, 0, 0, 0, $2c, $00 - dsprite 1, 0, 0, 0, $16, $00 - dsprite -1, 0, 1, 0, $30, $00 - dsprite 1, 0, 1, 0, $1c, $00 - dsprite -1, 0, 2, 0, $1e, $00 - dsprite 1, 0, 2, 0, $20, $00 - dsprite -2, 0, 3, 0, $22, $00 - dsprite 0, 0, 3, 0, $24, $00 - -.OAMData_58: - db 15 - dsprite -1, 0, -4, 0, $00, $00 - dsprite -2, 0, -3, 0, $02, $00 - dsprite 0, 0, -3, 0, $32, $00 - dsprite -1, 0, -2, 0, $34, $00 - dsprite 1, 0, -2, 0, $36, $00 - dsprite -1, 0, -1, 0, $38, $00 - dsprite 1, 0, -1, 0, $3a, $00 - dsprite -1, 0, 0, 0, $3c, $00 - dsprite 1, 0, 0, 0, $3e, $00 - dsprite -1, 0, 1, 0, $30, $00 - dsprite 1, 0, 1, 0, $1c, $00 - dsprite -1, 0, 2, 0, $1e, $00 - dsprite 1, 0, 2, 0, $20, $00 - dsprite -2, 0, 3, 0, $22, $00 - dsprite 0, 0, 3, 0, $24, $00 - -.OAMData_59: - db 17 - dsprite -1, 0, -4, 0, $00, $00 - dsprite -2, 0, -3, 0, $02, $00 - dsprite 0, 0, -3, 0, $04, $00 - dsprite -1, 0, -2, 0, $40, $00 - dsprite 1, 0, -2, 0, $42, $00 - dsprite 3, 0, -2, 0, $44, $00 - dsprite -1, 0, -1, 0, $46, $00 - dsprite 1, 0, -1, 0, $48, $00 - dsprite 3, 0, -1, 0, $4a, $00 - dsprite -1, 0, 0, 0, $4c, $00 - dsprite 1, 0, 0, 0, $4e, $00 - dsprite -1, 0, 1, 0, $30, $00 - dsprite 1, 0, 1, 0, $1c, $00 - dsprite -1, 0, 2, 0, $1e, $00 - dsprite 1, 0, 2, 0, $20, $00 - dsprite -2, 0, 3, 0, $22, $00 - dsprite 0, 0, 3, 0, $24, $00 - -.OAMData_5a: - db 17 - dsprite -1, 0, -4, 0, $00, $00 - dsprite -2, 0, -3, 0, $02, $00 - dsprite 0, 0, -3, 0, $04, $00 - dsprite -1, 0, -2, 0, $50, $00 - dsprite 1, 0, -2, 0, $0a, $00 - dsprite -3, 0, -1, 0, $52, $00 - dsprite -1, 0, -1, 0, $54, $00 - dsprite 1, 0, -1, 0, $10, $00 - dsprite -3, 0, 0, 0, $56, $00 - dsprite -1, 0, 0, 0, $2e, $00 - dsprite 1, 0, 0, 0, $16, $00 - dsprite -1, 0, 1, 0, $30, $00 - dsprite 1, 0, 1, 0, $1c, $00 - dsprite -1, 0, 2, 0, $1e, $00 - dsprite 1, 0, 2, 0, $20, $00 - dsprite -2, 0, 3, 0, $22, $00 - dsprite 0, 0, 3, 0, $24, $00 - -.OAMData_GSTitleTrail: - db 1 - dsprite -1, 4, -1, 4, $00, 1 | OBP_NUM - -.OAMData_5c: - db 12 - dsprite 0, 0, 0, 0, $30, $00 - dsprite 0, 0, 1, 0, $31, $00 - dsprite 0, 0, 2, 0, $31, $00 - dsprite 0, 0, 3, 0, $31, $00 - dsprite 0, 0, 4, 0, $31, $00 - dsprite 0, 0, 5, 0, $32, $00 - dsprite 1, 0, 0, 0, $33, $00 - dsprite 1, 0, 1, 0, $34, $00 - dsprite 1, 0, 2, 0, $34, $00 - dsprite 1, 0, 3, 0, $34, $00 - dsprite 1, 0, 4, 0, $34, $00 - dsprite 1, 0, 5, 0, $35, $00 - -.OAMData_5d: - db 1 - dsprite 0, 0, 0, 0, $ed, $00 - -.OAMData_5e: - db 4 - dsprite -1, 7, -1, 7, $30, $00 - dsprite -1, 7, 0, 1, $32, $00 - dsprite 0, 1, -1, 7, $33, $00 - dsprite 0, 1, 0, 1, $35, $00 - -.OAMData_5f: - db 8 - dsprite -1, 7, -1, 7, $30, $00 - dsprite -1, 7, 0, 4, $31, $00 - dsprite -1, 7, 1, 4, $31, $00 - dsprite -1, 7, 2, 1, $32, $00 - dsprite 0, 1, -1, 7, $33, $00 - dsprite 0, 1, 0, 4, $34, $00 - dsprite 0, 1, 1, 4, $34, $00 - dsprite 0, 1, 2, 1, $35, $00 - -.OAMData_60: - db 1 - dsprite 0, 0, 0, 0, $34, $00 - -.OAMData_61: - db 2 - dsprite 0, 0, 0, 0, $30, $00 - dsprite 1, 0, 0, 0, $33, $00 - -.OAMData_62: - db 2 - dsprite 0, 0, 0, 0, $32, $00 - dsprite 1, 0, 0, 0, $35, $00 - -.OAMData_BlueWalk: - db 4 - dsprite -1, 0, -1, 0, $00, PAL_OW_BLUE - dsprite -1, 0, 0, 0, $01, PAL_OW_BLUE - dsprite 0, 0, -1, 0, $02, PAL_OW_BLUE - dsprite 0, 0, 0, 0, $03, PAL_OW_BLUE - -.OAMData_MagnetTrainBlue: - db 4 - dsprite -1, 0, -1, 0, $00, PAL_OW_BLUE | BEHIND_BG - dsprite -1, 0, 0, 0, $01, PAL_OW_BLUE | BEHIND_BG - dsprite 0, 0, -1, 0, $02, PAL_OW_BLUE | BEHIND_BG - dsprite 0, 0, 0, 0, $03, PAL_OW_BLUE | BEHIND_BG - -.OAMData_ForMobile22: - db 1 - dsprite -1, 4, -1, 4, $00, 2 - -.OAMData_ForMobile23: - db 4 - dsprite -2, 0, -1, 4, $00, 3 - dsprite -1, 0, -1, 4, $01, 3 - dsprite 0, 0, -1, 4, $02, 3 - dsprite 1, 0, -1, 4, $03, 3 - -.OAMData_ForMobile24: - db 4 - dsprite -2, 0, -1, 4, $03, 4 | Y_FLIP - dsprite -1, 0, -1, 4, $02, 4 | Y_FLIP - dsprite 0, 0, -1, 4, $01, 4 | Y_FLIP - dsprite 1, 0, -1, 4, $00, 4 | Y_FLIP - -.OAMData_ForMobile25_1: - db 4 - dsprite -1, 0, -1, 0, $00, 1 - dsprite -1, 0, 0, 0, $00, 1 | X_FLIP - dsprite 0, 0, -1, 0, $00, 1 | Y_FLIP - dsprite 0, 0, 0, 0, $00, 1 | X_FLIP | Y_FLIP - -.OAMData_ForMobile25_2: - db 8 - dsprite -2, 4, -2, 4, $00, 1 - dsprite -2, 4, -1, 4, $01, 1 - dsprite -2, 4, 0, 4, $00, 1 | X_FLIP - dsprite -1, 4, -2, 4, $02, 1 - dsprite -1, 4, 0, 4, $02, 1 | X_FLIP - dsprite 0, 4, -2, 4, $00, 1 | Y_FLIP - dsprite 0, 4, -1, 4, $01, 1 | Y_FLIP - dsprite 0, 4, 0, 4, $00, 1 | X_FLIP | Y_FLIP - -.OAMData_ForMobile25_3: - db 12 - dsprite -2, 0, -2, 0, $00, 1 - dsprite -2, 0, -1, 0, $01, 1 - dsprite -1, 0, -2, 0, $02, 1 - dsprite -2, 0, 0, 0, $01, 1 | X_FLIP - dsprite -2, 0, 1, 0, $00, 1 | X_FLIP - dsprite -1, 0, 1, 0, $02, 1 | X_FLIP - dsprite 0, 0, -2, 0, $02, 1 | Y_FLIP - dsprite 1, 0, -2, 0, $00, 1 | Y_FLIP - dsprite 1, 0, -1, 0, $01, 1 | Y_FLIP - dsprite 0, 0, 1, 0, $02, 1 | X_FLIP | Y_FLIP - dsprite 1, 0, 0, 0, $01, 1 | X_FLIP | Y_FLIP - dsprite 1, 0, 1, 0, $00, 1 | X_FLIP | Y_FLIP - -.OAMData_IntroSuicune1: - db 36 - dsprite -3, 0, 1, 0, $05, 0 - dsprite -3, 0, 2, 0, $06, 0 - dsprite -3, 0, 3, 0, $07, 0 - dsprite -2, 0, -3, 0, $11, 0 - dsprite -2, 0, -2, 0, $12, 0 - dsprite -2, 0, -1, 0, $13, 0 - dsprite -2, 0, 0, 0, $14, 0 - dsprite -2, 0, 1, 0, $15, 0 - dsprite -2, 0, 2, 0, $16, 0 - dsprite -2, 0, 3, 0, $17, 0 - dsprite -1, 0, -4, 0, $20, 0 - dsprite -1, 0, -3, 0, $21, 0 - dsprite -1, 0, -2, 0, $22, 0 - dsprite -1, 0, -1, 0, $23, 0 - dsprite -1, 0, 0, 0, $24, 0 - dsprite -1, 0, 1, 0, $25, 0 - dsprite -1, 0, 2, 0, $26, 0 - dsprite -1, 0, 3, 0, $27, 0 - dsprite 0, 0, -4, 0, $30, 0 - dsprite 0, 0, -3, 0, $31, 0 - dsprite 0, 0, -2, 0, $32, 0 - dsprite 0, 0, -1, 0, $33, 0 - dsprite 0, 0, 0, 0, $34, 0 - dsprite 0, 0, 1, 0, $35, 0 - dsprite 0, 0, 2, 0, $36, 0 - dsprite 1, 0, -4, 0, $40, 0 - dsprite 1, 0, -3, 0, $41, 0 - dsprite 1, 0, -2, 0, $42, 0 - dsprite 1, 0, -1, 0, $43, 0 - dsprite 1, 0, 0, 0, $44, 0 - dsprite 1, 0, 1, 0, $45, 0 - dsprite 1, 0, 2, 0, $46, 0 - dsprite 1, 0, 3, 0, $47, 0 - dsprite 2, 0, -4, 0, $50, 0 - dsprite 2, 0, -3, 0, $51, 0 - dsprite 2, 0, 3, 0, $57, 0 - -.OAMData_IntroSuicune2: - db 28 - dsprite -3, 0, 0, 0, $04, 0 - dsprite -3, 0, 1, 0, $05, 0 - dsprite -3, 0, 2, 0, $06, 0 - dsprite -2, 0, -3, 0, $11, 0 - dsprite -2, 0, -2, 0, $12, 0 - dsprite -2, 0, -1, 0, $13, 0 - dsprite -2, 0, 0, 0, $14, 0 - dsprite -2, 0, 1, 0, $15, 0 - dsprite -2, 0, 2, 0, $16, 0 - dsprite -1, 0, -3, 0, $21, 0 - dsprite -1, 0, -2, 0, $22, 0 - dsprite -1, 0, -1, 0, $23, 0 - dsprite -1, 0, 0, 0, $24, 0 - dsprite -1, 0, 1, 0, $25, 0 - dsprite -1, 0, 2, 0, $26, 0 - dsprite 0, 0, -4, 0, $30, 0 - dsprite 0, 0, -3, 0, $31, 0 - dsprite 0, 0, -2, 0, $32, 0 - dsprite 0, 0, -1, 0, $33, 0 - dsprite 0, 0, 0, 0, $34, 0 - dsprite 0, 0, 1, 0, $35, 0 - dsprite 1, 0, -2, 0, $42, 0 - dsprite 1, 0, -1, 0, $43, 0 - dsprite 1, 0, 0, 0, $44, 0 - dsprite 1, 0, 1, 0, $45, 0 - dsprite 2, 0, -1, 0, $53, 0 - dsprite 2, 0, 0, 0, $54, 0 - dsprite 2, 0, 1, 0, $55, 0 - -.OAMData_IntroSuicune3: - db 30 - dsprite -3, 0, 0, 0, $04, 0 - dsprite -3, 0, 1, 0, $05, 0 - dsprite -2, 0, -3, 0, $11, 0 - dsprite -2, 0, -2, 0, $12, 0 - dsprite -2, 0, -1, 0, $13, 0 - dsprite -2, 0, 0, 0, $14, 0 - dsprite -2, 0, 1, 0, $15, 0 - dsprite -2, 0, 2, 0, $16, 0 - dsprite -2, 0, 3, 0, $17, 0 - dsprite -1, 0, -4, 0, $20, 0 - dsprite -1, 0, -3, 0, $21, 0 - dsprite -1, 0, -2, 0, $22, 0 - dsprite -1, 0, -1, 0, $23, 0 - dsprite -1, 0, 0, 0, $24, 0 - dsprite -1, 0, 1, 0, $25, 0 - dsprite -1, 0, 2, 0, $26, 0 - dsprite 0, 0, -4, 0, $30, 0 - dsprite 0, 0, -3, 0, $31, 0 - dsprite 0, 0, -2, 0, $32, 0 - dsprite 0, 0, -1, 0, $33, 0 - dsprite 0, 0, 0, 0, $34, 0 - dsprite 0, 0, 1, 0, $35, 0 - dsprite 1, 0, -2, 0, $42, 0 - dsprite 1, 0, -1, 0, $43, 0 - dsprite 1, 0, 0, 0, $44, 0 - dsprite 1, 0, 1, 0, $45, 0 - dsprite 2, 0, -2, 0, $52, 0 - dsprite 2, 0, -1, 0, $53, 0 - dsprite 2, 0, 0, 0, $54, 0 - dsprite 2, 0, 1, 0, $55, 0 - -.OAMData_IntroSuicune4: - db 31 - dsprite -2, 0, -3, 0, $11, 0 - dsprite -2, 0, -2, 0, $12, 0 - dsprite -2, 0, -1, 0, $13, 0 - dsprite -2, 0, 0, 0, $14, 0 - dsprite -2, 0, 1, 0, $15, 0 - dsprite -2, 0, 2, 0, $16, 0 - dsprite -2, 0, 3, 0, $17, 0 - dsprite -1, 0, -4, 0, $20, 0 - dsprite -1, 0, -3, 0, $21, 0 - dsprite -1, 0, -2, 0, $22, 0 - dsprite -1, 0, -1, 0, $23, 0 - dsprite -1, 0, 0, 0, $24, 0 - dsprite -1, 0, 1, 0, $25, 0 - dsprite -1, 0, 2, 0, $26, 0 - dsprite -1, 0, 3, 0, $27, 0 - dsprite 0, 0, -4, 0, $30, 0 - dsprite 0, 0, -3, 0, $31, 0 - dsprite 0, 0, -2, 0, $32, 0 - dsprite 0, 0, -1, 0, $33, 0 - dsprite 0, 0, 0, 0, $34, 0 - dsprite 0, 0, 1, 0, $35, 0 - dsprite 0, 0, 2, 0, $36, 0 - dsprite 1, 0, -3, 0, $41, 0 - dsprite 1, 0, -2, 0, $42, 0 - dsprite 1, 0, -1, 0, $43, 0 - dsprite 1, 0, 0, 0, $44, 0 - dsprite 1, 0, 1, 0, $45, 0 - dsprite 2, 0, -3, 0, $51, 0 - dsprite 2, 0, -2, 0, $52, 0 - dsprite 2, 0, 0, 0, $54, 0 - dsprite 2, 0, 1, 0, $55, 0 - -.OAMData_IntroPichu: - db 25 - dsprite -3, 4, -3, 4, $00, 1 | VRAM_BANK_1 - dsprite -3, 4, -2, 4, $01, 1 | VRAM_BANK_1 - dsprite -3, 4, -1, 4, $02, 1 | VRAM_BANK_1 - dsprite -3, 4, 0, 4, $03, 1 | VRAM_BANK_1 - dsprite -3, 4, 1, 4, $04, 1 | VRAM_BANK_1 - dsprite -2, 4, -3, 4, $10, 1 | VRAM_BANK_1 - dsprite -2, 4, -2, 4, $11, 1 | VRAM_BANK_1 - dsprite -2, 4, -1, 4, $12, 1 | VRAM_BANK_1 - dsprite -2, 4, 0, 4, $13, 1 | VRAM_BANK_1 - dsprite -2, 4, 1, 4, $14, 1 | VRAM_BANK_1 - dsprite -1, 4, -3, 4, $20, 1 | VRAM_BANK_1 - dsprite -1, 4, -2, 4, $21, 1 | VRAM_BANK_1 - dsprite -1, 4, -1, 4, $22, 1 | VRAM_BANK_1 - dsprite -1, 4, 0, 4, $23, 1 | VRAM_BANK_1 - dsprite -1, 4, 1, 4, $24, 1 | VRAM_BANK_1 - dsprite 0, 4, -3, 4, $30, 1 | VRAM_BANK_1 - dsprite 0, 4, -2, 4, $31, 1 | VRAM_BANK_1 - dsprite 0, 4, -1, 4, $32, 1 | VRAM_BANK_1 - dsprite 0, 4, 0, 4, $33, 1 | VRAM_BANK_1 - dsprite 0, 4, 1, 4, $34, 1 | VRAM_BANK_1 - dsprite 1, 4, -3, 4, $40, 1 | VRAM_BANK_1 - dsprite 1, 4, -2, 4, $41, 1 | VRAM_BANK_1 - dsprite 1, 4, -1, 4, $42, 1 | VRAM_BANK_1 - dsprite 1, 4, 0, 4, $43, 1 | VRAM_BANK_1 - dsprite 1, 4, 1, 4, $44, 1 | VRAM_BANK_1 - -.OAMData_IntroWooper: - db 16 - dsprite -2, 0, -3, 4, $00, 2 | VRAM_BANK_1 - dsprite -2, 0, -2, 4, $01, 2 | VRAM_BANK_1 - dsprite -2, 0, -1, 4, $02, 2 | VRAM_BANK_1 - dsprite -2, 0, 0, 4, $03, 2 | VRAM_BANK_1 - dsprite -1, 0, -3, 4, $04, 2 | VRAM_BANK_1 - dsprite -1, 0, -2, 4, $05, 2 | VRAM_BANK_1 - dsprite -1, 0, -1, 4, $06, 2 | VRAM_BANK_1 - dsprite -1, 0, 0, 4, $07, 2 | VRAM_BANK_1 - dsprite 0, 0, -3, 4, $08, 2 | VRAM_BANK_1 - dsprite 0, 0, -2, 4, $09, 2 | VRAM_BANK_1 - dsprite 0, 0, -1, 4, $0a, 2 | VRAM_BANK_1 - dsprite 0, 0, 0, 4, $0b, 2 | VRAM_BANK_1 - dsprite 1, 0, -3, 4, $0c, 2 | VRAM_BANK_1 - dsprite 1, 0, -2, 4, $0d, 2 | VRAM_BANK_1 - dsprite 1, 0, -1, 4, $0e, 2 | VRAM_BANK_1 - dsprite 1, 0, 0, 4, $0f, 2 | VRAM_BANK_1 - -.OAMData_IntroUnown1: - db 1 - dsprite -1, 4, -1, 4, $00, $00 - -.OAMData_IntroUnown2: - db 3 - dsprite 0, 0, -1, 0, $00, $00 - dsprite -1, 0, -1, 0, $01, $00 - dsprite -1, 0, 0, 0, $02, $00 - -.OAMData_IntroUnown3: - db 7 - dsprite 1, 0, -2, 0, $00, $00 - dsprite 0, 0, -2, 0, $01, $00 - dsprite -1, 0, -2, 0, $02, $00 - dsprite -1, 0, -1, 0, $03, $00 - dsprite -2, 0, -1, 0, $04, $00 - dsprite -2, 0, 0, 0, $05, $00 - dsprite -2, 0, 1, 0, $06, $00 - -.OAMData_IntroUnownF2_2: - db 8 - dsprite -1, 0, -2, 0, $00, 0 - dsprite -1, 0, -1, 0, $01, 0 - dsprite -1, 0, 0, 0, $01, 0 | X_FLIP - dsprite -1, 0, 1, 0, $00, 0 | X_FLIP - dsprite 0, 0, -2, 0, $00, 0 | Y_FLIP - dsprite 0, 0, -1, 0, $01, 0 | Y_FLIP - dsprite 0, 0, 0, 0, $01, 0 | X_FLIP | Y_FLIP - dsprite 0, 0, 1, 0, $00, 0 | X_FLIP | Y_FLIP - -.OAMData_IntroUnownF2_3: - db 12 - dsprite -3, 0, -1, 0, $00, 0 - dsprite -2, 0, -1, 0, $01, 0 - dsprite -1, 0, -1, 0, $02, 0 - dsprite -3, 0, 0, 0, $00, 0 | X_FLIP - dsprite -2, 0, 0, 0, $01, 0 | X_FLIP - dsprite -1, 0, 0, 0, $02, 0 | X_FLIP - dsprite 0, 0, -1, 0, $02, 0 | Y_FLIP - dsprite 1, 0, -1, 0, $01, 0 | Y_FLIP - dsprite 2, 0, -1, 0, $00, 0 | Y_FLIP - dsprite 0, 0, 0, 0, $02, 0 | X_FLIP | Y_FLIP - dsprite 1, 0, 0, 0, $01, 0 | X_FLIP | Y_FLIP - dsprite 2, 0, 0, 0, $00, 0 | X_FLIP | Y_FLIP - -.OAMData_IntroUnownF2_4_5: - db 20 - dsprite -3, 4, -2, 0, $00, 0 - dsprite -3, 4, -1, 0, $01, 0 - dsprite -3, 4, 0, 0, $02, 0 - dsprite -3, 4, 1, 0, $03, 0 - dsprite -2, 4, -2, 0, $04, 0 - dsprite -2, 4, -1, 0, $05, 0 - dsprite -2, 4, 0, 0, $06, 0 - dsprite -2, 4, 1, 0, $07, 0 - dsprite -1, 4, -2, 0, $08, 0 - dsprite -1, 4, -1, 0, $09, 0 - dsprite -1, 4, 0, 0, $0a, 0 - dsprite -1, 4, 1, 0, $0b, 0 - dsprite 0, 4, -2, 0, $0c, 0 - dsprite 0, 4, -1, 0, $0d, 0 - dsprite 0, 4, 0, 0, $0e, 0 - dsprite 0, 4, 1, 0, $0f, 0 - dsprite 1, 4, -2, 0, $10, 0 - dsprite 1, 4, -1, 0, $11, 0 - dsprite 1, 4, 0, 0, $12, 0 - dsprite 1, 4, 1, 0, $13, 0 - -.OAMData_IntroSuicuneAway: - db 20 - dsprite 0, 0, 1, 0, $00, 1 | BEHIND_BG - dsprite 1, 0, 2, 0, $00, 1 | BEHIND_BG - dsprite 2, 0, 3, 0, $00, 1 | BEHIND_BG - dsprite 3, 0, 4, 0, $00, 1 | BEHIND_BG - dsprite 4, 0, 5, 0, $00, 1 | BEHIND_BG - dsprite 3, 0, 6, 0, $00, 1 | BEHIND_BG - dsprite 2, 0, 7, 0, $00, 1 | BEHIND_BG - dsprite 1, 0, 8, 0, $00, 1 | BEHIND_BG - dsprite 0, 0, 9, 0, $00, 1 | BEHIND_BG - dsprite 1, 0, 10, 0, $00, 1 | BEHIND_BG - dsprite 2, 0, 11, 0, $00, 1 | BEHIND_BG - dsprite 3, 0, 12, 0, $00, 1 | BEHIND_BG - dsprite 4, 0, 13, 0, $00, 1 | BEHIND_BG - dsprite 3, 0, 14, 0, $00, 1 | BEHIND_BG - dsprite 2, 0, 15, 0, $00, 1 | BEHIND_BG - dsprite 1, 0, 16, 0, $00, 1 | BEHIND_BG - dsprite 0, 0, -15, 0, $00, 1 | BEHIND_BG - dsprite 1, 0, -14, 0, $00, 1 | BEHIND_BG - dsprite 2, 0, -13, 0, $00, 1 | BEHIND_BG - dsprite 3, 0, -12, 0, $00, 1 | BEHIND_BG - -.OAMData_Celebi: - db 4 - dsprite -1, 0, -1, 0, $00, PAL_OW_GREEN - dsprite -1, 0, 0, 0, $01, PAL_OW_GREEN - dsprite 0, 0, -1, 0, $02, PAL_OW_GREEN - dsprite 0, 0, 0, 0, $03, PAL_OW_GREEN - -.OAMData_GameFreakLogo1_3: - db 9 - dsprite -2, 0, -2, 4, $00, 1 - dsprite -2, 0, -1, 4, $01, 1 - dsprite -2, 0, 0, 4, $02, 1 - dsprite -1, 0, -2, 4, $10, 1 - dsprite -1, 0, -1, 4, $11, 1 - dsprite -1, 0, 0, 4, $12, 1 - dsprite 0, 0, -2, 4, $20, 1 - dsprite 0, 0, -1, 4, $21, 1 - dsprite 0, 0, 0, 4, $22, 1 - -.OAMData_GameFreakLogo4_11: - db 24 - dsprite -5, 0, -2, 4, $00, 1 - dsprite -5, 0, -1, 4, $01, 1 - dsprite -5, 0, 0, 4, $02, 1 - dsprite -5, 0, 1, 4, $03, 1 - dsprite -4, 0, -2, 4, $10, 1 - dsprite -4, 0, -1, 4, $11, 1 - dsprite -4, 0, 0, 4, $12, 1 - dsprite -4, 0, 1, 4, $13, 1 - dsprite -3, 0, -2, 4, $20, 1 - dsprite -3, 0, -1, 4, $21, 1 - dsprite -3, 0, 0, 4, $22, 1 - dsprite -3, 0, 1, 4, $23, 1 - dsprite -2, 0, -2, 4, $30, 1 - dsprite -2, 0, -1, 4, $31, 1 - dsprite -2, 0, 0, 4, $32, 1 - dsprite -2, 0, 1, 4, $33, 1 - dsprite -1, 0, -2, 4, $40, 1 - dsprite -1, 0, -1, 4, $41, 1 - dsprite -1, 0, 0, 4, $42, 1 - dsprite -1, 0, 1, 4, $43, 1 - dsprite 0, 0, -2, 4, $50, 1 - dsprite 0, 0, -1, 4, $51, 1 - dsprite 0, 0, 0, 4, $52, 1 - dsprite 0, 0, 1, 4, $53, 1 -; 8e706 diff --git a/data/sprites/sequences.asm b/data/sprites/sequences.asm deleted file mode 100644 index 70544a60a..000000000 --- a/data/sprites/sequences.asm +++ /dev/null @@ -1,49 +0,0 @@ -SpriteAnimSeqData: ; 8d1c4 -; entries correspond to SPRITE_ANIM_INDEX_* constants - ; frameset sequence, tile - db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, $00 ; SPRITE_ANIM_INDEX_PARTY_MON - db SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL, SPRITE_ANIM_SEQ_GS_TITLE_TRAIL, $00 ; SPRITE_ANIM_INDEX_GS_TITLE_TRAIL - db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, $05 ; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR - db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00 ; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO - db SPRITE_ANIM_FRAMESET_GS_INTRO_STAR, SPRITE_ANIM_SEQ_GS_INTRO_STAR, $06 ; SPRITE_ANIM_INDEX_GS_INTRO_STAR - db SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE, SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE, $06 ; SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE - db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOTS_GOLEM, $07 ; SPRITE_ANIM_INDEX_SLOTS_GOLEM - db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07 ; SPRITE_ANIM_INDEX_SLOTS_CHANSEY - db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07 ; SPRITE_ANIM_INDEX_SLOTS_EGG - db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_MAIL_CURSOR, $05 ; SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR - db SPRITE_ANIM_FRAMESET_RED_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_RED_WALK - db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_FOR_UNUSED_CURSOR, $08 ; SPRITE_ANIM_INDEX_UNUSED_CURSOR - db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR, $08 ; SPRITE_ANIM_INDEX_DUMMY_GAME - db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_POKEGEAR_ARROW, $08 ; SPRITE_ANIM_INDEX_POKEGEAR_ARROW - db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_TRADE_POKE_BALL, $00 ; SPRITE_ANIM_INDEX_TRADE_POKE_BALL - db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_TRADE_POOF - db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE, $00 ; SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE - db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; SPRITE_ANIM_INDEX_TRADEMON_ICON - db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; SPRITE_ANIM_INDEX_TRADEMON_BUBBLE - db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 ; SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT - db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB, $00 ; SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB - db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED - db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_CUT_LEAVES, $00 ; SPRITE_ANIM_INDEX_LEAF - db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_CUT_TREE - db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00 ; SPRITE_ANIM_INDEX_FLY_LEAF - db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_EGG_CRACK - db SPRITE_ANIM_FRAMESET_24, SPRITE_ANIM_SEQ_19, $00 ; SPRITE_ANIM_INDEX_1A - db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_HEADBUTT - db SPRITE_ANIM_FRAMESET_EGG_HATCH, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 ; SPRITE_ANIM_INDEX_EGG_HATCH - db SPRITE_ANIM_FRAMESET_26, SPRITE_ANIM_SEQ_1A, $00 ; SPRITE_ANIM_INDEX_1D - db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_BLUE_WALK - db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE - db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL - db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL - db SPRITE_ANIM_FRAMESET_FOR_MOBILE_22, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_22 - db SPRITE_ANIM_FRAMESET_FOR_MOBILE_23, SPRITE_ANIM_SEQ_FOR_MOBILE_23, $00 ; SPRITE_ANIM_INDEX_MOBILE_23 - db SPRITE_ANIM_FRAMESET_FOR_MOBILE_24, SPRITE_ANIM_SEQ_FOR_MOBILE_24, $00 ; SPRITE_ANIM_INDEX_MOBILE_24 - db SPRITE_ANIM_FRAMESET_FOR_MOBILE_25, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_25 - db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_INTRO_SUICUNE, $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE - db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 ; SPRITE_ANIM_INDEX_INTRO_PICHU - db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 ; SPRITE_ANIM_INDEX_INTRO_WOOPER - db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_INTRO_UNOWN, $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN - db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_INTRO_UNOWN_F, $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN_F - db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY - db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_CELEBI -; 8d24b diff --git a/data/trainers/pic_pointers.asm b/data/trainers/pic_pointers.asm new file mode 100644 index 000000000..201b44200 --- /dev/null +++ b/data/trainers/pic_pointers.asm @@ -0,0 +1,69 @@ +TrainerPicPointers:: +; entries correspond to trainer classes (see constants/trainer_constants.asm) + dba_pic FalknerPic + dba_pic WhitneyPic + dba_pic BugsyPic + dba_pic MortyPic + dba_pic PrycePic + dba_pic JasminePic + dba_pic ChuckPic + dba_pic ClairPic + dba_pic Rival1Pic + dba_pic PokemonProfPic + dba_pic WillPic + dba_pic CalPic + dba_pic BrunoPic + dba_pic KarenPic + dba_pic KogaPic + dba_pic ChampionPic + dba_pic BrockPic + dba_pic MistyPic + dba_pic LtSurgePic + dba_pic ScientistPic + dba_pic ErikaPic + dba_pic YoungsterPic + dba_pic SchoolboyPic + dba_pic BirdKeeperPic + dba_pic LassPic + dba_pic JaninePic + dba_pic CooltrainermPic + dba_pic CooltrainerfPic + dba_pic BeautyPic + dba_pic PokemaniacPic + dba_pic GruntmPic + dba_pic GentlemanPic + dba_pic SkierPic + dba_pic TeacherPic + dba_pic SabrinaPic + dba_pic BugCatcherPic + dba_pic FisherPic + dba_pic SwimmermPic + dba_pic SwimmerfPic + dba_pic SailorPic + dba_pic SuperNerdPic + dba_pic Rival2Pic + dba_pic GuitaristPic + dba_pic HikerPic + dba_pic BikerPic + dba_pic BlainePic + dba_pic BurglarPic + dba_pic FirebreatherPic + dba_pic JugglerPic + dba_pic BlackbeltTPic + dba_pic ExecutivemPic + dba_pic PsychicTPic + dba_pic PicnickerPic + dba_pic CamperPic + dba_pic ExecutivefPic + dba_pic SagePic + dba_pic MediumPic + dba_pic BoarderPic + dba_pic PokefanmPic + dba_pic KimonoGirlPic + dba_pic TwinsPic + dba_pic PokefanfPic + dba_pic RedPic + dba_pic BluePic + dba_pic OfficerPic + dba_pic GruntfPic + dba_pic MysticalmanPic diff --git a/docs/battle_anim_commands.md b/docs/battle_anim_commands.md new file mode 100644 index 000000000..4a11391db --- /dev/null +++ b/docs/battle_anim_commands.md @@ -0,0 +1,121 @@ +# Battle Animation Commands + +Defined in [macros/scripts/battle_anims.asm](/macros/scripts/battle_anims.asm) and [data/moves/move_anims.asm:BattleAnimations](/data/moves/move_anims.asm). + + +## `$00`−`$EF`: `anim_wait` *length* + +## `$D0`: `anim_obj` *object*, *x1*, *x2*, *y1*, *y2*, *param* + +The *x1*/*x2* and *y1*/*y2* pairs specify the position on screen of the animation object. +*x1*/*y1* specify a tile position, and *x2*/*y2* specify a pixel offset from that tile. + +Values for *x2*/*y2* are in the 0-7 range, since 8 pixels make a tile. + +Values for *x1* are between -16 to 31. In practice *x1* starts between 0 to 15, then between -16 to -10. Negative values are relative to the opponent, while positive values are relative to the player. Useful values are between 14 to -10 (for the opponent) and between 0 to 13 (for the player). + +Some sample values are: + +- 0: player left border +- 6: player center +- -15: enemy center +- -10: enemy right border + +Values for *y1* are also between -16 to 31; the useful range is between 2 to 14. +Values between 2 to 8 will be in the opponent's area (2 being the top border and 8 being the +bottom border), and values between 8 to 14 will be in the player's area (again, 8 being the top border and 14 being the bottom border). +The center of the body is often 2 to 4 tiles away from the border (i.e., 5-6 for the opponent or 10-11 for the player). + +## `$D1`: `anim_1gfx` *gfx* + +## `$D2`: `anim_2gfx` *gfx1*, *gfx2* + +## `$D3`: `anim_3gfx` *gfx1*, *gfx2*, *gfx3* + +## `$D4`: `anim_4gfx` *gfx1*, *gfx2*, *gfx3*, *gfx4* + +## `$D5`: `anim_5gfx` *gfx1*, *gfx2*, *gfx3*, *gfx4*, *gfx5* + +## `$D6`: `anim_incobj` *id* + +## `$D7`: `anim_setobj` *id*, *object* + +## `$D8`: `anim_incbgeffect` *effect* + +## `$D9`: `anim_enemyfeetobj` + +## `$DA`: `anim_playerheadobj` + +## `$DB`: `anim_checkpokeball` + +## `$DC`: `anim_transform` + +## `$DD`: `anim_raisesub` + +## `$DE`: `anim_dropsub` + +## `$DF`: `anim_resetobp0` + +## `$E0`: `anim_sound` *duration*, *tracks*, *id* + +## `$E1`: `anim_cry` *pitch* + +## `$E2`: `anim_minimizeopp` + +## `$E3`: `anim_oamon` + +## `$E4`: `anim_oamoff` + +## `$E5`: `anim_clearobjs` + +## `$E6`: `anim_beatup` + +## `$E7`: `anim_0xe7` + +## `$E8`: `anim_updateactorpic` + +## `$E9`: `anim_minimize` + +## `$EA`: `anim_0xea` + +## `$EB`: `anim_0xeb` + +## `$EC`: `anim_0xec` + +## `$ED`: `anim_0xed` + +## `$EE`: `anim_if_param_and` *value*, *address* + +## `$EF`: `anim_jumpuntil` *address* + +## `$F0`: `anim_bgeffect` *effect*, *unknown1*, *unknown2*, *unknown3* + +## `$F1`: `anim_bgp` *colors* + +## `$F2`: `anim_obp0` *colors* + +## `$F3`: `anim_obp1` *colors* + +## `$F4`: `anim_clearsprites` + +## `$F5`: `anim_0xf5` + +## `$F6`: `anim_0xf6` + +## `$F7`: `anim_0xf7` + +## `$F8`: `anim_if_param_equal` *value*, *address* + +## `$F9`: `anim_setvar` *value* + +## `$FA`: `anim_incvar` + +## `$FB`: `anim_if_var_equal` *value*, *address* + +## `$FC`: `anim_jump` *address* + +## `$FD`: `anim_loop` *count*, *address* + +## `$FE`: `anim_call` *address* + +## `$FF`: `anim_ret` diff --git a/docs/event_commands.md b/docs/event_commands.md index 151d74b54..b4314bd24 100644 --- a/docs/event_commands.md +++ b/docs/event_commands.md @@ -1,6 +1,6 @@ # Event Commands -Defined in [macros/scripts/event.asm](/macros/scripts/event.asm) and [engine/scripting.asm:ScriptCommandTable](/engine/scripting.asm). +Defined in [macros/scripts/events.asm](/macros/scripts/events.asm) and [engine/scripting.asm:ScriptCommandTable](/engine/scripting.asm). ## `$00`: `scall` *script* diff --git a/docs/move_anim_commands.md b/docs/move_anim_commands.md deleted file mode 100644 index 308c4c45e..000000000 --- a/docs/move_anim_commands.md +++ /dev/null @@ -1,121 +0,0 @@ -# Move Animation Commands - -Defined in [macros/scripts/move_anim.asm](/macros/scripts/move_anim.asm) and [data/moves/move_anims.asm:BattleAnimations](/data/moves/move_anims.asm). - - -## `$00`−`$EF`: `anim_wait` *length* - -## `$D0`: `anim_obj` *object*, *x1*, *x2*, *y1*, *y2*, *param* - -The *x1*/*x2* and *y1*/*y2* pairs specify the position on screen of the animation object. -*x1*/*y1* specify a tile position, and *x2*/*y2* specify a pixel offset from that tile. - -Values for *x2*/*y2* are in the 0-7 range, since 8 pixels make a tile. - -Values for *x1* are between -16 to 31. In practice *x1* starts between 0 to 15, then between -16 to -10. Negative values are relative to the opponent, while positive values are relative to the player. Useful values are between 14 to -10 (for the opponent) and between 0 to 13 (for the player). - -Some sample values are: - -- 0: player left border -- 6: player center -- -15: enemy center -- -10: enemy right border - -Values for *y1* are also between -16 to 31; the useful range is between 2 to 14. -Values between 2 to 8 will be in the opponent's area (2 being the top border and 8 being the -bottom border), and values between 8 to 14 will be in the player's area (again, 8 being the top border and 14 being the bottom border). -The center of the body is often 2 to 4 tiles away from the border (i.e., 5-6 for the opponent or 10-11 for the player). - -## `$D1`: `anim_1gfx` *gfx* - -## `$D2`: `anim_2gfx` *gfx1*, *gfx2* - -## `$D3`: `anim_3gfx` *gfx1*, *gfx2*, *gfx3* - -## `$D4`: `anim_4gfx` *gfx1*, *gfx2*, *gfx3*, *gfx4* - -## `$D5`: `anim_5gfx` *gfx1*, *gfx2*, *gfx3*, *gfx4*, *gfx5* - -## `$D6`: `anim_incobj` *id* - -## `$D7`: `anim_setobj` *id*, *object* - -## `$D8`: `anim_incbgeffect` *effect* - -## `$D9`: `anim_enemyfeetobj` - -## `$DA`: `anim_playerheadobj` - -## `$DB`: `anim_checkpokeball` - -## `$DC`: `anim_transform` - -## `$DD`: `anim_raisesub` - -## `$DE`: `anim_dropsub` - -## `$DF`: `anim_resetobp0` - -## `$E0`: `anim_sound` *duration*, *tracks*, *id* - -## `$E1`: `anim_cry` *pitch* - -## `$E2`: `anim_minimizeopp` - -## `$E3`: `anim_oamon` - -## `$E4`: `anim_oamoff` - -## `$E5`: `anim_clearobjs` - -## `$E6`: `anim_beatup` - -## `$E7`: `anim_0xe7` - -## `$E8`: `anim_updateactorpic` - -## `$E9`: `anim_minimize` - -## `$EA`: `anim_0xea` - -## `$EB`: `anim_0xeb` - -## `$EC`: `anim_0xec` - -## `$ED`: `anim_0xed` - -## `$EE`: `anim_if_param_and` *value*, *address* - -## `$EF`: `anim_jumpuntil` *address* - -## `$F0`: `anim_bgeffect` *effect*, *unknown1*, *unknown2*, *unknown3* - -## `$F1`: `anim_bgp` *colors* - -## `$F2`: `anim_obp0` *colors* - -## `$F3`: `anim_obp1` *colors* - -## `$F4`: `anim_clearsprites` - -## `$F5`: `anim_0xf5` - -## `$F6`: `anim_0xf6` - -## `$F7`: `anim_0xf7` - -## `$F8`: `anim_if_param_equal` *value*, *address* - -## `$F9`: `anim_setvar` *value* - -## `$FA`: `anim_incvar` - -## `$FB`: `anim_if_var_equal` *value*, *address* - -## `$FC`: `anim_jump` *address* - -## `$FD`: `anim_loop` *count*, *address* - -## `$FE`: `anim_call` *address* - -## `$FF`: `anim_ret` diff --git a/docs/pic_animations.md b/docs/pic_animations.md index 531282c13..ba11a1dc1 100644 --- a/docs/pic_animations.md +++ b/docs/pic_animations.md @@ -1,7 +1,6 @@ # Pic Animations -Defined in [macros/scripts/gfx_anim.asm](/macros/scripts/gfx_anim.asm) and [engine/anims/anim_commands.asm:BattleAnimCommands](/engine/anims/anim_commands.asm). - +Defined in [macros/scripts/gfx_anims.asm](/macros/scripts/gfx_anims.asm). Pic animations are assembled in 3 parts: @@ -20,12 +19,12 @@ Pic animations are assembled in 3 parts: Animation data is in these files: -- gfx/pics/anims.asm: +- [gfx/pokemon/anims.asm](/gfx/pokemon/anims.asm): Main animations (played everywhere) -- gfx/pics/extras.asm: +- [gfx/pokemon/extras.asm](/gfx/pokemon/extras.asm): Extra animations, appended to the main animation. Used in the status screen (blinking, tail wags etc.) -- gfx/pics/unown_anims.asm and gfx/pics/unown_extras.asm: +- [gfx/pokemon/unown_anims.asm](/gfx/pokemon/unown_anims.asm) and [gfx/pokemon/unown_extras.asm](/gfx/pokemon/unown_extras.asm): Unown has its own animation data despite having an entry in the main tables. diff --git a/engine/anims/anim_commands.asm b/engine/anims/anim_commands.asm deleted file mode 100644 index 1977f9112..000000000 --- a/engine/anims/anim_commands.asm +++ /dev/null @@ -1,1514 +0,0 @@ -; Battle animation command interpreter. - -PlayBattleAnim: ; cc0d6 - - ld a, [rSVBK] - push af - - ld a, 5 - ld [rSVBK], a - - call _PlayBattleAnim - - pop af - ld [rSVBK], a - ret -; cc0e4 - -_PlayBattleAnim: ; cc0e4 - - ld c, 6 -.wait - call BattleAnimDelayFrame - dec c - jr nz, .wait - - call BattleAnimAssignPals - call BattleAnimRequestPals - call BattleAnimDelayFrame - - ld c, 1 - ld a, [rKEY1] - bit 7, a - jr nz, .asm_cc0ff - ld c, 3 - -.asm_cc0ff - ld hl, hVBlank - ld a, [hl] - push af - - ld [hl], c - call BattleAnimRunScript - - pop af - ld [hVBlank], a - - ld a, $1 - ld [hBGMapMode], a - - call BattleAnimDelayFrame - call BattleAnimDelayFrame - call BattleAnimDelayFrame - call WaitSFX - ret -; cc11c - -BattleAnimRunScript: ; cc11c - - ld a, [FXAnimID + 1] - and a - jr nz, .hi_byte - - farcall CheckBattleScene - jr c, .disabled - - call BattleAnimClearHud - call RunBattleAnimScript - - call BattleAnimAssignPals - call BattleAnimRequestPals - - xor a - ld [hSCX], a - ld [hSCY], a - call BattleAnimDelayFrame - call BattleAnimRestoreHuds - -.disabled - ld a, [wNumHits] - and a - jr z, .done - - ld l, a - ld h, 0 - ld de, ANIM_MISS - add hl, de - ld a, l - ld [FXAnimID], a - ld a, h - ld [FXAnimID + 1], a - -.hi_byte - call WaitSFX - call PlayHitSound - call RunBattleAnimScript - -.done - call BattleAnim_RevertPals - ret -; cc163 - -RunBattleAnimScript: ; cc163 - - call ClearBattleAnims - -.playframe - call RunBattleAnimCommand - call _ExecuteBGEffects - call BattleAnim_UpdateOAM_All - call PushLYOverrides - call BattleAnimRequestPals - -; Speed up Rollout's animation. - ld a, [FXAnimID + 1] - or a - jr nz, .not_rollout - - ld a, [FXAnimID] - cp ROLLOUT - jr nz, .not_rollout - - ld a, $2e - ld b, 5 - ld de, 4 - ld hl, ActiveBGEffects -.find - cp [hl] - jr z, .done - add hl, de - dec b - jr nz, .find - -.not_rollout - call BattleAnimDelayFrame - -.done - ld a, [BattleAnimFlags] - bit 0, a - jr z, .playframe - - call BattleAnim_ClearCGB_OAMFlags - ret -; cc1a1 - -BattleAnimClearHud: ; cc1a1 - - call BattleAnimDelayFrame - call WaitTop - call ClearActorHud - ld a, $1 - ld [hBGMapMode], a - call BattleAnimDelayFrame - call BattleAnimDelayFrame - call BattleAnimDelayFrame - call WaitTop - ret -; cc1bb - -BattleAnimRestoreHuds: ; cc1bb - - call BattleAnimDelayFrame - call WaitTop - - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - - ld hl, UpdateBattleHuds - ld a, BANK(UpdatePlayerHUD) - rst FarCall ; Why not "call UpdateBattleHuds"? - - pop af - ld [rSVBK], a - - ld a, $1 - ld [hBGMapMode], a - call BattleAnimDelayFrame - call BattleAnimDelayFrame - call BattleAnimDelayFrame - call WaitTop - ret -; cc1e2 - -BattleAnimRequestPals: ; cc1e2 - - ld a, [hCGB] - and a - ret z - - ld a, [rBGP] - ld b, a - ld a, [wBGP] - cp b - call nz, BattleAnim_SetBGPals - - ld a, [rOBP0] - ld b, a - ld a, [wOBP0] - cp b - call nz, BattleAnim_SetOBPals - ret -; cc1fb - -BattleAnimDelayFrame: ; cc1fb -; Like DelayFrame but wastes battery life. - - ld a, 1 - ld [VBlankOccurred], a -.wait - ld a, [VBlankOccurred] - and a - jr nz, .wait - ret -; cc207 - -ClearActorHud: ; cc207 - - ld a, [hBattleTurn] - and a - jr z, .player - - hlcoord 1, 0 - lb bc, 4, 10 - call ClearBox - ret - -.player - hlcoord 9, 7 - lb bc, 5, 11 - call ClearBox - ret -; cc220 - -Functioncc220: ; cc220 -; Appears to be unused. - xor a - ld [hBGMapMode], a - ld a, LOW(VBGMap0 tile $28) - ld [hBGMapAddress], a - ld a, HIGH(VBGMap0 tile $28) - ld [hBGMapAddress + 1], a - call WaitBGMap2 - ld a, $60 - ld [hWY], a - xor a ; LOW(VBGMap0) - ld [hBGMapAddress], a - ld a, HIGH(VBGMap0) - ld [hBGMapAddress + 1], a - call BattleAnimDelayFrame - ret -; cc23d - - -BattleAnim_ClearCGB_OAMFlags: ; cc23d - - ld a, [BattleAnimFlags] - bit 3, a - jr z, .delete - - ld hl, Sprites + 3 - ld c, (SpritesEnd - Sprites) / 4 -.loop - ld a, [hl] - and $f0 - ld [hli], a - inc hl - inc hl - inc hl - dec c - jr nz, .loop - ret - -.delete - ld hl, Sprites - ld c, SpritesEnd - Sprites - xor a -.loop2 - ld [hli], a - dec c - jr nz, .loop2 - ret -; cc25f - -RunBattleAnimCommand: ; cc25f - call .CheckTimer - ret nc - call .RunScript - ret -; cc267 - -.CheckTimer: ; cc267 - ld a, [BattleAnimDuration] - and a - jr z, .done - - dec a - ld [BattleAnimDuration], a - and a - ret - -.done - scf - ret -; cc275 - -.RunScript: ; cc275 -.loop - call GetBattleAnimByte - - cp $ff - jr nz, .not_done_with_anim - -; Return from a subroutine. - ld hl, BattleAnimFlags - bit 1, [hl] - jr nz, .do_anim - - set 0, [hl] - ret - -.not_done_with_anim - cp $d0 - jr nc, .do_anim - - ld [BattleAnimDuration], a - ret - -.do_anim - call .DoCommand - - jr .loop -; cc293 - -.DoCommand: ; cc293 -; Execute battle animation command in [BattleAnimByte]. - ld a, [BattleAnimByte] - sub $d0 - - ld e, a - ld d, 0 - ld hl, BattleAnimCommands - add hl, de - add hl, de - - ld a, [hli] - ld h, [hl] - ld l, a - jp hl -; cc2a4 - - -BattleAnimCommands:: ; cc2a4 (33:42a4) -; entries correspond to macros/move_anim.asm enumeration - dw BattleAnimCmd_Obj - dw BattleAnimCmd_1GFX - dw BattleAnimCmd_2GFX - dw BattleAnimCmd_3GFX - dw BattleAnimCmd_4GFX - dw BattleAnimCmd_5GFX - dw BattleAnimCmd_IncObj - dw BattleAnimCmd_SetObj - dw BattleAnimCmd_IncBGEffect - dw BattleAnimCmd_EnemyFeetObj - dw BattleAnimCmd_PlayerHeadObj - dw BattleAnimCmd_CheckPokeball - dw BattleAnimCmd_Transform - dw BattleAnimCmd_RaiseSub - dw BattleAnimCmd_DropSub - dw BattleAnimCmd_ResetObp0 - dw BattleAnimCmd_Sound - dw BattleAnimCmd_Cry - dw BattleAnimCmd_MinimizeOpp - dw BattleAnimCmd_OAMOn - dw BattleAnimCmd_OAMOff - dw BattleAnimCmd_ClearObjs - dw BattleAnimCmd_BeatUp - dw BattleAnimCmd_E7 - dw BattleAnimCmd_UpdateActorPic - dw BattleAnimCmd_Minimize - dw BattleAnimCmd_EA ; dummy - dw BattleAnimCmd_EB ; dummy - dw BattleAnimCmd_EC ; dummy - dw BattleAnimCmd_ED ; dummy - dw BattleAnimCmd_IfParamAnd - dw BattleAnimCmd_JumpUntil - dw BattleAnimCmd_BGEffect - dw BattleAnimCmd_BGP - dw BattleAnimCmd_OBP0 - dw BattleAnimCmd_OBP1 - dw BattleAnimCmd_ClearSprites - dw BattleAnimCmd_F5 - dw BattleAnimCmd_F6 - dw BattleAnimCmd_F7 - dw BattleAnimCmd_IfParamEqual - dw BattleAnimCmd_SetVar - dw BattleAnimCmd_IncVar - dw BattleAnimCmd_IfVarEqual - dw BattleAnimCmd_Jump - dw BattleAnimCmd_Loop - dw BattleAnimCmd_Call - dw BattleAnimCmd_Ret - - -BattleAnimCmd_EA: -BattleAnimCmd_EB: -BattleAnimCmd_EC: -BattleAnimCmd_ED: ; cc304 (33:4304) - ret - -BattleAnimCmd_Ret: ; cc305 (33:4305) - ld hl, BattleAnimFlags - res 1, [hl] - ld hl, BattleAnimParent - ld e, [hl] - inc hl - ld d, [hl] - ld hl, BattleAnimAddress - ld [hl], e - inc hl - ld [hl], d - ret - -BattleAnimCmd_Call: ; cc317 (33:4317) - call GetBattleAnimByte - ld e, a - call GetBattleAnimByte - ld d, a - push de - ld hl, BattleAnimAddress - ld e, [hl] - inc hl - ld d, [hl] - ld hl, BattleAnimParent - ld [hl], e - inc hl - ld [hl], d - pop de - ld hl, BattleAnimAddress - ld [hl], e - inc hl - ld [hl], d - ld hl, BattleAnimFlags - set 1, [hl] - ret - -BattleAnimCmd_Jump: ; cc339 (33:4339) - call GetBattleAnimByte - ld e, a - call GetBattleAnimByte - ld d, a - ld hl, BattleAnimAddress - ld [hl], e - inc hl - ld [hl], d - ret - -BattleAnimCmd_Loop: ; cc348 (33:4348) - call GetBattleAnimByte - ld hl, BattleAnimFlags - bit 2, [hl] - jr nz, .continue_loop - and a - jr z, .perpetual - dec a - set 2, [hl] - ld [BattleAnimLoops], a -.continue_loop - ld hl, BattleAnimLoops - ld a, [hl] - and a - jr z, .return_from_loop - dec [hl] -.perpetual - call GetBattleAnimByte - ld e, a - call GetBattleAnimByte - ld d, a - ld hl, BattleAnimAddress - ld [hl], e - inc hl - ld [hl], d - ret - -.return_from_loop - ld hl, BattleAnimFlags - res 2, [hl] - ld hl, BattleAnimAddress - ld e, [hl] - inc hl - ld d, [hl] - inc de - inc de - ld [hl], d - dec hl - ld [hl], e - ret - -BattleAnimCmd_JumpUntil: ; cc383 (33:4383) - ld hl, wBattleAnimParam - ld a, [hl] - and a - jr z, .dont_jump - - dec [hl] - call GetBattleAnimByte - ld e, a - call GetBattleAnimByte - ld d, a - ld hl, BattleAnimAddress - ld [hl], e - inc hl - ld [hl], d - ret - -.dont_jump - ld hl, BattleAnimAddress - ld e, [hl] - inc hl - ld d, [hl] - inc de - inc de - ld [hl], d - dec hl - ld [hl], e - ret - -BattleAnimCmd_SetVar: ; cc3a6 (33:43a6) - call GetBattleAnimByte - ld [BattleAnimVar], a - ret - -BattleAnimCmd_IncVar: ; cc3ad (33:43ad) - ld hl, BattleAnimVar - inc [hl] - ret - -BattleAnimCmd_IfVarEqual: ; cc3b2 (33:43b2) - call GetBattleAnimByte - ld hl, BattleAnimVar - cp [hl] - jr z, .jump - - ld hl, BattleAnimAddress - ld e, [hl] - inc hl - ld d, [hl] - inc de - inc de - ld [hl], d - dec hl - ld [hl], e - ret - -.jump - call GetBattleAnimByte - ld e, a - call GetBattleAnimByte - ld d, a - ld hl, BattleAnimAddress - ld [hl], e - inc hl - ld [hl], d - ret - -BattleAnimCmd_IfParamEqual: ; cc3d6 (33:43d6) - call GetBattleAnimByte - ld hl, wBattleAnimParam - cp [hl] - jr z, .jump - - ld hl, BattleAnimAddress - ld e, [hl] - inc hl - ld d, [hl] - inc de - inc de - ld [hl], d - dec hl - ld [hl], e - ret - -.jump - call GetBattleAnimByte - ld e, a - call GetBattleAnimByte - ld d, a - ld hl, BattleAnimAddress - ld [hl], e - inc hl - ld [hl], d - ret - -BattleAnimCmd_IfParamAnd: ; cc3fa (33:43fa) - call GetBattleAnimByte - ld e, a - ld a, [wBattleAnimParam] - and e - jr nz, .jump - - ld hl, BattleAnimAddress - ld e, [hl] - inc hl - ld d, [hl] - inc de - inc de - ld [hl], d - dec hl - ld [hl], e - ret - -.jump - call GetBattleAnimByte - ld e, a - call GetBattleAnimByte - ld d, a - ld hl, BattleAnimAddress - ld [hl], e - inc hl - ld [hl], d - ret - -BattleAnimCmd_Obj: ; cc41f (33:441f) -; index, x, y, param - call GetBattleAnimByte - ld [wBattleAnimTemp0], a - call GetBattleAnimByte - ld [wBattleAnimTemp1], a - call GetBattleAnimByte - ld [wBattleAnimTemp2], a - call GetBattleAnimByte - ld [wBattleAnimTemp3], a - call QueueBattleAnimation - ret - -BattleAnimCmd_BGEffect: ; cc43b (33:443b) - call GetBattleAnimByte - ld [wBattleAnimTemp0], a - call GetBattleAnimByte - ld [wBattleAnimTemp1], a - call GetBattleAnimByte - ld [wBattleAnimTemp2], a - call GetBattleAnimByte - ld [wBattleAnimTemp3], a - call _QueueBGEffect - ret - -BattleAnimCmd_BGP: ; cc457 (33:4457) - call GetBattleAnimByte - ld [wBGP], a - ret - -BattleAnimCmd_OBP0: ; cc45e (33:445e) - call GetBattleAnimByte - ld [wOBP0], a - ret - -BattleAnimCmd_OBP1: ; cc465 (33:4465) - call GetBattleAnimByte - ld [wOBP1], a - ret - -BattleAnimCmd_ResetObp0: ; cc46c (33:446c) - ld a, [hSGB] - and a - ld a, $e0 - jr z, .not_sgb - ld a, $f0 -.not_sgb - ld [wOBP0], a - ret - -BattleAnimCmd_ClearObjs: ; cc479 (33:4479) - ld hl, ActiveAnimObjects - ld a, $a0 -.loop - ld [hl], $0 - inc hl - dec a - jr nz, .loop - ret - -BattleAnimCmd_1GFX: -BattleAnimCmd_2GFX: -BattleAnimCmd_3GFX: -BattleAnimCmd_4GFX: -BattleAnimCmd_5GFX: ; cc485 (33:4485) - ld a, [BattleAnimByte] - and $f - ld c, a - ld hl, wBattleAnimTileDict - xor a - ld [wBattleAnimTemp0], a -.loop - ld a, [wBattleAnimTemp0] - cp (VTiles1 - VTiles0) / $10 - $31 - ret nc - call GetBattleAnimByte - ld [hli], a - ld a, [wBattleAnimTemp0] - ld [hli], a - push bc - push hl - ld l, a - ld h, $0 -rept 4 - add hl, hl -endr - ld de, VTiles0 tile $31 - add hl, de - ld a, [BattleAnimByte] - call LoadBattleAnimObj - ld a, [wBattleAnimTemp0] - add c - ld [wBattleAnimTemp0], a - pop hl - pop bc - dec c - jr nz, .loop - ret - -BattleAnimCmd_IncObj: ; cc4c0 (33:44c0) - call GetBattleAnimByte - ld e, 10 - ld bc, ActiveAnimObjects -.loop - ld hl, BATTLEANIMSTRUCT_INDEX - add hl, bc - ld d, [hl] - ld a, [BattleAnimByte] - cp d - jr z, .found - ld hl, BATTLEANIMSTRUCT_LENGTH - add hl, bc - ld c, l - ld b, h - dec e - jr nz, .loop - ret - -.found - ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX - add hl, bc - inc [hl] - ret - -BattleAnimCmd_IncBGEffect: ; cc4e3 (33:44e3) - call GetBattleAnimByte - ld e, 5 - ld bc, ActiveBGEffects -.loop - ld hl, $0 - add hl, bc - ld d, [hl] - ld a, [BattleAnimByte] - cp d - jr z, .found - ld hl, 4 - add hl, bc - ld c, l - ld b, h - dec e - jr nz, .loop - ret - -.found - ld hl, BG_EFFECT_STRUCT_JT_INDEX - add hl, bc - inc [hl] - ret - -BattleAnimCmd_SetObj: ; cc506 (33:4506) - call GetBattleAnimByte - ld e, 10 - ld bc, ActiveAnimObjects -.loop - ld hl, BATTLEANIMSTRUCT_INDEX - add hl, bc - ld d, [hl] - ld a, [BattleAnimByte] - cp d - jr z, .found - ld hl, BATTLEANIMSTRUCT_LENGTH - add hl, bc - ld c, l - ld b, h - dec e - jr nz, .loop - ret - -.found - call GetBattleAnimByte - ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX - add hl, bc - ld [hl], a - ret - -BattleAnimCmd_EnemyFeetObj: ; cc52c (33:452c) - - ld hl, wBattleAnimTileDict -.loop - ld a, [hl] - and a - jr z, .okay - inc hl - inc hl - jr .loop - -.okay - ld a, $28 - ld [hli], a - ld a, $42 - ld [hli], a - ld a, $29 - ld [hli], a - ld a, $49 - ld [hl], a - - ld hl, VTiles0 tile $73 - ld de, VTiles2 tile $06 - ld a, $70 - ld [wBattleAnimTemp0], a - ld a, $7 - call .LoadFootprint - ld de, VTiles2 tile $31 - ld a, $60 - ld [wBattleAnimTemp0], a - ld a, $6 - call .LoadFootprint - ret - -.LoadFootprint: ; cc561 (33:4561) - push af - push hl - push de - lb bc, BANK(BattleAnimCmd_EnemyFeetObj), 1 - call Request2bpp - pop de - ld a, [wBattleAnimTemp0] - ld l, a - ld h, 0 - add hl, de - ld e, l - ld d, h - pop hl - ld bc, 1 tiles - add hl, bc - pop af - dec a - jr nz, .LoadFootprint - ret - -BattleAnimCmd_PlayerHeadObj: ; cc57e (33:457e) - - ld hl, wBattleAnimTileDict -.loop - ld a, [hl] - and a - jr z, .okay - inc hl - inc hl - jr .loop - -.okay - ld a, $28 - ld [hli], a - ld a, $35 - ld [hli], a - ld a, $29 - ld [hli], a - ld a, $43 - ld [hl], a - - ld hl, VTiles0 tile $66 - ld de, VTiles2 tile $05 - ld a, $70 - ld [wBattleAnimTemp0], a - ld a, $7 - call .LoadHead - ld de, VTiles2 tile $31 - ld a, $60 - ld [wBattleAnimTemp0], a - ld a, $6 - call .LoadHead - ret - -.LoadHead: ; cc5b3 (33:45b3) - push af - push hl - push de - lb bc, BANK(BattleAnimCmd_EnemyFeetObj), 2 - call Request2bpp - pop de - ld a, [wBattleAnimTemp0] - ld l, a - ld h, 0 - add hl, de - ld e, l - ld d, h - pop hl - ld bc, 2 tiles - add hl, bc - pop af - dec a - jr nz, .LoadHead - ret - -BattleAnimCmd_CheckPokeball: ; cc5d0 (33:45d0) - callfar GetPokeBallWobble - ld a, c - ld [BattleAnimVar], a - ret - -BattleAnimCmd_E7: ; cc5db (33:45db) - ret - -BattleAnimCmd_Transform: ; cc5dc (33:45dc) - ld a, [rSVBK] - push af - ld a, 1 - ld [rSVBK], a - ld a, [CurPartySpecies] ; CurPartySpecies - push af - - ld a, [hBattleTurn] - and a - jr z, .player - - ld a, [TempBattleMonSpecies] ; TempBattleMonSpecies - ld [CurPartySpecies], a ; CurPartySpecies - ld hl, BattleMonDVs ; BattleMonDVs - predef GetUnownLetter - ld de, VTiles0 tile $00 - predef GetMonFrontpic - jr .done - -.player - ld a, [TempEnemyMonSpecies] ; TempEnemyMonSpecies - ld [CurPartySpecies], a ; CurPartySpecies - ld hl, EnemyMonDVs ; EnemyMonDVs - predef GetUnownLetter - ld de, VTiles0 tile $00 - predef GetMonBackpic - -.done - pop af - ld [CurPartySpecies], a ; CurPartySpecies - pop af - ld [rSVBK], a - ret - -BattleAnimCmd_UpdateActorPic: ; cc622 (33:4622) - - ld de, VTiles0 tile $00 - ld a, [hBattleTurn] - and a - jr z, .player - - ld hl, VTiles2 tile $00 - ld b, 0 - ld c, $31 - call Request2bpp - ret - -.player - ld hl, VTiles2 tile $31 - ld b, 0 - ld c, $24 - call Request2bpp - ret - -BattleAnimCmd_RaiseSub: ; cc640 (33:4640) - - ld a, [rSVBK] - push af - ld a, 1 - ld [rSVBK], a - xor a - call GetSRAMBank - -GetSubstitutePic: ; cc64c - - ld hl, sScratch - ld bc, (7 * 7) tiles -.loop - xor a - ld [hli], a - dec bc - ld a, c - or b - jr nz, .loop - - ld a, [hBattleTurn] - and a - jr z, .player - - ld hl, MonsterSpriteGFX + 0 tiles - ld de, sScratch + (2 * 7 + 5) tiles - call .CopyTile - ld hl, MonsterSpriteGFX + 1 tiles - ld de, sScratch + (3 * 7 + 5) tiles - call .CopyTile - ld hl, MonsterSpriteGFX + 2 tiles - ld de, sScratch + (2 * 7 + 6) tiles - call .CopyTile - ld hl, MonsterSpriteGFX + 3 tiles - ld de, sScratch + (3 * 7 + 6) tiles - call .CopyTile - - ld hl, VTiles2 tile $00 - ld de, sScratch - lb bc, BANK(GetSubstitutePic), 7 * 7 - call Request2bpp - jr .done - -.player - ld hl, MonsterSpriteGFX + 4 tiles - ld de, sScratch + (2 * 6 + 4) tiles - call .CopyTile - ld hl, MonsterSpriteGFX + 5 tiles - ld de, sScratch + (3 * 6 + 4) tiles - call .CopyTile - ld hl, MonsterSpriteGFX + 6 tiles - ld de, sScratch + (2 * 6 + 5) tiles - call .CopyTile - ld hl, MonsterSpriteGFX + 7 tiles - ld de, sScratch + (3 * 6 + 5) tiles - call .CopyTile - - ld hl, VTiles2 tile $31 - ld de, sScratch - lb bc, BANK(GetSubstitutePic), 6 * 6 - call Request2bpp - -.done - call CloseSRAM - pop af - ld [rSVBK], a - ret - -.CopyTile: ; cc6c6 (33:46c6) - ld bc, 1 tiles - ld a, BANK(MonsterSpriteGFX) - call FarCopyBytes - ret - -BattleAnimCmd_MinimizeOpp: ; cc6cf (33:46cf) - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - xor a - call GetSRAMBank - call GetMinimizePic - call Request2bpp - call CloseSRAM - pop af - ld [rSVBK], a - ret - -GetMinimizePic: ; cc6e7 (33:46e7) - ld hl, sScratch - ld bc, $31 tiles -.loop - xor a - ld [hli], a - dec bc - ld a, c - or b - jr nz, .loop - - ld a, [hBattleTurn] - and a - jr z, .player - - ld de, sScratch + $1a tiles - call CopyMinimizePic - ld hl, VTiles2 tile $00 - ld de, sScratch - lb bc, BANK(GetMinimizePic), $31 - ret - -.player - ld de, sScratch + $160 - call CopyMinimizePic - ld hl, VTiles2 tile $31 - ld de, sScratch - lb bc, BANK(GetMinimizePic), $24 - ret - -CopyMinimizePic: ; cc719 (33:4719) - ld hl, MinimizePic - ld bc, $10 - ld a, BANK(MinimizePic) - call FarCopyBytes - ret -; cc725 (33:4725) - -MinimizePic: ; cc725 -INCBIN "gfx/battle/minimize.2bpp" -; cc735 - -BattleAnimCmd_Minimize: ; cc735 (33:4735) - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - xor a - call GetSRAMBank - call GetMinimizePic - ld hl, VTiles0 tile $00 - call Request2bpp - call CloseSRAM - pop af - ld [rSVBK], a - ret - -BattleAnimCmd_DropSub: ; cc750 (33:4750) - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - - ld a, [CurPartySpecies] ; CurPartySpecies - push af - ld a, [hBattleTurn] - and a - jr z, .player - - callfar DropEnemySub - jr .done - -.player - callfar DropPlayerSub - -.done - pop af - ld [CurPartySpecies], a ; CurPartySpecies - pop af - ld [rSVBK], a - ret - -BattleAnimCmd_BeatUp: ; cc776 (33:4776) - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld a, [CurPartySpecies] ; CurPartySpecies - push af - - ld a, [wBattleAnimParam] - ld [CurPartySpecies], a ; CurPartySpecies - - ld a, [hBattleTurn] - and a - jr z, .player - - ld hl, BattleMonDVs - predef GetUnownLetter - ld de, VTiles2 tile $00 - predef GetMonFrontpic - jr .done - -.player - ld hl, EnemyMonDVs - predef GetUnownLetter - ld de, VTiles2 tile $31 - predef GetMonBackpic - -.done - pop af - ld [CurPartySpecies], a ; CurPartySpecies - ld b, SCGB_BATTLE_COLORS - call GetSGBLayout - pop af - ld [rSVBK], a - ret - -BattleAnimCmd_OAMOn: ; cc7bb (33:47bb) - xor a - ld [hOAMUpdate], a - ret - -BattleAnimCmd_OAMOff: ; cc7bf (33:47bf) - ld a, $1 - ld [hOAMUpdate], a - ret - -BattleAnimCmd_ClearSprites: ; cc7c4 (33:47c4) - ld hl, BattleAnimFlags - set 3, [hl] - ret - -BattleAnimCmd_F5: ; cc7ca (33:47ca) - ret - -BattleAnimCmd_F6: ; cc7cb (33:47cb) - ret - -BattleAnimCmd_F7: ; cc7cc (33:47cc) - ret - -BattleAnimCmd_Sound: ; cc7cd (33:47cd) - call GetBattleAnimByte - ld e, a - srl a - srl a - ld [wSFXDuration], a - call .GetCryTrack - and 3 - ld [CryTracks], a ; CryTracks - - ld e, a - ld d, 0 - ld hl, .GetPanning - add hl, de - ld a, [hl] - ld [wStereoPanningMask], a - - call GetBattleAnimByte - ld e, a - ld d, 0 - callfar PlayStereoSFX - - ret -; cc7f8 (33:47f8) - -.GetPanning: ; cc7f8 - db $f0, $0f, $f0, $0f -; cc7fc - -.GetCryTrack: ; cc7fc (33:47fc) - ld a, [hBattleTurn] - and a - jr nz, .enemy - - ld a, e - ret - -.enemy - ld a, e - xor 1 - ret - -BattleAnimCmd_Cry: ; cc807 (33:4807) - call GetBattleAnimByte - and 3 - ld e, a - ld d, 0 - ld hl, .CryData -rept 4 - add hl, de -endr - - ld a, [rSVBK] - push af - ld a, 1 - ld [rSVBK], a - - ld a, [hBattleTurn] - and a - jr nz, .enemy - - ld a, $f0 - ld [CryTracks], a ; CryTracks - ld a, [BattleMonSpecies] ; BattleMonSpecies - jr .done_cry_tracks - -.enemy - ld a, $0f - ld [CryTracks], a ; CryTracks - ld a, [EnemyMonSpecies] ; EnemyMon - -.done_cry_tracks - push hl - call LoadCryHeader - pop hl - jr c, .done - - ld a, [hli] - ld c, a - ld a, [hli] - ld b, a - - push hl - ld hl, CryPitch - ld a, [hli] - ld h, [hl] - ld l, a - add hl, bc - ld a, l - ld [CryPitch], a - ld a, h - ld [CryPitch + 1], a - pop hl - - ld a, [hli] - ld c, a - ld b, [hl] - ld hl, CryLength ; CryLength - ld a, [hli] - ld h, [hl] - ld l, a - add hl, bc - - ld a, l - ld [CryLength], a ; CryLength - ld a, h - ld [CryLength + 1], a - ld a, 1 - ld [wStereoPanningMask], a - - callfar _PlayCryHeader - -.done - pop af - ld [rSVBK], a - ret -; cc871 (33:4871) - -.CryData: ; cc871 -; +pitch, +length - dw $0000, $00c0 - dw $0000, $0040 - dw $0000, $0000 - dw $0000, $0000 -; cc881 - - -PlayHitSound: ; cc881 - ld a, [wNumHits] - cp $1 - jr z, .okay - cp $4 - ret nz - -.okay - ld a, [TypeModifier] - and $7f - ret z - - cp 10 - ld de, SFX_DAMAGE - jr z, .play - - ld de, SFX_SUPER_EFFECTIVE - jr nc, .play - - ld de, SFX_NOT_VERY_EFFECTIVE - -.play - call PlaySFX - ret -; cc8a4 - -BattleAnimAssignPals: ; cc8a4 - ld a, [hCGB] - and a - jr nz, .cgb - ld a, [hSGB] - and a - ld a, %11100000 - jr z, .sgb - ld a, %11110000 - -.sgb - ld [wOBP0], a - ld a, %11100100 - ld [wBGP], a - ld [wOBP1], a - ret - -.cgb - ld a, %11100100 - ld [wBGP], a - ld [wOBP0], a - ld [wOBP1], a - call DmgToCgbBGPals - lb de, %11100100, %11100100 - call DmgToCgbObjPals - ret -; cc8d3 - -ClearBattleAnims: ; cc8d3 -; Clear animation block - ld hl, LYOverrides - ld bc, wBattleAnimEnd - LYOverrides -.loop - ld [hl], $0 - inc hl - dec bc - ld a, c - or b - jr nz, .loop - - ld hl, FXAnimID - ld e, [hl] - inc hl - ld d, [hl] - ld hl, BattleAnimations - add hl, de - add hl, de - call GetBattleAnimPointer - call BattleAnimAssignPals - call BattleAnimDelayFrame - ret -; cc8f6 - -BattleAnim_RevertPals: ; cc8f6 - call WaitTop - ld a, %11100100 - ld [wBGP], a - ld [wOBP0], a - ld [wOBP1], a - call DmgToCgbBGPals - lb de, %11100100, %11100100 - call DmgToCgbObjPals - xor a - ld [hSCX], a - ld [hSCY], a - call BattleAnimDelayFrame - ld a, $1 - ld [hBGMapMode], a - ret -; cc91a - -BattleAnim_SetBGPals: ; cc91a - ld [rBGP], a - ld a, [hCGB] - and a - ret z - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, BGPals - ld de, UnknBGPals - ld a, [rBGP] - ld b, a - ld c, 7 - call CopyPals - ld hl, OBPals - ld de, UnknOBPals - ld a, [rBGP] - ld b, a - ld c, 2 - call CopyPals - pop af - ld [rSVBK], a - ld a, $1 - ld [hCGBPalUpdate], a - ret -; cc94b - -BattleAnim_SetOBPals: ; cc94b - ld [rOBP0], a - ld a, [hCGB] - and a - ret z - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld hl, OBPals palette PAL_BATTLE_OB_GRAY - ld de, UnknOBPals palette PAL_BATTLE_OB_GRAY - ld a, [rOBP0] - ld b, a - ld c, 2 - call CopyPals - pop af - ld [rSVBK], a - ld a, $1 - ld [hCGBPalUpdate], a - ret -; cc96e - -BattleAnim_UpdateOAM_All: ; cc96e - ld a, $0 - ld [wBattleAnimOAMPointerLo], a - ld hl, ActiveAnimObjects - ld e, 10 -.loop - ld a, [hl] - and a - jr z, .next - ld c, l - ld b, h - push hl - push de - call DoBattleAnimFrame - call BattleAnimOAMUpdate - pop de - pop hl - jr c, .done - -.next - ld bc, BATTLEANIMSTRUCT_LENGTH - add hl, bc - dec e - jr nz, .loop - ld a, [wBattleAnimOAMPointerLo] - ld l, a - ld h, HIGH(Sprites) -.loop2 - ld a, l - cp LOW(SpritesEnd) - jr nc, .done - xor a - ld [hli], a - jr .loop2 - -.done - ret -; cc9a1 diff --git a/engine/anims/bg_effects.asm b/engine/anims/bg_effects.asm deleted file mode 100644 index ab4a8036b..000000000 --- a/engine/anims/bg_effects.asm +++ /dev/null @@ -1,2958 +0,0 @@ - const_def - const BGSQUARE_SIX - const BGSQUARE_FOUR - const BGSQUARE_TWO - const BGSQUARE_SEVEN - const BGSQUARE_FIVE - const BGSQUARE_THREE - -; BG effects for use in battle animations. - -ExecuteBGEffects: ; c8000 (32:4000) - ld hl, ActiveBGEffects - ld e, 5 -.loop - ld a, [hl] - and a - jr z, .next - ld c, l - ld b, h - push hl - push de - call DoBattleBGEffectFunction - pop de - pop hl -.next - ld bc, 4 - add hl, bc - dec e - jr nz, .loop - ret - -QueueBGEffect: ; c801a (32:401a) - ld hl, ActiveBGEffects - ld e, 5 -.loop - ld a, [hl] - and a - jr z, .load - ld bc, 4 - add hl, bc - dec e - jr nz, .loop - scf - ret - -.load - ld c, l - ld b, h - ld hl, BG_EFFECT_STRUCT_FUNCTION - add hl, bc - ld a, [wBattleAnimTemp0] - ld [hli], a - ld a, [wBattleAnimTemp1] - ld [hli], a - ld a, [wBattleAnimTemp2] - ld [hli], a - ld a, [wBattleAnimTemp3] - ld [hl], a - ret - -EndBattleBGEffect: ; c8043 (32:4043) - ld hl, BG_EFFECT_STRUCT_FUNCTION - add hl, bc - ld [hl], 0 - ret - -DoBattleBGEffectFunction: ; c804a (32:404a) - ld hl, BG_EFFECT_STRUCT_FUNCTION - add hl, bc - ld e, [hl] - ld d, 0 - ld hl, BattleBGEffects - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -BattleBGEffects: ; c805a (32:405a) -; entries correspond to ANIM_BG_* constants - dw BattleBGEffect_End - dw BattleBGEffect_FlashInverted - dw BattleBGEffect_FlashWhite - dw BattleBGEffect_WhiteHues - dw BattleBGEffect_BlackHues - dw BattleBGEffect_AlternateHues - dw BattleBGEffect_06 - dw BattleBGEffect_07 - dw BattleBGEffect_08 - dw BattleBGEffect_HideMon - dw BattleBGEffect_ShowMon - dw BattleBGEffect_EnterMon - dw BattleBGEffect_ReturnMon - dw BattleBGEffect_Surf - dw BattleBGEffect_Whirlpool - dw BattleBGEffect_Teleport - dw BattleBGEffect_NightShade - dw BattleBGEffect_FeetFollow - dw BattleBGEffect_HeadFollow - dw BattleBGEffect_DoubleTeam - dw BattleBGEffect_AcidArmor - dw BattleBGEffect_RapidFlash - dw BattleBGEffect_16 - dw BattleBGEffect_17 - dw BattleBGEffect_18 - dw BattleBGEffect_19 - dw BattleBGEffect_1a - dw BattleBGEffect_1b - dw BattleBGEffect_1c - dw BattleBGEffect_1d - dw BattleBGEffect_1e - dw BattleBGEffect_1f - dw BattleBGEffect_20 - dw BattleBGEffect_Withdraw - dw BattleBGEffect_BounceDown - dw BattleBGEffect_Dig - dw BattleBGEffect_Tackle - dw BattleBGEffect_25 - dw BattleBGEffect_26 - dw BattleBGEffect_27 - dw BattleBGEffect_28 - dw BattleBGEffect_Psychic - dw BattleBGEffect_2a - dw BattleBGEffect_2b - dw BattleBGEffect_2c - dw BattleBGEffect_2d - dw BattleBGEffect_2e - dw BattleBGEffect_2f - dw BattleBGEffect_30 - dw BattleBGEffect_31 - dw BattleBGEffect_32 - dw BattleBGEffect_VibrateMon - dw BattleBGEffect_WobbleMon - dw BattleBGEffect_35 - - -BattleBGEffect_End: ; c80c6 (32:40c6) - call EndBattleBGEffect - ret - -BatttleBGEffects_GetNamedJumptablePointer: ; c80ca (32:40ca) - ld hl, BG_EFFECT_STRUCT_JT_INDEX - add hl, bc - ld l, [hl] - ld h, 0 - add hl, hl - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - ret - -BattleBGEffects_AnonJumptable: ; c80d7 (32:40d7) - pop de - ld hl, BG_EFFECT_STRUCT_JT_INDEX - add hl, bc - ld l, [hl] - ld h, 0 - add hl, hl - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -BattleBGEffects_IncrementJumptable: ; c80e5 (32:40e5) - ld hl, BG_EFFECT_STRUCT_JT_INDEX - add hl, bc - inc [hl] - ret - -BattleBGEffect_FlashInverted: ; c80eb (32:40eb) - ld de, .inverted - jp BattleBGEffect_FlashContinue - -.inverted - db %11100100 ; 3210 - db %00011011 ; 0123 -; c80f3 - -BattleBGEffect_FlashWhite: ; c80f3 (32:40f3) - ld de, .white - jp BattleBGEffect_FlashContinue - -.white - db %11100100 ; 3210 - db %00000000 ; 0000 -; c80fb - -BattleBGEffect_FlashContinue: ; c80fb (32:40fb) -; current timer, flash duration, number of flashes - ld a, $1 - ld [wBattleAnimTemp0], a - ld hl, BG_EFFECT_STRUCT_JT_INDEX - add hl, bc - ld a, [hl] - and a - jr z, .init - dec [hl] - ret - -.init - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - ld hl, BG_EFFECT_STRUCT_JT_INDEX - add hl, bc - ld [hl], a - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - and a - jr nz, .apply_pal - call EndBattleBGEffect - ret - -.apply_pal - dec a - ld [hl], a - and 1 - ld l, a - ld h, 0 - add hl, de - ld a, [hl] - ld [wBGP], a - ret - -BattleBGEffect_WhiteHues: ; c812d (32:412d) - ld de, .Pals - call BattleBGEffect_GetNthDMGPal - jr c, .quit - ld [wBGP], a - ret - -.quit - call EndBattleBGEffect - ret - -.Pals: - db %11100100 - db %11100000 - db %11010000 - db -1 -; c8141 - -BattleBGEffect_BlackHues: ; c8141 (32:4141) - ld de, .Pals - call BattleBGEffect_GetNthDMGPal - jr c, .quit - ld [wBGP], a - ret - -.quit - call EndBattleBGEffect - ret - -.Pals: - db %11100100 - db %11110100 - db %11111000 - db -1 -; c8155 - -BattleBGEffect_AlternateHues: ; c8155 (32:4155) - ld de, .Pals - call BattleBGEffect_GetNthDMGPal - jr c, .quit - ld [wBGP], a - ld [wOBP1], a - ret - -.quit - call EndBattleBGEffect - ret - -.Pals: - db %11100100 - db %11111000 - db %11111100 - db %11111000 - db %11100100 - db %10010000 - db %01000000 - db %10010000 - db -2 -; c8171 - -BattleBGEffect_06: ; c8171 (32:4171) - call BattleBGEffects_CheckSGB - jr nz, .sgb - ld de, .PalsCGB - jr .okay - -.sgb - ld de, .PalsSGB -.okay - call BattleBGEffect_GetNthDMGPal - ld [wOBP0], a - ret - -.PalsCGB: - db %11100100 - db %10010000 - db -2 - -.PalsSGB: - db %11110000 - db %11000000 - db -2 -; c818b - -BattleBGEffect_07: ; c818b (32:418b) - call BattleBGEffects_CheckSGB - jr nz, .sgb - ld de, .PalsCGB - jr .okay - -.sgb - ld de, .PalsSGB -.okay - call BattleBGEffect_GetNthDMGPal - ld [wOBP0], a - ret - -.PalsCGB: - db %11100100 - db %11011000 - db -2 - -.PalsSGB: - db %11110000 - db %11001100 - db -2 -; c81a5 - -BattleBGEffect_08: ; c81a5 (32:41a5) - ld de, .Pals - call BattleBGEffect_GetNthDMGPal - ld [wBGP], a - ret - -.Pals: - db %00011011 - db %01100011 - db %10000111 - db -2 -; c81b3 - -BattleBGEffect_HideMon: ; c81b3 (32:41b3) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw BattleBGEffects_IncrementJumptable - dw BattleBGEffects_IncrementJumptable - dw BattleBGEffects_IncrementJumptable - dw .four - - -.zero - call BattleBGEffects_IncrementJumptable - push bc - call BGEffect_CheckBattleTurn - jr nz, .player_side - hlcoord 12, 0 - lb bc, 7, 7 - jr .got_pointer - -.player_side - hlcoord 2, 6 - lb bc, 6, 6 -.got_pointer - call ClearBox - pop bc - xor a - ld [hBGMapThird], a - ld a, $1 - ld [hBGMapMode], a - ret - -.four - xor a - ld [hBGMapMode], a - call EndBattleBGEffect - ret - -BattleBGEffect_ShowMon: ; c81ea (32:41ea) - call BGEffect_CheckFlyDigStatus - jr z, .not_flying - call EndBattleBGEffect - ret - -.not_flying - call BGEffect_CheckBattleTurn - jr nz, .player_side - ld de, .EnemyData - jr .got_pointer - -.player_side - ld de, .PlayerData -.got_pointer - ld a, e - ld [wBattleAnimTemp1], a - ld a, d - ld [wBattleAnimTemp2], a - call BattleBGEffect_RunPicResizeScript - ret - -.PlayerData: - db 0, $31, 0 - db -1 -.EnemyData: - db 3, $00, 3 - db -1 -; c8214 - -BattleBGEffect_FeetFollow: ; c8214 (32:4214) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - dw BattleBGEffects_IncrementJumptable - dw BattleBGEffects_IncrementJumptable - dw BattleBGEffects_IncrementJumptable - dw .five - - -.zero - call BGEffect_CheckFlyDigStatus - jr z, .not_flying_digging - ld hl, wNumActiveBattleAnims - inc [hl] - call EndBattleBGEffect - ret - -.not_flying_digging - call BattleBGEffects_IncrementJumptable - push bc - call BGEffect_CheckBattleTurn - jr nz, .player_turn - ld a, ANIM_OBJ_PLAYERFEETFOLLOW - ld [wBattleAnimTemp0], a - ld a, 16 * 8 + 4 - jr .okay - -.player_turn - ld a, ANIM_OBJ_ENEMYFEETFOLLOW - ld [wBattleAnimTemp0], a - ld a, 6 * 8 -.okay - ld [wBattleAnimTemp1], a - ld a, 8 * 8 - ld [wBattleAnimTemp2], a - xor a - ld [wBattleAnimTemp3], a - call _QueueBattleAnimation - pop bc - ret - -.one - call BattleBGEffects_IncrementJumptable - push bc - call BGEffect_CheckBattleTurn - jr nz, .player_turn_2 - hlcoord 12, 6 - lb bc, 1, 7 - jr .okay2 - -.player_turn_2 - hlcoord 2, 6 - lb bc, 1, 6 -.okay2 - call ClearBox - ld a, $1 - ld [hBGMapMode], a - pop bc - ret - -.five - xor a - ld [hBGMapMode], a - call EndBattleBGEffect - ret - -BattleBGEffect_HeadFollow: ; c8281 (32:4281) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - dw BattleBGEffects_IncrementJumptable - dw BattleBGEffects_IncrementJumptable - dw BattleBGEffects_IncrementJumptable - dw .five - - -.zero - call BGEffect_CheckFlyDigStatus - jr z, .not_flying_digging - ld hl, wNumActiveBattleAnims - inc [hl] - call EndBattleBGEffect - ret - -.not_flying_digging - call BattleBGEffects_IncrementJumptable - push bc - call BGEffect_CheckBattleTurn - jr nz, .player_turn - ld a, ANIM_OBJ_BA - ld [wBattleAnimTemp0], a - ld a, 16 * 8 + 4 - jr .okay - -.player_turn - ld a, ANIM_OBJ_BB - ld [wBattleAnimTemp0], a - ld a, 6 * 8 -.okay - ld [wBattleAnimTemp1], a - ld a, 8 * 8 - ld [wBattleAnimTemp2], a - xor a - ld [wBattleAnimTemp3], a - call _QueueBattleAnimation - pop bc - ret - -.one - call BattleBGEffects_IncrementJumptable - push bc - call BGEffect_CheckBattleTurn - jr nz, .player_turn_2 - hlcoord 12, 5 - lb bc, 2, 7 - jr .okay2 - -.player_turn_2 - hlcoord 2, 6 - lb bc, 2, 6 -.okay2 - call ClearBox - ld a, $1 - ld [hBGMapMode], a - pop bc - ret - -.five - xor a - ld [hBGMapMode], a - call EndBattleBGEffect - ret - -_QueueBattleAnimation: ; c82ee (32:42ee) - callfar QueueBattleAnimation - ret - -BattleBGEffect_27: ; c82f5 (32:42f5) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - dw BattleBGEffects_IncrementJumptable - dw BattleBGEffects_IncrementJumptable - dw .four - - -.zero - call BattleBGEffects_IncrementJumptable - call BGEffect_CheckBattleTurn - ld [hl], a - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - and a - jr z, .user - ld a, $9 - jr .okay - -.user - ld a, $8 -.okay - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld [hl], a - ret - -.one - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - and a - jr z, .user_2 - hlcoord 0, 6 - lb de, 8, 6 -.row1 - push de - push hl -.col1 - inc hl - ld a, [hld] - ld [hli], a - dec d - jr nz, .col1 - pop hl - ld de, SCREEN_WIDTH - add hl, de - pop de - dec e - jr nz, .row1 - jr .okay2 - -.user_2 - hlcoord 19, 0 - lb de, 8, 7 -.row2 - push de - push hl -.col2 - dec hl - ld a, [hli] - ld [hld], a - dec d - jr nz, .col2 - pop hl - ld de, SCREEN_WIDTH - add hl, de - pop de - dec e - jr nz, .row2 -.okay2 - xor a - ld [hBGMapThird], a - ld a, $1 - ld [hBGMapMode], a - call BattleBGEffects_IncrementJumptable - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - dec [hl] - ret - -.four - xor a - ld [hBGMapMode], a - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - and a - jr z, .done - ld hl, BG_EFFECT_STRUCT_JT_INDEX - add hl, bc - ld [hl], $1 - ret - -.done - call EndBattleBGEffect - ret - -BattleBGEffect_EnterMon: ; c837b (32:437b) - call BGEffect_CheckBattleTurn - jr nz, .player_turn - ld de, .EnemyData - jr .okay - -.player_turn - ld de, .PlayerData -.okay - ld a, e - ld [wBattleAnimTemp1], a - ld a, d - ld [wBattleAnimTemp2], a - call BattleBGEffect_RunPicResizeScript - ret - -.PlayerData: - db 2, $31, 2 - db 1, $31, 1 - db 0, $31, 0 - db -1 -.EnemyData: - db 5, $00, 5 - db 4, $00, 4 - db 3, $00, 3 - db -1 -; c83a8 - -BattleBGEffect_ReturnMon: ; c83a8 (32:43a8) - call BGEffect_CheckBattleTurn - jr nz, .player_turn - ld de, .EnemyData - jr .okay - -.player_turn - ld de, .PlayerData -.okay - ld a, e - ld [wBattleAnimTemp1], a - ld a, d - ld [wBattleAnimTemp2], a - call BattleBGEffect_RunPicResizeScript - ret - -.PlayerData: - db 0, $31, 0 - db -2, $66, 0 - db 1, $31, 1 - db -2, $44, 1 - db 2, $31, 2 - db -2, $22, 2 - db -3, $00, 0 - db -1 -.EnemyData: - db 3, $00, 3 - db -2, $77, 3 - db 4, $00, 4 - db -2, $55, 4 - db 5, $00, 5 - db -2, $33, 5 - db -3, $00, 0 - db -1 -; c83ed - -BattleBGEffect_RunPicResizeScript: ; c83ed (32:43ed) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw BattleBGEffects_IncrementJumptable - dw BattleBGEffects_IncrementJumptable - dw .restart - dw .end - - -.zero - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld e, [hl] - ld d, $0 - inc [hl] - ld a, [wBattleAnimTemp1] - ld l, a - ld a, [wBattleAnimTemp2] - ld h, a - add hl, de - add hl, de - add hl, de - ld a, [hl] - cp -1 - jr z, .end - cp -2 - jr z, .clear - cp -3 - jr z, .skip - call .PlaceGraphic -.skip - call BattleBGEffects_IncrementJumptable - ld a, $1 - ld [hBGMapMode], a - ret - -.clear - call .ClearBox - jr .zero - -.restart - xor a - ld [hBGMapMode], a - ld hl, BG_EFFECT_STRUCT_JT_INDEX - add hl, bc - ld [hl], $0 - ret - -.end - xor a - ld [hBGMapMode], a - call EndBattleBGEffect - ret - -.ClearBox: -; get dims - push bc - inc hl - ld a, [hli] - ld b, a - and $f - ld c, a - ld a, b - swap a - and $f - ld b, a -; get coords - ld e, [hl] - ld d, 0 - ld hl, .Coords - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - call ClearBox - pop bc - ret - -.PlaceGraphic: -; get dims - push bc - push hl - ld e, [hl] - ld d, 0 - ld hl, .BGSquares - add hl, de - add hl, de - add hl, de - ld a, [hli] - ld b, a - and $f - ld c, a - ld a, b - swap a - and $f - ld b, a -; store pointer - ld e, [hl] - inc hl - ld d, [hl] -; get byte - pop hl - inc hl - ld a, [hli] - ld [wBattleAnimTemp0], a -; get coord - push de - ld e, [hl] - ld d, 0 - ld hl, .Coords - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - pop de -; fill box -.row - push bc - push hl - ld a, [wBattleAnimTemp0] - ld b, a -.col - ld a, [de] - add b - ld [hli], a - inc de - dec c - jr nz, .col - pop hl - ld bc, SCREEN_WIDTH - add hl, bc - pop bc - dec b - jr nz, .row - pop bc - ret - -.Coords: - dwcoord 2, 6 - dwcoord 3, 8 - dwcoord 4, 10 - dwcoord 12, 0 - dwcoord 13, 2 - dwcoord 14, 4 - -.BGSquares: -bgsquare: MACRO - dn \1, \2 - dw \3 -endm - - bgsquare 6, 6, .SixBySix - bgsquare 4, 4, .FourByFour - bgsquare 2, 2, .TwoByTwo - bgsquare 7, 7, .SevenBySeven - bgsquare 5, 5, .FiveByFive - bgsquare 3, 3, .ThreeByThree - -.SixBySix: - db $00, $06, $0c, $12, $18, $1e - db $01, $07, $0d, $13, $19, $1f - db $02, $08, $0e, $14, $1a, $20 - db $03, $09, $0f, $15, $1b, $21 - db $04, $0a, $10, $16, $1c, $22 - db $05, $0b, $11, $17, $1d, $23 - -.FourByFour: - db $00, $0c, $12, $1e - db $02, $0e, $14, $20 - db $03, $0f, $15, $21 - db $05, $11, $17, $23 - -.TwoByTwo: - db $00, $1e - db $05, $23 - -.SevenBySeven: - db $00, $07, $0e, $15, $1c, $23, $2a - db $01, $08, $0f, $16, $1d, $24, $2b - db $02, $09, $10, $17, $1e, $25, $2c - db $03, $0a, $11, $18, $1f, $26, $2d - db $04, $0b, $12, $19, $20, $27, $2e - db $05, $0c, $13, $1a, $21, $28, $2f - db $06, $0d, $14, $1b, $22, $29, $30 - -.FiveByFive: - db $00, $07, $15, $23, $2a - db $01, $08, $16, $24, $2b - db $03, $0a, $18, $26, $2d - db $05, $0c, $1a, $28, $2f - db $06, $0d, $1b, $29, $30 - -.ThreeByThree: - db $00, $15, $2a - db $03, $18, $2d - db $06, $1b, $30 -; c8545 - -BattleBGEffect_Surf: ; c8545 (32:4545) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - - -.zero - call BattleBGEffects_IncrementJumptable - lb de, 2, 2 - call InitSurfWaves - -.one - ld a, [hLCDCPointer] - and a - ret z - push bc - call .RotatewSurfWaveBGEffect - pop bc - ret - -.two - call BattleAnim_ResetLCDStatCustom - ret - -.RotatewSurfWaveBGEffect: - ld hl, wSurfWaveBGEffect - ld de, wSurfWaveBGEffect + 1 - ld c, wSurfWaveBGEffectEnd - wSurfWaveBGEffect - 1 - ld a, [hl] - push af -.loop - ld a, [de] - inc de - ld [hli], a - dec c - jr nz, .loop - pop af - ld [hl], a - ld de, LYOverridesBackup - ld hl, wSurfWaveBGEffect - ld bc, $0 -.loop2 - ld a, [hLYOverrideStart] - cp e - jr nc, .load_zero - push hl - add hl, bc - ld a, [hl] - pop hl - jr .okay - -.load_zero - xor a -.okay - ld [de], a - ld a, c - inc a - and $3f - ld c, a - inc de - ld a, e - cp $5f - jr c, .loop2 - ret - -BattleBGEffect_Whirlpool: ; c8599 (32:4599) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - - -.zero - call BattleBGEffects_IncrementJumptable - call BattleBGEffects_ClearLYOverrides - ld a, rSCY - $ff00 - ld [hLCDCPointer], a - xor a - ld [hLYOverrideStart], a - ld a, $5e - ld [hLYOverrideEnd], a - lb de, 2, 2 - call Functionc8f2e - ret - -.one - call BattleBGEffect_WavyScreenFX - ret - -.two - call BattleAnim_ResetLCDStatCustom - ret - -BattleBGEffect_30: ; c85c2 (32:45c2) - call BattleBGEffects_ClearLYOverrides - ld a, rSCY - $ff00 - call BattleBGEffect_SetLCDStatCustoms1 - call EndBattleBGEffect - ret - -BattleBGEffect_31: ; c85ce (32:45ce) - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - ld e, a - add $4 - ld [hl], a - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - and $f0 - swap a - xor $ff - add $4 - ld d, a - ld hl, BG_EFFECT_STRUCT_JT_INDEX - add hl, bc - ld a, [hl] - ld [wBattleAnimTemp0], a - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - cp $20 - jr nc, .done - inc [hl] - inc [hl] - call Functionc8f9a - ret - -.done - call BattleBGEffects_ClearLYOverrides - call EndBattleBGEffect - ret - -BattleBGEffect_32: ; c8603 (32:4603) - call BattleAnim_ResetLCDStatCustom - ret - -BattleBGEffect_Psychic: ; c8607 (32:4607) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - - -.zero - call BattleBGEffects_IncrementJumptable - call BattleBGEffects_ClearLYOverrides - ld a, rSCX - $ff00 - ld [hLCDCPointer], a - xor a - ld [hLYOverrideStart], a - ld a, $5f - ld [hLYOverrideEnd], a - lb de, 6, 5 - call Functionc8f2e - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld [hl], $0 - ret - -.one - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - inc [hl] - and $3 - ret nz - call BattleBGEffect_WavyScreenFX - ret - -.two - call BattleAnim_ResetLCDStatCustom - ret - -BattleBGEffect_Teleport: ; c863f (32:463f) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - - -.zero - call BattleBGEffects_IncrementJumptable - call BattleBGEffects_ClearLYOverrides - ld a, rSCX - $ff00 - call BattleBGEffect_SetLCDStatCustoms1 - lb de, 6, 5 - call Functionc8f2e - ret - -.one - call BattleBGEffect_WavyScreenFX - ret - -.two - call BattleAnim_ResetLCDStatCustom - ret - -BattleBGEffect_NightShade: ; c8662 (32:4662) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - - -.zero - call BattleBGEffects_IncrementJumptable - call BattleBGEffects_ClearLYOverrides - ld a, rSCY - $ff00 - call BattleBGEffect_SetLCDStatCustoms1 - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld e, [hl] - ld d, 2 - call Functionc8f2e - ret - -.one - call BattleBGEffect_WavyScreenFX - ret - -.two - call BattleAnim_ResetLCDStatCustom - ret - -BattleBGEffect_DoubleTeam: ; c8689 (32:4689) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - dw .three - dw .four - dw .five - - -.zero - call BattleBGEffects_IncrementJumptable - call BattleBGEffects_ClearLYOverrides - ld a, rSCX - $ff00 - call BattleBGEffect_SetLCDStatCustoms1 - ld a, [hLYOverrideEnd] - inc a - ld [hLYOverrideEnd], a - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld [hl], $0 - ret - -.one - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - cp $10 - jr nc, .next - inc [hl] - call .UpdateLYOverrides - ret - -.three - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - cp $ff - jr z, .next - dec [hl] - call .UpdateLYOverrides - ret - -.next - call BattleBGEffects_IncrementJumptable - ret - -.two - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - ld d, $2 - call BattleBGEffects_Sine - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - add [hl] - call .UpdateLYOverrides - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - add $4 - ld [hl], a - -.four - ret - -.UpdateLYOverrides: - ld e, a - xor $ff - inc a - ld d, a - ld h, HIGH(LYOverridesBackup) - ld a, [hLYOverrideStart] - ld l, a - ld a, [hLYOverrideEnd] - sub l - srl a - push af -.loop - ld [hl], e - inc hl - ld [hl], d - inc hl - dec a - jr nz, .loop - pop af - ret nc - ld [hl], e - ret - -.five - call BattleAnim_ResetLCDStatCustom - ret - -BattleBGEffect_AcidArmor: ; c8709 (32:4709) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - - -.zero - call BattleBGEffects_IncrementJumptable - call BattleBGEffects_ClearLYOverrides - ld a, rSCY - $ff00 - call BattleBGEffect_SetLCDStatCustoms1 - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld e, [hl] - ld d, 2 - call Functionc8f2e - ld h, HIGH(LYOverridesBackup) - ld a, [hLYOverrideEnd] - ld l, a - ld [hl], $0 - dec l - ld [hl], $0 - ret - -.one - ld a, [hLYOverrideEnd] - ld l, a - ld h, HIGH(LYOverridesBackup) - ld e, l - ld d, h - dec de -.loop - ld a, [de] - dec de - ld [hld], a - ld a, [hLYOverrideStart] - cp l - jr nz, .loop - ld [hl], $90 - ld a, [hLYOverrideEnd] - ld l, a - ld a, [hl] - cp $1 - jr c, .okay - cp $90 - jr z, .okay - ld [hl], $0 -.okay - dec l - ld a, [hl] - cp $2 - ret c - cp $90 - ret z - ld [hl], $0 - ret - -.two - call BattleAnim_ResetLCDStatCustom - ret - -BattleBGEffect_Withdraw: ; c8761 (32:4761) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - - -.zero - call BattleBGEffects_IncrementJumptable - call BattleBGEffects_ClearLYOverrides - ld a, rSCY - $ff00 - call BattleBGEffect_SetLCDStatCustoms1 - ld a, [hLYOverrideEnd] - inc a - ld [hLYOverrideEnd], a - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld [hl], $1 - ret - -.one - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - and $3f - ld d, a - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - cp d - ret nc - call BGEffect_DisplaceLYOverridesBackup - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - rlca - rlca - and $3 - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - add [hl] - ld [hl], a - ret - -.two - call BattleAnim_ResetLCDStatCustom - ret - -BattleBGEffect_Dig: ; c87a7 (32:47a7) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - dw .three - - -.zero - call BattleBGEffects_IncrementJumptable - call BattleBGEffects_ClearLYOverrides - ld a, rSCY - $ff00 - call BattleBGEffect_SetLCDStatCustoms1 - ld a, [hLYOverrideEnd] - inc a - ld [hLYOverrideEnd], a - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld [hl], $2 - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld [hl], $0 - ret - -.one - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - and a - jr z, .next - dec [hl] - ret - -.next - ld [hl], $10 - call BattleBGEffects_IncrementJumptable -.two - ld a, [hLYOverrideStart] - ld l, a - ld a, [hLYOverrideEnd] - sub l - dec a - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - cp [hl] - ret c - ld a, [hl] - push af - and $7 - jr nz, .skip - ld hl, BG_EFFECT_STRUCT_JT_INDEX - add hl, bc - dec [hl] -.skip - pop af - call BGEffect_DisplaceLYOverridesBackup - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - inc [hl] - inc [hl] - ret - -.three - call BattleAnim_ResetLCDStatCustom - ret - -BattleBGEffect_Tackle: ; c8805 (32:4805) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw Tackle_BGEffect25_2d_one - dw Tackle_BGEffect25_2d_two - dw .three - - -.zero - call BattleBGEffects_IncrementJumptable - call BattleBGEffects_ClearLYOverrides - ld a, rSCX - $ff00 - call BattleBGEffect_SetLCDStatCustoms1 - ld a, [hLYOverrideEnd] - inc a - ld [hLYOverrideEnd], a - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld [hl], $0 - call BGEffect_CheckBattleTurn - jr nz, .player_side - ld a, 2 - jr .okay - -.player_side - ld a, -2 -.okay - ld [hl], a - ret - -.three - call BattleAnim_ResetLCDStatCustom - ret - -BattleBGEffect_25: ; c8837 (32:4837) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw Tackle_BGEffect25_2d_one - dw Tackle_BGEffect25_2d_two - dw .three - - -.zero - call BattleBGEffects_IncrementJumptable - call BattleBGEffects_ClearLYOverrides - ld a, rSCX - $ff00 - call BattleBGEffect_SetLCDStatCustoms2 - ld a, [hLYOverrideEnd] - inc a - ld [hLYOverrideEnd], a - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld [hl], $0 - call BGEffect_CheckBattleTurn - jr nz, .player_side - ld a, 2 - jr .okay - -.player_side - ld a, -2 -.okay - ld [hl], a - ret - -.three - call BattleAnim_ResetLCDStatCustom - ret - -Tackle_BGEffect25_2d_one: - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - cp -8 - jr z, .reached_limit - cp 8 - jr nz, .finish -.reached_limit - call BattleBGEffects_IncrementJumptable -.finish - call Functionc88a5 - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - add [hl] - ld [hl], a - ret - -Tackle_BGEffect25_2d_two: - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - and a - jr nz, .asm_c8893 - call BattleBGEffects_IncrementJumptable -.asm_c8893 - call Functionc88a5 - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - xor $ff - inc a - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - add [hl] - ld [hl], a - ret - -Functionc88a5: ; c88a5 (32:48a5) - push af - ld a, [FXAnimID + 1] ; FXAnimID + 1 - or a - jr nz, .not_rollout - ld a, [FXAnimID] ; FXAnimID - cp ROLLOUT - jr z, .rollout -.not_rollout - pop af - jp BGEffect_FillLYOverridesBackup - -.rollout - ld a, [hLYOverrideStart] - ld d, a - ld a, [hLYOverrideEnd] - sub d - ld d, a - ld h, HIGH(LYOverridesBackup) - ld a, [hSCY] - or a - jr nz, .skip1 - ld a, [hLYOverrideStart] - or a - jr z, .skip2 - dec a - ld l, a - ld [hl], $0 - jr .skip2 - -.skip1 - ld a, [hLYOverrideEnd] - dec a - ld l, a - ld [hl], $0 -.skip2 - ld a, [hSCY] - ld l, a - ld a, [hLYOverrideStart] - sub l - jr nc, .skip3 - xor a - dec d -.skip3 - ld l, a - pop af -.loop - ld [hli], a - dec d - jr nz, .loop - ret - -BattleBGEffect_2d: ; c88e7 (32:48e7) - call BattleBGEffects_AnonJumptable -.anon_dw - dw BGEffect2d_2f_zero - dw Tackle_BGEffect25_2d_one - dw Tackle_BGEffect25_2d_two - dw .three - - -.three - call BattleAnim_ResetLCDStatCustom - ret - -BGEffect2d_2f_zero: - call BattleBGEffects_IncrementJumptable - call BattleBGEffects_ClearLYOverrides - ld a, rSCX - $ff00 - call BattleBGEffect_SetLCDStatCustoms1 - ld a, [hLYOverrideEnd] - inc a - ld [hLYOverrideEnd], a - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld [hl], $0 - call BGEffect_CheckBattleTurn - jr nz, .player_turn - ld a, -2 - jr .okay - -.player_turn - ld a, 2 -.okay - ld [hl], a - ret - -BattleBGEffect_2f: ; c8919 (32:4919) - call BattleBGEffects_AnonJumptable -.anon_dw - dw BGEffect2d_2f_zero - dw Tackle_BGEffect25_2d_one - dw .two - dw Tackle_BGEffect25_2d_two - dw .four - -.four - call BattleAnim_ResetLCDStatCustom -.two - ret - -BattleBGEffect_26: ; c892a (32:492a) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - - -.zero - call BattleBGEffects_IncrementJumptable - call BattleBGEffects_ClearLYOverrides - ld a, rSCX - $ff00 - call BattleBGEffect_SetLCDStatCustoms1 - ld a, [hLYOverrideEnd] - inc a - ld [hLYOverrideEnd], a - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld [hl], $0 - ret - -.one - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - ld d, $8 - call BattleBGEffects_Sine - call BGEffect_FillLYOverridesBackup - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - add $4 - ld [hl], a - ret - -.two - call BattleAnim_ResetLCDStatCustom - ret - -BattleBGEffect_2c: ; c8964 (32:4964) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - - -.zero - call BattleBGEffects_IncrementJumptable - call BattleBGEffects_ClearLYOverrides - ld a, rSCX - $ff00 - call BattleBGEffect_SetLCDStatCustoms1 - ld a, [hLYOverrideEnd] - inc a - ld [hLYOverrideEnd], a - xor a - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld [hli], a - ld [hl], a - ret - -.one - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - ld d, $6 - call BattleBGEffects_Sine - push af - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - ld d, $2 - call BattleBGEffects_Sine - ld e, a - pop af - add e - call BGEffect_FillLYOverridesBackup - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - add $8 - ld [hl], a - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - add $2 - ld [hl], a - ret - -.two - call BattleAnim_ResetLCDStatCustom - ret - -BattleBGEffect_28: ; c89b5 (32:49b5) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - - -.zero - call BattleBGEffects_IncrementJumptable - call BattleBGEffects_ClearLYOverrides - ld a, rSCX - $ff00 - call BattleBGEffect_SetLCDStatCustoms1 - ret - -.one - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - cp $20 - ret nc - inc [hl] - ld d, a - ld e, 4 - call Functionc8f2e - ret - -.two - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - and a - jr z, .reset - dec [hl] - ld d, a - ld e, 4 - call Functionc8f2e - ret - -.reset - call BattleAnim_ResetLCDStatCustom - ret - -BattleBGEffect_BounceDown: ; c89ee (32:49ee) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - - -.zero - call BattleBGEffects_IncrementJumptable - call BattleBGEffects_ClearLYOverrides - ld a, rSCY - $ff00 - call BattleBGEffect_SetLCDStatCustoms2 - ld a, [hLYOverrideEnd] - inc a - ld [hLYOverrideEnd], a - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld [hl], $1 - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld [hl], $20 - ret - -.one - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - cp $38 - ret nc - push af - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - ld d, $10 - call BattleBGEffects_Cosine - add $10 - ld d, a - pop af - add d - call BGEffect_DisplaceLYOverridesBackup - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - inc [hl] - inc [hl] - ret - -.two - call BattleAnim_ResetLCDStatCustom - ret - -BattleBGEffect_2a: ; c8a3a (32:4a3a) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - dw .three - dw .four - dw .five - -.zero - call BattleBGEffects_IncrementJumptable - ld a, $e4 - call BattleBGEffects_SetLYOverrides - ld a, $47 - call BattleBGEffect_SetLCDStatCustoms1 - ld a, [hLYOverrideEnd] - inc a - ld [hLYOverrideEnd], a - ld a, [hLYOverrideStart] - ld l, a - ld h, HIGH(LYOverridesBackup) -.loop - ld a, [hLYOverrideEnd] - cp l - jr z, .done - xor a - ld [hli], a - jr .loop - -.done - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld [hl], $0 -.one -.four - ret - -.two - call .GetLYOverride - jr nc, .next - call .SetLYOverridesBackup - ret - -.next - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld [hl], $0 - ld a, [hLYOverrideStart] - inc a - ld [hLYOverrideStart], a - call BattleBGEffects_IncrementJumptable - ret - -.three - call .GetLYOverride - jr nc, .finish - call .SetLYOverridesBackup - ld a, [hLYOverrideEnd] - dec a - ld l, a - ld [hl], e - ret - -.finish - call BattleBGEffects_IncrementJumptable - ret - -.SetLYOverridesBackup: - ld e, a - ld a, [hLYOverrideStart] - ld l, a - ld a, [hLYOverrideEnd] - sub l - srl a - ld h, HIGH(LYOverridesBackup) -.loop2 - ld [hl], e - inc hl - inc hl - dec a - jr nz, .loop2 - ret - -.five - call BattleBGEffects_ResetVideoHRAM - ret - -.GetLYOverride: - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - inc [hl] - srl a - srl a - srl a - ld e, a - ld d, 0 - ld hl, .data - add hl, de - ld a, [hl] - cp $ff - ret - -.data - db $00, $40, $90, $e4 - db -1 -; c8acc - -BattleBGEffect_2b: ; c8acc (32:4acc) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - - -.zero - call BattleBGEffects_IncrementJumptable - call BattleBGEffects_ClearLYOverrides - ld a, rSCX - $ff00 - call BattleBGEffect_SetLCDStatCustoms1 - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld [hl], $40 - ret - -.one - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - and a - jr z, .done - dec [hl] - srl a - srl a - srl a - and $f - ld d, a - ld e, a - call Functionc8f2e - ret - -.done - call BattleAnim_ResetLCDStatCustom - ret - -BattleBGEffect_1c: ; c8b00 (32:4b00) - ld a, [hCGB] - and a - jr nz, .cgb - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - - -.zero - call BattleBGEffects_IncrementJumptable - ld a, $e4 - call BattleBGEffects_SetLYOverrides - ld a, rBGP - $ff00 - ld [hLCDCPointer], a - xor a - ld [hLYOverrideStart], a - ld a, $60 - ld [hLYOverrideEnd], a - ret - -.one - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - inc [hl] - ld e, a - and $7 - ret nz - ld a, e - and $18 - sla a - swap a - sla a - ld e, a - ld d, $0 - push bc - call BGEffect_CheckBattleTurn - jr nz, .player - ld hl, .CGB_DMGEnemyData - add hl, de - ld a, [hli] - ld [wOBP1], a - ld d, a - ld e, [hl] - lb bc, $2f, $30 - jr .okay - -.player - ld hl, .DMG_PlayerData - add hl, de - ld d, [hl] - inc hl - ld a, [hl] - ld [wOBP1], a - ld e, a - lb bc, $37, $28 -.okay - call .DMG_LYOverrideLoads - pop bc - ret - -.two - call BattleBGEffects_ResetVideoHRAM - ld a, $e4 - ld [wBGP], a - ld [wOBP1], a - ret - -.DMG_LYOverrideLoads: - ld hl, LYOverridesBackup -.loop1 - ld [hl], d - inc hl - dec b - jr nz, .loop1 -.loop2 - ld [hl], e - inc hl - dec c - jr nz, .loop2 - ret - -.cgb - ld de, .Jumptable - call BatttleBGEffects_GetNamedJumptablePointer - jp hl - -.Jumptable: - dw .cgb_zero - dw .cgb_one - dw .cgb_two -.cgb_zero - call BattleBGEffects_IncrementJumptable - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld [hl], $0 - ret - -.cgb_one - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - inc [hl] - ld e, a - and $7 - ret nz - ld a, e - and $18 - sla a - swap a - sla a - ld e, a - ld d, 0 - call BGEffect_CheckBattleTurn - jr nz, .player_2 - ld hl, .CGB_DMGEnemyData - add hl, de - ld a, [hli] - push hl - call BGEffects_LoadBGPal1_OBPal0 - pop hl - ld a, [hl] - call BGEffects_LoadBGPal0_OBPal1 - ret - -.player_2 - ld hl, .CGB_DMGEnemyData - add hl, de - ld a, [hli] - push hl - call BGEffects_LoadBGPal0_OBPal1 - pop hl - ld a, [hl] - call BGEffects_LoadBGPal1_OBPal0 - ret - -.cgb_two - ld a, $e4 - call BGEffects_LoadBGPal0_OBPal1 - ld a, $e4 - call BGEffects_LoadBGPal1_OBPal0 - call EndBattleBGEffect - ret - -.CGB_DMGEnemyData: - db $e4, $e4 - db $f8, $90 - db $fc, $40 - db $f8, $90 -.DMG_PlayerData: - db $e4, $e4 - db $90, $f8 - db $40, $fc - db $90, $f8 -; c8be8 - -BattleBGEffect_RapidFlash: ; c8be8 (32:4be8) - ld de, .FlashPals - call BGEffect_RapidCyclePals - ret - -.FlashPals: - db $e4, $6c, $fe -; c8bf2 - -BattleBGEffect_16: ; c8bf2 (32:4bf2) - ld de, .Pals - call BGEffect_RapidCyclePals - ret - -.Pals: - db $e4, $90, $40, $ff -; c8bfd - -BattleBGEffect_17: ; c8bfd (32:4bfd) - ld de, .Pals - call BGEffect_RapidCyclePals - ret - -.Pals: - db $e4, $f8, $fc, $ff -; c8c08 - -BattleBGEffect_18: ; c8c08 (32:4c08) - ld de, .Pals - call BGEffect_RapidCyclePals - ret - -.Pals: - db $e4, $90, $40, $90, $fe -; c8c14 - -BattleBGEffect_19: ; c8c14 (32:4c14) - ld de, .Pals - call BGEffect_RapidCyclePals - ret - -.Pals: - db $e4, $f8, $fc, $f8, $fe -; c8c20 - -BattleBGEffect_1a: ; c8c20 (32:4c20) - ld de, .Pals - call BGEffect_RapidCyclePals - ret - -.Pals: - db $e4, $f8, $fc, $f8, $e4, $90, $40, $90, $fe -; c8c30 - -BattleBGEffect_1b: ; c8c30 (32:4c30) - ld de, .Pals - call BGEffect_RapidCyclePals - ret - -.Pals: - db $e4, $fc, $e4, $00, $fe -; c8c3c - -BattleBGEffect_1d: ; c8c3c (32:4c3c) - ld de, .Pals - call BGEffect_RapidCyclePals - ret - -.Pals: - db $e4, $90, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $90, $e4, $ff -; c8c55 - -BattleBGEffect_1e: ; c8c55 (32:4c55) - ld de, .Pals - call BGEffect_RapidCyclePals - ret - -.Pals: - db $00, $40, $90, $e4, $ff -; c8c61 - -BattleBGEffect_VibrateMon: ; c8c61 (32:4c61) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - - -.zero ; c8c68 (32:4c68) - call BattleBGEffects_IncrementJumptable - call BattleBGEffects_ClearLYOverrides - ld a, rSCX - $ff00 - call BattleBGEffect_SetLCDStatCustoms1 - ld a, [hLYOverrideEnd] - inc a - ld [hLYOverrideEnd], a - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld [hl], $1 - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld [hl], $20 - ret - -.one ; c8c85 (32:4c85) - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - and a - jr z, .finish - dec [hl] - and $1 - ret nz - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - xor $ff - inc a - ld [hl], a - call BGEffect_FillLYOverridesBackup - ret - -.finish - call BattleAnim_ResetLCDStatCustom - ret - -BattleBGEffect_WobbleMon: ; c8ca2 (32:4ca2) - call BattleBGEffects_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - - -.zero ; c8cab (32:4cab) - call BattleBGEffects_IncrementJumptable - call BattleBGEffects_ClearLYOverrides - ld a, rSCX - $ff00 - ld [hLCDCPointer], a - xor a - ld [hLYOverrideStart], a - ld a, $37 - ld [hLYOverrideEnd], a - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld [hl], $0 - ret - -.one ; c8cc3 (32:4cc3) - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - cp $40 - jr nc, .two - ld d, $6 - call BattleBGEffects_Sine - call BGEffect_FillLYOverridesBackup - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - add $2 - ld [hl], a - ret - -.two ; c8cdd (32:4cdd) - call BattleAnim_ResetLCDStatCustom - ret - -BattleBGEffect_2e: ; c8ce1 (32:4ce1) - call Functionc8d0b - jr c, .xor_a - bit 7, a - jr z, .okay -.xor_a - xor a -.okay - push af - call DelayFrame - pop af - ld [hSCY], a - xor $ff - inc a - ld [AnimObject01_YOffset], a - ret - -BattleBGEffect_1f: ; c8cf9 (32:4cf9) - call Functionc8d0b - jr nc, .skip - xor a -.skip - ld [hSCX], a - ret - -BattleBGEffect_20: ; c8d02 (32:4d02) - call Functionc8d0b - jr nc, .skip - xor a -.skip - ld [hSCY], a - ret - -Functionc8d0b: ; c8d0b (32:4d0b) - ld hl, BG_EFFECT_STRUCT_JT_INDEX - add hl, bc - ld a, [hl] - and a - jr nz, .okay - call EndBattleBGEffect - scf - ret - -.okay - dec [hl] - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - and $f - jr z, .every_16_frames - dec [hl] - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - and a - ret - -.every_16_frames - ld a, [hl] - swap a - or [hl] - ld [hl], a - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - xor $ff - inc a - ld [hl], a - and a - ret - -BattleBGEffect_35: ; c8d3a (32:4d3a) - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - cp $40 - jr nc, .finish - ld d, $6 - call BattleBGEffects_Sine - ld [hSCX], a - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - add $2 - ld [hl], a - ret - -.finish - xor a - ld [hSCX], a - ret - -BattleBGEffect_GetNthDMGPal: ; c8d57 (32:4d57) - ld hl, BG_EFFECT_STRUCT_JT_INDEX - add hl, bc - ld a, [hl] - and a - jr z, .zero - dec [hl] - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - call BattleBGEffect_GetNextDMGPal - ret - -.zero - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - ld hl, BG_EFFECT_STRUCT_JT_INDEX - add hl, bc - ld [hl], a - call BattleBGEffect_GetFirstDMGPal - ret - -BGEffect_RapidCyclePals: ; c8d77 (32:4d77) - ld a, [hCGB] - and a - jr nz, .cgb - push de - ld de, .Jumptable_DMG - call BatttleBGEffects_GetNamedJumptablePointer - pop de - jp hl - -.Jumptable_DMG: - dw .zero_dmg - dw .one_dmg - dw .two_dmg - - -.zero_dmg ; c8d8b (32:4d8b) - call BattleBGEffects_IncrementJumptable - ld a, $e4 - call BattleBGEffects_SetLYOverrides - ld a, $47 - call BattleBGEffect_SetLCDStatCustoms1 - ld a, [hLYOverrideEnd] - inc a - ld [hLYOverrideEnd], a - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - ld [hl], $0 - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld [hl], a - ret - -.one_dmg ; c8daa (32:4daa) - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - and $f - jr z, .okay_1_dmg - dec [hl] - ret - -.okay_1_dmg - ld a, [hl] - swap a - or [hl] - ld [hl], a - call BattleBGEffect_GetFirstDMGPal - jr c, .okay_2_dmg - call BGEffect_FillLYOverridesBackup - ret - -.okay_2_dmg - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - dec [hl] - ret - -.two_dmg ; c8dc9 (32:4dc9) - call BattleBGEffects_ResetVideoHRAM - ld a, %11100100 - ld [rBGP], a - call EndBattleBGEffect - ret - -.cgb - push de - ld de, .Jumptable_CGB - call BatttleBGEffects_GetNamedJumptablePointer - pop de - jp hl - -.Jumptable_CGB: ; c8ddd (32:4ddd) - dw .zero_cgb - dw .one_cgb - dw .two_cgb - dw .three_cgb - dw .four_cgb - - -.zero_cgb ; c8de7 (32:4de7) - call BGEffect_CheckBattleTurn - jr nz, .player_turn_cgb - call BattleBGEffects_IncrementJumptable - call BattleBGEffects_IncrementJumptable -.player_turn_cgb - call BattleBGEffects_IncrementJumptable - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - ld [hl], $0 - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld [hl], a - ret - -.one_cgb ; c8e02 (32:4e02) - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - and $f - jr z, .okay_1_cgb - dec [hl] - ret - -.okay_1_cgb - ld a, [hl] - swap a - or [hl] - ld [hl], a - call BattleBGEffect_GetFirstDMGPal - jr c, .okay_2_cgb - call BGEffects_LoadBGPal0_OBPal1 - ret - -.okay_2_cgb - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - dec [hl] - ret - -.two_cgb ; c8e21 (32:4e21) - ld a, $e4 - call BGEffects_LoadBGPal0_OBPal1 - call EndBattleBGEffect - ret - -.three_cgb ; c8e2a (32:4e2a) - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hl] - and $f - jr z, .okay_3_cgb - dec [hl] - ret - -.okay_3_cgb - ld a, [hl] - swap a - or [hl] - ld [hl], a - call BattleBGEffect_GetFirstDMGPal - jr c, .okay_4_cgb - call BGEffects_LoadBGPal1_OBPal0 - ret - -.okay_4_cgb - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - dec [hl] - ret - -.four_cgb ; c8e49 (32:4e49) - ld a, $e4 - call BGEffects_LoadBGPal1_OBPal0 - call EndBattleBGEffect - ret - -BGEffects_LoadBGPal0_OBPal1: ; c8e52 (32:4e52) - ld h, a - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld a, h - push bc - push af - ld hl, BGPals - ld de, UnknBGPals - ld b, a - ld c, $1 - call CopyPals - ld hl, OBPals + 8 - ld de, UnknOBPals + 8 - pop af - ld b, a - ld c, $1 - call CopyPals - pop bc - pop af - ld [rSVBK], a - ld a, $1 - ld [hCGBPalUpdate], a - ret - -BGEffects_LoadBGPal1_OBPal0: ; c8e7f (32:4e7f) - ld h, a - ld a, [rSVBK] - push af - ld a, $5 - ld [rSVBK], a - ld a, h - push bc - push af - ld hl, BGPals + 8 - ld de, UnknBGPals + 8 - ld b, a - ld c, $1 - call CopyPals - ld hl, OBPals ; OBPals - ld de, UnknOBPals ; wd040 - pop af - ld b, a - ld c, $1 - call CopyPals - pop bc - pop af - ld [rSVBK], a - ld a, $1 - ld [hCGBPalUpdate], a - ret - -BattleBGEffect_GetFirstDMGPal: ; c8eac (32:4eac) - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld a, [hl] - inc [hl] -BattleBGEffect_GetNextDMGPal: ; c8eb2 (32:4eb2) - ld l, a - ld h, $0 - add hl, de - ld a, [hl] - cp -1 - jr z, .quit - cp -2 - jr nz, .repeat - ld a, [de] - ld hl, BG_EFFECT_STRUCT_03 - add hl, bc - ld [hl], $0 -.repeat - and a - ret - -.quit - scf - ret - -BattleBGEffects_ClearLYOverrides: ; c8eca (32:4eca) - xor a -BattleBGEffects_SetLYOverrides: ; c8ecb (32:4ecb) - ld hl, LYOverrides ; wListPointer - ld e, $99 -.loop1 - ld [hli], a - dec e - jr nz, .loop1 - ld hl, LYOverridesBackup - ld e, $91 -.loop2 - ld [hli], a - dec e - jr nz, .loop2 - ret - -BattleBGEffect_SetLCDStatCustoms1: ; c8ede (32:4ede) - ld [hLCDCPointer], a - call BGEffect_CheckBattleTurn - jr nz, .player_turn - lb de, $00, $36 - jr .okay - -.player_turn - lb de, $2f, $5e -.okay - ld a, d - ld [hLYOverrideStart], a - ld a, e - ld [hLYOverrideEnd], a - ret - -BattleBGEffect_SetLCDStatCustoms2: ; c8ef4 (32:4ef4) - ld [hLCDCPointer], a - call BGEffect_CheckBattleTurn - jr nz, .player_turn - lb de, $00, $36 - jr .okay - -.player_turn - lb de, $2d, $5e -.okay - ld a, d - ld [hLYOverrideStart], a - ld a, e - ld [hLYOverrideEnd], a - ret - -BattleAnim_ResetLCDStatCustom: ; c8f0a (32:4f0a) - xor a - ld [hLYOverrideStart], a - ld [hLYOverrideEnd], a - call BattleBGEffects_ClearLYOverrides - xor a - ld [hLCDCPointer], a - call EndBattleBGEffect - ret - -BattleBGEffects_ResetVideoHRAM: ; c8f19 (32:4f19) - xor a - ld [hLCDCPointer], a - ld a, %11100100 - ld [rBGP], a - ld [wBGP], a - ld [wOBP1], a - ld [hLYOverrideStart], a - ld [hLYOverrideEnd], a - call BattleBGEffects_ClearLYOverrides - ret - -Functionc8f2e: ; c8f2e (32:4f2e) - push bc - xor a - ld [wBattleAnimTemp0], a - ld a, e - ld [wBattleAnimTemp1], a - ld a, d - ld [wBattleAnimTemp2], a - ld a, $80 - ld [wBattleAnimTemp3], a - ld bc, LYOverridesBackup -.loop - ld a, [hLYOverrideStart] - cp c - jr nc, .next - ld a, [hLYOverrideEnd] - cp c - jr c, .next - ld a, [wBattleAnimTemp2] - ld d, a - ld a, [wBattleAnimTemp0] - call BattleBGEffects_Sine - ld [bc], a -.next - inc bc - ld a, [wBattleAnimTemp1] - ld hl, wBattleAnimTemp0 - add [hl] - ld [hl], a - ld hl, wBattleAnimTemp3 - dec [hl] - jr nz, .loop - pop bc - ret - -InitSurfWaves: ; c8f69 (32:4f69) - push bc - xor a - ld [wBattleAnimTemp0], a - ld a, e - ld [wBattleAnimTemp1], a - ld a, d - ld [wBattleAnimTemp2], a - ld a, $40 - ld [wBattleAnimTemp3], a - ld bc, wSurfWaveBGEffect -.loop - ld a, [wBattleAnimTemp2] - ld d, a - ld a, [wBattleAnimTemp0] - call BattleBGEffects_Sine - ld [bc], a - inc bc - ld a, [wBattleAnimTemp1] - ld hl, wBattleAnimTemp0 - add [hl] - ld [hl], a - ld hl, wBattleAnimTemp3 - dec [hl] - jr nz, .loop - pop bc - ret - -Functionc8f9a: ; c8f9a (32:4f9a) - push bc - ld [wBattleAnimTemp3], a - ld a, e - ld [wBattleAnimTemp1], a - ld a, d - ld [wBattleAnimTemp2], a - call .GetLYOverrideBackupAddrOffset - ld hl, LYOverridesBackup - add hl, de - ld c, l - ld b, h -.loop - ld a, [wBattleAnimTemp3] - and a - jr z, .done - dec a - ld [wBattleAnimTemp3], a - push af - ld a, [wBattleAnimTemp2] - ld d, a - ld a, [wBattleAnimTemp1] - push hl - call BattleBGEffects_Sine - ld e, a - pop hl - ld a, [hLYOverrideEnd] - cp c - jr c, .skip1 - ld a, e - ld [bc], a - inc bc -.skip1 - ld a, [hLYOverrideStart] - cp l - jr nc, .skip2 - ld [hl], e - dec hl -.skip2 - ld a, [wBattleAnimTemp1] - add $4 - ld [wBattleAnimTemp1], a - pop af - jr .loop - -.done - pop bc - and a - ret - -.GetLYOverrideBackupAddrOffset: - ld a, [hLYOverrideStart] - ld e, a - ld a, [wBattleAnimTemp0] - add e - ld e, a - ld d, $0 - ret - -BattleBGEffect_WavyScreenFX: ; c8fef (32:4fef) - push bc - ld a, [hLYOverrideStart] - ld l, a - inc a - ld e, a - ld h, HIGH(LYOverridesBackup) - ld d, h - ld a, [hLYOverrideEnd] - sub l - and a - jr z, .done - ld c, a - ld a, [hl] - push af -.loop - ld a, [de] - inc de - ld [hli], a - dec c - jr nz, .loop - pop af - ld [hl], a -.done - pop bc - ret - -BGEffect_FillLYOverridesBackup: ; c900b (32:500b) - push af - ld h, HIGH(LYOverridesBackup) - ld a, [hLYOverrideStart] - ld l, a - ld a, [hLYOverrideEnd] - sub l - ld d, a - pop af -.loop - ld [hli], a - dec d - jr nz, .loop - ret - -BGEffect_DisplaceLYOverridesBackup: ; c901b (32:501b) - ; e = a; d = [hLYOverrideEnd] - [hLYOverrideStart] - a - push af - ld e, a - ld a, [hLYOverrideStart] - ld l, a - ld a, [hLYOverrideEnd] - sub l - sub e - ld d, a - ld h, HIGH(LYOverridesBackup) - ld a, [hLYOverrideStart] - ld l, a - ld a, $90 -.loop - ld [hli], a - dec e - jr nz, .loop - pop af - xor $ff -.loop2 - ld [hli], a - dec d - jr nz, .loop2 - ret - -BGEffect_CheckBattleTurn: ; c9038 (32:5038) - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hBattleTurn] - and $1 - xor [hl] - ret - -BGEffect_CheckFlyDigStatus: ; c9042 (32:5042) - ld hl, BG_EFFECT_STRUCT_BATTLE_TURN - add hl, bc - ld a, [hBattleTurn] - and $1 - xor [hl] - jr nz, .player - ld a, [EnemySubStatus3] ; EnemySubStatus3 - and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND - ret - -.player - ld a, [PlayerSubStatus3] ; PlayerSubStatus3 - and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND - ret - -BattleBGEffects_CheckSGB: ; c9059 (32:5059) - ld a, [hSGB] - and a - ret - -BattleBGEffects_Sine: ; c905d (32:505d) - ld e, a - callfar BattleAnim_Sine_e - ld a, e - ret - -BattleBGEffects_Cosine: ; c9066 (32:5066) - ld e, a - callfar BattleAnim_Cosine_e - ld a, e - ret - -; c906f (32:506f) diff --git a/engine/anims/engine.asm b/engine/anims/engine.asm deleted file mode 100755 index ae3bdde28..000000000 --- a/engine/anims/engine.asm +++ /dev/null @@ -1,314 +0,0 @@ -QueueBattleAnimation: ; cc9a1 (33:49a1) - ld hl, ActiveAnimObjects - ld e, 10 -.loop - ld a, [hl] - and a - jr z, .done - ld bc, BATTLEANIMSTRUCT_LENGTH - add hl, bc - dec e - jr nz, .loop - scf - ret - -.done - ld c, l - ld b, h - ld hl, wNumActiveBattleAnims - inc [hl] - call InitBattleAnimation - ret - -DeinitBattleAnimation: ; cc9bd - ld hl, BATTLEANIMSTRUCT_INDEX - add hl, bc - ld [hl], $0 - ret - -; cc9c4 - -InitBattleAnimation: ; cc9c4 (33:49c4) - ld a, [wBattleAnimTemp0] - ld e, a - ld d, 0 - ld hl, BattleAnimObjects -rept 6 - add hl, de -endr - ld e, l - ld d, h - ld hl, BATTLEANIMSTRUCT_INDEX - add hl, bc - ld a, [wNumActiveBattleAnims] - ld [hli], a ; Index - ld a, [de] - inc de - ld [hli], a ; 01 - ld a, [de] - inc de - ld [hli], a ; 02 - ld a, [de] - inc de - ld [hli], a ; Frameset ID - ld a, [de] - inc de - ld [hli], a ; Function - ld a, [de] - inc de - ld [hli], a ; 05 - ld a, [de] - call GetBattleAnimTileOffset - ld [hli], a ; Tile ID - ld a, [wBattleAnimTemp1] - ld [hli], a ; X Coord - ld a, [wBattleAnimTemp2] - ld [hli], a ; Y Coord - xor a - ld [hli], a ; X Offset - ld [hli], a ; Y Offset - ld a, [wBattleAnimTemp3] - ld [hli], a ; 0b - xor a - ld [hli], a ; 0c - dec a - ld [hli], a ; 0d - xor a - ld [hli], a ; 0e - ld [hli], a ; 0f - ld [hl], a ; 10 - ret - -BattleAnimOAMUpdate: ; cca09 - call InitBattleAnimBuffer - call GetBattleAnimFrame - cp -3 - jp z, .done - cp -4 - jp z, .delete - push af - ld hl, wBattleAnimTempOAMFlags - ld a, [wBattleAnimTemp7] - xor [hl] - and $e0 - ld [hl], a - pop af - push bc - call GetBattleAnimOAMPointer - ld a, [wBattleAnimTempTileID] - add [hl] - ld [wBattleAnimTempTileID], a - inc hl - ld a, [hli] - ld c, a - ld a, [hli] - ld h, [hl] - ld l, a - ld a, [wBattleAnimOAMPointerLo] - ld e, a - ld d, HIGH(Sprites) -.loop - ld a, [wBattleAnimTempYCoord] - ld b, a - ld a, [wBattleAnimTempYOffset] - add b - ld b, a - push hl - ld a, [hl] - ld hl, wBattleAnimTempOAMFlags - bit 6, [hl] - jr z, .no_yflip - add $8 - xor $ff - inc a - -.no_yflip - pop hl - add b - ld [de], a - inc hl - inc de - ld a, [wBattleAnimTempXCoord] - ld b, a - ld a, [wBattleAnimTempXOffset] - add b - ld b, a - push hl - ld a, [hl] - ld hl, wBattleAnimTempOAMFlags - bit 5, [hl] - jr z, .no_xflip - add $8 - xor $ff - inc a - -.no_xflip - pop hl - add b - ld [de], a - inc hl - inc de - ld a, [wBattleAnimTempTileID] - add $31 - add [hl] - ld [de], a - inc hl - inc de - ld a, [wBattleAnimTempOAMFlags] - ld b, a - ld a, [hl] - xor b - and $e0 - ld b, a - ld a, [hl] - and $10 - or b - ld b, a - ld a, [wBattleAnimTempPalette] - and $f - or b - ld [de], a - inc hl - inc de - ld a, e - ld [wBattleAnimOAMPointerLo], a - cp $a0 - jr nc, .exit_set_carry - dec c - jr nz, .loop - pop bc - jr .done - -.delete - call DeinitBattleAnimation - -.done - and a - ret - -.exit_set_carry - pop bc - scf - ret - -; ccaaa - -InitBattleAnimBuffer: ; ccaaa - ld hl, BATTLEANIMSTRUCT_01 - add hl, bc - ld a, [hl] - and %10000000 - ld [wBattleAnimTempOAMFlags], a - xor a - ld [wBattleAnimTemp7], a - ld hl, BATTLEANIMSTRUCT_PALETTE - add hl, bc - ld a, [hl] - ld [wBattleAnimTempPalette], a - ld hl, BATTLEANIMSTRUCT_02 - add hl, bc - ld a, [hl] - ld [wBattleAnimTemp1], a - ld hl, BATTLEANIMSTRUCT_TILEID - add hl, bc - ld a, [hli] - ld [wBattleAnimTempTileID], a - ld a, [hli] - ld [wBattleAnimTempXCoord], a - ld a, [hli] - ld [wBattleAnimTempYCoord], a - ld a, [hli] - ld [wBattleAnimTempXOffset], a - ld a, [hli] - ld [wBattleAnimTempYOffset], a - ld a, [hBattleTurn] - and a - ret z - ld hl, BATTLEANIMSTRUCT_01 - add hl, bc - ld a, [hl] - ld [wBattleAnimTempOAMFlags], a - bit 0, [hl] - ret z - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hli] - ld d, a - ld a, (-10 * 8) + 4 - sub d - ld [wBattleAnimTempXCoord], a - ld a, [hli] - ld d, a - ld a, [wBattleAnimTemp1] - cp $ff - jr nz, .check_kinesis_softboiled_milkdrink - ld a, 5 * 8 - add d - jr .done - -.check_kinesis_softboiled_milkdrink - sub d - push af - ld a, [FXAnimID + 1] - or a - jr nz, .no_sub - ld a, [FXAnimID] - cp KINESIS - jr z, .kinesis - cp SOFTBOILED - jr z, .softboiled - cp MILK_DRINK - jr nz, .no_sub -.kinesis -.softboiled -.milk_drink - pop af - sub 1 * 8 - jr .done - -.no_sub - pop af -.done - ld [wBattleAnimTempYCoord], a - ld a, [hli] - xor $ff - inc a - ld [wBattleAnimTempXOffset], a - ret - -; ccb31 - -GetBattleAnimTileOffset: ; ccb31 (33:4b31) - push hl - push bc - ld hl, wBattleAnimTileDict - ld b, a - ld c, 10 / 2 -.loop - ld a, [hli] - cp b - jr z, .load - inc hl - dec c - jr nz, .loop - xor a - jr .done - -.load - ld a, [hl] -.done - pop bc - pop hl - ret - -_ExecuteBGEffects: ; ccb48 - callfar ExecuteBGEffects - ret - -; ccb4f - -_QueueBGEffect: ; ccb4f (33:4b4f) - callfar QueueBGEffect - ret - -; ccb56 (33:4b56) diff --git a/engine/anims/functions.asm b/engine/anims/functions.asm deleted file mode 100755 index e5b2b16c4..000000000 --- a/engine/anims/functions.asm +++ /dev/null @@ -1,4157 +0,0 @@ -DoBattleAnimFrame: ; ccfbe - ld hl, BATTLEANIMSTRUCT_FUNCTION - add hl, bc - ld e, [hl] - ld d, 0 - ld hl, .Jumptable - add hl, de - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl -; ccfce - -.Jumptable: -; entries correspond to BATTLEANIMFUNC_* constants - dw BattleAnimFunction_Null ; 00 - dw BattleAnimFunction_01 ; 01 - dw BattleAnimFunction_02 ; 02 - dw BattleAnimFunction_03 ; 03 - dw BattleAnimFunction_04 ; 04 - dw BattleAnimFunction_ThrowFromPlayerToEnemy ; 05 - dw BattleAnimFunction_ThrowFromPlayerToEnemyAndDisappear ; 06 - dw BattleAnimFunction_07 ; 07 - dw BattleAnimFunction_08 ; 08 - dw BattleAnimFunction_09 ; 09 - dw BattleAnimFunction_0A ; 0a - dw BattleAnimFunction_RazorLeaf ; 0b - dw BattleAnimFunction_0C ; 0c - dw BattleAnimFunction_0D ; 0d - dw BattleAnimFunction_0E ; 0e - dw BattleAnimFunction_0F ; 0f - dw BattleAnimFunction_10 ; 10 - dw BattleAnimFunction_11 ; 11 - dw BattleAnimFunction_PokeBall ; 12 - dw BattleAnimFunction_PokeBallBlocked ; 13 - dw BattleAnimFunction_14 ; 14 - dw BattleAnimFunction_15 ; 15 - dw BattleAnimFunction_16 ; 16 - dw BattleAnimFunction_17 ; 17 - dw BattleAnimFunction_18 ; 18 - dw BattleAnimFunction_19 ; 19 - dw BattleAnimFunction_1A ; 1a - dw BattleAnimFunction_1B ; 1b - dw BattleAnimFunction_1C ; 1c - dw BattleAnimFunction_1D ; 1d - dw BattleAnimFunction_1E ; 1e - dw BattleAnimFunction_1F ; 1f - dw BattleAnimFunction_LeechSeed ; 20 - dw BattleAnimFunction_21 ; 21 - dw BattleAnimFunction_22 ; 22 - dw BattleAnimFunction_23 ; 23 - dw BattleAnimFunction_24 ; 24 - dw BattleAnimFunction_25 ; 25 - dw BattleAnimFunction_26 ; 26 - dw BattleAnimFunction_27 ; 27 - dw BattleAnimFunction_28 ; 28 - dw BattleAnimFunction_SpiralDescent ; 29 - dw BattleAnimFunction_PoisonGas ; 2a - dw BattleAnimFunction_Horn ; 2b - dw BattleAnimFunction_2C ; 2c - dw BattleAnimFunction_2D ; 2d - dw BattleAnimFunction_2E ; 2e - dw BattleAnimFunction_2F ; 2f - dw BattleAnimFunction_30 ; 30 - dw BattleAnimFunction_31 ; 31 - dw BattleAnimFunction_32 ; 32 - dw BattleAnimFunction_33 ; 33 - dw BattleAnimFunction_34 ; 34 - dw BattleAnimFunction_35 ; 35 - dw BattleAnimFunction_36 ; 36 - dw BattleAnimFunction_37 ; 37 - dw BattleAnimFunction_38 ; 38 - dw BattleAnimFunction_39 ; 39 - dw BattleAnimFunction_3A ; 3a - dw BattleAnimFunction_3B ; 3b - dw BattleAnimFunction_3C ; 3c - dw BattleAnimFunction_3D ; 3d - dw BattleAnimFunction_3E ; 3e - dw BattleAnimFunction_3F ; 3f - dw BattleAnimFunction_40 ; 40 - dw BattleAnimFunction_41 ; 41 - dw BattleAnimFunction_42 ; 42 - dw BattleAnimFunction_43 ; 43 - dw BattleAnimFunction_44 ; 44 - dw BattleAnimFunction_45 ; 45 - dw BattleAnimFunction_46 ; 46 - dw BattleAnimFunction_47 ; 47 - dw BattleAnimFunction_48 ; 48 - dw BattleAnimFunction_49 ; 49 - dw BattleAnimFunction_4A ; 4a - dw BattleAnimFunction_4B ; 4b - dw BattleAnimFunction_4C ; 4c - dw BattleAnimFunction_4D ; 4d - dw BattleAnimFunction_4E ; 4e - dw BattleAnimFunction_4F ; 4f - -BattleAnimFunction_Null: ; cd06e (33:506e) - call BattleAnim_AnonJumptable -.anon_dw - dw .zero - dw .one -.one - call DeinitBattleAnimation -.zero - ret - -BattleAnimFunction_ThrowFromPlayerToEnemyAndDisappear: ; cd079 (33:5079) - call BattleAnimFunction_ThrowFromPlayerToEnemy - ret c - call DeinitBattleAnimation - ret - -BattleAnimFunction_ThrowFromPlayerToEnemy: ; cd081 (33:5081) - ; If x coord at $88 or beyond, abort. - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $88 - ret nc - ; Move right 2 pixels - add $2 - ld [hl], a - ; Move down 1 pixel - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - dec [hl] - ; Decrease ??? and hold onto its previous value (argument of the sine function) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - dec [hl] - ; Get ???, which is the amplitude of the sine function - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld d, [hl] - call BattleAnim_Sine - ; Store the result in the Y offset - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ; Carry flag denotes success - scf - ret - -BattleAnimFunction_04: ; cd0a6 (33:50a6) - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $88 - jr c, .asm_cd0b3 - call DeinitBattleAnimation - ret - -.asm_cd0b3 - add $2 - ld [hl], a - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - dec [hl] - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - inc [hl] - inc [hl] - inc [hl] - inc [hl] - ld d, $10 - push af - push de - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop de - pop af - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - sra a - sra a - sra a - sra a - ld [hl], a - ret - -BattleAnimFunction_03: ; cd0e3 (33:50e3) - call BattleAnim_AnonJumptable -.anon_dw - dw .zero - dw .one -.zero - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - bit 7, [hl] - ld a, $0 - jr z, .asm_cd0f9 - ld a, $20 -.asm_cd0f9 - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $7f - ld [hl], a -.one - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld d, [hl] - push af - push de - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop de - pop af - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - inc [hl] - ret - -BattleAnimFunction_01: ; cd12a (33:512a) - call BattleAnim_AnonJumptable -.anon_dw - dw .zero - dw .one -.one - call DeinitBattleAnimation - ret - -.zero - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $84 - ret nc - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - call Functionce70a - ret - -BattleAnimFunction_02: ; cd146 (33:5146) - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $84 - jr nc, .asm_cd158 - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - call Functionce70a - ret - -.asm_cd158 - call DeinitBattleAnimation - ret - -BattleAnimFunction_PokeBall: ; cd15c (33:515c) - call BattleAnim_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - dw .three - dw .four - dw .five - dw .six - dw .seven - dw .eight - dw .nine - dw .ten - dw .eleven -.zero ; init - call GetBallAnimPal - call BattleAnim_IncAnonJumptableIndex - ret - -.one - call BattleAnimFunction_ThrowFromPlayerToEnemy - ret c - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - add [hl] - ld [hl], a - ld a, BATTLEANIMFRAMESET_0B - call ReinitBattleAnimFrameset - call BattleAnim_IncAnonJumptableIndex - ret - -.three - call BattleAnim_IncAnonJumptableIndex - ld a, BATTLEANIMFRAMESET_09 - call ReinitBattleAnimFrameset - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $0 - inc hl - ld [hl], $10 -.four - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hli] - ld d, [hl] - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - dec a - ld [hl], a - and $1f - ret nz - ld [hl], a - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - sub $4 - ld [hl], a - ret nz - ld a, BATTLEANIMFRAMESET_0C - call ReinitBattleAnimFrameset - call BattleAnim_IncAnonJumptableIndex - ret - -.six - ld a, BATTLEANIMFRAMESET_0D - call ReinitBattleAnimFrameset - ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX - add hl, bc - dec [hl] -.two -.five -.nine - ret - -.seven - call GetBallAnimPal - ld a, BATTLEANIMFRAMESET_0A - call ReinitBattleAnimFrameset - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld [hl], $20 -.eight -.ten - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hli] - ld d, [hl] - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - dec a - ld [hl], a - and $1f - jr z, .eleven - and $f - ret nz - call BattleAnim_IncAnonJumptableIndex - ret - -.eleven - call DeinitBattleAnimation - ret - -BattleAnimFunction_PokeBallBlocked: ; cd212 (33:5212) - call BattleAnim_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two -.zero - call GetBallAnimPal - call BattleAnim_IncAnonJumptableIndex - ret - -.one - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $70 - jr nc, .next - call BattleAnimFunction_ThrowFromPlayerToEnemy - ret - -.next - call BattleAnim_IncAnonJumptableIndex -.two - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - ld a, [hl] - cp $80 - jr nc, .done - add $4 - ld [hl], a - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - dec [hl] - dec [hl] - ret - -.done - call DeinitBattleAnimation - ret - -GetBallAnimPal: ; cd249 (33:5249) - ld hl, BallColors - ld a, [rSVBK] - push af - ld a, $1 - ld [rSVBK], a - ld a, [CurItem] ; CurItem - ld e, a - pop af - ld [rSVBK], a -.IsInArray: - ld a, [hli] - cp -1 - jr z, .load - cp e - jr z, .load - inc hl - jr .IsInArray - -.load - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_PALETTE - add hl, bc - ld [hl], a - ret -; cd26c (33:526c) - -INCLUDE "data/anims/ball_colors.asm" - -BattleAnimFunction_10: ; cd284 (33:5284) - call BattleAnim_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - dw .three - dw .four -.zero - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - swap a - and $f - ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX - add hl, bc - ld [hl], a - ret - -.one - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $88 - ret nc - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - call Functionce70a - ret - -.two - call DeinitBattleAnimation - ret - -.three - call BattleAnim_IncAnonJumptableIndex - ld a, BATTLEANIMFRAMESET_0F - call ReinitBattleAnimFrameset -.four - ret - -BattleAnimFunction_07: ; cd2be (33:52be) - call BattleAnim_AnonJumptable -.anon_dw - dw .zero - dw .one -.zero - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $30 - inc hl - ld [hl], $48 -.one - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hli] - ld d, [hl] - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - inc [hl] - ld a, [hl] - and $3f - ret nz - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $20 - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - sub [hl] - jr z, .done - jr c, .done - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld [hl], a - ret - -.done - call DeinitBattleAnimation - ret - -BattleAnimFunction_08: ; cd306 (33:5306) - call BattleAnim_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - dw .three -.zero - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $80 - jr nc, .next - call .SetCoords - ret - -.next - call BattleAnim_IncAnonJumptableIndex -.one - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $0 -.two - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - cp $40 - jr nc, .loop_back - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - ld d, $18 - call BattleAnim_Cosine - sub $18 - sra a - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - ld d, $18 - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $f - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - add [hl] - ld [hl], a - ret - -.loop_back - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $f0 - jr z, .finish - sub $10 - ld d, a - ld a, [hl] - and $f - or d - ld [hl], a - ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX - add hl, bc - dec [hl] - ret - -.finish - call BattleAnim_IncAnonJumptableIndex -.three - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $b0 - jr c, .retain - call DeinitBattleAnimation - ret - -.retain - call .SetCoords - ret - -.SetCoords: - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $f - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - add [hl] - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $f - ld e, a - srl e - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc -.loop - dec [hl] - dec e - jr nz, .loop - ret - -BattleAnimFunction_09: ; cd3ae (33:53ae) - call BattleAnim_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two -.zero - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $0 - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $f - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a -.one - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - and a - jr z, .done_one - dec [hl] - ret - -.done_one - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - swap a - and $f - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld a, [hl] - xor $ff - inc a - ld [hl], a - ret - -.two - call DeinitBattleAnimation - ret - -BattleAnimFunction_0A: ; cd3f2 (33:53f2) - call BattleAnim_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - dw .three - dw .four - dw .five - dw .six - dw .seven - dw .eight - dw .nine -.zero - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX - add hl, bc - ld [hl], a - cp $7 - jr z, .seven - ld a, BATTLEANIMFRAMESET_11 - call ReinitBattleAnimFrameset - ret - -.seven - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $88 - jr nc, .set_up_eight - add $2 - ld [hl], a - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - dec [hl] - ret - -.set_up_eight - call BattleAnim_IncAnonJumptableIndex - ld a, BATTLEANIMFRAMESET_10 - call ReinitBattleAnimFrameset -.eight - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - ld d, $10 - push af - push de - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop de - pop af - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - inc [hl] - ret - -.nine - call DeinitBattleAnimation - ret - -.one - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - dec [hl] - ret - -.four - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - inc [hl] -.two - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - dec [hl] - ret - -.five - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - inc [hl] -.three - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - inc [hl] -.six - ret - -BattleAnimFunction_RazorLeaf: ; cd478 (33:5478) - call BattleAnim_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - dw .three - dw .four - dw .five - dw .six - dw .seven - dw .eight -.zero - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $40 -.one - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - cp $30 - jr nc, .sine_cosine - call BattleAnim_IncAnonJumptableIndex - xor a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hli], a - ld [hl], a - ld a, BATTLEANIMFRAMESET_17 - call ReinitBattleAnimFrameset - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - bit 6, [hl] - ret z - ld hl, BATTLEANIMSTRUCT_FRAME - add hl, bc - ld [hl], $5 - ret - -.sine_cosine - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $3f - ld d, a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - dec [hl] - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - call Functioncd557 - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld h, [hl] - ld l, a - add hl, de - ld e, l - ld d, h - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld [hl], d - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld [hl], e - ret - -.two - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld a, [hl] - cp $20 - jr nz, .sine_cosine_2 - call DeinitBattleAnimation - ret - -.sine_cosine_2 - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - ld d, $10 - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - bit 6, [hl] - jr nz, .decrease - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - inc [hl] - jr .finish - -.decrease - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - dec [hl] -.finish - ld de, $80 - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld h, [hl] - ld l, a - add hl, de - ld e, l - ld d, h - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], d - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld [hl], e - ret - -.three - ld a, BATTLEANIMFRAMESET_16 - call ReinitBattleAnimFrameset - ld hl, BATTLEANIMSTRUCT_01 - add hl, bc - res 5, [hl] -.four -.five -.six -.seven - call BattleAnim_IncAnonJumptableIndex - ret - -.eight - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $c0 - ret nc - ld a, $8 - call Functionce70a - ret - -Functioncd557: ; cd557 (33:5557) - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - bit 7, a - jr nz, .negative - cp $20 - jr nc, .plus_256 - cp $18 - jr nc, .plus_384 - ld de, $200 - ret - -.plus_384 - ld de, $180 - ret - -.plus_256 - ld de, $100 - ret - -.negative - and $3f - cp $20 - jr nc, .minus_256 - cp $18 - jr nc, .minus_384 - ld de, -$200 - ret - -.minus_384 - ld de, -$180 - ret - -.minus_256 - ld de, -$100 - ret - -BattleAnimFunction_4E: ; cd58a (33:558a) - call BattleAnim_AnonJumptable -.anon_dw - dw .zero - dw .one -.zero - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $40 - rlca - rlca - add $19 - ld hl, BATTLEANIMSTRUCT_FRAMESET_ID - add hl, bc - ld [hl], a - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $40 -.one - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - cp $30 - jr nc, .sine_cosine - call DeinitBattleAnimation - ret - -.sine_cosine - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $3f - ld d, a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - dec [hl] - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - call Functioncd557 - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld h, [hl] - ld l, a - add hl, de - ld e, l - ld d, h - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld [hl], d - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld [hl], e - ret - -BattleAnimFunction_0C: ; cd5e9 (33:55e9) - call BattleAnim_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two -.zero - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $c -.one - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - and a - jr z, .next - dec [hl] - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - call Functionce70a - ret - -.next - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $0 - ld a, BATTLEANIMFRAMESET_22 - call ReinitBattleAnimFrameset -.two - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $98 - jr nc, .okay - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld h, [hl] - ld l, a - ld de, $60 - add hl, de - ld e, l - ld d, h - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], e - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld [hl], d -.okay - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - ld a, [hl] - cp $20 - ret c - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $f0 - ld e, a - ld d, $ff - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - ld h, [hl] - ld l, a - add hl, de - ld e, l - ld d, h - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld [hl], e - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - ld [hl], d - ret - -BattleAnimFunction_0D: ; cd66a (33:566a) - call BattleAnim_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - dw .three - dw .four -.zero - call BattleAnim_IncAnonJumptableIndex - ld a, rSCY - $ff00 - ld [hLCDCPointer], a - ld a, $58 - ld [hLYOverrideStart], a - ld a, $5e - ld [hLYOverrideEnd], a - ret - -.one - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld e, [hl] - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - ld a, [hl] - cp e - jr nc, .asm_cd69b - call BattleAnim_IncAnonJumptableIndex - xor a - ld [hLYOverrideStart], a - ret - -.asm_cd69b - dec a - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - ld d, $10 - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - add [hl] - sub $10 - ret c - ld [hLYOverrideStart], a - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld a, [hl] - inc a - and $7 - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - inc [hl] - inc [hl] -.two - ret - -.three - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - ld a, [hl] - cp $70 - jr c, asm_cd6da - xor a - ld [hLCDCPointer], a - ld [hLYOverrideStart], a - ld [hLYOverrideEnd], a -.four - call DeinitBattleAnimation - ret - -asm_cd6da: ; cd6da (33:56da) - inc a - inc a - ld [hl], a - sub $10 - ret c - ld [hLYOverrideStart], a - ret - -BattleAnimFunction_0E: ; cd6e3 (33:56e3) - call BattleAnim_AnonJumptable -.anon_dw - dw Functioncd6ea - dw Functioncd6f7 -Functioncd6ea: ; cd6ea (33:56ea) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, BATTLEANIMFRAMESET_24 - add [hl] ; offset - call ReinitBattleAnimFrameset -Functioncd6f7: ; cd6f7 (33:56f7) - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $b8 - jr c, .asm_cd704 - call DeinitBattleAnimation - ret - -.asm_cd704 - ld a, $2 - call Functionce70a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - dec [hl] - ld d, $8 - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ret - -BattleAnimFunction_0F: ; cd71a (33:571a) - call BattleAnim_AnonJumptable -.anon_dw - dw Functioncd725 - dw Functioncd728 - dw Functioncd763 - dw Functioncd776 -Functioncd725: ; cd725 (33:5725) - call BattleAnim_IncAnonJumptableIndex -Functioncd728: ; cd728 (33:5728) - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - ld a, [hl] - cp $30 - jr c, .asm_cd747 - ld a, $2 - call Functionce70a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - dec [hl] - ld d, $8 - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ret - -.asm_cd747 - call BattleAnim_IncAnonJumptableIndex - ld a, BATTLEANIMFRAMESET_28 - call ReinitBattleAnimFrameset - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], $0 - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - ld [hl], $30 - ld hl, BATTLEANIMSTRUCT_01 - add hl, bc - ld a, [hl] - and $1 - ld [hl], a -Functioncd763: ; cd763 (33:5763) - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld a, [hl] - cp $18 - jr nc, .asm_cd76e - inc [hl] - ret - -.asm_cd76e - call BattleAnim_IncAnonJumptableIndex - ld a, BATTLEANIMFRAMESET_29 - call ReinitBattleAnimFrameset -Functioncd776: ; cd776 (33:5776) - ret - -BattleAnimFunction_11: ; cd777 (33:5777) - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld a, [hl] - cp $38 - jr c, .asm_cd784 - call DeinitBattleAnimation - ret - -.asm_cd784 - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld l, [hl] - ld h, a - ld de, $80 - add hl, de - ld e, l - ld d, h - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], e - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], d - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld a, [hl] - xor $10 - ld [hl], a - ret - -BattleAnimFunction_14: ; cd7a4 (33:57a4) - call BattleAnim_AnonJumptable -.anon_dw - dw Functioncd7ab - dw Functioncd7d2 -Functioncd7ab: ; cd7ab (33:57ab) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $f0 - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $f - sla a - sla a - sla a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld [hl], $1 -Functioncd7d2: ; cd7d2 (33:57d2) - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - and a - jr nz, .asm_cd7de - call DeinitBattleAnimation - ret - -.asm_cd7de - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - inc [hl] - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld d, [hl] - push af - push de - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop de - pop af - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - xor $1 - ld [hl], a - ret z - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - dec [hl] - ret - -BattleAnimFunction_15: ; cd80c (33:580c) - call BattleAnim_AnonJumptable -.anon_dw - dw Functioncd81f - dw Functioncd817 - dw Functioncd81f - dw Functioncd820 -Functioncd817: ; cd817 (33:5817) - call BattleAnim_IncAnonJumptableIndex - ld a, BATTLEANIMFRAMESET_35 - call ReinitBattleAnimFrameset -Functioncd81f: ; cd81f (33:581f) - ret - -Functioncd820: ; cd820 (33:5820) - call DeinitBattleAnimation - ret - -BattleAnimFunction_16: ; cd824 (33:5824) - call BattleAnim_AnonJumptable -.anon_dw - dw Functioncd835 - dw Functioncd860 - dw Functioncd88f - dw Functioncd88f - dw Functioncd88f - dw Functioncd88f - dw Functioncd893 -Functioncd835: ; cd835 (33:5835) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_FRAMESET_ID - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - bit 7, [hl] - jr nz, .asm_cd852 - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $10 - jr .asm_cd858 - -.asm_cd852 - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $30 -.asm_cd858 - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $7f - ld [hl], a -Functioncd860: ; cd860 (33:5860) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld d, [hl] - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - bit 7, a - jr nz, .load_no_inc - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - inc a - jr .reinit - -.load_no_inc - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] -.reinit - call ReinitBattleAnimFrameset - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - inc [hl] - ld a, [hl] - and $1f - ret nz -Functioncd88f: ; cd88f (33:588f) - call BattleAnim_IncAnonJumptableIndex - ret - -Functioncd893: ; cd893 (33:5893) - ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX - add hl, bc - ld [hl], $1 - ret - -BattleAnimFunction_17: ; cd89a (33:589a) - call BattleAnim_AnonJumptable -.anon_dw - dw Functioncd8ab - dw Functioncd8cc - dw Functioncd8f5 - dw Functioncd8f5 - dw Functioncd8f5 - dw Functioncd8f5 - dw Functioncd8f9 -Functioncd8ab: ; cd8ab (33:58ab) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - bit 7, [hl] - jr nz, .asm_cd8be - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $10 - jr .asm_cd8c4 - -.asm_cd8be - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $30 -.asm_cd8c4 - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $7f - ld [hl], a -Functioncd8cc: ; cd8cc (33:58cc) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld d, [hl] - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - bit 7, a - jr nz, .asm_cd8e6 - ld a, $3d - jr .asm_cd8e8 - -.asm_cd8e6 - ld a, $3c -.asm_cd8e8 - call ReinitBattleAnimFrameset - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - inc [hl] - inc [hl] - ld a, [hl] - and $1f - ret nz -Functioncd8f5: ; cd8f5 (33:58f5) - call BattleAnim_IncAnonJumptableIndex - ret - -Functioncd8f9: ; cd8f9 (33:58f9) - ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX - add hl, bc - ld [hl], $1 - ret - -BattleAnimFunction_18: ; cd900 (33:5900) - call BattleAnim_AnonJumptable -.anon_dw - dw Functioncd907 - dw Functioncd913 -Functioncd907: ; cd907 (33:5907) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $28 - inc hl - ld [hl], $0 -Functioncd913: ; cd913 (33:5913) - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld d, [hl] - push af - push de - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop de - pop af - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - and a - jr z, .asm_cd950 - ld d, a - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld e, [hl] - ld hl, hPushOAM ; $ff80 - add hl, de - ld e, l - ld d, h - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld [hl], e - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], d - ret - -.asm_cd950 - call DeinitBattleAnimation - ret - -BattleAnimFunction_19: ; cd954 (33:5954) - call BattleAnim_AnonJumptable -.anon_dw - dw Functioncd961 - dw Functioncd96a - dw Functioncd96e - dw Functioncd96a - dw Functioncd97b -Functioncd961: ; cd961 (33:5961) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld [hl], $0 -Functioncd96a: ; cd96a (33:596a) - call Functioncd99a - ret - -Functioncd96e: ; cd96e (33:596e) - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $88 - jr c, asm_cd988 - call BattleAnim_IncAnonJumptableIndex - ret - -Functioncd97b: ; cd97b (33:597b) - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $b8 - jr c, asm_cd988 - call DeinitBattleAnimation - ret - -asm_cd988: ; cd988 (33:5988) - call Functioncd99a - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - inc [hl] - ld a, [hl] - and $1 - ret nz - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - dec [hl] - ret - -Functioncd99a: ; cd99a (33:599a) - call Functioncd9f4 - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - push af - push de - call BattleAnim_Sine - sra a - sra a - sra a - sra a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - add [hl] - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop de - pop af - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - sub $8 - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and a - jr z, .asm_cd9d7 - cp $c2 - jr c, .asm_cd9e2 -.asm_cd9d7 - dec a - ld [hl], a - and $7 - ret nz - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - inc [hl] - ret - -.asm_cd9e2 - xor a - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hli], a - ld [hl], a - ret - -Functioncd9f4: ; cd9f4 (33:59f4) - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld e, [hl] - ld d, 0 - ld hl, Unknown_cda01 - add hl, de - ld d, [hl] - ret - -; cda01 (33:5a01) -Unknown_cda01: ; cda01 - db 8, 6, 5, 4, 5, 6, 8, 12, 16 -; cda0a -BattleAnimFunction_1C: ; cda0a (33:5a0a) - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $30 - jr nc, .asm_cda17 - call DeinitBattleAnimation - ret - -.asm_cda17 - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $f - ld e, a - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - sub e - ld [hl], a - srl e - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc -.asm_cda2c - inc [hl] - dec e - jr nz, .asm_cda2c - ret - -BattleAnimFunction_1F: ; cda31 (33:5a31) - call BattleAnim_AnonJumptable -.anon_dw - dw Functioncda4c - dw Functioncda3a - dw Functioncda4c -Functioncda3a: ; cda3a (33:5a3a) - ld hl, BATTLEANIMSTRUCT_FRAMESET_ID - add hl, bc - ld a, [hl] - inc a - call ReinitBattleAnimFrameset - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $8 -Functioncda4c: ; cda4c (33:5a4c) - ret - -BattleAnimFunction_LeechSeed: ; cda4d (33:5a4d) - call BattleAnim_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - dw .three -.zero: ; cda58 (33:5a58) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld [hl], $40 - ret - -.one: ; cda62 (33:5a62) - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - cp $20 - jr c, .sprout - call Functioncda8d - ret - -.sprout - ld [hl], $40 - ld a, BATTLEANIMFRAMESET_57 - call ReinitBattleAnimFrameset - call BattleAnim_IncAnonJumptableIndex - ret - -.two: ; cda7a (33:5a7a) - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - and a - jr z, .flutter - dec [hl] - ret - -.flutter - call BattleAnim_IncAnonJumptableIndex - ld a, BATTLEANIMFRAMESET_58 - call ReinitBattleAnimFrameset -.three: ; cda8c (33:5a8c) - ret - -Functioncda8d: ; cda8d (33:5a8d) - dec [hl] - ld d, $20 - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_02 - add hl, bc - ld a, [hl] - add $2 - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld e, [hl] - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld d, [hl] - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld h, [hl] - ld a, h - and $f - swap a - ld l, a - ld a, h - and $f0 - swap a - ld h, a - add hl, de - ld e, l - ld d, h - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], e - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld [hl], d - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - and $1 - ret nz - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - dec [hl] - ret - -BattleAnimFunction_3F: ; cdad6 (33:5ad6) - call BattleAnim_AnonJumptable -.anon_dw - dw Functioncdadf - dw Functioncdae9 - dw Functioncdaf9 -Functioncdadf: ; cdadf (33:5adf) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld [hl], $40 - ret - -Functioncdae9: ; cdae9 (33:5ae9) - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - cp $20 - jr c, .asm_cdaf6 - call Functioncda8d - ret - -.asm_cdaf6 - call BattleAnim_IncAnonJumptableIndex -Functioncdaf9: ; cdaf9 (33:5af9) - ret - -BattleAnimFunction_1A: ; cdafa (33:5afa) - call BattleAnimFunction_03 - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - add $f - ld [hl], a - ret - -BattleAnimFunction_1B: ; cdb06 (33:5b06) - call BattleAnim_AnonJumptable -.anon_dw - dw Functioncdb13 - dw Functioncdb14 - dw Functioncdb28 - dw Functioncdb50 - dw Functioncdb65 -Functioncdb13: ; cdb13 (33:5b13) - ret - -Functioncdb14: ; cdb14 (33:5b14) - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - ld a, [hl] - cp $30 - jr c, .asm_cdb24 - ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX - add hl, bc - ld [hl], $0 - ret - -.asm_cdb24 - add $4 - ld [hl], a - ret - -Functioncdb28: ; cdb28 (33:5b28) - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $98 - ret nc - inc [hl] - inc [hl] - ld hl, BATTLEANIMSTRUCT_01 - add hl, bc - set 0, [hl] - ld hl, BATTLEANIMSTRUCT_02 - add hl, bc - ld [hl], $90 - ld hl, BATTLEANIMSTRUCT_FRAME - add hl, bc - ld [hl], $0 - ld hl, BATTLEANIMSTRUCT_DURATION - add hl, bc - ld [hl], $2 - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - dec [hl] - ret - -Functioncdb50: ; cdb50 (33:5b50) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $2c - ld hl, BATTLEANIMSTRUCT_FRAME - add hl, bc - ld [hl], $0 - ld hl, BATTLEANIMSTRUCT_DURATION - add hl, bc - ld [hl], $80 -Functioncdb65: ; cdb65 (33:5b65) - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $98 - ret nc - inc [hl] - inc [hl] - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - inc [hl] - ld d, $8 - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ret - -BattleAnimFunction_1D: ; cdb80 (33:5b80) - call BattleAnim_AnonJumptable -.anon_dw - dw Functioncdb9f - dw Functioncdbb3 - dw Functioncdbcf - dw Functioncdbeb - dw Functioncdc74 - dw Functioncdc1a - dw Functioncdbc1 - dw Functioncdc1e - dw Functioncdc27 - dw Functioncdc39 - dw Functioncdc74 - dw Functioncdc48 - dw Functioncdc57 - dw Functioncdc74 -Functioncdb9f: ; cdb9f (33:5b9f) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $28 - inc hl - ld [hl], $10 - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX - add hl, bc - ld [hl], a - ret - -Functioncdbb3: ; cdbb3 (33:5bb3) - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $40 - jr nc, .asm_cdbbd - inc [hl] -.asm_cdbbd - call Functioncdc75 - ret - -Functioncdbc1: ; cdbc1 (33:5bc1) - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $4b - jr nc, .asm_cdbcb - inc [hl] -.asm_cdbcb - call Functioncdc75 - ret - -Functioncdbcf: ; cdbcf (33:5bcf) - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $88 - jr nc, .asm_cdbe6 - and $f - jr nz, asm_cdbfa - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld [hl], $10 - call BattleAnim_IncAnonJumptableIndex - ret - -.asm_cdbe6 - call BattleAnim_IncAnonJumptableIndex - inc [hl] - ret - -Functioncdbeb: ; cdbeb (33:5beb) - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - and a - jr z, .asm_cdbf5 - dec [hl] - ret - -.asm_cdbf5 - ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX - add hl, bc - dec [hl] -asm_cdbfa: ; cdbfa (33:5bfa) - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - inc [hl] - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - ld d, [hl] - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld e, [hl] - ld hl, hPushOAM ; $ff80 - add hl, de - ld e, l - ld d, h - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - ld [hl], d - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], e - ret - -Functioncdc1a: ; cdc1a (33:5c1a) - call DeinitBattleAnimation - ret - -Functioncdc1e: ; cdc1e (33:5c1e) - ld a, BATTLEANIMFRAMESET_4E - call ReinitBattleAnimFrameset - call BattleAnim_IncAnonJumptableIndex - ret - -Functioncdc27: ; cdc27 (33:5c27) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - inc [hl] - inc [hl] - ld d, $2 - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ret - -Functioncdc39: ; cdc39 (33:5c39) - ld a, BATTLEANIMFRAMESET_50 - call ReinitBattleAnimFrameset - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], $4 - call BattleAnim_IncAnonJumptableIndex - ret - -Functioncdc48: ; cdc48 (33:5c48) - ld a, BATTLEANIMFRAMESET_4F - call ReinitBattleAnimFrameset - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $40 - ret - -Functioncdc57: ; cdc57 (33:5c57) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - ld d, $20 - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - cp $30 - jr c, .asm_cdc71 - dec [hl] - ret - -.asm_cdc71 - call BattleAnim_IncAnonJumptableIndex -Functioncdc74: ; cdc74 (33:5c74) - ret - -Functioncdc75: ; cdc75 (33:5c75) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hli] - ld d, [hl] - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - inc [hl] - ld a, [hl] - and $3f - ret nz - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $20 - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - sub $8 - ld [hl], a - ret nz - xor a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hli], a - ld [hl], a - call BattleAnim_IncAnonJumptableIndex - ret - -BattleAnimFunction_1E: ; cdca6 (33:5ca6) - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld a, [hl] - and a - jr z, .asm_cdcb6 - cp $d8 - jr nc, .asm_cdcb6 - call DeinitBattleAnimation - ret - -.asm_cdcb6 - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld d, [hl] - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld a, [hl] - sub d - ld [hl], a - ret - -BattleAnimFunction_21: ; cdcc3 (33:5cc3) - call BattleAnim_AnonJumptable -.anon_dw - dw Functioncdcca - dw Functioncdced -Functioncdcca: ; cdcca (33:5cca) - ld a, [hBattleTurn] - and a - jr z, .asm_cdcd9 - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - xor $ff - add $3 - ld [hl], a -.asm_cdcd9 - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $8 - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, BATTLEANIMFRAMESET_59 - add [hl] - call ReinitBattleAnimFrameset - ret - -Functioncdced: ; cdced (33:5ced) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - and a - jr z, .asm_cdcfa - dec [hl] - call Functioncdcfe - ret - -.asm_cdcfa - call DeinitBattleAnimation - ret - -Functioncdcfe: ; cdcfe (33:5cfe) - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - inc [hl] - inc [hl] - ld d, $10 - call BattleAnim_Sine - ld d, a - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and a - jr z, .asm_cdd20 - dec a - ret z - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], d - ret - -.asm_cdd20 - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld a, d - xor $ff - inc a - ld [hl], a - ret - -BattleAnimFunction_22: ; cdd2a (33:5d2a) - call BattleAnim_AnonJumptable -.anon_dw - dw Functioncdd31 - dw Functioncdd4f -Functioncdd31: ; cdd31 (33:5d31) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $3f - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $80 - rlca - ld [hl], a - add BATTLEANIMFRAMESET_5D - call ReinitBattleAnimFrameset - ret - -Functioncdd4f: ; cdd4f (33:5d4f) - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - swap a - ld d, a - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - inc [hl] - push af - push de - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop de - pop af - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $80 - ret nc - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - and $3 - jr nz, .asm_cdd87 - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - dec [hl] -.asm_cdd87 - and $1 - ret nz - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - inc [hl] - ret - -BattleAnimFunction_23: ; cdd90 (33:5d90) - call BattleAnim_AnonJumptable -.anon_dw - dw Functioncdd97 - dw Functioncddbc -Functioncdd97: ; cdd97 (33:5d97) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_FRAMESET_ID - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $80 - rlca - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - add [hl] - call ReinitBattleAnimFrameset - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $7f - ld [hl], a -Functioncddbc: ; cddbc (33:5dbc) - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - ld d, $10 - push af - push de - call BattleAnim_Sine - sra a - sra a - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop de - pop af - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - inc [hl] - and $3f - jr z, .asm_cddf0 - and $1f - ret nz - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - inc a - jr .asm_cddf5 - -.asm_cddf0 - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] -.asm_cddf5 - call ReinitBattleAnimFrameset - ret - -BattleAnimFunction_24: ; cddf9 (33:5df9) - call BattleAnim_AnonJumptable -.anon_dw - dw Functioncde02 - dw Functioncde20 - dw Functioncde21 -Functioncde02: ; cde02 (33:5e02) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - add BATTLEANIMFRAMESET_63 - call ReinitBattleAnimFrameset - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld e, [hl] - ld d, 0 - ld hl, Unknown_cde25 - add hl, de - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a -Functioncde20: ; cde20 (33:5e20) - ret - -Functioncde21: ; cde21 (33:5e21) - call DeinitBattleAnimation - ret - -; cde25 (33:5e25) -Unknown_cde25: ; cde25 - db $ec, $f8, $00 -; cde28 -BattleAnimFunction_25: ; cde28 (33:5e28) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - inc [hl] - inc [hl] - ld d, $4 - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld d, [hl] - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld e, [hl] - ld hl, $ffa0 - add hl, de - ld e, l - ld d, h - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], d - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld [hl], e - ret - -BattleAnimFunction_26: ; cde54 (33:5e54) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - dec [hl] - dec [hl] - ld d, $10 - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - inc [hl] - ret - -BattleAnimFunction_27: ; cde6b (33:5e6b) - call BattleAnim_AnonJumptable -.anon_dw - dw Functioncde72 - dw Functioncde88 -Functioncde72: ; cde72 (33:5e72) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and a - jr nz, .asm_cde83 - ld hl, BATTLEANIMSTRUCT_01 - add hl, bc - set 6, [hl] -.asm_cde83 - add BATTLEANIMFRAMESET_6A - call ReinitBattleAnimFrameset -Functioncde88: ; cde88 (33:5e88) - ret - -BattleAnimFunction_28: ; cde89 (33:5e89) - call BattleAnim_AnonJumptable -.anon_dw - dw Functioncde90 - dw Functioncdebf -Functioncde90: ; cde90 (33:5e90) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $0 - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld e, [hl] - ld a, e - and $70 - swap a - ld [hl], a - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld a, e - and $80 - jr nz, .asm_cdeb2 - ld a, e - and $f - ld [hl], a - ret - -.asm_cdeb2 - ld a, e - and $f - xor $ff - inc a - ld [hl], a - ld a, BATTLEANIMFRAMESET_6E - call ReinitBattleAnimFrameset - ret - -Functioncdebf: ; cdebf (33:5ebf) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - and a - jr z, .asm_cdec9 - dec [hl] - ret - -.asm_cdec9 - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld a, [hl] - xor $ff - inc a - ld [hl], a - ret - -BattleAnimFunction_SpiralDescent: ; cdedd (33:5edd) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - ld d, $18 - push af - push de - call BattleAnim_Sine - sra a - sra a - sra a - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - add [hl] - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop de - pop af - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - inc [hl] - ld a, [hl] - and $7 - ret nz - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - cp $28 - jr nc, .delete - inc [hl] - ret - -.delete - call DeinitBattleAnimation - ret - -BattleAnimFunction_2D: ; cdf1b (33:5f1b) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - ld d, $18 - push af - push de - call BattleAnim_Sine - sra a - sra a - sra a - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - add [hl] - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop de - pop af - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - inc [hl] - ld a, [hl] - and $3 - ret nz - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - cp $28 - jr nc, .asm_cdf55 - inc [hl] - ret - -.asm_cdf55 - call DeinitBattleAnimation - ret - -BattleAnimFunction_PoisonGas: ; cdf59 (33:5f59) - call BattleAnim_AnonJumptable -.anon_dw - dw Functioncdf60 - dw BattleAnimFunction_SpiralDescent -Functioncdf60: ; cdf60 (33:5f60) - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $84 - jr nc, .next - inc [hl] - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - inc [hl] - ld d, $18 - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - and $1 - ret nz - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - dec [hl] - ret - -.next - call BattleAnim_IncAnonJumptableIndex - ret - -BattleAnimFunction_34: ; cdf8c (33:5f8c) - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - ld d, $18 - push af - push de - call BattleAnim_Sine - sra a - sra a - sra a - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - add [hl] - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop de - pop af - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - inc [hl] - inc [hl] - ld a, [hl] - and $7 - ret nz - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - cp $e8 - jr z, .asm_cdfc7 - dec [hl] - ret - -.asm_cdfc7 - call DeinitBattleAnimation - ret - -BattleAnimFunction_3C: ; cdfcb (33:5fcb) - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - ld d, $18 - push af - push de - call BattleAnim_Sine - sra a - sra a - sra a - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - add [hl] - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop de - pop af - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - inc [hl] - inc [hl] - ld a, [hl] - and $3 - ret nz - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - cp $d0 - jr z, .asm_ce007 - dec [hl] - dec [hl] - ret - -.asm_ce007 - call DeinitBattleAnimation - ret - -BattleAnimFunction_35: ; ce00b (33:600b) - call BattleAnim_AnonJumptable -.anon_dw - dw Functionce014 - dw Functionce023 - dw Functionce05f -Functionce014: ; ce014 (33:6014) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $34 - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld [hl], $10 -Functionce023: ; ce023 (33:6023) - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $6c - jr c, .asm_ce02d - ret - -.asm_ce02d - ld a, $2 - call Functionce70a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld d, [hl] - call BattleAnim_Sine - bit 7, a - jr nz, .asm_ce046 - xor $ff - inc a -.asm_ce046 - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - sub $4 - ld [hl], a - and $1f - cp $20 - ret nz - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - srl [hl] - ret - -Functionce05f: ; ce05f (33:605f) - call DeinitBattleAnimation - ret - -BattleAnimFunction_Horn: ; ce063 (33:6063) - call BattleAnim_AnonJumptable -.anon_dw - dw .zero - dw .one - dw .two - dw Functionce09e -.zero: ; ce06e (33:606e) - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], a - ret - -.one: ; ce083 (33:6083) - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $58 - ret nc - ld a, $2 - call Functionce70a - ret - -.two: ; ce091 (33:6091) - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - cp $20 - jr c, Functionce09e - call DeinitBattleAnimation - ret - -Functionce09e: ; ce09e (33:609e) - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - ld d, $8 - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - sra a - xor $ff - inc a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - add [hl] - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - add $8 - ld [hl], a - ret - -BattleAnimFunction_2C: ; ce0c5 (33:60c5) - call BattleAnim_AnonJumptable -.anon_dw - dw Functionce0ce - dw Functionce0f8 - dw Functionce0dd -Functionce0ce: ; ce0ce (33:60ce) - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $f0 - swap a - ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX - add hl, bc - ld [hl], a - ret - -Functionce0dd: ; ce0dd (33:60dd) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - ld d, $10 - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - bit 7, a - jr z, .asm_ce0f0 - ld [hl], a -.asm_ce0f0 - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - sub $4 - ld [hl], a -Functionce0f8: ; ce0f8 (33:60f8) - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $84 - jr c, .asm_ce105 - call DeinitBattleAnimation - ret - -.asm_ce105 - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - call Functionce70a - ret - -BattleAnimFunction_2E: ; ce10e (33:610e) - call BattleAnim_AnonJumptable -.anon_dw - dw Functionce115 - dw Functionce12a -Functionce115: ; ce115 (33:6115) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $28 - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - ld a, [hl] - sub $28 - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld [hl], a -Functionce12a: ; ce12a (33:612a) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hli] - ld d, [hl] - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - and [hl] - jr nz, .asm_ce149 - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - dec [hl] -.asm_ce149 - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - inc [hl] - ld a, [hl] - and $3f - ret nz - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $20 - inc hl - srl [hl] - ret - -BattleAnimFunction_2F: ; ce15c (33:615c) - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld d, [hl] - push af - push de - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop de - pop af - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - inc [hl] - ld a, [hl] - and $1 - jr nz, .asm_ce189 - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - dec [hl] -.asm_ce189 - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $3 - jr nz, .asm_ce197 - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - inc [hl] -.asm_ce197 - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - cp $5a - jr nc, .asm_ce1aa - ld a, [hl] - and a - jr z, .asm_ce1ac - dec [hl] - ret - -.asm_ce1aa - inc [hl] - ret - -.asm_ce1ac - call DeinitBattleAnimation - ret - -BattleAnimFunction_42: ; ce1b0 (33:61b0) - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - inc [hl] - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld d, [hl] - push af - push de - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop de - pop af - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - inc [hl] - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - cp $40 - jr nc, .asm_ce1df - inc [hl] - ret - -.asm_ce1df - ld a, [hl] - dec [hl] - and a - ret nz - call DeinitBattleAnimation - ret - -BattleAnimFunction_30: ; ce1e7 (33:61e7) - call BattleAnim_AnonJumptable -.anon_dw - dw Functionce1ee - dw Functionce1fb -Functionce1ee: ; ce1ee (33:61ee) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld [hl], a -Functionce1fb: ; ce1fb (33:61fb) - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - ld d, $30 - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - add [hl] - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - add $8 - ld d, $30 - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - inc [hl] - ret - -BattleAnimFunction_31: ; ce226 (33:6226) - call BattleAnim_AnonJumptable -.anon_dw - dw Functionce22d - dw Functionce254 -Functionce22d: ; ce22d (33:622d) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - ld d, $10 - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - ld d, $10 - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld [hl], $f -Functionce254: ; ce254 (33:6254) - ret - -BattleAnimFunction_32: ; ce255 (33:6255) - call BattleAnim_AnonJumptable -.anon_dw - dw Functionce260 - dw Functionce274 - dw Functionce278 - dw Functionce289 -Functionce260: ; ce260 (33:6260) - call BattleAnim_IncAnonJumptableIndex - ld a, [hBattleTurn] - and a - jr nz, .asm_ce26c - ld a, $f0 - jr .asm_ce26e - -.asm_ce26c - ld a, $cc -.asm_ce26e - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], a - ret - -Functionce274: ; ce274 (33:6274) - call Functionce29f - ret - -Functionce278: ; ce278 (33:6278) - call Functionce29f - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $84 - ret nc - ld a, $4 - call Functionce70a - ret - -Functionce289: ; ce289 (33:6289) - call Functionce29f - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $d0 - jr nc, .asm_ce29b - ld a, $4 - call Functionce70a - ret - -.asm_ce29b - call DeinitBattleAnimation - ret - -Functionce29f: ; ce29f (33:629f) - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - and $7 - inc [hl] - srl a - ld e, a - ld d, $0 - ld a, [hSGB] - and a - jr nz, .asm_ce2b6 - ld hl, Unknown_ce2c4 - jr .asm_ce2b9 - -.asm_ce2b6 - ld hl, Unknown_ce2c8 -.asm_ce2b9 - add hl, de - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - and [hl] - ld [wOBP0], a - ret - -; ce2c4 (33:62c4) -Unknown_ce2c4: ; ce2c4 - db $ff, $aa, $55, $aa -Unknown_ce2c8: ; ce2c8 - db $ff, $ff, $00, $00 -; ce2cc -BattleAnimFunction_33: ; ce2cc (33:62cc) - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - ld d, $18 - call BattleAnim_Sine - sra a - sra a - sra a - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - add [hl] - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - inc [hl] - ld d, $18 - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - dec [hl] - dec [hl] - ret - -BattleAnimFunction_36: ; ce2fd (33:62fd) - call BattleAnim_AnonJumptable -.anon_dw - dw Functionce306 - dw Functionce330 - dw Functionce34c -Functionce306: ; ce306 (33:6306) - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld a, [hl] - cp $e0 - jr nz, .asm_ce319 - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $2 - ret - -.asm_ce319 - ld d, a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld e, [hl] - ld hl, hPushOAM ; $ff80 - add hl, de - ld e, l - ld d, h - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], d - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], e - ret - -Functionce330: ; ce330 (33:6330) - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - and a - jr z, .asm_ce33a - dec [hl] - ret - -.asm_ce33a - ld [hl], $4 - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - xor $ff - inc a - ld [hl], a - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - add [hl] - ld [hl], a - ret - -Functionce34c: ; ce34c (33:634c) - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $84 - jr nc, .asm_ce35b - ld a, $4 - call Functionce70a - ret - -.asm_ce35b - call DeinitBattleAnimation - ret - -BattleAnimFunction_37: ; ce35f (33:635f) - call BattleAnim_AnonJumptable -.anon_dw - dw Functionce366 - dw Functionce375 -Functionce366: ; ce366 (33:6366) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $7f - add BATTLEANIMFRAMESET_81 - call ReinitBattleAnimFrameset -Functionce375: ; ce375 (33:6375) - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - bit 7, [hl] - jr nz, .asm_ce383 - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - inc [hl] - ret - -.asm_ce383 - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - dec [hl] - ret - -BattleAnimFunction_38: ; ce389 (33:6389) - call BattleAnim_AnonJumptable -.anon_dw - dw Functionce392 - dw Functionce39c - dw Functionce3ae -Functionce392: ; ce392 (33:6392) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $c - ret - -Functionce39c: ; ce39c (33:639c) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - and a - jr z, .asm_ce3a6 - dec [hl] - ret - -.asm_ce3a6 - call BattleAnim_IncAnonJumptableIndex - ld a, BATTLEANIMFRAMESET_20 - call ReinitBattleAnimFrameset -Functionce3ae: ; ce3ae (33:63ae) - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - dec [hl] - ret - -BattleAnimFunction_39: ; ce3b4 (33:63b4) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - inc [hl] - inc [hl] - push af - ld d, $2 - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop af - ld d, $8 - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ret - -BattleAnimFunction_3A: ; ce3d2 (33:63d2) - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld a, [hl] - cp $20 - jr c, .asm_ce3df - call DeinitBattleAnimation - ret - -.asm_ce3df - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - ld d, $8 - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - add $2 - ld [hl], a - and $7 - ret nz - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - inc [hl] - ret - -BattleAnimFunction_3B: ; ce3ff (33:63ff) - call BattleAnim_AnonJumptable -.anon_dw - dw Functionce406 - dw Functionce412 -Functionce406: ; ce406 (33:6406) - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - add [hl] - ld [hl], a - ret - -Functionce412: ; ce412 (33:6412) - call DeinitBattleAnimation - ret - -BattleAnimFunction_3D: ; ce416 (33:6416) - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - ld d, $18 - push af - push de - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop de - pop af - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - sra a - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - inc [hl] - ret - -BattleAnimFunction_3E: ; ce43a (33:643a) - call BattleAnim_AnonJumptable -.anon_dw - dw Functionce443 - dw Functionce465 - dw Functionce490 -Functionce443: ; ce443 (33:6443) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $28 - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $f - ld hl, BATTLEANIMSTRUCT_FRAMESET_ID - add hl, bc - add [hl] - call ReinitBattleAnimFrameset - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and $f0 - or $8 - ld [hl], a -Functionce465: ; ce465 (33:6465) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - and a - jr z, .asm_ce48b - dec [hl] - add $8 - ld d, a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - push af - push de - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop de - pop af - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ret - -.asm_ce48b - ld [hl], $10 - call BattleAnim_IncAnonJumptableIndex -Functionce490: ; ce490 (33:6490) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - dec [hl] - and a - ret nz - call DeinitBattleAnimation - ret - -BattleAnimFunction_40: ; ce49c (33:649c) - call BattleAnim_AnonJumptable -.anon_dw - dw Functionce4a3 - dw Functionce4b0 -Functionce4a3: ; ce4a3 (33:64a3) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, BATTLEANIMFRAMESET_24 - add [hl] - call ReinitBattleAnimFrameset -Functionce4b0: ; ce4b0 (33:64b0) - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld a, [hl] - cp $38 - jr nc, .asm_ce4d8 - inc [hl] - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - inc [hl] - ld d, $18 - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - ld a, [hl] - and $1 - ret nz - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - dec [hl] - ret - -.asm_ce4d8 - call DeinitBattleAnimation - ret - -BattleAnimFunction_41: ; ce4dc (33:64dc) - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and a - ret z - ld d, a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - inc [hl] - call BattleAnim_Sine - bit 7, a - jr nz, .asm_ce4f4 - xor $ff - inc a -.asm_ce4f4 - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - and $1f - ret nz - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - srl [hl] - ret - -BattleAnimFunction_43: ; ce508 (33:6508) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - cp $10 - jr nc, .asm_ce52e - inc [hl] - inc [hl] - ld d, a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - push af - push de - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop de - pop af - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ret - -.asm_ce52e - call DeinitBattleAnimation - ret - -BattleAnimFunction_44: ; ce532 (33:6532) - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld e, [hl] - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld d, [hl] - ld a, e - and $c0 - rlca - rlca - add [hl] - ld [hl], a - ld a, e - and $3f - push af - push de - call BattleAnim_Sine - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop de - pop af - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ret - -BattleAnimFunction_45: ; ce55b (33:655b) - call BattleAnim_AnonJumptable -.anon_dw - dw Functionce564 - dw Functionce56e - dw Functionce577 -Functionce564: ; ce564 (33:6564) - ld d, $18 - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - inc [hl] - jr asm_ce58f - -Functionce56e: ; ce56e (33:656e) - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], $18 -Functionce577: ; ce577 (33:6577) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - cp $80 - jr nc, .asm_ce58b - ld d, a - add $8 - ld [hl], a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - jr asm_ce58f - -.asm_ce58b - call DeinitBattleAnimation - ret - -asm_ce58f: ; ce58f (33:658f) - call Functionce6f1 - ret - -BattleAnimFunction_46: ; ce593 (33:6593) - call BattleAnim_AnonJumptable -.anon_dw - dw Functionce5b3 - dw Functionce59a -Functionce59a: ; ce59a (33:659a) - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld a, [hl] - cp $30 - jr c, .asm_ce5b0 - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - dec [hl] - dec [hl] - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc - inc [hl] - inc [hl] - ret - -.asm_ce5b0 - call DeinitBattleAnimation -Functionce5b3: ; ce5b3 (33:65b3) - ret - -BattleAnimFunction_47: ; ce5b4 (33:65b4) - ld d, $50 - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - inc [hl] - inc [hl] - push af - push de - call BattleAnim_Sine - sra a - sra a - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - add [hl] - inc [hl] - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop de - pop af - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ret - -BattleAnimFunction_48: ; ce5dc (33:65dc) - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld a, [hl] - cp $d0 - jr z, .disappear - dec [hl] - dec [hl] - dec [hl] - dec [hl] - ret - -.disappear - call DeinitBattleAnimation - ret - -BattleAnimFunction_49: ; ce5ee (33:65ee) - call BattleAnim_AnonJumptable -.anon_dw - dw Functionce5f9 - dw Functionce60a - dw Functionce622 - dw Functionce618 -Functionce5f9: ; ce5f9 (33:65f9) - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - and a - jr nz, asm_ce61c - call BattleAnim_IncAnonJumptableIndex - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], $ec -Functionce60a: ; ce60a (33:660a) - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld a, [hl] - cp $4 - jr z, Functionce618 - inc [hl] - inc [hl] - inc [hl] - inc [hl] - ret - -Functionce618: ; ce618 (33:6618) - call DeinitBattleAnimation - ret - -asm_ce61c: ; ce61c (33:661c) - call BattleAnim_IncAnonJumptableIndex - call BattleAnim_IncAnonJumptableIndex -Functionce622: ; ce622 (33:6622) - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld a, [hl] - cp $d8 - ret z - dec [hl] - dec [hl] - dec [hl] - dec [hl] - ret - -BattleAnimFunction_4A: ; ce62f (33:662f) - call BattleAnim_AnonJumptable -.anon_dw - dw Functionce63a - dw Functionce648 - dw Functionce65c - dw Functionce672 -Functionce63a: ; ce63a (33:663a) - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX - add hl, bc - ld [hl], a - call BattleAnim_IncAnonJumptableIndex - ret - -Functionce648: ; ce648 (33:6648) - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld a, [hl] - add $4 - cp $70 - jr c, .asm_ce654 - xor a -.asm_ce654 - ld [hl], a - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - inc [hl] - inc [hl] - ret - -Functionce65c: ; ce65c (33:665c) - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld a, [hl] - add $4 - cp $70 - jr c, .asm_ce668 - xor a -.asm_ce668 - ld [hl], a - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld a, [hl] - add $8 - ld [hl], a - ret - -Functionce672: ; ce672 (33:6672) - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld a, [hl] - add $4 - cp $70 - jr c, .asm_ce67e - xor a -.asm_ce67e - ld [hl], a - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld a, [hl] - add $4 - ld [hl], a - ret - -BattleAnimFunction_4B: ; ce688 (33:6688) - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld d, [hl] - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld e, [hl] - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - ld l, a - and $f0 - ld h, a - swap a - or h - ld h, a - ld a, l - and $f - swap a - ld l, a - add hl, de - ld e, l - ld d, h - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - ld [hl], d - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld [hl], e - ret - -BattleAnimFunction_4C: ; ce6b3 (33:66b3) - ld d, $18 - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld a, [hl] - inc [hl] - call Functionce6f1 - ret - -BattleAnimFunction_4F: ; ce6bf (33:66bf) - ld d, $18 - ld hl, BATTLEANIMSTRUCT_10 - add hl, bc - ld a, [hl] - inc [hl] - srl a - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - add [hl] - call Functionce6f1 - ret - -BattleAnimFunction_4D: ; ce6d2 (33:66d2) - ld hl, BATTLEANIMSTRUCT_0F - add hl, bc - ld a, [hl] - cp $20 - jr nc, .asm_ce6ed - inc [hl] - ld hl, BATTLEANIMSTRUCT_0B - add hl, bc - ld d, [hl] - call BattleAnim_Sine - xor $ff - inc a - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - ret - -.asm_ce6ed - call DeinitBattleAnimation - ret - -Functionce6f1: ; ce6f1 (33:66f1) - push af - push de - call BattleAnim_Sine - sra a - sra a - ld hl, BATTLEANIMSTRUCT_YOFFSET - add hl, bc - ld [hl], a - pop de - pop af - call BattleAnim_Cosine - ld hl, BATTLEANIMSTRUCT_XOFFSET - add hl, bc - ld [hl], a - ret - -Functionce70a: ; ce70a (33:670a) - and $f - ld e, a - ld hl, BATTLEANIMSTRUCT_XCOORD - add hl, bc - add [hl] - ld [hl], a - srl e - ld hl, BATTLEANIMSTRUCT_YCOORD - add hl, bc -.asm_ce719 - dec [hl] - dec e - jr nz, .asm_ce719 - ret - -BattleAnim_AnonJumptable: ; ce71e (33:671e) - pop de - ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX - add hl, bc - ld l, [hl] - ld h, $0 - add hl, hl - add hl, de - ld a, [hli] - ld h, [hl] - ld l, a - jp hl - -BattleAnim_IncAnonJumptableIndex: ; ce72c (33:672c) - ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX - add hl, bc - inc [hl] - ret - -BattleAnim_Cosine: ; ce732 (33:6732) - add $10 -BattleAnim_Sine: ; ce734 (33:6734) -; a = d sin a - and $3f - cp $20 - jr nc, .negative - call .ApplySineWave - ld a, h - ret - -.negative - and $1f - call .ApplySineWave - ld a, h - xor $ff - inc a - ret - -.ApplySineWave: - ld e, a - ld a, d - ld d, 0 - ld hl, BattleAnimSineWave - add hl, de - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - ld hl, $0 -.multiply - srl a - jr nc, .even - add hl, de -.even - sla e - rl d - and a - jr nz, .multiply - ret - -BattleAnim_Sine_e: ; ce765 (33:6765) - ld a, e - call BattleAnim_Sine - ld e, a - ret - -BattleAnim_Cosine_e: ; ce76b (33:676b) - ld a, e - call BattleAnim_Cosine - ld e, a - ret - -; ce771 (33:6771) -BattleAnim_AbsSinePrecise: ; ce771 - ld a, e - call BattleAnim_Sine - ld e, l - ld d, h - ret - -; ce778 -BattleAnim_AbsCosinePrecise: ; ce778 - ld a, e - call BattleAnim_Cosine - ld e, l - ld d, h - ret - -; ce77f -BattleAnimSineWave: ; ce77f - sine_wave $100 -; ce7bf diff --git a/engine/anims/helpers.asm b/engine/anims/helpers.asm deleted file mode 100755 index a692211d3..000000000 --- a/engine/anims/helpers.asm +++ /dev/null @@ -1,130 +0,0 @@ -ReinitBattleAnimFrameset: ; ce7bf (33:67bf) - ld hl, BATTLEANIMSTRUCT_FRAMESET_ID - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_DURATION - add hl, bc - ld [hl], 0 - ld hl, BATTLEANIMSTRUCT_FRAME - add hl, bc - ld [hl], -1 - ret - -GetBattleAnimFrame: ; ce7d1 -.loop - ld hl, BATTLEANIMSTRUCT_DURATION - add hl, bc - ld a, [hl] - and a - jr z, .next_frame - dec [hl] - call .GetPointer - ld a, [hli] - push af - jr .okay - -.next_frame - ld hl, BATTLEANIMSTRUCT_FRAME - add hl, bc - inc [hl] - call .GetPointer - ld a, [hli] - cp -2 - jr z, .restart - cp -1 - jr z, .repeat_last - push af - ld a, [hl] - push hl - and $3f - ld hl, BATTLEANIMSTRUCT_DURATION - add hl, bc - ld [hl], a - pop hl - -.okay - ld a, [hl] - and $c0 - srl a - ld [wBattleAnimTemp7], a - pop af - ret - -.repeat_last - xor a - ld hl, BATTLEANIMSTRUCT_DURATION - add hl, bc - ld [hl], a - ld hl, BATTLEANIMSTRUCT_FRAME - add hl, bc - dec [hl] - dec [hl] - jr .loop - -.restart - xor a - ld hl, BATTLEANIMSTRUCT_DURATION - add hl, bc - ld [hl], a - dec a - ld hl, BATTLEANIMSTRUCT_FRAME - add hl, bc - ld [hl], a - jr .loop - -; ce823 - -.GetPointer: ; ce823 - ld hl, BATTLEANIMSTRUCT_FRAMESET_ID - add hl, bc - ld e, [hl] - ld d, 0 - ld hl, BattleAnimFrameData - add hl, de - add hl, de - ld e, [hl] - inc hl - ld d, [hl] - ld hl, BATTLEANIMSTRUCT_FRAME - add hl, bc - ld l, [hl] - ld h, $0 - add hl, hl - add hl, de - ret - -; ce83c - -GetBattleAnimOAMPointer: ; ce83c - ld l, a - ld h, 0 - ld de, BattleAnimOAMData - add hl, hl - add hl, hl - add hl, de - ret - -; ce846 - -LoadBattleAnimObj: ; ce846 (33:6846) - push hl - ld l, a - ld h, 0 - add hl, hl - add hl, hl - ld de, AnimObjGFX - add hl, de - ld c, [hl] - inc hl - ld b, [hl] - inc hl - ld a, [hli] - ld h, [hl] - ld l, a - pop de - push bc - call DecompressRequest2bpp - pop bc - ret - -; ce85e (33:685e) diff --git a/engine/battle/battlestart_copytilemapatonce.asm b/engine/battle/battlestart_copytilemapatonce.asm new file mode 100644 index 000000000..2952e833b --- /dev/null +++ b/engine/battle/battlestart_copytilemapatonce.asm @@ -0,0 +1,3 @@ +BattleStart_CopyTilemapAtOnce: ; 8cf4f + call CGBOnly_CopyTilemapAtOnce + ret diff --git a/engine/battle/checkbattlescene.asm b/engine/battle/checkbattlescene.asm new file mode 100644 index 000000000..b63f00907 --- /dev/null +++ b/engine/battle/checkbattlescene.asm @@ -0,0 +1,47 @@ +CheckBattleScene: ; 4ea44 +; Return carry if battle scene is turned off. + + ld a, 0 + ld hl, wLinkMode + call GetFarWRAMByte + cp LINK_MOBILE + jr z, .mobile + + ld a, [Options] + bit BATTLE_SCENE, a + jr nz, .off + + and a + ret + +.mobile + ld a, [wcd2f] + and a + jr nz, .from_wram + + ld a, $4 + call GetSRAMBank + ld a, [$a60c] + ld c, a + call CloseSRAM + + ld a, c + bit 0, c + jr z, .off + + and a + ret + +.from_wram + ld a, $5 + ld hl, w5_dc00 + call GetFarWRAMByte + bit 0, a + jr z, .off + + and a + ret + +.off + scf + ret diff --git a/engine/battle/consumehelditem.asm b/engine/battle/consumehelditem.asm new file mode 100644 index 000000000..a6f7766fb --- /dev/null +++ b/engine/battle/consumehelditem.asm @@ -0,0 +1,80 @@ +ConsumeHeldItem: ; 27192 + push hl + push de + push bc + ld a, [hBattleTurn] + and a + ld hl, OTPartyMon1Item + ld de, EnemyMonItem + ld a, [CurOTMon] + jr z, .theirturn + ld hl, PartyMon1Item + ld de, BattleMonItem + ld a, [CurBattleMon] + +.theirturn + push hl + push af + ld a, [de] + ld b, a + farcall GetItemHeldEffect + ld hl, .ConsumableEffects +.loop + ld a, [hli] + cp b + jr z, .ok + inc a + jr nz, .loop + pop af + pop hl + pop bc + pop de + pop hl + ret + +.ok + xor a + ld [de], a + pop af + pop hl + call GetPartyLocation + ld a, [hBattleTurn] + and a + jr nz, .ourturn + ld a, [wBattleMode] + dec a + jr z, .done + +.ourturn + ld [hl], $0 + +.done + pop bc + pop de + pop hl + ret + +.ConsumableEffects: ; 271de +; Consumable items? + db HELD_BERRY + db HELD_2 + db HELD_5 + db HELD_HEAL_POISON + db HELD_HEAL_FREEZE + db HELD_HEAL_BURN + db HELD_HEAL_SLEEP + db HELD_HEAL_PARALYZE + db HELD_HEAL_STATUS + db HELD_30 + db HELD_ATTACK_UP + db HELD_DEFENSE_UP + db HELD_SPEED_UP + db HELD_SP_ATTACK_UP + db HELD_SP_DEFENSE_UP + db HELD_ACCURACY_UP + db HELD_EVASION_UP + db HELD_38 + db HELD_71 + db HELD_ESCAPE + db HELD_CRITICAL_UP + db -1 diff --git a/engine/battle/returntobattle_useball.asm b/engine/battle/returntobattle_useball.asm new file mode 100644 index 000000000..e6e33f900 --- /dev/null +++ b/engine/battle/returntobattle_useball.asm @@ -0,0 +1,19 @@ +_ReturnToBattle_UseBall: ; 2715c + call ClearBGPalettes + call ClearTileMap + ld a, [BattleType] + cp BATTLETYPE_TUTORIAL + jr z, .gettutorialbackpic + farcall GetBattleMonBackpic + jr .continue + +.gettutorialbackpic + farcall GetTrainerBackpic +.continue + farcall GetEnemyMonFrontpic + farcall _LoadBattleFontsHPBar + call GetMemSGBLayout + call CloseWindow + call LoadStandardMenuDataHeader + call WaitBGMap + jp SetPalettes diff --git a/engine/battle/updatebattlehuds.asm b/engine/battle/updatebattlehuds.asm new file mode 100644 index 000000000..ec7f662e8 --- /dev/null +++ b/engine/battle/updatebattlehuds.asm @@ -0,0 +1,9 @@ +_UpdateBattleHUDs: + farcall DrawPlayerHUD + ld hl, PlayerHPPal + call SetHPPal + farcall DrawEnemyHUD + ld hl, EnemyHPPal + call SetHPPal + farcall FinishBattleAnim + ret diff --git a/engine/battle_anims/anim_commands.asm b/engine/battle_anims/anim_commands.asm new file mode 100644 index 000000000..875849ce3 --- /dev/null +++ b/engine/battle_anims/anim_commands.asm @@ -0,0 +1,1514 @@ +; Battle animation command interpreter. + +PlayBattleAnim: ; cc0d6 + + ld a, [rSVBK] + push af + + ld a, 5 + ld [rSVBK], a + + call _PlayBattleAnim + + pop af + ld [rSVBK], a + ret +; cc0e4 + +_PlayBattleAnim: ; cc0e4 + + ld c, 6 +.wait + call BattleAnimDelayFrame + dec c + jr nz, .wait + + call BattleAnimAssignPals + call BattleAnimRequestPals + call BattleAnimDelayFrame + + ld c, 1 + ld a, [rKEY1] + bit 7, a + jr nz, .asm_cc0ff + ld c, 3 + +.asm_cc0ff + ld hl, hVBlank + ld a, [hl] + push af + + ld [hl], c + call BattleAnimRunScript + + pop af + ld [hVBlank], a + + ld a, $1 + ld [hBGMapMode], a + + call BattleAnimDelayFrame + call BattleAnimDelayFrame + call BattleAnimDelayFrame + call WaitSFX + ret +; cc11c + +BattleAnimRunScript: ; cc11c + + ld a, [FXAnimID + 1] + and a + jr nz, .hi_byte + + farcall CheckBattleScene + jr c, .disabled + + call BattleAnimClearHud + call RunBattleAnimScript + + call BattleAnimAssignPals + call BattleAnimRequestPals + + xor a + ld [hSCX], a + ld [hSCY], a + call BattleAnimDelayFrame + call BattleAnimRestoreHuds + +.disabled + ld a, [wNumHits] + and a + jr z, .done + + ld l, a + ld h, 0 + ld de, ANIM_MISS + add hl, de + ld a, l + ld [FXAnimID], a + ld a, h + ld [FXAnimID + 1], a + +.hi_byte + call WaitSFX + call PlayHitSound + call RunBattleAnimScript + +.done + call BattleAnim_RevertPals + ret +; cc163 + +RunBattleAnimScript: ; cc163 + + call ClearBattleAnims + +.playframe + call RunBattleAnimCommand + call _ExecuteBGEffects + call BattleAnim_UpdateOAM_All + call PushLYOverrides + call BattleAnimRequestPals + +; Speed up Rollout's animation. + ld a, [FXAnimID + 1] + or a + jr nz, .not_rollout + + ld a, [FXAnimID] + cp ROLLOUT + jr nz, .not_rollout + + ld a, $2e + ld b, 5 + ld de, 4 + ld hl, ActiveBGEffects +.find + cp [hl] + jr z, .done + add hl, de + dec b + jr nz, .find + +.not_rollout + call BattleAnimDelayFrame + +.done + ld a, [BattleAnimFlags] + bit 0, a + jr z, .playframe + + call BattleAnim_ClearCGB_OAMFlags + ret +; cc1a1 + +BattleAnimClearHud: ; cc1a1 + + call BattleAnimDelayFrame + call WaitTop + call ClearActorHud + ld a, $1 + ld [hBGMapMode], a + call BattleAnimDelayFrame + call BattleAnimDelayFrame + call BattleAnimDelayFrame + call WaitTop + ret +; cc1bb + +BattleAnimRestoreHuds: ; cc1bb + + call BattleAnimDelayFrame + call WaitTop + + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + + ld hl, UpdateBattleHuds + ld a, BANK(UpdatePlayerHUD) + rst FarCall ; Why not "call UpdateBattleHuds"? + + pop af + ld [rSVBK], a + + ld a, $1 + ld [hBGMapMode], a + call BattleAnimDelayFrame + call BattleAnimDelayFrame + call BattleAnimDelayFrame + call WaitTop + ret +; cc1e2 + +BattleAnimRequestPals: ; cc1e2 + + ld a, [hCGB] + and a + ret z + + ld a, [rBGP] + ld b, a + ld a, [wBGP] + cp b + call nz, BattleAnim_SetBGPals + + ld a, [rOBP0] + ld b, a + ld a, [wOBP0] + cp b + call nz, BattleAnim_SetOBPals + ret +; cc1fb + +BattleAnimDelayFrame: ; cc1fb +; Like DelayFrame but wastes battery life. + + ld a, 1 + ld [VBlankOccurred], a +.wait + ld a, [VBlankOccurred] + and a + jr nz, .wait + ret +; cc207 + +ClearActorHud: ; cc207 + + ld a, [hBattleTurn] + and a + jr z, .player + + hlcoord 1, 0 + lb bc, 4, 10 + call ClearBox + ret + +.player + hlcoord 9, 7 + lb bc, 5, 11 + call ClearBox + ret +; cc220 + +Functioncc220: ; cc220 +; Appears to be unused. + xor a + ld [hBGMapMode], a + ld a, LOW(VBGMap0 tile $28) + ld [hBGMapAddress], a + ld a, HIGH(VBGMap0 tile $28) + ld [hBGMapAddress + 1], a + call WaitBGMap2 + ld a, $60 + ld [hWY], a + xor a ; LOW(VBGMap0) + ld [hBGMapAddress], a + ld a, HIGH(VBGMap0) + ld [hBGMapAddress + 1], a + call BattleAnimDelayFrame + ret +; cc23d + + +BattleAnim_ClearCGB_OAMFlags: ; cc23d + + ld a, [BattleAnimFlags] + bit 3, a + jr z, .delete + + ld hl, Sprites + 3 + ld c, (SpritesEnd - Sprites) / 4 +.loop + ld a, [hl] + and $f0 + ld [hli], a + inc hl + inc hl + inc hl + dec c + jr nz, .loop + ret + +.delete + ld hl, Sprites + ld c, SpritesEnd - Sprites + xor a +.loop2 + ld [hli], a + dec c + jr nz, .loop2 + ret +; cc25f + +RunBattleAnimCommand: ; cc25f + call .CheckTimer + ret nc + call .RunScript + ret +; cc267 + +.CheckTimer: ; cc267 + ld a, [BattleAnimDuration] + and a + jr z, .done + + dec a + ld [BattleAnimDuration], a + and a + ret + +.done + scf + ret +; cc275 + +.RunScript: ; cc275 +.loop + call GetBattleAnimByte + + cp $ff + jr nz, .not_done_with_anim + +; Return from a subroutine. + ld hl, BattleAnimFlags + bit 1, [hl] + jr nz, .do_anim + + set 0, [hl] + ret + +.not_done_with_anim + cp $d0 + jr nc, .do_anim + + ld [BattleAnimDuration], a + ret + +.do_anim + call .DoCommand + + jr .loop +; cc293 + +.DoCommand: ; cc293 +; Execute battle animation command in [BattleAnimByte]. + ld a, [BattleAnimByte] + sub $d0 + + ld e, a + ld d, 0 + ld hl, BattleAnimCommands + add hl, de + add hl, de + + ld a, [hli] + ld h, [hl] + ld l, a + jp hl +; cc2a4 + + +BattleAnimCommands:: ; cc2a4 (33:42a4) +; entries correspond to macros/scripts/battle_anims.asm enumeration + dw BattleAnimCmd_Obj + dw BattleAnimCmd_1GFX + dw BattleAnimCmd_2GFX + dw BattleAnimCmd_3GFX + dw BattleAnimCmd_4GFX + dw BattleAnimCmd_5GFX + dw BattleAnimCmd_IncObj + dw BattleAnimCmd_SetObj + dw BattleAnimCmd_IncBGEffect + dw BattleAnimCmd_EnemyFeetObj + dw BattleAnimCmd_PlayerHeadObj + dw BattleAnimCmd_CheckPokeball + dw BattleAnimCmd_Transform + dw BattleAnimCmd_RaiseSub + dw BattleAnimCmd_DropSub + dw BattleAnimCmd_ResetObp0 + dw BattleAnimCmd_Sound + dw BattleAnimCmd_Cry + dw BattleAnimCmd_MinimizeOpp + dw BattleAnimCmd_OAMOn + dw BattleAnimCmd_OAMOff + dw BattleAnimCmd_ClearObjs + dw BattleAnimCmd_BeatUp + dw BattleAnimCmd_E7 + dw BattleAnimCmd_UpdateActorPic + dw BattleAnimCmd_Minimize + dw BattleAnimCmd_EA ; dummy + dw BattleAnimCmd_EB ; dummy + dw BattleAnimCmd_EC ; dummy + dw BattleAnimCmd_ED ; dummy + dw BattleAnimCmd_IfParamAnd + dw BattleAnimCmd_JumpUntil + dw BattleAnimCmd_BGEffect + dw BattleAnimCmd_BGP + dw BattleAnimCmd_OBP0 + dw BattleAnimCmd_OBP1 + dw BattleAnimCmd_ClearSprites + dw BattleAnimCmd_F5 + dw BattleAnimCmd_F6 + dw BattleAnimCmd_F7 + dw BattleAnimCmd_IfParamEqual + dw BattleAnimCmd_SetVar + dw BattleAnimCmd_IncVar + dw BattleAnimCmd_IfVarEqual + dw BattleAnimCmd_Jump + dw BattleAnimCmd_Loop + dw BattleAnimCmd_Call + dw BattleAnimCmd_Ret + + +BattleAnimCmd_EA: +BattleAnimCmd_EB: +BattleAnimCmd_EC: +BattleAnimCmd_ED: ; cc304 (33:4304) + ret + +BattleAnimCmd_Ret: ; cc305 (33:4305) + ld hl, BattleAnimFlags + res 1, [hl] + ld hl, BattleAnimParent + ld e, [hl] + inc hl + ld d, [hl] + ld hl, BattleAnimAddress + ld [hl], e + inc hl + ld [hl], d + ret + +BattleAnimCmd_Call: ; cc317 (33:4317) + call GetBattleAnimByte + ld e, a + call GetBattleAnimByte + ld d, a + push de + ld hl, BattleAnimAddress + ld e, [hl] + inc hl + ld d, [hl] + ld hl, BattleAnimParent + ld [hl], e + inc hl + ld [hl], d + pop de + ld hl, BattleAnimAddress + ld [hl], e + inc hl + ld [hl], d + ld hl, BattleAnimFlags + set 1, [hl] + ret + +BattleAnimCmd_Jump: ; cc339 (33:4339) + call GetBattleAnimByte + ld e, a + call GetBattleAnimByte + ld d, a + ld hl, BattleAnimAddress + ld [hl], e + inc hl + ld [hl], d + ret + +BattleAnimCmd_Loop: ; cc348 (33:4348) + call GetBattleAnimByte + ld hl, BattleAnimFlags + bit 2, [hl] + jr nz, .continue_loop + and a + jr z, .perpetual + dec a + set 2, [hl] + ld [BattleAnimLoops], a +.continue_loop + ld hl, BattleAnimLoops + ld a, [hl] + and a + jr z, .return_from_loop + dec [hl] +.perpetual + call GetBattleAnimByte + ld e, a + call GetBattleAnimByte + ld d, a + ld hl, BattleAnimAddress + ld [hl], e + inc hl + ld [hl], d + ret + +.return_from_loop + ld hl, BattleAnimFlags + res 2, [hl] + ld hl, BattleAnimAddress + ld e, [hl] + inc hl + ld d, [hl] + inc de + inc de + ld [hl], d + dec hl + ld [hl], e + ret + +BattleAnimCmd_JumpUntil: ; cc383 (33:4383) + ld hl, wBattleAnimParam + ld a, [hl] + and a + jr z, .dont_jump + + dec [hl] + call GetBattleAnimByte + ld e, a + call GetBattleAnimByte + ld d, a + ld hl, BattleAnimAddress + ld [hl], e + inc hl + ld [hl], d + ret + +.dont_jump + ld hl, BattleAnimAddress + ld e, [hl] + inc hl + ld d, [hl] + inc de + inc de + ld [hl], d + dec hl + ld [hl], e + ret + +BattleAnimCmd_SetVar: ; cc3a6 (33:43a6) + call GetBattleAnimByte + ld [BattleAnimVar], a + ret + +BattleAnimCmd_IncVar: ; cc3ad (33:43ad) + ld hl, BattleAnimVar + inc [hl] + ret + +BattleAnimCmd_IfVarEqual: ; cc3b2 (33:43b2) + call GetBattleAnimByte + ld hl, BattleAnimVar + cp [hl] + jr z, .jump + + ld hl, BattleAnimAddress + ld e, [hl] + inc hl + ld d, [hl] + inc de + inc de + ld [hl], d + dec hl + ld [hl], e + ret + +.jump + call GetBattleAnimByte + ld e, a + call GetBattleAnimByte + ld d, a + ld hl, BattleAnimAddress + ld [hl], e + inc hl + ld [hl], d + ret + +BattleAnimCmd_IfParamEqual: ; cc3d6 (33:43d6) + call GetBattleAnimByte + ld hl, wBattleAnimParam + cp [hl] + jr z, .jump + + ld hl, BattleAnimAddress + ld e, [hl] + inc hl + ld d, [hl] + inc de + inc de + ld [hl], d + dec hl + ld [hl], e + ret + +.jump + call GetBattleAnimByte + ld e, a + call GetBattleAnimByte + ld d, a + ld hl, BattleAnimAddress + ld [hl], e + inc hl + ld [hl], d + ret + +BattleAnimCmd_IfParamAnd: ; cc3fa (33:43fa) + call GetBattleAnimByte + ld e, a + ld a, [wBattleAnimParam] + and e + jr nz, .jump + + ld hl, BattleAnimAddress + ld e, [hl] + inc hl + ld d, [hl] + inc de + inc de + ld [hl], d + dec hl + ld [hl], e + ret + +.jump + call GetBattleAnimByte + ld e, a + call GetBattleAnimByte + ld d, a + ld hl, BattleAnimAddress + ld [hl], e + inc hl + ld [hl], d + ret + +BattleAnimCmd_Obj: ; cc41f (33:441f) +; index, x, y, param + call GetBattleAnimByte + ld [wBattleAnimTemp0], a + call GetBattleAnimByte + ld [wBattleAnimTemp1], a + call GetBattleAnimByte + ld [wBattleAnimTemp2], a + call GetBattleAnimByte + ld [wBattleAnimTemp3], a + call QueueBattleAnimation + ret + +BattleAnimCmd_BGEffect: ; cc43b (33:443b) + call GetBattleAnimByte + ld [wBattleAnimTemp0], a + call GetBattleAnimByte + ld [wBattleAnimTemp1], a + call GetBattleAnimByte + ld [wBattleAnimTemp2], a + call GetBattleAnimByte + ld [wBattleAnimTemp3], a + call _QueueBGEffect + ret + +BattleAnimCmd_BGP: ; cc457 (33:4457) + call GetBattleAnimByte + ld [wBGP], a + ret + +BattleAnimCmd_OBP0: ; cc45e (33:445e) + call GetBattleAnimByte + ld [wOBP0], a + ret + +BattleAnimCmd_OBP1: ; cc465 (33:4465) + call GetBattleAnimByte + ld [wOBP1], a + ret + +BattleAnimCmd_ResetObp0: ; cc46c (33:446c) + ld a, [hSGB] + and a + ld a, $e0 + jr z, .not_sgb + ld a, $f0 +.not_sgb + ld [wOBP0], a + ret + +BattleAnimCmd_ClearObjs: ; cc479 (33:4479) + ld hl, ActiveAnimObjects + ld a, $a0 +.loop + ld [hl], $0 + inc hl + dec a + jr nz, .loop + ret + +BattleAnimCmd_1GFX: +BattleAnimCmd_2GFX: +BattleAnimCmd_3GFX: +BattleAnimCmd_4GFX: +BattleAnimCmd_5GFX: ; cc485 (33:4485) + ld a, [BattleAnimByte] + and $f + ld c, a + ld hl, wBattleAnimTileDict + xor a + ld [wBattleAnimTemp0], a +.loop + ld a, [wBattleAnimTemp0] + cp (VTiles1 - VTiles0) / $10 - $31 + ret nc + call GetBattleAnimByte + ld [hli], a + ld a, [wBattleAnimTemp0] + ld [hli], a + push bc + push hl + ld l, a + ld h, $0 +rept 4 + add hl, hl +endr + ld de, VTiles0 tile $31 + add hl, de + ld a, [BattleAnimByte] + call LoadBattleAnimObj + ld a, [wBattleAnimTemp0] + add c + ld [wBattleAnimTemp0], a + pop hl + pop bc + dec c + jr nz, .loop + ret + +BattleAnimCmd_IncObj: ; cc4c0 (33:44c0) + call GetBattleAnimByte + ld e, 10 + ld bc, ActiveAnimObjects +.loop + ld hl, BATTLEANIMSTRUCT_INDEX + add hl, bc + ld d, [hl] + ld a, [BattleAnimByte] + cp d + jr z, .found + ld hl, BATTLEANIMSTRUCT_LENGTH + add hl, bc + ld c, l + ld b, h + dec e + jr nz, .loop + ret + +.found + ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX + add hl, bc + inc [hl] + ret + +BattleAnimCmd_IncBGEffect: ; cc4e3 (33:44e3) + call GetBattleAnimByte + ld e, 5 + ld bc, ActiveBGEffects +.loop + ld hl, $0 + add hl, bc + ld d, [hl] + ld a, [BattleAnimByte] + cp d + jr z, .found + ld hl, 4 + add hl, bc + ld c, l + ld b, h + dec e + jr nz, .loop + ret + +.found + ld hl, BG_EFFECT_STRUCT_JT_INDEX + add hl, bc + inc [hl] + ret + +BattleAnimCmd_SetObj: ; cc506 (33:4506) + call GetBattleAnimByte + ld e, 10 + ld bc, ActiveAnimObjects +.loop + ld hl, BATTLEANIMSTRUCT_INDEX + add hl, bc + ld d, [hl] + ld a, [BattleAnimByte] + cp d + jr z, .found + ld hl, BATTLEANIMSTRUCT_LENGTH + add hl, bc + ld c, l + ld b, h + dec e + jr nz, .loop + ret + +.found + call GetBattleAnimByte + ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX + add hl, bc + ld [hl], a + ret + +BattleAnimCmd_EnemyFeetObj: ; cc52c (33:452c) + + ld hl, wBattleAnimTileDict +.loop + ld a, [hl] + and a + jr z, .okay + inc hl + inc hl + jr .loop + +.okay + ld a, $28 + ld [hli], a + ld a, $42 + ld [hli], a + ld a, $29 + ld [hli], a + ld a, $49 + ld [hl], a + + ld hl, VTiles0 tile $73 + ld de, VTiles2 tile $06 + ld a, $70 + ld [wBattleAnimTemp0], a + ld a, $7 + call .LoadFootprint + ld de, VTiles2 tile $31 + ld a, $60 + ld [wBattleAnimTemp0], a + ld a, $6 + call .LoadFootprint + ret + +.LoadFootprint: ; cc561 (33:4561) + push af + push hl + push de + lb bc, BANK(BattleAnimCmd_EnemyFeetObj), 1 + call Request2bpp + pop de + ld a, [wBattleAnimTemp0] + ld l, a + ld h, 0 + add hl, de + ld e, l + ld d, h + pop hl + ld bc, 1 tiles + add hl, bc + pop af + dec a + jr nz, .LoadFootprint + ret + +BattleAnimCmd_PlayerHeadObj: ; cc57e (33:457e) + + ld hl, wBattleAnimTileDict +.loop + ld a, [hl] + and a + jr z, .okay + inc hl + inc hl + jr .loop + +.okay + ld a, $28 + ld [hli], a + ld a, $35 + ld [hli], a + ld a, $29 + ld [hli], a + ld a, $43 + ld [hl], a + + ld hl, VTiles0 tile $66 + ld de, VTiles2 tile $05 + ld a, $70 + ld [wBattleAnimTemp0], a + ld a, $7 + call .LoadHead + ld de, VTiles2 tile $31 + ld a, $60 + ld [wBattleAnimTemp0], a + ld a, $6 + call .LoadHead + ret + +.LoadHead: ; cc5b3 (33:45b3) + push af + push hl + push de + lb bc, BANK(BattleAnimCmd_EnemyFeetObj), 2 + call Request2bpp + pop de + ld a, [wBattleAnimTemp0] + ld l, a + ld h, 0 + add hl, de + ld e, l + ld d, h + pop hl + ld bc, 2 tiles + add hl, bc + pop af + dec a + jr nz, .LoadHead + ret + +BattleAnimCmd_CheckPokeball: ; cc5d0 (33:45d0) + callfar GetPokeBallWobble + ld a, c + ld [BattleAnimVar], a + ret + +BattleAnimCmd_E7: ; cc5db (33:45db) + ret + +BattleAnimCmd_Transform: ; cc5dc (33:45dc) + ld a, [rSVBK] + push af + ld a, 1 + ld [rSVBK], a + ld a, [CurPartySpecies] ; CurPartySpecies + push af + + ld a, [hBattleTurn] + and a + jr z, .player + + ld a, [TempBattleMonSpecies] ; TempBattleMonSpecies + ld [CurPartySpecies], a ; CurPartySpecies + ld hl, BattleMonDVs ; BattleMonDVs + predef GetUnownLetter + ld de, VTiles0 tile $00 + predef GetMonFrontpic + jr .done + +.player + ld a, [TempEnemyMonSpecies] ; TempEnemyMonSpecies + ld [CurPartySpecies], a ; CurPartySpecies + ld hl, EnemyMonDVs ; EnemyMonDVs + predef GetUnownLetter + ld de, VTiles0 tile $00 + predef GetMonBackpic + +.done + pop af + ld [CurPartySpecies], a ; CurPartySpecies + pop af + ld [rSVBK], a + ret + +BattleAnimCmd_UpdateActorPic: ; cc622 (33:4622) + + ld de, VTiles0 tile $00 + ld a, [hBattleTurn] + and a + jr z, .player + + ld hl, VTiles2 tile $00 + ld b, 0 + ld c, $31 + call Request2bpp + ret + +.player + ld hl, VTiles2 tile $31 + ld b, 0 + ld c, $24 + call Request2bpp + ret + +BattleAnimCmd_RaiseSub: ; cc640 (33:4640) + + ld a, [rSVBK] + push af + ld a, 1 + ld [rSVBK], a + xor a + call GetSRAMBank + +GetSubstitutePic: ; cc64c + + ld hl, sScratch + ld bc, (7 * 7) tiles +.loop + xor a + ld [hli], a + dec bc + ld a, c + or b + jr nz, .loop + + ld a, [hBattleTurn] + and a + jr z, .player + + ld hl, MonsterSpriteGFX + 0 tiles + ld de, sScratch + (2 * 7 + 5) tiles + call .CopyTile + ld hl, MonsterSpriteGFX + 1 tiles + ld de, sScratch + (3 * 7 + 5) tiles + call .CopyTile + ld hl, MonsterSpriteGFX + 2 tiles + ld de, sScratch + (2 * 7 + 6) tiles + call .CopyTile + ld hl, MonsterSpriteGFX + 3 tiles + ld de, sScratch + (3 * 7 + 6) tiles + call .CopyTile + + ld hl, VTiles2 tile $00 + ld de, sScratch + lb bc, BANK(GetSubstitutePic), 7 * 7 + call Request2bpp + jr .done + +.player + ld hl, MonsterSpriteGFX + 4 tiles + ld de, sScratch + (2 * 6 + 4) tiles + call .CopyTile + ld hl, MonsterSpriteGFX + 5 tiles + ld de, sScratch + (3 * 6 + 4) tiles + call .CopyTile + ld hl, MonsterSpriteGFX + 6 tiles + ld de, sScratch + (2 * 6 + 5) tiles + call .CopyTile + ld hl, MonsterSpriteGFX + 7 tiles + ld de, sScratch + (3 * 6 + 5) tiles + call .CopyTile + + ld hl, VTiles2 tile $31 + ld de, sScratch + lb bc, BANK(GetSubstitutePic), 6 * 6 + call Request2bpp + +.done + call CloseSRAM + pop af + ld [rSVBK], a + ret + +.CopyTile: ; cc6c6 (33:46c6) + ld bc, 1 tiles + ld a, BANK(MonsterSpriteGFX) + call FarCopyBytes + ret + +BattleAnimCmd_MinimizeOpp: ; cc6cf (33:46cf) + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + xor a + call GetSRAMBank + call GetMinimizePic + call Request2bpp + call CloseSRAM + pop af + ld [rSVBK], a + ret + +GetMinimizePic: ; cc6e7 (33:46e7) + ld hl, sScratch + ld bc, $31 tiles +.loop + xor a + ld [hli], a + dec bc + ld a, c + or b + jr nz, .loop + + ld a, [hBattleTurn] + and a + jr z, .player + + ld de, sScratch + $1a tiles + call CopyMinimizePic + ld hl, VTiles2 tile $00 + ld de, sScratch + lb bc, BANK(GetMinimizePic), $31 + ret + +.player + ld de, sScratch + $160 + call CopyMinimizePic + ld hl, VTiles2 tile $31 + ld de, sScratch + lb bc, BANK(GetMinimizePic), $24 + ret + +CopyMinimizePic: ; cc719 (33:4719) + ld hl, MinimizePic + ld bc, $10 + ld a, BANK(MinimizePic) + call FarCopyBytes + ret +; cc725 (33:4725) + +MinimizePic: ; cc725 +INCBIN "gfx/battle/minimize.2bpp" +; cc735 + +BattleAnimCmd_Minimize: ; cc735 (33:4735) + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + xor a + call GetSRAMBank + call GetMinimizePic + ld hl, VTiles0 tile $00 + call Request2bpp + call CloseSRAM + pop af + ld [rSVBK], a + ret + +BattleAnimCmd_DropSub: ; cc750 (33:4750) + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + + ld a, [CurPartySpecies] ; CurPartySpecies + push af + ld a, [hBattleTurn] + and a + jr z, .player + + callfar DropEnemySub + jr .done + +.player + callfar DropPlayerSub + +.done + pop af + ld [CurPartySpecies], a ; CurPartySpecies + pop af + ld [rSVBK], a + ret + +BattleAnimCmd_BeatUp: ; cc776 (33:4776) + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, [CurPartySpecies] ; CurPartySpecies + push af + + ld a, [wBattleAnimParam] + ld [CurPartySpecies], a ; CurPartySpecies + + ld a, [hBattleTurn] + and a + jr z, .player + + ld hl, BattleMonDVs + predef GetUnownLetter + ld de, VTiles2 tile $00 + predef GetMonFrontpic + jr .done + +.player + ld hl, EnemyMonDVs + predef GetUnownLetter + ld de, VTiles2 tile $31 + predef GetMonBackpic + +.done + pop af + ld [CurPartySpecies], a ; CurPartySpecies + ld b, SCGB_BATTLE_COLORS + call GetSGBLayout + pop af + ld [rSVBK], a + ret + +BattleAnimCmd_OAMOn: ; cc7bb (33:47bb) + xor a + ld [hOAMUpdate], a + ret + +BattleAnimCmd_OAMOff: ; cc7bf (33:47bf) + ld a, $1 + ld [hOAMUpdate], a + ret + +BattleAnimCmd_ClearSprites: ; cc7c4 (33:47c4) + ld hl, BattleAnimFlags + set 3, [hl] + ret + +BattleAnimCmd_F5: ; cc7ca (33:47ca) + ret + +BattleAnimCmd_F6: ; cc7cb (33:47cb) + ret + +BattleAnimCmd_F7: ; cc7cc (33:47cc) + ret + +BattleAnimCmd_Sound: ; cc7cd (33:47cd) + call GetBattleAnimByte + ld e, a + srl a + srl a + ld [wSFXDuration], a + call .GetCryTrack + and 3 + ld [CryTracks], a ; CryTracks + + ld e, a + ld d, 0 + ld hl, .GetPanning + add hl, de + ld a, [hl] + ld [wStereoPanningMask], a + + call GetBattleAnimByte + ld e, a + ld d, 0 + callfar PlayStereoSFX + + ret +; cc7f8 (33:47f8) + +.GetPanning: ; cc7f8 + db $f0, $0f, $f0, $0f +; cc7fc + +.GetCryTrack: ; cc7fc (33:47fc) + ld a, [hBattleTurn] + and a + jr nz, .enemy + + ld a, e + ret + +.enemy + ld a, e + xor 1 + ret + +BattleAnimCmd_Cry: ; cc807 (33:4807) + call GetBattleAnimByte + and 3 + ld e, a + ld d, 0 + ld hl, .CryData +rept 4 + add hl, de +endr + + ld a, [rSVBK] + push af + ld a, 1 + ld [rSVBK], a + + ld a, [hBattleTurn] + and a + jr nz, .enemy + + ld a, $f0 + ld [CryTracks], a ; CryTracks + ld a, [BattleMonSpecies] ; BattleMonSpecies + jr .done_cry_tracks + +.enemy + ld a, $0f + ld [CryTracks], a ; CryTracks + ld a, [EnemyMonSpecies] ; EnemyMon + +.done_cry_tracks + push hl + call LoadCryHeader + pop hl + jr c, .done + + ld a, [hli] + ld c, a + ld a, [hli] + ld b, a + + push hl + ld hl, CryPitch + ld a, [hli] + ld h, [hl] + ld l, a + add hl, bc + ld a, l + ld [CryPitch], a + ld a, h + ld [CryPitch + 1], a + pop hl + + ld a, [hli] + ld c, a + ld b, [hl] + ld hl, CryLength ; CryLength + ld a, [hli] + ld h, [hl] + ld l, a + add hl, bc + + ld a, l + ld [CryLength], a ; CryLength + ld a, h + ld [CryLength + 1], a + ld a, 1 + ld [wStereoPanningMask], a + + callfar _PlayCryHeader + +.done + pop af + ld [rSVBK], a + ret +; cc871 (33:4871) + +.CryData: ; cc871 +; +pitch, +length + dw $0000, $00c0 + dw $0000, $0040 + dw $0000, $0000 + dw $0000, $0000 +; cc881 + + +PlayHitSound: ; cc881 + ld a, [wNumHits] + cp $1 + jr z, .okay + cp $4 + ret nz + +.okay + ld a, [TypeModifier] + and $7f + ret z + + cp 10 + ld de, SFX_DAMAGE + jr z, .play + + ld de, SFX_SUPER_EFFECTIVE + jr nc, .play + + ld de, SFX_NOT_VERY_EFFECTIVE + +.play + call PlaySFX + ret +; cc8a4 + +BattleAnimAssignPals: ; cc8a4 + ld a, [hCGB] + and a + jr nz, .cgb + ld a, [hSGB] + and a + ld a, %11100000 + jr z, .sgb + ld a, %11110000 + +.sgb + ld [wOBP0], a + ld a, %11100100 + ld [wBGP], a + ld [wOBP1], a + ret + +.cgb + ld a, %11100100 + ld [wBGP], a + ld [wOBP0], a + ld [wOBP1], a + call DmgToCgbBGPals + lb de, %11100100, %11100100 + call DmgToCgbObjPals + ret +; cc8d3 + +ClearBattleAnims: ; cc8d3 +; Clear animation block + ld hl, LYOverrides + ld bc, wBattleAnimEnd - LYOverrides +.loop + ld [hl], $0 + inc hl + dec bc + ld a, c + or b + jr nz, .loop + + ld hl, FXAnimID + ld e, [hl] + inc hl + ld d, [hl] + ld hl, BattleAnimations + add hl, de + add hl, de + call GetBattleAnimPointer + call BattleAnimAssignPals + call BattleAnimDelayFrame + ret +; cc8f6 + +BattleAnim_RevertPals: ; cc8f6 + call WaitTop + ld a, %11100100 + ld [wBGP], a + ld [wOBP0], a + ld [wOBP1], a + call DmgToCgbBGPals + lb de, %11100100, %11100100 + call DmgToCgbObjPals + xor a + ld [hSCX], a + ld [hSCY], a + call BattleAnimDelayFrame + ld a, $1 + ld [hBGMapMode], a + ret +; cc91a + +BattleAnim_SetBGPals: ; cc91a + ld [rBGP], a + ld a, [hCGB] + and a + ret z + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, BGPals + ld de, UnknBGPals + ld a, [rBGP] + ld b, a + ld c, 7 + call CopyPals + ld hl, OBPals + ld de, UnknOBPals + ld a, [rBGP] + ld b, a + ld c, 2 + call CopyPals + pop af + ld [rSVBK], a + ld a, $1 + ld [hCGBPalUpdate], a + ret +; cc94b + +BattleAnim_SetOBPals: ; cc94b + ld [rOBP0], a + ld a, [hCGB] + and a + ret z + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld hl, OBPals palette PAL_BATTLE_OB_GRAY + ld de, UnknOBPals palette PAL_BATTLE_OB_GRAY + ld a, [rOBP0] + ld b, a + ld c, 2 + call CopyPals + pop af + ld [rSVBK], a + ld a, $1 + ld [hCGBPalUpdate], a + ret +; cc96e + +BattleAnim_UpdateOAM_All: ; cc96e + ld a, $0 + ld [wBattleAnimOAMPointerLo], a + ld hl, ActiveAnimObjects + ld e, 10 +.loop + ld a, [hl] + and a + jr z, .next + ld c, l + ld b, h + push hl + push de + call DoBattleAnimFrame + call BattleAnimOAMUpdate + pop de + pop hl + jr c, .done + +.next + ld bc, BATTLEANIMSTRUCT_LENGTH + add hl, bc + dec e + jr nz, .loop + ld a, [wBattleAnimOAMPointerLo] + ld l, a + ld h, HIGH(Sprites) +.loop2 + ld a, l + cp LOW(SpritesEnd) + jr nc, .done + xor a + ld [hli], a + jr .loop2 + +.done + ret +; cc9a1 diff --git a/engine/battle_anims/bg_effects.asm b/engine/battle_anims/bg_effects.asm new file mode 100644 index 000000000..ab4a8036b --- /dev/null +++ b/engine/battle_anims/bg_effects.asm @@ -0,0 +1,2958 @@ + const_def + const BGSQUARE_SIX + const BGSQUARE_FOUR + const BGSQUARE_TWO + const BGSQUARE_SEVEN + const BGSQUARE_FIVE + const BGSQUARE_THREE + +; BG effects for use in battle animations. + +ExecuteBGEffects: ; c8000 (32:4000) + ld hl, ActiveBGEffects + ld e, 5 +.loop + ld a, [hl] + and a + jr z, .next + ld c, l + ld b, h + push hl + push de + call DoBattleBGEffectFunction + pop de + pop hl +.next + ld bc, 4 + add hl, bc + dec e + jr nz, .loop + ret + +QueueBGEffect: ; c801a (32:401a) + ld hl, ActiveBGEffects + ld e, 5 +.loop + ld a, [hl] + and a + jr z, .load + ld bc, 4 + add hl, bc + dec e + jr nz, .loop + scf + ret + +.load + ld c, l + ld b, h + ld hl, BG_EFFECT_STRUCT_FUNCTION + add hl, bc + ld a, [wBattleAnimTemp0] + ld [hli], a + ld a, [wBattleAnimTemp1] + ld [hli], a + ld a, [wBattleAnimTemp2] + ld [hli], a + ld a, [wBattleAnimTemp3] + ld [hl], a + ret + +EndBattleBGEffect: ; c8043 (32:4043) + ld hl, BG_EFFECT_STRUCT_FUNCTION + add hl, bc + ld [hl], 0 + ret + +DoBattleBGEffectFunction: ; c804a (32:404a) + ld hl, BG_EFFECT_STRUCT_FUNCTION + add hl, bc + ld e, [hl] + ld d, 0 + ld hl, BattleBGEffects + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl + +BattleBGEffects: ; c805a (32:405a) +; entries correspond to ANIM_BG_* constants + dw BattleBGEffect_End + dw BattleBGEffect_FlashInverted + dw BattleBGEffect_FlashWhite + dw BattleBGEffect_WhiteHues + dw BattleBGEffect_BlackHues + dw BattleBGEffect_AlternateHues + dw BattleBGEffect_06 + dw BattleBGEffect_07 + dw BattleBGEffect_08 + dw BattleBGEffect_HideMon + dw BattleBGEffect_ShowMon + dw BattleBGEffect_EnterMon + dw BattleBGEffect_ReturnMon + dw BattleBGEffect_Surf + dw BattleBGEffect_Whirlpool + dw BattleBGEffect_Teleport + dw BattleBGEffect_NightShade + dw BattleBGEffect_FeetFollow + dw BattleBGEffect_HeadFollow + dw BattleBGEffect_DoubleTeam + dw BattleBGEffect_AcidArmor + dw BattleBGEffect_RapidFlash + dw BattleBGEffect_16 + dw BattleBGEffect_17 + dw BattleBGEffect_18 + dw BattleBGEffect_19 + dw BattleBGEffect_1a + dw BattleBGEffect_1b + dw BattleBGEffect_1c + dw BattleBGEffect_1d + dw BattleBGEffect_1e + dw BattleBGEffect_1f + dw BattleBGEffect_20 + dw BattleBGEffect_Withdraw + dw BattleBGEffect_BounceDown + dw BattleBGEffect_Dig + dw BattleBGEffect_Tackle + dw BattleBGEffect_25 + dw BattleBGEffect_26 + dw BattleBGEffect_27 + dw BattleBGEffect_28 + dw BattleBGEffect_Psychic + dw BattleBGEffect_2a + dw BattleBGEffect_2b + dw BattleBGEffect_2c + dw BattleBGEffect_2d + dw BattleBGEffect_2e + dw BattleBGEffect_2f + dw BattleBGEffect_30 + dw BattleBGEffect_31 + dw BattleBGEffect_32 + dw BattleBGEffect_VibrateMon + dw BattleBGEffect_WobbleMon + dw BattleBGEffect_35 + + +BattleBGEffect_End: ; c80c6 (32:40c6) + call EndBattleBGEffect + ret + +BatttleBGEffects_GetNamedJumptablePointer: ; c80ca (32:40ca) + ld hl, BG_EFFECT_STRUCT_JT_INDEX + add hl, bc + ld l, [hl] + ld h, 0 + add hl, hl + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + ret + +BattleBGEffects_AnonJumptable: ; c80d7 (32:40d7) + pop de + ld hl, BG_EFFECT_STRUCT_JT_INDEX + add hl, bc + ld l, [hl] + ld h, 0 + add hl, hl + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl + +BattleBGEffects_IncrementJumptable: ; c80e5 (32:40e5) + ld hl, BG_EFFECT_STRUCT_JT_INDEX + add hl, bc + inc [hl] + ret + +BattleBGEffect_FlashInverted: ; c80eb (32:40eb) + ld de, .inverted + jp BattleBGEffect_FlashContinue + +.inverted + db %11100100 ; 3210 + db %00011011 ; 0123 +; c80f3 + +BattleBGEffect_FlashWhite: ; c80f3 (32:40f3) + ld de, .white + jp BattleBGEffect_FlashContinue + +.white + db %11100100 ; 3210 + db %00000000 ; 0000 +; c80fb + +BattleBGEffect_FlashContinue: ; c80fb (32:40fb) +; current timer, flash duration, number of flashes + ld a, $1 + ld [wBattleAnimTemp0], a + ld hl, BG_EFFECT_STRUCT_JT_INDEX + add hl, bc + ld a, [hl] + and a + jr z, .init + dec [hl] + ret + +.init + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + ld hl, BG_EFFECT_STRUCT_JT_INDEX + add hl, bc + ld [hl], a + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + and a + jr nz, .apply_pal + call EndBattleBGEffect + ret + +.apply_pal + dec a + ld [hl], a + and 1 + ld l, a + ld h, 0 + add hl, de + ld a, [hl] + ld [wBGP], a + ret + +BattleBGEffect_WhiteHues: ; c812d (32:412d) + ld de, .Pals + call BattleBGEffect_GetNthDMGPal + jr c, .quit + ld [wBGP], a + ret + +.quit + call EndBattleBGEffect + ret + +.Pals: + db %11100100 + db %11100000 + db %11010000 + db -1 +; c8141 + +BattleBGEffect_BlackHues: ; c8141 (32:4141) + ld de, .Pals + call BattleBGEffect_GetNthDMGPal + jr c, .quit + ld [wBGP], a + ret + +.quit + call EndBattleBGEffect + ret + +.Pals: + db %11100100 + db %11110100 + db %11111000 + db -1 +; c8155 + +BattleBGEffect_AlternateHues: ; c8155 (32:4155) + ld de, .Pals + call BattleBGEffect_GetNthDMGPal + jr c, .quit + ld [wBGP], a + ld [wOBP1], a + ret + +.quit + call EndBattleBGEffect + ret + +.Pals: + db %11100100 + db %11111000 + db %11111100 + db %11111000 + db %11100100 + db %10010000 + db %01000000 + db %10010000 + db -2 +; c8171 + +BattleBGEffect_06: ; c8171 (32:4171) + call BattleBGEffects_CheckSGB + jr nz, .sgb + ld de, .PalsCGB + jr .okay + +.sgb + ld de, .PalsSGB +.okay + call BattleBGEffect_GetNthDMGPal + ld [wOBP0], a + ret + +.PalsCGB: + db %11100100 + db %10010000 + db -2 + +.PalsSGB: + db %11110000 + db %11000000 + db -2 +; c818b + +BattleBGEffect_07: ; c818b (32:418b) + call BattleBGEffects_CheckSGB + jr nz, .sgb + ld de, .PalsCGB + jr .okay + +.sgb + ld de, .PalsSGB +.okay + call BattleBGEffect_GetNthDMGPal + ld [wOBP0], a + ret + +.PalsCGB: + db %11100100 + db %11011000 + db -2 + +.PalsSGB: + db %11110000 + db %11001100 + db -2 +; c81a5 + +BattleBGEffect_08: ; c81a5 (32:41a5) + ld de, .Pals + call BattleBGEffect_GetNthDMGPal + ld [wBGP], a + ret + +.Pals: + db %00011011 + db %01100011 + db %10000111 + db -2 +; c81b3 + +BattleBGEffect_HideMon: ; c81b3 (32:41b3) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw BattleBGEffects_IncrementJumptable + dw BattleBGEffects_IncrementJumptable + dw BattleBGEffects_IncrementJumptable + dw .four + + +.zero + call BattleBGEffects_IncrementJumptable + push bc + call BGEffect_CheckBattleTurn + jr nz, .player_side + hlcoord 12, 0 + lb bc, 7, 7 + jr .got_pointer + +.player_side + hlcoord 2, 6 + lb bc, 6, 6 +.got_pointer + call ClearBox + pop bc + xor a + ld [hBGMapThird], a + ld a, $1 + ld [hBGMapMode], a + ret + +.four + xor a + ld [hBGMapMode], a + call EndBattleBGEffect + ret + +BattleBGEffect_ShowMon: ; c81ea (32:41ea) + call BGEffect_CheckFlyDigStatus + jr z, .not_flying + call EndBattleBGEffect + ret + +.not_flying + call BGEffect_CheckBattleTurn + jr nz, .player_side + ld de, .EnemyData + jr .got_pointer + +.player_side + ld de, .PlayerData +.got_pointer + ld a, e + ld [wBattleAnimTemp1], a + ld a, d + ld [wBattleAnimTemp2], a + call BattleBGEffect_RunPicResizeScript + ret + +.PlayerData: + db 0, $31, 0 + db -1 +.EnemyData: + db 3, $00, 3 + db -1 +; c8214 + +BattleBGEffect_FeetFollow: ; c8214 (32:4214) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + dw BattleBGEffects_IncrementJumptable + dw BattleBGEffects_IncrementJumptable + dw BattleBGEffects_IncrementJumptable + dw .five + + +.zero + call BGEffect_CheckFlyDigStatus + jr z, .not_flying_digging + ld hl, wNumActiveBattleAnims + inc [hl] + call EndBattleBGEffect + ret + +.not_flying_digging + call BattleBGEffects_IncrementJumptable + push bc + call BGEffect_CheckBattleTurn + jr nz, .player_turn + ld a, ANIM_OBJ_PLAYERFEETFOLLOW + ld [wBattleAnimTemp0], a + ld a, 16 * 8 + 4 + jr .okay + +.player_turn + ld a, ANIM_OBJ_ENEMYFEETFOLLOW + ld [wBattleAnimTemp0], a + ld a, 6 * 8 +.okay + ld [wBattleAnimTemp1], a + ld a, 8 * 8 + ld [wBattleAnimTemp2], a + xor a + ld [wBattleAnimTemp3], a + call _QueueBattleAnimation + pop bc + ret + +.one + call BattleBGEffects_IncrementJumptable + push bc + call BGEffect_CheckBattleTurn + jr nz, .player_turn_2 + hlcoord 12, 6 + lb bc, 1, 7 + jr .okay2 + +.player_turn_2 + hlcoord 2, 6 + lb bc, 1, 6 +.okay2 + call ClearBox + ld a, $1 + ld [hBGMapMode], a + pop bc + ret + +.five + xor a + ld [hBGMapMode], a + call EndBattleBGEffect + ret + +BattleBGEffect_HeadFollow: ; c8281 (32:4281) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + dw BattleBGEffects_IncrementJumptable + dw BattleBGEffects_IncrementJumptable + dw BattleBGEffects_IncrementJumptable + dw .five + + +.zero + call BGEffect_CheckFlyDigStatus + jr z, .not_flying_digging + ld hl, wNumActiveBattleAnims + inc [hl] + call EndBattleBGEffect + ret + +.not_flying_digging + call BattleBGEffects_IncrementJumptable + push bc + call BGEffect_CheckBattleTurn + jr nz, .player_turn + ld a, ANIM_OBJ_BA + ld [wBattleAnimTemp0], a + ld a, 16 * 8 + 4 + jr .okay + +.player_turn + ld a, ANIM_OBJ_BB + ld [wBattleAnimTemp0], a + ld a, 6 * 8 +.okay + ld [wBattleAnimTemp1], a + ld a, 8 * 8 + ld [wBattleAnimTemp2], a + xor a + ld [wBattleAnimTemp3], a + call _QueueBattleAnimation + pop bc + ret + +.one + call BattleBGEffects_IncrementJumptable + push bc + call BGEffect_CheckBattleTurn + jr nz, .player_turn_2 + hlcoord 12, 5 + lb bc, 2, 7 + jr .okay2 + +.player_turn_2 + hlcoord 2, 6 + lb bc, 2, 6 +.okay2 + call ClearBox + ld a, $1 + ld [hBGMapMode], a + pop bc + ret + +.five + xor a + ld [hBGMapMode], a + call EndBattleBGEffect + ret + +_QueueBattleAnimation: ; c82ee (32:42ee) + callfar QueueBattleAnimation + ret + +BattleBGEffect_27: ; c82f5 (32:42f5) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + dw BattleBGEffects_IncrementJumptable + dw BattleBGEffects_IncrementJumptable + dw .four + + +.zero + call BattleBGEffects_IncrementJumptable + call BGEffect_CheckBattleTurn + ld [hl], a + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + and a + jr z, .user + ld a, $9 + jr .okay + +.user + ld a, $8 +.okay + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld [hl], a + ret + +.one + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + and a + jr z, .user_2 + hlcoord 0, 6 + lb de, 8, 6 +.row1 + push de + push hl +.col1 + inc hl + ld a, [hld] + ld [hli], a + dec d + jr nz, .col1 + pop hl + ld de, SCREEN_WIDTH + add hl, de + pop de + dec e + jr nz, .row1 + jr .okay2 + +.user_2 + hlcoord 19, 0 + lb de, 8, 7 +.row2 + push de + push hl +.col2 + dec hl + ld a, [hli] + ld [hld], a + dec d + jr nz, .col2 + pop hl + ld de, SCREEN_WIDTH + add hl, de + pop de + dec e + jr nz, .row2 +.okay2 + xor a + ld [hBGMapThird], a + ld a, $1 + ld [hBGMapMode], a + call BattleBGEffects_IncrementJumptable + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + dec [hl] + ret + +.four + xor a + ld [hBGMapMode], a + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + and a + jr z, .done + ld hl, BG_EFFECT_STRUCT_JT_INDEX + add hl, bc + ld [hl], $1 + ret + +.done + call EndBattleBGEffect + ret + +BattleBGEffect_EnterMon: ; c837b (32:437b) + call BGEffect_CheckBattleTurn + jr nz, .player_turn + ld de, .EnemyData + jr .okay + +.player_turn + ld de, .PlayerData +.okay + ld a, e + ld [wBattleAnimTemp1], a + ld a, d + ld [wBattleAnimTemp2], a + call BattleBGEffect_RunPicResizeScript + ret + +.PlayerData: + db 2, $31, 2 + db 1, $31, 1 + db 0, $31, 0 + db -1 +.EnemyData: + db 5, $00, 5 + db 4, $00, 4 + db 3, $00, 3 + db -1 +; c83a8 + +BattleBGEffect_ReturnMon: ; c83a8 (32:43a8) + call BGEffect_CheckBattleTurn + jr nz, .player_turn + ld de, .EnemyData + jr .okay + +.player_turn + ld de, .PlayerData +.okay + ld a, e + ld [wBattleAnimTemp1], a + ld a, d + ld [wBattleAnimTemp2], a + call BattleBGEffect_RunPicResizeScript + ret + +.PlayerData: + db 0, $31, 0 + db -2, $66, 0 + db 1, $31, 1 + db -2, $44, 1 + db 2, $31, 2 + db -2, $22, 2 + db -3, $00, 0 + db -1 +.EnemyData: + db 3, $00, 3 + db -2, $77, 3 + db 4, $00, 4 + db -2, $55, 4 + db 5, $00, 5 + db -2, $33, 5 + db -3, $00, 0 + db -1 +; c83ed + +BattleBGEffect_RunPicResizeScript: ; c83ed (32:43ed) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw BattleBGEffects_IncrementJumptable + dw BattleBGEffects_IncrementJumptable + dw .restart + dw .end + + +.zero + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld e, [hl] + ld d, $0 + inc [hl] + ld a, [wBattleAnimTemp1] + ld l, a + ld a, [wBattleAnimTemp2] + ld h, a + add hl, de + add hl, de + add hl, de + ld a, [hl] + cp -1 + jr z, .end + cp -2 + jr z, .clear + cp -3 + jr z, .skip + call .PlaceGraphic +.skip + call BattleBGEffects_IncrementJumptable + ld a, $1 + ld [hBGMapMode], a + ret + +.clear + call .ClearBox + jr .zero + +.restart + xor a + ld [hBGMapMode], a + ld hl, BG_EFFECT_STRUCT_JT_INDEX + add hl, bc + ld [hl], $0 + ret + +.end + xor a + ld [hBGMapMode], a + call EndBattleBGEffect + ret + +.ClearBox: +; get dims + push bc + inc hl + ld a, [hli] + ld b, a + and $f + ld c, a + ld a, b + swap a + and $f + ld b, a +; get coords + ld e, [hl] + ld d, 0 + ld hl, .Coords + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + call ClearBox + pop bc + ret + +.PlaceGraphic: +; get dims + push bc + push hl + ld e, [hl] + ld d, 0 + ld hl, .BGSquares + add hl, de + add hl, de + add hl, de + ld a, [hli] + ld b, a + and $f + ld c, a + ld a, b + swap a + and $f + ld b, a +; store pointer + ld e, [hl] + inc hl + ld d, [hl] +; get byte + pop hl + inc hl + ld a, [hli] + ld [wBattleAnimTemp0], a +; get coord + push de + ld e, [hl] + ld d, 0 + ld hl, .Coords + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + pop de +; fill box +.row + push bc + push hl + ld a, [wBattleAnimTemp0] + ld b, a +.col + ld a, [de] + add b + ld [hli], a + inc de + dec c + jr nz, .col + pop hl + ld bc, SCREEN_WIDTH + add hl, bc + pop bc + dec b + jr nz, .row + pop bc + ret + +.Coords: + dwcoord 2, 6 + dwcoord 3, 8 + dwcoord 4, 10 + dwcoord 12, 0 + dwcoord 13, 2 + dwcoord 14, 4 + +.BGSquares: +bgsquare: MACRO + dn \1, \2 + dw \3 +endm + + bgsquare 6, 6, .SixBySix + bgsquare 4, 4, .FourByFour + bgsquare 2, 2, .TwoByTwo + bgsquare 7, 7, .SevenBySeven + bgsquare 5, 5, .FiveByFive + bgsquare 3, 3, .ThreeByThree + +.SixBySix: + db $00, $06, $0c, $12, $18, $1e + db $01, $07, $0d, $13, $19, $1f + db $02, $08, $0e, $14, $1a, $20 + db $03, $09, $0f, $15, $1b, $21 + db $04, $0a, $10, $16, $1c, $22 + db $05, $0b, $11, $17, $1d, $23 + +.FourByFour: + db $00, $0c, $12, $1e + db $02, $0e, $14, $20 + db $03, $0f, $15, $21 + db $05, $11, $17, $23 + +.TwoByTwo: + db $00, $1e + db $05, $23 + +.SevenBySeven: + db $00, $07, $0e, $15, $1c, $23, $2a + db $01, $08, $0f, $16, $1d, $24, $2b + db $02, $09, $10, $17, $1e, $25, $2c + db $03, $0a, $11, $18, $1f, $26, $2d + db $04, $0b, $12, $19, $20, $27, $2e + db $05, $0c, $13, $1a, $21, $28, $2f + db $06, $0d, $14, $1b, $22, $29, $30 + +.FiveByFive: + db $00, $07, $15, $23, $2a + db $01, $08, $16, $24, $2b + db $03, $0a, $18, $26, $2d + db $05, $0c, $1a, $28, $2f + db $06, $0d, $1b, $29, $30 + +.ThreeByThree: + db $00, $15, $2a + db $03, $18, $2d + db $06, $1b, $30 +; c8545 + +BattleBGEffect_Surf: ; c8545 (32:4545) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + + +.zero + call BattleBGEffects_IncrementJumptable + lb de, 2, 2 + call InitSurfWaves + +.one + ld a, [hLCDCPointer] + and a + ret z + push bc + call .RotatewSurfWaveBGEffect + pop bc + ret + +.two + call BattleAnim_ResetLCDStatCustom + ret + +.RotatewSurfWaveBGEffect: + ld hl, wSurfWaveBGEffect + ld de, wSurfWaveBGEffect + 1 + ld c, wSurfWaveBGEffectEnd - wSurfWaveBGEffect - 1 + ld a, [hl] + push af +.loop + ld a, [de] + inc de + ld [hli], a + dec c + jr nz, .loop + pop af + ld [hl], a + ld de, LYOverridesBackup + ld hl, wSurfWaveBGEffect + ld bc, $0 +.loop2 + ld a, [hLYOverrideStart] + cp e + jr nc, .load_zero + push hl + add hl, bc + ld a, [hl] + pop hl + jr .okay + +.load_zero + xor a +.okay + ld [de], a + ld a, c + inc a + and $3f + ld c, a + inc de + ld a, e + cp $5f + jr c, .loop2 + ret + +BattleBGEffect_Whirlpool: ; c8599 (32:4599) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + + +.zero + call BattleBGEffects_IncrementJumptable + call BattleBGEffects_ClearLYOverrides + ld a, rSCY - $ff00 + ld [hLCDCPointer], a + xor a + ld [hLYOverrideStart], a + ld a, $5e + ld [hLYOverrideEnd], a + lb de, 2, 2 + call Functionc8f2e + ret + +.one + call BattleBGEffect_WavyScreenFX + ret + +.two + call BattleAnim_ResetLCDStatCustom + ret + +BattleBGEffect_30: ; c85c2 (32:45c2) + call BattleBGEffects_ClearLYOverrides + ld a, rSCY - $ff00 + call BattleBGEffect_SetLCDStatCustoms1 + call EndBattleBGEffect + ret + +BattleBGEffect_31: ; c85ce (32:45ce) + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + ld e, a + add $4 + ld [hl], a + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + and $f0 + swap a + xor $ff + add $4 + ld d, a + ld hl, BG_EFFECT_STRUCT_JT_INDEX + add hl, bc + ld a, [hl] + ld [wBattleAnimTemp0], a + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + cp $20 + jr nc, .done + inc [hl] + inc [hl] + call Functionc8f9a + ret + +.done + call BattleBGEffects_ClearLYOverrides + call EndBattleBGEffect + ret + +BattleBGEffect_32: ; c8603 (32:4603) + call BattleAnim_ResetLCDStatCustom + ret + +BattleBGEffect_Psychic: ; c8607 (32:4607) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + + +.zero + call BattleBGEffects_IncrementJumptable + call BattleBGEffects_ClearLYOverrides + ld a, rSCX - $ff00 + ld [hLCDCPointer], a + xor a + ld [hLYOverrideStart], a + ld a, $5f + ld [hLYOverrideEnd], a + lb de, 6, 5 + call Functionc8f2e + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld [hl], $0 + ret + +.one + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + inc [hl] + and $3 + ret nz + call BattleBGEffect_WavyScreenFX + ret + +.two + call BattleAnim_ResetLCDStatCustom + ret + +BattleBGEffect_Teleport: ; c863f (32:463f) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + + +.zero + call BattleBGEffects_IncrementJumptable + call BattleBGEffects_ClearLYOverrides + ld a, rSCX - $ff00 + call BattleBGEffect_SetLCDStatCustoms1 + lb de, 6, 5 + call Functionc8f2e + ret + +.one + call BattleBGEffect_WavyScreenFX + ret + +.two + call BattleAnim_ResetLCDStatCustom + ret + +BattleBGEffect_NightShade: ; c8662 (32:4662) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + + +.zero + call BattleBGEffects_IncrementJumptable + call BattleBGEffects_ClearLYOverrides + ld a, rSCY - $ff00 + call BattleBGEffect_SetLCDStatCustoms1 + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld e, [hl] + ld d, 2 + call Functionc8f2e + ret + +.one + call BattleBGEffect_WavyScreenFX + ret + +.two + call BattleAnim_ResetLCDStatCustom + ret + +BattleBGEffect_DoubleTeam: ; c8689 (32:4689) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + dw .three + dw .four + dw .five + + +.zero + call BattleBGEffects_IncrementJumptable + call BattleBGEffects_ClearLYOverrides + ld a, rSCX - $ff00 + call BattleBGEffect_SetLCDStatCustoms1 + ld a, [hLYOverrideEnd] + inc a + ld [hLYOverrideEnd], a + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld [hl], $0 + ret + +.one + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + cp $10 + jr nc, .next + inc [hl] + call .UpdateLYOverrides + ret + +.three + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + cp $ff + jr z, .next + dec [hl] + call .UpdateLYOverrides + ret + +.next + call BattleBGEffects_IncrementJumptable + ret + +.two + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + ld d, $2 + call BattleBGEffects_Sine + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + add [hl] + call .UpdateLYOverrides + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + add $4 + ld [hl], a + +.four + ret + +.UpdateLYOverrides: + ld e, a + xor $ff + inc a + ld d, a + ld h, HIGH(LYOverridesBackup) + ld a, [hLYOverrideStart] + ld l, a + ld a, [hLYOverrideEnd] + sub l + srl a + push af +.loop + ld [hl], e + inc hl + ld [hl], d + inc hl + dec a + jr nz, .loop + pop af + ret nc + ld [hl], e + ret + +.five + call BattleAnim_ResetLCDStatCustom + ret + +BattleBGEffect_AcidArmor: ; c8709 (32:4709) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + + +.zero + call BattleBGEffects_IncrementJumptable + call BattleBGEffects_ClearLYOverrides + ld a, rSCY - $ff00 + call BattleBGEffect_SetLCDStatCustoms1 + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld e, [hl] + ld d, 2 + call Functionc8f2e + ld h, HIGH(LYOverridesBackup) + ld a, [hLYOverrideEnd] + ld l, a + ld [hl], $0 + dec l + ld [hl], $0 + ret + +.one + ld a, [hLYOverrideEnd] + ld l, a + ld h, HIGH(LYOverridesBackup) + ld e, l + ld d, h + dec de +.loop + ld a, [de] + dec de + ld [hld], a + ld a, [hLYOverrideStart] + cp l + jr nz, .loop + ld [hl], $90 + ld a, [hLYOverrideEnd] + ld l, a + ld a, [hl] + cp $1 + jr c, .okay + cp $90 + jr z, .okay + ld [hl], $0 +.okay + dec l + ld a, [hl] + cp $2 + ret c + cp $90 + ret z + ld [hl], $0 + ret + +.two + call BattleAnim_ResetLCDStatCustom + ret + +BattleBGEffect_Withdraw: ; c8761 (32:4761) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + + +.zero + call BattleBGEffects_IncrementJumptable + call BattleBGEffects_ClearLYOverrides + ld a, rSCY - $ff00 + call BattleBGEffect_SetLCDStatCustoms1 + ld a, [hLYOverrideEnd] + inc a + ld [hLYOverrideEnd], a + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld [hl], $1 + ret + +.one + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + and $3f + ld d, a + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + cp d + ret nc + call BGEffect_DisplaceLYOverridesBackup + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + rlca + rlca + and $3 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + add [hl] + ld [hl], a + ret + +.two + call BattleAnim_ResetLCDStatCustom + ret + +BattleBGEffect_Dig: ; c87a7 (32:47a7) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + dw .three + + +.zero + call BattleBGEffects_IncrementJumptable + call BattleBGEffects_ClearLYOverrides + ld a, rSCY - $ff00 + call BattleBGEffect_SetLCDStatCustoms1 + ld a, [hLYOverrideEnd] + inc a + ld [hLYOverrideEnd], a + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld [hl], $2 + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld [hl], $0 + ret + +.one + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + and a + jr z, .next + dec [hl] + ret + +.next + ld [hl], $10 + call BattleBGEffects_IncrementJumptable +.two + ld a, [hLYOverrideStart] + ld l, a + ld a, [hLYOverrideEnd] + sub l + dec a + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + cp [hl] + ret c + ld a, [hl] + push af + and $7 + jr nz, .skip + ld hl, BG_EFFECT_STRUCT_JT_INDEX + add hl, bc + dec [hl] +.skip + pop af + call BGEffect_DisplaceLYOverridesBackup + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + inc [hl] + inc [hl] + ret + +.three + call BattleAnim_ResetLCDStatCustom + ret + +BattleBGEffect_Tackle: ; c8805 (32:4805) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw Tackle_BGEffect25_2d_one + dw Tackle_BGEffect25_2d_two + dw .three + + +.zero + call BattleBGEffects_IncrementJumptable + call BattleBGEffects_ClearLYOverrides + ld a, rSCX - $ff00 + call BattleBGEffect_SetLCDStatCustoms1 + ld a, [hLYOverrideEnd] + inc a + ld [hLYOverrideEnd], a + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld [hl], $0 + call BGEffect_CheckBattleTurn + jr nz, .player_side + ld a, 2 + jr .okay + +.player_side + ld a, -2 +.okay + ld [hl], a + ret + +.three + call BattleAnim_ResetLCDStatCustom + ret + +BattleBGEffect_25: ; c8837 (32:4837) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw Tackle_BGEffect25_2d_one + dw Tackle_BGEffect25_2d_two + dw .three + + +.zero + call BattleBGEffects_IncrementJumptable + call BattleBGEffects_ClearLYOverrides + ld a, rSCX - $ff00 + call BattleBGEffect_SetLCDStatCustoms2 + ld a, [hLYOverrideEnd] + inc a + ld [hLYOverrideEnd], a + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld [hl], $0 + call BGEffect_CheckBattleTurn + jr nz, .player_side + ld a, 2 + jr .okay + +.player_side + ld a, -2 +.okay + ld [hl], a + ret + +.three + call BattleAnim_ResetLCDStatCustom + ret + +Tackle_BGEffect25_2d_one: + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + cp -8 + jr z, .reached_limit + cp 8 + jr nz, .finish +.reached_limit + call BattleBGEffects_IncrementJumptable +.finish + call Functionc88a5 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + add [hl] + ld [hl], a + ret + +Tackle_BGEffect25_2d_two: + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + and a + jr nz, .asm_c8893 + call BattleBGEffects_IncrementJumptable +.asm_c8893 + call Functionc88a5 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + xor $ff + inc a + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + add [hl] + ld [hl], a + ret + +Functionc88a5: ; c88a5 (32:48a5) + push af + ld a, [FXAnimID + 1] ; FXAnimID + 1 + or a + jr nz, .not_rollout + ld a, [FXAnimID] ; FXAnimID + cp ROLLOUT + jr z, .rollout +.not_rollout + pop af + jp BGEffect_FillLYOverridesBackup + +.rollout + ld a, [hLYOverrideStart] + ld d, a + ld a, [hLYOverrideEnd] + sub d + ld d, a + ld h, HIGH(LYOverridesBackup) + ld a, [hSCY] + or a + jr nz, .skip1 + ld a, [hLYOverrideStart] + or a + jr z, .skip2 + dec a + ld l, a + ld [hl], $0 + jr .skip2 + +.skip1 + ld a, [hLYOverrideEnd] + dec a + ld l, a + ld [hl], $0 +.skip2 + ld a, [hSCY] + ld l, a + ld a, [hLYOverrideStart] + sub l + jr nc, .skip3 + xor a + dec d +.skip3 + ld l, a + pop af +.loop + ld [hli], a + dec d + jr nz, .loop + ret + +BattleBGEffect_2d: ; c88e7 (32:48e7) + call BattleBGEffects_AnonJumptable +.anon_dw + dw BGEffect2d_2f_zero + dw Tackle_BGEffect25_2d_one + dw Tackle_BGEffect25_2d_two + dw .three + + +.three + call BattleAnim_ResetLCDStatCustom + ret + +BGEffect2d_2f_zero: + call BattleBGEffects_IncrementJumptable + call BattleBGEffects_ClearLYOverrides + ld a, rSCX - $ff00 + call BattleBGEffect_SetLCDStatCustoms1 + ld a, [hLYOverrideEnd] + inc a + ld [hLYOverrideEnd], a + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld [hl], $0 + call BGEffect_CheckBattleTurn + jr nz, .player_turn + ld a, -2 + jr .okay + +.player_turn + ld a, 2 +.okay + ld [hl], a + ret + +BattleBGEffect_2f: ; c8919 (32:4919) + call BattleBGEffects_AnonJumptable +.anon_dw + dw BGEffect2d_2f_zero + dw Tackle_BGEffect25_2d_one + dw .two + dw Tackle_BGEffect25_2d_two + dw .four + +.four + call BattleAnim_ResetLCDStatCustom +.two + ret + +BattleBGEffect_26: ; c892a (32:492a) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + + +.zero + call BattleBGEffects_IncrementJumptable + call BattleBGEffects_ClearLYOverrides + ld a, rSCX - $ff00 + call BattleBGEffect_SetLCDStatCustoms1 + ld a, [hLYOverrideEnd] + inc a + ld [hLYOverrideEnd], a + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld [hl], $0 + ret + +.one + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + ld d, $8 + call BattleBGEffects_Sine + call BGEffect_FillLYOverridesBackup + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + add $4 + ld [hl], a + ret + +.two + call BattleAnim_ResetLCDStatCustom + ret + +BattleBGEffect_2c: ; c8964 (32:4964) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + + +.zero + call BattleBGEffects_IncrementJumptable + call BattleBGEffects_ClearLYOverrides + ld a, rSCX - $ff00 + call BattleBGEffect_SetLCDStatCustoms1 + ld a, [hLYOverrideEnd] + inc a + ld [hLYOverrideEnd], a + xor a + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld [hli], a + ld [hl], a + ret + +.one + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + ld d, $6 + call BattleBGEffects_Sine + push af + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + ld d, $2 + call BattleBGEffects_Sine + ld e, a + pop af + add e + call BGEffect_FillLYOverridesBackup + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + add $8 + ld [hl], a + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + add $2 + ld [hl], a + ret + +.two + call BattleAnim_ResetLCDStatCustom + ret + +BattleBGEffect_28: ; c89b5 (32:49b5) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + + +.zero + call BattleBGEffects_IncrementJumptable + call BattleBGEffects_ClearLYOverrides + ld a, rSCX - $ff00 + call BattleBGEffect_SetLCDStatCustoms1 + ret + +.one + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + cp $20 + ret nc + inc [hl] + ld d, a + ld e, 4 + call Functionc8f2e + ret + +.two + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + and a + jr z, .reset + dec [hl] + ld d, a + ld e, 4 + call Functionc8f2e + ret + +.reset + call BattleAnim_ResetLCDStatCustom + ret + +BattleBGEffect_BounceDown: ; c89ee (32:49ee) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + + +.zero + call BattleBGEffects_IncrementJumptable + call BattleBGEffects_ClearLYOverrides + ld a, rSCY - $ff00 + call BattleBGEffect_SetLCDStatCustoms2 + ld a, [hLYOverrideEnd] + inc a + ld [hLYOverrideEnd], a + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld [hl], $1 + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld [hl], $20 + ret + +.one + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + cp $38 + ret nc + push af + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + ld d, $10 + call BattleBGEffects_Cosine + add $10 + ld d, a + pop af + add d + call BGEffect_DisplaceLYOverridesBackup + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + inc [hl] + inc [hl] + ret + +.two + call BattleAnim_ResetLCDStatCustom + ret + +BattleBGEffect_2a: ; c8a3a (32:4a3a) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + dw .three + dw .four + dw .five + +.zero + call BattleBGEffects_IncrementJumptable + ld a, $e4 + call BattleBGEffects_SetLYOverrides + ld a, $47 + call BattleBGEffect_SetLCDStatCustoms1 + ld a, [hLYOverrideEnd] + inc a + ld [hLYOverrideEnd], a + ld a, [hLYOverrideStart] + ld l, a + ld h, HIGH(LYOverridesBackup) +.loop + ld a, [hLYOverrideEnd] + cp l + jr z, .done + xor a + ld [hli], a + jr .loop + +.done + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld [hl], $0 +.one +.four + ret + +.two + call .GetLYOverride + jr nc, .next + call .SetLYOverridesBackup + ret + +.next + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld [hl], $0 + ld a, [hLYOverrideStart] + inc a + ld [hLYOverrideStart], a + call BattleBGEffects_IncrementJumptable + ret + +.three + call .GetLYOverride + jr nc, .finish + call .SetLYOverridesBackup + ld a, [hLYOverrideEnd] + dec a + ld l, a + ld [hl], e + ret + +.finish + call BattleBGEffects_IncrementJumptable + ret + +.SetLYOverridesBackup: + ld e, a + ld a, [hLYOverrideStart] + ld l, a + ld a, [hLYOverrideEnd] + sub l + srl a + ld h, HIGH(LYOverridesBackup) +.loop2 + ld [hl], e + inc hl + inc hl + dec a + jr nz, .loop2 + ret + +.five + call BattleBGEffects_ResetVideoHRAM + ret + +.GetLYOverride: + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + inc [hl] + srl a + srl a + srl a + ld e, a + ld d, 0 + ld hl, .data + add hl, de + ld a, [hl] + cp $ff + ret + +.data + db $00, $40, $90, $e4 + db -1 +; c8acc + +BattleBGEffect_2b: ; c8acc (32:4acc) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + + +.zero + call BattleBGEffects_IncrementJumptable + call BattleBGEffects_ClearLYOverrides + ld a, rSCX - $ff00 + call BattleBGEffect_SetLCDStatCustoms1 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld [hl], $40 + ret + +.one + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + and a + jr z, .done + dec [hl] + srl a + srl a + srl a + and $f + ld d, a + ld e, a + call Functionc8f2e + ret + +.done + call BattleAnim_ResetLCDStatCustom + ret + +BattleBGEffect_1c: ; c8b00 (32:4b00) + ld a, [hCGB] + and a + jr nz, .cgb + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + + +.zero + call BattleBGEffects_IncrementJumptable + ld a, $e4 + call BattleBGEffects_SetLYOverrides + ld a, rBGP - $ff00 + ld [hLCDCPointer], a + xor a + ld [hLYOverrideStart], a + ld a, $60 + ld [hLYOverrideEnd], a + ret + +.one + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + inc [hl] + ld e, a + and $7 + ret nz + ld a, e + and $18 + sla a + swap a + sla a + ld e, a + ld d, $0 + push bc + call BGEffect_CheckBattleTurn + jr nz, .player + ld hl, .CGB_DMGEnemyData + add hl, de + ld a, [hli] + ld [wOBP1], a + ld d, a + ld e, [hl] + lb bc, $2f, $30 + jr .okay + +.player + ld hl, .DMG_PlayerData + add hl, de + ld d, [hl] + inc hl + ld a, [hl] + ld [wOBP1], a + ld e, a + lb bc, $37, $28 +.okay + call .DMG_LYOverrideLoads + pop bc + ret + +.two + call BattleBGEffects_ResetVideoHRAM + ld a, $e4 + ld [wBGP], a + ld [wOBP1], a + ret + +.DMG_LYOverrideLoads: + ld hl, LYOverridesBackup +.loop1 + ld [hl], d + inc hl + dec b + jr nz, .loop1 +.loop2 + ld [hl], e + inc hl + dec c + jr nz, .loop2 + ret + +.cgb + ld de, .Jumptable + call BatttleBGEffects_GetNamedJumptablePointer + jp hl + +.Jumptable: + dw .cgb_zero + dw .cgb_one + dw .cgb_two +.cgb_zero + call BattleBGEffects_IncrementJumptable + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld [hl], $0 + ret + +.cgb_one + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + inc [hl] + ld e, a + and $7 + ret nz + ld a, e + and $18 + sla a + swap a + sla a + ld e, a + ld d, 0 + call BGEffect_CheckBattleTurn + jr nz, .player_2 + ld hl, .CGB_DMGEnemyData + add hl, de + ld a, [hli] + push hl + call BGEffects_LoadBGPal1_OBPal0 + pop hl + ld a, [hl] + call BGEffects_LoadBGPal0_OBPal1 + ret + +.player_2 + ld hl, .CGB_DMGEnemyData + add hl, de + ld a, [hli] + push hl + call BGEffects_LoadBGPal0_OBPal1 + pop hl + ld a, [hl] + call BGEffects_LoadBGPal1_OBPal0 + ret + +.cgb_two + ld a, $e4 + call BGEffects_LoadBGPal0_OBPal1 + ld a, $e4 + call BGEffects_LoadBGPal1_OBPal0 + call EndBattleBGEffect + ret + +.CGB_DMGEnemyData: + db $e4, $e4 + db $f8, $90 + db $fc, $40 + db $f8, $90 +.DMG_PlayerData: + db $e4, $e4 + db $90, $f8 + db $40, $fc + db $90, $f8 +; c8be8 + +BattleBGEffect_RapidFlash: ; c8be8 (32:4be8) + ld de, .FlashPals + call BGEffect_RapidCyclePals + ret + +.FlashPals: + db $e4, $6c, $fe +; c8bf2 + +BattleBGEffect_16: ; c8bf2 (32:4bf2) + ld de, .Pals + call BGEffect_RapidCyclePals + ret + +.Pals: + db $e4, $90, $40, $ff +; c8bfd + +BattleBGEffect_17: ; c8bfd (32:4bfd) + ld de, .Pals + call BGEffect_RapidCyclePals + ret + +.Pals: + db $e4, $f8, $fc, $ff +; c8c08 + +BattleBGEffect_18: ; c8c08 (32:4c08) + ld de, .Pals + call BGEffect_RapidCyclePals + ret + +.Pals: + db $e4, $90, $40, $90, $fe +; c8c14 + +BattleBGEffect_19: ; c8c14 (32:4c14) + ld de, .Pals + call BGEffect_RapidCyclePals + ret + +.Pals: + db $e4, $f8, $fc, $f8, $fe +; c8c20 + +BattleBGEffect_1a: ; c8c20 (32:4c20) + ld de, .Pals + call BGEffect_RapidCyclePals + ret + +.Pals: + db $e4, $f8, $fc, $f8, $e4, $90, $40, $90, $fe +; c8c30 + +BattleBGEffect_1b: ; c8c30 (32:4c30) + ld de, .Pals + call BGEffect_RapidCyclePals + ret + +.Pals: + db $e4, $fc, $e4, $00, $fe +; c8c3c + +BattleBGEffect_1d: ; c8c3c (32:4c3c) + ld de, .Pals + call BGEffect_RapidCyclePals + ret + +.Pals: + db $e4, $90, $40, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $00, $40, $90, $e4, $ff +; c8c55 + +BattleBGEffect_1e: ; c8c55 (32:4c55) + ld de, .Pals + call BGEffect_RapidCyclePals + ret + +.Pals: + db $00, $40, $90, $e4, $ff +; c8c61 + +BattleBGEffect_VibrateMon: ; c8c61 (32:4c61) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + + +.zero ; c8c68 (32:4c68) + call BattleBGEffects_IncrementJumptable + call BattleBGEffects_ClearLYOverrides + ld a, rSCX - $ff00 + call BattleBGEffect_SetLCDStatCustoms1 + ld a, [hLYOverrideEnd] + inc a + ld [hLYOverrideEnd], a + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld [hl], $1 + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld [hl], $20 + ret + +.one ; c8c85 (32:4c85) + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + and a + jr z, .finish + dec [hl] + and $1 + ret nz + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + xor $ff + inc a + ld [hl], a + call BGEffect_FillLYOverridesBackup + ret + +.finish + call BattleAnim_ResetLCDStatCustom + ret + +BattleBGEffect_WobbleMon: ; c8ca2 (32:4ca2) + call BattleBGEffects_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + + +.zero ; c8cab (32:4cab) + call BattleBGEffects_IncrementJumptable + call BattleBGEffects_ClearLYOverrides + ld a, rSCX - $ff00 + ld [hLCDCPointer], a + xor a + ld [hLYOverrideStart], a + ld a, $37 + ld [hLYOverrideEnd], a + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld [hl], $0 + ret + +.one ; c8cc3 (32:4cc3) + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + cp $40 + jr nc, .two + ld d, $6 + call BattleBGEffects_Sine + call BGEffect_FillLYOverridesBackup + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + add $2 + ld [hl], a + ret + +.two ; c8cdd (32:4cdd) + call BattleAnim_ResetLCDStatCustom + ret + +BattleBGEffect_2e: ; c8ce1 (32:4ce1) + call Functionc8d0b + jr c, .xor_a + bit 7, a + jr z, .okay +.xor_a + xor a +.okay + push af + call DelayFrame + pop af + ld [hSCY], a + xor $ff + inc a + ld [AnimObject01_YOffset], a + ret + +BattleBGEffect_1f: ; c8cf9 (32:4cf9) + call Functionc8d0b + jr nc, .skip + xor a +.skip + ld [hSCX], a + ret + +BattleBGEffect_20: ; c8d02 (32:4d02) + call Functionc8d0b + jr nc, .skip + xor a +.skip + ld [hSCY], a + ret + +Functionc8d0b: ; c8d0b (32:4d0b) + ld hl, BG_EFFECT_STRUCT_JT_INDEX + add hl, bc + ld a, [hl] + and a + jr nz, .okay + call EndBattleBGEffect + scf + ret + +.okay + dec [hl] + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + and $f + jr z, .every_16_frames + dec [hl] + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + and a + ret + +.every_16_frames + ld a, [hl] + swap a + or [hl] + ld [hl], a + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + xor $ff + inc a + ld [hl], a + and a + ret + +BattleBGEffect_35: ; c8d3a (32:4d3a) + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + cp $40 + jr nc, .finish + ld d, $6 + call BattleBGEffects_Sine + ld [hSCX], a + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + add $2 + ld [hl], a + ret + +.finish + xor a + ld [hSCX], a + ret + +BattleBGEffect_GetNthDMGPal: ; c8d57 (32:4d57) + ld hl, BG_EFFECT_STRUCT_JT_INDEX + add hl, bc + ld a, [hl] + and a + jr z, .zero + dec [hl] + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + call BattleBGEffect_GetNextDMGPal + ret + +.zero + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + ld hl, BG_EFFECT_STRUCT_JT_INDEX + add hl, bc + ld [hl], a + call BattleBGEffect_GetFirstDMGPal + ret + +BGEffect_RapidCyclePals: ; c8d77 (32:4d77) + ld a, [hCGB] + and a + jr nz, .cgb + push de + ld de, .Jumptable_DMG + call BatttleBGEffects_GetNamedJumptablePointer + pop de + jp hl + +.Jumptable_DMG: + dw .zero_dmg + dw .one_dmg + dw .two_dmg + + +.zero_dmg ; c8d8b (32:4d8b) + call BattleBGEffects_IncrementJumptable + ld a, $e4 + call BattleBGEffects_SetLYOverrides + ld a, $47 + call BattleBGEffect_SetLCDStatCustoms1 + ld a, [hLYOverrideEnd] + inc a + ld [hLYOverrideEnd], a + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + ld [hl], $0 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld [hl], a + ret + +.one_dmg ; c8daa (32:4daa) + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + and $f + jr z, .okay_1_dmg + dec [hl] + ret + +.okay_1_dmg + ld a, [hl] + swap a + or [hl] + ld [hl], a + call BattleBGEffect_GetFirstDMGPal + jr c, .okay_2_dmg + call BGEffect_FillLYOverridesBackup + ret + +.okay_2_dmg + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + dec [hl] + ret + +.two_dmg ; c8dc9 (32:4dc9) + call BattleBGEffects_ResetVideoHRAM + ld a, %11100100 + ld [rBGP], a + call EndBattleBGEffect + ret + +.cgb + push de + ld de, .Jumptable_CGB + call BatttleBGEffects_GetNamedJumptablePointer + pop de + jp hl + +.Jumptable_CGB: ; c8ddd (32:4ddd) + dw .zero_cgb + dw .one_cgb + dw .two_cgb + dw .three_cgb + dw .four_cgb + + +.zero_cgb ; c8de7 (32:4de7) + call BGEffect_CheckBattleTurn + jr nz, .player_turn_cgb + call BattleBGEffects_IncrementJumptable + call BattleBGEffects_IncrementJumptable +.player_turn_cgb + call BattleBGEffects_IncrementJumptable + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + ld [hl], $0 + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld [hl], a + ret + +.one_cgb ; c8e02 (32:4e02) + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + and $f + jr z, .okay_1_cgb + dec [hl] + ret + +.okay_1_cgb + ld a, [hl] + swap a + or [hl] + ld [hl], a + call BattleBGEffect_GetFirstDMGPal + jr c, .okay_2_cgb + call BGEffects_LoadBGPal0_OBPal1 + ret + +.okay_2_cgb + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + dec [hl] + ret + +.two_cgb ; c8e21 (32:4e21) + ld a, $e4 + call BGEffects_LoadBGPal0_OBPal1 + call EndBattleBGEffect + ret + +.three_cgb ; c8e2a (32:4e2a) + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hl] + and $f + jr z, .okay_3_cgb + dec [hl] + ret + +.okay_3_cgb + ld a, [hl] + swap a + or [hl] + ld [hl], a + call BattleBGEffect_GetFirstDMGPal + jr c, .okay_4_cgb + call BGEffects_LoadBGPal1_OBPal0 + ret + +.okay_4_cgb + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + dec [hl] + ret + +.four_cgb ; c8e49 (32:4e49) + ld a, $e4 + call BGEffects_LoadBGPal1_OBPal0 + call EndBattleBGEffect + ret + +BGEffects_LoadBGPal0_OBPal1: ; c8e52 (32:4e52) + ld h, a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld a, h + push bc + push af + ld hl, BGPals + ld de, UnknBGPals + ld b, a + ld c, $1 + call CopyPals + ld hl, OBPals + 8 + ld de, UnknOBPals + 8 + pop af + ld b, a + ld c, $1 + call CopyPals + pop bc + pop af + ld [rSVBK], a + ld a, $1 + ld [hCGBPalUpdate], a + ret + +BGEffects_LoadBGPal1_OBPal0: ; c8e7f (32:4e7f) + ld h, a + ld a, [rSVBK] + push af + ld a, $5 + ld [rSVBK], a + ld a, h + push bc + push af + ld hl, BGPals + 8 + ld de, UnknBGPals + 8 + ld b, a + ld c, $1 + call CopyPals + ld hl, OBPals ; OBPals + ld de, UnknOBPals ; wd040 + pop af + ld b, a + ld c, $1 + call CopyPals + pop bc + pop af + ld [rSVBK], a + ld a, $1 + ld [hCGBPalUpdate], a + ret + +BattleBGEffect_GetFirstDMGPal: ; c8eac (32:4eac) + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld a, [hl] + inc [hl] +BattleBGEffect_GetNextDMGPal: ; c8eb2 (32:4eb2) + ld l, a + ld h, $0 + add hl, de + ld a, [hl] + cp -1 + jr z, .quit + cp -2 + jr nz, .repeat + ld a, [de] + ld hl, BG_EFFECT_STRUCT_03 + add hl, bc + ld [hl], $0 +.repeat + and a + ret + +.quit + scf + ret + +BattleBGEffects_ClearLYOverrides: ; c8eca (32:4eca) + xor a +BattleBGEffects_SetLYOverrides: ; c8ecb (32:4ecb) + ld hl, LYOverrides ; wListPointer + ld e, $99 +.loop1 + ld [hli], a + dec e + jr nz, .loop1 + ld hl, LYOverridesBackup + ld e, $91 +.loop2 + ld [hli], a + dec e + jr nz, .loop2 + ret + +BattleBGEffect_SetLCDStatCustoms1: ; c8ede (32:4ede) + ld [hLCDCPointer], a + call BGEffect_CheckBattleTurn + jr nz, .player_turn + lb de, $00, $36 + jr .okay + +.player_turn + lb de, $2f, $5e +.okay + ld a, d + ld [hLYOverrideStart], a + ld a, e + ld [hLYOverrideEnd], a + ret + +BattleBGEffect_SetLCDStatCustoms2: ; c8ef4 (32:4ef4) + ld [hLCDCPointer], a + call BGEffect_CheckBattleTurn + jr nz, .player_turn + lb de, $00, $36 + jr .okay + +.player_turn + lb de, $2d, $5e +.okay + ld a, d + ld [hLYOverrideStart], a + ld a, e + ld [hLYOverrideEnd], a + ret + +BattleAnim_ResetLCDStatCustom: ; c8f0a (32:4f0a) + xor a + ld [hLYOverrideStart], a + ld [hLYOverrideEnd], a + call BattleBGEffects_ClearLYOverrides + xor a + ld [hLCDCPointer], a + call EndBattleBGEffect + ret + +BattleBGEffects_ResetVideoHRAM: ; c8f19 (32:4f19) + xor a + ld [hLCDCPointer], a + ld a, %11100100 + ld [rBGP], a + ld [wBGP], a + ld [wOBP1], a + ld [hLYOverrideStart], a + ld [hLYOverrideEnd], a + call BattleBGEffects_ClearLYOverrides + ret + +Functionc8f2e: ; c8f2e (32:4f2e) + push bc + xor a + ld [wBattleAnimTemp0], a + ld a, e + ld [wBattleAnimTemp1], a + ld a, d + ld [wBattleAnimTemp2], a + ld a, $80 + ld [wBattleAnimTemp3], a + ld bc, LYOverridesBackup +.loop + ld a, [hLYOverrideStart] + cp c + jr nc, .next + ld a, [hLYOverrideEnd] + cp c + jr c, .next + ld a, [wBattleAnimTemp2] + ld d, a + ld a, [wBattleAnimTemp0] + call BattleBGEffects_Sine + ld [bc], a +.next + inc bc + ld a, [wBattleAnimTemp1] + ld hl, wBattleAnimTemp0 + add [hl] + ld [hl], a + ld hl, wBattleAnimTemp3 + dec [hl] + jr nz, .loop + pop bc + ret + +InitSurfWaves: ; c8f69 (32:4f69) + push bc + xor a + ld [wBattleAnimTemp0], a + ld a, e + ld [wBattleAnimTemp1], a + ld a, d + ld [wBattleAnimTemp2], a + ld a, $40 + ld [wBattleAnimTemp3], a + ld bc, wSurfWaveBGEffect +.loop + ld a, [wBattleAnimTemp2] + ld d, a + ld a, [wBattleAnimTemp0] + call BattleBGEffects_Sine + ld [bc], a + inc bc + ld a, [wBattleAnimTemp1] + ld hl, wBattleAnimTemp0 + add [hl] + ld [hl], a + ld hl, wBattleAnimTemp3 + dec [hl] + jr nz, .loop + pop bc + ret + +Functionc8f9a: ; c8f9a (32:4f9a) + push bc + ld [wBattleAnimTemp3], a + ld a, e + ld [wBattleAnimTemp1], a + ld a, d + ld [wBattleAnimTemp2], a + call .GetLYOverrideBackupAddrOffset + ld hl, LYOverridesBackup + add hl, de + ld c, l + ld b, h +.loop + ld a, [wBattleAnimTemp3] + and a + jr z, .done + dec a + ld [wBattleAnimTemp3], a + push af + ld a, [wBattleAnimTemp2] + ld d, a + ld a, [wBattleAnimTemp1] + push hl + call BattleBGEffects_Sine + ld e, a + pop hl + ld a, [hLYOverrideEnd] + cp c + jr c, .skip1 + ld a, e + ld [bc], a + inc bc +.skip1 + ld a, [hLYOverrideStart] + cp l + jr nc, .skip2 + ld [hl], e + dec hl +.skip2 + ld a, [wBattleAnimTemp1] + add $4 + ld [wBattleAnimTemp1], a + pop af + jr .loop + +.done + pop bc + and a + ret + +.GetLYOverrideBackupAddrOffset: + ld a, [hLYOverrideStart] + ld e, a + ld a, [wBattleAnimTemp0] + add e + ld e, a + ld d, $0 + ret + +BattleBGEffect_WavyScreenFX: ; c8fef (32:4fef) + push bc + ld a, [hLYOverrideStart] + ld l, a + inc a + ld e, a + ld h, HIGH(LYOverridesBackup) + ld d, h + ld a, [hLYOverrideEnd] + sub l + and a + jr z, .done + ld c, a + ld a, [hl] + push af +.loop + ld a, [de] + inc de + ld [hli], a + dec c + jr nz, .loop + pop af + ld [hl], a +.done + pop bc + ret + +BGEffect_FillLYOverridesBackup: ; c900b (32:500b) + push af + ld h, HIGH(LYOverridesBackup) + ld a, [hLYOverrideStart] + ld l, a + ld a, [hLYOverrideEnd] + sub l + ld d, a + pop af +.loop + ld [hli], a + dec d + jr nz, .loop + ret + +BGEffect_DisplaceLYOverridesBackup: ; c901b (32:501b) + ; e = a; d = [hLYOverrideEnd] - [hLYOverrideStart] - a + push af + ld e, a + ld a, [hLYOverrideStart] + ld l, a + ld a, [hLYOverrideEnd] + sub l + sub e + ld d, a + ld h, HIGH(LYOverridesBackup) + ld a, [hLYOverrideStart] + ld l, a + ld a, $90 +.loop + ld [hli], a + dec e + jr nz, .loop + pop af + xor $ff +.loop2 + ld [hli], a + dec d + jr nz, .loop2 + ret + +BGEffect_CheckBattleTurn: ; c9038 (32:5038) + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hBattleTurn] + and $1 + xor [hl] + ret + +BGEffect_CheckFlyDigStatus: ; c9042 (32:5042) + ld hl, BG_EFFECT_STRUCT_BATTLE_TURN + add hl, bc + ld a, [hBattleTurn] + and $1 + xor [hl] + jr nz, .player + ld a, [EnemySubStatus3] ; EnemySubStatus3 + and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND + ret + +.player + ld a, [PlayerSubStatus3] ; PlayerSubStatus3 + and 1 << SUBSTATUS_FLYING | 1 << SUBSTATUS_UNDERGROUND + ret + +BattleBGEffects_CheckSGB: ; c9059 (32:5059) + ld a, [hSGB] + and a + ret + +BattleBGEffects_Sine: ; c905d (32:505d) + ld e, a + callfar BattleAnim_Sine_e + ld a, e + ret + +BattleBGEffects_Cosine: ; c9066 (32:5066) + ld e, a + callfar BattleAnim_Cosine_e + ld a, e + ret + +; c906f (32:506f) diff --git a/engine/battle_anims/engine.asm b/engine/battle_anims/engine.asm new file mode 100755 index 000000000..ae3bdde28 --- /dev/null +++ b/engine/battle_anims/engine.asm @@ -0,0 +1,314 @@ +QueueBattleAnimation: ; cc9a1 (33:49a1) + ld hl, ActiveAnimObjects + ld e, 10 +.loop + ld a, [hl] + and a + jr z, .done + ld bc, BATTLEANIMSTRUCT_LENGTH + add hl, bc + dec e + jr nz, .loop + scf + ret + +.done + ld c, l + ld b, h + ld hl, wNumActiveBattleAnims + inc [hl] + call InitBattleAnimation + ret + +DeinitBattleAnimation: ; cc9bd + ld hl, BATTLEANIMSTRUCT_INDEX + add hl, bc + ld [hl], $0 + ret + +; cc9c4 + +InitBattleAnimation: ; cc9c4 (33:49c4) + ld a, [wBattleAnimTemp0] + ld e, a + ld d, 0 + ld hl, BattleAnimObjects +rept 6 + add hl, de +endr + ld e, l + ld d, h + ld hl, BATTLEANIMSTRUCT_INDEX + add hl, bc + ld a, [wNumActiveBattleAnims] + ld [hli], a ; Index + ld a, [de] + inc de + ld [hli], a ; 01 + ld a, [de] + inc de + ld [hli], a ; 02 + ld a, [de] + inc de + ld [hli], a ; Frameset ID + ld a, [de] + inc de + ld [hli], a ; Function + ld a, [de] + inc de + ld [hli], a ; 05 + ld a, [de] + call GetBattleAnimTileOffset + ld [hli], a ; Tile ID + ld a, [wBattleAnimTemp1] + ld [hli], a ; X Coord + ld a, [wBattleAnimTemp2] + ld [hli], a ; Y Coord + xor a + ld [hli], a ; X Offset + ld [hli], a ; Y Offset + ld a, [wBattleAnimTemp3] + ld [hli], a ; 0b + xor a + ld [hli], a ; 0c + dec a + ld [hli], a ; 0d + xor a + ld [hli], a ; 0e + ld [hli], a ; 0f + ld [hl], a ; 10 + ret + +BattleAnimOAMUpdate: ; cca09 + call InitBattleAnimBuffer + call GetBattleAnimFrame + cp -3 + jp z, .done + cp -4 + jp z, .delete + push af + ld hl, wBattleAnimTempOAMFlags + ld a, [wBattleAnimTemp7] + xor [hl] + and $e0 + ld [hl], a + pop af + push bc + call GetBattleAnimOAMPointer + ld a, [wBattleAnimTempTileID] + add [hl] + ld [wBattleAnimTempTileID], a + inc hl + ld a, [hli] + ld c, a + ld a, [hli] + ld h, [hl] + ld l, a + ld a, [wBattleAnimOAMPointerLo] + ld e, a + ld d, HIGH(Sprites) +.loop + ld a, [wBattleAnimTempYCoord] + ld b, a + ld a, [wBattleAnimTempYOffset] + add b + ld b, a + push hl + ld a, [hl] + ld hl, wBattleAnimTempOAMFlags + bit 6, [hl] + jr z, .no_yflip + add $8 + xor $ff + inc a + +.no_yflip + pop hl + add b + ld [de], a + inc hl + inc de + ld a, [wBattleAnimTempXCoord] + ld b, a + ld a, [wBattleAnimTempXOffset] + add b + ld b, a + push hl + ld a, [hl] + ld hl, wBattleAnimTempOAMFlags + bit 5, [hl] + jr z, .no_xflip + add $8 + xor $ff + inc a + +.no_xflip + pop hl + add b + ld [de], a + inc hl + inc de + ld a, [wBattleAnimTempTileID] + add $31 + add [hl] + ld [de], a + inc hl + inc de + ld a, [wBattleAnimTempOAMFlags] + ld b, a + ld a, [hl] + xor b + and $e0 + ld b, a + ld a, [hl] + and $10 + or b + ld b, a + ld a, [wBattleAnimTempPalette] + and $f + or b + ld [de], a + inc hl + inc de + ld a, e + ld [wBattleAnimOAMPointerLo], a + cp $a0 + jr nc, .exit_set_carry + dec c + jr nz, .loop + pop bc + jr .done + +.delete + call DeinitBattleAnimation + +.done + and a + ret + +.exit_set_carry + pop bc + scf + ret + +; ccaaa + +InitBattleAnimBuffer: ; ccaaa + ld hl, BATTLEANIMSTRUCT_01 + add hl, bc + ld a, [hl] + and %10000000 + ld [wBattleAnimTempOAMFlags], a + xor a + ld [wBattleAnimTemp7], a + ld hl, BATTLEANIMSTRUCT_PALETTE + add hl, bc + ld a, [hl] + ld [wBattleAnimTempPalette], a + ld hl, BATTLEANIMSTRUCT_02 + add hl, bc + ld a, [hl] + ld [wBattleAnimTemp1], a + ld hl, BATTLEANIMSTRUCT_TILEID + add hl, bc + ld a, [hli] + ld [wBattleAnimTempTileID], a + ld a, [hli] + ld [wBattleAnimTempXCoord], a + ld a, [hli] + ld [wBattleAnimTempYCoord], a + ld a, [hli] + ld [wBattleAnimTempXOffset], a + ld a, [hli] + ld [wBattleAnimTempYOffset], a + ld a, [hBattleTurn] + and a + ret z + ld hl, BATTLEANIMSTRUCT_01 + add hl, bc + ld a, [hl] + ld [wBattleAnimTempOAMFlags], a + bit 0, [hl] + ret z + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hli] + ld d, a + ld a, (-10 * 8) + 4 + sub d + ld [wBattleAnimTempXCoord], a + ld a, [hli] + ld d, a + ld a, [wBattleAnimTemp1] + cp $ff + jr nz, .check_kinesis_softboiled_milkdrink + ld a, 5 * 8 + add d + jr .done + +.check_kinesis_softboiled_milkdrink + sub d + push af + ld a, [FXAnimID + 1] + or a + jr nz, .no_sub + ld a, [FXAnimID] + cp KINESIS + jr z, .kinesis + cp SOFTBOILED + jr z, .softboiled + cp MILK_DRINK + jr nz, .no_sub +.kinesis +.softboiled +.milk_drink + pop af + sub 1 * 8 + jr .done + +.no_sub + pop af +.done + ld [wBattleAnimTempYCoord], a + ld a, [hli] + xor $ff + inc a + ld [wBattleAnimTempXOffset], a + ret + +; ccb31 + +GetBattleAnimTileOffset: ; ccb31 (33:4b31) + push hl + push bc + ld hl, wBattleAnimTileDict + ld b, a + ld c, 10 / 2 +.loop + ld a, [hli] + cp b + jr z, .load + inc hl + dec c + jr nz, .loop + xor a + jr .done + +.load + ld a, [hl] +.done + pop bc + pop hl + ret + +_ExecuteBGEffects: ; ccb48 + callfar ExecuteBGEffects + ret + +; ccb4f + +_QueueBGEffect: ; ccb4f (33:4b4f) + callfar QueueBGEffect + ret + +; ccb56 (33:4b56) diff --git a/engine/battle_anims/functions.asm b/engine/battle_anims/functions.asm new file mode 100755 index 000000000..ea9fb70b3 --- /dev/null +++ b/engine/battle_anims/functions.asm @@ -0,0 +1,4157 @@ +DoBattleAnimFrame: ; ccfbe + ld hl, BATTLEANIMSTRUCT_FUNCTION + add hl, bc + ld e, [hl] + ld d, 0 + ld hl, .Jumptable + add hl, de + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl +; ccfce + +.Jumptable: +; entries correspond to BATTLEANIMFUNC_* constants + dw BattleAnimFunction_Null ; 00 + dw BattleAnimFunction_01 ; 01 + dw BattleAnimFunction_02 ; 02 + dw BattleAnimFunction_03 ; 03 + dw BattleAnimFunction_04 ; 04 + dw BattleAnimFunction_ThrowFromPlayerToEnemy ; 05 + dw BattleAnimFunction_ThrowFromPlayerToEnemyAndDisappear ; 06 + dw BattleAnimFunction_07 ; 07 + dw BattleAnimFunction_08 ; 08 + dw BattleAnimFunction_09 ; 09 + dw BattleAnimFunction_0A ; 0a + dw BattleAnimFunction_RazorLeaf ; 0b + dw BattleAnimFunction_0C ; 0c + dw BattleAnimFunction_0D ; 0d + dw BattleAnimFunction_0E ; 0e + dw BattleAnimFunction_0F ; 0f + dw BattleAnimFunction_10 ; 10 + dw BattleAnimFunction_11 ; 11 + dw BattleAnimFunction_PokeBall ; 12 + dw BattleAnimFunction_PokeBallBlocked ; 13 + dw BattleAnimFunction_14 ; 14 + dw BattleAnimFunction_15 ; 15 + dw BattleAnimFunction_16 ; 16 + dw BattleAnimFunction_17 ; 17 + dw BattleAnimFunction_18 ; 18 + dw BattleAnimFunction_19 ; 19 + dw BattleAnimFunction_1A ; 1a + dw BattleAnimFunction_1B ; 1b + dw BattleAnimFunction_1C ; 1c + dw BattleAnimFunction_1D ; 1d + dw BattleAnimFunction_1E ; 1e + dw BattleAnimFunction_1F ; 1f + dw BattleAnimFunction_LeechSeed ; 20 + dw BattleAnimFunction_21 ; 21 + dw BattleAnimFunction_22 ; 22 + dw BattleAnimFunction_23 ; 23 + dw BattleAnimFunction_24 ; 24 + dw BattleAnimFunction_25 ; 25 + dw BattleAnimFunction_26 ; 26 + dw BattleAnimFunction_27 ; 27 + dw BattleAnimFunction_28 ; 28 + dw BattleAnimFunction_SpiralDescent ; 29 + dw BattleAnimFunction_PoisonGas ; 2a + dw BattleAnimFunction_Horn ; 2b + dw BattleAnimFunction_2C ; 2c + dw BattleAnimFunction_2D ; 2d + dw BattleAnimFunction_2E ; 2e + dw BattleAnimFunction_2F ; 2f + dw BattleAnimFunction_30 ; 30 + dw BattleAnimFunction_31 ; 31 + dw BattleAnimFunction_32 ; 32 + dw BattleAnimFunction_33 ; 33 + dw BattleAnimFunction_34 ; 34 + dw BattleAnimFunction_35 ; 35 + dw BattleAnimFunction_36 ; 36 + dw BattleAnimFunction_37 ; 37 + dw BattleAnimFunction_38 ; 38 + dw BattleAnimFunction_39 ; 39 + dw BattleAnimFunction_3A ; 3a + dw BattleAnimFunction_3B ; 3b + dw BattleAnimFunction_3C ; 3c + dw BattleAnimFunction_3D ; 3d + dw BattleAnimFunction_3E ; 3e + dw BattleAnimFunction_3F ; 3f + dw BattleAnimFunction_40 ; 40 + dw BattleAnimFunction_41 ; 41 + dw BattleAnimFunction_42 ; 42 + dw BattleAnimFunction_43 ; 43 + dw BattleAnimFunction_44 ; 44 + dw BattleAnimFunction_45 ; 45 + dw BattleAnimFunction_46 ; 46 + dw BattleAnimFunction_47 ; 47 + dw BattleAnimFunction_48 ; 48 + dw BattleAnimFunction_49 ; 49 + dw BattleAnimFunction_4A ; 4a + dw BattleAnimFunction_4B ; 4b + dw BattleAnimFunction_4C ; 4c + dw BattleAnimFunction_4D ; 4d + dw BattleAnimFunction_4E ; 4e + dw BattleAnimFunction_4F ; 4f + +BattleAnimFunction_Null: ; cd06e (33:506e) + call BattleAnim_AnonJumptable +.anon_dw + dw .zero + dw .one +.one + call DeinitBattleAnimation +.zero + ret + +BattleAnimFunction_ThrowFromPlayerToEnemyAndDisappear: ; cd079 (33:5079) + call BattleAnimFunction_ThrowFromPlayerToEnemy + ret c + call DeinitBattleAnimation + ret + +BattleAnimFunction_ThrowFromPlayerToEnemy: ; cd081 (33:5081) + ; If x coord at $88 or beyond, abort. + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $88 + ret nc + ; Move right 2 pixels + add $2 + ld [hl], a + ; Move down 1 pixel + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + dec [hl] + ; Decrease ??? and hold onto its previous value (argument of the sine function) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + dec [hl] + ; Get ???, which is the amplitude of the sine function + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld d, [hl] + call BattleAnim_Sine + ; Store the result in the Y offset + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + ; Carry flag denotes success + scf + ret + +BattleAnimFunction_04: ; cd0a6 (33:50a6) + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $88 + jr c, .asm_cd0b3 + call DeinitBattleAnimation + ret + +.asm_cd0b3 + add $2 + ld [hl], a + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + dec [hl] + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + inc [hl] + inc [hl] + inc [hl] + inc [hl] + ld d, $10 + push af + push de + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop de + pop af + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + sra a + sra a + sra a + sra a + ld [hl], a + ret + +BattleAnimFunction_03: ; cd0e3 (33:50e3) + call BattleAnim_AnonJumptable +.anon_dw + dw .zero + dw .one +.zero + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + bit 7, [hl] + ld a, $0 + jr z, .asm_cd0f9 + ld a, $20 +.asm_cd0f9 + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $7f + ld [hl], a +.one + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld d, [hl] + push af + push de + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop de + pop af + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + inc [hl] + ret + +BattleAnimFunction_01: ; cd12a (33:512a) + call BattleAnim_AnonJumptable +.anon_dw + dw .zero + dw .one +.one + call DeinitBattleAnimation + ret + +.zero + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $84 + ret nc + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + call Functionce70a + ret + +BattleAnimFunction_02: ; cd146 (33:5146) + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $84 + jr nc, .asm_cd158 + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + call Functionce70a + ret + +.asm_cd158 + call DeinitBattleAnimation + ret + +BattleAnimFunction_PokeBall: ; cd15c (33:515c) + call BattleAnim_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + dw .three + dw .four + dw .five + dw .six + dw .seven + dw .eight + dw .nine + dw .ten + dw .eleven +.zero ; init + call GetBallAnimPal + call BattleAnim_IncAnonJumptableIndex + ret + +.one + call BattleAnimFunction_ThrowFromPlayerToEnemy + ret c + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + add [hl] + ld [hl], a + ld a, BATTLEANIMFRAMESET_0B + call ReinitBattleAnimFrameset + call BattleAnim_IncAnonJumptableIndex + ret + +.three + call BattleAnim_IncAnonJumptableIndex + ld a, BATTLEANIMFRAMESET_09 + call ReinitBattleAnimFrameset + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $0 + inc hl + ld [hl], $10 +.four + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hli] + ld d, [hl] + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + dec a + ld [hl], a + and $1f + ret nz + ld [hl], a + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + sub $4 + ld [hl], a + ret nz + ld a, BATTLEANIMFRAMESET_0C + call ReinitBattleAnimFrameset + call BattleAnim_IncAnonJumptableIndex + ret + +.six + ld a, BATTLEANIMFRAMESET_0D + call ReinitBattleAnimFrameset + ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX + add hl, bc + dec [hl] +.two +.five +.nine + ret + +.seven + call GetBallAnimPal + ld a, BATTLEANIMFRAMESET_0A + call ReinitBattleAnimFrameset + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld [hl], $20 +.eight +.ten + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hli] + ld d, [hl] + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + dec a + ld [hl], a + and $1f + jr z, .eleven + and $f + ret nz + call BattleAnim_IncAnonJumptableIndex + ret + +.eleven + call DeinitBattleAnimation + ret + +BattleAnimFunction_PokeBallBlocked: ; cd212 (33:5212) + call BattleAnim_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two +.zero + call GetBallAnimPal + call BattleAnim_IncAnonJumptableIndex + ret + +.one + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $70 + jr nc, .next + call BattleAnimFunction_ThrowFromPlayerToEnemy + ret + +.next + call BattleAnim_IncAnonJumptableIndex +.two + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + ld a, [hl] + cp $80 + jr nc, .done + add $4 + ld [hl], a + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + dec [hl] + dec [hl] + ret + +.done + call DeinitBattleAnimation + ret + +GetBallAnimPal: ; cd249 (33:5249) + ld hl, BallColors + ld a, [rSVBK] + push af + ld a, $1 + ld [rSVBK], a + ld a, [CurItem] ; CurItem + ld e, a + pop af + ld [rSVBK], a +.IsInArray: + ld a, [hli] + cp -1 + jr z, .load + cp e + jr z, .load + inc hl + jr .IsInArray + +.load + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_PALETTE + add hl, bc + ld [hl], a + ret +; cd26c (33:526c) + +INCLUDE "data/battle_anims/ball_colors.asm" + +BattleAnimFunction_10: ; cd284 (33:5284) + call BattleAnim_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + dw .three + dw .four +.zero + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + swap a + and $f + ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX + add hl, bc + ld [hl], a + ret + +.one + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $88 + ret nc + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + call Functionce70a + ret + +.two + call DeinitBattleAnimation + ret + +.three + call BattleAnim_IncAnonJumptableIndex + ld a, BATTLEANIMFRAMESET_0F + call ReinitBattleAnimFrameset +.four + ret + +BattleAnimFunction_07: ; cd2be (33:52be) + call BattleAnim_AnonJumptable +.anon_dw + dw .zero + dw .one +.zero + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $30 + inc hl + ld [hl], $48 +.one + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hli] + ld d, [hl] + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + inc [hl] + ld a, [hl] + and $3f + ret nz + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $20 + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + sub [hl] + jr z, .done + jr c, .done + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld [hl], a + ret + +.done + call DeinitBattleAnimation + ret + +BattleAnimFunction_08: ; cd306 (33:5306) + call BattleAnim_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + dw .three +.zero + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $80 + jr nc, .next + call .SetCoords + ret + +.next + call BattleAnim_IncAnonJumptableIndex +.one + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $0 +.two + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + cp $40 + jr nc, .loop_back + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + ld d, $18 + call BattleAnim_Cosine + sub $18 + sra a + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + ld d, $18 + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $f + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + add [hl] + ld [hl], a + ret + +.loop_back + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $f0 + jr z, .finish + sub $10 + ld d, a + ld a, [hl] + and $f + or d + ld [hl], a + ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX + add hl, bc + dec [hl] + ret + +.finish + call BattleAnim_IncAnonJumptableIndex +.three + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $b0 + jr c, .retain + call DeinitBattleAnimation + ret + +.retain + call .SetCoords + ret + +.SetCoords: + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $f + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + add [hl] + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $f + ld e, a + srl e + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc +.loop + dec [hl] + dec e + jr nz, .loop + ret + +BattleAnimFunction_09: ; cd3ae (33:53ae) + call BattleAnim_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two +.zero + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $0 + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $f + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a +.one + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + and a + jr z, .done_one + dec [hl] + ret + +.done_one + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + swap a + and $f + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld a, [hl] + xor $ff + inc a + ld [hl], a + ret + +.two + call DeinitBattleAnimation + ret + +BattleAnimFunction_0A: ; cd3f2 (33:53f2) + call BattleAnim_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + dw .three + dw .four + dw .five + dw .six + dw .seven + dw .eight + dw .nine +.zero + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX + add hl, bc + ld [hl], a + cp $7 + jr z, .seven + ld a, BATTLEANIMFRAMESET_11 + call ReinitBattleAnimFrameset + ret + +.seven + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $88 + jr nc, .set_up_eight + add $2 + ld [hl], a + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + dec [hl] + ret + +.set_up_eight + call BattleAnim_IncAnonJumptableIndex + ld a, BATTLEANIMFRAMESET_10 + call ReinitBattleAnimFrameset +.eight + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + ld d, $10 + push af + push de + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop de + pop af + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + inc [hl] + ret + +.nine + call DeinitBattleAnimation + ret + +.one + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + dec [hl] + ret + +.four + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + inc [hl] +.two + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + dec [hl] + ret + +.five + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + inc [hl] +.three + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + inc [hl] +.six + ret + +BattleAnimFunction_RazorLeaf: ; cd478 (33:5478) + call BattleAnim_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + dw .three + dw .four + dw .five + dw .six + dw .seven + dw .eight +.zero + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $40 +.one + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + cp $30 + jr nc, .sine_cosine + call BattleAnim_IncAnonJumptableIndex + xor a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hli], a + ld [hl], a + ld a, BATTLEANIMFRAMESET_17 + call ReinitBattleAnimFrameset + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + bit 6, [hl] + ret z + ld hl, BATTLEANIMSTRUCT_FRAME + add hl, bc + ld [hl], $5 + ret + +.sine_cosine + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $3f + ld d, a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + dec [hl] + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + call Functioncd557 + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld h, [hl] + ld l, a + add hl, de + ld e, l + ld d, h + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld [hl], d + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld [hl], e + ret + +.two + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld a, [hl] + cp $20 + jr nz, .sine_cosine_2 + call DeinitBattleAnimation + ret + +.sine_cosine_2 + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + ld d, $10 + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + bit 6, [hl] + jr nz, .decrease + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + inc [hl] + jr .finish + +.decrease + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + dec [hl] +.finish + ld de, $80 + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld h, [hl] + ld l, a + add hl, de + ld e, l + ld d, h + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], d + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld [hl], e + ret + +.three + ld a, BATTLEANIMFRAMESET_16 + call ReinitBattleAnimFrameset + ld hl, BATTLEANIMSTRUCT_01 + add hl, bc + res 5, [hl] +.four +.five +.six +.seven + call BattleAnim_IncAnonJumptableIndex + ret + +.eight + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $c0 + ret nc + ld a, $8 + call Functionce70a + ret + +Functioncd557: ; cd557 (33:5557) + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + bit 7, a + jr nz, .negative + cp $20 + jr nc, .plus_256 + cp $18 + jr nc, .plus_384 + ld de, $200 + ret + +.plus_384 + ld de, $180 + ret + +.plus_256 + ld de, $100 + ret + +.negative + and $3f + cp $20 + jr nc, .minus_256 + cp $18 + jr nc, .minus_384 + ld de, -$200 + ret + +.minus_384 + ld de, -$180 + ret + +.minus_256 + ld de, -$100 + ret + +BattleAnimFunction_4E: ; cd58a (33:558a) + call BattleAnim_AnonJumptable +.anon_dw + dw .zero + dw .one +.zero + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $40 + rlca + rlca + add $19 + ld hl, BATTLEANIMSTRUCT_FRAMESET_ID + add hl, bc + ld [hl], a + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $40 +.one + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + cp $30 + jr nc, .sine_cosine + call DeinitBattleAnimation + ret + +.sine_cosine + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $3f + ld d, a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + dec [hl] + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + call Functioncd557 + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld h, [hl] + ld l, a + add hl, de + ld e, l + ld d, h + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld [hl], d + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld [hl], e + ret + +BattleAnimFunction_0C: ; cd5e9 (33:55e9) + call BattleAnim_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two +.zero + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $c +.one + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + and a + jr z, .next + dec [hl] + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + call Functionce70a + ret + +.next + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $0 + ld a, BATTLEANIMFRAMESET_22 + call ReinitBattleAnimFrameset +.two + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $98 + jr nc, .okay + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld h, [hl] + ld l, a + ld de, $60 + add hl, de + ld e, l + ld d, h + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], e + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld [hl], d +.okay + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + ld a, [hl] + cp $20 + ret c + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $f0 + ld e, a + ld d, $ff + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + ld h, [hl] + ld l, a + add hl, de + ld e, l + ld d, h + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld [hl], e + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + ld [hl], d + ret + +BattleAnimFunction_0D: ; cd66a (33:566a) + call BattleAnim_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + dw .three + dw .four +.zero + call BattleAnim_IncAnonJumptableIndex + ld a, rSCY - $ff00 + ld [hLCDCPointer], a + ld a, $58 + ld [hLYOverrideStart], a + ld a, $5e + ld [hLYOverrideEnd], a + ret + +.one + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld e, [hl] + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + ld a, [hl] + cp e + jr nc, .asm_cd69b + call BattleAnim_IncAnonJumptableIndex + xor a + ld [hLYOverrideStart], a + ret + +.asm_cd69b + dec a + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + ld d, $10 + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + add [hl] + sub $10 + ret c + ld [hLYOverrideStart], a + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld a, [hl] + inc a + and $7 + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + inc [hl] + inc [hl] +.two + ret + +.three + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + ld a, [hl] + cp $70 + jr c, asm_cd6da + xor a + ld [hLCDCPointer], a + ld [hLYOverrideStart], a + ld [hLYOverrideEnd], a +.four + call DeinitBattleAnimation + ret + +asm_cd6da: ; cd6da (33:56da) + inc a + inc a + ld [hl], a + sub $10 + ret c + ld [hLYOverrideStart], a + ret + +BattleAnimFunction_0E: ; cd6e3 (33:56e3) + call BattleAnim_AnonJumptable +.anon_dw + dw Functioncd6ea + dw Functioncd6f7 +Functioncd6ea: ; cd6ea (33:56ea) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, BATTLEANIMFRAMESET_24 + add [hl] ; offset + call ReinitBattleAnimFrameset +Functioncd6f7: ; cd6f7 (33:56f7) + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $b8 + jr c, .asm_cd704 + call DeinitBattleAnimation + ret + +.asm_cd704 + ld a, $2 + call Functionce70a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + dec [hl] + ld d, $8 + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + ret + +BattleAnimFunction_0F: ; cd71a (33:571a) + call BattleAnim_AnonJumptable +.anon_dw + dw Functioncd725 + dw Functioncd728 + dw Functioncd763 + dw Functioncd776 +Functioncd725: ; cd725 (33:5725) + call BattleAnim_IncAnonJumptableIndex +Functioncd728: ; cd728 (33:5728) + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + ld a, [hl] + cp $30 + jr c, .asm_cd747 + ld a, $2 + call Functionce70a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + dec [hl] + ld d, $8 + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + ret + +.asm_cd747 + call BattleAnim_IncAnonJumptableIndex + ld a, BATTLEANIMFRAMESET_28 + call ReinitBattleAnimFrameset + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], $0 + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + ld [hl], $30 + ld hl, BATTLEANIMSTRUCT_01 + add hl, bc + ld a, [hl] + and $1 + ld [hl], a +Functioncd763: ; cd763 (33:5763) + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld a, [hl] + cp $18 + jr nc, .asm_cd76e + inc [hl] + ret + +.asm_cd76e + call BattleAnim_IncAnonJumptableIndex + ld a, BATTLEANIMFRAMESET_29 + call ReinitBattleAnimFrameset +Functioncd776: ; cd776 (33:5776) + ret + +BattleAnimFunction_11: ; cd777 (33:5777) + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld a, [hl] + cp $38 + jr c, .asm_cd784 + call DeinitBattleAnimation + ret + +.asm_cd784 + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld l, [hl] + ld h, a + ld de, $80 + add hl, de + ld e, l + ld d, h + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], e + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], d + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld a, [hl] + xor $10 + ld [hl], a + ret + +BattleAnimFunction_14: ; cd7a4 (33:57a4) + call BattleAnim_AnonJumptable +.anon_dw + dw Functioncd7ab + dw Functioncd7d2 +Functioncd7ab: ; cd7ab (33:57ab) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $f0 + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $f + sla a + sla a + sla a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld [hl], $1 +Functioncd7d2: ; cd7d2 (33:57d2) + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + and a + jr nz, .asm_cd7de + call DeinitBattleAnimation + ret + +.asm_cd7de + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + inc [hl] + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld d, [hl] + push af + push de + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop de + pop af + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + xor $1 + ld [hl], a + ret z + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + dec [hl] + ret + +BattleAnimFunction_15: ; cd80c (33:580c) + call BattleAnim_AnonJumptable +.anon_dw + dw Functioncd81f + dw Functioncd817 + dw Functioncd81f + dw Functioncd820 +Functioncd817: ; cd817 (33:5817) + call BattleAnim_IncAnonJumptableIndex + ld a, BATTLEANIMFRAMESET_35 + call ReinitBattleAnimFrameset +Functioncd81f: ; cd81f (33:581f) + ret + +Functioncd820: ; cd820 (33:5820) + call DeinitBattleAnimation + ret + +BattleAnimFunction_16: ; cd824 (33:5824) + call BattleAnim_AnonJumptable +.anon_dw + dw Functioncd835 + dw Functioncd860 + dw Functioncd88f + dw Functioncd88f + dw Functioncd88f + dw Functioncd88f + dw Functioncd893 +Functioncd835: ; cd835 (33:5835) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_FRAMESET_ID + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + bit 7, [hl] + jr nz, .asm_cd852 + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $10 + jr .asm_cd858 + +.asm_cd852 + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $30 +.asm_cd858 + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $7f + ld [hl], a +Functioncd860: ; cd860 (33:5860) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld d, [hl] + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + bit 7, a + jr nz, .load_no_inc + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + inc a + jr .reinit + +.load_no_inc + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] +.reinit + call ReinitBattleAnimFrameset + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + inc [hl] + ld a, [hl] + and $1f + ret nz +Functioncd88f: ; cd88f (33:588f) + call BattleAnim_IncAnonJumptableIndex + ret + +Functioncd893: ; cd893 (33:5893) + ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX + add hl, bc + ld [hl], $1 + ret + +BattleAnimFunction_17: ; cd89a (33:589a) + call BattleAnim_AnonJumptable +.anon_dw + dw Functioncd8ab + dw Functioncd8cc + dw Functioncd8f5 + dw Functioncd8f5 + dw Functioncd8f5 + dw Functioncd8f5 + dw Functioncd8f9 +Functioncd8ab: ; cd8ab (33:58ab) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + bit 7, [hl] + jr nz, .asm_cd8be + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $10 + jr .asm_cd8c4 + +.asm_cd8be + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $30 +.asm_cd8c4 + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $7f + ld [hl], a +Functioncd8cc: ; cd8cc (33:58cc) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld d, [hl] + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + bit 7, a + jr nz, .asm_cd8e6 + ld a, $3d + jr .asm_cd8e8 + +.asm_cd8e6 + ld a, $3c +.asm_cd8e8 + call ReinitBattleAnimFrameset + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + inc [hl] + inc [hl] + ld a, [hl] + and $1f + ret nz +Functioncd8f5: ; cd8f5 (33:58f5) + call BattleAnim_IncAnonJumptableIndex + ret + +Functioncd8f9: ; cd8f9 (33:58f9) + ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX + add hl, bc + ld [hl], $1 + ret + +BattleAnimFunction_18: ; cd900 (33:5900) + call BattleAnim_AnonJumptable +.anon_dw + dw Functioncd907 + dw Functioncd913 +Functioncd907: ; cd907 (33:5907) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $28 + inc hl + ld [hl], $0 +Functioncd913: ; cd913 (33:5913) + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld d, [hl] + push af + push de + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop de + pop af + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + and a + jr z, .asm_cd950 + ld d, a + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld e, [hl] + ld hl, hPushOAM ; $ff80 + add hl, de + ld e, l + ld d, h + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld [hl], e + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], d + ret + +.asm_cd950 + call DeinitBattleAnimation + ret + +BattleAnimFunction_19: ; cd954 (33:5954) + call BattleAnim_AnonJumptable +.anon_dw + dw Functioncd961 + dw Functioncd96a + dw Functioncd96e + dw Functioncd96a + dw Functioncd97b +Functioncd961: ; cd961 (33:5961) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld [hl], $0 +Functioncd96a: ; cd96a (33:596a) + call Functioncd99a + ret + +Functioncd96e: ; cd96e (33:596e) + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $88 + jr c, asm_cd988 + call BattleAnim_IncAnonJumptableIndex + ret + +Functioncd97b: ; cd97b (33:597b) + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $b8 + jr c, asm_cd988 + call DeinitBattleAnimation + ret + +asm_cd988: ; cd988 (33:5988) + call Functioncd99a + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + inc [hl] + ld a, [hl] + and $1 + ret nz + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + dec [hl] + ret + +Functioncd99a: ; cd99a (33:599a) + call Functioncd9f4 + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + push af + push de + call BattleAnim_Sine + sra a + sra a + sra a + sra a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + add [hl] + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop de + pop af + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + sub $8 + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and a + jr z, .asm_cd9d7 + cp $c2 + jr c, .asm_cd9e2 +.asm_cd9d7 + dec a + ld [hl], a + and $7 + ret nz + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + inc [hl] + ret + +.asm_cd9e2 + xor a + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hli], a + ld [hl], a + ret + +Functioncd9f4: ; cd9f4 (33:59f4) + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld e, [hl] + ld d, 0 + ld hl, Unknown_cda01 + add hl, de + ld d, [hl] + ret + +; cda01 (33:5a01) +Unknown_cda01: ; cda01 + db 8, 6, 5, 4, 5, 6, 8, 12, 16 +; cda0a +BattleAnimFunction_1C: ; cda0a (33:5a0a) + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $30 + jr nc, .asm_cda17 + call DeinitBattleAnimation + ret + +.asm_cda17 + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $f + ld e, a + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + sub e + ld [hl], a + srl e + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc +.asm_cda2c + inc [hl] + dec e + jr nz, .asm_cda2c + ret + +BattleAnimFunction_1F: ; cda31 (33:5a31) + call BattleAnim_AnonJumptable +.anon_dw + dw Functioncda4c + dw Functioncda3a + dw Functioncda4c +Functioncda3a: ; cda3a (33:5a3a) + ld hl, BATTLEANIMSTRUCT_FRAMESET_ID + add hl, bc + ld a, [hl] + inc a + call ReinitBattleAnimFrameset + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $8 +Functioncda4c: ; cda4c (33:5a4c) + ret + +BattleAnimFunction_LeechSeed: ; cda4d (33:5a4d) + call BattleAnim_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + dw .three +.zero: ; cda58 (33:5a58) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld [hl], $40 + ret + +.one: ; cda62 (33:5a62) + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + cp $20 + jr c, .sprout + call Functioncda8d + ret + +.sprout + ld [hl], $40 + ld a, BATTLEANIMFRAMESET_57 + call ReinitBattleAnimFrameset + call BattleAnim_IncAnonJumptableIndex + ret + +.two: ; cda7a (33:5a7a) + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + and a + jr z, .flutter + dec [hl] + ret + +.flutter + call BattleAnim_IncAnonJumptableIndex + ld a, BATTLEANIMFRAMESET_58 + call ReinitBattleAnimFrameset +.three: ; cda8c (33:5a8c) + ret + +Functioncda8d: ; cda8d (33:5a8d) + dec [hl] + ld d, $20 + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_02 + add hl, bc + ld a, [hl] + add $2 + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld e, [hl] + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld d, [hl] + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld h, [hl] + ld a, h + and $f + swap a + ld l, a + ld a, h + and $f0 + swap a + ld h, a + add hl, de + ld e, l + ld d, h + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], e + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld [hl], d + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + and $1 + ret nz + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + dec [hl] + ret + +BattleAnimFunction_3F: ; cdad6 (33:5ad6) + call BattleAnim_AnonJumptable +.anon_dw + dw Functioncdadf + dw Functioncdae9 + dw Functioncdaf9 +Functioncdadf: ; cdadf (33:5adf) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld [hl], $40 + ret + +Functioncdae9: ; cdae9 (33:5ae9) + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + cp $20 + jr c, .asm_cdaf6 + call Functioncda8d + ret + +.asm_cdaf6 + call BattleAnim_IncAnonJumptableIndex +Functioncdaf9: ; cdaf9 (33:5af9) + ret + +BattleAnimFunction_1A: ; cdafa (33:5afa) + call BattleAnimFunction_03 + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + add $f + ld [hl], a + ret + +BattleAnimFunction_1B: ; cdb06 (33:5b06) + call BattleAnim_AnonJumptable +.anon_dw + dw Functioncdb13 + dw Functioncdb14 + dw Functioncdb28 + dw Functioncdb50 + dw Functioncdb65 +Functioncdb13: ; cdb13 (33:5b13) + ret + +Functioncdb14: ; cdb14 (33:5b14) + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + ld a, [hl] + cp $30 + jr c, .asm_cdb24 + ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX + add hl, bc + ld [hl], $0 + ret + +.asm_cdb24 + add $4 + ld [hl], a + ret + +Functioncdb28: ; cdb28 (33:5b28) + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $98 + ret nc + inc [hl] + inc [hl] + ld hl, BATTLEANIMSTRUCT_01 + add hl, bc + set 0, [hl] + ld hl, BATTLEANIMSTRUCT_02 + add hl, bc + ld [hl], $90 + ld hl, BATTLEANIMSTRUCT_FRAME + add hl, bc + ld [hl], $0 + ld hl, BATTLEANIMSTRUCT_DURATION + add hl, bc + ld [hl], $2 + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + dec [hl] + ret + +Functioncdb50: ; cdb50 (33:5b50) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $2c + ld hl, BATTLEANIMSTRUCT_FRAME + add hl, bc + ld [hl], $0 + ld hl, BATTLEANIMSTRUCT_DURATION + add hl, bc + ld [hl], $80 +Functioncdb65: ; cdb65 (33:5b65) + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $98 + ret nc + inc [hl] + inc [hl] + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + inc [hl] + ld d, $8 + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + ret + +BattleAnimFunction_1D: ; cdb80 (33:5b80) + call BattleAnim_AnonJumptable +.anon_dw + dw Functioncdb9f + dw Functioncdbb3 + dw Functioncdbcf + dw Functioncdbeb + dw Functioncdc74 + dw Functioncdc1a + dw Functioncdbc1 + dw Functioncdc1e + dw Functioncdc27 + dw Functioncdc39 + dw Functioncdc74 + dw Functioncdc48 + dw Functioncdc57 + dw Functioncdc74 +Functioncdb9f: ; cdb9f (33:5b9f) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $28 + inc hl + ld [hl], $10 + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX + add hl, bc + ld [hl], a + ret + +Functioncdbb3: ; cdbb3 (33:5bb3) + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $40 + jr nc, .asm_cdbbd + inc [hl] +.asm_cdbbd + call Functioncdc75 + ret + +Functioncdbc1: ; cdbc1 (33:5bc1) + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $4b + jr nc, .asm_cdbcb + inc [hl] +.asm_cdbcb + call Functioncdc75 + ret + +Functioncdbcf: ; cdbcf (33:5bcf) + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $88 + jr nc, .asm_cdbe6 + and $f + jr nz, asm_cdbfa + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld [hl], $10 + call BattleAnim_IncAnonJumptableIndex + ret + +.asm_cdbe6 + call BattleAnim_IncAnonJumptableIndex + inc [hl] + ret + +Functioncdbeb: ; cdbeb (33:5beb) + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + and a + jr z, .asm_cdbf5 + dec [hl] + ret + +.asm_cdbf5 + ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX + add hl, bc + dec [hl] +asm_cdbfa: ; cdbfa (33:5bfa) + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + inc [hl] + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + ld d, [hl] + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld e, [hl] + ld hl, hPushOAM ; $ff80 + add hl, de + ld e, l + ld d, h + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + ld [hl], d + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], e + ret + +Functioncdc1a: ; cdc1a (33:5c1a) + call DeinitBattleAnimation + ret + +Functioncdc1e: ; cdc1e (33:5c1e) + ld a, BATTLEANIMFRAMESET_4E + call ReinitBattleAnimFrameset + call BattleAnim_IncAnonJumptableIndex + ret + +Functioncdc27: ; cdc27 (33:5c27) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + inc [hl] + inc [hl] + ld d, $2 + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ret + +Functioncdc39: ; cdc39 (33:5c39) + ld a, BATTLEANIMFRAMESET_50 + call ReinitBattleAnimFrameset + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], $4 + call BattleAnim_IncAnonJumptableIndex + ret + +Functioncdc48: ; cdc48 (33:5c48) + ld a, BATTLEANIMFRAMESET_4F + call ReinitBattleAnimFrameset + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $40 + ret + +Functioncdc57: ; cdc57 (33:5c57) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + ld d, $20 + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + cp $30 + jr c, .asm_cdc71 + dec [hl] + ret + +.asm_cdc71 + call BattleAnim_IncAnonJumptableIndex +Functioncdc74: ; cdc74 (33:5c74) + ret + +Functioncdc75: ; cdc75 (33:5c75) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hli] + ld d, [hl] + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + inc [hl] + ld a, [hl] + and $3f + ret nz + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $20 + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + sub $8 + ld [hl], a + ret nz + xor a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hli], a + ld [hl], a + call BattleAnim_IncAnonJumptableIndex + ret + +BattleAnimFunction_1E: ; cdca6 (33:5ca6) + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld a, [hl] + and a + jr z, .asm_cdcb6 + cp $d8 + jr nc, .asm_cdcb6 + call DeinitBattleAnimation + ret + +.asm_cdcb6 + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld d, [hl] + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld a, [hl] + sub d + ld [hl], a + ret + +BattleAnimFunction_21: ; cdcc3 (33:5cc3) + call BattleAnim_AnonJumptable +.anon_dw + dw Functioncdcca + dw Functioncdced +Functioncdcca: ; cdcca (33:5cca) + ld a, [hBattleTurn] + and a + jr z, .asm_cdcd9 + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + xor $ff + add $3 + ld [hl], a +.asm_cdcd9 + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $8 + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, BATTLEANIMFRAMESET_59 + add [hl] + call ReinitBattleAnimFrameset + ret + +Functioncdced: ; cdced (33:5ced) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + and a + jr z, .asm_cdcfa + dec [hl] + call Functioncdcfe + ret + +.asm_cdcfa + call DeinitBattleAnimation + ret + +Functioncdcfe: ; cdcfe (33:5cfe) + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + inc [hl] + inc [hl] + ld d, $10 + call BattleAnim_Sine + ld d, a + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and a + jr z, .asm_cdd20 + dec a + ret z + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], d + ret + +.asm_cdd20 + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld a, d + xor $ff + inc a + ld [hl], a + ret + +BattleAnimFunction_22: ; cdd2a (33:5d2a) + call BattleAnim_AnonJumptable +.anon_dw + dw Functioncdd31 + dw Functioncdd4f +Functioncdd31: ; cdd31 (33:5d31) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $3f + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $80 + rlca + ld [hl], a + add BATTLEANIMFRAMESET_5D + call ReinitBattleAnimFrameset + ret + +Functioncdd4f: ; cdd4f (33:5d4f) + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + swap a + ld d, a + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + inc [hl] + push af + push de + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop de + pop af + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $80 + ret nc + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + and $3 + jr nz, .asm_cdd87 + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + dec [hl] +.asm_cdd87 + and $1 + ret nz + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + inc [hl] + ret + +BattleAnimFunction_23: ; cdd90 (33:5d90) + call BattleAnim_AnonJumptable +.anon_dw + dw Functioncdd97 + dw Functioncddbc +Functioncdd97: ; cdd97 (33:5d97) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_FRAMESET_ID + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $80 + rlca + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + add [hl] + call ReinitBattleAnimFrameset + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $7f + ld [hl], a +Functioncddbc: ; cddbc (33:5dbc) + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + ld d, $10 + push af + push de + call BattleAnim_Sine + sra a + sra a + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop de + pop af + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + inc [hl] + and $3f + jr z, .asm_cddf0 + and $1f + ret nz + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + inc a + jr .asm_cddf5 + +.asm_cddf0 + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] +.asm_cddf5 + call ReinitBattleAnimFrameset + ret + +BattleAnimFunction_24: ; cddf9 (33:5df9) + call BattleAnim_AnonJumptable +.anon_dw + dw Functioncde02 + dw Functioncde20 + dw Functioncde21 +Functioncde02: ; cde02 (33:5e02) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + add BATTLEANIMFRAMESET_63 + call ReinitBattleAnimFrameset + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld e, [hl] + ld d, 0 + ld hl, Unknown_cde25 + add hl, de + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a +Functioncde20: ; cde20 (33:5e20) + ret + +Functioncde21: ; cde21 (33:5e21) + call DeinitBattleAnimation + ret + +; cde25 (33:5e25) +Unknown_cde25: ; cde25 + db $ec, $f8, $00 +; cde28 +BattleAnimFunction_25: ; cde28 (33:5e28) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + inc [hl] + inc [hl] + ld d, $4 + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld d, [hl] + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld e, [hl] + ld hl, $ffa0 + add hl, de + ld e, l + ld d, h + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], d + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld [hl], e + ret + +BattleAnimFunction_26: ; cde54 (33:5e54) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + dec [hl] + dec [hl] + ld d, $10 + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + inc [hl] + ret + +BattleAnimFunction_27: ; cde6b (33:5e6b) + call BattleAnim_AnonJumptable +.anon_dw + dw Functioncde72 + dw Functioncde88 +Functioncde72: ; cde72 (33:5e72) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and a + jr nz, .asm_cde83 + ld hl, BATTLEANIMSTRUCT_01 + add hl, bc + set 6, [hl] +.asm_cde83 + add BATTLEANIMFRAMESET_6A + call ReinitBattleAnimFrameset +Functioncde88: ; cde88 (33:5e88) + ret + +BattleAnimFunction_28: ; cde89 (33:5e89) + call BattleAnim_AnonJumptable +.anon_dw + dw Functioncde90 + dw Functioncdebf +Functioncde90: ; cde90 (33:5e90) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $0 + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld e, [hl] + ld a, e + and $70 + swap a + ld [hl], a + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld a, e + and $80 + jr nz, .asm_cdeb2 + ld a, e + and $f + ld [hl], a + ret + +.asm_cdeb2 + ld a, e + and $f + xor $ff + inc a + ld [hl], a + ld a, BATTLEANIMFRAMESET_6E + call ReinitBattleAnimFrameset + ret + +Functioncdebf: ; cdebf (33:5ebf) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + and a + jr z, .asm_cdec9 + dec [hl] + ret + +.asm_cdec9 + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld a, [hl] + xor $ff + inc a + ld [hl], a + ret + +BattleAnimFunction_SpiralDescent: ; cdedd (33:5edd) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + ld d, $18 + push af + push de + call BattleAnim_Sine + sra a + sra a + sra a + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + add [hl] + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop de + pop af + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + inc [hl] + ld a, [hl] + and $7 + ret nz + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + cp $28 + jr nc, .delete + inc [hl] + ret + +.delete + call DeinitBattleAnimation + ret + +BattleAnimFunction_2D: ; cdf1b (33:5f1b) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + ld d, $18 + push af + push de + call BattleAnim_Sine + sra a + sra a + sra a + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + add [hl] + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop de + pop af + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + inc [hl] + ld a, [hl] + and $3 + ret nz + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + cp $28 + jr nc, .asm_cdf55 + inc [hl] + ret + +.asm_cdf55 + call DeinitBattleAnimation + ret + +BattleAnimFunction_PoisonGas: ; cdf59 (33:5f59) + call BattleAnim_AnonJumptable +.anon_dw + dw Functioncdf60 + dw BattleAnimFunction_SpiralDescent +Functioncdf60: ; cdf60 (33:5f60) + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $84 + jr nc, .next + inc [hl] + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + inc [hl] + ld d, $18 + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + and $1 + ret nz + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + dec [hl] + ret + +.next + call BattleAnim_IncAnonJumptableIndex + ret + +BattleAnimFunction_34: ; cdf8c (33:5f8c) + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + ld d, $18 + push af + push de + call BattleAnim_Sine + sra a + sra a + sra a + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + add [hl] + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop de + pop af + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + inc [hl] + inc [hl] + ld a, [hl] + and $7 + ret nz + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + cp $e8 + jr z, .asm_cdfc7 + dec [hl] + ret + +.asm_cdfc7 + call DeinitBattleAnimation + ret + +BattleAnimFunction_3C: ; cdfcb (33:5fcb) + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + ld d, $18 + push af + push de + call BattleAnim_Sine + sra a + sra a + sra a + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + add [hl] + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop de + pop af + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + inc [hl] + inc [hl] + ld a, [hl] + and $3 + ret nz + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + cp $d0 + jr z, .asm_ce007 + dec [hl] + dec [hl] + ret + +.asm_ce007 + call DeinitBattleAnimation + ret + +BattleAnimFunction_35: ; ce00b (33:600b) + call BattleAnim_AnonJumptable +.anon_dw + dw Functionce014 + dw Functionce023 + dw Functionce05f +Functionce014: ; ce014 (33:6014) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $34 + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld [hl], $10 +Functionce023: ; ce023 (33:6023) + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $6c + jr c, .asm_ce02d + ret + +.asm_ce02d + ld a, $2 + call Functionce70a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld d, [hl] + call BattleAnim_Sine + bit 7, a + jr nz, .asm_ce046 + xor $ff + inc a +.asm_ce046 + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + sub $4 + ld [hl], a + and $1f + cp $20 + ret nz + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + srl [hl] + ret + +Functionce05f: ; ce05f (33:605f) + call DeinitBattleAnimation + ret + +BattleAnimFunction_Horn: ; ce063 (33:6063) + call BattleAnim_AnonJumptable +.anon_dw + dw .zero + dw .one + dw .two + dw Functionce09e +.zero: ; ce06e (33:606e) + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], a + ret + +.one: ; ce083 (33:6083) + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $58 + ret nc + ld a, $2 + call Functionce70a + ret + +.two: ; ce091 (33:6091) + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + cp $20 + jr c, Functionce09e + call DeinitBattleAnimation + ret + +Functionce09e: ; ce09e (33:609e) + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + ld d, $8 + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + sra a + xor $ff + inc a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + add [hl] + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + add $8 + ld [hl], a + ret + +BattleAnimFunction_2C: ; ce0c5 (33:60c5) + call BattleAnim_AnonJumptable +.anon_dw + dw Functionce0ce + dw Functionce0f8 + dw Functionce0dd +Functionce0ce: ; ce0ce (33:60ce) + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $f0 + swap a + ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX + add hl, bc + ld [hl], a + ret + +Functionce0dd: ; ce0dd (33:60dd) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + ld d, $10 + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + bit 7, a + jr z, .asm_ce0f0 + ld [hl], a +.asm_ce0f0 + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + sub $4 + ld [hl], a +Functionce0f8: ; ce0f8 (33:60f8) + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $84 + jr c, .asm_ce105 + call DeinitBattleAnimation + ret + +.asm_ce105 + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + call Functionce70a + ret + +BattleAnimFunction_2E: ; ce10e (33:610e) + call BattleAnim_AnonJumptable +.anon_dw + dw Functionce115 + dw Functionce12a +Functionce115: ; ce115 (33:6115) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $28 + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + ld a, [hl] + sub $28 + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld [hl], a +Functionce12a: ; ce12a (33:612a) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hli] + ld d, [hl] + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + and [hl] + jr nz, .asm_ce149 + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + dec [hl] +.asm_ce149 + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + inc [hl] + ld a, [hl] + and $3f + ret nz + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $20 + inc hl + srl [hl] + ret + +BattleAnimFunction_2F: ; ce15c (33:615c) + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld d, [hl] + push af + push de + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop de + pop af + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + inc [hl] + ld a, [hl] + and $1 + jr nz, .asm_ce189 + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + dec [hl] +.asm_ce189 + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $3 + jr nz, .asm_ce197 + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + inc [hl] +.asm_ce197 + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + cp $5a + jr nc, .asm_ce1aa + ld a, [hl] + and a + jr z, .asm_ce1ac + dec [hl] + ret + +.asm_ce1aa + inc [hl] + ret + +.asm_ce1ac + call DeinitBattleAnimation + ret + +BattleAnimFunction_42: ; ce1b0 (33:61b0) + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + inc [hl] + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld d, [hl] + push af + push de + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop de + pop af + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + inc [hl] + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + cp $40 + jr nc, .asm_ce1df + inc [hl] + ret + +.asm_ce1df + ld a, [hl] + dec [hl] + and a + ret nz + call DeinitBattleAnimation + ret + +BattleAnimFunction_30: ; ce1e7 (33:61e7) + call BattleAnim_AnonJumptable +.anon_dw + dw Functionce1ee + dw Functionce1fb +Functionce1ee: ; ce1ee (33:61ee) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld [hl], a +Functionce1fb: ; ce1fb (33:61fb) + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + ld d, $30 + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + add [hl] + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + add $8 + ld d, $30 + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + inc [hl] + ret + +BattleAnimFunction_31: ; ce226 (33:6226) + call BattleAnim_AnonJumptable +.anon_dw + dw Functionce22d + dw Functionce254 +Functionce22d: ; ce22d (33:622d) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + ld d, $10 + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + ld d, $10 + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld [hl], $f +Functionce254: ; ce254 (33:6254) + ret + +BattleAnimFunction_32: ; ce255 (33:6255) + call BattleAnim_AnonJumptable +.anon_dw + dw Functionce260 + dw Functionce274 + dw Functionce278 + dw Functionce289 +Functionce260: ; ce260 (33:6260) + call BattleAnim_IncAnonJumptableIndex + ld a, [hBattleTurn] + and a + jr nz, .asm_ce26c + ld a, $f0 + jr .asm_ce26e + +.asm_ce26c + ld a, $cc +.asm_ce26e + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], a + ret + +Functionce274: ; ce274 (33:6274) + call Functionce29f + ret + +Functionce278: ; ce278 (33:6278) + call Functionce29f + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $84 + ret nc + ld a, $4 + call Functionce70a + ret + +Functionce289: ; ce289 (33:6289) + call Functionce29f + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $d0 + jr nc, .asm_ce29b + ld a, $4 + call Functionce70a + ret + +.asm_ce29b + call DeinitBattleAnimation + ret + +Functionce29f: ; ce29f (33:629f) + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + and $7 + inc [hl] + srl a + ld e, a + ld d, $0 + ld a, [hSGB] + and a + jr nz, .asm_ce2b6 + ld hl, Unknown_ce2c4 + jr .asm_ce2b9 + +.asm_ce2b6 + ld hl, Unknown_ce2c8 +.asm_ce2b9 + add hl, de + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + and [hl] + ld [wOBP0], a + ret + +; ce2c4 (33:62c4) +Unknown_ce2c4: ; ce2c4 + db $ff, $aa, $55, $aa +Unknown_ce2c8: ; ce2c8 + db $ff, $ff, $00, $00 +; ce2cc +BattleAnimFunction_33: ; ce2cc (33:62cc) + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + ld d, $18 + call BattleAnim_Sine + sra a + sra a + sra a + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + add [hl] + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + inc [hl] + ld d, $18 + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + dec [hl] + dec [hl] + ret + +BattleAnimFunction_36: ; ce2fd (33:62fd) + call BattleAnim_AnonJumptable +.anon_dw + dw Functionce306 + dw Functionce330 + dw Functionce34c +Functionce306: ; ce306 (33:6306) + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld a, [hl] + cp $e0 + jr nz, .asm_ce319 + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $2 + ret + +.asm_ce319 + ld d, a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld e, [hl] + ld hl, hPushOAM ; $ff80 + add hl, de + ld e, l + ld d, h + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], d + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], e + ret + +Functionce330: ; ce330 (33:6330) + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + and a + jr z, .asm_ce33a + dec [hl] + ret + +.asm_ce33a + ld [hl], $4 + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + xor $ff + inc a + ld [hl], a + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + add [hl] + ld [hl], a + ret + +Functionce34c: ; ce34c (33:634c) + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $84 + jr nc, .asm_ce35b + ld a, $4 + call Functionce70a + ret + +.asm_ce35b + call DeinitBattleAnimation + ret + +BattleAnimFunction_37: ; ce35f (33:635f) + call BattleAnim_AnonJumptable +.anon_dw + dw Functionce366 + dw Functionce375 +Functionce366: ; ce366 (33:6366) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $7f + add BATTLEANIMFRAMESET_81 + call ReinitBattleAnimFrameset +Functionce375: ; ce375 (33:6375) + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + bit 7, [hl] + jr nz, .asm_ce383 + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + inc [hl] + ret + +.asm_ce383 + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + dec [hl] + ret + +BattleAnimFunction_38: ; ce389 (33:6389) + call BattleAnim_AnonJumptable +.anon_dw + dw Functionce392 + dw Functionce39c + dw Functionce3ae +Functionce392: ; ce392 (33:6392) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $c + ret + +Functionce39c: ; ce39c (33:639c) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + and a + jr z, .asm_ce3a6 + dec [hl] + ret + +.asm_ce3a6 + call BattleAnim_IncAnonJumptableIndex + ld a, BATTLEANIMFRAMESET_20 + call ReinitBattleAnimFrameset +Functionce3ae: ; ce3ae (33:63ae) + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + dec [hl] + ret + +BattleAnimFunction_39: ; ce3b4 (33:63b4) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + inc [hl] + inc [hl] + push af + ld d, $2 + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop af + ld d, $8 + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ret + +BattleAnimFunction_3A: ; ce3d2 (33:63d2) + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld a, [hl] + cp $20 + jr c, .asm_ce3df + call DeinitBattleAnimation + ret + +.asm_ce3df + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + ld d, $8 + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + add $2 + ld [hl], a + and $7 + ret nz + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + inc [hl] + ret + +BattleAnimFunction_3B: ; ce3ff (33:63ff) + call BattleAnim_AnonJumptable +.anon_dw + dw Functionce406 + dw Functionce412 +Functionce406: ; ce406 (33:6406) + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + add [hl] + ld [hl], a + ret + +Functionce412: ; ce412 (33:6412) + call DeinitBattleAnimation + ret + +BattleAnimFunction_3D: ; ce416 (33:6416) + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + ld d, $18 + push af + push de + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop de + pop af + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + sra a + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + inc [hl] + ret + +BattleAnimFunction_3E: ; ce43a (33:643a) + call BattleAnim_AnonJumptable +.anon_dw + dw Functionce443 + dw Functionce465 + dw Functionce490 +Functionce443: ; ce443 (33:6443) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $28 + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $f + ld hl, BATTLEANIMSTRUCT_FRAMESET_ID + add hl, bc + add [hl] + call ReinitBattleAnimFrameset + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and $f0 + or $8 + ld [hl], a +Functionce465: ; ce465 (33:6465) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + and a + jr z, .asm_ce48b + dec [hl] + add $8 + ld d, a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + push af + push de + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop de + pop af + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ret + +.asm_ce48b + ld [hl], $10 + call BattleAnim_IncAnonJumptableIndex +Functionce490: ; ce490 (33:6490) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + dec [hl] + and a + ret nz + call DeinitBattleAnimation + ret + +BattleAnimFunction_40: ; ce49c (33:649c) + call BattleAnim_AnonJumptable +.anon_dw + dw Functionce4a3 + dw Functionce4b0 +Functionce4a3: ; ce4a3 (33:64a3) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, BATTLEANIMFRAMESET_24 + add [hl] + call ReinitBattleAnimFrameset +Functionce4b0: ; ce4b0 (33:64b0) + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld a, [hl] + cp $38 + jr nc, .asm_ce4d8 + inc [hl] + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + inc [hl] + ld d, $18 + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + ld a, [hl] + and $1 + ret nz + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + dec [hl] + ret + +.asm_ce4d8 + call DeinitBattleAnimation + ret + +BattleAnimFunction_41: ; ce4dc (33:64dc) + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and a + ret z + ld d, a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + inc [hl] + call BattleAnim_Sine + bit 7, a + jr nz, .asm_ce4f4 + xor $ff + inc a +.asm_ce4f4 + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + and $1f + ret nz + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + srl [hl] + ret + +BattleAnimFunction_43: ; ce508 (33:6508) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + cp $10 + jr nc, .asm_ce52e + inc [hl] + inc [hl] + ld d, a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + push af + push de + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop de + pop af + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ret + +.asm_ce52e + call DeinitBattleAnimation + ret + +BattleAnimFunction_44: ; ce532 (33:6532) + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld e, [hl] + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld d, [hl] + ld a, e + and $c0 + rlca + rlca + add [hl] + ld [hl], a + ld a, e + and $3f + push af + push de + call BattleAnim_Sine + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop de + pop af + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ret + +BattleAnimFunction_45: ; ce55b (33:655b) + call BattleAnim_AnonJumptable +.anon_dw + dw Functionce564 + dw Functionce56e + dw Functionce577 +Functionce564: ; ce564 (33:6564) + ld d, $18 + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + inc [hl] + jr asm_ce58f + +Functionce56e: ; ce56e (33:656e) + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], $18 +Functionce577: ; ce577 (33:6577) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + cp $80 + jr nc, .asm_ce58b + ld d, a + add $8 + ld [hl], a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + jr asm_ce58f + +.asm_ce58b + call DeinitBattleAnimation + ret + +asm_ce58f: ; ce58f (33:658f) + call Functionce6f1 + ret + +BattleAnimFunction_46: ; ce593 (33:6593) + call BattleAnim_AnonJumptable +.anon_dw + dw Functionce5b3 + dw Functionce59a +Functionce59a: ; ce59a (33:659a) + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld a, [hl] + cp $30 + jr c, .asm_ce5b0 + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + dec [hl] + dec [hl] + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc + inc [hl] + inc [hl] + ret + +.asm_ce5b0 + call DeinitBattleAnimation +Functionce5b3: ; ce5b3 (33:65b3) + ret + +BattleAnimFunction_47: ; ce5b4 (33:65b4) + ld d, $50 + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + inc [hl] + inc [hl] + push af + push de + call BattleAnim_Sine + sra a + sra a + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + add [hl] + inc [hl] + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop de + pop af + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ret + +BattleAnimFunction_48: ; ce5dc (33:65dc) + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld a, [hl] + cp $d0 + jr z, .disappear + dec [hl] + dec [hl] + dec [hl] + dec [hl] + ret + +.disappear + call DeinitBattleAnimation + ret + +BattleAnimFunction_49: ; ce5ee (33:65ee) + call BattleAnim_AnonJumptable +.anon_dw + dw Functionce5f9 + dw Functionce60a + dw Functionce622 + dw Functionce618 +Functionce5f9: ; ce5f9 (33:65f9) + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + and a + jr nz, asm_ce61c + call BattleAnim_IncAnonJumptableIndex + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], $ec +Functionce60a: ; ce60a (33:660a) + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld a, [hl] + cp $4 + jr z, Functionce618 + inc [hl] + inc [hl] + inc [hl] + inc [hl] + ret + +Functionce618: ; ce618 (33:6618) + call DeinitBattleAnimation + ret + +asm_ce61c: ; ce61c (33:661c) + call BattleAnim_IncAnonJumptableIndex + call BattleAnim_IncAnonJumptableIndex +Functionce622: ; ce622 (33:6622) + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld a, [hl] + cp $d8 + ret z + dec [hl] + dec [hl] + dec [hl] + dec [hl] + ret + +BattleAnimFunction_4A: ; ce62f (33:662f) + call BattleAnim_AnonJumptable +.anon_dw + dw Functionce63a + dw Functionce648 + dw Functionce65c + dw Functionce672 +Functionce63a: ; ce63a (33:663a) + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX + add hl, bc + ld [hl], a + call BattleAnim_IncAnonJumptableIndex + ret + +Functionce648: ; ce648 (33:6648) + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld a, [hl] + add $4 + cp $70 + jr c, .asm_ce654 + xor a +.asm_ce654 + ld [hl], a + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + inc [hl] + inc [hl] + ret + +Functionce65c: ; ce65c (33:665c) + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld a, [hl] + add $4 + cp $70 + jr c, .asm_ce668 + xor a +.asm_ce668 + ld [hl], a + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld a, [hl] + add $8 + ld [hl], a + ret + +Functionce672: ; ce672 (33:6672) + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld a, [hl] + add $4 + cp $70 + jr c, .asm_ce67e + xor a +.asm_ce67e + ld [hl], a + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld a, [hl] + add $4 + ld [hl], a + ret + +BattleAnimFunction_4B: ; ce688 (33:6688) + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld d, [hl] + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld e, [hl] + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + ld l, a + and $f0 + ld h, a + swap a + or h + ld h, a + ld a, l + and $f + swap a + ld l, a + add hl, de + ld e, l + ld d, h + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + ld [hl], d + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld [hl], e + ret + +BattleAnimFunction_4C: ; ce6b3 (33:66b3) + ld d, $18 + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld a, [hl] + inc [hl] + call Functionce6f1 + ret + +BattleAnimFunction_4F: ; ce6bf (33:66bf) + ld d, $18 + ld hl, BATTLEANIMSTRUCT_10 + add hl, bc + ld a, [hl] + inc [hl] + srl a + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + add [hl] + call Functionce6f1 + ret + +BattleAnimFunction_4D: ; ce6d2 (33:66d2) + ld hl, BATTLEANIMSTRUCT_0F + add hl, bc + ld a, [hl] + cp $20 + jr nc, .asm_ce6ed + inc [hl] + ld hl, BATTLEANIMSTRUCT_0B + add hl, bc + ld d, [hl] + call BattleAnim_Sine + xor $ff + inc a + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + ret + +.asm_ce6ed + call DeinitBattleAnimation + ret + +Functionce6f1: ; ce6f1 (33:66f1) + push af + push de + call BattleAnim_Sine + sra a + sra a + ld hl, BATTLEANIMSTRUCT_YOFFSET + add hl, bc + ld [hl], a + pop de + pop af + call BattleAnim_Cosine + ld hl, BATTLEANIMSTRUCT_XOFFSET + add hl, bc + ld [hl], a + ret + +Functionce70a: ; ce70a (33:670a) + and $f + ld e, a + ld hl, BATTLEANIMSTRUCT_XCOORD + add hl, bc + add [hl] + ld [hl], a + srl e + ld hl, BATTLEANIMSTRUCT_YCOORD + add hl, bc +.asm_ce719 + dec [hl] + dec e + jr nz, .asm_ce719 + ret + +BattleAnim_AnonJumptable: ; ce71e (33:671e) + pop de + ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX + add hl, bc + ld l, [hl] + ld h, $0 + add hl, hl + add hl, de + ld a, [hli] + ld h, [hl] + ld l, a + jp hl + +BattleAnim_IncAnonJumptableIndex: ; ce72c (33:672c) + ld hl, BATTLEANIMSTRUCT_ANON_JT_INDEX + add hl, bc + inc [hl] + ret + +BattleAnim_Cosine: ; ce732 (33:6732) + add $10 +BattleAnim_Sine: ; ce734 (33:6734) +; a = d sin a + and $3f + cp $20 + jr nc, .negative + call .ApplySineWave + ld a, h + ret + +.negative + and $1f + call .ApplySineWave + ld a, h + xor $ff + inc a + ret + +.ApplySineWave: + ld e, a + ld a, d + ld d, 0 + ld hl, BattleAnimSineWave + add hl, de + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + ld hl, $0 +.multiply + srl a + jr nc, .even + add hl, de +.even + sla e + rl d + and a + jr nz, .multiply + ret + +BattleAnim_Sine_e: ; ce765 (33:6765) + ld a, e + call BattleAnim_Sine + ld e, a + ret + +BattleAnim_Cosine_e: ; ce76b (33:676b) + ld a, e + call BattleAnim_Cosine + ld e, a + ret + +; ce771 (33:6771) +BattleAnim_AbsSinePrecise: ; ce771 + ld a, e + call BattleAnim_Sine + ld e, l + ld d, h + ret + +; ce778 +BattleAnim_AbsCosinePrecise: ; ce778 + ld a, e + call BattleAnim_Cosine + ld e, l + ld d, h + ret + +; ce77f +BattleAnimSineWave: ; ce77f + sine_wave $100 +; ce7bf diff --git a/engine/battle_anims/getpokeballwobble.asm b/engine/battle_anims/getpokeballwobble.asm new file mode 100755 index 000000000..7fb4d3e38 --- /dev/null +++ b/engine/battle_anims/getpokeballwobble.asm @@ -0,0 +1,88 @@ +GetPokeBallWobble: ; f971 (3:7971) +; Returns whether a Poke Ball will wobble in the catch animation. +; Whether a Pokemon is caught is determined beforehand. + + push de + + ld a, [rSVBK] + ld d, a + push de + + ld a, 1 ; BANK(Buffer2) + ld [rSVBK], a + + ld a, [Buffer2] + inc a + ld [Buffer2], a + +; Wobble up to 3 times. + cp 3 + 1 + jr z, .finished + + ld a, [wWildMon] + and a + ld c, 0 ; next + jr nz, .done + + ld hl, .WobbleProbabilities + ld a, [Buffer1] + ld b, a +.loop + ld a, [hli] + cp b + jr nc, .checkwobble + inc hl + jr .loop + +.checkwobble + ld b, [hl] + call Random + cp b + ld c, 0 ; next + jr c, .done + ld c, 2 ; escaped + jr .done + +.finished + ld a, [wWildMon] + and a + ld c, 1 ; caught + jr nz, .done + ld c, 2 ; escaped + +.done + pop de + ld e, a + ld a, d + ld [rSVBK], a + ld a, e + pop de + ret + +.WobbleProbabilities: ; f9ba +; catch rate, chance of wobbling / 255 +; nLeft/255 = (nRight/255) ** 4 + db 1, 63 + db 2, 75 + db 3, 84 + db 4, 90 + db 5, 95 + db 7, 103 + db 10, 113 + db 15, 126 + db 20, 134 + db 30, 149 + db 40, 160 + db 50, 169 + db 60, 177 + db 80, 191 + db 100, 201 + db 120, 211 + db 140, 220 + db 160, 227 + db 180, 234 + db 200, 240 + db 220, 246 + db 240, 251 + db 254, 253 + db 255, 255 diff --git a/engine/battle_anims/helpers.asm b/engine/battle_anims/helpers.asm new file mode 100755 index 000000000..a692211d3 --- /dev/null +++ b/engine/battle_anims/helpers.asm @@ -0,0 +1,130 @@ +ReinitBattleAnimFrameset: ; ce7bf (33:67bf) + ld hl, BATTLEANIMSTRUCT_FRAMESET_ID + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_DURATION + add hl, bc + ld [hl], 0 + ld hl, BATTLEANIMSTRUCT_FRAME + add hl, bc + ld [hl], -1 + ret + +GetBattleAnimFrame: ; ce7d1 +.loop + ld hl, BATTLEANIMSTRUCT_DURATION + add hl, bc + ld a, [hl] + and a + jr z, .next_frame + dec [hl] + call .GetPointer + ld a, [hli] + push af + jr .okay + +.next_frame + ld hl, BATTLEANIMSTRUCT_FRAME + add hl, bc + inc [hl] + call .GetPointer + ld a, [hli] + cp -2 + jr z, .restart + cp -1 + jr z, .repeat_last + push af + ld a, [hl] + push hl + and $3f + ld hl, BATTLEANIMSTRUCT_DURATION + add hl, bc + ld [hl], a + pop hl + +.okay + ld a, [hl] + and $c0 + srl a + ld [wBattleAnimTemp7], a + pop af + ret + +.repeat_last + xor a + ld hl, BATTLEANIMSTRUCT_DURATION + add hl, bc + ld [hl], a + ld hl, BATTLEANIMSTRUCT_FRAME + add hl, bc + dec [hl] + dec [hl] + jr .loop + +.restart + xor a + ld hl, BATTLEANIMSTRUCT_DURATION + add hl, bc + ld [hl], a + dec a + ld hl, BATTLEANIMSTRUCT_FRAME + add hl, bc + ld [hl], a + jr .loop + +; ce823 + +.GetPointer: ; ce823 + ld hl, BATTLEANIMSTRUCT_FRAMESET_ID + add hl, bc + ld e, [hl] + ld d, 0 + ld hl, BattleAnimFrameData + add hl, de + add hl, de + ld e, [hl] + inc hl + ld d, [hl] + ld hl, BATTLEANIMSTRUCT_FRAME + add hl, bc + ld l, [hl] + ld h, $0 + add hl, hl + add hl, de + ret + +; ce83c + +GetBattleAnimOAMPointer: ; ce83c + ld l, a + ld h, 0 + ld de, BattleAnimOAMData + add hl, hl + add hl, hl + add hl, de + ret + +; ce846 + +LoadBattleAnimObj: ; ce846 (33:6846) + push hl + ld l, a + ld h, 0 + add hl, hl + add hl, hl + ld de, AnimObjGFX + add hl, de + ld c, [hl] + inc hl + ld b, [hl] + inc hl + ld a, [hli] + ld h, [hl] + ld l, a + pop de + push bc + call DecompressRequest2bpp + pop bc + ret + +; ce85e (33:685e) diff --git a/engine/color.asm b/engine/color.asm index 53c727eef..f4a420f1c 100644 --- a/engine/color.asm +++ b/engine/color.asm @@ -1218,8 +1218,9 @@ INCLUDE "data/palettes/hp_bar.pal" ExpBarPalette: INCLUDE "data/palettes/exp_bar.pal" -INCLUDE "gfx/pokemon/palette_pointers.asm" -INCLUDE "gfx/trainer_palettes.asm" +INCLUDE "data/palettes/pokemon_palettes.asm" + +INCLUDE "data/palettes/trainer_palettes.asm" LoadMapPals: farcall LoadSpecialMapPalette diff --git a/engine/mon_icons.asm b/engine/mon_icons.asm index 965d9f0ef..2ebeb67fa 100755 --- a/engine/mon_icons.asm +++ b/engine/mon_icons.asm @@ -468,6 +468,6 @@ ReadMonMenuIcon: ; 8eab3 INCLUDE "data/pokemon/menu_icons.asm" -INCLUDE "gfx/icon_pointers.asm" +INCLUDE "data/icon_pointers.asm" INCLUDE "gfx/icons.asm" diff --git a/engine/movement.asm b/engine/movement.asm index 66c501909..bec089978 100644 --- a/engine/movement.asm +++ b/engine/movement.asm @@ -1,5 +1,5 @@ MovementPointers: ; 5075 -; entries correspond to macros/movement.asm enumeration +; entries correspond to macros/scripts/movement.asm enumeration dw Movement_turn_head_down ; 00 dw Movement_turn_head_up ; 01 dw Movement_turn_head_left ; 02 diff --git a/engine/routines/battlestart_copytilemapatonce.asm b/engine/routines/battlestart_copytilemapatonce.asm deleted file mode 100644 index 2952e833b..000000000 --- a/engine/routines/battlestart_copytilemapatonce.asm +++ /dev/null @@ -1,3 +0,0 @@ -BattleStart_CopyTilemapAtOnce: ; 8cf4f - call CGBOnly_CopyTilemapAtOnce - ret diff --git a/engine/routines/checkbattlescene.asm b/engine/routines/checkbattlescene.asm deleted file mode 100644 index b63f00907..000000000 --- a/engine/routines/checkbattlescene.asm +++ /dev/null @@ -1,47 +0,0 @@ -CheckBattleScene: ; 4ea44 -; Return carry if battle scene is turned off. - - ld a, 0 - ld hl, wLinkMode - call GetFarWRAMByte - cp LINK_MOBILE - jr z, .mobile - - ld a, [Options] - bit BATTLE_SCENE, a - jr nz, .off - - and a - ret - -.mobile - ld a, [wcd2f] - and a - jr nz, .from_wram - - ld a, $4 - call GetSRAMBank - ld a, [$a60c] - ld c, a - call CloseSRAM - - ld a, c - bit 0, c - jr z, .off - - and a - ret - -.from_wram - ld a, $5 - ld hl, w5_dc00 - call GetFarWRAMByte - bit 0, a - jr z, .off - - and a - ret - -.off - scf - ret diff --git a/engine/routines/consumehelditem.asm b/engine/routines/consumehelditem.asm deleted file mode 100644 index a6f7766fb..000000000 --- a/engine/routines/consumehelditem.asm +++ /dev/null @@ -1,80 +0,0 @@ -ConsumeHeldItem: ; 27192 - push hl - push de - push bc - ld a, [hBattleTurn] - and a - ld hl, OTPartyMon1Item - ld de, EnemyMonItem - ld a, [CurOTMon] - jr z, .theirturn - ld hl, PartyMon1Item - ld de, BattleMonItem - ld a, [CurBattleMon] - -.theirturn - push hl - push af - ld a, [de] - ld b, a - farcall GetItemHeldEffect - ld hl, .ConsumableEffects -.loop - ld a, [hli] - cp b - jr z, .ok - inc a - jr nz, .loop - pop af - pop hl - pop bc - pop de - pop hl - ret - -.ok - xor a - ld [de], a - pop af - pop hl - call GetPartyLocation - ld a, [hBattleTurn] - and a - jr nz, .ourturn - ld a, [wBattleMode] - dec a - jr z, .done - -.ourturn - ld [hl], $0 - -.done - pop bc - pop de - pop hl - ret - -.ConsumableEffects: ; 271de -; Consumable items? - db HELD_BERRY - db HELD_2 - db HELD_5 - db HELD_HEAL_POISON - db HELD_HEAL_FREEZE - db HELD_HEAL_BURN - db HELD_HEAL_SLEEP - db HELD_HEAL_PARALYZE - db HELD_HEAL_STATUS - db HELD_30 - db HELD_ATTACK_UP - db HELD_DEFENSE_UP - db HELD_SPEED_UP - db HELD_SP_ATTACK_UP - db HELD_SP_DEFENSE_UP - db HELD_ACCURACY_UP - db HELD_EVASION_UP - db HELD_38 - db HELD_71 - db HELD_ESCAPE - db HELD_CRITICAL_UP - db -1 diff --git a/engine/routines/getpokeballwobble.asm b/engine/routines/getpokeballwobble.asm deleted file mode 100755 index 7fb4d3e38..000000000 --- a/engine/routines/getpokeballwobble.asm +++ /dev/null @@ -1,88 +0,0 @@ -GetPokeBallWobble: ; f971 (3:7971) -; Returns whether a Poke Ball will wobble in the catch animation. -; Whether a Pokemon is caught is determined beforehand. - - push de - - ld a, [rSVBK] - ld d, a - push de - - ld a, 1 ; BANK(Buffer2) - ld [rSVBK], a - - ld a, [Buffer2] - inc a - ld [Buffer2], a - -; Wobble up to 3 times. - cp 3 + 1 - jr z, .finished - - ld a, [wWildMon] - and a - ld c, 0 ; next - jr nz, .done - - ld hl, .WobbleProbabilities - ld a, [Buffer1] - ld b, a -.loop - ld a, [hli] - cp b - jr nc, .checkwobble - inc hl - jr .loop - -.checkwobble - ld b, [hl] - call Random - cp b - ld c, 0 ; next - jr c, .done - ld c, 2 ; escaped - jr .done - -.finished - ld a, [wWildMon] - and a - ld c, 1 ; caught - jr nz, .done - ld c, 2 ; escaped - -.done - pop de - ld e, a - ld a, d - ld [rSVBK], a - ld a, e - pop de - ret - -.WobbleProbabilities: ; f9ba -; catch rate, chance of wobbling / 255 -; nLeft/255 = (nRight/255) ** 4 - db 1, 63 - db 2, 75 - db 3, 84 - db 4, 90 - db 5, 95 - db 7, 103 - db 10, 113 - db 15, 126 - db 20, 134 - db 30, 149 - db 40, 160 - db 50, 169 - db 60, 177 - db 80, 191 - db 100, 201 - db 120, 211 - db 140, 220 - db 160, 227 - db 180, 234 - db 200, 240 - db 220, 246 - db 240, 251 - db 254, 253 - db 255, 255 diff --git a/engine/routines/kurt_selectquantity_interpretjoypad.asm b/engine/routines/kurt_selectquantity_interpretjoypad.asm deleted file mode 100644 index 12a43e325..000000000 --- a/engine/routines/kurt_selectquantity_interpretjoypad.asm +++ /dev/null @@ -1,4 +0,0 @@ -Kurt_SelectQuantity_InterpretJoypad: ; 27a28 - call BuySellToss_InterpretJoypad - ld b, a - ret diff --git a/engine/routines/returntobattle_useball.asm b/engine/routines/returntobattle_useball.asm deleted file mode 100644 index e6e33f900..000000000 --- a/engine/routines/returntobattle_useball.asm +++ /dev/null @@ -1,19 +0,0 @@ -_ReturnToBattle_UseBall: ; 2715c - call ClearBGPalettes - call ClearTileMap - ld a, [BattleType] - cp BATTLETYPE_TUTORIAL - jr z, .gettutorialbackpic - farcall GetBattleMonBackpic - jr .continue - -.gettutorialbackpic - farcall GetTrainerBackpic -.continue - farcall GetEnemyMonFrontpic - farcall _LoadBattleFontsHPBar - call GetMemSGBLayout - call CloseWindow - call LoadStandardMenuDataHeader - call WaitBGMap - jp SetPalettes diff --git a/engine/routines/updatebattlehuds.asm b/engine/routines/updatebattlehuds.asm deleted file mode 100644 index ec7f662e8..000000000 --- a/engine/routines/updatebattlehuds.asm +++ /dev/null @@ -1,9 +0,0 @@ -_UpdateBattleHUDs: - farcall DrawPlayerHUD - ld hl, PlayerHPPal - call SetHPPal - farcall DrawEnemyHUD - ld hl, EnemyHPPal - call SetHPPal - farcall FinishBattleAnim - ret diff --git a/engine/scripting.asm b/engine/scripting.asm index 9818bbac3..826267f6b 100644 --- a/engine/scripting.asm +++ b/engine/scripting.asm @@ -64,7 +64,7 @@ RunScriptCommand: ScriptCommandTable: -; entries correspond to macros/event.asm enumeration +; entries correspond to macros/scripts/events.asm enumeration dw Script_scall ; 00 dw Script_farscall ; 01 dw Script_ptcall ; 02 diff --git a/engine/sprites.asm b/engine/sprites.asm index cc579a914..b52c9642b 100755 --- a/engine/sprites.asm +++ b/engine/sprites.asm @@ -551,13 +551,13 @@ BrokenGetStdGraphics: ; 8d1ac ; 8d1c4 -INCLUDE "data/sprites/sequences.asm" +INCLUDE "data/sprite_anims/sequences.asm" INCLUDE "engine/sprite_anims.asm" -INCLUDE "data/sprites/framesets.asm" +INCLUDE "data/sprite_anims/framesets.asm" -INCLUDE "data/sprites/oam.asm" +INCLUDE "data/sprite_anims/oam.asm" BrokenStdGFXPointers: ; Broken 2bpp pointers diff --git a/engine/trade_animation.asm b/engine/trade_animation.asm index fa631ae4e..1305fab5b 100755 --- a/engine/trade_animation.asm +++ b/engine/trade_animation.asm @@ -236,7 +236,7 @@ DoTradeAnimation: ; 29082 ; 290af .JumpTable: ; 290af -; entries correspond to macros/trade_anim.asm enumeration +; entries correspond to macros/scripts/trade_anims.asm enumeration dw TradeAnim_AdvanceScriptPointer ; 00 dw TradeAnim_ShowGivemonData ; 01 dw TradeAnim_ShowGetmonData ; 02 diff --git a/event/kurt_selectquantity_interpretjoypad.asm b/event/kurt_selectquantity_interpretjoypad.asm new file mode 100644 index 000000000..12a43e325 --- /dev/null +++ b/event/kurt_selectquantity_interpretjoypad.asm @@ -0,0 +1,4 @@ +Kurt_SelectQuantity_InterpretJoypad: ; 27a28 + call BuySellToss_InterpretJoypad + ld b, a + ret diff --git a/gfx/anims.asm b/gfx/anims.asm deleted file mode 100644 index 8306518cc..000000000 --- a/gfx/anims.asm +++ /dev/null @@ -1,41 +0,0 @@ -AnimObj00GFX: ; 84a2e -AnimObjHitGFX: INCBIN "gfx/anims/hit.2bpp.lz" -AnimObjCutGFX: INCBIN "gfx/anims/cut.2bpp.lz" -AnimObjFireGFX: INCBIN "gfx/anims/fire.2bpp.lz" -AnimObjWaterGFX: INCBIN "gfx/anims/water.2bpp.lz" -AnimObjLightningGFX: INCBIN "gfx/anims/lightning.2bpp.lz" -AnimObjSmokeGFX: INCBIN "gfx/anims/smoke.2bpp.lz" -AnimObjExplosionGFX: INCBIN "gfx/anims/explosion.2bpp.lz" -AnimObjIceGFX: INCBIN "gfx/anims/ice.2bpp.lz" -AnimObjRocksGFX: INCBIN "gfx/anims/rocks.2bpp.lz" -AnimObjPoisonGFX: INCBIN "gfx/anims/poison.2bpp.lz" -AnimObjPlantGFX: INCBIN "gfx/anims/plant.2bpp.lz" -AnimObjPokeBallGFX: INCBIN "gfx/anims/pokeball.2bpp.lz" -AnimObjBubbleGFX: INCBIN "gfx/anims/bubble.2bpp.lz" -AnimObjNoiseGFX: INCBIN "gfx/anims/noise.2bpp.lz" -AnimObjReflectGFX: INCBIN "gfx/anims/reflect.2bpp.lz" -AnimObjPowderGFX: INCBIN "gfx/anims/powder.2bpp.lz" -AnimObjBeamGFX: INCBIN "gfx/anims/beam.2bpp.lz" -AnimObjSpeedGFX: INCBIN "gfx/anims/speed.2bpp.lz" -AnimObjChargeGFX: INCBIN "gfx/anims/charge.2bpp.lz" -AnimObjWindGFX: INCBIN "gfx/anims/wind.2bpp.lz" -AnimObjWhipGFX: INCBIN "gfx/anims/whip.2bpp.lz" -AnimObjRopeGFX: INCBIN "gfx/anims/rope.2bpp.lz" -AnimObjEggGFX: INCBIN "gfx/anims/egg.2bpp.lz" -AnimObjPsychicGFX: INCBIN "gfx/anims/psychic.2bpp.lz" -AnimObjSandGFX: INCBIN "gfx/anims/sand.2bpp.lz" -AnimObjWebGFX: INCBIN "gfx/anims/web.2bpp.lz" -AnimObjHazeGFX: INCBIN "gfx/anims/haze.2bpp.lz" -AnimObjHornGFX: INCBIN "gfx/anims/horn.2bpp.lz" -AnimObjFlowerGFX: INCBIN "gfx/anims/flower.2bpp.lz" -AnimObjMiscGFX: INCBIN "gfx/anims/misc.2bpp.lz" -AnimObjSkyAttackGFX: INCBIN "gfx/anims/skyattack.2bpp.lz" -AnimObjGlobeGFX: INCBIN "gfx/anims/globe.2bpp.lz" -AnimObjShapesGFX: INCBIN "gfx/anims/shapes.2bpp.lz" -AnimObjStatusGFX: INCBIN "gfx/anims/status.2bpp.lz" -AnimObjObjectsGFX: INCBIN "gfx/anims/objects.2bpp.lz" -AnimObjShineGFX: INCBIN "gfx/anims/shine.2bpp.lz" -AnimObjAngelsGFX: INCBIN "gfx/anims/angels.2bpp.lz" -AnimObjWaveGFX: INCBIN "gfx/anims/wave.2bpp.lz" -AnimObjAeroblastGFX: INCBIN "gfx/anims/aeroblast.2bpp.lz" -; 8640e diff --git a/gfx/anims/aeroblast.2bpp.lz.2f07c4ea b/gfx/anims/aeroblast.2bpp.lz.2f07c4ea deleted file mode 100644 index 5e203cb63..000000000 Binary files a/gfx/anims/aeroblast.2bpp.lz.2f07c4ea and /dev/null differ diff --git a/gfx/anims/aeroblast.png b/gfx/anims/aeroblast.png deleted file mode 100644 index 1fdc07c2f..000000000 Binary files a/gfx/anims/aeroblast.png and /dev/null differ diff --git a/gfx/anims/angels.2bpp.lz.b026d81e b/gfx/anims/angels.2bpp.lz.b026d81e deleted file mode 100644 index 61d89d224..000000000 Binary files a/gfx/anims/angels.2bpp.lz.b026d81e and /dev/null differ diff --git a/gfx/anims/angels.png b/gfx/anims/angels.png deleted file mode 100644 index ef38c61d2..000000000 Binary files a/gfx/anims/angels.png and /dev/null differ diff --git a/gfx/anims/beam.2bpp.lz.80b6d613 b/gfx/anims/beam.2bpp.lz.80b6d613 deleted file mode 100644 index 1ce9ab82c..000000000 Binary files a/gfx/anims/beam.2bpp.lz.80b6d613 and /dev/null differ diff --git a/gfx/anims/beam.png b/gfx/anims/beam.png deleted file mode 100755 index 32a3b1967..000000000 Binary files a/gfx/anims/beam.png and /dev/null differ diff --git a/gfx/anims/bubble.2bpp.lz.03b8ac99 b/gfx/anims/bubble.2bpp.lz.03b8ac99 deleted file mode 100644 index 3d546191a..000000000 Binary files a/gfx/anims/bubble.2bpp.lz.03b8ac99 and /dev/null differ diff --git a/gfx/anims/bubble.png b/gfx/anims/bubble.png deleted file mode 100644 index b6febb0a8..000000000 Binary files a/gfx/anims/bubble.png and /dev/null differ diff --git a/gfx/anims/charge.2bpp.lz.95d3ea98 b/gfx/anims/charge.2bpp.lz.95d3ea98 deleted file mode 100644 index 32c82243c..000000000 Binary files a/gfx/anims/charge.2bpp.lz.95d3ea98 and /dev/null differ diff --git a/gfx/anims/charge.png b/gfx/anims/charge.png deleted file mode 100644 index 90cb72f9f..000000000 Binary files a/gfx/anims/charge.png and /dev/null differ diff --git a/gfx/anims/cut.2bpp.lz.03d343ed b/gfx/anims/cut.2bpp.lz.03d343ed deleted file mode 100644 index 740a48799..000000000 Binary files a/gfx/anims/cut.2bpp.lz.03d343ed and /dev/null differ diff --git a/gfx/anims/cut.png b/gfx/anims/cut.png deleted file mode 100644 index e227ad413..000000000 Binary files a/gfx/anims/cut.png and /dev/null differ diff --git a/gfx/anims/egg.2bpp.lz.41dd1a53 b/gfx/anims/egg.2bpp.lz.41dd1a53 deleted file mode 100644 index fb55f2edc..000000000 Binary files a/gfx/anims/egg.2bpp.lz.41dd1a53 and /dev/null differ diff --git a/gfx/anims/egg.png b/gfx/anims/egg.png deleted file mode 100644 index 38aab505d..000000000 Binary files a/gfx/anims/egg.png and /dev/null differ diff --git a/gfx/anims/explosion.2bpp.lz.55fc334f b/gfx/anims/explosion.2bpp.lz.55fc334f deleted file mode 100644 index 4303302a1..000000000 Binary files a/gfx/anims/explosion.2bpp.lz.55fc334f and /dev/null differ diff --git a/gfx/anims/explosion.png b/gfx/anims/explosion.png deleted file mode 100644 index 0af9f1a0d..000000000 Binary files a/gfx/anims/explosion.png and /dev/null differ diff --git a/gfx/anims/fire.2bpp.lz.d7701cda b/gfx/anims/fire.2bpp.lz.d7701cda deleted file mode 100644 index e15e9f9bb..000000000 Binary files a/gfx/anims/fire.2bpp.lz.d7701cda and /dev/null differ diff --git a/gfx/anims/fire.png b/gfx/anims/fire.png deleted file mode 100644 index 19f01141b..000000000 Binary files a/gfx/anims/fire.png and /dev/null differ diff --git a/gfx/anims/flower.2bpp.lz.1bc2e9d2 b/gfx/anims/flower.2bpp.lz.1bc2e9d2 deleted file mode 100644 index ef628afb4..000000000 Binary files a/gfx/anims/flower.2bpp.lz.1bc2e9d2 and /dev/null differ diff --git a/gfx/anims/flower.png b/gfx/anims/flower.png deleted file mode 100644 index 61b4f58ce..000000000 Binary files a/gfx/anims/flower.png and /dev/null differ diff --git a/gfx/anims/globe.2bpp.lz.710dbb8e b/gfx/anims/globe.2bpp.lz.710dbb8e deleted file mode 100644 index 99fa15c6f..000000000 Binary files a/gfx/anims/globe.2bpp.lz.710dbb8e and /dev/null differ diff --git a/gfx/anims/globe.png b/gfx/anims/globe.png deleted file mode 100644 index 8d3a35683..000000000 Binary files a/gfx/anims/globe.png and /dev/null differ diff --git a/gfx/anims/haze.2bpp.lz.91424607 b/gfx/anims/haze.2bpp.lz.91424607 deleted file mode 100644 index e0cdc644c..000000000 Binary files a/gfx/anims/haze.2bpp.lz.91424607 and /dev/null differ diff --git a/gfx/anims/haze.png b/gfx/anims/haze.png deleted file mode 100644 index 8a870ba98..000000000 Binary files a/gfx/anims/haze.png and /dev/null differ diff --git a/gfx/anims/hit.2bpp.lz.2b3c83f2 b/gfx/anims/hit.2bpp.lz.2b3c83f2 deleted file mode 100644 index 5d9ffbe5d..000000000 Binary files a/gfx/anims/hit.2bpp.lz.2b3c83f2 and /dev/null differ diff --git a/gfx/anims/hit.png b/gfx/anims/hit.png deleted file mode 100644 index 228066331..000000000 Binary files a/gfx/anims/hit.png and /dev/null differ diff --git a/gfx/anims/horn.2bpp.lz.48908aae b/gfx/anims/horn.2bpp.lz.48908aae deleted file mode 100644 index a92f74796..000000000 Binary files a/gfx/anims/horn.2bpp.lz.48908aae and /dev/null differ diff --git a/gfx/anims/horn.png b/gfx/anims/horn.png deleted file mode 100644 index 56e8ca241..000000000 Binary files a/gfx/anims/horn.png and /dev/null differ diff --git a/gfx/anims/ice.2bpp.lz.664d900f b/gfx/anims/ice.2bpp.lz.664d900f deleted file mode 100644 index 3d059700b..000000000 Binary files a/gfx/anims/ice.2bpp.lz.664d900f and /dev/null differ diff --git a/gfx/anims/ice.png b/gfx/anims/ice.png deleted file mode 100644 index 62a67641e..000000000 Binary files a/gfx/anims/ice.png and /dev/null differ diff --git a/gfx/anims/lightning.2bpp.lz.a88fc131 b/gfx/anims/lightning.2bpp.lz.a88fc131 deleted file mode 100644 index 81de5850f..000000000 Binary files a/gfx/anims/lightning.2bpp.lz.a88fc131 and /dev/null differ diff --git a/gfx/anims/lightning.png b/gfx/anims/lightning.png deleted file mode 100755 index 6606fad12..000000000 Binary files a/gfx/anims/lightning.png and /dev/null differ diff --git a/gfx/anims/misc.2bpp.lz.4b20c3d7 b/gfx/anims/misc.2bpp.lz.4b20c3d7 deleted file mode 100644 index d0c5f0dfc..000000000 Binary files a/gfx/anims/misc.2bpp.lz.4b20c3d7 and /dev/null differ diff --git a/gfx/anims/misc.png b/gfx/anims/misc.png deleted file mode 100755 index d7e67508e..000000000 Binary files a/gfx/anims/misc.png and /dev/null differ diff --git a/gfx/anims/noise.2bpp.lz.acb4a76e b/gfx/anims/noise.2bpp.lz.acb4a76e deleted file mode 100644 index e195da453..000000000 Binary files a/gfx/anims/noise.2bpp.lz.acb4a76e and /dev/null differ diff --git a/gfx/anims/noise.png b/gfx/anims/noise.png deleted file mode 100755 index 17540a5e8..000000000 Binary files a/gfx/anims/noise.png and /dev/null differ diff --git a/gfx/anims/objects.2bpp.lz.83f812de b/gfx/anims/objects.2bpp.lz.83f812de deleted file mode 100644 index 1a52d6350..000000000 Binary files a/gfx/anims/objects.2bpp.lz.83f812de and /dev/null differ diff --git a/gfx/anims/objects.png b/gfx/anims/objects.png deleted file mode 100755 index 91ea435b8..000000000 Binary files a/gfx/anims/objects.png and /dev/null differ diff --git a/gfx/anims/plant.2bpp.lz.4a00c417 b/gfx/anims/plant.2bpp.lz.4a00c417 deleted file mode 100644 index 589fc48b6..000000000 Binary files a/gfx/anims/plant.2bpp.lz.4a00c417 and /dev/null differ diff --git a/gfx/anims/plant.png b/gfx/anims/plant.png deleted file mode 100644 index ec1125054..000000000 Binary files a/gfx/anims/plant.png and /dev/null differ diff --git a/gfx/anims/poison.2bpp.lz.fc7dc9c1 b/gfx/anims/poison.2bpp.lz.fc7dc9c1 deleted file mode 100644 index df2cbe604..000000000 Binary files a/gfx/anims/poison.2bpp.lz.fc7dc9c1 and /dev/null differ diff --git a/gfx/anims/poison.png b/gfx/anims/poison.png deleted file mode 100755 index ebbbc52be..000000000 Binary files a/gfx/anims/poison.png and /dev/null differ diff --git a/gfx/anims/pokeball.2bpp.lz.c58f7e01 b/gfx/anims/pokeball.2bpp.lz.c58f7e01 deleted file mode 100644 index e09b082db..000000000 Binary files a/gfx/anims/pokeball.2bpp.lz.c58f7e01 and /dev/null differ diff --git a/gfx/anims/pokeball.png b/gfx/anims/pokeball.png deleted file mode 100755 index 47edf2190..000000000 Binary files a/gfx/anims/pokeball.png and /dev/null differ diff --git a/gfx/anims/powder.2bpp.lz.bfd566bb b/gfx/anims/powder.2bpp.lz.bfd566bb deleted file mode 100644 index 375d0bf9c..000000000 Binary files a/gfx/anims/powder.2bpp.lz.bfd566bb and /dev/null differ diff --git a/gfx/anims/powder.png b/gfx/anims/powder.png deleted file mode 100644 index b2cb4d459..000000000 Binary files a/gfx/anims/powder.png and /dev/null differ diff --git a/gfx/anims/psychic.2bpp.lz.d80f285c b/gfx/anims/psychic.2bpp.lz.d80f285c deleted file mode 100644 index d6402dd3d..000000000 Binary files a/gfx/anims/psychic.2bpp.lz.d80f285c and /dev/null differ diff --git a/gfx/anims/psychic.png b/gfx/anims/psychic.png deleted file mode 100644 index a6d22db2f..000000000 Binary files a/gfx/anims/psychic.png and /dev/null differ diff --git a/gfx/anims/reflect.2bpp.lz.9a9c822d b/gfx/anims/reflect.2bpp.lz.9a9c822d deleted file mode 100644 index a563de1a8..000000000 Binary files a/gfx/anims/reflect.2bpp.lz.9a9c822d and /dev/null differ diff --git a/gfx/anims/reflect.png b/gfx/anims/reflect.png deleted file mode 100644 index 48fbd7d0d..000000000 Binary files a/gfx/anims/reflect.png and /dev/null differ diff --git a/gfx/anims/rocks.2bpp.lz.73d0153e b/gfx/anims/rocks.2bpp.lz.73d0153e deleted file mode 100644 index d5481ea6e..000000000 Binary files a/gfx/anims/rocks.2bpp.lz.73d0153e and /dev/null differ diff --git a/gfx/anims/rocks.png b/gfx/anims/rocks.png deleted file mode 100755 index d7fe76b2f..000000000 Binary files a/gfx/anims/rocks.png and /dev/null differ diff --git a/gfx/anims/rope.2bpp.lz.209d63dd b/gfx/anims/rope.2bpp.lz.209d63dd deleted file mode 100644 index f7d6a480f..000000000 Binary files a/gfx/anims/rope.2bpp.lz.209d63dd and /dev/null differ diff --git a/gfx/anims/rope.png b/gfx/anims/rope.png deleted file mode 100644 index a12553c7a..000000000 Binary files a/gfx/anims/rope.png and /dev/null differ diff --git a/gfx/anims/sand.2bpp.lz.c87c0eaa b/gfx/anims/sand.2bpp.lz.c87c0eaa deleted file mode 100644 index 3508a1f58..000000000 Binary files a/gfx/anims/sand.2bpp.lz.c87c0eaa and /dev/null differ diff --git a/gfx/anims/sand.png b/gfx/anims/sand.png deleted file mode 100755 index a54db235d..000000000 Binary files a/gfx/anims/sand.png and /dev/null differ diff --git a/gfx/anims/shapes.2bpp.lz.262d77f0 b/gfx/anims/shapes.2bpp.lz.262d77f0 deleted file mode 100644 index d7d48020f..000000000 Binary files a/gfx/anims/shapes.2bpp.lz.262d77f0 and /dev/null differ diff --git a/gfx/anims/shapes.png b/gfx/anims/shapes.png deleted file mode 100644 index b99fc601a..000000000 Binary files a/gfx/anims/shapes.png and /dev/null differ diff --git a/gfx/anims/shine.2bpp.lz.5fb79056 b/gfx/anims/shine.2bpp.lz.5fb79056 deleted file mode 100644 index 3e47170b1..000000000 Binary files a/gfx/anims/shine.2bpp.lz.5fb79056 and /dev/null differ diff --git a/gfx/anims/shine.png b/gfx/anims/shine.png deleted file mode 100644 index 1b7e9834b..000000000 Binary files a/gfx/anims/shine.png and /dev/null differ diff --git a/gfx/anims/skyattack.2bpp.lz.31738ab8 b/gfx/anims/skyattack.2bpp.lz.31738ab8 deleted file mode 100644 index e0412dd81..000000000 Binary files a/gfx/anims/skyattack.2bpp.lz.31738ab8 and /dev/null differ diff --git a/gfx/anims/skyattack.png b/gfx/anims/skyattack.png deleted file mode 100644 index e731c691c..000000000 Binary files a/gfx/anims/skyattack.png and /dev/null differ diff --git a/gfx/anims/smoke.2bpp.lz.aa05905e b/gfx/anims/smoke.2bpp.lz.aa05905e deleted file mode 100644 index bf26fed2b..000000000 Binary files a/gfx/anims/smoke.2bpp.lz.aa05905e and /dev/null differ diff --git a/gfx/anims/smoke.png b/gfx/anims/smoke.png deleted file mode 100644 index 1b09874ba..000000000 Binary files a/gfx/anims/smoke.png and /dev/null differ diff --git a/gfx/anims/speed.2bpp.lz.1732b364 b/gfx/anims/speed.2bpp.lz.1732b364 deleted file mode 100644 index 5d09f9a6a..000000000 Binary files a/gfx/anims/speed.2bpp.lz.1732b364 and /dev/null differ diff --git a/gfx/anims/speed.png b/gfx/anims/speed.png deleted file mode 100644 index e219b38c9..000000000 Binary files a/gfx/anims/speed.png and /dev/null differ diff --git a/gfx/anims/status.2bpp.lz.0c0aa13e b/gfx/anims/status.2bpp.lz.0c0aa13e deleted file mode 100644 index e5ce7df8a..000000000 Binary files a/gfx/anims/status.2bpp.lz.0c0aa13e and /dev/null differ diff --git a/gfx/anims/status.png b/gfx/anims/status.png deleted file mode 100644 index cb8527963..000000000 Binary files a/gfx/anims/status.png and /dev/null differ diff --git a/gfx/anims/water.2bpp.lz.7b52ed12 b/gfx/anims/water.2bpp.lz.7b52ed12 deleted file mode 100644 index 6a81bbb65..000000000 Binary files a/gfx/anims/water.2bpp.lz.7b52ed12 and /dev/null differ diff --git a/gfx/anims/water.png b/gfx/anims/water.png deleted file mode 100644 index 4e3c3b719..000000000 Binary files a/gfx/anims/water.png and /dev/null differ diff --git a/gfx/anims/wave.2bpp.lz.bee99402 b/gfx/anims/wave.2bpp.lz.bee99402 deleted file mode 100644 index d94a5cb35..000000000 Binary files a/gfx/anims/wave.2bpp.lz.bee99402 and /dev/null differ diff --git a/gfx/anims/wave.png b/gfx/anims/wave.png deleted file mode 100644 index 55d4faa5f..000000000 Binary files a/gfx/anims/wave.png and /dev/null differ diff --git a/gfx/anims/web.2bpp.lz.80e3d480 b/gfx/anims/web.2bpp.lz.80e3d480 deleted file mode 100644 index 84b4018e5..000000000 Binary files a/gfx/anims/web.2bpp.lz.80e3d480 and /dev/null differ diff --git a/gfx/anims/web.png b/gfx/anims/web.png deleted file mode 100644 index 2aeffef0e..000000000 Binary files a/gfx/anims/web.png and /dev/null differ diff --git a/gfx/anims/whip.2bpp.lz.d80d8d6e b/gfx/anims/whip.2bpp.lz.d80d8d6e deleted file mode 100644 index da62ba918..000000000 Binary files a/gfx/anims/whip.2bpp.lz.d80d8d6e and /dev/null differ diff --git a/gfx/anims/whip.png b/gfx/anims/whip.png deleted file mode 100644 index 92d7ded6f..000000000 Binary files a/gfx/anims/whip.png and /dev/null differ diff --git a/gfx/anims/wind.2bpp.lz.5a785180 b/gfx/anims/wind.2bpp.lz.5a785180 deleted file mode 100644 index 9c2769b83..000000000 Binary files a/gfx/anims/wind.2bpp.lz.5a785180 and /dev/null differ diff --git a/gfx/anims/wind.png b/gfx/anims/wind.png deleted file mode 100644 index b02031392..000000000 Binary files a/gfx/anims/wind.png and /dev/null differ diff --git a/gfx/battle_anims.asm b/gfx/battle_anims.asm new file mode 100644 index 000000000..52ac4e6b5 --- /dev/null +++ b/gfx/battle_anims.asm @@ -0,0 +1,41 @@ +AnimObj00GFX: ; 84a2e +AnimObjHitGFX: INCBIN "gfx/battle_anims/hit.2bpp.lz" +AnimObjCutGFX: INCBIN "gfx/battle_anims/cut.2bpp.lz" +AnimObjFireGFX: INCBIN "gfx/battle_anims/fire.2bpp.lz" +AnimObjWaterGFX: INCBIN "gfx/battle_anims/water.2bpp.lz" +AnimObjLightningGFX: INCBIN "gfx/battle_anims/lightning.2bpp.lz" +AnimObjSmokeGFX: INCBIN "gfx/battle_anims/smoke.2bpp.lz" +AnimObjExplosionGFX: INCBIN "gfx/battle_anims/explosion.2bpp.lz" +AnimObjIceGFX: INCBIN "gfx/battle_anims/ice.2bpp.lz" +AnimObjRocksGFX: INCBIN "gfx/battle_anims/rocks.2bpp.lz" +AnimObjPoisonGFX: INCBIN "gfx/battle_anims/poison.2bpp.lz" +AnimObjPlantGFX: INCBIN "gfx/battle_anims/plant.2bpp.lz" +AnimObjPokeBallGFX: INCBIN "gfx/battle_anims/pokeball.2bpp.lz" +AnimObjBubbleGFX: INCBIN "gfx/battle_anims/bubble.2bpp.lz" +AnimObjNoiseGFX: INCBIN "gfx/battle_anims/noise.2bpp.lz" +AnimObjReflectGFX: INCBIN "gfx/battle_anims/reflect.2bpp.lz" +AnimObjPowderGFX: INCBIN "gfx/battle_anims/powder.2bpp.lz" +AnimObjBeamGFX: INCBIN "gfx/battle_anims/beam.2bpp.lz" +AnimObjSpeedGFX: INCBIN "gfx/battle_anims/speed.2bpp.lz" +AnimObjChargeGFX: INCBIN "gfx/battle_anims/charge.2bpp.lz" +AnimObjWindGFX: INCBIN "gfx/battle_anims/wind.2bpp.lz" +AnimObjWhipGFX: INCBIN "gfx/battle_anims/whip.2bpp.lz" +AnimObjRopeGFX: INCBIN "gfx/battle_anims/rope.2bpp.lz" +AnimObjEggGFX: INCBIN "gfx/battle_anims/egg.2bpp.lz" +AnimObjPsychicGFX: INCBIN "gfx/battle_anims/psychic.2bpp.lz" +AnimObjSandGFX: INCBIN "gfx/battle_anims/sand.2bpp.lz" +AnimObjWebGFX: INCBIN "gfx/battle_anims/web.2bpp.lz" +AnimObjHazeGFX: INCBIN "gfx/battle_anims/haze.2bpp.lz" +AnimObjHornGFX: INCBIN "gfx/battle_anims/horn.2bpp.lz" +AnimObjFlowerGFX: INCBIN "gfx/battle_anims/flower.2bpp.lz" +AnimObjMiscGFX: INCBIN "gfx/battle_anims/misc.2bpp.lz" +AnimObjSkyAttackGFX: INCBIN "gfx/battle_anims/skyattack.2bpp.lz" +AnimObjGlobeGFX: INCBIN "gfx/battle_anims/globe.2bpp.lz" +AnimObjShapesGFX: INCBIN "gfx/battle_anims/shapes.2bpp.lz" +AnimObjStatusGFX: INCBIN "gfx/battle_anims/status.2bpp.lz" +AnimObjObjectsGFX: INCBIN "gfx/battle_anims/objects.2bpp.lz" +AnimObjShineGFX: INCBIN "gfx/battle_anims/shine.2bpp.lz" +AnimObjAngelsGFX: INCBIN "gfx/battle_anims/angels.2bpp.lz" +AnimObjWaveGFX: INCBIN "gfx/battle_anims/wave.2bpp.lz" +AnimObjAeroblastGFX: INCBIN "gfx/battle_anims/aeroblast.2bpp.lz" +; 8640e diff --git a/gfx/battle_anims/aeroblast.2bpp.lz.2f07c4ea b/gfx/battle_anims/aeroblast.2bpp.lz.2f07c4ea new file mode 100644 index 000000000..5e203cb63 Binary files /dev/null and b/gfx/battle_anims/aeroblast.2bpp.lz.2f07c4ea differ diff --git a/gfx/battle_anims/aeroblast.png b/gfx/battle_anims/aeroblast.png new file mode 100644 index 000000000..1fdc07c2f Binary files /dev/null and b/gfx/battle_anims/aeroblast.png differ diff --git a/gfx/battle_anims/angels.2bpp.lz.b026d81e b/gfx/battle_anims/angels.2bpp.lz.b026d81e new file mode 100644 index 000000000..61d89d224 Binary files /dev/null and b/gfx/battle_anims/angels.2bpp.lz.b026d81e differ diff --git a/gfx/battle_anims/angels.png b/gfx/battle_anims/angels.png new file mode 100644 index 000000000..ef38c61d2 Binary files /dev/null and b/gfx/battle_anims/angels.png differ diff --git a/gfx/battle_anims/beam.2bpp.lz.80b6d613 b/gfx/battle_anims/beam.2bpp.lz.80b6d613 new file mode 100644 index 000000000..1ce9ab82c Binary files /dev/null and b/gfx/battle_anims/beam.2bpp.lz.80b6d613 differ diff --git a/gfx/battle_anims/beam.png b/gfx/battle_anims/beam.png new file mode 100755 index 000000000..32a3b1967 Binary files /dev/null and b/gfx/battle_anims/beam.png differ diff --git a/gfx/battle_anims/bubble.2bpp.lz.03b8ac99 b/gfx/battle_anims/bubble.2bpp.lz.03b8ac99 new file mode 100644 index 000000000..3d546191a Binary files /dev/null and b/gfx/battle_anims/bubble.2bpp.lz.03b8ac99 differ diff --git a/gfx/battle_anims/bubble.png b/gfx/battle_anims/bubble.png new file mode 100644 index 000000000..b6febb0a8 Binary files /dev/null and b/gfx/battle_anims/bubble.png differ diff --git a/gfx/battle_anims/charge.2bpp.lz.95d3ea98 b/gfx/battle_anims/charge.2bpp.lz.95d3ea98 new file mode 100644 index 000000000..32c82243c Binary files /dev/null and b/gfx/battle_anims/charge.2bpp.lz.95d3ea98 differ diff --git a/gfx/battle_anims/charge.png b/gfx/battle_anims/charge.png new file mode 100644 index 000000000..90cb72f9f Binary files /dev/null and b/gfx/battle_anims/charge.png differ diff --git a/gfx/battle_anims/cut.2bpp.lz.03d343ed b/gfx/battle_anims/cut.2bpp.lz.03d343ed new file mode 100644 index 000000000..740a48799 Binary files /dev/null and b/gfx/battle_anims/cut.2bpp.lz.03d343ed differ diff --git a/gfx/battle_anims/cut.png b/gfx/battle_anims/cut.png new file mode 100644 index 000000000..e227ad413 Binary files /dev/null and b/gfx/battle_anims/cut.png differ diff --git a/gfx/battle_anims/egg.2bpp.lz.41dd1a53 b/gfx/battle_anims/egg.2bpp.lz.41dd1a53 new file mode 100644 index 000000000..fb55f2edc Binary files /dev/null and b/gfx/battle_anims/egg.2bpp.lz.41dd1a53 differ diff --git a/gfx/battle_anims/egg.png b/gfx/battle_anims/egg.png new file mode 100644 index 000000000..38aab505d Binary files /dev/null and b/gfx/battle_anims/egg.png differ diff --git a/gfx/battle_anims/explosion.2bpp.lz.55fc334f b/gfx/battle_anims/explosion.2bpp.lz.55fc334f new file mode 100644 index 000000000..4303302a1 Binary files /dev/null and b/gfx/battle_anims/explosion.2bpp.lz.55fc334f differ diff --git a/gfx/battle_anims/explosion.png b/gfx/battle_anims/explosion.png new file mode 100644 index 000000000..0af9f1a0d Binary files /dev/null and b/gfx/battle_anims/explosion.png differ diff --git a/gfx/battle_anims/fire.2bpp.lz.d7701cda b/gfx/battle_anims/fire.2bpp.lz.d7701cda new file mode 100644 index 000000000..e15e9f9bb Binary files /dev/null and b/gfx/battle_anims/fire.2bpp.lz.d7701cda differ diff --git a/gfx/battle_anims/fire.png b/gfx/battle_anims/fire.png new file mode 100644 index 000000000..19f01141b Binary files /dev/null and b/gfx/battle_anims/fire.png differ diff --git a/gfx/battle_anims/flower.2bpp.lz.1bc2e9d2 b/gfx/battle_anims/flower.2bpp.lz.1bc2e9d2 new file mode 100644 index 000000000..ef628afb4 Binary files /dev/null and b/gfx/battle_anims/flower.2bpp.lz.1bc2e9d2 differ diff --git a/gfx/battle_anims/flower.png b/gfx/battle_anims/flower.png new file mode 100644 index 000000000..61b4f58ce Binary files /dev/null and b/gfx/battle_anims/flower.png differ diff --git a/gfx/battle_anims/globe.2bpp.lz.710dbb8e b/gfx/battle_anims/globe.2bpp.lz.710dbb8e new file mode 100644 index 000000000..99fa15c6f Binary files /dev/null and b/gfx/battle_anims/globe.2bpp.lz.710dbb8e differ diff --git a/gfx/battle_anims/globe.png b/gfx/battle_anims/globe.png new file mode 100644 index 000000000..8d3a35683 Binary files /dev/null and b/gfx/battle_anims/globe.png differ diff --git a/gfx/battle_anims/haze.2bpp.lz.91424607 b/gfx/battle_anims/haze.2bpp.lz.91424607 new file mode 100644 index 000000000..e0cdc644c Binary files /dev/null and b/gfx/battle_anims/haze.2bpp.lz.91424607 differ diff --git a/gfx/battle_anims/haze.png b/gfx/battle_anims/haze.png new file mode 100644 index 000000000..8a870ba98 Binary files /dev/null and b/gfx/battle_anims/haze.png differ diff --git a/gfx/battle_anims/hit.2bpp.lz.2b3c83f2 b/gfx/battle_anims/hit.2bpp.lz.2b3c83f2 new file mode 100644 index 000000000..5d9ffbe5d Binary files /dev/null and b/gfx/battle_anims/hit.2bpp.lz.2b3c83f2 differ diff --git a/gfx/battle_anims/hit.png b/gfx/battle_anims/hit.png new file mode 100644 index 000000000..228066331 Binary files /dev/null and b/gfx/battle_anims/hit.png differ diff --git a/gfx/battle_anims/horn.2bpp.lz.48908aae b/gfx/battle_anims/horn.2bpp.lz.48908aae new file mode 100644 index 000000000..a92f74796 Binary files /dev/null and b/gfx/battle_anims/horn.2bpp.lz.48908aae differ diff --git a/gfx/battle_anims/horn.png b/gfx/battle_anims/horn.png new file mode 100644 index 000000000..56e8ca241 Binary files /dev/null and b/gfx/battle_anims/horn.png differ diff --git a/gfx/battle_anims/ice.2bpp.lz.664d900f b/gfx/battle_anims/ice.2bpp.lz.664d900f new file mode 100644 index 000000000..3d059700b Binary files /dev/null and b/gfx/battle_anims/ice.2bpp.lz.664d900f differ diff --git a/gfx/battle_anims/ice.png b/gfx/battle_anims/ice.png new file mode 100644 index 000000000..62a67641e Binary files /dev/null and b/gfx/battle_anims/ice.png differ diff --git a/gfx/battle_anims/lightning.2bpp.lz.a88fc131 b/gfx/battle_anims/lightning.2bpp.lz.a88fc131 new file mode 100644 index 000000000..81de5850f Binary files /dev/null and b/gfx/battle_anims/lightning.2bpp.lz.a88fc131 differ diff --git a/gfx/battle_anims/lightning.png b/gfx/battle_anims/lightning.png new file mode 100755 index 000000000..6606fad12 Binary files /dev/null and b/gfx/battle_anims/lightning.png differ diff --git a/gfx/battle_anims/misc.2bpp.lz.4b20c3d7 b/gfx/battle_anims/misc.2bpp.lz.4b20c3d7 new file mode 100644 index 000000000..d0c5f0dfc Binary files /dev/null and b/gfx/battle_anims/misc.2bpp.lz.4b20c3d7 differ diff --git a/gfx/battle_anims/misc.png b/gfx/battle_anims/misc.png new file mode 100755 index 000000000..d7e67508e Binary files /dev/null and b/gfx/battle_anims/misc.png differ diff --git a/gfx/battle_anims/noise.2bpp.lz.acb4a76e b/gfx/battle_anims/noise.2bpp.lz.acb4a76e new file mode 100644 index 000000000..e195da453 Binary files /dev/null and b/gfx/battle_anims/noise.2bpp.lz.acb4a76e differ diff --git a/gfx/battle_anims/noise.png b/gfx/battle_anims/noise.png new file mode 100755 index 000000000..17540a5e8 Binary files /dev/null and b/gfx/battle_anims/noise.png differ diff --git a/gfx/battle_anims/objects.2bpp.lz.83f812de b/gfx/battle_anims/objects.2bpp.lz.83f812de new file mode 100644 index 000000000..1a52d6350 Binary files /dev/null and b/gfx/battle_anims/objects.2bpp.lz.83f812de differ diff --git a/gfx/battle_anims/objects.png b/gfx/battle_anims/objects.png new file mode 100755 index 000000000..91ea435b8 Binary files /dev/null and b/gfx/battle_anims/objects.png differ diff --git a/gfx/battle_anims/plant.2bpp.lz.4a00c417 b/gfx/battle_anims/plant.2bpp.lz.4a00c417 new file mode 100644 index 000000000..589fc48b6 Binary files /dev/null and b/gfx/battle_anims/plant.2bpp.lz.4a00c417 differ diff --git a/gfx/battle_anims/plant.png b/gfx/battle_anims/plant.png new file mode 100644 index 000000000..ec1125054 Binary files /dev/null and b/gfx/battle_anims/plant.png differ diff --git a/gfx/battle_anims/poison.2bpp.lz.fc7dc9c1 b/gfx/battle_anims/poison.2bpp.lz.fc7dc9c1 new file mode 100644 index 000000000..df2cbe604 Binary files /dev/null and b/gfx/battle_anims/poison.2bpp.lz.fc7dc9c1 differ diff --git a/gfx/battle_anims/poison.png b/gfx/battle_anims/poison.png new file mode 100755 index 000000000..ebbbc52be Binary files /dev/null and b/gfx/battle_anims/poison.png differ diff --git a/gfx/battle_anims/pokeball.2bpp.lz.c58f7e01 b/gfx/battle_anims/pokeball.2bpp.lz.c58f7e01 new file mode 100644 index 000000000..e09b082db Binary files /dev/null and b/gfx/battle_anims/pokeball.2bpp.lz.c58f7e01 differ diff --git a/gfx/battle_anims/pokeball.png b/gfx/battle_anims/pokeball.png new file mode 100755 index 000000000..47edf2190 Binary files /dev/null and b/gfx/battle_anims/pokeball.png differ diff --git a/gfx/battle_anims/powder.2bpp.lz.bfd566bb b/gfx/battle_anims/powder.2bpp.lz.bfd566bb new file mode 100644 index 000000000..375d0bf9c Binary files /dev/null and b/gfx/battle_anims/powder.2bpp.lz.bfd566bb differ diff --git a/gfx/battle_anims/powder.png b/gfx/battle_anims/powder.png new file mode 100644 index 000000000..b2cb4d459 Binary files /dev/null and b/gfx/battle_anims/powder.png differ diff --git a/gfx/battle_anims/psychic.2bpp.lz.d80f285c b/gfx/battle_anims/psychic.2bpp.lz.d80f285c new file mode 100644 index 000000000..d6402dd3d Binary files /dev/null and b/gfx/battle_anims/psychic.2bpp.lz.d80f285c differ diff --git a/gfx/battle_anims/psychic.png b/gfx/battle_anims/psychic.png new file mode 100644 index 000000000..a6d22db2f Binary files /dev/null and b/gfx/battle_anims/psychic.png differ diff --git a/gfx/battle_anims/reflect.2bpp.lz.9a9c822d b/gfx/battle_anims/reflect.2bpp.lz.9a9c822d new file mode 100644 index 000000000..a563de1a8 Binary files /dev/null and b/gfx/battle_anims/reflect.2bpp.lz.9a9c822d differ diff --git a/gfx/battle_anims/reflect.png b/gfx/battle_anims/reflect.png new file mode 100644 index 000000000..48fbd7d0d Binary files /dev/null and b/gfx/battle_anims/reflect.png differ diff --git a/gfx/battle_anims/rocks.2bpp.lz.73d0153e b/gfx/battle_anims/rocks.2bpp.lz.73d0153e new file mode 100644 index 000000000..d5481ea6e Binary files /dev/null and b/gfx/battle_anims/rocks.2bpp.lz.73d0153e differ diff --git a/gfx/battle_anims/rocks.png b/gfx/battle_anims/rocks.png new file mode 100755 index 000000000..d7fe76b2f Binary files /dev/null and b/gfx/battle_anims/rocks.png differ diff --git a/gfx/battle_anims/rope.2bpp.lz.209d63dd b/gfx/battle_anims/rope.2bpp.lz.209d63dd new file mode 100644 index 000000000..f7d6a480f Binary files /dev/null and b/gfx/battle_anims/rope.2bpp.lz.209d63dd differ diff --git a/gfx/battle_anims/rope.png b/gfx/battle_anims/rope.png new file mode 100644 index 000000000..a12553c7a Binary files /dev/null and b/gfx/battle_anims/rope.png differ diff --git a/gfx/battle_anims/sand.2bpp.lz.c87c0eaa b/gfx/battle_anims/sand.2bpp.lz.c87c0eaa new file mode 100644 index 000000000..3508a1f58 Binary files /dev/null and b/gfx/battle_anims/sand.2bpp.lz.c87c0eaa differ diff --git a/gfx/battle_anims/sand.png b/gfx/battle_anims/sand.png new file mode 100755 index 000000000..a54db235d Binary files /dev/null and b/gfx/battle_anims/sand.png differ diff --git a/gfx/battle_anims/shapes.2bpp.lz.262d77f0 b/gfx/battle_anims/shapes.2bpp.lz.262d77f0 new file mode 100644 index 000000000..d7d48020f Binary files /dev/null and b/gfx/battle_anims/shapes.2bpp.lz.262d77f0 differ diff --git a/gfx/battle_anims/shapes.png b/gfx/battle_anims/shapes.png new file mode 100644 index 000000000..b99fc601a Binary files /dev/null and b/gfx/battle_anims/shapes.png differ diff --git a/gfx/battle_anims/shine.2bpp.lz.5fb79056 b/gfx/battle_anims/shine.2bpp.lz.5fb79056 new file mode 100644 index 000000000..3e47170b1 Binary files /dev/null and b/gfx/battle_anims/shine.2bpp.lz.5fb79056 differ diff --git a/gfx/battle_anims/shine.png b/gfx/battle_anims/shine.png new file mode 100644 index 000000000..1b7e9834b Binary files /dev/null and b/gfx/battle_anims/shine.png differ diff --git a/gfx/battle_anims/skyattack.2bpp.lz.31738ab8 b/gfx/battle_anims/skyattack.2bpp.lz.31738ab8 new file mode 100644 index 000000000..e0412dd81 Binary files /dev/null and b/gfx/battle_anims/skyattack.2bpp.lz.31738ab8 differ diff --git a/gfx/battle_anims/skyattack.png b/gfx/battle_anims/skyattack.png new file mode 100644 index 000000000..e731c691c Binary files /dev/null and b/gfx/battle_anims/skyattack.png differ diff --git a/gfx/battle_anims/smoke.2bpp.lz.aa05905e b/gfx/battle_anims/smoke.2bpp.lz.aa05905e new file mode 100644 index 000000000..bf26fed2b Binary files /dev/null and b/gfx/battle_anims/smoke.2bpp.lz.aa05905e differ diff --git a/gfx/battle_anims/smoke.png b/gfx/battle_anims/smoke.png new file mode 100644 index 000000000..1b09874ba Binary files /dev/null and b/gfx/battle_anims/smoke.png differ diff --git a/gfx/battle_anims/speed.2bpp.lz.1732b364 b/gfx/battle_anims/speed.2bpp.lz.1732b364 new file mode 100644 index 000000000..5d09f9a6a Binary files /dev/null and b/gfx/battle_anims/speed.2bpp.lz.1732b364 differ diff --git a/gfx/battle_anims/speed.png b/gfx/battle_anims/speed.png new file mode 100644 index 000000000..e219b38c9 Binary files /dev/null and b/gfx/battle_anims/speed.png differ diff --git a/gfx/battle_anims/status.2bpp.lz.0c0aa13e b/gfx/battle_anims/status.2bpp.lz.0c0aa13e new file mode 100644 index 000000000..e5ce7df8a Binary files /dev/null and b/gfx/battle_anims/status.2bpp.lz.0c0aa13e differ diff --git a/gfx/battle_anims/status.png b/gfx/battle_anims/status.png new file mode 100644 index 000000000..cb8527963 Binary files /dev/null and b/gfx/battle_anims/status.png differ diff --git a/gfx/battle_anims/water.2bpp.lz.7b52ed12 b/gfx/battle_anims/water.2bpp.lz.7b52ed12 new file mode 100644 index 000000000..6a81bbb65 Binary files /dev/null and b/gfx/battle_anims/water.2bpp.lz.7b52ed12 differ diff --git a/gfx/battle_anims/water.png b/gfx/battle_anims/water.png new file mode 100644 index 000000000..4e3c3b719 Binary files /dev/null and b/gfx/battle_anims/water.png differ diff --git a/gfx/battle_anims/wave.2bpp.lz.bee99402 b/gfx/battle_anims/wave.2bpp.lz.bee99402 new file mode 100644 index 000000000..d94a5cb35 Binary files /dev/null and b/gfx/battle_anims/wave.2bpp.lz.bee99402 differ diff --git a/gfx/battle_anims/wave.png b/gfx/battle_anims/wave.png new file mode 100644 index 000000000..55d4faa5f Binary files /dev/null and b/gfx/battle_anims/wave.png differ diff --git a/gfx/battle_anims/web.2bpp.lz.80e3d480 b/gfx/battle_anims/web.2bpp.lz.80e3d480 new file mode 100644 index 000000000..84b4018e5 Binary files /dev/null and b/gfx/battle_anims/web.2bpp.lz.80e3d480 differ diff --git a/gfx/battle_anims/web.png b/gfx/battle_anims/web.png new file mode 100644 index 000000000..2aeffef0e Binary files /dev/null and b/gfx/battle_anims/web.png differ diff --git a/gfx/battle_anims/whip.2bpp.lz.d80d8d6e b/gfx/battle_anims/whip.2bpp.lz.d80d8d6e new file mode 100644 index 000000000..da62ba918 Binary files /dev/null and b/gfx/battle_anims/whip.2bpp.lz.d80d8d6e differ diff --git a/gfx/battle_anims/whip.png b/gfx/battle_anims/whip.png new file mode 100644 index 000000000..92d7ded6f Binary files /dev/null and b/gfx/battle_anims/whip.png differ diff --git a/gfx/battle_anims/wind.2bpp.lz.5a785180 b/gfx/battle_anims/wind.2bpp.lz.5a785180 new file mode 100644 index 000000000..9c2769b83 Binary files /dev/null and b/gfx/battle_anims/wind.2bpp.lz.5a785180 differ diff --git a/gfx/battle_anims/wind.png b/gfx/battle_anims/wind.png new file mode 100644 index 000000000..b02031392 Binary files /dev/null and b/gfx/battle_anims/wind.png differ diff --git a/gfx/icon_pointers.asm b/gfx/icon_pointers.asm deleted file mode 100644 index bfe07abb6..000000000 --- a/gfx/icon_pointers.asm +++ /dev/null @@ -1,41 +0,0 @@ -IconPointers: -; entries correspond to ICON_* constants - dw NullIcon - dw PoliwagIcon - dw JigglypuffIcon - dw DiglettIcon - dw PikachuIcon - dw StaryuIcon - dw FishIcon - dw BirdIcon - dw MonsterIcon - dw ClefairyIcon - dw OddishIcon - dw BugIcon - dw GhostIcon - dw LaprasIcon - dw HumanshapeIcon - dw FoxIcon - dw EquineIcon - dw ShellIcon - dw BlobIcon - dw SerpentIcon - dw VoltorbIcon - dw SquirtleIcon - dw BulbasaurIcon - dw CharmanderIcon - dw CaterpillarIcon - dw UnownIcon - dw GeodudeIcon - dw FighterIcon - dw EggIcon - dw JellyfishIcon - dw MothIcon - dw BatIcon - dw SnorlaxIcon - dw HoOhIcon - dw LugiaIcon - dw GyaradosIcon - dw SlowpokeIcon - dw SudowoodoIcon - dw BigmonIcon diff --git a/gfx/pics.asm b/gfx/pics.asm index f14bfa42c..37aac234e 100644 --- a/gfx/pics.asm +++ b/gfx/pics.asm @@ -6,17 +6,17 @@ INCLUDE "includes.asm" SECTION "Pic Pointers", ROMX -INCLUDE "gfx/pokemon/pic_pointers.asm" +INCLUDE "data/pokemon/pic_pointers.asm" SECTION "Unown Pic Pointers", ROMX -INCLUDE "gfx/pokemon/unown_pic_pointers.asm" +INCLUDE "data/pokemon/unown_pic_pointers.asm" SECTION "Trainer Pic Pointers", ROMX -INCLUDE "gfx/trainer_pic_pointers.asm" +INCLUDE "data/trainers/pic_pointers.asm" SECTION "Pics 1", ROMX diff --git a/gfx/pokemon/palette_pointers.asm b/gfx/pokemon/palette_pointers.asm deleted file mode 100644 index 4ba114413..000000000 --- a/gfx/pokemon/palette_pointers.asm +++ /dev/null @@ -1,541 +0,0 @@ -PokemonPalettes: ; a8ce - -; 000 - RGB 30, 22, 17 - RGB 16, 14, 19 -; 000 shiny - RGB 30, 22, 17 - RGB 16, 14, 19 - -BulbasaurPalette: INCLUDE "gfx/pokemon/bulbasaur/normal.pal" -BulbasaurShinyPalette: INCLUDE "gfx/pokemon/bulbasaur/shiny.pal" -IvysaurPalette: INCLUDE "gfx/pokemon/ivysaur/normal.pal" -IvysaurShinyPalette: INCLUDE "gfx/pokemon/ivysaur/shiny.pal" -VenusaurPalette: INCLUDE "gfx/pokemon/venusaur/normal.pal" -VenusaurShinyPalette: INCLUDE "gfx/pokemon/venusaur/shiny.pal" -CharmanderPalette: INCLUDE "gfx/pokemon/charmander/normal.pal" -CharmanderShinyPalette: INCLUDE "gfx/pokemon/charmander/shiny.pal" -CharmeleonPalette: INCLUDE "gfx/pokemon/charmeleon/normal.pal" -CharmeleonShinyPalette: INCLUDE "gfx/pokemon/charmeleon/shiny.pal" -CharizardPalette: INCLUDE "gfx/pokemon/charizard/normal.pal" -CharizardShinyPalette: INCLUDE "gfx/pokemon/charizard/shiny.pal" -SquirtlePalette: INCLUDE "gfx/pokemon/squirtle/normal.pal" -SquirtleShinyPalette: INCLUDE "gfx/pokemon/squirtle/shiny.pal" -WartortlePalette: INCLUDE "gfx/pokemon/wartortle/normal.pal" -WartortleShinyPalette: INCLUDE "gfx/pokemon/wartortle/shiny.pal" -BlastoisePalette: INCLUDE "gfx/pokemon/blastoise/normal.pal" -BlastoiseShinyPalette: INCLUDE "gfx/pokemon/blastoise/shiny.pal" -CaterpiePalette: INCLUDE "gfx/pokemon/caterpie/normal.pal" -CaterpieShinyPalette: INCLUDE "gfx/pokemon/caterpie/shiny.pal" -MetapodPalette: INCLUDE "gfx/pokemon/metapod/normal.pal" -MetapodShinyPalette: INCLUDE "gfx/pokemon/metapod/shiny.pal" -ButterfreePalette: INCLUDE "gfx/pokemon/butterfree/normal.pal" -ButterfreeShinyPalette: INCLUDE "gfx/pokemon/butterfree/shiny.pal" -WeedlePalette: INCLUDE "gfx/pokemon/weedle/normal.pal" -WeedleShinyPalette: INCLUDE "gfx/pokemon/weedle/shiny.pal" -KakunaPalette: INCLUDE "gfx/pokemon/kakuna/normal.pal" -KakunaShinyPalette: INCLUDE "gfx/pokemon/kakuna/shiny.pal" -BeedrillPalette: INCLUDE "gfx/pokemon/beedrill/normal.pal" -BeedrillShinyPalette: INCLUDE "gfx/pokemon/beedrill/shiny.pal" -PidgeyPalette: INCLUDE "gfx/pokemon/pidgey/normal.pal" -PidgeyShinyPalette: INCLUDE "gfx/pokemon/pidgey/shiny.pal" -PidgeottoPalette: INCLUDE "gfx/pokemon/pidgeotto/normal.pal" -PidgeottoShinyPalette: INCLUDE "gfx/pokemon/pidgeotto/shiny.pal" -PidgeotPalette: INCLUDE "gfx/pokemon/pidgeot/normal.pal" -PidgeotShinyPalette: INCLUDE "gfx/pokemon/pidgeot/shiny.pal" -RattataPalette: INCLUDE "gfx/pokemon/rattata/normal.pal" -RattataShinyPalette: INCLUDE "gfx/pokemon/rattata/shiny.pal" -RaticatePalette: INCLUDE "gfx/pokemon/raticate/normal.pal" -RaticateShinyPalette: INCLUDE "gfx/pokemon/raticate/shiny.pal" -SpearowPalette: INCLUDE "gfx/pokemon/spearow/normal.pal" -SpearowShinyPalette: INCLUDE "gfx/pokemon/spearow/shiny.pal" -FearowPalette: INCLUDE "gfx/pokemon/fearow/normal.pal" -FearowShinyPalette: INCLUDE "gfx/pokemon/fearow/shiny.pal" -EkansPalette: INCLUDE "gfx/pokemon/ekans/normal.pal" -EkansShinyPalette: INCLUDE "gfx/pokemon/ekans/shiny.pal" -ArbokPalette: INCLUDE "gfx/pokemon/arbok/normal.pal" -ArbokShinyPalette: INCLUDE "gfx/pokemon/arbok/shiny.pal" -PikachuPalette: INCLUDE "gfx/pokemon/pikachu/normal.pal" -PikachuShinyPalette: INCLUDE "gfx/pokemon/pikachu/shiny.pal" -RaichuPalette: INCLUDE "gfx/pokemon/raichu/normal.pal" -RaichuShinyPalette: INCLUDE "gfx/pokemon/raichu/shiny.pal" -SandshrewPalette: INCLUDE "gfx/pokemon/sandshrew/normal.pal" -SandshrewShinyPalette: INCLUDE "gfx/pokemon/sandshrew/shiny.pal" -SandslashPalette: INCLUDE "gfx/pokemon/sandslash/normal.pal" -SandslashShinyPalette: INCLUDE "gfx/pokemon/sandslash/shiny.pal" -NidoranFPalette: INCLUDE "gfx/pokemon/nidoran_f/normal.pal" -NidoranFShinyPalette: INCLUDE "gfx/pokemon/nidoran_f/shiny.pal" -NidorinaPalette: INCLUDE "gfx/pokemon/nidorina/normal.pal" -NidorinaShinyPalette: INCLUDE "gfx/pokemon/nidorina/shiny.pal" -NidoqueenPalette: INCLUDE "gfx/pokemon/nidoqueen/normal.pal" -NidoqueenShinyPalette: INCLUDE "gfx/pokemon/nidoqueen/shiny.pal" -NidoranMPalette: INCLUDE "gfx/pokemon/nidoran_m/normal.pal" -NidoranMShinyPalette: INCLUDE "gfx/pokemon/nidoran_m/shiny.pal" -NidorinoPalette: INCLUDE "gfx/pokemon/nidorino/normal.pal" -NidorinoShinyPalette: INCLUDE "gfx/pokemon/nidorino/shiny.pal" -NidokingPalette: INCLUDE "gfx/pokemon/nidoking/normal.pal" -NidokingShinyPalette: INCLUDE "gfx/pokemon/nidoking/shiny.pal" -ClefairyPalette: INCLUDE "gfx/pokemon/clefairy/normal.pal" -ClefairyShinyPalette: INCLUDE "gfx/pokemon/clefairy/shiny.pal" -ClefablePalette: INCLUDE "gfx/pokemon/clefable/normal.pal" -ClefableShinyPalette: INCLUDE "gfx/pokemon/clefable/shiny.pal" -VulpixPalette: INCLUDE "gfx/pokemon/vulpix/normal.pal" -VulpixShinyPalette: INCLUDE "gfx/pokemon/vulpix/shiny.pal" -NinetalesPalette: INCLUDE "gfx/pokemon/ninetales/normal.pal" -NinetalesShinyPalette: INCLUDE "gfx/pokemon/ninetales/shiny.pal" -JigglypuffPalette: INCLUDE "gfx/pokemon/jigglypuff/normal.pal" -JigglypuffShinyPalette: INCLUDE "gfx/pokemon/jigglypuff/shiny.pal" -WigglytuffPalette: INCLUDE "gfx/pokemon/wigglytuff/normal.pal" -WigglytuffShinyPalette: INCLUDE "gfx/pokemon/wigglytuff/shiny.pal" -ZubatPalette: INCLUDE "gfx/pokemon/zubat/normal.pal" -ZubatShinyPalette: INCLUDE "gfx/pokemon/zubat/shiny.pal" -GolbatPalette: INCLUDE "gfx/pokemon/golbat/normal.pal" -GolbatShinyPalette: INCLUDE "gfx/pokemon/golbat/shiny.pal" -OddishPalette: INCLUDE "gfx/pokemon/oddish/normal.pal" -OddishShinyPalette: INCLUDE "gfx/pokemon/oddish/shiny.pal" -GloomPalette: INCLUDE "gfx/pokemon/gloom/normal.pal" -GloomShinyPalette: INCLUDE "gfx/pokemon/gloom/shiny.pal" -VileplumePalette: INCLUDE "gfx/pokemon/vileplume/normal.pal" -VileplumeShinyPalette: INCLUDE "gfx/pokemon/vileplume/shiny.pal" -ParasPalette: INCLUDE "gfx/pokemon/paras/normal.pal" -ParasShinyPalette: INCLUDE "gfx/pokemon/paras/shiny.pal" -ParasectPalette: INCLUDE "gfx/pokemon/parasect/normal.pal" -ParasectShinyPalette: INCLUDE "gfx/pokemon/parasect/shiny.pal" -VenonatPalette: INCLUDE "gfx/pokemon/venonat/normal.pal" -VenonatShinyPalette: INCLUDE "gfx/pokemon/venonat/shiny.pal" -VenomothPalette: INCLUDE "gfx/pokemon/venomoth/normal.pal" -VenomothShinyPalette: INCLUDE "gfx/pokemon/venomoth/shiny.pal" -DiglettPalette: INCLUDE "gfx/pokemon/diglett/normal.pal" -DiglettShinyPalette: INCLUDE "gfx/pokemon/diglett/shiny.pal" -DugtrioPalette: INCLUDE "gfx/pokemon/dugtrio/normal.pal" -DugtrioShinyPalette: INCLUDE "gfx/pokemon/dugtrio/shiny.pal" -MeowthPalette: INCLUDE "gfx/pokemon/meowth/normal.pal" -MeowthShinyPalette: INCLUDE "gfx/pokemon/meowth/shiny.pal" -PersianPalette: INCLUDE "gfx/pokemon/persian/normal.pal" -PersianShinyPalette: INCLUDE "gfx/pokemon/persian/shiny.pal" -PsyduckPalette: INCLUDE "gfx/pokemon/psyduck/normal.pal" -PsyduckShinyPalette: INCLUDE "gfx/pokemon/psyduck/shiny.pal" -GolduckPalette: INCLUDE "gfx/pokemon/golduck/normal.pal" -GolduckShinyPalette: INCLUDE "gfx/pokemon/golduck/shiny.pal" -MankeyPalette: INCLUDE "gfx/pokemon/mankey/normal.pal" -MankeyShinyPalette: INCLUDE "gfx/pokemon/mankey/shiny.pal" -PrimeapePalette: INCLUDE "gfx/pokemon/primeape/normal.pal" -PrimeapeShinyPalette: INCLUDE "gfx/pokemon/primeape/shiny.pal" -GrowlithePalette: INCLUDE "gfx/pokemon/growlithe/normal.pal" -GrowlitheShinyPalette: INCLUDE "gfx/pokemon/growlithe/shiny.pal" -ArcaninePalette: INCLUDE "gfx/pokemon/arcanine/normal.pal" -ArcanineShinyPalette: INCLUDE "gfx/pokemon/arcanine/shiny.pal" -PoliwagPalette: INCLUDE "gfx/pokemon/poliwag/normal.pal" -PoliwagShinyPalette: INCLUDE "gfx/pokemon/poliwag/shiny.pal" -PoliwhirlPalette: INCLUDE "gfx/pokemon/poliwhirl/normal.pal" -PoliwhirlShinyPalette: INCLUDE "gfx/pokemon/poliwhirl/shiny.pal" -PoliwrathPalette: INCLUDE "gfx/pokemon/poliwrath/normal.pal" -PoliwrathShinyPalette: INCLUDE "gfx/pokemon/poliwrath/shiny.pal" -AbraPalette: INCLUDE "gfx/pokemon/abra/normal.pal" -AbraShinyPalette: INCLUDE "gfx/pokemon/abra/shiny.pal" -KadabraPalette: INCLUDE "gfx/pokemon/kadabra/normal.pal" -KadabraShinyPalette: INCLUDE "gfx/pokemon/kadabra/shiny.pal" -AlakazamPalette: INCLUDE "gfx/pokemon/alakazam/normal.pal" -AlakazamShinyPalette: INCLUDE "gfx/pokemon/alakazam/shiny.pal" -MachopPalette: INCLUDE "gfx/pokemon/machop/normal.pal" -MachopShinyPalette: INCLUDE "gfx/pokemon/machop/shiny.pal" -MachokePalette: INCLUDE "gfx/pokemon/machoke/normal.pal" -MachokeShinyPalette: INCLUDE "gfx/pokemon/machoke/shiny.pal" -MachampPalette: INCLUDE "gfx/pokemon/machamp/normal.pal" -MachampShinyPalette: INCLUDE "gfx/pokemon/machamp/shiny.pal" -BellsproutPalette: INCLUDE "gfx/pokemon/bellsprout/normal.pal" -BellsproutShinyPalette: INCLUDE "gfx/pokemon/bellsprout/shiny.pal" -WeepinbellPalette: INCLUDE "gfx/pokemon/weepinbell/normal.pal" -WeepinbellShinyPalette: INCLUDE "gfx/pokemon/weepinbell/shiny.pal" -VictreebelPalette: INCLUDE "gfx/pokemon/victreebel/normal.pal" -VictreebelShinyPalette: INCLUDE "gfx/pokemon/victreebel/shiny.pal" -TentacoolPalette: INCLUDE "gfx/pokemon/tentacool/normal.pal" -TentacoolShinyPalette: INCLUDE "gfx/pokemon/tentacool/shiny.pal" -TentacruelPalette: INCLUDE "gfx/pokemon/tentacruel/normal.pal" -TentacruelShinyPalette: INCLUDE "gfx/pokemon/tentacruel/shiny.pal" -GeodudePalette: INCLUDE "gfx/pokemon/geodude/normal.pal" -GeodudeShinyPalette: INCLUDE "gfx/pokemon/geodude/shiny.pal" -GravelerPalette: INCLUDE "gfx/pokemon/graveler/normal.pal" -GravelerShinyPalette: INCLUDE "gfx/pokemon/graveler/shiny.pal" -GolemPalette: INCLUDE "gfx/pokemon/golem/normal.pal" -GolemShinyPalette: INCLUDE "gfx/pokemon/golem/shiny.pal" -PonytaPalette: INCLUDE "gfx/pokemon/ponyta/normal.pal" -PonytaShinyPalette: INCLUDE "gfx/pokemon/ponyta/shiny.pal" -RapidashPalette: INCLUDE "gfx/pokemon/rapidash/normal.pal" -RapidashShinyPalette: INCLUDE "gfx/pokemon/rapidash/shiny.pal" -SlowpokePalette: INCLUDE "gfx/pokemon/slowpoke/normal.pal" -SlowpokeShinyPalette: INCLUDE "gfx/pokemon/slowpoke/shiny.pal" -SlowbroPalette: INCLUDE "gfx/pokemon/slowbro/normal.pal" -SlowbroShinyPalette: INCLUDE "gfx/pokemon/slowbro/shiny.pal" -MagnemitePalette: INCLUDE "gfx/pokemon/magnemite/normal.pal" -MagnemiteShinyPalette: INCLUDE "gfx/pokemon/magnemite/shiny.pal" -MagnetonPalette: INCLUDE "gfx/pokemon/magneton/normal.pal" -MagnetonShinyPalette: INCLUDE "gfx/pokemon/magneton/shiny.pal" -FarfetchDPalette: INCLUDE "gfx/pokemon/farfetch_d/normal.pal" -FarfetchDShinyPalette: INCLUDE "gfx/pokemon/farfetch_d/shiny.pal" -DoduoPalette: INCLUDE "gfx/pokemon/doduo/normal.pal" -DoduoShinyPalette: INCLUDE "gfx/pokemon/doduo/shiny.pal" -DodrioPalette: INCLUDE "gfx/pokemon/dodrio/normal.pal" -DodrioShinyPalette: INCLUDE "gfx/pokemon/dodrio/shiny.pal" -SeelPalette: INCLUDE "gfx/pokemon/seel/normal.pal" -SeelShinyPalette: INCLUDE "gfx/pokemon/seel/shiny.pal" -DewgongPalette: INCLUDE "gfx/pokemon/dewgong/normal.pal" -DewgongShinyPalette: INCLUDE "gfx/pokemon/dewgong/shiny.pal" -GrimerPalette: INCLUDE "gfx/pokemon/grimer/normal.pal" -GrimerShinyPalette: INCLUDE "gfx/pokemon/grimer/shiny.pal" -MukPalette: INCLUDE "gfx/pokemon/muk/normal.pal" -MukShinyPalette: INCLUDE "gfx/pokemon/muk/shiny.pal" -ShellderPalette: INCLUDE "gfx/pokemon/shellder/normal.pal" -ShellderShinyPalette: INCLUDE "gfx/pokemon/shellder/shiny.pal" -CloysterPalette: INCLUDE "gfx/pokemon/cloyster/normal.pal" -CloysterShinyPalette: INCLUDE "gfx/pokemon/cloyster/shiny.pal" -GastlyPalette: INCLUDE "gfx/pokemon/gastly/normal.pal" -GastlyShinyPalette: INCLUDE "gfx/pokemon/gastly/shiny.pal" -HaunterPalette: INCLUDE "gfx/pokemon/haunter/normal.pal" -HaunterShinyPalette: INCLUDE "gfx/pokemon/haunter/shiny.pal" -GengarPalette: INCLUDE "gfx/pokemon/gengar/normal.pal" -GengarShinyPalette: INCLUDE "gfx/pokemon/gengar/shiny.pal" -OnixPalette: INCLUDE "gfx/pokemon/onix/normal.pal" -OnixShinyPalette: INCLUDE "gfx/pokemon/onix/shiny.pal" -DrowzeePalette: INCLUDE "gfx/pokemon/drowzee/normal.pal" -DrowzeeShinyPalette: INCLUDE "gfx/pokemon/drowzee/shiny.pal" -HypnoPalette: INCLUDE "gfx/pokemon/hypno/normal.pal" -HypnoShinyPalette: INCLUDE "gfx/pokemon/hypno/shiny.pal" -KrabbyPalette: INCLUDE "gfx/pokemon/krabby/normal.pal" -KrabbyShinyPalette: INCLUDE "gfx/pokemon/krabby/shiny.pal" -KinglerPalette: INCLUDE "gfx/pokemon/kingler/normal.pal" -KinglerShinyPalette: INCLUDE "gfx/pokemon/kingler/shiny.pal" -VoltorbPalette: INCLUDE "gfx/pokemon/voltorb/normal.pal" -VoltorbShinyPalette: INCLUDE "gfx/pokemon/voltorb/shiny.pal" -ElectrodePalette: INCLUDE "gfx/pokemon/electrode/normal.pal" -ElectrodeShinyPalette: INCLUDE "gfx/pokemon/electrode/shiny.pal" -ExeggcutePalette: INCLUDE "gfx/pokemon/exeggcute/normal.pal" -ExeggcuteShinyPalette: INCLUDE "gfx/pokemon/exeggcute/shiny.pal" -ExeggutorPalette: INCLUDE "gfx/pokemon/exeggutor/normal.pal" -ExeggutorShinyPalette: INCLUDE "gfx/pokemon/exeggutor/shiny.pal" -CubonePalette: INCLUDE "gfx/pokemon/cubone/normal.pal" -CuboneShinyPalette: INCLUDE "gfx/pokemon/cubone/shiny.pal" -MarowakPalette: INCLUDE "gfx/pokemon/marowak/normal.pal" -MarowakShinyPalette: INCLUDE "gfx/pokemon/marowak/shiny.pal" -HitmonleePalette: INCLUDE "gfx/pokemon/hitmonlee/normal.pal" -HitmonleeShinyPalette: INCLUDE "gfx/pokemon/hitmonlee/shiny.pal" -HitmonchanPalette: INCLUDE "gfx/pokemon/hitmonchan/normal.pal" -HitmonchanShinyPalette: INCLUDE "gfx/pokemon/hitmonchan/shiny.pal" -LickitungPalette: INCLUDE "gfx/pokemon/lickitung/normal.pal" -LickitungShinyPalette: INCLUDE "gfx/pokemon/lickitung/shiny.pal" -KoffingPalette: INCLUDE "gfx/pokemon/koffing/normal.pal" -KoffingShinyPalette: INCLUDE "gfx/pokemon/koffing/shiny.pal" -WeezingPalette: INCLUDE "gfx/pokemon/weezing/normal.pal" -WeezingShinyPalette: INCLUDE "gfx/pokemon/weezing/shiny.pal" -RhyhornPalette: INCLUDE "gfx/pokemon/rhyhorn/normal.pal" -RhyhornShinyPalette: INCLUDE "gfx/pokemon/rhyhorn/shiny.pal" -RhydonPalette: INCLUDE "gfx/pokemon/rhydon/normal.pal" -RhydonShinyPalette: INCLUDE "gfx/pokemon/rhydon/shiny.pal" -ChanseyPalette: INCLUDE "gfx/pokemon/chansey/normal.pal" -ChanseyShinyPalette: INCLUDE "gfx/pokemon/chansey/shiny.pal" -TangelaPalette: INCLUDE "gfx/pokemon/tangela/normal.pal" -TangelaShinyPalette: INCLUDE "gfx/pokemon/tangela/shiny.pal" -KangaskhanPalette: INCLUDE "gfx/pokemon/kangaskhan/normal.pal" -KangaskhanShinyPalette: INCLUDE "gfx/pokemon/kangaskhan/shiny.pal" -HorseaPalette: INCLUDE "gfx/pokemon/horsea/normal.pal" -HorseaShinyPalette: INCLUDE "gfx/pokemon/horsea/shiny.pal" -SeadraPalette: INCLUDE "gfx/pokemon/seadra/normal.pal" -SeadraShinyPalette: INCLUDE "gfx/pokemon/seadra/shiny.pal" -GoldeenPalette: INCLUDE "gfx/pokemon/goldeen/normal.pal" -GoldeenShinyPalette: INCLUDE "gfx/pokemon/goldeen/shiny.pal" -SeakingPalette: INCLUDE "gfx/pokemon/seaking/normal.pal" -SeakingShinyPalette: INCLUDE "gfx/pokemon/seaking/shiny.pal" -StaryuPalette: INCLUDE "gfx/pokemon/staryu/normal.pal" -StaryuShinyPalette: INCLUDE "gfx/pokemon/staryu/shiny.pal" -StarmiePalette: INCLUDE "gfx/pokemon/starmie/normal.pal" -StarmieShinyPalette: INCLUDE "gfx/pokemon/starmie/shiny.pal" -MrMimePalette: INCLUDE "gfx/pokemon/mr__mime/normal.pal" -MrMimeShinyPalette: INCLUDE "gfx/pokemon/mr__mime/shiny.pal" -ScytherPalette: INCLUDE "gfx/pokemon/scyther/normal.pal" -ScytherShinyPalette: INCLUDE "gfx/pokemon/scyther/shiny.pal" -JynxPalette: INCLUDE "gfx/pokemon/jynx/normal.pal" -JynxShinyPalette: INCLUDE "gfx/pokemon/jynx/shiny.pal" -ElectabuzzPalette: INCLUDE "gfx/pokemon/electabuzz/normal.pal" -ElectabuzzShinyPalette: INCLUDE "gfx/pokemon/electabuzz/shiny.pal" -MagmarPalette: INCLUDE "gfx/pokemon/magmar/normal.pal" -MagmarShinyPalette: INCLUDE "gfx/pokemon/magmar/shiny.pal" -PinsirPalette: INCLUDE "gfx/pokemon/pinsir/normal.pal" -PinsirShinyPalette: INCLUDE "gfx/pokemon/pinsir/shiny.pal" -TaurosPalette: INCLUDE "gfx/pokemon/tauros/normal.pal" -TaurosShinyPalette: INCLUDE "gfx/pokemon/tauros/shiny.pal" -MagikarpPalette: INCLUDE "gfx/pokemon/magikarp/normal.pal" -MagikarpShinyPalette: INCLUDE "gfx/pokemon/magikarp/shiny.pal" -GyaradosPalette: INCLUDE "gfx/pokemon/gyarados/normal.pal" -GyaradosShinyPalette: INCLUDE "gfx/pokemon/gyarados/shiny.pal" -LaprasPalette: INCLUDE "gfx/pokemon/lapras/normal.pal" -LaprasShinyPalette: INCLUDE "gfx/pokemon/lapras/shiny.pal" -DittoPalette: INCLUDE "gfx/pokemon/ditto/normal.pal" -DittoShinyPalette: INCLUDE "gfx/pokemon/ditto/shiny.pal" -EeveePalette: INCLUDE "gfx/pokemon/eevee/normal.pal" -EeveeShinyPalette: INCLUDE "gfx/pokemon/eevee/shiny.pal" -VaporeonPalette: INCLUDE "gfx/pokemon/vaporeon/normal.pal" -VaporeonShinyPalette: INCLUDE "gfx/pokemon/vaporeon/shiny.pal" -JolteonPalette: INCLUDE "gfx/pokemon/jolteon/normal.pal" -JolteonShinyPalette: INCLUDE "gfx/pokemon/jolteon/shiny.pal" -FlareonPalette: INCLUDE "gfx/pokemon/flareon/normal.pal" -FlareonShinyPalette: INCLUDE "gfx/pokemon/flareon/shiny.pal" -PorygonPalette: INCLUDE "gfx/pokemon/porygon/normal.pal" -PorygonShinyPalette: INCLUDE "gfx/pokemon/porygon/shiny.pal" -OmanytePalette: INCLUDE "gfx/pokemon/omanyte/normal.pal" -OmanyteShinyPalette: INCLUDE "gfx/pokemon/omanyte/shiny.pal" -OmastarPalette: INCLUDE "gfx/pokemon/omastar/normal.pal" -OmastarShinyPalette: INCLUDE "gfx/pokemon/omastar/shiny.pal" -KabutoPalette: INCLUDE "gfx/pokemon/kabuto/normal.pal" -KabutoShinyPalette: INCLUDE "gfx/pokemon/kabuto/shiny.pal" -KabutopsPalette: INCLUDE "gfx/pokemon/kabutops/normal.pal" -KabutopsShinyPalette: INCLUDE "gfx/pokemon/kabutops/shiny.pal" -AerodactylPalette: INCLUDE "gfx/pokemon/aerodactyl/normal.pal" -AerodactylShinyPalette: INCLUDE "gfx/pokemon/aerodactyl/shiny.pal" -SnorlaxPalette: INCLUDE "gfx/pokemon/snorlax/normal.pal" -SnorlaxShinyPalette: INCLUDE "gfx/pokemon/snorlax/shiny.pal" -ArticunoPalette: INCLUDE "gfx/pokemon/articuno/normal.pal" -ArticunoShinyPalette: INCLUDE "gfx/pokemon/articuno/shiny.pal" -ZapdosPalette: INCLUDE "gfx/pokemon/zapdos/normal.pal" -ZapdosShinyPalette: INCLUDE "gfx/pokemon/zapdos/shiny.pal" -MoltresPalette: INCLUDE "gfx/pokemon/moltres/normal.pal" -MoltresShinyPalette: INCLUDE "gfx/pokemon/moltres/shiny.pal" -DratiniPalette: INCLUDE "gfx/pokemon/dratini/normal.pal" -DratiniShinyPalette: INCLUDE "gfx/pokemon/dratini/shiny.pal" -DragonairPalette: INCLUDE "gfx/pokemon/dragonair/normal.pal" -DragonairShinyPalette: INCLUDE "gfx/pokemon/dragonair/shiny.pal" -DragonitePalette: INCLUDE "gfx/pokemon/dragonite/normal.pal" -DragoniteShinyPalette: INCLUDE "gfx/pokemon/dragonite/shiny.pal" -MewtwoPalette: INCLUDE "gfx/pokemon/mewtwo/normal.pal" -MewtwoShinyPalette: INCLUDE "gfx/pokemon/mewtwo/shiny.pal" -MewPalette: INCLUDE "gfx/pokemon/mew/normal.pal" -MewShinyPalette: INCLUDE "gfx/pokemon/mew/shiny.pal" -ChikoritaPalette: INCLUDE "gfx/pokemon/chikorita/normal.pal" -ChikoritaShinyPalette: INCLUDE "gfx/pokemon/chikorita/shiny.pal" -BayleefPalette: INCLUDE "gfx/pokemon/bayleef/normal.pal" -BayleefShinyPalette: INCLUDE "gfx/pokemon/bayleef/shiny.pal" -MeganiumPalette: INCLUDE "gfx/pokemon/meganium/normal.pal" -MeganiumShinyPalette: INCLUDE "gfx/pokemon/meganium/shiny.pal" -CyndaquilPalette: INCLUDE "gfx/pokemon/cyndaquil/normal.pal" -CyndaquilShinyPalette: INCLUDE "gfx/pokemon/cyndaquil/shiny.pal" -QuilavaPalette: INCLUDE "gfx/pokemon/quilava/normal.pal" -QuilavaShinyPalette: INCLUDE "gfx/pokemon/quilava/shiny.pal" -TyphlosionPalette: INCLUDE "gfx/pokemon/typhlosion/normal.pal" -TyphlosionShinyPalette: INCLUDE "gfx/pokemon/typhlosion/shiny.pal" -TotodilePalette: INCLUDE "gfx/pokemon/totodile/normal.pal" -TotodileShinyPalette: INCLUDE "gfx/pokemon/totodile/shiny.pal" -CroconawPalette: INCLUDE "gfx/pokemon/croconaw/normal.pal" -CroconawShinyPalette: INCLUDE "gfx/pokemon/croconaw/shiny.pal" -FeraligatrPalette: INCLUDE "gfx/pokemon/feraligatr/normal.pal" -FeraligatrShinyPalette: INCLUDE "gfx/pokemon/feraligatr/shiny.pal" -SentretPalette: INCLUDE "gfx/pokemon/sentret/normal.pal" -SentretShinyPalette: INCLUDE "gfx/pokemon/sentret/shiny.pal" -FurretPalette: INCLUDE "gfx/pokemon/furret/normal.pal" -FurretShinyPalette: INCLUDE "gfx/pokemon/furret/shiny.pal" -HoothootPalette: INCLUDE "gfx/pokemon/hoothoot/normal.pal" -HoothootShinyPalette: INCLUDE "gfx/pokemon/hoothoot/shiny.pal" -NoctowlPalette: INCLUDE "gfx/pokemon/noctowl/normal.pal" -NoctowlShinyPalette: INCLUDE "gfx/pokemon/noctowl/shiny.pal" -LedybaPalette: INCLUDE "gfx/pokemon/ledyba/normal.pal" -LedybaShinyPalette: INCLUDE "gfx/pokemon/ledyba/shiny.pal" -LedianPalette: INCLUDE "gfx/pokemon/ledian/normal.pal" -LedianShinyPalette: INCLUDE "gfx/pokemon/ledian/shiny.pal" -SpinarakPalette: INCLUDE "gfx/pokemon/spinarak/normal.pal" -SpinarakShinyPalette: INCLUDE "gfx/pokemon/spinarak/shiny.pal" -AriadosPalette: INCLUDE "gfx/pokemon/ariados/normal.pal" -AriadosShinyPalette: INCLUDE "gfx/pokemon/ariados/shiny.pal" -CrobatPalette: INCLUDE "gfx/pokemon/crobat/normal.pal" -CrobatShinyPalette: INCLUDE "gfx/pokemon/crobat/shiny.pal" -ChinchouPalette: INCLUDE "gfx/pokemon/chinchou/normal.pal" -ChinchouShinyPalette: INCLUDE "gfx/pokemon/chinchou/shiny.pal" -LanturnPalette: INCLUDE "gfx/pokemon/lanturn/normal.pal" -LanturnShinyPalette: INCLUDE "gfx/pokemon/lanturn/shiny.pal" -PichuPalette: INCLUDE "gfx/pokemon/pichu/normal.pal" -PichuShinyPalette: INCLUDE "gfx/pokemon/pichu/shiny.pal" -CleffaPalette: INCLUDE "gfx/pokemon/cleffa/normal.pal" -CleffaShinyPalette: INCLUDE "gfx/pokemon/cleffa/shiny.pal" -IgglybuffPalette: INCLUDE "gfx/pokemon/igglybuff/normal.pal" -IgglybuffShinyPalette: INCLUDE "gfx/pokemon/igglybuff/shiny.pal" -TogepiPalette: INCLUDE "gfx/pokemon/togepi/normal.pal" -TogepiShinyPalette: INCLUDE "gfx/pokemon/togepi/shiny.pal" -TogeticPalette: INCLUDE "gfx/pokemon/togetic/normal.pal" -TogeticShinyPalette: INCLUDE "gfx/pokemon/togetic/shiny.pal" -NatuPalette: INCLUDE "gfx/pokemon/natu/normal.pal" -NatuShinyPalette: INCLUDE "gfx/pokemon/natu/shiny.pal" -XatuPalette: INCLUDE "gfx/pokemon/xatu/normal.pal" -XatuShinyPalette: INCLUDE "gfx/pokemon/xatu/shiny.pal" -MareepPalette: INCLUDE "gfx/pokemon/mareep/normal.pal" -MareepShinyPalette: INCLUDE "gfx/pokemon/mareep/shiny.pal" -FlaaffyPalette: INCLUDE "gfx/pokemon/flaaffy/normal.pal" -FlaaffyShinyPalette: INCLUDE "gfx/pokemon/flaaffy/shiny.pal" -AmpharosPalette: INCLUDE "gfx/pokemon/ampharos/normal.pal" -AmpharosShinyPalette: INCLUDE "gfx/pokemon/ampharos/shiny.pal" -BellossomPalette: INCLUDE "gfx/pokemon/bellossom/normal.pal" -BellossomShinyPalette: INCLUDE "gfx/pokemon/bellossom/shiny.pal" -MarillPalette: INCLUDE "gfx/pokemon/marill/normal.pal" -MarillShinyPalette: INCLUDE "gfx/pokemon/marill/shiny.pal" -AzumarillPalette: INCLUDE "gfx/pokemon/azumarill/normal.pal" -AzumarillShinyPalette: INCLUDE "gfx/pokemon/azumarill/shiny.pal" -SudowoodoPalette: INCLUDE "gfx/pokemon/sudowoodo/normal.pal" -SudowoodoShinyPalette: INCLUDE "gfx/pokemon/sudowoodo/shiny.pal" -PolitoedPalette: INCLUDE "gfx/pokemon/politoed/normal.pal" -PolitoedShinyPalette: INCLUDE "gfx/pokemon/politoed/shiny.pal" -HoppipPalette: INCLUDE "gfx/pokemon/hoppip/normal.pal" -HoppipShinyPalette: INCLUDE "gfx/pokemon/hoppip/shiny.pal" -SkiploomPalette: INCLUDE "gfx/pokemon/skiploom/normal.pal" -SkiploomShinyPalette: INCLUDE "gfx/pokemon/skiploom/shiny.pal" -JumpluffPalette: INCLUDE "gfx/pokemon/jumpluff/normal.pal" -JumpluffShinyPalette: INCLUDE "gfx/pokemon/jumpluff/shiny.pal" -AipomPalette: INCLUDE "gfx/pokemon/aipom/normal.pal" -AipomShinyPalette: INCLUDE "gfx/pokemon/aipom/shiny.pal" -SunkernPalette: INCLUDE "gfx/pokemon/sunkern/normal.pal" -SunkernShinyPalette: INCLUDE "gfx/pokemon/sunkern/shiny.pal" -SunfloraPalette: INCLUDE "gfx/pokemon/sunflora/normal.pal" -SunfloraShinyPalette: INCLUDE "gfx/pokemon/sunflora/shiny.pal" -YanmaPalette: INCLUDE "gfx/pokemon/yanma/normal.pal" -YanmaShinyPalette: INCLUDE "gfx/pokemon/yanma/shiny.pal" -WooperPalette: INCLUDE "gfx/pokemon/wooper/normal.pal" -WooperShinyPalette: INCLUDE "gfx/pokemon/wooper/shiny.pal" -QuagsirePalette: INCLUDE "gfx/pokemon/quagsire/normal.pal" -QuagsireShinyPalette: INCLUDE "gfx/pokemon/quagsire/shiny.pal" -EspeonPalette: INCLUDE "gfx/pokemon/espeon/normal.pal" -EspeonShinyPalette: INCLUDE "gfx/pokemon/espeon/shiny.pal" -UmbreonPalette: INCLUDE "gfx/pokemon/umbreon/normal.pal" -UmbreonShinyPalette: INCLUDE "gfx/pokemon/umbreon/shiny.pal" -MurkrowPalette: INCLUDE "gfx/pokemon/murkrow/normal.pal" -MurkrowShinyPalette: INCLUDE "gfx/pokemon/murkrow/shiny.pal" -SlowkingPalette: INCLUDE "gfx/pokemon/slowking/normal.pal" -SlowkingShinyPalette: INCLUDE "gfx/pokemon/slowking/shiny.pal" -MisdreavusPalette: INCLUDE "gfx/pokemon/misdreavus/normal.pal" -MisdreavusShinyPalette: INCLUDE "gfx/pokemon/misdreavus/shiny.pal" -UnownPalette: INCLUDE "gfx/pokemon/unown/normal.pal" -UnownShinyPalette: INCLUDE "gfx/pokemon/unown/shiny.pal" -WobbuffetPalette: INCLUDE "gfx/pokemon/wobbuffet/normal.pal" -WobbuffetShinyPalette: INCLUDE "gfx/pokemon/wobbuffet/shiny.pal" -GirafarigPalette: INCLUDE "gfx/pokemon/girafarig/normal.pal" -GirafarigShinyPalette: INCLUDE "gfx/pokemon/girafarig/shiny.pal" -PinecoPalette: INCLUDE "gfx/pokemon/pineco/normal.pal" -PinecoShinyPalette: INCLUDE "gfx/pokemon/pineco/shiny.pal" -ForretressPalette: INCLUDE "gfx/pokemon/forretress/normal.pal" -ForretressShinyPalette: INCLUDE "gfx/pokemon/forretress/shiny.pal" -DunsparcePalette: INCLUDE "gfx/pokemon/dunsparce/normal.pal" -DunsparceShinyPalette: INCLUDE "gfx/pokemon/dunsparce/shiny.pal" -GligarPalette: INCLUDE "gfx/pokemon/gligar/normal.pal" -GligarShinyPalette: INCLUDE "gfx/pokemon/gligar/shiny.pal" -SteelixPalette: INCLUDE "gfx/pokemon/steelix/normal.pal" -SteelixShinyPalette: INCLUDE "gfx/pokemon/steelix/shiny.pal" -SnubbullPalette: INCLUDE "gfx/pokemon/snubbull/normal.pal" -SnubbullShinyPalette: INCLUDE "gfx/pokemon/snubbull/shiny.pal" -GranbullPalette: INCLUDE "gfx/pokemon/granbull/normal.pal" -GranbullShinyPalette: INCLUDE "gfx/pokemon/granbull/shiny.pal" -QwilfishPalette: INCLUDE "gfx/pokemon/qwilfish/normal.pal" -QwilfishShinyPalette: INCLUDE "gfx/pokemon/qwilfish/shiny.pal" -ScizorPalette: INCLUDE "gfx/pokemon/scizor/normal.pal" -ScizorShinyPalette: INCLUDE "gfx/pokemon/scizor/shiny.pal" -ShucklePalette: INCLUDE "gfx/pokemon/shuckle/normal.pal" -ShuckleShinyPalette: INCLUDE "gfx/pokemon/shuckle/shiny.pal" -HeracrossPalette: INCLUDE "gfx/pokemon/heracross/normal.pal" -HeracrossShinyPalette: INCLUDE "gfx/pokemon/heracross/shiny.pal" -SneaselPalette: INCLUDE "gfx/pokemon/sneasel/normal.pal" -SneaselShinyPalette: INCLUDE "gfx/pokemon/sneasel/shiny.pal" -TeddiursaPalette: INCLUDE "gfx/pokemon/teddiursa/normal.pal" -TeddiursaShinyPalette: INCLUDE "gfx/pokemon/teddiursa/shiny.pal" -UrsaringPalette: INCLUDE "gfx/pokemon/ursaring/normal.pal" -UrsaringShinyPalette: INCLUDE "gfx/pokemon/ursaring/shiny.pal" -SlugmaPalette: INCLUDE "gfx/pokemon/slugma/normal.pal" -SlugmaShinyPalette: INCLUDE "gfx/pokemon/slugma/shiny.pal" -MagcargoPalette: INCLUDE "gfx/pokemon/magcargo/normal.pal" -MagcargoShinyPalette: INCLUDE "gfx/pokemon/magcargo/shiny.pal" -SwinubPalette: INCLUDE "gfx/pokemon/swinub/normal.pal" -SwinubShinyPalette: INCLUDE "gfx/pokemon/swinub/shiny.pal" -PiloswinePalette: INCLUDE "gfx/pokemon/piloswine/normal.pal" -PiloswineShinyPalette: INCLUDE "gfx/pokemon/piloswine/shiny.pal" -CorsolaPalette: INCLUDE "gfx/pokemon/corsola/normal.pal" -CorsolaShinyPalette: INCLUDE "gfx/pokemon/corsola/shiny.pal" -RemoraidPalette: INCLUDE "gfx/pokemon/remoraid/normal.pal" -RemoraidShinyPalette: INCLUDE "gfx/pokemon/remoraid/shiny.pal" -OctilleryPalette: INCLUDE "gfx/pokemon/octillery/normal.pal" -OctilleryShinyPalette: INCLUDE "gfx/pokemon/octillery/shiny.pal" -DelibirdPalette: INCLUDE "gfx/pokemon/delibird/normal.pal" -DelibirdShinyPalette: INCLUDE "gfx/pokemon/delibird/shiny.pal" -MantinePalette: INCLUDE "gfx/pokemon/mantine/normal.pal" -MantineShinyPalette: INCLUDE "gfx/pokemon/mantine/shiny.pal" -SkarmoryPalette: INCLUDE "gfx/pokemon/skarmory/normal.pal" -SkarmoryShinyPalette: INCLUDE "gfx/pokemon/skarmory/shiny.pal" -HoundourPalette: INCLUDE "gfx/pokemon/houndour/normal.pal" -HoundourShinyPalette: INCLUDE "gfx/pokemon/houndour/shiny.pal" -HoundoomPalette: INCLUDE "gfx/pokemon/houndoom/normal.pal" -HoundoomShinyPalette: INCLUDE "gfx/pokemon/houndoom/shiny.pal" -KingdraPalette: INCLUDE "gfx/pokemon/kingdra/normal.pal" -KingdraShinyPalette: INCLUDE "gfx/pokemon/kingdra/shiny.pal" -PhanpyPalette: INCLUDE "gfx/pokemon/phanpy/normal.pal" -PhanpyShinyPalette: INCLUDE "gfx/pokemon/phanpy/shiny.pal" -DonphanPalette: INCLUDE "gfx/pokemon/donphan/normal.pal" -DonphanShinyPalette: INCLUDE "gfx/pokemon/donphan/shiny.pal" -Porygon2Palette: INCLUDE "gfx/pokemon/porygon2/normal.pal" -Porygon2ShinyPalette: INCLUDE "gfx/pokemon/porygon2/shiny.pal" -StantlerPalette: INCLUDE "gfx/pokemon/stantler/normal.pal" -StantlerShinyPalette: INCLUDE "gfx/pokemon/stantler/shiny.pal" -SmearglePalette: INCLUDE "gfx/pokemon/smeargle/normal.pal" -SmeargleShinyPalette: INCLUDE "gfx/pokemon/smeargle/shiny.pal" -TyroguePalette: INCLUDE "gfx/pokemon/tyrogue/normal.pal" -TyrogueShinyPalette: INCLUDE "gfx/pokemon/tyrogue/shiny.pal" -HitmontopPalette: INCLUDE "gfx/pokemon/hitmontop/normal.pal" -HitmontopShinyPalette: INCLUDE "gfx/pokemon/hitmontop/shiny.pal" -SmoochumPalette: INCLUDE "gfx/pokemon/smoochum/normal.pal" -SmoochumShinyPalette: INCLUDE "gfx/pokemon/smoochum/shiny.pal" -ElekidPalette: INCLUDE "gfx/pokemon/elekid/normal.pal" -ElekidShinyPalette: INCLUDE "gfx/pokemon/elekid/shiny.pal" -MagbyPalette: INCLUDE "gfx/pokemon/magby/normal.pal" -MagbyShinyPalette: INCLUDE "gfx/pokemon/magby/shiny.pal" -MiltankPalette: INCLUDE "gfx/pokemon/miltank/normal.pal" -MiltankShinyPalette: INCLUDE "gfx/pokemon/miltank/shiny.pal" -BlisseyPalette: INCLUDE "gfx/pokemon/blissey/normal.pal" -BlisseyShinyPalette: INCLUDE "gfx/pokemon/blissey/shiny.pal" -RaikouPalette: INCLUDE "gfx/pokemon/raikou/normal.pal" -RaikouShinyPalette: INCLUDE "gfx/pokemon/raikou/shiny.pal" -EnteiPalette: INCLUDE "gfx/pokemon/entei/normal.pal" -EnteiShinyPalette: INCLUDE "gfx/pokemon/entei/shiny.pal" -SuicunePalette: INCLUDE "gfx/pokemon/suicune/normal.pal" -SuicuneShinyPalette: INCLUDE "gfx/pokemon/suicune/shiny.pal" -LarvitarPalette: INCLUDE "gfx/pokemon/larvitar/normal.pal" -LarvitarShinyPalette: INCLUDE "gfx/pokemon/larvitar/shiny.pal" -PupitarPalette: INCLUDE "gfx/pokemon/pupitar/normal.pal" -PupitarShinyPalette: INCLUDE "gfx/pokemon/pupitar/shiny.pal" -TyranitarPalette: INCLUDE "gfx/pokemon/tyranitar/normal.pal" -TyranitarShinyPalette: INCLUDE "gfx/pokemon/tyranitar/shiny.pal" -LugiaPalette: INCLUDE "gfx/pokemon/lugia/normal.pal" -LugiaShinyPalette: INCLUDE "gfx/pokemon/lugia/shiny.pal" -HoOhPalette: INCLUDE "gfx/pokemon/ho_oh/normal.pal" -HoOhShinyPalette: INCLUDE "gfx/pokemon/ho_oh/shiny.pal" -CelebiPalette: INCLUDE "gfx/pokemon/celebi/normal.pal" -CelebiShinyPalette: INCLUDE "gfx/pokemon/celebi/shiny.pal" - -; 252 - RGB 30, 26, 11 - RGB 23, 16, 00 -; 252 shiny - RGB 30, 26, 11 - RGB 23, 16, 00 - -; Egg - RGB 30, 26, 11 - RGB 23, 16, 00 -; Egg shiny - RGB 30, 26, 11 - RGB 23, 16, 00 - -; 254 - RGB 30, 26, 11 - RGB 23, 16, 00 -; 254 shiny - RGB 30, 26, 11 - RGB 23, 16, 00 - -; 255 - RGB 23, 23, 23 - RGB 17, 17, 17 -; 255 shiny - RGB 23, 23, 23 - RGB 17, 17, 17 - -; b0ce diff --git a/gfx/pokemon/pic_pointers.asm b/gfx/pokemon/pic_pointers.asm deleted file mode 100644 index 58631e09a..000000000 --- a/gfx/pokemon/pic_pointers.asm +++ /dev/null @@ -1,511 +0,0 @@ -PicPointers:: -; entries correspond to constants/pokemon_constants.asm, two apiece - dba_pic BulbasaurFrontpic - dba_pic BulbasaurBackpic - dba_pic IvysaurFrontpic - dba_pic IvysaurBackpic - dba_pic VenusaurFrontpic - dba_pic VenusaurBackpic - dba_pic CharmanderFrontpic - dba_pic CharmanderBackpic - dba_pic CharmeleonFrontpic - dba_pic CharmeleonBackpic - dba_pic CharizardFrontpic - dba_pic CharizardBackpic - dba_pic SquirtleFrontpic - dba_pic SquirtleBackpic - dba_pic WartortleFrontpic - dba_pic WartortleBackpic - dba_pic BlastoiseFrontpic - dba_pic BlastoiseBackpic - dba_pic CaterpieFrontpic - dba_pic CaterpieBackpic - dba_pic MetapodFrontpic - dba_pic MetapodBackpic - dba_pic ButterfreeFrontpic - dba_pic ButterfreeBackpic - dba_pic WeedleFrontpic - dba_pic WeedleBackpic - dba_pic KakunaFrontpic - dba_pic KakunaBackpic - dba_pic BeedrillFrontpic - dba_pic BeedrillBackpic - dba_pic PidgeyFrontpic - dba_pic PidgeyBackpic - dba_pic PidgeottoFrontpic - dba_pic PidgeottoBackpic - dba_pic PidgeotFrontpic - dba_pic PidgeotBackpic - dba_pic RattataFrontpic - dba_pic RattataBackpic - dba_pic RaticateFrontpic - dba_pic RaticateBackpic - dba_pic SpearowFrontpic - dba_pic SpearowBackpic - dba_pic FearowFrontpic - dba_pic FearowBackpic - dba_pic EkansFrontpic - dba_pic EkansBackpic - dba_pic ArbokFrontpic - dba_pic ArbokBackpic - dba_pic PikachuFrontpic - dba_pic PikachuBackpic - dba_pic RaichuFrontpic - dba_pic RaichuBackpic - dba_pic SandshrewFrontpic - dba_pic SandshrewBackpic - dba_pic SandslashFrontpic - dba_pic SandslashBackpic - dba_pic NidoranFFrontpic - dba_pic NidoranFBackpic - dba_pic NidorinaFrontpic - dba_pic NidorinaBackpic - dba_pic NidoqueenFrontpic - dba_pic NidoqueenBackpic - dba_pic NidoranMFrontpic - dba_pic NidoranMBackpic - dba_pic NidorinoFrontpic - dba_pic NidorinoBackpic - dba_pic NidokingFrontpic - dba_pic NidokingBackpic - dba_pic ClefairyFrontpic - dba_pic ClefairyBackpic - dba_pic ClefableFrontpic - dba_pic ClefableBackpic - dba_pic VulpixFrontpic - dba_pic VulpixBackpic - dba_pic NinetalesFrontpic - dba_pic NinetalesBackpic - dba_pic JigglypuffFrontpic - dba_pic JigglypuffBackpic - dba_pic WigglytuffFrontpic - dba_pic WigglytuffBackpic - dba_pic ZubatFrontpic - dba_pic ZubatBackpic - dba_pic GolbatFrontpic - dba_pic GolbatBackpic - dba_pic OddishFrontpic - dba_pic OddishBackpic - dba_pic GloomFrontpic - dba_pic GloomBackpic - dba_pic VileplumeFrontpic - dba_pic VileplumeBackpic - dba_pic ParasFrontpic - dba_pic ParasBackpic - dba_pic ParasectFrontpic - dba_pic ParasectBackpic - dba_pic VenonatFrontpic - dba_pic VenonatBackpic - dba_pic VenomothFrontpic - dba_pic VenomothBackpic - dba_pic DiglettFrontpic - dba_pic DiglettBackpic - dba_pic DugtrioFrontpic - dba_pic DugtrioBackpic - dba_pic MeowthFrontpic - dba_pic MeowthBackpic - dba_pic PersianFrontpic - dba_pic PersianBackpic - dba_pic PsyduckFrontpic - dba_pic PsyduckBackpic - dba_pic GolduckFrontpic - dba_pic GolduckBackpic - dba_pic MankeyFrontpic - dba_pic MankeyBackpic - dba_pic PrimeapeFrontpic - dba_pic PrimeapeBackpic - dba_pic GrowlitheFrontpic - dba_pic GrowlitheBackpic - dba_pic ArcanineFrontpic - dba_pic ArcanineBackpic - dba_pic PoliwagFrontpic - dba_pic PoliwagBackpic - dba_pic PoliwhirlFrontpic - dba_pic PoliwhirlBackpic - dba_pic PoliwrathFrontpic - dba_pic PoliwrathBackpic - dba_pic AbraFrontpic - dba_pic AbraBackpic - dba_pic KadabraFrontpic - dba_pic KadabraBackpic - dba_pic AlakazamFrontpic - dba_pic AlakazamBackpic - dba_pic MachopFrontpic - dba_pic MachopBackpic - dba_pic MachokeFrontpic - dba_pic MachokeBackpic - dba_pic MachampFrontpic - dba_pic MachampBackpic - dba_pic BellsproutFrontpic - dba_pic BellsproutBackpic - dba_pic WeepinbellFrontpic - dba_pic WeepinbellBackpic - dba_pic VictreebelFrontpic - dba_pic VictreebelBackpic - dba_pic TentacoolFrontpic - dba_pic TentacoolBackpic - dba_pic TentacruelFrontpic - dba_pic TentacruelBackpic - dba_pic GeodudeFrontpic - dba_pic GeodudeBackpic - dba_pic GravelerFrontpic - dba_pic GravelerBackpic - dba_pic GolemFrontpic - dba_pic GolemBackpic - dba_pic PonytaFrontpic - dba_pic PonytaBackpic - dba_pic RapidashFrontpic - dba_pic RapidashBackpic - dba_pic SlowpokeFrontpic - dba_pic SlowpokeBackpic - dba_pic SlowbroFrontpic - dba_pic SlowbroBackpic - dba_pic MagnemiteFrontpic - dba_pic MagnemiteBackpic - dba_pic MagnetonFrontpic - dba_pic MagnetonBackpic - dba_pic FarfetchDFrontpic - dba_pic FarfetchDBackpic - dba_pic DoduoFrontpic - dba_pic DoduoBackpic - dba_pic DodrioFrontpic - dba_pic DodrioBackpic - dba_pic SeelFrontpic - dba_pic SeelBackpic - dba_pic DewgongFrontpic - dba_pic DewgongBackpic - dba_pic GrimerFrontpic - dba_pic GrimerBackpic - dba_pic MukFrontpic - dba_pic MukBackpic - dba_pic ShellderFrontpic - dba_pic ShellderBackpic - dba_pic CloysterFrontpic - dba_pic CloysterBackpic - dba_pic GastlyFrontpic - dba_pic GastlyBackpic - dba_pic HaunterFrontpic - dba_pic HaunterBackpic - dba_pic GengarFrontpic - dba_pic GengarBackpic - dba_pic OnixFrontpic - dba_pic OnixBackpic - dba_pic DrowzeeFrontpic - dba_pic DrowzeeBackpic - dba_pic HypnoFrontpic - dba_pic HypnoBackpic - dba_pic KrabbyFrontpic - dba_pic KrabbyBackpic - dba_pic KinglerFrontpic - dba_pic KinglerBackpic - dba_pic VoltorbFrontpic - dba_pic VoltorbBackpic - dba_pic ElectrodeFrontpic - dba_pic ElectrodeBackpic - dba_pic ExeggcuteFrontpic - dba_pic ExeggcuteBackpic - dba_pic ExeggutorFrontpic - dba_pic ExeggutorBackpic - dba_pic CuboneFrontpic - dba_pic CuboneBackpic - dba_pic MarowakFrontpic - dba_pic MarowakBackpic - dba_pic HitmonleeFrontpic - dba_pic HitmonleeBackpic - dba_pic HitmonchanFrontpic - dba_pic HitmonchanBackpic - dba_pic LickitungFrontpic - dba_pic LickitungBackpic - dba_pic KoffingFrontpic - dba_pic KoffingBackpic - dba_pic WeezingFrontpic - dba_pic WeezingBackpic - dba_pic RhyhornFrontpic - dba_pic RhyhornBackpic - dba_pic RhydonFrontpic - dba_pic RhydonBackpic - dba_pic ChanseyFrontpic - dba_pic ChanseyBackpic - dba_pic TangelaFrontpic - dba_pic TangelaBackpic - dba_pic KangaskhanFrontpic - dba_pic KangaskhanBackpic - dba_pic HorseaFrontpic - dba_pic HorseaBackpic - dba_pic SeadraFrontpic - dba_pic SeadraBackpic - dba_pic GoldeenFrontpic - dba_pic GoldeenBackpic - dba_pic SeakingFrontpic - dba_pic SeakingBackpic - dba_pic StaryuFrontpic - dba_pic StaryuBackpic - dba_pic StarmieFrontpic - dba_pic StarmieBackpic - dba_pic MrMimeFrontpic - dba_pic MrMimeBackpic - dba_pic ScytherFrontpic - dba_pic ScytherBackpic - dba_pic JynxFrontpic - dba_pic JynxBackpic - dba_pic ElectabuzzFrontpic - dba_pic ElectabuzzBackpic - dba_pic MagmarFrontpic - dba_pic MagmarBackpic - dba_pic PinsirFrontpic - dba_pic PinsirBackpic - dba_pic TaurosFrontpic - dba_pic TaurosBackpic - dba_pic MagikarpFrontpic - dba_pic MagikarpBackpic - dba_pic GyaradosFrontpic - dba_pic GyaradosBackpic - dba_pic LaprasFrontpic - dba_pic LaprasBackpic - dba_pic DittoFrontpic - dba_pic DittoBackpic - dba_pic EeveeFrontpic - dba_pic EeveeBackpic - dba_pic VaporeonFrontpic - dba_pic VaporeonBackpic - dba_pic JolteonFrontpic - dba_pic JolteonBackpic - dba_pic FlareonFrontpic - dba_pic FlareonBackpic - dba_pic PorygonFrontpic - dba_pic PorygonBackpic - dba_pic OmanyteFrontpic - dba_pic OmanyteBackpic - dba_pic OmastarFrontpic - dba_pic OmastarBackpic - dba_pic KabutoFrontpic - dba_pic KabutoBackpic - dba_pic KabutopsFrontpic - dba_pic KabutopsBackpic - dba_pic AerodactylFrontpic - dba_pic AerodactylBackpic - dba_pic SnorlaxFrontpic - dba_pic SnorlaxBackpic - dba_pic ArticunoFrontpic - dba_pic ArticunoBackpic - dba_pic ZapdosFrontpic - dba_pic ZapdosBackpic - dba_pic MoltresFrontpic - dba_pic MoltresBackpic - dba_pic DratiniFrontpic - dba_pic DratiniBackpic - dba_pic DragonairFrontpic - dba_pic DragonairBackpic - dba_pic DragoniteFrontpic - dba_pic DragoniteBackpic - dba_pic MewtwoFrontpic - dba_pic MewtwoBackpic - dba_pic MewFrontpic - dba_pic MewBackpic - dba_pic ChikoritaFrontpic - dba_pic ChikoritaBackpic - dba_pic BayleefFrontpic - dba_pic BayleefBackpic - dba_pic MeganiumFrontpic - dba_pic MeganiumBackpic - dba_pic CyndaquilFrontpic - dba_pic CyndaquilBackpic - dba_pic QuilavaFrontpic - dba_pic QuilavaBackpic - dba_pic TyphlosionFrontpic - dba_pic TyphlosionBackpic - dba_pic TotodileFrontpic - dba_pic TotodileBackpic - dba_pic CroconawFrontpic - dba_pic CroconawBackpic - dba_pic FeraligatrFrontpic - dba_pic FeraligatrBackpic - dba_pic SentretFrontpic - dba_pic SentretBackpic - dba_pic FurretFrontpic - dba_pic FurretBackpic - dba_pic HoothootFrontpic - dba_pic HoothootBackpic - dba_pic NoctowlFrontpic - dba_pic NoctowlBackpic - dba_pic LedybaFrontpic - dba_pic LedybaBackpic - dba_pic LedianFrontpic - dba_pic LedianBackpic - dba_pic SpinarakFrontpic - dba_pic SpinarakBackpic - dba_pic AriadosFrontpic - dba_pic AriadosBackpic - dba_pic CrobatFrontpic - dba_pic CrobatBackpic - dba_pic ChinchouFrontpic - dba_pic ChinchouBackpic - dba_pic LanturnFrontpic - dba_pic LanturnBackpic - dba_pic PichuFrontpic - dba_pic PichuBackpic - dba_pic CleffaFrontpic - dba_pic CleffaBackpic - dba_pic IgglybuffFrontpic - dba_pic IgglybuffBackpic - dba_pic TogepiFrontpic - dba_pic TogepiBackpic - dba_pic TogeticFrontpic - dba_pic TogeticBackpic - dba_pic NatuFrontpic - dba_pic NatuBackpic - dba_pic XatuFrontpic - dba_pic XatuBackpic - dba_pic MareepFrontpic - dba_pic MareepBackpic - dba_pic FlaaffyFrontpic - dba_pic FlaaffyBackpic - dba_pic AmpharosFrontpic - dba_pic AmpharosBackpic - dba_pic BellossomFrontpic - dba_pic BellossomBackpic - dba_pic MarillFrontpic - dba_pic MarillBackpic - dba_pic AzumarillFrontpic - dba_pic AzumarillBackpic - dba_pic SudowoodoFrontpic - dba_pic SudowoodoBackpic - dba_pic PolitoedFrontpic - dba_pic PolitoedBackpic - dba_pic HoppipFrontpic - dba_pic HoppipBackpic - dba_pic SkiploomFrontpic - dba_pic SkiploomBackpic - dba_pic JumpluffFrontpic - dba_pic JumpluffBackpic - dba_pic AipomFrontpic - dba_pic AipomBackpic - dba_pic SunkernFrontpic - dba_pic SunkernBackpic - dba_pic SunfloraFrontpic - dba_pic SunfloraBackpic - dba_pic YanmaFrontpic - dba_pic YanmaBackpic - dba_pic WooperFrontpic - dba_pic WooperBackpic - dba_pic QuagsireFrontpic - dba_pic QuagsireBackpic - dba_pic EspeonFrontpic - dba_pic EspeonBackpic - dba_pic UmbreonFrontpic - dba_pic UmbreonBackpic - dba_pic MurkrowFrontpic - dba_pic MurkrowBackpic - dba_pic SlowkingFrontpic - dba_pic SlowkingBackpic - dba_pic MisdreavusFrontpic - dba_pic MisdreavusBackpic - - ; Unown pics have their own table. See UnownPicPointers - dbw -1, -1 - dbw -1, -1 - - dba_pic WobbuffetFrontpic - dba_pic WobbuffetBackpic - dba_pic GirafarigFrontpic - dba_pic GirafarigBackpic - dba_pic PinecoFrontpic - dba_pic PinecoBackpic - dba_pic ForretressFrontpic - dba_pic ForretressBackpic - dba_pic DunsparceFrontpic - dba_pic DunsparceBackpic - dba_pic GligarFrontpic - dba_pic GligarBackpic - dba_pic SteelixFrontpic - dba_pic SteelixBackpic - dba_pic SnubbullFrontpic - dba_pic SnubbullBackpic - dba_pic GranbullFrontpic - dba_pic GranbullBackpic - dba_pic QwilfishFrontpic - dba_pic QwilfishBackpic - dba_pic ScizorFrontpic - dba_pic ScizorBackpic - dba_pic ShuckleFrontpic - dba_pic ShuckleBackpic - dba_pic HeracrossFrontpic - dba_pic HeracrossBackpic - dba_pic SneaselFrontpic - dba_pic SneaselBackpic - dba_pic TeddiursaFrontpic - dba_pic TeddiursaBackpic - dba_pic UrsaringFrontpic - dba_pic UrsaringBackpic - dba_pic SlugmaFrontpic - dba_pic SlugmaBackpic - dba_pic MagcargoFrontpic - dba_pic MagcargoBackpic - dba_pic SwinubFrontpic - dba_pic SwinubBackpic - dba_pic PiloswineFrontpic - dba_pic PiloswineBackpic - dba_pic CorsolaFrontpic - dba_pic CorsolaBackpic - dba_pic RemoraidFrontpic - dba_pic RemoraidBackpic - dba_pic OctilleryFrontpic - dba_pic OctilleryBackpic - dba_pic DelibirdFrontpic - dba_pic DelibirdBackpic - dba_pic MantineFrontpic - dba_pic MantineBackpic - dba_pic SkarmoryFrontpic - dba_pic SkarmoryBackpic - dba_pic HoundourFrontpic - dba_pic HoundourBackpic - dba_pic HoundoomFrontpic - dba_pic HoundoomBackpic - dba_pic KingdraFrontpic - dba_pic KingdraBackpic - dba_pic PhanpyFrontpic - dba_pic PhanpyBackpic - dba_pic DonphanFrontpic - dba_pic DonphanBackpic - dba_pic Porygon2Frontpic - dba_pic Porygon2Backpic - dba_pic StantlerFrontpic - dba_pic StantlerBackpic - dba_pic SmeargleFrontpic - dba_pic SmeargleBackpic - dba_pic TyrogueFrontpic - dba_pic TyrogueBackpic - dba_pic HitmontopFrontpic - dba_pic HitmontopBackpic - dba_pic SmoochumFrontpic - dba_pic SmoochumBackpic - dba_pic ElekidFrontpic - dba_pic ElekidBackpic - dba_pic MagbyFrontpic - dba_pic MagbyBackpic - dba_pic MiltankFrontpic - dba_pic MiltankBackpic - dba_pic BlisseyFrontpic - dba_pic BlisseyBackpic - dba_pic RaikouFrontpic - dba_pic RaikouBackpic - dba_pic EnteiFrontpic - dba_pic EnteiBackpic - dba_pic SuicuneFrontpic - dba_pic SuicuneBackpic - dba_pic LarvitarFrontpic - dba_pic LarvitarBackpic - dba_pic PupitarFrontpic - dba_pic PupitarBackpic - dba_pic TyranitarFrontpic - dba_pic TyranitarBackpic - dba_pic LugiaFrontpic - dba_pic LugiaBackpic - dba_pic HoOhFrontpic - dba_pic HoOhBackpic - dba_pic CelebiFrontpic - dba_pic CelebiBackpic - dbw -1, -1 ; unused - dbw -1, -1 ; unused - dba_pic EggPic - dbw -1, -1 ; unused diff --git a/gfx/pokemon/unown_pic_pointers.asm b/gfx/pokemon/unown_pic_pointers.asm deleted file mode 100644 index 1ae0da6b6..000000000 --- a/gfx/pokemon/unown_pic_pointers.asm +++ /dev/null @@ -1,54 +0,0 @@ -UnownPicPointers:: -; entries correspond to Unown letters, two apiece - dba_pic UnownAFrontpic - dba_pic UnownABackpic - dba_pic UnownBFrontpic - dba_pic UnownBBackpic - dba_pic UnownCFrontpic - dba_pic UnownCBackpic - dba_pic UnownDFrontpic - dba_pic UnownDBackpic - dba_pic UnownEFrontpic - dba_pic UnownEBackpic - dba_pic UnownFFrontpic - dba_pic UnownFBackpic - dba_pic UnownGFrontpic - dba_pic UnownGBackpic - dba_pic UnownHFrontpic - dba_pic UnownHBackpic - dba_pic UnownIFrontpic - dba_pic UnownIBackpic - dba_pic UnownJFrontpic - dba_pic UnownJBackpic - dba_pic UnownKFrontpic - dba_pic UnownKBackpic - dba_pic UnownLFrontpic - dba_pic UnownLBackpic - dba_pic UnownMFrontpic - dba_pic UnownMBackpic - dba_pic UnownNFrontpic - dba_pic UnownNBackpic - dba_pic UnownOFrontpic - dba_pic UnownOBackpic - dba_pic UnownPFrontpic - dba_pic UnownPBackpic - dba_pic UnownQFrontpic - dba_pic UnownQBackpic - dba_pic UnownRFrontpic - dba_pic UnownRBackpic - dba_pic UnownSFrontpic - dba_pic UnownSBackpic - dba_pic UnownTFrontpic - dba_pic UnownTBackpic - dba_pic UnownUFrontpic - dba_pic UnownUBackpic - dba_pic UnownVFrontpic - dba_pic UnownVBackpic - dba_pic UnownWFrontpic - dba_pic UnownWBackpic - dba_pic UnownXFrontpic - dba_pic UnownXBackpic - dba_pic UnownYFrontpic - dba_pic UnownYBackpic - dba_pic UnownZFrontpic - dba_pic UnownZBackpic diff --git a/gfx/trainer_palettes.asm b/gfx/trainer_palettes.asm deleted file mode 100644 index c943e49d7..000000000 --- a/gfx/trainer_palettes.asm +++ /dev/null @@ -1,76 +0,0 @@ -TrainerPalettes: ; b0ce -; entries correspond to trainer classes - -PlayerPalette: ; b0ce -; Chris uses the same colors as Cal -INCLUDE "gfx/trainers/cal.pal" -KrisPalette: ; b0d0 -; Kris shares Falkner's palette -INCLUDE "gfx/trainers/falkner.pal" -INCLUDE "gfx/trainers/whitney.pal" -INCLUDE "gfx/trainers/bugsy.pal" -INCLUDE "gfx/trainers/morty.pal" -INCLUDE "gfx/trainers/pryce.pal" -INCLUDE "gfx/trainers/jasmine.pal" -INCLUDE "gfx/trainers/chuck.pal" -INCLUDE "gfx/trainers/clair.pal" -INCLUDE "gfx/trainers/rival1.pal" -INCLUDE "gfx/trainers/oak.pal" -INCLUDE "gfx/trainers/will.pal" -INCLUDE "gfx/trainers/cal.pal" -INCLUDE "gfx/trainers/bruno.pal" -INCLUDE "gfx/trainers/karen.pal" -INCLUDE "gfx/trainers/koga.pal" -INCLUDE "gfx/trainers/champion.pal" -INCLUDE "gfx/trainers/brock.pal" -INCLUDE "gfx/trainers/misty.pal" -INCLUDE "gfx/trainers/lt_surge.pal" -INCLUDE "gfx/trainers/scientist.pal" -INCLUDE "gfx/trainers/erika.pal" -INCLUDE "gfx/trainers/youngster.pal" -INCLUDE "gfx/trainers/schoolboy.pal" -INCLUDE "gfx/trainers/bird_keeper.pal" -INCLUDE "gfx/trainers/lass.pal" -INCLUDE "gfx/trainers/janine.pal" -INCLUDE "gfx/trainers/cooltrainer_m.pal" -INCLUDE "gfx/trainers/cooltrainer_f.pal" -INCLUDE "gfx/trainers/beauty.pal" -INCLUDE "gfx/trainers/pokemaniac.pal" -INCLUDE "gfx/trainers/grunt_m.pal" -INCLUDE "gfx/trainers/gentleman.pal" -INCLUDE "gfx/trainers/skier.pal" -INCLUDE "gfx/trainers/teacher.pal" -INCLUDE "gfx/trainers/sabrina.pal" -INCLUDE "gfx/trainers/bug_catcher.pal" -INCLUDE "gfx/trainers/fisher.pal" -INCLUDE "gfx/trainers/swimmer_m.pal" -INCLUDE "gfx/trainers/swimmer_f.pal" -INCLUDE "gfx/trainers/sailor.pal" -INCLUDE "gfx/trainers/super_nerd.pal" -INCLUDE "gfx/trainers/rival2.pal" -INCLUDE "gfx/trainers/guitarist.pal" -INCLUDE "gfx/trainers/hiker.pal" -INCLUDE "gfx/trainers/biker.pal" -INCLUDE "gfx/trainers/blaine.pal" -INCLUDE "gfx/trainers/burglar.pal" -INCLUDE "gfx/trainers/firebreather.pal" -INCLUDE "gfx/trainers/juggler.pal" -INCLUDE "gfx/trainers/blackbelt_t.pal" -INCLUDE "gfx/trainers/executive_m.pal" -INCLUDE "gfx/trainers/psychic_t.pal" -INCLUDE "gfx/trainers/picnicker.pal" -INCLUDE "gfx/trainers/camper.pal" -INCLUDE "gfx/trainers/executive_f.pal" -INCLUDE "gfx/trainers/sage.pal" -INCLUDE "gfx/trainers/medium.pal" -INCLUDE "gfx/trainers/boarder.pal" -INCLUDE "gfx/trainers/pokefan_m.pal" -INCLUDE "gfx/trainers/kimono_girl.pal" -INCLUDE "gfx/trainers/twins.pal" -INCLUDE "gfx/trainers/pokefan_f.pal" -INCLUDE "gfx/trainers/red.pal" -INCLUDE "gfx/trainers/blue.pal" -INCLUDE "gfx/trainers/officer.pal" -INCLUDE "gfx/trainers/grunt_f.pal" -INCLUDE "gfx/trainers/mysticalman.pal" -; b1de diff --git a/gfx/trainer_pic_pointers.asm b/gfx/trainer_pic_pointers.asm deleted file mode 100644 index 201b44200..000000000 --- a/gfx/trainer_pic_pointers.asm +++ /dev/null @@ -1,69 +0,0 @@ -TrainerPicPointers:: -; entries correspond to trainer classes (see constants/trainer_constants.asm) - dba_pic FalknerPic - dba_pic WhitneyPic - dba_pic BugsyPic - dba_pic MortyPic - dba_pic PrycePic - dba_pic JasminePic - dba_pic ChuckPic - dba_pic ClairPic - dba_pic Rival1Pic - dba_pic PokemonProfPic - dba_pic WillPic - dba_pic CalPic - dba_pic BrunoPic - dba_pic KarenPic - dba_pic KogaPic - dba_pic ChampionPic - dba_pic BrockPic - dba_pic MistyPic - dba_pic LtSurgePic - dba_pic ScientistPic - dba_pic ErikaPic - dba_pic YoungsterPic - dba_pic SchoolboyPic - dba_pic BirdKeeperPic - dba_pic LassPic - dba_pic JaninePic - dba_pic CooltrainermPic - dba_pic CooltrainerfPic - dba_pic BeautyPic - dba_pic PokemaniacPic - dba_pic GruntmPic - dba_pic GentlemanPic - dba_pic SkierPic - dba_pic TeacherPic - dba_pic SabrinaPic - dba_pic BugCatcherPic - dba_pic FisherPic - dba_pic SwimmermPic - dba_pic SwimmerfPic - dba_pic SailorPic - dba_pic SuperNerdPic - dba_pic Rival2Pic - dba_pic GuitaristPic - dba_pic HikerPic - dba_pic BikerPic - dba_pic BlainePic - dba_pic BurglarPic - dba_pic FirebreatherPic - dba_pic JugglerPic - dba_pic BlackbeltTPic - dba_pic ExecutivemPic - dba_pic PsychicTPic - dba_pic PicnickerPic - dba_pic CamperPic - dba_pic ExecutivefPic - dba_pic SagePic - dba_pic MediumPic - dba_pic BoarderPic - dba_pic PokefanmPic - dba_pic KimonoGirlPic - dba_pic TwinsPic - dba_pic PokefanfPic - dba_pic RedPic - dba_pic BluePic - dba_pic OfficerPic - dba_pic GruntfPic - dba_pic MysticalmanPic diff --git a/macros.asm b/macros.asm index cce53b45f..f24d2f5a7 100644 --- a/macros.asm +++ b/macros.asm @@ -11,13 +11,13 @@ INCLUDE "macros/tilesets.asm" INCLUDE "macros/scripts/audio.asm" INCLUDE "macros/scripts/maps.asm" -INCLUDE "macros/scripts/event.asm" +INCLUDE "macros/scripts/events.asm" INCLUDE "macros/scripts/text.asm" INCLUDE "macros/scripts/movement.asm" INCLUDE "macros/scripts/effect_commands.asm" -INCLUDE "macros/scripts/move_anim.asm" -INCLUDE "macros/scripts/trade_anim.asm" -INCLUDE "macros/scripts/gfx_anim.asm" +INCLUDE "macros/scripts/battle_anims.asm" +INCLUDE "macros/scripts/trade_anims.asm" +INCLUDE "macros/scripts/gfx_anims.asm" percent EQUS "* $ff / 100" diff --git a/macros/scripts/battle_anims.asm b/macros/scripts/battle_anims.asm new file mode 100644 index 000000000..3c054d460 --- /dev/null +++ b/macros/scripts/battle_anims.asm @@ -0,0 +1,294 @@ +anim_wait: macro +if \1 >= $d0 + flip out +endc + db \1 + endm + +; BattleAnimCommands indexes (see engine/battle_anims/anim_commands.asm) + enum_start $d0 + + enum anim_obj_command ; $d0 +anim_obj: macro + db anim_obj_command + db \1 ; obj + db (\2 << 3) + \3 ; x + db (\4 << 3) + \5 ; y + db \6 ; param + endm + + enum anim_1gfx_command ; $d1 +anim_1gfx: macro + db anim_1gfx_command + db \1 ; gfx1 + endm + + enum anim_2gfx_command ; $d2 +anim_2gfx: macro + db anim_2gfx_command + db \1 ; gfx1 + db \2 ; gfx2 + endm + + enum anim_3gfx_command ; $d3 +anim_3gfx: macro + db anim_3gfx_command + db \1 ; gfx1 + db \2 ; gfx2 + db \3 ; gfx3 + endm + + enum anim_4gfx_command ; $d4 +anim_4gfx: macro + db anim_4gfx_command + db \1 ; gfx1 + db \2 ; gfx2 + db \3 ; gfx3 + db \4 ; gfx4 + endm + + enum anim_5gfx_command ; $d5 +anim_5gfx: macro + db anim_5gfx_command + db \1 ; gfx1 + db \2 ; gfx2 + db \3 ; gfx3 + db \4 ; gfx4 + db \5 ; gfx5 + endm + + enum anim_incobj_command ; $d6 +anim_incobj: macro + db anim_incobj_command + db \1 ; id + endm + + enum anim_setobj_command ; $d7 +anim_setobj: macro + db anim_setobj_command + db \1 ; id + db \2 ; obj + endm + + enum anim_incbgeffect_command ; $d8 +anim_incbgeffect: macro + db anim_incbgeffect_command + db \1 ; effect + endm + + enum anim_enemyfeetobj_command ; $d9 +anim_enemyfeetobj: macro + db anim_enemyfeetobj_command + endm + + enum anim_playerheadobj_command ; $da +anim_playerheadobj: macro + db anim_playerheadobj_command + endm + + enum anim_checkpokeball_command ; $db +anim_checkpokeball: macro + db anim_checkpokeball_command + endm + + enum anim_transform_command ; $dc +anim_transform: macro + db anim_transform_command + endm + + enum anim_raisesub_command ; $dd +anim_raisesub: macro + db anim_raisesub_command + endm + + enum anim_dropsub_command ; $de +anim_dropsub: macro + db anim_dropsub_command + endm + + enum anim_resetobp0_command ; $df +anim_resetobp0: macro + db anim_resetobp0_command + endm + + enum anim_sound_command ; $e0 +anim_sound: macro + db anim_sound_command + db (\1 << 2) | \2 ; duration, tracks + db \3 ; id + endm + + enum anim_cry_command ; $e1 +anim_cry: macro + db anim_cry_command + db \1 ; pitch + endm + + enum anim_minimizeopp_command ; $e2 +anim_minimizeopp: macro + db anim_minimizeopp_command + endm + + enum anim_oamon_command ; $e3 +anim_oamon: macro + db anim_oamon_command + endm + + enum anim_oamoff_command ; $e4 +anim_oamoff: macro + db anim_oamoff_command + endm + + enum anim_clearobjs_command ; $e5 +anim_clearobjs: macro + db anim_clearobjs_command + endm + + enum anim_beatup_command ; $e6 +anim_beatup: macro + db anim_beatup_command + endm + + enum anim_0xe7_command ; $e7 +anim_0xe7: macro + db anim_0xe7_command + endm + + enum anim_updateactorpic_command ; $e8 +anim_updateactorpic: macro + db anim_updateactorpic_command + endm + + enum anim_minimize_command ; $e9 +anim_minimize: macro + db anim_minimize_command + endm + + enum anim_0xea_command ; $ea +anim_0xea: macro + db anim_0xea_command + endm + + enum anim_0xeb_command ; $eb +anim_0xeb: macro + db anim_0xeb_command + endm + + enum anim_0xec_command ; $ec +anim_0xec: macro + db anim_0xec_command + endm + + enum anim_0xed_command ; $ed +anim_0xed: macro + db anim_0xed_command + endm + + enum anim_if_param_and_command ; $ee +anim_if_param_and: macro + db anim_if_param_and_command + db \1 ; value + dw \2 ; address + endm + + enum anim_jumpuntil_command ; $ef +anim_jumpuntil: macro + db anim_jumpuntil_command + dw \1 ; address + endm + + enum anim_bgeffect_command ; $f0 +anim_bgeffect: macro + db anim_bgeffect_command + db \1 ; effect + db \2 ; unknown + db \3 ; unknown + db \4 ; unknown + endm + + enum anim_bgp_command ; $f1 +anim_bgp: macro + db anim_bgp_command + db \1 ; colors + endm + + enum anim_obp0_command ; $f2 +anim_obp0: macro + db anim_obp0_command + db \1 ; colors + endm + + enum anim_obp1_command ; $f3 +anim_obp1: macro + db anim_obp1_command + db \1 ; colors + endm + + enum anim_clearsprites_command ; $f4 +anim_clearsprites: macro + db anim_clearsprites_command + endm + + enum anim_0xf5_command ; $f5 +anim_0xf5: macro + db anim_0xf5_command + endm + + enum anim_0xf6_command ; $f6 +anim_0xf6: macro + db anim_0xf6_command + endm + + enum anim_0xf7_command ; $f7 +anim_0xf7: macro + db anim_0xf7_command + endm + + enum anim_if_param_equal_command ; $f8 +anim_if_param_equal: macro + db anim_if_param_equal_command + db \1 ; value + dw \2 ; address + endm + + enum anim_setvar_command ; $f9 +anim_setvar: macro + db anim_setvar_command + db \1 ; value + endm + + enum anim_incvar_command ; $fa +anim_incvar: macro + db anim_incvar_command + endm + + enum anim_if_var_equal_command ; $fb +anim_if_var_equal: macro + db anim_if_var_equal_command + db \1 ; value + dw \2 ; address + endm + + enum anim_jump_command ; $fc +anim_jump: macro + db anim_jump_command + dw \1 ; address + endm + + enum anim_loop_command ; $fd +anim_loop: macro + db anim_loop_command + db \1 ; count + dw \2 ; address + endm + + enum anim_call_command ; $fe +anim_call: macro + db anim_call_command + dw \1 ; address + endm + + enum anim_ret_command ; $ff +anim_ret: macro + db anim_ret_command + endm diff --git a/macros/scripts/event.asm b/macros/scripts/event.asm deleted file mode 100644 index 1bf6b8622..000000000 --- a/macros/scripts/event.asm +++ /dev/null @@ -1,1069 +0,0 @@ -; ScriptCommandTable indexes (see engine/scripting.asm) - enum_start - - enum scall_command ; $00 -scall: macro - db scall_command - dw \1 ; pointer - endm - - enum farscall_command ; $01 -farscall: macro - db farscall_command - dba \1 - endm - - enum ptcall_command ; $02 -ptcall: macro - db ptcall_command - dw \1 ; pointer - endm - - enum jump_command ; $03 -jump: macro - db jump_command - dw \1 ; pointer - endm - - enum farjump_command ; $04 -farjump: macro - db farjump_command - dba \1 - endm - - enum ptjump_command ; $05 -ptjump: macro - db ptjump_command - dw \1 ; pointer - endm - - enum if_equal_command ; $06 -if_equal: macro - db if_equal_command - db \1 ; byte - dw \2 ; pointer - endm - - enum if_not_equal_command ; $07 -if_not_equal: macro - db if_not_equal_command - db \1 ; byte - dw \2 ; pointer - endm - - enum iffalse_command ; $08 -iffalse: macro - db iffalse_command - dw \1 ; pointer - endm - - enum iftrue_command ; $09 -iftrue: macro - db iftrue_command - dw \1 ; pointer - endm - - enum if_greater_than_command ; $0a -if_greater_than: macro - db if_greater_than_command - db \1 ; byte - dw \2 ; pointer - endm - - enum if_less_than_command ; $0b -if_less_than: macro - db if_less_than_command - db \1 ; byte - dw \2 ; pointer - endm - - enum jumpstd_command ; $0c -jumpstd: macro - db jumpstd_command - dw \1 ; predefined_script - endm - - enum callstd_command ; $0d -callstd: macro - db callstd_command - dw \1 ; predefined_script - endm - - enum callasm_command ; $0e -callasm: macro - db callasm_command - dba \1 - endm - - enum special_command ; $0f -special: macro - db special_command - dw (\1Special - SpecialsPointers) / 3 - endm - -add_special: MACRO -\1Special:: - dba \1 -ENDM - - enum ptcallasm_command ; $10 -ptcallasm: macro - db ptcallasm_command - dw \1 ; asm - endm - - enum checkmapscene_command ; $11 -checkmapscene: macro - db checkmapscene_command - map \1 ; map - endm - - enum setmapscene_command ; $12 -setmapscene: macro - db setmapscene_command - map \1 ; map - db \2 ; scene_id - endm - - enum checkscene_command ; $13 -checkscene: macro - db checkscene_command - endm - - enum setscene_command ; $14 -setscene: macro - db setscene_command - db \1 ; scene_id - endm - - enum writebyte_command ; $15 -writebyte: macro - db writebyte_command - db \1 ; value - endm - - enum addvar_command ; $16 -addvar: macro - db addvar_command - db \1 ; value - endm - - enum random_command ; $17 -random: macro - db random_command - db \1 ; input - endm - - enum checkver_command ; $18 -checkver: macro - db checkver_command - endm - - enum copybytetovar_command ; $19 -copybytetovar: macro - db copybytetovar_command - dw \1 ; address - endm - - enum copyvartobyte_command ; $1a -copyvartobyte: macro - db copyvartobyte_command - dw \1 ; address - endm - - enum loadvar_command ; $1b -loadvar: macro - db loadvar_command - dw \1 ; address - db \2 ; value - endm - - enum checkcode_command ; $1c -checkcode: macro - db checkcode_command - db \1 ; variable_id - endm - - enum writevarcode_command ; $1d -writevarcode: macro - db writevarcode_command - db \1 ; variable_id - endm - - enum writecode_command ; $1e -writecode: macro - db writecode_command - db \1 ; variable_id - db \2 ; value - endm - - enum giveitem_command ; $1f -giveitem: macro - db giveitem_command - db \1 ; item -if _NARG == 2 - db \2 ; quantity -else - db 1 -endc - endm - - enum takeitem_command ; $20 -takeitem: macro - db takeitem_command - db \1 ; item -if _NARG == 2 - db \2 ; quantity -else - db 1 -endc - endm - - enum checkitem_command ; $21 -checkitem: macro - db checkitem_command - db \1 ; item - endm - - enum givemoney_command ; $22 -givemoney: macro - db givemoney_command - db \1 ; account - dt \2 ; money - endm - - enum takemoney_command ; $23 -takemoney: macro - db takemoney_command - db \1 ; account - dt \2 ; money - endm - - enum checkmoney_command ; $24 -checkmoney: macro - db checkmoney_command - db \1 ; account - dt \2 ; money - endm - - enum givecoins_command ; $25 -givecoins: macro - db givecoins_command - dw \1 ; coins - endm - - enum takecoins_command ; $26 -takecoins: macro - db takecoins_command - dw \1 ; coins - endm - - enum checkcoins_command ; $27 -checkcoins: macro - db checkcoins_command - dw \1 ; coins - endm - - enum addcellnum_command ; $28 -addcellnum: macro - db addcellnum_command - db \1 ; person - endm - - enum delcellnum_command ; $29 -delcellnum: macro - db delcellnum_command - db \1 ; person - endm - - enum checkcellnum_command ; $2a -checkcellnum: macro - db checkcellnum_command - db \1 ; person - endm - - enum checktime_command ; $2b -checktime: macro - db checktime_command - db \1 ; time - endm - -checkmorn EQUS "checktime MORN" -checkday EQUS "checktime DAY" -checknite EQUS "checktime NITE" - - enum checkpoke_command ; $2c -checkpoke: macro - db checkpoke_command - db \1 ; pkmn - endm - - enum givepoke_command ; $2d -givepoke: macro - db givepoke_command - db \1 ; pokemon - db \2 ; level - if _NARG >= 3 - db \3 ; item - if _NARG >= 4 - db \4 ; trainer - if \4 - dw \5 ; trainer_name_pointer - dw \6 ; pkmn_nickname - endc - else - db 0 - endc - else - db 0, 0 - endc - endm - - enum giveegg_command ; $2e -giveegg: macro - db giveegg_command - db \1 ; pkmn - db \2 ; level - endm - - enum givepokeitem_command ; $2f -givepokeitem: macro - db givepokeitem_command - dw \1 ; pointer - endm - - enum checkpokeitem_command ; $30 -checkpokeitem: macro - db checkpokeitem_command - dw \1 ; pointer - endm - - enum checkevent_command ; $31 -checkevent: macro - db checkevent_command - dw \1 ; event_flag - endm - - enum clearevent_command ; $32 -clearevent: macro - db clearevent_command - dw \1 ; event_flag - endm - - enum setevent_command ; $33 -setevent: macro - db setevent_command - dw \1 ; event_flag - endm - - enum checkflag_command ; $34 -checkflag: macro - db checkflag_command - dw \1 ; engine_flag - endm - - enum clearflag_command ; $35 -clearflag: macro - db clearflag_command - dw \1 ; engine_flag - endm - - enum setflag_command ; $36 -setflag: macro - db setflag_command - dw \1 ; engine_flag - endm - - enum wildon_command ; $37 -wildon: macro - db wildon_command - endm - - enum wildoff_command ; $38 -wildoff: macro - db wildoff_command - endm - - enum xycompare_command ; $39 -xycompare: macro - db xycompare_command - dw \1 ; pointer - endm - - enum warpmod_command ; $3a -warpmod: macro - db warpmod_command - db \1 ; warp_id - map \2 ; map - endm - - enum blackoutmod_command ; $3b -blackoutmod: macro - db blackoutmod_command - map \1 ; map - endm - - enum warp_command ; $3c -warp: macro - db warp_command - map \1 ; map - db \2 ; x - db \3 ; y - endm - - enum readmoney_command ; $3d -readmoney: macro - db readmoney_command - db \1 ; account - db \2 ; memory - endm - - enum readcoins_command ; $3e -readcoins: macro - db readcoins_command - db \1 ; memory - endm - - enum RAM2MEM_command ; $3f -RAM2MEM: macro - db RAM2MEM_command - db \1 ; memory - endm - - enum pokenamemem_command ; $40 -pokenamemem: macro - db pokenamemem_command - db \1 ; pokemon - db \2 ; memory - endm - - enum itemtotext_command ; $41 -itemtotext: macro - db itemtotext_command - db \1 ; item - db \2 ; memory - endm - - enum mapnametotext_command ; $42 -mapnametotext: macro - db mapnametotext_command - db \1 ; memory - endm - - enum trainertotext_command ; $43 -trainertotext: macro - db trainertotext_command - db \1 ; trainer_id - db \2 ; trainer_group - db \3 ; memory - endm - - enum stringtotext_command ; $44 -stringtotext: macro - db stringtotext_command - dw \1 ; text_pointer - db \2 ; memory - endm - - enum itemnotify_command ; $45 -itemnotify: macro - db itemnotify_command - endm - - enum pocketisfull_command ; $46 -pocketisfull: macro - db pocketisfull_command - endm - - enum opentext_command ; $47 -opentext: macro - db opentext_command - endm - - enum refreshscreen_command ; $48 -refreshscreen: macro - db refreshscreen_command - db \1 ; dummy - endm - - enum closetext_command ; $49 -closetext: macro - db closetext_command - endm - - enum loadbytec2cf_command ; $4a -loadbytec2cf: macro - db loadbytec2cf_command - db \1 ; byte - endm - - enum farwritetext_command ; $4b -farwritetext: macro - db farwritetext_command - dba \1 - endm - - enum writetext_command ; $4c -writetext: macro - db writetext_command - dw \1 ; text_pointer - endm - - enum repeattext_command ; $4d -repeattext: macro - db repeattext_command - db \1 ; byte - db \2 ; byte - endm - - enum yesorno_command ; $4e -yesorno: macro - db yesorno_command - endm - - enum loadmenudata_command ; $4f -loadmenudata: macro - db loadmenudata_command - dw \1 ; data - endm - - enum closewindow_command ; $50 -closewindow: macro - db closewindow_command - endm - - enum jumptextfaceplayer_command ; $51 -jumptextfaceplayer: macro - db jumptextfaceplayer_command - dw \1 ; text_pointer - endm - -; IF _CRYSTAL - enum farjumptext_command ; $52 -farjumptext: macro - db farjumptext_command - dba \1 - endm -; ENDC - - enum jumptext_command ; $53 -jumptext: macro - db jumptext_command - dw \1 ; text_pointer - endm - - enum waitbutton_command ; $54 -waitbutton: macro - db waitbutton_command - endm - - enum buttonsound_command ; $55 -buttonsound: macro - db buttonsound_command - endm - - enum pokepic_command ; $56 -pokepic: macro - db pokepic_command - db \1 ; pokemon - endm - - enum closepokepic_command ; $57 -closepokepic: macro - db closepokepic_command - endm - - enum _2dmenu_command ; $58 -_2dmenu: macro - db _2dmenu_command - endm - - enum verticalmenu_command ; $59 -verticalmenu: macro - db verticalmenu_command - endm - - enum loadpikachudata_command ; $5a -loadpikachudata: macro - db loadpikachudata_command - endm - - enum randomwildmon_command ; $5b -randomwildmon: macro - db randomwildmon_command - endm - - enum loadmemtrainer_command ; $5c -loadmemtrainer: macro - db loadmemtrainer_command - endm - - enum loadwildmon_command ; $5d -loadwildmon: macro - db loadwildmon_command - db \1 ; pokemon - db \2 ; level - endm - - enum loadtrainer_command ; $5e -loadtrainer: macro - db loadtrainer_command - db \1 ; trainer_group - db \2 ; trainer_id - endm - - enum startbattle_command ; $5f -startbattle: macro - db startbattle_command - endm - - enum reloadmapafterbattle_command ; $60 -reloadmapafterbattle: macro - db reloadmapafterbattle_command - endm - - enum catchtutorial_command ; $61 -catchtutorial: macro - db catchtutorial_command - db \1 ; byte - endm - - enum trainertext_command ; $62 -trainertext: macro - db trainertext_command - db \1 ; which_text - endm - - enum trainerflagaction_command ; $63 -trainerflagaction: macro - db trainerflagaction_command - db \1 ; action - endm - - enum winlosstext_command ; $64 -winlosstext: macro - db winlosstext_command - dw \1 ; win_text_pointer - dw \2 ; loss_text_pointer - endm - - enum scripttalkafter_command ; $65 -scripttalkafter: macro - db scripttalkafter_command - endm - - enum end_if_just_battled_command ; $66 -end_if_just_battled: macro - db end_if_just_battled_command - endm - - enum check_just_battled_command ; $67 -check_just_battled: macro - db check_just_battled_command - endm - - enum setlasttalked_command ; $68 -setlasttalked: macro - db setlasttalked_command - db \1 ; object id - endm - - enum applymovement_command ; $69 -applymovement: macro - db applymovement_command - db \1 ; object id - dw \2 ; data - endm - - enum applymovement2_command ; $6a -applymovement2: macro - db applymovement2_command - dw \1 ; data - endm - - enum faceplayer_command ; $6b -faceplayer: macro - db faceplayer_command - endm - - enum faceobject_command ; $6c -faceobject: macro - db faceobject_command - db \1 ; object1 - db \2 ; object2 - endm - - enum variablesprite_command ; $6d -variablesprite: macro - db variablesprite_command - db \1 - SPRITE_VARS ; byte - db \2 ; sprite - endm - - enum disappear_command ; $6e -disappear: macro - db disappear_command - db \1 ; object id - endm - - enum appear_command ; $6f -appear: macro - db appear_command - db \1 ; object id - endm - - enum follow_command ; $70 -follow: macro - db follow_command - db \1 ; object2 - db \2 ; object1 - endm - - enum stopfollow_command ; $71 -stopfollow: macro - db stopfollow_command - endm - - enum moveobject_command ; $72 -moveobject: macro - db moveobject_command - db \1 ; object id - db \2 ; x - db \3 ; y - endm - - enum writeobjectxy_command ; $73 -writeobjectxy: macro - db writeobjectxy_command - db \1 ; object id - endm - - enum loademote_command ; $74 -loademote: macro - db loademote_command - db \1 ; bubble - endm - - enum showemote_command ; $75 -showemote: macro - db showemote_command - db \1 ; bubble - db \2 ; object id - db \3 ; time - endm - - enum spriteface_command ; $76 -spriteface: macro - db spriteface_command - db \1 ; object id - db \2 ; facing - endm - - enum follownotexact_command ; $77 -follownotexact: macro - db follownotexact_command - db \1 ; object2 - db \2 ; object1 - endm - - enum earthquake_command ; $78 -earthquake: macro - db earthquake_command - db \1 ; param - endm - - enum changemap_command ; $79 -changemap: macro - db changemap_command - db \1 ; map_bank - dw \2 ; map_data_pointer - endm - - enum changeblock_command ; $7a -changeblock: macro - db changeblock_command - db \1 ; x - db \2 ; y - db \3 ; block - endm - - enum reloadmap_command ; $7b -reloadmap: macro - db reloadmap_command - endm - - enum reloadmappart_command ; $7c -reloadmappart: macro - db reloadmappart_command - endm - - enum writecmdqueue_command ; $7d -writecmdqueue: macro - db writecmdqueue_command - dw \1 ; queue_pointer - endm - - enum delcmdqueue_command ; $7e -delcmdqueue: macro - db delcmdqueue_command - db \1 ; byte - endm - - enum playmusic_command ; $7f -playmusic: macro - db playmusic_command - dw \1 ; music_pointer - endm - - enum encountermusic_command ; $80 -encountermusic: macro - db encountermusic_command - endm - - enum musicfadeout_command ; $81 -musicfadeout: macro - db musicfadeout_command - dw \1 ; music - db \2 ; fadetime - endm - - enum playmapmusic_command ; $82 -playmapmusic: macro - db playmapmusic_command - endm - - enum dontrestartmapmusic_command ; $83 -dontrestartmapmusic: macro - db dontrestartmapmusic_command - endm - - enum cry_command ; $84 -cry: macro - db cry_command - dw \1 ; cry_id - endm - - enum playsound_command ; $85 -playsound: macro - db playsound_command - dw \1 ; sound_pointer - endm - - enum waitsfx_command ; $86 -waitsfx: macro - db waitsfx_command - endm - - enum warpsound_command ; $87 -warpsound: macro - db warpsound_command - endm - - enum specialsound_command ; $88 -specialsound: macro - db specialsound_command - endm - - enum passtoengine_command ; $89 -passtoengine: macro - db passtoengine_command - db \1 ; data_pointer - endm - - enum newloadmap_command ; $8a -newloadmap: macro - db newloadmap_command - db \1 ; which_method - endm - - enum pause_command ; $8b -pause: macro - db pause_command - db \1 ; length - endm - - enum deactivatefacing_command ; $8c -deactivatefacing: macro - db deactivatefacing_command - db \1 ; time - endm - - enum priorityjump_command ; $8d -priorityjump: macro - db priorityjump_command - dw \1 ; pointer - endm - - enum warpcheck_command ; $8e -warpcheck: macro - db warpcheck_command - endm - - enum ptpriorityjump_command ; $8f -ptpriorityjump: macro - db ptpriorityjump_command - dw \1 ; pointer - endm - - enum return_command ; $90 -return: macro - db return_command - endm - - enum end_command ; $91 -end: macro - db end_command - endm - - enum reloadandreturn_command ; $92 -reloadandreturn: macro - db reloadandreturn_command - db \1 ; which_method - endm - - enum end_all_command ; $93 -end_all: macro - db end_all_command - endm - - enum pokemart_command ; $94 -pokemart: macro - db pokemart_command - db \1 ; dialog_id - dw \2 ; mart_id - endm - - enum elevator_command ; $95 -elevator: macro - db elevator_command - dw \1 ; floor_list_pointer - endm - - enum trade_command ; $96 -trade: macro - db trade_command - db \1 ; trade_id - endm - - enum askforphonenumber_command ; $97 -askforphonenumber: macro - db askforphonenumber_command - db \1 ; number - endm - - enum phonecall_command ; $98 -phonecall: macro - db phonecall_command - dw \1 ; caller_name - endm - - enum hangup_command ; $99 -hangup: macro - db hangup_command - endm - - enum describedecoration_command ; $9a -describedecoration: macro - db describedecoration_command - db \1 ; byte - endm - - enum fruittree_command ; $9b -fruittree: macro - db fruittree_command - db \1 ; tree_id - endm - - enum specialphonecall_command ; $9c -specialphonecall: macro - db specialphonecall_command - dw \1 ; call_id - endm - - enum checkphonecall_command ; $9d -checkphonecall: macro - db checkphonecall_command - endm - - enum verbosegiveitem_command ; $9e -verbosegiveitem: macro - db verbosegiveitem_command - db \1 ; item -if _NARG == 2 - db \2 ; quantity -else - db 1 -endc - endm - - enum verbosegiveitem2_command ; $9f -verbosegiveitem2: macro - db verbosegiveitem2_command - db \1 ; item - db \2 ; var - endm - - enum swarm_command ; $a0 -swarm: macro - db swarm_command - db \1 ; flag - map \2 ; map - endm - - enum halloffame_command ; $a1 -halloffame: macro - db halloffame_command - endm - - enum credits_command ; $a2 -credits: macro - db credits_command - endm - - enum warpfacing_command ; $a3 -warpfacing: macro - db warpfacing_command - db \1 ; facing - map \2 ; map - db \3 ; x - db \4 ; y - endm - - enum battletowertext_command ; $a4 -battletowertext: macro - db battletowertext_command - db \1 ; memory - endm - - enum landmarktotext_command ; $a5 -landmarktotext: macro - db landmarktotext_command - db \1 ; id - db \2 ; memory - endm - - enum trainerclassname_command ; $a6 -trainerclassname: macro - db trainerclassname_command - db \1 ; id - db \2 ; memory - endm - - enum name_command ; $a7 -name: macro - db name_command - db \1 ; type - db \2 ; id - db \3 ; memory - endm - - enum wait_command ; $a8 -wait: macro - db wait_command - db \1 ; duration - endm - - enum check_save_command ; $a9 -check_save: macro - db check_save_command - endm diff --git a/macros/scripts/events.asm b/macros/scripts/events.asm new file mode 100644 index 000000000..1bf6b8622 --- /dev/null +++ b/macros/scripts/events.asm @@ -0,0 +1,1069 @@ +; ScriptCommandTable indexes (see engine/scripting.asm) + enum_start + + enum scall_command ; $00 +scall: macro + db scall_command + dw \1 ; pointer + endm + + enum farscall_command ; $01 +farscall: macro + db farscall_command + dba \1 + endm + + enum ptcall_command ; $02 +ptcall: macro + db ptcall_command + dw \1 ; pointer + endm + + enum jump_command ; $03 +jump: macro + db jump_command + dw \1 ; pointer + endm + + enum farjump_command ; $04 +farjump: macro + db farjump_command + dba \1 + endm + + enum ptjump_command ; $05 +ptjump: macro + db ptjump_command + dw \1 ; pointer + endm + + enum if_equal_command ; $06 +if_equal: macro + db if_equal_command + db \1 ; byte + dw \2 ; pointer + endm + + enum if_not_equal_command ; $07 +if_not_equal: macro + db if_not_equal_command + db \1 ; byte + dw \2 ; pointer + endm + + enum iffalse_command ; $08 +iffalse: macro + db iffalse_command + dw \1 ; pointer + endm + + enum iftrue_command ; $09 +iftrue: macro + db iftrue_command + dw \1 ; pointer + endm + + enum if_greater_than_command ; $0a +if_greater_than: macro + db if_greater_than_command + db \1 ; byte + dw \2 ; pointer + endm + + enum if_less_than_command ; $0b +if_less_than: macro + db if_less_than_command + db \1 ; byte + dw \2 ; pointer + endm + + enum jumpstd_command ; $0c +jumpstd: macro + db jumpstd_command + dw \1 ; predefined_script + endm + + enum callstd_command ; $0d +callstd: macro + db callstd_command + dw \1 ; predefined_script + endm + + enum callasm_command ; $0e +callasm: macro + db callasm_command + dba \1 + endm + + enum special_command ; $0f +special: macro + db special_command + dw (\1Special - SpecialsPointers) / 3 + endm + +add_special: MACRO +\1Special:: + dba \1 +ENDM + + enum ptcallasm_command ; $10 +ptcallasm: macro + db ptcallasm_command + dw \1 ; asm + endm + + enum checkmapscene_command ; $11 +checkmapscene: macro + db checkmapscene_command + map \1 ; map + endm + + enum setmapscene_command ; $12 +setmapscene: macro + db setmapscene_command + map \1 ; map + db \2 ; scene_id + endm + + enum checkscene_command ; $13 +checkscene: macro + db checkscene_command + endm + + enum setscene_command ; $14 +setscene: macro + db setscene_command + db \1 ; scene_id + endm + + enum writebyte_command ; $15 +writebyte: macro + db writebyte_command + db \1 ; value + endm + + enum addvar_command ; $16 +addvar: macro + db addvar_command + db \1 ; value + endm + + enum random_command ; $17 +random: macro + db random_command + db \1 ; input + endm + + enum checkver_command ; $18 +checkver: macro + db checkver_command + endm + + enum copybytetovar_command ; $19 +copybytetovar: macro + db copybytetovar_command + dw \1 ; address + endm + + enum copyvartobyte_command ; $1a +copyvartobyte: macro + db copyvartobyte_command + dw \1 ; address + endm + + enum loadvar_command ; $1b +loadvar: macro + db loadvar_command + dw \1 ; address + db \2 ; value + endm + + enum checkcode_command ; $1c +checkcode: macro + db checkcode_command + db \1 ; variable_id + endm + + enum writevarcode_command ; $1d +writevarcode: macro + db writevarcode_command + db \1 ; variable_id + endm + + enum writecode_command ; $1e +writecode: macro + db writecode_command + db \1 ; variable_id + db \2 ; value + endm + + enum giveitem_command ; $1f +giveitem: macro + db giveitem_command + db \1 ; item +if _NARG == 2 + db \2 ; quantity +else + db 1 +endc + endm + + enum takeitem_command ; $20 +takeitem: macro + db takeitem_command + db \1 ; item +if _NARG == 2 + db \2 ; quantity +else + db 1 +endc + endm + + enum checkitem_command ; $21 +checkitem: macro + db checkitem_command + db \1 ; item + endm + + enum givemoney_command ; $22 +givemoney: macro + db givemoney_command + db \1 ; account + dt \2 ; money + endm + + enum takemoney_command ; $23 +takemoney: macro + db takemoney_command + db \1 ; account + dt \2 ; money + endm + + enum checkmoney_command ; $24 +checkmoney: macro + db checkmoney_command + db \1 ; account + dt \2 ; money + endm + + enum givecoins_command ; $25 +givecoins: macro + db givecoins_command + dw \1 ; coins + endm + + enum takecoins_command ; $26 +takecoins: macro + db takecoins_command + dw \1 ; coins + endm + + enum checkcoins_command ; $27 +checkcoins: macro + db checkcoins_command + dw \1 ; coins + endm + + enum addcellnum_command ; $28 +addcellnum: macro + db addcellnum_command + db \1 ; person + endm + + enum delcellnum_command ; $29 +delcellnum: macro + db delcellnum_command + db \1 ; person + endm + + enum checkcellnum_command ; $2a +checkcellnum: macro + db checkcellnum_command + db \1 ; person + endm + + enum checktime_command ; $2b +checktime: macro + db checktime_command + db \1 ; time + endm + +checkmorn EQUS "checktime MORN" +checkday EQUS "checktime DAY" +checknite EQUS "checktime NITE" + + enum checkpoke_command ; $2c +checkpoke: macro + db checkpoke_command + db \1 ; pkmn + endm + + enum givepoke_command ; $2d +givepoke: macro + db givepoke_command + db \1 ; pokemon + db \2 ; level + if _NARG >= 3 + db \3 ; item + if _NARG >= 4 + db \4 ; trainer + if \4 + dw \5 ; trainer_name_pointer + dw \6 ; pkmn_nickname + endc + else + db 0 + endc + else + db 0, 0 + endc + endm + + enum giveegg_command ; $2e +giveegg: macro + db giveegg_command + db \1 ; pkmn + db \2 ; level + endm + + enum givepokeitem_command ; $2f +givepokeitem: macro + db givepokeitem_command + dw \1 ; pointer + endm + + enum checkpokeitem_command ; $30 +checkpokeitem: macro + db checkpokeitem_command + dw \1 ; pointer + endm + + enum checkevent_command ; $31 +checkevent: macro + db checkevent_command + dw \1 ; event_flag + endm + + enum clearevent_command ; $32 +clearevent: macro + db clearevent_command + dw \1 ; event_flag + endm + + enum setevent_command ; $33 +setevent: macro + db setevent_command + dw \1 ; event_flag + endm + + enum checkflag_command ; $34 +checkflag: macro + db checkflag_command + dw \1 ; engine_flag + endm + + enum clearflag_command ; $35 +clearflag: macro + db clearflag_command + dw \1 ; engine_flag + endm + + enum setflag_command ; $36 +setflag: macro + db setflag_command + dw \1 ; engine_flag + endm + + enum wildon_command ; $37 +wildon: macro + db wildon_command + endm + + enum wildoff_command ; $38 +wildoff: macro + db wildoff_command + endm + + enum xycompare_command ; $39 +xycompare: macro + db xycompare_command + dw \1 ; pointer + endm + + enum warpmod_command ; $3a +warpmod: macro + db warpmod_command + db \1 ; warp_id + map \2 ; map + endm + + enum blackoutmod_command ; $3b +blackoutmod: macro + db blackoutmod_command + map \1 ; map + endm + + enum warp_command ; $3c +warp: macro + db warp_command + map \1 ; map + db \2 ; x + db \3 ; y + endm + + enum readmoney_command ; $3d +readmoney: macro + db readmoney_command + db \1 ; account + db \2 ; memory + endm + + enum readcoins_command ; $3e +readcoins: macro + db readcoins_command + db \1 ; memory + endm + + enum RAM2MEM_command ; $3f +RAM2MEM: macro + db RAM2MEM_command + db \1 ; memory + endm + + enum pokenamemem_command ; $40 +pokenamemem: macro + db pokenamemem_command + db \1 ; pokemon + db \2 ; memory + endm + + enum itemtotext_command ; $41 +itemtotext: macro + db itemtotext_command + db \1 ; item + db \2 ; memory + endm + + enum mapnametotext_command ; $42 +mapnametotext: macro + db mapnametotext_command + db \1 ; memory + endm + + enum trainertotext_command ; $43 +trainertotext: macro + db trainertotext_command + db \1 ; trainer_id + db \2 ; trainer_group + db \3 ; memory + endm + + enum stringtotext_command ; $44 +stringtotext: macro + db stringtotext_command + dw \1 ; text_pointer + db \2 ; memory + endm + + enum itemnotify_command ; $45 +itemnotify: macro + db itemnotify_command + endm + + enum pocketisfull_command ; $46 +pocketisfull: macro + db pocketisfull_command + endm + + enum opentext_command ; $47 +opentext: macro + db opentext_command + endm + + enum refreshscreen_command ; $48 +refreshscreen: macro + db refreshscreen_command + db \1 ; dummy + endm + + enum closetext_command ; $49 +closetext: macro + db closetext_command + endm + + enum loadbytec2cf_command ; $4a +loadbytec2cf: macro + db loadbytec2cf_command + db \1 ; byte + endm + + enum farwritetext_command ; $4b +farwritetext: macro + db farwritetext_command + dba \1 + endm + + enum writetext_command ; $4c +writetext: macro + db writetext_command + dw \1 ; text_pointer + endm + + enum repeattext_command ; $4d +repeattext: macro + db repeattext_command + db \1 ; byte + db \2 ; byte + endm + + enum yesorno_command ; $4e +yesorno: macro + db yesorno_command + endm + + enum loadmenudata_command ; $4f +loadmenudata: macro + db loadmenudata_command + dw \1 ; data + endm + + enum closewindow_command ; $50 +closewindow: macro + db closewindow_command + endm + + enum jumptextfaceplayer_command ; $51 +jumptextfaceplayer: macro + db jumptextfaceplayer_command + dw \1 ; text_pointer + endm + +; IF _CRYSTAL + enum farjumptext_command ; $52 +farjumptext: macro + db farjumptext_command + dba \1 + endm +; ENDC + + enum jumptext_command ; $53 +jumptext: macro + db jumptext_command + dw \1 ; text_pointer + endm + + enum waitbutton_command ; $54 +waitbutton: macro + db waitbutton_command + endm + + enum buttonsound_command ; $55 +buttonsound: macro + db buttonsound_command + endm + + enum pokepic_command ; $56 +pokepic: macro + db pokepic_command + db \1 ; pokemon + endm + + enum closepokepic_command ; $57 +closepokepic: macro + db closepokepic_command + endm + + enum _2dmenu_command ; $58 +_2dmenu: macro + db _2dmenu_command + endm + + enum verticalmenu_command ; $59 +verticalmenu: macro + db verticalmenu_command + endm + + enum loadpikachudata_command ; $5a +loadpikachudata: macro + db loadpikachudata_command + endm + + enum randomwildmon_command ; $5b +randomwildmon: macro + db randomwildmon_command + endm + + enum loadmemtrainer_command ; $5c +loadmemtrainer: macro + db loadmemtrainer_command + endm + + enum loadwildmon_command ; $5d +loadwildmon: macro + db loadwildmon_command + db \1 ; pokemon + db \2 ; level + endm + + enum loadtrainer_command ; $5e +loadtrainer: macro + db loadtrainer_command + db \1 ; trainer_group + db \2 ; trainer_id + endm + + enum startbattle_command ; $5f +startbattle: macro + db startbattle_command + endm + + enum reloadmapafterbattle_command ; $60 +reloadmapafterbattle: macro + db reloadmapafterbattle_command + endm + + enum catchtutorial_command ; $61 +catchtutorial: macro + db catchtutorial_command + db \1 ; byte + endm + + enum trainertext_command ; $62 +trainertext: macro + db trainertext_command + db \1 ; which_text + endm + + enum trainerflagaction_command ; $63 +trainerflagaction: macro + db trainerflagaction_command + db \1 ; action + endm + + enum winlosstext_command ; $64 +winlosstext: macro + db winlosstext_command + dw \1 ; win_text_pointer + dw \2 ; loss_text_pointer + endm + + enum scripttalkafter_command ; $65 +scripttalkafter: macro + db scripttalkafter_command + endm + + enum end_if_just_battled_command ; $66 +end_if_just_battled: macro + db end_if_just_battled_command + endm + + enum check_just_battled_command ; $67 +check_just_battled: macro + db check_just_battled_command + endm + + enum setlasttalked_command ; $68 +setlasttalked: macro + db setlasttalked_command + db \1 ; object id + endm + + enum applymovement_command ; $69 +applymovement: macro + db applymovement_command + db \1 ; object id + dw \2 ; data + endm + + enum applymovement2_command ; $6a +applymovement2: macro + db applymovement2_command + dw \1 ; data + endm + + enum faceplayer_command ; $6b +faceplayer: macro + db faceplayer_command + endm + + enum faceobject_command ; $6c +faceobject: macro + db faceobject_command + db \1 ; object1 + db \2 ; object2 + endm + + enum variablesprite_command ; $6d +variablesprite: macro + db variablesprite_command + db \1 - SPRITE_VARS ; byte + db \2 ; sprite + endm + + enum disappear_command ; $6e +disappear: macro + db disappear_command + db \1 ; object id + endm + + enum appear_command ; $6f +appear: macro + db appear_command + db \1 ; object id + endm + + enum follow_command ; $70 +follow: macro + db follow_command + db \1 ; object2 + db \2 ; object1 + endm + + enum stopfollow_command ; $71 +stopfollow: macro + db stopfollow_command + endm + + enum moveobject_command ; $72 +moveobject: macro + db moveobject_command + db \1 ; object id + db \2 ; x + db \3 ; y + endm + + enum writeobjectxy_command ; $73 +writeobjectxy: macro + db writeobjectxy_command + db \1 ; object id + endm + + enum loademote_command ; $74 +loademote: macro + db loademote_command + db \1 ; bubble + endm + + enum showemote_command ; $75 +showemote: macro + db showemote_command + db \1 ; bubble + db \2 ; object id + db \3 ; time + endm + + enum spriteface_command ; $76 +spriteface: macro + db spriteface_command + db \1 ; object id + db \2 ; facing + endm + + enum follownotexact_command ; $77 +follownotexact: macro + db follownotexact_command + db \1 ; object2 + db \2 ; object1 + endm + + enum earthquake_command ; $78 +earthquake: macro + db earthquake_command + db \1 ; param + endm + + enum changemap_command ; $79 +changemap: macro + db changemap_command + db \1 ; map_bank + dw \2 ; map_data_pointer + endm + + enum changeblock_command ; $7a +changeblock: macro + db changeblock_command + db \1 ; x + db \2 ; y + db \3 ; block + endm + + enum reloadmap_command ; $7b +reloadmap: macro + db reloadmap_command + endm + + enum reloadmappart_command ; $7c +reloadmappart: macro + db reloadmappart_command + endm + + enum writecmdqueue_command ; $7d +writecmdqueue: macro + db writecmdqueue_command + dw \1 ; queue_pointer + endm + + enum delcmdqueue_command ; $7e +delcmdqueue: macro + db delcmdqueue_command + db \1 ; byte + endm + + enum playmusic_command ; $7f +playmusic: macro + db playmusic_command + dw \1 ; music_pointer + endm + + enum encountermusic_command ; $80 +encountermusic: macro + db encountermusic_command + endm + + enum musicfadeout_command ; $81 +musicfadeout: macro + db musicfadeout_command + dw \1 ; music + db \2 ; fadetime + endm + + enum playmapmusic_command ; $82 +playmapmusic: macro + db playmapmusic_command + endm + + enum dontrestartmapmusic_command ; $83 +dontrestartmapmusic: macro + db dontrestartmapmusic_command + endm + + enum cry_command ; $84 +cry: macro + db cry_command + dw \1 ; cry_id + endm + + enum playsound_command ; $85 +playsound: macro + db playsound_command + dw \1 ; sound_pointer + endm + + enum waitsfx_command ; $86 +waitsfx: macro + db waitsfx_command + endm + + enum warpsound_command ; $87 +warpsound: macro + db warpsound_command + endm + + enum specialsound_command ; $88 +specialsound: macro + db specialsound_command + endm + + enum passtoengine_command ; $89 +passtoengine: macro + db passtoengine_command + db \1 ; data_pointer + endm + + enum newloadmap_command ; $8a +newloadmap: macro + db newloadmap_command + db \1 ; which_method + endm + + enum pause_command ; $8b +pause: macro + db pause_command + db \1 ; length + endm + + enum deactivatefacing_command ; $8c +deactivatefacing: macro + db deactivatefacing_command + db \1 ; time + endm + + enum priorityjump_command ; $8d +priorityjump: macro + db priorityjump_command + dw \1 ; pointer + endm + + enum warpcheck_command ; $8e +warpcheck: macro + db warpcheck_command + endm + + enum ptpriorityjump_command ; $8f +ptpriorityjump: macro + db ptpriorityjump_command + dw \1 ; pointer + endm + + enum return_command ; $90 +return: macro + db return_command + endm + + enum end_command ; $91 +end: macro + db end_command + endm + + enum reloadandreturn_command ; $92 +reloadandreturn: macro + db reloadandreturn_command + db \1 ; which_method + endm + + enum end_all_command ; $93 +end_all: macro + db end_all_command + endm + + enum pokemart_command ; $94 +pokemart: macro + db pokemart_command + db \1 ; dialog_id + dw \2 ; mart_id + endm + + enum elevator_command ; $95 +elevator: macro + db elevator_command + dw \1 ; floor_list_pointer + endm + + enum trade_command ; $96 +trade: macro + db trade_command + db \1 ; trade_id + endm + + enum askforphonenumber_command ; $97 +askforphonenumber: macro + db askforphonenumber_command + db \1 ; number + endm + + enum phonecall_command ; $98 +phonecall: macro + db phonecall_command + dw \1 ; caller_name + endm + + enum hangup_command ; $99 +hangup: macro + db hangup_command + endm + + enum describedecoration_command ; $9a +describedecoration: macro + db describedecoration_command + db \1 ; byte + endm + + enum fruittree_command ; $9b +fruittree: macro + db fruittree_command + db \1 ; tree_id + endm + + enum specialphonecall_command ; $9c +specialphonecall: macro + db specialphonecall_command + dw \1 ; call_id + endm + + enum checkphonecall_command ; $9d +checkphonecall: macro + db checkphonecall_command + endm + + enum verbosegiveitem_command ; $9e +verbosegiveitem: macro + db verbosegiveitem_command + db \1 ; item +if _NARG == 2 + db \2 ; quantity +else + db 1 +endc + endm + + enum verbosegiveitem2_command ; $9f +verbosegiveitem2: macro + db verbosegiveitem2_command + db \1 ; item + db \2 ; var + endm + + enum swarm_command ; $a0 +swarm: macro + db swarm_command + db \1 ; flag + map \2 ; map + endm + + enum halloffame_command ; $a1 +halloffame: macro + db halloffame_command + endm + + enum credits_command ; $a2 +credits: macro + db credits_command + endm + + enum warpfacing_command ; $a3 +warpfacing: macro + db warpfacing_command + db \1 ; facing + map \2 ; map + db \3 ; x + db \4 ; y + endm + + enum battletowertext_command ; $a4 +battletowertext: macro + db battletowertext_command + db \1 ; memory + endm + + enum landmarktotext_command ; $a5 +landmarktotext: macro + db landmarktotext_command + db \1 ; id + db \2 ; memory + endm + + enum trainerclassname_command ; $a6 +trainerclassname: macro + db trainerclassname_command + db \1 ; id + db \2 ; memory + endm + + enum name_command ; $a7 +name: macro + db name_command + db \1 ; type + db \2 ; id + db \3 ; memory + endm + + enum wait_command ; $a8 +wait: macro + db wait_command + db \1 ; duration + endm + + enum check_save_command ; $a9 +check_save: macro + db check_save_command + endm diff --git a/macros/scripts/gfx_anim.asm b/macros/scripts/gfx_anim.asm deleted file mode 100644 index a3fa710a0..000000000 --- a/macros/scripts/gfx_anim.asm +++ /dev/null @@ -1,44 +0,0 @@ -; pic + oam animations - -frame: macro - db \1 -x = \2 -if _NARG > 2 -rept _NARG +- 2 -x = x | (1 << (\3 + 1)) - shift -endr -endc - db x - endm - - enum_start $fc - - enum delanim_command ; $fc -delanim: macro ; used for oam - db delanim_command - endm - - enum dorepeat_command ; $fd -dorepeat: macro - db dorepeat_command - db \1 ; # - endm - - enum setrepeat_command ; $fe -setrepeat: macro - db setrepeat_command - db \1 ; # - endm - - enum endanim_command ; $ff -endanim: macro - db endanim_command - endm - -__enum__ = $fe - - enum dorestart_command ; $fe -dorestart: macro ; used for oam - db dorestart_command - endm diff --git a/macros/scripts/gfx_anims.asm b/macros/scripts/gfx_anims.asm new file mode 100644 index 000000000..a3fa710a0 --- /dev/null +++ b/macros/scripts/gfx_anims.asm @@ -0,0 +1,44 @@ +; pic + oam animations + +frame: macro + db \1 +x = \2 +if _NARG > 2 +rept _NARG +- 2 +x = x | (1 << (\3 + 1)) + shift +endr +endc + db x + endm + + enum_start $fc + + enum delanim_command ; $fc +delanim: macro ; used for oam + db delanim_command + endm + + enum dorepeat_command ; $fd +dorepeat: macro + db dorepeat_command + db \1 ; # + endm + + enum setrepeat_command ; $fe +setrepeat: macro + db setrepeat_command + db \1 ; # + endm + + enum endanim_command ; $ff +endanim: macro + db endanim_command + endm + +__enum__ = $fe + + enum dorestart_command ; $fe +dorestart: macro ; used for oam + db dorestart_command + endm diff --git a/macros/scripts/move_anim.asm b/macros/scripts/move_anim.asm deleted file mode 100644 index a058e41fa..000000000 --- a/macros/scripts/move_anim.asm +++ /dev/null @@ -1,294 +0,0 @@ -anim_wait: macro -if \1 >= $d0 - flip out -endc - db \1 - endm - -; BattleAnimCommands indexes (see engine/anims/anim_commands.asm) - enum_start $d0 - - enum anim_obj_command ; $d0 -anim_obj: macro - db anim_obj_command - db \1 ; obj - db (\2 << 3) + \3 ; x - db (\4 << 3) + \5 ; y - db \6 ; param - endm - - enum anim_1gfx_command ; $d1 -anim_1gfx: macro - db anim_1gfx_command - db \1 ; gfx1 - endm - - enum anim_2gfx_command ; $d2 -anim_2gfx: macro - db anim_2gfx_command - db \1 ; gfx1 - db \2 ; gfx2 - endm - - enum anim_3gfx_command ; $d3 -anim_3gfx: macro - db anim_3gfx_command - db \1 ; gfx1 - db \2 ; gfx2 - db \3 ; gfx3 - endm - - enum anim_4gfx_command ; $d4 -anim_4gfx: macro - db anim_4gfx_command - db \1 ; gfx1 - db \2 ; gfx2 - db \3 ; gfx3 - db \4 ; gfx4 - endm - - enum anim_5gfx_command ; $d5 -anim_5gfx: macro - db anim_5gfx_command - db \1 ; gfx1 - db \2 ; gfx2 - db \3 ; gfx3 - db \4 ; gfx4 - db \5 ; gfx5 - endm - - enum anim_incobj_command ; $d6 -anim_incobj: macro - db anim_incobj_command - db \1 ; id - endm - - enum anim_setobj_command ; $d7 -anim_setobj: macro - db anim_setobj_command - db \1 ; id - db \2 ; obj - endm - - enum anim_incbgeffect_command ; $d8 -anim_incbgeffect: macro - db anim_incbgeffect_command - db \1 ; effect - endm - - enum anim_enemyfeetobj_command ; $d9 -anim_enemyfeetobj: macro - db anim_enemyfeetobj_command - endm - - enum anim_playerheadobj_command ; $da -anim_playerheadobj: macro - db anim_playerheadobj_command - endm - - enum anim_checkpokeball_command ; $db -anim_checkpokeball: macro - db anim_checkpokeball_command - endm - - enum anim_transform_command ; $dc -anim_transform: macro - db anim_transform_command - endm - - enum anim_raisesub_command ; $dd -anim_raisesub: macro - db anim_raisesub_command - endm - - enum anim_dropsub_command ; $de -anim_dropsub: macro - db anim_dropsub_command - endm - - enum anim_resetobp0_command ; $df -anim_resetobp0: macro - db anim_resetobp0_command - endm - - enum anim_sound_command ; $e0 -anim_sound: macro - db anim_sound_command - db (\1 << 2) | \2 ; duration, tracks - db \3 ; id - endm - - enum anim_cry_command ; $e1 -anim_cry: macro - db anim_cry_command - db \1 ; pitch - endm - - enum anim_minimizeopp_command ; $e2 -anim_minimizeopp: macro - db anim_minimizeopp_command - endm - - enum anim_oamon_command ; $e3 -anim_oamon: macro - db anim_oamon_command - endm - - enum anim_oamoff_command ; $e4 -anim_oamoff: macro - db anim_oamoff_command - endm - - enum anim_clearobjs_command ; $e5 -anim_clearobjs: macro - db anim_clearobjs_command - endm - - enum anim_beatup_command ; $e6 -anim_beatup: macro - db anim_beatup_command - endm - - enum anim_0xe7_command ; $e7 -anim_0xe7: macro - db anim_0xe7_command - endm - - enum anim_updateactorpic_command ; $e8 -anim_updateactorpic: macro - db anim_updateactorpic_command - endm - - enum anim_minimize_command ; $e9 -anim_minimize: macro - db anim_minimize_command - endm - - enum anim_0xea_command ; $ea -anim_0xea: macro - db anim_0xea_command - endm - - enum anim_0xeb_command ; $eb -anim_0xeb: macro - db anim_0xeb_command - endm - - enum anim_0xec_command ; $ec -anim_0xec: macro - db anim_0xec_command - endm - - enum anim_0xed_command ; $ed -anim_0xed: macro - db anim_0xed_command - endm - - enum anim_if_param_and_command ; $ee -anim_if_param_and: macro - db anim_if_param_and_command - db \1 ; value - dw \2 ; address - endm - - enum anim_jumpuntil_command ; $ef -anim_jumpuntil: macro - db anim_jumpuntil_command - dw \1 ; address - endm - - enum anim_bgeffect_command ; $f0 -anim_bgeffect: macro - db anim_bgeffect_command - db \1 ; effect - db \2 ; unknown - db \3 ; unknown - db \4 ; unknown - endm - - enum anim_bgp_command ; $f1 -anim_bgp: macro - db anim_bgp_command - db \1 ; colors - endm - - enum anim_obp0_command ; $f2 -anim_obp0: macro - db anim_obp0_command - db \1 ; colors - endm - - enum anim_obp1_command ; $f3 -anim_obp1: macro - db anim_obp1_command - db \1 ; colors - endm - - enum anim_clearsprites_command ; $f4 -anim_clearsprites: macro - db anim_clearsprites_command - endm - - enum anim_0xf5_command ; $f5 -anim_0xf5: macro - db anim_0xf5_command - endm - - enum anim_0xf6_command ; $f6 -anim_0xf6: macro - db anim_0xf6_command - endm - - enum anim_0xf7_command ; $f7 -anim_0xf7: macro - db anim_0xf7_command - endm - - enum anim_if_param_equal_command ; $f8 -anim_if_param_equal: macro - db anim_if_param_equal_command - db \1 ; value - dw \2 ; address - endm - - enum anim_setvar_command ; $f9 -anim_setvar: macro - db anim_setvar_command - db \1 ; value - endm - - enum anim_incvar_command ; $fa -anim_incvar: macro - db anim_incvar_command - endm - - enum anim_if_var_equal_command ; $fb -anim_if_var_equal: macro - db anim_if_var_equal_command - db \1 ; value - dw \2 ; address - endm - - enum anim_jump_command ; $fc -anim_jump: macro - db anim_jump_command - dw \1 ; address - endm - - enum anim_loop_command ; $fd -anim_loop: macro - db anim_loop_command - db \1 ; count - dw \2 ; address - endm - - enum anim_call_command ; $fe -anim_call: macro - db anim_call_command - dw \1 ; address - endm - - enum anim_ret_command ; $ff -anim_ret: macro - db anim_ret_command - endm diff --git a/macros/scripts/trade_anim.asm b/macros/scripts/trade_anim.asm deleted file mode 100644 index 4b0291eea..000000000 --- a/macros/scripts/trade_anim.asm +++ /dev/null @@ -1,255 +0,0 @@ -; DoTradeAnimation.JumpTable indexes (see engine/trade/animation.asm) - enum_start - - 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__ set $5 - - 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__ set $0e - - enum tradeanim_tube_to_player_command ; $0e -tradeanim_tube_to_player: macro - db tradeanim_tube_to_player_command -endm - -__enum__ set $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__ set $21 - - enum tradeanim_wait_80_command ; $21 -tradeanim_wait_80: macro - db tradeanim_wait_80_command -endm - - enum tradeanim_wait_40_command ; $22 -tradeanim_wait_40: macro - db tradeanim_wait_40_command -endm - - enum tradeanim_rocking_ball_command ; $23 -tradeanim_rocking_ball: macro - db tradeanim_rocking_ball_command -endm - - enum tradeanim_drop_ball_command ; $24 -tradeanim_drop_ball: macro - db tradeanim_drop_ball_command -endm - - enum tradeanim_wait_anim_command ; $25 -tradeanim_wait_anim: macro - db tradeanim_wait_anim_command -endm - -__enum__ set $27 - - enum tradeanim_poof_command ; $27 -tradeanim_poof: macro - db tradeanim_poof_command -endm - - enum tradeanim_bulge_through_tube_command ; $28 -tradeanim_bulge_through_tube: macro - db tradeanim_bulge_through_tube_command -endm - - enum tradeanim_give_trademon_sfx_command ; $29 -tradeanim_give_trademon_sfx: macro - db tradeanim_give_trademon_sfx_command -endm - - enum tradeanim_get_trademon_sfx_command ; $2a -tradeanim_get_trademon_sfx: macro - db tradeanim_get_trademon_sfx_command -endm - - enum tradeanim_end_command ; $2b -tradeanim_end: macro - db tradeanim_end_command -endm - - enum tradeanim_animate_frontpic_command ; $2c -tradeanim_animate_frontpic: macro - db tradeanim_animate_frontpic_command -endm - - enum tradeanim_wait_96_command ; $2d -tradeanim_wait_96: macro - db tradeanim_wait_96_command -endm - - enum tradeanim_wait_80_if_ot_egg_command ; $2e -tradeanim_wait_80_if_ot_egg: macro - db tradeanim_wait_80_if_ot_egg_command -endm - - enum tradeanim_wait_180_if_ot_egg_command ; $2f -tradeanim_wait_180_if_ot_egg: macro - db tradeanim_wait_180_if_ot_egg_command -endm - - -; Mobile - enum_start $01 - - enum mobiletradeanim_showgivemon_command ; $01 -mobiletradeanim_showgivemon: macro - db mobiletradeanim_showgivemon_command -endm - - enum mobiletradeanim_02_command ; $02 -mobiletradeanim_02: macro - db mobiletradeanim_02_command -endm - - enum mobiletradeanim_sendmon_command ; $03 -mobiletradeanim_sendmon: macro - db mobiletradeanim_sendmon_command -endm - -__enum__ set $05 - - enum mobiletradeanim_05_command ; $05 -mobiletradeanim_05: macro - db mobiletradeanim_05_command -endm - - enum mobiletradeanim_06_command ; $06 -mobiletradeanim_06: macro - db mobiletradeanim_06_command -endm - - enum mobiletradeanim_07_command ; $07 -mobiletradeanim_07: macro - db mobiletradeanim_07_command -endm - - enum mobiletradeanim_receivemon_command ; $08 -mobiletradeanim_receivemon: macro - db mobiletradeanim_receivemon_command -endm - -__enum__ set $0b - - enum mobiletradeanim_showgetmon_command ; $0b -mobiletradeanim_showgetmon: macro - db mobiletradeanim_showgetmon_command -endm - - enum mobiletradeanim_end_command ; $0c -mobiletradeanim_end: macro - db mobiletradeanim_end_command -endm - - enum mobiletradeanim_showgtsgivemon_command ; $0d -mobiletradeanim_showgtsgivemon: macro - db mobiletradeanim_showgtsgivemon_command -endm - - enum mobiletradeanim_showgtsgetmon_command ; $0e -mobiletradeanim_showgtsgetmon: macro - db mobiletradeanim_showgtsgetmon_command -endm - - enum mobiletradeanim_0f_command ; $0f -mobiletradeanim_0f: macro - db mobiletradeanim_0f_command -endm - - enum mobiletradeanim_10_command ; $10 -mobiletradeanim_10: macro - db mobiletradeanim_10_command -endm - - enum mobiletradeanim_11_command ; $11 -mobiletradeanim_11: macro - db mobiletradeanim_11_command -endm - - enum mobiletradeanim_12_command ; $12 -mobiletradeanim_12: macro - db mobiletradeanim_12_command -endm - - enum mobiletradeanim_showoddegg_command ; $13 -mobiletradeanim_showoddegg: macro - db mobiletradeanim_showoddegg_command -endm diff --git a/macros/scripts/trade_anims.asm b/macros/scripts/trade_anims.asm new file mode 100644 index 000000000..4b0291eea --- /dev/null +++ b/macros/scripts/trade_anims.asm @@ -0,0 +1,255 @@ +; DoTradeAnimation.JumpTable indexes (see engine/trade/animation.asm) + enum_start + + 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__ set $5 + + 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__ set $0e + + enum tradeanim_tube_to_player_command ; $0e +tradeanim_tube_to_player: macro + db tradeanim_tube_to_player_command +endm + +__enum__ set $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__ set $21 + + enum tradeanim_wait_80_command ; $21 +tradeanim_wait_80: macro + db tradeanim_wait_80_command +endm + + enum tradeanim_wait_40_command ; $22 +tradeanim_wait_40: macro + db tradeanim_wait_40_command +endm + + enum tradeanim_rocking_ball_command ; $23 +tradeanim_rocking_ball: macro + db tradeanim_rocking_ball_command +endm + + enum tradeanim_drop_ball_command ; $24 +tradeanim_drop_ball: macro + db tradeanim_drop_ball_command +endm + + enum tradeanim_wait_anim_command ; $25 +tradeanim_wait_anim: macro + db tradeanim_wait_anim_command +endm + +__enum__ set $27 + + enum tradeanim_poof_command ; $27 +tradeanim_poof: macro + db tradeanim_poof_command +endm + + enum tradeanim_bulge_through_tube_command ; $28 +tradeanim_bulge_through_tube: macro + db tradeanim_bulge_through_tube_command +endm + + enum tradeanim_give_trademon_sfx_command ; $29 +tradeanim_give_trademon_sfx: macro + db tradeanim_give_trademon_sfx_command +endm + + enum tradeanim_get_trademon_sfx_command ; $2a +tradeanim_get_trademon_sfx: macro + db tradeanim_get_trademon_sfx_command +endm + + enum tradeanim_end_command ; $2b +tradeanim_end: macro + db tradeanim_end_command +endm + + enum tradeanim_animate_frontpic_command ; $2c +tradeanim_animate_frontpic: macro + db tradeanim_animate_frontpic_command +endm + + enum tradeanim_wait_96_command ; $2d +tradeanim_wait_96: macro + db tradeanim_wait_96_command +endm + + enum tradeanim_wait_80_if_ot_egg_command ; $2e +tradeanim_wait_80_if_ot_egg: macro + db tradeanim_wait_80_if_ot_egg_command +endm + + enum tradeanim_wait_180_if_ot_egg_command ; $2f +tradeanim_wait_180_if_ot_egg: macro + db tradeanim_wait_180_if_ot_egg_command +endm + + +; Mobile + enum_start $01 + + enum mobiletradeanim_showgivemon_command ; $01 +mobiletradeanim_showgivemon: macro + db mobiletradeanim_showgivemon_command +endm + + enum mobiletradeanim_02_command ; $02 +mobiletradeanim_02: macro + db mobiletradeanim_02_command +endm + + enum mobiletradeanim_sendmon_command ; $03 +mobiletradeanim_sendmon: macro + db mobiletradeanim_sendmon_command +endm + +__enum__ set $05 + + enum mobiletradeanim_05_command ; $05 +mobiletradeanim_05: macro + db mobiletradeanim_05_command +endm + + enum mobiletradeanim_06_command ; $06 +mobiletradeanim_06: macro + db mobiletradeanim_06_command +endm + + enum mobiletradeanim_07_command ; $07 +mobiletradeanim_07: macro + db mobiletradeanim_07_command +endm + + enum mobiletradeanim_receivemon_command ; $08 +mobiletradeanim_receivemon: macro + db mobiletradeanim_receivemon_command +endm + +__enum__ set $0b + + enum mobiletradeanim_showgetmon_command ; $0b +mobiletradeanim_showgetmon: macro + db mobiletradeanim_showgetmon_command +endm + + enum mobiletradeanim_end_command ; $0c +mobiletradeanim_end: macro + db mobiletradeanim_end_command +endm + + enum mobiletradeanim_showgtsgivemon_command ; $0d +mobiletradeanim_showgtsgivemon: macro + db mobiletradeanim_showgtsgivemon_command +endm + + enum mobiletradeanim_showgtsgetmon_command ; $0e +mobiletradeanim_showgtsgetmon: macro + db mobiletradeanim_showgtsgetmon_command +endm + + enum mobiletradeanim_0f_command ; $0f +mobiletradeanim_0f: macro + db mobiletradeanim_0f_command +endm + + enum mobiletradeanim_10_command ; $10 +mobiletradeanim_10: macro + db mobiletradeanim_10_command +endm + + enum mobiletradeanim_11_command ; $11 +mobiletradeanim_11: macro + db mobiletradeanim_11_command +endm + + enum mobiletradeanim_12_command ; $12 +mobiletradeanim_12: macro + db mobiletradeanim_12_command +endm + + enum mobiletradeanim_showoddegg_command ; $13 +mobiletradeanim_showoddegg: macro + db mobiletradeanim_showoddegg_command +endm diff --git a/main.asm b/main.asm index b64b37da7..56ff32931 100644 --- a/main.asm +++ b/main.asm @@ -40,7 +40,7 @@ INCLUDE "engine/billspctop.asm" INCLUDE "engine/routines/getbreedmonlevelgrowth.asm" INCLUDE "event/bug_contest/caught_mon.asm" INCLUDE "engine/item_effects.asm" -INCLUDE "engine/routines/getpokeballwobble.asm" +INCLUDE "engine/battle_anims/getpokeballwobble.asm" INCLUDE "engine/routines/knowsmove.asm" @@ -118,11 +118,11 @@ INCLUDE "engine/prof_oaks_pc.asm" INCLUDE "engine/decorations.asm" INCLUDE "engine/routines/leveluphappinessmod.asm" INCLUDE "data/trainers/trainer_dvs.asm" -INCLUDE "engine/routines/returntobattle_useball.asm" -INCLUDE "engine/routines/consumehelditem.asm" +INCLUDE "engine/battle/returntobattle_useball.asm" +INCLUDE "engine/battle/consumehelditem.asm" INCLUDE "data/moves/move_effects_pointers.asm" INCLUDE "data/moves/move_effects.asm" -INCLUDE "engine/routines/kurt_selectquantity_interpretjoypad.asm" +INCLUDE "event/kurt_selectquantity_interpretjoypad.asm" SECTION "bankA", ROMX @@ -246,7 +246,7 @@ INCLUDE "engine/init_hof_credits.asm" INCLUDE "mobile/get_trainer_class.asm" INCLUDE "engine/battle/sliding_intro.asm" INCLUDE "mobile/print_opp_message.asm" -INCLUDE "engine/routines/checkbattlescene.asm" +INCLUDE "engine/battle/checkbattlescene.asm" INCLUDE "engine/gbc_only.asm" INCLUDE "event/poke_seer.asm" @@ -308,7 +308,7 @@ INCLUDE "engine/debug.asm" SECTION "bank21", ROMX INCLUDE "engine/printer.asm" -INCLUDE "gfx/anims.asm" +INCLUDE "gfx/battle_anims.asm" INCLUDE "event/halloffame.asm" @@ -330,7 +330,7 @@ INCLUDE "engine/timeofdaypals.asm" INCLUDE "engine/battle/battle_transition.asm" INCLUDE "event/field_moves.asm" INCLUDE "event/magnet_train.asm" -INCLUDE "engine/routines/battlestart_copytilemapatonce.asm" +INCLUDE "engine/battle/battlestart_copytilemapatonce.asm" INCLUDE "engine/sprites.asm" INCLUDE "engine/mon_icons.asm" @@ -389,7 +389,7 @@ INCLUDE "engine/battle/trainer_scripts.asm" SECTION "bank32", ROMX -INCLUDE "engine/anims/bg_effects.asm" +INCLUDE "engine/battle_anims/bg_effects.asm" INCLUDE "data/moves/move_anims.asm" INCLUDE "event/poisonstep_pals.asm" @@ -400,14 +400,14 @@ INCBIN "gfx/credits/theend.2bpp" SECTION "Move Animations", ROMX INCLUDE "event/bug_contest/display_stats.asm" -INCLUDE "engine/anims/anim_commands.asm" -INCLUDE "engine/anims/engine.asm" -INCLUDE "data/anims/objects.asm" -INCLUDE "engine/anims/functions.asm" -INCLUDE "engine/anims/helpers.asm" -INCLUDE "data/anims/framesets.asm" -INCLUDE "data/anims/oam.asm" -INCLUDE "data/anims/object_gfx.asm" +INCLUDE "engine/battle_anims/anim_commands.asm" +INCLUDE "engine/battle_anims/engine.asm" +INCLUDE "data/battle_anims/objects.asm" +INCLUDE "engine/battle_anims/functions.asm" +INCLUDE "engine/battle_anims/helpers.asm" +INCLUDE "data/battle_anims/framesets.asm" +INCLUDE "data/battle_anims/oam.asm" +INCLUDE "data/battle_anims/object_gfx.asm" SECTION "Pic Animations 1", ROMX @@ -554,7 +554,7 @@ INCLUDE "text/phone/extra2.asm" SECTION "bank5E", ROMX -INCLUDE "engine/routines/updatebattlehuds.asm" +INCLUDE "engine/battle/updatebattlehuds.asm" SECTION "mobile_5e", ROMX diff --git a/maps/map_headers.asm b/maps/map_headers.asm index d3724aa22..9053329d7 100644 --- a/maps/map_headers.asm +++ b/maps/map_headers.asm @@ -382,7 +382,7 @@ MapGroup_Lavender: map_header Route12SuperRodHouse, TILESET_HOUSE_1, INDOOR, ROUTE_12, MUSIC_VIRIDIAN_CITY, 0, PALETTE_DAY, FISHGROUP_SHORE -MapGroup_Silver : +MapGroup_Silver: map_header Route28, TILESET_KANTO, ROUTE, ROUTE_28, MUSIC_INDIGO_PLATEAU, 0, PALETTE_AUTO, FISHGROUP_POND map_header SilverCaveOutside, TILESET_KANTO, TOWN, SILVER_CAVE, MUSIC_INDIGO_PLATEAU, 0, PALETTE_AUTO, FISHGROUP_POND map_header SilverCavePokecenter1F, TILESET_POKECENTER, INDOOR, SILVER_CAVE, MUSIC_POKEMON_CENTER, 0, PALETTE_DAY, FISHGROUP_SHORE -- cgit v1.2.3