Other things...

This commit is contained in:
Starlet 2018-07-13 22:14:26 -04:00
parent 5d3ccf21ee
commit 7248f45524
2 changed files with 40 additions and 1 deletions

View file

@ -1,6 +1,8 @@
using Ryujinx.HLE.Logging;
using Ryujinx.HLE.OsHle.Ipc;
using System;
using System.Collections.Generic;
using System.IO;
namespace Ryujinx.HLE.OsHle.Services.FspSrv
{
@ -19,11 +21,11 @@ namespace Ryujinx.HLE.OsHle.Services.FspSrv
{ 22, CreateSaveDataFileSystem },
{ 51, OpenSaveDataFileSystem },
{ 200, OpenDataStorageByCurrentProcess },
{ 202, OpenDataStorageByDataId },
{ 203, OpenPatchDataStorageByCurrentProcess },
{ 1005, GetGlobalAccessLogMode }
};
}
public long SetCurrentProcess(ServiceCtx Context)
{
return 0;
@ -57,6 +59,31 @@ namespace Ryujinx.HLE.OsHle.Services.FspSrv
return 0;
}
public long OpenDataStorageByDataId(ServiceCtx Context)
{
StorageTypes StorageId = (StorageTypes) Context.RequestData.ReadByte();
long TitleId = Context.RequestData.ReadInt64();
if (StorageId == StorageTypes.NandSystem)
{
Context.Ns.Log.PrintStub(LogClass.ServiceFs, $"[{StorageId}] Stubbed.");
Stream FakeStream = new MemoryStream();
MakeObject(Context, new IStorage(FakeStream));
}
else
{
Context.Ns.Log.PrintWarning(LogClass.ServiceFs, $"{StorageId} is not implemented!");
Stream FakeStream = new MemoryStream();
MakeObject(Context, new IStorage(FakeStream));
}
return 0;
}
public long OpenPatchDataStorageByCurrentProcess(ServiceCtx Context)
{
MakeObject(Context, new IStorage(Context.Ns.VFs.RomFs));

View file

@ -0,0 +1,12 @@
namespace Ryujinx.HLE.OsHle.Services.FspSrv
{
enum StorageTypes
{
None,
Host,
GameCard,
NandSystem,
NandUser,
SdCard
}
}