mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-15 16:44:36 +00:00
Merge pull request #759 from Areloch/Misc20220405
Misc Fixes 2022/04/05
This commit is contained in:
commit
cf68986a32
12 changed files with 207 additions and 111 deletions
|
|
@ -60,6 +60,7 @@ RenderMeshExample::RenderMeshExample()
|
||||||
mTypeMask |= StaticObjectType | StaticShapeObjectType;
|
mTypeMask |= StaticObjectType | StaticShapeObjectType;
|
||||||
|
|
||||||
INIT_ASSET(Material);
|
INIT_ASSET(Material);
|
||||||
|
mMaterialInst = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
RenderMeshExample::~RenderMeshExample()
|
RenderMeshExample::~RenderMeshExample()
|
||||||
|
|
|
||||||
|
|
@ -59,6 +59,7 @@ RenderShapeExample::RenderShapeExample()
|
||||||
mTypeMask |= StaticObjectType | StaticShapeObjectType;
|
mTypeMask |= StaticObjectType | StaticShapeObjectType;
|
||||||
|
|
||||||
// Make sure to initialize our TSShapeInstance to NULL
|
// Make sure to initialize our TSShapeInstance to NULL
|
||||||
|
INIT_ASSET(Shape);
|
||||||
mShapeInstance = NULL;
|
mShapeInstance = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -616,3 +616,9 @@ void ExplodePrefabUndoAction::redo()
|
||||||
name = Sim::getUniqueName( name );
|
name = Sim::getUniqueName( name );
|
||||||
mGroup->assignName( name );
|
mGroup->assignName( name );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
DefineEngineMethod(Prefab, getChildGroup, S32, (),,
|
||||||
|
"")
|
||||||
|
{
|
||||||
|
return object->getChildGroup();
|
||||||
|
}
|
||||||
|
|
|
||||||
|
|
@ -102,6 +102,13 @@ public:
|
||||||
|
|
||||||
virtual void getUtilizedAssets(Vector<StringTableEntry>* usedAssetsList);
|
virtual void getUtilizedAssets(Vector<StringTableEntry>* usedAssetsList);
|
||||||
|
|
||||||
|
S32 getChildGroup() {
|
||||||
|
if (mChildGroup.isValid())
|
||||||
|
return mChildGroup->getId();
|
||||||
|
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
protected:
|
protected:
|
||||||
|
|
||||||
void _closeFile( bool removeFileNotify );
|
void _closeFile( bool removeFileNotify );
|
||||||
|
|
|
||||||
|
|
@ -557,16 +557,20 @@ void GuiShapeEdPreview::refreshThreadSequences()
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// MOUNTING
|
// MOUNTING
|
||||||
|
|
||||||
bool GuiShapeEdPreview::mountShape(const char* modelName, const char* nodeName, const char* mountType, S32 slot)
|
bool GuiShapeEdPreview::mountShape(const char* shapeAssetId, const char* nodeName, const char* mountType, S32 slot)
|
||||||
{
|
{
|
||||||
if ( !modelName || !modelName[0] )
|
if ( !shapeAssetId || !shapeAssetId[0] )
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
Resource<TSShape> model = ResourceManager::get().load( modelName );
|
if (!AssetDatabase.isDeclaredAsset(shapeAssetId))
|
||||||
if ( !bool( model ) )
|
|
||||||
return false;
|
return false;
|
||||||
|
|
||||||
TSShapeInstance* tsi = new TSShapeInstance( model, true );
|
ShapeAsset* model = AssetDatabase.acquireAsset<ShapeAsset>(shapeAssetId);
|
||||||
|
|
||||||
|
if (model == nullptr || !model->getShapeResource())
|
||||||
|
return false;
|
||||||
|
|
||||||
|
TSShapeInstance* tsi = new TSShapeInstance(model->getShapeResource(), true );
|
||||||
|
|
||||||
if ( slot == -1 )
|
if ( slot == -1 )
|
||||||
{
|
{
|
||||||
|
|
@ -1864,14 +1868,14 @@ DefineEngineMethod( GuiShapeEdPreview, refreshThreadSequences, void, (),,
|
||||||
|
|
||||||
//-----------------------------------------------------------------------------
|
//-----------------------------------------------------------------------------
|
||||||
// Mounting
|
// Mounting
|
||||||
DefineEngineMethod( GuiShapeEdPreview, mountShape, bool, ( const char* shapePath, const char* nodeName, const char* type, S32 slot ),,
|
DefineEngineMethod( GuiShapeEdPreview, mountShape, bool, ( const char* shapeAssetId, const char* nodeName, const char* type, S32 slot ),,
|
||||||
"Mount a shape onto the main shape at the specified node\n\n"
|
"Mount a shape onto the main shape at the specified node\n\n"
|
||||||
"@param shapePath path to the shape to mount\n"
|
"@param shapeAssetId AssetId of the shape to mount\n"
|
||||||
"@param nodeName name of the node on the main shape to mount to\n"
|
"@param nodeName name of the node on the main shape to mount to\n"
|
||||||
"@param type type of mounting to use (Object, Image or Wheel)\n"
|
"@param type type of mounting to use (Object, Image or Wheel)\n"
|
||||||
"@param slot mount slot\n" )
|
"@param slot mount slot\n" )
|
||||||
{
|
{
|
||||||
return object->mountShape( shapePath, nodeName, type, slot );
|
return object->mountShape(shapeAssetId, nodeName, type, slot );
|
||||||
}
|
}
|
||||||
|
|
||||||
DefineEngineMethod( GuiShapeEdPreview, setMountNode, void, ( S32 slot, const char* nodeName ),,
|
DefineEngineMethod( GuiShapeEdPreview, setMountNode, void, ( S32 slot, const char* nodeName ),,
|
||||||
|
|
|
||||||
|
|
@ -1212,6 +1212,86 @@ function AssetBrowser::openAssetSettings(%this)
|
||||||
ESettingsWindowList.setSelectedRow( %assetEditIndex );
|
ESettingsWindowList.setSelectedRow( %assetEditIndex );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function ESettingsWindow::getAssetManagementSettings(%this)
|
||||||
|
{
|
||||||
|
SettingsInspector.startGroup("Modules");
|
||||||
|
SettingsInspector.addSettingsField("AssetManagement/Modules/coreModulePath", "Core Module Path", "string", "");
|
||||||
|
SettingsInspector.addSettingsField("AssetManagement/Modules/gameDataModulePath", "Game Data Module Path", "string", "");
|
||||||
|
SettingsInspector.addSettingsField("AssetManagement/Modules/moduleExtension", "Module Extension", "string", "");
|
||||||
|
|
||||||
|
%moduleList = ModuleDatabase.findModules(true);
|
||||||
|
%moduleList = strreplace(%moduleList, " ", ",");
|
||||||
|
|
||||||
|
SettingsInspector.addSettingsField("AssetManagement/Modules/DefaultModule", "Default Module", "list", %moduleList);
|
||||||
|
SettingsInspector.endGroup();
|
||||||
|
|
||||||
|
SettingsInspector.startGroup("Assets");
|
||||||
|
SettingsInspector.addSettingsField("AssetManagement/Assets/assetExtension", "Asset Extension", "string", "");
|
||||||
|
SettingsInspector.addSettingsField("AssetManagement/Assets/datablockCaching", "Cache Datablocks", "bool", "");
|
||||||
|
//SettingsInspector.addSettingsField("AssetManagement/Assets/moduleExtension", "Module Extension", "string", "");
|
||||||
|
|
||||||
|
SettingsInspector.endGroup();
|
||||||
|
}
|
||||||
|
|
||||||
|
function ESettingsWindow::getAssetEditingSettings(%this)
|
||||||
|
{
|
||||||
|
ImportAssetWindow::reloadImportOptionConfigs();
|
||||||
|
|
||||||
|
//First, get our list of modules
|
||||||
|
%moduleList = ModuleDatabase.findModules();
|
||||||
|
%formattedModuleList = "";
|
||||||
|
|
||||||
|
%count = getWordCount(%moduleList);
|
||||||
|
for(%i=0; %i < %count; %i++)
|
||||||
|
{
|
||||||
|
%module = getWord(%moduleList, %i);
|
||||||
|
if(%module.group !$= "Tools" && %module.group !$= "Core")
|
||||||
|
{
|
||||||
|
if(%formattedModuleList $= "")
|
||||||
|
%formattedModuleList = %module.moduleId;
|
||||||
|
else
|
||||||
|
%formattedModuleList = %formattedModuleList @ "," @ %module.moduleId;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
SettingsInspector.startGroup("Asset Creation");
|
||||||
|
SettingsInspector.addSettingsField("Assets/New/defaultModule", "Default Module", "list", "Default Module for new assets to be created into", %formattedModuleList);
|
||||||
|
SettingsInspector.addSettingsField("Assets/New/alwaysPromptModuleTarget", "Always Prompt Target Module", "bool", "If off, use the default module");
|
||||||
|
SettingsInspector.endGroup();
|
||||||
|
|
||||||
|
%formattedConfigList = "";
|
||||||
|
for(%i=0; %i < ImportAssetWindow.importConfigsList.Count(); %i++)
|
||||||
|
{
|
||||||
|
%configName = ImportAssetWindow.importConfigsList.getKey(%i);
|
||||||
|
%formattedConfigList = %i == 0 ? %configName : %formattedConfigList @ "," @ %configName;
|
||||||
|
}
|
||||||
|
|
||||||
|
SettingsInspector.startGroup("Assets Importing");
|
||||||
|
SettingsInspector.addField("Edit Import Configs", "Edit Asset Import Configs", "button", "Open Asset Import Config Editor", "", "Canvas.pushDialog(AssetImportConfigEditor);");
|
||||||
|
SettingsInspector.addSettingsField("Assets/AssetImporDefaultConfig", "Default Asset Import Config", "list", "", %formattedConfigList);
|
||||||
|
SettingsInspector.addSettingsField("Assets/AutoImport", "Automatically Import using default config", "bool", "If on, the asset importing process" @
|
||||||
|
"will attempt to automatically import any inbound assets"@
|
||||||
|
"using the default config, without prompting the import window."@
|
||||||
|
"The window will still display if any issues are detected", "");
|
||||||
|
SettingsInspector.addSettingsField("Assets/AutoImportLooseFiles", "Automatically Import Loose Files", "bool", "If on, will automatically import unassociated loose files in assets when navigating the Asset Browser.", "");
|
||||||
|
SettingsInspector.endGroup();
|
||||||
|
|
||||||
|
SettingsInspector.startGroup("Asset Browser");
|
||||||
|
SettingsInspector.addSettingsField("Assets/Browser/showCoreModule", "Show Core Module in Asset Browser", "bool", "");
|
||||||
|
SettingsInspector.addSettingsField("Assets/Browser/showToolsModule", "Show Tools Module in Asset Browser", "bool", "");
|
||||||
|
SettingsInspector.addSettingsField("Assets/Browser/showOnlyPopulatedModule", "Show Only Modules with Assets in Asset Browser", "bool", "");
|
||||||
|
SettingsInspector.addSettingsField("Assets/Browser/showFolders", "Show Folders in Tiles view in Asset Browser", "bool", "");
|
||||||
|
SettingsInspector.addSettingsField("Assets/Browser/showEmptyFolders", "Show Empty Folders in Tiles view in Asset Browser", "bool", "");
|
||||||
|
SettingsInspector.addSettingsField("Assets/Browser/showLooseFiles", "Show Loose Files when viewing in Asset Browser", "bool", "");
|
||||||
|
SettingsInspector.addSettingsField("AssetManagement/Assets/promptOnRename", "Prompt on Rename", "bool", "");
|
||||||
|
SettingsInspector.addSettingsField("Assets/Browser/doubleClickAction", "Double Click Action", "list", "Dictates what sort of action double clicking on an asset in the Browser will invoke", "Edit Asset,Spawn Asset");
|
||||||
|
SettingsInspector.addSettingsField("AssetManagement/Assets/closeBrowserOnDragAction", "Close Browser on Drag Action", "bool", "If on, the Asset Browser will automatically close after dragging an asset from it to the editor interface.");
|
||||||
|
SettingsInspector.endGroup();
|
||||||
|
}
|
||||||
|
//
|
||||||
|
//
|
||||||
|
//
|
||||||
|
|
||||||
function AssetBrowser::showVisibiltyOptions(%this)
|
function AssetBrowser::showVisibiltyOptions(%this)
|
||||||
{
|
{
|
||||||
BrowserVisibilityPopup.showPopup(Canvas);
|
BrowserVisibilityPopup.showPopup(Canvas);
|
||||||
|
|
|
||||||
|
|
@ -50,9 +50,9 @@ function AssetBrowser::loadCreatorClasses(%this)
|
||||||
%this.addCreatorClass("MissionArea", "Mission Area" );
|
%this.addCreatorClass("MissionArea", "Mission Area" );
|
||||||
%this.addCreatorClass("NotesObject", "Note" );
|
%this.addCreatorClass("NotesObject", "Note" );
|
||||||
%this.addCreatorClass("Path" );
|
%this.addCreatorClass("Path" );
|
||||||
%this.addCreatorClass("SpawnSphere", "General Spawn Sphere" );
|
%this.addCreatorClass("SpawnSphere", "General Spawn Sphere", "GeneralDropPoint" );
|
||||||
%this.addCreatorClass("SpawnSphere", "Player Spawn Sphere"/*, "PlayerDropPoint"*/ );
|
%this.addCreatorClass("SpawnSphere", "Player Spawn Sphere", "PlayerDropPoint" );
|
||||||
%this.addCreatorClass("SpawnSphere", "Observer Spawn Sphere"/*, "ObserverDropPoint"*/ );
|
%this.addCreatorClass("SpawnSphere", "Observer Spawn Sphere", "ObserverDropPoint" );
|
||||||
%this.addCreatorClass("VPath", "Verve Path" );
|
%this.addCreatorClass("VPath", "Verve Path" );
|
||||||
%this.endCreatorGroup();
|
%this.endCreatorGroup();
|
||||||
|
|
||||||
|
|
@ -168,6 +168,7 @@ function AssetBrowser::addCreatorClass(%this, %class, %name, %buildfunc)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
%cmd = "";
|
||||||
if(%buildfunc $= "")
|
if(%buildfunc $= "")
|
||||||
{
|
{
|
||||||
%method = "build" @ %buildfunc;
|
%method = "build" @ %buildfunc;
|
||||||
|
|
@ -178,9 +179,13 @@ function AssetBrowser::addCreatorClass(%this, %class, %name, %buildfunc)
|
||||||
%cmd = "new " @ %class @ "();";
|
%cmd = "new " @ %class @ "();";
|
||||||
else
|
else
|
||||||
%cmd = "ObjectBuilderGui." @ %method @ "();";
|
%cmd = "ObjectBuilderGui." @ %method @ "();";
|
||||||
|
|
||||||
%buildfunc = "ObjectBuilderGui.newObjectCallback = \"AssetBrowser.onFinishCreateObject\"; ObjectCreator.createObject( \"" @ %cmd @ "\" );";
|
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
%cmd = "ObjectBuilderGui.build" @ %buildfunc @ "();";
|
||||||
|
}
|
||||||
|
|
||||||
|
%buildfunc = "ObjectBuilderGui.newObjectCallback = \"AssetBrowser.onFinishCreateObject\"; ObjectCreator.createObject( \"" @ %cmd @ "\" );";
|
||||||
|
|
||||||
%args = new ScriptObject();
|
%args = new ScriptObject();
|
||||||
%args.val[0] = %class;
|
%args.val[0] = %class;
|
||||||
|
|
|
||||||
|
|
@ -477,3 +477,53 @@ function AssetBrowser::updateAssetReference(%this, %targetPath, %oldAssetId, %ne
|
||||||
lineCache.delete();
|
lineCache.delete();
|
||||||
%fileObj.delete();
|
%fileObj.delete();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function AssetBrowser::openFileLocation(%this)
|
||||||
|
{
|
||||||
|
%filePath = "";
|
||||||
|
if(EditAssetPopup.assetId !$= "")
|
||||||
|
{
|
||||||
|
%filePath = AssetDatabase.getAssetPath(EditAssetPopup.assetId);
|
||||||
|
}
|
||||||
|
else if(EditLevelAssetPopup.assetId !$= "")
|
||||||
|
{
|
||||||
|
%filePath = AssetDatabase.getAssetPath(EditAssetPopup.assetId);
|
||||||
|
}
|
||||||
|
else if(EditTerrainAssetPopup.assetId !$= "")
|
||||||
|
{
|
||||||
|
%filePath = AssetDatabase.getAssetPath(EditAssetPopup.assetId);
|
||||||
|
}
|
||||||
|
|
||||||
|
if(%filePath !$= "")
|
||||||
|
{
|
||||||
|
if($platform $= "windows")
|
||||||
|
{
|
||||||
|
%cmd = "cd \"" @ makeFullPath(%filePath) @ "\" && start .";
|
||||||
|
systemCommand(%cmd);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
%cmd = "open \"" @ makeFullPath(%filePath) @ "\"";
|
||||||
|
systemCommand(%cmd);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function AssetBrowser::openFolderLocation(%this)
|
||||||
|
{
|
||||||
|
%filePath = AssetBrowser.dirHandler.currentAddress;
|
||||||
|
|
||||||
|
if(%filePath !$= "")
|
||||||
|
{
|
||||||
|
if($platform $= "windows")
|
||||||
|
{
|
||||||
|
%cmd = "cd \"" @ makeFullPath(%filePath) @ "\" && start .";
|
||||||
|
systemCommand(%cmd);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
%cmd = "open \"" @ makeFullPath(%filePath) @ "\"";
|
||||||
|
systemCommand(%cmd);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -34,7 +34,9 @@ function AssetBrowser::buildPopupMenus(%this)
|
||||||
item[ 8 ] = "-";
|
item[ 8 ] = "-";
|
||||||
item[ 9 ] = "Re-Import Asset" TAB "" TAB "AssetBrowser.reImportAsset();";
|
item[ 9 ] = "Re-Import Asset" TAB "" TAB "AssetBrowser.reImportAsset();";
|
||||||
item[ 10 ] = "-";
|
item[ 10 ] = "-";
|
||||||
item[ 11 ] = "Delete Asset" TAB "" TAB "AssetBrowser.deleteAsset();";
|
item[ 11 ] = "Open File Location" TAB "" TAB "AssetBrowser.openFileLocation();";
|
||||||
|
item[ 12 ] = "-";
|
||||||
|
item[ 13 ] = "Delete Asset" TAB "" TAB "AssetBrowser.deleteAsset();";
|
||||||
|
|
||||||
jumpFileName = "";
|
jumpFileName = "";
|
||||||
jumpLineNumber = "";
|
jumpLineNumber = "";
|
||||||
|
|
@ -57,9 +59,9 @@ function AssetBrowser::buildPopupMenus(%this)
|
||||||
item[ 5 ] = "-";
|
item[ 5 ] = "-";
|
||||||
Item[ 6 ] = "Duplicate Asset" TAB "" TAB "AssetBrowser.duplicateAsset();";
|
Item[ 6 ] = "Duplicate Asset" TAB "" TAB "AssetBrowser.duplicateAsset();";
|
||||||
item[ 7 ] = "-";
|
item[ 7 ] = "-";
|
||||||
//item[ 8 ] = "Re-Import Asset" TAB "" TAB "AssetBrowser.reImportAsset();";
|
item[ 8 ] = "Open File Location" TAB "" TAB "AssetBrowser.openFileLocation();";
|
||||||
//item[ 9 ] = "-";
|
item[ 9 ] = "-";
|
||||||
item[ 8 ] = "Delete Asset" TAB "" TAB "AssetBrowser.deleteAsset();";
|
item[ 10 ] = "Delete Asset" TAB "" TAB "AssetBrowser.deleteAsset();";
|
||||||
|
|
||||||
jumpFileName = "";
|
jumpFileName = "";
|
||||||
jumpLineNumber = "";
|
jumpLineNumber = "";
|
||||||
|
|
@ -80,7 +82,9 @@ function AssetBrowser::buildPopupMenus(%this)
|
||||||
item[ 3 ] = "-";
|
item[ 3 ] = "-";
|
||||||
Item[ 4 ] = "Duplicate Asset" TAB "" TAB "AssetBrowser.duplicateAsset();";
|
Item[ 4 ] = "Duplicate Asset" TAB "" TAB "AssetBrowser.duplicateAsset();";
|
||||||
item[ 5 ] = "-";
|
item[ 5 ] = "-";
|
||||||
item[ 6 ] = "Delete Asset" TAB "" TAB "AssetBrowser.deleteAsset();";
|
item[ 6 ] = "Open File Location" TAB "" TAB "AssetBrowser.openFileLocation();";
|
||||||
|
item[ 7 ] = "-";
|
||||||
|
item[ 8 ] = "Delete Asset" TAB "" TAB "AssetBrowser.deleteAsset();";
|
||||||
|
|
||||||
jumpFileName = "";
|
jumpFileName = "";
|
||||||
jumpLineNumber = "";
|
jumpLineNumber = "";
|
||||||
|
|
@ -185,6 +189,9 @@ function AssetBrowser::buildPopupMenus(%this)
|
||||||
item[10] = "Create New Module" TAB "" TAB "AssetBrowser.CreateNewModule();";
|
item[10] = "Create New Module" TAB "" TAB "AssetBrowser.CreateNewModule();";
|
||||||
item[11] = "-";
|
item[11] = "-";
|
||||||
item[12] = "View Loose Files" TAB "" TAB "AssetBrowser.importLooseFiles();";
|
item[12] = "View Loose Files" TAB "" TAB "AssetBrowser.importLooseFiles();";
|
||||||
|
Item[ 13 ] = "-";
|
||||||
|
item[ 14 ] = "Open Folder Location" TAB "" TAB "AssetBrowser.openFolderLocation();";
|
||||||
|
|
||||||
|
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
@ -203,11 +210,13 @@ function AssetBrowser::buildPopupMenus(%this)
|
||||||
Item[ 3 ] = "-";
|
Item[ 3 ] = "-";
|
||||||
Item[ 4 ] = "Module Properties" TAB "" TAB "AssetBrowser.editModuleInfo();";
|
Item[ 4 ] = "Module Properties" TAB "" TAB "AssetBrowser.editModuleInfo();";
|
||||||
Item[ 5 ] = "-";
|
Item[ 5 ] = "-";
|
||||||
Item[ 6 ] = "Duplicate Module" TAB "" TAB "AssetBrowser.copyModule();";
|
item[ 6 ] = "Open Folder Location" TAB "" TAB "AssetBrowser.openFolderLocation();";
|
||||||
Item[ 7 ] = "-";
|
item[ 7 ] = "-";
|
||||||
Item[ 8 ] = "Delete Module" TAB "" TAB "AssetBrowser.deleteModule();";
|
Item[ 8 ] = "Duplicate Module" TAB "" TAB "AssetBrowser.copyModule();";
|
||||||
item[ 9 ] = "-";
|
Item[ 9 ] = "-";
|
||||||
item[ 10 ] = "Import Loose Files" TAB "" TAB "AssetBrowser.importLooseFiles();";
|
Item[ 10 ] = "Delete Module" TAB "" TAB "AssetBrowser.deleteModule();";
|
||||||
|
item[ 11 ] = "-";
|
||||||
|
item[ 12 ] = "Import Loose Files" TAB "" TAB "AssetBrowser.importLooseFiles();";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -473,83 +473,6 @@ function ESettingsWindow::getUISettings(%this)
|
||||||
SettingsInspector.endGroup();
|
SettingsInspector.endGroup();
|
||||||
}
|
}
|
||||||
|
|
||||||
function ESettingsWindow::getAssetManagementSettings(%this)
|
|
||||||
{
|
|
||||||
SettingsInspector.startGroup("Modules");
|
|
||||||
SettingsInspector.addSettingsField("AssetManagement/Modules/coreModulePath", "Core Module Path", "string", "");
|
|
||||||
SettingsInspector.addSettingsField("AssetManagement/Modules/gameDataModulePath", "Game Data Module Path", "string", "");
|
|
||||||
SettingsInspector.addSettingsField("AssetManagement/Modules/moduleExtension", "Module Extension", "string", "");
|
|
||||||
|
|
||||||
%moduleList = ModuleDatabase.findModules(true);
|
|
||||||
%moduleList = strreplace(%moduleList, " ", ",");
|
|
||||||
|
|
||||||
SettingsInspector.addSettingsField("AssetManagement/Modules/DefaultModule", "Default Module", "list", %moduleList);
|
|
||||||
SettingsInspector.endGroup();
|
|
||||||
|
|
||||||
SettingsInspector.startGroup("Assets");
|
|
||||||
SettingsInspector.addSettingsField("AssetManagement/Assets/assetExtension", "Asset Extension", "string", "");
|
|
||||||
SettingsInspector.addSettingsField("AssetManagement/Assets/datablockCaching", "Cache Datablocks", "bool", "");
|
|
||||||
//SettingsInspector.addSettingsField("AssetManagement/Assets/moduleExtension", "Module Extension", "string", "");
|
|
||||||
|
|
||||||
SettingsInspector.endGroup();
|
|
||||||
}
|
|
||||||
|
|
||||||
function ESettingsWindow::getAssetEditingSettings(%this)
|
|
||||||
{
|
|
||||||
ImportAssetWindow::reloadImportOptionConfigs();
|
|
||||||
|
|
||||||
//First, get our list of modules
|
|
||||||
%moduleList = ModuleDatabase.findModules();
|
|
||||||
%formattedModuleList = "";
|
|
||||||
|
|
||||||
%count = getWordCount(%moduleList);
|
|
||||||
for(%i=0; %i < %count; %i++)
|
|
||||||
{
|
|
||||||
%module = getWord(%moduleList, %i);
|
|
||||||
if(%module.group !$= "Tools" && %module.group !$= "Core")
|
|
||||||
{
|
|
||||||
if(%formattedModuleList $= "")
|
|
||||||
%formattedModuleList = %module.moduleId;
|
|
||||||
else
|
|
||||||
%formattedModuleList = %formattedModuleList @ "," @ %module.moduleId;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
SettingsInspector.startGroup("Asset Creation");
|
|
||||||
SettingsInspector.addSettingsField("Assets/New/defaultModule", "Default Module", "list", "Default Module for new assets to be created into", %formattedModuleList);
|
|
||||||
SettingsInspector.addSettingsField("Assets/New/alwaysPromptModuleTarget", "Always Prompt Target Module", "bool", "If off, use the default module");
|
|
||||||
SettingsInspector.endGroup();
|
|
||||||
|
|
||||||
%formattedConfigList = "";
|
|
||||||
for(%i=0; %i < ImportAssetWindow.importConfigsList.Count(); %i++)
|
|
||||||
{
|
|
||||||
%configName = ImportAssetWindow.importConfigsList.getKey(%i);
|
|
||||||
%formattedConfigList = %i == 0 ? %configName : %formattedConfigList @ "," @ %configName;
|
|
||||||
}
|
|
||||||
|
|
||||||
SettingsInspector.startGroup("Assets Importing");
|
|
||||||
SettingsInspector.addField("Edit Import Configs", "Edit Asset Import Configs", "button", "Open Asset Import Config Editor", "", "Canvas.pushDialog(AssetImportConfigEditor);");
|
|
||||||
SettingsInspector.addSettingsField("Assets/AssetImporDefaultConfig", "Default Asset Import Config", "list", "", %formattedConfigList);
|
|
||||||
SettingsInspector.addSettingsField("Assets/AutoImport", "Automatically Import using default config", "bool", "If on, the asset importing process" @
|
|
||||||
"will attempt to automatically import any inbound assets"@
|
|
||||||
"using the default config, without prompting the import window."@
|
|
||||||
"The window will still display if any issues are detected", "");
|
|
||||||
SettingsInspector.addSettingsField("Assets/AutoImportLooseFiles", "Automatically Import Loose Files", "bool", "If on, will automatically import unassociated loose files in assets when navigating the Asset Browser.", "");
|
|
||||||
SettingsInspector.endGroup();
|
|
||||||
|
|
||||||
SettingsInspector.startGroup("Asset Browser");
|
|
||||||
SettingsInspector.addSettingsField("Assets/Browser/showCoreModule", "Show Core Module in Asset Browser", "bool", "");
|
|
||||||
SettingsInspector.addSettingsField("Assets/Browser/showToolsModule", "Show Tools Module in Asset Browser", "bool", "");
|
|
||||||
SettingsInspector.addSettingsField("Assets/Browser/showOnlyPopulatedModule", "Show Only Modules with Assets in Asset Browser", "bool", "");
|
|
||||||
SettingsInspector.addSettingsField("Assets/Browser/showFolders", "Show Folders in Tiles view in Asset Browser", "bool", "");
|
|
||||||
SettingsInspector.addSettingsField("Assets/Browser/showEmptyFolders", "Show Empty Folders in Tiles view in Asset Browser", "bool", "");
|
|
||||||
SettingsInspector.addSettingsField("Assets/Browser/showLooseFiles", "Show Loose Files when viewing in Asset Browser", "bool", "");
|
|
||||||
SettingsInspector.addSettingsField("AssetManagement/Assets/promptOnRename", "Prompt on Rename", "bool", "");
|
|
||||||
SettingsInspector.addSettingsField("Assets/Browser/doubleClickAction", "Double Click Action", "list", "Dictates what sort of action double clicking on an asset in the Browser will invoke", "Edit Asset,Spawn Asset");
|
|
||||||
SettingsInspector.addSettingsField("AssetManagement/Assets/closeBrowserOnDragAction", "Close Browser on Drag Action", "bool", "If on, the Asset Browser will automatically close after dragging an asset from it to the editor interface.");
|
|
||||||
SettingsInspector.endGroup();
|
|
||||||
}
|
|
||||||
|
|
||||||
function ESettingsWindow::getGameplaySettings(%this)
|
function ESettingsWindow::getGameplaySettings(%this)
|
||||||
{
|
{
|
||||||
SettingsInspector.startGroup("Game Modes");
|
SettingsInspector.startGroup("Game Modes");
|
||||||
|
|
|
||||||
|
|
@ -1581,8 +1581,19 @@ function ShapeEdSequences::onEditSequenceSource( %this, %from )
|
||||||
%from = rtrim( getFields( %oldSource, 0, 0 ) );
|
%from = rtrim( getFields( %oldSource, 0, 0 ) );
|
||||||
|
|
||||||
if ( getFields( %oldSource, 0, 3 ) !$= ( %from TAB "" TAB %start TAB %end ) )
|
if ( getFields( %oldSource, 0, 3 ) !$= ( %from TAB "" TAB %start TAB %end ) )
|
||||||
|
{
|
||||||
|
%aq = new AssetQuery();
|
||||||
|
%foundAssets = AssetDatabase.findAssetLooseFile(%aq, %from);
|
||||||
|
if(%foundAssets != 0)
|
||||||
|
{
|
||||||
|
//if we have an assetId associated to the file, we're gunna just pass that
|
||||||
|
//through for the edit actions
|
||||||
|
%from = %aq.getAsset(0);
|
||||||
|
}
|
||||||
|
%aq.delete();
|
||||||
ShapeEditor.doEditSeqSource( %seqName, %from, %start, %end );
|
ShapeEditor.doEditSeqSource( %seqName, %from, %start, %end );
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function ShapeEdSequences::onToggleCyclic( %this )
|
function ShapeEdSequences::onToggleCyclic( %this )
|
||||||
|
|
@ -3339,8 +3350,9 @@ function ShapeEdMountShapeMenu::onSelect( %this, %id, %text )
|
||||||
{
|
{
|
||||||
if ( %text $= "Browse..." )
|
if ( %text $= "Browse..." )
|
||||||
{
|
{
|
||||||
// Allow the user to browse for an external model file
|
if(%this.lastPath !$= "")
|
||||||
getLoadFormatFilename( %this @ ".onBrowseSelect", %this.lastPath );
|
AssetBrowser.dirHandler.currentAddress = %this.lastPath;
|
||||||
|
AssetBrowser.showDialog("ShapeAsset", %this @ ".onBrowseSelect");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
|
|
@ -3349,15 +3361,14 @@ function ShapeEdMountShapeMenu::onSelect( %this, %id, %text )
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function ShapeEdMountShapeMenu::onBrowseSelect( %this, %path )
|
function ShapeEdMountShapeMenu::onBrowseSelect( %this, %shapeAssetId )
|
||||||
{
|
{
|
||||||
%path = makeRelativePath( %path, getMainDotCSDir() );
|
%this.lastPath = AssetBrowser.dirHandler.currentAddress;
|
||||||
%this.lastPath = %path;
|
%this.setText( %shapeAssetId );
|
||||||
%this.setText( %path );
|
|
||||||
|
|
||||||
// Add entry if unique
|
// Add entry if unique
|
||||||
if ( %this.findText( %path ) == -1 )
|
if ( %this.findText( %shapeAssetId ) == -1 )
|
||||||
%this.add( %path );
|
%this.add( %shapeAssetId );
|
||||||
|
|
||||||
ShapeEdMountWindow.updateSelectedMount();
|
ShapeEdMountWindow.updateSelectedMount();
|
||||||
}
|
}
|
||||||
|
|
@ -3369,11 +3380,11 @@ function ShapeEdMountWindow::mountShape( %this, %slot )
|
||||||
%type = %this-->mountType.getText();
|
%type = %this-->mountType.getText();
|
||||||
|
|
||||||
if ( %model $= "Browse..." )
|
if ( %model $= "Browse..." )
|
||||||
%model = "core/gameObjects/shapes/octahedron.dts";
|
%model = "Core_GameObjects:octahedron.dts";
|
||||||
|
|
||||||
if ( ShapeEdShapeView.mountShape( %model, %node, %type, %slot ) )
|
if ( ShapeEdShapeView.mountShape( %model, %node, %type, %slot ) )
|
||||||
{
|
{
|
||||||
%rowText = %model TAB fileName( %model ) TAB %node TAB %type;
|
%rowText = %model TAB %node TAB %type;
|
||||||
if ( %slot == -1 )
|
if ( %slot == -1 )
|
||||||
{
|
{
|
||||||
%id = %this.mounts++;
|
%id = %this.mounts++;
|
||||||
|
|
|
||||||
|
|
@ -301,7 +301,6 @@ function ActionEditNodeTransform::undo( %this )
|
||||||
// Add sequence
|
// Add sequence
|
||||||
function onAddAnimationAssetShapeEditor(%selectedAnimation)
|
function onAddAnimationAssetShapeEditor(%selectedAnimation)
|
||||||
{
|
{
|
||||||
echo("SELECTED MUH ASSET");
|
|
||||||
ShapeEditor.doAddSequence(%selectedAnimation, 0, 0, 0);
|
ShapeEditor.doAddSequence(%selectedAnimation, 0, 0, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue