diff --git a/src/lsi/lsi.c b/src/lsi/lsi.c index 474b8a4..ff2a97d 100644 --- a/src/lsi/lsi.c +++ b/src/lsi/lsi.c @@ -143,6 +143,13 @@ bool lsi_config_load(LsiConfig *config) map_val = NULL; } + /* Do we want libintercept? */ + map_val = nc_hashmap_get(nc_hashmap_get(mconfig, "Steam"), "use-libintercept"); + if (map_val) { + config->use_libintercept = lsi_is_boolean_true(map_val); + map_val = NULL; + } + /* Check if 32-bit is being forced */ map_val = nc_hashmap_get(nc_hashmap_get(mconfig, "Steam"), "force-32bit"); if (map_val) { @@ -178,9 +185,10 @@ bool lsi_config_store(LsiConfig *config) return false; } if (fprintf(fp, - "[Steam]\nuse-native-runtime = %s\nforce-32bit = %s\n", + "[Steam]\nuse-native-runtime = %s\nforce-32bit = %s\nuse-libintercept=%s\n", lsi_bool_to_string(config->use_native_runtime), - lsi_bool_to_string(config->force_32)) < 0) { + lsi_bool_to_string(config->force_32), + lsi_bool_to_string(config->use_libintercept)) < 0) { return false; } return true; @@ -194,6 +202,7 @@ void lsi_config_load_defaults(LsiConfig *config) * things that LSI knows about */ config->force_32 = false; config->use_native_runtime = true; + config->use_libintercept = true; } void lsi_report_failure(const char *s, ...) diff --git a/src/lsi/lsi.h b/src/lsi/lsi.h index 915b5eb..fc4900b 100644 --- a/src/lsi/lsi.h +++ b/src/lsi/lsi.h @@ -29,6 +29,7 @@ typedef struct LsiConfig { bool force_32; /**