Browse Source

From @rextimmy was missing the stateblock handling for the Transparency mode Sub
Added Open Recent functionality to File menubar item
Added new editor setting for Startup Mode to dictate if it'll open the most recent level edited or the blank level, instead of utilizing a game UI control for level selection.
Properly re-enabled the handling for the forceSidebarToSide setting to track to the setting value

Areloch 5 years ago
parent
commit
62fabf6894

+ 7 - 0
Engine/source/materials/processedMaterial.cpp

@@ -134,6 +134,13 @@ void ProcessedMaterial::_setBlendState(Material::BlendOp blendOp, GFXStateBlockD
          desc.blendDest = GFXBlendInvSrcAlpha;
          break;
       }
+   case Material::Sub:
+      {
+         desc.blendOp = GFXBlendOpSubtract;
+         desc.blendSrc = GFXBlendOne;
+         desc.blendDest = GFXBlendOne;
+         break;
+      }
 
    default:
       {

+ 4 - 4
Templates/BaseGame/game/tools/base/utils/objectNameValidation.ed.cs

@@ -25,12 +25,12 @@ function Editor::validateObjectName( %name, %mustHaveName )
 {
    if( %mustHaveName && %name $= "" )
    {
-      MessageBoxOK( "Missing Object Name", "No name given for object.  Please enter a valid object name." );
+      ToolsMessageBoxOK( "Missing Object Name", "No name given for object.  Please enter a valid object name." );
       return false;
    }
    if( !isValidObjectName( %name ) )
    {
-      MessageBoxOK( "Invalid Object Name", "'" @ %name @ "' is not a valid object name." NL
+      ToolsMessageBoxOK( "Invalid Object Name", "'" @ %name @ "' is not a valid object name." NL
          "" NL
          "Please choose a name that begins with a letter or underscore and is otherwise comprised " @
          "exclusively of letters, digits, and/or underscores."
@@ -43,14 +43,14 @@ function Editor::validateObjectName( %name, %mustHaveName )
       if ( %filename $= "" )
          %filename = "an unknown file";
 
-      MessageBoxOK( "Invalid Object Name", "Object names must be unique, and there is an " @
+      ToolsMessageBoxOK( "Invalid Object Name", "Object names must be unique, and there is an " @
          "existing " @ %name.getClassName() @ " object with the name '" @ %name @ "' (defined " @
          "in " @ %filename @ ").  Please choose another name." );
       return false;
    }
    if( isClass( %name ) )
    {
-      MessageBoxOK( "Invalid Object Name", "'" @ %name @ "' is the name of an existing TorqueScript " @
+      ToolsMessageBoxOK( "Invalid Object Name", "'" @ %name @ "' is the name of an existing TorqueScript " @
          "class.  Please choose another name." );
       return false;
    }

+ 2 - 2
Templates/BaseGame/game/tools/gui/EditorSettingsWindow.ed.gui

@@ -86,7 +86,7 @@
             minExtent = "16 16";
             horizSizing = "right";
             vertSizing = "bottom";
-            profile = "ToolsGuiDefaultProfile";
+            profile = "ToolsGuiSolidDefaultProfile";
             visible = "1";
             active = "1";
             tooltipProfile = "GuiToolTipProfile";
@@ -158,7 +158,7 @@
             minExtent = "16 16";
             horizSizing = "right";
             vertSizing = "bottom";
-            profile = "ToolsGuiDefaultProfile";
+            profile = "ToolsGuiSolidDefaultProfile";
             visible = "1";
             active = "1";
             tooltipProfile = "GuiToolTipProfile";

+ 4 - 0
Templates/BaseGame/game/tools/gui/editorSettingsWindow.ed.cs

@@ -330,6 +330,10 @@ function ESettingsWindow::getNavEditorSettings(%this)
 
 function ESettingsWindow::getSceneEditorSettings(%this)
 {
+   SettingsInspector.startGroup("Startup");
+   SettingsInspector.addSettingsField("WorldEditor/startupMode", "Startup Mode", "list", "", "Blank Level,Last Open Level");
+   SettingsInspector.endGroup();
+   
    SettingsInspector.startGroup("Render");
    SettingsInspector.addSettingsField("WorldEditor/Render/renderObjHandle", "Object Icons", "bool", "");
    SettingsInspector.addSettingsField("WorldEditor/Render/renderObjText", "Object Text", "bool", "");

+ 20 - 2
Templates/BaseGame/game/tools/main.cs

@@ -273,8 +273,26 @@ function fastLoadWorldEdit(%val)
       if( !$missionRunning )
       {
          // Flag saying, when level is chosen, launch it with the editor open.
-         ChooseLevelDlg.launchInEditor = true;
-         Canvas.pushDialog( ChooseLevelDlg );         
+         %defaultLevelFile = EditorSettings.value( "WorldEditor/newLevelFile" );
+         
+         %startupMode = EditorSettings.value("WorldEditor/startupMode", "Blank Level");
+         if(%startupMode $= "Blank Level")
+         {
+            EditorNewLevel(%defaultLevelFile);
+         }
+         else if(%startupMode $= "Last Open Level")
+         {
+            %lastLevel = EditorSettings.value("WorldEditor/lastEditedLevel", "");
+            
+            if(%lastLevel $= "")
+            {
+               EditorNewLevel(%defaultLevelFile);
+            }
+            else
+            {
+               EditorOpenMission(%lastLevel);
+            }
+         }
       }
       else
       {

+ 197 - 194
Templates/BaseGame/game/tools/settings.xml

@@ -1,254 +1,257 @@
 <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
 <EditorSettings>
-    <Group name="NavEditor">
-        <Setting name="spawnDatablock">DefaultPlayerData</Setting>
-        <Setting name="backgroundBuild">1</Setting>
-        <Setting name="SpawnClass">AIPlayer</Setting>
+    <Group name="ShapeEditor">
+        <Setting name="gridSize">0.1</Setting>
+        <Setting name="showObjBox">1</Setting>
+        <Setting name="showNodes">1</Setting>
+        <Setting name="SunAngleX">45</Setting>
+        <Setting name="AdvancedWndVisible">1</Setting>
+        <Setting name="SunAmbientColor">180 180 180 255</Setting>
+        <Setting name="backgroundColor">0 0 0 100</Setting>
+        <Setting name="SunAngleZ">135</Setting>
+        <Setting name="renderMounts">1</Setting>
+        <Setting name="RenderCollision">0</Setting>
+        <Setting name="showBounds">0</Setting>
+        <Setting name="ShowGrid">1</Setting>
+        <Setting name="SunDiffuseColor">255 255 255 255</Setting>
+        <Setting name="highlightMaterial">1</Setting>
+        <Setting name="gridDimension">40 40</Setting>
     </Group>
-    <Group name="GuiEditor">
-        <Setting name="previewResolution">1024 768</Setting>
-        <Setting name="lastPath">tools/gui/messageBoxes</Setting>
-        <Group name="Snapping">
-            <Setting name="sensitivity">2</Setting>
-            <Setting name="snapToGuides">1</Setting>
-            <Setting name="snap2GridSize">8</Setting>
-            <Setting name="snapToCenters">1</Setting>
-            <Setting name="snapToEdges">1</Setting>
-            <Setting name="snap2Grid">0</Setting>
-            <Setting name="snapToCanvas">1</Setting>
-            <Setting name="snapToControls">1</Setting>
-        </Group>
-        <Group name="Rendering">
-            <Setting name="drawBorderLines">1</Setting>
-            <Setting name="drawGuides">1</Setting>
-        </Group>
-        <Group name="Help">
-            <Setting name="documentationURL">http://www.garagegames.com/products/torque-3d/documentation/user</Setting>
+    <Group name="WorldEditor">
+        <Setting name="EditorLayoutMode">Modern</Setting>
+        <Setting name="orthoFOV">50</Setting>
+        <Setting name="forceLoadDAE">0</Setting>
+        <Setting name="displayType">6</Setting>
+        <Setting name="recentLevelsList">TTR:DasBootLevel,pbr:PbrMatTestLevel</Setting>
+        <Setting name="lastEditedLevel">TTR:DasBootLevel</Setting>
+        <Setting name="dropType">screenCenter</Setting>
+        <Setting name="undoLimit">40</Setting>
+        <Setting name="torsionPath">AssetWork_Debug.exe</Setting>
+        <Setting name="currentEditor">WorldEditorInspectorPlugin</Setting>
+        <Setting name="startupMode">Blank Level</Setting>
+        <Setting name="orthoShowGrid">1</Setting>
+        <Group name="Docs">
             <Setting name="documentationLocal">../../../Documentation/Official Documentation.html</Setting>
             <Setting name="documentationReference">../../../Documentation/Torque 3D - Script Manual.chm</Setting>
+            <Setting name="documentationURL">http://www.garagegames.com/products/torque-3d/documentation/user</Setting>
+            <Setting name="forumURL">http://www.garagegames.com/products/torque-3d/forums</Setting>
         </Group>
-        <Group name="Selection">
-            <Setting name="fullBox">0</Setting>
-        </Group>
-        <Group name="EngineDevelopment">
-            <Setting name="showEditorProfiles">0</Setting>
-            <Setting name="showEditorGuis">0</Setting>
-            <Setting name="toggleIntoEditor">0</Setting>
-        </Group>
-        <Group name="Library">
-            <Setting name="viewType">Categorized</Setting>
-        </Group>
-    </Group>
-    <Group name="TerrainEditor">
-        <Setting name="currentAction">lowerHeight</Setting>
-        <Group name="ActionValues">
-            <Setting name="setHeightVal">100</Setting>
-            <Setting name="adjustHeightVal">10</Setting>
-            <Setting name="smoothFactor">0.1</Setting>
-            <Setting name="softSelectRadius">50</Setting>
-            <Setting name="scaleVal">1</Setting>
-            <Setting name="SlopeMinAngle">0</Setting>
-            <Setting name="softSelectDefaultFilter">1.000000 0.833333 0.666667 0.500000 0.333333 0.166667 0.000000</Setting>
-            <Setting name="softSelectFilter">1.000000 0.833333 0.666667 0.500000 0.333333 0.166667 0.000000</Setting>
-            <Setting name="noiseFactor">1</Setting>
-            <Setting name="SlopeMaxAngle">90</Setting>
+        <Group name="Layout">
+            <Setting name="LayoutMode">Classic</Setting>
         </Group>
-        <Group name="Brush">
-            <Setting name="maxBrushSize">40 40</Setting>
-            <Setting name="brushSize">40 40</Setting>
-            <Setting name="brushPressure">1</Setting>
-            <Setting name="brushType">ellipse</Setting>
-            <Setting name="brushSoftness">1</Setting>
+        <Group name="Render">
+            <Setting name="renderObjHandle">1</Setting>
+            <Setting name="renderPopupBackground">1</Setting>
+            <Setting name="renderObjText">1</Setting>
+            <Setting name="renderSelectionBox">1</Setting>
+            <Setting name="showMousePopupInfo">1</Setting>
         </Group>
-    </Group>
-    <Group name="AxisGizmo">
-        <Setting name="mouseRotateScalar">0.8</Setting>
-        <Setting name="axisGizmoMaxScreenLen">100</Setting>
-        <Setting name="rotationSnap">15</Setting>
-        <Setting name="mouseScaleScalar">0.8</Setting>
-        <Setting name="renderWhenUsed">0</Setting>
-        <Setting name="renderInfoText">1</Setting>
-        <Setting name="snapRotations">0</Setting>
-        <Group name="Grid">
-            <Setting name="renderPlane">0</Setting>
-            <Setting name="gridSize">1 1 1</Setting>
-            <Setting name="renderPlaneHashes">0</Setting>
-            <Setting name="snapToGrid">1</Setting>
-            <Setting name="gridColor">255 255 255 20</Setting>
-            <Setting name="planeDim">500</Setting>
+        <Group name="Tools">
+            <Setting name="OffsetZValue">0.01</Setting>
+            <Setting name="TerrainSnapOffsetZ">0</Setting>
+            <Setting name="snapSoft">0</Setting>
+            <Setting name="snapSoftSize">2</Setting>
+            <Setting name="boundingBoxCollision">0</Setting>
+            <Setting name="snapGround">0</Setting>
+            <Setting name="dropAtScreenCenterMax">100</Setting>
+            <Setting name="objectsUseBoxCenter">1</Setting>
+            <Setting name="dropAtScreenCenterScalar">1</Setting>
         </Group>
-    </Group>
-    <Group name="WorldEditor">
-        <Setting name="currentEditor">WorldEditorInspectorPlugin</Setting>
-        <Setting name="torsionPath">AssetWork_Debug.exe</Setting>
-        <Setting name="undoLimit">40</Setting>
-        <Setting name="dropType">screenCenter</Setting>
-        <Setting name="displayType">6</Setting>
-        <Setting name="forceLoadDAE">0</Setting>
-        <Setting name="orthoFOV">50</Setting>
-        <Setting name="EditorLayoutMode">Modern</Setting>
-        <Setting name="orthoShowGrid">1</Setting>
         <Group name="Color">
-            <Setting name="dragRectColor">255 255 0 255</Setting>
             <Setting name="objSelectColor">255 0 0 255</Setting>
-            <Setting name="objMouseOverColor">0 255 0 255</Setting>
             <Setting name="popupBackgroundColor">100 100 100 255</Setting>
-            <Setting name="selectionBoxColor">255 255 0 255</Setting>
-            <Setting name="objectTextColor">255 255 255 255</Setting>
             <Setting name="objMouseOverSelectColor">0 0 255 255</Setting>
+            <Setting name="objectTextColor">255 255 255 255</Setting>
+            <Setting name="selectionBoxColor">255 255 0 255</Setting>
+            <Setting name="dragRectColor">255 255 0 255</Setting>
+            <Setting name="objMouseOverColor">0 255 0 255</Setting>
+        </Group>
+        <Group name="ObjectIcons">
+            <Setting name="fadeIconsStartAlpha">255</Setting>
+            <Setting name="fadeIcons">1</Setting>
+            <Setting name="fadeIconsStartDist">8</Setting>
+            <Setting name="fadeIconsEndDist">20</Setting>
+            <Setting name="fadeIconsEndAlpha">0</Setting>
         </Group>
         <Group name="Grid">
-            <Setting name="gridSize">1</Setting>
-            <Setting name="gridColor">102 102 102 100</Setting>
             <Setting name="gridMinorColor">51 51 51 100</Setting>
+            <Setting name="gridSize">1</Setting>
             <Setting name="gridSnap">1</Setting>
+            <Setting name="gridColor">102 102 102 100</Setting>
             <Setting name="gridOriginColor">255 255 255 100</Setting>
         </Group>
         <Group name="Theme">
-            <Setting name="windowTitleBGNAColor">180 180 180 255</Setting>
-            <Setting name="windowTitleBGHLColor">48 48 48 255</Setting>
             <Setting name="windowTitleBGColor">50 50 50 255</Setting>
-            <Setting name="windowTitleFontColor">215 215 215 255</Setting>
             <Setting name="windowTitleFontHLColor">255 255 255 255</Setting>
-        </Group>
-        <Group name="Docs">
-            <Setting name="documentationURL">http://www.garagegames.com/products/torque-3d/documentation/user</Setting>
-            <Setting name="documentationReference">../../../Documentation/Torque 3D - Script Manual.chm</Setting>
-            <Setting name="documentationLocal">../../../Documentation/Official Documentation.html</Setting>
-            <Setting name="forumURL">http://www.garagegames.com/products/torque-3d/forums</Setting>
-        </Group>
-        <Group name="Render">
-            <Setting name="renderSelectionBox">1</Setting>
-            <Setting name="renderObjHandle">1</Setting>
-            <Setting name="renderObjText">1</Setting>
-            <Setting name="showMousePopupInfo">1</Setting>
-            <Setting name="renderPopupBackground">1</Setting>
-        </Group>
-        <Group name="ObjectIcons">
-            <Setting name="fadeIconsEndAlpha">0</Setting>
-            <Setting name="fadeIconsEndDist">20</Setting>
-            <Setting name="fadeIconsStartDist">8</Setting>
-            <Setting name="fadeIcons">1</Setting>
-            <Setting name="fadeIconsStartAlpha">255</Setting>
+            <Setting name="windowTitleBGHLColor">48 48 48 255</Setting>
+            <Setting name="windowTitleFontColor">215 215 215 255</Setting>
+            <Setting name="windowTitleBGNAColor">180 180 180 255</Setting>
         </Group>
         <Group name="Images">
-            <Setting name="selectHandle">tools/worldEditor/images/SelectHandle</Setting>
-            <Setting name="defaultHandle">tools/worldEditor/images/DefaultHandle</Setting>
             <Setting name="lockedHandle">tools/worldEditor/images/LockedHandle</Setting>
+            <Setting name="defaultHandle">tools/worldEditor/images/DefaultHandle</Setting>
+            <Setting name="selectHandle">tools/worldEditor/images/SelectHandle</Setting>
         </Group>
-        <Group name="Tools">
-            <Setting name="OffsetZValue">0.01</Setting>
-            <Setting name="boundingBoxCollision">0</Setting>
-            <Setting name="snapGround">0</Setting>
-            <Setting name="objectsUseBoxCenter">1</Setting>
-            <Setting name="snapSoftSize">2</Setting>
-            <Setting name="snapSoft">0</Setting>
-            <Setting name="dropAtScreenCenterScalar">1</Setting>
-            <Setting name="TerrainSnapOffsetZ">0</Setting>
-            <Setting name="dropAtScreenCenterMax">100</Setting>
-        </Group>
-        <Group name="Layout">
-            <Setting name="LayoutMode">Classic</Setting>
-        </Group>
-    </Group>
-    <Group name="ShapeEditor">
-        <Setting name="SunAngleZ">135</Setting>
-        <Setting name="gridSize">0.1</Setting>
-        <Setting name="showNodes">1</Setting>
-        <Setting name="showObjBox">1</Setting>
-        <Setting name="showBounds">0</Setting>
-        <Setting name="SunAngleX">45</Setting>
-        <Setting name="ShowGrid">1</Setting>
-        <Setting name="AdvancedWndVisible">1</Setting>
-        <Setting name="SunDiffuseColor">255 255 255 255</Setting>
-        <Setting name="backgroundColor">0 0 0 100</Setting>
-        <Setting name="gridDimension">40 40</Setting>
-        <Setting name="renderMounts">1</Setting>
-        <Setting name="RenderCollision">0</Setting>
-        <Setting name="SunAmbientColor">180 180 180 255</Setting>
-        <Setting name="highlightMaterial">1</Setting>
     </Group>
-    <Group name="ConvexEditor">
-        <Setting name="materialName">Grid_512_Orange</Setting>
+    <Group name="AxisGizmo">
+        <Setting name="renderInfoText">1</Setting>
+        <Setting name="snapRotations">0</Setting>
+        <Setting name="mouseRotateScalar">0.8</Setting>
+        <Setting name="axisGizmoMaxScreenLen">100</Setting>
+        <Setting name="rotationSnap">15</Setting>
+        <Setting name="mouseScaleScalar">0.8</Setting>
+        <Setting name="renderWhenUsed">0</Setting>
+        <Group name="Grid">
+            <Setting name="gridColor">255 255 255 20</Setting>
+            <Setting name="planeDim">500</Setting>
+            <Setting name="renderPlaneHashes">0</Setting>
+            <Setting name="renderPlane">0</Setting>
+            <Setting name="gridSize">1 1 1</Setting>
+            <Setting name="snapToGrid">1</Setting>
+        </Group>
     </Group>
-    <Group name="MeshRoadEditor">
-        <Setting name="DefaultWidth">10</Setting>
-        <Setting name="SelectedSplineColor">0 255 0 255</Setting>
-        <Setting name="sideMaterialName">DefaultRoadMaterialOther</Setting>
-        <Setting name="HoverSplineColor">255 0 0 255</Setting>
-        <Setting name="topMaterialName">DefaultRoadMaterialTop</Setting>
-        <Setting name="DefaultNormal">0 0 1</Setting>
+    <Group name="NavEditor">
+        <Setting name="spawnDatablock">DefaultPlayerData</Setting>
+        <Setting name="SpawnClass">AIPlayer</Setting>
+        <Setting name="backgroundBuild">1</Setting>
     </Group>
     <Group name="AssetCreation">
-        <Setting name="AssetImporDefaultConfig">TestConfig</Setting>
+        <Setting name="TerrainAssetSubdirectoryFormat">&lt;AssetType&gt;/</Setting>
+        <Setting name="LevelAssetSubdirectoryFormat">&lt;AssetType&gt;/&lt;AssetName&gt;/</Setting>
         <Setting name="PostFXAssetSubdirectoryFormat">&lt;AssetType&gt;/</Setting>
-        <Setting name="CppAssetSubdirectoryFormat">&lt;AssetType&gt;/&lt;SpecialAssetTag&gt;/</Setting>
-        <Setting name="ScriptAssetSubdirectoryFormat">&lt;AssetType&gt;/&lt;SpecialAssetTag&gt;/</Setting>
         <Setting name="TerrainMatAssetSubdirectoryFormat">&lt;AssetType&gt;/</Setting>
-        <Setting name="LevelAssetSubdirectoryFormat">&lt;AssetType&gt;/&lt;AssetName&gt;/</Setting>
-        <Setting name="CubemapAssetSubdirectoryFormat">&lt;AssetType&gt;/</Setting>
         <Setting name="StatemachineAssetSubdirectoryFormat">&lt;AssetType&gt;/</Setting>
         <Setting name="AutoImport">1</Setting>
-        <Setting name="TerrainAssetSubdirectoryFormat">&lt;AssetType&gt;/</Setting>
+        <Setting name="CubemapAssetSubdirectoryFormat">&lt;AssetType&gt;/</Setting>
         <Setting name="GUIAssetSubdirectoryFormat">&lt;AssetType&gt;/OtherFolder/</Setting>
+        <Setting name="AssetImporDefaultConfig">TestConfig</Setting>
+        <Setting name="CppAssetSubdirectoryFormat">&lt;AssetType&gt;/&lt;SpecialAssetTag&gt;/</Setting>
+        <Setting name="ScriptAssetSubdirectoryFormat">&lt;AssetType&gt;/&lt;SpecialAssetTag&gt;/</Setting>
     </Group>
-    <Group name="RiverEditor">
-        <Setting name="DefaultDepth">5</Setting>
-        <Setting name="HoverNodeColor">255 255 255 255</Setting>
-        <Setting name="DefaultWidth">10</Setting>
-        <Setting name="SelectedSplineColor">0 255 0 255</Setting>
+    <Group name="MeshRoadEditor">
         <Setting name="DefaultNormal">0 0 1</Setting>
         <Setting name="HoverSplineColor">255 0 0 255</Setting>
+        <Setting name="DefaultWidth">10</Setting>
+        <Setting name="sideMaterialName">DefaultRoadMaterialOther</Setting>
+        <Setting name="SelectedSplineColor">0 255 0 255</Setting>
+        <Setting name="topMaterialName">DefaultRoadMaterialTop</Setting>
     </Group>
-    <Group name="AssetBrowser">
-        <Setting name="previewSize">Small</Setting>
+    <Group name="TerrainEditor">
+        <Setting name="currentAction">lowerHeight</Setting>
+        <Group name="ActionValues">
+            <Setting name="softSelectFilter">1.000000 0.833333 0.666667 0.500000 0.333333 0.166667 0.000000</Setting>
+            <Setting name="adjustHeightVal">10</Setting>
+            <Setting name="SlopeMaxAngle">90</Setting>
+            <Setting name="scaleVal">1</Setting>
+            <Setting name="noiseFactor">1</Setting>
+            <Setting name="softSelectDefaultFilter">1.000000 0.833333 0.666667 0.500000 0.333333 0.166667 0.000000</Setting>
+            <Setting name="softSelectRadius">50</Setting>
+            <Setting name="SlopeMinAngle">0</Setting>
+            <Setting name="setHeightVal">100</Setting>
+            <Setting name="smoothFactor">0.1</Setting>
+        </Group>
+        <Group name="Brush">
+            <Setting name="maxBrushSize">40 40</Setting>
+            <Setting name="brushSoftness">1</Setting>
+            <Setting name="brushPressure">1</Setting>
+            <Setting name="brushSize">40 40</Setting>
+            <Setting name="brushType">ellipse</Setting>
+        </Group>
     </Group>
-    <Group name="RoadEditor">
-        <Setting name="HoverNodeColor">255 255 255 255</Setting>
+    <Group name="RiverEditor">
+        <Setting name="DefaultDepth">5</Setting>
         <Setting name="SelectedSplineColor">0 255 0 255</Setting>
-        <Setting name="materialName">DefaultDecalRoadMaterial</Setting>
+        <Setting name="HoverNodeColor">255 255 255 255</Setting>
+        <Setting name="HoverSplineColor">255 0 0 255</Setting>
+        <Setting name="DefaultNormal">0 0 1</Setting>
         <Setting name="DefaultWidth">10</Setting>
     </Group>
-    <Group name="LevelInformation">
-        <Setting name="levelsDirectory">data/FPSGameplay/levels</Setting>
-        <Group name="levels">
-            <Group name="BlankRoom.mis">
-                <Setting name="cameraSpeed">25</Setting>
-            </Group>
-            <Group name="PbrMatTest.mis">
-                <Setting name="cameraSpeed">5</Setting>
-            </Group>
+    <Group name="Assets">
+        <Setting name="AutoImport">1</Setting>
+        <Setting name="AssetImporDefaultConfig">TestConfig</Setting>
+        <Group name="Browser">
+            <Setting name="previewTileSize">small</Setting>
         </Group>
     </Group>
     <Group name="Theme">
-        <Setting name="fieldTextHLColor">234 232 230 255</Setting>
-        <Setting name="tooltipTextColor">255 255 255 255</Setting>
-        <Setting name="fieldTextNAColor">77 77 77 255</Setting>
+        <Setting name="headerTextColor">236 234 232 255</Setting>
+        <Setting name="fieldBGColor">59 58 57 255</Setting>
+        <Setting name="windowBackgroundColor">32 31 30 255</Setting>
         <Setting name="tabsHLColor">50 49 48 255</Setting>
+        <Setting name="fieldTextColor">178 175 172 255</Setting>
+        <Setting name="fieldTextSELColor">255 255 255 255</Setting>
         <Setting name="tooltipBGColor">43 43 43 255</Setting>
-        <Setting name="fieldBGSELColor">100 98 96 255</Setting>
+        <Setting name="tabsColor">37 36 35 255</Setting>
         <Setting name="tabsSELColor">59 58 57 255</Setting>
+        <Setting name="fieldBGHLColor">72 70 68 255</Setting>
+        <Setting name="fieldTextNAColor">77 77 77 255</Setting>
         <Setting name="headerColor">50 49 48 255</Setting>
-        <Setting name="headerTextColor">236 234 232 255</Setting>
-        <Setting name="tooltipDividerColor">72 70 68 255</Setting>
-        <Setting name="windowBackgroundColor">32 31 30 255</Setting>
         <Setting name="dividerDarkColor">17 16 15 255</Setting>
+        <Setting name="tooltipDividerColor">72 70 68 255</Setting>
         <Setting name="dividerMidColor">50 49 48 255</Setting>
-        <Setting name="fieldBGHLColor">72 70 68 255</Setting>
-        <Setting name="tabsColor">37 36 35 255</Setting>
-        <Setting name="fieldTextSELColor">255 255 255 255</Setting>
+        <Setting name="fieldTextHLColor">234 232 230 255</Setting>
+        <Setting name="fieldBGSELColor">100 98 96 255</Setting>
         <Setting name="dividerLightColor">96 94 92 255</Setting>
-        <Setting name="fieldTextColor">178 175 172 255</Setting>
-        <Setting name="fieldBGColor">59 58 57 255</Setting>
+        <Setting name="tooltipTextColor">255 255 255 255</Setting>
     </Group>
-    <Group name="Assets">
-        <Setting name="AssetImporDefaultConfig">TestConfig</Setting>
-        <Setting name="AutoImport">1</Setting>
-        <Group name="Browser">
-            <Setting name="previewTileSize">small</Setting>
+    <Group name="GuiEditor">
+        <Setting name="lastPath">tools/gui/messageBoxes</Setting>
+        <Setting name="previewResolution">1024 768</Setting>
+        <Group name="Help">
+            <Setting name="documentationReference">../../../Documentation/Torque 3D - Script Manual.chm</Setting>
+            <Setting name="documentationLocal">../../../Documentation/Official Documentation.html</Setting>
+            <Setting name="documentationURL">http://www.garagegames.com/products/torque-3d/documentation/user</Setting>
+        </Group>
+        <Group name="Snapping">
+            <Setting name="snapToEdges">1</Setting>
+            <Setting name="snapToGuides">1</Setting>
+            <Setting name="snapToCanvas">1</Setting>
+            <Setting name="snapToCenters">1</Setting>
+            <Setting name="sensitivity">2</Setting>
+            <Setting name="snap2Grid">0</Setting>
+            <Setting name="snap2GridSize">8</Setting>
+            <Setting name="snapToControls">1</Setting>
+        </Group>
+        <Group name="Rendering">
+            <Setting name="drawGuides">1</Setting>
+            <Setting name="drawBorderLines">1</Setting>
+        </Group>
+        <Group name="Selection">
+            <Setting name="fullBox">0</Setting>
+        </Group>
+        <Group name="EngineDevelopment">
+            <Setting name="toggleIntoEditor">0</Setting>
+            <Setting name="showEditorGuis">0</Setting>
+            <Setting name="showEditorProfiles">0</Setting>
+        </Group>
+        <Group name="Library">
+            <Setting name="viewType">Categorized</Setting>
+        </Group>
+    </Group>
+    <Group name="LevelInformation">
+        <Setting name="levelsDirectory">data/FPSGameplay/levels</Setting>
+        <Group name="levels">
+            <Group name="PbrMatTest.mis">
+                <Setting name="cameraSpeed">5</Setting>
+            </Group>
+            <Group name="BlankRoom.mis">
+                <Setting name="cameraSpeed">25</Setting>
+            </Group>
         </Group>
     </Group>
+    <Group name="RoadEditor">
+        <Setting name="DefaultWidth">10</Setting>
+        <Setting name="SelectedSplineColor">0 255 0 255</Setting>
+        <Setting name="HoverNodeColor">255 255 255 255</Setting>
+        <Setting name="materialName">DefaultDecalRoadMaterial</Setting>
+    </Group>
+    <Group name="ConvexEditor">
+        <Setting name="materialName">Grid_512_Orange</Setting>
+    </Group>
     <Group name="DatablockEditor">
         <Setting name="libraryTab">1</Setting>
     </Group>
+    <Group name="AssetBrowser">
+        <Setting name="previewSize">Small</Setting>
+    </Group>
 </EditorSettings>

+ 6 - 6
Templates/BaseGame/game/tools/worldEditor/scripts/EditorGui.ed.cs

@@ -1439,21 +1439,21 @@ function EWorldEditorAlignPopup::onSelect(%this, %id, %text)
 
 function EWorldEditor::onResize(%this, %newPosition, %newExtent)
 {
-   //if(EditorSettings.value( "WorldEditor/forceSidebarToSide" ) == 1)
-   //{
+   if(EditorSettings.value( "WorldEditor/forceSidebarToSide" ) == 1)
+   {
       %treePos = %this.extent.x - (%this.extent.x * 0.2) SPC EditorGuiToolbar.extent.y;
       %treeExt = %this.extent.x * 0.2 SPC (%this.extent.y * 0.5) - EditorGuiToolbar.extent.y - EditorGuiStatusBar.extent.y - 25;
       
       EWTreeWindow.resize(%treePos.x, %treePos.y, %treeExt.x, %treeExt.y);
-   //}
+   }
 
-   //if(EditorSettings.value( "WorldEditor/forceSidebarToSide" ) == 1)
-   //{
+   if(EditorSettings.value( "WorldEditor/forceSidebarToSide" ) == 1)
+   {
       %inspPos = EWTreeWindow.position.x SPC EWTreeWindow.position.y + EWTreeWindow.extent.y;
       %inspExt = EWTreeWindow.extent.x SPC %this.extent.y - EWTreeWindow.extent.y - (EditorGuiStatusBar.extent.y * 2);
       
       EWInspectorWindow.resize(%inspPos.x, %inspPos.y, %inspExt.x, %inspExt.y);
-   //}
+   }
 }
 
 //-----------------------------------------------------------------------------

+ 49 - 4
Templates/BaseGame/game/tools/worldEditor/scripts/menuHandlers.ed.cs

@@ -225,7 +225,7 @@ function EditorNewLevel( %file )
    if( !$missionRunning )
    {
       activatePackage( "BootEditor" );
-      StartLevel( %file );
+      StartGame( %file );
    }
    else
       EditorOpenMission(%file);
@@ -356,16 +356,47 @@ function EditorOpenMission(%levelAsset)
    else
    {
       //If we got the actual assetdef, just roll with it
+      %levelAssetId = "";
       if(isObject(%levelAsset))
       {
          %assetDef = %levelAsset;
+         %levelAssetId = %assetDef.getAssetId();
       }
       else
       {
          //parse it out if its
          %assetDef = AssetDatabase.acquireAsset(%levelAsset);
+         %levelAssetId = %levelAsset;
       }
       
+      EditorSettings.setValue("WorldEditor/lastEditedLevel", %levelAssetId);
+      
+      //update the recent levels list
+      %recentLevels = EditorSettings.value("WorldEditor/recentLevelsList");
+      %recentCount = getTokenCount(%recentLevels, ",");
+      
+      %updatedRecentList = %levelAssetId;
+      
+      %updatedRecentCount = 1;
+      for(%i=0; %i < %recentCount; %i++)
+      {
+         %recentEntry = getToken(%recentLevels, ",", %i);
+         
+         if(%levelAssetId $= %recentEntry)
+            continue;
+         
+         %updatedRecentList = %updatedRecentList @ "," @ %recentEntry;
+         
+         %updatedRecentCount++;
+         
+         if(%updatedRecentCount == 10)
+            break;
+      }
+      
+      EditorSettings.setValue("WorldEditor/recentLevelsList", %updatedRecentList);
+      
+      updateRecentLevelsListing();
+      
       %filename = %assetDef.levelFile;
       
       if(%filename $= "")
@@ -387,7 +418,7 @@ function EditorOpenMission(%levelAsset)
    if( !$missionRunning )
    {
       activatePackage( "BootEditor" );
-      StartLevel( %filename );
+      StartGame( %filename );
    }
    else
    {
@@ -571,6 +602,22 @@ function EditorUnmount()
    %obj.unmount();   
 }
 
+//------------------------------------------------------------------------
+function updateRecentLevelsListing()
+{
+   RecentLevelsPopupMenu.clearItems();
+   
+   %recentLevels = EditorSettings.value("WorldEditor/recentLevelsList");
+   %recentCount = getTokenCount(%recentLevels, ",");
+   
+   for(%i=0; %i < %recentCount; %i++)
+   {
+      %recentEntry = getToken(%recentLevels, ",", %i);
+      
+      RecentLevelsPopupMenu.insertItem(%i, %recentEntry, "", "schedule(1,0, \"EditorOpenMission\", " @ %recentEntry @ ");");
+   }
+}
+
 //////////////////////////////////////////////////////////////////////////
 // View Menu Handlers
 //////////////////////////////////////////////////////////////////////////
@@ -632,8 +679,6 @@ function EditorMenuEditPaste()
       EditorGui.currentEditor.handlePaste();  
 }
 
-
-
 //////////////////////////////////////////////////////////////////////////
 // Window Menu Handler
 //////////////////////////////////////////////////////////////////////////

+ 11 - 1
Templates/BaseGame/game/tools/worldEditor/scripts/menus.ed.cs

@@ -119,6 +119,12 @@ function EditorGui::buildMenus(%this)
       profile = "ToolsGuiMenuBarProfile";
    };
    
+   %recentLevelsMenu = new PopupMenu(RecentLevelsPopupMenu)
+   {
+      superClass = "MenuBuilder";
+      class = "EditorFileMenu";
+   };
+   
    // File Menu
    %fileMenu = new PopupMenu()
    {
@@ -127,10 +133,11 @@ function EditorGui::buildMenus(%this)
 
       barTitle = "File";
    };
-   
 
    %fileMenu.appendItem("New Level" TAB "" TAB "schedule( 1, 0, \"EditorNewLevel\" );");
    %fileMenu.appendItem("Open Level..." TAB %cmdCtrl SPC "O" TAB "schedule( 1, 0, \"EditorOpenMission\" );");
+   %fileMenu.appendItem("Open Recent" TAB RecentLevelsPopupMenu);
+   %fileMenu.appendItem("-");
    %fileMenu.appendItem("Save Level" TAB %cmdCtrl SPC "S" TAB "EditorSaveMissionMenu();");
    %fileMenu.appendItem("Save Level As..." TAB "" TAB "AssetBrowser.setupCreateNewAsset(\"LevelAsset\", AssetBrowser.selectedModule, \"EditorSaveMissionAs\");");
    %fileMenu.appendItem("-");
@@ -164,6 +171,9 @@ function EditorGui::buildMenus(%this)
 
    %this.menuBar.insert(%fileMenu);
    
+   //Update the recent levels listing
+   updateRecentLevelsListing();
+   
    // Edit Menu
    %editMenu = new PopupMenu()
    {