diff options
| author | 2017-05-31 19:28:05 +1000 | |
|---|---|---|
| committer | 2017-05-31 19:30:44 +1000 | |
| commit | a730d77354d031624bbaa63651c436fe2be1ea3d (patch) | |
| tree | 1bc8e99c073a0ed01779d850f9a6a76e94b28679 /src/emu/validity.cpp | |
| parent | 2c2458bbacc1d3eb37b3588f27fade29e9fd952e (diff) | |
Add validation check for contradictory flags, fix things it caught (nw)
Diffstat (limited to 'src/emu/validity.cpp')
| -rw-r--r-- | src/emu/validity.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/src/emu/validity.cpp b/src/emu/validity.cpp index 58f068cf93b..b4fca6495b1 100644 --- a/src/emu/validity.cpp +++ b/src/emu/validity.cpp @@ -1424,8 +1424,16 @@ void validity_checker::validate_driver() // make sure sound-less drivers are flagged sound_interface_iterator iter(m_current_config->root_device()); - if ((m_current_driver->flags & MACHINE_IS_BIOS_ROOT) == 0 && iter.first() == nullptr && (m_current_driver->flags & MACHINE_NO_SOUND) == 0 && (m_current_driver->flags & MACHINE_NO_SOUND_HW) == 0) + if ((m_current_driver->flags & MACHINE_IS_BIOS_ROOT) == 0 && !iter.first() && (m_current_driver->flags & (MACHINE_NO_SOUND | MACHINE_NO_SOUND_HW)) == 0) osd_printf_error("Driver is missing MACHINE_NO_SOUND flag\n"); + + // catch invalid flag combinations + if ((m_current_driver->flags & MACHINE_WRONG_COLORS) && (m_current_driver->flags & MACHINE_IMPERFECT_COLORS)) + osd_printf_error("Driver cannot have colours that are both completely wrong and imperfect\n"); + if ((m_current_driver->flags & MACHINE_NO_SOUND_HW) && (m_current_driver->flags & (MACHINE_NO_SOUND | MACHINE_IMPERFECT_SOUND))) + osd_printf_error("Machine without sound hardware cannot have unemulated sound\n"); + if ((m_current_driver->flags & MACHINE_NO_SOUND) && (m_current_driver->flags & MACHINE_IMPERFECT_SOUND)) + osd_printf_error("Driver cannot have sound emulation that's both imperfect and not present\n"); } |
