From 0f6fd383594c70fabf957481fc5fda0724e9a463 Mon Sep 17 00:00:00 2001 From: Mr-Wiseguy Date: Thu, 15 Jan 2026 19:56:28 -0500 Subject: [PATCH] Update frontend to move controller device info callback into per-game code --- lib/RecompFrontend | 2 +- src/main/main.cpp | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 2 deletions(-) diff --git a/lib/RecompFrontend b/lib/RecompFrontend index 0a20062..00b44e9 160000 --- a/lib/RecompFrontend +++ b/lib/RecompFrontend @@ -1 +1 @@ -Subproject commit 0a200626088d32bd851a74d96637bc94f4e2c91d +Subproject commit 00b44e9205914d615c441e77ffc8cfc7c05fca3a diff --git a/src/main/main.cpp b/src/main/main.cpp index 8401d2d..0bbd3ae 100644 --- a/src/main/main.cpp +++ b/src/main/main.cpp @@ -92,6 +92,20 @@ ultramodern::gfx_callbacks_t::gfx_data_t create_gfx() { return {}; } +ultramodern::input::connected_device_info_t get_connected_device_info(int controller_num) { + if (recompinput::players::is_single_player_mode() || recompinput::players::get_player_is_assigned(controller_num)) { + return ultramodern::input::connected_device_info_t{ + .connected_device = ultramodern::input::Device::Controller, + .connected_pak = ultramodern::input::Pak::RumblePak, + }; + } + + return ultramodern::input::connected_device_info_t{ + .connected_device = ultramodern::input::Device::None, + .connected_pak = ultramodern::input::Pak::None, + }; +} + #if defined(__gnu_linux__) #include "icon_bytes.h" @@ -748,7 +762,7 @@ int main(int argc, char** argv) { .poll_input = recompinput::poll_inputs, .get_input = recompinput::profiles::get_n64_input, .set_rumble = recompinput::set_rumble, - .get_connected_device_info = recompinput::get_connected_device_info, + .get_connected_device_info = get_connected_device_info, }; ultramodern::events::callbacks_t thread_callbacks{