More features/fixes for the TAS Input plugin. Buttons added to window and input is restricted to the 1st controller only (until multicontroller support is added). Fixed bug with sliders not appearing correctly on Linux.

git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@7643 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
baby.lueshi
2011-06-27 19:44:27 +00:00
parent f95bcfc1c2
commit 4e6d9f930b
2 changed files with 452 additions and 299 deletions

View File

@ -1,69 +1,82 @@
// Copyright (C) 2011 Dolphin Project.
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, version 2.0.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __TASINPUT_H__
#define __TASINPUT_H__
#include <wx/wx.h>
#include "Common.h"
#include "CoreParameter.h"
#include "../../InputCommon/Src/GCPadStatus.h"
class TASInputDlg : public wxDialog
{
public:
TASInputDlg(wxWindow *parent,
wxWindowID id = 1,
const wxString &title = _("TAS Input"),
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_DIALOG_STYLE | wxSTAY_ON_TOP);
void OnCloseWindow(wxCloseEvent& event);
void UpdateFromSliders(wxCommandEvent& event);
void UpdateFromText(wxCommandEvent& event);
void ResetValues();
void GetValues(SPADStatus *PadStatus, int controllerID);
private:
u8 mainX, mainY, cX, cY, lTrig, rTrig;
enum
{
ID_MAIN_X_SLIDER = 1000,
ID_MAIN_X_TEXT,
ID_MAIN_Y_SLIDER,
ID_MAIN_Y_TEXT,
ID_C_X_SLIDER,
ID_C_X_TEXT,
ID_C_Y_SLIDER,
ID_C_Y_TEXT,
ID_L_SLIDER,
ID_L_TEXT,
ID_R_SLIDER,
ID_R_TEXT,
ID_CLOSE,
};
wxSlider *wx_mainX_s, *wx_mainY_s, *wx_cX_s, *wx_cY_s, *wx_l_s, *wx_r_s;
wxTextCtrl *wx_mainX_t, *wx_mainY_t, *wx_cX_t, *wx_cY_t, *wx_l_t, *wx_r_t;
DECLARE_EVENT_TABLE();
};
#endif
// Copyright (C) 2011 Dolphin Project.
// This program is free software: you can redistribute it and/or modify
// it under the terms of the GNU General Public License as published by
// the Free Software Foundation, version 2.0.
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License 2.0 for more details.
// A copy of the GPL 2.0 should have been included with the program.
// If not, see http://www.gnu.org/licenses/
// Official SVN repository and contact information can be found at
// http://code.google.com/p/dolphin-emu/
#ifndef __TASINPUT_H__
#define __TASINPUT_H__
#include <wx/wx.h>
#include "Common.h"
#include "CoreParameter.h"
#include "../../InputCommon/Src/GCPadStatus.h"
class TASInputDlg : public wxDialog
{
public:
TASInputDlg(wxWindow *parent,
wxWindowID id = 1,
const wxString &title = _("TAS Input"),
const wxPoint& pos = wxDefaultPosition,
const wxSize& size = wxDefaultSize,
long style = wxDEFAULT_DIALOG_STYLE | wxSTAY_ON_TOP);
void OnCloseWindow(wxCloseEvent& event);
void UpdateFromSliders(wxCommandEvent& event);
void UpdateFromText(wxCommandEvent& event);
void ResetValues();
void GetValues(SPADStatus *PadStatus, int controllerID);
private:
u8 mainX, mainY, cX, cY, lTrig, rTrig;
enum
{
ID_MAIN_X_SLIDER = 1000,
ID_MAIN_X_TEXT,
ID_MAIN_Y_SLIDER,
ID_MAIN_Y_TEXT,
ID_C_X_SLIDER,
ID_C_X_TEXT,
ID_C_Y_SLIDER,
ID_C_Y_TEXT,
ID_L_SLIDER,
ID_L_TEXT,
ID_R_SLIDER,
ID_R_TEXT,
ID_CLOSE,
ID_UP,
ID_DOWN,
ID_LEFT,
ID_RIGHT,
ID_A,
ID_B,
ID_X,
ID_Y,
ID_Z,
ID_L,
ID_R,
ID_START,
};
wxSlider *wx_mainX_s, *wx_mainY_s, *wx_cX_s, *wx_cY_s, *wx_l_s, *wx_r_s;
wxCheckBox *wx_up_button, *wx_down_button, *wx_left_button, *wx_right_button, *wx_a_button, *wx_b_button, *wx_x_button, *wx_y_button, *wx_l_button, *wx_r_button, *wx_z_button, *wx_start_button;
wxTextCtrl *wx_mainX_t, *wx_mainY_t, *wx_cX_t, *wx_cY_t, *wx_l_t, *wx_r_t;
DECLARE_EVENT_TABLE();
};
#endif