Fix ApplicationLaunchProperty 2

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

View file

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

View file

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

View file

@ -1,6 +1,8 @@
using Ryujinx.HLE.FileSystem; using Ryujinx.HLE.FileSystem;
using Ryujinx.HLE.Utilities;
using System;
namespace Ryujinx.HLE.HOS.Services.Arp namespace Ryujinx.HLE.HOS.Services.Glue
{ {
class ApplicationLaunchProperty 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 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;
using System.Collections.Generic;
using System.Text; using System.Text;
namespace Ryujinx.HLE.HOS.Services.Bcat 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 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". // 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. // 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.GetByPid(context)));
MakeObject(context, new IBcatService(applicationLaunchProperty));
// NOTE: If the IBcatService is null this error is returned, Doesn't occur in our case. // NOTE: If the IBcatService is null this error is returned, Doesn't occur in our case.
// return ResultCode.NullObject; // 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). // Where X depend of the ApplicationLaunchProperty stored in an array (range 0-3).
// Add an instance of nn::bcat::detail::service::ServiceMemoryManager. // Add an instance of nn::bcat::detail::service::ServiceMemoryManager.
ApplicationLaunchProperty applicationLaunchProperty = ApplicationLaunchPropertyHelper.GetByPid(context); MakeObject(context, new IDeliveryCacheStorageService(context, ApplicationLaunchProperty.GetByPid(context)));
MakeObject(context, new IDeliveryCacheStorageService(context, applicationLaunchProperty));
// NOTE: If the IDeliveryCacheStorageService is null this error is returned, Doesn't occur in our case. // NOTE: If the IDeliveryCacheStorageService is null this error is returned, Doesn't occur in our case.
// return ResultCode.NullObject; // return ResultCode.NullObject;