| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
util/bitmap.cpp, util/palette.cpp: Marked lots of things constexpr.
Bitmaps don't throw exceptions on allocation failure, they just become
invalid. Almost nothing in MAME actually checks for this.
emu/profiler.cpp: Abort if the profile stack overflows rather than
throwing an exception. This is a developer feature and if it overflows,
the code is broken. Calling a noreturn noexcept function generates less
code than throwing an exception, which adds up.
util/strformat.cpp: Traded away some unnecessary flexibility for more
compact code. The stream objects must derive from std::basic_ostream
now - they can't just be any old objects with the expected operators.
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* util/strformat.h: Found a SFINAE trick to detect absence of stream-out
operators. Fixes building with C++20 standard library (#6275).
* util/delegate.h: Fixed a commend and removed an unused declaration
from MSVC member function pointer wrapper.
* util/delegate.h: Added support for discarding functoid return values
for delegates returning void.
* util/delegate.h: Added support for using std::ref to bind non-copyable
functoids.
|
|
|
|
|
|
|
|
|
| |
Added more modern generic I/O interfaces with implementation backed by stdio, osd_file and core_file, replacing io_generic. Also replaced core_file's build-in zlib compression with a filter.
unzip.cpp, un7z.cpp: Added option to supply abstract I/O interface rather than filename.
Converted osd_file, core_file, archive_file, chd_file and device_image_interface to use std::error_condition rather than their own error enums.
Allow mounting TI-99 RPK from inside archives.
|
|
|
|
|
|
|
| |
- vecstream.h: Revert changes made in aa29519528cb3dbdbfac56819bea670ed8c56c5d. The std::string_view conversion has been made a non-member function (util::buf_to_string_view) and moved to coretmpl.h.
- strformat.h: Remove the using declaration importing util::string_format into the global namespace. It has been moved to emucore.h and a few tool sources; other references have been qualified.
- osdcore.h: Split out file, directory and path classes and methods to a new header (osdfile.h), Doxygenizing the documentation comments.
- Disaggregate many #includes that were including other standard or custom headers. emu.h now includes basically the same things that it did, but other headers have been streamlined; for instance, emucore.h no longer stealth-includes osdcore.h several ways.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Exposed the "native snapview" option on the video manager. Trying to
use presence of a single view is a poor proxy that breaks with
multi-screen systems.
Allow rotation to be changed for native snapshot views, and disable the
zoom to screen area control when it has no effect on the selected view.
Treat an empty string identically to "auto" for view selectction.
Previously this was being used for prefix matching so it would force the
first view. (This caused the bad snapshot view selection. It had been
relying on "internal" not being a common view name prefix so it fell
through to automatic selection, but when changed to an empty string it
forced the first view.)
Documented "auto" as well as "native" for the -snapview option and
changed the default to auto rather than an empty string for consistency
with the -viewN options.
Added [w]string_view handlers to the stuff that's instantiated in
strformat.cpp since we'll be increasingly using them.
Cleaned up and updated some documentation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
More Lua interface cleanup, additional properties and methods, and
documentation migration/expansion.
Emulated switch inputs can have "not" codes applied to host input axis
directions. It works the same way as host switch inputs - push twice
for a "not" prefix.
Input polling helpers no longer need to store state in the input device
items. There’s less leakage, and less chance of things interfering with
each other.
Allow snapshot view options to be configured through the internal UI via
the video options menu. Made video options menus place initial focus on
the currently selected view item. Removed some crud from the menu base
class.
Fixed the description of the "snapview" option. The value to get raw
screen pixels was changed to "native" a long time ago but the
description was never updated.
Re-arranged the Golden Poker button lamps so that the 6-button layouts
for Jolli Witch and Wild Witch make sense. In 6-button mode, the hold
buttons double as bonus game and bet buttons, but the lamp outputs don't
change. The simplest way to deal with this without requiring the user
to switch views or using layout scripting is to place the dedicated
buttons directly below the hold buttons that correspond to them.
Removed some software list data that was redundantly copied into
device_image_interface (m_supported was never even set, so it didn't
even work), and made crc() work better (previously it wasn't
recalculuated after unloading and loading another image).
Made strformat.h and devcb.h play nicer with C++17 and pre-standard
C++20. Format precision now correctly limits the length of string
views. Confirmed that strformat.{h,cpp} works with pre-standard C++20
support in GCC 9.
Removed an auto_alloc from cpu/arm7.
|
|
|
|
|
|
|
| |
* Updated sol2 to 3.2.2
* Updated pugixml to 1.10
* Increased minimum clang version to 6
* Cleaned up some stuff that can use new features
|
| |
|
|
|
|
|
|
|
| |
(nw) I've triple-checked the code and it looks sane, but I'm still a bit nervous about changing
such a fundamental part of MAME. If integer formatting appears to have changed after this, let
me know ASAP. Also removed a workaround for older versions of GNU libstdc++ with incomplete
C++14 support.
|
| |
|
|
|
|
| |
(nw)
|
|
|
|
| |
default_semantics is used by apply so need to be public
|
|
|
|
| |
instantiations of parts of string formatting engine
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
It's possible to make GCC use older/newer libstdc++ or to use Clang with libstdc++
This is still the wrong place for it - we should have all compiler/library workarounds in one place, not at point of use, to avoid duplication/conflicts
|
| |
|
| |
|
|
|
|
|
|
| |
compile time and executable size a bit
Small run-time performance penalty shouldn't be a big deal
|
| |
|
| |
|
|
|
|
|
|
|
|
|
| |
* 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
|
| |
|
|
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
|