summaryrefslogtreecommitdiffstatshomepage
path: root/src/lib/util (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Fixed a few missing #includes flagged by VS2019 beta, nw mooglyguy2018-12-301-0/+1
|
* (nw) So we're back to MSVC blowing up on non-trivial templates. Lovely. Vas Crabb2018-12-301-3/+10
| | | | | | | | Someone needs to get MS QA to put some non-trivial modern C++ compliation tests in the acceptance tests for their C++ compiler. Maybe MAME could even be a candidate. Well, that might be a plan if MS still had any QA. At least this makes some lines shorter (at the cost of needing more lines).
* Start cleaning up palette configuration: Vas Crabb2018-12-291-127/+113
| | | | | | | | | | * Basically, initialisers go in the constructor arguments, and things for setting format go in set_format. * Initialisation patterns can be specified with an enum discriminator or with a FUNC and optionally a tag. * Formats can be specified with an enum discriminator or a size and function pointer. * You must always supply the number of entries when setting the format. * When initislising with a paletter initialisation member, you can specify the entries and indirecte entries together. * The palette_device now has a standard constructor, so use .set_entries if you are specifying entry count with no format/initialisation. * Also killed an overload on delegates that wasn't being useful.
* Fix compilation errors with -Og Celelibi2018-12-111-1/+1
| | | | Signed-off-by: Celelibi <celelibi@gmail.com>
* Renamed flipendian -> swapendian, as I spent minutes trying to find the ↵ mooglyguy2018-11-052-12/+12
| | | | functions to tell to another person who spent minutes trying to find the functions, and we refer to such functions as swapping just about everywhere else in the codebase, nw
* util::fifo.queue_length() (nw) Patrick Mackinlay2018-10-181-0/+11
| | | | Not 100% confident about the variable type, and there may still be some debate over the function name (trying to avoid confusion with the length of the container, or with the number of empty slots), so appreciate review/comments.
* lib/util/options.cpp: Don't try to set the value of a header (nw) AJR2018-10-041-1/+2
|
* -options: Restored erroneously-removed game-specific INI option reversion ↵ mooglyguy2018-10-052-0/+29
| | | | between runs. Fixes MT#06171. [Ryan Holtz]
* (nw) Fix inadvertently non-const pointers - emu.h edition Vas Crabb2018-09-202-10/+10
| | | | | | | | | | | | | | | | This fixes all the non-const pointers with static lifetime I could find with a cheap grep (in combination with the last commit). There are likely more lurking that I didn't find, and things that aren't pointers that should be made const. There are still a few mutable static pointers that break the ability to host multiple drivers but these require refactoring to fix: src/devices/sound/sidvoice.cpp:static const uint8_t* waveform30; src/devices/sound/sidvoice.cpp:static const uint8_t* waveform50; src/devices/sound/sidvoice.cpp:static const uint8_t* waveform60; src/devices/sound/sidvoice.cpp:static const uint8_t* waveform70; src/mame/drivers/pockstat.cpp: static const char *gme_id = "123-456-STD"; src/mame/machine/namco51.cpp: static const game_driver *namcoio_51XX_driver = nullptr;
* chdcd: also accept .toast as a synonym for ISO images (nw) arbee2018-09-121-1/+1
|
* Fixed pmd85 regression, nw. Also replaced a fail-safe in ↵ mooglyguy2018-08-301-14/+28
| | | | src/lib/util/palette.cpp with an assert. Expect regressions, so better to get it out of the way now. nw
* imgtool: fix off by one error with leap years (nw) balr0g2018-08-131-1/+1
|
* make rectangle work better with constexpr, change many things to use ↵ Vas Crabb2018-07-282-55/+55
| | | | designated getters/setters (nw)
* Better support for screen orientation/geometry: Vas Crabb2018-07-2622-103/+118
| | | | | | | | | | | | | | | | | | | | | * Eliminates the need for the horizontal/vertical/LCD/SVG layout files * Screens can now have orientation and physical aspect ratio specified * RASTER/VECTOR defaults to 4:3, LCD/SVG defaults to square pixels at config time * System orientation is applied on top of screen orientation Automatically generated single-screen views and orientation flags in XML output now work correctly for systems with multiple screens in different geometries/orientations, e.g. housemnq, rocnms, stepstag, or netmerc. The "core rotation options" only interact with system orientation. Allowing multi-screen systems to work well with one monitor per emulated screen is a complex topic. System orientation also affects the GFX viewer while screen orientation doesn't. The orientation displayed in the system selection menu is from the system orientation. Let me know if I've broken any systems or use cases. Also, add save state support for std::array/C array nested to any depth.
* rendlay: allow user variables and repetition in layouts, also add a few more ↵ Vas Crabb2018-07-221-1/+1
| | | | predefined variables
* fix building with clang 6.0.1 (nw) smf-2018-07-073-3/+4
|
* emumem: Backend modernization [O. Galibert] Olivier Galibert2018-06-291-0/+8
|
* Fix error in debug build with SMS card options (nw) AJR2018-05-211-1/+1
|
* move some not-directly-emulation-related helpers to lib/util, further ↵ Vas Crabb2018-04-012-0/+55
| | | | extricate emu.h from tools (nw)
* Enable use of system-wide asio, glm and rapidjson (#3172) Julian Sikorski2018-02-086-6/+6
| | | | | | | | | | | | * Fixed building using system utf8proc * Fixed building using system portaudio * Allow using system-wide asio headers (1.11.0 or higher required). * Allow using system-wide glm headers * Allow using system-wide rapidjson headers
* Eliminate core_strdup (nw) AJR2018-01-242-25/+0
|
* Fixes for Coverity "Resource leak" warnings (#3089) Oliver Stöneberg2018-01-211-0/+4
| | | | | | | | | | * lib/util/chdcd.cpp: fixed Coverity "Resource Leak" warning (nw) * src/lib/util/chdcd.cpp: fixed more Coverity "Resource Leak" warnings (nw) * tools/imgtool/modules/mac.cpp: fixed Coverity "Resource Leak" warnings (nw) * devices/bus/ti99/gromport/cartridges.cpp: fixed Coverity "Resource Leak" warning (nw)
* Convert zippath directory to a C++ interface Vas Crabb2018-01-102-739/+555
|
* chdcd: recognize ISO images with 2336 byte sectors. [R. Belmont, Kale] arbee2018-01-081-0/+6
|
* use C locale for int/float in XML files Vas Crabb2018-01-051-22/+48
|
* dvdisasm: Overhaul [O. Galibert] Olivier Galibert2017-11-262-0/+116
| | | | | | | | Disassemblers are now independant classes. Not only the code is cleaner, but unidasm has access to all the cpu cores again. The interface to the disassembly method has changed from byte buffers to objects that give a result to read methods. This also adds support for lfsr and/or paged PCs.
* srcclean (nw) Vas Crabb2017-10-221-15/+15
|
* Appease MSVC (nw) AJR2017-10-191-0/+1
|
* Created a more flexible imgtool::datetime structure for use within Imgtool ↵ npwoods2017-10-171-7/+75
| | | | | | | | | | | | | | (#2263) * Created a more flexible imgtool::datetime structure for use within Imgtool This is intended to replace most usage of time_t * Changing the granularity of imgtool_clock from 1ms to 100ns, as per Vas' suggestion * Created arbitrary_datetime in timeconv.h to facilitate interpretation of datetime info I concluded that invoking std::mktime on manually assembled std::tm is bad, because it is indeterminate how the std::tm members may be "dominant". This required that I go further in imgtool, and update a number of drivers and eliminate the parameter of imgtool::datetime that takes std::tm.
* voodoo: Use table lookup for RGB565 conversion. (nw) Ted Green2017-10-011-0/+2
|
* fix for clang 5 unused lambda capture errors (nw) smf-2017-09-242-4/+4
|
* unzip: defer decoding DOS timestamps (nw) Vas Crabb2017-09-111-13/+29
|
* that doesn't require an instance (nw) Vas Crabb2017-09-032-19/+20
|
* png: make verify_header public (nw) hap2017-09-022-15/+27
|
* Returning a reference from various corestr.cpp calls to avoid unnecessary ↵ npwoods2017-09-022-13/+13
| | | | string copies (#2613)
* srcclean (nw) Vas Crabb2017-08-275-9/+9
|
* needed for external work (nw) MetalliC2017-08-262-0/+11
|
* add a not BIOS machine filter (useful in composite filters), support RGB PNG ↵ Vas Crabb2017-08-151-7/+19
| | | | with transparent pen because why not
* fix indexed transparency (nw) Vas Crabb2017-08-141-3/+3
|
* PNG: support greyscale with transparent pen, encode/decode text chunks as ↵ Vas Crabb2017-08-142-142/+168
| | | | UTF-8, don't crash on trying to write back a text chunk read from a PNG file, enforce restrictions on keywords
* png: make it not leak memory by default, and look a but more like C++ Vas Crabb2017-08-132-460/+408
|
* png: support 16-bit samples Vas Crabb2017-08-131-21/+35
|
* PNG: fix unfiltering Vas Crabb2017-08-121-76/+71
|
* ui: save/restore images/info selection in right panel Vas Crabb2017-08-121-0/+2
|
* More PNG handling overhaul: Vas Crabb2017-08-122-120/+217
| | | | | | | * Unify code for copying PNG data into bitmap for MAME and pngcmp * Fix upsampling of monochrome PNGs (need to splat across byte) * Add support for greyscale+alpha * Detect more unsupported conditions rather than just behaving badly
* add minimal support for reading Adam7 interlaced PNG Vas Crabb2017-08-121-360/+372
| | | | | | | | | | | | | (nw) This is the path of least resistance, and I plan to fix it up later, I just wanted to get it to actually work first. Decompression and unfiltering is fully supported, at least for all the pixel formats that previously worked. Expanding 1/2/4bpp to 8bpp should work properly, too. Bitmap mapping for Adam7 is only implemented in rendutil.cpp which is whate everything in MAME uses. The function in png.cpp (used by pngcmp) has not been updated. At some point I'll unify at least one of the functions in rendutil.cpp with the one in png.cpp and we can go from three functions that need to do the mapping down to two at the most.
* Adding #include <cctype> Nathan Woods2017-08-091-0/+1
|
* Refactor server_{ws,http}.hpp into separate interface and implementation. ↵ Christian Brunschen2017-08-064-1157/+1238
| | | | | | (#2548) Refactor server_{ws,http}.hpp into separate interface and implementation headers. When shutting down the HTTP server, also explicitly stop the asio::io_context.
* Imgtool: Merged normalize_filename() into cannonicalize_path(), ↵ npwoods2017-07-302-0/+26
| | | | C++-ification (#2527)
* Add a method for copying part of an XML tree into another tree and use it to ↵ Vas Crabb2017-07-212-7/+60
| | | | fix Cocoa debugger fatal error