mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-15 08:34:40 +00:00
Merge branch 'Preview4_0' into bugfix-crash-variableinspector
This commit is contained in:
commit
2c7dc4e783
46 changed files with 414 additions and 281 deletions
|
|
@ -304,13 +304,13 @@ if (m##name##AssetId != StringTable->EmptyString())\
|
||||||
#pragma region Arrayed Asset Macros
|
#pragma region Arrayed Asset Macros
|
||||||
|
|
||||||
//Arrayed Assets
|
//Arrayed Assets
|
||||||
#define DECLARE_IMAGEASSET_ARRAY(className, name, profile, max) public: \
|
#define DECLARE_IMAGEASSET_ARRAY(className, name, max) public: \
|
||||||
static const U32 sm##name##Count = max;\
|
static const U32 sm##name##Count = max;\
|
||||||
GFXTexHandle m##name[max];\
|
GFXTexHandle m##name[max];\
|
||||||
StringTableEntry m##name##Name[max]; \
|
StringTableEntry m##name##Name[max]; \
|
||||||
StringTableEntry m##name##AssetId[max];\
|
StringTableEntry m##name##AssetId[max];\
|
||||||
AssetPtr<ImageAsset> m##name##Asset[max];\
|
AssetPtr<ImageAsset> m##name##Asset[max];\
|
||||||
GFXTextureProfile * m##name##Profile = &profile;\
|
GFXTextureProfile * m##name##Profile[max];\
|
||||||
public: \
|
public: \
|
||||||
const StringTableEntry get##name##File(const U32& index) const { return m##name##Name[index]; }\
|
const StringTableEntry get##name##File(const U32& index) const { return m##name##Name[index]; }\
|
||||||
void set##name##File(const FileName &_in, const U32& index) { m##name##Name[index] = StringTable->insert(_in.c_str());}\
|
void set##name##File(const FileName &_in, const U32& index) { m##name##Name[index] = StringTable->insert(_in.c_str());}\
|
||||||
|
|
@ -374,7 +374,7 @@ public: \
|
||||||
}\
|
}\
|
||||||
if (get##name(index) != StringTable->EmptyString() && m##name##Name[index] != StringTable->insert("texhandle"))\
|
if (get##name(index) != StringTable->EmptyString() && m##name##Name[index] != StringTable->insert("texhandle"))\
|
||||||
{\
|
{\
|
||||||
m##name[index].set(get##name(index), m##name##Profile, avar("%s() - mTextureObject (line %d)", __FUNCTION__, __LINE__));\
|
m##name[index].set(get##name(index), m##name##Profile[index], avar("%s() - mTextureObject (line %d)", __FUNCTION__, __LINE__));\
|
||||||
}\
|
}\
|
||||||
else\
|
else\
|
||||||
{\
|
{\
|
||||||
|
|
@ -405,7 +405,12 @@ public: \
|
||||||
else if (m##name##AssetId[index] != StringTable->EmptyString())\
|
else if (m##name##AssetId[index] != StringTable->EmptyString())\
|
||||||
return m##name##AssetId[index];\
|
return m##name##AssetId[index];\
|
||||||
else if (m##name##Name[index] != StringTable->EmptyString())\
|
else if (m##name##Name[index] != StringTable->EmptyString())\
|
||||||
return StringTable->insert(Platform::makeRelativePathName(m##name##Name[index], Platform::getMainDotCsDir()));\
|
{\
|
||||||
|
if (String(m##name##Name[index]).startsWith("#") || String(m##name##Name[index]).startsWith("$"))\
|
||||||
|
return StringTable->insert(m##name##Name[index]);\
|
||||||
|
else\
|
||||||
|
return StringTable->insert(Platform::makeRelativePathName(m##name##Name[index], Platform::getMainDotCsDir()));\
|
||||||
|
}\
|
||||||
else\
|
else\
|
||||||
return StringTable->EmptyString();\
|
return StringTable->EmptyString();\
|
||||||
}\
|
}\
|
||||||
|
|
@ -445,6 +450,15 @@ public: \
|
||||||
return ret;\
|
return ret;\
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#define INIT_IMAGEASSET_ARRAY(name, profile, index) \
|
||||||
|
{\
|
||||||
|
m##name##Name[index] = StringTable->EmptyString(); \
|
||||||
|
m##name##AssetId[index] = StringTable->EmptyString(); \
|
||||||
|
m##name##Asset[index] = NULL;\
|
||||||
|
m##name[index] = NULL;\
|
||||||
|
m##name##Profile[index] = &profile;\
|
||||||
|
}
|
||||||
|
|
||||||
#define DEF_IMAGEASSET_ARRAY_BINDS(className,name)\
|
#define DEF_IMAGEASSET_ARRAY_BINDS(className,name)\
|
||||||
DefineEngineMethod(className, get##name, const char*, (S32 index), , "get name")\
|
DefineEngineMethod(className, get##name, const char*, (S32 index), , "get name")\
|
||||||
{\
|
{\
|
||||||
|
|
|
||||||
|
|
@ -18,6 +18,7 @@
|
||||||
#include "materials/materialManager.h"
|
#include "materials/materialManager.h"
|
||||||
|
|
||||||
#include "console/persistenceManager.h"
|
#include "console/persistenceManager.h"
|
||||||
|
#include "core/util/timeClass.h"
|
||||||
|
|
||||||
ConsoleDocClass(AssetImportConfig,
|
ConsoleDocClass(AssetImportConfig,
|
||||||
"@brief Defines properties for an AssetImprotConfig object.\n"
|
"@brief Defines properties for an AssetImprotConfig object.\n"
|
||||||
|
|
@ -506,7 +507,8 @@ AssetImporter::AssetImporter() :
|
||||||
isReimport(false),
|
isReimport(false),
|
||||||
assetHeirarchyChanged(false),
|
assetHeirarchyChanged(false),
|
||||||
importLogBuffer(""),
|
importLogBuffer(""),
|
||||||
activeImportConfig(nullptr)
|
activeImportConfig(nullptr),
|
||||||
|
mDumpLogs(true)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -534,6 +536,7 @@ void AssetImporter::initPersistFields()
|
||||||
addField("targetModuleId", TypeRealString, Offset(targetModuleId, AssetImporter), "The Id of the module the assets are to be imported into");
|
addField("targetModuleId", TypeRealString, Offset(targetModuleId, AssetImporter), "The Id of the module the assets are to be imported into");
|
||||||
addField("finalImportedAssetPath", TypeRealString, Offset(finalImportedAssetPath, AssetImporter), "The Id of the module the assets are to be imported into");
|
addField("finalImportedAssetPath", TypeRealString, Offset(finalImportedAssetPath, AssetImporter), "The Id of the module the assets are to be imported into");
|
||||||
addField("targetPath", TypeRealString, Offset(targetPath, AssetImporter), "The path any imported assets are placed in as their destination");
|
addField("targetPath", TypeRealString, Offset(targetPath, AssetImporter), "The path any imported assets are placed in as their destination");
|
||||||
|
addField("dumpLogs", TypeBool, Offset(mDumpLogs, AssetImporter), "Indicates if the importer always dumps its logs or not");
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
@ -718,27 +721,27 @@ String AssetImporter::parseImageSuffixes(String assetName, String* suffixType)
|
||||||
{
|
{
|
||||||
case 0:
|
case 0:
|
||||||
suffixList = activeImportConfig->DiffuseTypeSuffixes;
|
suffixList = activeImportConfig->DiffuseTypeSuffixes;
|
||||||
suffixType->insert(0, "Albedo", 10);
|
suffixType->insert(0, "Albedo", 6);
|
||||||
break;
|
break;
|
||||||
case 1:
|
case 1:
|
||||||
suffixList = activeImportConfig->NormalTypeSuffixes;
|
suffixList = activeImportConfig->NormalTypeSuffixes;
|
||||||
suffixType->insert(0, "Normal", 10);
|
suffixType->insert(0, "Normal", 6);
|
||||||
break;
|
break;
|
||||||
case 2:
|
case 2:
|
||||||
suffixList = activeImportConfig->RoughnessTypeSuffixes;
|
suffixList = activeImportConfig->RoughnessTypeSuffixes;
|
||||||
suffixType->insert(0, "Roughness", 10);
|
suffixType->insert(0, "Roughness", 9);
|
||||||
break;
|
break;
|
||||||
case 3:
|
case 3:
|
||||||
suffixList = activeImportConfig->AOTypeSuffixes;
|
suffixList = activeImportConfig->AOTypeSuffixes;
|
||||||
suffixType->insert(0, "AO", 10);
|
suffixType->insert(0, "AO", 2);
|
||||||
break;
|
break;
|
||||||
case 4:
|
case 4:
|
||||||
suffixList = activeImportConfig->MetalnessTypeSuffixes;
|
suffixList = activeImportConfig->MetalnessTypeSuffixes;
|
||||||
suffixType->insert(0, "Metalness", 10);
|
suffixType->insert(0, "Metalness", 9);
|
||||||
break;
|
break;
|
||||||
case 5:
|
case 5:
|
||||||
suffixList = activeImportConfig->PBRTypeSuffixes;
|
suffixList = activeImportConfig->PBRTypeSuffixes;
|
||||||
suffixType->insert(0, "ORMConfig", 10);
|
suffixType->insert(0, "ORMConfig", 9);
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
suffixList = "";
|
suffixList = "";
|
||||||
|
|
@ -924,9 +927,41 @@ String AssetImporter::getActivityLogLine(U32 line)
|
||||||
|
|
||||||
void AssetImporter::dumpActivityLog()
|
void AssetImporter::dumpActivityLog()
|
||||||
{
|
{
|
||||||
for (U32 i = 0; i < activityLog.size(); i++)
|
if (!mDumpLogs)
|
||||||
|
return;
|
||||||
|
|
||||||
|
FileObject logFile;
|
||||||
|
|
||||||
|
//If there's nothing logged, don't bother
|
||||||
|
if (activityLog.size() == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
Torque::Time::DateTime curTime;
|
||||||
|
Torque::Time::getCurrentDateTime(curTime);
|
||||||
|
|
||||||
|
String logName = String("tools/logs/AssetImportLog_") + String::ToString(curTime.year + 1900) + "-" +
|
||||||
|
String::ToString(curTime.month + 1) + "-" + String::ToString(curTime.day) + "_" +
|
||||||
|
String::ToString(curTime.hour) + "-" + String::ToString(curTime.minute) + "-" + String::ToString(curTime.second)
|
||||||
|
+ "-" + String::ToString(curTime.microsecond) + ".log";
|
||||||
|
|
||||||
|
if (logFile.openForWrite(logName.c_str()))
|
||||||
{
|
{
|
||||||
Con::printf(activityLog[i].c_str());
|
for (U32 i = 0; i < activityLog.size(); i++)
|
||||||
|
{
|
||||||
|
logFile.writeLine((const U8*)activityLog[i].c_str());
|
||||||
|
}
|
||||||
|
|
||||||
|
logFile.close();
|
||||||
|
|
||||||
|
Con::warnf("Asset Import log file dumped to: %s", logName.c_str());
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Con::errorf("Error: Failed to open log file for writing! Dumping log results to console!");
|
||||||
|
for (U32 i = 0; i < activityLog.size(); i++)
|
||||||
|
{
|
||||||
|
Con::printf(activityLog[i].c_str());
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1582,6 +1617,7 @@ void AssetImporter::processMaterialAsset(AssetImportObject* assetItem)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool foundExistingMaterial = false;
|
||||||
if (activeImportConfig->UseExistingMaterials)
|
if (activeImportConfig->UseExistingMaterials)
|
||||||
{
|
{
|
||||||
//So if the material already exists, we should just use that. So first, let's find out if it already exists
|
//So if the material already exists, we should just use that. So first, let's find out if it already exists
|
||||||
|
|
@ -1616,9 +1652,11 @@ void AssetImporter::processMaterialAsset(AssetImportObject* assetItem)
|
||||||
{
|
{
|
||||||
//We found a match, so just modify our asset item's info to point against it. This will create the asset definition, but otherwise leave the material definition as-is.
|
//We found a match, so just modify our asset item's info to point against it. This will create the asset definition, but otherwise leave the material definition as-is.
|
||||||
assetItem->filePath = (Torque::Path)(mat->getFilename());
|
assetItem->filePath = (Torque::Path)(mat->getFilename());
|
||||||
|
foundExistingMaterial = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
|
if(!foundExistingMaterial)
|
||||||
{
|
{
|
||||||
if (activeImportConfig->AlwaysAddMaterialSuffix) //we only opt to force on the suffix if we're not obligating using the original material defs
|
if (activeImportConfig->AlwaysAddMaterialSuffix) //we only opt to force on the suffix if we're not obligating using the original material defs
|
||||||
{
|
{
|
||||||
|
|
@ -1776,19 +1814,6 @@ void AssetImporter::processMaterialAsset(AssetImportObject* assetItem)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*for (U32 i = 0; i < assetItem->childAssetItems.size(); i++)
|
|
||||||
{
|
|
||||||
AssetImportObject* childAssetItem = assetItem->childAssetItems[i];
|
|
||||||
|
|
||||||
if (childAssetItem->skip || childAssetItem->processed || childAssetItem->assetType != String("ImageAsset"))
|
|
||||||
continue;
|
|
||||||
|
|
||||||
if (childAssetItem->imageSuffixType == String("Albedo"))
|
|
||||||
{
|
|
||||||
assetItem->diffuseImageAsset = % childAssetItem;
|
|
||||||
}
|
|
||||||
}*/
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1928,7 +1953,7 @@ void AssetImporter::processShapeMaterialInfo(AssetImportObject* assetItem, S32 m
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
Torque::Path filePath = materialItemValue;
|
Torque::Path filePath = materialItemValue;
|
||||||
String fullFilePath = filePath.getFullFileName().c_str();
|
String fullFilePath = filePath.getFullPath().c_str();
|
||||||
String shapePathBase = assetItem->filePath.getRootAndPath();
|
String shapePathBase = assetItem->filePath.getRootAndPath();
|
||||||
|
|
||||||
if (fullFilePath.isNotEmpty())
|
if (fullFilePath.isNotEmpty())
|
||||||
|
|
@ -1942,24 +1967,26 @@ void AssetImporter::processShapeMaterialInfo(AssetImportObject* assetItem, S32 m
|
||||||
fullFilePath = fullFilePath.replace(" (Not Found)", "");
|
fullFilePath = fullFilePath.replace(" (Not Found)", "");
|
||||||
fullFilePath = fullFilePath.replace(" (not found)", "");
|
fullFilePath = fullFilePath.replace(" (not found)", "");
|
||||||
|
|
||||||
String testFileName = shapePathBase + "/" + fullFilePath;
|
if(filePath.getPath().isEmpty())
|
||||||
if (Platform::isFile(testFileName.c_str()))
|
fullFilePath = shapePathBase + "/" + fullFilePath;
|
||||||
|
|
||||||
|
if (Platform::isFile(fullFilePath.c_str()))
|
||||||
{
|
{
|
||||||
filePath = testFileName;
|
filePath = Torque::Path(fullFilePath);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
//Hmm, didn't find it. It could be that the in-model filename could be different by virtue of
|
//Hmm, didn't find it. It could be that the in-model filename could be different by virtue of
|
||||||
//image extension. Some files have source content files like psd's, but the mesh was exported to use
|
//image extension. Some files have source content files like psd's, but the mesh was exported to use
|
||||||
//a dds or png, etc
|
//a dds or png, etc
|
||||||
Torque::Path testFilePath = testFileName;
|
Torque::Path testFilePath = fullFilePath;
|
||||||
String imgFileName = AssetImporter::findImagePath(testFilePath.getPath() + "/" + testFilePath.getFileName());
|
String imgFileName = AssetImporter::findImagePath(testFilePath.getPath() + "/" + testFilePath.getFileName());
|
||||||
if (imgFileName.isNotEmpty())
|
if (imgFileName.isNotEmpty())
|
||||||
filePath = imgFileName;
|
filePath = imgFileName;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
matAssetItem = addImportingAsset("MaterialAsset", shapePathBase + "/", assetItem, matName);
|
matAssetItem = addImportingAsset("MaterialAsset", shapePathBase + "/" + matName, assetItem, matName);
|
||||||
AssetImportObject* imageAssetItem = addImportingAsset("ImageAsset", filePath, matAssetItem, "");
|
AssetImportObject* imageAssetItem = addImportingAsset("ImageAsset", filePath, matAssetItem, "");
|
||||||
|
|
||||||
String suffixType;
|
String suffixType;
|
||||||
|
|
@ -2383,6 +2410,7 @@ void AssetImporter::importAssets(AssetImportObject* assetItem)
|
||||||
{
|
{
|
||||||
dSprintf(importLogBuffer, sizeof(importLogBuffer), "AssetImporter::importAssets - Unable to find moduleId %s", targetModuleId.c_str());
|
dSprintf(importLogBuffer, sizeof(importLogBuffer), "AssetImporter::importAssets - Unable to find moduleId %s", targetModuleId.c_str());
|
||||||
activityLog.push_back(importLogBuffer);
|
activityLog.push_back(importLogBuffer);
|
||||||
|
dumpActivityLog();
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -2483,6 +2511,8 @@ void AssetImporter::importAssets(AssetImportObject* assetItem)
|
||||||
//recurse if needed
|
//recurse if needed
|
||||||
importAssets(item);
|
importAssets(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
dumpActivityLog();
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
//
|
||||||
|
|
@ -2793,7 +2823,7 @@ Torque::Path AssetImporter::importMaterialAsset(AssetImportObject* assetItem)
|
||||||
}
|
}
|
||||||
|
|
||||||
assetFieldName = mapFieldName + "Asset";
|
assetFieldName = mapFieldName + "Asset";
|
||||||
mapFieldName += "[0]";
|
assetFieldName += "[0]";
|
||||||
|
|
||||||
//String path = childItem->filePath.getFullFileName();
|
//String path = childItem->filePath.getFullFileName();
|
||||||
//dSprintf(lineBuffer, 1024, " %s = \"%s\";", mapFieldName.c_str(), path.c_str());
|
//dSprintf(lineBuffer, 1024, " %s = \"%s\";", mapFieldName.c_str(), path.c_str());
|
||||||
|
|
|
||||||
|
|
@ -647,6 +647,8 @@ class AssetImporter : public SimObject
|
||||||
/// </summary>
|
/// </summary>
|
||||||
String finalImportedAssetPath;
|
String finalImportedAssetPath;
|
||||||
|
|
||||||
|
bool mDumpLogs;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
AssetImporter();
|
AssetImporter();
|
||||||
virtual ~AssetImporter();
|
virtual ~AssetImporter();
|
||||||
|
|
|
||||||
|
|
@ -6,113 +6,114 @@
|
||||||
//Console Functions
|
//Console Functions
|
||||||
|
|
||||||
DefineEngineMethod(AssetImportConfig, loadImportConfig, void, (Settings* configSettings, String configName), (nullAsType<Settings*>(), ""),
|
DefineEngineMethod(AssetImportConfig, loadImportConfig, void, (Settings* configSettings, String configName), (nullAsType<Settings*>(), ""),
|
||||||
"Creates a new script asset using the targetFilePath.\n"
|
"Loads the provided import config to the importer.\n"
|
||||||
"@return The bool result of calling exec")
|
"@param configSettings A Settings object containing the import configs.\n"
|
||||||
|
"@param configName The specific name of the config to be used.")
|
||||||
{
|
{
|
||||||
return object->loadImportConfig(configSettings, configName);
|
return object->loadImportConfig(configSettings, configName);
|
||||||
}
|
}
|
||||||
|
|
||||||
DefineEngineMethod(AssetImporter, setTargetPath, void, (String path), (""),
|
DefineEngineMethod(AssetImporter, setTargetPath, void, (String path), (""),
|
||||||
"Creates a new script asset using the targetFilePath.\n"
|
"Sets the target path the importing assets will be put into.\n"
|
||||||
"@return The bool result of calling exec")
|
"@param A string of the target path.")
|
||||||
{
|
{
|
||||||
return object->setTargetPath(path);
|
return object->setTargetPath(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
DefineEngineMethod(AssetImporter, resetImportSession, void, (bool forceResetSession), (false),
|
DefineEngineMethod(AssetImporter, resetImportSession, void, (bool forceResetSession), (false),
|
||||||
"Creates a new script asset using the targetFilePath.\n"
|
"Resets the importer's import session. All existing import items, logs, etc will be cleared.")
|
||||||
"@return The bool result of calling exec")
|
|
||||||
{
|
{
|
||||||
return object->resetImportSession(forceResetSession);
|
return object->resetImportSession(forceResetSession);
|
||||||
}
|
}
|
||||||
|
|
||||||
DefineEngineMethod(AssetImporter, dumpActivityLog, void, (), ,
|
DefineEngineMethod(AssetImporter, dumpActivityLog, void, (), ,
|
||||||
"Creates a new script asset using the targetFilePath.\n"
|
"Dumps the import activity log. If the importer is set to, it will save to file, otherwise dump to console.")
|
||||||
"@return The bool result of calling exec")
|
|
||||||
{
|
{
|
||||||
return object->dumpActivityLog();
|
return object->dumpActivityLog();
|
||||||
}
|
}
|
||||||
|
|
||||||
DefineEngineMethod(AssetImporter, getActivityLogLineCount, S32, (),,
|
DefineEngineMethod(AssetImporter, getActivityLogLineCount, S32, (),,
|
||||||
"Creates a new script asset using the targetFilePath.\n"
|
"Gets the number of lines in the import activity log.\n"
|
||||||
"@return The bool result of calling exec")
|
"@return The number of lines in the import activity log.")
|
||||||
{
|
{
|
||||||
return object->getActivityLogLineCount();
|
return object->getActivityLogLineCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
DefineEngineMethod(AssetImporter, getActivityLogLine, String, (S32 i), (0),
|
DefineEngineMethod(AssetImporter, getActivityLogLine, String, (S32 index), (0),
|
||||||
"Creates a new script asset using the targetFilePath.\n"
|
"Gets a specific line in the import activity log.\n"
|
||||||
"@return The bool result of calling exec")
|
"@param index The index of the line to be returned.\n"
|
||||||
|
"@return The string of the requested line of the activity log")
|
||||||
{
|
{
|
||||||
return object->getActivityLogLine(0);
|
return object->getActivityLogLine(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
DefineEngineMethod(AssetImporter, autoImportFile, String, (String path, String typeHint), ("", ""),
|
DefineEngineMethod(AssetImporter, autoImportFile, String, (String path, String typeHint), ("", ""),
|
||||||
"Creates a new script asset using the targetFilePath.\n"
|
"Run the full import process on a specific file.\n"
|
||||||
"@return The bool result of calling exec")
|
"@return If import is successful, the assetId of the new asset. If it failed, an empty string.")
|
||||||
{
|
{
|
||||||
return object->autoImportFile(path, typeHint);
|
return object->autoImportFile(path, typeHint);
|
||||||
}
|
}
|
||||||
|
|
||||||
DefineEngineMethod(AssetImporter, addImportingFile, AssetImportObject*, (String path), (""),
|
DefineEngineMethod(AssetImporter, addImportingFile, AssetImportObject*, (String path), (""),
|
||||||
"Creates a new script asset using the targetFilePath.\n"
|
"Adds a filepath to the current importing session.\n"
|
||||||
"@return The bool result of calling exec")
|
"@param path The path to the file to be imported.\n"
|
||||||
|
"@return The AssetImportObject from the import session.")
|
||||||
{
|
{
|
||||||
return object->addImportingFile(path);
|
return object->addImportingFile(path);
|
||||||
}
|
}
|
||||||
|
|
||||||
DefineEngineMethod(AssetImporter, addImportingAssetItem, void, (AssetImportObject* assetItem, AssetImportObject* parentItem), (nullAsType< AssetImportObject*>(), nullAsType< AssetImportObject*>()),
|
DefineEngineMethod(AssetImporter, addImportingAssetItem, void, (AssetImportObject* assetItem, AssetImportObject* parentItem), (nullAsType< AssetImportObject*>(), nullAsType< AssetImportObject*>()),
|
||||||
"Creates a new script asset using the targetFilePath.\n"
|
"Adds an existing AssetImportObject to the current improting session.\n"
|
||||||
"@return The bool result of calling exec")
|
"@param assetItem The AssetImportObject to be added to the import session.\n"
|
||||||
|
"@param parentItem An AssetImportObject that to act as the parent of the item being added.")
|
||||||
{
|
{
|
||||||
return object->addImportingAssetItem(assetItem, parentItem);
|
return object->addImportingAssetItem(assetItem, parentItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
DefineEngineMethod(AssetImporter, processImportingAssets, void, (), ,
|
DefineEngineMethod(AssetImporter, processImportingAssets, void, (), ,
|
||||||
"Creates a new script asset using the targetFilePath.\n"
|
"Processes the importing assets.")
|
||||||
"@return The bool result of calling exec")
|
|
||||||
{
|
{
|
||||||
return object->processImportAssets();
|
return object->processImportAssets();
|
||||||
}
|
}
|
||||||
|
|
||||||
DefineEngineMethod(AssetImporter, validateImportingAssets, bool, (), ,
|
DefineEngineMethod(AssetImporter, hasImportIssues, bool, (), ,
|
||||||
"Creates a new script asset using the targetFilePath.\n"
|
"Validates the status of the importing items.\n"
|
||||||
"@return The bool result of calling exec")
|
"@return False if there are no issues, true if there are importing issues")
|
||||||
{
|
{
|
||||||
return object->validateAssets();
|
return object->validateAssets();
|
||||||
}
|
}
|
||||||
|
|
||||||
DefineEngineMethod(AssetImporter, resolveAssetItemIssues, void, (AssetImportObject* assetItem), (nullAsType< AssetImportObject*>()),
|
DefineEngineMethod(AssetImporter, resolveAssetItemIssues, void, (AssetImportObject* assetItem), (nullAsType< AssetImportObject*>()),
|
||||||
"Creates a new script asset using the targetFilePath.\n"
|
"Runs the issue resolver to attempt to correct any simple issues, such as utilizing the config's settings to resolve collisions.")
|
||||||
"@return The bool result of calling exec")
|
|
||||||
{
|
{
|
||||||
object->resolveAssetItemIssues(assetItem);
|
object->resolveAssetItemIssues(assetItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
DefineEngineMethod(AssetImporter, importAssets, void, (),,
|
DefineEngineMethod(AssetImporter, importAssets, void, (),,
|
||||||
"Creates a new script asset using the targetFilePath.\n"
|
"Runs the actual import action on the items.")
|
||||||
"@return The bool result of calling exec")
|
|
||||||
{
|
{
|
||||||
return object->importAssets();
|
return object->importAssets();
|
||||||
}
|
}
|
||||||
|
|
||||||
DefineEngineMethod(AssetImporter, getAssetItemCount, S32, (),,
|
DefineEngineMethod(AssetImporter, getAssetItemCount, S32, (),,
|
||||||
"Creates a new script asset using the targetFilePath.\n"
|
"Gets the number of importing asset items.\n"
|
||||||
"@return The bool result of calling exec")
|
"@return The number of importing asset items")
|
||||||
{
|
{
|
||||||
return object->getAssetItemCount();
|
return object->getAssetItemCount();
|
||||||
}
|
}
|
||||||
|
|
||||||
DefineEngineMethod(AssetImporter, getAssetItem, AssetImportObject*, (S32 index), (0),
|
DefineEngineMethod(AssetImporter, getAssetItem, AssetImportObject*, (S32 index), (0),
|
||||||
"Creates a new script asset using the targetFilePath.\n"
|
"Gets a specific import asset item.\n"
|
||||||
"@return The bool result of calling exec")
|
"@param index The index of the AssetImportObject to be returned.\n"
|
||||||
|
"@return AssetImportObject")
|
||||||
{
|
{
|
||||||
return object->getAssetItem(index);
|
return object->getAssetItem(index);
|
||||||
}
|
}
|
||||||
|
|
||||||
DefineEngineMethod(AssetImporter, getAssetItemChildCount, S32, (AssetImportObject* assetItem), (nullAsType< AssetImportObject*>()),
|
DefineEngineMethod(AssetImporter, getAssetItemChildCount, S32, (AssetImportObject* assetItem), (nullAsType< AssetImportObject*>()),
|
||||||
"Creates a new script asset using the targetFilePath.\n"
|
"Gets number of child items for a given importing asset item.\n"
|
||||||
"@return The bool result of calling exec")
|
"@param assetItem The AssetImportObject to get the number of children of.\n"
|
||||||
|
"@return The number of child items")
|
||||||
{
|
{
|
||||||
if (assetItem == nullptr)
|
if (assetItem == nullptr)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
@ -121,8 +122,10 @@ DefineEngineMethod(AssetImporter, getAssetItemChildCount, S32, (AssetImportObjec
|
||||||
}
|
}
|
||||||
|
|
||||||
DefineEngineMethod(AssetImporter, getAssetItemChild, AssetImportObject*, (AssetImportObject* assetItem, S32 index), (nullAsType< AssetImportObject*>(), 0),
|
DefineEngineMethod(AssetImporter, getAssetItemChild, AssetImportObject*, (AssetImportObject* assetItem, S32 index), (nullAsType< AssetImportObject*>(), 0),
|
||||||
"Creates a new script asset using the targetFilePath.\n"
|
"Gets a specific child item of a given importing asset item.\n"
|
||||||
"@return The bool result of calling exec")
|
"@param assetItem The AssetImportObject to get the child from.\n"
|
||||||
|
"@param index The index of the child to get.\n"
|
||||||
|
"@return The child AssetImportObect")
|
||||||
{
|
{
|
||||||
if (assetItem == nullptr)
|
if (assetItem == nullptr)
|
||||||
return nullptr;
|
return nullptr;
|
||||||
|
|
@ -131,31 +134,15 @@ DefineEngineMethod(AssetImporter, getAssetItemChild, AssetImportObject*, (AssetI
|
||||||
}
|
}
|
||||||
|
|
||||||
DefineEngineMethod(AssetImporter, deleteImportingAsset, void, (AssetImportObject* assetItem), (nullAsType< AssetImportObject*>()),
|
DefineEngineMethod(AssetImporter, deleteImportingAsset, void, (AssetImportObject* assetItem), (nullAsType< AssetImportObject*>()),
|
||||||
"Creates a new script asset using the targetFilePath.\n"
|
"Deletes an importing AssetImportObject from the import session.\n"
|
||||||
"@return The bool result of calling exec")
|
"@param assetItem The AssetImportObject to delete.")
|
||||||
{
|
{
|
||||||
return object->deleteImportingAsset(assetItem);
|
return object->deleteImportingAsset(assetItem);
|
||||||
}
|
}
|
||||||
|
|
||||||
DefineEngineMethod(AssetImporter, setImportConfig, void, (AssetImportConfig* importConfig), (nullAsType< AssetImportConfig*>()),
|
DefineEngineMethod(AssetImporter, setImportConfig, void, (AssetImportConfig* importConfig), (nullAsType< AssetImportConfig*>()),
|
||||||
"Creates a new script asset using the targetFilePath.\n"
|
"Sets the import config to be used via a AssetImportConfig object.\n"
|
||||||
"@return The bool result of calling exec")
|
"@param importConfig The AssetImportConfig object to use.")
|
||||||
{
|
{
|
||||||
return object->setImportConfig(importConfig);
|
return object->setImportConfig(importConfig);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/*DefineEngineFunction(enumColladaForImport, bool, (const char* shapePath, const char* ctrl, bool loadCachedDts), ("", "", true),
|
|
||||||
"(string shapePath, GuiTreeViewCtrl ctrl) Collect scene information from "
|
|
||||||
"a COLLADA file and store it in a GuiTreeView control. This function is "
|
|
||||||
"used by the COLLADA import gui to show a preview of the scene contents "
|
|
||||||
"prior to import, and is probably not much use for anything else.\n"
|
|
||||||
"@param shapePath COLLADA filename\n"
|
|
||||||
"@param ctrl GuiTreeView control to add elements to\n"
|
|
||||||
"@param loadCachedDts dictates if it should try and load the cached dts file if it exists"
|
|
||||||
"@return true if successful, false otherwise\n"
|
|
||||||
"@ingroup Editors\n"
|
|
||||||
"@internal")
|
|
||||||
{
|
|
||||||
return enumColladaForImport(shapePath, ctrl, loadCachedDts);
|
|
||||||
}*/
|
|
||||||
|
|
|
||||||
|
|
@ -98,7 +98,7 @@ SplashData::SplashData()
|
||||||
U32 i;
|
U32 i;
|
||||||
for (i = 0; i < NUM_TEX; i++)
|
for (i = 0; i < NUM_TEX; i++)
|
||||||
{
|
{
|
||||||
INIT_ASSET_ARRAY(Texture, i);
|
INIT_IMAGEASSET_ARRAY(Texture, GFXStaticTextureSRGBProfile, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
for( i=0; i<NUM_TIME_KEYS; i++ )
|
for( i=0; i<NUM_TIME_KEYS; i++ )
|
||||||
|
|
|
||||||
|
|
@ -122,7 +122,7 @@ public:
|
||||||
F32 times[ NUM_TIME_KEYS ];
|
F32 times[ NUM_TIME_KEYS ];
|
||||||
LinearColorF colors[ NUM_TIME_KEYS ];
|
LinearColorF colors[ NUM_TIME_KEYS ];
|
||||||
|
|
||||||
DECLARE_IMAGEASSET_ARRAY(SplashData, Texture, GFXStaticTextureSRGBProfile, NUM_TEX);
|
DECLARE_IMAGEASSET_ARRAY(SplashData, Texture, NUM_TEX);
|
||||||
DECLARE_IMAGEASSET_ARRAY_SETGET(SplashData, Texture)
|
DECLARE_IMAGEASSET_ARRAY_SETGET(SplashData, Texture)
|
||||||
|
|
||||||
ExplosionData* explosion;
|
ExplosionData* explosion;
|
||||||
|
|
|
||||||
|
|
@ -46,7 +46,7 @@ MODULE_BEGIN( 3D )
|
||||||
|
|
||||||
MODULE_SHUTDOWN_BEFORE( Process )
|
MODULE_SHUTDOWN_BEFORE( Process )
|
||||||
MODULE_SHUTDOWN_BEFORE( Sim )
|
MODULE_SHUTDOWN_BEFORE( Sim )
|
||||||
MODULE_SHUTDOWN_AFTER( Scene )
|
MODULE_SHUTDOWN_BEFORE( Scene )
|
||||||
|
|
||||||
MODULE_INIT
|
MODULE_INIT
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -731,7 +731,8 @@ void Trigger::potentialEnterObject(GameBase* enter)
|
||||||
|
|
||||||
if(evalCmD(&mEnterCommand))
|
if(evalCmD(&mEnterCommand))
|
||||||
{
|
{
|
||||||
String command = String("%obj = ") + enter->getIdString() + ";" + mEnterCommand;
|
String command = String("%obj = ") + enter->getIdString() + ";";
|
||||||
|
command = command + String("%this = ") + getIdString() + ";" + mEnterCommand;
|
||||||
Con::evaluate(command.c_str());
|
Con::evaluate(command.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -779,7 +780,8 @@ void Trigger::processTick(const Move* move)
|
||||||
|
|
||||||
if (evalCmD(&mLeaveCommand))
|
if (evalCmD(&mLeaveCommand))
|
||||||
{
|
{
|
||||||
String command = String("%obj = ") + remove->getIdString() + ";" + mLeaveCommand;
|
String command = String("%obj = ") + remove->getIdString() + ";";
|
||||||
|
command = command + String("%this = ") + getIdString() + ";" + mLeaveCommand;
|
||||||
Con::evaluate(command.c_str());
|
Con::evaluate(command.c_str());
|
||||||
}
|
}
|
||||||
if (testTrippable() && testCondition())
|
if (testTrippable() && testCondition())
|
||||||
|
|
|
||||||
|
|
@ -54,6 +54,7 @@
|
||||||
#include "materials/materialFeatureTypes.h"
|
#include "materials/materialFeatureTypes.h"
|
||||||
#include "console/engineAPI.h"
|
#include "console/engineAPI.h"
|
||||||
#include "T3D/accumulationVolume.h"
|
#include "T3D/accumulationVolume.h"
|
||||||
|
#include "math/mTransform.h"
|
||||||
|
|
||||||
#include "gui/editor/inspector/group.h"
|
#include "gui/editor/inspector/group.h"
|
||||||
#include "console/typeValidators.h"
|
#include "console/typeValidators.h"
|
||||||
|
|
@ -1863,3 +1864,31 @@ void TSStatic::setSelectionFlags(U8 flags)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void TSStatic::getNodeTransform(const char *nodeName, const MatrixF &xfm, MatrixF *outMat)
|
||||||
|
{
|
||||||
|
|
||||||
|
S32 nodeIDx = getShapeResource()->findNode(nodeName);
|
||||||
|
|
||||||
|
MatrixF mountTransform = mShapeInstance->mNodeTransforms[nodeIDx];
|
||||||
|
mountTransform.mul(xfm);
|
||||||
|
const Point3F &scale = getScale();
|
||||||
|
// The position of the mount point needs to be scaled.
|
||||||
|
Point3F position = mountTransform.getPosition();
|
||||||
|
position.convolve(scale);
|
||||||
|
mountTransform.setPosition(position);
|
||||||
|
// Also we would like the object to be scaled to the model.
|
||||||
|
outMat->mul(mObjToWorld, mountTransform);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
DefineEngineMethod(TSStatic, getNodeTransform, TransformF, (const char *nodeName), ,
|
||||||
|
"@brief Get the world transform of the specified mount slot.\n\n"
|
||||||
|
|
||||||
|
"@param slot Image slot to query\n"
|
||||||
|
"@return the mount transform\n\n")
|
||||||
|
{
|
||||||
|
MatrixF xf(true);
|
||||||
|
object->getNodeTransform(nodeName, MatrixF::Identity, &xf);
|
||||||
|
return xf;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -276,6 +276,7 @@ public:
|
||||||
void updateMaterials();
|
void updateMaterials();
|
||||||
|
|
||||||
bool isAnimated() { return mPlayAmbient; }
|
bool isAnimated() { return mPlayAmbient; }
|
||||||
|
void getNodeTransform(const char *nodeName, const MatrixF &xfm, MatrixF *outMat);
|
||||||
|
|
||||||
virtual void getUtilizedAssets(Vector<StringTableEntry>* usedAssetsList);
|
virtual void getUtilizedAssets(Vector<StringTableEntry>* usedAssetsList);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -485,6 +485,13 @@ U32 tabComplete(char* inputBuffer, U32 cursorPos, U32 maxResultLength, bool forw
|
||||||
}
|
}
|
||||||
completionBaseStart = p;
|
completionBaseStart = p;
|
||||||
completionBaseLen = cursorPos - p;
|
completionBaseLen = cursorPos - p;
|
||||||
|
|
||||||
|
// Bail if we end up at start of string
|
||||||
|
if (p == 0)
|
||||||
|
{
|
||||||
|
return cursorPos;
|
||||||
|
}
|
||||||
|
|
||||||
// Is this function being invoked on an object?
|
// Is this function being invoked on an object?
|
||||||
if (inputBuffer[p - 1] == '.')
|
if (inputBuffer[p - 1] == '.')
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -2841,3 +2841,21 @@ DefineEngineFunction( getStringHash, S32, (const char* _inString, bool _sensitiv
|
||||||
else
|
else
|
||||||
return S32(String(_inString).getHashCaseInsensitive());
|
return S32(String(_inString).getHashCaseInsensitive());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
DefineEngineFunction(getTimestamp, const char*, (), ,
|
||||||
|
"Gets datetime string.\n\n"
|
||||||
|
"@return YYYY-mm-DD_hh-MM-ss formatted date time string.")
|
||||||
|
{
|
||||||
|
Torque::Time::DateTime curTime;
|
||||||
|
Torque::Time::getCurrentDateTime(curTime);
|
||||||
|
|
||||||
|
String timestampStr = String::ToString(curTime.year + 1900) + "-" +
|
||||||
|
String::ToString(curTime.month + 1) + "-" + String::ToString(curTime.day) + "_" +
|
||||||
|
String::ToString(curTime.hour) + "-" + String::ToString(curTime.minute) + "-" + String::ToString(curTime.second);
|
||||||
|
|
||||||
|
const char* returnBuffer = Con::getReturnBuffer(timestampStr);
|
||||||
|
|
||||||
|
return returnBuffer;
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -109,7 +109,10 @@ void Tokenizer::setBuffer(const char* buffer, U32 bufferSize)
|
||||||
void Tokenizer::setSingleTokens(const char* singleTokens)
|
void Tokenizer::setSingleTokens(const char* singleTokens)
|
||||||
{
|
{
|
||||||
if (mSingleTokens)
|
if (mSingleTokens)
|
||||||
SAFE_DELETE(mSingleTokens);
|
{
|
||||||
|
free(mSingleTokens);
|
||||||
|
mSingleTokens = NULL;
|
||||||
|
}
|
||||||
|
|
||||||
if (singleTokens)
|
if (singleTokens)
|
||||||
mSingleTokens = dStrdup(singleTokens);
|
mSingleTokens = dStrdup(singleTokens);
|
||||||
|
|
|
||||||
|
|
@ -98,6 +98,9 @@ BasicClouds::BasicClouds()
|
||||||
mTexOffset[0].set( 0.5f, 0.5f );
|
mTexOffset[0].set( 0.5f, 0.5f );
|
||||||
mTexOffset[1].set( 0.5f, 0.5f );
|
mTexOffset[1].set( 0.5f, 0.5f );
|
||||||
mTexOffset[2].set( 0.5f, 0.5f );
|
mTexOffset[2].set( 0.5f, 0.5f );
|
||||||
|
|
||||||
|
for (U32 i=0; i< TEX_COUNT;i++)
|
||||||
|
INIT_IMAGEASSET_ARRAY(Texture, GFXStaticTextureSRGBProfile, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
IMPLEMENT_CO_NETOBJECT_V1( BasicClouds );
|
IMPLEMENT_CO_NETOBJECT_V1( BasicClouds );
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,7 @@ protected:
|
||||||
static U32 smVertCount;
|
static U32 smVertCount;
|
||||||
static U32 smTriangleCount;
|
static U32 smTriangleCount;
|
||||||
|
|
||||||
DECLARE_IMAGEASSET_ARRAY(BasicClouds, Texture, GFXStaticTextureSRGBProfile, TEX_COUNT);
|
DECLARE_IMAGEASSET_ARRAY(BasicClouds, Texture, TEX_COUNT);
|
||||||
DECLARE_IMAGEASSET_ARRAY_NET_SETGET(BasicClouds, Texture, -1);
|
DECLARE_IMAGEASSET_ARRAY_NET_SETGET(BasicClouds, Texture, -1);
|
||||||
|
|
||||||
GFXStateBlockRef mStateblock;
|
GFXStateBlockRef mStateblock;
|
||||||
|
|
@ -122,4 +122,4 @@ protected:
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
#endif // _BASICCLOUDS_H_
|
#endif // _BASICCLOUDS_H_
|
||||||
|
|
|
||||||
|
|
@ -44,7 +44,7 @@ CubemapData::CubemapData()
|
||||||
|
|
||||||
for (U32 i = 0; i < 6; i++)
|
for (U32 i = 0; i < 6; i++)
|
||||||
{
|
{
|
||||||
INIT_ASSET_ARRAY(CubeMapFace, i);
|
INIT_IMAGEASSET_ARRAY(CubeMapFace, GFXStaticTextureSRGBProfile, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
INIT_ASSET(CubeMap);
|
INIT_ASSET(CubeMap);
|
||||||
|
|
|
||||||
|
|
@ -76,7 +76,7 @@ protected:
|
||||||
DECLARE_IMAGEASSET(CubemapData, CubeMap, onCubemapChanged, GFXStaticTextureSRGBProfile);
|
DECLARE_IMAGEASSET(CubemapData, CubeMap, onCubemapChanged, GFXStaticTextureSRGBProfile);
|
||||||
DECLARE_ASSET_SETGET(CubemapData, CubeMap);
|
DECLARE_ASSET_SETGET(CubemapData, CubeMap);
|
||||||
|
|
||||||
DECLARE_IMAGEASSET_ARRAY(CubemapData, CubeMapFace, GFXStaticTextureSRGBProfile, 6);
|
DECLARE_IMAGEASSET_ARRAY(CubemapData, CubeMapFace, 6);
|
||||||
DECLARE_IMAGEASSET_ARRAY_SETGET(CubemapData, CubeMapFace);
|
DECLARE_IMAGEASSET_ARRAY_SETGET(CubemapData, CubeMapFace);
|
||||||
|
|
||||||
GFXTexHandle mDepthBuff;
|
GFXTexHandle mDepthBuff;
|
||||||
|
|
|
||||||
|
|
@ -42,7 +42,7 @@ private:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
DECLARE_IMAGEASSET(GuiIconButtonCtrl, Bitmap, onImageChanged, GFXTexturePersistentSRGBProfile);
|
DECLARE_IMAGEASSET(GuiIconButtonCtrl, Bitmap, onImageChanged, GFXDefaultGUIProfile);
|
||||||
DECLARE_ASSET_SETGET(GuiIconButtonCtrl, Bitmap);
|
DECLARE_ASSET_SETGET(GuiIconButtonCtrl, Bitmap);
|
||||||
|
|
||||||
S32 mIconLocation;
|
S32 mIconLocation;
|
||||||
|
|
|
||||||
|
|
@ -39,11 +39,11 @@ private:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
DECLARE_IMAGEASSET(GuiToolboxButtonCtrl, NormalBitmap, onNormalImageChanged, GFXTexturePersistentSRGBProfile);
|
DECLARE_IMAGEASSET(GuiToolboxButtonCtrl, NormalBitmap, onNormalImageChanged, GFXDefaultGUIProfile);
|
||||||
DECLARE_ASSET_SETGET(GuiToolboxButtonCtrl, NormalBitmap);
|
DECLARE_ASSET_SETGET(GuiToolboxButtonCtrl, NormalBitmap);
|
||||||
DECLARE_IMAGEASSET(GuiToolboxButtonCtrl, LoweredBitmap, onLoweredImageChanged, GFXTexturePersistentSRGBProfile);
|
DECLARE_IMAGEASSET(GuiToolboxButtonCtrl, LoweredBitmap, onLoweredImageChanged, GFXDefaultGUIProfile);
|
||||||
DECLARE_ASSET_SETGET(GuiToolboxButtonCtrl, LoweredBitmap);
|
DECLARE_ASSET_SETGET(GuiToolboxButtonCtrl, LoweredBitmap);
|
||||||
DECLARE_IMAGEASSET(GuiToolboxButtonCtrl, HoverBitmap, onHoverImageChanged, GFXTexturePersistentSRGBProfile);
|
DECLARE_IMAGEASSET(GuiToolboxButtonCtrl, HoverBitmap, onHoverImageChanged, GFXDefaultGUIProfile);
|
||||||
DECLARE_ASSET_SETGET(GuiToolboxButtonCtrl, HoverBitmap);
|
DECLARE_ASSET_SETGET(GuiToolboxButtonCtrl, HoverBitmap);
|
||||||
|
|
||||||
void renderButton(GFXTexHandle &texture, Point2I &offset, const RectI& updateRect);
|
void renderButton(GFXTexHandle &texture, Point2I &offset, const RectI& updateRect);
|
||||||
|
|
|
||||||
|
|
@ -543,7 +543,8 @@ Point2I GuiGameListMenuCtrl::getMinExtent() const
|
||||||
{
|
{
|
||||||
Point2I parentMin = Parent::getMinExtent();
|
Point2I parentMin = Parent::getMinExtent();
|
||||||
|
|
||||||
GuiGameListMenuProfile * profile = (GuiGameListMenuProfile *) mProfile;
|
GuiGameListMenuProfile * profile = dynamic_cast<GuiGameListMenuProfile*>(mProfile);
|
||||||
|
AssertFatal(profile, "Invalid profile for GuiGameListMenuCtrl!");
|
||||||
|
|
||||||
S32 minHeight = 0;
|
S32 minHeight = 0;
|
||||||
S32 rowHeight = profile->getRowHeight();
|
S32 rowHeight = profile->getRowHeight();
|
||||||
|
|
@ -632,10 +633,13 @@ void GuiGameListMenuCtrl::enforceConstraints()
|
||||||
|
|
||||||
void GuiGameListMenuCtrl::updateHeight()
|
void GuiGameListMenuCtrl::updateHeight()
|
||||||
{
|
{
|
||||||
S32 minHeight = getMinExtent().y;
|
if (hasValidProfile())
|
||||||
if (getHeight() < minHeight)
|
|
||||||
{
|
{
|
||||||
setHeight(minHeight);
|
S32 minHeight = getMinExtent().y;
|
||||||
|
if (getHeight() < minHeight)
|
||||||
|
{
|
||||||
|
setHeight(minHeight);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -278,8 +278,8 @@ GuiPopUpMenuCtrl::GuiPopUpMenuCtrl(void)
|
||||||
mBackgroundCancel = false; // Added
|
mBackgroundCancel = false; // Added
|
||||||
mReverseTextList = false; // Added - Don't reverse text list if displaying up
|
mReverseTextList = false; // Added - Don't reverse text list if displaying up
|
||||||
|
|
||||||
INIT_ASSET_ARRAY(Bitmap, 0);
|
INIT_IMAGEASSET_ARRAY(Bitmap, GFXDefaultGUIProfile, 0);
|
||||||
INIT_ASSET_ARRAY(Bitmap, 1);
|
INIT_IMAGEASSET_ARRAY(Bitmap, GFXDefaultGUIProfile, 1);
|
||||||
|
|
||||||
mBitmapBounds.set(16, 16); // Added
|
mBitmapBounds.set(16, 16); // Added
|
||||||
mIdMax = -1;
|
mIdMax = -1;
|
||||||
|
|
|
||||||
|
|
@ -126,7 +126,7 @@ protected:
|
||||||
NumBitmapModes = 2
|
NumBitmapModes = 2
|
||||||
};
|
};
|
||||||
|
|
||||||
DECLARE_IMAGEASSET_ARRAY(GuiPopUpMenuCtrl, Bitmap, GFXDefaultGUIProfile, NumBitmapModes);
|
DECLARE_IMAGEASSET_ARRAY(GuiPopUpMenuCtrl, Bitmap, NumBitmapModes);
|
||||||
DECLARE_IMAGEASSET_ARRAY_SETGET(GuiPopUpMenuCtrl, Bitmap);
|
DECLARE_IMAGEASSET_ARRAY_SETGET(GuiPopUpMenuCtrl, Bitmap);
|
||||||
|
|
||||||
Point2I mBitmapBounds; // Added
|
Point2I mBitmapBounds; // Added
|
||||||
|
|
|
||||||
|
|
@ -329,8 +329,8 @@ GuiPopUpMenuCtrlEx::GuiPopUpMenuCtrlEx(void)
|
||||||
mBackgroundCancel = false; // Added
|
mBackgroundCancel = false; // Added
|
||||||
mReverseTextList = false; // Added - Don't reverse text list if displaying up
|
mReverseTextList = false; // Added - Don't reverse text list if displaying up
|
||||||
|
|
||||||
INIT_ASSET_ARRAY(Bitmap, Normal);
|
INIT_IMAGEASSET_ARRAY(Bitmap, GFXDefaultGUIProfile, Normal);
|
||||||
INIT_ASSET_ARRAY(Bitmap, Depressed);
|
INIT_IMAGEASSET_ARRAY(Bitmap, GFXDefaultGUIProfile, Depressed);
|
||||||
|
|
||||||
mBitmapBounds.set(16, 16); // Added
|
mBitmapBounds.set(16, 16); // Added
|
||||||
mHotTrackItems = false;
|
mHotTrackItems = false;
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,7 @@ class GuiPopUpMenuCtrlEx : public GuiTextCtrl
|
||||||
NumBitmapModes = 2
|
NumBitmapModes = 2
|
||||||
};
|
};
|
||||||
|
|
||||||
DECLARE_IMAGEASSET_ARRAY(GuiPopUpMenuCtrlEx, Bitmap, GFXDefaultGUIProfile, NumBitmapModes);
|
DECLARE_IMAGEASSET_ARRAY(GuiPopUpMenuCtrlEx, Bitmap, NumBitmapModes);
|
||||||
DECLARE_IMAGEASSET_ARRAY_SETGET(GuiPopUpMenuCtrlEx, Bitmap);
|
DECLARE_IMAGEASSET_ARRAY_SETGET(GuiPopUpMenuCtrlEx, Bitmap);
|
||||||
|
|
||||||
Point2I mBitmapBounds; // Added
|
Point2I mBitmapBounds; // Added
|
||||||
|
|
|
||||||
|
|
@ -1880,7 +1880,7 @@ bool GuiTreeViewCtrl::buildIconTable(const char * icons)
|
||||||
dStrncpy( buf, start, getMin( sizeof( buf ) / sizeof( buf[ 0 ] ) - 1, len ) );
|
dStrncpy( buf, start, getMin( sizeof( buf ) / sizeof( buf[ 0 ] ) - 1, len ) );
|
||||||
buf[ len ] = '\0';
|
buf[ len ] = '\0';
|
||||||
|
|
||||||
mIconTable[ numIcons ] = GFXTexHandle( buf, &GFXTexturePersistentProfile, avar( "%s() - mIconTable[%d] (line %d)", __FUNCTION__, numIcons, __LINE__ ) );
|
mIconTable[ numIcons ] = GFXTexHandle( buf, &GFXDefaultGUIProfile, avar( "%s() - mIconTable[%d] (line %d)", __FUNCTION__, numIcons, __LINE__ ) );
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
mIconTable[ numIcons ] = GFXTexHandle();
|
mIconTable[ numIcons ] = GFXTexHandle();
|
||||||
|
|
|
||||||
|
|
@ -68,7 +68,7 @@ GFX_ImplementTextureProfile(GFXGuiCursorProfile,
|
||||||
GFX_ImplementTextureProfile(GFXDefaultGUIProfile,
|
GFX_ImplementTextureProfile(GFXDefaultGUIProfile,
|
||||||
GFXTextureProfile::DiffuseMap,
|
GFXTextureProfile::DiffuseMap,
|
||||||
GFXTextureProfile::PreserveSize |
|
GFXTextureProfile::PreserveSize |
|
||||||
GFXTextureProfile::Static | GFXTextureProfile::SRGB |
|
GFXTextureProfile::Static | GFXTextureProfile::KeepBitmap | GFXTextureProfile::SRGB |
|
||||||
GFXTextureProfile::NoPadding,
|
GFXTextureProfile::NoPadding,
|
||||||
GFXTextureProfile::NONE);
|
GFXTextureProfile::NONE);
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -455,7 +455,7 @@ public:
|
||||||
StringTableEntry mBitmapName;
|
StringTableEntry mBitmapName;
|
||||||
StringTableEntry mBitmapAssetId;
|
StringTableEntry mBitmapAssetId;
|
||||||
AssetPtr<ImageAsset> mBitmapAsset;
|
AssetPtr<ImageAsset> mBitmapAsset;
|
||||||
GFXTextureProfile* mBitmapProfile = &GFXTexturePersistentSRGBProfile;
|
GFXTextureProfile* mBitmapProfile = &GFXDefaultGUIProfile;
|
||||||
public:
|
public:
|
||||||
const StringTableEntry getBitmapFile() const { return mBitmapName; }
|
const StringTableEntry getBitmapFile() const { return mBitmapName; }
|
||||||
void setBitmapFile(const FileName& _in) { mBitmapName = StringTable->insert(_in.c_str()); }
|
void setBitmapFile(const FileName& _in) { mBitmapName = StringTable->insert(_in.c_str()); }
|
||||||
|
|
|
||||||
|
|
@ -25,7 +25,7 @@
|
||||||
|
|
||||||
#include "console/engineAPI.h"
|
#include "console/engineAPI.h"
|
||||||
#include "console/simBase.h"
|
#include "console/simBase.h"
|
||||||
|
#include "gui/core/guiTypes.h"
|
||||||
|
|
||||||
EditorIconRegistry gEditorIcons;
|
EditorIconRegistry gEditorIcons;
|
||||||
|
|
||||||
|
|
@ -60,7 +60,7 @@ void EditorIconRegistry::loadFromPath( const String &path, bool overwrite )
|
||||||
String defaultIconFile = path + "default";
|
String defaultIconFile = path + "default";
|
||||||
|
|
||||||
mDefaultIcon.set( defaultIconFile,
|
mDefaultIcon.set( defaultIconFile,
|
||||||
&GFXTexturePersistentSRGBProfile,
|
&GFXDefaultGUIProfile,
|
||||||
avar("%s() - mIcons[] (line %d)",
|
avar("%s() - mIcons[] (line %d)",
|
||||||
__FUNCTION__, __LINE__) );
|
__FUNCTION__, __LINE__) );
|
||||||
}
|
}
|
||||||
|
|
@ -68,7 +68,7 @@ void EditorIconRegistry::loadFromPath( const String &path, bool overwrite )
|
||||||
void EditorIconRegistry::add( const String &className, const String &imageFile, bool overwrite )
|
void EditorIconRegistry::add( const String &className, const String &imageFile, bool overwrite )
|
||||||
{
|
{
|
||||||
// First see if we can load the image.
|
// First see if we can load the image.
|
||||||
GFXTexHandle icon( imageFile, &GFXTexturePersistentSRGBProfile,
|
GFXTexHandle icon( imageFile, &GFXDefaultGUIProfile,
|
||||||
avar("%s() - mIcons[] (line %d)", __FUNCTION__, __LINE__) );
|
avar("%s() - mIcons[] (line %d)", __FUNCTION__, __LINE__) );
|
||||||
if ( icon.isNull() )
|
if ( icon.isNull() )
|
||||||
return;
|
return;
|
||||||
|
|
|
||||||
|
|
@ -63,7 +63,7 @@ protected:
|
||||||
GFXStateBlockRef mBlendStateBlock;
|
GFXStateBlockRef mBlendStateBlock;
|
||||||
GFXStateBlockRef mSolidStateBlock;
|
GFXStateBlockRef mSolidStateBlock;
|
||||||
|
|
||||||
DECLARE_IMAGEASSET(GuiMissionAreaCtrl, HandleBitmap, onHandleBitmapChanged, GFXTexturePersistentSRGBProfile);
|
DECLARE_IMAGEASSET(GuiMissionAreaCtrl, HandleBitmap, onHandleBitmapChanged, GFXDefaultGUIProfile);
|
||||||
DECLARE_ASSET_SETGET(GuiMissionAreaCtrl, HandleBitmap);
|
DECLARE_ASSET_SETGET(GuiMissionAreaCtrl, HandleBitmap);
|
||||||
|
|
||||||
Point2I mHandleTextureSize;
|
Point2I mHandleTextureSize;
|
||||||
|
|
|
||||||
|
|
@ -142,18 +142,18 @@ Material::Material()
|
||||||
mAccuCoverage[i] = 0.9f;
|
mAccuCoverage[i] = 0.9f;
|
||||||
mAccuSpecular[i] = 16.0f;
|
mAccuSpecular[i] = 16.0f;
|
||||||
|
|
||||||
INIT_ASSET_ARRAY(DiffuseMap, i);
|
INIT_IMAGEASSET_ARRAY(DiffuseMap, GFXStaticTextureSRGBProfile, i);
|
||||||
INIT_ASSET_ARRAY(OverlayMap, i);
|
INIT_IMAGEASSET_ARRAY(OverlayMap, GFXStaticTextureProfile, i);
|
||||||
INIT_ASSET_ARRAY(LightMap, i);
|
INIT_IMAGEASSET_ARRAY(LightMap, GFXStaticTextureProfile, i);
|
||||||
INIT_ASSET_ARRAY(ToneMap, i);
|
INIT_IMAGEASSET_ARRAY(ToneMap, GFXStaticTextureProfile, i);
|
||||||
INIT_ASSET_ARRAY(DetailMap, i);
|
INIT_IMAGEASSET_ARRAY(DetailMap, GFXStaticTextureProfile, i);
|
||||||
INIT_ASSET_ARRAY(NormalMap, i);
|
INIT_IMAGEASSET_ARRAY(NormalMap, GFXNormalMapProfile, i);
|
||||||
INIT_ASSET_ARRAY(ORMConfigMap, i);
|
INIT_IMAGEASSET_ARRAY(ORMConfigMap, GFXStaticTextureProfile, i);
|
||||||
INIT_ASSET_ARRAY(RoughMap, i);
|
INIT_IMAGEASSET_ARRAY(RoughMap, GFXStaticTextureProfile, i);
|
||||||
INIT_ASSET_ARRAY(AOMap, i);
|
INIT_IMAGEASSET_ARRAY(AOMap, GFXStaticTextureProfile, i);
|
||||||
INIT_ASSET_ARRAY(MetalMap, i);
|
INIT_IMAGEASSET_ARRAY(MetalMap, GFXStaticTextureProfile, i);
|
||||||
INIT_ASSET_ARRAY(GlowMap, i);
|
INIT_IMAGEASSET_ARRAY(GlowMap, GFXStaticTextureProfile, i);
|
||||||
INIT_ASSET_ARRAY(DetailNormalMap, i);
|
INIT_IMAGEASSET_ARRAY(DetailNormalMap, GFXNormalMapProfile, i);
|
||||||
|
|
||||||
mParallaxScale[i] = 0.0f;
|
mParallaxScale[i] = 0.0f;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -207,49 +207,49 @@ public:
|
||||||
//-----------------------------------------------------------------------
|
//-----------------------------------------------------------------------
|
||||||
// Data
|
// Data
|
||||||
//-----------------------------------------------------------------------
|
//-----------------------------------------------------------------------
|
||||||
DECLARE_IMAGEASSET_ARRAY(Material, DiffuseMap, GFXStaticTextureSRGBProfile, MAX_STAGES);
|
DECLARE_IMAGEASSET_ARRAY(Material, DiffuseMap, MAX_STAGES);
|
||||||
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, DiffuseMap);
|
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, DiffuseMap);
|
||||||
|
|
||||||
bool mDiffuseMapSRGB[MAX_STAGES]; // SRGB diffuse
|
bool mDiffuseMapSRGB[MAX_STAGES]; // SRGB diffuse
|
||||||
DECLARE_IMAGEASSET_ARRAY(Material, OverlayMap, GFXStaticTextureProfile, MAX_STAGES);
|
DECLARE_IMAGEASSET_ARRAY(Material, OverlayMap, MAX_STAGES);
|
||||||
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, OverlayMap);
|
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, OverlayMap);
|
||||||
|
|
||||||
DECLARE_IMAGEASSET_ARRAY(Material, LightMap, GFXStaticTextureProfile, MAX_STAGES);
|
DECLARE_IMAGEASSET_ARRAY(Material, LightMap, MAX_STAGES);
|
||||||
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, LightMap);
|
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, LightMap);
|
||||||
|
|
||||||
DECLARE_IMAGEASSET_ARRAY(Material, ToneMap, GFXStaticTextureProfile, MAX_STAGES);
|
DECLARE_IMAGEASSET_ARRAY(Material, ToneMap, MAX_STAGES);
|
||||||
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, ToneMap);
|
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, ToneMap);
|
||||||
|
|
||||||
DECLARE_IMAGEASSET_ARRAY(Material, DetailMap, GFXStaticTextureProfile, MAX_STAGES);
|
DECLARE_IMAGEASSET_ARRAY(Material, DetailMap, MAX_STAGES);
|
||||||
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, DetailMap);
|
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, DetailMap);
|
||||||
|
|
||||||
DECLARE_IMAGEASSET_ARRAY(Material, NormalMap, GFXNormalMapProfile, MAX_STAGES);
|
DECLARE_IMAGEASSET_ARRAY(Material, NormalMap, MAX_STAGES);
|
||||||
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, NormalMap);
|
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, NormalMap);
|
||||||
|
|
||||||
DECLARE_IMAGEASSET_ARRAY(Material, ORMConfigMap, GFXStaticTextureProfile, MAX_STAGES);
|
DECLARE_IMAGEASSET_ARRAY(Material, ORMConfigMap, MAX_STAGES);
|
||||||
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, ORMConfigMap);
|
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, ORMConfigMap);
|
||||||
|
|
||||||
bool mIsSRGb[MAX_STAGES];
|
bool mIsSRGb[MAX_STAGES];
|
||||||
DECLARE_IMAGEASSET_ARRAY(Material, RoughMap, GFXStaticTextureProfile, MAX_STAGES);
|
DECLARE_IMAGEASSET_ARRAY(Material, RoughMap, MAX_STAGES);
|
||||||
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, RoughMap);
|
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, RoughMap);
|
||||||
|
|
||||||
bool mInvertRoughness[MAX_STAGES];
|
bool mInvertRoughness[MAX_STAGES];
|
||||||
F32 mRoughnessChan[MAX_STAGES];
|
F32 mRoughnessChan[MAX_STAGES];
|
||||||
DECLARE_IMAGEASSET_ARRAY(Material, AOMap, GFXStaticTextureProfile, MAX_STAGES);
|
DECLARE_IMAGEASSET_ARRAY(Material, AOMap, MAX_STAGES);
|
||||||
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, AOMap);
|
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, AOMap);
|
||||||
|
|
||||||
F32 mAOChan[MAX_STAGES];
|
F32 mAOChan[MAX_STAGES];
|
||||||
DECLARE_IMAGEASSET_ARRAY(Material, MetalMap, GFXStaticTextureProfile, MAX_STAGES);
|
DECLARE_IMAGEASSET_ARRAY(Material, MetalMap, MAX_STAGES);
|
||||||
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, MetalMap);
|
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, MetalMap);
|
||||||
|
|
||||||
F32 mMetalChan[MAX_STAGES];
|
F32 mMetalChan[MAX_STAGES];
|
||||||
DECLARE_IMAGEASSET_ARRAY(Material, GlowMap, GFXStaticTextureProfile, MAX_STAGES);
|
DECLARE_IMAGEASSET_ARRAY(Material, GlowMap, MAX_STAGES);
|
||||||
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, GlowMap);
|
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, GlowMap);
|
||||||
|
|
||||||
F32 mGlowMul[MAX_STAGES];
|
F32 mGlowMul[MAX_STAGES];
|
||||||
/// A second normal map which repeats at the detail map
|
/// A second normal map which repeats at the detail map
|
||||||
/// scale and blended with the base normal map.
|
/// scale and blended with the base normal map.
|
||||||
DECLARE_IMAGEASSET_ARRAY(Material, DetailNormalMap, GFXNormalMapProfile, MAX_STAGES);
|
DECLARE_IMAGEASSET_ARRAY(Material, DetailNormalMap, MAX_STAGES);
|
||||||
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, DetailNormalMap);
|
DECLARE_IMAGEASSET_ARRAY_SETGET(Material, DetailNormalMap);
|
||||||
|
|
||||||
/// The strength scalar for the detail normal map.
|
/// The strength scalar for the detail normal map.
|
||||||
|
|
|
||||||
|
|
@ -35,7 +35,7 @@ void TamlWriteNode::resetNode( void )
|
||||||
// Clear fields.
|
// Clear fields.
|
||||||
for( Vector<TamlWriteNode::FieldValuePair*>::iterator itr = mFields.begin(); itr != mFields.end(); ++itr )
|
for( Vector<TamlWriteNode::FieldValuePair*>::iterator itr = mFields.begin(); itr != mFields.end(); ++itr )
|
||||||
{
|
{
|
||||||
delete (*itr)->mpValue;
|
delete[] (*itr)->mpValue;
|
||||||
}
|
}
|
||||||
mFields.clear();
|
mFields.clear();
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -79,7 +79,7 @@ inline bool dCompareAndSwap( volatile U64& ref, U64 oldVal, U64 newVal )
|
||||||
inline U32 dAtomicRead( volatile U32 &ref )
|
inline U32 dAtomicRead( volatile U32 &ref )
|
||||||
{
|
{
|
||||||
#if !defined(TORQUE_OS_MAC)
|
#if !defined(TORQUE_OS_MAC)
|
||||||
return __sync_fetch_and_add( ( volatile long* ) &ref, 0 );
|
return __sync_fetch_and_add( &ref, 0 );
|
||||||
#else
|
#else
|
||||||
return OSAtomicAdd32( 0, (int32_t* ) &ref);
|
return OSAtomicAdd32( 0, (int32_t* ) &ref);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
|
|
@ -76,6 +76,7 @@
|
||||||
extern int x86UNIXClose(int fd);
|
extern int x86UNIXClose(int fd);
|
||||||
extern ssize_t x86UNIXRead(int fd, void *buf, size_t nbytes);
|
extern ssize_t x86UNIXRead(int fd, void *buf, size_t nbytes);
|
||||||
extern ssize_t x86UNIXWrite(int fd, const void *buf, size_t nbytes);
|
extern ssize_t x86UNIXWrite(int fd, const void *buf, size_t nbytes);
|
||||||
|
extern bool ResolvePathCaseInsensitive(char* pathName, S32 pathNameSize, bool requiredAbsolute);
|
||||||
|
|
||||||
const int MaxPath = PATH_MAX;
|
const int MaxPath = PATH_MAX;
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -508,7 +508,7 @@ PostEffect::PostEffect()
|
||||||
|
|
||||||
for (U32 i = 0; i < NumTextures; i++)
|
for (U32 i = 0; i < NumTextures; i++)
|
||||||
{
|
{
|
||||||
INIT_ASSET_ARRAY(Texture, i);
|
INIT_IMAGEASSET_ARRAY(Texture, PostFxTextureProfile, i);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -602,9 +602,19 @@ bool PostEffect::onAdd()
|
||||||
scriptPath.setExtension( String::EmptyString );
|
scriptPath.setExtension( String::EmptyString );
|
||||||
|
|
||||||
// Find additional textures
|
// Find additional textures
|
||||||
for( S32 i = 0; i < NumTextures; i++ )
|
for (S32 i = 0; i < NumTextures; i++)
|
||||||
{
|
{
|
||||||
mTextureType[i] = NormalTextureType;
|
mTextureType[i] = NormalTextureType;
|
||||||
|
String texFilename = getTexture(i);
|
||||||
|
|
||||||
|
// Skip empty stages or ones with variable or target names.
|
||||||
|
if (texFilename.isEmpty() ||
|
||||||
|
texFilename[0] == '$' ||
|
||||||
|
texFilename[0] == '#')
|
||||||
|
continue;
|
||||||
|
|
||||||
|
mTextureProfile[i] = (mTexSRGB[i]) ? &PostFxTextureSRGBProfile : &PostFxTextureProfile;
|
||||||
|
_setTexture(texFilename, i);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Is the target a named target?
|
// Is the target a named target?
|
||||||
|
|
@ -1112,7 +1122,7 @@ void PostEffect::_setupConstants( const SceneRenderState *state )
|
||||||
|
|
||||||
void PostEffect::_setupTexture( U32 stage, GFXTexHandle &inputTex, const RectI *inTexViewport )
|
void PostEffect::_setupTexture( U32 stage, GFXTexHandle &inputTex, const RectI *inTexViewport )
|
||||||
{
|
{
|
||||||
const String &texFilename = mTextureName[ stage ];
|
const String &texFilename = getTexture( stage );
|
||||||
|
|
||||||
GFXTexHandle theTex;
|
GFXTexHandle theTex;
|
||||||
NamedTexTarget *namedTarget = NULL;
|
NamedTexTarget *namedTarget = NULL;
|
||||||
|
|
@ -1625,12 +1635,8 @@ void PostEffect::setTexture( U32 index, const String &texFilePath )
|
||||||
texFilePath[0] == '#' )
|
texFilePath[0] == '#' )
|
||||||
return;
|
return;
|
||||||
|
|
||||||
GFXTextureProfile* profile = &PostFxTextureProfile;
|
mTextureProfile[index] = (mTexSRGB[index])? &PostFxTextureSRGBProfile : &PostFxTextureProfile;
|
||||||
if (mTexSRGB[index])
|
_setTexture(texFilePath, index);
|
||||||
profile = &PostFxTextureSRGBProfile;
|
|
||||||
|
|
||||||
// Try to load the texture.
|
|
||||||
mTexture[index].set( texFilePath, profile, avar( "%s() - (line %d)", __FUNCTION__, __LINE__ ) );
|
|
||||||
|
|
||||||
mTextureType[index] = NormalTextureType;
|
mTextureType[index] = NormalTextureType;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -90,7 +90,7 @@ public:
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
DECLARE_IMAGEASSET_ARRAY(PostEffect, Texture, PostFxTextureProfile, NumTextures);
|
DECLARE_IMAGEASSET_ARRAY(PostEffect, Texture, NumTextures);
|
||||||
DECLARE_IMAGEASSET_ARRAY_SETGET(PostEffect, Texture);
|
DECLARE_IMAGEASSET_ARRAY_SETGET(PostEffect, Texture);
|
||||||
|
|
||||||
bool mTexSRGB[NumTextures];
|
bool mTexSRGB[NumTextures];
|
||||||
|
|
|
||||||
|
|
@ -49,7 +49,7 @@ extern bool gEditingMission;
|
||||||
MODULE_BEGIN( Scene )
|
MODULE_BEGIN( Scene )
|
||||||
|
|
||||||
MODULE_INIT_AFTER( Sim )
|
MODULE_INIT_AFTER( Sim )
|
||||||
MODULE_SHUTDOWN_BEFORE( Sim )
|
MODULE_SHUTDOWN_AFTER( Sim )
|
||||||
|
|
||||||
MODULE_INIT
|
MODULE_INIT
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -425,6 +425,7 @@ bool AssimpShapeLoader::fillGuiTreeView(const char* sourceShapePath, GuiTreeView
|
||||||
|
|
||||||
void AssimpShapeLoader::updateMaterialsScript(const Torque::Path &path)
|
void AssimpShapeLoader::updateMaterialsScript(const Torque::Path &path)
|
||||||
{
|
{
|
||||||
|
return;
|
||||||
Torque::Path scriptPath(path);
|
Torque::Path scriptPath(path);
|
||||||
scriptPath.setFileName("materials");
|
scriptPath.setFileName("materials");
|
||||||
scriptPath.setExtension(TORQUE_SCRIPT_EXTENSION);
|
scriptPath.setExtension(TORQUE_SCRIPT_EXTENSION);
|
||||||
|
|
|
||||||
|
|
@ -461,6 +461,8 @@ void updateMaterialsScript(const Torque::Path &path, bool copyTextures = false)
|
||||||
return;
|
return;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
return;
|
||||||
|
|
||||||
Torque::Path scriptPath(path);
|
Torque::Path scriptPath(path);
|
||||||
scriptPath.setFileName("materials");
|
scriptPath.setFileName("materials");
|
||||||
scriptPath.setExtension(TORQUE_SCRIPT_EXTENSION);
|
scriptPath.setExtension(TORQUE_SCRIPT_EXTENSION);
|
||||||
|
|
|
||||||
|
|
@ -1583,7 +1583,9 @@ bool TSShape::addSequence(const Torque::Path& path, const String& fromSeq,
|
||||||
Con::errorf("%s groundTranslations out of bounds! [%i/%i] ", path.getFullPath().c_str(), groundBase + i, srcShape->groundTranslations.size());
|
Con::errorf("%s groundTranslations out of bounds! [%i/%i] ", path.getFullPath().c_str(), groundBase + i, srcShape->groundTranslations.size());
|
||||||
offset = srcShape->groundTranslations.size() - 1;
|
offset = srcShape->groundTranslations.size() - 1;
|
||||||
}
|
}
|
||||||
groundTranslations.push_back(srcShape->groundTranslations[offset]);
|
|
||||||
|
const Point3F pointValueToCopy = srcShape->groundTranslations[offset];
|
||||||
|
groundTranslations.push_back(pointValueToCopy);
|
||||||
|
|
||||||
S32 offset2 = groundBase + i;
|
S32 offset2 = groundBase + i;
|
||||||
if (offset2 >= srcShape->groundRotations.size())
|
if (offset2 >= srcShape->groundRotations.size())
|
||||||
|
|
@ -1591,7 +1593,9 @@ bool TSShape::addSequence(const Torque::Path& path, const String& fromSeq,
|
||||||
Con::errorf("%s groundRotations out of bounds! [%i/%i] ", path.getFullPath().c_str(), groundBase + i, srcShape->groundRotations.size());
|
Con::errorf("%s groundRotations out of bounds! [%i/%i] ", path.getFullPath().c_str(), groundBase + i, srcShape->groundRotations.size());
|
||||||
offset2 = srcShape->groundRotations.size() - 1;
|
offset2 = srcShape->groundRotations.size() - 1;
|
||||||
}
|
}
|
||||||
groundRotations.push_back(srcShape->groundRotations[offset2]);
|
|
||||||
|
const Quat16 quatValueToCopy = srcShape->groundRotations[offset2];
|
||||||
|
groundRotations.push_back(quatValueToCopy);
|
||||||
}
|
}
|
||||||
|
|
||||||
// Add triggers
|
// Add triggers
|
||||||
|
|
|
||||||
|
|
@ -85,8 +85,6 @@ function ImportAssetWindow::onWake(%this)
|
||||||
%this.importer.targetPath = AssetImportTargetAddress.getText();
|
%this.importer.targetPath = AssetImportTargetAddress.getText();
|
||||||
%this.importer.targetModuleId = AssetImportTargetModule.getText();
|
%this.importer.targetModuleId = AssetImportTargetModule.getText();
|
||||||
|
|
||||||
ImportActivityLog.empty();
|
|
||||||
|
|
||||||
%this.refresh();
|
%this.refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -519,7 +517,8 @@ function ImportAssetWindow::doRefresh(%this)
|
||||||
if(ImportAssetWindow.importConfigsList.count() != 0
|
if(ImportAssetWindow.importConfigsList.count() != 0
|
||||||
&& EditorSettings.value("Assets/AssetImporDefaultConfig") !$= ""
|
&& EditorSettings.value("Assets/AssetImporDefaultConfig") !$= ""
|
||||||
&& EditorSettings.value("Assets/AutoImport", false) == true
|
&& EditorSettings.value("Assets/AutoImport", false) == true
|
||||||
&& ImportAssetWindow.hasImportIssues == false
|
&& ImportAssetWindow.hasImportIssues() == false
|
||||||
|
&& AssetBrowser.isAssetReImport == false
|
||||||
&& ImportAssetWindow.allowAutoImport)
|
&& ImportAssetWindow.allowAutoImport)
|
||||||
{
|
{
|
||||||
AssetImportCtrl.setHidden(true);
|
AssetImportCtrl.setHidden(true);
|
||||||
|
|
@ -722,11 +721,7 @@ function NewAssetsPanelInputs::onRightMouseDown(%this)
|
||||||
//
|
//
|
||||||
function ImportAssetWindow::removeImportingAsset(%this)
|
function ImportAssetWindow::removeImportingAsset(%this)
|
||||||
{
|
{
|
||||||
ImportActivityLog.add("Removing Asset from Import");
|
|
||||||
|
|
||||||
%this.importer.deleteImportingAsset(ImportAssetActions.assetItem);
|
%this.importer.deleteImportingAsset(ImportAssetActions.assetItem);
|
||||||
|
|
||||||
//ImportAssetWindow.refresh();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
function ImportAssetWindow::addNewImportingAsset(%this, %filterType)
|
function ImportAssetWindow::addNewImportingAsset(%this, %filterType)
|
||||||
|
|
@ -924,9 +919,9 @@ function ImportAssetWindow::toggleLogWindow()
|
||||||
}
|
}
|
||||||
|
|
||||||
ImportLogTextList.clear();
|
ImportLogTextList.clear();
|
||||||
for(%i=0; %i < ImportActivityLog.count(); %i++)
|
for(%i=0; %i < ImportAssetWindow.importer.getActivityLogLineCount(); %i++)
|
||||||
{
|
{
|
||||||
ImportLogTextList.addRow(%i, ImportActivityLog.getKey(%i));
|
ImportLogTextList.addRow(%i,ImportAssetWindow.importer.getActivityLogLine(%i));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//
|
//
|
||||||
|
|
|
||||||
|
|
@ -3,12 +3,6 @@ function ImportAssetConfigList::onSelect( %this, %id, %text )
|
||||||
//Apply our settings to the assets
|
//Apply our settings to the assets
|
||||||
echo("Changed our import config!");
|
echo("Changed our import config!");
|
||||||
|
|
||||||
if(ImportActivityLog.count() != 0)
|
|
||||||
ImportActivityLog.add("");
|
|
||||||
|
|
||||||
ImportActivityLog.add("Asset Import Configs set to " @ %text);
|
|
||||||
ImportActivityLog.add("");
|
|
||||||
|
|
||||||
ImportAssetWindow.activeImportConfigIndex = %id;
|
ImportAssetWindow.activeImportConfigIndex = %id;
|
||||||
//ImportAssetWindow.activeImportConfig = ImportAssetWindow.importConfigsList.getKey(%id);
|
//ImportAssetWindow.activeImportConfig = ImportAssetWindow.importConfigsList.getKey(%id);
|
||||||
|
|
||||||
|
|
@ -236,12 +230,6 @@ function ImportAssetOptionsWindow::saveAssetOptions(%this)
|
||||||
{
|
{
|
||||||
%success = AssetImportSettings.write();
|
%success = AssetImportSettings.write();
|
||||||
|
|
||||||
if(ImportActivityLog.count() != 0)
|
|
||||||
ImportActivityLog.add("");
|
|
||||||
|
|
||||||
ImportActivityLog.add("Asset Import Configs saved, refreshing Import session");
|
|
||||||
ImportActivityLog.add("");
|
|
||||||
|
|
||||||
ImportAssetWindow.refresh();
|
ImportAssetWindow.refresh();
|
||||||
ImportAssetOptionsWindow.setVisible(0);
|
ImportAssetOptionsWindow.setVisible(0);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -41,6 +41,7 @@ function initializeProjectImporter()
|
||||||
//Input::GetEventManager().subscribe( ProjectImportCtrl, "EndDropFiles" );
|
//Input::GetEventManager().subscribe( ProjectImportCtrl, "EndDropFiles" );
|
||||||
|
|
||||||
$ProjectImporter::importer = new AssetImporter();
|
$ProjectImporter::importer = new AssetImporter();
|
||||||
|
$ProjectImporter::importer.dumpLogs = false; //we'll handle the log files ourselves
|
||||||
|
|
||||||
%importConfig = new AssetImportConfig();
|
%importConfig = new AssetImportConfig();
|
||||||
%importConfig.loadImportConfig(AssetImportSettings, "LegacyProjectImport");
|
%importConfig.loadImportConfig(AssetImportSettings, "LegacyProjectImport");
|
||||||
|
|
|
||||||
|
|
@ -2,7 +2,7 @@ function T3Dpre4ProjectImporter::setupModule(%this)
|
||||||
{
|
{
|
||||||
%newModuleName = $ProjectImporter::moduleName;
|
%newModuleName = $ProjectImporter::moduleName;
|
||||||
|
|
||||||
echo("Creating a new Module named: " @ %newModuleName);
|
$ProjectImporter::log.add("Creating a new Module named: " @ %newModuleName);
|
||||||
|
|
||||||
%moduleFilePath = "data/" @ %newModuleName;
|
%moduleFilePath = "data/" @ %newModuleName;
|
||||||
%moduleDefinitionFilePath = %moduleFilePath @ "/" @ %newModuleName @ ".module";
|
%moduleDefinitionFilePath = %moduleFilePath @ "/" @ %newModuleName @ ".module";
|
||||||
|
|
@ -40,7 +40,7 @@ function T3Dpre4ProjectImporter::setupModule(%this)
|
||||||
%line = strreplace( %line, "@@", %newModuleName );
|
%line = strreplace( %line, "@@", %newModuleName );
|
||||||
|
|
||||||
%file.writeline(%line);
|
%file.writeline(%line);
|
||||||
echo(%line);
|
//$ProjectImporter::log.add(%line);
|
||||||
}
|
}
|
||||||
|
|
||||||
%file.close();
|
%file.close();
|
||||||
|
|
@ -51,7 +51,7 @@ function T3Dpre4ProjectImporter::setupModule(%this)
|
||||||
%file.close();
|
%file.close();
|
||||||
%templateFile.close();
|
%templateFile.close();
|
||||||
|
|
||||||
warnf("CreateNewModule - Something went wrong and we couldn't write the script file!");
|
$ProjectImporter::log.add("CreateNewModule - Something went wrong and we couldn't write the script file!");
|
||||||
}
|
}
|
||||||
|
|
||||||
//force a refresh of our modules list
|
//force a refresh of our modules list
|
||||||
|
|
@ -126,7 +126,7 @@ function T3Dpre4ProjectImporter::copyFiles(%this)
|
||||||
|
|
||||||
if(!pathCopy(%file, %targetFilePath, false))
|
if(!pathCopy(%file, %targetFilePath, false))
|
||||||
{
|
{
|
||||||
error("Legacy Project Importer, failed to copy file: " @ %file @ " to destination: " @ %targetFilePath);
|
$ProjectImporter::log.add("Legacy Project Importer, failed to copy file: " @ %file @ " to destination: " @ %targetFilePath);
|
||||||
}
|
}
|
||||||
|
|
||||||
%file = findNextFileMultiExpr( $ProjectImporter::sourceContentFolder @ "/*.*" );
|
%file = findNextFileMultiExpr( $ProjectImporter::sourceContentFolder @ "/*.*" );
|
||||||
|
|
@ -206,7 +206,7 @@ function T3Dpre4ProjectImporter::beginMaterialFilesImport(%this)
|
||||||
%objectClassStack = new ArrayObject();
|
%objectClassStack = new ArrayObject();
|
||||||
%fileOutputLines = new ArrayObject();
|
%fileOutputLines = new ArrayObject();
|
||||||
|
|
||||||
echo("Legacy Project Importer - Beginning processing of imported code files");
|
$ProjectImporter::log.add("Legacy Project Importer - Beginning processing of imported code files");
|
||||||
|
|
||||||
//Walk through and process all code files to update references
|
//Walk through and process all code files to update references
|
||||||
while( %file !$= "" )
|
while( %file !$= "" )
|
||||||
|
|
@ -225,7 +225,7 @@ function T3Dpre4ProjectImporter::beginMaterialFilesImport(%this)
|
||||||
|
|
||||||
if ( $ProjectImporter::fileObject.openForRead( %file ) )
|
if ( $ProjectImporter::fileObject.openForRead( %file ) )
|
||||||
{
|
{
|
||||||
echo("Legacy Project Importer - Beginning process of file: " @ %file);
|
$ProjectImporter::log.add("Legacy Project Importer - Beginning process of file: " @ %file);
|
||||||
%lineNum = 0;
|
%lineNum = 0;
|
||||||
while ( !$ProjectImporter::fileObject.isEOF() )
|
while ( !$ProjectImporter::fileObject.isEOF() )
|
||||||
{
|
{
|
||||||
|
|
@ -376,7 +376,7 @@ function T3Dpre4ProjectImporter::beginMaterialFilesImport(%this)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
error("Legacy Project Importer - File not able to be opened: " @ %file);
|
$ProjectImporter::log.add("Legacy Project Importer - File not able to be opened: " @ %file);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(%fileWasChanged)
|
if(%fileWasChanged)
|
||||||
|
|
@ -399,7 +399,7 @@ function T3Dpre4ProjectImporter::beginMaterialFilesImport(%this)
|
||||||
%file = findNextFileMultiExpr( $ProjectImporter::modulePath @ "/*/materials.*" );
|
%file = findNextFileMultiExpr( $ProjectImporter::modulePath @ "/*/materials.*" );
|
||||||
}
|
}
|
||||||
|
|
||||||
echo("Legacy Project Importer - Processing of imported code files done!");
|
$ProjectImporter::log.add("Legacy Project Importer - Processing of imported code files done!");
|
||||||
|
|
||||||
%fileOutputLines.delete();
|
%fileOutputLines.delete();
|
||||||
%objectClassStack.delete();
|
%objectClassStack.delete();
|
||||||
|
|
@ -418,7 +418,7 @@ function T3Dpre4ProjectImporter::beginCodeFilesImport(%this)
|
||||||
%objectClassStack = new ArrayObject();
|
%objectClassStack = new ArrayObject();
|
||||||
%fileOutputLines = new ArrayObject();
|
%fileOutputLines = new ArrayObject();
|
||||||
|
|
||||||
echo("Legacy Project Importer - Beginning processing of imported code files");
|
$ProjectImporter::log.add("Legacy Project Importer - Beginning processing of imported code files");
|
||||||
|
|
||||||
//Walk through and process all code files to update references
|
//Walk through and process all code files to update references
|
||||||
while( %file !$= "" )
|
while( %file !$= "" )
|
||||||
|
|
@ -454,7 +454,7 @@ function T3Dpre4ProjectImporter::beginCodeFilesImport(%this)
|
||||||
|
|
||||||
if ( $ProjectImporter::fileObject.openForRead( %file ) )
|
if ( $ProjectImporter::fileObject.openForRead( %file ) )
|
||||||
{
|
{
|
||||||
echo("Legacy Project Importer - Beginning process of file: " @ %file);
|
$ProjectImporter::log.add("Legacy Project Importer - Beginning process of file: " @ %file);
|
||||||
%lineNum = 0;
|
%lineNum = 0;
|
||||||
while ( !$ProjectImporter::fileObject.isEOF() )
|
while ( !$ProjectImporter::fileObject.isEOF() )
|
||||||
{
|
{
|
||||||
|
|
@ -702,7 +702,7 @@ function T3Dpre4ProjectImporter::beginCodeFilesImport(%this)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
error("Legacy Project Importer - File not able to be opened: " @ %file);
|
$ProjectImporter::log.add("Legacy Project Importer - File not able to be opened: " @ %file);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(%fileWasChanged)
|
if(%fileWasChanged)
|
||||||
|
|
@ -725,7 +725,7 @@ function T3Dpre4ProjectImporter::beginCodeFilesImport(%this)
|
||||||
%file = findNextFileMultiExpr( $ProjectImporter::modulePath @ "/*.*" );
|
%file = findNextFileMultiExpr( $ProjectImporter::modulePath @ "/*.*" );
|
||||||
}
|
}
|
||||||
|
|
||||||
echo("Legacy Project Importer - Processing of imported code files done!");
|
$ProjectImporter::log.add("Legacy Project Importer - Processing of imported code files done!");
|
||||||
|
|
||||||
//exec common loader files, process the remainder into assets
|
//exec common loader files, process the remainder into assets
|
||||||
|
|
||||||
|
|
@ -747,7 +747,7 @@ function T3Dpre4ProjectImporter::processScriptExtensions(%this)
|
||||||
else
|
else
|
||||||
%file = findFirstFileMultiExpr( $ProjectImporter::modulePath @ "/*/*.tscript", true);
|
%file = findFirstFileMultiExpr( $ProjectImporter::modulePath @ "/*/*.tscript", true);
|
||||||
|
|
||||||
echo("Legacy Project Importer - Beginning processing of script files that utilize extensions other than: " @ $TorqueScriptFileExtension);
|
$ProjectImporter::log.add("Legacy Project Importer - Beginning processing of script files that utilize extensions other than: " @ $TorqueScriptFileExtension);
|
||||||
|
|
||||||
//Walk through and process all code files to update references
|
//Walk through and process all code files to update references
|
||||||
while( %file !$= "" )
|
while( %file !$= "" )
|
||||||
|
|
@ -767,13 +767,13 @@ function T3Dpre4ProjectImporter::processScriptExtensions(%this)
|
||||||
%targetFilePath = %filePath @ "/" @ %fileBase @ "." @ $TorqueScriptFileExtension;
|
%targetFilePath = %filePath @ "/" @ %fileBase @ "." @ $TorqueScriptFileExtension;
|
||||||
if(!pathCopy(%file, %targetFilePath))
|
if(!pathCopy(%file, %targetFilePath))
|
||||||
{
|
{
|
||||||
error("T3Dpre4ProjectImporter::processScriptExtensions() - Failed to create renamed script file for file: " @ %file);
|
$ProjectImporter::log.add("T3Dpre4ProjectImporter::processScriptExtensions() - Failed to create renamed script file for file: " @ %file);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if(!fileDelete(%file))
|
if(!fileDelete(%file))
|
||||||
{
|
{
|
||||||
error("T3Dpre4ProjectImporter::processScriptExtensions() - Failed to remove old script file for rename: " @ %file);
|
$ProjectImporter::log.add("T3Dpre4ProjectImporter::processScriptExtensions() - Failed to remove old script file for rename: " @ %file);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -789,7 +789,7 @@ function T3Dpre4ProjectImporter::processScriptExtensions(%this)
|
||||||
ProjectImportWindow-->nextButton.setActive(true);
|
ProjectImportWindow-->nextButton.setActive(true);
|
||||||
Canvas.repaint();
|
Canvas.repaint();
|
||||||
|
|
||||||
echo("Legacy Project Importer - Beginning processing of script files extensions complete");
|
$ProjectImporter::log.add("Legacy Project Importer - Beginning processing of script files extensions complete");
|
||||||
}
|
}
|
||||||
|
|
||||||
//To implement a custom class to have it's fields processed, just utilize this template function
|
//To implement a custom class to have it's fields processed, just utilize this template function
|
||||||
|
|
@ -986,7 +986,7 @@ function T3Dpre4ProjectImporter::processMaterialObject(%this, %file, %objectName
|
||||||
|
|
||||||
if(isFile(%tamlpath))
|
if(isFile(%tamlpath))
|
||||||
{
|
{
|
||||||
error("T3Dpre4ProjectImporter::processMaterialObject() - Failed to create as taml file already exists: " @ %file);
|
$ProjectImporter::log.add("T3Dpre4ProjectImporter::processMaterialObject() - Failed to create as taml file already exists: " @ %file);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1042,7 +1042,7 @@ function T3Dpre4ProjectImporter::processTerrainMaterialObject(%this, %file, %obj
|
||||||
|
|
||||||
if(isFile(%tamlpath))
|
if(isFile(%tamlpath))
|
||||||
{
|
{
|
||||||
error("T3Dpre4ProjectImporter::processTerrainMaterialObject() - Failed to create as taml file already exists: " @ %file);
|
$ProjectImporter::log.add("T3Dpre4ProjectImporter::processTerrainMaterialObject() - Failed to create as taml file already exists: " @ %file);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1098,7 +1098,7 @@ function T3Dpre4ProjectImporter::processSFXProfileObject(%this, %file, %objectNa
|
||||||
//Throw a warn that this file's already been claimed and move on
|
//Throw a warn that this file's already been claimed and move on
|
||||||
if(%soundAsset !$= "")
|
if(%soundAsset !$= "")
|
||||||
{
|
{
|
||||||
warn("T3Dpre4ProjectImporter::processSFXProfileObject() - attempting to process SFXProfile " @ %objectName
|
$ProjectImporter::log.add("T3Dpre4ProjectImporter::processSFXProfileObject() - attempting to process SFXProfile " @ %objectName
|
||||||
@ " but its filename is already associated to another sound asset. Continuing, but be aware.");
|
@ " but its filename is already associated to another sound asset. Continuing, but be aware.");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1112,7 +1112,7 @@ function T3Dpre4ProjectImporter::processSFXProfileObject(%this, %file, %objectNa
|
||||||
|
|
||||||
if(isFile(%tamlpath))
|
if(isFile(%tamlpath))
|
||||||
{
|
{
|
||||||
error("T3Dpre4ProjectImporter::processSFXProfileObject() - Failed to create as taml file already exists: " @ %soundFilename);
|
$ProjectImporter::log.add("T3Dpre4ProjectImporter::processSFXProfileObject() - Failed to create as taml file already exists: " @ %soundFilename);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1274,7 +1274,7 @@ function processGuiBitmapButtonCtrlField(%line, %originalFieldName, %newFieldNam
|
||||||
|
|
||||||
if(%outLine !$= %line && %pos != -1 && %endPos != -1 && %value !$= "")
|
if(%outLine !$= %line && %pos != -1 && %endPos != -1 && %value !$= "")
|
||||||
{
|
{
|
||||||
echo("Legacy Project Importer - processing legacy field line: " @ %line);
|
$ProjectImporter::log.add("Legacy Project Importer - processing legacy field line: " @ %line);
|
||||||
|
|
||||||
if(startsWith(%value, "$") || startsWith(%value, "#"))
|
if(startsWith(%value, "$") || startsWith(%value, "#"))
|
||||||
{
|
{
|
||||||
|
|
@ -1287,7 +1287,7 @@ function processGuiBitmapButtonCtrlField(%line, %originalFieldName, %newFieldNam
|
||||||
//If we still have nothing, then we fail it out
|
//If we still have nothing, then we fail it out
|
||||||
if(!isFile(%targetFilename))
|
if(!isFile(%targetFilename))
|
||||||
{
|
{
|
||||||
error("Legacy Project Importer - file described in line could not be found/is not valid");
|
$ProjectImporter::log.add("Legacy Project Importer - file described in line could not be found/is not valid");
|
||||||
return %line;
|
return %line;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1296,7 +1296,7 @@ function processGuiBitmapButtonCtrlField(%line, %originalFieldName, %newFieldNam
|
||||||
if(%foundAssets != 0)
|
if(%foundAssets != 0)
|
||||||
{
|
{
|
||||||
%assetId = $ProjectImporter::assetQuery.getAsset(0);
|
%assetId = $ProjectImporter::assetQuery.getAsset(0);
|
||||||
echo("Legacy Project Importer - processing of legacy field line's value: " @ %value @ " has found a matching AssetId: " @ %assetId);
|
$ProjectImporter::log.add("Legacy Project Importer - processing of legacy field line's value: " @ %value @ " has found a matching AssetId: " @ %assetId);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(%assetId !$= "" && AssetDatabase.isDeclaredAsset(%assetId))
|
if(%assetId !$= "" && AssetDatabase.isDeclaredAsset(%assetId))
|
||||||
|
|
@ -1310,7 +1310,7 @@ function processGuiBitmapButtonCtrlField(%line, %originalFieldName, %newFieldNam
|
||||||
|
|
||||||
if(%outLine !$= %line)
|
if(%outLine !$= %line)
|
||||||
{
|
{
|
||||||
echo("Legacy Project Importer - processing of legacy line: " @ %line @ " has been updated to: " @ %outLine);
|
$ProjectImporter::log.add("Legacy Project Importer - processing of legacy line: " @ %line @ " has been updated to: " @ %outLine);
|
||||||
return %outLine;
|
return %outLine;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,11 @@ function ProjectImportWindow::onWake(%this)
|
||||||
if(!isObject($ProjectImporter::fileObject))
|
if(!isObject($ProjectImporter::fileObject))
|
||||||
$ProjectImporter::fileObject = new FileObject();
|
$ProjectImporter::fileObject = new FileObject();
|
||||||
|
|
||||||
|
if(!isObject($ProjectImporter::log))
|
||||||
|
$ProjectImporter::log = new ArrayObject();
|
||||||
|
else
|
||||||
|
$ProjectImporter::log.empty();
|
||||||
|
|
||||||
%this.importStepNumber = 0;
|
%this.importStepNumber = 0;
|
||||||
%this-->stepsList.clear();
|
%this-->stepsList.clear();
|
||||||
%this-->stepsList.addRow(0, "Welcome");
|
%this-->stepsList.addRow(0, "Welcome");
|
||||||
|
|
@ -352,16 +357,33 @@ function ProjectImportWizardPage6::processPage(%this)
|
||||||
|
|
||||||
function ProjectImportWizardPage7::openPage(%this)
|
function ProjectImportWizardPage7::openPage(%this)
|
||||||
{
|
{
|
||||||
|
//writing console log
|
||||||
|
%logFileObj = new FileObject();
|
||||||
|
|
||||||
|
%logFileName = "tools/logs/LegacyProjectImport_" @ getTimestamp() @ ".log";
|
||||||
|
|
||||||
|
if(%logFileObj.openForWrite(%logFileName))
|
||||||
|
{
|
||||||
|
for(%i=0; %i < $ProjectImporter::log.count(); %i++)
|
||||||
|
{
|
||||||
|
%logFileObj.writeLine($ProjectImporter::log.getKey(%i));
|
||||||
|
}
|
||||||
|
|
||||||
|
%logFileObj.close();
|
||||||
|
}
|
||||||
|
|
||||||
|
%logFileObj.delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
function beginProjectImport()
|
function beginProjectImport()
|
||||||
{
|
{
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
echo("Beginning Project Import");
|
$ProjectImporter::log.add("Beginning Project Import");
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
|
|
||||||
$ProjectImporter::assetQuery = new AssetQuery();
|
$ProjectImporter::assetQuery = new AssetQuery();
|
||||||
$ProjectImporter::importer = new AssetImporter();
|
$ProjectImporter::importer = new AssetImporter();
|
||||||
|
$ProjectImporter::importer.dumpLogs = false; //we handle the log dump outselves here
|
||||||
$ProjectImporter::persistMgr = new PersistenceManager();
|
$ProjectImporter::persistMgr = new PersistenceManager();
|
||||||
|
|
||||||
//beginMaterialImport();
|
//beginMaterialImport();
|
||||||
|
|
@ -388,9 +410,9 @@ function beginProjectImport()
|
||||||
$ProjectImporter::importer.delete();
|
$ProjectImporter::importer.delete();
|
||||||
$ProjectImporter::persistMgr.delete();
|
$ProjectImporter::persistMgr.delete();
|
||||||
|
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
echo("Finished Project Import");
|
$ProjectImporter::log.add("Finished Project Import");
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
|
|
||||||
AssetBrowser.refresh(); //update the AB just in case
|
AssetBrowser.refresh(); //update the AB just in case
|
||||||
}
|
}
|
||||||
|
|
@ -538,7 +560,7 @@ function processLegacyField(%line, %originalFieldName, %newFieldName)
|
||||||
|
|
||||||
if(%outLine !$= %line && %pos != -1 && %endPos != -1 && %value !$= "")
|
if(%outLine !$= %line && %pos != -1 && %endPos != -1 && %value !$= "")
|
||||||
{
|
{
|
||||||
echo("Legacy Project Importer - processing legacy field line: " @ %line);
|
$ProjectImporter::log.add("Legacy Project Importer - processing legacy field line: " @ %line);
|
||||||
|
|
||||||
if(startsWith(%value, "$") || startsWith(%value, "#"))
|
if(startsWith(%value, "$") || startsWith(%value, "#"))
|
||||||
{
|
{
|
||||||
|
|
@ -580,7 +602,7 @@ function processLegacyField(%line, %originalFieldName, %newFieldName)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
error("Legacy Project Importer - file described in line could not be found/is not valid");
|
$ProjectImporter::log.add("Legacy Project Importer - file described in line could not be found/is not valid");
|
||||||
return %line;
|
return %line;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -597,7 +619,7 @@ function processLegacyField(%line, %originalFieldName, %newFieldName)
|
||||||
|
|
||||||
if(%assetId !$= "" && AssetDatabase.isDeclaredAsset(%assetId))
|
if(%assetId !$= "" && AssetDatabase.isDeclaredAsset(%assetId))
|
||||||
{
|
{
|
||||||
echo("Legacy Project Importer - processing of legacy field line's value: " @ %value @ " has found a matching AssetId: " @ %assetId);
|
$ProjectImporter::log.add("Legacy Project Importer - processing of legacy field line's value: " @ %value @ " has found a matching AssetId: " @ %assetId);
|
||||||
|
|
||||||
//double check if this already had the quotes around the value or not
|
//double check if this already had the quotes around the value or not
|
||||||
if(!strIsMatchExpr("*\"*\"*", %originalValue))
|
if(!strIsMatchExpr("*\"*\"*", %originalValue))
|
||||||
|
|
@ -612,7 +634,7 @@ function processLegacyField(%line, %originalFieldName, %newFieldName)
|
||||||
|
|
||||||
if(%outLine !$= %line)
|
if(%outLine !$= %line)
|
||||||
{
|
{
|
||||||
echo("Legacy Project Importer - processing of legacy line: " @ %line @ " has been updated to: " @ %outLine);
|
$ProjectImporter::log.add("Legacy Project Importer - processing of legacy line: " @ %line @ " has been updated to: " @ %outLine);
|
||||||
return %outLine;
|
return %outLine;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -650,7 +672,7 @@ function processLegacyShapeConstructorField(%line)
|
||||||
if(%foundAssets != 0)
|
if(%foundAssets != 0)
|
||||||
{
|
{
|
||||||
%assetId = $ProjectImporter::assetQuery.getAsset(0);
|
%assetId = $ProjectImporter::assetQuery.getAsset(0);
|
||||||
echo("Legacy Project Importer - processing of legacy shape constructor addSequence line's value: " @ %animSourcePath @ " has found a matching AssetId: " @ %assetId);
|
$ProjectImporter::log.add("Legacy Project Importer - processing of legacy shape constructor addSequence line's value: " @ %animSourcePath @ " has found a matching AssetId: " @ %assetId);
|
||||||
}
|
}
|
||||||
|
|
||||||
if(%assetId !$= "" && AssetDatabase.isDeclaredAsset(%assetId))
|
if(%assetId !$= "" && AssetDatabase.isDeclaredAsset(%assetId))
|
||||||
|
|
@ -663,7 +685,7 @@ function processLegacyShapeConstructorField(%line)
|
||||||
|
|
||||||
if(%outLine !$= %line)
|
if(%outLine !$= %line)
|
||||||
{
|
{
|
||||||
echo("Legacy Project Importer - processing of legacy shape constructor addSequence line: " @ %line @ " has been updated to: " @ %outLine);
|
$ProjectImporter::log.add("Legacy Project Importer - processing of legacy shape constructor addSequence line: " @ %line @ " has been updated to: " @ %outLine);
|
||||||
return %outLine;
|
return %outLine;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -849,7 +871,7 @@ function findObjectInFiles(%objectName)
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
error("findObjectInFiles() - File not able to be opened: " @ %file);
|
$ProjectImporter::log.add("findObjectInFiles() - File not able to be opened: " @ %file);
|
||||||
}
|
}
|
||||||
|
|
||||||
%file = findNextFileMultiExpr( "*.*" );
|
%file = findNextFileMultiExpr( "*.*" );
|
||||||
|
|
@ -864,9 +886,9 @@ function findObjectInFiles(%objectName)
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
function beginShapeImport()
|
function beginShapeImport()
|
||||||
{
|
{
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
echo("Importing 3D Shape files");
|
$ProjectImporter::log.add("Importing 3D Shape files");
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
//First, we need to go through and process all loose shape files. This will
|
//First, we need to go through and process all loose shape files. This will
|
||||||
//get us shape assets, material assets image, assets and animation assets.
|
//get us shape assets, material assets image, assets and animation assets.
|
||||||
%currentAddress = $ProjectImporter::modulePath;
|
%currentAddress = $ProjectImporter::modulePath;
|
||||||
|
|
@ -904,12 +926,14 @@ function beginShapeImport()
|
||||||
|
|
||||||
//No asset found associated to this fileas far as we can determine, so time to import it
|
//No asset found associated to this fileas far as we can determine, so time to import it
|
||||||
|
|
||||||
warn("Importing 3D Shape file: " @ %file);
|
$ProjectImporter::log.add("Importing 3D Shape file: " @ %file);
|
||||||
%assetId = $ProjectImporter::importer.autoImportFile(%file);
|
%assetId = $ProjectImporter::importer.autoImportFile(%file);
|
||||||
|
getImporterLogs();
|
||||||
|
|
||||||
if(%assetId !$= "")
|
if(%assetId !$= "")
|
||||||
{
|
{
|
||||||
warn("Finished importing 3D Shape file, resulting in asset with an id of: " @ %assetId);
|
$ProjectImporter::log.add("Finished importing 3D Shape file, resulting in asset with an id of: " @ %assetId);
|
||||||
|
$ProjectImporter::log.add("");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -917,9 +941,9 @@ function beginShapeImport()
|
||||||
%file = findNextFileMultiExpr( %currentAddress @ "/*.*" );
|
%file = findNextFileMultiExpr( %currentAddress @ "/*.*" );
|
||||||
}
|
}
|
||||||
|
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
echo("Finished Importing 3D Shape files");
|
$ProjectImporter::log.add("Finished Importing 3D Shape files");
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
}
|
}
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
||||||
|
|
@ -928,9 +952,9 @@ function beginShapeImport()
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
function beginImageImport()
|
function beginImageImport()
|
||||||
{
|
{
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
echo("Importing Image files");
|
$ProjectImporter::log.add("Importing Image files");
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
//First, we need to go through and process all loose image files. This will
|
//First, we need to go through and process all loose image files. This will
|
||||||
//get us image assets, and if the import config deigns, material assets.
|
//get us image assets, and if the import config deigns, material assets.
|
||||||
%currentAddress = $ProjectImporter::modulePath;
|
%currentAddress = $ProjectImporter::modulePath;
|
||||||
|
|
@ -960,12 +984,14 @@ function beginImageImport()
|
||||||
|
|
||||||
//No asset found associated to this fileas far as we can determine, so time to import it
|
//No asset found associated to this fileas far as we can determine, so time to import it
|
||||||
|
|
||||||
warn("Importing Image file: " @ %file);
|
$ProjectImporter::log.add("Importing Image file: " @ %file);
|
||||||
%assetId = $ProjectImporter::importer.autoImportFile(%file);
|
%assetId = $ProjectImporter::importer.autoImportFile(%file);
|
||||||
|
getImporterLogs();
|
||||||
|
|
||||||
if(%assetId !$= "")
|
if(%assetId !$= "")
|
||||||
{
|
{
|
||||||
warn("Finished importing Image file, resulting in asset with an id of: " @ %assetId);
|
$ProjectImporter::log.add("Finished importing Image file, resulting in asset with an id of: " @ %assetId);
|
||||||
|
$ProjectImporter::log.add("");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -973,9 +999,9 @@ function beginImageImport()
|
||||||
%file = findNextFileMultiExpr( %currentAddress @ "/*.*" );
|
%file = findNextFileMultiExpr( %currentAddress @ "/*.*" );
|
||||||
}
|
}
|
||||||
|
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
echo("Finished Importing Image files");
|
$ProjectImporter::log.add("Finished Importing Image files");
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
}
|
}
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
||||||
|
|
@ -984,9 +1010,9 @@ function beginImageImport()
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
function beginTerrainImport()
|
function beginTerrainImport()
|
||||||
{
|
{
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
echo("Importing Terrain files");
|
$ProjectImporter::log.add("Importing Terrain files");
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
|
|
||||||
%currentAddress = $ProjectImporter::modulePath;
|
%currentAddress = $ProjectImporter::modulePath;
|
||||||
|
|
||||||
|
|
@ -1015,7 +1041,7 @@ function beginTerrainImport()
|
||||||
ProjectImportWizardPage5-->processingText.setText("Processing Terrain Asset file: " @ %file);
|
ProjectImportWizardPage5-->processingText.setText("Processing Terrain Asset file: " @ %file);
|
||||||
Canvas.repaint();
|
Canvas.repaint();
|
||||||
|
|
||||||
warn("Importing Terrain file: " @ %file);
|
$ProjectImporter::log.add("Importing Terrain file: " @ %file);
|
||||||
|
|
||||||
%moduleDef = AssetBrowser.dirHandler.getModuleFromAddress(%file);
|
%moduleDef = AssetBrowser.dirHandler.getModuleFromAddress(%file);
|
||||||
%moduleName = %moduleDef.ModuleID;
|
%moduleName = %moduleDef.ModuleID;
|
||||||
|
|
@ -1039,7 +1065,8 @@ function beginTerrainImport()
|
||||||
{
|
{
|
||||||
AssetDatabase.addDeclaredAsset(%moduleDef, %tamlpath);
|
AssetDatabase.addDeclaredAsset(%moduleDef, %tamlpath);
|
||||||
|
|
||||||
warn("Finished importing Terrain file, resulting in asset with an id of: " @ %moduleName @ ":" @ %assetName);
|
$ProjectImporter::log.add("Finished importing Terrain file, resulting in asset with an id of: " @ %moduleName @ ":" @ %assetName);
|
||||||
|
$ProjectImporter::log.add("");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1047,9 +1074,9 @@ function beginTerrainImport()
|
||||||
%file = findNextFileMultiExpr( %currentAddress @ "/*.*" );
|
%file = findNextFileMultiExpr( %currentAddress @ "/*.*" );
|
||||||
}
|
}
|
||||||
|
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
echo("Finished Importing Terrain files");
|
$ProjectImporter::log.add("Finished Importing Terrain files");
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
}
|
}
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
||||||
|
|
@ -1064,9 +1091,9 @@ function beginTerrainImport()
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
function beginGUIImport()
|
function beginGUIImport()
|
||||||
{
|
{
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
echo("Importing GUIs");
|
$ProjectImporter::log.add("Importing GUIs");
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
|
|
||||||
%currentAddress = $ProjectImporter::modulePath;
|
%currentAddress = $ProjectImporter::modulePath;
|
||||||
|
|
||||||
|
|
@ -1128,14 +1155,14 @@ function beginGUIImport()
|
||||||
%file = findNextFileMultiExpr( %currentAddress @ "/*.*" );
|
%file = findNextFileMultiExpr( %currentAddress @ "/*.*" );
|
||||||
}
|
}
|
||||||
|
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
echo("Finished Importing GUIs");
|
$ProjectImporter::log.add("Finished Importing GUIs");
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
}
|
}
|
||||||
|
|
||||||
function processGUIntoAsset(%guiName, %file)
|
function processGUIntoAsset(%guiName, %file)
|
||||||
{
|
{
|
||||||
warn("Processing GUI into asset: " @ %guiName @ ", file: " @ %file);
|
$ProjectImporter::log.add("Processing GUI into asset: " @ %guiName @ ", file: " @ %file);
|
||||||
|
|
||||||
%filePath = filePath(%file);
|
%filePath = filePath(%file);
|
||||||
%fileName = fileBase(%file);
|
%fileName = fileBase(%file);
|
||||||
|
|
@ -1182,9 +1209,9 @@ function processGUIntoAsset(%guiName, %file)
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
function beginPostFXImport()
|
function beginPostFXImport()
|
||||||
{
|
{
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
echo("Importing PostFXs");
|
$ProjectImporter::log.add("Importing PostFXs");
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
|
|
||||||
%count = PostFXManager.Count();
|
%count = PostFXManager.Count();
|
||||||
for(%i=0; %i < %count; %i++)
|
for(%i=0; %i < %count; %i++)
|
||||||
|
|
@ -1193,7 +1220,7 @@ function beginPostFXImport()
|
||||||
|
|
||||||
if(isObject(%postEffect))
|
if(isObject(%postEffect))
|
||||||
{
|
{
|
||||||
echo("Processing import of PostFX: " @ %postEffect.getName());
|
$ProjectImporter::log.add("Processing import of PostFX: " @ %postEffect.getName());
|
||||||
|
|
||||||
//$ProjectImporter::persistMgr.setDirty(%gui);
|
//$ProjectImporter::persistMgr.setDirty(%gui);
|
||||||
}
|
}
|
||||||
|
|
@ -1201,9 +1228,9 @@ function beginPostFXImport()
|
||||||
|
|
||||||
//$ProjectImporter::persistMgr.saveDirty();
|
//$ProjectImporter::persistMgr.saveDirty();
|
||||||
|
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
echo("Finished Importing PostFXs");
|
$ProjectImporter::log.add("Finished Importing PostFXs");
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
}
|
}
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
||||||
|
|
@ -1212,9 +1239,9 @@ function beginPostFXImport()
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
function beginLevelImport()
|
function beginLevelImport()
|
||||||
{
|
{
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
echo("Importing Level files");
|
$ProjectImporter::log.add("Importing Level files");
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
|
|
||||||
%currentAddress = $ProjectImporter::modulePath;
|
%currentAddress = $ProjectImporter::modulePath;
|
||||||
|
|
||||||
|
|
@ -1239,7 +1266,7 @@ function beginLevelImport()
|
||||||
ProjectImportWizardPage5-->processingText.setText("Processing Level Asset file: " @ %file);
|
ProjectImportWizardPage5-->processingText.setText("Processing Level Asset file: " @ %file);
|
||||||
Canvas.repaint();
|
Canvas.repaint();
|
||||||
|
|
||||||
warn("Importing Level file: " @ %file);
|
$ProjectImporter::log.add("Importing Level file: " @ %file);
|
||||||
|
|
||||||
%moduleName = AssetBrowser.dirHandler.getModuleFromAddress(%file).ModuleId;
|
%moduleName = AssetBrowser.dirHandler.getModuleFromAddress(%file).ModuleId;
|
||||||
|
|
||||||
|
|
@ -1249,7 +1276,7 @@ function beginLevelImport()
|
||||||
|
|
||||||
if(AssetDatabase.isDeclaredAsset(%moduleName @ ":" @ %assetName))
|
if(AssetDatabase.isDeclaredAsset(%moduleName @ ":" @ %assetName))
|
||||||
{
|
{
|
||||||
warn("Legacy Project Importer - trying to process a level into an asset that already exists");
|
$ProjectImporter::log.add("Legacy Project Importer - trying to process a level into an asset that already exists");
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1329,9 +1356,9 @@ function beginLevelImport()
|
||||||
%file = findNextFileMultiExpr( %currentAddress @ "/*.*" );
|
%file = findNextFileMultiExpr( %currentAddress @ "/*.*" );
|
||||||
}
|
}
|
||||||
|
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
echo("Finished Importing Level files");
|
$ProjectImporter::log.add("Finished Importing Level files");
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
}
|
}
|
||||||
//==============================================================================
|
//==============================================================================
|
||||||
|
|
||||||
|
|
@ -1370,9 +1397,9 @@ function ProjectImporter::deleteAssetDefinitions(%targetFolder)
|
||||||
|
|
||||||
function doDeleteAssetDefinitions()
|
function doDeleteAssetDefinitions()
|
||||||
{
|
{
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
echo("Deleting Asset Definitions");
|
$ProjectImporter::log.add("Deleting Asset Definitions");
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
|
|
||||||
%currentAddress = $deleteAssetDefsTargetFolder;
|
%currentAddress = $deleteAssetDefsTargetFolder;
|
||||||
|
|
||||||
|
|
@ -1388,27 +1415,27 @@ function doDeleteAssetDefinitions()
|
||||||
{
|
{
|
||||||
if(fileDelete(%file))
|
if(fileDelete(%file))
|
||||||
{
|
{
|
||||||
echo("File: " @ %file @ " deleted successfully.");
|
$ProjectImporter::log.add("File: " @ %file @ " deleted successfully.");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
error("File: " @ %file @ " failed to delete.");
|
$ProjectImporter::log.add("File: " @ %file @ " failed to delete.");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
%file = findNextFileMultiExpr( %currentAddress @ "/*.asset.taml" );
|
%file = findNextFileMultiExpr( %currentAddress @ "/*.asset.taml" );
|
||||||
}
|
}
|
||||||
|
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
echo("Finished Deleting Asset Definitions");
|
$ProjectImporter::log.add("Finished Deleting Asset Definitions");
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
}
|
}
|
||||||
|
|
||||||
function scanForDuplicateFiles(%toTestFile)
|
function scanForDuplicateFiles(%toTestFile)
|
||||||
{
|
{
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
echo("Scanning for duplicate files!");
|
$ProjectImporter::log.add("Scanning for duplicate files!");
|
||||||
echo("===========================================");
|
$ProjectImporter::log.add("===========================================");
|
||||||
|
|
||||||
//First, wipe out any files inside the folder first
|
//First, wipe out any files inside the folder first
|
||||||
%file = findFirstFileMultiExpr( "*/*.*", true);
|
%file = findFirstFileMultiExpr( "*/*.*", true);
|
||||||
|
|
@ -1452,12 +1479,21 @@ function scanForDuplicateFiles(%toTestFile)
|
||||||
if(%moduleName !$= "" && %testModuleName !$= "" && %moduleName $= %testModuleName)
|
if(%moduleName !$= "" && %testModuleName !$= "" && %moduleName $= %testModuleName)
|
||||||
{
|
{
|
||||||
//report the probable duplicate
|
//report the probable duplicate
|
||||||
error("Probable duplicate asset detected!");
|
$ProjectImporter::log.add("Probable duplicate asset detected!");
|
||||||
error("Files: " @ %file @ " and " @ %toTestFile @ " have matching names and exist within the same module!");
|
$ProjectImporter::log.add("Files: " @ %file @ " and " @ %toTestFile @ " have matching names and exist within the same module!");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
%file = findNextFileMultiExpr( "*/*.*" );
|
%file = findNextFileMultiExpr( "*/*.*" );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function getImporterLogs()
|
||||||
|
{
|
||||||
|
%lineCount = $ProjectImporter::importer.getActivityLogLineCount();
|
||||||
|
for(%i=0; %i < %lineCount; %i++)
|
||||||
|
{
|
||||||
|
$ProjectImporter::log.add($ProjectImporter::importer.getActivityLogLine(%i));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -745,14 +745,13 @@ if (APPLE AND NOT IOS)
|
||||||
set(ARCHITECTURE_STRING_APPLE "x86_64;arm64")
|
set(ARCHITECTURE_STRING_APPLE "x86_64;arm64")
|
||||||
set(DEPLOYMENT_TARGET_APPLE "10.13")
|
set(DEPLOYMENT_TARGET_APPLE "10.13")
|
||||||
else()
|
else()
|
||||||
check_c_compiler_flag("-arch arm64" armSupportedApple)
|
if (CMAKE_SYSTEM_PROCESSOR MATCHES "arm64")
|
||||||
if(armSupportedApple)
|
|
||||||
set(ARCHITECTURE_STRING_APPLE "arm64")
|
set(ARCHITECTURE_STRING_APPLE "arm64")
|
||||||
set(DEPLOYMENT_TARGET_APPLE "11.0")
|
set(DEPLOYMENT_TARGET_APPLE "11.0")
|
||||||
else()
|
else()
|
||||||
set(ARCHITECTURE_STRING_APPLE "x86_64")
|
set(ARCHITECTURE_STRING_APPLE "x86_64")
|
||||||
set(DEPLOYMENT_TARGET_APPLE "10.9")
|
set(DEPLOYMENT_TARGET_APPLE "10.9")
|
||||||
endif()
|
endif()
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
set(CMAKE_OSX_ARCHITECTURES ${ARCHITECTURE_STRING_APPLE} CACHE STRING "OSX Architecture" FORCE)
|
set(CMAKE_OSX_ARCHITECTURES ${ARCHITECTURE_STRING_APPLE} CACHE STRING "OSX Architecture" FORCE)
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue