Invert gravity logic to enable true TGM curves. Disable 20G mode on always-20G curves.
This commit is contained in:
parent
fc558b5488
commit
fb9b90e18b
BIN
bin/DMGTRIS.GBC
BIN
bin/DMGTRIS.GBC
Binary file not shown.
Binary file not shown.
|
@ -101,14 +101,18 @@ sOption4::
|
|||
sOption5::
|
||||
db " NO"
|
||||
db " YES"
|
||||
sEasterM0:: db $C4, $C6, $C8, $CA, $CC ; MGB
|
||||
sDisabled::
|
||||
db "----"
|
||||
|
||||
sEasterM0:: db $C4, $C6, $C8, $CA, $CC
|
||||
sEasterM1:: db $C5, $C7, $C9, $CB, $CD
|
||||
sEasterC0:: db $CE, $D0, $C8, $CA, $CC, $72, $74, $76, $78, $7A, $D6, $D7 ; CGB
|
||||
sEasterC0:: db $CE, $D0, $C8, $CA, $CC, $72, $74, $76, $78, $7A, $D6, $D7
|
||||
sEasterC1:: db $CF, $D1, $C9, $CB, $CD, $73, $75, $77, $79, $7B, $01, $01
|
||||
sEasterA0:: db $D2, $D4, $C8, $CA, $CC, $72, $74, $76, $78, $7A, $D6, $D7 ; AGB
|
||||
sEasterA0:: db $D2, $D4, $C8, $CA, $CC, $72, $74, $76, $78, $7A, $D6, $D7
|
||||
sEasterA1:: db $D3, $D5, $C9, $CB, $CD, $73, $75, $77, $79, $7B, $01, $01
|
||||
sEasterS0:: db $F6, $F8, $C8, $CA, $CC ; SGB
|
||||
sEasterS0:: db $F6, $F8, $C8, $CA, $CC
|
||||
sEasterS1:: db $F7, $F9, $C9, $CB, $CD
|
||||
|
||||
sPieceXOffsets:: ; How to draw each piece. X-offsets of the sprites.
|
||||
db 0, 8, 16, 24 ; I
|
||||
db 0, 8, 8, 16 ; Z
|
||||
|
@ -129,19 +133,23 @@ sPieceYOffsets:: ; How to draw each piece. Y-offsets of the sprites.
|
|||
|
||||
sTGM1SpeedCurve::
|
||||
dw $0000, 0, $0100
|
||||
db 1, 64
|
||||
db 1, 4
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0030, 30, $0100
|
||||
db 1, 42
|
||||
db 1, 6
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0035, 35, $0100
|
||||
db 1, 32
|
||||
db 1, 8
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0040, 40, $0100
|
||||
db 1, 25
|
||||
db 1, 10
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0050, 50, $0100
|
||||
db 1, 12
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0060, 60, $0100
|
||||
|
@ -149,71 +157,99 @@ sTGM1SpeedCurve::
|
|||
db 30, 16, 30, 41
|
||||
|
||||
dw $0070, 70, $0100
|
||||
db 1, 8
|
||||
db 1, 32
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0080, 80, $0100
|
||||
db 1, 5
|
||||
db 1, 48
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0100, 100, $0200
|
||||
db 1, 3
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0160, 160, $0200
|
||||
db 1, 2
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0200, 200, $0300
|
||||
dw $0090, 90, $0100
|
||||
db 1, 64
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0220, 220, $0300
|
||||
db 1, 8
|
||||
dw $0100, 100, $0200
|
||||
db 1, 80
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0230, 230, $0300
|
||||
dw $0120, 120, $0200
|
||||
db 1, 96
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0140, 140, $0200
|
||||
db 1, 112
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0160, 160, $0200
|
||||
db 1, 128
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0170, 170, $0200
|
||||
db 1, 144
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0200, 200, $0300
|
||||
db 1, 4
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0220, 220, $0300
|
||||
db 1, 32
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0230, 230, $0300
|
||||
db 1, 64
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0233, 233, $0300
|
||||
db 1, 3
|
||||
db 1, 96
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0236, 236, $0300
|
||||
db 1, 2
|
||||
db 1, 128
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0239, 239, $0300
|
||||
db 1, 160
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0243, 243, $0300
|
||||
db 1, 192
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0247, 239, $0300
|
||||
db 1, 224
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0251, 251, $0300
|
||||
db 1, 1
|
||||
db 1, $FF
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0300, 300, $0400
|
||||
db 2, 1
|
||||
db 2, $FF
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0330, 330, $0400
|
||||
db 3, 1
|
||||
db 3, $FF
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0360, 360, $0400
|
||||
db 4, 1
|
||||
db 4, $FF
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0400, 400, $0500
|
||||
db 5, 1
|
||||
db 5, $FF
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0420, 420, $0500
|
||||
db 4, 1
|
||||
db 4, $FF
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0450, 450, $0500
|
||||
db 3, 1
|
||||
db 3, $FF
|
||||
db 30, 16, 30, 41
|
||||
|
||||
dw $0500, 500, $0600
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 30, 16, 30, 41
|
||||
|
||||
sTGM1SpeedCurveEnd::
|
||||
|
@ -222,91 +258,91 @@ sTGM1SpeedCurveEnd::
|
|||
|
||||
sCHILSpeedCurve::
|
||||
dw $0000, 0, $0100
|
||||
db 1, 48
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $0100, 100, $0200
|
||||
db 1, 43
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $0200, 200, $0300
|
||||
db 1, 38
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $0300, 300, $0400
|
||||
db 1, 33
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $0400, 400, $0500
|
||||
db 1, 28
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $0500, 500, $0600
|
||||
db 1, 23
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $0600, 600, $0700
|
||||
db 1, 18
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $0700, 700, $0800
|
||||
db 1, 13
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $0800, 800, $0900
|
||||
db 1, 8
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $0900, 900, $1000
|
||||
db 1, 6
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $1000, 1000, $1100
|
||||
db 1, 5
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $0100, 100, $0200
|
||||
db 1, 6
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $0200, 200, $0300
|
||||
db 1, 7
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $0300, 300, $0400
|
||||
db 1, 8
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $0400, 400, $0500
|
||||
db 1, 9
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $0500, 500, $0600
|
||||
db 1, 11
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $0600, 600, $0700
|
||||
db 1, 14
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $0700, 700, $0800
|
||||
db 1, 20
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $0800, 800, $0900
|
||||
db 1, 32
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $0900, 900, $1000
|
||||
db 1, 43
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $1000, 1000, $1100
|
||||
db 1, 51
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $1300, 1300, $1400
|
||||
db 1, 4
|
||||
db 1, 64
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $1600, 1600, $1700
|
||||
db 1, 3
|
||||
db 1, 85
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $1900, 1900, $2000
|
||||
db 1, 2
|
||||
db 1, 128
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $2900, 2900, $3000
|
||||
db 1, 1
|
||||
db 1, $FF
|
||||
db 10, 16, 25, 17
|
||||
|
||||
dw $3333, 3333, $3400
|
||||
db 2, 1
|
||||
db 2, $FF
|
||||
db 10, 12, 25, 17
|
||||
|
||||
dw $4444, 4444, $4500
|
||||
db 3, 1
|
||||
db 3, $FF
|
||||
db 10, 12, 25, 17
|
||||
|
||||
dw $5555, 5555, $5600
|
||||
db 4, 1
|
||||
db 4, $FF
|
||||
db 10, 12, 25, 17
|
||||
|
||||
dw $6666, 6666, $6700
|
||||
db 5, 1
|
||||
db 5, $FF
|
||||
db 10, 12, 25, 17
|
||||
|
||||
dw $7777, 7777, $7800
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 10, 8, 25, 17
|
||||
|
||||
dw $8888, 8888, $8900
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 10, 6, 18, 17
|
||||
|
||||
dw $9999, 9999, $9999
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 5, 6, 14, 10
|
||||
|
||||
sCHILSpeedCurveEnd::
|
||||
|
@ -315,19 +351,23 @@ sCHILSpeedCurveEnd::
|
|||
|
||||
sTGM3SpeedCurve::
|
||||
dw $0000, 0, $0100
|
||||
db 1, 64
|
||||
db 1, 4
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0030, 30, $0100
|
||||
db 1, 42
|
||||
db 1, 6
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0035, 35, $0100
|
||||
db 1, 32
|
||||
db 1, 8
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0040, 40, $0100
|
||||
db 1, 25
|
||||
db 1, 10
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0050, 50, $0100
|
||||
db 1, 12
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0060, 60, $0100
|
||||
|
@ -335,99 +375,127 @@ sTGM3SpeedCurve::
|
|||
db 27, 16, 30, 40
|
||||
|
||||
dw $0070, 70, $0100
|
||||
db 1, 8
|
||||
db 1, 32
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0080, 80, $0100
|
||||
db 1, 5
|
||||
db 1, 48
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0100, 100, $0200
|
||||
db 1, 3
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0160, 160, $0200
|
||||
db 1, 2
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0200, 200, $0300
|
||||
dw $0090, 90, $0100
|
||||
db 1, 64
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0220, 220, $0300
|
||||
db 1, 8
|
||||
dw $0100, 100, $0200
|
||||
db 1, 80
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0230, 230, $0300
|
||||
dw $0120, 120, $0200
|
||||
db 1, 96
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0140, 140, $0200
|
||||
db 1, 112
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0160, 160, $0200
|
||||
db 1, 128
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0170, 170, $0200
|
||||
db 1, 144
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0200, 200, $0300
|
||||
db 1, 4
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0220, 220, $0300
|
||||
db 1, 32
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0230, 230, $0300
|
||||
db 1, 64
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0233, 233, $0300
|
||||
db 1, 3
|
||||
db 1, 96
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0236, 236, $0300
|
||||
db 1, 2
|
||||
db 1, 128
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0239, 239, $0300
|
||||
db 1, 160
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0243, 243, $0300
|
||||
db 1, 192
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0247, 239, $0300
|
||||
db 1, 224
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0251, 251, $0300
|
||||
db 1, 1
|
||||
db 1, $FF
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0300, 300, $0400
|
||||
db 2, 1
|
||||
db 2, $FF
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0330, 330, $0400
|
||||
db 3, 1
|
||||
db 3, $FF
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0360, 360, $0400
|
||||
db 4, 1
|
||||
db 4, $FF
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0400, 400, $0500
|
||||
db 5, 1
|
||||
db 5, $FF
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0420, 420, $0500
|
||||
db 4, 1
|
||||
db 4, $FF
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0450, 450, $0500
|
||||
db 3, 1
|
||||
db 3, $FF
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0500, 500, $0600
|
||||
db 20, 1
|
||||
db 27, 10, 30, 25
|
||||
db 20, $FF
|
||||
db 27, 16, 30, 40
|
||||
|
||||
dw $0600, 600, $0700
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 27, 10, 30, 7
|
||||
|
||||
dw $0700, 700, $0800
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 18, 10, 30, 7
|
||||
|
||||
dw $0800, 800, $0900
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 14, 10, 30, 1
|
||||
|
||||
dw $0900, 900, $1000
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 14, 8, 18, 1
|
||||
|
||||
dw $1000, 1000, $1100
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 8, 8, 18, 6
|
||||
|
||||
dw $1100, 1000, $1200
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 7, 8, 14, 6
|
||||
|
||||
dw $1200, 1000, $1300
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 6, 8, 14, 6
|
||||
|
||||
sTGM3SpeedCurveEnd::
|
||||
|
@ -435,27 +503,27 @@ sTGM3SpeedCurveEnd::
|
|||
|
||||
sDEATSpeedCurve::
|
||||
dw $0000, 0, $0100
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 18, 12, 30, 12
|
||||
|
||||
dw $0100, 0, $0200
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 14, 12, 25, 1
|
||||
|
||||
dw $0200, 0, $0300
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 14, 11, 20, 1
|
||||
|
||||
dw $0300, 0, $0400
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 8, 10, 18, 6
|
||||
|
||||
dw $0400, 0, $0500
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 7, 8, 14, 5
|
||||
|
||||
dw $0500, 0, $0600
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 6, 8, 14, 4
|
||||
|
||||
sDEATSpeedCurveEnd::
|
||||
|
@ -463,31 +531,31 @@ sDEATSpeedCurveEnd::
|
|||
|
||||
sSHIRSpeedCurve::
|
||||
dw $0000, 0, $0100
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 12, 10, 18, 6
|
||||
|
||||
dw $0100, 100, $0200
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 12, 8, 18, 5
|
||||
|
||||
dw $0200, 200, $0300
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 12, 8, 16, 4
|
||||
|
||||
dw $0300, 300, $0400
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 6, 8, 14, 4
|
||||
|
||||
dw $0500, 500, $0600
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 6, 6, 12, 2
|
||||
|
||||
dw $1100, 1100, $1200
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 6, 6, 10, 2
|
||||
|
||||
dw $1200, 1200, $1300
|
||||
db 20, 1
|
||||
db 20, $FF
|
||||
db 6, 6, 8, 2
|
||||
|
||||
sSHIRSpeedCurveEnd::
|
||||
|
@ -495,164 +563,164 @@ sSHIRSpeedCurveEnd::
|
|||
|
||||
sSpeedCurve:: ; Speed curve of the game.
|
||||
dw $0000, 0, $0100 ; Level 0000
|
||||
db 1, 16 ; 1G every 16 frames
|
||||
db 25, 14, 30, 40 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 1, 16
|
||||
db 25, 14, 30, 40
|
||||
|
||||
dw $0015, 15, $0100 ; Level 0015
|
||||
db 1, 15 ; 1G every 15 frames
|
||||
db 25, 14, 30, 40 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 1, 17
|
||||
db 25, 14, 30, 40
|
||||
|
||||
dw $0030, 30, $0100 ; Level 0030
|
||||
db 1, 14 ; 1G every 14 frames
|
||||
db 25, 14, 30, 40 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 1, 18
|
||||
db 25, 14, 30, 40
|
||||
|
||||
dw $0040, 40, $0100 ; Level 0040
|
||||
db 1, 13 ; 1G every 13 frames
|
||||
db 25, 14, 30, 40 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 1, 20
|
||||
db 25, 14, 30, 40
|
||||
|
||||
dw $0050, 50, $0100 ; Level 0050
|
||||
db 1, 12 ; 1G every 12 frames
|
||||
db 25, 14, 30, 40 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 1, 21
|
||||
db 25, 14, 30, 40
|
||||
|
||||
dw $0060, 60, $0100 ; Level 0060
|
||||
db 1, 11 ; 1G every 11 frames
|
||||
db 25, 14, 30, 40 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 1, 23
|
||||
db 25, 14, 30, 40
|
||||
|
||||
dw $0070, 70, $0100 ; Level 0070
|
||||
db 1, 10 ; 1G every 10 frames
|
||||
db 25, 14, 30, 40 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 1, 26
|
||||
db 25, 14, 30, 40
|
||||
|
||||
dw $0080, 80, $0100 ; Level 0080
|
||||
db 1, 9 ; 1G every 9 frames
|
||||
db 25, 14, 30, 40 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 1, 28
|
||||
db 25, 14, 30, 40
|
||||
|
||||
dw $0090, 90, $0100 ; Level 0090
|
||||
db 1, 8 ; 1G every 8 frames
|
||||
db 25, 14, 30, 40 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 1, 32
|
||||
db 25, 14, 30, 40
|
||||
|
||||
dw $0100, 100, $0200 ; Level 0100
|
||||
db 1, 7 ; 1G every 7 frames
|
||||
db 25, 14, 30, 40 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 1, 37
|
||||
db 25, 14, 30, 40
|
||||
|
||||
dw $0150, 150, $0200 ; Level 0150
|
||||
db 1, 6 ; 1G every 6 frames
|
||||
db 25, 14, 30, 40 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 1, 43
|
||||
db 25, 14, 30, 40
|
||||
|
||||
dw $0200, 200, $0300 ; Level 0200
|
||||
db 1, 5 ; 1G every 5 frames
|
||||
db 25, 14, 30, 40 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 1, 51
|
||||
db 25, 14, 30, 40
|
||||
|
||||
dw $0225, 225, $0300 ; Level 0225
|
||||
db 1, 4 ; 1G every 4 frames
|
||||
db 25, 14, 30, 40 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 1, 64
|
||||
db 25, 14, 30, 40
|
||||
|
||||
dw $0250, 250, $0300 ; Level 0250
|
||||
db 1, 3 ; 1G every 3 frames
|
||||
db 25, 14, 30, 40 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 1, 85
|
||||
db 25, 14, 30, 40
|
||||
|
||||
dw $0275, 275, $0300 ; Level 0275
|
||||
db 1, 2 ; 1G every 2 frames
|
||||
db 25, 14, 30, 40 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 1, 128
|
||||
db 25, 14, 30, 40
|
||||
|
||||
dw $0300, 300, $0400 ; Level 0300
|
||||
db 1, 1 ; 1G
|
||||
db 25, 14, 30, 32 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 1, $FF
|
||||
db 25, 14, 30, 32
|
||||
|
||||
dw $0350, 350, $0350 ; Level 0350
|
||||
db 2, 1 ; 2G
|
||||
db 25, 14, 30, 32 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 2, $FF
|
||||
db 25, 14, 30, 32
|
||||
|
||||
dw $0400, 400, $0400 ; Level 0400
|
||||
db 3, 1 ; 3G
|
||||
db 25, 14, 30, 32 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 3, $FF
|
||||
db 25, 14, 30, 32
|
||||
|
||||
dw $0450, 450, $0500 ; Level 0450
|
||||
db 4, 1 ; 4G
|
||||
db 25, 14, 30, 32 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 4, $FF
|
||||
db 25, 14, 30, 32
|
||||
|
||||
dw $0475, 475, $0500 ; Level 0475
|
||||
db 5, 1 ; 5G
|
||||
db 25, 14, 30, 32 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 5, $FF
|
||||
db 25, 14, 30, 32
|
||||
|
||||
dw $0500, 500, $0600 ; Level 0500
|
||||
db 20, 1 ; 20G
|
||||
db 25, 14, 30, 24 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 20, $FF
|
||||
db 25, 14, 30, 24
|
||||
|
||||
dw $0600, 600, $0700 ; Level 0600
|
||||
db 20, 1 ; 20G
|
||||
db 25, 8, 30, 24 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 20, $FF
|
||||
db 25, 8, 30, 24
|
||||
|
||||
dw $0700, 700, $0800 ; Level 0700
|
||||
db 20, 1 ; 20G
|
||||
db 20, 8, 30, 24 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 20, $FF
|
||||
db 20, 8, 30, 24
|
||||
|
||||
dw $0900, 900, $1000 ; Level 0900
|
||||
db 20, 1 ; 20G
|
||||
db 16, 6, 25, 16 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 20, $FF
|
||||
db 16, 6, 25, 16
|
||||
|
||||
dw $1100, 1100, $1200 ; Level 1100
|
||||
db 20, 1 ; 20G
|
||||
db 12, 6, 25, 16 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 20, $FF
|
||||
db 12, 6, 25, 16
|
||||
|
||||
dw $1200, 1200, $1300 ; Level 1200
|
||||
db 20, 1 ; 20G
|
||||
db 12, 6, 25, 8 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 20, $FF
|
||||
db 12, 6, 25, 8
|
||||
|
||||
dw $1300, 1300, $1400 ; Level 1300
|
||||
db 20, 1 ; 20G
|
||||
db 10, 6, 20, 7 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 20, $FF
|
||||
db 10, 6, 20, 7
|
||||
|
||||
dw $1400, 1400, $1500 ; Level 1400
|
||||
db 20, 1 ; 20G
|
||||
db 10, 6, 18, 6 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 20, $FF
|
||||
db 10, 6, 18, 6
|
||||
|
||||
dw $1500, 1500, $1600 ; Level 1500
|
||||
db 20, 1 ; 20G
|
||||
db 8, 4, 16, 5 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 20, $FF
|
||||
db 8, 4, 16, 5
|
||||
|
||||
dw $1600, 1600, $1700 ; Level 1600
|
||||
db 20, 1 ; 20G
|
||||
db 8, 4, 14, 4 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 20, $FF
|
||||
db 8, 4, 14, 4
|
||||
|
||||
dw $1700, 1700, $1800 ; Level 1700
|
||||
db 20, 1 ; 20G
|
||||
db 6, 4, 12, 3 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 20, $FF
|
||||
db 6, 4, 12, 3
|
||||
|
||||
dw $1800, 1800, $1900 ; Level 1800
|
||||
db 20, 1 ; 20G
|
||||
db 6, 4, 10, 3 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 20, $FF
|
||||
db 6, 4, 10, 3
|
||||
|
||||
dw $1900, 1900, $2000 ; Level 1900
|
||||
db 20, 1 ; 20G
|
||||
db 4, 4, 8, 3 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 20, $FF
|
||||
db 4, 4, 8, 3
|
||||
|
||||
dw $2000, 2000, $2100 ; Level 2000
|
||||
db 20, 1 ; 20G
|
||||
db 4, 3, 8, 3 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 20, $FF
|
||||
db 4, 3, 8, 3
|
||||
|
||||
dw $2500, 2500, $2600 ; Level 2500
|
||||
db 20, 1 ; 20G
|
||||
db 2, 1, 8, 2 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 20, $FF
|
||||
db 2, 1, 8, 2
|
||||
|
||||
dw $3000, 3000, $3100 ; Level 3000
|
||||
db 20, 1 ; 20G
|
||||
db 1, 1, 8, 1 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 20, $FF
|
||||
db 1, 1, 8, 1
|
||||
|
||||
dw $4000, 4000, $4100 ; Level 4000
|
||||
db 20, 1 ; 20G
|
||||
db 1, 1, 6, 1 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 20, $FF
|
||||
db 1, 1, 6, 1
|
||||
|
||||
dw $5000, 5000, $5100 ; Level 5000
|
||||
db 20, 1 ; 20G
|
||||
db 1, 1, 4, 1 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 20, $FF
|
||||
db 1, 1, 4, 1
|
||||
|
||||
dw $6666, 6666, $6700 ; Level 6666
|
||||
db 20, 1 ; 20G
|
||||
db 1, 1, 2, 1 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 20, $FF
|
||||
db 1, 1, 2, 1
|
||||
|
||||
dw $9999, 9999, $9999 ; Level 9999
|
||||
db 20, 1 ; 20G
|
||||
db 1, 1, 1, 1 ; ARE, DAS, LOCK, LINECLEAR
|
||||
db 20, $FF
|
||||
db 1, 1, 1, 1
|
||||
|
||||
sSpeedCurveEnd::
|
||||
dw $FFFF ; End.
|
||||
|
|
|
@ -45,7 +45,7 @@ hDeepestY: ds 1
|
|||
hWantedTile: ds 1
|
||||
hWantedG: ds 1
|
||||
hActualG: ds 1
|
||||
hTicksUntilG: ds 1
|
||||
hGravityCtr: ds 1
|
||||
hWantX: ds 1
|
||||
hYPosAtStartOfFrame: ds 1
|
||||
hWantRotation: ds 1
|
||||
|
@ -532,8 +532,8 @@ TrySpawnPiece::
|
|||
ldh [hShouldLockIfGrounded], a
|
||||
ldh a, [hCurrentLockDelay]
|
||||
ldh [hCurrentLockDelayRemaining], a
|
||||
ldh a, [hCurrentFramesPerGravityTick]
|
||||
ldh [hTicksUntilG], a
|
||||
ld a, 1
|
||||
ldh [hGravityCtr], a
|
||||
ld a, $FF
|
||||
ldh [hRemainingDelay], a
|
||||
ld a, DELAY_STATE_DETERMINE_DELAY
|
||||
|
@ -1194,7 +1194,7 @@ FieldProcess::
|
|||
ldh [hWantedG], a
|
||||
|
||||
; Is a hard/sonic drop requested? Skip if in 20G mode.
|
||||
ldh a, [hCurrentGravityPerTick]
|
||||
ldh a, [hCurrentIntegerGravity]
|
||||
cp a, 20
|
||||
jr z, .postdrop
|
||||
ldh a, [hUpState]
|
||||
|
@ -1221,12 +1221,14 @@ FieldProcess::
|
|||
ldh [hAwardDownBonus], a
|
||||
ld a, 20
|
||||
ldh [hWantedG], a
|
||||
ldh a, [hTicksUntilG]
|
||||
dec a
|
||||
ldh [hTicksUntilG], a
|
||||
jr nz, .grav
|
||||
ldh a, [hCurrentFramesPerGravityTick]
|
||||
ldh [hTicksUntilG], a
|
||||
ldh a, [hCurrentFractionalGravity]
|
||||
ld b, a
|
||||
ldh a, [hGravityCtr]
|
||||
add a, b
|
||||
ldh [hGravityCtr], a
|
||||
jr c, .grav
|
||||
ld a, 1
|
||||
ldh [hGravityCtr], a
|
||||
ld a, [wDropModeState]
|
||||
cp a, DROP_MODE_SNIC
|
||||
jr z, .grav
|
||||
|
@ -1249,7 +1251,7 @@ FieldProcess::
|
|||
ldh [hCurrentPieceY], a
|
||||
xor a, a
|
||||
ldh [hCurrentLockDelayRemaining], a
|
||||
ldh a, [hCurrentGravityPerTick]
|
||||
ldh a, [hCurrentIntegerGravity]
|
||||
cp a, 1
|
||||
jp nz, .draw
|
||||
call SFXKill
|
||||
|
@ -1265,8 +1267,8 @@ FieldProcess::
|
|||
ldh a, [hDownFrames]
|
||||
inc a
|
||||
ldh [hDownFrames], a
|
||||
ld a, 1
|
||||
ldh [hTicksUntilG], a
|
||||
ld a, $FF
|
||||
ldh [hGravityCtr], a
|
||||
ld a, [wDropModeState]
|
||||
cp a, DROP_MODE_HARD
|
||||
jr nz, :+
|
||||
|
@ -1274,13 +1276,13 @@ FieldProcess::
|
|||
ldh [hShouldLockIfGrounded], a
|
||||
|
||||
; Gravity?
|
||||
: ldh a, [hTicksUntilG]
|
||||
dec a
|
||||
ldh [hTicksUntilG], a
|
||||
jr nz, .nograv
|
||||
ldh a, [hCurrentFramesPerGravityTick]
|
||||
ldh [hTicksUntilG], a
|
||||
ldh a, [hCurrentGravityPerTick]
|
||||
: ldh a, [hCurrentFractionalGravity]
|
||||
ld b, a
|
||||
ldh a, [hGravityCtr]
|
||||
add a, b
|
||||
ldh [hGravityCtr], a
|
||||
jr nc, .nograv
|
||||
ldh a, [hCurrentIntegerGravity]
|
||||
ldh [hWantedG], a
|
||||
|
||||
; Can we drop the full requested distance?
|
||||
|
@ -1341,7 +1343,7 @@ FieldProcess::
|
|||
.playfirmdropsound
|
||||
ldh a, [hCurrentLockDelay]
|
||||
ldh [hCurrentLockDelayRemaining], a
|
||||
ldh a, [hCurrentGravityPerTick]
|
||||
ldh a, [hCurrentIntegerGravity]
|
||||
cp a, 1
|
||||
jr nz, .postcheckforfirmdropsound
|
||||
call SFXKill
|
||||
|
@ -1363,7 +1365,7 @@ FieldProcess::
|
|||
jr .dontforcelock
|
||||
|
||||
; Lock on down in modes <20G.
|
||||
: ldh a, [hCurrentGravityPerTick]
|
||||
: ldh a, [hCurrentIntegerGravity]
|
||||
cp a, 20
|
||||
jr nz, .forcelock
|
||||
|
||||
|
@ -1427,7 +1429,7 @@ FieldProcess::
|
|||
|
||||
; Play the locking sound and draw the piece.
|
||||
.dolock
|
||||
ldh a, [hCurrentGravityPerTick]
|
||||
ldh a, [hCurrentIntegerGravity]
|
||||
cp a, 1
|
||||
jr nz, .draw
|
||||
call SFXKill
|
||||
|
@ -1965,7 +1967,7 @@ FieldDelay::
|
|||
ret nz
|
||||
|
||||
call ClearLines
|
||||
ldh a, [hCurrentGravityPerTick]
|
||||
ldh a, [hCurrentIntegerGravity]
|
||||
cp a, 1
|
||||
jr nz, :+
|
||||
call SFXKill
|
||||
|
|
|
@ -484,7 +484,7 @@ GBCGameplayInit::
|
|||
ldh [rBCPD], a
|
||||
ldh [rOCPD], a
|
||||
|
||||
ld bc, R0 | B0
|
||||
ld bc, B0 | %0000000000000010
|
||||
ld a, c
|
||||
ldh [rBCPD], a
|
||||
ldh [rOCPD], a
|
||||
|
@ -763,7 +763,7 @@ GBCGameplayProcess::
|
|||
; Are we 20G?
|
||||
.higoverride
|
||||
ld d, a
|
||||
ldh a, [hCurrentGravityPerTick]
|
||||
ldh a, [hCurrentIntegerGravity]
|
||||
cp a, 20
|
||||
jr nz, .colorfield
|
||||
|
||||
|
@ -891,7 +891,7 @@ GBCGameplayProcess::
|
|||
jr nz, .outer2
|
||||
|
||||
; Maybe flash numbers.
|
||||
ldh a, [hCurrentGravityPerTick]
|
||||
ldh a, [hCurrentIntegerGravity]
|
||||
cp a, 20
|
||||
jr nz, .black
|
||||
|
||||
|
|
|
@ -27,8 +27,8 @@ hCurrentDAS:: ds 1
|
|||
hCurrentARE:: ds 1
|
||||
hCurrentLockDelay:: ds 1
|
||||
hCurrentLineClearDelay:: ds 1
|
||||
hCurrentGravityPerTick:: ds 1
|
||||
hCurrentFramesPerGravityTick:: ds 1
|
||||
hCurrentIntegerGravity:: ds 1
|
||||
hCurrentFractionalGravity:: ds 1
|
||||
hNextSpeedUp:: ds 2
|
||||
hSpeedCurvePtr:: ds 2
|
||||
hStartSpeed:: ds 2
|
||||
|
@ -330,9 +330,9 @@ DoSpeedUp:
|
|||
|
||||
; Get all the new data.
|
||||
ld a, [hl+]
|
||||
ldh [hCurrentGravityPerTick], a
|
||||
ldh [hCurrentIntegerGravity], a
|
||||
ld a, [hl+]
|
||||
ldh [hCurrentFramesPerGravityTick], a
|
||||
ldh [hCurrentFractionalGravity], a
|
||||
ld a, [hl+]
|
||||
ldh [hCurrentARE], a
|
||||
ld a, [hl+]
|
||||
|
@ -357,9 +357,9 @@ DoSpeedUp:
|
|||
cp a, 0
|
||||
ret z
|
||||
ld a, 20
|
||||
ldh [hCurrentGravityPerTick], a
|
||||
ld a, 1
|
||||
ldh [hCurrentFramesPerGravityTick], a
|
||||
ldh [hCurrentIntegerGravity], a
|
||||
ld a, $FF
|
||||
ldh [hCurrentFractionalGravity], a
|
||||
ret
|
||||
|
||||
|
||||
|
|
|
@ -666,6 +666,11 @@ TitleVBlankHandler::
|
|||
call UnsafeMemCopy
|
||||
|
||||
; Draw option 5.
|
||||
ld a, [wSpeedCurveState]
|
||||
cp a, SCURVE_DEAT
|
||||
jr z, .disabled
|
||||
cp a, SCURVE_SHIR
|
||||
jr z, .disabled
|
||||
xor a, a
|
||||
ld b, a
|
||||
ld a, [wAlways20GState]
|
||||
|
@ -679,8 +684,15 @@ TitleVBlankHandler::
|
|||
ld hl, TITLE_OPTION_5+TITLE_OPTION_OFFSET
|
||||
ld bc, 4
|
||||
call UnsafeMemCopy
|
||||
jr .opt6
|
||||
.disabled
|
||||
ld de, sDisabled
|
||||
ld hl, TITLE_OPTION_5+TITLE_OPTION_OFFSET
|
||||
ld bc, 4
|
||||
call UnsafeMemCopy
|
||||
|
||||
; Draw option 6.
|
||||
.opt6
|
||||
ldh a, [hStartSpeed]
|
||||
ld l, a
|
||||
ldh a, [hStartSpeed+1]
|
||||
|
|
Loading…
Reference in New Issue