diff options
Diffstat (limited to 'wram.asm')
-rwxr-xr-x | wram.asm | 729 |
1 files changed, 617 insertions, 112 deletions
@@ -1,10 +1,73 @@ INCLUDE "constants/wram_constants.asm" +flag_array: MACRO + ds ((\1) + 7) / 8 +ENDM + SECTION "WRAM Bank 0", WRAM0 - ds 256 +wc000:: ds 1 +wc001:: ds 1 +wc002:: ds 1 +wc003:: ds 1 +wc004:: ds 1 +wc005:: ds 1 +wc006:: ds 8 +wc00e:: ds 4 +wc012:: ds 4 +wc016:: ds 16 +wc026:: ds 1 +wc027:: ds 1 +wc028:: ds 2 +wc02a:: ds 1 +wc02b:: ds 1 +wc02c:: ds 1 +wc02d:: ds 1 +wc02e:: ds 8 +wc036:: ds 8 +wc03e:: ds 8 +wc046:: ds 8 +wc04e:: ds 8 +wc056:: ds 8 +wc05e:: ds 8 +wc066:: ds 8 +wc06e:: ds 8 +wc076:: ds 8 +wc07e:: ds 8 +wc086:: ds 8 +wc08e:: ds 8 +wc096:: ds 8 +wc09e:: ds 8 +wc0a6:: ds 8 +wc0ae:: ds 8 +wc0b6:: ds 8 +wc0be:: ds 8 +wc0c6:: ds 8 +wc0ce:: ds 1 +wc0cf:: ds 1 +wc0d0:: ds 1 +wc0d1:: ds 1 +wc0d2:: ds 1 +wc0d3:: ds 1 +wc0d4:: ds 1 +wc0d5:: ds 1 +wc0d6:: ds 8 +wc0de:: ds 8 +wc0e6:: ds 1 +wc0e7:: ds 1 +wc0e8:: ds 1 +wc0e9:: ds 1 +wc0ea:: ds 1 +wc0eb:: ds 1 +wc0ec:: ds 1 +wc0ed:: ds 1 +wc0ee:: ds 1 +wc0ef:: ds 1 +wc0f0:: ds 1 +wc0f1:: ds 1 +wc0f2:: ds 14 SECTION "Sprite State Data", WRAM0[$c100] @@ -72,9 +135,11 @@ wTileMapBackup:: ; c508 ; (e.g. if menus are drawn on top) ds 20 * 18 -; c670 + ds 120 - ds 1420 +wTempPic:: +wOverworldMap:: ; c6e8 + ds 1300 wScreenEdgeTiles:: ; cbfc ; the tiles of the row or column to be redrawn by RedrawExposedScreenEdge @@ -109,9 +174,9 @@ wLastMenuItem:: ; cc2a ; id of previously selected menu item ds 1 -; cc2b - - ds 3 +wcc2b:: ds 1 +wcc2c:: ds 1 +wcc2d:: ds 1 wPlayerMoveListIndex:: ; cc2e ds 1 @@ -129,21 +194,33 @@ wMenuJoypadPollCount:: ; cc34 ; how many times should HandleMenuInput poll the joypad state before it returns? ds 1 - ds 1 +wcc35:: ds 1 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 +wcc37:: ds 1 +wcc38:: ds 2 +wcc3a:: ds 1 +wcc3b:: ds 1 +wcc3c:: ds 1 +wcc3d:: ds 1 +wcc3e:: ds 4 +wcc42:: ds 1 +wcc43:: ds 4 +wcc47:: ds 1 +wcc48:: ds 1 +wcc49:: ds 1 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 3 +wcc4b:: ds 2 +wcc4d:: ds 1 wPredefID:: ; cc4e ds 1 @@ -153,14 +230,25 @@ wPredefRegisters:: ; cc4f wTrainerHeaderFlagBit:: ; cc55 ds 1 -; cc56 + ds 1 - ds 124 +wcc57:: ds 1 +wcc58:: ds 3 +wcc5b:: ds 1 +wcc5c:: ds 1 +wcc5d:: ds 1 +wcc5e:: ds 13 +wcc6b:: ds 14 +wcc79:: ds 30 +wcc97:: ds 10 +wcca1:: ds 49 wRLEByteCount:: ; ccd2 ds 1 - ds 4 +wccd3:: ds 1 +wccd4:: ds 1 +wccd5:: ds 2 ; current HP of player and enemy substitutes wPlayerSubstituteHP:: ; ccd7 @@ -168,7 +256,7 @@ wPlayerSubstituteHP:: ; ccd7 wEnemySubstituteHP:: ; ccd8 ds 1 - ds 2 +wccd9:: ds 2 wMoveMenuType:: ; ccdb ; 0=regular, 1=mimic, 2=above message box (relearn, heal pp..) @@ -179,7 +267,7 @@ wPlayerSelectedMove:: ; ccdc wEnemySelectedMove:: ; ccdd ds 1 - ds 1 +wccde:: ds 1 wAICount:: ; ccdf ; number of times remaining that AI action can occur @@ -190,9 +278,32 @@ wAICount:: ; ccdf wEnemyMoveListIndex:: ; cce2 ds 1 -; cce3 - - ds 55 +wcce3:: ds 1 +wcce4:: ds 1 +wcce5:: ds 2 +wcce7:: ds 1 +wcce8:: ds 1 +wcce9:: ds 2 +wcceb:: ds 1 +wccec:: ds 1 +wcced:: ds 1 +wccee:: ds 1 +wccef:: ds 1 +wccf0:: ds 1 +wccf1:: ds 1 +wccf2:: ds 1 +wccf3:: ds 1 +wccf4:: ds 1 +wccf5:: ds 1 +wccf6:: ds 1 +wccf7:: ds 14 +wcd05:: ds 1 +wcd06:: ds 9 +wcd0f:: ds 1 +wcd10:: ds 1 +wcd11:: ds 1 +wcd12:: ds 1 +wcd13:: ds 7 ; stat modifiers for the player's current pokemon ; value can range from 1 - 13 ($1 to $D) @@ -212,7 +323,11 @@ wPlayerMonAccuracyMod:: ; cd1e wPlayerMonEvasionMod:: ; cd1f ds 1 - ds 13 + ds 3 + +wcd23:: ds 3 +wcd26:: ds 3 +wcd29:: ds 4 wEngagedTrainerClass:: ; cd2d ds 1 @@ -237,7 +352,12 @@ wEnemyMonAccuracyMod:: ; cd32 wEnemyMonEvasionMod:: ; cd33 ds 1 - ds 9 +wcd34:: ds 3 +wcd37:: ds 1 +wcd38:: ds 1 +wcd39:: ds 1 +wcd3a:: ds 1 +wcd3b:: ds 2 wWhichTrade:: ; cd3d ; which entry from TradeMons to select @@ -254,19 +374,47 @@ wTrainerScreenY:: ; cd40 wTrainerScreenX:: ; cd41 ds 1 - ds 30 +wcd42:: ds 1 +wcd43:: ds 1 +wcd44:: ds 1 +wcd45:: ds 1 +wcd46:: ds 1 +wcd47:: ds 1 +wcd48:: ds 1 +wcd49:: ds 1 +wcd4a:: ds 1 +wcd4b:: ds 1 +wcd4c:: ds 1 +wcd4d:: ds 1 +wcd4e:: ds 1 +wcd4f:: ds 1 +wcd50:: ds 9 +wcd59:: ds 1 +wcd5a:: ds 1 +wcd5b:: ds 1 +wcd5c:: ds 1 +wcd5d:: ds 1 +wcd5e:: ds 1 +wcd5f:: ds 1 wFlags_0xcd60:: ; cd60 -; bit 0: is player engaged by trainer (to avoid being engaged by multiple trainers simultaniously) +; bit 0: is player engaged by trainer (to avoid being engaged by multiple trainers simultaneously) ds 1 - ds 10 + ds 9 + +wcd6a:: ds 1 wJoyIgnore:: ; cd6b ; Set buttons are ignored. ds 1 - ds 21 +wcd6c:: ds 1 +wcd6d:: ds 4 +wcd71:: ds 1 +wcd72:: ds 5 +wcd77:: ds 1 +wcd78:: ds 9 wTileMapBackup2:: ; cd81 ; second buffer for temporarily saving and restoring current screen's tiles (e.g. if menus are drawn on top) @@ -282,32 +430,62 @@ wHPBarNewHP:: ; ceed ds 2 wHPBarDelta:: ; ceef ds 1 - ds 13 + +wcef0:: ds 1 +wcef1:: ds 12 + wHPBarHPDifference:: ; cefd ds 1 - ds 9 + ds 7 + +wcf05:: ds 1 +wcf06:: ds 1 wAnimSoundID:: ; cf07 ; sound ID during battle animations ds 1 - ds 10 +wcf08:: ds 1 +wcf09:: ds 1 +wcf0a:: ds 1 +wcf0b:: ds 1 +wcf0c:: ds 1 +wcf0d:: ds 1 +wcf0e:: ds 1 +wcf0f:: ds 1 +wcf10:: ds 1 +wcf11:: ds 1 wPredefParentBank:: ; cf12 ds 1 - ds 1 +wcf13:: ds 1 wCurSpriteMovement2:: ; cf14 ; movement byte 2 of current sprite ds 1 - ds 5 + ds 2 + +wcf17:: ds 1 +wcf18:: ds 2 wGBC:: ; cf1a ds 1 - ds 68 +wcf1b:: ds 1 +wcf1c:: ds 1 +wcf1d:: ds 1 +wcf1e:: ds 1 +wcf1f:: ds 6 +wcf25:: ds 8 +wcf2d:: ds 1 +wcf2e:: ds 2 +wcf30:: ds 7 +wcf37:: ds 20 +wcf4b:: ds 1 +wcf4c:: ds 1 +wcf4d:: ds 18 wGymCityName:: ; cf5f wStringBuffer1:: ; cf5f @@ -316,31 +494,62 @@ wGymLeaderName:: ; cf70 wStringBuffer2:: ; cf70 ds 16 + 1 wStringBuffer3:: ; cf81 - ds 16 + 1 + ds 9 + 1 + +wcf8b:: ds 1 +wcf8c:: ds 1 +wcf8d:: ds 1 +wcf8e:: ds 1 +wcf8f:: ds 1 +wcf90:: ds 1 +wcf91:: ds 1 wWhichPokemon:: ; cf92 ; which pokemon you selected ds 1 - ds 1 +wcf93:: ds 1 wListMenuID:: ; cf94 ; ID used by DisplayListMenuID ds 1 - ds 48 +wcf95:: ds 1 +wcf96:: ds 1 +wcf97:: ds 1 +wcf98:: ds 1 +wcf99:: ds 1 +wcf9a:: ds 1 +wcf9b:: ds 1 +wcf9c:: ds 4 +wcfa0:: ds 4 +wcfa4:: ds 2 +wcfa6:: ds 2 +wcfa8:: ds 7 +wcfaf:: ds 10 +wcfb9:: ds 1 +wcfba:: ds 1 +wcfbb:: ds 1 +wcfbc:: ds 2 +wcfbe:: ds 2 +wcfc0:: ds 2 +wcfc2:: ds 2 +wcfc4:: ds 1 wWalkCounter:: ; cfc5 ; walk animation counter ds 1 - ds 1 +wcfc6:: ds 1 wMusicHeaderPointer:: ; cfc7 ; (the current music channel address - $4000) / 3 ds 1 - ds 4 +wcfc8:: ds 1 +wcfc9:: ds 1 +wcfca:: ds 1 +wcfcb:: ds 1 W_ENEMYMOVENUM:: ; cfcc ds 1 @@ -370,12 +579,12 @@ W_PLAYERMOVEMAXPP:: ; cfd7 W_ENEMYMONID:: ; cfd8 ds 1 - ds 1 +wcfd9:: ds 1 W_ENEMYMONNAME:: ; cfda ds 11 - ds 1 +wcfe5:: ds 1 W_ENEMYMONCURHP:: ; cfe6 ; active opponent's hp (16 bits) @@ -420,7 +629,9 @@ SECTION "WRAM Bank 1", WRAMX, BANK[1] ds 2 ; W_ENEMYMONPP - ds 7 +wd002:: ds 5 +wd007:: ds 1 +wd008:: ds 1 W_PLAYERMONNAME:: ; d009 ds 11 @@ -460,12 +671,17 @@ W_PLAYERMONSPECIAL:: ; d02b W_PLAYERMONPP:: ; d02d ds 4 - - W_TRAINERCLASS:: ; d031 ds 1 - ds 24 + ds 1 + +wd033:: ds 1 +wd034:: ds 2 +wd036:: ds 16 +wd046:: ds 1 +wd047:: ds 1 +wd048:: ds 2 W_TRAINERNAME:: ; d04a ; 13 bytes for the letters of the opposing trainer @@ -494,7 +710,7 @@ W_BATTLETYPE:: ; d05a ; in safari battle, this is 2 ds 1 - ds 1 +wd05b:: ds 1 W_LONEATTACKNO:: ; d05c ; which entry in LoneAttacks to use @@ -505,12 +721,13 @@ W_TRAINERNO:: ; d05d ; which instance of [youngster, lass, etc] is this? ds 1 - ds 1 +wd05e:: ds 1 W_MOVEMISSED:: ; d05f ds 1 - ds 2 +wd060:: ds 1 +wd061:: ds 1 W_PLAYERBATTSTATUS1:: ; d062 ; bit 0 - bide @@ -540,7 +757,8 @@ W_PLAYERBATTSTATUS3:: ; d064 ; bit 3 - tranformed ds 1 - ds 2 +wd065:: ds 1 +wd066:: ds 1 W_ENEMYBATTSTATUS1:: ; d067 ds 1 @@ -549,14 +767,18 @@ W_ENEMYBATTSTATUS2:: ; d068 W_ENEMYBATTSTATUS3:: ; d069 ds 1 - ds 2 +wd06a:: ds 1 +wd06b:: ds 1 W_PLAYERTOXICCOUNTER:: ; d06c ds 1 W_PLAYERDISABLEDMOVE:: ; d06d ds 1 - ds 3 + ds 1 + +wd06f:: ds 1 +wd070:: ds 1 W_ENEMYTOXICCOUNTER:: ; d071 ds 1 @@ -569,13 +791,18 @@ W_NUMHITS:: ; d074 ; number of hits in attacks like Doubleslap, etc. ds 1 - ds 7 +wd075:: ds 3 +wd078:: ds 1 +wd079:: ds 1 +wd07a:: ds 1 +wd07b:: ds 1 W_ANIMATIONID:: ; d07c ; ID number of the current battle animation ds 1 - ds 4 +wd07d:: ds 1 +wd07e:: ds 3 ; base coordinates of frame block W_BASECOORDX:: ; d081 @@ -583,13 +810,13 @@ W_BASECOORDX:: ; d081 W_BASECOORDY:: ; d082 ds 1 - ds 1 +wd083:: ds 1 W_FBTILECOUNTER:: ; d084 ; counts how many tiles of the current frame block have been drawn ds 1 - ds 1 +wd085:: ds 1 W_SUBANIMFRAMEDELAY:: ; d086 ; duration of each frame of the current subanimation in terms of screen refreshes @@ -598,13 +825,13 @@ W_SUBANIMCOUNTER:: ; d087 ; counts the number of subentries left in the current subanimation ds 1 - ds 1 +wd088:: ds 1 W_NUMFBTILES:: ; d089 ; number of tiles in current battle animation frame block ds 1 - ds 1 +wd08a:: ds 1 W_SUBANIMTRANSFORM:: ; d08b ; controls what transformations are applied to the subanimation @@ -637,7 +864,10 @@ W_SUBANIMSUBENTRYADDR:: ; d096 ; the address of the current subentry of the current subanimation ds 2 - ds 4 + ds 2 + +wd09a:: ds 1 +wd09b:: ds 1 W_FBDESTADDR:: ; d09c ; current destination address in OAM for frame blocks (big endian) @@ -655,19 +885,8 @@ W_FBMODE:: ; d09e ; contain the upper and lower bit of each of the 8 pixels, respectively ds 1 - ds 2 - -SECTION "Sprite Buffers", SRAM - -S_SPRITEBUFFER0:: ; a000 - ds SPRITEBUFFERSIZE -S_SPRITEBUFFER1:: ; a188 - ds SPRITEBUFFERSIZE -S_SPRITEBUFFER2:: ; a310 - ds SPRITEBUFFERSIZE - - -SECTION "Sprites", WRAMX, BANK[1] +wd09f:: ds 1 +wd0a0:: ds 1 W_SPRITECURPOSX:: ; d0a1 ds 1 @@ -716,7 +935,7 @@ W_SPRITEDECODETABLE1PTR:: ; d0b3 ; pointer to differential decoding table (assuming initial value 1) ds 2 - ds 1 +wd0b5:: ds 1 W_LISTTYPE:: ; d0b6 ds 1 @@ -765,9 +984,10 @@ W_MONHGROWTHRATE:: ; d0cb W_MONHLEARNSET:: ; d0cc ; bit field - ds 7 + flag_array 50 + 5 + ds 1 - ds 4 +wd0d4:: ds 3 W_MONHPADDING:: ; d0d7 @@ -775,17 +995,47 @@ W_MONHPADDING:: ; d0d7 W_DAMAGE:: ; d0d7 ds 1 - ds 79 +wd0d8:: ds 3 +wd0db:: ds 1 +wd0dc:: ds 4 +wd0e0:: ds 1 +wd0e1:: ds 56 +wd119:: ds 1 +wd11a:: ds 1 +wd11b:: ds 1 +wd11c:: ds 1 +wd11d:: ds 1 +wd11e:: ds 1 +wd11f:: ds 1 +wd120:: ds 1 +wd121:: ds 1 +wd122:: ds 2 +wd124:: ds 1 +wd125:: ds 1 +wd126:: ds 1 W_CURENEMYLVL:: ; d127 ds 1 - ds 3 +wd128:: ds 1 +wd129:: ds 1 +wd12a:: ds 1 W_ISLINKBATTLE:: ; d12b ds 1 - ds 17 +wd12c:: ds 1 +wd12d:: ds 1 +wd12e:: ds 1 +wd12f:: ds 1 +wd130:: ds 1 +wd131:: ds 1 +wd132:: ds 1 +wd133:: ds 6 +wd139:: ds 1 +wd13a:: ds 1 +wd13b:: ds 1 +wd13c:: ds 1 W_PRIZE1:: ; d13d ds 1 @@ -794,7 +1044,16 @@ W_PRIZE2:: ; d13e W_PRIZE3:: ; d13f ds 1 - ds 24 + ds 1 + +wd141:: ds 2 +wd143:: ds 2 +wd145:: ds 3 +wd148:: ds 10 +wd152:: ds 1 +wd153:: ds 3 +wd156:: ds 1 +wd157:: ds 1 W_PLAYERNAME:: ; d158 ds 11 @@ -914,10 +1173,6 @@ W_PARTYMON6NAME:: ; d2ec ds 11 -flag_array: MACRO - ds ((\1) + 7) / 8 -ENDM - wPokedexOwned:: ; d2f7 flag_array 151 wPokedexOwnedEnd:: @@ -956,17 +1211,22 @@ W_OPTIONS:: ; d355 W_OBTAINEDBADGES:: ; d356 ds 1 - ds 2 + ds 1 + +wd358:: ds 1 wPlayerID:: ; d359 ds 2 - ds 3 +wd35b:: ds 1 +wd35c:: ds 1 +wd35d:: ds 1 W_CURMAP:: ; d35e ds 1 - ds 2 +wd35f:: ds 1 +wd360:: ds 1 W_YCOORD:: ; d361 ; player’s position on the current map @@ -985,7 +1245,7 @@ W_XBLOCKCOORD:: ; d364 wLastMap:: ; d365 ds 1 - ds 1 +wd366:: ds 1 W_CURMAPTILESET:: ; d367 ds 1 @@ -1012,20 +1272,60 @@ W_MAPCONNECTIONS:: ; d370 ds 1 W_MAPCONN1PTR:: ; d371 - ds 2 - ds 9 + ds 1 + +wd372:: ds 1 +wd373:: ds 1 +wd374:: ds 1 +wd375:: ds 1 +wd376:: ds 1 +wd377:: ds 1 +wd378:: ds 1 +wd379:: ds 1 +wd37a:: ds 1 +wd37b:: ds 1 W_MAPCONN2PTR:: ; d37c - ds 2 - ds 9 + ds 1 + +wd37d:: ds 1 +wd37e:: ds 1 +wd37f:: ds 1 +wd380:: ds 1 +wd381:: ds 1 +wd382:: ds 1 +wd383:: ds 1 +wd384:: ds 1 +wd385:: ds 1 +wd386:: ds 1 W_MAPCONN3PTR:: ; d387 - ds 2 - ds 9 + ds 1 + +wd388:: ds 1 +wd389:: ds 1 +wd38a:: ds 1 +wd38b:: ds 1 +wd38c:: ds 1 +wd38d:: ds 1 +wd38e:: ds 1 +wd38f:: ds 1 +wd390:: ds 1 +wd391:: ds 1 W_MAPCONN4PTR:: ; d392 - ds 2 - ds 9 + ds 1 + +wd393:: ds 1 +wd394:: ds 1 +wd395:: ds 1 +wd396:: ds 1 +wd397:: ds 1 +wd398:: ds 1 +wd399:: ds 1 +wd39a:: ds 1 +wd39b:: ds 1 +wd39c:: ds 1 W_SPRITESET:: ; d39d ; sprite set for the current map (11 sprite picture ID's) @@ -1035,19 +1335,38 @@ W_SPRITESETID:: ; d3a8 ; sprite set ID for the current map ds 1 - ds 312 +wd3a9:: ds 1 +wd3aa:: ds 3 +wd3ad:: ds 1 +wd3ae:: ds 1 +wd3af:: ds 128 +wd42f:: ds 129 +wd4b0:: ds 1 +wd4b1:: ds 32 +wd4d1:: ds 16 W_NUMSPRITES:: ; d4e1 ; number of sprites on the current map ; two bytes per sprite (movement byte 2 , text ID) - ds 3 + ds 1 + +wd4e2:: ds 1 +wd4e3:: ds 1 W_MAPSPRITEDATA:: ; d4e4 ; two bytes per sprite (trainer class/item ID , trainer set ID) ds 32 W_MAPSPRITEEXTRADATA:: ; d504 - ds 39 + ds 32 + +wd524:: ds 1 +wd525:: ds 1 +wd526:: ds 1 +wd527:: ds 1 +wd528:: ds 1 +wd529:: ds 1 +wd52a:: ds 1 W_TILESETBANK:: ; d52b ds 1 @@ -1078,14 +1397,18 @@ wBoxItems:: ; d53b ds 50 * 2 ds 1 ; end - ds 4 +wd5a0:: ds 2 +wd5a2:: ds 1 +wd5a3:: ds 1 wPlayerCoins:: ; d5a4 ds 2 ; BCD W_MISSABLEOBJECTFLAGS:: ; d5a6 ; bit array of missable objects. set = removed - ds 40 + ds 39 + +wd5cd:: ds 1 W_MISSABLEOBJECTLIST:: ; d5ce ; each entry consists of 2 bytes @@ -1308,11 +1631,14 @@ W_SEAFOAMISLANDS5CURSCRIPT:: ; d668 W_ROUTE18GATECURSCRIPT:: ; d669 ds 1 - ds 161 + ds 134 + +wd6f0:: ds 14 +wd6fe:: ds 2 +wd700:: ds 11 W_TOWNVISITEDFLAG:: ; d70b -; 2 bytes bit array, 1 means visited - ds 2 + flag_array 13 wSafariSteps:: ; d70d ; starts at 502 @@ -1332,7 +1658,7 @@ W_ENEMYMONORTRAINERCLASS:: ; d713 ; trainer classes start at $c8 ds 1 - ds 1 +wd714:: ds 1 W_RIVALSTARTER:: ; d715 ds 1 @@ -1342,17 +1668,165 @@ W_RIVALSTARTER:: ; d715 W_PLAYERSTARTER:: ; d717 ds 1 - ds 1 +wd718:: ds 1 wLastBlackoutMap:: ; d719 ds 1 - ds 25 - +wd71a:: ds 1 +wd71b:: ds 1 +wd71c:: ds 1 +wd71d:: ds 1 +wd71e:: ds 1 +wd71f:: ds 9 +wd728:: ds 2 +wd72a:: ds 2 +wd72c:: ds 1 +wd72d:: ds 1 +wd72e:: ds 2 +wd730:: ds 2 +wd732:: ds 1 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 + ds 1 + +wd734:: ds 2 +wd736:: ds 1 +wd737:: ds 4 +wd73b:: ds 1 +wd73c:: ds 3 +wd73f:: ds 1 +wd740:: ds 3 +wd743:: ds 1 +wd744:: ds 3 +wd747:: ds 3 +wd74a:: ds 1 +wd74b:: ds 1 +wd74c:: ds 2 +wd74e:: ds 3 +wd751:: ds 1 +wd752:: ds 2 +wd754:: ds 1 +wd755:: ds 5 +wd75a:: ds 1 +wd75b:: ds 3 +wd75e:: ds 1 +wd75f:: ds 5 +wd764:: ds 1 +wd765:: ds 1 +wd766:: ds 1 +wd767:: ds 1 +wd768:: ds 1 +wd769:: ds 3 +wd76c:: ds 5 +wd771:: ds 2 +wd773:: ds 4 +wd777:: ds 1 +wd778:: ds 4 +wd77c:: ds 1 +wd77d:: ds 1 +wd77e:: ds 5 +wd783:: ds 11 +wd78e:: ds 2 +wd790:: ds 2 +wd792:: ds 4 +wd796:: ds 2 +wd798:: ds 2 +wd79a:: ds 1 +wd79b:: ds 1 +wd79c:: ds 5 +wd7a1:: ds 2 +wd7a3:: ds 12 +wd7af:: ds 2 +wd7b1:: ds 2 +wd7b3:: ds 1 +wd7b4:: ds 5 +wd7b9:: ds 4 +wd7bd:: ds 2 +wd7bf:: ds 3 +wd7c2:: ds 1 +wd7c3:: ds 2 +wd7c5:: ds 1 +wd7c6:: ds 3 +wd7c9:: ds 4 +wd7cd:: ds 2 +wd7cf:: ds 2 +wd7d1:: ds 1 +wd7d2:: ds 1 +wd7d3:: ds 2 +wd7d5:: ds 1 +wd7d6:: ds 1 +wd7d7:: ds 1 +wd7d8:: ds 1 +wd7d9:: ds 2 +wd7db:: ds 2 +wd7dd:: ds 2 +wd7df:: ds 1 +wd7e0:: ds 1 +wd7e1:: ds 2 +wd7e3:: ds 2 +wd7e5:: ds 2 +wd7e7:: ds 1 +wd7e8:: ds 1 +wd7e9:: ds 2 +wd7eb:: ds 2 +wd7ed:: ds 1 +wd7ee:: ds 1 +wd7ef:: ds 1 +wd7f0:: ds 1 +wd7f1:: ds 1 +wd7f2:: ds 1 +wd7f3:: ds 2 +wd7f5:: ds 1 +wd7f6:: ds 9 +wd7ff:: ds 4 +wd803:: ds 2 +wd805:: ds 2 +wd807:: ds 2 +wd809:: ds 10 +wd813:: ds 2 +wd815:: ds 1 +wd816:: ds 1 +wd817:: ds 2 +wd819:: ds 2 +wd81b:: ds 10 +wd825:: ds 1 +wd826:: ds 1 +wd827:: ds 1 +wd828:: ds 1 +wd829:: ds 1 +wd82a:: ds 1 +wd82b:: ds 1 +wd82c:: ds 1 +wd82d:: ds 1 +wd82e:: ds 1 +wd82f:: ds 1 +wd830:: ds 1 +wd831:: ds 1 +wd832:: ds 1 +wd833:: ds 1 +wd834:: ds 1 +wd835:: ds 1 +wd836:: ds 1 +wd837:: ds 1 +wd838:: ds 15 +wd847:: ds 2 +wd849:: ds 2 +wd84b:: ds 12 +wd857:: ds 8 +wd85f:: ds 4 +wd863:: ds 1 +wd864:: ds 1 +wd865:: ds 1 +wd866:: ds 1 +wd867:: ds 2 +wd869:: ds 20 +wd87d:: ds 2 +wd87f:: ds 1 +wd880:: ds 1 +wd881:: ds 1 +wd882:: ds 5 W_GRASSRATE:: ; d887 ds 1 @@ -1375,10 +1849,17 @@ wEnemyMon1Species:: ; d8a4 W_ENEMYMON1HP:: ; d8a5 ds 2 - ds 7 + ds 1 + +wd8a8:: ds 4 +wd8ac:: ds 2 W_ENEMYMON1MOVE3:: ; d8ae - ds 44 + ds 19 +wd8c1:: ds 4 +wd8c5:: ds 1 +wd8c6:: ds 20 + W_ENEMYMON2MOVE3:: ; d8da ds 44 W_ENEMYMON3MOVE3:: ; d906 @@ -1388,7 +1869,8 @@ W_ENEMYMON4MOVE3:: ; d932 W_ENEMYMON5MOVE3:: ; d95e ds 44 W_ENEMYMON6MOVE3:: ; d98a - ds 34 + ds 22 +wd9a0:: ds 12 W_ENEMYMON1OT:: ; d9ac ds 11 @@ -1419,7 +1901,9 @@ W_ENEMYMON6NAME:: ; da25 W_TRAINERHEADERPTR:: ; da30 ds 2 - ds 7 + ds 6 + +wda38:: ds 1 W_CURMAPSCRIPT:: ; da39 ; index of current map script, mostly used as index for function pointer array @@ -1437,7 +1921,7 @@ W_PLAYTIMESECONDS:: ; da44 W_PLAYTIMEFRAMES:: ; da45 ds 1 - ds 1 +wda46:: ds 1 W_NUMSAFARIBALLS:: ; da47 ds 1 @@ -1454,14 +1938,23 @@ W_DAYCAREMONOT:: ; da54 ds 11 W_DAYCAREMONDATA:: ; da5f - ds 33 + ds 3 +wda62:: ds 5 +wda67:: ds 6 +wda6d:: ds 2 +wda6f:: ds 17 + W_NUMINBOX:: ; da80 ; number of mons in current box - ds 22 + ds 1 +wda81:: + ds 20 + ds 1 W_BOXMON1DATA:: ; da96 - ds 33 + ds 8 +wda9e:: ds 25 W_BOXMON2DATA:: ; dab7 ds 33 * 19 @@ -1475,8 +1968,20 @@ W_BOXMON1NAME:: ; de06 W_BOXMON2NAME:: ; de11 ds 11 * 19 -; dee2 +wdee2:: + ds 1 -SECTION "Stack", WRAMX[$dfff] +SECTION "Stack", WRAMX[$dfff], BANK[1] wStack:: ; dfff ds -$100 + + +SECTION "Sprite Buffers", SRAM + +S_SPRITEBUFFER0:: ; a000 + ds SPRITEBUFFERSIZE +S_SPRITEBUFFER1:: ; a188 + ds SPRITEBUFFERSIZE +S_SPRITEBUFFER2:: ; a310 + ds SPRITEBUFFERSIZE + |