Additional processing condition checks

This commit is contained in:
Jack Andersen 2016-08-31 13:31:12 -10:00
parent 129767134e
commit dc0bb55390
4 changed files with 12 additions and 3 deletions

View File

@ -156,6 +156,9 @@ const hecl::Database::DataSpecEntry* SpecBase::overrideDataSpec(const hecl::Proj
return nullptr; return nullptr;
if (hecl::IsPathBlend(path)) if (hecl::IsPathBlend(path))
{ {
if (hecl::StringUtils::EndsWith(path.getAuxInfo(), _S(".CSKR")))
return oldEntry;
hecl::BlenderConnection& conn = btok.getBlenderConnection(); hecl::BlenderConnection& conn = btok.getBlenderConnection();
if (!conn.openBlend(path)) if (!conn.openBlend(path))
{ {

View File

@ -410,11 +410,11 @@ void ProjectResourceFactoryBase::AsyncTask::CookComplete()
/* Ready for buffer transaction at this point */ /* Ready for buffer transaction at this point */
u32 availSz = std::max(0, s32(fr.length()) - s32(x14_resOffset)); u32 availSz = std::max(0, s32(fr.length()) - s32(x14_resOffset));
u32 sz = std::min(x14_resSize, availSz); x14_resSize = std::min(x14_resSize, availSz);
x10_loadBuffer.reset(new u8[sz]); x10_loadBuffer.reset(new u8[x14_resSize]);
m_bufTransaction = m_parent.m_clientProc.addBufferTransaction(m_cookedPath, m_bufTransaction = m_parent.m_clientProc.addBufferTransaction(m_cookedPath,
x10_loadBuffer.get(), x10_loadBuffer.get(),
sz, x14_resOffset); x14_resSize, x14_resOffset);
} }
bool ProjectResourceFactoryBase::AsyncTask::AsyncPump() bool ProjectResourceFactoryBase::AsyncTask::AsyncPump()

View File

@ -213,6 +213,9 @@ std::shared_ptr<CAnimationManager> CAnimData::GetAnimationManager() const
void CAnimData::RecalcPoseBuilder(const CCharAnimTime* time) void CAnimData::RecalcPoseBuilder(const CCharAnimTime* time)
{ {
if (!x1f8_animRoot)
return;
const CSegIdList& segIdList = GetCharLayoutInfo().GetSegIdList(); const CSegIdList& segIdList = GetCharLayoutInfo().GetSegIdList();
CSegStatementSet segSet; CSegStatementSet segSet;
if (time) if (time)

View File

@ -461,6 +461,9 @@ void CBooModel::UpdateUniformData(const CModelFlags& flags,
const CSkinRules* cskr, const CSkinRules* cskr,
const CPoseAsTransforms* pose) const const CPoseAsTransforms* pose) const
{ {
if (!m_uniformBuffer)
return;
u8* dataOut = reinterpret_cast<u8*>(m_uniformBuffer->map(m_uniformDataSize)); u8* dataOut = reinterpret_cast<u8*>(m_uniformBuffer->map(m_uniformDataSize));
u8* dataCur = dataOut; u8* dataCur = dataOut;