Bläddra i källkod

Fixed bad string compares and simdictionary

Vincent Gee 11 år sedan
förälder
incheckning
9907c4592e
30 ändrade filer med 169 tillägg och 202 borttagningar
  1. 6 21
      Engine/source/T3D/aiClient.cpp
  2. 1 1
      Engine/source/T3D/gameBase/gameProcess.cpp
  3. 1 1
      Engine/source/T3D/lightBase.cpp
  4. 43 0
      Engine/source/T3D/missionMarker.cpp
  5. 12 0
      Engine/source/T3D/missionMarker.h
  6. 8 34
      Engine/source/gui/controls/guiTreeViewCtrl.cpp
  7. 1 18
      Engine/source/gui/core/guiControl.cpp
  8. 27 68
      Engine/source/gui/editor/guiParticleGraphCtrl.cpp
  9. 0 2
      Engine/source/gui/game/guiChunkedBitmapCtrl.cpp
  10. 5 3
      Engine/source/gui/worldEditor/guiDecalEditorCtrl.cpp
  11. 1 1
      Engine/source/gui/worldEditor/guiMissionAreaEditor.cpp
  12. 3 3
      Engine/source/sfx/sfxSystem.cpp
  13. 2 2
      Engine/source/ts/collada/colladaLights.cpp
  14. 1 1
      Engine/source/util/messaging/eventManager.cpp
  15. 3 3
      Engine/source/util/settings.cpp
  16. 2 2
      Engine/source/util/undo.cpp
  17. 1 1
      Templates/Empty/game/tools/editorClasses/scripts/guiFormClass.ed.cs
  18. 1 1
      Templates/Empty/game/tools/editorClasses/scripts/guiFormLayoutManager.ed.cs
  19. 13 8
      Templates/Empty/game/tools/guiEditor/scripts/guiEditorCanvas.ed.cs
  20. 1 1
      Templates/Empty/game/tools/guiEditor/scripts/guiEditorGroup.ed.cs
  21. 1 0
      Templates/Empty/game/tools/worldEditor/gui/ProceduralTerrainPainterGui.gui
  22. 6 6
      Templates/Empty/game/tools/worldEditor/scripts/EditorGui.ed.cs
  23. 5 5
      Templates/Full/game/core/scripts/gui/messageBoxes/messageBox.ed.cs
  24. 1 1
      Templates/Full/game/scripts/client/chatHud.cs
  25. 2 2
      Templates/Full/game/scripts/gui/chooseLevelDlg.cs
  26. 1 1
      Templates/Full/game/tools/editorClasses/scripts/guiFormClass.ed.cs
  27. 1 1
      Templates/Full/game/tools/editorClasses/scripts/guiFormLayoutManager.ed.cs
  28. 13 8
      Templates/Full/game/tools/guiEditor/scripts/guiEditorCanvas.ed.cs
  29. 1 1
      Templates/Full/game/tools/guiEditor/scripts/guiEditorGroup.ed.cs
  30. 6 6
      Templates/Full/game/tools/worldEditor/scripts/EditorGui.ed.cs

+ 6 - 21
Engine/source/T3D/aiClient.cpp

@@ -456,29 +456,19 @@ DefineConsoleMethod( AIClient, setMoveDestination, void, (Point3F v), , "ai.setM
 /**
 /**
  * Returns the point the AI is aiming at
  * Returns the point the AI is aiming at
  */
  */
-DefineConsoleMethod( AIClient, getAimLocation, const char *, (),, "ai.getAimLocation();" ) 
+DefineConsoleMethod( AIClient, getAimLocation, Point3F, (),, "ai.getAimLocation();" ) 
 {
 {
    AIClient *ai = static_cast<AIClient *>( object );
    AIClient *ai = static_cast<AIClient *>( object );
-   Point3F aimPoint = ai->getAimLocation();
-
-   char *returnBuffer = Con::getReturnBuffer( 256 );
-   dSprintf( returnBuffer, 256, "%f %f %f", aimPoint.x, aimPoint.y, aimPoint.z );
-
-   return returnBuffer;
+   return ai->getAimLocation();
 }
 }
 
 
 /**
 /**
  * Returns the point the AI is set to move to
  * Returns the point the AI is set to move to
  */
  */
-DefineConsoleMethod( AIClient, getMoveDestination, const char *, (),, "ai.getMoveDestination();" ) 
+DefineConsoleMethod( AIClient, getMoveDestination, Point3F, (),, "ai.getMoveDestination();" ) 
 {
 {
    AIClient *ai = static_cast<AIClient *>( object );
    AIClient *ai = static_cast<AIClient *>( object );
-   Point3F movePoint = ai->getMoveDestination();
-
-   char *returnBuffer = Con::getReturnBuffer( 256 );
-   dSprintf( returnBuffer, 256, "%f %f %f", movePoint.x, movePoint.y, movePoint.z );
-
-   return returnBuffer;
+   return ai->getMoveDestination();
 }
 }
 
 
 /**
 /**
@@ -527,15 +517,10 @@ DefineConsoleMethod( AIClient, move, void, (),, "ai.move();" )
 /**
 /**
  * Gets the AI's location in the world
  * Gets the AI's location in the world
  */
  */
-DefineConsoleMethod( AIClient, getLocation, const char *, (),, "ai.getLocation();" ) 
+DefineConsoleMethod( AIClient, getLocation, Point3F, (),, "ai.getLocation();" ) 
 {
 {
    AIClient *ai = static_cast<AIClient *>( object );
    AIClient *ai = static_cast<AIClient *>( object );
-   Point3F locPoint = ai->getLocation();
-
-   char *returnBuffer = Con::getReturnBuffer( 256 );
-   dSprintf( returnBuffer, 256, "%f %f %f", locPoint.x, locPoint.y, locPoint.z );
-
-   return returnBuffer;
+   return ai->getLocation();
 }
 }
 
 
 /**
 /**

+ 1 - 1
Engine/source/T3D/gameBase/gameProcess.cpp

@@ -34,7 +34,7 @@ ClientProcessList* ClientProcessList::smClientProcessList = NULL;
 ServerProcessList* ServerProcessList::smServerProcessList = NULL;
 ServerProcessList* ServerProcessList::smServerProcessList = NULL;
 static U32 gNetOrderNextId = 0;
 static U32 gNetOrderNextId = 0;
 
 
-DefineConsoleFunction( dumpProcessList, void, ( bool allow ), ,
+DefineConsoleFunction( dumpProcessList, void, ( ), ,
    "Dumps all ProcessObjects in ServerProcessList and ClientProcessList to the console." )
    "Dumps all ProcessObjects in ServerProcessList and ClientProcessList to the console." )
 {
 {
    Con::printf( "client process list:" );
    Con::printf( "client process list:" );

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

@@ -431,7 +431,7 @@ DefineConsoleMethod( LightBase, playAnimation, void, (const char * anim), (""),
    "existing one is played."
    "existing one is played."
    "@hide")
    "@hide")
 {
 {
-    if ( anim == "" )
+	if ( dStrcmp(anim,"" )==0)
     {
     {
         object->playAnimation();
         object->playAnimation();
         return;
         return;

+ 43 - 0
Engine/source/T3D/missionMarker.cpp

@@ -223,6 +223,12 @@ ConsoleDocClass( WayPoint,
    "@ingroup enviroMisc\n"
    "@ingroup enviroMisc\n"
 );
 );
 
 
+WayPointTeam::WayPointTeam()
+{
+   mTeamId = 0;
+   mWayPoint = 0;
+}
+
 WayPoint::WayPoint()
 WayPoint::WayPoint()
 {
 {
    mName = StringTable->insert("");
    mName = StringTable->insert("");
@@ -246,6 +252,7 @@ bool WayPoint::onAdd()
       Sim::getWayPointSet()->addObject(this);
       Sim::getWayPointSet()->addObject(this);
    else
    else
    {
    {
+      mTeam.mWayPoint = this;
       setMaskBits(UpdateNameMask|UpdateTeamMask);
       setMaskBits(UpdateNameMask|UpdateTeamMask);
    }
    }
 
 
@@ -265,6 +272,8 @@ U32 WayPoint::packUpdate(NetConnection * con, U32 mask, BitStream * stream)
    U32 retMask = Parent::packUpdate(con, mask, stream);
    U32 retMask = Parent::packUpdate(con, mask, stream);
    if(stream->writeFlag(mask & UpdateNameMask))
    if(stream->writeFlag(mask & UpdateNameMask))
       stream->writeString(mName);
       stream->writeString(mName);
+   if(stream->writeFlag(mask & UpdateTeamMask))
+      stream->write(mTeam.mTeamId);
    if(stream->writeFlag(mask & UpdateHiddenMask))
    if(stream->writeFlag(mask & UpdateHiddenMask))
       stream->writeFlag(isHidden());
       stream->writeFlag(isHidden());
    return(retMask);
    return(retMask);
@@ -275,17 +284,51 @@ void WayPoint::unpackUpdate(NetConnection * con, BitStream * stream)
    Parent::unpackUpdate(con, stream);
    Parent::unpackUpdate(con, stream);
    if(stream->readFlag())
    if(stream->readFlag())
       mName = stream->readSTString(true);
       mName = stream->readSTString(true);
+   if(stream->readFlag())
+      stream->read(&mTeam.mTeamId);
    if(stream->readFlag())
    if(stream->readFlag())
       setHidden(stream->readFlag());
       setHidden(stream->readFlag());
 }
 }
 
 
+//-----------------------------------------------------------------------------
+// TypeWayPointTeam
+//-----------------------------------------------------------------------------
+
+//-----------------------------------------------------------------------------
+// TypeWayPointTeam
+//-----------------------------------------------------------------------------
 
 
+IMPLEMENT_STRUCT( WayPointTeam, WayPointTeam,,   "" )
+END_IMPLEMENT_STRUCT;
+
+//FIXME: this should work but does not; need to check the stripping down to base types within TYPE
+//ConsoleType( WayPointTeam, TypeWayPointTeam, WayPointTeam* )
+ConsoleType( WayPointTeam, TypeWayPointTeam, WayPointTeam )
+
+ConsoleGetType( TypeWayPointTeam )
+{
+   static const U32 bufSize = 32;
+   char * buf = Con::getReturnBuffer(bufSize);
+   dSprintf(buf, bufSize, "%d", ((WayPointTeam*)dptr)->mTeamId);
+   return(buf);
+}
+
+ConsoleSetType( TypeWayPointTeam )
+{
+   WayPointTeam * pTeam = (WayPointTeam*)dptr;
+   pTeam->mTeamId = dAtoi(argv[0]);
+
+   if(pTeam->mWayPoint && pTeam->mWayPoint->isServerObject())
+      pTeam->mWayPoint->setMaskBits(WayPoint::UpdateTeamMask);
+}
 
 
 void WayPoint::initPersistFields()
 void WayPoint::initPersistFields()
 {
 {
    addGroup("Misc");	
    addGroup("Misc");	
    addField("markerName", TypeCaseString, Offset(mName, WayPoint), "Unique name representing this waypoint");
    addField("markerName", TypeCaseString, Offset(mName, WayPoint), "Unique name representing this waypoint");
+   addField("team", TypeWayPointTeam, Offset(mTeam, WayPoint), "Unique numerical ID assigned to this waypoint, or set of waypoints");
    endGroup("Misc");
    endGroup("Misc");
+   
    Parent::initPersistFields();
    Parent::initPersistFields();
 }
 }
 
 

+ 12 - 0
Engine/source/T3D/missionMarker.h

@@ -92,6 +92,17 @@ class MissionMarker : public ShapeBase
 // Class: WayPoint
 // Class: WayPoint
 //------------------------------------------------------------------------------
 //------------------------------------------------------------------------------
 class WayPoint;
 class WayPoint;
+class WayPointTeam
+{
+   public:
+      WayPointTeam();
+
+      S32         mTeamId;
+      WayPoint *  mWayPoint;
+};
+
+DECLARE_STRUCT( WayPointTeam );
+DefineConsoleType( TypeWayPointTeam, WayPointTeam * );
 
 
 class WayPoint : public MissionMarker
 class WayPoint : public MissionMarker
 {
 {
@@ -121,6 +132,7 @@ class WayPoint : public MissionMarker
 
 
       // field data
       // field data
       StringTableEntry              mName;
       StringTableEntry              mName;
+      WayPointTeam                  mTeam;
 
 
       static void initPersistFields();
       static void initPersistFields();
 
 

+ 8 - 34
Engine/source/gui/controls/guiTreeViewCtrl.cpp

@@ -5053,11 +5053,13 @@ DefineConsoleMethod(GuiTreeViewCtrl, getSelectedObject, S32, ( S32 index ), (0),
 
 
 const char* GuiTreeViewCtrl::getSelectedObjectList()
 const char* GuiTreeViewCtrl::getSelectedObjectList()
 {
 {
- char* buff = Con::getReturnBuffer(1024);
-   dSprintf(buff,1024,"");
+   static const U32 bufSize = 1024;
+   char* buff = Con::getReturnBuffer(bufSize);
+   dSprintf(buff,bufSize,"");
+
 
 
    const Vector< GuiTreeViewCtrl::Item* > selectedItems = this->getSelectedItems();
    const Vector< GuiTreeViewCtrl::Item* > selectedItems = this->getSelectedItems();
-   for(int i = 0; i < selectedItems.size(); i++)
+   for(S32 i = 0; i < selectedItems.size(); i++)
    {
    {
       GuiTreeViewCtrl::Item *item = selectedItems[i];
       GuiTreeViewCtrl::Item *item = selectedItems[i];
 
 
@@ -5069,7 +5071,7 @@ const char* GuiTreeViewCtrl::getSelectedObjectList()
          //the start of the buffer where we want to write
          //the start of the buffer where we want to write
          char* buffPart = buff+len;
          char* buffPart = buff+len;
          //the size of the remaining buffer (-1 cause dStrlen doesn't count the \0)
          //the size of the remaining buffer (-1 cause dStrlen doesn't count the \0)
-         S32 size	=	1024-len-1;
+         S32 size	=	bufSize-len-1;
          //write it:
          //write it:
          if(size < 1)
          if(size < 1)
          {
          {
@@ -5085,37 +5087,9 @@ const char* GuiTreeViewCtrl::getSelectedObjectList()
 }
 }
 
 
 DefineConsoleMethod(GuiTreeViewCtrl, getSelectedObjectList, const char*, (), , 
 DefineConsoleMethod(GuiTreeViewCtrl, getSelectedObjectList, const char*, (), , 
-              "Returns a space sperated list of all selected object ids.")
+              "Returns a space seperated list of all selected object ids.")
 {
 {
-   char* buff = Con::getReturnBuffer(1024);
-   dSprintf(buff,1024,"");
-
-   const Vector< GuiTreeViewCtrl::Item* > selectedItems = object->getSelectedItems();
-   for(int i = 0; i < selectedItems.size(); i++)
-   {
-      GuiTreeViewCtrl::Item *item = selectedItems[i];
-
-      if ( item->isInspectorData() && item->getObject() )
-      {      
-         S32 id  = item->getObject()->getId();
-         //get the current length of the buffer
-         U32	len = dStrlen(buff);
-         //the start of the buffer where we want to write
-         char* buffPart = buff+len;
-         //the size of the remaining buffer (-1 cause dStrlen doesn't count the \0)
-         S32 size	=	1024-len-1;
-         //write it:
-         if(size < 1)
-         {
-            Con::errorf("GuiTreeViewCtrl::getSelectedItemList - Not enough room to return our object list");
-            return buff;
-         }
-
-         dSprintf(buffPart,size,"%d ", id);
-      }
-   }
-
-   return buff;
+   return object->getSelectedObjectList();
 }
 }
 
 
 DefineConsoleMethod(GuiTreeViewCtrl, moveItemUp, void, (S32 index), , "(TreeItemId item)")
 DefineConsoleMethod(GuiTreeViewCtrl, moveItemUp, void, (S32 index), , "(TreeItemId item)")

+ 1 - 18
Engine/source/gui/core/guiControl.cpp

@@ -2810,28 +2810,11 @@ static ConsoleDocFragment _sGuiControlSetExtent2(
    "void setExtent( Point2I p );" ); // The definition string.
    "void setExtent( Point2I p );" ); // The definition string.
 
 
 //ConsoleMethod( GuiControl, setExtent, void, 3, 4,
 //ConsoleMethod( GuiControl, setExtent, void, 3, 4,
-DefineConsoleMethod( GuiControl, setExtent, void, ( Point2F ext ), ,
+DefineConsoleMethod( GuiControl, setExtent, void, ( Point2I ext ), ,
    " Set the width and height of the control.\n\n"
    " Set the width and height of the control.\n\n"
    "@hide" )
    "@hide" )
 {
 {
-   //if ( argc == 3 )
-   //if ( pOrX != "" && y == ""  )
-   //{
-   //   // We scan for floats because its possible that math 
-   //   // done on the extent can result in fractional values.
-   //   Point2F ext;
-   //   //if ( dSscanf( argv[2], "%g %g", &ext.x, &ext.y ) == 2 )
-   //   if ( dSscanf( pOrX, "%g %g", &ext.x, &ext.y ) == 2 )
          object->setExtent( (S32)ext.x, (S32)ext.y );
          object->setExtent( (S32)ext.x, (S32)ext.y );
-   //   else
-   //      Con::errorf( "GuiControl::setExtent, not enough parameters!" );
-   //}
-   ////else if ( argc == 4 )
-   //else if ( pOrX != "" && y != "" )
-   //{
-   //   //object->setExtent( dAtoi(argv[2]), dAtoi(argv[3]) );
-   //   object->setExtent( dAtoi(pOrX), dAtoi(y) );
-   //}
 }
 }
 
 
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------

+ 27 - 68
Engine/source/gui/editor/guiParticleGraphCtrl.cpp

@@ -1052,25 +1052,17 @@ DefineConsoleMethod(GuiParticleGraphCtrl, clearAllGraphs, void, (), , "()"
    object->clearAllGraphs();
    object->clearAllGraphs();
 }
 }
 
 
-DefineConsoleMethod(GuiParticleGraphCtrl, addPlotPoint, const char*, (S32 plotID, F32 x, F32 y, bool setAdded), (true), "(int plotID, float x, float y, bool setAdded = true;)"
+DefineConsoleMethod(GuiParticleGraphCtrl, addPlotPoint, S32, (S32 plotID, F32 x, F32 y, bool setAdded), (true), "(int plotID, float x, float y, bool setAdded = true;)"
               "Add a data point to the given plot."
               "Add a data point to the given plot."
 			  "@return")
 			  "@return")
 {
 {
-   S32 pointAdded = 0;
-   char *retBuffer = Con::getReturnBuffer(32);
-
+  
    if(plotID > object->MaxPlots)
    if(plotID > object->MaxPlots)
    {
    {
 	   Con::errorf("Invalid plotID.");
 	   Con::errorf("Invalid plotID.");
-	   dSprintf(retBuffer, 32, "%d", -2);
-      return retBuffer;
+	   return -2;
    }
    }
-
-   pointAdded = object->addPlotPoint( plotID, Point2F(x, y), setAdded);
-   
-   dSprintf(retBuffer, 32, "%d", pointAdded);
-
-   return retBuffer;
+   return object->addPlotPoint( plotID, Point2F(x, y), setAdded);
 }
 }
 
 
 DefineConsoleMethod(GuiParticleGraphCtrl, insertPlotPoint, void, (S32 plotID, S32 i, F32 x, F32 y), , "(int plotID, int i, float x, float y)\n"
 DefineConsoleMethod(GuiParticleGraphCtrl, insertPlotPoint, void, (S32 plotID, S32 i, F32 x, F32 y), , "(int plotID, int i, float x, float y)\n"
@@ -1088,7 +1080,7 @@ DefineConsoleMethod(GuiParticleGraphCtrl, insertPlotPoint, void, (S32 plotID, S3
    object->insertPlotPoint( plotID, i, Point2F(x, y));
    object->insertPlotPoint( plotID, i, Point2F(x, y));
 }
 }
 
 
-DefineConsoleMethod(GuiParticleGraphCtrl, changePlotPoint, const char*, (S32 plotID, S32 i, F32 x, F32 y), , "(int plotID, int i, float x, float y)"
+DefineConsoleMethod(GuiParticleGraphCtrl, changePlotPoint, S32, (S32 plotID, S32 i, F32 x, F32 y), , "(int plotID, int i, float x, float y)"
               "Change a data point to the given plot and plot position.\n"
               "Change a data point to the given plot and plot position.\n"
 			  "@param plotID The plot you want to access\n"
 			  "@param plotID The plot you want to access\n"
 			  "@param i The data point.\n"
 			  "@param i The data point.\n"
@@ -1098,40 +1090,26 @@ DefineConsoleMethod(GuiParticleGraphCtrl, changePlotPoint, const char*, (S32 plo
    if(plotID > object->MaxPlots)
    if(plotID > object->MaxPlots)
    {
    {
 	   Con::errorf("Invalid plotID.");
 	   Con::errorf("Invalid plotID.");
-
-      char *retBuffer = Con::getReturnBuffer(64);
-      const S32 index = -1;
-      dSprintf(retBuffer, 64, "%d", index);
-      return retBuffer;
+	   return -1;
    }
    }
-
-   char *retBuffer = Con::getReturnBuffer(64);
-   const S32 index = object->changePlotPoint( plotID, i, Point2F(x, y));
-   dSprintf(retBuffer, 64, "%d", index);
-   return retBuffer;
+   return object->changePlotPoint( plotID, i, Point2F(x, y));
 }
 }
 
 
-DefineConsoleMethod(GuiParticleGraphCtrl, getSelectedPlot, const char*, (), , "() "
+DefineConsoleMethod(GuiParticleGraphCtrl, getSelectedPlot, S32, (), , "() "
               "Gets the selected Plot (a.k.a. graph).\n"
               "Gets the selected Plot (a.k.a. graph).\n"
 			  "@return The plot's ID.")
 			  "@return The plot's ID.")
 {
 {
-   char *retBuffer = Con::getReturnBuffer(32);
-   const S32 plot = object->getSelectedPlot();
-   dSprintf(retBuffer, 32, "%d", plot);
-   return retBuffer;
+  return object->getSelectedPlot();
 }
 }
 
 
-DefineConsoleMethod(GuiParticleGraphCtrl, getSelectedPoint, const char*, (), , "()"
+DefineConsoleMethod(GuiParticleGraphCtrl, getSelectedPoint, S32, (), , "()"
               "Gets the selected Point on the Plot (a.k.a. graph)."
               "Gets the selected Point on the Plot (a.k.a. graph)."
 			  "@return The last selected point ID")
 			  "@return The last selected point ID")
 {
 {
-   char *retBuffer = Con::getReturnBuffer(32);
-   const S32 point = object->getSelectedPoint();
-   dSprintf(retBuffer, 32, "%d", point);
-   return retBuffer;
+	return object->getSelectedPoint();
 }
 }
 
 
-DefineConsoleMethod(GuiParticleGraphCtrl, isExistingPoint, const char*, (S32 plotID, S32 samples), , "(int plotID, int samples)"
+DefineConsoleMethod(GuiParticleGraphCtrl, isExistingPoint, bool, (S32 plotID, S32 samples), , "(int plotID, int samples)"
               "@return Returns true or false whether or not the point in the plot passed is an existing point.")
               "@return Returns true or false whether or not the point in the plot passed is an existing point.")
 {
 {
 
 
@@ -1143,14 +1121,10 @@ DefineConsoleMethod(GuiParticleGraphCtrl, isExistingPoint, const char*, (S32 plo
    {
    {
 	   Con::errorf("Invalid sample.");
 	   Con::errorf("Invalid sample.");
    }
    }
-
-   char *retBuffer = Con::getReturnBuffer(32);
-   const bool isPoint = object->isExistingPoint(plotID, samples);
-   dSprintf(retBuffer, 32, "%d", isPoint);
-   return retBuffer;
+   return object->isExistingPoint(plotID, samples);
 }
 }
 
 
-DefineConsoleMethod(GuiParticleGraphCtrl, getPlotPoint, const char*, (S32 plotID, S32 samples), , "(int plotID, int samples)"
+DefineConsoleMethod(GuiParticleGraphCtrl, getPlotPoint, Point2F, (S32 plotID, S32 samples), , "(int plotID, int samples)"
               "Get a data point from the plot specified, samples from the start of the graph."
               "Get a data point from the plot specified, samples from the start of the graph."
 			  "@return The data point ID")
 			  "@return The data point ID")
 {
 {
@@ -1164,13 +1138,11 @@ DefineConsoleMethod(GuiParticleGraphCtrl, getPlotPoint, const char*, (S32 plotID
 	   Con::errorf("Invalid sample.");
 	   Con::errorf("Invalid sample.");
    }
    }
 
 
-   char *retBuffer = Con::getReturnBuffer(64);
-   const Point2F &pos = object->getPlotPoint(plotID, samples);
-   dSprintf(retBuffer, 64, "%f %f", pos.x, pos.y);
-   return retBuffer;
+   
+   return object->getPlotPoint(plotID, samples);
 }
 }
 
 
-DefineConsoleMethod(GuiParticleGraphCtrl, getPlotIndex, const char*, (S32 plotID, F32 x, F32 y), , "(int plotID, float x, float y)\n"
+DefineConsoleMethod(GuiParticleGraphCtrl, getPlotIndex, S32, (S32 plotID, F32 x, F32 y), , "(int plotID, float x, float y)\n"
               "Gets the index of the point passed on the plotID passed (graph ID).\n"
               "Gets the index of the point passed on the plotID passed (graph ID).\n"
 			  "@param plotID The plot you wish to check.\n"
 			  "@param plotID The plot you wish to check.\n"
 			  "@param x,y The coordinates of the point to get.\n"
 			  "@param x,y The coordinates of the point to get.\n"
@@ -1181,14 +1153,10 @@ DefineConsoleMethod(GuiParticleGraphCtrl, getPlotIndex, const char*, (S32 plotID
    {
    {
 	   Con::errorf("Invalid plotID.");
 	   Con::errorf("Invalid plotID.");
    }
    }
-
-   char *retBuffer = Con::getReturnBuffer(32);
-   const S32 &index = object->getPlotIndex(plotID, x, y);
-   dSprintf(retBuffer, 32, "%d", index);
-   return retBuffer;
+   return object->getPlotIndex(plotID, x, y);
 }
 }
 
 
-DefineConsoleMethod(GuiParticleGraphCtrl, getGraphColor, const char*, (S32 plotID), , "(int plotID)"
+DefineConsoleMethod(GuiParticleGraphCtrl, getGraphColor, ColorF, (S32 plotID), , "(int plotID)"
               "Get the color of the graph passed."
               "Get the color of the graph passed."
 			  "@return Returns the color of the graph as a string of RGB values formatted as \"R G B\"")
 			  "@return Returns the color of the graph as a string of RGB values formatted as \"R G B\"")
 {
 {
@@ -1197,14 +1165,12 @@ DefineConsoleMethod(GuiParticleGraphCtrl, getGraphColor, const char*, (S32 plotI
    {
    {
 	   Con::errorf("Invalid plotID.");
 	   Con::errorf("Invalid plotID.");
    }
    }
-
-   char *retBuffer = Con::getReturnBuffer(64);
-   const ColorF &color = object->getGraphColor(plotID);
-   dSprintf(retBuffer, 64, "%f %f %f", color.red, color.green, color.blue);
-   return retBuffer;
+  
+   return object->getGraphColor(plotID);
+   
 }
 }
 
 
-DefineConsoleMethod(GuiParticleGraphCtrl, getGraphMin, const char*, (S32 plotID), , "(int plotID) "
+DefineConsoleMethod(GuiParticleGraphCtrl, getGraphMin, Point2F, (S32 plotID), , "(int plotID) "
               "Get the minimum values of the graph ranges.\n"
               "Get the minimum values of the graph ranges.\n"
 			  "@return Returns the minimum of the range formatted as \"x-min y-min\"")
 			  "@return Returns the minimum of the range formatted as \"x-min y-min\"")
 {
 {
@@ -1213,14 +1179,10 @@ DefineConsoleMethod(GuiParticleGraphCtrl, getGraphMin, const char*, (S32 plotID)
    {
    {
 	   Con::errorf("Invalid plotID.");
 	   Con::errorf("Invalid plotID.");
    }
    }
-
-   char *retBuffer = Con::getReturnBuffer(64);
-   const Point2F graphMin = object->getGraphMin(plotID);
-   dSprintf(retBuffer, 64, "%f %f", graphMin.x, graphMin.y);
-   return retBuffer;
+   return object->getGraphMin(plotID);
 }
 }
 
 
-DefineConsoleMethod(GuiParticleGraphCtrl, getGraphMax, const char*, (S32 plotID), , "(int plotID) "
+DefineConsoleMethod(GuiParticleGraphCtrl, getGraphMax, Point2F, (S32 plotID), , "(int plotID) "
 			  "Get the maximum values of the graph ranges.\n"
 			  "Get the maximum values of the graph ranges.\n"
 			  "@return Returns the maximum of the range formatted as \"x-max y-max\"")
 			  "@return Returns the maximum of the range formatted as \"x-max y-max\"")
 {
 {
@@ -1229,11 +1191,8 @@ DefineConsoleMethod(GuiParticleGraphCtrl, getGraphMax, const char*, (S32 plotID)
    {
    {
 	   Con::errorf("Invalid plotID.");
 	   Con::errorf("Invalid plotID.");
    }
    }
-
-   char *retBuffer = Con::getReturnBuffer(64);
-   const Point2F graphMax = object->getGraphMax(plotID);
-   dSprintf(retBuffer, 64, "%f %f", graphMax.x, graphMax.y);
-   return retBuffer;
+   return object->getGraphMax(plotID);
+    
 }
 }
 
 
 DefineConsoleMethod(GuiParticleGraphCtrl, getGraphName, const char*, (S32 plotID), , "(int plotID) "
 DefineConsoleMethod(GuiParticleGraphCtrl, getGraphName, const char*, (S32 plotID), , "(int plotID) "

+ 0 - 2
Engine/source/gui/game/guiChunkedBitmapCtrl.cpp

@@ -20,8 +20,6 @@
 // IN THE SOFTWARE.
 // IN THE SOFTWARE.
 //-----------------------------------------------------------------------------
 //-----------------------------------------------------------------------------
 
 
-#include "platform/platform.h"
-
 #include "console/console.h"
 #include "console/console.h"
 #include "console/consoleTypes.h"
 #include "console/consoleTypes.h"
 #include "gfx/bitmap/gBitmap.h"
 #include "gfx/bitmap/gBitmap.h"

+ 5 - 3
Engine/source/gui/worldEditor/guiDecalEditorCtrl.cpp

@@ -818,15 +818,17 @@ DefineConsoleMethod( GuiDecalEditorCtrl, getDecalCount, S32, (), , "getDecalCoun
 DefineConsoleMethod( GuiDecalEditorCtrl, getDecalTransform, const char*, ( U32 id ), , "getDecalTransform()" )
 DefineConsoleMethod( GuiDecalEditorCtrl, getDecalTransform, const char*, ( U32 id ), , "getDecalTransform()" )
 {
 {
 	DecalInstance *decalInstance = gDecalManager->mDecalInstanceVec[id];
 	DecalInstance *decalInstance = gDecalManager->mDecalInstanceVec[id];
+
 	if( decalInstance == NULL )
 	if( decalInstance == NULL )
 		return "";
 		return "";
 
 
-	char* returnBuffer = Con::getReturnBuffer(256);
-   returnBuffer[0] = 0;
+	static const U32 bufSize = 256;
+    char* returnBuffer = Con::getReturnBuffer(bufSize);
+
 
 
    if ( decalInstance )
    if ( decalInstance )
    {
    {
-	   dSprintf(returnBuffer, 256, "%f %f %f %f %f %f %f",
+	   dSprintf(returnBuffer, bufSize, "%f %f %f %f %f %f %f",
          decalInstance->mPosition.x, decalInstance->mPosition.y, decalInstance->mPosition.z, 
          decalInstance->mPosition.x, decalInstance->mPosition.y, decalInstance->mPosition.z, 
 		   decalInstance->mTangent.x, decalInstance->mTangent.y, decalInstance->mTangent.z,
 		   decalInstance->mTangent.x, decalInstance->mTangent.y, decalInstance->mTangent.z,
 		   decalInstance->mSize);
 		   decalInstance->mSize);

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

@@ -97,7 +97,7 @@ void GuiMissionAreaEditorCtrl::setSelectedMissionArea( MissionArea *missionArea
 
 
 DefineConsoleMethod( GuiMissionAreaEditorCtrl, setSelectedMissionArea, void, (const char * missionAreaName), (""), "" )
 DefineConsoleMethod( GuiMissionAreaEditorCtrl, setSelectedMissionArea, void, (const char * missionAreaName), (""), "" )
 {
 {
-   if ( missionAreaName == "" )
+   if ( dStrcmp( missionAreaName, "" )==0 )
       object->setSelectedMissionArea(NULL);
       object->setSelectedMissionArea(NULL);
    else
    else
    {
    {

+ 3 - 3
Engine/source/sfx/sfxSystem.cpp

@@ -1464,7 +1464,7 @@ DefineConsoleFunction( sfxCreateSource, S32, ( const char * SFXType, const char
 
 
    if ( track )
    if ( track )
    {
    {
-      if ( x == "" )
+      if (dStrcmp(x, "") == 0)
       {
       {
          source = SFX->createSource( track );
          source = SFX->createSource( track );
       }
       }
@@ -1674,7 +1674,7 @@ DefineConsoleFunction( sfxPlayOnce, S32, ( const char * SFXType, const char * fi
    SFXSource* source = NULL;
    SFXSource* source = NULL;
    if( track )
    if( track )
    {
    {
-      if( x == "" )
+      if (dStrcmp(x, "") == 0)
       {
       {
          source = SFX->playOnce( track );
          source = SFX->playOnce( track );
       }
       }
@@ -1695,7 +1695,7 @@ DefineConsoleFunction( sfxPlayOnce, S32, ( const char * SFXType, const char * fi
       }
       }
       else
       else
       {
       {
-         if( x == "" )
+         if (dStrcmp(x, "") == 0) 
             source = SFX->playOnce( tempProfile );
             source = SFX->playOnce( tempProfile );
          else
          else
          {
          {

+ 2 - 2
Engine/source/ts/collada/colladaLights.cpp

@@ -169,7 +169,7 @@ DefineConsoleFunction( loadColladaLights, bool, (const char * filename, const ch
    // the MissionGroup if not specified.
    // the MissionGroup if not specified.
    SimGroup* missionGroup = dynamic_cast<SimGroup*>(Sim::findObject("MissionGroup"));
    SimGroup* missionGroup = dynamic_cast<SimGroup*>(Sim::findObject("MissionGroup"));
    SimGroup* group = 0;
    SimGroup* group = 0;
-   if ( parentGroup != "" ) {
+   if (dStrcmp(parentGroup, "") == 0){
       if (!Sim::findObject(parentGroup, group)) {
       if (!Sim::findObject(parentGroup, group)) {
          // Create the group if it could not be found
          // Create the group if it could not be found
          group = new SimGroup;
          group = new SimGroup;
@@ -188,7 +188,7 @@ DefineConsoleFunction( loadColladaLights, bool, (const char * filename, const ch
 
 
    // Optional object to provide the base transform
    // Optional object to provide the base transform
    MatrixF offset(true);
    MatrixF offset(true);
-   if (baseObject != "") {
+   if (dStrcmp(baseObject, "") != 0){
       SceneObject *obj;
       SceneObject *obj;
       if (Sim::findObject(baseObject, obj))
       if (Sim::findObject(baseObject, obj))
          offset = obj->getTransform();
          offset = obj->getTransform();

+ 1 - 1
Engine/source/util/messaging/eventManager.cpp

@@ -507,7 +507,7 @@ DefineConsoleMethod( EventManager, dumpSubscribers, void, ( const char * listene
               "Print all subscribers to an event to the console.\n"
               "Print all subscribers to an event to the console.\n"
               "@param event The event whose subscribers are to be printed. If this parameter isn't specified, all events will be dumped." )
               "@param event The event whose subscribers are to be printed. If this parameter isn't specified, all events will be dumped." )
 {
 {
-   if( listenerName != "" )
+   if (dStrcmp(listenerName, "") != 0)
       object->dumpSubscribers( listenerName );
       object->dumpSubscribers( listenerName );
    else
    else
       object->dumpSubscribers();
       object->dumpSubscribers();

+ 3 - 3
Engine/source/util/settings.cpp

@@ -648,7 +648,7 @@ DefineConsoleMethod(Settings, setValue, void, (const char * settingName, const c
 {
 {
    const char *fieldName = StringTable->insert( settingName );
    const char *fieldName = StringTable->insert( settingName );
    
    
-   if( value != "")
+   if (dStrcmp(value, "") != 0)
       object->setValue( fieldName, value );
       object->setValue( fieldName, value );
    else
    else
       object->setValue( fieldName );
       object->setValue( fieldName );
@@ -664,9 +664,9 @@ DefineConsoleMethod(Settings, value, const char*, (const char * settingName, con
 {
 {
    const char *fieldName = StringTable->insert( settingName );
    const char *fieldName = StringTable->insert( settingName );
    
    
-   if(defaultValue != "")
+   if (dStrcmp(defaultValue, "") != 0)
       return object->value( fieldName, defaultValue );
       return object->value( fieldName, defaultValue );
-   else if(settingName != "")
+   else if (dStrcmp(settingName, "") != 0)
       return object->value( fieldName );
       return object->value( fieldName );
 
 
    return "";
    return "";

+ 2 - 2
Engine/source/util/undo.cpp

@@ -504,7 +504,7 @@ void UndoManager::popCompound( bool discard )
 DefineConsoleMethod(UndoAction, addToManager, void, (const char * undoManager), (""), "action.addToManager([undoManager])")
 DefineConsoleMethod(UndoAction, addToManager, void, (const char * undoManager), (""), "action.addToManager([undoManager])")
 {
 {
    UndoManager *theMan = NULL;
    UndoManager *theMan = NULL;
-   if(undoManager != "")
+   if (dStrcmp(undoManager, "") != 0)
    {
    {
       SimObject *obj = Sim::findObject(undoManager);
       SimObject *obj = Sim::findObject(undoManager);
       if(obj)
       if(obj)
@@ -582,7 +582,7 @@ DefineConsoleMethod( UndoManager, popCompound, void, ( bool discard ), (false),
 {
 {
    if( !object->getCompoundStackDepth() )
    if( !object->getCompoundStackDepth() )
    {
    {
-      Con::errorf( "UndoManager::popCompound - no compound on stack" );
+	   Con::errorf( "UndoManager::popCompound - no compound on stack (%s) ",object->getName() );
       return;
       return;
    }
    }
    
    

+ 1 - 1
Templates/Empty/game/tools/editorClasses/scripts/guiFormClass.ed.cs

@@ -112,7 +112,7 @@ function FormControlClass::onWake( %this )
 
 
    %parentId = %this.getParent();
    %parentId = %this.getParent();
    %extent = %parentID.getExtent();
    %extent = %parentID.getExtent();
-   %this.setExtent( GetWord(%extent, 0), GetWord(%extent, 1) );
+   %this.setExtent( GetWord(%extent, 0) @ " " @ GetWord(%extent, 1) );
 
 
    GuiFormClass::BuildFormMenu( %this );
    GuiFormClass::BuildFormMenu( %this );
 
 

+ 1 - 1
Templates/Empty/game/tools/editorClasses/scripts/guiFormLayoutManager.ed.cs

@@ -284,7 +284,7 @@ function GuiFormManager::ActivateLayout( %library, %layoutName, %parent )
 
 
    // Size to fit parent container.
    // Size to fit parent container.
    %extent = %parent.getExtent();
    %extent = %parent.getExtent();
-   %layoutObj.setExtent( GetWord(%extent, 0), GetWord(%extent, 1) );
+   %layoutObj.setExtent( GetWord(%extent, 0) @ " " @ GetWord(%extent, 1) );
 
 
    // Add to parent.
    // Add to parent.
    %parent.add( %layoutObj );
    %parent.add( %layoutObj );

+ 13 - 8
Templates/Empty/game/tools/guiEditor/scripts/guiEditorCanvas.ed.cs

@@ -154,15 +154,15 @@ function GuiEditCanvas::onCreateMenu(%this)
          barTitle = "Move";
          barTitle = "Move";
          internalName = "MoveMenu";
          internalName = "MoveMenu";
             
             
-         item[0] = "Nudge Left" TAB "Left" TAB "GuiEditor.moveSelection( -1, 0);";
-         item[1] = "Nudge Right" TAB "Right" TAB "GuiEditor.moveSelection( 1, 0);";
-         item[2] = "Nudge Up" TAB "Up" TAB "GuiEditor.moveSelection( 0, -1);";
-         item[3] = "Nudge Down" TAB "Down" TAB "GuiEditor.moveSelection( 0, 1 );";
+         item[0] = "Nudge Left" TAB "Left" TAB "GuiEditor.tmoveSelection( -1, 0);";
+         item[1] = "Nudge Right" TAB "Right" TAB "GuiEditor.tmoveSelection( 1, 0);";
+         item[2] = "Nudge Up" TAB "Up" TAB "GuiEditor.tmoveSelection( 0, -1);";
+         item[3] = "Nudge Down" TAB "Down" TAB "GuiEditor.tmoveSelection( 0, 1 );";
          item[4] = "-";
          item[4] = "-";
-         item[5] = "Big Nudge Left" TAB "Shift Left" TAB "GuiEditor.moveSelection( - GuiEditor.snap2gridsize, 0 );";
-         item[6] = "Big Nudge Right" TAB "Shift Right" TAB "GuiEditor.moveSelection( GuiEditor.snap2gridsize, 0 );";
-         item[7] = "Big Nudge Up" TAB "Shift Up" TAB "GuiEditor.moveSelection( 0, - GuiEditor.snap2gridsize );";
-         item[8] = "Big Nudge Down" TAB "Shift Down" TAB "GuiEditor.moveSelection( 0, GuiEditor.snap2gridsize );";
+         item[5] = "Big Nudge Left" TAB "Shift Left" TAB "GuiEditor.tmoveSelection( - GuiEditor.snap2gridsize, 0 );";
+         item[6] = "Big Nudge Right" TAB "Shift Right" TAB "GuiEditor.tmoveSelection( GuiEditor.snap2gridsize, 0 );";
+         item[7] = "Big Nudge Up" TAB "Shift Up" TAB "GuiEditor.tmoveSelection( 0, - GuiEditor.snap2gridsize );";
+         item[8] = "Big Nudge Down" TAB "Shift Down" TAB "GuiEditor.tmoveSelection( 0, GuiEditor.snap2gridsize );";
       };
       };
 
 
       new PopupMenu()
       new PopupMenu()
@@ -201,6 +201,11 @@ function GuiEditCanvas::onCreateMenu(%this)
    %this.menuBar.attachToCanvas( Canvas, 0 );
    %this.menuBar.attachToCanvas( Canvas, 0 );
 }
 }
 
 
+function GuiEditor::tMoveSelection (%x, %y)
+{
+   GuiEditor.moveSelection(%x @ " " @ %y);
+}
+
 $GUI_EDITOR_MENU_EDGESNAP_INDEX = 0;
 $GUI_EDITOR_MENU_EDGESNAP_INDEX = 0;
 $GUI_EDITOR_MENU_CENTERSNAP_INDEX = 1;
 $GUI_EDITOR_MENU_CENTERSNAP_INDEX = 1;
 $GUI_EDITOR_MENU_GUIDESNAP_INDEX = 3;
 $GUI_EDITOR_MENU_GUIDESNAP_INDEX = 3;

+ 1 - 1
Templates/Empty/game/tools/guiEditor/scripts/guiEditorGroup.ed.cs

@@ -92,7 +92,7 @@ function GuiEditorGroup::group( %this )
    %y = getWord( %bounds, 1 ) - getWord( %parentGlobalPos, 1 );
    %y = getWord( %bounds, 1 ) - getWord( %parentGlobalPos, 1 );
 
 
    %group.setPosition( %x, %y );
    %group.setPosition( %x, %y );
-   %group.setExtent( getWord( %bounds, 2 ), getWord( %bounds, 3 ) );
+   %group.setExtent( getWord( %bounds, 2 ) @ " " @ getWord( %bounds, 3 ) );
    
    
    // Reparent all objects to group.
    // Reparent all objects to group.
    
    

+ 1 - 0
Templates/Empty/game/tools/worldEditor/gui/ProceduralTerrainPainterGui.gui

@@ -402,3 +402,4 @@ function generateProceduralTerrainMask()
    Canvas.popDialog(ProceduralTerrainPainterGui);  
    Canvas.popDialog(ProceduralTerrainPainterGui);  
    ETerrainEditor.autoMaterialLayer($TPPHeightMin, $TPPHeightMax, $TPPSlopeMin, $TPPSlopeMax, $TPPCoverage);  
    ETerrainEditor.autoMaterialLayer($TPPHeightMin, $TPPHeightMax, $TPPSlopeMin, $TPPSlopeMax, $TPPCoverage);  
 }  
 }  
+

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

@@ -2350,12 +2350,12 @@ function EWToolsToolbar::reset( %this )
    for( %i = 0 ; %i < %count; %i++ )
    for( %i = 0 ; %i < %count; %i++ )
       ToolsToolbarArray.getObject(%i).setVisible(true);
       ToolsToolbarArray.getObject(%i).setVisible(true);
 
 
-   %this.setExtent((29 + 4) * %count + 12, 33);
+   %this.setExtent(((29 + 4) * %count + 12) @ " 33");
    %this.isClosed = 0;
    %this.isClosed = 0;
    EWToolsToolbar.isDynamic = 0;
    EWToolsToolbar.isDynamic = 0;
       
       
    EWToolsToolbarDecoy.setVisible(false);
    EWToolsToolbarDecoy.setVisible(false);
-   EWToolsToolbarDecoy.setExtent((29 + 4) * %count + 4, 31);
+   EWToolsToolbarDecoy.setExtent(((29 + 4) * %count + 4) @ " 31");
 
 
   %this-->resizeArrow.setBitmap( "tools/gui/images/collapse-toolbar" );
   %this-->resizeArrow.setBitmap( "tools/gui/images/collapse-toolbar" );
 }
 }
@@ -2376,7 +2376,7 @@ function EWToolsToolbar::toggleSize( %this, %useDynamics )
             ToolsToolbarArray.getObject(%i).setVisible(false);
             ToolsToolbarArray.getObject(%i).setVisible(false);
       }
       }
          
          
-      %this.setExtent(43, 33);
+      %this.setExtent("43 33");
       %this.isClosed = 1;
       %this.isClosed = 1;
       
       
       if(!%useDynamics)
       if(!%useDynamics)
@@ -2385,7 +2385,7 @@ function EWToolsToolbar::toggleSize( %this, %useDynamics )
          EWToolsToolbar.isDynamic = 1;
          EWToolsToolbar.isDynamic = 1;
       }
       }
          
          
-      EWToolsToolbarDecoy.setExtent(35, 31);
+      EWToolsToolbarDecoy.setExtent("35 31");
    }
    }
    else
    else
    {
    {
@@ -2395,7 +2395,7 @@ function EWToolsToolbar::toggleSize( %this, %useDynamics )
       for( %i = 0 ; %i < %count; %i++ )
       for( %i = 0 ; %i < %count; %i++ )
          ToolsToolbarArray.getObject(%i).setVisible(true);
          ToolsToolbarArray.getObject(%i).setVisible(true);
       
       
-      %this.setExtent((29 + 4) * %count + 12, 33);
+      %this.setExtent(((29 + 4) * %count + 12) @ " 33");
       %this.isClosed = 0;
       %this.isClosed = 0;
       
       
       if(!%useDynamics)
       if(!%useDynamics)
@@ -2404,7 +2404,7 @@ function EWToolsToolbar::toggleSize( %this, %useDynamics )
          EWToolsToolbar.isDynamic = 0;
          EWToolsToolbar.isDynamic = 0;
       }
       }
 
 
-      EWToolsToolbarDecoy.setExtent((29 + 4) * %count + 4, 32);
+      EWToolsToolbarDecoy.setExtent(((29 + 4) * %count + 4) @ " 32");
    }
    }
 
 
   %this-->resizeArrow.setBitmap( %image );
   %this-->resizeArrow.setBitmap( %image );

+ 5 - 5
Templates/Full/game/core/scripts/gui/messageBoxes/messageBox.ed.cs

@@ -180,9 +180,9 @@ function MessageBoxOKCancelDetails(%title, %message, %details, %callback, %cance
       
       
    %extentY = %textPosY + %textExtentY + 65;
    %extentY = %textPosY + %textExtentY + 65;
    
    
-   MBOKCancelDetailsInfoText.setExtent(285, 128);
+   MBOKCancelDetailsInfoText.setExtent("285 128");
    
    
-   MBOKCancelDetailsFrame.setExtent(300, %extentY);
+   MBOKCancelDetailsFrame.setExtent("300 " @ %extentY);
    
    
    MessageBoxOKCancelDetailsDlg.callback = %callback;
    MessageBoxOKCancelDetailsDlg.callback = %callback;
    MessageBoxOKCancelDetailsDlg.cancelCallback = %cancelCallback;
    MessageBoxOKCancelDetailsDlg.cancelCallback = %cancelCallback;
@@ -212,14 +212,14 @@ function MBOKCancelDetailsToggleInfoFrame()
       %posY = %textPosY + %textExtentY + 10;
       %posY = %textPosY + %textExtentY + 10;
       %posX = getWord(MBOKCancelDetailsScroll.getPosition(), 0);
       %posX = getWord(MBOKCancelDetailsScroll.getPosition(), 0);
       MBOKCancelDetailsScroll.setPosition(%posX, %posY);
       MBOKCancelDetailsScroll.setPosition(%posX, %posY);
-      MBOKCancelDetailsScroll.setExtent(getWord(MBOKCancelDetailsScroll.getExtent(), 0), %verticalStretch);
-      MBOKCancelDetailsFrame.setExtent(300, %height + %verticalStretch + 10);    
+      MBOKCancelDetailsScroll.setExtent(getWord(MBOKCancelDetailsScroll.getExtent(), 0) @ " " @ %verticalStretch);
+      MBOKCancelDetailsFrame.setExtent("300 " @ %height + %verticalStretch + 10);    
    } else
    } else
    {
    {
       %extent = MBOKCancelDetailsFrame.defaultExtent;
       %extent = MBOKCancelDetailsFrame.defaultExtent;
       %width = getWord(%extent, 0);
       %width = getWord(%extent, 0);
       %height = getWord(%extent, 1);
       %height = getWord(%extent, 1);
-      MBOKCancelDetailsFrame.setExtent(%width, %height);
+      MBOKCancelDetailsFrame.setExtent(%width @ " " @ %height);
       MBOKCancelDetailsScroll.setVisible(false);
       MBOKCancelDetailsScroll.setVisible(false);
    }
    }
 }
 }

+ 1 - 1
Templates/Full/game/scripts/client/chatHud.cs

@@ -159,7 +159,7 @@ function MainChatHud::setChatHudLength( %this, %length )
    %lengthInPixels = $outerChatLenY[%length] * %textHeight;
    %lengthInPixels = $outerChatLenY[%length] * %textHeight;
    %chatMargin = getWord(OuterChatHud.extent, 1) - getWord(ChatScrollHud.Extent, 1)
    %chatMargin = getWord(OuterChatHud.extent, 1) - getWord(ChatScrollHud.Extent, 1)
                   + 2 * ChatScrollHud.profile.borderThickness;
                   + 2 * ChatScrollHud.profile.borderThickness;
-   OuterChatHud.setExtent(firstWord(OuterChatHud.extent), %lengthInPixels + %chatMargin);
+   OuterChatHud.setExtent(firstWord(OuterChatHud.extent) @ " " @ ( %lengthInPixels + %chatMargin));
    ChatScrollHud.scrollToBottom();
    ChatScrollHud.scrollToBottom();
    ChatPageDown.setVisible(false);
    ChatPageDown.setVisible(false);
 }
 }

+ 2 - 2
Templates/Full/game/scripts/gui/chooseLevelDlg.cs

@@ -181,7 +181,7 @@ function ChooseLevelDlg::onWake( %this )
       %extentX = getWord(ChooseLevelWindow.getExtent(), 0);
       %extentX = getWord(ChooseLevelWindow.getExtent(), 0);
       %extentY = getWord(ChooseLevelWindow->SmallPreviews.getPosition(), 1);
       %extentY = getWord(ChooseLevelWindow->SmallPreviews.getPosition(), 1);
 
 
-      ChooseLevelWIndow.setExtent(%extentX, %extentY);
+      ChooseLevelWIndow.setExtent(%extentX @ " " @ %extentY);
    }
    }
    else
    else
    {
    {
@@ -194,7 +194,7 @@ function ChooseLevelDlg::onWake( %this )
       %extentY = %extentY + getWord(ChooseLevelWindow->SmallPreviews.getExtent(), 1);
       %extentY = %extentY + getWord(ChooseLevelWindow->SmallPreviews.getExtent(), 1);
       %extentY = %extentY + 9;
       %extentY = %extentY + 9;
 
 
-      ChooseLevelWIndow.setExtent(%extentX, %extentY);
+      ChooseLevelWIndow.setExtent(%extentX @ " " @ %extentY);
    }
    }
 }
 }
 
 

+ 1 - 1
Templates/Full/game/tools/editorClasses/scripts/guiFormClass.ed.cs

@@ -112,7 +112,7 @@ function FormControlClass::onWake( %this )
 
 
    %parentId = %this.getParent();
    %parentId = %this.getParent();
    %extent = %parentID.getExtent();
    %extent = %parentID.getExtent();
-   %this.setExtent( GetWord(%extent, 0), GetWord(%extent, 1) );
+   %this.setExtent( GetWord(%extent, 0) @ " " @ GetWord(%extent, 1) );
 
 
    GuiFormClass::BuildFormMenu( %this );
    GuiFormClass::BuildFormMenu( %this );
 
 

+ 1 - 1
Templates/Full/game/tools/editorClasses/scripts/guiFormLayoutManager.ed.cs

@@ -284,7 +284,7 @@ function GuiFormManager::ActivateLayout( %library, %layoutName, %parent )
 
 
    // Size to fit parent container.
    // Size to fit parent container.
    %extent = %parent.getExtent();
    %extent = %parent.getExtent();
-   %layoutObj.setExtent( GetWord(%extent, 0), GetWord(%extent, 1) );
+   %layoutObj.setExtent( GetWord(%extent, 0) @ " " @ GetWord(%extent, 1) );
 
 
    // Add to parent.
    // Add to parent.
    %parent.add( %layoutObj );
    %parent.add( %layoutObj );

+ 13 - 8
Templates/Full/game/tools/guiEditor/scripts/guiEditorCanvas.ed.cs

@@ -154,15 +154,15 @@ function GuiEditCanvas::onCreateMenu(%this)
          barTitle = "Move";
          barTitle = "Move";
          internalName = "MoveMenu";
          internalName = "MoveMenu";
             
             
-         item[0] = "Nudge Left" TAB "Left" TAB "GuiEditor.moveSelection( -1, 0);";
-         item[1] = "Nudge Right" TAB "Right" TAB "GuiEditor.moveSelection( 1, 0);";
-         item[2] = "Nudge Up" TAB "Up" TAB "GuiEditor.moveSelection( 0, -1);";
-         item[3] = "Nudge Down" TAB "Down" TAB "GuiEditor.moveSelection( 0, 1 );";
+         item[0] = "Nudge Left" TAB "Left" TAB "GuiEditor.tmoveSelection( -1, 0);";
+         item[1] = "Nudge Right" TAB "Right" TAB "GuiEditor.tmoveSelection( 1, 0);";
+         item[2] = "Nudge Up" TAB "Up" TAB "GuiEditor.tmoveSelection( 0, -1);";
+         item[3] = "Nudge Down" TAB "Down" TAB "GuiEditor.tmoveSelection( 0, 1 );";
          item[4] = "-";
          item[4] = "-";
-         item[5] = "Big Nudge Left" TAB "Shift Left" TAB "GuiEditor.moveSelection( - GuiEditor.snap2gridsize, 0 );";
-         item[6] = "Big Nudge Right" TAB "Shift Right" TAB "GuiEditor.moveSelection( GuiEditor.snap2gridsize, 0 );";
-         item[7] = "Big Nudge Up" TAB "Shift Up" TAB "GuiEditor.moveSelection( 0, - GuiEditor.snap2gridsize );";
-         item[8] = "Big Nudge Down" TAB "Shift Down" TAB "GuiEditor.moveSelection( 0, GuiEditor.snap2gridsize );";
+         item[5] = "Big Nudge Left" TAB "Shift Left" TAB "GuiEditor.tmoveSelection( - GuiEditor.snap2gridsize, 0 );";
+         item[6] = "Big Nudge Right" TAB "Shift Right" TAB "GuiEditor.tmoveSelection( GuiEditor.snap2gridsize, 0 );";
+         item[7] = "Big Nudge Up" TAB "Shift Up" TAB "GuiEditor.tmoveSelection( 0, - GuiEditor.snap2gridsize );";
+         item[8] = "Big Nudge Down" TAB "Shift Down" TAB "GuiEditor.tmoveSelection( 0, GuiEditor.snap2gridsize );";
       };
       };
 
 
       new PopupMenu()
       new PopupMenu()
@@ -201,6 +201,11 @@ function GuiEditCanvas::onCreateMenu(%this)
    %this.menuBar.attachToCanvas( Canvas, 0 );
    %this.menuBar.attachToCanvas( Canvas, 0 );
 }
 }
 
 
+function GuiEditor::tMoveSelection (%x, %y)
+{
+   GuiEditor.moveSelection(%x @ " " @ %y);
+}
+
 $GUI_EDITOR_MENU_EDGESNAP_INDEX = 0;
 $GUI_EDITOR_MENU_EDGESNAP_INDEX = 0;
 $GUI_EDITOR_MENU_CENTERSNAP_INDEX = 1;
 $GUI_EDITOR_MENU_CENTERSNAP_INDEX = 1;
 $GUI_EDITOR_MENU_GUIDESNAP_INDEX = 3;
 $GUI_EDITOR_MENU_GUIDESNAP_INDEX = 3;

+ 1 - 1
Templates/Full/game/tools/guiEditor/scripts/guiEditorGroup.ed.cs

@@ -92,7 +92,7 @@ function GuiEditorGroup::group( %this )
    %y = getWord( %bounds, 1 ) - getWord( %parentGlobalPos, 1 );
    %y = getWord( %bounds, 1 ) - getWord( %parentGlobalPos, 1 );
 
 
    %group.setPosition( %x, %y );
    %group.setPosition( %x, %y );
-   %group.setExtent( getWord( %bounds, 2 ), getWord( %bounds, 3 ) );
+   %group.setExtent( getWord( %bounds, 2 ) @ " " @ getWord( %bounds, 3 ) );
    
    
    // Reparent all objects to group.
    // Reparent all objects to group.
    
    

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

@@ -2350,12 +2350,12 @@ function EWToolsToolbar::reset( %this )
    for( %i = 0 ; %i < %count; %i++ )
    for( %i = 0 ; %i < %count; %i++ )
       ToolsToolbarArray.getObject(%i).setVisible(true);
       ToolsToolbarArray.getObject(%i).setVisible(true);
 
 
-   %this.setExtent((29 + 4) * %count + 12, 33);
+   %this.setExtent(((29 + 4) * %count + 12) @ " 33");
    %this.isClosed = 0;
    %this.isClosed = 0;
    EWToolsToolbar.isDynamic = 0;
    EWToolsToolbar.isDynamic = 0;
       
       
    EWToolsToolbarDecoy.setVisible(false);
    EWToolsToolbarDecoy.setVisible(false);
-   EWToolsToolbarDecoy.setExtent((29 + 4) * %count + 4, 31);
+   EWToolsToolbarDecoy.setExtent(((29 + 4) * %count + 4) @ " 31");
 
 
   %this-->resizeArrow.setBitmap( "tools/gui/images/collapse-toolbar" );
   %this-->resizeArrow.setBitmap( "tools/gui/images/collapse-toolbar" );
 }
 }
@@ -2376,7 +2376,7 @@ function EWToolsToolbar::toggleSize( %this, %useDynamics )
             ToolsToolbarArray.getObject(%i).setVisible(false);
             ToolsToolbarArray.getObject(%i).setVisible(false);
       }
       }
          
          
-      %this.setExtent(43, 33);
+      %this.setExtent("43 33");
       %this.isClosed = 1;
       %this.isClosed = 1;
       
       
       if(!%useDynamics)
       if(!%useDynamics)
@@ -2385,7 +2385,7 @@ function EWToolsToolbar::toggleSize( %this, %useDynamics )
          EWToolsToolbar.isDynamic = 1;
          EWToolsToolbar.isDynamic = 1;
       }
       }
          
          
-      EWToolsToolbarDecoy.setExtent(35, 31);
+      EWToolsToolbarDecoy.setExtent("35 31");
    }
    }
    else
    else
    {
    {
@@ -2395,7 +2395,7 @@ function EWToolsToolbar::toggleSize( %this, %useDynamics )
       for( %i = 0 ; %i < %count; %i++ )
       for( %i = 0 ; %i < %count; %i++ )
          ToolsToolbarArray.getObject(%i).setVisible(true);
          ToolsToolbarArray.getObject(%i).setVisible(true);
       
       
-      %this.setExtent((29 + 4) * %count + 12, 33);
+      %this.setExtent(((29 + 4) * %count + 12) @ " 33");
       %this.isClosed = 0;
       %this.isClosed = 0;
       
       
       if(!%useDynamics)
       if(!%useDynamics)
@@ -2404,7 +2404,7 @@ function EWToolsToolbar::toggleSize( %this, %useDynamics )
          EWToolsToolbar.isDynamic = 0;
          EWToolsToolbar.isDynamic = 0;
       }
       }
 
 
-      EWToolsToolbarDecoy.setExtent((29 + 4) * %count + 4, 32);
+      EWToolsToolbarDecoy.setExtent(((29 + 4) * %count + 4) @ " 32");
    }
    }
 
 
   %this-->resizeArrow.setBitmap( %image );
   %this-->resizeArrow.setBitmap( %image );