Maufeat
54cd5fb8eb
[core, hle, video_core, memory] Improve multi-process, display layers, dynamic shader cache and rework overlay ( #4238 )
...
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions ).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md )
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md ) to the best of my ability.
-------------------
- Dynamic shader cache reloading capability for qlaunch
- Multi-process improvements (thanks to @frank1734), instead of just using the main application we now respect caller process (also did it for HID devices while I was at it)
- Layer stack masks & shared buffer screenshot for video core, added different masks (screenshot, recording, etc.) this was discovered as an issue due to how in qlaunch the transition was not right between applications. May not be perfect but also fixes screenshots while using qlaunch
- Reworked overlay display management (input and visibility) - instead of random numbers as I've previously did, I decided to add an AppletZIndex enum for better readability. Also split capability of input by touch and gamepad.
- etc.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4238
Reviewed-by: Samuel <lizzie@eden-emu.dev >
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
2026-08-29 01:04:02 +02:00
crueter
a3d32a18b8
[meta] Discourage profanity usage ( #4239 )
...
I'm not into millennial humor, personally.
Proactively removed as much profanity as I could grep.
Signed-off-by: crueter <crueter@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4239
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: Samuel <lizzie@eden-emu.dev >
2026-08-09 02:53:16 +02:00
Maufeat
833a38b443
[hle] adds SetProtocol to user local communication ( #3329 )
...
Stubs SetProtocol needed for Animal Crossing 3.0 LDN
SwitchBrew documentation: https://switchbrew.org/wiki/LDN_services#SetProtocol
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3329
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: Lizzie <lizzie@eden-emu.dev >
Co-authored-by: Maufeat <sahyno1996@gmail.com >
Co-committed-by: Maufeat <sahyno1996@gmail.com >
2026-01-18 02:21:59 +01:00
Maufeat
1d869e8495
[hle] stubbed extra services from (parental controls and stuff) fw21 ( #3175 )
...
Adds more Firmware 20+ related service commands.
Renames existing service commands according to switchbrew docs,
Unstubs new parental service stuff.
Signed-off-by: lizzie lizzie@eden-emu.dev
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3175
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
Reviewed-by: Lizzie <lizzie@eden-emu.dev >
Co-authored-by: Maufeat <sahyno1996@gmail.com >
Co-committed-by: Maufeat <sahyno1996@gmail.com >
2025-12-18 21:46:00 +01:00
unknown
a3ef2cc183
[audio_core/hid] Audio REV12+15 support + HID fixes ( #2719 )
...
This fixes newer updates / games.
Implements partial audio rev15, rev13, rev12 and HID issues on SDK20+ games.
Credits to LotP (Ryubing) and Zephyron (Citron) for their research and implementation.
Co-authored-by: Zephyron <zephyron@citron-emu.org >
Co-authored-by: Shinmegumi <shinmegumi@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2719
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Co-authored-by: unknown <sahyno1996@gmail.com >
Co-committed-by: unknown <sahyno1996@gmail.com >
2025-10-12 17:03:14 +02:00
Maufeat
718891d11f
[fs] temporarely disable nca verification ( #298 )
...
This adds a passthrough to basically disable nca verification for newer NCAs, this fixes (tested) Pokemon 4.0.0 update and other newer SDK games and updates (as reported on the discord)
This is implemented as toggle that is default enabled, this needs proper implementation in the future.
Co-authored-by: crueter <crueter@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/298
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: Maufeat <sahyno1996@gmail.com >
Co-committed-by: Maufeat <sahyno1996@gmail.com >
2025-09-05 00:04:37 +02:00
JPikachu
b2e602325c
profile_manager: Implement firmware avatar selector ( #205 )
...
Adds an option to set a user's profile image from the avatars in the firmware. Background color can be changed with a color picker. Also modifies profile image saving to account for this, and as a result images are now saved as JPEG with 100% quality. Any PNG, JPEG, or BMP can now also be used in the image file picker instead of just JPEG.
Using ryujinx's implementation and other parts of the yuzu codebase for reference.
Credit: Torzu, lui
Reviewed-on: http://vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion/torzu-emu/torzu/pulls/56
Co-authored-by: lui <lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion >
Co-committed-by: lui <lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion >
Co-authored-by: lui <lui@vub63vv26q6v27xzv2dtcd25xumubshogm67yrpaz2rculqxs7jlfqad.onion >
Co-authored-by: Maufeat <sahyno1996@gmail.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/205
Co-authored-by: JPikachu <jpikachu@noreply.localhost >
Co-committed-by: JPikachu <jpikachu@noreply.localhost >
2025-06-26 18:39:28 +00:00
Pavel Barabanov
5608ab1cd4
everything related to the FW 20 has been deleted.
2025-05-11 20:18:26 -04:00
crueter
4661909f4c
Firmware 20.0.0 Initial Implementation & Android: Uninstall Firmware Button
...
Co-authored-by: Pavel Barabanov <pavelbarabanov94@gmail.com >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/89
Co-authored-by: crueter <crueter@noreply.localhost >
Co-committed-by: crueter <crueter@noreply.localhost >
2025-05-07 20:15:25 +00:00
Pavel Barabanov
d55e400c7c
started adding services for firmware 20.0.0 without implementation
2025-05-03 06:15:23 +03:00
Pavel Barabanov
b66ebe638b
Qlauncher firmware 19
2025-04-14 14:18:13 -04:00
darktux
2011cdd333
Added v18.0.0 stubs and updated tzdb_to_nx
2025-04-04 03:40:48 +02:00
Liam
28827c325e
pctl: rewrite IParentalControlService
2024-02-21 23:42:33 -05:00
Liam
af6a347b18
pctl: rewrite IParentalControlServiceFactory
2024-02-21 23:00:01 -05:00
Liam
2a4e185c0e
pctl: move IParentalControlServiceFactory
2024-02-21 23:00:01 -05:00
Liam
9e4b8cee15
pctl: move IParentalControlService
2024-02-21 23:00:01 -05:00
Liam
d623433963
pctl: move types and results
2024-02-21 22:58:20 -05:00
german77
4e453935a3
core: Close all KEvents
2023-10-29 13:52:12 -06:00
Narr the Reg
a4a54b3dfc
service: Stub multiple functions to increase stability of album applet
2023-10-07 20:57:10 -06:00
Narr the Reg
fbe7068a76
service: pctl: Partially revert 11221
2023-08-08 16:52:21 -06:00
german77
f4e186117c
service: pctl: Implement functions needed for QLaunch
2023-08-05 11:27:41 -06:00
Liam
d7e9461b71
service: move hle_ipc from kernel
2023-03-01 10:39:49 -05:00
Liam
1c3a93e7c4
service: refactor server architecture
...
Converts services to have their own processes
2023-02-21 12:19:25 -05:00
Liam
c68577384a
general: rename CurrentProcess to ApplicationProcess
2023-02-13 19:03:12 -05:00
german77
c7890ebccc
core: Replace all instances of ResultCode with Result
2022-06-26 20:21:37 -05:00
Morph
2b87305d31
general: Convert source file copyright comments over to SPDX
...
This formats all copyright comments according to SPDX formatting guidelines.
Additionally, this resolves the remaining GPLv2 only licensed files by relicensing them to GPLv2.0-or-later.
2022-04-23 05:55:32 -04:00
Narr the Reg
22ab930f36
service/pctl: Stub EndFreeCommunication
...
- Used by Just Dance 2022
2021-11-05 12:16:19 -04:00
Morph
41a0c088ba
general: Get the current process program id directly from the system
...
This allows us to avoid including KProcess' header file in files that only need to get the current process' program id.
2021-11-04 16:59:39 -04:00
Morph
10508e7af2
general: Rename GetTitleID to GetProgramID
2021-11-04 16:57:16 -04:00
Morph
d66442a4e1
service: Append service name prefix to common filenames
2021-07-14 02:09:14 -04:00
Morph
7ebc38a6d1
general: Replace RESULT_SUCCESS with ResultSuccess
...
Transition to PascalCase for result names.
2021-06-02 00:39:27 -04:00
Lioncash
eeae5217ba
core: Make variable shadowing a compile-time error
...
Now that we have most of core free of shadowing, we can enable the
warning as an error to catch anything that may be remaining and also
eliminate this class of logic bug entirely.
2021-05-16 03:43:16 -04:00
bunnei
ad048de3d6
hle: kernel: Rename Process to KProcess.
2021-05-05 16:40:52 -07:00
Lioncash
11518e5df6
service: Remove unused class variables
...
Prevents some warnings from occurring.
2021-05-05 01:32:28 -04:00
Lioncash
15daa2cecd
service: Resolve cases of member field shadowing
...
Now all that remains is for kernel code to be 'shadow-free' and then
-Wshadow can be turned into an error.
2021-05-04 04:38:38 -04:00
bunnei
9d566aa0f3
Merge pull request #6112 from ogniK5377/pctl
...
pctl: Rework how pctl works to be more accurate
2021-04-10 21:09:54 -07:00
german77
7da85dacb4
pctl_module: Update to 12.x
2021-04-08 19:40:25 -06:00
Chloe Marcec
a01d4dc72c
Addressed issues
2021-03-30 20:27:27 +11:00
Chloe Marcec
f9b1e20d52
pctl: Rework how pctl works to be more accurate
...
Introduces the usage of compatibilities to allow it the module to be closer to how it works on hardware.
2021-03-27 02:03:18 +11:00
Chloe Marcec
dba86775cb
hle: Implement remaining services for Stereo Vision
...
Used by Zelda Breath of the Wild, Super Mario Odyssey and Nintendo Labo
2021-01-25 00:34:01 +11:00
Lioncash
346271b80b
service: Eliminate usages of the global system instance
...
Completely removes all usages of the global system instance within the
services code by passing in the using system instance to the services.
2020-11-26 20:03:11 -05:00
Lioncash
d73e0ef309
service: Update function tables
...
Keeps the service function tables up to date.
Updated based off information on SwitchBrew.
2020-04-20 15:53:49 -04:00
Lioncash
14ead4ceb0
service: Update service function tables
...
Updates function tables based off information from SwitchBrew.
2019-04-11 02:47:00 -04:00
David Marcec
5ae0d6cba2
Changed logging to be "Log before execution", Added more error logging, all services should now log on some level
2018-11-26 17:06:13 +11:00
Lioncash
8a9b062587
hle/service: Default constructors and destructors in the cpp file where applicable
...
When a destructor isn't defaulted into a cpp file, it can cause the use
of forward declarations to seemingly fail to compile for non-obvious
reasons. It also allows inlining of the construction/destruction logic
all over the place where a constructor or destructor is invoked, which
can lead to code bloat. This isn't so much a worry here, given the
services won't be created and destroyed frequently.
The cause of the above mentioned non-obvious errors can be demonstrated
as follows:
------- Demonstrative example, if you know how the described error happens, skip forwards -------
Assume we have the following in the header, which we'll call "thing.h":
\#include <memory>
// Forward declaration. For example purposes, assume the definition
// of Object is in some header named "object.h"
class Object;
class Thing {
public:
// assume no constructors or destructors are specified here,
// or the constructors/destructors are defined as:
//
// Thing() = default;
// ~Thing() = default;
//
// ... Some interface member functions would be defined here
private:
std::shared_ptr<Object> obj;
};
If this header is included in a cpp file, (which we'll call "main.cpp"),
this will result in a compilation error, because even though no
destructor is specified, the destructor will still need to be generated by
the compiler because std::shared_ptr's destructor is *not* trivial (in
other words, it does something other than nothing), as std::shared_ptr's
destructor needs to do two things:
1. Decrement the shared reference count of the object being pointed to,
and if the reference count decrements to zero,
2. Free the Object instance's memory (aka deallocate the memory it's
pointing to).
And so the compiler generates the code for the destructor doing this inside main.cpp.
Now, keep in mind, the Object forward declaration is not a complete type. All it
does is tell the compiler "a type named Object exists" and allows us to
use the name in certain situations to avoid a header dependency. So the
compiler needs to generate destruction code for Object, but the compiler
doesn't know *how* to destruct it. A forward declaration doesn't tell
the compiler anything about Object's constructor or destructor. So, the
compiler will issue an error in this case because it's undefined
behavior to try and deallocate (or construct) an incomplete type and
std::shared_ptr and std::unique_ptr make sure this isn't the case
internally.
Now, if we had defaulted the destructor in "thing.cpp", where we also
include "object.h", this would never be an issue, as the destructor
would only have its code generated in one place, and it would be in a
place where the full class definition of Object would be visible to the
compiler.
---------------------- End example ----------------------------
Given these service classes are more than certainly going to change in
the future, this defaults the constructors and destructors into the
relevant cpp files to make the construction and destruction of all of
the services consistent and unlikely to run into cases where forward
declarations are indirectly causing compilation errors. It also has the
plus of avoiding the need to rebuild several services if destruction
logic changes, since it would only be necessary to recompile the single
cpp file.
2018-09-10 23:55:31 -04:00
David Marcec
43a8240c64
Added CheckFreeCommunicationPermission
...
This fixes save files not loading in splatoon 2
2018-08-20 18:14:49 +10:00
Lioncash
e664bf00ed
hle/service: Make constructors explicit where applicable
...
Prevents implicit construction and makes these lingering non-explicit
constructors consistent with the rest of the other classes in services.
2018-07-19 12:25:02 -04:00
James Rowe
e159c550d8
Rename logging macro back to LOG_*
2018-07-02 21:45:47 -04:00
mailwl
cf607e7fca
Service/PCTL: convert to module, add services, stub
...
PCTL::CreateServiceWithoutInitialize and IParentalControlService::Initialize, required by Kirby Star Allies
2018-04-25 09:02:27 +03:00
Lioncash
e39e914cd0
pctl: Move logging macros over to new fmt-compatible ones
2018-04-24 12:01:30 -04:00