2
0
mirror of https://github.com/AxioDL/metaforce.git synced 2025-12-09 22:27:41 +00:00

New code style refactor

This commit is contained in:
Jack Andersen
2018-12-07 19:30:43 -10:00
parent 41ae32be31
commit 636c82a568
1451 changed files with 171430 additions and 203303 deletions

View File

@@ -5,54 +5,48 @@
#include "zeus/CQuaternion.hpp"
#include "CLayoutDescription.hpp"
namespace urde
{
namespace urde {
class CLayoutDescription;
class CCharLayoutInfo;
class CPoseAsTransforms;
class CHierarchyPoseBuilder
{
CLayoutDescription x0_layoutDesc;
bool x34_ = 0;
class CHierarchyPoseBuilder {
CLayoutDescription x0_layoutDesc;
bool x34_ = 0;
struct CTreeNode {
CSegId x0_child = 0;
CSegId x1_sibling = 0;
zeus::CQuaternion x4_rotation;
zeus::CVector3f x14_offset;
CTreeNode() = default;
CTreeNode(const zeus::CVector3f& offset) : x14_offset(offset) {}
CTreeNode(const zeus::CQuaternion& quat) : x4_rotation(quat) {}
CTreeNode(const zeus::CQuaternion& quat, const zeus::CVector3f& offset) : x4_rotation(quat), x14_offset(offset) {}
};
TSegIdMap<CTreeNode> x38_treeMap;
struct CTreeNode
{
CSegId x0_child = 0;
CSegId x1_sibling = 0;
zeus::CQuaternion x4_rotation;
zeus::CVector3f x14_offset;
CTreeNode() = default;
CTreeNode(const zeus::CVector3f& offset) : x14_offset(offset) {}
CTreeNode(const zeus::CQuaternion& quat) : x4_rotation(quat) {}
CTreeNode(const zeus::CQuaternion& quat, const zeus::CVector3f& offset)
: x4_rotation(quat), x14_offset(offset) {}
};
TSegIdMap<CTreeNode> x38_treeMap;
CSegId xcec_rootId;
bool xcf0_hasRoot = false;
CSegId xcec_rootId;
bool xcf0_hasRoot = false;
void BuildIntoHierarchy(const CCharLayoutInfo& layout, const CSegId& boneId, const CSegId& nullId);
void RecursivelyBuildNoScale(const CSegId& boneId, const CTreeNode& node, CPoseAsTransforms& pose,
const zeus::CQuaternion& rot, const zeus::CMatrix3f& scale,
const zeus::CVector3f& offset) const;
void RecursivelyBuild(const CSegId& boneId, const CTreeNode& node, CPoseAsTransforms& pose,
const zeus::CQuaternion& rot, const zeus::CMatrix3f& scale,
const zeus::CVector3f& offset) const;
void BuildIntoHierarchy(const CCharLayoutInfo& layout,
const CSegId& boneId, const CSegId& nullId);
void RecursivelyBuildNoScale(const CSegId& boneId, const CTreeNode& node,
CPoseAsTransforms& pose, const zeus::CQuaternion& rot,
const zeus::CMatrix3f& scale, const zeus::CVector3f& offset) const;
void RecursivelyBuild(const CSegId& boneId, const CTreeNode& node,
CPoseAsTransforms& pose, const zeus::CQuaternion& rot,
const zeus::CMatrix3f& scale, const zeus::CVector3f& offset) const;
public:
CHierarchyPoseBuilder(const CLayoutDescription& layout);
CHierarchyPoseBuilder(const CLayoutDescription& layout);
const TLockedToken<CCharLayoutInfo> CharLayoutInfo() const { return x0_layoutDesc.ScaledLayout(); }
bool HasRoot() const { return xcf0_hasRoot; }
void BuildTransform(const CSegId& boneId, zeus::CTransform& xfOut) const;
void BuildNoScale(CPoseAsTransforms& pose);
void Insert(const CSegId& boneId, const zeus::CQuaternion& quat);
void Insert(const CSegId& boneId, const zeus::CQuaternion& quat, const zeus::CVector3f& offset);
TSegIdMap<CTreeNode>& GetTreeMap() { return x38_treeMap; }
const TLockedToken<CCharLayoutInfo> CharLayoutInfo() const { return x0_layoutDesc.ScaledLayout(); }
bool HasRoot() const { return xcf0_hasRoot; }
void BuildTransform(const CSegId& boneId, zeus::CTransform& xfOut) const;
void BuildNoScale(CPoseAsTransforms& pose);
void Insert(const CSegId& boneId, const zeus::CQuaternion& quat);
void Insert(const CSegId& boneId, const zeus::CQuaternion& quat, const zeus::CVector3f& offset);
TSegIdMap<CTreeNode>& GetTreeMap() { return x38_treeMap; }
};
}
} // namespace urde