Merge branch 'master' of github.com:pret/pokecrystal

This commit is contained in:
surskitty 2017-12-13 19:55:03 -05:00
commit 4b36a9d2e1
180 changed files with 6403 additions and 2607 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

@ -749,7 +749,7 @@ TextJump_EnemyWithdrew: ; 384d0
Function384d5: ; This appears to be unused
call AIUsedItemSound
call AI_HealStatus
ld a, X_SPEED
ld a, FULL_HEAL_RED ; X_SPEED
jp PrintText_UsedItemOn_AND_AIUpdateHUD
; 384e0
@ -761,6 +761,10 @@ AI_HealStatus: ; 384e0
xor a
ld [hl], a
ld [EnemyMonStatus], a
; Bug: this should reset SUBSTATUS_NIGHTMARE too
; Uncomment the lines below to fix
; ld hl, EnemySubStatus1
; res SUBSTATUS_NIGHTMARE, [hl]
ld hl, EnemySubStatus5
res SUBSTATUS_TOXIC, [hl]
ret

View File

@ -1876,7 +1876,8 @@ AI_Smart_MeanLook: ; 38dfb
pop hl
jp z, AIDiscourageMove
; 80% chance to greatly encourage this move if the enemy is badly poisoned (weird).
; 80% chance to greatly encourage this move if the enemy is badly poisoned (buggy).
; Should check PlayerSubStatus5 instead.
ld a, [EnemySubStatus5]
bit SUBSTATUS_TOXIC, a
jr nz, .asm_38e26

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

@ -5998,7 +5998,7 @@ CheckPlayerHasUsableMoves: ; 3e786
swap a
and $f
ld b, a
ld d, $5
ld d, NUM_MOVES + 1
xor a
.loop
dec d
@ -6011,7 +6011,9 @@ CheckPlayerHasUsableMoves: ; 3e786
jr .loop
.done
and a ; This is probably a bug, and will result in a move with PP Up confusing the game.
; Bug: this will result in a move with PP Up confusing the game.
; Replace with "and $3f" to fix.
and a
ret nz
.force_struggle

View File

@ -9810,7 +9810,7 @@ GetItemHeldEffect: ; 37dd0
dec a
ld c, a
ld b, 0
ld a, Item2Attributes - Item1Attributes
ld a, ITEMATTR_STRUCT_LENGTH
call AddNTimes
ld a, BANK(ItemAttributes)
call GetFarHalfword

View File

@ -33,7 +33,9 @@ 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/collision_constants.asm"
INCLUDE "constants/cgb_constants.asm"
INCLUDE "constants/battle_tower_constants.asm"
INCLUDE "constants/cry_constants.asm"

View File

@ -0,0 +1,115 @@
; collision permissions (see tilesets/collision_permissions.asm)
LANDTILE EQU $00
WATERTILE EQU $01
WALLTILE EQU $0f
TALK EQU $10
; collision data types (see tilesets/*_collision.asm)
; TileCollisionTable indexes (see data/collision_permissions.asm)
COLL_FLOOR EQU $00
COLL_01 EQU $01 ; garbage
COLL_03 EQU $03 ; garbage
COLL_04 EQU $04 ; garbage
COLL_WALL EQU $07
COLL_CUT_08 EQU $08 ; unused
COLL_TALL_GRASS_10 EQU $10 ; unused
COLL_CUT_TREE EQU $12
COLL_LONG_GRASS EQU $14
COLL_HEADBUTT_TREE EQU $15
COLL_TALL_GRASS EQU $18
COLL_CUT_TREE_1A EQU $1a ; unused
COLL_LONG_GRASS_1C EQU $1c ; unused
COLL_HEADBUTT_TREE_1D EQU $1d ; unused
COLL_WATER_21 EQU $21 ; ???
COLL_ICE EQU $23
COLL_WHIRLPOOL EQU $24
COLL_BUOY EQU $27
COLL_CUT_28 EQU $28 ; garbage
COLL_WATER EQU $29
COLL_ICE_2B EQU $2b ; unused
COLL_WHIRLPOOL_2C EQU $2c ; unused
COLL_WATERFALL_RIGHT EQU $30 ; unused !!!
COLL_WATERFALL_LEFT EQU $31 ; unused !!!
COLL_WATERFALL_UP EQU $32 ; unused !!!
COLL_WATERFALL EQU $33
COLL_CURRENT_RIGHT EQU $38 ; unused !!!
COLL_CURRENT_LEFT EQU $39 ; unused !!!
COLL_CURRENT_UP EQU $3a ; unused !!!
COLL_CURRENT_DOWN EQU $3b ; unused !!!
COLL_BRAKE EQU $40 ; unused !!!
COLL_WALK_RIGHT EQU $41 ; unused !!!
COLL_WALK_LEFT EQU $42 ; unused !!!
COLL_WALK_UP EQU $43 ; unused !!!
COLL_WALK_DOWN EQU $44 ; unused !!!
COLL_BRAKE_45 EQU $45 ; garbage
COLL_BRAKE_46 EQU $46 ; unused
COLL_BRAKE_47 EQU $47 ; unused
COLL_GRASS_48 EQU $48 ; unused
COLL_GRASS_49 EQU $49 ; unused
COLL_GRASS_4A EQU $4a ; garbage
COLL_GRASS_4B EQU $4b ; garbage
COLL_GRASS_4C EQU $4c ; unused
COLL_WALK_RIGHT_ALT EQU $50 ; unused
COLL_WALK_LEFT_ALT EQU $51 ; unused
COLL_WALK_UP_ALT EQU $52 ; unused
COLL_WALK_DOWN_ALT EQU $53 ; unused
COLL_BRAKE_ALT EQU $54 ; unused
COLL_BRAKE_55 EQU $55 ; unused
COLL_BRAKE_56 EQU $56 ; unused
COLL_BRAKE_57 EQU $57 ; unused
COLL_5B EQU $5b ; garbage
COLL_PIT EQU $60
COLL_VIRTUAL_BOY EQU $61 ; garbage
COLL_64 EQU $64 ; garbage
COLL_65 EQU $65 ; garbage
COLL_PIT_68 EQU $68 ; unused
COLL_WARP_CARPET_DOWN EQU $70
COLL_DOOR EQU $71
COLL_LADDER EQU $72
COLL_STAIRCASE_73 EQU $73 ; unused
COLL_CAVE_74 EQU $74 ; unused
COLL_DOOR_75 EQU $75 ; unused
COLL_WARP_CARPET_LEFT EQU $76
COLL_WARP_77 EQU $77 ; unused
COLL_WARP_CARPET_UP EQU $78
COLL_DOOR_79 EQU $79 ; unused
COLL_STAIRCASE EQU $7a
COLL_CAVE EQU $7b
COLL_WARP_PANEL EQU $7c
COLL_DOOR_7D EQU $7d ; unused
COLL_WARP_CARPET_RIGHT EQU $7e
COLL_WARP_7F EQU $7f ; unused
COLL_COUNTER EQU $90
COLL_BOOKSHELF EQU $91
COLL_PC EQU $93
COLL_RADIO EQU $94
COLL_TOWN_MAP EQU $95
COLL_MART_SHELF EQU $96
COLL_TV EQU $97
COLL_COUNTER_98 EQU $98 ; unused
COLL_9C EQU $9c ; garbage
COLL_WINDOW EQU $9d
COLL_INCENSE_BURNER EQU $9f
COLL_HOP_RIGHT EQU $a0
COLL_HOP_LEFT EQU $a1
COLL_HOP_UP EQU $a2 ; unused !!!
COLL_HOP_DOWN EQU $a3
COLL_HOP_DOWN_RIGHT EQU $a4
COLL_HOP_DOWN_LEFT EQU $a5
COLL_HOP_UP_RIGHT EQU $a6 ; unused !!!
COLL_HOP_UP_LEFT EQU $a7 ; unused !!!
COLL_RIGHT_WALL EQU $b0
COLL_LEFT_WALL EQU $b1
COLL_UP_WALL EQU $b2
COLL_DOWN_WALL EQU $b3 ; unused !!!
COLL_FF EQU $ff ; garbage
; collision data type nybbles
LO_NYBBLE_GRASS EQU $07
HI_NYBBLE_TALL_GRASS EQU $10
HI_NYBBLE_WATER EQU $20
HI_NYBBLE_CURRENT EQU $30
HI_NYBBLE_WALK EQU $40
HI_NYBBLE_WALK_ALT EQU $50
HI_NYBBLE_WARPS EQU $70
HI_NYBBLE_LEDGES EQU $a0

View File

@ -298,7 +298,6 @@ CANT_TOSS EQU 1 << 7
; held item effects
const_def
const HELD_NONE
const HELD_BERRY
const HELD_2
@ -382,7 +381,7 @@ const_value SET 70
const ITEMATTR_PERMISSIONS
const ITEMATTR_POCKET
const ITEMATTR_HELP
NUM_ITEMATTRS EQU const_value
ITEMATTR_STRUCT_LENGTH EQU const_value
; item menu types
ITEMMENU_NOUSE EQU 0

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

@ -1,9 +1,3 @@
; collision values (see tilesets/collision.asm)
LANDTILE EQU $0
WATERTILE EQU $1
WALLTILE EQU $f
TALK EQU $10
; Tilesets indexes (see tilesets/tileset_headers.asm)
const_value SET 1
const TILESET_JOHTO_1 ; 01

196
tilesets/collision.asm → data/collision_permissions.asm Executable file → Normal file
View File

@ -2,16 +2,16 @@ NONTALKABLE EQUS "db"
TALKABLE EQUS "db TALK +"
TileCollisionTable:: ; 4ce1f
; entries correspond to collision ids
NONTALKABLE LANDTILE ; 00
NONTALKABLE LANDTILE ; 01
; entries correspond to COLL_* constants
NONTALKABLE LANDTILE ; COLL_FLOOR
NONTALKABLE LANDTILE ; COLL_01
NONTALKABLE LANDTILE ; 02
NONTALKABLE LANDTILE ; 03
NONTALKABLE LANDTILE ; 04
NONTALKABLE LANDTILE ; COLL_03
NONTALKABLE LANDTILE ; COLL_04
NONTALKABLE LANDTILE ; 05
NONTALKABLE LANDTILE ; 06
NONTALKABLE WALLTILE ; 07
NONTALKABLE LANDTILE ; 08
NONTALKABLE WALLTILE ; COLL_WALL
NONTALKABLE LANDTILE ; COLL_CUT_08
NONTALKABLE LANDTILE ; 09
NONTALKABLE LANDTILE ; 0a
NONTALKABLE LANDTILE ; 0b
@ -19,95 +19,95 @@ TileCollisionTable:: ; 4ce1f
NONTALKABLE LANDTILE ; 0d
NONTALKABLE LANDTILE ; 0e
NONTALKABLE WALLTILE ; 0f
NONTALKABLE LANDTILE ; 10
NONTALKABLE LANDTILE ; COLL_TALL_GRASS_10
NONTALKABLE LANDTILE ; 11
TALKABLE WALLTILE ; 12
TALKABLE WALLTILE ; COLL_CUT_TREE
NONTALKABLE LANDTILE ; 13
NONTALKABLE LANDTILE ; 14
TALKABLE WALLTILE ; 15
NONTALKABLE LANDTILE ; COLL_LONG_GRASS
TALKABLE WALLTILE ; COLL_HEADBUTT_TREE
NONTALKABLE LANDTILE ; 16
NONTALKABLE LANDTILE ; 17
NONTALKABLE LANDTILE ; 18
NONTALKABLE LANDTILE ; COLL_TALL_GRASS
NONTALKABLE LANDTILE ; 19
TALKABLE WALLTILE ; 1a
TALKABLE WALLTILE ; COLL_CUT_TREE_1A
NONTALKABLE LANDTILE ; 1b
NONTALKABLE LANDTILE ; 1c
TALKABLE WALLTILE ; 1d
NONTALKABLE LANDTILE ; COLL_LONG_GRASS_1C
TALKABLE WALLTILE ; COLL_HEADBUTT_TREE_1D
NONTALKABLE LANDTILE ; 1e
NONTALKABLE LANDTILE ; 1f
NONTALKABLE WATERTILE ; 20
NONTALKABLE WATERTILE ; 21
NONTALKABLE WATERTILE ; COLL_WATER_21
TALKABLE WATERTILE ; 22
NONTALKABLE LANDTILE ; 23
TALKABLE WATERTILE ; 24
NONTALKABLE LANDTILE ; COLL_ICE
TALKABLE WATERTILE ; COLL_WHIRLPOOL
NONTALKABLE WATERTILE ; 25
NONTALKABLE WATERTILE ; 26
NONTALKABLE WALLTILE ; 27
NONTALKABLE WATERTILE ; 28
NONTALKABLE WATERTILE ; 29
NONTALKABLE WALLTILE ; COLL_BUOY
NONTALKABLE WATERTILE ; COLL_CUT_28
NONTALKABLE WATERTILE ; COLL_WATER
TALKABLE WATERTILE ; 2a
NONTALKABLE LANDTILE ; 2b
TALKABLE WATERTILE ; 2c
NONTALKABLE LANDTILE ; COLL_ICE_2B
TALKABLE WATERTILE ; COLL_WHIRLPOOL_2C
NONTALKABLE WATERTILE ; 2d
NONTALKABLE WATERTILE ; 2e
NONTALKABLE WALLTILE ; 2f
NONTALKABLE WATERTILE ; 30
NONTALKABLE WATERTILE ; 31
NONTALKABLE WATERTILE ; 32
NONTALKABLE WATERTILE ; 33
NONTALKABLE WATERTILE ; COLL_WATERFALL_RIGHT
NONTALKABLE WATERTILE ; COLL_WATERFALL_LEFT
NONTALKABLE WATERTILE ; COLL_WATERFALL_UP
NONTALKABLE WATERTILE ; COLL_WATERFALL
NONTALKABLE WATERTILE ; 34
NONTALKABLE WATERTILE ; 35
NONTALKABLE WATERTILE ; 36
NONTALKABLE WATERTILE ; 37
NONTALKABLE WATERTILE ; 38
NONTALKABLE WATERTILE ; 39
NONTALKABLE WATERTILE ; 3a
NONTALKABLE WATERTILE ; 3b
NONTALKABLE WATERTILE ; COLL_CURRENT_RIGHT
NONTALKABLE WATERTILE ; COLL_CURRENT_LEFT
NONTALKABLE WATERTILE ; COLL_CURRENT_UP
NONTALKABLE WATERTILE ; COLL_CURRENT_DOWN
NONTALKABLE WATERTILE ; 3c
NONTALKABLE WATERTILE ; 3d
NONTALKABLE WATERTILE ; 3e
NONTALKABLE WATERTILE ; 3f
NONTALKABLE LANDTILE ; 40
NONTALKABLE LANDTILE ; 41
NONTALKABLE LANDTILE ; 42
NONTALKABLE LANDTILE ; 43
NONTALKABLE LANDTILE ; 44
NONTALKABLE LANDTILE ; 45
NONTALKABLE LANDTILE ; 46
NONTALKABLE LANDTILE ; 47
NONTALKABLE LANDTILE ; 48
NONTALKABLE LANDTILE ; 49
NONTALKABLE LANDTILE ; 4a
NONTALKABLE LANDTILE ; 4b
NONTALKABLE LANDTILE ; 4c
NONTALKABLE LANDTILE ; COLL_BRAKE
NONTALKABLE LANDTILE ; COLL_WALK_RIGHT
NONTALKABLE LANDTILE ; COLL_WALK_LEFT
NONTALKABLE LANDTILE ; COLL_WALK_UP
NONTALKABLE LANDTILE ; COLL_WALK_DOWN
NONTALKABLE LANDTILE ; COLL_BRAKE_45
NONTALKABLE LANDTILE ; COLL_BRAKE_46
NONTALKABLE LANDTILE ; COLL_BRAKE_47
NONTALKABLE LANDTILE ; COLL_GRASS_48
NONTALKABLE LANDTILE ; COLL_GRASS_49
NONTALKABLE LANDTILE ; COLL_GRASS_4A
NONTALKABLE LANDTILE ; COLL_GRASS_4B
NONTALKABLE LANDTILE ; COLL_GRASS_4C
NONTALKABLE LANDTILE ; 4d
NONTALKABLE LANDTILE ; 4e
NONTALKABLE LANDTILE ; 4f
NONTALKABLE LANDTILE ; 50
NONTALKABLE LANDTILE ; 51
NONTALKABLE LANDTILE ; 52
NONTALKABLE LANDTILE ; 53
NONTALKABLE LANDTILE ; 54
NONTALKABLE LANDTILE ; 55
NONTALKABLE LANDTILE ; 56
NONTALKABLE LANDTILE ; 57
NONTALKABLE LANDTILE ; COLL_WALK_RIGHT_ALT
NONTALKABLE LANDTILE ; COLL_WALK_LEFT_ALT
NONTALKABLE LANDTILE ; COLL_WALK_UP_ALT
NONTALKABLE LANDTILE ; COLL_WALK_DOWN_ALT
NONTALKABLE LANDTILE ; COLL_BRAKE_ALT
NONTALKABLE LANDTILE ; COLL_BRAKE_55
NONTALKABLE LANDTILE ; COLL_BRAKE_56
NONTALKABLE LANDTILE ; COLL_BRAKE_57
NONTALKABLE LANDTILE ; 58
NONTALKABLE LANDTILE ; 59
NONTALKABLE LANDTILE ; 5a
NONTALKABLE LANDTILE ; 5b
NONTALKABLE LANDTILE ; COLL_5B
NONTALKABLE LANDTILE ; 5c
NONTALKABLE LANDTILE ; 5d
NONTALKABLE LANDTILE ; 5e
NONTALKABLE LANDTILE ; 5f
NONTALKABLE LANDTILE ; 60
NONTALKABLE LANDTILE ; 61
NONTALKABLE LANDTILE ; COLL_PIT
NONTALKABLE LANDTILE ; COLL_VIRTUAL_BOY
NONTALKABLE WALLTILE ; 62
NONTALKABLE LANDTILE ; 63
NONTALKABLE LANDTILE ; 64
NONTALKABLE LANDTILE ; 65
NONTALKABLE LANDTILE ; COLL_64
NONTALKABLE LANDTILE ; COLL_65
NONTALKABLE LANDTILE ; 66
NONTALKABLE LANDTILE ; 67
NONTALKABLE LANDTILE ; 68
NONTALKABLE LANDTILE ; COLL_PIT_68
NONTALKABLE LANDTILE ; 69
NONTALKABLE WALLTILE ; 6a
NONTALKABLE LANDTILE ; 6b
@ -115,22 +115,22 @@ TileCollisionTable:: ; 4ce1f
NONTALKABLE LANDTILE ; 6d
NONTALKABLE LANDTILE ; 6e
NONTALKABLE LANDTILE ; 6f
NONTALKABLE LANDTILE ; 70
NONTALKABLE LANDTILE ; 71
NONTALKABLE LANDTILE ; 72
NONTALKABLE LANDTILE ; 73
NONTALKABLE LANDTILE ; 74
NONTALKABLE LANDTILE ; 75
NONTALKABLE LANDTILE ; 76
NONTALKABLE LANDTILE ; 77
NONTALKABLE LANDTILE ; 78
NONTALKABLE LANDTILE ; 79
NONTALKABLE LANDTILE ; 7a
NONTALKABLE LANDTILE ; 7b
NONTALKABLE LANDTILE ; 7c
NONTALKABLE LANDTILE ; 7d
NONTALKABLE LANDTILE ; 7e
NONTALKABLE LANDTILE ; 7f
NONTALKABLE LANDTILE ; COLL_WARP_CARPET_DOWN
NONTALKABLE LANDTILE ; COLL_DOOR
NONTALKABLE LANDTILE ; COLL_LADDER
NONTALKABLE LANDTILE ; COLL_STAIRCASE_73
NONTALKABLE LANDTILE ; COLL_CAVE_74
NONTALKABLE LANDTILE ; COLL_DOOR_75
NONTALKABLE LANDTILE ; COLL_WARP_CARPET_LEFT
NONTALKABLE LANDTILE ; COLL_WARP_77
NONTALKABLE LANDTILE ; COLL_WARP_CARPET_UP
NONTALKABLE LANDTILE ; COLL_DOOR_79
NONTALKABLE LANDTILE ; COLL_STAIRCASE
NONTALKABLE LANDTILE ; COLL_CAVE
NONTALKABLE LANDTILE ; COLL_WARP_PANEL
NONTALKABLE LANDTILE ; COLL_DOOR_7D
NONTALKABLE LANDTILE ; COLL_WARP_CARPET_RIGHT
NONTALKABLE LANDTILE ; COLL_WARP_7F
NONTALKABLE WALLTILE ; 80
NONTALKABLE WALLTILE ; 81
NONTALKABLE WALLTILE ; 82
@ -147,30 +147,30 @@ TileCollisionTable:: ; 4ce1f
NONTALKABLE LANDTILE ; 8d
NONTALKABLE LANDTILE ; 8e
NONTALKABLE LANDTILE ; 8f
NONTALKABLE WALLTILE ; 90
NONTALKABLE WALLTILE ; 91
NONTALKABLE WALLTILE ; COLL_COUNTER
NONTALKABLE WALLTILE ; COLL_BOOKSHELF
NONTALKABLE WALLTILE ; 92
NONTALKABLE WALLTILE ; 93
NONTALKABLE WALLTILE ; 94
NONTALKABLE WALLTILE ; 95
NONTALKABLE WALLTILE ; 96
NONTALKABLE WALLTILE ; 97
NONTALKABLE WALLTILE ; 98
NONTALKABLE WALLTILE ; COLL_PC
NONTALKABLE WALLTILE ; COLL_RADIO
NONTALKABLE WALLTILE ; COLL_TOWN_MAP
NONTALKABLE WALLTILE ; COLL_MART_SHELF
NONTALKABLE WALLTILE ; COLL_TV
NONTALKABLE WALLTILE ; COLL_COUNTER_98
NONTALKABLE WALLTILE ; 99
NONTALKABLE WALLTILE ; 9a
NONTALKABLE WALLTILE ; 9b
NONTALKABLE WALLTILE ; 9c
NONTALKABLE WALLTILE ; 9d
NONTALKABLE WALLTILE ; COLL_9C
NONTALKABLE WALLTILE ; COLL_WINDOW
NONTALKABLE WALLTILE ; 9e
NONTALKABLE WALLTILE ; 9f
NONTALKABLE LANDTILE ; a0
NONTALKABLE LANDTILE ; a1
NONTALKABLE LANDTILE ; a2
NONTALKABLE LANDTILE ; a3
NONTALKABLE LANDTILE ; a4
NONTALKABLE LANDTILE ; a5
NONTALKABLE LANDTILE ; a6
NONTALKABLE LANDTILE ; a7
NONTALKABLE WALLTILE ; COLL_INCENSE_BURNER
NONTALKABLE LANDTILE ; COLL_HOP_RIGHT
NONTALKABLE LANDTILE ; COLL_HOP_LEFT
NONTALKABLE LANDTILE ; COLL_HOP_UP
NONTALKABLE LANDTILE ; COLL_HOP_DOWN
NONTALKABLE LANDTILE ; COLL_HOP_DOWN_RIGHT
NONTALKABLE LANDTILE ; COLL_HOP_DOWN_LEFT
NONTALKABLE LANDTILE ; COLL_HOP_UP_RIGHT
NONTALKABLE LANDTILE ; COLL_HOP_UP_LEFT
NONTALKABLE LANDTILE ; a8
NONTALKABLE LANDTILE ; a9
NONTALKABLE LANDTILE ; aa
@ -179,10 +179,10 @@ TileCollisionTable:: ; 4ce1f
NONTALKABLE LANDTILE ; ad
NONTALKABLE LANDTILE ; ae
NONTALKABLE LANDTILE ; af
NONTALKABLE LANDTILE ; b0
NONTALKABLE LANDTILE ; b1
NONTALKABLE LANDTILE ; b2
NONTALKABLE LANDTILE ; b3
NONTALKABLE LANDTILE ; COLL_RIGHT_WALL
NONTALKABLE LANDTILE ; COLL_LEFT_WALL
NONTALKABLE LANDTILE ; COLL_UP_WALL
NONTALKABLE LANDTILE ; COLL_DOWN_WALL
NONTALKABLE LANDTILE ; b4
NONTALKABLE LANDTILE ; b5
NONTALKABLE LANDTILE ; b6
@ -258,5 +258,5 @@ TileCollisionTable:: ; 4ce1f
NONTALKABLE LANDTILE ; fc
NONTALKABLE LANDTILE ; fd
NONTALKABLE LANDTILE ; fe
NONTALKABLE WALLTILE ; ff
NONTALKABLE WALLTILE ; COLL_FF
; 4cf1f

View File

@ -0,0 +1,13 @@
; stdscripts associated with tile collisions
TileCollisionStdScripts:
; collision type, stdscript
dbw COLL_BOOKSHELF, magazinebookshelf
dbw COLL_PC, pcscript
dbw COLL_RADIO, radio1
dbw COLL_TOWN_MAP, townmap
dbw COLL_MART_SHELF, merchandiseshelf
dbw COLL_TV, tv
dbw COLL_WINDOW, window
dbw COLL_INCENSE_BURNER, incenseburner
db -1 ; end

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

@ -1,94 +1,49 @@
SpriteAnimSeqData: ; 8d1c4
; entries correspond to SPRITE_ANIM_INDEX_* constants
; 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_NAMING_SCREEN_CURSOR
db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, $05
; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00
; SPRITE_ANIM_INDEX_GS_INTRO_STAR
db SPRITE_ANIM_FRAMESET_GS_INTRO_STAR, SPRITE_ANIM_SEQ_GS_INTRO_STAR, $06
; SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE
db SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE, SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE, $06
; SPRITE_ANIM_INDEX_SLOTS_GOLEM
db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOTS_GOLEM, $07
; SPRITE_ANIM_INDEX_SLOTS_CHANSEY
db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07
; SPRITE_ANIM_INDEX_SLOTS_EGG
db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07
; SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
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_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
; 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
db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE, $00
; SPRITE_ANIM_INDEX_TRADEMON_ICON
db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00
; SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00
; SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00
; SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB, $00
; SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_LEAF
db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_CUT_LEAVES, $00
; SPRITE_ANIM_INDEX_CUT_TREE
db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_FLY_LEAF
db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00
; SPRITE_ANIM_INDEX_EGG_CRACK
db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_1A
db SPRITE_ANIM_FRAMESET_24, SPRITE_ANIM_SEQ_19, $00
; SPRITE_ANIM_INDEX_HEADBUTT
db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, $00
; SPRITE_ANIM_INDEX_EGG_HATCH
db SPRITE_ANIM_FRAMESET_EGG_HATCH, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00
; SPRITE_ANIM_INDEX_1D
db SPRITE_ANIM_FRAMESET_26, SPRITE_ANIM_SEQ_1A, $00
; SPRITE_ANIM_INDEX_BLUE_WALK
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_INTRO_SUICUNE
db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_INTRO_SUICUNE, $00
; SPRITE_ANIM_INDEX_INTRO_PICHU
db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00
; SPRITE_ANIM_INDEX_INTRO_WOOPER
db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00
; SPRITE_ANIM_INDEX_INTRO_UNOWN
db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_INTRO_UNOWN, $00
; SPRITE_ANIM_INDEX_INTRO_UNOWN_F
db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_INTRO_UNOWN_F, $00
; SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, $00
; SPRITE_ANIM_INDEX_CELEBI
db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, $00 ; 2c
db SPRITE_ANIM_FRAMESET_PARTY_MON, SPRITE_ANIM_SEQ_PARTY_MON, $00 ; SPRITE_ANIM_INDEX_PARTY_MON
db SPRITE_ANIM_FRAMESET_GS_TITLE_TRAIL, SPRITE_ANIM_SEQ_GS_TITLE_TRAIL, $00 ; SPRITE_ANIM_INDEX_GS_TITLE_TRAIL
db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_NAMING_SCREEN_CURSOR, $05 ; SPRITE_ANIM_INDEX_NAMING_SCREEN_CURSOR
db SPRITE_ANIM_FRAMESET_GAMEFREAK_LOGO, SPRITE_ANIM_SEQ_GAMEFREAK_LOGO, $00 ; SPRITE_ANIM_INDEX_GAMEFREAK_LOGO
db SPRITE_ANIM_FRAMESET_GS_INTRO_STAR, SPRITE_ANIM_SEQ_GS_INTRO_STAR, $06 ; SPRITE_ANIM_INDEX_GS_INTRO_STAR
db SPRITE_ANIM_FRAMESET_GS_INTRO_SPARKLE, SPRITE_ANIM_SEQ_GS_INTRO_SPARKLE, $06 ; SPRITE_ANIM_INDEX_GS_INTRO_SPARKLE
db SPRITE_ANIM_FRAMESET_SLOTS_GOLEM, SPRITE_ANIM_SEQ_SLOTS_GOLEM, $07 ; SPRITE_ANIM_INDEX_SLOTS_GOLEM
db SPRITE_ANIM_FRAMESET_SLOTS_CHANSEY, SPRITE_ANIM_SEQ_SLOTS_CHANSEY, $07 ; SPRITE_ANIM_INDEX_SLOTS_CHANSEY
db SPRITE_ANIM_FRAMESET_SLOTS_EGG, SPRITE_ANIM_SEQ_SLOTS_EGG, $07 ; SPRITE_ANIM_INDEX_SLOTS_EGG
db SPRITE_ANIM_FRAMESET_TEXT_ENTRY_CURSOR, SPRITE_ANIM_SEQ_MAIL_CURSOR, $05 ; SPRITE_ANIM_INDEX_COMPOSE_MAIL_CURSOR
db SPRITE_ANIM_FRAMESET_RED_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_RED_WALK
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_FOR_UNUSED_CURSOR, $08 ; SPRITE_ANIM_INDEX_UNUSED_CURSOR
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_DUMMY_GAME_CURSOR, $08 ; SPRITE_ANIM_INDEX_DUMMY_GAME
db SPRITE_ANIM_FRAMESET_STILL_CURSOR, SPRITE_ANIM_SEQ_POKEGEAR_ARROW, $08 ; SPRITE_ANIM_INDEX_POKEGEAR_ARROW
db SPRITE_ANIM_FRAMESET_TRADE_POKE_BALL, SPRITE_ANIM_SEQ_TRADE_POKE_BALL, $00 ; SPRITE_ANIM_INDEX_TRADE_POKE_BALL
db SPRITE_ANIM_FRAMESET_TRADE_POOF, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_TRADE_POOF
db SPRITE_ANIM_FRAMESET_TRADE_TUBE_BULGE, SPRITE_ANIM_SEQ_TRADE_TUBE_BULGE, $00 ; SPRITE_ANIM_INDEX_TRADE_TUBE_BULGE
db SPRITE_ANIM_FRAMESET_TRADEMON_ICON, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; SPRITE_ANIM_INDEX_TRADEMON_ICON
db SPRITE_ANIM_FRAMESET_TRADEMON_BUBBLE, SPRITE_ANIM_SEQ_TRADEMON_IN_TUBE, $00 ; SPRITE_ANIM_INDEX_TRADEMON_BUBBLE
db SPRITE_ANIM_FRAMESET_EVOLUTION_BALL_OF_LIGHT, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 ; SPRITE_ANIM_INDEX_EVOLUTION_BALL_OF_LIGHT
db SPRITE_ANIM_FRAMESET_RADIO_TUNING_KNOB, SPRITE_ANIM_SEQ_RADIO_TUNING_KNOB, $00 ; SPRITE_ANIM_INDEX_RADIO_TUNING_KNOB
db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_RED, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_RED
db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_CUT_LEAVES, $00 ; SPRITE_ANIM_INDEX_LEAF
db SPRITE_ANIM_FRAMESET_CUT_TREE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_CUT_TREE
db SPRITE_ANIM_FRAMESET_LEAF, SPRITE_ANIM_SEQ_FLY_LEAF, $00 ; SPRITE_ANIM_INDEX_FLY_LEAF
db SPRITE_ANIM_FRAMESET_EGG_CRACK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_EGG_CRACK
db SPRITE_ANIM_FRAMESET_24, SPRITE_ANIM_SEQ_19, $00 ; SPRITE_ANIM_INDEX_1A
db SPRITE_ANIM_FRAMESET_HEADBUTT, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_HEADBUTT
db SPRITE_ANIM_FRAMESET_EGG_HATCH, SPRITE_ANIM_SEQ_REVEAL_NEW_MON, $00 ; SPRITE_ANIM_INDEX_EGG_HATCH
db SPRITE_ANIM_FRAMESET_26, SPRITE_ANIM_SEQ_1A, $00 ; SPRITE_ANIM_INDEX_1D
db SPRITE_ANIM_FRAMESET_BLUE_WALK, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_BLUE_WALK
db SPRITE_ANIM_FRAMESET_MAGNET_TRAIN_BLUE, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MAGNET_TRAIN_BLUE
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_SENT_BALL, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_SENT_BALL
db SPRITE_ANIM_FRAMESET_MOBILE_TRADE_OT_BALL, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_TRADE_OT_BALL
db SPRITE_ANIM_FRAMESET_FOR_MOBILE_22, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_22
db SPRITE_ANIM_FRAMESET_FOR_MOBILE_23, SPRITE_ANIM_SEQ_FOR_MOBILE_23, $00 ; SPRITE_ANIM_INDEX_MOBILE_23
db SPRITE_ANIM_FRAMESET_FOR_MOBILE_24, SPRITE_ANIM_SEQ_FOR_MOBILE_24, $00 ; SPRITE_ANIM_INDEX_MOBILE_24
db SPRITE_ANIM_FRAMESET_FOR_MOBILE_25, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_MOBILE_25
db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE, SPRITE_ANIM_SEQ_INTRO_SUICUNE, $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE
db SPRITE_ANIM_FRAMESET_INTRO_PICHU, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 ; SPRITE_ANIM_INDEX_INTRO_PICHU
db SPRITE_ANIM_FRAMESET_INTRO_WOOPER, SPRITE_ANIM_SEQ_INTRO_PICHU_WOOPER, $00 ; SPRITE_ANIM_INDEX_INTRO_WOOPER
db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_1, SPRITE_ANIM_SEQ_INTRO_UNOWN, $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN
db SPRITE_ANIM_FRAMESET_INTRO_UNOWN_F, SPRITE_ANIM_SEQ_INTRO_UNOWN_F, $00 ; SPRITE_ANIM_INDEX_INTRO_UNOWN_F
db SPRITE_ANIM_FRAMESET_INTRO_SUICUNE_AWAY, SPRITE_ANIM_SEQ_INTRO_SUICUNE_AWAY, $00 ; SPRITE_ANIM_INDEX_INTRO_SUICUNE_AWAY
db SPRITE_ANIM_FRAMESET_CELEBI_LEFT, SPRITE_ANIM_SEQ_NULL, $00 ; SPRITE_ANIM_INDEX_CELEBI
; 8d24b

1029
docs/bugs_and_glitches.md Normal file

File diff suppressed because it is too large Load Diff

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

@ -382,7 +382,10 @@ ShortHPBar_CalcPixelFrame: ; d839
and a
jr z, .return_zero
call AddNTimes
ld b, 0
; This routine is buggy. If [wCurHPAnimMaxHP] * [wCurHPBarPixels] is divisible
; by 48, the loop runs one extra time. To fix, uncomment the line below.
.loop
ld a, l
sub 6 * 8
@ -390,6 +393,7 @@ ShortHPBar_CalcPixelFrame: ; d839
ld a, h
sbc $0
ld h, a
; jr z, .done
jr c, .done
inc b
jr .loop

View File

@ -196,9 +196,10 @@ FlashyTransitionToBattle: ; 8c314
StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365)
; The screen flashes a different number of
; times depending on the level of your lead
; Pokemon relative to the opponent's.
; The screen flashes a different number of times depending on the level of
; your lead Pokemon relative to the opponent's.
; BUG: BattleMonLevel and EnemyMonLevel are not set at this point, so whatever
; values happen to be there will determine the animation.
ld de, 0
ld a, [BattleMonLevel]
add 3

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

@ -554,7 +554,7 @@ GetItemAttr: ; d460
ld a, [CurItem]
dec a
ld c, a
ld a, NUM_ITEMATTRS
ld a, ITEMATTR_STRUCT_LENGTH
call AddNTimes
ld a, BANK(ItemAttributes)
call GetFarByte

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

@ -128,13 +128,13 @@ DoPlayerMovement:: ; 80000
.not_whirlpool
and $f0
cp $30 ; moving water
cp HI_NYBBLE_CURRENT
jr z, .water
cp $40 ; moving land 1
cp HI_NYBBLE_WALK
jr z, .land1
cp $50 ; moving land 2
cp HI_NYBBLE_WALK_ALT
jr z, .land2
cp $70 ; warps
cp HI_NYBBLE_WARPS
jr z, .warps
jr .no_walk
@ -150,10 +150,10 @@ DoPlayerMovement:: ; 80000
jr .continue_walk
.water_table
db RIGHT
db LEFT
db UP
db DOWN
db RIGHT ; COLL_WATERFALL_RIGHT
db LEFT ; COLL_WATERFALL_LEFT
db UP ; COLL_WATERFALL_UP
db DOWN ; COLL_WATERFALL
.land1
ld a, c
@ -169,14 +169,14 @@ DoPlayerMovement:: ; 80000
jr .continue_walk
.land1_table
db STANDING
db RIGHT
db LEFT
db UP
db DOWN
db STANDING
db STANDING
db STANDING
db STANDING ; COLL_BRAKE
db RIGHT ; COLL_WALK_RIGHT
db LEFT ; COLL_WALK_LEFT
db UP ; COLL_WALK_UP
db DOWN ; COLL_WALK_DOWN
db STANDING ; COLL_BRAKE_45
db STANDING ; COLL_BRAKE_46
db STANDING ; COLL_BRAKE_47
.land2
ld a, c
@ -192,24 +192,24 @@ DoPlayerMovement:: ; 80000
jr .continue_walk
.land2_table
db RIGHT
db LEFT
db UP
db DOWN
db STANDING
db STANDING
db STANDING
db STANDING
db RIGHT ; COLL_WALK_RIGHT_ALT
db LEFT ; COLL_WALK_LEFT_ALT
db UP ; COLL_WALK_UP_ALT
db DOWN ; COLL_WALK_DOWN_ALT
db STANDING ; COLL_BRAKE_ALT
db STANDING ; COLL_BRAKE_55
db STANDING ; COLL_BRAKE_56
db STANDING ; COLL_BRAKE_57
.warps
ld a, c
cp $71 ; door
cp COLL_DOOR
jr z, .down
cp $79
cp COLL_DOOR_79
jr z, .down
cp $7a ; stairs
cp COLL_STAIRCASE
jr z, .down
cp $7b ; cave
cp COLL_CAVE
jr nz, .no_walk
.down
@ -365,7 +365,7 @@ DoPlayerMovement:: ; 80000
ld a, [PlayerStandingTile]
ld e, a
and $f0
cp $a0 ; ledge
cp HI_NYBBLE_LEDGES
jr nz, .DontJump
ld a, e
@ -391,14 +391,14 @@ DoPlayerMovement:: ; 80000
ret
.data_8021e
db FACE_RIGHT
db FACE_LEFT
db FACE_UP
db FACE_DOWN
db FACE_RIGHT | FACE_DOWN
db FACE_DOWN | FACE_LEFT
db FACE_UP | FACE_RIGHT
db FACE_UP | FACE_LEFT
db FACE_RIGHT ; COLL_HOP_RIGHT
db FACE_LEFT ; COLL_HOP_LEFT
db FACE_UP ; COLL_HOP_UP
db FACE_DOWN ; COLL_HOP_DOWN
db FACE_RIGHT | FACE_DOWN ; COLL_HOP_DOWN_RIGHT
db FACE_DOWN | FACE_LEFT ; COLL_HOP_DOWN_LEFT
db FACE_UP | FACE_RIGHT ; COLL_HOP_UP_RIGHT
db FACE_UP | FACE_LEFT ; COLL_HOP_UP_LEFT
; 80226
.CheckWarp: ; 80226
@ -443,7 +443,10 @@ DoPlayerMovement:: ; 80000
ret
.EdgeWarps:
db $70, $78, $76, $7e
db COLL_WARP_CARPET_DOWN
db COLL_WARP_CARPET_UP
db COLL_WARP_CARPET_LEFT
db COLL_WARP_CARPET_RIGHT
; 8025f
.DoStep:
@ -759,7 +762,7 @@ DoPlayerMovement:: ; 80000
; Return 0 if tile a is land. Otherwise, return carry.
call GetTileCollision
and a ; land
and a ; LANDTILE?
ret z
scf
ret
@ -774,7 +777,7 @@ DoPlayerMovement:: ; 80000
jr z, .Water
; Can walk back onto land from water.
and a
and a ; LANDTILE?
jr z, .Land
jr .Neither

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

@ -219,7 +219,7 @@ CheckOwnMon: ; 0x4a7ba
ld hl, PlayerName
rept 4
rept NAME_LENGTH_JAPANESE +- 2 ; should be PLAYER_NAME_LENGTH +- 2
ld a, [de]
cp [hl]
jr nz, .notfound

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

@ -1,12 +1,12 @@
CheckWarpCollision:: ; 1499a
; Is this tile a warp?
ld a, [PlayerStandingTile]
cp $60
cp COLL_PIT
jr z, .warp
cp $68
cp COLL_PIT_68
jr z, .warp
and $f0
cp $70
cp HI_NYBBLE_WARPS
jr z, .warp
and a
ret
@ -20,13 +20,13 @@ CheckDirectionalWarp:: ; 149af
; If this is a directional warp, clear carry (press the designated button to warp).
; Else, set carry (immediate warp).
ld a, [PlayerStandingTile]
cp $70 ; Warp on down
cp COLL_WARP_CARPET_DOWN
jr z, .directional
cp $76 ; Warp on left
cp COLL_WARP_CARPET_LEFT
jr z, .directional
cp $78 ; Warp on up
cp COLL_WARP_CARPET_UP
jr z, .directional
cp $7e ; Warp on right
cp COLL_WARP_CARPET_RIGHT
jr z, .directional
scf
ret
@ -45,15 +45,15 @@ CheckWarpFacingDown: ; 149c6
; 149d3
.blocks ; 149d3
db $71 ; door
db $79
db $7a ; stairs
db $73
db $7b ; cave entrance
db $74
db $7c ; warp pad
db $75
db $7d
db COLL_DOOR
db COLL_DOOR_79
db COLL_STAIRCASE
db COLL_STAIRCASE_73
db COLL_CAVE
db COLL_CAVE_74
db COLL_WARP_PANEL
db COLL_DOOR_75
db COLL_DOOR_7D
db -1
; 149dd
@ -66,16 +66,16 @@ CheckGrassCollision:: ; 149dd
; 149ea
.blocks ; 149ea
db $08
db $18 ; tall grass
db $14 ; tall grass
db $28
db $29
db $48
db $49
db $4a
db $4b
db $4c
db COLL_CUT_08
db COLL_TALL_GRASS
db COLL_LONG_GRASS
db COLL_CUT_28
db COLL_WATER
db COLL_GRASS_48
db COLL_GRASS_49
db COLL_GRASS_4A
db COLL_GRASS_4B
db COLL_GRASS_4C
db -1
; 149f5
@ -88,22 +88,22 @@ CheckCutCollision: ; 149f5
; 14a00
.blocks ; 14a00
db $12 ; cut tree
db $1a ; cut tree
db $10 ; tall grass
db $18 ; tall grass
db $14 ; tall grass
db $1c ; tall grass
db COLL_CUT_TREE
db COLL_CUT_TREE_1A
db COLL_TALL_GRASS_10
db COLL_TALL_GRASS
db COLL_LONG_GRASS
db COLL_LONG_GRASS_1C
db -1
; 14a07
GetWarpSFX:: ; 14a07
ld a, [PlayerStandingTile]
ld de, SFX_ENTER_DOOR
cp $71 ; door
cp COLL_DOOR
ret z
ld de, SFX_WARP_TO
cp $7c ; warp pad
cp COLL_WARP_PANEL
ret z
ld de, SFX_EXIT_BUILDING
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

@ -448,7 +448,7 @@ TrainerCard_Page1_PrintGameTime: ; 25415 (9:5415)
ret nz
hlcoord 15, 12
ld a, [hl]
xor %01010001 ; $7F (space) <--> $2E (colon)
xor $7f ^ $2e ; $7F (space) <--> $2E (colon)
ld [hl], a
ret

View File

@ -29,17 +29,18 @@ 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)

View File

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

View File

@ -152,9 +152,12 @@ LoadMetatiles:: ; 2198
ld e, l
ld d, h
; Set hl to the address of the current metatile data ([TilesetBlocksAddress] + (a) tiles).
add a
; This is buggy; it wraps around past 128 blocks.
; To fix, uncomment the line below.
add a ; Comment or delete this line to fix the above bug.
ld l, a
ld h, 0
; add hl, hl
add hl, hl
add hl, hl
add hl, hl

View File

@ -120,67 +120,67 @@ GetTileCollision:: ; 185d
CheckGrassTile:: ; 1875
ld d, a
and $f0
cp $10
jr z, .ok_10
cp $20
jr z, .ok_20
cp HI_NYBBLE_TALL_GRASS
jr z, .grass
cp HI_NYBBLE_WATER
jr z, .water
scf
ret
.ok_10
.grass
ld a, d
and 7
and LO_NYBBLE_GRASS
ret z
scf
ret
; For some reason, the above code is duplicated down here.
.ok_20
.water
ld a, d
and 7
and LO_NYBBLE_GRASS
ret z
scf
ret
; 188e
CheckSuperTallGrassTile:: ; 188e
cp $14
cp COLL_LONG_GRASS
ret z
cp $1c
cp COLL_LONG_GRASS_1C
ret
; 1894
CheckCutTreeTile:: ; 1894
cp $12
cp COLL_CUT_TREE
ret z
cp $1a
cp COLL_CUT_TREE_1A
ret
; 189a
CheckHeadbuttTreeTile:: ; 189a
cp $15
cp COLL_HEADBUTT_TREE
ret z
cp $1d
cp COLL_HEADBUTT_TREE_1D
ret
; 18a0
CheckCounterTile:: ; 18a0
cp $90
cp COLL_COUNTER
ret z
cp $98
cp COLL_COUNTER_98
ret
; 18a6
CheckPitTile:: ; 18a6
cp $60
cp COLL_PIT
ret z
cp $68
cp COLL_PIT_68
ret
; 18ac
CheckIceTile:: ; 18ac
cp $23
cp COLL_ICE
ret z
cp $2b
cp COLL_ICE_2B
ret z
scf
ret
@ -188,30 +188,30 @@ CheckIceTile:: ; 18ac
CheckWhirlpoolTile:: ; 18b4
nop
cp $24
cp COLL_WHIRLPOOL
ret z
cp $2c
cp COLL_WHIRLPOOL_2C
ret z
scf
ret
; 18bd
CheckWaterfallTile:: ; 18bd
cp $33
cp COLL_WATERFALL
ret z
cp $3b
cp COLL_CURRENT_DOWN
ret
; 18c3
CheckStandingOnEntrance:: ; 18c3
ld a, [PlayerStandingTile]
cp $71 ; door
cp COLL_DOOR
ret z
cp $79
cp COLL_DOOR_79
ret z
cp $7a ; stairs
cp COLL_STAIRCASE
ret z
cp $7b ; cave
cp COLL_CAVE
ret
; 18d2

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

@ -5,774 +5,517 @@ item_attribute: MACRO
dn \6, \7
ENDM
Item1Attributes:
ItemAttributes: ; 67c1
; entries correspond to constants/item_constants.asm
; MASTER BALL
item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
Item2Attributes:
; ULTRA BALL
item_attribute 1200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; BRIGHTPOWDER
item_attribute 10, HELD_BRIGHTPOWDER, 20, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; GREAT BALL
item_attribute 600, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; # BALL
item_attribute 200, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BICYCLE
item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
; MOON STONE
item_attribute 0, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; ANTIDOTE
item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; BURN HEAL
item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; ICE HEAL
item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; AWAKENING
item_attribute 250, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; PARLYZ HEAL
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; FULL RESTORE
item_attribute 3000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; MAX POTION
item_attribute 2500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; HYPER POTION
item_attribute 1200, 0, 200, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; SUPER POTION
item_attribute 700, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; POTION
item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; ESCAPE ROPE
item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
; REPEL
item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
; MAX ELIXER
item_attribute 4500, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; FIRE STONE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; THUNDERSTONE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; WATER STONE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; HP UP
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; PROTEIN
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; IRON
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; CARBOS
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; LUCKY PUNCH
item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; CALCIUM
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; RARE CANDY
item_attribute 4800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; X ACCURACY
item_attribute 950, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; LEAF STONE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; METAL POWDER
item_attribute 10, HELD_METAL_POWDER, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; NUGGET
item_attribute 10000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; # DOLL
item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; FULL HEAL
item_attribute 600, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; REVIVE
item_attribute 1500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; MAX REVIVE
item_attribute 4000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; GUARD SPEC.
item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; SUPER REPEL
item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
; MAX REPEL
item_attribute 700, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
; DIRE HIT
item_attribute 650, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; FRESH WATER
item_attribute 200, 0, 50, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; SODA POP
item_attribute 300, 0, 60, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; LEMONADE
item_attribute 350, 0, 80, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; X ATTACK
item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; X DEFEND
item_attribute 550, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; X SPEED
item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; X SPECIAL
item_attribute 350, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; COIN CASE
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
; ITEMFINDER
item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; EXP.SHARE
item_attribute 3000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; OLD ROD
item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
; GOOD ROD
item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
; SILVER LEAF
item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; SUPER ROD
item_attribute 0, 0, 0, CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
; PP UP
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; ETHER
item_attribute 1200, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; MAX ETHER
item_attribute 2000, 0, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; ELIXER
item_attribute 3000, 0, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; RED SCALE
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; SECRETPOTION
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; S.S.TICKET
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; MYSTERY EGG
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; CLEAR BELL
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; SILVER WING
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; MOOMOO MILK
item_attribute 500, 0, 100, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; QUICK CLAW
item_attribute 100, HELD_QUICK_CLAW, 60, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; PSNCUREBERRY
item_attribute 10, HELD_HEAL_POISON, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; GOLD LEAF
item_attribute 1000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; SOFT SAND
item_attribute 100, HELD_GROUND_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; SHARP BEAK
item_attribute 100, HELD_FLYING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; PRZCUREBERRY
item_attribute 10, HELD_HEAL_PARALYZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; BURNT BERRY
item_attribute 10, HELD_HEAL_FREEZE, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; ICE BERRY
item_attribute 10, HELD_HEAL_BURN, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; POISON BARB
item_attribute 100, HELD_POISON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; KING'S ROCK
item_attribute 100, HELD_TRADE_EVOLVE, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BITTER BERRY
item_attribute 10, HELD_HEAL_CONFUSION, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_PARTY
; MINT BERRY
item_attribute 10, HELD_HEAL_SLEEP, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; RED APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TINYMUSHROOM
item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BIG MUSHROOM
item_attribute 5000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; SILVERPOWDER
item_attribute 100, HELD_BUG_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BLU APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; AMULET COIN
item_attribute 100, HELD_AMULET_COIN, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; YLW APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; GRN APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; CLEANSE TAG
item_attribute 200, HELD_CLEANSE_TAG, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; MYSTIC WATER
item_attribute 100, HELD_WATER_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TWISTEDSPOON
item_attribute 100, HELD_PSYCHIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; WHT APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BLACKBELT
item_attribute 100, HELD_FIGHTING_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BLK APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; PNK APRICORN
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BLACKGLASSES
item_attribute 100, HELD_DARK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; SLOWPOKETAIL
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; PINK BOW
item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; STICK
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; SMOKE BALL
item_attribute 200, HELD_ESCAPE, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; NEVERMELTICE
item_attribute 100, HELD_ICE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; MAGNET
item_attribute 100, HELD_ELECTRIC_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; MIRACLEBERRY
item_attribute 10, HELD_HEAL_STATUS, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; PEARL
item_attribute 1400, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BIG PEARL
item_attribute 7500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; EVERSTONE
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; SPELL TAG
item_attribute 100, HELD_GHOST_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; RAGECANDYBAR
item_attribute 300, 0, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; GS BALL
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BLUE CARD
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
; MIRACLE SEED
item_attribute 100, HELD_GRASS_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; THICK CLUB
item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; FOCUS BAND
item_attribute 200, HELD_FOCUS_BAND, 30, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; ENERGYPOWDER
item_attribute 500, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; ENERGY ROOT
item_attribute 800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; HEAL POWDER
item_attribute 450, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; REVIVAL HERB
item_attribute 2800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; HARD STONE
item_attribute 100, HELD_ROCK_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; LUCKY EGG
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; CARD KEY
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
; MACHINE PART
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; EGG TICKET
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; LOST ITEM
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; STARDUST
item_attribute 2000, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; STAR PIECE
item_attribute 9800, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BASEMENT KEY
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
; PASS
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; CHARCOAL
item_attribute 9800, HELD_FIRE_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BERRY JUICE
item_attribute 100, HELD_BERRY, 20, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; SCOPE LENS
item_attribute 200, HELD_CRITICAL_UP, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; METAL COAT
item_attribute 100, HELD_STEEL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; DRAGON FANG
item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; LEFTOVERS
item_attribute 200, HELD_LEFTOVERS, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; MYSTERYBERRY
item_attribute 10, HELD_RESTORE_PP, -1, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; DRAGON SCALE
item_attribute 2100, HELD_DRAGON_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BERSERK GENE
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; SACRED ASH
item_attribute 200, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
; HEAVY BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; FLOWER MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; LEVEL BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; LURE BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; FAST BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; LIGHT BALL
item_attribute 100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; FRIEND BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; MOON BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; LOVE BALL
item_attribute 150, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; NORMAL BOX
item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
; GORGEOUS BOX
item_attribute 10, 0, 0, CANT_SELECT, ITEM, ITEMMENU_CURRENT, ITEMMENU_NOUSE
; SUN STONE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; POLKADOT BOW
item_attribute 100, HELD_NORMAL_BOOST, 10, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; UP-GRADE
item_attribute 2100, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BERRY
item_attribute 10, HELD_BERRY, 10, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; GOLD BERRY
item_attribute 10, HELD_BERRY, 30, CANT_SELECT, ITEM, ITEMMENU_PARTY, ITEMMENU_PARTY
; SQUIRTBOTTLE
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_CLOSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; PARK BALL
item_attribute 0, 0, 0, CANT_SELECT, BALL, ITEMMENU_NOUSE, ITEMMENU_CLOSE
; RAINBOW WING
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, KEY_ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BRICK PIECE
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; SURF MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; LITEBLUEMAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; PORTRAITMAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; LOVELY MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; EON MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; MORPH MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; BLUESKY MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; MUSIC MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; MIRAGE MAIL
item_attribute 50, 0, 0, CANT_SELECT, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TM01
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM02
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM03
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM04
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TM05
item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM06
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM07
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM08
item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM09
item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM10
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM11
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM12
item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM13
item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM14
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM15
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM16
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM17
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM18
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM19
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM20
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM21
item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM22
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM23
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM24
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM25
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM26
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM27
item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM28
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TM29
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM30
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM31
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM32
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM33
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM34
item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM35
item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM36
item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM37
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM38
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM39
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM40
item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM41
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM42
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM43
item_attribute 1000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM44
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM45
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM46
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM47
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM48
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM49
item_attribute 3000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TM50
item_attribute 2000, 0, 0, CANT_SELECT, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; HM01
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; HM02
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; HM03
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; HM04
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; HM05
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; HM06
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; HM07
item_attribute 0, 0, 0, CANT_SELECT | CANT_TOSS, TM_HM, ITEMMENU_PARTY, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; TERU-SAMA
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE
; ?
item_attribute $9999, 0, 0, 0, ITEM, ITEMMENU_NOUSE, ITEMMENU_NOUSE

View File

@ -1006,7 +1006,7 @@ LoveBallMultiplier:
pop de
cp d
pop bc
ret nz ; for the intended effect, this should be “ret z”
ret nz ; for the intended effect, this should be "ret z"
sla b
jr c, .max
@ -1044,7 +1044,7 @@ FastBallMultiplier:
cp -1
jr z, .next
cp c
jr nz, .next ; for the intended effect, this should be “jr nz, .loop”
jr nz, .next ; for the intended effect, this should be "jr nz, .loop"
sla b
jr c, .max

View File

@ -13,10 +13,15 @@ INCLUDE "macros/rst.asm"
INCLUDE "macros/mobile.asm"
INCLUDE "macros/trainer.asm"
INCLUDE "macros/trade_anim.asm"
INCLUDE "macros/pals.asm"
INCLUDE "macros/tilesets.asm"
RGB: MACRO
rept _NARG / 3
dw ((\3) << 10) + ((\2) << 5) + (\1)
shift
shift
shift
endr
ENDM

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

@ -7,3 +7,7 @@ rept (_NARG +- 1) / 2
shift
endr
endm
tilecoll: MACRO
db COLL_\1, COLL_\2, COLL_\3, COLL_\4
endm

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

@ -236,8 +236,6 @@ CheckNickErrors:: ; 669f
db -1 ; end
INCLUDE "engine/math.asm"
ItemAttributes: ; 67c1
INCLUDE "items/item_attributes.asm"
INCLUDE "engine/npc_movement.asm"
INCLUDE "event/happiness_egg.asm"
@ -508,7 +506,7 @@ CheckFacingTileForStd:: ; 1365b
; Checks to see if the tile you're facing has a std script associated with it. If so, executes the script and returns carry.
ld a, c
ld de, 3
ld hl, .table1
ld hl, TileCollisionStdScripts
call IsInArray
jr nc, .notintable
@ -529,16 +527,7 @@ CheckFacingTileForStd:: ; 1365b
xor a
ret
.table1
dbw $91, magazinebookshelf
dbw $93, pcscript
dbw $94, radio1
dbw $95, townmap
dbw $96, merchandiseshelf
dbw $97, tv
dbw $9d, window
dbw $9f, incenseburner
db -1 ; end
INCLUDE "data/collision_stdscripts.asm"
Script_JumpStdFromRAM: ; 0x1369a
jump wJumpStdScriptBuffer
@ -1952,7 +1941,7 @@ ScrollBGMapPalettes:: ; 4c03f
INCLUDE "tilesets/palette_maps.asm"
INCLUDE "tilesets/collision.asm"
INCLUDE "data/collision_permissions.asm"
EmptyAllSRAMBanks: ; 4cf1f
ld a, $0

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

Some files were not shown because too many files have changed in this diff Show More