public static bool FixLrHrNodes(string acRoot, string carName) {
var kn5File = FileUtils.GetMainCarFilename(acRoot, carName);
var kn5 = Kn5.FromFile(kn5File);
var fixedNodes = 0;
foreach (var node in kn5.Nodes) {
if (node.NodeClass != Kn5NodeClass.Base) continue;
if (!node.Active && (
node.Name == "STEER_HR" ||
node.Name == "COCKPIT_HR" ||
node.Name == "STEER_LR" && FixLrHrNodes_HasParentWithName(kn5.RootNode, node, "COCKPIT_LR")
)) {
fixedNodes++;
node.Active = true;
} else if (node.Active && (
node.Name == "STEER_LR" ||
node.Name == "COCKPIT_LR" ||
node.Name.StartsWith("DAMAGE_GLASS")
)) {
fixedNodes++;
node.Active = false;
}
}
if (fixedNodes == 0){
return false;
}
FileUtils.Recycle(kn5File);
kn5.Save(kn5File, true);
return true;
}