Sync more with pokeyellow

This commit is contained in:
Rangi 2020-11-05 16:55:39 -05:00
parent 2a4b8b5a24
commit e16dec874a
18 changed files with 102 additions and 79 deletions

View file

@ -133,7 +133,7 @@ DrawFrameBlock:
.afterDrawingTiles .afterDrawingTiles
ld a, [wFBMode] ld a, [wFBMode]
cp FRAMEBLOCKMODE_02 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 a, [wSubAnimFrameDelay]
ld c, a ld c, a
call DelayFrames call DelayFrames
@ -2410,7 +2410,7 @@ FallingObjects_InitXCoords:
ret ret
FallingObjects_InitialXCoords: 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: FallingObjects_InitMovementData:
ld hl, wFallingObjectsMovementData ld hl, wFallingObjectsMovementData
@ -2426,7 +2426,7 @@ FallingObjects_InitMovementData:
ret ret
FallingObjects_InitialMovementData: 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: AnimationShakeEnemyHUD:
; Shakes the enemy HUD. ; Shakes the enemy HUD.
@ -2583,7 +2583,7 @@ TossBallAnimation:
.PokeBallAnimations: .PokeBallAnimations:
; sequence of animations that make up the Poké Ball toss ; 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 .BlockBall
ld a, TOSS_ANIM ld a, TOSS_ANIM

View file

@ -1098,7 +1098,7 @@ ChooseNextMon:
ld a, [wLinkState] ld a, [wLinkState]
cp LINK_STATE_BATTLING cp LINK_STATE_BATTLING
jr nz, .notLinkBattle jr nz, .notLinkBattle
inc a inc a ; 1
ld [wActionResultOrTookBattleTurn], a ld [wActionResultOrTookBattleTurn], a
call LinkBattleExchangeData call LinkBattleExchangeData
.notLinkBattle .notLinkBattle
@ -1724,7 +1724,7 @@ SendOutMon:
ld hl, wEnemyMonHP ld hl, wEnemyMonHP
ld a, [hli] ld a, [hli]
or [hl] ; is enemy mon HP zero? 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 call DrawEnemyHUDAndHPBar
.skipDrawingEnemyHUDAndHPBar .skipDrawingEnemyHUDAndHPBar
call DrawPlayerHUDAndHPBar call DrawPlayerHUDAndHPBar
@ -2017,14 +2017,16 @@ DisplayBattleMenu::
dec a dec a
jp nz, .handleBattleMenuInput ; handle menu input if it's not the old man tutorial jp nz, .handleBattleMenuInput ; handle menu input if it's not the old man tutorial
; the following happens for 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 hl, wPlayerName
ld de, wGrassRate ld de, wGrassRate
ld bc, NAME_LENGTH ld bc, NAME_LENGTH
call CopyData ; temporarily save the player name in unused space, call CopyData
; 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.
ld hl, .oldManName ld hl, .oldManName
ld de, wPlayerName ld de, wPlayerName
ld bc, NAME_LENGTH ld bc, NAME_LENGTH
@ -2206,7 +2208,7 @@ BagWasSelected:
OldManItemList: OldManItemList:
db 1 ; # items db 1 ; # items
db POKE_BALL, 50 db POKE_BALL, 50
db -1 db -1 ; end
DisplayPlayerBag: DisplayPlayerBag:
; get the pointer to player's bag when in a normal battle ; get the pointer to player's bag when in a normal battle
@ -4101,7 +4103,7 @@ CheckForDisobedience:
call GetCurrentMove call GetCurrentMove
.canUseMove .canUseMove
ld a, $1 ld a, $1
and a; clear Z flag and a ; clear Z flag
ret ret
.cannotUseMove .cannotUseMove
xor a ; set Z flag xor a ; set Z flag
@ -4574,7 +4576,7 @@ JumpToOHKOMoveEffect:
INCLUDE "data/battle/unused_critical_hit_moves.asm" INCLUDE "data/battle/unused_critical_hit_moves.asm"
; determines if attack is a critical hit ; 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." ; among the most popular) tend to CH about 20 to 25% of the time."
CriticalHitTest: CriticalHitTest:
xor a xor a

View file

@ -37,7 +37,7 @@ DecrementPP:
ld a, [wPlayerMoveListIndex] ; which move (0, 1, 2, 3) did we use? ld a, [wPlayerMoveListIndex] ; which move (0, 1, 2, 3) did we use?
ld c, a ld c, a
ld b, 0 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. ; based on the move chosen.
dec [hl] ; Decrement PP dec [hl] ; Decrement PP
ret ret

View file

@ -198,7 +198,7 @@ FreezeBurnParalyzeEffect:
ret nz ; return if they have a substitute, can't effect them ret nz ; return if they have a substitute, can't effect them
ldh a, [hWhoseTurn] ldh a, [hWhoseTurn]
and a and a
jp nz, opponentAttacker jp nz, .opponentAttacker
ld a, [wEnemyMonStatus] ld a, [wEnemyMonStatus]
and a and a
jp nz, CheckDefrost ; can't inflict status if opponent is already statused 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] ret nc ; do nothing if random value is >= 1A or 4D [no status applied]
ld a, b ; what type of effect is this? ld a, b ; what type of effect is this?
cp BURN_SIDE_EFFECT1 cp BURN_SIDE_EFFECT1
jr z, .burn jr z, .burn1
cp FREEZE_SIDE_EFFECT cp FREEZE_SIDE_EFFECT
jr z, .freeze jr z, .freeze1
; .paralyze ; .paralyze1
ld a, 1 << PAR ld a, 1 << PAR
ld [wEnemyMonStatus], a ld [wEnemyMonStatus], a
call QuarterSpeedDueToParalysis ; quarter speed of affected mon call QuarterSpeedDueToParalysis ; quarter speed of affected mon
ld a, ANIM_A9 ld a, ANIM_A9
call PlayBattleAnimation call PlayBattleAnimation
jp PrintMayNotAttackText ; print paralysis text jp PrintMayNotAttackText ; print paralysis text
.burn .burn1
ld a, 1 << BRN ld a, 1 << BRN
ld [wEnemyMonStatus], a ld [wEnemyMonStatus], a
call HalveAttackDueToBurn ; halve attack of affected mon call HalveAttackDueToBurn ; halve attack of affected mon
@ -242,7 +242,7 @@ FreezeBurnParalyzeEffect:
call PlayBattleAnimation call PlayBattleAnimation
ld hl, BurnedText ld hl, BurnedText
jp PrintText jp PrintText
.freeze .freeze1
call ClearHyperBeam ; resets hyper beam (recharge) condition from target call ClearHyperBeam ; resets hyper beam (recharge) condition from target
ld a, 1 << FRZ ld a, 1 << FRZ
ld [wEnemyMonStatus], a ld [wEnemyMonStatus], a
@ -250,7 +250,7 @@ FreezeBurnParalyzeEffect:
call PlayBattleAnimation call PlayBattleAnimation
ld hl, FrozenText ld hl, FrozenText
jp PrintText jp PrintText
opponentAttacker: .opponentAttacker
ld a, [wBattleMonStatus] ; mostly same as above with addresses swapped for opponent ld a, [wBattleMonStatus] ; mostly same as above with addresses swapped for opponent
and a and a
jp nz, CheckDefrost jp nz, CheckDefrost
@ -265,10 +265,10 @@ opponentAttacker:
ld a, [wEnemyMoveEffect] ld a, [wEnemyMoveEffect]
cp PARALYZE_SIDE_EFFECT1 + 1 cp PARALYZE_SIDE_EFFECT1 + 1
ld b, $1a ld b, $1a
jr c, .next1 jr c, .next2
ld b, $4d ld b, $4d
sub $1e sub $1e
.next1 .next2
push af push af
call BattleRandom call BattleRandom
cp b cp b
@ -276,20 +276,21 @@ opponentAttacker:
ret nc ret nc
ld a, b ld a, b
cp BURN_SIDE_EFFECT1 cp BURN_SIDE_EFFECT1
jr z, .burn jr z, .burn2
cp FREEZE_SIDE_EFFECT cp FREEZE_SIDE_EFFECT
jr z, .freeze jr z, .freeze2
; .paralyze2
ld a, 1 << PAR ld a, 1 << PAR
ld [wBattleMonStatus], a ld [wBattleMonStatus], a
call QuarterSpeedDueToParalysis call QuarterSpeedDueToParalysis
jp PrintMayNotAttackText jp PrintMayNotAttackText
.burn .burn2
ld a, 1 << BRN ld a, 1 << BRN
ld [wBattleMonStatus], a ld [wBattleMonStatus], a
call HalveAttackDueToBurn call HalveAttackDueToBurn
ld hl, BurnedText ld hl, BurnedText
jp PrintText jp PrintText
.freeze .freeze2
; hyper beam bits aren't reseted for opponent's side ; hyper beam bits aren't reseted for opponent's side
ld a, 1 << FRZ ld a, 1 << FRZ
ld [wBattleMonStatus], a ld [wBattleMonStatus], a
@ -458,14 +459,14 @@ UpdateStatDone:
ld bc, wPlayerMonMinimized ld bc, wPlayerMonMinimized
ldh a, [hWhoseTurn] ldh a, [hWhoseTurn]
and a and a
jr z, .asm_3f4e6 jr z, .playerTurn
ld hl, wEnemyBattleStatus2 ld hl, wEnemyBattleStatus2
ld de, wEnemyMoveNum ld de, wEnemyMoveNum
ld bc, wEnemyMonMinimized ld bc, wEnemyMonMinimized
.asm_3f4e6 .playerTurn
ld a, [de] ld a, [de]
cp MINIMIZE cp MINIMIZE
jr nz, .asm_3f4f9 jr nz, .notMinimize
; if a substitute is up, slide off the substitute and show the mon pic before ; if a substitute is up, slide off the substitute and show the mon pic before
; playing the minimize animation ; playing the minimize animation
bit HAS_SUBSTITUTE_UP, [hl] bit HAS_SUBSTITUTE_UP, [hl]
@ -476,7 +477,7 @@ UpdateStatDone:
push de push de
call nz, Bankswitch call nz, Bankswitch
pop de pop de
.asm_3f4f9 .notMinimize
call PlayCurrentMoveAnimation call PlayCurrentMoveAnimation
ld a, [de] ld a, [de]
cp MINIMIZE cp MINIMIZE

View file

@ -74,7 +74,7 @@ CopyMonPicFromBGToSpriteVRAM:
ld [hli], a ld [hli], a
ld a, d ld a, d
ld [hli], a ld [hli], a
ld a, $10 ; use OBP1 ld a, OAM_OBP1
ld [hli], a ld [hli], a
inc d inc d
dec c dec c

View file

@ -86,7 +86,7 @@ HealEffect_:
ld [wHPBarNewHP], a ld [wHPBarNewHP], a
.playAnim .playAnim
ld hl, PlayCurrentMoveAnimation ld hl, PlayCurrentMoveAnimation
call BankswitchEtoF call EffectCallBattleCore
ldh a, [hWhoseTurn] ldh a, [hWhoseTurn]
and a and a
hlcoord 10, 9 hlcoord 10, 9
@ -98,14 +98,14 @@ HealEffect_:
ld [wHPBarType], a ld [wHPBarType], a
predef UpdateHPBar2 predef UpdateHPBar2
ld hl, DrawHUDsAndHPBars ld hl, DrawHUDsAndHPBars
call BankswitchEtoF call EffectCallBattleCore
ld hl, RegainedHealthText ld hl, RegainedHealthText
jp PrintText jp PrintText
.failed .failed
ld c, 50 ld c, 50
call DelayFrames call DelayFrames
ld hl, PrintButItFailedText_ ld hl, PrintButItFailedText_
jp BankswitchEtoF jp EffectCallBattleCore
StartedSleepingEffect: StartedSleepingEffect:
text_far _StartedSleepingEffect text_far _StartedSleepingEffect

View file

@ -23,14 +23,14 @@ ReflectLightScreenEffect_:
.playAnim .playAnim
push hl push hl
ld hl, PlayCurrentMoveAnimation ld hl, PlayCurrentMoveAnimation
call BankswitchEtoF call EffectCallBattleCore
pop hl pop hl
jp PrintText jp PrintText
.moveFailed .moveFailed
ld c, 50 ld c, 50
call DelayFrames call DelayFrames
ld hl, PrintButItFailedText_ ld hl, PrintButItFailedText_
jp BankswitchEtoF jp EffectCallBattleCore
LightScreenProtectedText: LightScreenProtectedText:
text_far _LightScreenProtectedText text_far _LightScreenProtectedText
@ -40,6 +40,6 @@ ReflectGainedArmorText:
text_far _ReflectGainedArmorText text_far _ReflectGainedArmorText
text_end text_end
BankswitchEtoF: EffectCallBattleCore:
ld b, BANK(BattleCore) ld b, BANK(BattleCore)
jp Bankswitch jp Bankswitch

View file

@ -141,7 +141,7 @@ TransformEffect_:
.failed .failed
ld hl, PrintButItFailedText_ ld hl, PrintButItFailedText_
jp BankswitchEtoF jp EffectCallBattleCore
TransformedText: TransformedText:
text_far _TransformedText text_far _TransformedText

View file

@ -16,7 +16,7 @@ ReadTrainer:
; get the pointer to trainer data for this class ; get the pointer to trainer data for this class
ld a, [wCurOpponent] ld a, [wCurOpponent]
sub $C9 ; convert value from pokemon to trainer sub OPP_ID_OFFSET + 1 ; convert value from pokemon to trainer
add a add a
ld hl, TrainerDataPointers ld hl, TrainerDataPointers
ld c, a ld c, a
@ -79,7 +79,7 @@ ReadTrainer:
pop hl pop hl
jr .SpecialTrainer jr .SpecialTrainer
.AddLoneMove .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 ld a, [wLoneAttackNo] ; Brock is 01, Misty is 02, Erika is 04, etc
and a and a
jr z, .AddTeamMove jr z, .AddTeamMove

View file

@ -2,18 +2,18 @@ PrintSafariZoneBattleText:
ld hl, wSafariBaitFactor ld hl, wSafariBaitFactor
ld a, [hl] ld a, [hl]
and a and a
jr z, .asm_4284 jr z, .no_bait
dec [hl] dec [hl]
ld hl, SafariZoneEatingText ld hl, SafariZoneEatingText
jr .asm_429f jr .done
.asm_4284 .no_bait
dec hl dec hl
ld a, [hl] ld a, [hl]
and a and a
ret z ret z
dec [hl] dec [hl]
ld hl, SafariZoneAngryText ld hl, SafariZoneAngryText
jr nz, .asm_429f jr nz, .done
push hl push hl
ld a, [wEnemyMonSpecies] ld a, [wEnemyMonSpecies]
ld [wd0b5], a ld [wd0b5], a
@ -21,7 +21,7 @@ PrintSafariZoneBattleText:
ld a, [wMonHCatchRate] ld a, [wMonHCatchRate]
ld [wEnemyMonActualCatchRate], a ld [wEnemyMonActualCatchRate], a
pop hl pop hl
.asm_429f .done
push hl push hl
call LoadScreenTilesFromBuffer1 call LoadScreenTilesFromBuffer1
pop hl pop hl

View file

@ -4,11 +4,11 @@
ScaleSpriteByTwo: ScaleSpriteByTwo:
ld de, sSpriteBuffer1 + (4*4*8) - 5 ; last byte of input data, last 4 rows already skipped 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 ld hl, sSpriteBuffer0 + SPRITEBUFFERSIZE - 1 ; end of destination buffer
call ScaleLastSpriteColumnByTwo ; last tile column is special case call ScaleLastSpriteColumnByTwo ; last tile column is special case
call ScaleFirstThreeSpriteColumnsByTwo ; scale first 3 tile columns 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 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 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: ScaleFirstThreeSpriteColumnsByTwo:
ld b, $3 ; 3 tile columns ld b, $3 ; 3 tile columns

View file

@ -294,7 +294,7 @@ TrainerAI:
ret z ; if not a trainer, we're done here ret z ; if not a trainer, we're done here
ld a, [wLinkState] ld a, [wLinkState]
cp LINK_STATE_BATTLING 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? ld a, [wTrainerClass] ; what trainer class is this?
dec a dec a
ld c, a ld c, a

View file

@ -353,10 +353,10 @@ SendSGBPacket:
ld d, a ld d, a
.nextBit0 .nextBit0
bit 0, d 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 ld a, $10
jr nz, .next0 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 ld a, $20
.next0 .next0
ldh [rJOYP], a ldh [rJOYP], a
@ -364,7 +364,7 @@ SendSGBPacket:
ld a, $30 ld a, $30
ldh [rJOYP], a ldh [rJOYP], a
; rotation will put next bit in 0th position (so we can always use command ; 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 rr d
; decrease bit counter so we know when we have sent all 8 bits of current byte ; decrease bit counter so we know when we have sent all 8 bits of current byte
dec e dec e
@ -608,9 +608,7 @@ CopySGBBorderTiles:
; This function converts 2BPP planar data into this format by mapping ; 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. ; 2BPP colors 0-3 to 4BPP colors 0-3. 4BPP colors 4-15 are not used.
ld b, 128 ld b, 128
.tileLoop .tileLoop
; Copy bit planes 1 and 2 of the tile data. ; Copy bit planes 1 and 2 of the tile data.
ld c, 16 ld c, 16
.copyLoop .copyLoop

View file

@ -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: ChangeBGPalColor0_4Frames:
call GetPredefRegisters call GetPredefRegisters
ldh a, [rBGP] ldh a, [rBGP]

View file

@ -1,7 +1,7 @@
ClearSprites:: ClearSprites::
xor a xor a
ld hl, wOAMBuffer ld hl, wOAMBuffer
ld b, 40 * 4 ld b, wOAMBufferEnd - wOAMBuffer
.loop .loop
ld [hli], a ld [hli], a
dec b dec b

View file

@ -561,7 +561,7 @@ ResetSpriteBufferPointers::
; maps each nybble to its reverse ; maps each nybble to its reverse
NybbleReverseTable:: 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. ; combines the two loaded chunks with xor (the chunk loaded second is the destination). Both chunks are differeintial decoded beforehand.
UnpackSpriteMode2:: UnpackSpriteMode2::

View file

@ -96,8 +96,8 @@ hTilePlayerStandingOn:: db
hSpritePriority:: db hSpritePriority:: db
UNION UNION
;; Multiplication and division variables are meant ; Multiplication and division variables are meant
;; to overlap for back-to-back usage. Big endian. ; to overlap for back-to-back usage. Big endian.
UNION UNION
ds 1 ds 1
hMultiplicand:: ds 3 hMultiplicand:: ds 3

View file

@ -239,32 +239,40 @@ SECTION "OAM Buffer", WRAM0
wOAMBuffer:: wOAMBuffer::
; buffer for OAM data. Copied to OAM by DMA ; buffer for OAM data. Copied to OAM by DMA
ds 4 * 40 ds 4 * 40
wOAMBufferEnd::
wTileMap:: wTileMap::
; buffer for tiles that are visible on screen (20 columns by 18 rows) ; buffer for tiles that are visible on screen (20 columns by 18 rows)
ds 20 * 18 ds SCREEN_WIDTH * SCREEN_HEIGHT
wSerialPartyMonsPatchList::
; list of indexes to patch with SERIAL_NO_DATA_BYTE after transfer
UNION
wTileMapBackup:: wTileMapBackup::
; buffer for temporarily saving and restoring current screen's tiles ; buffer for temporarily saving and restoring current screen's tiles
; (e.g. if menus are drawn on top) ; (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 ds 200
wSerialEnemyMonsPatchList:: wSerialEnemyMonsPatchList::
; list of indexes to patch with SERIAL_NO_DATA_BYTE after transfer ; list of indexes to patch with SERIAL_NO_DATA_BYTE after transfer
ds 200 ds 200
ENDU
ds 80 ds 80
wTempPic:: UNION
wOverworldMap:: wOverworldMap::
ds 1300 ds 1300
wOverworldMapEnd:: wOverworldMapEnd::
NEXTU
wTempPic::
ds 7 * 7 tiles
ENDU
wRedrawRowOrColumnSrcTiles:: wRedrawRowOrColumnSrcTiles::
; the tiles of the row or column to be redrawn by RedrawRowOrColumn ; the tiles of the row or column to be redrawn by RedrawRowOrColumn
ds SCREEN_WIDTH * 2 ds SCREEN_WIDTH * 2
@ -399,9 +407,8 @@ wUnknownSerialCounter::
; 2 bytes ; 2 bytes
wEnteringCableClub:: wEnteringCableClub::
ds 1 ; 1 byte
ds 2
ds 1
wWhichTradeMonSelectionMenu:: wWhichTradeMonSelectionMenu::
; $00 = player mons ; $00 = player mons
@ -509,15 +516,24 @@ wAnimPalette::
ds 29 ds 29
UNION
wNPCMovementDirections2:: wNPCMovementDirections2::
ds 10
NEXTU
wSwitchPartyMonTempBuffer:: wSwitchPartyMonTempBuffer::
; temporary buffer when swapping party mon data ; temporary buffer when swapping party mon data
ds 49
NEXTU
ds 10 ds 10
wNumStepsToTake:: wNumStepsToTake::
; used in Pallet Town scripted movement ; used in Pallet Town scripted movement
ds 49 ds 1
ENDU
ds 10
wRLEByteCount:: wRLEByteCount::
ds 1 ds 1
@ -595,7 +611,7 @@ wTotalPayDayMoney::
wSafariEscapeFactor:: wSafariEscapeFactor::
ds 1 ds 1
wSafariBaitFactor:: wSafariBaitFactor::
ds 1; ds 1
ds 1 ds 1
@ -823,8 +839,6 @@ wCoordIndex::
wOptionsTextSpeedCursorX:: wOptionsTextSpeedCursorX::
wBoxNumString::
wTrainerInfoTextBoxWidthPlus1:: wTrainerInfoTextBoxWidthPlus1::
wSwappedMenuItem:: wSwappedMenuItem::
@ -861,6 +875,8 @@ wPlayerSpinInPlaceAnimFrameDelay::
wPlayerSpinWhileMovingUpOrDownAnimDeltaY:: wPlayerSpinWhileMovingUpOrDownAnimDeltaY::
wBoxNumString::
wHiddenObjectFunctionArgument:: wHiddenObjectFunctionArgument::
wWhichTrade:: wWhichTrade::
@ -1350,7 +1366,9 @@ wExpAmountGained::
; 2-byte big-endian number ; 2-byte big-endian number
; the total amount of exp a mon gained ; 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:: wGainBoostedExp::
ds 1 ds 1
@ -1987,7 +2005,6 @@ wSavedTilesetType::
ds 2 ds 2
wDamage:: wDamage::
ds 2 ds 2
@ -2725,7 +2742,8 @@ wPokemonMansionB1FCurScript::
wVictoryRoad2FCurScript:: wVictoryRoad2FCurScript::
ds 1 ds 1
wVictoryRoad3FCurScript:: wVictoryRoad3FCurScript::
ds 2 ds 1
ds 1
wFightingDojoCurScript:: wFightingDojoCurScript::
ds 1 ds 1
wSilphCo2FCurScript:: wSilphCo2FCurScript::
@ -2972,7 +2990,9 @@ wFlags_D733::
wBeatLorelei:: wBeatLorelei::
; bit 1: set when you beat Lorelei and reset in Indigo Plateau lobby ; 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 ; the game uses this to tell when Elite 4 events need to be reset
ds 2 ds 1
ds 1
wd736:: wd736::
; bit 0: check if the player is standing on a door and make him walk down a step if so ; 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 1
ds 2 ds 2
wEventFlags:: wEventFlags::
flag_array NUM_EVENTS flag_array NUM_EVENTS
@ -3020,7 +3041,7 @@ wGrassRate::
ds 1 ds 1
wGrassMons:: wGrassMons::
;ds 20 ; ds 20
ds 11 ds 11
; Overload wGrassMons ; Overload wGrassMons
@ -3119,6 +3140,7 @@ wBoxDataEnd::
SECTION "Stack", WRAM0 SECTION "Stack", WRAM0
wStack:: wStack::