From a40b6e37581ffd497ed793af93d26fed5b723063 Mon Sep 17 00:00:00 2001 From: Deve Date: Wed, 9 Jan 2019 22:29:37 +0100 Subject: [PATCH] Turn off multitouch race gui on non-android devices --- src/config/user_config.hpp | 6 +++--- src/main_android.cpp | 3 +++ src/states_screens/dialogs/multitouch_settings_dialog.cpp | 8 +++++--- src/states_screens/options/options_screen_ui.cpp | 4 ++-- src/states_screens/race_gui.cpp | 2 +- src/states_screens/race_gui_overworld.cpp | 2 +- 6 files changed, 15 insertions(+), 10 deletions(-) diff --git a/src/config/user_config.hpp b/src/config/user_config.hpp index 80676afa0..59396dae3 100644 --- a/src/config/user_config.hpp +++ b/src/config/user_config.hpp @@ -483,10 +483,10 @@ namespace UserConfigParams &m_multitouch_group, "Enable multitouch support: 0 = disabled, 1 = if available, 2 = enabled") ); - PARAM_PREFIX IntUserConfigParam m_multitouch_mode - PARAM_DEFAULT( IntUserConfigParam(1, "multitouch_mode", + PARAM_PREFIX BoolUserConfigParam m_multitouch_draw_gui + PARAM_DEFAULT( BoolUserConfigParam(false, "multitouch_draw_gui", &m_multitouch_group, - "Steering mode: 0 = off, 1 = buttons")); + "Enable multitouch race GUI")); PARAM_PREFIX BoolUserConfigParam m_multitouch_inverted PARAM_DEFAULT( BoolUserConfigParam(false, "multitouch_inverted", diff --git a/src/main_android.cpp b/src/main_android.cpp index 6ff0677ff..b556435e9 100644 --- a/src/main_android.cpp +++ b/src/main_android.cpp @@ -39,6 +39,9 @@ void override_default_params() // Disable advanced lighting by default to make the game playable UserConfigParams::m_dynamic_lights = false; + + // Enable multitouch race GUI + UserConfigParams::m_multitouch_draw_gui = true; // Set multitouch device scale depending on actual screen size int32_t screen_size = AConfiguration_getScreenSize(global_android_app->config); diff --git a/src/states_screens/dialogs/multitouch_settings_dialog.cpp b/src/states_screens/dialogs/multitouch_settings_dialog.cpp index 670d955e3..3578eed48 100644 --- a/src/states_screens/dialogs/multitouch_settings_dialog.cpp +++ b/src/states_screens/dialogs/multitouch_settings_dialog.cpp @@ -112,7 +112,7 @@ GUIEngine::EventPropagation MultitouchSettingsDialog::processEvent( CheckBoxWidget* buttons_en = getWidget("buttons_enabled"); assert(buttons_en != NULL); - UserConfigParams::m_multitouch_mode = buttons_en->getState() ? 1 : 0; + UserConfigParams::m_multitouch_draw_gui = buttons_en->getState(); CheckBoxWidget* buttons_inv = getWidget("buttons_inverted"); assert(buttons_inv != NULL); @@ -153,11 +153,12 @@ GUIEngine::EventPropagation MultitouchSettingsDialog::processEvent( { UserConfigParams::m_multitouch_sensitivity_y.revertToDefaults(); UserConfigParams::m_multitouch_deadzone.revertToDefaults(); - UserConfigParams::m_multitouch_mode.revertToDefaults(); UserConfigParams::m_multitouch_inverted.revertToDefaults(); UserConfigParams::m_multitouch_controls.revertToDefaults(); #ifdef ANDROID + UserConfigParams::m_multitouch_draw_gui = true; + int32_t screen_size = AConfiguration_getScreenSize( global_android_app->config); @@ -182,6 +183,7 @@ GUIEngine::EventPropagation MultitouchSettingsDialog::processEvent( break; } #else + UserConfigParams::m_multitouch_draw_gui.revertToDefaults(); UserConfigParams::m_multitouch_scale.revertToDefaults(); UserConfigParams::m_multitouch_sensitivity_x.revertToDefaults(); #endif @@ -231,7 +233,7 @@ void MultitouchSettingsDialog::updateValues() CheckBoxWidget* buttons_en = getWidget("buttons_enabled"); assert(buttons_en != NULL); - buttons_en->setState(UserConfigParams::m_multitouch_mode != 0); + buttons_en->setState(UserConfigParams::m_multitouch_draw_gui); CheckBoxWidget* buttons_inv = getWidget("buttons_inverted"); assert(buttons_inv != NULL); diff --git a/src/states_screens/options/options_screen_ui.cpp b/src/states_screens/options/options_screen_ui.cpp index 00a0eea50..4685ff6a9 100644 --- a/src/states_screens/options/options_screen_ui.cpp +++ b/src/states_screens/options/options_screen_ui.cpp @@ -127,7 +127,7 @@ void OptionsScreenUI::loadedFromFile() irr_driver->getDevice()->supportsTouchDevice()) || UserConfigParams::m_multitouch_active > 1; - if (multitouch_enabled && UserConfigParams::m_multitouch_mode != 0) + if (multitouch_enabled && UserConfigParams::m_multitouch_draw_gui) { minimap_options->m_properties[GUIEngine::PROP_MIN_VALUE] = "1"; } @@ -154,7 +154,7 @@ void OptionsScreenUI::init() irr_driver->getDevice()->supportsTouchDevice()) || UserConfigParams::m_multitouch_active > 1; - if (multitouch_enabled && UserConfigParams::m_multitouch_mode != 0 && + if (multitouch_enabled && UserConfigParams::m_multitouch_draw_gui && UserConfigParams::m_minimap_display == 0) { UserConfigParams::m_minimap_display = 1; diff --git a/src/states_screens/race_gui.cpp b/src/states_screens/race_gui.cpp index 5891ae01f..08c23ba58 100644 --- a/src/states_screens/race_gui.cpp +++ b/src/states_screens/race_gui.cpp @@ -120,7 +120,7 @@ RaceGUI::RaceGUI() irr_driver->getDevice()->supportsTouchDevice()) || UserConfigParams::m_multitouch_active > 1; - if (multitouch_enabled && UserConfigParams::m_multitouch_mode != 0 && + if (multitouch_enabled && UserConfigParams::m_multitouch_draw_gui && race_manager->getNumLocalPlayers() == 1) { m_multitouch_gui = new RaceGUIMultitouch(this); diff --git a/src/states_screens/race_gui_overworld.cpp b/src/states_screens/race_gui_overworld.cpp index 867b45925..a2027cea2 100644 --- a/src/states_screens/race_gui_overworld.cpp +++ b/src/states_screens/race_gui_overworld.cpp @@ -93,7 +93,7 @@ RaceGUIOverworld::RaceGUIOverworld() irr_driver->getDevice()->supportsTouchDevice()) || UserConfigParams::m_multitouch_active > 1; - if (multitouch_enabled && UserConfigParams::m_multitouch_mode != 0 && + if (multitouch_enabled && UserConfigParams::m_multitouch_draw_gui && race_manager->getNumLocalPlayers() == 1) { m_multitouch_gui = new RaceGUIMultitouch(this);