mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu.git
				synced 2025-05-12 00:45:25 +00:00 
			
		
		
		
	frd:u: Initial stub some functions
This commit is contained in:
		
							parent
							
								
									e366f60cff
								
							
						
					
					
						commit
						81d988b022
					
				@ -34,6 +34,7 @@ namespace Log {
 | 
				
			|||||||
        SUB(Kernel, SVC) \
 | 
					        SUB(Kernel, SVC) \
 | 
				
			||||||
        CLS(Service) \
 | 
					        CLS(Service) \
 | 
				
			||||||
        SUB(Service, SRV) \
 | 
					        SUB(Service, SRV) \
 | 
				
			||||||
 | 
					        SUB(Service, FRD) \
 | 
				
			||||||
        SUB(Service, FS) \
 | 
					        SUB(Service, FS) \
 | 
				
			||||||
        SUB(Service, ERR) \
 | 
					        SUB(Service, ERR) \
 | 
				
			||||||
        SUB(Service, APT) \
 | 
					        SUB(Service, APT) \
 | 
				
			||||||
 | 
				
			|||||||
@ -49,6 +49,7 @@ enum class Class : ClassType {
 | 
				
			|||||||
    Service,                    ///< HLE implementation of system services. Each major service
 | 
					    Service,                    ///< HLE implementation of system services. Each major service
 | 
				
			||||||
                                ///  should have its own subclass.
 | 
					                                ///  should have its own subclass.
 | 
				
			||||||
    Service_SRV,                ///< The SRV (Service Directory) implementation
 | 
					    Service_SRV,                ///< The SRV (Service Directory) implementation
 | 
				
			||||||
 | 
					    Service_FRD,                ///< The FRD (Friends) service
 | 
				
			||||||
    Service_FS,                 ///< The FS (Filesystem) service implementation
 | 
					    Service_FS,                 ///< The FS (Filesystem) service implementation
 | 
				
			||||||
    Service_ERR,                ///< The ERR (Error) port implementation
 | 
					    Service_ERR,                ///< The ERR (Error) port implementation
 | 
				
			||||||
    Service_APT,                ///< The APT (Applets) service
 | 
					    Service_APT,                ///< The APT (Applets) service
 | 
				
			||||||
 | 
				
			|||||||
@ -2,6 +2,8 @@
 | 
				
			|||||||
// Licensed under GPLv2 or any later version
 | 
					// Licensed under GPLv2 or any later version
 | 
				
			||||||
// Refer to the license.txt file included.
 | 
					// Refer to the license.txt file included.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "common/string_util.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#include "core/hle/service/service.h"
 | 
					#include "core/hle/service/service.h"
 | 
				
			||||||
#include "core/hle/service/frd/frd.h"
 | 
					#include "core/hle/service/frd/frd.h"
 | 
				
			||||||
#include "core/hle/service/frd/frd_a.h"
 | 
					#include "core/hle/service/frd/frd_a.h"
 | 
				
			||||||
@ -10,6 +12,95 @@
 | 
				
			|||||||
namespace Service {
 | 
					namespace Service {
 | 
				
			||||||
namespace FRD {
 | 
					namespace FRD {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					static FriendKey my_friend_key = {0, 0, 0ull};
 | 
				
			||||||
 | 
					static MyPresence my_presence = {};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void GetMyPresence(Service::Interface* self) {
 | 
				
			||||||
 | 
					    u32* cmd_buff = Kernel::GetCommandBuffer();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    u32 shifted_out_size = cmd_buff[64];
 | 
				
			||||||
 | 
					    u32 my_presence_addr = cmd_buff[65];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    ASSERT(shifted_out_size == ((sizeof(MyPresence) << 14) | 2));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Memory::WriteBlock(my_presence_addr, reinterpret_cast<const u8*>(&my_presence), sizeof(MyPresence));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cmd_buff[1] = RESULT_SUCCESS.raw; // No error
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    LOG_WARNING(Service_FRD, "(STUBBED) called");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void GetFriendKeyList(Service::Interface* self) {
 | 
				
			||||||
 | 
					    u32* cmd_buff = Kernel::GetCommandBuffer();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    u32 unknown = cmd_buff[1];
 | 
				
			||||||
 | 
					    u32 frd_count = cmd_buff[2];
 | 
				
			||||||
 | 
					    u32 frd_key_addr = cmd_buff[65];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    FriendKey zero_key = {};
 | 
				
			||||||
 | 
					    for (u32 i = 0; i < frd_count; ++i) {
 | 
				
			||||||
 | 
					        Memory::WriteBlock(frd_key_addr + i * sizeof(FriendKey),
 | 
				
			||||||
 | 
					                           reinterpret_cast<const u8*>(&zero_key), sizeof(FriendKey));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cmd_buff[1] = RESULT_SUCCESS.raw; // No error
 | 
				
			||||||
 | 
					    cmd_buff[2] = 0; // 0 friends
 | 
				
			||||||
 | 
					    LOG_WARNING(Service_FRD, "(STUBBED) called, unknown=%d, frd_count=%d, frd_key_addr=0x%08X",
 | 
				
			||||||
 | 
					                unknown, frd_count, frd_key_addr);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void GetFriendProfile(Service::Interface* self) {
 | 
				
			||||||
 | 
					    u32* cmd_buff = Kernel::GetCommandBuffer();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    u32 count = cmd_buff[1];
 | 
				
			||||||
 | 
					    u32 frd_key_addr = cmd_buff[3];
 | 
				
			||||||
 | 
					    u32 profiles_addr = cmd_buff[65];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    Profile zero_profile = {};
 | 
				
			||||||
 | 
					    for (u32 i = 0; i < count; ++i) {
 | 
				
			||||||
 | 
					        Memory::WriteBlock(profiles_addr + i * sizeof(Profile),
 | 
				
			||||||
 | 
					            reinterpret_cast<const u8*>(&zero_profile), sizeof(Profile));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cmd_buff[1] = RESULT_SUCCESS.raw; // No error
 | 
				
			||||||
 | 
					    LOG_WARNING(Service_FRD, "(STUBBED) called, count=%d, frd_key_addr=0x%08X, profiles_addr=0x%08X",
 | 
				
			||||||
 | 
					                count, frd_key_addr, profiles_addr);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void GetFriendAttributeFlags(Service::Interface* self) {
 | 
				
			||||||
 | 
					    u32* cmd_buff = Kernel::GetCommandBuffer();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    u32 count           = cmd_buff[1];
 | 
				
			||||||
 | 
					    u32 frd_key_addr    = cmd_buff[3];
 | 
				
			||||||
 | 
					    u32 attr_flags_addr = cmd_buff[65];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    for (u32 i = 0; i < count; ++i) {
 | 
				
			||||||
 | 
					        //TODO:(mailwl) figure out AttributeFlag size and zero all buffer. Assume 1 byte
 | 
				
			||||||
 | 
					        Memory::Write8(attr_flags_addr + i, 0);
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cmd_buff[1] = RESULT_SUCCESS.raw; // No error
 | 
				
			||||||
 | 
					    LOG_WARNING(Service_FRD, "(STUBBED) called, count=%d, frd_key_addr=0x%08X, attr_flags_addr=0x%08X",
 | 
				
			||||||
 | 
					                count, frd_key_addr, attr_flags_addr);
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void GetMyFriendKey(Service::Interface* self) {
 | 
				
			||||||
 | 
					    u32* cmd_buff = Kernel::GetCommandBuffer();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cmd_buff[1] = RESULT_SUCCESS.raw; // No error
 | 
				
			||||||
 | 
					    Memory::WriteBlock(cmd_buff[2], reinterpret_cast<const u8*>(&my_friend_key), sizeof(FriendKey));
 | 
				
			||||||
 | 
					    LOG_WARNING(Service_FRD, "(STUBBED) called");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					void GetMyScreenName(Service::Interface* self) {
 | 
				
			||||||
 | 
					    u32* cmd_buff = Kernel::GetCommandBuffer();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    cmd_buff[1] = RESULT_SUCCESS.raw; // No error
 | 
				
			||||||
 | 
					    // TODO: (mailwl) get the name from config
 | 
				
			||||||
 | 
					    Common::UTF8ToUTF16("Citra").copy(reinterpret_cast<char16_t*>(&cmd_buff[2]), 11);
 | 
				
			||||||
 | 
					    LOG_WARNING(Service_FRD, "(STUBBED) called");
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
void Init() {
 | 
					void Init() {
 | 
				
			||||||
    using namespace Kernel;
 | 
					    using namespace Kernel;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -4,9 +4,97 @@
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
#pragma once
 | 
					#pragma once
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "common/common_types.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace Service {
 | 
					namespace Service {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					class Interface;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace FRD {
 | 
					namespace FRD {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct FriendKey {
 | 
				
			||||||
 | 
					    u32 friend_id;
 | 
				
			||||||
 | 
					    u32 unknown;
 | 
				
			||||||
 | 
					    u64 friend_code;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct MyPresence {
 | 
				
			||||||
 | 
					    u8 unknown[0x12C];
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					struct Profile {
 | 
				
			||||||
 | 
					    u8 region;
 | 
				
			||||||
 | 
					    u8 country;
 | 
				
			||||||
 | 
					    u8 area;
 | 
				
			||||||
 | 
					    u8 language;
 | 
				
			||||||
 | 
					    u32 unknown;
 | 
				
			||||||
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * FRD::GetMyPresence service function
 | 
				
			||||||
 | 
					 *  Inputs:
 | 
				
			||||||
 | 
					 *      64 : sizeof (MyPresence) << 14 | 2
 | 
				
			||||||
 | 
					 *      65 : Address of MyPresence structure
 | 
				
			||||||
 | 
					 *  Outputs:
 | 
				
			||||||
 | 
					 *      1 : Result of function, 0 on success, otherwise error code
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					void GetMyPresence(Service::Interface* self);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * FRD::GetFriendKeyList service function
 | 
				
			||||||
 | 
					 *  Inputs:
 | 
				
			||||||
 | 
					 *      1 : Unknown
 | 
				
			||||||
 | 
					 *      2 : Max friends count
 | 
				
			||||||
 | 
					 *      65 : Address of FriendKey List
 | 
				
			||||||
 | 
					 *  Outputs:
 | 
				
			||||||
 | 
					 *      1 : Result of function, 0 on success, otherwise error code
 | 
				
			||||||
 | 
					 *      2 : FriendKey count filled
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					void GetFriendKeyList(Service::Interface* self);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * FRD::GetFriendProfile service function
 | 
				
			||||||
 | 
					 *  Inputs:
 | 
				
			||||||
 | 
					 *      1 : Friends count
 | 
				
			||||||
 | 
					 *      2 : Friends count << 18 | 2
 | 
				
			||||||
 | 
					 *      3 : Address of FriendKey List
 | 
				
			||||||
 | 
					 *      64 : (count * sizeof (Profile)) << 10 | 2
 | 
				
			||||||
 | 
					 *      65 : Address of Profiles List
 | 
				
			||||||
 | 
					 *  Outputs:
 | 
				
			||||||
 | 
					 *      1 : Result of function, 0 on success, otherwise error code
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					void GetFriendProfile(Service::Interface* self);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * FRD::GetFriendAttributeFlags service function
 | 
				
			||||||
 | 
					 *  Inputs:
 | 
				
			||||||
 | 
					 *      1 : Friends count
 | 
				
			||||||
 | 
					 *      2 : Friends count << 18 | 2
 | 
				
			||||||
 | 
					 *      3 : Address of FriendKey List
 | 
				
			||||||
 | 
					 *      65 : Address of AttributeFlags
 | 
				
			||||||
 | 
					 *  Outputs:
 | 
				
			||||||
 | 
					 *      1 : Result of function, 0 on success, otherwise error code
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					void GetFriendAttributeFlags(Service::Interface* self);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * FRD::GetMyFriendKey service function
 | 
				
			||||||
 | 
					 *  Inputs:
 | 
				
			||||||
 | 
					 *      none
 | 
				
			||||||
 | 
					 *  Outputs:
 | 
				
			||||||
 | 
					 *      1 : Result of function, 0 on success, otherwise error code
 | 
				
			||||||
 | 
					 *      2-5 : FriendKey
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					void GetMyFriendKey(Service::Interface* self);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					/**
 | 
				
			||||||
 | 
					 * FRD::GetMyScreenName service function
 | 
				
			||||||
 | 
					 *  Outputs:
 | 
				
			||||||
 | 
					 *      1 : Result of function, 0 on success, otherwise error code
 | 
				
			||||||
 | 
					 *      2 : UTF16 encoded name (max 11 symbols)
 | 
				
			||||||
 | 
					 */
 | 
				
			||||||
 | 
					void GetMyScreenName(Service::Interface* self);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/// Initialize FRD service(s)
 | 
					/// Initialize FRD service(s)
 | 
				
			||||||
void Init();
 | 
					void Init();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -2,65 +2,66 @@
 | 
				
			|||||||
// Licensed under GPLv2 or any later version
 | 
					// Licensed under GPLv2 or any later version
 | 
				
			||||||
// Refer to the license.txt file included.
 | 
					// Refer to the license.txt file included.
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					#include "core/hle/service/frd/frd.h"
 | 
				
			||||||
#include "core/hle/service/frd/frd_u.h"
 | 
					#include "core/hle/service/frd/frd_u.h"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace Service {
 | 
					namespace Service {
 | 
				
			||||||
namespace FRD {
 | 
					namespace FRD {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
const Interface::FunctionInfo FunctionTable[] = {
 | 
					const Interface::FunctionInfo FunctionTable[] = {
 | 
				
			||||||
    {0x00010000, nullptr,               "HasLoggedIn"},
 | 
					    {0x00010000, nullptr,                 "HasLoggedIn"},
 | 
				
			||||||
    {0x00020000, nullptr,               "IsOnline"},
 | 
					    {0x00020000, nullptr,                 "IsOnline"},
 | 
				
			||||||
    {0x00030000, nullptr,               "Login"},
 | 
					    {0x00030000, nullptr,                 "Login"},
 | 
				
			||||||
    {0x00040000, nullptr,               "Logout"},
 | 
					    {0x00040000, nullptr,                 "Logout"},
 | 
				
			||||||
    {0x00050000, nullptr,               "GetMyFriendKey"},
 | 
					    {0x00050000, GetMyFriendKey,          "GetMyFriendKey"},
 | 
				
			||||||
    {0x00060000, nullptr,               "GetMyPreference"},
 | 
					    {0x00060000, nullptr,                 "GetMyPreference"},
 | 
				
			||||||
    {0x00070000, nullptr,               "GetMyProfile"},
 | 
					    {0x00070000, nullptr,                 "GetMyProfile"},
 | 
				
			||||||
    {0x00080000, nullptr,               "GetMyPresence"},
 | 
					    {0x00080000, GetMyPresence,           "GetMyPresence"},
 | 
				
			||||||
    {0x00090000, nullptr,               "GetMyScreenName"},
 | 
					    {0x00090000, GetMyScreenName,         "GetMyScreenName"},
 | 
				
			||||||
    {0x000A0000, nullptr,               "GetMyMii"},
 | 
					    {0x000A0000, nullptr,                 "GetMyMii"},
 | 
				
			||||||
    {0x000B0000, nullptr,               "GetMyLocalAccountId"},
 | 
					    {0x000B0000, nullptr,                 "GetMyLocalAccountId"},
 | 
				
			||||||
    {0x000C0000, nullptr,               "GetMyPlayingGame"},
 | 
					    {0x000C0000, nullptr,                 "GetMyPlayingGame"},
 | 
				
			||||||
    {0x000D0000, nullptr,               "GetMyFavoriteGame"},
 | 
					    {0x000D0000, nullptr,                 "GetMyFavoriteGame"},
 | 
				
			||||||
    {0x000E0000, nullptr,               "GetMyNcPrincipalId"},
 | 
					    {0x000E0000, nullptr,                 "GetMyNcPrincipalId"},
 | 
				
			||||||
    {0x000F0000, nullptr,               "GetMyComment"},
 | 
					    {0x000F0000, nullptr,                 "GetMyComment"},
 | 
				
			||||||
    {0x00100040, nullptr,               "GetMyPassword"},
 | 
					    {0x00100040, nullptr,                 "GetMyPassword"},
 | 
				
			||||||
    {0x00110080, nullptr,               "GetFriendKeyList"},
 | 
					    {0x00110080, GetFriendKeyList,        "GetFriendKeyList"},
 | 
				
			||||||
    {0x00120042, nullptr,               "GetFriendPresence"},
 | 
					    {0x00120042, nullptr,                 "GetFriendPresence"},
 | 
				
			||||||
    {0x00130142, nullptr,               "GetFriendScreenName"},
 | 
					    {0x00130142, nullptr,                 "GetFriendScreenName"},
 | 
				
			||||||
    {0x00140044, nullptr,               "GetFriendMii"},
 | 
					    {0x00140044, nullptr,                 "GetFriendMii"},
 | 
				
			||||||
    {0x00150042, nullptr,               "GetFriendProfile"},
 | 
					    {0x00150042, GetFriendProfile,        "GetFriendProfile"},
 | 
				
			||||||
    {0x00160042, nullptr,               "GetFriendRelationship"},
 | 
					    {0x00160042, nullptr,                 "GetFriendRelationship"},
 | 
				
			||||||
    {0x00170042, nullptr,               "GetFriendAttributeFlags"},
 | 
					    {0x00170042, GetFriendAttributeFlags, "GetFriendAttributeFlags"},
 | 
				
			||||||
    {0x00180044, nullptr,               "GetFriendPlayingGame"},
 | 
					    {0x00180044, nullptr,                 "GetFriendPlayingGame"},
 | 
				
			||||||
    {0x00190042, nullptr,               "GetFriendFavoriteGame"},
 | 
					    {0x00190042, nullptr,                 "GetFriendFavoriteGame"},
 | 
				
			||||||
    {0x001A00C4, nullptr,               "GetFriendInfo"},
 | 
					    {0x001A00C4, nullptr,                 "GetFriendInfo"},
 | 
				
			||||||
    {0x001B0080, nullptr,               "IsIncludedInFriendList"},
 | 
					    {0x001B0080, nullptr,                 "IsIncludedInFriendList"},
 | 
				
			||||||
    {0x001C0042, nullptr,               "UnscrambleLocalFriendCode"},
 | 
					    {0x001C0042, nullptr,                 "UnscrambleLocalFriendCode"},
 | 
				
			||||||
    {0x001D0002, nullptr,               "UpdateGameModeDescription"},
 | 
					    {0x001D0002, nullptr,                 "UpdateGameModeDescription"},
 | 
				
			||||||
    {0x001E02C2, nullptr,               "UpdateGameMode"},
 | 
					    {0x001E02C2, nullptr,                 "UpdateGameMode"},
 | 
				
			||||||
    {0x001F0042, nullptr,               "SendInvitation"},
 | 
					    {0x001F0042, nullptr,                 "SendInvitation"},
 | 
				
			||||||
    {0x00200002, nullptr,               "AttachToEventNotification"},
 | 
					    {0x00200002, nullptr,                 "AttachToEventNotification"},
 | 
				
			||||||
    {0x00210040, nullptr,               "SetNotificationMask"},
 | 
					    {0x00210040, nullptr,                 "SetNotificationMask"},
 | 
				
			||||||
    {0x00220040, nullptr,               "GetEventNotification"},
 | 
					    {0x00220040, nullptr,                 "GetEventNotification"},
 | 
				
			||||||
    {0x00230000, nullptr,               "GetLastResponseResult"},
 | 
					    {0x00230000, nullptr,                 "GetLastResponseResult"},
 | 
				
			||||||
    {0x00240040, nullptr,               "PrincipalIdToFriendCode"},
 | 
					    {0x00240040, nullptr,                 "PrincipalIdToFriendCode"},
 | 
				
			||||||
    {0x00250080, nullptr,               "FriendCodeToPrincipalId"},
 | 
					    {0x00250080, nullptr,                 "FriendCodeToPrincipalId"},
 | 
				
			||||||
    {0x00260080, nullptr,               "IsValidFriendCode"},
 | 
					    {0x00260080, nullptr,                 "IsValidFriendCode"},
 | 
				
			||||||
    {0x00270040, nullptr,               "ResultToErrorCode"},
 | 
					    {0x00270040, nullptr,                 "ResultToErrorCode"},
 | 
				
			||||||
    {0x00280244, nullptr,               "RequestGameAuthentication"},
 | 
					    {0x00280244, nullptr,                 "RequestGameAuthentication"},
 | 
				
			||||||
    {0x00290000, nullptr,               "GetGameAuthenticationData"},
 | 
					    {0x00290000, nullptr,                 "GetGameAuthenticationData"},
 | 
				
			||||||
    {0x002A0204, nullptr,               "RequestServiceLocator"},
 | 
					    {0x002A0204, nullptr,                 "RequestServiceLocator"},
 | 
				
			||||||
    {0x002B0000, nullptr,               "GetServiceLocatorData"},
 | 
					    {0x002B0000, nullptr,                 "GetServiceLocatorData"},
 | 
				
			||||||
    {0x002C0002, nullptr,               "DetectNatProperties"},
 | 
					    {0x002C0002, nullptr,                 "DetectNatProperties"},
 | 
				
			||||||
    {0x002D0000, nullptr,               "GetNatProperties"},
 | 
					    {0x002D0000, nullptr,                 "GetNatProperties"},
 | 
				
			||||||
    {0x002E0000, nullptr,               "GetServerTimeInterval"},
 | 
					    {0x002E0000, nullptr,                 "GetServerTimeInterval"},
 | 
				
			||||||
    {0x002F0040, nullptr,               "AllowHalfAwake"},
 | 
					    {0x002F0040, nullptr,                 "AllowHalfAwake"},
 | 
				
			||||||
    {0x00300000, nullptr,               "GetServerTypes"},
 | 
					    {0x00300000, nullptr,                 "GetServerTypes"},
 | 
				
			||||||
    {0x00310082, nullptr,               "GetFriendComment"},
 | 
					    {0x00310082, nullptr,                 "GetFriendComment"},
 | 
				
			||||||
    {0x00320042, nullptr,               "SetClientSdkVersion"},
 | 
					    {0x00320042, nullptr,                 "SetClientSdkVersion"},
 | 
				
			||||||
    {0x00330000, nullptr,               "GetMyApproachContext"},
 | 
					    {0x00330000, nullptr,                 "GetMyApproachContext"},
 | 
				
			||||||
    {0x00340046, nullptr,               "AddFriendWithApproach"},
 | 
					    {0x00340046, nullptr,                 "AddFriendWithApproach"},
 | 
				
			||||||
    {0x00350082, nullptr,               "DecryptApproachContext"},
 | 
					    {0x00350082, nullptr,                 "DecryptApproachContext"},
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
FRD_U_Interface::FRD_U_Interface() {
 | 
					FRD_U_Interface::FRD_U_Interface() {
 | 
				
			||||||
 | 
				
			|||||||
@ -70,9 +70,8 @@ ResultVal<bool> Interface::SyncRequest() {
 | 
				
			|||||||
        // TODO(bunnei): Hack - ignore error
 | 
					        // TODO(bunnei): Hack - ignore error
 | 
				
			||||||
        cmd_buff[1] = 0;
 | 
					        cmd_buff[1] = 0;
 | 
				
			||||||
        return MakeResult<bool>(false);
 | 
					        return MakeResult<bool>(false);
 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
        LOG_TRACE(Service, "%s", MakeFunctionString(itr->second.name, GetPortName().c_str(), cmd_buff).c_str());
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					    LOG_TRACE(Service, "%s", MakeFunctionString(itr->second.name, GetPortName().c_str(), cmd_buff).c_str());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    itr->second.func(this);
 | 
					    itr->second.func(this);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Loading…
	
		Reference in New Issue
	
	Block a user