From 7b91e32361ab422024d4fe709222026b04ed227a Mon Sep 17 00:00:00 2001 From: Lendemor Date: Sun, 20 May 2018 19:59:13 +0200 Subject: [PATCH] added save and load of keysmap in keymapper --- src/keymapper.cpp | 15 ++++++++++++++- src/keymapper.h | 1 + 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/src/keymapper.cpp b/src/keymapper.cpp index 2328363..bac9998 100644 --- a/src/keymapper.cpp +++ b/src/keymapper.cpp @@ -5,9 +5,13 @@ #include "SparrowInput/input.h" #include "defaultkeysmap.h" #include +#include +#include +#include KeyMapper::KeyMapper() : m_enabled(false), + m_keymap_file("keymap.json"), m_waiting_for_input(-1) { // mapping between action numerical value and text value @@ -190,8 +194,17 @@ void KeyMapper::gui() getEngine().getInput()->updateKeyBindings(); } //save - + if(ImGui::Button("Save Keymap")){ + std::ofstream os(m_keymap_file); + cereal::JSONOutputArchive output(os); + output(m_keysmap); + } //load + if(ImGui::Button("Load Keymap")){ + std::ifstream is(m_keymap_file); + cereal::JSONInputArchive input(is); + // input(m_keysmap); + } ImGui::End(); } diff --git a/src/keymapper.h b/src/keymapper.h index 0fff454..fb8e346 100644 --- a/src/keymapper.h +++ b/src/keymapper.h @@ -11,6 +11,7 @@ class KeyMapper : public SceneNode bool m_enabled; int m_selected_context; IKeysMap m_keysmap; + std::string m_keymap_file; std::map m_mouse_buttons; std::map m_keyboard_keys;