File tree Expand file tree Collapse file tree 1 file changed +27
-17
lines changed Expand file tree Collapse file tree 1 file changed +27
-17
lines changed Original file line number Diff line number Diff line change
1
+ activeFloorMode := generalCounter5
2
+
1
3
playState_checkForCompletedRows:
2
4
lda vramRow
3
5
cmp #$20
@@ -23,8 +25,9 @@ playState_checkForCompletedRows:
23
25
adc generalCounter
24
26
sta generalCounter
25
27
tay
28
+ lda #$00
29
+ sta activeFloorMode ; Don't draw floor unless active
26
30
ldx #$0A
27
-
28
31
@checkIfRowComplete:
29
32
.if AUTO_WIN
30
33
jmp @rowIsComplete
@@ -46,24 +49,14 @@ playState_checkForCompletedRows:
46
49
beq @rowNotComplete
47
50
48
51
@fullRowBurningCheck:
49
- ; bugfix to ensure complete rows aren't cleared
50
- ; used in floor / linecap floor
51
- lda currentPiece_copy
52
- beq @IJLTedge
53
- cmp #5
54
- beq @IJLTedge
55
- cmp #$10
56
- beq @IJLTedge
57
- cmp #$12
58
- beq @IJLTedge
59
- bne @normalRow
60
- @IJLTedge:
61
- lda lineIndex
62
- cmp #3
63
- bcs @rowNotComplete
52
+ inc activeFloorMode ; Floor is active
53
+ lda #$13
54
+ sec
55
+ sbc generalCounter2 ; contains current row being checked
56
+ cmp floorModifier
57
+ bcc @rowNotComplete ; ignore floor rows
64
58
@normalRow:
65
59
66
-
67
60
@checkIfRowCompleteLoopStart:
68
61
lda (playfieldAddr),y
69
62
cmp #EMPTY_TILE
@@ -99,6 +92,23 @@ playState_checkForCompletedRows:
99
92
bne @clearRowTopRow
100
93
lda #$13
101
94
sta currentPiece
95
+
96
+ ; draw surface of floor in case of top line clear
97
+ lda activeFloorMode
98
+ beq @incrementLineIndex
99
+ lda #$14
100
+ sec
101
+ sbc floorModifier
102
+ tax
103
+ ldy multBy10Table,x
104
+ ldx #$0A
105
+ lda #BLOCK_TILES
106
+ @drawFloorSurface:
107
+ sta playfield,y
108
+ iny
109
+ dex
110
+ bne @drawFloorSurface
111
+
102
112
jmp @incrementLineIndex
103
113
104
114
@rowNotComplete:
You can’t perform that action at this time.
0 commit comments