mirror of
https://git.citron-emu.org/citron/emulator
synced 2025-12-19 02:33:32 +00:00
feat(ldn): Implement missing Account and LDN services from SwitchBrew documentation
Implements 150+ missing functions across Account (acc:*) and LDN (ldn:*, lp2p:*) services based on official SwitchBrew documentation. Account Services (acc:su, acc:e, acc:u0, acc:u1, acc:e:u1, acc:e:u2, dauth:0): - Add 70+ missing functions including notifiers, async operations, and OAuth procedures - Implement GetUserRegistrationNotifier, GetUserStateChangeNotifier, GetProfileUpdateNotifier - Add thumbnail management (LoadSaveDataThumbnail, GetSaveDataThumbnailExistence) - Implement user management (DeleteUser, SetUserPosition, CancelUserRegistration) - Add Nintendo Account procedures (CreateFloatingRegistrationRequest, etc.) - Implement device migration functions (19.0.0+, 20.0.0+) - Add debug functions for user qualification and token cache management IManagerForApplication/SystemService (19.0.0+ compatibility): - Rename LoadIdTokenCache (cmd 3) to LoadIdTokenCacheDeprecated - Add new LoadIdTokenCache (cmd 4) with updated signature - Add GetNintendoAccountUserResourceCache (cmd 136) LDN Services (ldn:m, ldn:s, ldn:u): - Add 80+ missing functions across all LDN interfaces - Implement CreateClientProcessMonitor (cmd 1) for ldn:s and ldn:u (18.0.0+) - Create IClientProcessMonitor service with RegisterClient function - Implement IMonitorService functions (GetNetworkInfoForMonitor, GetIpv4AddressForMonitor, etc.) - Implement ISystemLocalCommunicationService (GetState, Scan, Connect, Initialize, etc.) LP2P Services (lp2p:app, lp2p:sys, lp2p:m): - Implement ISfService functions (Initialize, Scan, CreateGroup, etc.) - Implement ISfServiceMonitor (GetGroupInfo, GetMembers, AttachJoinEvent, etc.) - Implement ISfMonitorService (GetLinkLevel) Technical Changes: - Change non-domain (C<>) to domain (D<>) functions in LDN to fix crashes - Add enhanced error messaging to cmif_serialization.h for debugging - Create client_process_monitor.cpp/.h for IClientProcessMonitor - Add concrete async context implementations (EnsureSignedDeviceIdentifierCacheAsyncInterface, etc.) - Add Kernel::KReadableEvent forward declarations All functions properly stubbed with appropriate logging for future implementation. References: - https://switchbrew.org/wiki/Account_services - https://switchbrew.org/wiki/LDN_services Fixes 'Pokemon: Legends Z-A' LDN initialization crashes and improves compatibility with games using Account and Local Network services. Signed-off-by: Zephyron <zephyron@citron-emu.org>
This commit is contained in:
4
externals/stb/stb_image.h
vendored
4
externals/stb/stb_image.h
vendored
@@ -5079,7 +5079,7 @@ static void stbi__de_iphone(stbi__png *z)
|
||||
static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp)
|
||||
{
|
||||
stbi_uc palette[1024], pal_img_n=0;
|
||||
stbi_uc has_trans=0, tc[3]={0};
|
||||
stbi_uc has_trans=0, tc[4]={0};
|
||||
stbi__uint16 tc16[3];
|
||||
stbi__uint32 ioff=0, idata_limit=0, i, pal_len=0;
|
||||
int first=1,k,interlace=0, color=0, is_iphone=0;
|
||||
@@ -5163,7 +5163,7 @@ static int stbi__parse_png_file(stbi__png *z, int scan, int req_comp)
|
||||
if (z->depth == 16) {
|
||||
for (k = 0; k < s->img_n; ++k) tc16[k] = (stbi__uint16)stbi__get16be(s); // copy the values as-is
|
||||
} else {
|
||||
for (k = 0; k < s->img_n; ++k) tc[k] = (stbi_uc)(stbi__get16be(s) & 255) * stbi__depth_scale_table[z->depth]; // non 8-bit images will be larger
|
||||
for (k = 0; k < s->img_n && k < 4; ++k) tc[k] = (stbi_uc)(stbi__get16be(s) & 255) * stbi__depth_scale_table[z->depth]; // non 8-bit images will be larger
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
||||
Reference in New Issue
Block a user