void hkvTagfileAsset::getInternalProperties(hkvPropertyList& properties, hkvProperty::Purpose purpose) const { int iFlags = (purpose == hkvProperty::PURPOSE_USER_INTERFACE_READ_ONLY) ? hkvProperty::FLAG_READ_ONLY : 0; if (purpose == hkvProperty::PURPOSE_SERIALIZATION) { m_tagfiles[0].getTagfileEntryProperties(properties, purpose); } else { const TagfileEntry& entry = m_tagfiles[0]; hkStringBuf absSourcePath; getAbsoluteFilePath(absSourcePath); hkStringBuf relAssetFolder; getRelativeFilePath(relAssetFolder); relAssetFolder.pathDirname(); hkStringBuf name = getName(); hkvStringHelper::pathNoExtension(name); hkStringBuf relTargetPath; entry.getRelativeTargetPath(relTargetPath, relAssetFolder, name); const char* absLibraryPath = getOwnerLibrary()->getPath(); hkStringBuf absTargetPath = absLibraryPath; absTargetPath.pathAppend(relTargetPath); entry.getTagfileEntryProperties(properties, purpose, absSourcePath, absTargetPath, absLibraryPath); } }
const char* hkvFbxAsset::makeFbxTargetName(hkStringBuf& out_filename) const { hkStringBuf hashString; hkvStringHelper::encodeNumberBase32Mod(getFbxHash(), hashString); hkStringBuf targetBaseName; getRelativeFilePath(targetBaseName); targetBaseName.pathBasename(); hkvStringHelper::pathNoExtension(targetBaseName); static const int maxNameLen = 40; out_filename.clear(); hkStringBuf variantPartBuf(hashString); int availableBasePartLen = maxNameLen - variantPartBuf.getLength(); if (availableBasePartLen > 0) { int toCopy = hkvMath::Min(targetBaseName.getLength(), availableBasePartLen); out_filename.append(targetBaseName, toCopy); } out_filename.append(variantPartBuf); hkvStringHelper::toLowerCase(out_filename); return out_filename; }
hkvAssetOperationResult hkvTextureAsset::updateAssetSpecificData(hkStreamReader& fileData) const { clearAssetSpecificData(); hkStringBuf pathBuf; hkvImageFileFormat imageFormat = hkvImageFile::guessFormatFromFileName(getRelativeFilePath(pathBuf)); hkResult examineResult = m_imageProperties.examineStream(fileData, imageFormat); return (examineResult == HK_SUCCESS) ? HKV_AOR_SUCCESS : HKV_AOR_FAILURE; }