From 13531c4352f1647544b800ea1b77f6e033fc1b25 Mon Sep 17 00:00:00 2001 From: somewhatlurker <52014015+somewhatlurker@users.noreply.github.com> Date: Wed, 14 Aug 2019 22:09:04 +1000 Subject: [PATCH] don't reload xinput config every frame --- source-code/source/plugins/TLAC/Input/Xinput/Xinput.cpp | 9 ++++----- source-code/source/plugins/TLAC/Input/Xinput/Xinput.h | 2 ++ 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/source-code/source/plugins/TLAC/Input/Xinput/Xinput.cpp b/source-code/source/plugins/TLAC/Input/Xinput/Xinput.cpp index 8aff81b..95ffb05 100644 --- a/source-code/source/plugins/TLAC/Input/Xinput/Xinput.cpp +++ b/source-code/source/plugins/TLAC/Input/Xinput/Xinput.cpp @@ -11,7 +11,9 @@ namespace TLAC::Input Xinput::Xinput() { - + TLAC::FileSystem::ConfigFile config(TLAC::framework::GetModuleDirectory(), "keyconfig.ini"); + config.OpenRead(); + xinput_num = config.GetIntegerValue("xinput_preferred"); } Xinput* Xinput::GetInstance() @@ -58,10 +60,7 @@ namespace TLAC::Input ZeroMemory(&state, sizeof(XINPUT_STATE)); float elapsed = keyIntervalWatch.Restart(); - TLAC::FileSystem::ConfigFile configFile(TLAC::framework::GetModuleDirectory(), "keyconfig.ini"); - configFile.OpenRead(); - - int xc_pref = configFile.GetIntegerValue("xinput_preferred"); + int xc_pref = xinput_num; if (xc_pref < 0 || xc_pref > 3) xc_pref = 0; for (int n = 0; n < 4; n++) { diff --git a/source-code/source/plugins/TLAC/Input/Xinput/Xinput.h b/source-code/source/plugins/TLAC/Input/Xinput/Xinput.h index 5b66888..6a6ed38 100644 --- a/source-code/source/plugins/TLAC/Input/Xinput/Xinput.h +++ b/source-code/source/plugins/TLAC/Input/Xinput/Xinput.h @@ -47,5 +47,7 @@ namespace TLAC::Input static Xinput* instance; void SetTapStates(BYTE keycode, float elapsed); + + int xinput_num; }; }