From a167336b40d03ec5ec191aec1540843cf6fa1335 Mon Sep 17 00:00:00 2001 From: ulteq Date: Thu, 14 May 2015 15:39:29 +0200 Subject: [PATCH] Made the Kestrel menu persistent --- addons/kestrel4500/XEH_postInit.sqf | 4 +++- addons/kestrel4500/XEH_preInit.sqf | 7 ++++--- .../functions/fnc_buttonPressed.sqf | 1 + .../kestrel4500/functions/fnc_collectData.sqf | 6 +++--- .../functions/fnc_restoreUserData.sqf | 18 ++++++++++++++++++ .../functions/fnc_storeUserData.sqf | 18 ++++++++++++++++++ 6 files changed, 47 insertions(+), 7 deletions(-) create mode 100644 addons/kestrel4500/functions/fnc_restoreUserData.sqf create mode 100644 addons/kestrel4500/functions/fnc_storeUserData.sqf diff --git a/addons/kestrel4500/XEH_postInit.sqf b/addons/kestrel4500/XEH_postInit.sqf index 24a972c326..eb22aa1de2 100644 --- a/addons/kestrel4500/XEH_postInit.sqf +++ b/addons/kestrel4500/XEH_postInit.sqf @@ -22,4 +22,6 @@ GVAR(MeasuredWindSpeed) = 0; GVAR(ImpellerState) = 0; GVAR(Kestrel4500) = false; -GVAR(Overlay) = false; \ No newline at end of file +GVAR(Overlay) = false; + +[] call FUNC(restoreUserData); \ No newline at end of file diff --git a/addons/kestrel4500/XEH_preInit.sqf b/addons/kestrel4500/XEH_preInit.sqf index 4e29b9bdbf..7b36167a16 100644 --- a/addons/kestrel4500/XEH_preInit.sqf +++ b/addons/kestrel4500/XEH_preInit.sqf @@ -9,10 +9,11 @@ PREP(createKestrelDialog); PREP(displayKestrel); PREP(generateOutputData); PREP(measureWindSpeed); +PREP(onCloseDialog); +PREP(onCloseDisplay); +PREP(restoreUserData); +PREP(storeUserData); PREP(updateDisplay); PREP(updateImpellerState); -PREP(onCloseDialog); -PREP(onCloseDisplay); - ADDON = true; diff --git a/addons/kestrel4500/functions/fnc_buttonPressed.sqf b/addons/kestrel4500/functions/fnc_buttonPressed.sqf index f0f9a10db1..1d73f9ac79 100644 --- a/addons/kestrel4500/functions/fnc_buttonPressed.sqf +++ b/addons/kestrel4500/functions/fnc_buttonPressed.sqf @@ -51,3 +51,4 @@ switch (_this) do { }; [] call FUNC(updateDisplay); +[] call FUNC(storeUserData); diff --git a/addons/kestrel4500/functions/fnc_collectData.sqf b/addons/kestrel4500/functions/fnc_collectData.sqf index a812ad0f7c..ddd9fcb962 100644 --- a/addons/kestrel4500/functions/fnc_collectData.sqf +++ b/addons/kestrel4500/functions/fnc_collectData.sqf @@ -42,9 +42,9 @@ if (GVAR(MinAvgMaxMode) == 1) then { // Wind SPD _windSpeed = call FUNC(measureWindSpeed); - GVAR(MIN) set [1, (GVAR(MIN) select 1) min abs(_windSpeed)]; - GVAR(MAX) set [1, abs(_windSpeed) max (GVAR(MAX) select 1)]; - GVAR(TOTAL) set [1, (GVAR(TOTAL) select 1) + abs(_windSpeed)]; + GVAR(MIN) set [1, (GVAR(MIN) select 1) min _windSpeed]; + GVAR(MAX) set [1, _windSpeed max (GVAR(MAX) select 1)]; + GVAR(TOTAL) set [1, (GVAR(TOTAL) select 1) + _windSpeed]; // CROSSWIND _crosswind = 0; diff --git a/addons/kestrel4500/functions/fnc_restoreUserData.sqf b/addons/kestrel4500/functions/fnc_restoreUserData.sqf new file mode 100644 index 0000000000..3cd96d80af --- /dev/null +++ b/addons/kestrel4500/functions/fnc_restoreUserData.sqf @@ -0,0 +1,18 @@ +/* + * Author: Ruthberg + * Reads user data from profileNamespace + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_kestrel4500_fnc_restore_user_data + * + * Public: No + */ +#include "script_component.hpp" + +GVAR(Menu) = 0 max (profileNamespace getVariable ["ACE_Kestrel4500_menu", 0]) min ((count GVAR(Menus)) - 1); diff --git a/addons/kestrel4500/functions/fnc_storeUserData.sqf b/addons/kestrel4500/functions/fnc_storeUserData.sqf new file mode 100644 index 0000000000..3b7ce9dd4d --- /dev/null +++ b/addons/kestrel4500/functions/fnc_storeUserData.sqf @@ -0,0 +1,18 @@ +/* + * Author: Ruthberg + * Saves user data into profileNamespace + * + * Arguments: + * Nothing + * + * Return Value: + * Nothing + * + * Example: + * call ace_kestrel4500_fnc_store_user_data + * + * Public: No + */ +#include "script_component.hpp" + +profileNamespace setVariable ["ACE_Kestrel4500_menu", GVAR(menu)];