From 7b90963f53eea95bc1b6da6e09cdc72c850d7726 Mon Sep 17 00:00:00 2001 From: icex2 Date: Wed, 8 Mar 2023 17:48:44 +0100 Subject: [PATCH] iidhxook-util: Expose settings_path as a configuration option --- src/main/iidxhook-util/config-misc.c | 21 +++++++++++++++++++++ src/main/iidxhook-util/config-misc.h | 3 +++ 2 files changed, 24 insertions(+) diff --git a/src/main/iidxhook-util/config-misc.c b/src/main/iidxhook-util/config-misc.c index 56a15dc..acdb749 100644 --- a/src/main/iidxhook-util/config-misc.c +++ b/src/main/iidxhook-util/config-misc.c @@ -6,9 +6,11 @@ #define IIDXHOOK_CONFIG_MISC_DISABLE_CLOCK_SET_KEY "misc.disable_clock_set" #define IIDXHOOK_CONFIG_MISC_RTEFFECT_STUB_KEY "misc.rteffect_stub" +#define IIDXHOOK_CONFIG_MISC_SETTINGS_PATH_STUB_KEY "misc.settings_path" #define IIDXHOOK_CONFIG_MISC_DEFAULT_DISABLE_CLOCK_SET_VALUE false #define IIDXHOOK_CONFIG_MISC_DEFAULT_RTEFFECT_STUB_VALUE false +#define IIDXHOOK_CONFIG_MISC_DEFAULT_SETTINGS_PATH_STUB_VALUE ".\\" void iidxhook_config_misc_init(struct cconfig *config) { @@ -23,6 +25,12 @@ void iidxhook_config_misc_init(struct cconfig *config) IIDXHOOK_CONFIG_MISC_RTEFFECT_STUB_KEY, IIDXHOOK_CONFIG_MISC_DEFAULT_RTEFFECT_STUB_VALUE, "Stub calls to rteffect.dll (10th to DistorteD)"); + + cconfig_util_set_str( + config, + IIDXHOOK_CONFIG_MISC_SETTINGS_PATH_STUB_KEY, + IIDXHOOK_CONFIG_MISC_DEFAULT_SETTINGS_PATH_STUB_VALUE, + "Path to store the settings, e.g. bookkeeping, operator settings. d:, e: and f: drive configuration/settings data"); } void iidxhook_config_misc_get( @@ -51,4 +59,17 @@ void iidxhook_config_misc_get( IIDXHOOK_CONFIG_MISC_RTEFFECT_STUB_KEY, IIDXHOOK_CONFIG_MISC_DEFAULT_RTEFFECT_STUB_VALUE); } + + if (!cconfig_util_get_str( + config, + IIDXHOOK_CONFIG_MISC_SETTINGS_PATH_STUB_KEY, + config_misc->settings_path, + sizeof(config_misc->settings_path), + IIDXHOOK_CONFIG_MISC_DEFAULT_SETTINGS_PATH_STUB_VALUE)) { + log_warning( + "Invalid value for key '%s' specified, fallback " + "to default '%s'", + IIDXHOOK_CONFIG_MISC_SETTINGS_PATH_STUB_KEY, + IIDXHOOK_CONFIG_MISC_DEFAULT_SETTINGS_PATH_STUB_VALUE); + } } diff --git a/src/main/iidxhook-util/config-misc.h b/src/main/iidxhook-util/config-misc.h index 7391ac0..743e83d 100644 --- a/src/main/iidxhook-util/config-misc.h +++ b/src/main/iidxhook-util/config-misc.h @@ -1,11 +1,14 @@ #ifndef IIDXHOOK_CONFIG_MISC_H #define IIDXHOOK_CONFIG_MISC_H +#include + #include "cconfig/cconfig.h" struct iidxhook_config_misc { bool disable_clock_set; bool rteffect_stub; + char settings_path[MAX_PATH]; }; void iidxhook_config_misc_init(struct cconfig *config);