Пример #1
0
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);
  }
}
Пример #2
0
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;

  
}
Пример #3
0
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;
}