From f13be6429b89d7707aaea71bc3fb6ddbcc50566e Mon Sep 17 00:00:00 2001 From: Lordmau5 Date: Mon, 11 Jun 2018 01:53:28 +0200 Subject: [PATCH] Implement GetDefaultDisplayResolution/+ChangeEvent on ICommonStateGetter --- .../OsHle/Services/Am/ICommonStateGetter.cs | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/Ryujinx.Core/OsHle/Services/Am/ICommonStateGetter.cs b/Ryujinx.Core/OsHle/Services/Am/ICommonStateGetter.cs index ba87cf32d8..e0b8f6edd2 100644 --- a/Ryujinx.Core/OsHle/Services/Am/ICommonStateGetter.cs +++ b/Ryujinx.Core/OsHle/Services/Am/ICommonStateGetter.cs @@ -13,6 +13,8 @@ namespace Ryujinx.Core.OsHle.Services.Am public override IReadOnlyDictionary Commands => m_Commands; + private KEvent DisplayResolutionChangeEvent; + public ICommonStateGetter() { m_Commands = new Dictionary() @@ -22,8 +24,12 @@ namespace Ryujinx.Core.OsHle.Services.Am { 5, GetOperationMode }, { 6, GetPerformanceMode }, { 8, GetBootMode }, - { 9, GetCurrentFocusState } + { 9, GetCurrentFocusState }, + { 60, GetDefaultDisplayResolution }, + { 61, GetDefaultDisplayResolutionChangeEvent } }; + + DisplayResolutionChangeEvent = new KEvent(); } public long GetEventHandle(ServiceCtx Context) @@ -78,5 +84,26 @@ namespace Ryujinx.Core.OsHle.Services.Am 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; + } } } \ No newline at end of file