summaryrefslogtreecommitdiff
path: root/Plugin.cs
diff options
context:
space:
mode:
authorAndrew Opalach <andrew@akon.city> 2026-06-18 11:00:16 -0400
committerAndrew Opalach <andrew@akon.city> 2026-06-18 11:00:16 -0400
commit3f5ebab86569bbcb21faaaf81e0fbb5d210b874b (patch)
treed0ccf96cc99706ac2e25f15d9328750aab69841b /Plugin.cs
parentce8a6d4f0f9d4a01ba65bb7230dd209af36e6ccd (diff)
downloadWorldTuningTool-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>
Diffstat (limited to 'Plugin.cs')
-rwxr-xr-xPlugin.cs53
1 files changed, 48 insertions, 5 deletions
diff --git a/Plugin.cs b/Plugin.cs
index d55391f..d0476fb 100755
--- a/Plugin.cs
+++ b/Plugin.cs
@@ -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]);