Merge pull request #414 from roukaour/master

Improve sprite constants and documentation
This commit is contained in:
yenatch 2017-12-12 19:13:53 -05:00 committed by GitHub
commit 6cf7c0790f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
80 changed files with 1958 additions and 1583 deletions

32
FAQ.md Normal file
View File

@ -0,0 +1,32 @@
# FAQ
## What is pokecrystal11.gbc?
Version 1.1 of Pokémon Crystal, which fixed some issues with the initial international release. `make crystal11` defines `CRYSTAL11` so the assembly builds the changed version.
## Can't build ROM; "ERROR: `UNION` already defined"
Download [**rgbds 0.3.3**](rgbds). Earlier versions will not work.
## Can't build ROM; "Segmentation fault" from `rgbgfx`
If you are using 64-bit Windows, download [**64-bit Cygwin**](cygwin) and [**64-bit rgbds**](rgbds).
## Can't build ROM; "Section is too big" or "Unable to place section in bank"
If you have not changed any of the asm, make sure you have the latest version of pokecrystal and the correct version of rgbds (see [INSTALL.md](INSTALL.md)).
If you added or changed any code, it has to fit in the **memory banks**. The 2MB ROM is divided into 128 banks of 4KB each, numbered $00 to $7F. The linkerscript **pokecrystal.link** lists which **`SECTION`**s go in which banks. Try moving some code into a new section.
## How do I edit maps?
For `asm` scripts, read [docs/map_scripts.md](docs/map_scripts.md). For `blk` layouts, try [crowdmap](crowdmap) or [Polished Map](polished-map).
## I need more help!
Try asking on IRC or Discord (see [README.md](README.md)).
[cygwin]: https://cygwin.com/install.html
[rgbds]: https://github.com/rednex/rgbds/releases
[crowdmap]: https://github.com/yenatch/crowdmap/
[polished-map]: https://github.com/roukaour/polished-map

View File

@ -1,10 +1,12 @@
The source files are assembled into a rom using [**rgbds**](https://github.com/rednex/rgbds).
# Instructions
The source files are assembled into a ROM using [**rgbds**](https://github.com/rednex/rgbds).
These instructions explain how to set up the tools required to build.
If you run into trouble, ask for help on irc or discord (see [README.md](README.md)).
If you run into trouble, ask for help on IRC or Discord (see [README.md](README.md)).
# Linux
## Linux
```bash
sudo apt-get install make gcc bison git libpng-dev
@ -25,7 +27,7 @@ make
```
# Mac
## Mac
In **Terminal**, run:
@ -48,24 +50,23 @@ make
```
# Windows
## Windows
To build on Windows, install [**Cygwin**](http://cygwin.com/install.html) with the default settings.
Download [**Cygwin**](http://cygwin.com/install.html): **setup-x86_64.exe** for 64-bit Windows, **setup-x86.exe** for 32-bit.
Run setup and leave the default settings. At "Select Packages", choose to install the following:
In the installer, select the following packages:
- `make`
- `git`
- `gcc-core`
Then download [**rgbds**](https://github.com/rednex/rgbds/releases/).
Extract rgbds-0.3.3-win64.tar.gz and put all the `exe` and `dll` files individually in **C:\Cygwin64\usr\local\bin**. If you are using 32-bit Windows and Cygwin, extract **rgbds-0.3.3-win32.tar.gz** to **C:\Cygwin\usr\local\bin**.
Then download [**rgbds**](https://github.com/rednex/rgbds/releases/): the latest **win64.tar.gz** or **win32.tar.gz** release. Extract it and put all the `exe` and `dll` files individually in **C:\Cygwin64\usr\local\bin**.
**Note: If you have an older rgbds, you will need to update to 0.3.3 or newer.** Ignore this if you have never installed rgbds before.
In the **Cygwin terminal**:
In the **Cygwin terminal**, enter these commands:
```bash
git clone https://github.com/pret/pokecrystal
cd pokecrystal
```
@ -75,3 +76,9 @@ To build **pokecrystal.gbc**:
```bash
make
```
To build **pokecrystal11.gbc**:
```bash
make crystal11
```

View File

@ -10,6 +10,7 @@ It builds the following roms:
To set up the repository, see [INSTALL.md](INSTALL.md).
## See also
* Disassembly of [**Pokémon Red/Blue**][pokered]
* Disassembly of [**Pokémon Yellow**][pokeyellow]
* Disassembly of [**Pokémon Pinball**][pokepinball]

View File

@ -1394,8 +1394,7 @@ ParseMusicCommand: ; e870f
; e8720
MusicCommands: ; e8720
; pointer to each command in order
; octaves
; entries correspond to macros/sound.asm enumeration
dw Music_Octave8 ; octave 8
dw Music_Octave7 ; octave 7
dw Music_Octave6 ; octave 6

View File

@ -352,6 +352,7 @@ RunBattleAnimCommand: ; cc25f
BattleAnimCommands:: ; cc2a4 (33:42a4)
; entries correspond to macros/move_anim.asm enumeration
dw BattleAnimCmd_Obj
dw BattleAnimCmd_1GFX
dw BattleAnimCmd_2GFX

View File

@ -33,6 +33,7 @@ INCLUDE "constants/deco_constants.asm"
INCLUDE "constants/radio_constants.asm"
INCLUDE "constants/npctrade_constants.asm"
INCLUDE "constants/sprite_constants.asm"
INCLUDE "constants/sprite_data_constants.asm"
INCLUDE "constants/tileset_constants.asm"
INCLUDE "constants/cgb_constants.asm"
INCLUDE "constants/battle_tower_constants.asm"

View File

@ -165,515 +165,3 @@ SPRITE_VARS EQU const_value
const SPRITE_FUCHSIA_GYM_4 ; fa
const SPRITE_COPYCAT ; fb
const SPRITE_JANINE_IMPERSONATOR ; fc
; sprite_header struct members (see gfx/sprite_headers.asm)
const_def
const SPRITEHEADER_ADDR_LO
const SPRITEHEADER_ADDR_HI
const SPRITEHEADER_SIZE
const SPRITEHEADER_BANK
const SPRITEHEADER_TYPE
const SPRITEHEADER_PALETTE
NUM_SPRITEHEADER_FIELDS EQU const_value
; sprite types
const_value SET 1
const WALKING_SPRITE
const STANDING_SPRITE
const STILL_SPRITE
; sprite palettes
const_def
const PAL_OW_RED ; 0
const PAL_OW_BLUE ; 1
const PAL_OW_GREEN ; 2
const PAL_OW_BROWN ; 3
const PAL_OW_PINK ; 4
const PAL_OW_SILVER ; 5
const PAL_OW_TREE ; 6
const PAL_OW_ROCK ; 7
; person_events set bit 3 so as not to use the sprite's default palette
const_value set (1 << 3)
const PAL_NPC_RED ; 8
const PAL_NPC_BLUE ; 9
const PAL_NPC_GREEN ; a
const PAL_NPC_BROWN ; b
const PAL_NPC_PINK ; c
const PAL_NPC_SILVER ; d
const PAL_NPC_TREE ; e
const PAL_NPC_ROCK ; f
; SpriteMovementData indexes (see data/map_objects.asm)
const_def
const SPRITEMOVEDATA_00 ; 00
const SPRITEMOVEDATA_ITEM_TREE ; 01
const SPRITEMOVEDATA_WANDER ; 02
const SPRITEMOVEDATA_SPINRANDOM_SLOW ; 03
const SPRITEMOVEDATA_WALK_UP_DOWN ; 04
const SPRITEMOVEDATA_WALK_LEFT_RIGHT ; 05
const SPRITEMOVEDATA_STANDING_DOWN ; 06
const SPRITEMOVEDATA_STANDING_UP ; 07
const SPRITEMOVEDATA_STANDING_LEFT ; 08
const SPRITEMOVEDATA_STANDING_RIGHT ; 09
const SPRITEMOVEDATA_SPINRANDOM_FAST ; 0a
const SPRITEMOVEDATA_PLAYER ; 0b
const SPRITEMOVEDATA_0C ; 0c
const SPRITEMOVEDATA_0D ; 0d
const SPRITEMOVEDATA_0E ; 0e
const SPRITEMOVEDATA_0F ; 0f
const SPRITEMOVEDATA_10 ; 10
const SPRITEMOVEDATA_11 ; 11
const SPRITEMOVEDATA_12 ; 12
const SPRITEMOVEDATA_FOLLOWING ; 13
const SPRITEMOVEDATA_SCRIPTED ; 14
const SPRITEMOVEDATA_SNORLAX ; 15
const SPRITEMOVEDATA_POKEMON ; 16
const SPRITEMOVEDATA_SUDOWOODO ; 17
const SPRITEMOVEDATA_SMASHABLE_ROCK ; 18
const SPRITEMOVEDATA_STRENGTH_BOULDER ; 19
const SPRITEMOVEDATA_FOLLOWNOTEXACT ; 1a
const SPRITEMOVEDATA_SHADOW ; 1b
const SPRITEMOVEDATA_EMOTE ; 1c
const SPRITEMOVEDATA_SCREENSHAKE ; 1d
const SPRITEMOVEDATA_SPINCOUNTERCLOCKWISE ; 1e
const SPRITEMOVEDATA_SPINCLOCKWISE ; 1f
const SPRITEMOVEDATA_20 ; 20
const SPRITEMOVEDATA_BIGDOLL ; 21
const SPRITEMOVEDATA_BOULDERDUST ; 22
const SPRITEMOVEDATA_GRASS ; 23
const SPRITEMOVEDATA_LAPRAS ; 24
NUM_SPRITEMOVEDATA EQU const_value
SPRITEMOVEDATA_FIELDS EQU 6
; MapObjectMovementPattern.Pointers indexes (see engine/map_objects.asm)
const_def
const SPRITEMOVEFN_00
const SPRITEMOVEFN_RANDOM_WALK_Y
const SPRITEMOVEFN_RANDOM_WALK_X
const SPRITEMOVEFN_RANDOM_WALK_XY
const SPRITEMOVEFN_SLOW_RANDOM_SPIN
const SPRITEMOVEFN_FAST_RANDOM_SPIN
const SPRITEMOVEFN_STANDING
const SPRITEMOVEFN_OBEY_DPAD
const SPRITEMOVEFN_08
const SPRITEMOVEFN_09
const SPRITEMOVEFN_0A
const SPRITEMOVEFN_0B
const SPRITEMOVEFN_0C
const SPRITEMOVEFN_0D
const SPRITEMOVEFN_0E
const SPRITEMOVEFN_FOLLOW
const SPRITEMOVEFN_SCRIPTED
const SPRITEMOVEFN_STRENGTH
const SPRITEMOVEFN_FOLLOWNOTEXACT
const SPRITEMOVEFN_SHADOW
const SPRITEMOVEFN_EMOTE
const SPRITEMOVEFN_BIG_SNORLAX
const SPRITEMOVEFN_BOUNCE
const SPRITEMOVEFN_SCREENSHAKE
const SPRITEMOVEFN_SPIN_CLOCKWISE
const SPRITEMOVEFN_SPIN_COUNTERCLOCKWISE
const SPRITEMOVEFN_BOULDERDUST
const SPRITEMOVEFN_GRASS
; StepTypesJumptable indexes (see engine/map_objects.asm)
const_def
const STEP_TYPE_00
const STEP_TYPE_SLEEP
const STEP_TYPE_NPC_WALK
const STEP_TYPE_03
const STEP_TYPE_04
const STEP_TYPE_05
const STEP_TYPE_PLAYER_WALK
const STEP_TYPE_07
const STEP_TYPE_NPC_JUMP
const STEP_TYPE_PLAYER_JUMP
const STEP_TYPE_HALF_STEP
const STEP_TYPE_BUMP
const STEP_TYPE_TELEPORT_FROM
const STEP_TYPE_TELEPORT_TO
const STEP_TYPE_SKYFALL
const STEP_TYPE_0F
const STEP_TYPE_GOT_BITE
const STEP_TYPE_ROCK_SMASH
const STEP_TYPE_RETURN_DIG
const STEP_TYPE_TRACKING_OBJECT
const STEP_TYPE_14
const STEP_TYPE_15
const STEP_TYPE_16
const STEP_TYPE_17
const STEP_TYPE_18
const STEP_TYPE_SKYFALL_TOP
; PersonActionPairPointers indexes (see engine/map_object_action.asm)
const_def
const PERSON_ACTION_00
const PERSON_ACTION_STAND
const PERSON_ACTION_STEP
const PERSON_ACTION_BUMP
const PERSON_ACTION_SPIN
const PERSON_ACTION_SPIN_FLICKER
const PERSON_ACTION_FISHING
const PERSON_ACTION_SHADOW
const PERSON_ACTION_EMOTE
const PERSON_ACTION_BIG_SNORLAX
const PERSON_ACTION_BOUNCE
const PERSON_ACTION_WEIRD_TREE
const PERSON_ACTION_BIG_LAPRAS
const PERSON_ACTION_BIG_DOLL
const PERSON_ACTION_BOULDER_DUST
const PERSON_ACTION_GRASS_SHAKE
const PERSON_ACTION_SKYFALL
; Facings indexes (see data/facings.asm)
const_def
const FACING_STEP_DOWN_0
const FACING_STEP_DOWN_1
const FACING_STEP_DOWN_2
const FACING_STEP_DOWN_3
const FACING_STEP_UP_0
const FACING_STEP_UP_1
const FACING_STEP_UP_2
const FACING_STEP_UP_3
const FACING_STEP_LEFT_0
const FACING_STEP_LEFT_1
const FACING_STEP_LEFT_2
const FACING_STEP_LEFT_3
const FACING_STEP_RIGHT_0
const FACING_STEP_RIGHT_1
const FACING_STEP_RIGHT_2
const FACING_STEP_RIGHT_3
const FACING_FISH_DOWN
const FACING_FISH_UP
const FACING_FISH_LEFT
const FACING_FISH_RIGHT
const FACING_EMOTE
const FACING_SHADOW
const FACING_BIG_DOLL_ASYM
const FACING_BIG_DOLL_SYM
const FACING_WEIRD_TREE_0
const FACING_WEIRD_TREE_1
const FACING_WEIRD_TREE_2
const FACING_WEIRD_TREE_3
const FACING_BOULDER_DUST_1
const FACING_BOULDER_DUST_2
const FACING_GRASS_1
const FACING_GRASS_2
; sprite_anim_struct members (see macros/wram.asm)
const_def
const SPRITEANIMSTRUCT_INDEX ; 0
const SPRITEANIMSTRUCT_FRAMESET_ID ; 1
const SPRITEANIMSTRUCT_ANIM_SEQ_ID ; 2
const SPRITEANIMSTRUCT_TILE_ID ; 3
const SPRITEANIMSTRUCT_XCOORD ; 4
const SPRITEANIMSTRUCT_YCOORD ; 5
const SPRITEANIMSTRUCT_XOFFSET ; 6
const SPRITEANIMSTRUCT_YOFFSET ; 7
const SPRITEANIMSTRUCT_DURATION ; 8
const SPRITEANIMSTRUCT_DURATIONOFFSET ; 9
const SPRITEANIMSTRUCT_FRAME ; a
const SPRITEANIMSTRUCT_JUMPTABLE_INDEX ; b
const SPRITEANIMSTRUCT_0C ; c
const SPRITEANIMSTRUCT_0D ; d
const SPRITEANIMSTRUCT_0E ; e
const SPRITEANIMSTRUCT_0F ; f
; SpriteAnimFrameData indexes (see data/sprite_anim_frames.asm)
const_def
const SPRITE_ANIM_FRAMESET_00
const SPRITE_ANIM_FRAMESET_PARTY_MON
const SPRITE_ANIM_FRAMESET_02 ; unused?
const SPRITE_ANIM_FRAMESET_03 ; unused?
const SPRITE_ANIM_FRAMESET_04 ; unused?
const SPRITE_ANIM_FRAMESET_05 ; unused?
const SPRITE_ANIM_FRAMESET_06 ; unused?
const SPRITE_ANIM_FRAMESET_07
const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR
const SPRITE_ANIM_FRAMESET_09 ; unused?
const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO
const SPRITE_ANIM_FRAMESET_GS_INTRO_STAR
const SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE
const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM
const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY
const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2
const SPRITE_ANIM_FRAMESET_SLOTS_EGG
const SPRITE_ANIM_FRAMESET_RED_WALK
const SPRITE_ANIM_FRAMESET_STILL_CURSOR
const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL
const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0
const SPRITE_ANIM_FRAMESET_TRADE_POOF
const SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE
const SPRITE_ANIM_FRAMESET_TRADEMON_ICON
const SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE
const SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT
const SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB
const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED
const SPRITE_ANIM_FRAMESET_1C ; unused?
const SPRITE_ANIM_FRAMESET_LEAF
const SPRITE_ANIM_FRAMESET_CUT_TREE
const SPRITE_ANIM_FRAMESET_EGG_CRACK
const SPRITE_ANIM_FRAMESET_EGG_HATCH
const SPRITE_ANIM_FRAMESET_21 ; unused?
const SPRITE_ANIM_FRAMESET_22 ; unused?
const SPRITE_ANIM_FRAMESET_23 ; unused?
const SPRITE_ANIM_FRAMESET_24
const SPRITE_ANIM_FRAMESET_HEADBUTT
const SPRITE_ANIM_FRAMESET_26
const SPRITE_ANIM_FRAMESET_27 ; unused?
const SPRITE_ANIM_FRAMESET_28 ; unused?
const SPRITE_ANIM_FRAMESET_29 ; unused?
const SPRITE_ANIM_FRAMESET_2A ; unused?
const SPRITE_ANIM_FRAMESET_2B ; unused?
const SPRITE_ANIM_FRAMESET_2C ; unused?
const SPRITE_ANIM_FRAMESET_BLUE_WALK
const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE
const SPRITE_ANIM_FRAMESET_2F
const SPRITE_ANIM_FRAMESET_30
const SPRITE_ANIM_FRAMESET_31
const SPRITE_ANIM_FRAMESET_32
const SPRITE_ANIM_FRAMESET_33
const SPRITE_ANIM_FRAMESET_34
const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE
const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_2
const SPRITE_ANIM_FRAMESET_INTRO_PICHU
const SPRITE_ANIM_FRAMESET_INTRO_WOOPER
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_2
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_3
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_4
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F_2
const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F
const SPRITE_ANIM_FRAMESET_CELEBI_LEFT
const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT
; DoAnimFrame.Jumptable indexes (see engine/sprite_anims.asm)
const_def
const SPRITE_ANIM_SEQ_NULL
const SPRITE_ANIM_SEQ_PARTY_MON
const SPRITE_ANIM_SEQ_PARTY_MON_SWITCH
const SPRITE_ANIM_SEQ_PARTY_MON_SELECTED
const SPRITE_ANIM_SEQ_04
const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR
const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO
const SPRITE_ANIM_SEQ_GS_INTRO_STAR
const SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE
const SPRITE_ANIM_SEQ_SLOTS_GOLEM
const SPRITE_ANIM_SEQ_SLOTS_CHANSEY
const SPRITE_ANIM_SEQ_SLOTS_EGG
const SPRITE_ANIM_SEQ_MAIL_CURSOR
const SPRITE_ANIM_SEQ_0D
const SPRITE_ANIM_SEQ_0E
const SPRITE_ANIM_SEQ_0F
const SPRITE_ANIM_SEQ_TRADE_POKE_BALL
const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE
const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE
const SPRITE_ANIM_SEQ_REVEAL_NEW_MON
const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB
const SPRITE_ANIM_SEQ_CUT_LEAVES
const SPRITE_ANIM_SEQ_FLY_FROM
const SPRITE_ANIM_SEQ_FLY_LEAF
const SPRITE_ANIM_SEQ_FLY_TO
const SPRITE_ANIM_SEQ_19
const SPRITE_ANIM_SEQ_1A
const SPRITE_ANIM_SEQ_1B
const SPRITE_ANIM_SEQ_1C
const SPRITE_ANIM_SEQ_INTRO_SUICUNE
const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER
const SPRITE_ANIM_SEQ_CELEBI
const SPRITE_ANIM_SEQ_INTRO_UNOWN
const SPRITE_ANIM_SEQ_INTRO_UNOWN_F
const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY
; SpriteAnimSeqData indexes (see data/sprite_anim_seqs.asm)
const_def
const SPRITE_ANIM_INDEX_PARTY_MON
const SPRITE_ANIM_INDEX_01
const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
const SPRITE_ANIM_INDEX_GS_INTRO_STAR
const SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE
const SPRITE_ANIM_INDEX_SLOTS_GOLEM
const SPRITE_ANIM_INDEX_SLOTS_CHANSEY
const SPRITE_ANIM_INDEX_SLOTS_EGG
const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
const SPRITE_ANIM_INDEX_RED_WALK
const SPRITE_ANIM_INDEX_0B
const SPRITE_ANIM_INDEX_DUMMY_GAME
const SPRITE_ANIM_INDEX_0D
const SPRITE_ANIM_INDEX_TRADE_POKE_BALL
const SPRITE_ANIM_INDEX_TRADE_POOF
const SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
const SPRITE_ANIM_INDEX_TRADEMON_ICON
const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
const SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
const SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
const SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
const SPRITE_ANIM_INDEX_LEAF
const SPRITE_ANIM_INDEX_CUT_TREE
const SPRITE_ANIM_INDEX_FLY_LEAF
const SPRITE_ANIM_INDEX_EGG_CRACK
const SPRITE_ANIM_INDEX_1A
const SPRITE_ANIM_INDEX_HEADBUTT
const SPRITE_ANIM_INDEX_EGG_HATCH
const SPRITE_ANIM_INDEX_1D
const SPRITE_ANIM_INDEX_BLUE_WALK
const SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
const SPRITE_ANIM_INDEX_20
const SPRITE_ANIM_INDEX_21
const SPRITE_ANIM_INDEX_22
const SPRITE_ANIM_INDEX_23
const SPRITE_ANIM_INDEX_24
const SPRITE_ANIM_INDEX_25
const SPRITE_ANIM_INDEX_INTRO_SUICUNE
const SPRITE_ANIM_INDEX_INTRO_PICHU
const SPRITE_ANIM_INDEX_INTRO_WOOPER
const SPRITE_ANIM_INDEX_INTRO_UNOWN
const SPRITE_ANIM_INDEX_INTRO_UNOWN_F
const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
const SPRITE_ANIM_INDEX_CELEBI
; SpriteAnimOAMData indexes (see data/sprite_anim_oam.asm)
const_def
const SPRITE_ANIM_FRAME_IDX_00
const SPRITE_ANIM_FRAME_IDX_01
const SPRITE_ANIM_FRAME_IDX_02
const SPRITE_ANIM_FRAME_IDX_03
const SPRITE_ANIM_FRAME_IDX_04
const SPRITE_ANIM_FRAME_IDX_05
const SPRITE_ANIM_FRAME_IDX_06
const SPRITE_ANIM_FRAME_IDX_07
const SPRITE_ANIM_FRAME_IDX_08
const SPRITE_ANIM_FRAME_IDX_09
const SPRITE_ANIM_FRAME_IDX_0A
const SPRITE_ANIM_FRAME_IDX_0B
const SPRITE_ANIM_FRAME_IDX_0C
const SPRITE_ANIM_FRAME_IDX_0D
const SPRITE_ANIM_FRAME_IDX_0E
const SPRITE_ANIM_FRAME_IDX_0F
const SPRITE_ANIM_FRAME_IDX_10
const SPRITE_ANIM_FRAME_IDX_11
const SPRITE_ANIM_FRAME_IDX_12
const SPRITE_ANIM_FRAME_IDX_13
const SPRITE_ANIM_FRAME_IDX_14
const SPRITE_ANIM_FRAME_IDX_15
const SPRITE_ANIM_FRAME_IDX_16
const SPRITE_ANIM_FRAME_IDX_17
const SPRITE_ANIM_FRAME_IDX_18
const SPRITE_ANIM_FRAME_IDX_19
const SPRITE_ANIM_FRAME_IDX_1A
const SPRITE_ANIM_FRAME_IDX_1B
const SPRITE_ANIM_FRAME_IDX_1C
const SPRITE_ANIM_FRAME_IDX_1D
const SPRITE_ANIM_FRAME_IDX_1E
const SPRITE_ANIM_FRAME_IDX_1F
const SPRITE_ANIM_FRAME_IDX_20
const SPRITE_ANIM_FRAME_IDX_21
const SPRITE_ANIM_FRAME_IDX_22
const SPRITE_ANIM_FRAME_IDX_23
const SPRITE_ANIM_FRAME_IDX_24
const SPRITE_ANIM_FRAME_IDX_25
const SPRITE_ANIM_FRAME_IDX_26
const SPRITE_ANIM_FRAME_IDX_27
const SPRITE_ANIM_FRAME_IDX_28
const SPRITE_ANIM_FRAME_IDX_29
const SPRITE_ANIM_FRAME_IDX_2A
const SPRITE_ANIM_FRAME_IDX_2B
const SPRITE_ANIM_FRAME_IDX_2C
const SPRITE_ANIM_FRAME_IDX_2D
const SPRITE_ANIM_FRAME_IDX_2E
const SPRITE_ANIM_FRAME_IDX_2F
const SPRITE_ANIM_FRAME_IDX_30
const SPRITE_ANIM_FRAME_IDX_31
const SPRITE_ANIM_FRAME_IDX_32
const SPRITE_ANIM_FRAME_IDX_33
const SPRITE_ANIM_FRAME_IDX_34
const SPRITE_ANIM_FRAME_IDX_35
const SPRITE_ANIM_FRAME_IDX_36
const SPRITE_ANIM_FRAME_IDX_37
const SPRITE_ANIM_FRAME_IDX_38
const SPRITE_ANIM_FRAME_IDX_39
const SPRITE_ANIM_FRAME_IDX_3A
const SPRITE_ANIM_FRAME_IDX_3B
const SPRITE_ANIM_FRAME_IDX_3C
const SPRITE_ANIM_FRAME_IDX_3D
const SPRITE_ANIM_FRAME_IDX_3E
const SPRITE_ANIM_FRAME_IDX_3F
const SPRITE_ANIM_FRAME_IDX_40
const SPRITE_ANIM_FRAME_IDX_41
const SPRITE_ANIM_FRAME_IDX_42
const SPRITE_ANIM_FRAME_IDX_43
const SPRITE_ANIM_FRAME_IDX_44
const SPRITE_ANIM_FRAME_IDX_45
const SPRITE_ANIM_FRAME_IDX_46
const SPRITE_ANIM_FRAME_IDX_47
const SPRITE_ANIM_FRAME_IDX_48
const SPRITE_ANIM_FRAME_IDX_49
const SPRITE_ANIM_FRAME_IDX_4A
const SPRITE_ANIM_FRAME_IDX_4B
const SPRITE_ANIM_FRAME_IDX_4C
const SPRITE_ANIM_FRAME_IDX_4D
const SPRITE_ANIM_FRAME_IDX_4E
const SPRITE_ANIM_FRAME_IDX_4F
const SPRITE_ANIM_FRAME_IDX_50
const SPRITE_ANIM_FRAME_IDX_51
const SPRITE_ANIM_FRAME_IDX_52
const SPRITE_ANIM_FRAME_IDX_53
const SPRITE_ANIM_FRAME_IDX_54
const SPRITE_ANIM_FRAME_IDX_55
const SPRITE_ANIM_FRAME_IDX_56
const SPRITE_ANIM_FRAME_IDX_57
const SPRITE_ANIM_FRAME_IDX_58
const SPRITE_ANIM_FRAME_IDX_59
const SPRITE_ANIM_FRAME_IDX_5A
const SPRITE_ANIM_FRAME_IDX_5B
const SPRITE_ANIM_FRAME_IDX_5C
const SPRITE_ANIM_FRAME_IDX_5D
const SPRITE_ANIM_FRAME_IDX_5E
const SPRITE_ANIM_FRAME_IDX_5F
const SPRITE_ANIM_FRAME_IDX_60
const SPRITE_ANIM_FRAME_IDX_61
const SPRITE_ANIM_FRAME_IDX_62
const SPRITE_ANIM_FRAME_IDX_63
const SPRITE_ANIM_FRAME_IDX_64
const SPRITE_ANIM_FRAME_IDX_65
const SPRITE_ANIM_FRAME_IDX_66
const SPRITE_ANIM_FRAME_IDX_67
const SPRITE_ANIM_FRAME_IDX_68
const SPRITE_ANIM_FRAME_IDX_69
const SPRITE_ANIM_FRAME_IDX_6A
const SPRITE_ANIM_FRAME_IDX_6B
const SPRITE_ANIM_FRAME_IDX_6C
const SPRITE_ANIM_FRAME_IDX_6D
const SPRITE_ANIM_FRAME_IDX_6E
const SPRITE_ANIM_FRAME_IDX_6F
const SPRITE_ANIM_FRAME_IDX_70
const SPRITE_ANIM_FRAME_IDX_71
const SPRITE_ANIM_FRAME_IDX_72
const SPRITE_ANIM_FRAME_IDX_73
const SPRITE_ANIM_FRAME_IDX_74
const SPRITE_ANIM_FRAME_IDX_75
const SPRITE_ANIM_FRAME_IDX_76
const SPRITE_ANIM_FRAME_IDX_77
const SPRITE_ANIM_FRAME_IDX_78
const SPRITE_ANIM_FRAME_IDX_79
const SPRITE_ANIM_FRAME_IDX_7A
const SPRITE_ANIM_FRAME_IDX_7B
const SPRITE_ANIM_FRAME_IDX_7C
const SPRITE_ANIM_FRAME_IDX_7D
const SPRITE_ANIM_FRAME_IDX_7E
const SPRITE_ANIM_FRAME_IDX_7F
const SPRITE_ANIM_FRAME_IDX_80
const SPRITE_ANIM_FRAME_IDX_81
const SPRITE_ANIM_FRAME_IDX_82
const SPRITE_ANIM_FRAME_IDX_83
const SPRITE_ANIM_FRAME_IDX_84
const SPRITE_ANIM_FRAME_IDX_85
const SPRITE_ANIM_FRAME_IDX_86
const SPRITE_ANIM_FRAME_IDX_87
const SPRITE_ANIM_FRAME_IDX_88
const SPRITE_ANIM_FRAME_IDX_89
const SPRITE_ANIM_FRAME_IDX_8A
const SPRITE_ANIM_FRAME_IDX_8B

View File

@ -0,0 +1,511 @@
; sprite_header struct members (see gfx/sprite_headers.asm)
const_def
const SPRITEHEADER_ADDR_LO ; 0
const SPRITEHEADER_ADDR_HI ; 1
const SPRITEHEADER_SIZE ; 2
const SPRITEHEADER_BANK ; 3
const SPRITEHEADER_TYPE ; 4
const SPRITEHEADER_PALETTE ; 5
NUM_SPRITEHEADER_FIELDS EQU const_value
; sprite types
const_value SET 1
const WALKING_SPRITE ; 1
const STANDING_SPRITE ; 2
const STILL_SPRITE ; 3
; sprite palettes
const_def
const PAL_OW_RED ; 0
const PAL_OW_BLUE ; 1
const PAL_OW_GREEN ; 2
const PAL_OW_BROWN ; 3
const PAL_OW_PINK ; 4
const PAL_OW_SILVER ; 5
const PAL_OW_TREE ; 6
const PAL_OW_ROCK ; 7
; person_events set bit 3 so as not to use the sprite's default palette
const_value set (1 << 3)
const PAL_NPC_RED ; 8
const PAL_NPC_BLUE ; 9
const PAL_NPC_GREEN ; a
const PAL_NPC_BROWN ; b
const PAL_NPC_PINK ; c
const PAL_NPC_SILVER ; d
const PAL_NPC_TREE ; e
const PAL_NPC_ROCK ; f
; SpriteMovementData indexes (see data/map_objects.asm)
const_def
const SPRITEMOVEDATA_00 ; 00
const SPRITEMOVEDATA_ITEM_TREE ; 01
const SPRITEMOVEDATA_WANDER ; 02
const SPRITEMOVEDATA_SPINRANDOM_SLOW ; 03
const SPRITEMOVEDATA_WALK_UP_DOWN ; 04
const SPRITEMOVEDATA_WALK_LEFT_RIGHT ; 05
const SPRITEMOVEDATA_STANDING_DOWN ; 06
const SPRITEMOVEDATA_STANDING_UP ; 07
const SPRITEMOVEDATA_STANDING_LEFT ; 08
const SPRITEMOVEDATA_STANDING_RIGHT ; 09
const SPRITEMOVEDATA_SPINRANDOM_FAST ; 0a
const SPRITEMOVEDATA_PLAYER ; 0b
const SPRITEMOVEDATA_0C ; 0c
const SPRITEMOVEDATA_0D ; 0d
const SPRITEMOVEDATA_0E ; 0e
const SPRITEMOVEDATA_0F ; 0f
const SPRITEMOVEDATA_10 ; 10
const SPRITEMOVEDATA_11 ; 11
const SPRITEMOVEDATA_12 ; 12
const SPRITEMOVEDATA_FOLLOWING ; 13
const SPRITEMOVEDATA_SCRIPTED ; 14
const SPRITEMOVEDATA_SNORLAX ; 15
const SPRITEMOVEDATA_POKEMON ; 16
const SPRITEMOVEDATA_SUDOWOODO ; 17
const SPRITEMOVEDATA_SMASHABLE_ROCK ; 18
const SPRITEMOVEDATA_STRENGTH_BOULDER ; 19
const SPRITEMOVEDATA_FOLLOWNOTEXACT ; 1a
const SPRITEMOVEDATA_SHADOW ; 1b
const SPRITEMOVEDATA_EMOTE ; 1c
const SPRITEMOVEDATA_SCREENSHAKE ; 1d
const SPRITEMOVEDATA_SPINCOUNTERCLOCKWISE ; 1e
const SPRITEMOVEDATA_SPINCLOCKWISE ; 1f
const SPRITEMOVEDATA_20 ; 20
const SPRITEMOVEDATA_BIGDOLL ; 21
const SPRITEMOVEDATA_BOULDERDUST ; 22
const SPRITEMOVEDATA_GRASS ; 23
const SPRITEMOVEDATA_LAPRAS ; 24
NUM_SPRITEMOVEDATA EQU const_value
SPRITEMOVEDATA_FIELDS EQU 6
; MapObjectMovementPattern.Pointers indexes (see engine/map_objects.asm)
const_def
const SPRITEMOVEFN_00 ; 00
const SPRITEMOVEFN_RANDOM_WALK_Y ; 01
const SPRITEMOVEFN_RANDOM_WALK_X ; 02
const SPRITEMOVEFN_RANDOM_WALK_XY ; 03
const SPRITEMOVEFN_SLOW_RANDOM_SPIN ; 04
const SPRITEMOVEFN_FAST_RANDOM_SPIN ; 05
const SPRITEMOVEFN_STANDING ; 06
const SPRITEMOVEFN_OBEY_DPAD ; 07
const SPRITEMOVEFN_08 ; 08
const SPRITEMOVEFN_09 ; 09
const SPRITEMOVEFN_0A ; 0a
const SPRITEMOVEFN_0B ; 0b
const SPRITEMOVEFN_0C ; 0c
const SPRITEMOVEFN_0D ; 0d
const SPRITEMOVEFN_0E ; 0e
const SPRITEMOVEFN_FOLLOW ; 0f
const SPRITEMOVEFN_SCRIPTED ; 10
const SPRITEMOVEFN_STRENGTH ; 11
const SPRITEMOVEFN_FOLLOWNOTEXACT ; 12
const SPRITEMOVEFN_SHADOW ; 13
const SPRITEMOVEFN_EMOTE ; 14
const SPRITEMOVEFN_BIG_SNORLAX ; 15
const SPRITEMOVEFN_BOUNCE ; 16
const SPRITEMOVEFN_SCREENSHAKE ; 17
const SPRITEMOVEFN_SPIN_CLOCKWISE ; 18
const SPRITEMOVEFN_SPIN_COUNTERCLOCKWISE ; 19
const SPRITEMOVEFN_BOULDERDUST ; 1a
const SPRITEMOVEFN_GRASS ; 1b
; StepTypesJumptable indexes (see engine/map_objects.asm)
const_def
const STEP_TYPE_00 ; 00
const STEP_TYPE_SLEEP ; 01
const STEP_TYPE_NPC_WALK ; 02
const STEP_TYPE_03 ; 03
const STEP_TYPE_04 ; 04
const STEP_TYPE_05 ; 05
const STEP_TYPE_PLAYER_WALK ; 06
const STEP_TYPE_07 ; 07
const STEP_TYPE_NPC_JUMP ; 08
const STEP_TYPE_PLAYER_JUMP ; 09
const STEP_TYPE_HALF_STEP ; 0a
const STEP_TYPE_BUMP ; 0b
const STEP_TYPE_TELEPORT_FROM ; 0c
const STEP_TYPE_TELEPORT_TO ; 0d
const STEP_TYPE_SKYFALL ; 0e
const STEP_TYPE_0F ; 0f
const STEP_TYPE_GOT_BITE ; 10
const STEP_TYPE_ROCK_SMASH ; 11
const STEP_TYPE_RETURN_DIG ; 12
const STEP_TYPE_TRACKING_OBJECT ; 13
const STEP_TYPE_14 ; 14
const STEP_TYPE_15 ; 15
const STEP_TYPE_16 ; 16
const STEP_TYPE_17 ; 17
const STEP_TYPE_18 ; 18
const STEP_TYPE_SKYFALL_TOP ; 19
; PersonActionPairPointers indexes (see engine/map_object_action.asm)
const_def
const PERSON_ACTION_00 ; 00
const PERSON_ACTION_STAND ; 01
const PERSON_ACTION_STEP ; 02
const PERSON_ACTION_BUMP ; 03
const PERSON_ACTION_SPIN ; 04
const PERSON_ACTION_SPIN_FLICKER ; 05
const PERSON_ACTION_FISHING ; 06
const PERSON_ACTION_SHADOW ; 07
const PERSON_ACTION_EMOTE ; 08
const PERSON_ACTION_BIG_SNORLAX ; 09
const PERSON_ACTION_BOUNCE ; 0a
const PERSON_ACTION_WEIRD_TREE ; 0b
const PERSON_ACTION_BIG_LAPRAS ; 0c
const PERSON_ACTION_BIG_DOLL ; 0d
const PERSON_ACTION_BOULDER_DUST ; 0e
const PERSON_ACTION_GRASS_SHAKE ; 0f
const PERSON_ACTION_SKYFALL ; 10
; Facings indexes (see data/facings.asm)
const_def
const FACING_STEP_DOWN_0 ; 00
const FACING_STEP_DOWN_1 ; 01
const FACING_STEP_DOWN_2 ; 02
const FACING_STEP_DOWN_3 ; 03
const FACING_STEP_UP_0 ; 04
const FACING_STEP_UP_1 ; 05
const FACING_STEP_UP_2 ; 06
const FACING_STEP_UP_3 ; 07
const FACING_STEP_LEFT_0 ; 08
const FACING_STEP_LEFT_1 ; 09
const FACING_STEP_LEFT_2 ; 0a
const FACING_STEP_LEFT_3 ; 0b
const FACING_STEP_RIGHT_0 ; 0c
const FACING_STEP_RIGHT_1 ; 0d
const FACING_STEP_RIGHT_2 ; 0e
const FACING_STEP_RIGHT_3 ; 0f
const FACING_FISH_DOWN ; 10
const FACING_FISH_UP ; 11
const FACING_FISH_LEFT ; 12
const FACING_FISH_RIGHT ; 13
const FACING_EMOTE ; 14
const FACING_SHADOW ; 15
const FACING_BIG_DOLL_ASYM ; 16
const FACING_BIG_DOLL_SYM ; 17
const FACING_WEIRD_TREE_0 ; 18
const FACING_WEIRD_TREE_1 ; 19
const FACING_WEIRD_TREE_2 ; 1a
const FACING_WEIRD_TREE_3 ; 1b
const FACING_BOULDER_DUST_1 ; 1c
const FACING_BOULDER_DUST_2 ; 1d
const FACING_GRASS_1 ; 1e
const FACING_GRASS_2 ; 1f
; sprite_anim_struct members (see macros/wram.asm)
const_def
const SPRITEANIMSTRUCT_INDEX ; 0
const SPRITEANIMSTRUCT_FRAMESET_ID ; 1
const SPRITEANIMSTRUCT_ANIM_SEQ_ID ; 2
const SPRITEANIMSTRUCT_TILE_ID ; 3
const SPRITEANIMSTRUCT_XCOORD ; 4
const SPRITEANIMSTRUCT_YCOORD ; 5
const SPRITEANIMSTRUCT_XOFFSET ; 6
const SPRITEANIMSTRUCT_YOFFSET ; 7
const SPRITEANIMSTRUCT_DURATION ; 8
const SPRITEANIMSTRUCT_DURATIONOFFSET ; 9
const SPRITEANIMSTRUCT_FRAME ; a
const SPRITEANIMSTRUCT_JUMPTABLE_INDEX ; b
const SPRITEANIMSTRUCT_0C ; c
const SPRITEANIMSTRUCT_0D ; d
const SPRITEANIMSTRUCT_0E ; e
const SPRITEANIMSTRUCT_0F ; f
; SpriteAnimSeqData indexes (see data/sprite_anim_seqs.asm)
const_def
const SPRITE_ANIM_INDEX_PARTY_MON ; 00
const SPRITE_ANIM_INDEX_GS_TITLE_TRAIL ; 01
const SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR ; 02
const SPRITE_ANIM_INDEX_GAMEFREAK_LOGO ; 03
const SPRITE_ANIM_INDEX_GS_INTRO_STAR ; 04
const SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE ; 05
const SPRITE_ANIM_INDEX_SLOTS_GOLEM ; 06
const SPRITE_ANIM_INDEX_SLOTS_CHANSEY ; 07
const SPRITE_ANIM_INDEX_SLOTS_EGG ; 08
const SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR ; 09
const SPRITE_ANIM_INDEX_RED_WALK ; 0a
const SPRITE_ANIM_INDEX_UNUSED_CURSOR ; 0b
const SPRITE_ANIM_INDEX_DUMMY_GAME ; 0c
const SPRITE_ANIM_INDEX_POKEGEAR_ARROW ; 0d
const SPRITE_ANIM_INDEX_TRADE_POKE_BALL ; 0e
const SPRITE_ANIM_INDEX_TRADE_POOF ; 0f
const SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE ; 10
const SPRITE_ANIM_INDEX_TRADEMON_ICON ; 11
const SPRITE_ANIM_INDEX_TRADEMON_BUBBLE ; 12
const SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT ; 13
const SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB ; 14
const SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED ; 15
const SPRITE_ANIM_INDEX_LEAF ; 16
const SPRITE_ANIM_INDEX_CUT_TREE ; 17
const SPRITE_ANIM_INDEX_FLY_LEAF ; 18
const SPRITE_ANIM_INDEX_EGG_CRACK ; 19
const SPRITE_ANIM_INDEX_1A ; 1a
const SPRITE_ANIM_INDEX_HEADBUTT ; 1b
const SPRITE_ANIM_INDEX_EGG_HATCH ; 1c
const SPRITE_ANIM_INDEX_1D ; 1d
const SPRITE_ANIM_INDEX_BLUE_WALK ; 1e
const SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE ; 1f
const SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL ; 20
const SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL ; 21
const SPRITE_ANIM_INDEX_MOBILE_22 ; 22
const SPRITE_ANIM_INDEX_MOBILE_23 ; 23
const SPRITE_ANIM_INDEX_MOBILE_24 ; 24
const SPRITE_ANIM_INDEX_MOBILE_25 ; 25
const SPRITE_ANIM_INDEX_INTRO_SUICUNE ; 26
const SPRITE_ANIM_INDEX_INTRO_PICHU ; 27
const SPRITE_ANIM_INDEX_INTRO_WOOPER ; 28
const SPRITE_ANIM_INDEX_INTRO_UNOWN ; 29
const SPRITE_ANIM_INDEX_INTRO_UNOWN_F ; 2a
const SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY ; 2b
const SPRITE_ANIM_INDEX_CELEBI ; 2c
; DoAnimFrame.Jumptable indexes (see engine/sprite_anims.asm)
const_def
const SPRITE_ANIM_SEQ_NULL ; 00
const SPRITE_ANIM_SEQ_PARTY_MON ; 01
const SPRITE_ANIM_SEQ_PARTY_MON_SWITCH ; 02
const SPRITE_ANIM_SEQ_PARTY_MON_SELECTED ; 03
const SPRITE_ANIM_SEQ_GS_TITLE_TRAIL ; 04
const SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR ; 05
const SPRITE_ANIM_SEQ_GAMEFREAK_LOGO ; 06
const SPRITE_ANIM_SEQ_GS_INTRO_STAR ; 07
const SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE ; 08
const SPRITE_ANIM_SEQ_SLOTS_GOLEM ; 09
const SPRITE_ANIM_SEQ_SLOTS_CHANSEY ; 0a
const SPRITE_ANIM_SEQ_SLOTS_EGG ; 0b
const SPRITE_ANIM_SEQ_MAIL_CURSOR ; 0c
const SPRITE_ANIM_SEQ_FOR_UNUSED_CURSOR ; 0d
const SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR ; 0e
const SPRITE_ANIM_SEQ_POKEGEAR_ARROW ; 0f
const SPRITE_ANIM_SEQ_TRADE_POKE_BALL ; 10
const SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE ; 11
const SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE ; 12
const SPRITE_ANIM_SEQ_REVEAL_NEW_MON ; 13
const SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB ; 14
const SPRITE_ANIM_SEQ_CUT_LEAVES ; 15
const SPRITE_ANIM_SEQ_FLY_FROM ; 16
const SPRITE_ANIM_SEQ_FLY_LEAF ; 17
const SPRITE_ANIM_SEQ_FLY_TO ; 18
const SPRITE_ANIM_SEQ_19 ; 19
const SPRITE_ANIM_SEQ_1A ; 1a
const SPRITE_ANIM_SEQ_FOR_MOBILE_23 ; 1b
const SPRITE_ANIM_SEQ_FOR_MOBILE_24 ; 1c
const SPRITE_ANIM_SEQ_INTRO_SUICUNE ; 1d
const SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER ; 1e
const SPRITE_ANIM_SEQ_CELEBI ; 1f
const SPRITE_ANIM_SEQ_INTRO_UNOWN ; 20
const SPRITE_ANIM_SEQ_INTRO_UNOWN_F ; 21
const SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY ; 22
; SpriteAnimFrameData indexes (see data/sprite_anim_frames.asm)
const_def
const SPRITE_ANIM_FRAMESET_00
const SPRITE_ANIM_FRAMESET_PARTY_MON ; 01
const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL ; 02
const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM ; 03
const SPRITE_ANIM_FRAMESET_PARTY_MON_FAST ; 04
const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL_FAST ; 05
const SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM_FAST ; 06
const SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL ; 07
const SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR ; 08
const SPRITE_ANIM_FRAMESET_09
const SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO ; 0a
const SPRITE_ANIM_FRAMESET_GS_INTRO_STAR ; 0b
const SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE ; 0c
const SPRITE_ANIM_FRAMESET_SLOTS_GOLEM ; 0d
const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY ; 0e
const SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY_2 ; 0f
const SPRITE_ANIM_FRAMESET_SLOTS_EGG ; 10
const SPRITE_ANIM_FRAMESET_RED_WALK ; 11
const SPRITE_ANIM_FRAMESET_STILL_CURSOR ; 12
const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL ; 13
const SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL_0 ; 14
const SPRITE_ANIM_FRAMESET_TRADE_POOF ; 15
const SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE ; 16
const SPRITE_ANIM_FRAMESET_TRADEMON_ICON ; 17
const SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE ; 18
const SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT ; 19
const SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB ; 1a
const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED ; 1b
const SPRITE_ANIM_FRAMESET_1C
const SPRITE_ANIM_FRAMESET_LEAF ; 1d
const SPRITE_ANIM_FRAMESET_CUT_TREE ; 1e
const SPRITE_ANIM_FRAMESET_EGG_CRACK ; 1f
const SPRITE_ANIM_FRAMESET_EGG_HATCH ; 20
const SPRITE_ANIM_FRAMESET_21
const SPRITE_ANIM_FRAMESET_22
const SPRITE_ANIM_FRAMESET_23
const SPRITE_ANIM_FRAMESET_24
const SPRITE_ANIM_FRAMESET_HEADBUTT ; 25
const SPRITE_ANIM_FRAMESET_26
const SPRITE_ANIM_FRAMESET_27
const SPRITE_ANIM_FRAMESET_28
const SPRITE_ANIM_FRAMESET_29
const SPRITE_ANIM_FRAMESET_2A
const SPRITE_ANIM_FRAMESET_2B
const SPRITE_ANIM_FRAMESET_2C
const SPRITE_ANIM_FRAMESET_BLUE_WALK ; 2d
const SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE ; 2e
const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL ; 2f
const SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL ; 30
const SPRITE_ANIM_FRAMESET_FOR_MOBILE_22 ; 31
const SPRITE_ANIM_FRAMESET_FOR_MOBILE_23 ; 32
const SPRITE_ANIM_FRAMESET_FOR_MOBILE_24 ; 33
const SPRITE_ANIM_FRAMESET_FOR_MOBILE_25 ; 34
const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE ; 35
const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_2 ; 36
const SPRITE_ANIM_FRAMESET_INTRO_PICHU ; 37
const SPRITE_ANIM_FRAMESET_INTRO_WOOPER ; 38
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1 ; 39
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_2 ; 3a
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_3 ; 3b
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_4 ; 3c
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F_2 ; 3d
const SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY ; 3e
const SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F ; 3f
const SPRITE_ANIM_FRAMESET_CELEBI_LEFT ; 40
const SPRITE_ANIM_FRAMESET_CELEBI_RIGHT ; 41
; SpriteAnimOAMData indexes (see data/sprite_anim_oam.asm)
const_def
const SPRITE_ANIM_FRAME_IDX_RED_WALK_1 ; 00
const SPRITE_ANIM_FRAME_IDX_RED_WALK_2 ; 01
const SPRITE_ANIM_FRAME_IDX_02
const SPRITE_ANIM_FRAME_IDX_03
const SPRITE_ANIM_FRAME_IDX_04
const SPRITE_ANIM_FRAME_IDX_05
const SPRITE_ANIM_FRAME_IDX_06
const SPRITE_ANIM_FRAME_IDX_07
const SPRITE_ANIM_FRAME_IDX_08
const SPRITE_ANIM_FRAME_IDX_09
const SPRITE_ANIM_FRAME_IDX_0A
const SPRITE_ANIM_FRAME_IDX_0B
const SPRITE_ANIM_FRAME_IDX_0C
const SPRITE_ANIM_FRAME_IDX_0D
const SPRITE_ANIM_FRAME_IDX_0E
const SPRITE_ANIM_FRAME_IDX_0F
const SPRITE_ANIM_FRAME_IDX_10
const SPRITE_ANIM_FRAME_IDX_11
const SPRITE_ANIM_FRAME_IDX_12
const SPRITE_ANIM_FRAME_IDX_13
const SPRITE_ANIM_FRAME_IDX_14
const SPRITE_ANIM_FRAME_IDX_15
const SPRITE_ANIM_FRAME_IDX_16
const SPRITE_ANIM_FRAME_IDX_17
const SPRITE_ANIM_FRAME_IDX_18
const SPRITE_ANIM_FRAME_IDX_19
const SPRITE_ANIM_FRAME_IDX_1A
const SPRITE_ANIM_FRAME_IDX_1B
const SPRITE_ANIM_FRAME_IDX_1C
const SPRITE_ANIM_FRAME_IDX_1D
const SPRITE_ANIM_FRAME_IDX_GS_TITLE_TRAIL_1 ; 1e
const SPRITE_ANIM_FRAME_IDX_GS_TITLE_TRAIL_2 ; 1f
const SPRITE_ANIM_FRAME_IDX_TEXT_ENTRY_CURSOR ; 20
const SPRITE_ANIM_FRAME_IDX_FOR_FRAMESET_09 ; 21
const SPRITE_ANIM_FRAME_IDX_22
const SPRITE_ANIM_FRAME_IDX_GS_INTRO_STAR ; 23
const SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_1 ; 24
const SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_2 ; 25
const SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_3 ; 26
const SPRITE_ANIM_FRAME_IDX_SLOTS_GOLEM_1 ; 27
const SPRITE_ANIM_FRAME_IDX_SLOTS_GOLEM_2 ; 28
const SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_1 ; 29
const SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_2 ; 2a
const SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_3 ; 2b
const SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_4 ; 2c
const SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_5 ; 2d
const SPRITE_ANIM_FRAME_IDX_SLOTS_EGG ; 2e
const SPRITE_ANIM_FRAME_IDX_STILL_CURSOR ; 2f
const SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1 ; 30
const SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2 ; 31
const SPRITE_ANIM_FRAME_IDX_TRADE_POOF_1 ; 32
const SPRITE_ANIM_FRAME_IDX_TRADE_POOF_2 ; 33
const SPRITE_ANIM_FRAME_IDX_TRADE_POOF_3 ; 34
const SPRITE_ANIM_FRAME_IDX_35
const SPRITE_ANIM_FRAME_IDX_36
const SPRITE_ANIM_FRAME_IDX_TRADEMON_ICON_1 ; 37
const SPRITE_ANIM_FRAME_IDX_TRADEMON_ICON_2 ; 38
const SPRITE_ANIM_FRAME_IDX_TRADEMON_BUBBLE ; 39
const SPRITE_ANIM_FRAME_IDX_EVOLUTION_BALL_OF_LIGHT_1 ; 3a
const SPRITE_ANIM_FRAME_IDX_EVOLUTION_BALL_OF_LIGHT_2 ; 3b
const SPRITE_ANIM_FRAME_IDX_RADIO_TUNING_KNOB ; 3c
const SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_1 ; 3d
const SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_2 ; 3e
const SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_1 ; 3f
const SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_2 ; 40
const SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_1 ; 41
const SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_2 ; 42
const SPRITE_ANIM_FRAME_IDX_43
const SPRITE_ANIM_FRAME_IDX_44
const SPRITE_ANIM_FRAME_IDX_45
const SPRITE_ANIM_FRAME_IDX_46
const SPRITE_ANIM_FRAME_IDX_47
const SPRITE_ANIM_FRAME_IDX_48
const SPRITE_ANIM_FRAME_IDX_49
const SPRITE_ANIM_FRAME_IDX_4A
const SPRITE_ANIM_FRAME_IDX_4B
const SPRITE_ANIM_FRAME_IDX_4C
const SPRITE_ANIM_FRAME_IDX_4D
const SPRITE_ANIM_FRAME_IDX_4E
const SPRITE_ANIM_FRAME_IDX_LEAF ; 4f
const SPRITE_ANIM_FRAME_IDX_TREE_1 ; 50
const SPRITE_ANIM_FRAME_IDX_CUT_TREE_2 ; 51
const SPRITE_ANIM_FRAME_IDX_CUT_TREE_3 ; 52
const SPRITE_ANIM_FRAME_IDX_CUT_TREE_4 ; 53
const SPRITE_ANIM_FRAME_IDX_EGG_CRACK ; 54
const SPRITE_ANIM_FRAME_IDX_55
const SPRITE_ANIM_FRAME_IDX_56
const SPRITE_ANIM_FRAME_IDX_57
const SPRITE_ANIM_FRAME_IDX_58
const SPRITE_ANIM_FRAME_IDX_59
const SPRITE_ANIM_FRAME_IDX_5A
const SPRITE_ANIM_FRAME_IDX_HEADBUTT_TREE_2 ; 5b
const SPRITE_ANIM_FRAME_IDX_5C
const SPRITE_ANIM_FRAME_IDX_5D
const SPRITE_ANIM_FRAME_IDX_5E
const SPRITE_ANIM_FRAME_IDX_5F
const SPRITE_ANIM_FRAME_IDX_60
const SPRITE_ANIM_FRAME_IDX_61
const SPRITE_ANIM_FRAME_IDX_62
const SPRITE_ANIM_FRAME_IDX_BLUE_WALK_1 ; 63
const SPRITE_ANIM_FRAME_IDX_BLUE_WALK_2 ; 64
const SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_BLUE_1 ; 65
const SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_BLUE_2 ; 66
const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_22_1 ; 67
const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_22_2 ; 68
const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_1 ; 69
const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_2 ; 6a
const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_3 ; 6b
const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_23 ; 6c
const SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_24 ; 6d
const SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_1 ; 6e
const SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_2 ; 6f
const SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_3 ; 70
const SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_4 ; 71
const SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_1 ; 72
const SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_2 ; 73
const SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_3 ; 74
const SPRITE_ANIM_FRAME_IDX_INTRO_WOOPER ; 75
const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_1 ; 76
const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_2 ; 77
const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_3 ; 78
const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_1 ; 79
const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_2 ; 7a
const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_3 ; 7b
const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_4 ; 7c
const SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_5 ; 7d
const SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_AWAY ; 7e
const SPRITE_ANIM_FRAME_IDX_CELEBI_1 ; 7f
const SPRITE_ANIM_FRAME_IDX_CELEBI_2 ; 80
const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_1 ; 81
const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_2 ; 82
const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_3 ; 83
const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_4 ; 84
const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_5 ; 85
const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_6 ; 86
const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_7 ; 87
const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_8 ; 88
const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_9 ; 89
const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_10 ; 8A
const SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_11 ; 8B

View File

@ -2,36 +2,36 @@
; Maps with permission ROUTE or TOWN can only use these sprites.
OutdoorSprites: ; 144b8
dw Group1Sprites
dw Group2Sprites
dw Group3Sprites
dw Group4Sprites
dw Group5Sprites
dw Group6Sprites
dw Group7Sprites
dw Group8Sprites
dw Group9Sprites
dw Group10Sprites
dw Group11Sprites
dw Group12Sprites
dw Group13Sprites
dw Group14Sprites
dw Group15Sprites
dw Group16Sprites
dw Group17Sprites
dw Group18Sprites
dw Group19Sprites
dw Group20Sprites
dw Group21Sprites
dw Group22Sprites
dw Group23Sprites
dw Group24Sprites
dw Group25Sprites
dw Group26Sprites
dw OlivineGroupSprites
dw MahoganyGroupSprites
dw DungeonsGroupSprites
dw EcruteakGroupSprites
dw BlackthornGroupSprites
dw CinnabarGroupSprites
dw CeruleanGroupSprites
dw AzaleaGroupSprites
dw LakeOfRageGroupSprites
dw VioletGroupSprites
dw GoldenrodGroupSprites
dw VermilionGroupSprites
dw PalletGroupSprites
dw PewterGroupSprites
dw FastShipGroupSprites
dw IndigoGroupSprites
dw FuchsiaGroupSprites
dw LavenderGroupSprites
dw SilverGroupSprites
dw CableClubGroupSprites
dw CeladonGroupSprites
dw CianwoodGroupSprites
dw ViridianGroupSprites
dw NewBarkGroupSprites
dw SaffronGroupSprites
dw CherrygroveGroupSprites
; 144ec
Group13Sprites: ; 144ec
PalletGroupSprites: ; 144ec
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -57,7 +57,7 @@ Group13Sprites: ; 144ec
db SPRITE_FRUIT_TREE
; 14503
Group23Sprites: ; 14503
ViridianGroupSprites: ; 14503
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -83,7 +83,7 @@ Group23Sprites: ; 14503
db SPRITE_FRUIT_TREE
; 1451a
Group14Sprites: ; 1451a
PewterGroupSprites: ; 1451a
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -109,7 +109,7 @@ Group14Sprites: ; 1451a
db SPRITE_FRUIT_TREE
; 14531
Group6Sprites: ; 14531
CinnabarGroupSprites: ; 14531
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -135,7 +135,7 @@ Group6Sprites: ; 14531
db SPRITE_FRUIT_TREE
; 14548
Group7Sprites: ; 14548
CeruleanGroupSprites: ; 14548
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -161,7 +161,7 @@ Group7Sprites: ; 14548
db SPRITE_SLOWPOKE
; 1455f
Group25Sprites: ; 1455f
SaffronGroupSprites: ; 1455f
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -187,7 +187,7 @@ Group25Sprites: ; 1455f
db SPRITE_SLOWPOKE
; 14576
Group21Sprites: ; 14576
CeladonGroupSprites: ; 14576
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -213,7 +213,7 @@ Group21Sprites: ; 14576
db SPRITE_FRUIT_TREE
; 1458d
Group18Sprites: ; 1458d
LavenderGroupSprites: ; 1458d
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -239,7 +239,7 @@ Group18Sprites: ; 1458d
db SPRITE_FRUIT_TREE
; 145a4
Group12Sprites: ; 145a4
VermilionGroupSprites: ; 145a4
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -265,7 +265,7 @@ Group12Sprites: ; 145a4
db SPRITE_FRUIT_TREE
; 145bb
Group17Sprites: ; 145bb
FuchsiaGroupSprites: ; 145bb
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -291,7 +291,7 @@ Group17Sprites: ; 145bb
db SPRITE_FRUIT_TREE
; 145d2
Group16Sprites: ; 145d2
IndigoGroupSprites: ; 145d2
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -317,7 +317,7 @@ Group16Sprites: ; 145d2
db SPRITE_BOULDER
; 145e9
Group24Sprites: ; 145e9
NewBarkGroupSprites: ; 145e9
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -343,7 +343,7 @@ Group24Sprites: ; 145e9
db SPRITE_FRUIT_TREE
; 14600
Group26Sprites: ; 14600
CherrygroveGroupSprites: ; 14600
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -369,7 +369,7 @@ Group26Sprites: ; 14600
db SPRITE_FRUIT_TREE
; 14617
Group19Sprites: ; 14617
SilverGroupSprites: ; 14617
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -395,7 +395,7 @@ Group19Sprites: ; 14617
db SPRITE_FRUIT_TREE
; 1462e
Group10Sprites: ; 1462e
VioletGroupSprites: ; 1462e
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -421,7 +421,7 @@ Group10Sprites: ; 1462e
db SPRITE_FRUIT_TREE
; 14645
Group4Sprites: ; 14645
EcruteakGroupSprites: ; 14645
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -447,7 +447,7 @@ Group4Sprites: ; 14645
db SPRITE_FRUIT_TREE
; 1465c
Group8Sprites: ; 1465c
AzaleaGroupSprites: ; 1465c
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -473,7 +473,7 @@ Group8Sprites: ; 1465c
db SPRITE_SLOWPOKE
; 14673
Group11Sprites: ; 14673
GoldenrodGroupSprites: ; 14673
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_POKE_BALL
@ -499,7 +499,7 @@ Group11Sprites: ; 14673
db SPRITE_SLOWPOKE
; 1468a
Group22Sprites: ; 1468a
CianwoodGroupSprites: ; 1468a
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -525,7 +525,7 @@ Group22Sprites: ; 1468a
db SPRITE_ROCK
; 146a1
Group1Sprites: ; 146a1
OlivineGroupSprites: ; 146a1
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -551,7 +551,7 @@ Group1Sprites: ; 146a1
db SPRITE_ROCK
; 146b8
Group9Sprites: ; 146b8
LakeOfRageGroupSprites: ; 146b8
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -577,7 +577,7 @@ Group9Sprites: ; 146b8
db SPRITE_POKE_BALL
; 146cf
Group2Sprites: ; 146cf
MahoganyGroupSprites: ; 146cf
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -603,7 +603,7 @@ Group2Sprites: ; 146cf
db SPRITE_POKE_BALL
; 146e6
Group5Sprites: ; 146e6
BlackthornGroupSprites: ; 146e6
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -629,7 +629,7 @@ Group5Sprites: ; 146e6
db SPRITE_POKE_BALL
; 146fd
Group3Sprites: ; 146fd
DungeonsGroupSprites: ; 146fd
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -655,7 +655,7 @@ Group3Sprites: ; 146fd
db SPRITE_BOULDER
; 14714
Group15Sprites: ; 14714
FastShipGroupSprites: ; 14714
db SPRITE_SUICUNE
db SPRITE_SILVER_TROPHY
db SPRITE_FAMICOM
@ -681,7 +681,7 @@ Group15Sprites: ; 14714
db SPRITE_ROCK
; 1472b
Group20Sprites: ; 1472b
CableClubGroupSprites: ; 1472b
db SPRITE_OAK
db SPRITE_FISHER
db SPRITE_TEACHER

View File

@ -2,12 +2,12 @@ SpriteAnimFrameData: ; 8d6e6
; entries correspond to SPRITE_ANIM_FRAMESET_* constants
dw .Frameset_00
dw .Frameset_PartyMon
dw .Frameset_02
dw .Frameset_03
dw .Frameset_04
dw .Frameset_05
dw .Frameset_06
dw .Frameset_07
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
@ -47,12 +47,12 @@ SpriteAnimFrameData: ; 8d6e6
dw .Frameset_2c
dw .Frameset_BlueWalk
dw .Frameset_MagnetTrainBlue
dw .Frameset_2f
dw .Frameset_30
dw .Frameset_31
dw .Frameset_32
dw .Frameset_33
dw .Frameset_34
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
@ -69,150 +69,150 @@ SpriteAnimFrameData: ; 8d6e6
; 8d76a
.Frameset_00:
frame SPRITE_ANIM_FRAME_IDX_00, 32
frame SPRITE_ANIM_FRAME_IDX_RED_WALK_1, 32
endanim
.Frameset_PartyMon:
frame SPRITE_ANIM_FRAME_IDX_00, 8
frame SPRITE_ANIM_FRAME_IDX_01, 8
frame SPRITE_ANIM_FRAME_IDX_RED_WALK_1, 8
frame SPRITE_ANIM_FRAME_IDX_RED_WALK_2, 8
dorestart
.Frameset_02:
frame SPRITE_ANIM_FRAME_IDX_3D, 8
frame SPRITE_ANIM_FRAME_IDX_3E, 8
.Frameset_PartyMonWithMail:
frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_1, 8
frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_2, 8
dorestart
.Frameset_03:
frame SPRITE_ANIM_FRAME_IDX_3F, 8
frame SPRITE_ANIM_FRAME_IDX_40, 8
.Frameset_PartyMonWithItem:
frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_1, 8
frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_2, 8
dorestart
.Frameset_04:
frame SPRITE_ANIM_FRAME_IDX_00, 4
frame SPRITE_ANIM_FRAME_IDX_01, 4
.Frameset_PartyMonFast:
frame SPRITE_ANIM_FRAME_IDX_RED_WALK_1, 4
frame SPRITE_ANIM_FRAME_IDX_RED_WALK_2, 4
dorestart
.Frameset_05:
frame SPRITE_ANIM_FRAME_IDX_3D, 4
frame SPRITE_ANIM_FRAME_IDX_3E, 4
.Frameset_PartyMonWithMailFast:
frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_1, 4
frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_MAIL_2, 4
dorestart
.Frameset_06:
frame SPRITE_ANIM_FRAME_IDX_3F, 4
frame SPRITE_ANIM_FRAME_IDX_40, 4
.Frameset_PartyMonWithItemFast:
frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_1, 4
frame SPRITE_ANIM_FRAME_IDX_PARTY_MON_WITH_ITEM_2, 4
dorestart
.Frameset_RedWalk:
frame SPRITE_ANIM_FRAME_IDX_00, 8
frame SPRITE_ANIM_FRAME_IDX_01, 8
frame SPRITE_ANIM_FRAME_IDX_00, 8
frame SPRITE_ANIM_FRAME_IDX_01, 8, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_RED_WALK_1, 8
frame SPRITE_ANIM_FRAME_IDX_RED_WALK_2, 8
frame SPRITE_ANIM_FRAME_IDX_RED_WALK_1, 8
frame SPRITE_ANIM_FRAME_IDX_RED_WALK_2, 8, OAM_X_FLIP
dorestart
.Frameset_BlueWalk:
frame SPRITE_ANIM_FRAME_IDX_63, 8
frame SPRITE_ANIM_FRAME_IDX_64, 8
frame SPRITE_ANIM_FRAME_IDX_63, 8
frame SPRITE_ANIM_FRAME_IDX_64, 8, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_BLUE_WALK_1, 8
frame SPRITE_ANIM_FRAME_IDX_BLUE_WALK_2, 8
frame SPRITE_ANIM_FRAME_IDX_BLUE_WALK_1, 8
frame SPRITE_ANIM_FRAME_IDX_BLUE_WALK_2, 8, OAM_X_FLIP
dorestart
.Frameset_MagnetTrainBlue:
frame SPRITE_ANIM_FRAME_IDX_65, 8
frame SPRITE_ANIM_FRAME_IDX_66, 8
frame SPRITE_ANIM_FRAME_IDX_65, 8
frame SPRITE_ANIM_FRAME_IDX_66, 8, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_BLUE_1, 8
frame SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_BLUE_2, 8
frame SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_BLUE_1, 8
frame SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_BLUE_2, 8, OAM_X_FLIP
dorestart
.Frameset_07:
frame SPRITE_ANIM_FRAME_IDX_1E, 1
frame SPRITE_ANIM_FRAME_IDX_1F, 1
.Frameset_GSTitleTrail:
frame SPRITE_ANIM_FRAME_IDX_GS_TITLE_TRAIL_1, 1
frame SPRITE_ANIM_FRAME_IDX_GS_TITLE_TRAIL_2, 1
dorestart
.Frameset_TextEntryCursor:
frame SPRITE_ANIM_FRAME_IDX_20, 1
frame SPRITE_ANIM_FRAME_IDX_TEXT_ENTRY_CURSOR, 1
dorepeat 1
dorestart
.Frameset_09:
frame SPRITE_ANIM_FRAME_IDX_21, 1
frame SPRITE_ANIM_FRAME_IDX_FOR_FRAMESET_09, 1
dorepeat 1
dorestart
.Frameset_GameFreakLogo:
frame SPRITE_ANIM_FRAME_IDX_81, 12
frame SPRITE_ANIM_FRAME_IDX_82, 1
frame SPRITE_ANIM_FRAME_IDX_83, 1
frame SPRITE_ANIM_FRAME_IDX_82, 4
frame SPRITE_ANIM_FRAME_IDX_81, 12
frame SPRITE_ANIM_FRAME_IDX_82, 12
frame SPRITE_ANIM_FRAME_IDX_83, 4
frame SPRITE_ANIM_FRAME_IDX_84, 32
frame SPRITE_ANIM_FRAME_IDX_85, 3
frame SPRITE_ANIM_FRAME_IDX_86, 3
frame SPRITE_ANIM_FRAME_IDX_87, 4
frame SPRITE_ANIM_FRAME_IDX_88, 4
frame SPRITE_ANIM_FRAME_IDX_89, 4
frame SPRITE_ANIM_FRAME_IDX_8A, 10
frame SPRITE_ANIM_FRAME_IDX_8B, 7
frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_1, 12
frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_2, 1
frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_3, 1
frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_2, 4
frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_1, 12
frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_2, 12
frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_3, 4
frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_4, 32
frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_5, 3
frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_6, 3
frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_7, 4
frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_8, 4
frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_9, 4
frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_10, 10
frame SPRITE_ANIM_FRAME_IDX_GAMEFREAK_LOGO_11, 7
endanim
.Frameset_GSIntroStar:
frame SPRITE_ANIM_FRAME_IDX_23, 3
frame SPRITE_ANIM_FRAME_IDX_23, 3, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_GS_INTRO_STAR, 3
frame SPRITE_ANIM_FRAME_IDX_GS_INTRO_STAR, 3, OAM_Y_FLIP
dorestart
.Frameset_GSIntroSparkle:
frame SPRITE_ANIM_FRAME_IDX_24, 2
frame SPRITE_ANIM_FRAME_IDX_25, 2
frame SPRITE_ANIM_FRAME_IDX_26, 2
frame SPRITE_ANIM_FRAME_IDX_25, 2
frame SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_1, 2
frame SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_2, 2
frame SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_3, 2
frame SPRITE_ANIM_FRAME_IDX_GS_INTRO_SPARKLE_2, 2
dorestart
.Frameset_SlotsGolem:
frame SPRITE_ANIM_FRAME_IDX_27, 7
frame SPRITE_ANIM_FRAME_IDX_28, 7
frame SPRITE_ANIM_FRAME_IDX_27, 7, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_28, 7, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_SLOTS_GOLEM_1, 7
frame SPRITE_ANIM_FRAME_IDX_SLOTS_GOLEM_2, 7
frame SPRITE_ANIM_FRAME_IDX_SLOTS_GOLEM_1, 7, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_SLOTS_GOLEM_2, 7, OAM_X_FLIP
dorestart
.Frameset_SlotsChansey:
frame SPRITE_ANIM_FRAME_IDX_29, 7
frame SPRITE_ANIM_FRAME_IDX_2A, 7
frame SPRITE_ANIM_FRAME_IDX_29, 7
frame SPRITE_ANIM_FRAME_IDX_2B, 7
frame SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_1, 7
frame SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_2, 7
frame SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_1, 7
frame SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_3, 7
dorestart
.Frameset_SlotsChansey2:
frame SPRITE_ANIM_FRAME_IDX_29, 7
frame SPRITE_ANIM_FRAME_IDX_2C, 7
frame SPRITE_ANIM_FRAME_IDX_2D, 7
frame SPRITE_ANIM_FRAME_IDX_2C, 7
frame SPRITE_ANIM_FRAME_IDX_29, 7
frame SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_1, 7
frame SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_4, 7
frame SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_5, 7
frame SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_4, 7
frame SPRITE_ANIM_FRAME_IDX_SLOTS_CHANSEY_1, 7
endanim
.Frameset_SlotsEgg:
frame SPRITE_ANIM_FRAME_IDX_2E, 20
frame SPRITE_ANIM_FRAME_IDX_SLOTS_EGG, 20
endanim
.Frameset_StillCursor:
frame SPRITE_ANIM_FRAME_IDX_2F, 32
frame SPRITE_ANIM_FRAME_IDX_STILL_CURSOR, 32
endanim
.Frameset_TradePokeBall:
frame SPRITE_ANIM_FRAME_IDX_30, 32
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 32
endanim
.Frameset_TradePokeBall0:
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
dorestart
.Frameset_TradePoof:
frame SPRITE_ANIM_FRAME_IDX_32, 4
frame SPRITE_ANIM_FRAME_IDX_33, 4
frame SPRITE_ANIM_FRAME_IDX_34, 4
frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_1, 4
frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_2, 4
frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_3, 4
delanim
.Frameset_TradeTubeBulge:
@ -221,29 +221,29 @@ SpriteAnimFrameData: ; 8d6e6
dorestart
.Frameset_TrademonIcon:
frame SPRITE_ANIM_FRAME_IDX_37, 7
frame SPRITE_ANIM_FRAME_IDX_38, 7
frame SPRITE_ANIM_FRAME_IDX_TRADEMON_ICON_1, 7
frame SPRITE_ANIM_FRAME_IDX_TRADEMON_ICON_2, 7
dorestart
.Frameset_TrademonBubble:
frame SPRITE_ANIM_FRAME_IDX_39, 32
frame SPRITE_ANIM_FRAME_IDX_TRADEMON_BUBBLE, 32
endanim
.Frameset_EvolutionBallOfLight:
frame SPRITE_ANIM_FRAME_IDX_3B, 2
frame SPRITE_ANIM_FRAME_IDX_3A, 2
frame SPRITE_ANIM_FRAME_IDX_3B, 2
frame SPRITE_ANIM_FRAME_IDX_EVOLUTION_BALL_OF_LIGHT_2, 2
frame SPRITE_ANIM_FRAME_IDX_EVOLUTION_BALL_OF_LIGHT_1, 2
frame SPRITE_ANIM_FRAME_IDX_EVOLUTION_BALL_OF_LIGHT_2, 2
endanim
.Frameset_RadioTuningKnob:
frame SPRITE_ANIM_FRAME_IDX_3C, 32
frame SPRITE_ANIM_FRAME_IDX_RADIO_TUNING_KNOB, 32
endanim
.Frameset_MagnetTrainRed:
frame SPRITE_ANIM_FRAME_IDX_41, 8
frame SPRITE_ANIM_FRAME_IDX_42, 8
frame SPRITE_ANIM_FRAME_IDX_41, 8
frame SPRITE_ANIM_FRAME_IDX_42, 8, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_1, 8
frame SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_2, 8
frame SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_1, 8
frame SPRITE_ANIM_FRAME_IDX_MAGNET_TRAIN_RED_2, 8, OAM_X_FLIP
dorestart
; XXX
@ -294,20 +294,20 @@ SpriteAnimFrameData: ; 8d6e6
endanim
.Frameset_Leaf:
frame SPRITE_ANIM_FRAME_IDX_4F, 32
frame SPRITE_ANIM_FRAME_IDX_LEAF, 32
endanim
.Frameset_CutTree:
frame SPRITE_ANIM_FRAME_IDX_50, 2
frame SPRITE_ANIM_FRAME_IDX_51, 16
frame SPRITE_ANIM_FRAME_IDX_TREE_1, 2
frame SPRITE_ANIM_FRAME_IDX_CUT_TREE_2, 16
dorepeat 1
frame SPRITE_ANIM_FRAME_IDX_52, 1
frame SPRITE_ANIM_FRAME_IDX_CUT_TREE_3, 1
dorepeat 1
frame SPRITE_ANIM_FRAME_IDX_53, 1
frame SPRITE_ANIM_FRAME_IDX_CUT_TREE_4, 1
delanim
.Frameset_EggCrack:
frame SPRITE_ANIM_FRAME_IDX_54, 32
frame SPRITE_ANIM_FRAME_IDX_EGG_CRACK, 32
endanim
.Frameset_EggHatch:
@ -336,10 +336,10 @@ SpriteAnimFrameData: ; 8d6e6
dorestart
.Frameset_HeadbuttTree:
frame SPRITE_ANIM_FRAME_IDX_50, 2
frame SPRITE_ANIM_FRAME_IDX_5B, 2
frame SPRITE_ANIM_FRAME_IDX_50, 2
frame SPRITE_ANIM_FRAME_IDX_5B, 2, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_TREE_1, 2
frame SPRITE_ANIM_FRAME_IDX_HEADBUTT_TREE_2, 2
frame SPRITE_ANIM_FRAME_IDX_TREE_1, 2
frame SPRITE_ANIM_FRAME_IDX_HEADBUTT_TREE_2, 2, OAM_X_FLIP
dorestart
.Frameset_26:
@ -370,117 +370,117 @@ SpriteAnimFrameData: ; 8d6e6
frame SPRITE_ANIM_FRAME_IDX_62, 2
endanim
.Frameset_2f:
frame SPRITE_ANIM_FRAME_IDX_32, 3
frame SPRITE_ANIM_FRAME_IDX_33, 3
frame SPRITE_ANIM_FRAME_IDX_34, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
.Frameset_MobileTradeSentBall:
frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_1, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_2, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_3, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
endanim
.Frameset_30:
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3
frame SPRITE_ANIM_FRAME_IDX_30, 3
frame SPRITE_ANIM_FRAME_IDX_31, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_32, 3
frame SPRITE_ANIM_FRAME_IDX_33, 3
frame SPRITE_ANIM_FRAME_IDX_34, 3
.Frameset_MobileTradeOTBall:
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_1, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POKE_BALL_2, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_1, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_2, 3
frame SPRITE_ANIM_FRAME_IDX_TRADE_POOF_3, 3
delanim
.Frameset_31:
frame SPRITE_ANIM_FRAME_IDX_67, 3
frame SPRITE_ANIM_FRAME_IDX_68, 3
.Frameset_ForMobile22:
frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_22_1, 3
frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_22_2, 3
dorestart
.Frameset_32:
frame SPRITE_ANIM_FRAME_IDX_6C, 3
.Frameset_ForMobile23:
frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_23, 3
endanim
.Frameset_33:
frame SPRITE_ANIM_FRAME_IDX_6D, 3
.Frameset_ForMobile24:
frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_24, 3
endanim
.Frameset_34:
frame SPRITE_ANIM_FRAME_IDX_69, 2
frame SPRITE_ANIM_FRAME_IDX_6A, 2
frame SPRITE_ANIM_FRAME_IDX_6B, 2
.Frameset_ForMobile25:
frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_1, 2
frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_2, 2
frame SPRITE_ANIM_FRAME_IDX_FOR_MOBILE_25_3, 2
delanim
.Frameset_IntroSuicune:
frame SPRITE_ANIM_FRAME_IDX_6E, 3
frame SPRITE_ANIM_FRAME_IDX_6F, 3
frame SPRITE_ANIM_FRAME_IDX_70, 3
frame SPRITE_ANIM_FRAME_IDX_71, 3
frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_1, 3
frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_2, 3
frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_3, 3
frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_4, 3
dorestart
.Frameset_IntroSuicune2:
frame SPRITE_ANIM_FRAME_IDX_71, 3
frame SPRITE_ANIM_FRAME_IDX_6E, 7
frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_4, 3
frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_1, 7
endanim
.Frameset_IntroPichu:
frame SPRITE_ANIM_FRAME_IDX_72, 32
frame SPRITE_ANIM_FRAME_IDX_73, 7
frame SPRITE_ANIM_FRAME_IDX_74, 7
frame SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_1, 32
frame SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_2, 7
frame SPRITE_ANIM_FRAME_IDX_INTRO_PICHU_3, 7
endanim
.Frameset_IntroWooper:
frame SPRITE_ANIM_FRAME_IDX_75, 3
frame SPRITE_ANIM_FRAME_IDX_INTRO_WOOPER, 3
endanim
.Frameset_IntroUnown1:
frame SPRITE_ANIM_FRAME_IDX_76, 3
frame SPRITE_ANIM_FRAME_IDX_77, 3
frame SPRITE_ANIM_FRAME_IDX_78, 7
frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_1, 3
frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_2, 3
frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_3, 7
delanim
.Frameset_IntroUnown2:
frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_1, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_2, 3, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_3, 7, OAM_X_FLIP
delanim
.Frameset_IntroUnown3:
frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_1, 3, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_2, 3, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_3, 7, OAM_Y_FLIP
delanim
.Frameset_IntroUnown4:
frame SPRITE_ANIM_FRAME_IDX_76, 3, OAM_X_FLIP, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_77, 3, OAM_X_FLIP, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_78, 7, OAM_X_FLIP, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_1, 3, OAM_X_FLIP, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_2, 3, OAM_X_FLIP, OAM_Y_FLIP
frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_3, 7, OAM_X_FLIP, OAM_Y_FLIP
delanim
.Frameset_IntroUnownF2:
frame SPRITE_ANIM_FRAME_IDX_79, 3
frame SPRITE_ANIM_FRAME_IDX_7A, 3
frame SPRITE_ANIM_FRAME_IDX_7B, 3
frame SPRITE_ANIM_FRAME_IDX_7C, 7
frame SPRITE_ANIM_FRAME_IDX_7D, 7
frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_1, 3
frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_2, 3
frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_3, 3
frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_4, 7
frame SPRITE_ANIM_FRAME_IDX_INTRO_UNOWN_F_2_5, 7
endanim
.Frameset_IntroSuicuneAway:
frame SPRITE_ANIM_FRAME_IDX_7E, 3
frame SPRITE_ANIM_FRAME_IDX_INTRO_SUICUNE_AWAY, 3
endanim
.Frameset_IntroUnownF:
@ -488,12 +488,12 @@ SpriteAnimFrameData: ; 8d6e6
endanim
.Frameset_CelebiLeft:
frame SPRITE_ANIM_FRAME_IDX_7F, 8
frame SPRITE_ANIM_FRAME_IDX_80, 8
frame SPRITE_ANIM_FRAME_IDX_CELEBI_1, 8
frame SPRITE_ANIM_FRAME_IDX_CELEBI_2, 8
endanim
.Frameset_CelebiRight:
frame SPRITE_ANIM_FRAME_IDX_7F, 8, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_80, 8, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_CELEBI_1, 8, OAM_X_FLIP
frame SPRITE_ANIM_FRAME_IDX_CELEBI_2, 8, OAM_X_FLIP
endanim
; 8d94d

File diff suppressed because it is too large Load Diff

View File

@ -3,8 +3,8 @@ SpriteAnimSeqData: ; 8d1c4
; frameset sequence, tile
; SPRITE_ANIM_INDEX_PARTY_MON
db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, $00
; SPRITE_ANIM_INDEX_01
db SPRITE_ANIM_FRAMESET_07, SPRITE_ANIM_SEQ_04, $00
; SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
db SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL, SPRITE_ANIM_SEQ_GS_TITLE_TRAIL, $00
; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, $05
; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
@ -23,12 +23,12 @@ SpriteAnimSeqData: ; 8d1c4
db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_MAIL_CURSOR, $05
; SPRITE_ANIM_INDEX_RED_WALK
db SPRITE_ANIM_FRAMESET_RED_WALK, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_0B
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0D, $08
; SPRITE_ANIM_INDEX_UNUSED_CURSOR
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_FOR_UNUSED_CURSOR, $08
; SPRITE_ANIM_INDEX_DUMMY_GAME
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0E, $08
; SPRITE_ANIM_INDEX_0D
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_0F, $08
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR, $08
; SPRITE_ANIM_INDEX_POKEGEAR_ARROW
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_POKEGEAR_ARROW, $08
; SPRITE_ANIM_INDEX_TRADE_POKE_BALL
db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_TRADE_POKE_BALL, $00
; SPRITE_ANIM_INDEX_TRADE_POOF
@ -65,18 +65,18 @@ SpriteAnimSeqData: ; 8d1c4
db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_20
db SPRITE_ANIM_FRAMESET_2F, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_21
db SPRITE_ANIM_FRAMESET_30, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_22
db SPRITE_ANIM_FRAMESET_31, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_23
db SPRITE_ANIM_FRAMESET_32, SPRITE_ANIM_SEQ_1B, $00
; SPRITE_ANIM_INDEX_24
db SPRITE_ANIM_FRAMESET_33, SPRITE_ANIM_SEQ_1C, $00
; SPRITE_ANIM_INDEX_25
db SPRITE_ANIM_FRAMESET_34, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_MOBILE_22
db SPRITE_ANIM_FRAMESET_FOR_MOBILE_22, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_MOBILE_23
db SPRITE_ANIM_FRAMESET_FOR_MOBILE_23, SPRITE_ANIM_SEQ_FOR_MOBILE_23, $00
; SPRITE_ANIM_INDEX_MOBILE_24
db SPRITE_ANIM_FRAMESET_FOR_MOBILE_24, SPRITE_ANIM_SEQ_FOR_MOBILE_24, $00
; SPRITE_ANIM_INDEX_MOBILE_25
db SPRITE_ANIM_FRAMESET_FOR_MOBILE_25, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_INTRO_SUICUNE
db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_INTRO_SUICUNE, $00
; SPRITE_ANIM_INDEX_INTRO_PICHU

View File

@ -1,4 +1,4 @@
# Scripting Commands
# Event Commands
## `$00`: `scall` *script*

View File

@ -3,7 +3,7 @@
## `const_value set 2`
### `const` *`MAPNAME_PERSONNAME`*
- **`const` *`MAPNAME_PERSONNAME`***
## `MapName_MapScriptHeader:`
@ -11,24 +11,45 @@
## `.MapTriggers: db` *N*
### `maptrigger` *script*
- **`maptrigger` *script***
## `.MapCallbacks: db` *N*
### `dbw` *type*, *script*
- **`dbw` *type*, *script***
Callback types:
- **`MAPCALLBACK_NEWMAP`**
- **`MAPCALLBACK_TILES`**
- **`MAPCALLBACK_OBJECTS`**
- **`MAPCALLBACK_SPRITES`**
- **`MAPCALLBACK_CMDQUEUE`**
**`dbw CMDQUEUE_STONETABLE,` *table_pointer***
**`stonetable` *warp_id*, *person*, *script***
**`db -1 ; end`**
## Scripts
## Event scripts
[Event commands](event_commands.md)
## Text
- **`text`**
- **`line`**
- **`cont`**
- **`para`**
- **`done`**
[Text commands](text_commands.md)
## Movement data
[Movement commands](movement_commands.md)
## `MapName_MapEventHeader:`
@ -39,19 +60,19 @@
## `.Warps: db` *N*
### `warp_def` *y*, *x*, *warp_id*, *map*
- **`warp_def` *y*, *x*, *warp_id*, *map***
## `.XYTriggers: db` *N*
### `xy_trigger` *id*, *y*, *x*, `$0`, *script*, `$0`, `$0`
- **`xy_trigger` *id*, *y*, *x*, `$0`, *script*, `$0`, `$0`**
## `.Signposts: db` *N*
### `signpost` *y*, *x*, *type*, *script*
- **`signpost` *y*, *x*, *type*, *script***
#### Signpost types:
Signpost types:
- **`SIGNPOST_READ`**
@ -69,9 +90,9 @@
## `.PersonEvents: db` *N*
### `person_event` *sprite*, *y*, *x*, *movement*, *ry*, *rx*, *hour*, *daytime*, *palette*, *type*, *range*, *script*, *event_flag*
- **`person_event` *sprite*, *y*, *x*, *movement*, *ry*, *rx*, *hour*, *daytime*, *palette*, *type*, *range*, *script*, *event_flag***
#### Movement types:
Movement types:
- **`SPRITEMOVEDATA_ITEM_TREE`**
@ -105,7 +126,7 @@
- **`SPRITEMOVEDATA_LAPRAS`**
#### Person types:
Person types:
- **`PERSONTYPE_SCRIPT`**

View File

@ -0,0 +1,99 @@
# Move Animation Commands
## `$00``$EF`: `anim_wait` *length*
## `$D0`: `anim_obj` *object*, *x*, *y*, *param*
## `$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`

81
docs/movement_commands.md Normal file
View File

@ -0,0 +1,81 @@
# Movement Commands
## `$00``$03`: `turn_head` *direction*
## `$04``$07`: `turn_step` *direction*
## `$08``$0B`: `slow_step` *direction*
## `$0C``$0F`: `step` *direction*
## `$10``$13`: `big_step` *direction*
## `$14``$17`: `slow_slide_step` *direction*
## `$18``$1B`: `slide_step` *direction*
## `$1C``$1F`: `fast_slide_step` *direction*
## `$20``$23`: `turn_away` *direction*
## `$24``$27`: `turn_in` *direction*
## `$28``$2B`: `turn_waterfall` *direction*
## `$2C``$2F`: `slow_jump_step` *direction*
## `$30``$33`: `jump_step` *direction*
## `$34``$37`: `fast_jump_step` *direction*
## `$38`: `remove_sliding`
## `$39`: `set_sliding`
## `$3A`: `remove_fixed_facing`
## `$3B`: `fix_facing`
## `$3C`: `show_person`
## `$3D`: `hide_person`
## `$3E``$46`: `step_sleep` *length*
## `$47`: `step_end`
## `$48`: `step_48` *param*
## `$49`: `remove_person`
## `$4A`: `step_loop`
## `$4B`: `step_4b`
## `$4C`: `teleport_from`
## `$4D`: `teleport_to`
## `$4E`: `skyfall`
## `$4F`: `step_dig` *length*
## `$50`: `step_bump`
## `$51`: `fish_got_bite`
## `$52`: `fish_cast_rod`
## `$53`: `hide_emote`
## `$54`: `show_emote`
## `$55`: `step_shake` *displacement*
## `$56`: `tree_shake`
## `$57`: `rock_smash` *length*
## `$58`: `return_dig` *length*
## `$59`: `skyfall_top`

132
docs/text_commands.md Normal file
View File

@ -0,0 +1,132 @@
# Text Commands
## `$00`: `text` *text*
Start writing text until `"@"`.
## `$4E`: `next` *text*
Move a line down.
## `$4F`: `line` *text*
Start writing at the bottom line.
## `$50`: `page` *text*
Start a new Pokédex page.
## `$51`: `para` *text*
Start a new paragraph.
## `$55`: `cont` *text*
Scroll to the next line.
## `$57`: `done`
End a text box.
## `$58`: `prompt`
Prompt the player to end a text box (initiating some other event).
## `$01`: `text_from_ram` *address*
Write text from a RAM address.
## `$02`: `text_bcd` *address*, *flags*
Write [BCD](bcd) from an address, typically RAM.
[bcd]: https://en.wikipedia.org/wiki/Binary-coded_decimal
## `$03`: `text_move` *address*
Move to a new tile.
## `$04`: `text_box` *address*, *height*, *width*
Draw a box.
## `$05`: `text_low`
Write text at (1, 16).
## `$06`: `text_waitbutton`
Wait for button press; show arrow.
## `$07`: `text_scroll`
Pushes text up two lines and sets the `bc` cursor to the border tile below the
first character column of the text box.
## `$08`: `start_asm`
Start interpreting assembly code.
## `$09`: `deciram` *address*, *bytes*, *digits*
Read *bytes* bytes from *address* and print them as a *digits*-digit number.
## `$0A`: `interpret_data`
Exit.
## `$0B`: `sound_dex_fanfare_50_79`
Play `SFX_DEX_FANFARE_50_79`.
## `$0C`: `limited_interpret_data` *number*
Print *number* `"…"`s.
## `$0D`: `link_wait_button`
Wait for button press; show arrow.
## `$0E`: `sound_dex_fanfare_20_49`
Play `SFX_DEX_FANFARE_20_49`.
## `$0F`: `sound_item`
Play `SFX_ITEM`.
## `$10`: `sound_caught_mon`
Play `SFX_CAUGHT_MON`.
## `$11`: `sound_dex_fanfare_80_109`
Play `SFX_DEX_FANFARE_80_109`.
## `$12`: `sound_fanfare`
Play `SFX_FANFARE`.
## `$13`: `sound_slot_machine_start`
Play `SFX_SLOT_MACHINE_START`.
## `$14`: `text_buffer` *id*
Write text from one of the following addresses (listed in `StringBufferPointers`):
0. `StringBuffer3`
1. `StringBuffer4`
2. `StringBuffer5`
3. `StringBuffer2`
4. `StringBuffer1`
5. `EnemyMonNick`
6. `BattleMonNick`
## `$15`: `current_day`
Print the weekday.
## `$16`: `text_jump` *address*
Write text from a different bank.

View File

@ -1341,7 +1341,7 @@ Function639b: ; unreferenced
ld h, 0
add hl, hl
add hl, hl
ld de, Data63ca
ld de, .Data63ca
add hl, de
; If bit 2 of [wTitleScreenTimer] is set, get the second dw; else, get the first dw
ld a, [wTitleScreenTimer]
@ -1357,12 +1357,12 @@ Function639b: ; unreferenced
ret z
ld e, a
ld d, [hl]
ld a, SPRITE_ANIM_INDEX_01
ld a, SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
call _InitSpriteAnimStruct
ret
; 63ca
Data63ca: ; 63ca
.Data63ca: ; 63ca
; frame 0 y, x; frame 1 y, x
db 11 * 8 + 4, 10 * 8, 0 * 8, 0 * 8
db 11 * 8 + 4, 13 * 8, 11 * 8 + 4, 11 * 8

View File

@ -144,11 +144,11 @@ PartyMenu_InitAnimatedMonIcon: ; 8e8d5 (23:68d5)
pop bc
pop hl
jr c, .mail
ld a, SPRITE_ANIM_FRAMESET_03
ld a, SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_ITEM
jr .okay
.mail
ld a, SPRITE_ANIM_FRAMESET_02
ld a, SPRITE_ANIM_FRAMESET_PARTY_MON_WITH_MAIL
.okay
ld hl, SPRITEANIMSTRUCT_FRAMESET_ID
add hl, bc
@ -297,7 +297,7 @@ GetMemIconGFX: ; 8e9db (23:69db)
ld a, [wCurIconTile]
GetIconGFX: ; 8e9de
call GetIcon_a
ld de, $80 ; 8 tiles
ld de, 8 tiles
add hl, de
ld de, HeldItemIcons
lb bc, BANK(HeldItemIcons), 2
@ -468,9 +468,6 @@ ReadMonMenuIcon: ; 8eab3
INCLUDE "data/mon_menu_icons.asm"
INCLUDE "gfx/icon_pointers.asm"
Icons:
INCLUDE "gfx/icons.asm"

View File

@ -1,4 +1,5 @@
MovementPointers: ; 5075
; entries correspond to macros/movement.asm enumeration
dw Movement_turn_head_down ; 00
dw Movement_turn_head_up ; 01
dw Movement_turn_head_left ; 02

View File

@ -193,7 +193,7 @@ CopyMapObjectToObjectStruct: ; 8116
and $f0
jr z, .skip_color_override
swap a
and $7 ; OAM_PALETTE
and PALETTE_MASK
ld [wTempObjectCopyPalette], a
.skip_color_override

View File

@ -141,7 +141,7 @@ INCBIN "gfx/pokegear/fast_ship.2bpp"
InitPokegearModeIndicatorArrow: ; 90d32 (24:4d32)
depixel 4, 2, 4, 0
ld a, SPRITE_ANIM_INDEX_0D
ld a, SPRITE_ANIM_INDEX_POKEGEAR_ARROW
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc
@ -685,7 +685,7 @@ PokegearMap_InitPlayerIcon: ; 9106a
PokegearMap_InitCursor: ; 91098
push af
depixel 0, 0
ld a, SPRITE_ANIM_INDEX_0D
ld a, SPRITE_ANIM_INDEX_POKEGEAR_ARROW
call _InitSpriteAnimStruct
ld hl, SPRITEANIMSTRUCT_TILE_ID
add hl, bc

View File

@ -64,6 +64,7 @@ RunScriptCommand:
ScriptCommandTable:
; entries correspond to macros/event.asm enumeration
dw Script_scall ; 00
dw Script_farscall ; 01
dw Script_ptcall ; 02

View File

@ -18,8 +18,8 @@ DoAnimFrame: ; 8d24b
dw .PartyMon
dw .PartyMonSwitch
dw .PartyMonSelected
dw .sprite_anim_seq_04
dw .namingscreencursor
dw .GSTitleTrail
dw .NamingScreenCursor
dw .GameFreakLogo
dw .GSIntroStar
dw .GSIntroSparkle
@ -27,9 +27,9 @@ DoAnimFrame: ; 8d24b
dw .SlotsChansey
dw .SlotsChanseyEgg
dw .MailCursor
dw .sprite_anim_seq_0D
dw .sprite_anim_seq_0E
dw .sprite_anim_seq_0F
dw .ForUnusedCursor
dw .DummyGameCursor
dw .PokegearArrow
dw .TradePokeBall
dw .TradeTubeBulge
dw .TrademonInTube
@ -132,7 +132,7 @@ DoAnimFrame: ; 8d24b
ld [hl], 8 * 3
ret
.sprite_anim_seq_04 ; 8d302 (23:5302)
.GSTitleTrail ; 8d302 (23:5302)
call .AnonymousJumptable
jp hl
; 8d306 (23:5306)
@ -217,7 +217,7 @@ DoAnimFrame: ; 8d24b
ld [hl], a
ret
.namingscreencursor ; 8d36c (23:536c)
.NamingScreenCursor ; 8d36c (23:536c)
callab NamingScreen_AnimateCursor
ret
@ -404,15 +404,15 @@ DoAnimFrame: ; 8d24b
ld [hl], a
ret
.sprite_anim_seq_0D ; 8d46e (23:546e)
.ForUnusedCursor ; 8d46e (23:546e)
callab ret_e00ed
ret
.sprite_anim_seq_0F ; 8d475 (23:5475)
.PokegearArrow ; 8d475 (23:5475)
callab AnimatePokegearModeIndicatorArrow
ret
.sprite_anim_seq_0E ; 8d47c (23:547c)
.DummyGameCursor ; 8d47c (23:547c)
callab DummyGame_InterpretJoypad_AnimateCursor
ret

View File

@ -236,6 +236,7 @@ DoTradeAnimation: ; 29082
; 290af
.JumpTable: ; 290af
; entries correspond to macros/trade_anim.asm enumeration
dw TradeAnim_AdvanceScriptPointer ; 00
dw TradeAnim_ShowGivemonData ; 01
dw TradeAnim_ShowGetmonData ; 02

View File

@ -29,25 +29,26 @@ SERIAL EQU 3
JOYPAD EQU 4
; OAM attribute flags
OAM_PALETTE EQU %111
OAM_TILE_BANK EQU 3
OAM_OBP_NUM EQU 4 ; Non CGB Mode Only
OAM_OBP_NUM EQU 4 ; non CGB Mode Only
OAM_X_FLIP EQU 5
OAM_Y_FLIP EQU 6
OAM_PRIORITY EQU 7 ; 0: OBJ above BG, 1: OBJ behind BG (colors 1-3)
VRAM_BANK_1 EQU 1 << OAM_TILE_BANK
X_FLIP EQU 1 << OAM_X_FLIP
Y_FLIP EQU 1 << OAM_Y_FLIP
BEHIND_BG EQU 1 << OAM_PRIORITY
PALETTE_MASK EQU %111
VRAM_BANK_1 EQU 1 << OAM_TILE_BANK ; $08
OBP_NUM EQU 1 << OAM_OBP_NUM ; $10
X_FLIP EQU 1 << OAM_X_FLIP ; $20
Y_FLIP EQU 1 << OAM_Y_FLIP ; $40
BEHIND_BG EQU 1 << OAM_PRIORITY ; $80
; Hardware registers
rJOYP EQU $ff00 ; Joypad (R/W)
rSB EQU $ff01 ; Serial transfer data (R/W)
rSC EQU $ff02 ; Serial Transfer Control (R/W)
rSC_ON EQU 7
rSC_CGB EQU 1
rSC_CLOCK EQU 0
rSC_ON EQU 7
rSC_CGB EQU 1
rSC_CLOCK EQU 0
rDIV EQU $ff04 ; Divider Register (R/W)
rTIMA EQU $ff05 ; Timer counter (R/W)
rTMA EQU $ff06 ; Timer Modulo (R/W)

View File

@ -1,3 +1,4 @@
Icons:
NullIcon:
PoliwagIcon: INCBIN "gfx/icon/poliwag.2bpp" ; 0x8ec0d
JigglypuffIcon: INCBIN "gfx/icon/jigglypuff.2bpp" ; 0x8ec8d

View File

@ -748,6 +748,7 @@ DoTextUntilTerminator:: ; 13f6
; 1410
TextCommands:: ; 1410
; entries correspond to macros/text.asm enumeration
dw Text_TX
dw Text_TX_RAM
dw Text_TX_BCD

View File

@ -1,3 +1,4 @@
; ScriptCommandTable indexes (see engine/scripting.asm)
enum_start
enum scall_command

View File

@ -21,13 +21,10 @@ xy_trigger: macro
;\1: number: controlled by dotrigger/domaptrigger
;\2: y: top to bottom, starts at 0
;\3: x: left to right, starts at 0
;\4: unknown1: $0
;\5: script pointer
;\6: unknown2: $0
;\7: unknown3: $0
db \1, \2, \3, \4
dw \5
db \6, \7
;\4: script pointer
db \1, \2, \3, $0
dw \4
db $0, $0
endm
signpost: macro

View File

@ -5,6 +5,7 @@ endc
db \1
endm
; BattleAnimCommands indexes (see battle/anim_commands.asm)
enum_start $d0
enum anim_obj_command ; d0

View File

@ -1,3 +1,4 @@
; MovementPointers indexes (see engine/movement.asm)
enum_start
; Directional movements

View File

@ -23,7 +23,9 @@ cry_header: macro
dw \1, \2, \3
endm
; MusicCommands indexes (see audio/engine.asm)
enum_start $d8
enum notetype_cmd
octave: macro
db notetype_cmd - (\1)

View File

@ -1,15 +1,15 @@
text EQUS "db $00," ; Start writing text.
next EQUS "db $4e," ; Move a line down.
line EQUS "db $4f," ; Start writing at the bottom line.
page EQUS "db $50," ; Start a new Pokedex page.
page EQUS "db $50," ; Start a new Pokédex page.
para EQUS "db $51," ; Start a new paragraph.
cont EQUS "db $55," ; Scroll to the next line.
done EQUS "db $57" ; End a text box.
prompt EQUS "db $58" ; Prompt the player to end a text box (initiating some other event).
; TX_RAM EQU $01
; TX_FAR EQU $16
enum_start 1
; TextCommands indexes (see home/text.asm)
enum_start $01
enum TX_RAM
text_from_ram: MACRO
db TX_RAM

View File

@ -1,4 +1,6 @@
; DoTradeAnimation.JumpTable indexes (see engine/trade/animation.asm)
enum_start
enum tradeanim_next_command
tradeanim_next: macro
db tradeanim_next_command ; 00

View File

@ -472,9 +472,9 @@ AzaleaTown_MapEventHeader:
.XYTriggers:
db 3
xy_trigger 1, $a, $5, $0, AzaleaTownRivalBattleTrigger1, $0, $0
xy_trigger 1, $b, $5, $0, AzaleaTownRivalBattleTrigger2, $0, $0
xy_trigger 2, $6, $9, $0, AzaleaTownCelebiTrigger, $0, $0
xy_trigger 1, $a, $5, AzaleaTownRivalBattleTrigger1
xy_trigger 1, $b, $5, AzaleaTownRivalBattleTrigger2
xy_trigger 2, $6, $9, AzaleaTownCelebiTrigger
.Signposts:
db 9

View File

@ -302,7 +302,7 @@ BurnedTower1F_MapEventHeader:
.XYTriggers:
db 1
xy_trigger 1, $9, $b, $0, BurnedTowerRivalBattleScript, $0, $0
xy_trigger 1, $9, $b, BurnedTowerRivalBattleScript
.Signposts:
db 2

View File

@ -250,7 +250,7 @@ BurnedTowerB1F_MapEventHeader:
.XYTriggers:
db 1
xy_trigger 0, $6, $a, $0, ReleaseTheBeasts, $0, $0
xy_trigger 0, $6, $a, ReleaseTheBeasts
.Signposts:
db 0

View File

@ -560,8 +560,8 @@ CherrygroveCity_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 1, $6, $21, $0, CherrygroveSilverTriggerNorth, $0, $0
xy_trigger 1, $7, $21, $0, CherrygroveSilverTriggerSouth, $0, $0
xy_trigger 1, $6, $21, CherrygroveSilverTriggerNorth
xy_trigger 1, $7, $21, CherrygroveSilverTriggerSouth
.Signposts:
db 4

View File

@ -396,7 +396,7 @@ CianwoodCity_MapEventHeader:
.XYTriggers:
db 1
xy_trigger 1, $10, $b, $0, CianwoodCitySuicuneAndEusine, $0, $0
xy_trigger 1, $10, $b, CianwoodCitySuicuneAndEusine
.Signposts:
db 8

View File

@ -417,7 +417,7 @@ DragonsDenB1F_MapEventHeader:
.XYTriggers:
db 1
xy_trigger 1, $1e, $13, $0, DragonsDenB1F_ClairTrigger, $0, $0
xy_trigger 1, $1e, $13, DragonsDenB1F_ClairTrigger
.Signposts:
db 4

View File

@ -291,8 +291,8 @@ EcruteakHouse_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 0, $7, $4, $0, EcruteakHouse_XYTrigger1, $0, $0
xy_trigger 0, $7, $5, $0, EcruteakHouse_XYTrigger2, $0, $0
xy_trigger 0, $7, $4, EcruteakHouse_XYTrigger1
xy_trigger 0, $7, $5, EcruteakHouse_XYTrigger2
.Signposts:
db 0

View File

@ -1381,14 +1381,14 @@ ElmsLab_MapEventHeader:
.XYTriggers:
db 8
xy_trigger 1, $6, $4, $0, LabTryToLeaveScript, $0, $0
xy_trigger 1, $6, $5, $0, LabTryToLeaveScript, $0, $0
xy_trigger 3, $5, $4, $0, MeetCopScript, $0, $0
xy_trigger 3, $5, $5, $0, MeetCopScript2, $0, $0
xy_trigger 5, $8, $4, $0, AideScript_WalkPotions1, $0, $0
xy_trigger 5, $8, $5, $0, AideScript_WalkPotions2, $0, $0
xy_trigger 6, $8, $4, $0, AideScript_WalkBalls1, $0, $0
xy_trigger 6, $8, $5, $0, AideScript_WalkBalls2, $0, $0
xy_trigger 1, $6, $4, LabTryToLeaveScript
xy_trigger 1, $6, $5, LabTryToLeaveScript
xy_trigger 3, $5, $4, MeetCopScript
xy_trigger 3, $5, $5, MeetCopScript2
xy_trigger 5, $8, $4, AideScript_WalkPotions1
xy_trigger 5, $8, $5, AideScript_WalkPotions2
xy_trigger 6, $8, $4, AideScript_WalkBalls1
xy_trigger 6, $8, $5, AideScript_WalkBalls2
.Signposts:
db 16

View File

@ -306,8 +306,8 @@ FastShip1F_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 2, $6, $18, $0, WorriedGrandpaTriggerLeft, $0, $0
xy_trigger 2, $6, $19, $0, WorriedGrandpaTriggerRight, $0, $0
xy_trigger 2, $6, $18, WorriedGrandpaTriggerLeft
xy_trigger 2, $6, $19, WorriedGrandpaTriggerRight
.Signposts:
db 0

View File

@ -459,8 +459,8 @@ FastShipB1F_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 0, $7, $1e, $0, UnknownScript_0x7673c, $0, $0
xy_trigger 0, $7, $1f, $0, UnknownScript_0x76751, $0, $0
xy_trigger 0, $7, $1e, UnknownScript_0x7673c
xy_trigger 0, $7, $1f, UnknownScript_0x76751
.Signposts:
db 1

View File

@ -390,7 +390,7 @@ GoldenrodGym_MapEventHeader:
.XYTriggers:
db 1
xy_trigger 1, $5, $8, $0, WhitneyCriesScript, $0, $0
xy_trigger 1, $5, $8, WhitneyCriesScript
.Signposts:
db 2

View File

@ -177,7 +177,7 @@ GoldenrodMagnetTrainStation_MapEventHeader:
.XYTriggers:
db 1
xy_trigger 0, $6, $b, $0, Script_ArriveFromSaffron, $0, $0
xy_trigger 0, $6, $b, Script_ArriveFromSaffron
.Signposts:
db 0

View File

@ -817,8 +817,8 @@ GoldenrodPokecenter1F_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 0, $7, $3, $0, GoldenrodPokecenter1F_GSBallTriggerLeft, $0, $0
xy_trigger 0, $7, $4, $0, GoldenrodPokecenter1F_GSBallTriggerRight, $0, $0
xy_trigger 0, $7, $3, GoldenrodPokecenter1F_GSBallTriggerLeft
xy_trigger 0, $7, $4, GoldenrodPokecenter1F_GSBallTriggerRight
.Signposts:
db 0

View File

@ -315,8 +315,8 @@ IndigoPlateauPokecenter1F_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 0, $4, $10, $0, PlateauRivalBattle1, $0, $0
xy_trigger 0, $4, $11, $0, PlateauRivalBattle2, $0, $0
xy_trigger 0, $4, $10, PlateauRivalBattle1
xy_trigger 0, $4, $11, PlateauRivalBattle2
.Signposts:
db 0

View File

@ -397,8 +397,8 @@ KrissHouse1F_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 0, $4, $8, $0, UnknownScript_0x7a4d8, $0, $0
xy_trigger 0, $4, $9, $0, UnknownScript_0x7a4db, $0, $0
xy_trigger 0, $4, $8, UnknownScript_0x7a4d8
xy_trigger 0, $4, $9, UnknownScript_0x7a4db
.Signposts:
db 4

View File

@ -350,8 +350,8 @@ LancesRoom_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 1, $5, $4, $0, Script_ApproachLanceFromLeft, $0, $0
xy_trigger 1, $5, $5, $0, Script_ApproachLanceFromRight, $0, $0
xy_trigger 1, $5, $4, Script_ApproachLanceFromLeft
xy_trigger 1, $5, $5, Script_ApproachLanceFromRight
.Signposts:
db 0

View File

@ -258,8 +258,8 @@ MahoganyTown_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 0, $8, $13, $0, UnknownScript_0x190013, $0, $0
xy_trigger 0, $9, $13, $0, UnknownScript_0x190013, $0, $0
xy_trigger 0, $8, $13, UnknownScript_0x190013
xy_trigger 0, $9, $13, UnknownScript_0x190013
.Signposts:
db 4

View File

@ -145,7 +145,7 @@ MountMoonSquare_MapEventHeader:
.XYTriggers:
db 1
xy_trigger 0, $b, $7, $0, ClefairyDance, $0, $0
xy_trigger 0, $b, $7, ClefairyDance
.Signposts:
db 2

View File

@ -294,8 +294,8 @@ NewBarkTown_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 0, $8, $1, $0, NewBarkTown_TeacherStopsYouTrigger1, $0, $0
xy_trigger 0, $9, $1, $0, NewBarkTown_TeacherStopsYouTrigger2, $0, $0
xy_trigger 0, $8, $1, NewBarkTown_TeacherStopsYouTrigger1
xy_trigger 0, $9, $1, NewBarkTown_TeacherStopsYouTrigger2
.Signposts:
db 4

View File

@ -307,8 +307,8 @@ OlivineCity_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 0, $c, $d, $0, UnknownScript_0x1a8833, $0, $0
xy_trigger 0, $d, $d, $0, UnknownScript_0x1a886b, $0, $0
xy_trigger 0, $c, $d, UnknownScript_0x1a8833
xy_trigger 0, $d, $d, UnknownScript_0x1a886b
.Signposts:
db 7

View File

@ -396,7 +396,7 @@ OlivinePort_MapEventHeader:
.XYTriggers:
db 1
xy_trigger 0, $f, $7, $0, UnknownScript_0x7491f, $0, $0
xy_trigger 0, $f, $7, UnknownScript_0x7491f
.Signposts:
db 1

View File

@ -399,7 +399,7 @@ PowerPlant_MapEventHeader:
.XYTriggers:
db 1
xy_trigger 1, $c, $5, $0, PowerPlantGuardPhoneScript, $0, $0
xy_trigger 1, $c, $5, PowerPlantGuardPhoneScript
.Signposts:
db 2

View File

@ -431,8 +431,8 @@ RadioTower5F_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 0, $3, $0, $0, FakeDirectorScript, $0, $0
xy_trigger 1, $5, $10, $0, RadioTower5FRocketBossTrigger, $0, $0
xy_trigger 0, $3, $0, FakeDirectorScript
xy_trigger 1, $5, $10, RadioTower5FRocketBossTrigger
.Signposts:
db 5

View File

@ -73,8 +73,8 @@ Route16Gate_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 0, $4, $5, $0, UnknownScript_0x733ed, $0, $0
xy_trigger 0, $5, $5, $0, UnknownScript_0x733ed, $0, $0
xy_trigger 0, $4, $5, UnknownScript_0x733ed
xy_trigger 0, $5, $5, UnknownScript_0x733ed
.Signposts:
db 0

View File

@ -64,8 +64,8 @@ Route1718Gate_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 0, $4, $5, $0, UnknownScript_0x73611, $0, $0
xy_trigger 0, $5, $5, $0, UnknownScript_0x73611, $0, $0
xy_trigger 0, $4, $5, UnknownScript_0x73611
xy_trigger 0, $5, $5, UnknownScript_0x73611
.Signposts:
db 0

View File

@ -440,8 +440,8 @@ Route25_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 1, $6, $2a, $0, UnknownScript_0x19eea0, $0, $0
xy_trigger 1, $7, $2a, $0, UnknownScript_0x19eee0, $0, $0
xy_trigger 1, $6, $2a, UnknownScript_0x19eea0
xy_trigger 1, $7, $2a, UnknownScript_0x19eee0
.Signposts:
db 2

View File

@ -479,8 +479,8 @@ Route27_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 0, $a, $12, $0, UnknownScript_0x1a0873, $0, $0
xy_trigger 0, $a, $13, $0, UnknownScript_0x1a0881, $0, $0
xy_trigger 0, $a, $12, UnknownScript_0x1a0873
xy_trigger 0, $a, $13, UnknownScript_0x1a0881
.Signposts:
db 1

View File

@ -425,8 +425,8 @@ Route29_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 1, $8, $35, $0, Route29Tutorial1, $0, $0
xy_trigger 1, $9, $35, $0, Route29Tutorial2, $0, $0
xy_trigger 1, $8, $35, Route29Tutorial1
xy_trigger 1, $9, $35, Route29Tutorial2
.Signposts:
db 2

View File

@ -943,8 +943,8 @@ Route32_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 0, $8, $12, $0, Route32CooltrainerMStopsYou, $0, $0
xy_trigger 1, $47, $7, $0, Route32WannaBuyASlowpokeTailScript, $0, $0
xy_trigger 0, $8, $12, Route32CooltrainerMStopsYou
xy_trigger 1, $47, $7, Route32WannaBuyASlowpokeTailScript
.Signposts:
db 6

View File

@ -148,7 +148,7 @@ Route34IlexForestGate_MapEventHeader:
.XYTriggers:
db 1
xy_trigger 0, $7, $4, $0, UnknownScript_0x62d3d, $0, $0
xy_trigger 0, $7, $4, UnknownScript_0x62d3d
.Signposts:
db 0

View File

@ -672,8 +672,8 @@ Route36_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 1, $7, $14, $0, Route36SuicuneScript, $0, $0
xy_trigger 1, $7, $16, $0, Route36SuicuneScript, $0, $0
xy_trigger 1, $7, $14, Route36SuicuneScript
xy_trigger 1, $7, $16, Route36SuicuneScript
.Signposts:
db 4

View File

@ -333,7 +333,7 @@ Route42_MapEventHeader:
.XYTriggers:
db 1
xy_trigger 1, $e, $18, $0, Route42SuicuneScript, $0, $0
xy_trigger 1, $e, $18, Route42SuicuneScript
.Signposts:
db 5

View File

@ -302,8 +302,8 @@ RuinsOfAlphOutside_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 1, $e, $b, $0, RuinsOfAlphOutsideScientistTrigger1, $0, $0
xy_trigger 1, $f, $a, $0, RuinsOfAlphOutsideScientistTrigger2, $0, $0
xy_trigger 1, $e, $b, RuinsOfAlphOutsideScientistTrigger1
xy_trigger 1, $f, $a, RuinsOfAlphOutsideScientistTrigger2
.Signposts:
db 3

View File

@ -228,7 +228,7 @@ SaffronTrainStation_MapEventHeader:
.XYTriggers:
db 1
xy_trigger 0, $6, $b, $0, Script_ArriveFromGoldenrod, $0, $0
xy_trigger 0, $6, $b, Script_ArriveFromGoldenrod
.Signposts:
db 0

View File

@ -339,7 +339,7 @@ SproutTower3F_MapEventHeader:
.XYTriggers:
db 1
xy_trigger 0, $9, $b, $0, UnknownScript_0x184947, $0, $0
xy_trigger 0, $9, $b, UnknownScript_0x184947
.Signposts:
db 6

View File

@ -742,38 +742,38 @@ TeamRocketBaseB1F_MapEventHeader:
db 30
; There are five security cameras in the base.
; Walking in front of one triggers two Rocket Grunts.
xy_trigger 0, $2, $18, $0, SecurityCamera1a, $0, $0
xy_trigger 0, $3, $18, $0, SecurityCamera1b, $0, $0
xy_trigger 0, $2, $6, $0, SecurityCamera2a, $0, $0
xy_trigger 0, $3, $6, $0, SecurityCamera2b, $0, $0
xy_trigger 0, $6, $18, $0, SecurityCamera3a, $0, $0
xy_trigger 0, $7, $18, $0, SecurityCamera3b, $0, $0
xy_trigger 0, $10, $16, $0, SecurityCamera4, $0, $0
xy_trigger 0, $10, $8, $0, SecurityCamera5, $0, $0
xy_trigger 0, $2, $18, SecurityCamera1a
xy_trigger 0, $3, $18, SecurityCamera1b
xy_trigger 0, $2, $6, SecurityCamera2a
xy_trigger 0, $3, $6, SecurityCamera2b
xy_trigger 0, $6, $18, SecurityCamera3a
xy_trigger 0, $7, $18, SecurityCamera3b
xy_trigger 0, $10, $16, SecurityCamera4
xy_trigger 0, $10, $8, SecurityCamera5
; There are spots on the floor that trigger a Pokémon battle.
; Each Pokémon (Voltorb, Koffing, Geodude) knows Selfdestruct.
xy_trigger 0, $7, $2, $0, ExplodingTrap1, $0, $0
xy_trigger 0, $7, $3, $0, ExplodingTrap2, $0, $0
xy_trigger 0, $7, $4, $0, ExplodingTrap3, $0, $0
xy_trigger 0, $8, $1, $0, ExplodingTrap4, $0, $0
xy_trigger 0, $8, $3, $0, ExplodingTrap5, $0, $0
xy_trigger 0, $8, $5, $0, ExplodingTrap6, $0, $0
xy_trigger 0, $9, $3, $0, ExplodingTrap7, $0, $0
xy_trigger 0, $9, $4, $0, ExplodingTrap8, $0, $0
xy_trigger 0, $a, $1, $0, ExplodingTrap9, $0, $0
xy_trigger 0, $a, $2, $0, ExplodingTrap10, $0, $0
xy_trigger 0, $a, $3, $0, ExplodingTrap11, $0, $0
xy_trigger 0, $a, $5, $0, ExplodingTrap12, $0, $0
xy_trigger 0, $b, $2, $0, ExplodingTrap13, $0, $0
xy_trigger 0, $b, $4, $0, ExplodingTrap14, $0, $0
xy_trigger 0, $c, $1, $0, ExplodingTrap15, $0, $0
xy_trigger 0, $c, $2, $0, ExplodingTrap16, $0, $0
xy_trigger 0, $c, $4, $0, ExplodingTrap17, $0, $0
xy_trigger 0, $c, $5, $0, ExplodingTrap18, $0, $0
xy_trigger 0, $d, $1, $0, ExplodingTrap19, $0, $0
xy_trigger 0, $d, $3, $0, ExplodingTrap20, $0, $0
xy_trigger 0, $d, $4, $0, ExplodingTrap21, $0, $0
xy_trigger 0, $d, $5, $0, ExplodingTrap22, $0, $0
xy_trigger 0, $7, $2, ExplodingTrap1
xy_trigger 0, $7, $3, ExplodingTrap2
xy_trigger 0, $7, $4, ExplodingTrap3
xy_trigger 0, $8, $1, ExplodingTrap4
xy_trigger 0, $8, $3, ExplodingTrap5
xy_trigger 0, $8, $5, ExplodingTrap6
xy_trigger 0, $9, $3, ExplodingTrap7
xy_trigger 0, $9, $4, ExplodingTrap8
xy_trigger 0, $a, $1, ExplodingTrap9
xy_trigger 0, $a, $2, ExplodingTrap10
xy_trigger 0, $a, $3, ExplodingTrap11
xy_trigger 0, $a, $5, ExplodingTrap12
xy_trigger 0, $b, $2, ExplodingTrap13
xy_trigger 0, $b, $4, ExplodingTrap14
xy_trigger 0, $c, $1, ExplodingTrap15
xy_trigger 0, $c, $2, ExplodingTrap16
xy_trigger 0, $c, $4, ExplodingTrap17
xy_trigger 0, $c, $5, ExplodingTrap18
xy_trigger 0, $d, $1, ExplodingTrap19
xy_trigger 0, $d, $3, ExplodingTrap20
xy_trigger 0, $d, $4, ExplodingTrap21
xy_trigger 0, $d, $5, ExplodingTrap22
.Signposts:
db 9

View File

@ -923,15 +923,15 @@ TeamRocketBaseB2F_MapEventHeader:
.XYTriggers:
db 9
xy_trigger 0, $e, $5, $0, LanceHealsScript1, $0, $0
xy_trigger 0, $d, $4, $0, LanceHealsScript2, $0, $0
xy_trigger 1, $b, $e, $0, UnknownScript_0x6cf95, $0, $0
xy_trigger 1, $b, $f, $0, UnknownScript_0x6cf9c, $0, $0
xy_trigger 2, $c, $e, $0, UnknownScript_0x6d075, $0, $0
xy_trigger 2, $c, $f, $0, UnknownScript_0x6d075, $0, $0
xy_trigger 2, $3, $c, $0, UnknownScript_0x6d07a, $0, $0
xy_trigger 2, $a, $c, $0, UnknownScript_0x6d07a, $0, $0
xy_trigger 2, $b, $c, $0, UnknownScript_0x6d07a, $0, $0
xy_trigger 0, $e, $5, LanceHealsScript1
xy_trigger 0, $d, $4, LanceHealsScript2
xy_trigger 1, $b, $e, UnknownScript_0x6cf95
xy_trigger 1, $b, $f, UnknownScript_0x6cf9c
xy_trigger 2, $c, $e, UnknownScript_0x6d075
xy_trigger 2, $c, $f, UnknownScript_0x6d075
xy_trigger 2, $3, $c, UnknownScript_0x6d07a
xy_trigger 2, $a, $c, UnknownScript_0x6d07a
xy_trigger 2, $b, $c, UnknownScript_0x6d07a
.Signposts:
db 23

View File

@ -578,9 +578,9 @@ TeamRocketBaseB3F_MapEventHeader:
.XYTriggers:
db 3
xy_trigger 2, $8, $a, $0, UnknownScript_0x6e04b, $0, $0
xy_trigger 2, $8, $b, $0, UnknownScript_0x6e052, $0, $0
xy_trigger 1, $a, $8, $0, RocketBaseRival, $0, $0
xy_trigger 2, $8, $a, UnknownScript_0x6e04b
xy_trigger 2, $8, $b, UnknownScript_0x6e052
xy_trigger 1, $a, $8, RocketBaseRival
.Signposts:
db 10

View File

@ -179,7 +179,7 @@ TrainerHouseB1F_MapEventHeader:
.XYTriggers:
db 1
xy_trigger 0, $3, $7, $0, TrainerHouseReceptionistScript, $0, $0
xy_trigger 0, $3, $7, TrainerHouseReceptionistScript
.Signposts:
db 0

View File

@ -949,8 +949,8 @@ UndergroundPathSwitchRoomEntrances_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 0, $4, $13, $0, UndergroundSilverTrigger1, $0, 0
xy_trigger 0, $5, $13, $0, UndergroundSilverTrigger2, $0, 0
xy_trigger 0, $4, $13, UndergroundSilverTrigger1
xy_trigger 0, $5, $13, UndergroundSilverTrigger2
.Signposts:
db 6

View File

@ -310,7 +310,7 @@ VermilionPort_MapEventHeader:
.XYTriggers:
db 1
xy_trigger 0, $b, $7, $0, UnknownScript_0x74e20, $0, $0
xy_trigger 0, $b, $7, UnknownScript_0x74e20
.Signposts:
db 1

View File

@ -259,8 +259,8 @@ VictoryRoad_MapEventHeader:
.XYTriggers:
db 2
xy_trigger 0, $8, $c, $0, UnknownScript_0x74492, $0, $0
xy_trigger 0, $8, $d, $0, UnknownScript_0x744b5, $0, $0
xy_trigger 0, $8, $c, UnknownScript_0x74492
xy_trigger 0, $8, $d, UnknownScript_0x744b5
.Signposts:
db 2

View File

@ -114,7 +114,7 @@ VictoryRoadGate_MapEventHeader:
.XYTriggers:
db 1
xy_trigger 0, $b, $a, $0, VictoryRoadGateBadgeCheckTrigger, $0, $0
xy_trigger 0, $b, $a, VictoryRoadGateBadgeCheckTrigger
.Signposts:
db 0

View File

@ -356,7 +356,7 @@ WiseTriosRoom_MapEventHeader:
.XYTriggers:
db 1
xy_trigger 0, $4, $7, $0, UnknownScript_0x985a3, $0, $0
xy_trigger 0, $4, $7, UnknownScript_0x985a3
.Signposts:
db 0

View File

@ -526,7 +526,7 @@ MobileTradeAnim_ShowPlayerMonToBeSent: ; 10830e
call DelayFrames
call Function108bec
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_20
ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL
call _InitSpriteAnimStruct
ld de, SFX_BALL_POOF
call PlaySFX
@ -561,7 +561,7 @@ MobileTradeAnim_ShowOTMonFromTrade: ; 10839b
ld a, $90
ld [hWY], a
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_21
ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL
call _InitSpriteAnimStruct
call Function108b45
ld a, $1
@ -661,7 +661,7 @@ MobileTradeAnim_ShowPlayerMonForGTS: ; 10842c
call DelayFrames
call Function108c2b
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_20
ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL
call _InitSpriteAnimStruct
ld de, SFX_BALL_POOF
call PlaySFX
@ -705,7 +705,7 @@ MobileTradeAnim_ShowOTMonFromGTS: ; 1084d7
ld a, $90
ld [hWY], a
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_21
ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL
call _InitSpriteAnimStruct
call Function108b45
ld a, $1
@ -774,7 +774,7 @@ MobileTradeAnim_GetOddEgg: ; 108589
ld a, $90
ld [hWY], a
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_21
ld a, SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL
call _InitSpriteAnimStruct
call Function108b45
ld a, $1
@ -960,7 +960,7 @@ MobileTradeAnim_GiveTrademon1: ; 108763
cp $f8
jr nz, .next
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_22
ld a, SPRITE_ANIM_INDEX_MOBILE_22
call _InitSpriteAnimStruct
.next
@ -985,7 +985,7 @@ MobileTradeAnim_GiveTrademon1: ; 108763
.init
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_22
ld a, SPRITE_ANIM_INDEX_MOBILE_22
call _InitSpriteAnimStruct
xor a
call Function108ad4
@ -1016,7 +1016,7 @@ MobileTradeAnim_GiveTrademon2: ; 1087cf
call Function108af4
call Function108b5a
depixel 9, 10, 2, 0
ld a, SPRITE_ANIM_INDEX_25
ld a, SPRITE_ANIM_INDEX_MOBILE_25
call _InitSpriteAnimStruct
ld de, SFX_FORESIGHT
call PlaySFX
@ -1025,7 +1025,7 @@ MobileTradeAnim_GiveTrademon2: ; 1087cf
xor a
ld [wcf64], a
depixel 9, 10, 2, 0
ld a, SPRITE_ANIM_INDEX_23
ld a, SPRITE_ANIM_INDEX_MOBILE_23
call _InitSpriteAnimStruct
.loop
ld a, [hSCY]
@ -1052,7 +1052,7 @@ MobileTradeAnim_05: ; 108811
ld c, 60
call WaitMobileTradeSpriteAnims
depixel 30, 10, 2, 0
ld a, SPRITE_ANIM_INDEX_24
ld a, SPRITE_ANIM_INDEX_MOBILE_24
call _InitSpriteAnimStruct
call GetMobileTradeAnimByte
ld de, SFX_THROW_BALL
@ -1075,7 +1075,7 @@ MobileTradeAnim_07: ; 10884c
ld c, 80
call DelayFrames
depixel 30, 10, 2, 0
ld a, SPRITE_ANIM_INDEX_24
ld a, SPRITE_ANIM_INDEX_MOBILE_24
call _InitSpriteAnimStruct
call GetMobileTradeAnimByte
ld de, SFX_THROW_BALL
@ -1099,7 +1099,7 @@ MobileTradeAnim_GetTrademon1: ; 108863
.done
callba DeinitializeAllSprites
depixel 9, 10, 2, 0
ld a, SPRITE_ANIM_INDEX_25
ld a, SPRITE_ANIM_INDEX_MOBILE_25
call _InitSpriteAnimStruct
ld de, SFX_GLASS_TING_2
call PlaySFX
@ -1135,13 +1135,13 @@ MobileTradeAnim_GetTrademon2: ; 108894
.asm_1088c5
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_22
ld a, SPRITE_ANIM_INDEX_MOBILE_22
call _InitSpriteAnimStruct
jr .asm_1088e7
.asm_1088cf
depixel 10, 11, 4, 0
ld a, SPRITE_ANIM_INDEX_22
ld a, SPRITE_ANIM_INDEX_MOBILE_22
call _InitSpriteAnimStruct
xor a
call Function108ad4