nsyshid: Emulate Infinity Base (#1246)

This commit is contained in:
Joshua de Reeper 2024-07-23 02:18:48 +01:00 committed by GitHub
parent 64232ffdbd
commit a1c1a608d7
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
10 changed files with 1478 additions and 22 deletions

View file

@ -5,6 +5,7 @@
#include <wx/dialog.h>
#include <wx/frame.h>
#include "Cafe/OS/libs/nsyshid/Infinity.h"
#include "Cafe/OS/libs/nsyshid/Skylander.h"
class wxBoxSizer;
@ -23,15 +24,23 @@ class EmulatedUSBDeviceFrame : public wxFrame {
private:
wxCheckBox* m_emulatePortal;
wxCheckBox* m_emulateBase;
std::array<wxTextCtrl*, nsyshid::MAX_SKYLANDERS> m_skylanderSlots;
std::array<wxTextCtrl*, nsyshid::MAX_FIGURES> m_infinitySlots;
std::array<std::optional<std::tuple<uint8, uint16, uint16>>, nsyshid::MAX_SKYLANDERS> m_skySlots;
wxPanel* AddSkylanderPage(wxNotebook* notebook);
wxPanel* AddInfinityPage(wxNotebook* notebook);
wxBoxSizer* AddSkylanderRow(uint8 row_number, wxStaticBox* box);
wxBoxSizer* AddInfinityRow(wxString name, uint8 row_number, wxStaticBox* box);
void LoadSkylander(uint8 slot);
void LoadSkylanderPath(uint8 slot, wxString path);
void CreateSkylander(uint8 slot);
void ClearSkylander(uint8 slot);
void LoadFigure(uint8 slot);
void LoadFigurePath(uint8 slot, wxString path);
void CreateFigure(uint8 slot);
void ClearFigure(uint8 slot);
void UpdateSkylanderEdits();
};
class CreateSkylanderDialog : public wxDialog {
@ -39,6 +48,15 @@ class CreateSkylanderDialog : public wxDialog {
explicit CreateSkylanderDialog(wxWindow* parent, uint8 slot);
wxString GetFilePath() const;
protected:
wxString m_filePath;
};
class CreateInfinityFigureDialog : public wxDialog {
public:
explicit CreateInfinityFigureDialog(wxWindow* parent, uint8 slot);
wxString GetFilePath() const;
protected:
wxString m_filePath;
};