From 2365ddfc363e76ac1ac9d2e32ef9b36b85463431 Mon Sep 17 00:00:00 2001 From: mageven <62494521+mageven@users.noreply.github.com> Date: Fri, 3 Apr 2020 05:40:02 +0530 Subject: HID SharedMem Rework (#1003) * Delete old HLE.Input * Add new HLE Input. git shows Hid.cs as modified because of the same name. It is new. * Change HID Service * Change Ryujinx UI to reflect new Input * Add basic ControllerApplet * Add DebugPad Should fix Kirby Star Allies * Address Ac_K's comments * Moved all of HLE.Input to Services.Hid * Separated all structs and enums each to a file * Removed vars * Made some naming changes to align with switchbrew * Added official joycon colors As an aside, fixed a mistake in touchscreen headers and added checks to important SharedMem structs at init time. * Further address Ac_K's comments * Addressed gdkchan's and some more Ac_K's comments * Address AcK's review comments * Address AcK's second review comments * Replace missed Marshal.SizeOf and address gdkchan's comments --- Ryujinx.HLE/DeviceMemory.cs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'Ryujinx.HLE/DeviceMemory.cs') diff --git a/Ryujinx.HLE/DeviceMemory.cs b/Ryujinx.HLE/DeviceMemory.cs index 38864bc2..22945b83 100644 --- a/Ryujinx.HLE/DeviceMemory.cs +++ b/Ryujinx.HLE/DeviceMemory.cs @@ -1,6 +1,7 @@ using ARMeilleure.Memory; using System; using System.Runtime.InteropServices; +using System.Runtime.CompilerServices; namespace Ryujinx.HLE { @@ -64,6 +65,11 @@ namespace Ryujinx.HLE return Marshal.PtrToStructure((IntPtr)(_ramPtr + position)); } + public unsafe ref T GetStructRef(long position) + { + return ref Unsafe.AsRef((void*)(IntPtr)(_ramPtr + position)); + } + public void WriteSByte(long position, sbyte value) { WriteByte(position, (byte)value); -- cgit v1.2.3