Merge pull request #1781 from Areloch/ShapeImportFixes_20260627
Some checks are pending
Linux Build / Ubuntu GCC Latest (push) Waiting to run
Linux Build / Ubuntu GCC 13 (push) Waiting to run
MacOSX Build / macOS ARM Xcode (push) Waiting to run
MacOSX Build / macOS ARM Clang Ninja (push) Waiting to run
Windows Build / Windows MSVC Ninja (push) Waiting to run
Windows Build / Windows MSVC Visual Studio 2022 (push) Waiting to run
Windows Build / Windows MSVC Visual Studio 2026 (push) Waiting to run

Fixes for shape importing/taml writing
This commit is contained in:
Brian Roberts 2026-06-30 14:31:38 -05:00 committed by GitHub
commit 6d8f83bd3a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 29 additions and 3 deletions

View file

@ -3044,9 +3044,11 @@ Torque::Path AssetImporter::importShapeAsset(AssetImportObject* assetItem)
StringTableEntry assetName = StringTable->insert(assetItem->assetName.c_str());
String shapeFileName = "@" + assetItem->filePath.getFileName() + "." + assetItem->filePath.getExtension();
String constructorFileName = assetItem->filePath.getFileName() + "." TORQUE_SCRIPT_EXTENSION;
String shapeFileName =assetItem->filePath.getFileName() + "." + assetItem->filePath.getExtension();
String assetPath = targetPath + "/" + shapeFileName;
shapeFileName = "@" + shapeFileName;
String constructorFileName = assetItem->filePath.getFileName() + "." TORQUE_SCRIPT_EXTENSION;
String constructorPath = targetPath + "/" + constructorFileName;
constructorFileName = "@" + constructorFileName;
String tamlPath = targetPath + "/" + assetName + ".asset.taml";
@ -3130,6 +3132,29 @@ Torque::Path AssetImporter::importShapeAsset(AssetImportObject* assetItem)
return "";
}
if (!isReimport)
{
char qualifiedFromFile[2048];
char qualifiedToFile[2048];
#ifndef TORQUE_SECURE_VFS
Platform::makeFullPathName(originalPath.c_str(), qualifiedFromFile, sizeof(qualifiedFromFile));
Platform::makeFullPathName(assetPath.c_str(), qualifiedToFile, sizeof(qualifiedToFile));
#else
dStrcpy(qualifiedFromFile, originalPath.c_str(), sizeof(qualifiedFromFile));
dStrcpy(qualifiedToFile, assetPath.c_str(), sizeof(qualifiedToFile));
#endif
bool isInPlace = !String::compare(qualifiedFromFile, qualifiedToFile);
if (!isInPlace && !Torque::FS::CopyFile(qualifiedFromFile, qualifiedToFile, !isReimport))
{
dSprintf(importLogBuffer, sizeof(importLogBuffer), "Error! Unable to copy file %s", qualifiedFromFile);
activityLog.push_back(importLogBuffer);
return "";
}
}
bool makeNewConstructor = true;
if (!isReimport)
{

View file

@ -252,8 +252,9 @@ bool Taml::write(SimObject* pSimObject, const char* pFilename)
stream.close();
// Reset the compilation.
resetCompilation();
mWriteLocked = false;
resetCompilation();
return status;
}