| Age | Commit message (Collapse) | Author |
|
We can just call the .data() member of path instead of constructing a
completely new string.
|
|
Keeps the function tables up to date.
Updated based off information from Switchbrew.
|
|
This properly handles unicode-based paths on Windows, while opening a
raw stream doesn't out-of-the-box.
Prevents file creation from potentially failing on Windows PCs that make
use of unicode characters in their save paths (e.g. writing to a user's
AppData folder, where the user has a name with non-ASCII characters).
|
|
These functions are marked for deprecation and it's recommended that the
*_ret variants be used instead.
|
|
Since the introduction of this library, numerous improvements have been
made. Notably, many of the warnings we would get by simply including the
library header have now been fixed. This makes it much easier to make
conversion warning an error.
|
|
These are fairly trivial to resolve and most of the changes entail
using RESULT_UNKNOWN over ResultCode(-1).
|
|
We simply need to turn the literal argument to std::accumulate into a
double, rather than an int.
|
|
|
|
|
|
Uncovered a bug within Thread's SetCoreAndAffinityMask() where an
unsigned variable (ideal_core) was being compared against "< 0", which
would always be a false condition.
We can also get rid of an unused function (GetNextProcessorId) which contained a sign
mismatch warning.
|
|
Resolves a few trivial sign conversion/mismatch errors.
|
|
Will be used to reduce the overall duplication of the same magic value
all over the codebase in following changes.
|
|
|
|
The constructor was implicitly using signed->unsigned conversions to
produce 0xFFFFFFFF. We can just specify this explicitly with UINT32_MAX.
|
|
While we're at it, this also resolves a type truncation warning as well,
given the code was truncating from a 64-bit value to a 32-bit one.
|
|
Quite frequently there have been cases where code has been merged into
the core that produces warning. In order to prevent this from occurring,
we can make the compiler flag these cases and allow our CI to flag down
any code that would generate these warnings.
This is beneficial given silent conversions from signed/unsigned can
result in logic bugs. This forces one writing changes to be explicit
about when signedness conversions are desirable, rather than leaving it
up to readers' interpretation.
Currently the codebase isn't in a state where it will build successfully
with this change applied, but this will be addressed in subsequent
follow-up changes. This set of changes will focus on making it build
properly with these changes for MSVC as a starting point for basic
coverage.
|
|
|
|
kernel: Improve events
|
|
hid: Stub SetNpadJoyAssignmentModeSingle and GetNpadHandheldActivationMode
|
|
- Zero initialization here is useful for determinism.
|
|
|
|
- This does not actually seem to exist in the real kernel - games reset these automatically.
# Conflicts:
# src/core/hle/service/am/applets/applets.cpp
# src/core/hle/service/filesystem/fsp_srv.cpp
|
|
|
|
SetApplicationCopyrightImage and SetApplicationCopyrightVisibility
These commands require Screenshots to be implemented anyway, so they are safe to stub for now.
|
|
kernel/scheduler: Minor changes
|
|
savedata_factory: Automatically create certain savedata
|
|
This is only compared against, so it can be made const.
|
|
|
|
Reduces the overall amount of code.
|
|
Adjusts the formatting of a few of the comments an ensures they get
recognized as proper Doxygen comments.
|
|
Kernel: Implement a New Thread Scheduler V2
|
|
hid/npad: Minor cleanup
|
|
After further hardware investigation, it appears that some games, perhaps those more lazily coded, will not call EnsureSaveData, meaning that they expect the normal (current) save to be automatically made. Additionally, some games do not create a cache or temporary save before use.
In these 3 specific instances, the save is created automatically for the game if it doesn't exist.
|
|
|
|
|
|
dmnt_cheat_vm: Correct register Restore and ClearRegs behavior
|
|
Previously these were performing the same behavior as the Save and
ClearSaved opcode types.
|
|
service/apm/controller: Minor interface changes
|
|
ConnectAllDisconnectedControllers()
We should be setting the connection state to true, otherwise we aren't
actually making the controllers connected like the function name
indicates.
|
|
While not an issue, it does prevent fallthrough from occurring if
anything is ever added after this case (unlikely to occur, but this
turns a trivial "should not cause issues" into a definite "won't cause
issues).
|
|
Performs the same behavior, but is built into the core language itself.
No functional change.
|
|
The const qualified variant can also be called in non-const contexts, so
we can remove the non-const variant to eliminate a bit of code
duplication.
|
|
Clearly separate these from the variable declarations to make them more
visible.
|
|
Amends the initializer lists to be ordered in the same manner that
they're declared within the class.
|
|
Amends the initializer lists to be ordered in the same manner that
they're declared within the class.
|
|
over a map
While a map is an OK way to do lookups (and usually recommended in most
cases), this is a map that lives for the entire duration of the program
and only deallocates its contents when the program terminates.
Given the total size of the map is quite small, we can simply use a
std::array of pairs and utilize std::find_if to perform the same
behavior without loss of performance.
This eliminates a static constructor and places the data into the
read-only segment.
While we're at it, we can also handle malformed inputs instead of
directly dereferencing the resulting iterator.
|
|
This doesn't modify instance state, so it can be made const qualified.
|
|
General fixes to Async GPU
|
|
{bcat, gpu, nvflinger}: Remove trivial usages of the global system accessor
|
|
Removes all uses of the global system accessor within the BCAT
interface.
|