From 0248614add99c1df1bc7c9ff97091f678ff75aca Mon Sep 17 00:00:00 2001 From: Ameer Date: Sun, 21 Jun 2020 12:36:28 -0400 Subject: GC Adapter Implementation --- src/input_common/main.cpp | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'src/input_common/main.cpp') diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp index 95e351e24..be13129af 100644 --- a/src/input_common/main.cpp +++ b/src/input_common/main.cpp @@ -4,8 +4,11 @@ #include #include +#include +#include #include "common/param_package.h" #include "input_common/analog_from_button.h" +#include "input_common/gcadapter/gc_poller.h" #include "input_common/keyboard.h" #include "input_common/main.h" #include "input_common/motion_emu.h" @@ -22,8 +25,15 @@ static std::shared_ptr motion_emu; static std::unique_ptr sdl; #endif static std::unique_ptr udp; +static std::shared_ptr gcbuttons; +static std::shared_ptr gcanalog; void Init() { + gcbuttons = std::make_shared(); + Input::RegisterFactory("gcpad", gcbuttons); + gcanalog = std::make_shared(); + Input::RegisterFactory("gcpad", gcanalog); + keyboard = std::make_shared(); Input::RegisterFactory("keyboard", keyboard); Input::RegisterFactory("analog_from_button", @@ -34,8 +44,10 @@ void Init() { #ifdef HAVE_SDL2 sdl = SDL::Init(); #endif + /* udp = CemuhookUDP::Init(); + */ } void Shutdown() { @@ -48,6 +60,8 @@ void Shutdown() { sdl.reset(); #endif udp.reset(); + Input::UnregisterFactory("gcpad"); + gcbuttons.reset(); } Keyboard* GetKeyboard() { @@ -58,6 +72,14 @@ MotionEmu* GetMotionEmu() { return motion_emu.get(); } +GCButtonFactory* GetGCButtons() { + return gcbuttons.get(); +} + +GCAnalogFactory* GetGCAnalogs() { + return gcanalog.get(); +} + std::string GenerateKeyboardParam(int key_code) { Common::ParamPackage param{ {"engine", "keyboard"}, @@ -88,7 +110,6 @@ std::vector> GetPollers(DeviceType type) { #ifdef HAVE_SDL2 pollers = sdl->GetPollers(type); #endif - return pollers; } -- cgit v1.2.3 From 0076a08d04017036b12405bfb933fa9272f8b0cd Mon Sep 17 00:00:00 2001 From: Ameer Date: Sun, 21 Jun 2020 13:02:43 -0400 Subject: Cleanup after linter --- src/input_common/main.cpp | 4 ---- 1 file changed, 4 deletions(-) (limited to 'src/input_common/main.cpp') diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp index be13129af..7fc0e2db4 100644 --- a/src/input_common/main.cpp +++ b/src/input_common/main.cpp @@ -5,7 +5,6 @@ #include #include #include -#include #include "common/param_package.h" #include "input_common/analog_from_button.h" #include "input_common/gcadapter/gc_poller.h" @@ -44,10 +43,7 @@ void Init() { #ifdef HAVE_SDL2 sdl = SDL::Init(); #endif - /* - udp = CemuhookUDP::Init(); - */ } void Shutdown() { -- cgit v1.2.3 From 121af3646dad0f80453d2ffffa688dd4435d3acc Mon Sep 17 00:00:00 2001 From: Ameer Date: Sun, 21 Jun 2020 18:43:01 -0400 Subject: Singleton GC Adapter class, remove globals, fix naming convention Fix clang formatting Manual fix for configure_input_player formatting Add missing lib usb cmake command --- src/input_common/main.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/input_common/main.cpp') diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp index 7fc0e2db4..536e5c80a 100644 --- a/src/input_common/main.cpp +++ b/src/input_common/main.cpp @@ -2,11 +2,13 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. +#include #include #include #include #include "common/param_package.h" #include "input_common/analog_from_button.h" +#include "input_common/gcadapter/gc_adapter.h" #include "input_common/gcadapter/gc_poller.h" #include "input_common/keyboard.h" #include "input_common/main.h" -- cgit v1.2.3 From 968d631aa59a0a4e51e219eaa143d2b95593c3e7 Mon Sep 17 00:00:00 2001 From: Ameer Date: Sun, 21 Jun 2020 21:15:58 -0400 Subject: std::arrays where appropriate, clear q in adapter class, other touch ups --- src/input_common/main.cpp | 1 - 1 file changed, 1 deletion(-) (limited to 'src/input_common/main.cpp') diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp index 536e5c80a..89dddf7cf 100644 --- a/src/input_common/main.cpp +++ b/src/input_common/main.cpp @@ -2,7 +2,6 @@ // Licensed under GPLv2 or any later version // Refer to the license.txt file included. -#include #include #include #include -- cgit v1.2.3 From 46b4461fbb0514dd50c096ef896b1752d81079d0 Mon Sep 17 00:00:00 2001 From: Ameer Date: Sun, 21 Jun 2020 21:50:58 -0400 Subject: shared_ptr for the GC adapter class, constexpr constants --- src/input_common/main.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'src/input_common/main.cpp') diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp index 89dddf7cf..fc399db7e 100644 --- a/src/input_common/main.cpp +++ b/src/input_common/main.cpp @@ -25,13 +25,15 @@ static std::shared_ptr motion_emu; static std::unique_ptr sdl; #endif static std::unique_ptr udp; +static std::shared_ptr gcadapter; static std::shared_ptr gcbuttons; static std::shared_ptr gcanalog; void Init() { - gcbuttons = std::make_shared(); + gcadapter = std::make_shared(); + gcbuttons = std::make_shared(gcadapter); Input::RegisterFactory("gcpad", gcbuttons); - gcanalog = std::make_shared(); + gcanalog = std::make_shared(gcadapter); Input::RegisterFactory("gcpad", gcanalog); keyboard = std::make_shared(); -- cgit v1.2.3 From 28046ae3a9cd5e32c7cae1cf64aa005502bf1749 Mon Sep 17 00:00:00 2001 From: Ameer Date: Sun, 21 Jun 2020 23:56:56 -0400 Subject: Tidy up the pointers, use pair over tuple where appropriate --- src/input_common/main.cpp | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) (limited to 'src/input_common/main.cpp') diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp index fc399db7e..827a1a30c 100644 --- a/src/input_common/main.cpp +++ b/src/input_common/main.cpp @@ -25,12 +25,11 @@ static std::shared_ptr motion_emu; static std::unique_ptr sdl; #endif static std::unique_ptr udp; -static std::shared_ptr gcadapter; static std::shared_ptr gcbuttons; static std::shared_ptr gcanalog; void Init() { - gcadapter = std::make_shared(); + std::shared_ptr gcadapter = std::make_shared(); gcbuttons = std::make_shared(gcadapter); Input::RegisterFactory("gcpad", gcbuttons); gcanalog = std::make_shared(gcadapter); -- cgit v1.2.3 From f5d2a1e8bdb334a0354689a8da471b7f7525e61f Mon Sep 17 00:00:00 2001 From: ameerj Date: Mon, 22 Jun 2020 10:40:27 -0400 Subject: Update src/input_common/main.cpp Co-authored-by: LC update libusb submodule (hopefully windows build error fixed) --- src/input_common/main.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'src/input_common/main.cpp') diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp index 827a1a30c..a9572c23c 100644 --- a/src/input_common/main.cpp +++ b/src/input_common/main.cpp @@ -29,7 +29,7 @@ static std::shared_ptr gcbuttons; static std::shared_ptr gcanalog; void Init() { - std::shared_ptr gcadapter = std::make_shared(); + auto gcadapter = std::make_shared(); gcbuttons = std::make_shared(gcadapter); Input::RegisterFactory("gcpad", gcbuttons); gcanalog = std::make_shared(gcadapter); -- cgit v1.2.3 From d4e07fd95e999e34562428c628985a6eb1fb532d Mon Sep 17 00:00:00 2001 From: Ameer Date: Tue, 23 Jun 2020 12:47:58 -0400 Subject: Fix deallocation of GC Adapter --- src/input_common/main.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/input_common/main.cpp') diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp index a9572c23c..f13420b38 100644 --- a/src/input_common/main.cpp +++ b/src/input_common/main.cpp @@ -59,7 +59,10 @@ void Shutdown() { #endif udp.reset(); Input::UnregisterFactory("gcpad"); + Input::UnregisterFactory("gcpad"); + gcbuttons.reset(); + gcanalog.reset(); } Keyboard* GetKeyboard() { -- cgit v1.2.3 From 6e1639c7b004d13aba77549131ecee793fcc4065 Mon Sep 17 00:00:00 2001 From: Ameer Date: Thu, 2 Jul 2020 16:51:16 -0400 Subject: Fix unnecessary diffs --- src/input_common/main.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'src/input_common/main.cpp') diff --git a/src/input_common/main.cpp b/src/input_common/main.cpp index f13420b38..fd0af1019 100644 --- a/src/input_common/main.cpp +++ b/src/input_common/main.cpp @@ -45,6 +45,7 @@ void Init() { #ifdef HAVE_SDL2 sdl = SDL::Init(); #endif + udp = CemuhookUDP::Init(); } @@ -111,6 +112,7 @@ std::vector> GetPollers(DeviceType type) { #ifdef HAVE_SDL2 pollers = sdl->GetPollers(type); #endif + return pollers; } -- cgit v1.2.3