Implement GetDefaultDisplayResolution/+ChangeEvent on ICommonStateGetter

This commit is contained in:
Lordmau5 2018-06-11 01:53:28 +02:00
parent 518fe799da
commit f13be6429b

View File

@ -13,6 +13,8 @@ namespace Ryujinx.Core.OsHle.Services.Am
public override IReadOnlyDictionary<int, ServiceProcessRequest> Commands => m_Commands; public override IReadOnlyDictionary<int, ServiceProcessRequest> Commands => m_Commands;
private KEvent DisplayResolutionChangeEvent;
public ICommonStateGetter() public ICommonStateGetter()
{ {
m_Commands = new Dictionary<int, ServiceProcessRequest>() m_Commands = new Dictionary<int, ServiceProcessRequest>()
@ -22,8 +24,12 @@ namespace Ryujinx.Core.OsHle.Services.Am
{ 5, GetOperationMode }, { 5, GetOperationMode },
{ 6, GetPerformanceMode }, { 6, GetPerformanceMode },
{ 8, GetBootMode }, { 8, GetBootMode },
{ 9, GetCurrentFocusState } { 9, GetCurrentFocusState },
{ 60, GetDefaultDisplayResolution },
{ 61, GetDefaultDisplayResolutionChangeEvent }
}; };
DisplayResolutionChangeEvent = new KEvent();
} }
public long GetEventHandle(ServiceCtx Context) public long GetEventHandle(ServiceCtx Context)
@ -78,5 +84,26 @@ namespace Ryujinx.Core.OsHle.Services.Am
return 0; return 0;
} }
public long GetDefaultDisplayResolution(ServiceCtx Context)
{
Context.ResponseData.Write(1280);
Context.ResponseData.Write(720);
// Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
public long GetDefaultDisplayResolutionChangeEvent(ServiceCtx Context)
{
int Handle = Context.Process.HandleTable.OpenHandle(DisplayResolutionChangeEvent);
Context.Response.HandleDesc = IpcHandleDesc.MakeCopy(Handle);
Context.Ns.Log.PrintStub(LogClass.ServiceAm, "Stubbed.");
return 0;
}
} }
} }