MCPcopy Create free account
hub / github.com/Stewmath/GameYob / updateKeyConfigChooser

Function updateKeyConfigChooser

arm9/source/inputhelper.cpp:230–308  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

228}
229
230void updateKeyConfigChooser() {
231 bool redraw = false;
232
233 int& option = keyConfigChooser_option;
234 KeyConfig* config = &keyConfigs[selectedKeyConfig];
235
236 if (keyJustPressed(KEY_B)) {
237 // Don't allow exiting if nothing is assigned to opening the menu
238
239 if (!checkKeyAssignedToMenu(config)) {
240 keyConfigChooser_printMenuWarning = true;
241 redrawKeyConfigChooser();
242 }
243 else {
244 loadKeyConfig();
245 closeSubMenu();
246 }
247 }
248 else if (keyJustPressed(KEY_X)) {
249 keyConfigs.push_back(KeyConfig(*config));
250 selectedKeyConfig = keyConfigs.size()-1;
251 char name[32];
252 siprintf(name, "Custom %d", keyConfigs.size()-1);
253 strcpy(keyConfigs.back().name, name);
254 option = -1;
255 redraw = true;
256 }
257 else if (keyJustPressed(KEY_Y)) {
258 if (selectedKeyConfig != 0) /* can't erase the default */ {
259 keyConfigs.erase(keyConfigs.begin() + selectedKeyConfig);
260 if (selectedKeyConfig >= keyConfigs.size())
261 selectedKeyConfig = keyConfigs.size() - 1;
262 redraw = true;
263 }
264 }
265 else if (keyPressedAutoRepeat(KEY_DOWN)) {
266 if (option == NUM_DS_KEYS-1)
267 option = -1;
268 else
269 option++;
270 redraw = true;
271 }
272 else if (keyPressedAutoRepeat(KEY_UP)) {
273 if (option == -1)
274 option = NUM_DS_KEYS-1;
275 else
276 option--;
277 redraw = true;
278 }
279 else if (keyPressedAutoRepeat(KEY_LEFT)) {
280 if (option == -1) {
281 if (selectedKeyConfig == 0)
282 selectedKeyConfig = keyConfigs.size()-1;
283 else
284 selectedKeyConfig--;
285 }
286 else {
287 config->gbKeys[option]--;

Callers

nothing calls this directly

Calls 8

keyJustPressedFunction · 0.85
checkKeyAssignedToMenuFunction · 0.85
redrawKeyConfigChooserFunction · 0.85
loadKeyConfigFunction · 0.85
closeSubMenuFunction · 0.85
KeyConfigClass · 0.85
keyPressedAutoRepeatFunction · 0.85
doAtVBlankFunction · 0.85

Tested by

no test coverage detected