| Age | Commit message (Collapse) | Author |
|
core: Add detailed local reporting feature for development
|
|
The sanitizing function ensures that the returned type is always the
correct type. This eliminates warnings without extra casts.
|
|
Even though it has been proven that IAudioRenderer:SystemEvent is
actually an automatic event. The current implementation of such event is
all thought to be manual. Thus it's implementation needs to be corrected
when doing such change. As it is right now this PR introduced a series
of regressions on softlocks on multiple games. Therefore, this pr
reverts such change until a correct implementation is made.
|
|
service/audio/audren_u: Correct event reset type for the system event
|
|
This is actually an auto-reset event in the audio service itself, not a
manual one.
|
|
|
|
|
|
|
|
Partial impl of GetAccumulatedSuspendedTickChangedEvent
IPC-100 was changed to InitializeApplicationInfoOld instead of InitializeApplicationInfo. IPC-150 makes an indentical call to IPC-100 however does extra processing. They should not have the same name as it's quite confusing to debug.
|
|
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.
|
|
|
|
service/ns: Add missing override specifiers
|
|
lr: Add command handler skeletons for Open*LocationResolver
|
|
|
|
core/telemetry_session: Remove usages of the global system accessor
|
|
core/core_timing_util: Use std::chrono types for specifying time units
|
|
Implement/Fix IApplicationFunctions::GetDesiredLanguage
|
|
Makes the casing consistent with all of our general function naming
conventions.
|
|
Makes the interface more type-safe and consistent in terms of return
values.
|
|
mii: Implement MiiManager backend and several mii service commands
|
|
The contents of these includes aren't used anywhere in this translation
unit.
|
|
Returns an object of type IAddOnContentLocationResolver for the provided StorageId.
|
|
Returns an object of type IRegisteredLocationResolver for the StorageId.
|
|
Returns an object of type ILocationResolver with the provided StorageId.
|
|
Also cleanup of general stuff
|
|
service/aoc_u: Minor cleanup
|
|
Logs a lot of seemingly innocuous telemetry games generate.
|
|
Matches offical behavior with creport and replaces old log/text based report system.
|
|
|
|
This matches official behavior with the erpt/eclct/eupld service chain.
|
|
This also reworks the applet data storage to be peekable.
|
|
Port citra-emu/citra#4716: "HLE/IPC: HLEContext can memorize the client thread and use it for SleepClientThread"
|
|
|
|
|
|
|
|
|
|
|
|
Previously, the code was accumulating data into a std::vector and then
tossing all of it away if a setting was disabled.
Instead, we can just check if it's disabled and do no work at all if
possible. If it's enabled, then we can append to the vector and
allocate.
Unlikely to impact usage much, but it is slightly less sloppy with
resources.
|
|
Removes two header dependencies related to file handling that aren't
actually used within the source file.
|
|
A few of the aoc service stubs/implementations weren't fully popping all
of the parameters passed to them. This ensures that all parameters are
popped and, at minimum, logged out.
|
|
service/audren_u: Get rid of magic values within GetAudioRendererWorkBufferSize
|
|
service/set: Correct and simplify behavior related to copying language codes
|
|
service/am: Add missing return in error case for IStorageAccessor's Read/Write()
|
|
Read()/Write().
Previously this would fall through and return successfully, despite
being an out of bounds read or write.
|
|
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.
|
|
SleepClientThread
This reduces the boilerplate that services have to write out the current thread explicitly. Using current thread instead of client thread is also semantically incorrect, and will be a problem when we implement multicore (at which time there will be multiple current threads)
|
|
This corrects cases where it was possible to write more entries into the
write buffer than were requested. Now, we check the size of the buffer
before actually writing into them.
We were also returning the wrong value for
GetAvailableLanguageCodeCount2(). This was previously returning 64, but
only 17 should have been returned. 64 entries is the size of the static
array used in MakeLanguageCode() within the service binary itself, but
isn't the actual total number of language codes present.
|
|
Also introduced in REV5 was a variable-size audio command buffer. This
also affects how the size of the work buffer should be determined, so we
can add handling for this as well.
Thankfully, no other alterations were made to how the work buffer size
is calculated in 7.0.0-8.0.0. There were indeed changes made to to how
some of the actual audio commands are generated though (particularly in
REV7), however they don't apply here.
|
|
GetWorkBufferSize()
Introduced in REV5. This is trivial to add support for, now that
everything isn't a mess of random magic constant values.
All this is, is a change in data type sizes as far as this function
cares.
|
|
"Unmagics" quite a few magic constants within this code, making it much
easier to understand. Particularly given this factors out specific
sections into their own self-contained lambda functions.
|