summaryrefslogtreecommitdiffstatshomepage
path: root/src/frontend/mame/ui/info.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/frontend/mame/ui/info.cpp')
-rw-r--r--src/frontend/mame/ui/info.cpp19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/frontend/mame/ui/info.cpp b/src/frontend/mame/ui/info.cpp
index 76b2f012731..4ed48005057 100644
--- a/src/frontend/mame/ui/info.cpp
+++ b/src/frontend/mame/ui/info.cpp
@@ -104,6 +104,17 @@ machine_static_info::machine_static_info(const ui_options &options, machine_conf
local_ports.append(device, sink);
}
+ // suppress "requires external artwork" warning when external artwork was loaded
+ if (config.root_device().has_running_machine())
+ {
+ for (render_target *target = config.root_device().machine().render().first_target(); target != nullptr; target = target->next())
+ if (!target->hidden() && target->external_artwork())
+ {
+ m_flags &= ~::machine_flags::REQUIRES_ARTWORK;
+ break;
+ }
+ }
+
// unemulated trumps imperfect when aggregating (always be pessimistic)
m_imperfect_features &= ~m_unemulated_features;
@@ -136,7 +147,7 @@ rgb_t machine_static_info::status_color() const
{
if ((machine_flags() & MACHINE_ERRORS) || ((unemulated_features() | imperfect_features()) & device_t::feature::PROTECTION))
return UI_RED_COLOR;
- else if ((machine_flags() & MACHINE_WARNINGS) || unemulated_features() || imperfect_features())
+ else if ((machine_flags() & MACHINE_WARNINGS & ~::machine_flags::REQUIRES_ARTWORK) || unemulated_features() || imperfect_features())
return UI_YELLOW_COLOR;
else
return UI_GREEN_COLOR;
@@ -238,11 +249,11 @@ std::string machine_info::warnings_string() const
// add one line per machine warning flag
if (machine_flags() & ::machine_flags::NO_COCKTAIL)
buf << _("Screen flipping in cocktail mode is not supported.\n");
- if (machine_flags() & ::machine_flags::REQUIRES_ARTWORK) // check if external artwork is present before displaying this warning?
+ if (machine_flags() & ::machine_flags::REQUIRES_ARTWORK)
buf << _("This machine requires external artwork files.\n");
- if (machine_flags() & ::machine_flags::IS_INCOMPLETE )
+ if (machine_flags() & ::machine_flags::IS_INCOMPLETE)
buf << _("This machine was never completed. It may exhibit strange behavior or missing elements that are not bugs in the emulation.\n");
- if (machine_flags() & ::machine_flags::NO_SOUND_HW )
+ if (machine_flags() & ::machine_flags::NO_SOUND_HW)
buf << _("This machine has no sound hardware, MAME will produce no sounds, this is expected behaviour.\n");
// these are more severe warnings