Fixed hard drop not working in 20G.

This commit is contained in:
Randy Thiemann 2023-12-05 05:32:05 +01:00
parent 69d6001d16
commit 13ae687d9c
5 changed files with 14 additions and 12 deletions

Binary file not shown.

View File

@ -1468,7 +1468,7 @@ ROMX bank #4:
$4702 = FieldProcess.noeffect $4702 = FieldProcess.noeffect
$4706 = FieldProcess.skipmovement $4706 = FieldProcess.skipmovement
$4706 = FieldProcess.donemanipulating $4706 = FieldProcess.donemanipulating
$4728 = FieldProcess.sonicdrop $4722 = FieldProcess.sonicdrop
$4733 = FieldProcess.sonicneutrallockskip $4733 = FieldProcess.sonicneutrallockskip
$473d = FieldProcess.harddrop $473d = FieldProcess.harddrop
$474c = FieldProcess.donedeterminingharddropdistance $474c = FieldProcess.donedeterminingharddropdistance
@ -2422,7 +2422,7 @@ ROMX bank #5:
$4728 = BigFieldProcess.noeffect $4728 = BigFieldProcess.noeffect
$472c = BigFieldProcess.skipmovement $472c = BigFieldProcess.skipmovement
$472c = BigFieldProcess.donemanipulating $472c = BigFieldProcess.donemanipulating
$474e = BigFieldProcess.sonicdrop $4748 = BigFieldProcess.sonicdrop
$4759 = BigFieldProcess.sonicneutrallockskip $4759 = BigFieldProcess.sonicneutrallockskip
$4763 = BigFieldProcess.harddrop $4763 = BigFieldProcess.harddrop
$4772 = BigFieldProcess.donedeterminingharddropdistance $4772 = BigFieldProcess.donedeterminingharddropdistance

Binary file not shown.

View File

@ -1282,7 +1282,7 @@
04:4702 FieldProcess.noeffect 04:4702 FieldProcess.noeffect
04:4706 FieldProcess.skipmovement 04:4706 FieldProcess.skipmovement
04:4706 FieldProcess.donemanipulating 04:4706 FieldProcess.donemanipulating
04:4728 FieldProcess.sonicdrop 04:4722 FieldProcess.sonicdrop
04:4733 FieldProcess.sonicneutrallockskip 04:4733 FieldProcess.sonicneutrallockskip
04:473d FieldProcess.harddrop 04:473d FieldProcess.harddrop
04:474c FieldProcess.donedeterminingharddropdistance 04:474c FieldProcess.donedeterminingharddropdistance
@ -2147,7 +2147,7 @@
05:4728 BigFieldProcess.noeffect 05:4728 BigFieldProcess.noeffect
05:472c BigFieldProcess.skipmovement 05:472c BigFieldProcess.skipmovement
05:472c BigFieldProcess.donemanipulating 05:472c BigFieldProcess.donemanipulating
05:474e BigFieldProcess.sonicdrop 05:4748 BigFieldProcess.sonicdrop
05:4759 BigFieldProcess.sonicneutrallockskip 05:4759 BigFieldProcess.sonicneutrallockskip
05:4763 BigFieldProcess.harddrop 05:4763 BigFieldProcess.harddrop
05:4772 BigFieldProcess.donedeterminingharddropdistance 05:4772 BigFieldProcess.donedeterminingharddropdistance

View File

@ -1460,10 +1460,7 @@ FieldProcess::
ld a, 1 ld a, 1
ldh [hWantedG], a ldh [hWantedG], a
; Is a hard/sonic drop requested? Skip if in 20G mode. ; Is a hard/sonic drop requested?
ldh a, [hCurrentIntegerGravity]
cp a, 20
jr z, .postdrop
ldh a, [hUpState] ldh a, [hUpState]
cp a, 1 cp a, 1
jr nz, .postdrop jr nz, .postdrop
@ -1479,6 +1476,10 @@ FieldProcess::
; Sonic drop. ; Sonic drop.
.sonicdrop .sonicdrop
; Skip in 20G mode.
ldh a, [hCurrentIntegerGravity]
cp a, 20
jr z, .postdrop
ld a, [wDropModeState] ld a, [wDropModeState]
cp a, DROP_MODE_SNIC cp a, DROP_MODE_SNIC
jr z, .sonicneutrallockskip jr z, .sonicneutrallockskip
@ -3716,10 +3717,7 @@ BigFieldProcess::
ld a, 1 ld a, 1
ldh [hWantedG], a ldh [hWantedG], a
; Is a hard/sonic drop requested? Skip if in 20G mode. ; Is a hard/sonic drop requested?
ldh a, [hCurrentIntegerGravity]
cp a, 20
jr z, .postdrop
ldh a, [hUpState] ldh a, [hUpState]
cp a, 1 cp a, 1
jr nz, .postdrop jr nz, .postdrop
@ -3735,6 +3733,10 @@ BigFieldProcess::
; Sonic drop. ; Sonic drop.
.sonicdrop .sonicdrop
; Skip in 20G mode.
ldh a, [hCurrentIntegerGravity]
cp a, 20
jr z, .postdrop
ld a, [wDropModeState] ld a, [wDropModeState]
cp a, DROP_MODE_SNIC cp a, DROP_MODE_SNIC
jr z, .sonicneutrallockskip jr z, .sonicneutrallockskip