From 70c89cbfe8a0862162804437a7696c34245ed36e Mon Sep 17 00:00:00 2001 From: "Dr. Flarp" Date: Wed, 18 Mar 2026 18:39:16 -0400 Subject: [PATCH 1/3] load user shader param settings from .cfg preset (???) --- workspace/all/minarch/minarch.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workspace/all/minarch/minarch.c b/workspace/all/minarch/minarch.c index 81fc45db0..a2e2b8306 100644 --- a/workspace/all/minarch/minarch.c +++ b/workspace/all/minarch/minarch.c @@ -6972,8 +6972,10 @@ static int OptionShaders_optionChanged(MenuList* list, int i) { item->value = config.shaders.options[y].value; } // Recursively call Config_syncShaders again for some reason - if(i==SH_SHADERS_PRESET) + if(i==SH_SHADERS_PRESET) { initShaders(); + Config_syncShaders(item->key, item->value); + } return MENU_CALLBACK_NOP; } From 2e8d304bc9041b1ea037d5a6a247eecfa8e7110b Mon Sep 17 00:00:00 2001 From: "Dr. Flarp" Date: Wed, 18 Mar 2026 21:35:54 -0400 Subject: [PATCH 2/3] replace comment with something more descriptive --- workspace/all/minarch/minarch.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/workspace/all/minarch/minarch.c b/workspace/all/minarch/minarch.c index a2e2b8306..0e4c6c547 100644 --- a/workspace/all/minarch/minarch.c +++ b/workspace/all/minarch/minarch.c @@ -6971,9 +6971,15 @@ static int OptionShaders_optionChanged(MenuList* list, int i) { MenuItem* item = &list->items[y]; item->value = config.shaders.options[y].value; } - // Recursively call Config_syncShaders again for some reason + if(i==SH_SHADERS_PRESET) { + // On shader preset change: + // Push all new shader settings to shader engine, + // compile shaders if needed, populate pragmas list initShaders(); + + // Now that we have a list of shader parameters, + // re-read shader preset file to set pragma values Config_syncShaders(item->key, item->value); } return MENU_CALLBACK_NOP; From 47a55cf74479a45fce4e1be3fb1171da6fd0d997 Mon Sep 17 00:00:00 2001 From: "Dr. Flarp" Date: Wed, 18 Mar 2026 21:52:43 -0400 Subject: [PATCH 3/3] push loaded settings to shader engine --- workspace/all/minarch/minarch.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/workspace/all/minarch/minarch.c b/workspace/all/minarch/minarch.c index 0e4c6c547..fad2dcd22 100644 --- a/workspace/all/minarch/minarch.c +++ b/workspace/all/minarch/minarch.c @@ -6979,8 +6979,11 @@ static int OptionShaders_optionChanged(MenuList* list, int i) { initShaders(); // Now that we have a list of shader parameters, - // re-read shader preset file to set pragma values + // re-read shader preset file to set pragma values in-menu Config_syncShaders(item->key, item->value); + + // Push parameters to shader engine + applyShaderSettings(); } return MENU_CALLBACK_NOP; }