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

@@ -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)

View File

@@ -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

View File

@@ -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

View File

@@ -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