Mercurial > repos > blastem
changeset 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 | dec3287c9394 |
children | 8a918eb95ba8 |
files | bindings.c blastem.c genesis.c |
diffstat | 3 files changed, 16 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/bindings.c Fri Jan 13 19:19:40 2023 -0800 +++ b/bindings.c Fri Jan 13 23:42:46 2023 -0800 @@ -386,7 +386,20 @@ break; case UI_RELOAD: if (allow_content_binds) { - reload_media(); + system_media *lock = current_media()->chain; + if (lock) { + const char* parts[] = {lock->dir, PATH_SEP, lock->name, ".", lock->extension}; + char const **start = parts[0] ? parts : parts + 2; + int num_parts = parts[0] ? 5 : 3; + if (!parts[4]) { + num_parts -= 2; + } + char *path = alloc_concat_m(num_parts, start); + lockon_media(path); + free(path); + } else { + reload_media(); + } } break; case UI_SMS_PAUSE:
--- a/blastem.c Fri Jan 13 19:19:40 2023 -0800 +++ b/blastem.c Fri Jan 13 23:42:46 2023 -0800 @@ -427,7 +427,7 @@ char const **start = parts[0] ? parts : parts + 2; int num_parts = parts[0] ? 5 : 3; if (!parts[4]) { - num_parts--; + num_parts -= 2; } current_system->next_rom = alloc_concat_m(num_parts, start); system_request_exit(current_system, 1);
--- a/genesis.c Fri Jan 13 19:19:40 2023 -0800 +++ b/genesis.c Fri Jan 13 23:42:46 2023 -0800 @@ -2103,6 +2103,7 @@ gen->save_ram_mask = info.save_mask; gen->save_size = info.save_size; gen->save_storage = info.save_buffer; + gen->header.info.save_buffer = info.save_buffer = NULL; gen->eeprom_map = info.eeprom_map; gen->num_eeprom = info.num_eeprom; if (gen->save_type == SAVE_I2C) {