no name: Mii Editor applet support (#2419)
* no name: Mii Editor applet support * addresses gdkchan feedback * Fix comment * Bypass MountCounter of MiiDatabaseManager * Fix GetSettingsPlatformRegion * Disable Applet Menu for unsupported firmwares
This commit is contained in:
parent
fefd4619a5
commit
a79b39b913
27 changed files with 591 additions and 33 deletions
|
@ -36,7 +36,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii
|
|||
public static UInt128 GetDeviceId()
|
||||
{
|
||||
// FIXME: call set:sys GetMiiAuthorId
|
||||
return new UInt128(0, 1);
|
||||
return new UInt128("5279754d69694e780000000000000000"); // RyuMiiNx
|
||||
}
|
||||
|
||||
public static ReadOnlySpan<byte> Ver3FacelineColorTable => new byte[] { 0, 1, 2, 3, 4, 5 };
|
||||
|
|
|
@ -1,8 +1,41 @@
|
|||
namespace Ryujinx.HLE.HOS.Services.Mii
|
||||
using Ryujinx.Common.Logging;
|
||||
|
||||
namespace Ryujinx.HLE.HOS.Services.Mii
|
||||
{
|
||||
[Service("miiimg")] // 5.0.0+
|
||||
class IImageDatabaseService : IpcService
|
||||
{
|
||||
private uint _imageCount;
|
||||
private bool _isDirty;
|
||||
|
||||
public IImageDatabaseService(ServiceCtx context) { }
|
||||
|
||||
[CommandHipc(0)]
|
||||
// Initialize(b8) -> b8
|
||||
public ResultCode Initialize(ServiceCtx context)
|
||||
{
|
||||
// TODO: Service uses MiiImage:/database.dat if true, seems to use hardcoded data if false.
|
||||
bool useHardcodedData = context.RequestData.ReadBoolean();
|
||||
|
||||
_imageCount = 0;
|
||||
_isDirty = false;
|
||||
|
||||
context.ResponseData.Write(_isDirty);
|
||||
|
||||
Logger.Stub?.PrintStub(LogClass.ServiceMii, new { useHardcodedData });
|
||||
|
||||
return ResultCode.Success;
|
||||
}
|
||||
|
||||
[CommandHipc(11)]
|
||||
// GetCount() -> u32
|
||||
public ResultCode GetCount(ServiceCtx context)
|
||||
{
|
||||
context.ResponseData.Write(_imageCount);
|
||||
|
||||
Logger.Stub?.PrintStub(LogClass.ServiceMii);
|
||||
|
||||
return ResultCode.Success;
|
||||
}
|
||||
}
|
||||
}
|
|
@ -101,6 +101,9 @@ namespace Ryujinx.HLE.HOS.Services.Mii
|
|||
// Ensure we have valid data in the database
|
||||
_database.Format();
|
||||
|
||||
// TODO: Unmount is currently not implemented properly at dispose, implement that and decrement MountCounter.
|
||||
MountCounter = 0;
|
||||
|
||||
MountSave();
|
||||
}
|
||||
|
||||
|
@ -151,8 +154,6 @@ namespace Ryujinx.HLE.HOS.Services.Mii
|
|||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
|
@ -183,6 +184,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii
|
|||
if (result.IsSuccess())
|
||||
{
|
||||
result = _filesystemClient.GetFileSize(out long fileSize, handle);
|
||||
|
||||
if (result.IsSuccess())
|
||||
{
|
||||
if (fileSize == Unsafe.SizeOf<NintendoFigurineDatabase>())
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue