Forgot to de-irs when IRS would cause a game over
This commit is contained in:
		
							parent
							
								
									2eb1e5888f
								
							
						
					
					
						commit
						e1077ebde4
					
				| 
						 | 
					@ -11,7 +11,6 @@ wShadowField:: ds (14*26)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
SECTION "Field High Variables", HRAM
 | 
					SECTION "Field High Variables", HRAM
 | 
				
			||||||
hToppedOut:: ds 1
 | 
					 | 
				
			||||||
hPieceDataBase:: ds 2
 | 
					hPieceDataBase:: ds 2
 | 
				
			||||||
hPieceDataOffset:: ds 1
 | 
					hPieceDataOffset:: ds 1
 | 
				
			||||||
hCurrentLockDelayRemaining:: ds 1
 | 
					hCurrentLockDelayRemaining:: ds 1
 | 
				
			||||||
| 
						 | 
					@ -370,10 +369,6 @@ TrySpawnPiece::
 | 
				
			||||||
    ; Copy the field to the shadow field.
 | 
					    ; Copy the field to the shadow field.
 | 
				
			||||||
    call ToShadowField
 | 
					    call ToShadowField
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ; Assume we're not topped out.
 | 
					 | 
				
			||||||
    xor a, a
 | 
					 | 
				
			||||||
    ldh [hToppedOut], a
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    ; Point the piece data to the correct piece.
 | 
					    ; Point the piece data to the correct piece.
 | 
				
			||||||
    call SetPieceData
 | 
					    call SetPieceData
 | 
				
			||||||
    call SetPieceDataOffset
 | 
					    call SetPieceDataOffset
 | 
				
			||||||
| 
						 | 
					@ -388,9 +383,31 @@ TrySpawnPiece::
 | 
				
			||||||
    ld d, h
 | 
					    ld d, h
 | 
				
			||||||
    ld e, l
 | 
					    ld e, l
 | 
				
			||||||
    call GetPieceData
 | 
					    call GetPieceData
 | 
				
			||||||
    jp CanPieceFit
 | 
					    call CanPieceFit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ; A will be $FF if the piece can fit.
 | 
					    ; A will be $FF if the piece can fit.
 | 
				
			||||||
    ; We jump instead of return to save a few cycles.
 | 
					    cp a, $FF
 | 
				
			||||||
 | 
					    ret z
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ; Otherwise check the rotation, and if it's not zero, try to reset it.
 | 
				
			||||||
 | 
					    ldh a, [hCurrentPieceRotationState]
 | 
				
			||||||
 | 
					    cp a, 0
 | 
				
			||||||
 | 
					    ret nz
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ; Reset the rotation.
 | 
				
			||||||
 | 
					    xor a, a
 | 
				
			||||||
 | 
					    ldh [hCurrentPieceRotationState], a
 | 
				
			||||||
 | 
					    call SetPieceDataOffset
 | 
				
			||||||
 | 
					    ldh a, [hCurrentPieceY]
 | 
				
			||||||
 | 
					    ld b, a
 | 
				
			||||||
 | 
					    ldh a, [hCurrentPieceX]
 | 
				
			||||||
 | 
					    call XYToSFieldPtr
 | 
				
			||||||
 | 
					    ld d, h
 | 
				
			||||||
 | 
					    ld e, l
 | 
				
			||||||
 | 
					    call GetPieceData
 | 
				
			||||||
 | 
					    jp CanPieceFit
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    ; Draws the piece onto the field.
 | 
					    ; Draws the piece onto the field.
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -218,7 +218,7 @@ spawnPieceMode:
 | 
				
			||||||
    jr z, :+
 | 
					    jr z, :+
 | 
				
			||||||
    ld a, MODE_GAME_OVER
 | 
					    ld a, MODE_GAME_OVER
 | 
				
			||||||
    ld [wMode], a
 | 
					    ld [wMode], a
 | 
				
			||||||
    jr drawStaticInfo
 | 
					    jp drawStaticInfo
 | 
				
			||||||
:   ld a, MODE_PIECE_IN_MOTION
 | 
					:   ld a, MODE_PIECE_IN_MOTION
 | 
				
			||||||
    ld [wMode], a
 | 
					    ld [wMode], a
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1,5 +1,5 @@
 | 
				
			||||||
#Emulicious settings file
 | 
					#Emulicious settings file
 | 
				
			||||||
#Fri Oct 20 08:52:26 CEST 2023
 | 
					#Fri Oct 20 11:39:58 CEST 2023
 | 
				
			||||||
WindowEventViewerWindowHeight=1416
 | 
					WindowEventViewerWindowHeight=1416
 | 
				
			||||||
WindowEventViewerWindowDivider=876
 | 
					WindowEventViewerWindowDivider=876
 | 
				
			||||||
WindowMemoryTracerWindowY=631
 | 
					WindowMemoryTracerWindowY=631
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue