Add Line ARE. Improve tells and hold.
This commit is contained in:
parent
9c762bf480
commit
9097a89bc9
BIN
bin/DMGTRIS.GBC
BIN
bin/DMGTRIS.GBC
Binary file not shown.
Binary file not shown.
|
@ -131,126 +131,135 @@ sPieceYOffsets:: ; How to draw each piece. Y-offsets of the sprites.
|
||||||
db 0, 7, 0, 7 ; O
|
db 0, 7, 0, 7 ; O
|
||||||
db 0, 0, 7, 0 ; T
|
db 0, 0, 7, 0 ; T
|
||||||
|
|
||||||
|
; Speed curve data is defined as follows:
|
||||||
|
; N blocks of:
|
||||||
|
; dw BCD_START_LEVEL, START_LEVEL, BCD_NEXT_100_LEVEL_BREAKPOINT
|
||||||
|
; db GRID_CELLS_PER_MOVE_ON_OVERFLOW, INCREMENT_PER_FRAME
|
||||||
|
; db NORMAL_ARE, LINE_ARE, DAS, LOCK_DELAY, CLEAR_DELAY
|
||||||
|
;
|
||||||
|
; Followed by one single:
|
||||||
|
; dw $FFFF
|
||||||
|
|
||||||
sTGM1SpeedCurve::
|
sTGM1SpeedCurve::
|
||||||
dw $0000, 0, $0100
|
dw $0000, 0, $0100
|
||||||
db 1, 4
|
db 1, 4
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0030, 30, $0100
|
dw $0030, 30, $0100
|
||||||
db 1, 6
|
db 1, 6
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0035, 35, $0100
|
dw $0035, 35, $0100
|
||||||
db 1, 8
|
db 1, 8
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0040, 40, $0100
|
dw $0040, 40, $0100
|
||||||
db 1, 10
|
db 1, 10
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0050, 50, $0100
|
dw $0050, 50, $0100
|
||||||
db 1, 12
|
db 1, 12
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0060, 60, $0100
|
dw $0060, 60, $0100
|
||||||
db 1, 16
|
db 1, 16
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0070, 70, $0100
|
dw $0070, 70, $0100
|
||||||
db 1, 32
|
db 1, 32
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0080, 80, $0100
|
dw $0080, 80, $0100
|
||||||
db 1, 48
|
db 1, 48
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0090, 90, $0100
|
dw $0090, 90, $0100
|
||||||
db 1, 64
|
db 1, 64
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0100, 100, $0200
|
dw $0100, 100, $0200
|
||||||
db 1, 80
|
db 1, 80
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0120, 120, $0200
|
dw $0120, 120, $0200
|
||||||
db 1, 96
|
db 1, 96
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0140, 140, $0200
|
dw $0140, 140, $0200
|
||||||
db 1, 112
|
db 1, 112
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0160, 160, $0200
|
dw $0160, 160, $0200
|
||||||
db 1, 128
|
db 1, 128
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0170, 170, $0200
|
dw $0170, 170, $0200
|
||||||
db 1, 144
|
db 1, 144
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0200, 200, $0300
|
dw $0200, 200, $0300
|
||||||
db 1, 4
|
db 1, 4
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0220, 220, $0300
|
dw $0220, 220, $0300
|
||||||
db 1, 32
|
db 1, 32
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0230, 230, $0300
|
dw $0230, 230, $0300
|
||||||
db 1, 64
|
db 1, 64
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0233, 233, $0300
|
dw $0233, 233, $0300
|
||||||
db 1, 96
|
db 1, 96
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0236, 236, $0300
|
dw $0236, 236, $0300
|
||||||
db 1, 128
|
db 1, 128
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0239, 239, $0300
|
dw $0239, 239, $0300
|
||||||
db 1, 160
|
db 1, 160
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0243, 243, $0300
|
dw $0243, 243, $0300
|
||||||
db 1, 192
|
db 1, 192
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0247, 239, $0300
|
dw $0247, 239, $0300
|
||||||
db 1, 224
|
db 1, 224
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0251, 251, $0300
|
dw $0251, 251, $0300
|
||||||
db 1, $FF
|
db 1, $FF
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0300, 300, $0400
|
dw $0300, 300, $0400
|
||||||
db 2, $FF
|
db 2, $FF
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0330, 330, $0400
|
dw $0330, 330, $0400
|
||||||
db 3, $FF
|
db 3, $FF
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0360, 360, $0400
|
dw $0360, 360, $0400
|
||||||
db 4, $FF
|
db 4, $FF
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0400, 400, $0500
|
dw $0400, 400, $0500
|
||||||
db 5, $FF
|
db 5, $FF
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0420, 420, $0500
|
dw $0420, 420, $0500
|
||||||
db 4, $FF
|
db 4, $FF
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0450, 450, $0500
|
dw $0450, 450, $0500
|
||||||
db 3, $FF
|
db 3, $FF
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
dw $0500, 500, $0600
|
dw $0500, 500, $0600
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 30, 16, 30, 41
|
db 30, 30, 16, 30, 41
|
||||||
|
|
||||||
sTGM1SpeedCurveEnd::
|
sTGM1SpeedCurveEnd::
|
||||||
dw $FFFF
|
dw $FFFF
|
||||||
|
@ -259,91 +268,91 @@ sTGM1SpeedCurveEnd::
|
||||||
sCHILSpeedCurve::
|
sCHILSpeedCurve::
|
||||||
dw $0000, 0, $0100
|
dw $0000, 0, $0100
|
||||||
db 1, 5
|
db 1, 5
|
||||||
db 10, 16, 25, 17
|
db 10, 10, 16, 25, 17
|
||||||
|
|
||||||
dw $0100, 100, $0200
|
dw $0100, 100, $0200
|
||||||
db 1, 6
|
db 1, 6
|
||||||
db 10, 16, 25, 17
|
db 10, 10, 16, 25, 17
|
||||||
|
|
||||||
dw $0200, 200, $0300
|
dw $0200, 200, $0300
|
||||||
db 1, 7
|
db 1, 7
|
||||||
db 10, 16, 25, 17
|
db 10, 10, 16, 25, 17
|
||||||
|
|
||||||
dw $0300, 300, $0400
|
dw $0300, 300, $0400
|
||||||
db 1, 8
|
db 1, 8
|
||||||
db 10, 16, 25, 17
|
db 10, 10, 16, 25, 17
|
||||||
|
|
||||||
dw $0400, 400, $0500
|
dw $0400, 400, $0500
|
||||||
db 1, 9
|
db 1, 9
|
||||||
db 10, 16, 25, 17
|
db 10, 10, 16, 25, 17
|
||||||
|
|
||||||
dw $0500, 500, $0600
|
dw $0500, 500, $0600
|
||||||
db 1, 11
|
db 1, 11
|
||||||
db 10, 16, 25, 17
|
db 10, 10, 16, 25, 17
|
||||||
|
|
||||||
dw $0600, 600, $0700
|
dw $0600, 600, $0700
|
||||||
db 1, 14
|
db 1, 14
|
||||||
db 10, 16, 25, 17
|
db 10, 10, 16, 25, 17
|
||||||
|
|
||||||
dw $0700, 700, $0800
|
dw $0700, 700, $0800
|
||||||
db 1, 20
|
db 1, 20
|
||||||
db 10, 16, 25, 17
|
db 10, 10, 16, 25, 17
|
||||||
|
|
||||||
dw $0800, 800, $0900
|
dw $0800, 800, $0900
|
||||||
db 1, 32
|
db 1, 32
|
||||||
db 10, 16, 25, 17
|
db 10, 10, 16, 25, 17
|
||||||
|
|
||||||
dw $0900, 900, $1000
|
dw $0900, 900, $1000
|
||||||
db 1, 43
|
db 1, 43
|
||||||
db 10, 16, 25, 17
|
db 10, 10, 16, 25, 17
|
||||||
|
|
||||||
dw $1000, 1000, $1100
|
dw $1000, 1000, $1100
|
||||||
db 1, 51
|
db 1, 51
|
||||||
db 10, 16, 25, 17
|
db 10, 10, 16, 25, 17
|
||||||
|
|
||||||
dw $1300, 1300, $1400
|
dw $1300, 1300, $1400
|
||||||
db 1, 64
|
db 1, 64
|
||||||
db 10, 16, 25, 17
|
db 10, 10, 16, 25, 17
|
||||||
|
|
||||||
dw $1600, 1600, $1700
|
dw $1600, 1600, $1700
|
||||||
db 1, 85
|
db 1, 85
|
||||||
db 10, 16, 25, 17
|
db 10, 10, 16, 25, 17
|
||||||
|
|
||||||
dw $1900, 1900, $2000
|
dw $1900, 1900, $2000
|
||||||
db 1, 128
|
db 1, 128
|
||||||
db 10, 16, 25, 17
|
db 10, 10, 16, 25, 17
|
||||||
|
|
||||||
dw $2900, 2900, $3000
|
dw $2900, 2900, $3000
|
||||||
db 1, $FF
|
db 1, $FF
|
||||||
db 10, 16, 25, 17
|
db 10, 10, 16, 25, 17
|
||||||
|
|
||||||
dw $3333, 3333, $3400
|
dw $3333, 3333, $3400
|
||||||
db 2, $FF
|
db 2, $FF
|
||||||
db 10, 12, 25, 17
|
db 10, 10, 12, 25, 17
|
||||||
|
|
||||||
dw $4444, 4444, $4500
|
dw $4444, 4444, $4500
|
||||||
db 3, $FF
|
db 3, $FF
|
||||||
db 10, 12, 25, 17
|
db 10, 10, 12, 25, 17
|
||||||
|
|
||||||
dw $5555, 5555, $5600
|
dw $5555, 5555, $5600
|
||||||
db 4, $FF
|
db 4, $FF
|
||||||
db 10, 12, 25, 17
|
db 10, 10, 12, 25, 17
|
||||||
|
|
||||||
dw $6666, 6666, $6700
|
dw $6666, 6666, $6700
|
||||||
db 5, $FF
|
db 5, $FF
|
||||||
db 10, 12, 25, 17
|
db 10, 10, 12, 25, 17
|
||||||
|
|
||||||
dw $7777, 7777, $7800
|
dw $7777, 7777, $7800
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 10, 8, 25, 17
|
db 10, 10, 8, 25, 17
|
||||||
|
|
||||||
dw $8888, 8888, $8900
|
dw $8888, 8888, $8900
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 10, 6, 18, 17
|
db 10, 10, 6, 18, 17
|
||||||
|
|
||||||
dw $9999, 9999, $9999
|
dw $9999, 9999, $9999
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 5, 6, 14, 10
|
db 5, 5, 6, 14, 10
|
||||||
|
|
||||||
sCHILSpeedCurveEnd::
|
sCHILSpeedCurveEnd::
|
||||||
dw $FFFF
|
dw $FFFF
|
||||||
|
@ -352,151 +361,151 @@ sCHILSpeedCurveEnd::
|
||||||
sTGM3SpeedCurve::
|
sTGM3SpeedCurve::
|
||||||
dw $0000, 0, $0100
|
dw $0000, 0, $0100
|
||||||
db 1, 4
|
db 1, 4
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0030, 30, $0100
|
dw $0030, 30, $0100
|
||||||
db 1, 6
|
db 1, 6
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0035, 35, $0100
|
dw $0035, 35, $0100
|
||||||
db 1, 8
|
db 1, 8
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0040, 40, $0100
|
dw $0040, 40, $0100
|
||||||
db 1, 10
|
db 1, 10
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0050, 50, $0100
|
dw $0050, 50, $0100
|
||||||
db 1, 12
|
db 1, 12
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0060, 60, $0100
|
dw $0060, 60, $0100
|
||||||
db 1, 16
|
db 1, 16
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0070, 70, $0100
|
dw $0070, 70, $0100
|
||||||
db 1, 32
|
db 1, 32
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0080, 80, $0100
|
dw $0080, 80, $0100
|
||||||
db 1, 48
|
db 1, 48
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0090, 90, $0100
|
dw $0090, 90, $0100
|
||||||
db 1, 64
|
db 1, 64
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0100, 100, $0200
|
dw $0100, 100, $0200
|
||||||
db 1, 80
|
db 1, 80
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0120, 120, $0200
|
dw $0120, 120, $0200
|
||||||
db 1, 96
|
db 1, 96
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0140, 140, $0200
|
dw $0140, 140, $0200
|
||||||
db 1, 112
|
db 1, 112
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0160, 160, $0200
|
dw $0160, 160, $0200
|
||||||
db 1, 128
|
db 1, 128
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0170, 170, $0200
|
dw $0170, 170, $0200
|
||||||
db 1, 144
|
db 1, 144
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0200, 200, $0300
|
dw $0200, 200, $0300
|
||||||
db 1, 4
|
db 1, 4
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0220, 220, $0300
|
dw $0220, 220, $0300
|
||||||
db 1, 32
|
db 1, 32
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0230, 230, $0300
|
dw $0230, 230, $0300
|
||||||
db 1, 64
|
db 1, 64
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0233, 233, $0300
|
dw $0233, 233, $0300
|
||||||
db 1, 96
|
db 1, 96
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0236, 236, $0300
|
dw $0236, 236, $0300
|
||||||
db 1, 128
|
db 1, 128
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0239, 239, $0300
|
dw $0239, 239, $0300
|
||||||
db 1, 160
|
db 1, 160
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0243, 243, $0300
|
dw $0243, 243, $0300
|
||||||
db 1, 192
|
db 1, 192
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0247, 239, $0300
|
dw $0247, 239, $0300
|
||||||
db 1, 224
|
db 1, 224
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0251, 251, $0300
|
dw $0251, 251, $0300
|
||||||
db 1, $FF
|
db 1, $FF
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0300, 300, $0400
|
dw $0300, 300, $0400
|
||||||
db 2, $FF
|
db 2, $FF
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0330, 330, $0400
|
dw $0330, 330, $0400
|
||||||
db 3, $FF
|
db 3, $FF
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0360, 360, $0400
|
dw $0360, 360, $0400
|
||||||
db 4, $FF
|
db 4, $FF
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0400, 400, $0500
|
dw $0400, 400, $0500
|
||||||
db 5, $FF
|
db 5, $FF
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0420, 420, $0500
|
dw $0420, 420, $0500
|
||||||
db 4, $FF
|
db 4, $FF
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0450, 450, $0500
|
dw $0450, 450, $0500
|
||||||
db 3, $FF
|
db 3, $FF
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 16, 30, 40
|
||||||
|
|
||||||
dw $0500, 500, $0600
|
dw $0500, 500, $0600
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 27, 16, 30, 40
|
db 27, 27, 10, 30, 25
|
||||||
|
|
||||||
dw $0600, 600, $0700
|
dw $0600, 600, $0700
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 27, 10, 30, 7
|
db 27, 18, 10, 30, 16
|
||||||
|
|
||||||
dw $0700, 700, $0800
|
dw $0700, 700, $0800
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 18, 10, 30, 7
|
db 18, 14, 10, 30, 12
|
||||||
|
|
||||||
dw $0800, 800, $0900
|
dw $0800, 800, $0900
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 14, 10, 30, 1
|
db 14, 8, 10, 30, 6
|
||||||
|
|
||||||
dw $0900, 900, $1000
|
dw $0900, 900, $1000
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 14, 8, 18, 1
|
db 14, 8, 8, 17, 6
|
||||||
|
|
||||||
dw $1000, 1000, $1100
|
dw $1000, 1000, $1100
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 8, 8, 18, 6
|
db 8, 8, 8, 17, 6
|
||||||
|
|
||||||
dw $1100, 1000, $1200
|
dw $1100, 1000, $1200
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 7, 8, 14, 6
|
db 7, 7, 8, 15, 6
|
||||||
|
|
||||||
dw $1200, 1000, $1300
|
dw $1200, 1000, $1300
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 6, 8, 14, 6
|
db 6, 6, 8, 15, 6
|
||||||
|
|
||||||
sTGM3SpeedCurveEnd::
|
sTGM3SpeedCurveEnd::
|
||||||
dw $FFFF
|
dw $FFFF
|
||||||
|
@ -504,27 +513,27 @@ sTGM3SpeedCurveEnd::
|
||||||
sDEATSpeedCurve::
|
sDEATSpeedCurve::
|
||||||
dw $0000, 0, $0100
|
dw $0000, 0, $0100
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 18, 12, 30, 12
|
db 18, 14, 12, 30, 12
|
||||||
|
|
||||||
dw $0100, 0, $0200
|
dw $0100, 0, $0200
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 14, 12, 25, 1
|
db 14, 8, 12, 26, 6
|
||||||
|
|
||||||
dw $0200, 0, $0300
|
dw $0200, 0, $0300
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 14, 11, 20, 1
|
db 14, 8, 11, 22, 6
|
||||||
|
|
||||||
dw $0300, 0, $0400
|
dw $0300, 0, $0400
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 8, 10, 18, 6
|
db 8, 8, 10, 18, 6
|
||||||
|
|
||||||
dw $0400, 0, $0500
|
dw $0400, 0, $0500
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 7, 8, 14, 5
|
db 7, 7, 8, 15, 5
|
||||||
|
|
||||||
dw $0500, 0, $0600
|
dw $0500, 0, $0600
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 6, 8, 14, 4
|
db 6, 6, 8, 15, 4
|
||||||
|
|
||||||
sDEATSpeedCurveEnd::
|
sDEATSpeedCurveEnd::
|
||||||
dw $FFFF
|
dw $FFFF
|
||||||
|
@ -532,200 +541,201 @@ sDEATSpeedCurveEnd::
|
||||||
sSHIRSpeedCurve::
|
sSHIRSpeedCurve::
|
||||||
dw $0000, 0, $0100
|
dw $0000, 0, $0100
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 12, 10, 18, 6
|
db 12, 8, 10, 18, 6
|
||||||
|
|
||||||
dw $0100, 100, $0200
|
dw $0100, 100, $0200
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 12, 8, 18, 5
|
db 12, 7, 8, 18, 5
|
||||||
|
|
||||||
dw $0200, 200, $0300
|
dw $0200, 200, $0300
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 12, 8, 16, 4
|
db 12, 6, 8, 17, 4
|
||||||
|
|
||||||
dw $0300, 300, $0400
|
dw $0300, 300, $0400
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 6, 8, 14, 4
|
db 6, 6, 8, 15, 4
|
||||||
|
|
||||||
dw $0500, 500, $0600
|
dw $0500, 500, $0600
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 6, 6, 12, 2
|
db 6, 5, 6, 13, 3
|
||||||
|
|
||||||
dw $1100, 1100, $1200
|
dw $1100, 1100, $1200
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 6, 6, 10, 2
|
db 6, 5, 6, 10, 3
|
||||||
|
|
||||||
dw $1200, 1200, $1300
|
dw $1200, 1200, $1300
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 6, 6, 8, 2
|
db 6, 5, 6, 8, 3
|
||||||
|
|
||||||
sSHIRSpeedCurveEnd::
|
sSHIRSpeedCurveEnd::
|
||||||
dw $FFFF
|
dw $FFFF
|
||||||
|
|
||||||
sSpeedCurve:: ; Speed curve of the game.
|
sDMGTSpeedCurve:: ; Speed curve of the game.
|
||||||
dw $0000, 0, $0100 ; Level 0000
|
dw $0000, 0, $0100 ; Level 0000
|
||||||
db 1, 16
|
db 1, 16
|
||||||
db 25, 14, 30, 40
|
db 25, 15, 14, 30, 40
|
||||||
|
|
||||||
dw $0015, 15, $0100 ; Level 0015
|
dw $0015, 15, $0100 ; Level 0015
|
||||||
db 1, 17
|
db 1, 17
|
||||||
db 25, 14, 30, 40
|
db 25, 15, 14, 30, 40
|
||||||
|
|
||||||
dw $0030, 30, $0100 ; Level 0030
|
dw $0030, 30, $0100 ; Level 0030
|
||||||
db 1, 18
|
db 1, 18
|
||||||
db 25, 14, 30, 40
|
db 25, 15, 14, 30, 40
|
||||||
|
|
||||||
dw $0040, 40, $0100 ; Level 0040
|
dw $0040, 40, $0100 ; Level 0040
|
||||||
db 1, 20
|
db 1, 20
|
||||||
db 25, 14, 30, 40
|
db 25, 15, 14, 30, 40
|
||||||
|
|
||||||
dw $0050, 50, $0100 ; Level 0050
|
dw $0050, 50, $0100 ; Level 0050
|
||||||
db 1, 21
|
db 1, 21
|
||||||
db 25, 14, 30, 40
|
db 25, 15, 14, 30, 40
|
||||||
|
|
||||||
dw $0060, 60, $0100 ; Level 0060
|
dw $0060, 60, $0100 ; Level 0060
|
||||||
db 1, 23
|
db 1, 23
|
||||||
db 25, 14, 30, 40
|
db 25, 15, 14, 30, 40
|
||||||
|
|
||||||
dw $0070, 70, $0100 ; Level 0070
|
dw $0070, 70, $0100 ; Level 0070
|
||||||
db 1, 26
|
db 1, 26
|
||||||
db 25, 14, 30, 40
|
db 25, 15, 14, 30, 40
|
||||||
|
|
||||||
dw $0080, 80, $0100 ; Level 0080
|
dw $0080, 80, $0100 ; Level 0080
|
||||||
db 1, 28
|
db 1, 28
|
||||||
db 25, 14, 30, 40
|
db 25, 15, 14, 30, 40
|
||||||
|
|
||||||
dw $0090, 90, $0100 ; Level 0090
|
dw $0090, 90, $0100 ; Level 0090
|
||||||
db 1, 32
|
db 1, 32
|
||||||
db 25, 14, 30, 40
|
db 25, 15, 14, 30, 40
|
||||||
|
|
||||||
dw $0100, 100, $0200 ; Level 0100
|
dw $0100, 100, $0200 ; Level 0100
|
||||||
db 1, 37
|
db 1, 37
|
||||||
db 25, 14, 30, 40
|
db 25, 15, 14, 30, 40
|
||||||
|
|
||||||
dw $0150, 150, $0200 ; Level 0150
|
dw $0150, 150, $0200 ; Level 0150
|
||||||
db 1, 43
|
db 1, 43
|
||||||
db 25, 14, 30, 40
|
db 25, 15, 14, 30, 40
|
||||||
|
|
||||||
dw $0200, 200, $0300 ; Level 0200
|
dw $0200, 200, $0300 ; Level 0200
|
||||||
db 1, 51
|
db 1, 51
|
||||||
db 25, 14, 30, 40
|
db 25, 15, 14, 30, 40
|
||||||
|
|
||||||
dw $0225, 225, $0300 ; Level 0225
|
dw $0225, 225, $0300 ; Level 0225
|
||||||
db 1, 64
|
db 1, 64
|
||||||
db 25, 14, 30, 40
|
db 25, 15, 14, 30, 40
|
||||||
|
|
||||||
dw $0250, 250, $0300 ; Level 0250
|
dw $0250, 250, $0300 ; Level 0250
|
||||||
db 1, 85
|
db 1, 85
|
||||||
db 25, 14, 30, 40
|
db 25, 15, 14, 30, 40
|
||||||
|
|
||||||
dw $0275, 275, $0300 ; Level 0275
|
dw $0275, 275, $0300 ; Level 0275
|
||||||
db 1, 128
|
db 1, 128
|
||||||
db 25, 14, 30, 40
|
db 25, 15, 14, 30, 40
|
||||||
|
|
||||||
dw $0300, 300, $0400 ; Level 0300
|
dw $0300, 300, $0400 ; Level 0300
|
||||||
db 1, $FF
|
db 1, $FF
|
||||||
db 25, 14, 30, 32
|
db 25, 7, 14, 30, 32
|
||||||
|
|
||||||
dw $0350, 350, $0350 ; Level 0350
|
dw $0350, 350, $0350 ; Level 0350
|
||||||
db 2, $FF
|
db 2, $FF
|
||||||
db 25, 14, 30, 32
|
db 25, 7, 14, 30, 32
|
||||||
|
|
||||||
dw $0400, 400, $0400 ; Level 0400
|
dw $0400, 400, $0400 ; Level 0400
|
||||||
db 3, $FF
|
db 3, $FF
|
||||||
db 25, 14, 30, 32
|
db 25, 7, 14, 30, 32
|
||||||
|
|
||||||
dw $0450, 450, $0500 ; Level 0450
|
dw $0450, 450, $0500 ; Level 0450
|
||||||
db 4, $FF
|
db 4, $FF
|
||||||
db 25, 14, 30, 32
|
db 25, 7, 14, 30, 32
|
||||||
|
|
||||||
dw $0475, 475, $0500 ; Level 0475
|
dw $0475, 475, $0500 ; Level 0475
|
||||||
db 5, $FF
|
db 5, $FF
|
||||||
db 25, 14, 30, 32
|
db 25, 7, 14, 30, 32
|
||||||
|
|
||||||
dw $0500, 500, $0600 ; Level 0500
|
dw $0500, 500, $0600 ; Level 0500
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 25, 14, 30, 24
|
db 25, 6, 14, 30, 24
|
||||||
|
|
||||||
dw $0600, 600, $0700 ; Level 0600
|
dw $0600, 600, $0700 ; Level 0600
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 25, 8, 30, 24
|
db 25, 6, 8, 30, 24
|
||||||
|
|
||||||
dw $0700, 700, $0800 ; Level 0700
|
dw $0700, 700, $0800 ; Level 0700
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 20, 8, 30, 24
|
db 20, 6, 8, 30, 24
|
||||||
|
|
||||||
dw $0900, 900, $1000 ; Level 0900
|
dw $0900, 900, $1000 ; Level 0900
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 16, 6, 25, 16
|
db 16, 4, 6, 25, 16
|
||||||
|
|
||||||
dw $1100, 1100, $1200 ; Level 1100
|
dw $1100, 1100, $1200 ; Level 1100
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 12, 6, 25, 16
|
db 12, 4, 6, 25, 16
|
||||||
|
|
||||||
dw $1200, 1200, $1300 ; Level 1200
|
dw $1200, 1200, $1300 ; Level 1200
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 12, 6, 25, 8
|
db 12, 4, 6, 25, 8
|
||||||
|
|
||||||
dw $1300, 1300, $1400 ; Level 1300
|
dw $1300, 1300, $1400 ; Level 1300
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 10, 6, 20, 7
|
db 10, 4, 6, 20, 7
|
||||||
|
|
||||||
dw $1400, 1400, $1500 ; Level 1400
|
dw $1400, 1400, $1500 ; Level 1400
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 10, 6, 18, 6
|
db 10, 4, 6, 18, 6
|
||||||
|
|
||||||
dw $1500, 1500, $1600 ; Level 1500
|
dw $1500, 1500, $1600 ; Level 1500
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 8, 4, 16, 5
|
db 8, 4, 4, 16, 5
|
||||||
|
|
||||||
dw $1600, 1600, $1700 ; Level 1600
|
dw $1600, 1600, $1700 ; Level 1600
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 8, 4, 14, 4
|
db 8, 4, 4, 14, 4
|
||||||
|
|
||||||
dw $1700, 1700, $1800 ; Level 1700
|
dw $1700, 1700, $1800 ; Level 1700
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 6, 4, 12, 3
|
db 6, 4, 4, 12, 3
|
||||||
|
|
||||||
dw $1800, 1800, $1900 ; Level 1800
|
dw $1800, 1800, $1900 ; Level 1800
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 6, 4, 10, 3
|
db 6, 4, 4, 10, 3
|
||||||
|
|
||||||
dw $1900, 1900, $2000 ; Level 1900
|
dw $1900, 1900, $2000 ; Level 1900
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 4, 4, 8, 3
|
db 4, 4, 4, 8, 3
|
||||||
|
|
||||||
dw $2000, 2000, $2100 ; Level 2000
|
dw $2000, 2000, $2100 ; Level 2000
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 4, 3, 8, 3
|
db 4, 4, 3, 8, 3
|
||||||
|
|
||||||
dw $2500, 2500, $2600 ; Level 2500
|
dw $2500, 2500, $2600 ; Level 2500
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 2, 1, 8, 2
|
db 2, 2, 1, 8, 2
|
||||||
|
|
||||||
dw $3000, 3000, $3100 ; Level 3000
|
dw $3000, 3000, $3100 ; Level 3000
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 1, 1, 8, 1
|
db 1, 1, 1, 8, 1
|
||||||
|
|
||||||
dw $4000, 4000, $4100 ; Level 4000
|
dw $4000, 4000, $4100 ; Level 4000
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 1, 1, 6, 1
|
db 1, 1, 1, 6, 1
|
||||||
|
|
||||||
dw $5000, 5000, $5100 ; Level 5000
|
dw $5000, 5000, $5100 ; Level 5000
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 1, 1, 4, 1
|
db 1, 1, 1, 4, 1
|
||||||
|
|
||||||
dw $6666, 6666, $6700 ; Level 6666
|
dw $6666, 6666, $6700 ; Level 6666
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 1, 1, 2, 1
|
db 1, 1, 1, 2, 1
|
||||||
|
|
||||||
dw $9999, 9999, $9999 ; Level 9999
|
dw $9999, 9999, $9999 ; Level 9999
|
||||||
db 20, $FF
|
db 20, $FF
|
||||||
db 1, 1, 1, 1
|
db 1, 1, 1, 1, 1
|
||||||
|
|
||||||
sSpeedCurveEnd::
|
sDMGTSpeedCurveEnd::
|
||||||
dw $FFFF ; End.
|
dw $FFFF ; End.
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
sPieceFastRotationStates::
|
sPieceFastRotationStates::
|
||||||
; I
|
; I
|
||||||
db 14, 1, 1, 1
|
db 14, 1, 1, 1
|
||||||
|
|
192
src/field.asm
192
src/field.asm
|
@ -1527,36 +1527,14 @@ FieldProcess::
|
||||||
|
|
||||||
|
|
||||||
GetTileShade:
|
GetTileShade:
|
||||||
; Possible values for tile delay:
|
ldh a, [hCurrentLockDelay]
|
||||||
; 30, 25, 20, 18, 16, 14, 12, 10, 8, 6, 4, 2, 1
|
|
||||||
; We don't need to handle the 1 case.
|
|
||||||
ld a, 0
|
|
||||||
ld b, a
|
|
||||||
: ldh a, [hCurrentLockDelay]
|
|
||||||
cp a, 30
|
cp a, 30
|
||||||
jr z, .max30
|
jr nc, .max30
|
||||||
: cp a, 25
|
cp a, 20
|
||||||
jr z, .max25
|
jr nc, .max20
|
||||||
: cp a, 20
|
cp a, 10
|
||||||
jr z, .max20
|
jr nc, .max10
|
||||||
: cp a, 18
|
jr .max0
|
||||||
jp z, .max18
|
|
||||||
: cp a, 16
|
|
||||||
jp z, .max16
|
|
||||||
: cp a, 14
|
|
||||||
jp z, .max14
|
|
||||||
: cp a, 12
|
|
||||||
jp z, .max12
|
|
||||||
: cp a, 10
|
|
||||||
jp z, .max10
|
|
||||||
: cp a, 8
|
|
||||||
jp z, .max8
|
|
||||||
: cp a, 6
|
|
||||||
jp z, .max6
|
|
||||||
: cp a, 4
|
|
||||||
jp z, .max4
|
|
||||||
: cp a, 2
|
|
||||||
jp z, .max2
|
|
||||||
ret
|
ret
|
||||||
.max30
|
.max30
|
||||||
ldh a, [hCurrentLockDelayRemaining]
|
ldh a, [hCurrentLockDelayRemaining]
|
||||||
|
@ -1565,136 +1543,34 @@ GetTileShade:
|
||||||
cp a, 8
|
cp a, 8
|
||||||
jp c, .s6
|
jp c, .s6
|
||||||
cp a, 12
|
cp a, 12
|
||||||
jp c, .s5
|
jr c, .s5
|
||||||
cp a, 16
|
cp a, 16
|
||||||
jp c, .s4
|
jr c, .s4
|
||||||
cp a, 20
|
cp a, 20
|
||||||
jp c, .s3
|
jr c, .s3
|
||||||
cp a, 24
|
cp a, 24
|
||||||
jp c, .s2
|
jr c, .s2
|
||||||
cp a, 28
|
cp a, 28
|
||||||
jp c, .s1
|
jr c, .s1
|
||||||
jp .s0
|
jr .s0
|
||||||
.max25
|
|
||||||
ldh a, [hCurrentLockDelayRemaining]
|
|
||||||
cp a, 3
|
|
||||||
ret c
|
|
||||||
cp a, 6
|
|
||||||
jp c, .s6
|
|
||||||
cp a, 9
|
|
||||||
jp c, .s5
|
|
||||||
cp a, 12
|
|
||||||
jp c, .s4
|
|
||||||
cp a, 15
|
|
||||||
jp c, .s3
|
|
||||||
cp a, 18
|
|
||||||
jp c, .s2
|
|
||||||
cp a, 21
|
|
||||||
jp c, .s1
|
|
||||||
jp .s0
|
|
||||||
.max20
|
.max20
|
||||||
ldh a, [hCurrentLockDelayRemaining]
|
ldh a, [hCurrentLockDelayRemaining]
|
||||||
cp a, 2
|
cp a, 2
|
||||||
ret c
|
ret c
|
||||||
cp a, 5
|
cp a, 5
|
||||||
jp c, .s6
|
jr c, .s6
|
||||||
cp a, 7
|
cp a, 7
|
||||||
jp c, .s5
|
|
||||||
cp a, 10
|
|
||||||
jp c, .s4
|
|
||||||
cp a, 12
|
|
||||||
jp c, .s3
|
|
||||||
cp a, 15
|
|
||||||
jp c, .s2
|
|
||||||
cp a, 17
|
|
||||||
jp c, .s1
|
|
||||||
jp .s0
|
|
||||||
.max18
|
|
||||||
ldh a, [hCurrentLockDelayRemaining]
|
|
||||||
cp a, 2
|
|
||||||
ret c
|
|
||||||
cp a, 4
|
|
||||||
jp c, .s6
|
|
||||||
cp a, 6
|
|
||||||
jp c, .s5
|
|
||||||
cp a, 9
|
|
||||||
jp c, .s4
|
|
||||||
cp a, 11
|
|
||||||
jp c, .s3
|
|
||||||
cp a, 13
|
|
||||||
jp c, .s2
|
|
||||||
cp a, 15
|
|
||||||
jp c, .s1
|
|
||||||
jp .s0
|
|
||||||
.max16
|
|
||||||
ldh a, [hCurrentLockDelayRemaining]
|
|
||||||
cp a, 2
|
|
||||||
ret c
|
|
||||||
cp a, 4
|
|
||||||
jp c, .s6
|
|
||||||
cp a, 6
|
|
||||||
jp c, .s5
|
|
||||||
cp a, 8
|
|
||||||
jp c, .s4
|
|
||||||
cp a, 10
|
|
||||||
jp c, .s3
|
|
||||||
cp a, 12
|
|
||||||
jp c, .s2
|
|
||||||
cp a, 14
|
|
||||||
jp c, .s1
|
|
||||||
jp .s0
|
|
||||||
.max14
|
|
||||||
ldh a, [hCurrentLockDelayRemaining]
|
|
||||||
cp a, 2
|
|
||||||
ret c
|
|
||||||
cp a, 4
|
|
||||||
jp c, .s6
|
|
||||||
cp a, 6
|
|
||||||
jp c, .s5
|
|
||||||
cp a, 7
|
|
||||||
jp c, .s4
|
|
||||||
cp a, 9
|
|
||||||
jp c, .s3
|
|
||||||
cp a, 11
|
|
||||||
jp c, .s2
|
|
||||||
cp a, 13
|
|
||||||
jp c, .s1
|
|
||||||
jp .s0
|
|
||||||
.max12
|
|
||||||
ldh a, [hCurrentLockDelayRemaining]
|
|
||||||
cp a, 1
|
|
||||||
ret c
|
|
||||||
cp a, 3
|
|
||||||
jp c, .s6
|
|
||||||
cp a, 4
|
|
||||||
jp c, .s5
|
|
||||||
cp a, 6
|
|
||||||
jp c, .s4
|
|
||||||
cp a, 7
|
|
||||||
jp c, .s3
|
|
||||||
cp a, 9
|
|
||||||
jp c, .s2
|
|
||||||
cp a, 10
|
|
||||||
jp c, .s1
|
|
||||||
jp .s0
|
|
||||||
.max10
|
|
||||||
ldh a, [hCurrentLockDelayRemaining]
|
|
||||||
cp a, 1
|
|
||||||
ret c
|
|
||||||
cp a, 2
|
|
||||||
jp c, .s6
|
|
||||||
cp a, 3
|
|
||||||
jr c, .s5
|
jr c, .s5
|
||||||
cp a, 5
|
cp a, 10
|
||||||
jr c, .s4
|
jr c, .s4
|
||||||
cp a, 6
|
cp a, 12
|
||||||
jr c, .s3
|
jr c, .s3
|
||||||
cp a, 7
|
cp a, 15
|
||||||
jr c, .s2
|
jr c, .s2
|
||||||
cp a, 8
|
cp a, 17
|
||||||
jr c, .s1
|
jr c, .s1
|
||||||
jr .s0
|
jr .s0
|
||||||
.max8
|
.max10
|
||||||
ldh a, [hCurrentLockDelayRemaining]
|
ldh a, [hCurrentLockDelayRemaining]
|
||||||
cp a, 1
|
cp a, 1
|
||||||
ret c
|
ret c
|
||||||
|
@ -1702,36 +1578,16 @@ GetTileShade:
|
||||||
jr c, .s6
|
jr c, .s6
|
||||||
cp a, 3
|
cp a, 3
|
||||||
jr c, .s5
|
jr c, .s5
|
||||||
cp a, 4
|
|
||||||
jr c, .s4
|
|
||||||
cp a, 5
|
cp a, 5
|
||||||
jr c, .s3
|
jr c, .s4
|
||||||
cp a, 6
|
cp a, 6
|
||||||
jr c, .s2
|
|
||||||
cp a, 7
|
|
||||||
jr c, .s1
|
|
||||||
jr .s0
|
|
||||||
.max6
|
|
||||||
ldh a, [hCurrentLockDelayRemaining]
|
|
||||||
cp a, 1
|
|
||||||
ret c
|
|
||||||
cp a, 2
|
|
||||||
jr c, .s5
|
|
||||||
cp a, 3
|
|
||||||
jr c, .s3
|
jr c, .s3
|
||||||
cp a, 4
|
cp a, 7
|
||||||
jr c, .s2
|
jr c, .s2
|
||||||
cp a, 5
|
cp a, 8
|
||||||
jr c, .s1
|
jr c, .s1
|
||||||
jr .s0
|
jr .s0
|
||||||
.max4
|
.max0
|
||||||
ldh a, [hCurrentLockDelayRemaining]
|
|
||||||
cp a, 1
|
|
||||||
ret c
|
|
||||||
cp a, 2
|
|
||||||
jr c, .s4
|
|
||||||
jr .s0
|
|
||||||
.max2
|
|
||||||
jr .s4
|
jr .s4
|
||||||
.s0
|
.s0
|
||||||
ldh a, [hCurrentPiece]
|
ldh a, [hCurrentPiece]
|
||||||
|
@ -1974,7 +1830,7 @@ FieldDelay::
|
||||||
ld a, SFX_LINE_CLEAR
|
ld a, SFX_LINE_CLEAR
|
||||||
call SFXEnqueue
|
call SFXEnqueue
|
||||||
|
|
||||||
: ldh a, [hCurrentARE]
|
: ldh a, [hCurrentLineARE]
|
||||||
ldh [hRemainingDelay], a
|
ldh [hRemainingDelay], a
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -924,9 +924,11 @@ GBCGameplayProcess::
|
||||||
.black
|
.black
|
||||||
ld a, OCPSF_AUTOINC | (7*8)+(3*2)
|
ld a, OCPSF_AUTOINC | (7*8)+(3*2)
|
||||||
ldh [rOCPS], a
|
ldh [rOCPS], a
|
||||||
xor a, a
|
ld bc, R2 | B0
|
||||||
wait_vram
|
wait_vram
|
||||||
|
ld a, c
|
||||||
ldh [rOCPD], a
|
ldh [rOCPD], a
|
||||||
|
ld a, b
|
||||||
ldh [rOCPD], a
|
ldh [rOCPD], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
|
@ -119,6 +119,9 @@ DEF SCORE_BASE_Y EQU 115
|
||||||
DEF LEVEL_BASE_X EQU 120
|
DEF LEVEL_BASE_X EQU 120
|
||||||
DEF CLEVEL_BASE_Y EQU 136
|
DEF CLEVEL_BASE_Y EQU 136
|
||||||
DEF NLEVEL_BASE_Y EQU 148
|
DEF NLEVEL_BASE_Y EQU 148
|
||||||
|
DEF TELLS_BASE_X EQU 154
|
||||||
|
DEF TELLS_BASE_Y EQU 64
|
||||||
|
DEF TELLS_Y_DIST EQU 10
|
||||||
|
|
||||||
; Piece names
|
; Piece names
|
||||||
DEF PIECE_I EQU 0
|
DEF PIECE_I EQU 0
|
||||||
|
@ -153,6 +156,7 @@ DEF TILE_CLEARING EQU 124
|
||||||
DEF TILE_GHOST EQU 125
|
DEF TILE_GHOST EQU 125
|
||||||
DEF TILE_SELECTED EQU 193
|
DEF TILE_SELECTED EQU 193
|
||||||
DEF TILE_UNSELECTED EQU 194
|
DEF TILE_UNSELECTED EQU 194
|
||||||
|
DEF TILE_BLANK EQU 1
|
||||||
|
|
||||||
; Button mode.
|
; Button mode.
|
||||||
DEF BUTTON_MODE_NORM EQU 0
|
DEF BUTTON_MODE_NORM EQU 0
|
||||||
|
@ -185,6 +189,7 @@ DEF DROP_MODE_NONE EQU 4
|
||||||
DEF DROP_MODE_COUNT EQU 5
|
DEF DROP_MODE_COUNT EQU 5
|
||||||
|
|
||||||
; Speed curve selection.
|
; Speed curve selection.
|
||||||
|
DEF SCURVE_ENTRY_SIZE EQU 13
|
||||||
DEF SCURVE_DMGT EQU 0
|
DEF SCURVE_DMGT EQU 0
|
||||||
DEF SCURVE_TGM1 EQU 1
|
DEF SCURVE_TGM1 EQU 1
|
||||||
DEF SCURVE_TGM3 EQU 2
|
DEF SCURVE_TGM3 EQU 2
|
||||||
|
|
|
@ -25,6 +25,7 @@ INCLUDE "globals.asm"
|
||||||
SECTION "High Level Variables", HRAM
|
SECTION "High Level Variables", HRAM
|
||||||
hCurrentDAS:: ds 1
|
hCurrentDAS:: ds 1
|
||||||
hCurrentARE:: ds 1
|
hCurrentARE:: ds 1
|
||||||
|
hCurrentLineARE:: ds 1
|
||||||
hCurrentLockDelay:: ds 1
|
hCurrentLockDelay:: ds 1
|
||||||
hCurrentLineClearDelay:: ds 1
|
hCurrentLineClearDelay:: ds 1
|
||||||
hCurrentIntegerGravity:: ds 1
|
hCurrentIntegerGravity:: ds 1
|
||||||
|
@ -336,6 +337,8 @@ DoSpeedUp:
|
||||||
ld a, [hl+]
|
ld a, [hl+]
|
||||||
ldh [hCurrentARE], a
|
ldh [hCurrentARE], a
|
||||||
ld a, [hl+]
|
ld a, [hl+]
|
||||||
|
ldh [hCurrentLineARE], a
|
||||||
|
ld a, [hl+]
|
||||||
ldh [hCurrentDAS], a
|
ldh [hCurrentDAS], a
|
||||||
ld a, [hl+]
|
ld a, [hl+]
|
||||||
ldh [hCurrentLockDelay], a
|
ldh [hCurrentLockDelay], a
|
||||||
|
|
Binary file not shown.
|
@ -270,7 +270,7 @@ Tiles::
|
||||||
DB $24,$3C,$24,$3C,$18,$18,$00,$00
|
DB $24,$3C,$24,$3C,$18,$18,$00,$00
|
||||||
DB $FF,$FF,$AA,$FF,$00,$FF,$AA,$55
|
DB $FF,$FF,$AA,$FF,$00,$FF,$AA,$55
|
||||||
DB $00,$FF,$55,$FF,$FF,$FF,$00,$00
|
DB $00,$FF,$55,$FF,$FF,$FF,$00,$00
|
||||||
DB $DB,$E7,$A5,$C3,$42,$81,$81,$00
|
DB $DB,$E7,$A5,$C3,$42,$81,$91,$00
|
||||||
DB $42,$81,$A5,$C3,$DB,$E7,$00,$00
|
DB $42,$81,$A5,$C3,$DB,$E7,$00,$00
|
||||||
DB $44,$44,$FE,$FE,$44,$44,$44,$44
|
DB $44,$44,$FE,$FE,$44,$44,$44,$44
|
||||||
DB $44,$44,$FE,$FE,$44,$44,$00,$00
|
DB $44,$44,$FE,$FE,$44,$44,$00,$00
|
||||||
|
|
|
@ -30,25 +30,42 @@ wSPRNext1:: ds 4
|
||||||
wSPRNext2:: ds 4
|
wSPRNext2:: ds 4
|
||||||
wSPRNext3:: ds 4
|
wSPRNext3:: ds 4
|
||||||
wSPRNext4:: ds 4
|
wSPRNext4:: ds 4
|
||||||
|
wUnused0:: ds 4
|
||||||
|
wUnused1:: ds 4
|
||||||
wSPRHold1:: ds 4
|
wSPRHold1:: ds 4
|
||||||
wSPRHold2:: ds 4
|
wSPRHold2:: ds 4
|
||||||
wSPRHold3:: ds 4
|
wSPRHold3:: ds 4
|
||||||
wSPRHold4:: ds 4
|
wSPRHold4:: ds 4
|
||||||
|
wUnused2:: ds 4
|
||||||
|
wUnused3:: ds 4
|
||||||
wSPRScore1:: ds 4
|
wSPRScore1:: ds 4
|
||||||
wSPRScore2:: ds 4
|
wSPRScore2:: ds 4
|
||||||
wSPRScore3:: ds 4
|
wSPRScore3:: ds 4
|
||||||
wSPRScore4:: ds 4
|
wSPRScore4:: ds 4
|
||||||
wSPRScore5:: ds 4
|
wSPRScore5:: ds 4
|
||||||
wSPRScore6:: ds 4
|
wSPRScore6:: ds 4
|
||||||
|
wUnused4:: ds 4
|
||||||
|
wUnused5:: ds 4
|
||||||
wSPRCLevel1:: ds 4
|
wSPRCLevel1:: ds 4
|
||||||
wSPRCLevel2:: ds 4
|
wSPRCLevel2:: ds 4
|
||||||
wSPRCLevel3:: ds 4
|
wSPRCLevel3:: ds 4
|
||||||
wSPRCLevel4:: ds 4
|
wSPRCLevel4:: ds 4
|
||||||
|
wUnused6:: ds 4
|
||||||
|
wUnused7:: ds 4
|
||||||
wSPRNLevel1:: ds 4
|
wSPRNLevel1:: ds 4
|
||||||
wSPRNLevel2:: ds 4
|
wSPRNLevel2:: ds 4
|
||||||
wSPRNLevel3:: ds 4
|
wSPRNLevel3:: ds 4
|
||||||
wSPRNLevel4:: ds 4
|
wSPRNLevel4:: ds 4
|
||||||
wSPRUnused:: ds (16 * 4)
|
wUnused8:: ds 4
|
||||||
|
wUnused9:: ds 4
|
||||||
|
wUnusedA:: ds 4
|
||||||
|
wUnusedB:: ds 4
|
||||||
|
wUnusedC:: ds 4
|
||||||
|
wUnusedD:: ds 4
|
||||||
|
wSPRModeRNG:: ds 4
|
||||||
|
wSPRModeRot:: ds 4
|
||||||
|
wSPRModeDrop:: ds 4
|
||||||
|
wSPRModeHiG:: ds 4
|
||||||
ENDU
|
ENDU
|
||||||
|
|
||||||
|
|
||||||
|
@ -95,6 +112,49 @@ ClearOAM::
|
||||||
|
|
||||||
|
|
||||||
SECTION "Domain Specific Functions", ROM0
|
SECTION "Domain Specific Functions", ROM0
|
||||||
|
ApplyTells::
|
||||||
|
ld a, TELLS_BASE_Y
|
||||||
|
ld [wSPRModeRNG], a
|
||||||
|
add a, TELLS_Y_DIST
|
||||||
|
ld [wSPRModeRot], a
|
||||||
|
add a, TELLS_Y_DIST
|
||||||
|
ld [wSPRModeDrop], a
|
||||||
|
add a, TELLS_Y_DIST
|
||||||
|
ld [wSPRModeHiG], a
|
||||||
|
|
||||||
|
ld a, TELLS_BASE_X
|
||||||
|
ld [wSPRModeRNG+1], a
|
||||||
|
ld [wSPRModeRot+1], a
|
||||||
|
ld [wSPRModeDrop+1], a
|
||||||
|
ld [wSPRModeHiG+1], a
|
||||||
|
|
||||||
|
ld a, [wRNGModeState]
|
||||||
|
add a, TILE_RNG_MODE_BASE
|
||||||
|
ld [wSPRModeRNG+2], a
|
||||||
|
|
||||||
|
ld a, [wRotModeState]
|
||||||
|
add a, TILE_ROT_MODE_BASE
|
||||||
|
ld [wSPRModeRot+2], a
|
||||||
|
|
||||||
|
ld a, [wDropModeState]
|
||||||
|
add a, TILE_DROP_MODE_BASE
|
||||||
|
ld [wSPRModeDrop+2], a
|
||||||
|
|
||||||
|
ld a, [wAlways20GState]
|
||||||
|
add a, TILE_HIG_MODE_BASE
|
||||||
|
ld [wSPRModeHiG+2], a
|
||||||
|
|
||||||
|
ld a, 1
|
||||||
|
ld [wSPRModeRNG+3], a
|
||||||
|
ld a, 3
|
||||||
|
ld [wSPRModeRot+3], a
|
||||||
|
ld a, 4
|
||||||
|
ld [wSPRModeDrop+3], a
|
||||||
|
ld a, 0
|
||||||
|
ld [wSPRModeHiG+3], a
|
||||||
|
ret
|
||||||
|
|
||||||
|
|
||||||
; Index of next piece in A.
|
; Index of next piece in A.
|
||||||
ApplyNext::
|
ApplyNext::
|
||||||
; Correct color
|
; Correct color
|
||||||
|
@ -105,11 +165,13 @@ ApplyNext::
|
||||||
|
|
||||||
; Correct tile
|
; Correct tile
|
||||||
add a, TILE_PIECE_0
|
add a, TILE_PIECE_0
|
||||||
|
add a, 7
|
||||||
ld [wSPRNext1+2], a
|
ld [wSPRNext1+2], a
|
||||||
ld [wSPRNext2+2], a
|
ld [wSPRNext2+2], a
|
||||||
ld [wSPRNext3+2], a
|
ld [wSPRNext3+2], a
|
||||||
ld [wSPRNext4+2], a
|
ld [wSPRNext4+2], a
|
||||||
sub a, TILE_PIECE_0
|
sub a, TILE_PIECE_0
|
||||||
|
sub a, 7
|
||||||
|
|
||||||
; X positions
|
; X positions
|
||||||
ld hl, sPieceXOffsets
|
ld hl, sPieceXOffsets
|
||||||
|
@ -176,6 +238,28 @@ ApplyHold::
|
||||||
ld [wSPRHold4+3], a
|
ld [wSPRHold4+3], a
|
||||||
|
|
||||||
; Correct tile
|
; Correct tile
|
||||||
|
ld b, a
|
||||||
|
ld a, [wInitialA]
|
||||||
|
cp a, $11
|
||||||
|
ld a, b
|
||||||
|
jr z, .show
|
||||||
|
ldh a, [hEvenFrame]
|
||||||
|
cp a, 0
|
||||||
|
ld a, b
|
||||||
|
jr z, .show
|
||||||
|
|
||||||
|
|
||||||
|
.hide
|
||||||
|
ld b, a
|
||||||
|
ld a, TILE_BLANK
|
||||||
|
ld [wSPRHold1+2], a
|
||||||
|
ld [wSPRHold2+2], a
|
||||||
|
ld [wSPRHold3+2], a
|
||||||
|
ld [wSPRHold4+2], a
|
||||||
|
ld a, b
|
||||||
|
jr .x
|
||||||
|
|
||||||
|
.show
|
||||||
add a, TILE_PIECE_0
|
add a, TILE_PIECE_0
|
||||||
ld [wSPRHold1+2], a
|
ld [wSPRHold1+2], a
|
||||||
ld [wSPRHold2+2], a
|
ld [wSPRHold2+2], a
|
||||||
|
@ -184,6 +268,7 @@ ApplyHold::
|
||||||
sub a, TILE_PIECE_0
|
sub a, TILE_PIECE_0
|
||||||
|
|
||||||
; X positions
|
; X positions
|
||||||
|
.x
|
||||||
ld hl, sPieceXOffsets
|
ld hl, sPieceXOffsets
|
||||||
ld de, sPieceYOffsets
|
ld de, sPieceYOffsets
|
||||||
cp 0
|
cp 0
|
||||||
|
|
140
src/sram.asm
140
src/sram.asm
|
@ -23,7 +23,6 @@ INCLUDE "globals.asm"
|
||||||
|
|
||||||
|
|
||||||
SECTION "Persistent Globals", SRAM
|
SECTION "Persistent Globals", SRAM
|
||||||
rMagic:: ds 4
|
|
||||||
rCheck:: ds 6
|
rCheck:: ds 6
|
||||||
rSwapABState:: ds 1
|
rSwapABState:: ds 1
|
||||||
rRNGModeState:: ds 1
|
rRNGModeState:: ds 1
|
||||||
|
@ -35,16 +34,61 @@ rSelectedStartLevel:: ds 2
|
||||||
|
|
||||||
|
|
||||||
SECTION "SRAM Functions", ROM0
|
SECTION "SRAM Functions", ROM0
|
||||||
|
RestoreSRAM::
|
||||||
|
; Check if our SRAM is initialized and of the correct version.
|
||||||
|
ld a, [rCheck]
|
||||||
|
cp a, LOW(__UTC_YEAR__)
|
||||||
|
jr nz, InitializeSRAM
|
||||||
|
ld a, [rCheck+1]
|
||||||
|
cp a, __UTC_MONTH__
|
||||||
|
jr nz, InitializeSRAM
|
||||||
|
ld a, [rCheck+2]
|
||||||
|
cp a, __UTC_DAY__
|
||||||
|
jr nz, InitializeSRAM
|
||||||
|
ld a, [rCheck+3]
|
||||||
|
cp a, __UTC_HOUR__
|
||||||
|
jr nz, InitializeSRAM
|
||||||
|
ld a, [rCheck+4]
|
||||||
|
cp a, __UTC_MINUTE__
|
||||||
|
jr nz, InitializeSRAM
|
||||||
|
ld a, [rCheck+5]
|
||||||
|
cp a, __UTC_SECOND__
|
||||||
|
jr nz, InitializeSRAM
|
||||||
|
|
||||||
|
; SRAM is initialized and for this build, so we can load the data.
|
||||||
|
ld a, [rSwapABState]
|
||||||
|
ld [wSwapABState], a
|
||||||
|
ld a, [rRNGModeState]
|
||||||
|
ld [wRNGModeState], a
|
||||||
|
ld a, [rRotModeState]
|
||||||
|
ld [wRotModeState], a
|
||||||
|
ld a, [rDropModeState]
|
||||||
|
ld [wDropModeState], a
|
||||||
|
ld a, [rSpeedCurveState]
|
||||||
|
ld [wSpeedCurveState], a
|
||||||
|
ld a, [rAlways20GState]
|
||||||
|
ld [wAlways20GState], a
|
||||||
|
|
||||||
|
ld a, [rSelectedStartLevel]
|
||||||
|
ldh [hStartSpeed], a
|
||||||
|
ld a, [rSelectedStartLevel+1]
|
||||||
|
ldh [hStartSpeed+1], a
|
||||||
|
ret
|
||||||
|
|
||||||
InitializeSRAM:
|
InitializeSRAM:
|
||||||
; Set the magic id.
|
; Set the magic id.
|
||||||
ld a, SAVE_MAGIC_0
|
ld a, LOW(__UTC_YEAR__)
|
||||||
ld [rMagic], a
|
ld [rCheck], a
|
||||||
ld a, SAVE_MAGIC_1
|
ld a, __UTC_MONTH__
|
||||||
ld [rMagic+1], a
|
ld [rCheck+1], a
|
||||||
ld a, SAVE_MAGIC_2
|
ld a, __UTC_DAY__
|
||||||
ld [rMagic+2], a
|
ld [rCheck+2], a
|
||||||
ld a, SAVE_MAGIC_3
|
ld a, __UTC_HOUR__
|
||||||
ld [rMagic+3], a
|
ld [rCheck+3], a
|
||||||
|
ld a, __UTC_MINUTE__
|
||||||
|
ld [rCheck+4], a
|
||||||
|
ld a, __UTC_SECOND__
|
||||||
|
ld [rCheck+5], a
|
||||||
|
|
||||||
; Load defaults.
|
; Load defaults.
|
||||||
ld a, BUTTON_MODE_NORM
|
ld a, BUTTON_MODE_NORM
|
||||||
|
@ -70,26 +114,9 @@ InitializeSRAM:
|
||||||
ld a, HIG_MODE_OFF
|
ld a, HIG_MODE_OFF
|
||||||
ld [rAlways20GState], a
|
ld [rAlways20GState], a
|
||||||
ld [wAlways20GState], a
|
ld [wAlways20GState], a
|
||||||
; Falls through to the next label!
|
|
||||||
|
|
||||||
|
|
||||||
PartiallyInitializeSRAM:
|
|
||||||
; Save build data.
|
|
||||||
ld a, LOW(__UTC_YEAR__)
|
|
||||||
ld [rCheck], a
|
|
||||||
ld a, __UTC_MONTH__
|
|
||||||
ld [rCheck+1], a
|
|
||||||
ld a, __UTC_DAY__
|
|
||||||
ld [rCheck+2], a
|
|
||||||
ld a, __UTC_HOUR__
|
|
||||||
ld [rCheck+3], a
|
|
||||||
ld a, __UTC_MINUTE__
|
|
||||||
ld [rCheck+4], a
|
|
||||||
ld a, __UTC_SECOND__
|
|
||||||
ld [rCheck+5], a
|
|
||||||
|
|
||||||
; Set to the default start level.
|
; Set to the default start level.
|
||||||
ld hl, sSpeedCurve
|
ld hl, sDMGTSpeedCurve
|
||||||
ld a, l
|
ld a, l
|
||||||
ldh [hStartSpeed], a
|
ldh [hStartSpeed], a
|
||||||
ld [rSelectedStartLevel], a
|
ld [rSelectedStartLevel], a
|
||||||
|
@ -98,63 +125,4 @@ PartiallyInitializeSRAM:
|
||||||
ld [rSelectedStartLevel+1], a
|
ld [rSelectedStartLevel+1], a
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
|
||||||
RestoreSRAM::
|
|
||||||
; Check if our SRAM is initialized at all.
|
|
||||||
; If not, we load all the defaults.
|
|
||||||
ld a, [rMagic]
|
|
||||||
cp a, SAVE_MAGIC_0
|
|
||||||
jr nz, InitializeSRAM
|
|
||||||
ld a, [rMagic+1]
|
|
||||||
cp a, SAVE_MAGIC_1
|
|
||||||
jr nz, InitializeSRAM
|
|
||||||
ld a, [rMagic+2]
|
|
||||||
cp a, SAVE_MAGIC_2
|
|
||||||
jp nz, InitializeSRAM
|
|
||||||
ld a, [rMagic+3]
|
|
||||||
cp a, SAVE_MAGIC_3
|
|
||||||
jp nz, InitializeSRAM
|
|
||||||
|
|
||||||
; If SRAM is initialized, we still need to check if it's for this exact build.
|
|
||||||
; If not, wipe data that is no longer valid.
|
|
||||||
ld a, [rCheck]
|
|
||||||
cp a, LOW(__UTC_YEAR__)
|
|
||||||
jr nz, PartiallyInitializeSRAM
|
|
||||||
ld a, [rCheck+1]
|
|
||||||
cp a, __UTC_MONTH__
|
|
||||||
jr nz, PartiallyInitializeSRAM
|
|
||||||
ld a, [rCheck+2]
|
|
||||||
cp a, __UTC_DAY__
|
|
||||||
jr nz, PartiallyInitializeSRAM
|
|
||||||
ld a, [rCheck+3]
|
|
||||||
cp a, __UTC_HOUR__
|
|
||||||
jr nz, PartiallyInitializeSRAM
|
|
||||||
ld a, [rCheck+4]
|
|
||||||
cp a, __UTC_MINUTE__
|
|
||||||
jr nz, PartiallyInitializeSRAM
|
|
||||||
ld a, [rCheck+5]
|
|
||||||
cp a, __UTC_SECOND__
|
|
||||||
jr nz, PartiallyInitializeSRAM
|
|
||||||
|
|
||||||
; SRAM is initialized and for this build, so we can load the data.
|
|
||||||
ld a, [rSwapABState]
|
|
||||||
ld [wSwapABState], a
|
|
||||||
ld a, [rRNGModeState]
|
|
||||||
ld [wRNGModeState], a
|
|
||||||
ld a, [rRotModeState]
|
|
||||||
ld [wRotModeState], a
|
|
||||||
ld a, [rDropModeState]
|
|
||||||
ld [wDropModeState], a
|
|
||||||
ld a, [rSpeedCurveState]
|
|
||||||
ld [wSpeedCurveState], a
|
|
||||||
ld a, [rAlways20GState]
|
|
||||||
ld [wAlways20GState], a
|
|
||||||
|
|
||||||
ld a, [rSelectedStartLevel]
|
|
||||||
ldh [hStartSpeed], a
|
|
||||||
ld a, [rSelectedStartLevel+1]
|
|
||||||
ldh [hStartSpeed+1], a
|
|
||||||
ret
|
|
||||||
|
|
||||||
|
|
||||||
ENDC
|
ENDC
|
||||||
|
|
|
@ -63,27 +63,10 @@ SwitchToGameplay::
|
||||||
ld bc, GameplayTilemapEnd - GameplayTilemap
|
ld bc, GameplayTilemapEnd - GameplayTilemap
|
||||||
call UnsafeMemCopy
|
call UnsafeMemCopy
|
||||||
|
|
||||||
; Place a tell on the screen for modes.
|
|
||||||
ld hl, FIELD_RNG
|
|
||||||
ld a, [wRNGModeState]
|
|
||||||
add a, TILE_RNG_MODE_BASE
|
|
||||||
ld [hl], a
|
|
||||||
ld hl, FIELD_ROT
|
|
||||||
ld a, [wRotModeState]
|
|
||||||
add a, TILE_ROT_MODE_BASE
|
|
||||||
ld [hl], a
|
|
||||||
ld hl, FIELD_DROP
|
|
||||||
ld a, [wDropModeState]
|
|
||||||
add a, TILE_DROP_MODE_BASE
|
|
||||||
ld [hl], a
|
|
||||||
ld hl, FIELD_HIG
|
|
||||||
ld a, [wAlways20GState]
|
|
||||||
add a, TILE_HIG_MODE_BASE
|
|
||||||
ld [hl], a
|
|
||||||
|
|
||||||
; Clear OAM.
|
; Clear OAM.
|
||||||
call ClearOAM
|
call ClearOAM
|
||||||
call SetNumberSpritePositions
|
call SetNumberSpritePositions
|
||||||
|
call ApplyTells
|
||||||
|
|
||||||
; Set up the palettes.
|
; Set up the palettes.
|
||||||
ld a, PALETTE_REGULAR
|
ld a, PALETTE_REGULAR
|
||||||
|
@ -473,6 +456,32 @@ preGameOverMode:
|
||||||
ld [hl+], a
|
ld [hl+], a
|
||||||
.skip7\@
|
.skip7\@
|
||||||
ENDR
|
ENDR
|
||||||
|
|
||||||
|
; Place a tell on the screen for modes.
|
||||||
|
ld hl, FIELD_RNG
|
||||||
|
wait_vram
|
||||||
|
ld a, [wRNGModeState]
|
||||||
|
add a, TILE_RNG_MODE_BASE
|
||||||
|
ld [hl], a
|
||||||
|
|
||||||
|
ld hl, FIELD_ROT
|
||||||
|
wait_vram
|
||||||
|
ld a, [wRotModeState]
|
||||||
|
add a, TILE_ROT_MODE_BASE
|
||||||
|
ld [hl], a
|
||||||
|
|
||||||
|
ld hl, FIELD_DROP
|
||||||
|
wait_vram
|
||||||
|
ld a, [wDropModeState]
|
||||||
|
add a, TILE_DROP_MODE_BASE
|
||||||
|
ld [hl], a
|
||||||
|
|
||||||
|
ld hl, FIELD_HIG
|
||||||
|
wait_vram
|
||||||
|
ld a, [wAlways20GState]
|
||||||
|
add a, TILE_HIG_MODE_BASE
|
||||||
|
ld [hl], a
|
||||||
|
|
||||||
ld a, MODE_GAME_OVER
|
ld a, MODE_GAME_OVER
|
||||||
ldh [hMode], a
|
ldh [hMode], a
|
||||||
|
|
||||||
|
|
|
@ -313,7 +313,7 @@ DecrementLevel:
|
||||||
ld l, a
|
ld l, a
|
||||||
ldh a, [hStartSpeed+1]
|
ldh a, [hStartSpeed+1]
|
||||||
ld h, a
|
ld h, a
|
||||||
ld bc, -12
|
ld bc, -SCURVE_ENTRY_SIZE
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, l
|
ld a, l
|
||||||
ldh [hStartSpeed], a
|
ldh [hStartSpeed], a
|
||||||
|
@ -428,7 +428,7 @@ IncrementLevel:
|
||||||
ld l, a
|
ld l, a
|
||||||
ldh a, [hStartSpeed+1]
|
ldh a, [hStartSpeed+1]
|
||||||
ld h, a
|
ld h, a
|
||||||
ld bc, 12
|
ld bc, SCURVE_ENTRY_SIZE
|
||||||
add hl, bc
|
add hl, bc
|
||||||
ld a, l
|
ld a, l
|
||||||
ldh [hStartSpeed], a
|
ldh [hStartSpeed], a
|
||||||
|
@ -457,7 +457,7 @@ GetEnd:
|
||||||
ld a, [wSpeedCurveState]
|
ld a, [wSpeedCurveState]
|
||||||
cp a, SCURVE_DMGT
|
cp a, SCURVE_DMGT
|
||||||
jr nz, :+
|
jr nz, :+
|
||||||
ld bc, sSpeedCurveEnd
|
ld bc, sDMGTSpeedCurveEnd
|
||||||
ret
|
ret
|
||||||
: cp a, SCURVE_TGM1
|
: cp a, SCURVE_TGM1
|
||||||
jr nz, :+
|
jr nz, :+
|
||||||
|
@ -482,7 +482,7 @@ GetStart:
|
||||||
ld a, [wSpeedCurveState]
|
ld a, [wSpeedCurveState]
|
||||||
cp a, SCURVE_DMGT
|
cp a, SCURVE_DMGT
|
||||||
jr nz, :+
|
jr nz, :+
|
||||||
ld hl, sSpeedCurve
|
ld hl, sDMGTSpeedCurve
|
||||||
ret
|
ret
|
||||||
: cp a, SCURVE_TGM1
|
: cp a, SCURVE_TGM1
|
||||||
jr nz, :+
|
jr nz, :+
|
||||||
|
@ -521,7 +521,7 @@ CheckLevelRange:
|
||||||
ldh [hStartSpeed+1], a
|
ldh [hStartSpeed+1], a
|
||||||
|
|
||||||
.notatend
|
.notatend
|
||||||
ld de, -12
|
ld de, -SCURVE_ENTRY_SIZE
|
||||||
|
|
||||||
call GetStart
|
call GetStart
|
||||||
add hl, de
|
add hl, de
|
||||||
|
|
Loading…
Reference in New Issue