diff options
Diffstat (limited to 'src/settings.c')
-rw-r--r-- | src/settings.c | 55 |
1 files changed, 52 insertions, 3 deletions
diff --git a/src/settings.c b/src/settings.c index eb1393b..5a10c90 100644 --- a/src/settings.c +++ b/src/settings.c | |||
@@ -1,7 +1,10 @@ | |||
1 | #include "settings.h" | 1 | #include "settings.h" |
2 | #include "save.h" | 2 | #include "save.h" |
3 | 3 | ||
4 | static Settings settings = {0}; | 4 | static Settings settings = { |
5 | .bpm = 90, | ||
6 | .auto_save = TOGGLE_ON, | ||
7 | }; | ||
5 | static int settings_cursor_loc = 0; | 8 | static int settings_cursor_loc = 0; |
6 | 9 | ||
7 | void serial_irq(void); | 10 | void serial_irq(void); |
@@ -86,8 +89,31 @@ handle_settings_input(void) { | |||
86 | } | 89 | } |
87 | swap_palette(settings.theme); | 90 | swap_palette(settings.theme); |
88 | } break; | 91 | } break; |
92 | case SETTINGS_GLOBAL_MUTE: { | ||
93 | if ((settings.global_mute + 1) >= TOGGLE_NUM) { | ||
94 | settings.global_mute = 0; | ||
95 | } else { | ||
96 | settings.global_mute++; | ||
97 | } | ||
98 | } break; | ||
99 | case SETTINGS_GLOBAL_BPM: { | ||
100 | if ((settings.global_bpm + 1) >= TOGGLE_NUM) { | ||
101 | settings.global_bpm = 0; | ||
102 | } else { | ||
103 | settings.global_bpm++; | ||
104 | } | ||
105 | redraw_bpm = true; | ||
106 | update_bpm = true; | ||
107 | } break; | ||
108 | case SETTINGS_AUTO_SAVE: { | ||
109 | if ((settings.auto_save + 1) >= TOGGLE_NUM) { | ||
110 | settings.auto_save = 0; | ||
111 | } else { | ||
112 | settings.auto_save++; | ||
113 | } | ||
114 | } break; | ||
89 | case SETTINGS_HELP: { | 115 | case SETTINGS_HELP: { |
90 | if ((settings.help + 1) >= HELP_NUM) { | 116 | if ((settings.help + 1) >= TOGGLE_NUM) { |
91 | settings.help = 0; | 117 | settings.help = 0; |
92 | } else { | 118 | } else { |
93 | settings.help++; | 119 | settings.help++; |
@@ -115,9 +141,32 @@ handle_settings_input(void) { | |||
115 | } | 141 | } |
116 | swap_palette(settings.theme); | 142 | swap_palette(settings.theme); |
117 | } break; | 143 | } break; |
144 | case SETTINGS_GLOBAL_MUTE: { | ||
145 | if (settings.global_mute == 0) { | ||
146 | settings.global_mute = TOGGLE_NUM - 1; | ||
147 | } else { | ||
148 | settings.global_mute--; | ||
149 | } | ||
150 | } break; | ||
151 | case SETTINGS_GLOBAL_BPM: { | ||
152 | if (settings.global_bpm == 0) { | ||
153 | settings.global_bpm = TOGGLE_NUM - 1; | ||
154 | } else { | ||
155 | settings.global_bpm--; | ||
156 | } | ||
157 | redraw_bpm = true; | ||
158 | update_bpm = true; | ||
159 | } break; | ||
160 | case SETTINGS_AUTO_SAVE: { | ||
161 | if (settings.auto_save == 0) { | ||
162 | settings.auto_save = TOGGLE_NUM - 1; | ||
163 | } else { | ||
164 | settings.auto_save--; | ||
165 | } | ||
166 | } break; | ||
118 | case SETTINGS_HELP: { | 167 | case SETTINGS_HELP: { |
119 | if (settings.help == 0) { | 168 | if (settings.help == 0) { |
120 | settings.help = HELP_NUM - 1; | 169 | settings.help = TOGGLE_NUM - 1; |
121 | } else { | 170 | } else { |
122 | settings.help--; | 171 | settings.help--; |
123 | } | 172 | } |