Răsfoiți Sursa

Merge pull request #1083 from Areloch/NilsUI_UpdateTools

Implementation of Nils' UI work for updated theming, functionality and style for the editors suite
Brian Roberts 2 ani în urmă
părinte
comite
c7e2ce6654
100 a modificat fișierele cu 570 adăugiri și 113 ștergeri
  1. 2 2
      Templates/BaseGame/game/tools/VPathEditor/GUI/Images/Images_btn_Palette_h_image.asset.taml
  2. 1 1
      Templates/BaseGame/game/tools/VPathEditor/GUI/Images/Images_btn_Palette_n_image.asset.taml
  3. BIN
      Templates/BaseGame/game/tools/VPathEditor/GUI/Images/btn_Palette_d.png
  4. BIN
      Templates/BaseGame/game/tools/VPathEditor/GUI/Images/btn_Palette_h.png
  5. BIN
      Templates/BaseGame/game/tools/VPathEditor/GUI/Images/btn_Palette_n.png
  6. BIN
      Templates/BaseGame/game/tools/VPathEditor/GUI/Images/btn_VMovie_d.png
  7. 8 0
      Templates/BaseGame/game/tools/VPathEditor/GUI/Images/btn_VMovie_d_image.asset.taml
  8. BIN
      Templates/BaseGame/game/tools/VPathEditor/GUI/Images/btn_VMovie_h.png
  9. 8 0
      Templates/BaseGame/game/tools/VPathEditor/GUI/Images/btn_VMovie_h_image.asset.taml
  10. BIN
      Templates/BaseGame/game/tools/VPathEditor/GUI/Images/btn_VMovie_n.png
  11. 8 0
      Templates/BaseGame/game/tools/VPathEditor/GUI/Images/btn_VMovie_n_image.asset.taml
  12. 30 26
      Templates/BaseGame/game/tools/VPathEditor/GUI/VPathEditor.gui
  13. 1 1
      Templates/BaseGame/game/tools/VPathEditor/Scripts/Editor.tscript
  14. 121 0
      Templates/BaseGame/game/tools/VPathEditor/Scripts/GuiScript.tscript
  15. 4 4
      Templates/BaseGame/game/tools/VPathEditor/Scripts/Plugin.tscript
  16. 1 0
      Templates/BaseGame/game/tools/VPathEditor/main.tscript
  17. 3 3
      Templates/BaseGame/game/tools/VerveEditor/GUI/GuiProfiles.tscript
  18. BIN
      Templates/BaseGame/game/tools/VerveEditor/GUI/Images/btn_Palette_d.png
  19. BIN
      Templates/BaseGame/game/tools/VerveEditor/GUI/Images/btn_Palette_h.png
  20. BIN
      Templates/BaseGame/game/tools/VerveEditor/GUI/Images/btn_Palette_n.png
  21. 1 1
      Templates/BaseGame/game/tools/VerveEditor/Scripts/Plugin.tscript
  22. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/animationIcon.png
  23. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/assetBrowser_d.png
  24. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/assetBrowser_h.png
  25. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/assetBrowser_n.png
  26. 8 0
      Templates/BaseGame/game/tools/assetBrowser/art/assetBrowser_n_image.asset.taml
  27. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/clientScriptIcon.png
  28. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/componentIcon.png
  29. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/cppIcon.png
  30. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/datablockIcon.png
  31. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/folderIcon.png
  32. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/gameObjectIcon.png
  33. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/guiIcon.png
  34. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/levelIcon.png
  35. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/materialIcon.png
  36. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/postEffectIcon.png
  37. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/prefabIcon.png
  38. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/scriptIcon.png
  39. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/serverScriptIcon.png
  40. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/soundIcon.png
  41. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/stateMachineIcon.png
  42. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/terrainIcon.png
  43. BIN
      Templates/BaseGame/game/tools/assetBrowser/art/terrainMaterialIcon.png
  44. 234 67
      Templates/BaseGame/game/tools/assetBrowser/guis/assetBrowser.gui
  45. 132 8
      Templates/BaseGame/game/tools/assetBrowser/scripts/assetBrowser.tscript
  46. BIN
      Templates/BaseGame/game/tools/classIcons/ActiveScene.png
  47. BIN
      Templates/BaseGame/game/tools/classIcons/BasicClouds.png
  48. BIN
      Templates/BaseGame/game/tools/classIcons/Camera.png
  49. BIN
      Templates/BaseGame/game/tools/classIcons/CameraBookmark.png
  50. BIN
      Templates/BaseGame/game/tools/classIcons/CloudLayer.png
  51. BIN
      Templates/BaseGame/game/tools/classIcons/Component.png
  52. 8 0
      Templates/BaseGame/game/tools/classIcons/Component_image.asset.taml
  53. BIN
      Templates/BaseGame/game/tools/classIcons/ConvexShape.png
  54. BIN
      Templates/BaseGame/game/tools/classIcons/CreatorTree.png
  55. BIN
      Templates/BaseGame/game/tools/classIcons/DecalRoad.png
  56. BIN
      Templates/BaseGame/game/tools/classIcons/Forest.png
  57. BIN
      Templates/BaseGame/game/tools/classIcons/ForestBrush.png
  58. BIN
      Templates/BaseGame/game/tools/classIcons/ForestBrushElement.png
  59. BIN
      Templates/BaseGame/game/tools/classIcons/GameTSCtrl.png
  60. BIN
      Templates/BaseGame/game/tools/classIcons/GroundCover.png
  61. BIN
      Templates/BaseGame/game/tools/classIcons/GroundPlane.png
  62. BIN
      Templates/BaseGame/game/tools/classIcons/GuiAutoScrollCtrl.png
  63. BIN
      Templates/BaseGame/game/tools/classIcons/GuiBitmapBorderCtrl.png
  64. BIN
      Templates/BaseGame/game/tools/classIcons/GuiBitmapButtonCtrl.png
  65. BIN
      Templates/BaseGame/game/tools/classIcons/GuiBitmapButtonTextCtrl.png
  66. BIN
      Templates/BaseGame/game/tools/classIcons/GuiBitmapCtrl.png
  67. BIN
      Templates/BaseGame/game/tools/classIcons/GuiBorderButtonCtrl.png
  68. BIN
      Templates/BaseGame/game/tools/classIcons/GuiButtonCtrl.png
  69. BIN
      Templates/BaseGame/game/tools/classIcons/GuiCheckBoxCtrl.png
  70. BIN
      Templates/BaseGame/game/tools/classIcons/GuiColorPickerCtrl.png
  71. BIN
      Templates/BaseGame/game/tools/classIcons/GuiContainer.png
  72. BIN
      Templates/BaseGame/game/tools/classIcons/GuiControl.png
  73. BIN
      Templates/BaseGame/game/tools/classIcons/GuiControlArrayControl.png
  74. BIN
      Templates/BaseGame/game/tools/classIcons/GuiCrossHairHud.png
  75. BIN
      Templates/BaseGame/game/tools/classIcons/GuiDecoyCtrl.png
  76. BIN
      Templates/BaseGame/game/tools/classIcons/GuiDragAndDropControl.png
  77. BIN
      Templates/BaseGame/game/tools/classIcons/GuiDynamicCtrlArrayControl.png
  78. BIN
      Templates/BaseGame/game/tools/classIcons/GuiFadeinBitmapCtrl.png
  79. BIN
      Templates/BaseGame/game/tools/classIcons/GuiFileTreeCtrl.png
  80. BIN
      Templates/BaseGame/game/tools/classIcons/GuiFilterCtrl.png
  81. BIN
      Templates/BaseGame/game/tools/classIcons/GuiFormCtrl.png
  82. BIN
      Templates/BaseGame/game/tools/classIcons/GuiFrameSetCtrl.png
  83. BIN
      Templates/BaseGame/game/tools/classIcons/GuiGradientSwatchCtrl.png
  84. BIN
      Templates/BaseGame/game/tools/classIcons/GuiGraphCtrl.png
  85. BIN
      Templates/BaseGame/game/tools/classIcons/GuiHealthBarHud.png
  86. BIN
      Templates/BaseGame/game/tools/classIcons/GuiIconButtonCtrl.png
  87. BIN
      Templates/BaseGame/game/tools/classIcons/GuiListBoxCtrl.png
  88. BIN
      Templates/BaseGame/game/tools/classIcons/GuiMLTextCtrl.png
  89. BIN
      Templates/BaseGame/game/tools/classIcons/GuiMLTextEditCtrl.png
  90. BIN
      Templates/BaseGame/game/tools/classIcons/GuiMenuBar.png
  91. BIN
      Templates/BaseGame/game/tools/classIcons/GuiObjectView.png
  92. BIN
      Templates/BaseGame/game/tools/classIcons/GuiPanel.png
  93. BIN
      Templates/BaseGame/game/tools/classIcons/GuiPopUpMenuCtrl.png
  94. BIN
      Templates/BaseGame/game/tools/classIcons/GuiPopUpMenuCtrlEx.png
  95. BIN
      Templates/BaseGame/game/tools/classIcons/GuiProgressBitmapCtrl.png
  96. BIN
      Templates/BaseGame/game/tools/classIcons/GuiProgressCtrl.png
  97. BIN
      Templates/BaseGame/game/tools/classIcons/GuiRadioCtrl.png
  98. BIN
      Templates/BaseGame/game/tools/classIcons/GuiRectHandles.png
  99. BIN
      Templates/BaseGame/game/tools/classIcons/GuiRolloutCtrl.png
  100. BIN
      Templates/BaseGame/game/tools/classIcons/GuiScrollCtrl.png

+ 2 - 2
Templates/BaseGame/game/tools/VPathEditor/GUI/Images/Images_btn_Palette_h_image.asset.taml

@@ -1,8 +1,8 @@
 <ImageAsset
     canSave="true"
     canSaveDynamicFields="true"
-    AssetName="Images_btn_Palette_h_image"
-    imageFile="@assetFile=btn_Palette_h.png"
+    AssetName="Images_btn_Palette_d_image"
+    imageFile="@assetFile=btn_Palette_d.png"
     UseMips="true"
     isHDRImage="false"
     imageType="Albedo" />

+ 1 - 1
Templates/BaseGame/game/tools/VPathEditor/GUI/Images/Images_btn_Palette_n_image.asset.taml

@@ -1,7 +1,7 @@
 <ImageAsset
     canSave="true"
     canSaveDynamicFields="true"
-    AssetName="Images_btn_Palette_n_image"
+    AssetName="Images_btn_Pallete_n_image"
     imageFile="@assetFile=btn_Palette_n.png"
     UseMips="true"
     isHDRImage="false"

BIN
Templates/BaseGame/game/tools/VPathEditor/GUI/Images/btn_Palette_d.png


BIN
Templates/BaseGame/game/tools/VPathEditor/GUI/Images/btn_Palette_h.png


BIN
Templates/BaseGame/game/tools/VPathEditor/GUI/Images/btn_Palette_n.png


BIN
Templates/BaseGame/game/tools/VPathEditor/GUI/Images/btn_VMovie_d.png


+ 8 - 0
Templates/BaseGame/game/tools/VPathEditor/GUI/Images/btn_VMovie_d_image.asset.taml

@@ -0,0 +1,8 @@
+<ImageAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="btn_VMovie_d_image"
+    imageFile="@assetFile=btn_VMovie_d.png"
+    UseMips="true"
+    isHDRImage="false"
+    imageType="Albedo" />

BIN
Templates/BaseGame/game/tools/VPathEditor/GUI/Images/btn_VMovie_h.png


+ 8 - 0
Templates/BaseGame/game/tools/VPathEditor/GUI/Images/btn_VMovie_h_image.asset.taml

@@ -0,0 +1,8 @@
+<ImageAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="btn_VMovie_h_image"
+    imageFile="@assetFile=btn_VMovie_h.png"
+    UseMips="true"
+    isHDRImage="false"
+    imageType="Albedo" />

BIN
Templates/BaseGame/game/tools/VPathEditor/GUI/Images/btn_VMovie_n.png


+ 8 - 0
Templates/BaseGame/game/tools/VPathEditor/GUI/Images/btn_VMovie_n_image.asset.taml

@@ -0,0 +1,8 @@
+<ImageAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="btn_VMovie_n_image"
+    imageFile="@assetFile=btn_VMovie_n.png"
+    UseMips="true"
+    isHDRImage="false"
+    imageType="Albedo" />

+ 30 - 26
Templates/BaseGame/game/tools/VPathEditor/GUI/VPathEditor.gui

@@ -40,17 +40,19 @@ new VPathEditor(EVPathEditor) {
     GizmoProfile = "GlobalGizmoProfile";
 
    new GuiWindowCollapseCtrl(VPathEditorTreeWindow) {
+      canCollapse = "0";
+      canMove = "0";
       internalName = "";
       canSaveDynamicFields = "0";
       Enabled = "1";
       isContainer = "1";
-      Profile = "GuiWindowProfile";
+      Profile = "ToolsGuiWindowProfile";
       HorizSizing = "windowRelative";
       VertSizing = "windowRelative";
-      Position = getWord($pref::Video::mode, 0) - 209
-         SPC getWord(EditorGuiToolbar.extent, 1) - 1;
-      Extent = "210 167";
-      MinExtent = "210 100";
+      Position = getWord($pref::Video::mode, 0) - 360
+         SPC getWord(EditorGuiToolbar.extent, 1) + 6;
+      Extent = "360 167";
+      MinExtent = "300 100";
       canSave = "1";
       Visible = "1";
       tooltipprofile = "GuiToolTipProfile";
@@ -63,14 +65,13 @@ new VPathEditor(EVPathEditor) {
       AnchorRight = "0";
       resizeWidth = "1";
       resizeHeight = "1";
-      canMove = "1";
       canClose = "0";
       canMinimize = "0";
       canMaximize = "0";
       minSize = "50 50";
       closeCommand = "EditorGui.setEditor( WorldEditorInspectorPlugin );";
       EdgeSnap = "1";
-      text = "Path Editor";
+      text = "::  Verve Path Editor";
       
       new GuiContainer(){
          profile = GuiDefaultProfile;
@@ -149,7 +150,7 @@ new VPathEditor(EVPathEditor) {
          Profile = "GuiButtonProfile";
          HorizSizing = "left";
          VertSizing = "bottom";
-         position = "193 4";
+         position = "339 4";
          Extent = "16 16";
          MinExtent = "8 2";
          canSave = "1";
@@ -162,7 +163,7 @@ new VPathEditor(EVPathEditor) {
          canSaveDynamicFields = "0";
       };
       new GuiBitmapButtonCtrl() {
-         bitmap = "core/gui/images/new";
+         bitmapAsset = "ToolsModule:new_n_image";
          groupNum = "-1";
          buttonType = "PushButton";
          useMouseEvents = "0";
@@ -170,7 +171,7 @@ new VPathEditor(EVPathEditor) {
          Profile = "GuiButtonProfile";
          HorizSizing = "left";
          VertSizing = "bottom";
-         position = "176 3";
+         position = "322 3";
          Extent = "17 17";
          MinExtent = "8 2";
          canSave = "1";
@@ -184,17 +185,21 @@ new VPathEditor(EVPathEditor) {
       };
    };
    new GuiWindowCollapseCtrl(VPathEditorOptionsWindow) {
+      canCollapse = "0";
+      canMove = "0";
+      canCollapse = "0";
+      canMove = "0";
       internalName = "Window";
       canSaveDynamicFields = "0";
       Enabled = "1";
       isContainer = "1";
-      Profile = "GuiWindowProfile";
+      Profile = "ToolsGuiWindowProfile";
       HorizSizing = "windowRelative";
       VertSizing = "windowRelative";
-      Position = getWord($pref::Video::mode, 0) - 209
-         SPC getWord(EditorGuiToolbar.extent, 1) + getWord(VPathEditorTreeWindow.extent, 1) - 2;
-      Extent = "210 530";
-      MinExtent = "210 298";
+      Position = getWord($pref::Video::mode, 0) - 360
+         SPC getWord(EditorGuiToolbar.extent, 1) + getWord(VPathEditorTreeWindow.extent, 1) + 6;
+      Extent = "360" SPC getWord($pref::Video::mode, 1) - getWord(VPathEditorTreeWindow.extent, 1) - getWord(EditorGuiToolbar.extent, 1) - 65;
+      MinExtent = "300 300";
       canSave = "1";
       Visible = "1";
       tooltipprofile = "GuiToolTipProfile";
@@ -207,14 +212,13 @@ new VPathEditor(EVPathEditor) {
       AnchorRight = "0";
       resizeWidth = "1";
       resizeHeight = "1";
-      canMove = "1";
       canClose = "0";
       canMinimize = "0";
       canMaximize = "0";
       minSize = "50 50";
       closeCommand = "EditorGui.setEditor( WorldEditorPlugin );";
       EdgeSnap = "1";
-      text = "Properties";
+      text = "::  Verve Path - Properties";
 
       new GuiContainer(){ //Node Properties
          isContainer = "1";
@@ -227,7 +231,7 @@ new VPathEditor(EVPathEditor) {
          Margin = "3 3 3 3";
          
          new GuiTextCtrl(){
-            Profile = "GuiDefaultProfile";
+            Profile = "EditorTextProfile";
             HorizSizing = "right";
             VertSizing = "bottom";
             Position = "5 0";
@@ -235,7 +239,7 @@ new VPathEditor(EVPathEditor) {
             text = "Node Properties";
          };
          new GuiTextCtrl(){
-            Profile = "GuiTextRightProfile";
+            Profile = "ToolsGuiTextRightProfile";
             HorizSizing = "right";
             VertSizing = "bottom";
             Position = "7 21";
@@ -253,7 +257,7 @@ new VPathEditor(EVPathEditor) {
             AltCommand = "EVPathEditor.setNodePosition( $ThisControl.getValue() );";
          };
          new GuiTextCtrl(){
-            Profile = "GuiTextRightProfile";
+            Profile = "ToolsGuiTextRightProfile";
             HorizSizing = "right";
             VertSizing = "bottom";
             Position = "7 42";
@@ -271,7 +275,7 @@ new VPathEditor(EVPathEditor) {
             AltCommand = "EVPathEditor.setNodeRotation( $ThisControl.getValue() );";
          };
          new GuiTextCtrl(){
-            Profile = "GuiTextRightProfile";
+            Profile = "ToolsGuiTextRightProfile";
             HorizSizing = "right";
             VertSizing = "bottom";
             Position = "7 63";
@@ -289,7 +293,7 @@ new VPathEditor(EVPathEditor) {
             AltCommand = "EVPathEditor.setNodeWeight( $ThisControl.getValue() );";
          };
          new GuiTextCtrl(){
-            Profile = "GuiTextRightProfile";
+            Profile = "ToolsGuiTextRightProfile";
             HorizSizing = "right";
             VertSizing = "bottom";
             Position = "7 84";
@@ -307,7 +311,7 @@ new VPathEditor(EVPathEditor) {
             Command = "OnOrientationChanged();";
          };
          new GuiTextCtrl(){
-            Profile = "GuiTextRightProfile";
+            Profile = "ToolsGuiTextRightProfile";
             HorizSizing = "right";
             VertSizing = "bottom";
             Position = "7 105";
@@ -336,7 +340,7 @@ new VPathEditor(EVPathEditor) {
          Margin = "0 0 3 3";
          
          new GuiTextCtrl(){
-            Profile = "GuiDefaultProfile";
+            Profile = "ToolsGuiTextProfile";
             HorizSizing = "right";
             VertSizing = "bottom";
             Position = "5 0";
@@ -401,8 +405,8 @@ new VPathEditor(EVPathEditor) {
          Profile = "GuiInspectorFieldInfoMLTextProfile";
          HorizSizing = "width";
          VertSizing = "top";
-         Position = "1 485";
-         Extent = "202 42";
+         position = "8" SPC getWord(VPathEditorOptionsWindow.extent, 1) - 40;
+         Extent = "330 42";
          MinExtent = "8 2";
          canSave = "1";
          Visible = "1";

+ 1 - 1
Templates/BaseGame/game/tools/VPathEditor/Scripts/Editor.tscript

@@ -224,5 +224,5 @@ function VPathInspector::onInspectorFieldModified( %this, %object, %fieldName, %
 
 function VPathInspector::onFieldSelected( %this, %fieldName, %fieldTypeStr, %fieldDoc )
 {
-    VPathFieldInfoControl.setText( "<font:Arial Bold:14>" @ %fieldName @ "<font:Arial Italic:14> (" @ %fieldTypeStr @ ") " NL "<font:Arial:14>" @ %fieldDoc );
+    VPathFieldInfoControl.setText( "<font:Arial Bold:14>" @ %fieldName @ "<font:Arial Italic:14> (" @ %fieldTypeStr @ ") " @ " :   " @ "<font:Arial:14>" @ %fieldDoc );
 }

+ 121 - 0
Templates/BaseGame/game/tools/VPathEditor/Scripts/GuiScript.tscript

@@ -0,0 +1,121 @@
+//-----------------------------------------------------------------------------
+// Copyright (c) 2012 GarageGames, LLC
+//
+// Permission is hereby granted, free of charge, to any person obtaining a copy
+// of this software and associated documentation files (the "Software"), to
+// deal in the Software without restriction, including without limitation the
+// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
+// sell copies of the Software, and to permit persons to whom the Software is
+// furnished to do so, subject to the following conditions:
+//
+// The above copyright notice and this permission notice shall be included in
+// all copies or substantial portions of the Software.
+//
+// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
+// IN THE SOFTWARE.
+//-----------------------------------------------------------------------------
+
+function EVPathEditor::maxSize(%this, %window)
+{
+   // Resize the windows to the max height
+   // and force these to the right side if set
+   if(EditorSettings.value( "WorldEditor/forceSidebarToSide" ) == 1 && %this.resizing == true)
+   {  
+      // prevent onResize after a resize
+      %this.resizing = false;
+      
+      %fixedWindow = VPathEditorTreeWindow;
+      %fluidWindow = VPathEditorOptionsWindow;
+      %top = EditorGuiToolbar.extent.y + 6;
+      %bottom = %top + 65 - 6;
+      %maxHeight = Canvas.extent.y - %top - %bottom;
+      
+      // --- Fixed window (top) ------------------------------------------------
+      // put it back if it moved
+      %fixedWindow.position.x = Canvas.extent.x - %fixedWindow.extent.x;
+      %fixedWindow.position.y = %top;
+      
+      // don't go beyond the canvas
+      if(%fixedWindow.extent.y > %maxHeight)
+         %fixedWindow.extent.y = %maxHeight - %fluidWindow.extent.y;
+
+      %position = %fixedWindow.position.x SPC %fixedWindow.position.y;
+      %extent = %window.extent.x SPC %fixedWindow.extent.y;
+      %fixedWindow.resize(%position.x, %position.y, %extent.x, %extent.y);
+      
+      // --- Fluid window (bottom) ---------------------------------------------
+      // position is relative to the top window
+      %position = %fixedWindow.position.x SPC %fixedWindow.extent.y + %top;
+      %extent = %window.extent.x SPC Canvas.extent.y - %fixedWindow.extent.y - %bottom;
+      %fluidWindow.resize(%position.x, %position.y, %extent.x, %extent.y);
+      
+      // --- AssetBrowser window  ----------------------------------------------
+      if(isObject(AssetBrowserWindow))
+      {
+         // Only resize the AssetBrowser if it's docked
+         if(AssetBrowserWindow.docked == true)
+         {
+            // The width is relative to the sidepanel
+            %browserWidth = Canvas.extent.x - %extent.x;
+            %browserHeight = AssetBrowserWindow.extent.y;
+            %browserPosY = Canvas.extent.y - AssetBrowserWindow.extent.y - 33;
+            AssetBrowserWindow.resize(0, %browserPosY, %browserWidth, %browserHeight);
+         }
+      }
+      // --- Windowed Console --------------------------------------------------
+      if(isObject(windowConsoleControl))
+      {
+         // Only resize the AssetBrowser if it's docked
+         if(windowConsoleControl.docked == true)
+         {
+            // The width is relative to the sidepanel
+            %consoleWidth = Canvas.extent.x - %extent.x;
+            %consoleHeight = windowConsoleControl.extent.y;
+            %consolePosY = Canvas.extent.y - windowConsoleControl.extent.y - 33;
+            windowConsoleControl.resize(0, %consolePosY, %consoleWidth, %consoleHeight);
+         }
+      }
+   }
+}
+
+function VPathEditorTreeWindow::onMouseDragged(%this)
+{
+   %parent = EVPathEditor;
+   
+   if(%parent.resizing == false)
+   {
+      %parent.resizing = true;
+      %parent.maxSize(%this);
+   }
+}
+
+function VPathEditorOptionsWindow::onMouseDragged(%this)
+{
+   %parent = EVPathEditor;
+   
+   if(%parent.resizing == false)
+   {
+      %parent.resizing = true;
+      %parent.maxSize(%this);
+   }
+}
+
+function EVPathEditor::onResize(%this, %newPosition, %newExtent)
+{
+   // Window to focus on (mostly the fluid window)
+   %window = RoadEditorOptionsWindow;
+   
+   if(%this.resizing == false)
+   {  
+      // Only resize once
+      %this.resizing = true;
+      %this.maxSize(%window);
+   }
+   
+   FieldInfoControl.position = 5 SPC EWInspectorWindow.extent.y - 40;
+}

+ 4 - 4
Templates/BaseGame/game/tools/VPathEditor/Scripts/Plugin.tscript

@@ -36,18 +36,18 @@ function VPathEditorPlugin::onWorldEditorStartup( %this )
     //----------------------------------------------------------------------
     
     // Add ourselves to the window menu.
-    %accel = EditorGui.addToEditorsMenu( "Path Editor", "", VPathEditorPlugin );
+    %accel = EditorGui.addToEditorsMenu( "Verve Path Editor", "", VPathEditorPlugin );
 
     // Add ourselves to the ToolsToolbar
-    %tooltip = "Path Editor (" @ %accel @ ")";
-    EditorGui.addToToolsToolbar( "VPathEditorPlugin", "VPathEditorPalette", "ToolsModule:btn_Palette_n_image", %tooltip );
+    %tooltip = "Verve Path Editor (" @ %accel @ ")";
+    EditorGui.addToToolsToolbar( "VPathEditorPlugin", "VPathEditorPalette", "ToolsModule:btn_VMovie_n_image", %tooltip );
 
     // Find and Store the Button.
     %this.ToolbarButton = ToolsToolbarArray.findObjectByInternalName( "VPathEditorPalette", false );
     
     // Extend Width.
     %extent = EWToolsToolbar.getExtent();
-    EWToolsToolbar.setExtent( ( getWord( %extent, 0 ) + 33 ) SPC getWord( %extent, 1 ) );
+    EWToolsToolbar.setExtent( ( getWord( %extent, 0 ) + 32 ) SPC getWord( %extent, 1 ) );
     
     //----------------------------------------------------------------------
     //

+ 1 - 0
Templates/BaseGame/game/tools/VPathEditor/main.tscript

@@ -12,6 +12,7 @@ function InitializeVPathEditor()
     // Scripts.
     exec( "./Scripts/Plugin." @ $TorqueScriptFileExtension );
     exec( "./Scripts/Editor." @ $TorqueScriptFileExtension );
+    exec( "./Scripts/GuiScript." @ $TorqueScriptFileExtension );
 }
 
 function DestroyVPathEditor()

+ 3 - 3
Templates/BaseGame/game/tools/VerveEditor/GUI/GuiProfiles.tscript

@@ -15,7 +15,7 @@ singleton GuiControlProfile( VEditorDefaultProfile )
     borderColorHL = "100 100 100";
     borderColorNA = "240 240 240";
 
-    fontType      = "Arial";
+    fontType      = "Segoe UI Regular";
     fontSize      = 12;
     fontCharset   = ANSI;
 
@@ -56,7 +56,7 @@ singleton GuiControlProfile( VEditorTextProfile : VEditorDefaultProfile )
     border = false;
     opaque = false;
     
-    fontType = "Arial Bold";
+    fontType = "Segoe UI Bold";
 };
 
 singleton GuiControlProfile( VEditorTextEditProfile : VEditorDefaultProfile )
@@ -186,7 +186,7 @@ singleton GuiControlProfile( VEditorPropertyRolloutProfile : GuiRolloutProfile )
     hasBitmapArray = true;
     bitmapAsset = "ToolsModule:PropertyRollout_image";
 
-    fontType      = "Arial";
+    fontType      = "Segoe UI Regular";
     fontSize      = 12;
     fontCharset   = ANSI;
 

BIN
Templates/BaseGame/game/tools/VerveEditor/GUI/Images/btn_Palette_d.png


BIN
Templates/BaseGame/game/tools/VerveEditor/GUI/Images/btn_Palette_h.png


BIN
Templates/BaseGame/game/tools/VerveEditor/GUI/Images/btn_Palette_n.png


+ 1 - 1
Templates/BaseGame/game/tools/VerveEditor/Scripts/Plugin.tscript

@@ -34,7 +34,7 @@ function VerveEditorPlugin::onWorldEditorStartup( %this )
     
     // Extend Width.
     %extent = EWToolsToolbar.getExtent();
-    EWToolsToolbar.setExtent( ( getWord( %extent, 0 ) + 33 ) SPC getWord( %extent, 1 ) );
+    EWToolsToolbar.setExtent( ( getWord( %extent, 0 ) + 32 ) SPC getWord( %extent, 1 ) );
 }
 
 function VerveEditorPlugin::setEditorFunction( %this )

BIN
Templates/BaseGame/game/tools/assetBrowser/art/animationIcon.png


BIN
Templates/BaseGame/game/tools/assetBrowser/art/assetBrowser_d.png


BIN
Templates/BaseGame/game/tools/assetBrowser/art/assetBrowser_h.png


BIN
Templates/BaseGame/game/tools/assetBrowser/art/assetBrowser_n.png


+ 8 - 0
Templates/BaseGame/game/tools/assetBrowser/art/assetBrowser_n_image.asset.taml

@@ -0,0 +1,8 @@
+<ImageAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="assetBrowser_n_image"
+    imageFile="@assetFile=assetBrowser_n.png"
+    UseMips="true"
+    isHDRImage="false"
+    imageType="Albedo" />

BIN
Templates/BaseGame/game/tools/assetBrowser/art/clientScriptIcon.png


BIN
Templates/BaseGame/game/tools/assetBrowser/art/componentIcon.png


BIN
Templates/BaseGame/game/tools/assetBrowser/art/cppIcon.png


BIN
Templates/BaseGame/game/tools/assetBrowser/art/datablockIcon.png


BIN
Templates/BaseGame/game/tools/assetBrowser/art/folderIcon.png


BIN
Templates/BaseGame/game/tools/assetBrowser/art/gameObjectIcon.png


BIN
Templates/BaseGame/game/tools/assetBrowser/art/guiIcon.png


BIN
Templates/BaseGame/game/tools/assetBrowser/art/levelIcon.png


BIN
Templates/BaseGame/game/tools/assetBrowser/art/materialIcon.png


BIN
Templates/BaseGame/game/tools/assetBrowser/art/postEffectIcon.png


BIN
Templates/BaseGame/game/tools/assetBrowser/art/prefabIcon.png


BIN
Templates/BaseGame/game/tools/assetBrowser/art/scriptIcon.png


BIN
Templates/BaseGame/game/tools/assetBrowser/art/serverScriptIcon.png


BIN
Templates/BaseGame/game/tools/assetBrowser/art/soundIcon.png


BIN
Templates/BaseGame/game/tools/assetBrowser/art/stateMachineIcon.png


BIN
Templates/BaseGame/game/tools/assetBrowser/art/terrainIcon.png


BIN
Templates/BaseGame/game/tools/assetBrowser/art/terrainMaterialIcon.png


+ 234 - 67
Templates/BaseGame/game/tools/assetBrowser/guis/assetBrowser.gui

@@ -30,7 +30,7 @@ $guiContent = new GuiControl(AssetBrowser) {
       anchorBottom = "0";
       anchorLeft = "1";
       anchorRight = "0";
-      position = "321 334";
+      position = "120 334";
       extent = "381 99";
       minExtent = "48 92";
       horizSizing = "center";
@@ -138,8 +138,8 @@ $guiContent = new GuiControl(AssetBrowser) {
       };
    };
    new GuiWindowCtrl(AssetBrowserWindow) {
-      text = "Asset Browser";
-      resizeWidth = "1";
+      text = "::  Asset Browser";
+      resizeWidth = "0";
       resizeHeight = "1";
       canMove = "1";
       canClose = "1";
@@ -154,9 +154,10 @@ $guiContent = new GuiControl(AssetBrowser) {
       anchorBottom = "0";
       anchorLeft = "1";
       anchorRight = "0";
-      position = "204 80";
-      extent = "615 608";
-      minExtent = "383 274";
+      //position = "204 80";
+      Position = "0" SPC getWord($pref::Video::mode, 1) - 360 - 60;
+      extent = getWord($pref::Video::mode, 0) - 360 SPC "360";
+      minExtent = "360 120";
       horizSizing = "windowRelative";
       vertSizing = "windowRelative";
       profile = "ToolsGuiWindowProfile";
@@ -181,7 +182,7 @@ $guiContent = new GuiControl(AssetBrowser) {
          dynamicSize = "0";
          padding = "0 0 0 0";
          position = "0 24";
-         extent = "615 30";
+         extent = "615 32";
          minExtent = "8 2";
          horizSizing = "right";
          vertSizing = "bottom";
@@ -196,19 +197,19 @@ $guiContent = new GuiControl(AssetBrowser) {
          canSaveDynamicFields = "0";
 
          new GuiIconButtonCtrl() {
-            buttonMargin = "4 4";
+            buttonMargin = "0 0";
             bitmapAsset = "ToolsModule:phone_image";
             iconLocation = "Left";
-            sizeIconToButton = "1";
-            makeIconSquare = "1";
+            sizeIconToButton = "0";
+            makeIconSquare = "0";
             textLocation = "Left";
-            textMargin = "4";
+            textMargin = "0";
             autoSize = "0";
             groupNum = "-1";
             buttonType = "PushButton";
             useMouseEvents = "0";
             position = "0 0";
-            extent = "30 30";
+            extent = "32 32";
             minExtent = "8 2";
             horizSizing = "right";
             vertSizing = "bottom";
@@ -222,21 +223,22 @@ $guiContent = new GuiControl(AssetBrowser) {
             internalName = "windowOptionsButton";
             canSave = "1";
             canSaveDynamicFields = "0";
+            buttonMargin = "-2 0";
          };
          new GuiIconButtonCtrl() {
-            buttonMargin = "4 4";
+            buttonMargin = "0 0";
             bitmapAsset = "ToolsModule:plus_image";
             iconLocation = "Left";
-            sizeIconToButton = "1";
-            makeIconSquare = "1";
+            sizeIconToButton = "0";
+            makeIconSquare = "0";
             textLocation = "Center";
-            textMargin = "4";
+            textMargin = "0";
             autoSize = "0";
             groupNum = "-1";
             buttonType = "PushButton";
             useMouseEvents = "0";
-            position = "30 0";
-            extent = "30 30";
+            position = "32 0";
+            extent = "32 32";
             minExtent = "8 2";
             horizSizing = "right";
             vertSizing = "bottom";
@@ -250,21 +252,22 @@ $guiContent = new GuiControl(AssetBrowser) {
             class="CreateAssetButton";
             canSave = "1";
             canSaveDynamicFields = "0";
+            buttonMargin = "-2 0";
          };
          new GuiIconButtonCtrl() {
-            buttonMargin = "4 4";
+            buttonMargin = "0 0";
             bitmapAsset = "ToolsModule:import_image";
             iconLocation = "Left";
-            sizeIconToButton = "1";
-            makeIconSquare = "1";
+            sizeIconToButton = "0";
+            makeIconSquare = "0";
             textLocation = "Center";
-            textMargin = "4";
+            textMargin = "0";
             autoSize = "0";
             groupNum = "-1";
             buttonType = "PushButton";
             useMouseEvents = "0";
-            position = "60 0";
-            extent = "30 30";
+            position = "64 0";
+            extent = "32 32";
             minExtent = "8 2";
             horizSizing = "right";
             vertSizing = "bottom";
@@ -279,21 +282,22 @@ $guiContent = new GuiControl(AssetBrowser) {
             command="AssetBrowser.importNewFile();";
             canSave = "1";
             canSaveDynamicFields = "0";
+            buttonMargin = "-2 0";
          };
          new GuiIconButtonCtrl() {
-            buttonMargin = "4 4";
+            buttonMargin = "0 0";
             bitmapAsset = "ToolsModule:filter_image";
             iconLocation = "Left";
-            sizeIconToButton = "1";
-            makeIconSquare = "1";
+            sizeIconToButton = "0";
+            makeIconSquare = "0";
             textLocation = "Center";
-            textMargin = "4";
+            textMargin = "0";
             autoSize = "0";
             groupNum = "-1";
             buttonType = "PushButton";
             useMouseEvents = "0";
-            position = "90 0";
-            extent = "30 30";
+            position = "96 0";
+            extent = "32 32";
             minExtent = "8 2";
             horizSizing = "right";
             vertSizing = "bottom";
@@ -308,21 +312,22 @@ $guiContent = new GuiControl(AssetBrowser) {
             internalName = "filterAssetsButton";
             canSave = "1";
             canSaveDynamicFields = "0";
+            buttonMargin = "-2 0";
          };
          new GuiIconButtonCtrl() {
-            buttonMargin = "4 4";
+            buttonMargin = "0 0";
             bitmapAsset = "ToolsModule:gear_image";
             iconLocation = "Left";
-            sizeIconToButton = "1";
-            makeIconSquare = "1";
+            sizeIconToButton = "0";
+            makeIconSquare = "0";
             textLocation = "Center";
-            textMargin = "4";
+            textMargin = "0";
             autoSize = "0";
             groupNum = "-1";
             buttonType = "PushButton";
             useMouseEvents = "0";
-            position = "120 0";
-            extent = "30 30";
+            position = "128 0";
+            extent = "32 32";
             minExtent = "8 2";
             horizSizing = "right";
             vertSizing = "bottom";
@@ -337,21 +342,22 @@ $guiContent = new GuiControl(AssetBrowser) {
             internalName = "editAssetSettingsButton";
             canSave = "1";
             canSaveDynamicFields = "0";
+            buttonMargin = "-2 0";
          };
          new GuiIconButtonCtrl() {
-            buttonMargin = "4 4";
+            buttonMargin = "0 0";
             bitmapAsset = "ToolsModule:warning_image";
             iconLocation = "Left";
-            sizeIconToButton = "1";
-            makeIconSquare = "1";
+            sizeIconToButton = "0";
+            makeIconSquare = "0";
             textLocation = "Center";
-            textMargin = "4";
+            textMargin = "0";
             autoSize = "0";
             groupNum = "-1";
             buttonType = "PushButton";
             useMouseEvents = "0";
-            position = "150 0";
-            extent = "30 30";
+            position = "160 0";
+            extent = "32 32";
             minExtent = "8 2";
             horizSizing = "right";
             vertSizing = "bottom";
@@ -366,6 +372,37 @@ $guiContent = new GuiControl(AssetBrowser) {
             internalName = "AutoImportAssetButton";
             canSave = "1";
             canSaveDynamicFields = "0";
+            buttonMargin = "-2 0";
+         };
+         new GuiIconButtonCtrl() {
+            buttonMargin = "0 0";
+            bitmapAsset = "ToolsModule:console_image";
+            iconLocation = "Left";
+            sizeIconToButton = "0";
+            makeIconSquare = "0";
+            textLocation = "Center";
+            textMargin = "0";
+            autoSize = "0";
+            groupNum = "-1";
+            buttonType = "PushButton";
+            useMouseEvents = "0";
+            position = "192 0";
+            extent = "32 32";
+            minExtent = "8 2";
+            horizSizing = "right";
+            vertSizing = "bottom";
+            profile = "ToolsGuiDefaultProfile";
+            visible = "1";
+            active = "1";
+            command = "windowConsoleDlg.showWindow();";
+            tooltipProfile = "GuiToolTipProfile";
+            tooltip = "Open the console log in a window.";
+            hovertime = "1000";
+            isContainer = "0";
+            internalName = "ABwindowConsoleButton";
+            canSave = "1";
+            canSaveDynamicFields = "0";
+            buttonMargin = "-2 0";
          };
       };
       new GuiSplitContainer(AssetBrowser_MainSplit) {
@@ -373,7 +410,7 @@ $guiContent = new GuiControl(AssetBrowser) {
          splitterSize = "2";
          splitPoint = "190 100";
          fixedPanel = "None";
-         fixedSize = "468";
+         fixedSize = "280";
          docking = "None";
          margin = "0 0 0 0";
          padding = "0 0 0 0";
@@ -382,7 +419,7 @@ $guiContent = new GuiControl(AssetBrowser) {
          anchorLeft = "1";
          anchorRight = "0";
          position = "3 56";
-         extent = "608 532";
+         extent = getWord($pref::Video::mode, 0) - 360 - 2 SPC "280";
          minExtent = "64 64";
          horizSizing = "relative";
          vertSizing = "height";
@@ -404,7 +441,7 @@ $guiContent = new GuiControl(AssetBrowser) {
             anchorLeft = "1";
             anchorRight = "0";
             position = "0 0";
-            extent = "188 532";
+            extent = "188 280";
             minExtent = "0 0";
             horizSizing = "right";
             vertSizing = "bottom";
@@ -480,7 +517,7 @@ $guiContent = new GuiControl(AssetBrowser) {
                   buttonType = "PushButton";
                   useMouseEvents = "0";
                   position = "173 4";
-                  extent = "15 15";
+                  extent = "16 16";
                   minExtent = "8 2";
                   horizSizing = "left";
                   vertSizing = "bottom";
@@ -496,7 +533,7 @@ $guiContent = new GuiControl(AssetBrowser) {
                   canSaveDynamicFields = "0";
                };
             };
-            new GuiContainer() {
+            new GuiContainer(AssetBrowserTreePanel) {
                margin = "0 0 0 0";
                padding = "0 0 0 0";
                anchorTop = "1";
@@ -504,7 +541,7 @@ $guiContent = new GuiControl(AssetBrowser) {
                anchorLeft = "1";
                anchorRight = "0";
                position = "0 17";
-               extent = "188 516";
+               extent = "188 260";
                minExtent = "8 2";
                horizSizing = "width";
                vertSizing = "height";
@@ -517,7 +554,7 @@ $guiContent = new GuiControl(AssetBrowser) {
                canSave = "1";
                canSaveDynamicFields = "0";
 
-               new GuiScrollCtrl() {
+               new GuiScrollCtrl(AssetBrowserTreeScroll) {
                   willFirstRespond = "1";
                   hScrollBar = "dynamic";
                   vScrollBar = "dynamic";
@@ -534,7 +571,7 @@ $guiContent = new GuiControl(AssetBrowser) {
                   anchorLeft = "1";
                   anchorRight = "0";
                   position = "0 0";
-                  extent = "188 516";
+                  extent = "188 260";
                   minExtent = "8 8";
                   horizSizing = "width";
                   vertSizing = "height";
@@ -596,7 +633,7 @@ $guiContent = new GuiControl(AssetBrowser) {
             anchorLeft = "1";
             anchorRight = "0";
             position = "192 0";
-            extent = "416 532";
+            extent = "416 260";
             minExtent = "16 16";
             horizSizing = "right";
             vertSizing = "bottom";
@@ -868,7 +905,7 @@ $guiContent = new GuiControl(AssetBrowser) {
                   canSaveDynamicFields = "0";
                };
             };
-            new GuiContainer() {
+            new GuiContainer(AssetListContainer) {
                margin = "0 0 0 0";
                padding = "0 0 0 0";
                anchorTop = "1";
@@ -876,7 +913,7 @@ $guiContent = new GuiControl(AssetBrowser) {
                anchorLeft = "1";
                anchorRight = "1";
                position = "1 37";
-               extent = "416 495";
+               extent = "416 240";
                minExtent = "8 2";
                horizSizing = "width";
                vertSizing = "height";
@@ -906,7 +943,7 @@ $guiContent = new GuiControl(AssetBrowser) {
                   anchorLeft = "1";
                   anchorRight = "0";
                   position = "0 0";
-                  extent = "416 479";
+                  extent = "416 220";
                   minExtent = "8 8";
                   horizSizing = "width";
                   vertSizing = "height";
@@ -922,7 +959,7 @@ $guiContent = new GuiControl(AssetBrowser) {
                   new GuiMouseEventCtrl(AssetListPanelInputs) {
                      lockMouse = "0";
                      position = "1 1";
-                     extent = "414 472";
+                     extent = "414 220";
                      minExtent = "8 2";
                      horizSizing = "width";
                      vertSizing = "height";
@@ -996,11 +1033,11 @@ $guiContent = new GuiControl(AssetBrowser) {
                   anchorBottom = "0";
                   anchorLeft = "1";
                   anchorRight = "0";
-                  position = "0 479";
-                  extent = "416 16";
+                  position = "0 220";
+                  extent = "300 16";
                   minExtent = "8 2";
                   horizSizing = "width";
-                  vertSizing = "height";
+                  vertSizing = "top";
                   profile = "ToolsGuiSolidDefaultProfile";
                   visible = "1";
                   active = "1";
@@ -1020,7 +1057,7 @@ $guiContent = new GuiControl(AssetBrowser) {
                   anchorBottom = "0";
                   anchorLeft = "1";
                   anchorRight = "0";
-                  position = "0 475";
+                  position = "0 220";
                   extent = "269 23";
                   minExtent = "8 2";
                   horizSizing = "right";
@@ -1044,8 +1081,8 @@ $guiContent = new GuiControl(AssetBrowser) {
                   groupNum = "-1";
                   buttonType = "PushButton";
                   useMouseEvents = "0";
-                  position = "-2 200";
-                  extent = "18 18";
+                  position = "-2 120";
+                  extent = "16 16";
                   minExtent = "8 2";
                   horizSizing = "right";
                   vertSizing = "center";
@@ -1068,7 +1105,7 @@ $guiContent = new GuiControl(AssetBrowser) {
          groupNum = "-1";
          buttonType = "PushButton";
          useMouseEvents = "0";
-         position = "559 588";
+         position = "120 340";
          extent = "53 19";
          minExtent = "8 2";
          horizSizing = "left";
@@ -1087,8 +1124,8 @@ $guiContent = new GuiControl(AssetBrowser) {
       };
       new GuiBitmapCtrl() {
          bitmapAsset = "ToolsModule:smaller_image";
-         position = "5 588";
-         extent = "20 20";
+         position = "5 338";
+         extent = "16 16";
          minExtent = "8 2";
          horizSizing = "right";
          vertSizing = "top";
@@ -1109,7 +1146,7 @@ $guiContent = new GuiControl(AssetBrowser) {
          useFillBar = "0";
          fillBarColor = "255 255 255 255";
          renderTicks = "0";
-         position = "28 590";
+         position = "24 340";
          extent = "75 20";
          minExtent = "8 2";
          horizSizing = "right";
@@ -1129,8 +1166,8 @@ $guiContent = new GuiControl(AssetBrowser) {
       };
       new GuiBitmapCtrl() {
          bitmapAsset = "ToolsModule:larger_image";
-         position = "103 588";
-         extent = "20 20";
+         position = "103 338";
+         extent = "16 16";
          minExtent = "8 2";
          horizSizing = "right";
          vertSizing = "top";
@@ -1143,6 +1180,136 @@ $guiContent = new GuiControl(AssetBrowser) {
          canSave = "1";
          canSaveDynamicFields = "0";
       };
+      new GuiButtonCtrl(assetBrowser_Tab1) {
+         text = "Tab1 Text 1";
+         buttonType = "PushButton";
+         useMouseEvents = "0";
+         position = "5 1";
+         extent = "95 20";
+         minExtent = "8 2";
+         horizSizing = "right";
+         vertSizing = "bottom";
+         profile = "ToolsGuiEditorTabButton";
+         visible = "1";
+         hidden = "1";
+         active = "1";
+         command = "";
+         tooltipProfile = "ToolsGuiToolTipProfile";
+         ToolTip = "Bring this window to the front";
+         hovertime = "1000";
+         isContainer = "0";
+         canSave = "0";
+         canSaveDynamicFields = "0";
+      };
+      new GuiButtonCtrl(assetBrowser_Tab2) {
+         text = "Tab1 Text 2";
+         buttonType = "PushButton";
+         useMouseEvents = "0";
+         position = "105 1";
+         extent = "95 20";
+         minExtent = "8 2";
+         horizSizing = "right";
+         vertSizing = "bottom";
+         profile = "ToolsGuiEditorTabButton";
+         visible = "1";
+         hidden = "1";
+         active = "1";
+         command = "";
+         tooltipProfile = "ToolsGuiToolTipProfile";
+         ToolTip = "Bring this window to the front";
+         hovertime = "1000";
+         isContainer = "0";
+         canSave = "0";
+         canSaveDynamicFields = "0";
+      };
+      new GuiButtonCtrl(assetBrowser_Tab3) {
+         text = "Tab1 Text 3";
+         buttonType = "PushButton";
+         useMouseEvents = "0";
+         position = "205 1";
+         extent = "95 20";
+         minExtent = "8 2";
+         horizSizing = "right";
+         vertSizing = "bottom";
+         profile = "ToolsGuiEditorTabButton";
+         visible = "1";
+         hidden = "1";
+         active = "1";
+         command = "";
+         tooltipProfile = "ToolsGuiToolTipProfile";
+         ToolTip = "Bring this window to the front";
+         hovertime = "1000";
+         isContainer = "0";
+         canSave = "0";
+         canSaveDynamicFields = "0";
+      };
+      new GuiButtonCtrl(assetBrowser_Tab4) {
+         text = "Tab1 Text 4";
+         buttonType = "PushButton";
+         useMouseEvents = "0";
+         position = "305 1";
+         extent = "95 20";
+         minExtent = "8 2";
+         horizSizing = "right";
+         vertSizing = "bottom";
+         profile = "ToolsGuiEditorTabButton";
+         visible = "1";
+         hidden = "1";
+         active = "1";
+         command = "";
+         tooltipProfile = "ToolsGuiToolTipProfile";
+         ToolTip = "Bring this window to the front";
+         hovertime = "1000";
+         isContainer = "0";
+         canSave = "0";
+         canSaveDynamicFields = "0";
+      };
+      new GuiBitmapButtonCtrl(AssetBrowserWindow_UnDockBtn) {
+         canSaveDynamicFields = "0";
+         internalName = "";
+         Enabled = "1";
+         isContainer = "0";
+         Profile = "ToolsGuiButtonProfile";
+         HorizSizing = "left";
+         VertSizing = "bottom";
+         Position = getWord($pref::Video::mode, 0) - 407 SPC "1";
+         Extent = "18 18";
+         MinExtent = "8 8";
+         canSave = "1";
+         Visible = "1";
+         Command = "AssetBrowserWindow.releasePanel();";
+         tooltipprofile = "ToolsGuiToolTipProfile";
+         ToolTip = "Detach Panel";
+         hovertime = "1000";
+         bitmapAsset = "ToolsModule:panel_undock_n_image";
+         text = "";
+         groupNum = "-1";
+         buttonType = "PushButton";
+         useMouseEvents = "0";
+      };
+      new GuiBitmapButtonCtrl(AssetBrowserWindow_DockBtn) {
+         canSaveDynamicFields = "0";
+         internalName = "";
+         Enabled = "1";
+         isContainer = "0";
+         Profile = "ToolsGuiButtonProfile";
+         HorizSizing = "left";
+         VertSizing = "bottom";
+         Position = getWord($pref::Video::mode, 0) - 407 SPC "1";
+         Extent = "18 18";
+         MinExtent = "8 8";
+         canSave = "1";
+         Visible = "0";
+         Command = "AssetBrowserWindow.dockPanel();";
+         tooltipprofile = "ToolsGuiToolTipProfile";
+         ToolTip = "Dock Panel";
+         hovertime = "1000";
+         bitmapAsset = "ToolsModule:panel_dock_n_image";
+         text = "";
+         groupNum = "-1";
+         buttonType = "PushButton";
+         useMouseEvents = "0";
+      };    
    };
 };
 //--- OBJECT WRITE END ---

+ 132 - 8
Templates/BaseGame/game/tools/assetBrowser/scripts/assetBrowser.tscript

@@ -18,14 +18,14 @@ function AssetBrowser::addToolbarButton(%this)
 		tooltipprofile = "ToolsGuiToolTipProfile";
 		ToolTip = "Asset Browser";
 		hovertime = "750";
-		bitmapAsset = "ToolsModule:menuGrid_n_image";
+		bitmapAsset = "ToolsModule:assetBrowser_n_image";
 		bitmapMode = "Stretched";
-		buttonType = "PushButton";
+		buttonType = "ToggleButton";
 		groupNum = "0";
 		useMouseEvents = "0";
 	};
 	ToolsToolbarArray.add(%button);
-	EWToolsToolbar.setExtent((25 + 8) * (ToolsToolbarArray.getCount()) + 12 SPC "33");
+	EWToolsToolbar.setExtent((29 + 4) * (ToolsToolbarArray.getCount()) + 4 SPC "32");
 }
 //
 
@@ -73,12 +73,84 @@ function AssetBrowser::onAdd(%this)
 function AssetBrowser::onWake(%this)
 {
    %this.initialize();
+   
+   // Make the window fit next to the side panel
+   // We do a simple resize so that we don't have to redo the whole GUI layout
+   %newWidth = getWord($pref::Video::mode, 0) - 360;
+   %vertPos = getWord($pref::Video::mode, 1) - 360 - 35;
+   AssetBrowserWindow.resize("0", %vertPos, %newWidth, "360");
+   AssetBrowserWindow.dockPanel();
 }
 
 function AssetBrowser::onDialogPop(%this)
 {
+   $AssetBrowser::Open = false;
    %lastPosExt = AssetBrowserWindow.position SPC AssetBrowserWindow.extent;
-   EditorSettings.setValue("Assets/Browser/LastPosExt", %lastPosExt); 
+   EditorSettings.setValue("Assets/Browser/LastPosExt", %lastPosExt);
+}
+
+function AssetBrowser::onDialogPush(%this)
+{
+   $AssetBrowser::Open = true;
+   
+   // Add a tab to the windowed console
+   if($WindowConsole::Open)
+   {
+      %text = "Console Log";
+      %command = "windowConsoleControl.putToFront();";
+      
+      AssetBrowserWindow.text = ""; 
+      windowConsoleControl.text = ""; 
+      
+      AssetBrowser.setTab(assetBrowser_Tab1, "Asset Browser", "");
+      assetBrowser_Tab1.setHidden(false);
+      assetBrowser_Tab1.setActive(false);
+      
+      if(assetBrowser_Tab2.text $= %text || assetBrowser_Tab3.text $= %text || assetBrowser_Tab4.text $= %text)
+      {
+         // we have a tab, don't do anything
+      }
+      else if(assetBrowser_Tab2.hidden == true)
+      {
+         AssetBrowser.setTab(assetBrowser_Tab2, %text, %command);
+      }
+      else if(assetBrowser_Tab3.hidden == true)
+      {
+         AssetBrowser.setTab(assetBrowser_Tab3, %text, %command);
+      }
+      else if(assetBrowser_Tab4.hidden == true)
+      {
+         AssetBrowser.setTab(assetBrowser_Tab4, %text, %command);
+      }
+      else
+      {
+         warn("Ran out of tabs for AssetBrowserWindow - windowConsoleDlg::showWindow()");
+      }
+   }
+   
+   EditorGui.updateSideBar();
+}
+
+function AssetBrowser::setTab(%this, %tab, %text, %command)
+{
+   if(isObject(%tab))
+   {
+      %tab.setActive(true);
+      %tab.setHidden(false);
+      %tab.setText(%text);
+      %tab.command = %command;
+   }
+}
+
+function AssetBrowser::putToFront(%this)
+{
+   // Close the object
+   AssetBrowser.hideDialog();
+   // Create the object again so it will render on top
+   AssetBrowser.ShowDialog();
+   // Put the focus on this window
+   AssetBrowser.restoreLastPosExt();
+   AssetBrowserWindow.selectWindow();
 }
 
 function AssetBrowser::restoreLastPosExt(%this)
@@ -88,6 +160,7 @@ function AssetBrowser::restoreLastPosExt(%this)
    {
       AssetBrowserWindow.resize(getWord(%lastPosExt, 0), getWord(%lastPosExt, 1), getWord(%lastPosExt, 2), getWord(%lastPosExt, 3));
    }    
+   EditorGui.updateSideBar();
 }
 
 function contentTreeTabBook::onTabSelected(%this, %tabText, %tabIndex)
@@ -304,6 +377,11 @@ function AssetBrowser::showDialog( %this, %AssetTypeFilter, %selectCallback, %ta
    AssetBrowserWindow.setVisible(1);
    AssetBrowserWindow.selectWindow();
    
+   if(AssetBrowserWindow.docked)
+      AssetBrowserWindow.dockPanel();
+   else
+      AssetBrowserWindow.releasePanel();
+   
    //If we're special-case filtering(like for selecting a given type), then ignore our normal
    //visibility filter
    if(%AssetTypeFilter !$= "")
@@ -511,7 +589,7 @@ function AssetBrowser::buildAssetPreview( %this, %asset, %moduleName )
       extent = %previewSize.x SPC %previewSize.y + %textBottomPad;
       buttonType = "RadioButton";
       buttonMargin = "0 -10";
-      profile = ToolsGuiDefaultProfile;
+      profile = ToolsGuiDefaultIconBtnProfile;
    };
    
    %previewScaleSize = AssetBrowser-->previewSlider.getValue();
@@ -526,8 +604,9 @@ function AssetBrowser::buildAssetPreview( %this, %asset, %moduleName )
    {
       %previewButton.iconLocation = "Left";
       %previewButton.textLocation = "Right";
-      %previewButton.setextent(120,20);
-      %previewButton.buttonMargin = "0 0";
+      %previewButton.setextent(160,34);
+      %previewButton.buttonMargin = "8 8";
+      %previewButton.textMargin = "6";
       
       AssetBrowser.previewListMode = true;
    }
@@ -2710,7 +2789,8 @@ function AssetBrowser::importLooseFiles(%this)
    LooseFileAuditWindow.showDialog(%this.dirHandler.currentAddress);  
 }
 
-//
+// -----------------------------------------------------------------------------
+
 function getAssetPreviewImage(%asset)
 {
    if(isFile(%asset))
@@ -2755,4 +2835,48 @@ function getAssetPreviewImage(%asset)
       %previewPath = "ToolsModule:unknownImage_image";
    
    return %previewPath;
+}
+
+// -----------------------------------------------------------------------------
+
+function AssetBrowserWindow::dockPanel(%this)
+{
+   if(%this.docked == true)
+      return;
+   
+   %this.resizing = true;
+      
+   %this.docked = true;
+
+   %this.canCollapse = "0";
+   %this.canMove = "0";
+   %this.resizeWidth = "0";
+   
+   AssetBrowserWindow_UnDockBtn.Visible = "1";
+   AssetBrowserWindow_DockBtn.Visible = "0";
+   
+   EditorGui.updateSideBar();
+}
+
+function AssetBrowserWindow::releasePanel(%this)
+{
+   if(%this.docked == false)
+      return;
+
+   %this.canCollapse = "1";
+   %this.canMove = "1";
+   %this.resizeWidth = "1";
+   
+   AssetBrowserWindow_UnDockBtn.Visible = "0";
+   AssetBrowserWindow_DockBtn.Visible = "1";
+   
+   // Let's do a small resize so it's visually clear we're "undocking"
+   %position = %this.position.x + 6 SPC %this.position.y - 6;
+   %extent = %this.extent.x SPC %this.extent.y;
+   %this.resize(%position.x, %position.y, %extent.x, %extent.y);
+   
+   %this.docked = false;
+   %this.resizing = false;
+   
+   EditorGui.updateSideBar();
 }

BIN
Templates/BaseGame/game/tools/classIcons/ActiveScene.png


BIN
Templates/BaseGame/game/tools/classIcons/BasicClouds.png


BIN
Templates/BaseGame/game/tools/classIcons/Camera.png


BIN
Templates/BaseGame/game/tools/classIcons/CameraBookmark.png


BIN
Templates/BaseGame/game/tools/classIcons/CloudLayer.png


BIN
Templates/BaseGame/game/tools/classIcons/Component.png


+ 8 - 0
Templates/BaseGame/game/tools/classIcons/Component_image.asset.taml

@@ -0,0 +1,8 @@
+<ImageAsset
+    canSave="true"
+    canSaveDynamicFields="true"
+    AssetName="Component_image"
+    imageFile="@assetFile=Component.png"
+    UseMips="true"
+    isHDRImage="false"
+    imageType="Albedo" />

BIN
Templates/BaseGame/game/tools/classIcons/ConvexShape.png


BIN
Templates/BaseGame/game/tools/classIcons/CreatorTree.png


BIN
Templates/BaseGame/game/tools/classIcons/DecalRoad.png


BIN
Templates/BaseGame/game/tools/classIcons/Forest.png


BIN
Templates/BaseGame/game/tools/classIcons/ForestBrush.png


BIN
Templates/BaseGame/game/tools/classIcons/ForestBrushElement.png


BIN
Templates/BaseGame/game/tools/classIcons/GameTSCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GroundCover.png


BIN
Templates/BaseGame/game/tools/classIcons/GroundPlane.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiAutoScrollCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiBitmapBorderCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiBitmapButtonCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiBitmapButtonTextCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiBitmapCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiBorderButtonCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiButtonCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiCheckBoxCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiColorPickerCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiContainer.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiControl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiControlArrayControl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiCrossHairHud.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiDecoyCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiDragAndDropControl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiDynamicCtrlArrayControl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiFadeinBitmapCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiFileTreeCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiFilterCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiFormCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiFrameSetCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiGradientSwatchCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiGraphCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiHealthBarHud.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiIconButtonCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiListBoxCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiMLTextCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiMLTextEditCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiMenuBar.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiObjectView.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiPanel.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiPopUpMenuCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiPopUpMenuCtrlEx.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiProgressBitmapCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiProgressCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiRadioCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiRectHandles.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiRolloutCtrl.png


BIN
Templates/BaseGame/game/tools/classIcons/GuiScrollCtrl.png


Unele fișiere nu au fost afișate deoarece prea multe fișiere au fost modificate în acest diff