| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
Some games may interpret the read string as a null-terminated string instead of just reading the string up to buffer_size.
|
|
|
|
| |
The buffer size here does not include the initial 8 bytes.
|
|
|
|
| |
Version 8 adds support for key remapping introduced in FW 11.0, we will not be implementing this for now.
|
|
|
|
| |
This fixes the hint videos in New Super Mario Bros. U Deluxe
|
| |
|
|
|
|
| |
Transition to PascalCase for result names.
|
|
|
|
| |
Avoids redundant string copies
|
|
|
|
|
|
| |
Applications may leave this region of memory uninitialized when the text check result is not either Failure or Confirm.
Attempting to read uninitialized memory may cause an exception within the UTF16 to UTF8 string converter.
Fix this by only reading the text check message on Failure or Confirm.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* common: fs: fs_types: Create filesystem types
Contains various filesystem types used by the Common::FS library
* common: fs: fs_util: Add std::string to std::u8string conversion utility
* common: fs: path_util: Add utlity functions for paths
Contains various utility functions for getting or manipulating filesystem paths used by the Common::FS library
* common: fs: file: Rewrite the IOFile implementation
* common: fs: Reimplement Common::FS library using std::filesystem
* common: fs: fs_paths: Add fs_paths to replace common_paths
* common: fs: path_util: Add the rest of the path functions
* common: Remove the previous Common::FS implementation
* general: Remove unused fs includes
* string_util: Remove unused function and include
* nvidia_flags: Migrate to the new Common::FS library
* settings: Migrate to the new Common::FS library
* logging: backend: Migrate to the new Common::FS library
* core: Migrate to the new Common::FS library
* perf_stats: Migrate to the new Common::FS library
* reporter: Migrate to the new Common::FS library
* telemetry_session: Migrate to the new Common::FS library
* key_manager: Migrate to the new Common::FS library
* bis_factory: Migrate to the new Common::FS library
* registered_cache: Migrate to the new Common::FS library
* xts_archive: Migrate to the new Common::FS library
* service: acc: Migrate to the new Common::FS library
* applets/profile: Migrate to the new Common::FS library
* applets/web: Migrate to the new Common::FS library
* service: filesystem: Migrate to the new Common::FS library
* loader: Migrate to the new Common::FS library
* gl_shader_disk_cache: Migrate to the new Common::FS library
* nsight_aftermath_tracker: Migrate to the new Common::FS library
* vulkan_library: Migrate to the new Common::FS library
* configure_debug: Migrate to the new Common::FS library
* game_list_worker: Migrate to the new Common::FS library
* config: Migrate to the new Common::FS library
* configure_filesystem: Migrate to the new Common::FS library
* configure_per_game_addons: Migrate to the new Common::FS library
* configure_profile_manager: Migrate to the new Common::FS library
* configure_ui: Migrate to the new Common::FS library
* input_profiles: Migrate to the new Common::FS library
* yuzu_cmd: config: Migrate to the new Common::FS library
* yuzu_cmd: Migrate to the new Common::FS library
* vfs_real: Migrate to the new Common::FS library
* vfs: Migrate to the new Common::FS library
* vfs_libzip: Migrate to the new Common::FS library
* service: bcat: Migrate to the new Common::FS library
* yuzu: main: Migrate to the new Common::FS library
* vfs_real: Delete the contents of an existing file in CreateFile
Current usages of CreateFile expect to delete the contents of an existing file, retain this behavior for now.
* input_profiles: Don't iterate the input profile dir if it does not exist
Silences an error produced in the log if the directory does not exist.
* game_list_worker: Skip parsing file if the returned VfsFile is nullptr
Prevents crashes in GetLoader when the virtual file is nullptr
* common: fs: Validate paths for path length
* service: filesystem: Open the mod load directory as read only
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Prevents some warnings from occurring.
|
|
|
|
|
| |
Now all that remains is for kernel code to be 'shadow-free' and then
-Wshadow can be turned into an error.
|
|
|
|
|
| |
Resolves a few localized instances of member variable shadowing. Brings
us a little closer to turning shadowing warnings into errors.
|
|
|
|
| |
Fixes the softlock after the controller applet exits in Mario Kart 8 Deluxe.
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
core: Silence various warnings on Clang 12
|
| |
| |
| |
| |
| | |
Prevents warnings on clang 12. This path is reachable on other
variations of the build that disable the unreachable macro.
|
|/ |
|
|\
| |
| | |
HID: Update the HID service to match more closely to switchbrew part 1
|
| | |
|
| | |
|
| | |
|
|/ |
|
|
|
|
| |
INSERT_PADDING_BYTES_NOINIT is more descriptive of the underlying behavior.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| | |
core: Remove unnecessary enum casts in log calls
|
| |
| |
| |
| |
| | |
Follows the video core PR. fmt doesn't require casts for enum classes
anymore, so we can remove quite a few casts.
|
|\ \
| | |
| | | |
applets: Resolve variable shadowing
|
| |/ |
|
| |
| |
| |
| | |
Avoids unnecessary copies.
|
|/
|
|
|
| |
Avoids unnecessary 1072 byte copies when querying info about
controllers.
|
|
|
|
|
| |
Completely removes all usages of the global system instance within the
services code by passing in the using system instance to the services.
|
|
|
|
| |
This more accurately represents the underlying type and avoids confusion with NpadType
|
| |
|
| |
|
| |
|
|
|
|
|
| |
Some games like Cave Story+ set invalid values in the ControllerPrivateArg's mode and caller fields.
Use other fields to determine the appropriate mode and caller should either or both fields be invalid.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Recent changes to the build system that made more warnings be flagged as
errors caused building via clang to break.
Fixes #4795
|
| |
|
| |
|
|
|
|
| |
- Some games like Shipped have a minimum requirement of 0 connected players and is undesired behavior. We must require a minimum of 1 player connected regardless of what games may ask.
|
|
|
|
| |
"Explain Text" is additional text that is shown for each player in the controller applet.
|
|
|
|
| |
Co-authored-by: Its-Rei <kupfel@gmail.com>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Migrates a remaining common file over to the Common namespace, making it
consistent with the rest of common files.
This also allows for high-traffic FS related code to alias the
filesystem function namespace as
namespace FS = Common::FS;
for more concise typing.
|
|
|
|
|
| |
A std::vector created in place like this is already an rvalue and
doesn't need to be moved.
|
| |
|
| |
|
|
|
|
| |
Fixes random swkbd popups in monster hunter
|
| |
|
|
|
|
| |
We can just make use of moves here to get rid of two redundant copies
|
|
|
|
|
|
|
|
| |
Currently, yuzu just freezes when an error occurs while Initializing the WebApplet.
From a user perspective, this obviously isn't great as the game just softlocks.
With this change, yuzu will call the Finalize method, so to the game it seems like as the user just exited the WebApplet normally.
This works around https://github.com/yuzu-emu/yuzu/issues/2852.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
* kernel: Replace usage of boost::intrusive_ptr with std::shared_ptr for kernel objects.
- See https://github.com/citra-emu/citra/pull/4710 for details.
|
|
|
|
|
| |
These are fairly trivial to resolve and most of the changes entail
using RESULT_UNKNOWN over ResultCode(-1).
|
|\
| |
| | |
kernel: Improve events
|
| |
| |
| |
| |
| |
| |
| |
| | |
- 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
|
|/
|
|
| |
- Zero initialization here is useful for determinism.
|
|
|
|
| |
Allows other services to call applets without using LLE.
|
|
|
|
|
|
| |
Avoids the use of global accessors, removing the reliance on global
state. This also makes dependencies explicit in the interface, as
opposed to being hidden
|
| |
|
|
|
|
| |
Avoids using system accessor to get current process in applet code.
|
| |
|
|
|
|
| |
Prevents crashes with ShopN applet occasionally.
|
|
|
| |
If it is needed but wasn't passed (or passed nullptr), the Shop handling code will alert and throw an error.
|
|
|
| |
Allows easy handling of multiple shim types, as they have enough in common to be the same backend but not enough to share init/exec.
|
|
|
| |
Much, much more HW-accurate and allows us to easily support all of the different web 'shim' types.
|
| |
|
|
|
| |
This is responsible for parental controls and supports verifying, changing, and registering PIN codes.
|
|\
| |
| | |
core: Add detailed local reporting feature for development
|
| |
| |
| | |
Also cleanup of general stuff
|
| |
| |
| |
| | |
This matches official behavior with the erpt/eclct/eupld service chain.
|
| |
| |
| |
| | |
This also reworks the applet data storage to be peekable.
|
| |
| |
| |
| |
| |
| | |
These can be generified together by using a concept type to designate
them. This also has the benefit of not making copies of potentially very
large arrays.
|
|\ \
| | |
| | | |
core/telemetry_session: Remove usages of the global system accessor
|
| |/
| |
| |
| |
| | |
The contents of these includes aren't used anywhere in this translation
unit.
|
|\ \
| |/
|/| |
mii: Implement MiiManager backend and several mii service commands
|
| | |
|
| | |
|
|/
|
|
|
|
|
|
|
|
|
|
|
| |
Renames the members to more accurately indicate what they signify.
"OneShot" and "Sticky" are kind of ambiguous identifiers for the reset
types, and can be kind of misleading. Automatic and Manual communicate
the kind of reset type in a clearer manner. Either the event is
automatically reset, or it isn't and must be manually cleared.
The "OneShot" and "Sticky" terminology is just a hold-over from Citra
where the kernel had a third type of event reset type known as "Pulse".
Given the Switch kernel only has two forms of event reset types, we
don't need to keep the old terminology around anymore.
|
| |
|
| |
|
| |
|
|
|
| |
Responsible for displaying error codes and messages
|
|
|
| |
As opposed to using Core::System::GetInstance()
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
Removes a few inclusion dependencies from the headers or replaces
existing ones with ones that don't indirectly include the required
headers.
This allows removing an inclusion of core/memory.h, meaning that if the
memory header is ever changed in the future, it won't result in
rebuilding the entirety of the HLE services (as the IPC headers are used
quite ubiquitously throughout the HLE service implementations).
|
|
|
|
| |
Gets rid of a few indirect inclusions.
|
|
|
|
|
|
|
|
| |
This is a function that definitely doesn't always have a non-modifying
behavior across all implementations, so this should be made non-const.
This gets rid of the need to mark data members as mutable to work around
the fact mutating data members needs to occur.
|
|\
| |
| | |
applets: Implement HLE web browser applet (LibAppletOff)
|
| | |
|
| | |
|
| | |
|
|/
|
|
| |
Gets rid of a few unnecessary header dependencies in some source files.
|
|\
| |
| | |
am: Implement HLE profile selector applet
|
| |
| |
| |
| | |
Fixes bugs relating to signalling in software keyboard.
|
| |
| |
| | |
Allows the player to select an emulated profile.
|
| |
| |
| | |
Previously, ILibraryAppletAccessor would signal upon creation of any applet, but this is incorrect. A flag inside of the applet code determines whether or not creation should signal state change and swkbd happens to be one of these applets.
|
|/
|
|
| |
This was causing some games (most notably Pokemon Quest) to softlock due to an event being fired when not supposed to. This also removes a hack wherein we were firing the state changed event when the game retrieves it, which is incorrect.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
This will log all data it receives, log all calls to its methods and push dummy data into both channels on execution.
|
|
|
|
|
| |
The accessor should be doing just that, accessing, rather than retaining
the lifetime of the data broker as well.
|
|
|
|
|
| |
Also resolve places where includes should have been provided, but
weren't.
|
|
|
|
| |
Avoids wonky wrapping and makes it nicer to read.
|
| |
|
| |
|
|
|
|
| |
This cleans up most of the callbacks and such in the Applets::Applet interface, while also properly implementing all four data channels.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
a
|
| |
|
|
|
|
| |
Allows the game to verify and send a message to the frontend.
|
| |
|
|
|
| |
Provides a middleman between the Frontend provider class and the expected AM::Applets::Applet class needed by ILibraryAppletAccessor
|
|
Adds an Initialize and Execute methods which are used by the ILibraryAppletAccessor to start and control the applet.
|