Skip to content

Commit 4f8b6a6

Browse files
committed
fix menu, add tests, move dark mode
1 parent 8031ab4 commit 4f8b6a6

File tree

4 files changed

+21
-9
lines changed

4 files changed

+21
-9
lines changed

src/constants.asm

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -91,9 +91,9 @@ MODE_HZ_DISPLAY
9191
MODE_INPUT_DISPLAY
9292
MODE_DISABLE_FLASH
9393
MODE_DISABLE_PAUSE
94+
MODE_DARK
9495
MODE_GOOFY
9596
MODE_DEBUG
96-
MODE_DARK
9797
MODE_LINECAP
9898
MODE_DASONLY
9999
MODE_QUAL
@@ -124,7 +124,7 @@ LINECAP_WHEN_STRING_OFFSET := $10
124124
LINECAP_HOW_STRING_OFFSET := $12
125125

126126
MENU_SPRITE_Y_BASE := $47
127-
MENU_MAX_Y_SCROLL := $98
127+
MENU_MAX_Y_SCROLL := $A0
128128
MENU_TOP_MARGIN_SCROLL := 7 ; in blocks
129129

130130
; menuConfigSizeLookup
@@ -159,9 +159,9 @@ MENU_TOP_MARGIN_SCROLL := 7 ; in blocks
159159
.byte $1 ; MODE_INPUT_DISPLAY
160160
.byte $1 ; MODE_DISABLE_FLASH
161161
.byte $1 ; MODE_DISABLE_PAUSE
162+
.byte $1 ; MODE_DARK
162163
.byte $1 ; MODE_GOOFY
163164
.byte $1 ; MODE_DEBUG
164-
.byte $1 ; MODE_DARK
165165
.byte $1 ; MODE_LINECAP
166166
.byte $1 ; MODE_DASONLY
167167
.byte $1 ; MODE_QUAL

src/nametables/game_type_menu.js

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -69,9 +69,9 @@ drawTiles(buffer, lookup, `
6969
#a INPUT DISPLAY d#
7070
#a DISABLE FLASH d#
7171
#a DISABLE PAUSE d#
72+
#a DARK MODE d#
7273
#a GOOFY FOOT d#
7374
#a BLOCK TOOL d#
74-
#a DARK MODE d#
7575
#a LINECAP d#
7676
#a DAS ONLY d#
7777
#a QUAL MODE d#
@@ -134,7 +134,7 @@ drawTiles(extra, lookup, background);
134134
drawRect(buffer, 8, 2, 10, 5, 0xB0); // draw logo
135135

136136
const urlX = 3;
137-
const urlY = 15;
137+
const urlY = 17;
138138
drawRect(extra, urlX, urlY, 12, 1, 0x74);
139139
drawRect(extra, urlX+12, urlY, 12, 1, 0x84);
140140

@@ -158,8 +158,6 @@ drawAttrs(buffer, [`
158158
2222222222222222
159159
`]);
160160

161-
const line = '2'.repeat(16);
162-
const screen = Array.from({ length: 8 }, () => line).join('\n');
163161
drawAttrs(extra, [`
164162
2222222222222222
165163
2222222222222222
@@ -168,8 +166,17 @@ drawAttrs(extra, [`
168166
2222222222222222
169167
2222222222222222
170168
2222222222222222
169+
2222222222222222
170+
`, `
171171
2333333333333332
172-
`, screen]);
172+
2222222222222222
173+
2222222222222222
174+
2222222222222222
175+
2222222222222222
176+
2222222222222222
177+
2222222222222222
178+
2222222222222222
179+
`]);
173180

174181
writeRLE(
175182
__dirname + '/game_type_menu_nametable_practise.bin',

src/ram.asm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -347,9 +347,9 @@ hzFlag: .res 1
347347
inputDisplayFlag: .res 1
348348
disableFlashFlag: .res 1
349349
disablePauseFlag: .res 1
350+
darkMode: .res 1
350351
goofyFlag: .res 1
351352
debugFlag: .res 1
352-
darkMode: .res 1
353353
linecapFlag: .res 1
354354
dasOnlyFlag: .res 1
355355
qualFlag: .res 1

tests/src/constants.rs

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,4 +20,9 @@ pub fn test() {
2020
}
2121

2222
assert_eq!(menu_options, labels::get("palFlag") + 1 - labels::get("menuVars"));
23+
24+
// check the menu scroll is correct
25+
let y_scroll = labels::get("MENU_MAX_Y_SCROLL");
26+
27+
assert_eq!(menu_options - 8, y_scroll / 8);
2328
}

0 commit comments

Comments
 (0)