summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--audio/engine.asm4
-rw-r--r--constants/audio_constants.asm2
-rw-r--r--constants/battle_constants.asm6
-rw-r--r--docs/bugs_and_glitches.md23
-rw-r--r--engine/battle/battle_transition.asm77
-rw-r--r--engine/battle/core.asm48
-rw-r--r--engine/battle/effect_commands.asm4
-rw-r--r--engine/battle/link_result.asm14
-rw-r--r--engine/events/battle_tower/battle_tower.asm2
-rw-r--r--engine/events/bug_contest/display_stats.asm2
-rw-r--r--engine/events/celebi.asm6
-rw-r--r--engine/games/card_flip.asm2
-rw-r--r--engine/items/item_effects.asm8
-rw-r--r--engine/movie/trade_animation.asm2
-rw-r--r--engine/overworld/scripting.asm10
-rw-r--r--engine/overworld/variables.asm2
-rw-r--r--engine/pokemon/bills_pc.asm6
-rw-r--r--engine/pokemon/party_menu.asm2
-rw-r--r--home/trainers.asm2
-rw-r--r--mobile/mobile_5c.asm2
-rw-r--r--wram.asm13
21 files changed, 140 insertions, 97 deletions
diff --git a/audio/engine.asm b/audio/engine.asm
index 0bd7706a5..50f2f5843 100644
--- a/audio/engine.asm
+++ b/audio/engine.asm
@@ -1081,7 +1081,7 @@ HandleNoise: ; e858c
ret z
; are we in a sfx channel?
ld a, [wCurChannel]
- bit 2, a ; sfx
+ bit NOISE_CHAN_F, a
jr nz, .next
; is ch8 on? (noise)
ld hl, wChannel8Flags
@@ -1330,7 +1330,7 @@ GetNoiseSample: ; e86c5
call SetNoteDuration
; check current channel
ld a, [wCurChannel]
- bit 2, a ; are we in a sfx channel?
+ bit NOISE_CHAN_F, a
jr nz, .sfx
ld hl, wChannel8Flags
bit SOUND_CHANNEL_ON, [hl] ; is ch8 on? (noise)
diff --git a/constants/audio_constants.asm b/constants/audio_constants.asm
index 288caad91..85c5cc577 100644
--- a/constants/audio_constants.asm
+++ b/constants/audio_constants.asm
@@ -31,6 +31,8 @@ NUM_NOISE_CHANS EQU const_value
const CHAN8 ; 7
NUM_CHANNELS EQU const_value
+NOISE_CHAN_F EQU 2 ; bit set in CHAN5-CHAN7
+
; Flags1
const_def
const SOUND_CHANNEL_ON ; 0
diff --git a/constants/battle_constants.asm b/constants/battle_constants.asm
index b1f57514a..64e99d1d7 100644
--- a/constants/battle_constants.asm
+++ b/constants/battle_constants.asm
@@ -157,7 +157,7 @@ SLP EQU %111 ; 0-7 turns
const FRZ
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
enum_start 7, -1
@@ -248,3 +248,7 @@ SUBSTATUS_CURLED EQU 0
const WIN
const LOSE
const DRAW
+
+BATTLERESULT_CAUGHT_CELEBI EQU 6
+BATTLERESULT_BOX_FULL EQU 7
+BATTLERESULT_BITMASK EQU (1 << BATTLERESULT_CAUGHT_CELEBI) | (1 << BATTLERESULT_BOX_FULL)
diff --git a/docs/bugs_and_glitches.md b/docs/bugs_and_glitches.md
index 95c5e032f..2e83e6908 100644
--- a/docs/bugs_and_glitches.md
+++ b/docs/bugs_and_glitches.md
@@ -949,18 +949,18 @@ StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365)
add 3
ld hl, wEnemyMonLevel
cp [hl]
- jr nc, .okay
- set 0, e
-.okay
+ jr nc, .not_stronger
+ set TRANS_STRONGER_F, e
+.not_stronger
ld a, [wEnvironment]
cp CAVE
- jr z, .okay2
+ jr z, .cave
cp ENVIRONMENT_5
- jr z, .okay2
+ jr z, .cave
cp DUNGEON
- jr z, .okay2
- set 1, e
-.okay2
+ jr z, .cave
+ set TRANS_NO_CAVE_F, e
+.cave
ld hl, .StartingPoints
add hl, de
ld a, [hl]
@@ -969,8 +969,11 @@ StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365)
; 8c38f (23:438f)
.StartingPoints: ; 8c38f
- db 1, 9
- db 16, 24
+; entries correspond to TRANS_* constants
+ db BATTLETRANSITION_CAVE
+ db BATTLETRANSITION_CAVE_STRONGER
+ db BATTLETRANSITION_NO_CAVE
+ db BATTLETRANSITION_NO_CAVE_STRONGER
; 8c393
```
diff --git a/engine/battle/battle_transition.asm b/engine/battle/battle_transition.asm
index 1de84421d..42dd440ea 100644
--- a/engine/battle/battle_transition.asm
+++ b/engine/battle/battle_transition.asm
@@ -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
call .InitGFX
ld a, [rBGP]
@@ -14,7 +22,7 @@ DoBattleTransition: ; 8c20f
.loop
ld a, [wJumptableIndex]
- bit 7, a
+ bit 7, a ; BATTLETRANSITION_END?
jr nz, .done
call BattleTransitionJumptable
call DelayFrame
@@ -145,13 +153,13 @@ INCBIN "gfx/overworld/trainer_battle_pokeball_tiles.2bpp"
BattleTransitionJumptable: ; 8c314
- jumptable .dw, wJumptableIndex
+ jumptable .Jumptable, wJumptableIndex
; 8c323
-.dw ; 8c323 (23:4323)
+.Jumptable ; 8c323 (23:4323)
dw StartTrainerBattle_DetermineWhichAnimation ; 00
- ; Animation 1: cave
+ ; BATTLETRANSITION_CAVE
dw StartTrainerBattle_LoadPokeBallGraphics ; 01
dw StartTrainerBattle_SetUpBGMap ; 02
dw StartTrainerBattle_Flash ; 03
@@ -161,7 +169,7 @@ BattleTransitionJumptable: ; 8c314
dw StartTrainerBattle_SetUpForWavyOutro ; 07
dw StartTrainerBattle_SineWave ; 08
- ; Animation 2: cave, stronger
+ ; BATTLETRANSITION_CAVE_STRONGER
dw StartTrainerBattle_LoadPokeBallGraphics ; 09
dw StartTrainerBattle_SetUpBGMap ; 0a
dw StartTrainerBattle_Flash ; 0b
@@ -171,7 +179,7 @@ BattleTransitionJumptable: ; 8c314
; There is no setup for this one
dw StartTrainerBattle_ZoomToBlack ; 0f
- ; Animation 3: no cave
+ ; BATTLETRANSITION_NO_CAVE
dw StartTrainerBattle_LoadPokeBallGraphics ; 10
dw StartTrainerBattle_SetUpBGMap ; 11
dw StartTrainerBattle_Flash ; 12
@@ -181,7 +189,7 @@ BattleTransitionJumptable: ; 8c314
dw StartTrainerBattle_SetUpForSpinOutro ; 16
dw StartTrainerBattle_SpinToBlack ; 17
- ; Animation 4: no cave, stronger
+ ; BATTLETRANSITION_NO_CAVE_STRONGER
dw StartTrainerBattle_LoadPokeBallGraphics ; 18
dw StartTrainerBattle_SetUpBGMap ; 19
dw StartTrainerBattle_Flash ; 1a
@@ -191,9 +199,19 @@ BattleTransitionJumptable: ; 8c314
dw StartTrainerBattle_SetUpForRandomScatterOutro ; 1e
dw StartTrainerBattle_SpeckleToBlack ; 1f
- ; All animations jump to here.
+ ; BATTLETRANSITION_FINISH
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)
; The screen flashes a different number of times depending on the level of
@@ -205,18 +223,18 @@ StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365)
add 3
ld hl, wEnemyMonLevel
cp [hl]
- jr nc, .okay
- set 0, e
-.okay
+ jr nc, .not_stronger
+ set TRANS_STRONGER_F, e
+.not_stronger
ld a, [wEnvironment]
cp CAVE
- jr z, .okay2
+ jr z, .cave
cp ENVIRONMENT_5
- jr z, .okay2
+ jr z, .cave
cp DUNGEON
- jr z, .okay2
- set 1, e
-.okay2
+ jr z, .cave
+ set TRANS_NO_CAVE_F, e
+.cave
ld hl, .StartingPoints
add hl, de
ld a, [hl]
@@ -225,13 +243,16 @@ StartTrainerBattle_DetermineWhichAnimation: ; 8c365 (23:4365)
; 8c38f (23:438f)
.StartingPoints: ; 8c38f
- db 1, 9
- db 16, 24
+; entries correspond to TRANS_* constants
+ db BATTLETRANSITION_CAVE
+ db BATTLETRANSITION_CAVE_STRONGER
+ db BATTLETRANSITION_NO_CAVE
+ db BATTLETRANSITION_NO_CAVE_STRONGER
; 8c393
StartTrainerBattle_Finish: ; 8c393 (23:4393)
call ClearSprites
- ld a, $80
+ ld a, BATTLETRANSITION_END
ld [wJumptableIndex], a
ret
@@ -322,7 +343,7 @@ StartTrainerBattle_SineWave: ; 8c408 (23:4408)
ret
.end
- ld a, $20
+ ld a, BATTLETRANSITION_FINISH
ld [wJumptableIndex], a
ret
@@ -394,7 +415,7 @@ endr
call DelayFrame
xor a
ld [hBGMapMode], a
- ld a, $20
+ ld a, BATTLETRANSITION_FINISH
ld [wJumptableIndex], a
ret
; 8c490 (23:4490)
@@ -406,6 +427,10 @@ endr
const LOWER_LEFT
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_entry: MACRO
db \1
@@ -451,7 +476,7 @@ ENDM
.loop1
ld [hl], $ff
ld a, [wcf65]
- bit 0, a
+ bit RIGHT_QUADRANT_F, a
jr z, .leftside
inc hl
jr .okay1
@@ -462,7 +487,7 @@ ENDM
jr nz, .loop1
pop hl
ld a, [wcf65]
- bit 1, a
+ bit LOWER_QUADRANT_F, a
ld bc, SCREEN_WIDTH
jr z, .upper
ld bc, -SCREEN_WIDTH
@@ -477,7 +502,7 @@ ENDM
ld c, a
.loop2
ld a, [wcf65]
- bit 0, a
+ bit RIGHT_QUADRANT_F, a
jr z, .leftside2
dec hl
jr .okay2
@@ -530,7 +555,7 @@ StartTrainerBattle_SpeckleToBlack: ; 8c58f (23:458f)
call DelayFrame
xor a
ld [hBGMapMode], a
- ld a, $20
+ ld a, BATTLETRANSITION_FINISH
ld [wJumptableIndex], a
ret
@@ -778,7 +803,7 @@ StartTrainerBattle_ZoomToBlack: ; 8c768 (23:4768)
jr .loop
.done
- ld a, $20
+ ld a, BATTLETRANSITION_FINISH
ld [wJumptableIndex], a
ret
; 8c792 (23:4792)
diff --git a/engine/battle/core.asm b/engine/battle/core.asm
index fe20333b5..78dae4dd3 100644
--- a/engine/battle/core.asm
+++ b/engine/battle/core.asm
@@ -119,8 +119,8 @@ DoBattle: ; 3c000
WildFled_EnemyFled_LinkBattleCanceled: ; 3c0e5
call Call_LoadTempTileMapToTileMap
ld a, [wBattleResult]
- and $c0
- add $2
+ and BATTLERESULT_BITMASK
+ add DRAW
ld [wBattleResult], a
ld a, [wLinkMode]
and a
@@ -128,8 +128,8 @@ WildFled_EnemyFled_LinkBattleCanceled: ; 3c0e5
jr z, .print_text
ld a, [wBattleResult]
- and $c0
- ld [wBattleResult], a
+ and BATTLERESULT_BITMASK
+ ld [wBattleResult], a ; WIN
ld hl, BattleText_EnemyFled
call CheckMobileBattleError
jr nc, .print_text
@@ -575,8 +575,8 @@ CheckContestBattleOver: ; 3c3f5
and a
jr nz, .contest_not_over
ld a, [wBattleResult]
- and $c0
- add $2
+ and BATTLERESULT_BITMASK
+ add DRAW
ld [wBattleResult], a
scf
ret
@@ -2199,8 +2199,8 @@ UpdateBattleStateAndExperienceAfterEnemyFaint: ; 3ce01
call EmptyBattleTextBox
call LoadTileMapToTempTileMap
ld a, [wBattleResult]
- and $c0
- ld [wBattleResult], a
+ and BATTLERESULT_BITMASK
+ ld [wBattleResult], a ; WIN
call IsAnyMonHoldingExpShare
jr z, .skip_exp
ld hl, wEnemyMonBaseStats
@@ -2745,8 +2745,8 @@ PlayerMonFaintHappinessMod: ; 3d1aa
ld [wCurPartyMon], a
callfar ChangeHappiness
ld a, [wBattleResult]
- and %11000000
- add $1
+ and BATTLERESULT_BITMASK
+ add LOSE
ld [wBattleResult], a
ld a, [wWhichMonFaintedFirst]
and a
@@ -3050,8 +3050,8 @@ LostBattle: ; 3d38e
jr nz, .not_tied
ld hl, TiedAgainstText
ld a, [wBattleResult]
- and $c0
- add 2
+ and BATTLERESULT_BITMASK
+ add DRAW
ld [wBattleResult], a
jr .text
@@ -3928,11 +3928,11 @@ TryToRunAwayFromBattle: ; 3d8b3
cp BATTLEACTION_FORFEIT
ld a, DRAW
jr z, .fled
- dec a
+ dec a ; LOSE
.fled
ld b, a
ld a, [wBattleResult]
- and $c0
+ and BATTLERESULT_BITMASK
add b
ld [wBattleResult], a
call StopDangerSound
@@ -5180,8 +5180,8 @@ BattleMenu_Pack: ; 3e1c7
xor a
ld [wWildMon], a
ld a, [wBattleResult]
- and $c0
- ld [wBattleResult], a
+ and BATTLERESULT_BITMASK
+ ld [wBattleResult], a ; WIN
call ClearWindowData
call SetPalettes
scf
@@ -8607,9 +8607,10 @@ DisplayLinkBattleResult: ; 3f77c
.proceed
ld a, [wBattleResult]
and $f
- cp $1
- jr c, .victory
- jr z, .loss
+ cp LOSE
+ jr c, .victory ; WIN
+ jr z, .loss ; LOSE
+ ; DRAW
farcall StubbedTrainerRankings_ColosseumDraws
ld de, .Draw
jr .store_result
@@ -8841,7 +8842,7 @@ BattleEnd_HandleRoamMons: ; 3f998
jr nz, .not_roaming
ld a, [wBattleResult]
and $f
- jr z, .caught_or_defeated_roam_mon
+ jr z, .caught_or_defeated_roam_mon ; WIN
call GetRoamMonHP
ld a, [wEnemyMonHP + 1]
ld [hl], a
@@ -9001,11 +9002,12 @@ AddLastMobileBattleToLinkRecord: ; 3fa42
.StoreResult: ; 3faa0
ld a, [wBattleResult]
and $f
- cp $1
+ cp LOSE
ld bc, sLinkBattleWins + 1 - sLinkBattleResults
- jr c, .okay
+ jr c, .okay ; WIN
ld bc, sLinkBattleLosses + 1 - sLinkBattleResults
- jr z, .okay
+ jr z, .okay ; LOSE
+ ; DRAW
ld bc, sLinkBattleDraws + 1 - sLinkBattleResults
.okay
add hl, bc
diff --git a/engine/battle/effect_commands.asm b/engine/battle/effect_commands.asm
index ea6c22dda..580c25583 100644
--- a/engine/battle/effect_commands.asm
+++ b/engine/battle/effect_commands.asm
@@ -5390,8 +5390,8 @@ INCLUDE "engine/battle/move_effects/teleport.asm"
SetBattleDraw: ; 36804
ld a, [wBattleResult]
- and $c0
- or $2
+ and BATTLERESULT_BITMASK
+ or DRAW
ld [wBattleResult], a
ret
diff --git a/engine/battle/link_result.asm b/engine/battle/link_result.asm
index 8f456da9b..1dbc40aa9 100644
--- a/engine/battle/link_result.asm
+++ b/engine/battle/link_result.asm
@@ -41,20 +41,20 @@ DetermineLinkBattleResult: ; 2b930
.victory
ld a, [wBattleResult]
and $f0
- ld [wBattleResult], a
+ ld [wBattleResult], a ; WIN
ret
.defeat
ld a, [wBattleResult]
and $f0
- add $1
+ add LOSE
ld [wBattleResult], a
ret
.drawn
ld a, [wBattleResult]
and $f0
- add $2
+ add DRAW
ld [wBattleResult], a
ret
@@ -123,16 +123,16 @@ DetermineLinkBattleResult: ; 2b930
jr nz, .finish ; we have a pokemon that's neither fainted nor at full health
ld hl, wOTPartyMon1HP
call .CheckFaintedOrFullHealth
- ld e, $1
+ ld e, $1 ; victory
ret
.finish
ld hl, wOTPartyMon1HP
call .CheckFaintedOrFullHealth
- ld e, $0
+ ld e, $0 ; drawn
ret nz ; we both have pokemon that are neither fainted nor at full health
- ld e, $2
- ld a, $1
+ ld e, $2 ; defeat
+ ld a, $1 ; not drawn
and a
ret
diff --git a/engine/events/battle_tower/battle_tower.asm b/engine/events/battle_tower/battle_tower.asm
index d2e3b1c4c..d75015d5b 100644
--- a/engine/events/battle_tower/battle_tower.asm
+++ b/engine/events/battle_tower/battle_tower.asm
@@ -254,7 +254,7 @@ RunBattleTowerTrainer: ; 17024d
farcall HealParty
ld a, [wBattleResult]
ld [wScriptVar], a
- and a
+ and a ; WIN?
jr nz, .lost
ld a, BANK(sNrOfBeatenBattleTowerTrainers)
call GetSRAMBank
diff --git a/engine/events/bug_contest/display_stats.asm b/engine/events/bug_contest/display_stats.asm
index 13b90d0a3..9f6eb50d0 100644
--- a/engine/events/bug_contest/display_stats.asm
+++ b/engine/events/bug_contest/display_stats.asm
@@ -7,7 +7,7 @@ DisplayCaughtContestMonStats: ; cc000
ld hl, wOptions
ld a, [hl]
push af
- set 4, [hl]
+ set NO_TEXT_SCROLL, [hl]
hlcoord 0, 0
ld b, 4
diff --git a/engine/events/celebi.asm b/engine/events/celebi.asm
index 99c22f49f..cb5d08d95 100644
--- a/engine/events/celebi.asm
+++ b/engine/events/celebi.asm
@@ -325,15 +325,15 @@ CelebiEvent_SetBattleType: ; 49bf3
CheckCaughtCelebi: ; 49bf9
ld a, [wBattleResult]
- bit 6, a
+ bit BATTLERESULT_CAUGHT_CELEBI, a
jr z, .false
- ld a, $1
+ ld a, TRUE
ld [wScriptVar], a
jr .done
.false
- xor a
+ xor a ; FALSE
ld [wScriptVar], a
.done
diff --git a/engine/games/card_flip.asm b/engine/games/card_flip.asm
index fbeb3e3b6..8f5131983 100644
--- a/engine/games/card_flip.asm
+++ b/engine/games/card_flip.asm
@@ -12,7 +12,7 @@ ret_e00ed: ; e00ed (38:40ed)
_CardFlip: ; e00ee (38:40ee)
ld hl, wOptions
- set 4, [hl]
+ set NO_TEXT_SCROLL, [hl]
call ClearBGPalettes
call ClearTileMap
call ClearSprites
diff --git a/engine/items/item_effects.asm b/engine/items/item_effects.asm
index 0b5285608..597a75e47 100644
--- a/engine/items/item_effects.asm
+++ b/engine/items/item_effects.asm
@@ -537,7 +537,7 @@ PokeBallEffect: ; e8a2
cp BATTLETYPE_CELEBI
jr nz, .not_celebi
ld hl, wBattleResult
- set 6, [hl]
+ set BATTLERESULT_CAUGHT_CELEBI, [hl]
.not_celebi
ld a, [wPartyCount]
@@ -615,7 +615,7 @@ PokeBallEffect: ; e8a2
cp MONS_PER_BOX
jr nz, .BoxNotFullYet
ld hl, wBattleResult
- set 7, [hl]
+ set BATTLERESULT_BOX_FULL, [hl]
.BoxNotFullYet:
ld a, [wCurItem]
cp FRIEND_BALL
@@ -2196,8 +2196,8 @@ PokeDollEffect: ; f48f
inc a
ld [wForcedSwitch], a
ld a, [wBattleResult]
- and $c0
- or $2
+ and BATTLERESULT_BITMASK
+ or DRAW
ld [wBattleResult], a
jp UseItemText
diff --git a/engine/movie/trade_animation.asm b/engine/movie/trade_animation.asm
index 04c31df80..0b9c72681 100644
--- a/engine/movie/trade_animation.asm
+++ b/engine/movie/trade_animation.asm
@@ -126,7 +126,7 @@ RunTradeAnimScript: ; 28fa1
ld hl, wOptions
ld a, [hl]
push af
- set 4, [hl]
+ set NO_TEXT_SCROLL, [hl]
call .TradeAnimLayout
ld a, [wcf66]
and a
diff --git a/engine/overworld/scripting.asm b/engine/overworld/scripting.asm
index f65f2f9c0..93bb3a5c0 100644
--- a/engine/overworld/scripting.asm
+++ b/engine/overworld/scripting.asm
@@ -1372,7 +1372,7 @@ Script_startbattle:
call BufferScreen
predef StartBattle
ld a, [wBattleResult]
- and $3f
+ and $ff ^ BATTLERESULT_BITMASK
ld [wScriptVar], a
ret
@@ -1391,10 +1391,10 @@ Script_reloadmapafterbattle:
ld hl, wBattleScriptFlags
ld d, [hl]
- ld [hl], $0
+ ld [hl], 0
ld a, [wBattleResult]
- and $3f
- cp $1
+ and $ff ^ BATTLERESULT_BITMASK
+ cp LOSE
jr nz, .notblackedout
ld b, BANK(Script_BattleWhiteout)
ld hl, Script_BattleWhiteout
@@ -1408,7 +1408,7 @@ Script_reloadmapafterbattle:
.was_wild
ld a, [wBattleResult]
- bit 7, a
+ bit BATTLERESULT_BOX_FULL, a
jr z, .done
ld b, BANK(Script_SpecialBillCall)
ld de, Script_SpecialBillCall
diff --git a/engine/overworld/variables.asm b/engine/overworld/variables.asm
index 89026fdba..3adf6df33 100644
--- a/engine/overworld/variables.asm
+++ b/engine/overworld/variables.asm
@@ -146,6 +146,6 @@ _GetVarAction:: ; 80648 (20:4648)
.BattleResult: ; 80728
ld a, [wBattleResult]
- and $3f
+ and $ff ^ BATTLERESULT_BITMASK
jp .loadstringbuffer2
; 80730
diff --git a/engine/pokemon/bills_pc.asm b/engine/pokemon/bills_pc.asm
index 96d6ac310..75cc3fe35 100644
--- a/engine/pokemon/bills_pc.asm
+++ b/engine/pokemon/bills_pc.asm
@@ -2,7 +2,7 @@ _DepositPKMN: ; e2391 (38:6391)
ld hl, wOptions
ld a, [hl]
push af
- set 4, [hl]
+ set NO_TEXT_SCROLL, [hl]
ld a, [wVramState]
push af
xor a
@@ -264,7 +264,7 @@ _WithdrawPKMN: ; e2583 (38:6583)
ld hl, wOptions
ld a, [hl]
push af
- set 4, [hl]
+ set NO_TEXT_SCROLL, [hl]
ld a, [wVramState]
push af
xor a
@@ -507,7 +507,7 @@ _MovePKMNWithoutMail: ; e2759
ld hl, wOptions
ld a, [hl]
push af
- set 4, [hl]
+ set NO_TEXT_SCROLL, [hl]
ld a, [wVramState]
push af
xor a
diff --git a/engine/pokemon/party_menu.asm b/engine/pokemon/party_menu.asm
index fc1783c71..11edc0412 100644
--- a/engine/pokemon/party_menu.asm
+++ b/engine/pokemon/party_menu.asm
@@ -778,7 +778,7 @@ PrintPartyMenuText: ; 5049a
.gotstring ; 504be
ld a, [wOptions]
push af
- set 4, a ; disable text delay
+ set NO_TEXT_SCROLL, a
ld [wOptions], a
hlcoord 1, 16 ; Coord
call PlaceString
diff --git a/home/trainers.asm b/home/trainers.asm
index 575af65a7..337c67709 100644
--- a/home/trainers.asm
+++ b/home/trainers.asm
@@ -247,7 +247,7 @@ PrintWinLossText:: ; 3718
.canlose
ld a, [wBattleResult]
ld hl, wWinTextPointer
- and $f
+ and $f ; WIN?
jr z, .ok
ld hl, wLossTextPointer
diff --git a/mobile/mobile_5c.asm b/mobile/mobile_5c.asm
index 86cb67b71..e74321fc9 100644
--- a/mobile/mobile_5c.asm
+++ b/mobile/mobile_5c.asm
@@ -106,7 +106,7 @@ Function170c06: ; 170c06
call GetSRAMBank
ld hl, $a894
ld a, [wBattleResult]
- and a
+ and a ; WIN?
jr nz, .asm_170c15
inc [hl]
diff --git a/wram.asm b/wram.asm
index 4af5b5cd7..6ddcf2f42 100644
--- a/wram.asm
+++ b/wram.asm
@@ -1504,8 +1504,11 @@ wGameTimerPause:: ; cfbc
ds 1
-wcfbe:: ; SGB flags?
-; bit 7
+wcfbe:: ; cfbe
+; bits 4, 6, or 7 can be used to disable joypad input
+; bit 4
+; bit 6: mon fainted?
+; bit 7: SGB flag?
db
ds 1
@@ -1893,7 +1896,11 @@ wVramState:: ; d0ed
; flickers when climbing waterfall
db
-wBattleResult:: db ; d0ee
+wBattleResult:: ; d0ee
+; WIN, LOSE, or DRAW
+; bit 6: caught celebi
+; bit 7: box full
+ db
wUsingItemWithSelect:: db ; d0ef
UNION ; d0f0