gamepad: add bool is_charging

xone-gamepad
Alessandro Toia 2 years ago
parent 6db23968ee
commit 9b668babdc

@ -129,10 +129,11 @@ void gamepad_info () {
gamepad_data[gamepad_count].name = "8BITDO PAD-" + to_string(bitdo_counter + 1); gamepad_data[gamepad_count].name = "8BITDO PAD-" + to_string(bitdo_counter + 1);
bitdo_counter++; bitdo_counter++;
} }
//Get device status //Get device charging status
if (std::getline(input_status, line)) if (std::getline(input_status, line)) {
gamepad_data[gamepad_count].state = line; if (line == "Charging" || line == "Full")
gamepad_data[gamepad_count].is_charging = true;
}
//Get device Battery //Get device Battery
if (fs::exists(capacity)) { if (fs::exists(capacity)) {
if (std::getline(input_capacity, line)) { if (std::getline(input_capacity, line)) {

@ -6,10 +6,10 @@
struct gamepad { struct gamepad {
std::string battery; std::string battery;
std::string state;
std::string name; std::string name;
bool report_percent; bool report_percent;
std::string battery_percent; std::string battery_percent;
bool is_charging;
}; };
extern std::vector<gamepad> gamepad_data; extern std::vector<gamepad> gamepad_data;

@ -862,17 +862,17 @@ void HudElements::gamepad_battery()
gamepad_info(); gamepad_info();
for (int i = 0; i < gamepad_count; i++) { for (int i = 0; i < gamepad_count; i++) {
std::string battery = gamepad_data[i].battery; std::string battery = gamepad_data[i].battery;
std::string state = gamepad_data[i].state;
std::string name = gamepad_data[i].name; std::string name = gamepad_data[i].name;
std::string battery_percent = gamepad_data[i].battery_percent; std::string battery_percent = gamepad_data[i].battery_percent;
bool report_percent = gamepad_data[i].report_percent; bool report_percent = gamepad_data[i].report_percent;
bool charging = gamepad_data[i].is_charging;
ImGui::TableNextRow(); ImGui::TableNextColumn(); ImGui::TableNextRow(); ImGui::TableNextColumn();
ImGui::PushFont(HUDElements.sw_stats->font1); ImGui::PushFont(HUDElements.sw_stats->font1);
ImGui::TextColored(HUDElements.colors.engine, "%s", name.c_str()); ImGui::TextColored(HUDElements.colors.engine, "%s", name.c_str());
ImGui::TableNextColumn(); ImGui::TableNextColumn();
if (HUDElements.params->enabled[OVERLAY_PARAM_ENABLED_gamepad_battery_icon]) { 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); right_aligned_text(HUDElements.colors.text, HUDElements.ralign_width, "%s", ICON_FK_USB);
else { else {
if (battery == "Full") if (battery == "Full")
@ -888,7 +888,7 @@ void HudElements::gamepad_battery()
} }
} }
else { else {
if (state == "Charging" || state == "Full") if (charging)
right_aligned_text(HUDElements.colors.text, HUDElements.ralign_width, "%s", ICON_FK_USB); right_aligned_text(HUDElements.colors.text, HUDElements.ralign_width, "%s", ICON_FK_USB);
else if (report_percent) { else if (report_percent) {
right_aligned_text(HUDElements.colors.text,HUDElements.ralign_width, "%s", battery_percent.c_str()); right_aligned_text(HUDElements.colors.text,HUDElements.ralign_width, "%s", battery_percent.c_str());

Loading…
Cancel
Save