@@ -295,32 +295,6 @@ wxWindow* InputSettings2::initialize_page(size_t index)
295
295
return page;
296
296
}
297
297
298
- std::pair<size_t , size_t > InputSettings2::get_emulated_controller_types () const
299
- {
300
- size_t vpad = 0 , wpad = 0 ;
301
- for (size_t i = 0 ; i < m_notebook->GetPageCount (); ++i)
302
- {
303
- auto * page = m_notebook->GetPage (i);
304
- auto * page_data = (wxControllerPageData*)page->GetClientObject ();
305
- if (!page_data)
306
- continue ;
307
-
308
- if (!page_data->ref ().m_controller ) // = disabled
309
- continue ;
310
-
311
- const auto api_type = page_data->ref ().m_controller ->type ();
312
- if (api_type)
313
- continue ;
314
-
315
- if (api_type == EmulatedController::VPAD)
316
- ++vpad;
317
- else
318
- ++wpad;
319
- }
320
-
321
- return std::make_pair (vpad, wpad);
322
- }
323
-
324
298
std::shared_ptr<ControllerBase> InputSettings2::get_active_controller () const
325
299
{
326
300
auto & page_data = get_current_page_data ();
@@ -771,22 +745,24 @@ void InputSettings2::on_emulated_controller_dropdown(wxCommandEvent& event)
771
745
wxWindowUpdateLocker lock (emulated_controllers);
772
746
773
747
bool is_gamepad_selected = false ;
748
+ bool is_wpad_selected = false ;
774
749
const auto selected = emulated_controllers->GetSelection ();
775
750
const auto selected_value = emulated_controllers->GetStringSelection ();
776
751
if (selected != wxNOT_FOUND)
777
752
{
778
753
is_gamepad_selected = selected_value == to_wxString (EmulatedController::type_to_string (EmulatedController::Type::VPAD));
754
+ is_wpad_selected = !is_gamepad_selected && selected != 0 ;
779
755
}
780
756
781
- const auto [vpad_count, wpad_count] = get_emulated_controller_types ();
757
+ const auto [vpad_count, wpad_count] = InputManager::instance (). get_controller_count ();
782
758
783
759
emulated_controllers->Clear ();
784
760
emulated_controllers->AppendString (_ (" Disabled" ));
785
761
786
762
if (vpad_count < InputManager::kMaxVPADControllers || is_gamepad_selected)
787
763
emulated_controllers->Append (to_wxString (EmulatedController::type_to_string (EmulatedController::Type::VPAD)));
788
764
789
- if (wpad_count < InputManager::kMaxWPADControllers || !is_gamepad_selected )
765
+ if (wpad_count < InputManager::kMaxWPADControllers || is_wpad_selected )
790
766
{
791
767
emulated_controllers->AppendString (to_wxString (EmulatedController::type_to_string (EmulatedController::Type::Pro)));
792
768
emulated_controllers->AppendString (to_wxString (EmulatedController::type_to_string (EmulatedController::Type::Classic)));
0 commit comments