void hkvTextureAsset::setSpecificProperty(const hkvProperty& prop, const hkArray<hkStringPtr>& path, unsigned int stackIndex, hkvProperty::Purpose purpose) { int stackSize = (path.getSize() - stackIndex); if ((stackSize == 1) && (hkvStringHelper::safeCompare(path.back(), "Texture") == 0)) { m_imageProperties.setProperty(prop, path, stackIndex + 1, purpose); // Usage is still present here for backwards compatibility to convert older asset libraries, but has now moved to the texture transform rule instead. if (hkvStringHelper::safeCompare(prop.getName(), "Usage") == 0) { if (purpose == hkvProperty::PURPOSE_SERIALIZATION) { if (m_usageInstance.setByString(prop.getString()) != HK_SUCCESS) { m_usageInstance.setByAvailableElementsId(0); } } } else if (hkvStringHelper::safeCompare(prop.getName(), "sRGB") == 0) { m_sRgb = prop.getBool(); } } }
void hkvTextureAsset::setSpecificProperty(const hkvProperty& prop, const hkArray<hkStringPtr>& path, unsigned int stackIndex, hkvProperty::Purpose purpose) { int stackSize = (path.getSize() - stackIndex); if ((stackSize == 1) && (hkvStringHelper::safeCompare(path.back(), "Texture") == 0)) { m_imageProperties.setProperty(prop, path, stackIndex + 1, purpose); if (hkvStringHelper::safeCompare(prop.getName(), "Usage") == 0) { if (purpose == hkvProperty::PURPOSE_SERIALIZATION) { if (m_usageInstance.setByString(prop.getString()) != HK_SUCCESS) { m_usageInstance.setByAvailableElementsId(0); } } else { m_usageInstance.setByAvailableElementsId(prop.getEnumValue()); } } else if (hkvStringHelper::safeCompare(prop.getName(), "sRGB") == 0) { m_sRgb = prop.getBool(); } } }
void hkvStaticMeshAsset::setSpecificProperty(const hkvProperty& prop, const hkArray<hkStringPtr>& path, unsigned int stackIndex, hkvProperty::Purpose purpose) { int stackSize = (path.getSize() - stackIndex); if ((stackSize == 1) && (hkvStringHelper::safeCompare(path.back(), "Model") == 0)) { if (hkvStringHelper::safeCompare(prop.getName(), "LODSwitchDistances") == 0) { m_lodDistances = prop.getArray(); } } }
void hkvImageFileProperties::setProperty(const hkvProperty& prop, const hkArray<hkStringPtr>& path, hkUint32 stackIndex, hkvProperty::Purpose purpose) { int stackSize = (path.getSize() - stackIndex); if ((stackSize != 0)) return; if (hkvStringHelper::safeCompare(prop.getName(), "FileFormat") == 0) { if (m_imageFormatInstance.setByString(prop.getString()) != HK_SUCCESS) { m_imageFormatInstance.setByDefinitionId(HKV_IMAGE_FILE_FORMAT_INVALID); } } else if (hkvStringHelper::safeCompare(prop.getName(), "Width") == 0) { m_width = prop.getUint(); } else if (hkvStringHelper::safeCompare(prop.getName(), "Height") == 0) { m_height = prop.getUint(); } else if (hkvStringHelper::safeCompare(prop.getName(), "HasAlpha") == 0) { m_hasAlpha = prop.getBool(); } }
void hkvFbxAsset::setInternalProperty(const hkvProperty& prop, const hkArray<hkStringPtr>& path, unsigned int stackIndex, hkvProperty::Purpose purpose) { int stackSize = (path.getSize() - stackIndex); if ((stackSize >= 1) && (hkvStringHelper::safeCompare(path[stackIndex + 0], "FBX") == 0)) { if (stackSize == 1) { if (purpose == hkvProperty::PURPOSE_SERIALIZATION) { if (hkvStringHelper::safeCompare(prop.getName(), "FBX Target") == 0) { if (m_fbxTarget.setByString(prop.getString()) != HK_SUCCESS) { m_fbxTarget.setByAvailableElementsId(0); } } } else { if (hkvStringHelper::safeCompare(prop.getName(), "FBX Target") == 0) { if (m_fbxTarget.getAvailableElementsId() != prop.getEnumValue()) { hkvFbxTarget oldTarget = (hkvFbxTarget)m_fbxTarget.getDefinitionId(); m_fbxTarget.setByAvailableElementsId(prop.getEnumValue()); m_tagfiles.clear(); } } } } setTagfileArrayProperty(prop, path, stackIndex + 1, purpose); } hkvFilterManagerTransformableAsset::setInternalProperty(prop, path, stackIndex, purpose); }
void hkvTextureTransformationRule::setProperty(const hkvProperty& prop, const hkArray<hkStringPtr>& path, unsigned int iStackIndex, hkvProperty::Purpose purpose) { int iStackSize = (path.getSize() - iStackIndex); if (iStackSize == 0) { if (hkvStringHelper::safeCompare(prop.getName(), "Compression") == 0) { if (purpose == hkvProperty::PURPOSE_SERIALIZATION) { if (m_compressionInstance.setByString(prop.getString()) != HK_SUCCESS) { m_compressionInstance.setByAvailableElementsId(0); } } else { m_compressionInstance.setByAvailableElementsId(prop.getEnumValue()); } } else if (hkvStringHelper::safeCompare(prop.getName(), "Usage") == 0) { if (purpose == hkvProperty::PURPOSE_SERIALIZATION) { if (m_usageInstance.setByString(prop.getString()) != HK_SUCCESS) { m_usageInstance.setByAvailableElementsId(0); } } else { m_usageInstance.setByAvailableElementsId(prop.getEnumValue()); } } else if (hkvStringHelper::safeCompare(prop.getName(), "RemoveAlphaChannel") == 0) { m_removeAlphaChannel = prop.getBool(); } else if (hkvStringHelper::safeCompare(prop.getName(), "CreateMipMaps") == 0) { m_createMipMaps = prop.getBool(); } else if (hkvStringHelper::safeCompare(prop.getName(), "DownscaleLevel") == 0) { m_downscaleLevel = prop.getUint(); } else if (hkvStringHelper::safeCompare(prop.getName(), "MinimumSize") == 0) { m_minSize = prop.getUint(); if (m_minSize < 0) { m_minSize = 0; } if (m_minSize > 0 && m_maxSize > 0 && m_minSize > m_maxSize) { m_minSize = m_maxSize; } } else if (hkvStringHelper::safeCompare(prop.getName(), "MaximumSize") == 0) { m_maxSize = prop.getUint(); if (m_maxSize < 0) { m_maxSize = 0; } if (m_minSize > 0 && m_maxSize > 0 && m_maxSize < m_minSize) { m_maxSize = m_minSize; } } } }