Skip to content

Commit 693c8e8

Browse files
committed
Add way to reset deadzone settings
1 parent 8d037e1 commit 693c8e8

File tree

2 files changed

+23
-16
lines changed

2 files changed

+23
-16
lines changed

include/pch.h

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -513,6 +513,9 @@ enum class AngularVelocityFixerMode : int32_t {
513513
};
514514

515515
struct ModSettings {
516+
static constexpr float kDefaultAxisThreshold = 0.5f;
517+
static constexpr float kDefaultStickDeadzone = 0.15f;
518+
516519
// playing mode settings
517520
std::atomic<CameraMode> cameraMode = CameraMode::FIRST_PERSON;
518521
std::atomic<PlayMode> playMode = PlayMode::STANDING;
@@ -534,8 +537,8 @@ struct ModSettings {
534537
std::atomic_bool tutorialPromptShown = false;
535538

536539
// Input settings
537-
std::atomic<float> axisThreshold = 0.5f;
538-
std::atomic<float> stickDeadzone = 0.15f;
540+
std::atomic<float> axisThreshold = kDefaultAxisThreshold;
541+
std::atomic<float> stickDeadzone = kDefaultStickDeadzone;
539542

540543
CameraMode GetCameraMode() const { return cameraMode; }
541544

@@ -579,8 +582,8 @@ struct ModSettings {
579582
std::format_to(std::back_inserter(buffer), " - Show Black Bars for Third-Person Cutscenes: {}\n", UseBlackBarsForCutscenes() ? "Yes" : "No");
580583
std::format_to(std::back_inserter(buffer), " - Performance Overlay: {}\n", performanceOverlay == 0 ? "Disabled" : (performanceOverlay == 1 ? "2D Only" : "Enabled"));
581584
std::format_to(std::back_inserter(buffer), " - Performance Overlay Frequency: {} Hz\n", performanceOverlayFrequency.load());
582-
std::format_to(std::back_inserter(buffer), " - Axis Threshold: {}\n", axisThreshold.load());
583-
std::format_to(std::back_inserter(buffer), " - Stick Deadzone: {}\n", stickDeadzone.load());
585+
std::format_to(std::back_inserter(buffer), " - Stick Direction Threshold: {}\n", axisThreshold.load());
586+
std::format_to(std::back_inserter(buffer), " - Thumbstick Deadzone: {}\n", stickDeadzone.load());
584587
return buffer;
585588
}
586589

@@ -628,4 +631,4 @@ struct data_VRProjectionMatrixOut {
628631

629632
#include "game_structs.h"
630633
#include "cemu.h"
631-
#include "utils/logger.h"
634+
#include "utils/logger.h"

src/rendering/vulkan_imgui.cpp

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -315,16 +315,12 @@ RND_Renderer::ImGuiOverlay::ImGuiOverlay(VkCommandBuffer cb, VkExtent2D fbRes, V
315315

316316
std::vector<HelpImage> page1;
317317
page1.emplace_back(createHelpImage((stbi_uc const*)controls, sizeof(controls)));
318+
page1.push_back(createHelpImage((stbi_uc const*)equip, sizeof(equip)));
319+
page1.push_back(createHelpImage((stbi_uc const*)swing, sizeof(swing)));
320+
page1.push_back(createHelpImage((stbi_uc const*)BOTWcontrolScheme_Magnesis, sizeof(BOTWcontrolScheme_Magnesis)));
321+
page1.push_back(createHelpImage((stbi_uc const*)BOTWcontrolScheme_Whistle, sizeof(BOTWcontrolScheme_Whistle)));
318322
m_helpImagePages.push_back(page1);
319323

320-
std::vector<HelpImage> page2;
321-
page2.push_back(createHelpImage((stbi_uc const*)equip, sizeof(equip)));
322-
m_helpImagePages.push_back(page2);
323-
324-
std::vector<HelpImage> page3;
325-
page3.push_back(createHelpImage((stbi_uc const*)swing, sizeof(swing)));
326-
m_helpImagePages.push_back(page3);
327-
328324
VulkanUtils::DebugPipelineBarrier(cb);
329325

330326
// start the first frame right away
@@ -859,20 +855,28 @@ void RND_Renderer::ImGuiOverlay::DrawHelpMenu() {
859855
ImGui::PopStyleColor();
860856
if (cameraMode == 1) {
861857
float deadzone = settings.stickDeadzone;
862-
DrawSettingRow("Stick Deadzone", [&]() {
858+
DrawSettingRow("Thumbstick Deadzone", [&]() {
863859
if (ImGui::SliderFloat("##StickDeadzone", &deadzone, 0.0f, 0.5f, "%.2f")) {
864860
settings.stickDeadzone = deadzone;
865861
changed = true;
866862
}
867863
});
868864

869865
float threshold = settings.axisThreshold;
870-
DrawSettingRow("Axis Threshold", [&]() {
866+
DrawSettingRow("Stick Direction Threshold", [&]() {
871867
if (ImGui::SliderFloat("##AxisThreshold", &threshold, 0.1f, 0.9f, "%.2f")) {
872868
settings.axisThreshold = threshold;
873869
changed = true;
874870
}
875871
});
872+
873+
DrawSettingRow("Reset Input Thresholds", [&]() {
874+
if (ImGui::Button("Reset##InputThresholds")) {
875+
settings.stickDeadzone = ModSettings::kDefaultStickDeadzone;
876+
settings.axisThreshold = ModSettings::kDefaultAxisThreshold;
877+
changed = true;
878+
}
879+
});
876880
}
877881
else {
878882
ImGui::Text("");
@@ -1099,4 +1103,4 @@ void RND_Renderer::ImGuiOverlay::DrawAndCopyToImage(VkCommandBuffer cb, VkImage
10991103
// prepare for next frame immediately
11001104
ImGui_ImplVulkan_NewFrame();
11011105
ImGui::NewFrame();
1102-
}
1106+
}

0 commit comments

Comments
 (0)