Include cleaning

This commit is contained in:
Nekotekina 2014-08-24 21:42:19 +04:00
parent 6f0531b3f7
commit 50b5d72bb2
31 changed files with 291 additions and 216 deletions

View File

@ -3,22 +3,11 @@
#include <wx/glcanvas.h> #include <wx/glcanvas.h>
#include "Gui/GLGSFrame.h" #include "Gui/GLGSFrame.h"
#include "Emu/Io/Null/NullKeyboardHandler.h"
#include "Emu/Io/Windows/WindowsKeyboardHandler.h"
#include "Emu/Io/Null/NullMouseHandler.h"
#include "Emu/Io/Windows/WindowsMouseHandler.h"
#include "Emu/Io/Null/NullPadHandler.h"
#include "Emu/Io/Windows/WindowsPadHandler.h"
#if defined(_WIN32)
#include "Emu/Io/XInput/XInputPadHandler.h"
#endif
#ifndef _WIN32 #ifndef _WIN32
#include <dirent.h> #include <dirent.h>
#endif #endif
#include "rPlatform.h"
rCanvas::rCanvas(void *parent) rCanvas::rCanvas(void *parent)
{ {
@ -36,8 +25,6 @@ bool rCanvas::SetCurrent(void *ctx)
} }
rGLFrame::rGLFrame() rGLFrame::rGLFrame()
{ {
handle = static_cast<void*>(new GLGSFrame()); handle = static_cast<void*>(new GLGSFrame());
@ -114,31 +101,6 @@ void rImage::SaveFile(const std::string& name, rImageType type)
} }
} }
int rPlatform::getKeyboardHandlerCount()
{
return 2;
}
KeyboardHandlerBase *rPlatform::getKeyboardHandler(int i)
{
switch (i)
{
case 0:
return new NullKeyboardHandler();
break;
case 1:
return new WindowsKeyboardHandler();
break;
default:
return new NullKeyboardHandler();
}
}
int rPlatform::getMouseHandlerCount()
{
return 2;
}
std::string rPlatform::getConfigDir() std::string rPlatform::getConfigDir()
{ {
static std::string dir = "."; static std::string dir = ".";
@ -159,49 +121,3 @@ std::string rPlatform::getConfigDir()
} }
return dir; return dir;
} }
MouseHandlerBase *rPlatform::getMouseHandler(int i)
{
switch (i)
{
case 0:
return new NullMouseHandler();
break;
case 1:
return new WindowsMouseHandler();
break;
default:
return new NullMouseHandler();
}
}
int rPlatform::getPadHandlerCount()
{
#if defined(_WIN32)
return 3;
#else
return 2;
#endif
}
PadHandlerBase *rPlatform::getPadHandler(int i)
{
switch (i)
{
case 0:
return new NullPadHandler();
break;
case 1:
return new WindowsPadHandler();
break;
#if defined(_WIN32)
case 2:
return new XInputPadHandler();
break;
#endif
default:
return new NullPadHandler();
}
}

View File

@ -2,10 +2,6 @@
#include <vector> #include <vector>
#include <string> #include <string>
#include "Emu/Io/Null/NullKeyboardHandler.h"
#include "Emu/Io/Null/NullMouseHandler.h"
#include "Emu/Io/Null/NullPadHandler.h"
struct rCanvas struct rCanvas
{ {
rCanvas(void *parent); rCanvas(void *parent);
@ -39,13 +35,6 @@ struct rPlatform
{ {
rGLFrame *getGLGSFrame(); rGLFrame *getGLGSFrame();
static rPlatform &getPlatform(); static rPlatform &getPlatform();
static int getKeyboardHandlerCount();
static KeyboardHandlerBase *getKeyboardHandler(int i);
static int getMouseHandlerCount();
static MouseHandlerBase *getMouseHandler(int i);
static int getPadHandlerCount();
static PadHandlerBase *getPadHandler(int i);
static std::string getConfigDir(); static std::string getConfigDir();
}; };

View File

@ -349,8 +349,8 @@ void SPUThread::EnqMfcCmd(MFCReg& MFCArgs)
ProcessCmd(cmd, tag, lsa, ea, size); ProcessCmd(cmd, tag, lsa, ea, size);
MFCArgs.CMDStatus.SetValue(MFC_PPU_DMA_CMD_ENQUEUE_SUCCESSFUL); MFCArgs.CMDStatus.SetValue(MFC_PPU_DMA_CMD_ENQUEUE_SUCCESSFUL);
}
break; break;
}
case MFC_PUTL_CMD: case MFC_PUTL_CMD:
case MFC_PUTRL_CMD: // ??? case MFC_PUTRL_CMD: // ???
@ -364,8 +364,8 @@ void SPUThread::EnqMfcCmd(MFCReg& MFCArgs)
lsa, ea, tag, size, cmd); lsa, ea, tag, size, cmd);
ListCmd(lsa, ea, tag, size, cmd, MFCArgs); ListCmd(lsa, ea, tag, size, cmd, MFCArgs);
}
break; break;
}
case MFC_GETLLAR_CMD: case MFC_GETLLAR_CMD:
case MFC_PUTLLC_CMD: case MFC_PUTLLC_CMD:
@ -478,8 +478,8 @@ void SPUThread::EnqMfcCmd(MFCReg& MFCArgs)
} }
R_ADDR = 0; R_ADDR = 0;
} }
}
break; break;
}
default: default:
LOG_ERROR(Log::SPU, "Unknown MFC cmd. (opcode=0x%x, cmd=0x%x, lsa = 0x%x, ea = 0x%llx, tag = 0x%x, size = 0x%x)", LOG_ERROR(Log::SPU, "Unknown MFC cmd. (opcode=0x%x, cmd=0x%x, lsa = 0x%x, ea = 0x%llx, tag = 0x%x, size = 0x%x)",

View File

@ -1,7 +1,14 @@
#include "stdafx.h" #include "stdafx.h"
#include "rpcs3.h" #include "DbgCommand.h"
void SendDbgCommand(DbgCommand id, CPUThread* thr ) SendDbgCommandCb SendDbgCommandFunc = nullptr;
void SendDbgCommand(DbgCommand id, CPUThread* t)
{ {
wxGetApp().SendDbgCommand(id, thr); SendDbgCommandFunc(id, t);
}
void SetSendDbgCommandCallback(SendDbgCommandCb cb)
{
SendDbgCommandFunc = cb;
} }

View File

@ -37,4 +37,8 @@ enum DbgCommand
DID_LAST_COMMAND, DID_LAST_COMMAND,
}; };
typedef void(*SendDbgCommandCb)(DbgCommand id, CPUThread* t);
void SetSendDbgCommandCallback(SendDbgCommandCb value);
void SendDbgCommand(DbgCommand id, CPUThread* thr = nullptr); void SendDbgCommand(DbgCommand id, CPUThread* thr = nullptr);

View File

@ -1,7 +1,27 @@
#include "stdafx.h" #include "stdafx.h"
#include "rpcs3/Ini.h" #include "rpcs3/Ini.h"
#include "Keyboard.h"
#include "Null/NullKeyboardHandler.h" #include "Null/NullKeyboardHandler.h"
#include "Keyboard.h"
GetKeyboardHandlerCountCb GetKeyboardHandlerCount = []()
{
return 1;
};
GetKeyboardHandlerCb GetKeyboardHandler = [](int i) -> KeyboardHandlerBase*
{
return new NullKeyboardHandler;
};
void SetGetKeyboardHandlerCountCallback(GetKeyboardHandlerCountCb cb)
{
GetKeyboardHandlerCount = cb;
}
void SetGetKeyboardHandlerCallback(GetKeyboardHandlerCb cb)
{
GetKeyboardHandler = cb;
}
KeyboardManager::KeyboardManager() KeyboardManager::KeyboardManager()
: m_keyboard_handler(nullptr) : m_keyboard_handler(nullptr)
@ -19,13 +39,13 @@ void KeyboardManager::Init(const u32 max_connect)
return; return;
// NOTE: Change these to std::make_unique assignments when C++14 comes out. // NOTE: Change these to std::make_unique assignments when C++14 comes out.
int numHandlers = rPlatform::getKeyboardHandlerCount(); int numHandlers = GetKeyboardHandlerCount();
int selectedHandler = Ini.KeyboardHandlerMode.GetValue(); int selectedHandler = Ini.KeyboardHandlerMode.GetValue();
if (selectedHandler > numHandlers) if (selectedHandler > numHandlers)
{ {
selectedHandler = 0; selectedHandler = 0;
} }
m_keyboard_handler.reset(rPlatform::getKeyboardHandler(selectedHandler)); m_keyboard_handler.reset(GetKeyboardHandler(selectedHandler));
m_keyboard_handler->Init(max_connect); m_keyboard_handler->Init(max_connect);
m_inited = true; m_inited = true;

View File

@ -1,10 +1,9 @@
#pragma once #pragma once
#include <memory> #include <memory>
#include <vector>
#include "KeyboardHandler.h" #include "KeyboardHandler.h"
class KeyboardManager //: public wxWindow class KeyboardManager
{ {
bool m_inited; bool m_inited;
std::unique_ptr<KeyboardHandlerBase> m_keyboard_handler; std::unique_ptr<KeyboardHandlerBase> m_keyboard_handler;
@ -23,7 +22,10 @@ public:
CellKbConfig& GetConfig(const u32 keyboard) { return m_keyboard_handler->GetConfig(keyboard); } CellKbConfig& GetConfig(const u32 keyboard) { return m_keyboard_handler->GetConfig(keyboard); }
bool IsInited() const { return m_inited; } bool IsInited() const { return m_inited; }
//private:
//DECLARE_EVENT_TABLE();
}; };
typedef int(*GetKeyboardHandlerCountCb)();
typedef KeyboardHandlerBase*(*GetKeyboardHandlerCb)(int i);
void SetGetKeyboardHandlerCountCallback(GetKeyboardHandlerCountCb cb);
void SetGetKeyboardHandlerCallback(GetKeyboardHandlerCb cb);

View File

@ -1,7 +1,27 @@
#include "stdafx.h" #include "stdafx.h"
#include "rpcs3/Ini.h" #include "rpcs3/Ini.h"
#include "Mouse.h"
#include "Null/NullMouseHandler.h" #include "Null/NullMouseHandler.h"
#include "Mouse.h"
GetMouseHandlerCountCb GetMouseHandlerCount = []()
{
return 1;
};
GetMouseHandlerCb GetMouseHandler = [](int i) -> MouseHandlerBase*
{
return new NullMouseHandler;
};
void SetGetMouseHandlerCountCallback(GetMouseHandlerCountCb cb)
{
GetMouseHandlerCount = cb;
}
void SetGetMouseHandlerCallback(GetMouseHandlerCb cb)
{
GetMouseHandler = cb;
}
MouseManager::MouseManager() MouseManager::MouseManager()
: m_mouse_handler(nullptr) : m_mouse_handler(nullptr)
@ -19,13 +39,13 @@ void MouseManager::Init(const u32 max_connect)
return; return;
// NOTE: Change these to std::make_unique assignments when C++14 is available. // NOTE: Change these to std::make_unique assignments when C++14 is available.
int numHandlers = rPlatform::getMouseHandlerCount(); int numHandlers = GetMouseHandlerCount();
int selectedHandler = Ini.MouseHandlerMode.GetValue(); int selectedHandler = Ini.MouseHandlerMode.GetValue();
if (selectedHandler > numHandlers) if (selectedHandler > numHandlers)
{ {
selectedHandler = 0; selectedHandler = 0;
} }
m_mouse_handler.reset(rPlatform::getMouseHandler(selectedHandler)); m_mouse_handler.reset(GetMouseHandler(selectedHandler));
m_mouse_handler->Init(max_connect); m_mouse_handler->Init(max_connect);
m_inited = true; m_inited = true;

View File

@ -1,10 +1,9 @@
#pragma once #pragma once
#include <memory> #include <memory>
#include <vector>
#include "MouseHandler.h" #include "MouseHandler.h"
class MouseManager //: public wxWindow class MouseManager
{ {
bool m_inited; bool m_inited;
std::unique_ptr<MouseHandlerBase> m_mouse_handler; std::unique_ptr<MouseHandlerBase> m_mouse_handler;
@ -22,7 +21,10 @@ public:
CellMouseRawData& GetRawData(const u32 mouse) { return m_mouse_handler->GetRawData(mouse); } CellMouseRawData& GetRawData(const u32 mouse) { return m_mouse_handler->GetRawData(mouse); }
bool IsInited() const { return m_inited; } bool IsInited() const { return m_inited; }
//private:
//DECLARE_EVENT_TABLE();
}; };
typedef int(*GetMouseHandlerCountCb)();
typedef MouseHandlerBase*(*GetMouseHandlerCb)(int i);
void SetGetMouseHandlerCountCallback(GetMouseHandlerCountCb cb);
void SetGetMouseHandlerCallback(GetMouseHandlerCb cb);

View File

@ -1,7 +1,27 @@
#include "stdafx.h" #include "stdafx.h"
#include "rpcs3/Ini.h" #include "rpcs3/Ini.h"
#include "Pad.h"
#include "Null/NullPadHandler.h" #include "Null/NullPadHandler.h"
#include "Pad.h"
GetPadHandlerCountCb GetPadHandlerCount = []()
{
return 1;
};
GetPadHandlerCb GetPadHandler = [](int i) -> PadHandlerBase*
{
return new NullPadHandler;
};
void SetGetPadHandlerCountCallback(GetPadHandlerCountCb cb)
{
GetPadHandlerCount = cb;
}
void SetGetPadHandlerCallback(GetPadHandlerCb cb)
{
GetPadHandler = cb;
}
PadManager::PadManager() PadManager::PadManager()
: m_pad_handler(nullptr) : m_pad_handler(nullptr)
@ -19,13 +39,13 @@ void PadManager::Init(const u32 max_connect)
return; return;
// NOTE: Change these to std::make_unique assignments when C++14 is available. // NOTE: Change these to std::make_unique assignments when C++14 is available.
int numHandlers = rPlatform::getPadHandlerCount(); int numHandlers = GetPadHandlerCount();
int selectedHandler = Ini.PadHandlerMode.GetValue(); int selectedHandler = Ini.PadHandlerMode.GetValue();
if (selectedHandler > numHandlers) if (selectedHandler > numHandlers)
{ {
selectedHandler = 0; selectedHandler = 0;
} }
m_pad_handler.reset(rPlatform::getPadHandler(selectedHandler)); m_pad_handler.reset(GetPadHandler(selectedHandler));
m_pad_handler->Init(max_connect); m_pad_handler->Init(max_connect);
m_inited = true; m_inited = true;

View File

@ -1,10 +1,9 @@
#pragma once #pragma once
#include <memory> #include <memory>
#include <vector>
#include "PadHandler.h" #include "PadHandler.h"
class PadManager //: public wxWindow class PadManager
{ {
bool m_inited; bool m_inited;
std::unique_ptr<PadHandlerBase> m_pad_handler; std::unique_ptr<PadHandlerBase> m_pad_handler;
@ -21,7 +20,10 @@ public:
std::vector<Button>& GetButtons(const u32 pad) { return m_pad_handler->GetButtons(pad); } std::vector<Button>& GetButtons(const u32 pad) { return m_pad_handler->GetButtons(pad); }
bool IsInited() const { return m_inited; } bool IsInited() const { return m_inited; }
//private:
//DECLARE_EVENT_TABLE();
}; };
typedef int(*GetPadHandlerCountCb)();
typedef PadHandlerBase*(*GetPadHandlerCb)(int i);
void SetGetPadHandlerCountCallback(GetPadHandlerCountCb cb);
void SetGetPadHandlerCallback(GetPadHandlerCb cb);

View File

@ -3,7 +3,6 @@
#include <algorithm> #include <algorithm>
#include <vector> #include <vector>
#include "Emu/Io/KeyboardHandler.h" #include "Emu/Io/KeyboardHandler.h"
#include "rpcs3.h"
class WindowsKeyboardHandler final class WindowsKeyboardHandler final
: public wxWindow : public wxWindow

View File

@ -3,7 +3,6 @@
#include "Emu/System.h" #include "Emu/System.h"
#include "Emu/SysCalls/Modules.h" #include "Emu/SysCalls/Modules.h"
#include "rpcs3.h"
#include "Utilities/rMsgBox.h" #include "Utilities/rMsgBox.h"
#include "Emu/SysCalls/lv2/sys_time.h" #include "Emu/SysCalls/lv2/sys_time.h"
#include "cellSysutil.h" #include "cellSysutil.h"
@ -70,7 +69,7 @@ int cellMsgDialogOpen2(u32 type, mem_list_ptr_t<u8> msgString, mem_func_ptr_t<Ce
u64 status = CELL_MSGDIALOG_BUTTON_NONE; u64 status = CELL_MSGDIALOG_BUTTON_NONE;
volatile bool m_signal = false; volatile bool m_signal = false;
wxGetApp().CallAfter([&]() CallAfter([&]()
{ {
wxWindow* parent = nullptr; // TODO: align it better wxWindow* parent = nullptr; // TODO: align it better
@ -195,7 +194,7 @@ int cellMsgDialogOpen2(u32 type, mem_list_ptr_t<u8> msgString, mem_func_ptr_t<Ce
if (callback && (g_msg_dialog_state != msgDialogAbort)) if (callback && (g_msg_dialog_state != msgDialogAbort))
callback.async(status, userData); callback.async(status, userData);
wxGetApp().CallAfter([&]() CallAfter([&]()
{ {
delete g_msg_dialog; delete g_msg_dialog;
g_msg_dialog = nullptr; g_msg_dialog = nullptr;
@ -367,7 +366,7 @@ int cellMsgDialogProgressBarSetMsg(u32 progressBarIndex, mem_list_ptr_t<u8> msgS
std::string text(msgString.GetString()); std::string text(msgString.GetString());
wxGetApp().CallAfter([text, progressBarIndex]() CallAfter([text, progressBarIndex]()
{ {
if (g_msg_dialog && !Emu.IsStopped()) if (g_msg_dialog && !Emu.IsStopped())
{ {
@ -394,7 +393,7 @@ int cellMsgDialogProgressBarReset(u32 progressBarIndex)
return CELL_MSGDIALOG_ERROR_PARAM; return CELL_MSGDIALOG_ERROR_PARAM;
} }
wxGetApp().CallAfter([=]() CallAfter([=]()
{ {
if (g_msg_dialog) if (g_msg_dialog)
{ {
@ -419,7 +418,7 @@ int cellMsgDialogProgressBarInc(u32 progressBarIndex, u32 delta)
return CELL_MSGDIALOG_ERROR_PARAM; return CELL_MSGDIALOG_ERROR_PARAM;
} }
wxGetApp().CallAfter([=]() CallAfter([=]()
{ {
if (g_msg_dialog) if (g_msg_dialog)
{ {

View File

@ -12,7 +12,6 @@
Module *cellSync = nullptr; Module *cellSync = nullptr;
#ifdef PRX_DEBUG #ifdef PRX_DEBUG
#include "rpcs3.h"
#include "prx_libsre.h" #include "prx_libsre.h"
u32 libsre; u32 libsre;
u32 libsre_rtoc; u32 libsre_rtoc;
@ -2220,7 +2219,7 @@ void cellSync_init()
cellSync->AddFunc(0xfe74e8e7, _cellSyncLFQueueCompletePopPointer); cellSync->AddFunc(0xfe74e8e7, _cellSyncLFQueueCompletePopPointer);
#ifdef PRX_DEBUG #ifdef PRX_DEBUG
wxGetApp().CallAfter([&]() CallAfter([]()
{ {
libsre = Memory.PRXMem.AllocAlign(sizeof(libsre_data), 4096); libsre = Memory.PRXMem.AllocAlign(sizeof(libsre_data), 4096);
memcpy(Memory + libsre, libsre_data, sizeof(libsre_data)); memcpy(Memory + libsre, libsre_data, sizeof(libsre_data));

View File

@ -4,7 +4,6 @@
#include "Emu/SysCalls/SysCalls.h" #include "Emu/SysCalls/SysCalls.h"
#include "sys_process.h" #include "sys_process.h"
#include "rpcs3.h"
SysCallBase sys_process("sys_process"); SysCallBase sys_process("sys_process");
@ -31,13 +30,9 @@ s32 sys_process_exit(s32 errorcode)
sys_process.Warning("sys_process_exit(%d)", errorcode); sys_process.Warning("sys_process_exit(%d)", errorcode);
Emu.Pause(); Emu.Pause();
sys_process.Success("Process finished"); sys_process.Success("Process finished");
wxGetApp().CallAfter([]() CallAfter([]()
{ {
Emu.Stop(); Emu.Stop();
if (Ini.HLEExitOnStop.GetValue())
{
wxGetApp().Exit();
}
}); });
return CELL_OK; return CELL_OK;
} }

View File

@ -13,8 +13,6 @@
#include "Emu/FS/vfsDeviceLocalFile.h" #include "Emu/FS/vfsDeviceLocalFile.h"
#include "Emu/DbgCommand.h" #include "Emu/DbgCommand.h"
#include "Emu/CPU/CPUThreadManager.h" //gui dependency
#include "Loader/PSF.h" #include "Loader/PSF.h"
#include "../Crypto/unself.h" #include "../Crypto/unself.h"
@ -514,3 +512,15 @@ void Emulator::LoadPoints(const std::string& path)
} }
Emulator Emu; Emulator Emu;
CallAfterCbType CallAfterCallback = nullptr;
void CallAfter(std::function<void()> func)
{
CallAfterCallback(func);
}
void SetCallAfterCallback(CallAfterCbType cb)
{
CallAfterCallback = cb;
}

View File

@ -1,7 +1,7 @@
#pragma once #pragma once
#include <atomic> #include <atomic>
#include "Emu/CPU/CPUThreadManager.h" //gui dependency #include "Emu/CPU/CPUThreadManager.h"
#include "Emu/Io/Pad.h" #include "Emu/Io/Pad.h"
#include "Emu/Io/Keyboard.h" #include "Emu/Io/Keyboard.h"
#include "Emu/Io/Mouse.h" #include "Emu/Io/Mouse.h"
@ -171,3 +171,9 @@ public:
}; };
extern Emulator Emu; extern Emulator Emu;
typedef void(*CallAfterCbType)(std::function<void()> func);
void CallAfter(std::function<void()> func);
void SetCallAfterCallback(CallAfterCbType cb);

View File

@ -1,7 +1,6 @@
#include "stdafx.h" #include "stdafx.h"
#include "Emu/System.h" #include "Emu/System.h"
#include "AutoPauseManager.h" #include "AutoPauseManager.h"
#include "stdafx.h"
#include <iomanip> #include <iomanip>
#include <sstream> #include <sstream>
#include "Utilities/Log.h" #include "Utilities/Log.h"

View File

@ -1,11 +1,9 @@
#include "stdafx.h" #include "stdafx.h"
#include "Utilities/Log.h"
#include "Utilities/rMsgBox.h" #include "Utilities/rMsgBox.h"
#include "Emu/Memory/Memory.h"
#include "Emu/System.h"
#include "CompilerELF.h"
#include "Emu/Cell/PPUProgramCompiler.h" #include "Emu/Cell/PPUProgramCompiler.h"
using namespace PPU_opcodes; using namespace PPU_opcodes;
#include "CompilerELF.h"
enum CompilerIDs enum CompilerIDs
{ {

View File

@ -1,9 +1,5 @@
#pragma once #pragma once
#include "Emu/Cell/PPUOpcodes.h"
#include "Loader/ELF64.h"
#include <wx/aui/aui.h>
#include <wx/richtext/richtextctrl.h>
#include "Gui/MainFrame.h" #include "Gui/MainFrame.h"
class CompilerELF : public FrameBase class CompilerELF : public FrameBase

View File

@ -10,8 +10,6 @@
#include "Utilities/Log.h" #include "Utilities/Log.h"
#include "Gui/ConLogFrame.h" #include "Gui/ConLogFrame.h"
#include "Emu/System.h"
wxDEFINE_EVENT(EVT_LOG_COMMAND, wxCommandEvent); wxDEFINE_EVENT(EVT_LOG_COMMAND, wxCommandEvent);
//amount of memory in bytes used to buffer log messages for the gui //amount of memory in bytes used to buffer log messages for the gui

View File

@ -1,7 +1,6 @@
#include "stdafx.h" #include "stdafx.h"
#include <wx/statline.h> #include <wx/statline.h>
#include "Utilities/Log.h"
#include "Emu/Memory/Memory.h" #include "Emu/Memory/Memory.h"
#include "Emu/System.h" #include "Emu/System.h"
#include "rpcs3.h" #include "rpcs3.h"

View File

@ -715,6 +715,14 @@ void MainFrame::UpdateUI(wxCommandEvent& event)
default: default:
return; return;
} }
if (event.GetId() == DID_STOPPED_EMU)
{
if (Ini.HLEExitOnStop.GetValue())
{
wxGetApp().Exit();
}
}
} }
else else
{ {

View File

@ -1,5 +1,6 @@
#include "stdafx.h" #include "stdafx.h"
#include "rpcs3/Ini.h" #include "rpcs3/Ini.h"
#include "Utilities/rPlatform.h"
#include "Utilities/Log.h" #include "Utilities/Log.h"
#include "Emu/Memory/Memory.h" #include "Emu/Memory/Memory.h"
#include "Emu/System.h" #include "Emu/System.h"

View File

@ -1,8 +1,8 @@
#include "stdafx.h" #include "stdafx.h"
#include "Ini.h" #include "Utilities/rPlatform.h"
#include "Utilities/StrFmt.h" #include "Utilities/StrFmt.h"
#include "Ini.h"
#include <algorithm> #include <algorithm>
#include <cctype> #include <cctype>
#include <regex> #include <regex>

View File

@ -1,7 +1,6 @@
#pragma once #pragma once
#include <utility> #include <utility>
#include "Utilities/rPlatform.h"
#include "Utilities/simpleini/SimpleIni.h" #include "Utilities/simpleini/SimpleIni.h"
//TODO: make thread safe/remove static singleton //TODO: make thread safe/remove static singleton

View File

@ -63,6 +63,7 @@
<ClCompile Include="Emu\Cell\SPUThread.cpp" /> <ClCompile Include="Emu\Cell\SPUThread.cpp" />
<ClCompile Include="Emu\CPU\CPUThread.cpp" /> <ClCompile Include="Emu\CPU\CPUThread.cpp" />
<ClCompile Include="Emu\CPU\CPUThreadManager.cpp" /> <ClCompile Include="Emu\CPU\CPUThreadManager.cpp" />
<ClCompile Include="Emu\DbgCommand.cpp" />
<ClCompile Include="Emu\Event.cpp" /> <ClCompile Include="Emu\Event.cpp" />
<ClCompile Include="Emu\FS\VFS.cpp" /> <ClCompile Include="Emu\FS\VFS.cpp" />
<ClCompile Include="Emu\FS\vfsDevice.cpp" /> <ClCompile Include="Emu\FS\vfsDevice.cpp" />
@ -197,7 +198,7 @@
<ClCompile Include="Emu\SysCalls\Static.cpp" /> <ClCompile Include="Emu\SysCalls\Static.cpp" />
<ClCompile Include="Emu\SysCalls\SysCalls.cpp" /> <ClCompile Include="Emu\SysCalls\SysCalls.cpp" />
<ClCompile Include="Emu\System.cpp" /> <ClCompile Include="Emu\System.cpp" />
<ClCompile Include="Emu\Io\XInput\XInputPadHandler.cpp" /> <ClCompile Include="Ini.cpp" />
<ClCompile Include="Loader\ELF.cpp" /> <ClCompile Include="Loader\ELF.cpp" />
<ClCompile Include="Loader\ELF32.cpp" /> <ClCompile Include="Loader\ELF32.cpp" />
<ClCompile Include="Loader\ELF64.cpp" /> <ClCompile Include="Loader\ELF64.cpp" />
@ -296,12 +297,11 @@
<ClInclude Include="Emu\Io\KeyboardHandler.h" /> <ClInclude Include="Emu\Io\KeyboardHandler.h" />
<ClInclude Include="Emu\Io\Mouse.h" /> <ClInclude Include="Emu\Io\Mouse.h" />
<ClInclude Include="Emu\Io\MouseHandler.h" /> <ClInclude Include="Emu\Io\MouseHandler.h" />
<ClInclude Include="Emu\Io\Null\NullKeyboardHandler.h" />
<ClInclude Include="Emu\Io\Null\NullMouseHandler.h" />
<ClInclude Include="Emu\Io\Null\NullPadHandler.h" /> <ClInclude Include="Emu\Io\Null\NullPadHandler.h" />
<ClInclude Include="Emu\Io\Pad.h" /> <ClInclude Include="Emu\Io\Pad.h" />
<ClInclude Include="Emu\Io\PadHandler.h" /> <ClInclude Include="Emu\Io\PadHandler.h" />
<ClInclude Include="Emu\Io\Windows\WindowsKeyboardHandler.h" />
<ClInclude Include="Emu\Io\Windows\WindowsMouseHandler.h" />
<ClInclude Include="Emu\Io\Windows\WindowsPadHandler.h" />
<ClInclude Include="Emu\Memory\DynamicMemoryBlockBase.h" /> <ClInclude Include="Emu\Memory\DynamicMemoryBlockBase.h" />
<ClInclude Include="Emu\Memory\Memory.h" /> <ClInclude Include="Emu\Memory\Memory.h" />
<ClInclude Include="Emu\Memory\MemoryBlock.h" /> <ClInclude Include="Emu\Memory\MemoryBlock.h" />
@ -391,7 +391,7 @@
<ClInclude Include="Emu\SysCalls\Static.h" /> <ClInclude Include="Emu\SysCalls\Static.h" />
<ClInclude Include="Emu\SysCalls\SysCalls.h" /> <ClInclude Include="Emu\SysCalls\SysCalls.h" />
<ClInclude Include="Emu\System.h" /> <ClInclude Include="Emu\System.h" />
<ClInclude Include="Emu\Io\XInput\XInputPadHandler.h" /> <ClInclude Include="Ini.h" />
<ClInclude Include="Loader\ELF.h" /> <ClInclude Include="Loader\ELF.h" />
<ClInclude Include="Loader\ELF32.h" /> <ClInclude Include="Loader\ELF32.h" />
<ClInclude Include="Loader\ELF64.h" /> <ClInclude Include="Loader\ELF64.h" />

View File

@ -27,12 +27,6 @@
<Filter Include="Emu\Io"> <Filter Include="Emu\Io">
<UniqueIdentifier>{1df5b438-f263-4ff4-9b86-a9ea368f2106}</UniqueIdentifier> <UniqueIdentifier>{1df5b438-f263-4ff4-9b86-a9ea368f2106}</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="Emu\Io\Null">
<UniqueIdentifier>{d489f5c9-f7b7-4402-9cfb-6aa2c813cdf6}</UniqueIdentifier>
</Filter>
<Filter Include="Emu\Io\Windows">
<UniqueIdentifier>{c04826b8-05a1-4015-b3aa-ef44805531a2}</UniqueIdentifier>
</Filter>
<Filter Include="Emu\FS"> <Filter Include="Emu\FS">
<UniqueIdentifier>{b26b6b08-a8ce-4bb5-8339-c5352a23ce96}</UniqueIdentifier> <UniqueIdentifier>{b26b6b08-a8ce-4bb5-8339-c5352a23ce96}</UniqueIdentifier>
</Filter> </Filter>
@ -69,9 +63,6 @@
<Filter Include="Emu\Cell\currently_unused"> <Filter Include="Emu\Cell\currently_unused">
<UniqueIdentifier>{ead7494f-a872-4b4d-a864-1a61c3b6012f}</UniqueIdentifier> <UniqueIdentifier>{ead7494f-a872-4b4d-a864-1a61c3b6012f}</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="Emu\Io\XInput">
<UniqueIdentifier>{187d33b8-7b69-4081-9545-de6ad1d8fe98}</UniqueIdentifier>
</Filter>
<Filter Include="Emu\RSX"> <Filter Include="Emu\RSX">
<UniqueIdentifier>{fadb4b36-57af-4583-891d-d22ff369e266}</UniqueIdentifier> <UniqueIdentifier>{fadb4b36-57af-4583-891d-d22ff369e266}</UniqueIdentifier>
</Filter> </Filter>
@ -81,6 +72,9 @@
<Filter Include="Emu\RSX\GL"> <Filter Include="Emu\RSX\GL">
<UniqueIdentifier>{6f1da5b2-52c5-416b-9b5c-b9897bc1b300}</UniqueIdentifier> <UniqueIdentifier>{6f1da5b2-52c5-416b-9b5c-b9897bc1b300}</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="Emu\Io\Null">
<UniqueIdentifier>{fcac6852-b45f-4cf2-afee-cf56bcea14e5}</UniqueIdentifier>
</Filter>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="Crypto\aes.cpp"> <ClCompile Include="Crypto\aes.cpp">
@ -479,9 +473,6 @@
<ClCompile Include="Emu\SysCalls\Modules\sys_http.cpp"> <ClCompile Include="Emu\SysCalls\Modules\sys_http.cpp">
<Filter>Emu\Cell\currently_unused</Filter> <Filter>Emu\Cell\currently_unused</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="Emu\Io\XInput\XInputPadHandler.cpp">
<Filter>Emu\Io\XInput</Filter>
</ClCompile>
<ClCompile Include="..\Utilities\SSemaphore.cpp"> <ClCompile Include="..\Utilities\SSemaphore.cpp">
<Filter>Utilities</Filter> <Filter>Utilities</Filter>
</ClCompile> </ClCompile>
@ -608,6 +599,12 @@
<ClCompile Include="Emu\SysCalls\LogBase.cpp"> <ClCompile Include="Emu\SysCalls\LogBase.cpp">
<Filter>Emu\SysCalls</Filter> <Filter>Emu\SysCalls</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="Emu\DbgCommand.cpp">
<Filter>Emu</Filter>
</ClCompile>
<ClCompile Include="Ini.cpp">
<Filter>Utilities</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="Crypto\aes.h"> <ClInclude Include="Crypto\aes.h">
@ -754,18 +751,6 @@
<ClInclude Include="Emu\Io\PadHandler.h"> <ClInclude Include="Emu\Io\PadHandler.h">
<Filter>Emu\Io</Filter> <Filter>Emu\Io</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Emu\Io\Null\NullPadHandler.h">
<Filter>Emu\Io\Null</Filter>
</ClInclude>
<ClInclude Include="Emu\Io\Windows\WindowsKeyboardHandler.h">
<Filter>Emu\Io\Windows</Filter>
</ClInclude>
<ClInclude Include="Emu\Io\Windows\WindowsMouseHandler.h">
<Filter>Emu\Io\Windows</Filter>
</ClInclude>
<ClInclude Include="Emu\Io\Windows\WindowsPadHandler.h">
<Filter>Emu\Io\Windows</Filter>
</ClInclude>
<ClInclude Include="Emu\FS\VFS.h"> <ClInclude Include="Emu\FS\VFS.h">
<Filter>Emu\FS</Filter> <Filter>Emu\FS</Filter>
</ClInclude> </ClInclude>
@ -994,9 +979,6 @@
<ClInclude Include="Emu\SysCalls\Modules\libsynth2.h"> <ClInclude Include="Emu\SysCalls\Modules\libsynth2.h">
<Filter>Emu\Cell\currently_unused</Filter> <Filter>Emu\Cell\currently_unused</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Emu\Io\XInput\XInputPadHandler.h">
<Filter>Emu\Io\XInput</Filter>
</ClInclude>
<ClInclude Include="Emu\Event.h"> <ClInclude Include="Emu\Event.h">
<Filter>Emu\SysCalls</Filter> <Filter>Emu\SysCalls</Filter>
</ClInclude> </ClInclude>
@ -1165,5 +1147,17 @@
<ClInclude Include="Emu\SysCalls\Modules\cellFontFT.h"> <ClInclude Include="Emu\SysCalls\Modules\cellFontFT.h">
<Filter>Emu\SysCalls\Modules</Filter> <Filter>Emu\SysCalls\Modules</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Ini.h">
<Filter>Utilities</Filter>
</ClInclude>
<ClInclude Include="Emu\Io\Null\NullPadHandler.h">
<Filter>Emu\Io\Null</Filter>
</ClInclude>
<ClInclude Include="Emu\Io\Null\NullKeyboardHandler.h">
<Filter>Emu\Io\Null</Filter>
</ClInclude>
<ClInclude Include="Emu\Io\Null\NullMouseHandler.h">
<Filter>Emu\Io\Null</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
</Project> </Project>

View File

@ -5,6 +5,18 @@
#include "Gui/ConLogFrame.h" #include "Gui/ConLogFrame.h"
#include "Emu/GameInfo.h" #include "Emu/GameInfo.h"
#include "Emu/Io/Null/NullKeyboardHandler.h"
#include "Emu/Io/Windows/WindowsKeyboardHandler.h"
#include "Emu/Io/Null/NullMouseHandler.h"
#include "Emu/Io/Windows/WindowsMouseHandler.h"
#include "Emu/Io/Null/NullPadHandler.h"
#include "Emu/Io/Windows/WindowsPadHandler.h"
#if defined(_WIN32)
#include "Emu/Io/XInput/XInputPadHandler.h"
#endif
#ifdef _WIN32 #ifdef _WIN32
#include <wx/msw/wrapwin.h> #include <wx/msw/wrapwin.h>
#endif #endif
@ -20,6 +32,78 @@ Rpcs3App* TheApp;
bool Rpcs3App::OnInit() bool Rpcs3App::OnInit()
{ {
SetSendDbgCommandCallback([](DbgCommand id, CPUThread* t)
{
wxGetApp().SendDbgCommand(id, t);
});
SetCallAfterCallback([](std::function<void()> func)
{
wxGetApp().CallAfter(func);
});
SetGetKeyboardHandlerCountCallback([]()
{
return 2;
});
SetGetKeyboardHandlerCallback([](int i) -> KeyboardHandlerBase*
{
switch (i)
{
case 0:
return new NullKeyboardHandler();
break;
case 1:
return new WindowsKeyboardHandler();
break;
default:
return new NullKeyboardHandler();
}
});
SetGetMouseHandlerCountCallback([]()
{
return 2;
});
SetGetMouseHandlerCallback([](int i) -> MouseHandlerBase*
{
switch (i)
{
case 0:
return new NullMouseHandler();
break;
case 1:
return new WindowsMouseHandler();
break;
default:
return new NullMouseHandler();
}
});
SetGetPadHandlerCountCallback([]()
{
#if defined(_WIN32)
return 3;
#else
return 2;
#endif
});
SetGetPadHandlerCallback([](int i) -> PadHandlerBase*
{
switch (i)
{
case 0:
return new NullPadHandler();
break;
case 1:
return new WindowsPadHandler();
break;
#if defined(_WIN32)
case 2:
return new XInputPadHandler();
break;
#endif
default:
return new NullPadHandler();
}
});
TheApp = this; TheApp = this;
SetAppName(_PRGNAME_); SetAppName(_PRGNAME_);
wxInitAllImageHandlers(); wxInitAllImageHandlers();
@ -78,10 +162,5 @@ Rpcs3App::Rpcs3App()
XInitThreads(); XInitThreads();
#endif #endif
} }
/*
CPUThread& GetCPU(const u8 core)
{
return Emu.GetCPU().Get(core);
}*/
GameInfo CurGameInfo; GameInfo CurGameInfo;

View File

@ -163,7 +163,7 @@
<ClCompile Include="..\Utilities\SMutex.cpp" /> <ClCompile Include="..\Utilities\SMutex.cpp" />
<ClCompile Include="..\Utilities\StrFmt.cpp" /> <ClCompile Include="..\Utilities\StrFmt.cpp" />
<ClCompile Include="..\Utilities\Thread.cpp" /> <ClCompile Include="..\Utilities\Thread.cpp" />
<ClCompile Include="Emu\DbgCommand.cpp" /> <ClCompile Include="Emu\Io\XInput\XInputPadHandler.cpp" />
<ClCompile Include="Gui\AutoPauseManager.cpp" /> <ClCompile Include="Gui\AutoPauseManager.cpp" />
<ClCompile Include="Gui\CompilerELF.cpp" /> <ClCompile Include="Gui\CompilerELF.cpp" />
<ClCompile Include="Gui\ConLogFrame.cpp" /> <ClCompile Include="Gui\ConLogFrame.cpp" />
@ -182,7 +182,6 @@
<ClCompile Include="Gui\TextInputDialog.cpp" /> <ClCompile Include="Gui\TextInputDialog.cpp" />
<ClCompile Include="Gui\VFSManager.cpp" /> <ClCompile Include="Gui\VFSManager.cpp" />
<ClCompile Include="Gui\VHDDManager.cpp" /> <ClCompile Include="Gui\VHDDManager.cpp" />
<ClCompile Include="Ini.cpp" />
<ClCompile Include="rpcs3.cpp" /> <ClCompile Include="rpcs3.cpp" />
<ClCompile Include="stdafx.cpp"> <ClCompile Include="stdafx.cpp">
<PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader> <PrecompiledHeader Condition="'$(Configuration)|$(Platform)'=='Release|x64'">Create</PrecompiledHeader>
@ -208,6 +207,10 @@
<ClInclude Include="..\Utilities\StrFmt.h" /> <ClInclude Include="..\Utilities\StrFmt.h" />
<ClInclude Include="..\Utilities\Thread.h" /> <ClInclude Include="..\Utilities\Thread.h" />
<ClInclude Include="..\Utilities\Timer.h" /> <ClInclude Include="..\Utilities\Timer.h" />
<ClInclude Include="Emu\Io\Windows\WindowsKeyboardHandler.h" />
<ClInclude Include="Emu\Io\Windows\WindowsMouseHandler.h" />
<ClInclude Include="Emu\Io\Windows\WindowsPadHandler.h" />
<ClInclude Include="Emu\Io\XInput\XInputPadHandler.h" />
<ClInclude Include="Gui\AboutDialog.h" /> <ClInclude Include="Gui\AboutDialog.h" />
<ClInclude Include="Gui\AutoPauseManager.h" /> <ClInclude Include="Gui\AutoPauseManager.h" />
<ClInclude Include="Gui\CompilerELF.h" /> <ClInclude Include="Gui\CompilerELF.h" />
@ -228,7 +231,6 @@
<ClInclude Include="Gui\TextInputDialog.h" /> <ClInclude Include="Gui\TextInputDialog.h" />
<ClInclude Include="Gui\VFSManager.h" /> <ClInclude Include="Gui\VFSManager.h" />
<ClInclude Include="Gui\VHDDManager.h" /> <ClInclude Include="Gui\VHDDManager.h" />
<ClInclude Include="Ini.h" />
<ClInclude Include="rpcs3.h" /> <ClInclude Include="rpcs3.h" />
<ClInclude Include="stdafx.h" /> <ClInclude Include="stdafx.h" />
</ItemGroup> </ItemGroup>

View File

@ -1,9 +1,6 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup> <ItemGroup>
<Filter Include="Emu">
<UniqueIdentifier>{29c70b04-59a5-4d5b-98f9-3584df137ed1}</UniqueIdentifier>
</Filter>
<Filter Include="Gui"> <Filter Include="Gui">
<UniqueIdentifier>{98fb6fa5-9a9a-48a6-a6b4-be4b9a69b76e}</UniqueIdentifier> <UniqueIdentifier>{98fb6fa5-9a9a-48a6-a6b4-be4b9a69b76e}</UniqueIdentifier>
</Filter> </Filter>
@ -13,6 +10,15 @@
<Filter Include="Utilities"> <Filter Include="Utilities">
<UniqueIdentifier>{9bd88f78-8528-48f3-b9e0-78e06476b04d}</UniqueIdentifier> <UniqueIdentifier>{9bd88f78-8528-48f3-b9e0-78e06476b04d}</UniqueIdentifier>
</Filter> </Filter>
<Filter Include="Io">
<UniqueIdentifier>{6da015d7-ee99-4d6b-9588-42414b63ee0e}</UniqueIdentifier>
</Filter>
<Filter Include="Io\Windows">
<UniqueIdentifier>{ce9ce942-07dd-4cbc-9b76-0f754c363eda}</UniqueIdentifier>
</Filter>
<Filter Include="Io\XInput">
<UniqueIdentifier>{b30572ce-b602-4c10-ad69-bd3f1c8a0144}</UniqueIdentifier>
</Filter>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="rpcs3.cpp"> <ClCompile Include="rpcs3.cpp">
@ -30,9 +36,6 @@
<ClCompile Include="Gui\DisAsmFrame.cpp"> <ClCompile Include="Gui\DisAsmFrame.cpp">
<Filter>Gui</Filter> <Filter>Gui</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="Ini.cpp">
<Filter>rpcs3</Filter>
</ClCompile>
<ClCompile Include="Gui\CompilerELF.cpp"> <ClCompile Include="Gui\CompilerELF.cpp">
<Filter>Gui</Filter> <Filter>Gui</Filter>
</ClCompile> </ClCompile>
@ -90,9 +93,6 @@
<ClCompile Include="Gui\GSFrame.cpp"> <ClCompile Include="Gui\GSFrame.cpp">
<Filter>Gui</Filter> <Filter>Gui</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="Emu\DbgCommand.cpp">
<Filter>Emu</Filter>
</ClCompile>
<ClCompile Include="Gui\ConLogFrame.cpp"> <ClCompile Include="Gui\ConLogFrame.cpp">
<Filter>Gui</Filter> <Filter>Gui</Filter>
</ClCompile> </ClCompile>
@ -105,6 +105,9 @@
<ClCompile Include="Gui\KernelExplorer.cpp"> <ClCompile Include="Gui\KernelExplorer.cpp">
<Filter>Gui</Filter> <Filter>Gui</Filter>
</ClCompile> </ClCompile>
<ClCompile Include="Emu\Io\XInput\XInputPadHandler.cpp">
<Filter>Io\XInput</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ResourceCompile Include="rpcs3.rc" /> <ResourceCompile Include="rpcs3.rc" />
@ -167,9 +170,6 @@
<ClInclude Include="Gui\VHDDManager.h"> <ClInclude Include="Gui\VHDDManager.h">
<Filter>Gui</Filter> <Filter>Gui</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Ini.h">
<Filter>rpcs3</Filter>
</ClInclude>
<ClInclude Include="stdafx.h"> <ClInclude Include="stdafx.h">
<Filter>rpcs3</Filter> <Filter>rpcs3</Filter>
</ClInclude> </ClInclude>
@ -221,5 +221,17 @@
<ClInclude Include="Gui\KernelExplorer.h"> <ClInclude Include="Gui\KernelExplorer.h">
<Filter>Gui</Filter> <Filter>Gui</Filter>
</ClInclude> </ClInclude>
<ClInclude Include="Emu\Io\Windows\WindowsKeyboardHandler.h">
<Filter>Io\Windows</Filter>
</ClInclude>
<ClInclude Include="Emu\Io\Windows\WindowsMouseHandler.h">
<Filter>Io\Windows</Filter>
</ClInclude>
<ClInclude Include="Emu\Io\Windows\WindowsPadHandler.h">
<Filter>Io\Windows</Filter>
</ClInclude>
<ClInclude Include="Emu\Io\XInput\XInputPadHandler.h">
<Filter>Io\XInput</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
</Project> </Project>