ipc: rename to pine

This commit is contained in:
Gauvain 'GovanifY' Roussel-Tarbouriech 2021-05-29 18:01:27 +02:00 committed by refractionpcsx2
parent d51bdccf7f
commit f68122a380
15 changed files with 105 additions and 105 deletions

View File

@ -126,7 +126,7 @@ set(pcsx2Sources
IopIrq.cpp
IopMem.cpp
IopSio2.cpp
IPC.cpp
PINE.cpp
Mdec.cpp
Memory.cpp
MemoryCardFile.cpp
@ -201,7 +201,7 @@ set(pcsx2Headers
IopHw.h
IopMem.h
IopSio2.h
IPC.h
PINE.h
Mdec.h
MTVU.h
Memory.h
@ -904,7 +904,7 @@ set(pcsx2GuiSources
gui/Dialogs/McdConfigDialog.cpp
gui/Dialogs/PickUserModeDialog.cpp
gui/Dialogs/SysConfigDialog.cpp
gui/Dialogs/IPCDialog.cpp
gui/Dialogs/PINEDialog.cpp
gui/Debugger/BreakpointWindow.cpp
gui/Debugger/CtrlDisassemblyView.cpp
gui/Debugger/CtrlRegisterList.cpp

View File

@ -545,7 +545,7 @@ struct Pcsx2Config
CdvdShareWrite : 1, // allows the iso to be modified while it's loaded
EnablePatches : 1, // enables patch detection and application
EnableCheats : 1, // enables cheat detection and application
EnableIPC : 1, // enables inter-process communication
EnablePINE : 1, // enables inter-process communication
EnableWideScreenPatches : 1,
#ifndef DISABLE_RECORDING
EnableRecordingTools : 1,

View File

@ -40,10 +40,10 @@
#include "gui/AppCoreThread.h"
#include "System/SysThreads.h"
#include "svnrev.h"
#include "IPC.h"
#include "PINE.h"
SocketIPC::SocketIPC(SysCoreThread* vm, unsigned int slot)
: pxThread("IPC_Socket")
PINEServer::PINEServer(SysCoreThread* vm, unsigned int slot)
: pxThread("PINE_Server")
{
#ifdef _WIN32
WSADATA wsa;
@ -52,14 +52,14 @@ SocketIPC::SocketIPC(SysCoreThread* vm, unsigned int slot)
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;
}
m_sock = socket(AF_INET, SOCK_STREAM, 0);
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;
}
@ -71,7 +71,7 @@ SocketIPC::SocketIPC(SysCoreThread* vm, unsigned int slot)
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;
}
@ -85,14 +85,14 @@ SocketIPC::SocketIPC(SysCoreThread* vm, unsigned int slot)
// fallback in case macOS or other OSes don't implement the XDG base
// spec
if (runtime_dir == nullptr)
m_socket_name = "/tmp/" IPC_EMULATOR_NAME ".sock";
m_socket_name = "/tmp/" PINE_EMULATOR_NAME ".sock";
else
{
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);
struct sockaddr_un server;
@ -100,7 +100,7 @@ SocketIPC::SocketIPC(SysCoreThread* vm, unsigned int slot)
m_sock = socket(AF_UNIX, SOCK_STREAM, 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;
}
server.sun_family = AF_UNIX;
@ -111,7 +111,7 @@ SocketIPC::SocketIPC(SysCoreThread* vm, unsigned int slot)
unlink(m_socket_name.c_str());
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;
}
#endif
@ -128,21 +128,21 @@ SocketIPC::SocketIPC(SysCoreThread* vm, unsigned int slot)
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);
ret_buffer[4] = IPC_OK;
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);
ret_buffer[4] = IPC_FAIL;
return ret_buffer;
}
int SocketIPC::StartSocket()
int PINEServer::StartSocket()
{
m_msgsock = accept(m_sock, 0, 0);
@ -160,7 +160,7 @@ int SocketIPC::StartSocket()
if (!(errno == ECONNABORTED || errno == EINTR || errno == EAGAIN || errno == EWOULDBLOCK))
{
#endif
fprintf(stderr, "IPC: An unrecoverable error happened! Shutting down...\n");
fprintf(stderr, "PINE: An unrecoverable error happened! Shutting down...\n");
m_end = true;
return -1;
}
@ -168,7 +168,7 @@ int SocketIPC::StartSocket()
return 0;
}
void SocketIPC::ExecuteTaskInThread()
void PINEServer::ExecuteTaskInThread()
{
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
// size in ParseCommand.
@ -238,7 +238,7 @@ void SocketIPC::ExecuteTaskInThread()
return;
}
SocketIPC::~SocketIPC()
PINEServer::~PINEServer()
{
m_end = true;
#ifdef _WIN32
@ -258,7 +258,7 @@ SocketIPC::~SocketIPC()
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 buf_cnt = 0;

View File

@ -13,17 +13,17 @@
* If not, see <http://www.gnu.org/licenses/>.
*/
/* Client code example for interfacing with the IPC interface is available
* here: https://code.govanify.com/govanify/pcsx2_ipc/ */
/* A reference client implementation for interfacing with PINE is available
* here: https://code.govanify.com/govanify/pine/ */
#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
// allow PnP and configurable by the end user so that several runs don't
// conflict with each others
#define IPC_DEFAULT_SLOT 28011
#define IPC_EMULATOR_NAME "pcsx2"
#define PINE_DEFAULT_SLOT 28011
#define PINE_EMULATOR_NAME "pcsx2"
#include "common/PersistentThread.h"
#include "System/SysThreads.h"
@ -35,7 +35,7 @@
using namespace Threading;
class SocketIPC : public pxThread
class PINEServer : public pxThread
{
// parent thread
typedef pxThread _parent;
@ -89,22 +89,22 @@ protected:
*/
enum IPCCommand : unsigned char
{
MsgRead8 = 0, /**< Read 8 bit value to memory. */
MsgRead16 = 1, /**< Read 16 bit value to memory. */
MsgRead32 = 2, /**< Read 32 bit value to memory. */
MsgRead64 = 3, /**< Read 64 bit value to memory. */
MsgWrite8 = 4, /**< Write 8 bit value to memory. */
MsgWrite16 = 5, /**< Write 16 bit value to memory. */
MsgWrite32 = 6, /**< Write 32 bit value to memory. */
MsgWrite64 = 7, /**< Write 64 bit value to memory. */
MsgVersion = 8, /**< Returns PCSX2 version. */
MsgSaveState = 9, /**< Saves a savestate. */
MsgLoadState = 0xA, /**< Loads a savestate. */
MsgTitle = 0xB, /**< Returns the game title. */
MsgID = 0xC, /**< Returns the game ID. */
MsgUUID = 0xD, /**< Returns the game UUID. */
MsgGameVersion = 0xE, /**< Returns the game verion. */
MsgStatus = 0xF, /**< Returns the emulator status. */
MsgRead8 = 0, /**< Read 8 bit value to memory. */
MsgRead16 = 1, /**< Read 16 bit value to memory. */
MsgRead32 = 2, /**< Read 32 bit value to memory. */
MsgRead64 = 3, /**< Read 64 bit value to memory. */
MsgWrite8 = 4, /**< Write 8 bit value to memory. */
MsgWrite16 = 5, /**< Write 16 bit value to memory. */
MsgWrite32 = 6, /**< Write 32 bit value to memory. */
MsgWrite64 = 7, /**< Write 64 bit value to memory. */
MsgVersion = 8, /**< Returns PCSX2 version. */
MsgSaveState = 9, /**< Saves a savestate. */
MsgLoadState = 0xA, /**< Loads a savestate. */
MsgTitle = 0xB, /**< Returns the game title. */
MsgID = 0xC, /**< Returns the game ID. */
MsgUUID = 0xD, /**< Returns the game UUID. */
MsgGameVersion = 0xE, /**< Returns the game verion. */
MsgStatus = 0xF, /**< Returns the emulator status. */
MsgUnimplemented = 0xFF /**< Unimplemented IPC message. */
};
@ -115,7 +115,7 @@ protected:
enum EmuStatus : uint32_t
{
Running = 0, /**< Game is running */
Paused = 1, /**< Game is paused */
Paused = 1, /**< Game is paused */
Shutdown = 2 /**< Game is shutdown */
};
@ -125,7 +125,7 @@ protected:
*/
struct IPCBuffer
{
int size; /**< Size of the buffer. */
int size; /**< Size of the buffer. */
char* buffer; /**< Buffer. */
};
@ -137,7 +137,7 @@ protected:
*/
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. */
};
@ -218,7 +218,7 @@ public:
bool m_end = true;
/* Initializers */
SocketIPC(SysCoreThread* vm, unsigned int slot = IPC_DEFAULT_SLOT);
virtual ~SocketIPC();
PINEServer(SysCoreThread* vm, unsigned int slot = PINE_DEFAULT_SLOT);
virtual ~PINEServer();
}; // class SocketIPC

View File

@ -572,7 +572,7 @@ void Pcsx2Config::LoadSave(SettingsWrapper& wrap)
SettingsWrapBitBool(CdvdShareWrite);
SettingsWrapBitBool(EnablePatches);
SettingsWrapBitBool(EnableCheats);
SettingsWrapBitBool(EnableIPC);
SettingsWrapBitBool(EnablePINE);
SettingsWrapBitBool(EnableWideScreenPatches);
#ifndef DISABLE_RECORDING
SettingsWrapBitBool(EnableRecordingTools);
@ -708,7 +708,7 @@ void Pcsx2Config::CopyConfig(const Pcsx2Config& cfg)
CdvdShareWrite = cfg.CdvdShareWrite;
EnablePatches = cfg.EnablePatches;
EnableCheats = cfg.EnableCheats;
EnableIPC = cfg.EnableIPC;
EnablePINE = cfg.EnablePINE;
EnableWideScreenPatches = cfg.EnableWideScreenPatches;
#ifndef DISABLE_RECORDING
EnableRecordingTools = cfg.EnableRecordingTools;

View File

@ -29,7 +29,7 @@ extern WindowInfo g_gs_window_info;
#include "Patch.h"
#include "SysThreads.h"
#include "MTVU.h"
#include "IPC.h"
#include "PINE.h"
#include "FW.h"
#include "SPU2/spu2.h"
#include "DEV9/DEV9.h"
@ -53,9 +53,9 @@ extern WindowInfo g_gs_window_info;
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
UI_UpdateSysControls();
#endif
if (EmuConfig.EnableIPC && m_IpcState == OFF)
if (EmuConfig.EnablePINE && m_PineState == OFF)
{
m_IpcState = ON;
m_socketIpc = std::make_unique<SocketIPC>(this, IPCSettings::slot);
m_PineState = ON;
m_pineServer = std::make_unique<PINEServer>(this, PINESettings::slot);
}
if (m_IpcState == ON && m_socketIpc->m_end)
m_socketIpc->Start();
if (m_PineState == ON && m_pineServer->m_end)
m_pineServer->Start();
}
bool SysCoreThread::StateCheckInThread()

View File

@ -19,7 +19,7 @@
#include "common/PersistentThread.h"
#include "common/emitter/tools.h"
#include "IPC.h"
#include "PINE.h"
using namespace Threading;
@ -185,16 +185,16 @@ protected:
bool m_resetVsyncTimers;
bool m_resetVirtualMachine;
// Stores the state of the socket IPC thread.
std::unique_ptr<SocketIPC> m_socketIpc;
// Stores the state of the PINE thread.
std::unique_ptr<PINEServer> m_pineServer;
// Current state of the IPC thread
enum StateIPC
// Current state of the PINE thread
enum StatePINE
{
OFF,
ON
};
StateIPC m_IpcState = OFF;
StatePINE m_PineState = OFF;
// Indicates if the system has an active virtual machine state. Pretty much always
// true anytime between subcomponents being initialized and being shutdown. Gets
@ -284,7 +284,7 @@ extern SysCoreThread& GetCoreThread();
extern bool g_CDVDReset;
namespace IPCSettings
namespace PINESettings
{
extern unsigned int slot;
};

View File

@ -199,10 +199,10 @@ enum MenuIdentifiers
MenuId_Recording_VirtualPad_Port1,
#endif
// IPC Subsection
MenuId_IPC,
MenuId_IPC_Enable,
MenuId_IPC_Settings,
// Subsection
MenuId_PINE,
MenuId_PINE_Enable,
MenuId_PINE_Settings,
};

View File

@ -400,14 +400,14 @@ namespace Dialogs
virtual ~AssertionDialog() = default;
};
class IPCDialog : public wxDialogWithHelpers
class PINEDialog : public wxDialogWithHelpers
{
public:
IPCDialog(wxWindow* parent = NULL);
virtual ~IPCDialog() = default;
PINEDialog(wxWindow* parent = NULL);
virtual ~PINEDialog() = default;
void OnConfirm(wxCommandEvent& evt);
static wxString GetNameStatic() { return L"IPCSettings"; }
static wxString GetNameStatic() { return L"PINESettings"; }
wxString GetDialogName() const { return GetNameStatic(); }
};
} // namespace Dialogs

View File

@ -26,7 +26,7 @@
#include "gui/AppConfig.h"
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
* 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.
@ -34,25 +34,25 @@ using namespace pxSizerFlags;
*/
// --------------------------------------------------------------------------------------
// IPCDialog Implementation
// PINEDialog Implementation
// --------------------------------------------------------------------------------------
Dialogs::IPCDialog::IPCDialog(wxWindow* parent)
: wxDialogWithHelpers(parent, _("IPC Settings"), pxDialogFlags())
Dialogs::PINEDialog::PINEDialog(wxWindow* parent)
: wxDialogWithHelpers(parent, _("PINE Settings"), pxDialogFlags())
{
wxTextCtrl* ipc_slot = new wxTextCtrl(this, wxID_ANY, wxString::Format(wxT("%u"), IPCSettings::slot), wxDefaultPosition, wxDefaultSize, wxTE_PROCESS_ENTER);
ipc_slot->Bind(wxEVT_TEXT_ENTER, &Dialogs::IPCDialog::OnConfirm, this);
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::PINEDialog::OnConfirm, this);
*this += new wxStaticText(this, wxID_ANY, _("IPC Slot"));
*this += new wxStaticText(this, wxID_ANY, _("PINE Slot"));
*this += ipc_slot;
}
void Dialogs::IPCDialog::OnConfirm(wxCommandEvent& evt)
void Dialogs::PINEDialog::OnConfirm(wxCommandEvent& evt)
{
wxTextCtrl* obj = static_cast<wxTextCtrl*>(evt.GetEventObject());
if (obj != nullptr)
{
IPCSettings::slot = (unsigned int)atoi(obj->GetValue().ToUTF8().data());
PINESettings::slot = (unsigned int)atoi(obj->GetValue().ToUTF8().data());
Destroy();
}
}

View File

@ -262,8 +262,8 @@ void MainEmuFrame::ConnectMenus()
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_IPC_Enable_Click, this, MenuId_IPC_Enable);
Bind(wxEVT_MENU, &MainEmuFrame::Menu_IPC_Settings_Click, this, MenuId_IPC_Settings);
Bind(wxEVT_MENU, &MainEmuFrame::Menu_PINE_Enable_Click, this, MenuId_PINE_Enable);
Bind(wxEVT_MENU, &MainEmuFrame::Menu_PINE_Settings_Click, this, MenuId_PINE_Settings);
Bind(wxEVT_MENU, &MainEmuFrame::Menu_EnableWideScreenPatches_Click, this, MenuId_EnableWideScreenPatches);
#ifndef DISABLE_RECORDING
Bind(wxEVT_MENU, &MainEmuFrame::Menu_EnableRecordingTools_Click, this, MenuId_EnableInputRecording);
@ -395,12 +395,12 @@ void MainEmuFrame::CreatePcsx2Menu()
m_GameSettingsSubmenu.Append(MenuId_EnableCheats, _("Enable &Cheats"),
_("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);
m_submenuIPC.Append(MenuId_IPC_Settings, _("IPC &Settings"));
m_submenuPINE.Append(MenuId_PINE_Settings, _("PINE &Settings"));
m_GameSettingsSubmenu.Append(MenuId_EnableWideScreenPatches, _("Enable &Widescreen Patches"),
_("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_menuCapture(*new wxMenu())
, m_submenuVideoCapture(*new wxMenu())
, m_submenuIPC(*new wxMenu())
, m_submenuPINE(*new wxMenu())
, m_submenuScreenshot(*new wxMenu())
#ifndef DISABLE_RECORDING
, m_menuRecording(*new wxMenu())
@ -830,7 +830,7 @@ void MainEmuFrame::ApplyConfigToGui(AppConfig& configToApply, int flags)
{ //these should not be affected by presets
menubar.Check(MenuId_EnableBackupStates, configToApply.EmuOptions.BackupSavestate);
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_Capture_Video_IncludeAudio, configToApply.AudioCapture.EnableAudio);
#ifndef DISABLE_RECORDING

View File

@ -69,7 +69,7 @@ protected:
wxMenu& m_menuCapture;
wxMenu& m_submenuVideoCapture;
wxMenu& m_submenuIPC;
wxMenu& m_submenuPINE;
wxMenu& m_submenuScreenshot;
#ifndef DISABLE_RECORDING
@ -165,8 +165,8 @@ protected:
void Menu_EnableBackupStates_Click(wxCommandEvent& event);
void Menu_EnablePatches_Click(wxCommandEvent& event);
void Menu_EnableCheats_Click(wxCommandEvent& event);
void Menu_IPC_Enable_Click(wxCommandEvent& event);
void Menu_IPC_Settings_Click(wxCommandEvent& event);
void Menu_PINE_Enable_Click(wxCommandEvent& event);
void Menu_PINE_Settings_Click(wxCommandEvent& event);
void Menu_EnableWideScreenPatches_Click(wxCommandEvent& event);
#ifndef DISABLE_RECORDING
void Menu_EnableRecordingTools_Click(wxCommandEvent& event);

View File

@ -54,9 +54,9 @@ void MainEmuFrame::Menu_SysSettings_Click(wxCommandEvent& event)
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)
@ -634,9 +634,9 @@ void MainEmuFrame::Menu_EnableCheats_Click(wxCommandEvent&)
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();
AppSaveSettings();
}

View File

@ -318,7 +318,7 @@
<ClCompile Include="gui\Debugger\DebugEvents.cpp" />
<ClCompile Include="gui\Debugger\DebuggerLists.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\McdConfigDialog.cpp" />
<ClCompile Include="gui\DriveList.cpp" />
@ -331,7 +331,7 @@
<ClCompile Include="gui\wxAppWithHelpers.cpp" />
<ClCompile Include="gui\wxSettingsInterface.cpp" />
<ClCompile Include="IopGte.cpp" />
<ClCompile Include="IPC.cpp" />
<ClCompile Include="PINE.cpp" />
<ClCompile Include="FW.cpp" />
<ClCompile Include="MemoryCardFile.cpp" />
<ClCompile Include="MemoryCardFolder.cpp" />
@ -767,7 +767,7 @@
<ClInclude Include="gui\wxSettingsInterface.h" />
<ClInclude Include="Host.h" />
<ClInclude Include="IopGte.h" />
<ClInclude Include="IPC.h" />
<ClInclude Include="PINE.h" />
<ClInclude Include="FW.h" />
<ClInclude Include="MemoryCardFile.h" />
<ClInclude Include="MemoryCardFolder.h" />
@ -1169,4 +1169,4 @@
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets" />
</Project>
</Project>

View File

@ -1052,7 +1052,7 @@
<ClCompile Include="gui\DriveList.cpp">
<Filter>AppHost</Filter>
</ClCompile>
<ClCompile Include="IPC.cpp">
<ClCompile Include="PINE.cpp">
<Filter>System</Filter>
</ClCompile>
<ClCompile Include="FW.cpp">
@ -1466,7 +1466,7 @@
<ClCompile Include="GS\GSLzma.cpp">
<Filter>System\Ps2\GS</Filter>
</ClCompile>
<ClCompile Include="gui\Dialogs\IPCDialog.cpp">
<ClCompile Include="gui\Dialogs\PINEDialog.cpp">
<Filter>AppHost\Dialogs</Filter>
</ClCompile>
<ClCompile Include="gui\Dialogs\GSDumpDialog.cpp">
@ -2141,7 +2141,7 @@
<ClInclude Include="gui\DriveList.h">
<Filter>AppHost\Include</Filter>
</ClInclude>
<ClInclude Include="IPC.h">
<ClInclude Include="PINE.h">
<Filter>System\Include</Filter>
</ClInclude>
<ClInclude Include="FW.h">