| Age | Commit message (Collapse) | Author |
|
Removes even more usages of the global system instance, trimming away
more dependencies on global variables and making them explicit in the
interface.
|
|
In all usages of LogSetting(), string literals are provided.
std::string_view is better suited here, as we won't churn a bunch of
string allocations every time the settings are logged out.
While we're at it, we can fold LogSetting() into LogSettings(), given
it's only ever used there.
|
|
This is only used in one place, so we can fold it into the calling code,
eliminating a place for the global system instance to be used.
|
|
|
|
|
|
|
|
- This checks for and removes old updates or dlc based on title id. If a content meta nca exists within the registered cache, it will attempt to remove all the ncas associated with the content meta before installing a new update/dlc
|
|
|
|
This was based on Atmosphére's DMNT Cheat VM:
- https://github.com/Atmosphere-NX/Atmosphere/blob/master/stratosphere/dmnt/source/cheat/impl/dmnt_cheat_vm.hpp
- https://github.com/Atmosphere-NX/Atmosphere/blob/master/stratosphere/dmnt/source/cheat/impl/dmnt_cheat_vm.cpp
From Atmosphére's documentation: "Code type 0xC3 reads or writes a static register with a given register"
There are now only two remaining opcodes to implement (PauseProcess and BreakProcess)
This is untested because I don't have any experience in testing cheats on yuzu
|
|
common/swap: Make use of std::endian
|
|
Allows removing a bunch of defines in favor of a two liner.
|
|
Now that we use C++20, we can also make use of std::erase_if instead of
needing to do the erase-remove idiom.
|
|
maxwell_dma: Match official doc and support pitch->voxel copies
|
|
|
|
Creates a new function that can be expanded later to fix other settings that are known to cause emulation errors across executables.
|
|
|
|
configuration: Add settings to enable/disable specific CPU optimizations
|
|
filesystem: Set various NAND partition sizes to their defaults
|
|
gcadapter: Fix crash if gc configured but adapter not connected
|
|
|
|
gcadapter: Tidy up compiler warnings
|
|
udp: Silence a C++20 deprecation warning
|
|
configure_general: Explicitly guard use_multi_core when applying setting
|
|
Another error that got pass me and only noticed when I was doing the per-game settings UI rework. This prevents asynchronous GPU emulation from being disabled while multi core is enabled as a result of a poorly put together per-game config.
|
|
This is likely an oversight during a rebase. Guards use_multi_core to be only set when the global value is in use. It should not make a difference given the current code base, but makes the code sensible.
|
|
Avoids redundant repetitions of variable names, and allows assignment
all in one statement.
|
|
cmake: pass libusb include directory
|
|
Remnant of an early implementation.
|
|
Avoids redundant variable name repetitions.
|
|
|
|
This isn't used, so it can be removed entirely, shrinking the structure
size by 8 bytes.
|
|
We can define an alias for the index arrays and then just reuse it to
make the code nicer to read.
|
|
We can alter the structure so that we can use designated initializers in
the array, eliminating the comments that indicate their field names.
|
|
Normalizes pixel format names to match Vulkan names. Previous to this
commit pixel formats had no convention, leading to confusion and
potential bugs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Profiling shows that this is a highly contested mutex, causing dimishing
results compared to a OS lock. std::mutex implementations can spin for a
while before falling back to an OS lock.
This avoids wasting precious CPU cycles in a no-op.
|
|
Now that we make use of C++20, we can use designated initializers to
make things a little nicer to read.
|