Fix ApplicationLaunchProperty 2

This commit is contained in:
Ac_K 2019-09-10 07:31:30 +02:00
parent 85c043515c
commit 06922908ff
7 changed files with 25 additions and 37 deletions

View file

@ -1,6 +1,6 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.FileSystem;
using Ryujinx.HLE.HOS.Services.Arp;
using Ryujinx.HLE.HOS.Services.Glue;
using Ryujinx.HLE.HOS.SystemState;
using Ryujinx.HLE.Utilities;
using System;
@ -180,7 +180,7 @@ namespace Ryujinx.HLE.HOS.Services.Acc
else
*/
{
_applicationLaunchProperty = ApplicationLaunchPropertyHelper.GetByPid(context);
_applicationLaunchProperty = ApplicationLaunchProperty.GetByPid(context);
}
Logger.PrintStub(LogClass.ServiceAcc, new { unknown });

View file

@ -1,5 +1,5 @@
using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Services.Arp;
using Ryujinx.HLE.HOS.Services.Glue;
using Ryujinx.HLE.Utilities;
namespace Ryujinx.HLE.HOS.Services.Acc

View file

@ -1,6 +1,8 @@
using Ryujinx.HLE.FileSystem;
using Ryujinx.HLE.Utilities;
using System;
namespace Ryujinx.HLE.HOS.Services.Arp
namespace Ryujinx.HLE.HOS.Services.Glue
{
class ApplicationLaunchProperty
{
@ -23,5 +25,19 @@ namespace Ryujinx.HLE.HOS.Services.Arp
};
}
}
public static ApplicationLaunchProperty GetByPid(ServiceCtx context)
{
// TODO: Handle ApplicationLaunchProperty as array when pid will be supported and return the right item.
// For now we can hardcode values, and fix it after GetApplicationLaunchProperty is implemented.
return new ApplicationLaunchProperty
{
TitleId = BitConverter.ToInt64(StringUtils.HexToBytes(context.Device.System.TitleID), 0),
Version = 0x00,
BaseGameStorageId = (byte)StorageId.NandSystem,
UpdateGameStorageId = (byte)StorageId.None
};
}
}
}

View file

@ -1,23 +0,0 @@
using Ryujinx.HLE.FileSystem;
using Ryujinx.HLE.Utilities;
using System;
namespace Ryujinx.HLE.HOS.Services.Arp
{
static class ApplicationLaunchPropertyHelper
{
public static ApplicationLaunchProperty GetByPid(ServiceCtx context)
{
// TODO: Handle ApplicationLaunchProperty as array when pid will be supported and return the right item.
// For now we can hardcode values, and fix it after GetApplicationLaunchProperty is implemented.
return new ApplicationLaunchProperty
{
TitleId = BitConverter.ToInt64(StringUtils.HexToBytes(context.Device.System.TitleID), 0),
Version = 0x00,
BaseGameStorageId = (byte)StorageId.NandSystem,
UpdateGameStorageId = (byte)StorageId.None
};
}
}
}

View file

@ -1,4 +1,4 @@
using Ryujinx.HLE.HOS.Services.Arp;
using Ryujinx.HLE.HOS.Services.Glue;
namespace Ryujinx.HLE.HOS.Services.Bcat
{

View file

@ -1,6 +1,5 @@
using Ryujinx.HLE.HOS.Services.Arp;
using Ryujinx.HLE.HOS.Services.Glue;
using System;
using System.Collections.Generic;
using System.Text;
namespace Ryujinx.HLE.HOS.Services.Bcat

View file

@ -1,4 +1,4 @@
using Ryujinx.HLE.HOS.Services.Arp;
using Ryujinx.HLE.HOS.Services.Glue;
namespace Ryujinx.HLE.HOS.Services.Bcat
{
@ -20,9 +20,7 @@ namespace Ryujinx.HLE.HOS.Services.Bcat
// Add an instance of nn::bcat::detail::service::core::TaskManager who load "bcat-sys:/" system save data and open "dc/task.bin".
// If the file don't exist, create a new one (size of 0x800) and write 2 empty struct with a size of 0x400.
ApplicationLaunchProperty applicationLaunchProperty = ApplicationLaunchPropertyHelper.GetByPid(context);
MakeObject(context, new IBcatService(applicationLaunchProperty));
MakeObject(context, new IBcatService(ApplicationLaunchProperty.GetByPid(context)));
// NOTE: If the IBcatService is null this error is returned, Doesn't occur in our case.
// return ResultCode.NullObject;
@ -40,9 +38,7 @@ namespace Ryujinx.HLE.HOS.Services.Bcat
// Where X depend of the ApplicationLaunchProperty stored in an array (range 0-3).
// Add an instance of nn::bcat::detail::service::ServiceMemoryManager.
ApplicationLaunchProperty applicationLaunchProperty = ApplicationLaunchPropertyHelper.GetByPid(context);
MakeObject(context, new IDeliveryCacheStorageService(context, applicationLaunchProperty));
MakeObject(context, new IDeliveryCacheStorageService(context, ApplicationLaunchProperty.GetByPid(context)));
// NOTE: If the IDeliveryCacheStorageService is null this error is returned, Doesn't occur in our case.
// return ResultCode.NullObject;