Merge pull request #165 from bunnei/puyo-fixes
Stubs for HID, AM, and a mutex fix
This commit is contained in:
		| @@ -70,6 +70,7 @@ ResultCode Mutex::Release(Thread* thread) { | ||||
|     holding_thread->held_mutexes.erase(this); | ||||
|     holding_thread->UpdatePriority(); | ||||
|     SetHoldingThread(nullptr); | ||||
|     SetHasWaiters(!GetWaitingThreads().empty()); | ||||
|     WakeupAllWaitingThreads(); | ||||
|     Core::System::GetInstance().PrepareReschedule(); | ||||
|  | ||||
|   | ||||
| @@ -270,6 +270,7 @@ private: | ||||
| IApplicationFunctions::IApplicationFunctions() : ServiceFramework("IApplicationFunctions") { | ||||
|     static const FunctionInfo functions[] = { | ||||
|         {1, &IApplicationFunctions::PopLaunchParameter, "PopLaunchParameter"}, | ||||
|         {20, &IApplicationFunctions::EnsureSaveData, "EnsureSaveData"}, | ||||
|         {21, &IApplicationFunctions::GetDesiredLanguage, "GetDesiredLanguage"}, | ||||
|         {22, &IApplicationFunctions::SetTerminateResult, "SetTerminateResult"}, | ||||
|         {66, &IApplicationFunctions::InitializeGamePlayRecording, "InitializeGamePlayRecording"}, | ||||
| @@ -299,6 +300,12 @@ void IApplicationFunctions::PopLaunchParameter(Kernel::HLERequestContext& ctx) { | ||||
|     LOG_DEBUG(Service_AM, "called"); | ||||
| } | ||||
|  | ||||
| void IApplicationFunctions::EnsureSaveData(Kernel::HLERequestContext& ctx) { | ||||
|     LOG_WARNING(Service, "(STUBBED) called"); | ||||
|     IPC::ResponseBuilder rb{ctx, 2}; | ||||
|     rb.Push(RESULT_SUCCESS); | ||||
| } | ||||
|  | ||||
| void IApplicationFunctions::SetTerminateResult(Kernel::HLERequestContext& ctx) { | ||||
|     // Takes an input u32 Result, no output. | ||||
|     // For example, in some cases official apps use this with error 0x2A2 then uses svcBreak. | ||||
|   | ||||
| @@ -100,6 +100,7 @@ public: | ||||
|  | ||||
| private: | ||||
|     void PopLaunchParameter(Kernel::HLERequestContext& ctx); | ||||
|     void EnsureSaveData(Kernel::HLERequestContext& ctx); | ||||
|     void SetTerminateResult(Kernel::HLERequestContext& ctx); | ||||
|     void GetDesiredLanguage(Kernel::HLERequestContext& ctx); | ||||
|     void InitializeGamePlayRecording(Kernel::HLERequestContext& ctx); | ||||
|   | ||||
| @@ -174,12 +174,12 @@ public: | ||||
|         static const FunctionInfo functions[] = { | ||||
|             {0, &Hid::CreateAppletResource, "CreateAppletResource"}, | ||||
|             {1, &Hid::ActivateDebugPad, "ActivateDebugPad"}, | ||||
|             {11, nullptr, "ActivateTouchScreen"}, | ||||
|             {11, &Hid::ActivateTouchScreen, "ActivateTouchScreen"}, | ||||
|             {66, &Hid::StartSixAxisSensor, "StartSixAxisSensor"}, | ||||
|             {100, &Hid::SetSupportedNpadStyleSet, "SetSupportedNpadStyleSet"}, | ||||
|             {102, &Hid::SetSupportedNpadIdType, "SetSupportedNpadIdType"}, | ||||
|             {103, &Hid::ActivateNpad, "ActivateNpad"}, | ||||
|             {120, nullptr, "SetNpadJoyHoldType"}, | ||||
|             {120, &Hid::SetNpadJoyHoldType, "SetNpadJoyHoldType"}, | ||||
|             {124, nullptr, "SetNpadJoyAssignmentModeDual"}, | ||||
|             {203, &Hid::CreateActiveVibrationDeviceList, "CreateActiveVibrationDeviceList"}, | ||||
|         }; | ||||
| @@ -207,6 +207,12 @@ private: | ||||
|         LOG_WARNING(Service_HID, "(STUBBED) called"); | ||||
|     } | ||||
|  | ||||
|     void ActivateTouchScreen(Kernel::HLERequestContext& ctx) { | ||||
|         IPC::ResponseBuilder rb{ctx, 2}; | ||||
|         rb.Push(RESULT_SUCCESS); | ||||
|         LOG_WARNING(Service_HID, "(STUBBED) called"); | ||||
|     } | ||||
|  | ||||
|     void StartSixAxisSensor(Kernel::HLERequestContext& ctx) { | ||||
|         IPC::ResponseBuilder rb{ctx, 2}; | ||||
|         rb.Push(RESULT_SUCCESS); | ||||
| @@ -231,6 +237,12 @@ private: | ||||
|         LOG_WARNING(Service_HID, "(STUBBED) called"); | ||||
|     } | ||||
|  | ||||
|     void SetNpadJoyHoldType(Kernel::HLERequestContext& ctx) { | ||||
|         IPC::ResponseBuilder rb{ctx, 2}; | ||||
|         rb.Push(RESULT_SUCCESS); | ||||
|         LOG_WARNING(Service_HID, "(STUBBED) called"); | ||||
|     } | ||||
|  | ||||
|     void CreateActiveVibrationDeviceList(Kernel::HLERequestContext& ctx) { | ||||
|         IPC::ResponseBuilder rb{ctx, 2, 0, 1}; | ||||
|         rb.Push(RESULT_SUCCESS); | ||||
|   | ||||
		Reference in New Issue
	
	Block a user