mirror of https://github.com/PCSX2/pcsx2.git
ipc: rename to pine
This commit is contained in:
parent
d51bdccf7f
commit
f68122a380
|
@ -126,7 +126,7 @@ set(pcsx2Sources
|
||||||
IopIrq.cpp
|
IopIrq.cpp
|
||||||
IopMem.cpp
|
IopMem.cpp
|
||||||
IopSio2.cpp
|
IopSio2.cpp
|
||||||
IPC.cpp
|
PINE.cpp
|
||||||
Mdec.cpp
|
Mdec.cpp
|
||||||
Memory.cpp
|
Memory.cpp
|
||||||
MemoryCardFile.cpp
|
MemoryCardFile.cpp
|
||||||
|
@ -201,7 +201,7 @@ set(pcsx2Headers
|
||||||
IopHw.h
|
IopHw.h
|
||||||
IopMem.h
|
IopMem.h
|
||||||
IopSio2.h
|
IopSio2.h
|
||||||
IPC.h
|
PINE.h
|
||||||
Mdec.h
|
Mdec.h
|
||||||
MTVU.h
|
MTVU.h
|
||||||
Memory.h
|
Memory.h
|
||||||
|
@ -904,7 +904,7 @@ set(pcsx2GuiSources
|
||||||
gui/Dialogs/McdConfigDialog.cpp
|
gui/Dialogs/McdConfigDialog.cpp
|
||||||
gui/Dialogs/PickUserModeDialog.cpp
|
gui/Dialogs/PickUserModeDialog.cpp
|
||||||
gui/Dialogs/SysConfigDialog.cpp
|
gui/Dialogs/SysConfigDialog.cpp
|
||||||
gui/Dialogs/IPCDialog.cpp
|
gui/Dialogs/PINEDialog.cpp
|
||||||
gui/Debugger/BreakpointWindow.cpp
|
gui/Debugger/BreakpointWindow.cpp
|
||||||
gui/Debugger/CtrlDisassemblyView.cpp
|
gui/Debugger/CtrlDisassemblyView.cpp
|
||||||
gui/Debugger/CtrlRegisterList.cpp
|
gui/Debugger/CtrlRegisterList.cpp
|
||||||
|
|
|
@ -545,7 +545,7 @@ struct Pcsx2Config
|
||||||
CdvdShareWrite : 1, // allows the iso to be modified while it's loaded
|
CdvdShareWrite : 1, // allows the iso to be modified while it's loaded
|
||||||
EnablePatches : 1, // enables patch detection and application
|
EnablePatches : 1, // enables patch detection and application
|
||||||
EnableCheats : 1, // enables cheat detection and application
|
EnableCheats : 1, // enables cheat detection and application
|
||||||
EnableIPC : 1, // enables inter-process communication
|
EnablePINE : 1, // enables inter-process communication
|
||||||
EnableWideScreenPatches : 1,
|
EnableWideScreenPatches : 1,
|
||||||
#ifndef DISABLE_RECORDING
|
#ifndef DISABLE_RECORDING
|
||||||
EnableRecordingTools : 1,
|
EnableRecordingTools : 1,
|
||||||
|
|
|
@ -40,10 +40,10 @@
|
||||||
#include "gui/AppCoreThread.h"
|
#include "gui/AppCoreThread.h"
|
||||||
#include "System/SysThreads.h"
|
#include "System/SysThreads.h"
|
||||||
#include "svnrev.h"
|
#include "svnrev.h"
|
||||||
#include "IPC.h"
|
#include "PINE.h"
|
||||||
|
|
||||||
SocketIPC::SocketIPC(SysCoreThread* vm, unsigned int slot)
|
PINEServer::PINEServer(SysCoreThread* vm, unsigned int slot)
|
||||||
: pxThread("IPC_Socket")
|
: pxThread("PINE_Server")
|
||||||
{
|
{
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
WSADATA wsa;
|
WSADATA wsa;
|
||||||
|
@ -52,14 +52,14 @@ SocketIPC::SocketIPC(SysCoreThread* vm, unsigned int slot)
|
||||||
|
|
||||||
if (WSAStartup(MAKEWORD(2, 2), &wsa) != 0)
|
if (WSAStartup(MAKEWORD(2, 2), &wsa) != 0)
|
||||||
{
|
{
|
||||||
Console.WriteLn(Color_Red, "IPC: Cannot initialize winsock! Shutting down...");
|
Console.WriteLn(Color_Red, "PINE: Cannot initialize winsock! Shutting down...");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
m_sock = socket(AF_INET, SOCK_STREAM, 0);
|
m_sock = socket(AF_INET, SOCK_STREAM, 0);
|
||||||
if ((m_sock == INVALID_SOCKET) || slot > 65536)
|
if ((m_sock == INVALID_SOCKET) || slot > 65536)
|
||||||
{
|
{
|
||||||
Console.WriteLn(Color_Red, "IPC: Cannot open socket! Shutting down...");
|
Console.WriteLn(Color_Red, "PINE: Cannot open socket! Shutting down...");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -71,7 +71,7 @@ SocketIPC::SocketIPC(SysCoreThread* vm, unsigned int slot)
|
||||||
|
|
||||||
if (bind(m_sock, (struct sockaddr*)&server, sizeof(server)) == SOCKET_ERROR)
|
if (bind(m_sock, (struct sockaddr*)&server, sizeof(server)) == SOCKET_ERROR)
|
||||||
{
|
{
|
||||||
Console.WriteLn(Color_Red, "IPC: Error while binding to socket! Shutting down...");
|
Console.WriteLn(Color_Red, "PINE: Error while binding to socket! Shutting down...");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -85,14 +85,14 @@ SocketIPC::SocketIPC(SysCoreThread* vm, unsigned int slot)
|
||||||
// fallback in case macOS or other OSes don't implement the XDG base
|
// fallback in case macOS or other OSes don't implement the XDG base
|
||||||
// spec
|
// spec
|
||||||
if (runtime_dir == nullptr)
|
if (runtime_dir == nullptr)
|
||||||
m_socket_name = "/tmp/" IPC_EMULATOR_NAME ".sock";
|
m_socket_name = "/tmp/" PINE_EMULATOR_NAME ".sock";
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
m_socket_name = runtime_dir;
|
m_socket_name = runtime_dir;
|
||||||
m_socket_name += "/" IPC_EMULATOR_NAME ".sock";
|
m_socket_name += "/" PINE_EMULATOR_NAME ".sock";
|
||||||
}
|
}
|
||||||
|
|
||||||
if (slot != IPC_DEFAULT_SLOT)
|
if (slot != PINE_DEFAULT_SLOT)
|
||||||
m_socket_name += "." + std::to_string(slot);
|
m_socket_name += "." + std::to_string(slot);
|
||||||
|
|
||||||
struct sockaddr_un server;
|
struct sockaddr_un server;
|
||||||
|
@ -100,7 +100,7 @@ SocketIPC::SocketIPC(SysCoreThread* vm, unsigned int slot)
|
||||||
m_sock = socket(AF_UNIX, SOCK_STREAM, 0);
|
m_sock = socket(AF_UNIX, SOCK_STREAM, 0);
|
||||||
if (m_sock < 0)
|
if (m_sock < 0)
|
||||||
{
|
{
|
||||||
Console.WriteLn(Color_Red, "IPC: Cannot open socket! Shutting down...");
|
Console.WriteLn(Color_Red, "PINE: Cannot open socket! Shutting down...");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
server.sun_family = AF_UNIX;
|
server.sun_family = AF_UNIX;
|
||||||
|
@ -111,7 +111,7 @@ SocketIPC::SocketIPC(SysCoreThread* vm, unsigned int slot)
|
||||||
unlink(m_socket_name.c_str());
|
unlink(m_socket_name.c_str());
|
||||||
if (bind(m_sock, (struct sockaddr*)&server, sizeof(struct sockaddr_un)))
|
if (bind(m_sock, (struct sockaddr*)&server, sizeof(struct sockaddr_un)))
|
||||||
{
|
{
|
||||||
Console.WriteLn(Color_Red, "IPC: Error while binding to socket! Shutting down...");
|
Console.WriteLn(Color_Red, "PINE: Error while binding to socket! Shutting down...");
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
#endif
|
#endif
|
||||||
|
@ -128,21 +128,21 @@ SocketIPC::SocketIPC(SysCoreThread* vm, unsigned int slot)
|
||||||
Start();
|
Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
char* SocketIPC::MakeOkIPC(char* ret_buffer, uint32_t size = 5)
|
char* PINEServer::MakeOkIPC(char* ret_buffer, uint32_t size = 5)
|
||||||
{
|
{
|
||||||
ToArray<uint32_t>(ret_buffer, size, 0);
|
ToArray<uint32_t>(ret_buffer, size, 0);
|
||||||
ret_buffer[4] = IPC_OK;
|
ret_buffer[4] = IPC_OK;
|
||||||
return ret_buffer;
|
return ret_buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
char* SocketIPC::MakeFailIPC(char* ret_buffer, uint32_t size = 5)
|
char* PINEServer::MakeFailIPC(char* ret_buffer, uint32_t size = 5)
|
||||||
{
|
{
|
||||||
ToArray<uint32_t>(ret_buffer, size, 0);
|
ToArray<uint32_t>(ret_buffer, size, 0);
|
||||||
ret_buffer[4] = IPC_FAIL;
|
ret_buffer[4] = IPC_FAIL;
|
||||||
return ret_buffer;
|
return ret_buffer;
|
||||||
}
|
}
|
||||||
|
|
||||||
int SocketIPC::StartSocket()
|
int PINEServer::StartSocket()
|
||||||
{
|
{
|
||||||
m_msgsock = accept(m_sock, 0, 0);
|
m_msgsock = accept(m_sock, 0, 0);
|
||||||
|
|
||||||
|
@ -160,7 +160,7 @@ int SocketIPC::StartSocket()
|
||||||
if (!(errno == ECONNABORTED || errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK))
|
if (!(errno == ECONNABORTED || errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK))
|
||||||
{
|
{
|
||||||
#endif
|
#endif
|
||||||
fprintf(stderr, "IPC: An unrecoverable error happened! Shutting down...\n");
|
fprintf(stderr, "PINE: An unrecoverable error happened! Shutting down...\n");
|
||||||
m_end = true;
|
m_end = true;
|
||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
|
@ -168,7 +168,7 @@ int SocketIPC::StartSocket()
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
void SocketIPC::ExecuteTaskInThread()
|
void PINEServer::ExecuteTaskInThread()
|
||||||
{
|
{
|
||||||
m_end = false;
|
m_end = false;
|
||||||
|
|
||||||
|
@ -216,7 +216,7 @@ void SocketIPC::ExecuteTaskInThread()
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
SocketIPC::IPCBuffer res;
|
PINEServer::IPCBuffer res;
|
||||||
|
|
||||||
// we remove 4 bytes to get the message size out of the IPC command
|
// we remove 4 bytes to get the message size out of the IPC command
|
||||||
// size in ParseCommand.
|
// size in ParseCommand.
|
||||||
|
@ -238,7 +238,7 @@ void SocketIPC::ExecuteTaskInThread()
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
SocketIPC::~SocketIPC()
|
PINEServer::~PINEServer()
|
||||||
{
|
{
|
||||||
m_end = true;
|
m_end = true;
|
||||||
#ifdef _WIN32
|
#ifdef _WIN32
|
||||||
|
@ -258,7 +258,7 @@ SocketIPC::~SocketIPC()
|
||||||
DESTRUCTOR_CATCHALL
|
DESTRUCTOR_CATCHALL
|
||||||
}
|
}
|
||||||
|
|
||||||
SocketIPC::IPCBuffer SocketIPC::ParseCommand(char* buf, char* ret_buffer, u32 buf_size)
|
PINEServer::IPCBuffer PINEServer::ParseCommand(char* buf, char* ret_buffer, u32 buf_size)
|
||||||
{
|
{
|
||||||
u32 ret_cnt = 5;
|
u32 ret_cnt = 5;
|
||||||
u32 buf_cnt = 0;
|
u32 buf_cnt = 0;
|
|
@ -13,17 +13,17 @@
|
||||||
* If not, see <http://www.gnu.org/licenses/>.
|
* If not, see <http://www.gnu.org/licenses/>.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
/* Client code example for interfacing with the IPC interface is available
|
/* A reference client implementation for interfacing with PINE is available
|
||||||
* here: https://code.govanify.com/govanify/pcsx2_ipc/ */
|
* here: https://code.govanify.com/govanify/pine/ */
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
// IPC uses a concept of "slot" to be able to communicate with multiple
|
// PINE uses a concept of "slot" to be able to communicate with multiple
|
||||||
// emulators at the same time, each slot should be unique to each emulator to
|
// emulators at the same time, each slot should be unique to each emulator to
|
||||||
// allow PnP and configurable by the end user so that several runs don't
|
// allow PnP and configurable by the end user so that several runs don't
|
||||||
// conflict with each others
|
// conflict with each others
|
||||||
#define IPC_DEFAULT_SLOT 28011
|
#define PINE_DEFAULT_SLOT 28011
|
||||||
#define IPC_EMULATOR_NAME "pcsx2"
|
#define PINE_EMULATOR_NAME "pcsx2"
|
||||||
|
|
||||||
#include "common/PersistentThread.h"
|
#include "common/PersistentThread.h"
|
||||||
#include "System/SysThreads.h"
|
#include "System/SysThreads.h"
|
||||||
|
@ -35,7 +35,7 @@
|
||||||
|
|
||||||
using namespace Threading;
|
using namespace Threading;
|
||||||
|
|
||||||
class SocketIPC : public pxThread
|
class PINEServer : public pxThread
|
||||||
{
|
{
|
||||||
// parent thread
|
// parent thread
|
||||||
typedef pxThread _parent;
|
typedef pxThread _parent;
|
||||||
|
@ -89,22 +89,22 @@ protected:
|
||||||
*/
|
*/
|
||||||
enum IPCCommand : unsigned char
|
enum IPCCommand : unsigned char
|
||||||
{
|
{
|
||||||
MsgRead8 = 0, /**< Read 8 bit value to memory. */
|
MsgRead8 = 0, /**< Read 8 bit value to memory. */
|
||||||
MsgRead16 = 1, /**< Read 16 bit value to memory. */
|
MsgRead16 = 1, /**< Read 16 bit value to memory. */
|
||||||
MsgRead32 = 2, /**< Read 32 bit value to memory. */
|
MsgRead32 = 2, /**< Read 32 bit value to memory. */
|
||||||
MsgRead64 = 3, /**< Read 64 bit value to memory. */
|
MsgRead64 = 3, /**< Read 64 bit value to memory. */
|
||||||
MsgWrite8 = 4, /**< Write 8 bit value to memory. */
|
MsgWrite8 = 4, /**< Write 8 bit value to memory. */
|
||||||
MsgWrite16 = 5, /**< Write 16 bit value to memory. */
|
MsgWrite16 = 5, /**< Write 16 bit value to memory. */
|
||||||
MsgWrite32 = 6, /**< Write 32 bit value to memory. */
|
MsgWrite32 = 6, /**< Write 32 bit value to memory. */
|
||||||
MsgWrite64 = 7, /**< Write 64 bit value to memory. */
|
MsgWrite64 = 7, /**< Write 64 bit value to memory. */
|
||||||
MsgVersion = 8, /**< Returns PCSX2 version. */
|
MsgVersion = 8, /**< Returns PCSX2 version. */
|
||||||
MsgSaveState = 9, /**< Saves a savestate. */
|
MsgSaveState = 9, /**< Saves a savestate. */
|
||||||
MsgLoadState = 0xA, /**< Loads a savestate. */
|
MsgLoadState = 0xA, /**< Loads a savestate. */
|
||||||
MsgTitle = 0xB, /**< Returns the game title. */
|
MsgTitle = 0xB, /**< Returns the game title. */
|
||||||
MsgID = 0xC, /**< Returns the game ID. */
|
MsgID = 0xC, /**< Returns the game ID. */
|
||||||
MsgUUID = 0xD, /**< Returns the game UUID. */
|
MsgUUID = 0xD, /**< Returns the game UUID. */
|
||||||
MsgGameVersion = 0xE, /**< Returns the game verion. */
|
MsgGameVersion = 0xE, /**< Returns the game verion. */
|
||||||
MsgStatus = 0xF, /**< Returns the emulator status. */
|
MsgStatus = 0xF, /**< Returns the emulator status. */
|
||||||
MsgUnimplemented = 0xFF /**< Unimplemented IPC message. */
|
MsgUnimplemented = 0xFF /**< Unimplemented IPC message. */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -115,7 +115,7 @@ protected:
|
||||||
enum EmuStatus : uint32_t
|
enum EmuStatus : uint32_t
|
||||||
{
|
{
|
||||||
Running = 0, /**< Game is running */
|
Running = 0, /**< Game is running */
|
||||||
Paused = 1, /**< Game is paused */
|
Paused = 1, /**< Game is paused */
|
||||||
Shutdown = 2 /**< Game is shutdown */
|
Shutdown = 2 /**< Game is shutdown */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -125,7 +125,7 @@ protected:
|
||||||
*/
|
*/
|
||||||
struct IPCBuffer
|
struct IPCBuffer
|
||||||
{
|
{
|
||||||
int size; /**< Size of the buffer. */
|
int size; /**< Size of the buffer. */
|
||||||
char* buffer; /**< Buffer. */
|
char* buffer; /**< Buffer. */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -137,7 +137,7 @@ protected:
|
||||||
*/
|
*/
|
||||||
enum IPCResult : unsigned char
|
enum IPCResult : unsigned char
|
||||||
{
|
{
|
||||||
IPC_OK = 0, /**< IPC command successfully completed. */
|
IPC_OK = 0, /**< IPC command successfully completed. */
|
||||||
IPC_FAIL = 0xFF /**< IPC command failed to complete. */
|
IPC_FAIL = 0xFF /**< IPC command failed to complete. */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -218,7 +218,7 @@ public:
|
||||||
bool m_end = true;
|
bool m_end = true;
|
||||||
|
|
||||||
/* Initializers */
|
/* Initializers */
|
||||||
SocketIPC(SysCoreThread* vm, unsigned int slot = IPC_DEFAULT_SLOT);
|
PINEServer(SysCoreThread* vm, unsigned int slot = PINE_DEFAULT_SLOT);
|
||||||
virtual ~SocketIPC();
|
virtual ~PINEServer();
|
||||||
|
|
||||||
}; // class SocketIPC
|
}; // class SocketIPC
|
|
@ -572,7 +572,7 @@ void Pcsx2Config::LoadSave(SettingsWrapper& wrap)
|
||||||
SettingsWrapBitBool(CdvdShareWrite);
|
SettingsWrapBitBool(CdvdShareWrite);
|
||||||
SettingsWrapBitBool(EnablePatches);
|
SettingsWrapBitBool(EnablePatches);
|
||||||
SettingsWrapBitBool(EnableCheats);
|
SettingsWrapBitBool(EnableCheats);
|
||||||
SettingsWrapBitBool(EnableIPC);
|
SettingsWrapBitBool(EnablePINE);
|
||||||
SettingsWrapBitBool(EnableWideScreenPatches);
|
SettingsWrapBitBool(EnableWideScreenPatches);
|
||||||
#ifndef DISABLE_RECORDING
|
#ifndef DISABLE_RECORDING
|
||||||
SettingsWrapBitBool(EnableRecordingTools);
|
SettingsWrapBitBool(EnableRecordingTools);
|
||||||
|
@ -708,7 +708,7 @@ void Pcsx2Config::CopyConfig(const Pcsx2Config& cfg)
|
||||||
CdvdShareWrite = cfg.CdvdShareWrite;
|
CdvdShareWrite = cfg.CdvdShareWrite;
|
||||||
EnablePatches = cfg.EnablePatches;
|
EnablePatches = cfg.EnablePatches;
|
||||||
EnableCheats = cfg.EnableCheats;
|
EnableCheats = cfg.EnableCheats;
|
||||||
EnableIPC = cfg.EnableIPC;
|
EnablePINE = cfg.EnablePINE;
|
||||||
EnableWideScreenPatches = cfg.EnableWideScreenPatches;
|
EnableWideScreenPatches = cfg.EnableWideScreenPatches;
|
||||||
#ifndef DISABLE_RECORDING
|
#ifndef DISABLE_RECORDING
|
||||||
EnableRecordingTools = cfg.EnableRecordingTools;
|
EnableRecordingTools = cfg.EnableRecordingTools;
|
||||||
|
|
|
@ -29,7 +29,7 @@ extern WindowInfo g_gs_window_info;
|
||||||
#include "Patch.h"
|
#include "Patch.h"
|
||||||
#include "SysThreads.h"
|
#include "SysThreads.h"
|
||||||
#include "MTVU.h"
|
#include "MTVU.h"
|
||||||
#include "IPC.h"
|
#include "PINE.h"
|
||||||
#include "FW.h"
|
#include "FW.h"
|
||||||
#include "SPU2/spu2.h"
|
#include "SPU2/spu2.h"
|
||||||
#include "DEV9/DEV9.h"
|
#include "DEV9/DEV9.h"
|
||||||
|
@ -53,9 +53,9 @@ extern WindowInfo g_gs_window_info;
|
||||||
|
|
||||||
bool g_CDVDReset = false;
|
bool g_CDVDReset = false;
|
||||||
|
|
||||||
namespace IPCSettings
|
namespace PINESettings
|
||||||
{
|
{
|
||||||
unsigned int slot = IPC_DEFAULT_SLOT;
|
unsigned int slot = PINE_DEFAULT_SLOT;
|
||||||
};
|
};
|
||||||
|
|
||||||
// --------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------
|
||||||
|
@ -267,13 +267,13 @@ void SysCoreThread::GameStartingInThread()
|
||||||
#ifdef USE_SAVESLOT_UI_UPDATES
|
#ifdef USE_SAVESLOT_UI_UPDATES
|
||||||
UI_UpdateSysControls();
|
UI_UpdateSysControls();
|
||||||
#endif
|
#endif
|
||||||
if (EmuConfig.EnableIPC && m_IpcState == OFF)
|
if (EmuConfig.EnablePINE && m_PineState == OFF)
|
||||||
{
|
{
|
||||||
m_IpcState = ON;
|
m_PineState = ON;
|
||||||
m_socketIpc = std::make_unique<SocketIPC>(this, IPCSettings::slot);
|
m_pineServer = std::make_unique<PINEServer>(this, PINESettings::slot);
|
||||||
}
|
}
|
||||||
if (m_IpcState == ON && m_socketIpc->m_end)
|
if (m_PineState == ON && m_pineServer->m_end)
|
||||||
m_socketIpc->Start();
|
m_pineServer->Start();
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SysCoreThread::StateCheckInThread()
|
bool SysCoreThread::StateCheckInThread()
|
||||||
|
|
|
@ -19,7 +19,7 @@
|
||||||
|
|
||||||
#include "common/PersistentThread.h"
|
#include "common/PersistentThread.h"
|
||||||
#include "common/emitter/tools.h"
|
#include "common/emitter/tools.h"
|
||||||
#include "IPC.h"
|
#include "PINE.h"
|
||||||
|
|
||||||
|
|
||||||
using namespace Threading;
|
using namespace Threading;
|
||||||
|
@ -185,16 +185,16 @@ protected:
|
||||||
bool m_resetVsyncTimers;
|
bool m_resetVsyncTimers;
|
||||||
bool m_resetVirtualMachine;
|
bool m_resetVirtualMachine;
|
||||||
|
|
||||||
// Stores the state of the socket IPC thread.
|
// Stores the state of the PINE thread.
|
||||||
std::unique_ptr<SocketIPC> m_socketIpc;
|
std::unique_ptr<PINEServer> m_pineServer;
|
||||||
|
|
||||||
// Current state of the IPC thread
|
// Current state of the PINE thread
|
||||||
enum StateIPC
|
enum StatePINE
|
||||||
{
|
{
|
||||||
OFF,
|
OFF,
|
||||||
ON
|
ON
|
||||||
};
|
};
|
||||||
StateIPC m_IpcState = OFF;
|
StatePINE m_PineState = OFF;
|
||||||
|
|
||||||
// Indicates if the system has an active virtual machine state. Pretty much always
|
// Indicates if the system has an active virtual machine state. Pretty much always
|
||||||
// true anytime between subcomponents being initialized and being shutdown. Gets
|
// true anytime between subcomponents being initialized and being shutdown. Gets
|
||||||
|
@ -284,7 +284,7 @@ extern SysCoreThread& GetCoreThread();
|
||||||
|
|
||||||
extern bool g_CDVDReset;
|
extern bool g_CDVDReset;
|
||||||
|
|
||||||
namespace IPCSettings
|
namespace PINESettings
|
||||||
{
|
{
|
||||||
extern unsigned int slot;
|
extern unsigned int slot;
|
||||||
};
|
};
|
||||||
|
|
|
@ -199,10 +199,10 @@ enum MenuIdentifiers
|
||||||
MenuId_Recording_VirtualPad_Port1,
|
MenuId_Recording_VirtualPad_Port1,
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// IPC Subsection
|
// Subsection
|
||||||
MenuId_IPC,
|
MenuId_PINE,
|
||||||
MenuId_IPC_Enable,
|
MenuId_PINE_Enable,
|
||||||
MenuId_IPC_Settings,
|
MenuId_PINE_Settings,
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -400,14 +400,14 @@ namespace Dialogs
|
||||||
virtual ~AssertionDialog() = default;
|
virtual ~AssertionDialog() = default;
|
||||||
};
|
};
|
||||||
|
|
||||||
class IPCDialog : public wxDialogWithHelpers
|
class PINEDialog : public wxDialogWithHelpers
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
IPCDialog(wxWindow* parent = NULL);
|
PINEDialog(wxWindow* parent = NULL);
|
||||||
virtual ~IPCDialog() = default;
|
virtual ~PINEDialog() = default;
|
||||||
|
|
||||||
void OnConfirm(wxCommandEvent& evt);
|
void OnConfirm(wxCommandEvent& evt);
|
||||||
static wxString GetNameStatic() { return L"IPCSettings"; }
|
static wxString GetNameStatic() { return L"PINESettings"; }
|
||||||
wxString GetDialogName() const { return GetNameStatic(); }
|
wxString GetDialogName() const { return GetNameStatic(); }
|
||||||
};
|
};
|
||||||
} // namespace Dialogs
|
} // namespace Dialogs
|
||||||
|
|
|
@ -26,7 +26,7 @@
|
||||||
#include "gui/AppConfig.h"
|
#include "gui/AppConfig.h"
|
||||||
|
|
||||||
using namespace pxSizerFlags;
|
using namespace pxSizerFlags;
|
||||||
/* This dialog currently assumes the IPC server is started when launching a
|
/* This dialog currently assumes the PINE server is started when launching a
|
||||||
* game, as such we can allow the IPC Settings window to change the slot in a
|
* game, as such we can allow the IPC Settings window to change the slot in a
|
||||||
* volatile fashion so that it returns to the default but you can change it at
|
* volatile fashion so that it returns to the default but you can change it at
|
||||||
* each restart of the emulator to allow for multiple emulator sessions.
|
* each restart of the emulator to allow for multiple emulator sessions.
|
||||||
|
@ -34,25 +34,25 @@ using namespace pxSizerFlags;
|
||||||
*/
|
*/
|
||||||
|
|
||||||
// --------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------
|
||||||
// IPCDialog Implementation
|
// PINEDialog Implementation
|
||||||
// --------------------------------------------------------------------------------------
|
// --------------------------------------------------------------------------------------
|
||||||
|
|
||||||
Dialogs::IPCDialog::IPCDialog(wxWindow* parent)
|
Dialogs::PINEDialog::PINEDialog(wxWindow* parent)
|
||||||
: wxDialogWithHelpers(parent, _("IPC Settings"), pxDialogFlags())
|
: wxDialogWithHelpers(parent, _("PINE Settings"), pxDialogFlags())
|
||||||
{
|
{
|
||||||
wxTextCtrl* ipc_slot = new wxTextCtrl(this, wxID_ANY, wxString::Format(wxT("%u"), IPCSettings::slot), wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER);
|
wxTextCtrl* ipc_slot = new wxTextCtrl(this, wxID_ANY, wxString::Format(wxT("%u"), PINESettings::slot), wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER);
|
||||||
ipc_slot->Bind(wxEVT_TEXT_ENTER, &Dialogs::IPCDialog::OnConfirm, this);
|
ipc_slot->Bind(wxEVT_TEXT_ENTER, &Dialogs::PINEDialog::OnConfirm, this);
|
||||||
|
|
||||||
*this += new wxStaticText(this, wxID_ANY, _("IPC Slot"));
|
*this += new wxStaticText(this, wxID_ANY, _("PINE Slot"));
|
||||||
*this += ipc_slot;
|
*this += ipc_slot;
|
||||||
}
|
}
|
||||||
|
|
||||||
void Dialogs::IPCDialog::OnConfirm(wxCommandEvent& evt)
|
void Dialogs::PINEDialog::OnConfirm(wxCommandEvent& evt)
|
||||||
{
|
{
|
||||||
wxTextCtrl* obj = static_cast<wxTextCtrl*>(evt.GetEventObject());
|
wxTextCtrl* obj = static_cast<wxTextCtrl*>(evt.GetEventObject());
|
||||||
if (obj != nullptr)
|
if (obj != nullptr)
|
||||||
{
|
{
|
||||||
IPCSettings::slot = (unsigned int)atoi(obj->GetValue().ToUTF8().data());
|
PINESettings::slot = (unsigned int)atoi(obj->GetValue().ToUTF8().data());
|
||||||
Destroy();
|
Destroy();
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -262,8 +262,8 @@ void MainEmuFrame::ConnectMenus()
|
||||||
|
|
||||||
Bind(wxEVT_MENU, &MainEmuFrame::Menu_EnablePatches_Click, this, MenuId_EnablePatches);
|
Bind(wxEVT_MENU, &MainEmuFrame::Menu_EnablePatches_Click, this, MenuId_EnablePatches);
|
||||||
Bind(wxEVT_MENU, &MainEmuFrame::Menu_EnableCheats_Click, this, MenuId_EnableCheats);
|
Bind(wxEVT_MENU, &MainEmuFrame::Menu_EnableCheats_Click, this, MenuId_EnableCheats);
|
||||||
Bind(wxEVT_MENU, &MainEmuFrame::Menu_IPC_Enable_Click, this, MenuId_IPC_Enable);
|
Bind(wxEVT_MENU, &MainEmuFrame::Menu_PINE_Enable_Click, this, MenuId_PINE_Enable);
|
||||||
Bind(wxEVT_MENU, &MainEmuFrame::Menu_IPC_Settings_Click, this, MenuId_IPC_Settings);
|
Bind(wxEVT_MENU, &MainEmuFrame::Menu_PINE_Settings_Click, this, MenuId_PINE_Settings);
|
||||||
Bind(wxEVT_MENU, &MainEmuFrame::Menu_EnableWideScreenPatches_Click, this, MenuId_EnableWideScreenPatches);
|
Bind(wxEVT_MENU, &MainEmuFrame::Menu_EnableWideScreenPatches_Click, this, MenuId_EnableWideScreenPatches);
|
||||||
#ifndef DISABLE_RECORDING
|
#ifndef DISABLE_RECORDING
|
||||||
Bind(wxEVT_MENU, &MainEmuFrame::Menu_EnableRecordingTools_Click, this, MenuId_EnableInputRecording);
|
Bind(wxEVT_MENU, &MainEmuFrame::Menu_EnableRecordingTools_Click, this, MenuId_EnableInputRecording);
|
||||||
|
@ -395,12 +395,12 @@ void MainEmuFrame::CreatePcsx2Menu()
|
||||||
m_GameSettingsSubmenu.Append(MenuId_EnableCheats, _("Enable &Cheats"),
|
m_GameSettingsSubmenu.Append(MenuId_EnableCheats, _("Enable &Cheats"),
|
||||||
_("Use cheats otherwise known as pnachs from the cheats folder."), wxITEM_CHECK);
|
_("Use cheats otherwise known as pnachs from the cheats folder."), wxITEM_CHECK);
|
||||||
|
|
||||||
m_GameSettingsSubmenu.Append(MenuId_IPC, _("Configure &IPC"), &m_submenuIPC);
|
m_GameSettingsSubmenu.Append(MenuId_PINE, _("Configure &PINE"), &m_submenuPINE);
|
||||||
|
|
||||||
m_submenuIPC.Append(MenuId_IPC_Enable, _("&Enable IPC"),
|
m_submenuPINE.Append(MenuId_PINE_Enable, _("&Enable PINE"),
|
||||||
wxEmptyString, wxITEM_CHECK);
|
wxEmptyString, wxITEM_CHECK);
|
||||||
|
|
||||||
m_submenuIPC.Append(MenuId_IPC_Settings, _("IPC &Settings"));
|
m_submenuPINE.Append(MenuId_PINE_Settings, _("PINE &Settings"));
|
||||||
|
|
||||||
m_GameSettingsSubmenu.Append(MenuId_EnableWideScreenPatches, _("Enable &Widescreen Patches"),
|
m_GameSettingsSubmenu.Append(MenuId_EnableWideScreenPatches, _("Enable &Widescreen Patches"),
|
||||||
_("Enabling Widescreen Patches may occasionally cause issues."), wxITEM_CHECK);
|
_("Enabling Widescreen Patches may occasionally cause issues."), wxITEM_CHECK);
|
||||||
|
@ -568,7 +568,7 @@ MainEmuFrame::MainEmuFrame(wxWindow* parent, const wxString& title)
|
||||||
, m_menuWindow(*new wxMenu())
|
, m_menuWindow(*new wxMenu())
|
||||||
, m_menuCapture(*new wxMenu())
|
, m_menuCapture(*new wxMenu())
|
||||||
, m_submenuVideoCapture(*new wxMenu())
|
, m_submenuVideoCapture(*new wxMenu())
|
||||||
, m_submenuIPC(*new wxMenu())
|
, m_submenuPINE(*new wxMenu())
|
||||||
, m_submenuScreenshot(*new wxMenu())
|
, m_submenuScreenshot(*new wxMenu())
|
||||||
#ifndef DISABLE_RECORDING
|
#ifndef DISABLE_RECORDING
|
||||||
, m_menuRecording(*new wxMenu())
|
, m_menuRecording(*new wxMenu())
|
||||||
|
@ -830,7 +830,7 @@ void MainEmuFrame::ApplyConfigToGui(AppConfig& configToApply, int flags)
|
||||||
{ //these should not be affected by presets
|
{ //these should not be affected by presets
|
||||||
menubar.Check(MenuId_EnableBackupStates, configToApply.EmuOptions.BackupSavestate);
|
menubar.Check(MenuId_EnableBackupStates, configToApply.EmuOptions.BackupSavestate);
|
||||||
menubar.Check(MenuId_EnableCheats, configToApply.EmuOptions.EnableCheats);
|
menubar.Check(MenuId_EnableCheats, configToApply.EmuOptions.EnableCheats);
|
||||||
menubar.Check(MenuId_IPC_Enable, configToApply.EmuOptions.EnableIPC);
|
menubar.Check(MenuId_PINE_Enable, configToApply.EmuOptions.EnablePINE);
|
||||||
menubar.Check(MenuId_EnableWideScreenPatches, configToApply.EmuOptions.EnableWideScreenPatches);
|
menubar.Check(MenuId_EnableWideScreenPatches, configToApply.EmuOptions.EnableWideScreenPatches);
|
||||||
menubar.Check(MenuId_Capture_Video_IncludeAudio, configToApply.AudioCapture.EnableAudio);
|
menubar.Check(MenuId_Capture_Video_IncludeAudio, configToApply.AudioCapture.EnableAudio);
|
||||||
#ifndef DISABLE_RECORDING
|
#ifndef DISABLE_RECORDING
|
||||||
|
|
|
@ -69,7 +69,7 @@ protected:
|
||||||
|
|
||||||
wxMenu& m_menuCapture;
|
wxMenu& m_menuCapture;
|
||||||
wxMenu& m_submenuVideoCapture;
|
wxMenu& m_submenuVideoCapture;
|
||||||
wxMenu& m_submenuIPC;
|
wxMenu& m_submenuPINE;
|
||||||
wxMenu& m_submenuScreenshot;
|
wxMenu& m_submenuScreenshot;
|
||||||
|
|
||||||
#ifndef DISABLE_RECORDING
|
#ifndef DISABLE_RECORDING
|
||||||
|
@ -165,8 +165,8 @@ protected:
|
||||||
void Menu_EnableBackupStates_Click(wxCommandEvent& event);
|
void Menu_EnableBackupStates_Click(wxCommandEvent& event);
|
||||||
void Menu_EnablePatches_Click(wxCommandEvent& event);
|
void Menu_EnablePatches_Click(wxCommandEvent& event);
|
||||||
void Menu_EnableCheats_Click(wxCommandEvent& event);
|
void Menu_EnableCheats_Click(wxCommandEvent& event);
|
||||||
void Menu_IPC_Enable_Click(wxCommandEvent& event);
|
void Menu_PINE_Enable_Click(wxCommandEvent& event);
|
||||||
void Menu_IPC_Settings_Click(wxCommandEvent& event);
|
void Menu_PINE_Settings_Click(wxCommandEvent& event);
|
||||||
void Menu_EnableWideScreenPatches_Click(wxCommandEvent& event);
|
void Menu_EnableWideScreenPatches_Click(wxCommandEvent& event);
|
||||||
#ifndef DISABLE_RECORDING
|
#ifndef DISABLE_RECORDING
|
||||||
void Menu_EnableRecordingTools_Click(wxCommandEvent& event);
|
void Menu_EnableRecordingTools_Click(wxCommandEvent& event);
|
||||||
|
|
|
@ -54,9 +54,9 @@ void MainEmuFrame::Menu_SysSettings_Click(wxCommandEvent& event)
|
||||||
AppOpenModalDialog<SysConfigDialog>(wxEmptyString, this);
|
AppOpenModalDialog<SysConfigDialog>(wxEmptyString, this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainEmuFrame::Menu_IPC_Settings_Click(wxCommandEvent& event)
|
void MainEmuFrame::Menu_PINE_Settings_Click(wxCommandEvent& event)
|
||||||
{
|
{
|
||||||
AppOpenDialog<IPCDialog>(this);
|
AppOpenDialog<PINEDialog>(this);
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainEmuFrame::Menu_AudioSettings_Click(wxCommandEvent& event)
|
void MainEmuFrame::Menu_AudioSettings_Click(wxCommandEvent& event)
|
||||||
|
@ -634,9 +634,9 @@ void MainEmuFrame::Menu_EnableCheats_Click(wxCommandEvent&)
|
||||||
AppSaveSettings();
|
AppSaveSettings();
|
||||||
}
|
}
|
||||||
|
|
||||||
void MainEmuFrame::Menu_IPC_Enable_Click(wxCommandEvent&)
|
void MainEmuFrame::Menu_PINE_Enable_Click(wxCommandEvent&)
|
||||||
{
|
{
|
||||||
g_Conf->EmuOptions.EnableIPC = GetMenuBar()->IsChecked(MenuId_IPC_Enable);
|
g_Conf->EmuOptions.EnablePINE = GetMenuBar()->IsChecked(MenuId_PINE_Enable);
|
||||||
AppApplySettings();
|
AppApplySettings();
|
||||||
AppSaveSettings();
|
AppSaveSettings();
|
||||||
}
|
}
|
||||||
|
|
|
@ -318,7 +318,7 @@
|
||||||
<ClCompile Include="gui\Debugger\DebugEvents.cpp" />
|
<ClCompile Include="gui\Debugger\DebugEvents.cpp" />
|
||||||
<ClCompile Include="gui\Debugger\DebuggerLists.cpp" />
|
<ClCompile Include="gui\Debugger\DebuggerLists.cpp" />
|
||||||
<ClCompile Include="gui\Debugger\DisassemblyDialog.cpp" />
|
<ClCompile Include="gui\Debugger\DisassemblyDialog.cpp" />
|
||||||
<ClCompile Include="gui\Dialogs\IPCDialog.cpp" />
|
<ClCompile Include="gui\Dialogs\PINEDialog.cpp" />
|
||||||
<ClCompile Include="gui\Dialogs\GSDumpDialog.cpp" />
|
<ClCompile Include="gui\Dialogs\GSDumpDialog.cpp" />
|
||||||
<ClCompile Include="gui\Dialogs\McdConfigDialog.cpp" />
|
<ClCompile Include="gui\Dialogs\McdConfigDialog.cpp" />
|
||||||
<ClCompile Include="gui\DriveList.cpp" />
|
<ClCompile Include="gui\DriveList.cpp" />
|
||||||
|
@ -331,7 +331,7 @@
|
||||||
<ClCompile Include="gui\wxAppWithHelpers.cpp" />
|
<ClCompile Include="gui\wxAppWithHelpers.cpp" />
|
||||||
<ClCompile Include="gui\wxSettingsInterface.cpp" />
|
<ClCompile Include="gui\wxSettingsInterface.cpp" />
|
||||||
<ClCompile Include="IopGte.cpp" />
|
<ClCompile Include="IopGte.cpp" />
|
||||||
<ClCompile Include="IPC.cpp" />
|
<ClCompile Include="PINE.cpp" />
|
||||||
<ClCompile Include="FW.cpp" />
|
<ClCompile Include="FW.cpp" />
|
||||||
<ClCompile Include="MemoryCardFile.cpp" />
|
<ClCompile Include="MemoryCardFile.cpp" />
|
||||||
<ClCompile Include="MemoryCardFolder.cpp" />
|
<ClCompile Include="MemoryCardFolder.cpp" />
|
||||||
|
@ -767,7 +767,7 @@
|
||||||
<ClInclude Include="gui\wxSettingsInterface.h" />
|
<ClInclude Include="gui\wxSettingsInterface.h" />
|
||||||
<ClInclude Include="Host.h" />
|
<ClInclude Include="Host.h" />
|
||||||
<ClInclude Include="IopGte.h" />
|
<ClInclude Include="IopGte.h" />
|
||||||
<ClInclude Include="IPC.h" />
|
<ClInclude Include="PINE.h" />
|
||||||
<ClInclude Include="FW.h" />
|
<ClInclude Include="FW.h" />
|
||||||
<ClInclude Include="MemoryCardFile.h" />
|
<ClInclude Include="MemoryCardFile.h" />
|
||||||
<ClInclude Include="MemoryCardFolder.h" />
|
<ClInclude Include="MemoryCardFolder.h" />
|
||||||
|
@ -1169,4 +1169,4 @@
|
||||||
</ItemGroup>
|
</ItemGroup>
|
||||||
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
|
||||||
<ImportGroup Label="ExtensionTargets" />
|
<ImportGroup Label="ExtensionTargets" />
|
||||||
</Project>
|
</Project>
|
||||||
|
|
|
@ -1052,7 +1052,7 @@
|
||||||
<ClCompile Include="gui\DriveList.cpp">
|
<ClCompile Include="gui\DriveList.cpp">
|
||||||
<Filter>AppHost</Filter>
|
<Filter>AppHost</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="IPC.cpp">
|
<ClCompile Include="PINE.cpp">
|
||||||
<Filter>System</Filter>
|
<Filter>System</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="FW.cpp">
|
<ClCompile Include="FW.cpp">
|
||||||
|
@ -1466,7 +1466,7 @@
|
||||||
<ClCompile Include="GS\GSLzma.cpp">
|
<ClCompile Include="GS\GSLzma.cpp">
|
||||||
<Filter>System\Ps2\GS</Filter>
|
<Filter>System\Ps2\GS</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="gui\Dialogs\IPCDialog.cpp">
|
<ClCompile Include="gui\Dialogs\PINEDialog.cpp">
|
||||||
<Filter>AppHost\Dialogs</Filter>
|
<Filter>AppHost\Dialogs</Filter>
|
||||||
</ClCompile>
|
</ClCompile>
|
||||||
<ClCompile Include="gui\Dialogs\GSDumpDialog.cpp">
|
<ClCompile Include="gui\Dialogs\GSDumpDialog.cpp">
|
||||||
|
@ -2141,7 +2141,7 @@
|
||||||
<ClInclude Include="gui\DriveList.h">
|
<ClInclude Include="gui\DriveList.h">
|
||||||
<Filter>AppHost\Include</Filter>
|
<Filter>AppHost\Include</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="IPC.h">
|
<ClInclude Include="PINE.h">
|
||||||
<Filter>System\Include</Filter>
|
<Filter>System\Include</Filter>
|
||||||
</ClInclude>
|
</ClInclude>
|
||||||
<ClInclude Include="FW.h">
|
<ClInclude Include="FW.h">
|
||||||
|
|
Loading…
Reference in New Issue