File tree Expand file tree Collapse file tree 4 files changed +29
-19
lines changed Expand file tree Collapse file tree 4 files changed +29
-19
lines changed Original file line number Diff line number Diff line change 14
14
* Added hidden score option
15
15
* Added marathon mode
16
16
* 0001 seeds are ignored
17
+ * Floor no longer gobbled up by top line clear
17
18
18
19
## [ v5 tournament]
19
20
* Linecap Menu (from CTM Masters September 2022)
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:
Original file line number Diff line number Diff line change @@ -42,7 +42,6 @@ playState_lockTetrimino:
42
42
adc tetriminoX
43
43
sta generalCounter
44
44
lda currentPiece
45
- sta currentPiece_copy
46
45
asl a
47
46
asl a
48
47
sta generalCounter2
Original file line number Diff line number Diff line change @@ -39,7 +39,7 @@ lines: .res 2 ; $0050
39
39
rowY: .res 1 ; $0052
40
40
linesBCDHigh: .res 1 ; $53
41
41
linesTileQueue: .res 1 ; $54
42
- currentPiece_copy: .res 1 ; $55 ; used in floor code checking
42
+ .res 1
43
43
completedLines: .res 1 ; $0056
44
44
lineIndex: .res 1 ; $0057 ; Iteration count of playState_checkForCompletedRows
45
45
startHeight: .res 1 ; $0058
You can’t perform that action at this time.
0 commit comments