mirror of
https://github.com/open-goal/jak-project.git
synced 2024-10-20 11:26:18 -04:00
add option to disable mouse hiding (#1782)
* add option to disable mouse hiding * write setting
This commit is contained in:
parent
a3dac2ab24
commit
b388aa7b71
|
@ -94,6 +94,7 @@ void DumpToJson(ghc::filesystem::path& filename) {
|
|||
nlohmann::json json;
|
||||
json["Debug Menu Visibility"] = false; // Assume start up debug display is disabled
|
||||
auto& peripherals_json = json["Peripherals"];
|
||||
json["Use Mouse"] = g_settings.pad_mapping_info.use_mouse;
|
||||
|
||||
for (uint32_t i = 0; i < Pad::CONTROLLER_COUNT; ++i) {
|
||||
nlohmann::json peripheral_json;
|
||||
|
@ -154,6 +155,8 @@ void LoadPeripheralSettings(const ghc::filesystem::path& filepath) {
|
|||
g_is_debug_menu_visible_on_startup = configuration["Debug Menu Visibility"].get<bool>();
|
||||
}
|
||||
|
||||
g_settings.pad_mapping_info.use_mouse = configuration.value<bool>("Use Mouse", false);
|
||||
|
||||
int controller_index = 0;
|
||||
for (const auto& peripheral : configuration["Peripherals"]) {
|
||||
auto& controller_buttons_json = peripheral["Controller"]["Buttons"];
|
||||
|
|
|
@ -306,8 +306,10 @@ GLDisplay::~GLDisplay() {
|
|||
}
|
||||
|
||||
void GLDisplay::update_cursor_visibility(GLFWwindow* window, bool is_visible) {
|
||||
auto cursor_mode = (is_visible) ? GLFW_CURSOR_NORMAL : GLFW_CURSOR_DISABLED;
|
||||
glfwSetInputMode(window, GLFW_CURSOR, cursor_mode);
|
||||
if (Gfx::get_button_mapping().use_mouse) {
|
||||
auto cursor_mode = is_visible ? GLFW_CURSOR_NORMAL : GLFW_CURSOR_DISABLED;
|
||||
glfwSetInputMode(window, GLFW_CURSOR, cursor_mode);
|
||||
}
|
||||
}
|
||||
|
||||
void GLDisplay::on_key(GLFWwindow* window, int key, int /*scancode*/, int action, int /*mods*/) {
|
||||
|
@ -344,7 +346,7 @@ void GLDisplay::on_mouse_key(GLFWwindow* window, int button, int action, int mod
|
|||
|
||||
void GLDisplay::on_cursor_position(GLFWwindow* window, double xposition, double yposition) {
|
||||
Pad::MappingInfo mapping_info = Gfx::get_button_mapping();
|
||||
if (is_imgui_visible()) {
|
||||
if (is_imgui_visible() || !mapping_info.use_mouse) {
|
||||
if (is_cursor_position_valid == true) {
|
||||
Pad::ClearAnalogAxisValue(mapping_info, GlfwKeyCustomAxis::CURSOR_X_AXIS);
|
||||
Pad::ClearAnalogAxisValue(mapping_info, GlfwKeyCustomAxis::CURSOR_Y_AXIS);
|
||||
|
|
|
@ -75,7 +75,8 @@ struct AnalogMappingInfo {
|
|||
};
|
||||
|
||||
struct MappingInfo {
|
||||
bool debug = true; // debug mode
|
||||
bool debug = true; // debug mode
|
||||
bool use_mouse = false;
|
||||
bool buffer_mode = true; // use buffered inputs
|
||||
|
||||
int controller_button_mapping[CONTROLLER_COUNT][(int)Pad::Button::Max];
|
||||
|
|
Loading…
Reference in a new issue