2012-01-14 03:26:14 +00:00
_JAPAN EQU 0
_GREEN EQU 0
_YELLOW EQU 0
2011-12-16 01:22:21 +00:00
2012-01-10 22:54:38 +00:00
;\1 = X
;\2 = Y
2011-05-31 03:58:46 +00:00
FuncCoord: MACRO
Coord = $ C3A0 + 20 * \ 2 + \ 1
ENDM
2012-01-03 23:25:21 +00:00
;\1 = Map Width
;\2 = Rows above (Y-blocks)
;\3 = X movement (X-blocks)
EVENT_DISP: MACRO
dw ( $ C6EF + ( \ 1 ) + (( \ 1 ) + 6 ) * (( \ 2 ) >> 1 ) + (( \ 3 ) >> 1 )) ; Ev.Disp
db \ 2 , \ 3 ;Y,X
ENDM
FLYWARP_DATA: MACRO
EVENT_DISP \ 1 , \ 2 , \ 3
db (( \ 2 ) & $ 01 ) ;sub-block Y
db (( \ 3 ) & $ 01 ) ;sub-block X
ENDM
2012-01-19 04:17:28 +00:00
2010-12-28 01:23:31 +00:00
; external map entry macro
EMAP: MACRO ; emap x-coordinate,y-coordinate,textpointer
; the appearance of towns and routes in the town map, indexed by map id
; nybble: y-coordinate
; nybble: x-coordinate
; word : pointer to map name
db ( \ 1 + ( \ 2 << 4 ))
dw \ 3
ENDM
; internal map entry macro
IMAP: MACRO ; imap mapid_less_than,x-coordinate,y-coordinate,textpointer
; the appearance of buildings and dungeons in the town map
; byte : maximum map id subject to this rule
; nybble: y-coordinate
; nybble: x-coordinate
; word : pointer to map name
db \ 1
db \ 2 + \ 3 << 4
dw \ 4
ENDM
2010-12-20 23:41:53 +00:00
; tilesets' headers macro
TSETHEAD: MACRO
db BANK ( \ 2 )
dw \ 1 , \ 2 , \ 3
db \ 4 , \ 5 , \ 6 , \ 7 , \ 8
ENDM
2012-03-08 00:55:06 +00:00
; macro for two nibbles
dn: MACRO
db ( \ 1 << 4 | \ 2 )
ENDM
2010-12-20 23:41:53 +00:00
2010-11-20 06:00:56 +00:00
; macro for putting a byte then a word
dbw: MACRO
db \ 1
dw \ 2
ENDM
2010-11-13 06:00:02 +00:00
; data format macros
RGB: MACRO
dw ( \ 3 << 10 | \ 2 << 5 | \ 1 )
ENDM
; text macros
2011-12-27 23:31:22 +00:00
TX_NUM: MACRO
; print a big-endian decimal number.
; \1: address to read from
; \2: number of bytes to read
; \3: number of digits to display
db $ 09
dw \ 1
db \ 2 << 4 | \ 3
ENDM
2010-11-13 06:00:02 +00:00
TX_FAR: MACRO
db $ 17
dw \ 1
db BANK ( \ 1 )
ENDM
2012-01-17 07:33:46 +00:00
; text engine command $1
TX_RAM: MACRO
; prints text to screen
; \1: RAM address to read from
2012-01-19 04:17:28 +00:00
db $ 1
dw \ 1
ENDM
2012-01-17 07:33:46 +00:00
2012-03-06 23:21:11 +00:00
; Predef macro.
PREDEF: MACRO
ld a , ( \ 1 - PredefPointers ) / 3
call Predef
ENDM
PREDEF_JUMP: MACRO
ld a , ( \ 1 - PredefPointers ) / 3
jp Predef
ENDM
2010-11-13 06:00:02 +00:00
; wram locations
2012-01-19 20:10:49 +00:00
2013-03-17 21:54:12 +00:00
; data for all sprites on the current map
; holds info for 16 sprites with $10 bytes each
; player sprite is always sprite 0
; C1x0: picture ID (fixed, loaded at map init)
; C1x1: movement status (0: uninitialized, 1: ready, 2: delayed, 3: moving)
; C1x2: sprite image index (changed on update, $ff if off screen, includes facing direction, progress in walking animation and a sprite-specific offset)
; C1x3: Y screen position delta (-1,0 or 1; added to c1x4 on each walking animation update)
; C1x4: Y screen position (in pixels, always 4 pixels above grid which makes sprites appear to be in the center of a tile)
; C1x5: X screen position delta (-1,0 or 1; added to c1x6 on each walking animation update)
; C1x6: X screen position (in pixels, snaps to grid if not currently walking)
; C1x7: intra-animation-frame counter (counting upwards to 4 until c1x8 is incremented)
; C1x8: animation frame counter (increased every 4 updates, hold four states (totalling to 16 walking frames)
; C1x9: facing direction (0: down, 4: up, 8: left, $c: right)
; C1xA
; C1xB
; C1xC
; C1xD
; C1xE
; C1xF
2013-04-07 02:01:08 +00:00
W_SPRITESTATEDATA1 EQU $ C100 ; to $C200
2013-03-17 21:54:12 +00:00
; more data for all sprites on the current map
; holds info for 16 sprites with $10 bytes each
; player sprite is always sprite 0
; C2x0: walk animation counter (counting from $10 backwards when moving)
; C2x1:
; C2x2: Y displacement (initialized at 8, supposed to keep moving sprites from moving too far, but bugged)
; C2x3: X displacement (initialized at 8, supposed to keep moving sprites from moving too far, but bugged)
; C2x4: Y position (in 2x2 tile grid steps, topmost 2x2 tile has value 4)
; C2x5: X position (in 2x2 tile grid steps, leftmost 2x2 tile has value 4)
; C2x6: movement byte 1 (determines whether a sprite can move, $ff:not moving, $fe:random movements, others unknown)
; C2x7: (?) (set to $80 when in grass, else $0; may be used to draw grass above the sprite)
; C2x8: delay until next movement (counted downwards, status (c1x1) is set to ready if reached 0)
; C2x9
; C2xA
; C2xB
; C2xC
; C2xD
; C2xE: sprite image base offset (in video ram, player always has value 1, used to compute c1x2)
; C2xF
2013-04-07 02:01:08 +00:00
W_SPRITESTATEDATA2 EQU $ C200 ; to $C300
; buffer for OAM data. Is copied to OAM RAM by OAM DMA
W_OAMBUFFER EQU $ C300 ; size $a0, to $C3A0
; buffer for tiles that are visible on screen (20 columns by 18 rows = $168 bytes)
W_SCREENTILESBUFFER EQU $ C3A0 ; size $168, to $C508
; buffer for temporarily saving and restoring current screen's tiles (e.g. if menus are drawn on top)
W_SCREENTILESBACKBUFFER EQU $ C508 ; size $168, to $C670
2013-03-17 21:54:12 +00:00
2012-01-27 03:26:08 +00:00
; the tiles of the row or column to be redrawn by RedrawExposedScreenEdge
W_SCREENEDGETILES EQU $ CBFC
2012-01-26 18:31:04 +00:00
; coordinates of the position of the cursor for the top menu item (id 0)
W_TOPMENUITEMY EQU $ CC24
W_TOPMENUITEMX EQU $ CC25
; the id of the currently selected menu item
; the top item has id 0, the one below that has id 1, etc.
2012-02-06 21:57:57 +00:00
; note that the "top item" means the top item currently visible on the screen
; add this value to [W_LISTSCROLLOFFSET] to get the item's position within the list
2012-01-26 18:31:04 +00:00
W_CURMENUITEMID EQU $ CC26
; the tile that was behind the menu cursor's current location
W_TILEBEHINDCURSOR EQU $ CC27
W_MAXMENUITEMID EQU $ CC28 ; id of the bottom menu item
W_MENUWATCHEDKEYS EQU $ CC29 ; bit mask of keys that the menu will respond to
W_OLDMENUITEMID EQU $ CC2A ; id of previously selected menu item
; how many times should HandleMenuInput poll the joypad state before it returns?
W_MENUJOYPADPOLLCOUNT EQU $ CC34
2012-01-24 18:13:58 +00:00
W_PLAYERMOVELISTINDEX EQU $ CC2E
W_PLAYERMONNUMBER EQU $ CC2F
2012-01-26 18:31:04 +00:00
; the address of the menu cursor's current location within C3A0-C507
W_MENUCURSORLOCATION EQU $ CC30 ; 2 bytes
2012-02-06 21:57:57 +00:00
; offset of the current top menu item from the beginning of the list
; keeps track of what section of the list is on screen
W_LISTSCROLLOFFSET EQU $ CC36
2012-01-26 18:31:04 +00:00
; set to 1 if you can go from the bottom to the top or top to bottom of a menu
; set to 0 if you can't go past the top or bottom of the menu
W_MENUWRAPPINGENABLED EQU $ CC4A
2013-04-07 02:01:08 +00:00
W_TRAINERHEADERFLAGBIT EQU $ CC55
2013-03-17 21:54:12 +00:00
W_RLEBYTECOUNTER EQU $ CCD2
2012-01-24 14:17:22 +00:00
; current HP of player and enemy substitutes
W_PLAYERSUBSITUTEHP EQU $ CCD7
W_ENEMYSUBSITUTEHP EQU $ CCD8
2012-12-21 15:52:45 +00:00
W_MOVEMENUTYPE EQU $ CCDB ; 0=regular, 1=mimic, 2=above message box (relearn, heal pp..)
2012-01-23 21:34:33 +00:00
W_PLAYERSELECTEDMOVE EQU $ CCDC
W_ENEMYSELECTEDMOVE EQU $ CCDD
2012-01-24 18:13:58 +00:00
W_ENEMYMOVELISTINDEX EQU $ CCE2
2011-12-13 01:48:35 +00:00
W_AICOUNT EQU $ CCDF ; number of times remaining that AI action can occur
2012-01-24 12:49:20 +00:00
; stat modifiers for the player's current pokemon
; value can range from 1 - 13 ($1 to $D)
; 7 is normal
W_PLAYERMONATTACKMOD EQU $ CD1A
W_PLAYERMONDEFENSEMOD EQU $ CD1B
W_PLAYERMONSPEEDMOD EQU $ CD1C
W_PLAYERMONSPECIALMOD EQU $ CD1D
W_PLAYERMONACCURACYMOD EQU $ CD1E
W_PLAYERMONEVASIONMOD EQU $ CD1F
2013-04-07 02:01:08 +00:00
W_ENGAGEDTRAINERCLASS EQU $ CD2D
W_ENGAGEDTRAINERSETNUM EQU $ CD2E
2012-01-24 12:49:20 +00:00
; stat modifiers for the enemy's current pokemon
; value can range from 1 - 13 ($1 to $D)
; 7 is normal
W_ENEMYMONATTACKMOD EQU $ CD2E
W_ENEMYMONDEFENSEMOD EQU $ CD2F
W_ENEMYMONSPEEDMOD EQU $ CD30
W_ENEMYMONSPECIALMOD EQU $ CD31
W_ENEMYMONACCURACYMOD EQU $ CD32
W_ENEMYMONEVASIONMOD EQU $ CD33
2012-01-11 01:16:18 +00:00
W_WHICHTRADE EQU $ CD3D ; which entry from TradeMons to select
2013-04-07 02:01:08 +00:00
W_TRAINERSPRITEOFFSET EQU $ CD3D
W_TRAINERENGAGEDISTANCE EQU $ CD3E
W_TRAINERFACINGDIR EQU $ CD3F
W_TRAINERSCREENYPOS EQU $ CD40
W_TRAINERSCREENXPOS EQU $ CD41
; bit 0: is player engaged by trainer (to avoid being engaged by multiple trainers simultaniously)
W_FLAGS_CD60 EQU $ CD60
; bit 1 means button presses will be ignored for that futton
W_JOYPADFORBIDDENBUTTONSMASK EQU $ CD6B
; second buffer for temporarily saving and restoring current screen's tiles (e.g. if menus are drawn on top)
W_SCREENTILESBACKBUFFER2 EQU $ CD81 ; size $168, to $CEE9
W_HPBARMAXHP EQU $ CEE9
W_HPBAROLDHP EQU $ CEEB
W_HPBARNEWHP EQU $ CEED
W_HPBARDELTA EQU $ CEEF
W_HPBARHPDIFFERENCE EQU $ CEFD
2012-01-11 01:16:18 +00:00
2012-02-01 07:43:28 +00:00
W_ANIMSOUNDID EQU $ CF07 ; sound ID during battle animations
2013-03-17 21:54:12 +00:00
; movement byte 2 of current sprite
W_CURSPRITEMOVEMENT2 EQU $ CF14
2013-04-07 02:01:08 +00:00
W_GYMCITYNAME EQU $ CF5F
W_GYMLEADERNAME EQU $ CF70
2012-01-23 07:42:37 +00:00
W_WHICHPOKEMON EQU $ CF92 ; which pokemon you selected
2012-02-05 23:50:55 +00:00
W_LISTMENUID EQU $ CF94 ; ID used by DisplayListMenuID
2012-01-23 16:12:07 +00:00
W_WALKCOUNTER EQU $ CFC5 ; walk animation counter
2012-01-23 21:34:33 +00:00
W_ENEMYMOVENUM EQU $ CFCC
W_ENEMYMOVEEFFECT EQU $ CFCD
W_ENEMYMOVEPOWER EQU $ CFCE
W_ENEMYMOVETYPE EQU $ CFCF
W_ENEMYMOVEACCURACY EQU $ CFD0
W_ENEMYMOVEMAXPP EQU $ CFD1
W_PLAYERMOVENUM EQU $ CFD2
W_PLAYERMOVEEFFECT EQU $ CFD3
W_PLAYERMOVEPOWER EQU $ CFD4
W_PLAYERMOVETYPE EQU $ CFD5
W_PLAYERMOVEACCURACY EQU $ CFD6
W_PLAYERMOVEMAXPP EQU $ CFD7
2013-04-07 02:01:08 +00:00
W_ENEMYMONID EQU $ CFD8
2013-03-13 14:11:41 +00:00
W_ENEMYMONNAME EQU $ CFDA
2012-01-24 02:26:45 +00:00
W_ENEMYMONCURHP EQU $ CFE6 ; active opponent's hp (16 bits)
W_ENEMYMONNUMBER EQU $ CFE8 ; active opponent's position in team (0 to 5)
W_ENEMYMONSTATUS EQU $ CFE9 ; active opponent's status condition
2010-11-13 06:00:02 +00:00
; bit 0 slp
; bit 1 slp
; bit 2 slp
; bit 3 psn
; bit 4 brn
; bit 5 frz
; bit 6 par
; unused? (XXX confirm)
2013-04-07 02:01:08 +00:00
W_ENEMYMONTYPES EQU $ CFEA
W_ENEMYMONTYPE1 EQU $ CFEA
W_ENEMYMONTYPE2 EQU $ CFEB
W_ENEMYMONMOVES EQU $ CFED
W_ENEMYMONATKDEFIV EQU $ CFF1
W_ENEMYMONSPDSPCIV EQU $ CFF2
W_ENEMYMONLEVEL EQU $ CFF3
W_ENEMYMONMAXHP EQU $ CFF4 ; (16 bits)
W_ENEMYMONATTACK EQU $ CFF6
W_ENEMYMONDEFENSE EQU $ CFF8
W_ENEMYMONSPEED EQU $ CFFA
W_ENEMYMONSPECIAL EQU $ CFFC
W_ENEMYMONPP EQU $ CFFE
W_PLAYERMONNAME EQU $ D009
W_PLAYERMONID EQU $ D014
W_PLAYERMONCURHP EQU $ D015 ; active opponent's hp (16 bits)
2012-01-24 02:26:45 +00:00
W_PLAYERMONSTATUS EQU $ D018 ; the status of the player’ s current monster
2011-12-29 10:31:17 +00:00
; bit 0 slp
; bit 1 slp
; bit 2 slp
; bit 3 psn
; bit 4 brn
; bit 5 frz
; bit 6 par
; unused? (XXX confirm)
2013-04-07 02:01:08 +00:00
W_PLAYERMONTYPES EQU $ D019
W_PLAYERMONTYPE1 EQU $ D019
W_PLAYERMONTYPE2 EQU $ D01A
W_PLAYERMONMOVES EQU $ D01C
W_PLAYERMONIVS EQU $ D020 ; 4x 4 bit: atk, def, spd, spc
W_PLAYERMONLEVEL EQU $ D022
W_PLAYERMONMAXHP EQU $ D023 ; (16 bits)
W_PLAYERMONATK EQU $ D025
W_PLAYERMONDEF EQU $ D027
W_PLAYERMONSPEED EQU $ D029
W_PLAYERMONSPECIAL EQU $ D02B
W_PLAYERMONPP EQU $ D02D
2011-12-29 10:31:17 +00:00
2010-11-13 06:00:02 +00:00
W_TRAINERCLASS EQU $ D031
2011-12-28 03:04:33 +00:00
W_ISINBATTLE EQU $ D057 ; no battle, this is 0
; wild battle, this is 1
; trainer battle, this is 2
2011-12-16 01:05:30 +00:00
2013-04-07 02:01:08 +00:00
W_PLAYERMONSALIVEFLAGS EQU $ D058 ; 6 bit array, 1 if player mon is alive
2010-11-13 06:00:02 +00:00
W_CUROPPONENT EQU $ D059 ; in a wild battle, this is the species of pokemon
2012-01-19 04:17:28 +00:00
; in a trainer battle, this is the trainer class + $C8
2010-11-13 06:00:02 +00:00
2011-12-28 03:04:33 +00:00
W_BATTLETYPE EQU $ D05A ; in normal battle, this is 0
; in old man battle, this is 1
; in safari battle, this is 2
2010-11-13 06:00:02 +00:00
W_LONEATTACKNO EQU $ D05C ; which entry in LoneAttacks to use
2012-12-20 21:19:30 +00:00
W_GYMLEADERNO EQU $ D05C ; it's actually the same thing as ^
2010-11-13 06:00:02 +00:00
W_TRAINERNO EQU $ D05D ; which instance of [youngster, lass, etc] is this?
2012-01-23 21:42:39 +00:00
W_MOVEMISSED EQU $ D05F
2012-01-23 21:34:33 +00:00
; not entirely sure that all these bits are 100% correct
; Battle Status Byte 1
; bit 0 - bide
; bit 1 - thrash / petal dance
; bit 2 - attacking multiple times (e.g. double kick)
; bit 3 - flinch
; bit 4 - charging up for attack
; bit 5 - using multi-turn move (e.g. wrap)
; bit 6 - invulnerable to normal attack (using fly/dig)
; bit 7 - confusion
; Battle Status Byte 2
; bit 0 - X Accuracy effect
; bit 1 - protected by "mist"
; bit 2 - focus energy effect
; bit 4 - has a substitute
; bit 5 - need to recharge
; bit 6 - rage
; bit 7 - leech seeded
; Battle Status Byte 3
; bit 0 - toxic
; bit 1 - light screen
; bit 2 - reflect
; bit 3 - tranformed
W_PLAYERBATTSTATUS1 EQU $ D062
W_PLAYERBATTSTATUS2 EQU $ D063
2012-02-16 15:50:01 +00:00
W_PLAYERBATTSTATUS3 EQU $ D064
2012-01-23 21:34:33 +00:00
W_ENEMYBATTSTATUS1 EQU $ D067
W_ENEMYBATTSTATUS2 EQU $ D068
W_ENEMYBATTSTATUS3 EQU $ D069
W_PLAYERTOXICCOUNTER EQU $ D06C
W_PLAYERDISABLEDMOVE EQU $ D06D
W_ENEMYTOXICCOUNTER EQU $ D071
W_ENEMYDISABLEDMOVE EQU $ D072
2011-12-29 07:24:28 +00:00
W_NUMHITS EQU $ D074 ; number of hits in attacks like Doubleslap, etc.
2012-02-01 07:43:28 +00:00
W_ANIMATIONID EQU $ D07C ; ID number of the current battle animation
; base coordinates of frame block
W_BASECOORDX EQU $ D081
W_BASECOORDY EQU $ D082
W_FBTILECOUNTER EQU $ D084 ; counts how many tiles of the current frame block have been drawn
W_SUBANIMFRAMEDELAY EQU $ D086 ; duration of each frame of the current subanimation in terms of screen refreshes
2012-02-02 05:47:44 +00:00
W_SUBANIMCOUNTER EQU $ D087 ; counts the number of subentries left in the current subanimation
2012-02-01 07:43:28 +00:00
W_NUMFBTILES EQU $ D089 ; number of tiles in current battle animation frame block
W_SUBANIMTRANSFORM EQU $ D08B ; controls what transformations are applied to the subanimation
; 01: flip horizontally and vertically
; 02: flip horizontally and translate downwards 40 pixels
; 03: translate base coordinates of frame blocks, but don't change their internal coordinates or flip their tiles
; 04: reverse the subanimation
2013-04-07 02:01:08 +00:00
W_PBSTOREDREGISTERH EQU $ D08C
W_PBSTOREDREGISTERL EQU $ D08D
W_PBSTOREDREGISTERD EQU $ D08E
W_PBSTOREDREGISTERE EQU $ D08F
W_PBSTOREDROMBANK EQU $ D092
2012-02-01 07:43:28 +00:00
W_SUBANIMADDRPTR EQU $ D094 ; the address _of the address_ of the current subanimation entry (2 bytes)
W_SUBANIMSUBENTRYADDR EQU $ D096 ; the address of the current subentry of the current subanimation (2 bytes)
W_FBDESTADDR EQU $ D09C ; current destination address in OAM for frame blocks (2 bytes, big endian)
W_FBMODE EQU $ D09E ; controls how the frame blocks are put together to form frames
; specifically, after finishing drawing the frame block, the frame block's mode determines what happens
; 00: clean OAM buffer and delay
; 02: move onto the next frame block with no delay and no cleaning OAM buffer
; 03: delay, but don't clean OAM buffer
; 04: delay, without cleaning OAM buffer, and do not advance [W_FBDESTADDR], so that the next frame block will overwrite this one
2013-03-13 14:11:41 +00:00
; sprite data is written column by column, each byte contains 8 columns (one for ech bit)
; for 2bpp sprites, pairs of two consecutive bytes (i.e. pairs of consecutive rows of sprite data)
; contain the upper and lower bit of each of the 8 pixels, respectively
SPRITEBUFFERSIZE EQU $ 188 ; 7 * 7 (tiles) * 8 (bytes per tile)
S_SPRITEBUFFER0 EQU $ A000 + 0 * SP RITEBUFFERSIZE
S_SPRITEBUFFER1 EQU $ A000 + 1 * SP RITEBUFFERSIZE
S_SPRITEBUFFER2 EQU $ A000 + 2 * SP RITEBUFFERSIZE
W_SPRITECURPOSX EQU $ D0A1
W_SPRITECURPOSY EQU $ D0A2
W_SPRITEWITDH EQU $ D0A3
W_SPRITEHEIGHT EQU $ D0A4
W_SPRITEINPUTCURBYTE EQU $ D0A5 ; current input byte
W_SPRITEINPUTBITCOUNTER EQU $ D0A6 ; bit offset of last read input bit
; determines where in the output byte the two bits are placed. Each byte contains four columns (2bpp data)
; 3 -> XX000000 1st column
; 2 -> 00XX0000 2nd column
; 1 -> 0000XX00 3rd column
; 0 -> 000000XX 4th column
W_SPRITEOUTPUTBITOFFSET EQU $ D0A7
; bit 0 determines used buffer (0 -> $a188, 1 -> $a310)
; bit 1 loading last sprite chunk? (there are at most 2 chunks per load operation)
W_SPRITELOADFLAGS EQU $ D0A8
W_SPRITEUNPACKMODE EQU $ D0A9
W_SPRITEFLIPPED EQU $ D0AA
W_SPRITEINPUTPTR EQU $ D0AB ; pointer to next input byte
W_SPRITEOUTPUTPTR EQU $ D0AD ; pointer to current output byte
W_SPRITEOUTPUTPTRCACHED EQU $ D0AF ; used to revert pointer for different bit offsets
W_SPRITEDECODETABLE0PTR EQU $ D0B1 ; pointer to differential decoding table (assuming initial value 0)
W_SPRITEDECODETABLE1PTR EQU $ D0B3 ; pointer to differential decoding table (assuming initial value 1)
H_SPRITEWIDTH EQU $ FF8B ; in bytes
H_SPRITEINTERLACECOUNTER EQU $ FF8B
H_SPRITEHEIGHT EQU $ FF8C ; in bytes
H_SPRITEOFFSET EQU $ FF8D
2012-01-24 02:26:45 +00:00
2013-03-17 21:54:12 +00:00
; OAM flags used by this game
OAMFLAG_ENDOFDATA EQU % 00000001 ; pseudo OAM flag, only used by game logic
OAMFLAG_CANBEMASKED EQU % 00000010 ; pseudo OAM flag, only used by game logic
OAMFLAG_VFLIPPED EQU % 00100000 ; OAM flag flips the sprite vertically. Used for making left facing sprites face right and to alternate between left and right foot animation when walking up or down
2011-12-28 02:33:41 +00:00
; List type
; used in $D0B6
2013-03-13 14:11:41 +00:00
W_LISTTYPE EQU $ D0B6
2011-12-28 02:33:41 +00:00
MONSTER_NAME EQU 1
MOVE_NAME EQU 2
; ???_NAME EQU 3
ITEM_NAME EQU 4
PLAYEROT_NAME EQU 5
ENEMYOT_NAME EQU 6
TRAINER_NAME EQU 7
2013-03-13 14:11:41 +00:00
W_MONHEADER EQU $ d0b8
W_MONHDEXNUM EQU $ d0b8
W_MONHBASESTATS EQU $ d0b9
;W_MONHBASEHP EQU $d0b9
;W_MONHBASEATTACK EQU $d0ba
;W_MONHBASEDEFENSE EQU $d0bb
W_MONHBASESPEED EQU $ d0bc
;W_MONHBASESPECIAL EQU $d0bd
W_MONHTYPES EQU $ d0be
W_MONHTYPE1 EQU $ d0be
W_MONHTYPE2 EQU $ d0bf
W_MONHCATCHRATE EQU $ d0c0
;W_MONHBASEXP EQU $d0c1
W_MONHSPRITEDIM EQU $ d0c2
W_MONHFRONTSPRITE EQU $ d0c3
W_MONHBACKSPRITE EQU $ d0c5
W_MONHMOVES EQU $ d0c7
;W_MONHMOVE1 EQU $d0c7
;W_MONHMOVE2 EQU $d0c8
;W_MONHMOVE3 EQU $d0c9
;W_MONHMOVE4 EQU $d0ca
W_MONHGROWTHRATE EQU $ d0cb
W_MONHLEARNSET EQU $ d0cc ; bit field, 7 bytes
;W_MONHPADDING EQU $d0d7
W_DAMAGE EQU $ D0D7
2010-11-13 06:00:02 +00:00
W_CURENEMYLVL EQU $ D127
W_ISLINKBATTLE EQU $ D12B
2012-01-08 22:45:46 +00:00
W_PRIZE1 EQU $ D13D
W_PRIZE2 EQU $ D13E
W_PRIZE3 EQU $ D13F
2011-12-27 23:31:22 +00:00
W_PLAYERNAME EQU $ D158 ; 11 characters, including null
2011-12-28 03:04:33 +00:00
W_NUMINPARTY EQU $ D163
2012-01-19 20:54:00 +00:00
W_PARTYMON1 EQU $ D164
W_PARTYMON2 EQU $ D165
W_PARTYMON3 EQU $ D166
W_PARTYMON4 EQU $ D167
W_PARTYMON5 EQU $ D168
W_PARTYMON6 EQU $ D169
W_PARTYMONEND EQU $ D16A
W_PARTYMON1DATA EQU $ D16B
W_PARTYMON1_NUM EQU $ D16B
W_PARTYMON1_HP EQU $ D16C
W_PARTYMON1_BOXLEVEL EQU $ D16E
W_PARTYMON1_STATUS EQU $ D16F
W_PARTYMON1_TYPE1 EQU $ D170
W_PARTYMON1_TYPE2 EQU $ D171
W_PARTYMON1_CRATE EQU $ D172
W_PARTYMON1_MOVE1 EQU $ D173
W_PARTYMON1_MOVE2 EQU $ D174
W_PARTYMON1_MOVE3 EQU $ D175
W_PARTYMON1_MOVE4 EQU $ D176
W_PARTYMON1_OTID EQU $ D177
W_PARTYMON1_EXP EQU $ D179
W_PARTYMON1_EVHP EQU $ D17C
W_PARTYMON1_EVATTACK EQU $ D17E
W_PARTYMON1_EVDEFENSE EQU $ D180
W_PARTYMON1_EVSPEED EQU $ D182
W_PARTYMON1_EVSECIAL EQU $ D184
W_PARTYMON1_IV EQU $ D186
W_PARTYMON1_MOVE1PP EQU $ D188
W_PARTYMON1_MOVE2PP EQU $ D189
W_PARTYMON1_MOVE3PP EQU $ D18A
W_PARTYMON1_MOVE4PP EQU $ D18B
W_PARTYMON1_LEVEL EQU $ D18C
W_PARTYMON1_MAXHP EQU $ D18D
W_PARTYMON1_ATACK EQU $ D18F
W_PARTYMON1_DEFENSE EQU $ D191
W_PARTYMON1_SPEED EQU $ D193
W_PARTYMON1_SPECIAL EQU $ D195
W_PARTYMON2DATA EQU $ D197
W_PARTYMON2_NUM EQU $ D197
W_PARTYMON2_HP EQU $ D198
W_PARTYMON2_BOXLEVEL EQU $ D19A
W_PARTYMON2_STATUS EQU $ D19B
W_PARTYMON2_TYPE1 EQU $ D19C
W_PARTYMON2_TYPE2 EQU $ D19D
W_PARTYMON2_CRATE EQU $ D19E
W_PARTYMON2_MOVE1 EQU $ D19F
W_PARTYMON2_MOVE2 EQU $ D1A0
W_PARTYMON2_MOVE3 EQU $ D1A1
W_PARTYMON2_MOVE4 EQU $ D1A2
W_PARTYMON2_OTID EQU $ D1A3
W_PARTYMON2_EXP EQU $ D1A5
W_PARTYMON2_EVHP EQU $ D1A8
W_PARTYMON2_EVATTACK EQU $ D1AA
W_PARTYMON2_EVDEFENSE EQU $ D1AC
W_PARTYMON2_EVSPEED EQU $ D1AE
W_PARTYMON2_EVSECIAL EQU $ D1B0
W_PARTYMON2_IV EQU $ D1B2
W_PARTYMON2_MOVE1PP EQU $ D1B4
W_PARTYMON2_MOVE2PP EQU $ D1B5
W_PARTYMON2_MOVE3PP EQU $ D1B6
W_PARTYMON2_MOVE4PP EQU $ D1B7
W_PARTYMON2_LEVEL EQU $ D1B8
W_PARTYMON2_MAXHP EQU $ D1B9
W_PARTYMON2_ATACK EQU $ D1BB
W_PARTYMON2_DEFENSE EQU $ D1BD
W_PARTYMON2_SPEED EQU $ D1BF
W_PARTYMON2_SPECIAL EQU $ D1C1
W_PARTYMON3DATA EQU $ D1C3
W_PARTYMON3_NUM EQU $ D1C3
W_PARTYMON3_HP EQU $ D1C4
W_PARTYMON3_BOXLEVEL EQU $ D1C6
W_PARTYMON3_STATUS EQU $ D1C7
W_PARTYMON3_TYPE1 EQU $ D1C8
W_PARTYMON3_TYPE2 EQU $ D1C9
W_PARTYMON3_CRATE EQU $ D1CA
W_PARTYMON3_MOVE1 EQU $ D1CB
W_PARTYMON3_MOVE2 EQU $ D1CC
W_PARTYMON3_MOVE3 EQU $ D1CD
W_PARTYMON3_MOVE4 EQU $ D1CE
W_PARTYMON3_OTID EQU $ D1CF
W_PARTYMON3_EXP EQU $ D1D1
W_PARTYMON3_EVHP EQU $ D1D4
W_PARTYMON3_EVATTACK EQU $ D1D6
W_PARTYMON3_EVDEFENSE EQU $ D1D8
W_PARTYMON3_EVSPEED EQU $ D1DA
W_PARTYMON3_EVSECIAL EQU $ D1DC
W_PARTYMON3_IV EQU $ D1DE
W_PARTYMON3_MOVE1PP EQU $ D1E0
W_PARTYMON3_MOVE2PP EQU $ D1E1
W_PARTYMON3_MOVE3PP EQU $ D1E2
W_PARTYMON3_MOVE4PP EQU $ D1E3
W_PARTYMON3_LEVEL EQU $ D1E4
W_PARTYMON3_MAXHP EQU $ D1E5
W_PARTYMON3_ATACK EQU $ D1E7
W_PARTYMON3_DEFENSE EQU $ D1E9
W_PARTYMON3_SPEED EQU $ D1EB
W_PARTYMON3_SPECIAL EQU $ D1ED
W_PARTYMON4DATA EQU $ D1EF
W_PARTYMON4_NUM EQU $ D1EF
W_PARTYMON4_HP EQU $ D1F0
W_PARTYMON4_BOXLEVEL EQU $ D1F2
W_PARTYMON4_STATUS EQU $ D1F3
W_PARTYMON4_TYPE1 EQU $ D1F4
W_PARTYMON4_TYPE2 EQU $ D1F5
W_PARTYMON4_CRATE EQU $ D1F6
W_PARTYMON4_MOVE1 EQU $ D1F7
W_PARTYMON4_MOVE2 EQU $ D1F8
W_PARTYMON4_MOVE3 EQU $ D1F9
W_PARTYMON4_MOVE4 EQU $ D1FA
W_PARTYMON4_OTID EQU $ D1FB
W_PARTYMON4_EXP EQU $ D1FD
W_PARTYMON4_EVHP EQU $ D200
W_PARTYMON4_EVATTACK EQU $ D202
W_PARTYMON4_EVDEFENSE EQU $ D204
W_PARTYMON4_EVSPEED EQU $ D206
W_PARTYMON4_EVSECIAL EQU $ D208
W_PARTYMON4_IV EQU $ D20A
W_PARTYMON4_MOVE1PP EQU $ D20C
W_PARTYMON4_MOVE2PP EQU $ D20D
W_PARTYMON4_MOVE3PP EQU $ D20E
W_PARTYMON4_MOVE4PP EQU $ D20F
W_PARTYMON4_LEVEL EQU $ D210
W_PARTYMON4_MAXHP EQU $ D211
W_PARTYMON4_ATACK EQU $ D213
W_PARTYMON4_DEFENSE EQU $ D215
W_PARTYMON4_SPEED EQU $ D217
W_PARTYMON4_SPECIAL EQU $ D219
W_PARTYMON5DATA EQU $ D21B
W_PARTYMON5_NUM EQU $ D21B
W_PARTYMON5_HP EQU $ D21C
W_PARTYMON5_BOXLEVEL EQU $ D21E
W_PARTYMON5_STATUS EQU $ D21F
W_PARTYMON5_TYPE1 EQU $ D220
W_PARTYMON5_TYPE2 EQU $ D221
W_PARTYMON5_CRATE EQU $ D222
W_PARTYMON5_MOVE1 EQU $ D223
W_PARTYMON5_MOVE2 EQU $ D224
W_PARTYMON5_MOVE3 EQU $ D225
W_PARTYMON5_MOVE4 EQU $ D226
W_PARTYMON5_OTID EQU $ D227
W_PARTYMON5_EXP EQU $ D229
W_PARTYMON5_EVHP EQU $ D22C
W_PARTYMON5_EVATTACK EQU $ D22E
W_PARTYMON5_EVDEFENSE EQU $ D230
W_PARTYMON5_EVSPEED EQU $ D232
W_PARTYMON5_EVSECIAL EQU $ D234
W_PARTYMON5_IV EQU $ D236
W_PARTYMON5_MOVE1PP EQU $ D238
W_PARTYMON5_MOVE2PP EQU $ D239
W_PARTYMON5_MOVE3PP EQU $ D23A
W_PARTYMON5_MOVE4PP EQU $ D23B
W_PARTYMON5_LEVEL EQU $ D23C
W_PARTYMON5_MAXHP EQU $ D23D
W_PARTYMON5_ATACK EQU $ D23F
W_PARTYMON5_DEFENSE EQU $ D241
W_PARTYMON5_SPEED EQU $ D243
W_PARTYMON5_SPECIAL EQU $ D245
W_PARTYMON6DATA EQU $ D247
W_PARTYMON6_NUM EQU $ D247
W_PARTYMON6_HP EQU $ D248
W_PARTYMON6_BOXLEVEL EQU $ D24A
W_PARTYMON6_STATUS EQU $ D24B
W_PARTYMON6_TYPE1 EQU $ D24C
W_PARTYMON6_TYPE2 EQU $ D24D
W_PARTYMON6_CRATE EQU $ D24E
W_PARTYMON6_MOVE1 EQU $ D24F
W_PARTYMON6_MOVE2 EQU $ D250
W_PARTYMON6_MOVE3 EQU $ D251
W_PARTYMON6_MOVE4 EQU $ D252
W_PARTYMON6_OTID EQU $ D253
W_PARTYMON6_EXP EQU $ D255
W_PARTYMON6_EVHP EQU $ D258
W_PARTYMON6_EVATTACK EQU $ D25A
W_PARTYMON6_EVDEFENSE EQU $ D25C
W_PARTYMON6_EVSPEED EQU $ D25E
W_PARTYMON6_EVSECIAL EQU $ D260
W_PARTYMON6_IV EQU $ D262
W_PARTYMON6_MOVE1PP EQU $ D264
W_PARTYMON6_MOVE2PP EQU $ D265
W_PARTYMON6_MOVE3PP EQU $ D266
W_PARTYMON6_MOVE4PP EQU $ D267
W_PARTYMON6_LEVEL EQU $ D268
W_PARTYMON6_MAXHP EQU $ D269
W_PARTYMON6_ATACK EQU $ D26B
W_PARTYMON6_DEFENSE EQU $ D26D
W_PARTYMON6_SPEED EQU $ D26F
W_PARTYMON6_SPECIAL EQU $ D271
W_PARTYMON1OT EQU $ D273
W_PARTYMON2OT EQU $ D27E
W_PARTYMON3OT EQU $ D289
W_PARTYMON4OT EQU $ D294
W_PARTYMON5OT EQU $ D29F
W_PARTYMON6OT EQU $ D2AA
W_PARTYMON1NAME EQU $ D2B5
W_PARTYMON2NAME EQU $ D2C0
W_PARTYMON3NAME EQU $ D2CB
W_PARTYMON4NAME EQU $ D2D6
W_PARTYMON5NAME EQU $ D2E1
W_PARTYMON6NAME EQU $ D2EC
2013-04-07 02:01:08 +00:00
W_OWNEDPOKEMON EQU $ D2F7 ; bit field, 19 bytes
W_SEENPOKEMON EQU $ D30A ; bit field, 19 bytes
;number of items in bag
W_NUMBAGITEMS EQU $ D31D
; BAGITEM01 is an item id
; BAGCOUNT01 is how many of this item
W_BAGITEM01 EQU $ D31E
W_BAGITEM01QTY EQU $ D31F
W_BAGITEM02 EQU $ D320
W_BAGITEM02QTY EQU $ D321
W_BAGITEM03 EQU $ D322
W_BAGITEM03QTY EQU $ D323
W_BAGITEM04 EQU $ D324
W_BAGITEM04QTY EQU $ D325
W_BAGITEM05 EQU $ D326
W_BAGITEM05QTY EQU $ D327
W_BAGITEM06 EQU $ D328
W_BAGITEM06QTY EQU $ D329
W_BAGITEM07 EQU $ D32A
W_BAGITEM07QTY EQU $ D32B
W_BAGITEM08 EQU $ D32C
W_BAGITEM08QTY EQU $ D32D
W_BAGITEM09 EQU $ D32E
W_BAGITEM09QTY EQU $ D32F
W_BAGITEM10 EQU $ D330
W_BAGITEM10QTY EQU $ D331
W_BAGITEM11 EQU $ D332
W_BAGITEM11QTY EQU $ D333
W_BAGITEM12 EQU $ D334
W_BAGITEM12QTY EQU $ D335
W_BAGITEM13 EQU $ D336
W_BAGITEM13QTY EQU $ D337
W_BAGITEM14 EQU $ D338
W_BAGITEM14QTY EQU $ D339
W_BAGITEM15 EQU $ D33A
W_BAGITEM15QTY EQU $ D33B
W_BAGITEM16 EQU $ D33C
W_BAGITEM16QTY EQU $ D33D
W_BAGITEM17 EQU $ D33E
W_BAGITEM17QTY EQU $ D33F
W_BAGITEM18 EQU $ D340
W_BAGITEM18QTY EQU $ D341
W_BAGITEM19 EQU $ D342
W_BAGITEM19QTY EQU $ D343
W_BAGITEM20 EQU $ D344
W_BAGITEM20QTY EQU $ D345
; money is in decimal
W_PLAYERMONEY3 EQU $ D347
W_PLAYERMONEY2 EQU $ D348
W_PLAYERMONEY1 EQU $ D349
2011-12-27 23:31:22 +00:00
W_RIVALNAME EQU $ D34A ; 11 characters, including null
2012-02-13 00:28:29 +00:00
W_OPTIONS EQU $ D355
; bit 7 = battle animation
; 0: On
; 1: Off
; bit 6 = battle style
; 0: Shift
; 1: Set
; bits 0-3 = text speed (number of frames to delay after printing a letter)
; 1: Fast
; 3: Medium
; 5: Slow
2012-02-10 08:18:16 +00:00
W_OBTAINEDBADGES EQU $ D356
2012-01-19 20:56:37 +00:00
W_PLAYERIDHI EQU $ D359
W_PLAYERIDLO EQU $ D35A
2010-11-13 06:00:02 +00:00
W_CURMAP EQU $ D35E
2011-12-26 23:43:05 +00:00
W_YCOORD EQU $ D361 ; player’ s position on the current map
2011-11-14 09:48:50 +00:00
W_XCOORD EQU $ D362
2012-01-21 02:47:40 +00:00
W_YBLOCKCOORD EQU $ D363 ; player's y position (by block)
W_XBLOCKCOORD EQU $ D364
W_CURMAPTILESET EQU $ D367
W_CURMAPHEIGHT EQU $ D368 ; blocks
W_CURMAPWIDTH EQU $ D369 ; blocks
2011-11-14 09:48:50 +00:00
2012-01-14 18:11:48 +00:00
W_MAPDATAPTR EQU $ D36A
W_MAPTEXTPTR EQU $ D36C
W_MAPSCRIPTPTR EQU $ D36E
2012-01-21 02:47:40 +00:00
W_MAPCONNECTIONS EQU $ D370 ; connection byte
W_MAPCONN1PTR EQU $ D371
W_MAPCONN2PTR EQU $ D37C
W_MAPCONN3PTR EQU $ D387
W_MAPCONN4PTR EQU $ D392
2012-01-14 18:11:48 +00:00
2012-02-20 21:57:06 +00:00
W_SPRITESET EQU $ D39D ; sprite set for the current map (11 sprite picture ID's)
W_SPRITESETID EQU $ D3A8 ; sprite set ID for the current map
W_NUMSPRITES EQU $ D4E1 ; number of sprites on the current map
2013-03-17 21:54:12 +00:00
; two bytes per sprite (movement byte 2 , text ID)
W_MAPSPRITEDATA EQU $ D4e4
; two bytes per sprite (trainer class/item ID , trainer set ID)
W_MAPSPRITEEXTRADATA EQU $ D504
W_TILESETBANK EQU $ D52B
W_TILESETBLOCKSPTR EQU $ D52C ; maps blocks (4x4 tiles) to it's tiles
W_TILESETGFXPTR EQU $ D52E
W_TILESETCOLLISIONPTR EQU $ D530 ; list of all walkable tiles
W_TILESETTALKINGOVERTILES EQU $ D532 ; 3 bytes
W_GRASSTILE EQU $ D535
2012-01-14 18:11:48 +00:00
2012-01-19 20:31:17 +00:00
;number of items in box
W_NUMBOXITEMS EQU $ D53A
2012-01-19 21:46:44 +00:00
; BOXITEM01 is an item id
; BOXITEM01QTY is how many of this item
W_BOXITEM01 EQU $ D53B
W_BOXITEM01QTY EQU $ D53C
W_BOXITEM02 EQU $ D53D
W_BOXITEM02QTY EQU $ D53E
W_BOXITEM03 EQU $ D53F
W_BOXITEM03QTY EQU $ D540
W_BOXITEM04 EQU $ D541
W_BOXITEM04QTY EQU $ D542
W_BOXITEM05 EQU $ D543
W_BOXITEM05QTY EQU $ D544
W_BOXITEM06 EQU $ D545
W_BOXITEM06QTY EQU $ D546
W_BOXITEM07 EQU $ D547
W_BOXITEM07QTY EQU $ D548
W_BOXITEM08 EQU $ D549
W_BOXITEM08QTY EQU $ D54A
W_BOXITEM09 EQU $ D54B
W_BOXITEM09QTY EQU $ D54C
W_BOXITEM10 EQU $ D54D
W_BOXITEM10QTY EQU $ D54E
W_BOXITEM11 EQU $ D54F
W_BOXITEM11QTY EQU $ D550
W_BOXITEM12 EQU $ D551
W_BOXITEM12QTY EQU $ D552
W_BOXITEM13 EQU $ D553
W_BOXITEM13QTY EQU $ D554
W_BOXITEM14 EQU $ D555
W_BOXITEM14QTY EQU $ D556
W_BOXITEM15 EQU $ D557
W_BOXITEM15QTY EQU $ D558
W_BOXITEM16 EQU $ D559
W_BOXITEM16QTY EQU $ D55A
W_BOXITEM17 EQU $ D55B
W_BOXITEM17QTY EQU $ D55C
W_BOXITEM18 EQU $ D55D
W_BOXITEM18QTY EQU $ D55E
W_BOXITEM19 EQU $ D55F
W_BOXITEM19QTY EQU $ D560
W_BOXITEM20 EQU $ D561
W_BOXITEM20QTY EQU $ D562
W_BOXITEM21 EQU $ D563
W_BOXITEM21QTY EQU $ D564
W_BOXITEM22 EQU $ D565
W_BOXITEM22QTY EQU $ D566
W_BOXITEM23 EQU $ D567
W_BOXITEM23QTY EQU $ D568
W_BOXITEM24 EQU $ D569
W_BOXITEM24QTY EQU $ D56A
W_BOXITEM25 EQU $ D56B
W_BOXITEM25QTY EQU $ D56C
W_BOXITEM26 EQU $ D56D
W_BOXITEM26QTY EQU $ D56E
W_BOXITEM27 EQU $ D56F
W_BOXITEM27QTY EQU $ D570
W_BOXITEM28 EQU $ D571
W_BOXITEM28QTY EQU $ D572
W_BOXITEM29 EQU $ D573
W_BOXITEM29QTY EQU $ D574
W_BOXITEM30 EQU $ D575
W_BOXITEM30QTY EQU $ D576
W_BOXITEM31 EQU $ D577
W_BOXITEM31QTY EQU $ D578
W_BOXITEM32 EQU $ D579
W_BOXITEM32QTY EQU $ D57A
W_BOXITEM33 EQU $ D57B
W_BOXITEM33QTY EQU $ D57C
W_BOXITEM34 EQU $ D57D
W_BOXITEM34QTY EQU $ D57E
W_BOXITEM35 EQU $ D57F
W_BOXITEM35QTY EQU $ D580
W_BOXITEM36 EQU $ D581
W_BOXITEM36QTY EQU $ D582
W_BOXITEM37 EQU $ D583
W_BOXITEM37QTY EQU $ D584
W_BOXITEM38 EQU $ D585
W_BOXITEM38QTY EQU $ D586
W_BOXITEM39 EQU $ D587
W_BOXITEM39QTY EQU $ D588
W_BOXITEM40 EQU $ D589
W_BOXITEM40QTY EQU $ D58A
W_BOXITEM41 EQU $ D58B
W_BOXITEM41QTY EQU $ D58C
W_BOXITEM42 EQU $ D58D
W_BOXITEM42QTY EQU $ D58E
W_BOXITEM43 EQU $ D58F
W_BOXITEM43QTY EQU $ D590
W_BOXITEM44 EQU $ D591
W_BOXITEM44QTY EQU $ D592
W_BOXITEM45 EQU $ D593
W_BOXITEM45QTY EQU $ D594
W_BOXITEM46 EQU $ D595
W_BOXITEM46QTY EQU $ D596
W_BOXITEM47 EQU $ D597
W_BOXITEM47QTY EQU $ D598
W_BOXITEM48 EQU $ D599
W_BOXITEM48QTY EQU $ D59A
W_BOXITEM49 EQU $ D59B
W_BOXITEM49QTY EQU $ D59C
W_BOXITEM50 EQU $ D59D
W_BOXITEM50QTY EQU $ D59E
2012-01-19 20:31:17 +00:00
;box end of list $D59F
2013-04-07 02:01:08 +00:00
; coins are in decimal
W_PLAYERCOINS1 EQU $ D5A4
W_PLAYERCOINS2 EQU $ D5A5
2013-03-17 21:54:12 +00:00
W_MISSABLEOBJECTFLAGS EQU $ D5A6 ; $20 bytes, bit array of missable objects. bit 1 = removed
; each entry consists of 2 bytes
; * the sprite ID (depending on the current map)
; * the missable object index (global, used for W_MISSABLEOBJECTFLAGS)
; terminated with $FF
W_MISSABLEOBJECTLIST EQU $ D5CE
2013-04-07 02:01:08 +00:00
W_GAMEPROGRESSFLAGS EQU $ D5F0 ; $c8 bytes
W_OAKSLABCURSCRIPT EQU $ D5F0
W_PALLETTOWNCURSCRIPT EQU $ D5F1
W_BLUESHOUSECURSCRIPT EQU $ D5F3
W_VIRIDIANCITYCURSCRIPT EQU $ D5F4
W_PEWTERCITYCURSCRIPT EQU $ D5F7
W_ROUTE3CURSCRIPT EQU $ D5F8
W_ROUTE4CURSCRIPT EQU $ D5F9
W_VIRIDIANGYMCURSCRIPT EQU $ D5FB
W_PEWTERGYMCURSCRIPT EQU $ D5FC
W_CERULEANGYMCURSCRIPT EQU $ D5FD
W_VERMILIONGYMCURSCRIPT EQU $ D5FE
W_CELADONGYMCURSCRIPT EQU $ D5FF
W_ROUTE6CURSCRIPT EQU $ D600
W_ROUTE8CURSCRIPT EQU $ D601
W_ROUTE24CURSCRIPT EQU $ D602
W_ROUTE25CURSCRIPT EQU $ D603
W_ROUTE9CURSCRIPT EQU $ D604
W_ROUTE10CURSCRIPT EQU $ D605
W_MTMOON1CURSCRIPT EQU $ D606
W_MTMOON3CURSCRIPT EQU $ D607
W_SSANNE8CURSCRIPT EQU $ D608
W_SSANNE9CURSCRIPT EQU $ D609
W_ROUTE22CURSCRIPT EQU $ D60A
W_REDSHOUSE2CURSCRIPT EQU $ D60C
W_VIRIDIANMARKETCURSCRIPT EQU $ D60D
W_ROUTE22GATECURSCRIPT EQU $ D60E
W_CERULEANCITYCURSCRIPT EQU $ D60F
W_SSANNE5CURSCRIPT EQU $ D617
W_VIRIDIANFORESTCURSCRIPT EQU $ D618
W_MUSEUMF1CURSCRIPT EQU $ D619
W_ROUTE13CURSCRIPT EQU $ D61A
W_ROUTE14CURSCRIPT EQU $ D61B
W_ROUTE17CURSCRIPT EQU $ D61C
W_ROUTE19CURSCRIPT EQU $ D61D
W_ROUTE21CURSCRIPT EQU $ D61E
W_SAFARIZONEENTRANCECURSCRIPT EQU $ D61F
W_ROCKTUNNEL2CURSCRIPT EQU $ D620
W_ROCKTUNNEL1CURSCRIPT EQU $ D621
W_ROUTE11CURSCRIPT EQU $ D623
W_ROUTE12CURSCRIPT EQU $ D624
W_ROUTE15CURSCRIPT EQU $ D625
W_ROUTE16CURSCRIPT EQU $ D626
W_ROUTE18CURSCRIPT EQU $ D627
W_ROUTE20CURSCRIPT EQU $ D628
W_SSANNE10CURSCRIPT EQU $ D629
W_VERMILIONCITYCURSCRIPT EQU $ D62A
W_POKEMONTOWER2CURSCRIPT EQU $ D62B
W_POKEMONTOWER3CURSCRIPT EQU $ D62C
W_POKEMONTOWER4CURSCRIPT EQU $ D62D
W_POKEMONTOWER5CURSCRIPT EQU $ D62E
W_POKEMONTOWER6CURSCRIPT EQU $ D62F
W_POKEMONTOWER7CURSCRIPT EQU $ D630
W_ROCKETHIDEOUT1CURSCRIPT EQU $ D631
W_ROCKETHIDEOUT2CURSCRIPT EQU $ D632
W_ROCKETHIDEOUT3CURSCRIPT EQU $ D633
W_ROCKETHIDEOUT4CURSCRIPT EQU $ D634
W_ROUTE6GATECURSCRIPT EQU $ D636
W_ROUTE8GATECURSCRIPT EQU $ D637
W_CINNABARISLANDCURSCRIPT EQU $ D639
W_MANSION1CURSCRIPT EQU $ D63A
W_MANSION2CURSCRIPT EQU $ D63C
W_MANSION3CURSCRIPT EQU $ D63D
W_MANSION4CURSCRIPT EQU $ D63E
W_VICTORYROAD2CURSCRIPT EQU $ D63F
W_VICTORYROAD3CURSCRIPT EQU $ D640
W_FIGHTINGDOJOCURSCRIPT EQU $ D642
W_SILPHCO2CURSCRIPT EQU $ D643
W_SILPHCO3CURSCRIPT EQU $ D644
W_SILPHCO4CURSCRIPT EQU $ D645
W_SILPHCO5CURSCRIPT EQU $ D646
W_SILPHCO6CURSCRIPT EQU $ D647
W_SILPHCO7CURSCRIPT EQU $ D648
W_SILPHCO8CURSCRIPT EQU $ D649
W_SILPHCO9CURSCRIPT EQU $ D64A
W_HALLOFFAMEROOMCURSCRIPT EQU $ D64B
W_GARYCURSCRIPT EQU $ D64C
W_LORELEICURSCRIPT EQU $ D64D
W_BRUNOCURSCRIPT EQU $ D64E
W_AGATHACURSCRIPT EQU $ D64F
W_UNKNOWNDUNGEON3CURSCRIPT EQU $ D650
W_VICTORYROAD1CURSCRIPT EQU $ D651
W_LANCECURSCRIPT EQU $ D653
W_SILPHCO10CURSCRIPT EQU $ D658
W_SILPHCO11CURSCRIPT EQU $ D659
W_FUCHSIAGYMCURSCRIPT EQU $ D65B
W_SAFFRONGYMCURSCRIPT EQU $ D65C
W_CINNABARGYMCURSCRIPT EQU $ D65E
W_CELADONGAMECORNERCURSCRIPT EQU $ D65F
W_ROUTE16GATECURSCRIPT EQU $ D660
W_BILLSHOUSECURSCRIPT EQU $ D661
W_ROUTE5GATECURSCRIPT EQU $ D662
W_POWERPLANTCURSCRIPT EQU $ D663 ; overload
W_ROUTE7GATECURSCRIPT EQU $ D663 ; overload
W_SSANNE2CURSCRIPT EQU $ D665
W_SEAFOAMISLANDS4CURSCRIPT EQU $ D666
W_ROUTE23CURSCRIPT EQU $ D667
W_SEAFOAMISLANDS5CURSCRIPT EQU $ D668
W_ROUTE18GATECURSCRIPT EQU $ D669
2013-03-17 21:54:12 +00:00
W_TOWNVISITEDFLAG EQU $ D70B ; 2 bytes bit array, 1 means visited
2012-01-21 02:47:40 +00:00
W_SAFARITIMER1 EQU $ D70D ; use 01 for maximum
W_SAFARITIMER2 EQU $ D70E ; use F4 for maximum
2013-03-17 21:54:12 +00:00
W_FOSSILITEM EQU $ D70F ; item given to cinnabar lab
W_FOSSILMON EQU $ D710 ; mon that will result from the item
2013-04-07 02:01:08 +00:00
W_ENEMYMONORTRAINERCLASS EQU $ D713 ; trainer classes start at $c8
W_RIVALSTARTER EQU $ D715
W_PLAYERSTARTER EQU $ D717
; bit 4: use variable [W_CURMAPSCRIPT] instead of the provided index for next frame's map script (used to start battle when talking to trainers)
W_FLAGS_D733 EQU $ D733
W_GRASSRATE EQU $ D887
W_GRASSMONS EQU $ D888
W_WATERRATE EQU $ D8A4 ; OVERLOADED
W_WATERMONS EQU $ D8A5 ; OVERLOADED
W_ENEMYMONCOUNT EQU $ D89C
W_ENEMYMON1HP EQU $ D8A5 ; 16 bits
W_ENEMYMON1MOVE3 EQU $ D8AE
W_ENEMYMON2MOVE3 EQU $ D8DA
W_ENEMYMON3MOVE3 EQU $ D906
W_ENEMYMON4MOVE3 EQU $ D932
W_ENEMYMON5MOVE3 EQU $ D95E
W_ENEMYMON6MOVE3 EQU $ D98A
W_ENEMYMON1OT EQU $ D9AC
W_ENEMYMON2OT EQU $ D9B7
W_ENEMYMON3OT EQU $ D9C2
W_ENEMYMON4OT EQU $ D9CD
W_ENEMYMON5OT EQU $ D9D8
W_ENEMYMON6OT EQU $ D9E3
W_ENEMYMON1NAME EQU $ D9EE
W_ENEMYMON2NAME EQU $ D9F9
W_ENEMYMON3NAME EQU $ DA04
W_ENEMYMON4NAME EQU $ DA0F
W_ENEMYMON5NAME EQU $ DA1A
W_ENEMYMON6NAME EQU $ DA25 ; to $da2f
W_TRAINERHEADERPTR EQU $ DA30
; index of current map script, mostly used as index for function pointer array
; mostly copied from map-specific map script pointer and wirtten back later
W_CURMAPSCRIPT EQU $ DA39
W_PLAYTIMEHOURS EQU $ DA40 ; two bytes
W_PLAYTIMEMINUTES EQU $ DA42 ; two bytes
W_PLAYTIMESECONDS EQU $ DA44 ; one byte
W_PLAYTIMEFRAMES EQU $ DA45 ; one byte
W_NUMSAFARIBALLS EQU $ DA47
; number of mons in current box
W_NUMINBOX EQU $ DA80
W_BOXMON1DATA EQU $ DA96
W_BOXMON2DATA EQU $ DAB7
H_SOFTRESETCOUNTER EQU $ FF8A ; initialized to 16, decremented each input iteration if the user presses the reset sequence (A+B+S+s). Soft reset when 0 is reached.
2012-01-26 18:31:04 +00:00
; counters for blinking down arrow
H_DOWNARROWBLINKCNT1 EQU $ FF8B
H_DOWNARROWBLINKCNT2 EQU $ FF8C
2012-01-24 22:20:31 +00:00
; Note: the following multiplication and division addresses are used for multiple purposes
; and so they overlap with each other
H_MULTIPLICAND EQU $ FF96 ; 3 bytes, big endian order
H_MULTIPLIER EQU $ FF99 ; 1 byte
H_PRODUCT EQU $ FF95 ; 4 bytes, big endian order
H_DIVIDEND EQU $ FF95 ; 4 bytes, big endian order
H_DIVISOR EQU $ FF99 ; 1 byte
H_QUOTIENT EQU $ FF95 ; 4 bytes, big endian order
H_REMAINDER EQU $ FF99 ; 1 byte
2012-02-05 01:19:24 +00:00
; used to convert numbers to decimal
H_PASTLEADINGZEROES EQU $ FF95 ; flag to indicate that a nonzero digit has been printed
H_NUMTOPRINT EQU $ FF96 ; 3 bytes, big endian order
H_POWEROFTEN EQU $ FF99 ; 3 bytes, big endian order
H_SAVEDNUMTOPRINT EQU $ FF9C ; 3 bytes, big endian order (to back out of a subtraction)
2013-04-07 02:01:08 +00:00
H_OLDPRESSEDBUTTONS EQU $ FFB1
H_NEWLYRELEASEDBUTTONS EQU $ FFB2
H_NEWLYPRESSEDBUTTONS EQU $ FFB3
H_CURRENTPRESSEDBUTTONS EQU $ FFB4
2013-03-13 14:11:41 +00:00
H_LOADEDROMBANK EQU $ FFB8
2012-01-27 03:26:08 +00:00
; is automatic background transfer during V-blank enabled?
; if nonzero, yes
; if zero, no
H_AUTOBGTRANSFERENABLED EQU $ FFBA
TRANSFERTOP EQU 0
TRANSFERMIDDLE EQU 1
TRANSFERBOTTOM EQU 2
; 00 = top third of background
; 01 = middle third of background
; 02 = bottom third of background
H_AUTOBGTRANSFERPORTION EQU $ FFBB
; the destination address of the automatic background transfer
H_AUTOBGTRANSFERDEST EQU $ FFBC ; 2 bytes
; temporary storage for stack pointer during memory transfers that use pop
; to increase speed
H_SPTEMP EQU $ FFBF ; 2 bytes
; source address for VBlankCopyBgMap function
; the first byte doubles as the byte that enabled the transfer.
; if it is 0, the transfer is disabled
; if it is not 0, the transfer is enabled
; this means that XX00 is not a valid source address
H_VBCOPYBGSRC EQU $ FFC1 ; 2 bytes
; destination address for VBlankCopyBgMap function
H_VBCOPYBGDEST EQU $ FFC3 ; 2 bytes
; number of rows for VBlankCopyBgMap to copy
H_VBCOPYBGNUMROWS EQU $ FFC5
2012-02-04 07:41:43 +00:00
; size of VBlankCopy transfer in 16-byte units
2012-01-27 03:26:08 +00:00
H_VBCOPYSIZE EQU $ FFC6
; source address for VBlankCopy function
H_VBCOPYSRC EQU $ FFC7
; destination address for VBlankCopy function
H_VBCOPYDEST EQU $ FFC9
2012-02-04 07:41:43 +00:00
; size of source data for VBlankCopyDouble in 8-byte units
2012-01-27 03:26:08 +00:00
H_VBCOPYDOUBLESIZE EQU $ FFCB
; source address for VBlankCopyDouble function
H_VBCOPYDOUBLESRC EQU $ FFCC
; destination address for VBlankCopyDouble function
H_VBCOPYDOUBLEDEST EQU $ FFCE
; controls whether a row or column of 2x2 tile blocks is redrawn in V-blank
; 00 = no redraw
; 01 = redraw column
; 02 = redraw row
H_SCREENEDGEREDRAW EQU $ FFD0
REDRAWCOL EQU 1
REDRAWROW EQU 2
H_SCREENEDGEREDRAWADDR EQU $ FFD1
2011-12-13 02:47:20 +00:00
H_RAND1 EQU $ FFD3
H_RAND2 EQU $ FFD4
2012-01-27 03:26:08 +00:00
H_FRAMECOUNTER EQU $ FFD5 ; decremented every V-blank (used for delays)
; V-blank sets this to 0 each time it runs.
; So, by setting it to a nonzero value and waiting for it to become 0 again,
; you can detect that the V-blank handler has run since then.
H_VBLANKOCCURRED EQU $ FFD6
2013-03-17 21:54:12 +00:00
H_CURRENTSPRITEOFFSET EQU $ FFDA ; multiple of $10
2011-12-29 10:37:44 +00:00
H_WHOSETURN EQU $ FFF3 ; 0 on player’ s turn, 1 on enemy’ s turn
2013-04-07 02:01:08 +00:00
H_JOYPADSTATE EQU $ FFF8
2011-04-10 05:30:24 +00:00
; hardware registers, from the pandocs http://nocash.emubase.de/pandocs.htm
2012-01-25 04:14:05 +00:00
rJOYP EQU $ FF00
2011-12-13 02:47:20 +00:00
rDIV EQU $ FF04
2012-01-25 04:14:05 +00:00
rLCDC EQU $ FF40
2012-01-27 03:26:08 +00:00
rSCY EQU $ FF42
rSCX EQU $ FF43
2011-04-10 05:30:24 +00:00
rBGP EQU $ FF47
rOBP0 EQU $ FF48
rOBP1 EQU $ FF49
2012-01-27 03:26:08 +00:00
rWY EQU $ FF4A
rWX EQU $ FF4B
2012-01-25 04:14:05 +00:00
rIE EQU $ FFFF
2011-04-10 05:30:24 +00:00
2013-04-07 02:01:08 +00:00
BTN_A EQU % 00000001
BTN_B EQU % 00000010
BTN_SELECT EQU % 00000100
BTN_START EQU % 00001000
BTN_RIGHT EQU % 00010000
BTN_LEFT EQU % 00100000
BTN_UP EQU % 01000000
BTN_DOWN EQU % 10000000
2012-02-01 07:43:28 +00:00
; OAM attribute flags
OAM_HFLIP EQU % 00100000 ; horizontal flip
OAM_VFLIP EQU % 01000000 ; vertical flip
2010-11-13 06:00:02 +00:00
2012-02-05 23:50:55 +00:00
; list menu ID's
PCPOKEMONLISTMENU EQU $ 00 ; PC pokemon withdraw/deposit lists
MOVESLISTMENU EQU $ 01 ; XXX where is this used?
PRICEDITEMLISTMENU EQU $ 02 ; Pokemart buy menu / Pokemart buy/sell choose quantity menu
ITEMLISTMENU EQU $ 03 ; Start menu Item menu / Pokemart sell menu
2012-02-06 22:12:47 +00:00
SPECIALLISTMENU EQU $ 04 ; list of special "items" e.g. floor list in elevators / list of badges
2012-02-05 23:50:55 +00:00
2010-11-13 06:00:02 +00:00
; pokemon name constants
RHYDON EQU $ 01
KANGASKHAN EQU $ 02
NIDORAN_M EQU $ 03
CLEFAIRY EQU $ 04
SPEAROW EQU $ 05
VOLTORB EQU $ 06
NIDOKING EQU $ 07
SLOWBRO EQU $ 08
IVYSAUR EQU $ 09
EXEGGUTOR EQU $ 0 A
LICKITUNG EQU $ 0B
EXEGGCUTE EQU $ 0 C
GRIMER EQU $ 0 D
GENGAR EQU $ 0 E
NIDORAN_F EQU $ 0 F
NIDOQUEEN EQU $ 10
CUBONE EQU $ 11
RHYHORN EQU $ 12
LAPRAS EQU $ 13
ARCANINE EQU $ 14
MEW EQU $ 15
GYARADOS EQU $ 16
SHELLDER EQU $ 17
TENTACOOL EQU $ 18
GASTLY EQU $ 19
SCYTHER EQU $ 1 A
STARYU EQU $ 1B
BLASTOISE EQU $ 1 C
PINSIR EQU $ 1 D
TANGELA EQU $ 1 E
GROWLITHE EQU $ 21
ONIX EQU $ 22
FEAROW EQU $ 23
PIDGEY EQU $ 24
SLOWPOKE EQU $ 25
KADABRA EQU $ 26
GRAVELER EQU $ 27
CHANSEY EQU $ 28
MACHOKE EQU $ 29
2012-01-10 06:35:23 +00:00
MR_MIME EQU $ 2 A
2010-11-13 06:00:02 +00:00
HITMONLEE EQU $ 2 B
HITMONCHAN EQU $ 2 C
ARBOK EQU $ 2 D
PARASECT EQU $ 2 E
PSYDUCK EQU $ 2 F
DROWZEE EQU $ 30
GOLEM EQU $ 31
MAGMAR EQU $ 33
ELECTABUZZ EQU $ 35
MAGNETON EQU $ 36
KOFFING EQU $ 37
MANKEY EQU $ 39
SEEL EQU $ 3 A
DIGLETT EQU $ 3 B
TAUROS EQU $ 3 C
FARFETCH_D EQU $ 40
VENONAT EQU $ 41
DRAGONITE EQU $ 42
DODUO EQU $ 46
POLIWAG EQU $ 47
JYNX EQU $ 48
MOLTRES EQU $ 49
ARTICUNO EQU $ 4 A
ZAPDOS EQU $ 4 B
DITTO EQU $ 4 C
MEOWTH EQU $ 4 D
KRABBY EQU $ 4 E
VULPIX EQU $ 52
NINETALES EQU $ 53
PIKACHU EQU $ 54
RAICHU EQU $ 55
DRATINI EQU $ 58
DRAGONAIR EQU $ 59
KABUTO EQU $ 5 A
KABUTOPS EQU $ 5 B
HORSEA EQU $ 5 C
SEADRA EQU $ 5 D
SANDSHREW EQU $ 60
SANDSLASH EQU $ 61
OMANYTE EQU $ 62
OMASTAR EQU $ 63
JIGGLYPUFF EQU $ 64
WIGGLYTUFF EQU $ 65
EEVEE EQU $ 66
FLAREON EQU $ 67
JOLTEON EQU $ 68
VAPOREON EQU $ 69
MACHOP EQU $ 6 A
ZUBAT EQU $ 6 B
EKANS EQU $ 6 C
PARAS EQU $ 6 D
POLIWHIRL EQU $ 6 E
POLIWRATH EQU $ 6 F
WEEDLE EQU $ 70
KAKUNA EQU $ 71
BEEDRILL EQU $ 72
DODRIO EQU $ 74
PRIMEAPE EQU $ 75
DUGTRIO EQU $ 76
VENOMOTH EQU $ 77
DEWGONG EQU $ 78
CATERPIE EQU $ 7 B
METAPOD EQU $ 7 C
BUTTERFREE EQU $ 7 D
MACHAMP EQU $ 7 E
GOLDUCK EQU $ 80
HYPNO EQU $ 81
GOLBAT EQU $ 82
MEWTWO EQU $ 83
SNORLAX EQU $ 84
MAGIKARP EQU $ 85
MUK EQU $ 88
KINGLER EQU $ 8 A
CLOYSTER EQU $ 8 B
ELECTRODE EQU $ 8 D
CLEFABLE EQU $ 8 E
WEEZING EQU $ 8 F
PERSIAN EQU $ 90
MAROWAK EQU $ 91
HAUNTER EQU $ 93
ABRA EQU $ 94
ALAKAZAM EQU $ 95
PIDGEOTTO EQU $ 96
PIDGEOT EQU $ 97
STARMIE EQU $ 98
BULBASAUR EQU $ 99
VENUSAUR EQU $ 9 A
TENTACRUEL EQU $ 9 B
GOLDEEN EQU $ 9 D
SEAKING EQU $ 9 E
PONYTA EQU $ A3
RAPIDASH EQU $ A4
RATTATA EQU $ A5
RATICATE EQU $ A6
NIDORINO EQU $ A7
NIDORINA EQU $ A8
GEODUDE EQU $ A9
PORYGON EQU $ AA
AERODACTYL EQU $ AB
MAGNEMITE EQU $ AD
CHARMANDER EQU $ B0
SQUIRTLE EQU $ B1
CHARMELEON EQU $ B2
WARTORTLE EQU $ B3
CHARIZARD EQU $ B4
2013-05-13 03:56:09 +00:00
FOSSIL_KABUTOPS EQU $ B6
FOSSIL_AERODACTYL EQU $ B7
2013-03-13 14:11:41 +00:00
MON_GHOST EQU $ B8
2010-11-13 06:00:02 +00:00
ODDISH EQU $ B9
GLOOM EQU $ BA
VILEPLUME EQU $ BB
BELLSPROUT EQU $ BC
WEEPINBELL EQU $ BD
VICTREEBEL EQU $ BE
; trainer name constants
; sometimes it's necessary to add $C8 to these values
YOUNGSTER EQU $ 01
BUG_CATCHER EQU $ 02
LASS EQU $ 03
SAILOR EQU $ 04
JR__TRAINER_M EQU $ 05
JR__TRAINER_F EQU $ 06
POKEMANIAC EQU $ 07
SUPER_NERD EQU $ 08
HIKER EQU $ 09
BIKER EQU $ 0 A
BURGLAR EQU $ 0B
ENGINEER EQU $ 0 C
JUGGLER_X EQU $ 0 D
FISHER EQU $ 0 E
SWIMMER EQU $ 0 F
CUE_BALL EQU $ 10
GAMBLER EQU $ 11
BEAUTY EQU $ 12
PSYCHIC_TR EQU $ 13
ROCKER EQU $ 14
JUGGLER EQU $ 15
TAMER EQU $ 16
BIRD_KEEPER EQU $ 17
BLACKBELT EQU $ 18
SONY1 EQU $ 19
PROF_OAK EQU $ 1 A
CHIEF EQU $ 1B
SCIENTIST EQU $ 1 C
GIOVANNI EQU $ 1 D
ROCKET EQU $ 1 E
COOLTRAINER_M EQU $ 1 F
COOLTRAINER_F EQU $ 20
BRUNO EQU $ 21
BROCK EQU $ 22
MISTY EQU $ 23
LT__SURGE EQU $ 24
ERIKA EQU $ 25
KOGA EQU $ 26
BLAINE EQU $ 27
SABRINA EQU $ 28
GENTLEMAN EQU $ 29
SONY2 EQU $ 2 A
SONY3 EQU $ 2 B
LORELEI EQU $ 2 C
CHANNELER EQU $ 2 D
AGATHA EQU $ 2 E
LANCE EQU $ 2 F
; pokemon dex numbers
DEX_BULBASAUR EQU 1
DEX_IVYSAUR EQU 2
DEX_VENUSAUR EQU 3
DEX_CHARMANDER EQU 4
DEX_CHARMELEON EQU 5
DEX_CHARIZARD EQU 6
DEX_SQUIRTLE EQU 7
DEX_WARTORTLE EQU 8
DEX_BLASTOISE EQU 9
DEX_CATERPIE EQU 10
DEX_METAPOD EQU 11
DEX_BUTTERFREE EQU 12
DEX_WEEDLE EQU 13
DEX_KAKUNA EQU 14
DEX_BEEDRILL EQU 15
DEX_PIDGEY EQU 16
DEX_PIDGEOTTO EQU 17
DEX_PIDGEOT EQU 18
DEX_RATTATA EQU 19
DEX_RATICATE EQU 20
DEX_SPEAROW EQU 21
DEX_FEAROW EQU 22
DEX_EKANS EQU 23
DEX_ARBOK EQU 24
DEX_PIKACHU EQU 25
DEX_RAICHU EQU 26
DEX_SANDSHREW EQU 27
DEX_SANDSLASH EQU 28
DEX_NIDORAN_F EQU 29
DEX_NIDORINA EQU 30
DEX_NIDOQUEEN EQU 31
DEX_NIDORAN_M EQU 32
DEX_NIDORINO EQU 33
DEX_NIDOKING EQU 34
DEX_CLEFAIRY EQU 35
DEX_CLEFABLE EQU 36
DEX_VULPIX EQU 37
DEX_NINETALES EQU 38
DEX_JIGGLYPUFF EQU 39
DEX_WIGGLYTUFF EQU 40
DEX_ZUBAT EQU 41
DEX_GOLBAT EQU 42
DEX_ODDISH EQU 43
DEX_GLOOM EQU 44
DEX_VILEPLUME EQU 45
DEX_PARAS EQU 46
DEX_PARASECT EQU 47
DEX_VENONAT EQU 48
DEX_VENOMOTH EQU 49
DEX_DIGLETT EQU 50
DEX_DUGTRIO EQU 51
DEX_MEOWTH EQU 52
DEX_PERSIAN EQU 53
DEX_PSYDUCK EQU 54
DEX_GOLDUCK EQU 55
DEX_MANKEY EQU 56
DEX_PRIMEAPE EQU 57
DEX_GROWLITHE EQU 58
DEX_ARCANINE EQU 59
DEX_POLIWAG EQU 60
DEX_POLIWHIRL EQU 61
DEX_POLIWRATH EQU 62
DEX_ABRA EQU 63
DEX_KADABRA EQU 64
DEX_ALAKAZAM EQU 65
DEX_MACHOP EQU 66
DEX_MACHOKE EQU 67
DEX_MACHAMP EQU 68
DEX_BELLSPROUT EQU 69
DEX_WEEPINBELL EQU 70
DEX_VICTREEBEL EQU 71
DEX_TENTACOOL EQU 72
DEX_TENTACRUEL EQU 73
DEX_GEODUDE EQU 74
DEX_GRAVELER EQU 75
DEX_GOLEM EQU 76
DEX_PONYTA EQU 77
DEX_RAPIDASH EQU 78
DEX_SLOWPOKE EQU 79
DEX_SLOWBRO EQU 80
DEX_MAGNEMITE EQU 81
DEX_MAGNETON EQU 82
DEX_FARFETCH_D EQU 83
DEX_DODUO EQU 84
DEX_DODRIO EQU 85
DEX_SEEL EQU 86
DEX_DEWGONG EQU 87
DEX_GRIMER EQU 88
DEX_MUK EQU 89
DEX_SHELLDER EQU 90
DEX_CLOYSTER EQU 91
DEX_GASTLY EQU 92
DEX_HAUNTER EQU 93
DEX_GENGAR EQU 94
DEX_ONIX EQU 95
DEX_DROWZEE EQU 96
DEX_HYPNO EQU 97
DEX_KRABBY EQU 98
DEX_KINGLER EQU 99
DEX_VOLTORB EQU 100
DEX_ELECTRODE EQU 101
DEX_EXEGGCUTE EQU 102
DEX_EXEGGUTOR EQU 103
DEX_CUBONE EQU 104
DEX_MAROWAK EQU 105
DEX_HITMONLEE EQU 106
DEX_HITMONCHAN EQU 107
DEX_LICKITUNG EQU 108
DEX_KOFFING EQU 109
DEX_WEEZING EQU 110
DEX_RHYHORN EQU 111
DEX_RHYDON EQU 112
DEX_CHANSEY EQU 113
DEX_TANGELA EQU 114
DEX_KANGASKHAN EQU 115
DEX_HORSEA EQU 116
DEX_SEADRA EQU 117
DEX_GOLDEEN EQU 118
DEX_SEAKING EQU 119
DEX_STARYU EQU 120
DEX_STARMIE EQU 121
2012-01-10 06:35:23 +00:00
DEX_MR_MIME EQU 122
2010-11-13 06:00:02 +00:00
DEX_SCYTHER EQU 123
DEX_JYNX EQU 124
DEX_ELECTABUZZ EQU 125
DEX_MAGMAR EQU 126
DEX_PINSIR EQU 127
DEX_TAUROS EQU 128
DEX_MAGIKARP EQU 129
DEX_GYARADOS EQU 130
DEX_LAPRAS EQU 131
DEX_DITTO EQU 132
DEX_EEVEE EQU 133
DEX_VAPOREON EQU 134
DEX_JOLTEON EQU 135
DEX_FLAREON EQU 136
DEX_PORYGON EQU 137
DEX_OMANYTE EQU 138
DEX_OMASTAR EQU 139
DEX_KABUTO EQU 140
DEX_KABUTOPS EQU 141
DEX_AERODACTYL EQU 142
DEX_SNORLAX EQU 143
DEX_ARTICUNO EQU 144
DEX_ZAPDOS EQU 145
DEX_MOLTRES EQU 146
DEX_DRATINI EQU 147
DEX_DRAGONAIR EQU 148
DEX_DRAGONITE EQU 149
DEX_MEWTWO EQU 150
DEX_MEW EQU 151
; item name constants
MASTER_BALL EQU $ 01
ULTRA_BALL EQU $ 02
GREAT_BALL EQU $ 03
POKE_BALL EQU $ 04
TOWN_MAP EQU $ 05
BICYCLE EQU $ 06
2012-01-15 05:19:47 +00:00
SURFBOARD EQU $ 07 ; buggy?
2010-11-13 06:00:02 +00:00
SAFARI_BALL EQU $ 08
POKEDEX EQU $ 09
MOON_STONE EQU $ 0 A
ANTIDOTE EQU $ 0B
BURN_HEAL EQU $ 0 C
ICE_HEAL EQU $ 0 D
AWAKENING EQU $ 0 E
PARLYZ_HEAL EQU $ 0 F
FULL_RESTORE EQU $ 10
MAX_POTION EQU $ 11
HYPER_POTION EQU $ 12
SUPER_POTION EQU $ 13
POTION EQU $ 14
BOULDERBADGE EQU $ 15
CASCADEBADGE EQU $ 16
THUNDERBADGE EQU $ 17
RAINBOWBADGE EQU $ 18
SOULBADGE EQU $ 19
MARSHBADGE EQU $ 1 A
VOLCANOBADGE EQU $ 1B
EARTHBADGE EQU $ 1 C
ESCAPE_ROPE EQU $ 1 D
REPEL EQU $ 1 E
OLD_AMBER EQU $ 1 F
FIRE_STONE EQU $ 20
THUNDER_STONE EQU $ 21
WATER_STONE EQU $ 22
HP_UP EQU $ 23
PROTEIN EQU $ 24
IRON EQU $ 25
CARBOS EQU $ 26
CALCIUM EQU $ 27
RARE_CANDY EQU $ 28
DOME_FOSSIL EQU $ 29
HELIX_FOSSIL EQU $ 2 A
SECRET_KEY EQU $ 2 B
; XXX ????? EQU $2C
BIKE_VOUCHER EQU $ 2 D
X_ACCURACY EQU $ 2 E
LEAF_STONE EQU $ 2 F
CARD_KEY EQU $ 30
NUGGET EQU $ 31
2012-01-11 03:57:41 +00:00
;PP_UP EQU $32
2010-11-13 06:00:02 +00:00
POKE_DOLL EQU $ 33
FULL_HEAL EQU $ 34
REVIVE EQU $ 35
MAX_REVIVE EQU $ 36
GUARD_SPEC_ EQU $ 37
SUPER_REPEL EQU $ 38
MAX_REPEL EQU $ 39
DIRE_HIT EQU $ 3 A
COIN EQU $ 3 B
FRESH_WATER EQU $ 3 C
SODA_POP EQU $ 3 D
LEMONADE EQU $ 3 E
S_S__TICKET EQU $ 3 F
GOLD_TEETH EQU $ 40
X_ATTACK EQU $ 41
X_DEFEND EQU $ 42
X_SPEED EQU $ 43
X_SPECIAL EQU $ 44
COIN_CASE EQU $ 45
2013-04-07 02:01:08 +00:00
OAKS_PARCEL EQU $ 46
2010-11-13 06:00:02 +00:00
ITEMFINDER EQU $ 47
SILPH_SCOPE EQU $ 48
POKE_FLUTE EQU $ 49
LIFT_KEY EQU $ 4 A
EXP__ALL EQU $ 4 B
OLD_ROD EQU $ 4 C
GOOD_ROD EQU $ 4 D
SUPER_ROD EQU $ 4 E
; XXX todo: compare this to $32
2012-01-11 03:57:41 +00:00
PP_UP EQU $ 4 F
2010-11-13 06:00:02 +00:00
ETHER EQU $ 50
MAX_ETHER EQU $ 51
ELIXER EQU $ 52
MAX_ELIXER EQU $ 53
HM_01 EQU $ C4
HM_02 EQU $ C5
HM_03 EQU $ C6
HM_04 EQU $ C7
HM_05 EQU $ C8
TM_01 EQU $ C9
TM_02 EQU $ CA
TM_03 EQU $ CB
TM_04 EQU $ CC
TM_05 EQU $ CD
TM_06 EQU $ CE
TM_07 EQU $ CF
TM_08 EQU $ D0
TM_09 EQU $ D1
TM_10 EQU $ D2
TM_11 EQU $ D3
TM_12 EQU $ D4
TM_13 EQU $ D5
TM_14 EQU $ D6
TM_15 EQU $ D7
TM_16 EQU $ D8
TM_17 EQU $ D9
TM_18 EQU $ DA
TM_19 EQU $ DB
TM_20 EQU $ DC
TM_21 EQU $ DD
TM_22 EQU $ DE
TM_23 EQU $ DF
TM_24 EQU $ E0
TM_25 EQU $ E1
TM_26 EQU $ E2
TM_27 EQU $ E3
TM_28 EQU $ E4
TM_29 EQU $ E5
TM_30 EQU $ E6
TM_31 EQU $ E7
TM_32 EQU $ E8
TM_33 EQU $ E9
TM_34 EQU $ EA
TM_35 EQU $ EB
TM_36 EQU $ EC
TM_37 EQU $ ED
TM_38 EQU $ EE
TM_39 EQU $ EF
TM_40 EQU $ F0
TM_41 EQU $ F1
TM_42 EQU $ F2
TM_43 EQU $ F3
TM_44 EQU $ F4
TM_45 EQU $ F5
TM_46 EQU $ F6
TM_47 EQU $ F7
TM_48 EQU $ F8
TM_49 EQU $ F9
TM_50 EQU $ FA
2012-01-24 12:49:20 +00:00
; tentative move effect constants
; {stat}_(UP|DOWN)(1|2) means that the move raises the user's (or lowers the target's) corresponding stat modifier by 1 (or 2) stages
; {status condition}_side_effect means that the move has a side chance of causing that condition
; {status condition}_effect means that the move causes the status condition every time it hits the target
2013-03-12 00:52:32 +00:00
NO_ADDITIONAL_EFFECT EQU $ 00
2012-01-24 12:49:20 +00:00
POISON_SIDE_EFFECT1 EQU $ 02
DRAIN_HP_EFFECT EQU $ 03
BURN_SIDE_EFFECT1 EQU $ 04
FREEZE_SIDE_EFFECT EQU $ 05
PARALYZE_SIDE_EFFECT1 EQU $ 06
EXPLODE_EFFECT EQU $ 07 ; Explosion, Self Destruct
DREAM_EATER_EFFECT EQU $ 08
MIRROR_MOVE_EFFECT EQU $ 09
ATTACK_UP1_EFFECT EQU $ 0 A
DEFENSE_UP1_EFFECT EQU $ 0B
SPECIAL_UP1_EFFECT EQU $ 0 D
EVASION_UP1_EFFECT EQU $ 0 F
PAY_DAY_EFFECT EQU $ 10
SWIFT_EFFECT EQU $ 11
ATTACK_DOWN1_EFFECT EQU $ 12
DEFENSE_DOWN1_EFFECT EQU $ 13
SPEED_DOWN1_EFFECT EQU $ 14
ACCURACY_DOWN1_EFFECT EQU $ 16
CONVERSION_EFFECT EQU $ 18
HAZE_EFFECT EQU $ 19
BIDE_EFFECT EQU $ 1 A
THRASH_PETAL_DANCE_EFFECT EQU $ 1B
SWITCH_AND_TELEPORT_EFFECT EQU $ 1 C
TWO_TO_FIVE_ATTACKS_EFFECT EQU $ 1 D
FLINCH_SIDE_EFFECT1 EQU $ 1 F
SLEEP_EFFECT EQU $ 20
POISON_SIDE_EFFECT2 EQU $ 21
BURN_SIDE_EFFECT2 EQU $ 22
PARALYZE_SIDE_EFFECT2 EQU $ 24
FLINCH_SIDE_EFFECT2 EQU $ 25
OHKO_EFFECT EQU $ 26 ; moves like Horn Drill
CHARGE_EFFECT EQU $ 27 ; moves like Solar Beam
SUPER_FANG_EFFECT EQU $ 28
SPECIAL_DAMAGE_EFFECT EQU $ 29 ; Seismic Toss, Night Shade, Sonic Boom, Dragon Rage, Psywave
TRAPPING_EFFECT EQU $ 2 A ; moves like Wrap
FLY_EFFECT EQU $ 2 B
ATTACK_TWICE_EFFECT EQU $ 2 C
JUMP_KICK_EFFECT EQU $ 2 D ; Jump Kick and Hi Jump Kick effect
MIST_EFFECT EQU $ 2 E
FOCUS_ENERGY_EFFECT EQU $ 2 F
RECOIL_EFFECT EQU $ 30 ; moves like Double Edge
CONFUSION_EFFECT EQU $ 31 ; Confuse Ray, Supersonic (not the move Confusion)
ATTACK_UP2_EFFECT EQU $ 32
DEFENSE_UP2_EFFECT EQU $ 33
SPEED_UP2_EFFECT EQU $ 34
SPECIAL_UP2_EFFECT EQU $ 35
HEAL_EFFECT EQU $ 38 ; Recover, Softboiled, Rest
TRANSFORM_EFFECT EQU $ 39
DEFENSE_DOWN2_EFFECT EQU $ 3 B
LIGHT_SCREEN_EFFECT EQU $ 40
REFLECT_EFFECT EQU $ 41
POISON_EFFECT EQU $ 42
PARALYZE_EFFECT EQU $ 43
ATTACK_DOWN_SIDE_EFFECT EQU $ 44
DEFENSE_DOWN_SIDE_EFFECT EQU $ 45
SPEED_DOWN_SIDE_EFFECT EQU $ 46
SPECIAL_DOWN_SIDE_EFFECT EQU $ 47
CONFUSION_SIDE_EFFECT EQU $ 4 C
TWINEEDLE_EFFECT EQU $ 4 D
SUBSTITUTE_EFFECT EQU $ 4 F
HYPER_BEAM_EFFECT EQU $ 50
RAGE_EFFECT EQU $ 51
MIMIC_EFFECT EQU $ 52
METRONOME_EFFECT EQU $ 53
LEECH_SEED_EFFECT EQU $ 54
SPLASH_EFFECT EQU $ 55
DISABLE_EFFECT EQU $ 56
2010-11-13 06:00:02 +00:00
2012-01-24 14:17:22 +00:00
; fixed damage constants
SONICBOOM_DAMAGE EQU 20
DRAGON_RAGE_DAMAGE EQU 40
2010-11-13 06:00:02 +00:00
; move name constants
POUND EQU $ 01
KARATE_CHOP EQU $ 02
DOUBLESLAP EQU $ 03
COMET_PUNCH EQU $ 04
MEGA_PUNCH EQU $ 05
PAY_DAY EQU $ 06
FIRE_PUNCH EQU $ 07
ICE_PUNCH EQU $ 08
THUNDERPUNCH EQU $ 09
SCRATCH EQU $ 0 A
VICEGRIP EQU $ 0B
GUILLOTINE EQU $ 0 C
RAZOR_WIND EQU $ 0 D
SWORDS_DANCE EQU $ 0 E
CUT EQU $ 0 F
GUST EQU $ 10
WING_ATTACK EQU $ 11
WHIRLWIND EQU $ 12
FLY EQU $ 13
BIND EQU $ 14
SLAM EQU $ 15
VINE_WHIP EQU $ 16
STOMP EQU $ 17
DOUBLE_KICK EQU $ 18
MEGA_KICK EQU $ 19
JUMP_KICK EQU $ 1 A
ROLLING_KICK EQU $ 1B
SAND_ATTACK EQU $ 1 C
HEADBUTT EQU $ 1 D
HORN_ATTACK EQU $ 1 E
FURY_ATTACK EQU $ 1 F
HORN_DRILL EQU $ 20
TACKLE EQU $ 21
BODY_SLAM EQU $ 22
WRAP EQU $ 23
TAKE_DOWN EQU $ 24
THRASH EQU $ 25
DOUBLE_EDGE EQU $ 26
TAIL_WHIP EQU $ 27
POISON_STING EQU $ 28
TWINEEDLE EQU $ 29
PIN_MISSILE EQU $ 2 A
LEER EQU $ 2 B
BITE EQU $ 2 C
GROWL EQU $ 2 D
ROAR EQU $ 2 E
SING EQU $ 2 F
SUPERSONIC EQU $ 30
SONICBOOM EQU $ 31
DISABLE EQU $ 32
ACID EQU $ 33
EMBER EQU $ 34
FLAMETHROWER EQU $ 35
MIST EQU $ 36
WATER_GUN EQU $ 37
HYDRO_PUMP EQU $ 38
SURF EQU $ 39
ICE_BEAM EQU $ 3 A
BLIZZARD EQU $ 3 B
PSYBEAM EQU $ 3 C
BUBBLEBEAM EQU $ 3 D
AURORA_BEAM EQU $ 3 E
HYPER_BEAM EQU $ 3 F
PECK EQU $ 40
DRILL_PECK EQU $ 41
SUBMISSION EQU $ 42
LOW_KICK EQU $ 43
COUNTER EQU $ 44
SEISMIC_TOSS EQU $ 45
STRENGTH EQU $ 46
ABSORB EQU $ 47
MEGA_DRAIN EQU $ 48
LEECH_SEED EQU $ 49
GROWTH EQU $ 4 A
RAZOR_LEAF EQU $ 4 B
SOLARBEAM EQU $ 4 C
POISONPOWDER EQU $ 4 D
STUN_SPORE EQU $ 4 E
SLEEP_POWDER EQU $ 4 F
PETAL_DANCE EQU $ 50
STRING_SHOT EQU $ 51
DRAGON_RAGE EQU $ 52
FIRE_SPIN EQU $ 53
THUNDERSHOCK EQU $ 54
THUNDERBOLT EQU $ 55
THUNDER_WAVE EQU $ 56
THUNDER EQU $ 57
ROCK_THROW EQU $ 58
EARTHQUAKE EQU $ 59
FISSURE EQU $ 5 A
DIG EQU $ 5 B
TOXIC EQU $ 5 C
CONFUSION EQU $ 5 D
PSYCHIC_M EQU $ 5 E
HYPNOSIS EQU $ 5 F
MEDITATE EQU $ 60
AGILITY EQU $ 61
QUICK_ATTACK EQU $ 62
RAGE EQU $ 63
TELEPORT EQU $ 64
NIGHT_SHADE EQU $ 65
MIMIC EQU $ 66
SCREECH EQU $ 67
DOUBLE_TEAM EQU $ 68
RECOVER EQU $ 69
HARDEN EQU $ 6 A
MINIMIZE EQU $ 6 B
SMOKESCREEN EQU $ 6 C
CONFUSE_RAY EQU $ 6 D
WITHDRAW EQU $ 6 E
DEFENSE_CURL EQU $ 6 F
BARRIER EQU $ 70
LIGHT_SCREEN EQU $ 71
HAZE EQU $ 72
REFLECT EQU $ 73
FOCUS_ENERGY EQU $ 74
BIDE EQU $ 75
METRONOME EQU $ 76
MIRROR_MOVE EQU $ 77
SELFDESTRUCT EQU $ 78
EGG_BOMB EQU $ 79
LICK EQU $ 7 A
SMOG EQU $ 7 B
SLUDGE EQU $ 7 C
BONE_CLUB EQU $ 7 D
FIRE_BLAST EQU $ 7 E
WATERFALL EQU $ 7 F
CLAMP EQU $ 80
SWIFT EQU $ 81
SKULL_BASH EQU $ 82
SPIKE_CANNON EQU $ 83
CONSTRICT EQU $ 84
AMNESIA EQU $ 85
KINESIS EQU $ 86
SOFTBOILED EQU $ 87
HI_JUMP_KICK EQU $ 88
GLARE EQU $ 89
DREAM_EATER EQU $ 8 A
POISON_GAS EQU $ 8 B
BARRAGE EQU $ 8 C
LEECH_LIFE EQU $ 8 D
LOVELY_KISS EQU $ 8 E
SKY_ATTACK EQU $ 8 F
TRANSFORM EQU $ 90
BUBBLE EQU $ 91
DIZZY_PUNCH EQU $ 92
SPORE EQU $ 93
FLASH EQU $ 94
PSYWAVE EQU $ 95
SPLASH EQU $ 96
ACID_ARMOR EQU $ 97
CRABHAMMER EQU $ 98
EXPLOSION EQU $ 99
FURY_SWIPES EQU $ 9 A
BONEMERANG EQU $ 9 B
REST EQU $ 9 C
ROCK_SLIDE EQU $ 9 D
HYPER_FANG EQU $ 9 E
SHARPEN EQU $ 9 F
CONVERSION EQU $ A0
TRI_ATTACK EQU $ A1
SUPER_FANG EQU $ A2
SLASH EQU $ A3
SUBSTITUTE EQU $ A4
STRUGGLE EQU $ A5
2011-04-12 05:13:22 +00:00
; these do double duty as animation identifiers
2011-12-16 01:05:30 +00:00
SHOWPIC_ANIM EQU $ A6 ; redraw monster pic
2012-02-19 21:41:27 +00:00
XSTATITEM_ANIM EQU $ AE ; use X Attack/Defense/Speed/Special
2011-04-12 05:13:22 +00:00
SLP_ANIM EQU $ BD ; sleeping monster
CONF_ANIM EQU $ BF ; confused monster
2011-12-16 01:05:30 +00:00
TOSS_ANIM EQU $ C1 ; toss Poké Ball
2012-02-02 05:47:44 +00:00
SHAKE_ANIM EQU $ C2 ; shaking Poké Ball when catching monster
2011-12-16 01:05:30 +00:00
POOF_ANIM EQU $ C3 ; puff of smoke
BLOCKBALL_ANIM EQU $ C4 ; trainer knocks away Poké Ball
GREATTOSS_ANIM EQU $ C5 ; toss Great Ball
ULTRATOSS_ANIM EQU $ C6 ; toss Ultra Ball or Master Ball
HIDEPIC_ANIM EQU $ C8 ; monster disappears
2012-02-19 21:41:27 +00:00
ROCK_ANIM EQU $ C9 ; throw rock
BAIT_ANIM EQU $ CA ; throw bait
2010-11-13 06:00:02 +00:00
; super game boy palettes
PAL_ROUTE EQU $ 00
PAL_PALLET EQU $ 01
PAL_VIRIDIAN EQU $ 02
PAL_PEWTER EQU $ 03
PAL_CERULEAN EQU $ 04
PAL_LAVENDER EQU $ 05
PAL_VERMILION EQU $ 06
PAL_CELADON EQU $ 07
PAL_FUCHSIA EQU $ 08
PAL_CINNABAR EQU $ 09
PAL_INDIGO EQU $ 0 A
PAL_SAFFRON EQU $ 0B
2012-07-04 03:47:04 +00:00
PAL_TOWNMAP EQU $ 0 C
2010-11-13 06:00:02 +00:00
PAL_LOGO1 EQU $ 0 D
; XXX
PAL_LOGO2 EQU $ 0 F
PAL_MEWMON EQU $ 10
PAL_BLUEMON EQU $ 11
PAL_REDMON EQU $ 12
PAL_CYANMON EQU $ 13
PAL_PURPLEMON EQU $ 14
PAL_BROWNMON EQU $ 15
PAL_GREENMON EQU $ 16
PAL_PINKMON EQU $ 17
PAL_YELLOWMON EQU $ 18
PAL_GREYMON EQU $ 19
PAL_SLOTS1 EQU $ 1 A
PAL_SLOTS2 EQU $ 1B
PAL_SLOTS3 EQU $ 1 C
PAL_SLOTS4 EQU $ 1 D
PAL_BLACK EQU $ 1 E
PAL_GREENBAR EQU $ 1 F
PAL_YELLOWBAR EQU $ 20
PAL_REDBAR EQU $ 21
PAL_BADGE EQU $ 22
PAL_CAVE EQU $ 23
; XXX
2010-12-27 03:24:05 +00:00
; map name constants
PALLET_TOWN EQU $ 00
VIRIDIAN_CITY EQU $ 01
PEWTER_CITY EQU $ 02
CERULEAN_CITY EQU $ 03
LAVENDER_TOWN EQU $ 04
VERMILION_CITY EQU $ 05
CELADON_CITY EQU $ 06
FUCHSIA_CITY EQU $ 07
CINNABAR_ISLAND EQU $ 08
INDIGO_PLATEAU EQU $ 09
SAFFRON_CITY EQU $ 0 A
; unused EQU $0B
ROUTE_1 EQU $ 0 C
ROUTE_2 EQU $ 0 D
ROUTE_3 EQU $ 0 E
ROUTE_4 EQU $ 0 F
ROUTE_5 EQU $ 10
ROUTE_6 EQU $ 11
ROUTE_7 EQU $ 12
ROUTE_8 EQU $ 13
ROUTE_9 EQU $ 14
ROUTE_10 EQU $ 15
ROUTE_11 EQU $ 16
ROUTE_12 EQU $ 17
ROUTE_13 EQU $ 18
ROUTE_14 EQU $ 19
ROUTE_15 EQU $ 1 A
ROUTE_16 EQU $ 1B
ROUTE_17 EQU $ 1 C
ROUTE_18 EQU $ 1 D
ROUTE_19 EQU $ 1 E
ROUTE_20 EQU $ 1 F
ROUTE_21 EQU $ 20
ROUTE_22 EQU $ 21
ROUTE_23 EQU $ 22
ROUTE_24 EQU $ 23
ROUTE_25 EQU $ 24
2012-01-04 00:32:42 +00:00
REDS_HOUSE_1F EQU $ 25
REDS_HOUSE_2F EQU $ 26
BLUES_HOUSE EQU $ 27
OAKS_LAB EQU $ 28
VIRIDIAN_POKECENTER EQU $ 29
VIRIDIAN_MART EQU $ 2 A
VIRIDIAN_SCHOOL EQU $ 2 B
VIRIDIAN_HOUSE EQU $ 2 C
VIRIDIAN_GYM EQU $ 2 D
DIGLETTS_CAVE_EXIT EQU $ 2 E
VIRIDIAN_FOREST_EXIT EQU $ 2 F
ROUTE_2_HOUSE EQU $ 30
ROUTE_2_GATE EQU $ 31
VIRIDIAN_FOREST_ENTRANCE EQU $ 32
VIRIDIAN_FOREST EQU $ 33
MUSEUM_1F EQU $ 34
MUSEUM_2F EQU $ 35
PEWTER_GYM EQU $ 36
PEWTER_HOUSE_1 EQU $ 37
PEWTER_MART EQU $ 38
PEWTER_HOUSE_2 EQU $ 39
PEWTER_POKECENTER EQU $ 3 A
MT_MOON_1 EQU $ 3 B
MT_MOON_2 EQU $ 3 C
MT_MOON_3 EQU $ 3 D
TRASHED_HOUSE EQU $ 3 E
CERULEAN_HOUSE EQU $ 3 F
CERULEAN_POKECENTER EQU $ 40
CERULEAN_GYM EQU $ 41
BIKE_SHOP EQU $ 42
CERULEAN_MART EQU $ 43
MT_MOON_POKECENTER EQU $ 44
;copy of TRASHED_HOUSE EQU $45
ROUTE_5_GATE EQU $ 46
PATH_ENTRANCE_ROUTE_5 EQU $ 47
DAYCAREM EQU $ 48
ROUTE_6_GATE EQU $ 49
PATH_ENTRANCE_ROUTE_6 EQU $ 4 A
;copy of PATH_ENTRANCE_ROUTE_6 EQU $4B
ROUTE_7_GATE EQU $ 4 C
PATH_ENTRANCE_ROUTE_7 EQU $ 4 D
;copy of PATH_ENTRANCE_ROUTE_7 EQU $4E
ROUTE_8_GATE EQU $ 4 F
PATH_ENTRANCE_ROUTE_8 EQU $ 50
ROCK_TUNNEL_POKECENTER EQU $ 51
ROCK_TUNNEL_1 EQU $ 52
POWER_PLANT EQU $ 53
ROUTE_11_GATE_1F EQU $ 54
DIGLETTS_CAVE_ENTRANCE EQU $ 55
ROUTE_11_GATE_2F EQU $ 56
ROUTE_12_GATE EQU $ 57
BILLS_HOUSE EQU $ 58
VERMILION_POKECENTER EQU $ 59
POKEMON_FAN_CLUB EQU $ 5 A
VERMILION_MART EQU $ 5 B
VERMILION_GYM EQU $ 5 C
VERMILION_HOUSE_1 EQU $ 5 D
VERMILION_DOCK EQU $ 5 E
SS_ANNE_1 EQU $ 5 F
SS_ANNE_2 EQU $ 60
SS_ANNE_3 EQU $ 61
SS_ANNE_4 EQU $ 62
SS_ANNE_5 EQU $ 63
SS_ANNE_6 EQU $ 64
SS_ANNE_7 EQU $ 65
SS_ANNE_8 EQU $ 66
SS_ANNE_9 EQU $ 67
SS_ANNE_10 EQU $ 68
;EQU $69
;EQU $6A
;EQU $6B
VICTORY_ROAD_1 EQU $ 6 C
;EQU $6D
;EQU $6E
;EQU $6F
;EQU $70
LANCES_ROOM EQU $ 71
;EQU $72
;EQU $73
;EQU $74
;EQU $75
HALL_OF_FAME EQU $ 76
UNDERGROUND_PATH_NS EQU $ 77
CHAMPIONS_ROOM EQU $ 78
UNDERGROUND_PATH_WE EQU $ 79
CELADON_MART_1 EQU $ 7 A
CELADON_MART_2 EQU $ 7 B
CELADON_MART_3 EQU $ 7 C
CELADON_MART_4 EQU $ 7 D
2012-01-09 07:15:09 +00:00
CELADON_MART_ROOF EQU $ 7 E
CELADON_MART_ELEVATOR EQU $ 7 F
2012-01-04 00:32:42 +00:00
CELADON_MANSION_1 EQU $ 80
CELADON_MANSION_2 EQU $ 81
CELADON_MANSION_3 EQU $ 82
CELADON_MANSION_4 EQU $ 83
CELADON_MANSION_5 EQU $ 84
CELADON_POKECENTER EQU $ 85
CELADON_GYM EQU $ 86
GAME_CORNER EQU $ 87
2012-01-09 07:15:09 +00:00
CELADON_MART_5 EQU $ 88
2012-01-04 00:32:42 +00:00
CELADONPRIZE_ROOM EQU $ 89
CELADON_DINER EQU $ 8 A
2012-01-09 07:19:10 +00:00
CELADON_HOUSE EQU $ 8 B
CELADON_HOTEL EQU $ 8 C
2012-01-04 00:32:42 +00:00
LAVENDER_POKECENTER EQU $ 8 D
POKEMONTOWER_1 EQU $ 8 E
POKEMONTOWER_2 EQU $ 8 F
POKEMONTOWER_3 EQU $ 90
POKEMONTOWER_4 EQU $ 91
POKEMONTOWER_5 EQU $ 92
POKEMONTOWER_6 EQU $ 93
POKEMONTOWER_7 EQU $ 94
LAVENDER_HOUSE_1 EQU $ 95
LAVENDER_MART EQU $ 96
LAVENDER_HOUSE_2 EQU $ 97
FUCHSIA_MART EQU $ 98
FUCHSIA_HOUSE_1 EQU $ 99
FUCHSIA_POKECENTER EQU $ 9 A
FUCHSIA_HOUSE_2 EQU $ 9 B
SAFARIZONEENTRANCE EQU $ 9 C
FUCHSIA_GYM EQU $ 9 D
FUCHSIAMEETINGROOM EQU $ 9 E
SEAFOAM_ISLANDS_2 EQU $ 9 F
SEAFOAM_ISLANDS_3 EQU $ A0
SEAFOAM_ISLANDS_4 EQU $ A1
SEAFOAM_ISLANDS_5 EQU $ A2
VERMILION_HOUSE_2 EQU $ A3
FUCHSIA_HOUSE_3 EQU $ A4
MANSION_1 EQU $ A5
CINNABAR_GYM EQU $ A6
CINNABAR_LAB_1 EQU $ A7
CINNABAR_LAB_2 EQU $ A8
CINNABAR_LAB_3 EQU $ A9
CINNABAR_LAB_4 EQU $ AA
CINNABAR_POKECENTER EQU $ AB
CINNABAR_MART EQU $ AC
;copy of CINNABAR_MART EQU $AD
INDIGO_PLATEAU_LOBBY EQU $ AE
COPYCATS_HOUSE_1F EQU $ AF
COPYCATS_HOUSE_2F EQU $ B0
FIGHTINGDOJO EQU $ B1
SAFFRON_GYM EQU $ B2
SAFFRON_HOUSE_1 EQU $ B3
SAFFRON_MART EQU $ B4
SILPH_CO_1F EQU $ B5
SAFFRON_POKECENTER EQU $ B6
SAFFRON_HOUSE_2 EQU $ B7
2012-03-16 04:45:52 +00:00
ROUTE_15_GATE_1F EQU $ B8
ROUTE_15_GATE_2F EQU $ B9
2012-01-04 00:32:42 +00:00
ROUTE_16_GATE_1F EQU $ BA
ROUTE_16_GATE_2F EQU $ BB
ROUTE_16_HOUSE EQU $ BC
ROUTE_12_HOUSE EQU $ BD
ROUTE_18_GATE_1F EQU $ BE
ROUTE_18_GATE_2F EQU $ BF
SEAFOAM_ISLANDS_1 EQU $ C0
ROUTE_22_GATE EQU $ C1
VICTORY_ROAD_2 EQU $ C2
ROUTE_12_GATE_2F EQU $ C3
VERMILION_HOUSE_3 EQU $ C4
DIGLETTS_CAVE EQU $ C5
VICTORY_ROAD_3 EQU $ C6
ROCKET_HIDEOUT_1 EQU $ C7
ROCKET_HIDEOUT_2 EQU $ C8
ROCKET_HIDEOUT_3 EQU $ C9
ROCKET_HIDEOUT_4 EQU $ CA
ROCKET_HIDEOUT_ELEVATOR EQU $ CB
;EQU $CC
;EQU $CD
;EQU $CE
SILPH_CO_2F EQU $ CF
SILPH_CO_3F EQU $ D0
SILPH_CO_4F EQU $ D1
SILPH_CO_5F EQU $ D2
SILPH_CO_6F EQU $ D3
SILPH_CO_7F EQU $ D4
SILPH_CO_8F EQU $ D5
MANSION_2 EQU $ D6
MANSION_3 EQU $ D7
MANSION_4 EQU $ D8
SAFARI_ZONE_EAST EQU $ D9
SAFARI_ZONE_NORTH EQU $ DA
SAFARI_ZONE_WEST EQU $ DB
SAFARI_ZONE_CENTER EQU $ DC
SAFARI_ZONE_REST_HOUSE_1 EQU $ DD
SAFARI_ZONE_SECRET_HOUSE EQU $ DE
SAFARI_ZONE_REST_HOUSE_2 EQU $ DF
SAFARI_ZONE_REST_HOUSE_3 EQU $ E0
SAFARI_ZONE_REST_HOUSE_4 EQU $ E1
UNKNOWN_DUNGEON_2 EQU $ E2
UNKNOWN_DUNGEON_3 EQU $ E3
UNKNOWN_DUNGEON_1 EQU $ E4
NAME_RATERS_HOUSE EQU $ E5
CERULEAN_HOUSE_3 EQU $ E6
;EQU $E7
ROCK_TUNNEL_2 EQU $ E8
SILPH_CO_9F EQU $ E9
SILPH_CO_10F EQU $ EA
SILPH_CO_11F EQU $ EB
SILPH_CO_ELEVATOR EQU $ EC
;EQU $ED
;EQU $EE
BATTLE_CENTER EQU $ EF
TRADE_CENTER EQU $ F0
;EQU $F1
;EQU $F2
;EQU $F3
;EQU $F4
LORELEIS_ROOM EQU $ F5
BRUNOS_ROOM EQU $ F6
AGATHAS_ROOM EQU $ F7
BEACH_HOUSE EQU $ F8 ; Yellow only
2011-02-20 00:39:39 +00:00
; Evolution types
EV_LEVEL EQU 1
EV_ITEM EQU 2
EV_TRADE EQU 3
2011-04-11 04:04:15 +00:00
; Elemental types
NORMAL EQU $ 00
FIGHTING EQU $ 01
FLYING EQU $ 02
POISON EQU $ 03
GROUND EQU $ 04
ROCK EQU $ 05
BUG EQU $ 07
GHOST EQU $ 08
FIRE EQU $ 14
WATER EQU $ 15
GRASS EQU $ 16
ELECTRIC EQU $ 17
PSYCHIC EQU $ 18
ICE EQU $ 19
DRAGON EQU $ 1 A
2011-11-14 03:18:20 +00:00
EAST EQU 1
WEST EQU 2
SOUTH EQU 4
NORTH EQU 8
2011-11-14 07:25:15 +00:00
; different kinds of people events
ITEM EQU $ 80
TRAINER EQU $ 40
2011-12-26 23:35:59 +00:00
; status ailments (masks)
2012-02-14 18:07:07 +00:00
SLP EQU % 00000111
PSN EQU % 00001000
BRN EQU % 00010000
FRZ EQU % 00100000
PAR EQU % 01000000
2012-01-06 01:20:36 +00:00
2012-03-08 00:55:06 +00:00
; pokemon's overworld sprites
SPRITE_MON EQU $ 0
SPRITE_BALL_M EQU $ 1
SPRITE_HELIX EQU $ 2
SPRITE_FAIRY EQU $ 3
SPRITE_BIRD_M EQU $ 4
SPRITE_WATER EQU $ 5
SPRITE_BUG EQU $ 6
SPRITE_GRASS EQU $ 7
SPRITE_SNAKE EQU $ 8
SPRITE_QUADRUPED EQU $ 9
; overworld sprites
2012-01-06 05:53:41 +00:00
SPRITE_RED EQU $ 01
SPRITE_BLUE EQU $ 02
2012-01-06 01:20:36 +00:00
SPRITE_OAK EQU $ 03
2012-01-06 05:53:41 +00:00
SPRITE_BUG_CATCHER EQU $ 04
SPRITE_SLOWBRO EQU $ 05
SPRITE_LASS EQU $ 06
2012-01-06 01:20:36 +00:00
SPRITE_BLACK_HAIR_BOY_1 EQU $ 07
SPRITE_LITTLE_GIRL EQU $ 08
SPRITE_BIRD EQU $ 09
SPRITE_FAT_BALD_GUY EQU $ 0 a
2012-01-06 05:53:41 +00:00
SPRITE_GAMBLER EQU $ 0b
2012-01-06 01:20:36 +00:00
SPRITE_BLACK_HAIR_BOY_2 EQU $ 0 c
SPRITE_GIRL EQU $ 0 d
SPRITE_HIKER EQU $ 0 e
SPRITE_FOULARD_WOMAN EQU $ 0 f
SPRITE_GENTLEMAN EQU $ 10
2012-01-06 05:53:41 +00:00
SPRITE_DAISY EQU $ 11
2012-01-06 01:20:36 +00:00
SPRITE_BIKER EQU $ 12
SPRITE_SAILOR EQU $ 13
SPRITE_COOK EQU $ 14
2012-01-06 05:53:41 +00:00
SPRITE_BIKE_SHOP_GUY EQU $ 15
2012-01-06 01:20:36 +00:00
SPRITE_MR_FUJI EQU $ 16
SPRITE_GIOVANNI EQU $ 17
2012-01-06 05:53:41 +00:00
SPRITE_ROCKET EQU $ 18
2012-01-06 01:20:36 +00:00
SPRITE_MEDIUM EQU $ 19
SPRITE_WAITER EQU $ 1 a
SPRITE_ERIKA EQU $ 1b
SPRITE_MOM_GEISHA EQU $ 1 c
SPRITE_BRUNETTE_GIRL EQU $ 1 d
SPRITE_LANCE EQU $ 1 e
SPRITE_OAK_SCIENTIST_AIDE EQU $ 1 f
SPRITE_OAK_AIDE EQU $ 20
2012-01-06 05:53:41 +00:00
SPRITE_ROCKER EQU $ 21
2012-01-06 01:20:36 +00:00
SPRITE_SWIMMER EQU $ 22
SPRITE_WHITE_PLAYER EQU $ 23
SPRITE_GYM_HELPER EQU $ 24
SPRITE_OLD_PERSON EQU $ 25
SPRITE_MART_GUY EQU $ 26
SPRITE_FISHER EQU $ 27
SPRITE_OLD_MEDIUM_WOMAN EQU $ 28
SPRITE_NURSE EQU $ 29
SPRITE_CABLE_CLUB_WOMAN EQU $ 2 a
SPRITE_MR_MASTERBALL EQU $ 2 b
SPRITE_LAPRAS_GIVER EQU $ 2 c
2012-01-06 05:53:41 +00:00
SPRITE_WARDEN EQU $ 2 d
2012-01-06 02:37:29 +00:00
SPRITE_SS_CAPTAIN EQU $ 2 e
2012-01-06 05:53:41 +00:00
SPRITE_FISHER2 EQU $ 2 f
SPRITE_BLACKBELT EQU $ 30
SPRITE_GUARD EQU $ 31
;SPRITE_COP_GUARD EQU $32
2012-01-06 01:20:36 +00:00
SPRITE_MOM EQU $ 33
SPRITE_BALDING_GUY EQU $ 34
2012-01-06 05:53:41 +00:00
SPRITE_YOUNG_BOY EQU $ 35
2012-01-06 01:20:36 +00:00
SPRITE_GAMEBOY_KID EQU $ 36
SPRITE_GAMEBOY_KID_COPY EQU $ 37
2012-01-06 05:53:41 +00:00
SPRITE_CLEFAIRY EQU $ 38
2012-01-06 01:20:36 +00:00
SPRITE_AGATHA EQU $ 39
SPRITE_BRUNO EQU $ 3 a
SPRITE_LORELEI EQU $ 3 b
SPRITE_SEEL EQU $ 3 c
SPRITE_BALL EQU $ 3 d
SPRITE_OMANYTE EQU $ 3 e
SPRITE_BOULDER EQU $ 3 f
SPRITE_PAPER_SHEET EQU $ 40
SPRITE_BOOK_MAP_DEX EQU $ 41
SPRITE_CLIPBOARD EQU $ 42
SPRITE_SNORLAX EQU $ 43
2012-01-06 01:26:18 +00:00
SPRITE_OLD_AMBER_COPY EQU $ 44
SPRITE_OLD_AMBER EQU $ 45
2012-01-06 01:20:36 +00:00
SPRITE_LYING_OLD_MAN_UNUSED_1 EQU $ 46
SPRITE_LYING_OLD_MAN_UNUSED_2 EQU $ 47
SPRITE_LYING_OLD_MAN EQU $ 48
2012-01-15 18:15:45 +00:00
; Map sizes (y, x)
; PalletTown_h map_id=0
2012-01-17 05:31:20 +00:00
PALLET_TOWN_HEIGHT EQU $ 09
PALLET_TOWN_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; ViridianCity_h map_id=1
2012-01-17 05:31:20 +00:00
VIRIDIAN_CITY_HEIGHT EQU $ 12
VIRIDIAN_CITY_WIDTH EQU $ 14
2012-01-15 18:15:45 +00:00
; PewterCity_h map_id=2
2012-01-17 05:31:20 +00:00
PEWTER_CITY_HEIGHT EQU $ 12
PEWTER_CITY_WIDTH EQU $ 14
2012-01-15 18:15:45 +00:00
; CeruleanCity_h map_id=3
2012-01-17 05:31:20 +00:00
CERULEAN_CITY_HEIGHT EQU $ 12
CERULEAN_CITY_WIDTH EQU $ 14
2012-01-15 18:15:45 +00:00
; LavenderTown_h map_id=4
2012-01-17 05:31:20 +00:00
LAVENDER_TOWN_HEIGHT EQU $ 09
LAVENDER_TOWN_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; VermilionCity_h map_id=5
2012-01-17 05:31:20 +00:00
VERMILION_CITY_HEIGHT EQU $ 12
VERMILION_CITY_WIDTH EQU $ 14
2012-01-15 18:15:45 +00:00
; CeladonCity_h map_id=6
2012-01-17 05:31:20 +00:00
CELADON_CITY_HEIGHT EQU $ 12
CELADON_CITY_WIDTH EQU $ 19
2012-01-15 18:15:45 +00:00
; FuchsiaCity_h map_id=7
2012-01-17 05:31:20 +00:00
FUCHSIA_CITY_HEIGHT EQU $ 12
FUCHSIA_CITY_WIDTH EQU $ 14
2012-01-15 18:15:45 +00:00
; CinnabarIsland_h map_id=8
2012-01-17 05:31:20 +00:00
CINNABAR_ISLAND_HEIGHT EQU $ 09
CINNABAR_ISLAND_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; IndigoPlateau_h map_id=9
2012-01-17 05:31:20 +00:00
INDIGO_PLATEAU_HEIGHT EQU $ 09
INDIGO_PLATEAU_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; SaffronCity_h map_id=10
2012-01-17 05:31:20 +00:00
SAFFRON_CITY_HEIGHT EQU $ 12
SAFFRON_CITY_WIDTH EQU $ 14
2012-01-15 18:15:45 +00:00
; Route1_h map_id=12
2012-01-17 05:31:20 +00:00
ROUTE_1_HEIGHT EQU $ 12
ROUTE_1_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; Route2_h map_id=13
2012-01-17 05:31:20 +00:00
ROUTE_2_HEIGHT EQU $ 24
ROUTE_2_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; Route3_h map_id=14
2012-01-17 05:31:20 +00:00
ROUTE_3_HEIGHT EQU $ 09
ROUTE_3_WIDTH EQU $ 23
2012-01-15 18:15:45 +00:00
; Route4_h map_id=15
2012-01-17 05:31:20 +00:00
ROUTE_4_HEIGHT EQU $ 09
ROUTE_4_WIDTH EQU $ 2 d
2012-01-15 18:15:45 +00:00
; Route5_h map_id=16
2012-01-17 05:31:20 +00:00
ROUTE_5_HEIGHT EQU $ 12
ROUTE_5_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; Route6_h map_id=17
2012-01-17 05:31:20 +00:00
ROUTE_6_HEIGHT EQU $ 12
ROUTE_6_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; Route7_h map_id=18
2012-01-17 05:31:20 +00:00
ROUTE_7_HEIGHT EQU $ 09
ROUTE_7_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; Route8_h map_id=19
2012-01-17 05:31:20 +00:00
ROUTE_8_HEIGHT EQU $ 09
ROUTE_8_WIDTH EQU $ 1 e
2012-01-15 18:15:45 +00:00
; Route9_h map_id=20
2012-01-17 05:31:20 +00:00
ROUTE_9_HEIGHT EQU $ 09
ROUTE_9_WIDTH EQU $ 1 e
2012-01-15 18:15:45 +00:00
; Route10_h map_id=21
2012-01-17 05:31:20 +00:00
ROUTE_10_HEIGHT EQU $ 24
ROUTE_10_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; Route11_h map_id=22
2012-01-17 05:31:20 +00:00
ROUTE_11_HEIGHT EQU $ 09
ROUTE_11_WIDTH EQU $ 1 e
2012-01-15 18:15:45 +00:00
; Route12_h map_id=23
2012-01-17 05:31:20 +00:00
ROUTE_12_HEIGHT EQU $ 36
ROUTE_12_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; Route13_h map_id=24
2012-01-17 05:31:20 +00:00
ROUTE_13_HEIGHT EQU $ 09
ROUTE_13_WIDTH EQU $ 1 e
2012-01-15 18:15:45 +00:00
; Route14_h map_id=25
2012-01-17 05:31:20 +00:00
ROUTE_14_HEIGHT EQU $ 1b
ROUTE_14_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; Route15_h map_id=26
2012-01-17 05:31:20 +00:00
ROUTE_15_HEIGHT EQU $ 09
ROUTE_15_WIDTH EQU $ 1 e
2012-01-15 18:15:45 +00:00
; Route16_h map_id=27
2012-01-17 05:31:20 +00:00
ROUTE_16_HEIGHT EQU $ 09
ROUTE_16_WIDTH EQU $ 14
2012-01-15 18:15:45 +00:00
; Route17_h map_id=28
2012-01-17 05:31:20 +00:00
ROUTE_17_HEIGHT EQU $ 48
ROUTE_17_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; Route18_h map_id=29
2012-01-17 05:31:20 +00:00
ROUTE_18_HEIGHT EQU $ 09
ROUTE_18_WIDTH EQU $ 19
2012-01-15 18:15:45 +00:00
; Route19_h map_id=30
2012-01-17 05:31:20 +00:00
ROUTE_19_HEIGHT EQU $ 1b
ROUTE_19_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; Route20_h map_id=31
2012-01-17 05:31:20 +00:00
ROUTE_20_HEIGHT EQU $ 09
ROUTE_20_WIDTH EQU $ 32
2012-01-15 18:15:45 +00:00
; Route21_h map_id=32
2012-01-17 05:31:20 +00:00
ROUTE_21_HEIGHT EQU $ 2 d
ROUTE_21_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; Route22_h map_id=33
2012-01-17 05:31:20 +00:00
ROUTE_22_HEIGHT EQU $ 09
ROUTE_22_WIDTH EQU $ 14
2012-01-15 18:15:45 +00:00
; Route23_h map_id=34
2012-01-17 05:31:20 +00:00
ROUTE_23_HEIGHT EQU $ 48
ROUTE_23_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; Route24_h map_id=35
2012-01-17 05:31:20 +00:00
ROUTE_24_HEIGHT EQU $ 12
ROUTE_24_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; Route25_h map_id=36
2012-01-17 05:31:20 +00:00
ROUTE_25_HEIGHT EQU $ 09
ROUTE_25_WIDTH EQU $ 1 e
2012-01-15 18:15:45 +00:00
; RedsHouse1F_h map_id=37
2012-01-17 05:31:20 +00:00
REDS_HOUSE_1F_HEIGHT EQU $ 04
REDS_HOUSE_1F_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; RedsHouse2F_h map_id=38
2012-01-17 05:31:20 +00:00
REDS_HOUSE_2F_HEIGHT EQU $ 04
REDS_HOUSE_2F_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; BluesHouse_h map_id=39
2012-01-17 05:31:20 +00:00
BLUES_HOUSE_HEIGHT EQU $ 04
BLUES_HOUSE_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; OaksLab_h map_id=40
2012-01-17 05:31:20 +00:00
OAKS_LAB_HEIGHT EQU $ 06
OAKS_LAB_WIDTH EQU $ 05
2012-01-15 18:15:45 +00:00
; ViridianPokeCenter_h map_id=41
2012-01-17 05:31:20 +00:00
VIRIDIAN_POKECENTER_HEIGHT EQU $ 04
VIRIDIAN_POKECENTER_WIDTH EQU $ 07
2012-01-15 18:15:45 +00:00
; ViridianMart_h map_id=42
2012-01-17 05:31:20 +00:00
VIRIDIAN_MART_HEIGHT EQU $ 04
VIRIDIAN_MART_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; School_h map_id=43
2012-01-17 05:31:20 +00:00
VIRIDIAN_SCHOOL_HEIGHT EQU $ 04
VIRIDIAN_SCHOOL_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; ViridianHouse_h map_id=44
2012-01-17 05:31:20 +00:00
VIRIDIAN_HOUSE_HEIGHT EQU $ 04
VIRIDIAN_HOUSE_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; ViridianGym_h map_id=45
2012-01-17 05:31:20 +00:00
VIRIDIAN_GYM_HEIGHT EQU $ 09
VIRIDIAN_GYM_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; DiglettsCaveRoute2_h map_id=46
2012-01-17 05:31:20 +00:00
DIGLETTS_CAVE_EXIT_HEIGHT EQU $ 04
DIGLETTS_CAVE_EXIT_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; ViridianForestexit_h map_id=47
2012-01-17 05:31:20 +00:00
VIRIDIAN_FOREST_EXIT_HEIGHT EQU $ 04
VIRIDIAN_FOREST_EXIT_WIDTH EQU $ 05
2012-01-15 18:15:45 +00:00
; Route2House_h map_id=48
2012-01-17 05:31:20 +00:00
ROUTE_2_HOUSE_HEIGHT EQU $ 04
ROUTE_2_HOUSE_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; Route2Gate_h map_id=49
2012-01-17 05:31:20 +00:00
ROUTE_2_GATE_HEIGHT EQU $ 04
ROUTE_2_GATE_WIDTH EQU $ 05
2012-01-15 18:15:45 +00:00
; ViridianForestEntrance_h map_id=50
2012-01-17 05:31:20 +00:00
VIRIDIAN_FOREST_ENTRANCE_HEIGHT EQU $ 04
VIRIDIAN_FOREST_ENTRANCE_WIDTH EQU $ 05
2012-01-15 18:15:45 +00:00
; ViridianForest_h map_id=51
2012-01-17 05:31:20 +00:00
VIRIDIAN_FOREST_HEIGHT EQU $ 18
VIRIDIAN_FOREST_WIDTH EQU $ 11
2012-01-15 18:15:45 +00:00
; MuseumF1_h map_id=52
2012-01-17 05:31:20 +00:00
MUSEUM_1F_HEIGHT EQU $ 04
MUSEUM_1F_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; MuseumF2_h map_id=53
2012-01-17 05:31:20 +00:00
MUSEUM_2F_HEIGHT EQU $ 04
MUSEUM_2F_WIDTH EQU $ 07
2012-01-15 18:15:45 +00:00
; PewterGym_h map_id=54
2012-01-17 05:31:20 +00:00
PEWTER_GYM_HEIGHT EQU $ 07
PEWTER_GYM_WIDTH EQU $ 05
2012-01-15 18:15:45 +00:00
; PewterHouse1_h map_id=55
2012-01-17 05:31:20 +00:00
PEWTER_HOUSE_1_HEIGHT EQU $ 04
PEWTER_HOUSE_1_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; PewterMart_h map_id=56
2012-01-17 05:31:20 +00:00
PEWTER_MART_HEIGHT EQU $ 04
PEWTER_MART_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; PewterHouse2_h map_id=57
2012-01-17 05:31:20 +00:00
PEWTER_HOUSE_2_HEIGHT EQU $ 04
PEWTER_HOUSE_2_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; PewterPokecenter_h map_id=58
2012-01-17 05:31:20 +00:00
PEWTER_POKECENTER_HEIGHT EQU $ 04
PEWTER_POKECENTER_WIDTH EQU $ 07
2012-01-15 18:15:45 +00:00
; MtMoon1_h map_id=59
2012-01-17 05:31:20 +00:00
MT_MOON_1_HEIGHT EQU $ 12
MT_MOON_1_WIDTH EQU $ 14
2012-01-15 18:15:45 +00:00
; MtMoon2_h map_id=60
2012-01-17 05:31:20 +00:00
MT_MOON_2_HEIGHT EQU $ 0 e
MT_MOON_2_WIDTH EQU $ 0 e
2012-01-15 18:15:45 +00:00
; MtMoon3_h map_id=61
2012-01-17 05:31:20 +00:00
MT_MOON_3_HEIGHT EQU $ 12
MT_MOON_3_WIDTH EQU $ 14
2012-01-15 18:15:45 +00:00
; CeruleanHouseTrashed_h map_id=62
2012-01-17 05:31:20 +00:00
TRASHED_HOUSE_HEIGHT EQU $ 04
TRASHED_HOUSE_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; CeruleanHouse2_h map_id=63
2012-01-17 05:31:20 +00:00
CERULEAN_HOUSE_HEIGHT EQU $ 04
CERULEAN_HOUSE_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; CeruleanPokecenter_h map_id=64
2012-01-17 05:31:20 +00:00
CERULEAN_POKECENTER_HEIGHT EQU $ 04
CERULEAN_POKECENTER_WIDTH EQU $ 07
2012-01-15 18:15:45 +00:00
; CeruleanGym_h map_id=65
2012-01-17 05:31:20 +00:00
CERULEAN_GYM_HEIGHT EQU $ 07
CERULEAN_GYM_WIDTH EQU $ 05
2012-01-15 18:15:45 +00:00
; BikeShop_h map_id=66
2012-01-17 05:31:20 +00:00
BIKE_SHOP_HEIGHT EQU $ 04
BIKE_SHOP_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; CeruleanMart_h map_id=67
2012-01-17 05:31:20 +00:00
CERULEAN_MART_HEIGHT EQU $ 04
CERULEAN_MART_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; MtMoonPokecenter_h map_id=68
2012-01-17 05:31:20 +00:00
MT_MOON_POKECENTER_HEIGHT EQU $ 04
MT_MOON_POKECENTER_WIDTH EQU $ 07
2012-01-15 18:15:45 +00:00
; Route5Gate_h map_id=70
2012-01-17 05:31:20 +00:00
ROUTE_5_GATE_HEIGHT EQU $ 03
ROUTE_5_GATE_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; UndergroundTunnelEntranceRoute5_h map_id=71
2012-01-17 05:31:20 +00:00
PATH_ENTRANCE_ROUTE_5_HEIGHT EQU $ 04
PATH_ENTRANCE_ROUTE_5_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; DayCareM_h map_id=72
2012-01-17 05:31:20 +00:00
DAYCAREM_HEIGHT EQU $ 04
DAYCAREM_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; Route6Gate_h map_id=73
2012-01-17 05:31:20 +00:00
ROUTE_6_GATE_HEIGHT EQU $ 03
ROUTE_6_GATE_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; UndergroundTunnelEntranceRoute6_h map_id=74
2012-01-17 05:31:20 +00:00
PATH_ENTRANCE_ROUTE_6_HEIGHT EQU $ 04
PATH_ENTRANCE_ROUTE_6_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; Route7Gate_h map_id=76
2012-01-17 05:31:20 +00:00
ROUTE_7_GATE_HEIGHT EQU $ 04
ROUTE_7_GATE_WIDTH EQU $ 03
2012-01-15 18:15:45 +00:00
; UndergroundPathEntranceRoute7_h map_id=77
2012-01-17 05:31:20 +00:00
PATH_ENTRANCE_ROUTE_7_HEIGHT EQU $ 04
PATH_ENTRANCE_ROUTE_7_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; Route8Gate_h map_id=79
2012-01-17 05:31:20 +00:00
ROUTE_8_GATE_HEIGHT EQU $ 04
ROUTE_8_GATE_WIDTH EQU $ 03
2012-01-15 18:15:45 +00:00
; UndergroundPathEntranceRoute8_h map_id=80
2012-01-17 05:31:20 +00:00
PATH_ENTRANCE_ROUTE_8_HEIGHT EQU $ 04
PATH_ENTRANCE_ROUTE_8_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; RockTunnelPokecenter_h map_id=81
2012-01-17 05:31:20 +00:00
ROCK_TUNNEL_POKECENTER_HEIGHT EQU $ 04
ROCK_TUNNEL_POKECENTER_WIDTH EQU $ 07
2012-01-15 18:15:45 +00:00
; RockTunnel1_h map_id=82
2012-01-17 05:31:20 +00:00
ROCK_TUNNEL_1_HEIGHT EQU $ 12
ROCK_TUNNEL_1_WIDTH EQU $ 14
2012-01-15 18:15:45 +00:00
; PowerPlant_h map_id=83
2012-01-17 05:31:20 +00:00
POWER_PLANT_HEIGHT EQU $ 12
POWER_PLANT_WIDTH EQU $ 14
2012-01-15 18:15:45 +00:00
; Route11Gate_h map_id=84
2012-01-17 05:31:20 +00:00
ROUTE_11_GATE_1F_HEIGHT EQU $ 05
ROUTE_11_GATE_1F_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; DiglettsCaveEntranceRoute11_h map_id=85
2012-01-17 05:31:20 +00:00
DIGLETTS_CAVE_ENTRANCE_HEIGHT EQU $ 04
DIGLETTS_CAVE_ENTRANCE_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; Route11GateUpstairs_h map_id=86
2012-01-17 05:31:20 +00:00
ROUTE_11_GATE_2F_HEIGHT EQU $ 04
ROUTE_11_GATE_2F_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; Route12Gate_h map_id=87
2012-01-17 05:31:20 +00:00
ROUTE_12_GATE_HEIGHT EQU $ 04
ROUTE_12_GATE_WIDTH EQU $ 05
2012-01-15 18:15:45 +00:00
; BillsHouse_h map_id=88
2012-01-17 05:31:20 +00:00
BILLS_HOUSE_HEIGHT EQU $ 04
BILLS_HOUSE_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; VermilionPokecenter_h map_id=89
2012-01-17 05:31:20 +00:00
VERMILION_POKECENTER_HEIGHT EQU $ 04
VERMILION_POKECENTER_WIDTH EQU $ 07
2012-01-15 18:15:45 +00:00
; FanClub_h map_id=90
2012-01-17 05:31:20 +00:00
POKEMON_FAN_CLUB_HEIGHT EQU $ 04
POKEMON_FAN_CLUB_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; VermilionMart_h map_id=91
2012-01-17 05:31:20 +00:00
VERMILION_MART_HEIGHT EQU $ 04
VERMILION_MART_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; VermilionGym_h map_id=92
2012-01-17 05:31:20 +00:00
VERMILION_GYM_HEIGHT EQU $ 09
VERMILION_GYM_WIDTH EQU $ 05
2012-01-15 18:15:45 +00:00
; VermilionHouse1_h map_id=93
2012-01-17 05:31:20 +00:00
VERMILION_HOUSE_1_HEIGHT EQU $ 04
VERMILION_HOUSE_1_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; VermilionDock_h map_id=94
2012-01-17 05:31:20 +00:00
VERMILION_DOCK_HEIGHT EQU $ 06
VERMILION_DOCK_WIDTH EQU $ 0 e
2012-01-15 18:15:45 +00:00
; SSAnne1_h map_id=95
2012-01-17 05:31:20 +00:00
SS_ANNE_1_HEIGHT EQU $ 09
SS_ANNE_1_WIDTH EQU $ 14
2012-01-15 18:15:45 +00:00
; SSAnne2_h map_id=96
2012-01-17 05:31:20 +00:00
SS_ANNE_2_HEIGHT EQU $ 09
SS_ANNE_2_WIDTH EQU $ 14
2012-01-15 18:15:45 +00:00
; SSAnne3_h map_id=97
2012-01-17 05:31:20 +00:00
SS_ANNE_3_HEIGHT EQU $ 03
SS_ANNE_3_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; SSAnne4_h map_id=98
2012-01-17 05:31:20 +00:00
SS_ANNE_4_HEIGHT EQU $ 04
SS_ANNE_4_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; SSAnne5_h map_id=99
2012-01-17 05:31:20 +00:00
SS_ANNE_5_HEIGHT EQU $ 07
SS_ANNE_5_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; SSAnne6_h map_id=100
2012-01-17 05:31:20 +00:00
SS_ANNE_6_HEIGHT EQU $ 08
SS_ANNE_6_WIDTH EQU $ 07
2012-01-15 18:15:45 +00:00
; SSAnne7_h map_id=101
2012-01-17 05:31:20 +00:00
SS_ANNE_7_HEIGHT EQU $ 04
SS_ANNE_7_WIDTH EQU $ 03
2012-01-15 18:15:45 +00:00
; SSAnne8_h map_id=102
2012-01-17 05:31:20 +00:00
SS_ANNE_8_HEIGHT EQU $ 08
SS_ANNE_8_WIDTH EQU $ 0 c
2012-01-15 18:15:45 +00:00
; SSAnne9_h map_id=103
2012-01-17 05:31:20 +00:00
SS_ANNE_9_HEIGHT EQU $ 08
SS_ANNE_9_WIDTH EQU $ 0 c
2012-01-15 18:15:45 +00:00
; SSAnne10_h map_id=104
2012-01-17 05:31:20 +00:00
SS_ANNE_10_HEIGHT EQU $ 08
SS_ANNE_10_WIDTH EQU $ 0 c
2012-01-15 18:15:45 +00:00
; VictoryRoad1_h map_id=108
2012-01-17 05:31:20 +00:00
VICTORY_ROAD_1_HEIGHT EQU $ 09
VICTORY_ROAD_1_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; Lance_h map_id=113
2012-01-17 05:31:20 +00:00
LANCES_ROOM_HEIGHT EQU $ 0 d
LANCES_ROOM_WIDTH EQU $ 0 d
2012-01-15 18:15:45 +00:00
; HallofFameRoom_h map_id=118
2012-01-17 05:31:20 +00:00
HALL_OF_FAME_HEIGHT EQU $ 04
HALL_OF_FAME_WIDTH EQU $ 05
2012-01-15 18:15:45 +00:00
; UndergroundPathNS_h map_id=119
2012-01-17 05:31:20 +00:00
UNDERGROUND_PATH_NS_HEIGHT EQU $ 18
UNDERGROUND_PATH_NS_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; Gary_h map_id=120
2012-01-17 05:31:20 +00:00
CHAMPIONS_ROOM_HEIGHT EQU $ 04
CHAMPIONS_ROOM_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; UndergroundPathWE_h map_id=121
2012-01-17 05:31:20 +00:00
UNDERGROUND_PATH_WE_HEIGHT EQU $ 04
UNDERGROUND_PATH_WE_WIDTH EQU $ 19
2012-01-15 18:15:45 +00:00
; CeladonMart1_h map_id=122
2012-01-17 05:31:20 +00:00
CELADON_MART_1_HEIGHT EQU $ 04
CELADON_MART_1_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; CeladonMart2_h map_id=123
2012-01-17 05:31:20 +00:00
CELADON_MART_2_HEIGHT EQU $ 04
CELADON_MART_2_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; CeladonMart3_h map_id=124
2012-01-17 05:31:20 +00:00
CELADON_MART_3_HEIGHT EQU $ 04
CELADON_MART_3_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; CeladonMart4_h map_id=125
2012-01-17 05:31:20 +00:00
CELADON_MART_4_HEIGHT EQU $ 04
CELADON_MART_4_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; CeladonMartRoof_h map_id=126
2012-01-17 05:31:20 +00:00
CELADON_MART_5_HEIGHT EQU $ 04
CELADON_MART_5_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; CeladonMartElevator_h map_id=127
2012-01-17 05:31:20 +00:00
CELADON_MART_6_HEIGHT EQU $ 02
CELADON_MART_6_WIDTH EQU $ 02
2012-01-15 18:15:45 +00:00
; CeladonMansion1_h map_id=128
2012-01-17 05:31:20 +00:00
CELADON_MANSION_1_HEIGHT EQU $ 06
CELADON_MANSION_1_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; CeladonMansion2_h map_id=129
2012-01-17 05:31:20 +00:00
CELADON_MANSION_2_HEIGHT EQU $ 06
CELADON_MANSION_2_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; CeladonMansion3_h map_id=130
2012-01-17 05:31:20 +00:00
CELADON_MANSION_3_HEIGHT EQU $ 06
CELADON_MANSION_3_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; CeladonMansion4_h map_id=131
2012-01-17 05:31:20 +00:00
CELADON_MANSION_4_HEIGHT EQU $ 06
CELADON_MANSION_4_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; CeladonMansion5_h map_id=132
2012-01-17 05:31:20 +00:00
CELADON_MANSION_5_HEIGHT EQU $ 04
CELADON_MANSION_5_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; CeladonPokecenter_h map_id=133
2012-01-17 05:31:20 +00:00
CELADON_POKECENTER_HEIGHT EQU $ 04
CELADON_POKECENTER_WIDTH EQU $ 07
2012-01-15 18:15:45 +00:00
; CeladonGym_h map_id=134
2012-01-17 05:31:20 +00:00
CELADON_GYM_HEIGHT EQU $ 09
CELADON_GYM_WIDTH EQU $ 05
2012-01-15 18:15:45 +00:00
; CeladonGameCorner_h map_id=135
2012-01-17 05:31:20 +00:00
GAME_CORNER_HEIGHT EQU $ 09
GAME_CORNER_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; CeladonMart5_h map_id=136
2012-01-17 05:31:20 +00:00
CELADON_HOUSE_HEIGHT EQU $ 04
CELADON_HOUSE_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; CeladonPrizeRoom_h map_id=137
2012-01-17 05:31:20 +00:00
CELADONPRIZE_ROOM_HEIGHT EQU $ 04
CELADONPRIZE_ROOM_WIDTH EQU $ 05
2012-01-15 18:15:45 +00:00
; CeladonDiner_h map_id=138
2012-01-17 05:31:20 +00:00
CELADON_DINER_HEIGHT EQU $ 04
CELADON_DINER_WIDTH EQU $ 05
2012-01-15 18:15:45 +00:00
; CeladonHouse_h map_id=139
2012-01-17 05:31:20 +00:00
CELADON_HOUSE_2_HEIGHT EQU $ 04
CELADON_HOUSE_2_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; CeladonHotel_h map_id=140
2012-01-17 05:31:20 +00:00
CELADONHOTEL_HEIGHT EQU $ 04
CELADONHOTEL_WIDTH EQU $ 07
2012-01-15 18:15:45 +00:00
; LavenderPokecenter_h map_id=141
2012-01-17 05:31:20 +00:00
LAVENDER_POKECENTER_HEIGHT EQU $ 04
LAVENDER_POKECENTER_WIDTH EQU $ 07
2012-01-15 18:15:45 +00:00
; PokemonTower1_h map_id=142
2012-01-17 05:31:20 +00:00
POKEMONTOWER_1_HEIGHT EQU $ 09
POKEMONTOWER_1_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; PokemonTower2_h map_id=143
2012-01-17 05:31:20 +00:00
POKEMONTOWER_2_HEIGHT EQU $ 09
POKEMONTOWER_2_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; PokemonTower3_h map_id=144
2012-01-17 05:31:20 +00:00
POKEMONTOWER_3_HEIGHT EQU $ 09
POKEMONTOWER_3_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; PokemonTower4_h map_id=145
2012-01-17 05:31:20 +00:00
POKEMONTOWER_4_HEIGHT EQU $ 09
POKEMONTOWER_4_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; PokemonTower5_h map_id=146
2012-01-17 05:31:20 +00:00
POKEMONTOWER_5_HEIGHT EQU $ 09
POKEMONTOWER_5_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; PokemonTower6_h map_id=147
2012-01-17 05:31:20 +00:00
POKEMONTOWER_6_HEIGHT EQU $ 09
POKEMONTOWER_6_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; PokemonTower7_h map_id=148
2012-01-17 05:31:20 +00:00
POKEMONTOWER_7_HEIGHT EQU $ 09
POKEMONTOWER_7_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; LavenderHouse1_h map_id=149
2012-01-17 05:31:20 +00:00
LAVENDER_HOUSE_1_HEIGHT EQU $ 04
LAVENDER_HOUSE_1_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; LavenderMart_h map_id=150
2012-01-17 05:31:20 +00:00
LAVENDER_MART_HEIGHT EQU $ 04
LAVENDER_MART_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; LavenderHouse2_h map_id=151
2012-01-17 05:31:20 +00:00
LAVENDER_HOUSE_2_HEIGHT EQU $ 04
LAVENDER_HOUSE_2_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; FuchsiaMart_h map_id=152
2012-01-17 05:31:20 +00:00
FUCHSIA_MART_HEIGHT EQU $ 04
FUCHSIA_MART_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; FuchsiaHouse1_h map_id=153
2012-01-17 05:31:20 +00:00
FUCHSIA_HOUSE_1_HEIGHT EQU $ 04
FUCHSIA_HOUSE_1_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; FuchsiaPokecenter_h map_id=154
2012-01-17 05:31:20 +00:00
FUCHSIA_POKECENTER_HEIGHT EQU $ 04
FUCHSIA_POKECENTER_WIDTH EQU $ 07
2012-01-15 18:15:45 +00:00
; FuchsiaHouse2_h map_id=155
2012-01-17 05:31:20 +00:00
FUCHSIA_HOUSE_2_HEIGHT EQU $ 04
FUCHSIA_HOUSE_2_WIDTH EQU $ 05
2012-01-15 18:15:45 +00:00
; SafariZoneEntrance_h map_id=156
2012-01-17 05:31:20 +00:00
SAFARIZONEENTRANCE_HEIGHT EQU $ 03
SAFARIZONEENTRANCE_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; FuchsiaGym_h map_id=157
2012-01-17 05:31:20 +00:00
FUCHSIA_GYM_HEIGHT EQU $ 09
FUCHSIA_GYM_WIDTH EQU $ 05
2012-01-15 18:15:45 +00:00
; FuchsiaMeetingRoom_h map_id=158
2012-01-17 05:31:20 +00:00
FUCHSIAMEETINGROOM_HEIGHT EQU $ 04
FUCHSIAMEETINGROOM_WIDTH EQU $ 07
2012-01-15 18:15:45 +00:00
; SeafoamIslands2_h map_id=159
2012-01-17 05:31:20 +00:00
SEAFOAM_ISLANDS_2_HEIGHT EQU $ 09
SEAFOAM_ISLANDS_2_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; SeafoamIslands3_h map_id=160
2012-01-17 05:31:20 +00:00
SEAFOAM_ISLANDS_3_HEIGHT EQU $ 09
SEAFOAM_ISLANDS_3_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; SeafoamIslands4_h map_id=161
2012-01-17 05:31:20 +00:00
SEAFOAM_ISLANDS_4_HEIGHT EQU $ 09
SEAFOAM_ISLANDS_4_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; SeafoamIslands5_h map_id=162
2012-01-17 05:31:20 +00:00
SEAFOAM_ISLANDS_5_HEIGHT EQU $ 09
SEAFOAM_ISLANDS_5_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; VermilionHouse2_h map_id=163
2012-01-17 05:31:20 +00:00
VERMILION_HOUSE_2_HEIGHT EQU $ 04
VERMILION_HOUSE_2_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; FuchsiaHouse3_h map_id=164
2012-01-17 05:31:20 +00:00
FUCHSIA_HOUSE_3_HEIGHT EQU $ 04
FUCHSIA_HOUSE_3_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; Mansion1_h map_id=165
2012-01-17 05:31:20 +00:00
MANSION_1_HEIGHT EQU $ 0 e
MANSION_1_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; CinnabarGym_h map_id=166
2012-01-17 05:31:20 +00:00
CINNABAR_GYM_HEIGHT EQU $ 09
CINNABAR_GYM_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; Lab1_h map_id=167
2012-01-17 05:31:20 +00:00
CINNABAR_LAB_1_HEIGHT EQU $ 04
CINNABAR_LAB_1_WIDTH EQU $ 09
2012-01-15 18:15:45 +00:00
; Lab2_h map_id=168
2012-01-17 05:31:20 +00:00
CINNABAR_LAB_2_HEIGHT EQU $ 04
CINNABAR_LAB_2_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; Lab3_h map_id=169
2012-01-17 05:31:20 +00:00
CINNABAR_LAB_3_HEIGHT EQU $ 04
CINNABAR_LAB_3_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; Lab4_h map_id=170
2012-01-17 05:31:20 +00:00
CINNABAR_LAB_4_HEIGHT EQU $ 04
CINNABAR_LAB_4_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; CinnabarPokecenter_h map_id=171
2012-01-17 05:31:20 +00:00
CINNABAR_POKECENTER_HEIGHT EQU $ 04
CINNABAR_POKECENTER_WIDTH EQU $ 07
2012-01-15 18:15:45 +00:00
; CinnabarMart_h map_id=172
2012-01-17 05:31:20 +00:00
CINNABAR_MART_HEIGHT EQU $ 04
CINNABAR_MART_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; IndigoPlateauLobby_h map_id=174
2012-01-17 05:31:20 +00:00
INDIGO_PLATEAU_LOBBY_HEIGHT EQU $ 06
INDIGO_PLATEAU_LOBBY_WIDTH EQU $ 08
2012-01-15 18:15:45 +00:00
; CopycatsHouseF1_h map_id=175
2012-01-17 05:31:20 +00:00
COPYCATS_HOUSE_1F_HEIGHT EQU $ 04
COPYCATS_HOUSE_1F_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; CopycatsHouseF2_h map_id=176
2012-01-17 05:31:20 +00:00
COPYCATS_HOUSE_2F_HEIGHT EQU $ 04
COPYCATS_HOUSE_2F_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; FightingDojo_h map_id=177
2012-01-17 05:31:20 +00:00
FIGHTINGDOJO_HEIGHT EQU $ 06
FIGHTINGDOJO_WIDTH EQU $ 05
2012-01-15 18:15:45 +00:00
; SaffronGym_h map_id=178
2012-01-17 05:31:20 +00:00
SAFFRON_GYM_HEIGHT EQU $ 09
SAFFRON_GYM_WIDTH EQU $ 0 a
2012-01-15 18:15:45 +00:00
; SaffronHouse1_h map_id=179
2012-01-17 05:31:20 +00:00
SAFFRON_HOUSE_1_HEIGHT EQU $ 04
SAFFRON_HOUSE_1_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; SaffronMart_h map_id=180
2012-01-17 05:31:20 +00:00
SAFFRON_MART_HEIGHT EQU $ 04
SAFFRON_MART_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; SilphCo1_h map_id=181
2012-01-17 05:31:20 +00:00
SILPH_CO_1F_HEIGHT EQU $ 09
SILPH_CO_1F_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; SaffronPokecenter_h map_id=182
2012-01-17 05:31:20 +00:00
SAFFRON_POKECENTER_HEIGHT EQU $ 04
SAFFRON_POKECENTER_WIDTH EQU $ 07
2012-01-15 18:15:45 +00:00
; SaffronHouse2_h map_id=183
2012-01-17 05:31:20 +00:00
SAFFRON_HOUSE_2_HEIGHT EQU $ 04
SAFFRON_HOUSE_2_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
2012-03-16 04:45:52 +00:00
; Route15Gate1F_h map_id=184
ROUTE_15_GATE_1F_HEIGHT EQU $ 05
ROUTE_15_GATE_1F_WIDTH EQU $ 04
; Route15GateUpstairs_h map_id=185
ROUTE_15_GATE_2F_HEIGHT EQU 4
ROUTE_15_GATE_2F_WIDTH EQU 4
2012-01-15 18:15:45 +00:00
; Route16GateMap_h map_id=186
2012-01-17 05:31:20 +00:00
ROUTE_16_GATE_1F_HEIGHT EQU $ 07
ROUTE_16_GATE_1F_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; Route16GateUpstairs_h map_id=187
2012-01-17 05:31:20 +00:00
ROUTE_16_GATE_2F_HEIGHT EQU $ 04
ROUTE_16_GATE_2F_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; Route16House_h map_id=188
2012-01-17 05:31:20 +00:00
ROUTE_16_HOUSE_HEIGHT EQU $ 04
ROUTE_16_HOUSE_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; Route12House_h map_id=189
2012-01-17 05:31:20 +00:00
ROUTE_12_HOUSE_HEIGHT EQU $ 04
ROUTE_12_HOUSE_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; Route18Gate_h map_id=190
2012-01-17 05:31:20 +00:00
ROUTE_18_GATE_1F_HEIGHT EQU $ 05
ROUTE_18_GATE_1F_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; Route18GateHeader_h map_id=191
2012-01-17 05:31:20 +00:00
ROUTE_18_GATE_2F_HEIGHT EQU $ 04
ROUTE_18_GATE_2F_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; SeafoamIslands1_h map_id=192
2012-01-17 05:31:20 +00:00
SEAFOAM_ISLANDS_1_HEIGHT EQU $ 09
SEAFOAM_ISLANDS_1_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; Route22Gate_h map_id=193
2012-01-17 05:31:20 +00:00
ROUTE_22_GATE_HEIGHT EQU $ 04
ROUTE_22_GATE_WIDTH EQU $ 05
2012-01-15 18:15:45 +00:00
; VictoryRoad2_h map_id=194
2012-01-17 05:31:20 +00:00
VICTORY_ROAD_2_HEIGHT EQU $ 09
VICTORY_ROAD_2_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; Route12GateUpstairs_h map_id=195
2012-01-17 05:31:20 +00:00
ROUTE_12_GATE_2F_HEIGHT EQU $ 04
ROUTE_12_GATE_2F_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; VermilionHouse3_h map_id=196
2012-01-17 05:31:20 +00:00
VERMILION_HOUSE_3_HEIGHT EQU $ 04
VERMILION_HOUSE_3_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; DiglettsCave_h map_id=197
2012-01-17 05:31:20 +00:00
DIGLETTS_CAVE_HEIGHT EQU $ 12
DIGLETTS_CAVE_WIDTH EQU $ 14
2012-01-15 18:15:45 +00:00
; VictoryRoad3_h map_id=198
2012-01-17 05:31:20 +00:00
VICTORY_ROAD_3_HEIGHT EQU $ 09
VICTORY_ROAD_3_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; RocketHideout1_h map_id=199
2012-01-17 05:31:20 +00:00
ROCKET_HIDEOUT_1_HEIGHT EQU $ 0 e
ROCKET_HIDEOUT_1_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; RocketHideout2_h map_id=200
2012-01-17 05:31:20 +00:00
ROCKET_HIDEOUT_2_HEIGHT EQU $ 0 e
ROCKET_HIDEOUT_2_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; RocketHideout3_h map_id=201
2012-01-17 05:31:20 +00:00
ROCKET_HIDEOUT_3_HEIGHT EQU $ 0 e
ROCKET_HIDEOUT_3_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; RocketHideout4_h map_id=202
2012-01-17 05:31:20 +00:00
ROCKET_HIDEOUT_4_HEIGHT EQU $ 0 c
ROCKET_HIDEOUT_4_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; RocketHideoutElevator_h map_id=203
2012-01-17 05:31:20 +00:00
ROCKET_HIDEOUT_ELEVATOR_HEIGHT EQU $ 04
ROCKET_HIDEOUT_ELEVATOR_WIDTH EQU $ 03
2012-01-15 18:15:45 +00:00
; SilphCo2_h map_id=207
2012-01-17 05:31:20 +00:00
SILPH_CO_2F_HEIGHT EQU $ 09
SILPH_CO_2F_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; SilphCo3_h map_id=208
2012-01-17 05:31:20 +00:00
SILPH_CO_3F_HEIGHT EQU $ 09
SILPH_CO_3F_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; SilphCo4_h map_id=209
2012-01-17 05:31:20 +00:00
SILPH_CO_4F_HEIGHT EQU $ 09
SILPH_CO_4F_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; SilphCo5_h map_id=210
2012-01-17 05:31:20 +00:00
SILPH_CO_5F_HEIGHT EQU $ 09
SILPH_CO_5F_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; SilphCo6_h map_id=211
2012-01-17 05:31:20 +00:00
SILPH_CO_6F_HEIGHT EQU $ 09
SILPH_CO_6F_WIDTH EQU $ 0 d
2012-01-15 18:15:45 +00:00
; SilphCo7_h map_id=212
2012-01-17 05:31:20 +00:00
SILPH_CO_7F_HEIGHT EQU $ 09
SILPH_CO_7F_WIDTH EQU $ 0 d
2012-01-15 18:15:45 +00:00
; SilphCo8_h map_id=213
2012-01-17 05:31:20 +00:00
SILPH_CO_8F_HEIGHT EQU $ 09
SILPH_CO_8F_WIDTH EQU $ 0 d
2012-01-15 18:15:45 +00:00
; Mansion2_h map_id=214
2012-01-17 05:31:20 +00:00
MANSION_2_HEIGHT EQU $ 0 e
MANSION_2_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; Mansion3_h map_id=215
2012-01-17 05:31:20 +00:00
MANSION_3_HEIGHT EQU $ 09
MANSION_3_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; Mansion4_h map_id=216
2012-01-17 05:31:20 +00:00
MANSION_4_HEIGHT EQU $ 0 e
MANSION_4_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; SafariZoneEast_h map_id=217
2012-01-17 05:31:20 +00:00
SAFARI_ZONE_EAST_HEIGHT EQU $ 0 d
SAFARI_ZONE_EAST_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; SafariZoneNorth_h map_id=218
2012-01-17 05:31:20 +00:00
SAFARI_ZONE_NORTH_HEIGHT EQU $ 12
SAFARI_ZONE_NORTH_WIDTH EQU $ 14
2012-01-15 18:15:45 +00:00
; SafariZoneWest_h map_id=219
2012-01-17 05:31:20 +00:00
SAFARI_ZONE_WEST_HEIGHT EQU $ 0 d
SAFARI_ZONE_WEST_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; SafariZoneCenter_h map_id=220
2012-01-17 05:31:20 +00:00
SAFARI_ZONE_CENTER_HEIGHT EQU $ 0 d
SAFARI_ZONE_CENTER_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; SafariZoneRestHouse1_h map_id=221
2012-01-17 05:31:20 +00:00
SAFARI_ZONE_REST_HOUSE_1_HEIGHT EQU $ 04
SAFARI_ZONE_REST_HOUSE_1_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; SafariZoneSecretHouse_h map_id=222
2012-01-17 05:31:20 +00:00
SAFARI_ZONE_SECRET_HOUSE_HEIGHT EQU $ 04
SAFARI_ZONE_SECRET_HOUSE_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; SafariZoneRestHouse2_h map_id=223
2012-01-17 05:31:20 +00:00
SAFARI_ZONE_REST_HOUSE_2_HEIGHT EQU $ 04
SAFARI_ZONE_REST_HOUSE_2_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; SafariZoneRestHouse3_h map_id=224
2012-01-17 05:31:20 +00:00
SAFARI_ZONE_REST_HOUSE_3_HEIGHT EQU $ 04
SAFARI_ZONE_REST_HOUSE_3_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; SafariZoneRestHouse4_h map_id=225
2012-01-17 05:31:20 +00:00
SAFARI_ZONE_REST_HOUSE_4_HEIGHT EQU $ 04
SAFARI_ZONE_REST_HOUSE_4_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; UnknownDungeon2_h map_id=226
2012-01-17 05:31:20 +00:00
UNKNOWN_DUNGEON_2_HEIGHT EQU $ 09
UNKNOWN_DUNGEON_2_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; UnknownDungeon3_h map_id=227
2012-01-17 05:31:20 +00:00
UNKNOWN_DUNGEON_3_HEIGHT EQU $ 09
UNKNOWN_DUNGEON_3_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; UnknownDungeon1_h map_id=228
2012-01-17 05:31:20 +00:00
UNKNOWN_DUNGEON_1_HEIGHT EQU $ 09
UNKNOWN_DUNGEON_1_WIDTH EQU $ 0 f
2012-01-15 18:15:45 +00:00
; NameRater_h map_id=229
2012-01-17 05:31:20 +00:00
NAME_RATERS_HOUSE_HEIGHT EQU $ 04
NAME_RATERS_HOUSE_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; CeruleanHouse3_h map_id=230
2012-01-17 05:31:20 +00:00
CERULEAN_HOUSE_3_HEIGHT EQU $ 04
CERULEAN_HOUSE_3_WIDTH EQU $ 04
2012-01-15 18:15:45 +00:00
; RockTunnel2_h map_id=232
2012-01-17 05:31:20 +00:00
ROCK_TUNNEL_2_HEIGHT EQU $ 12
ROCK_TUNNEL_2_WIDTH EQU $ 14
2012-01-15 18:15:45 +00:00
; SilphCo9_h map_id=233
2012-01-17 05:31:20 +00:00
SILPH_CO_9F_HEIGHT EQU $ 09
SILPH_CO_9F_WIDTH EQU $ 0 d
2012-01-15 18:15:45 +00:00
; SilphCo10_h map_id=234
2012-01-17 05:31:20 +00:00
SILPH_CO_10F_HEIGHT EQU $ 09
SILPH_CO_10F_WIDTH EQU $ 08
2012-01-15 18:15:45 +00:00
; SilphCo11_h map_id=235
2012-01-17 05:31:20 +00:00
SILPH_CO_11F_HEIGHT EQU $ 09
SILPH_CO_11F_WIDTH EQU $ 09
2012-01-15 18:15:45 +00:00
; SilphCoElevator_h map_id=236
2012-01-17 05:31:20 +00:00
SILPH_CO_ELEVATOR_HEIGHT EQU $ 02
SILPH_CO_ELEVATOR_WIDTH EQU $ 02
2012-01-15 18:15:45 +00:00
; BattleCenterM_h map_id=239
2012-01-17 05:31:20 +00:00
BATTLE_CENTER_HEIGHT EQU $ 04
BATTLE_CENTER_WIDTH EQU $ 05
2012-01-15 18:15:45 +00:00
; TradeCenterM_h map_id=240
2012-01-17 05:31:20 +00:00
TRADE_CENTER_HEIGHT EQU $ 04
TRADE_CENTER_WIDTH EQU $ 05
2012-01-15 18:15:45 +00:00
; Lorelei_h map_id=245
2012-01-17 05:31:20 +00:00
LORELEIS_ROOM_HEIGHT EQU $ 06
LORELEIS_ROOM_WIDTH EQU $ 05
2012-01-15 18:15:45 +00:00
; Bruno_h map_id=246
2012-01-17 05:31:20 +00:00
BRUNOS_ROOM_HEIGHT EQU $ 06
BRUNOS_ROOM_WIDTH EQU $ 05
2012-01-15 18:15:45 +00:00
; Agatha_h map_id=247
2012-01-17 05:31:20 +00:00
AGATHAS_ROOM_HEIGHT EQU $ 06
2012-01-21 02:47:40 +00:00
AGATHAS_ROOM_WIDTH EQU $ 05
2012-01-21 05:41:08 +00:00
;Sound Constants (Copied from pkms.asm with modifications)
MUSIC EQU 0
SFX EQU 4
CH1 EQU 0
CH2 EQU 1
CH3 EQU 2
CH4 EQU 3
;Note Pitch
noteC EQU $ 0
noteC# EQU $ 1
noteD EQU $ 2
noteD# EQU $ 3
noteE EQU $ 4
noteF EQU $ 5
noteF# EQU $ 6
noteG EQU $ 7
noteG# EQU $ 8
noteA EQU $ 9
noteA# EQU $ A
noteB EQU $ B
noteRst EQU $ C
;Note Delay
note16 EQU $ 0 ;1/16
note8 EQU $ 1 ;1/8
note8_16 EQU $ 2 ;1/8 + 1/16
note4 EQU $ 3 ;1/4
note4_16 EQU $ 4 ;1/4 + 1/16
note4_8 EQU $ 5 ;1/4 + 1/8
note4_8_16 EQU $ 6 ;1/4 + 1/8 + 1/16
note2 EQU $ 7 ;1/2
note2_16 EQU $ 8 ;1/2 + 1/16
note2_8 EQU $ 9 ;1/2 + 1/8
note2_8_16 EQU $ A ;1/2 + 1/8 + 1/16
note2_4 EQU $ B ;1/2 + 1/4
note2_4_16 EQU $ C ;1/2 + 1/4 + 1/16
note2_4_8 EQU $ D ;1/2 + 1/4 + 1/8
note2_4_8_16 EQU $ E ;1/2 + 1/4 + 1/8 + 1/16
note1 EQU $ F ;1
;Drum
dNote EQU $ B0
dRst EQU $ C0
d5d3Spd EQU $ D4
d4d3Spd EQU $ D8
dNormSpd EQU $ DC
d2Spd EQU $ D0
; octaves
oct0 EQU $ E7
oct1 EQU $ E6
oct2 EQU $ E5
oct3 EQU $ E4
oct4 EQU $ E3
oct5 EQU $ E2
oct6 EQU $ E1
oct7 EQU $ E0
2012-01-21 11:02:39 +00:00
;duty
duty12_5 EQU $ 0
duty25 EQU $ 1
duty50 EQU $ 2
duty75 EQU $ 3
2012-01-21 05:41:08 +00:00
;Write a music note
;format: mus_note pitch delay
mus_note: MACRO
db (( \ 1 << 4 ) | \ 2 )
ENDM
2012-01-23 07:42:37 +00:00
;Write an octave note
;format: mus_octave octave
mus_octave: MACRO
db \ 1
ENDM
2012-01-21 05:41:08 +00:00
; set velocity/note fade (\1 is velocity, \2 is note length, both 0-15)
; format: mus_vel vel, length
mus_vel: MACRO
db $ DC
db (( \ 1 << 4 ) | \ 2 )
ENDM
; stop sound
; format: mus_end
mus_end: MACRO
db $ FF
ENDM
; ???
; format: mus_E8
mus_E8: MACRO
db $ E8
ENDM
; set modulation (\1 is delay, \2 is depth, \3 is rate)
; format: mus_mod delay, depth, rate
mus_mod: MACRO
db $ EA
db \ 1
db (( \ 2 << 4 ) | \ 3 )
ENDM
; set duty cycle (\1: 0 = 12.5%, 1 = 25%, 2 = 50%, 3 = 75%)
; format: mus_duty duty
mus_duty: MACRO
db $ EC
db \ 1
ENDM
; set music tempo (\1 is divider, \2 is modifier)
; format: mus_tempo divider, modifier
mus_tempo: MACRO
db $ ED
db \ 1
db \ 2
ENDM
; set volume (\1 is volume)
; format: mus_volume volume
; (may actually be panning?)
mus_volume: MACRO
db $ F0
db \ 1
ENDM
; call \1
; format: mus_call offset
mus_call: MACRO
db $ FD
2012-01-23 07:42:37 +00:00
;dw ((\1 % $4000) + ((\1 >= $4000) * $4000))
dw \ 1
2012-01-21 05:41:08 +00:00
ENDM
; jump \1 \2
2012-01-23 07:42:37 +00:00
; format: mus_jump loop offset
2012-01-21 05:41:08 +00:00
mus_jump: MACRO
db $ FE
2012-01-23 07:42:37 +00:00
db \ 1
dw \ 2
;dw ((\2 % $4000) + ((\2 >= $4000) * $4000))
2012-01-21 05:41:08 +00:00
ENDM