forked from Mirror/Ryujinx
am: Add all known AppletMessage (#2378)
This PR add all known AppletMessage values for accuracy, nothing more. `MessageInfo` is renamed to the right `AppletMessage` name.
This commit is contained in:
parent
65fee49e8a
commit
aca1c37d4b
5 changed files with 49 additions and 17 deletions
|
@ -321,8 +321,8 @@ namespace Ryujinx.HLE.HOS
|
||||||
State.DockedMode = newState;
|
State.DockedMode = newState;
|
||||||
PerformanceState.PerformanceMode = State.DockedMode ? PerformanceMode.Boost : PerformanceMode.Default;
|
PerformanceState.PerformanceMode = State.DockedMode ? PerformanceMode.Boost : PerformanceMode.Default;
|
||||||
|
|
||||||
AppletState.Messages.Enqueue(MessageInfo.OperationModeChanged);
|
AppletState.Messages.Enqueue(AppletMessage.OperationModeChanged);
|
||||||
AppletState.Messages.Enqueue(MessageInfo.PerformanceModeChanged);
|
AppletState.Messages.Enqueue(AppletMessage.PerformanceModeChanged);
|
||||||
AppletState.MessageEvent.ReadableEvent.Signal();
|
AppletState.MessageEvent.ReadableEvent.Signal();
|
||||||
|
|
||||||
SignalDisplayResolutionChange();
|
SignalDisplayResolutionChange();
|
||||||
|
@ -338,7 +338,7 @@ namespace Ryujinx.HLE.HOS
|
||||||
|
|
||||||
public void SimulateWakeUpMessage()
|
public void SimulateWakeUpMessage()
|
||||||
{
|
{
|
||||||
AppletState.Messages.Enqueue(MessageInfo.Resume);
|
AppletState.Messages.Enqueue(AppletMessage.Resume);
|
||||||
AppletState.MessageEvent.ReadableEvent.Signal();
|
AppletState.MessageEvent.ReadableEvent.Signal();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -50,7 +50,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
|
||||||
// ReceiveMessage() -> nn::am::AppletMessage
|
// ReceiveMessage() -> nn::am::AppletMessage
|
||||||
public ResultCode ReceiveMessage(ServiceCtx context)
|
public ResultCode ReceiveMessage(ServiceCtx context)
|
||||||
{
|
{
|
||||||
if (!context.Device.System.AppletState.Messages.TryDequeue(out MessageInfo message))
|
if (!context.Device.System.AppletState.Messages.TryDequeue(out AppletMessage message))
|
||||||
{
|
{
|
||||||
return ResultCode.NoMessages;
|
return ResultCode.NoMessages;
|
||||||
}
|
}
|
||||||
|
|
|
@ -0,0 +1,36 @@
|
||||||
|
namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.SystemAppletProxy
|
||||||
|
{
|
||||||
|
enum AppletMessage
|
||||||
|
{
|
||||||
|
None = 0,
|
||||||
|
ChangeIntoForeground = 1,
|
||||||
|
ChangeIntoBackground = 2,
|
||||||
|
Exit = 4,
|
||||||
|
ApplicationExited = 6,
|
||||||
|
FocusStateChanged = 15,
|
||||||
|
Resume = 16,
|
||||||
|
DetectShortPressingHomeButton = 20,
|
||||||
|
DetectLongPressingHomeButton = 21,
|
||||||
|
DetectShortPressingPowerButton = 22,
|
||||||
|
DetectMiddlePressingPowerButton = 23,
|
||||||
|
DetectLongPressingPowerButton = 24,
|
||||||
|
RequestToPrepareSleep = 25,
|
||||||
|
FinishedSleepSequence = 26,
|
||||||
|
SleepRequiredByHighTemperature = 27,
|
||||||
|
SleepRequiredByLowBattery = 28,
|
||||||
|
AutoPowerDown = 29,
|
||||||
|
OperationModeChanged = 30,
|
||||||
|
PerformanceModeChanged = 31,
|
||||||
|
DetectReceivingCecSystemStandby = 32,
|
||||||
|
SdCardRemoved = 33,
|
||||||
|
LaunchApplicationRequested = 50,
|
||||||
|
RequestToDisplay = 51,
|
||||||
|
ShowApplicationLogo = 55,
|
||||||
|
HideApplicationLogo = 56,
|
||||||
|
ForceHideApplicationLogo = 57,
|
||||||
|
FloatingApplicationDetected = 60,
|
||||||
|
DetectShortPressingCaptureButton = 90,
|
||||||
|
AlbumScreenShotTaken = 92,
|
||||||
|
AlbumRecordingSaved = 93
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,10 +0,0 @@
|
||||||
namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.SystemAppletProxy
|
|
||||||
{
|
|
||||||
enum MessageInfo
|
|
||||||
{
|
|
||||||
FocusStateChanged = 0xf,
|
|
||||||
Resume = 0x10,
|
|
||||||
OperationModeChanged = 0x1e,
|
|
||||||
PerformanceModeChanged = 0x1f
|
|
||||||
}
|
|
||||||
}
|
|
|
@ -6,7 +6,7 @@ namespace Ryujinx.HLE.HOS.SystemState
|
||||||
{
|
{
|
||||||
class AppletStateMgr
|
class AppletStateMgr
|
||||||
{
|
{
|
||||||
public ConcurrentQueue<MessageInfo> Messages { get; }
|
public ConcurrentQueue<AppletMessage> Messages { get; }
|
||||||
|
|
||||||
public FocusState FocusState { get; private set; }
|
public FocusState FocusState { get; private set; }
|
||||||
|
|
||||||
|
@ -16,7 +16,7 @@ namespace Ryujinx.HLE.HOS.SystemState
|
||||||
|
|
||||||
public AppletStateMgr(Horizon system)
|
public AppletStateMgr(Horizon system)
|
||||||
{
|
{
|
||||||
Messages = new ConcurrentQueue<MessageInfo>();
|
Messages = new ConcurrentQueue<AppletMessage>();
|
||||||
MessageEvent = new KEvent(system.KernelContext);
|
MessageEvent = new KEvent(system.KernelContext);
|
||||||
|
|
||||||
AppletResourceUserIds = new IdDictionary();
|
AppletResourceUserIds = new IdDictionary();
|
||||||
|
@ -26,7 +26,13 @@ namespace Ryujinx.HLE.HOS.SystemState
|
||||||
{
|
{
|
||||||
FocusState = isFocused ? FocusState.InFocus : FocusState.OutOfFocus;
|
FocusState = isFocused ? FocusState.InFocus : FocusState.OutOfFocus;
|
||||||
|
|
||||||
Messages.Enqueue(MessageInfo.FocusStateChanged);
|
Messages.Enqueue(AppletMessage.FocusStateChanged);
|
||||||
|
|
||||||
|
if (isFocused)
|
||||||
|
{
|
||||||
|
Messages.Enqueue(AppletMessage.ChangeIntoForeground);
|
||||||
|
}
|
||||||
|
|
||||||
MessageEvent.ReadableEvent.Signal();
|
MessageEvent.ReadableEvent.Signal();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue