Use advanced parameters from IPC regardless of setting.

This commit is contained in:
Ottermandias 2024-01-09 18:29:55 +01:00
parent 5d0993a9ce
commit ed27b1dff4
2 changed files with 7 additions and 4 deletions

View file

@ -281,9 +281,9 @@ public class StateApplier(
}
/// <summary> Change the customize parameters on models. Can change multiple at once. </summary>
public void ChangeParameters(ActorData data, CustomizeParameterFlag flags, in CustomizeParameterData values)
public void ChangeParameters(ActorData data, CustomizeParameterFlag flags, in CustomizeParameterData values, bool force)
{
if (!_config.UseAdvancedParameters || flags == 0)
if (!force && !_config.UseAdvancedParameters || flags == 0)
return;
foreach (var actor in data.Objects.Where(a => a is { IsCharacter: true, Model.IsHuman: true }))
@ -295,7 +295,7 @@ public class StateApplier(
{
var data = GetData(state);
if (apply)
ChangeParameters(data, flags, state.ModelData.Parameters);
ChangeParameters(data, flags, state.ModelData.Parameters, state.IsLocked);
return data;
}

View file

@ -746,11 +746,14 @@ public class StateListener : IDisposable
model.ApplySingleParameterData(flag, state.ModelData.Parameters);
break;
case StateChanged.Source.Fixed:
case StateChanged.Source.Ipc:
state.BaseData.Parameters.Set(flag, newValue);
if (_config.UseAdvancedParameters)
model.ApplySingleParameterData(flag, state.ModelData.Parameters);
break;
case StateChanged.Source.Ipc:
state.BaseData.Parameters.Set(flag, newValue);
model.ApplySingleParameterData(flag, state.ModelData.Parameters);
break;
}
}
}