aboutsummaryrefslogtreecommitdiff
path: root/src/Ryujinx.HLE/HOS/Services/Lbl/ILblController.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/Ryujinx.HLE/HOS/Services/Lbl/ILblController.cs')
-rw-r--r--src/Ryujinx.HLE/HOS/Services/Lbl/ILblController.cs92
1 files changed, 92 insertions, 0 deletions
diff --git a/src/Ryujinx.HLE/HOS/Services/Lbl/ILblController.cs b/src/Ryujinx.HLE/HOS/Services/Lbl/ILblController.cs
new file mode 100644
index 00000000..65074d5f
--- /dev/null
+++ b/src/Ryujinx.HLE/HOS/Services/Lbl/ILblController.cs
@@ -0,0 +1,92 @@
+namespace Ryujinx.HLE.HOS.Services.Lbl
+{
+ abstract class ILblController : IpcService
+ {
+ public ILblController(ServiceCtx context) { }
+
+ protected abstract void SetCurrentBrightnessSettingForVrMode(float currentBrightnessSettingForVrMode);
+ protected abstract float GetCurrentBrightnessSettingForVrMode();
+ internal abstract void EnableVrMode();
+ internal abstract void DisableVrMode();
+ protected abstract bool IsVrModeEnabled();
+
+ [CommandCmif(17)]
+ // SetBrightnessReflectionDelayLevel(float, float)
+ public ResultCode SetBrightnessReflectionDelayLevel(ServiceCtx context)
+ {
+ return ResultCode.Success;
+ }
+
+ [CommandCmif(18)]
+ // GetBrightnessReflectionDelayLevel(float) -> float
+ public ResultCode GetBrightnessReflectionDelayLevel(ServiceCtx context)
+ {
+ context.ResponseData.Write(0.0f);
+
+ return ResultCode.Success;
+ }
+
+ [CommandCmif(21)]
+ // SetCurrentAmbientLightSensorMapping(unknown<0xC>)
+ public ResultCode SetCurrentAmbientLightSensorMapping(ServiceCtx context)
+ {
+ return ResultCode.Success;
+ }
+
+ [CommandCmif(22)]
+ // GetCurrentAmbientLightSensorMapping() -> unknown<0xC>
+ public ResultCode GetCurrentAmbientLightSensorMapping(ServiceCtx context)
+ {
+ return ResultCode.Success;
+ }
+
+ [CommandCmif(24)] // 3.0.0+
+ // SetCurrentBrightnessSettingForVrMode(float)
+ public ResultCode SetCurrentBrightnessSettingForVrMode(ServiceCtx context)
+ {
+ float currentBrightnessSettingForVrMode = context.RequestData.ReadSingle();
+
+ SetCurrentBrightnessSettingForVrMode(currentBrightnessSettingForVrMode);
+
+ return ResultCode.Success;
+ }
+
+ [CommandCmif(25)] // 3.0.0+
+ // GetCurrentBrightnessSettingForVrMode() -> float
+ public ResultCode GetCurrentBrightnessSettingForVrMode(ServiceCtx context)
+ {
+ float currentBrightnessSettingForVrMode = GetCurrentBrightnessSettingForVrMode();
+
+ context.ResponseData.Write(currentBrightnessSettingForVrMode);
+
+ return ResultCode.Success;
+ }
+
+ [CommandCmif(26)] // 3.0.0+
+ // EnableVrMode()
+ public ResultCode EnableVrMode(ServiceCtx context)
+ {
+ EnableVrMode();
+
+ return ResultCode.Success;
+ }
+
+ [CommandCmif(27)] // 3.0.0+
+ // DisableVrMode()
+ public ResultCode DisableVrMode(ServiceCtx context)
+ {
+ DisableVrMode();
+
+ return ResultCode.Success;
+ }
+
+ [CommandCmif(28)] // 3.0.0+
+ // IsVrModeEnabled() -> bool
+ public ResultCode IsVrModeEnabled(ServiceCtx context)
+ {
+ context.ResponseData.Write(IsVrModeEnabled());
+
+ return ResultCode.Success;
+ }
+ }
+} \ No newline at end of file