Prevent double lock.
This commit is contained in:
		
							parent
							
								
									f7647fe183
								
							
						
					
					
						commit
						93e6d7946f
					
				
							
								
								
									
										
											BIN
										
									
								
								DMGTRIS.GBC
								
								
								
								
							
							
						
						
									
										
											BIN
										
									
								
								DMGTRIS.GBC
								
								
								
								
							
										
											Binary file not shown.
										
									
								
							| 
						 | 
					@ -1348,6 +1348,13 @@ FieldProcess::
 | 
				
			||||||
    ldh a, [hDownState]
 | 
					    ldh a, [hDownState]
 | 
				
			||||||
    cp a, 0
 | 
					    cp a, 0
 | 
				
			||||||
    jr z, .dontforcelock
 | 
					    jr z, .dontforcelock
 | 
				
			||||||
 | 
					    ldh a, [hCurrentGravityPerTick]
 | 
				
			||||||
 | 
					    cp a, 20
 | 
				
			||||||
 | 
					    jr nz, .forcelock
 | 
				
			||||||
 | 
					    ldh a, [hDownState]
 | 
				
			||||||
 | 
					    cp a, 1
 | 
				
			||||||
 | 
					    jr nz, .dontforcelock
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ; Set the lock delay to 0 and save it.
 | 
					    ; Set the lock delay to 0 and save it.
 | 
				
			||||||
.forcelock
 | 
					.forcelock
 | 
				
			||||||
| 
						 | 
					@ -1396,16 +1403,20 @@ FieldProcess::
 | 
				
			||||||
    ; If the piece is locked, skip the ghost piece.
 | 
					    ; If the piece is locked, skip the ghost piece.
 | 
				
			||||||
    ldh a, [hCurrentLockDelayRemaining]
 | 
					    ldh a, [hCurrentLockDelayRemaining]
 | 
				
			||||||
    cp a, 0
 | 
					    cp a, 0
 | 
				
			||||||
    jr z, :+
 | 
					    jr z, .postghost
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ; If the gravity is <= 1G, draw a ghost piece.
 | 
					    ; If the gravity is <= 1G, draw a ghost piece.
 | 
				
			||||||
    ldh a, [hWantedG]
 | 
					    ldh a, [hWantedG]
 | 
				
			||||||
    cp a, 1
 | 
					    cp a, 1
 | 
				
			||||||
    jr nz, :+
 | 
					    jr nz, .postghost
 | 
				
			||||||
 | 
					    ld a, [wInitialA]
 | 
				
			||||||
 | 
					    cp a, $11
 | 
				
			||||||
 | 
					    jr z, .ghost
 | 
				
			||||||
    ldh a, [hEvenFrame]
 | 
					    ldh a, [hEvenFrame]
 | 
				
			||||||
    cp a, 1
 | 
					    cp a, 1
 | 
				
			||||||
    jr nz, :+
 | 
					    jr nz, :+
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					.ghost
 | 
				
			||||||
    ldh a, [hYPosAtStartOfFrame]
 | 
					    ldh a, [hYPosAtStartOfFrame]
 | 
				
			||||||
    ld b, a
 | 
					    ld b, a
 | 
				
			||||||
    ldh a, [hActualG]
 | 
					    ldh a, [hActualG]
 | 
				
			||||||
| 
						 | 
					@ -1425,7 +1436,8 @@ FieldProcess::
 | 
				
			||||||
    call DrawPiece
 | 
					    call DrawPiece
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ; If the lock delay is at the highest value, draw the piece normally.
 | 
					    ; If the lock delay is at the highest value, draw the piece normally.
 | 
				
			||||||
:   ldh a, [hCurrentPiece]
 | 
					.postghost
 | 
				
			||||||
 | 
					    ldh a, [hCurrentPiece]
 | 
				
			||||||
    ld b, TILE_PIECE_0
 | 
					    ld b, TILE_PIECE_0
 | 
				
			||||||
    add a, b
 | 
					    add a, b
 | 
				
			||||||
    ldh [hWantedTile], a
 | 
					    ldh [hWantedTile], a
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
							
								
								
									
										35
									
								
								src/gbc.asm
								
								
								
								
							
							
						
						
									
										35
									
								
								src/gbc.asm
								
								
								
								
							| 
						 | 
					@ -64,7 +64,7 @@ ToATTR::
 | 
				
			||||||
    ldh [rHDMA3], a
 | 
					    ldh [rHDMA3], a
 | 
				
			||||||
    ld a, LOW($9800)
 | 
					    ld a, LOW($9800)
 | 
				
			||||||
    ldh [rHDMA4], a
 | 
					    ldh [rHDMA4], a
 | 
				
			||||||
    ld a, 39
 | 
					    ld a, 40
 | 
				
			||||||
    ldh [rHDMA5], a
 | 
					    ldh [rHDMA5], a
 | 
				
			||||||
    ld a, 0
 | 
					    ld a, 0
 | 
				
			||||||
    ldh [rVBK], a
 | 
					    ldh [rVBK], a
 | 
				
			||||||
| 
						 | 
					@ -83,7 +83,7 @@ ToVRAM::
 | 
				
			||||||
    ldh [rHDMA3], a
 | 
					    ldh [rHDMA3], a
 | 
				
			||||||
    ld a, LOW($9800)
 | 
					    ld a, LOW($9800)
 | 
				
			||||||
    ldh [rHDMA4], a
 | 
					    ldh [rHDMA4], a
 | 
				
			||||||
    ld a, 39
 | 
					    ld a, 40
 | 
				
			||||||
    ldh [rHDMA5], a
 | 
					    ldh [rHDMA5], a
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -734,9 +734,38 @@ GBCGameplayProcess::
 | 
				
			||||||
    cp a, $11
 | 
					    cp a, $11
 | 
				
			||||||
    ret nz
 | 
					    ret nz
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ; 20G?
 | 
				
			||||||
 | 
					    ldh a, [hCurrentGravityPerTick]
 | 
				
			||||||
 | 
					    cp a, 20
 | 
				
			||||||
 | 
					    jr nz, :+
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ld a, $00
 | 
				
			||||||
 | 
					    ld d, a
 | 
				
			||||||
 | 
					    ld hl, wShadowTileAttrs
 | 
				
			||||||
 | 
					    ld bc, 32-12
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ld a, 21
 | 
				
			||||||
 | 
					    ld [wOuterReps], a
 | 
				
			||||||
 | 
					.outer0
 | 
				
			||||||
 | 
					    ld a, 12
 | 
				
			||||||
 | 
					    ld [wInnerReps], a
 | 
				
			||||||
 | 
					.inner0
 | 
				
			||||||
 | 
					    ld [hl], d
 | 
				
			||||||
 | 
					    inc hl
 | 
				
			||||||
 | 
					    ld a, [wInnerReps]
 | 
				
			||||||
 | 
					    dec a
 | 
				
			||||||
 | 
					    ld [wInnerReps], a
 | 
				
			||||||
 | 
					    jr nz, .inner0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    add hl, bc
 | 
				
			||||||
 | 
					    ld a, [wOuterReps]
 | 
				
			||||||
 | 
					    dec a
 | 
				
			||||||
 | 
					    ld [wOuterReps], a
 | 
				
			||||||
 | 
					    jr nz, .outer0
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ; What to copy
 | 
					    ; What to copy
 | 
				
			||||||
    ld de, wField + 40
 | 
					:   ld de, wField + 40
 | 
				
			||||||
    ; Where to put it
 | 
					    ; Where to put it
 | 
				
			||||||
    ld hl, wShadowTilemap + 1
 | 
					    ld hl, wShadowTilemap + 1
 | 
				
			||||||
    ; How much to increment hl after each row
 | 
					    ; How much to increment hl after each row
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											Binary file not shown.
										
									
								
							| 
						 | 
					@ -530,8 +530,8 @@ Tiles::
 | 
				
			||||||
    DB $4A,$4A,$4A,$4A,$E4,$E4,$00,$00
 | 
					    DB $4A,$4A,$4A,$4A,$E4,$E4,$00,$00
 | 
				
			||||||
    DB $CA,$CA,$2A,$2A,$2A,$2A,$4E,$4E
 | 
					    DB $CA,$CA,$2A,$2A,$2A,$2A,$4E,$4E
 | 
				
			||||||
    DB $82,$82,$82,$82,$E2,$E2,$00,$00
 | 
					    DB $82,$82,$82,$82,$E2,$E2,$00,$00
 | 
				
			||||||
    DB $04,$04,$0A,$0A,$0A,$0A,$0E,$0E
 | 
					    DB $0C,$0C,$0A,$0A,$0A,$0A,$0C,$0C
 | 
				
			||||||
    DB $0A,$0A,$0A,$0A,$0A,$0A,$00,$00
 | 
					    DB $0A,$0A,$0A,$0A,$0C,$0C,$00,$00
 | 
				
			||||||
TilesEnd::
 | 
					TilesEnd::
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue