Added more loose matching options, fixed some race issues

This commit is contained in:
cake
2026-01-03 15:59:10 +01:00
parent e41a7149c5
commit 02d091eefa
5 changed files with 122 additions and 134 deletions

View File

@@ -3114,7 +3114,7 @@ public class SettingsUi : WindowMediatorSubscriberBase
var tooltips = new[]
{
"No validation. Fastest, but may allow incompatible animations (riskier).",
"Validates bone indices against your current skeleton (recommended).",
"Validates skeleton race (recommended).",
"Requires matching skeleton race + bone compatibility (strictest).",
};
@@ -3154,6 +3154,27 @@ public class SettingsUi : WindowMediatorSubscriberBase
}
UiSharedService.ColoredSeparator(UIColors.Get("LightlessPurple"), 1.5f);
var cfg = _configService.Current;
bool oneBased = cfg.AnimationAllowOneBasedShift;
if (ImGui.Checkbox("Treat 1-based PAP indices as compatible", ref oneBased))
{
cfg.AnimationAllowOneBasedShift = oneBased;
_configService.Save();
}
if (ImGui.IsItemHovered())
ImGui.SetTooltip("Fixes off-by-one PAPs (one bone differance in bones and PAP). Can also increase crashing, toggle off if alot of crashing is happening");
bool neighbor = cfg.AnimationAllowNeighborIndexTolerance;
if (ImGui.Checkbox("Allow 1+- bone index tolerance", ref neighbor))
{
cfg.AnimationAllowNeighborIndexTolerance = neighbor;
_configService.Save();
}
if (ImGui.IsItemHovered())
ImGui.SetTooltip("Looser matching on bone matching. Can reduce false blocks happening but also reduces safety and more prone to crashing.");
ImGui.TreePop();
animationTree.MarkContentEnd();
}