mirror of
https://gitlab.com/xCrystal/pokecrystal-board.git
synced 2024-11-16 11:27:33 -08:00
Merge pull request #445 from roukaour/master
Rename Pokémon animation files; consistent (x, y) coords; document design flaws
This commit is contained in:
commit
b97a1acf3d
@ -13,7 +13,7 @@
|
||||
; - NewPokedexOrder (see data/pokemon/dex_order_new.asm)
|
||||
; - Pokered_MonIndices (see data/time_capsule/mon_order.asm)
|
||||
; - AnimationPointers (see gfx/pokemon/anim_pointers.asm)
|
||||
; - AnimationExtraPointers (see gfx/pokemon/extra_pointers.asm)
|
||||
; - AnimationIdlePointers (see gfx/pokemon/idle_pointers.asm)
|
||||
; - BitmasksPointers (see gfx/pokemon/bitmask_pointers.asm)
|
||||
; - FramesPointers (see gfx/pokemon/frame_pointers.asm)
|
||||
; - Footprints (see gfx/footprints.asm)
|
||||
|
@ -1,5 +1,5 @@
|
||||
spawn: MACRO
|
||||
; map, y, x
|
||||
; map, x, y
|
||||
map \1
|
||||
db \2, \3
|
||||
ENDM
|
||||
|
@ -1,11 +1,14 @@
|
||||
# Bugs and Glitches
|
||||
|
||||
These are known bugs and glitches in the original Pokémon Crystal game: code that clearly does not work as intended, or that only works in limited circumstances but has the possibility to fail or crash.
|
||||
|
||||
|
||||
## Contents
|
||||
|
||||
- [Thick Club and Light Ball can decrease damage done with boosted (Special) Attack](#thick-club-and-light-ball-can-decrease-damage-done-with-boosted-special-attack)
|
||||
- [Metal Powder can increase damage taken with boosted (Special) Defense](#metal-powder-can-increase-damage-taken-with-boosted-special-defense)
|
||||
- [Belly Drum sharply boosts Attack even with under 50% HP](#belly-drum-sharply-boosts-attack-even-with-under-50-hp)
|
||||
- [Confusion damage is affected by type-boosting items and Explosion/Self-Destruct doubling](#confusion-damage-is-affected-by-type-boosting-items-and-explosionself-destruct-doubling)
|
||||
- [Moves that lower Defense can do so after breaking a Substitute](#moves-that-lower-defense-can-do-so-after-breaking-a-substitute)
|
||||
- [Counter and Mirror Coat still work if the opponent uses an item](#counter-and-mirror-coat-still-work-if-the-opponent-uses-an-item)
|
||||
- [A Disabled but PP Up–enhanced move may not trigger Struggle](#a-disabled-but-pp-upenhanced-move-may-not-trigger-struggle)
|
||||
@ -27,6 +30,7 @@
|
||||
- [Dragon Scale, not Dragon Fang, boosts Dragon-type moves](#dragon-scale-not-dragon-fang-boosts-dragon-type-moves)
|
||||
- [Daisy's grooming doesn't always increase happiness](#daisys-grooming-doesnt-always-increase-happiness)
|
||||
- [Magikarp in Lake of Rage are shorter, not longer](#magikarp-in-lake-of-rage-are-shorter-not-longer)
|
||||
- [Magikarp length limits have a unit conversion error](#magikarp-length-limits-have-a-unit-conversion-error)
|
||||
- [Magikarp lengths can be miscalculated](#magikarp-lengths-can-be-miscalculated)
|
||||
- [Battle transitions fail to account for the enemy's level](#battle-transitions-fail-to-account-for-the-enemys-level)
|
||||
- [Slot machine payout sound effects cut each other off](#slot-machine-payout-sound-effects-cut-each-other-off)
|
||||
@ -49,11 +53,12 @@
|
||||
- [`TryObjectEvent` arbitrary code execution](#tryobjectevent-arbitrary-code-execution)
|
||||
- [`Special_CheckBugContestContestantFlag` can read beyond its data table](#special_checkbugcontestcontestantflag-can-read-beyond-its-data-table)
|
||||
- [`ClearWRAM` only clears WRAM bank 1](#clearwram-only-clears-wram-bank-1)
|
||||
- [`GetForestTreeFrame` works, but it's still bad](#getforesttreeframe-works-but-its-still-bad)
|
||||
|
||||
|
||||
## Thick Club and Light Ball can decrease damage done with boosted (Special) Attack
|
||||
|
||||
*Fixing this bug will break compatibility with standard Pokémon Crystal for link battles.*
|
||||
|
||||
([Video](https://www.youtube.com/watch?v=rGqu3d3pdok&t=450))
|
||||
|
||||
This is a bug with `SpeciesItemBoost` in [engine/battle/effect_commands.asm](/engine/battle/effect_commands.asm):
|
||||
@ -88,6 +93,8 @@ This is a bug with `SpeciesItemBoost` in [engine/battle/effect_commands.asm](/en
|
||||
|
||||
## Metal Powder can increase damage taken with boosted (Special) Defense
|
||||
|
||||
*Fixing this bug will break compatibility with standard Pokémon Crystal for link battles.*
|
||||
|
||||
([Video](https://www.youtube.com/watch?v=rGqu3d3pdok&t=450))
|
||||
|
||||
This is a bug with `DittoMetalPowder` in [engine/battle/effect_commands.asm](/engine/battle/effect_commands.asm):
|
||||
@ -144,6 +151,8 @@ This is a bug with `DittoMetalPowder` in [engine/battle/effect_commands.asm](/en
|
||||
|
||||
## Belly Drum sharply boosts Attack even with under 50% HP
|
||||
|
||||
*Fixing this bug will break compatibility with standard Pokémon Crystal for link battles.*
|
||||
|
||||
([Video](https://www.youtube.com/watch?v=zuCLMikWo4Y))
|
||||
|
||||
This is a bug with `BattleCommand_BellyDrum` in [engine/battle/effect_commands.asm](/engine/battle/effect_commands.asm):
|
||||
@ -180,8 +189,19 @@ BattleCommand_BellyDrum: ; 37c1a
|
||||
```
|
||||
|
||||
|
||||
## Confusion damage is affected by type-boosting items and Explosion/Self-Destruct doubling
|
||||
|
||||
*Fixing this bug will break compatibility with standard Pokémon Crystal for link battles.*
|
||||
|
||||
([Video](https://twitter.com/crystal_rby/status/874626362287562752))
|
||||
|
||||
*To do:* Identify specific code causing this bug and fix it.
|
||||
|
||||
|
||||
## Moves that lower Defense can do so after breaking a Substitute
|
||||
|
||||
*Fixing this bug will break compatibility with standard Pokémon Crystal for link battles.*
|
||||
|
||||
([Video](https://www.youtube.com/watch?v=OGwKPRJLaaI))
|
||||
|
||||
This bug affects Acid, Iron Tail, and Rock Smash.
|
||||
@ -218,6 +238,8 @@ DefenseDownHit:
|
||||
|
||||
## Counter and Mirror Coat still work if the opponent uses an item
|
||||
|
||||
*Fixing this bug will break compatibility with standard Pokémon Crystal for link battles.*
|
||||
|
||||
([Video](https://www.youtube.com/watch?v=uRYyzKRatFk))
|
||||
|
||||
*To do:* Identify specific code causing this bug and fix it.
|
||||
@ -225,6 +247,8 @@ DefenseDownHit:
|
||||
|
||||
## A Disabled but PP Up–enhanced move may not trigger Struggle
|
||||
|
||||
*Fixing this bug will break compatibility with standard Pokémon Crystal for link battles.*
|
||||
|
||||
([Video](https://www.youtube.com/watch?v=1v9x4SgMggs))
|
||||
|
||||
This is a bug with `CheckPlayerHasUsableMoves` in [engine/battle/core.asm](/engine/battle/core.asm):
|
||||
@ -250,6 +274,8 @@ This is a bug with `CheckPlayerHasUsableMoves` in [engine/battle/core.asm](/engi
|
||||
|
||||
## A Pokémon that fainted from Pursuit will have its old status condition when revived
|
||||
|
||||
*Fixing this bug will break compatibility with standard Pokémon Crystal for link battles.*
|
||||
|
||||
([Video](https://www.youtube.com/watch?v=tiRvw-Nb2ME))
|
||||
|
||||
*To do:* Identify specific code causing this bug and fix it.
|
||||
@ -257,6 +283,8 @@ This is a bug with `CheckPlayerHasUsableMoves` in [engine/battle/core.asm](/engi
|
||||
|
||||
## Lock-On and Mind Reader don't always bypass Fly and Dig
|
||||
|
||||
*Fixing this bug will break compatibility with standard Pokémon Crystal for link battles.*
|
||||
|
||||
This bug affects Attract, Curse, Foresight, Mean Look, Mimic, Nightmare, Spider Web, Transform, and stat-lowering effects of moves like String Shot or Bubble during the semi-invulnerable turn of Fly or Dig.
|
||||
|
||||
This is a bug with `CheckHiddenOpponent` in [engine/battle/effect_commands.asm](/engine/battle/effect_commands.asm):
|
||||
@ -275,6 +303,8 @@ CheckHiddenOpponent: ; 37daa
|
||||
|
||||
## Beat Up can desynchronize link battles
|
||||
|
||||
*Fixing this bug will break compatibility with standard Pokémon Crystal for link battles.*
|
||||
|
||||
([Video](https://www.youtube.com/watch?v=202-iAsrIa8))
|
||||
|
||||
This is a bug with `BattleCommand_BeatUp` in [engine/battle/effect_commands.asm](/engine/battle/effect_commands.asm):
|
||||
@ -310,6 +340,8 @@ This is a bug with `BattleCommand_BeatUp` in [engine/battle/effect_commands.asm]
|
||||
|
||||
## Present damage is incorrect in link battles
|
||||
|
||||
*Fixing this bug will break compatibility with standard Pokémon Crystal for link battles.*
|
||||
|
||||
([Video](https://www.youtube.com/watch?v=XJaQoKtrEuw))
|
||||
|
||||
This bug existed for all battles in Gold and Silver, and was only fixed for single-player battles in Crystal to preserve link compatibility.
|
||||
@ -661,6 +693,8 @@ FastBallMultiplier:
|
||||
|
||||
## Dragon Scale, not Dragon Fang, boosts Dragon-type moves
|
||||
|
||||
*Fixing this bug will break compatibility with standard Pokémon Crystal for link battles.*
|
||||
|
||||
This is a bug with `ItemAttributes` in [items/attributes.asm](/items/attributes.asm):
|
||||
|
||||
```asm
|
||||
@ -751,6 +785,43 @@ This is a bug with `LoadEnemyMon.CheckMagikarpArea` in [engine/battle/core.asm](
|
||||
**Fix:** Change both `jr z, .Happiness` to `jr nz, .Happiness`.
|
||||
|
||||
|
||||
## Magikarp length limits have a unit conversion error
|
||||
|
||||
This is a bug with `LoadEnemyMon.CheckMagikarpArea` in [engine/battle/core.asm](/engine/battle/core.asm):
|
||||
|
||||
```asm
|
||||
; Get Magikarp's length
|
||||
ld de, EnemyMonDVs
|
||||
ld bc, PlayerID
|
||||
callfar CalcMagikarpLength
|
||||
|
||||
; No reason to keep going if length > 1536 (i.e. if length / 256 != 6)
|
||||
ld a, [wMagikarpLength]
|
||||
cp HIGH(1536) ; this compares to 6'0'', should be cp 5
|
||||
jr nz, .CheckMagikarpArea
|
||||
|
||||
; 5% chance of skipping both size checks
|
||||
call Random
|
||||
cp 5 percent
|
||||
jr c, .CheckMagikarpArea
|
||||
; Try again if length > 1615
|
||||
ld a, [wMagikarpLength + 1]
|
||||
cp LOW(1616) ; this compares to 6'80'', should be cp 3
|
||||
jr nc, .GenerateDVs
|
||||
|
||||
; 20% chance of skipping this check
|
||||
call Random
|
||||
cp 20 percent - 1
|
||||
jr c, .CheckMagikarpArea
|
||||
; Try again if length > 1599
|
||||
ld a, [wMagikarpLength + 1]
|
||||
cp LOW(1600) ; this compares to 6'64'', should be cp 2
|
||||
jr nc, .GenerateDVs
|
||||
```
|
||||
|
||||
**Fix:** Change the three `cp` instructions to use their commented values.
|
||||
|
||||
|
||||
## Magikarp lengths can be miscalculated
|
||||
|
||||
This is a bug with `CalcMagikarpLength.BCLessThanDE` in [engine/events/magikarp.asm](/engine/events/magikarp.asm):
|
||||
@ -1410,46 +1481,3 @@ ClearWRAM:: ; 25a
|
||||
```
|
||||
|
||||
**Fix:** Change `jr nc, .bank_loop` to `jr c, .bank_loop`.
|
||||
|
||||
|
||||
## `GetForestTreeFrame` works, but it's still bad
|
||||
|
||||
In [tilesets/animations.asm](/tilesets/animations.asm):
|
||||
|
||||
```asm
|
||||
GetForestTreeFrame: ; fc54c
|
||||
; Return 0 if a is even, or 2 if odd.
|
||||
and a
|
||||
jr z, .even
|
||||
cp 1
|
||||
jr z, .odd
|
||||
cp 2
|
||||
jr z, .even
|
||||
cp 3
|
||||
jr z, .odd
|
||||
cp 4
|
||||
jr z, .even
|
||||
cp 5
|
||||
jr z, .odd
|
||||
cp 6
|
||||
jr z, .even
|
||||
.odd
|
||||
ld a, 2
|
||||
scf
|
||||
ret
|
||||
.even
|
||||
xor a
|
||||
ret
|
||||
; fc56d
|
||||
```
|
||||
|
||||
**Fix:**
|
||||
|
||||
```asm
|
||||
GetForestTreeFrame: ; fc54c
|
||||
; Return 0 if a is even, or 2 if odd.
|
||||
and 1
|
||||
add a
|
||||
ret
|
||||
; fc56d
|
||||
```
|
||||
|
512
docs/design_flaws.md
Normal file
512
docs/design_flaws.md
Normal file
@ -0,0 +1,512 @@
|
||||
# Design Flaws
|
||||
|
||||
These are parts of the code that do not work *incorrectly*, like [bugs and glitches](/docs/bugs_and_glitches.md), but that clearly exist just to work around a problem. In other words, with a slightly different design, the code would not need to exist at all. Design flaws may be exceptions to a usual rule, such as "tables of pointers in different banks use `dba`" ([one exception](#pic-banks-are-offset-by-pics_fix), [and another](#pokédex-entry-banks-are-derived-from-their-species-ids)) or "graphics used as a unit are stored and loaded contiguously" ([a notable exception](#footprints-are-split-into-top-and-bottom-halves)).
|
||||
|
||||
|
||||
## Contents
|
||||
|
||||
- [Pic banks are offset by `PICS_FIX`](#pic-banks-are-offset-by-pics_fix)
|
||||
- [`PokemonPicPointers` and `UnownPicPointers` are assumed to start at the same address](#pokemonpicpointers-and-unownpicpointers-are-assumed-to-start-at-the-same-address)
|
||||
- [Footprints are split into top and bottom halves](#footprints-are-split-into-top-and-bottom-halves)
|
||||
- [Pokédex entry banks are derived from their species IDs](#pokédex-entry-banks-are-derived-from-their-species-ids)
|
||||
- [`ITEM_C3` and `ITEM_DC` break up the continuous sequence of TM items](#item_c3-and-item_dc-break-up-the-continuous-sequence-of-tm-items)
|
||||
- [`GetForestTreeFrame` works, but it's still bad](#getforesttreeframe-works-but-its-still-bad)
|
||||
|
||||
|
||||
## Pic banks are offset by `PICS_FIX`
|
||||
|
||||
[data/pokemon/pic_pointers.asm](/data/pokemon/pic_pointers.asm), [data/pokemon/unown_pic_pointers.asm](/data/pokemon/unown_pic_pointers.asm), and [data/trainers/pic_pointers.asm](/data/trainers/pic_pointers.asm) all have to use `dba_pic` instead of `dba`. This is a macro in [macros/data.asm](/macros/data.asm) that offsets banks by `PICS_FIX`:
|
||||
|
||||
```asm
|
||||
dba_pic: MACRO ; dbw bank, address
|
||||
db BANK(\1) - PICS_FIX
|
||||
dw \1
|
||||
ENDM
|
||||
```
|
||||
|
||||
The offset is translated into a correct bank by `FixPicBank` in [gfx/load_pics.asm](/gfx/load_pics.asm):
|
||||
|
||||
```asm
|
||||
FixPicBank: ; 511c5
|
||||
; This is a thing for some reason.
|
||||
|
||||
PICS_FIX EQU $36
|
||||
GLOBAL PICS_FIX
|
||||
|
||||
push hl
|
||||
push bc
|
||||
sub BANK(Pics_1) - PICS_FIX
|
||||
ld c, a
|
||||
ld b, 0
|
||||
ld hl, .PicsBanks
|
||||
add hl, bc
|
||||
ld a, [hl]
|
||||
pop bc
|
||||
pop hl
|
||||
ret
|
||||
|
||||
.PicsBanks: ; 511d4
|
||||
db BANK(Pics_1) + 0
|
||||
db BANK(Pics_1) + 1
|
||||
db BANK(Pics_1) + 2
|
||||
db BANK(Pics_1) + 3
|
||||
db BANK(Pics_1) + 4
|
||||
db BANK(Pics_1) + 5
|
||||
db BANK(Pics_1) + 6
|
||||
db BANK(Pics_1) + 7
|
||||
db BANK(Pics_1) + 8
|
||||
db BANK(Pics_1) + 9
|
||||
db BANK(Pics_1) + 10
|
||||
db BANK(Pics_1) + 11
|
||||
db BANK(Pics_1) + 12
|
||||
db BANK(Pics_1) + 13
|
||||
db BANK(Pics_1) + 14
|
||||
db BANK(Pics_1) + 15
|
||||
db BANK(Pics_1) + 16
|
||||
db BANK(Pics_1) + 17
|
||||
db BANK(Pics_1) + 18
|
||||
db BANK(Pics_1) + 19
|
||||
db BANK(Pics_1) + 20
|
||||
db BANK(Pics_1) + 21
|
||||
db BANK(Pics_1) + 22
|
||||
db BANK(Pics_1) + 23
|
||||
```
|
||||
|
||||
**Fix:** Use `dba` instead of `dba_pic`, and don't call `FixPicBank` to modify `a`.
|
||||
|
||||
|
||||
## `PokemonPicPointers` and `UnownPicPointers` are assumed to start at the same address
|
||||
|
||||
In [gfx/pics.asm](/gfx/pics.asm):
|
||||
|
||||
```asm
|
||||
; PokemonPicPointers and UnownPicPointers are assumed to start at the same
|
||||
; address, but in different banks. This is enforced in pokecrystal.link.
|
||||
|
||||
SECTION "Pic Pointers", ROMX
|
||||
|
||||
INCLUDE "data/pokemon/pic_pointers.asm"
|
||||
|
||||
|
||||
SECTION "Unown Pic Pointers", ROMX
|
||||
|
||||
INCLUDE "data/pokemon/unown_pic_pointers.asm"
|
||||
```
|
||||
|
||||
In [pokecrystal.link](/pokecrystal.link):
|
||||
|
||||
```
|
||||
ROMX $48
|
||||
org $4000
|
||||
"Pic Pointers"
|
||||
"Pics 1"
|
||||
ROMX $49
|
||||
org $4000
|
||||
"Unown Pic Pointers"
|
||||
"Pics 2"
|
||||
```
|
||||
|
||||
Two routines in [gfx/load_pics.asm](/gfx/load_pics.asm) make this assumption; `GetFrontpicPointer`:
|
||||
|
||||
```asm
|
||||
ld a, [CurPartySpecies]
|
||||
cp UNOWN
|
||||
jr z, .unown
|
||||
ld a, [CurPartySpecies]
|
||||
ld d, BANK(PokemonPicPointers)
|
||||
jr .ok
|
||||
|
||||
.unown
|
||||
ld a, [UnownLetter]
|
||||
ld d, BANK(UnownPicPointers)
|
||||
|
||||
.ok
|
||||
ld hl, PokemonPicPointers ; UnownPicPointers
|
||||
dec a
|
||||
ld bc, 6
|
||||
call AddNTimes
|
||||
```
|
||||
|
||||
And `GetMonBackpic`:
|
||||
|
||||
```asm
|
||||
; These are assumed to be at the same
|
||||
; address in their respective banks.
|
||||
GLOBAL PokemonPicPointers, UnownPicPointers
|
||||
ld hl, PokemonPicPointers ; UnownPicPointers
|
||||
ld a, b
|
||||
ld d, BANK(PokemonPicPointers)
|
||||
cp UNOWN
|
||||
jr nz, .ok
|
||||
ld a, c
|
||||
ld d, BANK(UnownPicPointers)
|
||||
.ok
|
||||
dec a
|
||||
ld bc, 6
|
||||
call AddNTimes
|
||||
```
|
||||
|
||||
**Fix:**
|
||||
|
||||
Don't enforce `org $4000` in pokecrystal.link.
|
||||
|
||||
Modify `GetFrontpicPointer`:
|
||||
|
||||
```asm
|
||||
ld a, [CurPartySpecies]
|
||||
cp UNOWN
|
||||
jr z, .unown
|
||||
ld a, [CurPartySpecies]
|
||||
ld hl, PokemonPicPointers
|
||||
ld d, BANK(PokemonPicPointers)
|
||||
jr .ok
|
||||
|
||||
.unown
|
||||
ld a, [UnownLetter]
|
||||
ld hl, UnownPicPointers
|
||||
ld d, BANK(UnownPicPointers)
|
||||
|
||||
.ok
|
||||
dec a
|
||||
ld bc, 6
|
||||
call AddNTimes
|
||||
```
|
||||
|
||||
And `GetMonBackpic`:
|
||||
|
||||
```asm
|
||||
GLOBAL PokemonPicPointers, UnownPicPointers
|
||||
ld a, b
|
||||
ld hl, PokemonPicPointers
|
||||
ld d, BANK(PokemonPicPointers)
|
||||
cp UNOWN
|
||||
jr nz, .ok
|
||||
ld a, c
|
||||
ld hl, UnownPicPointers
|
||||
ld d, BANK(UnownPicPointers)
|
||||
.ok
|
||||
dec a
|
||||
ld bc, 6
|
||||
call AddNTimes
|
||||
```
|
||||
|
||||
|
||||
## Footprints are split into top and bottom halves
|
||||
|
||||
In [gfx/footprints.asm](/gfx/footprints.asm):
|
||||
|
||||
```asm
|
||||
; Footprints are 2x2 tiles each, but are stored as a 16x64-tile image
|
||||
; (32 rows of 8 footprints per row).
|
||||
; That means there's a row of the top two tiles for eight footprints,
|
||||
; then a row of the bottom two tiles for those eight footprints.
|
||||
|
||||
; These macros help extract the first and the last two tiles, respectively.
|
||||
footprint_top EQUS "0, 2 * LEN_1BPP_TILE"
|
||||
footprint_bottom EQUS "2 * LEN_1BPP_TILE, 2 * LEN_1BPP_TILE"
|
||||
|
||||
; Entries correspond to Pokémon species, two apiece, 8 tops then 8 bottoms
|
||||
|
||||
; 001-008 top halves
|
||||
INCBIN "gfx/footprints/bulbasaur.1bpp", footprint_top
|
||||
INCBIN "gfx/footprints/ivysaur.1bpp", footprint_top
|
||||
INCBIN "gfx/footprints/venusaur.1bpp", footprint_top
|
||||
INCBIN "gfx/footprints/charmander.1bpp", footprint_top
|
||||
INCBIN "gfx/footprints/charmeleon.1bpp", footprint_top
|
||||
INCBIN "gfx/footprints/charizard.1bpp", footprint_top
|
||||
INCBIN "gfx/footprints/squirtle.1bpp", footprint_top
|
||||
INCBIN "gfx/footprints/wartortle.1bpp", footprint_top
|
||||
; 001-008 bottom halves
|
||||
INCBIN "gfx/footprints/bulbasaur.1bpp", footprint_bottom
|
||||
INCBIN "gfx/footprints/ivysaur.1bpp", footprint_bottom
|
||||
INCBIN "gfx/footprints/venusaur.1bpp", footprint_bottom
|
||||
INCBIN "gfx/footprints/charmander.1bpp", footprint_bottom
|
||||
INCBIN "gfx/footprints/charmeleon.1bpp", footprint_bottom
|
||||
INCBIN "gfx/footprints/charizard.1bpp", footprint_bottom
|
||||
INCBIN "gfx/footprints/squirtle.1bpp", footprint_bottom
|
||||
INCBIN "gfx/footprints/wartortle.1bpp", footprint_bottom
|
||||
...
|
||||
```
|
||||
|
||||
`Pokedex_LoadAnyFootprint` in [engine/pokedex.asm](/engine/pokedex.asm):
|
||||
|
||||
```asm
|
||||
push hl
|
||||
ld e, l
|
||||
ld d, h
|
||||
ld hl, VTiles2 tile $62
|
||||
lb bc, BANK(Footprints), 2
|
||||
call Request1bpp
|
||||
pop hl
|
||||
|
||||
; Whoever was editing footprints forgot to fix their
|
||||
; tile editor. Now each bottom half is 8 tiles off.
|
||||
ld de, 8 tiles
|
||||
add hl, de
|
||||
|
||||
ld e, l
|
||||
ld d, h
|
||||
ld hl, VTiles2 tile $64
|
||||
lb bc, BANK(Footprints), 2
|
||||
call Request1bpp
|
||||
```
|
||||
|
||||
**Fix:**
|
||||
|
||||
Store footprints contiguously:
|
||||
|
||||
```asm
|
||||
INCBIN "gfx/footprints/bulbasaur.1bpp"
|
||||
INCBIN "gfx/footprints/ivysaur.1bpp"
|
||||
INCBIN "gfx/footprints/venusaur.1bpp"
|
||||
INCBIN "gfx/footprints/charmander.1bpp"
|
||||
INCBIN "gfx/footprints/charmeleon.1bpp"
|
||||
INCBIN "gfx/footprints/charizard.1bpp"
|
||||
INCBIN "gfx/footprints/squirtle.1bpp"
|
||||
INCBIN "gfx/footprints/wartortle.1bpp"
|
||||
...
|
||||
```
|
||||
|
||||
Modify `Pokedex_LoadAnyFootprint`:
|
||||
|
||||
```asm
|
||||
ld e, l
|
||||
ld d, h
|
||||
ld hl, VTiles2 tile $62
|
||||
lb bc, BANK(Footprints), 4
|
||||
call Request1bpp
|
||||
```
|
||||
|
||||
|
||||
## Pokédex entry banks are derived from their species IDs
|
||||
|
||||
`PokedexDataPointerTable` in [data/pokemon/dex_entry_pointers.asm](/data/pokemon/dex_entry_pointers.asm) is a table of `dw`, not `dba`, yet there are four banks used for Pokédex entries. The correct bank is derived from the species ID at the beginning of each Pokémon's base stats. (This is the only use the base stat species ID has.)
|
||||
|
||||
Three separate routines do the same derivation; `GetDexEntryPointer` in [engine/pokedex_2.asm](/engine/pokedex_2.asm):
|
||||
|
||||
```asm
|
||||
GetDexEntryPointer: ; 44333
|
||||
; return dex entry pointer b:de
|
||||
push hl
|
||||
ld hl, PokedexDataPointerTable
|
||||
ld a, b
|
||||
dec a
|
||||
ld d, 0
|
||||
ld e, a
|
||||
add hl, de
|
||||
add hl, de
|
||||
ld e, [hl]
|
||||
inc hl
|
||||
ld d, [hl]
|
||||
push de
|
||||
rlca
|
||||
rlca
|
||||
and $3
|
||||
ld hl, .PokedexEntryBanks
|
||||
ld d, 0
|
||||
ld e, a
|
||||
add hl, de
|
||||
ld b, [hl]
|
||||
pop de
|
||||
pop hl
|
||||
ret
|
||||
|
||||
.PokedexEntryBanks: ; 44351
|
||||
|
||||
GLOBAL PokedexEntries1
|
||||
GLOBAL PokedexEntries2
|
||||
GLOBAL PokedexEntries3
|
||||
GLOBAL PokedexEntries4
|
||||
|
||||
db BANK(PokedexEntries1)
|
||||
db BANK(PokedexEntries2)
|
||||
db BANK(PokedexEntries3)
|
||||
db BANK(PokedexEntries4)
|
||||
```
|
||||
|
||||
`GetPokedexEntryBank` in [engine/item_effects.asm](/engine/item_effects.asm):
|
||||
|
||||
```asm
|
||||
GetPokedexEntryBank:
|
||||
push hl
|
||||
push de
|
||||
ld a, [EnemyMonSpecies]
|
||||
rlca
|
||||
rlca
|
||||
and 3
|
||||
ld hl, .PokedexEntryBanks
|
||||
ld d, 0
|
||||
ld e, a
|
||||
add hl, de
|
||||
ld a, [hl]
|
||||
pop de
|
||||
pop hl
|
||||
ret
|
||||
|
||||
.PokedexEntryBanks:
|
||||
|
||||
GLOBAL PokedexEntries1
|
||||
GLOBAL PokedexEntries2
|
||||
GLOBAL PokedexEntries3
|
||||
GLOBAL PokedexEntries4
|
||||
|
||||
db BANK(PokedexEntries1)
|
||||
db BANK(PokedexEntries2)
|
||||
db BANK(PokedexEntries3)
|
||||
db BANK(PokedexEntries4)
|
||||
```
|
||||
|
||||
And `PokedexShow_GetDexEntryBank` in [engine/radio.asm](/engine/radio.asm):
|
||||
|
||||
```asm
|
||||
PokedexShow_GetDexEntryBank:
|
||||
push hl
|
||||
push de
|
||||
ld a, [CurPartySpecies]
|
||||
dec a
|
||||
rlca
|
||||
rlca
|
||||
and 3
|
||||
ld hl, .pokedexbanks
|
||||
ld d, 0
|
||||
ld e, a
|
||||
add hl, de
|
||||
ld a, [hl]
|
||||
pop de
|
||||
pop hl
|
||||
ret
|
||||
|
||||
.pokedexbanks
|
||||
db BANK(PokedexEntries1)
|
||||
db BANK(PokedexEntries2)
|
||||
db BANK(PokedexEntries3)
|
||||
db BANK(PokedexEntries4)
|
||||
```
|
||||
|
||||
**Fix:** Use `dba` instead of `dw` in `PokedexDataPointerTable`, and modify the code that accesses it to match.
|
||||
|
||||
|
||||
## `ITEM_C3` and `ITEM_DC` break up the continuous sequence of TM items
|
||||
|
||||
[constants/item_constants.asm](/constants/item_constants.asm) defined the 50 TMs in order with `add_tm`, but `ITEM_C3` and `ITEM_DC` break up that sequence.
|
||||
|
||||
```asm
|
||||
add_tm DYNAMICPUNCH ; $BF
|
||||
...
|
||||
add_tm ROLLOUT ; $C2
|
||||
const ITEM_C3 ; $C3
|
||||
add_tm ROAR ; $C4
|
||||
...
|
||||
add_tm DIG ; $DB
|
||||
const ITEM_DC ; $DC
|
||||
add_tm PSYCHIC_M ; $DD
|
||||
...
|
||||
add_tm NIGHTMARE ; $F2
|
||||
NUM_TMS = const_value - TM01 - 2 ; discount ITEM_C3 and ITEM_DC
|
||||
```
|
||||
|
||||
`GetTMHMNumber` and `GetNumberedTMHM` in [engine/items.asm](/engine/items.asm) have to compensate for this:
|
||||
|
||||
```asm
|
||||
GetTMHMNumber:: ; d407
|
||||
; Return the number of a TM/HM by item id c.
|
||||
ld a, c
|
||||
; Skip any dummy items.
|
||||
cp ITEM_C3 ; TM04-05
|
||||
jr c, .done
|
||||
cp ITEM_DC ; TM28-29
|
||||
jr c, .skip
|
||||
dec a
|
||||
.skip
|
||||
dec a
|
||||
.done
|
||||
sub TM01
|
||||
inc a
|
||||
ld c, a
|
||||
ret
|
||||
|
||||
GetNumberedTMHM: ; d417
|
||||
; Return the item id of a TM/HM by number c.
|
||||
ld a, c
|
||||
; Skip any gaps.
|
||||
cp ITEM_C3 - (TM01 - 1)
|
||||
jr c, .done
|
||||
cp ITEM_DC - (TM01 - 1) - 1
|
||||
jr c, .skip_one
|
||||
.skip_two
|
||||
inc a
|
||||
.skip_one
|
||||
inc a
|
||||
.done
|
||||
add TM01
|
||||
dec a
|
||||
ld c, a
|
||||
ret
|
||||
```
|
||||
|
||||
**Fix:**
|
||||
|
||||
Move `ITEM_C3` and `ITEM_DC` above all the TMs in every table of item data.
|
||||
|
||||
Modify engine/items.asm:
|
||||
|
||||
```asm
|
||||
GetTMHMNumber:: ; d407
|
||||
; Return the number of a TM/HM by item id c.
|
||||
ld a, c
|
||||
sub TM01
|
||||
inc a
|
||||
ld c, a
|
||||
ret
|
||||
|
||||
GetNumberedTMHM: ; d417
|
||||
; Return the item id of a TM/HM by number c.
|
||||
ld a, c
|
||||
add TM01
|
||||
dec a
|
||||
ld c, a
|
||||
ret
|
||||
```
|
||||
|
||||
|
||||
## `GetForestTreeFrame` works, but it's still bad
|
||||
|
||||
In [tilesets/animations.asm](/tilesets/animations.asm):
|
||||
|
||||
```asm
|
||||
GetForestTreeFrame: ; fc54c
|
||||
; Return 0 if a is even, or 2 if odd.
|
||||
and a
|
||||
jr z, .even
|
||||
cp 1
|
||||
jr z, .odd
|
||||
cp 2
|
||||
jr z, .even
|
||||
cp 3
|
||||
jr z, .odd
|
||||
cp 4
|
||||
jr z, .even
|
||||
cp 5
|
||||
jr z, .odd
|
||||
cp 6
|
||||
jr z, .even
|
||||
.odd
|
||||
ld a, 2
|
||||
scf
|
||||
ret
|
||||
.even
|
||||
xor a
|
||||
ret
|
||||
; fc56d
|
||||
```
|
||||
|
||||
**Fix:**
|
||||
|
||||
```asm
|
||||
GetForestTreeFrame: ; fc54c
|
||||
; Return 0 if a is even, or 2 if odd.
|
||||
and 1
|
||||
add a
|
||||
ret
|
||||
; fc56d
|
||||
```
|
@ -60,17 +60,17 @@ Callback types:
|
||||
|
||||
## `.Warps: db` *N*
|
||||
|
||||
- **`warp_def` *y*, *x*, *warp_id*, *map***
|
||||
- **`warp_def` *x*, *y*, *warp_id*, *map***
|
||||
|
||||
|
||||
## `.CoordEvents: db` *N*
|
||||
|
||||
- **`coord_event` *scene id*, *y*, *x*, *script***
|
||||
- **`coord_event` *x*, *y*, *scene id*, *script***
|
||||
|
||||
|
||||
## `.BGEvents: db` *N*
|
||||
|
||||
- **`bg_event` *y*, *x*, *type*, *script***
|
||||
- **`bg_event` *x*, *y*, *type*, *script***
|
||||
|
||||
BG event types:
|
||||
|
||||
@ -90,7 +90,7 @@ BG event types:
|
||||
|
||||
## `.ObjectEvents: db` *N*
|
||||
|
||||
- **`object_event` *sprite*, *y*, *x*, *movement*, *ry*, *rx*, *h1*, *h2*, *palette*, *type*, *range*, *script*, *event_flag***
|
||||
- **`object_event` *x*, *y*, *sprite*, *movement*, *ry*, *rx*, *h1*, *h2*, *palette*, *type*, *range*, *script*, *event_flag***
|
||||
|
||||
Movement types:
|
||||
|
||||
|
@ -1442,9 +1442,9 @@ copy_box_data: MACRO
|
||||
jr .loop\@
|
||||
|
||||
.done\@
|
||||
IF \1
|
||||
if \1
|
||||
call CloseSRAM
|
||||
ENDC
|
||||
endc
|
||||
ld a, -1
|
||||
ld [de], a
|
||||
ld a, [wd004]
|
||||
|
@ -26,13 +26,13 @@ Function_LoadOpponentTrainerAndPokemons: ; 1f8000
|
||||
ld a, [hRandomAdd]
|
||||
add b
|
||||
ld b, a ; b contains the nr of the trainer
|
||||
IF DEF(CRYSTAL11)
|
||||
if DEF(CRYSTAL11)
|
||||
and (1 << 7) - 1
|
||||
cp 70
|
||||
ELSE
|
||||
else
|
||||
and (1 << 5) - 1
|
||||
cp 21
|
||||
ENDC
|
||||
endc
|
||||
jr nc, .resample
|
||||
ld b, a
|
||||
|
||||
|
@ -105,7 +105,7 @@ SpecialKabutoChamber: ; 8ae4e
|
||||
|
||||
Special_DisplayUnownWords: ; 8ae68
|
||||
ld a, [ScriptVar]
|
||||
ld hl, .MenuDataHeader_Escape
|
||||
ld hl, .MenuDataHeaders_UnownWalls
|
||||
and a
|
||||
jr z, .load
|
||||
|
||||
@ -153,8 +153,6 @@ Special_DisplayUnownWords: ; 8ae68
|
||||
ret
|
||||
; 8aebc
|
||||
|
||||
.UnownText: ; 8aebc
|
||||
|
||||
unownwall: MACRO
|
||||
rept _NARG
|
||||
if \1 == "-"
|
||||
@ -180,36 +178,35 @@ endr
|
||||
db $ff
|
||||
ENDM
|
||||
|
||||
.UnownText_Escape:
|
||||
.UnownText: ; 8aebc
|
||||
;.UnownText_Escape:
|
||||
; db $08, $44, $04, $00, $2e, $08, $ff
|
||||
unownwall "E", "S", "C", "A", "P", "E"
|
||||
.UnownText_Light:
|
||||
;.UnownText_Light:
|
||||
; db $26, $20, $0c, $0e, $46, $ff
|
||||
unownwall "L", "I", "G", "H", "T"
|
||||
.UnownText_Water:
|
||||
;.UnownText_Water:
|
||||
; db $4c, $00, $46, $08, $42, $ff
|
||||
unownwall "W", "A", "T", "E", "R"
|
||||
.UnownText_Ho_Oh:
|
||||
;.UnownText_Ho_Oh:
|
||||
; db $0e, $2c, $64, $2c, $0e, $ff
|
||||
unownwall "H", "O", "-", "O", "H"
|
||||
; 8aed5
|
||||
|
||||
.MenuDataHeader_Escape: ; 0x8aed5
|
||||
.MenuDataHeaders_UnownWalls: ; 0x8aed5
|
||||
;.MenuDataHeader_Escape:
|
||||
db $40 ; flags
|
||||
db 04, 03 ; start coords
|
||||
db 09, 16 ; end coords
|
||||
|
||||
.MenuDataHeader_Light: ; 0x8aeda
|
||||
;.MenuDataHeader_Light:
|
||||
db $40 ; flags
|
||||
db 04, 04 ; start coords
|
||||
db 09, 15 ; end coords
|
||||
|
||||
.MenuDataHeader_Water: ; 0x8aedf
|
||||
;.MenuDataHeader_Water:
|
||||
db $40 ; flags
|
||||
db 04, 04 ; start coords
|
||||
db 09, 15 ; end coords
|
||||
|
||||
.MenuDataHeader_Ho_Oh: ; 0x8aee4
|
||||
;.MenuDataHeader_Ho_Oh:
|
||||
db $40 ; flags
|
||||
db 04, 04 ; start coords
|
||||
db 09, 15 ; end coords
|
||||
|
@ -199,9 +199,9 @@ _ResetWRAM: ; 5bae
|
||||
ld [Coins], a
|
||||
ld [Coins + 1], a
|
||||
|
||||
IF START_MONEY >= $10000
|
||||
if START_MONEY >= $10000
|
||||
ld a, HIGH(START_MONEY >> 8)
|
||||
ENDC
|
||||
endc
|
||||
ld [Money], a
|
||||
ld a, HIGH(START_MONEY) ; mid
|
||||
ld [Money + 1], a
|
||||
@ -646,11 +646,11 @@ Continue_DisplayPokedexNumCaught: ; 5f6b
|
||||
ret z
|
||||
push hl
|
||||
ld hl, PokedexCaught
|
||||
IF NUM_POKEMON % 8
|
||||
if NUM_POKEMON % 8
|
||||
ld b, NUM_POKEMON / 8 + 1
|
||||
ELSE
|
||||
else
|
||||
ld b, NUM_POKEMON / 8
|
||||
ENDC
|
||||
endc
|
||||
call CountSetBits
|
||||
pop hl
|
||||
ld de, wd265
|
||||
|
@ -455,15 +455,12 @@ CheckTMHM: ; d3fb
|
||||
|
||||
GetTMHMNumber:: ; d407
|
||||
; Return the number of a TM/HM by item id c.
|
||||
|
||||
ld a, c
|
||||
|
||||
; Skip any dummy items.
|
||||
cp ITEM_C3 ; TM04-05
|
||||
jr c, .done
|
||||
cp ITEM_DC ; TM28-29
|
||||
jr c, .skip
|
||||
|
||||
dec a
|
||||
.skip
|
||||
dec a
|
||||
@ -475,15 +472,12 @@ GetTMHMNumber:: ; d407
|
||||
|
||||
GetNumberedTMHM: ; d417
|
||||
; Return the item id of a TM/HM by number c.
|
||||
|
||||
ld a, c
|
||||
|
||||
; Skip any gaps.
|
||||
cp ITEM_C3 - (TM01 - 1)
|
||||
jr c, .done
|
||||
cp ITEM_DC - (TM01 - 1) - 1
|
||||
jr c, .skip_one
|
||||
|
||||
.skip_two
|
||||
inc a
|
||||
.skip_one
|
||||
|
@ -55,7 +55,7 @@ AnimateMon_Unused: ; d003a
|
||||
pokeanim: MACRO
|
||||
rept _NARG
|
||||
; Workaround for a bug where macro args can't come after the start of a symbol
|
||||
if !def(\1_POKEANIM)
|
||||
if !DEF(\1_POKEANIM)
|
||||
\1_POKEANIM EQUS "PokeAnim_\1_"
|
||||
endc
|
||||
db (\1_POKEANIM - PokeAnim_SetupCommands) / 2
|
||||
@ -77,13 +77,13 @@ PokeAnims: ; d0042
|
||||
|
||||
.Slow: pokeanim StereoCry, Setup2, Play
|
||||
.Normal: pokeanim StereoCry, Setup, Play
|
||||
.Menu: pokeanim CryNoWait, Setup, Play, SetWait, Wait, Extra, Play
|
||||
.Trade: pokeanim Extra, Play2, Extra, Play, SetWait, Wait, Cry, Setup, Play
|
||||
.Evolve: pokeanim Extra, Play, SetWait, Wait, CryNoWait, Setup, Play
|
||||
.Hatch: pokeanim Extra, Play, CryNoWait, Setup, Play, SetWait, Wait, Extra, Play
|
||||
.Unused: pokeanim CryNoWait, Setup, Play, SetWait, Wait, Extra, Play
|
||||
.Menu: pokeanim CryNoWait, Setup, Play, SetWait, Wait, Idle, Play
|
||||
.Trade: pokeanim Idle, Play2, Idle, Play, SetWait, Wait, Cry, Setup, Play
|
||||
.Evolve: pokeanim Idle, Play, SetWait, Wait, CryNoWait, Setup, Play
|
||||
.Hatch: pokeanim Idle, Play, CryNoWait, Setup, Play, SetWait, Wait, Idle, Play
|
||||
.Unused: pokeanim CryNoWait, Setup, Play, SetWait, Wait, Idle, Play
|
||||
.Egg1: pokeanim Setup, Play
|
||||
.Egg2: pokeanim Extra, Play
|
||||
.Egg2: pokeanim Idle, Play
|
||||
|
||||
|
||||
AnimateFrontpic: ; d008e
|
||||
@ -151,7 +151,7 @@ ENDM
|
||||
setup_command PokeAnim_Wait
|
||||
setup_command PokeAnim_Setup
|
||||
setup_command PokeAnim_Setup2
|
||||
setup_command PokeAnim_Extra
|
||||
setup_command PokeAnim_Idle
|
||||
setup_command PokeAnim_Play
|
||||
setup_command PokeAnim_Play2
|
||||
setup_command PokeAnim_Cry
|
||||
@ -198,7 +198,7 @@ PokeAnim_Setup2: ; d011d
|
||||
ret
|
||||
; d012f
|
||||
|
||||
PokeAnim_Extra: ; d012f
|
||||
PokeAnim_Idle: ; d012f
|
||||
ld c, TRUE
|
||||
ld b, 0
|
||||
call PokeAnim_InitAnim
|
||||
@ -360,18 +360,18 @@ PokeAnim_InitPicAttributes: ; d01d6
|
||||
PokeAnim_InitAnim: ; d0228
|
||||
ld a, [rSVBK]
|
||||
push af
|
||||
ld a, BANK(wPokeAnimExtraFlag)
|
||||
ld a, BANK(wPokeAnimIdleFlag)
|
||||
ld [rSVBK], a
|
||||
push bc
|
||||
ld hl, wPokeAnimExtraFlag
|
||||
ld bc, wPokeAnimStructEnd - wPokeAnimExtraFlag
|
||||
ld hl, wPokeAnimIdleFlag
|
||||
ld bc, wPokeAnimStructEnd - wPokeAnimIdleFlag
|
||||
xor a
|
||||
call ByteFill
|
||||
pop bc
|
||||
ld a, b
|
||||
ld [wPokeAnimSpeed], a
|
||||
ld a, c
|
||||
ld [wPokeAnimExtraFlag], a
|
||||
ld [wPokeAnimIdleFlag], a
|
||||
call GetMonAnimPointer
|
||||
call GetMonFramesPointer
|
||||
call GetMonBitmaskPointer
|
||||
@ -949,20 +949,20 @@ GetMonAnimPointer: ; d055c
|
||||
|
||||
ld c, BANK(UnownAnimations)
|
||||
ld hl, UnownAnimationPointers
|
||||
ld de, UnownAnimationExtraPointers
|
||||
ld de, UnownAnimationIdlePointers
|
||||
call PokeAnim_IsUnown
|
||||
jr z, .unown
|
||||
ld c, BANK(PicAnimations)
|
||||
ld hl, AnimationPointers
|
||||
ld de, AnimationExtraPointers
|
||||
ld de, AnimationIdlePointers
|
||||
.unown
|
||||
|
||||
ld a, [wPokeAnimExtraFlag]
|
||||
ld a, [wPokeAnimIdleFlag]
|
||||
and a
|
||||
jr z, .extras
|
||||
jr z, .idles
|
||||
ld h, d
|
||||
ld l, e
|
||||
.extras
|
||||
.idles
|
||||
|
||||
ld a, [wPokeAnimSpeciesOrUnown]
|
||||
dec a
|
||||
@ -982,12 +982,12 @@ GetMonAnimPointer: ; d055c
|
||||
.egg
|
||||
ld hl, EggAnimation
|
||||
ld c, BANK(EggAnimation)
|
||||
ld a, [wPokeAnimExtraFlag]
|
||||
ld a, [wPokeAnimIdleFlag]
|
||||
and a
|
||||
jr z, .extras_egg
|
||||
ld hl, EggAnimationExtra
|
||||
ld c, BANK(EggAnimationExtra)
|
||||
.extras_egg
|
||||
jr z, .idles_egg
|
||||
ld hl, EggAnimationIdle
|
||||
ld c, BANK(EggAnimationIdle)
|
||||
.idles_egg
|
||||
|
||||
ld a, c
|
||||
ld [wPokeAnimPointerBank], a
|
||||
|
@ -55,7 +55,7 @@ PlayerObjectTemplate: ; 8071
|
||||
; A dummy map object used to initialize the player object.
|
||||
; Shorter than the actual amount copied by two bytes.
|
||||
; Said bytes seem to be unused.
|
||||
object_event SPRITE_CHRIS, -4, -4, SPRITEMOVEDATA_PLAYER, 15, 15, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, 0, -1
|
||||
object_event -4, -4, SPRITE_CHRIS, SPRITEMOVEDATA_PLAYER, 15, 15, -1, -1, 0, OBJECTTYPE_SCRIPT, 0, 0, -1
|
||||
|
||||
CopyDECoordsToMapObject:: ; 807e
|
||||
push de
|
||||
|
@ -147,9 +147,9 @@ ScriptCommandTable:
|
||||
dw Script_loadmenudata ; 4f
|
||||
dw Script_closewindow ; 50
|
||||
dw Script_jumptextfaceplayer ; 51
|
||||
IF _CRYSTAL
|
||||
if _CRYSTAL
|
||||
dw Script_farjumptext ; 52
|
||||
ENDC
|
||||
endc
|
||||
dw Script_jumptext ; 53
|
||||
dw Script_waitbutton ; 54
|
||||
dw Script_buttonsound ; 55
|
||||
@ -338,7 +338,7 @@ JumpTextScript:
|
||||
end
|
||||
|
||||
|
||||
IF _CRYSTAL
|
||||
if _CRYSTAL
|
||||
|
||||
Script_farjumptext:
|
||||
; script command 0x52
|
||||
@ -355,7 +355,7 @@ Script_farjumptext:
|
||||
ld hl, JumpTextScript
|
||||
jp ScriptJump
|
||||
|
||||
ENDC
|
||||
endc
|
||||
|
||||
|
||||
Script_writetext:
|
||||
|
@ -1,253 +1,253 @@
|
||||
PicAnimations:
|
||||
BulbasaurAnimation: INCLUDE "gfx/pokemon/bulbasaur/anim0.asm"
|
||||
IvysaurAnimation: INCLUDE "gfx/pokemon/ivysaur/anim0.asm"
|
||||
VenusaurAnimation: INCLUDE "gfx/pokemon/venusaur/anim0.asm"
|
||||
CharmanderAnimation: INCLUDE "gfx/pokemon/charmander/anim0.asm"
|
||||
CharmeleonAnimation: INCLUDE "gfx/pokemon/charmeleon/anim0.asm"
|
||||
CharizardAnimation: INCLUDE "gfx/pokemon/charizard/anim0.asm"
|
||||
SquirtleAnimation: INCLUDE "gfx/pokemon/squirtle/anim0.asm"
|
||||
WartortleAnimation: INCLUDE "gfx/pokemon/wartortle/anim0.asm"
|
||||
BlastoiseAnimation: INCLUDE "gfx/pokemon/blastoise/anim0.asm"
|
||||
CaterpieAnimation: INCLUDE "gfx/pokemon/caterpie/anim0.asm"
|
||||
MetapodAnimation: INCLUDE "gfx/pokemon/metapod/anim0.asm"
|
||||
ButterfreeAnimation: INCLUDE "gfx/pokemon/butterfree/anim0.asm"
|
||||
WeedleAnimation: INCLUDE "gfx/pokemon/weedle/anim0.asm"
|
||||
KakunaAnimation: INCLUDE "gfx/pokemon/kakuna/anim0.asm"
|
||||
BeedrillAnimation: INCLUDE "gfx/pokemon/beedrill/anim0.asm"
|
||||
PidgeyAnimation: INCLUDE "gfx/pokemon/pidgey/anim0.asm"
|
||||
PidgeottoAnimation: INCLUDE "gfx/pokemon/pidgeotto/anim0.asm"
|
||||
PidgeotAnimation: INCLUDE "gfx/pokemon/pidgeot/anim0.asm"
|
||||
RattataAnimation: INCLUDE "gfx/pokemon/rattata/anim0.asm"
|
||||
RaticateAnimation: INCLUDE "gfx/pokemon/raticate/anim0.asm"
|
||||
SpearowAnimation: INCLUDE "gfx/pokemon/spearow/anim0.asm"
|
||||
FearowAnimation: INCLUDE "gfx/pokemon/fearow/anim0.asm"
|
||||
EkansAnimation: INCLUDE "gfx/pokemon/ekans/anim0.asm"
|
||||
ArbokAnimation: INCLUDE "gfx/pokemon/arbok/anim0.asm"
|
||||
PikachuAnimation: INCLUDE "gfx/pokemon/pikachu/anim0.asm"
|
||||
RaichuAnimation: INCLUDE "gfx/pokemon/raichu/anim0.asm"
|
||||
SandshrewAnimation: INCLUDE "gfx/pokemon/sandshrew/anim0.asm"
|
||||
SandslashAnimation: INCLUDE "gfx/pokemon/sandslash/anim0.asm"
|
||||
NidoranFAnimation: INCLUDE "gfx/pokemon/nidoran_f/anim0.asm"
|
||||
NidorinaAnimation: INCLUDE "gfx/pokemon/nidorina/anim0.asm"
|
||||
NidoqueenAnimation: INCLUDE "gfx/pokemon/nidoqueen/anim0.asm"
|
||||
NidoranMAnimation: INCLUDE "gfx/pokemon/nidoran_m/anim0.asm"
|
||||
NidorinoAnimation: INCLUDE "gfx/pokemon/nidorino/anim0.asm"
|
||||
NidokingAnimation: INCLUDE "gfx/pokemon/nidoking/anim0.asm"
|
||||
ClefairyAnimation: INCLUDE "gfx/pokemon/clefairy/anim0.asm"
|
||||
ClefableAnimation: INCLUDE "gfx/pokemon/clefable/anim0.asm"
|
||||
VulpixAnimation: INCLUDE "gfx/pokemon/vulpix/anim0.asm"
|
||||
NinetalesAnimation: INCLUDE "gfx/pokemon/ninetales/anim0.asm"
|
||||
JigglypuffAnimation: INCLUDE "gfx/pokemon/jigglypuff/anim0.asm"
|
||||
WigglytuffAnimation: INCLUDE "gfx/pokemon/wigglytuff/anim0.asm"
|
||||
ZubatAnimation: INCLUDE "gfx/pokemon/zubat/anim0.asm"
|
||||
GolbatAnimation: INCLUDE "gfx/pokemon/golbat/anim0.asm"
|
||||
OddishAnimation: INCLUDE "gfx/pokemon/oddish/anim0.asm"
|
||||
GloomAnimation: INCLUDE "gfx/pokemon/gloom/anim0.asm"
|
||||
VileplumeAnimation: INCLUDE "gfx/pokemon/vileplume/anim0.asm"
|
||||
ParasAnimation: INCLUDE "gfx/pokemon/paras/anim0.asm"
|
||||
ParasectAnimation: INCLUDE "gfx/pokemon/parasect/anim0.asm"
|
||||
VenonatAnimation: INCLUDE "gfx/pokemon/venonat/anim0.asm"
|
||||
VenomothAnimation: INCLUDE "gfx/pokemon/venomoth/anim0.asm"
|
||||
DiglettAnimation: INCLUDE "gfx/pokemon/diglett/anim0.asm"
|
||||
DugtrioAnimation: INCLUDE "gfx/pokemon/dugtrio/anim0.asm"
|
||||
MeowthAnimation: INCLUDE "gfx/pokemon/meowth/anim0.asm"
|
||||
PersianAnimation: INCLUDE "gfx/pokemon/persian/anim0.asm"
|
||||
PsyduckAnimation: INCLUDE "gfx/pokemon/psyduck/anim0.asm"
|
||||
GolduckAnimation: INCLUDE "gfx/pokemon/golduck/anim0.asm"
|
||||
MankeyAnimation: INCLUDE "gfx/pokemon/mankey/anim0.asm"
|
||||
PrimeapeAnimation: INCLUDE "gfx/pokemon/primeape/anim0.asm"
|
||||
GrowlitheAnimation: INCLUDE "gfx/pokemon/growlithe/anim0.asm"
|
||||
ArcanineAnimation: INCLUDE "gfx/pokemon/arcanine/anim0.asm"
|
||||
PoliwagAnimation: INCLUDE "gfx/pokemon/poliwag/anim0.asm"
|
||||
PoliwhirlAnimation: INCLUDE "gfx/pokemon/poliwhirl/anim0.asm"
|
||||
PoliwrathAnimation: INCLUDE "gfx/pokemon/poliwrath/anim0.asm"
|
||||
AbraAnimation: INCLUDE "gfx/pokemon/abra/anim0.asm"
|
||||
KadabraAnimation: INCLUDE "gfx/pokemon/kadabra/anim0.asm"
|
||||
AlakazamAnimation: INCLUDE "gfx/pokemon/alakazam/anim0.asm"
|
||||
MachopAnimation: INCLUDE "gfx/pokemon/machop/anim0.asm"
|
||||
MachokeAnimation: INCLUDE "gfx/pokemon/machoke/anim0.asm"
|
||||
MachampAnimation: INCLUDE "gfx/pokemon/machamp/anim0.asm"
|
||||
BellsproutAnimation: INCLUDE "gfx/pokemon/bellsprout/anim0.asm"
|
||||
WeepinbellAnimation: INCLUDE "gfx/pokemon/weepinbell/anim0.asm"
|
||||
VictreebelAnimation: INCLUDE "gfx/pokemon/victreebel/anim0.asm"
|
||||
TentacoolAnimation: INCLUDE "gfx/pokemon/tentacool/anim0.asm"
|
||||
TentacruelAnimation: INCLUDE "gfx/pokemon/tentacruel/anim0.asm"
|
||||
GeodudeAnimation: INCLUDE "gfx/pokemon/geodude/anim0.asm"
|
||||
GravelerAnimation: INCLUDE "gfx/pokemon/graveler/anim0.asm"
|
||||
GolemAnimation: INCLUDE "gfx/pokemon/golem/anim0.asm"
|
||||
PonytaAnimation: INCLUDE "gfx/pokemon/ponyta/anim0.asm"
|
||||
RapidashAnimation: INCLUDE "gfx/pokemon/rapidash/anim0.asm"
|
||||
SlowpokeAnimation: INCLUDE "gfx/pokemon/slowpoke/anim0.asm"
|
||||
SlowbroAnimation: INCLUDE "gfx/pokemon/slowbro/anim0.asm"
|
||||
MagnemiteAnimation: INCLUDE "gfx/pokemon/magnemite/anim0.asm"
|
||||
MagnetonAnimation: INCLUDE "gfx/pokemon/magneton/anim0.asm"
|
||||
FarfetchDAnimation: INCLUDE "gfx/pokemon/farfetch_d/anim0.asm"
|
||||
DoduoAnimation: INCLUDE "gfx/pokemon/doduo/anim0.asm"
|
||||
DodrioAnimation: INCLUDE "gfx/pokemon/dodrio/anim0.asm"
|
||||
SeelAnimation: INCLUDE "gfx/pokemon/seel/anim0.asm"
|
||||
DewgongAnimation: INCLUDE "gfx/pokemon/dewgong/anim0.asm"
|
||||
GrimerAnimation: INCLUDE "gfx/pokemon/grimer/anim0.asm"
|
||||
MukAnimation: INCLUDE "gfx/pokemon/muk/anim0.asm"
|
||||
ShellderAnimation: INCLUDE "gfx/pokemon/shellder/anim0.asm"
|
||||
CloysterAnimation: INCLUDE "gfx/pokemon/cloyster/anim0.asm"
|
||||
GastlyAnimation: INCLUDE "gfx/pokemon/gastly/anim0.asm"
|
||||
HaunterAnimation: INCLUDE "gfx/pokemon/haunter/anim0.asm"
|
||||
GengarAnimation: INCLUDE "gfx/pokemon/gengar/anim0.asm"
|
||||
OnixAnimation: INCLUDE "gfx/pokemon/onix/anim0.asm"
|
||||
DrowzeeAnimation: INCLUDE "gfx/pokemon/drowzee/anim0.asm"
|
||||
HypnoAnimation: INCLUDE "gfx/pokemon/hypno/anim0.asm"
|
||||
KrabbyAnimation: INCLUDE "gfx/pokemon/krabby/anim0.asm"
|
||||
KinglerAnimation: INCLUDE "gfx/pokemon/kingler/anim0.asm"
|
||||
VoltorbAnimation: INCLUDE "gfx/pokemon/voltorb/anim0.asm"
|
||||
ElectrodeAnimation: INCLUDE "gfx/pokemon/electrode/anim0.asm"
|
||||
ExeggcuteAnimation: INCLUDE "gfx/pokemon/exeggcute/anim0.asm"
|
||||
ExeggutorAnimation: INCLUDE "gfx/pokemon/exeggutor/anim0.asm"
|
||||
CuboneAnimation: INCLUDE "gfx/pokemon/cubone/anim0.asm"
|
||||
MarowakAnimation: INCLUDE "gfx/pokemon/marowak/anim0.asm"
|
||||
HitmonleeAnimation: INCLUDE "gfx/pokemon/hitmonlee/anim0.asm"
|
||||
HitmonchanAnimation: INCLUDE "gfx/pokemon/hitmonchan/anim0.asm"
|
||||
LickitungAnimation: INCLUDE "gfx/pokemon/lickitung/anim0.asm"
|
||||
KoffingAnimation: INCLUDE "gfx/pokemon/koffing/anim0.asm"
|
||||
WeezingAnimation: INCLUDE "gfx/pokemon/weezing/anim0.asm"
|
||||
RhyhornAnimation: INCLUDE "gfx/pokemon/rhyhorn/anim0.asm"
|
||||
RhydonAnimation: INCLUDE "gfx/pokemon/rhydon/anim0.asm"
|
||||
ChanseyAnimation: INCLUDE "gfx/pokemon/chansey/anim0.asm"
|
||||
TangelaAnimation: INCLUDE "gfx/pokemon/tangela/anim0.asm"
|
||||
KangaskhanAnimation: INCLUDE "gfx/pokemon/kangaskhan/anim0.asm"
|
||||
HorseaAnimation: INCLUDE "gfx/pokemon/horsea/anim0.asm"
|
||||
SeadraAnimation: INCLUDE "gfx/pokemon/seadra/anim0.asm"
|
||||
GoldeenAnimation: INCLUDE "gfx/pokemon/goldeen/anim0.asm"
|
||||
SeakingAnimation: INCLUDE "gfx/pokemon/seaking/anim0.asm"
|
||||
StaryuAnimation: INCLUDE "gfx/pokemon/staryu/anim0.asm"
|
||||
StarmieAnimation: INCLUDE "gfx/pokemon/starmie/anim0.asm"
|
||||
MrMimeAnimation: INCLUDE "gfx/pokemon/mr__mime/anim0.asm"
|
||||
ScytherAnimation: INCLUDE "gfx/pokemon/scyther/anim0.asm"
|
||||
JynxAnimation: INCLUDE "gfx/pokemon/jynx/anim0.asm"
|
||||
ElectabuzzAnimation: INCLUDE "gfx/pokemon/electabuzz/anim0.asm"
|
||||
MagmarAnimation: INCLUDE "gfx/pokemon/magmar/anim0.asm"
|
||||
PinsirAnimation: INCLUDE "gfx/pokemon/pinsir/anim0.asm"
|
||||
TaurosAnimation: INCLUDE "gfx/pokemon/tauros/anim0.asm"
|
||||
MagikarpAnimation: INCLUDE "gfx/pokemon/magikarp/anim0.asm"
|
||||
GyaradosAnimation: INCLUDE "gfx/pokemon/gyarados/anim0.asm"
|
||||
LaprasAnimation: INCLUDE "gfx/pokemon/lapras/anim0.asm"
|
||||
DittoAnimation: INCLUDE "gfx/pokemon/ditto/anim0.asm"
|
||||
EeveeAnimation: INCLUDE "gfx/pokemon/eevee/anim0.asm"
|
||||
VaporeonAnimation: INCLUDE "gfx/pokemon/vaporeon/anim0.asm"
|
||||
JolteonAnimation: INCLUDE "gfx/pokemon/jolteon/anim0.asm"
|
||||
FlareonAnimation: INCLUDE "gfx/pokemon/flareon/anim0.asm"
|
||||
PorygonAnimation: INCLUDE "gfx/pokemon/porygon/anim0.asm"
|
||||
OmanyteAnimation: INCLUDE "gfx/pokemon/omanyte/anim0.asm"
|
||||
OmastarAnimation: INCLUDE "gfx/pokemon/omastar/anim0.asm"
|
||||
KabutoAnimation: INCLUDE "gfx/pokemon/kabuto/anim0.asm"
|
||||
KabutopsAnimation: INCLUDE "gfx/pokemon/kabutops/anim0.asm"
|
||||
AerodactylAnimation: INCLUDE "gfx/pokemon/aerodactyl/anim0.asm"
|
||||
SnorlaxAnimation: INCLUDE "gfx/pokemon/snorlax/anim0.asm"
|
||||
ArticunoAnimation: INCLUDE "gfx/pokemon/articuno/anim0.asm"
|
||||
ZapdosAnimation: INCLUDE "gfx/pokemon/zapdos/anim0.asm"
|
||||
MoltresAnimation: INCLUDE "gfx/pokemon/moltres/anim0.asm"
|
||||
DratiniAnimation: INCLUDE "gfx/pokemon/dratini/anim0.asm"
|
||||
DragonairAnimation: INCLUDE "gfx/pokemon/dragonair/anim0.asm"
|
||||
DragoniteAnimation: INCLUDE "gfx/pokemon/dragonite/anim0.asm"
|
||||
MewtwoAnimation: INCLUDE "gfx/pokemon/mewtwo/anim0.asm"
|
||||
MewAnimation: INCLUDE "gfx/pokemon/mew/anim0.asm"
|
||||
ChikoritaAnimation: INCLUDE "gfx/pokemon/chikorita/anim0.asm"
|
||||
BayleefAnimation: INCLUDE "gfx/pokemon/bayleef/anim0.asm"
|
||||
MeganiumAnimation: INCLUDE "gfx/pokemon/meganium/anim0.asm"
|
||||
CyndaquilAnimation: INCLUDE "gfx/pokemon/cyndaquil/anim0.asm"
|
||||
QuilavaAnimation: INCLUDE "gfx/pokemon/quilava/anim0.asm"
|
||||
TyphlosionAnimation: INCLUDE "gfx/pokemon/typhlosion/anim0.asm"
|
||||
TotodileAnimation: INCLUDE "gfx/pokemon/totodile/anim0.asm"
|
||||
CroconawAnimation: INCLUDE "gfx/pokemon/croconaw/anim0.asm"
|
||||
FeraligatrAnimation: INCLUDE "gfx/pokemon/feraligatr/anim0.asm"
|
||||
SentretAnimation: INCLUDE "gfx/pokemon/sentret/anim0.asm"
|
||||
FurretAnimation: INCLUDE "gfx/pokemon/furret/anim0.asm"
|
||||
HoothootAnimation: INCLUDE "gfx/pokemon/hoothoot/anim0.asm"
|
||||
NoctowlAnimation: INCLUDE "gfx/pokemon/noctowl/anim0.asm"
|
||||
LedybaAnimation: INCLUDE "gfx/pokemon/ledyba/anim0.asm"
|
||||
LedianAnimation: INCLUDE "gfx/pokemon/ledian/anim0.asm"
|
||||
SpinarakAnimation: INCLUDE "gfx/pokemon/spinarak/anim0.asm"
|
||||
AriadosAnimation: INCLUDE "gfx/pokemon/ariados/anim0.asm"
|
||||
CrobatAnimation: INCLUDE "gfx/pokemon/crobat/anim0.asm"
|
||||
ChinchouAnimation: INCLUDE "gfx/pokemon/chinchou/anim0.asm"
|
||||
LanturnAnimation: INCLUDE "gfx/pokemon/lanturn/anim0.asm"
|
||||
PichuAnimation: INCLUDE "gfx/pokemon/pichu/anim0.asm"
|
||||
CleffaAnimation: INCLUDE "gfx/pokemon/cleffa/anim0.asm"
|
||||
IgglybuffAnimation: INCLUDE "gfx/pokemon/igglybuff/anim0.asm"
|
||||
TogepiAnimation: INCLUDE "gfx/pokemon/togepi/anim0.asm"
|
||||
TogeticAnimation: INCLUDE "gfx/pokemon/togetic/anim0.asm"
|
||||
NatuAnimation: INCLUDE "gfx/pokemon/natu/anim0.asm"
|
||||
XatuAnimation: INCLUDE "gfx/pokemon/xatu/anim0.asm"
|
||||
MareepAnimation: INCLUDE "gfx/pokemon/mareep/anim0.asm"
|
||||
FlaaffyAnimation: INCLUDE "gfx/pokemon/flaaffy/anim0.asm"
|
||||
AmpharosAnimation: INCLUDE "gfx/pokemon/ampharos/anim0.asm"
|
||||
BellossomAnimation: INCLUDE "gfx/pokemon/bellossom/anim0.asm"
|
||||
MarillAnimation: INCLUDE "gfx/pokemon/marill/anim0.asm"
|
||||
AzumarillAnimation: INCLUDE "gfx/pokemon/azumarill/anim0.asm"
|
||||
SudowoodoAnimation: INCLUDE "gfx/pokemon/sudowoodo/anim0.asm"
|
||||
PolitoedAnimation: INCLUDE "gfx/pokemon/politoed/anim0.asm"
|
||||
HoppipAnimation: INCLUDE "gfx/pokemon/hoppip/anim0.asm"
|
||||
SkiploomAnimation: INCLUDE "gfx/pokemon/skiploom/anim0.asm"
|
||||
JumpluffAnimation: INCLUDE "gfx/pokemon/jumpluff/anim0.asm"
|
||||
AipomAnimation: INCLUDE "gfx/pokemon/aipom/anim0.asm"
|
||||
SunkernAnimation: INCLUDE "gfx/pokemon/sunkern/anim0.asm"
|
||||
SunfloraAnimation: INCLUDE "gfx/pokemon/sunflora/anim0.asm"
|
||||
YanmaAnimation: INCLUDE "gfx/pokemon/yanma/anim0.asm"
|
||||
WooperAnimation: INCLUDE "gfx/pokemon/wooper/anim0.asm"
|
||||
QuagsireAnimation: INCLUDE "gfx/pokemon/quagsire/anim0.asm"
|
||||
EspeonAnimation: INCLUDE "gfx/pokemon/espeon/anim0.asm"
|
||||
UmbreonAnimation: INCLUDE "gfx/pokemon/umbreon/anim0.asm"
|
||||
MurkrowAnimation: INCLUDE "gfx/pokemon/murkrow/anim0.asm"
|
||||
SlowkingAnimation: INCLUDE "gfx/pokemon/slowking/anim0.asm"
|
||||
MisdreavusAnimation: INCLUDE "gfx/pokemon/misdreavus/anim0.asm"
|
||||
UnownAnimation: INCLUDE "gfx/pokemon/unown/anim0.asm"
|
||||
WobbuffetAnimation: INCLUDE "gfx/pokemon/wobbuffet/anim0.asm"
|
||||
GirafarigAnimation: INCLUDE "gfx/pokemon/girafarig/anim0.asm"
|
||||
PinecoAnimation: INCLUDE "gfx/pokemon/pineco/anim0.asm"
|
||||
ForretressAnimation: INCLUDE "gfx/pokemon/forretress/anim0.asm"
|
||||
DunsparceAnimation: INCLUDE "gfx/pokemon/dunsparce/anim0.asm"
|
||||
GligarAnimation: INCLUDE "gfx/pokemon/gligar/anim0.asm"
|
||||
SteelixAnimation: INCLUDE "gfx/pokemon/steelix/anim0.asm"
|
||||
SnubbullAnimation: INCLUDE "gfx/pokemon/snubbull/anim0.asm"
|
||||
GranbullAnimation: INCLUDE "gfx/pokemon/granbull/anim0.asm"
|
||||
QwilfishAnimation: INCLUDE "gfx/pokemon/qwilfish/anim0.asm"
|
||||
ScizorAnimation: INCLUDE "gfx/pokemon/scizor/anim0.asm"
|
||||
ShuckleAnimation: INCLUDE "gfx/pokemon/shuckle/anim0.asm"
|
||||
HeracrossAnimation: INCLUDE "gfx/pokemon/heracross/anim0.asm"
|
||||
SneaselAnimation: INCLUDE "gfx/pokemon/sneasel/anim0.asm"
|
||||
TeddiursaAnimation: INCLUDE "gfx/pokemon/teddiursa/anim0.asm"
|
||||
UrsaringAnimation: INCLUDE "gfx/pokemon/ursaring/anim0.asm"
|
||||
SlugmaAnimation: INCLUDE "gfx/pokemon/slugma/anim0.asm"
|
||||
MagcargoAnimation: INCLUDE "gfx/pokemon/magcargo/anim0.asm"
|
||||
SwinubAnimation: INCLUDE "gfx/pokemon/swinub/anim0.asm"
|
||||
PiloswineAnimation: INCLUDE "gfx/pokemon/piloswine/anim0.asm"
|
||||
CorsolaAnimation: INCLUDE "gfx/pokemon/corsola/anim0.asm"
|
||||
RemoraidAnimation: INCLUDE "gfx/pokemon/remoraid/anim0.asm"
|
||||
OctilleryAnimation: INCLUDE "gfx/pokemon/octillery/anim0.asm"
|
||||
DelibirdAnimation: INCLUDE "gfx/pokemon/delibird/anim0.asm"
|
||||
MantineAnimation: INCLUDE "gfx/pokemon/mantine/anim0.asm"
|
||||
SkarmoryAnimation: INCLUDE "gfx/pokemon/skarmory/anim0.asm"
|
||||
HoundourAnimation: INCLUDE "gfx/pokemon/houndour/anim0.asm"
|
||||
HoundoomAnimation: INCLUDE "gfx/pokemon/houndoom/anim0.asm"
|
||||
KingdraAnimation: INCLUDE "gfx/pokemon/kingdra/anim0.asm"
|
||||
PhanpyAnimation: INCLUDE "gfx/pokemon/phanpy/anim0.asm"
|
||||
DonphanAnimation: INCLUDE "gfx/pokemon/donphan/anim0.asm"
|
||||
Porygon2Animation: INCLUDE "gfx/pokemon/porygon2/anim0.asm"
|
||||
StantlerAnimation: INCLUDE "gfx/pokemon/stantler/anim0.asm"
|
||||
SmeargleAnimation: INCLUDE "gfx/pokemon/smeargle/anim0.asm"
|
||||
TyrogueAnimation: INCLUDE "gfx/pokemon/tyrogue/anim0.asm"
|
||||
HitmontopAnimation: INCLUDE "gfx/pokemon/hitmontop/anim0.asm"
|
||||
SmoochumAnimation: INCLUDE "gfx/pokemon/smoochum/anim0.asm"
|
||||
ElekidAnimation: INCLUDE "gfx/pokemon/elekid/anim0.asm"
|
||||
MagbyAnimation: INCLUDE "gfx/pokemon/magby/anim0.asm"
|
||||
MiltankAnimation: INCLUDE "gfx/pokemon/miltank/anim0.asm"
|
||||
BlisseyAnimation: INCLUDE "gfx/pokemon/blissey/anim0.asm"
|
||||
RaikouAnimation: INCLUDE "gfx/pokemon/raikou/anim0.asm"
|
||||
EnteiAnimation: INCLUDE "gfx/pokemon/entei/anim0.asm"
|
||||
SuicuneAnimation: INCLUDE "gfx/pokemon/suicune/anim0.asm"
|
||||
LarvitarAnimation: INCLUDE "gfx/pokemon/larvitar/anim0.asm"
|
||||
PupitarAnimation: INCLUDE "gfx/pokemon/pupitar/anim0.asm"
|
||||
TyranitarAnimation: INCLUDE "gfx/pokemon/tyranitar/anim0.asm"
|
||||
LugiaAnimation: INCLUDE "gfx/pokemon/lugia/anim0.asm"
|
||||
HoOhAnimation: INCLUDE "gfx/pokemon/ho_oh/anim0.asm"
|
||||
CelebiAnimation: INCLUDE "gfx/pokemon/celebi/anim0.asm"
|
||||
EggAnimation: INCLUDE "gfx/pokemon/egg/anim0.asm"
|
||||
BulbasaurAnimation: INCLUDE "gfx/pokemon/bulbasaur/anim.asm"
|
||||
IvysaurAnimation: INCLUDE "gfx/pokemon/ivysaur/anim.asm"
|
||||
VenusaurAnimation: INCLUDE "gfx/pokemon/venusaur/anim.asm"
|
||||
CharmanderAnimation: INCLUDE "gfx/pokemon/charmander/anim.asm"
|
||||
CharmeleonAnimation: INCLUDE "gfx/pokemon/charmeleon/anim.asm"
|
||||
CharizardAnimation: INCLUDE "gfx/pokemon/charizard/anim.asm"
|
||||
SquirtleAnimation: INCLUDE "gfx/pokemon/squirtle/anim.asm"
|
||||
WartortleAnimation: INCLUDE "gfx/pokemon/wartortle/anim.asm"
|
||||
BlastoiseAnimation: INCLUDE "gfx/pokemon/blastoise/anim.asm"
|
||||
CaterpieAnimation: INCLUDE "gfx/pokemon/caterpie/anim.asm"
|
||||
MetapodAnimation: INCLUDE "gfx/pokemon/metapod/anim.asm"
|
||||
ButterfreeAnimation: INCLUDE "gfx/pokemon/butterfree/anim.asm"
|
||||
WeedleAnimation: INCLUDE "gfx/pokemon/weedle/anim.asm"
|
||||
KakunaAnimation: INCLUDE "gfx/pokemon/kakuna/anim.asm"
|
||||
BeedrillAnimation: INCLUDE "gfx/pokemon/beedrill/anim.asm"
|
||||
PidgeyAnimation: INCLUDE "gfx/pokemon/pidgey/anim.asm"
|
||||
PidgeottoAnimation: INCLUDE "gfx/pokemon/pidgeotto/anim.asm"
|
||||
PidgeotAnimation: INCLUDE "gfx/pokemon/pidgeot/anim.asm"
|
||||
RattataAnimation: INCLUDE "gfx/pokemon/rattata/anim.asm"
|
||||
RaticateAnimation: INCLUDE "gfx/pokemon/raticate/anim.asm"
|
||||
SpearowAnimation: INCLUDE "gfx/pokemon/spearow/anim.asm"
|
||||
FearowAnimation: INCLUDE "gfx/pokemon/fearow/anim.asm"
|
||||
EkansAnimation: INCLUDE "gfx/pokemon/ekans/anim.asm"
|
||||
ArbokAnimation: INCLUDE "gfx/pokemon/arbok/anim.asm"
|
||||
PikachuAnimation: INCLUDE "gfx/pokemon/pikachu/anim.asm"
|
||||
RaichuAnimation: INCLUDE "gfx/pokemon/raichu/anim.asm"
|
||||
SandshrewAnimation: INCLUDE "gfx/pokemon/sandshrew/anim.asm"
|
||||
SandslashAnimation: INCLUDE "gfx/pokemon/sandslash/anim.asm"
|
||||
NidoranFAnimation: INCLUDE "gfx/pokemon/nidoran_f/anim.asm"
|
||||
NidorinaAnimation: INCLUDE "gfx/pokemon/nidorina/anim.asm"
|
||||
NidoqueenAnimation: INCLUDE "gfx/pokemon/nidoqueen/anim.asm"
|
||||
NidoranMAnimation: INCLUDE "gfx/pokemon/nidoran_m/anim.asm"
|
||||
NidorinoAnimation: INCLUDE "gfx/pokemon/nidorino/anim.asm"
|
||||
NidokingAnimation: INCLUDE "gfx/pokemon/nidoking/anim.asm"
|
||||
ClefairyAnimation: INCLUDE "gfx/pokemon/clefairy/anim.asm"
|
||||
ClefableAnimation: INCLUDE "gfx/pokemon/clefable/anim.asm"
|
||||
VulpixAnimation: INCLUDE "gfx/pokemon/vulpix/anim.asm"
|
||||
NinetalesAnimation: INCLUDE "gfx/pokemon/ninetales/anim.asm"
|
||||
JigglypuffAnimation: INCLUDE "gfx/pokemon/jigglypuff/anim.asm"
|
||||
WigglytuffAnimation: INCLUDE "gfx/pokemon/wigglytuff/anim.asm"
|
||||
ZubatAnimation: INCLUDE "gfx/pokemon/zubat/anim.asm"
|
||||
GolbatAnimation: INCLUDE "gfx/pokemon/golbat/anim.asm"
|
||||
OddishAnimation: INCLUDE "gfx/pokemon/oddish/anim.asm"
|
||||
GloomAnimation: INCLUDE "gfx/pokemon/gloom/anim.asm"
|
||||
VileplumeAnimation: INCLUDE "gfx/pokemon/vileplume/anim.asm"
|
||||
ParasAnimation: INCLUDE "gfx/pokemon/paras/anim.asm"
|
||||
ParasectAnimation: INCLUDE "gfx/pokemon/parasect/anim.asm"
|
||||
VenonatAnimation: INCLUDE "gfx/pokemon/venonat/anim.asm"
|
||||
VenomothAnimation: INCLUDE "gfx/pokemon/venomoth/anim.asm"
|
||||
DiglettAnimation: INCLUDE "gfx/pokemon/diglett/anim.asm"
|
||||
DugtrioAnimation: INCLUDE "gfx/pokemon/dugtrio/anim.asm"
|
||||
MeowthAnimation: INCLUDE "gfx/pokemon/meowth/anim.asm"
|
||||
PersianAnimation: INCLUDE "gfx/pokemon/persian/anim.asm"
|
||||
PsyduckAnimation: INCLUDE "gfx/pokemon/psyduck/anim.asm"
|
||||
GolduckAnimation: INCLUDE "gfx/pokemon/golduck/anim.asm"
|
||||
MankeyAnimation: INCLUDE "gfx/pokemon/mankey/anim.asm"
|
||||
PrimeapeAnimation: INCLUDE "gfx/pokemon/primeape/anim.asm"
|
||||
GrowlitheAnimation: INCLUDE "gfx/pokemon/growlithe/anim.asm"
|
||||
ArcanineAnimation: INCLUDE "gfx/pokemon/arcanine/anim.asm"
|
||||
PoliwagAnimation: INCLUDE "gfx/pokemon/poliwag/anim.asm"
|
||||
PoliwhirlAnimation: INCLUDE "gfx/pokemon/poliwhirl/anim.asm"
|
||||
PoliwrathAnimation: INCLUDE "gfx/pokemon/poliwrath/anim.asm"
|
||||
AbraAnimation: INCLUDE "gfx/pokemon/abra/anim.asm"
|
||||
KadabraAnimation: INCLUDE "gfx/pokemon/kadabra/anim.asm"
|
||||
AlakazamAnimation: INCLUDE "gfx/pokemon/alakazam/anim.asm"
|
||||
MachopAnimation: INCLUDE "gfx/pokemon/machop/anim.asm"
|
||||
MachokeAnimation: INCLUDE "gfx/pokemon/machoke/anim.asm"
|
||||
MachampAnimation: INCLUDE "gfx/pokemon/machamp/anim.asm"
|
||||
BellsproutAnimation: INCLUDE "gfx/pokemon/bellsprout/anim.asm"
|
||||
WeepinbellAnimation: INCLUDE "gfx/pokemon/weepinbell/anim.asm"
|
||||
VictreebelAnimation: INCLUDE "gfx/pokemon/victreebel/anim.asm"
|
||||
TentacoolAnimation: INCLUDE "gfx/pokemon/tentacool/anim.asm"
|
||||
TentacruelAnimation: INCLUDE "gfx/pokemon/tentacruel/anim.asm"
|
||||
GeodudeAnimation: INCLUDE "gfx/pokemon/geodude/anim.asm"
|
||||
GravelerAnimation: INCLUDE "gfx/pokemon/graveler/anim.asm"
|
||||
GolemAnimation: INCLUDE "gfx/pokemon/golem/anim.asm"
|
||||
PonytaAnimation: INCLUDE "gfx/pokemon/ponyta/anim.asm"
|
||||
RapidashAnimation: INCLUDE "gfx/pokemon/rapidash/anim.asm"
|
||||
SlowpokeAnimation: INCLUDE "gfx/pokemon/slowpoke/anim.asm"
|
||||
SlowbroAnimation: INCLUDE "gfx/pokemon/slowbro/anim.asm"
|
||||
MagnemiteAnimation: INCLUDE "gfx/pokemon/magnemite/anim.asm"
|
||||
MagnetonAnimation: INCLUDE "gfx/pokemon/magneton/anim.asm"
|
||||
FarfetchDAnimation: INCLUDE "gfx/pokemon/farfetch_d/anim.asm"
|
||||
DoduoAnimation: INCLUDE "gfx/pokemon/doduo/anim.asm"
|
||||
DodrioAnimation: INCLUDE "gfx/pokemon/dodrio/anim.asm"
|
||||
SeelAnimation: INCLUDE "gfx/pokemon/seel/anim.asm"
|
||||
DewgongAnimation: INCLUDE "gfx/pokemon/dewgong/anim.asm"
|
||||
GrimerAnimation: INCLUDE "gfx/pokemon/grimer/anim.asm"
|
||||
MukAnimation: INCLUDE "gfx/pokemon/muk/anim.asm"
|
||||
ShellderAnimation: INCLUDE "gfx/pokemon/shellder/anim.asm"
|
||||
CloysterAnimation: INCLUDE "gfx/pokemon/cloyster/anim.asm"
|
||||
GastlyAnimation: INCLUDE "gfx/pokemon/gastly/anim.asm"
|
||||
HaunterAnimation: INCLUDE "gfx/pokemon/haunter/anim.asm"
|
||||
GengarAnimation: INCLUDE "gfx/pokemon/gengar/anim.asm"
|
||||
OnixAnimation: INCLUDE "gfx/pokemon/onix/anim.asm"
|
||||
DrowzeeAnimation: INCLUDE "gfx/pokemon/drowzee/anim.asm"
|
||||
HypnoAnimation: INCLUDE "gfx/pokemon/hypno/anim.asm"
|
||||
KrabbyAnimation: INCLUDE "gfx/pokemon/krabby/anim.asm"
|
||||
KinglerAnimation: INCLUDE "gfx/pokemon/kingler/anim.asm"
|
||||
VoltorbAnimation: INCLUDE "gfx/pokemon/voltorb/anim.asm"
|
||||
ElectrodeAnimation: INCLUDE "gfx/pokemon/electrode/anim.asm"
|
||||
ExeggcuteAnimation: INCLUDE "gfx/pokemon/exeggcute/anim.asm"
|
||||
ExeggutorAnimation: INCLUDE "gfx/pokemon/exeggutor/anim.asm"
|
||||
CuboneAnimation: INCLUDE "gfx/pokemon/cubone/anim.asm"
|
||||
MarowakAnimation: INCLUDE "gfx/pokemon/marowak/anim.asm"
|
||||
HitmonleeAnimation: INCLUDE "gfx/pokemon/hitmonlee/anim.asm"
|
||||
HitmonchanAnimation: INCLUDE "gfx/pokemon/hitmonchan/anim.asm"
|
||||
LickitungAnimation: INCLUDE "gfx/pokemon/lickitung/anim.asm"
|
||||
KoffingAnimation: INCLUDE "gfx/pokemon/koffing/anim.asm"
|
||||
WeezingAnimation: INCLUDE "gfx/pokemon/weezing/anim.asm"
|
||||
RhyhornAnimation: INCLUDE "gfx/pokemon/rhyhorn/anim.asm"
|
||||
RhydonAnimation: INCLUDE "gfx/pokemon/rhydon/anim.asm"
|
||||
ChanseyAnimation: INCLUDE "gfx/pokemon/chansey/anim.asm"
|
||||
TangelaAnimation: INCLUDE "gfx/pokemon/tangela/anim.asm"
|
||||
KangaskhanAnimation: INCLUDE "gfx/pokemon/kangaskhan/anim.asm"
|
||||
HorseaAnimation: INCLUDE "gfx/pokemon/horsea/anim.asm"
|
||||
SeadraAnimation: INCLUDE "gfx/pokemon/seadra/anim.asm"
|
||||
GoldeenAnimation: INCLUDE "gfx/pokemon/goldeen/anim.asm"
|
||||
SeakingAnimation: INCLUDE "gfx/pokemon/seaking/anim.asm"
|
||||
StaryuAnimation: INCLUDE "gfx/pokemon/staryu/anim.asm"
|
||||
StarmieAnimation: INCLUDE "gfx/pokemon/starmie/anim.asm"
|
||||
MrMimeAnimation: INCLUDE "gfx/pokemon/mr__mime/anim.asm"
|
||||
ScytherAnimation: INCLUDE "gfx/pokemon/scyther/anim.asm"
|
||||
JynxAnimation: INCLUDE "gfx/pokemon/jynx/anim.asm"
|
||||
ElectabuzzAnimation: INCLUDE "gfx/pokemon/electabuzz/anim.asm"
|
||||
MagmarAnimation: INCLUDE "gfx/pokemon/magmar/anim.asm"
|
||||
PinsirAnimation: INCLUDE "gfx/pokemon/pinsir/anim.asm"
|
||||
TaurosAnimation: INCLUDE "gfx/pokemon/tauros/anim.asm"
|
||||
MagikarpAnimation: INCLUDE "gfx/pokemon/magikarp/anim.asm"
|
||||
GyaradosAnimation: INCLUDE "gfx/pokemon/gyarados/anim.asm"
|
||||
LaprasAnimation: INCLUDE "gfx/pokemon/lapras/anim.asm"
|
||||
DittoAnimation: INCLUDE "gfx/pokemon/ditto/anim.asm"
|
||||
EeveeAnimation: INCLUDE "gfx/pokemon/eevee/anim.asm"
|
||||
VaporeonAnimation: INCLUDE "gfx/pokemon/vaporeon/anim.asm"
|
||||
JolteonAnimation: INCLUDE "gfx/pokemon/jolteon/anim.asm"
|
||||
FlareonAnimation: INCLUDE "gfx/pokemon/flareon/anim.asm"
|
||||
PorygonAnimation: INCLUDE "gfx/pokemon/porygon/anim.asm"
|
||||
OmanyteAnimation: INCLUDE "gfx/pokemon/omanyte/anim.asm"
|
||||
OmastarAnimation: INCLUDE "gfx/pokemon/omastar/anim.asm"
|
||||
KabutoAnimation: INCLUDE "gfx/pokemon/kabuto/anim.asm"
|
||||
KabutopsAnimation: INCLUDE "gfx/pokemon/kabutops/anim.asm"
|
||||
AerodactylAnimation: INCLUDE "gfx/pokemon/aerodactyl/anim.asm"
|
||||
SnorlaxAnimation: INCLUDE "gfx/pokemon/snorlax/anim.asm"
|
||||
ArticunoAnimation: INCLUDE "gfx/pokemon/articuno/anim.asm"
|
||||
ZapdosAnimation: INCLUDE "gfx/pokemon/zapdos/anim.asm"
|
||||
MoltresAnimation: INCLUDE "gfx/pokemon/moltres/anim.asm"
|
||||
DratiniAnimation: INCLUDE "gfx/pokemon/dratini/anim.asm"
|
||||
DragonairAnimation: INCLUDE "gfx/pokemon/dragonair/anim.asm"
|
||||
DragoniteAnimation: INCLUDE "gfx/pokemon/dragonite/anim.asm"
|
||||
MewtwoAnimation: INCLUDE "gfx/pokemon/mewtwo/anim.asm"
|
||||
MewAnimation: INCLUDE "gfx/pokemon/mew/anim.asm"
|
||||
ChikoritaAnimation: INCLUDE "gfx/pokemon/chikorita/anim.asm"
|
||||
BayleefAnimation: INCLUDE "gfx/pokemon/bayleef/anim.asm"
|
||||
MeganiumAnimation: INCLUDE "gfx/pokemon/meganium/anim.asm"
|
||||
CyndaquilAnimation: INCLUDE "gfx/pokemon/cyndaquil/anim.asm"
|
||||
QuilavaAnimation: INCLUDE "gfx/pokemon/quilava/anim.asm"
|
||||
TyphlosionAnimation: INCLUDE "gfx/pokemon/typhlosion/anim.asm"
|
||||
TotodileAnimation: INCLUDE "gfx/pokemon/totodile/anim.asm"
|
||||
CroconawAnimation: INCLUDE "gfx/pokemon/croconaw/anim.asm"
|
||||
FeraligatrAnimation: INCLUDE "gfx/pokemon/feraligatr/anim.asm"
|
||||
SentretAnimation: INCLUDE "gfx/pokemon/sentret/anim.asm"
|
||||
FurretAnimation: INCLUDE "gfx/pokemon/furret/anim.asm"
|
||||
HoothootAnimation: INCLUDE "gfx/pokemon/hoothoot/anim.asm"
|
||||
NoctowlAnimation: INCLUDE "gfx/pokemon/noctowl/anim.asm"
|
||||
LedybaAnimation: INCLUDE "gfx/pokemon/ledyba/anim.asm"
|
||||
LedianAnimation: INCLUDE "gfx/pokemon/ledian/anim.asm"
|
||||
SpinarakAnimation: INCLUDE "gfx/pokemon/spinarak/anim.asm"
|
||||
AriadosAnimation: INCLUDE "gfx/pokemon/ariados/anim.asm"
|
||||
CrobatAnimation: INCLUDE "gfx/pokemon/crobat/anim.asm"
|
||||
ChinchouAnimation: INCLUDE "gfx/pokemon/chinchou/anim.asm"
|
||||
LanturnAnimation: INCLUDE "gfx/pokemon/lanturn/anim.asm"
|
||||
PichuAnimation: INCLUDE "gfx/pokemon/pichu/anim.asm"
|
||||
CleffaAnimation: INCLUDE "gfx/pokemon/cleffa/anim.asm"
|
||||
IgglybuffAnimation: INCLUDE "gfx/pokemon/igglybuff/anim.asm"
|
||||
TogepiAnimation: INCLUDE "gfx/pokemon/togepi/anim.asm"
|
||||
TogeticAnimation: INCLUDE "gfx/pokemon/togetic/anim.asm"
|
||||
NatuAnimation: INCLUDE "gfx/pokemon/natu/anim.asm"
|
||||
XatuAnimation: INCLUDE "gfx/pokemon/xatu/anim.asm"
|
||||
MareepAnimation: INCLUDE "gfx/pokemon/mareep/anim.asm"
|
||||
FlaaffyAnimation: INCLUDE "gfx/pokemon/flaaffy/anim.asm"
|
||||
AmpharosAnimation: INCLUDE "gfx/pokemon/ampharos/anim.asm"
|
||||
BellossomAnimation: INCLUDE "gfx/pokemon/bellossom/anim.asm"
|
||||
MarillAnimation: INCLUDE "gfx/pokemon/marill/anim.asm"
|
||||
AzumarillAnimation: INCLUDE "gfx/pokemon/azumarill/anim.asm"
|
||||
SudowoodoAnimation: INCLUDE "gfx/pokemon/sudowoodo/anim.asm"
|
||||
PolitoedAnimation: INCLUDE "gfx/pokemon/politoed/anim.asm"
|
||||
HoppipAnimation: INCLUDE "gfx/pokemon/hoppip/anim.asm"
|
||||
SkiploomAnimation: INCLUDE "gfx/pokemon/skiploom/anim.asm"
|
||||
JumpluffAnimation: INCLUDE "gfx/pokemon/jumpluff/anim.asm"
|
||||
AipomAnimation: INCLUDE "gfx/pokemon/aipom/anim.asm"
|
||||
SunkernAnimation: INCLUDE "gfx/pokemon/sunkern/anim.asm"
|
||||
SunfloraAnimation: INCLUDE "gfx/pokemon/sunflora/anim.asm"
|
||||
YanmaAnimation: INCLUDE "gfx/pokemon/yanma/anim.asm"
|
||||
WooperAnimation: INCLUDE "gfx/pokemon/wooper/anim.asm"
|
||||
QuagsireAnimation: INCLUDE "gfx/pokemon/quagsire/anim.asm"
|
||||
EspeonAnimation: INCLUDE "gfx/pokemon/espeon/anim.asm"
|
||||
UmbreonAnimation: INCLUDE "gfx/pokemon/umbreon/anim.asm"
|
||||
MurkrowAnimation: INCLUDE "gfx/pokemon/murkrow/anim.asm"
|
||||
SlowkingAnimation: INCLUDE "gfx/pokemon/slowking/anim.asm"
|
||||
MisdreavusAnimation: INCLUDE "gfx/pokemon/misdreavus/anim.asm"
|
||||
UnownAnimation: INCLUDE "gfx/pokemon/unown/anim.asm"
|
||||
WobbuffetAnimation: INCLUDE "gfx/pokemon/wobbuffet/anim.asm"
|
||||
GirafarigAnimation: INCLUDE "gfx/pokemon/girafarig/anim.asm"
|
||||
PinecoAnimation: INCLUDE "gfx/pokemon/pineco/anim.asm"
|
||||
ForretressAnimation: INCLUDE "gfx/pokemon/forretress/anim.asm"
|
||||
DunsparceAnimation: INCLUDE "gfx/pokemon/dunsparce/anim.asm"
|
||||
GligarAnimation: INCLUDE "gfx/pokemon/gligar/anim.asm"
|
||||
SteelixAnimation: INCLUDE "gfx/pokemon/steelix/anim.asm"
|
||||
SnubbullAnimation: INCLUDE "gfx/pokemon/snubbull/anim.asm"
|
||||
GranbullAnimation: INCLUDE "gfx/pokemon/granbull/anim.asm"
|
||||
QwilfishAnimation: INCLUDE "gfx/pokemon/qwilfish/anim.asm"
|
||||
ScizorAnimation: INCLUDE "gfx/pokemon/scizor/anim.asm"
|
||||
ShuckleAnimation: INCLUDE "gfx/pokemon/shuckle/anim.asm"
|
||||
HeracrossAnimation: INCLUDE "gfx/pokemon/heracross/anim.asm"
|
||||
SneaselAnimation: INCLUDE "gfx/pokemon/sneasel/anim.asm"
|
||||
TeddiursaAnimation: INCLUDE "gfx/pokemon/teddiursa/anim.asm"
|
||||
UrsaringAnimation: INCLUDE "gfx/pokemon/ursaring/anim.asm"
|
||||
SlugmaAnimation: INCLUDE "gfx/pokemon/slugma/anim.asm"
|
||||
MagcargoAnimation: INCLUDE "gfx/pokemon/magcargo/anim.asm"
|
||||
SwinubAnimation: INCLUDE "gfx/pokemon/swinub/anim.asm"
|
||||
PiloswineAnimation: INCLUDE "gfx/pokemon/piloswine/anim.asm"
|
||||
CorsolaAnimation: INCLUDE "gfx/pokemon/corsola/anim.asm"
|
||||
RemoraidAnimation: INCLUDE "gfx/pokemon/remoraid/anim.asm"
|
||||
OctilleryAnimation: INCLUDE "gfx/pokemon/octillery/anim.asm"
|
||||
DelibirdAnimation: INCLUDE "gfx/pokemon/delibird/anim.asm"
|
||||
MantineAnimation: INCLUDE "gfx/pokemon/mantine/anim.asm"
|
||||
SkarmoryAnimation: INCLUDE "gfx/pokemon/skarmory/anim.asm"
|
||||
HoundourAnimation: INCLUDE "gfx/pokemon/houndour/anim.asm"
|
||||
HoundoomAnimation: INCLUDE "gfx/pokemon/houndoom/anim.asm"
|
||||
KingdraAnimation: INCLUDE "gfx/pokemon/kingdra/anim.asm"
|
||||
PhanpyAnimation: INCLUDE "gfx/pokemon/phanpy/anim.asm"
|
||||
DonphanAnimation: INCLUDE "gfx/pokemon/donphan/anim.asm"
|
||||
Porygon2Animation: INCLUDE "gfx/pokemon/porygon2/anim.asm"
|
||||
StantlerAnimation: INCLUDE "gfx/pokemon/stantler/anim.asm"
|
||||
SmeargleAnimation: INCLUDE "gfx/pokemon/smeargle/anim.asm"
|
||||
TyrogueAnimation: INCLUDE "gfx/pokemon/tyrogue/anim.asm"
|
||||
HitmontopAnimation: INCLUDE "gfx/pokemon/hitmontop/anim.asm"
|
||||
SmoochumAnimation: INCLUDE "gfx/pokemon/smoochum/anim.asm"
|
||||
ElekidAnimation: INCLUDE "gfx/pokemon/elekid/anim.asm"
|
||||
MagbyAnimation: INCLUDE "gfx/pokemon/magby/anim.asm"
|
||||
MiltankAnimation: INCLUDE "gfx/pokemon/miltank/anim.asm"
|
||||
BlisseyAnimation: INCLUDE "gfx/pokemon/blissey/anim.asm"
|
||||
RaikouAnimation: INCLUDE "gfx/pokemon/raikou/anim.asm"
|
||||
EnteiAnimation: INCLUDE "gfx/pokemon/entei/anim.asm"
|
||||
SuicuneAnimation: INCLUDE "gfx/pokemon/suicune/anim.asm"
|
||||
LarvitarAnimation: INCLUDE "gfx/pokemon/larvitar/anim.asm"
|
||||
PupitarAnimation: INCLUDE "gfx/pokemon/pupitar/anim.asm"
|
||||
TyranitarAnimation: INCLUDE "gfx/pokemon/tyranitar/anim.asm"
|
||||
LugiaAnimation: INCLUDE "gfx/pokemon/lugia/anim.asm"
|
||||
HoOhAnimation: INCLUDE "gfx/pokemon/ho_oh/anim.asm"
|
||||
CelebiAnimation: INCLUDE "gfx/pokemon/celebi/anim.asm"
|
||||
EggAnimation: INCLUDE "gfx/pokemon/egg/anim.asm"
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user