Fixed some memory leaks
This commit is contained in:
@@ -53,7 +53,25 @@ BlendTree::BlendTree(EntityWrapper ModelEntity, Skeleton* skeleton)
|
||||
|
||||
BlendTree::~BlendTree()
|
||||
{
|
||||
Node* currentNode = m_Root;
|
||||
|
||||
while (currentNode->Child[0] != nullptr) {
|
||||
currentNode = currentNode->Child[0];
|
||||
}
|
||||
|
||||
std::list<Node*> m_NodesToRemove;
|
||||
|
||||
while (currentNode != nullptr) {
|
||||
currentNode = currentNode->Next();
|
||||
m_NodesToRemove.push_back(currentNode);
|
||||
}
|
||||
|
||||
for (auto it = m_NodesToRemove.begin(); it != m_NodesToRemove.end(); it++) {
|
||||
if ((*it) != nullptr) {
|
||||
delete (*it);
|
||||
(*it) = nullptr;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void BlendTree::PrintTree()
|
||||
|
||||
@@ -591,12 +591,14 @@ std::vector<glm::mat4> Skeleton::OverridePose(std::vector<glm::mat4> overridePos
|
||||
return finalPose;
|
||||
}
|
||||
|
||||
for (int i = 0; i < overridePose.size(); i++) {
|
||||
for (int i = 0; i < targetPose.size(); i++) {
|
||||
if(overridePose[i] != glm::mat4(1)) {
|
||||
finalPose.push_back(overridePose[i]);
|
||||
} else {
|
||||
finalPose.push_back(targetPose[i]);
|
||||
}
|
||||
|
||||
//finalPose.push_back(overridePose[i]);
|
||||
}
|
||||
|
||||
return finalPose;
|
||||
|
||||
Reference in New Issue
Block a user