Skip to content

Commit a1efe41

Browse files
committed
neon and teal
1 parent bfe1317 commit a1efe41

File tree

6 files changed

+52
-25
lines changed

6 files changed

+52
-25
lines changed

src/constants.asm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,7 @@ MENU_TOP_MARGIN_SCROLL := 7 ; in blocks
161161
.byte $1 ; MODE_INPUT_DISPLAY
162162
.byte $1 ; MODE_DISABLE_FLASH
163163
.byte $1 ; MODE_DISABLE_PAUSE
164-
.byte $1 ; MODE_DARK
164+
.byte $3 ; MODE_DARK
165165
.byte $1 ; MODE_GOOFY
166166
.byte $1 ; MODE_DEBUG
167167
.byte $1 ; MODE_LINECAP

src/gamemode/gametypemenu/menu.asm

Lines changed: 22 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -468,6 +468,8 @@ menuYTmp := tmp2
468468
cmp #MODE_CRASH
469469
beq @renderCrashMode
470470

471+
cmp #MODE_DARK
472+
beq @renderDarkMode
471473

472474
jsr menuItemY16Offset
473475
bne @loopNext
@@ -518,25 +520,26 @@ menuYTmp := tmp2
518520
lda scoringModifier
519521
sta spriteIndexInOamContentLookup
520522
lda #(MODE_SCORE_DISPLAY*8) + MENU_SPRITE_Y_BASE + 1
521-
sbc menuScrollY
522-
sta spriteYOffset
523-
lda #$e9
524-
sta spriteXOffset
525-
jsr stringSpriteAlignRight
526-
jmp @loopNext
523+
jmp @renderOption
527524

528525
@renderCrashMode:
529526
jsr menuItemY16Offset
530527
bne @loopNext
531-
@doRender:
532-
lda crashModifier
533-
cmp #CRASH_OFF
534-
bne @notOff
535-
lda #$F3
536-
@notOff:
537-
adc #$14
528+
ldx crashModifier
529+
lda crashOptions, x
538530
sta spriteIndexInOamContentLookup
539531
lda #(MODE_CRASH*8) + MENU_SPRITE_Y_BASE + 1
532+
jmp @renderOption
533+
534+
@renderDarkMode:
535+
jsr menuItemY16Offset
536+
bne @loopNext
537+
ldx darkModifier
538+
lda darkOptions, x
539+
sta spriteIndexInOamContentLookup
540+
lda #(MODE_DARK*8) + MENU_SPRITE_Y_BASE + 1
541+
542+
@renderOption:
540543
sec
541544
sbc menuScrollY
542545
sta spriteYOffset
@@ -545,6 +548,12 @@ menuYTmp := tmp2
545548
jsr stringSpriteAlignRight
546549
jmp @loopNext
547550

551+
crashOptions:
552+
.byte $8, $16, $17, $18
553+
554+
darkOptions:
555+
.byte $8, $9, $1B, $1C
556+
548557
; <- menu item index in A
549558
; -> high byte of offset in A
550559
; -> low byte in X

src/gamemodestate/initbackground.asm

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -12,15 +12,9 @@ gameModeState_initGameBackground:
1212
jsr scoringBackground
1313
jsr debugNametableUI
1414

15-
lda darkMode
15+
ldy darkModifier
1616
beq @notDarkMode
1717
jsr drawDarkMode
18-
lda #$3F
19-
sta PPUADDR
20-
lda #$D
21-
sta PPUADDR
22-
lda #$2D
23-
sta PPUDATA
2418
@notDarkMode:
2519

2620
lda hzFlag
@@ -239,6 +233,18 @@ drawDarkMode:
239233

240234
darkBuffer := playfield ; cleared right after in initGameState
241235

236+
; set the border colour
237+
lda #$3F
238+
sta PPUADDR
239+
lda #$D
240+
sta PPUADDR
241+
lda #$2D
242+
cpy #3 ; teal
243+
bne :+
244+
lda #$C
245+
:
246+
sta PPUDATA
247+
242248
; process the playfield in 60 chunks
243249
lda #60
244250
sta tmpZ

src/nmi/render_mode_play_and_demo.asm

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,14 +93,14 @@ render_mode_play_and_demo:
9393
and #RENDER_SCORE
9494
beq @renderHz
9595

96-
; 7 safe tile writes freed from stats / hz
97-
; (lazy render hz for 10 more)
96+
; (lazy render hz for 10 free writes)
9897
; 1 added in level (3 total)
9998
; 2 added in lines (5 total)
100-
; 2 added on crash
10199
; independent writes;
102100
; 1 added in 7digit
103101
; 3 added in float
102+
; 2 added in neon
103+
; 2 added on crash
104104

105105
; scorecap
106106
lda crashModifier
@@ -337,6 +337,12 @@ updatePaletteForLevel:
337337
sta PPUDATA
338338
lda colorTable2,x
339339
sta PPUDATA
340+
ldy darkModifier
341+
cpy #2 ; neon
342+
bne @notNeon
343+
sta PPUDATA
344+
sta PPUDATA
345+
@notNeon:
340346
lda #$3F
341347
sta PPUADDR
342348
lda #$19

src/ram.asm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -344,7 +344,7 @@ hzFlag: .res 1
344344
inputDisplayFlag: .res 1
345345
disableFlashFlag: .res 1
346346
disablePauseFlag: .res 1
347-
darkMode: .res 1
347+
darkModifier: .res 1
348348
goofyFlag: .res 1
349349
debugFlag: .res 1
350350
linecapFlag: .res 1

src/util/strings.asm

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,8 @@ stringLookup:
9797
.byte stringCrash-stringLookup
9898
.byte stringConfetti-stringLookup ;19
9999
.byte stringStrict-stringLookup
100+
.byte stringNeon-stringLookup
101+
.byte stringTeal-stringLookup
100102
stringClassic:
101103
.byte $7,'C','L','A','S','S','I','C'
102104
stringLetters:
@@ -153,3 +155,7 @@ stringConfetti:
153155
.byte $8,'C','O','N','F','E','T','T','I'
154156
stringStrict:
155157
.byte $6,'S','T','R','I','C','T'
158+
stringNeon:
159+
.byte $4,'N','E','O','N'
160+
stringTeal:
161+
.byte $4,'T','E','A','L'

0 commit comments

Comments
 (0)