Commit Graph

31 Commits

Author SHA1 Message Date
Miodrag Milanovic
d705e4a28d ioport tagged_list to unordered_map (nw) 2016-06-18 15:32:15 +02:00
Miodrag Milanovic
a07b82ac11 tagged_list to unordered_map for slots (nw) 2016-06-18 15:32:15 +02:00
AJR
ea43e9a386 Ioport refactoring and cleanups (nw)
- Completely move mouse hit testing down into the UI input module. This reduces some dependencies.
- Never return a null pointer from ioport_field::name() to prevent potential crashes. All anonymous inputs are classified as INPUT_CLASS_INTERNAL, so several frontend functions now check type_class instead.
- Correct a couple of typos.
2016-05-18 19:23:54 -04:00
Miodrag Milanovic
89c5e1f681 Various cleanups suggested by static analyzer (nw) 2016-04-24 12:58:31 +02:00
AJR
084d3654ca Iterate over devices C++11 style
Replace the old device_iterator and its specialized versions with functionally equivalent classes that use standard operators to yield references to devices/interfaces rather than pointers. With range-based for loops, they no longer have to be stored in named variables, though they can also be reused concurrently since the iteration state is now maintained by a subclass.

Add a few more typical getters to device_t::subdevice_list.
2016-04-18 18:53:28 -04:00
Miodrag Milanovic
a83a3c4497 lower deps on clifront.h (nw) 2016-04-15 14:10:47 +02:00
Jordi Mallach
80890952a7 Typo fix: nonexistant → nonexistent 2016-04-01 02:28:15 +02:00
AJR
a7e393b36b Iterate over core classes C++11 style
C++11 range-based for loops can now iterate over simple_list, tagged_list, core_options, device_t::subdevice_list, device_t::interface_list, render_primitive_list and all subclasses of the above, and much code has been refactored to use them. Most core classes that have these lists as members now have methods that return the lists themselves, replacing most of the methods that returned the object at an owned list's head. (A few have been retained due to their use in drivers or OSD.)

device_t now manages subdevice and interface lists through subclasses, but has given up the work of adding and removing subdevices to machine_config.

memory_manager has its tagged lists exposed, though the old rooted tag lookup methods have been removed (they were privatized already).
2016-03-31 09:43:53 -04:00
Vas Crabb
5a5b787081 Further reduce template instantiations 2016-03-04 16:46:56 +11:00
Miodrag Milanovic
6938a038d9 removed test since atomic functions about to be removed (nw) 2016-03-01 13:21:42 +01:00
dankan1890
d38c1610b8 ui: Moved options "Configure Directories" and "Save Configuration" into "Configure Options" menu.
Removed unnecessary icons from the toolbar (performed the same actions of entries already in the menu).
Proper handling the export of the list.
Updated the .po files.
2016-02-27 21:33:39 +01:00
Miodrag Milanović
e934aa93db Revert "New driver specifiers; modify -listclones, -listsource; add -listtree" 2016-02-25 14:04:13 +01:00
AJR
3fc0787fa8 New driver specifiers; changes to -listclones, -listsource; add -listtree
Five new specifiers for driver enumeration and all commands depending thereon:
- @source.cpp matches all drivers in source.cpp
- ^driver matches driver and all its clones
- :drivbios matches drivbios and all drivers having it as their BIOS
- ^ matches all drivers excluding clone sets
- : matches all BIOS roots

Note that these new specifiers are not compatible with other wildcards; they only perform normal case-insensitive matches with driver or source file names.

The -listclones command now lists drivers in a completely different, human-readable format. It performs an extra loop to deduce the parent set name if a clone was specified; this causes, for instance, -listclones pacman and -listclones puckman to produce identical output. It includes descriptions with the clone driver names much like -listfull, and uses the parent set's description as a header for its clones. It also recognizes BIOSes and lists unique matching sets with no clones at the end of the output.

The -listsource command outputs not only the source file of each matching driver, but also its parent set and BIOS root (if any). These are output using the new @sourcefile, ^driver and :bios specifiers.

The new -listtree command is a human-readable analogue to -listsource and an alternative to -listclones. It tabulates drivers by source file in tree format, with the names of clones indented under their parents and drivers indented under their respective BIOS roots.

The -listbrothers command remains functionally unchanged, but should be considered somewhat deprecated in favor of the @sourcefile specifier with other listing commands.

Fix include_all counting error causing assert to fail in find_approximate_matches (nw)

Relax dependencies on drivenum.h in UI headers (nw)
2016-02-24 18:47:37 -05:00
AJR
4725ff56d2 Some more validity checking improvements:
- The -validate command now accepts an optional string, validating only matching drivers.
  This has proven useful for debugging. The default is to validate all drivers as usual.
- Devices' names are tracked when validating their auto-finders.
2016-01-24 17:15:26 -05:00
Miodrag Milanovic
4e8e3066f8 reverting:
SHA-1: 1f90ceab07

* tags are now strings (nw)
fix start project for custom builds in Visual Studio (nw)
2016-01-20 21:42:13 +01:00
Miodrag Milanovic
7c9cd3feea Revert "rest of device parameters to std::string (nw)"
This reverts commit caba131d84.
2016-01-20 21:35:11 +01:00
Miodrag Milanovic
abb7f223b3 Revert "Fix for hang, emu_options::add_slot_options was changed, other things are just cleanup (nw)"
This reverts commit 841a55985e.
2016-01-20 21:32:11 +01:00
Miodrag Milanovic
841a55985e Fix for hang, emu_options::add_slot_options was changed, other things are just cleanup (nw) 2016-01-18 14:39:13 +01:00
Miodrag Milanovic
caba131d84 rest of device parameters to std::string (nw) 2016-01-16 20:05:32 +01:00
Miodrag Milanovic
1f90ceab07 tags are now strings (nw)
fix start project for custom builds in Visual Studio (nw)
2016-01-16 14:54:42 +01:00
AJR
115db95642 Return std::string objects by value rather than pass by reference
- strprintf is unaltered, but strformat now takes one fewer argument
- state_string_export still fills a buffer, but has been made const
- get_default_card_software now takes no arguments but returns a string
2016-01-10 16:36:18 -05:00
AJR
a0d3f281ba Fix errors from faulty merge (nw) 2016-01-02 17:45:03 -05:00
AJR
3e6c0d3434 Allow mame -validate -verbose to capture verbose messages 2016-01-02 09:40:15 -05:00
Miodrag Milanović
f8eb29b9bd Revert "Allow mame -validate -verbose to display more messages (and make erro…" 2015-12-28 15:56:35 +01:00
AJR
5ef8cef2f1 Allow mame -validate -verbose to display more messages (and make error/warning output a little neater) 2015-12-27 22:42:05 -05:00
Miodrag Milanovic
3414b0166e tagmap_t to std::unordered_map or std::unordered_set where applicable (nw) 2015-12-09 21:14:13 +01:00
Miodrag Milanovic
91605d3f4d clang-modernize part 1 (nw) 2015-12-03 18:17:25 +01:00
Miodrag Milanovic
0825ce4f3b Cleanups and version bump 2015-11-25 08:22:24 +01:00
Miodrag Milanovic
19ff46c113 More cleanups (nw) 2015-11-11 18:07:13 +01:00
therealmogminer@gmail.com
33f410f0d9 Fix more PVS-Studio warnings, nw 2015-11-09 11:22:13 +01:00
Miodrag Milanovic
7c19aac60e Rename *.c -> *.cpp in our source (nw) 2015-11-08 12:56:12 +01:00