diff --git a/ParsecSoda/GamepadClient.cpp b/ParsecSoda/GamepadClient.cpp index dc32ce44..7aaa6463 100644 --- a/ParsecSoda/GamepadClient.cpp +++ b/ParsecSoda/GamepadClient.cpp @@ -292,7 +292,19 @@ void GamepadClient::loadFromHotseats(GuestList& guests) { if (iSeat->guest.isMaster) { - iSeat->gamepad->clearOwner(); + if (iSeat->gamepad->isPuppet) + { + // Does not clear state (already puppet) + // This line prevents a bug that will keep resetting the gamepad state + // every hotseat tick, for 1 frame. + // It is speacially disruptive for games where the Master must hold + // an analog direction for a long time. + iSeat->gamepad->AGamepad::clearOwner(); + } + else + { + iSeat->gamepad->clearOwner(); + } iSeat->gamepad->isPuppet = true; } else diff --git a/ParsecSoda/Widgets/VersionWidget.cpp b/ParsecSoda/Widgets/VersionWidget.cpp index 5b72b122..eee59cfb 100644 --- a/ParsecSoda/Widgets/VersionWidget.cpp +++ b/ParsecSoda/Widgets/VersionWidget.cpp @@ -19,7 +19,7 @@ bool VersionWidget::render() ImGui::SetNextWindowSize(ImVec2(100, 32)); ImGui::Begin("##Version", (bool*)0, ImGuiWindowFlags_NoDecoration | ImGuiWindowFlags_NoBringToFrontOnFocus); AppStyle::pushLabel(); - ImGui::Text("v. 1.2.6"); + ImGui::Text("v. 1.2.7"); AppStyle::pop(); ImGui::End();