comparison bindings.c @ 2286:5d3411f52d00

Fix ui.reload for locked-on ROMs
author Michael Pavone <pavone@retrodev.com>
date Fri, 13 Jan 2023 23:42:46 -0800
parents 3ef80963c2a7
children 4de40b13b55f
comparison
equal deleted inserted replaced
2285:dec3287c9394 2286:5d3411f52d00
384 current_system->soft_reset(current_system); 384 current_system->soft_reset(current_system);
385 } 385 }
386 break; 386 break;
387 case UI_RELOAD: 387 case UI_RELOAD:
388 if (allow_content_binds) { 388 if (allow_content_binds) {
389 reload_media(); 389 system_media *lock = current_media()->chain;
390 if (lock) {
391 const char* parts[] = {lock->dir, PATH_SEP, lock->name, ".", lock->extension};
392 char const **start = parts[0] ? parts : parts + 2;
393 int num_parts = parts[0] ? 5 : 3;
394 if (!parts[4]) {
395 num_parts -= 2;
396 }
397 char *path = alloc_concat_m(num_parts, start);
398 lockon_media(path);
399 free(path);
400 } else {
401 reload_media();
402 }
390 } 403 }
391 break; 404 break;
392 case UI_SMS_PAUSE: 405 case UI_SMS_PAUSE:
393 if (allow_content_binds && current_system->gamepad_down) { 406 if (allow_content_binds && current_system->gamepad_down) {
394 current_system->gamepad_down(current_system, GAMEPAD_MAIN_UNIT, MAIN_UNIT_PAUSE); 407 current_system->gamepad_down(current_system, GAMEPAD_MAIN_UNIT, MAIN_UNIT_PAUSE);