Lioncash
57ac068a23
service/audio/audout_u: Amend constructor initialization list order
Orders the constructor initializer list the same way the members of the
class are declared. Prevents -Wreorder warnings
7 years ago
Lioncash
db4523f1ec
filesystem: De-globalize registered_cache_union
We can just return a new instance of this when it's requested. This only
ever holds pointers to the existing registed caches, so it's not a large
object. Plus, this also gets rid of the need to keep around a separate
member function just to properly clear out the union.
Gets rid of one of five globals in the filesystem code.
7 years ago
Lioncash
a7d9fe993a
service/fsp_srv: Implement CleanDirectoryRecursively
This is the same behavior-wise as DeleteDirectoryRecursively, with the
only difference being that it doesn't delete the top level directory in
the hierarchy, so given:
root_dir/
- some_dir/
- File.txt
- OtherFile.txt
The end result is just:
root_dir/
7 years ago
Subv
583bd20f02
Services/VI: Dereferencing an uninitialized std::optional is undefined behavior.
Assert that it is not empty before using it in the DequeueBuffer wait callback.
7 years ago
Lioncash
308bbba8b9
service/set: Convert GetLanguageCode over to using PushEnum()
This code was around prior to the introduction of PushEnum, so convert
it over so we don't need to cast here.
7 years ago
Lioncash
7c04fe22b4
service/set: Implement MakeLanguageCode
This function simply converts a given index into a language code.
7 years ago
Zach Hilman
170d707850
hle_ipc: Refactor SleepClientThread to avoid ReadableEvent
7 years ago
Zach Hilman
a342bcc9b1
kernel/event: Reference ReadableEvent from WritableEvent
7 years ago
Zach Hilman
ff610103b5
core: Port all current usages of Event to Readable/WritableEvent
7 years ago
Zach Hilman
299224790c
npad: Use NPadIdToIndex to prevent invalid array access
7 years ago
bunnei
ac74b71d75
dma_pushbuffer: Optimize to avoid loop and copy on Push.
7 years ago
Zach Hilman
6df74ff579
npad: Fix copy/paste error with LED position assignments
7 years ago
bunnei
abea6fa90c
gpu: Rewrite GPU command list processing with DmaPusher class.
- More accurate impl., fixes Undertale (among other games).
7 years ago
David Marcec
f271316822
Reworked svcs slightly, improved error messages in AM and fsp_srv
7 years ago
Zach Hilman
dac0c33fd2
profile_manager: Save and load ProfileData from disk
The ProfileData is a 0x80-sized structure that stores various pieces of miscellaneous data for the account.
7 years ago
David Marcec
dace6087d6
Fixed hwopus compile error
7 years ago
David Marcec
3d627df4d8
Improved error messages in AM, HwOpus and NvMap
7 years ago
David Marcec
a2cc3b10bb
Changed logging to be "Log before execution", Added more error logging, all services should now log on some level
7 years ago
Lioncash
b0df09335c
service/sm: Take std::string by const reference in UnregisterService
Avoids the need to create a copy of the std::string instance
(potentially allocating).
The only reason RegisterService takes its argument by value is because
it's std::moved internally.
7 years ago
bunnei
0d673a84b6
nvdrv: Implement/stub DumpGraphicsMemoryInfo and GetStatus.
- Used by Undertale.
7 years ago
Zach Hilman
f820e58be4
am: Return StubApplet instead of nullptr when AppletId not found
7 years ago
Zach Hilman
b358e88512
debug_pad: Avoid loading input for nonexistent buttons (Home and Screenshot)
Prevents memory exceptions when the debug pad is enabled.
7 years ago
bunnei
5a6dc4d041
audout_u: Add support for multiple IAudioOut streams.
- Used by Undertale.
7 years ago
Zach Hilman
699900eed0
applets: Add StubApplet
This will log all data it receives, log all calls to its methods and push dummy data into both channels on execution.
7 years ago
bunnei
7f10db1c20
nvhost_ctrl_gpu: Implement IoctlGetGpuTime.
- Used by Undertale.
7 years ago
Lioncash
f17e122025
am: Correct build failure
The interface for shared memory was changed, but another commit was
merged that relied on the (previously public) internals of SharedMemory.
This amends that discrepancy.
7 years ago
Lioncash
73b7748984
am/applets: Make the applet data broker part of the applet itself.
The accessor should be doing just that, accessing, rather than retaining
the lifetime of the data broker as well.
7 years ago
Lioncash
8b4b560df5
am/applets: Replace includes with forward declarations where applicable
Also resolve places where includes should have been provided, but
weren't.
7 years ago
Lioncash
dd254c603d
am/applets: Relocate comments above the relevant data member in AppletDataBroker
Avoids wonky wrapping and makes it nicer to read.
7 years ago
Lioncash
34e4aaddd9
lm: Implement SetDestination by doing nothing
This service function was likely intended to be a way to redirect where
the output of a log went. e.g. Firing a log over a network, dumping over
a tunneling session, etc.
Given we always want to see the log and not change its output. It's one
of the lucky service functions where the easiest implementation is to
just do nothing at all and return success.
7 years ago
Zach Hilman
a9fa890f14
software_keyboard: Fix erroneous extra PushNormalData
7 years ago
Zach Hilman
d68795c665
software_keyboard: Return correct result code on user cancel operation
7 years ago
Zach Hilman
32775125b7
applet: Add AppletDataBroker to manage HLE to AM service interaction
This cleans up most of the callbacks and such in the Applets::Applet interface, while also properly implementing all four data channels.
7 years ago
Zach Hilman
96535c13a5
software_keyboard: Use correct offset for inital text string
7 years ago
Lioncash
43e7c6cf49
ldr: Clean up error codes
The separate enum isn't particularly necessary here, and the values can
just be directly put into the ResultCode instances, given the names are
also self-documenting here.
7 years ago
Zach Hilman
c3becdbca7
filesystem: Clear registered union paths on factory creation
7 years ago
Zach Hilman
3a6cd5b3c8
hid: Use player-defined controller type as PREFERRED_CONTROLLER
7 years ago
Zach Hilman
55ded706d6
hid/npad: Update NPad to use player controller bindings and type
7 years ago
Zach Hilman
e9145c3e16
hid/touchscreen: Update Touchscreen to use advanced parameters
Including finger ID, diamater x/y, and angle. Additionally, checks if the touchscreen is enabled.
7 years ago
Zach Hilman
3b25426bd9
hid: Add controller bindings for Mouse controller
7 years ago
Zach Hilman
0fd45e78f4
hid: Add keyboard bindings for Keyboard controller
7 years ago
Zach Hilman
06cf050c0a
hid: Add controller bindings for DebugPad controller
Used by developers to test games, not present on retail systems. Some games are known to respond to DebugPad input though, for example Kirby Star Allies.
7 years ago
David Marcec
0c3e7b7086
Added missing start/end touch attributes to touchscreen
7 years ago
David Marcec
f66c6fe554
Added debugpad skeleton
7 years ago
David Marcec
362b28d052
Added controller helper funcs
7 years ago
David Marcec
a69b9d73f5
Changed polling rate of hid and Right joycon rotation
7 years ago
David Marcec
7fbe2c83a7
Left joycon rotation button remapping
7 years ago
David Marcec
b9c1e4b0e7
Added automatic npad switch based on supported stylesets
7 years ago
David Marcec
beab38601b
Added multi-input support and controller assignment at any port
7 years ago
David Marcec
60fecee1ec
Removed hard coded values for width and height
7 years ago