diff -ur t3d1.1b3_stock//Engine/lib/convexDecomp/NvRemoveTjunctions.cpp t3d1.1b3_patched/Engine/lib/convexDecomp/NvRemoveTjunctions.cpp
--- t3d1.1b3_stock//Engine/lib/convexDecomp/NvRemoveTjunctions.cpp	2010-09-16 17:02:16.000000000 -0500
+++ t3d1.1b3_patched/Engine/lib/convexDecomp/NvRemoveTjunctions.cpp	2011-02-04 12:10:27.000000000 -0600
@@ -67,6 +67,9 @@
 #include "NvHashMap.h"
 #include "NvRemoveTjunctions.h"
 #include "NvFloatMath.h"
+#ifdef LINUX
+   #include <climits>
+#endif
 
 #pragma warning(disable:4189)
 
diff -ur t3d1.1b3_stock//Engine/source/console/dynamicTypes.h t3d1.1b3_patched/Engine/source/console/dynamicTypes.h
--- t3d1.1b3_stock//Engine/source/console/dynamicTypes.h	2010-09-16 17:01:58.000000000 -0500
+++ t3d1.1b3_patched/Engine/source/console/dynamicTypes.h	2011-02-05 00:33:15.000000000 -0600
@@ -233,7 +233,7 @@
    extern S32 type; \
    extern const char* castConsoleTypeToString( _ConsoleConstType< nativeType >::ConstType &arg ); \
    extern bool castConsoleTypeFromString( nativeType &arg, const char *str ); \
-   template<> extern S32 TYPEID< nativeType >();
+   template<> /*extern*/ S32 TYPEID< nativeType >();
    
 #define DefineUnmappedConsoleType( type, nativeType ) \
    DefineConsoleType( type, nativeType ) \
diff -ur t3d1.1b3_stock//Engine/source/console/engineTypes.h t3d1.1b3_patched/Engine/source/console/engineTypes.h
--- t3d1.1b3_stock//Engine/source/console/engineTypes.h	2010-09-16 17:01:58.000000000 -0500
+++ t3d1.1b3_patched/Engine/source/console/engineTypes.h	2011-02-05 00:27:51.000000000 -0600
@@ -395,7 +395,7 @@
 
 
 #define _DECLARE_TYPE( type )                                                                \
-   template<> extern const EngineTypeInfo* TYPE< type >();                                   \
+   template<> /*extern*/ const EngineTypeInfo* TYPE< type >();                                   \
    template<> struct _SCOPE< type > {                                                        \
       EngineExportScope& operator()() const {                                                \
          return *reinterpret_cast< EngineExportScope* >(                                     \
diff -ur t3d1.1b3_stock//Engine/source/gui/controls/guiTreeViewCtrl.cpp t3d1.1b3_patched/Engine/source/gui/controls/guiTreeViewCtrl.cpp
--- t3d1.1b3_stock//Engine/source/gui/controls/guiTreeViewCtrl.cpp	2010-09-16 17:01:48.000000000 -0500
+++ t3d1.1b3_patched/Engine/source/gui/controls/guiTreeViewCtrl.cpp	2011-02-04 12:10:27.000000000 -0600
@@ -15,7 +15,9 @@
 #include "platform/event.h"
 #include "gfx/gfxDrawUtil.h"
 #include "gui/controls/guiTextEditCtrl.h"
-#include "gui/editor/editorFunctions.h"
+#ifdef TORQUE_TOOLS
+   #include "gui/editor/editorFunctions.h"
+#endif
 
 
 IMPLEMENT_CONOBJECT(GuiTreeViewCtrl);
@@ -3790,7 +3792,10 @@
       // If this item is a VirtualParent we can use the generic SimGroup123 icons.
       // However if there is already an icon in the EditorIconRegistry for this
       // exact class (not counting parent class icons) we want to use that instead.
-      bool hasClassIcon = gEditorIcons.hasIconNoRecurse( pObject );
+      bool hasClassIcon = false;
+#ifdef TORQUE_TOOLS
+      hasClassIcon = gEditorIcons.hasIconNoRecurse( pObject );
+#endif
 
       // draw the icon associated with the item
       if ( !hasClassIcon && item->mState.test(Item::VirtualParent))
@@ -4928,7 +4933,10 @@
 
    if ( mRenameInternal )
       obj->setInternalName( data );   
-   else if ( validateObjectName( data, obj ) )
+   else
+#ifdef TORQUE_TOOLS
+   if ( validateObjectName( data, obj ) )
+#endif
       obj->assignName( data ); 
 }
 
diff -ur t3d1.1b3_stock//Engine/source/lighting/advanced/advancedLightingFeatures.cpp t3d1.1b3_patched/Engine/source/lighting/advanced/advancedLightingFeatures.cpp
--- t3d1.1b3_stock//Engine/source/lighting/advanced/advancedLightingFeatures.cpp	2010-09-16 17:02:00.000000000 -0500
+++ t3d1.1b3_patched/Engine/source/lighting/advanced/advancedLightingFeatures.cpp	2011-02-04 12:10:27.000000000 -0600
@@ -14,7 +14,7 @@
 #include "gfx/gfxDevice.h"
 #include "core/util/safeDelete.h"
 
-#ifndef TORQUE_OS_MAC
+#if !defined( TORQUE_OS_MAC ) && !defined( TORQUE_OS_LINUX )
 #  include "lighting/advanced/hlsl/gBufferConditionerHLSL.h"
 #  include "lighting/advanced/hlsl/advancedLightingFeaturesHLSL.h"
 #else
@@ -37,7 +37,7 @@
 
    if(GFX->getAdapterType() == OpenGL)
    {
-#ifdef TORQUE_OS_MAC
+#if defined( TORQUE_OS_MAC ) || defined( TORQUE_OS_LINUX )
       cond = new GBufferConditionerGLSL( prepassTargetFormat );
       FEATUREMGR->registerFeature(MFT_PrePassConditioner, cond);
       FEATUREMGR->registerFeature(MFT_RTLighting, new DeferredRTLightingFeatGLSL());
@@ -49,7 +49,7 @@
    }
    else
    {
-#ifndef TORQUE_OS_MAC
+#if !defined( TORQUE_OS_MAC ) && !defined( TORQUE_OS_LINUX )
       cond = new GBufferConditionerHLSL( prepassTargetFormat, GBufferConditionerHLSL::ViewSpace );
       FEATUREMGR->registerFeature(MFT_PrePassConditioner, cond);
       FEATUREMGR->registerFeature(MFT_RTLighting, new DeferredRTLightingFeatHLSL());
diff -ur t3d1.1b3_stock//Engine/source/lighting/basic/basicLightManager.cpp t3d1.1b3_patched/Engine/source/lighting/basic/basicLightManager.cpp
--- t3d1.1b3_stock//Engine/source/lighting/basic/basicLightManager.cpp	2010-09-16 17:02:00.000000000 -0500
+++ t3d1.1b3_patched/Engine/source/lighting/basic/basicLightManager.cpp	2011-02-04 12:10:27.000000000 -0600
@@ -31,7 +31,7 @@
 #include "lighting/basic/blTerrainSystem.h"
 
 
-#ifdef TORQUE_OS_MAC
+#if defined( TORQUE_OS_MAC ) || defined( TORQUE_OS_LINUX )
 #include "shaderGen/GLSL/shaderFeatureGLSL.h"
 #include "shaderGen/GLSL/bumpGLSL.h"
 #include "shaderGen/GLSL/pixSpecularGLSL.h"
@@ -135,7 +135,7 @@
 
    if( GFX->getAdapterType() == OpenGL )
    {
-      #ifdef TORQUE_OS_MAC
+      #if defined( TORQUE_OS_MAC ) || defined( TORQUE_OS_LINUX )
          FEATUREMGR->registerFeature( MFT_LightMap, new LightmapFeatGLSL );
          FEATUREMGR->registerFeature( MFT_ToneMap, new TonemapFeatGLSL );
          FEATUREMGR->registerFeature( MFT_NormalMap, new BumpFeatGLSL );
@@ -145,7 +145,7 @@
    }
    else
    {
-      #ifndef TORQUE_OS_MAC
+      #if !defined( TORQUE_OS_MAC ) && !defined( TORQUE_OS_LINUX )
          FEATUREMGR->registerFeature( MFT_LightMap, new LightmapFeatHLSL );
          FEATUREMGR->registerFeature( MFT_ToneMap, new TonemapFeatHLSL );
          FEATUREMGR->registerFeature( MFT_NormalMap, new BumpFeatHLSL );
diff -ur t3d1.1b3_stock//Engine/source/lighting/common/lightMapParams.cpp t3d1.1b3_patched/Engine/source/lighting/common/lightMapParams.cpp
--- t3d1.1b3_stock//Engine/source/lighting/common/lightMapParams.cpp	2010-09-16 17:02:00.000000000 -0500
+++ t3d1.1b3_patched/Engine/source/lighting/common/lightMapParams.cpp	2011-02-04 12:10:27.000000000 -0600
@@ -5,8 +5,17 @@
 
 #include "lighting/common/lightMapParams.h"
 #include "core/stream/bitStream.h"
+#include "core/module.h"
 
-const LightInfoExType LightMapParams::Type( "LightMapParams" );
+MODULE_BEGIN( LightMapParams )
+MODULE_INIT_AFTER( ShadowMapParams )
+MODULE_INIT
+{
+   LightMapParams::Type = "LightMapParams" ;
+}
+MODULE_END;
+
+LightInfoExType LightMapParams::Type( "" );
 
 LightMapParams::LightMapParams( LightInfo *light ) :
    representedInLightmap(false), 
@@ -41,4 +50,4 @@
 
    // Always make sure that the alpha value of the shadowDarkenColor is -1.0
    shadowDarkenColor.alpha = -1.0f;
-}
\ No newline at end of file
+}
diff -ur t3d1.1b3_stock//Engine/source/lighting/common/lightMapParams.h t3d1.1b3_patched/Engine/source/lighting/common/lightMapParams.h
--- t3d1.1b3_stock//Engine/source/lighting/common/lightMapParams.h	2010-09-16 17:02:00.000000000 -0500
+++ t3d1.1b3_patched/Engine/source/lighting/common/lightMapParams.h	2011-02-04 12:10:27.000000000 -0600
@@ -17,7 +17,7 @@
    virtual ~LightMapParams();
 
    /// The LightInfoEx hook type.
-   static const LightInfoExType Type;
+   static LightInfoExType Type;
 
    // LightInfoEx
    virtual void set( const LightInfoEx *ex );
diff -ur t3d1.1b3_stock//Engine/source/lighting/lightManager.cpp t3d1.1b3_patched/Engine/source/lighting/lightManager.cpp
--- t3d1.1b3_stock//Engine/source/lighting/lightManager.cpp	2010-09-16 17:02:00.000000000 -0500
+++ t3d1.1b3_patched/Engine/source/lighting/lightManager.cpp	2011-02-04 12:10:27.000000000 -0600
@@ -294,7 +294,7 @@
 
       // NOTE: We haven't ported the lighting shaders on OSX
       // to the optimized HLSL versions.
-      #ifdef TORQUE_OS_MAC
+      #if defined( TORQUE_OS_MAC ) || defined( TORQUE_OS_LINUX )
          static AlignedArray<Point3F> lightPositions( 4, sizeof( Point4F ) );
       #else
          static AlignedArray<Point4F> lightPositions( 3, sizeof( Point4F ) );
@@ -320,7 +320,7 @@
          if ( !light )            
             break;
 
-         #ifdef TORQUE_OS_MAC
+         #if defined( TORQUE_OS_MAC ) || defined( TORQUE_OS_LINUX )
 
             lightPositions[i] = light->getPosition();
 
@@ -356,7 +356,7 @@
       shaderConsts->setSafe( lightDiffuseSC, lightColors );
       shaderConsts->setSafe( lightInvRadiusSqSC, lightInvRadiusSq );
 
-      #ifndef TORQUE_OS_MAC
+      #if !defined( TORQUE_OS_MAC ) && !defined( TORQUE_OS_LINUX )
 
          shaderConsts->setSafe( lightSpotDirSC, lightSpotDirs );
          shaderConsts->setSafe( lightSpotAngleSC, lightSpotAngle );
diff -ur t3d1.1b3_stock//Engine/source/lighting/shadowMap/lightShadowMap.cpp t3d1.1b3_patched/Engine/source/lighting/shadowMap/lightShadowMap.cpp
--- t3d1.1b3_stock//Engine/source/lighting/shadowMap/lightShadowMap.cpp	2010-09-16 17:02:00.000000000 -0500
+++ t3d1.1b3_patched/Engine/source/lighting/shadowMap/lightShadowMap.cpp	2011-02-04 12:10:27.000000000 -0600
@@ -23,6 +23,7 @@
 #include "core/stream/bitStream.h"
 #include "math/mathIO.h"
 #include "materials/shaderData.h"
+#include "core/module.h"
 
 // Used for creation in ShadowMapParams::getOrCreateShadowMap()
 #include "lighting/shadowMap/singleLightShadowMap.h"
@@ -506,7 +507,15 @@
 }
 
 
-const LightInfoExType ShadowMapParams::Type( "ShadowMapParams" );
+MODULE_BEGIN( ShadowMapParams )
+MODULE_INIT_BEFORE( LightMapParams )
+MODULE_INIT
+{
+   ShadowMapParams::Type = "ShadowMapParams" ;
+}
+MODULE_END;
+
+LightInfoExType ShadowMapParams::Type( "" );
 
 ShadowMapParams::ShadowMapParams( LightInfo *light ) 
    :  mLight( light ),
diff -ur t3d1.1b3_stock//Engine/source/lighting/shadowMap/lightShadowMap.h t3d1.1b3_patched/Engine/source/lighting/shadowMap/lightShadowMap.h
--- t3d1.1b3_stock//Engine/source/lighting/shadowMap/lightShadowMap.h	2010-09-16 17:02:00.000000000 -0500
+++ t3d1.1b3_patched/Engine/source/lighting/shadowMap/lightShadowMap.h	2011-02-04 12:10:27.000000000 -0600
@@ -258,7 +258,7 @@
    virtual ~ShadowMapParams();
 
    /// The LightInfoEx hook type.
-   static const LightInfoExType Type;
+   static LightInfoExType Type;
 
    // LightInfoEx
    virtual void set( const LightInfoEx *ex );
diff -ur t3d1.1b3_stock//Engine/source/platformX86UNIX/threads/semaphore.cpp t3d1.1b3_patched/Engine/source/platformX86UNIX/threads/semaphore.cpp
--- t3d1.1b3_stock//Engine/source/platformX86UNIX/threads/semaphore.cpp	2010-09-16 17:01:56.000000000 -0500
+++ t3d1.1b3_patched/Engine/source/platformX86UNIX/threads/semaphore.cpp	2011-02-04 12:10:27.000000000 -0600
@@ -38,13 +38,25 @@
   delete mData;
 }
 
-bool Semaphore::acquire(bool block)
+bool Semaphore::acquire(bool block, S32 timeoutMS)
 {
-   AssertFatal(mData, "Semaphore::acquire - Invalid semaphore.");
+   AssertFatal(mData && mData->semaphore, "Semaphore::acquire - Invalid semaphore.");
    if (block)
    {
-      if (SDL_SemWait(mData->semaphore) < 0)
-         AssertFatal(false, "Semaphore::acquie - Wait failed.");
+      // Semaphore acquiring is different from the MacOS/Win realization because SDL_SemWaitTimeout() with "infinite" timeout can be too heavy on some platforms.
+      // (see "man SDL_SemWaitTimeout(3)" for more info)
+      // "man" states to avoid the use of SDL_SemWaitTimeout at all, but at current stage this looks like a valid and working solution, so keeping it this way.
+      // [bank / Feb-2010]
+      if (timeoutMS == -1)
+      {
+         if (SDL_SemWait(mData->semaphore) < 0)
+            AssertFatal(false, "Semaphore::acquie - Wait failed.");
+      }
+      else
+      {
+         if (SDL_SemWaitTimeout(mData->semaphore, timeoutMS) < 0)
+            AssertFatal(false, "Semaphore::acquie - Wait with timeout failed.");
+      }
       return (true);
    }
    else
diff -ur t3d1.1b3_stock//Engine/source/platformX86UNIX/x86UNIXStub.dedicated.cpp t3d1.1b3_patched/Engine/source/platformX86UNIX/x86UNIXStub.dedicated.cpp
--- t3d1.1b3_stock//Engine/source/platformX86UNIX/x86UNIXStub.dedicated.cpp	2010-09-16 17:01:56.000000000 -0500
+++ t3d1.1b3_patched/Engine/source/platformX86UNIX/x86UNIXStub.dedicated.cpp	2011-02-04 12:10:27.000000000 -0600
@@ -64,6 +64,8 @@
 
 // Platform Stubs
 
+bool Platform::excludeOtherInstances(const char*) { return true; }
+
 // clipboard
 const char* Platform::getClipboard() { return ""; }
 bool Platform::setClipboard(const char *text) { return false; }
diff -ur t3d1.1b3_stock//Engine/source/renderInstance/renderPassManager.cpp t3d1.1b3_patched/Engine/source/renderInstance/renderPassManager.cpp
--- t3d1.1b3_stock//Engine/source/renderInstance/renderPassManager.cpp	2010-09-16 17:01:44.000000000 -0500
+++ t3d1.1b3_patched/Engine/source/renderInstance/renderPassManager.cpp	2011-02-04 12:10:27.000000000 -0600
@@ -25,7 +25,7 @@
 #include "console/engineAPI.h"
 
 
-const RenderInstType RenderInstType::Invalid( String::EmptyString );
+const RenderInstType RenderInstType::Invalid( "" );
 
 const RenderInstType RenderPassManager::RIT_Interior("Interior");
 const RenderInstType RenderPassManager::RIT_Mesh("Mesh");
diff -ur t3d1.1b3_stock//Tools/projectGenerator/btargets/targets.inc t3d1.1b3_patched/Tools/projectGenerator/btargets/targets.inc
--- t3d1.1b3_stock//Tools/projectGenerator/btargets/targets.inc	2010-09-16 17:00:46.000000000 -0500
+++ t3d1.1b3_patched/Tools/projectGenerator/btargets/targets.inc	2011-02-04 12:22:31.000000000 -0600
@@ -153,7 +153,7 @@
 
 $c->setSolutionInfo( 'makeSolution.tpl', '', '' );
 
-$c->setFileExtensions( 'c', 'cc', 'h', 'cpp', 'inl', 'asm' );
+$c->setFileExtensions( 'c', 'cc', 'cpp', 'asm' );
 
 $c->setPlatforms( "linux" );
 
@@ -175,7 +175,7 @@
 
 $c->setSolutionInfo( 'makeSolution.tpl', '', '' );
 
-$c->setFileExtensions( 'c', 'cc', 'h', 'cpp', 'inl', 'asm' );
+$c->setFileExtensions( 'c', 'cc', 'cpp', 'asm' );
 
 $c->setPlatforms( "linux_dedicated" );
 
@@ -197,7 +197,7 @@
                   '',         				   // ActiveX Project Template
                   '.txt' );
          
-$c->setFileExtensions( 'c', 'cc', 'h', 'cpp', 'inl', 'asm', 'm', 'mm' );
+$c->setFileExtensions( 'c', 'cc', 'cpp', 'asm', 'm', 'mm' );
 
 // NO PLATFORMS - SO ALL OR NONE?
 $c->setPlatforms("");
diff -ur t3d1.1b3_stock//Tools/projectGenerator/modules/advancedLighting.inc t3d1.1b3_patched/Tools/projectGenerator/modules/advancedLighting.inc
--- t3d1.1b3_stock//Tools/projectGenerator/modules/advancedLighting.inc	2010-09-16 17:00:46.000000000 -0500
+++ t3d1.1b3_patched/Tools/projectGenerator/modules/advancedLighting.inc	2011-02-04 12:52:40.000000000 -0600
@@ -15,7 +15,9 @@
       case "360":
          addEngineSrcDir( 'lighting/advanced/hlsl' );
          break;
-      case "mac":
+      case "mac":
+      case "linux":
+      case "linux_dedicated":
          addEngineSrcDir( 'lighting/advanced/glsl' );
          break;
    }
diff -ur t3d1.1b3_stock//Tools/projectGenerator/modules/core.inc t3d1.1b3_patched/Tools/projectGenerator/modules/core.inc
--- t3d1.1b3_stock//Tools/projectGenerator/modules/core.inc	2010-09-16 17:00:46.000000000 -0500
+++ t3d1.1b3_patched/Tools/projectGenerator/modules/core.inc	2011-02-04 13:05:57.000000000 -0600
@@ -87,9 +87,11 @@
      addEngineSrcDir('platformPS3/threads');
      addEngineSrcDir('windowManager/ps3');
      break;
-
+     
+   case "linux_dedicated":
+     addEngineSrcDir('windowManager/dedicated');
+     
    case "linux":
-   case "linux_dedicated":
      addEngineSrcDir('platformX86UNIX');
      addEngineSrcDir('platformX86UNIX/threads');
      addEngineSrcDir('platformPOSIX');
@@ -113,12 +115,12 @@
       addEngineSrcDir( 'gfx/D3D' );
       addEngineSrcDir( 'gfx/D3D9' );
       addEngineSrcDir( 'gfx/D3D9/pc' );
-      addEngineSrcDir( 'shaderGen/hlsl' );
+      addEngineSrcDir( 'shaderGen/HLSL' );
       break;
    case "360":
       addEngineSrcDir( 'gfx/D3D9' );
       addEngineSrcDir( 'gfx/D3D9/360' );
-      addEngineSrcDir( 'shaderGen/hlsl' );
+      addEngineSrcDir( 'shaderGen/HLSL' );
       addEngineSrcDir( 'shaderGen/360' );
       break;
    case "mac":
@@ -128,8 +130,17 @@
       addEngineSrcDir( 'gfx/gl' );
       addEngineSrcDir( 'gfx/gl/ggl' );
       addEngineSrcDir( 'gfx/gl/ggl/generated' );
-      addEngineSrcDir( 'shaderGen/glsl' );
-      break;
+      addEngineSrcDir( 'shaderGen/GLSL' );
+      break;
+   case "linux":
+   case "linux_dedicated":
+      // GFX - GGL
+      addEngineSrcDir( 'gfx/gl' );
+      addEngineSrcDir( 'gfx/gl/ggl' );
+      addEngineSrcDir( 'gfx/gl/ggl/generated' );
+      addEngineSrcDir( 'shaderGen/GLSL' );
+      break;
+
    case "ps3":
       addEngineSrcDir( 'gfx/gl/ggl/ps3' );
 
@@ -137,7 +148,7 @@
       addEngineSrcDir( 'gfx/gl' );
       addEngineSrcDir( 'gfx/gl/ggl' );
       addEngineSrcDir( 'gfx/gl/ggl/generated' );
-      addEngineSrcDir( 'shaderGen/glsl' );
+      addEngineSrcDir( 'shaderGen/GLSL' );
       break;
 }
 
diff -ur t3d1.1b3_stock//Tools/projectGenerator/modules/T3D.inc t3d1.1b3_patched/Tools/projectGenerator/modules/T3D.inc
--- t3d1.1b3_stock//Tools/projectGenerator/modules/T3D.inc	2010-09-16 17:00:46.000000000 -0500
+++ t3d1.1b3_patched/Tools/projectGenerator/modules/T3D.inc	2011-02-04 13:08:41.000000000 -0600
@@ -14,7 +14,8 @@
 
 addEngineSrcDir('forest');
 addEngineSrcDir('forest/ts');
-addEngineSrcDir('forest/editor');
+if(getToolBuild())
+   addEngineSrcDir('forest/editor');
 
 addEngineSrcDir('ts');
 addEngineSrcDir('ts/arch');
@@ -58,7 +59,9 @@
       addEngineSrcDir('ts/arch/ps3');
       // Fall through
       
-   case "mac":
+   case "mac":
+   case "linux":
+   case "linux_dedicated":
       addEngineSrcDir( 'terrain/glsl' );
       break;
 }
diff -ur t3d1.1b3_stock//Tools/projectGenerator/templates/makeAppShared.tpl t3d1.1b3_patched/Tools/projectGenerator/templates/makeAppShared.tpl
--- t3d1.1b3_stock//Tools/projectGenerator/templates/makeAppShared.tpl	2010-09-16 17:00:46.000000000 -0500
+++ t3d1.1b3_patched/Tools/projectGenerator/templates/makeAppShared.tpl	2011-03-03 22:55:43.000000000 -0600
@@ -13,12 +13,13 @@
 
 LDFLAGS := -g -m32
 LDLIBS := -lstdc++
-CFLAGS := -MMD -I. -Wfatal-errors -m32
+CFLAGS := -MMD -I. -Wfatal-errors -m32 -msse -mmmx -march=i686
 
 {foreach item=def from=$projIncludes}CFLAGS += -I{$def}
 {/foreach}
 
 CFLAGS += -DUNICODE
+CFLAGS += -DLINUX
 
 {foreach item=def from=$projDefines}CFLAGS += -D{$def}
 {/foreach}
@@ -30,7 +31,7 @@
 
 CFLAGS += -O3
 
-#CC := gcc
+CC := gcc
 LD := gcc
 
 APP_TARGETS += $(APPNAME)
diff -ur t3d1.1b3_stock//Tools/projectGenerator/templates/makeApp.tpl t3d1.1b3_patched/Tools/projectGenerator/templates/makeApp.tpl
--- t3d1.1b3_stock//Tools/projectGenerator/templates/makeApp.tpl	2010-09-16 17:00:46.000000000 -0500
+++ t3d1.1b3_patched/Tools/projectGenerator/templates/makeApp.tpl	2011-03-03 22:56:00.000000000 -0600
@@ -12,13 +12,14 @@
 {/foreach}
 
 LDFLAGS := -g -m32
-LDLIBS := -lstdc++
-CFLAGS := -MMD -I. -Wfatal-errors -m32
+LDLIBS := -lstdc++ -lSDL -lpthread -lrt
+CFLAGS := -MMD -I. -Wfatal-errors -m32 -msse -mmmx -march=i686 -pipe
 
 {foreach item=def from=$projIncludes}CFLAGS += -I{$def}
 {/foreach}
 
-CFLAGS += -DUNICODE;
+CFLAGS += -DUNICODE
+CFLAGS += -DLINUX
 
 {foreach item=def from=$projDefines}CFLAGS += -D{$def}
 {/foreach}
@@ -28,9 +29,9 @@
 CFLAGS_DEBUG += -DTORQUE_DEBUG_GUARD
 CFLAGS_DEBUG += -DTORQUE_NET_STATS
 
-CFLAGS += -O3
+CFLAGS += -O0
 
-#CC := gcc
+CC := gcc
 LD := gcc
 
 APP_TARGETS += $(APPNAME)
diff -ur t3d1.1b3_stock//Tools/projectGenerator/templates/makeLib.tpl t3d1.1b3_patched/Tools/projectGenerator/templates/makeLib.tpl
--- t3d1.1b3_stock//Tools/projectGenerator/templates/makeLib.tpl	2010-09-16 17:00:46.000000000 -0500
+++ t3d1.1b3_patched/Tools/projectGenerator/templates/makeLib.tpl	2011-03-03 22:55:24.000000000 -0600
@@ -16,12 +16,13 @@
 
 LDFLAGS_{$projName} := -g -m32
 LDLIBS_{$projName} := -lstdc++
-CFLAGS_{$projName} := -MMD -I. -m32
+CFLAGS_{$projName} := -MMD -I. -m32 -msse -mmmx -march=i686
 
 {foreach item=def from=$projIncludes}CFLAGS_{$projName} += -I{$def}
 {/foreach}
 
 CFLAGS_{$projName} += -DUNICODE
+CFLAGS_{$projName} += -DLINUX
 
 {foreach item=def from=$projDefines}CFLAGS_{$projName} += -D{$def}
 {/foreach}
@@ -33,7 +34,7 @@
 
 CFLAGS_{$projName} += -O3
 
-#CC := gcc
+CC := gcc
 LD := gcc
 
 TARGET_{$projName} := {$libDir}/compiled/Make/{$projName}.a
diff -ur t3d1.1b3_stock//Tools/projectGenerator/templates/makeSolution.tpl t3d1.1b3_patched/Tools/projectGenerator/templates/makeSolution.tpl
--- t3d1.1b3_stock//Tools/projectGenerator/templates/makeSolution.tpl	2010-09-16 17:00:46.000000000 -0500
+++ t3d1.1b3_patched/Tools/projectGenerator/templates/makeSolution.tpl	2011-02-04 12:10:27.000000000 -0600
@@ -3,6 +3,8 @@
 # copyright on the actual sources.
 # Copyright 2005 Jon Watte.
 
+OPTIONS := --jobs=4
+
 DEPS := 
 LIB_TARGETS :=
 LIB_TARGETS_DEBUG := 
diff -ur t3d1.1b3_stock//Tools/projectGenerator/templates/makeSo.tpl t3d1.1b3_patched/Tools/projectGenerator/templates/makeSo.tpl
--- t3d1.1b3_stock//Tools/projectGenerator/templates/makeSo.tpl	2010-09-16 17:00:46.000000000 -0500
+++ t3d1.1b3_patched/Tools/projectGenerator/templates/makeSo.tpl	2011-03-03 22:54:52.000000000 -0600
@@ -16,12 +16,13 @@
 
 LDFLAGS_{$projName} := -g -m32 -shared
 LDLIBS_{$projName} := -lstdc++ -lSDL -lpthread
-CFLAGS_{$projName} := -MMD -I. -m32 -mmmx -msse -march=i686 
+CFLAGS_{$projName} := -MMD -I. -m32 -mmmx -msse -march=i686
 
 {foreach item=def from=$projIncludes}CFLAGS_{$projName} += -I{$def}
 {/foreach}
 
 CFLAGS_{$projName} += -DUNICODE
+CFLAGS_{$projName} += -DLINUX
 
 {foreach item=def from=$projDefines}CFLAGS_{$projName} += -D{$def}
 {/foreach}
@@ -33,7 +34,7 @@
 
 CFLAGS_{$projName} += -O3
 
-#CC := gcc
+CC := gcc
 LD := gcc
 
 SHARED_LIB_TARGETS += {$projName}.so
