--Bug fixes

-Add support for Chaotica files which specify xform weight as "Base weight" instead of "base_weight".
 -Fix bug where Fractorium would crash when a new file was dragged in while previews were still rendering.
  --This was done by changing the TreeItemChanged() events in the library tab use a direct connection rather than a queued connection.
  --This obviated the need for QCoreApplication::processEvents() calls in the library tree code.
 -Fix bug where renaming a flame within a file, then tabbing away did not commit the name change.

--Code changes
 -Clean up some warnings about const variables in the latest version of Visual Studio 2019.
 -Upgrade installer to latest update of Visual Studio 2019.
This commit is contained in:
Person
2020-07-14 17:45:07 -07:00
parent a07955d12e
commit c0a1395a2b
5 changed files with 91 additions and 85 deletions

View File

@ -2395,8 +2395,8 @@ public:
{
m_Ang = M_2PI / Zeps(m_Divisor);
T a = std::atan2((m_D < 0 ? -std::log(-m_D) : std::log(m_D)) * m_R, M_2PI);
m_PrecalcC = std::cos(a) * m_R * std::cos(a) / m_Divisor;
m_PrecalcD = std::cos(a) * m_R * std::sin(a) / m_Divisor;
m_PrecalcC = std::cos(a) * m_R * std::cos(a) / Zeps(m_Divisor);
m_PrecalcD = std::cos(a) * m_R * std::sin(a) / Zeps(m_Divisor);
m_HalfC = m_PrecalcC / 2;
m_HalfD = m_PrecalcD / 2;
m_Coeff = m_PrecalcD == 0 ? 0 : T(-0.095) * m_Spread / m_PrecalcD;

View File

@ -1198,7 +1198,15 @@ bool XmlToEmber<T>::ParseEmberElementFromChaos(xmlNode* emberNode, Ember<T>& cur
std::string periterweights;
if (auto baseWeightChildNode = GetChildNode(weightsChildNode, "base_weight"))
if (ParseAndAssignContent(baseWeightChildNode, "name", "base_weight", weight)) { xf.m_Weight = weight; }
{
if (ParseAndAssignContent(baseWeightChildNode, "name", "base_weight", weight))
xf.m_Weight = weight;
}
else if (auto baseWeightChildNode = GetChildNode(weightsChildNode, "Base weight"))
{
if (ParseAndAssignContent(baseWeightChildNode, "name", "Base weight", weight))
xf.m_Weight = weight;
}
if (auto periterweightsChildNode = GetChildNode(weightsChildNode, "per_iterator_weights"))
{