diff options
| author | 2026-06-18 11:00:16 -0400 | |
|---|---|---|
| committer | 2026-06-18 11:00:16 -0400 | |
| commit | 3f5ebab86569bbcb21faaaf81e0fbb5d210b874b (patch) | |
| tree | d0ccf96cc99706ac2e25f15d9328750aab69841b | |
| parent | ce8a6d4f0f9d4a01ba65bb7230dd209af36e6ccd (diff) | |
| download | WorldTuningTool-3f5ebab86569bbcb21faaaf81e0fbb5d210b874b.tar.gz WorldTuningTool-3f5ebab86569bbcb21faaaf81e0fbb5d210b874b.tar.bz2 WorldTuningTool-3f5ebab86569bbcb21faaaf81e0fbb5d210b874b.zip | |
Display what is superseding a listed Override
Ref: https://codeberg.org/pizzabelly/WorldTuningTool/pulls/1
Signed-off-by: Andrew Opalach <andrew@akon.city>
| -rwxr-xr-x | Plugin.cs | 53 |
1 files changed, 48 insertions, 5 deletions
@@ -1193,8 +1193,17 @@ namespace WorldTuningTool Unset();
if (Param != null)
{
- Assert(stageOverrides == null || forPreset);
- if (!(stageOverrides != null && setIfOverridesContainsParam(stageOverrides, Param)))
+ if (forPreset)
+ {
+ if (!(stageOverrides != null && setIfOverridesContainsParam(stageOverrides, Param)))
+ {
+ if (globalOverrides != null)
+ {
+ setIfOverridesContainsParam(globalOverrides, Param);
+ }
+ }
+ }
+ else
{
if (globalOverrides != null)
{
@@ -1293,10 +1302,44 @@ namespace WorldTuningTool ImGui.EndTooltip();
}
}
- else if (valueDiffers || superseded)
+ else if (valueDiffers)
{
ImGui.SameLine();
- Param.DrawReferenceValue("Current", v4, i1);
+ if (!superseded)
+ {
+ Param.DrawReferenceValue("Current", v4, i1);
+ }
+ else
+ {
+ if (forPreset)
+ {
+ Assert(overridesContainsParam(externalOverrides.Values, Param));
+ Param.DrawReferenceValue("Set by 'External'", v4, i1);
+ }
+ else
+ {
+ Config config = getConfig();
+ // Reverse order of selectedOverrideSuperseded().
+ if (overridesContainsParam(externalOverrides.Values, Param))
+ {
+ Param.DrawReferenceValue("Set by 'External'", v4, i1);
+ }
+ else if (selectedPreset != "" && overridesContainsParam(config.Presets[selectedPreset], Param))
+ {
+ Param.DrawReferenceValue($"Set by '{selectedPreset}'", v4, i1);
+ }
+ else if (globalOverrides == null && stageOverrides != null &&
+ overridesContainsParam(stageOverrides, Param))
+ {
+ Param.DrawReferenceValue($"Set by '{Config.StageToString(currentStage)}'", v4, i1);
+ }
+ else // Superseded because inactive.
+ {
+ Assert(globalOverrides != null && selectedStage != currentStage);
+ Param.DrawReferenceValue("Current", v4, i1);
+ }
+ }
+ }
}
}
else if (fade)
@@ -2892,7 +2935,7 @@ namespace WorldTuningTool (selectedOverrides[i], selectedOverrides[i + 1]) = (selectedOverrides[i + 1], selectedOverrides[i]);
selectedOrderChanged = true;
}
- ovS.Draw(false, selectedOverrides, null, globalOverrides, superseded, width);
+ ovS.Draw(false, selectedOverrides, stageOverrides, globalOverrides, superseded, width);
if (requestUp && i > 0)
{
(selectedOverrides[i], selectedOverrides[i - 1]) = (selectedOverrides[i - 1], selectedOverrides[i]);
|