| Age | Commit message (Collapse) | Author |
|
MathUtil: Simplify SaturatingCast implementation and fix edge case.
|
|
Common/Timer: Add a SteadyAwakeClock class to make play time tracking ignore time while suspended.
|
|
std::cmp_less/cmp_greater and fix a floating point edge case.
Thanks to Dentomologist for catching the edge case.
|
|
|
|
|
|
Qt: Better wayland detection to enforce xcb
|
|
BTReal: Implement Realtek firmware loading.
|
|
In certain cases, the platform can be "wayland-egl", "wayland-xcomposite", and other values for which I haven't found a full list yet. Instead of matching only "wayland", we now look for "wayland" anywhere in the `QT_QPA_PLATFORM` string in a case-insensitive manner.
Acknowledgements:
`CaseInsensitiveContains`' implementation was heavily inspired by GNU's non-standard glibc `strcasestr` function, which can be found here licensed under GPLv2 or later: https://ftp.gnu.org/gnu/libc/
|
|
Avoid map/set double lookups
|
|
For thread safety, we shouldn't return any pointers or references that
can be used to mutate the state of the PPCSymbolDB. This should be the
final part of making PPCSymbolDB thread safe unless I've missed
something.
|
|
9395238 added locking in some PPCSymbolDB functions that access member
variables, but far from all. To ensure thread safety, this commit adds
the missing locking.
|
|
By building the map in a local variable and then swapping it with the
member variable, we avoid the need to hold a lock while building the
map.
|
|
running time.
|
|
Logic and structures are largely taken from Linux source:
drivers/bluetooth/btusb.c
drivers/bluetooth/btrtl.c
drivers/bluetooth/btrtl.h
|
|
|
|
Otherwise we include Windows headers in the entire codebase through CommonFuncs.h
|
|
WiiSaveBanner: fall back to $userdir/Load/WiiBanners
|
|
Require ReadArray and WriteArray to be called with a trivially copyable
type.
ReadArray and WriteArray call std::fread and std::fwrite respectively.
These functions trigger undefined behavior when the objects are not
trivially copyable, so this adds that requirement to the callers.
|
|
|
|
Fix some common anti-patterns with these data structures.
- You can dereference the iterator returned by `find` to access the
underlying value directly, without an extra `operator[]`/`at`.
- Rather than checking for an element before insertion/deletion, you can
just do the operation and if needed check the return value to
determine if the insertion/deletion succeeded.
|
|
Common: Replace Contains and ContainsSubrange with C++23 std::ranges equivalents
|
|
Unlike custom banners which work as an override, this mechanism works as
a fallback. The use case is if you have games you don't really play but
want to keep around for testing purposes without filling up your NAND
with lots of saves. For ease of use, the directory structure is the same
but only title/$title_hi/$title_lo/data/banner.bin files are
relevant.
|
|
as it will be needing a mutex.
Cleanup loading code and reduce amount of signals.
On boot. allow previously loaded map to be kept, if its filename matches. Useful for restarting a game with a large symbol map.
|
|
Debugger Add note-type symbols .
|
|
instructions, or small groups of instructions.
Notes are separate from function symbols, and can be searched separately.
Unlike functions, notes of different length can overlap each other.
In the instruction window, a note will always display over the function symbol.
|
|
Host: Implement a Windows-only implementation of `GetDeviceNameFromVIDPID`
|
|
|
|
|
|
fmt: Replace deprecated `fmt::localtime` usage with `Common::LocalTime`
|
|
tygyh/Enforce-overriding-destructor-style-Core&UnitTests
Core & UnitTests: Make overriding explicit and remove redundant virtual specifiers on overriding destructors
|
|
receive callbacks about filesystem level events for anything under that path
|
|
Common: Use feature macros for better compatibility
Common/Contains.h: fix linting issue
Common/Contains.h: Add C++23 TODO
Common/Contains.h: Fix comment lint issue.
|
|
Use minizip-ng in non-compatibility mode
|
|
|
|
|
|
Crypto/SHA1: Re-add memcpy avoiding optimization to BlockContext::Update.
|
|
|
|
|
|
|
|
Crypto/SHA1: Fix past-the-last-element std::array access and modernize code.
|
|
GekkoDisassembler: standardize SPR names and add missing ones
|
|
|
|
Common: Add AsyncWorkThread.
|
|
StringUtil: Use concepts instead of enable_if.
|
|
Common: Add MoveOnlyFunction.
|
|
Common::UniqueBuffer.
|
|
This fixes a memory leak that would occur when the Android frontend
calls LogManager::Init more than once in order to reload settings.
Note that the log window listener is now owned by LogManager instead of
by the frontend, making it consistent with the other log listeners.
|
|
Config: Add locking for config changed callbacks
|
|
|
|
|