diff --git a/Engine/source/T3D/assets/GUIAsset.cpp b/Engine/source/T3D/assets/GUIAsset.cpp index 7c1aa1d0a..0ecff34ad 100644 --- a/Engine/source/T3D/assets/GUIAsset.cpp +++ b/Engine/source/T3D/assets/GUIAsset.cpp @@ -115,28 +115,28 @@ void GUIAsset::copyTo(SimObject* object) void GUIAsset::initializeAsset() { - mGUIPath = getOwned() ? expandAssetFilePath(mGUIFile) : mGUIPath; - - if (Torque::FS::IsScriptFile(mGUIPath)) - Con::executeFile(mGUIPath, false, false); - mScriptPath = getOwned() ? expandAssetFilePath(mScriptFile) : mScriptPath; if (Torque::FS::IsScriptFile(mScriptPath)) Con::executeFile(mScriptPath, false, false); + + mGUIPath = getOwned() ? expandAssetFilePath(mGUIFile) : mGUIPath; + + if (Torque::FS::IsScriptFile(mGUIPath)) + Con::executeFile(mGUIPath, false, false); } void GUIAsset::onAssetRefresh() { - mGUIPath = getOwned() ? expandAssetFilePath(mGUIFile) : mGUIPath; - - if (Torque::FS::IsScriptFile(mGUIPath)) - Con::executeFile(mGUIPath, false, false); - mScriptPath = getOwned() ? expandAssetFilePath(mScriptFile) : mScriptPath; if (Torque::FS::IsScriptFile(mScriptPath)) Con::executeFile(mScriptPath, false, false); + + mGUIPath = getOwned() ? expandAssetFilePath(mGUIFile) : mGUIPath; + + if (Torque::FS::IsScriptFile(mGUIPath)) + Con::executeFile(mGUIPath, false, false); } void GUIAsset::setGUIFile(const char* pScriptFile) diff --git a/Engine/source/T3D/assets/LevelAsset.cpp b/Engine/source/T3D/assets/LevelAsset.cpp index ab22c7488..f1dc398b0 100644 --- a/Engine/source/T3D/assets/LevelAsset.cpp +++ b/Engine/source/T3D/assets/LevelAsset.cpp @@ -391,6 +391,20 @@ DefineEngineMethod(LevelAsset, getDecalsPath, const char*, (), , return object->getDecalsPath(); } +DefineEngineMethod(LevelAsset, getForestPath, const char*, (), , + "Gets the full path of the asset's defined forest file.\n" + "@return The string result of the forest path") +{ + return object->getForestPath(); +} + +DefineEngineMethod(LevelAsset, getNavmeshPath, const char*, (), , + "Gets the full path of the asset's defined navmesh file.\n" + "@return The string result of the navmesh path") +{ + return object->getNavmeshPath(); +} + DefineEngineMethod(LevelAsset, loadDependencies, void, (), , "Initiates the loading of asset dependencies for this level.") { diff --git a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/level.tscript b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/level.tscript index 07ce53fce..479f3cf87 100644 --- a/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/level.tscript +++ b/Templates/BaseGame/game/tools/assetBrowser/scripts/assetTypes/level.tscript @@ -120,11 +120,12 @@ function AssetBrowser::moveLevelAsset(%this, %assetDef, %destination) if(%newAssetPath $= "") return false; - moveAssetLooseFile(%assetDef.getLevelPath(), %destination); moveAssetLooseFile(%assetDef.getLevelPath(), %destination); moveAssetLooseFile(%assetDef.getPreviewImagePath(), %destination); moveAssetLooseFile(%assetDef.getPostFXPresetPath(), %destination); moveAssetLooseFile(%assetDef.getDecalsPath(), %destination); + moveAssetLooseFile(%assetDef.getForestPath(), %destination); + moveAssetLooseFile(%assetDef.getNavmeshPath(), %destination); AssetDatabase.removeDeclaredAsset(%assetDef.getAssetId()); AssetDatabase.addDeclaredAsset(%targetModule, %newAssetPath); diff --git a/Templates/BaseGame/game/tools/convexEditor/convexEditorGui.tscript b/Templates/BaseGame/game/tools/convexEditor/convexEditorGui.tscript index 0baf0eb70..bc067c746 100644 --- a/Templates/BaseGame/game/tools/convexEditor/convexEditorGui.tscript +++ b/Templates/BaseGame/game/tools/convexEditor/convexEditorGui.tscript @@ -247,4 +247,12 @@ function ConvexEditorDefaultMaterialBtn::gotMaterialName(%this, %name) ConvexEditorOptionsWindow.activeShape.setMaterial(%name); ConvexEditorGui.updateShape(); -} \ No newline at end of file +} + +function ESettingsWindow::getConvexEditorSettings(%this) +{ + SettingsInspector.startGroup("Defaults"); + SettingsInspector.addSettingsField("ConvexEditor/MaterialName", "Default Material", "string", + "The default material when creating a convexShape"); + SettingsInspector.endGroup(); +} diff --git a/Templates/BaseGame/game/tools/gui/editorSettingsWindow.ed.tscript b/Templates/BaseGame/game/tools/gui/editorSettingsWindow.ed.tscript index 52f7ff309..e104dea65 100644 --- a/Templates/BaseGame/game/tools/gui/editorSettingsWindow.ed.tscript +++ b/Templates/BaseGame/game/tools/gui/editorSettingsWindow.ed.tscript @@ -19,12 +19,14 @@ // FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS // IN THE SOFTWARE. //----------------------------------------------------------------------------- - -function ESettingsWindow::startup( %this ) +function ESettingsWindow::onAdd(%this) { new ArrayObject(EditorSettingsPageList); new ArrayObject(GameSettingsPageList); +} +function ESettingsWindow::startup( %this ) +{ %this.addEditorSettingsPage("Axis", "Axis Gizmo"); %this.addEditorSettingsPage("General", "General Settings"); %this.addEditorSettingsPage("Camera", "Camera Settings"); @@ -303,13 +305,6 @@ function ESettingsWindow::getGeneralSettings(%this) //SettingsInspector.addSettingsField("WorldEditor/torsionPath", "Torsion Path", "filename", ""); SettingsInspector.endGroup(); - SettingsInspector.startGroup("Theme"); - SettingsInspector.addSettingsField("WorldEditor/Theme/backgroundColor", "Background Color", "colorI", ""); - SettingsInspector.addSettingsField("WorldEditor/Theme/windowTitleBGColor", "Window Title Color", "colorI", ""); - SettingsInspector.addSettingsField("WorldEditor/Theme/windowTitleFontColor", "Window Title Text Color", "colorI", ""); - SettingsInspector.addSettingsField("WorldEditor/Theme/mainTextColor", "Main Text Color", "colorI", ""); - SettingsInspector.endGroup(); - SettingsInspector.startGroup("Layout"); /*SettingsInspector.addSettingsField("WorldEditor/Layout/LayoutMode", "Editor Layout Mode", "list", "This dictates which layout style the editor should use." @ "WARNING - Modern layout is highlight experimental." @ @@ -327,7 +322,7 @@ function ESettingsWindow::getCameraSettings(%this) //Based on currently loaded level(rootScene) SettingsInspector.startGroup(EditorSettings.value("WorldEditor/newLevelFile") @ " Camera"); SettingsInspector.addSettingsField("Camera/cameraMinSpeed", "Camera Speed Min", "float", ""); - SettingsInspector.addSettingsField("Camera/cameraMaxSpeed", "Camera Speed Max", "200", ""); + SettingsInspector.addSettingsField("Camera/cameraMaxSpeed", "Camera Speed Max", "float", ""); SettingsInspector.endGroup(); } @@ -365,7 +360,8 @@ function ESettingsWindow::getSceneEditorSettings(%this) SettingsInspector.startGroup("Misc"); //SettingsInspector.addSettingsField("WorldEditor/forceLoadDAE", "Force Load DAE", "bool", ""); - SettingsInspector.addSettingsField("WorldEditor/forceLoadDAE", "Force Load DAE", "bool", ""); + SettingsInspector.addSettingsField("WorldEditor/Tools/dropAtScreenCenterScalar", "Screen Center Scalar", "string", ""); + SettingsInspector.addSettingsField("WorldEditor/Tools/dropAtScreenCenterMax", "Screen Center Max", "string", ""); SettingsInspector.endGroup(); SettingsInspector.startGroup("Layout"); @@ -444,6 +440,9 @@ function ESettingsWindow::getPostFXSettings(%this) SettingsInspector.endGroup(); } +function ESettingsWindow::getObjectEditorSettings(%this) +{ +} // // COMMON GAME SETTINGS // diff --git a/Templates/BaseGame/game/tools/meshRoadEditor/main.tscript b/Templates/BaseGame/game/tools/meshRoadEditor/main.tscript index 438133bef..1ff15ebde 100644 --- a/Templates/BaseGame/game/tools/meshRoadEditor/main.tscript +++ b/Templates/BaseGame/game/tools/meshRoadEditor/main.tscript @@ -82,6 +82,8 @@ function MeshRoadEditorPlugin::onWorldEditorStartup( %this ) // Add ourselves to the Editor Settings window exec( "./meshRoadEditorSettingsTab.gui" ); //ESettingsWindow.addTabPage( EMeshRoadEditorSettingsPage ); + + ESettingsWindow.addEditorSettingsPage("MeshRoadEditor", "Mesh Road Editor"); } function MeshRoadEditorPlugin::onActivated( %this ) diff --git a/Templates/BaseGame/game/tools/meshRoadEditor/meshRoadEditorGui.tscript b/Templates/BaseGame/game/tools/meshRoadEditor/meshRoadEditorGui.tscript index 0c8533875..070f7eac1 100644 --- a/Templates/BaseGame/game/tools/meshRoadEditor/meshRoadEditorGui.tscript +++ b/Templates/BaseGame/game/tools/meshRoadEditor/meshRoadEditorGui.tscript @@ -211,6 +211,24 @@ function MeshRoadEditorGui::prepSelectionMode( %this ) ToolsPaletteArray-->MeshRoadEditorSelectMode.setStateOn(1); } +//------------------------------------------------------------------------------ +function ESettingsWindow::getMeshRoadEditorSettings(%this) +{ + SettingsInspector.startGroup("Defaults"); + SettingsInspector.addSettingsField("MeshRoadEditor/DefaultWidth", "Width", "string", ""); + SettingsInspector.addSettingsField("MeshRoadEditor/DefaultDepth", "Depth", "string", ""); + SettingsInspector.addSettingsField("MeshRoadEditor/DefaultNormal", "Normal", "string", ""); + + SettingsInspector.addSettingsField("MeshRoadEditor/TopMaterialName", "Top Material", "string", ""); + SettingsInspector.addSettingsField("MeshRoadEditor/BottomMaterialName", "Bottom Material", "string", ""); + SettingsInspector.addSettingsField("MeshRoadEditor/SideMaterialName", "Side Material", "string", ""); + SettingsInspector.endGroup(); + + SettingsInspector.startGroup("Colors"); + SettingsInspector.addSettingsField("MeshRoadEditor/HoverSplineColor", "Hover Spline", "colorI", ""); + SettingsInspector.addSettingsField("MeshRoadEditor/SelectedSplineColor", "Selected Spline", "colorI", ""); + SettingsInspector.endGroup(); +} //------------------------------------------------------------------------------ function EMeshRoadEditorSelectModeBtn::onClick(%this) { diff --git a/Templates/BaseGame/game/tools/riverEditor/main.tscript b/Templates/BaseGame/game/tools/riverEditor/main.tscript index b8be4ede9..3911b048c 100644 --- a/Templates/BaseGame/game/tools/riverEditor/main.tscript +++ b/Templates/BaseGame/game/tools/riverEditor/main.tscript @@ -82,6 +82,8 @@ function RiverEditorPlugin::onWorldEditorStartup( %this ) // Add ourselves to the Editor Settings window exec( "./RiverEditorSettingsTab.gui" ); //ESettingsWindow.addTabPage( ERiverEditorSettingsPage ); + + ESettingsWindow.addEditorSettingsPage("RiverEditor", "River Editor"); } function RiverEditorPlugin::onActivated( %this ) diff --git a/Templates/BaseGame/game/tools/riverEditor/riverEditorGui.tscript b/Templates/BaseGame/game/tools/riverEditor/riverEditorGui.tscript index bb0f40037..e70c02bbf 100644 --- a/Templates/BaseGame/game/tools/riverEditor/riverEditorGui.tscript +++ b/Templates/BaseGame/game/tools/riverEditor/riverEditorGui.tscript @@ -214,6 +214,20 @@ function RiverEditorGui::prepSelectionMode( %this ) ToolsPaletteArray-->RiverEditorSelectMode.setStateOn(1); } +//------------------------------------------------------------------------------ +function ESettingsWindow::getRiverEditorSettings(%this) +{ + SettingsInspector.startGroup("Defaults"); + SettingsInspector.addSettingsField("RiverEditor/DefaultWidth", "Width", "string", ""); + SettingsInspector.addSettingsField("RiverEditor/DefaultDepth", "Depth", "string", ""); + SettingsInspector.addSettingsField("RiverEditor/DefaultNormal", "Normal", "string", ""); + SettingsInspector.endGroup(); + + SettingsInspector.startGroup("Colors"); + SettingsInspector.addSettingsField("RiverEditor/HoverSplineColor", "Hover Spline", "colorI", ""); + SettingsInspector.addSettingsField("RiverEditor/SelectedSplineColor", "Selected Spline", "colorI", ""); + SettingsInspector.endGroup(); +} //------------------------------------------------------------------------------ function ERiverEditorSelectModeBtn::onClick(%this) { diff --git a/Templates/BaseGame/game/tools/roadEditor/main.tscript b/Templates/BaseGame/game/tools/roadEditor/main.tscript index 4f9e7ad7a..60a0fe538 100644 --- a/Templates/BaseGame/game/tools/roadEditor/main.tscript +++ b/Templates/BaseGame/game/tools/roadEditor/main.tscript @@ -81,6 +81,8 @@ function RoadEditorPlugin::onWorldEditorStartup( %this ) // Add ourselves to the Editor Settings window exec( "./RoadEditorSettingsTab.gui" ); //ESettingsWindow.addTabPage( ERoadEditorSettingsPage ); + + ESettingsWindow.addEditorSettingsPage("RoadEditor", "Road Editor"); } function RoadEditorPlugin::onActivated( %this ) diff --git a/Templates/BaseGame/game/tools/roadEditor/roadEditorGui.tscript b/Templates/BaseGame/game/tools/roadEditor/roadEditorGui.tscript index 115da9d5c..5861fb164 100644 --- a/Templates/BaseGame/game/tools/roadEditor/roadEditorGui.tscript +++ b/Templates/BaseGame/game/tools/roadEditor/roadEditorGui.tscript @@ -212,6 +212,20 @@ function RoadEditorGui::prepSelectionMode( %this ) %this.setMode( "RoadEditorSelectMode" ); ToolsPaletteArray-->RoadEditorSelectMode.setStateOn(1); } + +//------------------------------------------------------------------------------ +function ESettingsWindow::getRoadEditorSettings(%this) +{ + SettingsInspector.startGroup("Defaults"); + SettingsInspector.addSettingsField("RoadEditor/DefaultWidth", "Width", "string", ""); + SettingsInspector.addSettingsField("RoadEditor/MaterialName", "Material", "string", ""); + SettingsInspector.endGroup(); + + SettingsInspector.startGroup("Colors"); + SettingsInspector.addSettingsField("RoadEditor/HoverSplineColor", "Hover Spline", "colorI", ""); + SettingsInspector.addSettingsField("RoadEditor/SelectedSplineColor", "Selected Spline", "colorI", ""); + SettingsInspector.endGroup(); +} //------------------------------------------------------------------------------ function ERoadEditorSelectModeBtn::onClick(%this) { diff --git a/Templates/BaseGame/game/tools/worldEditor/scripts/EditorGui.ed.tscript b/Templates/BaseGame/game/tools/worldEditor/scripts/EditorGui.ed.tscript index 11b3b06d4..a10c44c87 100644 --- a/Templates/BaseGame/game/tools/worldEditor/scripts/EditorGui.ed.tscript +++ b/Templates/BaseGame/game/tools/worldEditor/scripts/EditorGui.ed.tscript @@ -156,8 +156,8 @@ function EditorGui::init(%this) // Editor Settings Window if( !isObject( %this-->EditorSettingsWindow ) ) { - exec("tools/gui/EditorSettingsWindow.ed.gui"); exec("tools/gui/editorSettingsWindow.ed." @ $TorqueScriptFileExtension); + exec("tools/gui/EditorSettingsWindow.ed.gui"); // Start the standard settings tabs pages /*exec( "~/worldEditor/gui/GeneralSettingsTab.ed.gui" ); diff --git a/Templates/BaseGame/game/tools/worldEditor/scripts/editors/terrainEditor.ed.tscript b/Templates/BaseGame/game/tools/worldEditor/scripts/editors/terrainEditor.ed.tscript index b570d3c59..4cc998f6a 100644 --- a/Templates/BaseGame/game/tools/worldEditor/scripts/editors/terrainEditor.ed.tscript +++ b/Templates/BaseGame/game/tools/worldEditor/scripts/editors/terrainEditor.ed.tscript @@ -29,6 +29,8 @@ function TerrainEditor::init( %this ) %this.setBrushSize( 9, 9 ); new PersistenceManager( ETerrainPersistMan ); + + ESettingsWindow.addEditorSettingsPage("TerrainEditor", "Terrain Editor"); } /// @@ -356,6 +358,18 @@ function TerrainEditor::onMaterialUndo( %this ) EPainter.updateLayers(); } +function ESettingsWindow::getTerrainEditorSettings(%this) +{ + SettingsInspector.startGroup("Tool Values"); + SettingsInspector.addSettingsField("TerrainEditor/ActionValues/adjustHeightVal", "Raise/Lower Height", "string", + "The amount of height adjustment for raising/lowering terrain"); + SettingsInspector.addSettingsField("TerrainEditor/ActionValues/smoothFactor", "Smooth Factor", "string", + "The amount of smoothing when raising/lowering terrain"); + SettingsInspector.addSettingsField("TerrainEditor/ActionValues/noiseFactor", "Noise Factor", "string", + "The amount of noise when raising/lowering terrain"); + SettingsInspector.endGroup(); +} + //------------------------------------------------------------------------------ // Functions //------------------------------------------------------------------------------