Identify remaining uses of wBuffer1-6 as general-purpose HP buffers or mobile

This commit is contained in:
Rangi
2020-11-03 23:25:22 -05:00
parent a831b34e5c
commit 7254c10093
8 changed files with 145 additions and 146 deletions

View File

@@ -1797,26 +1797,26 @@ SubtractHP:
.ok
inc hl
ld a, [hl]
ld [wBuffer3], a
ld [wHPBuffer2], a
sub c
ld [hld], a
ld [wBuffer5], a
ld [wHPBuffer3], a
ld a, [hl]
ld [wBuffer4], a
ld [wHPBuffer2 + 1], a
sbc b
ld [hl], a
ld [wBuffer6], a
ld [wHPBuffer3 + 1], a
ret nc
ld a, [wBuffer3]
ld a, [wHPBuffer2]
ld c, a
ld a, [wBuffer4]
ld a, [wHPBuffer2 + 1]
ld b, a
xor a
ld [hli], a
ld [hl], a
ld [wBuffer5], a
ld [wBuffer6], a
ld [wHPBuffer3], a
ld [wHPBuffer3 + 1], a
ret
GetSixteenthMaxHP:
@@ -1882,7 +1882,7 @@ GetHalfMaxHP:
ret
GetMaxHP:
; output: bc, wBuffer1-2
; output: bc, wHPBuffer1
ld hl, wBattleMonMaxHP
ldh a, [hBattleTurn]
@@ -1891,11 +1891,11 @@ GetMaxHP:
ld hl, wEnemyMonMaxHP
.ok
ld a, [hli]
ld [wBuffer2], a
ld [wHPBuffer1 + 1], a
ld b, a
ld a, [hl]
ld [wBuffer1], a
ld [wHPBuffer1], a
ld c, a
ret
@@ -1913,9 +1913,9 @@ GetHalfHP: ; unreferenced
srl b
rr c
ld a, [hli]
ld [wBuffer2], a
ld [wHPBuffer1 + 1], a
ld a, [hl]
ld [wBuffer1], a
ld [wHPBuffer1], a
ret
CheckUserHasEnoughHP:
@@ -1940,36 +1940,36 @@ RestoreHP:
ld hl, wBattleMonMaxHP
.ok
ld a, [hli]
ld [wBuffer2], a
ld [wHPBuffer1 + 1], a
ld a, [hld]
ld [wBuffer1], a
ld [wHPBuffer1], a
dec hl
ld a, [hl]
ld [wBuffer3], a
ld [wHPBuffer2], a
add c
ld [hld], a
ld [wBuffer5], a
ld [wHPBuffer3], a
ld a, [hl]
ld [wBuffer4], a
ld [wHPBuffer2 + 1], a
adc b
ld [hli], a
ld [wBuffer6], a
ld [wHPBuffer3 + 1], a
ld a, [wBuffer1]
ld a, [wHPBuffer1]
ld c, a
ld a, [hld]
sub c
ld a, [wBuffer2]
ld a, [wHPBuffer1 + 1]
ld b, a
ld a, [hl]
sbc b
jr c, .overflow
ld a, b
ld [hli], a
ld [wBuffer6], a
ld [wHPBuffer3 + 1], a
ld a, c
ld [hl], a
ld [wBuffer5], a
ld [wHPBuffer3], a
.overflow
call SwitchTurnCore
@@ -4270,13 +4270,13 @@ HandleHPHealingItem:
; Store current HP in Buffer 3/4
push bc
ld a, [de]
ld [wBuffer3], a
ld [wHPBuffer2], a
add a
ld c, a
dec de
ld a, [de]
inc de
ld [wBuffer4], a
ld [wHPBuffer2 + 1], a
adc a
ld b, a
ld a, b
@@ -4295,19 +4295,19 @@ HandleHPHealingItem:
.less
call ItemRecoveryAnim
; store max HP in wBuffer1/2
; store max HP in wHPBuffer1
ld a, [hli]
ld [wBuffer2], a
ld [wHPBuffer1 + 1], a
ld a, [hl]
ld [wBuffer1], a
ld [wHPBuffer1], a
ld a, [de]
add c
ld [wBuffer5], a
ld [wHPBuffer3], a
ld c, a
dec de
ld a, [de]
adc 0
ld [wBuffer6], a
ld [wHPBuffer3 + 1], a
ld b, a
ld a, [hld]
cp c
@@ -4315,15 +4315,15 @@ HandleHPHealingItem:
sbc b
jr nc, .okay
ld a, [hli]
ld [wBuffer6], a
ld [wHPBuffer3 + 1], a
ld a, [hl]
ld [wBuffer5], a
ld [wHPBuffer3], a
.okay
ld a, [wBuffer6]
ld a, [wHPBuffer3 + 1]
ld [de], a
inc de
ld a, [wBuffer5]
ld a, [wHPBuffer3]
ld [de], a
ldh a, [hBattleTurn]
ld [wWhichHPBar], a

View File

@@ -2406,19 +2406,19 @@ BattleCommand_CheckFaint:
.got_max_hp
ld [wWhichHPBar], a
ld a, [hld]
ld [wBuffer1], a
ld [wHPBuffer1], a
ld a, [hld]
ld [wBuffer2], a
ld [wHPBuffer1 + 1], a
ld a, [hl]
ld [wBuffer3], a
ld [wHPBuffer2], a
xor a
ld [hld], a
ld a, [hl]
ld [wBuffer4], a
ld [wHPBuffer2 + 1], a
xor a
ld [hl], a
ld [wBuffer5], a
ld [wBuffer6], a
ld [wHPBuffer3], a
ld [wHPBuffer3 + 1], a
ld h, b
ld l, c
predef AnimateHPBar
@@ -3418,18 +3418,18 @@ DoEnemyDamage:
jp nz, DoSubstituteDamage
.ignore_substitute
; Substract wCurDamage from wEnemyMonHP.
; store original HP in little endian wBuffer3/4
; Subtract wCurDamage from wEnemyMonHP.
; store original HP in little endian wHPBuffer2
ld a, [hld]
ld b, a
ld a, [wEnemyMonHP + 1]
ld [wBuffer3], a
ld [wHPBuffer2], a
sub b
ld [wEnemyMonHP + 1], a
ld a, [hl]
ld b, a
ld a, [wEnemyMonHP]
ld [wBuffer4], a
ld [wHPBuffer2 + 1], a
sbc b
ld [wEnemyMonHP], a
if DEF(_DEBUG)
@@ -3451,9 +3451,9 @@ else
jr nc, .no_underflow
endc
ld a, [wBuffer4]
ld a, [wHPBuffer2 + 1]
ld [hli], a
ld a, [wBuffer3]
ld a, [wHPBuffer2]
ld [hl], a
xor a
ld hl, wEnemyMonHP
@@ -3463,14 +3463,14 @@ endc
.no_underflow
ld hl, wEnemyMonMaxHP
ld a, [hli]
ld [wBuffer2], a
ld [wHPBuffer1 + 1], a
ld a, [hl]
ld [wBuffer1], a
ld [wHPBuffer1], a
ld hl, wEnemyMonHP
ld a, [hli]
ld [wBuffer6], a
ld [wHPBuffer3 + 1], a
ld a, [hl]
ld [wBuffer5], a
ld [wHPBuffer3], a
hlcoord 2, 2
xor a
@@ -3495,42 +3495,42 @@ DoPlayerDamage:
jp nz, DoSubstituteDamage
.ignore_substitute
; Substract wCurDamage from wBattleMonHP.
; store original HP in little endian wBuffer3/4
; store new HP in little endian wBuffer5/6
; Subtract wCurDamage from wBattleMonHP.
; store original HP in little endian wHPBuffer2
; store new HP in little endian wHPBuffer3
ld a, [hld]
ld b, a
ld a, [wBattleMonHP + 1]
ld [wBuffer3], a
ld [wHPBuffer2], a
sub b
ld [wBattleMonHP + 1], a
ld [wBuffer5], a
ld [wHPBuffer3], a
ld b, [hl]
ld a, [wBattleMonHP]
ld [wBuffer4], a
ld [wHPBuffer2 + 1], a
sbc b
ld [wBattleMonHP], a
ld [wBuffer6], a
ld [wHPBuffer3 + 1], a
jr nc, .no_underflow
ld a, [wBuffer4]
ld a, [wHPBuffer2 + 1]
ld [hli], a
ld a, [wBuffer3]
ld a, [wHPBuffer2]
ld [hl], a
xor a
ld hl, wBattleMonHP
ld [hli], a
ld [hl], a
ld hl, wBuffer5
ld hl, wHPBuffer3
ld [hli], a
ld [hl], a
.no_underflow
ld hl, wBattleMonMaxHP
ld a, [hli]
ld [wBuffer2], a
ld [wHPBuffer1 + 1], a
ld a, [hl]
ld [wBuffer1], a
ld [wHPBuffer1], a
hlcoord 10, 9
ld a, 1
@@ -3911,15 +3911,15 @@ SapHealth:
ld de, wEnemyMonMaxHP
.battlemonhp
; Store current HP in little endian wBuffer3/4
ld bc, wBuffer4
; Store current HP in little endian wHPBuffer2
ld bc, wHPBuffer2 + 1
ld a, [hli]
ld [bc], a
ld a, [hl]
dec bc
ld [bc], a
; Store max HP in little endian wBuffer1/2
; Store max HP in little endian wHPBuffer1
ld a, [de]
dec bc
ld [bc], a
@@ -3928,20 +3928,20 @@ SapHealth:
dec bc
ld [bc], a
; Add hDividend to current HP and copy it to little endian wBuffer5/6
; Add hDividend to current HP and copy it to little endian wHPBuffer3
ldh a, [hDividend + 1]
ld b, [hl]
add b
ld [hld], a
ld [wBuffer5], a
ld [wHPBuffer3], a
ldh a, [hDividend]
ld b, [hl]
adc b
ld [hli], a
ld [wBuffer6], a
ld [wHPBuffer3 + 1], a
jr c, .max_hp
; Substract current HP from max HP (to see if we have more than max HP)
; Subtract current HP from max HP (to see if we have more than max HP)
ld a, [hld]
ld b, a
ld a, [de]
@@ -3955,14 +3955,14 @@ SapHealth:
jr nc, .finish
.max_hp
; Load max HP into current HP and copy it to little endian wBuffer5/6
; Load max HP into current HP and copy it to little endian wHPBuffer3
ld a, [de]
ld [hld], a
ld [wBuffer5], a
ld [wHPBuffer3], a
dec de
ld a, [de]
ld [hli], a
ld [wBuffer6], a
ld [wHPBuffer3 + 1], a
inc de
.finish
@@ -5805,26 +5805,26 @@ BattleCommand_Recoil:
inc c
.min_damage
ld a, [hli]
ld [wBuffer2], a
ld [wHPBuffer1 + 1], a
ld a, [hl]
ld [wBuffer1], a
ld [wHPBuffer1], a
dec hl
dec hl
ld a, [hl]
ld [wBuffer3], a
ld [wHPBuffer2], a
sub c
ld [hld], a
ld [wBuffer5], a
ld [wHPBuffer3], a
ld a, [hl]
ld [wBuffer4], a
ld [wHPBuffer2 + 1], a
sbc b
ld [hl], a
ld [wBuffer6], a
ld [wHPBuffer3 + 1], a
jr nc, .dont_ko
xor a
ld [hli], a
ld [hl], a
ld hl, wBuffer5
ld hl, wHPBuffer3
ld [hli], a
ld [hl], a
.dont_ko

View File

@@ -16,13 +16,13 @@ BattleCommand_PainSplit:
predef AnimateHPBar
ld hl, wEnemyMonHP
ld a, [hli]
ld [wBuffer4], a
ld [wHPBuffer2 + 1], a
ld a, [hli]
ld [wBuffer3], a
ld [wHPBuffer2], a
ld a, [hli]
ld [wBuffer2], a
ld [wHPBuffer1 + 1], a
ld a, [hl]
ld [wBuffer1], a
ld [wHPBuffer1], a
call .EnemyShareHP
xor a
ld [wWhichHPBar], a
@@ -36,14 +36,14 @@ BattleCommand_PainSplit:
.PlayerShareHP:
ld a, [hld]
ld [wBuffer1], a
ld [wHPBuffer1], a
ld a, [hld]
ld [wBuffer2], a
ld [wHPBuffer1 + 1], a
ld a, [hld]
ld b, a
ld [wBuffer3], a
ld [wHPBuffer2], a
ld a, [hl]
ld [wBuffer4], a
ld [wHPBuffer2 + 1], a
dec de
dec de
ld a, [de]
@@ -83,10 +83,10 @@ BattleCommand_PainSplit:
.skip
ld a, c
ld [hld], a
ld [wBuffer5], a
ld [wHPBuffer3], a
ld a, b
ld [hli], a
ld [wBuffer6], a
ld [wHPBuffer3 + 1], a
ret
.ButItFailed: