From 5153d9a198b8666054772307ba1b8b6259392607 Mon Sep 17 00:00:00 2001 From: Gauvain 'GovanifY' Roussel-Tarbouriech Date: Mon, 1 Mar 2021 18:01:01 +0100 Subject: [PATCH] IPC: add LoadState --- pcsx2/IPC.cpp | 10 ++++++++++ pcsx2/IPC.h | 1 + 2 files changed, 11 insertions(+) diff --git a/pcsx2/IPC.cpp b/pcsx2/IPC.cpp index 0635472d25..00a1c1c9c4 100644 --- a/pcsx2/IPC.cpp +++ b/pcsx2/IPC.cpp @@ -401,6 +401,16 @@ SocketIPC::IPCBuffer SocketIPC::ParseCommand(char* buf, char* ret_buffer, u32 bu buf_cnt += 1; break; } + case MsgLoadState: + { + if (!m_vm->HasActiveMachine()) + goto error; + if (!SafetyChecks(buf_cnt, 1, ret_cnt, 0, buf_size)) + goto error; + StateCopy_LoadFromSlot(FromArray(&buf[buf_cnt], 0), false); + buf_cnt += 1; + break; + } default: { error: diff --git a/pcsx2/IPC.h b/pcsx2/IPC.h index 2529319795..54992f713e 100644 --- a/pcsx2/IPC.h +++ b/pcsx2/IPC.h @@ -93,6 +93,7 @@ protected: MsgWrite64 = 7, /**< Write 64 bit value to memory. */ MsgVersion = 8, /**< Returns PCSX2 version. */ MsgSaveState = 9, /**< Saves a savestate. */ + MsgLoadState = 0xA, /**< Loads a savestate. */ MsgUnimplemented = 0xFF /**< Unimplemented IPC message. */ };