Commit Graph

44 Commits

Author SHA1 Message Date
Miodrag Milanovic
ddb290d5f6 NOTICE (TYPE NAME CONSOLIDATION)
Use standard uint64_t, uint32_t, uint16_t or uint8_t instead of UINT64, UINT32, UINT16 or UINT8
also use standard int64_t, int32_t, int16_t or int8_t instead of INT64, INT32, INT16 or INT8
2016-10-22 13:13:17 +02:00
Vas Crabb
33b2c73395 srcclean (nw) 2016-09-26 04:51:59 +10:00
Vas Crabb
c960435d3e srcclean and translation regeneration 2016-08-29 02:02:04 +10:00
Nathan Woods
b9487a6c8a Changed software_info::find_part() to use std::find_if() 2016-08-20 11:30:30 -04:00
Nathan Woods
e17497b9ee Standardized some names for softlist concepts
- "identifier" for a potentially fully qualified way to reference a software item (e.g. - apple2gs:3stooges:flop1)
- "list_name" for the name of a list (e.g. - apple2gs or a800_flop)
- "software_name" for the name of a software item (e.g. - 3stooges)
- "part_name" for the name of a part (e.g. - flop1)
2016-08-20 11:30:10 -04:00
Vas Crabb
41e4133d0b Merge pull request #1222 from npwoods/move_software_name_parsing
device_image_interface::software_name_split() ==> softlist.cpp:software_name_parse()
2016-08-13 01:00:52 +10:00
Nathan Woods
549df5e6b0 Fixed an issue that caused softlist device descriptions to be blank
This also fixes a likely undiscovered issue where the filename in softlist XML parse error messages was also blank
2016-08-11 07:40:20 -04:00
Nathan Woods
68c2d88d51 Converted more softlist code to use std::string 2016-08-10 08:08:10 -04:00
Nathan Woods
9f5325a311 device_image_interface::software_name_split() ==> softlist.cpp:software_name_parse()
Also consolidated with code that performed a quick pass to identify whether a piece of text is a software name
2016-08-10 07:22:46 -04:00
Nathan Woods
f9db568146 Redo of split of src/emu/softlist.[cpp|h]
This is a redo of the split first submitted in #137, with the following differences:
* The newly refactored rom_entry data structure is used
* I've kept the refactored softlist code in src/emu, in order to defer the mechanical process of moving it
* I've kept includes of softlist[_dev].h out of diimage.h, so that changes to either do not trigger an emu.h recompilation
* Obviously, this goes against the latest master
2016-08-02 17:40:49 -04:00
Nathan Woods
ee302246c9 Changes rom_entry from a struct to a class, storing its strings as std::string and separated the declaration into a new header.
This should really be followed up by further changes to eliminate the usage of the weird accessor macros in favor of conventional C++
accessors
2016-08-01 08:01:34 -04:00
Miodrag Milanovic
9667c6a8cc std::min and std:max instead of MIN and MAX, also some more macros converted to inline functions (nw) 2016-07-31 14:41:02 +02:00
Nathan Woods
4aa0ab1724 Moved src/emu/hash.[cpp|h] into src/lib/util, and namespaced that code (and hashing.[cpp|h]) into util:: 2016-07-23 12:49:33 -04:00
Vas Crabb
fe956e9aa9 Merge pull request #1131 from npwoods/consolidate_call_softlist_load
Consolidated implementations of device_image_interface::call_softlist_load()
2016-07-23 23:18:50 +10:00
Nathan Woods
e45d316bc9 Vas Crabb feedback: Replacing the enum with a class hierarchy, derived from 'software_list_loader' 2016-07-23 09:10:14 -04:00
Nathan Woods
87d53be505 Added a usage of std::find_if() in softlist 2016-07-22 07:51:56 -04:00
AJR
8995d84034 Cure software lists of validity checking errors (nw)
- Fix stupid logic errors in software_list_device::internal_validity_check
- Allow info and feature list entries to provide an empty string as the value
- Change a couple of null publisher entries in vz_cass.xml to "<unknown>"
2016-07-21 18:58:03 -04:00
Nathan Woods
7e729626ce Incorporating Vas Crabb feedback 2016-07-21 06:40:07 -04:00
Nathan Woods
a1e4e90619 Changed some usage of simple_list to std::list in the softlist code 2016-07-21 06:17:14 -04:00
Vas Crabb
880d31a573 std::string::c_str() const never returns nullptr
also get rid of extra length parameter using a template
2016-07-21 13:42:39 +10:00
Nathan Woods
40a9e78704 Vas Crabb feedback: Better adoption of move constructors, other cleanups 2016-07-20 19:16:30 -04:00
Nathan Woods
c86ab9dbac Exposed several strings as std::string on softlist objects, and fixed a few bugs 2016-07-20 09:44:27 -04:00
Nathan Woods
8e169de1cd Using std::string more pervasively in softlist.cpp 2016-07-19 22:19:08 -04:00
Nathan Woods
12369fe758 const correctness related changes to softlist 2016-07-19 20:40:45 -04:00
Miodrag Milanovic
62805f7cac no need for custom allocators (nw) 2016-06-18 15:32:15 +02:00
AJR
32fbe35386 Check software parts for incompatibility as well as compatibility
This new softlist feature is now used by genesis_tmss to exclude several entries from megadriv.xml.

- Use popmessage instead of osd_printf_warning for incompatibility warnings
- Unify some common software loading code, which reduces indentation levels in clifront.cpp
2016-05-03 23:52:32 -04:00
etabeta78
221cce0f06 better solution for rom_ignore in softlists. nw. 2016-04-25 17:58:20 +02:00
Miodrag Milanovic
89c5e1f681 Various cleanups suggested by static analyzer (nw) 2016-04-24 12:58:31 +02:00
etabeta78
1f2f3cc98d softlist.cpp: add support for "rom_ignore". [Fabio Priuli]
out of whatsnew: I'll need this only after the release, but since it made sense to have it anyway... here we are :-)
2016-04-23 19:17:48 +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
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
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
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
63f0a918de Clean up a bit more legacy code 2016-02-29 01:53:08 +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
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
1f90ceab07 tags are now strings (nw)
fix start project for custom builds in Visual Studio (nw)
2016-01-16 14:54:42 +01:00
Miodrag Milanovic
ce75a5d682 removed memory tracking (nw) 2016-01-08 12:41:13 +01: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
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