Add torikan notice.

This commit is contained in:
Randy Thiemann 2023-11-08 23:36:10 +01:00
parent eda0b6353c
commit 048329b9ad
14 changed files with 2480 additions and 2344 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

@ -28,7 +28,7 @@ wGradePoints: ds 1
wInternalGrade: ds 1
wDisplayedGrade:: ds 1
wEffectTimer:: ds 1
wRankingDisqualified:: ds 1
wRankingDisqualified: ds 1
wDecayCounter: ds 1
wGradeGauge: ds 1
wSMult: ds 1
@ -359,7 +359,32 @@ DrawGradeProgressDMGT::
ret
UpdateGradeDMGT::
; Check if the torikan hasn't been calculated.
ld a, [wRankingDisqualified]
cp a, $FF
jr z, .checklineclears
; Have we hit the torikan level?
ldh a, [hCLevel+CLEVEL_HUNDREDS]
cp a, 5
jr nz, .checklineclears
; Mark it as checked and do the check.
ld a, $FF
ld [wRankingDisqualified], a
; There's a 8:00 torikan at 500.
ld b, 8
ld c, 0
call CheckTorikan
; If we failed it: DIE.
cp a, $FF
jp nz, TriggerKillScreen
; Did we have line clears?
.checklineclears
ldh a, [hLineClearCt]
cp a, 0
jp z, DrawGradeProgressDMGT
@ -812,6 +837,7 @@ UpdateGradeDEAT:
; Disqualify from ranking.
ld a, $FF
ld [wRankingDisqualified], a
call TriggerKillScreen
ret
@ -901,6 +927,7 @@ UpdateGradeSHIR:
.disqualify
ld a, $FF
ld [wRankingDisqualified], a
call TriggerKillScreen
ret
ENDC

View File

@ -74,6 +74,7 @@ CHARMAP "c", 209
CHARMAP "d", 210
CHARMAP "m", 211
CHARMAP ":", 212
CHARMAP ".", 254
CHARMAP "k", 47
CHARMAP "v", 45
CHARMAP "o", 44

View File

@ -45,6 +45,7 @@ wInvisActivationLevel: ds 2
wKillScreenActivationLevel: ds 2
wBonesActive:: ds 1
wInvisActive:: ds 1
wKillScreenActive:: ds 1
SECTION "Level Functions", ROM0
@ -58,6 +59,7 @@ LevelInit::
ldh [hRequiresLineClear], a
ld [wBonesActive], a
ld [wInvisActive], a
ld [wKillScreenActive], a
ldh a, [hStartSpeed]
ld l, a
@ -551,6 +553,30 @@ CheckSpecialLevelConditions:
xor a, a
ldh [hCurrentFractionalGravity], a
ld a, $FF
ld [wKillScreenActive], a
ret
TriggerKillScreen::
ld a, 1
ldh [hCurrentARE], a
ldh [hCurrentLineARE], a
ldh [hCurrentDAS], a
ldh [hCurrentLockDelay], a
ldh [hCurrentLineClearDelay], a
ld a, 20
ldh [hCurrentIntegerGravity], a
xor a, a
ldh [hCurrentFractionalGravity], a
ld [wKillScreenActivationLevel], a
ld [wKillScreenActivationLevel+1], a
ld a, $FF
ld [wKillScreenActive], a
ret

View File

@ -49,6 +49,24 @@ sBigPause::
db " P A U S E"
db " "
sBigKill::
db "EXCELLENT!"
db " "
db " "
db " BUT... "
db " "
db " "
db " LET'S GO "
db " "
db " BETTER "
db " "
db "NEXT TIME!"
db " "
db " "
db " RETRY[A] "
db " "
db " QUIT [B] "
sBigPieceXOffsets:: ; How to draw each piece. X-offsets of the sprites.
db 0, 8, 16, 24 ; I
db 0, 8, 8, 16 ; Z

View File

@ -49,6 +49,24 @@ sPause::
db " P A U S E"
db " "
sKill::
db "EXCELLENT!"
db " "
db " "
db " BUT... "
db " "
db " "
db " LET'S GO "
db " "
db " BETTER "
db " "
db "NEXT TIME!"
db " "
db " "
db " RETRY[A] "
db " "
db " QUIT [B] "
sPieceXOffsets:: ; How to draw each piece. X-offsets of the sprites.
db 0, 8, 16, 24 ; I
db 0, 8, 8, 16 ; Z

View File

@ -843,8 +843,8 @@ sSharedTiles::
DB $03,$03,$03,$03,$0F,$0F,$00,$00
DB $00,$00,$00,$00,$00,$00,$3C,$3C
DB $00,$00,$00,$00,$00,$00,$00,$00
DB $00,$00,$18,$18,$18,$18,$08,$08
DB $10,$10,$00,$00,$00,$00,$00,$00
DB $18,$18,$18,$18,$08,$08,$10,$10
DB $00,$00,$00,$00,$00,$00,$00,$00
DB $FF,$FF,$C3,$C3,$00,$00,$3C,$3C
DB $00,$00,$C3,$C3,$FF,$FF,$00,$00
DB $18,$18,$7E,$7E,$DB,$DB,$DB,$DB
@ -1688,7 +1688,7 @@ sGameplayTilesM::
DB $18,$18,$2C,$34,$62,$5E,$76,$6E
DB $24,$3C,$24,$3C,$18,$18,$00,$00
DB $00,$00,$00,$00,$00,$00,$00,$00
DB $00,$00,$00,$00,$00,$00,$00,$00
DB $00,$00,$30,$30,$30,$30,$00,$00
DB $00,$00,$00,$00,$00,$00,$10,$00
DB $00,$00,$00,$00,$00,$00,$00,$00
sGameplayTilesMEnd::
@ -2107,7 +2107,7 @@ sGameplayTilesC::
DB $18,$18,$2C,$34,$62,$5E,$76,$6E
DB $24,$3C,$24,$3C,$18,$18,$00,$00
DB $00,$00,$00,$00,$00,$00,$00,$00
DB $00,$00,$00,$00,$00,$00,$00,$00
DB $00,$00,$30,$30,$30,$30,$00,$00
DB $00,$00,$00,$00,$00,$00,$10,$00
DB $00,$00,$00,$00,$00,$00,$00,$00
sGameplayTilesCEnd::

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -404,6 +404,22 @@ GamePlayEventLoopHandlerB::
.preGameOverMode
ld a, [wKillScreenActive]
cp a, $FF
jr nz, .regular
call FieldInit
ld de, sKill
ld hl, wField+(5*10)
ld bc, 160
call UnsafeMemCopy
ld a, MODE_GAME_OVER
ldh [hMode], a
jp .gameOverMode
.regular
; Spawn the failed piece.
call ForceSpawnPiece
@ -1021,6 +1037,22 @@ GamePlayBigEventLoopHandlerB:
.preGameOverMode
ld a, [wKillScreenActive]
cp a, $FF
jr nz, .regular
call BigFieldInit
ld de, sBigKill
ld hl, wWideBlittedField+(3*10)
ld bc, 160
call UnsafeMemCopy
ld a, MODE_GAME_OVER
ldh [hMode], a
jp .gameOverMode
.regular
; Spawn the failed piece.
call BigForceSpawnPiece
call BigWidenField