mirror of https://github.com/AxioDL/metaforce.git
Implement GetLocatorTransform
This commit is contained in:
parent
ce3014b313
commit
8422ffb436
|
@ -35,7 +35,7 @@ void ViewManager::BuildTestPART(urde::IObjectStore& objStore)
|
||||||
CAnimRes samusAnimRes(samusCharSet.id, 2, zeus::CVector3f{2.f, 2.f, 2.f}, 0, true);
|
CAnimRes samusAnimRes(samusCharSet.id, 2, zeus::CVector3f{2.f, 2.f, 2.f}, 0, true);
|
||||||
g_GameState->GetWorldTransitionManager()->EnableTransition(samusAnimRes,
|
g_GameState->GetWorldTransitionManager()->EnableTransition(samusAnimRes,
|
||||||
platModel.id, zeus::CVector3f::skOne,
|
platModel.id, zeus::CVector3f::skOne,
|
||||||
bgModel.id, zeus::CVector3f::skOne, false);
|
bgModel.id, zeus::CVector3f::skOne, true);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
SObjectTag areaTag = m_projManager.TagFromPath(
|
SObjectTag areaTag = m_projManager.TagFromPath(
|
||||||
|
@ -70,7 +70,7 @@ void ViewManager::BuildTestPART(urde::IObjectStore& objStore)
|
||||||
m_videoVoice = m_voiceEngine->allocateNewStereoVoice(32000, &m_voiceCallback);
|
m_videoVoice = m_voiceEngine->allocateNewStereoVoice(32000, &m_voiceCallback);
|
||||||
m_videoVoice->start();
|
m_videoVoice->start();
|
||||||
|
|
||||||
//m_rootView->accessContentViews().clear();
|
m_rootView->accessContentViews().clear();
|
||||||
m_rootView->accessContentViews().push_back(m_particleView.get());
|
m_rootView->accessContentViews().push_back(m_particleView.get());
|
||||||
m_rootView->updateSize();
|
m_rootView->updateSize();
|
||||||
}
|
}
|
||||||
|
|
|
@ -178,12 +178,20 @@ void CAnimData::CalcPlaybackAlignmentParms(const CAnimPlaybackParms& parms,
|
||||||
|
|
||||||
zeus::CTransform CAnimData::GetLocatorTransform(CSegId id, const CCharAnimTime* time) const
|
zeus::CTransform CAnimData::GetLocatorTransform(CSegId id, const CCharAnimTime* time) const
|
||||||
{
|
{
|
||||||
|
if (id == 0xFF)
|
||||||
return {};
|
return {};
|
||||||
|
|
||||||
|
zeus::CTransform ret;
|
||||||
|
if (!x220_31_poseCached)
|
||||||
|
const_cast<CAnimData*>(this)->RecalcPoseBuilder(time);
|
||||||
|
|
||||||
|
x2fc_poseBuilder.BuildTransform(id, ret);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
zeus::CTransform CAnimData::GetLocatorTransform(const std::string& name, const CCharAnimTime* time) const
|
zeus::CTransform CAnimData::GetLocatorTransform(const std::string& name, const CCharAnimTime* time) const
|
||||||
{
|
{
|
||||||
return {};
|
return GetLocatorTransform(xcc_layoutData->GetSegIdFromString(name), time);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool CAnimData::IsAnimTimeRemaining(float, const std::string& name) const
|
bool CAnimData::IsAnimTimeRemaining(float, const std::string& name) const
|
||||||
|
|
|
@ -16,6 +16,15 @@ zeus::CVector3f CCharLayoutInfo::GetFromParentUnrotated(const CSegId& id) const
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
CSegId CCharLayoutInfo::GetSegIdFromString(const std::string& name) const
|
||||||
|
{
|
||||||
|
auto it = x18_segIdMap.find(name);
|
||||||
|
if (it == x18_segIdMap.end())
|
||||||
|
return {};
|
||||||
|
|
||||||
|
return (*it).second;
|
||||||
|
}
|
||||||
|
|
||||||
void CCharLayoutNode::Bone::read(CInputStream& in)
|
void CCharLayoutNode::Bone::read(CInputStream& in)
|
||||||
{
|
{
|
||||||
x0_parentId = CSegId(in);
|
x0_parentId = CSegId(in);
|
||||||
|
|
|
@ -37,6 +37,7 @@ public:
|
||||||
const std::shared_ptr<CCharLayoutNode>& GetRootNode() const {return x0_node;}
|
const std::shared_ptr<CCharLayoutNode>& GetRootNode() const {return x0_node;}
|
||||||
const CSegIdList& GetSegIdList() const {return x8_segIdList;}
|
const CSegIdList& GetSegIdList() const {return x8_segIdList;}
|
||||||
zeus::CVector3f GetFromParentUnrotated(const CSegId& id) const;
|
zeus::CVector3f GetFromParentUnrotated(const CSegId& id) const;
|
||||||
|
CSegId GetSegIdFromString(const std::string& name) const;
|
||||||
};
|
};
|
||||||
|
|
||||||
CFactoryFnReturn FCharLayoutInfo(const SObjectTag&, CInputStream&, const CVParamTransfer&,
|
CFactoryFnReturn FCharLayoutInfo(const SObjectTag&, CInputStream&, const CVParamTransfer&,
|
||||||
|
|
Loading…
Reference in New Issue