Release.
This commit is contained in:
		
							parent
							
								
									f46488e19d
								
							
						
					
					
						commit
						a4f41eee1f
					
				
							
								
								
									
										
											BIN
										
									
								
								DMGTRIS.GBC
								
								
								
								
							
							
						
						
									
										
											BIN
										
									
								
								DMGTRIS.GBC
								
								
								
								
							
										
											Binary file not shown.
										
									
								
							| 
						 | 
					@ -35,7 +35,7 @@ Select the rotation rules:
 | 
				
			||||||
Select whether up performs a sonic drop, a hard drop, or nothing at all.
 | 
					Select whether up performs a sonic drop, a hard drop, or nothing at all.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Speed Curve
 | 
					### Speed Curve
 | 
				
			||||||
Check back later! For now you're stuck with the default.
 | 
					Select between several speed curves including the DMGTRIS default speed curve, TGM1, 2, and 3, as well as DEATH and SHIRASE mode. Note that all modes use the same scoring and they are all infinite.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Always 20G
 | 
					### Always 20G
 | 
				
			||||||
Whether you want instant-drop gravity to be active at any level.
 | 
					Whether you want instant-drop gravity to be active at any level.
 | 
				
			||||||
| 
						 | 
					@ -51,7 +51,7 @@ After each piece is dropped, a check is made:
 | 
				
			||||||
Combo is reset to 1 and no points are awarded.
 | 
					Combo is reset to 1 and no points are awarded.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
### Lines were cleared
 | 
					### Lines were cleared
 | 
				
			||||||
Lines = Lines cleared. In TGM3 modes, 3 lines are worth 4, and 4 lines are worth 6.
 | 
					Lines = Lines cleared.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
Level = The level before the lines were cleared.
 | 
					Level = The level before the lines were cleared.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -102,11 +102,6 @@ The game can be built using gnu make and the RGBDS toolchain.
 | 
				
			||||||
- In very rare cases the frame time in TGM3 and TGW3 modes can be exceeded due to the way the RNG for those modes works. When this happens, the screen will appear slightly glitched for 1 frame but no frame drops will occur. This issues is fundamentally impossible to completely avoid though more optimization may cause it to occur less frequently.
 | 
					- In very rare cases the frame time in TGM3 and TGW3 modes can be exceeded due to the way the RNG for those modes works. When this happens, the screen will appear slightly glitched for 1 frame but no frame drops will occur. This issues is fundamentally impossible to completely avoid though more optimization may cause it to occur less frequently.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
## Future Goals
 | 
					 | 
				
			||||||
- Implement better sound engine.
 | 
					 | 
				
			||||||
- Add more speed curves.
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
## License
 | 
					## License
 | 
				
			||||||
Copyright (C) 2023 - Randy Thiemann <randy.thiemann@gmail.com>
 | 
					Copyright (C) 2023 - Randy Thiemann <randy.thiemann@gmail.com>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -71,24 +71,6 @@ sGo::        db "    GO    "
 | 
				
			||||||
sPause::
 | 
					sPause::
 | 
				
			||||||
    db "P A U S E "
 | 
					    db "P A U S E "
 | 
				
			||||||
    db " P A U S E"
 | 
					    db " P A U S E"
 | 
				
			||||||
    db "P A U S E "
 | 
					 | 
				
			||||||
    db " P A U S E"
 | 
					 | 
				
			||||||
    db "P A U S E "
 | 
					 | 
				
			||||||
    db " P A U S E"
 | 
					 | 
				
			||||||
    db "P A U S E "
 | 
					 | 
				
			||||||
    db " P A U S E"
 | 
					 | 
				
			||||||
    db "P A U S E "
 | 
					 | 
				
			||||||
    db " P A U S E"
 | 
					 | 
				
			||||||
    db "P A U S E "
 | 
					 | 
				
			||||||
    db " P A U S E"
 | 
					 | 
				
			||||||
    db "P A U S E "
 | 
					 | 
				
			||||||
    db " P A U S E"
 | 
					 | 
				
			||||||
    db "P A U S E "
 | 
					 | 
				
			||||||
    db " P A U S E"
 | 
					 | 
				
			||||||
    db "P A U S E "
 | 
					 | 
				
			||||||
    db " P A U S E"
 | 
					 | 
				
			||||||
    db "P A U S E "
 | 
					 | 
				
			||||||
    db " P A U S E"
 | 
					 | 
				
			||||||
sOption0::
 | 
					sOption0::
 | 
				
			||||||
    db "NORM"
 | 
					    db "NORM"
 | 
				
			||||||
    db " INV"
 | 
					    db " INV"
 | 
				
			||||||
| 
						 | 
					@ -108,6 +90,8 @@ sOption3::
 | 
				
			||||||
sOption4::
 | 
					sOption4::
 | 
				
			||||||
    db "DMGT"
 | 
					    db "DMGT"
 | 
				
			||||||
    db "TGM1"
 | 
					    db "TGM1"
 | 
				
			||||||
 | 
					    db "TGM2"
 | 
				
			||||||
 | 
					    db "TGM3"
 | 
				
			||||||
    db "DEAT"
 | 
					    db "DEAT"
 | 
				
			||||||
    db "SHIR"
 | 
					    db "SHIR"
 | 
				
			||||||
sOption5::
 | 
					sOption5::
 | 
				
			||||||
| 
						 | 
					@ -231,6 +215,236 @@ sTGM1SpeedCurve::
 | 
				
			||||||
sTGM1SpeedCurveEnd::
 | 
					sTGM1SpeedCurveEnd::
 | 
				
			||||||
    dw $FFFF
 | 
					    dw $FFFF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sTGM2SpeedCurve::
 | 
				
			||||||
 | 
					    dw $0000, 0, $0100
 | 
				
			||||||
 | 
					    db 1, 64
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0030, 30, $0100
 | 
				
			||||||
 | 
					    db 1, 42
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0035, 35, $0100
 | 
				
			||||||
 | 
					    db 1, 32
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0040, 40, $0100
 | 
				
			||||||
 | 
					    db 1, 25
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0060, 60, $0100
 | 
				
			||||||
 | 
					    db 1, 16
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0070, 70, $0100
 | 
				
			||||||
 | 
					    db 1, 8
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0080, 80, $0100
 | 
				
			||||||
 | 
					    db 1, 5
 | 
				
			||||||
 | 
					    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
 | 
				
			||||||
 | 
					    db 1, 64
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0220, 220, $0300
 | 
				
			||||||
 | 
					    db 1, 8
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0230, 230, $0300
 | 
				
			||||||
 | 
					    db 1, 4
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0233, 233, $0300
 | 
				
			||||||
 | 
					    db 1, 3
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0236, 236, $0300
 | 
				
			||||||
 | 
					    db 1, 2
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0251, 251, $0300
 | 
				
			||||||
 | 
					    db 1, 1
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0300, 300, $0400
 | 
				
			||||||
 | 
					    db 2, 1
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0330, 330, $0400
 | 
				
			||||||
 | 
					    db 3, 1
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0360, 360, $0400
 | 
				
			||||||
 | 
					    db 4, 1
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0400, 400, $0500
 | 
				
			||||||
 | 
					    db 5, 1
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0420, 420, $0500
 | 
				
			||||||
 | 
					    db 4, 1
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0450, 450, $0500
 | 
				
			||||||
 | 
					    db 3, 1
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0500, 500, $0600
 | 
				
			||||||
 | 
					    db 20, 1
 | 
				
			||||||
 | 
					    db 27, 10, 30, 25
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0601, 601, $0700
 | 
				
			||||||
 | 
					    db 20, 1
 | 
				
			||||||
 | 
					    db 27, 10, 30, 7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0701, 701, $0800
 | 
				
			||||||
 | 
					    db 20, 1
 | 
				
			||||||
 | 
					    db 18, 10, 30, 7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0801, 801, $0900
 | 
				
			||||||
 | 
					    db 20, 1
 | 
				
			||||||
 | 
					    db 14, 10, 30, 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0901, 901, $1000
 | 
				
			||||||
 | 
					    db 20, 1
 | 
				
			||||||
 | 
					    db 14, 6, 18, 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sTGM2SpeedCurveEnd::
 | 
				
			||||||
 | 
					    dw $FFFF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sTGM3SpeedCurve::
 | 
				
			||||||
 | 
					    dw $0000, 0, $0100
 | 
				
			||||||
 | 
					    db 1, 64
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0030, 30, $0100
 | 
				
			||||||
 | 
					    db 1, 42
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0035, 35, $0100
 | 
				
			||||||
 | 
					    db 1, 32
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0040, 40, $0100
 | 
				
			||||||
 | 
					    db 1, 25
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0060, 60, $0100
 | 
				
			||||||
 | 
					    db 1, 16
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0070, 70, $0100
 | 
				
			||||||
 | 
					    db 1, 8
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0080, 80, $0100
 | 
				
			||||||
 | 
					    db 1, 5
 | 
				
			||||||
 | 
					    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
 | 
				
			||||||
 | 
					    db 1, 64
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0220, 220, $0300
 | 
				
			||||||
 | 
					    db 1, 8
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0230, 230, $0300
 | 
				
			||||||
 | 
					    db 1, 4
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0233, 233, $0300
 | 
				
			||||||
 | 
					    db 1, 3
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0236, 236, $0300
 | 
				
			||||||
 | 
					    db 1, 2
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0251, 251, $0300
 | 
				
			||||||
 | 
					    db 1, 1
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0300, 300, $0400
 | 
				
			||||||
 | 
					    db 2, 1
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0330, 330, $0400
 | 
				
			||||||
 | 
					    db 3, 1
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0360, 360, $0400
 | 
				
			||||||
 | 
					    db 4, 1
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0400, 400, $0500
 | 
				
			||||||
 | 
					    db 5, 1
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0420, 420, $0500
 | 
				
			||||||
 | 
					    db 4, 1
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0450, 450, $0500
 | 
				
			||||||
 | 
					    db 3, 1
 | 
				
			||||||
 | 
					    db 27, 16, 30, 40
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0500, 500, $0600
 | 
				
			||||||
 | 
					    db 20, 1
 | 
				
			||||||
 | 
					    db 27, 10, 30, 25
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0600, 600, $0700
 | 
				
			||||||
 | 
					    db 20, 1
 | 
				
			||||||
 | 
					    db 27, 10, 30, 7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0700, 700, $0800
 | 
				
			||||||
 | 
					    db 20, 1
 | 
				
			||||||
 | 
					    db 18, 10, 30, 7
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0800, 800, $0900
 | 
				
			||||||
 | 
					    db 20, 1
 | 
				
			||||||
 | 
					    db 14, 10, 30, 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $0900, 900, $1000
 | 
				
			||||||
 | 
					    db 20, 1
 | 
				
			||||||
 | 
					    db 14, 8, 18, 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $1000, 1000, $1100
 | 
				
			||||||
 | 
					    db 20, 1
 | 
				
			||||||
 | 
					    db 8, 8, 18, 6
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $1100, 1000, $1200
 | 
				
			||||||
 | 
					    db 20, 1
 | 
				
			||||||
 | 
					    db 7, 8, 14, 6
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    dw $1200, 1000, $1300
 | 
				
			||||||
 | 
					    db 20, 1
 | 
				
			||||||
 | 
					    db 6, 8, 14, 6
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					sTGM3SpeedCurveEnd::
 | 
				
			||||||
 | 
					    dw $FFFF
 | 
				
			||||||
 | 
					
 | 
				
			||||||
sDEATSpeedCurve::
 | 
					sDEATSpeedCurve::
 | 
				
			||||||
    dw $0000, 0, $0100
 | 
					    dw $0000, 0, $0100
 | 
				
			||||||
    db 20, 1
 | 
					    db 20, 1
 | 
				
			||||||
| 
						 | 
					@ -238,11 +452,11 @@ sDEATSpeedCurve::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dw $0100, 0, $0200
 | 
					    dw $0100, 0, $0200
 | 
				
			||||||
    db 20, 1
 | 
					    db 20, 1
 | 
				
			||||||
    db 14, 12, 25, 6
 | 
					    db 14, 12, 25, 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dw $0200, 0, $0300
 | 
					    dw $0200, 0, $0300
 | 
				
			||||||
    db 20, 1
 | 
					    db 20, 1
 | 
				
			||||||
    db 14, 11, 20, 6
 | 
					    db 14, 11, 20, 1
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    dw $0300, 0, $0400
 | 
					    dw $0300, 0, $0400
 | 
				
			||||||
    db 20, 1
 | 
					    db 20, 1
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1821,27 +1821,6 @@ FieldDelay::
 | 
				
			||||||
    jr nz, :-
 | 
					    jr nz, :-
 | 
				
			||||||
    ldh [hBravo], a
 | 
					    ldh [hBravo], a
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ; Check if we are in a TGM3 mode and thus need to handle line counts of 3 and 4 differently.
 | 
					 | 
				
			||||||
    ldh a, [hLineClearCt]
 | 
					 | 
				
			||||||
    ld e, a
 | 
					 | 
				
			||||||
    ld a, [wRotModeState]
 | 
					 | 
				
			||||||
    cp a, ROT_MODE_ARSTI
 | 
					 | 
				
			||||||
    jr z, .modifylines
 | 
					 | 
				
			||||||
    jr .applylines
 | 
					 | 
				
			||||||
.modifylines
 | 
					 | 
				
			||||||
    ldh a, [hLineClearCt]
 | 
					 | 
				
			||||||
    cp a, 1
 | 
					 | 
				
			||||||
    jr z, .applylines
 | 
					 | 
				
			||||||
    cp a, 2
 | 
					 | 
				
			||||||
    jr z, .applylines
 | 
					 | 
				
			||||||
    cp a, 3
 | 
					 | 
				
			||||||
    jr z, .addone
 | 
					 | 
				
			||||||
    inc a
 | 
					 | 
				
			||||||
.addone
 | 
					 | 
				
			||||||
    inc a
 | 
					 | 
				
			||||||
    ld e, a
 | 
					 | 
				
			||||||
    ldh [hLineClearCt], a
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    ; Increment the level counter by the amount of lines.
 | 
					    ; Increment the level counter by the amount of lines.
 | 
				
			||||||
.applylines
 | 
					.applylines
 | 
				
			||||||
    call LevelUp
 | 
					    call LevelUp
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -173,9 +173,11 @@ DEF DROP_MODE_COUNT     EQU 3
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DEF SCURVE_DMGT         EQU 0
 | 
					DEF SCURVE_DMGT         EQU 0
 | 
				
			||||||
DEF SCURVE_TGM1         EQU 1
 | 
					DEF SCURVE_TGM1         EQU 1
 | 
				
			||||||
DEF SCURVE_DEAT         EQU 2
 | 
					DEF SCURVE_TGM2         EQU 2
 | 
				
			||||||
DEF SCURVE_SHIR         EQU 3
 | 
					DEF SCURVE_TGM3         EQU 3
 | 
				
			||||||
DEF SCURVE_COUNT        EQU 4
 | 
					DEF SCURVE_DEAT         EQU 4
 | 
				
			||||||
 | 
					DEF SCURVE_SHIR         EQU 5
 | 
				
			||||||
 | 
					DEF SCURVE_COUNT        EQU 6
 | 
				
			||||||
 | 
					
 | 
				
			||||||
DEF TILE_HIG_MODE_BASE  EQU 232
 | 
					DEF TILE_HIG_MODE_BASE  EQU 232
 | 
				
			||||||
DEF HIG_MODE_OFF        EQU 0
 | 
					DEF HIG_MODE_OFF        EQU 0
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -492,12 +492,12 @@ gameOverMode:
 | 
				
			||||||
    ldh [hMode], a
 | 
					    ldh [hMode], a
 | 
				
			||||||
    ld a, LEADY_TIME
 | 
					    ld a, LEADY_TIME
 | 
				
			||||||
    ldh [hModeCounter], a
 | 
					    ldh [hModeCounter], a
 | 
				
			||||||
    jr drawStaticInfo
 | 
					    jp drawStaticInfo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ; Quit
 | 
					    ; Quit
 | 
				
			||||||
:   ldh a, [hBState]
 | 
					:   ldh a, [hBState]
 | 
				
			||||||
    cp a, 1
 | 
					    cp a, 1
 | 
				
			||||||
    jr nz, drawStaticInfo
 | 
					    jp nz, drawStaticInfo
 | 
				
			||||||
    call SwitchToTitle
 | 
					    call SwitchToTitle
 | 
				
			||||||
    jp EventLoopPostHandler
 | 
					    jp EventLoopPostHandler
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -514,7 +514,43 @@ pauseMode:
 | 
				
			||||||
    ; Draw PAUSE all over the field.
 | 
					    ; Draw PAUSE all over the field.
 | 
				
			||||||
:   ld de, sPause
 | 
					:   ld de, sPause
 | 
				
			||||||
    ld hl, wField+(4*10)
 | 
					    ld hl, wField+(4*10)
 | 
				
			||||||
    ld bc, 200
 | 
					    ld bc, 20
 | 
				
			||||||
 | 
					    call UnsafeMemCopy
 | 
				
			||||||
 | 
					    ld de, sPause
 | 
				
			||||||
 | 
					    ld hl, wField+(6*10)
 | 
				
			||||||
 | 
					    ld bc, 20
 | 
				
			||||||
 | 
					    call UnsafeMemCopy
 | 
				
			||||||
 | 
					    ld de, sPause
 | 
				
			||||||
 | 
					    ld hl, wField+(8*10)
 | 
				
			||||||
 | 
					    ld bc, 20
 | 
				
			||||||
 | 
					    call UnsafeMemCopy
 | 
				
			||||||
 | 
					    ld de, sPause
 | 
				
			||||||
 | 
					    ld hl, wField+(10*10)
 | 
				
			||||||
 | 
					    ld bc, 20
 | 
				
			||||||
 | 
					    call UnsafeMemCopy
 | 
				
			||||||
 | 
					    ld de, sPause
 | 
				
			||||||
 | 
					    ld hl, wField+(12*10)
 | 
				
			||||||
 | 
					    ld bc, 20
 | 
				
			||||||
 | 
					    call UnsafeMemCopy
 | 
				
			||||||
 | 
					    ld de, sPause
 | 
				
			||||||
 | 
					    ld hl, wField+(14*10)
 | 
				
			||||||
 | 
					    ld bc, 20
 | 
				
			||||||
 | 
					    call UnsafeMemCopy
 | 
				
			||||||
 | 
					    ld de, sPause
 | 
				
			||||||
 | 
					    ld hl, wField+(16*10)
 | 
				
			||||||
 | 
					    ld bc, 20
 | 
				
			||||||
 | 
					    call UnsafeMemCopy
 | 
				
			||||||
 | 
					    ld de, sPause
 | 
				
			||||||
 | 
					    ld hl, wField+(18*10)
 | 
				
			||||||
 | 
					    ld bc, 20
 | 
				
			||||||
 | 
					    call UnsafeMemCopy
 | 
				
			||||||
 | 
					    ld de, sPause
 | 
				
			||||||
 | 
					    ld hl, wField+(20*10)
 | 
				
			||||||
 | 
					    ld bc, 20
 | 
				
			||||||
 | 
					    call UnsafeMemCopy
 | 
				
			||||||
 | 
					    ld de, sPause
 | 
				
			||||||
 | 
					    ld hl, wField+(22*10)
 | 
				
			||||||
 | 
					    ld bc, 20
 | 
				
			||||||
    call UnsafeMemCopy
 | 
					    call UnsafeMemCopy
 | 
				
			||||||
    jr drawStaticInfo
 | 
					    jr drawStaticInfo
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -416,23 +416,11 @@ IncrementLevel:
 | 
				
			||||||
    ldh [hStartSpeed], a
 | 
					    ldh [hStartSpeed], a
 | 
				
			||||||
    ld a, h
 | 
					    ld a, h
 | 
				
			||||||
    ldh [hStartSpeed+1], a
 | 
					    ldh [hStartSpeed+1], a
 | 
				
			||||||
    jr CheckLevelRange
 | 
					    jp CheckLevelRange
 | 
				
			||||||
 | 
					
 | 
				
			||||||
InitSpeedCurve:
 | 
					InitSpeedCurve:
 | 
				
			||||||
    ld a, [wSpeedCurveState]
 | 
					    ld a, [wSpeedCurveState]
 | 
				
			||||||
    cp a, 0
 | 
					    call GetStart
 | 
				
			||||||
    jr nz, :+
 | 
					 | 
				
			||||||
    ld hl, sSpeedCurve
 | 
					 | 
				
			||||||
    jr .set
 | 
					 | 
				
			||||||
:   cp a, 1
 | 
					 | 
				
			||||||
    jr nz, :+
 | 
					 | 
				
			||||||
    ld hl, sTGM1SpeedCurve
 | 
					 | 
				
			||||||
    jr .set
 | 
					 | 
				
			||||||
:   cp a, 2
 | 
					 | 
				
			||||||
    jr nz, :+
 | 
					 | 
				
			||||||
    ld hl, sDEATSpeedCurve
 | 
					 | 
				
			||||||
    jr .set
 | 
					 | 
				
			||||||
:   ld hl, sSHIRSpeedCurve
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
.set
 | 
					.set
 | 
				
			||||||
    ld a, l
 | 
					    ld a, l
 | 
				
			||||||
| 
						 | 
					@ -445,15 +433,23 @@ InitSpeedCurve:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GetEnd:
 | 
					GetEnd:
 | 
				
			||||||
    ld a, [wSpeedCurveState]
 | 
					    ld a, [wSpeedCurveState]
 | 
				
			||||||
    cp a, 0
 | 
					    cp a, SCURVE_DMGT
 | 
				
			||||||
    jr nz, :+
 | 
					    jr nz, :+
 | 
				
			||||||
    ld bc, sSpeedCurveEnd
 | 
					    ld bc, sSpeedCurveEnd
 | 
				
			||||||
    ret
 | 
					    ret
 | 
				
			||||||
:   cp a, 1
 | 
					:   cp a, SCURVE_TGM1
 | 
				
			||||||
    jr nz, :+
 | 
					    jr nz, :+
 | 
				
			||||||
    ld bc, sTGM1SpeedCurveEnd
 | 
					    ld bc, sTGM1SpeedCurveEnd
 | 
				
			||||||
    ret
 | 
					    ret
 | 
				
			||||||
:   cp a, 2
 | 
					:   cp a, SCURVE_TGM2
 | 
				
			||||||
 | 
					    jr nz, :+
 | 
				
			||||||
 | 
					    ld bc, sTGM2SpeedCurveEnd
 | 
				
			||||||
 | 
					    ret
 | 
				
			||||||
 | 
					:   cp a, SCURVE_TGM3
 | 
				
			||||||
 | 
					    jr nz, :+
 | 
				
			||||||
 | 
					    ld bc, sTGM3SpeedCurveEnd
 | 
				
			||||||
 | 
					    ret
 | 
				
			||||||
 | 
					:   cp a, SCURVE_DEAT
 | 
				
			||||||
    jr nz, :+
 | 
					    jr nz, :+
 | 
				
			||||||
    ld bc, sDEATSpeedCurveEnd
 | 
					    ld bc, sDEATSpeedCurveEnd
 | 
				
			||||||
    ret
 | 
					    ret
 | 
				
			||||||
| 
						 | 
					@ -462,15 +458,23 @@ GetEnd:
 | 
				
			||||||
 | 
					
 | 
				
			||||||
GetStart:
 | 
					GetStart:
 | 
				
			||||||
    ld a, [wSpeedCurveState]
 | 
					    ld a, [wSpeedCurveState]
 | 
				
			||||||
    cp a, 0
 | 
					    cp a, SCURVE_DMGT
 | 
				
			||||||
    jr nz, :+
 | 
					    jr nz, :+
 | 
				
			||||||
    ld hl, sSpeedCurve
 | 
					    ld hl, sSpeedCurve
 | 
				
			||||||
    ret
 | 
					    ret
 | 
				
			||||||
:   cp a, 1
 | 
					:   cp a, SCURVE_TGM1
 | 
				
			||||||
    jr nz, :+
 | 
					    jr nz, :+
 | 
				
			||||||
    ld hl, sTGM1SpeedCurve
 | 
					    ld hl, sTGM1SpeedCurve
 | 
				
			||||||
    ret
 | 
					    ret
 | 
				
			||||||
:   cp a, 2
 | 
					:   cp a, SCURVE_TGM2
 | 
				
			||||||
 | 
					    jr nz, :+
 | 
				
			||||||
 | 
					    ld hl, sTGM2SpeedCurve
 | 
				
			||||||
 | 
					    ret
 | 
				
			||||||
 | 
					:   cp a, SCURVE_TGM3
 | 
				
			||||||
 | 
					    jr nz, :+
 | 
				
			||||||
 | 
					    ld hl, sTGM2SpeedCurve
 | 
				
			||||||
 | 
					    ret
 | 
				
			||||||
 | 
					:   cp a, SCURVE_DEAT
 | 
				
			||||||
    jr nz, :+
 | 
					    jr nz, :+
 | 
				
			||||||
    ld hl, sDEATSpeedCurve
 | 
					    ld hl, sDEATSpeedCurve
 | 
				
			||||||
    ret
 | 
					    ret
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue