Skip to content

Commit

Permalink
~ CR2WToYml: array dumping fixes
Browse files Browse the repository at this point in the history
  • Loading branch information
nikich340 committed Apr 30, 2022
1 parent 967e9e2 commit 8a4095f
Showing 1 changed file with 15 additions and 9 deletions.
24 changes: 15 additions & 9 deletions WolvenKit/Forms/frmCR2WtoText.cs
Original file line number Diff line number Diff line change
Expand Up @@ -775,6 +775,7 @@ private void setupYmlMapCases()
mapInArray.Add(new List<string> { "CEntityTemplate", "bodyParts", "name" });
mapInArray.Add(new List<string> { "CEntityTemplate", "slots", "name" });
mapInArray.Add(new List<string> { "CEntityTemplate", "effects", "name" });
mapInArray.Add(new List<string> { "CByteArray", "streamingDataBuffer", "name" });
// --- cutscenes
mapInArray.Add(new List<string> { "CCutsceneTemplate", "effects", "name" });
// --- entities
Expand Down Expand Up @@ -1075,7 +1076,10 @@ string prepareValue(IEditableVariable node, string type = "")
}
private void ProcessNodeYml_EngineTransform(IEditableVariable node, int cur_level, bool isArrayElement = false)
{
WriterYml.Write((isArrayElement ? "- " : "") + prepareName(node.REDName) + ":", cur_level);
if (isArrayElement)
WriterYml.Write("- \".type\": " + node.REDType, cur_level);
else
WriterYml.Write(prepareName(node.REDName) + ":", cur_level);
string x = "0.0", y = "0.0", z = "0.0", pitch = "0.0", yaw = "0.0", roll = "0.0", scale_x = "1.0", scale_y = "1.0", scale_z = "1.0";
List<IEditableVariable> children = node.GetEditableVariables();

Expand Down Expand Up @@ -1139,7 +1143,7 @@ private void ProcessNodeYml_Vector(IEditableVariable node, int cur_level, bool i
break;
}
}
WriterYml.Write((isArrayElement ? "- " : "") + prepareName(node.REDName) + ": [ " + X + ", " + Y + ", " + Z + ", " + W + " ]", cur_level);
WriterYml.Write((isArrayElement ? "- " : (prepareName(node.REDName) + ": ")) + "[ " + X + ", " + Y + ", " + Z + ", " + W + " ]", cur_level);
}
private void ProcessNodeYml_EulerAngles(IEditableVariable node, int cur_level, bool isArrayElement = false)
{
Expand All @@ -1161,7 +1165,7 @@ private void ProcessNodeYml_EulerAngles(IEditableVariable node, int cur_level, b
break;
}
}
WriterYml.Write((isArrayElement ? "- " : "") + prepareName(node.REDName) + ": [ " + pitch + ", " + yaw + ", " + roll + " ]", cur_level);
WriterYml.Write((isArrayElement ? "- " : (prepareName(node.REDName) + ": ")) + "[ " + pitch + ", " + yaw + ", " + roll + " ]", cur_level);
}
private void ProcessNodeYml_Color(IEditableVariable node, int cur_level, bool isArrayElement = false)
{
Expand All @@ -1186,7 +1190,7 @@ private void ProcessNodeYml_Color(IEditableVariable node, int cur_level, bool is
break;
}
}
WriterYml.Write((isArrayElement ? "- " : "") + prepareName(node.REDName) + ": [ " + Red + ", " + Green + ", " + Blue + ((Alpha == "-1.0") ? "" : (", " + Alpha)) + " ]", cur_level);
WriterYml.Write((isArrayElement ? "- " : (prepareName(node.REDName) + ": ")) + "[ " + Red + ", " + Green + ", " + Blue + ((Alpha == "-1.0") ? "" : (", " + Alpha)) + " ]", cur_level);
}
private void ProcessNodeYml_cookedEffects(IEditableVariable node, int cur_level, bool isArrayElement = false)
{
Expand Down Expand Up @@ -1331,26 +1335,26 @@ string getSpecialYmlMapNameVar(IEditableVariable node)

private void ProcessNodeYml(IEditableVariable node, int level, bool isArrayElement = false, string useNameVar = "")
{
//Console.WriteLine(new String(' ', level) + "> node: " + node.REDName + ", type: " + node.REDType + ", value: " + node.REDValue);
Console.WriteLine(new String(' ', level) + "> node: " + node.REDName + ", type: " + node.REDType + ", value: " + node.REDValue);
// special cases for rmemr encoder
if (node.REDType == "EngineTransform")
{
ProcessNodeYml_EngineTransform(node, level);
ProcessNodeYml_EngineTransform(node, level, isArrayElement);
return;
}
if (node.REDType == "Vector" || node.REDType == "SVector4D")
{
ProcessNodeYml_Vector(node, level);
ProcessNodeYml_Vector(node, level, isArrayElement);
return;
}
if (node.REDType == "EulerAngles")
{
ProcessNodeYml_EulerAngles(node, level);
ProcessNodeYml_EulerAngles(node, level, isArrayElement);
return;
}
if (node.REDType == "Color")
{
ProcessNodeYml_Color(node, level);
ProcessNodeYml_Color(node, level, isArrayElement);
return;
}
if (node.REDName == "cookedEffects")
Expand Down Expand Up @@ -1393,6 +1397,8 @@ private void ProcessNodeYml(IEditableVariable node, int level, bool isArrayEleme
if (useNameVar == "")
useNameVar = mapNameVar;

Console.WriteLine(new String(' ', level) + "> nodeExtra: Childs: " + children.Count());

if (node.REDName == "AttachmentsChild" && children.Count() == 0)
return;

Expand Down

0 comments on commit 8a4095f

Please sign in to comment.