From 8781f2ab55720151c3a3449d4fda3fe5177a8c4d Mon Sep 17 00:00:00 2001 From: Areloch Date: Fri, 10 Sep 2021 02:13:56 -0500 Subject: [PATCH 1/3] Add getScriptPath console function to GUIAsset Shifted tracking of importing asset status to an enum for more robust handling Added logic to properly init freshly created shapeConstructors with the newly imported shapeAsset Fixed handling of assets that have been marked to be skipped, but needed to fill in the parent's dependencies(UseForDependencies enum value) Cleaned up redundant recursive logic for importing assets Disable Create Game Objects button in inspector Fixed material assignment for convex proxies Updated asset icons for AB with WIP images to be more clear Fixed issue where type-generic icons in the creator items in the AB weren't showing correctly. Force AB to show creator entries in list mode for efficiency and avoid icon scaling issues Moved creator functions for AB to separate file for convenience Filled out GUIControls in the AB's creator mode, and context world editor and GUI creator entries based on active editor Added drag-n-drop handling for guiControls via AB creator in guiEditor mode Added more types' profiles in the AB gui profiles to give more unique border colors for better visual clarity of asset type Added editor setting to indicate if the editor should load into the last edited level, or the editor default scene Fixed setting of highlight material overlay in shapeEditor Added global keybind for GUIEditor so space also toggles assetbrowser Fixed up binding/finding of shapeConstructor by assetId, which also fixed displaying of shape's material listing --- Engine/source/T3D/assets/GUIAsset.cpp | 7 + Engine/source/T3D/assets/assetImporter.cpp | 550 ++++++------------ Engine/source/T3D/assets/assetImporter.h | 21 +- Engine/source/T3D/tsStatic.cpp | 76 ++- .../worldEditor/guiConvexShapeEditorCtrl.cpp | 17 +- Engine/source/scene/sceneObject.cpp | 5 +- Engine/source/ts/tsShapeConstruct.cpp | 18 + Engine/source/ts/tsShapeConstruct.h | 2 + .../tools/assetBrowser/art/animationIcon.png | Bin 8177 -> 12242 bytes .../assetBrowser/art/clientScriptIcon.png | Bin 14572 -> 9016 bytes .../game/tools/assetBrowser/art/cppIcon.png | Bin 4894 -> 6954 bytes .../tools/assetBrowser/art/datablockIcon.png | Bin 6937 -> 8646 bytes .../tools/assetBrowser/art/folderIcon.png | Bin 11562 -> 7824 bytes .../game/tools/assetBrowser/art/guiIcon.png | Bin 5789 -> 10181 bytes .../game/tools/assetBrowser/art/levelIcon.png | Bin 6797 -> 20009 bytes .../tools/assetBrowser/art/materialIcon.png | Bin 7889 -> 40426 bytes .../tools/assetBrowser/art/postEffectIcon.png | Bin 8615 -> 10506 bytes .../tools/assetBrowser/art/prefabIcon.png | Bin 0 -> 12431 bytes .../art/prefabIcon_image.asset.taml | 8 + .../tools/assetBrowser/art/scriptIcon.png | Bin 10044 -> 7772 bytes .../assetBrowser/art/serverScriptIcon.png | Bin 14897 -> 9224 bytes .../game/tools/assetBrowser/art/soundIcon.png | Bin 10582 -> 11705 bytes .../assetBrowser/art/stateMachineIcon.png | Bin 13506 -> 20797 bytes .../tools/assetBrowser/art/terrainIcon.png | Bin 0 -> 13631 bytes .../art/terrainIcon_image.asset.taml | 8 + .../assetBrowser/art/terrainMaterialIcon.png | Bin 7889 -> 14057 bytes .../game/tools/assetBrowser/main.tscript | 4 + .../assetBrowser/scripts/assetBrowser.tscript | 199 +------ .../assetBrowser/scripts/assetImport.tscript | 142 ----- .../scripts/assetTypes/cpp.tscript | 13 + .../scripts/assetTypes/creatorObj.tscript | 15 + .../scripts/assetTypes/material.tscript | 14 +- .../scripts/assetTypes/prefab.tscript | 2 +- .../scripts/assetTypes/script.tscript | 16 + .../scripts/assetTypes/shape.tscript | 11 +- .../scripts/assetTypes/terrain.tscript | 2 +- .../assetBrowser/scripts/creator.tscript | 194 ++++++ .../assetBrowser/scripts/profiles.tscript | 63 ++ .../tools/gui/editorSettingsWindow.ed.tscript | 5 + .../images/{tab-border.png => tab_border.png} | Bin .../gui/images/tab_border_image.asset.taml | 2 +- .../guiEditor/scripts/guiEditor.ed.tscript | 15 +- Templates/BaseGame/game/tools/main.tscript | 28 + .../scripts/shapeEditor.ed.tscript | 6 +- 44 files changed, 695 insertions(+), 748 deletions(-) create mode 100644 Templates/BaseGame/game/tools/assetBrowser/art/prefabIcon.png create mode 100644 Templates/BaseGame/game/tools/assetBrowser/art/prefabIcon_image.asset.taml create mode 100644 Templates/BaseGame/game/tools/assetBrowser/art/terrainIcon.png create mode 100644 Templates/BaseGame/game/tools/assetBrowser/art/terrainIcon_image.asset.taml create mode 100644 Templates/BaseGame/game/tools/assetBrowser/scripts/creator.tscript rename Templates/BaseGame/game/tools/gui/images/{tab-border.png => tab_border.png} (100%) diff --git a/Engine/source/T3D/assets/GUIAsset.cpp b/Engine/source/T3D/assets/GUIAsset.cpp index 781cabc9e..f9a2b500c 100644 --- a/Engine/source/T3D/assets/GUIAsset.cpp +++ b/Engine/source/T3D/assets/GUIAsset.cpp @@ -221,6 +221,13 @@ DefineEngineStaticMethod(GUIAsset, getAssetIdByGUIName, const char*, (const char { return GUIAsset::getAssetIdByGUIName(StringTable->insert(guiName)); } + +DefineEngineMethod(GUIAsset, getScriptPath, const char*, (), , + "Gets the script file path associated to this asset.\n" + "@return The full script file path.") +{ + return object->getScriptPath(); +} #endif //----------------------------------------------------------------------------- diff --git a/Engine/source/T3D/assets/assetImporter.cpp b/Engine/source/T3D/assets/assetImporter.cpp index b0497631e..5dadee79c 100644 --- a/Engine/source/T3D/assets/assetImporter.cpp +++ b/Engine/source/T3D/assets/assetImporter.cpp @@ -420,8 +420,7 @@ IMPLEMENT_CONOBJECT(AssetImportObject); AssetImportObject::AssetImportObject() : dirty(false), - skip(false), - processed(false), + importStatus(AssetImportObject::NotProcessed), generatedAsset(false), parentAssetItem(nullptr), tamlFilePath(""), @@ -463,8 +462,6 @@ void AssetImportObject::initPersistFields() addField("statusInfo", TypeRealString, Offset(statusInfo, AssetImportObject), "What is the articulated information of the status of the asset. Contains the error or warning log data"); addField("dirty", TypeBool, Offset(dirty, AssetImportObject), "Is the asset item currently flagged as dirty"); - addField("skip", TypeBool, Offset(skip, AssetImportObject), "Is this asset item marked to be skipped. If it is, it's usually due to being marked as deleted"); - addField("processed", TypeBool, Offset(processed, AssetImportObject), "Has the asset item been processed"); addField("generatedAsset", TypeBool, Offset(generatedAsset, AssetImportObject), "Is this specific asset item generated as part of the import process of another item"); addField("tamlFilePath", TypeRealString, Offset(tamlFilePath, AssetImportObject), "What is the ultimate asset taml file path for this import item"); @@ -622,8 +619,7 @@ AssetImportObject* AssetImporter::addImportingAsset(String assetType, Torque::Pa assetImportObj->statusInfo = ""; assetImportObj->dirty = false; - assetImportObj->skip = false; - assetImportObj->processed = false; + assetImportObj->importStatus = AssetImportObject::NotProcessed; assetImportObj->generatedAsset = false; if (parentItem != nullptr) @@ -656,7 +652,7 @@ AssetImportObject* AssetImporter::addImportingAsset(String assetType, Torque::Pa void AssetImporter::deleteImportingAsset(AssetImportObject* assetItem) { - assetItem->skip = true; + assetItem->importStatus = AssetImportObject::Skipped; //log it dSprintf(importLogBuffer, sizeof(importLogBuffer), "Deleting Importing Asset %s and all it's child items", assetItem->assetName.c_str()); @@ -665,36 +661,21 @@ void AssetImporter::deleteImportingAsset(AssetImportObject* assetItem) AssetImportObject* AssetImporter::findImportingAssetByName(String assetName, AssetImportObject* assetItem) { - if (assetItem == nullptr) - { - for (U32 i = 0; i < importingAssets.size(); i++) - { - if (importingAssets[i]->cleanAssetName == assetName) - { - return importingAssets[i]; - } + Vector itemList = importingAssets; + if (assetItem != nullptr) + itemList = assetItem->childAssetItems; - //If it wasn't a match, try recusing on the children(if any) - AssetImportObject* retItem = findImportingAssetByName(assetName, importingAssets[i]); - if (retItem != nullptr) - return retItem; - } - } - else + for (U32 i = 0; i < itemList.size(); i++) { - //this is the child recursing section - for (U32 i = 0; i < assetItem->childAssetItems.size(); i++) + if (itemList[i]->cleanAssetName == assetName) { - if (assetItem->childAssetItems[i]->cleanAssetName == assetName) - { - return assetItem->childAssetItems[i]; - } - - //If it wasn't a match, try recusing on the children(if any) - AssetImportObject* retItem = findImportingAssetByName(assetName, assetItem->childAssetItems[i]); - if (retItem != nullptr) - return retItem; + return itemList[i]; } + + //If it wasn't a match, try recusing on the children(if any) + AssetImportObject* retItem = findImportingAssetByName(assetName, itemList[i]); + if (retItem != nullptr) + return retItem; } return nullptr; @@ -1385,105 +1366,53 @@ void AssetImportConfig::loadSISFile(Torque::Path filePath) void AssetImporter::processImportAssets(AssetImportObject* assetItem) { - if (assetItem == nullptr) + Vector itemList = importingAssets; + if (assetItem != nullptr) + itemList = assetItem->childAssetItems; + + assetHeirarchyChanged = false; + + for (U32 i = 0; i < itemList.size(); i++) { - assetHeirarchyChanged = false; + AssetImportObject* item = itemList[i]; + if (item->importStatus != AssetImportObject::NotProcessed) + continue; - for (U32 i = 0; i < importingAssets.size(); i++) + //Sanitize before modifying our asset name(suffix additions, etc) + if (item->assetName != item->cleanAssetName) + item->assetName = item->cleanAssetName; + + //handle special pre-processing here for any types that need it + + //process the asset items + if (item->assetType == String("ImageAsset")) { - AssetImportObject* item = importingAssets[i]; - if (item->skip) - continue; - - if (!item->processed) - { - //Sanitize before modifying our asset name(suffix additions, etc) - if (item->assetName != item->cleanAssetName) - item->assetName = item->cleanAssetName; - - //handle special pre-processing here for any types that need it - - //process the asset items - if (item->assetType == String("ImageAsset")) - { - processImageAsset(item); - } - else if (item->assetType == String("ShapeAsset")) - { - processShapeAsset(item); - } - /*else if (item->assetType == String("SoundAsset")) - SoundAsset::prepareAssetForImport(this, item);*/ - else if (item->assetType == String("MaterialAsset")) - { - processMaterialAsset(item); - } - /*else if (item->assetType == String("ShapeAnimationAsset")) - ShapeAnimationAsset::prepareAssetForImport(this, item);*/ - else - { - String processCommand = "process"; - processCommand += item->assetType; - if(isMethod(processCommand.c_str())) - Con::executef(this, processCommand.c_str(), item); - } - - item->processed = true; - } - - //try recusing on the children(if any) - processImportAssets(item); + processImageAsset(item); } - } - else - { - //this is the child recursing section - for (U32 i = 0; i < assetItem->childAssetItems.size(); i++) + else if (item->assetType == String("ShapeAsset")) { - AssetImportObject* childItem = assetItem->childAssetItems[i]; - - if (childItem->skip) - continue; - - if (!childItem->processed) - { - //Sanitize before modifying our asset name(suffix additions, etc) - //if (childItem->assetName != childItem->cleanAssetName) - // childItem->assetName = childItem->cleanAssetName; - - //handle special pre-processing here for any types that need it - - //process the asset items - if (childItem->assetType == String("ImageAsset")) - { - processImageAsset(childItem); - } - else if (childItem->assetType == String("ShapeAsset")) - { - processShapeAsset(childItem); - } - /*else if (item->assetType == String("SoundAsset")) - SoundAsset::prepareAssetForImport(this, item);*/ - else if (childItem->assetType == String("MaterialAsset")) - { - processMaterialAsset(childItem); - } - /*else if (item->assetType == String("ShapeAnimationAsset")) - ShapeAnimationAsset::prepareAssetForImport(this, item);*/ - else - { - String processCommand = "process"; - processCommand += childItem->assetType; - if (isMethod(processCommand.c_str())) - Con::executef(this, processCommand.c_str(), childItem); - } - - childItem->processed = true; - } - - //try recusing on the children(if any) - processImportAssets(childItem); + processShapeAsset(item); } + /*else if (item->assetType == String("SoundAsset")) + SoundAsset::prepareAssetForImport(this, item);*/ + else if (item->assetType == String("MaterialAsset")) + { + processMaterialAsset(item); + } + /*else if (item->assetType == String("ShapeAnimationAsset")) + ShapeAnimationAsset::prepareAssetForImport(this, item);*/ + else + { + String processCommand = "process"; + processCommand += item->assetType; + if(isMethod(processCommand.c_str())) + Con::executef(this, processCommand.c_str(), item); + } + + item->importStatus == AssetImportObject::Processed; + + //try recusing on the children(if any) + processImportAssets(item); } //If our hierarchy changed, it's because we did so during processing @@ -1606,7 +1535,7 @@ void AssetImporter::processImageAsset(AssetImportObject* assetItem) assetItem->cleanAssetName = assetItem->assetName; } - assetItem->processed = true; + assetItem->importStatus = AssetImportObject::Processed; } void AssetImporter::processMaterialAsset(AssetImportObject* assetItem) @@ -1629,7 +1558,7 @@ void AssetImporter::processMaterialAsset(AssetImportObject* assetItem) String ignoredName = StringUnit::getUnit(activeImportConfig->IgnoreMaterials, i, ",;\t"); if (FindMatch::isMatch(ignoredName.c_str(), assetName, false)) { - assetItem->skip = true; + assetItem->importStatus = AssetImportObject::Skipped; dSprintf(importLogBuffer, sizeof(importLogBuffer), "Material %s has been ignored due to it's name being listed in the IgnoreMaterials list in the Import Config.", assetItem->assetName.c_str()); activityLog.push_back(importLogBuffer); @@ -1645,9 +1574,9 @@ void AssetImporter::processMaterialAsset(AssetImportObject* assetItem) //check to see if the definition for this already exists StringTableEntry existingMatAsset = MaterialAsset::getAssetIdByMaterialName(StringTable->insert(assetName)); - if (existingMatAsset != StringTable->EmptyString()) + if (existingMatAsset != StringTable->EmptyString() && existingMatAsset != StringTable->insert("Core_Rendering:NoMaterial")) { - assetItem->skip = true; + assetItem->importStatus = AssetImportObject::UseForDependencies; dSprintf(importLogBuffer, sizeof(importLogBuffer), "Material %s has been skipped because we already found an asset Id that uses that material definition. The found assetId is: %s", assetItem->assetName.c_str(), existingMatAsset); activityLog.push_back(importLogBuffer); return; @@ -1696,7 +1625,7 @@ void AssetImporter::processMaterialAsset(AssetImportObject* assetItem) { AssetImportObject* childAssetItem = assetItem->childAssetItems[i]; - if (childAssetItem->skip || childAssetItem->assetType != String("ImageAsset")) + if (childAssetItem->importStatus == AssetImportObject::Skipped || childAssetItem->assetType != String("ImageAsset")) continue; for (S32 t = 0; t < ImageAsset::ImageTypeCount; t++) @@ -1848,7 +1777,7 @@ void AssetImporter::processMaterialAsset(AssetImportObject* assetItem) } } - assetItem->processed = true; + assetItem->importStatus = AssetImportObject::Processed; } void AssetImporter::processShapeAsset(AssetImportObject* assetItem) @@ -1944,7 +1873,7 @@ void AssetImporter::processShapeAsset(AssetImportObject* assetItem) cachedConfig->CopyTo(activeImportConfig); cachedConfig->deleteObject(); - assetItem->processed = true; + assetItem->importStatus = AssetImportObject::Processed; } void AssetImporter::processShapeMaterialInfo(AssetImportObject* assetItem, S32 materialItemId) @@ -2131,7 +2060,7 @@ void AssetImporter::processSoundAsset(AssetImportObject* assetItem) } } - assetItem->processed = true; + assetItem->importStatus = AssetImportObject::Processed; } // // Validation @@ -2154,7 +2083,7 @@ bool AssetImporter::validateAssets() void AssetImporter::validateAsset(AssetImportObject* assetItem) { - if (assetItem->skip) + if (assetItem->importStatus == AssetImportObject::Skipped || assetItem->importStatus == AssetImportObject::NotProcessed) return; bool hasCollision = checkAssetForCollision(assetItem); @@ -2234,36 +2163,21 @@ void AssetImporter::validateAsset(AssetImportObject* assetItem) void AssetImporter::resetAssetValidationStatus(AssetImportObject* assetItem) { - if (assetItem == nullptr) + Vector itemList = importingAssets; + if (assetItem != nullptr) + itemList = assetItem->childAssetItems; + + for (U32 i = 0; i < itemList.size(); i++) { - for (U32 i = 0; i < importingAssets.size(); i++) - { - if (importingAssets[i]->skip) - continue; + if (itemList[i]->importStatus == AssetImportObject::Skipped) + continue; - importingAssets[i]->status = ""; - importingAssets[i]->statusType = ""; - importingAssets[i]->statusInfo = ""; + itemList[i]->status = ""; + itemList[i]->statusType = ""; + itemList[i]->statusInfo = ""; - //If it wasn't a match, try recusing on the children(if any) - resetAssetValidationStatus(importingAssets[i]); - } - } - else - { - //this is the child recursing section - for (U32 i = 0; i < assetItem->childAssetItems.size(); i++) - { - if (assetItem->childAssetItems[i]->skip) - continue; - - assetItem->childAssetItems[i]->status = ""; - assetItem->childAssetItems[i]->statusType = ""; - assetItem->childAssetItems[i]->statusInfo = ""; - - //If it wasn't a match, try recusing on the children(if any) - resetAssetValidationStatus(assetItem->childAssetItems[i]); - } + //If it wasn't a match, try recusing on the children(if any) + resetAssetValidationStatus(itemList[i]); } } @@ -2271,68 +2185,37 @@ bool AssetImporter::checkAssetForCollision(AssetImportObject* assetItemToCheck, { bool results = false; - if (assetItem == nullptr) + Vector itemList = importingAssets; + if (assetItem != nullptr) + itemList = assetItem->childAssetItems; + + for (U32 i = 0; i < itemList.size(); i++) { - for (U32 i = 0; i < importingAssets.size(); i++) + AssetImportObject* importingAsset = itemList[i]; + + if (importingAsset->importStatus == AssetImportObject::Skipped) + continue; + + if ((assetItemToCheck->assetName.compare(importingAsset->assetName) == 0) && (assetItemToCheck->getId() != importingAsset->getId())) { - AssetImportObject* importingAsset = importingAssets[i]; - - if (importingAsset->skip) - continue; - - if ((assetItemToCheck->assetName.compare(importingAsset->assetName) == 0) && (assetItemToCheck->getId() != importingAsset->getId())) - { - //we do have a collision, note the collsion and bail out - assetItemToCheck->status = "Warning"; - assetItemToCheck->statusType = "DuplicateImportAsset"; - assetItemToCheck->statusInfo = "Duplicate asset names found with importing assets!\nAsset \"" + importingAsset->assetName + "\" of the type \"" + importingAsset->assetType + "\" and \"" + - assetItemToCheck->assetName + "\" of the type \"" + assetItemToCheck->assetType + "\" have matching names.\nPlease rename one of them."; - - dSprintf(importLogBuffer, sizeof(importLogBuffer), "Warning! Asset %s, type %s has a naming collision with another importing asset: %s, type %s", - assetItemToCheck->assetName.c_str(), assetItemToCheck->assetType.c_str(), - importingAsset->assetName.c_str(), importingAsset->assetType.c_str()); - activityLog.push_back(importLogBuffer); - - return true; - } - - //If it wasn't a match, try recusing on the children(if any) - results = checkAssetForCollision(assetItemToCheck, importingAsset); - if (results) - return results; - } - } - else - { - //this is the child recursing section - for (U32 i = 0; i < assetItem->childAssetItems.size(); i++) - { - AssetImportObject* childAsset = assetItem->childAssetItems[i]; - - if (childAsset->skip) - continue; - - if ((assetItemToCheck->assetName.compare(childAsset->assetName) == 0) && (assetItemToCheck->getId() != childAsset->getId())) - { - //we do have a collision, note the collsion and bail out - assetItemToCheck->status = "Warning"; - assetItemToCheck->statusType = "DuplicateImportAsset"; - assetItemToCheck->statusInfo = "Duplicate asset names found with importing assets!\nAsset \"" + assetItem->assetName + "\" of the type \"" + assetItem->assetType + "\" and \"" + - assetItemToCheck->assetName + "\" of the type \"" + assetItemToCheck->assetType + "\" have matching names.\nPlease rename one of them."; + //we do have a collision, note the collsion and bail out + assetItemToCheck->status = "Warning"; + assetItemToCheck->statusType = "DuplicateImportAsset"; + assetItemToCheck->statusInfo = "Duplicate asset names found with importing assets!\nAsset \"" + importingAsset->assetName + "\" of the type \"" + importingAsset->assetType + "\" and \"" + + assetItemToCheck->assetName + "\" of the type \"" + assetItemToCheck->assetType + "\" have matching names.\nPlease rename one of them."; dSprintf(importLogBuffer, sizeof(importLogBuffer), "Warning! Asset %s, type %s has a naming collision with another importing asset: %s, type %s", assetItemToCheck->assetName.c_str(), assetItemToCheck->assetType.c_str(), - childAsset->assetName.c_str(), childAsset->assetType.c_str()); + importingAsset->assetName.c_str(), importingAsset->assetType.c_str()); activityLog.push_back(importLogBuffer); - return true; - } - - //If it wasn't a match, try recusing on the children(if any) - results = checkAssetForCollision(assetItemToCheck, childAsset); - if (results) - return results; + return true; } + + //If it wasn't a match, try recusing on the children(if any) + results = checkAssetForCollision(assetItemToCheck, importingAsset); + if (results) + return results; } return results; @@ -2348,7 +2231,16 @@ void AssetImporter::resolveAssetItemIssues(AssetImportObject* assetItem) if (activeImportConfig->DuplicateAutoResolution == String("AutoPrune")) { //delete the item - deleteImportingAsset(assetItem); + if (assetItem->parentAssetItem == nullptr) + { + //if there's no parent, just delete + deleteImportingAsset(assetItem); + } + else + { + //otherwise, we'll likely want to retain our dependency for our parent + assetItem->importStatus = AssetImportObject::UseForDependencies; + } //log it's deletion dSprintf(importLogBuffer, sizeof(importLogBuffer), "Asset %s was autopruned due to %s as part of the Import Configuration", assetItem->assetName.c_str(), humanReadableReason.c_str()); @@ -2537,161 +2429,102 @@ void AssetImporter::importAssets(AssetImportObject* assetItem) return; } - if (assetItem == nullptr) + Vector itemList = importingAssets; + if (assetItem != nullptr) + itemList = assetItem->childAssetItems; + + for (U32 i = 0; i < itemList.size(); i++) { - for (U32 i = 0; i < importingAssets.size(); i++) + AssetImportObject* item = itemList[i]; + if (!item->canImport()) + continue; + + Torque::Path assetPath; + if (item->assetType == String("ImageAsset")) { - if (importingAssets[i]->skip) - continue; + assetPath = importImageAsset(item); + } + else if (item->assetType == String("ShapeAsset")) + { + assetPath = importShapeAsset(item); + } + else if (item->assetType == String("SoundAsset")) + { + assetPath = importSoundAsset(item); + } + else if (item->assetType == String("MaterialAsset")) + { + assetPath = importMaterialAsset(item); + } + else + { + finalImportedAssetPath = String::EmptyString; - Torque::Path assetPath; - if (importingAssets[i]->assetType == String("ImageAsset")) + String processCommand = "import"; + processCommand += item->assetType; + if (isMethod(processCommand.c_str())) { - assetPath = importImageAsset(importingAssets[i]); - } - else if (importingAssets[i]->assetType == String("ShapeAsset")) - { - assetPath = importShapeAsset(importingAssets[i]); - } - else if (importingAssets[i]->assetType == String("SoundAsset")) - { - assetPath = importSoundAsset(importingAssets[i]); - } - else if (importingAssets[i]->assetType == String("MaterialAsset")) - { - assetPath = importMaterialAsset(importingAssets[i]); - } - else - { - finalImportedAssetPath = String::EmptyString; + Con::executef(this, processCommand.c_str(), item); - String processCommand = "import"; - processCommand += importingAssets[i]->assetType; - if (isMethod(processCommand.c_str())) + assetPath = finalImportedAssetPath; + } + } + /*else if (importingAssets[i]->assetType == String("ShapeAnimationAsset")) + assetPath = ShapeAnimationAsset::importAsset(importingAssets[i]);*/ + + if (assetPath.isEmpty() && item->assetType != String("MaterialAsset")) + { + dSprintf(importLogBuffer, sizeof(importLogBuffer), "AssetImporter::importAssets - Import attempt of %s failed, so skipping asset.", item->assetName.c_str()); + activityLog.push_back(importLogBuffer); + + continue; + } + else + { + //If we got a valid filepath back from the import action, then we know we're good to go and we can go ahead and register the asset! + if (!isReimport) + { + bool registerSuccess = AssetDatabase.addDeclaredAsset(moduleDef, assetPath.getFullPath().c_str()); + + if (!registerSuccess) { - Con::executef(this, processCommand.c_str(), importingAssets[i]); - - assetPath = finalImportedAssetPath; - } - } - /*else if (importingAssets[i]->assetType == String("ShapeAnimationAsset")) - assetPath = ShapeAnimationAsset::importAsset(importingAssets[i]);*/ - - if (assetPath.isEmpty() && importingAssets[i]->assetType != String("MaterialAsset")) - { - dSprintf(importLogBuffer, sizeof(importLogBuffer), "AssetImporter::importAssets - Import attempt of %s failed, so skipping asset.", importingAssets[i]->assetName.c_str()); - activityLog.push_back(importLogBuffer); - - continue; - } - else - { - //If we got a valid filepath back from the import action, then we know we're good to go and we can go ahead and register the asset! - if (!isReimport) - { - bool registerSuccess = AssetDatabase.addDeclaredAsset(moduleDef, assetPath.getFullPath().c_str()); - - if (!registerSuccess) - { - dSprintf(importLogBuffer, sizeof(importLogBuffer), "AssetImporter::importAssets - Failed to successfully register new asset at path %s to moduleId %s", assetPath.getFullPath().c_str(), targetModuleId.c_str()); - activityLog.push_back(importLogBuffer); - } + dSprintf(importLogBuffer, sizeof(importLogBuffer), "AssetImporter::importAssets - Failed to successfully register new asset at path %s to moduleId %s", assetPath.getFullPath().c_str(), targetModuleId.c_str()); + activityLog.push_back(importLogBuffer); } else { - String assetId = importingAssets[i]->moduleName + ":" + importingAssets[i]->assetName; - bool refreshSuccess = AssetDatabase.refreshAsset(assetId.c_str()); - - if (!refreshSuccess) + //Any special-case post-reg stuff here + if (item->assetType == String("ShapeAsset")) { - dSprintf(importLogBuffer, sizeof(importLogBuffer), "AssetImporter::importAssets - Failed to refresh reimporting asset %s.", importingAssets[i]->assetName.c_str()); - activityLog.push_back(importLogBuffer); + String assetIdStr = item->moduleName + ":" + item->assetName; + StringTableEntry assetId = StringTable->insert(assetIdStr.c_str()); + + //forcefully update it's shape constructor + TSShapeConstructor* tss = TSShapeConstructor::findShapeConstructorByAssetId(assetId); + + if(tss) + tss->setShapeAssetId(assetId); } } } - - //recurse if needed - importAssets(importingAssets[i]); - } - } - else - { - //this is the child recursing section - for (U32 i = 0; i < assetItem->childAssetItems.size(); i++) - { - AssetImportObject* childItem = assetItem->childAssetItems[i]; - - if (childItem->skip) - continue; - - Torque::Path assetPath; - if (childItem->assetType == String("ImageAsset")) - { - assetPath = importImageAsset(childItem); - } - else if (childItem->assetType == String("ShapeAsset")) - { - assetPath = importShapeAsset(childItem); - } - else if (childItem->assetType == String("SoundAsset")) - { - assetPath = importSoundAsset(childItem); - } - else if (childItem->assetType == String("MaterialAsset")) - { - assetPath = importMaterialAsset(childItem); - } - /*else if (childItem->assetType == String("ShapeAnimationAsset")) - assetPath = ShapeAnimationAsset::importAsset(childItem);*/ - else - { - finalImportedAssetPath = String::EmptyString; - - String processCommand = "import"; - processCommand += childItem->assetType; - if (isMethod(processCommand.c_str())) - { - ConsoleValueRef importReturnVal = Con::executef(this, processCommand.c_str(), childItem); - assetPath = Torque::Path(importReturnVal.getStringValue()); - } - } - - if (assetPath.isEmpty() && childItem->assetType != String("MaterialAsset")) - { - dSprintf(importLogBuffer, sizeof(importLogBuffer), "AssetImporter::importAssets - Import attempt of %s failed, so skipping asset.", childItem->assetName.c_str()); - activityLog.push_back(importLogBuffer); - - continue; - } else { - //If we got a valid filepath back from the import action, then we know we're good to go and we can go ahead and register the asset! - if (!isReimport) - { - bool registerSuccess = AssetDatabase.addDeclaredAsset(moduleDef, assetPath.getFullPath().c_str()); + String assetId = item->moduleName + ":" + item->assetName; + bool refreshSuccess = AssetDatabase.refreshAsset(assetId.c_str()); - if (!registerSuccess) - { - dSprintf(importLogBuffer, sizeof(importLogBuffer), "AssetImporter::importAssets - Failed to successfully register new asset at path %s to moduleId %s", assetPath.getFullPath().c_str(), targetModuleId.c_str()); - activityLog.push_back(importLogBuffer); - } - } - else + if (!refreshSuccess) { - String assetId = childItem->moduleName + ":" + childItem->assetName; - bool refreshSuccess = AssetDatabase.refreshAsset(assetId.c_str()); - - if (!refreshSuccess) - { - dSprintf(importLogBuffer, sizeof(importLogBuffer), "AssetImporter::importAssets - Failed to refresh reimporting asset %s.", childItem->assetName.c_str()); - activityLog.push_back(importLogBuffer); - } + dSprintf(importLogBuffer, sizeof(importLogBuffer), "AssetImporter::importAssets - Failed to refresh reimporting asset %s.", item->assetName.c_str()); + activityLog.push_back(importLogBuffer); } } - - //recurse if needed - importAssets(childItem); } + + //Mark us as successfully imported + item->importStatus = AssetImportObject::Imported; + + //recurse if needed + importAssets(item); } } @@ -2796,7 +2629,7 @@ Torque::Path AssetImporter::importMaterialAsset(AssetImportObject* assetItem) { AssetImportObject* childItem = assetItem->childAssetItems[i]; - if (childItem->skip || !childItem->processed || childItem->assetType.compare("ImageAsset") != 0) + if ((!childItem->canImport() && childItem->importStatus != AssetImportObject::UseForDependencies) || childItem->assetType.compare("ImageAsset") != 0) continue; char dependencyFieldName[64]; @@ -2833,7 +2666,7 @@ Torque::Path AssetImporter::importMaterialAsset(AssetImportObject* assetItem) { AssetImportObject* childItem = assetItem->childAssetItems[i]; - if (childItem->skip || childItem->assetType.compare("ImageAsset") != 0) + if (childItem->canImport() || childItem->assetType.compare("ImageAsset") != 0) continue; if (childItem->imageSuffixType.compare("ORMConfig") == 0) @@ -2890,7 +2723,7 @@ Torque::Path AssetImporter::importMaterialAsset(AssetImportObject* assetItem) { AssetImportObject* childItem = assetItem->childAssetItems[i]; - if (childItem->skip || !childItem->processed || childItem->assetType.compare("ImageAsset") != 0) + if (childItem->canImport() || childItem->assetType.compare("ImageAsset") != 0) continue; String path = childItem->filePath.getFullFileName(); @@ -2967,7 +2800,7 @@ Torque::Path AssetImporter::importMaterialAsset(AssetImportObject* assetItem) { AssetImportObject* childItem = assetItem->childAssetItems[i]; - if (childItem->skip || !childItem->processed || childItem->assetType.compare("ImageAsset") != 0) + if ((!childItem->canImport() && childItem->importStatus != AssetImportObject::UseForDependencies) || childItem->assetType.compare("ImageAsset") != 0) continue; String mapFieldName = ""; @@ -3090,7 +2923,7 @@ Torque::Path AssetImporter::importShapeAsset(AssetImportObject* assetItem) { AssetImportObject* childItem = assetItem->childAssetItems[i]; - if (childItem->skip || !childItem->processed) + if (!childItem->canImport() && childItem->importStatus != AssetImportObject::UseForDependencies) continue; if (childItem->assetType.compare("MaterialAsset") == 0) @@ -3195,7 +3028,8 @@ Torque::Path AssetImporter::importShapeAsset(AssetImportObject* assetItem) TSShapeConstructor* constructor = TSShapeConstructor::findShapeConstructorByFilename(Torque::Path(qualifiedToFile).getFullPath()); if (constructor == nullptr) { - constructor = new TSShapeConstructor(StringTable->insert(qualifiedToFile)); + String fullAssetName = assetItem->moduleName + ":" + assetItem->assetName; + constructor = new TSShapeConstructor(StringTable->insert(fullAssetName.c_str())); String constructorName = assetItem->filePath.getFileName() + assetItem->filePath.getExtension().substr(0, 3); constructorName.replace(" ", "_"); diff --git a/Engine/source/T3D/assets/assetImporter.h b/Engine/source/T3D/assets/assetImporter.h index af4fac28b..0c176840a 100644 --- a/Engine/source/T3D/assets/assetImporter.h +++ b/Engine/source/T3D/assets/assetImporter.h @@ -492,15 +492,20 @@ public: /// bool dirty; + enum + { + NotProcessed=0, + Processed, + Skipped, + UseForDependencies, + Error, + Imported + }; + /// /// Is this asset item marked to be skipped. If it is, it's usually due to being marked as deleted /// - bool skip; - - /// - /// Has the asset item been processed - /// - bool processed; + U32 importStatus; /// /// Is this specific asset item generated as part of the import process of another item @@ -564,6 +569,10 @@ public: { return o.getId() == this->getId(); } + + bool canImport() { + return (importStatus == AssetImportObject::Processed); + } }; /// diff --git a/Engine/source/T3D/tsStatic.cpp b/Engine/source/T3D/tsStatic.cpp index 2ed98a265..9b093f476 100644 --- a/Engine/source/T3D/tsStatic.cpp +++ b/Engine/source/T3D/tsStatic.cpp @@ -1015,7 +1015,7 @@ U32 TSStatic::packUpdate(NetConnection* con, U32 mask, BitStream* stream) con->packNetStringHandleU(stream, matNameStr); } - mChangingMaterials.clear(); + //mChangingMaterials.clear(); } return retMask; @@ -1670,53 +1670,49 @@ void TSStatic::onInspect(GuiInspector* inspector) { StringTableEntry materialname = StringTable->insert(mShapeAsset->getShape()->materialList->getMaterialName(i).c_str()); - //Iterate through our assetList to find the compliant entry in our matList - for (U32 m = 0; m < mShapeAsset->getMaterialCount(); m++) + AssetPtr matAsset; + if(MaterialAsset::getAssetByMaterialName(materialname, &matAsset) == MaterialAsset::Ok) { - AssetPtr matAsset = mShapeAsset->getMaterialAsset(m); + dSprintf(matFieldName, 128, "MaterialSlot%d", i); - if (matAsset->getMaterialDefinitionName() == materialname) + //addComponentField(matFieldName, "A material used in the shape file", "Material", matAsset->getAssetId(), ""); + //Con::executef(this, "onConstructComponentField", mTargetComponent, field->mFieldName); + Con::printf("Added material field for MaterialSlot %d", i); + + GuiInspectorField* fieldGui = materialGroup->constructField(TypeMaterialAssetPtr); + fieldGui->init(inspector, materialGroup); + + fieldGui->setSpecialEditField(true); + fieldGui->setTargetObject(this); + + StringTableEntry fldnm = StringTable->insert(matFieldName); + + fieldGui->setSpecialEditVariableName(fldnm); + + fieldGui->setInspectorField(NULL, fldnm); + fieldGui->setDocs(""); + + if (fieldGui->registerObject()) { - dSprintf(matFieldName, 128, "MaterialSlot%d", i); + StringTableEntry fieldValue = matAsset->getAssetId(); - //addComponentField(matFieldName, "A material used in the shape file", "Material", matAsset->getAssetId(), ""); - //Con::executef(this, "onConstructComponentField", mTargetComponent, field->mFieldName); - Con::printf("Added material field for MaterialSlot %d", i); - - GuiInspectorField* fieldGui = materialGroup->constructField(TypeMaterialAssetPtr); - fieldGui->init(inspector, materialGroup); - - fieldGui->setSpecialEditField(true); - fieldGui->setTargetObject(this); - - StringTableEntry fldnm = StringTable->insert(matFieldName); - - fieldGui->setSpecialEditVariableName(fldnm); - - fieldGui->setInspectorField(NULL, fldnm); - fieldGui->setDocs(""); - - if (fieldGui->registerObject()) + //Check if we'd already actually changed it, and display the modified value + for (U32 c = 0; c < mChangingMaterials.size(); c++) { - fieldGui->setValue(materialname); - - stack->addObject(fieldGui); - } - else - { - SAFE_DELETE(fieldGui); + if (mChangingMaterials[c].slot == i) + { + fieldValue = StringTable->insert(mChangingMaterials[i].assetId.c_str()); + break; + } } - /*if (materialGroup->isMethod("onConstructField")) - { - //ensure our stack variable is bound if we need it - //Con::evaluatef("%d.stack = %d;", materialGroup->getId(), materialGroup->at(0)->getId()); + fieldGui->setValue(fieldValue); - Con::executef(materialGroup, "onConstructField", matFieldName, - matFieldName, "material", matFieldName, - materialname, "", "", this); - }*/ - break; + stack->addObject(fieldGui); + } + else + { + SAFE_DELETE(fieldGui); } } } diff --git a/Engine/source/gui/worldEditor/guiConvexShapeEditorCtrl.cpp b/Engine/source/gui/worldEditor/guiConvexShapeEditorCtrl.cpp index 0e494602a..9350f39e0 100644 --- a/Engine/source/gui/worldEditor/guiConvexShapeEditorCtrl.cpp +++ b/Engine/source/gui/worldEditor/guiConvexShapeEditorCtrl.cpp @@ -236,7 +236,7 @@ void GuiConvexEditorCtrl::setVisible( bool val ) bool isPortal = (scene->at(c)->getClassName() == StringTable->insert("Portal")); bool isOccluder = (scene->at(c)->getClassName() == StringTable->insert("OcclusionVolume")); - if (isZone || isPortal || isOccluder) + if (isTrigger || isZone || isPortal || isOccluder) { SceneObject* sceneObj = static_cast(scene->at(c)); if (!sceneObj) @@ -247,15 +247,18 @@ void GuiConvexEditorCtrl::setVisible( bool val ) ConvexShape* proxyShape = createConvexShapeFrom(sceneObj); + if (proxyShape == NULL) + continue; + //Set the texture to a representatory one so we know what's what if (isTrigger) - proxyShape->mMaterialName = "ToolsModule:TriggerProxyMaterial"; + proxyShape->_setMaterial(StringTable->insert("ToolsModule:TriggerProxyMaterial")); else if (isPortal) - proxyShape->mMaterialName = "ToolsModule:PortalProxyMaterial"; + proxyShape->_setMaterial(StringTable->insert("ToolsModule:PortalProxyMaterial")); else if (isZone) - proxyShape->mMaterialName = "ToolsModule:ZoneProxyMaterial"; + proxyShape->_setMaterial(StringTable->insert("ToolsModule:ZoneProxyMaterial")); else if (isOccluder) - proxyShape->mMaterialName = "ToolsModule:OccluderProxyMaterial"; + proxyShape->_setMaterial(StringTable->insert("ToolsModule:OccluderProxyMaterial")); proxyShape->_updateMaterial(); @@ -707,8 +710,6 @@ void GuiConvexEditorCtrl::on3DMouseDragged(const Gui3DMouseEvent & event) float zRot = mRadToDeg(newSufRot.z - curSufRot.z); - float curZRot = mConvexSEL->mSurfaceUVs[mFaceSEL].zRot; - mConvexSEL->mSurfaceUVs[mFaceSEL].zRot += zRot; } @@ -2005,8 +2006,6 @@ void GuiConvexEditorCtrl::setSelectedFaceMaterial(const char* materialName) //run through and find out if there are any other faces still using the old mat texture if (oldmatID != 0) { - S32 curMatCount = mConvexSEL->mSurfaceTextures.size(); - bool used = false; for (U32 i = 0; i < mConvexSEL->mSurfaceUVs.size(); i++) { diff --git a/Engine/source/scene/sceneObject.cpp b/Engine/source/scene/sceneObject.cpp index f60321097..233030331 100644 --- a/Engine/source/scene/sceneObject.cpp +++ b/Engine/source/scene/sceneObject.cpp @@ -631,12 +631,13 @@ void SceneObject::setHidden( bool hidden ) void SceneObject::initPersistFields() { - addGroup("GameObject"); + //Disabled temporarily + /*addGroup("GameObject"); addField("GameObject", TypeGameObjectAssetPtr, Offset(mGameObjectAsset, SceneObject), "The asset Id used for the game object this entity is based on."); addField("dirtyGameObject", TypeBool, Offset(mDirtyGameObject, SceneObject), "If this entity is a GameObject, it flags if this instance delinates from the template.", AbstractClassRep::FieldFlags::FIELD_HideInInspectors); - endGroup("GameObject"); + endGroup("GameObject");*/ addGroup( "Transform" ); diff --git a/Engine/source/ts/tsShapeConstruct.cpp b/Engine/source/ts/tsShapeConstruct.cpp index 4fcc54ba2..08dbc21c2 100644 --- a/Engine/source/ts/tsShapeConstruct.cpp +++ b/Engine/source/ts/tsShapeConstruct.cpp @@ -556,6 +556,24 @@ void TSShapeConstructor::_onUnload() mShape = NULL; } +//----------------------------------------------------------------------------- +void TSShapeConstructor::setShapeAssetId(StringTableEntry assetId) +{ + mShapeAssetId = assetId; + mShapeAsset = mShapeAssetId; + if (mShapeAsset.notNull()) + { + Resource shape = mShapeAsset->getShapeResource(); + + if (shape) + _onLoad(shape); + } + + if (mShape && mShape->needsReinit()) + { + mShape->init(); + } +} //----------------------------------------------------------------------------- // Storage diff --git a/Engine/source/ts/tsShapeConstruct.h b/Engine/source/ts/tsShapeConstruct.h index caaf6ceff..465861599 100644 --- a/Engine/source/ts/tsShapeConstruct.h +++ b/Engine/source/ts/tsShapeConstruct.h @@ -222,6 +222,8 @@ public: void notifyShapeChanged(); + void setShapeAssetId(StringTableEntry assetId); + /// @name Shape paths for MeshFit ///@{ static const String& getCapsuleShapePath() { return smCapsuleShapePath; } diff --git a/Templates/BaseGame/game/tools/assetBrowser/art/animationIcon.png b/Templates/BaseGame/game/tools/assetBrowser/art/animationIcon.png index 381dcee849583825fed664f50d9314fda2d8eb3d..d8f3e35b9fba11279a49bd465d3b367e2d62933a 100644 GIT binary patch literal 12242 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 Uj()O6D&!83lTwzf5;uMOUx(WyrT_o{ literal 8177 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 G;NJk(1STH< diff --git a/Templates/BaseGame/game/tools/assetBrowser/art/clientScriptIcon.png b/Templates/BaseGame/game/tools/assetBrowser/art/clientScriptIcon.png index 3f83a2ff3189fae48971c2975fb3e26b2696da03..698c688527418a5c4f36fbf9de19bcf0626a32a7 100644 GIT binary patch literal 9016 zcmbt(WmsKHvi8C^!QI^*LU5Oj2Ty{#ySr>GxVtB4g1aS1f=h4-4#6Qnkl=E6?#zAW z%QxrDoVoYMepaul?zgI|tKRO_J5p6y7VQb~6953vr*TP|zb`ouQlJuiCm;(ki##kVRx;?}o zfTEkGuB@)^wWncV8`P&hJDFSax0xU+Q}KkLJ&v9lW;D-FOuRuG?0{?o7T?ciHgA z%YPD}YhlG2kFtW||FGB|{)Bfhj_T%Cmz<^W9;MdR{?gMTXZc_$_Ac#ep^3&UqwDtK zwDM~8;cm$1vi-WcCJ^28ig}6R*kHorn9+`fS3}G3dxx&TTzqO^ zOQ6ElC*&hC(Ob{avYqdio+9Q=IfmIjj$0k3OPr3&D&_{gma^C{SH6~?l%@3277eS2 zd3_lV#vH;?*LoX{bJ0G^$;CC8_W6aGV1X?k%O|U+$o3I~2J3QEn=CISh23D93 zBHETV*k@U9-srMhL<1FVHHl?KTo#det~5PR;U2+j4b$-gbHbD<}E^umDp`YYB5Qol8lOrHdW+PN%x6)-rLL; zyvV*Ft$(34N=H(5fvw1_>WoBW6p44CsL`0vHua9o zB_wHWvRZV&1gIg<%mmj5gJVD?WYQ{E5z8zt=o}CEJzr9NHs~K6Hgm#`IA|_impY;r zp8DkRnWzwDY4{i2Y#*tAK#icC&t8b-6*F9}Cci76dsI4qG%N7s^dHIzpd#UN2cxo<>s~ z99iCTtRj~tmV{OQTcz2u8rig}>09ryqkG$j%kNtU@?`ZlSm*YQ7dBD>4Y%17V$Tm! zPZ2l}*Tg0Vg}gPbLwXd)knjaw8k23y4+WO|cyMwL6jJs4&^L0(Jzm>4fENaH@dm?^ znLSMKm9>59%8!+g+qXsGv8kUO+N#^<+THuuoHh9iqc(YHsT582N~pP6T~0}FzLV3% zEH)oAB*CGKz}=?>YYI4K`WIxV@)qcfvumjiCcY@}Cg*xWi`_*0EG^fY053iFlMUOq zjux4v@{^u#ZV3u{a}v^c71Y#Sdg%S@kIbg@z8~S%VQ0rqgU9AiGp}W8B^Q(L^EQ1+ z7*5&UatSwOb(^wowT`sE?-V-(cg)_*C{%3Zg(VPDC~9|OBdc9}0OqcK#8mXXwH(ck z*y^(NXXA~vm@sx*?}?~}r>~B^rfXm`shyM-JUwYUuYlZ`vTsDsC<<~lQ{_%;u@tvk zmN{gbDBH(}Uh=uPZ0zXc<<~zxMI5ZZkT$d+&Lz}Ak$GbVWSi^wy*(s#hOJC-b$cyZ zBBvOR|90oz%!GRDyyNG?<*Un57`?#svhZ_3Vik9b^!MR{yzv)(*@HbJF)Q9mFdMl!1D>azE_M{NRdn_Y(}y`r}{Tl7aNSQ4dKxxO0Te1u(&Z216>qV=R%>ghc0=k{%cK;uKWPD(QB zqOYiYfQ;B8L${ma5;wGX;C&swiySwX9LEh_P-CX{dq z$iyqIxi-a^=@Qlcpl2UWk_Q$zCAQRYo1D;Yb`PqtL-I=BVWfq zob&C}wS<>%_E%y-9?i0?hKT~2aU~hmf@!qF%r4C?*d?+BHnW8yiVw3yY-y@Jtt=C5 zN-lTiD{OxF6;M)-kcFC|RT@ufbkz)$KNXHhr^z`hQs&E`<>_iP?XrUF^c9y35T~`5 zi{L%NVATLWR@WLwkBezu*ICZL^ziZ~`avE+OJr^MM4INj98s3L*!+V+iD-YJhTb~H zLPfSi{rrI4yholAF9+R~vHkwp$DL}g`{=vjEjzuBA-j}mmra>al8@W$^B~Y&yg4`$! zez$$$eB?V#ca>LBY3L32)gHb}pi+X56z>Afbi)o_ZouQpVlBpDltg>_0_D5pQ;X&= zcAaig+a#&pQl~!WK5LQ-yVLg==l$`oE`{!?O0L$+^cEslcN+T4iqd>J4YUf}+xA;u zaFf`VC_kI!DsY=mW{ayNs;R`ZDO(Z{QM==MJ>Qk8tr6WbLN7ZLpim*UJp)? ze4jNW7a1uy|Ffs!W2eIE`jqN&A zrm>NURi}??0=3WQ#<_dZT?k=C(U*xoRr zMRLg$Y(=zBbhYRRMhR6{`8csZ&w%|{KILDO;28t!3Et0ez!G5KMvwlA_k6W^^e6y{0sNL9b7*vLlI8Ue%H|rj6?^ z$FLFrY<}jfc0o!sOnJL0d+!>@V|=YdSi?2V2S^TqdrT|eV8`G zG-=|Sjbrx}@}pnCtDM?hmctb%k5ue;tZ0+TLik)8NL2R3Z9G8dLE2$&U?ygi zcQIWF%AElbl)dQkp@am%c4~Mfhs1>3QOj>s#BbFSjgtx(uthA|XW%pRGY#-TfO>5! zoAtc2dJz+W@X~y!Ao9SlefS&vOV5ncQgMkulJLsuT&@Hfkp&Nd$-)k^Z_x+%zki z^7m=FGA-07l?Jl885%JmLoiXhGhIqD4RPexE{Zv zhr?H4H6`4;$qnciY>9hFKkyjCZ|-YHN>A(jGZp#1Nsx2Bom_|6&gzXl+&e38{Qe4q z3WA73Var1`gAg$PqXd_h?hpk{4GyJdp130FX`af2gAu5GVSP+PcOkna$!VgS|1E+7 zp)~ai9MF@GI+vLlDKP{1n7qgs_^uaOwwjmYU`s@5_Tv{bqiawy-cv3lIb3%qnfM2*Ab=z68YJB{n4EZ}Z;qwqvD)B-!0)Dzz} zR9a8jcrEB5F4o51tB}kpWP6|vTavRGJ5massM-`_A@-cxxS1h&r&2a&%1KdHOj^Py zOAjT!jAcevwBFti)ueu_s)I*6XhMlHV=B8)Xfd#e9;d=Zrdavu1wTFlV>ec+7FLZW zg;ohXWM;fQ1(FdzU&iMlrF}`5K=e+_k%0kEIAmL4->Fi-S0#eHnJ{yMh+pQNJT0;t z4$1X~Zo^cv`y0KUQibsk4u0*j( zO+-f08v2;hB_GCv&|m6F#7x_4u~cfLmnMflZQWolp(Zv zB|F1$3&bDshYDViIt6M1xJqYQp;&&@p0_$}vjS@~3lRpPZOm2($*|`({b0F7_W~&u z<1PSXY9KzS{O}6I~%{1L_{IGkjnk4K*kE z?`~~dgU4~6m{=k3%}#XPT6l^B7qRQ0f3ayVu%5+PLT+~iudiPR{7wsdq>iJhe< zjQ(dOtRQ)AMEmiv??I_ScLiIpZ!T&vYuX(=G?+=QNf&WYqh22BV)7}BSZp-8X?zlG z1#udw>X%UCGlsU5=9gie2Ok+>*`Tha=vT@X4W*N)XsxR)bZJ1eIkBtQHBFfKr_M=> zDX{Q>peVBQq`jiHH!X)BQ9P;{A4OXyj)IziGnlwH?~4iEA97^(`$E3}e~97S`{Gck z$LpF!-5Od{e@nM4#0&)hm@sQ8DOGtXssFj(f!^xm_$P|Ub&Hes8tU4vT)TDLL@~iyTDyvt5tov>DLR$L*ieWRC?c;BqQ)l|GoIsPKZ>bml+Ler+gUFG4kk%7LvYwkAao0cT3JSag` ziU={kk##{$2HGp8DpDC`6qqAW3;({3~Z48 z8|~(bW7A=qJfOpJO~L-Q9L?w=`P@erg#rd{v8&fzH~9iGOlGtzkK;a(=J%{U4E9HW z%xVf8qGM18Pigb4s4@iv)xFUVj+7ME6g*_$>Fudv>G+su{qquTu*hWyhWw@?kG3AsY8&rbqB&Y2P04O-WelS2*4k1*CW!k@~QOeq@MT(%7*7A!%eJ# zt7NKrzP`2x4BBbQ)g9M@D1gyhO;i{F1OVbtPoUR`m;eBQw%`GP68eAv{*CHC>@E() z{F{-#g#M525a__a`SeG!fA1%B)IT8pQuqHS7%)bl|7CdoZ)X2p@c%3n|M@ch9qDfo zhSZf4!46gFyqEERPo8Z{QaiI0HIq6M!5YmP{cgra&9F?i^5UQ*!8{X2mr_1STDr%G zGh#)XV-(R63oEh2y5Ym2*TX5LL8BoNBRnutc%v>-WpCF%TA6#bd9nO;;cHYxgt1^u z>Q<^1?_6QWM^bs(#3zt2b@`+L>S%*b3Wn1Di9>gqVd_aY!ZBT>lkRqkg8Ph~o#~!iATMifq04dNdV*|Su z6E!zE_AyYb#*Q5Y;K$DNRSN}_UVBH|G!oC)@FdYjvJRVgdkf5FAJn#X5Lt#u2z%X7 z<~8IIL!*Q{f3xrNeW?Y<)8Vk^0%_6FQe7T_~J=#sbP=U!_8$& zQ>(oybkdq%WVovwS0fG<=L%~VBAzLtJ)wF3viz4z&5kQ^@s2BzUmBl>NHSf4AnH1m z)qS&l7IyY_;C2Jgh5ST1dFXD6o zI(8NIJwtT@VEOGvsy7uV9+hQ|gVz!7Uq;&$+fYKCFcZCGaMVr%<9EnJ0T2_8=~-)+ z_@NPh+TZvDB6%Xh#Bb>tI7XSWbh#Q}iRpych56SDIi|lF=CeQm6S@=hkCESye=z`V zI8>YAae0aQIp^es%CA0u%m05t4-n)tU4WDRG8HKYits1hyZDztpuUC=otBu}G1+`U z+`zx#QplbQixFY+;t=d8@IU+rfwq3bHzIX_hv%;Qg=*3BCA*9052o}Rjd!`V;&F~d zEKd9@RLak>kTsQGL6975MaJQW`&0XWr-;9Y@pQW%vPLR~3-@cpZ)Sfv9@RYu7%P3a z^+hxuy((k)k5G-20<;kSaKZlDOjj?q6hr_47J{JrE}1r|$0gPq`Vy98ZjCxMEuK(r zoF$W%`3eLu9!ZKQZG5kw=ytQ>8~|q(a}nnBIx#}iKvnBrLQHU3*-bE)u%vsSZsZMT z66-Ma^Qm1o!HJ`$La|*ETxeRqs9udOOy1xZ6^IMyJa*NUNu!l-5IW?yBJ26IF3})l z9})~Ld>hY2=c`jr9S&V6Wubvg1q216ZZVGgRpJApx(lV?pk*Xrq_9`yiamy&2R1e5 zfmX_dmc6uptAkNX3hVGn4$r=ukn^};gm3(>QOCXIQ#5d)P-Gu>A6$$)VQ7ICLYWv} z+pndO>`R}HX88-ao-mm4qlS$Jf8uZs^o@r?q?4=k{*${ciE~7e{~l{|xp30CbI5;` zBb`;kMTlOwdfZ=m&}?Gr-wm87TW86XE=JA{zZ4F*;U^dM#>EH-z*Ircm%be7mxo5K zh*ti=srNBDnc!qMT~@8~<%XRTetQ51?;KyD&b|A7XUDT~Pk4O4l{;R~*Ve?AA@#d% zixWN*QQ;~Sech$;->eU`bKF$WaAAR{eS5=8Az_;Zh{TV-%;aoM0pq#*a$3;Gd^{REd zi*;p8{(Hj6^D{h4Aj9b=!Isr$Nh1Tn$;L`bAmdch>TU76v%aO!y%Vgi9QL|nA?B75 zQ>BfRgQJJMYF+^ow#_BhZyED1F#(SU8jh-+#}RNmUnQsuDqYGcbqbdMfh8VE077}P zO-~7I-+^qW5zY!8$1JNx_6J_TLx3*HLDGKf`3D0n+$tC?2*QOv0pXWZ_bn`*WI@}f zLuaEKjd7>stxk65wIjX(9}iF1Zy#c~1FKH`PM6rfyn=xgK7Q_-JP;Fl&-L-UYv%dc z8?Q4{gX53ZRZjqXr-__!w18=_J9hK}zpNPk+#Q@}4w=Ksu_BSfhr`jB=ubR=Ynz5{ z1J{sg&MEN$*mo={fXZ5JWv<}9>Ql>D|H39J5Z9o9C$~X9zlld3S2ZLcHpJi2*G&Y} zOfk;8GEPodB=(IbR-ZsQL-x?M=7-+TsD0~p*+SuPHG|=X?E&*n`KOf!q^ElF3SA^4dKBT_NXQwNYR^v7?s4kkYZQQS zX4G;iza)1P-6D@*+PVKNqhTfvDhPmJdE`x@!^pl3j<~zR2NH&r3*|gF>ZjnKYtJ3` zWBW0ttHPndOcs3T|&d`5$*8IPvKe^cXfDyNq6Y*$<8PmhmxH`cQy zVIi;-*0C;%FHjcq1Dzf6`ieo(N9MtH*sf>#fsO`2EsV8JnRA(QS`qLtU7<8<1+hQt zP+SuEW`+B{`9HR^Mh7Mu$mY4aCXH=99eZmhR2SWp49=-;0o5c3by(y2X5zOvi;^>S z^XCNKCwo1A)vC%94}K_^5#f-5u}OSSR9XKK;hon!J#l(~ zYFTd+t5Caep9CsC2fT$y|1f!2J%1Dd#u?T1es(o?H>ctD{gc2A&iOf!;W@u~lrQx6 zqy&4+kL7npQ>=Zx_Xtp);6?|oL?~bY2=M=H*}pSW$zUY}=GV6UyZASv`4_5xI=}qW zuKOoQl)zv3j{76Se^ES{ncsx6Vg8dq)PmV1W#C*G*R+#80rcj M4_210k~9kbFPx{d>i_@% literal 14572 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 MK~ug`)-vS(0P0TN6#xJL diff --git a/Templates/BaseGame/game/tools/assetBrowser/art/cppIcon.png b/Templates/BaseGame/game/tools/assetBrowser/art/cppIcon.png index 8b027957b0fbe3594c73d1abfc84390b48ee152a..3f7e4efd502bb2bd8416e9b1e2e19356c3f7d5b0 100644 GIT binary patch literal 6954 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 YfH@rOb*sbJ2IK}f+PT_NZ7%)sKae%rivR!s diff --git a/Templates/BaseGame/game/tools/assetBrowser/art/datablockIcon.png b/Templates/BaseGame/game/tools/assetBrowser/art/datablockIcon.png index 5a691045347bfe7965935c2a368b9a42ecfd81e4..e1fa5917a48bb943d9f5160460040688a337f87c 100644 GIT binary patch delta 7317 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 delta 5506 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 Ef|Fx_KL7v# diff --git a/Templates/BaseGame/game/tools/assetBrowser/art/folderIcon.png b/Templates/BaseGame/game/tools/assetBrowser/art/folderIcon.png index 2a528419e2839468f7ebc9a6cd1b125afc4d798a..bb425c1b245a6d0a2a5a3ee41165dafc1aa3a8b0 100644 GIT binary patch literal 7824 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 literal 11562 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 diff --git a/Templates/BaseGame/game/tools/assetBrowser/art/guiIcon.png b/Templates/BaseGame/game/tools/assetBrowser/art/guiIcon.png index ffeb015f1fa198083840d9870738f5f59766abd5..3d25b953abf46e5a3bb98eb931ec0da0ba0e7935 100644 GIT binary patch literal 10181 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 delta 4495 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 diff --git a/Templates/BaseGame/game/tools/assetBrowser/art/levelIcon.png b/Templates/BaseGame/game/tools/assetBrowser/art/levelIcon.png index 7fdb61d1b1cfd9e2af585bcded85a68824021509..d3a2f55e8486cdfbef4f7b1ffc0958c6bbf7ba4a 100644 GIT binary patch literal 20009 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 z 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 J(z*N7e*q&EOz;2z diff --git a/Templates/BaseGame/game/tools/assetBrowser/art/materialIcon.png b/Templates/BaseGame/game/tools/assetBrowser/art/materialIcon.png index 0e6c456a644cf50a23d8fd1abf5609681bcda256..2b805f6d84f65c026bfff629832423591984464f 100644 GIT binary patch literal 40426 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 B!Mgwe literal 7889 zcmeHsXH=6}+ivU*7MhCEqJZE~rT5?rAShKK6e&?4fKp;06bS*HIS8Suj6guh2u?6m z0YL~5Ktm#3YG?sWXraZ3kkHS=th3g9->>()-?z?>bJqFstiAJOKlk4I-gmj~Yh&$g zElvrD3xGhNQ#UNlZi7Gvf$l-j@uNWVBXVF9XpVYWS(pLs7Z3>+Gr$0PKRvW`4F!Qt zi0(fJK-sU(122!EZrGR~`+8LTh@9?94IvMBC3WA?1!al|3W5itfS(|cX$brt3hr|; z;y%j%qQwmxdmmN!F%U>v`-a&sj*+9w40M)HgvZoZ1az&GRKGc4{2?zuLlZ}N*7ht* z=+|jQe|x-#&@U~wobJW7UK2S25Bs!vaZBjq4_CMxYES(2CQO*%|O`Il-@4^6a6N>33hQ=re3u3B;K+TCS-v0!; z2CNcLfe;Av80Z}afi42g0TAdo=wJNxZw~(tll<>U{}03eS<`=Mo%@ph5%Dj#^`9p` z4$Ap&ef=+V_@5{HNAv&wY5Xrq|A@E-`nS&Y-yHsrg**nm`+vfS?y`xMKY?6S1u`4* zr!}zP=&q+BfY|^iam}pc86MQG@AJc*zJk8GBEAUI=(z+<82-Ro7-S;qEOhD3mrfN_YOD9v~}>2;kIk54Z@0tKruy!?jdx z{bskf5D_J5f;_22;uS|9OiXo<4GK!{-r&V6TxUI6yPzhitUeppEc_TgYpNi4Zf9#D zo5ZiKseb8-`}NYq;H~Y3-*dK3NA&`F^jlniJ)viit3v8b$(4|GeR2py*9oJfqFAqD zO^jZq7#>A8`UCr~(v}bgFB-a|aI1^rOl=j96J%B0@L!!_CnbRHj)qBCxU^gnw$L_IuS~ zgFi^@9)+zmYUCwO>%pm#T7fBj$WX+UvPBoLwt3lBtQ~!pPe1hg>h3TDs?AL@kMYXt zoVmGcT`@fR0$NdB1F0E!<85VQ&|O@b)}_t%zX3J();N2r%~4C<;TGQ7Tvb5bCy6zaJ zWwa&Ubxz>9%CwhOW>SG>I?~@)LmDrc#<4v~i%@v#t%t7?&iu(+`+R5C6o>S|TEZN&sxsKa1(whtV_>e-h9WUvD zgjdfI=d&KWh+}A0=4lfR#A4PBIo9Vmx>+c6Eo}#_icgcWn~*@qPT!0R$)ktj$D;XF zVPX_3@i8wq4^wj(jUBDJ8_f3^AE;N$Q%1H@e{HZ()VMgeQGN4_0CzM4%0+wRu=+L$ zk6@EuM{u=4Q!d+F?2h{TW{V@X5t5m#?FCeWO#e9(*GWmk1#vIaFb}Q2iez#vuR~-A z0vqSsyQr_(flK&qs)K_l*Fr&1xt&z@UcJt-rc@TB)LG!bLed|?wgW@wUUf7O>Xf>R z%aSmf>8szfnnos!=Q3l>C}I|yyNt{|uc!dprun1sY#&9>Ns_$hSc4*DBvxwzvrYVL za7Mqdcrk~S&M;&u^qtVX=NJkN+qR_>_-jMj+^t4C8eUKm_I>OxO{i488=X@Ap)~14 zl6!DYazc^ib<-lnp}~PxD7UlDWajW=^|p{Hxn})8vi%iaT2oUza%N{LZpS4o8t9zy znEm~-yyBf(gW1+pLjzrkU`^9S)wjeCzvLCDig1ZxhRl^!Rktr{d*H!a9ugl)o322b zxXjOT8MCzZBFC`tO5XsO(1|XGD-vTm7tiRv^7!& zwBq$=MCGKUR07A>qTxzUMRnPw6-Lw}_vgWt>Uq_FkyKa4Hq*HosVnAnDL(?-oM^^# zFzMXYtE#ih9Y4ziFAWQ!)gte?PgeiDz_{CyWd?e+eCsi)NU>~j{NYfV!$Mz^VD@^1 zZ7JY_GhK$>WA|Upqsm61nb@rlp2CKUV!Thh7n=nB?4wL`bO^V}U(L>sd2Gy6NVj}U z8dvn-5H)LBAK58MzKYT~ZEZuD9jz0*zvG0Ch@PT6(S(R@7K-0tZk*~0-No32YwaSZ z9nC%t#D=opmZkI{8st>RwsKvFbF#4K!HMO8BWG3MF>N#7H);`HdSr->5YO%;ZI>M= ziN_^!qgB7hC7?7ectEu)D&(ay2|%bf4FF8eX??q!IQWHQVu+1R7 zwT1U5ElBs~@&_U%ae2vkBkc1XT~wb-;A*VToAfq+Yo}Jy!svV%F=<(Qjr)M|P4t3}it%i(7=w)oa)4!@MjK8piZIW6@p%LU~m-lj0fH1g5g$b@x zww&-{oaIsX?{8|XpDrlkRBmd%(N*jp4;B~vSd9z6pOkMoYp&n=sFRti-`^KGBVVVDsDSQklHx%bptH6 zW8n>j1~o*iW#o5w41JL_$z&(Qo;R+Z8hbOYwr5dQfTa7!8eLTvLCe#alupN!bAGb0 zgts^3@>Oxk-9_0hP^jqG0}19w($m^XvVOQqZ`D`|pz?$4jxLJdQFNkhO@%DueAAbK z3ozwX(-i=uBpz)o+)Sg+i{yG$vwIQSpH~p@Zae#f*jXpK%gVBDdb2v!B|x(L?*zD!U+#5vIL#c)H9Td)&C-j zUoz3)y}5%;2sAPj+ePW*Wp`7JML${X?%cHwk#|4pLU7wWZLSL2KC!{@$m!T@daw_Y z@LRloqPr?!37@aWrcOfE%}#b@K>GL7d1#EA`(&NE(@TEtR&1WpRYd&GoQ8xj!l0pW zdbpNU5!S1ELIRhI<*ltGrKB-L={%!qAKw8jd0|ioWr7_TT|tRwpAdIrny+-^4mq);N3>s* zJM+8`%|kr!aN`E8;hwN6*02bgjl#Oxi0lKZ+`+pSYU`5Okyg@2uAE_dm=kuo=2qdx z-8a_;HOT%tc$Vn1rC<-Y?;#};QF%r4GX-EZmd3C%d{n6h5>Ke)_7ygP>(h)Dg2Mn= zQ%e{HLy<{w31w1ebyqG|v^sS1`Qo6B6!Mqn`k(jiO*^)(6je(upcST%s$GOOCW`rch zC}!iEbo|!7m2GeJS;CB-ODT~$)v8MpPeJ#%y1V<32}ua*j^!;^v>Y+^-g3X{NtM%C zoBK9UULL%ly!khloa^0f{pqnrs=<=`RK4hKn@A&SC`(JK3Zy3{CxW!XYW^rrC)U1R zG|77t=1sqj-dlaQV@0&etq1FvxcSU}PDn6}-#QnxvUaSh;Bsc&+isP}lp7fWGk%}6Uj*~N; zy70FO{`!@qOV)ljZ5ua-r%h&iTx0cqQwR;REkxAYUtX3xDzGz>*!!yi1t*KLR5Qu*NG8p^6f=X&+CA!oI{0OI0{gUx?`db-QHbuQkH zB5{Y_S=UJ&Woq7K=sZ-uE>H*G*v31L3E}4_gq?M3qBI@lKpA_Sxk1%qn)0q1(|lKh z94j6H*udwI2DaU6Axa8y4hv+MQAyrMpc(XfLD3La#juVR#MA#-{O^(qUON*-bBz0AP^%{)FA>rlr& z|0*}7W!&0F?a@YJbopOW5ZZpSP|@W{87+f8&#fXuCtKiaMxt@Qj#qFWaY;jiem^*A zwtg(Ms4N#T(i<5VqP%WvLm{&RlXGgS8$gzN(W(1~aGPwPBV>|w9&2Umowr(leT!8= z!~&A`{MR-LcYax&qCAWaey2b-3Tej-_uO6+$dMBON|krY(Qi5S(c!FCxY}Mz`mv0` zRW#h&ZQJvCj-)Z2e%-d!rg4igc30Zw?DtzR=KI{Dc=9>@+;=kP(_g8WD0ZheU06tw zb(k6a5kZY-=3!?vkEh2aq?Ir{L(Y*B68167OH)Cb9hk2R)>>80QNy^@OguWM#QJ?~ zf8$bB!rWem_>S={liHHJv6UL_3R#a$dDUZu^30+_PTE+!ZKSF4W30vsX=uKtSn0R@ zt$GD7nuwcTCYWMELX=k|A$28rbVN-U;6e|>4LoZ&Pa^vei6>^wE;uI#z9m+@b^`5h zl#+b*JC`WJlWqEoV}B;2x6OUA_yH?X!!|g2tXIKnuk(#=%Rz(N)OCh?dd=%@RHTy-|`6~`v|5BJ%`O@jXog4Y$i zrcloq-&Lbr)tXwT{#T$DgSm+dVReS7MEB-DEJsb!5ouo>4t3rOS+oTI!oqaiFOspZ40aZTA>ao0sYeQKm-_ zNc7x8SQ}h*zev}qm3^iD(}cpSE{QkE1!K$5!MUYXHNWq<8ICh~dznw|sDT$OE<@gj zyUCrHXrjs;2X%jmya3aY==mDZv*l|AzR9>nx35@ZcXa`!*-h|~+V|w2CkE?UB!;sN zA85wus~bW?aG5$aP+zz}TrIhv684}GZnS6BZv$kbv`qb(AK-F*ld_U;q^_BEl!N3L zSLV<@;Cko2q~aHi<3JV z9=ss(`(|^I_kwov8)F~H2*(ar>ywca@QNX=R^aF#&#<0gd;8GMYc|{yxVSBmZ5(x- z-%_K*f}Y*YPf3VGRsNVZ6f4x^G6n3KLwC3evM}oFsqTeQ{^p}h=&t3p*Fxp@7n0*Y zz%FpyLSqI9w~wX+#(P(PV>a@UXyQ0&OGm`R3N?X1^c~yhB+%mE87HT^?t$ za^%_#FxybFX>dYn5Pou(P_)2z;T_@bYR}PfKPj-t035q&C_?ikctN|EpB%!N5CGAa%Vuvx2cG3LlmdiWhU1k(Cn%A1D zu#(brVd>|9kAKEp#dWkw{cg;y1R(RA33r))ZSt2x`$**7tDPNyXB!}MXe~#!ceu}& z{2Lxj9;(>-T%dm2#Q>+g!NccB~Ej&_{i_%+G>uy>*|G9 zrP%Snaeb6b%<`8!m(^hgwY#zsvNuuAHtFc&r%`8!i_PS<8*wTUcc^)kIh* z>YJ!+G;+W4=ZU6B8bI_x-bd11VxyOV8ewIqn(HRT@YCjY`KXFbcBE2_;oaZDNz(Yd zgvC^ovm6MZeBAvsXWa;DkB@;D!>DUI{NV#2!0VicNkT5{8I6KR9)i8RU(8$tZkPuB zXG-?jY7QzWk^Z41l{&!Ioq0|KmfR;6adMr48JT%>aE!1(;ZcIf}2JFtuYUqS!!{_y|21-$|o!N%CsBEFM}=R` z-M(J~z|&a|O&urox2}|S4z}jt_hyt%?sjIBW^Q0}0C1Z-fLS}x^5FzLoZ){!7L{1z zhsy3_U;Mi9on%oondLCKneO=t(JE~CDv$U{n*PJW{YY!X4Ut%m>5)T$vS!y=43G7G z6ZrmW=hF4~>fY<2YkHP#Yq1wCO5>A>hp6Rg1H>_nNfMg+WrV|NI6?LC_}#TJ^e(;i zIsUx0&t;e)QqD2f%JiPZ-OqGu;Wx5cfIy))7vbHyLpDm)5Nuee$r z&#OaDTV%d4+3WF+X@0?NLc2b(y=>v;%&XIozrPP3VUD?@P~XbGthGx`-AgIH9JHPd zkL5sF+GDC2d)OJF7+Ug7yJtEO%N2qq97ed7zHf9Tq-_zE7c&KkhA*c*-ndJr8250z z1e<~>XuJi!^a~Bziq|ZwyA4}y?OQmDU@FE>XD%t$AJy6DR2>?06nfbEl%4b#_7|!V z#+1i@@j8Y{NYTbItd~hXX4wCb@|Lrk%(aNjBqe-*u1}VeTV#z6u z0waC4OBbiF5T&lj^rnHf9OG%hyP`Skul4aStEV=B>Oc}nqHS#fJvw4oADA={8Lef%l;IakO%oCeF&fJ$&vZ6 z?yeW7W9!JgtFGQu+SbsFMi8Oqm;4rc&i6W2N6r>&mfkv~*B(yZ=k2A>A0E;l;?NNK z>3K?dG2EDOfAANcmwexR4k?|`J{Y5DMaWHXlHIjYX7zg`G%5c0z1+)w+7oWwop0zQ zj$#$35(8c3Rw6}Nap&qSHv&KlE=cy)|NX$#USBrp=fJO-D;g!*i$YN)hTIdDU9@M zGUg_T>TJhMS??9NET4H1aWSa;t;>tn!8fJ{TK&Q_!{ILK_JOb4De)BIzE7Q4_^Zg$ zUQ|dLI<>wcX#Z;p*xng5n-E$gr26Wi1A-^&N&4tc0@Cw6H zA!Fr7!?A4Q?}Ul4EG8)z!M0@$SVMYS!5P(tdixF2OHNqoeOA@l=w75{N|V3FuwFFc z;rR&q*g0`GIPSjb5bPf>Xz!r)38F`Tvwdu>T5&Qja!Ghp|0%vkVACyA$aCPtEKYy` z5{H?nOH-}vBs^JaLC=I@?73GMZ08UwIv!sYI5&tzz)Wf_kabj(&>X)ig|0 z!v2YevBuMOM+a-GnA>4cwQb!-+3BqQe1N4!B8dBQCQXkT<7=6yVv#2kp@kIIwT{RG z9`jl2+#0hIL?VVK9A<)L>7Op@sUcM=B8{I9KmLJ;Br zMZP(qS>mDh8DZ|y9#+YwA#^^*%=GF-3o1yoMWqf;c}9aPD9?l*4&r&okFGkK_LhYj ziU~;V5aLVp9s#mR>B^e6#Gb_&_U4R4*ZGMHxKt>lPg4ohKI_UqRb;y<7svmV8dUm&eRDg^#SSn>#_Un5u7E_J?bEuh9L~IUAn1g8+RQo9|`WMY%XA5x7~UJv_k$8@w6~dWxpsC_p{;&I=fr?bTwv_ zzEGH`-Aa3=ZwuE{k}CMTuKg0KK*RE#Hg45ij+H3~FB~+eFro12RL8GmAQc75Ze|^+LRW5-G z_Tq%5DkBYP=^Lt{Gy@xBjLdJxTX7;uxq4JX2>y>3+D_H0s5CP(8Jv2JC$(=_A|N^R z{CBIz7_`v9q^?d)f|W=3{_$IHJj5EP872q@Eb3=+DfD-qbT(x8bjOfg=AIO?{6a?Z zzZn0ZICj^cwG-$t!n0?oE#;RS zWk@>ws4JoKGz~L^KI2eaq$P7?gG_d6#|(+F%v1X-wdE;}lNM1L7vlOQj&^rCBTK6; znx0vxKyQVXLPzb5jkZ>XGXK#o9ij#2ZLiC_## zw!3xz_T+)ism`}2ngQ7X4|#WP3ZdWPDW{0qw2_nE{?H9q&pIa;GzcN5imsv6?7?Mt zu!M-iV!-Dug!yXMUU+nN9@J`2fN?8wH!4{nn2CN_0gWs1ZVHM>z6 zW=fh}gY$OHj;HcJy@V=~;(M1jR+{MFftfO#6|#(|njY1qI6WX2vus(lnk$(*<{18WX%j;dU-6A5`B{0x6Zk&0MLnb;i^-U7hQ#vw* z07gh=(inj^AVprqube(G812atRkVs{pB0PlVV*txVpTChGKIGaJ37sA-Kx4?D!tj_ zF?qC^SYy%;|585pwrl$}_DLzTv`4QN=1zWHkfVtrh2+Ss@NL%<){S90f2MEybzt6n z=hoHX7hmp}#L7L1#WQZI!v0JpoQGIZJ6n={0;?q&k}xg^t7dc#Qhki=4z4TlRQjls z#yf}1pi>C>mf6H2EPpnL?@F(<9?Q7)&e%4!y)mROU3_#6*|VjI4F9B14{~^iO7}H) zoet)07%wH>;BQNg(K7wM)feHCEPLfO1H$^_&aa#PI@hoCJY9HkFsK{k<^Tzi*)R& z+ZUSX5#g;rRb z*@CqJVOH7bME-l$0*EiA6&uX^;KXCXRM|=vcNSwsrXUj!LuWbGobrxfI?#C;^P}9T z<92#orGh_hWlB=lJJy$J2@HwQ3xcw0RT2`EgOY$A%0$ewJA3hgso**zq(Mlxa`Ww9x=HaE32w+!PmSVFHrdnf)lK3-Ydxts z6Gh(zEpPJN1zbU>&Z&y1q6v(-B#vy9NPHGc zODCNSF{`lV%vdVn*$XyqO8W0o%`PMNbeJf@ZI9=Ni#r4pTwyxJ<)Cp)_tJ|YP-`3?9#xfAJ=rnrOKXyo7 zzu7-!|M{ex7g^!GTQ=rrsRQhvzGyUo{0`PJ-`FS2FE-lz)FtgtR)n;ltq^M`%=Jie zt_TqMbiLo^={BcAI#wXG!(vBKJ!%sU8qy=SS$p~@Ph7oiHOh8W{nou+R$@p$N7*;3s0;$p*d${QwEJ%Mzb!4Xt3ITTWi8p|$N01~$D@sf0n>9TTemT5+=%c}@^iK142 zpGY!;eI^V{#>1R;A!*%{o^z`k2HvMF3%TN@gn1$FMR8p>M?aT33A!D0L9TT}`bKQt z75TWN*d!yVxyAUZNC`airSOY4wzDls4UUgDj$M2Cdb(zA=Q?B&{TLPJS(Vuwro2SH zR3Z1TfG-^eVYn*bA>PNlm{cbjnI_?#c(a>fD9PKO!5c7isuQV;aSWCJI1I& z6A5z2l`e?ISYmB0EX8%rEO~a5>FN1J@~7X_^e+sk2W9Cao?{F^xTlO{@+z}3CzE6C?S;@IQ?qB%36f%{dD#9fbD4!_mSp{x; z>Mbi1EP~FJtkU?Unel~mc8y<;6Rd&P%8K%1kA?)99hcUMG_8u9Rqs2D4Gln!shj9) zI+BPW^vG9I!~}`KqhF)nQOewK5IvL~s75PNYZHf&VdhKvTHdrjthm<7zO@<$Ve|kG zp=O?8h`t8ty0t||CIeP!K#RqS0_3I;+xQ~p+(QqO0s(2ht=m~I=E7%y+;|)G)Ojo( z%H14@c)XPUS34!DLg9nuTn$AcBSSQi={IzBcU85peMkfUyhQ5DcIZcV ze%%XizM{TUl#_;EM}Y<-ukVZSyGM5Nx{d&V`SkY}0f41EgAbxPfs|#?HXfm(;US+b z?w7%bh@E6~oTO|a5HlMmK+3`Ft&^E4r7PIUl2Q(&{7TywhX??k+=8SfG~wObMS}=h z?YF(F4+SM&Njs^YGQ6Dp_J}yhp=B>Bq@l#0A~u-3nIaux6csHc5IYnz#U+EazugE{ za!o8cJ8)Q=kW~&kT{^iA2}e}v_|)cZe%}#nEh#xIha&Bft9|FXz`3|(gIT;3nnQFrJIKLwj{7u(-2zLdgi}-3EjezSaLCCb z92QtOOL@e;P;5;vQa`XD;{s(OXrPwK@YALHROn4lYLn>F$j~Z(O#3W%Ndb7EZEfVL z6gf7U^x#F7d8GQVpYaSgF`qxwy()oC%scj@T!fJ!8=MZLm$f1qH;9=N3r99bLKmz_s7}V>)l&d%a7C?*ZG$dJgJZ z^~F}nX1)64J}>lPHrjT~!hJ*azA~GI?jXHyQSEedUG^S)WIp%9;;Q?WTdd&lr3BC> zd#5EdSbJ%^d2pv!f0fit!8%Yz4EN!6f6|k>&!>zkr+OMQTkZ=trC+oTy6Sfm`@M*) zkb<@~N$F3=B!=GH^o4%&89P%%>MwDK%}_6tX3F`jVS6NpNuW`p zEPH)tpSu=SB>`?xXAgE54X@yPMuNqg%SeaTsb+)SJ8O%I8c@j7ijCmO{(=r-(ojL3 zl?&RVV?YMp%WZY)%&aYN-N4@$rTY2>Va+q(r1{BTmBVx00MK{u4Rudzy6s4KQ`xnJ z_B}S1J13h(nckn5Z|-f7;sQa-b<4SwwzUH20gD_gjm0S zryQI}I|HQ{qSKP`FxI~OSfym%%b*`k)vl4HsTNmis{$vqjJ!<kvK%gq!7j!|B@=Z=SJE_n}Q$y=q59q;rkV=5%E=!(?Uxdj zxNJ~Sr+#m9i1CnmD6WBYCea9UGzH=F0=3-oa~e2 zd@Gd;NPm;?|AwIc!?BXy`bMfv%e5(St8brHE>zb_8K%x!7x?G;o3cWKWyH_)e}`iK zD??=r^w+Pf-w3-GC-Fjt8)KaccA~=+;9xk~@(=5MK)bp=cd?0Jru_}ej4s^eb28EX zn-MWXu+XwKs=KZ5P(HW2<563ipv|cDA;L<3Ay3kD!>NmC2~S?NVgd|iWlRo_Y}rK2 z?S|QkR#SX*EgHmz7ZQ{Mih1{!slC@C2NC_V{@qADe}#Dk`gNHA4o9<7^=4VJQS$O7 zoSlW7@Z(C~F^3jXFUpr$os(U6gyV8{0!BA>{7wEZOMPg4fnp1}Y`X&%_YlTsu>Xh{`Y6}ibL_W zr_d)-Yqhw6x#tJ!`h`k;zKRiZ(mEt38wW~9r`ADR5-j>*khK>?;d z9#0=5kqmBJa9t2fN?q^lrPyd+&BA1}@>Giz24-k>cEOlOyd zf+q}TZ^+;oMWlXP@^47_w@mxbIee^8Ottb=$Z+t?)FnEro4J}^nUQEgQW*r&P?#Gx z<+OCnA~&DG!YcVAl9MsBAW`V8+Hc}DO~KV`%Rr&wyAwz@$8@f$o{wy+xY-}-=^<1r zNBHCqS{K1xKE|QgxZ9#Atx7%O@o(ZwGuMPQ)w>$Q3AfF23D|8+!UnAk+=c!sRm#dd zWq%NS2XueRdHm8)v2PwOvB|uhaO0en60h8a1GkjbWHYkQ8_FIkr zCv}P~K2$WS$}ycaa)ryLeqV1MJgoB+SdQKv3>36*-3L#keIVXepP(a-iv~|@F4?8< z(NBaWxA(xc`|q=)?D8*s`7=$Fi$RX77I8dubjpli#hAYIp(=74u+jA&nZvSH8}tLN z`nbTT6r7TM>D6rEq{qaEa3=ggh8e2E<(>s3gf?d(1R{pFHKaf{vNX`P>CB`13zw+I zGzvC+E(QNRWSuZ!6D9LAqvXAysI|F4LVf*5z-LIPzyN2fl5E&QSCeA9f1?mYSnVZv zq=F1DA9;`R_fFlsV0o1>Da?e2Xe;A!v>(qVpiT~n%U{Sg``+2Sf@=*JUS5d`x<`Fv zkaI6jB*x`kgR5aH^!|mIhzD$WP!$_pJ0xN@ljy!IajP~@uAalvaWtG0A}2~0UR`+g zqft40v-0-nw>$%HKwmAC59{PsM?aHf&?enE0J6R43t7-Xj zgJSqX8?*b|k5zHbLbDjIy8G0;IK_s%;aP?NBwuFPL{T`iosPh3UtS={_F}KjR7&gTL?|WnbmU?WMQw;OShS+T8eh zm5YGkprZx%)%nXdh6LMYMW3@5Y!A%pj&m#y++Vglv&@7!w|l_ zHc%JBdOf%$T$6XLeUxKPKwPZ;QDpJl zgnc8qsEdjeQ{qC$yB_@_=>#Tq}G)&8J~V!5AB?QbE{Y& z6j+%PzNsIK84)x>a*;G6+6se@wSk=EF54f)4Zz@!B(Knm*Bp*4nj9ynyxzOzUt^ma z=42Q!t8tvP{ob&hm|`K!YLZMOaF8n7`T7h8rB0A=TW+gc3%TFWJxUbmfbG{$jv zVk3IPCF8EtMJ6W=7$)WYO^aPA92UAnYzTG*m>pk3yUo(_hZ`Xbio86w(?9p;Q{d4& z2U$*99PKrQZBL-j#%(Wdc37!dEH)vpWKV@Yopm?Fu{$+O*la7@+^1*lw7uc*X9D<% zF=*H+>`{Qwht11LY&EwcKRCDyu@K=HT{EhO+k3<5m`!IRW|u4Cx)Tl^BS^7tuctl3+vAe;m$L0<__zy_mk@nznZa&IsWJ zBvh@8z3c!uad?{0t_bMs?%jI1)hR?EoKa{4GxdS9T$Cl_O^chiKNBT@GJ?HZjAgUd z%t<<}8UfpBk*z^pIA@%H?h{836i>UVOdUZVRPXQ1OfE9TKE%~SS_~=RMU*;GOY6BZ zv{Z04WsA0Ex6g|FrYs!Aj7X(n@8001Au?s_DUEg#U*Yp3?Yn(t5p!ujz$ew4-fJo1 z!N7%L%9;8cMS9x$u*C|md0)V~<@6C8q@9u6nq~+Cg9~^m&Eh8E=a~p0E^vNt>M;hf z`9P84HZ%|USa=lzq)#(UXo)6TEPf&U_A{||KBaN*c9s&@KIn5IXDD~x?_@had z{#R1+r}>{fmwz_)M}q&m&cUB9{v-2$+|&Q_0F^a7AepMi_~$wE7Xa`NNJd4vMAF#r FzW}kW_3i)w literal 8615 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 diff --git a/Templates/BaseGame/game/tools/assetBrowser/art/prefabIcon.png b/Templates/BaseGame/game/tools/assetBrowser/art/prefabIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..91ce8888ce5e704cf22edf0e5523a247d9830bda GIT binary patch literal 12431 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%0A9$dAkV=0A5oCYSMn53|^8U=hMgt(AsAYx{E;0 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 cKD&R0QDP>!(XcqN0pO2{lIEi#MT diff --git a/Templates/BaseGame/game/tools/assetBrowser/art/scriptIcon.png b/Templates/BaseGame/game/tools/assetBrowser/art/scriptIcon.png index 1a2433dea6c67e3abe4e89db66fac55c32c7db5b..2cd25eee460f7221f09b18fe8b4fd714938982a6 100644 GIT binary patch literal 7772 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 Lrb4Nl<%@p<1DT1* literal 10044 zcmeHtcTiJNw{JiNlqMpeARwZERHYNDg7n^d=slqH4vG+^_ZB)r=)FkjBB0VC5Q=~Z z2uTQt5RiTk_s#w9&G)|h?swNXr!FU4%0#T|c zE9ini#K0*rh>Qd{?E9mRfdh$+nvw!=90wsGp{PaR?D|V(6E6^moc6L2fwFV%0DqEt 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 diff --git a/Templates/BaseGame/game/tools/assetBrowser/art/serverScriptIcon.png b/Templates/BaseGame/game/tools/assetBrowser/art/serverScriptIcon.png index f65bccb3980c63b93a36c873f539048e41e3558f..23b7861bd95ac17291bb6f76a459c919cca005fe 100644 GIT binary patch literal 9224 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 literal 14897 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 YMz1{4xS6F|;CzzmDmuz_Pi?~g7vXvhjsO4v diff --git a/Templates/BaseGame/game/tools/assetBrowser/art/stateMachineIcon.png b/Templates/BaseGame/game/tools/assetBrowser/art/stateMachineIcon.png index 95ef798eec2267de8e28636ebd4b9ba740244bcc..ed94703a1f3af737695fa008be3fc088623b4f0d 100644 GIT binary patch literal 20797 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 BQEUJJ diff --git a/Templates/BaseGame/game/tools/assetBrowser/art/terrainIcon.png b/Templates/BaseGame/game/tools/assetBrowser/art/terrainIcon.png new file mode 100644 index 0000000000000000000000000000000000000000..29036c61e58dc59aedbbc577037f5b1c874aa7f1 GIT binary patch literal 13631 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 literal 0 HcmV?d00001 diff --git a/Templates/BaseGame/game/tools/assetBrowser/art/terrainIcon_image.asset.taml b/Templates/BaseGame/game/tools/assetBrowser/art/terrainIcon_image.asset.taml new file mode 100644 index 000000000..4a6ef4a57 --- /dev/null +++ b/Templates/BaseGame/game/tools/assetBrowser/art/terrainIcon_image.asset.taml @@ -0,0 +1,8 @@ + diff --git a/Templates/BaseGame/game/tools/assetBrowser/art/terrainMaterialIcon.png b/Templates/BaseGame/game/tools/assetBrowser/art/terrainMaterialIcon.png index 0e6c456a644cf50a23d8fd1abf5609681bcda256..75ae72c45d0a3d164969db47da33b66cff8411b8 100644 GIT binary patch literal 14057 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.setValue(1); } - if(%previewScaleSize == 0) + if(%previewScaleSize == 0 || startsWith(AssetBrowser.dirHandler.currentAddress, "Creator")) { %previewButton.iconLocation = "Left"; %previewButton.textLocation = "Right"; @@ -830,137 +830,6 @@ function AssetBrowser::setTagActive(%this, %tag) %this.rebuildAssetArray(); } -function AssetBrowser::loadCreatorClasses(%this) -{ - // Just so we can recall this method for testing changes - // without restarting. - if ( isObject( %this.creatorClassArray ) ) - %this.creatorClassArray.delete(); - - %this.creatorClassArray = new ArrayObject(); - %this.creatorClassArray.caseSensitive = true; - //%this.setListView( true ); - - %this.beginCreatorGroup( "Environment" ); - - // Removed Prefab as there doesn't really seem to be a point in creating a blank one - //%this.addCreatorClass( "Prefab", "Prefab" ); - %this.addCreatorClass( "SkyBox", "Sky Box" ); - %this.addCreatorClass( "CloudLayer", "Cloud Layer" ); - %this.addCreatorClass( "BasicClouds", "Basic Clouds" ); - %this.addCreatorClass( "ScatterSky", "Scatter Sky" ); - %this.addCreatorClass( "Sun", "Basic Sun" ); - %this.addCreatorClass( "Lightning" ); - %this.addCreatorClass( "WaterBlock", "Water Block" ); - %this.addCreatorClass( "SFXEmitter", "Sound Emitter" ); - %this.addCreatorClass( "Precipitation" ); - %this.addCreatorClass( "ParticleEmitterNode", "Particle Emitter" ); - - // Legacy features. Users should use Ground Cover and the Forest Editor. - //%this.addCreatorClass( "fxShapeReplicator", "Shape Replicator" ); - //%this.addCreatorClass( "fxFoliageReplicator", "Foliage Replicator" ); - - %this.addCreatorClass( "PointLight", "Point Light" ); - %this.addCreatorClass( "SpotLight", "Spot Light" ); - %this.addCreatorClass( "GroundCover", "Ground Cover" ); - %this.addCreatorClass( "TerrainBlock", "Terrain Block" ); - %this.addCreatorClass( "GroundPlane", "Ground Plane" ); - %this.addCreatorClass( "WaterPlane", "Water Plane" ); - %this.addCreatorClass( "PxCloth", "Cloth" ); - %this.addCreatorClass( "ForestWindEmitter", "Wind Emitter" ); - - %this.addCreatorClass( "DustEmitter", "Dust Emitter" ); - %this.addCreatorClass( "DustSimulation", "Dust Simulation" ); - %this.addCreatorClass( "DustEffecter", "Dust Effecter" ); - - %this.endCreatorGroup(); - - %this.beginCreatorGroup( "Level" ); - - %this.addCreatorClass("MissionArea", "Mission Area" ); - %this.addCreatorClass("Path" ); - %this.addCreatorClass("Marker", "Path Node" ); - %this.addCreatorClass("Trigger" ); - %this.addCreatorClass("PhysicalZone", "Physical Zone" ); - %this.addCreatorClass("Camera" ); - %this.addCreatorClass( "LevelInfo", "Level Info" ); - %this.addCreatorClass( "TimeOfDay", "Time of Day" ); - %this.addCreatorClass( "Zone", "Zone" ); - %this.addCreatorClass( "Portal", "Zone Portal" ); - %this.addCreatorClass( "SpawnSphere", "Player Spawn Sphere"/*, "PlayerDropPoint"*/ ); - %this.addCreatorClass( "SpawnSphere", "Observer Spawn Sphere"/*, "ObserverDropPoint"*/ ); - %this.addCreatorClass( "SFXSpace", "Sound Space" ); - %this.addCreatorClass( "OcclusionVolume", "Occlusion Volume" ); - - %this.endCreatorGroup(); - - %this.beginCreatorGroup( "System" ); - - %this.addCreatorClass( "SimGroup" ); - %this.addCreatorClass( "AIPathGroup" ); - - %this.endCreatorGroup(); - - %this.beginCreatorGroup( "ExampleObjects" ); - - %this.addCreatorClass( "RenderObjectExample" ); - %this.addCreatorClass( "RenderMeshExample" ); - %this.addCreatorClass( "RenderShapeExample" ); - - %this.endCreatorGroup(); - - %this.creatorClassArray.sortk(); -} - -function AssetBrowser::beginCreatorGroup(%this, %group) -{ - AssetBrowser-->filterTree.insertItem(AssetBrowser-->filterTree.creatorIdx, %group); - %this.currentCreatorGroup = %group; -} - -function AssetBrowser::endCreatorGroup(%this, %group) -{ - %this.currentCreatorGroup = ""; -} - -function AssetBrowser::addCreatorClass(%this, %class, %name, %buildfunc) -{ - if( !isClass(%class) ) - return; - - if ( %name $= "" ) - %name = %class; - - if ( %this.currentCreatorGroup !$= "" && %group $= "" ) - %group = %this.currentCreatorGroup; - - if ( %class $= "" || %group $= "" ) - { - warn( "AssetBrowser::addCreatorClass, invalid parameters!" ); - return; - } - - if(%buildfunc $= "") - { - %method = "build" @ %buildfunc; - if( !ObjectBuilderGui.isMethod( %method ) ) - %method = "build" @ %class; - - if( !ObjectBuilderGui.isMethod( %method ) ) - %cmd = "return new " @ %class @ "();"; - else - %cmd = "ObjectBuilderGui." @ %method @ "();"; - - %buildfunc = "ObjectBuilderGui.newObjectCallback = \"AssetBrowser.onFinishCreateObject\"; EWCreatorWindow.createObject( \"" @ %cmd @ "\" );"; - } - - %args = new ScriptObject(); - %args.val[0] = %class; - %args.val[1] = %name; - %args.val[2] = %buildfunc; - - %this.creatorClassArray.push_back( %group, %args ); -} // //needs to be deleted with the persistence manager and needs to be blanked out of the matmanager //also need to update instances... i guess which is the tricky part.... @@ -1474,47 +1343,6 @@ function AssetBrowser::doRebuildAssetArray(%this) %assetType = AssetDatabase.getAssetType(%assetId); } - /*%validType = false; - - if(AssetBrowser.assetTypeFilter $= "") - { - if(AssetTypeListPopup.isItemChecked(0)) - { - %validType = true; - } - else - { - for(%f=1; %f < AssetFilterTypeList.Count(); %f++) - { - %isChecked = AssetTypeListPopup.isItemChecked(%f+1); - - if(%isChecked) - { - %filterTypeName = AssetFilterTypeList.getKey(%f); - - if(%activeTypeFilterList $= "") - %activeTypeFilterList = %filterTypeName; - else - %activeTypeFilterList = %activeTypeFilterList @ ", " @ %filterTypeName; - - if(%filterTypeName @ "Asset" $= %assetType) - { - %validType = true; - break; - } - } - } - } - - if(!%validType) - continue; - } - else - { - if(%assetType !$= AssetBrowser.assetTypeFilter) - continue; - }*/ - //stop adding after previewsPerPage is hit %assetName = AssetDatabase.getAssetName(%assetId); @@ -1589,7 +1417,7 @@ function AssetBrowser::doRebuildAssetArray(%this) } //Add Non-Asset Scripted Objects. Datablock, etc based - if(AssetBrowser.assetTypeFilter $= "" && %breadcrumbPath !$= "" && !startsWith(%breadcrumbPath, "Creator/")) + if(AssetBrowser.assetTypeFilter $= "" && %breadcrumbPath !$= "" && isDirectory(%breadcrumbPath)) { %category = getWord( %breadcrumbPath, 1 ); %dataGroup = "DataBlockGroup"; @@ -1779,11 +1607,28 @@ function AssetBrowser::doRebuildAssetArray(%this) //One of the creator folders was selected %creatorGroup = AssetBrowserFilterTree.getItemText(AssetBrowserFilterTree.getSelectedItem(0)); + if(%creatorGroup $= "Creator") + { + //add folders for the groups + %placeholderVar = ""; + } + else + { for ( %i = 0; %i < AssetBrowser.creatorClassArray.count(); %i++ ) { %group = AssetBrowser.creatorClassArray.getKey( %i ); - if ( %group $= %creatorGroup ) + //Do some filter logic do skip out of groups if we're in the wrong editor mode for it + %creatorEditorFilter = "WorldEditor"; + if(GuiEditorIsActive()) + { + %creatorEditorFilter = "GuiEditor"; + } + + %creatorGroupIndex = AssetBrowserCreatorGroupsList.getIndexFromValue(%group); + %creatorGroupKey = AssetBrowserCreatorGroupsList.getKey(%creatorGroupIndex); + + if ( %group $= %creatorGroup && %creatorGroupKey $= %creatorEditorFilter ) { %creatorObj = AssetBrowser.creatorClassArray.getValue( %i ); %class = %creatorObj.val[0]; @@ -1794,6 +1639,7 @@ function AssetBrowser::doRebuildAssetArray(%this) } } } + } for(%i=0; %i < $AssetBrowser::AssetArray.count(); %i++) AssetBrowser.buildAssetPreview( $AssetBrowser::AssetArray.getValue(%i), $AssetBrowser::AssetArray.getKey(%i) ); @@ -2519,6 +2365,9 @@ function AssetBrowserFilterTree::onDragDropped( %this ) function AssetBrowser::hasLooseFilesInDir(%this) { + if(!isDirectory(%this.dirHandler.currentAddress)) + return false; + //First, wipe out any files inside the folder first %file = findFirstFileMultiExpr( %this.dirHandler.currentAddress @ "/*.*", false); diff --git a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetImport.tscript b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetImport.tscript index 152a4c78c..c4de919f9 100644 --- a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetImport.tscript +++ b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetImport.tscript @@ -410,63 +410,6 @@ function ImportAssetWindow::reloadImportOptionConfigs(%this) //ImportAssetConfigList.setSelected(%importConfigIdx); } -// -/*function importLooseFile(%filePath, %forceAutoImport) -{ - %assetType = getAssetTypeByFilename(%filePath); - - if(%forceAutoImport) - { - //If we're attempting to fast-track the import, check that that's even an option - if(ImportAssetWindow.importConfigsList.count() == 0 || - EditorSettings.value("Assets/AssetImporDefaultConfig") $= "" || - EditorSettings.value("Assets/AutoImport", false) == false) - { - toolsMessageBoxOK("Unable to AutoImport", "Attempted to import a loose file " @ %filePath @ " with AutoImport but was unable to either due to lacking a valid import config, or the editor settings are not set to auto import."); - return false; - } - - if(%assetType $= "folder" || %assetType $= "zip") - { - toolsMessageBoxOK("Unable to AutoImport", "Unable to auto import folders or zips at this time"); - return false; - } - - if(%assetType $= "") - { - toolsMessageBoxOK("Unable to AutoImport", "Unable to auto import unknown file type for file " @ %filePath); - return false; - } - } - - %assetItem = AssetBrowser.addImportingAsset(%assetType, %filePath, "", ""); - ImportAssetItems.add(%assetItem); - - if(%forceAutoImport) - { - %targetModule = AssetBrowser.dirHandler.getModuleFromAddress(filePath(%filePath)).ModuleId; - AssetImportTargetModule.text = %targetModule; - - %assetItem.moduleName = %targetModule; - - %assetName = %assetItem.assetName; - - AssetBrowser.dirHandler.currentAddress = filePath(%filePath); - - //skip the refresh delay, we'll force it here - ImportAssetWindow.doRefresh(); - - ImportAssetItems.empty(); - - if(ImportAssetWindow.hasImportIssues) - return false; - } - - $importedLooseFileAsset = %assetItem.moduleName @ ":" @ %assetItem.assetName; - - return true; -}*/ - // function assetImportUpdatePath(%newPath) { @@ -475,91 +418,6 @@ function assetImportUpdatePath(%newPath) AssetImportTargetModule.text = AssetBrowser.dirHandler.getModuleFromAddress(AssetBrowser.dirHandler.currentAddress).ModuleId; } -// -/*function ImportAssetWindow::processImportAssets(%this, %assetItem) -{ - if(!isObject(%assetItem)) - { - //Zero this out - ImportAssetWindow.assetHeirarchyChanged = false; - - for(%i=0; %i < ImportAssetItems.count(); %i++) - { - %assetItem = ImportAssetItems.getKey(%i); - - if(!isObject(%assetItem) || %assetItem.skip ) - return; - - if(%assetItem.processed == false) - { - //sanetize before modifying our asset name(suffix additions, etc) - if(%assetItem.assetName !$= %assetItem.cleanAssetName) - %assetItem.assetName = %assetItem.cleanAssetName; - - if(%assetItem.assetType $= "AnimationAsset") - { - //if we don't have our own file, that means we're gunna be using our parent shape's file so reference that - if(!isFile(%assetItem.filePath)) - { - %assetItem.filePath = %assetItem.parentAssetItem.filePath; - } - } - - if(AssetBrowser.isMethod("prepareImport" @ %assetItem.assetType)) - { - %command = AssetBrowser @ ".prepareImport" @ %assetItem.assetType @ "(" @ %assetItem @ ");"; - eval(%command); - } - - %assetItem.processed = true; - } - - %this.processImportAssets(%assetItem); - } - } - else - { - for(%i=0; %i < %assetItem.childAssetItems.count(); %i++) - { - %childAssetItem = %assetItem.childAssetItems.getKey(%i); - - if(!isObject(%childAssetItem) || %childAssetItem.skip) - return; - - if(%childAssetItem.processed == false) - { - //sanetize before modifying our asset name(suffix additions, etc) - if(%childAssetItem.assetName !$= %childAssetItem.cleanAssetName) - %childAssetItem.assetName = %childAssetItem.cleanAssetName; - - if(%childAssetItem.assetType $= "AnimationAsset") - { - //if we don't have our own file, that means we're gunna be using our parent shape's file so reference that - if(!isFile(%childAssetItem.filePath)) - { - %childAssetItem.filePath = %childAssetItem.parentAssetItem.filePath; - } - } - - if(AssetBrowser.isMethod("prepareImport" @ %childAssetItem.assetType)) - { - %command = AssetBrowser @ ".prepareImport" @ %childAssetItem.assetType @ "(" @ %childAssetItem @ ");"; - eval(%command); - } - - %childAssetItem.processed = true; - } - - %this.processImportAssets(%childAssetItem); - } - } - - //If our hierarchy changed, it's because we did so during processing - //so we'll loop back through again until everything has been processed - if(ImportAssetWindow.assetHeirarchyChanged) - %this.processImportAssets(); -}*/ - function ImportAssetWindow::findImportingAssetByName(%this, %assetName, %assetItem) { if(!isObject(%assetItem)) diff --git a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/cpp.tscript b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/cpp.tscript index 4fdd7b173..a2686fd37 100644 --- a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/cpp.tscript +++ b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/cpp.tscript @@ -11,6 +11,19 @@ function AssetBrowser::buildCppPreview(%this, %assetDef, %previewData) %previewData.tooltip = %assetDef.assetName; } +function AssetBrowser::buildCppAssetPreview(%this, %assetDef, %previewData) +{ + %previewData.assetName = %assetDef.assetName; + %previewData.assetPath = %assetDef.codeFilePath; + %previewData.doubleClickCommand = "echo(\"Not yet implemented to edit C++ files from the editor\");";//"EditorOpenFileInTorsion( "@%previewData.assetPath@", 0 );"; + + %previewData.previewImage = "ToolsModule:cppIcon_image"; + + %previewData.assetFriendlyName = %assetDef.assetName; + %previewData.assetDesc = %assetDef.description; + %previewData.tooltip = %assetDef.assetName; +} + function AssetBrowser::createCpp(%this) { %moduleName = AssetBrowser.newAssetSettings.moduleName; diff --git a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/creatorObj.tscript b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/creatorObj.tscript index 3c90e1782..1dec09e34 100644 --- a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/creatorObj.tscript +++ b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/creatorObj.tscript @@ -9,6 +9,14 @@ function AssetBrowser::buildCreatorPreview(%this, %assetDef, %previewData) %previewData.previewImage = "ToolsModule:" @ %class @ "_image"; + if(!AssetDatabase.isDeclaredAsset(%previewData.previewImage)) + { + if(EditorIsActive()) + %previewData.previewImage = "ToolsModule:SceneObject_image"; + else if(GuiEditorIsActive()) + %previewData.previewImage = "ToolsModule:GuiControl_image"; + } + //%previewData.assetFriendlyName = %assetDef.assetName; %previewData.assetDesc = %assetDef; %previewData.tooltip = "This creates a new object of the class " @ %class; @@ -22,6 +30,8 @@ function AssetBrowser::onFinishCreateObject(%this, %objId) function AssetBrowser::onCreatorEditorDropped(%this, %assetDef, %position) { + if(EditorIsActive()) + { %targetPosition = EWorldEditor.unproject(%position SPC 1000); %camPos = LocalClientConnection.camera.getPosition(); %rayResult = containerRayCast(%camPos, %targetPosition, -1); @@ -41,4 +51,9 @@ function AssetBrowser::onCreatorEditorDropped(%this, %assetDef, %position) %this.createdObjectPos = %pos; %newObj = eval(%func); + } + else if(GuiEditorIsActive()) + { + %placeholderVar = ""; + } } \ No newline at end of file diff --git a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/material.tscript b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/material.tscript index 37e874fb4..4363209a5 100644 --- a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/material.tscript +++ b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/material.tscript @@ -434,10 +434,20 @@ function AssetBrowser::buildMaterialAssetPreview(%this, %assetDef, %previewData) %generatePreview = false; %previewFilePath = %previewPath @ %assetDef.assetName @ "_Preview.png"; - if(!isFile(%previewFilePath) || (compareFileTimes(%assetDef.getImagePath(), %previewFilePath) == 1)) + if(!isFile(%previewFilePath)) { %generatePreview = true; } + else + { + if(isObject(%assetDef.materialDefinitionName)) + { + if(compareFileTimes(%assetDef.materialDefinitionName.getDiffuseMap(0), %previewFilePath) == 1 || + compareFileTimes(%assetDef.materialDefinitionName.getFilename(), %previewFilePath) == 1) + %generatePreview = true; + + } + } %previewAssetName = %module.moduleId @ "_" @ %assetDef.assetName @ "_PreviewImage"; @@ -479,7 +489,7 @@ function AssetBrowser::buildMaterialAssetPreview(%this, %assetDef, %previewData) //Revalidate. If it didn't work, just use the default placeholder one if(!isFile(%previewFilePath)) - %previewAssetName = "ToolsModule:genericAssetIcon_image"; + %previewAssetName = "ToolsModule:materialIcon_image"; %previewData.assetName = %assetDef.assetName; %previewData.assetPath = %assetDef.scriptFile; diff --git a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/prefab.tscript b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/prefab.tscript index a13711aae..f4b42a66b 100644 --- a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/prefab.tscript +++ b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/prefab.tscript @@ -21,7 +21,7 @@ function AssetBrowser::buildPrefabPreview(%this, %assetDef, %previewData) %previewData.assetName = %assetDef.assetName; %previewData.assetPath = %fullPath; - %previewData.previewImage = "ToolsModule:genericAssetIcon_image"; + %previewData.previewImage = "ToolsModule:prefabIcon_image"; //%previewData.assetFriendlyName = %assetDef.assetName; %previewData.assetDesc = %assetDef.description; diff --git a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/script.tscript b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/script.tscript index c23850c2c..78003103f 100644 --- a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/script.tscript +++ b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/script.tscript @@ -90,6 +90,22 @@ function AssetBrowser::moveScriptAsset(%this, %assetDef, %destination) AssetDatabase.addDeclaredAsset(%targetModule, %newAssetPath); } +function AssetBrowser::buildScriptAssetPreview(%this, %assetDef, %previewData) +{ + %previewData.assetName = %assetDef.assetName; + %previewData.assetPath = %assetDef.scriptFile; + %previewData.doubleClickCommand = "EditorOpenFileInTorsion( \""@%previewData.assetPath@"\", 0 );"; + + if(%assetDef.isServerSide) + %previewData.previewImage = "ToolsModule:serverScriptIcon_image"; + else + %previewData.previewImage = "ToolsModule:clientScriptIcon_image"; + + %previewData.assetFriendlyName = %assetDef.assetName; + %previewData.assetDesc = %assetDef.description; + %previewData.tooltip = "Asset Name: " @ %assetDef.assetName @ "\nDefinition Path: " @ %assetDef.getFilename(); +} + function AssetBrowser::buildTScriptPreview(%this, %assetDef, %previewData) { %previewData.assetName = %assetDef.assetName; diff --git a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/shape.tscript b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/shape.tscript index 4bf17453a..1908e3f23 100644 --- a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/shape.tscript +++ b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/shape.tscript @@ -353,6 +353,7 @@ function AssetBrowser::onShapeAssetEditorDropped(%this, %assetDef, %position) EWorldEditor.isDirty = true; + MECreateUndoAction::submit(%newStatic ); } function GuiInspectorTypeShapeAssetPtr::onControlDropped( %this, %payload, %position ) @@ -367,15 +368,15 @@ function GuiInspectorTypeShapeAssetPtr::onControlDropped( %this, %payload, %posi if(%assetType $= "ShapeAsset") { - //echo("DROPPED A SHAPE ON A SHAPE ASSET COMPONENT FIELD!"); - %module = %payload.moduleName; %asset = %payload.assetName; - %targetComponent = %this.targetObject; - %targetComponent.shapeAsset = %module @ ":" @ %asset; + %oldValue = %targetObject.shapeAsset; + %arrayIndex = ""; - //Inspector.refresh(); + %targetObject = %this.targetObject; + %targetObject.shapeAsset = %module @ ":" @ %asset; + } EWorldEditor.isDirty = true; diff --git a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/terrain.tscript b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/terrain.tscript index 27cbc0b7c..9081729d0 100644 --- a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/terrain.tscript +++ b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/terrain.tscript @@ -166,7 +166,7 @@ function AssetBrowser::buildTerrainAssetPreview(%this, %assetDef, %previewData) %previewData.assetName = %assetDef.assetName; %previewData.assetPath = ""; - %previewData.previewImage = "ToolsModule:gameObjectIcon_image"; + %previewData.previewImage = "ToolsModule:terrainIcon_image"; %previewData.assetFriendlyName = %assetDef.gameObjectName; %previewData.assetDesc = %assetDef.description; diff --git a/Templates/BaseGame/game/tools/assetBrowser/scripts/creator.tscript b/Templates/BaseGame/game/tools/assetBrowser/scripts/creator.tscript new file mode 100644 index 000000000..1c04ea1b7 --- /dev/null +++ b/Templates/BaseGame/game/tools/assetBrowser/scripts/creator.tscript @@ -0,0 +1,194 @@ +function AssetBrowser::loadCreatorClasses(%this) +{ + // Just so we can recall this method for testing changes + // without restarting. + if ( isObject( %this.creatorClassArray ) ) + %this.creatorClassArray.delete(); + + AssetBrowserCreatorGroupsList.empty(); + + %this.creatorClassArray = new ArrayObject(); + %this.creatorClassArray.caseSensitive = true; + //%this.setListView( true ); + + //World Editor Creator Groups + %this.beginCreatorGroup( "Environment" ); + %this.addCreatorClass( "BasicClouds", "Basic Clouds" ); + %this.addCreatorClass( "PxCloth", "Cloth" ); + %this.addCreatorClass( "CloudLayer", "Cloud Layer" ); + %this.addCreatorClass( "GroundCover", "Ground Cover" ); + %this.addCreatorClass( "Lightning" ); + %this.addCreatorClass( "ParticleEmitterNode","Particle Emitter" ); + %this.addCreatorClass( "Precipitation" ); + // Legacy features. Users should use Ground Cover and the Forest Editor. + //%this.addCreatorClass( "fxShapeReplicator", "Shape Replicator" ); + //%this.addCreatorClass( "fxFoliageReplicator", "Foliage Replicator" ); + %this.addCreatorClass( "RibbonNode", "Ribbon Emitter" ); + %this.addCreatorClass( "ScatterSky", "Scatter Sky" ); + %this.addCreatorClass( "SkyBox", "Sky Box" ); + %this.addCreatorClass( "SFXEmitter", "Sound Emitter" ); + %this.addCreatorClass( "TerrainBlock", "Terrain Block" ); + %this.addCreatorClass( "VolumetricFog", "Volumetric Fog" ); + %this.addCreatorClass( "TimeOfDay", "Time of Day" ); + %this.addCreatorClass( "WaterBlock", "Water Block" ); + %this.addCreatorClass( "WaterPlane", "Water Plane" ); + %this.addCreatorClass( "ForestWindEmitter", "Wind Emitter" ); + %this.endCreatorGroup(); + + %this.beginCreatorGroup( "ExampleObjects" ); + %this.addCreatorClass( "RenderMeshExample" ); + %this.addCreatorClass( "RenderObjectExample" ); + %this.addCreatorClass( "RenderShapeExample" ); + %this.endCreatorGroup(); + + %this.beginCreatorGroup( "Level" ); + %this.addCreatorClass("Camera" ); + %this.addCreatorClass("GroundPlane", "Ground Plane" ); + %this.addCreatorClass("LevelInfo", "Level Info" ); + %this.addCreatorClass("Marker", "Path Node" ); + %this.addCreatorClass("MissionArea", "Mission Area" ); + %this.addCreatorClass("Note", "Note" ); + %this.addCreatorClass("Path" ); + %this.addCreatorClass("SpawnSphere", "General Spawn Sphere" ); + %this.addCreatorClass("SpawnSphere", "Player Spawn Sphere"/*, "PlayerDropPoint"*/ ); + %this.addCreatorClass("SpawnSphere", "Observer Spawn Sphere"/*, "ObserverDropPoint"*/ ); + %this.addCreatorClass("VPath", "Verve Path" ); + %this.endCreatorGroup(); + + %this.beginCreatorGroup( "Lighting" ); + %this.addCreatorClass( "BoxEnvironmentProbe", "Box Env. Probe" ); + %this.addCreatorClass( "PointLight", "Point Light" ); + %this.addCreatorClass( "Skylight", "Skylight" ); + %this.addCreatorClass( "SphereEnvironmentProbe", "Sphere Env. Probe" ); + %this.addCreatorClass( "SpotLight", "Spot Light" ); + %this.addCreatorClass( "Sun", "Basic Sun" ); + %this.endCreatorGroup(); + + %this.beginCreatorGroup( "Navigation" ); + %this.addCreatorClass( "AIPathGroup" ); + %this.addCreatorClass( "CoverPoint", "Cover Point" ); + %this.addCreatorClass( "NavMesh", "Navigation Mesh" ); + %this.addCreatorClass( "NavPath", "Navigation Path" ); + %this.endCreatorGroup(); + + %this.beginCreatorGroup( "System" ); + %this.addCreatorClass( "SimGroup" ); + %this.endCreatorGroup(); + + %this.beginCreatorGroup( "Volumes" ); + %this.addCreatorClass("AccumulationVolume", "Accumulation Volume" ); + %this.addCreatorClass("OcclusionVolume", "Occlusion Volume" ); + %this.addCreatorClass("PhysicalZone", "Physical Zone" ); + %this.addCreatorClass("Portal", "Zone Portal" ); + %this.addCreatorClass("SFXSpace", "Sound Space" ); + %this.addCreatorClass("Trigger" ); + %this.addCreatorClass("Zone", "Zone" ); + %this.endCreatorGroup(); + + + + //Gui Editor Creator Groups + %controls = enumerateConsoleClassesByCategory( "Gui" ); + %guiClasses = new ArrayObject(); + + foreach$( %className in %controls ) + { + if( GuiEditor.isFilteredClass( %className ) + || !isMemberOfClass( %className, "GuiControl" ) ) + continue; + + %category = getWord( getCategoryOfClass( %className ), 1 ); + if( %category $= "" ) + continue; + + %guiClasses.add(%category, %className); + } + + %guiCats.sortk(true); + %guiClasses.sortk(true); + + %guiClasses.echo(); + + %currentCat = ""; + for(%i=0; %i < %guiClasses.count(); %i++) + { + %guiCat = %guiClasses.getKey(%i); + if(%currentCat !$= %guiCat) + { + if(%currentCat !$= "") + %this.endCreatorGroup(); + + %this.beginCreatorGroup( %guiCat, "GuiEditor" ); + %currentCat = %guiCat; + } + + %guiClass = %guiClasses.getValue(%i); + %this.addCreatorClass( %guiClass ); + } + + %this.endCreatorGroup(); + + %this.creatorClassArray.sortk(true); + %this.creatorClassArray.sort(true); + + %guiClasses.delete(); +} + +function AssetBrowser::beginCreatorGroup(%this, %group, %editor) +{ + if(%editor $= "") + %editor = "WorldEditor"; + + if((GuiEditorIsActive() && %editor $= "GuiEditor") || (EditorIsActive() && %editor $= "WorldEditor")) + { + AssetBrowser-->filterTree.insertItem(AssetBrowser-->filterTree.creatorIdx, %group); + } + + %this.currentCreatorGroup = %group; + + AssetBrowserCreatorGroupsList.add(%editor, %group); +} + +function AssetBrowser::endCreatorGroup(%this, %group) +{ + %this.currentCreatorGroup = ""; +} + +function AssetBrowser::addCreatorClass(%this, %class, %name, %buildfunc) +{ + if( !isClass(%class) ) + return; + + if ( %name $= "" ) + %name = %class; + + if ( %this.currentCreatorGroup !$= "" && %group $= "" ) + %group = %this.currentCreatorGroup; + + if ( %class $= "" || %group $= "" ) + { + warn( "AssetBrowser::addCreatorClass, invalid parameters!" ); + return; + } + + if(%buildfunc $= "") + { + %method = "build" @ %buildfunc; + if( !ObjectBuilderGui.isMethod( %method ) ) + %method = "build" @ %class; + + if( !ObjectBuilderGui.isMethod( %method ) ) + %cmd = "return new " @ %class @ "();"; + else + %cmd = "ObjectBuilderGui." @ %method @ "();"; + + %buildfunc = "ObjectBuilderGui.newObjectCallback = \"AssetBrowser.onFinishCreateObject\"; EWCreatorWindow.createObject( \"" @ %cmd @ "\" );"; + } + + %args = new ScriptObject(); + %args.val[0] = %class; + %args.val[1] = %name; + %args.val[2] = %buildfunc; + + %this.creatorClassArray.push_back( %group, %args ); +} \ No newline at end of file diff --git a/Templates/BaseGame/game/tools/assetBrowser/scripts/profiles.tscript b/Templates/BaseGame/game/tools/assetBrowser/scripts/profiles.tscript index 5010d6cd0..b8825155e 100644 --- a/Templates/BaseGame/game/tools/assetBrowser/scripts/profiles.tscript +++ b/Templates/BaseGame/game/tools/assetBrowser/scripts/profiles.tscript @@ -24,4 +24,67 @@ singleton GuiControlProfile(AssetBrowserPreviewShapeAsset : ToolsGuiDefaultProfi border = true; borderColor = "0 0 200 255"; borderColorNA = "0 0 200 255"; +}; + +singleton GuiControlProfile(AssetBrowserPreviewShapeAnimationAsset : ToolsGuiDefaultProfile) +{ + fillColor = "128 128 128 255"; //hovered/selected + + border = true; + borderColor = "0 0 200 255"; + borderColorNA = "0 0 200 255"; +}; + +singleton GuiControlProfile(AssetBrowserPreviewSoundAsset : ToolsGuiDefaultProfile) +{ + fillColor = "128 128 128 255"; //hovered/selected + + border = true; + borderColor = "75 101 135 255"; + borderColorNA = "75 101 135 255"; +}; + +singleton GuiControlProfile(AssetBrowserPreviewTerrainAsset : ToolsGuiDefaultProfile) +{ + fillColor = "128 128 128 255"; //hovered/selected + + border = true; + borderColor = "200 198 198 255"; + borderColorNA = "200 198 198 255"; +}; + +singleton GuiControlProfile(AssetBrowserPreviewTerrainMaterialAsset : ToolsGuiDefaultProfile) +{ + fillColor = "128 128 128 255"; //hovered/selected + + border = true; + borderColor = "200 198 198 255"; + borderColorNA = "200 198 198 255"; +}; + +singleton GuiControlProfile(AssetBrowserPreviewStateMachineAsset : ToolsGuiDefaultProfile) +{ + fillColor = "128 128 128 255"; //hovered/selected + + border = true; + borderColor = "0 76 135 255"; + borderColorNA = "0 76 135 255"; +}; + +singleton GuiControlProfile(AssetBrowserPreviewGUIAsset : ToolsGuiDefaultProfile) +{ + fillColor = "128 128 128 255"; //hovered/selected + + border = true; + borderColor = "17 5 44 255"; + borderColorNA = "17 5 44 255"; +}; + +singleton GuiControlProfile(AssetBrowserPreviewLevelAsset : ToolsGuiDefaultProfile) +{ + fillColor = "128 128 128 255"; //hovered/selected + + border = true; + borderColor = "0 208 186 255"; + borderColorNA = "0 208 186 255"; }; \ No newline at end of file diff --git a/Templates/BaseGame/game/tools/gui/editorSettingsWindow.ed.tscript b/Templates/BaseGame/game/tools/gui/editorSettingsWindow.ed.tscript index 3b41dca16..07b3e12b2 100644 --- a/Templates/BaseGame/game/tools/gui/editorSettingsWindow.ed.tscript +++ b/Templates/BaseGame/game/tools/gui/editorSettingsWindow.ed.tscript @@ -289,6 +289,11 @@ function ESettingsWindow::getAxisSettings(%this) function ESettingsWindow::getGeneralSettings(%this) { + SettingsInspector.startGroup("Level Load"); + SettingsInspector.addSettingsField("WorldEditor/LevelLoad/LoadMode", "Editor Startup Scene", "list", "When the editor loads, this setting dictates what scene is loaded first", + "Last Edited Level,Editor Default Scene"); + SettingsInspector.endGroup(); + SettingsInspector.startGroup("Autosave"); SettingsInspector.addSettingsField("WorldEditor/AutosaveInterval", "Autosave Interval(in minutes)", "int", ""); SettingsInspector.endGroup(); diff --git a/Templates/BaseGame/game/tools/gui/images/tab-border.png b/Templates/BaseGame/game/tools/gui/images/tab_border.png similarity index 100% rename from Templates/BaseGame/game/tools/gui/images/tab-border.png rename to Templates/BaseGame/game/tools/gui/images/tab_border.png diff --git a/Templates/BaseGame/game/tools/gui/images/tab_border_image.asset.taml b/Templates/BaseGame/game/tools/gui/images/tab_border_image.asset.taml index 9d4db0d2d..c5f250a2d 100644 --- a/Templates/BaseGame/game/tools/gui/images/tab_border_image.asset.taml +++ b/Templates/BaseGame/game/tools/gui/images/tab_border_image.asset.taml @@ -2,7 +2,7 @@ canSave="true" canSaveDynamicFields="true" AssetName="tab_border_image" - imageFile="@assetFile=tab-border.png" + imageFile="@assetFile=tab_border.png" UseMips="true" isHDRImage="false" imageType="Albedo" /> diff --git a/Templates/BaseGame/game/tools/guiEditor/scripts/guiEditor.ed.tscript b/Templates/BaseGame/game/tools/guiEditor/scripts/guiEditor.ed.tscript index 3c5d36d89..2a9717571 100644 --- a/Templates/BaseGame/game/tools/guiEditor/scripts/guiEditor.ed.tscript +++ b/Templates/BaseGame/game/tools/guiEditor/scripts/guiEditor.ed.tscript @@ -670,16 +670,21 @@ function GuiEditor::onControlDropped(%this, %payload, %position) { // Make sure we have the right kind of D&D. - if( !%payload.parentGroup.isInNamespaceHierarchy( "GuiDragAndDropControlType_GuiControl" ) ) + if( !%payload.parentGroup.isInNamespaceHierarchy( "GuiDragAndDropControlType_GuiControl" ) && + !%payload.parentGroup.isInNamespaceHierarchy( "AssetPreviewControlType_AssetDrop" )) return; %pos = %payload.getGlobalPosition(); %x = getWord(%pos, 0); %y = getWord(%pos, 1); - %this.addNewCtrl(%payload); + %asset = %payload.assetName; + %cmd = "return new " @ %asset @ "();"; + %ctrl = eval( %cmd ); + + %this.addNewCtrl(%ctrl); - %payload.setPositionGlobal(%x, %y); + %ctrl.setPositionGlobal(%x, %y); %this.setFirstResponder(); } @@ -844,6 +849,8 @@ function GuiEditorTabBook::onWake( %this ) item[ 0 ] = "Alphabetical View" TAB "" TAB "GuiEditorToolbox.setViewType( \"Alphabetical\" );"; item[ 1 ] = "Categorized View" TAB "" TAB "GuiEditorToolbox.setViewType( \"Categorized\" );"; }; + + GlobalActionMap.bindCmd( keyboard, space, "", "AssetBrowser.toggleDialog();" ); } //--------------------------------------------------------------------------------------------- @@ -1008,6 +1015,8 @@ function GuiEditorGui::onWake( %this ) function GuiEditorGui::onSleep( %this) { + GlobalActionMap.unbind( keyboard, space ); + // If we are editing a control, store its guide state. %content = GuiEditor.getContentControl(); diff --git a/Templates/BaseGame/game/tools/main.tscript b/Templates/BaseGame/game/tools/main.tscript index 99c8e01ff..7e613bc31 100644 --- a/Templates/BaseGame/game/tools/main.tscript +++ b/Templates/BaseGame/game/tools/main.tscript @@ -278,7 +278,35 @@ function fastLoadWorldEdit(%val) if( !$missionRunning ) { + if(EditorSettings.value("WorldEditor/LevelLoad/LoadMode", "Editor Default Scene") $= "Editor Default Scene") + { EditorNewLevel("ToolsModule:DefaultEditorLevel"); + } + else + { + //go back through our recent levels list to find the most recent valid editor level. + //if NONE work, then just load the default editor scene + %recentLevels = EditorSettings.value("WorldEditor/recentLevelsList"); + %recentCount = getTokenCount(%recentLevels, ","); + %loadedScene = false; + + for(%i=0; %i < %recentCount; %i++) + { + %recentEntry = getToken(%recentLevels, ",", %i); + + if(AssetDatabase.isDeclaredAsset(%recentEntry)) + { + EditorOpenMission(%recentEntry); + %loadedScene = true; + break; + } + } + + if(!%loadedScene) + { + EditorNewLevel("ToolsModule:DefaultEditorLevel"); + } + } } else { diff --git a/Templates/BaseGame/game/tools/shapeEditor/scripts/shapeEditor.ed.tscript b/Templates/BaseGame/game/tools/shapeEditor/scripts/shapeEditor.ed.tscript index 987ff1640..17e617862 100644 --- a/Templates/BaseGame/game/tools/shapeEditor/scripts/shapeEditor.ed.tscript +++ b/Templates/BaseGame/game/tools/shapeEditor/scripts/shapeEditor.ed.tscript @@ -315,7 +315,7 @@ function ShapeEditor::selectShape( %this, %shapeAsset, %saveOld ) ShapeEditor.shape = findShapeConstructorByAssetId( %shapeAsset.getAssetId() ); if ( ShapeEditor.shape <= 0 ) { - ShapeEditor.shape = %this.createConstructor( %shapeAsset ); + ShapeEditor.shape = %this.createConstructor( %shapeAsset.getAssetId() ); if ( ShapeEditor.shape <= 0 ) { error( "ShapeEditor: Error - could not select " @ %shapeAsset.getAssetId() ); @@ -2336,7 +2336,7 @@ function ShapeEdMaterials::updateSelectedMaterial( %this, %highlight ) %this.savedMap = %this.selectedMaterial.diffuseMap[1]; if ( %highlight && isObject( %this.selectedMaterial ) ) { - %this.selectedMaterial.diffuseMap[1] = "tools/shapeEditor/images/highlight_material"; + %this.selectedMaterial.setDiffuseMap("ToolsModule:highlight_material_image", 1); %this.selectedMaterial.reload(); } } @@ -3066,7 +3066,7 @@ function ShapeEditor::addLODFromFile( %this, %dest, %assetId, %size, %allowUnmat %source = findShapeConstructorByAssetId( %assetId ); if ( %source == -1 ) - %source = ShapeEditor.createConstructor( %filename ); + %source = ShapeEditor.createConstructor( %assetId ); %source.lodType = "SingleSize"; %source.singleDetailSize = %size; From b9c071b9fdb9c71c4b9f72d69f88a8bbd96c941a Mon Sep 17 00:00:00 2001 From: Areloch Date: Fri, 10 Sep 2021 15:14:57 -0500 Subject: [PATCH 2/3] Cleanup mismerge lines --- Engine/source/T3D/assets/assetImporter.cpp | 2 -- 1 file changed, 2 deletions(-) diff --git a/Engine/source/T3D/assets/assetImporter.cpp b/Engine/source/T3D/assets/assetImporter.cpp index 380c9bcd6..5df1ca8ab 100644 --- a/Engine/source/T3D/assets/assetImporter.cpp +++ b/Engine/source/T3D/assets/assetImporter.cpp @@ -2433,8 +2433,6 @@ void AssetImporter::importAssets(AssetImportObject* assetItem) if (!refreshSuccess) { - const char* importReturnVal = Con::executef(this, processCommand.c_str(), childItem).getString(); - assetPath = Torque::Path(importReturnVal); dSprintf(importLogBuffer, sizeof(importLogBuffer), "AssetImporter::importAssets - Failed to refresh reimporting asset %s.", item->assetName.c_str()); activityLog.push_back(importLogBuffer); } From 140c575f474b308999d5b8136ffb310b69b99b16 Mon Sep 17 00:00:00 2001 From: Areloch Date: Fri, 10 Sep 2021 16:23:00 -0500 Subject: [PATCH 3/3] Minor corrections for localvar issues --- .../game/tools/assetBrowser/scripts/assetTypes/shape.tscript | 2 +- .../BaseGame/game/tools/assetBrowser/scripts/creator.tscript | 4 +--- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/shape.tscript b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/shape.tscript index 7764376b4..89f981438 100644 --- a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/shape.tscript +++ b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/shape.tscript @@ -375,7 +375,7 @@ function GuiInspectorTypeShapeAssetPtr::onControlDropped( %this, %payload, %posi %module = %payload.moduleName; %asset = %payload.assetName; - %oldValue = %targetObject.shapeAsset; + %oldValue = %this.targetObject.shapeAsset; %arrayIndex = ""; %targetObject = %this.targetObject; diff --git a/Templates/BaseGame/game/tools/assetBrowser/scripts/creator.tscript b/Templates/BaseGame/game/tools/assetBrowser/scripts/creator.tscript index 1c04ea1b7..d2254ee12 100644 --- a/Templates/BaseGame/game/tools/assetBrowser/scripts/creator.tscript +++ b/Templates/BaseGame/game/tools/assetBrowser/scripts/creator.tscript @@ -104,7 +104,6 @@ function AssetBrowser::loadCreatorClasses(%this) %guiClasses.add(%category, %className); } - %guiCats.sortk(true); %guiClasses.sortk(true); %guiClasses.echo(); @@ -162,8 +161,7 @@ function AssetBrowser::addCreatorClass(%this, %class, %name, %buildfunc) if ( %name $= "" ) %name = %class; - if ( %this.currentCreatorGroup !$= "" && %group $= "" ) - %group = %this.currentCreatorGroup; + %group = %this.currentCreatorGroup; if ( %class $= "" || %group $= "" ) {