mirror of
https://github.com/libretro/RetroArch
synced 2025-03-17 10:21:26 +00:00
Merge pull request #12799 from Jamiras/cheevos_inf_regions
(cheevos) support for more than 64 memory regions
This commit is contained in:
commit
def35ebe8e
@ -197,22 +197,28 @@ static int rcheevos_init_memory(rcheevos_locals_t* locals)
|
||||
{
|
||||
rarch_system_info_t* system = runloop_get_system_info();
|
||||
rarch_memory_map_t* mmaps = &system->mmaps;
|
||||
struct retro_memory_descriptor descriptors[64];
|
||||
struct retro_memory_descriptor* descriptors;
|
||||
struct retro_memory_map mmap;
|
||||
unsigned i;
|
||||
int result;
|
||||
|
||||
descriptors = (struct retro_memory_descriptor*)malloc(mmaps->num_descriptors * sizeof(*descriptors));
|
||||
if (!descriptors)
|
||||
return 0;
|
||||
|
||||
mmap.descriptors = &descriptors[0];
|
||||
mmap.num_descriptors = sizeof(descriptors) / sizeof(descriptors[0]);
|
||||
if (mmaps->num_descriptors < mmap.num_descriptors)
|
||||
mmap.num_descriptors = mmaps->num_descriptors;
|
||||
mmap.num_descriptors = mmaps->num_descriptors;
|
||||
|
||||
/* RetroArch wraps the retro_memory_descriptor's in rarch_memory_descriptor_t's, pull them back out */
|
||||
for (i = 0; i < mmap.num_descriptors; ++i)
|
||||
memcpy(&descriptors[i], &mmaps->descriptors[i].core, sizeof(descriptors[0]));
|
||||
|
||||
rc_libretro_init_verbose_message_callback(rcheevos_handle_log_message);
|
||||
return rc_libretro_memory_init(&locals->memory, &mmap,
|
||||
result = rc_libretro_memory_init(&locals->memory, &mmap,
|
||||
rcheevos_get_core_memory_info, locals->patchdata.console_id);
|
||||
|
||||
free(descriptors);
|
||||
return result;
|
||||
}
|
||||
|
||||
uint8_t* rcheevos_patch_address(unsigned address)
|
||||
|
Loading…
x
Reference in New Issue
Block a user