Move Applets to Horizon

This commit is contained in:
Isaac Marovitz 2024-03-10 13:51:30 +00:00
parent 242eb17fee
commit b093a3fbf6
No known key found for this signature in database
GPG key ID: 97250B2B09A132E1
93 changed files with 181 additions and 181 deletions

View file

@ -1,7 +1,8 @@
using Gtk; using Gtk;
using Ryujinx.HLE.HOS.Applets;
using Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.ApplicationProxy.Types;
using Ryujinx.HLE.UI; using Ryujinx.HLE.UI;
using Ryujinx.Horizon.Applets.Controller;
using Ryujinx.Horizon.Applets.SoftwareKeyboard;
using Ryujinx.Horizon.Sdk.Am.Types;
using Ryujinx.UI.Widgets; using Ryujinx.UI.Widgets;
using System; using System;
using System.Threading; using System.Threading;

View file

@ -1,5 +1,5 @@
using Gtk; using Gtk;
using Ryujinx.HLE.HOS.Applets.SoftwareKeyboard; using Ryujinx.Horizon.Applets.SoftwareKeyboard;
using System; using System;
using System.Linq; using System.Linq;

View file

@ -12,7 +12,6 @@ using Ryujinx.HLE.HOS.Kernel.Process;
using Ryujinx.HLE.HOS.Kernel.Threading; using Ryujinx.HLE.HOS.Kernel.Threading;
using Ryujinx.HLE.HOS.Services; using Ryujinx.HLE.HOS.Services;
using Ryujinx.HLE.HOS.Services.Account.Acc; using Ryujinx.HLE.HOS.Services.Account.Acc;
using Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.SystemAppletProxy;
using Ryujinx.HLE.HOS.Services.Apm; using Ryujinx.HLE.HOS.Services.Apm;
using Ryujinx.HLE.HOS.Services.Caps; using Ryujinx.HLE.HOS.Services.Caps;
using Ryujinx.HLE.HOS.Services.Mii; using Ryujinx.HLE.HOS.Services.Mii;
@ -29,6 +28,7 @@ using Ryujinx.HLE.HOS.SystemState;
using Ryujinx.HLE.Loaders.Executables; using Ryujinx.HLE.Loaders.Executables;
using Ryujinx.HLE.Loaders.Processes; using Ryujinx.HLE.Loaders.Processes;
using Ryujinx.Horizon; using Ryujinx.Horizon;
using Ryujinx.Horizon.Sdk.Am.Types;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;

View file

@ -47,7 +47,8 @@ namespace Ryujinx.HLE.HOS.Services.Sdb.Pdm.QueryService
{ {
if (!context.Device.Processes.ActiveApplication.ApplicationControlProperties.PlayLogQueryableApplicationId.ItemsRo.Contains(titleId)) if (!context.Device.Processes.ActiveApplication.ApplicationControlProperties.PlayLogQueryableApplicationId.ItemsRo.Contains(titleId))
{ {
return (ResultCode)Am.ResultCode.ObjectInvalid; // Am Result.ObjectInvalid
return (ResultCode)((500 << 9) | 128);
} }
} }
} }

View file

@ -1,7 +1,7 @@
using Ryujinx.Common; using Ryujinx.Common;
using Ryujinx.Common.Logging; using Ryujinx.Common.Logging;
using Ryujinx.Common.Memory; using Ryujinx.Common.Memory;
using Ryujinx.HLE.HOS.Applets; using Ryujinx.Horizon.Applets;
using Ryujinx.HLE.HOS.Ipc; using Ryujinx.HLE.HOS.Ipc;
using Ryujinx.HLE.HOS.Services.SurfaceFlinger; using Ryujinx.HLE.HOS.Services.SurfaceFlinger;
using Ryujinx.HLE.HOS.Services.Vi.RootService.ApplicationDisplayService; using Ryujinx.HLE.HOS.Services.Vi.RootService.ApplicationDisplayService;

View file

@ -1,5 +1,5 @@
using Ryujinx.HLE.HOS.Kernel.Threading; using Ryujinx.HLE.HOS.Kernel.Threading;
using Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.SystemAppletProxy; using Ryujinx.Horizon.Sdk.Am.Types;
using System.Collections.Concurrent; using System.Collections.Concurrent;
namespace Ryujinx.HLE.HOS.SystemState namespace Ryujinx.HLE.HOS.SystemState

View file

@ -1,4 +1,5 @@
using Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.ApplicationProxy.Types; using Ryujinx.Horizon.Sdk.Am;
using Ryujinx.Horizon.Sdk.Am.Types;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;

View file

@ -24,8 +24,6 @@
<PackageReference Include="LibHac" /> <PackageReference Include="LibHac" />
<PackageReference Include="Microsoft.IdentityModel.JsonWebTokens" /> <PackageReference Include="Microsoft.IdentityModel.JsonWebTokens" />
<PackageReference Include="MsgPack.Cli" /> <PackageReference Include="MsgPack.Cli" />
<PackageReference Include="SixLabors.ImageSharp" />
<PackageReference Include="SixLabors.ImageSharp.Drawing" />
<PackageReference Include="NetCoreServer" /> <PackageReference Include="NetCoreServer" />
</ItemGroup> </ItemGroup>
@ -40,10 +38,6 @@
<ItemGroup> <ItemGroup>
<EmbeddedResource Include="Homebrew.npdm" /> <EmbeddedResource Include="Homebrew.npdm" />
<EmbeddedResource Include="HOS\Applets\SoftwareKeyboard\Resources\Logo_Ryujinx.png" />
<EmbeddedResource Include="HOS\Applets\SoftwareKeyboard\Resources\Icon_BtnA.png" />
<EmbeddedResource Include="HOS\Applets\SoftwareKeyboard\Resources\Icon_BtnB.png" />
<EmbeddedResource Include="HOS\Applets\SoftwareKeyboard\Resources\Icon_KeyF6.png" />
<EmbeddedResource Include="HOS\Services\Account\Acc\DefaultUserImage.jpg" /> <EmbeddedResource Include="HOS\Services\Account\Acc\DefaultUserImage.jpg" />
</ItemGroup> </ItemGroup>

View file

@ -1,5 +1,6 @@
using Ryujinx.HLE.HOS.Applets; using Ryujinx.Horizon.Applets.Controller;
using Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.ApplicationProxy.Types; using Ryujinx.Horizon.Applets.SoftwareKeyboard;
using Ryujinx.Horizon.Sdk.Am.Types;
namespace Ryujinx.HLE.UI namespace Ryujinx.HLE.UI
{ {

View file

@ -5,9 +5,10 @@ using Ryujinx.Graphics.GAL;
using Ryujinx.Graphics.GAL.Multithreading; using Ryujinx.Graphics.GAL.Multithreading;
using Ryujinx.Graphics.Gpu; using Ryujinx.Graphics.Gpu;
using Ryujinx.Graphics.OpenGL; using Ryujinx.Graphics.OpenGL;
using Ryujinx.HLE.HOS.Applets;
using Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.ApplicationProxy.Types;
using Ryujinx.HLE.UI; using Ryujinx.HLE.UI;
using Ryujinx.Horizon.Applets.Controller;
using Ryujinx.Horizon.Applets.SoftwareKeyboard;
using Ryujinx.Horizon.Sdk.Am.Types;
using Ryujinx.Input; using Ryujinx.Input;
using Ryujinx.Input.HLE; using Ryujinx.Input.HLE;
using Ryujinx.SDL2.Common; using Ryujinx.SDL2.Common;

View file

@ -1,23 +1,25 @@
using Ryujinx.Common.Logging; using Ryujinx.Common.Logging;
using Ryujinx.Horizon.Common; using Ryujinx.Horizon.Common;
using Ryujinx.Horizon.Sdk.Am;
using Ryujinx.Horizon.Sdk.Am.Controllers; using Ryujinx.Horizon.Sdk.Am.Controllers;
using Ryujinx.Horizon.Sdk.Am.Storage; using Ryujinx.Horizon.Sdk.Am.Storage;
using Ryujinx.Horizon.Sdk.Sf; using Ryujinx.Horizon.Sdk.Sf;
using System.Linq;
namespace Ryujinx.Horizon.Am.Ipc.Controllers namespace Ryujinx.Horizon.Am.Ipc.Controllers
{ {
partial class LibraryAppletCreator : ILibraryAppletCreator partial class LibraryAppletCreator : ILibraryAppletCreator
{ {
[CmifCommand(0)] [CmifCommand(0)]
public Result CreateLibraryApplet(out ILibraryAppletAccessor arg0, uint arg1, uint arg2) public Result CreateLibraryApplet(out ILibraryAppletAccessor libraryAppletAccessor, uint appletId, uint libraryAppletMode)
{ {
Logger.Stub?.PrintStub(LogClass.ServiceAm); libraryAppletAccessor = new LibraryAppletAccessor((AppletId)appletId);
return Result.Success; return Result.Success;
} }
[CmifCommand(1)] [CmifCommand(1)]
public Result TerminateAllLibraryApplets(out bool arg0) public Result TerminateAllLibraryApplets()
{ {
Logger.Stub?.PrintStub(LogClass.ServiceAm); Logger.Stub?.PrintStub(LogClass.ServiceAm);
@ -25,32 +27,35 @@ namespace Ryujinx.Horizon.Am.Ipc.Controllers
} }
[CmifCommand(2)] [CmifCommand(2)]
public Result AreAnyLibraryAppletsLeft() public Result AreAnyLibraryAppletsLeft(out bool arg0)
{ {
arg0 = true;
Logger.Stub?.PrintStub(LogClass.ServiceAm); Logger.Stub?.PrintStub(LogClass.ServiceAm);
return Result.Success; return Result.Success;
} }
[CmifCommand(10)] [CmifCommand(10)]
public Result CreateStorage(out IStorage arg0, long arg1) public Result CreateStorage(out IStorage storage, long size)
{ {
Logger.Stub?.PrintStub(LogClass.ServiceAm); storage = new Storage.Storage(Enumerable.Repeat((byte)0, (int)size).ToArray());
return Result.Success; return Result.Success;
} }
[CmifCommand(11)] [CmifCommand(11)]
public Result CreateTransferMemoryStorage(out IStorage arg0, int arg1, long arg2, bool arg3) public Result CreateTransferMemoryStorage(out IStorage storage, int handle, long size, bool writeable)
{ {
storage = new Storage.Storage(Enumerable.Repeat((byte)0, (int)size).ToArray(), writeable);
Logger.Stub?.PrintStub(LogClass.ServiceAm); Logger.Stub?.PrintStub(LogClass.ServiceAm);
return Result.Success; return Result.Success;
} }
[CmifCommand(12)] [CmifCommand(12)]
public Result CreateHandleStorage(out IStorage arg0, int arg1, long arg2) public Result CreateHandleStorage(out IStorage storage, int handle, long size)
{ {
storage = new Storage.Storage(Enumerable.Repeat((byte)0, (int)size).ToArray());
Logger.Stub?.PrintStub(LogClass.ServiceAm); Logger.Stub?.PrintStub(LogClass.ServiceAm);
return Result.Success; return Result.Success;

View file

@ -1,10 +1,13 @@
using Ryujinx.HLE.HOS.Applets.Browser; using Ryujinx.Horizon.Applets.Browser;
using Ryujinx.HLE.HOS.Applets.Error; using Ryujinx.Horizon.Applets.Controller;
using Ryujinx.HLE.HOS.Services.Am.AppletAE; using Ryujinx.Horizon.Applets.PlayerSelect;
using Ryujinx.Horizon.Applets.SoftwareKeyboard;
using Ryujinx.Horizon.Sdk.Am;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using ErrorApplet = Ryujinx.Horizon.Applets.Error.ErrorApplet;
namespace Ryujinx.HLE.HOS.Applets namespace Ryujinx.Horizon.Applets
{ {
static class AppletManager static class AppletManager
{ {
@ -17,18 +20,18 @@ namespace Ryujinx.HLE.HOS.Applets
{ AppletId.Error, typeof(ErrorApplet) }, { AppletId.Error, typeof(ErrorApplet) },
{ AppletId.PlayerSelect, typeof(PlayerSelectApplet) }, { AppletId.PlayerSelect, typeof(PlayerSelectApplet) },
{ AppletId.Controller, typeof(ControllerApplet) }, { AppletId.Controller, typeof(ControllerApplet) },
{ AppletId.SoftwareKeyboard, typeof(SoftwareKeyboardApplet) }, { AppletId.Swkbd, typeof(SoftwareKeyboardApplet) },
{ AppletId.LibAppletWeb, typeof(BrowserApplet) }, { AppletId.Web, typeof(BrowserApplet) },
{ AppletId.LibAppletShop, typeof(BrowserApplet) }, { AppletId.Shop, typeof(BrowserApplet) },
{ AppletId.LibAppletOff, typeof(BrowserApplet) }, { AppletId.OfflineWeb, typeof(BrowserApplet) },
}; };
} }
public static IApplet Create(AppletId applet, Horizon system) public static IApplet Create(AppletId applet)
{ {
if (_appletMapping.TryGetValue(applet, out Type appletClass)) if (_appletMapping.TryGetValue(applet, out Type appletClass))
{ {
return (IApplet)Activator.CreateInstance(appletClass, system); return (IApplet)Activator.CreateInstance(appletClass);
} }
throw new NotImplementedException($"{applet} applet is not implemented."); throw new NotImplementedException($"{applet} applet is not implemented.");

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.Browser namespace Ryujinx.Horizon.Applets.Browser
{ {
enum BootDisplayKind enum BootDisplayKind
{ {

View file

@ -1,12 +1,13 @@
using Ryujinx.Common; using Ryujinx.Common;
using Ryujinx.Common.Logging; using Ryujinx.Common.Logging;
using Ryujinx.Common.Memory; using Ryujinx.Common.Memory;
using Ryujinx.HLE.HOS.Services.Am.AppletAE; using Ryujinx.Horizon.Common;
using Ryujinx.Horizon.Sdk.Am;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
namespace Ryujinx.HLE.HOS.Applets.Browser namespace Ryujinx.Horizon.Applets.Browser
{ {
internal class BrowserApplet : IApplet internal class BrowserApplet : IApplet
{ {
@ -18,14 +19,12 @@ namespace Ryujinx.HLE.HOS.Applets.Browser
private List<BrowserArgument> _arguments; private List<BrowserArgument> _arguments;
private ShimKind _shimKind; private ShimKind _shimKind;
public BrowserApplet(Horizon system) { } public Result GetResult()
public ResultCode GetResult()
{ {
return ResultCode.Success; return Result.Success;
} }
public ResultCode Start(AppletSession normalSession, AppletSession interactiveSession) public Result Start(AppletSession normalSession, AppletSession interactiveSession)
{ {
_normalSession = normalSession; _normalSession = normalSession;
@ -65,7 +64,7 @@ namespace Ryujinx.HLE.HOS.Applets.Browser
AppletStateChanged?.Invoke(this, null); AppletStateChanged?.Invoke(this, null);
return ResultCode.Success; return Result.Success;
} }
private static byte[] BuildResponseOld(WebCommonReturnValue result) private static byte[] BuildResponseOld(WebCommonReturnValue result)

View file

@ -1,10 +1,10 @@
using Ryujinx.HLE.HOS.Services.Account.Acc; using LibHac.Fs;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Text; using System.Text;
namespace Ryujinx.HLE.HOS.Applets.Browser namespace Ryujinx.Horizon.Applets.Browser
{ {
class BrowserArgument class BrowserArgument
{ {

View file

@ -2,7 +2,7 @@ using Ryujinx.Common;
using System; using System;
using System.IO; using System.IO;
namespace Ryujinx.HLE.HOS.Applets.Browser namespace Ryujinx.Horizon.Applets.Browser
{ {
class BrowserOutput class BrowserOutput
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.Browser namespace Ryujinx.Horizon.Applets.Browser
{ {
enum BrowserOutputType : ushort enum BrowserOutputType : ushort
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.Browser namespace Ryujinx.Horizon.Applets.Browser
{ {
enum DocumentKind enum DocumentKind
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.Browser namespace Ryujinx.Horizon.Applets.Browser
{ {
enum LeftStickMode enum LeftStickMode
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.Browser namespace Ryujinx.Horizon.Applets.Browser
{ {
public enum ShimKind : uint public enum ShimKind : uint
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.Browser namespace Ryujinx.Horizon.Applets.Browser
{ {
public struct WebArgHeader public struct WebArgHeader
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.Browser namespace Ryujinx.Horizon.Applets.Browser
{ {
public struct WebArgTLV public struct WebArgTLV
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.Browser namespace Ryujinx.Horizon.Applets.Browser
{ {
enum WebArgTLVType : ushort enum WebArgTLVType : ushort
{ {

View file

@ -1,6 +1,6 @@
using Ryujinx.Common.Memory; using Ryujinx.Common.Memory;
namespace Ryujinx.HLE.HOS.Applets.Browser namespace Ryujinx.Horizon.Applets.Browser
{ {
public struct WebCommonReturnValue public struct WebCommonReturnValue
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.Browser namespace Ryujinx.Horizon.Applets.Browser
{ {
public enum WebExitReason : uint public enum WebExitReason : uint
{ {

View file

@ -1,6 +1,6 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Applets namespace Ryujinx.Horizon.Applets
{ {
[StructLayout(LayoutKind.Sequential, Pack = 8)] [StructLayout(LayoutKind.Sequential, Pack = 8)]
struct CommonArguments struct CommonArguments

View file

@ -1,30 +1,23 @@
using Ryujinx.Audio;
using Ryujinx.Common.Configuration.Hid;
using Ryujinx.Common.Logging; using Ryujinx.Common.Logging;
using Ryujinx.Common.Memory; using Ryujinx.Common.Memory;
using Ryujinx.HLE.HOS.Services.Am.AppletAE; using Ryujinx.Horizon.Common;
using Ryujinx.HLE.HOS.Services.Hid; using Ryujinx.Horizon.Sdk.Am;
using Ryujinx.HLE.HOS.Services.Hid.Types;
using System; using System;
using System.IO; using System.IO;
using System.Runtime.CompilerServices; using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using static Ryujinx.HLE.HOS.Services.Hid.HidServer.HidUtils;
namespace Ryujinx.HLE.HOS.Applets namespace Ryujinx.Horizon.Applets.Controller
{ {
internal class ControllerApplet : IApplet internal class ControllerApplet : IApplet
{ {
private readonly Horizon _system;
private AppletSession _normalSession; private AppletSession _normalSession;
public event EventHandler AppletStateChanged; public event EventHandler AppletStateChanged;
public ControllerApplet(Horizon system) public Result Start(AppletSession normalSession, AppletSession interactiveSession)
{
_system = system;
}
public ResultCode Start(AppletSession normalSession, AppletSession interactiveSession)
{ {
_normalSession = normalSession; _normalSession = normalSession;
@ -40,7 +33,7 @@ namespace Ryujinx.HLE.HOS.Applets
_normalSession.Push(BuildResponse()); // Dummy response for other modes _normalSession.Push(BuildResponse()); // Dummy response for other modes
AppletStateChanged?.Invoke(this, null); AppletStateChanged?.Invoke(this, null);
return ResultCode.Success; return Result.Success;
} }
byte[] controllerSupportArg = _normalSession.Pop(); byte[] controllerSupportArg = _normalSession.Pop();
@ -114,12 +107,12 @@ namespace Ryujinx.HLE.HOS.Applets
_system.ReturnFocus(); _system.ReturnFocus();
return ResultCode.Success; return Result.Success;
} }
public ResultCode GetResult() public Result GetResult()
{ {
return ResultCode.Success; return Result.Success;
} }
private static byte[] BuildResponse(ControllerSupportResultInfo result) private static byte[] BuildResponse(ControllerSupportResultInfo result)

View file

@ -1,7 +1,6 @@
using Ryujinx.HLE.HOS.Services.Hid;
using System.Collections.Generic; using System.Collections.Generic;
namespace Ryujinx.HLE.HOS.Applets namespace Ryujinx.Horizon.Applets.Controller
{ {
public struct ControllerAppletUIArgs public struct ControllerAppletUIArgs
{ {

View file

@ -1,6 +1,6 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Applets namespace Ryujinx.Horizon.Applets.Controller
{ {
#pragma warning disable CS0649 // Field is never assigned to #pragma warning disable CS0649 // Field is never assigned to
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets namespace Ryujinx.Horizon.Applets.Controller
{ {
#pragma warning disable CS0649 // Field is never assigned to #pragma warning disable CS0649 // Field is never assigned to
struct ControllerSupportArgPrivate struct ControllerSupportArgPrivate

View file

@ -2,7 +2,7 @@ using Ryujinx.Common.Memory;
using System; using System;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Applets namespace Ryujinx.Horizon.Applets.Controller
{ {
#pragma warning disable CS0649 // Field is never assigned to #pragma warning disable CS0649 // Field is never assigned to
// (8.0.0+ version) // (8.0.0+ version)

View file

@ -2,7 +2,7 @@ using Ryujinx.Common.Memory;
using System; using System;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Applets namespace Ryujinx.Horizon.Applets.Controller
{ {
#pragma warning disable CS0649 // Field is never assigned to #pragma warning disable CS0649 // Field is never assigned to
// (1.0.0+ version) // (1.0.0+ version)

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets namespace Ryujinx.Horizon.Applets.Controller
{ {
enum ControllerSupportMode : byte enum ControllerSupportMode : byte
{ {

View file

@ -1,7 +1,7 @@
using Ryujinx.Common.Memory; using Ryujinx.Common.Memory;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Applets namespace Ryujinx.Horizon.Applets.Controller
{ {
#pragma warning disable CS0649 // Field is never assigned to #pragma warning disable CS0649 // Field is never assigned to
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]

View file

@ -1,7 +1,7 @@
using Ryujinx.Common.Memory; using Ryujinx.Common.Memory;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Applets.Error namespace Ryujinx.Horizon.Applets.Error
{ {
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct ApplicationErrorArg struct ApplicationErrorArg

View file

@ -6,8 +6,8 @@ using LibHac.Ncm;
using LibHac.Tools.FsSystem; using LibHac.Tools.FsSystem;
using LibHac.Tools.FsSystem.NcaUtils; using LibHac.Tools.FsSystem.NcaUtils;
using Ryujinx.Common.Logging; using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Services.Am.AppletAE; using Ryujinx.Horizon.Common;
using Ryujinx.HLE.HOS.SystemState; using Ryujinx.Horizon.Sdk.Am;
using System; using System;
using System.Collections.Generic; using System.Collections.Generic;
using System.IO; using System.IO;
@ -16,7 +16,7 @@ using System.Runtime.InteropServices;
using System.Text; using System.Text;
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
namespace Ryujinx.HLE.HOS.Applets.Error namespace Ryujinx.Horizon.Applets.Error
{ {
internal partial class ErrorApplet : IApplet internal partial class ErrorApplet : IApplet
{ {
@ -38,7 +38,7 @@ namespace Ryujinx.HLE.HOS.Applets.Error
_horizon = horizon; _horizon = horizon;
} }
public ResultCode Start(AppletSession normalSession, AppletSession interactiveSession) public Result Start(AppletSession normalSession, AppletSession interactiveSession)
{ {
_normalSession = normalSession; _normalSession = normalSession;
_commonArguments = IApplet.ReadStruct<CommonArguments>(_normalSession.Pop()); _commonArguments = IApplet.ReadStruct<CommonArguments>(_normalSession.Pop());
@ -69,7 +69,7 @@ namespace Ryujinx.HLE.HOS.Applets.Error
AppletStateChanged?.Invoke(this, null); AppletStateChanged?.Invoke(this, null);
return ResultCode.Success; return Result.Success;
} }
private static (uint module, uint description) HexToResultCode(uint resultCode) private static (uint module, uint description) HexToResultCode(uint resultCode)
@ -209,9 +209,9 @@ namespace Ryujinx.HLE.HOS.Applets.Error
} }
} }
public ResultCode GetResult() public Result GetResult()
{ {
return ResultCode.Success; return Result.Success;
} }
} }
} }

View file

@ -1,6 +1,6 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Applets.Error namespace Ryujinx.Horizon.Applets.Error
{ {
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct ErrorCommonArg struct ErrorCommonArg

View file

@ -1,6 +1,6 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Applets.Error namespace Ryujinx.Horizon.Applets.Error
{ {
[StructLayout(LayoutKind.Sequential, Pack = 1)] [StructLayout(LayoutKind.Sequential, Pack = 1)]
struct ErrorCommonHeader struct ErrorCommonHeader

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.Error namespace Ryujinx.Horizon.Applets.Error
{ {
enum ErrorType : byte enum ErrorType : byte
{ {

View file

@ -1,19 +1,19 @@
using Ryujinx.HLE.HOS.Services.Am.AppletAE; using Ryujinx.Horizon.Common;
using Ryujinx.HLE.UI; using Ryujinx.Horizon.Sdk.Am;
using Ryujinx.Memory; using Ryujinx.Memory;
using System; using System;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Applets namespace Ryujinx.Horizon.Applets
{ {
interface IApplet public interface IApplet
{ {
event EventHandler AppletStateChanged; event EventHandler AppletStateChanged;
ResultCode Start(AppletSession normalSession, Result Start(AppletSession normalSession,
AppletSession interactiveSession); AppletSession interactiveSession);
ResultCode GetResult(); Result GetResult();
bool DrawTo(RenderingSurfaceInfo surfaceInfo, IVirtualMemoryManager destination, ulong position) bool DrawTo(RenderingSurfaceInfo surfaceInfo, IVirtualMemoryManager destination, ulong position)
{ {

View file

@ -1,15 +1,13 @@
using Ryujinx.Common.Memory; using Ryujinx.Common.Memory;
using Ryujinx.HLE.HOS.Services.Account.Acc; using Ryujinx.Horizon.Common;
using Ryujinx.HLE.HOS.Services.Am.AppletAE; using Ryujinx.Horizon.Sdk.Am;
using System; using System;
using System.IO; using System.IO;
namespace Ryujinx.HLE.HOS.Applets namespace Ryujinx.Horizon.Applets.PlayerSelect
{ {
internal class PlayerSelectApplet : IApplet internal class PlayerSelectApplet : IApplet
{ {
private readonly Horizon _system;
private AppletSession _normalSession; private AppletSession _normalSession;
#pragma warning disable IDE0052 // Remove unread private member #pragma warning disable IDE0052 // Remove unread private member
private AppletSession _interactiveSession; private AppletSession _interactiveSession;
@ -17,12 +15,7 @@ namespace Ryujinx.HLE.HOS.Applets
public event EventHandler AppletStateChanged; public event EventHandler AppletStateChanged;
public PlayerSelectApplet(Horizon system) public Result Start(AppletSession normalSession, AppletSession interactiveSession)
{
_system = system;
}
public ResultCode Start(AppletSession normalSession, AppletSession interactiveSession)
{ {
_normalSession = normalSession; _normalSession = normalSession;
_interactiveSession = interactiveSession; _interactiveSession = interactiveSession;
@ -34,12 +27,12 @@ namespace Ryujinx.HLE.HOS.Applets
_system.ReturnFocus(); _system.ReturnFocus();
return ResultCode.Success; return Result.Success;
} }
public ResultCode GetResult() public Result GetResult()
{ {
return ResultCode.Success; return Result.Success;
} }
private byte[] BuildResponse() private byte[] BuildResponse()

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets namespace Ryujinx.Horizon.Applets.PlayerSelect
{ {
enum PlayerSelectResult : ulong enum PlayerSelectResult : ulong
{ {

View file

@ -1,6 +1,6 @@
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
public static partial class CJKCharacterValidation public static partial class CJKCharacterValidation
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// Identifies the initial position of the cursor displayed in the area. /// Identifies the initial position of the cursor displayed in the area.

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// Possible requests to the software keyboard when running in inline mode. /// Possible requests to the software keyboard when running in inline mode.

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// Possible responses from the software keyboard when running in inline mode. /// Possible responses from the software keyboard when running in inline mode.

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// Possible states for the software keyboard when running in inline mode. /// Possible states for the software keyboard when running in inline mode.

View file

@ -1,7 +1,7 @@
using System.IO; using System.IO;
using System.Text; using System.Text;
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
internal class InlineResponses internal class InlineResponses
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// Identifies the text entry mode. /// Identifies the text entry mode.

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// Identifies prohibited buttons. /// Identifies prohibited buttons.

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// Identifies prohibited character sets. /// Identifies prohibited character sets.

View file

@ -1,6 +1,6 @@
using System; using System;
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// Bitmask of commands encoded in the Flags field of the Calc structs. /// Bitmask of commands encoded in the Flags field of the Calc structs.

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// Active input options set by the keyboard applet. These options allow keyboard /// Active input options set by the keyboard applet. These options allow keyboard

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// The miniaturization mode used by the keyboard in inline mode. /// The miniaturization mode used by the keyboard in inline mode.

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// Identifies the variant of keyboard displayed on screen. /// Identifies the variant of keyboard displayed on screen.

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// The intention of the user when they finish the interaction with the keyboard. /// The intention of the user when they finish the interaction with the keyboard.

View file

@ -1,6 +1,6 @@
using System.Text.RegularExpressions; using System.Text.RegularExpressions;
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
public static partial class NumericCharacterValidation public static partial class NumericCharacterValidation
{ {

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// Identifies the display mode of text in a password field. /// Identifies the display mode of text in a password field.

View file

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

View file

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

View file

Before

Width:  |  Height:  |  Size: 3.8 KiB

After

Width:  |  Height:  |  Size: 3.8 KiB

View file

@ -1,6 +1,6 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// A structure with appearance configurations for the software keyboard when running in inline mode. /// A structure with appearance configurations for the software keyboard when running in inline mode.

View file

@ -1,6 +1,6 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// A structure with appearance configurations for the software keyboard when running in inline mode. /// A structure with appearance configurations for the software keyboard when running in inline mode.

View file

@ -1,11 +1,8 @@
using Ryujinx.Common; using Ryujinx.Common;
using Ryujinx.Common.Configuration.Hid; using Ryujinx.Common.Configuration.Hid;
using Ryujinx.Common.Logging; using Ryujinx.Common.Logging;
using Ryujinx.HLE.HOS.Applets.SoftwareKeyboard; using Ryujinx.Horizon.Common;
using Ryujinx.HLE.HOS.Services.Am.AppletAE; using Ryujinx.Horizon.Sdk.Am;
using Ryujinx.HLE.HOS.Services.Hid.Types.SharedMemory.Npad;
using Ryujinx.HLE.UI;
using Ryujinx.HLE.UI.Input;
using Ryujinx.Memory; using Ryujinx.Memory;
using System; using System;
using System.Diagnostics; using System.Diagnostics;
@ -15,9 +12,9 @@ using System.Runtime.CompilerServices;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
using System.Text; using System.Text;
namespace Ryujinx.HLE.HOS.Applets namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
internal class SoftwareKeyboardApplet : IApplet public class SoftwareKeyboardApplet : IApplet
{ {
private const string DefaultInputText = "Ryujinx"; private const string DefaultInputText = "Ryujinx";
@ -71,7 +68,7 @@ namespace Ryujinx.HLE.HOS.Applets
_device = system.Device; _device = system.Device;
} }
public ResultCode Start(AppletSession normalSession, AppletSession interactiveSession) public Result Start(AppletSession normalSession, AppletSession interactiveSession)
{ {
lock (_lock) lock (_lock)
{ {
@ -139,14 +136,14 @@ namespace Ryujinx.HLE.HOS.Applets
ExecuteForegroundKeyboard(); ExecuteForegroundKeyboard();
return ResultCode.Success; return Result.Success;
} }
} }
} }
public ResultCode GetResult() public Result GetResult()
{ {
return ResultCode.Success; return Result.Success;
} }
private bool IsKeyboardActive() private bool IsKeyboardActive()
@ -774,7 +771,7 @@ namespace Ryujinx.HLE.HOS.Applets
/// </remarks> /// </remarks>
/// <param name="input">The input string to sanitize (may be null).</param> /// <param name="input">The input string to sanitize (may be null).</param>
/// <returns>The sanitized string.</returns> /// <returns>The sanitized string.</returns>
internal static string StripUnicodeControlCodes(string input) public static string StripUnicodeControlCodes(string input)
{ {
if (input is null) if (input is null)
{ {

View file

@ -1,6 +1,6 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// A structure with configuration options of the software keyboard when starting a new input request in inline mode. /// A structure with configuration options of the software keyboard when starting a new input request in inline mode.

View file

@ -1,6 +1,6 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// A structure with configuration options of the software keyboard when starting a new input request in inline mode. /// A structure with configuration options of the software keyboard when starting a new input request in inline mode.

View file

@ -1,6 +1,6 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// A structure that defines the configuration options of the software keyboard. /// A structure that defines the configuration options of the software keyboard.

View file

@ -1,6 +1,6 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// A structure used by SetCustomizeDic request to software keyboard. /// A structure used by SetCustomizeDic request to software keyboard.

View file

@ -1,7 +1,7 @@
using Ryujinx.Common.Memory; using Ryujinx.Common.Memory;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// A structure with custom dictionary words for the software keyboard. /// A structure with custom dictionary words for the software keyboard.

View file

@ -1,6 +1,6 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// A structure that mirrors the parameters used to initialize the keyboard applet. /// A structure that mirrors the parameters used to initialize the keyboard applet.

View file

@ -1,9 +1,8 @@
using Ryujinx.HLE.UI;
using Ryujinx.Memory; using Ryujinx.Memory;
using System; using System;
using System.Threading; using System.Threading;
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// Class that manages the renderer base class and its state in a multithreaded context. /// Class that manages the renderer base class and its state in a multithreaded context.

View file

@ -1,4 +1,3 @@
using Ryujinx.HLE.UI;
using Ryujinx.Memory; using Ryujinx.Memory;
using SixLabors.Fonts; using SixLabors.Fonts;
using SixLabors.ImageSharp; using SixLabors.ImageSharp;
@ -12,7 +11,7 @@ using System.Numerics;
using System.Reflection; using System.Reflection;
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// Base class that generates the graphics for the software keyboard applet during inline mode. /// Base class that generates the graphics for the software keyboard applet during inline mode.

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// Identifies the software keyboard state. /// Identifies the software keyboard state.

View file

@ -1,6 +1,4 @@
using Ryujinx.HLE.HOS.Applets.SoftwareKeyboard; namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
namespace Ryujinx.HLE.HOS.Applets
{ {
public struct SoftwareKeyboardUIArgs public struct SoftwareKeyboardUIArgs
{ {

View file

@ -1,6 +1,4 @@
using Ryujinx.HLE.UI; namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// TODO /// TODO

View file

@ -1,6 +1,6 @@
using System.Runtime.InteropServices; using System.Runtime.InteropServices;
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// A structure used by SetUserWordInfo request to the software keyboard. /// A structure used by SetUserWordInfo request to the software keyboard.

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// Wraps a type in a class so it gets stored in the GC managed heap. This is used as communication mechanism /// Wraps a type in a class so it gets stored in the GC managed heap. This is used as communication mechanism

View file

@ -1,7 +1,7 @@
using System; using System;
using System.Threading; using System.Threading;
namespace Ryujinx.HLE.HOS.Applets.SoftwareKeyboard namespace Ryujinx.Horizon.Applets.SoftwareKeyboard
{ {
/// <summary> /// <summary>
/// A threaded executor of periodic actions that can be cancelled. The total execution time is optional /// A threaded executor of periodic actions that can be cancelled. The total execution time is optional

View file

@ -15,6 +15,15 @@
<ItemGroup> <ItemGroup>
<PackageReference Include="Concentus" /> <PackageReference Include="Concentus" />
<PackageReference Include="LibHac" /> <PackageReference Include="LibHac" />
<PackageReference Include="SixLabors.ImageSharp" />
<PackageReference Include="SixLabors.ImageSharp.Drawing" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Applets\SoftwareKeyboard\Resources\Icon_BtnA.png" />
<EmbeddedResource Include="Applets\SoftwareKeyboard\Resources\Icon_BtnB.png" />
<EmbeddedResource Include="Applets\SoftwareKeyboard\Resources\Icon_KeyF6.png" />
<EmbeddedResource Include="Applets\SoftwareKeyboard\Resources\Logo_Ryujinx.png" />
</ItemGroup> </ItemGroup>
<!-- Due to Concentus. --> <!-- Due to Concentus. -->

View file

@ -6,11 +6,11 @@ namespace Ryujinx.Horizon.Sdk.Am.Controllers
{ {
interface ILibraryAppletCreator : IServiceObject interface ILibraryAppletCreator : IServiceObject
{ {
Result CreateLibraryApplet(out ILibraryAppletAccessor arg0, uint arg1, uint arg2); Result CreateLibraryApplet(out ILibraryAppletAccessor libraryAppletAccessor, uint appletId, uint libraryAppletMode);
Result TerminateAllLibraryApplets(); Result TerminateAllLibraryApplets();
Result AreAnyLibraryAppletsLeft(out bool arg0); Result AreAnyLibraryAppletsLeft(out bool arg0);
Result CreateStorage(out IStorage arg0, long arg1); Result CreateStorage(out IStorage storage, long size);
Result CreateTransferMemoryStorage(out IStorage arg0, int arg1, long arg2, bool arg3); Result CreateTransferMemoryStorage(out IStorage storage, int handle, long size, bool writeable);
Result CreateHandleStorage(out IStorage arg0, int arg1, long arg2); Result CreateHandleStorage(out IStorage storage, int handle, long size);
} }
} }

View file

@ -1,6 +1,6 @@
namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.SystemAppletProxy namespace Ryujinx.Horizon.Sdk.Am.Types
{ {
enum AppletMessage public enum AppletMessage
{ {
None = 0, None = 0,
ChangeIntoForeground = 1, ChangeIntoForeground = 1,
@ -33,4 +33,5 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
AlbumScreenShotTaken = 92, AlbumScreenShotTaken = 92,
AlbumRecordingSaved = 93, AlbumRecordingSaved = 93,
} }
} }

View file

@ -0,0 +1,8 @@
namespace Ryujinx.Horizon.Sdk.Am.Types
{
public enum FocusState
{
InFocus = 1,
OutOfFocus = 2,
}
}

View file

@ -1,4 +1,4 @@
namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.ApplicationProxy.Types namespace Ryujinx.Horizon.Sdk.Am.Types
{ {
public enum ProgramSpecifyKind : uint public enum ProgramSpecifyKind : uint
{ {

View file

@ -1,7 +1,6 @@
using Ryujinx.Horizon.Arp; using Ryujinx.Horizon.Arp;
using Ryujinx.Horizon.Audio; using Ryujinx.Horizon.Audio;
using Ryujinx.Horizon.Am; using Ryujinx.Horizon.Am;
using Ryujinx.Horizon.Arp;
using Ryujinx.Horizon.Bcat; using Ryujinx.Horizon.Bcat;
using Ryujinx.Horizon.Friends; using Ryujinx.Horizon.Friends;
using Ryujinx.Horizon.Hshl; using Ryujinx.Horizon.Hshl;

View file

@ -1,8 +1,8 @@
using NUnit.Framework; using NUnit.Framework;
using Ryujinx.HLE.HOS.Applets; using Ryujinx.Horizon.Applets.SoftwareKeyboard;
using System.Text; using System.Text;
namespace Ryujinx.Tests.HLE namespace Ryujinx.Tests.Horizon
{ {
public class SoftwareKeyboardTests public class SoftwareKeyboardTests
{ {

View file

@ -27,6 +27,7 @@
<ProjectReference Include="..\Ryujinx.Audio\Ryujinx.Audio.csproj" /> <ProjectReference Include="..\Ryujinx.Audio\Ryujinx.Audio.csproj" />
<ProjectReference Include="..\Ryujinx.Cpu\Ryujinx.Cpu.csproj" /> <ProjectReference Include="..\Ryujinx.Cpu\Ryujinx.Cpu.csproj" />
<ProjectReference Include="..\Ryujinx.HLE\Ryujinx.HLE.csproj" /> <ProjectReference Include="..\Ryujinx.HLE\Ryujinx.HLE.csproj" />
<ProjectReference Include="..\Ryujinx.Horizon\Ryujinx.Horizon.csproj" />
<ProjectReference Include="..\Ryujinx.Tests.Memory\Ryujinx.Tests.Memory.csproj" /> <ProjectReference Include="..\Ryujinx.Tests.Memory\Ryujinx.Tests.Memory.csproj" />
<ProjectReference Include="..\Ryujinx.Memory\Ryujinx.Memory.csproj" /> <ProjectReference Include="..\Ryujinx.Memory\Ryujinx.Memory.csproj" />
<ProjectReference Include="..\Ryujinx.Tests.Unicorn\Ryujinx.Tests.Unicorn.csproj" /> <ProjectReference Include="..\Ryujinx.Tests.Unicorn\Ryujinx.Tests.Unicorn.csproj" />

View file

@ -6,9 +6,10 @@ using Ryujinx.Ava.UI.Controls;
using Ryujinx.Ava.UI.Helpers; using Ryujinx.Ava.UI.Helpers;
using Ryujinx.Ava.UI.Windows; using Ryujinx.Ava.UI.Windows;
using Ryujinx.HLE; using Ryujinx.HLE;
using Ryujinx.HLE.HOS.Applets;
using Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.ApplicationProxy.Types;
using Ryujinx.HLE.UI; using Ryujinx.HLE.UI;
using Ryujinx.Horizon.Applets.Controller;
using Ryujinx.Horizon.Applets.SoftwareKeyboard;
using Ryujinx.Horizon.Sdk.Am.Types;
using System; using System;
using System.Threading; using System.Threading;

View file

@ -7,8 +7,8 @@ using Ryujinx.Ava.Common.Locale;
using Ryujinx.Ava.UI.Helpers; using Ryujinx.Ava.UI.Helpers;
using Ryujinx.Ava.UI.Windows; using Ryujinx.Ava.UI.Windows;
using Ryujinx.Common; using Ryujinx.Common;
using Ryujinx.HLE.HOS.Applets;
using Ryujinx.HLE.HOS.Services.Hid; using Ryujinx.HLE.HOS.Services.Hid;
using Ryujinx.Horizon.Applets.Controller;
using System; using System;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;

View file

@ -5,8 +5,7 @@ using Avalonia.Media;
using FluentAvalonia.UI.Controls; using FluentAvalonia.UI.Controls;
using Ryujinx.Ava.Common.Locale; using Ryujinx.Ava.Common.Locale;
using Ryujinx.Ava.UI.Helpers; using Ryujinx.Ava.UI.Helpers;
using Ryujinx.HLE.HOS.Applets; using Ryujinx.Horizon.Applets.SoftwareKeyboard;
using Ryujinx.HLE.HOS.Applets.SoftwareKeyboard;
using System; using System;
using System.Linq; using System.Linq;
using System.Threading.Tasks; using System.Threading.Tasks;