diff --git a/src/gamepad.cpp b/src/gamepad.cpp index 6787e667..e2ac6695 100644 --- a/src/gamepad.cpp +++ b/src/gamepad.cpp @@ -129,10 +129,11 @@ void gamepad_info () { gamepad_data[gamepad_count].name = "8BITDO PAD-" + to_string(bitdo_counter + 1); bitdo_counter++; } - //Get device status - if (std::getline(input_status, line)) - gamepad_data[gamepad_count].state = line; - + //Get device charging status + if (std::getline(input_status, line)) { + if (line == "Charging" || line == "Full") + gamepad_data[gamepad_count].is_charging = true; + } //Get device Battery if (fs::exists(capacity)) { if (std::getline(input_capacity, line)) { diff --git a/src/gamepad.h b/src/gamepad.h index 1817015c..8839d0c7 100644 --- a/src/gamepad.h +++ b/src/gamepad.h @@ -6,10 +6,10 @@ struct gamepad { std::string battery; - std::string state; std::string name; bool report_percent; std::string battery_percent; + bool is_charging; }; extern std::vector gamepad_data; diff --git a/src/hud_elements.cpp b/src/hud_elements.cpp index d57e612c..d2cc6732 100644 --- a/src/hud_elements.cpp +++ b/src/hud_elements.cpp @@ -862,17 +862,17 @@ void HudElements::gamepad_battery() gamepad_info(); for (int i = 0; i < gamepad_count; i++) { std::string battery = gamepad_data[i].battery; - std::string state = gamepad_data[i].state; std::string name = gamepad_data[i].name; std::string battery_percent = gamepad_data[i].battery_percent; bool report_percent = gamepad_data[i].report_percent; + bool charging = gamepad_data[i].is_charging; ImGui::TableNextRow(); ImGui::TableNextColumn(); ImGui::PushFont(HUDElements.sw_stats->font1); ImGui::TextColored(HUDElements.colors.engine, "%s", name.c_str()); ImGui::TableNextColumn(); if (HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_gamepad_battery_icon]) { - if (state == "Charging" || state == "Full") + if (charging) right_aligned_text(HUDElements.colors.text, HUDElements.ralign_width, "%s", ICON_FK_USB); else { if (battery == "Full") @@ -888,7 +888,7 @@ void HudElements::gamepad_battery() } } else { - if (state == "Charging" || state == "Full") + if (charging) right_aligned_text(HUDElements.colors.text, HUDElements.ralign_width, "%s", ICON_FK_USB); else if (report_percent) { right_aligned_text(HUDElements.colors.text,HUDElements.ralign_width, "%s", battery_percent.c_str());