diff options
author | Bottinator22 <bottinator22@gmail.com> | 2025-04-01 09:58:06 -0700 |
---|---|---|
committer | Bottinator22 <bottinator22@gmail.com> | 2025-04-01 09:58:06 -0700 |
commit | a7caf835067cfc903d271553842d2ee47cbcd157 (patch) | |
tree | 546f214c902d99ac4039785d8925fe30e2007e00 | |
parent | 1354fa689ab0e8cde06b75789ab53b5f4edd532b (diff) |
the necessary asset changes for this
-rw-r--r-- | assets/opensb/interface/opensb/shaders/shaders.lua | 21 | ||||
-rw-r--r-- | assets/opensb/scripts/opensb/universeclient/loadconfig.lua | 14 |
2 files changed, 25 insertions, 10 deletions
diff --git a/assets/opensb/interface/opensb/shaders/shaders.lua b/assets/opensb/interface/opensb/shaders/shaders.lua index f9b6a32..befbabf 100644 --- a/assets/opensb/interface/opensb/shaders/shaders.lua +++ b/assets/opensb/interface/opensb/shaders/shaders.lua @@ -184,6 +184,18 @@ local function addOption(data, i, added) end end +local function updateParameter(parameter,oname,value) + if parameter.isPasses then + for k,v in next, parameter.layers do + renderer.setPostProcessLayerPasses(v, value) + end + else + for k,v in next, parameter.effects do + renderer.setEffectParameter(v, oname, value) + end + end +end + function sliderOptionModified(option, odata) local oname = string.sub(option, optionOffset) local parameter = groups[activeGroup].parameters[oname] @@ -191,15 +203,12 @@ function sliderOptionModified(option, odata) widget.setText(fmt("%s.%s",OPTIONS_WIDGET,option.."_value"), fmt(digitRegex(parameter.delta),value)) - for k,v in next, parameter.effects do - renderer.setEffectParameter(v, oname, value) - end + updateParameter(parameter,oname,value) shaderConfig[activeGroup].parameters[oname] = value root.setConfiguration("postProcessGroups",shaderConfig) end function selectOptionPressed(button,bdata) - sb.logInfo(sb.print(bdata)) for k,v in next, bdata.buttons do if v.index ~= bdata.index then @@ -212,9 +221,7 @@ function selectOptionPressed(button,bdata) local oname = bdata.option.name local parameter = groups[activeGroup].parameters[oname] - for k,v in next, parameter.effects do - renderer.setEffectParameter(v, oname, value) - end + updateParameter(parameter,oname,value) shaderConfig[activeGroup].parameters[oname] = value root.setConfiguration("postProcessGroups",shaderConfig) end diff --git a/assets/opensb/scripts/opensb/universeclient/loadconfig.lua b/assets/opensb/scripts/opensb/universeclient/loadconfig.lua index c0fc845..0898bc0 100644 --- a/assets/opensb/scripts/opensb/universeclient/loadconfig.lua +++ b/assets/opensb/scripts/opensb/universeclient/loadconfig.lua @@ -11,9 +11,17 @@ function module.init() local group = postProcessGroups[k] if group and v.parameters then for k2,v2 in next, group.parameters do - if v.parameters[k2] ~= nil then - for _,e in next, v2.effects do - renderer.setEffectParameter(e,k2,v.parameters[k2]) + local param = v.parameters[k2] + if param ~= nil then + if v2.isPasses then + -- this parameter controls passes + for _,l in next, v2.layers do + renderer.setPostProcessLayerPasses(l,param) + end + else + for _,e in next, v2.effects do + renderer.setEffectParameter(e,k2,param) + end end end end |