static std::string FindFileLoosely()

in src/fbx/Fbx2Raw.cpp [983:1012]


static std::string FindFileLoosely(
    const std::string& fbxFileName,
    const std::string& directory,
    const std::vector<std::string>& directoryFileList) {
  if (FileUtils::FileExists(fbxFileName)) {
    return fbxFileName;
  }

  // From e.g. C:/Assets/Texture.jpg, extract 'Texture.jpg'
  const std::string fileName = FileUtils::GetFileName(fbxFileName);

  // Try to find a match with extension.
  for (const auto& file : directoryFileList) {
    if (StringUtils::CompareNoCase(fileName, FileUtils::GetFileName(file)) == 0) {
      return directory + "/" + file;
    }
  }

  // Get the file name without file extension.
  const std::string fileBase = FileUtils::GetFileBase(fileName);

  // Try to find a match that ignores file extension
  for (const auto& file : directoryFileList) {
    if (StringUtils::CompareNoCase(fileBase, FileUtils::GetFileBase(file)) == 0) {
      return directory + "/" + file;
    }
  }

  return "";
}