diff options
Diffstat (limited to 'Ryujinx.HLE/HOS/Ipc')
| -rw-r--r-- | Ryujinx.HLE/HOS/Ipc/IpcMessage.cs | 16 | ||||
| -rw-r--r-- | Ryujinx.HLE/HOS/Ipc/IpcMessageType.cs | 13 |
2 files changed, 17 insertions, 12 deletions
diff --git a/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs b/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs index 135a0a1f..9fe3ae60 100644 --- a/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs +++ b/Ryujinx.HLE/HOS/Ipc/IpcMessage.cs @@ -82,14 +82,18 @@ namespace Ryujinx.HLE.HOS.Ipc long recvListPos = reader.BaseStream.Position + rawDataSize; - long pad0 = GetPadSize16(reader.BaseStream.Position + cmdPtr); - - if (rawDataSize != 0) + // only HIPC have the padding requirements. + if (Type < IpcMessageType.TipcCloseSession) { - rawDataSize -= (int)pad0; - } + long pad0 = GetPadSize16(reader.BaseStream.Position + cmdPtr); + + if (rawDataSize != 0) + { + rawDataSize -= (int)pad0; + } - reader.BaseStream.Seek(pad0, SeekOrigin.Current); + reader.BaseStream.Seek(pad0, SeekOrigin.Current); + } int recvListCount = recvListFlags - 2; diff --git a/Ryujinx.HLE/HOS/Ipc/IpcMessageType.cs b/Ryujinx.HLE/HOS/Ipc/IpcMessageType.cs index e258accc..dd3c5656 100644 --- a/Ryujinx.HLE/HOS/Ipc/IpcMessageType.cs +++ b/Ryujinx.HLE/HOS/Ipc/IpcMessageType.cs @@ -2,11 +2,12 @@ namespace Ryujinx.HLE.HOS.Ipc { enum IpcMessageType { - Response = 0, - CloseSession = 2, - Request = 4, - Control = 5, - RequestWithContext = 6, - ControlWithContext = 7 + HipcResponse = 0, + HipcCloseSession = 2, + HipcRequest = 4, + HipcControl = 5, + HipcRequestWithContext = 6, + HipcControlWithContext = 7, + TipcCloseSession = 0xF } }
\ No newline at end of file |
