diff options
Diffstat (limited to 'Ryujinx.HLE/OsHle/Services/Time/ISteadyClock.cs')
| -rw-r--r-- | Ryujinx.HLE/OsHle/Services/Time/ISteadyClock.cs | 35 |
1 files changed, 34 insertions, 1 deletions
diff --git a/Ryujinx.HLE/OsHle/Services/Time/ISteadyClock.cs b/Ryujinx.HLE/OsHle/Services/Time/ISteadyClock.cs index 6be097b7..e2cb34e3 100644 --- a/Ryujinx.HLE/OsHle/Services/Time/ISteadyClock.cs +++ b/Ryujinx.HLE/OsHle/Services/Time/ISteadyClock.cs @@ -1,4 +1,5 @@ using Ryujinx.HLE.OsHle.Ipc; +using System; using System.Collections.Generic; namespace Ryujinx.HLE.OsHle.Services.Time @@ -9,12 +10,44 @@ namespace Ryujinx.HLE.OsHle.Services.Time public override IReadOnlyDictionary<int, ServiceProcessRequest> Commands => m_Commands; + private ulong TestOffset; + public ISteadyClock() { m_Commands = new Dictionary<int, ServiceProcessRequest>() { - //... + { 0, GetCurrentTimePoint }, + { 1, GetTestOffset }, + { 2, SetTestOffset } }; + + TestOffset = 0; + } + + public long GetCurrentTimePoint(ServiceCtx Context) + { + Context.ResponseData.Write((long)(System.Diagnostics.Process.GetCurrentProcess().StartTime - DateTime.Now).TotalSeconds); + + for (int i = 0; i < 0x10; i++) + { + Context.ResponseData.Write((byte)0); + } + + return 0; + } + + public long GetTestOffset(ServiceCtx Context) + { + Context.ResponseData.Write(TestOffset); + + return 0; + } + + public long SetTestOffset(ServiceCtx Context) + { + TestOffset = Context.RequestData.ReadUInt64(); + + return 0; } } }
\ No newline at end of file |
