Stub gameplay recording and save data checking functions

Gameplay recording does not need to be emulated and EnsureSaveData isn't
necessary for proper save data support.
This commit is contained in:
Billy Laws 2020-07-09 14:42:10 +01:00 committed by ◱ PixelyIon
parent 2e60b5e60d
commit 2b4adee213
2 changed files with 27 additions and 1 deletions

View File

@ -8,8 +8,11 @@
namespace skyline::service::am { namespace skyline::service::am {
IApplicationFunctions::IApplicationFunctions(const DeviceState &state, ServiceManager &manager) : BaseService(state, manager, Service::am_IApplicationFunctions, "am:IApplicationFunctions", { IApplicationFunctions::IApplicationFunctions(const DeviceState &state, ServiceManager &manager) : BaseService(state, manager, Service::am_IApplicationFunctions, "am:IApplicationFunctions", {
{0x1, SFUNC(IApplicationFunctions::PopLaunchParameter)}, {0x1, SFUNC(IApplicationFunctions::PopLaunchParameter)},
{0x14, SFUNC(IApplicationFunctions::EnsureSaveData)},
{0x15, SFUNC(IApplicationFunctions::GetDesiredLanguage)}, {0x15, SFUNC(IApplicationFunctions::GetDesiredLanguage)},
{0x28, SFUNC(IApplicationFunctions::NotifyRunning)} {0x28, SFUNC(IApplicationFunctions::NotifyRunning)},
{0x42, SFUNC(IApplicationFunctions::InitializeGamePlayRecording)},
{0x43, SFUNC(IApplicationFunctions::SetGamePlayRecordingState)},
}) {} }) {}
void IApplicationFunctions::PopLaunchParameter(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) { void IApplicationFunctions::PopLaunchParameter(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
@ -25,6 +28,10 @@ namespace skyline::service::am {
manager.RegisterService(storageService, session, response); manager.RegisterService(storageService, session, response);
} }
void IApplicationFunctions::EnsureSaveData(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
response.Push<u8>(0);
}
void IApplicationFunctions::GetDesiredLanguage(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) { void IApplicationFunctions::GetDesiredLanguage(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
response.Push(util::MakeMagic<u64>("en-US")); response.Push(util::MakeMagic<u64>("en-US"));
} }
@ -32,4 +39,8 @@ namespace skyline::service::am {
void IApplicationFunctions::NotifyRunning(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) { void IApplicationFunctions::NotifyRunning(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {
response.Push<u8>(1); response.Push<u8>(1);
} }
void IApplicationFunctions::InitializeGamePlayRecording(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {}
void IApplicationFunctions::SetGamePlayRecordingState(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response) {}
} }

View File

@ -19,6 +19,11 @@ namespace skyline::service::am {
*/ */
void PopLaunchParameter(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response); void PopLaunchParameter(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response);
/**
* @brief This creates a save data folder for the requesting application (https://switchbrew.org/wiki/Applet_Manager_services#EnsureSaveData)
*/
void EnsureSaveData(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response);
/** /**
* @brief This returns the desired language for the application (https://switchbrew.org/wiki/Applet_Manager_services#GetDesiredLanguage) * @brief This returns the desired language for the application (https://switchbrew.org/wiki/Applet_Manager_services#GetDesiredLanguage)
*/ */
@ -28,5 +33,15 @@ namespace skyline::service::am {
* @brief This returns if the application is running or not, always returns true (https://switchbrew.org/wiki/Applet_Manager_services#NotifyRunning) * @brief This returns if the application is running or not, always returns true (https://switchbrew.org/wiki/Applet_Manager_services#NotifyRunning)
*/ */
void NotifyRunning(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response); void NotifyRunning(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response);
/**
* @brief This initializes gameplay recording (https://switchbrew.org/wiki/Applet_Manager_services#InitializeGamePlayRecording)
*/
void InitializeGamePlayRecording(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response);
/**
* @brief This controls the gameplay recording state (https://switchbrew.org/wiki/Applet_Manager_services#SetGamePlayRecordingState)
*/
void SetGamePlayRecordingState(type::KSession &session, ipc::IpcRequest &request, ipc::IpcResponse &response);
}; };
} }