summaryrefslogtreecommitdiffstatshomepage
path: root/src/emu/softlist.cpp
Commit message (Collapse)AuthorAgeFilesLines
* util/ioprocs.cpp: Added wrappers for common patterns. (#11608) Vas Crabb2024-02-251-2/+1
| | | | | emu/diimage.h: Removed fread overloads that allocate memory for output. util/core_file.cpp: Changed output size of load to size_t.
* More user experience improvements: Vas Crabb2021-10-151-35/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | frontend: Made it possible to cancel a media audit while it's in progress. Also made the media audit multi-threaded so it's faster. frontend: Made the DIP switches in the DIP switch preview clickable. frontend: Made the system and software selection menus leave focus on the same system when clearing the search rather than jumping to the first item. Also fixed a couple of bugs in the logic for keeping the selected item visible. frontend: Fixed a few places that weren't showing localised system names. frontend: Made UI Cancel clear a search in the file manager the same way it does on the system and sofware selection menus. frontend: Made it possible for plugin menus to handle UI Cancel more naturally, backing up to the previous plugin menu rather than dropping straight back to the list of plugins. Updated the autofire, cheat and cheatfind plugins, and fixed a few other issues in the cheatfind plugin. debugger: Made the mount and unmount commands accept instance names as well as brief instance names. Also updated another page of debugger documentation.
* More user experience improvements: Vas Crabb2021-10-141-17/+13
| | | | | | | | | | | | | | | | | | | | | | | | | frontend: Allow clicking the adjuster arrows on menu items. This allows things like video options and DIP switches to be configured using a mouse only. Also fixed a bug preventing paging menus with a mouse if the first item scrolled off the bottom is not selectable. debugger: Allow wplist and bplist to accept a CPU argument to list breakpoints/watchpoints for a single CPU only. debugger: Fixed some corner cases in address space syntax in memory accesses, and allowed memory region accesses to use tags relative to the visible CPU. emu/softlist.cpp: Ignore notes elements when loading software lists. It's effectively a comment that isn't a comment syntactically, it's being used for things that are not useful to display in the internal UI, and it slows down startup. docs: Updated three more pages of debugger documentation. Also updated more of the built-in debugger help. minimaws: Fixed up schema for software list notes, made sofware list notes display initially collapsed.
* Overdue internal UI enhancements (#8674) Vas Crabb2021-10-091-28/+30
| | | | | | | | | | | | | | | | * frontend: Added support for message context to localisations. * frontend: Added string_view versions of the message lookup functions. * frontend: Added a few more folder options to the internal UI. * emu/softlist.cpp: Use more appropriate containers. * Switched to Python 3 by default - this will become a requirement. * Updated msgfmt.py for message context support. * frontend: Show all software item info in the internal UI. * frontend: Search alternate titles in software selection menu. * 3rdparty/utf8proc: Updated to v2.6.1 (has several fixes). * frontend: Added software filters for common info fields. * frontend: Allow UI manager to hold onto persistent session data. * frontend: Cache software lists for eight machines. * frontend: Added support for loading localised system names. * frontend: Add UI for selecting localised system names.
* softlist.cpp: Add support for a 'notes' field to store information ab… (#8482) wilbertpol2021-10-051-2/+29
| | | | | * softlist.cpp: Add support for a 'notes' field to store information about a software list or software list item. [Wilbert Pol] * Add software list and software notes to minimaws
* util: Further API cleanups: (#8661) Vas Crabb2021-10-051-13/+11
| | | | | * Turned `core_file` into an implementation of `random_read_write`. * Turned PNG errors into a standard error category. * Added a helper for generating what look like derived classes on-the-fly.
* -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).