diff options
author | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-11-05 16:55:39 -0500 |
---|---|---|
committer | Rangi <remy.oukaour+rangi42@gmail.com> | 2020-11-05 16:55:39 -0500 |
commit | e16dec874a239c162680b169391d3c0c7ee1fc70 (patch) | |
tree | 4a18885606996ff59bb714afb5db9a548e2f94a7 | |
parent | 2a4b8b5a248065d2ef80b9960228750112f30da5 (diff) |
Sync more with pokeyellow
-rwxr-xr-x | engine/battle/animations.asm | 8 | ||||
-rwxr-xr-x | engine/battle/core.asm | 22 | ||||
-rw-r--r-- | engine/battle/decrement_pp.asm | 2 | ||||
-rw-r--r-- | engine/battle/effects.asm | 35 | ||||
-rw-r--r-- | engine/battle/ghost_marowak_anim.asm | 2 | ||||
-rw-r--r-- | engine/battle/move_effects/heal.asm | 6 | ||||
-rw-r--r-- | engine/battle/move_effects/reflect_light_screen.asm | 6 | ||||
-rw-r--r-- | engine/battle/move_effects/transform.asm | 2 | ||||
-rwxr-xr-x | engine/battle/read_trainer_party.asm | 4 | ||||
-rwxr-xr-x | engine/battle/safari_zone.asm | 10 | ||||
-rw-r--r-- | engine/battle/scale_sprites.asm | 6 | ||||
-rw-r--r-- | engine/battle/trainer_ai.asm | 2 | ||||
-rwxr-xr-x | engine/gfx/palettes.asm | 8 | ||||
-rwxr-xr-x | engine/gfx/screen_effects.asm | 2 | ||||
-rw-r--r-- | home/clear_sprites.asm | 2 | ||||
-rw-r--r-- | home/uncompress.asm | 2 | ||||
-rw-r--r-- | hram.asm | 4 | ||||
-rwxr-xr-x | wram.asm | 58 |
18 files changed, 102 insertions, 79 deletions
diff --git a/engine/battle/animations.asm b/engine/battle/animations.asm index e10b5e0d..0673b518 100755 --- a/engine/battle/animations.asm +++ b/engine/battle/animations.asm @@ -133,7 +133,7 @@ DrawFrameBlock: .afterDrawingTiles ld a, [wFBMode] cp FRAMEBLOCKMODE_02 - jr z, .advanceFrameBlockDestAddr; skip delay and don't clean OAM buffer + jr z, .advanceFrameBlockDestAddr ; skip delay and don't clean OAM buffer ld a, [wSubAnimFrameDelay] ld c, a call DelayFrames @@ -2410,7 +2410,7 @@ FallingObjects_InitXCoords: ret FallingObjects_InitialXCoords: - db $38,$40,$50,$60,$70,$88,$90,$56,$67,$4A,$77,$84,$98,$32,$22,$5C,$6C,$7D,$8E,$99 + db $38, $40, $50, $60, $70, $88, $90, $56, $67, $4A, $77, $84, $98, $32, $22, $5C, $6C, $7D, $8E, $99 FallingObjects_InitMovementData: ld hl, wFallingObjectsMovementData @@ -2426,7 +2426,7 @@ FallingObjects_InitMovementData: ret FallingObjects_InitialMovementData: - db $00,$84,$06,$81,$02,$88,$01,$83,$05,$89,$09,$80,$07,$87,$03,$82,$04,$85,$08,$86 + db $00, $84, $06, $81, $02, $88, $01, $83, $05, $89, $09, $80, $07, $87, $03, $82, $04, $85, $08, $86 AnimationShakeEnemyHUD: ; Shakes the enemy HUD. @@ -2583,7 +2583,7 @@ TossBallAnimation: .PokeBallAnimations: ; sequence of animations that make up the Poké Ball toss - db POOF_ANIM,HIDEPIC_ANIM,SHAKE_ANIM,POOF_ANIM,SHOWPIC_ANIM + db POOF_ANIM, HIDEPIC_ANIM, SHAKE_ANIM, POOF_ANIM, SHOWPIC_ANIM .BlockBall ld a, TOSS_ANIM diff --git a/engine/battle/core.asm b/engine/battle/core.asm index b9985b6b..30ff68bc 100755 --- a/engine/battle/core.asm +++ b/engine/battle/core.asm @@ -1098,7 +1098,7 @@ ChooseNextMon: ld a, [wLinkState] cp LINK_STATE_BATTLING jr nz, .notLinkBattle - inc a + inc a ; 1 ld [wActionResultOrTookBattleTurn], a call LinkBattleExchangeData .notLinkBattle @@ -1724,7 +1724,7 @@ SendOutMon: ld hl, wEnemyMonHP ld a, [hli] or [hl] ; is enemy mon HP zero? - jp z, .skipDrawingEnemyHUDAndHPBar; if HP is zero, skip drawing the HUD and HP bar + jp z, .skipDrawingEnemyHUDAndHPBar ; if HP is zero, skip drawing the HUD and HP bar call DrawEnemyHUDAndHPBar .skipDrawingEnemyHUDAndHPBar call DrawPlayerHUDAndHPBar @@ -2017,14 +2017,16 @@ DisplayBattleMenu:: dec a jp nz, .handleBattleMenuInput ; handle menu input if it's not the old man tutorial ; the following happens for the old man tutorial + ; Temporarily save the player name in wGrassRate, + ; which is supposed to get overwritten when entering a + ; map with wild Pokémon. + ; Due to an oversight, the data may not get + ; overwritten (on Cinnabar and Route 21) and the infamous + ; Missingno. glitch can show up. ld hl, wPlayerName ld de, wGrassRate ld bc, NAME_LENGTH - call CopyData ; temporarily save the player name in unused space, - ; which is supposed to get overwritten when entering a - ; map with wild Pokémon. Due to an oversight, the data - ; may not get overwritten (cinnabar) and the infamous - ; Missingno. glitch can show up. + call CopyData ld hl, .oldManName ld de, wPlayerName ld bc, NAME_LENGTH @@ -2206,7 +2208,7 @@ BagWasSelected: OldManItemList: db 1 ; # items db POKE_BALL, 50 - db -1 + db -1 ; end DisplayPlayerBag: ; get the pointer to player's bag when in a normal battle @@ -4101,7 +4103,7 @@ CheckForDisobedience: call GetCurrentMove .canUseMove ld a, $1 - and a; clear Z flag + and a ; clear Z flag ret .cannotUseMove xor a ; set Z flag @@ -4574,7 +4576,7 @@ JumpToOHKOMoveEffect: INCLUDE "data/battle/unused_critical_hit_moves.asm" ; determines if attack is a critical hit -; azure heights claims "the fastest pokémon (who are,not coincidentally, +; Azure Heights claims "the fastest pokémon (who are, not coincidentally, ; among the most popular) tend to CH about 20 to 25% of the time." CriticalHitTest: xor a diff --git a/engine/battle/decrement_pp.asm b/engine/battle/decrement_pp.asm index b7c428f7..441bbb81 100644 --- a/engine/battle/decrement_pp.asm +++ b/engine/battle/decrement_pp.asm @@ -37,7 +37,7 @@ DecrementPP: ld a, [wPlayerMoveListIndex] ; which move (0, 1, 2, 3) did we use? ld c, a ld b, 0 - add hl ,bc ; calculate the address in memory of the PP we need to decrement + add hl, bc ; calculate the address in memory of the PP we need to decrement ; based on the move chosen. dec [hl] ; Decrement PP ret diff --git a/engine/battle/effects.asm b/engine/battle/effects.asm index 441d6c1c..f455a407 100644 --- a/engine/battle/effects.asm +++ b/engine/battle/effects.asm @@ -198,7 +198,7 @@ FreezeBurnParalyzeEffect: ret nz ; return if they have a substitute, can't effect them ldh a, [hWhoseTurn] and a - jp nz, opponentAttacker + jp nz, .opponentAttacker ld a, [wEnemyMonStatus] and a jp nz, CheckDefrost ; can't inflict status if opponent is already statused @@ -224,17 +224,17 @@ FreezeBurnParalyzeEffect: ret nc ; do nothing if random value is >= 1A or 4D [no status applied] ld a, b ; what type of effect is this? cp BURN_SIDE_EFFECT1 - jr z, .burn + jr z, .burn1 cp FREEZE_SIDE_EFFECT - jr z, .freeze -; .paralyze + jr z, .freeze1 +; .paralyze1 ld a, 1 << PAR ld [wEnemyMonStatus], a call QuarterSpeedDueToParalysis ; quarter speed of affected mon ld a, ANIM_A9 call PlayBattleAnimation jp PrintMayNotAttackText ; print paralysis text -.burn +.burn1 ld a, 1 << BRN ld [wEnemyMonStatus], a call HalveAttackDueToBurn ; halve attack of affected mon @@ -242,7 +242,7 @@ FreezeBurnParalyzeEffect: call PlayBattleAnimation ld hl, BurnedText jp PrintText -.freeze +.freeze1 call ClearHyperBeam ; resets hyper beam (recharge) condition from target ld a, 1 << FRZ ld [wEnemyMonStatus], a @@ -250,7 +250,7 @@ FreezeBurnParalyzeEffect: call PlayBattleAnimation ld hl, FrozenText jp PrintText -opponentAttacker: +.opponentAttacker ld a, [wBattleMonStatus] ; mostly same as above with addresses swapped for opponent and a jp nz, CheckDefrost @@ -265,10 +265,10 @@ opponentAttacker: ld a, [wEnemyMoveEffect] cp PARALYZE_SIDE_EFFECT1 + 1 ld b, $1a - jr c, .next1 + jr c, .next2 ld b, $4d sub $1e -.next1 +.next2 push af call BattleRandom cp b @@ -276,20 +276,21 @@ opponentAttacker: ret nc ld a, b cp BURN_SIDE_EFFECT1 - jr z, .burn + jr z, .burn2 cp FREEZE_SIDE_EFFECT - jr z, .freeze + jr z, .freeze2 +; .paralyze2 ld a, 1 << PAR ld [wBattleMonStatus], a call QuarterSpeedDueToParalysis jp PrintMayNotAttackText -.burn +.burn2 ld a, 1 << BRN ld [wBattleMonStatus], a call HalveAttackDueToBurn ld hl, BurnedText jp PrintText -.freeze +.freeze2 ; hyper beam bits aren't reseted for opponent's side ld a, 1 << FRZ ld [wBattleMonStatus], a @@ -458,14 +459,14 @@ UpdateStatDone: ld bc, wPlayerMonMinimized ldh a, [hWhoseTurn] and a - jr z, .asm_3f4e6 + jr z, .playerTurn ld hl, wEnemyBattleStatus2 ld de, wEnemyMoveNum ld bc, wEnemyMonMinimized -.asm_3f4e6 +.playerTurn ld a, [de] cp MINIMIZE - jr nz, .asm_3f4f9 + jr nz, .notMinimize ; if a substitute is up, slide off the substitute and show the mon pic before ; playing the minimize animation bit HAS_SUBSTITUTE_UP, [hl] @@ -476,7 +477,7 @@ UpdateStatDone: push de call nz, Bankswitch pop de -.asm_3f4f9 +.notMinimize call PlayCurrentMoveAnimation ld a, [de] cp MINIMIZE diff --git a/engine/battle/ghost_marowak_anim.asm b/engine/battle/ghost_marowak_anim.asm index 6760c3d5..9c1ad96f 100644 --- a/engine/battle/ghost_marowak_anim.asm +++ b/engine/battle/ghost_marowak_anim.asm @@ -74,7 +74,7 @@ CopyMonPicFromBGToSpriteVRAM: ld [hli], a ld a, d ld [hli], a - ld a, $10 ; use OBP1 + ld a, OAM_OBP1 ld [hli], a inc d dec c diff --git a/engine/battle/move_effects/heal.asm b/engine/battle/move_effects/heal.asm index e9fb62a7..c3ffda65 100644 --- a/engine/battle/move_effects/heal.asm +++ b/engine/battle/move_effects/heal.asm @@ -86,7 +86,7 @@ HealEffect_: ld [wHPBarNewHP], a .playAnim ld hl, PlayCurrentMoveAnimation - call BankswitchEtoF + call EffectCallBattleCore ldh a, [hWhoseTurn] and a hlcoord 10, 9 @@ -98,14 +98,14 @@ HealEffect_: ld [wHPBarType], a predef UpdateHPBar2 ld hl, DrawHUDsAndHPBars - call BankswitchEtoF + call EffectCallBattleCore ld hl, RegainedHealthText jp PrintText .failed ld c, 50 call DelayFrames ld hl, PrintButItFailedText_ - jp BankswitchEtoF + jp EffectCallBattleCore StartedSleepingEffect: text_far _StartedSleepingEffect diff --git a/engine/battle/move_effects/reflect_light_screen.asm b/engine/battle/move_effects/reflect_light_screen.asm index 7bdc7be7..46c299e9 100644 --- a/engine/battle/move_effects/reflect_light_screen.asm +++ b/engine/battle/move_effects/reflect_light_screen.asm @@ -23,14 +23,14 @@ ReflectLightScreenEffect_: .playAnim push hl ld hl, PlayCurrentMoveAnimation - call BankswitchEtoF + call EffectCallBattleCore pop hl jp PrintText .moveFailed ld c, 50 call DelayFrames ld hl, PrintButItFailedText_ - jp BankswitchEtoF + jp EffectCallBattleCore LightScreenProtectedText: text_far _LightScreenProtectedText @@ -40,6 +40,6 @@ ReflectGainedArmorText: text_far _ReflectGainedArmorText text_end -BankswitchEtoF: +EffectCallBattleCore: ld b, BANK(BattleCore) jp Bankswitch diff --git a/engine/battle/move_effects/transform.asm b/engine/battle/move_effects/transform.asm index 46cea51c..56dda7f4 100644 --- a/engine/battle/move_effects/transform.asm +++ b/engine/battle/move_effects/transform.asm @@ -141,7 +141,7 @@ TransformEffect_: .failed ld hl, PrintButItFailedText_ - jp BankswitchEtoF + jp EffectCallBattleCore TransformedText: text_far _TransformedText diff --git a/engine/battle/read_trainer_party.asm b/engine/battle/read_trainer_party.asm index 7e5c1249..a0132a4f 100755 --- a/engine/battle/read_trainer_party.asm +++ b/engine/battle/read_trainer_party.asm @@ -16,7 +16,7 @@ ReadTrainer: ; get the pointer to trainer data for this class ld a, [wCurOpponent] - sub $C9 ; convert value from pokemon to trainer + sub OPP_ID_OFFSET + 1 ; convert value from pokemon to trainer add a ld hl, TrainerDataPointers ld c, a @@ -79,7 +79,7 @@ ReadTrainer: pop hl jr .SpecialTrainer .AddLoneMove -; does the trainer have a single monster with a different move +; does the trainer have a single monster with a different move? ld a, [wLoneAttackNo] ; Brock is 01, Misty is 02, Erika is 04, etc and a jr z, .AddTeamMove diff --git a/engine/battle/safari_zone.asm b/engine/battle/safari_zone.asm index 4f01c2f4..a61f402f 100755 --- a/engine/battle/safari_zone.asm +++ b/engine/battle/safari_zone.asm @@ -2,18 +2,18 @@ PrintSafariZoneBattleText: ld hl, wSafariBaitFactor ld a, [hl] and a - jr z, .asm_4284 + jr z, .no_bait dec [hl] ld hl, SafariZoneEatingText - jr .asm_429f -.asm_4284 + jr .done +.no_bait dec hl ld a, [hl] and a ret z dec [hl] ld hl, SafariZoneAngryText - jr nz, .asm_429f + jr nz, .done push hl ld a, [wEnemyMonSpecies] ld [wd0b5], a @@ -21,7 +21,7 @@ PrintSafariZoneBattleText: ld a, [wMonHCatchRate] ld [wEnemyMonActualCatchRate], a pop hl -.asm_429f +.done push hl call LoadScreenTilesFromBuffer1 pop hl diff --git a/engine/battle/scale_sprites.asm b/engine/battle/scale_sprites.asm index 87b4398d..8b8942e6 100644 --- a/engine/battle/scale_sprites.asm +++ b/engine/battle/scale_sprites.asm @@ -4,11 +4,11 @@ ScaleSpriteByTwo: ld de, sSpriteBuffer1 + (4*4*8) - 5 ; last byte of input data, last 4 rows already skipped ld hl, sSpriteBuffer0 + SPRITEBUFFERSIZE - 1 ; end of destination buffer - call ScaleLastSpriteColumnByTwo ; last tile column is special case - call ScaleFirstThreeSpriteColumnsByTwo ; scale first 3 tile columns + call ScaleLastSpriteColumnByTwo ; last tile column is special case + call ScaleFirstThreeSpriteColumnsByTwo ; scale first 3 tile columns ld de, sSpriteBuffer2 + (4*4*8) - 5 ; last byte of input data, last 4 rows already skipped ld hl, sSpriteBuffer1 + SPRITEBUFFERSIZE - 1 ; end of destination buffer - call ScaleLastSpriteColumnByTwo ; last tile column is special case + call ScaleLastSpriteColumnByTwo ; last tile column is special case ScaleFirstThreeSpriteColumnsByTwo: ld b, $3 ; 3 tile columns diff --git a/engine/battle/trainer_ai.asm b/engine/battle/trainer_ai.asm index 2225dca1..0de67f42 100644 --- a/engine/battle/trainer_ai.asm +++ b/engine/battle/trainer_ai.asm @@ -294,7 +294,7 @@ TrainerAI: ret z ; if not a trainer, we're done here ld a, [wLinkState] cp LINK_STATE_BATTLING - ret z + ret z ; if in a link battle, we're done as well ld a, [wTrainerClass] ; what trainer class is this? dec a ld c, a diff --git a/engine/gfx/palettes.asm b/engine/gfx/palettes.asm index f25ff215..a43c66ba 100755 --- a/engine/gfx/palettes.asm +++ b/engine/gfx/palettes.asm @@ -353,10 +353,10 @@ SendSGBPacket: ld d, a .nextBit0 bit 0, d -; if 0th bit is not zero set P14=HIGH,P15=LOW (send bit 1) +; if 0th bit is not zero set P14=HIGH, P15=LOW (send bit 1) ld a, $10 jr nz, .next0 -; else (if 0th bit is zero) set P14=LOW,P15=HIGH (send bit 0) +; else (if 0th bit is zero) set P14=LOW, P15=HIGH (send bit 0) ld a, $20 .next0 ldh [rJOYP], a @@ -364,7 +364,7 @@ SendSGBPacket: ld a, $30 ldh [rJOYP], a ; rotation will put next bit in 0th position (so we can always use command -; "bit 0,d" to fetch the bit that has to be sent) +; "bit 0, d" to fetch the bit that has to be sent) rr d ; decrease bit counter so we know when we have sent all 8 bits of current byte dec e @@ -608,9 +608,7 @@ CopySGBBorderTiles: ; This function converts 2BPP planar data into this format by mapping ; 2BPP colors 0-3 to 4BPP colors 0-3. 4BPP colors 4-15 are not used. ld b, 128 - .tileLoop - ; Copy bit planes 1 and 2 of the tile data. ld c, 16 .copyLoop diff --git a/engine/gfx/screen_effects.asm b/engine/gfx/screen_effects.asm index e8648901..c7a68734 100755 --- a/engine/gfx/screen_effects.asm +++ b/engine/gfx/screen_effects.asm @@ -1,4 +1,4 @@ -; b = new colour for BG colour 0 (usually white) for 4 frames +; b = new color for BG color 0 (usually white) for 4 frames ChangeBGPalColor0_4Frames: call GetPredefRegisters ldh a, [rBGP] diff --git a/home/clear_sprites.asm b/home/clear_sprites.asm index 34f4b4ec..79cc99d6 100644 --- a/home/clear_sprites.asm +++ b/home/clear_sprites.asm @@ -1,7 +1,7 @@ ClearSprites:: xor a ld hl, wOAMBuffer - ld b, 40 * 4 + ld b, wOAMBufferEnd - wOAMBuffer .loop ld [hli], a dec b diff --git a/home/uncompress.asm b/home/uncompress.asm index 9d08aa60..d3d84b26 100644 --- a/home/uncompress.asm +++ b/home/uncompress.asm @@ -561,7 +561,7 @@ ResetSpriteBufferPointers:: ; maps each nybble to its reverse NybbleReverseTable:: - db $0, $8, $4, $c, $2, $a, $6 ,$e, $1, $9, $5, $d, $3, $b, $7 ,$f + db $0, $8, $4, $c, $2, $a, $6, $e, $1, $9, $5, $d, $3, $b, $7, $f ; combines the two loaded chunks with xor (the chunk loaded second is the destination). Both chunks are differeintial decoded beforehand. UnpackSpriteMode2:: @@ -96,8 +96,8 @@ hTilePlayerStandingOn:: db hSpritePriority:: db UNION -;; Multiplication and division variables are meant -;; to overlap for back-to-back usage. Big endian. +; Multiplication and division variables are meant +; to overlap for back-to-back usage. Big endian. UNION ds 1 hMultiplicand:: ds 3 @@ -239,32 +239,40 @@ SECTION "OAM Buffer", WRAM0 wOAMBuffer:: ; buffer for OAM data. Copied to OAM by DMA ds 4 * 40 +wOAMBufferEnd:: wTileMap:: ; buffer for tiles that are visible on screen (20 columns by 18 rows) - ds 20 * 18 - -wSerialPartyMonsPatchList:: -; list of indexes to patch with SERIAL_NO_DATA_BYTE after transfer + ds SCREEN_WIDTH * SCREEN_HEIGHT +UNION wTileMapBackup:: ; buffer for temporarily saving and restoring current screen's tiles ; (e.g. if menus are drawn on top) -; ds 20 * 18 + ds SCREEN_WIDTH * SCREEN_HEIGHT +NEXTU +wSerialPartyMonsPatchList:: +; list of indexes to patch with SERIAL_NO_DATA_BYTE after transfer ds 200 wSerialEnemyMonsPatchList:: ; list of indexes to patch with SERIAL_NO_DATA_BYTE after transfer ds 200 +ENDU ds 80 -wTempPic:: +UNION wOverworldMap:: ds 1300 wOverworldMapEnd:: +NEXTU +wTempPic:: + ds 7 * 7 tiles +ENDU + wRedrawRowOrColumnSrcTiles:: ; the tiles of the row or column to be redrawn by RedrawRowOrColumn ds SCREEN_WIDTH * 2 @@ -399,9 +407,8 @@ wUnknownSerialCounter:: ; 2 bytes wEnteringCableClub:: - ds 1 - - ds 1 +; 1 byte + ds 2 wWhichTradeMonSelectionMenu:: ; $00 = player mons @@ -509,15 +516,24 @@ wAnimPalette:: ds 29 +UNION wNPCMovementDirections2:: + ds 10 +NEXTU wSwitchPartyMonTempBuffer:: ; temporary buffer when swapping party mon data + ds 49 + +NEXTU ds 10 wNumStepsToTake:: ; used in Pallet Town scripted movement - ds 49 + ds 1 +ENDU + + ds 10 wRLEByteCount:: ds 1 @@ -595,7 +611,7 @@ wTotalPayDayMoney:: wSafariEscapeFactor:: ds 1 wSafariBaitFactor:: - ds 1; + ds 1 ds 1 @@ -823,8 +839,6 @@ wCoordIndex:: wOptionsTextSpeedCursorX:: -wBoxNumString:: - wTrainerInfoTextBoxWidthPlus1:: wSwappedMenuItem:: @@ -861,6 +875,8 @@ wPlayerSpinInPlaceAnimFrameDelay:: wPlayerSpinWhileMovingUpOrDownAnimDeltaY:: +wBoxNumString:: + wHiddenObjectFunctionArgument:: wWhichTrade:: @@ -1350,7 +1366,9 @@ wExpAmountGained:: ; 2-byte big-endian number ; the total amount of exp a mon gained -wcf4b:: ds 2 ; storage buffer for various strings +wcf4b:: +; storage buffer for various strings + ds 2 wGainBoostedExp:: ds 1 @@ -1987,7 +2005,6 @@ wSavedTilesetType:: ds 2 - wDamage:: ds 2 @@ -2725,7 +2742,8 @@ wPokemonMansionB1FCurScript:: wVictoryRoad2FCurScript:: ds 1 wVictoryRoad3FCurScript:: - ds 2 + ds 1 + ds 1 wFightingDojoCurScript:: ds 1 wSilphCo2FCurScript:: @@ -2972,7 +2990,9 @@ wFlags_D733:: wBeatLorelei:: ; bit 1: set when you beat Lorelei and reset in Indigo Plateau lobby ; the game uses this to tell when Elite 4 events need to be reset - ds 2 + ds 1 + + ds 1 wd736:: ; bit 0: check if the player is standing on a door and make him walk down a step if so @@ -3010,6 +3030,7 @@ wSecondLockTrashCanIndex:: ds 1 ds 2 + wEventFlags:: flag_array NUM_EVENTS @@ -3020,7 +3041,7 @@ wGrassRate:: ds 1 wGrassMons:: - ;ds 20 +; ds 20 ds 11 ; Overload wGrassMons @@ -3119,6 +3140,7 @@ wBoxDataEnd:: SECTION "Stack", WRAM0 + wStack:: |