frontend: Make unimplemented graphics and sound severe warnings.

This means you'll get an unskippable red warning for systems that have
unimplemented sound or graphics that are otherwise marked working.  This
also applies to subdevices, so for example plugging a non-working video
card or sound card into a computer driver will now cause a red warning.
This should make it clearer when a game is playable but missing sound,
or when a video or sound card doesn't work.

The downside is that this could cause annoyance in a couple of
situations.  Workstations/servers with unemulated video that have
working serial terminals and networking will now cause a red warning,
and terminals/keyboards/etc. with missing beepers, key click, etc. will
now cause a red warning even if they're otherwise usable.

It may be worth making unimplemented controls and keyboard a severe
error as well, since plugging in a non-working emulated keyboard is
likely to make a system unusable.
This commit is contained in:
Vas Crabb 2020-09-03 11:22:41 +10:00
parent 51d961c73e
commit ea764f2a5e

View File

@ -156,7 +156,10 @@ bool machine_static_info::has_warnings() const
bool machine_static_info::has_severe_warnings() const
{
return (machine_flags() & MACHINE_ERRORS) || ((unemulated_features() | imperfect_features()) & device_t::feature::PROTECTION);
return
(machine_flags() & MACHINE_ERRORS) ||
(unemulated_features() & (device_t::feature::PROTECTION | device_t::feature::GRAPHICS | device_t::feature::SOUND)) ||
(imperfect_features() & device_t::feature::PROTECTION);
}