summaryrefslogtreecommitdiff
path: root/wram.asm
diff options
context:
space:
mode:
Diffstat (limited to 'wram.asm')
-rw-r--r--wram.asm905
1 files changed, 451 insertions, 454 deletions
diff --git a/wram.asm b/wram.asm
index f0a68f76..d96fdaf8 100644
--- a/wram.asm
+++ b/wram.asm
@@ -1,11 +1,13 @@
+INCLUDE "constants/wram_constants.asm"
+
SECTION "WRAM Bank 0", WRAM0
SECTION "Sprite State Data", WRAM0[$c100]
-wSpriteStateData1: ; c100
+wSpriteStateData1:: ; c100
; data for all sprites on the current map
; holds info for 16 sprites with $10 bytes each
; player sprite is always sprite 0
@@ -27,7 +29,7 @@ wSpriteStateData1: ; c100
; C1xF
ds $10 * $10
-wSpriteStateData2: ; c200
+wSpriteStateData2:: ; c200
; more data for all sprites on the current map
; holds info for 16 sprites with $10 bytes each
; player sprite is always sprite 0
@@ -50,18 +52,18 @@ wSpriteStateData2: ; c200
ds $10 * $10
-wOAMBuffer: ; c300
+wOAMBuffer:: ; c300
; buffer for OAM data. Copied to OAM by DMA
ds 4 * 40
SECTION "Tile Map", WRAM0[$c3a0]
-wTileMap: ; c3a0
+wTileMap:: ; c3a0
; buffer for tiles that are visible on screen (20 columns by 18 rows)
ds 20 * 18
-wTileMapBackup: ; c508
+wTileMapBackup:: ; c508
; buffer for temporarily saving and restoring current screen's tiles
; (e.g. if menus are drawn on top)
ds 20 * 18
@@ -71,36 +73,36 @@ wTileMapBackup: ; c508
SECTION "Screen Edge Tiles", WRAM0[$cbfc]
-wScreenEdgeTiles: ; cbfc
+wScreenEdgeTiles:: ; cbfc
; the tiles of the row or column to be redrawn by RedrawExposedScreenEdge
ds 20 * 2
; coordinates of the position of the cursor for the top menu item (id 0)
-wTopMenuItemY: ; cc24
+wTopMenuItemY:: ; cc24
ds 1
-wTopMenuItemX: ; cc25
+wTopMenuItemX:: ; cc25
ds 1
-wCurrentMenuItem: ; cc26
+wCurrentMenuItem:: ; cc26
; the id of the currently selected menu item
; the top item has id 0, the one below that has id 1, etc.
; note that the "top item" means the top item currently visible on the screen
; add this value to [wListScrollOffset] to get the item's position within the list
ds 1
-wTileBehindCursor: ; cc27
+wTileBehindCursor:: ; cc27
; the tile that was behind the menu cursor's current location
ds 1
-wMaxMenuItem: ; cc28
+wMaxMenuItem:: ; cc28
; id of the bottom menu item
ds 1
-wMenuWatchedKeys: ; cc29
+wMenuWatchedKeys:: ; cc29
; bit mask of keys that the menu will respond to
ds 1
-wLastMenuItem: ; cc2a
+wLastMenuItem:: ; cc2a
; id of previously selected menu item
ds 1
@@ -108,76 +110,76 @@ wLastMenuItem: ; cc2a
ds 3
-wPlayerMoveListIndex: ; cc2e
+wPlayerMoveListIndex:: ; cc2e
ds 1
-wPlayerMonNumber: ; cc2f
+wPlayerMonNumber:: ; cc2f
ds 1
-wMenuCursorLocation: ; cc30
+wMenuCursorLocation:: ; cc30
; the address of the menu cursor's current location within wTileMap
ds 2
ds 2
-wMenuJoypadPollCount: ; cc34
+wMenuJoypadPollCount:: ; cc34
; how many times should HandleMenuInput poll the joypad state before it returns?
ds 1
ds 1
-wListScrollOffset: ; cc36
+wListScrollOffset:: ; cc36
; offset of the current top menu item from the beginning of the list
; keeps track of what section of the list is on screen
ds 1
ds 19
-wMenuWrappingEnabled: ; cc4a
+wMenuWrappingEnabled:: ; cc4a
; 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
ds 1
ds 10
-wTrainerHeaderFlagBit: ; cc55
+wTrainerHeaderFlagBit:: ; cc55
ds 1
; cc56
SECTION "RLE", WRAM0[$ccd2]
-wRLEByteCount: ; ccd2
+wRLEByteCount:: ; ccd2
ds 1
ds 4
; current HP of player and enemy substitutes
-wPlayerSubstituteHP: ; ccd7
+wPlayerSubstituteHP:: ; ccd7
ds 1
-wEnemySubstituteHP: ; ccd8
+wEnemySubstituteHP:: ; ccd8
ds 1
ds 2
-wMoveMenuType: ; ccdb
+wMoveMenuType:: ; ccdb
; 0=regular, 1=mimic, 2=above message box (relearn, heal pp..)
ds 1
-wPlayerSelectedMove: ; ccdc
+wPlayerSelectedMove:: ; ccdc
ds 1
-wEnemySelectedMove: ; ccdd
+wEnemySelectedMove:: ; ccdd
ds 1
ds 1
-wAICount: ; ccdf
+wAICount:: ; ccdf
; number of times remaining that AI action can occur
ds 1
ds 2
-wEnemyMoveListIndex: ; cce2
+wEnemyMoveListIndex:: ; cce2
ds 1
; cce3
@@ -189,214 +191,214 @@ SECTION "Stat Modifiers", WRAM0[$cd1a]
; value can range from 1 - 13 ($1 to $D)
; 7 is normal
-wPlayerMonStatMods:
-wPlayerMonAttackMod: ; cd1a
+wPlayerMonStatMods::
+wPlayerMonAttackMod:: ; cd1a
ds 1
-wPlayerMonDefenseMod: ; cd1b
+wPlayerMonDefenseMod:: ; cd1b
ds 1
-wPlayerMonSpeedMod: ; cd1c
+wPlayerMonSpeedMod:: ; cd1c
ds 1
-wPlayerMonSpecialMod: ; cd1d
+wPlayerMonSpecialMod:: ; cd1d
ds 1
-wPlayerMonAccuracyMod: ; cd1e
+wPlayerMonAccuracyMod:: ; cd1e
ds 1
-wPlayerMonEvasionMod: ; cd1f
+wPlayerMonEvasionMod:: ; cd1f
ds 1
ds 13
-wEngagedTrainerClass: ; cd2d
+wEngagedTrainerClass:: ; cd2d
ds 1
-wEngagedTrainerSet: ; cd2e
+wEngagedTrainerSet:: ; cd2e
; ds 1
; stat modifiers for the enemy's current pokemon
; value can range from 1 - 13 ($1 to $D)
; 7 is normal
-wEnemyMonStatMods:
-wEnemyMonAttackMod: ; cd2e
+wEnemyMonStatMods::
+wEnemyMonAttackMod:: ; cd2e
ds 1
-wEnemyMonDefenseMod: ; cd2f
+wEnemyMonDefenseMod:: ; cd2f
ds 1
-wEnemyMonSpeedMod: ; cd30
+wEnemyMonSpeedMod:: ; cd30
ds 1
-wEnemyMonSpecialMod: ; cd31
+wEnemyMonSpecialMod:: ; cd31
ds 1
-wEnemyMonAccuracyMod: ; cd32
+wEnemyMonAccuracyMod:: ; cd32
ds 1
-wEnemyMonEvasionMod: ; cd33
+wEnemyMonEvasionMod:: ; cd33
ds 1
ds 9
-wWhichTrade: ; cd3d
+wWhichTrade:: ; cd3d
; which entry from TradeMons to select
; ds 1
-wTrainerSpriteOffset: ; cd3d
+wTrainerSpriteOffset:: ; cd3d
ds 1
-wTrainerEngageDistance: ; cd3e
+wTrainerEngageDistance:: ; cd3e
ds 1
-wTrainerFacingDirection: ; cd3f
+wTrainerFacingDirection:: ; cd3f
ds 1
-wTrainerScreenY: ; cd40
+wTrainerScreenY:: ; cd40
ds 1
-wTrainerScreenX: ; cd41
+wTrainerScreenX:: ; cd41
ds 1
ds 30
-wFlags_0xcd60: ; cd60
+wFlags_0xcd60:: ; cd60
; bit 0: is player engaged by trainer (to avoid being engaged by multiple trainers simultaniously)
ds 1
ds 10
-wJoypadForbiddenButtonsMask: ; cd6b
+wJoypadForbiddenButtonsMask:: ; cd6b
; bit 1 means button presses will be ignored for that button
ds 1
ds 21
-wTileMapBackup2: ; cd81
+wTileMapBackup2:: ; cd81
; second buffer for temporarily saving and restoring current screen's tiles (e.g. if menus are drawn on top)
ds 20 * 18
-wBuffer: ; cee9
+wBuffer:: ; cee9
; used for temporary things
-wHPBarMaxHP: ; cee9
+wHPBarMaxHP:: ; cee9
ds 2
-wHPBarOldHP: ; ceeb
+wHPBarOldHP:: ; ceeb
ds 2
-wHPBarNewHP: ; ceed
+wHPBarNewHP:: ; ceed
ds 2
-wHPBarDelta: ; ceef
+wHPBarDelta:: ; ceef
ds 1
ds 13
-wHPBarHPDifference: ; cefd
+wHPBarHPDifference:: ; cefd
ds 1
ds 9
-wAnimSoundID: ; cf07
+wAnimSoundID:: ; cf07
; sound ID during battle animations
ds 1
ds 12
-wCurSpriteMovement2: ; cf14
+wCurSpriteMovement2:: ; cf14
; movement byte 2 of current sprite
ds 1
ds 74
-wGymCityName: ; cf5f
-wStringBuffer1: ; cf5f
+wGymCityName:: ; cf5f
+wStringBuffer1:: ; cf5f
ds 16 + 1
-wGymLeaderName: ; cf70
-wStringBuffer2: ; cf70
+wGymLeaderName:: ; cf70
+wStringBuffer2:: ; cf70
ds 16 + 1
-wStringBuffer3: ; cf81
+wStringBuffer3:: ; cf81
ds 16 + 1
-wWhichPokemon: ; cf92
+wWhichPokemon:: ; cf92
; which pokemon you selected
ds 1
ds 1
-wListMenuID: ; cf94
+wListMenuID:: ; cf94
; ID used by DisplayListMenuID
ds 1
ds 48
-wWalkCounter: ; cfc5
+wWalkCounter:: ; cfc5
; walk animation counter
ds 1
ds 1
-wMusicHeaderPointer: ; cfc7
+wMusicHeaderPointer:: ; cfc7
; (the current music channel address - $4000) / 3
ds 1
ds 4
-W_ENEMYMOVENUM: ; cfcc
+W_ENEMYMOVENUM:: ; cfcc
ds 1
-W_ENEMYMOVEEFFECT: ; cfcd
+W_ENEMYMOVEEFFECT:: ; cfcd
ds 1
-W_ENEMYMOVEPOWER: ; cfce
+W_ENEMYMOVEPOWER:: ; cfce
ds 1
-W_ENEMYMOVETYPE: ; cfcf
+W_ENEMYMOVETYPE:: ; cfcf
ds 1
-W_ENEMYMOVEACCURACY: ; cfd0
+W_ENEMYMOVEACCURACY:: ; cfd0
ds 1
-W_ENEMYMOVEMAXPP: ; cfd1
+W_ENEMYMOVEMAXPP:: ; cfd1
ds 1
-W_PLAYERMOVENUM: ; cfd2
+W_PLAYERMOVENUM:: ; cfd2
ds 1
-W_PLAYERMOVEEFFECT: ; cfd3
+W_PLAYERMOVEEFFECT:: ; cfd3
ds 1
-W_PLAYERMOVEPOWER: ; cfd4
+W_PLAYERMOVEPOWER:: ; cfd4
ds 1
-W_PLAYERMOVETYPE: ; cfd5
+W_PLAYERMOVETYPE:: ; cfd5
ds 1
-W_PLAYERMOVEACCURACY: ; cfd6
+W_PLAYERMOVEACCURACY:: ; cfd6
ds 1
-W_PLAYERMOVEMAXPP: ; cfd7
+W_PLAYERMOVEMAXPP:: ; cfd7
ds 1
-W_ENEMYMONID: ; cfd8
+W_ENEMYMONID:: ; cfd8
ds 1
ds 1
-W_ENEMYMONNAME: ; cfda
+W_ENEMYMONNAME:: ; cfda
ds 11
ds 1
-W_ENEMYMONCURHP: ; cfe6
+W_ENEMYMONCURHP:: ; cfe6
; active opponent's hp (16 bits)
ds 2
-W_ENEMYMONNUMBER: ; cfe8
+W_ENEMYMONNUMBER:: ; cfe8
; active opponent's position in team (0 to 5)
ds 1
-W_ENEMYMONSTATUS: ; cfe9
+W_ENEMYMONSTATUS:: ; cfe9
; active opponent's status condition
ds 1
-W_ENEMYMONTYPES: ; cfea
-W_ENEMYMONTYPE1: ; cfea
+W_ENEMYMONTYPES:: ; cfea
+W_ENEMYMONTYPE1:: ; cfea
ds 1
-W_ENEMYMONTYPE2: ; cfeb
+W_ENEMYMONTYPE2:: ; cfeb
ds 1
ds 1
-W_ENEMYMONMOVES: ; cfed
+W_ENEMYMONMOVES:: ; cfed
ds 4
-W_ENEMYMONATKDEFIV: ; cff1
+W_ENEMYMONATKDEFIV:: ; cff1
ds 1
-W_ENEMYMONSPDSPCIV: ; cff2
+W_ENEMYMONSPDSPCIV:: ; cff2
ds 1
-W_ENEMYMONLEVEL: ; cff3
+W_ENEMYMONLEVEL:: ; cff3
ds 1
-W_ENEMYMONMAXHP: ; cff4
+W_ENEMYMONMAXHP:: ; cff4
ds 2
-W_ENEMYMONATTACK: ; cff6
+W_ENEMYMONATTACK:: ; cff6
ds 2
-W_ENEMYMONDEFENSE: ; cff8
+W_ENEMYMONDEFENSE:: ; cff8
ds 2
-W_ENEMYMONSPEED: ; cffa
+W_ENEMYMONSPEED:: ; cffa
ds 2
-W_ENEMYMONSPECIAL: ; cffc
+W_ENEMYMONSPECIAL:: ; cffc
ds 2
-W_ENEMYMONPP: ; cffe
+W_ENEMYMONPP:: ; cffe
; four moves (extends past $cfff)
ds 2
@@ -407,73 +409,73 @@ SECTION "WRAM Bank 1", WRAMX, BANK[1]
ds 7
-W_PLAYERMONNAME: ; d009
+W_PLAYERMONNAME:: ; d009
ds 11
-W_PLAYERMONID: ; d014
+W_PLAYERMONID:: ; d014
ds 1
-W_PLAYERMONCURHP: ; d015
+W_PLAYERMONCURHP:: ; d015
ds 2
ds 1
-W_PLAYERMONSTATUS: ; d018
+W_PLAYERMONSTATUS:: ; d018
; the status of the player’s current monster
ds 1
-W_PLAYERMONTYPES: ; d019
-W_PLAYERMONTYPE1: ; d019
+W_PLAYERMONTYPES:: ; d019
+W_PLAYERMONTYPE1:: ; d019
ds 1
-W_PLAYERMONTYPE2: ; d01a
+W_PLAYERMONTYPE2:: ; d01a
ds 1
ds 1
-W_PLAYERMONMOVES: ; d01c
+W_PLAYERMONMOVES:: ; d01c
ds 4
-W_PLAYERMONIVS: ; d020
+W_PLAYERMONIVS:: ; d020
; 4x 4 bit: atk, def, spd, spc
ds 2
-W_PLAYERMONLEVEL: ; d022
+W_PLAYERMONLEVEL:: ; d022
ds 1
-W_PLAYERMONMAXHP: ; d023
+W_PLAYERMONMAXHP:: ; d023
ds 2
-W_PLAYERMONATK: ; d025
+W_PLAYERMONATK:: ; d025
ds 2
-W_PLAYERMONDEF: ; d027
+W_PLAYERMONDEF:: ; d027
ds 2
-W_PLAYERMONSPEED: ; d029
+W_PLAYERMONSPEED:: ; d029
ds 2
-W_PLAYERMONSPECIAL: ; d02b
+W_PLAYERMONSPECIAL:: ; d02b
ds 2
-W_PLAYERMONPP: ; d02d
+W_PLAYERMONPP:: ; d02d
ds 4
-W_TRAINERCLASS: ; d031
+W_TRAINERCLASS:: ; d031
ds 1
ds 24
-W_TRAINERNAME: ; d04a
+W_TRAINERNAME:: ; d04a
; 13 bytes for the letters of the opposing trainer
; the name is terminated with $50 with possible
; unused trailing letters
ds 13
-W_ISINBATTLE: ; d057
+W_ISINBATTLE:: ; d057
; no battle, this is 0
; wild battle, this is 1
; trainer battle, this is 2
ds 1
-W_PLAYERMONSALIVEFLAGS: ; d058
+W_PLAYERMONSALIVEFLAGS:: ; d058
; 6 bit array, 1 if player mon is alive
ds 1
-W_CUROPPONENT: ; d059
+W_CUROPPONENT:: ; d059
; in a wild battle, this is the species of pokemon
; in a trainer battle, this is the trainer class + $C8
ds 1
-W_BATTLETYPE: ; d05a
+W_BATTLETYPE:: ; d05a
; in normal battle, this is 0
; in old man battle, this is 1
; in safari battle, this is 2
@@ -481,23 +483,23 @@ W_BATTLETYPE: ; d05a
ds 1
-W_LONEATTACKNO: ; d05c
+W_LONEATTACKNO:: ; d05c
; which entry in LoneAttacks to use
-W_GYMLEADERNO: ; d05c
+W_GYMLEADERNO:: ; d05c
; it's actually the same thing as ^
ds 1
-W_TRAINERNO: ; d05d
+W_TRAINERNO:: ; d05d
; which instance of [youngster, lass, etc] is this?
ds 1
ds 1
-W_MOVEMISSED: ; d05f
+W_MOVEMISSED:: ; d05f
ds 1
ds 2
-W_PLAYERBATTSTATUS1: ; d062
+W_PLAYERBATTSTATUS1:: ; d062
; bit 0 - bide
; bit 1 - thrash / petal dance
; bit 2 - attacking multiple times (e.g. double kick)
@@ -508,7 +510,7 @@ W_PLAYERBATTSTATUS1: ; d062
; bit 7 - confusion
ds 1
-W_PLAYERBATTSTATUS2: ; d063
+W_PLAYERBATTSTATUS2:: ; d063
; bit 0 - X Accuracy effect
; bit 1 - protected by "mist"
; bit 2 - focus energy effect
@@ -518,7 +520,7 @@ W_PLAYERBATTSTATUS2: ; d063
; bit 7 - leech seeded
ds 1
-W_PLAYERBATTSTATUS3: ; d064
+W_PLAYERBATTSTATUS3:: ; d064
; bit 0 - toxic
; bit 1 - light screen
; bit 2 - reflect
@@ -527,71 +529,71 @@ W_PLAYERBATTSTATUS3: ; d064
ds 2
-W_ENEMYBATTSTATUS1: ; d067
+W_ENEMYBATTSTATUS1:: ; d067
ds 1
-W_ENEMYBATTSTATUS2: ; d068
+W_ENEMYBATTSTATUS2:: ; d068
ds 1
-W_ENEMYBATTSTATUS3: ; d069
+W_ENEMYBATTSTATUS3:: ; d069
ds 1
ds 2
-W_PLAYERTOXICCOUNTER: ; d06c
+W_PLAYERTOXICCOUNTER:: ; d06c
ds 1
-W_PLAYERDISABLEDMOVE: ; d06d
+W_PLAYERDISABLEDMOVE:: ; d06d
ds 1
ds 3
-W_ENEMYTOXICCOUNTER: ; d071
+W_ENEMYTOXICCOUNTER:: ; d071
ds 1
-W_ENEMYDISABLEDMOVE: ; d072
+W_ENEMYDISABLEDMOVE:: ; d072
ds 1
ds 1
-W_NUMHITS: ; d074
+W_NUMHITS:: ; d074
; number of hits in attacks like Doubleslap, etc.
ds 1
ds 7
-W_ANIMATIONID: ; d07c
+W_ANIMATIONID:: ; d07c
; ID number of the current battle animation
ds 1
ds 4
; base coordinates of frame block
-W_BASECOORDX: ; d081
+W_BASECOORDX:: ; d081
ds 1
-W_BASECOORDY: ; d082
+W_BASECOORDY:: ; d082
ds 1
ds 1
-W_FBTILECOUNTER: ; d084
+W_FBTILECOUNTER:: ; d084
; counts how many tiles of the current frame block have been drawn
ds 1
ds 1
-W_SUBANIMFRAMEDELAY: ; d086
+W_SUBANIMFRAMEDELAY:: ; d086
; duration of each frame of the current subanimation in terms of screen refreshes
ds 1
-W_SUBANIMCOUNTER: ; d087
+W_SUBANIMCOUNTER:: ; d087
; counts the number of subentries left in the current subanimation
ds 1
ds 1
-W_NUMFBTILES: ; d089
+W_NUMFBTILES:: ; d089
; number of tiles in current battle animation frame block
ds 1
ds 1
-W_SUBANIMTRANSFORM: ; d08b
+W_SUBANIMTRANSFORM:: ; d08b
; controls what transformations are applied to the subanimation
; 01: flip horizontally and vertically
; 02: flip horizontally and translate downwards 40 pixels
@@ -599,36 +601,36 @@ W_SUBANIMTRANSFORM: ; d08b
; 04: reverse the subanimation
ds 1
-W_PBSTOREDREGISTERH: ; d08c
+W_PBSTOREDREGISTERH:: ; d08c
ds 1
-W_PBSTOREDREGISTERL: ; d08d
+W_PBSTOREDREGISTERL:: ; d08d
ds 1
-W_PBSTOREDREGISTERD: ; d08e
+W_PBSTOREDREGISTERD:: ; d08e
ds 1
-W_PBSTOREDREGISTERE: ; d08f
+W_PBSTOREDREGISTERE:: ; d08f
ds 1
ds 2
-W_PBSTOREDROMBANK: ; d092
+W_PBSTOREDROMBANK:: ; d092
ds 1
ds 1
-W_SUBANIMADDRPTR: ; d094
+W_SUBANIMADDRPTR:: ; d094
; the address _of the address_ of the current subanimation entry
ds 2
-W_SUBANIMSUBENTRYADDR: ; d096
+W_SUBANIMSUBENTRYADDR:: ; d096
; the address of the current subentry of the current subanimation
ds 2
ds 4
-W_FBDESTADDR: ; d09c
+W_FBDESTADDR:: ; d09c
; current destination address in OAM for frame blocks (big endian)
ds 2
-W_FBMODE: ; d09e
+W_FBMODE:: ; 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
@@ -643,288 +645,286 @@ W_FBMODE: ; d09e
SECTION "Sprite Buffers", SRAM
-SPRITEBUFFERSIZE EQU 7*7 * 8 ; 7 * 7 (tiles) * 8 (bytes per tile)
-
-S_SPRITEBUFFER0: ; a000
+S_SPRITEBUFFER0:: ; a000
ds SPRITEBUFFERSIZE
-S_SPRITEBUFFER1: ; a188
+S_SPRITEBUFFER1:: ; a188
ds SPRITEBUFFERSIZE
-S_SPRITEBUFFER2: ; a310
+S_SPRITEBUFFER2:: ; a310
ds SPRITEBUFFERSIZE
SECTION "Sprites", WRAMX[$d0a1], BANK[1]
-W_SPRITECURPOSX: ; d0a1
+W_SPRITECURPOSX:: ; d0a1
ds 1
-W_SPRITECURPOSY: ; d0a2
+W_SPRITECURPOSY:: ; d0a2
ds 1
-W_SPRITEWITDH: ; d0a3
+W_SPRITEWITDH:: ; d0a3
ds 1
-W_SPRITEHEIGHT: ; d0a4
+W_SPRITEHEIGHT:: ; d0a4
ds 1
-W_SPRITEINPUTCURBYTE: ; d0a5
+W_SPRITEINPUTCURBYTE:: ; d0a5
; current input byte
ds 1
-W_SPRITEINPUTBITCOUNTER: ; d0a6
+W_SPRITEINPUTBITCOUNTER:: ; d0a6
; bit offset of last read input bit
ds 1
-W_SPRITEOUTPUTBITOFFSET: ; d0a7; determines where in the output byte the two bits are placed. Each byte contains four columns (2bpp data)
+W_SPRITEOUTPUTBITOFFSET:: ; d0a7; 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
ds 1
-W_SPRITELOADFLAGS: ; d0a8
+W_SPRITELOADFLAGS:: ; d0a8
; bit 0 determines used buffer (0 -> $a188, 1 -> $a310)
; bit 1 loading last sprite chunk? (there are at most 2 chunks per load operation)
ds 1
-W_SPRITEUNPACKMODE: ; d0a9
+W_SPRITEUNPACKMODE:: ; d0a9
ds 1
-W_SPRITEFLIPPED: ; d0aa
+W_SPRITEFLIPPED:: ; d0aa
ds 1
-W_SPRITEINPUTPTR: ; d0ab
+W_SPRITEINPUTPTR:: ; d0ab
; pointer to next input byte
ds 2
-W_SPRITEOUTPUTPTR: ; d0ad
+W_SPRITEOUTPUTPTR:: ; d0ad
; pointer to current output byte
ds 2
-W_SPRITEOUTPUTPTRCACHED: ; d0af
+W_SPRITEOUTPUTPTRCACHED:: ; d0af
; used to revert pointer for different bit offsets
ds 2
-W_SPRITEDECODETABLE0PTR: ; d0b1
+W_SPRITEDECODETABLE0PTR:: ; d0b1
; pointer to differential decoding table (assuming initial value 0)
ds 2
-W_SPRITEDECODETABLE1PTR: ; d0b3
+W_SPRITEDECODETABLE1PTR:: ; d0b3
; pointer to differential decoding table (assuming initial value 1)
ds 2
ds 1
-W_LISTTYPE: ; d0b6
+W_LISTTYPE:: ; d0b6
ds 1
ds 1
-W_MONHEADER: ; d0b8
-W_MONHDEXNUM: ; d0b8
+W_MONHEADER:: ; d0b8
+W_MONHDEXNUM:: ; d0b8
ds 1
-W_MONHBASESTATS: ; d0b9
-W_MONHBASEHP: ; d0b9
+W_MONHBASESTATS:: ; d0b9
+W_MONHBASEHP:: ; d0b9
ds 1
-W_MONHBASEATTACK: ; d0ba
+W_MONHBASEATTACK:: ; d0ba
ds 1
-W_MONHBASEDEFENSE: ; d0bb
+W_MONHBASEDEFENSE:: ; d0bb
ds 1
-W_MONHBASESPEED: ; d0bc
+W_MONHBASESPEED:: ; d0bc
ds 1
-W_MONHBASESPECIAL: ; d0bd
+W_MONHBASESPECIAL:: ; d0bd
ds 1
-W_MONHTYPES: ; d0be
-W_MONHTYPE1: ; d0be
+W_MONHTYPES:: ; d0be
+W_MONHTYPE1:: ; d0be
ds 1
-W_MONHTYPE2: ; d0bf
+W_MONHTYPE2:: ; d0bf
ds 1
-W_MONHCATCHRATE: ; d0c0
+W_MONHCATCHRATE:: ; d0c0
ds 1
-W_MONHBASEXP: ; d0c1
+W_MONHBASEXP:: ; d0c1
ds 1
-W_MONHSPRITEDIM: ; d0c2
+W_MONHSPRITEDIM:: ; d0c2
ds 1
-W_MONHFRONTSPRITE: ; d0c3
+W_MONHFRONTSPRITE:: ; d0c3
ds 2
-W_MONHBACKSPRITE: ; d0c5
+W_MONHBACKSPRITE:: ; d0c5
ds 2
-W_MONHMOVES: ; d0c7
+W_MONHMOVES:: ; d0c7
ds 4
-W_MONHGROWTHRATE: ; d0cb
+W_MONHGROWTHRATE:: ; d0cb
ds 1
-W_MONHLEARNSET: ; d0cc
+W_MONHLEARNSET:: ; d0cc
; bit field
ds 7
ds 4
-W_MONHPADDING: ; d0d7
+W_MONHPADDING:: ; d0d7
-W_DAMAGE: ; d0d7
+W_DAMAGE:: ; d0d7
ds 1
ds 79
-W_CURENEMYLVL: ; d127
+W_CURENEMYLVL:: ; d127
ds 1
ds 3
-W_ISLINKBATTLE: ; d12b
+W_ISLINKBATTLE:: ; d12b
ds 1
ds 17
-W_PRIZE1: ; d13d
+W_PRIZE1:: ; d13d
ds 1
-W_PRIZE2: ; d13e
+W_PRIZE2:: ; d13e
ds 1
-W_PRIZE3: ; d13f
+W_PRIZE3:: ; d13f
ds 1
ds 24
-W_PLAYERNAME: ; d158
+W_PLAYERNAME:: ; d158
ds 11
-W_NUMINPARTY: ; d163
+W_NUMINPARTY:: ; d163
ds 1
-W_PARTYMON1: ; d164
+W_PARTYMON1:: ; d164
ds 1
-W_PARTYMON2: ; d165
+W_PARTYMON2:: ; d165
ds 1
-W_PARTYMON3: ; d166
+W_PARTYMON3:: ; d166
ds 1
-W_PARTYMON4: ; d167
+W_PARTYMON4:: ; d167
ds 1
-W_PARTYMON5: ; d168
+W_PARTYMON5:: ; d168
ds 1
-W_PARTYMON6: ; d169
+W_PARTYMON6:: ; d169
ds 1
-W_PARTYMONEND: ; d16a
+W_PARTYMONEND:: ; d16a
ds 1
-W_PARTYMON1DATA: ; d16b
-W_PARTYMON1_NUM: ; d16b
+W_PARTYMON1DATA:: ; d16b
+W_PARTYMON1_NUM:: ; d16b
ds 1
-W_PARTYMON1_HP: ; d16c
+W_PARTYMON1_HP:: ; d16c
ds 2
-W_PARTYMON1_BOXLEVEL: ; d16e
+W_PARTYMON1_BOXLEVEL:: ; d16e
ds 1
-W_PARTYMON1_STATUS: ; d16f
+W_PARTYMON1_STATUS:: ; d16f
ds 1
-W_PARTYMON1_TYPE1: ; d170
+W_PARTYMON1_TYPE1:: ; d170
ds 1
-W_PARTYMON1_TYPE2: ; d171
+W_PARTYMON1_TYPE2:: ; d171
ds 1
-W_PARTYMON1_CRATE: ; d172
+W_PARTYMON1_CRATE:: ; d172
ds 1
-W_PARTYMON1_MOVE1: ; d173
+W_PARTYMON1_MOVE1:: ; d173
ds 1
-W_PARTYMON1_MOVE2: ; d174
+W_PARTYMON1_MOVE2:: ; d174
ds 1
-W_PARTYMON1_MOVE3: ; d175
+W_PARTYMON1_MOVE3:: ; d175
ds 1
-W_PARTYMON1_MOVE4: ; d176
+W_PARTYMON1_MOVE4:: ; d176
ds 1
-W_PARTYMON1_OTID: ; d177
+W_PARTYMON1_OTID:: ; d177
ds 2
-W_PARTYMON1_EXP: ; d179
+W_PARTYMON1_EXP:: ; d179
ds 3
-W_PARTYMON1_EVHP: ; d17c
+W_PARTYMON1_EVHP:: ; d17c
ds 2
-W_PARTYMON1_EVATTACK: ; d17e
+W_PARTYMON1_EVATTACK:: ; d17e
ds 2
-W_PARTYMON1_EVDEFENSE: ; d180
+W_PARTYMON1_EVDEFENSE:: ; d180
ds 2
-W_PARTYMON1_EVSPEED: ; d182
+W_PARTYMON1_EVSPEED:: ; d182
ds 2
-W_PARTYMON1_EVSECIAL: ; d184
+W_PARTYMON1_EVSECIAL:: ; d184
ds 2
-W_PARTYMON1_IV: ; d186
+W_PARTYMON1_IV:: ; d186
ds 2
-W_PARTYMON1_MOVE1PP: ; d188
+W_PARTYMON1_MOVE1PP:: ; d188
ds 1
-W_PARTYMON1_MOVE2PP: ; d189
+W_PARTYMON1_MOVE2PP:: ; d189
ds 1
-W_PARTYMON1_MOVE3PP: ; d18a
+W_PARTYMON1_MOVE3PP:: ; d18a
ds 1
-W_PARTYMON1_MOVE4PP: ; d18b
+W_PARTYMON1_MOVE4PP:: ; d18b
ds 1
-W_PARTYMON1_LEVEL: ; d18c
+W_PARTYMON1_LEVEL:: ; d18c
ds 1
-W_PARTYMON1_MAXHP: ; d18d
+W_PARTYMON1_MAXHP:: ; d18d
ds 2
-W_PARTYMON1_ATACK: ; d18f
+W_PARTYMON1_ATACK:: ; d18f
ds 2
-W_PARTYMON1_DEFENSE: ; d191
+W_PARTYMON1_DEFENSE:: ; d191
ds 2
-W_PARTYMON1_SPEED: ; d193
+W_PARTYMON1_SPEED:: ; d193
ds 2
-W_PARTYMON1_SPECIAL: ; d195
+W_PARTYMON1_SPECIAL:: ; d195
ds 2
-W_PARTYMON2DATA: ; d197
+W_PARTYMON2DATA:: ; d197
ds 44
-W_PARTYMON3DATA: ; d1c3
+W_PARTYMON3DATA:: ; d1c3
ds 44
-W_PARTYMON4DATA: ; d1ef
+W_PARTYMON4DATA:: ; d1ef
ds 44
-W_PARTYMON5DATA: ; d21b
+W_PARTYMON5DATA:: ; d21b
ds 44
-W_PARTYMON6DATA: ; d247
+W_PARTYMON6DATA:: ; d247
ds 44
-W_PARTYMON1OT: ; d273
+W_PARTYMON1OT:: ; d273
ds 11
-W_PARTYMON2OT: ; d27e
+W_PARTYMON2OT:: ; d27e
ds 11
-W_PARTYMON3OT: ; d289
+W_PARTYMON3OT:: ; d289
ds 11
-W_PARTYMON4OT: ; d294
+W_PARTYMON4OT:: ; d294
ds 11
-W_PARTYMON5OT: ; d29f
+W_PARTYMON5OT:: ; d29f
ds 11
-W_PARTYMON6OT: ; d2aa
+W_PARTYMON6OT:: ; d2aa
ds 11
-W_PARTYMON1NAME: ; d2b5
+W_PARTYMON1NAME:: ; d2b5
ds 11
-W_PARTYMON2NAME: ; d2c0
+W_PARTYMON2NAME:: ; d2c0
ds 11
-W_PARTYMON3NAME: ; d2cb
+W_PARTYMON3NAME:: ; d2cb
ds 11
-W_PARTYMON4NAME: ; d2d6
+W_PARTYMON4NAME:: ; d2d6
ds 11
-W_PARTYMON5NAME: ; d2e1
+W_PARTYMON5NAME:: ; d2e1
ds 11
-W_PARTYMON6NAME: ; d2ec
+W_PARTYMON6NAME:: ; d2ec
ds 11
SECTION "Pokedex", WRAMX[$d2f7], BANK[1]
-wPokedexOwned: ; d2f7
+wPokedexOwned:: ; d2f7
ds (150 / 8) + 1
-wPokedexOwnedEnd:
+wPokedexOwnedEnd::
-wPokedexSeen: ; d30a
+wPokedexSeen:: ; d30a
ds (150 / 8) + 1
-wPokedexSeenEnd:
+wPokedexSeenEnd::
-wNumBagItems: ; d31d
+wNumBagItems:: ; d31d
ds 1
-wBagItems: ; d31e
+wBagItems:: ; d31e
; item, quantity
ds 20 * 2
ds 1 ; end
; money is in decimal
-wPlayerMoney: ; d347
+wPlayerMoney:: ; d347
ds 3
-W_RIVALNAME: ; d34a
+W_RIVALNAME:: ; d34a
ds 11
-W_OPTIONS: ; d355
+W_OPTIONS:: ; d355
; bit 7 = battle animation
; 0: On
; 1: Off
@@ -937,123 +937,123 @@ W_OPTIONS: ; d355
; 5: Slow
ds 1
-W_OBTAINEDBADGES: ; d356
+W_OBTAINEDBADGES:: ; d356
ds 1
ds 2
-wPlayerID: ; d359
+wPlayerID:: ; d359
ds 2
ds 3
-W_CURMAP: ; d35e
+W_CURMAP:: ; d35e
ds 1
ds 2
-W_YCOORD: ; d361
+W_YCOORD:: ; d361
; player’s position on the current map
ds 1
-W_XCOORD: ; d362
+W_XCOORD:: ; d362
ds 1
-W_YBLOCKCOORD: ; d363
+W_YBLOCKCOORD:: ; d363
; player's y position (by block)
ds 1
-W_XBLOCKCOORD: ; d364
+W_XBLOCKCOORD:: ; d364
ds 3
-W_CURMAPTILESET: ; d367
+W_CURMAPTILESET:: ; d367
ds 1
-W_CURMAPHEIGHT: ; d368
+W_CURMAPHEIGHT:: ; d368
; blocks
ds 1
-W_CURMAPWIDTH: ; d369
+W_CURMAPWIDTH:: ; d369
; blocks
ds 1
-W_MAPDATAPTR: ; d36a
+W_MAPDATAPTR:: ; d36a
ds 2
-W_MAPTEXTPTR: ; d36c
+W_MAPTEXTPTR:: ; d36c
ds 2
-W_MAPSCRIPTPTR: ; d36e
+W_MAPSCRIPTPTR:: ; d36e
ds 2
-W_MAPCONNECTIONS: ; d370
+W_MAPCONNECTIONS:: ; d370
; connection byte
ds 1
-W_MAPCONN1PTR: ; d371
+W_MAPCONN1PTR:: ; d371
ds 2
ds 9
-W_MAPCONN2PTR: ; d37c
+W_MAPCONN2PTR:: ; d37c
ds 2
ds 9
-W_MAPCONN3PTR: ; d387
+W_MAPCONN3PTR:: ; d387
ds 2
ds 9
-W_MAPCONN4PTR: ; d392
+W_MAPCONN4PTR:: ; d392
ds 2
ds 9
-W_SPRITESET: ; d39d
+W_SPRITESET:: ; d39d
; sprite set for the current map (11 sprite picture ID's)
ds 11
-W_SPRITESETID: ; d3a8
+W_SPRITESETID:: ; d3a8
; sprite set ID for the current map
ds 1
ds 312
-W_NUMSPRITES: ; d4e1
+W_NUMSPRITES:: ; d4e1
; number of sprites on the current map
; two bytes per sprite (movement byte 2 , text ID)
ds 3
-W_MAPSPRITEDATA: ; d4e4
+W_MAPSPRITEDATA:: ; d4e4
; two bytes per sprite (trainer class/item ID , trainer set ID)
ds 32
-W_MAPSPRITEEXTRADATA: ; d504
+W_MAPSPRITEEXTRADATA:: ; d504
ds 39
-W_TILESETBANK: ; d52b
+W_TILESETBANK:: ; d52b
ds 1
-W_TILESETBLOCKSPTR: ; d52c
+W_TILESETBLOCKSPTR:: ; d52c
; maps blocks (4x4 tiles) to tiles
ds 2
-W_TILESETGFXPTR: ; d52e
+W_TILESETGFXPTR:: ; d52e
ds 2
-W_TILESETCOLLISIONPTR: ; d530
+W_TILESETCOLLISIONPTR:: ; d530
; list of all walkable tiles
ds 2
-W_TILESETTALKINGOVERTILES: ; d532
+W_TILESETTALKINGOVERTILES:: ; d532
ds 3
-W_GRASSTILE: ; d535
+W_GRASSTILE:: ; d535
ds 1
SECTION "Items", WRAMX[$d53a], BANK[1]
-wNumBoxItems: ; d53a
+wNumBoxItems:: ; d53a
ds 1
-wBoxItems: ; d53b
+wBoxItems:: ; d53b
; item, quantity
ds 50 * 2
ds 1 ; end
@@ -1061,397 +1061,394 @@ wBoxItems: ; d53b
ds 4
; coins are in decimal
-wPlayerCoins: ; d5a4
+wPlayerCoins:: ; d5a4
ds 2
-W_MISSABLEOBJECTFLAGS: ; d5a6
+W_MISSABLEOBJECTFLAGS:: ; d5a6
; bit array of missable objects. set = removed
ds 40
-W_MISSABLEOBJECTLIST: ; d5ce
+W_MISSABLEOBJECTLIST:: ; d5ce
; 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
ds 17 * 2
-W_GAMEPROGRESSFLAGS: ; d5f0
+W_GAMEPROGRESSFLAGS:: ; d5f0
; $c8 bytes
ds 0
-W_OAKSLABCURSCRIPT: ; d5f0
+W_OAKSLABCURSCRIPT:: ; d5f0
ds 1
-W_PALLETTOWNCURSCRIPT: ; d5f1
+W_PALLETTOWNCURSCRIPT:: ; d5f1
ds 1
ds 1
-W_BLUESHOUSECURSCRIPT: ; d5f3
+W_BLUESHOUSECURSCRIPT:: ; d5f3
ds 1
-W_VIRIDIANCITYCURSCRIPT: ; d5f4
+W_VIRIDIANCITYCURSCRIPT:: ; d5f4
ds 1
ds 2
-W_PEWTERCITYCURSCRIPT: ; d5f7
+W_PEWTERCITYCURSCRIPT:: ; d5f7
ds 1
-W_ROUTE3CURSCRIPT: ; d5f8
+W_ROUTE3CURSCRIPT:: ; d5f8
ds 1
-W_ROUTE4CURSCRIPT: ; d5f9
+W_ROUTE4CURSCRIPT:: ; d5f9
ds 1
ds 1
-W_VIRIDIANGYMCURSCRIPT: ; d5fb
+W_VIRIDIANGYMCURSCRIPT:: ; d5fb
ds 1
-W_PEWTERGYMCURSCRIPT: ; d5fc
+W_PEWTERGYMCURSCRIPT:: ; d5fc
ds 1
-W_CERULEANGYMCURSCRIPT: ; d5fd
+W_CERULEANGYMCURSCRIPT:: ; d5fd
ds 1
-W_VERMILIONGYMCURSCRIPT: ; d5fe
+W_VERMILIONGYMCURSCRIPT:: ; d5fe
ds 1
-W_CELADONGYMCURSCRIPT: ; d5ff
+W_CELADONGYMCURSCRIPT:: ; d5ff
ds 1
-W_ROUTE6CURSCRIPT: ; d600
+W_ROUTE6CURSCRIPT:: ; d600
ds 1
-W_ROUTE8CURSCRIPT: ; d601
+W_ROUTE8CURSCRIPT:: ; d601
ds 1
-W_ROUTE24CURSCRIPT: ; d602
+W_ROUTE24CURSCRIPT:: ; d602
ds 1
-W_ROUTE25CURSCRIPT: ; d603
+W_ROUTE25CURSCRIPT:: ; d603
ds 1
-W_ROUTE9CURSCRIPT: ; d604
+W_ROUTE9CURSCRIPT:: ; d604
ds 1
-W_ROUTE10CURSCRIPT: ; d605
+W_ROUTE10CURSCRIPT:: ; d605
ds 1
-W_MTMOON1CURSCRIPT: ; d606
+W_MTMOON1CURSCRIPT:: ; d606
ds 1
-W_MTMOON3CURSCRIPT: ; d607
+W_MTMOON3CURSCRIPT:: ; d607
ds 1
-W_SSANNE8CURSCRIPT: ; d608
+W_SSANNE8CURSCRIPT:: ; d608
ds 1
-W_SSANNE9CURSCRIPT: ; d609
+W_SSANNE9CURSCRIPT:: ; d609
ds 1
-W_ROUTE22CURSCRIPT: ; d60a
+W_ROUTE22CURSCRIPT:: ; d60a
ds 1
ds 1
-W_REDSHOUSE2CURSCRIPT: ; d60c
+W_REDSHOUSE2CURSCRIPT:: ; d60c
ds 1
-W_VIRIDIANMARKETCURSCRIPT: ; d60d
+W_VIRIDIANMARKETCURSCRIPT:: ; d60d
ds 1
-W_ROUTE22GATECURSCRIPT: ; d60e
+W_ROUTE22GATECURSCRIPT:: ; d60e
ds 1
-W_CERULEANCITYCURSCRIPT: ; d60f
+W_CERULEANCITYCURSCRIPT:: ; d60f
ds 1
ds 7
-W_SSANNE5CURSCRIPT: ; d617
+W_SSANNE5CURSCRIPT:: ; d617
ds 1
-W_VIRIDIANFORESTCURSCRIPT: ; d618
+W_VIRIDIANFORESTCURSCRIPT:: ; d618
ds 1
-W_MUSEUMF1CURSCRIPT: ; d619
+W_MUSEUMF1CURSCRIPT:: ; d619
ds 1
-W_ROUTE13CURSCRIPT: ; d61a
+W_ROUTE13CURSCRIPT:: ; d61a
ds 1
-W_ROUTE14CURSCRIPT: ; d61b
+W_ROUTE14CURSCRIPT:: ; d61b
ds 1
-W_ROUTE17CURSCRIPT: ; d61c
+W_ROUTE17CURSCRIPT:: ; d61c
ds 1
-W_ROUTE19CURSCRIPT: ; d61d
+W_ROUTE19CURSCRIPT:: ; d61d
ds 1
-W_ROUTE21CURSCRIPT: ; d61e
+W_ROUTE21CURSCRIPT:: ; d61e
ds 1
-W_SAFARIZONEENTRANCECURSCRIPT: ; d61f
+W_SAFARIZONEENTRANCECURSCRIPT:: ; d61f
ds 1
-W_ROCKTUNNEL2CURSCRIPT: ; d620
+W_ROCKTUNNEL2CURSCRIPT:: ; d620
ds 1
-W_ROCKTUNNEL1CURSCRIPT: ; d621
+W_ROCKTUNNEL1CURSCRIPT:: ; d621
ds 1
ds 1
-W_ROUTE11CURSCRIPT: ; d623
+W_ROUTE11CURSCRIPT:: ; d623
ds 1
-W_ROUTE12CURSCRIPT: ; d624
+W_ROUTE12CURSCRIPT:: ; d624
ds 1
-W_ROUTE15CURSCRIPT: ; d625
+W_ROUTE15CURSCRIPT:: ; d625
ds 1
-W_ROUTE16CURSCRIPT: ; d626
+W_ROUTE16CURSCRIPT:: ; d626
ds 1
-W_ROUTE18CURSCRIPT: ; d627
+W_ROUTE18CURSCRIPT:: ; d627
ds 1
-W_ROUTE20CURSCRIPT: ; d628
+W_ROUTE20CURSCRIPT:: ; d628
ds 1
-W_SSANNE10CURSCRIPT: ; d629
+W_SSANNE10CURSCRIPT:: ; d629
ds 1
-W_VERMILIONCITYCURSCRIPT: ; d62a
+W_VERMILIONCITYCURSCRIPT:: ; d62a
ds 1
-W_POKEMONTOWER2CURSCRIPT: ; d62b
+W_POKEMONTOWER2CURSCRIPT:: ; d62b
ds 1
-W_POKEMONTOWER3CURSCRIPT: ; d62c
+W_POKEMONTOWER3CURSCRIPT:: ; d62c
ds 1
-W_POKEMONTOWER4CURSCRIPT: ; d62d
+W_POKEMONTOWER4CURSCRIPT:: ; d62d
ds 1
-W_POKEMONTOWER5CURSCRIPT: ; d62e
+W_POKEMONTOWER5CURSCRIPT:: ; d62e
ds 1
-W_POKEMONTOWER6CURSCRIPT: ; d62f
+W_POKEMONTOWER6CURSCRIPT:: ; d62f
ds 1
-W_POKEMONTOWER7CURSCRIPT: ; d630
+W_POKEMONTOWER7CURSCRIPT:: ; d630
ds 1
-W_ROCKETHIDEOUT1CURSCRIPT: ; d631
+W_ROCKETHIDEOUT1CURSCRIPT:: ; d631
ds 1
-W_ROCKETHIDEOUT2CURSCRIPT: ; d632
+W_ROCKETHIDEOUT2CURSCRIPT:: ; d632
ds 1
-W_ROCKETHIDEOUT3CURSCRIPT: ; d633
+W_ROCKETHIDEOUT3CURSCRIPT:: ; d633
ds 1
-W_ROCKETHIDEOUT4CURSCRIPT: ; d634
+W_ROCKETHIDEOUT4CURSCRIPT:: ; d634
ds 2
-W_ROUTE6GATECURSCRIPT: ; d636
+W_ROUTE6GATECURSCRIPT:: ; d636
ds 1
-W_ROUTE8GATECURSCRIPT: ; d637
+W_ROUTE8GATECURSCRIPT:: ; d637
ds 2
-W_CINNABARISLANDCURSCRIPT: ; d639
+W_CINNABARISLANDCURSCRIPT:: ; d639
ds 1
-W_MANSION1CURSCRIPT: ; d63a
+W_MANSION1CURSCRIPT:: ; d63a
ds 2
-W_MANSION2CURSCRIPT: ; d63c
+W_MANSION2CURSCRIPT:: ; d63c
ds 1
-W_MANSION3CURSCRIPT: ; d63d
+W_MANSION3CURSCRIPT:: ; d63d
ds 1
-W_MANSION4CURSCRIPT: ; d63e
+W_MANSION4CURSCRIPT:: ; d63e
ds 1
-W_VICTORYROAD2CURSCRIPT: ; d63f
+W_VICTORYROAD2CURSCRIPT:: ; d63f
ds 1
-W_VICTORYROAD3CURSCRIPT: ; d640
+W_VICTORYROAD3CURSCRIPT:: ; d640
ds 2
-W_FIGHTINGDOJOCURSCRIPT: ; d642
+W_FIGHTINGDOJOCURSCRIPT:: ; d642
ds 1
-W_SILPHCO2CURSCRIPT: ; d643
+W_SILPHCO2CURSCRIPT:: ; d643
ds 1
-W_SILPHCO3CURSCRIPT: ; d644
+W_SILPHCO3CURSCRIPT:: ; d644
ds 1
-W_SILPHCO4CURSCRIPT: ; d645
+W_SILPHCO4CURSCRIPT:: ; d645
ds 1
-W_SILPHCO5CURSCRIPT: ; d646
+W_SILPHCO5CURSCRIPT:: ; d646
ds 1
-W_SILPHCO6CURSCRIPT: ; d647
+W_SILPHCO6CURSCRIPT:: ; d647
ds 1
-W_SILPHCO7CURSCRIPT: ; d648
+W_SILPHCO7CURSCRIPT:: ; d648
ds 1
-W_SILPHCO8CURSCRIPT: ; d649
+W_SILPHCO8CURSCRIPT:: ; d649
ds 1
-W_SILPHCO9CURSCRIPT: ; d64a
+W_SILPHCO9CURSCRIPT:: ; d64a
ds 1
-W_HALLOFFAMEROOMCURSCRIPT: ; d64b
+W_HALLOFFAMEROOMCURSCRIPT:: ; d64b
ds 1
-W_GARYCURSCRIPT: ; d64c
+W_GARYCURSCRIPT:: ; d64c
ds 1
-W_LORELEICURSCRIPT: ; d64d
+W_LORELEICURSCRIPT:: ; d64d
ds 1
-W_BRUNOCURSCRIPT: ; d64e
+W_BRUNOCURSCRIPT:: ; d64e
ds 1
-W_AGATHACURSCRIPT: ; d64f
+W_AGATHACURSCRIPT:: ; d64f
ds 1
-W_UNKNOWNDUNGEON3CURSCRIPT: ; d650
+W_UNKNOWNDUNGEON3CURSCRIPT:: ; d650
ds 1
-W_VICTORYROAD1CURSCRIPT: ; d651
+W_VICTORYROAD1CURSCRIPT:: ; d651
ds 1
ds 1
-W_LANCECURSCRIPT: ; d653
+W_LANCECURSCRIPT:: ; d653
ds 1
ds 4
-W_SILPHCO10CURSCRIPT: ; d658
+W_SILPHCO10CURSCRIPT:: ; d658
ds 1
-W_SILPHCO11CURSCRIPT: ; d659
+W_SILPHCO11CURSCRIPT:: ; d659
ds 1
ds 1
-W_FUCHSIAGYMCURSCRIPT: ; d65b
+W_FUCHSIAGYMCURSCRIPT:: ; d65b
ds 1
-W_SAFFRONGYMCURSCRIPT: ; d65c
+W_SAFFRONGYMCURSCRIPT:: ; d65c
ds 1
ds 1
-W_CINNABARGYMCURSCRIPT: ; d65e
+W_CINNABARGYMCURSCRIPT:: ; d65e
ds 1
-W_CELADONGAMECORNERCURSCRIPT: ; d65f
+W_CELADONGAMECORNERCURSCRIPT:: ; d65f
ds 1
-W_ROUTE16GATECURSCRIPT: ; d660
+W_ROUTE16GATECURSCRIPT:: ; d660
ds 1
-W_BILLSHOUSECURSCRIPT: ; d661
+W_BILLSHOUSECURSCRIPT:: ; d661
ds 1
-W_ROUTE5GATECURSCRIPT: ; d662
+W_ROUTE5GATECURSCRIPT:: ; d662
ds 1
-W_POWERPLANTCURSCRIPT: ; d663
+W_POWERPLANTCURSCRIPT:: ; d663
; overload
ds 0
-W_ROUTE7GATECURSCRIPT: ; d663
+W_ROUTE7GATECURSCRIPT:: ; d663
; overload
ds 1
ds 1
-W_SSANNE2CURSCRIPT: ; d665
+W_SSANNE2CURSCRIPT:: ; d665
ds 1
-W_SEAFOAMISLANDS4CURSCRIPT: ; d666
+W_SEAFOAMISLANDS4CURSCRIPT:: ; d666
ds 1
-W_ROUTE23CURSCRIPT: ; d667
+W_ROUTE23CURSCRIPT:: ; d667
ds 1
-W_SEAFOAMISLANDS5CURSCRIPT: ; d668
+W_SEAFOAMISLANDS5CURSCRIPT:: ; d668
ds 1
-W_ROUTE18GATECURSCRIPT: ; d669
+W_ROUTE18GATECURSCRIPT:: ; d669
ds 1
ds 161
-W_TOWNVISITEDFLAG: ; d70b
+W_TOWNVISITEDFLAG:: ; d70b
; 2 bytes bit array, 1 means visited
ds 2
-wSafariSteps: ; d70d
+wSafariSteps:: ; d70d
; starts at 502
ds 2
-W_FOSSILITEM: ; d70f
+W_FOSSILITEM:: ; d70f
; item given to cinnabar lab
ds 1
-W_FOSSILMON: ; d710
+W_FOSSILMON:: ; d710
; mon that will result from the item
ds 1
ds 2
-W_ENEMYMONORTRAINERCLASS: ; d713
+W_ENEMYMONORTRAINERCLASS:: ; d713
; trainer classes start at $c8
ds 1
ds 1
-W_RIVALSTARTER: ; d715
+W_RIVALSTARTER:: ; d715
ds 1
ds 1
-W_PLAYERSTARTER: ; d717
+W_PLAYERSTARTER:: ; d717
ds 1
ds 27
-W_FLAGS_D733: ; d733
+W_FLAGS_D733:: ; d733
; 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)
ds 340
-W_GRASSRATE: ; d887
+W_GRASSRATE:: ; d887
ds 1
-W_GRASSMONS: ; d888
+W_GRASSMONS:: ; d888
ds 20
-wEnemyPartyCount: ; d89c
+wEnemyPartyCount:: ; d89c
ds 1
-wEnemyPartyMons: ; d89d
+wEnemyPartyMons:: ; d89d
ds 6
ds 1 ; end
-; Overload enemy party data
-W_WATERRATE EQU $d8a4
-W_WATERMONS EQU $d8a5
-wEnemyMons:
+wEnemyMons::
-wEnemyMon1: ; d8a4
-wEnemyMon1Species: ; d8a4
+wEnemyMon1:: ; d8a4
+wEnemyMon1Species:: ; d8a4
ds 1
-W_ENEMYMON1HP: ; d8a5
+W_ENEMYMON1HP:: ; d8a5
ds 2
ds 7
-W_ENEMYMON1MOVE3: ; d8ae
+W_ENEMYMON1MOVE3:: ; d8ae
ds 44
-W_ENEMYMON2MOVE3: ; d8da
+W_ENEMYMON2MOVE3:: ; d8da
ds 44
-W_ENEMYMON3MOVE3: ; d906
+W_ENEMYMON3MOVE3:: ; d906
ds 44
-W_ENEMYMON4MOVE3: ; d932
+W_ENEMYMON4MOVE3:: ; d932
ds 44
-W_ENEMYMON5MOVE3: ; d95e
+W_ENEMYMON5MOVE3:: ; d95e
ds 44
-W_ENEMYMON6MOVE3: ; d98a
+W_ENEMYMON6MOVE3:: ; d98a
ds 34
-W_ENEMYMON1OT: ; d9ac
+W_ENEMYMON1OT:: ; d9ac
ds 11
-W_ENEMYMON2OT: ; d9b7
+W_ENEMYMON2OT:: ; d9b7
ds 11
-W_ENEMYMON3OT: ; d9c2
+W_ENEMYMON3OT:: ; d9c2
ds 11
-W_ENEMYMON4OT: ; d9cd
+W_ENEMYMON4OT:: ; d9cd
ds 11
-W_ENEMYMON5OT: ; d9d8
+W_ENEMYMON5OT:: ; d9d8
ds 11
-W_ENEMYMON6OT: ; d9e3
+W_ENEMYMON6OT:: ; d9e3
ds 11
-W_ENEMYMON1NAME: ; d9ee
+W_ENEMYMON1NAME:: ; d9ee
ds 11
-W_ENEMYMON2NAME: ; d9f9
+W_ENEMYMON2NAME:: ; d9f9
ds 11
-W_ENEMYMON3NAME: ; da04
+W_ENEMYMON3NAME:: ; da04
ds 11
-W_ENEMYMON4NAME: ; da0f
+W_ENEMYMON4NAME:: ; da0f
ds 11
-W_ENEMYMON5NAME: ; da1a
+W_ENEMYMON5NAME:: ; da1a
ds 11
-W_ENEMYMON6NAME: ; da25
+W_ENEMYMON6NAME:: ; da25
ds 11
-W_TRAINERHEADERPTR: ; da30
+W_TRAINERHEADERPTR:: ; da30
ds 2
ds 7
-W_CURMAPSCRIPT: ; da39
+W_CURMAPSCRIPT:: ; da39
; 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
ds 1
ds 6
-W_PLAYTIMEHOURS: ; da40
+W_PLAYTIMEHOURS:: ; da40
ds 2
-W_PLAYTIMEMINUTES: ; da42
+W_PLAYTIMEMINUTES:: ; da42
ds 2
-W_PLAYTIMESECONDS: ; da44
+W_PLAYTIMESECONDS:: ; da44
ds 1
-W_PLAYTIMEFRAMES: ; da45
+W_PLAYTIMEFRAMES:: ; da45
ds 1
ds 1
-W_NUMSAFARIBALLS: ; da47
+W_NUMSAFARIBALLS:: ; da47
ds 1
-W_DAYCARE_IN_USE: ; da48
+W_DAYCARE_IN_USE:: ; da48
; 0 if no pokemon is in the daycare
; 1 if pokemon is in the daycare
ds 1
-W_DAYCAREMONNAME: ; da49
+W_DAYCAREMONNAME:: ; da49
ds 11
-W_DAYCAREMONOT: ; da54
+W_DAYCAREMONOT:: ; da54
ds 11
-W_DAYCAREMONDATA: ; da5f
+W_DAYCAREMONDATA:: ; da5f
ds 33
-W_NUMINBOX: ; da80
+W_NUMINBOX:: ; da80
; number of mons in current box
ds 22
-W_BOXMON1DATA: ; da96
+W_BOXMON1DATA:: ; da96
ds 33
-W_BOXMON2DATA: ; dab7
+W_BOXMON2DATA:: ; dab7
ds 33 * 19
-W_BOXMON1OT: ; dd2a
+W_BOXMON1OT:: ; dd2a
ds 11
-W_BOXMON2OT: ; dd35
+W_BOXMON2OT:: ; dd35
ds 11 * 19
-W_BOXMON1NAME: ; de06
+W_BOXMON1NAME:: ; de06
ds 11
-W_BOXMON2NAME: ; de11
+W_BOXMON2NAME:: ; de11
ds 11 * 19
; dee2