summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/softlist.cpp
Commit message (Collapse)AuthorAgeFilesLines
* -Miscellaneous improvements for software lists: Vas Crabb2021-06-231-44/+108
| | | | | | | | | | | | * Show list name in software selection menu (machines have multiple lists). * Actually report software list parsing errors during validation. * Check that software list name attribute matches filename. * Limit software list names to 24 characters - they're getting too long, and they need to be practical in command lines. * c128.cpp: Fix dangling reference to renamed software list. -emu/ioport.cpp: Slightly better test for deselected slot cards.
* Much more core std::string_view modernization AJR2021-01-201-5/+5
| | | | | | | | | | | | | | | - Remove corestr.h from emu.h; update a few source files to not use it at all - Change strtrimspace, strtrimrightspace and core_filename_extract_* to be pure functions taking a std::string_view by value and returning the same type - Change strmakeupper and strmakelower to be pure functions taking a std::string_view and constructing a std::string - Remove the string-modifying version of zippath_parent - Change tag-based lookup functions in device_t to take std::string_view instead of const std::string & or const char * - Remove the subdevice tag cache from device_t (since device finders are now recommended) and replace it with a map covering directly owned subdevices only - Move the working directory setup method out of device_image_interface (only the UI seems to actually use the full version of this) - Change output_manager to use std::string_view for output name arguments - Change core_options to accept std::string_view for most name and value arguments (return values are still C strings for now) - Change miscellaneous other functions to accept std::string_view arguments - Remove a few string accessor macros from romload.h - Remove many unnecessary c_str() calls from logging/error messages
* start putting noexcept on things that have no business throwing exceptions, ↵ Vas Crabb2019-11-101-35/+43
| | | | starting with diimage. also fix a slight bug in the interface matching function for software list parts. (nw)
* (nw) typo in last commit Robbbert2019-04-141-1/+1
|
* (nw) softlists: offset is now optional and defaults to 0. [hap] Robbbert2019-04-141-7/+4
| | | | Modified sorcerer_cass.xml as an example.
* (nw) fix lots of inadverently mutable static pointers Vas Crabb2018-09-201-7/+7
|
* damn PCH (nw) Vas Crabb2018-06-251-0/+2
|
* simplify nodump chd check (nw) smf-2018-01-031-1/+1
|
* soflist.cpp: fixed nodump disk validation regression (nw) Ivan Vangelista2018-01-031-1/+1
|
* general cleanup: Vas Crabb2017-05-231-2/+4
| | | | | | | | | | | * move rarely-used output and pty interfaces out of emu.h * consolidate and de-duplicate forward declarations, also remove some obsolete ones * clean up more #include guard macros * scope down a few more things (nw) Everyone, please keep forward declarations for src/emu in src/emu/emufwd.h - this will make it far easier to keep them in sync with declarations than having them scattered through all the other files.
* Changed a lookup within the softlist code to use std::find_if() Nathan Woods2017-04-061-4/+7
|
* Introduce u8/u16/u32/u64/s8/s16/s32/s64 Vas Crabb2016-11-191-6/+6
| | | | | | | | | | | | * New abbreviated types are in osd and util namespaces, and also in global namespace for things that #include "emu.h" * Get rid of import of cstdint types to global namespace (C99 does this anyway) * Remove the cstdint types from everything in emu * Get rid of U64/S64 macros * Fix a bug in dps16 caused by incorrect use of macro * Fix debugcon not checking for "do " prefix case-insensitively * Fix a lot of messed up tabulation * More constexpr * Fix up many __names
* NOTICE (TYPE NAME CONSOLIDATION) Miodrag Milanovic2016-10-221-6/+6
| | | | | 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
* srcclean (nw) Vas Crabb2016-09-261-2/+0
|
* srcclean and translation regeneration Vas Crabb2016-08-291-5/+5
|
* Changed software_info::find_part() to use std::find_if() Nathan Woods2016-08-201-12/+13
|
* Standardized some names for softlist concepts Nathan Woods2016-08-201-28/+28
| | | | | | | - "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)
* Merge pull request #1222 from npwoods/move_software_name_parsing Vas Crabb2016-08-131-0/+72
|\ | | | | device_image_interface::software_name_split() ==> softlist.cpp:software_name_parse()
| * device_image_interface::software_name_split() ==> ↵ Nathan Woods2016-08-101-0/+72
| | | | | | | | | | | | 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
* | Fixed an issue that caused softlist device descriptions to be blank Nathan Woods2016-08-111-1/+2
| | | | | | | | This also fixes a likely undiscovered issue where the filename in softlist XML parse error messages was also blank
* | Converted more softlist code to use std::string Nathan Woods2016-08-101-16/+10
|/
* Redo of split of src/emu/softlist.[cpp|h] Nathan Woods2016-08-021-603/+52
| | | | | | | | 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
* Changes rom_entry from a struct to a class, storing its strings as ↵ Nathan Woods2016-08-011-38/+27
| | | | | | | 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
* std::min and std:max instead of MIN and MAX, also some more macros converted ↵ Miodrag Milanovic2016-07-311-1/+1
| | | | to inline functions (nw)
* Moved src/emu/hash.[cpp|h] into src/lib/util, and namespaced that code (and ↵ Nathan Woods2016-07-231-3/+3
| | | | hashing.[cpp|h]) into util::
* Merge pull request #1131 from npwoods/consolidate_call_softlist_load Vas Crabb2016-07-231-0/+38
|\ | | | | Consolidated implementations of device_image_interface::call_softlist_load()
| * Vas Crabb feedback: Replacing the enum with a class hierarchy, derived from ↵ Nathan Woods2016-07-231-0/+38
| | | | | | | | 'software_list_loader'
* | Added a usage of std::find_if() in softlist Nathan Woods2016-07-221-7/+14
| |
* | Cure software lists of validity checking errors (nw) AJR2016-07-211-14/+46
|/ | | | | | - 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>"
* Incorporating Vas Crabb feedback Nathan Woods2016-07-211-2/+2
|
* Changed some usage of simple_list to std::list in the softlist code Nathan Woods2016-07-211-20/+56
|
* std::string::c_str() const never returns nullptr Vas Crabb2016-07-211-43/+48
| | | | also get rid of extra length parameter using a template
* Vas Crabb feedback: Better adoption of move constructors, other cleanups Nathan Woods2016-07-201-47/+42
|
* Exposed several strings as std::string on softlist objects, and fixed a few bugs Nathan Woods2016-07-201-96/+84
|
* Using std::string more pervasively in softlist.cpp Nathan Woods2016-07-191-22/+20
|
* const correctness related changes to softlist Nathan Woods2016-07-191-8/+8
|
* no need for custom allocators (nw) Miodrag Milanovic2016-06-181-35/+1
|
* Check software parts for incompatibility as well as compatibility AJR2016-05-031-11/+61
| | | | | | | 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
* better solution for rom_ignore in softlists. nw. etabeta782016-04-251-2/+5
|
* Various cleanups suggested by static analyzer (nw) Miodrag Milanovic2016-04-241-2/+2
|
* softlist.cpp: add support for "rom_ignore". [Fabio Priuli] etabeta782016-04-231-0/+2
| | | | out of whatsnew: I'll need this only after the release, but since it made sense to have it anyway... here we are :-)
* Iterate over devices C++11 style AJR2016-04-181-10/+9
| | | | | | 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.
* lower deps on clifront.h (nw) Miodrag Milanovic2016-04-151-2/+1
|
* Iterate over core classes C++11 style AJR2016-03-311-54/+54
| | | | | | | | 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).
* Make osd_file a polymorphic class that's held with smart pointers Vas Crabb2016-03-141-2/+2
| | | | | | | | | | | | | | | 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
* * Support *n conversion in stream_format/string_format Vas Crabb2016-03-011-2/+2
| | | | | | | | | * 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
* Clean up a bit more legacy code Vas Crabb2016-02-291-12/+12
|
* Replace strformat, strprintf and strcatprintf with type-safe steam_format ↵ Vas Crabb2016-02-281-6/+5
| | | | | | | | | 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
* reverting: Miodrag Milanovic2016-01-201-1/+1
| | | | | | | SHA-1: 1f90ceab075c4869298e963bf0a14a0aac2f1caa * tags are now strings (nw) fix start project for custom builds in Visual Studio (nw)
* tags are now strings (nw) Miodrag Milanovic2016-01-161-1/+1
| | | | fix start project for custom builds in Visual Studio (nw)