Commit Graph

139 Commits

Author SHA1 Message Date
Sergey Svishchev
e86fd713e7 keyboard: add F16..F20 keys (present on DEC LK201 keyboard and its clones) 2016-07-30 16:26:00 +03:00
Miodrag Milanovic
1d0e0ac12a remove all usages of tagmap 2016-06-18 15:32:15 +02:00
Miodrag Milanovic
d705e4a28d ioport tagged_list to unordered_map (nw) 2016-06-18 15:32:15 +02:00
angelosa
c3770fe54e Some misc updates, nw 2016-06-16 23:09:30 +02:00
AJR
5139c32d8f Unnecessary leftover (nw) 2016-05-23 15:51:48 -04:00
AJR
9707fdbf09 Add flag to mark input fields as optional
Inputs marked as optional should be controls that are not required for normal operation and may not be hooked up on actual hardware, but are still worth emulating because the hardware does respond to them in some way. Currently this flag is only exposed through the Lua interface and "reqbuttons" XML field; the intent is for frontends to map all optional buttons by default if this is possible and convenient. MT #6136 has inspired the addition of this flag to gijoe and clones.

Remove the generally useless PORT_UNUSED to make way for PORT_OPTIONAL; IPT_UNUSED, which most drivers were using already, is a better way of disabling unused fields. (nw)
2016-05-23 14:23:42 -04: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
Miodrag Milanovic
1c726824f2 Split UI and frontend part from core [Miodrag Milanovic] 2016-04-23 11:26:47 +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
AJR
01b91996a5 Recognize the full range of controller inputs
This simplifies an old piece of MESS code that failed to properly classify paddle, pedal, positional and dial inputs, along with many of the less-common digital inputs. MT #06172 should be fixed by this.

The distinction between INPUT_CLASS_MISC and INPUT_CLASS_INTERNAL makes more sense now, though nothing makes use of it.
2016-03-31 16:08:14 -04: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
Miodrag Milanovic
913ab1e140 Cleanups and version bump 2016-03-30 08:35:21 +02:00
Vas Crabb
42fbb9c396 Make osd_file a polymorphic class that's held with smart pointers
Make avi_file a class that's held with smart pointers, encapsulate various AVI I/O structures
Make zip_file and _7z_file classes rather than having free functions everywhere
Hide zip/7z class implementation behind an interface, no longer need to call close() to send back to the cache
Don't dump as much crap in global namespace
Add solaris PTY implementation
Improve variable expansion for SDL OSD - supports ~/$FOO/${BAR} syntax
Rearrange stuff so the same things are in file module for all OSDs
Move file stuff into its own module

7z/zip open and destruct are still not thread-safe due to lack of interlocks around cache access
Directory functions still need to be moved to file module
SDL OSD may not initialise WinSock on Windows
2016-03-14 18:55:00 +11:00
hap
ff4d164355 revert test 2016-03-13 09:17:41 +01:00
hap
60e4a42cde layout: added clickable buttons to mbdtower and fxmcr165 2016-03-13 09:16:03 +01:00
Vas Crabb
46bb97d9b4 Wrap up INP header I/O 2016-03-08 22:42:24 +11:00
Vas Crabb
a5072bfd81 Fix complete failure to read zlib compressed data, handle EOF better in compressed files (nw)
Fix bug causing crash in pathological case of zero-frame INP file [Vas Crabb]
2016-03-08 20:17:43 +11:00
Vas Crabb
a830ea7627 * Support *n conversion in stream_format/string_format
* Make stream_format return characters printed
* Add iostreams with std::vector storage
* Move to type-safe templates for logerror and popmessage
* Remove now-unnecessary I64FMT from calls to logerror/popmessage
* Put some lib/util stuff in util:: namespace
* Some fixes to Japanese translation
2016-03-01 06:52:36 +11:00
Vas Crabb
aec01e7407 Replace strformat, strprintf and strcatprintf with type-safe steam_format and string_format
Update MAME to use new function
Instantiate ODR-used static constant members
Make some of the UI code more localisable
Remove use of retired functions in tools
2016-02-28 13:36:19 +11:00
Miodrag Milanovic
3abcaee63f Cleanups and version bump 2016-02-24 07:46:57 +01:00
Miodrag Milanovic
2041d88978 Remove redundant defines, in order to make translation easier (nw) 2016-02-20 17:40:05 +01:00
Michele Fochi
00aec89192 Added support for autofire under cheat menu and available only if cheats
activated.
2016-02-13 21:03:16 +01:00
Michele Fochi
f736cd5abc Added new options:
-[no]exit_after_playback (default=no)
 -[no]record_input (default=no)
Added new UI shortcut to save current timecode (default F12)
Translated variable names and comments to english language
2016-02-08 13:25:25 +01:00
Michele Fochi aka motoschifo
34bc216ef9 VideoSnaps patch
http://adb.arcadeitalia.net/videosnaps.php
2016-02-07 11:05:55 +01:00
Miodrag Milanović
36195292e3 Merge pull request #561 from ajrhacker/strings
Return std::string objects by value rather than pass by reference [ajrhacker]
2016-01-11 09:18:43 +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
Miodrag Milanovic
30c10f6f79 modernized ui_input_manager (nw) 2016-01-10 20:32:30 +01:00
Miodrag Milanovic
3e5ad46410 modernized configuration_manager (nw) 2016-01-10 15:17:18 +01:00
Miodrag Milanovic
9649088839 modernized bookkeeping manager (nw) 2016-01-10 13:19:57 +01:00
Miodrag Milanovic
4afd75e2fd Cleanups and version bump 2015-12-30 08:18:51 +01:00
Miodrag Milanovic
91605d3f4d clang-modernize part 1 (nw) 2015-12-03 18:17:25 +01:00
Miodrag Milanovic
92f81361d6 Initial conversion of core to C++14. Note that compilers are now limited to GCC 4.9.0 and up, Clang 3.4.0 and up, and VS2013 and up [Miodrag Milanovic] 2015-12-03 11:40:45 +01:00
Miodrag Milanovic
0825ce4f3b Cleanups and version bump 2015-11-25 08:22:24 +01:00
Miodrag Milanovic
d09c2b2e5d Revert "No need for simple_list_wrapper (nw)"
This reverts commit 9cf26a0f69.
2015-11-18 19:30:36 +01:00
Miodrag Milanovic
9cf26a0f69 No need for simple_list_wrapper (nw) 2015-11-18 13:39:59 +01:00
Miodrag Milanovic
61d05aacb8 Fixed some suggestions by ReSharper C++ (nw) 2015-11-14 19:05:18 +01:00
Miodrag Milanovic
d1dc775f9b Some cleanups and init fixes with help of ReSharper C++ (nw) 2015-11-11 16:31:18 +01:00
Miodrag Milanovic
7c19aac60e Rename *.c -> *.cpp in our source (nw) 2015-11-08 12:56:12 +01:00