Use constants for bit/set/res more

This commit is contained in:
Rangi 2018-04-05 11:44:02 -04:00
parent 99df17d571
commit 7307fc8dce
21 changed files with 140 additions and 97 deletions

View File

@ -1081,7 +1081,7 @@ HandleNoise: ; e858c
ret z ret z
; are we in a sfx channel? ; are we in a sfx channel?
ld a, [wCurChannel] ld a, [wCurChannel]
bit 2, a ; sfx bit NOISE_CHAN_F, a
jr nz, .next jr nz, .next
; is ch8 on? (noise) ; is ch8 on? (noise)
ld hl, wChannel8Flags ld hl, wChannel8Flags
@ -1330,7 +1330,7 @@ GetNoiseSample: ; e86c5
call SetNoteDuration call SetNoteDuration
; check current channel ; check current channel
ld a, [wCurChannel] ld a, [wCurChannel]
bit 2, a ; are we in a sfx channel? bit NOISE_CHAN_F, a
jr nz, .sfx jr nz, .sfx
ld hl, wChannel8Flags ld hl, wChannel8Flags
bit SOUND_CHANNEL_ON, [hl] ; is ch8 on? (noise) bit SOUND_CHANNEL_ON, [hl] ; is ch8 on? (noise)

View File

@ -31,6 +31,8 @@ NUM_NOISE_CHANS EQU const_value
const CHAN8 ; 7 const CHAN8 ; 7
NUM_CHANNELS EQU const_value NUM_CHANNELS EQU const_value
NOISE_CHAN_F EQU 2 ; bit set in CHAN5-CHAN7
; Flags1 ; Flags1
const_def const_def
const SOUND_CHANNEL_ON ; 0 const SOUND_CHANNEL_ON ; 0

View File

@ -157,7 +157,7 @@ SLP EQU %111 ; 0-7 turns
const FRZ const FRZ
const PAR const PAR
ALL_STATUS EQU (1 << PSN) + (1 << BRN) + (1 << FRZ) + (1 << PAR) + SLP ALL_STATUS EQU (1 << PSN) | (1 << BRN) | (1 << FRZ) | (1 << PAR) | SLP
; wPlayerSubStatus1 or wEnemySubStatus1 bit flags ; wPlayerSubStatus1 or wEnemySubStatus1 bit flags
enum_start 7, -1 enum_start 7, -1
@ -248,3 +248,7 @@ SUBSTATUS_CURLED EQU 0
const WIN const WIN
const LOSE const LOSE
const DRAW const DRAW
BATTLERESULT_CAUGHT_CELEBI EQU 6
BATTLERESULT_BOX_FULL EQU 7
BATTLERESULT_BITMASK EQU (1 << BATTLERESULT_CAUGHT_CELEBI) | (1 << BATTLERESULT_BOX_FULL)

View File

@ -949,18 +949,18 @@ StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365)
add 3 add 3
ld hl, wEnemyMonLevel ld hl, wEnemyMonLevel
cp [hl] cp [hl]
jr nc, .okay jr nc, .not_stronger
set 0, e set TRANS_STRONGER_F, e
.okay .not_stronger
ld a, [wEnvironment] ld a, [wEnvironment]
cp CAVE cp CAVE
jr z, .okay2 jr z, .cave
cp ENVIRONMENT_5 cp ENVIRONMENT_5
jr z, .okay2 jr z, .cave
cp DUNGEON cp DUNGEON
jr z, .okay2 jr z, .cave
set 1, e set TRANS_NO_CAVE_F, e
.okay2 .cave
ld hl, .StartingPoints ld hl, .StartingPoints
add hl, de add hl, de
ld a, [hl] ld a, [hl]
@ -969,8 +969,11 @@ StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365)
; 8c38f (23:438f) ; 8c38f (23:438f)
.StartingPoints: ; 8c38f .StartingPoints: ; 8c38f
db 1, 9 ; entries correspond to TRANS_* constants
db 16, 24 db BATTLETRANSITION_CAVE
db BATTLETRANSITION_CAVE_STRONGER
db BATTLETRANSITION_NO_CAVE
db BATTLETRANSITION_NO_CAVE_STRONGER
; 8c393 ; 8c393
``` ```

View File

@ -1,3 +1,11 @@
; BattleTransitionJumptable.Jumptable indexes
BATTLETRANSITION_CAVE EQU $01
BATTLETRANSITION_CAVE_STRONGER EQU $09
BATTLETRANSITION_NO_CAVE EQU $10
BATTLETRANSITION_NO_CAVE_STRONGER EQU $18
BATTLETRANSITION_FINISH EQU $20
BATTLETRANSITION_END EQU $80
DoBattleTransition: ; 8c20f DoBattleTransition: ; 8c20f
call .InitGFX call .InitGFX
ld a, [rBGP] ld a, [rBGP]
@ -14,7 +22,7 @@ DoBattleTransition: ; 8c20f
.loop .loop
ld a, [wJumptableIndex] ld a, [wJumptableIndex]
bit 7, a bit 7, a ; BATTLETRANSITION_END?
jr nz, .done jr nz, .done
call BattleTransitionJumptable call BattleTransitionJumptable
call DelayFrame call DelayFrame
@ -145,13 +153,13 @@ INCBIN "gfx/overworld/trainer_battle_pokeball_tiles.2bpp"
BattleTransitionJumptable: ; 8c314 BattleTransitionJumptable: ; 8c314
jumptable .dw, wJumptableIndex jumptable .Jumptable, wJumptableIndex
; 8c323 ; 8c323
.dw ; 8c323 (23:4323) .Jumptable ; 8c323 (23:4323)
dw StartTrainerBattle_DetermineWhichAnimation ; 00 dw StartTrainerBattle_DetermineWhichAnimation ; 00
; Animation 1: cave ; BATTLETRANSITION_CAVE
dw StartTrainerBattle_LoadPokeBallGraphics ; 01 dw StartTrainerBattle_LoadPokeBallGraphics ; 01
dw StartTrainerBattle_SetUpBGMap ; 02 dw StartTrainerBattle_SetUpBGMap ; 02
dw StartTrainerBattle_Flash ; 03 dw StartTrainerBattle_Flash ; 03
@ -161,7 +169,7 @@ BattleTransitionJumptable: ; 8c314
dw StartTrainerBattle_SetUpForWavyOutro ; 07 dw StartTrainerBattle_SetUpForWavyOutro ; 07
dw StartTrainerBattle_SineWave ; 08 dw StartTrainerBattle_SineWave ; 08
; Animation 2: cave, stronger ; BATTLETRANSITION_CAVE_STRONGER
dw StartTrainerBattle_LoadPokeBallGraphics ; 09 dw StartTrainerBattle_LoadPokeBallGraphics ; 09
dw StartTrainerBattle_SetUpBGMap ; 0a dw StartTrainerBattle_SetUpBGMap ; 0a
dw StartTrainerBattle_Flash ; 0b dw StartTrainerBattle_Flash ; 0b
@ -171,7 +179,7 @@ BattleTransitionJumptable: ; 8c314
; There is no setup for this one ; There is no setup for this one
dw StartTrainerBattle_ZoomToBlack ; 0f dw StartTrainerBattle_ZoomToBlack ; 0f
; Animation 3: no cave ; BATTLETRANSITION_NO_CAVE
dw StartTrainerBattle_LoadPokeBallGraphics ; 10 dw StartTrainerBattle_LoadPokeBallGraphics ; 10
dw StartTrainerBattle_SetUpBGMap ; 11 dw StartTrainerBattle_SetUpBGMap ; 11
dw StartTrainerBattle_Flash ; 12 dw StartTrainerBattle_Flash ; 12
@ -181,7 +189,7 @@ BattleTransitionJumptable: ; 8c314
dw StartTrainerBattle_SetUpForSpinOutro ; 16 dw StartTrainerBattle_SetUpForSpinOutro ; 16
dw StartTrainerBattle_SpinToBlack ; 17 dw StartTrainerBattle_SpinToBlack ; 17
; Animation 4: no cave, stronger ; BATTLETRANSITION_NO_CAVE_STRONGER
dw StartTrainerBattle_LoadPokeBallGraphics ; 18 dw StartTrainerBattle_LoadPokeBallGraphics ; 18
dw StartTrainerBattle_SetUpBGMap ; 19 dw StartTrainerBattle_SetUpBGMap ; 19
dw StartTrainerBattle_Flash ; 1a dw StartTrainerBattle_Flash ; 1a
@ -191,9 +199,19 @@ BattleTransitionJumptable: ; 8c314
dw StartTrainerBattle_SetUpForRandomScatterOutro ; 1e dw StartTrainerBattle_SetUpForRandomScatterOutro ; 1e
dw StartTrainerBattle_SpeckleToBlack ; 1f dw StartTrainerBattle_SpeckleToBlack ; 1f
; All animations jump to here. ; BATTLETRANSITION_FINISH
dw StartTrainerBattle_Finish ; 20 dw StartTrainerBattle_Finish ; 20
; transition animations
const_def
const TRANS_CAVE
const TRANS_CAVE_STRONGER
const TRANS_NO_CAVE
const TRANS_NO_CAVE_STRONGER
; transition animation bits
TRANS_STRONGER_F EQU 0 ; bit set in TRANS_CAVE_STRONGER and TRANS_NO_CAVE_STRONGER
TRANS_NO_CAVE_F EQU 1 ; bit set in TRANS_NO_CAVE and TRANS_NO_CAVE_STRONGER
StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365) StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365)
; The screen flashes a different number of times depending on the level of ; The screen flashes a different number of times depending on the level of
@ -205,18 +223,18 @@ StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365)
add 3 add 3
ld hl, wEnemyMonLevel ld hl, wEnemyMonLevel
cp [hl] cp [hl]
jr nc, .okay jr nc, .not_stronger
set 0, e set TRANS_STRONGER_F, e
.okay .not_stronger
ld a, [wEnvironment] ld a, [wEnvironment]
cp CAVE cp CAVE
jr z, .okay2 jr z, .cave
cp ENVIRONMENT_5 cp ENVIRONMENT_5
jr z, .okay2 jr z, .cave
cp DUNGEON cp DUNGEON
jr z, .okay2 jr z, .cave
set 1, e set TRANS_NO_CAVE_F, e
.okay2 .cave
ld hl, .StartingPoints ld hl, .StartingPoints
add hl, de add hl, de
ld a, [hl] ld a, [hl]
@ -225,13 +243,16 @@ StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365)
; 8c38f (23:438f) ; 8c38f (23:438f)
.StartingPoints: ; 8c38f .StartingPoints: ; 8c38f
db 1, 9 ; entries correspond to TRANS_* constants
db 16, 24 db BATTLETRANSITION_CAVE
db BATTLETRANSITION_CAVE_STRONGER
db BATTLETRANSITION_NO_CAVE
db BATTLETRANSITION_NO_CAVE_STRONGER
; 8c393 ; 8c393
StartTrainerBattle_Finish: ; 8c393 (23:4393) StartTrainerBattle_Finish: ; 8c393 (23:4393)
call ClearSprites call ClearSprites
ld a, $80 ld a, BATTLETRANSITION_END
ld [wJumptableIndex], a ld [wJumptableIndex], a
ret ret
@ -322,7 +343,7 @@ StartTrainerBattle_SineWave: ; 8c408 (23:4408)
ret ret
.end .end
ld a, $20 ld a, BATTLETRANSITION_FINISH
ld [wJumptableIndex], a ld [wJumptableIndex], a
ret ret
@ -394,7 +415,7 @@ endr
call DelayFrame call DelayFrame
xor a xor a
ld [hBGMapMode], a ld [hBGMapMode], a
ld a, $20 ld a, BATTLETRANSITION_FINISH
ld [wJumptableIndex], a ld [wJumptableIndex], a
ret ret
; 8c490 (23:4490) ; 8c490 (23:4490)
@ -406,6 +427,10 @@ endr
const LOWER_LEFT const LOWER_LEFT
const LOWER_RIGHT const LOWER_RIGHT
; quadrant bits
RIGHT_QUADRANT_F EQU 0 ; bit set in UPPER_RIGHT and LOWER_RIGHT
LOWER_QUADRANT_F EQU 1 ; bit set in LOWER_LEFT and LOWER_RIGHT
.spintable ; 8c490 .spintable ; 8c490
spintable_entry: MACRO spintable_entry: MACRO
db \1 db \1
@ -451,7 +476,7 @@ ENDM
.loop1 .loop1
ld [hl], $ff ld [hl], $ff
ld a, [wcf65] ld a, [wcf65]
bit 0, a bit RIGHT_QUADRANT_F, a
jr z, .leftside jr z, .leftside
inc hl inc hl
jr .okay1 jr .okay1
@ -462,7 +487,7 @@ ENDM
jr nz, .loop1 jr nz, .loop1
pop hl pop hl
ld a, [wcf65] ld a, [wcf65]
bit 1, a bit LOWER_QUADRANT_F, a
ld bc, SCREEN_WIDTH ld bc, SCREEN_WIDTH
jr z, .upper jr z, .upper
ld bc, -SCREEN_WIDTH ld bc, -SCREEN_WIDTH
@ -477,7 +502,7 @@ ENDM
ld c, a ld c, a
.loop2 .loop2
ld a, [wcf65] ld a, [wcf65]
bit 0, a bit RIGHT_QUADRANT_F, a
jr z, .leftside2 jr z, .leftside2
dec hl dec hl
jr .okay2 jr .okay2
@ -530,7 +555,7 @@ StartTrainerBattle_SpeckleToBlack: ; 8c58f (23:458f)
call DelayFrame call DelayFrame
xor a xor a
ld [hBGMapMode], a ld [hBGMapMode], a
ld a, $20 ld a, BATTLETRANSITION_FINISH
ld [wJumptableIndex], a ld [wJumptableIndex], a
ret ret
@ -778,7 +803,7 @@ StartTrainerBattle_ZoomToBlack: ; 8c768 (23:4768)
jr .loop jr .loop
.done .done
ld a, $20 ld a, BATTLETRANSITION_FINISH
ld [wJumptableIndex], a ld [wJumptableIndex], a
ret ret
; 8c792 (23:4792) ; 8c792 (23:4792)

View File

@ -119,8 +119,8 @@ DoBattle: ; 3c000
WildFled_EnemyFled_LinkBattleCanceled: ; 3c0e5 WildFled_EnemyFled_LinkBattleCanceled: ; 3c0e5
call Call_LoadTempTileMapToTileMap call Call_LoadTempTileMapToTileMap
ld a, [wBattleResult] ld a, [wBattleResult]
and $c0 and BATTLERESULT_BITMASK
add $2 add DRAW
ld [wBattleResult], a ld [wBattleResult], a
ld a, [wLinkMode] ld a, [wLinkMode]
and a and a
@ -128,8 +128,8 @@ WildFled_EnemyFled_LinkBattleCanceled: ; 3c0e5
jr z, .print_text jr z, .print_text
ld a, [wBattleResult] ld a, [wBattleResult]
and $c0 and BATTLERESULT_BITMASK
ld [wBattleResult], a ld [wBattleResult], a ; WIN
ld hl, BattleText_EnemyFled ld hl, BattleText_EnemyFled
call CheckMobileBattleError call CheckMobileBattleError
jr nc, .print_text jr nc, .print_text
@ -575,8 +575,8 @@ CheckContestBattleOver: ; 3c3f5
and a and a
jr nz, .contest_not_over jr nz, .contest_not_over
ld a, [wBattleResult] ld a, [wBattleResult]
and $c0 and BATTLERESULT_BITMASK
add $2 add DRAW
ld [wBattleResult], a ld [wBattleResult], a
scf scf
ret ret
@ -2199,8 +2199,8 @@ UpdateBattleStateAndExperienceAfterEnemyFaint: ; 3ce01
call EmptyBattleTextBox call EmptyBattleTextBox
call LoadTileMapToTempTileMap call LoadTileMapToTempTileMap
ld a, [wBattleResult] ld a, [wBattleResult]
and $c0 and BATTLERESULT_BITMASK
ld [wBattleResult], a ld [wBattleResult], a ; WIN
call IsAnyMonHoldingExpShare call IsAnyMonHoldingExpShare
jr z, .skip_exp jr z, .skip_exp
ld hl, wEnemyMonBaseStats ld hl, wEnemyMonBaseStats
@ -2745,8 +2745,8 @@ PlayerMonFaintHappinessMod: ; 3d1aa
ld [wCurPartyMon], a ld [wCurPartyMon], a
callfar ChangeHappiness callfar ChangeHappiness
ld a, [wBattleResult] ld a, [wBattleResult]
and %11000000 and BATTLERESULT_BITMASK
add $1 add LOSE
ld [wBattleResult], a ld [wBattleResult], a
ld a, [wWhichMonFaintedFirst] ld a, [wWhichMonFaintedFirst]
and a and a
@ -3050,8 +3050,8 @@ LostBattle: ; 3d38e
jr nz, .not_tied jr nz, .not_tied
ld hl, TiedAgainstText ld hl, TiedAgainstText
ld a, [wBattleResult] ld a, [wBattleResult]
and $c0 and BATTLERESULT_BITMASK
add 2 add DRAW
ld [wBattleResult], a ld [wBattleResult], a
jr .text jr .text
@ -3928,11 +3928,11 @@ TryToRunAwayFromBattle: ; 3d8b3
cp BATTLEACTION_FORFEIT cp BATTLEACTION_FORFEIT
ld a, DRAW ld a, DRAW
jr z, .fled jr z, .fled
dec a dec a ; LOSE
.fled .fled
ld b, a ld b, a
ld a, [wBattleResult] ld a, [wBattleResult]
and $c0 and BATTLERESULT_BITMASK
add b add b
ld [wBattleResult], a ld [wBattleResult], a
call StopDangerSound call StopDangerSound
@ -5180,8 +5180,8 @@ BattleMenu_Pack: ; 3e1c7
xor a xor a
ld [wWildMon], a ld [wWildMon], a
ld a, [wBattleResult] ld a, [wBattleResult]
and $c0 and BATTLERESULT_BITMASK
ld [wBattleResult], a ld [wBattleResult], a ; WIN
call ClearWindowData call ClearWindowData
call SetPalettes call SetPalettes
scf scf
@ -8607,9 +8607,10 @@ DisplayLinkBattleResult: ; 3f77c
.proceed .proceed
ld a, [wBattleResult] ld a, [wBattleResult]
and $f and $f
cp $1 cp LOSE
jr c, .victory jr c, .victory ; WIN
jr z, .loss jr z, .loss ; LOSE
; DRAW
farcall StubbedTrainerRankings_ColosseumDraws farcall StubbedTrainerRankings_ColosseumDraws
ld de, .Draw ld de, .Draw
jr .store_result jr .store_result
@ -8841,7 +8842,7 @@ BattleEnd_HandleRoamMons: ; 3f998
jr nz, .not_roaming jr nz, .not_roaming
ld a, [wBattleResult] ld a, [wBattleResult]
and $f and $f
jr z, .caught_or_defeated_roam_mon jr z, .caught_or_defeated_roam_mon ; WIN
call GetRoamMonHP call GetRoamMonHP
ld a, [wEnemyMonHP + 1] ld a, [wEnemyMonHP + 1]
ld [hl], a ld [hl], a
@ -9001,11 +9002,12 @@ AddLastMobileBattleToLinkRecord: ; 3fa42
.StoreResult: ; 3faa0 .StoreResult: ; 3faa0
ld a, [wBattleResult] ld a, [wBattleResult]
and $f and $f
cp $1 cp LOSE
ld bc, sLinkBattleWins + 1 - sLinkBattleResults ld bc, sLinkBattleWins + 1 - sLinkBattleResults
jr c, .okay jr c, .okay ; WIN
ld bc, sLinkBattleLosses + 1 - sLinkBattleResults ld bc, sLinkBattleLosses + 1 - sLinkBattleResults
jr z, .okay jr z, .okay ; LOSE
; DRAW
ld bc, sLinkBattleDraws + 1 - sLinkBattleResults ld bc, sLinkBattleDraws + 1 - sLinkBattleResults
.okay .okay
add hl, bc add hl, bc

View File

@ -5390,8 +5390,8 @@ INCLUDE "engine/battle/move_effects/teleport.asm"
SetBattleDraw: ; 36804 SetBattleDraw: ; 36804
ld a, [wBattleResult] ld a, [wBattleResult]
and $c0 and BATTLERESULT_BITMASK
or $2 or DRAW
ld [wBattleResult], a ld [wBattleResult], a
ret ret

View File

@ -41,20 +41,20 @@ DetermineLinkBattleResult: ; 2b930
.victory .victory
ld a, [wBattleResult] ld a, [wBattleResult]
and $f0 and $f0
ld [wBattleResult], a ld [wBattleResult], a ; WIN
ret ret
.defeat .defeat
ld a, [wBattleResult] ld a, [wBattleResult]
and $f0 and $f0
add $1 add LOSE
ld [wBattleResult], a ld [wBattleResult], a
ret ret
.drawn .drawn
ld a, [wBattleResult] ld a, [wBattleResult]
and $f0 and $f0
add $2 add DRAW
ld [wBattleResult], a ld [wBattleResult], a
ret ret
@ -123,16 +123,16 @@ DetermineLinkBattleResult: ; 2b930
jr nz, .finish ; we have a pokemon that's neither fainted nor at full health jr nz, .finish ; we have a pokemon that's neither fainted nor at full health
ld hl, wOTPartyMon1HP ld hl, wOTPartyMon1HP
call .CheckFaintedOrFullHealth call .CheckFaintedOrFullHealth
ld e, $1 ld e, $1 ; victory
ret ret
.finish .finish
ld hl, wOTPartyMon1HP ld hl, wOTPartyMon1HP
call .CheckFaintedOrFullHealth call .CheckFaintedOrFullHealth
ld e, $0 ld e, $0 ; drawn
ret nz ; we both have pokemon that are neither fainted nor at full health ret nz ; we both have pokemon that are neither fainted nor at full health
ld e, $2 ld e, $2 ; defeat
ld a, $1 ld a, $1 ; not drawn
and a and a
ret ret

View File

@ -254,7 +254,7 @@ RunBattleTowerTrainer: ; 17024d
farcall HealParty farcall HealParty
ld a, [wBattleResult] ld a, [wBattleResult]
ld [wScriptVar], a ld [wScriptVar], a
and a and a ; WIN?
jr nz, .lost jr nz, .lost
ld a, BANK(sNrOfBeatenBattleTowerTrainers) ld a, BANK(sNrOfBeatenBattleTowerTrainers)
call GetSRAMBank call GetSRAMBank

View File

@ -7,7 +7,7 @@ DisplayCaughtContestMonStats: ; cc000
ld hl, wOptions ld hl, wOptions
ld a, [hl] ld a, [hl]
push af push af
set 4, [hl] set NO_TEXT_SCROLL, [hl]
hlcoord 0, 0 hlcoord 0, 0
ld b, 4 ld b, 4

View File

@ -325,15 +325,15 @@ CelebiEvent_SetBattleType: ; 49bf3
CheckCaughtCelebi: ; 49bf9 CheckCaughtCelebi: ; 49bf9
ld a, [wBattleResult] ld a, [wBattleResult]
bit 6, a bit BATTLERESULT_CAUGHT_CELEBI, a
jr z, .false jr z, .false
ld a, $1 ld a, TRUE
ld [wScriptVar], a ld [wScriptVar], a
jr .done jr .done
.false .false
xor a xor a ; FALSE
ld [wScriptVar], a ld [wScriptVar], a
.done .done

View File

@ -12,7 +12,7 @@ ret_e00ed: ; e00ed (38:40ed)
_CardFlip: ; e00ee (38:40ee) _CardFlip: ; e00ee (38:40ee)
ld hl, wOptions ld hl, wOptions
set 4, [hl] set NO_TEXT_SCROLL, [hl]
call ClearBGPalettes call ClearBGPalettes
call ClearTileMap call ClearTileMap
call ClearSprites call ClearSprites

View File

@ -537,7 +537,7 @@ PokeBallEffect: ; e8a2
cp BATTLETYPE_CELEBI cp BATTLETYPE_CELEBI
jr nz, .not_celebi jr nz, .not_celebi
ld hl, wBattleResult ld hl, wBattleResult
set 6, [hl] set BATTLERESULT_CAUGHT_CELEBI, [hl]
.not_celebi .not_celebi
ld a, [wPartyCount] ld a, [wPartyCount]
@ -615,7 +615,7 @@ PokeBallEffect: ; e8a2
cp MONS_PER_BOX cp MONS_PER_BOX
jr nz, .BoxNotFullYet jr nz, .BoxNotFullYet
ld hl, wBattleResult ld hl, wBattleResult
set 7, [hl] set BATTLERESULT_BOX_FULL, [hl]
.BoxNotFullYet: .BoxNotFullYet:
ld a, [wCurItem] ld a, [wCurItem]
cp FRIEND_BALL cp FRIEND_BALL
@ -2196,8 +2196,8 @@ PokeDollEffect: ; f48f
inc a inc a
ld [wForcedSwitch], a ld [wForcedSwitch], a
ld a, [wBattleResult] ld a, [wBattleResult]
and $c0 and BATTLERESULT_BITMASK
or $2 or DRAW
ld [wBattleResult], a ld [wBattleResult], a
jp UseItemText jp UseItemText

View File

@ -126,7 +126,7 @@ RunTradeAnimScript: ; 28fa1
ld hl, wOptions ld hl, wOptions
ld a, [hl] ld a, [hl]
push af push af
set 4, [hl] set NO_TEXT_SCROLL, [hl]
call .TradeAnimLayout call .TradeAnimLayout
ld a, [wcf66] ld a, [wcf66]
and a and a

View File

@ -1372,7 +1372,7 @@ Script_startbattle:
call BufferScreen call BufferScreen
predef StartBattle predef StartBattle
ld a, [wBattleResult] ld a, [wBattleResult]
and $3f and $ff ^ BATTLERESULT_BITMASK
ld [wScriptVar], a ld [wScriptVar], a
ret ret
@ -1391,10 +1391,10 @@ Script_reloadmapafterbattle:
ld hl, wBattleScriptFlags ld hl, wBattleScriptFlags
ld d, [hl] ld d, [hl]
ld [hl], $0 ld [hl], 0
ld a, [wBattleResult] ld a, [wBattleResult]
and $3f and $ff ^ BATTLERESULT_BITMASK
cp $1 cp LOSE
jr nz, .notblackedout jr nz, .notblackedout
ld b, BANK(Script_BattleWhiteout) ld b, BANK(Script_BattleWhiteout)
ld hl, Script_BattleWhiteout ld hl, Script_BattleWhiteout
@ -1408,7 +1408,7 @@ Script_reloadmapafterbattle:
.was_wild .was_wild
ld a, [wBattleResult] ld a, [wBattleResult]
bit 7, a bit BATTLERESULT_BOX_FULL, a
jr z, .done jr z, .done
ld b, BANK(Script_SpecialBillCall) ld b, BANK(Script_SpecialBillCall)
ld de, Script_SpecialBillCall ld de, Script_SpecialBillCall

View File

@ -146,6 +146,6 @@ _GetVarAction:: ; 80648 (20:4648)
.BattleResult: ; 80728 .BattleResult: ; 80728
ld a, [wBattleResult] ld a, [wBattleResult]
and $3f and $ff ^ BATTLERESULT_BITMASK
jp .loadstringbuffer2 jp .loadstringbuffer2
; 80730 ; 80730

View File

@ -2,7 +2,7 @@ _DepositPKMN: ; e2391 (38:6391)
ld hl, wOptions ld hl, wOptions
ld a, [hl] ld a, [hl]
push af push af
set 4, [hl] set NO_TEXT_SCROLL, [hl]
ld a, [wVramState] ld a, [wVramState]
push af push af
xor a xor a
@ -264,7 +264,7 @@ _WithdrawPKMN: ; e2583 (38:6583)
ld hl, wOptions ld hl, wOptions
ld a, [hl] ld a, [hl]
push af push af
set 4, [hl] set NO_TEXT_SCROLL, [hl]
ld a, [wVramState] ld a, [wVramState]
push af push af
xor a xor a
@ -507,7 +507,7 @@ _MovePKMNWithoutMail: ; e2759
ld hl, wOptions ld hl, wOptions
ld a, [hl] ld a, [hl]
push af push af
set 4, [hl] set NO_TEXT_SCROLL, [hl]
ld a, [wVramState] ld a, [wVramState]
push af push af
xor a xor a

View File

@ -778,7 +778,7 @@ PrintPartyMenuText: ; 5049a
.gotstring ; 504be .gotstring ; 504be
ld a, [wOptions] ld a, [wOptions]
push af push af
set 4, a ; disable text delay set NO_TEXT_SCROLL, a
ld [wOptions], a ld [wOptions], a
hlcoord 1, 16 ; Coord hlcoord 1, 16 ; Coord
call PlaceString call PlaceString

View File

@ -247,7 +247,7 @@ PrintWinLossText:: ; 3718
.canlose .canlose
ld a, [wBattleResult] ld a, [wBattleResult]
ld hl, wWinTextPointer ld hl, wWinTextPointer
and $f and $f ; WIN?
jr z, .ok jr z, .ok
ld hl, wLossTextPointer ld hl, wLossTextPointer

View File

@ -106,7 +106,7 @@ Function170c06: ; 170c06
call GetSRAMBank call GetSRAMBank
ld hl, $a894 ld hl, $a894
ld a, [wBattleResult] ld a, [wBattleResult]
and a and a ; WIN?
jr nz, .asm_170c15 jr nz, .asm_170c15
inc [hl] inc [hl]

View File

@ -1504,8 +1504,11 @@ wGameTimerPause:: ; cfbc
ds 1 ds 1
wcfbe:: ; SGB flags? wcfbe:: ; cfbe
; bit 7 ; bits 4, 6, or 7 can be used to disable joypad input
; bit 4
; bit 6: mon fainted?
; bit 7: SGB flag?
db db
ds 1 ds 1
@ -1893,7 +1896,11 @@ wVramState:: ; d0ed
; flickers when climbing waterfall ; flickers when climbing waterfall
db db
wBattleResult:: db ; d0ee wBattleResult:: ; d0ee
; WIN, LOSE, or DRAW
; bit 6: caught celebi
; bit 7: box full
db
wUsingItemWithSelect:: db ; d0ef wUsingItemWithSelect:: db ; d0ef
UNION ; d0f0 UNION ; d0f0