mirror of
https://github.com/holub/mame
synced 2025-05-17 19:24:59 +03:00
Improved the way software names are displayed by the Internal File Manager when loading from software list and fixed wrong displayed name when loading with shortname:part. No whatsnew needed (being MESS-specific)
This commit is contained in:
parent
4265c169b0
commit
b98f54de7b
@ -431,12 +431,19 @@ bool legacy_image_device_base::load_internal(const char *path, bool is_create, i
|
|||||||
|
|
||||||
/* record the filename */
|
/* record the filename */
|
||||||
m_err = set_image_filename(path);
|
m_err = set_image_filename(path);
|
||||||
|
|
||||||
if (m_err)
|
if (m_err)
|
||||||
goto done;
|
goto done;
|
||||||
|
|
||||||
/* Check if there's a software list defined for this device and use that if we're not creating an image */
|
/* Check if there's a software list defined for this device and use that if we're not creating an image */
|
||||||
if (!filename_has_period)
|
if (!filename_has_period)
|
||||||
|
{
|
||||||
softload = load_software_part( this, path, &m_software_info_ptr, &m_software_part_ptr, &m_full_software_name );
|
softload = load_software_part( this, path, &m_software_info_ptr, &m_software_part_ptr, &m_full_software_name );
|
||||||
|
// if we had launched from softlist with a specified part, e.g. "shortname:part"
|
||||||
|
// we would have recorded the wrong name, so record it again based on software_info
|
||||||
|
if (m_software_info_ptr->shortname != NULL)
|
||||||
|
m_err = set_image_filename(m_software_info_ptr->shortname);
|
||||||
|
}
|
||||||
|
|
||||||
if (is_create || filename_has_period)
|
if (is_create || filename_has_period)
|
||||||
{
|
{
|
||||||
|
@ -253,6 +253,7 @@ public:
|
|||||||
const char* extrainfo() { return m_extrainfo; }
|
const char* extrainfo() { return m_extrainfo; }
|
||||||
|
|
||||||
const software_info *software_entry() { return m_software_info_ptr; }
|
const software_info *software_entry() { return m_software_info_ptr; }
|
||||||
|
const software_part *part_entry() { return m_software_part_ptr; }
|
||||||
|
|
||||||
virtual void set_working_directory(const char *working_directory) { m_working_directory = working_directory; }
|
virtual void set_working_directory(const char *working_directory) { m_working_directory = working_directory; }
|
||||||
virtual const char * working_directory();
|
virtual const char * working_directory();
|
||||||
|
@ -903,7 +903,7 @@ static void menu_file_manager_populate(running_machine *machine, ui_menu *menu,
|
|||||||
{
|
{
|
||||||
char buffer[2048];
|
char buffer[2048];
|
||||||
device_image_interface *image = NULL;
|
device_image_interface *image = NULL;
|
||||||
const char *entry_basename;
|
astring tmp_name;
|
||||||
|
|
||||||
/* cycle through all devices for this system */
|
/* cycle through all devices for this system */
|
||||||
for (bool gotone = machine->m_devicelist.first(image); gotone; gotone = image->next(image))
|
for (bool gotone = machine->m_devicelist.first(image); gotone; gotone = image->next(image))
|
||||||
@ -914,10 +914,27 @@ static void menu_file_manager_populate(running_machine *machine, ui_menu *menu,
|
|||||||
image->image_config().devconfig().name());
|
image->image_config().devconfig().name());
|
||||||
|
|
||||||
/* get the base name */
|
/* get the base name */
|
||||||
entry_basename = image->basename();
|
if (image->basename() != NULL)
|
||||||
|
{
|
||||||
|
tmp_name.cpy(image->basename());
|
||||||
|
|
||||||
|
/* the image has been loaded through softlist, also show the loaded part */
|
||||||
|
if (image->part_entry() != NULL)
|
||||||
|
{
|
||||||
|
const software_part *tmp = image->part_entry();
|
||||||
|
if (tmp->name != NULL)
|
||||||
|
{
|
||||||
|
tmp_name.cat(" (");
|
||||||
|
tmp_name.cat(tmp->name);
|
||||||
|
tmp_name.cat(")");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
tmp_name.cpy("---");
|
||||||
|
|
||||||
/* record the menu item */
|
/* record the menu item */
|
||||||
ui_menu_item_append(menu, buffer, (entry_basename != NULL) ? entry_basename : "---", 0, (void *) image);
|
ui_menu_item_append(menu, buffer, tmp_name.cstr(), 0, (void *) image);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* set up custom render proc */
|
/* set up custom render proc */
|
||||||
|
Loading…
Reference in New Issue
Block a user