mirror of https://github.com/PCSX2/pcsx2.git
commit
9182a287e2
|
@ -34,7 +34,7 @@ bool BlockdumpFileReader::DetectBlockdump(AsyncFileReader* reader)
|
||||||
|
|
||||||
reader->SetBlockSize(1);
|
reader->SetBlockSize(1);
|
||||||
|
|
||||||
char buf[4];
|
char buf[5] = {0};
|
||||||
reader->ReadSync(buf, 0, 4);
|
reader->ReadSync(buf, 0, 4);
|
||||||
|
|
||||||
bool isbd = (strncmp(buf, "BDV2", 4) == 0);
|
bool isbd = (strncmp(buf, "BDV2", 4) == 0);
|
||||||
|
|
|
@ -66,7 +66,7 @@ int FlatFileReader::FinishRead(void)
|
||||||
|
|
||||||
int min_nr = 1;
|
int min_nr = 1;
|
||||||
int max_nr = 1;
|
int max_nr = 1;
|
||||||
struct io_event* events = new io_event[max_nr];
|
struct io_event events[max_nr];
|
||||||
|
|
||||||
int event = io_getevents(m_aio_context, min_nr, max_nr, events, NULL);
|
int event = io_getevents(m_aio_context, min_nr, max_nr, events, NULL);
|
||||||
if (event < 1) {
|
if (event < 1) {
|
||||||
|
|
|
@ -52,6 +52,7 @@ CtrlRegisterList::CtrlRegisterList(wxWindow* parent, DebugInterface* _cpu)
|
||||||
category = 0;
|
category = 0;
|
||||||
maxBits = 128;
|
maxBits = 128;
|
||||||
lastPc = 0xFFFFFFFF;
|
lastPc = 0xFFFFFFFF;
|
||||||
|
resolvePointerStrings = false;
|
||||||
|
|
||||||
for (int i = 0; i < cpu->getRegisterCategoryCount(); i++)
|
for (int i = 0; i < cpu->getRegisterCategoryCount(); i++)
|
||||||
{
|
{
|
||||||
|
@ -80,6 +81,13 @@ CtrlRegisterList::CtrlRegisterList(wxWindow* parent, DebugInterface* _cpu)
|
||||||
SetScrollbars(1, rowHeight, actualSize.x, actualSize.y / rowHeight, 0, 0);
|
SetScrollbars(1, rowHeight, actualSize.x, actualSize.y / rowHeight, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CtrlRegisterList::~CtrlRegisterList()
|
||||||
|
{
|
||||||
|
for (auto& regs : changedCategories)
|
||||||
|
delete[] regs;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
wxSize CtrlRegisterList::getOptimalSize() const
|
wxSize CtrlRegisterList::getOptimalSize() const
|
||||||
{
|
{
|
||||||
int columnChars = 0;
|
int columnChars = 0;
|
||||||
|
|
|
@ -23,6 +23,7 @@ class CtrlRegisterList: public wxScrolledWindow
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
CtrlRegisterList(wxWindow* parent, DebugInterface* _cpu);
|
CtrlRegisterList(wxWindow* parent, DebugInterface* _cpu);
|
||||||
|
~CtrlRegisterList();
|
||||||
|
|
||||||
void mouseEvent(wxMouseEvent& evt);
|
void mouseEvent(wxMouseEvent& evt);
|
||||||
void keydownEvent(wxKeyEvent& evt);
|
void keydownEvent(wxKeyEvent& evt);
|
||||||
|
|
|
@ -42,9 +42,10 @@ class BaseSavestateEntry
|
||||||
{
|
{
|
||||||
protected:
|
protected:
|
||||||
BaseSavestateEntry() {}
|
BaseSavestateEntry() {}
|
||||||
virtual ~BaseSavestateEntry() throw() {}
|
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
virtual ~BaseSavestateEntry() throw() {}
|
||||||
|
|
||||||
virtual wxString GetFilename() const=0;
|
virtual wxString GetFilename() const=0;
|
||||||
virtual void FreezeIn( pxInputStream& reader ) const=0;
|
virtual void FreezeIn( pxInputStream& reader ) const=0;
|
||||||
virtual void FreezeOut( SaveStateBase& writer ) const=0;
|
virtual void FreezeOut( SaveStateBase& writer ) const=0;
|
||||||
|
@ -142,6 +143,8 @@ void PluginSavestateEntry::FreezeOut( SaveStateBase& writer ) const
|
||||||
class SavestateEntry_EmotionMemory : public MemorySavestateEntry
|
class SavestateEntry_EmotionMemory : public MemorySavestateEntry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual ~SavestateEntry_EmotionMemory() throw() {}
|
||||||
|
|
||||||
wxString GetFilename() const { return L"eeMemory.bin"; }
|
wxString GetFilename() const { return L"eeMemory.bin"; }
|
||||||
u8* GetDataPtr() const { return eeMem->Main; }
|
u8* GetDataPtr() const { return eeMem->Main; }
|
||||||
uint GetDataSize() const { return sizeof(eeMem->Main); }
|
uint GetDataSize() const { return sizeof(eeMem->Main); }
|
||||||
|
@ -156,6 +159,8 @@ public:
|
||||||
class SavestateEntry_IopMemory : public MemorySavestateEntry
|
class SavestateEntry_IopMemory : public MemorySavestateEntry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual ~SavestateEntry_IopMemory() throw() {}
|
||||||
|
|
||||||
wxString GetFilename() const { return L"iopMemory.bin"; }
|
wxString GetFilename() const { return L"iopMemory.bin"; }
|
||||||
u8* GetDataPtr() const { return iopMem->Main; }
|
u8* GetDataPtr() const { return iopMem->Main; }
|
||||||
uint GetDataSize() const { return sizeof(iopMem->Main); }
|
uint GetDataSize() const { return sizeof(iopMem->Main); }
|
||||||
|
@ -164,6 +169,8 @@ public:
|
||||||
class SavestateEntry_HwRegs : public MemorySavestateEntry
|
class SavestateEntry_HwRegs : public MemorySavestateEntry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual ~SavestateEntry_HwRegs() throw() {}
|
||||||
|
|
||||||
wxString GetFilename() const { return L"eeHwRegs.bin"; }
|
wxString GetFilename() const { return L"eeHwRegs.bin"; }
|
||||||
u8* GetDataPtr() const { return eeHw; }
|
u8* GetDataPtr() const { return eeHw; }
|
||||||
uint GetDataSize() const { return sizeof(eeHw); }
|
uint GetDataSize() const { return sizeof(eeHw); }
|
||||||
|
@ -172,6 +179,8 @@ public:
|
||||||
class SavestateEntry_IopHwRegs : public MemorySavestateEntry
|
class SavestateEntry_IopHwRegs : public MemorySavestateEntry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual ~SavestateEntry_IopHwRegs() throw() {}
|
||||||
|
|
||||||
wxString GetFilename() const { return L"iopHwRegs.bin"; }
|
wxString GetFilename() const { return L"iopHwRegs.bin"; }
|
||||||
u8* GetDataPtr() const { return iopHw; }
|
u8* GetDataPtr() const { return iopHw; }
|
||||||
uint GetDataSize() const { return sizeof(iopHw); }
|
uint GetDataSize() const { return sizeof(iopHw); }
|
||||||
|
@ -180,6 +189,8 @@ public:
|
||||||
class SavestateEntry_Scratchpad : public MemorySavestateEntry
|
class SavestateEntry_Scratchpad : public MemorySavestateEntry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual ~SavestateEntry_Scratchpad() throw() {}
|
||||||
|
|
||||||
wxString GetFilename() const { return L"Scratchpad.bin"; }
|
wxString GetFilename() const { return L"Scratchpad.bin"; }
|
||||||
u8* GetDataPtr() const { return eeMem->Scratch; }
|
u8* GetDataPtr() const { return eeMem->Scratch; }
|
||||||
uint GetDataSize() const { return sizeof(eeMem->Scratch); }
|
uint GetDataSize() const { return sizeof(eeMem->Scratch); }
|
||||||
|
@ -188,6 +199,8 @@ public:
|
||||||
class SavestateEntry_VU0mem : public MemorySavestateEntry
|
class SavestateEntry_VU0mem : public MemorySavestateEntry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual ~SavestateEntry_VU0mem() throw() {}
|
||||||
|
|
||||||
wxString GetFilename() const { return L"vu0Memory.bin"; }
|
wxString GetFilename() const { return L"vu0Memory.bin"; }
|
||||||
u8* GetDataPtr() const { return vuRegs[0].Mem; }
|
u8* GetDataPtr() const { return vuRegs[0].Mem; }
|
||||||
uint GetDataSize() const { return VU0_MEMSIZE; }
|
uint GetDataSize() const { return VU0_MEMSIZE; }
|
||||||
|
@ -196,6 +209,8 @@ public:
|
||||||
class SavestateEntry_VU1mem : public MemorySavestateEntry
|
class SavestateEntry_VU1mem : public MemorySavestateEntry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual ~SavestateEntry_VU1mem() throw() {}
|
||||||
|
|
||||||
wxString GetFilename() const { return L"vu1Memory.bin"; }
|
wxString GetFilename() const { return L"vu1Memory.bin"; }
|
||||||
u8* GetDataPtr() const { return vuRegs[1].Mem; }
|
u8* GetDataPtr() const { return vuRegs[1].Mem; }
|
||||||
uint GetDataSize() const { return VU1_MEMSIZE; }
|
uint GetDataSize() const { return VU1_MEMSIZE; }
|
||||||
|
@ -204,6 +219,8 @@ public:
|
||||||
class SavestateEntry_VU0prog : public MemorySavestateEntry
|
class SavestateEntry_VU0prog : public MemorySavestateEntry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual ~SavestateEntry_VU0prog() throw() {}
|
||||||
|
|
||||||
wxString GetFilename() const { return L"vu0MicroMem.bin"; }
|
wxString GetFilename() const { return L"vu0MicroMem.bin"; }
|
||||||
u8* GetDataPtr() const { return vuRegs[0].Micro; }
|
u8* GetDataPtr() const { return vuRegs[0].Micro; }
|
||||||
uint GetDataSize() const { return VU0_PROGSIZE; }
|
uint GetDataSize() const { return VU0_PROGSIZE; }
|
||||||
|
@ -212,6 +229,8 @@ public:
|
||||||
class SavestateEntry_VU1prog : public MemorySavestateEntry
|
class SavestateEntry_VU1prog : public MemorySavestateEntry
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
virtual ~SavestateEntry_VU1prog() throw() {}
|
||||||
|
|
||||||
wxString GetFilename() const { return L"vu1MicroMem.bin"; }
|
wxString GetFilename() const { return L"vu1MicroMem.bin"; }
|
||||||
u8* GetDataPtr() const { return vuRegs[1].Micro; }
|
u8* GetDataPtr() const { return vuRegs[1].Micro; }
|
||||||
uint GetDataSize() const { return VU1_PROGSIZE; }
|
uint GetDataSize() const { return VU1_PROGSIZE; }
|
||||||
|
@ -227,42 +246,26 @@ public:
|
||||||
// would not be useful).
|
// would not be useful).
|
||||||
//
|
//
|
||||||
|
|
||||||
static const uint NumSavestateEntries = 9 + PluginId_Count;
|
static const std::unique_ptr<BaseSavestateEntry> SavestateEntries[] = {
|
||||||
|
std::unique_ptr<BaseSavestateEntry>(new SavestateEntry_EmotionMemory),
|
||||||
|
std::unique_ptr<BaseSavestateEntry>(new SavestateEntry_IopMemory),
|
||||||
|
std::unique_ptr<BaseSavestateEntry>(new SavestateEntry_HwRegs),
|
||||||
|
std::unique_ptr<BaseSavestateEntry>(new SavestateEntry_IopHwRegs),
|
||||||
|
std::unique_ptr<BaseSavestateEntry>(new SavestateEntry_Scratchpad),
|
||||||
|
std::unique_ptr<BaseSavestateEntry>(new SavestateEntry_VU0mem),
|
||||||
|
std::unique_ptr<BaseSavestateEntry>(new SavestateEntry_VU1mem),
|
||||||
|
std::unique_ptr<BaseSavestateEntry>(new SavestateEntry_VU0prog),
|
||||||
|
std::unique_ptr<BaseSavestateEntry>(new SavestateEntry_VU1prog),
|
||||||
|
|
||||||
class SavestateEntryPack : public ScopedAlloc<const BaseSavestateEntry*>
|
std::unique_ptr<BaseSavestateEntry>(new PluginSavestateEntry( PluginId_GS )),
|
||||||
{
|
std::unique_ptr<BaseSavestateEntry>(new PluginSavestateEntry( PluginId_PAD )),
|
||||||
typedef ScopedAlloc<const BaseSavestateEntry*> _parent;
|
std::unique_ptr<BaseSavestateEntry>(new PluginSavestateEntry( PluginId_SPU2 )),
|
||||||
|
std::unique_ptr<BaseSavestateEntry>(new PluginSavestateEntry( PluginId_CDVD )),
|
||||||
public:
|
std::unique_ptr<BaseSavestateEntry>(new PluginSavestateEntry( PluginId_USB )),
|
||||||
SavestateEntryPack()
|
std::unique_ptr<BaseSavestateEntry>(new PluginSavestateEntry( PluginId_FW )),
|
||||||
: _parent( NumSavestateEntries )
|
std::unique_ptr<BaseSavestateEntry>(new PluginSavestateEntry( PluginId_DEV9 ))
|
||||||
{
|
|
||||||
uint i = 0; // more convenient in case we re-arrange anything...
|
|
||||||
|
|
||||||
this->operator[](i++) = new SavestateEntry_EmotionMemory;
|
|
||||||
this->operator[](i++) = new SavestateEntry_IopMemory;
|
|
||||||
this->operator[](i++) = new SavestateEntry_HwRegs;
|
|
||||||
this->operator[](i++) = new SavestateEntry_IopHwRegs;
|
|
||||||
this->operator[](i++) = new SavestateEntry_Scratchpad;
|
|
||||||
this->operator[](i++) = new SavestateEntry_VU0mem;
|
|
||||||
this->operator[](i++) = new SavestateEntry_VU1mem;
|
|
||||||
this->operator[](i++) = new SavestateEntry_VU0prog;
|
|
||||||
this->operator[](i++) = new SavestateEntry_VU1prog;
|
|
||||||
|
|
||||||
this->operator[](i++) = new PluginSavestateEntry( PluginId_GS );
|
|
||||||
this->operator[](i++) = new PluginSavestateEntry( PluginId_PAD );
|
|
||||||
this->operator[](i++) = new PluginSavestateEntry( PluginId_SPU2 );
|
|
||||||
this->operator[](i++) = new PluginSavestateEntry( PluginId_CDVD );
|
|
||||||
this->operator[](i++) = new PluginSavestateEntry( PluginId_USB );
|
|
||||||
this->operator[](i++) = new PluginSavestateEntry( PluginId_FW );
|
|
||||||
this->operator[](i++) = new PluginSavestateEntry( PluginId_DEV9 );
|
|
||||||
}
|
|
||||||
|
|
||||||
using _parent::operator[];
|
|
||||||
};
|
};
|
||||||
|
|
||||||
static const SavestateEntryPack SavestateEntries;
|
|
||||||
|
|
||||||
// It's bad mojo to have savestates trying to read and write from the same file at the
|
// It's bad mojo to have savestates trying to read and write from the same file at the
|
||||||
// same time. To prevent that we use this mutex lock, which is used by both the
|
// same time. To prevent that we use this mutex lock, which is used by both the
|
||||||
// CompressThread and the UnzipFromDisk events. (note that CompressThread locks the
|
// CompressThread and the UnzipFromDisk events. (note that CompressThread locks the
|
||||||
|
@ -336,7 +339,7 @@ protected:
|
||||||
internals.SetDataSize( saveme.GetCurrentPos() - internals.GetDataIndex() );
|
internals.SetDataSize( saveme.GetCurrentPos() - internals.GetDataIndex() );
|
||||||
m_dest_list->Add( internals );
|
m_dest_list->Add( internals );
|
||||||
|
|
||||||
for (uint i=0; i<SavestateEntries.GetSize(); ++i)
|
for (uint i=0; i<ArraySize(SavestateEntries); ++i)
|
||||||
{
|
{
|
||||||
uint startpos = saveme.GetCurrentPos();
|
uint startpos = saveme.GetCurrentPos();
|
||||||
SavestateEntries[i]->FreezeOut( saveme );
|
SavestateEntries[i]->FreezeOut( saveme );
|
||||||
|
@ -527,10 +530,10 @@ protected:
|
||||||
|
|
||||||
bool foundVersion = false;
|
bool foundVersion = false;
|
||||||
//bool foundScreenshot = false;
|
//bool foundScreenshot = false;
|
||||||
//bool foundEntry[numSavestateEntries] = false;
|
//bool foundEntry[ArraySize(SavestateEntries)] = false;
|
||||||
|
|
||||||
std::unique_ptr<wxZipEntry> foundInternal;
|
std::unique_ptr<wxZipEntry> foundInternal;
|
||||||
std::unique_ptr<wxZipEntry> foundEntry[NumSavestateEntries];
|
std::unique_ptr<wxZipEntry> foundEntry[ArraySize(SavestateEntries)];
|
||||||
|
|
||||||
while(true)
|
while(true)
|
||||||
{
|
{
|
||||||
|
@ -561,7 +564,7 @@ protected:
|
||||||
foundScreenshot = true;
|
foundScreenshot = true;
|
||||||
}*/
|
}*/
|
||||||
|
|
||||||
for (uint i=0; i<NumSavestateEntries; ++i)
|
for (uint i=0; i<ArraySize(SavestateEntries); ++i)
|
||||||
{
|
{
|
||||||
if (entry->GetName().CmpNoCase(SavestateEntries[i]->GetFilename()) == 0)
|
if (entry->GetName().CmpNoCase(SavestateEntries[i]->GetFilename()) == 0)
|
||||||
{
|
{
|
||||||
|
@ -582,7 +585,7 @@ protected:
|
||||||
|
|
||||||
// Log any parts and pieces that are missing, and then generate an exception.
|
// Log any parts and pieces that are missing, and then generate an exception.
|
||||||
bool throwIt = false;
|
bool throwIt = false;
|
||||||
for (uint i=0; i<NumSavestateEntries; ++i)
|
for (uint i=0; i<ArraySize(SavestateEntries); ++i)
|
||||||
{
|
{
|
||||||
if (foundEntry[i]) continue;
|
if (foundEntry[i]) continue;
|
||||||
|
|
||||||
|
@ -604,7 +607,7 @@ protected:
|
||||||
GetCoreThread().Pause();
|
GetCoreThread().Pause();
|
||||||
SysClearExecutionCache();
|
SysClearExecutionCache();
|
||||||
|
|
||||||
for (uint i=0; i<NumSavestateEntries; ++i)
|
for (uint i=0; i<ArraySize(SavestateEntries); ++i)
|
||||||
{
|
{
|
||||||
if (!foundEntry[i]) continue;
|
if (!foundEntry[i]) continue;
|
||||||
|
|
||||||
|
|
|
@ -138,6 +138,10 @@ GSDeviceOGL::~GSDeviceOGL()
|
||||||
// Must be done after the destruction of all shader/program objects
|
// Must be done after the destruction of all shader/program objects
|
||||||
delete m_shader;
|
delete m_shader;
|
||||||
m_shader = NULL;
|
m_shader = NULL;
|
||||||
|
|
||||||
|
// Purge any pending message to reduce noise in Valgrind (potential memory leak
|
||||||
|
// in Mesa driver that doesn't free internal buffer when the context is destroyed)
|
||||||
|
CheckDebugLog();
|
||||||
}
|
}
|
||||||
|
|
||||||
void GSDeviceOGL::GenerateProfilerData()
|
void GSDeviceOGL::GenerateProfilerData()
|
||||||
|
|
|
@ -203,6 +203,7 @@ public:
|
||||||
FogColor_AREF = GSVector4::zero();
|
FogColor_AREF = GSVector4::zero();
|
||||||
HalfTexel = GSVector4::zero();
|
HalfTexel = GSVector4::zero();
|
||||||
WH = GSVector4::zero();
|
WH = GSVector4::zero();
|
||||||
|
TA_Af = GSVector4::zero();
|
||||||
MinMax = GSVector4::zero();
|
MinMax = GSVector4::zero();
|
||||||
MskFix = GSVector4i::zero();
|
MskFix = GSVector4i::zero();
|
||||||
TC_OH_TS = GSVector4::zero();
|
TC_OH_TS = GSVector4::zero();
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#include "GamepadConfiguration.h"
|
#include "GamepadConfiguration.h"
|
||||||
|
|
||||||
// Construtor of GamepadConfiguration
|
// Construtor of GamepadConfiguration
|
||||||
GamepadConfiguration::GamepadConfiguration(int pad, wxWindow *parent) : wxFrame(
|
GamepadConfiguration::GamepadConfiguration(int pad, wxWindow *parent) : wxDialog(
|
||||||
parent, // Parent
|
parent, // Parent
|
||||||
wxID_ANY, // ID
|
wxID_ANY, // ID
|
||||||
_T("Gamepad configuration"), // Title
|
_T("Gamepad configuration"), // Title
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
#include "keyboard.h"
|
#include "keyboard.h"
|
||||||
#include "onepad.h"
|
#include "onepad.h"
|
||||||
|
|
||||||
class GamepadConfiguration : public wxFrame
|
class GamepadConfiguration : public wxDialog
|
||||||
{
|
{
|
||||||
wxPanel* m_pan_gamepad_config;
|
wxPanel* m_pan_gamepad_config;
|
||||||
wxCheckBox *m_cb_rumble, *m_cb_hack_sixaxis_usb, *m_cb_hack_sixaxis_pressure;
|
wxCheckBox *m_cb_rumble, *m_cb_hack_sixaxis_usb, *m_cb_hack_sixaxis_pressure;
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#include "JoystickConfiguration.h"
|
#include "JoystickConfiguration.h"
|
||||||
|
|
||||||
// Construtor of JoystickConfiguration
|
// Construtor of JoystickConfiguration
|
||||||
JoystickConfiguration::JoystickConfiguration(int pad, bool left, wxWindow *parent) : wxFrame(
|
JoystickConfiguration::JoystickConfiguration(int pad, bool left, wxWindow *parent) : wxDialog(
|
||||||
parent, // Parent
|
parent, // Parent
|
||||||
wxID_ANY, // ID
|
wxID_ANY, // ID
|
||||||
_T("Gamepad configuration"), // Title
|
_T("Gamepad configuration"), // Title
|
||||||
|
|
|
@ -32,7 +32,7 @@
|
||||||
#include "keyboard.h"
|
#include "keyboard.h"
|
||||||
#include "onepad.h"
|
#include "onepad.h"
|
||||||
|
|
||||||
class JoystickConfiguration : public wxFrame
|
class JoystickConfiguration : public wxDialog
|
||||||
{
|
{
|
||||||
wxPanel* m_pan_joystick_config;
|
wxPanel* m_pan_joystick_config;
|
||||||
wxCheckBox *m_cb_reverse_Lx, *m_cb_reverse_Ly, *m_cb_reverse_Rx, *m_cb_reverse_Ry,
|
wxCheckBox *m_cb_reverse_Lx, *m_cb_reverse_Ly, *m_cb_reverse_Rx, *m_cb_reverse_Ry,
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
#include "dialog.h"
|
#include "dialog.h"
|
||||||
|
|
||||||
// Construtor of Dialog
|
// Construtor of Dialog
|
||||||
Dialog::Dialog() : wxFrame( NULL, // Parent
|
Dialog::Dialog() : wxDialog( NULL, // Parent
|
||||||
wxID_ANY, // ID
|
wxID_ANY, // ID
|
||||||
_T("OnePad configuration"), // Title
|
_T("OnePad configuration"), // Title
|
||||||
wxDefaultPosition, // Position
|
wxDefaultPosition, // Position
|
||||||
|
@ -320,21 +320,24 @@ void Dialog::OnButtonClicked(wxCommandEvent &event)
|
||||||
}
|
}
|
||||||
else if(bt_id == Gamepad_config) // If the button ID is equals to the Gamepad_config button ID
|
else if(bt_id == Gamepad_config) // If the button ID is equals to the Gamepad_config button ID
|
||||||
{
|
{
|
||||||
m_frm_gamepad_config = new GamepadConfiguration(gamepad_id, this);
|
GamepadConfiguration gamepad_config(gamepad_id, this);
|
||||||
m_frm_gamepad_config->InitGamepadConfiguration();
|
|
||||||
m_frm_gamepad_config->Show(true);
|
gamepad_config.InitGamepadConfiguration();
|
||||||
|
gamepad_config.ShowModal();
|
||||||
}
|
}
|
||||||
else if(bt_id == JoyL_config) // If the button ID is equals to the JoyL_config button ID
|
else if(bt_id == JoyL_config) // If the button ID is equals to the JoyL_config button ID
|
||||||
{
|
{
|
||||||
m_frm_joystick_config = new JoystickConfiguration(gamepad_id, true, this);
|
JoystickConfiguration joystick_config(gamepad_id, true, this);
|
||||||
m_frm_joystick_config->InitJoystickConfiguration();
|
|
||||||
m_frm_joystick_config->Show(true);
|
joystick_config.InitJoystickConfiguration();
|
||||||
|
joystick_config.ShowModal();
|
||||||
}
|
}
|
||||||
else if(bt_id == JoyR_config) // If the button ID is equals to the JoyR_config button ID
|
else if(bt_id == JoyR_config) // If the button ID is equals to the JoyR_config button ID
|
||||||
{
|
{
|
||||||
m_frm_joystick_config = new JoystickConfiguration(gamepad_id, false, this);
|
JoystickConfiguration joystick_config(gamepad_id, false, this);
|
||||||
m_frm_joystick_config->InitJoystickConfiguration();
|
|
||||||
m_frm_joystick_config->Show(true);
|
joystick_config.InitJoystickConfiguration();
|
||||||
|
joystick_config.ShowModal();
|
||||||
}
|
}
|
||||||
else if(bt_id == Set_all) // If the button ID is equals to the Set_all button ID
|
else if(bt_id == Set_all) // If the button ID is equals to the Set_all button ID
|
||||||
{
|
{
|
||||||
|
@ -696,7 +699,8 @@ void Dialog::repopulate()
|
||||||
// Main
|
// Main
|
||||||
void DisplayDialog()
|
void DisplayDialog()
|
||||||
{
|
{
|
||||||
Dialog* dialog = new Dialog();
|
Dialog dialog;
|
||||||
dialog->InitDialog();
|
|
||||||
dialog->Show(true);
|
dialog.InitDialog();
|
||||||
|
dialog.ShowModal();
|
||||||
}
|
}
|
||||||
|
|
|
@ -63,7 +63,7 @@ enum gui_buttons {
|
||||||
#define DEFAULT_WIDTH 1000
|
#define DEFAULT_WIDTH 1000
|
||||||
#define DEFAULT_HEIGHT 740
|
#define DEFAULT_HEIGHT 740
|
||||||
|
|
||||||
class Dialog : public wxFrame
|
class Dialog : public wxDialog
|
||||||
{
|
{
|
||||||
// Panels
|
// Panels
|
||||||
opPanel* m_pan_tabs[GAMEPAD_NUMBER]; // Gamepad Tabs box
|
opPanel* m_pan_tabs[GAMEPAD_NUMBER]; // Gamepad Tabs box
|
||||||
|
@ -80,10 +80,6 @@ class Dialog : public wxFrame
|
||||||
// Map the key pressed with the feedback image id
|
// Map the key pressed with the feedback image id
|
||||||
std::map<u32,int> m_map_images[GAMEPAD_NUMBER];
|
std::map<u32,int> m_map_images[GAMEPAD_NUMBER];
|
||||||
|
|
||||||
// Frame
|
|
||||||
GamepadConfiguration* m_frm_gamepad_config; // Gamepad Configuration frame
|
|
||||||
JoystickConfiguration* m_frm_joystick_config; // Joystick Configuration frame
|
|
||||||
|
|
||||||
// methods
|
// methods
|
||||||
void config_key(int, int);
|
void config_key(int, int);
|
||||||
void clear_key(int, int);
|
void clear_key(int, int);
|
||||||
|
|
Loading…
Reference in New Issue