Explorar el Código

Merge https://github.com/TorqueGameEngines/Torque3D into feature-vfs-security

Robert MacGregor hace 3 años
padre
commit
2b8f9e3999

+ 1 - 1
Engine/source/T3D/convexShape.cpp

@@ -263,7 +263,7 @@ bool ConvexShape::protectedSetSurfaceTexture(void *object, const char *index, co
 
 
    surfaceMaterial surface;
    surfaceMaterial surface;
 
 
-   surface._setMaterial(data);
+   surface._setMaterial(StringTable->insert(data));
 
 
    shape->mSurfaceTextures.push_back(surface);
    shape->mSurfaceTextures.push_back(surface);
 
 

+ 9 - 6
Engine/source/console/arrayObject.cpp

@@ -155,8 +155,9 @@ bool ArrayObject::_addKeyFromField( void *object, const char *index, const char
 
 
 S32 ArrayObject::getIndexFromValue( const String &value ) const
 S32 ArrayObject::getIndexFromValue( const String &value ) const
 {
 {
+   S32 currentIndex = mMax(mCurrentIndex, 0);
    S32 foundIndex = -1;
    S32 foundIndex = -1;
-   for ( S32 i = mCurrentIndex; i < mArray.size(); i++ )
+   for ( S32 i = currentIndex; i < mArray.size(); i++ )
    {
    {
       if ( isEqual( mArray[i].value, value ) )
       if ( isEqual( mArray[i].value, value ) )
       {
       {
@@ -167,7 +168,7 @@ S32 ArrayObject::getIndexFromValue( const String &value ) const
 
 
    if( foundIndex < 0 )
    if( foundIndex < 0 )
    {
    {
-      for ( S32 i = 0; i < mCurrentIndex; i++ )
+      for ( S32 i = 0; i < currentIndex; i++ )
       {
       {
          if ( isEqual( mArray[i].value, value ) )
          if ( isEqual( mArray[i].value, value ) )
          {
          {
@@ -184,8 +185,9 @@ S32 ArrayObject::getIndexFromValue( const String &value ) const
 
 
 S32 ArrayObject::getIndexFromKey( const String &key ) const
 S32 ArrayObject::getIndexFromKey( const String &key ) const
 {
 {
+   S32 currentIndex = mMax(mCurrentIndex, 0);
    S32 foundIndex = -1;
    S32 foundIndex = -1;
-   for ( S32 i = mCurrentIndex; i < mArray.size(); i++ )
+   for ( S32 i = currentIndex; i < mArray.size(); i++ )
    {
    {
       if ( isEqual( mArray[i].key, key ) )
       if ( isEqual( mArray[i].key, key ) )
       {
       {
@@ -196,7 +198,7 @@ S32 ArrayObject::getIndexFromKey( const String &key ) const
 
 
    if( foundIndex < 0 )
    if( foundIndex < 0 )
    {
    {
-      for ( S32 i = 0; i < mCurrentIndex; i++ )
+      for ( S32 i = 0; i < currentIndex; i++ )
       {
       {
          if ( isEqual( mArray[i].key, key ) )
          if ( isEqual( mArray[i].key, key ) )
          {
          {
@@ -213,8 +215,9 @@ S32 ArrayObject::getIndexFromKey( const String &key ) const
 
 
 S32 ArrayObject::getIndexFromKeyValue( const String &key, const String &value ) const
 S32 ArrayObject::getIndexFromKeyValue( const String &key, const String &value ) const
 {
 {
+   S32 currentIndex = mMax(mCurrentIndex, 0);
    S32 foundIndex = -1;
    S32 foundIndex = -1;
-   for ( S32 i = mCurrentIndex; i < mArray.size(); i++ )
+   for ( S32 i = currentIndex; i < mArray.size(); i++ )
    {
    {
       if ( isEqual( mArray[i].key, key ) && isEqual( mArray[i].value, value ) )
       if ( isEqual( mArray[i].key, key ) && isEqual( mArray[i].value, value ) )
       {
       {
@@ -225,7 +228,7 @@ S32 ArrayObject::getIndexFromKeyValue( const String &key, const String &value )
 
 
    if ( foundIndex < 0 )
    if ( foundIndex < 0 )
    {
    {
-      for ( S32 i = 0; i < mCurrentIndex; i++ )
+      for ( S32 i = 0; i < currentIndex; i++ )
       {
       {
          if ( isEqual( mArray[i].key, key ) && isEqual( mArray[i].value, value ) )
          if ( isEqual( mArray[i].key, key ) && isEqual( mArray[i].value, value ) )
          {
          {

+ 1 - 1
Engine/source/gui/worldEditor/guiConvexShapeEditorCtrl.cpp

@@ -1075,7 +1075,7 @@ void GuiConvexEditorCtrl::renderScene(const RectI & updateRect)
          Point3F boxPos = objBox.getCenter();
          Point3F boxPos = objBox.getCenter();
          objMat.mulP( boxPos );
          objMat.mulP( boxPos );
          
          
-         drawer->drawObjectBox( desc, objBox.getExtents(), boxPos, objMat, ColorI::WHITE );
+         drawer->drawObjectBox( desc, objBox.getExtents() / 2, boxPos, objMat, ColorI::WHITE );
       }
       }
       else
       else
       {
       {

+ 1 - 1
Engine/source/shaderGen/GLSL/shaderFeatureGLSL.cpp

@@ -3053,7 +3053,7 @@ void ReflectionProbeFeatGLSL::processPix(Vector<ShaderComponent*>& componentList
    }
    }
          
          
    //Reflection vec
    //Reflection vec
-   String computeForwardProbes = String("   @.rgb = computeForwardProbes(@,@,@,@,@,@,@,@,@,\r\n\t\t");
+   String computeForwardProbes = String("   @ = computeForwardProbes(@,@,@,@,@,@,@,@,@,\r\n\t\t");
    computeForwardProbes += String("@,@,\r\n\t\t");
    computeForwardProbes += String("@,@,\r\n\t\t");
    computeForwardProbes += String("@,@).rgb; \r\n");
    computeForwardProbes += String("@,@).rgb; \r\n");
 
 

+ 5 - 15
Templates/BaseGame/game/tools/convexEditor/convexEditorGui.tscript

@@ -38,7 +38,7 @@ function ConvexEditorGui::onWake( %this )
 		   %mat = %matName;
 		   %mat = %matName;
 		}
 		}
 		
 		
-		ConvexEditorOptionsWindow-->matPreviewBtn.setBitmap( getAssetPreviewImage(%mat.getDiffuseMap(0)));
+		ConvexEditorOptionsWindow-->matPreviewBtn.bitmapAsset = getAssetPreviewImage(%mat.getDiffuseMap(0));
 		
 		
 		ConvexEditorOptionsWindow.activeMaterial = %mat;
 		ConvexEditorOptionsWindow.activeMaterial = %mat;
 	}
 	}
@@ -78,7 +78,7 @@ function ConvexEditorGui::onSelectionChanged( %this, %shape, %face )
 
 
    ConvexEditorOptionsWindow-->defMatPreviewBtn.setText("");
    ConvexEditorOptionsWindow-->defMatPreviewBtn.setText("");
    %shapeMat = %shape.getMaterial();
    %shapeMat = %shape.getMaterial();
-   ConvexEditorOptionsWindow-->defMatPreviewBtn.setBitmap(getAssetPreviewImage(%shapeMat.getDiffuseMap(0)));
+   ConvexEditorOptionsWindow-->defMatPreviewBtn.bitmapAsset = getAssetPreviewImage(%shapeMat.getDiffuseMap(0));
 
 
    ConvexEditorOptionsWindow.activeShape = %shape;
    ConvexEditorOptionsWindow.activeShape = %shape;
       
       
@@ -166,18 +166,8 @@ function ConvexEditorMaterialBtn::gotMaterialName(%this, %name)
    //eval(%this.object @ "." @ %this.targetField @ " = " @ %name @ ";");
    //eval(%this.object @ "." @ %this.targetField @ " = " @ %name @ ";");
    //%this.object.changeMaterial(getTrailingNumber(%this.targetField), %name);
    //%this.object.changeMaterial(getTrailingNumber(%this.targetField), %name);
    //%this.object.inspectorApply();
    //%this.object.inspectorApply();
-   %diffusemap = %materialAsset.materialDefinitionName.getDiffuseMap(0);
-   if(%diffusemap $= "")
-   {
-      %diffuseAsset = %materialAsset.materialDefinitionName.getDiffuseMapAsset(0);
-      if(%diffuseAsset !$= "")
-      {
-         %diffuseAssetDef = AssetDatabase.acquireAsset(%diffuseAsset);
-         %diffusemap = %diffuseAssetDef.getImagePath();
-      }
-   }
-
-   ConvexEditorOptionsWindow-->matPreviewBtn.setBitmap(getAssetPreviewImage(%diffusemap));
+   %diffusemap = %materialAsset.materialDefinitionName.getDiffuseMapAsset(0);
+   ConvexEditorOptionsWindow-->matPreviewBtn.bitmapAsset = getAssetPreviewImage(%diffusemap);
 
 
    ConvexEditorOptionsWindow.activeMaterial = %materialAsset.getAssetId();
    ConvexEditorOptionsWindow.activeMaterial = %materialAsset.getAssetId();
 }
 }
@@ -242,7 +232,7 @@ function ConvexEditorDefaultMaterialBtn::gotMaterialName(%this, %name)
       }
       }
    }
    }
 
 
-   ConvexEditorOptionsWindow-->defMatPreviewBtn.setBitmap(getAssetPreviewImage(%diffusemap));
+   ConvexEditorOptionsWindow-->defMatPreviewBtn.bitmapAsset = getAssetPreviewImage(%diffusemap);
 
 
    ConvexEditorOptionsWindow.activeShape.setMaterial(%name);
    ConvexEditorOptionsWindow.activeShape.setMaterial(%name);
 
 

+ 88 - 1
Templates/BaseGame/game/tools/convexEditor/convexEditorSidebarGui.gui

@@ -23,7 +23,7 @@ $guiContnt = new GuiControl(ConvexEditorOptions)
       anchorRight = "0";
       anchorRight = "0";
       Position = Canvas.extent.x - 209
       Position = Canvas.extent.x - 209
             SPC getWord(EditorGuiToolbar.extent, 1) - 2;
             SPC getWord(EditorGuiToolbar.extent, 1) - 2;
-      Extent = "210 485";
+      Extent = "210 550";
       minExtent = "210 298";
       minExtent = "210 298";
       horizSizing = "windowRelative";
       horizSizing = "windowRelative";
       vertSizing = "windowRelative";
       vertSizing = "windowRelative";
@@ -745,6 +745,93 @@ $guiContnt = new GuiControl(ConvexEditorOptions)
             };
             };
          };
          };
       };
       };
+   
+      new GuiContainer() {
+         docking = "Top";
+         margin = "0 0 3 3";
+         padding = "0 0 0 0";
+         anchorTop = "1";
+         anchorBottom = "0";
+         anchorLeft = "1";
+         anchorRight = "0";
+         position = "4 502";
+         extent = "1432 50";
+         minExtent = "8 2";
+         horizSizing = "width";
+         vertSizing = "bottom";
+         profile = "inspectorStyleRolloutDarkProfile";
+         visible = "1";
+         active = "1";
+         tooltipProfile = "GuiToolTipProfile";
+         hovertime = "1000";
+         isContainer = "1";
+         canSave = "1";
+         canSaveDynamicFields = "0";
+
+         new GuiTextCtrl() {
+            text = "Brush Actions";
+            maxLength = "1024";
+            margin = "0 0 0 0";
+            padding = "0 0 0 0";
+            anchorTop = "1";
+            anchorBottom = "0";
+            anchorLeft = "1";
+            anchorRight = "0";
+            position = "5 0";
+            extent = "121 18";
+            minExtent = "8 2";
+            horizSizing = "right";
+            vertSizing = "bottom";
+            profile = "ToolsGuiDefaultProfile";
+            visible = "1";
+            active = "1";
+            tooltipProfile = "GuiToolTipProfile";
+            hovertime = "1000";
+            isContainer = "1";
+            canSave = "1";
+            canSaveDynamicFields = "0";
+         };
+         
+         new GuiButtonCtrl() {
+            text = "Hollow Selected";
+            groupNum = "-1";
+            buttonType = "PushButton";
+            position = "5 22";
+            extent = "90 21";
+            minExtent = "8 2";
+            horizSizing = "right";
+            vertSizing = "bottom";
+            profile = "ToolsGuiButtonProfile";
+            visible = "1";
+            active = "1";
+            tooltipProfile = "GuiToolTipProfile";
+            hovertime = "1000";
+            isContainer = "0";
+            canSave = "1";
+            canSaveDynamicFields = "0";
+            command = "ConvexEditorGui.hollowSelection();";
+         };
+         
+         new GuiButtonCtrl() {
+            text = "Recenter Selected";
+            groupNum = "-1";
+            buttonType = "PushButton";
+            position = "100 22";
+            extent = "110 21";
+            minExtent = "8 2";
+            horizSizing = "right";
+            vertSizing = "bottom";
+            profile = "ToolsGuiButtonProfile";
+            visible = "1";
+            active = "1";
+            tooltipProfile = "GuiToolTipProfile";
+            hovertime = "1000";
+            isContainer = "0";
+            canSave = "1";
+            canSaveDynamicFields = "0";
+            command = "ConvexEditorGui.recenterSelection();";
+         };
+      };
    };
    };
 };
 };
 //--- OBJECT WRITE END ---
 //--- OBJECT WRITE END ---