mirror of
https://github.com/dolphin-emu/dolphin.git
synced 2025-07-23 06:09:50 -06:00
WiimoteNew: Added button mappings for tables and crossfade slider on emulated turntable extension.(completely untested in game)
git-svn-id: https://dolphin-emu.googlecode.com/svn/trunk@6260 8ced0084-cf51-0410-be5f-012b33b47a6e
This commit is contained in:
@ -788,14 +788,17 @@ ControlGroupBox::ControlGroupBox( ControllerEmu::ControlGroup* const group, wxWi
|
||||
break;
|
||||
case GROUP_TYPE_MIXED_TRIGGERS:
|
||||
case GROUP_TYPE_TRIGGERS:
|
||||
case GROUP_TYPE_SLIDER:
|
||||
{
|
||||
int height = (int)(6 * group->controls.size());
|
||||
int width = 64+12+1;
|
||||
if (GROUP_TYPE_TRIGGERS == group->type)
|
||||
{
|
||||
height *= 2;
|
||||
width = 64;
|
||||
}
|
||||
int height = (int)(12 * group->controls.size());
|
||||
int width = 64;
|
||||
|
||||
if (GROUP_TYPE_MIXED_TRIGGERS == group->type)
|
||||
width = 64+12+1;
|
||||
|
||||
if (GROUP_TYPE_TRIGGERS != group->type)
|
||||
height /= 2;
|
||||
|
||||
wxBitmap bitmap(width, height+1);
|
||||
dc.SelectObject(bitmap);
|
||||
dc.Clear();
|
||||
@ -867,19 +870,24 @@ ControlGroupBox::ControlGroupBox( ControllerEmu::ControlGroup* const group, wxWi
|
||||
ControlGroupsSizer::ControlGroupsSizer( ControllerEmu* const controller, wxWindow* const parent, wxWindow* const eventsink, std::vector<ControlGroupBox*>* groups )
|
||||
: wxBoxSizer( wxHORIZONTAL )
|
||||
{
|
||||
size_t col_size = 0;
|
||||
|
||||
wxBoxSizer* stacked_groups = NULL;
|
||||
for ( unsigned int i = 0; i < controller->groups.size(); ++i )
|
||||
{
|
||||
ControlGroupBox* control_group = new ControlGroupBox( controller->groups[i], parent, eventsink );
|
||||
|
||||
if ( control_group->control_buttons.size() > 1 )
|
||||
const size_t grp_size = controller->groups[i]->controls.size() + controller->groups[i]->settings.size();
|
||||
col_size += grp_size;
|
||||
if (col_size > 8 || NULL == stacked_groups)
|
||||
{
|
||||
if ( stacked_groups )
|
||||
Add( stacked_groups, 0, /*wxEXPAND|*/wxBOTTOM|wxRIGHT, 5 );
|
||||
|
||||
stacked_groups = new wxBoxSizer( wxVERTICAL );
|
||||
stacked_groups->Add( control_group, 0, wxEXPAND );
|
||||
|
||||
col_size = grp_size;
|
||||
}
|
||||
else
|
||||
stacked_groups->Add( control_group, 0, wxEXPAND );
|
||||
@ -890,7 +898,6 @@ ControlGroupsSizer::ControlGroupsSizer( ControllerEmu* const controller, wxWindo
|
||||
|
||||
if ( stacked_groups )
|
||||
Add( stacked_groups, 0, /*wxEXPAND|*/wxBOTTOM|wxRIGHT, 5 );
|
||||
|
||||
}
|
||||
|
||||
GamepadPage::GamepadPage( wxWindow* parent, InputPlugin& plugin, const unsigned int pad_num, InputConfigDialog* const config_dialog )
|
||||
|
@ -308,6 +308,29 @@ void InputConfigDialog::UpdateBitmaps(wxTimerEvent& WXUNUSED(event))
|
||||
|
||||
}
|
||||
break;
|
||||
case GROUP_TYPE_SLIDER:
|
||||
{
|
||||
const ControlState deadzone = (*g)->control_group->settings[0]->value;
|
||||
|
||||
ControlState state = (*g)->control_group->controls[1]->control_ref->State() - (*g)->control_group->controls[0]->control_ref->State();
|
||||
dc.SetPen(*wxGREY_PEN);
|
||||
dc.SetBrush(*wxGREY_BRUSH);
|
||||
dc.DrawRectangle(31 + state * 30, 0, 2, 14);
|
||||
|
||||
((ControllerEmu::Slider*)(*g)->control_group)->GetState(&state, 1);
|
||||
if (state)
|
||||
{
|
||||
dc.SetPen(*wxRED_PEN);
|
||||
dc.SetBrush(*wxRED_BRUSH);
|
||||
dc.DrawRectangle(31 + state * 30, 0, 2, 14);
|
||||
}
|
||||
|
||||
// deadzone box
|
||||
dc.SetPen(*wxLIGHT_GREY_PEN);
|
||||
dc.SetBrush(*wxTRANSPARENT_BRUSH);
|
||||
dc.DrawRectangle(32 - deadzone * 32, 0, deadzone * 64, 14);
|
||||
}
|
||||
break;
|
||||
default :
|
||||
break;
|
||||
}
|
||||
|
Reference in New Issue
Block a user