bool CActionScope::InstallAnimation(const SAnimationEntry &animEntry, int layer, const SAnimBlend &animBlend) { if (animEntry.animRef.IsEmpty()) { StopAnimationOnLayer(layer, animBlend.duration); return true; } else { int animID = m_scopeContext.charInst->GetIAnimationSet()->GetAnimIDByCRC(animEntry.animRef.crc); if (animID >= 0) { //--- Cleared for install, install across scopes CryCharAnimationParams animParams; InitAnimationParams(animEntry, layer, animBlend, animParams); return InstallAnimation(animID, animParams); } else { CryWarning(VALIDATOR_MODULE_GAME, VALIDATOR_WARNING, "Invalid anim ref %s on scope %s in database %s", animEntry.animRef.GetString(), m_name.c_str(), m_scopeContext.database->GetFilename()); StopAnimationOnLayer(layer, animBlend.duration); return false; } } }
bool CActionScope::InstallAnimation(const SAnimationEntry &animEntry, int layer, const SAnimBlend &animBlend) { if ((BIT(layer) & m_mutedAnimLayerMask) == BIT(layer)) { return false; } if (animEntry.animRef.IsEmpty()) { StopAnimationOnLayer(layer, animBlend.duration); return true; } else { int animID = m_scopeContext.pCharInst->GetIAnimationSet()->GetAnimIDByCRC(animEntry.animRef.crc); if (animID >= 0) { //--- Cleared for install, install across scopes CryCharAnimationParams animParams; InitAnimationParams(animEntry, layer, animBlend, animParams); return InstallAnimation(animID, animParams); } else { CryWarning(VALIDATOR_MODULE_GAME, VALIDATOR_WARNING, "Invalid anim ref '%s' on scope '%s' in database '%s'. Skeleton '%s'", animEntry.animRef.c_str(), m_name.c_str(), m_scopeContext.pDatabase->GetFilename(), m_scopeContext.pCharInst->GetIDefaultSkeleton().GetModelFilePath()); StopAnimationOnLayer(layer, animBlend.duration); return false; } } }