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