mirror of
https://github.com/cemu-project/Cemu.git
synced 2025-07-06 06:51:18 +12:00
nsyshid: Add infrastructure and support for emulating Skylander Portal (#971)
This commit is contained in:
parent
f3d20832c1
commit
93b58ae6f7
19 changed files with 1658 additions and 58 deletions
42
src/gui/EmulatedUSBDevices/EmulatedUSBDeviceFrame.h
Normal file
42
src/gui/EmulatedUSBDevices/EmulatedUSBDeviceFrame.h
Normal file
|
@ -0,0 +1,42 @@
|
|||
#pragma once
|
||||
|
||||
#include <array>
|
||||
|
||||
#include <wx/dialog.h>
|
||||
#include <wx/frame.h>
|
||||
|
||||
class wxBoxSizer;
|
||||
class wxCheckBox;
|
||||
class wxFlexGridSizer;
|
||||
class wxNotebook;
|
||||
class wxPanel;
|
||||
class wxStaticBox;
|
||||
class wxString;
|
||||
class wxTextCtrl;
|
||||
|
||||
class EmulatedUSBDeviceFrame : public wxFrame {
|
||||
public:
|
||||
EmulatedUSBDeviceFrame(wxWindow* parent);
|
||||
~EmulatedUSBDeviceFrame();
|
||||
|
||||
private:
|
||||
wxCheckBox* m_emulatePortal;
|
||||
std::array<wxTextCtrl*, 16> m_skylanderSlots;
|
||||
std::array<std::optional<std::tuple<uint8, uint16, uint16>>, 16> m_skySlots;
|
||||
|
||||
wxPanel* AddSkylanderPage(wxNotebook* notebook);
|
||||
wxBoxSizer* AddSkylanderRow(uint8 row_number, wxStaticBox* box);
|
||||
void LoadSkylander(uint8 slot);
|
||||
void LoadSkylanderPath(uint8 slot, wxString path);
|
||||
void CreateSkylander(uint8 slot);
|
||||
void ClearSkylander(uint8 slot);
|
||||
void UpdateSkylanderEdits();
|
||||
};
|
||||
class CreateSkylanderDialog : public wxDialog {
|
||||
public:
|
||||
explicit CreateSkylanderDialog(wxWindow* parent, uint8 slot);
|
||||
wxString GetFilePath() const;
|
||||
|
||||
protected:
|
||||
wxString m_filePath;
|
||||
};
|
Loading…
Add table
Add a link
Reference in a new issue