Refinement.

This commit is contained in:
Randy Thiemann 2023-11-09 00:27:44 +01:00
parent 41f78c511f
commit f61c4ff064
9 changed files with 3169 additions and 3104 deletions

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

View File

@ -2008,6 +2008,11 @@ FieldDelay::
add a, 4
ldh [hBravo], a
; Kill screen?
ld a, [wKillScreenActive]
cp a, $FF
jr z, .skip
; Are there line clears?
call ToShadowField
call FindClearedLines
@ -4263,6 +4268,11 @@ BigFieldDelay::
add a, 4
ldh [hBravo], a
; Kill screen?
ld a, [wKillScreenActive]
cp a, $FF
jr z, .skip
; Are there line clears?
call BigToShadowField
call BigFindClearedLines

View File

@ -385,10 +385,14 @@ UpdateGradeDMGT::
ld [wLockLevel], a
ld a, 5
ldh [hCLevel+1], a
ldh [hNLevel+1], a
xor a, a
ldh [hCLevel], a
ldh [hNLevel], a
ldh [hCLevel+2], a
ldh [hNLevel+2], a
ldh [hCLevel+3], a
ldh [hNLevel+3], a
jp TriggerKillScreen
@ -849,10 +853,14 @@ UpdateGradeDEAT:
ld [wRankingDisqualified], a
ld a, 5
ldh [hCLevel+1], a
ldh [hNLevel+1], a
xor a, a
ldh [hCLevel], a
ldh [hNLevel], a
ldh [hCLevel+2], a
ldh [hNLevel+2], a
ldh [hCLevel+3], a
ldh [hNLevel+3], a
jp TriggerKillScreen
@ -951,19 +959,27 @@ UpdateGradeSHIR:
.l1000
ld a, 1
ldh [hCLevel], a
ldh [hNLevel], a
xor a, a
ldh [hCLevel+1], a
ldh [hNLevel+1], a
ldh [hCLevel+2], a
ldh [hNLevel+2], a
ldh [hCLevel+3], a
ldh [hNLevel+3], a
jp TriggerKillScreen
.l500
ld a, 5
ldh [hCLevel+1], a
ldh [hNLevel+1], a
xor a, a
ldh [hCLevel], a
ldh [hNLevel], a
ldh [hCLevel+2], a
ldh [hNLevel+2], a
ldh [hCLevel+3], a
ldh [hNLevel+3], a
jp TriggerKillScreen
ENDC

View File

@ -43,6 +43,7 @@ SECTION "Level Variables", WRAM0
wBoneActivationLevel: ds 2
wInvisActivationLevel: ds 2
wKillScreenActivationLevel: ds 2
wKillScreenActivationLevelBCD: ds 2
wBonesActive:: ds 1
wInvisActive:: ds 1
wKillScreenActive:: ds 1
@ -183,8 +184,12 @@ SpecialLevelInit:
ld [wInvisActivationLevel+1], a
ld a, [hl+]
ld [wKillScreenActivationLevel], a
ld a, [hl]
ld a, [hl+]
ld [wKillScreenActivationLevel+1], a
ld a, [hl+]
ld [wKillScreenActivationLevelBCD], a
ld a, [hl]
ld [wKillScreenActivationLevelBCD+1], a
ret
@ -563,6 +568,28 @@ CheckSpecialLevelConditions:
ld a, $FF
ld [wKillScreenActive], a
ld hl, wKillScreenActivationLevelBCD
ld a, [hl]
and a, $0F
ldh [hCLevel+3], a
ldh [hNLevel+3], a
ld a, [hl+]
swap a
and a, $0F
ldh [hCLevel+2], a
ldh [hNLevel+2], a
ld a, [hl]
and a, $0F
ldh [hCLevel+1], a
ldh [hNLevel+1], a
ld a, [hl]
swap a
and a, $0F
ldh [hCLevel], a
ldh [hNLevel], a
ld a, $FF
ld [wLockLevel], a
ret

View File

@ -195,6 +195,7 @@ sDMGTSpeedCurveSpecialData::
dw 2000 ; When do we get bones?
dw $FFFF ; When do blocks turn invisible?
dw 9999 ; When is the hard kill screen?
dw $9999 ; Same but in BCD.
sTGM1SpeedCurve::
@ -341,6 +342,7 @@ sTGM1SpeedCurveSpecialData::
dw 1000 ; When do we get bones?
dw $FFFF ; When do blocks turn invisible?
dw 1199 ; When is the hard kill screen?
dw $1199 ; Same but in BCD.
sCHILSpeedCurve::
@ -439,6 +441,7 @@ sCHILSpeedCurveSpecialData::
dw $FFFF ; When do we get bones?
dw $FFFF ; When do blocks turn invisible?
dw 9999 ; When is the hard kill screen?
dw $9999 ; Same but in BCD.
sTGM3SpeedCurve::
@ -597,6 +600,7 @@ sTGM3SpeedCurveSpecialData::
dw $FFFF ; When do we get bones?
dw 1300 ; When do blocks turn invisible?
dw 1499 ; When is the hard kill screen?
dw $1499 ; Same but in BCD.
sDEATSpeedCurve::
dw $0000, 0, $0100
@ -646,6 +650,7 @@ sDEATSpeedCurveSpecialData::
dw $FFFF ; When do we get bones?
dw 1000 ; When do blocks turn invisible?
dw 1199 ; When is the hard kill screen?
dw $1199 ; Same but in BCD.
sSHIRSpeedCurve::
@ -684,6 +689,7 @@ sSHIRSpeedCurveSpecialData::
dw 900 ; When do we get bones?
dw 1300 ; When do blocks turn invisible?
dw 1499 ; When is the hard kill screen?
dw $1499 ; Same but in BCD.
sMYCOSpeedCurve::
@ -794,6 +800,7 @@ sMYCOSpeedCurveSpecialData::
dw $FFFF ; When do we get bones?
dw $FFFF ; When do blocks turn invisible?
dw 300 ; When is the hard kill screen?
dw $0300 ; Same but in BCD.
sSharedTiles::

View File

@ -119,6 +119,9 @@ HandleTimers::
ret z
cp a, MODE_PRE_GAME_OVER
ret z
ld a, [wKillScreenActive]
cp a, $FF
ret z
ld a, [wMinutes]
cp a, 99