diff options
author | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-07-03 04:29:58 +1000 |
---|---|---|
committer | Kae <80987908+Novaenia@users.noreply.github.com> | 2023-07-03 04:29:58 +1000 |
commit | d7ba1136883de9392bb929df5772dba7f8bf49df (patch) | |
tree | e6e3cbcd2711755c6bb0b461218b5506164f66d6 | |
parent | 7d86194cae75da21cee8b5aff51445391893b045 (diff) |
Add zoom level keybinds
-rw-r--r-- | assets/opensb/binds/opensb.binds | 22 | ||||
-rw-r--r-- | source/client/StarClientApplication.cpp | 12 |
2 files changed, 32 insertions, 2 deletions
diff --git a/assets/opensb/binds/opensb.binds b/assets/opensb/binds/opensb.binds index f493148..b8a13c2 100644 --- a/assets/opensb/binds/opensb.binds +++ b/assets/opensb/binds/opensb.binds @@ -1,8 +1,26 @@ { "opensb": { - "name": "OpenStarbound", - "bannerName" : "Open^#ebd74a;Starbound", + "groups": { + "camera": { "name": "Camera" } + }, + "name": "Open^#ebd74a;Starbound", "binds": { + "zoomIn": { + "default": [{ + "type": "key", + "value": "=" + }], + "group" : "camera", + "name": "Zoom In" + }, + "zoomOut": { + "default": [{ + "type": "key", + "value": "-" + }], + "group" : "camera", + "name": "Zoom Out" + }, "test": { "default": [{ "type": "key", diff --git a/source/client/StarClientApplication.cpp b/source/client/StarClientApplication.cpp index 33a4552..b4c9b1a 100644 --- a/source/client/StarClientApplication.cpp +++ b/source/client/StarClientApplication.cpp @@ -315,6 +315,18 @@ void ClientApplication::processInput(InputEvent const& event) { } m_input->handleInput(event, processed); + WorldCamera& camera = m_worldPainter->camera(); + + auto config = m_root->configuration(); + int zoomOffset = 0; + + if (auto presses = m_input->bindDown("opensb", "zoomIn")) + zoomOffset += *presses; + if (auto presses = m_input->bindDown("opensb", "zoomOut")) + zoomOffset -= *presses; + + if (zoomOffset != 0) + config->set("zoomLevel", max(1.0f, round(config->get("zoomLevel").toFloat() + zoomOffset))); } void ClientApplication::update() { |